From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shards.monkeyblade.net ([23.128.96.9]:35268 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726446AbeGWEu3 (ORCPT ); Mon, 23 Jul 2018 00:50:29 -0400 Received: from localhost (unknown [172.58.43.254]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) (Authenticated sender: davem-davemloft) by shards.monkeyblade.net (Postfix) with ESMTPSA id 1C78410931C5A for ; Sun, 22 Jul 2018 20:51:17 -0700 (PDT) Date: Sun, 22 Jul 2018 20:51:17 -0700 (PDT) Message-Id: <20180722.205117.1509062152547983504.davem@davemloft.net> To: stable@vger.kernel.org Subject: [PATCHES] Networking From: David Miller Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Sun_Jul_22_20_51_17_2018_135)--" Content-Transfer-Encoding: 7bit Sender: stable-owner@vger.kernel.org List-ID: ----Next_Part(Sun_Jul_22_20_51_17_2018_135)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Please queue up the following networking bug fixxes for 4.14.x and 4.17.x -stable, respectively. Thanks! ----Next_Part(Sun_Jul_22_20_51_17_2018_135)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_414.mbox" RnJvbSA3MDZmYWEzMDhlM2RkMjI5NTZhOWViNTI3NDNlZjI0MThiZWE0Y2IxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/VG9rZT0yMEg9QzM9QjhpbGFuZC1KPUMzPUI4 cmdlbnNlbj89IDx0b2tlQHRva2UuZGs+CkRhdGU6IE1vbiwgMiBKdWwgMjAxOCAyMjo1MjoyMCAr MDIwMApTdWJqZWN0OiBbUEFUQ0ggMDEvMThdIGdlbl9zdGF0czogRml4IG5ldGxpbmsgc3RhdHMg ZHVtcGluZyBpbiB0aGUgcHJlc2VuY2Ugb2YKIHBhZGRpbmcKTUlNRS1WZXJzaW9uOiAxLjAKQ29u dGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5j b2Rpbmc6IDhiaXQKClsgVXBzdHJlYW0gY29tbWl0IGQ1YTY3MmFjOWY0OGY4MWIyMGIxY2FkMWQ5 ZWQ3YmJmNGU0MThkNGMgXQoKVGhlIGdlbl9zdGF0cyBmYWNpbGl0eSB3aWxsIGFkZCBhIGhlYWRl ciBmb3IgdGhlIHRvcGxldmVsIG5sYXR0ciBvZiB0eXBlClRDQV9TVEFUUzIgdGhhdCBjb250YWlu cyBhbGwgc3RhdHMgYWRkZWQgYnkgcWRpc2MgY2FsbGJhY2tzLiBBIHJlZmVyZW5jZQp0byB0aGlz IGhlYWRlciBpcyBzdG9yZWQgaW4gdGhlIGduZXRfZHVtcCBzdHJ1Y3QsIGFuZCB3aGVuIGFsbCB0 aGUKcGVyLXFkaXNjIGNhbGxiYWNrcyBoYXZlIGZpbmlzaGVkIGFkZGluZyB0aGVpciBzdGF0cywg dGhlIGxlbmd0aCBvZiB0aGUKY29udGFpbmluZyBoZWFkZXIgd2lsbCBiZSBhZGp1c3RlZCB0byB0 aGUgcmlnaHQgdmFsdWUuCgpIb3dldmVyLCBvbiBhcmNoaXRlY3R1cmVzIHRoYXQgbmVlZCBwYWRk aW5nIChpLmUuLCB0aGF0IGRvbid0IHNldApDT05GSUdfSEFWRV9FRkZJQ0lFTlRfVU5BTElHTkVE X0FDQ0VTUyksIHRoZSBwYWRkaW5nIG5sYXR0ciBpcyBhZGRlZApiZWZvcmUgdGhlIHN0YXRzLCB3 aGljaCBtZWFucyB0aGF0IHRoZSBzdG9yZWQgcG9pbnRlciB3aWxsIHBvaW50IHRvIHRoZQpwYWRk aW5nLCBhbmQgc28gd2hlbiB0aGUgaGVhZGVyIGlzIGZpeGVkIHVwLCB0aGUgcmVzdWx0IGlzIGp1 c3QgYSB2ZXJ5CmJpZyBwYWRkaW5nIG5sYXR0ci4gQmVjYXVzZSBtb3N0IHFkaXNjcyBhbHNvIHN1 cHBseSB0aGUgbGVnYWN5IFRDQV9TVEFUUwpzdHJ1Y3QsIHRoaXMgcHJvYmxlbSBoYXMgYmVlbiBt b3N0bHkgaW52aXNpYmxlLCBidXQgd2UgZXhwb3NlZCBpdCB3aXRoCnRoZSBuZXRsaW5rIGF0dHJp YnV0ZS1iYXNlZCBzdGF0aXN0aWNzIGluIENBS0UuCgpGaXggdGhlIGlzc3VlIGJ5IGZpeGluZyB1 cCB0aGUgc3RvcmVkIHBvaW50ZXIgaWYgaXQgcG9pbnRzIHRvIGEgcGFkZGluZwpubGF0dHIuCgpU ZXN0ZWQtYnk6IFBldGUgSGVpc3QgPHBldGVAaGVpc3RwLm5ldD4KVGVzdGVkLWJ5OiBLZXZpbiBE YXJieXNoaXJlLUJyeWFudCA8a2V2aW5AZGFyYnlzaGlyZS1icnlhbnQubWUudWs+ClNpZ25lZC1v ZmYtYnk6IFRva2UgSMO4aWxhbmQtSsO4cmdlbnNlbiA8dG9rZUB0b2tlLmRrPgpTaWduZWQtb2Zm LWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2NvcmUv Z2VuX3N0YXRzLmMgfCAxNiArKysrKysrKysrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgMTQgaW5z ZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvY29yZS9nZW5fc3Rh dHMuYyBiL25ldC9jb3JlL2dlbl9zdGF0cy5jCmluZGV4IDg3ZjI4NTU3YjMyOS4uNDQxYzA0YWRl ZGJhIDEwMDY0NAotLS0gYS9uZXQvY29yZS9nZW5fc3RhdHMuYworKysgYi9uZXQvY29yZS9nZW5f c3RhdHMuYwpAQCAtNzcsOCArNzcsMjAgQEAgZ25ldF9zdGF0c19zdGFydF9jb3B5X2NvbXBhdChz dHJ1Y3Qgc2tfYnVmZiAqc2tiLCBpbnQgdHlwZSwgaW50IHRjX3N0YXRzX3R5cGUsCiAJCWQtPmxv Y2sgPSBsb2NrOwogCQlzcGluX2xvY2tfYmgobG9jayk7CiAJfQotCWlmIChkLT50YWlsKQotCQly ZXR1cm4gZ25ldF9zdGF0c19jb3B5KGQsIHR5cGUsIE5VTEwsIDAsIHBhZGF0dHIpOworCWlmIChk LT50YWlsKSB7CisJCWludCByZXQgPSBnbmV0X3N0YXRzX2NvcHkoZCwgdHlwZSwgTlVMTCwgMCwg cGFkYXR0cik7CisKKwkJLyogVGhlIGluaXRpYWwgYXR0cmlidXRlIGFkZGVkIGluIGduZXRfc3Rh dHNfY29weSgpIG1heSBiZQorCQkgKiBwcmVjZWRlZCBieSBhIHBhZGRpbmcgYXR0cmlidXRlLCBp biB3aGljaCBjYXNlIGQtPnRhaWwgd2lsbAorCQkgKiBlbmQgdXAgcG9pbnRpbmcgYXQgdGhlIHBh ZGRpbmcgaW5zdGVhZCBvZiB0aGUgcmVhbCBhdHRyaWJ1dGUuCisJCSAqIEZpeCB0aGlzIHNvIGdu ZXRfc3RhdHNfZmluaXNoX2NvcHkoKSBhZGp1c3RzIHRoZSBsZW5ndGggb2YKKwkJICogdGhlIHJp Z2h0IGF0dHJpYnV0ZS4KKwkJICovCisJCWlmIChyZXQgPT0gMCAmJiBkLT50YWlsLT5ubGFfdHlw ZSA9PSBwYWRhdHRyKQorCQkJZC0+dGFpbCA9IChzdHJ1Y3QgbmxhdHRyICopKChjaGFyICopZC0+ dGFpbCArCisJCQkJCQkgICAgTkxBX0FMSUdOKGQtPnRhaWwtPm5sYV9sZW4pKTsKKwkJcmV0dXJu IHJldDsKKwl9CiAKIAlyZXR1cm4gMDsKIH0KLS0gCjIuMTcuMQoKCkZyb20gMDBhMThmZDUxMjA4 MGEwN2YzOGJhY2YxNWYwMzBkZDNhOTZkY2Y3ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogVHlsZXIgSGlja3MgPHR5aGlja3NAY2Fub25pY2FsLmNvbT4KRGF0ZTogVGh1LCA1IEp1bCAy MDE4IDE4OjQ5OjIzICswMDAwClN1YmplY3Q6IFtQQVRDSCAwMi8xOF0gaXB2NDogUmV0dXJuIEVJ TlZBTCB3aGVuIHBpbmdfZ3JvdXBfcmFuZ2Ugc3lzY3RsCiBkb2Vzbid0IG1hcCB0byB1c2VyIG5z CgpbIFVwc3RyZWFtIGNvbW1pdCA3MGJhNWI2ZGI5NmZmNzMyNGI4Y2ZjODdlMGQwMzgzY2Y1OWM5 Njc3IF0KClRoZSBsb3cgYW5kIGhpZ2ggdmFsdWVzIG9mIHRoZSBuZXQuaXB2NC5waW5nX2dyb3Vw X3JhbmdlIHN5c2N0bCB3ZXJlCmJlaW5nIHNpbGVudGx5IGZvcmNlZCB0byB0aGUgZGVmYXVsdCBk aXNhYmxlZCBzdGF0ZSB3aGVuIGEgd3JpdGUgdG8gdGhlCnN5c2N0bCBjb250YWluZWQgR0lEcyB0 aGF0IGRpZG4ndCBtYXAgdG8gdGhlIGFzc29jaWF0ZWQgdXNlciBuYW1lc3BhY2UuCkNvbmZ1c2lu Z2x5LCB0aGUgc3lzY3RsJ3Mgd3JpdGUgb3BlcmF0aW9uIHdvdWxkIHJldHVybiBzdWNjZXNzIGFu ZCB0aGVuCmEgc3Vic2VxdWVudCByZWFkIG9mIHRoZSBzeXNjdGwgd291bGQgaW5kaWNhdGUgdGhh dCB0aGUgbG93IGFuZCBoaWdoCnZhbHVlcyBhcmUgdGhlIG92ZXJmbG93Z2lkLgoKVGhpcyBwYXRj aCBjaGFuZ2VzIHRoZSBiZWhhdmlvciBieSBjbGVhcmx5IHJldHVybmluZyBhbiBlcnJvciB3aGVu IHRoZQpzeXNjdGwgd3JpdGUgb3BlcmF0aW9uIHJlY2VpdmVzIGEgR0lEIHJhbmdlIHRoYXQgZG9l c24ndCBtYXAgdG8gdGhlCmFzc29jaWF0ZWQgdXNlciBuYW1lc3BhY2UuIEluIHN1Y2ggYSBzaXR1 YXRpb24sIHRoZSBwcmV2aW91cyB2YWx1ZSBvZgp0aGUgc3lzY3RsIGlzIHByZXNlcnZlZCBhbmQg dGhhdCByYW5nZSB3aWxsIGJlIHJldHVybmVkIGluIGEgc3Vic2VxdWVudApyZWFkIG9mIHRoZSBz eXNjdGwuCgpTaWduZWQtb2ZmLWJ5OiBUeWxlciBIaWNrcyA8dHloaWNrc0BjYW5vbmljYWwuY29t PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0t LQogbmV0L2lwdjQvc3lzY3RsX25ldF9pcHY0LmMgfCA1ICsrKy0tCiAxIGZpbGUgY2hhbmdlZCwg MyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY0L3N5 c2N0bF9uZXRfaXB2NC5jIGIvbmV0L2lwdjQvc3lzY3RsX25ldF9pcHY0LmMKaW5kZXggNWEyOWRj NTA4M2EzLi5kODJlODM0NGZjNTQgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3N5c2N0bF9uZXRfaXB2 NC5jCisrKyBiL25ldC9pcHY0L3N5c2N0bF9uZXRfaXB2NC5jCkBAIC0xODYsOCArMTg2LDkgQEAg c3RhdGljIGludCBpcHY0X3BpbmdfZ3JvdXBfcmFuZ2Uoc3RydWN0IGN0bF90YWJsZSAqdGFibGUs IGludCB3cml0ZSwKIAlpZiAod3JpdGUgJiYgcmV0ID09IDApIHsKIAkJbG93ID0gbWFrZV9rZ2lk KHVzZXJfbnMsIHVyYW5nZVswXSk7CiAJCWhpZ2ggPSBtYWtlX2tnaWQodXNlcl9ucywgdXJhbmdl WzFdKTsKLQkJaWYgKCFnaWRfdmFsaWQobG93KSB8fCAhZ2lkX3ZhbGlkKGhpZ2gpIHx8Ci0JCSAg ICAodXJhbmdlWzFdIDwgdXJhbmdlWzBdKSB8fCBnaWRfbHQoaGlnaCwgbG93KSkgeworCQlpZiAo IWdpZF92YWxpZChsb3cpIHx8ICFnaWRfdmFsaWQoaGlnaCkpCisJCQlyZXR1cm4gLUVJTlZBTDsK KwkJaWYgKHVyYW5nZVsxXSA8IHVyYW5nZVswXSB8fCBnaWRfbHQoaGlnaCwgbG93KSkgewogCQkJ bG93ID0gbWFrZV9rZ2lkKCZpbml0X3VzZXJfbnMsIDEpOwogCQkJaGlnaCA9IG1ha2Vfa2dpZCgm aW5pdF91c2VyX25zLCAwKTsKIAkJfQotLSAKMi4xNy4xCgoKRnJvbSBkNjk4NTA2YzFkZTllMzkw ZWZjNTI1N2UxYjg3MDEyM2Y4ZWI1NTYzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBD b2xpbiBJYW4gS2luZyA8Y29saW4ua2luZ0BjYW5vbmljYWwuY29tPgpEYXRlOiBUdWUsIDE3IEp1 bCAyMDE4IDE3OjEyOjM5ICswMTAwClN1YmplY3Q6IFtQQVRDSCAwMy8xOF0gaXB2NjogZml4IHVz ZWxlc3Mgcm9sMzIgY2FsbCBvbiBoYXNoCgpbIFVwc3RyZWFtIGNvbW1pdCAxNjlkYzAyN2ZiMDI0 OTJlYTM3YTA1NzVkYjZhNjU4Y2Y5MjJiODU0IF0KClRoZSByb2wzMiBjYWxsIGlzIGN1cnJlbnRs eSByb3RhdGluZyBoYXNoIGJ1dCB0aGUgcm9sJ2QgdmFsdWUgaXMKYmVpbmcgZGlzY2FyZGVkLiBJ IGJlbGlldmUgdGhlIGN1cnJlbnQgY29kZSBpcyBpbmNvcnJlY3QgYW5kIGhhc2gKc2hvdWxkIGJl IGFzc2lnbmVkIHRoZSByb3RhdGVkIHZhbHVlIHJldHVybmVkIGZyb20gcm9sMzIuCgpUaGFua3Mg dG8gRGF2aWQgTGVicnVuIGZvciBzcG90dGluZyB0aGlzLgoKU2lnbmVkLW9mZi1ieTogQ29saW4g SWFuIEtpbmcgPGNvbGluLmtpbmdAY2Fub25pY2FsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQg Uy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGluY2x1ZGUvbmV0L2lwdjYuaCB8 IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlm ZiAtLWdpdCBhL2luY2x1ZGUvbmV0L2lwdjYuaCBiL2luY2x1ZGUvbmV0L2lwdjYuaAppbmRleCBh NTRiOGM1OGNjYjcuLmU1OWYzODVkYTM4ZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9uZXQvaXB2Ni5o CisrKyBiL2luY2x1ZGUvbmV0L2lwdjYuaApAQCAtNzk1LDcgKzc5NSw3IEBAIHN0YXRpYyBpbmxp bmUgX19iZTMyIGlwNl9tYWtlX2Zsb3dsYWJlbChzdHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCBza19i dWZmICpza2IsCiAJICogdG8gbWluaW1pemUgcG9zc2JpbGl0eSB0aGF0IGFueSB1c2VmdWwgaW5m b3JtYXRpb24gdG8gYW4KIAkgKiBhdHRhY2tlciBpcyBsZWFrZWQuIE9ubHkgbG93ZXIgMjAgYml0 cyBhcmUgcmVsZXZhbnQuCiAJICovCi0Jcm9sMzIoaGFzaCwgMTYpOworCWhhc2ggPSByb2wzMiho YXNoLCAxNik7CiAKIAlmbG93bGFiZWwgPSAoX19mb3JjZSBfX2JlMzIpaGFzaCAmIElQVjZfRkxP V0xBQkVMX01BU0s7CiAKLS0gCjIuMTcuMQoKCkZyb20gOTllMDkwMjcxNTllZjRmYTY5NzRlMWQ5 NjgyNTM0Mjk1NWY4OGNmMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQXJuZCBCZXJn bWFubiA8YXJuZEBhcm5kYi5kZT4KRGF0ZTogV2VkLCAxOCBKdWwgMjAxOCAxMDo0ODo1NiArMDIw MApTdWJqZWN0OiBbUEFUQ0ggMDQvMThdIGlwdjY6IGlsYTogc2VsZWN0IENPTkZJR19EU1RfQ0FD SEUKClsgVXBzdHJlYW0gY29tbWl0IDgzZWQ3ZDFmZTJkMmQ0YTExYjMwNjYwZGVjMjAxNjhiYjQ3 M2Q5YzEgXQoKTXkgcmFuZGNvbmZpZyBidWlsZHMgY2FtZSBhY3Jvc3MgYW4gb2xkIG1pc3Npbmcg ZGVwZW5kZW5jeSBmb3IgSUxBOgoKRVJST1I6ICJkc3RfY2FjaGVfc2V0X2lwNiIgW25ldC9pcHY2 L2lsYS9pbGEua29dIHVuZGVmaW5lZCEKRVJST1I6ICJkc3RfY2FjaGVfZ2V0IiBbbmV0L2lwdjYv aWxhL2lsYS5rb10gdW5kZWZpbmVkIQpFUlJPUjogImRzdF9jYWNoZV9pbml0IiBbbmV0L2lwdjYv aWxhL2lsYS5rb10gdW5kZWZpbmVkIQpFUlJPUjogImRzdF9jYWNoZV9kZXN0cm95IiBbbmV0L2lw djYvaWxhL2lsYS5rb10gdW5kZWZpbmVkIQoKV2UgYWxtb3N0IG5ldmVyIHJ1biBpbnRvIHRoaXMg YnkgYWNjaWRlbnQgYmVjYXVzZSByYW5kY29uZmlnIGJ1aWxkcwplbmQgdXAgc2VsZWN0aW5nIERT VF9DQUNIRSBmcm9tIHNvbWUgb3RoZXIgdHVubmVsIHByb3RvY29sLCBhbmQgdGhpcwpvbmUgYXBw ZWFycyB0byBiZSB0aGUgb25seSBvbmUgbWlzc2luZyB0aGUgZXhwbGljaXQgJ3NlbGVjdCcuCgo+ RnJvbSBhbGwgSSBjYW4gdGVsbCwgdGhpcyBwcm9ibGVtIGZpcnN0IGFwcGVhcmVkIGluIGxpbnV4 LTQuOQp3aGVuIGRzdF9jYWNoZSBzdXBwb3J0IGdvdCBhZGRlZCB0byBJTEEuCgpGaXhlczogNzlm ZjJmYzMxZTBmICgiaWxhOiBDYWNoZSBhIHJvdXRlIHRvIHRyYW5zbGF0ZWQgYWRkcmVzcyIpCkNj OiBUb20gSGVyYmVydCA8dG9tQGhlcmJlcnRsYW5kLmNvbT4KU2lnbmVkLW9mZi1ieTogQXJuZCBC ZXJnbWFubiA8YXJuZEBhcm5kYi5kZT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxk YXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY2L0tjb25maWcgfCAxICsKIDEgZmlsZSBj aGFuZ2VkLCAxIGluc2VydGlvbigrKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY2L0tjb25maWcgYi9u ZXQvaXB2Ni9LY29uZmlnCmluZGV4IGVhNzFlNGIwYWI3YS4uMmQzNmZkMDk3Mjk5IDEwMDY0NAot LS0gYS9uZXQvaXB2Ni9LY29uZmlnCisrKyBiL25ldC9pcHY2L0tjb25maWcKQEAgLTEwOSw2ICsx MDksNyBAQCBjb25maWcgSVBWNl9NSVA2CiBjb25maWcgSVBWNl9JTEEKIAl0cmlzdGF0ZSAiSVB2 NjogSWRlbnRpZmllciBMb2NhdG9yIEFkZHJlc3NpbmcgKElMQSkiCiAJZGVwZW5kcyBvbiBORVRG SUxURVIKKwlzZWxlY3QgRFNUX0NBQ0hFCiAJc2VsZWN0IExXVFVOTkVMCiAJLS0taGVscC0tLQog CSAgU3VwcG9ydCBmb3IgSVB2NiBJZGVudGlmaWVyIExvY2F0b3IgQWRkcmVzc2luZyAoSUxBKS4K LS0gCjIuMTcuMQoKCkZyb20gMGJkMzU1MjFmMDE4MmViODM0YzQ2NWIyNmM3Nzk2YzBjYWZhYTg1 MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRGF2aWRsb2hyIEJ1ZXNvIDxkYXZlQHN0 Z29sYWJzLm5ldD4KRGF0ZTogTW9uLCAxNiBKdWwgMjAxOCAxMzoyNjoxMyAtMDcwMApTdWJqZWN0 OiBbUEFUQ0ggMDUvMThdIGxpYi9yaGFzaHRhYmxlOiBjb25zaWRlciBwYXJhbS0+bWluX3NpemUg d2hlbiBzZXR0aW5nCiBpbml0aWFsIHRhYmxlIHNpemUKClsgVXBzdHJlYW0gY29tbWl0IDEwN2Qw MWY1YmExMGY0MTYyYzM4MTA5NDk2NjA3ZWIxOTcwNTkwNjQgXQoKcmhhc2h0YWJsZV9pbml0KCkg Y3VycmVudGx5IGRvZXMgbm90IHRha2UgaW50byBhY2NvdW50IHRoZSB1c2VyLXBhc3NlZAptaW5f c2l6ZSBwYXJhbWV0ZXIgdW5sZXNzIHBhcmFtLT5uZWxlbV9oaW50IGlzIHNldCBhcyB3ZWxsLiBB cyBzdWNoLAp0aGUgZGVmYXVsdCBzaXplIChudW1iZXIgb2YgYnVja2V0cykgd2lsbCBhbHdheXMg YmUgSEFTSF9ERUZBVUxUX1NJWkUKZXZlbiBpZiB0aGUgc21hbGxlc3QgYWxsb3dlZCBzaXplIGlz IGxhcmdlciB0aGFuIHRoYXQuIFJlbWVkaWF0ZSB0aGlzCmJ5IHVuY29uZGl0aW9uYWxseSBjYWxs aW5nIGludG8gcm91bmRlZF9oYXNodGFibGVfc2l6ZSgpIGFuZCBoYW5kbGluZwp0aGluZ3MgYWNj b3JkaW5nbHkuCgpTaWduZWQtb2ZmLWJ5OiBEYXZpZGxvaHIgQnVlc28gPGRidWVzb0BzdXNlLmRl PgpBY2tlZC1ieTogSGVyYmVydCBYdSA8aGVyYmVydEBnb25kb3IuYXBhbmEub3JnLmF1PgpTaWdu ZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbGli L3JoYXNodGFibGUuYyB8IDE3ICsrKysrKysrKysrLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTEg aW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWIvcmhhc2h0YWJs ZS5jIGIvbGliL3JoYXNodGFibGUuYwppbmRleCBiNzM0Y2U3MzFhN2EuLjM5MjE1YzcyNGZjNyAx MDA2NDQKLS0tIGEvbGliL3JoYXNodGFibGUuYworKysgYi9saWIvcmhhc2h0YWJsZS5jCkBAIC04 NzgsOCArODc4LDE2IEBAIEVYUE9SVF9TWU1CT0xfR1BMKHJoYXNodGFibGVfd2Fsa19zdG9wKTsK IAogc3RhdGljIHNpemVfdCByb3VuZGVkX2hhc2h0YWJsZV9zaXplKGNvbnN0IHN0cnVjdCByaGFz aHRhYmxlX3BhcmFtcyAqcGFyYW1zKQogewotCXJldHVybiBtYXgocm91bmR1cF9wb3dfb2ZfdHdv KHBhcmFtcy0+bmVsZW1faGludCAqIDQgLyAzKSwKLQkJICAgKHVuc2lnbmVkIGxvbmcpcGFyYW1z LT5taW5fc2l6ZSk7CisJc2l6ZV90IHJldHNpemU7CisKKwlpZiAocGFyYW1zLT5uZWxlbV9oaW50 KQorCQlyZXRzaXplID0gbWF4KHJvdW5kdXBfcG93X29mX3R3byhwYXJhbXMtPm5lbGVtX2hpbnQg KiA0IC8gMyksCisJCQkgICAgICAodW5zaWduZWQgbG9uZylwYXJhbXMtPm1pbl9zaXplKTsKKwll bHNlCisJCXJldHNpemUgPSBtYXgoSEFTSF9ERUZBVUxUX1NJWkUsCisJCQkgICAgICAodW5zaWdu ZWQgbG9uZylwYXJhbXMtPm1pbl9zaXplKTsKKworCXJldHVybiByZXRzaXplOwogfQogCiBzdGF0 aWMgdTMyIHJoYXNodGFibGVfamhhc2gyKGNvbnN0IHZvaWQgKmtleSwgdTMyIGxlbmd0aCwgdTMy IHNlZWQpCkBAIC05MzYsOCArOTQ0LDYgQEAgaW50IHJoYXNodGFibGVfaW5pdChzdHJ1Y3Qgcmhh c2h0YWJsZSAqaHQsCiAJc3RydWN0IGJ1Y2tldF90YWJsZSAqdGJsOwogCXNpemVfdCBzaXplOwog Ci0Jc2l6ZSA9IEhBU0hfREVGQVVMVF9TSVpFOwotCiAJaWYgKCghcGFyYW1zLT5rZXlfbGVuICYm ICFwYXJhbXMtPm9ial9oYXNoZm4pIHx8CiAJICAgIChwYXJhbXMtPm9ial9oYXNoZm4gJiYgIXBh cmFtcy0+b2JqX2NtcGZuKSkKIAkJcmV0dXJuIC1FSU5WQUw7CkBAIC05NjQsOCArOTcwLDcgQEAg aW50IHJoYXNodGFibGVfaW5pdChzdHJ1Y3Qgcmhhc2h0YWJsZSAqaHQsCiAKIAlodC0+cC5taW5f c2l6ZSA9IG1heF90KHUxNiwgaHQtPnAubWluX3NpemUsIEhBU0hfTUlOX1NJWkUpOwogCi0JaWYg KHBhcmFtcy0+bmVsZW1faGludCkKLQkJc2l6ZSA9IHJvdW5kZWRfaGFzaHRhYmxlX3NpemUoJmh0 LT5wKTsKKwlzaXplID0gcm91bmRlZF9oYXNodGFibGVfc2l6ZSgmaHQtPnApOwogCiAJaWYgKHBh cmFtcy0+bG9ja3NfbXVsKQogCQlodC0+cC5sb2Nrc19tdWwgPSByb3VuZHVwX3Bvd19vZl90d28o cGFyYW1zLT5sb2Nrc19tdWwpOwotLSAKMi4xNy4xCgoKRnJvbSAzNWFmNTkyZGU2NjQ1YzgzMzJh MTY4NThhOWU2MGUzNmU5OTVhODY0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBMb3Jl bnpvIENvbGl0dGkgPGxvcmVuem9AZ29vZ2xlLmNvbT4KRGF0ZTogU2F0LCA3IEp1bCAyMDE4IDE2 OjMxOjQwICswOTAwClN1YmplY3Q6IFtQQVRDSCAwNi8xOF0gbmV0OiBkaWFnOiBEb24ndCBkb3Vi bGUtZnJlZSBUQ1BfTkVXX1NZTl9SRUNWIHNvY2tldHMKIGluIHRjcF9hYm9ydAoKWyBVcHN0cmVh bSBjb21taXQgYWNjMmNmNGUzNzE3NDY0NmEyNGNiYTQyZmE1M2M2NjhiMjMzOGQ0ZSBdCgpXaGVu IHRjcF9kaWFnX2Rlc3Ryb3kgY2xvc2VzIGEgVENQX05FV19TWU5fUkVDViBzb2NrZXQsIGl0IGZp cnN0CmZyZWVzIGl0IGJ5IGNhbGxpbmcgaW5ldF9jc2tfcmVxc2tfcXVldWVfZHJvcF9hbmRfYW5k X3B1dCBpbgp0Y3BfYWJvcnQsIGFuZCB0aGVuIGZyZWVzIGl0IGFnYWluIGJ5IGNhbGxpbmcgc29j a19nZW5fcHV0LgoKU2luY2UgdGNwX2Fib3J0IG9ubHkgaGFzIG9uZSBjYWxsZXIsIGFuZCBhbGwg dGhlIG90aGVyIGNvZGVwYXRocwppbiB0Y3BfYWJvcnQgZG9uJ3QgZnJlZSB0aGUgc29ja2V0LCBq dXN0IHJlbW92ZSB0aGUgZnJlZSBpbiB0aGF0CmZ1bmN0aW9uLgoKQ2M6IERhdmlkIEFoZXJuIDxk c2FAY3VtdWx1c25ldHdvcmtzLmNvbT4KVGVzdGVkOiBwYXNzZXMgQW5kcm9pZCBzb2NrX2RpYWdf dGVzdC5weSwgd2hpY2ggZXhlcmNpc2VzIHRoaXMgY29kZXBhdGgKRml4ZXM6IGQ3MjI2YzdhNGRk MSAoIm5ldDogZGlhZzogRml4IHJlZmNudCBsZWFrIGluIGVycm9yIHBhdGggZGVzdHJveWluZyBz b2NrZXQiKQpTaWduZWQtb2ZmLWJ5OiBMb3JlbnpvIENvbGl0dGkgPGxvcmVuem9AZ29vZ2xlLmNv bT4KU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpSZXZp ZXdlZC1ieTogRGF2aWQgQWhlcm4gPGRzYUBjdW11bHVzbmV0d29ya3MuY29tPgpUZXN0ZWQtYnk6 IERhdmlkIEFoZXJuIDxkc2FAY3VtdWx1c25ldHdvcmtzLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2 aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY0L3RjcC5jIHwg MyArLS0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMiBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9uZXQvaXB2NC90Y3AuYyBiL25ldC9pcHY0L3RjcC5jCmluZGV4IGUzZWNlMTJm MDI1MC4uZTgxZmY5ZDU0NWE0IDEwMDY0NAotLS0gYS9uZXQvaXB2NC90Y3AuYworKysgYi9uZXQv aXB2NC90Y3AuYwpAQCAtMzQxNSw4ICszNDE1LDcgQEAgaW50IHRjcF9hYm9ydChzdHJ1Y3Qgc29j ayAqc2ssIGludCBlcnIpCiAJCQlzdHJ1Y3QgcmVxdWVzdF9zb2NrICpyZXEgPSBpbmV0X3JlcXNr KHNrKTsKIAogCQkJbG9jYWxfYmhfZGlzYWJsZSgpOwotCQkJaW5ldF9jc2tfcmVxc2tfcXVldWVf ZHJvcF9hbmRfcHV0KHJlcS0+cnNrX2xpc3RlbmVyLAotCQkJCQkJCSAgcmVxKTsKKwkJCWluZXRf Y3NrX3JlcXNrX3F1ZXVlX2Ryb3AocmVxLT5yc2tfbGlzdGVuZXIsIHJlcSk7CiAJCQlsb2NhbF9i aF9lbmFibGUoKTsKIAkJCXJldHVybiAwOwogCQl9Ci0tIAoyLjE3LjEKCgpGcm9tIDYxMzEzM2Rl ODRkYmUxZmViYWJiYmM5M2VhMGJjNWQ2ZThhMjJmYWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IFN0ZWZhbm8gQnJpdmlvIDxzYnJpdmlvQHJlZGhhdC5jb20+CkRhdGU6IFdlZCwgMTEg SnVsIDIwMTggMTQ6Mzk6NDIgKzAyMDAKU3ViamVjdDogW1BBVENIIDA3LzE4XSBuZXQ6IERvbid0 IGNvcHkgcGZtZW1hbGxvYyBmbGFnIGluIF9fY29weV9za2JfaGVhZGVyKCkKClsgVXBzdHJlYW0g Y29tbWl0IDhiNzAwODYyMGI4NDUyNzI4Y2FkZWFkNDYwYTM2ZjY0ZWQ3OGM0NjAgXQoKVGhlIHBm bWVtYWxsb2MgZmxhZyBpbmRpY2F0ZXMgdGhhdCB0aGUgc2tiIHdhcyBhbGxvY2F0ZWQgZnJvbQp0 aGUgUEZNRU1BTExPQyByZXNlcnZlcywgYW5kIHRoZSBmbGFnIGlzIGN1cnJlbnRseSBjb3BpZWQg b24gc2tiCmNvcHkgYW5kIGNsb25lLgoKSG93ZXZlciwgYW4gc2tiIGNvcGllZCBmcm9tIGFuIHNr YiBmbGFnZ2VkIHdpdGggcGZtZW1hbGxvYwp3YXNuJ3QgbmVjZXNzYXJpbHkgYWxsb2NhdGVkIGZy b20gUEZNRU1BTExPQyByZXNlcnZlcywgYW5kIG9uCnRoZSBvdGhlciBoYW5kIGFuIHNrYiBhbGxv Y2F0ZWQgdGhhdCB3YXkgbWlnaHQgYmUgY29waWVkIGZyb20gYW4Kc2tiIHRoYXQgd2Fzbid0LgoK U28gd2Ugc2hvdWxkIG5vdCBjb3B5IHRoZSBmbGFnIG9uIHNrYiBjb3B5LCBhbmQgcmF0aGVyIGRl Y2lkZQp3aGV0aGVyIHRvIGFsbG93IGFuIHNrYiB0byBiZSBhc3NvY2lhdGVkIHdpdGggc29ja2V0 cyB1bnJlbGF0ZWQKdG8gcGFnZSByZWNsYWltIGRlcGVuZGluZyBvbmx5IG9uIGhvdyBpdCB3YXMg YWxsb2NhdGVkLgoKTW92ZSB0aGUgcGZtZW1hbGxvYyBmbGFnIGJlZm9yZSBoZWFkZXJzX3N0YXJ0 WzBdIHVzaW5nIGFuCmV4aXN0aW5nIDEtYml0IGhvbGUsIHNvIHRoYXQgX19jb3B5X3NrYl9oZWFk ZXIoKSBkb2Vzbid0IGNvcHkKaXQuCgpXaGVuIGNsb25pbmcsIHdlJ2xsIG5vdyB0YWtlIGNhcmUg b2YgdGhpcyBmbGFnIGV4cGxpY2l0bHksCmNvbnRyYXZlbmluZyB0byB0aGUgd2FybmluZyBjb21t ZW50IG9mIF9fc2tiX2Nsb25lKCkuCgpXaGlsZSBhdCBpdCwgcmVzdG9yZSB0aGUgbmV3bGluZSB1 c2FnZSBpbnRyb2R1Y2VkIGJ5IGNvbW1pdApiMTkzNzIyNzMxNjQgKCJuZXQ6IHJlb3JnYW5pemUg c2tfYnVmZiBmb3IgZmFzdGVyCl9fY29weV9za2JfaGVhZGVyKCkiKSB0byB2aXN1YWxseSBzZXBh cmF0ZSBieXRlcyB1c2VkIGluCmJpdGZpZWxkcyBhZnRlciBoZWFkZXJzX3N0YXJ0WzBdLCB0aGF0 IHdhcyBnb25lIGFmdGVyIGNvbW1pdAphOWU0MTlkYzdiZTYgKCJuZXRmaWx0ZXI6IG1lcmdlIGN0 aW5mbyBpbnRvIG5mY3QgcG9pbnRlciBzdG9yYWdlCmFyZWEiKSwgYW5kIGRlc2NyaWJlIHRoZSBw Zm1lbWFsbG9jIGZsYWcgaW4gdGhlIGtlcm5lbC1kb2MKc3RydWN0dXJlIGNvbW1lbnQuCgpUaGlz IGRvZXNuJ3QgY2hhbmdlIHRoZSBzaXplIG9mIHNrX2J1ZmYgb3IgY2FjaGVsaW5lIGJvdW5kYXJp ZXMsCmJ1dCBjb25zb2xpZGF0ZXMgdGhlIDE1IGJpdHMgaG9sZSBiZWZvcmUgdGNfaW5kZXggaW50 byBhIDIgYnl0ZXMKaG9sZSBiZWZvcmUgY3N1bSwgdGhhdCBjb3VsZCBub3cgYmUgZmlsbGVkIG1v cmUgZWFzaWx5LgoKUmVwb3J0ZWQtYnk6IFBhdHJpY2sgVGFsYmVydCA8cHRhbGJlcnRAcmVkaGF0 LmNvbT4KRml4ZXM6IGM5M2JkZDBlMDNlOCAoIm5ldHZtOiBhbGxvdyBza2IgYWxsb2NhdGlvbiB0 byB1c2UgUEZNRU1BTExPQyByZXNlcnZlcyIpClNpZ25lZC1vZmYtYnk6IFN0ZWZhbm8gQnJpdmlv IDxzYnJpdmlvQHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2 ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBpbmNsdWRlL2xpbnV4L3NrYnVmZi5oIHwgMTAgKysrKyst LS0tLQogbmV0L2NvcmUvc2tidWZmLmMgICAgICB8ICAyICsrCiAyIGZpbGVzIGNoYW5nZWQsIDcg aW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4 L3NrYnVmZi5oIGIvaW5jbHVkZS9saW51eC9za2J1ZmYuaAppbmRleCBiZTQ1MjI0YjAxZDcuLjlj Zjk3MWM2ODQwMSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9za2J1ZmYuaAorKysgYi9pbmNs dWRlL2xpbnV4L3NrYnVmZi5oCkBAIC02MjQsNiArNjI0LDcgQEAgdHlwZWRlZiB1bnNpZ25lZCBj aGFyICpza19idWZmX2RhdGFfdDsKICAqCUBoYXNoOiB0aGUgcGFja2V0IGhhc2gKICAqCUBxdWV1 ZV9tYXBwaW5nOiBRdWV1ZSBtYXBwaW5nIGZvciBtdWx0aXF1ZXVlIGRldmljZXMKICAqCUB4bWl0 X21vcmU6IE1vcmUgU0tCcyBhcmUgcGVuZGluZyBmb3IgdGhpcyBxdWV1ZQorICoJQHBmbWVtYWxs b2M6IHNrYnVmZiB3YXMgYWxsb2NhdGVkIGZyb20gUEZNRU1BTExPQyByZXNlcnZlcwogICoJQG5k aXNjX25vZGV0eXBlOiByb3V0ZXIgdHlwZSAoZnJvbSBsaW5rIGxheWVyKQogICoJQG9vb19va2F5 OiBhbGxvdyB0aGUgbWFwcGluZyBvZiBhIHNvY2tldCB0byBhIHF1ZXVlIHRvIGJlIGNoYW5nZWQK ICAqCUBsNF9oYXNoOiBpbmRpY2F0ZSBoYXNoIGlzIGEgY2Fub25pY2FsIDQtdHVwbGUgaGFzaCBv dmVyIHRyYW5zcG9ydApAQCAtNzIyLDcgKzcyMyw3IEBAIHN0cnVjdCBza19idWZmIHsKIAkJCQlw ZWVrZWQ6MSwKIAkJCQloZWFkX2ZyYWc6MSwKIAkJCQl4bWl0X21vcmU6MSwKLQkJCQlfX3VudXNl ZDoxOyAvKiBvbmUgYml0IGhvbGUgKi8KKwkJCQlwZm1lbWFsbG9jOjE7CiAKIAkvKiBmaWVsZHMg ZW5jbG9zZWQgaW4gaGVhZGVyc19zdGFydC9oZWFkZXJzX2VuZCBhcmUgY29waWVkCiAJICogdXNp bmcgYSBzaW5nbGUgbWVtY3B5KCkgaW4gX19jb3B5X3NrYl9oZWFkZXIoKQpAQCAtNzQxLDMxICs3 NDIsMzAgQEAgc3RydWN0IHNrX2J1ZmYgewogCiAJX191OAkJCV9fcGt0X3R5cGVfb2Zmc2V0WzBd OwogCV9fdTgJCQlwa3RfdHlwZTozOwotCV9fdTgJCQlwZm1lbWFsbG9jOjE7CiAJX191OAkJCWln bm9yZV9kZjoxOwotCiAJX191OAkJCW5mX3RyYWNlOjE7CiAJX191OAkJCWlwX3N1bW1lZDoyOwog CV9fdTgJCQlvb29fb2theToxOworCiAJX191OAkJCWw0X2hhc2g6MTsKIAlfX3U4CQkJc3dfaGFz aDoxOwogCV9fdTgJCQl3aWZpX2Fja2VkX3ZhbGlkOjE7CiAJX191OAkJCXdpZmlfYWNrZWQ6MTsK LQogCV9fdTgJCQlub19mY3M6MTsKIAkvKiBJbmRpY2F0ZXMgdGhlIGlubmVyIGhlYWRlcnMgYXJl IHZhbGlkIGluIHRoZSBza2J1ZmYuICovCiAJX191OAkJCWVuY2Fwc3VsYXRpb246MTsKIAlfX3U4 CQkJZW5jYXBfaGRyX2NzdW06MTsKIAlfX3U4CQkJY3N1bV92YWxpZDoxOworCiAJX191OAkJCWNz dW1fY29tcGxldGVfc3c6MTsKIAlfX3U4CQkJY3N1bV9sZXZlbDoyOwogCV9fdTgJCQljc3VtX25v dF9pbmV0OjE7Ci0KIAlfX3U4CQkJZHN0X3BlbmRpbmdfY29uZmlybToxOwogI2lmZGVmIENPTkZJ R19JUFY2X05ESVNDX05PREVUWVBFCiAJX191OAkJCW5kaXNjX25vZGV0eXBlOjI7CiAjZW5kaWYK IAlfX3U4CQkJaXB2c19wcm9wZXJ0eToxOworCiAJX191OAkJCWlubmVyX3Byb3RvY29sX3R5cGU6 MTsKIAlfX3U4CQkJcmVtY3N1bV9vZmZsb2FkOjE7CiAjaWZkZWYgQ09ORklHX05FVF9TV0lUQ0hE RVYKZGlmZiAtLWdpdCBhL25ldC9jb3JlL3NrYnVmZi5jIGIvbmV0L2NvcmUvc2tidWZmLmMKaW5k ZXggYzEzMmVjYTllMzgzLi4xNTk1MThhODBhNDYgMTAwNjQ0Ci0tLSBhL25ldC9jb3JlL3NrYnVm Zi5jCisrKyBiL25ldC9jb3JlL3NrYnVmZi5jCkBAIC04NTgsNiArODU4LDggQEAgc3RhdGljIHN0 cnVjdCBza19idWZmICpfX3NrYl9jbG9uZShzdHJ1Y3Qgc2tfYnVmZiAqbiwgc3RydWN0IHNrX2J1 ZmYgKnNrYikKIAluLT5jbG9uZWQgPSAxOwogCW4tPm5vaGRyID0gMDsKIAluLT5wZWVrZWQgPSAw OworCWlmIChza2ItPnBmbWVtYWxsb2MpCisJCW4tPnBmbWVtYWxsb2MgPSAxOwogCW4tPmRlc3Ry dWN0b3IgPSBOVUxMOwogCUModGFpbCk7CiAJQyhlbmQpOwotLSAKMi4xNy4xCgoKRnJvbSAxYzY2 NDY4ZDg5NmZlMWEwNGY2ZDMxYTAxOWY0MzExNWZhZDI2NWZhIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQuY29tPgpEYXRlOiBGcmks IDEzIEp1bCAyMDE4IDEzOjIxOjA3ICswMjAwClN1YmplY3Q6IFtQQVRDSCAwOC8xOF0gc2tidWZm OiBVbmNvbmRpdGlvbmFsbHkgY29weSBwZm1lbWFsbG9jIGluCiBfX3NrYl9jbG9uZSgpCgpbIFVw c3RyZWFtIGNvbW1pdCBlNzhiZmIwNzUxZDRlMzEyNjk5MTA2YmE3ZWZiZWQyYmFiMWE1M2NhIF0K CkNvbW1pdCA4YjcwMDg2MjBiODQgKCJuZXQ6IERvbid0IGNvcHkgcGZtZW1hbGxvYyBmbGFnIGlu Cl9fY29weV9za2JfaGVhZGVyKCkiKSBpbnRyb2R1Y2VkIGEgZGlmZmVyZW50IGhhbmRsaW5nIGZv ciB0aGUKcGZtZW1hbGxvYyBmbGFnIGluIGNvcHkgYW5kIGNsb25lIHBhdGhzLgoKSW4gX19za2Jf Y2xvbmUoKSwgbm93LCB0aGUgZmxhZyBpcyBzZXQgb25seSBpZiBpdCB3YXMgc2V0IGluIHRoZQpv cmlnaW5hbCBza2IsIGJ1dCBub3QgY2xlYXJlZCBpZiBpdCB3YXNuJ3QuIFRoaXMgaXMgd3Jvbmcg YW5kCm1pZ2h0IGxlYWQgdG8gc29ja2V0IGJ1ZmZlcnMgYmVpbmcgZmxhZ2dlZCB3aXRoIHBmbWVt YWxsb2MgZXZlbgppZiB0aGUgc2tiIGRhdGEgd2Fzbid0IGFsbG9jYXRlZCBmcm9tIHBmbWVtYWxs b2MgcmVzZXJ2ZXMuIENvcHkKdGhlIGZsYWcgaW5zdGVhZCBvZiBPUmluZyBpdC4KClJlcG9ydGVk LWJ5OiBTYWJyaW5hIER1YnJvY2EgPHNkQHF1ZWFzeXNuYWlsLm5ldD4KRml4ZXM6IDhiNzAwODYy MGI4NCAoIm5ldDogRG9uJ3QgY29weSBwZm1lbWFsbG9jIGZsYWcgaW4gX19jb3B5X3NrYl9oZWFk ZXIoKSIpClNpZ25lZC1vZmYtYnk6IFN0ZWZhbm8gQnJpdmlvIDxzYnJpdmlvQHJlZGhhdC5jb20+ ClRlc3RlZC1ieTogU2FicmluYSBEdWJyb2NhIDxzZEBxdWVhc3lzbmFpbC5uZXQ+ClNpZ25lZC1v ZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvY29y ZS9za2J1ZmYuYyB8IDMgKy0tCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDIgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2NvcmUvc2tidWZmLmMgYi9uZXQvY29yZS9za2J1 ZmYuYwppbmRleCAxNTk1MThhODBhNDYuLjIzMDQxYjVjMGIyNyAxMDA2NDQKLS0tIGEvbmV0L2Nv cmUvc2tidWZmLmMKKysrIGIvbmV0L2NvcmUvc2tidWZmLmMKQEAgLTg1OCw4ICs4NTgsNyBAQCBz dGF0aWMgc3RydWN0IHNrX2J1ZmYgKl9fc2tiX2Nsb25lKHN0cnVjdCBza19idWZmICpuLCBzdHJ1 Y3Qgc2tfYnVmZiAqc2tiKQogCW4tPmNsb25lZCA9IDE7CiAJbi0+bm9oZHIgPSAwOwogCW4tPnBl ZWtlZCA9IDA7Ci0JaWYgKHNrYi0+cGZtZW1hbGxvYykKLQkJbi0+cGZtZW1hbGxvYyA9IDE7CisJ QyhwZm1lbWFsbG9jKTsKIAluLT5kZXN0cnVjdG9yID0gTlVMTDsKIAlDKHRhaWwpOwogCUMoZW5k KTsKLS0gCjIuMTcuMQoKCkZyb20gOTk4NDYxMWI1OGMwOWY5NzcyODMyNDE0NzUzOTlkYjVmZGI1 ZmUyYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRGF2aWQgQWhlcm4gPGRzYWhlcm5A Z21haWwuY29tPgpEYXRlOiBTYXQsIDcgSnVsIDIwMTggMTY6MTU6MjYgLTA3MDAKU3ViamVjdDog W1BBVENIIDA5LzE4XSBuZXQvaXB2NDogU2V0IG9pZiBpbiBmaWJfY29tcHV0ZV9zcGVjX2RzdAoK WyBVcHN0cmVhbSBjb21taXQgZTczNzIxOTdlMTU4NTZlYzRlZTY2YjY2ODAyMGE2NjI5OTRkYjEw MyBdCgpYaW4gcmVwb3J0ZWQgdGhhdCBpY21wIHJlcGxpZXMgbWF5IG5vdCB1c2UgdGhlIGFkZHJl c3Mgb24gdGhlIGRldmljZSB0aGUKZWNobyByZXF1ZXN0IGlzIHJlY2VpdmVkIGlmIHRoZSBkZXN0 aW5hdGlvbiBhZGRyZXNzIGlzIGJyb2FkY2FzdC4gSW5zdGVhZAphIHJvdXRlIGxvb2t1cCBpcyBk b25lIHdpdGhvdXQgY29uc2lkZXJpbmcgVlJGIGNvbnRleHQuIEZpeCBieSBzZXR0aW5nCm9pZiBp biBmbG93IHN0cnVjdCB0byB0aGUgbWFzdGVyIGRldmljZSBpZiBpdCBpcyBlbnNsYXZlZC4gVGhh dCBkaXJlY3RzCnRoZSBsb29rdXAgdG8gdGhlIFZSRiB0YWJsZS4gSWYgdGhlIGRldmljZSBpcyBu b3QgZW5zbGF2ZWQsIG9pZiBpcyBzdGlsbAowIHNvIG5vIGFmZmVjdC4KCkZpeGVzOiBjZDJmYmUx YjZiNTEgKCJuZXQ6IFVzZSBWUkYgZGV2aWNlIGluZGV4IGZvciBsb29rdXBzIG9uIFJYIikKUmVw b3J0ZWQtYnk6IFhpbiBMb25nIDxsdWNpZW4ueGluQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTog RGF2aWQgQWhlcm4gPGRzYWhlcm5AZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBN aWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjQvZmliX2Zyb250ZW5kLmMg fCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQoKZGlmZiAtLWdpdCBhL25ldC9p cHY0L2ZpYl9mcm9udGVuZC5jIGIvbmV0L2lwdjQvZmliX2Zyb250ZW5kLmMKaW5kZXggZGY4ZmQz Y2U3MTNkLi42N2VlYmNiMTEzZjMgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L2ZpYl9mcm9udGVuZC5j CisrKyBiL25ldC9pcHY0L2ZpYl9mcm9udGVuZC5jCkBAIC0yOTAsNiArMjkwLDcgQEAgX19iZTMy IGZpYl9jb21wdXRlX3NwZWNfZHN0KHN0cnVjdCBza19idWZmICpza2IpCiAJaWYgKCFpcHY0X2lz X3plcm9uZXQoaXBfaGRyKHNrYiktPnNhZGRyKSkgewogCQlzdHJ1Y3QgZmxvd2k0IGZsNCA9IHsK IAkJCS5mbG93aTRfaWlmID0gTE9PUEJBQ0tfSUZJTkRFWCwKKwkJCS5mbG93aTRfb2lmID0gbDNt ZGV2X21hc3Rlcl9pZmluZGV4X3JjdShkZXYpLAogCQkJLmRhZGRyID0gaXBfaGRyKHNrYiktPnNh ZGRyLAogCQkJLmZsb3dpNF90b3MgPSBSVF9UT1MoaXBfaGRyKHNrYiktPnRvcyksCiAJCQkuZmxv d2k0X3Njb3BlID0gc2NvcGUsCi0tIAoyLjE3LjEKCgpGcm9tIDYzYjMzZmY4Mjc3YTJkYWYxMzA1 MmFmNWM5YWUzYWVhODdiNDczMTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEhlaW5l ciBLYWxsd2VpdCA8aGthbGx3ZWl0MUBnbWFpbC5jb20+CkRhdGU6IFR1ZSwgMyBKdWwgMjAxOCAy MjozNDo1NCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMTAvMThdIG5ldDogcGh5OiBmaXggZmxhZyBt YXNraW5nIGluIF9fc2V0X3BoeV9zdXBwb3J0ZWQKClsgVXBzdHJlYW0gY29tbWl0IGRmOGVkMzQ2 ZDRhODA2YTZlZWYyZGI1OTI0Mjg1ZTgzOTYwNGIzZjkgXQoKQ3VycmVudGx5IGFsc28gdGhlIHBh dXNlIGZsYWdzIGFyZSByZW1vdmVkIGZyb20gcGh5ZGV2LT5zdXBwb3J0ZWQgYmVjYXVzZQp0aGV5 J3JlIG5vdCBpbmNsdWRlZCBpbiBQSFlfREVGQVVMVF9GRUFUVVJFUy4gSSBkb24ndCB0aGluayB0 aGlzIGlzCmludGVuZGVkLCBlc3BlY2lhbGx5IHdoZW4gY29uc2lkZXJpbmcgdGhhdCB0aGlzIGZ1 bmN0aW9uIGNhbiBiZSBjYWxsZWQKdmlhIHBoeV9zZXRfbWF4X3NwZWVkKCkgYW55d2hlcmUgaW4g YSBkcml2ZXIuIENoYW5nZSB0aGUgbWFza2luZyB0byBtYXNrCm91dCBvbmx5IHRoZSB2YWx1ZXMg d2UncmUgZ29pbmcgdG8gY2hhbmdlLiBJbiBhZGRpdGlvbiByZW1vdmUgdGhlCm1pc2xlYWRpbmcg Y29tbWVudCwgam9iIG9mIHRoaXMgc21hbGwgZnVuY3Rpb24gaXMganVzdCB0byBhZGp1c3QgdGhl CnN1cHBvcnRlZCBhbmQgYWR2ZXJ0aXNlZCBzcGVlZHMuCgpGaXhlczogZjNhNmJkMzkzYzJjICgi cGh5bGliOiBBZGQgcGh5X3NldF9tYXhfc3BlZWQgaGVscGVyIikKU2lnbmVkLW9mZi1ieTogSGVp bmVyIEthbGx3ZWl0IDxoa2FsbHdlaXQxQGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6IEFuZHJldyBM dW5uIDxhbmRyZXdAbHVubi5jaD4KUmV2aWV3ZWQtYnk6IEZsb3JpYW4gRmFpbmVsbGkgPGYuZmFp bmVsbGlAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRh dmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvcGh5L3BoeV9kZXZpY2UuYyB8IDcgKystLS0t LQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL25ldC9waHkvcGh5X2RldmljZS5jIGIvZHJpdmVycy9uZXQvcGh5L3Bo eV9kZXZpY2UuYwppbmRleCBhMWU3ZWE0ZDRiMTYuLmExNzRkMDVhOTc1MiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9uZXQvcGh5L3BoeV9kZXZpY2UuYworKysgYi9kcml2ZXJzL25ldC9waHkvcGh5X2Rl dmljZS5jCkBAIC0xNjg2LDExICsxNjg2LDggQEAgRVhQT1JUX1NZTUJPTChnZW5waHlfbG9vcGJh Y2spOwogCiBzdGF0aWMgaW50IF9fc2V0X3BoeV9zdXBwb3J0ZWQoc3RydWN0IHBoeV9kZXZpY2Ug KnBoeWRldiwgdTMyIG1heF9zcGVlZCkKIHsKLQkvKiBUaGUgZGVmYXVsdCB2YWx1ZXMgZm9yIHBo eWRldi0+c3VwcG9ydGVkIGFyZSBwcm92aWRlZCBieSB0aGUgUEhZCi0JICogZHJpdmVyICJmZWF0 dXJlcyIgbWVtYmVyLCB3ZSB3YW50IHRvIHJlc2V0IHRvIHNhbmUgZGVmYXVsdHMgZmlyc3QKLQkg KiBiZWZvcmUgc3VwcG9ydGluZyBoaWdoZXIgc3BlZWRzLgotCSAqLwotCXBoeWRldi0+c3VwcG9y dGVkICY9IFBIWV9ERUZBVUxUX0ZFQVRVUkVTOworCXBoeWRldi0+c3VwcG9ydGVkICY9IH4oUEhZ XzEwMDBCVF9GRUFUVVJFUyB8IFBIWV8xMDBCVF9GRUFUVVJFUyB8CisJCQkgICAgICAgUEhZXzEw QlRfRkVBVFVSRVMpOwogCiAJc3dpdGNoIChtYXhfc3BlZWQpIHsKIAlkZWZhdWx0OgotLSAKMi4x Ny4xCgoKRnJvbSA4ZWEzYjVhM2NkMWM1MjU5MWRjYmRhNTBjNzAzOGM2OGE1YmFjNjMxIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiR3VzdGF2byBBLiBSLiBTaWx2YSIgPGd1c3Rhdm9A ZW1iZWRkZWRvci5jb20+CkRhdGU6IFR1ZSwgMTcgSnVsIDIwMTggMjA6MTc6MzMgLTA1MDAKU3Vi amVjdDogW1BBVENIIDExLzE4XSBwdHA6IGZpeCBtaXNzaW5nIGJyZWFrIGluIHN3aXRjaAoKWyBV cHN0cmVhbSBjb21taXQgOWJhODM3NmNlMWUyY2JmNGNlNDRmN2U0YmVlMWQwNjQ4ZTEwZDU5NCBd CgpJdCBzZWVtcyB0aGF0IGEgKmJyZWFrKiBpcyBtaXNzaW5nIGluIG9yZGVyIHRvIGF2b2lkIGZh bGxpbmcgdGhyb3VnaAp0byB0aGUgZGVmYXVsdCBjYXNlLiBPdGhlcndpc2UsIGNoZWNraW5nICpj aGFuKiBtYWtlcyBubyBzZW5zZS4KCkZpeGVzOiA3MmRmN2E3MjQ0YzAgKCJwdHA6IEFsbG93IHJl YXNzaWduaW5nIGNhbGlicmF0aW9uIHBpbiBmdW5jdGlvbiIpClNpZ25lZC1vZmYtYnk6IEd1c3Rh dm8gQS4gUi4gU2lsdmEgPGd1c3Rhdm9AZW1iZWRkZWRvci5jb20+CkFja2VkLWJ5OiBSaWNoYXJk IENvY2hyYW4gPHJpY2hhcmRjb2NocmFuQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQg Uy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvcHRwL3B0cF9jaGFy ZGV2LmMgfCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvcHRwL3B0cF9jaGFyZGV2LmMgYi9kcml2ZXJzL3B0cC9wdHBfY2hhcmRldi5jCmlu ZGV4IDU4YTk3ZDQyMDU3Mi4uNTEzNjQ2MjFmNzdjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3B0cC9w dHBfY2hhcmRldi5jCisrKyBiL2RyaXZlcnMvcHRwL3B0cF9jaGFyZGV2LmMKQEAgLTg5LDYgKzg5 LDcgQEAgaW50IHB0cF9zZXRfcGluZnVuYyhzdHJ1Y3QgcHRwX2Nsb2NrICpwdHAsIHVuc2lnbmVk IGludCBwaW4sCiAJY2FzZSBQVFBfUEZfUEhZU1lOQzoKIAkJaWYgKGNoYW4gIT0gMCkKIAkJCXJl dHVybiAtRUlOVkFMOworCQlicmVhazsKIAlkZWZhdWx0OgogCQlyZXR1cm4gLUVJTlZBTDsKIAl9 Ci0tIAoyLjE3LjEKCgpGcm9tIGRkOWZlMWFiMWNlMDE0ZDg2Y2Y3MTQ0YTllMjNlNzYxMzg5ODNm ZTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1hdGV2eiBWdWNuaWsgPHZ1Y25pa21A Z21haWwuY29tPgpEYXRlOiBXZWQsIDQgSnVsIDIwMTggMTg6MTI6NDggKzAyMDAKU3ViamVjdDog W1BBVENIIDEyLzE4XSBxbWlfd3dhbjogYWRkIHN1cHBvcnQgZm9yIFF1ZWN0ZWwgRUc5MQpNSU1F LVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29u dGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKWyBVcHN0cmVhbSBjb21taXQgMzhjZDU4ZWQ5 YzRlMzg5Nzk5YjUwN2JjZmZlMDJhN2E3YTE4MGIzMyBdCgpUaGlzIGFkZHMgdGhlIFVTQiBpZCBv ZiBMVEUgbW9kZW0gUXVlY3RlbCBFRzkxLiBJdCByZXF1aXJlcyB0aGUKc2FtZSBxdWlyayBhcyBv dGhlciBRdWVjdGVsIG1vZGVtcyB0byBtYWtlIGl0IHdvcmsuCgpTaWduZWQtb2ZmLWJ5OiBNYXRl dnogVnVjbmlrIDx2dWNuaWttQGdtYWlsLmNvbT4KQWNrZWQtYnk6IEJqw7hybiBNb3JrIDxiam9y bkBtb3JrLm5vPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9m dC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvdXNiL3FtaV93d2FuLmMgfCAxICsKIDEgZmlsZSBjaGFu Z2VkLCAxIGluc2VydGlvbigrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3VzYi9xbWlfd3dh bi5jIGIvZHJpdmVycy9uZXQvdXNiL3FtaV93d2FuLmMKaW5kZXggMGRiNTAwYmY4NmQ5Li42ZDM4 MTFjODY5ZmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3VzYi9xbWlfd3dhbi5jCisrKyBiL2Ry aXZlcnMvbmV0L3VzYi9xbWlfd3dhbi5jCkBAIC0xMjUyLDYgKzEyNTIsNyBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgcHJvZHVjdHNbXSA9IHsKIAl7UU1JX0ZJWEVEX0lOVEYo MHgxZTBlLCAweDkwMDEsIDUpfSwJLyogU0lNQ29tIDcyMzBFICovCiAJe1FNSV9RVUlSS19TRVRf RFRSKDB4MmM3YywgMHgwMTI1LCA0KX0sCS8qIFF1ZWN0ZWwgRUMyNSwgRUMyMCBSMi4wICBNaW5p IFBDSWUgKi8KIAl7UU1JX1FVSVJLX1NFVF9EVFIoMHgyYzdjLCAweDAxMjEsIDQpfSwJLyogUXVl Y3RlbCBFQzIxIE1pbmkgUENJZSAqLworCXtRTUlfUVVJUktfU0VUX0RUUigweDJjN2MsIDB4MDE5 MSwgNCl9LAkvKiBRdWVjdGVsIEVHOTEgKi8KIAl7UU1JX0ZJWEVEX0lOVEYoMHgyYzdjLCAweDAy OTYsIDQpfSwJLyogUXVlY3RlbCBCRzk2ICovCiAJe1FNSV9RVUlSS19TRVRfRFRSKDB4MmM3Yywg MHgwMzA2LCA0KX0sCS8qIFF1ZWN0ZWwgRVAwNiBNaW5pIFBDSWUgKi8KIAotLSAKMi4xNy4xCgoK RnJvbSBhYzRiZDBiMjUxOTQxM2QyNzdkYjAwNWUyMzNjNmI4Y2I5OWVlYTEzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTYW5qZWV2IEJhbnNhbCA8c2FuamVldmIuYmFuc2FsQGJyb2Fk Y29tLmNvbT4KRGF0ZTogTW9uLCAxNiBKdWwgMjAxOCAxMToxMzozMiArMDUzMApTdWJqZWN0OiBb UEFUQ0ggMTMvMThdIHRnMzogQWRkIGhpZ2hlciBjcHUgY2xvY2sgZm9yIDU3NjIuCgpbIFVwc3Ry ZWFtIGNvbW1pdCAzYTQ5ODYwNmJiMDRhZjYwM2E0NmViZGU4Mjk2MDQwYjJkZTM1MGQxIF0KClRo aXMgcGF0Y2ggaGFzIGZpeCBmb3IgVFggdGltZW91dCB3aGlsZSBydW5uaW5nIGJpLWRpcmVjdGlv bmFsCnRyYWZmaWMgd2l0aCAxMDAgTWJwcyB1c2luZyA1NzYyLgoKU2lnbmVkLW9mZi1ieTogU2Fu amVldiBCYW5zYWwgPHNhbmplZXZiLmJhbnNhbEBicm9hZGNvbS5jb20+ClNpZ25lZC1vZmYtYnk6 IFNpdmEgUmVkZHkgS2FsbGFtIDxzaXZhLmthbGxhbUBicm9hZGNvbS5jb20+ClJldmlld2VkLWJ5 OiBNaWNoYWVsIENoYW4gPG1pY2hhZWwuY2hhbkBicm9hZGNvbS5jb20+ClNpZ25lZC1vZmYtYnk6 IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9l dGhlcm5ldC9icm9hZGNvbS90ZzMuYyB8IDkgKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgOSBp bnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20v dGczLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS90ZzMuYwppbmRleCA5YThlZjYz MDQ2NmYuLjFiMWQyYTY3ZjQxMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJv YWRjb20vdGczLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vdGczLmMKQEAg LTkyNzksNiArOTI3OSwxNSBAQCBzdGF0aWMgaW50IHRnM19jaGlwX3Jlc2V0KHN0cnVjdCB0ZzMg KnRwKQogCiAJdGczX3Jlc3RvcmVfY2xrKHRwKTsKIAorCS8qIEluY3JlYXNlIHRoZSBjb3JlIGNs b2NrIHNwZWVkIHRvIGZpeCB0eCB0aW1lb3V0IGlzc3VlIGZvciA1NzYyCisJICogd2l0aCAxMDBN YnBzIGxpbmsgc3BlZWQuCisJICovCisJaWYgKHRnM19hc2ljX3Jldih0cCkgPT0gQVNJQ19SRVZf NTc2MikgeworCQl2YWwgPSB0cjMyKFRHM19DUE1VX0NMQ0tfT1JJREVfRU5BQkxFKTsKKwkJdHcz MihURzNfQ1BNVV9DTENLX09SSURFX0VOQUJMRSwgdmFsIHwKKwkJICAgICBURzNfQ1BNVV9NQUNf T1JJREVfRU5BQkxFKTsKKwl9CisKIAkvKiBSZXByb2JlIEFTRiBlbmFibGUgc3RhdGUuICAqLwog CXRnM19mbGFnX2NsZWFyKHRwLCBFTkFCTEVfQVNGKTsKIAl0cC0+cGh5X2ZsYWdzICY9IH4oVEcz X1BIWUZMR18xR19PTl9WQVVYX09LIHwKLS0gCjIuMTcuMQoKCkZyb20gZjY0YzU2N2FhZmY0MWMw ZmU0MDY5M2Y2ODJiOTYxNmQzYjhhNzFlMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog SGFpeWFuZyBaaGFuZyA8aGFpeWFuZ3pAbWljcm9zb2Z0LmNvbT4KRGF0ZTogVHVlLCAxNyBKdWwg MjAxOCAxNzoxMToxMyArMDAwMApTdWJqZWN0OiBbUEFUQ0ggMTQvMThdIGh2X25ldHZzYzogRml4 IG5hcGkgcmVzY2hlZHVsZSB3aGlsZSByZWNlaXZlIGNvbXBsZXRpb24KIGlzIGJ1c3kKClsgVXBz dHJlYW0gY29tbWl0IDZiODFiMTkzYjgzZTg3ZGExZWExMzIxN2Q2ODRiNTRmY2NmOGVlOGEgXQoK SWYgb3V0IHJpbmcgaXMgZnVsbCB0ZW1wb3JhcmlseSBhbmQgcmVjZWl2ZSBjb21wbGV0aW9uIGNh bm5vdCBnbyBvdXQsCndlIG1heSBzdGlsbCBuZWVkIHRvIHJlc2NoZWR1bGUgbmFwaSBpZiBjZXJ0 YWluIGNvbmRpdGlvbnMgYXJlIG1ldC4KT3RoZXJ3aXNlIHRoZSBuYXBpIHBvbGwgbWlnaHQgYmUg c3RvcHBlZCBmb3JldmVyLCBhbmQgY2F1c2UgbmV0d29yawpkaXNjb25uZWN0LgoKRml4ZXM6IDc0 MjZiMWE1MTgwMyAoIm5ldHZzYzogb3B0aW1pemUgcmVjZWl2ZSBjb21wbGV0aW9ucyIpClNpZ25l ZC1vZmYtYnk6IFN0ZXBoZW4gSGVtbWluZ2VyIDxzdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9yZz4K U2lnbmVkLW9mZi1ieTogSGFpeWFuZyBaaGFuZyA8aGFpeWFuZ3pAbWljcm9zb2Z0LmNvbT4KU2ln bmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRy aXZlcnMvbmV0L2h5cGVydi9uZXR2c2MuYyB8IDE3ICsrKysrKysrKystLS0tLS0tCiAxIGZpbGUg Y2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL25ldC9oeXBlcnYvbmV0dnNjLmMgYi9kcml2ZXJzL25ldC9oeXBlcnYvbmV0dnNjLmMK aW5kZXggNzAxYmU1ZDgxMDYyLi44MDYyMzliODk5OTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0 L2h5cGVydi9uZXR2c2MuYworKysgYi9kcml2ZXJzL25ldC9oeXBlcnYvbmV0dnNjLmMKQEAgLTEy NTAsNiArMTI1MCw3IEBAIGludCBuZXR2c2NfcG9sbChzdHJ1Y3QgbmFwaV9zdHJ1Y3QgKm5hcGks IGludCBidWRnZXQpCiAJc3RydWN0IGh2X2RldmljZSAqZGV2aWNlID0gbmV0dnNjX2NoYW5uZWxf dG9fZGV2aWNlKGNoYW5uZWwpOwogCXN0cnVjdCBuZXRfZGV2aWNlICpuZGV2ID0gaHZfZ2V0X2Ry dmRhdGEoZGV2aWNlKTsKIAlpbnQgd29ya19kb25lID0gMDsKKwlpbnQgcmV0OwogCiAJLyogSWYg c3RhcnRpbmcgYSBuZXcgaW50ZXJ2YWwgKi8KIAlpZiAoIW52Y2hhbi0+ZGVzYykKQEAgLTEyNjEs MTYgKzEyNjIsMTggQEAgaW50IG5ldHZzY19wb2xsKHN0cnVjdCBuYXBpX3N0cnVjdCAqbmFwaSwg aW50IGJ1ZGdldCkKIAkJbnZjaGFuLT5kZXNjID0gaHZfcGt0X2l0ZXJfbmV4dChjaGFubmVsLCBu dmNoYW4tPmRlc2MpOwogCX0KIAotCS8qIElmIHNlbmQgb2YgcGVuZGluZyByZWNlaXZlIGNvbXBs ZXRpb25zIHN1Y2VlZGVkCi0JICogICBhbmQgZGlkIG5vdCBleGhhdXN0IE5BUEkgYnVkZ2V0IHRo aXMgdGltZQotCSAqICAgYW5kIG5vdCBkb2luZyBidXN5IHBvbGwKKwkvKiBTZW5kIGFueSBwZW5k aW5nIHJlY2VpdmUgY29tcGxldGlvbnMgKi8KKwlyZXQgPSBzZW5kX3JlY3ZfY29tcGxldGlvbnMo bmRldiwgbmV0X2RldmljZSwgbnZjaGFuKTsKKworCS8qIElmIGl0IGRpZCBub3QgZXhoYXVzdCBO QVBJIGJ1ZGdldCB0aGlzIHRpbWUKKwkgKiAgYW5kIG5vdCBkb2luZyBidXN5IHBvbGwKIAkgKiB0 aGVuIHJlLWVuYWJsZSBob3N0IGludGVycnVwdHMKLQkgKiAgICAgYW5kIHJlc2NoZWR1bGUgaWYg cmluZyBpcyBub3QgZW1wdHkuCisJICogIGFuZCByZXNjaGVkdWxlIGlmIHJpbmcgaXMgbm90IGVt cHR5CisJICogICBvciBzZW5kaW5nIHJlY2VpdmUgY29tcGxldGlvbiBmYWlsZWQuCiAJICovCi0J aWYgKHNlbmRfcmVjdl9jb21wbGV0aW9ucyhuZGV2LCBuZXRfZGV2aWNlLCBudmNoYW4pID09IDAg JiYKLQkgICAgd29ya19kb25lIDwgYnVkZ2V0ICYmCisJaWYgKHdvcmtfZG9uZSA8IGJ1ZGdldCAm JgogCSAgICBuYXBpX2NvbXBsZXRlX2RvbmUobmFwaSwgd29ya19kb25lKSAmJgotCSAgICBodl9l bmRfcmVhZCgmY2hhbm5lbC0+aW5ib3VuZCkgJiYKKwkgICAgKHJldCB8fCBodl9lbmRfcmVhZCgm Y2hhbm5lbC0+aW5ib3VuZCkpICYmCiAJICAgIG5hcGlfc2NoZWR1bGVfcHJlcChuYXBpKSkgewog CQlodl9iZWdpbl9yZWFkKCZjaGFubmVsLT5pbmJvdW5kKTsKIAkJX19uYXBpX3NjaGVkdWxlKG5h cGkpOwotLSAKMi4xNy4xCgoKRnJvbSA3ZWJjNTVlNzRhM2YwZTc4N2U3M2U3YjI0YTM4NmM4YmU3 ODI1YzgzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBTYWVlZCBNYWhhbWVlZCA8c2Fl ZWRtQG1lbGxhbm94LmNvbT4KRGF0ZTogU3VuLCAxNSBKdWwgMjAxOCAxMzo1NDozOSArMDMwMApT dWJqZWN0OiBbUEFUQ0ggMTUvMThdIG5ldC9tbHg0X2VuOiBEb24ndCByZXVzZSBSWCBwYWdlIHdo ZW4gWERQIGlzIHNldAoKWyBVcHN0cmVhbSBjb21taXQgNDMyZTYyOWU1NjQzMjA2NDc2MWJlNjNi Y2Q1ZTI2M2MwOTIwNDMwZCBdCgpXaGVuIGEgbmV3IHJ4IHBhY2tldCBhcnJpdmVzLCB0aGUgcngg cGF0aCB3aWxsIGRlY2lkZSB3aGV0aGVyIHRvIHJldXNlCnRoZSByZW1haW5kZXIgb2YgdGhlIHBh Z2Ugb3Igbm90IGFjY29yZGluZyB0byBvbmUgb2YgdGhlIGJlbG93IGNvbmRpdGlvbnM6CjEuIGZy YWdfaW5mby0+ZnJhZ19zdHJpZGUgPT0gUEFHRV9TSVpFIC8gMgoyLiBmcmFncy0+cGFnZV9vZmZz ZXQgKyBmcmFnX2luZm8tPmZyYWdfc2l6ZSA+IFBBR0VfU0laRTsKClRoZSBmaXJzdCBjb25kaXRp b24gaXMgbm8gbWV0IGZvciB3aGVuIFhEUCBpcyBzZXQuCkZvciBYRFAsIHBhZ2Vfb2Zmc2V0IGlz IGFsd2F5cyBzZXQgdG8gcHJpdi0+cnhfaGVhZHJvb20gd2hpY2ggaXMKWERQX1BBQ0tFVF9IRUFE Uk9PTSBhbmQgZnJhZ19pbmZvLT5mcmFnX3NpemUgaXMgYXJvdW5kIG10dSBzaXplICsgc29tZQpw YWRkaW5nLCBzdGlsbCB0aGUgMm5kIHJlbGVhc2UgY29uZGl0aW9uIHdpbGwgaG9sZCBzaW5jZQpY RFBfUEFDS0VUX0hFQURST09NICsgMTUzNiA8IFBBR0VfU0laRSwgYXMgYSByZXN1bHQgdGhlIHBh Z2Ugd2lsbCBub3QKYmUgcmVsZWFzZWQgYW5kIHdpbGwgYmUgX3dyb25nbHlfIHJldXNlZCBmb3Ig bmV4dCBmcmVlIHJ4IGRlc2NyaXB0b3IuCgpJbiBYRFAgdGhlcmUgaXMgYW4gYXNzdW1wdGlvbiB0 byBoYXZlIGEgcGFnZSBwZXIgcGFja2V0IGFuZCByZXVzZSBjYW4KYnJlYWsgc3VjaCBhc3N1bXB0 aW9uIGFuZCBtaWdodCBjYXVzZSBwYWNrZXQgZGF0YSBjb3JydXB0aW9ucy4KCkZpeCB0aGlzIGJ5 IGFkZGluZyBhbiBleHRyYSBjb25kaXRpb24gKCFwcml2LT5yeF9oZWFkcm9vbSkgdG8gdGhlIDJu ZApjYXNlIHRvIGF2b2lkIHBhZ2UgcmV1c2Ugd2hlbiBYRFAgaXMgc2V0LCBzaW5jZSByeF9oZWFk cm9vbSBpcyBzZXQgdG8gMApmb3Igbm9uIFhEUCBzZXR1cCBhbmQgc2V0IHRvIFhEUF9QQUNLRVRf SEVBRFJPT00gZm9yIFhEUCBzZXR1cC4KCk5vIGFkZGl0aW9uYWwgY2FjaGUgbGluZSBpcyByZXF1 aXJlZCBmb3IgdGhlIG5ldyBjb25kaXRpb24uCgpGaXhlczogMzRkYjU0OGJmYjk1ICgibWx4NDog YWRkIHBhZ2UgcmVjeWNsaW5nIGluIHJlY2VpdmUgcGF0aCIpClNpZ25lZC1vZmYtYnk6IFNhZWVk IE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBUYXJpcSBUb3Vr YW4gPHRhcmlxdEBtZWxsYW5veC5jb20+ClN1Z2dlc3RlZC1ieTogTWFydGluIEthRmFpIExhdSA8 a2FmYWlAZmIuY29tPgpDQzogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpTaWdu ZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJp dmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NC9lbl9yeC5jIHwgOCArKysrKystLQogMSBm aWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2VuX3J4LmMgYi9kcml2ZXJzL25l dC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2VuX3J4LmMKaW5kZXggYjk3YTU1YzgyN2ViLi5hYjJh OWRiYjQ2YzcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDQv ZW5fcnguYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2VuX3J4LmMK QEAgLTQ3MiwxMCArNDcyLDEwIEBAIHN0YXRpYyBpbnQgbWx4NF9lbl9jb21wbGV0ZV9yeF9kZXNj KHN0cnVjdCBtbHg0X2VuX3ByaXYgKnByaXYsCiB7CiAJY29uc3Qgc3RydWN0IG1seDRfZW5fZnJh Z19pbmZvICpmcmFnX2luZm8gPSBwcml2LT5mcmFnX2luZm87CiAJdW5zaWduZWQgaW50IHRydWVz aXplID0gMDsKKwlib29sIHJlbGVhc2UgPSB0cnVlOwogCWludCBuciwgZnJhZ19zaXplOwogCXN0 cnVjdCBwYWdlICpwYWdlOwogCWRtYV9hZGRyX3QgZG1hOwotCWJvb2wgcmVsZWFzZTsKIAogCS8q IENvbGxlY3QgdXNlZCBmcmFnbWVudHMgd2hpbGUgcmVwbGFjaW5nIHRoZW0gaW4gdGhlIEhXIGRl c2NyaXB0b3JzICovCiAJZm9yIChuciA9IDA7OyBmcmFncysrKSB7CkBAIC00OTgsNyArNDk4LDEx IEBAIHN0YXRpYyBpbnQgbWx4NF9lbl9jb21wbGV0ZV9yeF9kZXNjKHN0cnVjdCBtbHg0X2VuX3By aXYgKnByaXYsCiAJCQlyZWxlYXNlID0gcGFnZV9jb3VudChwYWdlKSAhPSAxIHx8CiAJCQkJICBw YWdlX2lzX3BmbWVtYWxsb2MocGFnZSkgfHwKIAkJCQkgIHBhZ2VfdG9fbmlkKHBhZ2UpICE9IG51 bWFfbWVtX2lkKCk7Ci0JCX0gZWxzZSB7CisJCX0gZWxzZSBpZiAoIXByaXYtPnJ4X2hlYWRyb29t KSB7CisJCQkvKiByeF9oZWFkcm9vbSBmb3Igbm9uIFhEUCBzZXR1cCBpcyBhbHdheXMgMC4KKwkJ CSAqIFdoZW4gWERQIGlzIHNldCwgdGhlIGFib3ZlIGNvbmRpdGlvbiB3aWxsCisJCQkgKiBndWFy YW50ZWUgcGFnZSBpcyBhbHdheXMgcmVsZWFzZWQuCisJCQkgKi8KIAkJCXUzMiBzel9hbGlnbiA9 IEFMSUdOKGZyYWdfc2l6ZSwgU01QX0NBQ0hFX0JZVEVTKTsKIAogCQkJZnJhZ3MtPnBhZ2Vfb2Zm c2V0ICs9IHN6X2FsaWduOwotLSAKMi4xNy4xCgoKRnJvbSA3NTg0MWY2OGExYzE4Yzg5MDg0Mjdj MWI3OGUwMjY0YmVlMWJiZjAzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBGbG9yaWFu IEZhaW5lbGxpIDxmLmZhaW5lbGxpQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAxMSBKdWwgMjAxOCAw Mjo0Nzo1OCAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTYvMThdIG5ldDogc3lzdGVtcG9ydDogRml4 IENSQyBmb3J3YXJkaW5nIGNoZWNrIGZvcgogU1lTVEVNUE9SVCBMaXRlCgpbIFVwc3RyZWFtIGNv bW1pdCA5ZTNiZmY5MjM5MTM3MjlkNzZkODdmMDAxNTg0OGVlN2I4ZmY3MDgzIF0KClNZU1RFTVBP UlQgTGl0ZSByZXZlcnNlZCB0aGUgbG9naWMgY29tcGFyZWQgdG8gU1lTVEVNUE9SVCwgdGhlCkdJ Ql9GQ1NfU1RSSVAgYml0IGlzIHNldCB3aGVuIHRoZSBFdGhlcm5ldCBGQ1MgaXMgc3RyaXBwZWQs IGFuZCB0aGF0IGJpdAppcyBub3Qgc2V0IGJ5IGRlZmF1bHQuIEZpeCB0aGUgbG9naWMgc3VjaCB0 aGF0IHdlIHByb3Blcmx5IGNoZWNrIHdoZXRoZXIKdGhhdCBiaXQgaXMgc2V0IG9yIG5vdCBhbmQg d2UgZG9uJ3QgZm9yd2FyZCBhbiBleHRyYSA0IGJ5dGVzIHRvIHRoZQpuZXR3b3JrIHN0YWNrLgoK Rml4ZXM6IDQ0YTQ1MjRjNTRhZiAoIm5ldDogc3lzdGVtcG9ydDogQWRkIHN1cHBvcnQgZm9yIFNZ U1RFTVBPUlQgTGl0ZSIpClNpZ25lZC1vZmYtYnk6IEZsb3JpYW4gRmFpbmVsbGkgPGYuZmFpbmVs bGlAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVt bG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYmNtc3lzcG9ydC5j IHwgNCArKy0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9iY21zeXNwb3J0LmggfCAz ICsrLQogMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYmNtc3lzcG9ydC5jIGIv ZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYmNtc3lzcG9ydC5jCmluZGV4IDFlODU2ZThi OWE5Mi4uMGZmZjI0MzJhYjRjIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9h ZGNvbS9iY21zeXNwb3J0LmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYmNt c3lzcG9ydC5jCkBAIC0xODUxLDggKzE4NTEsOCBAQCBzdGF0aWMgaW50IGJjbV9zeXNwb3J0X29w ZW4oc3RydWN0IG5ldF9kZXZpY2UgKmRldikKIAlpZiAoIXByaXYtPmlzX2xpdGUpCiAJCXByaXYt PmNyY19md2QgPSAhISh1bWFjX3JlYWRsKHByaXYsIFVNQUNfQ01EKSAmIENNRF9DUkNfRldEKTsK IAllbHNlCi0JCXByaXYtPmNyY19md2QgPSAhIShnaWJfcmVhZGwocHJpdiwgR0lCX0NPTlRST0wp ICYKLQkJCQkgICBHSUJfRkNTX1NUUklQKTsKKwkJcHJpdi0+Y3JjX2Z3ZCA9ICEoKGdpYl9yZWFk bChwcml2LCBHSUJfQ09OVFJPTCkgJgorCQkJCSAgR0lCX0ZDU19TVFJJUCkgPj4gR0lCX0ZDU19T VFJJUF9TSElGVCk7CiAKIAlwaHlkZXYgPSBvZl9waHlfY29ubmVjdChkZXYsIHByaXYtPnBoeV9k biwgYmNtX3N5c3BvcnRfYWRqX2xpbmssCiAJCQkJMCwgcHJpdi0+cGh5X2ludGVyZmFjZSk7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9iY21zeXNwb3J0LmggYi9k cml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9iY21zeXNwb3J0LmgKaW5kZXggYTIwMDZmNWZj MjZmLi44NmFlNzUxY2NiNWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2Fk Y29tL2JjbXN5c3BvcnQuaAorKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9iY21z eXNwb3J0LmgKQEAgLTI3Nyw3ICsyNzcsOCBAQCBzdHJ1Y3QgYmNtX3JzYiB7CiAjZGVmaW5lICBH SUJfR1RYX0NMS19FWFRfQ0xLCQkoMCA8PCBHSUJfR1RYX0NMS19TRUxfU0hJRlQpCiAjZGVmaW5l ICBHSUJfR1RYX0NMS18xMjVNSFoJCSgxIDw8IEdJQl9HVFhfQ0xLX1NFTF9TSElGVCkKICNkZWZp bmUgIEdJQl9HVFhfQ0xLXzI1ME1IWgkJKDIgPDwgR0lCX0dUWF9DTEtfU0VMX1NISUZUKQotI2Rl ZmluZSAgR0lCX0ZDU19TVFJJUAkJCSgxIDw8IDYpCisjZGVmaW5lICBHSUJfRkNTX1NUUklQX1NI SUZUCQk2CisjZGVmaW5lICBHSUJfRkNTX1NUUklQCQkJKDEgPDwgR0lCX0ZDU19TVFJJUF9TSElG VCkKICNkZWZpbmUgIEdJQl9MQ0xfTE9PUF9FTgkJKDEgPDwgNykKICNkZWZpbmUgIEdJQl9MQ0xf TE9PUF9UWEVOCQkoMSA8PCA4KQogI2RlZmluZSAgR0lCX1JNVF9MT09QX0VOCQkoMSA8PCA5KQot LSAKMi4xNy4xCgoKRnJvbSAwOGI4MWJjMjRiNDk4OTVjNWRmNzAxMmUxOGYyYThjNmVkNTY3ZDNm IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBTYWJyaW5hIER1YnJvY2EgPHNkQHF1ZWFz eXNuYWlsLm5ldD4KRGF0ZTogRnJpLCAxMyBKdWwgMjAxOCAxNzoyMTo0MiArMDIwMApTdWJqZWN0 OiBbUEFUQ0ggMTcvMThdIGlwdjY6IG1ha2UgREFEIGZhaWwgd2l0aCBlbmhhbmNlZCBEQUQgd2hl biBub25jZSBsZW5ndGgKIGRpZmZlcnMKClsgVXBzdHJlYW0gY29tbWl0IGU2NjUxNTk5OWI2Mjcz Njg4OTJjY2M5YjNhMTNhNTA2ZjJlYTEzNTcgXQoKQ29tbWl0IGFkYzE3NmM1NDcyMiAoImlwdjYg YWRkcmNvbmY6IEltcGxlbWVudGVkIGVuaGFuY2VkIERBRCAoUkZDNzUyNykiKQphZGRlZCBlbmhh bmNlZCBEQUQgd2l0aCBhIG5vbmNlIGxlbmd0aCBvZiA2IGJ5dGVzLiBIb3dldmVyLCBSRkM3NTI3 CmRvZXNuJ3Qgc3BlY2lmeSB0aGUgbGVuZ3RoIG9mIHRoZSBub25jZSwgb3RoZXIgdGhhbiBiZWlu ZyA2ICsgOCprIGJ5dGVzLAp3aXRoIGludGVnZXIgayA+PSAwIChSRkMzOTcxIDUuMy4yKS4gVGhl IGN1cnJlbnQgaW1wbGVtZW50YXRpb24gc2ltcGx5CmFzc3VtZXMgdGhhdCB0aGUgbm9uY2Ugd2ls bCBhbHdheXMgYmUgNiBieXRlcywgYnV0IG90aGVycyBzeXN0ZW1zIGFyZQpmcmVlIHRvIGNob29z ZSBkaWZmZXJlbnQgc2l6ZXMuCgpJZiBhbm90aGVyIHN5c3RlbSBzZW5kcyBhIG5vbmNlIG9mIGRp ZmZlcmVudCBsZW5ndGggYnV0IHdpdGggdGhlIHNhbWUgNgpieXRlcyBwcmVmaXgsIGl0IHNob3Vs ZG4ndCBiZSBjb25zaWRlcmVkIGFzIHRoZSBzYW1lIG5vbmNlLiBUaHVzLCBjaGVjawp0aGF0IHRo ZSBsZW5ndGggb2YgdGhlIHJlY2VpdmVkIG5vbmNlIGlzIHRoZSBzYW1lIGFzIHRoZSBsZW5ndGgg d2Ugc2VudC4KClVnbHkgc2NhcHkgdGVzdCBzY3JpcHQgcnVubmluZyBvbiB2ZXRoMDoKCmRlZiBs b29wKCk6CiAgICBwa3Q9c25pZmYoaWZhY2U9InZldGgwIiwgZmlsdGVyPSJpY21wNiIsIGNvdW50 PTEpCiAgICBwa3QgPSBwa3RbMF0KICAgIGIgPSBieXRlYXJyYXkocGt0W1Jhd10ubG9hZCkKICAg IGJbMV0gKz0gMQogICAgYiArPSBiJ1x4ZGVceGFkXHhiZVx4ZWZceGRlXHhhZFx4YmVceGVmJwog ICAgcGt0W1Jhd10ubG9hZCA9IGJ5dGVzKGIpCiAgICBwa3RbSVB2Nl0ucGxlbiArPSA4CiAgICAj IGZpeHVwIGNoZWNrc3VtIGFmdGVyIG1vZGlmeWluZyB0aGUgcGF5bG9hZAogICAgcGt0W0lQdjZd LnBheWxvYWQuY2tzdW0gLT0gMHgzYjQ0CiAgICBpZiBwa3RbSVB2Nl0ucGF5bG9hZC5ja3N1bSA8 IDA6CiAgICAgICAgcGt0W0lQdjZdLnBheWxvYWQuY2tzdW0gKz0gMHhmZmZmCiAgICBzZW5kcChw a3QsIGlmYWNlPSJ2ZXRoMCIpCgpUaGlzIHNob3VsZCByZXN1bHQgaW4gREFEIGZhaWx1cmUgZm9y IGFueSBhZGRyZXNzIGFkZGVkIHRvIHZldGgwJ3MgcGVlciwKYnV0IGlzIGN1cnJlbnRseSBpZ25v cmVkLgoKRml4ZXM6IGFkYzE3NmM1NDcyMiAoImlwdjYgYWRkcmNvbmY6IEltcGxlbWVudGVkIGVu aGFuY2VkIERBRCAoUkZDNzUyNykiKQpTaWduZWQtb2ZmLWJ5OiBTYWJyaW5hIER1YnJvY2EgPHNk QHF1ZWFzeXNuYWlsLm5ldD4KUmV2aWV3ZWQtYnk6IFN0ZWZhbm8gQnJpdmlvIDxzYnJpdmlvQHJl ZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0 Lm5ldD4KLS0tCiBuZXQvaXB2Ni9uZGlzYy5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5z ZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjYvbmRpc2MuYyBi L25ldC9pcHY2L25kaXNjLmMKaW5kZXggZDA4MWRiMTI1OTA1Li41MjgyMTg0NjBiYzUgMTAwNjQ0 Ci0tLSBhL25ldC9pcHY2L25kaXNjLmMKKysrIGIvbmV0L2lwdjYvbmRpc2MuYwpAQCAtODAzLDcg KzgwMyw3IEBAIHN0YXRpYyB2b2lkIG5kaXNjX3JlY3ZfbnMoc3RydWN0IHNrX2J1ZmYgKnNrYikK IAkJCXJldHVybjsKIAkJfQogCX0KLQlpZiAobmRvcHRzLm5kX29wdHNfbm9uY2UpCisJaWYgKG5k b3B0cy5uZF9vcHRzX25vbmNlICYmIG5kb3B0cy5uZF9vcHRzX25vbmNlLT5uZF9vcHRfbGVuID09 IDEpCiAJCW1lbWNweSgmbm9uY2UsICh1OCAqKShuZG9wdHMubmRfb3B0c19ub25jZSArIDEpLCA2 KTsKIAogCWluYyA9IGlwdjZfYWRkcl9pc19tdWx0aWNhc3QoZGFkZHIpOwotLSAKMi4xNy4xCgoK RnJvbSA4YWZlZTY5MThkMWRhMDI1ODdiMThmMGU4Y2Y0NTMxMDFkYWNiMTFlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4YW5kZXIgQ291emVucyA8bHlueGlzQGZlODAuZXU+CkRh dGU6IFR1ZSwgMTcgSnVsIDIwMTggMTM6MTc6MDkgKzAyMDAKU3ViamVjdDogW1BBVENIIDE4LzE4 XSBuZXQ6IHVzYjogYXNpeDogcmVwbGFjZSBtaWlfbndheV9yZXN0YXJ0IGluIHJlc3VtZSBwYXRo CgpbIFVwc3RyZWFtIGNvbW1pdCA1Yzk2OGY0ODAyMWE5YjNmYWE2MWFjMjU0M2NmYWIzMjQ2MWMw ZTA1IF0KCm1paV9ud2F5X3Jlc3RhcnQgaXMgbm90IHBtIGF3YXJlIHdoaWNoIHJlc3VsdHMgaW4g YSBydG5sIGRlYWRsb2NrLgpJbXBsZW1lbnQgbWlpX253YXlfcmVzdGFydCBtYW51YWwgYnkgc2V0 dGluZyBCTUNSX0FOUkVTVEFSVCBpZgpCTUNSX0FORU5BQkxFIGlzIHNldC4KClRvIHJlcHJvZHVj ZToKKiBwbHVnIGFuIGFzaXggYmFzZWQgdXNiIG5ldHdvcmsgaW50ZXJmYWNlCiogd2FpdCB1bnRp bCB0aGUgZGV2aWNlIGVudGVycyBQTSAofjUgc2VjKQoqIGBpcCBsaW5rIHNldCBldGgxIHVwYCB3 aWxsIG5ldmVyIHJldHVybgoKRml4ZXM6IGQ5ZmU2NGU1MTExNCAoIm5ldDogYXNpeDogQWRkIGlu X3BtIHBhcmFtZXRlciIpClNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBDb3V6ZW5zIDxseW54aXNA ZmU4MC5ldT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQu bmV0PgotLS0KIGRyaXZlcnMvbmV0L3VzYi9hc2l4X2RldmljZXMuYyB8IDQgKysrLQogMSBmaWxl IGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvbmV0L3VzYi9hc2l4X2RldmljZXMuYyBiL2RyaXZlcnMvbmV0L3VzYi9hc2l4X2Rldmlj ZXMuYwppbmRleCAzZDRmNzk1OWRhYmIuLmIxYjNkOGY3ZTY3ZCAxMDA2NDQKLS0tIGEvZHJpdmVy cy9uZXQvdXNiL2FzaXhfZGV2aWNlcy5jCisrKyBiL2RyaXZlcnMvbmV0L3VzYi9hc2l4X2Rldmlj ZXMuYwpAQCAtNjQyLDEwICs2NDIsMTIgQEAgc3RhdGljIHZvaWQgYXg4ODc3Ml9yZXN0b3JlX3Bo eShzdHJ1Y3QgdXNibmV0ICpkZXYpCiAJCQkJICAgICBwcml2LT5wcmVzdmRfcGh5X2FkdmVydGlz ZSk7CiAKIAkJLyogUmVzdG9yZSBCTUNSICovCisJCWlmIChwcml2LT5wcmVzdmRfcGh5X2JtY3Ig JiBCTUNSX0FORU5BQkxFKQorCQkJcHJpdi0+cHJlc3ZkX3BoeV9ibWNyIHw9IEJNQ1JfQU5SRVNU QVJUOworCiAJCWFzaXhfbWRpb193cml0ZV9ub3BtKGRldi0+bmV0LCBkZXYtPm1paS5waHlfaWQs IE1JSV9CTUNSLAogCQkJCSAgICAgcHJpdi0+cHJlc3ZkX3BoeV9ibWNyKTsKIAotCQltaWlfbndh eV9yZXN0YXJ0KCZkZXYtPm1paSk7CiAJCXByaXYtPnByZXN2ZF9waHlfYWR2ZXJ0aXNlID0gMDsK IAkJcHJpdi0+cHJlc3ZkX3BoeV9ibWNyID0gMDsKIAl9Ci0tIAoyLjE3LjEKCg== ----Next_Part(Sun_Jul_22_20_51_17_2018_135)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_417.mbox" RnJvbSA4YzEzMTE2NDQ0Nzc0NDBlOGZkYjgzNzQ2YTU3M2Q4MjdiZmNkNTQ3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/VG9rZT0yMEg9QzM9QjhpbGFuZC1KPUMzPUI4 cmdlbnNlbj89IDx0b2tlQHRva2UuZGs+CkRhdGU6IE1vbiwgMiBKdWwgMjAxOCAyMjo1MjoyMCAr MDIwMApTdWJqZWN0OiBbUEFUQ0ggMDEvMjVdIGdlbl9zdGF0czogRml4IG5ldGxpbmsgc3RhdHMg ZHVtcGluZyBpbiB0aGUgcHJlc2VuY2Ugb2YKIHBhZGRpbmcKTUlNRS1WZXJzaW9uOiAxLjAKQ29u dGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5j b2Rpbmc6IDhiaXQKClsgVXBzdHJlYW0gY29tbWl0IGQ1YTY3MmFjOWY0OGY4MWIyMGIxY2FkMWQ5 ZWQ3YmJmNGU0MThkNGMgXQoKVGhlIGdlbl9zdGF0cyBmYWNpbGl0eSB3aWxsIGFkZCBhIGhlYWRl ciBmb3IgdGhlIHRvcGxldmVsIG5sYXR0ciBvZiB0eXBlClRDQV9TVEFUUzIgdGhhdCBjb250YWlu cyBhbGwgc3RhdHMgYWRkZWQgYnkgcWRpc2MgY2FsbGJhY2tzLiBBIHJlZmVyZW5jZQp0byB0aGlz IGhlYWRlciBpcyBzdG9yZWQgaW4gdGhlIGduZXRfZHVtcCBzdHJ1Y3QsIGFuZCB3aGVuIGFsbCB0 aGUKcGVyLXFkaXNjIGNhbGxiYWNrcyBoYXZlIGZpbmlzaGVkIGFkZGluZyB0aGVpciBzdGF0cywg dGhlIGxlbmd0aCBvZiB0aGUKY29udGFpbmluZyBoZWFkZXIgd2lsbCBiZSBhZGp1c3RlZCB0byB0 aGUgcmlnaHQgdmFsdWUuCgpIb3dldmVyLCBvbiBhcmNoaXRlY3R1cmVzIHRoYXQgbmVlZCBwYWRk aW5nIChpLmUuLCB0aGF0IGRvbid0IHNldApDT05GSUdfSEFWRV9FRkZJQ0lFTlRfVU5BTElHTkVE X0FDQ0VTUyksIHRoZSBwYWRkaW5nIG5sYXR0ciBpcyBhZGRlZApiZWZvcmUgdGhlIHN0YXRzLCB3 aGljaCBtZWFucyB0aGF0IHRoZSBzdG9yZWQgcG9pbnRlciB3aWxsIHBvaW50IHRvIHRoZQpwYWRk aW5nLCBhbmQgc28gd2hlbiB0aGUgaGVhZGVyIGlzIGZpeGVkIHVwLCB0aGUgcmVzdWx0IGlzIGp1 c3QgYSB2ZXJ5CmJpZyBwYWRkaW5nIG5sYXR0ci4gQmVjYXVzZSBtb3N0IHFkaXNjcyBhbHNvIHN1 cHBseSB0aGUgbGVnYWN5IFRDQV9TVEFUUwpzdHJ1Y3QsIHRoaXMgcHJvYmxlbSBoYXMgYmVlbiBt b3N0bHkgaW52aXNpYmxlLCBidXQgd2UgZXhwb3NlZCBpdCB3aXRoCnRoZSBuZXRsaW5rIGF0dHJp YnV0ZS1iYXNlZCBzdGF0aXN0aWNzIGluIENBS0UuCgpGaXggdGhlIGlzc3VlIGJ5IGZpeGluZyB1 cCB0aGUgc3RvcmVkIHBvaW50ZXIgaWYgaXQgcG9pbnRzIHRvIGEgcGFkZGluZwpubGF0dHIuCgpU ZXN0ZWQtYnk6IFBldGUgSGVpc3QgPHBldGVAaGVpc3RwLm5ldD4KVGVzdGVkLWJ5OiBLZXZpbiBE YXJieXNoaXJlLUJyeWFudCA8a2V2aW5AZGFyYnlzaGlyZS1icnlhbnQubWUudWs+ClNpZ25lZC1v ZmYtYnk6IFRva2UgSMO4aWxhbmQtSsO4cmdlbnNlbiA8dG9rZUB0b2tlLmRrPgpTaWduZWQtb2Zm LWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2NvcmUv Z2VuX3N0YXRzLmMgfCAxNiArKysrKysrKysrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgMTQgaW5z ZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvY29yZS9nZW5fc3Rh dHMuYyBiL25ldC9jb3JlL2dlbl9zdGF0cy5jCmluZGV4IGIyYjIzMjNiZGM4NC4uMTg4ZDY5M2Ni MjUxIDEwMDY0NAotLS0gYS9uZXQvY29yZS9nZW5fc3RhdHMuYworKysgYi9uZXQvY29yZS9nZW5f c3RhdHMuYwpAQCAtNzcsOCArNzcsMjAgQEAgZ25ldF9zdGF0c19zdGFydF9jb3B5X2NvbXBhdChz dHJ1Y3Qgc2tfYnVmZiAqc2tiLCBpbnQgdHlwZSwgaW50IHRjX3N0YXRzX3R5cGUsCiAJCWQtPmxv Y2sgPSBsb2NrOwogCQlzcGluX2xvY2tfYmgobG9jayk7CiAJfQotCWlmIChkLT50YWlsKQotCQly ZXR1cm4gZ25ldF9zdGF0c19jb3B5KGQsIHR5cGUsIE5VTEwsIDAsIHBhZGF0dHIpOworCWlmIChk LT50YWlsKSB7CisJCWludCByZXQgPSBnbmV0X3N0YXRzX2NvcHkoZCwgdHlwZSwgTlVMTCwgMCwg cGFkYXR0cik7CisKKwkJLyogVGhlIGluaXRpYWwgYXR0cmlidXRlIGFkZGVkIGluIGduZXRfc3Rh dHNfY29weSgpIG1heSBiZQorCQkgKiBwcmVjZWRlZCBieSBhIHBhZGRpbmcgYXR0cmlidXRlLCBp biB3aGljaCBjYXNlIGQtPnRhaWwgd2lsbAorCQkgKiBlbmQgdXAgcG9pbnRpbmcgYXQgdGhlIHBh ZGRpbmcgaW5zdGVhZCBvZiB0aGUgcmVhbCBhdHRyaWJ1dGUuCisJCSAqIEZpeCB0aGlzIHNvIGdu ZXRfc3RhdHNfZmluaXNoX2NvcHkoKSBhZGp1c3RzIHRoZSBsZW5ndGggb2YKKwkJICogdGhlIHJp Z2h0IGF0dHJpYnV0ZS4KKwkJICovCisJCWlmIChyZXQgPT0gMCAmJiBkLT50YWlsLT5ubGFfdHlw ZSA9PSBwYWRhdHRyKQorCQkJZC0+dGFpbCA9IChzdHJ1Y3QgbmxhdHRyICopKChjaGFyICopZC0+ dGFpbCArCisJCQkJCQkgICAgTkxBX0FMSUdOKGQtPnRhaWwtPm5sYV9sZW4pKTsKKwkJcmV0dXJu IHJldDsKKwl9CiAKIAlyZXR1cm4gMDsKIH0KLS0gCjIuMTcuMQoKCkZyb20gYTY3OTdkNmZkYjE5 ZjgwNTEwNzU2ZGEyNTI2YzZjYjgzZjRjNmFmMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogVHlsZXIgSGlja3MgPHR5aGlja3NAY2Fub25pY2FsLmNvbT4KRGF0ZTogVGh1LCA1IEp1bCAy MDE4IDE4OjQ5OjIzICswMDAwClN1YmplY3Q6IFtQQVRDSCAwMi8yNV0gaXB2NDogUmV0dXJuIEVJ TlZBTCB3aGVuIHBpbmdfZ3JvdXBfcmFuZ2Ugc3lzY3RsCiBkb2Vzbid0IG1hcCB0byB1c2VyIG5z CgpbIFVwc3RyZWFtIGNvbW1pdCA3MGJhNWI2ZGI5NmZmNzMyNGI4Y2ZjODdlMGQwMzgzY2Y1OWM5 Njc3IF0KClRoZSBsb3cgYW5kIGhpZ2ggdmFsdWVzIG9mIHRoZSBuZXQuaXB2NC5waW5nX2dyb3Vw X3JhbmdlIHN5c2N0bCB3ZXJlCmJlaW5nIHNpbGVudGx5IGZvcmNlZCB0byB0aGUgZGVmYXVsdCBk aXNhYmxlZCBzdGF0ZSB3aGVuIGEgd3JpdGUgdG8gdGhlCnN5c2N0bCBjb250YWluZWQgR0lEcyB0 aGF0IGRpZG4ndCBtYXAgdG8gdGhlIGFzc29jaWF0ZWQgdXNlciBuYW1lc3BhY2UuCkNvbmZ1c2lu Z2x5LCB0aGUgc3lzY3RsJ3Mgd3JpdGUgb3BlcmF0aW9uIHdvdWxkIHJldHVybiBzdWNjZXNzIGFu ZCB0aGVuCmEgc3Vic2VxdWVudCByZWFkIG9mIHRoZSBzeXNjdGwgd291bGQgaW5kaWNhdGUgdGhh dCB0aGUgbG93IGFuZCBoaWdoCnZhbHVlcyBhcmUgdGhlIG92ZXJmbG93Z2lkLgoKVGhpcyBwYXRj aCBjaGFuZ2VzIHRoZSBiZWhhdmlvciBieSBjbGVhcmx5IHJldHVybmluZyBhbiBlcnJvciB3aGVu IHRoZQpzeXNjdGwgd3JpdGUgb3BlcmF0aW9uIHJlY2VpdmVzIGEgR0lEIHJhbmdlIHRoYXQgZG9l c24ndCBtYXAgdG8gdGhlCmFzc29jaWF0ZWQgdXNlciBuYW1lc3BhY2UuIEluIHN1Y2ggYSBzaXR1 YXRpb24sIHRoZSBwcmV2aW91cyB2YWx1ZSBvZgp0aGUgc3lzY3RsIGlzIHByZXNlcnZlZCBhbmQg dGhhdCByYW5nZSB3aWxsIGJlIHJldHVybmVkIGluIGEgc3Vic2VxdWVudApyZWFkIG9mIHRoZSBz eXNjdGwuCgpTaWduZWQtb2ZmLWJ5OiBUeWxlciBIaWNrcyA8dHloaWNrc0BjYW5vbmljYWwuY29t PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0t LQogbmV0L2lwdjQvc3lzY3RsX25ldF9pcHY0LmMgfCA1ICsrKy0tCiAxIGZpbGUgY2hhbmdlZCwg MyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY0L3N5 c2N0bF9uZXRfaXB2NC5jIGIvbmV0L2lwdjQvc3lzY3RsX25ldF9pcHY0LmMKaW5kZXggMmY2MDBm MjYxNjkwLi42MWU0MmEzMzkwYmEgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3N5c2N0bF9uZXRfaXB2 NC5jCisrKyBiL25ldC9pcHY0L3N5c2N0bF9uZXRfaXB2NC5jCkBAIC0xODcsOCArMTg3LDkgQEAg c3RhdGljIGludCBpcHY0X3BpbmdfZ3JvdXBfcmFuZ2Uoc3RydWN0IGN0bF90YWJsZSAqdGFibGUs IGludCB3cml0ZSwKIAlpZiAod3JpdGUgJiYgcmV0ID09IDApIHsKIAkJbG93ID0gbWFrZV9rZ2lk KHVzZXJfbnMsIHVyYW5nZVswXSk7CiAJCWhpZ2ggPSBtYWtlX2tnaWQodXNlcl9ucywgdXJhbmdl WzFdKTsKLQkJaWYgKCFnaWRfdmFsaWQobG93KSB8fCAhZ2lkX3ZhbGlkKGhpZ2gpIHx8Ci0JCSAg ICAodXJhbmdlWzFdIDwgdXJhbmdlWzBdKSB8fCBnaWRfbHQoaGlnaCwgbG93KSkgeworCQlpZiAo IWdpZF92YWxpZChsb3cpIHx8ICFnaWRfdmFsaWQoaGlnaCkpCisJCQlyZXR1cm4gLUVJTlZBTDsK KwkJaWYgKHVyYW5nZVsxXSA8IHVyYW5nZVswXSB8fCBnaWRfbHQoaGlnaCwgbG93KSkgewogCQkJ bG93ID0gbWFrZV9rZ2lkKCZpbml0X3VzZXJfbnMsIDEpOwogCQkJaGlnaCA9IG1ha2Vfa2dpZCgm aW5pdF91c2VyX25zLCAwKTsKIAkJfQotLSAKMi4xNy4xCgoKRnJvbSAxMDdkYzU2ZWNkZjE3OWI4 NDE1YmY4ODZmZjE0ODI4ZmQ3YmRhZThkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBD b2xpbiBJYW4gS2luZyA8Y29saW4ua2luZ0BjYW5vbmljYWwuY29tPgpEYXRlOiBUdWUsIDE3IEp1 bCAyMDE4IDE3OjEyOjM5ICswMTAwClN1YmplY3Q6IFtQQVRDSCAwMy8yNV0gaXB2NjogZml4IHVz ZWxlc3Mgcm9sMzIgY2FsbCBvbiBoYXNoCgpbIFVwc3RyZWFtIGNvbW1pdCAxNjlkYzAyN2ZiMDI0 OTJlYTM3YTA1NzVkYjZhNjU4Y2Y5MjJiODU0IF0KClRoZSByb2wzMiBjYWxsIGlzIGN1cnJlbnRs eSByb3RhdGluZyBoYXNoIGJ1dCB0aGUgcm9sJ2QgdmFsdWUgaXMKYmVpbmcgZGlzY2FyZGVkLiBJ IGJlbGlldmUgdGhlIGN1cnJlbnQgY29kZSBpcyBpbmNvcnJlY3QgYW5kIGhhc2gKc2hvdWxkIGJl IGFzc2lnbmVkIHRoZSByb3RhdGVkIHZhbHVlIHJldHVybmVkIGZyb20gcm9sMzIuCgpUaGFua3Mg dG8gRGF2aWQgTGVicnVuIGZvciBzcG90dGluZyB0aGlzLgoKU2lnbmVkLW9mZi1ieTogQ29saW4g SWFuIEtpbmcgPGNvbGluLmtpbmdAY2Fub25pY2FsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQg Uy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGluY2x1ZGUvbmV0L2lwdjYuaCB8 IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlm ZiAtLWdpdCBhL2luY2x1ZGUvbmV0L2lwdjYuaCBiL2luY2x1ZGUvbmV0L2lwdjYuaAppbmRleCBh NDA2ZjJlODY4MGEuLmFlZWJiYmI5ZTBiZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9uZXQvaXB2Ni5o CisrKyBiL2luY2x1ZGUvbmV0L2lwdjYuaApAQCAtODI5LDcgKzgyOSw3IEBAIHN0YXRpYyBpbmxp bmUgX19iZTMyIGlwNl9tYWtlX2Zsb3dsYWJlbChzdHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCBza19i dWZmICpza2IsCiAJICogdG8gbWluaW1pemUgcG9zc2JpbGl0eSB0aGF0IGFueSB1c2VmdWwgaW5m b3JtYXRpb24gdG8gYW4KIAkgKiBhdHRhY2tlciBpcyBsZWFrZWQuIE9ubHkgbG93ZXIgMjAgYml0 cyBhcmUgcmVsZXZhbnQuCiAJICovCi0Jcm9sMzIoaGFzaCwgMTYpOworCWhhc2ggPSByb2wzMiho YXNoLCAxNik7CiAKIAlmbG93bGFiZWwgPSAoX19mb3JjZSBfX2JlMzIpaGFzaCAmIElQVjZfRkxP V0xBQkVMX01BU0s7CiAKLS0gCjIuMTcuMQoKCkZyb20gNzNmYzZkMmRkZWQ4MTU1YmRkNTllZmQz MGIwNWMxMDdjZmExOGJmNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQXJuZCBCZXJn bWFubiA8YXJuZEBhcm5kYi5kZT4KRGF0ZTogV2VkLCAxOCBKdWwgMjAxOCAxMDo0ODo1NiArMDIw MApTdWJqZWN0OiBbUEFUQ0ggMDQvMjVdIGlwdjY6IGlsYTogc2VsZWN0IENPTkZJR19EU1RfQ0FD SEUKClsgVXBzdHJlYW0gY29tbWl0IDgzZWQ3ZDFmZTJkMmQ0YTExYjMwNjYwZGVjMjAxNjhiYjQ3 M2Q5YzEgXQoKTXkgcmFuZGNvbmZpZyBidWlsZHMgY2FtZSBhY3Jvc3MgYW4gb2xkIG1pc3Npbmcg ZGVwZW5kZW5jeSBmb3IgSUxBOgoKRVJST1I6ICJkc3RfY2FjaGVfc2V0X2lwNiIgW25ldC9pcHY2 L2lsYS9pbGEua29dIHVuZGVmaW5lZCEKRVJST1I6ICJkc3RfY2FjaGVfZ2V0IiBbbmV0L2lwdjYv aWxhL2lsYS5rb10gdW5kZWZpbmVkIQpFUlJPUjogImRzdF9jYWNoZV9pbml0IiBbbmV0L2lwdjYv aWxhL2lsYS5rb10gdW5kZWZpbmVkIQpFUlJPUjogImRzdF9jYWNoZV9kZXN0cm95IiBbbmV0L2lw djYvaWxhL2lsYS5rb10gdW5kZWZpbmVkIQoKV2UgYWxtb3N0IG5ldmVyIHJ1biBpbnRvIHRoaXMg YnkgYWNjaWRlbnQgYmVjYXVzZSByYW5kY29uZmlnIGJ1aWxkcwplbmQgdXAgc2VsZWN0aW5nIERT VF9DQUNIRSBmcm9tIHNvbWUgb3RoZXIgdHVubmVsIHByb3RvY29sLCBhbmQgdGhpcwpvbmUgYXBw ZWFycyB0byBiZSB0aGUgb25seSBvbmUgbWlzc2luZyB0aGUgZXhwbGljaXQgJ3NlbGVjdCcuCgo+ RnJvbSBhbGwgSSBjYW4gdGVsbCwgdGhpcyBwcm9ibGVtIGZpcnN0IGFwcGVhcmVkIGluIGxpbnV4 LTQuOQp3aGVuIGRzdF9jYWNoZSBzdXBwb3J0IGdvdCBhZGRlZCB0byBJTEEuCgpGaXhlczogNzlm ZjJmYzMxZTBmICgiaWxhOiBDYWNoZSBhIHJvdXRlIHRvIHRyYW5zbGF0ZWQgYWRkcmVzcyIpCkNj OiBUb20gSGVyYmVydCA8dG9tQGhlcmJlcnRsYW5kLmNvbT4KU2lnbmVkLW9mZi1ieTogQXJuZCBC ZXJnbWFubiA8YXJuZEBhcm5kYi5kZT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxk YXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY2L0tjb25maWcgfCAxICsKIDEgZmlsZSBj aGFuZ2VkLCAxIGluc2VydGlvbigrKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY2L0tjb25maWcgYi9u ZXQvaXB2Ni9LY29uZmlnCmluZGV4IDExZTRlODBjZjdlOS4uMGVmYjkxNDY5NWFjIDEwMDY0NAot LS0gYS9uZXQvaXB2Ni9LY29uZmlnCisrKyBiL25ldC9pcHY2L0tjb25maWcKQEAgLTEwOCw2ICsx MDgsNyBAQCBjb25maWcgSVBWNl9NSVA2CiBjb25maWcgSVBWNl9JTEEKIAl0cmlzdGF0ZSAiSVB2 NjogSWRlbnRpZmllciBMb2NhdG9yIEFkZHJlc3NpbmcgKElMQSkiCiAJZGVwZW5kcyBvbiBORVRG SUxURVIKKwlzZWxlY3QgRFNUX0NBQ0hFCiAJc2VsZWN0IExXVFVOTkVMCiAJLS0taGVscC0tLQog CSAgU3VwcG9ydCBmb3IgSVB2NiBJZGVudGlmaWVyIExvY2F0b3IgQWRkcmVzc2luZyAoSUxBKS4K LS0gCjIuMTcuMQoKCkZyb20gYjdiM2U5ZTIxZmIxNTgzYWRlMmFhNGRmNjVhZjJlNTRmMDg0MzY5 OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRGF2aWRsb2hyIEJ1ZXNvIDxkYXZlQHN0 Z29sYWJzLm5ldD4KRGF0ZTogTW9uLCAxNiBKdWwgMjAxOCAxMzoyNjoxMyAtMDcwMApTdWJqZWN0 OiBbUEFUQ0ggMDUvMjVdIGxpYi9yaGFzaHRhYmxlOiBjb25zaWRlciBwYXJhbS0+bWluX3NpemUg d2hlbiBzZXR0aW5nCiBpbml0aWFsIHRhYmxlIHNpemUKClsgVXBzdHJlYW0gY29tbWl0IDEwN2Qw MWY1YmExMGY0MTYyYzM4MTA5NDk2NjA3ZWIxOTcwNTkwNjQgXQoKcmhhc2h0YWJsZV9pbml0KCkg Y3VycmVudGx5IGRvZXMgbm90IHRha2UgaW50byBhY2NvdW50IHRoZSB1c2VyLXBhc3NlZAptaW5f c2l6ZSBwYXJhbWV0ZXIgdW5sZXNzIHBhcmFtLT5uZWxlbV9oaW50IGlzIHNldCBhcyB3ZWxsLiBB cyBzdWNoLAp0aGUgZGVmYXVsdCBzaXplIChudW1iZXIgb2YgYnVja2V0cykgd2lsbCBhbHdheXMg YmUgSEFTSF9ERUZBVUxUX1NJWkUKZXZlbiBpZiB0aGUgc21hbGxlc3QgYWxsb3dlZCBzaXplIGlz IGxhcmdlciB0aGFuIHRoYXQuIFJlbWVkaWF0ZSB0aGlzCmJ5IHVuY29uZGl0aW9uYWxseSBjYWxs aW5nIGludG8gcm91bmRlZF9oYXNodGFibGVfc2l6ZSgpIGFuZCBoYW5kbGluZwp0aGluZ3MgYWNj b3JkaW5nbHkuCgpTaWduZWQtb2ZmLWJ5OiBEYXZpZGxvaHIgQnVlc28gPGRidWVzb0BzdXNlLmRl PgpBY2tlZC1ieTogSGVyYmVydCBYdSA8aGVyYmVydEBnb25kb3IuYXBhbmEub3JnLmF1PgpTaWdu ZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbGli L3JoYXNodGFibGUuYyB8IDE3ICsrKysrKysrKysrLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTEg aW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWIvcmhhc2h0YWJs ZS5jIGIvbGliL3JoYXNodGFibGUuYwppbmRleCAyYjJiNzk5NzRiNjEuLjExZTg5YzNiNzZlMyAx MDA2NDQKLS0tIGEvbGliL3JoYXNodGFibGUuYworKysgYi9saWIvcmhhc2h0YWJsZS5jCkBAIC05 MjMsOCArOTIzLDE2IEBAIEVYUE9SVF9TWU1CT0xfR1BMKHJoYXNodGFibGVfd2Fsa19zdG9wKTsK IAogc3RhdGljIHNpemVfdCByb3VuZGVkX2hhc2h0YWJsZV9zaXplKGNvbnN0IHN0cnVjdCByaGFz aHRhYmxlX3BhcmFtcyAqcGFyYW1zKQogewotCXJldHVybiBtYXgocm91bmR1cF9wb3dfb2ZfdHdv KHBhcmFtcy0+bmVsZW1faGludCAqIDQgLyAzKSwKLQkJICAgKHVuc2lnbmVkIGxvbmcpcGFyYW1z LT5taW5fc2l6ZSk7CisJc2l6ZV90IHJldHNpemU7CisKKwlpZiAocGFyYW1zLT5uZWxlbV9oaW50 KQorCQlyZXRzaXplID0gbWF4KHJvdW5kdXBfcG93X29mX3R3byhwYXJhbXMtPm5lbGVtX2hpbnQg KiA0IC8gMyksCisJCQkgICAgICAodW5zaWduZWQgbG9uZylwYXJhbXMtPm1pbl9zaXplKTsKKwll bHNlCisJCXJldHNpemUgPSBtYXgoSEFTSF9ERUZBVUxUX1NJWkUsCisJCQkgICAgICAodW5zaWdu ZWQgbG9uZylwYXJhbXMtPm1pbl9zaXplKTsKKworCXJldHVybiByZXRzaXplOwogfQogCiBzdGF0 aWMgdTMyIHJoYXNodGFibGVfamhhc2gyKGNvbnN0IHZvaWQgKmtleSwgdTMyIGxlbmd0aCwgdTMy IHNlZWQpCkBAIC05ODEsOCArOTg5LDYgQEAgaW50IHJoYXNodGFibGVfaW5pdChzdHJ1Y3Qgcmhh c2h0YWJsZSAqaHQsCiAJc3RydWN0IGJ1Y2tldF90YWJsZSAqdGJsOwogCXNpemVfdCBzaXplOwog Ci0Jc2l6ZSA9IEhBU0hfREVGQVVMVF9TSVpFOwotCiAJaWYgKCghcGFyYW1zLT5rZXlfbGVuICYm ICFwYXJhbXMtPm9ial9oYXNoZm4pIHx8CiAJICAgIChwYXJhbXMtPm9ial9oYXNoZm4gJiYgIXBh cmFtcy0+b2JqX2NtcGZuKSkKIAkJcmV0dXJuIC1FSU5WQUw7CkBAIC0xMDA5LDggKzEwMTUsNyBA QCBpbnQgcmhhc2h0YWJsZV9pbml0KHN0cnVjdCByaGFzaHRhYmxlICpodCwKIAogCWh0LT5wLm1p bl9zaXplID0gbWF4X3QodTE2LCBodC0+cC5taW5fc2l6ZSwgSEFTSF9NSU5fU0laRSk7CiAKLQlp ZiAocGFyYW1zLT5uZWxlbV9oaW50KQotCQlzaXplID0gcm91bmRlZF9oYXNodGFibGVfc2l6ZSgm aHQtPnApOworCXNpemUgPSByb3VuZGVkX2hhc2h0YWJsZV9zaXplKCZodC0+cCk7CiAKIAlpZiAo cGFyYW1zLT5sb2Nrc19tdWwpCiAJCWh0LT5wLmxvY2tzX211bCA9IHJvdW5kdXBfcG93X29mX3R3 byhwYXJhbXMtPmxvY2tzX211bCk7Ci0tIAoyLjE3LjEKCgpGcm9tIDhiOWY4MjhhZGE3NmEzMzgz MzJhN2IzZWJjNjkyMzU3YzNkNDJiOGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IExv cmVuem8gQ29saXR0aSA8bG9yZW56b0Bnb29nbGUuY29tPgpEYXRlOiBTYXQsIDcgSnVsIDIwMTgg MTY6MzE6NDAgKzA5MDAKU3ViamVjdDogW1BBVENIIDA2LzI1XSBuZXQ6IGRpYWc6IERvbid0IGRv dWJsZS1mcmVlIFRDUF9ORVdfU1lOX1JFQ1Ygc29ja2V0cwogaW4gdGNwX2Fib3J0CgpbIFVwc3Ry ZWFtIGNvbW1pdCBhY2MyY2Y0ZTM3MTc0NjQ2YTI0Y2JhNDJmYTUzYzY2OGIyMzM4ZDRlIF0KCldo ZW4gdGNwX2RpYWdfZGVzdHJveSBjbG9zZXMgYSBUQ1BfTkVXX1NZTl9SRUNWIHNvY2tldCwgaXQg Zmlyc3QKZnJlZXMgaXQgYnkgY2FsbGluZyBpbmV0X2Nza19yZXFza19xdWV1ZV9kcm9wX2FuZF9h bmRfcHV0IGluCnRjcF9hYm9ydCwgYW5kIHRoZW4gZnJlZXMgaXQgYWdhaW4gYnkgY2FsbGluZyBz b2NrX2dlbl9wdXQuCgpTaW5jZSB0Y3BfYWJvcnQgb25seSBoYXMgb25lIGNhbGxlciwgYW5kIGFs bCB0aGUgb3RoZXIgY29kZXBhdGhzCmluIHRjcF9hYm9ydCBkb24ndCBmcmVlIHRoZSBzb2NrZXQs IGp1c3QgcmVtb3ZlIHRoZSBmcmVlIGluIHRoYXQKZnVuY3Rpb24uCgpDYzogRGF2aWQgQWhlcm4g PGRzYUBjdW11bHVzbmV0d29ya3MuY29tPgpUZXN0ZWQ6IHBhc3NlcyBBbmRyb2lkIHNvY2tfZGlh Z190ZXN0LnB5LCB3aGljaCBleGVyY2lzZXMgdGhpcyBjb2RlcGF0aApGaXhlczogZDcyMjZjN2E0 ZGQxICgibmV0OiBkaWFnOiBGaXggcmVmY250IGxlYWsgaW4gZXJyb3IgcGF0aCBkZXN0cm95aW5n IHNvY2tldCIpClNpZ25lZC1vZmYtYnk6IExvcmVuem8gQ29saXR0aSA8bG9yZW56b0Bnb29nbGUu Y29tPgpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+ClJl dmlld2VkLWJ5OiBEYXZpZCBBaGVybiA8ZHNhQGN1bXVsdXNuZXR3b3Jrcy5jb20+ClRlc3RlZC1i eTogRGF2aWQgQWhlcm4gPGRzYUBjdW11bHVzbmV0d29ya3MuY29tPgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjQvdGNwLmMg fCAzICstLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAyIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL25ldC9pcHY0L3RjcC5jIGIvbmV0L2lwdjQvdGNwLmMKaW5kZXggYzlkMDBl ZjU0ZGVjLi41OGUzMTZjZjY2MDcgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3RjcC5jCisrKyBiL25l dC9pcHY0L3RjcC5jCkBAIC0zNTI0LDggKzM1MjQsNyBAQCBpbnQgdGNwX2Fib3J0KHN0cnVjdCBz b2NrICpzaywgaW50IGVycikKIAkJCXN0cnVjdCByZXF1ZXN0X3NvY2sgKnJlcSA9IGluZXRfcmVx c2soc2spOwogCiAJCQlsb2NhbF9iaF9kaXNhYmxlKCk7Ci0JCQlpbmV0X2Nza19yZXFza19xdWV1 ZV9kcm9wX2FuZF9wdXQocmVxLT5yc2tfbGlzdGVuZXIsCi0JCQkJCQkJICByZXEpOworCQkJaW5l dF9jc2tfcmVxc2tfcXVldWVfZHJvcChyZXEtPnJza19saXN0ZW5lciwgcmVxKTsKIAkJCWxvY2Fs X2JoX2VuYWJsZSgpOwogCQkJcmV0dXJuIDA7CiAJCX0KLS0gCjIuMTcuMQoKCkZyb20gOGVlOGI3 MzU5MGU1MzRmYjJmMTZhZTQ5NTdiMDdlM2ZkMGU0MDc3MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogU3RlZmFubyBCcml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4KRGF0ZTogV2VkLCAx MSBKdWwgMjAxOCAxNDozOTo0MiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDcvMjVdIG5ldDogRG9u J3QgY29weSBwZm1lbWFsbG9jIGZsYWcgaW4gX19jb3B5X3NrYl9oZWFkZXIoKQoKWyBVcHN0cmVh bSBjb21taXQgOGI3MDA4NjIwYjg0NTI3MjhjYWRlYWQ0NjBhMzZmNjRlZDc4YzQ2MCBdCgpUaGUg cGZtZW1hbGxvYyBmbGFnIGluZGljYXRlcyB0aGF0IHRoZSBza2Igd2FzIGFsbG9jYXRlZCBmcm9t CnRoZSBQRk1FTUFMTE9DIHJlc2VydmVzLCBhbmQgdGhlIGZsYWcgaXMgY3VycmVudGx5IGNvcGll ZCBvbiBza2IKY29weSBhbmQgY2xvbmUuCgpIb3dldmVyLCBhbiBza2IgY29waWVkIGZyb20gYW4g c2tiIGZsYWdnZWQgd2l0aCBwZm1lbWFsbG9jCndhc24ndCBuZWNlc3NhcmlseSBhbGxvY2F0ZWQg ZnJvbSBQRk1FTUFMTE9DIHJlc2VydmVzLCBhbmQgb24KdGhlIG90aGVyIGhhbmQgYW4gc2tiIGFs bG9jYXRlZCB0aGF0IHdheSBtaWdodCBiZSBjb3BpZWQgZnJvbSBhbgpza2IgdGhhdCB3YXNuJ3Qu CgpTbyB3ZSBzaG91bGQgbm90IGNvcHkgdGhlIGZsYWcgb24gc2tiIGNvcHksIGFuZCByYXRoZXIg ZGVjaWRlCndoZXRoZXIgdG8gYWxsb3cgYW4gc2tiIHRvIGJlIGFzc29jaWF0ZWQgd2l0aCBzb2Nr ZXRzIHVucmVsYXRlZAp0byBwYWdlIHJlY2xhaW0gZGVwZW5kaW5nIG9ubHkgb24gaG93IGl0IHdh cyBhbGxvY2F0ZWQuCgpNb3ZlIHRoZSBwZm1lbWFsbG9jIGZsYWcgYmVmb3JlIGhlYWRlcnNfc3Rh cnRbMF0gdXNpbmcgYW4KZXhpc3RpbmcgMS1iaXQgaG9sZSwgc28gdGhhdCBfX2NvcHlfc2tiX2hl YWRlcigpIGRvZXNuJ3QgY29weQppdC4KCldoZW4gY2xvbmluZywgd2UnbGwgbm93IHRha2UgY2Fy ZSBvZiB0aGlzIGZsYWcgZXhwbGljaXRseSwKY29udHJhdmVuaW5nIHRvIHRoZSB3YXJuaW5nIGNv bW1lbnQgb2YgX19za2JfY2xvbmUoKS4KCldoaWxlIGF0IGl0LCByZXN0b3JlIHRoZSBuZXdsaW5l IHVzYWdlIGludHJvZHVjZWQgYnkgY29tbWl0CmIxOTM3MjI3MzE2NCAoIm5ldDogcmVvcmdhbml6 ZSBza19idWZmIGZvciBmYXN0ZXIKX19jb3B5X3NrYl9oZWFkZXIoKSIpIHRvIHZpc3VhbGx5IHNl cGFyYXRlIGJ5dGVzIHVzZWQgaW4KYml0ZmllbGRzIGFmdGVyIGhlYWRlcnNfc3RhcnRbMF0sIHRo YXQgd2FzIGdvbmUgYWZ0ZXIgY29tbWl0CmE5ZTQxOWRjN2JlNiAoIm5ldGZpbHRlcjogbWVyZ2Ug Y3RpbmZvIGludG8gbmZjdCBwb2ludGVyIHN0b3JhZ2UKYXJlYSIpLCBhbmQgZGVzY3JpYmUgdGhl IHBmbWVtYWxsb2MgZmxhZyBpbiB0aGUga2VybmVsLWRvYwpzdHJ1Y3R1cmUgY29tbWVudC4KClRo aXMgZG9lc24ndCBjaGFuZ2UgdGhlIHNpemUgb2Ygc2tfYnVmZiBvciBjYWNoZWxpbmUgYm91bmRh cmllcywKYnV0IGNvbnNvbGlkYXRlcyB0aGUgMTUgYml0cyBob2xlIGJlZm9yZSB0Y19pbmRleCBp bnRvIGEgMiBieXRlcwpob2xlIGJlZm9yZSBjc3VtLCB0aGF0IGNvdWxkIG5vdyBiZSBmaWxsZWQg bW9yZSBlYXNpbHkuCgpSZXBvcnRlZC1ieTogUGF0cmljayBUYWxiZXJ0IDxwdGFsYmVydEByZWRo YXQuY29tPgpGaXhlczogYzkzYmRkMGUwM2U4ICgibmV0dm06IGFsbG93IHNrYiBhbGxvY2F0aW9u IHRvIHVzZSBQRk1FTUFMTE9DIHJlc2VydmVzIikKU2lnbmVkLW9mZi1ieTogU3RlZmFubyBCcml2 aW8gPHNicml2aW9AcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxk YXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGluY2x1ZGUvbGludXgvc2tidWZmLmggfCAxMCArKysr Ky0tLS0tCiBuZXQvY29yZS9za2J1ZmYuYyAgICAgIHwgIDIgKysKIDIgZmlsZXMgY2hhbmdlZCwg NyBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGlu dXgvc2tidWZmLmggYi9pbmNsdWRlL2xpbnV4L3NrYnVmZi5oCmluZGV4IDkwNjU0NzdlZDI1NS4u MTVkOGY5Yzg0Y2E1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3NrYnVmZi5oCisrKyBiL2lu Y2x1ZGUvbGludXgvc2tidWZmLmgKQEAgLTYyOCw2ICs2MjgsNyBAQCB0eXBlZGVmIHVuc2lnbmVk IGNoYXIgKnNrX2J1ZmZfZGF0YV90OwogICoJQGhhc2g6IHRoZSBwYWNrZXQgaGFzaAogICoJQHF1 ZXVlX21hcHBpbmc6IFF1ZXVlIG1hcHBpbmcgZm9yIG11bHRpcXVldWUgZGV2aWNlcwogICoJQHht aXRfbW9yZTogTW9yZSBTS0JzIGFyZSBwZW5kaW5nIGZvciB0aGlzIHF1ZXVlCisgKglAcGZtZW1h bGxvYzogc2tidWZmIHdhcyBhbGxvY2F0ZWQgZnJvbSBQRk1FTUFMTE9DIHJlc2VydmVzCiAgKglA bmRpc2Nfbm9kZXR5cGU6IHJvdXRlciB0eXBlIChmcm9tIGxpbmsgbGF5ZXIpCiAgKglAb29vX29r YXk6IGFsbG93IHRoZSBtYXBwaW5nIG9mIGEgc29ja2V0IHRvIGEgcXVldWUgdG8gYmUgY2hhbmdl ZAogICoJQGw0X2hhc2g6IGluZGljYXRlIGhhc2ggaXMgYSBjYW5vbmljYWwgNC10dXBsZSBoYXNo IG92ZXIgdHJhbnNwb3J0CkBAIC03MzMsNyArNzM0LDcgQEAgc3RydWN0IHNrX2J1ZmYgewogCQkJ CXBlZWtlZDoxLAogCQkJCWhlYWRfZnJhZzoxLAogCQkJCXhtaXRfbW9yZToxLAotCQkJCV9fdW51 c2VkOjE7IC8qIG9uZSBiaXQgaG9sZSAqLworCQkJCXBmbWVtYWxsb2M6MTsKIAogCS8qIGZpZWxk cyBlbmNsb3NlZCBpbiBoZWFkZXJzX3N0YXJ0L2hlYWRlcnNfZW5kIGFyZSBjb3BpZWQKIAkgKiB1 c2luZyBhIHNpbmdsZSBtZW1jcHkoKSBpbiBfX2NvcHlfc2tiX2hlYWRlcigpCkBAIC03NTIsMzEg Kzc1MywzMCBAQCBzdHJ1Y3Qgc2tfYnVmZiB7CiAKIAlfX3U4CQkJX19wa3RfdHlwZV9vZmZzZXRb MF07CiAJX191OAkJCXBrdF90eXBlOjM7Ci0JX191OAkJCXBmbWVtYWxsb2M6MTsKIAlfX3U4CQkJ aWdub3JlX2RmOjE7Ci0KIAlfX3U4CQkJbmZfdHJhY2U6MTsKIAlfX3U4CQkJaXBfc3VtbWVkOjI7 CiAJX191OAkJCW9vb19va2F5OjE7CisKIAlfX3U4CQkJbDRfaGFzaDoxOwogCV9fdTgJCQlzd19o YXNoOjE7CiAJX191OAkJCXdpZmlfYWNrZWRfdmFsaWQ6MTsKIAlfX3U4CQkJd2lmaV9hY2tlZDox OwotCiAJX191OAkJCW5vX2ZjczoxOwogCS8qIEluZGljYXRlcyB0aGUgaW5uZXIgaGVhZGVycyBh cmUgdmFsaWQgaW4gdGhlIHNrYnVmZi4gKi8KIAlfX3U4CQkJZW5jYXBzdWxhdGlvbjoxOwogCV9f dTgJCQllbmNhcF9oZHJfY3N1bToxOwogCV9fdTgJCQljc3VtX3ZhbGlkOjE7CisKIAlfX3U4CQkJ Y3N1bV9jb21wbGV0ZV9zdzoxOwogCV9fdTgJCQljc3VtX2xldmVsOjI7CiAJX191OAkJCWNzdW1f bm90X2luZXQ6MTsKLQogCV9fdTgJCQlkc3RfcGVuZGluZ19jb25maXJtOjE7CiAjaWZkZWYgQ09O RklHX0lQVjZfTkRJU0NfTk9ERVRZUEUKIAlfX3U4CQkJbmRpc2Nfbm9kZXR5cGU6MjsKICNlbmRp ZgogCV9fdTgJCQlpcHZzX3Byb3BlcnR5OjE7CisKIAlfX3U4CQkJaW5uZXJfcHJvdG9jb2xfdHlw ZToxOwogCV9fdTgJCQlyZW1jc3VtX29mZmxvYWQ6MTsKICNpZmRlZiBDT05GSUdfTkVUX1NXSVRD SERFVgpkaWZmIC0tZ2l0IGEvbmV0L2NvcmUvc2tidWZmLmMgYi9uZXQvY29yZS9za2J1ZmYuYwpp bmRleCAzNDViNTE4MzdjYTguLmI0YWM0MzQxOGU3OSAxMDA2NDQKLS0tIGEvbmV0L2NvcmUvc2ti dWZmLmMKKysrIGIvbmV0L2NvcmUvc2tidWZmLmMKQEAgLTg1OCw2ICs4NTgsOCBAQCBzdGF0aWMg c3RydWN0IHNrX2J1ZmYgKl9fc2tiX2Nsb25lKHN0cnVjdCBza19idWZmICpuLCBzdHJ1Y3Qgc2tf YnVmZiAqc2tiKQogCW4tPmNsb25lZCA9IDE7CiAJbi0+bm9oZHIgPSAwOwogCW4tPnBlZWtlZCA9 IDA7CisJaWYgKHNrYi0+cGZtZW1hbGxvYykKKwkJbi0+cGZtZW1hbGxvYyA9IDE7CiAJbi0+ZGVz dHJ1Y3RvciA9IE5VTEw7CiAJQyh0YWlsKTsKIAlDKGVuZCk7Ci0tIAoyLjE3LjEKCgpGcm9tIDAw NTUxZGI2ODUyMTA3ODc2N2NjNGRmMjkxNWY2NzAzOGFjNjJlY2QgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IFN0ZWZhbm8gQnJpdmlvIDxzYnJpdmlvQHJlZGhhdC5jb20+CkRhdGU6IEZy aSwgMTMgSnVsIDIwMTggMTM6MjE6MDcgKzAyMDAKU3ViamVjdDogW1BBVENIIDA4LzI1XSBza2J1 ZmY6IFVuY29uZGl0aW9uYWxseSBjb3B5IHBmbWVtYWxsb2MgaW4KIF9fc2tiX2Nsb25lKCkKClsg VXBzdHJlYW0gY29tbWl0IGU3OGJmYjA3NTFkNGUzMTI2OTkxMDZiYTdlZmJlZDJiYWIxYTUzY2Eg XQoKQ29tbWl0IDhiNzAwODYyMGI4NCAoIm5ldDogRG9uJ3QgY29weSBwZm1lbWFsbG9jIGZsYWcg aW4KX19jb3B5X3NrYl9oZWFkZXIoKSIpIGludHJvZHVjZWQgYSBkaWZmZXJlbnQgaGFuZGxpbmcg Zm9yIHRoZQpwZm1lbWFsbG9jIGZsYWcgaW4gY29weSBhbmQgY2xvbmUgcGF0aHMuCgpJbiBfX3Nr Yl9jbG9uZSgpLCBub3csIHRoZSBmbGFnIGlzIHNldCBvbmx5IGlmIGl0IHdhcyBzZXQgaW4gdGhl Cm9yaWdpbmFsIHNrYiwgYnV0IG5vdCBjbGVhcmVkIGlmIGl0IHdhc24ndC4gVGhpcyBpcyB3cm9u ZyBhbmQKbWlnaHQgbGVhZCB0byBzb2NrZXQgYnVmZmVycyBiZWluZyBmbGFnZ2VkIHdpdGggcGZt ZW1hbGxvYyBldmVuCmlmIHRoZSBza2IgZGF0YSB3YXNuJ3QgYWxsb2NhdGVkIGZyb20gcGZtZW1h bGxvYyByZXNlcnZlcy4gQ29weQp0aGUgZmxhZyBpbnN0ZWFkIG9mIE9SaW5nIGl0LgoKUmVwb3J0 ZWQtYnk6IFNhYnJpbmEgRHVicm9jYSA8c2RAcXVlYXN5c25haWwubmV0PgpGaXhlczogOGI3MDA4 NjIwYjg0ICgibmV0OiBEb24ndCBjb3B5IHBmbWVtYWxsb2MgZmxhZyBpbiBfX2NvcHlfc2tiX2hl YWRlcigpIikKU2lnbmVkLW9mZi1ieTogU3RlZmFubyBCcml2aW8gPHNicml2aW9AcmVkaGF0LmNv bT4KVGVzdGVkLWJ5OiBTYWJyaW5hIER1YnJvY2EgPHNkQHF1ZWFzeXNuYWlsLm5ldD4KU2lnbmVk LW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9j b3JlL3NrYnVmZi5jIHwgMyArLS0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMiBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvY29yZS9za2J1ZmYuYyBiL25ldC9jb3JlL3Nr YnVmZi5jCmluZGV4IGI0YWM0MzQxOGU3OS4uYTg0ZDY5YzA0N2FjIDEwMDY0NAotLS0gYS9uZXQv Y29yZS9za2J1ZmYuYworKysgYi9uZXQvY29yZS9za2J1ZmYuYwpAQCAtODU4LDggKzg1OCw3IEBA IHN0YXRpYyBzdHJ1Y3Qgc2tfYnVmZiAqX19za2JfY2xvbmUoc3RydWN0IHNrX2J1ZmYgKm4sIHN0 cnVjdCBza19idWZmICpza2IpCiAJbi0+Y2xvbmVkID0gMTsKIAluLT5ub2hkciA9IDA7CiAJbi0+ cGVla2VkID0gMDsKLQlpZiAoc2tiLT5wZm1lbWFsbG9jKQotCQluLT5wZm1lbWFsbG9jID0gMTsK KwlDKHBmbWVtYWxsb2MpOwogCW4tPmRlc3RydWN0b3IgPSBOVUxMOwogCUModGFpbCk7CiAJQyhl bmQpOwotLSAKMi4xNy4xCgoKRnJvbSAzZTg3YzU0MDgyYWMxYTVhOTdiZTI4OTJmZjM0NDEyNDA0 Yjc4Y2VlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZpZCBBaGVybiA8ZHNhaGVy bkBnbWFpbC5jb20+CkRhdGU6IFNhdCwgNyBKdWwgMjAxOCAxNjoxNToyNiAtMDcwMApTdWJqZWN0 OiBbUEFUQ0ggMDkvMjVdIG5ldC9pcHY0OiBTZXQgb2lmIGluIGZpYl9jb21wdXRlX3NwZWNfZHN0 CgpbIFVwc3RyZWFtIGNvbW1pdCBlNzM3MjE5N2UxNTg1NmVjNGVlNjZiNjY4MDIwYTY2Mjk5NGRi MTAzIF0KClhpbiByZXBvcnRlZCB0aGF0IGljbXAgcmVwbGllcyBtYXkgbm90IHVzZSB0aGUgYWRk cmVzcyBvbiB0aGUgZGV2aWNlIHRoZQplY2hvIHJlcXVlc3QgaXMgcmVjZWl2ZWQgaWYgdGhlIGRl c3RpbmF0aW9uIGFkZHJlc3MgaXMgYnJvYWRjYXN0LiBJbnN0ZWFkCmEgcm91dGUgbG9va3VwIGlz IGRvbmUgd2l0aG91dCBjb25zaWRlcmluZyBWUkYgY29udGV4dC4gRml4IGJ5IHNldHRpbmcKb2lm IGluIGZsb3cgc3RydWN0IHRvIHRoZSBtYXN0ZXIgZGV2aWNlIGlmIGl0IGlzIGVuc2xhdmVkLiBU aGF0IGRpcmVjdHMKdGhlIGxvb2t1cCB0byB0aGUgVlJGIHRhYmxlLiBJZiB0aGUgZGV2aWNlIGlz IG5vdCBlbnNsYXZlZCwgb2lmIGlzIHN0aWxsCjAgc28gbm8gYWZmZWN0LgoKRml4ZXM6IGNkMmZi ZTFiNmI1MSAoIm5ldDogVXNlIFZSRiBkZXZpY2UgaW5kZXggZm9yIGxvb2t1cHMgb24gUlgiKQpS ZXBvcnRlZC1ieTogWGluIExvbmcgPGx1Y2llbi54aW5AZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5 OiBEYXZpZCBBaGVybiA8ZHNhaGVybkBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMu IE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2NC9maWJfZnJvbnRlbmQu YyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEvbmV0 L2lwdjQvZmliX2Zyb250ZW5kLmMgYi9uZXQvaXB2NC9maWJfZnJvbnRlbmQuYwppbmRleCBlNjYx NzJhYWYyNDEuLjUxMWQ2NzQ4ZWE1ZiAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvZmliX2Zyb250ZW5k LmMKKysrIGIvbmV0L2lwdjQvZmliX2Zyb250ZW5kLmMKQEAgLTMwMCw2ICszMDAsNyBAQCBfX2Jl MzIgZmliX2NvbXB1dGVfc3BlY19kc3Qoc3RydWN0IHNrX2J1ZmYgKnNrYikKIAlpZiAoIWlwdjRf aXNfemVyb25ldChpcF9oZHIoc2tiKS0+c2FkZHIpKSB7CiAJCXN0cnVjdCBmbG93aTQgZmw0ID0g ewogCQkJLmZsb3dpNF9paWYgPSBMT09QQkFDS19JRklOREVYLAorCQkJLmZsb3dpNF9vaWYgPSBs M21kZXZfbWFzdGVyX2lmaW5kZXhfcmN1KGRldiksCiAJCQkuZGFkZHIgPSBpcF9oZHIoc2tiKS0+ c2FkZHIsCiAJCQkuZmxvd2k0X3RvcyA9IFJUX1RPUyhpcF9oZHIoc2tiKS0+dG9zKSwKIAkJCS5m bG93aTRfc2NvcGUgPSBzY29wZSwKLS0gCjIuMTcuMQoKCkZyb20gY2E5ZjVlYWZiNWIyMTZlMjFj ZWJiOTM2NTI4NWI2ZjBkNjMxY2M4NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRGF2 aWQgQWhlcm4gPGRzYWhlcm5AZ21haWwuY29tPgpEYXRlOiBTdW4sIDE1IEp1bCAyMDE4IDA5OjM1 OjE5IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAxMC8yNV0gbmV0L2lwdjY6IERvIG5vdCBhbGxvdyBk ZXZpY2Ugb25seSByb3V0ZXMgdmlhIHRoZQogbXVsdGlwYXRoIEFQSQoKWyBVcHN0cmVhbSBjb21t aXQgYjVkMmQ3NWUwNzlhOTE4YmU2ODY5NTdiMWE4ZDJmNmM1Y2M5NWEwYSBdCgpFcmljIHJlcG9y dGVkIHRoYXQgcmV2ZXJ0aW5nIHRoZSBwYXRjaCB0aGF0IGZpeGVkIGFuZCBzaW1wbGlmaWVkIElQ djYKbXVsdGlwYXRoIHJvdXRlcyBtZWFucyByZXZlcnRpbmcgYmFjayB0byBpbnZhbGlkIHVzZXJz cGFjZSBub3RpZmljYXRpb25zLgplZy4sCiQgaXAgLTYgcm91dGUgYWRkIDIwMDE6ZGI4OjE6Oi82 NCBuZXh0aG9wIGRldiBldGgwIG5leHRob3AgZGV2IGV0aDEKCm9ubHkgZ2VuZXJhdGVzIGEgc2lu Z2xlIG5vdGlmaWNhdGlvbjoKMjAwMTpkYjg6MTo6LzY0IGRldiBldGgwIG1ldHJpYyAxMDI0IHBy ZWYgbWVkaXVtCgpXaGlsZSB3b3JraW5nIG9uIGEgZml4IGZvciB0aGlzIHByb2JsZW0gSSBmb3Vu ZCBhbm90aGVyIGNhc2UgdGhhdCBpcyBqdXN0CmJyb2tlbiBjb21wbGV0ZWx5IC0gYSBtdWx0aXBh dGggcm91dGUgd2l0aCBhIGdhdGV3YXkgZm9sbG93ZWQgYnkgZGV2aWNlCmZvbGxvd2VkIGJ5IGdh dGV3YXk6CiAgICAkIGlwIC02IHJvIGFkZCAyMDAxOmRiODoxMDM6Oi82NAogICAgICAgICAgbmV4 dGhvcCB2aWEgMjAwMTpkYjg6MTo6NjQKICAgICAgICAgIG5leHRob3AgZGV2IGR1bW15MgogICAg ICAgICAgbmV4dGhvcCB2aWEgMjAwMTpkYjg6Mzo6NjQKCkluIHRoaXMgY2FzZSB0aGUgZGV2aWNl IG9ubHkgcm91dGUgaXMgZHJvcHBlZCBjb21wbGV0ZWx5IC0gbm8gbm90aWZpY2F0aW9uCnRvIHVz ZXJwc2FjZSBidXQgbm8gYWRkaXRpb24gdG8gdGhlIEZJQiBlaXRoZXI6CgokIGlwIC02IHJvIGxz CjIwMDE6ZGI4OjE6Oi82NCBkZXYgZHVtbXkxIHByb3RvIGtlcm5lbCBtZXRyaWMgMjU2IHByZWYg bWVkaXVtCjIwMDE6ZGI4OjI6Oi82NCBkZXYgZHVtbXkyIHByb3RvIGtlcm5lbCBtZXRyaWMgMjU2 IHByZWYgbWVkaXVtCjIwMDE6ZGI4OjM6Oi82NCBkZXYgZHVtbXkzIHByb3RvIGtlcm5lbCBtZXRy aWMgMjU2IHByZWYgbWVkaXVtCjIwMDE6ZGI4OjEwMzo6LzY0IG1ldHJpYyAxMDI0CgluZXh0aG9w IHZpYSAyMDAxOmRiODoxOjo2NCBkZXYgZHVtbXkxIHdlaWdodCAxCgluZXh0aG9wIHZpYSAyMDAx OmRiODozOjo2NCBkZXYgZHVtbXkzIHdlaWdodCAxIHByZWYgbWVkaXVtCmZlODA6Oi82NCBkZXYg ZHVtbXkxIHByb3RvIGtlcm5lbCBtZXRyaWMgMjU2IHByZWYgbWVkaXVtCmZlODA6Oi82NCBkZXYg ZHVtbXkyIHByb3RvIGtlcm5lbCBtZXRyaWMgMjU2IHByZWYgbWVkaXVtCmZlODA6Oi82NCBkZXYg ZHVtbXkzIHByb3RvIGtlcm5lbCBtZXRyaWMgMjU2IHByZWYgbWVkaXVtCgpSZWFsbHksIElQdjYg bXVsdGlwYXRoIGlzIGp1c3QgRlVCQVInZWQgYmV5b25kIHJlcGFpciB3aGVuIGl0IGNvbWVzIHRv CmRldmljZSBvbmx5IHJvdXRlcywgc28gZG8gbm90IGFsbG93IGl0IGFsbC4KClRoaXMgY2hhbmdl IHdpbGwgYnJlYWsgYW55IHNjcmlwdHMgcmVseWluZyBvbiB0aGUgbXBhdGggYXBpIGZvciBpbnNl cnQsCmJ1dCBJIGRvbid0IHNlZSBhbnkgb3RoZXIgd2F5IHRvIGhhbmRsZSB0aGUgcGVybXV0YXRp b25zLiBCZXNpZGVzLCBzaW5jZQp0aGUgcm91dGVzIGFyZSBhZGRlZCB0byB0aGUgRklCIGFzIHN0 YW5kYWxvbmUgKG5vbi1tdWx0aXBhdGgpIHJvdXRlcyB0aGUKa2VybmVsIGlzIG5vdCBkb2luZyB3 aGF0IHRoZSB1c2VyIHJlcXVlc3RlZCwgc28gaXQgbWlnaHQgYXMgd2VsbCB0ZWxsIHRoZQp1c2Vy IHRoYXQuCgpSZXBvcnRlZC1ieTogRXJpYyBEdW1hemV0IDxlcmljLmR1bWF6ZXRAZ21haWwuY29t PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBBaGVybiA8ZHNhaGVybkBnbWFpbC5jb20+ClJldmlld2Vk LWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERh dmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2Ni9yb3V0ZS5j IHwgNyArKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0 IGEvbmV0L2lwdjYvcm91dGUuYyBiL25ldC9pcHY2L3JvdXRlLmMKaW5kZXggYjk0MzQ1ZTY1N2Y3 Li4zZWQ0ZGUyMzA4MzAgMTAwNjQ0Ci0tLSBhL25ldC9pcHY2L3JvdXRlLmMKKysrIGIvbmV0L2lw djYvcm91dGUuYwpAQCAtNDI3NCw2ICs0Mjc0LDEzIEBAIHN0YXRpYyBpbnQgaXA2X3JvdXRlX211 bHRpcGF0aF9hZGQoc3RydWN0IGZpYjZfY29uZmlnICpjZmcsCiAJCQllcnJfbmggPSBuaDsKIAkJ CWdvdG8gYWRkX2Vycm91dDsKIAkJfQorCQlpZiAoIXJ0Nl9xdWFsaWZ5X2Zvcl9lY21wKHJ0KSkg eworCQkJZXJyID0gLUVJTlZBTDsKKwkJCU5MX1NFVF9FUlJfTVNHKGV4dGFjaywKKwkJCQkgICAg ICAgIkRldmljZSBvbmx5IHJvdXRlcyBjYW4gbm90IGJlIGFkZGVkIGZvciBJUHY2IHVzaW5nIHRo ZSBtdWx0aXBhdGggQVBJLiIpOworCQkJZHN0X3JlbGVhc2VfaW1tZWRpYXRlKCZydC0+ZHN0KTsK KwkJCWdvdG8gY2xlYW51cDsKKwkJfQogCiAJCS8qIEJlY2F1c2UgZWFjaCByb3V0ZSBpcyBhZGRl ZCBsaWtlIGEgc2luZ2xlIHJvdXRlIHdlIHJlbW92ZQogCQkgKiB0aGVzZSBmbGFncyBhZnRlciB0 aGUgZmlyc3QgbmV4dGhvcDogaWYgdGhlcmUgaXMgYSBjb2xsaXNpb24sCi0tIAoyLjE3LjEKCgpG cm9tIDUyNjQ5ZGJmYTA0NjIwZTJjODE4YjIzZDNhZjY0NGVhN2VhZTlmODYgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IEhlaW5lciBLYWxsd2VpdCA8aGthbGx3ZWl0MUBnbWFpbC5jb20+ CkRhdGU6IFR1ZSwgMyBKdWwgMjAxOCAyMjozNDo1NCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMTEv MjVdIG5ldDogcGh5OiBmaXggZmxhZyBtYXNraW5nIGluIF9fc2V0X3BoeV9zdXBwb3J0ZWQKClsg VXBzdHJlYW0gY29tbWl0IGRmOGVkMzQ2ZDRhODA2YTZlZWYyZGI1OTI0Mjg1ZTgzOTYwNGIzZjkg XQoKQ3VycmVudGx5IGFsc28gdGhlIHBhdXNlIGZsYWdzIGFyZSByZW1vdmVkIGZyb20gcGh5ZGV2 LT5zdXBwb3J0ZWQgYmVjYXVzZQp0aGV5J3JlIG5vdCBpbmNsdWRlZCBpbiBQSFlfREVGQVVMVF9G RUFUVVJFUy4gSSBkb24ndCB0aGluayB0aGlzIGlzCmludGVuZGVkLCBlc3BlY2lhbGx5IHdoZW4g Y29uc2lkZXJpbmcgdGhhdCB0aGlzIGZ1bmN0aW9uIGNhbiBiZSBjYWxsZWQKdmlhIHBoeV9zZXRf bWF4X3NwZWVkKCkgYW55d2hlcmUgaW4gYSBkcml2ZXIuIENoYW5nZSB0aGUgbWFza2luZyB0byBt YXNrCm91dCBvbmx5IHRoZSB2YWx1ZXMgd2UncmUgZ29pbmcgdG8gY2hhbmdlLiBJbiBhZGRpdGlv biByZW1vdmUgdGhlCm1pc2xlYWRpbmcgY29tbWVudCwgam9iIG9mIHRoaXMgc21hbGwgZnVuY3Rp b24gaXMganVzdCB0byBhZGp1c3QgdGhlCnN1cHBvcnRlZCBhbmQgYWR2ZXJ0aXNlZCBzcGVlZHMu CgpGaXhlczogZjNhNmJkMzkzYzJjICgicGh5bGliOiBBZGQgcGh5X3NldF9tYXhfc3BlZWQgaGVs cGVyIikKU2lnbmVkLW9mZi1ieTogSGVpbmVyIEthbGx3ZWl0IDxoa2FsbHdlaXQxQGdtYWlsLmNv bT4KUmV2aWV3ZWQtYnk6IEFuZHJldyBMdW5uIDxhbmRyZXdAbHVubi5jaD4KUmV2aWV3ZWQtYnk6 IEZsb3JpYW4gRmFpbmVsbGkgPGYuZmFpbmVsbGlAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvcGh5 L3BoeV9kZXZpY2UuYyB8IDcgKystLS0tLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygr KSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9waHkvcGh5X2Rldmlj ZS5jIGIvZHJpdmVycy9uZXQvcGh5L3BoeV9kZXZpY2UuYwppbmRleCA5ZTRiYThlODBhMTguLjVh YTA4MWZkYTQ0NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvcGh5L3BoeV9kZXZpY2UuYworKysg Yi9kcml2ZXJzL25ldC9waHkvcGh5X2RldmljZS5jCkBAIC0xNzIwLDExICsxNzIwLDggQEAgRVhQ T1JUX1NZTUJPTChnZW5waHlfbG9vcGJhY2spOwogCiBzdGF0aWMgaW50IF9fc2V0X3BoeV9zdXBw b3J0ZWQoc3RydWN0IHBoeV9kZXZpY2UgKnBoeWRldiwgdTMyIG1heF9zcGVlZCkKIHsKLQkvKiBU aGUgZGVmYXVsdCB2YWx1ZXMgZm9yIHBoeWRldi0+c3VwcG9ydGVkIGFyZSBwcm92aWRlZCBieSB0 aGUgUEhZCi0JICogZHJpdmVyICJmZWF0dXJlcyIgbWVtYmVyLCB3ZSB3YW50IHRvIHJlc2V0IHRv IHNhbmUgZGVmYXVsdHMgZmlyc3QKLQkgKiBiZWZvcmUgc3VwcG9ydGluZyBoaWdoZXIgc3BlZWRz LgotCSAqLwotCXBoeWRldi0+c3VwcG9ydGVkICY9IFBIWV9ERUZBVUxUX0ZFQVRVUkVTOworCXBo eWRldi0+c3VwcG9ydGVkICY9IH4oUEhZXzEwMDBCVF9GRUFUVVJFUyB8IFBIWV8xMDBCVF9GRUFU VVJFUyB8CisJCQkgICAgICAgUEhZXzEwQlRfRkVBVFVSRVMpOwogCiAJc3dpdGNoIChtYXhfc3Bl ZWQpIHsKIAlkZWZhdWx0OgotLSAKMi4xNy4xCgoKRnJvbSA3ZjZjMGI2NTFiOGMzZTYwNzc4NTc5 NzUyM2ZiN2Y4MjhkNzBmNWEwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiR3VzdGF2 byBBLiBSLiBTaWx2YSIgPGd1c3Rhdm9AZW1iZWRkZWRvci5jb20+CkRhdGU6IFR1ZSwgMTcgSnVs IDIwMTggMjA6MTc6MzMgLTA1MDAKU3ViamVjdDogW1BBVENIIDEyLzI1XSBwdHA6IGZpeCBtaXNz aW5nIGJyZWFrIGluIHN3aXRjaAoKWyBVcHN0cmVhbSBjb21taXQgOWJhODM3NmNlMWUyY2JmNGNl NDRmN2U0YmVlMWQwNjQ4ZTEwZDU5NCBdCgpJdCBzZWVtcyB0aGF0IGEgKmJyZWFrKiBpcyBtaXNz aW5nIGluIG9yZGVyIHRvIGF2b2lkIGZhbGxpbmcgdGhyb3VnaAp0byB0aGUgZGVmYXVsdCBjYXNl LiBPdGhlcndpc2UsIGNoZWNraW5nICpjaGFuKiBtYWtlcyBubyBzZW5zZS4KCkZpeGVzOiA3MmRm N2E3MjQ0YzAgKCJwdHA6IEFsbG93IHJlYXNzaWduaW5nIGNhbGlicmF0aW9uIHBpbiBmdW5jdGlv biIpClNpZ25lZC1vZmYtYnk6IEd1c3Rhdm8gQS4gUi4gU2lsdmEgPGd1c3Rhdm9AZW1iZWRkZWRv ci5jb20+CkFja2VkLWJ5OiBSaWNoYXJkIENvY2hyYW4gPHJpY2hhcmRjb2NocmFuQGdtYWlsLmNv bT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0Pgot LS0KIGRyaXZlcnMvcHRwL3B0cF9jaGFyZGV2LmMgfCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcHRwL3B0cF9jaGFyZGV2LmMgYi9kcml2 ZXJzL3B0cC9wdHBfY2hhcmRldi5jCmluZGV4IDc2N2M0ODVhZjU5Yi4uNTIyNzE5YjQ5NGYzIDEw MDY0NAotLS0gYS9kcml2ZXJzL3B0cC9wdHBfY2hhcmRldi5jCisrKyBiL2RyaXZlcnMvcHRwL3B0 cF9jaGFyZGV2LmMKQEAgLTg5LDYgKzg5LDcgQEAgaW50IHB0cF9zZXRfcGluZnVuYyhzdHJ1Y3Qg cHRwX2Nsb2NrICpwdHAsIHVuc2lnbmVkIGludCBwaW4sCiAJY2FzZSBQVFBfUEZfUEhZU1lOQzoK IAkJaWYgKGNoYW4gIT0gMCkKIAkJCXJldHVybiAtRUlOVkFMOworCQlicmVhazsKIAlkZWZhdWx0 OgogCQlyZXR1cm4gLUVJTlZBTDsKIAl9Ci0tIAoyLjE3LjEKCgpGcm9tIGZkMTJjYjA3MWIwMmQ1 ZDkxZWU4YTJiZDNiMTA1ZmFiM2UwNDJhZjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IE1hdGV2eiBWdWNuaWsgPHZ1Y25pa21AZ21haWwuY29tPgpEYXRlOiBXZWQsIDQgSnVsIDIwMTgg MTg6MTI6NDggKzAyMDAKU3ViamVjdDogW1BBVENIIDEzLzI1XSBxbWlfd3dhbjogYWRkIHN1cHBv cnQgZm9yIFF1ZWN0ZWwgRUc5MQpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQv cGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKWyBV cHN0cmVhbSBjb21taXQgMzhjZDU4ZWQ5YzRlMzg5Nzk5YjUwN2JjZmZlMDJhN2E3YTE4MGIzMyBd CgpUaGlzIGFkZHMgdGhlIFVTQiBpZCBvZiBMVEUgbW9kZW0gUXVlY3RlbCBFRzkxLiBJdCByZXF1 aXJlcyB0aGUKc2FtZSBxdWlyayBhcyBvdGhlciBRdWVjdGVsIG1vZGVtcyB0byBtYWtlIGl0IHdv cmsuCgpTaWduZWQtb2ZmLWJ5OiBNYXRldnogVnVjbmlrIDx2dWNuaWttQGdtYWlsLmNvbT4KQWNr ZWQtYnk6IEJqw7hybiBNb3JrIDxiam9ybkBtb3JrLm5vPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvdXNiL3FtaV93 d2FuLmMgfCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvbmV0L3VzYi9xbWlfd3dhbi5jIGIvZHJpdmVycy9uZXQvdXNiL3FtaV93d2FuLmMK aW5kZXggMDRjMjJmNTA4ZWQ5Li5mOGY5MGQ3N2NmMGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0 L3VzYi9xbWlfd3dhbi5jCisrKyBiL2RyaXZlcnMvbmV0L3VzYi9xbWlfd3dhbi5jCkBAIC0xMjUz LDYgKzEyNTMsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgcHJvZHVjdHNb XSA9IHsKIAl7UU1JX0ZJWEVEX0lOVEYoMHgxZTBlLCAweDkwMDEsIDUpfSwJLyogU0lNQ29tIDcy MzBFICovCiAJe1FNSV9RVUlSS19TRVRfRFRSKDB4MmM3YywgMHgwMTI1LCA0KX0sCS8qIFF1ZWN0 ZWwgRUMyNSwgRUMyMCBSMi4wICBNaW5pIFBDSWUgKi8KIAl7UU1JX1FVSVJLX1NFVF9EVFIoMHgy YzdjLCAweDAxMjEsIDQpfSwJLyogUXVlY3RlbCBFQzIxIE1pbmkgUENJZSAqLworCXtRTUlfUVVJ UktfU0VUX0RUUigweDJjN2MsIDB4MDE5MSwgNCl9LAkvKiBRdWVjdGVsIEVHOTEgKi8KIAl7UU1J X0ZJWEVEX0lOVEYoMHgyYzdjLCAweDAyOTYsIDQpfSwJLyogUXVlY3RlbCBCRzk2ICovCiAJe1FN SV9RVUlSS19TRVRfRFRSKDB4MmM3YywgMHgwMzA2LCA0KX0sCS8qIFF1ZWN0ZWwgRVAwNiBNaW5p IFBDSWUgKi8KIAotLSAKMi4xNy4xCgoKRnJvbSA1NGExNzhmZmE3ZGUxMzU3MThkMmE3OGE1MjJj Y2M0NWE3YWZhZGU1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBUYWVoZWUgWW9vIDxh cDQyMDA3M0BnbWFpbC5jb20+CkRhdGU6IFN1biwgOCBKdWwgMjAxOCAxMTo1NTo1MSArMDkwMApT dWJqZWN0OiBbUEFUQ0ggMTQvMjVdIHJoYXNodGFibGU6IGFkZCByZXN0YXJ0IHJvdXRpbmUgaW4K IHJoYXNodGFibGVfZnJlZV9hbmRfZGVzdHJveSgpCgpbIFVwc3RyZWFtIGNvbW1pdCAwMDI2MTI5 Yzg2MjkyNjViZmU1MDc5YzFlMDE3ZmE4NTQzNzk2ZDlmIF0KCnJoYXNodGFibGVfZnJlZV9hbmRf ZGVzdHJveSgpIGNhbmNlbHMgcmUtaGFzaCBkZWZlcnJlZCB3b3JrCnRoZW4gd2Fsa3MgYW5kIGRl c3Ryb3lzIGVsZW1lbnRzLiBhdCB0aGlzIG1vbWVudCwgc29tZSBlbGVtZW50cyBjYW4gYmUKc3Rp bGwgaW4gZnV0dXJlX3RibC4gdGhhdCBlbGVtZW50cyBhcmUgbm90IGRlc3Ryb3llZC4KCnRlc3Qg Y2FzZToKbmZ0X3JoYXNoX2Rlc3Ryb3koKSBjYWxscyByaGFzaHRhYmxlX2ZyZWVfYW5kX2Rlc3Ry b3koKSB0byBkZXN0cm95CmFsbCBlbGVtZW50cyBvZiBzZXRzIGJlZm9yZSBkZXN0cm95aW5nIHNl dHMgYW5kIGNoYWlucy4KQnV0IHJoYXNodGFibGVfZnJlZV9hbmRfZGVzdHJveSgpIGRvZXNuJ3Qg ZGVzdHJveSBlbGVtZW50cyBvZiBmdXR1cmVfdGJsLgpzbyB0aGF0IHNwbGF0IG9jY3VycmVkLgoK dGVzdCBzY3JpcHQ6CiAgICVjYXQgdGVzdC5uZnQKICAgdGFibGUgaXAgYWEgewoJICAgbWFwIG1h cDEgewoJCSAgIHR5cGUgaXB2NF9hZGRyIDogdmVyZGljdDsKCQkgICBlbGVtZW50cyA9IHsKCQkJ ICAgMCA6IGp1bXAgYTAsCgkJCSAgIDEgOiBqdW1wIGEwLAoJCQkgICAyIDoganVtcCBhMCwKCQkJ ICAgMyA6IGp1bXAgYTAsCgkJCSAgIDQgOiBqdW1wIGEwLAoJCQkgICA1IDoganVtcCBhMCwKCQkJ ICAgNiA6IGp1bXAgYTAsCgkJCSAgIDcgOiBqdW1wIGEwLAoJCQkgICA4IDoganVtcCBhMCwKCQkJ ICAgOSA6IGp1bXAgYTAsCgkJfQoJICAgfQoJICAgY2hhaW4gYTAgewoJICAgfQogICB9CiAgIGZs dXNoIHJ1bGVzZXQKICAgdGFibGUgaXAgYWEgewoJICAgbWFwIG1hcDEgewoJCSAgIHR5cGUgaXB2 NF9hZGRyIDogdmVyZGljdDsKCQkgICBlbGVtZW50cyA9IHsKCQkJICAgMCA6IGp1bXAgYTAsCgkJ CSAgIDEgOiBqdW1wIGEwLAoJCQkgICAyIDoganVtcCBhMCwKCQkJICAgMyA6IGp1bXAgYTAsCgkJ CSAgIDQgOiBqdW1wIGEwLAoJCQkgICA1IDoganVtcCBhMCwKCQkJICAgNiA6IGp1bXAgYTAsCgkJ CSAgIDcgOiBqdW1wIGEwLAoJCQkgICA4IDoganVtcCBhMCwKCQkJICAgOSA6IGp1bXAgYTAsCgkJ ICAgfQoJICAgfQoJICAgY2hhaW4gYTAgewoJICAgfQogICB9CiAgIGZsdXNoIHJ1bGVzZXQKCiAg ICV3aGlsZSA6OyBkbyBuZnQgLWYgdGVzdC5uZnQ7IGRvbmUKClNwbGF0IGxvb2tzIGxpa2U6Clsg IDIwMC43OTU2MDNdIGtlcm5lbCBCVUcgYXQgbmV0L25ldGZpbHRlci9uZl90YWJsZXNfYXBpLmM6 MTM2MyEKWyAgMjAwLjgwNjk0NF0gaW52YWxpZCBvcGNvZGU6IDAwMDAgWyMxXSBTTVAgREVCVUdf UEFHRUFMTE9DIEtBU0FOIFBUSQpbICAyMDAuODEyMjUzXSBDUFU6IDEgUElEOiAxNTgyIENvbW06 IG5mdCBOb3QgdGFpbnRlZCA0LjE3LjArICMyNApbICAyMDAuODIwMjk3XSBIYXJkd2FyZSBuYW1l OiBUbyBiZSBmaWxsZWQgYnkgTy5FLk0uIFRvIGJlIGZpbGxlZCBieSBPLkUuTS4vQXB0aW8gQ1JC LCBCSU9TIDUuNi41IDA3LzA4LzIwMTUKWyAgMjAwLjgzMDMwOV0gUklQOiAwMDEwOm5mX3RhYmxl c19jaGFpbl9kZXN0cm95LmlzcmEuMzQrMHg2Mi8weDI0MCBbbmZfdGFibGVzXQpbICAyMDAuODM4 MzE3XSBDb2RlOiA0MyA1MCA4NSBjMCA3NCAyNiA0OCA4YiA0NSAwMCA0OCA4YiA0ZCAwOCBiYSA1 NCAwNSAwMCAwMCA0OCBjNyBjNiA2MCA2ZCAyOSBjMCA0OCBjNyBjNyBjMCA2NSAyOSBjMCA0YyA4 YiA0MCAwOCBlOCA1OCBlNSBmZCBmOCA8MGY+IDBiIDQ4IDg5IGRhIDQ4IGI4IDAwIDAwIDAwIDAw IDAwIGZjIGZmClsgIDIwMC44NjAzNjZdIFJTUDogMDAwMDpmZmZmODgwMTE4ZGJmNGQwIEVGTEFH UzogMDAwMTAyODIKWyAgMjAwLjg2NjM1NF0gUkFYOiAwMDAwMDAwMDAwMDAwMDYxIFJCWDogZmZm Zjg4MDEwY2RlYWYwOCBSQ1g6IDAwMDAwMDAwMDAwMDAwMDAKWyAgMjAwLjg3NDM1NV0gUkRYOiAw MDAwMDAwMDAwMDAwMDYxIFJTSTogMDAwMDAwMDAwMDAwMDAwOCBSREk6IGZmZmZlZDAwMjMxYjdl OTAKWyAgMjAwLjg4MjM2MV0gUkJQOiBmZmZmODgwMTE4ZGJmNGU4IFIwODogZmZmZmVkMDAyMzcz YmNmYiBSMDk6IGZmZmZlZDAwMjM3M2JjZmEKWyAgMjAwLjg5MDM1NF0gUjEwOiAwMDAwMDAwMDAw MDAwMDAwIFIxMTogZmZmZmVkMDAyMzczYmNmYiBSMTI6IGRlYWQwMDAwMDAwMDAyMDAKWyAgMjAw Ljg5ODM1Nl0gUjEzOiBkZWFkMDAwMDAwMDAwMTAwIFIxNDogZmZmZmZmZmZiYjYyYWYzOCBSMTU6 IGRmZmZmYzAwMDAwMDAwMDAKWyAgMjAwLjkwNjM1NF0gRlM6ICAwMDAwN2ZlZmMzMWZkNzAwKDAw MDApIEdTOmZmZmY4ODAxMWI4MDAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMApbICAy MDAuOTE1NTMzXSBDUzogIDAwMTAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUw MDMzClsgIDIwMC45MjIzNTVdIENSMjogMDAwMDU1N2YxYzhlOTEyOCBDUjM6IDAwMDAwMDAxMDY4 ODAwMDAgQ1I0OiAwMDAwMDAwMDAwMTAwNmUwClsgIDIwMC45MzAzNTNdIENhbGwgVHJhY2U6Clsg IDIwMC45MzIzNTFdICA/IG5mX3RhYmxlc19jb21taXQrMHgyNmY2LzB4MmM2MCBbbmZfdGFibGVz XQpbICAyMDAuOTM5NTI1XSAgPyBuZl90YWJsZXNfc2V0ZWxlbV9ub3RpZnkuY29uc3Rwcm9wLjQ5 KzB4MWEwLzB4MWEwIFtuZl90YWJsZXNdClsgIDIwMC45NDc1MjVdICA/IG5mX3RhYmxlc19kZWxj aGFpbisweDZlMC8weDZlMCBbbmZfdGFibGVzXQpbICAyMDAuOTUyMzgzXSAgPyBuZnRfYWRkX3Nl dF9lbGVtKzB4MTcwMC8weDE3MDAgW25mX3RhYmxlc10KWyAgMjAwLjk1OTUzMl0gID8gbmxhX3Bh cnNlKzB4YWIvMHgyMzAKWyAgMjAwLjk2MzUyOV0gID8gbmZuZXRsaW5rX3Jjdl9iYXRjaCsweGQw Ni8weDEwZDAgW25mbmV0bGlua10KWyAgMjAwLjk2ODM4NF0gID8gbmZuZXRsaW5rX25ldF9pbml0 KzB4MTMwLzB4MTMwIFtuZm5ldGxpbmtdClsgIDIwMC45NzU1MjVdICA/IGRlYnVnX3Nob3dfYWxs X2xvY2tzKzB4MjkwLzB4MjkwClsgIDIwMC45ODAzNjNdICA/IGRlYnVnX3Nob3dfYWxsX2xvY2tz KzB4MjkwLzB4MjkwClsgIDIwMC45ODYzNTZdICA/IHNjaGVkX2Nsb2NrX2NwdSsweDEzMi8weDE3 MApbICAyMDAuOTkwMzUyXSAgPyBmaW5kX2hlbGRfbG9jaysweDM5LzB4MWIwClsgIDIwMC45OTQz NTVdICA/IHNjaGVkX2Nsb2NrX2xvY2FsKzB4MTBkLzB4MTMwClsgIDIwMC45OTk1MzFdICA/IG1l bXNldCsweDFmLzB4NDAKClYyOgogLSBmcmVlIGFsbCB0YWJsZXMgcmVxdWVzdGVkIGJ5IEhlcmJl cnQgWHUKClNpZ25lZC1vZmYtYnk6IFRhZWhlZSBZb28gPGFwNDIwMDczQGdtYWlsLmNvbT4KQWNr ZWQtYnk6IEhlcmJlcnQgWHUgPGhlcmJlcnRAZ29uZG9yLmFwYW5hLm9yZy5hdT4KU2lnbmVkLW9m Zi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGxpYi9yaGFz aHRhYmxlLmMgfCA4ICsrKysrKystCiAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAx IGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbGliL3JoYXNodGFibGUuYyBiL2xpYi9yaGFzaHRh YmxlLmMKaW5kZXggMTFlODljM2I3NmUzLi4yNDBhOGI4NjRkNWIgMTAwNjQ0Ci0tLSBhL2xpYi9y aGFzaHRhYmxlLmMKKysrIGIvbGliL3JoYXNodGFibGUuYwpAQCAtMTEwNywxMyArMTEwNywxNCBA QCB2b2lkIHJoYXNodGFibGVfZnJlZV9hbmRfZGVzdHJveShzdHJ1Y3Qgcmhhc2h0YWJsZSAqaHQs CiAJCQkJIHZvaWQgKCpmcmVlX2ZuKSh2b2lkICpwdHIsIHZvaWQgKmFyZyksCiAJCQkJIHZvaWQg KmFyZykKIHsKLQlzdHJ1Y3QgYnVja2V0X3RhYmxlICp0Ymw7CisJc3RydWN0IGJ1Y2tldF90YWJs ZSAqdGJsLCAqbmV4dF90Ymw7CiAJdW5zaWduZWQgaW50IGk7CiAKIAljYW5jZWxfd29ya19zeW5j KCZodC0+cnVuX3dvcmspOwogCiAJbXV0ZXhfbG9jaygmaHQtPm11dGV4KTsKIAl0YmwgPSByaHRf ZGVyZWZlcmVuY2UoaHQtPnRibCwgaHQpOworcmVzdGFydDoKIAlpZiAoZnJlZV9mbikgewogCQlm b3IgKGkgPSAwOyBpIDwgdGJsLT5zaXplOyBpKyspIHsKIAkJCXN0cnVjdCByaGFzaF9oZWFkICpw b3MsICpuZXh0OwpAQCAtMTEzMCw3ICsxMTMxLDEyIEBAIHZvaWQgcmhhc2h0YWJsZV9mcmVlX2Fu ZF9kZXN0cm95KHN0cnVjdCByaGFzaHRhYmxlICpodCwKIAkJfQogCX0KIAorCW5leHRfdGJsID0g cmh0X2RlcmVmZXJlbmNlKHRibC0+ZnV0dXJlX3RibCwgaHQpOwogCWJ1Y2tldF90YWJsZV9mcmVl KHRibCk7CisJaWYgKG5leHRfdGJsKSB7CisJCXRibCA9IG5leHRfdGJsOworCQlnb3RvIHJlc3Rh cnQ7CisJfQogCW11dGV4X3VubG9jaygmaHQtPm11dGV4KTsKIH0KIEVYUE9SVF9TWU1CT0xfR1BM KHJoYXNodGFibGVfZnJlZV9hbmRfZGVzdHJveSk7Ci0tIAoyLjE3LjEKCgpGcm9tIDIxM2U2Mjdl NTE5MTY3MTQ4OGEwYTZjYWVmY2ZjYjNjMjZmMzBkYWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IEphY29iIEtlbGxlciA8amFjb2IuZS5rZWxsZXJAaW50ZWwuY29tPgpEYXRlOiBUdWUs IDEwIEp1bCAyMDE4IDE0OjIyOjI3IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAxNS8yNV0gc2NoX2Zx X2NvZGVsOiB6ZXJvIHEtPmZsb3dzX2NudCB3aGVuIGZxX2NvZGVsX2luaXQKIGZhaWxzCgpbIFVw c3RyZWFtIGNvbW1pdCA4M2ZlNmI4NzA5ZjY1YmM1MDViMTAyMzViZDgyZWNlMTJjNGM1MDk5IF0K CldoZW4gZnFfY29kZWxfaW5pdCBmYWlscywgcWRpc2NfY3JlYXRlX2RmbHQgd2lsbCBjbGVhbnVw IGJ5IHVzaW5nCnFkaXNjX2Rlc3Ryb3kuIFRoaXMgZnVuY3Rpb24gY2FsbHMgdGhlIC0+cmVzZXQo KSBvcCBwcmlvciB0byBjYWxsaW5nIHRoZQotPmRlc3Ryb3koKSBvcC4KClVuZm9ydHVuYXRlbHks IGR1cmluZyB0aGUgZmFpbHVyZSBmbG93IGZvciBzY2hfZnFfY29kZWwsIHRoZSAtPmZsb3dzCnBh cmFtZXRlciBpcyBub3QgaW5pdGlhbGl6ZWQsIHNvIHRoZSBmcV9jb2RlbF9yZXNldCBmdW5jdGlv biB3aWxsIG51bGwKcG9pbnRlciBkZXJlZmVyZW5jZS4KCiAgIGtlcm5lbDogQlVHOiB1bmFibGUg dG8gaGFuZGxlIGtlcm5lbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgYXQgMDAwMDAwMDAwMDAw MDAwOAogICBrZXJuZWw6IElQOiBmcV9jb2RlbF9yZXNldCsweDU4LzB4ZDAgW3NjaF9mcV9jb2Rl bF0KICAga2VybmVsOiBQR0QgMCBQNEQgMAogICBrZXJuZWw6IE9vcHM6IDAwMDAgWyMxXSBTTVAg UFRJCiAgIGtlcm5lbDogTW9kdWxlcyBsaW5rZWQgaW46IGk0MGl3IGk0MGUoT0UpIHh0X0NIRUNL U1VNIGlwdGFibGVfbWFuZ2xlIGlwdF9NQVNRVUVSQURFIG5mX25hdF9tYXNxdWVyYWRlX2lwdjQg aXB0YWJsZV9uYXQgbmZfbmF0X2lwdjQgbmZfbmF0IG5mX2Nvbm50cmFja19pcHY0IG5mX2RlZnJh Z19pcHY0IHh0X2Nvbm50cmFjayBuZl9jb25udHJhY2sgdHVuIGJyaWRnZSBzdHAgbGxjIGRldmxp bmsgZWJ0YWJsZV9maWx0ZXIgZWJ0YWJsZXMgaXA2dGFibGVfZmlsdGVyIGlwNl90YWJsZXMgcnBj cmRtYSBpYl9pc2VydCBpc2NzaV90YXJnZXRfbW9kIHN1bnJwYyBpYl9pc2VyIGxpYmlzY3NpIHNj c2lfdHJhbnNwb3J0X2lzY3NpIGliX3NycHQgdGFyZ2V0X2NvcmVfbW9kIGliX3NycCBzY3NpX3Ry YW5zcG9ydF9zcnAgaWJfaXBvaWIgcmRtYV91Y20gaWJfdWNtIGliX3V2ZXJicyBpYl91bWFkIHJk bWFfY20gaWJfY20gaXdfY20gaW50ZWxfcmFwbCBzYl9lZGFjIHg4Nl9wa2dfdGVtcF90aGVybWFs IGludGVsX3Bvd2VyY2xhbXAgY29yZXRlbXAga3ZtIGlycWJ5cGFzcyBjcmN0MTBkaWZfcGNsbXVs IGNyYzMyX3BjbG11bCBnaGFzaF9jbG11bG5pX2ludGVsIGludGVsX2NzdGF0ZSBpVENPX3dkdCBp VENPX3ZlbmRvcl9zdXBwb3J0IGludGVsX3VuY29yZSBpYl9jb3JlIGludGVsX3JhcGxfcGVyZiBt ZWlfbWUgbWVpIGpveWRldiBpMmNfaTgwMSBscGNfaWNoIGlvYXRkbWEgc2hwY2hwIHdtaSBzY2hf ZnFfY29kZWwgeGZzIGxpYmNyYzMyYyBtZ2FnMjAwIGl4Z2JlIGRybV9rbXNfaGVscGVyIGlzY2kg dHRtIGZpcmV3aXJlX29oY2kKICAga2VybmVsOiAgbWRpbyBkcm0gaWdiIGxpYnNhcyBjcmMzMmNf aW50ZWwgZmlyZXdpcmVfY29yZSBwdHAgcHBzX2NvcmUgc2NzaV90cmFuc3BvcnRfc2FzIGNyY19p dHVfdCBkY2EgaTJjX2FsZ29fYml0IGlwbWlfc2kgaXBtaV9kZXZpbnRmIGlwbWlfbXNnaGFuZGxl ciBbbGFzdCB1bmxvYWRlZDogaTQwZV0KICAga2VybmVsOiBDUFU6IDEwIFBJRDogNDIxOSBDb21t OiBpcCBUYWludGVkOiBHICAgICAgICAgICBPRSAgICA0LjE2LjEzY3VzdG9tLWZxLWNvZGVsLXRl c3QrICMzCiAgIGtlcm5lbDogSGFyZHdhcmUgbmFtZTogSW50ZWwgQ29ycG9yYXRpb24gUzI2MDBD Ty9TMjYwMENPLCBCSU9TIFNFNUM2MDAuODZCLjAyLjA1LjAwMDQuMDUxMTIwMTUxMDA3IDA1LzEx LzIwMTUKICAga2VybmVsOiBSSVA6IDAwMTA6ZnFfY29kZWxfcmVzZXQrMHg1OC8weGQwIFtzY2hf ZnFfY29kZWxdCiAgIGtlcm5lbDogUlNQOiAwMDE4OmZmZmZiZmJmNGMxZmI2MjAgRUZMQUdTOiAw MDAxMDI0NgogICBrZXJuZWw6IFJBWDogMDAwMDAwMDAwMDAwMDQwMCBSQlg6IDAwMDAwMDAwMDAw MDAwMDAgUkNYOiAwMDAwMDAwMDAwMDAwNWI5CiAgIGtlcm5lbDogUkRYOiAwMDAwMDAwMDAwMDAw MDAwIFJTSTogZmZmZjlkMDMyNjRhNjBjMCBSREk6IGZmZmY5Y2ZkMTdiMzFjMDAKICAga2VybmVs OiBSQlA6IDAwMDAwMDAwMDAwMDAwMDEgUjA4OiAwMDAwMDAwMDAwMDI2MGMwIFIwOTogZmZmZmZm ZmZiNjc5YzNlOQogICBrZXJuZWw6IFIxMDogZmZmZmYxZGFiMDZhMGU4MCBSMTE6IGZmZmY5Y2Zk MTYzYWY4MDAgUjEyOiBmZmZmOWNmZDE3YjMxYzAwCiAgIGtlcm5lbDogUjEzOiAwMDAwMDAwMDAw MDAwMDAxIFIxNDogZmZmZjljZmQxNTNkZTYwMCBSMTU6IDAwMDAwMDAwMDAwMDAwMDEKICAga2Vy bmVsOiBGUzogIDAwMDA3ZmRlYzJmOTI4MDAoMDAwMCkgR1M6ZmZmZjlkMDMyNjQ4MDAwMCgwMDAw KSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwCiAgIGtlcm5lbDogQ1M6ICAwMDEwIERTOiAwMDAwIEVT OiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMwogICBrZXJuZWw6IENSMjogMDAwMDAwMDAwMDAw MDAwOCBDUjM6IDAwMDAwMDBjMTk1NmEwMDYgQ1I0OiAwMDAwMDAwMDAwMDYwNmUwCiAgIGtlcm5l bDogQ2FsbCBUcmFjZToKICAga2VybmVsOiAgcWRpc2NfZGVzdHJveSsweDU2LzB4MTQwCiAgIGtl cm5lbDogIHFkaXNjX2NyZWF0ZV9kZmx0KzB4OGIvMHhiMAogICBrZXJuZWw6ICBtcV9pbml0KzB4 YzEvMHhmMAogICBrZXJuZWw6ICBxZGlzY19jcmVhdGVfZGZsdCsweDVhLzB4YjAKICAga2VybmVs OiAgZGV2X2FjdGl2YXRlKzB4MjA1LzB4MjMwCiAgIGtlcm5lbDogIF9fZGV2X29wZW4rMHhmNS8w eDE2MAogICBrZXJuZWw6ICBfX2Rldl9jaGFuZ2VfZmxhZ3MrMHgxYTMvMHgyMTAKICAga2VybmVs OiAgZGV2X2NoYW5nZV9mbGFncysweDIxLzB4NjAKICAga2VybmVsOiAgZG9fc2V0bGluaysweDY2 MC8weGRmMAogICBrZXJuZWw6ICA/IGRvd25fdHJ5bG9jaysweDI1LzB4MzAKICAga2VybmVsOiAg PyB4ZnNfYnVmX3RyeWxvY2srMHgxYS8weGQwIFt4ZnNdCiAgIGtlcm5lbDogID8gcnRubF9uZXds aW5rKzB4ODE2LzB4OTkwCiAgIGtlcm5lbDogID8gX3hmc19idWZfZmluZCsweDMyNy8weDU4MCBb eGZzXQogICBrZXJuZWw6ICA/IF9jb25kX3Jlc2NoZWQrMHgxNS8weDMwCiAgIGtlcm5lbDogID8g a21lbV9jYWNoZV9hbGxvYysweDIwLzB4MWIwCiAgIGtlcm5lbDogID8gcnRuZXRsaW5rX3Jjdl9t c2crMHgyMDAvMHgyZjAKICAga2VybmVsOiAgPyBydG5sX2NhbGNpdC5pc3JhLjMwKzB4MTAwLzB4 MTAwCiAgIGtlcm5lbDogID8gbmV0bGlua19yY3Zfc2tiKzB4NGMvMHgxMjAKICAga2VybmVsOiAg PyBuZXRsaW5rX3VuaWNhc3QrMHgxOWUvMHgyNjAKICAga2VybmVsOiAgPyBuZXRsaW5rX3NlbmRt c2crMHgxZmYvMHgzYzAKICAga2VybmVsOiAgPyBzb2NrX3NlbmRtc2crMHgzNi8weDQwCiAgIGtl cm5lbDogID8gX19fc3lzX3NlbmRtc2crMHgyOTUvMHgyZjAKICAga2VybmVsOiAgPyBlYml0bWFw X2NtcCsweDZkLzB4OTAKICAga2VybmVsOiAgPyBkZXZfZ2V0X2J5X25hbWVfcmN1KzB4NzMvMHg5 MAogICBrZXJuZWw6ICA/IHNrYl9kZXF1ZXVlKzB4NTIvMHg2MAogICBrZXJuZWw6ICA/IF9faW5v ZGVfd2FpdF9mb3Jfd3JpdGViYWNrKzB4N2YvMHhmMAogICBrZXJuZWw6ICA/IGJpdF93YWl0cXVl dWUrMHgzMC8weDMwCiAgIGtlcm5lbDogID8gZnNub3RpZnlfZ3JhYl9jb25uZWN0b3IrMHgzYy8w eDYwCiAgIGtlcm5lbDogID8gX19zeXNfc2VuZG1zZysweDUxLzB4OTAKICAga2VybmVsOiAgPyBk b19zeXNjYWxsXzY0KzB4NzQvMHgxODAKICAga2VybmVsOiAgPyBlbnRyeV9TWVNDQUxMXzY0X2Fm dGVyX2h3ZnJhbWUrMHgzZC8weGEyCiAgIGtlcm5lbDogQ29kZTogMDAgMDAgNDggODkgODcgMDAg MDIgMDAgMDAgOGIgODcgYTAgMDEgMDAgMDAgODUgYzAgMGYgODQgODQgMDAgMDAgMDAgMzEgZWQg NDggNjMgZGQgODMgYzUgMDEgNDggYzEgZTMgMDYgNDkgMDMgOWMgMjQgOTAgMDEgMDAgMDAgPDQ4 PiA4YiA3MyAwOCA0OCA4YiAzYiBlOCA2YyA5YSA0ZiBmNiA0OCA4ZCA0MyAxMCA0OCBjNyAwMyAw MCAwMAogICBrZXJuZWw6IFJJUDogZnFfY29kZWxfcmVzZXQrMHg1OC8weGQwIFtzY2hfZnFfY29k ZWxdIFJTUDogZmZmZmJmYmY0YzFmYjYyMAogICBrZXJuZWw6IENSMjogMDAwMDAwMDAwMDAwMDAw OAogICBrZXJuZWw6IC0tLVsgZW5kIHRyYWNlIGU4MWE2MmJlZGU2NjI3NGUgXS0tLQoKVGhpcyBp cyBjYXVzZWQgYmVjYXVzZSBmbG93c19jbnQgaXMgbm9uLXplcm8sIGJ1dCBmbG93cyBoYXNuJ3Qg YmVlbgppbml0aWFsaXplZC4gZnFfY29kZWxfaW5pdCBoYXMgbGVmdCB0aGUgcHJpdmF0ZSBkYXRh IGluIGEgcGFydGlhbGx5CmluaXRpYWxpemVkIHN0YXRlLgoKVG8gZml4IHRoaXMsIHJlc2V0IGZs b3dzX2NudCB0byAwIHdoZW4gd2UgZmFpbCB0byBpbml0aWFsaXplLgpBZGRpdGlvbmFsbHksIHRv IG1ha2UgdGhlIHN0YXRlIG1vcmUgY29uc2lzdGVudCwgYWxzbyBjbGVhbnVwIHRoZSBmbG93cwpw b2ludGVyIHdoZW4gdGhlIGFsbG9jYXRpb24gb2YgYmFja2xvZ3MgZmFpbHMuCgpUaGlzIGZpeGVz IHRoZSBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UsIHNpbmNlIGJvdGggdGhlIGZvci1sb29wIGFu ZAptZW1zZXQgaW4gZnFfY29kZWxfcmVzZXQgd2lsbCBiZSBuby1vcHMgd2hlbiBmbG93X2NudCBp cyB6ZXJvLgoKU2lnbmVkLW9mZi1ieTogSmFjb2IgS2VsbGVyIDxqYWNvYi5lLmtlbGxlckBpbnRl bC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5l dD4KLS0tCiBuZXQvc2NoZWQvc2NoX2ZxX2NvZGVsLmMgfCAyNSArKysrKysrKysrKysrKysrKyst LS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9uZXQvc2NoZWQvc2NoX2ZxX2NvZGVsLmMgYi9uZXQvc2NoZWQvc2NoX2Zx X2NvZGVsLmMKaW5kZXggMjJmYTEzY2Y1ZDhiLi44NDY4ODM5MDdjZDQgMTAwNjQ0Ci0tLSBhL25l dC9zY2hlZC9zY2hfZnFfY29kZWwuYworKysgYi9uZXQvc2NoZWQvc2NoX2ZxX2NvZGVsLmMKQEAg LTQ3OSwyMyArNDc5LDI3IEBAIHN0YXRpYyBpbnQgZnFfY29kZWxfaW5pdChzdHJ1Y3QgUWRpc2Mg KnNjaCwgc3RydWN0IG5sYXR0ciAqb3B0LAogCXEtPmNwYXJhbXMubXR1ID0gcHNjaGVkX210dShx ZGlzY19kZXYoc2NoKSk7CiAKIAlpZiAob3B0KSB7Ci0JCWludCBlcnIgPSBmcV9jb2RlbF9jaGFu Z2Uoc2NoLCBvcHQsIGV4dGFjayk7CisJCWVyciA9IGZxX2NvZGVsX2NoYW5nZShzY2gsIG9wdCwg ZXh0YWNrKTsKIAkJaWYgKGVycikKLQkJCXJldHVybiBlcnI7CisJCQlnb3RvIGluaXRfZmFpbHVy ZTsKIAl9CiAKIAllcnIgPSB0Y2ZfYmxvY2tfZ2V0KCZxLT5ibG9jaywgJnEtPmZpbHRlcl9saXN0 LCBzY2gsIGV4dGFjayk7CiAJaWYgKGVycikKLQkJcmV0dXJuIGVycjsKKwkJZ290byBpbml0X2Zh aWx1cmU7CiAKIAlpZiAoIXEtPmZsb3dzKSB7CiAJCXEtPmZsb3dzID0ga3Z6YWxsb2MocS0+Zmxv d3NfY250ICoKIAkJCQkJICAgc2l6ZW9mKHN0cnVjdCBmcV9jb2RlbF9mbG93KSwgR0ZQX0tFUk5F TCk7Ci0JCWlmICghcS0+Zmxvd3MpCi0JCQlyZXR1cm4gLUVOT01FTTsKKwkJaWYgKCFxLT5mbG93 cykgeworCQkJZXJyID0gLUVOT01FTTsKKwkJCWdvdG8gaW5pdF9mYWlsdXJlOworCQl9CiAJCXEt PmJhY2tsb2dzID0ga3Z6YWxsb2MocS0+Zmxvd3NfY250ICogc2l6ZW9mKHUzMiksIEdGUF9LRVJO RUwpOwotCQlpZiAoIXEtPmJhY2tsb2dzKQotCQkJcmV0dXJuIC1FTk9NRU07CisJCWlmICghcS0+ YmFja2xvZ3MpIHsKKwkJCWVyciA9IC1FTk9NRU07CisJCQlnb3RvIGFsbG9jX2ZhaWx1cmU7CisJ CX0KIAkJZm9yIChpID0gMDsgaSA8IHEtPmZsb3dzX2NudDsgaSsrKSB7CiAJCQlzdHJ1Y3QgZnFf Y29kZWxfZmxvdyAqZmxvdyA9IHEtPmZsb3dzICsgaTsKIApAQCAtNTA4LDYgKzUxMiwxMyBAQCBz dGF0aWMgaW50IGZxX2NvZGVsX2luaXQoc3RydWN0IFFkaXNjICpzY2gsIHN0cnVjdCBubGF0dHIg Km9wdCwKIAllbHNlCiAJCXNjaC0+ZmxhZ3MgJj0gflRDUV9GX0NBTl9CWVBBU1M7CiAJcmV0dXJu IDA7CisKK2FsbG9jX2ZhaWx1cmU6CisJa3ZmcmVlKHEtPmZsb3dzKTsKKwlxLT5mbG93cyA9IE5V TEw7Citpbml0X2ZhaWx1cmU6CisJcS0+Zmxvd3NfY250ID0gMDsKKwlyZXR1cm4gZXJyOwogfQog CiBzdGF0aWMgaW50IGZxX2NvZGVsX2R1bXAoc3RydWN0IFFkaXNjICpzY2gsIHN0cnVjdCBza19i dWZmICpza2IpCi0tIAoyLjE3LjEKCgpGcm9tIGU0ZDQyMThlYWUzODQ3MWNjZjJkOTE5YjdjNjE5 MDQ3N2JjNjk3MjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFNhbmplZXYgQmFuc2Fs IDxzYW5qZWV2Yi5iYW5zYWxAYnJvYWRjb20uY29tPgpEYXRlOiBNb24sIDE2IEp1bCAyMDE4IDEx OjEzOjMyICswNTMwClN1YmplY3Q6IFtQQVRDSCAxNi8yNV0gdGczOiBBZGQgaGlnaGVyIGNwdSBj bG9jayBmb3IgNTc2Mi4KClsgVXBzdHJlYW0gY29tbWl0IDNhNDk4NjA2YmIwNGFmNjAzYTQ2ZWJk ZTgyOTYwNDBiMmRlMzUwZDEgXQoKVGhpcyBwYXRjaCBoYXMgZml4IGZvciBUWCB0aW1lb3V0IHdo aWxlIHJ1bm5pbmcgYmktZGlyZWN0aW9uYWwKdHJhZmZpYyB3aXRoIDEwMCBNYnBzIHVzaW5nIDU3 NjIuCgpTaWduZWQtb2ZmLWJ5OiBTYW5qZWV2IEJhbnNhbCA8c2FuamVldmIuYmFuc2FsQGJyb2Fk Y29tLmNvbT4KU2lnbmVkLW9mZi1ieTogU2l2YSBSZWRkeSBLYWxsYW0gPHNpdmEua2FsbGFtQGJy b2FkY29tLmNvbT4KUmV2aWV3ZWQtYnk6IE1pY2hhZWwgQ2hhbiA8bWljaGFlbC5jaGFuQGJyb2Fk Y29tLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQu bmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL3RnMy5jIHwgOSArKysrKysr KysKIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJz L25ldC9ldGhlcm5ldC9icm9hZGNvbS90ZzMuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2Fk Y29tL3RnMy5jCmluZGV4IDlmNTliMTI3MGE3Yy4uM2UwZTdmMThlY2Y5IDEwMDY0NAotLS0gYS9k cml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS90ZzMuYworKysgYi9kcml2ZXJzL25ldC9ldGhl cm5ldC9icm9hZGNvbS90ZzMuYwpAQCAtOTI4OSw2ICs5Mjg5LDE1IEBAIHN0YXRpYyBpbnQgdGcz X2NoaXBfcmVzZXQoc3RydWN0IHRnMyAqdHApCiAKIAl0ZzNfcmVzdG9yZV9jbGsodHApOwogCisJ LyogSW5jcmVhc2UgdGhlIGNvcmUgY2xvY2sgc3BlZWQgdG8gZml4IHR4IHRpbWVvdXQgaXNzdWUg Zm9yIDU3NjIKKwkgKiB3aXRoIDEwME1icHMgbGluayBzcGVlZC4KKwkgKi8KKwlpZiAodGczX2Fz aWNfcmV2KHRwKSA9PSBBU0lDX1JFVl81NzYyKSB7CisJCXZhbCA9IHRyMzIoVEczX0NQTVVfQ0xD S19PUklERV9FTkFCTEUpOworCQl0dzMyKFRHM19DUE1VX0NMQ0tfT1JJREVfRU5BQkxFLCB2YWwg fAorCQkgICAgIFRHM19DUE1VX01BQ19PUklERV9FTkFCTEUpOworCX0KKwogCS8qIFJlcHJvYmUg QVNGIGVuYWJsZSBzdGF0ZS4gICovCiAJdGczX2ZsYWdfY2xlYXIodHAsIEVOQUJMRV9BU0YpOwog CXRwLT5waHlfZmxhZ3MgJj0gfihURzNfUEhZRkxHXzFHX09OX1ZBVVhfT0sgfAotLSAKMi4xNy4x CgoKRnJvbSAyMTY5YmNjNGU5MWMxNTNiNzNlZmI3MjE1N2QzM2I4N2NhMzgyOGJkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQcmFzaGFudCBCaG9sZSA8YmhvbGVfcHJhc2hhbnRfcTdA bGFiLm50dC5jby5qcD4KRGF0ZTogRnJpLCAxMyBKdWwgMjAxOCAxNDo0MDo1MCArMDkwMApTdWJq ZWN0OiBbUEFUQ0ggMTcvMjVdIG5ldDogaXA2X2dyZTogZ2V0IGlwdjZoZHIgYWZ0ZXIgc2tiX2Nv d19oZWFkKCkKClsgVXBzdHJlYW0gY29tbWl0IGI3ZWQ4Nzk0MjViZTM3MTkwNWQ4NTY0MTBkMTll OWE0MmE2MmJjZjMgXQoKQSBLQVNBTjp1c2UtYWZ0ZXItZnJlZSBidWcgd2FzIGZvdW5kIHJlbGF0 ZWQgdG8gaXA2LWVyc3Bhbgp3aGlsZSBydW5uaW5nIHNlbGZ0ZXN0cy9uZXQvaXA2X2dyZV9oZWFk cm9vbS5zaAoKSXQgaGFwcGVucyBiZWNhdXNlIG9mIGZvbGxvd2luZyBzZXF1ZW5jZToKLSBpcHY2 aGRyIHBvaW50ZXIgaXMgb2J0YWluZWQgZnJvbSBza2IKLSBza2JfY293X2hlYWQoKSBpcyBjYWxs ZWQsIHNrYi0+aGVhZCBtZW1vcnkgaXMgcmVhbGxvY2F0ZWQKLSBvbGQgZGF0YSBpcyBhY2Nlc3Nl ZCB1c2luZyBpcHY2aGRyIHBvaW50ZXIKCnNrYl9jb3dfaGVhZCgpIGNhbGwgd2FzIGFkZGVkIGlu IGU0MWM3YzY4ZWE3NyAoImlwNmVyc3BhbjogbWFrZSBzdXJlCmVub3VnaCBoZWFkcm9vbSBhdCB4 bWl0LiIpLCBidXQgbG9va2luZyBhdCB0aGUgaGlzdG9yeSB0aGVyZSB3YXMgYQpjaGFuY2Ugb2Yg c2ltaWxhciBidWcgYmVjYXVzZSBncmVfaGFuZGxlX29mZmxvYWRzKCkgYW5kIHBza2JfdHJpbSgp CmNhbiBhbHNvIHJlYWxsb2NhdGUgc2tiLT5oZWFkIG1lbW9yeS4gRml4ZXMgdGFnIHBvaW50cyB0 byBjb21taXQKd2hpY2ggaW50cm9kdWNlZCBwb3NzaWJpbGl0eSBvZiB0aGlzIGJ1Zy4KClRoaXMg cGF0Y2ggbW92ZXMgaXB2NmhkciBwb2ludGVyIGFzc2lnbm1lbnQgYWZ0ZXIgc2tiX2Nvd19oZWFk KCkgY2FsbC4KCkZpeGVzOiA1YTk2M2ViNjFiN2MgKCJpcDZfZ3JlOiBBZGQgRVJTUEFOIG5hdGl2 ZSB0dW5uZWwgc3VwcG9ydCIpClNpZ25lZC1vZmYtYnk6IFByYXNoYW50IEJob2xlIDxiaG9sZV9w cmFzaGFudF9xN0BsYWIubnR0LmNvLmpwPgpSZXZpZXdlZC1ieTogR3JlZyBSb3NlIDxndnJvc2U4 MTkyQGdtYWlsLmNvbT4KQWNrZWQtYnk6IFdpbGxpYW0gVHUgPHU5MDEyMDYzQGdtYWlsLmNvbT4K U2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0K IG5ldC9pcHY2L2lwNl9ncmUuYyB8IDMgKystCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25z KCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjYvaXA2X2dyZS5jIGIvbmV0 L2lwdjYvaXA2X2dyZS5jCmluZGV4IDQ1OGRlMzUzZjVkOS4uMWE0ZDY4OTdkMTdmIDEwMDY0NAot LS0gYS9uZXQvaXB2Ni9pcDZfZ3JlLmMKKysrIGIvbmV0L2lwdjYvaXA2X2dyZS5jCkBAIC05Mjcs NyArOTI3LDYgQEAgc3RhdGljIG5ldGRldl90eF90IGlwNmdyZV90dW5uZWxfeG1pdChzdHJ1Y3Qg c2tfYnVmZiAqc2tiLAogc3RhdGljIG5ldGRldl90eF90IGlwNmVyc3Bhbl90dW5uZWxfeG1pdChz dHJ1Y3Qgc2tfYnVmZiAqc2tiLAogCQkJCQkgc3RydWN0IG5ldF9kZXZpY2UgKmRldikKIHsKLQlz dHJ1Y3QgaXB2NmhkciAqaXB2NmggPSBpcHY2X2hkcihza2IpOwogCXN0cnVjdCBpcDZfdG5sICp0 ID0gbmV0ZGV2X3ByaXYoZGV2KTsKIAlzdHJ1Y3QgZHN0X2VudHJ5ICpkc3QgPSBza2JfZHN0KHNr Yik7CiAJc3RydWN0IG5ldF9kZXZpY2Vfc3RhdHMgKnN0YXRzOwpAQCAtOTk4LDYgKzk5Nyw4IEBA IHN0YXRpYyBuZXRkZXZfdHhfdCBpcDZlcnNwYW5fdHVubmVsX3htaXQoc3RydWN0IHNrX2J1ZmYg KnNrYiwKIAkJCWdvdG8gdHhfZXJyOwogCQl9CiAJfSBlbHNlIHsKKwkJc3RydWN0IGlwdjZoZHIg KmlwdjZoID0gaXB2Nl9oZHIoc2tiKTsKKwogCQlzd2l0Y2ggKHNrYi0+cHJvdG9jb2wpIHsKIAkJ Y2FzZSBodG9ucyhFVEhfUF9JUCk6CiAJCQltZW1zZXQoJihJUENCKHNrYiktPm9wdCksIDAsIHNp emVvZihJUENCKHNrYiktPm9wdCkpOwotLSAKMi4xNy4xCgoKRnJvbSA5NjkwOTdhOTU4MzZkYzQy MDlkMDhjOTJmYjE3OTZmYWEyZWExYzhhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBN YXJjZWxvIFJpY2FyZG8gTGVpdG5lciA8bWFyY2Vsby5sZWl0bmVyQGdtYWlsLmNvbT4KRGF0ZTog VGh1LCAyNiBBcHIgMjAxOCAxNjo1ODo1NyAtMDMwMApTdWJqZWN0OiBbUEFUQ0ggMTgvMjVdIHNj dHA6IGludHJvZHVjZSBzY3RwX2RzdF9tdHUKClsgVXBzdHJlYW0gY29tbWl0IDZmZjBmODcxYzIw ZWMxNzY5YTQ4MWVkY2E4NmYyM2M3NmIyYjA2ZDMgXQoKV2hpY2ggbWFrZXMgc3VyZSB0aGF0IHRo ZSBNVFUgcmVzcGVjdHMgdGhlIG1pbmltdW0gdmFsdWUgb2YKU0NUUF9ERUZBVUxUX01JTlNFR01F TlQgYW5kIHRoYXQgaXQgaXMgY29ycmVjdGx5IGFsaWduZWQuCgpTaWduZWQtb2ZmLWJ5OiBNYXJj ZWxvIFJpY2FyZG8gTGVpdG5lciA8bWFyY2Vsby5sZWl0bmVyQGdtYWlsLmNvbT4KU2lnbmVkLW9m Zi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGluY2x1ZGUv bmV0L3NjdHAvc2N0cC5oIHwgOSArKysrKysrLS0KIG5ldC9zY3RwL2Fzc29jaW9sYS5jICAgIHwg NiArKy0tLS0KIG5ldC9zY3RwL3RyYW5zcG9ydC5jICAgIHwgNiArKystLS0KIDMgZmlsZXMgY2hh bmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9pbmNs dWRlL25ldC9zY3RwL3NjdHAuaCBiL2luY2x1ZGUvbmV0L3NjdHAvc2N0cC5oCmluZGV4IDM1NDk4 ZTYxM2ZmNS4uZWRmYTlkMGY2MDA1IDEwMDY0NAotLS0gYS9pbmNsdWRlL25ldC9zY3RwL3NjdHAu aAorKysgYi9pbmNsdWRlL25ldC9zY3RwL3NjdHAuaApAQCAtNjA5LDEwICs2MDksMTUgQEAgc3Rh dGljIGlubGluZSBzdHJ1Y3QgZHN0X2VudHJ5ICpzY3RwX3RyYW5zcG9ydF9kc3RfY2hlY2soc3Ry dWN0IHNjdHBfdHJhbnNwb3J0ICoKIAlyZXR1cm4gdC0+ZHN0OwogfQogCitzdGF0aWMgaW5saW5l IF9fdTMyIHNjdHBfZHN0X210dShjb25zdCBzdHJ1Y3QgZHN0X2VudHJ5ICpkc3QpCit7CisJcmV0 dXJuIFNDVFBfVFJVTkM0KG1heF90KF9fdTMyLCBkc3RfbXR1KGRzdCksCisJCQkJIFNDVFBfREVG QVVMVF9NSU5TRUdNRU5UKSk7Cit9CisKIHN0YXRpYyBpbmxpbmUgYm9vbCBzY3RwX3RyYW5zcG9y dF9wbXR1X2NoZWNrKHN0cnVjdCBzY3RwX3RyYW5zcG9ydCAqdCkKIHsKLQlfX3UzMiBwbXR1ID0g bWF4X3Qoc2l6ZV90LCBTQ1RQX1RSVU5DNChkc3RfbXR1KHQtPmRzdCkpLAotCQkJICAgU0NUUF9E RUZBVUxUX01JTlNFR01FTlQpOworCV9fdTMyIHBtdHUgPSBzY3RwX2RzdF9tdHUodC0+ZHN0KTsK IAogCWlmICh0LT5wYXRobXR1ID09IHBtdHUpCiAJCXJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEv bmV0L3NjdHAvYXNzb2Npb2xhLmMgYi9uZXQvc2N0cC9hc3NvY2lvbGEuYwppbmRleCBhNDcxNzlk YTI0ZTYuLmVmOGFkYWMxYmU4MyAxMDA2NDQKLS0tIGEvbmV0L3NjdHAvYXNzb2Npb2xhLmMKKysr IGIvbmV0L3NjdHAvYXNzb2Npb2xhLmMKQEAgLTE0NDYsMTEgKzE0NDYsOSBAQCB2b2lkIHNjdHBf YXNzb2Nfc3luY19wbXR1KHN0cnVjdCBzY3RwX2Fzc29jaWF0aW9uICphc29jKQogCQlyZXR1cm47 CiAKIAkvKiBHZXQgdGhlIGxvd2VzdCBwbXR1IG9mIGFsbCB0aGUgdHJhbnNwb3J0cy4gKi8KLQls aXN0X2Zvcl9lYWNoX2VudHJ5KHQsICZhc29jLT5wZWVyLnRyYW5zcG9ydF9hZGRyX2xpc3QsCi0J CQkJdHJhbnNwb3J0cykgeworCWxpc3RfZm9yX2VhY2hfZW50cnkodCwgJmFzb2MtPnBlZXIudHJh bnNwb3J0X2FkZHJfbGlzdCwgdHJhbnNwb3J0cykgewogCQlpZiAodC0+cG10dV9wZW5kaW5nICYm IHQtPmRzdCkgewotCQkJc2N0cF90cmFuc3BvcnRfdXBkYXRlX3BtdHUoCi0JCQkJCXQsIFNDVFBf VFJVTkM0KGRzdF9tdHUodC0+ZHN0KSkpOworCQkJc2N0cF90cmFuc3BvcnRfdXBkYXRlX3BtdHUo dCwgc2N0cF9kc3RfbXR1KHQtPmRzdCkpOwogCQkJdC0+cG10dV9wZW5kaW5nID0gMDsKIAkJfQog CQlpZiAoIXBtdHUgfHwgKHQtPnBhdGhtdHUgPCBwbXR1KSkKZGlmZiAtLWdpdCBhL25ldC9zY3Rw L3RyYW5zcG9ydC5jIGIvbmV0L3NjdHAvdHJhbnNwb3J0LmMKaW5kZXggMDNmYzJjNDI3YWNhLi5l MjMwNzE3NDFiYmYgMTAwNjQ0Ci0tLSBhL25ldC9zY3RwL3RyYW5zcG9ydC5jCisrKyBiL25ldC9z Y3RwL3RyYW5zcG9ydC5jCkBAIC0yNDIsOSArMjQyLDkgQEAgdm9pZCBzY3RwX3RyYW5zcG9ydF9w bXR1KHN0cnVjdCBzY3RwX3RyYW5zcG9ydCAqdHJhbnNwb3J0LCBzdHJ1Y3Qgc29jayAqc2spCiAJ CQkJCQkmdHJhbnNwb3J0LT5mbCwgc2spOwogCX0KIAotCWlmICh0cmFuc3BvcnQtPmRzdCkgewot CQl0cmFuc3BvcnQtPnBhdGhtdHUgPSBTQ1RQX1RSVU5DNChkc3RfbXR1KHRyYW5zcG9ydC0+ZHN0 KSk7Ci0JfSBlbHNlCisJaWYgKHRyYW5zcG9ydC0+ZHN0KQorCQl0cmFuc3BvcnQtPnBhdGhtdHUg PSBzY3RwX2RzdF9tdHUodHJhbnNwb3J0LT5kc3QpOworCWVsc2UKIAkJdHJhbnNwb3J0LT5wYXRo bXR1ID0gU0NUUF9ERUZBVUxUX01BWFNFR01FTlQ7CiB9CiAKLS0gCjIuMTcuMQoKCkZyb20gZWRj YTg4OWMxNzEyODU2ODQwMWYxNjRlYjUwMTNjMzkwMjU0N2Q3YyBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogWGluIExvbmcgPGx1Y2llbi54aW5AZ21haWwuY29tPgpEYXRlOiBUdWUsIDMg SnVsIDIwMTggMTY6MzA6NDcgKzA4MDAKU3ViamVjdDogW1BBVENIIDE5LzI1XSBzY3RwOiBmaXgg dGhlIGlzc3VlIHRoYXQgcGF0aG10dSBtYXkgYmUgc2V0IGxvd2VyIHRoYW4KIE1JTlNFR01FTlQK ClsgVXBzdHJlYW0gY29tbWl0IGE2NTkyNTQ3NTU3MTk1M2RhMTJhOWJjMjA4MmFlYzI5ZDRlMmMw ZTcgXQoKQWZ0ZXIgY29tbWl0IGI2YzU3MzRkYjA3MCAoInNjdHA6IGZpeCB0aGUgaGFuZGxpbmcg b2YgSUNNUCBGcmFnIE5lZWRlZApmb3IgdG9vIHNtYWxsIE1UVXMiKSwgc2N0cF90cmFuc3BvcnRf dXBkYXRlX3BtdHUgd291bGQgcmVmZXRjaCBwYXRobXR1CmZyb20gdGhlIGRzdCBhbmQgc2V0IGl0 IHRvIHRyYW5zcG9ydCdzIHBhdGhtdHUgd2l0aG91dCBhbnkgY2hlY2suCgpUaGUgbmV3IHBhdGht dHUgbWF5IGJlIGxvd2VyIHRoYW4gTUlOU0VHTUVOVCBpZiB0aGUgZHN0IGlzIG9ic29sZXRlIGFu ZAp1cGRhdGVkIGJ5IC5nZXRfZHN0KCkgaW4gc2N0cF90cmFuc3BvcnRfdXBkYXRlX3BtdHUuIElu IHRoaXMgY2FzZSwgaXQKY291bGQgaGF2ZSBhIHNtYWxsZXIgTVRVIGFzIHdlbGwsIGFuZCB0aHVz IHdlIHNob3VsZCB2YWxpZGF0ZSBpdAphZ2FpbnN0IE1JTlNFR01FTlQgaW5zdGVhZC4KClN5emJv dCByZXBvcnRlZCBhIHdhcm5pbmcgaW4gc2N0cF9tdHVfcGF5bG9hZCBjYXVzZWQgYnkgdGhpcy4K ClRoaXMgcGF0Y2ggcmVmZXRjaGVzIHRoZSBwYXRobXR1IGJ5IGNhbGxpbmcgc2N0cF9kc3RfbXR1 IHdoZXJlIGl0IGRvZXMKdGhlIGNoZWNrIGFnYWluc3QgTUlOU0VHTUVOVC4KCnYxLT52MjoKICAt IHJlZmV0Y2ggdGhlIHBhdGhtdHUgYnkgY2FsbGluZyBzY3RwX2RzdF9tdHUgaW5zdGVhZCBhcyBN YXJjZWxvJ3MKICAgIHN1Z2dlc3Rpb24uCgpGaXhlczogYjZjNTczNGRiMDcwICgic2N0cDogZml4 IHRoZSBoYW5kbGluZyBvZiBJQ01QIEZyYWcgTmVlZGVkIGZvciB0b28gc21hbGwgTVRVcyIpClJl cG9ydGVkLWJ5OiBzeXpib3QrZjBkOWQ3Y2JhMDUyZjkzNDRiMDNAc3l6a2FsbGVyLmFwcHNwb3Rt YWlsLmNvbQpTdWdnZXN0ZWQtYnk6IE1hcmNlbG8gUmljYXJkbyBMZWl0bmVyIDxtYXJjZWxvLmxl aXRuZXJAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBYaW4gTG9uZyA8bHVjaWVuLnhpbkBnbWFp bC5jb20+CkFja2VkLWJ5OiBNYXJjZWxvIFJpY2FyZG8gTGVpdG5lciA8bWFyY2Vsby5sZWl0bmVy QGdtYWlsLmNvbT4KQWNrZWQtYnk6IE5laWwgSG9ybWFuIDxuaG9ybWFuQHR1eGRyaXZlci5jb20+ ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0t CiBuZXQvc2N0cC90cmFuc3BvcnQuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlv bigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL25ldC9zY3RwL3RyYW5zcG9ydC5jIGIv bmV0L3NjdHAvdHJhbnNwb3J0LmMKaW5kZXggZTIzMDcxNzQxYmJmLi5lODkwY2ViNTU5MzkgMTAw NjQ0Ci0tLSBhL25ldC9zY3RwL3RyYW5zcG9ydC5jCisrKyBiL25ldC9zY3RwL3RyYW5zcG9ydC5j CkBAIC0yNzMsNyArMjczLDcgQEAgYm9vbCBzY3RwX3RyYW5zcG9ydF91cGRhdGVfcG10dShzdHJ1 Y3Qgc2N0cF90cmFuc3BvcnQgKnQsIHUzMiBwbXR1KQogCiAJaWYgKGRzdCkgewogCQkvKiBSZS1m ZXRjaCwgYXMgdW5kZXIgbGF5ZXJzIG1heSBoYXZlIGEgaGlnaGVyIG1pbmltdW0gc2l6ZSAqLwot CQlwbXR1ID0gU0NUUF9UUlVOQzQoZHN0X210dShkc3QpKTsKKwkJcG10dSA9IHNjdHBfZHN0X210 dShkc3QpOwogCQljaGFuZ2UgPSB0LT5wYXRobXR1ICE9IHBtdHU7CiAJfQogCXQtPnBhdGhtdHUg PSBwbXR1OwotLSAKMi4xNy4xCgoKRnJvbSBhMTJmYmE2YTdmYjIwZjhkYjk1NmZlZjg0OTU3ZTBh MWRhY2Y5Mjc5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIYWl5YW5nIFpoYW5nIDxo YWl5YW5nekBtaWNyb3NvZnQuY29tPgpEYXRlOiBUdWUsIDE3IEp1bCAyMDE4IDE3OjExOjEzICsw MDAwClN1YmplY3Q6IFtQQVRDSCAyMC8yNV0gaHZfbmV0dnNjOiBGaXggbmFwaSByZXNjaGVkdWxl IHdoaWxlIHJlY2VpdmUgY29tcGxldGlvbgogaXMgYnVzeQoKWyBVcHN0cmVhbSBjb21taXQgNmI4 MWIxOTNiODNlODdkYTFlYTEzMjE3ZDY4NGI1NGZjY2Y4ZWU4YSBdCgpJZiBvdXQgcmluZyBpcyBm dWxsIHRlbXBvcmFyaWx5IGFuZCByZWNlaXZlIGNvbXBsZXRpb24gY2Fubm90IGdvIG91dCwKd2Ug bWF5IHN0aWxsIG5lZWQgdG8gcmVzY2hlZHVsZSBuYXBpIGlmIGNlcnRhaW4gY29uZGl0aW9ucyBh cmUgbWV0LgpPdGhlcndpc2UgdGhlIG5hcGkgcG9sbCBtaWdodCBiZSBzdG9wcGVkIGZvcmV2ZXIs IGFuZCBjYXVzZSBuZXR3b3JrCmRpc2Nvbm5lY3QuCgpGaXhlczogNzQyNmIxYTUxODAzICgibmV0 dnNjOiBvcHRpbWl6ZSByZWNlaXZlIGNvbXBsZXRpb25zIikKU2lnbmVkLW9mZi1ieTogU3RlcGhl biBIZW1taW5nZXIgPHN0ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnPgpTaWduZWQtb2ZmLWJ5OiBI YWl5YW5nIFpoYW5nIDxoYWl5YW5nekBtaWNyb3NvZnQuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZp ZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvaHlwZXJ2 L25ldHZzYy5jIHwgMTcgKysrKysrKysrKy0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNl cnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2h5cGVy di9uZXR2c2MuYyBiL2RyaXZlcnMvbmV0L2h5cGVydi9uZXR2c2MuYwppbmRleCBjNDE4MTEzYzZi MjAuLmMxMGNhM2MyMGIzNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvaHlwZXJ2L25ldHZzYy5j CisrKyBiL2RyaXZlcnMvbmV0L2h5cGVydi9uZXR2c2MuYwpAQCAtMTI5MSw2ICsxMjkxLDcgQEAg aW50IG5ldHZzY19wb2xsKHN0cnVjdCBuYXBpX3N0cnVjdCAqbmFwaSwgaW50IGJ1ZGdldCkKIAlz dHJ1Y3QgaHZfZGV2aWNlICpkZXZpY2UgPSBuZXR2c2NfY2hhbm5lbF90b19kZXZpY2UoY2hhbm5l bCk7CiAJc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYgPSBodl9nZXRfZHJ2ZGF0YShkZXZpY2UpOwog CWludCB3b3JrX2RvbmUgPSAwOworCWludCByZXQ7CiAKIAkvKiBJZiBzdGFydGluZyBhIG5ldyBp bnRlcnZhbCAqLwogCWlmICghbnZjaGFuLT5kZXNjKQpAQCAtMTMwMiwxNiArMTMwMywxOCBAQCBp bnQgbmV0dnNjX3BvbGwoc3RydWN0IG5hcGlfc3RydWN0ICpuYXBpLCBpbnQgYnVkZ2V0KQogCQlu dmNoYW4tPmRlc2MgPSBodl9wa3RfaXRlcl9uZXh0KGNoYW5uZWwsIG52Y2hhbi0+ZGVzYyk7CiAJ fQogCi0JLyogSWYgc2VuZCBvZiBwZW5kaW5nIHJlY2VpdmUgY29tcGxldGlvbnMgc3VjZWVkZWQK LQkgKiAgIGFuZCBkaWQgbm90IGV4aGF1c3QgTkFQSSBidWRnZXQgdGhpcyB0aW1lCi0JICogICBh bmQgbm90IGRvaW5nIGJ1c3kgcG9sbAorCS8qIFNlbmQgYW55IHBlbmRpbmcgcmVjZWl2ZSBjb21w bGV0aW9ucyAqLworCXJldCA9IHNlbmRfcmVjdl9jb21wbGV0aW9ucyhuZGV2LCBuZXRfZGV2aWNl LCBudmNoYW4pOworCisJLyogSWYgaXQgZGlkIG5vdCBleGhhdXN0IE5BUEkgYnVkZ2V0IHRoaXMg dGltZQorCSAqICBhbmQgbm90IGRvaW5nIGJ1c3kgcG9sbAogCSAqIHRoZW4gcmUtZW5hYmxlIGhv c3QgaW50ZXJydXB0cwotCSAqICAgICBhbmQgcmVzY2hlZHVsZSBpZiByaW5nIGlzIG5vdCBlbXB0 eS4KKwkgKiAgYW5kIHJlc2NoZWR1bGUgaWYgcmluZyBpcyBub3QgZW1wdHkKKwkgKiAgIG9yIHNl bmRpbmcgcmVjZWl2ZSBjb21wbGV0aW9uIGZhaWxlZC4KIAkgKi8KLQlpZiAoc2VuZF9yZWN2X2Nv bXBsZXRpb25zKG5kZXYsIG5ldF9kZXZpY2UsIG52Y2hhbikgPT0gMCAmJgotCSAgICB3b3JrX2Rv bmUgPCBidWRnZXQgJiYKKwlpZiAod29ya19kb25lIDwgYnVkZ2V0ICYmCiAJICAgIG5hcGlfY29t cGxldGVfZG9uZShuYXBpLCB3b3JrX2RvbmUpICYmCi0JICAgIGh2X2VuZF9yZWFkKCZjaGFubmVs LT5pbmJvdW5kKSAmJgorCSAgICAocmV0IHx8IGh2X2VuZF9yZWFkKCZjaGFubmVsLT5pbmJvdW5k KSkgJiYKIAkgICAgbmFwaV9zY2hlZHVsZV9wcmVwKG5hcGkpKSB7CiAJCWh2X2JlZ2luX3JlYWQo JmNoYW5uZWwtPmluYm91bmQpOwogCQlfX25hcGlfc2NoZWR1bGUobmFwaSk7Ci0tIAoyLjE3LjEK CgpGcm9tIDg4ZGI3ODA2ZjE4NGNkNjk3YmM4MzFiNzU2YmYzMzgzMTZiNzNhMGYgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IElnb3IgUnVzc2tpa2ggPGlnb3IucnVzc2tpa2hAYXF1YW50 aWEuY29tPgpEYXRlOiBUaHUsIDUgSnVsIDIwMTggMTc6MDE6MDkgKzAzMDAKU3ViamVjdDogW1BB VENIIDIxLzI1XSBuZXQ6IGFxdWFudGlhOiB2bGFuIHVuaWNhc3QgYWRkcmVzcyBsaXN0IGNvcnJl Y3QKIGhhbmRsaW5nCgpbIFVwc3RyZWFtIGNvbW1pdCA5NGIzYjU0MjMwM2YzMDU1YzMyNmRmNzRl ZjE0NGE4YTc5MGQ3ZDdmIF0KClNldHRpbmcgdXAgbWFjdmxhbi9tYWN2dGFwIG5ldHdvcmtzIG92 ZXIgYXRsYW50aWMgTklDIHJlc3VsdHMKaW4gbm8gdHJhZmZpYyBvdmVyIHRoZXNlIG5ldHdvcmtz IGJlY2F1c2UgbmRvX3NldF9yeF9tb2RlIGRpZApub3QgbGlzdGVkIFVDIE1BQ3MgYXMgcmVnaXN0 ZXJlZCBpbiB1bmljYXN0IGZpbHRlci4KCkhlcmUgd2UgZml4IHRoYXQgdGFraW5nIGludG8gYWNj b3VudCBtYXhpbXVtIG51bWJlciBvZiBVQwpmaWx0ZXJzIHN1cHBvcnRlZCBieSBoYXJkd2FyZS4g SWYgbW9yZSB0aGFuIE1BWCBhZGRyZXNzZXMgd2VyZQpyZWdpc3RlcmVkLCB3ZSBqdXN0IGVuYWJs ZSBwcm9taXNjICBhbmQvb3IgYWxsbXVsdGkgdG8gcGFzcwp0aGUgdHJhZmZpYyBpbi4KCldlIGFs c28gcmVtb3ZlIE1VTFRJQ0FTVF9BRERSRVNTX01BWCBjb25zdGFudCBmcm9tIGFxX2NmZyBzaW5j ZQp0aGF0cyBub3QgYSBjb25maWd1cmFibGUgcGFyYW1ldGVyIGF0IGFsbC4KCkZpeGVzOiBiMjFm NTAyICgibmV0OmV0aGVybmV0OmFxdWFudGlhOiBGaXggZm9yIG11bHRpY2FzdCBmaWx0ZXIgaGFu ZGxpbmcuIikKU2lnbmVkLW9mZi1ieTogSWdvciBSdXNza2lraCA8aWdvci5ydXNza2lraEBhcXVh bnRpYS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0 Lm5ldD4KLS0tCiAuLi4vbmV0L2V0aGVybmV0L2FxdWFudGlhL2F0bGFudGljL2FxX2NmZy5oICAg fCAgMiAtCiAuLi4vbmV0L2V0aGVybmV0L2FxdWFudGlhL2F0bGFudGljL2FxX2h3LmggICAgfCAg NCArLQogLi4uL25ldC9ldGhlcm5ldC9hcXVhbnRpYS9hdGxhbnRpYy9hcV9tYWluLmMgIHwgMTEg Ky0tLS0KIC4uLi9uZXQvZXRoZXJuZXQvYXF1YW50aWEvYXRsYW50aWMvYXFfbmljLmMgICB8IDQ3 ICsrKysrKysrKysrLS0tLS0tLS0KIC4uLi9uZXQvZXRoZXJuZXQvYXF1YW50aWEvYXRsYW50aWMv YXFfbmljLmggICB8ICAyICstCiAuLi4vYXF1YW50aWEvYXRsYW50aWMvaHdfYXRsL2h3X2F0bF9h MC5jICAgICAgfCAgMiArLQogLi4uL2FxdWFudGlhL2F0bGFudGljL2h3X2F0bC9od19hdGxfYjAu YyAgICAgIHwgIDQgKy0KIDcgZmlsZXMgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKSwgMzYgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYXF1YW50aWEvYXRs YW50aWMvYXFfY2ZnLmggYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9hcXVhbnRpYS9hdGxhbnRpYy9h cV9jZmcuaAppbmRleCBmYzczODMxMDY5NDYuLjkxZWI4OTEwYjFjOSAxMDA2NDQKLS0tIGEvZHJp dmVycy9uZXQvZXRoZXJuZXQvYXF1YW50aWEvYXRsYW50aWMvYXFfY2ZnLmgKKysrIGIvZHJpdmVy cy9uZXQvZXRoZXJuZXQvYXF1YW50aWEvYXRsYW50aWMvYXFfY2ZnLmgKQEAgLTYzLDggKzYzLDYg QEAKIAogI2RlZmluZSBBUV9DRkdfTkFQSV9XRUlHSFQgICAgIDY0VQogCi0jZGVmaW5lIEFRX0NG R19NVUxUSUNBU1RfQUREUkVTU19NQVggICAgIDMyVQotCiAvKiNkZWZpbmUgQVFfQ0ZHX01BQ19B RERSX1BFUk1BTkVOVCB7MHgzMCwgMHgwRSwgMHhFMywgMHgxMiwgMHgzNCwgMHg1Nn0qLwogCiAj ZGVmaW5lIEFRX05JQ19GQ19PRkYgICAgMFUKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVy bmV0L2FxdWFudGlhL2F0bGFudGljL2FxX2h3LmggYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9hcXVh bnRpYS9hdGxhbnRpYy9hcV9ody5oCmluZGV4IGEyZDQxNmIyNGZmYy4uMmM2ZWJkOTFhOWYyIDEw MDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9hcXVhbnRpYS9hdGxhbnRpYy9hcV9ody5o CisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2FxdWFudGlhL2F0bGFudGljL2FxX2h3LmgKQEAg LTk4LDYgKzk4LDggQEAgc3RydWN0IGFxX3N0YXRzX3MgewogI2RlZmluZSBBUV9IV19NRURJQV9U WVBFX1RQICAgIDFVCiAjZGVmaW5lIEFRX0hXX01FRElBX1RZUEVfRklCUkUgMlUKIAorI2RlZmlu ZSBBUV9IV19NVUxUSUNBU1RfQUREUkVTU19NQVggICAgIDMyVQorCiBzdHJ1Y3QgYXFfaHdfcyB7 CiAJYXRvbWljX3QgZmxhZ3M7CiAJdTggcmJsX2VuYWJsZWQ6MTsKQEAgLTE3Nyw3ICsxNzksNyBA QCBzdHJ1Y3QgYXFfaHdfb3BzIHsKIAkJCQkgICAgdW5zaWduZWQgaW50IHBhY2tldF9maWx0ZXIp OwogCiAJaW50ICgqaHdfbXVsdGljYXN0X2xpc3Rfc2V0KShzdHJ1Y3QgYXFfaHdfcyAqc2VsZiwK LQkJCQkgICAgIHU4IGFyX21hY1tBUV9DRkdfTVVMVElDQVNUX0FERFJFU1NfTUFYXQorCQkJCSAg ICAgdTggYXJfbWFjW0FRX0hXX01VTFRJQ0FTVF9BRERSRVNTX01BWF0KIAkJCQkgICAgIFtFVEhf QUxFTl0sCiAJCQkJICAgICB1MzIgY291bnQpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9l dGhlcm5ldC9hcXVhbnRpYS9hdGxhbnRpYy9hcV9tYWluLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5l dC9hcXVhbnRpYS9hdGxhbnRpYy9hcV9tYWluLmMKaW5kZXggYmE1ZmU4YzQxMjVkLi5lM2FlMjll NTIzZjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2FxdWFudGlhL2F0bGFudGlj L2FxX21haW4uYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9hcXVhbnRpYS9hdGxhbnRpYy9h cV9tYWluLmMKQEAgLTEzNSwxNyArMTM1LDEwIEBAIHN0YXRpYyBpbnQgYXFfbmRldl9zZXRfbWFj X2FkZHJlc3Moc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsIHZvaWQgKmFkZHIpCiBzdGF0aWMgdm9p ZCBhcV9uZGV2X3NldF9tdWx0aWNhc3Rfc2V0dGluZ3Moc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYp CiB7CiAJc3RydWN0IGFxX25pY19zICphcV9uaWMgPSBuZXRkZXZfcHJpdihuZGV2KTsKLQlpbnQg ZXJyID0gMDsKIAotCWVyciA9IGFxX25pY19zZXRfcGFja2V0X2ZpbHRlcihhcV9uaWMsIG5kZXYt PmZsYWdzKTsKLQlpZiAoZXJyIDwgMCkKLQkJcmV0dXJuOworCWFxX25pY19zZXRfcGFja2V0X2Zp bHRlcihhcV9uaWMsIG5kZXYtPmZsYWdzKTsKIAotCWlmIChuZXRkZXZfbWNfY291bnQobmRldikp IHsKLQkJZXJyID0gYXFfbmljX3NldF9tdWx0aWNhc3RfbGlzdChhcV9uaWMsIG5kZXYpOwotCQlp ZiAoZXJyIDwgMCkKLQkJCXJldHVybjsKLQl9CisJYXFfbmljX3NldF9tdWx0aWNhc3RfbGlzdChh cV9uaWMsIG5kZXYpOwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IG5ldF9kZXZpY2Vfb3BzIGFx X25kZXZfb3BzID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYXF1YW50aWEv YXRsYW50aWMvYXFfbmljLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9hcXVhbnRpYS9hdGxhbnRp Yy9hcV9uaWMuYwppbmRleCAxYTFhNjM4MGMxMjguLjdhMjJkMDI1N2UwNCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9uZXQvZXRoZXJuZXQvYXF1YW50aWEvYXRsYW50aWMvYXFfbmljLmMKKysrIGIvZHJp dmVycy9uZXQvZXRoZXJuZXQvYXF1YW50aWEvYXRsYW50aWMvYXFfbmljLmMKQEAgLTU2MywzNCAr NTYzLDQxIEBAIGludCBhcV9uaWNfc2V0X3BhY2tldF9maWx0ZXIoc3RydWN0IGFxX25pY19zICpz ZWxmLCB1bnNpZ25lZCBpbnQgZmxhZ3MpCiAKIGludCBhcV9uaWNfc2V0X211bHRpY2FzdF9saXN0 KHN0cnVjdCBhcV9uaWNfcyAqc2VsZiwgc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYpCiB7CisJdW5z aWduZWQgaW50IHBhY2tldF9maWx0ZXIgPSBzZWxmLT5wYWNrZXRfZmlsdGVyOwogCXN0cnVjdCBu ZXRkZXZfaHdfYWRkciAqaGEgPSBOVUxMOwogCXVuc2lnbmVkIGludCBpID0gMFU7CiAKLQlzZWxm LT5tY19saXN0LmNvdW50ID0gMFU7Ci0KLQluZXRkZXZfZm9yX2VhY2hfbWNfYWRkcihoYSwgbmRl dikgewotCQlldGhlcl9hZGRyX2NvcHkoc2VsZi0+bWNfbGlzdC5hcltpKytdLCBoYS0+YWRkcik7 Ci0JCSsrc2VsZi0+bWNfbGlzdC5jb3VudDsKKwlzZWxmLT5tY19saXN0LmNvdW50ID0gMDsKKwlp ZiAobmV0ZGV2X3VjX2NvdW50KG5kZXYpID4gQVFfSFdfTVVMVElDQVNUX0FERFJFU1NfTUFYKSB7 CisJCXBhY2tldF9maWx0ZXIgfD0gSUZGX1BST01JU0M7CisJfSBlbHNlIHsKKwkJbmV0ZGV2X2Zv cl9lYWNoX3VjX2FkZHIoaGEsIG5kZXYpIHsKKwkJCWV0aGVyX2FkZHJfY29weShzZWxmLT5tY19s aXN0LmFyW2krK10sIGhhLT5hZGRyKTsKIAotCQlpZiAoaSA+PSBBUV9DRkdfTVVMVElDQVNUX0FE RFJFU1NfTUFYKQotCQkJYnJlYWs7CisJCQlpZiAoaSA+PSBBUV9IV19NVUxUSUNBU1RfQUREUkVT U19NQVgpCisJCQkJYnJlYWs7CisJCX0KIAl9CiAKLQlpZiAoaSA+PSBBUV9DRkdfTVVMVElDQVNU X0FERFJFU1NfTUFYKSB7Ci0JCS8qIE51bWJlciBvZiBmaWx0ZXJzIGlzIHRvbyBiaWc6IGF0bGFu dGljIGRvZXMgbm90IHN1cHBvcnQgdGhpcy4KLQkJICogRm9yY2UgYWxsIG11bHRpIGZpbHRlciB0 byBzdXBwb3J0IHRoaXMuCi0JCSAqIFdpdGggdGhpcyB3ZSBkaXNhYmxlIGFsbCBVQyBmaWx0ZXJz IGFuZCBzZXR1cCAiYWxsIHBhc3MiCi0JCSAqIG11bHRpY2FzdCBtYXNrCi0JCSAqLwotCQlzZWxm LT5wYWNrZXRfZmlsdGVyIHw9IElGRl9BTExNVUxUSTsKLQkJc2VsZi0+YXFfbmljX2NmZy5tY19s aXN0X2NvdW50ID0gMDsKLQkJcmV0dXJuIHNlbGYtPmFxX2h3X29wcy0+aHdfcGFja2V0X2ZpbHRl cl9zZXQoc2VsZi0+YXFfaHcsCi0JCQkJCQkJICAgICBzZWxmLT5wYWNrZXRfZmlsdGVyKTsKKwlp ZiAoaSArIG5ldGRldl9tY19jb3VudChuZGV2KSA+IEFRX0hXX01VTFRJQ0FTVF9BRERSRVNTX01B WCkgeworCQlwYWNrZXRfZmlsdGVyIHw9IElGRl9BTExNVUxUSTsKIAl9IGVsc2UgewotCQlyZXR1 cm4gc2VsZi0+YXFfaHdfb3BzLT5od19tdWx0aWNhc3RfbGlzdF9zZXQoc2VsZi0+YXFfaHcsCi0J CQkJCQkgICAgc2VsZi0+bWNfbGlzdC5hciwKLQkJCQkJCSAgICBzZWxmLT5tY19saXN0LmNvdW50 KTsKKwkJbmV0ZGV2X2Zvcl9lYWNoX21jX2FkZHIoaGEsIG5kZXYpIHsKKwkJCWV0aGVyX2FkZHJf Y29weShzZWxmLT5tY19saXN0LmFyW2krK10sIGhhLT5hZGRyKTsKKworCQkJaWYgKGkgPj0gQVFf SFdfTVVMVElDQVNUX0FERFJFU1NfTUFYKQorCQkJCWJyZWFrOworCQl9CisJfQorCisJaWYgKGkg PiAwICYmIGkgPCBBUV9IV19NVUxUSUNBU1RfQUREUkVTU19NQVgpIHsKKwkJcGFja2V0X2ZpbHRl ciB8PSBJRkZfTVVMVElDQVNUOworCQlzZWxmLT5tY19saXN0LmNvdW50ID0gaTsKKwkJc2VsZi0+ YXFfaHdfb3BzLT5od19tdWx0aWNhc3RfbGlzdF9zZXQoc2VsZi0+YXFfaHcsCisJCQkJCQkgICAg ICAgc2VsZi0+bWNfbGlzdC5hciwKKwkJCQkJCSAgICAgICBzZWxmLT5tY19saXN0LmNvdW50KTsK IAl9CisJcmV0dXJuIGFxX25pY19zZXRfcGFja2V0X2ZpbHRlcihzZWxmLCBwYWNrZXRfZmlsdGVy KTsKIH0KIAogaW50IGFxX25pY19zZXRfbXR1KHN0cnVjdCBhcV9uaWNfcyAqc2VsZiwgaW50IG5l d19tdHUpCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9hcXVhbnRpYS9hdGxhbnRp Yy9hcV9uaWMuaCBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2FxdWFudGlhL2F0bGFudGljL2FxX25p Yy5oCmluZGV4IGZhYTUzM2EwZWM0Ny4uZmVjZmM0MDFmOTVkIDEwMDY0NAotLS0gYS9kcml2ZXJz L25ldC9ldGhlcm5ldC9hcXVhbnRpYS9hdGxhbnRpYy9hcV9uaWMuaAorKysgYi9kcml2ZXJzL25l dC9ldGhlcm5ldC9hcXVhbnRpYS9hdGxhbnRpYy9hcV9uaWMuaApAQCAtNzUsNyArNzUsNyBAQCBz dHJ1Y3QgYXFfbmljX3MgewogCXN0cnVjdCBhcV9od19saW5rX3N0YXR1c19zIGxpbmtfc3RhdHVz OwogCXN0cnVjdCB7CiAJCXUzMiBjb3VudDsKLQkJdTggYXJbQVFfQ0ZHX01VTFRJQ0FTVF9BRERS RVNTX01BWF1bRVRIX0FMRU5dOworCQl1OCBhcltBUV9IV19NVUxUSUNBU1RfQUREUkVTU19NQVhd W0VUSF9BTEVOXTsKIAl9IG1jX2xpc3Q7CiAKIAlzdHJ1Y3QgcGNpX2RldiAqcGRldjsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2FxdWFudGlhL2F0bGFudGljL2h3X2F0bC9od19h dGxfYTAuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2FxdWFudGlhL2F0bGFudGljL2h3X2F0bC9o d19hdGxfYTAuYwppbmRleCA2N2UyZjlmYjk0MDIuLjhjYzZhYmFkYzAzYiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9uZXQvZXRoZXJuZXQvYXF1YW50aWEvYXRsYW50aWMvaHdfYXRsL2h3X2F0bF9hMC5j CisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2FxdWFudGlhL2F0bGFudGljL2h3X2F0bC9od19h dGxfYTAuYwpAQCAtNzY1LDcgKzc2NSw3IEBAIHN0YXRpYyBpbnQgaHdfYXRsX2EwX2h3X3BhY2tl dF9maWx0ZXJfc2V0KHN0cnVjdCBhcV9od19zICpzZWxmLAogCiBzdGF0aWMgaW50IGh3X2F0bF9h MF9od19tdWx0aWNhc3RfbGlzdF9zZXQoc3RydWN0IGFxX2h3X3MgKnNlbGYsCiAJCQkJCSAgIHU4 IGFyX21hYwotCQkJCQkgICBbQVFfQ0ZHX01VTFRJQ0FTVF9BRERSRVNTX01BWF0KKwkJCQkJICAg W0FRX0hXX01VTFRJQ0FTVF9BRERSRVNTX01BWF0KIAkJCQkJICAgW0VUSF9BTEVOXSwKIAkJCQkJ ICAgdTMyIGNvdW50KQogewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYXF1YW50 aWEvYXRsYW50aWMvaHdfYXRsL2h3X2F0bF9iMC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYXF1 YW50aWEvYXRsYW50aWMvaHdfYXRsL2h3X2F0bF9iMC5jCmluZGV4IDgxOWY2YmNmOWI0ZS4uOTU2 ODYwYTY5Nzk3IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9hcXVhbnRpYS9hdGxh bnRpYy9od19hdGwvaHdfYXRsX2IwLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYXF1YW50 aWEvYXRsYW50aWMvaHdfYXRsL2h3X2F0bF9iMC5jCkBAIC03ODQsNyArNzg0LDcgQEAgc3RhdGlj IGludCBod19hdGxfYjBfaHdfcGFja2V0X2ZpbHRlcl9zZXQoc3RydWN0IGFxX2h3X3MgKnNlbGYs CiAKIHN0YXRpYyBpbnQgaHdfYXRsX2IwX2h3X211bHRpY2FzdF9saXN0X3NldChzdHJ1Y3QgYXFf aHdfcyAqc2VsZiwKIAkJCQkJICAgdTggYXJfbWFjCi0JCQkJCSAgIFtBUV9DRkdfTVVMVElDQVNU X0FERFJFU1NfTUFYXQorCQkJCQkgICBbQVFfSFdfTVVMVElDQVNUX0FERFJFU1NfTUFYXQogCQkJ CQkgICBbRVRIX0FMRU5dLAogCQkJCQkgICB1MzIgY291bnQpCiB7CkBAIC04MTIsNyArODEyLDcg QEAgc3RhdGljIGludCBod19hdGxfYjBfaHdfbXVsdGljYXN0X2xpc3Rfc2V0KHN0cnVjdCBhcV9o d19zICpzZWxmLAogCiAJCWh3X2F0bF9ycGZsMl91Y19mbHJfZW5fc2V0KHNlbGYsCiAJCQkJCSAg IChzZWxmLT5hcV9uaWNfY2ZnLT5pc19tY19saXN0X2VuYWJsZWQpLAotCQkJCSAgICBIV19BVExf QjBfTUFDX01JTiArIGkpOworCQkJCQkgICBIV19BVExfQjBfTUFDX01JTiArIGkpOwogCX0KIAog CWVyciA9IGFxX2h3X2Vycl9mcm9tX2ZsYWdzKHNlbGYpOwotLSAKMi4xNy4xCgoKRnJvbSAyZmVj MWEyNjZlMTgzZTQzY2FhYmM5MDA4Njk5MThkZjZhMmIxM2JjIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBTYWVlZCBNYWhhbWVlZCA8c2FlZWRtQG1lbGxhbm94LmNvbT4KRGF0ZTogU3Vu LCAxNSBKdWwgMjAxOCAxMzo1NDozOSArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMjIvMjVdIG5ldC9t bHg0X2VuOiBEb24ndCByZXVzZSBSWCBwYWdlIHdoZW4gWERQIGlzIHNldAoKWyBVcHN0cmVhbSBj b21taXQgNDMyZTYyOWU1NjQzMjA2NDc2MWJlNjNiY2Q1ZTI2M2MwOTIwNDMwZCBdCgpXaGVuIGEg bmV3IHJ4IHBhY2tldCBhcnJpdmVzLCB0aGUgcnggcGF0aCB3aWxsIGRlY2lkZSB3aGV0aGVyIHRv IHJldXNlCnRoZSByZW1haW5kZXIgb2YgdGhlIHBhZ2Ugb3Igbm90IGFjY29yZGluZyB0byBvbmUg b2YgdGhlIGJlbG93IGNvbmRpdGlvbnM6CjEuIGZyYWdfaW5mby0+ZnJhZ19zdHJpZGUgPT0gUEFH RV9TSVpFIC8gMgoyLiBmcmFncy0+cGFnZV9vZmZzZXQgKyBmcmFnX2luZm8tPmZyYWdfc2l6ZSA+ IFBBR0VfU0laRTsKClRoZSBmaXJzdCBjb25kaXRpb24gaXMgbm8gbWV0IGZvciB3aGVuIFhEUCBp cyBzZXQuCkZvciBYRFAsIHBhZ2Vfb2Zmc2V0IGlzIGFsd2F5cyBzZXQgdG8gcHJpdi0+cnhfaGVh ZHJvb20gd2hpY2ggaXMKWERQX1BBQ0tFVF9IRUFEUk9PTSBhbmQgZnJhZ19pbmZvLT5mcmFnX3Np emUgaXMgYXJvdW5kIG10dSBzaXplICsgc29tZQpwYWRkaW5nLCBzdGlsbCB0aGUgMm5kIHJlbGVh c2UgY29uZGl0aW9uIHdpbGwgaG9sZCBzaW5jZQpYRFBfUEFDS0VUX0hFQURST09NICsgMTUzNiA8 IFBBR0VfU0laRSwgYXMgYSByZXN1bHQgdGhlIHBhZ2Ugd2lsbCBub3QKYmUgcmVsZWFzZWQgYW5k IHdpbGwgYmUgX3dyb25nbHlfIHJldXNlZCBmb3IgbmV4dCBmcmVlIHJ4IGRlc2NyaXB0b3IuCgpJ biBYRFAgdGhlcmUgaXMgYW4gYXNzdW1wdGlvbiB0byBoYXZlIGEgcGFnZSBwZXIgcGFja2V0IGFu ZCByZXVzZSBjYW4KYnJlYWsgc3VjaCBhc3N1bXB0aW9uIGFuZCBtaWdodCBjYXVzZSBwYWNrZXQg ZGF0YSBjb3JydXB0aW9ucy4KCkZpeCB0aGlzIGJ5IGFkZGluZyBhbiBleHRyYSBjb25kaXRpb24g KCFwcml2LT5yeF9oZWFkcm9vbSkgdG8gdGhlIDJuZApjYXNlIHRvIGF2b2lkIHBhZ2UgcmV1c2Ug d2hlbiBYRFAgaXMgc2V0LCBzaW5jZSByeF9oZWFkcm9vbSBpcyBzZXQgdG8gMApmb3Igbm9uIFhE UCBzZXR1cCBhbmQgc2V0IHRvIFhEUF9QQUNLRVRfSEVBRFJPT00gZm9yIFhEUCBzZXR1cC4KCk5v IGFkZGl0aW9uYWwgY2FjaGUgbGluZSBpcyByZXF1aXJlZCBmb3IgdGhlIG5ldyBjb25kaXRpb24u CgpGaXhlczogMzRkYjU0OGJmYjk1ICgibWx4NDogYWRkIHBhZ2UgcmVjeWNsaW5nIGluIHJlY2Vp dmUgcGF0aCIpClNpZ25lZC1vZmYtYnk6IFNhZWVkIE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3gu Y29tPgpTaWduZWQtb2ZmLWJ5OiBUYXJpcSBUb3VrYW4gPHRhcmlxdEBtZWxsYW5veC5jb20+ClN1 Z2dlc3RlZC1ieTogTWFydGluIEthRmFpIExhdSA8a2FmYWlAZmIuY29tPgpDQzogRXJpYyBEdW1h emV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIg PGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gv bWx4NC9lbl9yeC5jIHwgOCArKysrKystLQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygr KSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxs YW5veC9tbHg0L2VuX3J4LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2Vu X3J4LmMKaW5kZXggNWM2MTNjNjY2M2RhLi4yY2EwZjFkYWQ1NGMgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDQvZW5fcnguYworKysgYi9kcml2ZXJzL25ldC9l dGhlcm5ldC9tZWxsYW5veC9tbHg0L2VuX3J4LmMKQEAgLTQ3NCwxMCArNDc0LDEwIEBAIHN0YXRp YyBpbnQgbWx4NF9lbl9jb21wbGV0ZV9yeF9kZXNjKHN0cnVjdCBtbHg0X2VuX3ByaXYgKnByaXYs CiB7CiAJY29uc3Qgc3RydWN0IG1seDRfZW5fZnJhZ19pbmZvICpmcmFnX2luZm8gPSBwcml2LT5m cmFnX2luZm87CiAJdW5zaWduZWQgaW50IHRydWVzaXplID0gMDsKKwlib29sIHJlbGVhc2UgPSB0 cnVlOwogCWludCBuciwgZnJhZ19zaXplOwogCXN0cnVjdCBwYWdlICpwYWdlOwogCWRtYV9hZGRy X3QgZG1hOwotCWJvb2wgcmVsZWFzZTsKIAogCS8qIENvbGxlY3QgdXNlZCBmcmFnbWVudHMgd2hp bGUgcmVwbGFjaW5nIHRoZW0gaW4gdGhlIEhXIGRlc2NyaXB0b3JzICovCiAJZm9yIChuciA9IDA7 OyBmcmFncysrKSB7CkBAIC01MDAsNyArNTAwLDExIEBAIHN0YXRpYyBpbnQgbWx4NF9lbl9jb21w bGV0ZV9yeF9kZXNjKHN0cnVjdCBtbHg0X2VuX3ByaXYgKnByaXYsCiAJCQlyZWxlYXNlID0gcGFn ZV9jb3VudChwYWdlKSAhPSAxIHx8CiAJCQkJICBwYWdlX2lzX3BmbWVtYWxsb2MocGFnZSkgfHwK IAkJCQkgIHBhZ2VfdG9fbmlkKHBhZ2UpICE9IG51bWFfbWVtX2lkKCk7Ci0JCX0gZWxzZSB7CisJ CX0gZWxzZSBpZiAoIXByaXYtPnJ4X2hlYWRyb29tKSB7CisJCQkvKiByeF9oZWFkcm9vbSBmb3Ig bm9uIFhEUCBzZXR1cCBpcyBhbHdheXMgMC4KKwkJCSAqIFdoZW4gWERQIGlzIHNldCwgdGhlIGFi b3ZlIGNvbmRpdGlvbiB3aWxsCisJCQkgKiBndWFyYW50ZWUgcGFnZSBpcyBhbHdheXMgcmVsZWFz ZWQuCisJCQkgKi8KIAkJCXUzMiBzel9hbGlnbiA9IEFMSUdOKGZyYWdfc2l6ZSwgU01QX0NBQ0hF X0JZVEVTKTsKIAogCQkJZnJhZ3MtPnBhZ2Vfb2Zmc2V0ICs9IHN6X2FsaWduOwotLSAKMi4xNy4x CgoKRnJvbSA3YTI3Y2M4OTgxYzIwZTI5NGM4Yjc2NDU1ZWMwNDkxYTk2MGI4OGM5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBGbG9yaWFuIEZhaW5lbGxpIDxmLmZhaW5lbGxpQGdtYWls LmNvbT4KRGF0ZTogV2VkLCAxMSBKdWwgMjAxOCAwMjo0Nzo1OCAtMDcwMApTdWJqZWN0OiBbUEFU Q0ggMjMvMjVdIG5ldDogc3lzdGVtcG9ydDogRml4IENSQyBmb3J3YXJkaW5nIGNoZWNrIGZvcgog U1lTVEVNUE9SVCBMaXRlCgpbIFVwc3RyZWFtIGNvbW1pdCA5ZTNiZmY5MjM5MTM3MjlkNzZkODdm MDAxNTg0OGVlN2I4ZmY3MDgzIF0KClNZU1RFTVBPUlQgTGl0ZSByZXZlcnNlZCB0aGUgbG9naWMg Y29tcGFyZWQgdG8gU1lTVEVNUE9SVCwgdGhlCkdJQl9GQ1NfU1RSSVAgYml0IGlzIHNldCB3aGVu IHRoZSBFdGhlcm5ldCBGQ1MgaXMgc3RyaXBwZWQsIGFuZCB0aGF0IGJpdAppcyBub3Qgc2V0IGJ5 IGRlZmF1bHQuIEZpeCB0aGUgbG9naWMgc3VjaCB0aGF0IHdlIHByb3Blcmx5IGNoZWNrIHdoZXRo ZXIKdGhhdCBiaXQgaXMgc2V0IG9yIG5vdCBhbmQgd2UgZG9uJ3QgZm9yd2FyZCBhbiBleHRyYSA0 IGJ5dGVzIHRvIHRoZQpuZXR3b3JrIHN0YWNrLgoKRml4ZXM6IDQ0YTQ1MjRjNTRhZiAoIm5ldDog c3lzdGVtcG9ydDogQWRkIHN1cHBvcnQgZm9yIFNZU1RFTVBPUlQgTGl0ZSIpClNpZ25lZC1vZmYt Ynk6IEZsb3JpYW4gRmFpbmVsbGkgPGYuZmFpbmVsbGlAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5 OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQv ZXRoZXJuZXQvYnJvYWRjb20vYmNtc3lzcG9ydC5jIHwgNCArKy0tCiBkcml2ZXJzL25ldC9ldGhl cm5ldC9icm9hZGNvbS9iY21zeXNwb3J0LmggfCAzICsrLQogMiBmaWxlcyBjaGFuZ2VkLCA0IGlu c2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRo ZXJuZXQvYnJvYWRjb20vYmNtc3lzcG9ydC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRj b20vYmNtc3lzcG9ydC5jCmluZGV4IGYzM2IyNWZiY2E2My4uN2RiMDcyZmU1ZjIyIDEwMDY0NAot LS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9iY21zeXNwb3J0LmMKKysrIGIvZHJp dmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYmNtc3lzcG9ydC5jCkBAIC0xOTQ2LDggKzE5NDYs OCBAQCBzdGF0aWMgaW50IGJjbV9zeXNwb3J0X29wZW4oc3RydWN0IG5ldF9kZXZpY2UgKmRldikK IAlpZiAoIXByaXYtPmlzX2xpdGUpCiAJCXByaXYtPmNyY19md2QgPSAhISh1bWFjX3JlYWRsKHBy aXYsIFVNQUNfQ01EKSAmIENNRF9DUkNfRldEKTsKIAllbHNlCi0JCXByaXYtPmNyY19md2QgPSAh IShnaWJfcmVhZGwocHJpdiwgR0lCX0NPTlRST0wpICYKLQkJCQkgICBHSUJfRkNTX1NUUklQKTsK KwkJcHJpdi0+Y3JjX2Z3ZCA9ICEoKGdpYl9yZWFkbChwcml2LCBHSUJfQ09OVFJPTCkgJgorCQkJ CSAgR0lCX0ZDU19TVFJJUCkgPj4gR0lCX0ZDU19TVFJJUF9TSElGVCk7CiAKIAlwaHlkZXYgPSBv Zl9waHlfY29ubmVjdChkZXYsIHByaXYtPnBoeV9kbiwgYmNtX3N5c3BvcnRfYWRqX2xpbmssCiAJ CQkJMCwgcHJpdi0+cGh5X2ludGVyZmFjZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhl cm5ldC9icm9hZGNvbS9iY21zeXNwb3J0LmggYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNv bS9iY21zeXNwb3J0LmgKaW5kZXggZDZlNWQwY2JmM2EzLi5jZjQ0MGI5MWZkMDQgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JjbXN5c3BvcnQuaAorKysgYi9kcml2 ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9iY21zeXNwb3J0LmgKQEAgLTI3OCw3ICsyNzgsOCBA QCBzdHJ1Y3QgYmNtX3JzYiB7CiAjZGVmaW5lICBHSUJfR1RYX0NMS19FWFRfQ0xLCQkoMCA8PCBH SUJfR1RYX0NMS19TRUxfU0hJRlQpCiAjZGVmaW5lICBHSUJfR1RYX0NMS18xMjVNSFoJCSgxIDw8 IEdJQl9HVFhfQ0xLX1NFTF9TSElGVCkKICNkZWZpbmUgIEdJQl9HVFhfQ0xLXzI1ME1IWgkJKDIg PDwgR0lCX0dUWF9DTEtfU0VMX1NISUZUKQotI2RlZmluZSAgR0lCX0ZDU19TVFJJUAkJCSgxIDw8 IDYpCisjZGVmaW5lICBHSUJfRkNTX1NUUklQX1NISUZUCQk2CisjZGVmaW5lICBHSUJfRkNTX1NU UklQCQkJKDEgPDwgR0lCX0ZDU19TVFJJUF9TSElGVCkKICNkZWZpbmUgIEdJQl9MQ0xfTE9PUF9F TgkJKDEgPDwgNykKICNkZWZpbmUgIEdJQl9MQ0xfTE9PUF9UWEVOCQkoMSA8PCA4KQogI2RlZmlu ZSAgR0lCX1JNVF9MT09QX0VOCQkoMSA8PCA5KQotLSAKMi4xNy4xCgoKRnJvbSA2NmU1ODMwYjA2 MGYyYmFkZDFmNDNlN2RiY2QzMTQ5ZmFjODU4NmRiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBTYWJyaW5hIER1YnJvY2EgPHNkQHF1ZWFzeXNuYWlsLm5ldD4KRGF0ZTogRnJpLCAxMyBK dWwgMjAxOCAxNzoyMTo0MiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMjQvMjVdIGlwdjY6IG1ha2Ug REFEIGZhaWwgd2l0aCBlbmhhbmNlZCBEQUQgd2hlbiBub25jZSBsZW5ndGgKIGRpZmZlcnMKClsg VXBzdHJlYW0gY29tbWl0IGU2NjUxNTk5OWI2MjczNjg4OTJjY2M5YjNhMTNhNTA2ZjJlYTEzNTcg XQoKQ29tbWl0IGFkYzE3NmM1NDcyMiAoImlwdjYgYWRkcmNvbmY6IEltcGxlbWVudGVkIGVuaGFu Y2VkIERBRCAoUkZDNzUyNykiKQphZGRlZCBlbmhhbmNlZCBEQUQgd2l0aCBhIG5vbmNlIGxlbmd0 aCBvZiA2IGJ5dGVzLiBIb3dldmVyLCBSRkM3NTI3CmRvZXNuJ3Qgc3BlY2lmeSB0aGUgbGVuZ3Ro IG9mIHRoZSBub25jZSwgb3RoZXIgdGhhbiBiZWluZyA2ICsgOCprIGJ5dGVzLAp3aXRoIGludGVn ZXIgayA+PSAwIChSRkMzOTcxIDUuMy4yKS4gVGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gc2lt cGx5CmFzc3VtZXMgdGhhdCB0aGUgbm9uY2Ugd2lsbCBhbHdheXMgYmUgNiBieXRlcywgYnV0IG90 aGVycyBzeXN0ZW1zIGFyZQpmcmVlIHRvIGNob29zZSBkaWZmZXJlbnQgc2l6ZXMuCgpJZiBhbm90 aGVyIHN5c3RlbSBzZW5kcyBhIG5vbmNlIG9mIGRpZmZlcmVudCBsZW5ndGggYnV0IHdpdGggdGhl IHNhbWUgNgpieXRlcyBwcmVmaXgsIGl0IHNob3VsZG4ndCBiZSBjb25zaWRlcmVkIGFzIHRoZSBz YW1lIG5vbmNlLiBUaHVzLCBjaGVjawp0aGF0IHRoZSBsZW5ndGggb2YgdGhlIHJlY2VpdmVkIG5v bmNlIGlzIHRoZSBzYW1lIGFzIHRoZSBsZW5ndGggd2Ugc2VudC4KClVnbHkgc2NhcHkgdGVzdCBz Y3JpcHQgcnVubmluZyBvbiB2ZXRoMDoKCmRlZiBsb29wKCk6CiAgICBwa3Q9c25pZmYoaWZhY2U9 InZldGgwIiwgZmlsdGVyPSJpY21wNiIsIGNvdW50PTEpCiAgICBwa3QgPSBwa3RbMF0KICAgIGIg PSBieXRlYXJyYXkocGt0W1Jhd10ubG9hZCkKICAgIGJbMV0gKz0gMQogICAgYiArPSBiJ1x4ZGVc eGFkXHhiZVx4ZWZceGRlXHhhZFx4YmVceGVmJwogICAgcGt0W1Jhd10ubG9hZCA9IGJ5dGVzKGIp CiAgICBwa3RbSVB2Nl0ucGxlbiArPSA4CiAgICAjIGZpeHVwIGNoZWNrc3VtIGFmdGVyIG1vZGlm eWluZyB0aGUgcGF5bG9hZAogICAgcGt0W0lQdjZdLnBheWxvYWQuY2tzdW0gLT0gMHgzYjQ0CiAg ICBpZiBwa3RbSVB2Nl0ucGF5bG9hZC5ja3N1bSA8IDA6CiAgICAgICAgcGt0W0lQdjZdLnBheWxv YWQuY2tzdW0gKz0gMHhmZmZmCiAgICBzZW5kcChwa3QsIGlmYWNlPSJ2ZXRoMCIpCgpUaGlzIHNo b3VsZCByZXN1bHQgaW4gREFEIGZhaWx1cmUgZm9yIGFueSBhZGRyZXNzIGFkZGVkIHRvIHZldGgw J3MgcGVlciwKYnV0IGlzIGN1cnJlbnRseSBpZ25vcmVkLgoKRml4ZXM6IGFkYzE3NmM1NDcyMiAo ImlwdjYgYWRkcmNvbmY6IEltcGxlbWVudGVkIGVuaGFuY2VkIERBRCAoUkZDNzUyNykiKQpTaWdu ZWQtb2ZmLWJ5OiBTYWJyaW5hIER1YnJvY2EgPHNkQHF1ZWFzeXNuYWlsLm5ldD4KUmV2aWV3ZWQt Ynk6IFN0ZWZhbm8gQnJpdmlvIDxzYnJpdmlvQHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IERh dmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2Ni9uZGlzYy5j IHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpk aWZmIC0tZ2l0IGEvbmV0L2lwdjYvbmRpc2MuYyBiL25ldC9pcHY2L25kaXNjLmMKaW5kZXggNTI1 MDUxYTg4NmJjLi4zZmY5MzE2NjE2ZDggMTAwNjQ0Ci0tLSBhL25ldC9pcHY2L25kaXNjLmMKKysr IGIvbmV0L2lwdjYvbmRpc2MuYwpAQCAtODExLDcgKzgxMSw3IEBAIHN0YXRpYyB2b2lkIG5kaXNj X3JlY3ZfbnMoc3RydWN0IHNrX2J1ZmYgKnNrYikKIAkJCXJldHVybjsKIAkJfQogCX0KLQlpZiAo bmRvcHRzLm5kX29wdHNfbm9uY2UpCisJaWYgKG5kb3B0cy5uZF9vcHRzX25vbmNlICYmIG5kb3B0 cy5uZF9vcHRzX25vbmNlLT5uZF9vcHRfbGVuID09IDEpCiAJCW1lbWNweSgmbm9uY2UsICh1OCAq KShuZG9wdHMubmRfb3B0c19ub25jZSArIDEpLCA2KTsKIAogCWluYyA9IGlwdjZfYWRkcl9pc19t dWx0aWNhc3QoZGFkZHIpOwotLSAKMi4xNy4xCgoKRnJvbSAxNzM2ZDExMjY3MzAwNzAwM2JhZmM4 YmE2ZDlhOWZiZjM3YmNlNDA0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4YW5k ZXIgQ291emVucyA8bHlueGlzQGZlODAuZXU+CkRhdGU6IFR1ZSwgMTcgSnVsIDIwMTggMTM6MTc6 MDkgKzAyMDAKU3ViamVjdDogW1BBVENIIDI1LzI1XSBuZXQ6IHVzYjogYXNpeDogcmVwbGFjZSBt aWlfbndheV9yZXN0YXJ0IGluIHJlc3VtZSBwYXRoCgpbIFVwc3RyZWFtIGNvbW1pdCA1Yzk2OGY0 ODAyMWE5YjNmYWE2MWFjMjU0M2NmYWIzMjQ2MWMwZTA1IF0KCm1paV9ud2F5X3Jlc3RhcnQgaXMg bm90IHBtIGF3YXJlIHdoaWNoIHJlc3VsdHMgaW4gYSBydG5sIGRlYWRsb2NrLgpJbXBsZW1lbnQg bWlpX253YXlfcmVzdGFydCBtYW51YWwgYnkgc2V0dGluZyBCTUNSX0FOUkVTVEFSVCBpZgpCTUNS X0FORU5BQkxFIGlzIHNldC4KClRvIHJlcHJvZHVjZToKKiBwbHVnIGFuIGFzaXggYmFzZWQgdXNi IG5ldHdvcmsgaW50ZXJmYWNlCiogd2FpdCB1bnRpbCB0aGUgZGV2aWNlIGVudGVycyBQTSAofjUg c2VjKQoqIGBpcCBsaW5rIHNldCBldGgxIHVwYCB3aWxsIG5ldmVyIHJldHVybgoKRml4ZXM6IGQ5 ZmU2NGU1MTExNCAoIm5ldDogYXNpeDogQWRkIGluX3BtIHBhcmFtZXRlciIpClNpZ25lZC1vZmYt Ynk6IEFsZXhhbmRlciBDb3V6ZW5zIDxseW54aXNAZmU4MC5ldT4KU2lnbmVkLW9mZi1ieTogRGF2 aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L3VzYi9h c2l4X2RldmljZXMuYyB8IDQgKysrLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwg MSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3VzYi9hc2l4X2RldmljZXMu YyBiL2RyaXZlcnMvbmV0L3VzYi9hc2l4X2RldmljZXMuYwppbmRleCAzZDRmNzk1OWRhYmIuLmIx YjNkOGY3ZTY3ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvdXNiL2FzaXhfZGV2aWNlcy5jCisr KyBiL2RyaXZlcnMvbmV0L3VzYi9hc2l4X2RldmljZXMuYwpAQCAtNjQyLDEwICs2NDIsMTIgQEAg c3RhdGljIHZvaWQgYXg4ODc3Ml9yZXN0b3JlX3BoeShzdHJ1Y3QgdXNibmV0ICpkZXYpCiAJCQkJ ICAgICBwcml2LT5wcmVzdmRfcGh5X2FkdmVydGlzZSk7CiAKIAkJLyogUmVzdG9yZSBCTUNSICov CisJCWlmIChwcml2LT5wcmVzdmRfcGh5X2JtY3IgJiBCTUNSX0FORU5BQkxFKQorCQkJcHJpdi0+ cHJlc3ZkX3BoeV9ibWNyIHw9IEJNQ1JfQU5SRVNUQVJUOworCiAJCWFzaXhfbWRpb193cml0ZV9u b3BtKGRldi0+bmV0LCBkZXYtPm1paS5waHlfaWQsIE1JSV9CTUNSLAogCQkJCSAgICAgcHJpdi0+ cHJlc3ZkX3BoeV9ibWNyKTsKIAotCQltaWlfbndheV9yZXN0YXJ0KCZkZXYtPm1paSk7CiAJCXBy aXYtPnByZXN2ZF9waHlfYWR2ZXJ0aXNlID0gMDsKIAkJcHJpdi0+cHJlc3ZkX3BoeV9ibWNyID0g MDsKIAl9Ci0tIAoyLjE3LjEKCg== ----Next_Part(Sun_Jul_22_20_51_17_2018_135)----