From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH] tools/libxc: Fix domid parameter types Date: Fri, 6 Oct 2017 20:00:00 +0100 Message-ID: <1507316400-5169-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Julien Grall , Ian Jackson , Wei Liu List-Id: xen-devel@lists.xenproject.org TWl4ZWQgdGhyb3VnaG91dCBsaWJ4YyBhcmUgdWludDMyX3QsIGludCwgYW5kIGRvbWlkX3QgZm9y IGRvbWlkIHBhcmFtZXRlcnMuCldpdGggYSBzaWduZWQgdHlwZSwgYW5kIGFuIGV4cGxpY2l0bHkg MTYtYml0IHR5cGUsIGl0IGlzIGV4Y2VlZGluZ2x5IGRpZmZpY3VsdAp0byBjb25zdHJ1Y3QgYW4g SU5WQUxJRF9ET01JRCBjb25zdGFudCB3aGljaCB3b3JrcyB3aXRoIGFsbCBvZiB0aGVtLiAgKFRo ZQptYWluIHByb2JsZW0gYmVpbmcgdGhhdCBkb21pZF90IGdldHMgdW5jb25kaXRpb25hbGx5IHpl cm8gZXh0ZW5kZWQgd2hlbgpwcm9tb3RlZCB0byBpbnQgZm9yIGFyaXRobWF0aWMuKQoKTGlieGwg dXNlcyB1aW50MzJfdCBjb25zaXN0ZW50bHkgZXZlcnl3aGVyZSwgc28gYWx0ZXIgbGlieGMgdG8g bWF0Y2guCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRy aXguY29tPgotLS0KQ0M6IElhbiBKYWNrc29uIDxJYW4uSmFja3NvbkBldS5jaXRyaXguY29tPgpD QzogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KQ0M6IEp1bGllbiBHcmFsbCA8anVsaWVu LmdyYWxsQGFybS5jb20+Ci0tLQogdG9vbHMvbGlieGMvaW5jbHVkZS94Y19kb20uaCAgICAgICAg IHwgIDIwICsrLS0tCiB0b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaCAgICAgICAgfCAxNTYg KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KIHRvb2xzL2xpYnhjL2luY2x1ZGUv eGVuY3RybF9jb21wYXQuaCB8ICAzNiArKysrLS0tLQogdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5n dWVzdC5oICAgICAgIHwgIDE2ICsrLS0KIHRvb2xzL2xpYnhjL3hjX2FsdHAybS5jICAgICAgICAg ICAgICB8ICAxNiArKy0tCiB0b29scy9saWJ4Yy94Y19jb3JlLmggICAgICAgICAgICAgICAgfCAg IDIgKy0KIHRvb2xzL2xpYnhjL3hjX2NvcmVfYXJtLmMgICAgICAgICAgICB8ICAgMiArLQogdG9v bHMvbGlieGMveGNfY29yZV94ODYuYyAgICAgICAgICAgIHwgICAyICstCiB0b29scy9saWJ4Yy94 Y19jcHVpZF94ODYuYyAgICAgICAgICAgfCAgIDggKy0KIHRvb2xzL2xpYnhjL3hjX2NzY2hlZC5j ICAgICAgICAgICAgICB8ICAgNCArLQogdG9vbHMvbGlieGMveGNfY3NjaGVkMi5jICAgICAgICAg ICAgIHwgICA0ICstCiB0b29scy9saWJ4Yy94Y19kZXZpY2Vtb2RlbF9jb21wYXQuYyAgfCAgMzIg KysrLS0tLQogdG9vbHMvbGlieGMveGNfZG9tX2FybS5jICAgICAgICAgICAgIHwgICAyICstCiB0 b29scy9saWJ4Yy94Y19kb21fYm9vdC5jICAgICAgICAgICAgfCAgMTYgKystLQogdG9vbHMvbGli eGMveGNfZG9tX3g4Ni5jICAgICAgICAgICAgIHwgICAyICstCiB0b29scy9saWJ4Yy94Y19kb21h aW4uYyAgICAgICAgICAgICAgfCAxMDQgKysrKysrKysrKystLS0tLS0tLS0tLS0KIHRvb2xzL2xp YnhjL3hjX2V2dGNobi5jICAgICAgICAgICAgICB8ICAgNiArLQogdG9vbHMvbGlieGMveGNfZXZ0 Y2huX2NvbXBhdC5jICAgICAgIHwgICA0ICstCiB0b29scy9saWJ4Yy94Y19mbGFzay5jICAgICAg ICAgICAgICAgfCAgIDIgKy0KIHRvb2xzL2xpYnhjL3hjX2dudHRhYi5jICAgICAgICAgICAgICB8 ICAgOCArLQogdG9vbHMvbGlieGMveGNfbWVtX2FjY2Vzcy5jICAgICAgICAgIHwgICA2ICstCiB0 b29scy9saWJ4Yy94Y19tZW1fcGFnaW5nLmMgICAgICAgICAgfCAgMTYgKystLQogdG9vbHMvbGli eGMveGNfbWVtc2hyLmMgICAgICAgICAgICAgIHwgIDM0ICsrKystLS0tCiB0b29scy9saWJ4Yy94 Y19tb25pdG9yLmMgICAgICAgICAgICAgfCAgMzAgKysrLS0tLQogdG9vbHMvbGlieGMveGNfbm9t aWdyYXRlLmMgICAgICAgICAgIHwgICA0ICstCiB0b29scy9saWJ4Yy94Y19vZmZsaW5lX3BhZ2Uu YyAgICAgICAgfCAgMTAgKy0tCiB0b29scy9saWJ4Yy94Y19waHlzZGV2LmMgICAgICAgICAgICAg fCAgIDYgKy0KIHRvb2xzL2xpYnhjL3hjX3ByaXZhdGUuYyAgICAgICAgICAgICB8ICAxMCArLS0K IHRvb2xzL2xpYnhjL3hjX3ByaXZhdGUuaCAgICAgICAgICAgICB8ICAgNiArLQogdG9vbHMvbGli eGMveGNfcHNyLmMgICAgICAgICAgICAgICAgIHwgIDEwICstLQogdG9vbHMvbGlieGMveGNfcnQu YyAgICAgICAgICAgICAgICAgIHwgICA4ICstCiB0b29scy9saWJ4Yy94Y19zcl9jb21tb24uaCAg ICAgICAgICAgfCAgIDIgKy0KIHRvb2xzL2xpYnhjL3hjX3NyX3Jlc3RvcmUuYyAgICAgICAgICB8 ICAgNCArLQogdG9vbHMvbGlieGMveGNfc3VzcGVuZC5jICAgICAgICAgICAgIHwgIDEyICstLQog dG9vbHMvbGlieGMveGNfdG1lbS5jICAgICAgICAgICAgICAgIHwgIDQ3ICsrKysrLS0tLS0tCiB0 b29scy9saWJ4Yy94Y192bV9ldmVudC5jICAgICAgICAgICAgfCAgIDQgKy0KIHRvb2xzL2xpYnhj L3hnX3ByaXZhdGUuYyAgICAgICAgICAgICB8ICAgMiArLQogdG9vbHMvbGlieGMveGdfcHJpdmF0 ZS5oICAgICAgICAgICAgIHwgICAyICstCiAzOCBmaWxlcyBjaGFuZ2VkLCAzMjggaW5zZXJ0aW9u cygrKSwgMzI3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL2luY2x1ZGUv eGNfZG9tLmggYi90b29scy9saWJ4Yy9pbmNsdWRlL3hjX2RvbS5oCmluZGV4IDZlMDZlZjEuLmNk Y2RkMDcgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGNfZG9tLmgKKysrIGIvdG9v bHMvbGlieGMvaW5jbHVkZS94Y19kb20uaApAQCAtMTYxLDEyICsxNjEsMTIgQEAgc3RydWN0IHhj X2RvbV9pbWFnZSB7CiAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsKICAgICB1bnNpZ25lZCBpbnQg Y29uc29sZV9ldnRjaG47CiAgICAgdW5zaWduZWQgaW50IHhlbnN0b3JlX2V2dGNobjsKLSAgICBk b21pZF90IGNvbnNvbGVfZG9taWQ7Ci0gICAgZG9taWRfdCB4ZW5zdG9yZV9kb21pZDsKKyAgICB1 aW50MzJfdCBjb25zb2xlX2RvbWlkOworICAgIHVpbnQzMl90IHhlbnN0b3JlX2RvbWlkOwogICAg IHhlbl9wZm5fdCBzaGFyZWRfaW5mb19tZm47CiAKICAgICB4Y19pbnRlcmZhY2UgKnhjaDsKLSAg ICBkb21pZF90IGd1ZXN0X2RvbWlkOworICAgIHVpbnQzMl90IGd1ZXN0X2RvbWlkOwogICAgIGlu dCBjbGFpbV9lbmFibGVkOyAvKiAwIGJ5IGRlZmF1bHQsIDEgZW5hYmxlcyBpdCAqLwogCiAgICAg aW50IHhlbl92ZXJzaW9uOwpAQCAtMzE4LDIzICszMTgsMjMgQEAgaW50IHhjX2RvbV9idWlsZF9p bWFnZShzdHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20pOwogaW50IHhjX2RvbV91cGRhdGVfZ3Vlc3Rf cDJtKHN0cnVjdCB4Y19kb21faW1hZ2UgKmRvbSk7CiAKIGludCB4Y19kb21fYm9vdF94ZW5faW5p dChzdHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20sIHhjX2ludGVyZmFjZSAqeGNoLAotICAgICAgICAg ICAgICAgICAgICAgZG9taWRfdCBkb21pZCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgdWlu dDMyX3QgZG9taWQpOwogaW50IHhjX2RvbV9ib290X21lbV9pbml0KHN0cnVjdCB4Y19kb21faW1h Z2UgKmRvbSk7CiB2b2lkICp4Y19kb21fYm9vdF9kb21VX21hcChzdHJ1Y3QgeGNfZG9tX2ltYWdl ICpkb20sIHhlbl9wZm5fdCBwZm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4ZW5fcGZu X3QgY291bnQpOwogaW50IHhjX2RvbV9ib290X2ltYWdlKHN0cnVjdCB4Y19kb21faW1hZ2UgKmRv bSk7CiBpbnQgeGNfZG9tX2NvbXBhdF9jaGVjayhzdHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20pOwog aW50IHhjX2RvbV9nbnR0YWJfaW5pdChzdHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20pOwotaW50IHhj X2RvbV9nbnR0YWJfaHZtX3NlZWQoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9taWQsCitp bnQgeGNfZG9tX2dudHRhYl9odm1fc2VlZCh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9t aWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4ZW5fcGZuX3QgY29uc29sZV9nbWZuLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgeGVuX3Bmbl90IHhlbnN0b3JlX2dtZm4sCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICBkb21pZF90IGNvbnNvbGVfZG9taWQsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICBkb21pZF90IHhlbnN0b3JlX2RvbWlkKTsKLWludCB4Y19kb21fZ250 dGFiX3NlZWQoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9taWQsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICB1aW50MzJfdCBjb25zb2xlX2RvbWlkLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgdWludDMyX3QgeGVuc3RvcmVfZG9taWQpOworaW50IHhjX2RvbV9nbnR0YWJfc2Vl ZCh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICAgICAgICAg ICAgIHhlbl9wZm5fdCBjb25zb2xlX2dtZm4sCiAgICAgICAgICAgICAgICAgICAgICAgIHhlbl9w Zm5fdCB4ZW5zdG9yZV9nbWZuLAotICAgICAgICAgICAgICAgICAgICAgICBkb21pZF90IGNvbnNv bGVfZG9taWQsCi0gICAgICAgICAgICAgICAgICAgICAgIGRvbWlkX3QgeGVuc3RvcmVfZG9taWQp OworICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25zb2xlX2RvbWlkLAorICAgICAg ICAgICAgICAgICAgICAgICB1aW50MzJfdCB4ZW5zdG9yZV9kb21pZCk7CiBib29sIHhjX2RvbV90 cmFuc2xhdGVkKGNvbnN0IHN0cnVjdCB4Y19kb21faW1hZ2UgKmRvbSk7CiAKIC8qIC0tLSBkZWJ1 Z2dpbmcgYml0cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t ICovCmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaCBiL3Rvb2xzL2xp YnhjL2luY2x1ZGUveGVuY3RybC5oCmluZGV4IDNiY2FiM2MuLjY2NmRiMGIgMTAwNjQ0Ci0tLSBh L3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oCisrKyBiL3Rvb2xzL2xpYnhjL2luY2x1ZGUv eGVuY3RybC5oCkBAIC05MDAsOCArOTAwLDggQEAgaW50IHhjX3ZjcHVfZ2V0Y29udGV4dCh4Y19p bnRlcmZhY2UgKnhjaCwKICAqLwogaW50IHhjX2RvbV92dWFydF9pbml0KHhjX2ludGVyZmFjZSAq eGNoLAogICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHR5cGUsCi0gICAgICAgICAgICAg ICAgICAgICAgZG9taWRfdCBkb21pZCwKLSAgICAgICAgICAgICAgICAgICAgICBkb21pZF90IGNv bnNvbGVfZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZG9taWQsCisgICAg ICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uc29sZV9kb21pZCwKICAgICAgICAgICAgICAg ICAgICAgICB4ZW5fcGZuX3QgZ2ZuLAogICAgICAgICAgICAgICAgICAgICAgIGV2dGNobl9wb3J0 X3QgKmV2dGNobik7CiAKQEAgLTkzMCw3ICs5MzAsNyBAQCBpbnQgeGNfdmNwdV9nZXRpbmZvKHhj X2ludGVyZmFjZSAqeGNoLAogICAgICAgICAgICAgICAgICAgICB4Y192Y3B1aW5mb190ICppbmZv KTsKIAogbG9uZyBsb25nIHhjX2RvbWFpbl9nZXRfY3B1X3VzYWdlKHhjX2ludGVyZmFjZSAqeGNo LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWlkX3QgZG9taWQsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHZjcHUpOwogCiBpbnQgeGNfZG9tYWluX3NldGhh bmRsZSh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQsCkBAIC0xMDkzLDcgKzEwOTMs NyBAQCBpbnQgeGNfZG9tYWluX3NldF9tYXhfZXZ0Y2huKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50 MzJfdCBkb21pZCwKICAqIEBwYXJhbSBncmFudF9mcmFtZXMgbWF4LiBudW1iZXIgb2YgZ3JhbnQg ZnJhbWVzCiAgKiBAcGFyYW0gbWFwdHJhY2tfZnJhbWVzIG1heC4gbnVtYmVyIG9mIG1hcHRyYWNr IGZyYW1lcwogICovCi1pbnQgeGNfZG9tYWluX3NldF9nbnR0YWJfbGltaXRzKHhjX2ludGVyZmFj ZSAqeGNoLCBkb21pZF90IGRvbWlkLAoraW50IHhjX2RvbWFpbl9zZXRfZ250dGFiX2xpbWl0cyh4 Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVpbnQzMl90IGdyYW50X2ZyYW1lcywKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdWludDMyX3QgbWFwdHJhY2tfZnJhbWVzKTsKIApAQCAtMTM3MCw5ICsxMzcwLDkg QEAgaW50IHhjX2RvbWFpbl9nZXRfdHNjX2luZm8oeGNfaW50ZXJmYWNlICp4Y2gsCiAKIGludCB4 Y19kb21haW5fZGlzYWJsZV9taWdyYXRlKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21p ZCk7CiAKLWludCB4Y19kb21haW5fbWF4aW11bV9ncGZuKHhjX2ludGVyZmFjZSAqeGNoLCBkb21p ZF90IGRvbWlkLCB4ZW5fcGZuX3QgKmdwZm5zKTsKK2ludCB4Y19kb21haW5fbWF4aW11bV9ncGZu KHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21pZCwgeGVuX3Bmbl90ICpncGZucyk7CiAK LWludCB4Y19kb21haW5fbnJfZ3BmbnMoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9taWQs IHhlbl9wZm5fdCAqZ3BmbnMpOworaW50IHhjX2RvbWFpbl9ucl9ncGZucyh4Y19pbnRlcmZhY2Ug KnhjaCwgdWludDMyX3QgZG9taWQsIHhlbl9wZm5fdCAqZ3BmbnMpOwogCiBpbnQgeGNfZG9tYWlu X2luY3JlYXNlX3Jlc2VydmF0aW9uKHhjX2ludGVyZmFjZSAqeGNoLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkb21pZCwKQEAgLTE0MDcsOCArMTQwNyw4IEBA IGludCB4Y19kb21haW5fYWRkX3RvX3BoeXNtYXAoeGNfaW50ZXJmYWNlICp4Y2gsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHhlbl9wZm5fdCBncGZuKTsKIAogaW50IHhjX2RvbWFpbl9h ZGRfdG9fcGh5c21hcF9iYXRjaCh4Y19pbnRlcmZhY2UgKnhjaCwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZG9taWRfdCBkb21pZCwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZG9taWRfdCBmb3JlaWduX2RvbWlkLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1aW50MzJfdCBkb21pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdWludDMyX3QgZm9yZWlnbl9kb21pZCwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdW5zaWduZWQgaW50IHNwYWNlLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1bnNpZ25lZCBpbnQgc2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgeGVuX3Vsb25nX3QgKmlkeHMsCkBAIC0xNDM0LDcgKzE0MzQsNyBAQCBpbnQgeGNf ZG9tYWluX2NsYWltX3BhZ2VzKHhjX2ludGVyZmFjZSAqeGNoLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbnJfcGFnZXMpOwogCiBpbnQgeGNfZG9tYWluX21l bW9yeV9leGNoYW5nZV9wYWdlcyh4Y19pbnRlcmZhY2UgKnhjaCwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGludCBkb21pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVpbnQzMl90IGRvbWlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdW5zaWduZWQgbG9uZyBucl9pbl9leHRlbnRzLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGluX29yZGVyLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgeGVuX3Bmbl90ICppbl9leHRlbnRzLApAQCAtMTUzOSw3ICsxNTM5 LDcgQEAgc3RhdGljIGlubGluZSBpbnQgeGNfY2xlYXJfZG9tYWluX3BhZ2UoeGNfaW50ZXJmYWNl ICp4Y2gsIHVpbnQzMl90IGRvbWlkLAogfQogCiBpbnQgeGNfbW11ZXh0X29wKHhjX2ludGVyZmFj ZSAqeGNoLCBzdHJ1Y3QgbW11ZXh0X29wICpvcCwgdW5zaWduZWQgaW50IG5yX29wcywKLSAgICAg ICAgICAgICAgICAgZG9taWRfdCBkb20pOworICAgICAgICAgICAgICAgICB1aW50MzJfdCBkb20p OwogCiAvKiBTeXN0ZW0gd2lkZSBtZW1vcnkgcHJvcGVydGllcyAqLwogaW50IHhjX21heGltdW1f cmFtX3BhZ2UoeGNfaW50ZXJmYWNlICp4Y2gsIHVuc2lnbmVkIGxvbmcgKm1heF9tZm4pOwpAQCAt MTYyNSw3ICsxNjI1LDcgQEAgaW50IHhjX2ZsYXNrX29wKHhjX2ludGVyZmFjZSAqeGNoLCB4ZW5f Zmxhc2tfb3BfdCAqb3ApOwogICogKGluIGl0cyBkb2MgY29tbWVudCBpbiBkb21jdGwuaCkuCiAg Ki8KIGludCB4Y19kb21haW5fc3Vic2NyaWJlX2Zvcl9zdXNwZW5kKAotICAgIHhjX2ludGVyZmFj ZSAqeGNoLCBkb21pZF90IGRvbWlkLCBldnRjaG5fcG9ydF90IHBvcnQpOworICAgIHhjX2ludGVy ZmFjZSAqeGNoLCB1aW50MzJfdCBkb21pZCwgZXZ0Y2huX3BvcnRfdCBwb3J0KTsKIAogLyoqKioq KioqKioqKioqKioqKioqKioqKioqCiAgKiBHUkFOVCBUQUJMRSBPUEVSQVRJT05TICoKQEAgLTE2 NDEsMTggKzE2NDEsMTggQEAgaW50IHhjX2dudHRhYl9vcCh4Y19pbnRlcmZhY2UgKnhjaCwgaW50 IGNtZCwKIC8qIExvZ3MgaWZmIGh5cGVyY2FsbCBib3VuY2UgZmFpbHMsIG90aGVyd2lzZSBkb2Vz bid0LiAqLwogCiBpbnQgeGNfZ250dGFiX3F1ZXJ5X3NpemUoeGNfaW50ZXJmYWNlICp4Y2gsIHN0 cnVjdCBnbnR0YWJfcXVlcnlfc2l6ZSAqcXVlcnkpOwotaW50IHhjX2dudHRhYl9nZXRfdmVyc2lv bih4Y19pbnRlcmZhY2UgKnhjaCwgaW50IGRvbWlkKTsgLyogTmV2ZXIgbG9ncyAqLwotZ3JhbnRf ZW50cnlfdjFfdCAqeGNfZ250dGFiX21hcF90YWJsZV92MSh4Y19pbnRlcmZhY2UgKnhjaCwgaW50 IGRvbWlkLCBpbnQgKmdudF9udW0pOwotZ3JhbnRfZW50cnlfdjJfdCAqeGNfZ250dGFiX21hcF90 YWJsZV92Mih4Y19pbnRlcmZhY2UgKnhjaCwgaW50IGRvbWlkLCBpbnQgKmdudF9udW0pOworaW50 IHhjX2dudHRhYl9nZXRfdmVyc2lvbih4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQp OyAvKiBOZXZlciBsb2dzICovCitncmFudF9lbnRyeV92MV90ICp4Y19nbnR0YWJfbWFwX3RhYmxl X3YxKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21pZCwgaW50ICpnbnRfbnVtKTsKK2dy YW50X2VudHJ5X3YyX3QgKnhjX2dudHRhYl9tYXBfdGFibGVfdjIoeGNfaW50ZXJmYWNlICp4Y2gs IHVpbnQzMl90IGRvbWlkLCBpbnQgKmdudF9udW0pOwogLyogU29tZXRpbWVzIHRoZXNlIGRvbid0 IHNldCBlcnJubyBbZml4bWVdLCBhbmQgc29tZXRpbWVzIHRoZXkgZG9uJ3QgbG9nLiAqLwogCiBp bnQgeGNfcGh5c2Rldl9tYXBfcGlycSh4Y19pbnRlcmZhY2UgKnhjaCwKLSAgICAgICAgICAgICAg ICAgICAgICAgIGludCBkb21pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRv bWlkLAogICAgICAgICAgICAgICAgICAgICAgICAgaW50IGluZGV4LAogICAgICAgICAgICAgICAg ICAgICAgICAgaW50ICpwaXJxKTsKIAogaW50IHhjX3BoeXNkZXZfbWFwX3BpcnFfbXNpKHhjX2lu dGVyZmFjZSAqeGNoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkb21pZCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkb21pZCwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpbnQgaW5kZXgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50 ICpwaXJxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkZXZmbiwKQEAgLTE2NjEs NyArMTY2MSw3IEBAIGludCB4Y19waHlzZGV2X21hcF9waXJxX21zaSh4Y19pbnRlcmZhY2UgKnhj aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCB0YWJsZV9iYXNlKTsKIAog aW50IHhjX3BoeXNkZXZfdW5tYXBfcGlycSh4Y19pbnRlcmZhY2UgKnhjaCwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgaW50IGRvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50 MzJfdCBkb21pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBpcnEpOwogCiAvKgpA QCAtMTcwMSwxMiArMTcwMSwxMiBAQCBjb25zdCB4Y19lcnJvciAqeGNfZ2V0X2xhc3RfZXJyb3Io eGNfaW50ZXJmYWNlICpoYW5kbGUpOwogICovCiB2b2lkIHhjX2NsZWFyX2xhc3RfZXJyb3IoeGNf aW50ZXJmYWNlICp4Y2gpOwogCi1pbnQgeGNfaHZtX3BhcmFtX3NldCh4Y19pbnRlcmZhY2UgKmhh bmRsZSwgZG9taWRfdCBkb20sIHVpbnQzMl90IHBhcmFtLCB1aW50NjRfdCB2YWx1ZSk7Ci1pbnQg eGNfaHZtX3BhcmFtX2dldCh4Y19pbnRlcmZhY2UgKmhhbmRsZSwgZG9taWRfdCBkb20sIHVpbnQz Ml90IHBhcmFtLCB1aW50NjRfdCAqdmFsdWUpOworaW50IHhjX2h2bV9wYXJhbV9zZXQoeGNfaW50 ZXJmYWNlICpoYW5kbGUsIHVpbnQzMl90IGRvbSwgdWludDMyX3QgcGFyYW0sIHVpbnQ2NF90IHZh bHVlKTsKK2ludCB4Y19odm1fcGFyYW1fZ2V0KHhjX2ludGVyZmFjZSAqaGFuZGxlLCB1aW50MzJf dCBkb20sIHVpbnQzMl90IHBhcmFtLCB1aW50NjRfdCAqdmFsdWUpOwogCiAvKiBEZXByZWNhdGVk OiB1c2UgeGNfaHZtX3BhcmFtX3NldC9nZXQoKSBpbnN0ZWFkLiAqLwotaW50IHhjX3NldF9odm1f cGFyYW0oeGNfaW50ZXJmYWNlICpoYW5kbGUsIGRvbWlkX3QgZG9tLCBpbnQgcGFyYW0sIHVuc2ln bmVkIGxvbmcgdmFsdWUpOwotaW50IHhjX2dldF9odm1fcGFyYW0oeGNfaW50ZXJmYWNlICpoYW5k bGUsIGRvbWlkX3QgZG9tLCBpbnQgcGFyYW0sIHVuc2lnbmVkIGxvbmcgKnZhbHVlKTsKK2ludCB4 Y19zZXRfaHZtX3BhcmFtKHhjX2ludGVyZmFjZSAqaGFuZGxlLCB1aW50MzJfdCBkb20sIGludCBw YXJhbSwgdW5zaWduZWQgbG9uZyB2YWx1ZSk7CitpbnQgeGNfZ2V0X2h2bV9wYXJhbSh4Y19pbnRl cmZhY2UgKmhhbmRsZSwgdWludDMyX3QgZG9tLCBpbnQgcGFyYW0sIHVuc2lnbmVkIGxvbmcgKnZh bHVlKTsKIAogLyogSFZNIGd1ZXN0IHBhc3MtdGhyb3VnaCAqLwogaW50IHhjX2Fzc2lnbl9kZXZp Y2UoeGNfaW50ZXJmYWNlICp4Y2gsCkBAIC0xODI4LDEyICsxODI4LDEyIEBAIGludCB4Y19kb21h aW5fZGVidWdfY29udHJvbCh4Y19pbnRlcmZhY2UgKnhjaCwKIAogI2lmIGRlZmluZWQoX19pMzg2 X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykKIGludCB4Y19jcHVpZF9zZXQoeGNfaW50ZXJmYWNl ICp4Y2gsCi0gICAgICAgICAgICAgICAgIGRvbWlkX3QgZG9taWQsCisgICAgICAgICAgICAgICAg IHVpbnQzMl90IGRvbWlkLAogICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBpbnQgKmlu cHV0LAogICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICoqY29uZmlnLAogICAgICAgICAgICAg ICAgICBjaGFyICoqY29uZmlnX3RyYW5zZm9ybWVkKTsKIGludCB4Y19jcHVpZF9hcHBseV9wb2xp Y3koeGNfaW50ZXJmYWNlICp4Y2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWlkX3Qg ZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkLAogICAgICAg ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqZmVhdHVyZXNldCwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgdW5zaWduZWQgaW50IG5yX2ZlYXR1cmVzKTsKIHZvaWQgeGNfY3B1aWRfdG9f c3RyKGNvbnN0IHVuc2lnbmVkIGludCAqcmVncywKQEAgLTE5NDcsMzEgKzE5NDcsMzEgQEAgaW50 IHhjX3RtZW1fY29udHJvbCh4Y19pbnRlcmZhY2UgKnhjaCwKICAgICAgICAgICAgICAgICAgICAg aW50MzJfdCBwb29sX2lkLCB1aW50MzJfdCBzdWJvcCwgdWludDMyX3QgY2xpX2lkLAogICAgICAg ICAgICAgICAgICAgICB1aW50MzJfdCBsZW4sIHVpbnQzMl90IGFyZywgdm9pZCAqYnVmKTsKIGlu dCB4Y190bWVtX2F1dGgoeGNfaW50ZXJmYWNlICp4Y2gsIGludCBjbGlfaWQsIGNoYXIgKnV1aWRf c3RyLCBpbnQgZW5hYmxlKTsKLWludCB4Y190bWVtX3NhdmUoeGNfaW50ZXJmYWNlICp4Y2gsIGlu dCBkb20sIGludCBsaXZlLCBpbnQgZmQsIGludCBmaWVsZF9tYXJrZXIpOwotaW50IHhjX3RtZW1f c2F2ZV9leHRyYSh4Y19pbnRlcmZhY2UgKnhjaCwgaW50IGRvbSwgaW50IGZkLCBpbnQgZmllbGRf bWFya2VyKTsKLXZvaWQgeGNfdG1lbV9zYXZlX2RvbmUoeGNfaW50ZXJmYWNlICp4Y2gsIGludCBk b20pOwotaW50IHhjX3RtZW1fcmVzdG9yZSh4Y19pbnRlcmZhY2UgKnhjaCwgaW50IGRvbSwgaW50 IGZkKTsKLWludCB4Y190bWVtX3Jlc3RvcmVfZXh0cmEoeGNfaW50ZXJmYWNlICp4Y2gsIGludCBk b20sIGludCBmZCk7CitpbnQgeGNfdG1lbV9zYXZlKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJf dCBkb21pZCwgaW50IGxpdmUsIGludCBmZCwgaW50IGZpZWxkX21hcmtlcik7CitpbnQgeGNfdG1l bV9zYXZlX2V4dHJhKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21pZCwgaW50IGZkLCBp bnQgZmllbGRfbWFya2VyKTsKK3ZvaWQgeGNfdG1lbV9zYXZlX2RvbmUoeGNfaW50ZXJmYWNlICp4 Y2gsIHVpbnQzMl90IGRvbWlkKTsKK2ludCB4Y190bWVtX3Jlc3RvcmUoeGNfaW50ZXJmYWNlICp4 Y2gsIHVpbnQzMl90IGRvbWlkLCBpbnQgZmQpOworaW50IHhjX3RtZW1fcmVzdG9yZV9leHRyYSh4 Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQsIGludCBmZCk7CiAKIC8qKgogICogYWx0 cDJtIG9wZXJhdGlvbnMKICAqLwogCi1pbnQgeGNfYWx0cDJtX2dldF9kb21haW5fc3RhdGUoeGNf aW50ZXJmYWNlICpoYW5kbGUsIGRvbWlkX3QgZG9tLCBib29sICpzdGF0ZSk7Ci1pbnQgeGNfYWx0 cDJtX3NldF9kb21haW5fc3RhdGUoeGNfaW50ZXJmYWNlICpoYW5kbGUsIGRvbWlkX3QgZG9tLCBi b29sIHN0YXRlKTsKLWludCB4Y19hbHRwMm1fc2V0X3ZjcHVfZW5hYmxlX25vdGlmeSh4Y19pbnRl cmZhY2UgKmhhbmRsZSwgZG9taWRfdCBkb21pZCwKK2ludCB4Y19hbHRwMm1fZ2V0X2RvbWFpbl9z dGF0ZSh4Y19pbnRlcmZhY2UgKmhhbmRsZSwgdWludDMyX3QgZG9tLCBib29sICpzdGF0ZSk7Citp bnQgeGNfYWx0cDJtX3NldF9kb21haW5fc3RhdGUoeGNfaW50ZXJmYWNlICpoYW5kbGUsIHVpbnQz Ml90IGRvbSwgYm9vbCBzdGF0ZSk7CitpbnQgeGNfYWx0cDJtX3NldF92Y3B1X2VuYWJsZV9ub3Rp ZnkoeGNfaW50ZXJmYWNlICpoYW5kbGUsIHVpbnQzMl90IGRvbWlkLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHZjcHVpZCwgeGVuX3Bmbl90IGdmbik7Ci1p bnQgeGNfYWx0cDJtX2NyZWF0ZV92aWV3KHhjX2ludGVyZmFjZSAqaGFuZGxlLCBkb21pZF90IGRv bWlkLAoraW50IHhjX2FsdHAybV9jcmVhdGVfdmlldyh4Y19pbnRlcmZhY2UgKmhhbmRsZSwgdWlu dDMyX3QgZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHhlbm1lbV9hY2Nlc3NfdCBk ZWZhdWx0X2FjY2VzcywgdWludDE2X3QgKnZpZXdfaWQpOwotaW50IHhjX2FsdHAybV9kZXN0cm95 X3ZpZXcoeGNfaW50ZXJmYWNlICpoYW5kbGUsIGRvbWlkX3QgZG9taWQsCitpbnQgeGNfYWx0cDJt X2Rlc3Ryb3lfdmlldyh4Y19pbnRlcmZhY2UgKmhhbmRsZSwgdWludDMyX3QgZG9taWQsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCB2aWV3X2lkKTsKIC8qIFN3aXRjaCBhbGwg dkNQVXMgb2YgdGhlIGRvbWFpbiB0byB0aGUgc3BlY2lmaWVkIGFsdHAybSB2aWV3ICovCi1pbnQg eGNfYWx0cDJtX3N3aXRjaF90b192aWV3KHhjX2ludGVyZmFjZSAqaGFuZGxlLCBkb21pZF90IGRv bWlkLAoraW50IHhjX2FsdHAybV9zd2l0Y2hfdG9fdmlldyh4Y19pbnRlcmZhY2UgKmhhbmRsZSwg dWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IHZp ZXdfaWQpOwotaW50IHhjX2FsdHAybV9zZXRfbWVtX2FjY2Vzcyh4Y19pbnRlcmZhY2UgKmhhbmRs ZSwgZG9taWRfdCBkb21pZCwKK2ludCB4Y19hbHRwMm1fc2V0X21lbV9hY2Nlc3MoeGNfaW50ZXJm YWNlICpoYW5kbGUsIHVpbnQzMl90IGRvbWlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1aW50MTZfdCB2aWV3X2lkLCB4ZW5fcGZuX3QgZ2ZuLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB4ZW5tZW1fYWNjZXNzX3QgYWNjZXNzKTsKLWludCB4Y19hbHRwMm1fY2hhbmdlX2dm bih4Y19pbnRlcmZhY2UgKmhhbmRsZSwgZG9taWRfdCBkb21pZCwKK2ludCB4Y19hbHRwMm1fY2hh bmdlX2dmbih4Y19pbnRlcmZhY2UgKmhhbmRsZSwgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgdWludDE2X3Qgdmlld19pZCwgeGVuX3Bmbl90IG9sZF9nZm4sCiAgICAg ICAgICAgICAgICAgICAgICAgICAgeGVuX3Bmbl90IG5ld19nZm4pOwogCkBAIC0xOTgxLDE0ICsx OTgxLDE0IEBAIGludCB4Y19hbHRwMm1fY2hhbmdlX2dmbih4Y19pbnRlcmZhY2UgKmhhbmRsZSwg ZG9taWRfdCBkb21pZCwKICAqIEhhcmR3YXJlLUFzc2lzdGVkIFBhZ2luZyAoaS5lLiBJbnRlbCBF UFQsIEFNRCBOUFQpLiBNb3Jlb3ZlciwgQU1EIE5QVAogICogc3VwcG9ydCBpcyBjb25zaWRlcmVk IGV4cGVyaW1lbnRhbC4KICAqLwotaW50IHhjX21lbV9wYWdpbmdfZW5hYmxlKHhjX2ludGVyZmFj ZSAqeGNoLCBkb21pZF90IGRvbWFpbl9pZCwgdWludDMyX3QgKnBvcnQpOwotaW50IHhjX21lbV9w YWdpbmdfZGlzYWJsZSh4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBkb21haW5faWQpOwotaW50 IHhjX21lbV9wYWdpbmdfcmVzdW1lKHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWFpbl9p ZCk7Ci1pbnQgeGNfbWVtX3BhZ2luZ19ub21pbmF0ZSh4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRf dCBkb21haW5faWQsCitpbnQgeGNfbWVtX3BhZ2luZ19lbmFibGUoeGNfaW50ZXJmYWNlICp4Y2gs IHVpbnQzMl90IGRvbWFpbl9pZCwgdWludDMyX3QgKnBvcnQpOworaW50IHhjX21lbV9wYWdpbmdf ZGlzYWJsZSh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9tYWluX2lkKTsKK2ludCB4Y19t ZW1fcGFnaW5nX3Jlc3VtZSh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9tYWluX2lkKTsK K2ludCB4Y19tZW1fcGFnaW5nX25vbWluYXRlKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBk b21haW5faWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBnZm4pOwotaW50 IHhjX21lbV9wYWdpbmdfZXZpY3QoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9tYWluX2lk LCB1aW50NjRfdCBnZm4pOwotaW50IHhjX21lbV9wYWdpbmdfcHJlcCh4Y19pbnRlcmZhY2UgKnhj aCwgZG9taWRfdCBkb21haW5faWQsIHVpbnQ2NF90IGdmbik7Ci1pbnQgeGNfbWVtX3BhZ2luZ19s b2FkKHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWFpbl9pZCwKK2ludCB4Y19tZW1fcGFn aW5nX2V2aWN0KHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21haW5faWQsIHVpbnQ2NF90 IGdmbik7CitpbnQgeGNfbWVtX3BhZ2luZ19wcmVwKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJf dCBkb21haW5faWQsIHVpbnQ2NF90IGdmbik7CitpbnQgeGNfbWVtX3BhZ2luZ19sb2FkKHhjX2lu dGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21haW5faWQsCiAgICAgICAgICAgICAgICAgICAgICAg IHVpbnQ2NF90IGdmbiwgdm9pZCAqYnVmZmVyKTsKIAogLyoqIApAQCAtMjAwMSw3ICsyMDAxLDcg QEAgaW50IHhjX21lbV9wYWdpbmdfbG9hZCh4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBkb21h aW5faWQsCiAgKiBBbGxvd2VkIHR5cGVzIGFyZSBYRU5NRU1fYWNjZXNzX2RlZmF1bHQsIFhFTk1F TV9hY2Nlc3NfbiwgYW55IGNvbWJpbmF0aW9uIG9mCiAgKiBYRU5NRU1fYWNjZXNzXyArIChyd3gp LCBhbmQgWEVOTUVNX2FjY2Vzc19yeDJydwogICovCi1pbnQgeGNfc2V0X21lbV9hY2Nlc3MoeGNf aW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9tYWluX2lkLAoraW50IHhjX3NldF9tZW1fYWNjZXNz KHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21haW5faWQsCiAgICAgICAgICAgICAgICAg ICAgICAgeGVubWVtX2FjY2Vzc190IGFjY2VzcywgdWludDY0X3QgZmlyc3RfcGZuLAogICAgICAg ICAgICAgICAgICAgICAgIHVpbnQzMl90IG5yKTsKIApAQCAtMjAxMCwxNCArMjAxMCwxNCBAQCBp bnQgeGNfc2V0X21lbV9hY2Nlc3MoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9tYWluX2lk LAogICogVGhlIG5yIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHNpemUgb2YgdGhlIHBhZ2VzIGFu ZCBhY2Nlc3MgYXJyYXlzLgogICogVGhlIHNhbWUgYWxsb3dlZCBhY2Nlc3MgdHlwZXMgYXMgZm9y IHhjX3NldF9tZW1fYWNjZXNzKCkgYXBwbHkuCiAgKi8KLWludCB4Y19zZXRfbWVtX2FjY2Vzc19t dWx0aSh4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBkb21haW5faWQsCitpbnQgeGNfc2V0X21l bV9hY2Nlc3NfbXVsdGkoeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWFpbl9pZCwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICphY2Nlc3MsIHVpbnQ2NF90ICpwYWdl cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBucik7CiAKIC8qCiAgKiBH ZXRzIHRoZSBtZW0gYWNjZXNzIGZvciB0aGUgZ2l2ZW4gcGFnZSAocmV0dXJuZWQgaW4gYWNjZXNz IG9uIHN1Y2Nlc3MpCiAgKi8KLWludCB4Y19nZXRfbWVtX2FjY2Vzcyh4Y19pbnRlcmZhY2UgKnhj aCwgZG9taWRfdCBkb21haW5faWQsCitpbnQgeGNfZ2V0X21lbV9hY2Nlc3MoeGNfaW50ZXJmYWNl ICp4Y2gsIHVpbnQzMl90IGRvbWFpbl9pZCwKICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRf dCBwZm4sIHhlbm1lbV9hY2Nlc3NfdCAqYWNjZXNzKTsKIAogLyoqKgpAQCAtMjAzMCwxNiArMjAz MCwxNiBAQCBpbnQgeGNfZ2V0X21lbV9hY2Nlc3MoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3Qg ZG9tYWluX2lkLAogICogV2lsbCByZXR1cm4gTlVMTCBvbiBlcnJvci4KICAqIENhbGxlciBoYXMg dG8gdW5tYXAgdGhpcyBwYWdlIHdoZW4gZG9uZS4KICAqLwotdm9pZCAqeGNfbW9uaXRvcl9lbmFi bGUoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9tYWluX2lkLCB1aW50MzJfdCAqcG9ydCk7 Ci1pbnQgeGNfbW9uaXRvcl9kaXNhYmxlKHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWFp bl9pZCk7Ci1pbnQgeGNfbW9uaXRvcl9yZXN1bWUoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3Qg ZG9tYWluX2lkKTsKK3ZvaWQgKnhjX21vbml0b3JfZW5hYmxlKHhjX2ludGVyZmFjZSAqeGNoLCB1 aW50MzJfdCBkb21haW5faWQsIHVpbnQzMl90ICpwb3J0KTsKK2ludCB4Y19tb25pdG9yX2Rpc2Fi bGUoeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWFpbl9pZCk7CitpbnQgeGNfbW9uaXRv cl9yZXN1bWUoeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWFpbl9pZCk7CiAvKgogICog R2V0IGEgYml0bWFwIG9mIHN1cHBvcnRlZCBtb25pdG9yIGV2ZW50cyBpbiB0aGUgZm9ybQogICog KDEgPDwgWEVOX0RPTUNUTF9NT05JVE9SX0VWRU5UXyopLgogICovCi1pbnQgeGNfbW9uaXRvcl9n ZXRfY2FwYWJpbGl0aWVzKHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWFpbl9pZCwKK2lu dCB4Y19tb25pdG9yX2dldF9jYXBhYmlsaXRpZXMoeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90 IGRvbWFpbl9pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKmNh cGFiaWxpdGllcyk7Ci1pbnQgeGNfbW9uaXRvcl93cml0ZV9jdHJscmVnKHhjX2ludGVyZmFjZSAq eGNoLCBkb21pZF90IGRvbWFpbl9pZCwKK2ludCB4Y19tb25pdG9yX3dyaXRlX2N0cmxyZWcoeGNf aW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWFpbl9pZCwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdWludDE2X3QgaW5kZXgsIGJvb2wgZW5hYmxlLCBib29sIHN5bmMsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGJpdG1hc2ssIGJvb2wgb25jaGFuZ2Vvbmx5 KTsKIC8qCkBAIC0yMDQ3LDIxICsyMDQ3LDIxIEBAIGludCB4Y19tb25pdG9yX3dyaXRlX2N0cmxy ZWcoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9tYWluX2lkLAogICogUGxlYXNlIGNvbnN1 bHQgdGhlIEludGVsL0FNRCBtYW51YWxzIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uCiAgKiBub24t YXJjaGl0ZWN0dXJhbCBpbmRpY2VzLgogICovCi1pbnQgeGNfbW9uaXRvcl9tb3ZfdG9fbXNyKHhj X2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWFpbl9pZCwgdWludDMyX3QgbXNyLAoraW50IHhj X21vbml0b3JfbW92X3RvX21zcih4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9tYWluX2lk LCB1aW50MzJfdCBtc3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgZW5hYmxlKTsK LWludCB4Y19tb25pdG9yX3NpbmdsZXN0ZXAoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9t YWluX2lkLCBib29sIGVuYWJsZSk7Ci1pbnQgeGNfbW9uaXRvcl9zb2Z0d2FyZV9icmVha3BvaW50 KHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWFpbl9pZCwKK2ludCB4Y19tb25pdG9yX3Np bmdsZXN0ZXAoeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWFpbl9pZCwgYm9vbCBlbmFi bGUpOworaW50IHhjX21vbml0b3Jfc29mdHdhcmVfYnJlYWtwb2ludCh4Y19pbnRlcmZhY2UgKnhj aCwgdWludDMyX3QgZG9tYWluX2lkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBib29sIGVuYWJsZSk7Ci1pbnQgeGNfbW9uaXRvcl9kZXNjcmlwdG9yX2FjY2Vzcyh4Y19pbnRl cmZhY2UgKnhjaCwgZG9taWRfdCBkb21haW5faWQsCitpbnQgeGNfbW9uaXRvcl9kZXNjcmlwdG9y X2FjY2Vzcyh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9tYWluX2lkLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBlbmFibGUpOwotaW50IHhjX21vbml0b3JfZ3Vl c3RfcmVxdWVzdCh4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBkb21haW5faWQsCitpbnQgeGNf bW9uaXRvcl9ndWVzdF9yZXF1ZXN0KHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21haW5f aWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgZW5hYmxlLCBib29sIHN5bmMs IGJvb2wgYWxsb3dfdXNlcnNwYWNlKTsKLWludCB4Y19tb25pdG9yX2RlYnVnX2V4Y2VwdGlvbnMo eGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9tYWluX2lkLAoraW50IHhjX21vbml0b3JfZGVi dWdfZXhjZXB0aW9ucyh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9tYWluX2lkLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGVuYWJsZSwgYm9vbCBzeW5jKTsKLWlu dCB4Y19tb25pdG9yX2NwdWlkKHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWFpbl9pZCwg Ym9vbCBlbmFibGUpOwotaW50IHhjX21vbml0b3JfcHJpdmlsZWdlZF9jYWxsKHhjX2ludGVyZmFj ZSAqeGNoLCBkb21pZF90IGRvbWFpbl9pZCwKK2ludCB4Y19tb25pdG9yX2NwdWlkKHhjX2ludGVy ZmFjZSAqeGNoLCB1aW50MzJfdCBkb21haW5faWQsIGJvb2wgZW5hYmxlKTsKK2ludCB4Y19tb25p dG9yX3ByaXZpbGVnZWRfY2FsbCh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9tYWluX2lk LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgZW5hYmxlKTsKLWludCB4Y19t b25pdG9yX2VtdWxfdW5pbXBsZW1lbnRlZCh4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBkb21h aW5faWQsCitpbnQgeGNfbW9uaXRvcl9lbXVsX3VuaW1wbGVtZW50ZWQoeGNfaW50ZXJmYWNlICp4 Y2gsIHVpbnQzMl90IGRvbWFpbl9pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBib29sIGVuYWJsZSk7CiAvKioKICAqIFRoaXMgZnVuY3Rpb24gZW5hYmxlcyAvIGRpc2FibGVz IGVtdWxhdGlvbiBmb3IgZWFjaCBSRVAgZm9yIGEKQEAgLTIwNzIsNyArMjA3Miw3IEBAIGludCB4 Y19tb25pdG9yX2VtdWxfdW5pbXBsZW1lbnRlZCh4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBk b21haW5faWQsCiAgKiBAcGFybSBlbmFibGUgaWYgMCBvcHRpbWl6ZSB3aGVuIHBvc3NpYmxlLCBl bHNlIGVtdWxhdGUgZWFjaCBSRVAuCiAgKiBAcmV0dXJuIDAgb24gc3VjY2VzcywgLTEgb24gZmFp bHVyZS4KICAqLwotaW50IHhjX21vbml0b3JfZW11bGF0ZV9lYWNoX3JlcCh4Y19pbnRlcmZhY2Ug KnhjaCwgZG9taWRfdCBkb21haW5faWQsCitpbnQgeGNfbW9uaXRvcl9lbXVsYXRlX2VhY2hfcmVw KHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21haW5faWQsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJvb2wgZW5hYmxlKTsKIAogLyoqKgpAQCAtMjA5OSw3ICsyMDk5LDcg QEAgaW50IHhjX21vbml0b3JfZW11bGF0ZV9lYWNoX3JlcCh4Y19pbnRlcmZhY2UgKnhjaCwgZG9t aWRfdCBkb21haW5faWQsCiAgKiBXaGVuIHNoYXJpbmcgZm9yIGEgZG9tYWluIGlzIHR1cm5lZCBv ZmYsIHRoZSBkb21haW4gbWF5IHN0aWxsIHJlZmVyZW5jZQogICogc2hhcmVkIHBhZ2VzLiBVbnNo YXJpbmcgaGFwcGVucyBsYXppbHkuICovCiBpbnQgeGNfbWVtc2hyX2NvbnRyb2woeGNfaW50ZXJm YWNlICp4Y2gsCi0gICAgICAgICAgICAgICAgICAgICAgZG9taWRfdCBkb21pZCwKKyAgICAgICAg ICAgICAgICAgICAgICB1aW50MzJfdCBkb21pZCwKICAgICAgICAgICAgICAgICAgICAgICBpbnQg ZW5hYmxlKTsKIAogLyogQ3JlYXRlIGEgY29tbXVuaWNhdGlvbiByaW5nIGluIHdoaWNoIHRoZSBo eXBlcnZpc29yIHdpbGwgcGxhY2UgRU5PTUVNCkBAIC0yMTMxLDEzICsyMTMxLDEzIEBAIGludCB4 Y19tZW1zaHJfY29udHJvbCh4Y19pbnRlcmZhY2UgKnhjaCwKICAqLwogCiBpbnQgeGNfbWVtc2hy X3JpbmdfZW5hYmxlKHhjX2ludGVyZmFjZSAqeGNoLCAKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgZG9taWRfdCBkb21pZCwgCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRv bWlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqcG9ydCk7CiAvKiBEaXNh YmxlIHRoZSByaW5nIGZvciBFTk9NRU0gY29tbXVuaWNhdGlvbi4KICAqIE1heSBmYWlsIHdpdGgg RUlOVkFMIGlmIHRoZSByaW5nIHdhcyBub3QgZW5hYmxlZCBpbiB0aGUgZmlyc3QgcGxhY2UuCiAg Ki8KIGludCB4Y19tZW1zaHJfcmluZ19kaXNhYmxlKHhjX2ludGVyZmFjZSAqeGNoLCAKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgIGRvbWlkX3QgZG9taWQpOworICAgICAgICAgICAgICAgICAg ICAgICAgICAgdWludDMyX3QgZG9taWQpOwogCiAvKgogICogQ2FsbHMgYmVsb3cgcmV0dXJuIEVJ TlZBTCBpZiBzaGFyaW5nIGhhcyBub3QgYmVlbiBlbmFibGVkIGZvciB0aGUgZG9tYWluCkBAIC0y MTQ3LDcgKzIxNDcsNyBAQCBpbnQgeGNfbWVtc2hyX3JpbmdfZGlzYWJsZSh4Y19pbnRlcmZhY2Ug KnhjaCwKICAqIG5vdGlmeSB0aGUgaHlwZXJ2aXNvciB0byByZS1zY2hlZHVsZSB0aGUgZmF1bHRp bmcgdmNwdSBvZiB0aGUgZG9tYWluIHdpdGggYW4KICAqIGV2ZW50IGNoYW5uZWwga2ljayBhbmQv b3IgdGhpcyBjYWxsLiAqLwogaW50IHhjX21lbXNocl9kb21haW5fcmVzdW1lKHhjX2ludGVyZmFj ZSAqeGNoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWlkX3QgZG9taWQpOworICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkKTsKIAogLyogU2VsZWN0IGEg cGFnZSBmb3Igc2hhcmluZy4gCiAgKgpAQCAtMjE2Myw3ICsyMTYzLDcgQEAgaW50IHhjX21lbXNo cl9kb21haW5fcmVzdW1lKHhjX2ludGVyZmFjZSAqeGNoLAogICogIEVOT0VOVCBvciBFRVhJU1Qg aWYgdGhlcmUgYXJlIGludGVybmFsIGh5cGVydmlzb3IgZXJyb3JzLgogICovCiBpbnQgeGNfbWVt c2hyX25vbWluYXRlX2dmbih4Y19pbnRlcmZhY2UgKnhjaCwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgIGRvbWlkX3QgZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf dCBkb21pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgZ2ZuLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgKmhhbmRsZSk7CiAvKiBTYW1lIGFz IGFib3ZlLCBidXQgaW5zdGVhZCBvZiBhIGd1ZXN0IGZyYW1lIG51bWJlciwgdGhlIGlucHV0IGlz IGEgZ3JhbnQKQEAgLTIxNzIsNyArMjE3Miw3IEBAIGludCB4Y19tZW1zaHJfbm9taW5hdGVfZ2Zu KHhjX2ludGVyZmFjZSAqeGNoLAogICogTWF5IGZhaWwgd2l0aCBFSU5WQUwgaWYgdGhlIGdyYW50 IHJlZmVyZW5jZSBpcyBpbnZhbGlkLgogICovCiBpbnQgeGNfbWVtc2hyX25vbWluYXRlX2dyZWYo eGNfaW50ZXJmYWNlICp4Y2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9taWRfdCBk b21pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkb21pZCwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBncmFudF9yZWZfdCBncmVmLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVpbnQ2NF90ICpoYW5kbGUpOwogCkBAIC0yMTk0LDEwICsyMTk0LDEwIEBA IGludCB4Y19tZW1zaHJfbm9taW5hdGVfZ3JlZih4Y19pbnRlcmZhY2UgKnhjaCwKICAqIHNvdXJj ZS4gRWl0aGVyIDMtdHVwbGUgY2FuIGJlIHNwZWNpZmllZCBsYXRlciBmb3IgZnVydGhlciByZS1z aGFyaW5nLiAKICAqLwogaW50IHhjX21lbXNocl9zaGFyZV9nZm5zKHhjX2ludGVyZmFjZSAqeGNo LAotICAgICAgICAgICAgICAgICAgICBkb21pZF90IHNvdXJjZV9kb21haW4sCisgICAgICAgICAg ICAgICAgICAgIHVpbnQzMl90IHNvdXJjZV9kb21haW4sCiAgICAgICAgICAgICAgICAgICAgIHVu c2lnbmVkIGxvbmcgc291cmNlX2dmbiwKICAgICAgICAgICAgICAgICAgICAgdWludDY0X3Qgc291 cmNlX2hhbmRsZSwKLSAgICAgICAgICAgICAgICAgICAgZG9taWRfdCBjbGllbnRfZG9tYWluLAor ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjbGllbnRfZG9tYWluLAogICAgICAgICAgICAg ICAgICAgICB1bnNpZ25lZCBsb25nIGNsaWVudF9nZm4sCiAgICAgICAgICAgICAgICAgICAgIHVp bnQ2NF90IGNsaWVudF9oYW5kbGUpOwogCkBAIC0yMjA2LDEwICsyMjA2LDEwIEBAIGludCB4Y19t ZW1zaHJfc2hhcmVfZ2Zucyh4Y19pbnRlcmZhY2UgKnhjaCwKICAqIE1heSBmYWlsIHdpdGggRUlO VkFMIGlmIGVpdGhlciBncmFudCByZWZlcmVuY2UgaXMgaW52YWxpZC4KICAqLwogaW50IHhjX21l bXNocl9zaGFyZV9ncmVmcyh4Y19pbnRlcmZhY2UgKnhjaCwKLSAgICAgICAgICAgICAgICAgICAg ZG9taWRfdCBzb3VyY2VfZG9tYWluLAorICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzb3Vy Y2VfZG9tYWluLAogICAgICAgICAgICAgICAgICAgICBncmFudF9yZWZfdCBzb3VyY2VfZ3JlZiwK ICAgICAgICAgICAgICAgICAgICAgdWludDY0X3Qgc291cmNlX2hhbmRsZSwKLSAgICAgICAgICAg ICAgICAgICAgZG9taWRfdCBjbGllbnRfZG9tYWluLAorICAgICAgICAgICAgICAgICAgICB1aW50 MzJfdCBjbGllbnRfZG9tYWluLAogICAgICAgICAgICAgICAgICAgICBncmFudF9yZWZfdCBjbGll bnRfZ3JlZiwKICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgY2xpZW50X2hhbmRsZSk7CiAK QEAgLTIyMjMsMTAgKzIyMjMsMTAgQEAgaW50IHhjX21lbXNocl9zaGFyZV9ncmVmcyh4Y19pbnRl cmZhY2UgKnhjaCwKICAqICBFTk9FTlQgaWYgdGhlcmUgaXMgYW4gaW50ZXJuYWwgaHlwZXJ2aXNv ciBlcnJvci4KICAqLwogaW50IHhjX21lbXNocl9hZGRfdG9fcGh5c21hcCh4Y19pbnRlcmZhY2Ug KnhjaCwKLSAgICAgICAgICAgICAgICAgICAgZG9taWRfdCBzb3VyY2VfZG9tYWluLAorICAgICAg ICAgICAgICAgICAgICB1aW50MzJfdCBzb3VyY2VfZG9tYWluLAogICAgICAgICAgICAgICAgICAg ICB1bnNpZ25lZCBsb25nIHNvdXJjZV9nZm4sCiAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90 IHNvdXJjZV9oYW5kbGUsCi0gICAgICAgICAgICAgICAgICAgIGRvbWlkX3QgY2xpZW50X2RvbWFp biwKKyAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY2xpZW50X2RvbWFpbiwKICAgICAgICAg ICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBjbGllbnRfZ2ZuKTsKIAogLyogQWxsb3dzIHRvIGRl ZHVwbGljYXRlIGEgcmFuZ2Ugb2YgbWVtb3J5IG9mIGEgY2xpZW50IGRvbWFpbi4gVXNpbmcKQEAg LTIyMzksOCArMjIzOSw4IEBAIGludCB4Y19tZW1zaHJfYWRkX3RvX3BoeXNtYXAoeGNfaW50ZXJm YWNlICp4Y2gsCiAgKiB0aGUgc2hhcmluZyBtZXRhZGF0YSBiZWZvcmUgZGVkdXBsaWNhdGlvbiBj YW4gaGFwcGVuLgogICovCiBpbnQgeGNfbWVtc2hyX3JhbmdlX3NoYXJlKHhjX2ludGVyZmFjZSAq eGNoLAotICAgICAgICAgICAgICAgICAgICAgICAgICBkb21pZF90IHNvdXJjZV9kb21haW4sCi0g ICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWlkX3QgY2xpZW50X2RvbWFpbiwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc291cmNlX2RvbWFpbiwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgdWludDMyX3QgY2xpZW50X2RvbWFpbiwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgdWludDY0X3QgZmlyc3RfZ2ZuLAogICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50 NjRfdCBsYXN0X2dmbik7CiAKQEAgLTIyNTEsMTEgKzIyNTEsMTEgQEAgaW50IHhjX21lbXNocl9y YW5nZV9zaGFyZSh4Y19pbnRlcmZhY2UgKnhjaCwKICAqIGFyZ3VtZW50LgogICovCiBpbnQgeGNf bWVtc2hyX2RlYnVnX2dmbih4Y19pbnRlcmZhY2UgKnhjaCwKLSAgICAgICAgICAgICAgICAgICAg ICAgIGRvbWlkX3QgZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkb21p ZCwKICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgZ2ZuKTsKIC8qIE1heSBh ZGRpdGlvbmFsbHkgZmFpbCB3aXRoIEVJTlZBTCBpZiB0aGUgZ3JhbnQgcmVmZXJlbmNlIGlzIGlu dmFsaWQuICovCiBpbnQgeGNfbWVtc2hyX2RlYnVnX2dyZWYoeGNfaW50ZXJmYWNlICp4Y2gsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgZG9taWRfdCBkb21pZCwKKyAgICAgICAgICAgICAgICAg ICAgICAgICB1aW50MzJfdCBkb21pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICBncmFudF9y ZWZfdCBncmVmKTsKIAogLyogQXVkaXRzIHRoZSBzaGFyZSBzdWJzeXN0ZW0uIApAQCAtMjMzMSw3 ICsyMzMxLDcgQEAgaW50IHhjX2ZsYXNrX3BvbGljeXZlcnMoeGNfaW50ZXJmYWNlICp4Y19oYW5k bGUpOwogaW50IHhjX2ZsYXNrX2F2Y19oYXNoc3RhdHMoeGNfaW50ZXJmYWNlICp4Y19oYW5kbGUs IGNoYXIgKmJ1ZiwgaW50IHNpemUpOwogaW50IHhjX2ZsYXNrX2dldGF2Y190aHJlc2hvbGQoeGNf aW50ZXJmYWNlICp4Y19oYW5kbGUpOwogaW50IHhjX2ZsYXNrX3NldGF2Y190aHJlc2hvbGQoeGNf aW50ZXJmYWNlICp4Y19oYW5kbGUsIGludCB0aHJlc2hvbGQpOwotaW50IHhjX2ZsYXNrX3JlbGFi ZWxfZG9tYWluKHhjX2ludGVyZmFjZSAqeGNoLCBpbnQgZG9taWQsIHVpbnQzMl90IHNpZCk7Citp bnQgeGNfZmxhc2tfcmVsYWJlbF9kb21haW4oeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRv bWlkLCB1aW50MzJfdCBzaWQpOwogCiBzdHJ1Y3QgZWxmX2JpbmFyeTsKIHZvaWQgeGNfZWxmX3Nl dF9sb2dmaWxlKHhjX2ludGVyZmFjZSAqeGNoLCBzdHJ1Y3QgZWxmX2JpbmFyeSAqZWxmLApkaWZm IC0tZ2l0IGEvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsX2NvbXBhdC5oIGIvdG9vbHMvbGli eGMvaW5jbHVkZS94ZW5jdHJsX2NvbXBhdC5oCmluZGV4IDA0MGU3YjIuLmE2NTVlNDcgMTAwNjQ0 Ci0tLSBhL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybF9jb21wYXQuaAorKysgYi90b29scy9s aWJ4Yy9pbmNsdWRlL3hlbmN0cmxfY29tcGF0LmgKQEAgLTU5LDkgKzU5LDkgQEAgaW50IHhjX2V2 dGNobl9jbG9zZSh4Y19ldnRjaG4gKnhjZSk7CiBpbnQgeGNfZXZ0Y2huX2ZkKHhjX2V2dGNobiAq eGNlKTsKIGludCB4Y19ldnRjaG5fbm90aWZ5KHhjX2V2dGNobiAqeGNlLCBldnRjaG5fcG9ydF90 IHBvcnQpOwogeGNfZXZ0Y2huX3BvcnRfb3JfZXJyb3JfdAoteGNfZXZ0Y2huX2JpbmRfdW5ib3Vu ZF9wb3J0KHhjX2V2dGNobiAqeGNlLCBpbnQgZG9taWQpOworeGNfZXZ0Y2huX2JpbmRfdW5ib3Vu ZF9wb3J0KHhjX2V2dGNobiAqeGNlLCB1aW50MzJfdCBkb21pZCk7CiB4Y19ldnRjaG5fcG9ydF9v cl9lcnJvcl90Ci14Y19ldnRjaG5fYmluZF9pbnRlcmRvbWFpbih4Y19ldnRjaG4gKnhjZSwgaW50 IGRvbWlkLAoreGNfZXZ0Y2huX2JpbmRfaW50ZXJkb21haW4oeGNfZXZ0Y2huICp4Y2UsIHVpbnQz Ml90IGRvbWlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZ0Y2huX3BvcnRfdCByZW1v dGVfcG9ydCk7CiB4Y19ldnRjaG5fcG9ydF9vcl9lcnJvcl90CiB4Y19ldnRjaG5fYmluZF92aXJx KHhjX2V2dGNobiAqeGNlLCB1bnNpZ25lZCBpbnQgdmlycSk7CkBAIC0xMjMsNDYgKzEyMyw0NiBA QCBpbnQgeGNfZ250c2hyX211bm1hcCh4Y19nbnRzaHIgKnhjZywgdm9pZCAqc3RhcnRfYWRkcmVz cywgdWludDMyX3QgY291bnQpOwogI2lmZGVmIFhDX1dBTlRfQ09NUEFUX0RFVklDRU1PREVMX0FQ SQogCiBpbnQgeGNfaHZtX2NyZWF0ZV9pb3JlcV9zZXJ2ZXIoCi0gICAgeGNfaW50ZXJmYWNlICp4 Y2gsIGRvbWlkX3QgZG9taWQsIGludCBoYW5kbGVfYnVmaW9yZXEsCisgICAgeGNfaW50ZXJmYWNl ICp4Y2gsIHVpbnQzMl90IGRvbWlkLCBpbnQgaGFuZGxlX2J1ZmlvcmVxLAogICAgIGlvc2Vydmlk X3QgKmlkKTsKIGludCB4Y19odm1fZ2V0X2lvcmVxX3NlcnZlcl9pbmZvKAotICAgIHhjX2ludGVy ZmFjZSAqeGNoLCBkb21pZF90IGRvbWlkLCBpb3NlcnZpZF90IGlkLCB4ZW5fcGZuX3QgKmlvcmVx X3BmbiwKKyAgICB4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQsIGlvc2VydmlkX3Qg aWQsIHhlbl9wZm5fdCAqaW9yZXFfcGZuLAogICAgIHhlbl9wZm5fdCAqYnVmaW9yZXFfcGZuLCBl dnRjaG5fcG9ydF90ICpidWZpb3JlcV9wb3J0KTsKIGludCB4Y19odm1fbWFwX2lvX3JhbmdlX3Rv X2lvcmVxX3NlcnZlcigKLSAgICB4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBkb21pZCwgaW9z ZXJ2aWRfdCBpZCwgaW50IGlzX21taW8sCisgICAgeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90 IGRvbWlkLCBpb3NlcnZpZF90IGlkLCBpbnQgaXNfbW1pbywKICAgICB1aW50NjRfdCBzdGFydCwg dWludDY0X3QgZW5kKTsKIGludCB4Y19odm1fdW5tYXBfaW9fcmFuZ2VfZnJvbV9pb3JlcV9zZXJ2 ZXIoCi0gICAgeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9taWQsIGlvc2VydmlkX3QgaWQs IGludCBpc19tbWlvLAorICAgIHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21pZCwgaW9z ZXJ2aWRfdCBpZCwgaW50IGlzX21taW8sCiAgICAgdWludDY0X3Qgc3RhcnQsIHVpbnQ2NF90IGVu ZCk7CiBpbnQgeGNfaHZtX21hcF9wY2lkZXZfdG9faW9yZXFfc2VydmVyKAotICAgIHhjX2ludGVy ZmFjZSAqeGNoLCBkb21pZF90IGRvbWlkLCBpb3NlcnZpZF90IGlkLCB1aW50MTZfdCBzZWdtZW50 LAorICAgIHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21pZCwgaW9zZXJ2aWRfdCBpZCwg dWludDE2X3Qgc2VnbWVudCwKICAgICB1aW50OF90IGJ1cywgdWludDhfdCBkZXZpY2UsIHVpbnQ4 X3QgZnVuY3Rpb24pOwogaW50IHhjX2h2bV91bm1hcF9wY2lkZXZfZnJvbV9pb3JlcV9zZXJ2ZXIo Ci0gICAgeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9taWQsIGlvc2VydmlkX3QgaWQsIHVp bnQxNl90IHNlZ21lbnQsCisgICAgeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWlkLCBp b3NlcnZpZF90IGlkLCB1aW50MTZfdCBzZWdtZW50LAogICAgIHVpbnQ4X3QgYnVzLCB1aW50OF90 IGRldmljZSwgdWludDhfdCBmdW5jdGlvbik7CiBpbnQgeGNfaHZtX2Rlc3Ryb3lfaW9yZXFfc2Vy dmVyKAotICAgIHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWlkLCBpb3NlcnZpZF90IGlk KTsKKyAgICB4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQsIGlvc2VydmlkX3QgaWQp OwogaW50IHhjX2h2bV9zZXRfaW9yZXFfc2VydmVyX3N0YXRlKAotICAgIHhjX2ludGVyZmFjZSAq eGNoLCBkb21pZF90IGRvbWlkLCBpb3NlcnZpZF90IGlkLCBpbnQgZW5hYmxlZCk7CisgICAgeGNf aW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWlkLCBpb3NlcnZpZF90IGlkLCBpbnQgZW5hYmxl ZCk7CiBpbnQgeGNfaHZtX3NldF9wY2lfaW50eF9sZXZlbCgKLSAgICB4Y19pbnRlcmZhY2UgKnhj aCwgZG9taWRfdCBkb21pZCwgdWludDE2X3Qgc2VnbWVudCwgdWludDhfdCBidXMsCisgICAgeGNf aW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWlkLCB1aW50MTZfdCBzZWdtZW50LCB1aW50OF90 IGJ1cywKICAgICB1aW50OF90IGRldmljZSwgdWludDhfdCBpbnR4LCB1bnNpZ25lZCBpbnQgbGV2 ZWwpOwogaW50IHhjX2h2bV9zZXRfaXNhX2lycV9sZXZlbCgKLSAgICB4Y19pbnRlcmZhY2UgKnhj aCwgZG9taWRfdCBkb21pZCwgdWludDhfdCBpcnEsIHVuc2lnbmVkIGludCBsZXZlbCk7CisgICAg eGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWlkLCB1aW50OF90IGlycSwgdW5zaWduZWQg aW50IGxldmVsKTsKIGludCB4Y19odm1fc2V0X3BjaV9saW5rX3JvdXRlKAotICAgIHhjX2ludGVy ZmFjZSAqeGNoLCBkb21pZF90IGRvbWlkLCB1aW50OF90IGxpbmssIHVpbnQ4X3QgaXJxKTsKKyAg ICB4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQsIHVpbnQ4X3QgbGluaywgdWludDhf dCBpcnEpOwogaW50IHhjX2h2bV9pbmplY3RfbXNpKAotICAgIHhjX2ludGVyZmFjZSAqeGNoLCBk b21pZF90IGRvbWlkLCB1aW50NjRfdCBtc2lfYWRkciwgdWludDMyX3QgbXNpX2RhdGEpOworICAg IHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21pZCwgdWludDY0X3QgbXNpX2FkZHIsIHVp bnQzMl90IG1zaV9kYXRhKTsKIGludCB4Y19odm1fdHJhY2tfZGlydHlfdnJhbSgKLSAgICB4Y19p bnRlcmZhY2UgKnhjaCwgZG9taWRfdCBkb21pZCwgdWludDY0X3QgZmlyc3RfcGZuLCB1aW50MzJf dCBuciwKKyAgICB4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQsIHVpbnQ2NF90IGZp cnN0X3BmbiwgdWludDMyX3QgbnIsCiAgICAgdW5zaWduZWQgbG9uZyAqZGlydHlfYml0bWFwKTsK IGludCB4Y19odm1fbW9kaWZpZWRfbWVtb3J5KAotICAgIHhjX2ludGVyZmFjZSAqeGNoLCBkb21p ZF90IGRvbWlkLCB1aW50NjRfdCBmaXJzdF9wZm4sIHVpbnQzMl90IG5yKTsKKyAgICB4Y19pbnRl cmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQsIHVpbnQ2NF90IGZpcnN0X3BmbiwgdWludDMyX3Qg bnIpOwogaW50IHhjX2h2bV9zZXRfbWVtX3R5cGUoCi0gICAgeGNfaW50ZXJmYWNlICp4Y2gsIGRv bWlkX3QgZG9taWQsIGh2bW1lbV90eXBlX3QgdHlwZSwKKyAgICB4Y19pbnRlcmZhY2UgKnhjaCwg dWludDMyX3QgZG9taWQsIGh2bW1lbV90eXBlX3QgdHlwZSwKICAgICB1aW50NjRfdCBmaXJzdF9w Zm4sIHVpbnQzMl90IG5yKTsKIGludCB4Y19odm1faW5qZWN0X3RyYXAoCi0gICAgeGNfaW50ZXJm YWNlICp4Y2gsIGRvbWlkX3QgZG9taWQsIGludCB2Y3B1LCB1aW50OF90IHZlY3RvciwKKyAgICB4 Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQsIGludCB2Y3B1LCB1aW50OF90IHZlY3Rv ciwKICAgICB1aW50OF90IHR5cGUsIHVpbnQzMl90IGVycm9yX2NvZGUsIHVpbnQ4X3QgaW5zbl9s ZW4sIHVpbnQ2NF90IGNyMik7CiAKICNlbmRpZiAvKiBYQ19XQU5UX0NPTVBBVF9ERVZJQ0VNT0RF TF9BUEkgKi8KZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuZ3Vlc3QuaCBiL3Rv b2xzL2xpYnhjL2luY2x1ZGUveGVuZ3Vlc3QuaAppbmRleCBkZTk3ZjFiLi5iNGIyZTE5IDEwMDY0 NAotLS0gYS90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmd1ZXN0LmgKKysrIGIvdG9vbHMvbGlieGMv aW5jbHVkZS94ZW5ndWVzdC5oCkBAIC0xMDksNyArMTA5LDcgQEAgc3RydWN0IHNhdmVfY2FsbGJh Y2tzIHsKICAgICBpbnQgKCp3YWl0X2NoZWNrcG9pbnQpKHZvaWQqIGRhdGEpOwogCiAgICAgLyog RW5hYmxlIHFlbXUtZG0gbG9nZ2luZyBkaXJ0eSBwYWdlcyB0byB4ZW4gKi8KLSAgICBpbnQgKCpz d2l0Y2hfcWVtdV9sb2dkaXJ0eSkoaW50IGRvbWlkLCB1bnNpZ25lZCBlbmFibGUsIHZvaWQgKmRh dGEpOyAvKiBIVk0gb25seSAqLworICAgIGludCAoKnN3aXRjaF9xZW11X2xvZ2RpcnR5KSh1aW50 MzJfdCBkb21pZCwgdW5zaWduZWQgZW5hYmxlLCB2b2lkICpkYXRhKTsgLyogSFZNIG9ubHkgKi8K IAogICAgIC8qIHRvIGJlIHByb3ZpZGVkIGFzIHRoZSBsYXN0IGFyZ3VtZW50IHRvIGVhY2ggY2Fs bGJhY2sgZnVuY3Rpb24gKi8KICAgICB2b2lkKiBkYXRhOwpAQCAtMTk1LDggKzE5NSw4IEBAIHN0 cnVjdCByZXN0b3JlX2NhbGxiYWNrcyB7CiAgKi8KIGludCB4Y19kb21haW5fcmVzdG9yZSh4Y19p bnRlcmZhY2UgKnhjaCwgaW50IGlvX2ZkLCB1aW50MzJfdCBkb20sCiAgICAgICAgICAgICAgICAg ICAgICAgdW5zaWduZWQgaW50IHN0b3JlX2V2dGNobiwgdW5zaWduZWQgbG9uZyAqc3RvcmVfbWZu LAotICAgICAgICAgICAgICAgICAgICAgIGRvbWlkX3Qgc3RvcmVfZG9taWQsIHVuc2lnbmVkIGlu dCBjb25zb2xlX2V2dGNobiwKLSAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nICpj b25zb2xlX21mbiwgZG9taWRfdCBjb25zb2xlX2RvbWlkLAorICAgICAgICAgICAgICAgICAgICAg IHVpbnQzMl90IHN0b3JlX2RvbWlkLCB1bnNpZ25lZCBpbnQgY29uc29sZV9ldnRjaG4sCisgICAg ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyAqY29uc29sZV9tZm4sIHVpbnQzMl90IGNv bnNvbGVfZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGh2bSwgdW5z aWduZWQgaW50IHBhZSwKICAgICAgICAgICAgICAgICAgICAgICB4Y19taWdyYXRpb25fc3RyZWFt X3Qgc3RyZWFtX3R5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJlc3RvcmVfY2Fs bGJhY2tzICpjYWxsYmFja3MsIGludCBzZW5kX2JhY2tfZmQpOwpAQCAtMjQzLDcgKzI0Myw3IEBA IHN0cnVjdCB4Y19odm1fZmlybXdhcmVfbW9kdWxlIHsKICAqLwogaW50IHhjX3N1c3BlbmRfZXZ0 Y2huX3JlbGVhc2UoeGNfaW50ZXJmYWNlICp4Y2gsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzdHJ1Y3QgeGVuZXZ0Y2huX2hhbmRsZSAqeGNlLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaW50IGRvbWlkLCBpbnQgc3VzcGVuZF9ldnRjaG4sIGludCAqbG9ja2ZkKTsKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkLCBpbnQgc3VzcGVuZF9l dnRjaG4sIGludCAqbG9ja2ZkKTsKIAogLyoqCiAgKiBUaGlzIGZ1bmN0aW9uIGVhdHMgdGhlIGlu aXRpYWwgbm90aWZpY2F0aW9uLgpAQCAtMjUyLDcgKzI1Miw3IEBAIGludCB4Y19zdXNwZW5kX2V2 dGNobl9yZWxlYXNlKHhjX2ludGVyZmFjZSAqeGNoLAogICovCiBpbnQgeGNfc3VzcGVuZF9ldnRj aG5faW5pdF9leGNsdXNpdmUoeGNfaW50ZXJmYWNlICp4Y2gsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IHhlbmV2dGNobl9oYW5kbGUgKnhjZSwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZG9taWQsIGludCBwb3J0LCBpbnQgKmxv Y2tmZCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZG9t aWQsIGludCBwb3J0LCBpbnQgKmxvY2tmZCk7CiAKIC8qIHhjZSBtdXN0IG5vdCBiZSB1c2VkIGZv ciBhbnl0aGluZyBlbHNlICovCiBpbnQgeGNfYXdhaXRfc3VzcGVuZCh4Y19pbnRlcmZhY2UgKnhj aCwgc3RydWN0IHhlbmV2dGNobl9oYW5kbGUgKnhjZSwKQEAgLTI2Nyw3ICsyNjcsNyBAQCBpbnQg eGNfYXdhaXRfc3VzcGVuZCh4Y19pbnRlcmZhY2UgKnhjaCwgc3RydWN0IHhlbmV2dGNobl9oYW5k bGUgKnhjZSwKICAqLwogaW50IHhjX3N1c3BlbmRfZXZ0Y2huX2luaXRfc2FuZSh4Y19pbnRlcmZh Y2UgKnhjaCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHhlbmV2dGNo bl9oYW5kbGUgKnhjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRvbWlk LCBpbnQgcG9ydCwgaW50ICpsb2NrZmQpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1aW50MzJfdCBkb21pZCwgaW50IHBvcnQsIGludCAqbG9ja2ZkKTsKIAogaW50IHhjX21hcmtf cGFnZV9vbmxpbmUoeGNfaW50ZXJmYWNlICp4Y2gsIHVuc2lnbmVkIGxvbmcgc3RhcnQsCiAgICAg ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGVuZCwgdWludDMyX3QgKnN0YXR1cyk7 CkBAIC0yNzgsNyArMjc4LDcgQEAgaW50IHhjX21hcmtfcGFnZV9vZmZsaW5lKHhjX2ludGVyZmFj ZSAqeGNoLCB1bnNpZ25lZCBsb25nIHN0YXJ0LAogaW50IHhjX3F1ZXJ5X3BhZ2Vfb2ZmbGluZV9z dGF0dXMoeGNfaW50ZXJmYWNlICp4Y2gsIHVuc2lnbmVkIGxvbmcgc3RhcnQsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGVuZCwgdWludDMyX3QgKnN0YXR1 cyk7CiAKLWludCB4Y19leGNoYW5nZV9wYWdlKHhjX2ludGVyZmFjZSAqeGNoLCBpbnQgZG9taWQs IHhlbl9wZm5fdCBtZm4pOworaW50IHhjX2V4Y2hhbmdlX3BhZ2UoeGNfaW50ZXJmYWNlICp4Y2gs IHVpbnQzMl90IGRvbWlkLCB4ZW5fcGZuX3QgbWZuKTsKIAogCiAvKioKQEAgLTI5Myw3ICsyOTMs NyBAQCBzdHJ1Y3QgeGNfZG9tYWluX21lbWluZm8gewogICAgIHVuc2lnbmVkIGxvbmcgcDJtX3Np emU7CiB9OwogCi1pbnQgeGNfbWFwX2RvbWFpbl9tZW1pbmZvKHhjX2ludGVyZmFjZSAqeGNoLCBp bnQgZG9taWQsCitpbnQgeGNfbWFwX2RvbWFpbl9tZW1pbmZvKHhjX2ludGVyZmFjZSAqeGNoLCB1 aW50MzJfdCBkb21pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHhjX2RvbWFp bl9tZW1pbmZvICptaW5mbyk7CiAKIGludCB4Y191bm1hcF9kb21haW5fbWVtaW5mbyh4Y19pbnRl cmZhY2UgKnhjaCwgc3RydWN0IHhjX2RvbWFpbl9tZW1pbmZvICptZW0pOwpkaWZmIC0tZ2l0IGEv dG9vbHMvbGlieGMveGNfYWx0cDJtLmMgYi90b29scy9saWJ4Yy94Y19hbHRwMm0uYwppbmRleCAw NjM5NjMyLi4wN2ZjZDE4IDEwMDY0NAotLS0gYS90b29scy9saWJ4Yy94Y19hbHRwMm0uYworKysg Yi90b29scy9saWJ4Yy94Y19hbHRwMm0uYwpAQCAtMjQsNyArMjQsNyBAQAogI2luY2x1ZGUgPHN0 ZGJvb2wuaD4KICNpbmNsdWRlIDx4ZW4vaHZtL2h2bV9vcC5oPgogCi1pbnQgeGNfYWx0cDJtX2dl dF9kb21haW5fc3RhdGUoeGNfaW50ZXJmYWNlICpoYW5kbGUsIGRvbWlkX3QgZG9tLCBib29sICpz dGF0ZSkKK2ludCB4Y19hbHRwMm1fZ2V0X2RvbWFpbl9zdGF0ZSh4Y19pbnRlcmZhY2UgKmhhbmRs ZSwgdWludDMyX3QgZG9tLCBib29sICpzdGF0ZSkKIHsKICAgICBpbnQgcmM7CiAgICAgREVDTEFS RV9IWVBFUkNBTExfQlVGRkVSKHhlbl9odm1fYWx0cDJtX29wX3QsIGFyZyk7CkBAIC00Nyw3ICs0 Nyw3IEBAIGludCB4Y19hbHRwMm1fZ2V0X2RvbWFpbl9zdGF0ZSh4Y19pbnRlcmZhY2UgKmhhbmRs ZSwgZG9taWRfdCBkb20sIGJvb2wgKnN0YXRlKQogICAgIHJldHVybiByYzsKIH0KIAotaW50IHhj X2FsdHAybV9zZXRfZG9tYWluX3N0YXRlKHhjX2ludGVyZmFjZSAqaGFuZGxlLCBkb21pZF90IGRv bSwgYm9vbCBzdGF0ZSkKK2ludCB4Y19hbHRwMm1fc2V0X2RvbWFpbl9zdGF0ZSh4Y19pbnRlcmZh Y2UgKmhhbmRsZSwgdWludDMyX3QgZG9tLCBib29sIHN0YXRlKQogewogICAgIGludCByYzsKICAg ICBERUNMQVJFX0hZUEVSQ0FMTF9CVUZGRVIoeGVuX2h2bV9hbHRwMm1fb3BfdCwgYXJnKTsKQEAg LTY5LDcgKzY5LDcgQEAgaW50IHhjX2FsdHAybV9zZXRfZG9tYWluX3N0YXRlKHhjX2ludGVyZmFj ZSAqaGFuZGxlLCBkb21pZF90IGRvbSwgYm9vbCBzdGF0ZSkKIH0KIAogLyogVGhpcyBpcyBhIGJp dCBvZGQgdG8gbWUgdGhhdCBpdCBhY3RzIG9uIGN1cnJlbnQuLiAqLwotaW50IHhjX2FsdHAybV9z ZXRfdmNwdV9lbmFibGVfbm90aWZ5KHhjX2ludGVyZmFjZSAqaGFuZGxlLCBkb21pZF90IGRvbWlk LAoraW50IHhjX2FsdHAybV9zZXRfdmNwdV9lbmFibGVfbm90aWZ5KHhjX2ludGVyZmFjZSAqaGFu ZGxlLCB1aW50MzJfdCBkb21pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1aW50MzJfdCB2Y3B1aWQsIHhlbl9wZm5fdCBnZm4pCiB7CiAgICAgaW50IHJjOwpAQCAtOTIs NyArOTIsNyBAQCBpbnQgeGNfYWx0cDJtX3NldF92Y3B1X2VuYWJsZV9ub3RpZnkoeGNfaW50ZXJm YWNlICpoYW5kbGUsIGRvbWlkX3QgZG9taWQsCiAgICAgcmV0dXJuIHJjOwogfQogCi1pbnQgeGNf YWx0cDJtX2NyZWF0ZV92aWV3KHhjX2ludGVyZmFjZSAqaGFuZGxlLCBkb21pZF90IGRvbWlkLAor aW50IHhjX2FsdHAybV9jcmVhdGVfdmlldyh4Y19pbnRlcmZhY2UgKmhhbmRsZSwgdWludDMyX3Qg ZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHhlbm1lbV9hY2Nlc3NfdCBkZWZhdWx0 X2FjY2VzcywgdWludDE2X3QgKnZpZXdfaWQpCiB7CiAgICAgaW50IHJjOwpAQCAtMTE4LDcgKzEx OCw3IEBAIGludCB4Y19hbHRwMm1fY3JlYXRlX3ZpZXcoeGNfaW50ZXJmYWNlICpoYW5kbGUsIGRv bWlkX3QgZG9taWQsCiAgICAgcmV0dXJuIHJjOwogfQogCi1pbnQgeGNfYWx0cDJtX2Rlc3Ryb3lf dmlldyh4Y19pbnRlcmZhY2UgKmhhbmRsZSwgZG9taWRfdCBkb21pZCwKK2ludCB4Y19hbHRwMm1f ZGVzdHJveV92aWV3KHhjX2ludGVyZmFjZSAqaGFuZGxlLCB1aW50MzJfdCBkb21pZCwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IHZpZXdfaWQpCiB7CiAgICAgaW50IHJjOwpA QCAtMTQxLDcgKzE0MSw3IEBAIGludCB4Y19hbHRwMm1fZGVzdHJveV92aWV3KHhjX2ludGVyZmFj ZSAqaGFuZGxlLCBkb21pZF90IGRvbWlkLAogfQogCiAvKiBTd2l0Y2ggYWxsIHZDUFVzIG9mIHRo ZSBkb21haW4gdG8gdGhlIHNwZWNpZmllZCBhbHRwMm0gdmlldyAqLwotaW50IHhjX2FsdHAybV9z d2l0Y2hfdG9fdmlldyh4Y19pbnRlcmZhY2UgKmhhbmRsZSwgZG9taWRfdCBkb21pZCwKK2ludCB4 Y19hbHRwMm1fc3dpdGNoX3RvX3ZpZXcoeGNfaW50ZXJmYWNlICpoYW5kbGUsIHVpbnQzMl90IGRv bWlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCB2aWV3X2lkKQogewog ICAgIGludCByYzsKQEAgLTE2Myw3ICsxNjMsNyBAQCBpbnQgeGNfYWx0cDJtX3N3aXRjaF90b192 aWV3KHhjX2ludGVyZmFjZSAqaGFuZGxlLCBkb21pZF90IGRvbWlkLAogICAgIHJldHVybiByYzsK IH0KIAotaW50IHhjX2FsdHAybV9zZXRfbWVtX2FjY2Vzcyh4Y19pbnRlcmZhY2UgKmhhbmRsZSwg ZG9taWRfdCBkb21pZCwKK2ludCB4Y19hbHRwMm1fc2V0X21lbV9hY2Nlc3MoeGNfaW50ZXJmYWNl ICpoYW5kbGUsIHVpbnQzMl90IGRvbWlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 aW50MTZfdCB2aWV3X2lkLCB4ZW5fcGZuX3QgZ2ZuLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB4ZW5tZW1fYWNjZXNzX3QgYWNjZXNzKQogewpAQCAtMTg4LDcgKzE4OCw3IEBAIGludCB4 Y19hbHRwMm1fc2V0X21lbV9hY2Nlc3MoeGNfaW50ZXJmYWNlICpoYW5kbGUsIGRvbWlkX3QgZG9t aWQsCiAgICAgcmV0dXJuIHJjOwogfQogCi1pbnQgeGNfYWx0cDJtX2NoYW5nZV9nZm4oeGNfaW50 ZXJmYWNlICpoYW5kbGUsIGRvbWlkX3QgZG9taWQsCitpbnQgeGNfYWx0cDJtX2NoYW5nZV9nZm4o eGNfaW50ZXJmYWNlICpoYW5kbGUsIHVpbnQzMl90IGRvbWlkLAogICAgICAgICAgICAgICAgICAg ICAgICAgIHVpbnQxNl90IHZpZXdfaWQsIHhlbl9wZm5fdCBvbGRfZ2ZuLAogICAgICAgICAgICAg ICAgICAgICAgICAgIHhlbl9wZm5fdCBuZXdfZ2ZuKQogewpkaWZmIC0tZ2l0IGEvdG9vbHMvbGli eGMveGNfY29yZS5oIGIvdG9vbHMvbGlieGMveGNfY29yZS5oCmluZGV4IGZmYmU0OTAuLmVkN2Vk NTMgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhjL3hjX2NvcmUuaAorKysgYi90b29scy9saWJ4Yy94 Y19jb3JlLmgKQEAgLTE0Nyw3ICsxNDcsNyBAQCBpbnQgeGNfY29yZV9hcmNoX21hcF9wMm1fd3Jp dGFibGUoeGNfaW50ZXJmYWNlICp4Y2gsIHVuc2lnbmVkIGludCBndWVzdF93aWR0aCwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFyZWRfaW5mb19hbnlfdCAqbGl2ZV9zaGlu Zm8sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeGVuX3Bmbl90ICoqbGl2ZV9w Mm0sIHVuc2lnbmVkIGxvbmcgKnBmbnApOwogCi1pbnQgeGNfY29yZV9hcmNoX2dldF9zY3JhdGNo X2dwZm4oeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9taWQsCitpbnQgeGNfY29yZV9hcmNo X2dldF9zY3JhdGNoX2dwZm4oeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWlkLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhlbl9wZm5fdCAqZ3Bmbik7CiAKIApkaWZm IC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfY29yZV9hcm0uYyBiL3Rvb2xzL2xpYnhjL3hjX2NvcmVf YXJtLmMKaW5kZXggMzYyYzFhNy4uYzNjNDkyYyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMveGNf Y29yZV9hcm0uYworKysgYi90b29scy9saWJ4Yy94Y19jb3JlX2FybS5jCkBAIC05Niw3ICs5Niw3 IEBAIHhjX2NvcmVfYXJjaF9tYXBfcDJtX3dyaXRhYmxlKHhjX2ludGVyZmFjZSAqeGNoLCB1bnNp Z25lZCBpbnQgZ3Vlc3Rfd2lkdGgsIHhjX2RvCiB9CiAKIGludAoteGNfY29yZV9hcmNoX2dldF9z Y3JhdGNoX2dwZm4oeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9taWQsCit4Y19jb3JlX2Fy Y2hfZ2V0X3NjcmF0Y2hfZ3Bmbih4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4ZW5fcGZuX3QgKmdwZm4pCiB7CiAgICAgLyoK ZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hjX2NvcmVfeDg2LmMgYi90b29scy9saWJ4Yy94Y19j b3JlX3g4Ni5jCmluZGV4IDY3OWU3NTMuLjU0ODUyYTIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhj L3hjX2NvcmVfeDg2LmMKKysrIGIvdG9vbHMvbGlieGMveGNfY29yZV94ODYuYwpAQCAtMjA4LDcg KzIwOCw3IEBAIHhjX2NvcmVfYXJjaF9tYXBfcDJtX3dyaXRhYmxlKHhjX2ludGVyZmFjZSAqeGNo LCB1bnNpZ25lZCBpbnQgZ3Vlc3Rfd2lkdGgsIHhjX2RvCiB9CiAKIGludAoteGNfY29yZV9hcmNo X2dldF9zY3JhdGNoX2dwZm4oeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9taWQsCit4Y19j b3JlX2FyY2hfZ2V0X3NjcmF0Y2hfZ3Bmbih4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9t aWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4ZW5fcGZuX3QgKmdwZm4pCiB7CiAg ICAgcmV0dXJuIHhjX2RvbWFpbl9ucl9ncGZucyh4Y2gsIGRvbWlkLCBncGZuKTsKZGlmZiAtLWdp dCBhL3Rvb2xzL2xpYnhjL3hjX2NwdWlkX3g4Ni5jIGIvdG9vbHMvbGlieGMveGNfY3B1aWRfeDg2 LmMKaW5kZXggZDg5MDkzNS4uMjViOTIyZSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMveGNfY3B1 aWRfeDg2LmMKKysrIGIvdG9vbHMvbGlieGMveGNfY3B1aWRfeDg2LmMKQEAgLTIwMiw3ICsyMDIs NyBAQCBzdGF0aWMgdm9pZCBjcHVpZChjb25zdCB1bnNpZ25lZCBpbnQgKmlucHV0LCB1bnNpZ25l ZCBpbnQgKnJlZ3MpCiAjZW5kaWYKIH0KIAotc3RhdGljIGludCBnZXRfY3B1aWRfZG9tYWluX2lu Zm8oeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9taWQsCitzdGF0aWMgaW50IGdldF9jcHVp ZF9kb21haW5faW5mbyh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgY3B1aWRfZG9tYWluX2luZm8gKmluZm8s CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqZmVhdHVyZXNldCwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBucl9mZWF0dXJl cykKQEAgLTYwOCw3ICs2MDgsNyBAQCBzdGF0aWMgaW50IHhjX2NwdWlkX3BvbGljeSh4Y19pbnRl cmZhY2UgKnhjaCwKIH0KIAogc3RhdGljIGludCB4Y19jcHVpZF9kb19kb21jdGwoCi0gICAgeGNf aW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9taWQsCisgICAgeGNfaW50ZXJmYWNlICp4Y2gsIHVp bnQzMl90IGRvbWlkLAogICAgIGNvbnN0IHVuc2lnbmVkIGludCAqaW5wdXQsIGNvbnN0IHVuc2ln bmVkIGludCAqcmVncykKIHsKICAgICBERUNMQVJFX0RPTUNUTDsKQEAgLTcwOSw3ICs3MDksNyBA QCBzdGF0aWMgdm9pZCBzYW5pdGlzZV9mZWF0dXJlc2V0KHN0cnVjdCBjcHVpZF9kb21haW5faW5m byAqaW5mbykKICAgICB9CiB9CiAKLWludCB4Y19jcHVpZF9hcHBseV9wb2xpY3koeGNfaW50ZXJm YWNlICp4Y2gsIGRvbWlkX3QgZG9taWQsCitpbnQgeGNfY3B1aWRfYXBwbHlfcG9saWN5KHhjX2lu dGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg dWludDMyX3QgKmZlYXR1cmVzZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk IGludCBucl9mZWF0dXJlcykKIHsKQEAgLTc5Niw3ICs3OTYsNyBAQCBpbnQgeGNfY3B1aWRfYXBw bHlfcG9saWN5KHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWlkLAogICogRm9yICdzJyBh bmQgJ3gnIHRoZSBjb25maWd1cmF0aW9uIGlzIG92ZXJ3cml0dGVuIHdpdGggdGhlIHZhbHVlIGFw cGxpZWQuCiAgKi8KIGludCB4Y19jcHVpZF9zZXQoCi0gICAgeGNfaW50ZXJmYWNlICp4Y2gsIGRv bWlkX3QgZG9taWQsIGNvbnN0IHVuc2lnbmVkIGludCAqaW5wdXQsCisgICAgeGNfaW50ZXJmYWNl ICp4Y2gsIHVpbnQzMl90IGRvbWlkLCBjb25zdCB1bnNpZ25lZCBpbnQgKmlucHV0LAogICAgIGNv bnN0IGNoYXIgKipjb25maWcsIGNoYXIgKipjb25maWdfdHJhbnNmb3JtZWQpCiB7CiAgICAgaW50 IHJjOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfY3NjaGVkLmMgYi90b29scy9saWJ4Yy94 Y19jc2NoZWQuYwppbmRleCAxMzlmYzE2Li44ZThjNjcyIDEwMDY0NAotLS0gYS90b29scy9saWJ4 Yy94Y19jc2NoZWQuYworKysgYi90b29scy9saWJ4Yy94Y19jc2NoZWQuYwpAQCAtMzIsNyArMzIs NyBAQCB4Y19zY2hlZF9jcmVkaXRfZG9tYWluX3NldCgKICAgICBERUNMQVJFX0RPTUNUTDsKIAog ICAgIGRvbWN0bC5jbWQgPSBYRU5fRE9NQ1RMX3NjaGVkdWxlcl9vcDsKLSAgICBkb21jdGwuZG9t YWluID0gKGRvbWlkX3QpIGRvbWlkOworICAgIGRvbWN0bC5kb21haW4gPSBkb21pZDsKICAgICBk b21jdGwudS5zY2hlZHVsZXJfb3Auc2NoZWRfaWQgPSBYRU5fU0NIRURVTEVSX0NSRURJVDsKICAg ICBkb21jdGwudS5zY2hlZHVsZXJfb3AuY21kID0gWEVOX0RPTUNUTF9TQ0hFRE9QX3B1dGluZm87 CiAgICAgZG9tY3RsLnUuc2NoZWR1bGVyX29wLnUuY3JlZGl0ID0gKnNkb207CkBAIC01Miw3ICs1 Miw3IEBAIHhjX3NjaGVkX2NyZWRpdF9kb21haW5fZ2V0KAogICAgIERFQ0xBUkVfRE9NQ1RMOwog CiAgICAgZG9tY3RsLmNtZCA9IFhFTl9ET01DVExfc2NoZWR1bGVyX29wOwotICAgIGRvbWN0bC5k b21haW4gPSAoZG9taWRfdCkgZG9taWQ7CisgICAgZG9tY3RsLmRvbWFpbiA9IGRvbWlkOwogICAg IGRvbWN0bC51LnNjaGVkdWxlcl9vcC5zY2hlZF9pZCA9IFhFTl9TQ0hFRFVMRVJfQ1JFRElUOwog ICAgIGRvbWN0bC51LnNjaGVkdWxlcl9vcC5jbWQgPSBYRU5fRE9NQ1RMX1NDSEVET1BfZ2V0aW5m bzsKIApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfY3NjaGVkMi5jIGIvdG9vbHMvbGlieGMv eGNfY3NjaGVkMi5jCmluZGV4IDEyYzk1ZTYuLjVlYjc1M2EgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xp YnhjL3hjX2NzY2hlZDIuYworKysgYi90b29scy9saWJ4Yy94Y19jc2NoZWQyLmMKQEAgLTMyLDcg KzMyLDcgQEAgeGNfc2NoZWRfY3JlZGl0Ml9kb21haW5fc2V0KAogICAgIERFQ0xBUkVfRE9NQ1RM OwogCiAgICAgZG9tY3RsLmNtZCA9IFhFTl9ET01DVExfc2NoZWR1bGVyX29wOwotICAgIGRvbWN0 bC5kb21haW4gPSAoZG9taWRfdCkgZG9taWQ7CisgICAgZG9tY3RsLmRvbWFpbiA9IGRvbWlkOwog ICAgIGRvbWN0bC51LnNjaGVkdWxlcl9vcC5zY2hlZF9pZCA9IFhFTl9TQ0hFRFVMRVJfQ1JFRElU MjsKICAgICBkb21jdGwudS5zY2hlZHVsZXJfb3AuY21kID0gWEVOX0RPTUNUTF9TQ0hFRE9QX3B1 dGluZm87CiAgICAgZG9tY3RsLnUuc2NoZWR1bGVyX29wLnUuY3JlZGl0MiA9ICpzZG9tOwpAQCAt NTIsNyArNTIsNyBAQCB4Y19zY2hlZF9jcmVkaXQyX2RvbWFpbl9nZXQoCiAgICAgREVDTEFSRV9E T01DVEw7CiAKICAgICBkb21jdGwuY21kID0gWEVOX0RPTUNUTF9zY2hlZHVsZXJfb3A7Ci0gICAg ZG9tY3RsLmRvbWFpbiA9IChkb21pZF90KSBkb21pZDsKKyAgICBkb21jdGwuZG9tYWluID0gZG9t aWQ7CiAgICAgZG9tY3RsLnUuc2NoZWR1bGVyX29wLnNjaGVkX2lkID0gWEVOX1NDSEVEVUxFUl9D UkVESVQyOwogICAgIGRvbWN0bC51LnNjaGVkdWxlcl9vcC5jbWQgPSBYRU5fRE9NQ1RMX1NDSEVE T1BfZ2V0aW5mbzsKIApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfZGV2aWNlbW9kZWxfY29t cGF0LmMgYi90b29scy9saWJ4Yy94Y19kZXZpY2Vtb2RlbF9jb21wYXQuYwppbmRleCBlNGVkZWVh Li5kYmQxNzg1IDEwMDY0NAotLS0gYS90b29scy9saWJ4Yy94Y19kZXZpY2Vtb2RlbF9jb21wYXQu YworKysgYi90b29scy9saWJ4Yy94Y19kZXZpY2Vtb2RlbF9jb21wYXQuYwpAQCAtNyw3ICs3LDcg QEAKICNpbmNsdWRlICJ4Y19wcml2YXRlLmgiCiAKIGludCB4Y19odm1fY3JlYXRlX2lvcmVxX3Nl cnZlcigKLSAgICB4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBkb21pZCwgaW50IGhhbmRsZV9i dWZpb3JlcSwKKyAgICB4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQsIGludCBoYW5k bGVfYnVmaW9yZXEsCiAgICAgaW9zZXJ2aWRfdCAqaWQpCiB7CiAgICAgcmV0dXJuIHhlbmRldmlj ZW1vZGVsX2NyZWF0ZV9pb3JlcV9zZXJ2ZXIoeGNoLT5kbW9kLCBkb21pZCwKQEAgLTE1LDcgKzE1 LDcgQEAgaW50IHhjX2h2bV9jcmVhdGVfaW9yZXFfc2VydmVyKAogfQogCiBpbnQgeGNfaHZtX2dl dF9pb3JlcV9zZXJ2ZXJfaW5mbygKLSAgICB4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBkb21p ZCwgaW9zZXJ2aWRfdCBpZCwgeGVuX3Bmbl90ICppb3JlcV9wZm4sCisgICAgeGNfaW50ZXJmYWNl ICp4Y2gsIHVpbnQzMl90IGRvbWlkLCBpb3NlcnZpZF90IGlkLCB4ZW5fcGZuX3QgKmlvcmVxX3Bm biwKICAgICB4ZW5fcGZuX3QgKmJ1ZmlvcmVxX3BmbiwgZXZ0Y2huX3BvcnRfdCAqYnVmaW9yZXFf cG9ydCkKIHsKICAgICByZXR1cm4geGVuZGV2aWNlbW9kZWxfZ2V0X2lvcmVxX3NlcnZlcl9pbmZv KHhjaC0+ZG1vZCwgZG9taWQsIGlkLApAQCAtMjQsNyArMjQsNyBAQCBpbnQgeGNfaHZtX2dldF9p b3JlcV9zZXJ2ZXJfaW5mbygKIH0KIAogaW50IHhjX2h2bV9tYXBfaW9fcmFuZ2VfdG9faW9yZXFf c2VydmVyKAotICAgIHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWlkLCBpb3NlcnZpZF90 IGlkLCBpbnQgaXNfbW1pbywKKyAgICB4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQs IGlvc2VydmlkX3QgaWQsIGludCBpc19tbWlvLAogICAgIHVpbnQ2NF90IHN0YXJ0LCB1aW50NjRf dCBlbmQpCiB7CiAgICAgcmV0dXJuIHhlbmRldmljZW1vZGVsX21hcF9pb19yYW5nZV90b19pb3Jl cV9zZXJ2ZXIoeGNoLT5kbW9kLCBkb21pZCwKQEAgLTMzLDcgKzMzLDcgQEAgaW50IHhjX2h2bV9t YXBfaW9fcmFuZ2VfdG9faW9yZXFfc2VydmVyKAogfQogCiBpbnQgeGNfaHZtX3VubWFwX2lvX3Jh bmdlX2Zyb21faW9yZXFfc2VydmVyKAotICAgIHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRv bWlkLCBpb3NlcnZpZF90IGlkLCBpbnQgaXNfbW1pbywKKyAgICB4Y19pbnRlcmZhY2UgKnhjaCwg dWludDMyX3QgZG9taWQsIGlvc2VydmlkX3QgaWQsIGludCBpc19tbWlvLAogICAgIHVpbnQ2NF90 IHN0YXJ0LCB1aW50NjRfdCBlbmQpCiB7CiAgICAgcmV0dXJuIHhlbmRldmljZW1vZGVsX3VubWFw X2lvX3JhbmdlX2Zyb21faW9yZXFfc2VydmVyKHhjaC0+ZG1vZCwgZG9taWQsCkBAIC00Miw3ICs0 Miw3IEBAIGludCB4Y19odm1fdW5tYXBfaW9fcmFuZ2VfZnJvbV9pb3JlcV9zZXJ2ZXIoCiB9CiAK IGludCB4Y19odm1fbWFwX3BjaWRldl90b19pb3JlcV9zZXJ2ZXIoCi0gICAgeGNfaW50ZXJmYWNl ICp4Y2gsIGRvbWlkX3QgZG9taWQsIGlvc2VydmlkX3QgaWQsIHVpbnQxNl90IHNlZ21lbnQsCisg ICAgeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWlkLCBpb3NlcnZpZF90IGlkLCB1aW50 MTZfdCBzZWdtZW50LAogICAgIHVpbnQ4X3QgYnVzLCB1aW50OF90IGRldmljZSwgdWludDhfdCBm dW5jdGlvbikKIHsKICAgICByZXR1cm4geGVuZGV2aWNlbW9kZWxfbWFwX3BjaWRldl90b19pb3Jl cV9zZXJ2ZXIoeGNoLT5kbW9kLCBkb21pZCwgaWQsCkBAIC01MSw3ICs1MSw3IEBAIGludCB4Y19o dm1fbWFwX3BjaWRldl90b19pb3JlcV9zZXJ2ZXIoCiB9CiAKIGludCB4Y19odm1fdW5tYXBfcGNp ZGV2X2Zyb21faW9yZXFfc2VydmVyKAotICAgIHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRv bWlkLCBpb3NlcnZpZF90IGlkLCB1aW50MTZfdCBzZWdtZW50LAorICAgIHhjX2ludGVyZmFjZSAq eGNoLCB1aW50MzJfdCBkb21pZCwgaW9zZXJ2aWRfdCBpZCwgdWludDE2X3Qgc2VnbWVudCwKICAg ICB1aW50OF90IGJ1cywgdWludDhfdCBkZXZpY2UsIHVpbnQ4X3QgZnVuY3Rpb24pCiB7CiAgICAg cmV0dXJuIHhlbmRldmljZW1vZGVsX3VubWFwX3BjaWRldl9mcm9tX2lvcmVxX3NlcnZlcih4Y2gt PmRtb2QsIGRvbWlkLApAQCAtNjAsMjAgKzYwLDIwIEBAIGludCB4Y19odm1fdW5tYXBfcGNpZGV2 X2Zyb21faW9yZXFfc2VydmVyKAogfQogCiBpbnQgeGNfaHZtX2Rlc3Ryb3lfaW9yZXFfc2VydmVy KAotICAgIHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWlkLCBpb3NlcnZpZF90IGlkKQor ICAgIHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21pZCwgaW9zZXJ2aWRfdCBpZCkKIHsK ICAgICByZXR1cm4geGVuZGV2aWNlbW9kZWxfZGVzdHJveV9pb3JlcV9zZXJ2ZXIoeGNoLT5kbW9k LCBkb21pZCwgaWQpOwogfQogCiBpbnQgeGNfaHZtX3NldF9pb3JlcV9zZXJ2ZXJfc3RhdGUoCi0g ICAgeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9taWQsIGlvc2VydmlkX3QgaWQsIGludCBl bmFibGVkKQorICAgIHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21pZCwgaW9zZXJ2aWRf dCBpZCwgaW50IGVuYWJsZWQpCiB7CiAgICAgcmV0dXJuIHhlbmRldmljZW1vZGVsX3NldF9pb3Jl cV9zZXJ2ZXJfc3RhdGUoeGNoLT5kbW9kLCBkb21pZCwgaWQsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlZCk7CiB9CiAKIGludCB4Y19odm1f c2V0X3BjaV9pbnR4X2xldmVsKAotICAgIHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWlk LCB1aW50MTZfdCBzZWdtZW50LCB1aW50OF90IGJ1cywKKyAgICB4Y19pbnRlcmZhY2UgKnhjaCwg dWludDMyX3QgZG9taWQsIHVpbnQxNl90IHNlZ21lbnQsIHVpbnQ4X3QgYnVzLAogICAgIHVpbnQ4 X3QgZGV2aWNlLCB1aW50OF90IGludHgsIHVuc2lnbmVkIGludCBsZXZlbCkKIHsKICAgICByZXR1 cm4geGVuZGV2aWNlbW9kZWxfc2V0X3BjaV9pbnR4X2xldmVsKHhjaC0+ZG1vZCwgZG9taWQsIHNl Z21lbnQsCkBAIC04MSwyNSArODEsMjUgQEAgaW50IHhjX2h2bV9zZXRfcGNpX2ludHhfbGV2ZWwo CiB9CiAKIGludCB4Y19odm1fc2V0X2lzYV9pcnFfbGV2ZWwoCi0gICAgeGNfaW50ZXJmYWNlICp4 Y2gsIGRvbWlkX3QgZG9taWQsIHVpbnQ4X3QgaXJxLCB1bnNpZ25lZCBpbnQgbGV2ZWwpCisgICAg eGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWlkLCB1aW50OF90IGlycSwgdW5zaWduZWQg aW50IGxldmVsKQogewogICAgIHJldHVybiB4ZW5kZXZpY2Vtb2RlbF9zZXRfaXNhX2lycV9sZXZl bCh4Y2gtPmRtb2QsIGRvbWlkLCBpcnEsIGxldmVsKTsKIH0KIAogaW50IHhjX2h2bV9zZXRfcGNp X2xpbmtfcm91dGUoCi0gICAgeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9taWQsIHVpbnQ4 X3QgbGluaywgdWludDhfdCBpcnEpCisgICAgeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRv bWlkLCB1aW50OF90IGxpbmssIHVpbnQ4X3QgaXJxKQogewogICAgIHJldHVybiB4ZW5kZXZpY2Vt b2RlbF9zZXRfcGNpX2xpbmtfcm91dGUoeGNoLT5kbW9kLCBkb21pZCwgbGluaywgaXJxKTsKIH0K IAogaW50IHhjX2h2bV9pbmplY3RfbXNpKAotICAgIHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90 IGRvbWlkLCB1aW50NjRfdCBtc2lfYWRkciwgdWludDMyX3QgbXNpX2RhdGEpCisgICAgeGNfaW50 ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWlkLCB1aW50NjRfdCBtc2lfYWRkciwgdWludDMyX3Qg bXNpX2RhdGEpCiB7CiAgICAgcmV0dXJuIHhlbmRldmljZW1vZGVsX2luamVjdF9tc2koeGNoLT5k bW9kLCBkb21pZCwgbXNpX2FkZHIsIG1zaV9kYXRhKTsKIH0KIAogaW50IHhjX2h2bV90cmFja19k aXJ0eV92cmFtKAotICAgIHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWlkLCB1aW50NjRf dCBmaXJzdF9wZm4sIHVpbnQzMl90IG5yLAorICAgIHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJf dCBkb21pZCwgdWludDY0X3QgZmlyc3RfcGZuLCB1aW50MzJfdCBuciwKICAgICB1bnNpZ25lZCBs b25nICpkaXJ0eV9iaXRtYXApCiB7CiAgICAgcmV0dXJuIHhlbmRldmljZW1vZGVsX3RyYWNrX2Rp cnR5X3ZyYW0oeGNoLT5kbW9kLCBkb21pZCwgZmlyc3RfcGZuLApAQCAtMTA3LDEzICsxMDcsMTMg QEAgaW50IHhjX2h2bV90cmFja19kaXJ0eV92cmFtKAogfQogCiBpbnQgeGNfaHZtX21vZGlmaWVk X21lbW9yeSgKLSAgICB4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBkb21pZCwgdWludDY0X3Qg Zmlyc3RfcGZuLCB1aW50MzJfdCBucikKKyAgICB4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3Qg ZG9taWQsIHVpbnQ2NF90IGZpcnN0X3BmbiwgdWludDMyX3QgbnIpCiB7CiAgICAgcmV0dXJuIHhl bmRldmljZW1vZGVsX21vZGlmaWVkX21lbW9yeSh4Y2gtPmRtb2QsIGRvbWlkLCBmaXJzdF9wZm4s IG5yKTsKIH0KIAogaW50IHhjX2h2bV9zZXRfbWVtX3R5cGUoCi0gICAgeGNfaW50ZXJmYWNlICp4 Y2gsIGRvbWlkX3QgZG9taWQsIGh2bW1lbV90eXBlX3QgdHlwZSwKKyAgICB4Y19pbnRlcmZhY2Ug KnhjaCwgdWludDMyX3QgZG9taWQsIGh2bW1lbV90eXBlX3QgdHlwZSwKICAgICB1aW50NjRfdCBm aXJzdF9wZm4sIHVpbnQzMl90IG5yKQogewogICAgIHJldHVybiB4ZW5kZXZpY2Vtb2RlbF9zZXRf bWVtX3R5cGUoeGNoLT5kbW9kLCBkb21pZCwgdHlwZSwgZmlyc3RfcGZuLApAQCAtMTIxLDcgKzEy MSw3IEBAIGludCB4Y19odm1fc2V0X21lbV90eXBlKAogfQogCiBpbnQgeGNfaHZtX2luamVjdF90 cmFwKAotICAgIHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWlkLCBpbnQgdmNwdSwgdWlu dDhfdCB2ZWN0b3IsCisgICAgeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWlkLCBpbnQg dmNwdSwgdWludDhfdCB2ZWN0b3IsCiAgICAgdWludDhfdCB0eXBlLCB1aW50MzJfdCBlcnJvcl9j b2RlLCB1aW50OF90IGluc25fbGVuLCB1aW50NjRfdCBjcjIpCiB7CiAgICAgcmV0dXJuIHhlbmRl dmljZW1vZGVsX2luamVjdF9ldmVudCh4Y2gtPmRtb2QsIGRvbWlkLCB2Y3B1LCB2ZWN0b3IsCmRp ZmYgLS1naXQgYS90b29scy9saWJ4Yy94Y19kb21fYXJtLmMgYi90b29scy9saWJ4Yy94Y19kb21f YXJtLmMKaW5kZXggOTgyMDBhZS4uN2M0OTk3YSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMveGNf ZG9tX2FybS5jCisrKyBiL3Rvb2xzL2xpYnhjL3hjX2RvbV9hcm0uYwpAQCAtMjEyLDcgKzIxMiw3 IEBAIHN0YXRpYyBpbnQgdmNwdV9hcm02NChzdHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20pCiAKIC8q IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSAqLwogCi1zdGF0aWMgaW50IHNldF9tb2RlKHhjX2ludGVyZmFjZSAq eGNoLCBkb21pZF90IGRvbWlkLCBjaGFyICpndWVzdF90eXBlKQorc3RhdGljIGludCBzZXRfbW9k ZSh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQsIGNoYXIgKmd1ZXN0X3R5cGUpCiB7 CiAgICAgc3RhdGljIGNvbnN0IHN0cnVjdCB7CiAgICAgICAgIGNoYXIgICAgICAgICAgICpndWVz dDsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hjX2RvbV9ib290LmMgYi90b29scy9saWJ4Yy94 Y19kb21fYm9vdC5jCmluZGV4IDhhMzc2ZDAuLjQwZWI1MTggMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xp YnhjL3hjX2RvbV9ib290LmMKKysrIGIvdG9vbHMvbGlieGMveGNfZG9tX2Jvb3QuYwpAQCAtMTEw LDcgKzExMCw3IEBAIGludCB4Y19kb21fY29tcGF0X2NoZWNrKHN0cnVjdCB4Y19kb21faW1hZ2Ug KmRvbSkKICAgICByZXR1cm4gZm91bmQ7CiB9CiAKLWludCB4Y19kb21fYm9vdF94ZW5faW5pdChz dHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20sIHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWlk KQoraW50IHhjX2RvbV9ib290X3hlbl9pbml0KHN0cnVjdCB4Y19kb21faW1hZ2UgKmRvbSwgeGNf aW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWlkKQogewogICAgIGRvbS0+eGNoID0geGNoOwog ICAgIGRvbS0+Z3Vlc3RfZG9taWQgPSBkb21pZDsKQEAgLTI1MCw3ICsyNTAsNyBAQCBpbnQgeGNf ZG9tX2Jvb3RfaW1hZ2Uoc3RydWN0IHhjX2RvbV9pbWFnZSAqZG9tKQogICAgIHJldHVybiByYzsK IH0KIAotc3RhdGljIHhlbl9wZm5fdCB4Y19kb21fZ250dGFiX3NldHVwKHhjX2ludGVyZmFjZSAq eGNoLCBkb21pZF90IGRvbWlkKQorc3RhdGljIHhlbl9wZm5fdCB4Y19kb21fZ250dGFiX3NldHVw KHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21pZCkKIHsKICAgICBnbnR0YWJfc2V0dXBf dGFibGVfdCBzZXR1cDsKICAgICBERUNMQVJFX0hZUEVSQ0FMTF9CVUZGRVIoeGVuX3Bmbl90LCBn bWZucCk7CkBAIC0yODIsMTEgKzI4MiwxMSBAQCBzdGF0aWMgeGVuX3Bmbl90IHhjX2RvbV9nbnR0 YWJfc2V0dXAoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9taWQpCiAgICAgcmV0dXJuIGdt Zm47CiB9CiAKLWludCB4Y19kb21fZ250dGFiX3NlZWQoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlk X3QgZG9taWQsCitpbnQgeGNfZG9tX2dudHRhYl9zZWVkKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50 MzJfdCBkb21pZCwKICAgICAgICAgICAgICAgICAgICAgICAgeGVuX3Bmbl90IGNvbnNvbGVfZ21m biwKICAgICAgICAgICAgICAgICAgICAgICAgeGVuX3Bmbl90IHhlbnN0b3JlX2dtZm4sCi0gICAg ICAgICAgICAgICAgICAgICAgIGRvbWlkX3QgY29uc29sZV9kb21pZCwKLSAgICAgICAgICAgICAg ICAgICAgICAgZG9taWRfdCB4ZW5zdG9yZV9kb21pZCkKKyAgICAgICAgICAgICAgICAgICAgICAg dWludDMyX3QgY29uc29sZV9kb21pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg eGVuc3RvcmVfZG9taWQpCiB7CiAKICAgICB4ZW5fcGZuX3QgZ250dGFiX2dtZm47CkBAIC0zMzks MTEgKzMzOSwxMSBAQCBpbnQgeGNfZG9tX2dudHRhYl9zZWVkKHhjX2ludGVyZmFjZSAqeGNoLCBk b21pZF90IGRvbWlkLAogICAgIHJldHVybiAwOwogfQogCi1pbnQgeGNfZG9tX2dudHRhYl9odm1f c2VlZCh4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBkb21pZCwKK2ludCB4Y19kb21fZ250dGFi X2h2bV9zZWVkKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21pZCwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHhlbl9wZm5fdCBjb25zb2xlX2dwZm4sCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB4ZW5fcGZuX3QgeGVuc3RvcmVfZ3BmbiwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgIGRvbWlkX3QgY29uc29sZV9kb21pZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg IGRvbWlkX3QgeGVuc3RvcmVfZG9taWQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50 MzJfdCBjb25zb2xlX2RvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg eGVuc3RvcmVfZG9taWQpCiB7CiAgICAgaW50IHJjOwogICAgIHhlbl9wZm5fdCBzY3JhdGNoX2dw Zm47CmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94Y19kb21feDg2LmMgYi90b29scy9saWJ4Yy94 Y19kb21feDg2LmMKaW5kZXggY2I2OGVmYy4uYmFjNTg0ZiAxMDA2NDQKLS0tIGEvdG9vbHMvbGli eGMveGNfZG9tX3g4Ni5jCisrKyBiL3Rvb2xzL2xpYnhjL3hjX2RvbV94ODYuYwpAQCAtMTAzMCw3 ICsxMDMwLDcgQEAgc3RhdGljIGludCB2Y3B1X2h2bShzdHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20p CiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogCi1zdGF0aWMgaW50IHg4Nl9jb21wYXQoeGNfaW50 ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9taWQsIGNoYXIgKmd1ZXN0X3R5cGUpCitzdGF0aWMgaW50 IHg4Nl9jb21wYXQoeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWlkLCBjaGFyICpndWVz dF90eXBlKQogewogICAgIHN0YXRpYyBjb25zdCBzdHJ1Y3QgewogICAgICAgICBjaGFyICAgICAg ICAgICAqZ3Vlc3Q7CmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94Y19kb21haW4uYyBiL3Rvb2xz L2xpYnhjL3hjX2RvbWFpbi5jCmluZGV4IGNjZDIwMTYuLjNjY2QyN2YgMTAwNjQ0Ci0tLSBhL3Rv b2xzL2xpYnhjL3hjX2RvbWFpbi5jCisrKyBiL3Rvb2xzL2xpYnhjL3hjX2RvbWFpbi5jCkBAIC01 Miw3ICs1Miw3IEBAIGludCB4Y19kb21haW5fY3JlYXRlKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50 MzJfdCBzc2lkcmVmLAogICAgIH0KIAogICAgIGRvbWN0bC5jbWQgPSBYRU5fRE9NQ1RMX2NyZWF0 ZWRvbWFpbjsKLSAgICBkb21jdGwuZG9tYWluID0gKGRvbWlkX3QpKnBkb21pZDsKKyAgICBkb21j dGwuZG9tYWluID0gKnBkb21pZDsKICAgICBkb21jdGwudS5jcmVhdGVkb21haW4uc3NpZHJlZiA9 IHNzaWRyZWY7CiAgICAgZG9tY3RsLnUuY3JlYXRlZG9tYWluLmZsYWdzICAgPSBmbGFnczsKICAg ICBtZW1jcHkoZG9tY3RsLnUuY3JlYXRlZG9tYWluLmhhbmRsZSwgaGFuZGxlLCBzaXplb2YoeGVu X2RvbWFpbl9oYW5kbGVfdCkpOwpAQCAtODEsNyArODEsNyBAQCBpbnQgeGNfZG9tYWluX2NhY2hl Zmx1c2goeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWlkLAogI2Vsc2UKICAgICBERUNM QVJFX0RPTUNUTDsKICAgICBkb21jdGwuY21kID0gWEVOX0RPTUNUTF9jYWNoZWZsdXNoOwotICAg IGRvbWN0bC5kb21haW4gPSAoZG9taWRfdClkb21pZDsKKyAgICBkb21jdGwuZG9tYWluID0gZG9t aWQ7CiAgICAgZG9tY3RsLnUuY2FjaGVmbHVzaC5zdGFydF9wZm4gPSBzdGFydF9wZm47CiAgICAg ZG9tY3RsLnUuY2FjaGVmbHVzaC5ucl9wZm5zID0gbnJfcGZuczsKICAgICByZXR1cm4gZG9fZG9t Y3RsKHhjaCwgJmRvbWN0bCk7CkBAIC05Myw3ICs5Myw3IEBAIGludCB4Y19kb21haW5fcGF1c2Uo eGNfaW50ZXJmYWNlICp4Y2gsCiB7CiAgICAgREVDTEFSRV9ET01DVEw7CiAgICAgZG9tY3RsLmNt ZCA9IFhFTl9ET01DVExfcGF1c2Vkb21haW47Ci0gICAgZG9tY3RsLmRvbWFpbiA9IChkb21pZF90 KWRvbWlkOworICAgIGRvbWN0bC5kb21haW4gPSBkb21pZDsKICAgICByZXR1cm4gZG9fZG9tY3Rs KHhjaCwgJmRvbWN0bCk7CiB9CiAKQEAgLTEwMyw3ICsxMDMsNyBAQCBpbnQgeGNfZG9tYWluX3Vu cGF1c2UoeGNfaW50ZXJmYWNlICp4Y2gsCiB7CiAgICAgREVDTEFSRV9ET01DVEw7CiAgICAgZG9t Y3RsLmNtZCA9IFhFTl9ET01DVExfdW5wYXVzZWRvbWFpbjsKLSAgICBkb21jdGwuZG9tYWluID0g KGRvbWlkX3QpZG9taWQ7CisgICAgZG9tY3RsLmRvbWFpbiA9IGRvbWlkOwogICAgIHJldHVybiBk b19kb21jdGwoeGNoLCAmZG9tY3RsKTsKIH0KIApAQCAtMTEzLDcgKzExMyw3IEBAIGludCB4Y19k b21haW5fZGVzdHJveSh4Y19pbnRlcmZhY2UgKnhjaCwKIHsKICAgICBERUNMQVJFX0RPTUNUTDsK ICAgICBkb21jdGwuY21kID0gWEVOX0RPTUNUTF9kZXN0cm95ZG9tYWluOwotICAgIGRvbWN0bC5k b21haW4gPSAoZG9taWRfdClkb21pZDsKKyAgICBkb21jdGwuZG9tYWluID0gZG9taWQ7CiAgICAg cmV0dXJuIGRvX2RvbWN0bCh4Y2gsICZkb21jdGwpOwogfQogCkBAIC0xNjgsNyArMTY4LDcgQEAg aW50IHhjX2RvbWFpbl9ub2RlX3NldGFmZmluaXR5KHhjX2ludGVyZmFjZSAqeGNoLAogICAgIH0K IAogICAgIGRvbWN0bC5jbWQgPSBYRU5fRE9NQ1RMX3NldG5vZGVhZmZpbml0eTsKLSAgICBkb21j dGwuZG9tYWluID0gKGRvbWlkX3QpZG9taWQ7CisgICAgZG9tY3RsLmRvbWFpbiA9IGRvbWlkOwog CiAgICAgbWVtY3B5KGxvY2FsLCBub2RlbWFwLCBub2Rlc2l6ZSk7CiAgICAgc2V0X3hlbl9ndWVz dF9oYW5kbGUoZG9tY3RsLnUubm9kZWFmZmluaXR5Lm5vZGVtYXAuYml0bWFwLCBsb2NhbCk7CkBA IC0yMDYsNyArMjA2LDcgQEAgaW50IHhjX2RvbWFpbl9ub2RlX2dldGFmZmluaXR5KHhjX2ludGVy ZmFjZSAqeGNoLAogICAgIH0KIAogICAgIGRvbWN0bC5jbWQgPSBYRU5fRE9NQ1RMX2dldG5vZGVh ZmZpbml0eTsKLSAgICBkb21jdGwuZG9tYWluID0gKGRvbWlkX3QpZG9taWQ7CisgICAgZG9tY3Rs LmRvbWFpbiA9IGRvbWlkOwogCiAgICAgc2V0X3hlbl9ndWVzdF9oYW5kbGUoZG9tY3RsLnUubm9k ZWFmZmluaXR5Lm5vZGVtYXAuYml0bWFwLCBsb2NhbCk7CiAgICAgZG9tY3RsLnUubm9kZWFmZmlu aXR5Lm5vZGVtYXAubnJfYml0cyA9IG5vZGVzaXplICogODsKQEAgLTI1NCw3ICsyNTQsNyBAQCBp bnQgeGNfdmNwdV9zZXRhZmZpbml0eSh4Y19pbnRlcmZhY2UgKnhjaCwKICAgICB9CiAKICAgICBk b21jdGwuY21kID0gWEVOX0RPTUNUTF9zZXR2Y3B1YWZmaW5pdHk7Ci0gICAgZG9tY3RsLmRvbWFp biA9IChkb21pZF90KWRvbWlkOworICAgIGRvbWN0bC5kb21haW4gPSBkb21pZDsKICAgICBkb21j dGwudS52Y3B1YWZmaW5pdHkudmNwdSA9IHZjcHU7CiAgICAgZG9tY3RsLnUudmNwdWFmZmluaXR5 LmZsYWdzID0gZmxhZ3M7CiAKQEAgLTMwNiw3ICszMDYsNyBAQCBpbnQgeGNfdmNwdV9nZXRhZmZp bml0eSh4Y19pbnRlcmZhY2UgKnhjaCwKICAgICB9CiAKICAgICBkb21jdGwuY21kID0gWEVOX0RP TUNUTF9nZXR2Y3B1YWZmaW5pdHk7Ci0gICAgZG9tY3RsLmRvbWFpbiA9IChkb21pZF90KWRvbWlk OworICAgIGRvbWN0bC5kb21haW4gPSBkb21pZDsKICAgICBkb21jdGwudS52Y3B1YWZmaW5pdHku dmNwdSA9IHZjcHU7CiAgICAgZG9tY3RsLnUudmNwdWFmZmluaXR5LmZsYWdzID0gZmxhZ3M7CiAK QEAgLTM0NSw4ICszNDUsOCBAQCBpbnQgeGNfZG9tYWluX2dldF9ndWVzdF93aWR0aCh4Y19pbnRl cmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQsCiAKIGludCB4Y19kb21fdnVhcnRfaW5pdCh4Y19p bnRlcmZhY2UgKnhjaCwKICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB0eXBlLAotICAg ICAgICAgICAgICAgICAgICAgIGRvbWlkX3QgZG9taWQsCi0gICAgICAgICAgICAgICAgICAgICAg ZG9taWRfdCBjb25zb2xlX2RvbWlkLAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRv bWlkLAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbnNvbGVfZG9taWQsCiAgICAg ICAgICAgICAgICAgICAgICAgeGVuX3Bmbl90IGdmbiwKICAgICAgICAgICAgICAgICAgICAgICBl dnRjaG5fcG9ydF90ICpldnRjaG4pCiB7CkBAIC0zODUsMTAgKzM4NSwxMCBAQCBpbnQgeGNfZG9t YWluX2dldGluZm8oeGNfaW50ZXJmYWNlICp4Y2gsCiAgICAgZm9yICggbnJfZG9tcyA9IDA7IG5y X2RvbXMgPCBtYXhfZG9tczsgbnJfZG9tcysrICkKICAgICB7CiAgICAgICAgIGRvbWN0bC5jbWQg PSBYRU5fRE9NQ1RMX2dldGRvbWFpbmluZm87Ci0gICAgICAgIGRvbWN0bC5kb21haW4gPSAoZG9t aWRfdCluZXh0X2RvbWlkOworICAgICAgICBkb21jdGwuZG9tYWluID0gbmV4dF9kb21pZDsKICAg ICAgICAgaWYgKCAocmMgPSBkb19kb21jdGwoeGNoLCAmZG9tY3RsKSkgPCAwICkKICAgICAgICAg ICAgIGJyZWFrOwotICAgICAgICBpbmZvLT5kb21pZCAgICAgID0gKHVpbnQxNl90KWRvbWN0bC5k b21haW47CisgICAgICAgIGluZm8tPmRvbWlkICAgICAgPSBkb21jdGwuZG9tYWluOwogCiAgICAg ICAgIGluZm8tPmR5aW5nICAgID0gISEoZG9tY3RsLnUuZ2V0ZG9tYWluaW5mby5mbGFncyZYRU5f RE9NSU5GX2R5aW5nKTsKICAgICAgICAgaW5mby0+c2h1dGRvd24gPSAhIShkb21jdGwudS5nZXRk b21haW5pbmZvLmZsYWdzJlhFTl9ET01JTkZfc2h1dGRvd24pOwpAQCAtNDcxLDcgKzQ3MSw3IEBA IGludCB4Y19zZXRfYnJva2VuX3BhZ2VfcDJtKHhjX2ludGVyZmFjZSAqeGNoLAogICAgIERFQ0xB UkVfRE9NQ1RMOwogCiAgICAgZG9tY3RsLmNtZCA9IFhFTl9ET01DVExfc2V0X2Jyb2tlbl9wYWdl X3AybTsKLSAgICBkb21jdGwuZG9tYWluID0gKGRvbWlkX3QpZG9taWQ7CisgICAgZG9tY3RsLmRv bWFpbiA9IGRvbWlkOwogICAgIGRvbWN0bC51LnNldF9icm9rZW5fcGFnZV9wMm0ucGZuID0gcGZu OwogICAgIHJldCA9IGRvX2RvbWN0bCh4Y2gsICZkb21jdGwpOwogCkBAIC00OTIsNyArNDkyLDcg QEAgaW50IHhjX2RvbWFpbl9odm1fZ2V0Y29udGV4dCh4Y19pbnRlcmZhY2UgKnhjaCwKICAgICAg ICAgcmV0dXJuIC0xOwogCiAgICAgZG9tY3RsLmNtZCA9IFhFTl9ET01DVExfZ2V0aHZtY29udGV4 dDsKLSAgICBkb21jdGwuZG9tYWluID0gKGRvbWlkX3QpZG9taWQ7CisgICAgZG9tY3RsLmRvbWFp biA9IGRvbWlkOwogICAgIGRvbWN0bC51Lmh2bWNvbnRleHQuc2l6ZSA9IHNpemU7CiAgICAgc2V0 X3hlbl9ndWVzdF9oYW5kbGUoZG9tY3RsLnUuaHZtY29udGV4dC5idWZmZXIsIGN0eHRfYnVmKTsK IApAQCAtNTIwLDcgKzUyMCw3IEBAIGludCB4Y19kb21haW5faHZtX2dldGNvbnRleHRfcGFydGlh bCh4Y19pbnRlcmZhY2UgKnhjaCwKICAgICAgICAgcmV0dXJuIC0xOwogCiAgICAgZG9tY3RsLmNt ZCA9IFhFTl9ET01DVExfZ2V0aHZtY29udGV4dF9wYXJ0aWFsOwotICAgIGRvbWN0bC5kb21haW4g PSAoZG9taWRfdCkgZG9taWQ7CisgICAgZG9tY3RsLmRvbWFpbiA9IGRvbWlkOwogICAgIGRvbWN0 bC51Lmh2bWNvbnRleHRfcGFydGlhbC50eXBlID0gdHlwZWNvZGU7CiAgICAgZG9tY3RsLnUuaHZt Y29udGV4dF9wYXJ0aWFsLmluc3RhbmNlID0gaW5zdGFuY2U7CiAgICAgZG9tY3RsLnUuaHZtY29u dGV4dF9wYXJ0aWFsLmJ1ZnN6ID0gc2l6ZTsKQEAgLTU3MSw3ICs1NzEsNyBAQCBpbnQgeGNfdmNw dV9nZXRjb250ZXh0KHhjX2ludGVyZmFjZSAqeGNoLAogICAgICAgICByZXR1cm4gLTE7CiAKICAg ICBkb21jdGwuY21kID0gWEVOX0RPTUNUTF9nZXR2Y3B1Y29udGV4dDsKLSAgICBkb21jdGwuZG9t YWluID0gKGRvbWlkX3QpZG9taWQ7CisgICAgZG9tY3RsLmRvbWFpbiA9IGRvbWlkOwogICAgIGRv bWN0bC51LnZjcHVjb250ZXh0LnZjcHUgICA9ICh1aW50MTZfdCl2Y3B1OwogICAgIHNldF94ZW5f Z3Vlc3RfaGFuZGxlKGRvbWN0bC51LnZjcHVjb250ZXh0LmN0eHQsIGN0eHQpOwogCkBAIC01OTcs NyArNTk3LDcgQEAgaW50IHhjX3ZjcHVfZ2V0X2V4dHN0YXRlKHhjX2ludGVyZmFjZSAqeGNoLAog ICAgICAgICByZXR1cm4gLUVJTlZBTDsKIAogICAgIGRvbWN0bC5jbWQgPSBYRU5fRE9NQ1RMX2dl dHZjcHVleHRzdGF0ZTsKLSAgICBkb21jdGwuZG9tYWluID0gKGRvbWlkX3QpZG9taWQ7CisgICAg ZG9tY3RsLmRvbWFpbiA9IGRvbWlkOwogICAgIGRvbWN0bC51LnZjcHVleHRzdGF0ZS52Y3B1ID0g KHVpbnQxNl90KXZjcHU7CiAgICAgZG9tY3RsLnUudmNwdWV4dHN0YXRlLnhmZWF0dXJlX21hc2sg PSBleHRzdGF0ZS0+eGZlYXR1cmVfbWFzazsKICAgICBkb21jdGwudS52Y3B1ZXh0c3RhdGUuc2l6 ZSA9IGV4dHN0YXRlLT5zaXplOwpAQCAtNjg3LDcgKzY4Nyw3IEBAIGludCB4Y19zaGFkb3dfY29u dHJvbCh4Y19pbnRlcmZhY2UgKnhjaCwKICAgICBtZW1zZXQoJmRvbWN0bCwgMCwgc2l6ZW9mKGRv bWN0bCkpOwogCiAgICAgZG9tY3RsLmNtZCA9IFhFTl9ET01DVExfc2hhZG93X29wOwotICAgIGRv bWN0bC5kb21haW4gPSAoZG9taWRfdClkb21pZDsKKyAgICBkb21jdGwuZG9tYWluID0gZG9taWQ7 CiAgICAgZG9tY3RsLnUuc2hhZG93X29wLm9wICAgICA9IHNvcDsKICAgICBkb21jdGwudS5zaGFk b3dfb3AucGFnZXMgID0gcGFnZXM7CiAgICAgZG9tY3RsLnUuc2hhZG93X29wLm1iICAgICA9IG1i ID8gKm1iIDogMDsKQEAgLTcxNCw3ICs3MTQsNyBAQCBpbnQgeGNfZG9tYWluX3NldG1heG1lbSh4 Y19pbnRlcmZhY2UgKnhjaCwKIHsKICAgICBERUNMQVJFX0RPTUNUTDsKICAgICBkb21jdGwuY21k ID0gWEVOX0RPTUNUTF9tYXhfbWVtOwotICAgIGRvbWN0bC5kb21haW4gPSAoZG9taWRfdClkb21p ZDsKKyAgICBkb21jdGwuZG9tYWluID0gZG9taWQ7CiAgICAgZG9tY3RsLnUubWF4X21lbS5tYXhf bWVta2IgPSBtYXhfbWVta2I7CiAgICAgcmV0dXJuIGRvX2RvbWN0bCh4Y2gsICZkb21jdGwpOwog fQpAQCAtNzI3LDcgKzcyNyw3IEBAIGludCB4Y19kb21haW5fcGluX21lbW9yeV9jYWNoZWF0dHIo eGNfaW50ZXJmYWNlICp4Y2gsCiB7CiAgICAgREVDTEFSRV9ET01DVEw7CiAgICAgZG9tY3RsLmNt ZCA9IFhFTl9ET01DVExfcGluX21lbV9jYWNoZWF0dHI7Ci0gICAgZG9tY3RsLmRvbWFpbiA9IChk b21pZF90KWRvbWlkOworICAgIGRvbWN0bC5kb21haW4gPSBkb21pZDsKICAgICBkb21jdGwudS5w aW5fbWVtX2NhY2hlYXR0ci5zdGFydCA9IHN0YXJ0OwogICAgIGRvbWN0bC51LnBpbl9tZW1fY2Fj aGVhdHRyLmVuZCA9IGVuZDsKICAgICBkb21jdGwudS5waW5fbWVtX2NhY2hlYXR0ci50eXBlID0g dHlwZTsKQEAgLTg0Nyw3ICs4NDcsNyBAQCBpbnQgeGNfZG9tYWluX3NldF90aW1lX29mZnNldCh4 Y19pbnRlcmZhY2UgKnhjaCwKIHsKICAgICBERUNMQVJFX0RPTUNUTDsKICAgICBkb21jdGwuY21k ID0gWEVOX0RPTUNUTF9zZXR0aW1lb2Zmc2V0OwotICAgIGRvbWN0bC5kb21haW4gPSAoZG9taWRf dClkb21pZDsKKyAgICBkb21jdGwuZG9tYWluID0gZG9taWQ7CiAgICAgZG9tY3RsLnUuc2V0dGlt ZW9mZnNldC50aW1lX29mZnNldF9zZWNvbmRzID0gdGltZV9vZmZzZXRfc2Vjb25kczsKICAgICBy ZXR1cm4gZG9fZG9tY3RsKHhjaCwgJmRvbWN0bCk7CiB9CkBAIC04NTYsNyArODU2LDcgQEAgaW50 IHhjX2RvbWFpbl9kaXNhYmxlX21pZ3JhdGUoeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRv bWlkKQogewogICAgIERFQ0xBUkVfRE9NQ1RMOwogICAgIGRvbWN0bC5jbWQgPSBYRU5fRE9NQ1RM X2Rpc2FibGVfbWlncmF0ZTsKLSAgICBkb21jdGwuZG9tYWluID0gKGRvbWlkX3QpZG9taWQ7Cisg ICAgZG9tY3RsLmRvbWFpbiA9IGRvbWlkOwogICAgIGRvbWN0bC51LmRpc2FibGVfbWlncmF0ZS5k aXNhYmxlID0gMTsKICAgICByZXR1cm4gZG9fZG9tY3RsKHhjaCwgJmRvbWN0bCk7CiB9CkBAIC04 NzAsNyArODcwLDcgQEAgaW50IHhjX2RvbWFpbl9zZXRfdHNjX2luZm8oeGNfaW50ZXJmYWNlICp4 Y2gsCiB7CiAgICAgREVDTEFSRV9ET01DVEw7CiAgICAgZG9tY3RsLmNtZCA9IFhFTl9ET01DVExf c2V0dHNjaW5mbzsKLSAgICBkb21jdGwuZG9tYWluID0gKGRvbWlkX3QpZG9taWQ7CisgICAgZG9t Y3RsLmRvbWFpbiA9IGRvbWlkOwogICAgIGRvbWN0bC51LnRzY19pbmZvLnRzY19tb2RlID0gdHNj X21vZGU7CiAgICAgZG9tY3RsLnUudHNjX2luZm8uZWxhcHNlZF9uc2VjID0gZWxhcHNlZF9uc2Vj OwogICAgIGRvbWN0bC51LnRzY19pbmZvLmd0c2Nfa2h6ID0gZ3RzY19raHo7CkBAIC04ODksNyAr ODg5LDcgQEAgaW50IHhjX2RvbWFpbl9nZXRfdHNjX2luZm8oeGNfaW50ZXJmYWNlICp4Y2gsCiAg ICAgREVDTEFSRV9ET01DVEw7CiAKICAgICBkb21jdGwuY21kID0gWEVOX0RPTUNUTF9nZXR0c2Np bmZvOwotICAgIGRvbWN0bC5kb21haW4gPSAoZG9taWRfdClkb21pZDsKKyAgICBkb21jdGwuZG9t YWluID0gZG9taWQ7CiAgICAgcmMgPSBkb19kb21jdGwoeGNoLCAmZG9tY3RsKTsKICAgICBpZiAo IHJjID09IDAgKQogICAgIHsKQEAgLTkwMiw3ICs5MDIsNyBAQCBpbnQgeGNfZG9tYWluX2dldF90 c2NfaW5mbyh4Y19pbnRlcmZhY2UgKnhjaCwKIH0KIAogCi1pbnQgeGNfZG9tYWluX21heGltdW1f Z3Bmbih4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBkb21pZCwgeGVuX3Bmbl90ICpncGZucykK K2ludCB4Y19kb21haW5fbWF4aW11bV9ncGZuKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBk b21pZCwgeGVuX3Bmbl90ICpncGZucykKIHsKICAgICBsb25nIHJjID0gZG9fbWVtb3J5X29wKHhj aCwgWEVOTUVNX21heGltdW1fZ3BmbiwgJmRvbWlkLCBzaXplb2YoZG9taWQpKTsKIApAQCAtOTE0 LDcgKzkxNCw3IEBAIGludCB4Y19kb21haW5fbWF4aW11bV9ncGZuKHhjX2ludGVyZmFjZSAqeGNo LCBkb21pZF90IGRvbWlkLCB4ZW5fcGZuX3QgKmdwZm5zKQogICAgIHJldHVybiByYzsKIH0KIAot aW50IHhjX2RvbWFpbl9ucl9ncGZucyh4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBkb21pZCwg eGVuX3Bmbl90ICpncGZucykKK2ludCB4Y19kb21haW5fbnJfZ3BmbnMoeGNfaW50ZXJmYWNlICp4 Y2gsIHVpbnQzMl90IGRvbWlkLCB4ZW5fcGZuX3QgKmdwZm5zKQogewogICAgIGludCByYyA9IHhj X2RvbWFpbl9tYXhpbXVtX2dwZm4oeGNoLCBkb21pZCwgZ3BmbnMpOwogCkBAIC0xMDYwLDggKzEw NjAsOCBAQCBpbnQgeGNfZG9tYWluX2FkZF90b19waHlzbWFwKHhjX2ludGVyZmFjZSAqeGNoLAog fQogCiBpbnQgeGNfZG9tYWluX2FkZF90b19waHlzbWFwX2JhdGNoKHhjX2ludGVyZmFjZSAqeGNo LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21pZF90IGRvbWlkLAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21pZF90IGZvcmVpZ25fZG9taWQsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBmb3JlaWduX2RvbWlkLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgc3BhY2UsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBzaXplLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4ZW5fdWxvbmdfdCAqaWR4cywKQEAgLTExODAs NyArMTE4MCw3IEBAIGludCB4Y19kb21haW5fcG9wdWxhdGVfcGh5c21hcF9leGFjdCh4Y19pbnRl cmZhY2UgKnhjaCwKIH0KIAogaW50IHhjX2RvbWFpbl9tZW1vcnlfZXhjaGFuZ2VfcGFnZXMoeGNf aW50ZXJmYWNlICp4Y2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg ZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkb21p ZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbnJf aW5fZXh0ZW50cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk IGludCBpbl9vcmRlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhlbl9w Zm5fdCAqaW5fZXh0ZW50cywKQEAgLTEzMjIsNyArMTMyMiw3IEBAIGludCB4Y19kb21haW5fbWF4 X3ZjcHVzKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21pZCwgdW5zaWduZWQgaW50IG1h eCkKIHsKICAgICBERUNMQVJFX0RPTUNUTDsKICAgICBkb21jdGwuY21kID0gWEVOX0RPTUNUTF9t YXhfdmNwdXM7Ci0gICAgZG9tY3RsLmRvbWFpbiA9IChkb21pZF90KWRvbWlkOworICAgIGRvbWN0 bC5kb21haW4gPSBkb21pZDsKICAgICBkb21jdGwudS5tYXhfdmNwdXMubWF4ICAgID0gbWF4Owog ICAgIHJldHVybiBkb19kb21jdGwoeGNoLCAmZG9tY3RsKTsKIH0KQEAgLTEzMzIsNyArMTMzMiw3 IEBAIGludCB4Y19kb21haW5fc2V0aGFuZGxlKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBk b21pZCwKIHsKICAgICBERUNMQVJFX0RPTUNUTDsKICAgICBkb21jdGwuY21kID0gWEVOX0RPTUNU TF9zZXRkb21haW5oYW5kbGU7Ci0gICAgZG9tY3RsLmRvbWFpbiA9IChkb21pZF90KWRvbWlkOwor ICAgIGRvbWN0bC5kb21haW4gPSBkb21pZDsKICAgICBtZW1jcHkoZG9tY3RsLnUuc2V0ZG9tYWlu aGFuZGxlLmhhbmRsZSwgaGFuZGxlLAogICAgICAgICAgICBzaXplb2YoeGVuX2RvbWFpbl9oYW5k bGVfdCkpOwogICAgIHJldHVybiBkb19kb21jdGwoeGNoLCAmZG9tY3RsKTsKQEAgLTEzNDcsNyAr MTM0Nyw3IEBAIGludCB4Y192Y3B1X2dldGluZm8oeGNfaW50ZXJmYWNlICp4Y2gsCiAgICAgREVD TEFSRV9ET01DVEw7CiAKICAgICBkb21jdGwuY21kID0gWEVOX0RPTUNUTF9nZXR2Y3B1aW5mbzsK LSAgICBkb21jdGwuZG9tYWluID0gKGRvbWlkX3QpZG9taWQ7CisgICAgZG9tY3RsLmRvbWFpbiA9 IGRvbWlkOwogICAgIGRvbWN0bC51LmdldHZjcHVpbmZvLnZjcHUgICA9ICh1aW50MTZfdCl2Y3B1 OwogCiAgICAgcmMgPSBkb19kb21jdGwoeGNoLCAmZG9tY3RsKTsKQEAgLTEzNjYsNyArMTM2Niw3 IEBAIGludCB4Y19kb21haW5faW9wb3J0X3Blcm1pc3Npb24oeGNfaW50ZXJmYWNlICp4Y2gsCiAg ICAgREVDTEFSRV9ET01DVEw7CiAKICAgICBkb21jdGwuY21kID0gWEVOX0RPTUNUTF9pb3BvcnRf cGVybWlzc2lvbjsKLSAgICBkb21jdGwuZG9tYWluID0gKGRvbWlkX3QpZG9taWQ7CisgICAgZG9t Y3RsLmRvbWFpbiA9IGRvbWlkOwogICAgIGRvbWN0bC51LmlvcG9ydF9wZXJtaXNzaW9uLmZpcnN0 X3BvcnQgPSBmaXJzdF9wb3J0OwogICAgIGRvbWN0bC51LmlvcG9ydF9wZXJtaXNzaW9uLm5yX3Bv cnRzID0gbnJfcG9ydHM7CiAgICAgZG9tY3RsLnUuaW9wb3J0X3Blcm1pc3Npb24uYWxsb3dfYWNj ZXNzID0gYWxsb3dfYWNjZXNzOwpAQCAtMTQ4NCw3ICsxNDg0LDcgQEAgc3RhdGljIGlubGluZSBp bnQgeGNfaHZtX3BhcmFtX2RlcHJlY2F0ZWRfY2hlY2sodWludDMyX3QgcGFyYW0pCiAgICAgcmV0 dXJuIDA7CiB9CiAKLWludCB4Y19odm1fcGFyYW1fc2V0KHhjX2ludGVyZmFjZSAqaGFuZGxlLCBk b21pZF90IGRvbSwgdWludDMyX3QgcGFyYW0sIHVpbnQ2NF90IHZhbHVlKQoraW50IHhjX2h2bV9w YXJhbV9zZXQoeGNfaW50ZXJmYWNlICpoYW5kbGUsIHVpbnQzMl90IGRvbSwgdWludDMyX3QgcGFy YW0sIHVpbnQ2NF90IHZhbHVlKQogewogICAgIERFQ0xBUkVfSFlQRVJDQUxMX0JVRkZFUih4ZW5f aHZtX3BhcmFtX3QsIGFyZyk7CiAgICAgaW50IHJjID0geGNfaHZtX3BhcmFtX2RlcHJlY2F0ZWRf Y2hlY2socGFyYW0pOwpAQCAtMTUwNiw3ICsxNTA2LDcgQEAgaW50IHhjX2h2bV9wYXJhbV9zZXQo eGNfaW50ZXJmYWNlICpoYW5kbGUsIGRvbWlkX3QgZG9tLCB1aW50MzJfdCBwYXJhbSwgdWludDY0 X3QKICAgICByZXR1cm4gcmM7CiB9CiAKLWludCB4Y19odm1fcGFyYW1fZ2V0KHhjX2ludGVyZmFj ZSAqaGFuZGxlLCBkb21pZF90IGRvbSwgdWludDMyX3QgcGFyYW0sIHVpbnQ2NF90ICp2YWx1ZSkK K2ludCB4Y19odm1fcGFyYW1fZ2V0KHhjX2ludGVyZmFjZSAqaGFuZGxlLCB1aW50MzJfdCBkb20s IHVpbnQzMl90IHBhcmFtLCB1aW50NjRfdCAqdmFsdWUpCiB7CiAgICAgREVDTEFSRV9IWVBFUkNB TExfQlVGRkVSKHhlbl9odm1fcGFyYW1fdCwgYXJnKTsKICAgICBpbnQgcmMgPSB4Y19odm1fcGFy YW1fZGVwcmVjYXRlZF9jaGVjayhwYXJhbSk7CkBAIC0xNTI4LDEyICsxNTI4LDEyIEBAIGludCB4 Y19odm1fcGFyYW1fZ2V0KHhjX2ludGVyZmFjZSAqaGFuZGxlLCBkb21pZF90IGRvbSwgdWludDMy X3QgcGFyYW0sIHVpbnQ2NF90CiAgICAgcmV0dXJuIHJjOwogfQogCi1pbnQgeGNfc2V0X2h2bV9w YXJhbSh4Y19pbnRlcmZhY2UgKmhhbmRsZSwgZG9taWRfdCBkb20sIGludCBwYXJhbSwgdW5zaWdu ZWQgbG9uZyB2YWx1ZSkKK2ludCB4Y19zZXRfaHZtX3BhcmFtKHhjX2ludGVyZmFjZSAqaGFuZGxl LCB1aW50MzJfdCBkb20sIGludCBwYXJhbSwgdW5zaWduZWQgbG9uZyB2YWx1ZSkKIHsKICAgICBy ZXR1cm4geGNfaHZtX3BhcmFtX3NldChoYW5kbGUsIGRvbSwgcGFyYW0sIHZhbHVlKTsKIH0KIAot aW50IHhjX2dldF9odm1fcGFyYW0oeGNfaW50ZXJmYWNlICpoYW5kbGUsIGRvbWlkX3QgZG9tLCBp bnQgcGFyYW0sIHVuc2lnbmVkIGxvbmcgKnZhbHVlKQoraW50IHhjX2dldF9odm1fcGFyYW0oeGNf aW50ZXJmYWNlICpoYW5kbGUsIHVpbnQzMl90IGRvbSwgaW50IHBhcmFtLCB1bnNpZ25lZCBsb25n ICp2YWx1ZSkKIHsKICAgICB1aW50NjRfdCB2OwogICAgIGludCByZXQ7CkBAIC0xNTkzLDcgKzE1 OTMsNyBAQCBpbnQgeGNfZ2V0X2RldmljZV9ncm91cCgKICAgICB9CiAKICAgICBkb21jdGwuY21k ID0gWEVOX0RPTUNUTF9nZXRfZGV2aWNlX2dyb3VwOwotICAgIGRvbWN0bC5kb21haW4gPSAoZG9t aWRfdClkb21pZDsKKyAgICBkb21jdGwuZG9tYWluID0gZG9taWQ7CiAKICAgICBkb21jdGwudS5n ZXRfZGV2aWNlX2dyb3VwLm1hY2hpbmVfc2JkZiA9IG1hY2hpbmVfc2JkZjsKICAgICBkb21jdGwu dS5nZXRfZGV2aWNlX2dyb3VwLm1heF9zZGV2cyA9IG1heF9zZGV2czsKQEAgLTE2NTUsNyArMTY1 NSw3IEBAIGludCB4Y19hc3NpZ25fZHRfZGV2aWNlKAogICAgICAgICByZXR1cm4gLTE7CiAKICAg ICBkb21jdGwuY21kID0gWEVOX0RPTUNUTF9hc3NpZ25fZGV2aWNlOwotICAgIGRvbWN0bC5kb21h aW4gPSAoZG9taWRfdClkb21pZDsKKyAgICBkb21jdGwuZG9tYWluID0gZG9taWQ7CiAKICAgICBk b21jdGwudS5hc3NpZ25fZGV2aWNlLmRldiA9IFhFTl9ET01DVExfREVWX0RUOwogICAgIGRvbWN0 bC51LmFzc2lnbl9kZXZpY2UudS5kdC5zaXplID0gc2l6ZTsKQEAgLTE2ODcsNyArMTY4Nyw3IEBA IGludCB4Y190ZXN0X2Fzc2lnbl9kdF9kZXZpY2UoCiAgICAgICAgIHJldHVybiAtMTsKIAogICAg IGRvbWN0bC5jbWQgPSBYRU5fRE9NQ1RMX3Rlc3RfYXNzaWduX2RldmljZTsKLSAgICBkb21jdGwu ZG9tYWluID0gKGRvbWlkX3QpZG9taWQ7CisgICAgZG9tY3RsLmRvbWFpbiA9IGRvbWlkOwogCiAg ICAgZG9tY3RsLnUuYXNzaWduX2RldmljZS5kZXYgPSBYRU5fRE9NQ1RMX0RFVl9EVDsKICAgICBk b21jdGwudS5hc3NpZ25fZGV2aWNlLnUuZHQuc2l6ZSA9IHNpemU7CkBAIC0xNzE1LDcgKzE3MTUs NyBAQCBpbnQgeGNfZGVhc3NpZ25fZHRfZGV2aWNlKAogICAgICAgICByZXR1cm4gLTE7CiAKICAg ICBkb21jdGwuY21kID0gWEVOX0RPTUNUTF9kZWFzc2lnbl9kZXZpY2U7Ci0gICAgZG9tY3RsLmRv bWFpbiA9IChkb21pZF90KWRvbWlkOworICAgIGRvbWN0bC5kb21haW4gPSBkb21pZDsKIAogICAg IGRvbWN0bC51LmFzc2lnbl9kZXZpY2UuZGV2ID0gWEVOX0RPTUNUTF9ERVZfRFQ7CiAgICAgZG9t Y3RsLnUuYXNzaWduX2RldmljZS51LmR0LnNpemUgPSBzaXplOwpAQCAtMTc0NSw3ICsxNzQ1LDcg QEAgaW50IHhjX2RvbWFpbl91cGRhdGVfbXNpX2lycSgKICAgICBERUNMQVJFX0RPTUNUTDsKIAog ICAgIGRvbWN0bC5jbWQgPSBYRU5fRE9NQ1RMX2JpbmRfcHRfaXJxOwotICAgIGRvbWN0bC5kb21h aW4gPSAoZG9taWRfdClkb21pZDsKKyAgICBkb21jdGwuZG9tYWluID0gZG9taWQ7CiAKICAgICBi aW5kID0gJihkb21jdGwudS5iaW5kX3B0X2lycSk7CiAgICAgYmluZC0+aXJxX3R5cGUgPSBQVF9J UlFfVFlQRV9NU0k7CkBAIC0xNzcwLDcgKzE3NzAsNyBAQCBpbnQgeGNfZG9tYWluX3VuYmluZF9t c2lfaXJxKAogICAgIERFQ0xBUkVfRE9NQ1RMOwogCiAgICAgZG9tY3RsLmNtZCA9IFhFTl9ET01D VExfdW5iaW5kX3B0X2lycTsKLSAgICBkb21jdGwuZG9tYWluID0gKGRvbWlkX3QpZG9taWQ7Cisg ICAgZG9tY3RsLmRvbWFpbiA9IGRvbWlkOwogCiAgICAgYmluZCA9ICYoZG9tY3RsLnUuYmluZF9w dF9pcnEpOwogICAgIGJpbmQtPmlycV90eXBlID0gUFRfSVJRX1RZUEVfTVNJOwpAQCAtMTc5OSw3 ICsxNzk5LDcgQEAgc3RhdGljIGludCB4Y19kb21haW5fYmluZF9wdF9pcnFfaW50KAogICAgIERF Q0xBUkVfRE9NQ1RMOwogCiAgICAgZG9tY3RsLmNtZCA9IFhFTl9ET01DVExfYmluZF9wdF9pcnE7 Ci0gICAgZG9tY3RsLmRvbWFpbiA9IChkb21pZF90KWRvbWlkOworICAgIGRvbWN0bC5kb21haW4g PSBkb21pZDsKIAogICAgIGJpbmQgPSAmKGRvbWN0bC51LmJpbmRfcHRfaXJxKTsKICAgICBiaW5k LT5pcnFfdHlwZSA9IGlycV90eXBlOwpAQCAtMTg1Nyw3ICsxODU3LDcgQEAgc3RhdGljIGludCB4 Y19kb21haW5fdW5iaW5kX3B0X2lycV9pbnQoCiAgICAgREVDTEFSRV9ET01DVEw7CiAKICAgICBk b21jdGwuY21kID0gWEVOX0RPTUNUTF91bmJpbmRfcHRfaXJxOwotICAgIGRvbWN0bC5kb21haW4g PSAoZG9taWRfdClkb21pZDsKKyAgICBkb21jdGwuZG9tYWluID0gZG9taWQ7CiAKICAgICBiaW5k ID0gJihkb21jdGwudS5iaW5kX3B0X2lycSk7CiAgICAgYmluZC0+aXJxX3R5cGUgPSBpcnFfdHlw ZTsKQEAgLTE5NTUsNyArMTk1NSw3IEBAIGludCB4Y191bm1hcF9kb21haW5fbWVtaW5mbyh4Y19p bnRlcmZhY2UgKnhjaCwgc3RydWN0IHhjX2RvbWFpbl9tZW1pbmZvICptaW5mbykKICAgICByZXR1 cm4gMDsKIH0KIAotaW50IHhjX21hcF9kb21haW5fbWVtaW5mbyh4Y19pbnRlcmZhY2UgKnhjaCwg aW50IGRvbWlkLAoraW50IHhjX21hcF9kb21haW5fbWVtaW5mbyh4Y19pbnRlcmZhY2UgKnhjaCwg dWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4Y19kb21h aW5fbWVtaW5mbyAqbWluZm8pCiB7CiAgICAgc3RydWN0IGRvbWFpbl9pbmZvX2NvbnRleHQgX2Rp OwpAQCAtMjE3NSw3ICsyMTc1LDcgQEAgaW50IHhjX2RvbWFpbl9zZXRfdGFyZ2V0KAogfQogCiBp bnQgeGNfZG9tYWluX3N1YnNjcmliZV9mb3Jfc3VzcGVuZCgKLSAgICB4Y19pbnRlcmZhY2UgKnhj aCwgZG9taWRfdCBkb20sIGV2dGNobl9wb3J0X3QgcG9ydCkKKyAgICB4Y19pbnRlcmZhY2UgKnhj aCwgdWludDMyX3QgZG9tLCBldnRjaG5fcG9ydF90IHBvcnQpCiB7CiAgICAgREVDTEFSRV9ET01D VEw7CiAKQEAgLTIyMzIsNyArMjIzMiw3IEBAIGludCB4Y19kb21haW5fZGVidWdfY29udHJvbCh4 Y19pbnRlcmZhY2UgKnhjLCB1aW50MzJfdCBkb21pZCwgdWludDMyX3Qgc29wLCB1aW50CiAgICAg REVDTEFSRV9ET01DVEw7CiAKICAgICBtZW1zZXQoJmRvbWN0bCwgMCwgc2l6ZW9mKGRvbWN0bCkp OwotICAgIGRvbWN0bC5kb21haW4gPSAoZG9taWRfdClkb21pZDsKKyAgICBkb21jdGwuZG9tYWlu ID0gZG9taWQ7CiAgICAgZG9tY3RsLmNtZCA9IFhFTl9ET01DVExfZGVidWdfb3A7CiAgICAgZG9t Y3RsLnUuZGVidWdfb3Aub3AgICAgID0gc29wOwogICAgIGRvbWN0bC51LmRlYnVnX29wLnZjcHUg ICA9IHZjcHU7CkBAIC0yMjkzLDcgKzIyOTMsNyBAQCBpbnQgeGNfZG9tYWluX3NldF9tYXhfZXZ0 Y2huKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21pZCwKICAgICByZXR1cm4gZG9fZG9t Y3RsKHhjaCwgJmRvbWN0bCk7CiB9CiAKLWludCB4Y19kb21haW5fc2V0X2dudHRhYl9saW1pdHMo eGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9taWQsCitpbnQgeGNfZG9tYWluX3NldF9nbnR0 YWJfbGltaXRzKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21pZCwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZ3JhbnRfZnJhbWVzLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtYXB0cmFja19mcmFtZXMpCiB7CkBAIC0yMzU2 LDcgKzIzNTYsNyBAQCBpbnQgeGNfZG9tYWluX3NldHZudW1hKHhjX2ludGVyZmFjZSAqeGNoLAog ICAgIHNldF94ZW5fZ3Vlc3RfaGFuZGxlKGRvbWN0bC51LnZudW1hLnZub2RlX3RvX3Bub2RlLCB2 bm9kZV90b19wbm9kZSk7CiAKICAgICBkb21jdGwuY21kID0gWEVOX0RPTUNUTF9zZXR2bnVtYWlu Zm87Ci0gICAgZG9tY3RsLmRvbWFpbiA9IChkb21pZF90KWRvbWlkOworICAgIGRvbWN0bC5kb21h aW4gPSBkb21pZDsKICAgICBkb21jdGwudS52bnVtYS5ucl92bm9kZXMgPSBucl92bm9kZXM7CiAg ICAgZG9tY3RsLnUudm51bWEubnJfdm1lbXJhbmdlcyA9IG5yX3ZtZW1yYW5nZXM7CiAgICAgZG9t Y3RsLnUudm51bWEubnJfdmNwdXMgPSBucl92Y3B1czsKQEAgLTI0MzIsNyArMjQzMiw3IEBAIGlu dCB4Y19kb21haW5fc29mdF9yZXNldCh4Y19pbnRlcmZhY2UgKnhjaCwKIHsKICAgICBERUNMQVJF X0RPTUNUTDsKICAgICBkb21jdGwuY21kID0gWEVOX0RPTUNUTF9zb2Z0X3Jlc2V0OwotICAgIGRv bWN0bC5kb21haW4gPSAoZG9taWRfdClkb21pZDsKKyAgICBkb21jdGwuZG9tYWluID0gZG9taWQ7 CiAgICAgcmV0dXJuIGRvX2RvbWN0bCh4Y2gsICZkb21jdGwpOwogfQogLyoKZGlmZiAtLWdpdCBh L3Rvb2xzL2xpYnhjL3hjX2V2dGNobi5jIGIvdG9vbHMvbGlieGMveGNfZXZ0Y2huLmMKaW5kZXgg OGQ0ZmNjMS4uNjE0Nzg2ZCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMveGNfZXZ0Y2huLmMKKysr IGIvdG9vbHMvbGlieGMveGNfZXZ0Y2huLmMKQEAgLTUwLDggKzUwLDggQEAgeGNfZXZ0Y2huX2Fs bG9jX3VuYm91bmQoeGNfaW50ZXJmYWNlICp4Y2gsCiB7CiAgICAgaW50IHJjOwogICAgIHN0cnVj dCBldnRjaG5fYWxsb2NfdW5ib3VuZCBhcmcgPSB7Ci0gICAgICAgIC5kb20gPSAoZG9taWRfdClk b20sCi0gICAgICAgIC5yZW1vdGVfZG9tID0gKGRvbWlkX3QpcmVtb3RlX2RvbQorICAgICAgICAu ZG9tICAgICAgICA9IGRvbSwKKyAgICAgICAgLnJlbW90ZV9kb20gPSByZW1vdGVfZG9tLAogICAg IH07CiAKICAgICByYyA9IGRvX2V2dGNobl9vcCh4Y2gsIEVWVENITk9QX2FsbG9jX3VuYm91bmQs ICZhcmcsIHNpemVvZihhcmcpLCAwKTsKQEAgLTY0LDcgKzY0LDcgQEAgeGNfZXZ0Y2huX2FsbG9j X3VuYm91bmQoeGNfaW50ZXJmYWNlICp4Y2gsCiBpbnQgeGNfZXZ0Y2huX3Jlc2V0KHhjX2ludGVy ZmFjZSAqeGNoLAogICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkb20pCiB7Ci0gICAgc3Ry dWN0IGV2dGNobl9yZXNldCBhcmcgPSB7IC5kb20gPSAoZG9taWRfdClkb20gfTsKKyAgICBzdHJ1 Y3QgZXZ0Y2huX3Jlc2V0IGFyZyA9IHsgLmRvbSA9IGRvbSB9OwogICAgIHJldHVybiBkb19ldnRj aG5fb3AoeGNoLCBFVlRDSE5PUF9yZXNldCwgJmFyZywgc2l6ZW9mKGFyZyksIDApOwogfQogCmRp ZmYgLS1naXQgYS90b29scy9saWJ4Yy94Y19ldnRjaG5fY29tcGF0LmMgYi90b29scy9saWJ4Yy94 Y19ldnRjaG5fY29tcGF0LmMKaW5kZXggNWQzZTRiYS4uODJiYWYxNCAxMDA2NDQKLS0tIGEvdG9v bHMvbGlieGMveGNfZXZ0Y2huX2NvbXBhdC5jCisrKyBiL3Rvb2xzL2xpYnhjL3hjX2V2dGNobl9j b21wYXQuYwpAQCAtMzAsMTMgKzMwLDEzIEBAIGludCB4Y19ldnRjaG5fbm90aWZ5KHhjX2V2dGNo biAqeGNlLCBldnRjaG5fcG9ydF90IHBvcnQpCiB9CiAKIGV2dGNobl9wb3J0X29yX2Vycm9yX3QK LXhjX2V2dGNobl9iaW5kX3VuYm91bmRfcG9ydCh4Y19ldnRjaG4gKnhjZSwgaW50IGRvbWlkKQor eGNfZXZ0Y2huX2JpbmRfdW5ib3VuZF9wb3J0KHhjX2V2dGNobiAqeGNlLCB1aW50MzJfdCBkb21p ZCkKIHsKICAgICByZXR1cm4geGVuZXZ0Y2huX2JpbmRfdW5ib3VuZF9wb3J0KHhjZSwgZG9taWQp OwogfQogCiBldnRjaG5fcG9ydF9vcl9lcnJvcl90Ci14Y19ldnRjaG5fYmluZF9pbnRlcmRvbWFp bih4Y19ldnRjaG4gKnhjZSwgaW50IGRvbWlkLAoreGNfZXZ0Y2huX2JpbmRfaW50ZXJkb21haW4o eGNfZXZ0Y2huICp4Y2UsIHVpbnQzMl90IGRvbWlkLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgZXZ0Y2huX3BvcnRfdCByZW1vdGVfcG9ydCkKIHsKICAgICByZXR1cm4geGVuZXZ0Y2huX2Jp bmRfaW50ZXJkb21haW4oeGNlLCBkb21pZCwgcmVtb3RlX3BvcnQpOwpkaWZmIC0tZ2l0IGEvdG9v bHMvbGlieGMveGNfZmxhc2suYyBiL3Rvb2xzL2xpYnhjL3hjX2ZsYXNrLmMKaW5kZXggZWM1MmIw Zi4uYzE2NTJiYSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMveGNfZmxhc2suYworKysgYi90b29s cy9saWJ4Yy94Y19mbGFzay5jCkBAIC00MjksNyArNDI5LDcgQEAgaW50IHhjX2ZsYXNrX3NldGF2 Y190aHJlc2hvbGQoeGNfaW50ZXJmYWNlICp4Y2gsIGludCB0aHJlc2hvbGQpCiAgICAgcmV0dXJu IHhjX2ZsYXNrX29wKHhjaCwgJm9wKTsKIH0KIAotaW50IHhjX2ZsYXNrX3JlbGFiZWxfZG9tYWlu KHhjX2ludGVyZmFjZSAqeGNoLCBpbnQgZG9taWQsIHVpbnQzMl90IHNpZCkKK2ludCB4Y19mbGFz a19yZWxhYmVsX2RvbWFpbih4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQsIHVpbnQz Ml90IHNpZCkKIHsKICAgICBERUNMQVJFX0ZMQVNLX09QOwogICAgIG9wLmNtZCA9IEZMQVNLX1JF TEFCRUxfRE9NQUlOOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfZ250dGFiLmMgYi90b29s cy9saWJ4Yy94Y19nbnR0YWIuYwppbmRleCA5ZTZmMWZiLi5lYjkyZDg5IDEwMDY0NAotLS0gYS90 b29scy9saWJ4Yy94Y19nbnR0YWIuYworKysgYi90b29scy9saWJ4Yy94Y19nbnR0YWIuYwpAQCAt NTAsNyArNTAsNyBAQCBpbnQgeGNfZ250dGFiX3F1ZXJ5X3NpemUoeGNfaW50ZXJmYWNlICp4Y2gs IHN0cnVjdCBnbnR0YWJfcXVlcnlfc2l6ZSAqcXVlcnkpCiAgICAgcmV0dXJuIHJjOwogfQogCi1p bnQgeGNfZ250dGFiX2dldF92ZXJzaW9uKHhjX2ludGVyZmFjZSAqeGNoLCBpbnQgZG9taWQpCitp bnQgeGNfZ250dGFiX2dldF92ZXJzaW9uKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21p ZCkKIHsKICAgICBzdHJ1Y3QgZ250dGFiX2dldF92ZXJzaW9uIHF1ZXJ5OwogICAgIGludCByYzsK QEAgLTY0LDcgKzY0LDcgQEAgaW50IHhjX2dudHRhYl9nZXRfdmVyc2lvbih4Y19pbnRlcmZhY2Ug KnhjaCwgaW50IGRvbWlkKQogICAgICAgICByZXR1cm4gcXVlcnkudmVyc2lvbjsKIH0KIAotc3Rh dGljIHZvaWQgKl9nbnR0YWJfbWFwX3RhYmxlKHhjX2ludGVyZmFjZSAqeGNoLCBpbnQgZG9taWQs IGludCAqZ250X251bSkKK3N0YXRpYyB2b2lkICpfZ250dGFiX21hcF90YWJsZSh4Y19pbnRlcmZh Y2UgKnhjaCwgdWludDMyX3QgZG9taWQsIGludCAqZ250X251bSkKIHsKICAgICBpbnQgcmMsIGk7 CiAgICAgc3RydWN0IGdudHRhYl9xdWVyeV9zaXplIHF1ZXJ5OwpAQCAtMTM0LDcgKzEzNCw3IEBA IHN0YXRpYyB2b2lkICpfZ250dGFiX21hcF90YWJsZSh4Y19pbnRlcmZhY2UgKnhjaCwgaW50IGRv bWlkLCBpbnQgKmdudF9udW0pCiAgICAgcmV0dXJuIGdudDsKIH0KIAotZ3JhbnRfZW50cnlfdjFf dCAqeGNfZ250dGFiX21hcF90YWJsZV92MSh4Y19pbnRlcmZhY2UgKnhjaCwgaW50IGRvbWlkLAor Z3JhbnRfZW50cnlfdjFfdCAqeGNfZ250dGFiX21hcF90YWJsZV92MSh4Y19pbnRlcmZhY2UgKnhj aCwgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGludCAqZ250X251bSkKIHsKICAgICBpZiAoeGNfZ250dGFiX2dldF92ZXJzaW9uKHhjaCwg ZG9taWQpID09IDIpCkBAIC0xNDIsNyArMTQyLDcgQEAgZ3JhbnRfZW50cnlfdjFfdCAqeGNfZ250 dGFiX21hcF90YWJsZV92MSh4Y19pbnRlcmZhY2UgKnhjaCwgaW50IGRvbWlkLAogICAgIHJldHVy biBfZ250dGFiX21hcF90YWJsZSh4Y2gsIGRvbWlkLCBnbnRfbnVtKTsKIH0KIAotZ3JhbnRfZW50 cnlfdjJfdCAqeGNfZ250dGFiX21hcF90YWJsZV92Mih4Y19pbnRlcmZhY2UgKnhjaCwgaW50IGRv bWlkLAorZ3JhbnRfZW50cnlfdjJfdCAqeGNfZ250dGFiX21hcF90YWJsZV92Mih4Y19pbnRlcmZh Y2UgKnhjaCwgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGludCAqZ250X251bSkKIHsKICAgICBpZiAoeGNfZ250dGFiX2dldF92ZXJzaW9u KHhjaCwgZG9taWQpICE9IDIpCmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94Y19tZW1fYWNjZXNz LmMgYi90b29scy9saWJ4Yy94Y19tZW1fYWNjZXNzLmMKaW5kZXggOTUzNjYzNS4uYjQ1MjQ2MCAx MDA2NDQKLS0tIGEvdG9vbHMvbGlieGMveGNfbWVtX2FjY2Vzcy5jCisrKyBiL3Rvb2xzL2xpYnhj L3hjX21lbV9hY2Nlc3MuYwpAQCAtMjQsNyArMjQsNyBAQAogI2luY2x1ZGUgPHhlbi9tZW1vcnku aD4KIAogaW50IHhjX3NldF9tZW1fYWNjZXNzKHhjX2ludGVyZmFjZSAqeGNoLAotICAgICAgICAg ICAgICAgICAgICAgIGRvbWlkX3QgZG9tYWluX2lkLAorICAgICAgICAgICAgICAgICAgICAgIHVp bnQzMl90IGRvbWFpbl9pZCwKICAgICAgICAgICAgICAgICAgICAgICB4ZW5tZW1fYWNjZXNzX3Qg YWNjZXNzLAogICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGZpcnN0X3BmbiwKICAgICAg ICAgICAgICAgICAgICAgICB1aW50MzJfdCBucikKQEAgLTQyLDcgKzQyLDcgQEAgaW50IHhjX3Nl dF9tZW1fYWNjZXNzKHhjX2ludGVyZmFjZSAqeGNoLAogfQogCiBpbnQgeGNfc2V0X21lbV9hY2Nl c3NfbXVsdGkoeGNfaW50ZXJmYWNlICp4Y2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ZG9taWRfdCBkb21haW5faWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg ZG9tYWluX2lkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmFjY2VzcywK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCAqcGFnZXMsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdWludDMyX3QgbnIpCkBAIC04MCw3ICs4MCw3IEBAIGludCB4Y19z ZXRfbWVtX2FjY2Vzc19tdWx0aSh4Y19pbnRlcmZhY2UgKnhjaCwKIH0KIAogaW50IHhjX2dldF9t ZW1fYWNjZXNzKHhjX2ludGVyZmFjZSAqeGNoLAotICAgICAgICAgICAgICAgICAgICAgIGRvbWlk X3QgZG9tYWluX2lkLAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRvbWFpbl9pZCwK ICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBwZm4sCiAgICAgICAgICAgICAgICAgICAg ICAgeGVubWVtX2FjY2Vzc190ICphY2Nlc3MpCiB7CmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94 Y19tZW1fcGFnaW5nLmMgYi90b29scy9saWJ4Yy94Y19tZW1fcGFnaW5nLmMKaW5kZXggMjg2MTFm NC4uYTA2NzcwNiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMveGNfbWVtX3BhZ2luZy5jCisrKyBi L3Rvb2xzL2xpYnhjL3hjX21lbV9wYWdpbmcuYwpAQCAtMjIsNyArMjIsNyBAQAogCiAjaW5jbHVk ZSAieGNfcHJpdmF0ZS5oIgogCi1zdGF0aWMgaW50IHhjX21lbV9wYWdpbmdfbWVtb3AoeGNfaW50 ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9tYWluX2lkLAorc3RhdGljIGludCB4Y19tZW1fcGFnaW5n X21lbW9wKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21haW5faWQsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG9wLCB1aW50NjRfdCBnZm4sIHZvaWQg KmJ1ZmZlcikKIHsKICAgICB4ZW5fbWVtX3BhZ2luZ19vcF90IG1wbzsKQEAgLTM3LDcgKzM3LDcg QEAgc3RhdGljIGludCB4Y19tZW1fcGFnaW5nX21lbW9wKHhjX2ludGVyZmFjZSAqeGNoLCBkb21p ZF90IGRvbWFpbl9pZCwKICAgICByZXR1cm4gZG9fbWVtb3J5X29wKHhjaCwgWEVOTUVNX3BhZ2lu Z19vcCwgJm1wbywgc2l6ZW9mKG1wbykpOwogfQogCi1pbnQgeGNfbWVtX3BhZ2luZ19lbmFibGUo eGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9tYWluX2lkLAoraW50IHhjX21lbV9wYWdpbmdf ZW5hYmxlKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21haW5faWQsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgdWludDMyX3QgKnBvcnQpCiB7CiAgICAgaWYgKCAhcG9ydCApCkBAIC01 Miw3ICs1Miw3IEBAIGludCB4Y19tZW1fcGFnaW5nX2VuYWJsZSh4Y19pbnRlcmZhY2UgKnhjaCwg ZG9taWRfdCBkb21haW5faWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9ydCk7 CiB9CiAKLWludCB4Y19tZW1fcGFnaW5nX2Rpc2FibGUoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlk X3QgZG9tYWluX2lkKQoraW50IHhjX21lbV9wYWdpbmdfZGlzYWJsZSh4Y19pbnRlcmZhY2UgKnhj aCwgdWludDMyX3QgZG9tYWluX2lkKQogewogICAgIHJldHVybiB4Y192bV9ldmVudF9jb250cm9s KHhjaCwgZG9tYWluX2lkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTl9WTV9F VkVOVF9ESVNBQkxFLApAQCAtNjAsNyArNjAsNyBAQCBpbnQgeGNfbWVtX3BhZ2luZ19kaXNhYmxl KHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWFpbl9pZCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBOVUxMKTsKIH0KIAotaW50IHhjX21lbV9wYWdpbmdfcmVzdW1lKHhjX2lu dGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWFpbl9pZCkKK2ludCB4Y19tZW1fcGFnaW5nX3Jlc3Vt ZSh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9tYWluX2lkKQogewogICAgIHJldHVybiB4 Y192bV9ldmVudF9jb250cm9sKHhjaCwgZG9tYWluX2lkLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFhFTl9WTV9FVkVOVF9SRVNVTUUsCkBAIC02OCwyOCArNjgsMjggQEAgaW50IHhj X21lbV9wYWdpbmdfcmVzdW1lKHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWFpbl9pZCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKIH0KIAotaW50IHhjX21lbV9w YWdpbmdfbm9taW5hdGUoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9tYWluX2lkLCB1aW50 NjRfdCBnZm4pCitpbnQgeGNfbWVtX3BhZ2luZ19ub21pbmF0ZSh4Y19pbnRlcmZhY2UgKnhjaCwg dWludDMyX3QgZG9tYWluX2lkLCB1aW50NjRfdCBnZm4pCiB7CiAgICAgcmV0dXJuIHhjX21lbV9w YWdpbmdfbWVtb3AoeGNoLCBkb21haW5faWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgWEVOTUVNX3BhZ2luZ19vcF9ub21pbmF0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBnZm4sIE5VTEwpOwogfQogCi1pbnQgeGNfbWVtX3BhZ2luZ19ldmljdCh4Y19pbnRlcmZh Y2UgKnhjaCwgZG9taWRfdCBkb21haW5faWQsIHVpbnQ2NF90IGdmbikKK2ludCB4Y19tZW1fcGFn aW5nX2V2aWN0KHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21haW5faWQsIHVpbnQ2NF90 IGdmbikKIHsKICAgICByZXR1cm4geGNfbWVtX3BhZ2luZ19tZW1vcCh4Y2gsIGRvbWFpbl9pZCwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5NRU1fcGFnaW5nX29wX2V2aWN0LAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdmbiwgTlVMTCk7CiB9CiAKLWludCB4Y19t ZW1fcGFnaW5nX3ByZXAoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9tYWluX2lkLCB1aW50 NjRfdCBnZm4pCitpbnQgeGNfbWVtX3BhZ2luZ19wcmVwKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50 MzJfdCBkb21haW5faWQsIHVpbnQ2NF90IGdmbikKIHsKICAgICByZXR1cm4geGNfbWVtX3BhZ2lu Z19tZW1vcCh4Y2gsIGRvbWFpbl9pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBY RU5NRU1fcGFnaW5nX29wX3ByZXAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Zu LCBOVUxMKTsKIH0KIAotaW50IHhjX21lbV9wYWdpbmdfbG9hZCh4Y19pbnRlcmZhY2UgKnhjaCwg ZG9taWRfdCBkb21haW5faWQsCitpbnQgeGNfbWVtX3BhZ2luZ19sb2FkKHhjX2ludGVyZmFjZSAq eGNoLCB1aW50MzJfdCBkb21haW5faWQsCiAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90 IGdmbiwgdm9pZCAqYnVmZmVyKQogewogICAgIGludCByYywgb2xkX2Vycm5vOwpkaWZmIC0tZ2l0 IGEvdG9vbHMvbGlieGMveGNfbWVtc2hyLmMgYi90b29scy9saWJ4Yy94Y19tZW1zaHIuYwppbmRl eCBmNTNhNTlhLi5kNWUxMzVlIDEwMDY0NAotLS0gYS90b29scy9saWJ4Yy94Y19tZW1zaHIuYwor KysgYi90b29scy9saWJ4Yy94Y19tZW1zaHIuYwpAQCAtMjUsNyArMjUsNyBAQAogI2luY2x1ZGUg PHhlbi9ncmFudF90YWJsZS5oPgogCiBpbnQgeGNfbWVtc2hyX2NvbnRyb2woeGNfaW50ZXJmYWNl ICp4Y2gsCi0gICAgICAgICAgICAgICAgICAgICAgZG9taWRfdCBkb21pZCwKKyAgICAgICAgICAg ICAgICAgICAgICB1aW50MzJfdCBkb21pZCwKICAgICAgICAgICAgICAgICAgICAgICBpbnQgZW5h YmxlKQogewogICAgIERFQ0xBUkVfRE9NQ1RMOwpAQCAtNDIsNyArNDIsNyBAQCBpbnQgeGNfbWVt c2hyX2NvbnRyb2woeGNfaW50ZXJmYWNlICp4Y2gsCiB9CiAKIGludCB4Y19tZW1zaHJfcmluZ19l bmFibGUoeGNfaW50ZXJmYWNlICp4Y2gsIAotICAgICAgICAgICAgICAgICAgICAgICAgICBkb21p ZF90IGRvbWlkLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZG9taWQsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICpwb3J0KQogewogICAgIGlmICggIXBv cnQgKQpAQCAtNTgsNyArNTgsNyBAQCBpbnQgeGNfbWVtc2hyX3JpbmdfZW5hYmxlKHhjX2ludGVy ZmFjZSAqeGNoLAogfQogCiBpbnQgeGNfbWVtc2hyX3JpbmdfZGlzYWJsZSh4Y19pbnRlcmZhY2Ug KnhjaCwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBkb21pZF90IGRvbWlkKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZG9taWQpCiB7CiAgICAgcmV0dXJuIHhjX3Zt X2V2ZW50X2NvbnRyb2woeGNoLCBkb21pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBYRU5fVk1fRVZFTlRfRElTQUJMRSwKQEAgLTY2LDcgKzY2LDcgQEAgaW50IHhjX21lbXNocl9y aW5nX2Rpc2FibGUoeGNfaW50ZXJmYWNlICp4Y2gsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTlVMTCk7CiB9CiAKLXN0YXRpYyBpbnQgeGNfbWVtc2hyX21lbW9wKHhjX2ludGVyZmFj ZSAqeGNoLCBkb21pZF90IGRvbWlkLCAKK3N0YXRpYyBpbnQgeGNfbWVtc2hyX21lbW9wKHhjX2lu dGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB4ZW5fbWVtX3NoYXJpbmdfb3BfdCAqbXNvKQogewogICAgIG1zby0+ZG9tYWluID0gZG9taWQ7 CkBAIC03NSw3ICs3NSw3IEBAIHN0YXRpYyBpbnQgeGNfbWVtc2hyX21lbW9wKHhjX2ludGVyZmFj ZSAqeGNoLCBkb21pZF90IGRvbWlkLAogfQogCiBpbnQgeGNfbWVtc2hyX25vbWluYXRlX2dmbih4 Y19pbnRlcmZhY2UgKnhjaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWlkX3QgZG9t aWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkb21pZCwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgZ2ZuLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgdWludDY0X3QgKmhhbmRsZSkKIHsKQEAgLTk1LDcgKzk1LDcgQEAgaW50IHhjX21l bXNocl9ub21pbmF0ZV9nZm4oeGNfaW50ZXJmYWNlICp4Y2gsCiB9CiAKIGludCB4Y19tZW1zaHJf bm9taW5hdGVfZ3JlZih4Y19pbnRlcmZhY2UgKnhjaCwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICBkb21pZF90IGRvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90 IGRvbWlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyYW50X3JlZl90IGdyZWYsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgKmhhbmRsZSkKIHsKQEAgLTExNSwx MCArMTE1LDEwIEBAIGludCB4Y19tZW1zaHJfbm9taW5hdGVfZ3JlZih4Y19pbnRlcmZhY2UgKnhj aCwKIH0KIAogaW50IHhjX21lbXNocl9zaGFyZV9nZm5zKHhjX2ludGVyZmFjZSAqeGNoLAotICAg ICAgICAgICAgICAgICAgICAgICAgIGRvbWlkX3Qgc291cmNlX2RvbWFpbiwKKyAgICAgICAgICAg ICAgICAgICAgICAgICB1aW50MzJfdCBzb3VyY2VfZG9tYWluLAogICAgICAgICAgICAgICAgICAg ICAgICAgIHVuc2lnbmVkIGxvbmcgc291cmNlX2dmbiwKICAgICAgICAgICAgICAgICAgICAgICAg ICB1aW50NjRfdCBzb3VyY2VfaGFuZGxlLAotICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWlk X3QgY2xpZW50X2RvbWFpbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjbGll bnRfZG9tYWluLAogICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgY2xpZW50 X2dmbiwKICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBjbGllbnRfaGFuZGxlKQog ewpAQCAtMTM4LDEwICsxMzgsMTAgQEAgaW50IHhjX21lbXNocl9zaGFyZV9nZm5zKHhjX2ludGVy ZmFjZSAqeGNoLAogfQogCiBpbnQgeGNfbWVtc2hyX3NoYXJlX2dyZWZzKHhjX2ludGVyZmFjZSAq eGNoLAotICAgICAgICAgICAgICAgICAgICAgICAgICBkb21pZF90IHNvdXJjZV9kb21haW4sCisg ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNvdXJjZV9kb21haW4sCiAgICAgICAg ICAgICAgICAgICAgICAgICAgIGdyYW50X3JlZl90IHNvdXJjZV9ncmVmLAogICAgICAgICAgICAg ICAgICAgICAgICAgICB1aW50NjRfdCBzb3VyY2VfaGFuZGxlLAotICAgICAgICAgICAgICAgICAg ICAgICAgICBkb21pZF90IGNsaWVudF9kb21haW4sCisgICAgICAgICAgICAgICAgICAgICAgICAg IHVpbnQzMl90IGNsaWVudF9kb21haW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyYW50 X3JlZl90IGNsaWVudF9ncmVmLAogICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBj bGllbnRfaGFuZGxlKQogewpAQCAtMTYxLDEwICsxNjEsMTAgQEAgaW50IHhjX21lbXNocl9zaGFy ZV9ncmVmcyh4Y19pbnRlcmZhY2UgKnhjaCwKIH0KIAogaW50IHhjX21lbXNocl9hZGRfdG9fcGh5 c21hcCh4Y19pbnRlcmZhY2UgKnhjaCwKLSAgICAgICAgICAgICAgICAgICAgZG9taWRfdCBzb3Vy Y2VfZG9tYWluLAorICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzb3VyY2VfZG9tYWluLAog ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHNvdXJjZV9nZm4sCiAgICAgICAgICAg ICAgICAgICAgIHVpbnQ2NF90IHNvdXJjZV9oYW5kbGUsCi0gICAgICAgICAgICAgICAgICAgIGRv bWlkX3QgY2xpZW50X2RvbWFpbiwKKyAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY2xpZW50 X2RvbWFpbiwKICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBjbGllbnRfZ2ZuKQog ewogICAgIHhlbl9tZW1fc2hhcmluZ19vcF90IG1zbzsKQEAgLTE4Miw4ICsxODIsOCBAQCBpbnQg eGNfbWVtc2hyX2FkZF90b19waHlzbWFwKHhjX2ludGVyZmFjZSAqeGNoLAogfQogCiBpbnQgeGNf bWVtc2hyX3JhbmdlX3NoYXJlKHhjX2ludGVyZmFjZSAqeGNoLAotICAgICAgICAgICAgICAgICAg ICAgICAgICBkb21pZF90IHNvdXJjZV9kb21haW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAg IGRvbWlkX3QgY2xpZW50X2RvbWFpbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy X3Qgc291cmNlX2RvbWFpbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY2xp ZW50X2RvbWFpbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgZmlyc3RfZ2Zu LAogICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBsYXN0X2dmbikKIHsKQEAgLTIw MSw3ICsyMDEsNyBAQCBpbnQgeGNfbWVtc2hyX3JhbmdlX3NoYXJlKHhjX2ludGVyZmFjZSAqeGNo LAogfQogCiBpbnQgeGNfbWVtc2hyX2RvbWFpbl9yZXN1bWUoeGNfaW50ZXJmYWNlICp4Y2gsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9taWRfdCBkb21pZCkKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1aW50MzJfdCBkb21pZCkKIHsKICAgICByZXR1cm4geGNfdm1fZXZlbnRf Y29udHJvbCh4Y2gsIGRvbWlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTl9W TV9FVkVOVF9SRVNVTUUsCkBAIC0yMTAsNyArMjEwLDcgQEAgaW50IHhjX21lbXNocl9kb21haW5f cmVzdW1lKHhjX2ludGVyZmFjZSAqeGNoLAogfQogCiBpbnQgeGNfbWVtc2hyX2RlYnVnX2dmbih4 Y19pbnRlcmZhY2UgKnhjaCwKLSAgICAgICAgICAgICAgICAgICAgICAgIGRvbWlkX3QgZG9taWQs CisgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkb21pZCwKICAgICAgICAgICAgICAg ICAgICAgICAgIHVuc2lnbmVkIGxvbmcgZ2ZuKQogewogICAgIHhlbl9tZW1fc2hhcmluZ19vcF90 IG1zbzsKQEAgLTIyNCw3ICsyMjQsNyBAQCBpbnQgeGNfbWVtc2hyX2RlYnVnX2dmbih4Y19pbnRl cmZhY2UgKnhjaCwKIH0KIAogaW50IHhjX21lbXNocl9kZWJ1Z19ncmVmKHhjX2ludGVyZmFjZSAq eGNoLAotICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWlkX3QgZG9taWQsCisgICAgICAgICAg ICAgICAgICAgICAgICAgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg Z3JhbnRfcmVmX3QgZ3JlZikKIHsKICAgICB4ZW5fbWVtX3NoYXJpbmdfb3BfdCBtc287CmRpZmYg LS1naXQgYS90b29scy9saWJ4Yy94Y19tb25pdG9yLmMgYi90b29scy9saWJ4Yy94Y19tb25pdG9y LmMKaW5kZXggNjA0NjY4MC4uMjg0MGYxNCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMveGNfbW9u aXRvci5jCisrKyBiL3Rvb2xzL2xpYnhjL3hjX21vbml0b3IuYwpAQCAtMjIsMTMgKzIyLDEzIEBA CiAKICNpbmNsdWRlICJ4Y19wcml2YXRlLmgiCiAKLXZvaWQgKnhjX21vbml0b3JfZW5hYmxlKHhj X2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWFpbl9pZCwgdWludDMyX3QgKnBvcnQpCit2b2lk ICp4Y19tb25pdG9yX2VuYWJsZSh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9tYWluX2lk LCB1aW50MzJfdCAqcG9ydCkKIHsKICAgICByZXR1cm4geGNfdm1fZXZlbnRfZW5hYmxlKHhjaCwg ZG9tYWluX2lkLCBIVk1fUEFSQU1fTU9OSVRPUl9SSU5HX1BGTiwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHBvcnQpOwogfQogCi1pbnQgeGNfbW9uaXRvcl9kaXNhYmxlKHhjX2ludGVy ZmFjZSAqeGNoLCBkb21pZF90IGRvbWFpbl9pZCkKK2ludCB4Y19tb25pdG9yX2Rpc2FibGUoeGNf aW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWFpbl9pZCkKIHsKICAgICByZXR1cm4geGNfdm1f ZXZlbnRfY29udHJvbCh4Y2gsIGRvbWFpbl9pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBYRU5fVk1fRVZFTlRfRElTQUJMRSwKQEAgLTM2LDcgKzM2LDcgQEAgaW50IHhjX21vbml0 b3JfZGlzYWJsZSh4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBkb21haW5faWQpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CiB9CiAKLWludCB4Y19tb25pdG9yX3Jlc3Vt ZSh4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBkb21haW5faWQpCitpbnQgeGNfbW9uaXRvcl9y ZXN1bWUoeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWFpbl9pZCkKIHsKICAgICByZXR1 cm4geGNfdm1fZXZlbnRfY29udHJvbCh4Y2gsIGRvbWFpbl9pZCwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBYRU5fVk1fRVZFTlRfUkVTVU1FLApAQCAtNDQsNyArNDQsNyBAQCBpbnQg eGNfbW9uaXRvcl9yZXN1bWUoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9tYWluX2lkKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOwogfQogCi1pbnQgeGNfbW9uaXRv cl9nZXRfY2FwYWJpbGl0aWVzKHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWFpbl9pZCwK K2ludCB4Y19tb25pdG9yX2dldF9jYXBhYmlsaXRpZXMoeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQz Ml90IGRvbWFpbl9pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg KmNhcGFiaWxpdGllcykKIHsKICAgICBpbnQgcmM7CkBAIC02OCw3ICs2OCw3IEBAIGludCB4Y19t b25pdG9yX2dldF9jYXBhYmlsaXRpZXMoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9tYWlu X2lkLAogICAgIHJldHVybiAwOwogfQogCi1pbnQgeGNfbW9uaXRvcl93cml0ZV9jdHJscmVnKHhj X2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWFpbl9pZCwKK2ludCB4Y19tb25pdG9yX3dyaXRl X2N0cmxyZWcoeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWFpbl9pZCwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgaW5kZXgsIGJvb2wgZW5hYmxlLCBib29sIHN5 bmMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGJpdG1hc2ssIGJvb2wg b25jaGFuZ2Vvbmx5KQogewpAQCAtODksNyArODksNyBAQCBpbnQgeGNfbW9uaXRvcl93cml0ZV9j dHJscmVnKHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWFpbl9pZCwKICAgICByZXR1cm4g ZG9fZG9tY3RsKHhjaCwgJmRvbWN0bCk7CiB9CiAKLWludCB4Y19tb25pdG9yX21vdl90b19tc3Io eGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9tYWluX2lkLCB1aW50MzJfdCBtc3IsCitpbnQg eGNfbW9uaXRvcl9tb3ZfdG9fbXNyKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21haW5f aWQsIHVpbnQzMl90IG1zciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBlbmFibGUp CiB7CiAgICAgREVDTEFSRV9ET01DVEw7CkBAIC0xMDQsNyArMTA0LDcgQEAgaW50IHhjX21vbml0 b3JfbW92X3RvX21zcih4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBkb21haW5faWQsIHVpbnQz Ml90IG1zciwKICAgICByZXR1cm4gZG9fZG9tY3RsKHhjaCwgJmRvbWN0bCk7CiB9CiAKLWludCB4 Y19tb25pdG9yX3NvZnR3YXJlX2JyZWFrcG9pbnQoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3Qg ZG9tYWluX2lkLAoraW50IHhjX21vbml0b3Jfc29mdHdhcmVfYnJlYWtwb2ludCh4Y19pbnRlcmZh Y2UgKnhjaCwgdWludDMyX3QgZG9tYWluX2lkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBib29sIGVuYWJsZSkKIHsKICAgICBERUNMQVJFX0RPTUNUTDsKQEAgLTExOCw3ICsx MTgsNyBAQCBpbnQgeGNfbW9uaXRvcl9zb2Z0d2FyZV9icmVha3BvaW50KHhjX2ludGVyZmFjZSAq eGNoLCBkb21pZF90IGRvbWFpbl9pZCwKICAgICByZXR1cm4gZG9fZG9tY3RsKHhjaCwgJmRvbWN0 bCk7CiB9CiAKLWludCB4Y19tb25pdG9yX3NpbmdsZXN0ZXAoeGNfaW50ZXJmYWNlICp4Y2gsIGRv bWlkX3QgZG9tYWluX2lkLAoraW50IHhjX21vbml0b3Jfc2luZ2xlc3RlcCh4Y19pbnRlcmZhY2Ug KnhjaCwgdWludDMyX3QgZG9tYWluX2lkLAogICAgICAgICAgICAgICAgICAgICAgICAgICBib29s IGVuYWJsZSkKIHsKICAgICBERUNMQVJFX0RPTUNUTDsKQEAgLTEzMiw3ICsxMzIsNyBAQCBpbnQg eGNfbW9uaXRvcl9zaW5nbGVzdGVwKHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWFpbl9p ZCwKICAgICByZXR1cm4gZG9fZG9tY3RsKHhjaCwgJmRvbWN0bCk7CiB9CiAKLWludCB4Y19tb25p dG9yX2Rlc2NyaXB0b3JfYWNjZXNzKHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWFpbl9p ZCwKK2ludCB4Y19tb25pdG9yX2Rlc2NyaXB0b3JfYWNjZXNzKHhjX2ludGVyZmFjZSAqeGNoLCB1 aW50MzJfdCBkb21haW5faWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29s IGVuYWJsZSkKIHsKICAgICBERUNMQVJFX0RPTUNUTDsKQEAgLTE0Niw3ICsxNDYsNyBAQCBpbnQg eGNfbW9uaXRvcl9kZXNjcmlwdG9yX2FjY2Vzcyh4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBk b21haW5faWQsCiAgICAgcmV0dXJuIGRvX2RvbWN0bCh4Y2gsICZkb21jdGwpOwogfQogCi1pbnQg eGNfbW9uaXRvcl9ndWVzdF9yZXF1ZXN0KHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWFp bl9pZCwgYm9vbCBlbmFibGUsCitpbnQgeGNfbW9uaXRvcl9ndWVzdF9yZXF1ZXN0KHhjX2ludGVy ZmFjZSAqeGNoLCB1aW50MzJfdCBkb21haW5faWQsIGJvb2wgZW5hYmxlLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBib29sIHN5bmMsIGJvb2wgYWxsb3dfdXNlcnNwYWNlKQogewogICAg IERFQ0xBUkVfRE9NQ1RMOwpAQCAtMTYyLDcgKzE2Miw3IEBAIGludCB4Y19tb25pdG9yX2d1ZXN0 X3JlcXVlc3QoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9tYWluX2lkLCBib29sIGVuYWJs ZSwKICAgICByZXR1cm4gZG9fZG9tY3RsKHhjaCwgJmRvbWN0bCk7CiB9CiAKLWludCB4Y19tb25p dG9yX2VtdWxhdGVfZWFjaF9yZXAoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9tYWluX2lk LAoraW50IHhjX21vbml0b3JfZW11bGF0ZV9lYWNoX3JlcCh4Y19pbnRlcmZhY2UgKnhjaCwgdWlu dDMyX3QgZG9tYWluX2lkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGVu YWJsZSkKIHsKICAgICBERUNMQVJFX0RPTUNUTDsKQEAgLTE3NSw3ICsxNzUsNyBAQCBpbnQgeGNf bW9uaXRvcl9lbXVsYXRlX2VhY2hfcmVwKHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWFp bl9pZCwKICAgICByZXR1cm4gZG9fZG9tY3RsKHhjaCwgJmRvbWN0bCk7CiB9CiAKLWludCB4Y19t b25pdG9yX2RlYnVnX2V4Y2VwdGlvbnMoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9tYWlu X2lkLAoraW50IHhjX21vbml0b3JfZGVidWdfZXhjZXB0aW9ucyh4Y19pbnRlcmZhY2UgKnhjaCwg dWludDMyX3QgZG9tYWluX2lkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29s IGVuYWJsZSwgYm9vbCBzeW5jKQogewogICAgIERFQ0xBUkVfRE9NQ1RMOwpAQCAtMTkwLDcgKzE5 MCw3IEBAIGludCB4Y19tb25pdG9yX2RlYnVnX2V4Y2VwdGlvbnMoeGNfaW50ZXJmYWNlICp4Y2gs IGRvbWlkX3QgZG9tYWluX2lkLAogICAgIHJldHVybiBkb19kb21jdGwoeGNoLCAmZG9tY3RsKTsK IH0KIAotaW50IHhjX21vbml0b3JfY3B1aWQoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9t YWluX2lkLCBib29sIGVuYWJsZSkKK2ludCB4Y19tb25pdG9yX2NwdWlkKHhjX2ludGVyZmFjZSAq eGNoLCB1aW50MzJfdCBkb21haW5faWQsIGJvb2wgZW5hYmxlKQogewogICAgIERFQ0xBUkVfRE9N Q1RMOwogCkBAIC0yMDMsNyArMjAzLDcgQEAgaW50IHhjX21vbml0b3JfY3B1aWQoeGNfaW50ZXJm YWNlICp4Y2gsIGRvbWlkX3QgZG9tYWluX2lkLCBib29sIGVuYWJsZSkKICAgICByZXR1cm4gZG9f ZG9tY3RsKHhjaCwgJmRvbWN0bCk7CiB9CiAKLWludCB4Y19tb25pdG9yX3ByaXZpbGVnZWRfY2Fs bCh4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBkb21haW5faWQsCitpbnQgeGNfbW9uaXRvcl9w cml2aWxlZ2VkX2NhbGwoeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWFpbl9pZCwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGVuYWJsZSkKIHsKICAgICBERUNMQVJF X0RPTUNUTDsKQEAgLTIxNyw3ICsyMTcsNyBAQCBpbnQgeGNfbW9uaXRvcl9wcml2aWxlZ2VkX2Nh bGwoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9tYWluX2lkLAogICAgIHJldHVybiBkb19k b21jdGwoeGNoLCAmZG9tY3RsKTsKIH0KIAotaW50IHhjX21vbml0b3JfZW11bF91bmltcGxlbWVu dGVkKHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWFpbl9pZCwKK2ludCB4Y19tb25pdG9y X2VtdWxfdW5pbXBsZW1lbnRlZCh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9tYWluX2lk LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgZW5hYmxlKQogewogICAg IERFQ0xBUkVfRE9NQ1RMOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfbm9taWdyYXRlLmMg Yi90b29scy9saWJ4Yy94Y19ub21pZ3JhdGUuYwppbmRleCBmZThmNjhjLi42ZDYxNjlkIDEwMDY0 NAotLS0gYS90b29scy9saWJ4Yy94Y19ub21pZ3JhdGUuYworKysgYi90b29scy9saWJ4Yy94Y19u b21pZ3JhdGUuYwpAQCAtMzAsOCArMzAsOCBAQCBpbnQgeGNfZG9tYWluX3NhdmUoeGNfaW50ZXJm YWNlICp4Y2gsIGludCBpb19mZCwgdWludDMyX3QgZG9tLCB1aW50MzJfdCBmbGFncywKIAogaW50 IHhjX2RvbWFpbl9yZXN0b3JlKHhjX2ludGVyZmFjZSAqeGNoLCBpbnQgaW9fZmQsIHVpbnQzMl90 IGRvbSwKICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgc3RvcmVfZXZ0Y2huLCB1 bnNpZ25lZCBsb25nICpzdG9yZV9tZm4sCi0gICAgICAgICAgICAgICAgICAgICAgZG9taWRfdCBz dG9yZV9kb21pZCwgdW5zaWduZWQgaW50IGNvbnNvbGVfZXZ0Y2huLAotICAgICAgICAgICAgICAg ICAgICAgIHVuc2lnbmVkIGxvbmcgKmNvbnNvbGVfbWZuLCBkb21pZF90IGNvbnNvbGVfZG9taWQs CisgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc3RvcmVfZG9taWQsIHVuc2lnbmVkIGlu dCBjb25zb2xlX2V2dGNobiwKKyAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nICpj b25zb2xlX21mbiwgdWludDMyX3QgY29uc29sZV9kb21pZCwKICAgICAgICAgICAgICAgICAgICAg ICB1bnNpZ25lZCBpbnQgaHZtLCB1bnNpZ25lZCBpbnQgcGFlLAogICAgICAgICAgICAgICAgICAg ICAgIHhjX21pZ3JhdGlvbl9zdHJlYW1fdCBzdHJlYW1fdHlwZSwKICAgICAgICAgICAgICAgICAg ICAgICBzdHJ1Y3QgcmVzdG9yZV9jYWxsYmFja3MgKmNhbGxiYWNrcywgaW50IHNlbmRfYmFja19m ZCkKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hjX29mZmxpbmVfcGFnZS5jIGIvdG9vbHMvbGli eGMveGNfb2ZmbGluZV9wYWdlLmMKaW5kZXggMzI0OGEzNC4uMTk1MzhmYyAxMDA2NDQKLS0tIGEv dG9vbHMvbGlieGMveGNfb2ZmbGluZV9wYWdlLmMKKysrIGIvdG9vbHMvbGlieGMveGNfb2ZmbGlu ZV9wYWdlLmMKQEAgLTI2Miw3ICsyNjIsNyBAQCBzdGF0aWMgaW50IF9fdXBkYXRlX3B0ZSh4Y19p bnRlcmZhY2UgKnhjaCwKICAgICByZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBjaGFuZ2VfcHRl KHhjX2ludGVyZmFjZSAqeGNoLCBpbnQgZG9taWQsCitzdGF0aWMgaW50IGNoYW5nZV9wdGUoeGNf aW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWlkLAogICAgICAgICAgICAgICAgICAgICAgc3Ry dWN0IHhjX2RvbWFpbl9tZW1pbmZvICptaW5mbywKICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCBwdGVfYmFja3VwICpiYWNrdXAsCiAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeGNfbW11 ICptbXUsCkBAIC0zNDAsNyArMzQwLDcgQEAgc3RhdGljIGludCBjaGFuZ2VfcHRlKHhjX2ludGVy ZmFjZSAqeGNoLCBpbnQgZG9taWQsCiAgICAgcmV0dXJuIC0xOwogfQogCi1zdGF0aWMgaW50IHVw ZGF0ZV9wdGUoeGNfaW50ZXJmYWNlICp4Y2gsIGludCBkb21pZCwKK3N0YXRpYyBpbnQgdXBkYXRl X3B0ZSh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICAgICAg ICAgICBzdHJ1Y3QgeGNfZG9tYWluX21lbWluZm8gKm1pbmZvLAogICAgICAgICAgICAgICAgICAg ICAgc3RydWN0IHB0ZV9iYWNrdXAgKmJhY2t1cCwKICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCB4Y19tbXUgKm1tdSwKQEAgLTM1MCw3ICszNTAsNyBAQCBzdGF0aWMgaW50IHVwZGF0ZV9wdGUo eGNfaW50ZXJmYWNlICp4Y2gsIGludCBkb21pZCwKICAgICAgICAgICAgICAgICAgICAgICBfX3Vw ZGF0ZV9wdGUsIG5ld19tZm4pOwogfQogCi1zdGF0aWMgaW50IGNsZWFyX3B0ZSh4Y19pbnRlcmZh Y2UgKnhjaCwgaW50IGRvbWlkLAorc3RhdGljIGludCBjbGVhcl9wdGUoeGNfaW50ZXJmYWNlICp4 Y2gsIHVpbnQzMl90IGRvbWlkLAogICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHhjX2RvbWFp bl9tZW1pbmZvICptaW5mbywKICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBwdGVfYmFja3Vw ICpiYWNrdXAsCiAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeGNfbW11ICptbXUsCkBAIC0z NjQsNyArMzY0LDcgQEAgc3RhdGljIGludCBjbGVhcl9wdGUoeGNfaW50ZXJmYWNlICp4Y2gsIGlu dCBkb21pZCwKICAqIENoZWNrIGlmIGEgcGFnZSBjYW4gYmUgZXhjaGFuZ2VkIHN1Y2Nlc3NmdWxs eQogICovCiAKLXN0YXRpYyBpbnQgaXNfcGFnZV9leGNoYW5nYWJsZSh4Y19pbnRlcmZhY2UgKnhj aCwgaW50IGRvbWlkLCB4ZW5fcGZuX3QgbWZuLAorc3RhdGljIGludCBpc19wYWdlX2V4Y2hhbmdh YmxlKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21pZCwgeGVuX3Bmbl90IG1mbiwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4Y19kb21pbmZvX3QgKmluZm8pCiB7CiAgICAg dWludDMyX3Qgc3RhdHVzOwpAQCAtNDU1LDcgKzQ1NSw3IEBAIHhlbl9wZm5fdCAqeGNfbWFwX20y cCh4Y19pbnRlcmZhY2UgKnhjaCwKIH0KIAogLyogVGhlIGRvbWFpbiBzaG91bGQgYmUgc3VzcGVu ZGVkIHdoZW4gY2FsbGVkIGhlcmUgKi8KLWludCB4Y19leGNoYW5nZV9wYWdlKHhjX2ludGVyZmFj ZSAqeGNoLCBpbnQgZG9taWQsIHhlbl9wZm5fdCBtZm4pCitpbnQgeGNfZXhjaGFuZ2VfcGFnZSh4 Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQsIHhlbl9wZm5fdCBtZm4pCiB7CiAgICAg eGNfZG9taW5mb190IGluZm87CiAgICAgc3RydWN0IHhjX2RvbWFpbl9tZW1pbmZvIG1pbmZvOwpk aWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfcGh5c2Rldi5jIGIvdG9vbHMvbGlieGMveGNfcGh5 c2Rldi5jCmluZGV4IDIzMTA4ZDYuLjQ2MGE4ZTcgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhjL3hj X3BoeXNkZXYuYworKysgYi90b29scy9saWJ4Yy94Y19waHlzZGV2LmMKQEAgLTM0LDcgKzM0LDcg QEAgaW50IHhjX3BoeXNkZXZfcGNpX2FjY2Vzc19tb2RpZnkoeGNfaW50ZXJmYWNlICp4Y2gsCiB9 CiAKIGludCB4Y19waHlzZGV2X21hcF9waXJxKHhjX2ludGVyZmFjZSAqeGNoLAotICAgICAgICAg ICAgICAgICAgICAgICAgaW50IGRvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy X3QgZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaW5kZXgsCiAgICAgICAgICAg ICAgICAgICAgICAgICBpbnQgKnBpcnEpCiB7CkBAIC02MSw3ICs2MSw3IEBAIGludCB4Y19waHlz ZGV2X21hcF9waXJxKHhjX2ludGVyZmFjZSAqeGNoLAogfQogCiBpbnQgeGNfcGh5c2Rldl9tYXBf cGlycV9tc2koeGNfaW50ZXJmYWNlICp4Y2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg aW50IGRvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBpbmRleCwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBpbnQgKnBpcnEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRl dmZuLApAQCAtOTYsNyArOTYsNyBAQCBpbnQgeGNfcGh5c2Rldl9tYXBfcGlycV9tc2koeGNfaW50 ZXJmYWNlICp4Y2gsCiB9CiAKIGludCB4Y19waHlzZGV2X3VubWFwX3BpcnEoeGNfaW50ZXJmYWNl ICp4Y2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkb21pZCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg IGludCBwaXJxKQogewogICAgIGludCByYzsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hjX3By aXZhdGUuYyBiL3Rvb2xzL2xpYnhjL3hjX3ByaXZhdGUuYwppbmRleCBmMzk1NTk0Li4zNmVhZDVm IDEwMDY0NAotLS0gYS90b29scy9saWJ4Yy94Y19wcml2YXRlLmMKKysrIGIvdG9vbHMvbGlieGMv eGNfcHJpdmF0ZS5jCkBAIC0yMjEsNyArMjIxLDcgQEAgaW50IHhjX2dldF9wZm5fdHlwZV9iYXRj aCh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9tLAogICAgIGlmICggeGNfaHlwZXJjYWxs X2JvdW5jZV9wcmUoeGNoLCBhcnIpICkKICAgICAgICAgcmV0dXJuIC0xOwogICAgIGRvbWN0bC5j bWQgPSBYRU5fRE9NQ1RMX2dldHBhZ2VmcmFtZWluZm8zOwotICAgIGRvbWN0bC5kb21haW4gPSAo ZG9taWRfdClkb207CisgICAgZG9tY3RsLmRvbWFpbiA9IGRvbTsKICAgICBkb21jdGwudS5nZXRw YWdlZnJhbWVpbmZvMy5udW0gPSBudW07CiAgICAgc2V0X3hlbl9ndWVzdF9oYW5kbGUoZG9tY3Rs LnUuZ2V0cGFnZWZyYW1laW5mbzMuYXJyYXksIGFycik7CiAgICAgcmMgPSBkb19kb21jdGwoeGNo LCAmZG9tY3RsKTsKQEAgLTIzMyw3ICsyMzMsNyBAQCBpbnQgeGNfbW11ZXh0X29wKAogICAgIHhj X2ludGVyZmFjZSAqeGNoLAogICAgIHN0cnVjdCBtbXVleHRfb3AgKm9wLAogICAgIHVuc2lnbmVk IGludCBucl9vcHMsCi0gICAgZG9taWRfdCBkb20pCisgICAgdWludDMyX3QgZG9tKQogewogICAg IERFQ0xBUkVfSFlQRVJDQUxMX0JPVU5DRShvcCwgbnJfb3BzKnNpemVvZigqb3ApLCBYQ19IWVBF UkNBTExfQlVGRkVSX0JPVU5DRV9CT1RIKTsKICAgICBsb25nIHJldCA9IC0xOwpAQCAtMzQ0LDEy ICszNDQsMTIgQEAgaW50IHhjX21heGltdW1fcmFtX3BhZ2UoeGNfaW50ZXJmYWNlICp4Y2gsIHVu c2lnbmVkIGxvbmcgKm1heF9tZm4pCiAgICAgcmV0dXJuIHJjOwogfQogCi1sb25nIGxvbmcgeGNf ZG9tYWluX2dldF9jcHVfdXNhZ2UoIHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWlkLCBp bnQgdmNwdSApCitsb25nIGxvbmcgeGNfZG9tYWluX2dldF9jcHVfdXNhZ2UoeGNfaW50ZXJmYWNl ICp4Y2gsIHVpbnQzMl90IGRvbWlkLCBpbnQgdmNwdSkKIHsKICAgICBERUNMQVJFX0RPTUNUTDsK IAogICAgIGRvbWN0bC5jbWQgPSBYRU5fRE9NQ1RMX2dldHZjcHVpbmZvOwotICAgIGRvbWN0bC5k b21haW4gPSAoZG9taWRfdClkb21pZDsKKyAgICBkb21jdGwuZG9tYWluID0gZG9taWQ7CiAgICAg ZG9tY3RsLnUuZ2V0dmNwdWluZm8udmNwdSAgID0gKHVpbnQxNl90KXZjcHU7CiAgICAgaWYgKCAo ZG9fZG9tY3RsKHhjaCwgJmRvbWN0bCkgPCAwKSApCiAgICAgewpAQCAtNDAzLDcgKzQwMyw3IEBA IGludCB4Y19nZXRfcGZuX2xpc3QoeGNfaW50ZXJmYWNlICp4Y2gsCiAgICAgfQogCiAgICAgZG9t Y3RsLmNtZCA9IFhFTl9ET01DVExfZ2V0bWVtbGlzdDsKLSAgICBkb21jdGwuZG9tYWluICAgPSAo ZG9taWRfdClkb21pZDsKKyAgICBkb21jdGwuZG9tYWluID0gZG9taWQ7CiAgICAgZG9tY3RsLnUu Z2V0bWVtbGlzdC5tYXhfcGZucyA9IG1heF9wZm5zOwogICAgIHNldF94ZW5fZ3Vlc3RfaGFuZGxl KGRvbWN0bC51LmdldG1lbWxpc3QuYnVmZmVyLCBwZm5fYnVmKTsKIApkaWZmIC0tZ2l0IGEvdG9v bHMvbGlieGMveGNfcHJpdmF0ZS5oIGIvdG9vbHMvbGlieGMveGNfcHJpdmF0ZS5oCmluZGV4IDFj MjdiMGYuLjAzYmM5YTcgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhjL3hjX3ByaXZhdGUuaAorKysg Yi90b29scy9saWJ4Yy94Y19wcml2YXRlLmgKQEAgLTQxNCwxNiArNDE0LDE2IEBAIGludCB4Y19m ZnM2NCh1aW50NjRfdCB4KTsKIC8qKgogICogdm1fZXZlbnQgb3BlcmF0aW9ucy4gSW50ZXJuYWwg dXNlIG9ubHkuCiAgKi8KLWludCB4Y192bV9ldmVudF9jb250cm9sKHhjX2ludGVyZmFjZSAqeGNo LCBkb21pZF90IGRvbWFpbl9pZCwgdW5zaWduZWQgaW50IG9wLAoraW50IHhjX3ZtX2V2ZW50X2Nv bnRyb2woeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWFpbl9pZCwgdW5zaWduZWQgaW50 IG9wLAogICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG1vZGUsIHVpbnQzMl90 ICpwb3J0KTsKIC8qCiAgKiBFbmFibGVzIHZtX2V2ZW50IGFuZCByZXR1cm5zIHRoZSBtYXBwZWQg cmluZyBwYWdlIGluZGljYXRlZCBieSBwYXJhbS4KICAqIHBhcmFtIGNhbiBiZSBIVk1fUEFSQU1f UEFHSU5HL0FDQ0VTUy9TSEFSSU5HX1JJTkdfUEZOCiAgKi8KLXZvaWQgKnhjX3ZtX2V2ZW50X2Vu YWJsZSh4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBkb21haW5faWQsIGludCBwYXJhbSwKK3Zv aWQgKnhjX3ZtX2V2ZW50X2VuYWJsZSh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9tYWlu X2lkLCBpbnQgcGFyYW0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKnBvcnQp OwogCi1pbnQgZG9fZG1fb3AoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9taWQsIHVuc2ln bmVkIGludCBucl9idWZzLCAuLi4pOworaW50IGRvX2RtX29wKHhjX2ludGVyZmFjZSAqeGNoLCB1 aW50MzJfdCBkb21pZCwgdW5zaWduZWQgaW50IG5yX2J1ZnMsIC4uLik7CiAKICNlbmRpZiAvKiBf X1hDX1BSSVZBVEVfSF9fICovCiAKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hjX3Bzci5jIGIv dG9vbHMvbGlieGMveGNfcHNyLmMKaW5kZXggMDM5YjkyMC4uZWRlYzRkMSAxMDA2NDQKLS0tIGEv dG9vbHMvbGlieGMveGNfcHNyLmMKKysrIGIvdG9vbHMvbGlieGMveGNfcHNyLmMKQEAgLTMyLDcg KzMyLDcgQEAgaW50IHhjX3Bzcl9jbXRfYXR0YWNoKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJf dCBkb21pZCkKICAgICBERUNMQVJFX0RPTUNUTDsKIAogICAgIGRvbWN0bC5jbWQgPSBYRU5fRE9N Q1RMX3Bzcl9jbXRfb3A7Ci0gICAgZG9tY3RsLmRvbWFpbiA9IChkb21pZF90KWRvbWlkOworICAg IGRvbWN0bC5kb21haW4gPSBkb21pZDsKICAgICBkb21jdGwudS5wc3JfY210X29wLmNtZCA9IFhF Tl9ET01DVExfUFNSX0NNVF9PUF9BVFRBQ0g7CiAKICAgICByZXR1cm4gZG9fZG9tY3RsKHhjaCwg JmRvbWN0bCk7CkBAIC00Myw3ICs0Myw3IEBAIGludCB4Y19wc3JfY210X2RldGFjaCh4Y19pbnRl cmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQpCiAgICAgREVDTEFSRV9ET01DVEw7CiAKICAgICBk b21jdGwuY21kID0gWEVOX0RPTUNUTF9wc3JfY210X29wOwotICAgIGRvbWN0bC5kb21haW4gPSAo ZG9taWRfdClkb21pZDsKKyAgICBkb21jdGwuZG9tYWluID0gZG9taWQ7CiAgICAgZG9tY3RsLnUu cHNyX2NtdF9vcC5jbWQgPSBYRU5fRE9NQ1RMX1BTUl9DTVRfT1BfREVUQUNIOwogCiAgICAgcmV0 dXJuIGRvX2RvbWN0bCh4Y2gsICZkb21jdGwpOwpAQCAtNTYsNyArNTYsNyBAQCBpbnQgeGNfcHNy X2NtdF9nZXRfZG9tYWluX3JtaWQoeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWlkLAog ICAgIERFQ0xBUkVfRE9NQ1RMOwogCiAgICAgZG9tY3RsLmNtZCA9IFhFTl9ET01DVExfcHNyX2Nt dF9vcDsKLSAgICBkb21jdGwuZG9tYWluID0gKGRvbWlkX3QpZG9taWQ7CisgICAgZG9tY3RsLmRv bWFpbiA9IGRvbWlkOwogICAgIGRvbWN0bC51LnBzcl9jbXRfb3AuY21kID0gWEVOX0RPTUNUTF9Q U1JfQ01UX09QX1FVRVJZX1JNSUQ7CiAKICAgICByYyA9IGRvX2RvbWN0bCh4Y2gsICZkb21jdGwp OwpAQCAtMjc1LDcgKzI3NSw3IEBAIGludCB4Y19wc3JfY2F0X3NldF9kb21haW5fZGF0YSh4Y19p bnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQsCiAgICAgfQogCiAgICAgZG9tY3RsLmNtZCA9 IFhFTl9ET01DVExfcHNyX2NhdF9vcDsKLSAgICBkb21jdGwuZG9tYWluID0gKGRvbWlkX3QpZG9t aWQ7CisgICAgZG9tY3RsLmRvbWFpbiA9IGRvbWlkOwogICAgIGRvbWN0bC51LnBzcl9jYXRfb3Au Y21kID0gY21kOwogICAgIGRvbWN0bC51LnBzcl9jYXRfb3AudGFyZ2V0ID0gdGFyZ2V0OwogICAg IGRvbWN0bC51LnBzcl9jYXRfb3AuZGF0YSA9IGRhdGE7CkBAIC0zMTEsNyArMzExLDcgQEAgaW50 IHhjX3Bzcl9jYXRfZ2V0X2RvbWFpbl9kYXRhKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBk b21pZCwKICAgICB9CiAKICAgICBkb21jdGwuY21kID0gWEVOX0RPTUNUTF9wc3JfY2F0X29wOwot ICAgIGRvbWN0bC5kb21haW4gPSAoZG9taWRfdClkb21pZDsKKyAgICBkb21jdGwuZG9tYWluID0g ZG9taWQ7CiAgICAgZG9tY3RsLnUucHNyX2NhdF9vcC5jbWQgPSBjbWQ7CiAgICAgZG9tY3RsLnUu cHNyX2NhdF9vcC50YXJnZXQgPSB0YXJnZXQ7CiAKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hj X3J0LmMgYi90b29scy9saWJ4Yy94Y19ydC5jCmluZGV4IDc3YWFhMzYuLmFkMjU3YzYgMTAwNjQ0 Ci0tLSBhL3Rvb2xzL2xpYnhjL3hjX3J0LmMKKysrIGIvdG9vbHMvbGlieGMveGNfcnQuYwpAQCAt MzIsNyArMzIsNyBAQCBpbnQgeGNfc2NoZWRfcnRkc19kb21haW5fc2V0KHhjX2ludGVyZmFjZSAq eGNoLAogICAgIERFQ0xBUkVfRE9NQ1RMOwogCiAgICAgZG9tY3RsLmNtZCA9IFhFTl9ET01DVExf c2NoZWR1bGVyX29wOwotICAgIGRvbWN0bC5kb21haW4gPSAoZG9taWRfdCkgZG9taWQ7CisgICAg ZG9tY3RsLmRvbWFpbiA9IGRvbWlkOwogICAgIGRvbWN0bC51LnNjaGVkdWxlcl9vcC5zY2hlZF9p ZCA9IFhFTl9TQ0hFRFVMRVJfUlREUzsKICAgICBkb21jdGwudS5zY2hlZHVsZXJfb3AuY21kID0g WEVOX0RPTUNUTF9TQ0hFRE9QX3B1dGluZm87CiAgICAgZG9tY3RsLnUuc2NoZWR1bGVyX29wLnUu cnRkcy5wZXJpb2QgPSBzZG9tLT5wZXJpb2Q7CkBAIC01MSw3ICs1MSw3IEBAIGludCB4Y19zY2hl ZF9ydGRzX2RvbWFpbl9nZXQoeGNfaW50ZXJmYWNlICp4Y2gsCiAgICAgREVDTEFSRV9ET01DVEw7 CiAKICAgICBkb21jdGwuY21kID0gWEVOX0RPTUNUTF9zY2hlZHVsZXJfb3A7Ci0gICAgZG9tY3Rs LmRvbWFpbiA9IChkb21pZF90KSBkb21pZDsKKyAgICBkb21jdGwuZG9tYWluID0gZG9taWQ7CiAg ICAgZG9tY3RsLnUuc2NoZWR1bGVyX29wLnNjaGVkX2lkID0gWEVOX1NDSEVEVUxFUl9SVERTOwog ICAgIGRvbWN0bC51LnNjaGVkdWxlcl9vcC5jbWQgPSBYRU5fRE9NQ1RMX1NDSEVET1BfZ2V0aW5m bzsKIApAQCAtNzgsNyArNzgsNyBAQCBpbnQgeGNfc2NoZWRfcnRkc192Y3B1X3NldCh4Y19pbnRl cmZhY2UgKnhjaCwKICAgICAgICAgcmV0dXJuIC0xOwogCiAgICAgZG9tY3RsLmNtZCA9IFhFTl9E T01DVExfc2NoZWR1bGVyX29wOwotICAgIGRvbWN0bC5kb21haW4gPSAoZG9taWRfdCkgZG9taWQ7 CisgICAgZG9tY3RsLmRvbWFpbiA9IGRvbWlkOwogICAgIGRvbWN0bC51LnNjaGVkdWxlcl9vcC5z Y2hlZF9pZCA9IFhFTl9TQ0hFRFVMRVJfUlREUzsKICAgICBkb21jdGwudS5zY2hlZHVsZXJfb3Au Y21kID0gWEVOX0RPTUNUTF9TQ0hFRE9QX3B1dHZjcHVpbmZvOwogCkBAIC0xMTIsNyArMTEyLDcg QEAgaW50IHhjX3NjaGVkX3J0ZHNfdmNwdV9nZXQoeGNfaW50ZXJmYWNlICp4Y2gsCiAgICAgICAg IHJldHVybiAtMTsKIAogICAgIGRvbWN0bC5jbWQgPSBYRU5fRE9NQ1RMX3NjaGVkdWxlcl9vcDsK LSAgICBkb21jdGwuZG9tYWluID0gKGRvbWlkX3QpIGRvbWlkOworICAgIGRvbWN0bC5kb21haW4g PSBkb21pZDsKICAgICBkb21jdGwudS5zY2hlZHVsZXJfb3Auc2NoZWRfaWQgPSBYRU5fU0NIRURV TEVSX1JURFM7CiAgICAgZG9tY3RsLnUuc2NoZWR1bGVyX29wLmNtZCA9IFhFTl9ET01DVExfU0NI RURPUF9nZXR2Y3B1aW5mbzsKIApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfc3JfY29tbW9u LmggYi90b29scy9saWJ4Yy94Y19zcl9jb21tb24uaAppbmRleCAzNjM1NzA0Li5hMTQ1YTE1IDEw MDY0NAotLS0gYS90b29scy9saWJ4Yy94Y19zcl9jb21tb24uaAorKysgYi90b29scy9saWJ4Yy94 Y19zcl9jb21tb24uaApAQCAtMjUwLDcgKzI1MCw3IEBAIHN0cnVjdCB4Y19zcl9jb250ZXh0CiAg ICAgICAgICAgICAgKi8KICAgICAgICAgICAgIHhlbl9wZm5fdCAgICB4ZW5zdG9yZV9nZm4sICAg IGNvbnNvbGVfZ2ZuOwogICAgICAgICAgICAgdW5zaWduZWQgaW50IHhlbnN0b3JlX2V2dGNobiwg Y29uc29sZV9ldnRjaG47Ci0gICAgICAgICAgICBkb21pZF90ICAgICAgeGVuc3RvcmVfZG9taWQs ICBjb25zb2xlX2RvbWlkOworICAgICAgICAgICAgdWludDMyX3QgICAgIHhlbnN0b3JlX2RvbWlk LCAgY29uc29sZV9kb21pZDsKIAogICAgICAgICAgICAgLyogQml0bWFwIG9mIGN1cnJlbnRseSBw b3B1bGF0ZWQgUEZOcyBkdXJpbmcgcmVzdG9yZS4gKi8KICAgICAgICAgICAgIHVuc2lnbmVkIGxv bmcgKnBvcHVsYXRlZF9wZm5zOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfc3JfcmVzdG9y ZS5jIGIvdG9vbHMvbGlieGMveGNfc3JfcmVzdG9yZS5jCmluZGV4IGEwMTY2NzguLmVhN2IwMzMg MTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhjL3hjX3NyX3Jlc3RvcmUuYworKysgYi90b29scy9saWJ4 Yy94Y19zcl9yZXN0b3JlLmMKQEAgLTgyNSw4ICs4MjUsOCBAQCBzdGF0aWMgaW50IHJlc3RvcmUo c3RydWN0IHhjX3NyX2NvbnRleHQgKmN0eCkKIAogaW50IHhjX2RvbWFpbl9yZXN0b3JlKHhjX2lu dGVyZmFjZSAqeGNoLCBpbnQgaW9fZmQsIHVpbnQzMl90IGRvbSwKICAgICAgICAgICAgICAgICAg ICAgICB1bnNpZ25lZCBpbnQgc3RvcmVfZXZ0Y2huLCB1bnNpZ25lZCBsb25nICpzdG9yZV9tZm4s Ci0gICAgICAgICAgICAgICAgICAgICAgZG9taWRfdCBzdG9yZV9kb21pZCwgdW5zaWduZWQgaW50 IGNvbnNvbGVfZXZ0Y2huLAotICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgKmNv bnNvbGVfZ2ZuLCBkb21pZF90IGNvbnNvbGVfZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAg dWludDMyX3Qgc3RvcmVfZG9taWQsIHVuc2lnbmVkIGludCBjb25zb2xlX2V2dGNobiwKKyAgICAg ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nICpjb25zb2xlX2dmbiwgdWludDMyX3QgY29u c29sZV9kb21pZCwKICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgaHZtLCB1bnNp Z25lZCBpbnQgcGFlLAogICAgICAgICAgICAgICAgICAgICAgIHhjX21pZ3JhdGlvbl9zdHJlYW1f dCBzdHJlYW1fdHlwZSwKICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcmVzdG9yZV9jYWxs YmFja3MgKmNhbGxiYWNrcywgaW50IHNlbmRfYmFja19mZCkKZGlmZiAtLWdpdCBhL3Rvb2xzL2xp YnhjL3hjX3N1c3BlbmQuYyBiL3Rvb2xzL2xpYnhjL3hjX3N1c3BlbmQuYwppbmRleCA4MzYxYzdi Li4wY2U2MzY0IDEwMDY0NAotLS0gYS90b29scy9saWJ4Yy94Y19zdXNwZW5kLmMKKysrIGIvdG9v bHMvbGlieGMveGNfc3VzcGVuZC5jCkBAIC0zNSwxMiArMzUsMTIgQEAKIAogI2RlZmluZSBTVVNQ RU5EX0ZJTEVfQlVGTEVOIChzaXplb2YoU1VTUEVORF9MT0NLX0ZJTEUpICsgMTApCiAKLXN0YXRp YyB2b2lkIGdldF9zdXNwZW5kX2ZpbGUoY2hhciBidWZbXSwgaW50IGRvbWlkKQorc3RhdGljIHZv aWQgZ2V0X3N1c3BlbmRfZmlsZShjaGFyIGJ1ZltdLCB1aW50MzJfdCBkb21pZCkKIHsKICAgICBz bnByaW50ZihidWYsIFNVU1BFTkRfRklMRV9CVUZMRU4sIFNVU1BFTkRfTE9DS19GSUxFLCBkb21p ZCk7CiB9CiAKLXN0YXRpYyBpbnQgbG9ja19zdXNwZW5kX2V2ZW50KHhjX2ludGVyZmFjZSAqeGNo LCBpbnQgZG9taWQsIGludCAqbG9ja2ZkKQorc3RhdGljIGludCBsb2NrX3N1c3BlbmRfZXZlbnQo eGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWlkLCBpbnQgKmxvY2tmZCkKIHsKICAgICBp bnQgZmQgPSAtMSwgcjsKICAgICBjaGFyIHN1c3BlbmRfZmlsZVtTVVNQRU5EX0ZJTEVfQlVGTEVO XTsKQEAgLTEwMCw3ICsxMDAsNyBAQCBzdGF0aWMgaW50IGxvY2tfc3VzcGVuZF9ldmVudCh4Y19p bnRlcmZhY2UgKnhjaCwgaW50IGRvbWlkLCBpbnQgKmxvY2tmZCkKICAgICByZXR1cm4gLTE7CiB9 CiAKLXN0YXRpYyBpbnQgdW5sb2NrX3N1c3BlbmRfZXZlbnQoeGNfaW50ZXJmYWNlICp4Y2gsIGlu dCBkb21pZCwgaW50ICpsb2NrZmQpCitzdGF0aWMgaW50IHVubG9ja19zdXNwZW5kX2V2ZW50KHhj X2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21pZCwgaW50ICpsb2NrZmQpCiB7CiAgICAgaW50 IHI7CiAgICAgY2hhciBzdXNwZW5kX2ZpbGVbU1VTUEVORF9GSUxFX0JVRkxFTl07CkBAIC0xNDgs NyArMTQ4LDcgQEAgaW50IHhjX2F3YWl0X3N1c3BlbmQoeGNfaW50ZXJmYWNlICp4Y2gsIHhlbmV2 dGNobl9oYW5kbGUgKnhjZSwgaW50IHN1c3BlbmRfZXZ0Y2gKIC8qIEludGVybmFsIGNhbGxlcnMg YXJlIGFsbG93ZWQgdG8gY2FsbCB0aGlzIHdpdGggc3VzcGVuZF9ldnRjaG48MAogICogYnV0ICps b2NrZmQ+MC4gKi8KIGludCB4Y19zdXNwZW5kX2V2dGNobl9yZWxlYXNlKHhjX2ludGVyZmFjZSAq eGNoLCB4ZW5ldnRjaG5faGFuZGxlICp4Y2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBpbnQgZG9taWQsIGludCBzdXNwZW5kX2V2dGNobiwgaW50ICpsb2NrZmQpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkb21pZCwgaW50IHN1c3BlbmRfZXZ0Y2huLCBp bnQgKmxvY2tmZCkKIHsKICAgICBpZiAoc3VzcGVuZF9ldnRjaG4gPj0gMCkKICAgICAgICAgeGVu ZXZ0Y2huX3VuYmluZCh4Y2UsIHN1c3BlbmRfZXZ0Y2huKTsKQEAgLTE1Nyw3ICsxNTcsNyBAQCBp bnQgeGNfc3VzcGVuZF9ldnRjaG5fcmVsZWFzZSh4Y19pbnRlcmZhY2UgKnhjaCwgeGVuZXZ0Y2hu X2hhbmRsZSAqeGNlLAogfQogCiBpbnQgeGNfc3VzcGVuZF9ldnRjaG5faW5pdF9zYW5lKHhjX2lu dGVyZmFjZSAqeGNoLCB4ZW5ldnRjaG5faGFuZGxlICp4Y2UsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGludCBkb21pZCwgaW50IHBvcnQsIGludCAqbG9ja2ZkKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkb21pZCwgaW50IHBvcnQsIGludCAqbG9j a2ZkKQogewogICAgIGludCByYywgc3VzcGVuZF9ldnRjaG4gPSAtMTsKIApAQCAtMTg3LDcgKzE4 Nyw3IEBAIGludCB4Y19zdXNwZW5kX2V2dGNobl9pbml0X3NhbmUoeGNfaW50ZXJmYWNlICp4Y2gs IHhlbmV2dGNobl9oYW5kbGUgKnhjZSwKIH0KIAogaW50IHhjX3N1c3BlbmRfZXZ0Y2huX2luaXRf ZXhjbHVzaXZlKHhjX2ludGVyZmFjZSAqeGNoLCB4ZW5ldnRjaG5faGFuZGxlICp4Y2UsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRvbWlkLCBpbnQgcG9ydCwgaW50 ICpsb2NrZmQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg ZG9taWQsIGludCBwb3J0LCBpbnQgKmxvY2tmZCkKIHsKICAgICBpbnQgc3VzcGVuZF9ldnRjaG47 CiAKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hjX3RtZW0uYyBiL3Rvb2xzL2xpYnhjL3hjX3Rt ZW0uYwppbmRleCA5YmY1Y2MzLi5hMzY1Yzc0IDEwMDY0NAotLS0gYS90b29scy9saWJ4Yy94Y190 bWVtLmMKKysrIGIvdG9vbHMvbGlieGMveGNfdG1lbS5jCkBAIC0xOTEsNyArMTkxLDcgQEAgaW50 IHhjX3RtZW1fYXV0aCh4Y19pbnRlcmZhY2UgKnhjaCwKIAogLyogcmV0dXJucyAwIGlmIG5vdGhp bmcgdG8gc2F2ZSwgLTEgaWYgZXJyb3Igc2F2aW5nLCAxIGlmIHNhdmVkIHN1Y2Nlc3NmdWxseSAq LwogaW50IHhjX3RtZW1fc2F2ZSh4Y19pbnRlcmZhY2UgKnhjaCwKLSAgICAgICAgICAgICAgICAg aW50IGRvbSwgaW50IGlvX2ZkLCBpbnQgbGl2ZSwgaW50IGZpZWxkX21hcmtlcikKKyAgICAgICAg ICAgICAgICAgdWludDMyX3QgZG9taWQsIGludCBpb19mZCwgaW50IGxpdmUsIGludCBmaWVsZF9t YXJrZXIpCiB7CiAgICAgaW50IG1hcmtlciA9IGZpZWxkX21hcmtlcjsKICAgICBpbnQgaSwgaiwg cmM7CkBAIC0yMDIsNyArMjAyLDcgQEAgaW50IHhjX3RtZW1fc2F2ZSh4Y19pbnRlcmZhY2UgKnhj aCwKICAgICBjaGFyICpidWYgPSBOVUxMOwogCiAgICAgcmMgPSB4Y190bWVtX2NvbnRyb2woeGNo LCAwLCBYRU5fU1lTQ1RMX1RNRU1fT1BfU0FWRV9CRUdJTiwKLSAgICAgICAgICAgICAgICAgICAg ICAgICBkb20sIDAgLyogbGVuKi8gLCBsaXZlLCBOVUxMKTsKKyAgICAgICAgICAgICAgICAgICAg ICAgICBkb21pZCwgMCAvKiBsZW4qLyAsIGxpdmUsIE5VTEwpOwogICAgIGlmICggcmMgKQogICAg IHsKICAgICAgICAgLyogTm90aGluZyB0byBzYXZlIC0gbm8gdG1lbSBlbmFibGVkLiAqLwpAQCAt MjE0LDcgKzIxNCw3IEBAIGludCB4Y190bWVtX3NhdmUoeGNfaW50ZXJmYWNlICp4Y2gsCiAKICAg ICBpZiAoIHhjX3RtZW1fY29udHJvbCh4Y2gsIDAgLyogcG9vbF9pZCAqLywKICAgICAgICAgICAg ICAgICAgICAgICAgICBYRU5fU1lTQ1RMX1RNRU1fT1BfR0VUX0NMSUVOVF9JTkZPLAotICAgICAg ICAgICAgICAgICAgICAgICAgIGRvbSAvKiBjbGlfaWQgKi8sIHNpemVvZihpbmZvKSwgMCAvKiBh cmcgKi8sCisgICAgICAgICAgICAgICAgICAgICAgICAgZG9taWQgLyogY2xpX2lkICovLCBzaXpl b2YoaW5mbyksIDAgLyogYXJnICovLAogICAgICAgICAgICAgICAgICAgICAgICAgICZpbmZvKSA8 IDAgKQogICAgICAgICByZXR1cm4gLTE7CiAKQEAgLTIyOCw3ICsyMjgsNyBAQCBpbnQgeGNfdG1l bV9zYXZlKHhjX2ludGVyZmFjZSAqeGNoLAogCiAgICAgcmMgPSB4Y190bWVtX2NvbnRyb2woeGNo LCAwIC8qIHBvb2xfaWQgaXMgaWdub3JlZC4gKi8sCiAgICAgICAgICAgICAgICAgICAgICAgICAg WEVOX1NZU0NUTF9UTUVNX09QX0dFVF9QT09MUywKLSAgICAgICAgICAgICAgICAgICAgICAgICBk b20gLyogY2xpX2lkICovLCBzaXplb2YoKnBvb2xzKSAqIGluZm8ubnJfcG9vbHMsCisgICAgICAg ICAgICAgICAgICAgICAgICAgZG9taWQgLyogY2xpX2lkICovLCBzaXplb2YoKnBvb2xzKSAqIGlu Zm8ubnJfcG9vbHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgMCAvKiBhcmcgKi8sIHBvb2xz KTsKIAogICAgIGlmICggcmMgPCAwIHx8ICh1aW50MzJfdClyYyA+IGluZm8ubnJfcG9vbHMgKQpA QCAtMjc0LDkgKzI3NCw5IEBAIGludCB4Y190bWVtX3NhdmUoeGNfaW50ZXJmYWNlICp4Y2gsCiAg ICAgICAgICAgICBmb3IgKCBqID0gcG9vbC0+bl9wYWdlczsgaiA+IDA7IGotLSApCiAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgaW50IHJldDsKLSAgICAgICAgICAgICAgICBpZiAoIChy ZXQgPSB4Y190bWVtX2NvbnRyb2woeGNoLCBwb29sLT5pZCwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgWEVOX1NZU0NUTF9UTUVNX09QX1NBVkVfR0VUX05FWFRf UEFHRSwgZG9tLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi dWZzaXplLCAwLCBidWYpKSA+IDAgKQorICAgICAgICAgICAgICAgIGlmICggKHJldCA9IHhjX3Rt ZW1fY29udHJvbCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgeGNoLCBwb29sLT5pZCwgWEVO X1NZU0NUTF9UTUVNX09QX1NBVkVfR0VUX05FWFRfUEFHRSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgZG9taWQsIGJ1ZnNpemUsIDAsIGJ1ZikpID4gMCApCiAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICBoID0gKHN0cnVjdCB0bWVtX2hhbmRsZSAqKWJ1ZjsKICAgICAg ICAgICAgICAgICAgICAgaWYgKCB3cml0ZV9leGFjdChpb19mZCwgJmgtPm9pZCwgc2l6ZW9mKGgt Pm9pZCkpICkKQEAgLTMwNSw3ICszMDUsNyBAQCBpbnQgeGNfdG1lbV9zYXZlKHhjX2ludGVyZmFj ZSAqeGNoLAogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgIERQ UklOVEYoInNhdmVkICUiUFJJZDY0IiB0bWVtIHBhZ2VzIGZvciBkb209JWQgcG9vbD0lZCwgY2hl Y2tzdW09JXhcbiIsCi0gICAgICAgICAgICAgICAgICAgIHBvb2wtPm5fcGFnZXMgLSBqLCBkb20s IHBvb2wtPmlkLCBjaGVja3N1bSk7CisgICAgICAgICAgICAgICAgICAgIHBvb2wtPm5fcGFnZXMg LSBqLCBkb21pZCwgcG9vbC0+aWQsIGNoZWNrc3VtKTsKICAgICAgICAgfQogICAgIH0KICAgICBm cmVlKHBvb2xzKTsKQEAgLTMyMCw3ICszMjAsNyBAQCBpbnQgeGNfdG1lbV9zYXZlKHhjX2ludGVy ZmFjZSAqeGNoLAogfQogCiAvKiBvbmx5IGNhbGxlZCBmb3IgbGl2ZSBtaWdyYXRpb24gKi8KLWlu dCB4Y190bWVtX3NhdmVfZXh0cmEoeGNfaW50ZXJmYWNlICp4Y2gsIGludCBkb20sIGludCBpb19m ZCwgaW50IGZpZWxkX21hcmtlcikKK2ludCB4Y190bWVtX3NhdmVfZXh0cmEoeGNfaW50ZXJmYWNl ICp4Y2gsIHVpbnQzMl90IGRvbWlkLCBpbnQgaW9fZmQsIGludCBmaWVsZF9tYXJrZXIpCiB7CiAg ICAgc3RydWN0IHRtZW1faGFuZGxlIGhhbmRsZTsKICAgICBpbnQgbWFya2VyID0gZmllbGRfbWFy a2VyOwpAQCAtMzI5LDcgKzMyOSw3IEBAIGludCB4Y190bWVtX3NhdmVfZXh0cmEoeGNfaW50ZXJm YWNlICp4Y2gsIGludCBkb20sIGludCBpb19mZCwgaW50IGZpZWxkX21hcmtlcikKIAogICAgIGlm ICggd3JpdGVfZXhhY3QoaW9fZmQsICZtYXJrZXIsIHNpemVvZihtYXJrZXIpKSApCiAgICAgICAg IHJldHVybiAtMTsKLSAgICB3aGlsZSAoIHhjX3RtZW1fY29udHJvbCh4Y2gsIDAsIFhFTl9TWVND VExfVE1FTV9PUF9TQVZFX0dFVF9ORVhUX0lOViwgZG9tLAorICAgIHdoaWxlICggeGNfdG1lbV9j b250cm9sKHhjaCwgMCwgWEVOX1NZU0NUTF9UTUVNX09QX1NBVkVfR0VUX05FWFRfSU5WLCBkb21p ZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoaGFuZGxlKSwwLCZoYW5kbGUp ID4gMCApIHsKICAgICAgICAgaWYgKCB3cml0ZV9leGFjdChpb19mZCwgJmhhbmRsZS5wb29sX2lk LCBzaXplb2YoaGFuZGxlLnBvb2xfaWQpKSApCiAgICAgICAgICAgICByZXR1cm4gLTE7CkBAIC0z NTAsOSArMzUwLDkgQEAgaW50IHhjX3RtZW1fc2F2ZV9leHRyYSh4Y19pbnRlcmZhY2UgKnhjaCwg aW50IGRvbSwgaW50IGlvX2ZkLCBpbnQgZmllbGRfbWFya2VyKQogfQogCiAvKiBvbmx5IGNhbGxl ZCBmb3IgbGl2ZSBtaWdyYXRpb24gKi8KLXZvaWQgeGNfdG1lbV9zYXZlX2RvbmUoeGNfaW50ZXJm YWNlICp4Y2gsIGludCBkb20pCit2b2lkIHhjX3RtZW1fc2F2ZV9kb25lKHhjX2ludGVyZmFjZSAq eGNoLCB1aW50MzJfdCBkb21pZCkKIHsKLSAgICB4Y190bWVtX2NvbnRyb2woeGNoLDAsWEVOX1NZ U0NUTF9UTUVNX09QX1NBVkVfRU5ELGRvbSwwLDAsTlVMTCk7CisgICAgeGNfdG1lbV9jb250cm9s KHhjaCwgMCwgWEVOX1NZU0NUTF9UTUVNX09QX1NBVkVfRU5ELCBkb21pZCwgMCwgMCwgTlVMTCk7 CiB9CiAKIC8qIHJlc3RvcmUgcm91dGluZXMgKi8KQEAgLTM3OSw3ICszNzksNyBAQCBzdGF0aWMg aW50IHhjX3RtZW1fcmVzdG9yZV9uZXdfcG9vbCgKICAgICAgICAgICAgICAgICAgICAgICAgICAg IDAgLyogYXJnICovLCAmcG9vbCk7CiB9CiAKLWludCB4Y190bWVtX3Jlc3RvcmUoeGNfaW50ZXJm YWNlICp4Y2gsIGludCBkb20sIGludCBpb19mZCkKK2ludCB4Y190bWVtX3Jlc3RvcmUoeGNfaW50 ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWlkLCBpbnQgaW9fZmQpCiB7CiAgICAgdWludDMyX3Qg bWludXNvbmU7CiAgICAgeGVuX3RtZW1fY2xpZW50X3QgaW5mbzsKQEAgLTM5NCwxMiArMzk0LDEy IEBAIGludCB4Y190bWVtX3Jlc3RvcmUoeGNfaW50ZXJmYWNlICp4Y2gsIGludCBkb20sIGludCBp b19mZCkKICAgICBpZiAoICFpbmZvLm5yX3Bvb2xzICkKICAgICAgICAgcmV0dXJuIC0xOwogCi0g ICAgaWYgKCB4Y190bWVtX2NvbnRyb2woeGNoLDAsWEVOX1NZU0NUTF9UTUVNX09QX1JFU1RPUkVf QkVHSU4sZG9tLDAsMCxOVUxMKSA8IDAgKQorICAgIGlmICggeGNfdG1lbV9jb250cm9sKHhjaCwg MCwgWEVOX1NZU0NUTF9UTUVNX09QX1JFU1RPUkVfQkVHSU4sIGRvbWlkLCAwLCAwLCBOVUxMKSA8 IDAgKQogICAgICAgICByZXR1cm4gLTE7CiAKICAgICBpZiAoIHhjX3RtZW1fY29udHJvbCh4Y2gs IDAgLyogcG9vbF9pZCAqLywKICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5fU1lTQ1RMX1RN RU1fT1BfU0VUX0NMSUVOVF9JTkZPLAotICAgICAgICAgICAgICAgICAgICAgICAgIGRvbSAvKiBj bGlfaWQgKi8sIHNpemVvZihpbmZvKSwgMCAvKiBhcmcgKi8sCisgICAgICAgICAgICAgICAgICAg ICAgICAgZG9taWQgLyogY2xpX2lkICovLCBzaXplb2YoaW5mbyksIDAgLyogYXJnICovLAogICAg ICAgICAgICAgICAgICAgICAgICAgICZpbmZvKSA8IDAgKQogICAgICAgICByZXR1cm4gLTE7CiAK QEAgLTQxNSw3ICs0MTUsNyBAQCBpbnQgeGNfdG1lbV9yZXN0b3JlKHhjX2ludGVyZmFjZSAqeGNo LCBpbnQgZG9tLCBpbnQgaW9fZmQpCiAgICAgICAgIGlmICggcmVhZF9leGFjdChpb19mZCwgJnBv b2wsIHNpemVvZihwb29sKSkgKQogICAgICAgICAgICAgZ290byBvdXRfbWVtb3J5OwogCi0gICAg ICAgIGlmICggeGNfdG1lbV9yZXN0b3JlX25ld19wb29sKHhjaCwgZG9tLCBwb29sLmlkLCBwb29s LmZsYWdzLnJhdywKKyAgICAgICAgaWYgKCB4Y190bWVtX3Jlc3RvcmVfbmV3X3Bvb2woeGNoLCBk b21pZCwgcG9vbC5pZCwgcG9vbC5mbGFncy5yYXcsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHBvb2wudXVpZFswXSwgcG9vbC51dWlkWzFdKSA8IDAgKQogICAgICAgICAg ICAgZ290byBvdXRfbWVtb3J5OwogCkBAIC00NDcsOSArNDQ3LDkgQEAgaW50IHhjX3RtZW1fcmVz dG9yZSh4Y19pbnRlcmZhY2UgKnhjaCwgaW50IGRvbSwgaW50IGlvX2ZkKQogICAgICAgICAgICAg ICAgIGdvdG8gb3V0X21lbW9yeTsKIAogICAgICAgICAgICAgY2hlY2tzdW0gKz0gKmJ1ZjsKLSAg ICAgICAgICAgIGlmICggKHJjID0geGNfdG1lbV9jb250cm9sX29pZCh4Y2gsIHBvb2wuaWQsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVOX1NZU0NUTF9UTUVN X09QX1JFU1RPUkVfUFVUX1BBR0UsIGRvbSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBidWZzaXplLCBpbmRleCwgb2lkLCBidWYpKSA8PSAwICkKKyAgICAgICAg ICAgIGlmICggKHJjID0geGNfdG1lbV9jb250cm9sX29pZCgKKyAgICAgICAgICAgICAgICAgICAg ICB4Y2gsIHBvb2wuaWQsIFhFTl9TWVNDVExfVE1FTV9PUF9SRVNUT1JFX1BVVF9QQUdFLAorICAg ICAgICAgICAgICAgICAgICAgIGRvbWlkLCBidWZzaXplLCBpbmRleCwgb2lkLCBidWYpKSA8PSAw ICkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBEUFJJTlRGKCJ4Y190bWVtX3Jlc3Rv cmU6IHB1dHRpbmcgcGFnZSBmYWlsZWQsIHJjPSVkXG4iLHJjKTsKICBvdXRfbWVtb3J5OgpAQCAt NDU5LDcgKzQ1OSw3IEBAIGludCB4Y190bWVtX3Jlc3RvcmUoeGNfaW50ZXJmYWNlICp4Y2gsIGlu dCBkb20sIGludCBpb19mZCkKICAgICAgICAgfQogICAgICAgICBpZiAoIHBvb2wubl9wYWdlcyAp CiAgICAgICAgICAgICBEUFJJTlRGKCJyZXN0b3JlZCAlIlBSSWQ2NCIgdG1lbSBwYWdlcyBmb3Ig ZG9tPSVkIHBvb2w9JWQsIGNoZWNrPSV4XG4iLAotICAgICAgICAgICAgICAgICAgICBwb29sLm5f cGFnZXMgLSBqLCBkb20sIHBvb2wuaWQsIGNoZWNrc3VtKTsKKyAgICAgICAgICAgICAgICAgICAg cG9vbC5uX3BhZ2VzIC0gaiwgZG9taWQsIHBvb2wuaWQsIGNoZWNrc3VtKTsKICAgICB9CiAgICAg ZnJlZShidWYpOwogCkBAIC00NjcsNyArNDY3LDcgQEAgaW50IHhjX3RtZW1fcmVzdG9yZSh4Y19p bnRlcmZhY2UgKnhjaCwgaW50IGRvbSwgaW50IGlvX2ZkKQogfQogCiAvKiBvbmx5IGNhbGxlZCBm b3IgbGl2ZSBtaWdyYXRpb24sIG11c3QgYmUgY2FsbGVkIGFmdGVyIHN1c3BlbmQgKi8KLWludCB4 Y190bWVtX3Jlc3RvcmVfZXh0cmEoeGNfaW50ZXJmYWNlICp4Y2gsIGludCBkb20sIGludCBpb19m ZCkKK2ludCB4Y190bWVtX3Jlc3RvcmVfZXh0cmEoeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90 IGRvbWlkLCBpbnQgaW9fZmQpCiB7CiAgICAgdWludDMyX3QgcG9vbF9pZDsKICAgICBzdHJ1Y3Qg eGVuX3RtZW1fb2lkIG9pZDsKQEAgLTQ4MSw4ICs0ODEsOSBAQCBpbnQgeGNfdG1lbV9yZXN0b3Jl X2V4dHJhKHhjX2ludGVyZmFjZSAqeGNoLCBpbnQgZG9tLCBpbnQgaW9fZmQpCiAgICAgICAgICAg ICByZXR1cm4gLTE7CiAgICAgICAgIGlmICggcmVhZF9leGFjdChpb19mZCwgJmluZGV4LCBzaXpl b2YoaW5kZXgpKSApCiAgICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgIGlmICggeGNfdG1l bV9jb250cm9sX29pZCh4Y2gsIHBvb2xfaWQsIFhFTl9TWVNDVExfVE1FTV9PUF9SRVNUT1JFX0ZM VVNIX1BBR0UsIGRvbSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCxpbmRleCxvaWQs TlVMTCkgPD0gMCApCisgICAgICAgIGlmICggeGNfdG1lbV9jb250cm9sX29pZCgKKyAgICAgICAg ICAgICAgICAgeGNoLCBwb29sX2lkLCBYRU5fU1lTQ1RMX1RNRU1fT1BfUkVTVE9SRV9GTFVTSF9Q QUdFLAorICAgICAgICAgICAgICAgICBkb21pZCwgMCwgaW5kZXgsIG9pZCwgTlVMTCkgPD0gMCAp CiAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgIGNvdW50Kys7CiAgICAgICAgIGNoZWNr c3VtICs9IHBvb2xfaWQgKyBvaWQub2lkWzBdICsgb2lkLm9pZFsxXSArIG9pZC5vaWRbMl0gKyBp bmRleDsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hjX3ZtX2V2ZW50LmMgYi90b29scy9saWJ4 Yy94Y192bV9ldmVudC5jCmluZGV4IDQ0M2M3M2IuLjg2NzQ2MDcgMTAwNjQ0Ci0tLSBhL3Rvb2xz L2xpYnhjL3hjX3ZtX2V2ZW50LmMKKysrIGIvdG9vbHMvbGlieGMveGNfdm1fZXZlbnQuYwpAQCAt MjIsNyArMjIsNyBAQAogCiAjaW5jbHVkZSAieGNfcHJpdmF0ZS5oIgogCi1pbnQgeGNfdm1fZXZl bnRfY29udHJvbCh4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBkb21haW5faWQsIHVuc2lnbmVk IGludCBvcCwKK2ludCB4Y192bV9ldmVudF9jb250cm9sKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50 MzJfdCBkb21haW5faWQsIHVuc2lnbmVkIGludCBvcCwKICAgICAgICAgICAgICAgICAgICAgICAg IHVuc2lnbmVkIGludCBtb2RlLCB1aW50MzJfdCAqcG9ydCkKIHsKICAgICBERUNMQVJFX0RPTUNU TDsKQEAgLTM5LDcgKzM5LDcgQEAgaW50IHhjX3ZtX2V2ZW50X2NvbnRyb2woeGNfaW50ZXJmYWNl ICp4Y2gsIGRvbWlkX3QgZG9tYWluX2lkLCB1bnNpZ25lZCBpbnQgb3AsCiAgICAgcmV0dXJuIHJj OwogfQogCi12b2lkICp4Y192bV9ldmVudF9lbmFibGUoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlk X3QgZG9tYWluX2lkLCBpbnQgcGFyYW0sCit2b2lkICp4Y192bV9ldmVudF9lbmFibGUoeGNfaW50 ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWFpbl9pZCwgaW50IHBhcmFtLAogICAgICAgICAgICAg ICAgICAgICAgICAgIHVpbnQzMl90ICpwb3J0KQogewogICAgIHZvaWQgKnJpbmdfcGFnZSA9IE5V TEw7CmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94Z19wcml2YXRlLmMgYi90b29scy9saWJ4Yy94 Z19wcml2YXRlLmMKaW5kZXggZDk4ZjI4Mi4uMjA3M2RiYSAxMDA2NDQKLS0tIGEvdG9vbHMvbGli eGMveGdfcHJpdmF0ZS5jCisrKyBiL3Rvb2xzL2xpYnhjL3hnX3ByaXZhdGUuYwpAQCAtMTYxLDcg KzE2MSw3IEBAIGNoYXIgKnhjX2luZmxhdGVfYnVmZmVyKHhjX2ludGVyZmFjZSAqeGNoLAogLyoq KioqKioqKioqKioqKioqKiovCiAKIGludCBwaW5fdGFibGUoCi0gICAgeGNfaW50ZXJmYWNlICp4 Y2gsIHVuc2lnbmVkIGludCB0eXBlLCB1bnNpZ25lZCBsb25nIG1mbiwgZG9taWRfdCBkb20pCisg ICAgeGNfaW50ZXJmYWNlICp4Y2gsIHVuc2lnbmVkIGludCB0eXBlLCB1bnNpZ25lZCBsb25nIG1m biwgdWludDMyX3QgZG9tKQogewogICAgIHN0cnVjdCBtbXVleHRfb3Agb3A7CiAKZGlmZiAtLWdp dCBhL3Rvb2xzL2xpYnhjL3hnX3ByaXZhdGUuaCBiL3Rvb2xzL2xpYnhjL3hnX3ByaXZhdGUuaApp bmRleCAxNzVjMWU1Li5mMGE0YjJjIDEwMDY0NAotLS0gYS90b29scy9saWJ4Yy94Z19wcml2YXRl LmgKKysrIGIvdG9vbHMvbGlieGMveGdfcHJpdmF0ZS5oCkBAIC0xNDIsNiArMTQyLDYgQEAgc3Rh dGljIGlubGluZSB4ZW5fcGZuX3QgeGNfcGZuX3RvX21mbih4ZW5fcGZuX3QgcGZuLCB4ZW5fcGZu X3QgKnAybSwKICNkZWZpbmUgTUFERFJfTUFTS19YODYgIChNRk5fTUFTS19YODYgPDwgUEFHRV9T SElGVF9YODYpCiAKIGludCBwaW5fdGFibGUoeGNfaW50ZXJmYWNlICp4Y2gsIHVuc2lnbmVkIGlu dCB0eXBlLCB1bnNpZ25lZCBsb25nIG1mbiwKLSAgICAgICAgICAgICAgZG9taWRfdCBkb20pOwor ICAgICAgICAgICAgICB1aW50MzJfdCBkb20pOwogCiAjZW5kaWYgLyogWEdfUFJJVkFURV9IICov Ci0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6 Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=