From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shards.monkeyblade.net ([23.128.96.9]:58240 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725732AbeHUERd (ORCPT ); Tue, 21 Aug 2018 00:17:33 -0400 Received: from localhost (unknown [205.153.50.115]) (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 B8B72147A4146 for ; Mon, 20 Aug 2018 17:59:39 -0700 (PDT) Date: Mon, 20 Aug 2018 17:59:37 -0700 (PDT) Message-Id: <20180820.175937.2195970821560262979.davem@davemloft.net> To: stable@vger.kernel.org Subject: [GIT] Networking From: David Miller Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Mon_Aug_20_17_59_37_2018_914)--" Content-Transfer-Encoding: 7bit Sender: stable-owner@vger.kernel.org List-ID: ----Next_Part(Mon_Aug_20_17_59_37_2018_914)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Please queue up the following networking bug fixes for v4.17 and v4.18 -stable, respectively. Thank you! ----Next_Part(Mon_Aug_20_17_59_37_2018_914)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_417.mbox" RnJvbSAzNDc5NWU0ZjY0ZDE1YmI0M2E1OTRhYjkyODc4NmZmZmM1NDM1N2Q4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBLZWVzIENvb2sgPGtlZXNjb29rQGNocm9taXVtLm9yZz4KRGF0 ZTogV2VkLCAxNSBBdWcgMjAxOCAxMjoxNDowNSAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMS84XSBp c2RuOiBEaXNhYmxlIElJT0NEQkdWQVIKClsgVXBzdHJlYW0gY29tbWl0IDVlMjIwMDJhYTg4MDll MmVmYWIyZGE5NTg1NWY3M2Y2M2UxNGEzNmMgXQoKSXQgd2FzIHBvc3NpYmxlIHRvIGRpcmVjdGx5 IGxlYWsgdGhlIGtlcm5lbCBhZGRyZXNzIHdoZXJlIHRoZSBpc2RuX2RldgpzdHJ1Y3R1cmUgcG9p bnRlciB3YXMgc3RvcmVkLiBUaGlzIGlzIGEga2VybmVsIEFTTFIgYnlwYXNzIGZvciBhbnlvbmUK d2l0aCBhY2Nlc3MgdG8gdGhlIGlvY3RsLiBUaGUgY29kZSBoYWQgYmVlbiBwcmVzZW50IHNpbmNl IHRoZSBiZWdpbm5pbmcKb2YgZ2l0IGhpc3RvcnksIHRob3VnaCB0aGlzIHNob3VsZG4ndCBldmVy IGJlIG5lZWRlZCBmb3Igbm9ybWFsIG9wZXJhdGlvbiwKdGhlcmVmb3JlIHJlbW92ZSBpdC4KClJl cG9ydGVkLWJ5OiBBbCBWaXJvIDx2aXJvQHplbml2LmxpbnV4Lm9yZy51az4KQ2M6IEthcnN0ZW4g S2VpbCA8aXNkbkBsaW51eC1waW5naS5kZT4KU2lnbmVkLW9mZi1ieTogS2VlcyBDb29rIDxrZWVz Y29va0BjaHJvbWl1bS5vcmc+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1A ZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL2lzZG4vaTRsL2lzZG5fY29tbW9uLmMgfCA4ICst LS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDcgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9pc2RuL2k0bC9pc2RuX2NvbW1vbi5jIGIvZHJpdmVycy9pc2Ru L2k0bC9pc2RuX2NvbW1vbi5jCmluZGV4IDdjNmYzZjVkOWQ5YS4uNjZhYzdmYTZlMDM0IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2lzZG4vaTRsL2lzZG5fY29tbW9uLmMKKysrIGIvZHJpdmVycy9pc2Ru L2k0bC9pc2RuX2NvbW1vbi5jCkBAIC0xNjQwLDEzICsxNjQwLDcgQEAgaXNkbl9pb2N0bChzdHJ1 Y3QgZmlsZSAqZmlsZSwgdWludCBjbWQsIHVsb25nIGFyZykKIAkJCX0gZWxzZQogCQkJCXJldHVy biAtRUlOVkFMOwogCQljYXNlIElJT0NEQkdWQVI6Ci0JCQlpZiAoYXJnKSB7Ci0JCQkJaWYgKGNv cHlfdG9fdXNlcihhcmdwLCAmZGV2LCBzaXplb2YodWxvbmcpKSkKLQkJCQkJcmV0dXJuIC1FRkFV TFQ7Ci0JCQkJcmV0dXJuIDA7Ci0JCQl9IGVsc2UKLQkJCQlyZXR1cm4gLUVJTlZBTDsKLQkJCWJy ZWFrOworCQkJcmV0dXJuIC1FSU5WQUw7CiAJCWRlZmF1bHQ6CiAJCQlpZiAoKGNtZCAmIElJT0NE UlZDVEwpID09IElJT0NEUlZDVEwpCiAJCQkJY21kID0gKChjbWQgPj4gX0lPQ19OUlNISUZUKSAm IF9JT0NfTlJNQVNLKSAmIElTRE5fRFJWSU9DVExfTUFTSzsKLS0gCjIuMTcuMQoKCkZyb20gNThm OThmNjliODU2YzRhZWQ1OWE3M2Q1NDA4ODc3NDUxZTFlZDU1ZiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogSmVyZW15IENsaW5lIDxqY2xpbmVAcmVkaGF0LmNvbT4KRGF0ZTogTW9uLCAx MyBBdWcgMjAxOCAyMjoyMzoxMyArMDAwMApTdWJqZWN0OiBbUEFUQ0ggMi84XSBuZXQ6IHNvY2tf ZGlhZzogRml4IHNwZWN0cmUgdjEgZ2FkZ2V0IGluCiBfX3NvY2tfZGlhZ19jbWQoKQoKWyBVcHN0 cmVhbSBjb21taXQgNjZiNTFiMGEwMzQxZmQ0MmNlNjU3NzM5YmRhZTA1NjFiMDQxMGE4NSBdCgpy ZXEtPnNkaWFnX2ZhbWlseSBpcyBhIHVzZXItY29udHJvbGxlZCB2YWx1ZSB0aGF0J3MgdXNlZCBh cyBhbiBhcnJheQppbmRleC4gU2FuaXRpemUgaXQgYWZ0ZXIgdGhlIGJvdW5kcyBjaGVjayB0byBh dm9pZCBzcGVjdWxhdGl2ZQpvdXQtb2YtYm91bmRzIGFycmF5IGFjY2Vzcy4KClRoaXMgYWxzbyBw cm90ZWN0cyB0aGUgc29ja19pc19yZWdpc3RlcmVkKCkgY2FsbCwgc28gdGhpcyByZW1vdmVzIHRo ZQpzYW5pdGl6ZSBjYWxsIHRoZXJlLgoKRml4ZXM6IGU5NzhkZTdhNmQzOCAoIm5ldDogc29ja2V0 OiBGaXggcG90ZW50aWFsIHNwZWN0cmUgdjEgZ2FkZ2V0IGluIHNvY2tfaXNfcmVnaXN0ZXJlZCIp CkNjOiBKb3NoIFBvaW1ib2V1ZiA8anBvaW1ib2VAcmVkaGF0LmNvbT4KQ2M6IGtvbnJhZC53aWxr QG9yYWNsZS5jb20KQ2M6IGphbWllLmlsZXNAb3JhY2xlLmNvbQpDYzogbGlyYW4uYWxvbkBvcmFj bGUuY29tCkNjOiBzdGFibGVAdmdlci5rZXJuZWwub3JnClNpZ25lZC1vZmYtYnk6IEplcmVteSBD bGluZSA8amNsaW5lQHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8 ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvY29yZS9zb2NrX2RpYWcuYyB8IDIgKysKIG5l dC9zb2NrZXQuYyAgICAgICAgIHwgMyArLS0KIDIgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25z KCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9jb3JlL3NvY2tfZGlhZy5jIGIv bmV0L2NvcmUvc29ja19kaWFnLmMKaW5kZXggYzM3YjViZTdjNWU0Li4zMzEyYTU4NDlhOTcgMTAw NjQ0Ci0tLSBhL25ldC9jb3JlL3NvY2tfZGlhZy5jCisrKyBiL25ldC9jb3JlL3NvY2tfZGlhZy5j CkBAIC0xMCw2ICsxMCw3IEBACiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8 bGludXgvdGNwLmg+CiAjaW5jbHVkZSA8bGludXgvd29ya3F1ZXVlLmg+CisjaW5jbHVkZSA8bGlu dXgvbm9zcGVjLmg+CiAKICNpbmNsdWRlIDxsaW51eC9pbmV0X2RpYWcuaD4KICNpbmNsdWRlIDxs aW51eC9zb2NrX2RpYWcuaD4KQEAgLTIxOCw2ICsyMTksNyBAQCBzdGF0aWMgaW50IF9fc29ja19k aWFnX2NtZChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3Qgbmxtc2doZHIgKm5saCkKIAogCWlm IChyZXEtPnNkaWFnX2ZhbWlseSA+PSBBRl9NQVgpCiAJCXJldHVybiAtRUlOVkFMOworCXJlcS0+ c2RpYWdfZmFtaWx5ID0gYXJyYXlfaW5kZXhfbm9zcGVjKHJlcS0+c2RpYWdfZmFtaWx5LCBBRl9N QVgpOwogCiAJaWYgKHNvY2tfZGlhZ19oYW5kbGVyc1tyZXEtPnNkaWFnX2ZhbWlseV0gPT0gTlVM TCkKIAkJc29ja19sb2FkX2RpYWdfbW9kdWxlKHJlcS0+c2RpYWdfZmFtaWx5LCAwKTsKZGlmZiAt LWdpdCBhL25ldC9zb2NrZXQuYyBiL25ldC9zb2NrZXQuYwppbmRleCA2YTZhYTg0YjY0YzEuLjAz MTZiMzgwMzg5ZSAxMDA2NDQKLS0tIGEvbmV0L3NvY2tldC5jCisrKyBiL25ldC9zb2NrZXQuYwpA QCAtMjY5NCw4ICsyNjk0LDcgQEAgRVhQT1JUX1NZTUJPTChzb2NrX3VucmVnaXN0ZXIpOwogCiBi b29sIHNvY2tfaXNfcmVnaXN0ZXJlZChpbnQgZmFtaWx5KQogewotCXJldHVybiBmYW1pbHkgPCBO UFJPVE8gJiYKLQkJcmN1X2FjY2Vzc19wb2ludGVyKG5ldF9mYW1pbGllc1thcnJheV9pbmRleF9u b3NwZWMoZmFtaWx5LCBOUFJPVE8pXSk7CisJcmV0dXJuIGZhbWlseSA8IE5QUk9UTyAmJiByY3Vf YWNjZXNzX3BvaW50ZXIobmV0X2ZhbWlsaWVzW2ZhbWlseV0pOwogfQogCiBzdGF0aWMgaW50IF9f aW5pdCBzb2NrX2luaXQodm9pZCkKLS0gCjIuMTcuMQoKCkZyb20gYTQ5MGQ5MWIxZjg2OTc4MDky ZWZhNGUzZTIyYWU3MjM0OTk2MjBlMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSGVp bmVyIEthbGx3ZWl0IDxoa2FsbHdlaXQxQGdtYWlsLmNvbT4KRGF0ZTogU3VuLCAxMiBBdWcgMjAx OCAxMzoyNjoyNiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMy84XSByODE2OTogZG9uJ3QgdXNlIE1T SS1YIG9uIFJUTDgxNjhnCgpbIFVwc3RyZWFtIGNvbW1pdCA3YzUzYTcyMjQ1OWMxZDZmZmIwZjVi MjA1OGMwNmNhODk4MGI4NjAwIF0KClRoZXJlIGhhdmUgYmVlbiB0d28gcmVwb3J0cyB0aGF0IG5l dHdvcmsgZG9lc24ndCBjb21lIGJhY2sgb24gcmVzdW1lCmZyb20gc3VzcGVuZCB3aGVuIHVzaW5n IE1TSS1YLiBCb3RoIGNhc2VzIGFmZmVjdCB0aGUgc2FtZSBjaGlwIHZlcnNpb24KKFJUTDgxNjhn IC0gdmVyc2lvbiA0MCksIG9uIGRpZmZlcmVudCBzeXN0ZW1zLiBGYWxsaW5nIGJhY2sgdG8gTVNJ CmZpeGVzIHRoZSBpc3N1ZS4KRXZlbiB0aG91Z2ggd2UgZG9uJ3QgcmVhbGx5IGhhdmUgYSBwcm9v ZiB5ZXQgdGhhdCB0aGUgbmV0d29yayBjaGlwCnZlcnNpb24gaXMgdG8gYmxhbWUsIGxldCdzIGRp c2FibGUgTVNJLVggZm9yIHRoaXMgdmVyc2lvbi4KClJlcG9ydGVkLWJ5OiBTdGV2ZSBEb2RkIDxz dGV2ZWQ0MjRAZ21haWwuY29tPgpSZXBvcnRlZC1ieTogTG91IFJlZWQgPGdvZ2VuQGRpc3Jvb3Qu b3JnPgpUZXN0ZWQtYnk6IFN0ZXZlIERvZGQgPHN0ZXZlZDQyNEBnbWFpbC5jb20+ClRlc3RlZC1i eTogTG91IFJlZWQgPGdvZ2VuQGRpc3Jvb3Qub3JnPgpGaXhlczogNmM2YWExNWZkZWE1ICgicjgx Njk6IGltcHJvdmUgaW50ZXJydXB0IGhhbmRsaW5nIikKU2lnbmVkLW9mZi1ieTogSGVpbmVyIEth bGx3ZWl0IDxoa2FsbHdlaXQxQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWls bGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L3JlYWx0 ZWsvcjgxNjkuYyB8IDUgKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9yZWFsdGVrL3I4MTY5LmMgYi9kcml2ZXJz L25ldC9ldGhlcm5ldC9yZWFsdGVrL3I4MTY5LmMKaW5kZXggNzY0YjI1ZmE0NzBjLi5kMTkwNjU4 NTdhZmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3JlYWx0ZWsvcjgxNjkuYwor KysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9yZWFsdGVrL3I4MTY5LmMKQEAgLTgwNjYsNiArODA2 NiwxMSBAQCBzdGF0aWMgaW50IHJ0bF9hbGxvY19pcnEoc3RydWN0IHJ0bDgxNjlfcHJpdmF0ZSAq dHApCiAJCVJUTF9XOCh0cCwgQ29uZmlnMiwgUlRMX1I4KHRwLCBDb25maWcyKSAmIH5NU0lFbmFi bGUpOwogCQlSVExfVzgodHAsIENmZzkzNDYsIENmZzkzNDZfTG9jayk7CiAJCWZsYWdzID0gUENJ X0lSUV9MRUdBQ1k7CisJfSBlbHNlIGlmICh0cC0+bWFjX3ZlcnNpb24gPT0gUlRMX0dJR0FfTUFD X1ZFUl80MCkgeworCQkvKiBUaGlzIHZlcnNpb24gd2FzIHJlcG9ydGVkIHRvIGhhdmUgaXNzdWVz IHdpdGggcmVzdW1lCisJCSAqIGZyb20gc3VzcGVuZCB3aGVuIHVzaW5nIE1TSS1YCisJCSAqLwor CQlmbGFncyA9IFBDSV9JUlFfTEVHQUNZIHwgUENJX0lSUV9NU0k7CiAJfSBlbHNlIHsKIAkJZmxh Z3MgPSBQQ0lfSVJRX0FMTF9UWVBFUzsKIAl9Ci0tIAoyLjE3LjEKCgpGcm9tIGU3MGIyZGQwZjEx ZTMwNTBjZjM5MTljNDM5NjAwMzM1MDQ2NzgzOTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IEppYW4tSG9uZyBQYW4gPGppYW4taG9uZ0BlbmRsZXNzbS5jb20+CkRhdGU6IEZyaSwgMTcg QXVnIDIwMTggMTM6MDc6MzUgKzA4MDAKU3ViamVjdDogW1BBVENIIDQvOF0gcjgxNjk6IGRvbid0 IHVzZSBNU0ktWCBvbiBSVEw4MTA2ZQoKWyBVcHN0cmVhbSBjb21taXQgN2JiMDViODViYzJkMWEx YjY0N2I5MTQyNGIyZWQ0YTE4ZTZlY2Q4MSBdCgpGb3VuZCB0aGUgZXRoZXJuZXQgbmV0d29yayBv biBBU1VTIFg0NDFVQVIgZG9lc24ndCBjb21lIGJhY2sgb24gcmVzdW1lCmZyb20gc3VzcGVuZCB3 aGVuIHVzaW5nIE1TSS1YLiAgVGhlIGNoaXAgaXMgUlRMODEwNmUgLSB2ZXJzaW9uIDM5LgoKWyAg IDIxLjg0ODM1N10gbGlicGh5OiByODE2OTogcHJvYmVkClsgICAyMS44NDg0NzNdIHI4MTY5IDAw MDA6MDI6MDAuMCBldGgwOiBSVEw4MTA2ZSwgMGM6OWQ6OTI6MzI6Njc6YjQsIFhJRAo0NDkwMDAw MCwgSVJRIDEyNwpbICAgMjIuNTE4ODYwXSByODE2OSAwMDAwOjAyOjAwLjAgZW5wMnMwOiByZW5h bWVkIGZyb20gZXRoMApbICAgMjkuNDU4MDQxXSBHZW5lcmljIFBIWSByODE2OS0yMDA6MDA6IGF0 dGFjaGVkIFBIWSBkcml2ZXIgW0dlbmVyaWMKUEhZXSAobWlpX2J1czpwaHlfYWRkcj1yODE2OS0y MDA6MDAsIGlycT1JR05PUkUpClsgICA2My4yMjczOThdIHI4MTY5IDAwMDA6MDI6MDAuMCBlbnAy czA6IExpbmsgaXMgVXAgLSAxMDBNYnBzL0Z1bGwgLQpmbG93IGNvbnRyb2wgb2ZmClsgIDEyNC41 MTQ2NDhdIEdlbmVyaWMgUEhZIHI4MTY5LTIwMDowMDogYXR0YWNoZWQgUEhZIGRyaXZlciBbR2Vu ZXJpYwpQSFldIChtaWlfYnVzOnBoeV9hZGRyPXI4MTY5LTIwMDowMCwgaXJxPUlHTk9SRSkKCkhl cmUgaXMgdGhlIGV0aGVybmV0IGNvbnRyb2xsZXIgaW4gZGV0YWlsOgoKMDI6MDAuMCBFdGhlcm5l dCBjb250cm9sbGVyIFswMjAwXTogUmVhbHRlayBTZW1pY29uZHVjdG9yIENvLiwgTHRkLgpSVEw4 MTAxLzIvNkUgUENJIEV4cHJlc3MgRmFzdC9HaWdhYml0IEV0aGVybmV0IGNvbnRyb2xsZXIgWzEw ZWM6ODEzNl0KKHJldiAwNykKCVN1YnN5c3RlbTogQVNVU1RlSyBDb21wdXRlciBJbmMuIFJUTDgx MHhFIFBDSSBFeHByZXNzIEZhc3QKRXRoZXJuZXQgY29udHJvbGxlciBbMTA0MzoyMDBmXQoJRmxh Z3M6IGJ1cyBtYXN0ZXIsIGZhc3QgZGV2c2VsLCBsYXRlbmN5IDAsIElSUSAxNgoJSS9PIHBvcnRz IGF0IGUwMDAgW3NpemU9MjU2XQoJTWVtb3J5IGF0IGVmMTAwMDAwICg2NC1iaXQsIG5vbi1wcmVm ZXRjaGFibGUpIFtzaXplPTRLXQoJTWVtb3J5IGF0IGUwMDAwMDAwICg2NC1iaXQsIHByZWZldGNo YWJsZSkgW3NpemU9MTZLXQoJQ2FwYWJpbGl0aWVzOiA8YWNjZXNzIGRlbmllZD4KCUtlcm5lbCBk cml2ZXIgaW4gdXNlOiByODE2OQoJS2VybmVsIG1vZHVsZXM6IHI4MTY5CgpGYWxsaW5nIGJhY2sg dG8gTVNJIGZpeGVzIHRoZSBpc3N1ZS4KCkZpeGVzOiA2YzZhYTE1ZmRlYTUgKCJyODE2OTogaW1w cm92ZSBpbnRlcnJ1cHQgaGFuZGxpbmciKQpTaWduZWQtb2ZmLWJ5OiBKaWFuLUhvbmcgUGFuIDxq aWFuLWhvbmdAZW5kbGVzc20uY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRh dmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVhbHRlay9yODE2 OS5jIHwgOSArKysrKystLS0KIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDMgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVhbHRlay9yODE2 OS5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVhbHRlay9yODE2OS5jCmluZGV4IGQxOTA2NTg1 N2FmZS4uZDNjNmNlMDc0NTcxIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9yZWFs dGVrL3I4MTY5LmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVhbHRlay9yODE2OS5jCkBA IC04MDYxLDE3ICs4MDYxLDIwIEBAIHN0YXRpYyBpbnQgcnRsX2FsbG9jX2lycShzdHJ1Y3QgcnRs ODE2OV9wcml2YXRlICp0cCkKIHsKIAl1bnNpZ25lZCBpbnQgZmxhZ3M7CiAKLQlpZiAodHAtPm1h Y192ZXJzaW9uIDw9IFJUTF9HSUdBX01BQ19WRVJfMDYpIHsKKwlzd2l0Y2ggKHRwLT5tYWNfdmVy c2lvbikgeworCWNhc2UgUlRMX0dJR0FfTUFDX1ZFUl8wMSAuLi4gUlRMX0dJR0FfTUFDX1ZFUl8w NjoKIAkJUlRMX1c4KHRwLCBDZmc5MzQ2LCBDZmc5MzQ2X1VubG9jayk7CiAJCVJUTF9XOCh0cCwg Q29uZmlnMiwgUlRMX1I4KHRwLCBDb25maWcyKSAmIH5NU0lFbmFibGUpOwogCQlSVExfVzgodHAs IENmZzkzNDYsIENmZzkzNDZfTG9jayk7CiAJCWZsYWdzID0gUENJX0lSUV9MRUdBQ1k7Ci0JfSBl bHNlIGlmICh0cC0+bWFjX3ZlcnNpb24gPT0gUlRMX0dJR0FfTUFDX1ZFUl80MCkgeworCQlicmVh azsKKwljYXNlIFJUTF9HSUdBX01BQ19WRVJfMzkgLi4uIFJUTF9HSUdBX01BQ19WRVJfNDA6CiAJ CS8qIFRoaXMgdmVyc2lvbiB3YXMgcmVwb3J0ZWQgdG8gaGF2ZSBpc3N1ZXMgd2l0aCByZXN1bWUK IAkJICogZnJvbSBzdXNwZW5kIHdoZW4gdXNpbmcgTVNJLVgKIAkJICovCiAJCWZsYWdzID0gUENJ X0lSUV9MRUdBQ1kgfCBQQ0lfSVJRX01TSTsKLQl9IGVsc2UgeworCQlicmVhazsKKwlkZWZhdWx0 OgogCQlmbGFncyA9IFBDSV9JUlFfQUxMX1RZUEVTOwogCX0KIAotLSAKMi4xNy4xCgoKRnJvbSBl NTMxYzljZDRkODdhZThjYzNiMWIyZDAyZTY1ZjVhMmFkYTJiYzRmIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBIYWlzaHVhbmcgWWFuIDx5YW5oYWlzaHVhbmdAY21zcy5jaGluYW1vYmls ZS5jb20+CkRhdGU6IFN1biwgMTkgQXVnIDIwMTggMTU6MDU6MDQgKzA4MDAKU3ViamVjdDogW1BB VENIIDUvOF0gaXBfdnRpOiBmaXggYSBudWxsIHBvaW50ZXIgZGVmZXJyZW5jZSB3aGVuIGNyZWF0 ZSB2dGkKIGZhbGxiYWNrIHR1bm5lbAoKWyBVcHN0cmVhbSBjb21taXQgY2QxYWE5YzJjNjY1Y2Fm YmQwNWI4MzUwN2QzZjEwOTZmMzkxMmFhNCBdCgpBZnRlciBzZXQgZmJfdHVubmVsc19vbmx5X2Zv cl9pbml0X25ldCB0byAxLCB0aGUgaXRuLT5mYl90dW5uZWxfZGV2IHdpbGwKYmUgTlVMTCBhbmQg d2lsbCBjYXVzZSBmb2xsb3dpbmcgY3Jhc2g6CgpbIDI3NDIuODQ5Mjk4XSBCVUc6IHVuYWJsZSB0 byBoYW5kbGUga2VybmVsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBhdCAwMDAwMDAwMDAwMDAw OTQxClsgMjc0Mi44NTEzODBdIFBHRCA4MDAwMDAwNDJjMjFhMDY3IFA0RCA4MDAwMDAwNDJjMjFh MDY3IFBVRCA0MmFhZWQwNjcgUE1EIDAKWyAyNzQyLjg1MjgxOF0gT29wczogMDAwMiBbIzFdIFNN UCBQVEkKWyAyNzQyLjg1MzU3MF0gQ1BVOiA3IFBJRDogMjQ4NCBDb21tOiB1bnNoYXJlIEtkdW1w OiBsb2FkZWQgTm90IHRhaW50ZWQgNC4xOC4wLXJjOCsgIzIKWyAyNzQyLjg1NTE2M10gSGFyZHdh cmUgbmFtZTogRmVkb3JhIFByb2plY3QgT3BlblN0YWNrIE5vdmEsIEJJT1Mgc2VhYmlvcy0xLjcu NS0xMS5lbDcgMDQvMDEvMjAxNApbIDI3NDIuODU2OTcwXSBSSVA6IDAwMTA6dnRpX2luaXRfbmV0 KzB4M2EvMHg1MCBbaXBfdnRpXQpbIDI3NDIuODU4MDM0XSBDb2RlOiA5MCA4MyBjMCA0OCBjNyBj MiAyMCBhMSA4MyBjMCA0OCA4OSBmYiBlOCA2ZSAzYiBmNiBmZiA4NSBjMCA3NSAyMiA4YiAwZCBm NCAxOSAwMCAwMCA0OCA4YiA5MyAwMCAxNCAwMCAwMCA0OCA4YiAxNCBjYSA0OCA4YiAxMiA8YzY+ IDgyIDQxIDA5IDAwIDAwIDA0IGM2IDgyIDM4IDA5IDAwIDAwIDQ1IDViIGMzIDY2IDBmIDFmIDQ0 IDAwIDAwClsgMjc0Mi44NjE5NDBdIFJTUDogMDAxODpmZmZmOWJlMjgyMDdmZGUwIEVGTEFHUzog MDAwMTAyNDYKWyAyNzQyLjg2MzA0NF0gUkFYOiAwMDAwMDAwMDAwMDAwMDAwIFJCWDogZmZmZjhh NzFlYmVkNDk4MCBSQ1g6IDAwMDAwMDAwMDAwMDAwMTMKWyAyNzQyLjg2NDU0MF0gUkRYOiAwMDAw MDAwMDAwMDAwMDAwIFJTSTogMDAwMDAwMDAwMDAwMDAxMyBSREk6IGZmZmY4YTcxZWJlZDQ5ODAK WyAyNzQyLjg2NjAyMF0gUkJQOiBmZmZmOGE3MWVhNzE3MDAwIFIwODogZmZmZmZmZmZjMDgzOTAz YyBSMDk6IGZmZmY4YTcxZWE3MTcwMDAKWyAyNzQyLjg2NzUwNV0gUjEwOiAwMDAwMDAwMDAwMDAw MDAwIFIxMTogMDAwMDAwMDAwMDAwMDAwMCBSMTI6IGZmZmY4YTcxZWJlZDQ5ODAKWyAyNzQyLjg2 ODk4N10gUjEzOiAwMDAwMDAwMDAwMDAwMDEzIFIxNDogZmZmZjhhNzFlYTViNDljMCBSMTU6IDAw MDAwMDAwMDAwMDAwMDAKWyAyNzQyLjg3MDQ3M10gRlM6ICAwMDAwN2YwMjI2NmM5NzQwKDAwMDAp IEdTOmZmZmY4YTcxZmZkYzAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMApbIDI3NDIu ODcyMTQzXSBDUzogIDAwMTAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMz ClsgMjc0Mi44NzMzNDBdIENSMjogMDAwMDAwMDAwMDAwMDk0MSBDUjM6IDAwMDAwMDA0MmJjMjAw MDYgQ1I0OiAwMDAwMDAwMDAwMTYwNmUwClsgMjc0Mi44NzQ4MjFdIENhbGwgVHJhY2U6ClsgMjc0 Mi44NzUzNThdICBvcHNfaW5pdCsweDM4LzB4ZjAKWyAyNzQyLjg3NjA3OF0gIHNldHVwX25ldCsw eGQ5LzB4MWYwClsgMjc0Mi44NzY3ODldICBjb3B5X25ldF9ucysweGI3LzB4MTMwClsgMjc0Mi44 Nzc1MzhdICBjcmVhdGVfbmV3X25hbWVzcGFjZXMrMHgxMWEvMHgxZDAKWyAyNzQyLjg3ODUyNV0g IHVuc2hhcmVfbnNwcm94eV9uYW1lc3BhY2VzKzB4NTUvMHhhMApbIDI3NDIuODc5NTI2XSAga3N5 c191bnNoYXJlKzB4MWE3LzB4MzMwClsgMjc0Mi44ODAzMTNdICBfX3g2NF9zeXNfdW5zaGFyZSsw eGUvMHgyMApbIDI3NDIuODgxMTMxXSAgZG9fc3lzY2FsbF82NCsweDViLzB4MTgwClsgMjc0Mi44 ODE5MzNdICBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0NC8weGE5CgpSZXByb2R1 Y2U6CmVjaG8gMSA+IC9wcm9jL3N5cy9uZXQvY29yZS9mYl90dW5uZWxzX29ubHlfZm9yX2luaXRf bmV0Cm1vZHByb2JlIGlwX3Z0aQp1bnNoYXJlIC1uCgpGaXhlczogNzkxMzRlNmNlMmM5ICgibmV0 OiBkbyBub3QgY3JlYXRlIGZhbGxiYWNrIHR1bm5lbHMgZm9yIG5vbi1kZWZhdWx0IG5hbWVzcGFj ZXMiKQpDYzogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5 OiBIYWlzaHVhbmcgWWFuIDx5YW5oYWlzaHVhbmdAY21zcy5jaGluYW1vYmlsZS5jb20+ClNpZ25l ZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQv aXB2NC9pcF92dGkuYyB8IDMgKystCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAx IGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvaXBfdnRpLmMgYi9uZXQvaXB2NC9p cF92dGkuYwppbmRleCAzZjA5MWNjYWQ5YWYuLmYzOGNiMjFkNzczZCAxMDA2NDQKLS0tIGEvbmV0 L2lwdjQvaXBfdnRpLmMKKysrIGIvbmV0L2lwdjQvaXBfdnRpLmMKQEAgLTQzOCw3ICs0MzgsOCBA QCBzdGF0aWMgaW50IF9fbmV0X2luaXQgdnRpX2luaXRfbmV0KHN0cnVjdCBuZXQgKm5ldCkKIAlp ZiAoZXJyKQogCQlyZXR1cm4gZXJyOwogCWl0biA9IG5ldF9nZW5lcmljKG5ldCwgdnRpX25ldF9p ZCk7Ci0JdnRpX2ZiX3R1bm5lbF9pbml0KGl0bi0+ZmJfdHVubmVsX2Rldik7CisJaWYgKGl0bi0+ ZmJfdHVubmVsX2RldikKKwkJdnRpX2ZiX3R1bm5lbF9pbml0KGl0bi0+ZmJfdHVubmVsX2Rldik7 CiAJcmV0dXJuIDA7CiB9CiAKLS0gCjIuMTcuMQoKCkZyb20gMDE3ODE0MTg4NzBmZTZhMjM1MGQ2 YTQxMDMxYjlkMmQ4MmY5ODNhZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSGFuZ2Jp biBMaXUgPGxpdWhhbmdiaW5AZ21haWwuY29tPgpEYXRlOiBUdWUsIDE0IEF1ZyAyMDE4IDE3OjI4 OjI2ICswODAwClN1YmplY3Q6IFtQQVRDSCA2LzhdIGNsc19tYXRjaGFsbDogZml4IHRjZl91bmJp bmRfZmlsdGVyIG1pc3NpbmcKClsgVXBzdHJlYW0gY29tbWl0IGE1MWM3NmI0ZGZiMzA0OTZkYzY1 Mzk2YTk1N2VmMGYwNmFmN2ZiMjIgXQoKRml4IHRjZl91bmJpbmRfZmlsdGVyIG1pc3NpbmcgaW4g Y2xzX21hdGNoYWxsIGFzIHRoaXMgd2lsbCB0cmlnZ2VyCldBUk5fT04oKSBpbiBjYnFfZGVzdHJv eV9jbGFzcygpLgoKRml4ZXM6IGZkNjJkOWY1YzU3NWYgKCJuZXQvc2NoZWQ6IG1hdGNoYWxsOiBG aXggY29uZmlndXJhdGlvbiByYWNlIikKUmVwb3J0ZWQtYnk6IExpIFNodWFuZyA8c2h1YWxpQHJl ZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IEhhbmdiaW4gTGl1IDxsaXVoYW5nYmluQGdtYWlsLmNv bT4KQWNrZWQtYnk6IENvbmcgV2FuZyA8eGl5b3Uud2FuZ2NvbmdAZ21haWwuY29tPgpTaWduZWQt b2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3Nj aGVkL2Nsc19tYXRjaGFsbC5jIHwgMiArKwogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygr KQoKZGlmZiAtLWdpdCBhL25ldC9zY2hlZC9jbHNfbWF0Y2hhbGwuYyBiL25ldC9zY2hlZC9jbHNf bWF0Y2hhbGwuYwppbmRleCAyYmE3MjFhNTkwYTcuLmE3NGI0ZDZlZTE4NiAxMDA2NDQKLS0tIGEv bmV0L3NjaGVkL2Nsc19tYXRjaGFsbC5jCisrKyBiL25ldC9zY2hlZC9jbHNfbWF0Y2hhbGwuYwpA QCAtMTIyLDYgKzEyMiw4IEBAIHN0YXRpYyB2b2lkIG1hbGxfZGVzdHJveShzdHJ1Y3QgdGNmX3By b3RvICp0cCwgc3RydWN0IG5ldGxpbmtfZXh0X2FjayAqZXh0YWNrKQogCWlmICghaGVhZCkKIAkJ cmV0dXJuOwogCisJdGNmX3VuYmluZF9maWx0ZXIodHAsICZoZWFkLT5yZXMpOworCiAJaWYgKCF0 Y19za2lwX2h3KGhlYWQtPmZsYWdzKSkKIAkJbWFsbF9kZXN0cm95X2h3X2ZpbHRlcih0cCwgaGVh ZCwgKHVuc2lnbmVkIGxvbmcpIGhlYWQsIGV4dGFjayk7CiAKLS0gCjIuMTcuMQoKCkZyb20gMTNi MWM2OTI2ZTY4NmYxOTVlNDAzOWY2MmY0OTM4NzU3ZmQ2OGVlMSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogQW5kcmV3IEx1bm4gPGFuZHJld0BsdW5uLmNoPgpEYXRlOiBXZWQsIDE4IEp1 bCAyMDE4IDE4OjEwOjUwICswMjAwClN1YmplY3Q6IFtQQVRDSCA3LzhdIG5ldDogZXRoZXJuZXQ6 IG12bmV0YTogRml4IG5hcGkgc3RydWN0dXJlIG1peHVwIG9uIGFybWFkYQogMzcwMAoKWyBVcHN0 cmVhbSBjb21taXQgN2E4NmYwNWZhZjExMjQ2M2NmYmJkZmQyMjIwMTJlMjQ3ZGU0NjFhMSBdCgpU aGUgbXZuZXRhIEV0aGVybmV0IGRyaXZlciBpcyB1c2VkIG9uIGEgZmV3IGRpZmZlcmVudCBNYXJ2 ZWxsIFNvQ3MuClNvbWUgU29DcyBoYXZlIHBlciBjcHUgaW50ZXJydXB0cyBmb3IgRXRoZXJuZXQg ZXZlbnRzLiBTb21lIFNvQ3MgaGF2ZQphIHNpbmdsZSBpbnRlcnJ1cHQsIGluZGVwZW5kZW50IG9m IHRoZSBDUFUuIFRoZSBkcml2ZXIgaGFuZGxlcyB0aGlzIGJ5CmhhdmluZyBhIHBlciBDUFUgbmFw aSBzdHJ1Y3R1cmUgd2hlbiB0aGVyZSBhcmUgcGVyIENQVSBpbnRlcnJ1cHRzLCBhbmQKYSBnbG9i YWwgbmFwaSBzdHJ1Y3R1cmUgd2hlbiB0aGVyZSBpcyBhIHNpbmdsZSBpbnRlcnJ1cHQuCgpXaGVu IHRoZSBuYXBpIGNvcmUgY2FsbHMgbXZuZXRhX3BvbGwoKSwgaXQgcGFzc2VzIHRoZSBuYXBpCmlu c3RhbmNlLiBUaGlzIHdhcyBub3QgYmVpbmcgcHJvcGFnYXRlZCB0aHJvdWdoIHRoZSBjYWxsIGNo YWluLCBhbmQKaW5zdGVhZCB0aGUgcGVyLWNwdSBuYXBpIGluc3RhbmNlIHdhcyBwYXNzZWQgdG8g bmFwaV9ncm9fcmVjZWl2ZSgpCmNhbGwuIFRoaXMgYnJlYWtzIHdoZW4gdGhlcmUgaXMgYSBzaW5n bGUgZ2xvYmFsIG5hcGkgaW5zdGFuY2UuCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgTHVubiA8YW5k cmV3QGx1bm4uY2g+CkZpeGVzOiAyNjM2YWMzY2MyYjQgKCJuZXQ6IG12bmV0YTogQWRkIG5ldHdv cmsgc3VwcG9ydCBmb3IgQXJtYWRhIDM3MDAgU29DIikKU2lnbmVkLW9mZi1ieTogR3JlZ29yeSBD TEVNRU5UIDxncmVnb3J5LmNsZW1lbnRAYm9vdGxpbi5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlk IFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5l dC9tYXJ2ZWxsL212bmV0YS5jIHwgMjIgKysrKysrKysrKysrLS0tLS0tLS0tLQogMSBmaWxlIGNo YW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvbXZuZXRhLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5l dC9tYXJ2ZWxsL212bmV0YS5jCmluZGV4IDBhZDJmM2Y3ZGE4NS4uZWM4NGRiNDdkODJkIDEwMDY0 NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL212bmV0YS5jCisrKyBiL2RyaXZl cnMvbmV0L2V0aGVybmV0L21hcnZlbGwvbXZuZXRhLmMKQEAgLTE5MDEsMTAgKzE5MDEsMTAgQEAg c3RhdGljIHZvaWQgbXZuZXRhX3J4cV9kcm9wX3BrdHMoc3RydWN0IG12bmV0YV9wb3J0ICpwcCwK IH0KIAogLyogTWFpbiByeCBwcm9jZXNzaW5nIHdoZW4gdXNpbmcgc29mdHdhcmUgYnVmZmVyIG1h bmFnZW1lbnQgKi8KLXN0YXRpYyBpbnQgbXZuZXRhX3J4X3N3Ym0oc3RydWN0IG12bmV0YV9wb3J0 ICpwcCwgaW50IHJ4X3RvZG8sCitzdGF0aWMgaW50IG12bmV0YV9yeF9zd2JtKHN0cnVjdCBuYXBp X3N0cnVjdCAqbmFwaSwKKwkJCSAgc3RydWN0IG12bmV0YV9wb3J0ICpwcCwgaW50IHJ4X3RvZG8s CiAJCQkgIHN0cnVjdCBtdm5ldGFfcnhfcXVldWUgKnJ4cSkKIHsKLQlzdHJ1Y3QgbXZuZXRhX3Bj cHVfcG9ydCAqcG9ydCA9IHRoaXNfY3B1X3B0cihwcC0+cG9ydHMpOwogCXN0cnVjdCBuZXRfZGV2 aWNlICpkZXYgPSBwcC0+ZGV2OwogCWludCByeF9kb25lOwogCXUzMiByY3ZkX3BrdHMgPSAwOwpA QCAtMTk1OSw3ICsxOTU5LDcgQEAgc3RhdGljIGludCBtdm5ldGFfcnhfc3dibShzdHJ1Y3QgbXZu ZXRhX3BvcnQgKnBwLCBpbnQgcnhfdG9kbywKIAogCQkJc2tiLT5wcm90b2NvbCA9IGV0aF90eXBl X3RyYW5zKHNrYiwgZGV2KTsKIAkJCW12bmV0YV9yeF9jc3VtKHBwLCByeF9zdGF0dXMsIHNrYik7 Ci0JCQluYXBpX2dyb19yZWNlaXZlKCZwb3J0LT5uYXBpLCBza2IpOworCQkJbmFwaV9ncm9fcmVj ZWl2ZShuYXBpLCBza2IpOwogCiAJCQlyY3ZkX3BrdHMrKzsKIAkJCXJjdmRfYnl0ZXMgKz0gcnhf Ynl0ZXM7CkBAIC0yMDAxLDcgKzIwMDEsNyBAQCBzdGF0aWMgaW50IG12bmV0YV9yeF9zd2JtKHN0 cnVjdCBtdm5ldGFfcG9ydCAqcHAsIGludCByeF90b2RvLAogCiAJCW12bmV0YV9yeF9jc3VtKHBw LCByeF9zdGF0dXMsIHNrYik7CiAKLQkJbmFwaV9ncm9fcmVjZWl2ZSgmcG9ydC0+bmFwaSwgc2ti KTsKKwkJbmFwaV9ncm9fcmVjZWl2ZShuYXBpLCBza2IpOwogCX0KIAogCWlmIChyY3ZkX3BrdHMp IHsKQEAgLTIwMjAsMTAgKzIwMjAsMTAgQEAgc3RhdGljIGludCBtdm5ldGFfcnhfc3dibShzdHJ1 Y3QgbXZuZXRhX3BvcnQgKnBwLCBpbnQgcnhfdG9kbywKIH0KIAogLyogTWFpbiByeCBwcm9jZXNz aW5nIHdoZW4gdXNpbmcgaGFyZHdhcmUgYnVmZmVyIG1hbmFnZW1lbnQgKi8KLXN0YXRpYyBpbnQg bXZuZXRhX3J4X2h3Ym0oc3RydWN0IG12bmV0YV9wb3J0ICpwcCwgaW50IHJ4X3RvZG8sCitzdGF0 aWMgaW50IG12bmV0YV9yeF9od2JtKHN0cnVjdCBuYXBpX3N0cnVjdCAqbmFwaSwKKwkJCSAgc3Ry dWN0IG12bmV0YV9wb3J0ICpwcCwgaW50IHJ4X3RvZG8sCiAJCQkgIHN0cnVjdCBtdm5ldGFfcnhf cXVldWUgKnJ4cSkKIHsKLQlzdHJ1Y3QgbXZuZXRhX3BjcHVfcG9ydCAqcG9ydCA9IHRoaXNfY3B1 X3B0cihwcC0+cG9ydHMpOwogCXN0cnVjdCBuZXRfZGV2aWNlICpkZXYgPSBwcC0+ZGV2OwogCWlu dCByeF9kb25lOwogCXUzMiByY3ZkX3BrdHMgPSAwOwpAQCAtMjA4NSw3ICsyMDg1LDcgQEAgc3Rh dGljIGludCBtdm5ldGFfcnhfaHdibShzdHJ1Y3QgbXZuZXRhX3BvcnQgKnBwLCBpbnQgcnhfdG9k bywKIAogCQkJc2tiLT5wcm90b2NvbCA9IGV0aF90eXBlX3RyYW5zKHNrYiwgZGV2KTsKIAkJCW12 bmV0YV9yeF9jc3VtKHBwLCByeF9zdGF0dXMsIHNrYik7Ci0JCQluYXBpX2dyb19yZWNlaXZlKCZw b3J0LT5uYXBpLCBza2IpOworCQkJbmFwaV9ncm9fcmVjZWl2ZShuYXBpLCBza2IpOwogCiAJCQly Y3ZkX3BrdHMrKzsKIAkJCXJjdmRfYnl0ZXMgKz0gcnhfYnl0ZXM7CkBAIC0yMTI5LDcgKzIxMjks NyBAQCBzdGF0aWMgaW50IG12bmV0YV9yeF9od2JtKHN0cnVjdCBtdm5ldGFfcG9ydCAqcHAsIGlu dCByeF90b2RvLAogCiAJCW12bmV0YV9yeF9jc3VtKHBwLCByeF9zdGF0dXMsIHNrYik7CiAKLQkJ bmFwaV9ncm9fcmVjZWl2ZSgmcG9ydC0+bmFwaSwgc2tiKTsKKwkJbmFwaV9ncm9fcmVjZWl2ZShu YXBpLCBza2IpOwogCX0KIAogCWlmIChyY3ZkX3BrdHMpIHsKQEAgLTI3MjIsOSArMjcyMiwxMSBA QCBzdGF0aWMgaW50IG12bmV0YV9wb2xsKHN0cnVjdCBuYXBpX3N0cnVjdCAqbmFwaSwgaW50IGJ1 ZGdldCkKIAlpZiAocnhfcXVldWUpIHsKIAkJcnhfcXVldWUgPSByeF9xdWV1ZSAtIDE7CiAJCWlm IChwcC0+Ym1fcHJpdikKLQkJCXJ4X2RvbmUgPSBtdm5ldGFfcnhfaHdibShwcCwgYnVkZ2V0LCAm cHAtPnJ4cXNbcnhfcXVldWVdKTsKKwkJCXJ4X2RvbmUgPSBtdm5ldGFfcnhfaHdibShuYXBpLCBw cCwgYnVkZ2V0LAorCQkJCQkJICZwcC0+cnhxc1tyeF9xdWV1ZV0pOwogCQllbHNlCi0JCQlyeF9k b25lID0gbXZuZXRhX3J4X3N3Ym0ocHAsIGJ1ZGdldCwgJnBwLT5yeHFzW3J4X3F1ZXVlXSk7CisJ CQlyeF9kb25lID0gbXZuZXRhX3J4X3N3Ym0obmFwaSwgcHAsIGJ1ZGdldCwKKwkJCQkJCSAmcHAt PnJ4cXNbcnhfcXVldWVdKTsKIAl9CiAKIAlpZiAocnhfZG9uZSA8IGJ1ZGdldCkgewotLSAKMi4x Ny4xCgoKRnJvbSBiYTY0OGMzZDQzYmQ3YTI1NWU0YWQyNGU5Njc3MzVlMGMzMjU0YzAyIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaXNoZW5nIFpoYW5nIDxKaXNoZW5nLlpoYW5nQHN5 bmFwdGljcy5jb20+CkRhdGU6IEZyaSwgMTAgQXVnIDIwMTggMTE6MzY6MjcgKzA4MDAKU3ViamVj dDogW1BBVENIIDgvOF0gbmV0OiBtdm5ldGE6IGZpeCBtdm5ldGFfY29uZmlnX3JzcyBvbiBhcm1h ZGEgMzcwMAoKWyBVcHN0cmVhbSBjb21taXQgMGY1YzZjMzBhMGY4YzYyOWI5MmVjZGFlZjYxYjMx NWM0M2ZkZTEwYSBdCgpUaGUgbXZuZXRhIEV0aGVybmV0IGRyaXZlciBpcyB1c2VkIG9uIGEgZmV3 IGRpZmZlcmVudCBNYXJ2ZWxsIFNvQ3MuClNvbWUgU29DcyBoYXZlIHBlciBjcHUgaW50ZXJydXB0 cyBmb3IgRXRoZXJuZXQgZXZlbnRzLCB0aGUgZHJpdmVyIHVzZXMKYSBwZXIgQ1BVIG5hcGkgc3Ry dWN0dXJlIGZvciB0aGlzIGNhc2UuIFNvbWUgU29DcyBzdWNoIGFzIGFybWFkYSAzNzAwCmhhdmUg YSBzaW5nbGUgaW50ZXJydXB0IGZvciBFdGhlcm5ldCBldmVudHMsIHRoZSBkcml2ZXIgdXNlcyBh IGdsb2JhbApuYXBpIHN0cnVjdHVyZSBmb3IgdGhpcyBjYXNlLgoKQ3VycmVudCBtdm5ldGFfY29u ZmlnX3JzcygpIGFsd2F5cyBvcGVyYXRlcyB0aGUgcGVyIGNwdSBuYXBpIHN0cnVjdHVyZS4KRml4 IGl0IGJ5IG9wZXJhdGluZyBhIGdsb2JhbCBuYXBpIGZvciAic2luZ2xlIGludGVycnVwdCIgY2Fz ZSwgYW5kIHBlcgpjcHUgbmFwaSBzdHJ1Y3R1cmUgZm9yIHJlbWFpbmluZyBjYXNlcy4KClNpZ25l ZC1vZmYtYnk6IEppc2hlbmcgWmhhbmcgPEppc2hlbmcuWmhhbmdAc3luYXB0aWNzLmNvbT4KRml4 ZXM6IDI2MzZhYzNjYzJiNCAoIm5ldDogbXZuZXRhOiBBZGQgbmV0d29yayBzdXBwb3J0IGZvciBB cm1hZGEgMzcwMCBTb0MiKQpSZXZpZXdlZC1ieTogQW5kcmV3IEx1bm4gPGFuZHJld0BsdW5uLmNo PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0t LQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9tdm5ldGEuYyB8IDMxICsrKysrKysrKysr KysrKysrLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDExIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvbXZu ZXRhLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL212bmV0YS5jCmluZGV4IGVjODRk YjQ3ZDgyZC4uODJhYzFkMTBmMjM5IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9t YXJ2ZWxsL212bmV0YS5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvbXZuZXRh LmMKQEAgLTQwMjAsMTMgKzQwMjAsMTggQEAgc3RhdGljIGludCAgbXZuZXRhX2NvbmZpZ19yc3Mo c3RydWN0IG12bmV0YV9wb3J0ICpwcCkKIAogCW9uX2VhY2hfY3B1KG12bmV0YV9wZXJjcHVfbWFz a19pbnRlcnJ1cHQsIHBwLCB0cnVlKTsKIAotCS8qIFdlIGhhdmUgdG8gc3luY2hyb25pc2Ugb24g dGhlIG5hcGkgb2YgZWFjaCBDUFUgKi8KLQlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkgewotCQlz dHJ1Y3QgbXZuZXRhX3BjcHVfcG9ydCAqcGNwdV9wb3J0ID0KLQkJCXBlcl9jcHVfcHRyKHBwLT5w b3J0cywgY3B1KTsKKwlpZiAoIXBwLT5uZXRhX2FybWFkYTM3MDApIHsKKwkJLyogV2UgaGF2ZSB0 byBzeW5jaHJvbmlzZSBvbiB0aGUgbmFwaSBvZiBlYWNoIENQVSAqLworCQlmb3JfZWFjaF9vbmxp bmVfY3B1KGNwdSkgeworCQkJc3RydWN0IG12bmV0YV9wY3B1X3BvcnQgKnBjcHVfcG9ydCA9CisJ CQkJcGVyX2NwdV9wdHIocHAtPnBvcnRzLCBjcHUpOwogCi0JCW5hcGlfc3luY2hyb25pemUoJnBj cHVfcG9ydC0+bmFwaSk7Ci0JCW5hcGlfZGlzYWJsZSgmcGNwdV9wb3J0LT5uYXBpKTsKKwkJCW5h cGlfc3luY2hyb25pemUoJnBjcHVfcG9ydC0+bmFwaSk7CisJCQluYXBpX2Rpc2FibGUoJnBjcHVf cG9ydC0+bmFwaSk7CisJCX0KKwl9IGVsc2UgeworCQluYXBpX3N5bmNocm9uaXplKCZwcC0+bmFw aSk7CisJCW5hcGlfZGlzYWJsZSgmcHAtPm5hcGkpOwogCX0KIAogCXBwLT5yeHFfZGVmID0gcHAt PmluZGlyWzBdOwpAQCAtNDA0MywxMiArNDA0OCwxNiBAQCBzdGF0aWMgaW50ICBtdm5ldGFfY29u ZmlnX3JzcyhzdHJ1Y3QgbXZuZXRhX3BvcnQgKnBwKQogCW12bmV0YV9wZXJjcHVfZWxlY3QocHAp OwogCXNwaW5fdW5sb2NrKCZwcC0+bG9jayk7CiAKLQkvKiBXZSBoYXZlIHRvIHN5bmNocm9uaXNl IG9uIHRoZSBuYXBpIG9mIGVhY2ggQ1BVICovCi0JZm9yX2VhY2hfb25saW5lX2NwdShjcHUpIHsK LQkJc3RydWN0IG12bmV0YV9wY3B1X3BvcnQgKnBjcHVfcG9ydCA9Ci0JCQlwZXJfY3B1X3B0cihw cC0+cG9ydHMsIGNwdSk7CisJaWYgKCFwcC0+bmV0YV9hcm1hZGEzNzAwKSB7CisJCS8qIFdlIGhh dmUgdG8gc3luY2hyb25pc2Ugb24gdGhlIG5hcGkgb2YgZWFjaCBDUFUgKi8KKwkJZm9yX2VhY2hf b25saW5lX2NwdShjcHUpIHsKKwkJCXN0cnVjdCBtdm5ldGFfcGNwdV9wb3J0ICpwY3B1X3BvcnQg PQorCQkJCXBlcl9jcHVfcHRyKHBwLT5wb3J0cywgY3B1KTsKIAotCQluYXBpX2VuYWJsZSgmcGNw dV9wb3J0LT5uYXBpKTsKKwkJCW5hcGlfZW5hYmxlKCZwY3B1X3BvcnQtPm5hcGkpOworCQl9CisJ fSBlbHNlIHsKKwkJbmFwaV9lbmFibGUoJnBwLT5uYXBpKTsKIAl9CiAKIAluZXRpZl90eF9zdGFy dF9hbGxfcXVldWVzKHBwLT5kZXYpOwotLSAKMi4xNy4xCgo= ----Next_Part(Mon_Aug_20_17_59_37_2018_914)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_418.mbox" RnJvbSBlMWUyMGE1ZDgxMDAzNzMzMGVjYzRkYmRjZjQwZGY0ZTcyOTNkMzUxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBLZWVzIENvb2sgPGtlZXNjb29rQGNocm9taXVtLm9yZz4KRGF0 ZTogV2VkLCAxNSBBdWcgMjAxOCAxMjoxNDowNSAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMS85XSBp c2RuOiBEaXNhYmxlIElJT0NEQkdWQVIKClsgVXBzdHJlYW0gY29tbWl0IDVlMjIwMDJhYTg4MDll MmVmYWIyZGE5NTg1NWY3M2Y2M2UxNGEzNmMgXQoKSXQgd2FzIHBvc3NpYmxlIHRvIGRpcmVjdGx5 IGxlYWsgdGhlIGtlcm5lbCBhZGRyZXNzIHdoZXJlIHRoZSBpc2RuX2RldgpzdHJ1Y3R1cmUgcG9p bnRlciB3YXMgc3RvcmVkLiBUaGlzIGlzIGEga2VybmVsIEFTTFIgYnlwYXNzIGZvciBhbnlvbmUK d2l0aCBhY2Nlc3MgdG8gdGhlIGlvY3RsLiBUaGUgY29kZSBoYWQgYmVlbiBwcmVzZW50IHNpbmNl IHRoZSBiZWdpbm5pbmcKb2YgZ2l0IGhpc3RvcnksIHRob3VnaCB0aGlzIHNob3VsZG4ndCBldmVy IGJlIG5lZWRlZCBmb3Igbm9ybWFsIG9wZXJhdGlvbiwKdGhlcmVmb3JlIHJlbW92ZSBpdC4KClJl cG9ydGVkLWJ5OiBBbCBWaXJvIDx2aXJvQHplbml2LmxpbnV4Lm9yZy51az4KQ2M6IEthcnN0ZW4g S2VpbCA8aXNkbkBsaW51eC1waW5naS5kZT4KU2lnbmVkLW9mZi1ieTogS2VlcyBDb29rIDxrZWVz Y29va0BjaHJvbWl1bS5vcmc+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1A ZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL2lzZG4vaTRsL2lzZG5fY29tbW9uLmMgfCA4ICst LS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDcgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9pc2RuL2k0bC9pc2RuX2NvbW1vbi5jIGIvZHJpdmVycy9pc2Ru L2k0bC9pc2RuX2NvbW1vbi5jCmluZGV4IDdhNTAxZGJlNzEyMy4uNmE1YjNmMDBmOWFkIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2lzZG4vaTRsL2lzZG5fY29tbW9uLmMKKysrIGIvZHJpdmVycy9pc2Ru L2k0bC9pc2RuX2NvbW1vbi5jCkBAIC0xNjQwLDEzICsxNjQwLDcgQEAgaXNkbl9pb2N0bChzdHJ1 Y3QgZmlsZSAqZmlsZSwgdWludCBjbWQsIHVsb25nIGFyZykKIAkJCX0gZWxzZQogCQkJCXJldHVy biAtRUlOVkFMOwogCQljYXNlIElJT0NEQkdWQVI6Ci0JCQlpZiAoYXJnKSB7Ci0JCQkJaWYgKGNv cHlfdG9fdXNlcihhcmdwLCAmZGV2LCBzaXplb2YodWxvbmcpKSkKLQkJCQkJcmV0dXJuIC1FRkFV TFQ7Ci0JCQkJcmV0dXJuIDA7Ci0JCQl9IGVsc2UKLQkJCQlyZXR1cm4gLUVJTlZBTDsKLQkJCWJy ZWFrOworCQkJcmV0dXJuIC1FSU5WQUw7CiAJCWRlZmF1bHQ6CiAJCQlpZiAoKGNtZCAmIElJT0NE UlZDVEwpID09IElJT0NEUlZDVEwpCiAJCQkJY21kID0gKChjbWQgPj4gX0lPQ19OUlNISUZUKSAm IF9JT0NfTlJNQVNLKSAmIElTRE5fRFJWSU9DVExfTUFTSzsKLS0gCjIuMTcuMQoKCkZyb20gZTI1 NzBkMzVlNWYzNWI4OTM2NzMxNTY3OTkyZjc3ZjI3MjNmMDY2YiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogSmVyZW15IENsaW5lIDxqY2xpbmVAcmVkaGF0LmNvbT4KRGF0ZTogTW9uLCAx MyBBdWcgMjAxOCAyMjoyMzoxMyArMDAwMApTdWJqZWN0OiBbUEFUQ0ggMi85XSBuZXQ6IHNvY2tf ZGlhZzogRml4IHNwZWN0cmUgdjEgZ2FkZ2V0IGluCiBfX3NvY2tfZGlhZ19jbWQoKQoKWyBVcHN0 cmVhbSBjb21taXQgNjZiNTFiMGEwMzQxZmQ0MmNlNjU3NzM5YmRhZTA1NjFiMDQxMGE4NSBdCgpy ZXEtPnNkaWFnX2ZhbWlseSBpcyBhIHVzZXItY29udHJvbGxlZCB2YWx1ZSB0aGF0J3MgdXNlZCBh cyBhbiBhcnJheQppbmRleC4gU2FuaXRpemUgaXQgYWZ0ZXIgdGhlIGJvdW5kcyBjaGVjayB0byBh dm9pZCBzcGVjdWxhdGl2ZQpvdXQtb2YtYm91bmRzIGFycmF5IGFjY2Vzcy4KClRoaXMgYWxzbyBw cm90ZWN0cyB0aGUgc29ja19pc19yZWdpc3RlcmVkKCkgY2FsbCwgc28gdGhpcyByZW1vdmVzIHRo ZQpzYW5pdGl6ZSBjYWxsIHRoZXJlLgoKRml4ZXM6IGU5NzhkZTdhNmQzOCAoIm5ldDogc29ja2V0 OiBGaXggcG90ZW50aWFsIHNwZWN0cmUgdjEgZ2FkZ2V0IGluIHNvY2tfaXNfcmVnaXN0ZXJlZCIp CkNjOiBKb3NoIFBvaW1ib2V1ZiA8anBvaW1ib2VAcmVkaGF0LmNvbT4KQ2M6IGtvbnJhZC53aWxr QG9yYWNsZS5jb20KQ2M6IGphbWllLmlsZXNAb3JhY2xlLmNvbQpDYzogbGlyYW4uYWxvbkBvcmFj bGUuY29tCkNjOiBzdGFibGVAdmdlci5rZXJuZWwub3JnClNpZ25lZC1vZmYtYnk6IEplcmVteSBD bGluZSA8amNsaW5lQHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8 ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvY29yZS9zb2NrX2RpYWcuYyB8IDIgKysKIG5l dC9zb2NrZXQuYyAgICAgICAgIHwgMyArLS0KIDIgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25z KCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9jb3JlL3NvY2tfZGlhZy5jIGIv bmV0L2NvcmUvc29ja19kaWFnLmMKaW5kZXggYzM3YjViZTdjNWU0Li4zMzEyYTU4NDlhOTcgMTAw NjQ0Ci0tLSBhL25ldC9jb3JlL3NvY2tfZGlhZy5jCisrKyBiL25ldC9jb3JlL3NvY2tfZGlhZy5j CkBAIC0xMCw2ICsxMCw3IEBACiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8 bGludXgvdGNwLmg+CiAjaW5jbHVkZSA8bGludXgvd29ya3F1ZXVlLmg+CisjaW5jbHVkZSA8bGlu dXgvbm9zcGVjLmg+CiAKICNpbmNsdWRlIDxsaW51eC9pbmV0X2RpYWcuaD4KICNpbmNsdWRlIDxs aW51eC9zb2NrX2RpYWcuaD4KQEAgLTIxOCw2ICsyMTksNyBAQCBzdGF0aWMgaW50IF9fc29ja19k aWFnX2NtZChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3Qgbmxtc2doZHIgKm5saCkKIAogCWlm IChyZXEtPnNkaWFnX2ZhbWlseSA+PSBBRl9NQVgpCiAJCXJldHVybiAtRUlOVkFMOworCXJlcS0+ c2RpYWdfZmFtaWx5ID0gYXJyYXlfaW5kZXhfbm9zcGVjKHJlcS0+c2RpYWdfZmFtaWx5LCBBRl9N QVgpOwogCiAJaWYgKHNvY2tfZGlhZ19oYW5kbGVyc1tyZXEtPnNkaWFnX2ZhbWlseV0gPT0gTlVM TCkKIAkJc29ja19sb2FkX2RpYWdfbW9kdWxlKHJlcS0+c2RpYWdfZmFtaWx5LCAwKTsKZGlmZiAt LWdpdCBhL25ldC9zb2NrZXQuYyBiL25ldC9zb2NrZXQuYwppbmRleCA4YzI0ZDVkYzRiYzguLjRh YzNiODM0Y2NlOSAxMDA2NDQKLS0tIGEvbmV0L3NvY2tldC5jCisrKyBiL25ldC9zb2NrZXQuYwpA QCAtMjY5MCw4ICsyNjkwLDcgQEAgRVhQT1JUX1NZTUJPTChzb2NrX3VucmVnaXN0ZXIpOwogCiBi b29sIHNvY2tfaXNfcmVnaXN0ZXJlZChpbnQgZmFtaWx5KQogewotCXJldHVybiBmYW1pbHkgPCBO UFJPVE8gJiYKLQkJcmN1X2FjY2Vzc19wb2ludGVyKG5ldF9mYW1pbGllc1thcnJheV9pbmRleF9u b3NwZWMoZmFtaWx5LCBOUFJPVE8pXSk7CisJcmV0dXJuIGZhbWlseSA8IE5QUk9UTyAmJiByY3Vf YWNjZXNzX3BvaW50ZXIobmV0X2ZhbWlsaWVzW2ZhbWlseV0pOwogfQogCiBzdGF0aWMgaW50IF9f aW5pdCBzb2NrX2luaXQodm9pZCkKLS0gCjIuMTcuMQoKCkZyb20gM2Q5YWVmOGU3NTA1MmRmMDI0 ODBkMWNkM2ViOTQzOGUxNmI2ZjU3MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogVGFr YXNoaSBJd2FpIDx0aXdhaUBzdXNlLmRlPgpEYXRlOiBUdWUsIDE0IEF1ZyAyMDE4IDE5OjEwOjUw ICswMjAwClN1YmplY3Q6IFtQQVRDSCAzLzldIGh2L25ldHZzYzogRml4IE5VTEwgZGVyZWZlcmVu Y2UgYXQgc2luZ2xlIHF1ZXVlIG1vZGUKIGZhbGxiYWNrCgpbIFVwc3RyZWFtIGNvbW1pdCBiMTli NDYzNDZmNDgzYWUwNTVmYTAyN2NiMmQ1YzJjYTkxNDg0YjkxIF0KClRoZSByZWNlbnQgY29tbWl0 IDkxNmM1ZTE0MTNiZSAoImh2L25ldHZzYzogZml4IGhhbmRsaW5nIG9mIGZhbGxiYWNrCnRvIHNp bmdsZSBxdWV1ZSBtb2RlIikgdHJpZWQgdG8gZml4IHRoZSBmYWxsYmFjayBiZWhhdmlvciB0byBh IHNpbmdsZQpxdWV1ZSBtb2RlLCBidXQgaXQgY2hhbmdlZCB0aGUgZnVuY3Rpb24gdG8gcmV0dXJu IHplcm8gaW5jb3JyZWN0bHksCndoaWxlIHRoZSBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIGFuIG9i amVjdCBwb2ludGVyLiAgRXZlbnR1YWxseSB0aGlzCmxlYWRzIHRvIGEgTlVMTCBkZXJlZmVyZW5j ZSBhdCB0aGUgY2FsbGVycyB0aGF0IGV4cGVjdCBub24tTlVMTAp2YWx1ZS4KCkZpeCBpdCBieSBy ZXR1cm5pbmcgdGhlIHByb3BlciBuZXRfZGV2aWNlIG9iamVjdC4KCkZpeGVzOiA5MTZjNWUxNDEz YmUgKCJodi9uZXR2c2M6IGZpeCBoYW5kbGluZyBvZiBmYWxsYmFjayB0byBzaW5nbGUgcXVldWUg bW9kZSIpClNpZ25lZC1vZmYtYnk6IFRha2FzaGkgSXdhaSA8dGl3YWlAc3VzZS5kZT4KUmV2aWV3 ZWQtYnk6IFN0ZXBoZW4gSGVtbWluZ2VyIDxzdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9yZz4KU2ln bmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRy aXZlcnMvbmV0L2h5cGVydi9ybmRpc19maWx0ZXIuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAx IGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2h5 cGVydi9ybmRpc19maWx0ZXIuYyBiL2RyaXZlcnMvbmV0L2h5cGVydi9ybmRpc19maWx0ZXIuYwpp bmRleCA0MDhlY2UyNzEzMWMuLjJhNTIwOWYyM2YyOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQv aHlwZXJ2L3JuZGlzX2ZpbHRlci5jCisrKyBiL2RyaXZlcnMvbmV0L2h5cGVydi9ybmRpc19maWx0 ZXIuYwpAQCAtMTMzOCw3ICsxMzM4LDcgQEAgc3RydWN0IG5ldHZzY19kZXZpY2UgKnJuZGlzX2Zp bHRlcl9kZXZpY2VfYWRkKHN0cnVjdCBodl9kZXZpY2UgKmRldiwKIAkvKiBzZXR0aW5nIHVwIG11 bHRpcGxlIGNoYW5uZWxzIGZhaWxlZCAqLwogCW5ldF9kZXZpY2UtPm1heF9jaG4gPSAxOwogCW5l dF9kZXZpY2UtPm51bV9jaG4gPSAxOwotCXJldHVybiAwOworCXJldHVybiBuZXRfZGV2aWNlOwog CiBlcnJfZGV2X3JlbXY6CiAJcm5kaXNfZmlsdGVyX2RldmljZV9yZW1vdmUoZGV2LCBuZXRfZGV2 aWNlKTsKLS0gCjIuMTcuMQoKCkZyb20gZTQ3NDBlOGRhNTI4OGM3Mjk3ZThmNDJmMmE3NzZmMTlj YjM2YmE2NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSGVpbmVyIEthbGx3ZWl0IDxo a2FsbHdlaXQxQGdtYWlsLmNvbT4KRGF0ZTogU3VuLCAxMiBBdWcgMjAxOCAxMzoyNjoyNiArMDIw MApTdWJqZWN0OiBbUEFUQ0ggNC85XSByODE2OTogZG9uJ3QgdXNlIE1TSS1YIG9uIFJUTDgxNjhn CgpbIFVwc3RyZWFtIGNvbW1pdCA3YzUzYTcyMjQ1OWMxZDZmZmIwZjViMjA1OGMwNmNhODk4MGI4 NjAwIF0KClRoZXJlIGhhdmUgYmVlbiB0d28gcmVwb3J0cyB0aGF0IG5ldHdvcmsgZG9lc24ndCBj b21lIGJhY2sgb24gcmVzdW1lCmZyb20gc3VzcGVuZCB3aGVuIHVzaW5nIE1TSS1YLiBCb3RoIGNh c2VzIGFmZmVjdCB0aGUgc2FtZSBjaGlwIHZlcnNpb24KKFJUTDgxNjhnIC0gdmVyc2lvbiA0MCks IG9uIGRpZmZlcmVudCBzeXN0ZW1zLiBGYWxsaW5nIGJhY2sgdG8gTVNJCmZpeGVzIHRoZSBpc3N1 ZS4KRXZlbiB0aG91Z2ggd2UgZG9uJ3QgcmVhbGx5IGhhdmUgYSBwcm9vZiB5ZXQgdGhhdCB0aGUg bmV0d29yayBjaGlwCnZlcnNpb24gaXMgdG8gYmxhbWUsIGxldCdzIGRpc2FibGUgTVNJLVggZm9y IHRoaXMgdmVyc2lvbi4KClJlcG9ydGVkLWJ5OiBTdGV2ZSBEb2RkIDxzdGV2ZWQ0MjRAZ21haWwu Y29tPgpSZXBvcnRlZC1ieTogTG91IFJlZWQgPGdvZ2VuQGRpc3Jvb3Qub3JnPgpUZXN0ZWQtYnk6 IFN0ZXZlIERvZGQgPHN0ZXZlZDQyNEBnbWFpbC5jb20+ClRlc3RlZC1ieTogTG91IFJlZWQgPGdv Z2VuQGRpc3Jvb3Qub3JnPgpGaXhlczogNmM2YWExNWZkZWE1ICgicjgxNjk6IGltcHJvdmUgaW50 ZXJydXB0IGhhbmRsaW5nIikKU2lnbmVkLW9mZi1ieTogSGVpbmVyIEthbGx3ZWl0IDxoa2FsbHdl aXQxQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZl bWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L3JlYWx0ZWsvcjgxNjkuYyB8IDUg KysrKysKIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL25ldC9ldGhlcm5ldC9yZWFsdGVrL3I4MTY5LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9y ZWFsdGVrL3I4MTY5LmMKaW5kZXggZWFlZGMxMWVkNjg2Li5hMDMxMWZlMWE0NTcgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3JlYWx0ZWsvcjgxNjkuYworKysgYi9kcml2ZXJzL25l dC9ldGhlcm5ldC9yZWFsdGVrL3I4MTY5LmMKQEAgLTc1NDQsNiArNzU0NCwxMSBAQCBzdGF0aWMg aW50IHJ0bF9hbGxvY19pcnEoc3RydWN0IHJ0bDgxNjlfcHJpdmF0ZSAqdHApCiAJCVJUTF9XOCh0 cCwgQ29uZmlnMiwgUlRMX1I4KHRwLCBDb25maWcyKSAmIH5NU0lFbmFibGUpOwogCQlSVExfVzgo dHAsIENmZzkzNDYsIENmZzkzNDZfTG9jayk7CiAJCWZsYWdzID0gUENJX0lSUV9MRUdBQ1k7CisJ fSBlbHNlIGlmICh0cC0+bWFjX3ZlcnNpb24gPT0gUlRMX0dJR0FfTUFDX1ZFUl80MCkgeworCQkv KiBUaGlzIHZlcnNpb24gd2FzIHJlcG9ydGVkIHRvIGhhdmUgaXNzdWVzIHdpdGggcmVzdW1lCisJ CSAqIGZyb20gc3VzcGVuZCB3aGVuIHVzaW5nIE1TSS1YCisJCSAqLworCQlmbGFncyA9IFBDSV9J UlFfTEVHQUNZIHwgUENJX0lSUV9NU0k7CiAJfSBlbHNlIHsKIAkJZmxhZ3MgPSBQQ0lfSVJRX0FM TF9UWVBFUzsKIAl9Ci0tIAoyLjE3LjEKCgpGcm9tIDA5MzhhZTg0OWE4YWM5NDBhNTEyNzY5MTU5 YTQ5NjU1YzAwOTZiNTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEppYW4tSG9uZyBQ YW4gPGppYW4taG9uZ0BlbmRsZXNzbS5jb20+CkRhdGU6IEZyaSwgMTcgQXVnIDIwMTggMTM6MDc6 MzUgKzA4MDAKU3ViamVjdDogW1BBVENIIDUvOV0gcjgxNjk6IGRvbid0IHVzZSBNU0ktWCBvbiBS VEw4MTA2ZQoKWyBVcHN0cmVhbSBjb21taXQgN2JiMDViODViYzJkMWExYjY0N2I5MTQyNGIyZWQ0 YTE4ZTZlY2Q4MSBdCgpGb3VuZCB0aGUgZXRoZXJuZXQgbmV0d29yayBvbiBBU1VTIFg0NDFVQVIg ZG9lc24ndCBjb21lIGJhY2sgb24gcmVzdW1lCmZyb20gc3VzcGVuZCB3aGVuIHVzaW5nIE1TSS1Y LiAgVGhlIGNoaXAgaXMgUlRMODEwNmUgLSB2ZXJzaW9uIDM5LgoKWyAgIDIxLjg0ODM1N10gbGli cGh5OiByODE2OTogcHJvYmVkClsgICAyMS44NDg0NzNdIHI4MTY5IDAwMDA6MDI6MDAuMCBldGgw OiBSVEw4MTA2ZSwgMGM6OWQ6OTI6MzI6Njc6YjQsIFhJRAo0NDkwMDAwMCwgSVJRIDEyNwpbICAg MjIuNTE4ODYwXSByODE2OSAwMDAwOjAyOjAwLjAgZW5wMnMwOiByZW5hbWVkIGZyb20gZXRoMApb ICAgMjkuNDU4MDQxXSBHZW5lcmljIFBIWSByODE2OS0yMDA6MDA6IGF0dGFjaGVkIFBIWSBkcml2 ZXIgW0dlbmVyaWMKUEhZXSAobWlpX2J1czpwaHlfYWRkcj1yODE2OS0yMDA6MDAsIGlycT1JR05P UkUpClsgICA2My4yMjczOThdIHI4MTY5IDAwMDA6MDI6MDAuMCBlbnAyczA6IExpbmsgaXMgVXAg LSAxMDBNYnBzL0Z1bGwgLQpmbG93IGNvbnRyb2wgb2ZmClsgIDEyNC41MTQ2NDhdIEdlbmVyaWMg UEhZIHI4MTY5LTIwMDowMDogYXR0YWNoZWQgUEhZIGRyaXZlciBbR2VuZXJpYwpQSFldIChtaWlf YnVzOnBoeV9hZGRyPXI4MTY5LTIwMDowMCwgaXJxPUlHTk9SRSkKCkhlcmUgaXMgdGhlIGV0aGVy bmV0IGNvbnRyb2xsZXIgaW4gZGV0YWlsOgoKMDI6MDAuMCBFdGhlcm5ldCBjb250cm9sbGVyIFsw MjAwXTogUmVhbHRlayBTZW1pY29uZHVjdG9yIENvLiwgTHRkLgpSVEw4MTAxLzIvNkUgUENJIEV4 cHJlc3MgRmFzdC9HaWdhYml0IEV0aGVybmV0IGNvbnRyb2xsZXIgWzEwZWM6ODEzNl0KKHJldiAw NykKCVN1YnN5c3RlbTogQVNVU1RlSyBDb21wdXRlciBJbmMuIFJUTDgxMHhFIFBDSSBFeHByZXNz IEZhc3QKRXRoZXJuZXQgY29udHJvbGxlciBbMTA0MzoyMDBmXQoJRmxhZ3M6IGJ1cyBtYXN0ZXIs IGZhc3QgZGV2c2VsLCBsYXRlbmN5IDAsIElSUSAxNgoJSS9PIHBvcnRzIGF0IGUwMDAgW3NpemU9 MjU2XQoJTWVtb3J5IGF0IGVmMTAwMDAwICg2NC1iaXQsIG5vbi1wcmVmZXRjaGFibGUpIFtzaXpl PTRLXQoJTWVtb3J5IGF0IGUwMDAwMDAwICg2NC1iaXQsIHByZWZldGNoYWJsZSkgW3NpemU9MTZL XQoJQ2FwYWJpbGl0aWVzOiA8YWNjZXNzIGRlbmllZD4KCUtlcm5lbCBkcml2ZXIgaW4gdXNlOiBy ODE2OQoJS2VybmVsIG1vZHVsZXM6IHI4MTY5CgpGYWxsaW5nIGJhY2sgdG8gTVNJIGZpeGVzIHRo ZSBpc3N1ZS4KCkZpeGVzOiA2YzZhYTE1ZmRlYTUgKCJyODE2OTogaW1wcm92ZSBpbnRlcnJ1cHQg aGFuZGxpbmciKQpTaWduZWQtb2ZmLWJ5OiBKaWFuLUhvbmcgUGFuIDxqaWFuLWhvbmdAZW5kbGVz c20uY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5u ZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVhbHRlay9yODE2OS5jIHwgOSArKysrKyst LS0KIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVhbHRlay9yODE2OS5jIGIvZHJpdmVycy9u ZXQvZXRoZXJuZXQvcmVhbHRlay9yODE2OS5jCmluZGV4IGEwMzExZmUxYTQ1Ny4uOWNlYjM0YmFj M2E5IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9yZWFsdGVrL3I4MTY5LmMKKysr IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVhbHRlay9yODE2OS5jCkBAIC03NTM5LDE3ICs3NTM5 LDIwIEBAIHN0YXRpYyBpbnQgcnRsX2FsbG9jX2lycShzdHJ1Y3QgcnRsODE2OV9wcml2YXRlICp0 cCkKIHsKIAl1bnNpZ25lZCBpbnQgZmxhZ3M7CiAKLQlpZiAodHAtPm1hY192ZXJzaW9uIDw9IFJU TF9HSUdBX01BQ19WRVJfMDYpIHsKKwlzd2l0Y2ggKHRwLT5tYWNfdmVyc2lvbikgeworCWNhc2Ug UlRMX0dJR0FfTUFDX1ZFUl8wMSAuLi4gUlRMX0dJR0FfTUFDX1ZFUl8wNjoKIAkJUlRMX1c4KHRw LCBDZmc5MzQ2LCBDZmc5MzQ2X1VubG9jayk7CiAJCVJUTF9XOCh0cCwgQ29uZmlnMiwgUlRMX1I4 KHRwLCBDb25maWcyKSAmIH5NU0lFbmFibGUpOwogCQlSVExfVzgodHAsIENmZzkzNDYsIENmZzkz NDZfTG9jayk7CiAJCWZsYWdzID0gUENJX0lSUV9MRUdBQ1k7Ci0JfSBlbHNlIGlmICh0cC0+bWFj X3ZlcnNpb24gPT0gUlRMX0dJR0FfTUFDX1ZFUl80MCkgeworCQlicmVhazsKKwljYXNlIFJUTF9H SUdBX01BQ19WRVJfMzkgLi4uIFJUTF9HSUdBX01BQ19WRVJfNDA6CiAJCS8qIFRoaXMgdmVyc2lv biB3YXMgcmVwb3J0ZWQgdG8gaGF2ZSBpc3N1ZXMgd2l0aCByZXN1bWUKIAkJICogZnJvbSBzdXNw ZW5kIHdoZW4gdXNpbmcgTVNJLVgKIAkJICovCiAJCWZsYWdzID0gUENJX0lSUV9MRUdBQ1kgfCBQ Q0lfSVJRX01TSTsKLQl9IGVsc2UgeworCQlicmVhazsKKwlkZWZhdWx0OgogCQlmbGFncyA9IFBD SV9JUlFfQUxMX1RZUEVTOwogCX0KIAotLSAKMi4xNy4xCgoKRnJvbSA5YzRkNjFiMjZjNzJhMTAw ZGE4ZTc3YmFiMDI3MTdhYjhjNTgyZGRlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBI YWlzaHVhbmcgWWFuIDx5YW5oYWlzaHVhbmdAY21zcy5jaGluYW1vYmlsZS5jb20+CkRhdGU6IFN1 biwgMTkgQXVnIDIwMTggMTU6MDU6MDQgKzA4MDAKU3ViamVjdDogW1BBVENIIDYvOV0gaXBfdnRp OiBmaXggYSBudWxsIHBvaW50ZXIgZGVmZXJyZW5jZSB3aGVuIGNyZWF0ZSB2dGkKIGZhbGxiYWNr IHR1bm5lbAoKWyBVcHN0cmVhbSBjb21taXQgY2QxYWE5YzJjNjY1Y2FmYmQwNWI4MzUwN2QzZjEw OTZmMzkxMmFhNCBdCgpBZnRlciBzZXQgZmJfdHVubmVsc19vbmx5X2Zvcl9pbml0X25ldCB0byAx LCB0aGUgaXRuLT5mYl90dW5uZWxfZGV2IHdpbGwKYmUgTlVMTCBhbmQgd2lsbCBjYXVzZSBmb2xs b3dpbmcgY3Jhc2g6CgpbIDI3NDIuODQ5Mjk4XSBCVUc6IHVuYWJsZSB0byBoYW5kbGUga2VybmVs IE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBhdCAwMDAwMDAwMDAwMDAwOTQxClsgMjc0Mi44NTEz ODBdIFBHRCA4MDAwMDAwNDJjMjFhMDY3IFA0RCA4MDAwMDAwNDJjMjFhMDY3IFBVRCA0MmFhZWQw NjcgUE1EIDAKWyAyNzQyLjg1MjgxOF0gT29wczogMDAwMiBbIzFdIFNNUCBQVEkKWyAyNzQyLjg1 MzU3MF0gQ1BVOiA3IFBJRDogMjQ4NCBDb21tOiB1bnNoYXJlIEtkdW1wOiBsb2FkZWQgTm90IHRh aW50ZWQgNC4xOC4wLXJjOCsgIzIKWyAyNzQyLjg1NTE2M10gSGFyZHdhcmUgbmFtZTogRmVkb3Jh IFByb2plY3QgT3BlblN0YWNrIE5vdmEsIEJJT1Mgc2VhYmlvcy0xLjcuNS0xMS5lbDcgMDQvMDEv MjAxNApbIDI3NDIuODU2OTcwXSBSSVA6IDAwMTA6dnRpX2luaXRfbmV0KzB4M2EvMHg1MCBbaXBf dnRpXQpbIDI3NDIuODU4MDM0XSBDb2RlOiA5MCA4MyBjMCA0OCBjNyBjMiAyMCBhMSA4MyBjMCA0 OCA4OSBmYiBlOCA2ZSAzYiBmNiBmZiA4NSBjMCA3NSAyMiA4YiAwZCBmNCAxOSAwMCAwMCA0OCA4 YiA5MyAwMCAxNCAwMCAwMCA0OCA4YiAxNCBjYSA0OCA4YiAxMiA8YzY+IDgyIDQxIDA5IDAwIDAw IDA0IGM2IDgyIDM4IDA5IDAwIDAwIDQ1IDViIGMzIDY2IDBmIDFmIDQ0IDAwIDAwClsgMjc0Mi44 NjE5NDBdIFJTUDogMDAxODpmZmZmOWJlMjgyMDdmZGUwIEVGTEFHUzogMDAwMTAyNDYKWyAyNzQy Ljg2MzA0NF0gUkFYOiAwMDAwMDAwMDAwMDAwMDAwIFJCWDogZmZmZjhhNzFlYmVkNDk4MCBSQ1g6 IDAwMDAwMDAwMDAwMDAwMTMKWyAyNzQyLjg2NDU0MF0gUkRYOiAwMDAwMDAwMDAwMDAwMDAwIFJT STogMDAwMDAwMDAwMDAwMDAxMyBSREk6IGZmZmY4YTcxZWJlZDQ5ODAKWyAyNzQyLjg2NjAyMF0g UkJQOiBmZmZmOGE3MWVhNzE3MDAwIFIwODogZmZmZmZmZmZjMDgzOTAzYyBSMDk6IGZmZmY4YTcx ZWE3MTcwMDAKWyAyNzQyLjg2NzUwNV0gUjEwOiAwMDAwMDAwMDAwMDAwMDAwIFIxMTogMDAwMDAw MDAwMDAwMDAwMCBSMTI6IGZmZmY4YTcxZWJlZDQ5ODAKWyAyNzQyLjg2ODk4N10gUjEzOiAwMDAw MDAwMDAwMDAwMDEzIFIxNDogZmZmZjhhNzFlYTViNDljMCBSMTU6IDAwMDAwMDAwMDAwMDAwMDAK WyAyNzQyLjg3MDQ3M10gRlM6ICAwMDAwN2YwMjI2NmM5NzQwKDAwMDApIEdTOmZmZmY4YTcxZmZk YzAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMApbIDI3NDIuODcyMTQzXSBDUzogIDAw MTAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzClsgMjc0Mi44NzMzNDBd IENSMjogMDAwMDAwMDAwMDAwMDk0MSBDUjM6IDAwMDAwMDA0MmJjMjAwMDYgQ1I0OiAwMDAwMDAw MDAwMTYwNmUwClsgMjc0Mi44NzQ4MjFdIENhbGwgVHJhY2U6ClsgMjc0Mi44NzUzNThdICBvcHNf aW5pdCsweDM4LzB4ZjAKWyAyNzQyLjg3NjA3OF0gIHNldHVwX25ldCsweGQ5LzB4MWYwClsgMjc0 Mi44NzY3ODldICBjb3B5X25ldF9ucysweGI3LzB4MTMwClsgMjc0Mi44Nzc1MzhdICBjcmVhdGVf bmV3X25hbWVzcGFjZXMrMHgxMWEvMHgxZDAKWyAyNzQyLjg3ODUyNV0gIHVuc2hhcmVfbnNwcm94 eV9uYW1lc3BhY2VzKzB4NTUvMHhhMApbIDI3NDIuODc5NTI2XSAga3N5c191bnNoYXJlKzB4MWE3 LzB4MzMwClsgMjc0Mi44ODAzMTNdICBfX3g2NF9zeXNfdW5zaGFyZSsweGUvMHgyMApbIDI3NDIu ODgxMTMxXSAgZG9fc3lzY2FsbF82NCsweDViLzB4MTgwClsgMjc0Mi44ODE5MzNdICBlbnRyeV9T WVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0NC8weGE5CgpSZXByb2R1Y2U6CmVjaG8gMSA+IC9w cm9jL3N5cy9uZXQvY29yZS9mYl90dW5uZWxzX29ubHlfZm9yX2luaXRfbmV0Cm1vZHByb2JlIGlw X3Z0aQp1bnNoYXJlIC1uCgpGaXhlczogNzkxMzRlNmNlMmM5ICgibmV0OiBkbyBub3QgY3JlYXRl IGZhbGxiYWNrIHR1bm5lbHMgZm9yIG5vbi1kZWZhdWx0IG5hbWVzcGFjZXMiKQpDYzogRXJpYyBE dW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBIYWlzaHVhbmcgWWFu IDx5YW5oYWlzaHVhbmdAY21zcy5jaGluYW1vYmlsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlk IFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2NC9pcF92dGkuYyB8 IDMgKystCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpk aWZmIC0tZ2l0IGEvbmV0L2lwdjQvaXBfdnRpLmMgYi9uZXQvaXB2NC9pcF92dGkuYwppbmRleCAz ZjA5MWNjYWQ5YWYuLmYzOGNiMjFkNzczZCAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvaXBfdnRpLmMK KysrIGIvbmV0L2lwdjQvaXBfdnRpLmMKQEAgLTQzOCw3ICs0MzgsOCBAQCBzdGF0aWMgaW50IF9f bmV0X2luaXQgdnRpX2luaXRfbmV0KHN0cnVjdCBuZXQgKm5ldCkKIAlpZiAoZXJyKQogCQlyZXR1 cm4gZXJyOwogCWl0biA9IG5ldF9nZW5lcmljKG5ldCwgdnRpX25ldF9pZCk7Ci0JdnRpX2ZiX3R1 bm5lbF9pbml0KGl0bi0+ZmJfdHVubmVsX2Rldik7CisJaWYgKGl0bi0+ZmJfdHVubmVsX2RldikK KwkJdnRpX2ZiX3R1bm5lbF9pbml0KGl0bi0+ZmJfdHVubmVsX2Rldik7CiAJcmV0dXJuIDA7CiB9 CiAKLS0gCjIuMTcuMQoKCkZyb20gNWIzYWI2MDE2YzNhYmRkMDQ1NTM4YzYxM2Q2YzJhOTMzYTI1 NDAyOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQW5kcmV3IEx1bm4gPGFuZHJld0Bs dW5uLmNoPgpEYXRlOiBXZWQsIDE4IEp1bCAyMDE4IDE4OjEwOjUwICswMjAwClN1YmplY3Q6IFtQ QVRDSCA3LzldIG5ldDogZXRoZXJuZXQ6IG12bmV0YTogRml4IG5hcGkgc3RydWN0dXJlIG1peHVw IG9uIGFybWFkYQogMzcwMAoKWyBVcHN0cmVhbSBjb21taXQgN2E4NmYwNWZhZjExMjQ2M2NmYmJk ZmQyMjIwMTJlMjQ3ZGU0NjFhMSBdCgpUaGUgbXZuZXRhIEV0aGVybmV0IGRyaXZlciBpcyB1c2Vk IG9uIGEgZmV3IGRpZmZlcmVudCBNYXJ2ZWxsIFNvQ3MuClNvbWUgU29DcyBoYXZlIHBlciBjcHUg aW50ZXJydXB0cyBmb3IgRXRoZXJuZXQgZXZlbnRzLiBTb21lIFNvQ3MgaGF2ZQphIHNpbmdsZSBp bnRlcnJ1cHQsIGluZGVwZW5kZW50IG9mIHRoZSBDUFUuIFRoZSBkcml2ZXIgaGFuZGxlcyB0aGlz IGJ5CmhhdmluZyBhIHBlciBDUFUgbmFwaSBzdHJ1Y3R1cmUgd2hlbiB0aGVyZSBhcmUgcGVyIENQ VSBpbnRlcnJ1cHRzLCBhbmQKYSBnbG9iYWwgbmFwaSBzdHJ1Y3R1cmUgd2hlbiB0aGVyZSBpcyBh IHNpbmdsZSBpbnRlcnJ1cHQuCgpXaGVuIHRoZSBuYXBpIGNvcmUgY2FsbHMgbXZuZXRhX3BvbGwo KSwgaXQgcGFzc2VzIHRoZSBuYXBpCmluc3RhbmNlLiBUaGlzIHdhcyBub3QgYmVpbmcgcHJvcGFn YXRlZCB0aHJvdWdoIHRoZSBjYWxsIGNoYWluLCBhbmQKaW5zdGVhZCB0aGUgcGVyLWNwdSBuYXBp IGluc3RhbmNlIHdhcyBwYXNzZWQgdG8gbmFwaV9ncm9fcmVjZWl2ZSgpCmNhbGwuIFRoaXMgYnJl YWtzIHdoZW4gdGhlcmUgaXMgYSBzaW5nbGUgZ2xvYmFsIG5hcGkgaW5zdGFuY2UuCgpTaWduZWQt b2ZmLWJ5OiBBbmRyZXcgTHVubiA8YW5kcmV3QGx1bm4uY2g+CkZpeGVzOiAyNjM2YWMzY2MyYjQg KCJuZXQ6IG12bmV0YTogQWRkIG5ldHdvcmsgc3VwcG9ydCBmb3IgQXJtYWRhIDM3MDAgU29DIikK U2lnbmVkLW9mZi1ieTogR3JlZ29yeSBDTEVNRU5UIDxncmVnb3J5LmNsZW1lbnRAYm9vdGxpbi5j b20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4K LS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL212bmV0YS5jIHwgMjIgKysrKysrKysr KysrLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDEwIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvbXZuZXRh LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL212bmV0YS5jCmluZGV4IDBhZDJmM2Y3 ZGE4NS4uZWM4NGRiNDdkODJkIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2 ZWxsL212bmV0YS5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvbXZuZXRhLmMK QEAgLTE5MDEsMTAgKzE5MDEsMTAgQEAgc3RhdGljIHZvaWQgbXZuZXRhX3J4cV9kcm9wX3BrdHMo c3RydWN0IG12bmV0YV9wb3J0ICpwcCwKIH0KIAogLyogTWFpbiByeCBwcm9jZXNzaW5nIHdoZW4g dXNpbmcgc29mdHdhcmUgYnVmZmVyIG1hbmFnZW1lbnQgKi8KLXN0YXRpYyBpbnQgbXZuZXRhX3J4 X3N3Ym0oc3RydWN0IG12bmV0YV9wb3J0ICpwcCwgaW50IHJ4X3RvZG8sCitzdGF0aWMgaW50IG12 bmV0YV9yeF9zd2JtKHN0cnVjdCBuYXBpX3N0cnVjdCAqbmFwaSwKKwkJCSAgc3RydWN0IG12bmV0 YV9wb3J0ICpwcCwgaW50IHJ4X3RvZG8sCiAJCQkgIHN0cnVjdCBtdm5ldGFfcnhfcXVldWUgKnJ4 cSkKIHsKLQlzdHJ1Y3QgbXZuZXRhX3BjcHVfcG9ydCAqcG9ydCA9IHRoaXNfY3B1X3B0cihwcC0+ cG9ydHMpOwogCXN0cnVjdCBuZXRfZGV2aWNlICpkZXYgPSBwcC0+ZGV2OwogCWludCByeF9kb25l OwogCXUzMiByY3ZkX3BrdHMgPSAwOwpAQCAtMTk1OSw3ICsxOTU5LDcgQEAgc3RhdGljIGludCBt dm5ldGFfcnhfc3dibShzdHJ1Y3QgbXZuZXRhX3BvcnQgKnBwLCBpbnQgcnhfdG9kbywKIAogCQkJ c2tiLT5wcm90b2NvbCA9IGV0aF90eXBlX3RyYW5zKHNrYiwgZGV2KTsKIAkJCW12bmV0YV9yeF9j c3VtKHBwLCByeF9zdGF0dXMsIHNrYik7Ci0JCQluYXBpX2dyb19yZWNlaXZlKCZwb3J0LT5uYXBp LCBza2IpOworCQkJbmFwaV9ncm9fcmVjZWl2ZShuYXBpLCBza2IpOwogCiAJCQlyY3ZkX3BrdHMr KzsKIAkJCXJjdmRfYnl0ZXMgKz0gcnhfYnl0ZXM7CkBAIC0yMDAxLDcgKzIwMDEsNyBAQCBzdGF0 aWMgaW50IG12bmV0YV9yeF9zd2JtKHN0cnVjdCBtdm5ldGFfcG9ydCAqcHAsIGludCByeF90b2Rv LAogCiAJCW12bmV0YV9yeF9jc3VtKHBwLCByeF9zdGF0dXMsIHNrYik7CiAKLQkJbmFwaV9ncm9f cmVjZWl2ZSgmcG9ydC0+bmFwaSwgc2tiKTsKKwkJbmFwaV9ncm9fcmVjZWl2ZShuYXBpLCBza2Ip OwogCX0KIAogCWlmIChyY3ZkX3BrdHMpIHsKQEAgLTIwMjAsMTAgKzIwMjAsMTAgQEAgc3RhdGlj IGludCBtdm5ldGFfcnhfc3dibShzdHJ1Y3QgbXZuZXRhX3BvcnQgKnBwLCBpbnQgcnhfdG9kbywK IH0KIAogLyogTWFpbiByeCBwcm9jZXNzaW5nIHdoZW4gdXNpbmcgaGFyZHdhcmUgYnVmZmVyIG1h bmFnZW1lbnQgKi8KLXN0YXRpYyBpbnQgbXZuZXRhX3J4X2h3Ym0oc3RydWN0IG12bmV0YV9wb3J0 ICpwcCwgaW50IHJ4X3RvZG8sCitzdGF0aWMgaW50IG12bmV0YV9yeF9od2JtKHN0cnVjdCBuYXBp X3N0cnVjdCAqbmFwaSwKKwkJCSAgc3RydWN0IG12bmV0YV9wb3J0ICpwcCwgaW50IHJ4X3RvZG8s CiAJCQkgIHN0cnVjdCBtdm5ldGFfcnhfcXVldWUgKnJ4cSkKIHsKLQlzdHJ1Y3QgbXZuZXRhX3Bj cHVfcG9ydCAqcG9ydCA9IHRoaXNfY3B1X3B0cihwcC0+cG9ydHMpOwogCXN0cnVjdCBuZXRfZGV2 aWNlICpkZXYgPSBwcC0+ZGV2OwogCWludCByeF9kb25lOwogCXUzMiByY3ZkX3BrdHMgPSAwOwpA QCAtMjA4NSw3ICsyMDg1LDcgQEAgc3RhdGljIGludCBtdm5ldGFfcnhfaHdibShzdHJ1Y3QgbXZu ZXRhX3BvcnQgKnBwLCBpbnQgcnhfdG9kbywKIAogCQkJc2tiLT5wcm90b2NvbCA9IGV0aF90eXBl X3RyYW5zKHNrYiwgZGV2KTsKIAkJCW12bmV0YV9yeF9jc3VtKHBwLCByeF9zdGF0dXMsIHNrYik7 Ci0JCQluYXBpX2dyb19yZWNlaXZlKCZwb3J0LT5uYXBpLCBza2IpOworCQkJbmFwaV9ncm9fcmVj ZWl2ZShuYXBpLCBza2IpOwogCiAJCQlyY3ZkX3BrdHMrKzsKIAkJCXJjdmRfYnl0ZXMgKz0gcnhf Ynl0ZXM7CkBAIC0yMTI5LDcgKzIxMjksNyBAQCBzdGF0aWMgaW50IG12bmV0YV9yeF9od2JtKHN0 cnVjdCBtdm5ldGFfcG9ydCAqcHAsIGludCByeF90b2RvLAogCiAJCW12bmV0YV9yeF9jc3VtKHBw LCByeF9zdGF0dXMsIHNrYik7CiAKLQkJbmFwaV9ncm9fcmVjZWl2ZSgmcG9ydC0+bmFwaSwgc2ti KTsKKwkJbmFwaV9ncm9fcmVjZWl2ZShuYXBpLCBza2IpOwogCX0KIAogCWlmIChyY3ZkX3BrdHMp IHsKQEAgLTI3MjIsOSArMjcyMiwxMSBAQCBzdGF0aWMgaW50IG12bmV0YV9wb2xsKHN0cnVjdCBu YXBpX3N0cnVjdCAqbmFwaSwgaW50IGJ1ZGdldCkKIAlpZiAocnhfcXVldWUpIHsKIAkJcnhfcXVl dWUgPSByeF9xdWV1ZSAtIDE7CiAJCWlmIChwcC0+Ym1fcHJpdikKLQkJCXJ4X2RvbmUgPSBtdm5l dGFfcnhfaHdibShwcCwgYnVkZ2V0LCAmcHAtPnJ4cXNbcnhfcXVldWVdKTsKKwkJCXJ4X2RvbmUg PSBtdm5ldGFfcnhfaHdibShuYXBpLCBwcCwgYnVkZ2V0LAorCQkJCQkJICZwcC0+cnhxc1tyeF9x dWV1ZV0pOwogCQllbHNlCi0JCQlyeF9kb25lID0gbXZuZXRhX3J4X3N3Ym0ocHAsIGJ1ZGdldCwg JnBwLT5yeHFzW3J4X3F1ZXVlXSk7CisJCQlyeF9kb25lID0gbXZuZXRhX3J4X3N3Ym0obmFwaSwg cHAsIGJ1ZGdldCwKKwkJCQkJCSAmcHAtPnJ4cXNbcnhfcXVldWVdKTsKIAl9CiAKIAlpZiAocnhf ZG9uZSA8IGJ1ZGdldCkgewotLSAKMi4xNy4xCgoKRnJvbSA2ZDBjYTRkYTIxYTkxMDdjMDc1Yjg0 OTJkZTMzZDMxNzUxZThiOGY2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaXNoZW5n IFpoYW5nIDxKaXNoZW5nLlpoYW5nQHN5bmFwdGljcy5jb20+CkRhdGU6IEZyaSwgMTAgQXVnIDIw MTggMTE6MzY6MjcgKzA4MDAKU3ViamVjdDogW1BBVENIIDgvOV0gbmV0OiBtdm5ldGE6IGZpeCBt dm5ldGFfY29uZmlnX3JzcyBvbiBhcm1hZGEgMzcwMAoKWyBVcHN0cmVhbSBjb21taXQgMGY1YzZj MzBhMGY4YzYyOWI5MmVjZGFlZjYxYjMxNWM0M2ZkZTEwYSBdCgpUaGUgbXZuZXRhIEV0aGVybmV0 IGRyaXZlciBpcyB1c2VkIG9uIGEgZmV3IGRpZmZlcmVudCBNYXJ2ZWxsIFNvQ3MuClNvbWUgU29D cyBoYXZlIHBlciBjcHUgaW50ZXJydXB0cyBmb3IgRXRoZXJuZXQgZXZlbnRzLCB0aGUgZHJpdmVy IHVzZXMKYSBwZXIgQ1BVIG5hcGkgc3RydWN0dXJlIGZvciB0aGlzIGNhc2UuIFNvbWUgU29DcyBz dWNoIGFzIGFybWFkYSAzNzAwCmhhdmUgYSBzaW5nbGUgaW50ZXJydXB0IGZvciBFdGhlcm5ldCBl dmVudHMsIHRoZSBkcml2ZXIgdXNlcyBhIGdsb2JhbApuYXBpIHN0cnVjdHVyZSBmb3IgdGhpcyBj YXNlLgoKQ3VycmVudCBtdm5ldGFfY29uZmlnX3JzcygpIGFsd2F5cyBvcGVyYXRlcyB0aGUgcGVy IGNwdSBuYXBpIHN0cnVjdHVyZS4KRml4IGl0IGJ5IG9wZXJhdGluZyBhIGdsb2JhbCBuYXBpIGZv ciAic2luZ2xlIGludGVycnVwdCIgY2FzZSwgYW5kIHBlcgpjcHUgbmFwaSBzdHJ1Y3R1cmUgZm9y IHJlbWFpbmluZyBjYXNlcy4KClNpZ25lZC1vZmYtYnk6IEppc2hlbmcgWmhhbmcgPEppc2hlbmcu WmhhbmdAc3luYXB0aWNzLmNvbT4KRml4ZXM6IDI2MzZhYzNjYzJiNCAoIm5ldDogbXZuZXRhOiBB ZGQgbmV0d29yayBzdXBwb3J0IGZvciBBcm1hZGEgMzcwMCBTb0MiKQpSZXZpZXdlZC1ieTogQW5k cmV3IEx1bm4gPGFuZHJld0BsdW5uLmNoPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIg PGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9t dm5ldGEuYyB8IDMxICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQs IDIwIGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv bmV0L2V0aGVybmV0L21hcnZlbGwvbXZuZXRhLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2 ZWxsL212bmV0YS5jCmluZGV4IGVjODRkYjQ3ZDgyZC4uODJhYzFkMTBmMjM5IDEwMDY0NAotLS0g YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL212bmV0YS5jCisrKyBiL2RyaXZlcnMvbmV0 L2V0aGVybmV0L21hcnZlbGwvbXZuZXRhLmMKQEAgLTQwMjAsMTMgKzQwMjAsMTggQEAgc3RhdGlj IGludCAgbXZuZXRhX2NvbmZpZ19yc3Moc3RydWN0IG12bmV0YV9wb3J0ICpwcCkKIAogCW9uX2Vh Y2hfY3B1KG12bmV0YV9wZXJjcHVfbWFza19pbnRlcnJ1cHQsIHBwLCB0cnVlKTsKIAotCS8qIFdl IGhhdmUgdG8gc3luY2hyb25pc2Ugb24gdGhlIG5hcGkgb2YgZWFjaCBDUFUgKi8KLQlmb3JfZWFj aF9vbmxpbmVfY3B1KGNwdSkgewotCQlzdHJ1Y3QgbXZuZXRhX3BjcHVfcG9ydCAqcGNwdV9wb3J0 ID0KLQkJCXBlcl9jcHVfcHRyKHBwLT5wb3J0cywgY3B1KTsKKwlpZiAoIXBwLT5uZXRhX2FybWFk YTM3MDApIHsKKwkJLyogV2UgaGF2ZSB0byBzeW5jaHJvbmlzZSBvbiB0aGUgbmFwaSBvZiBlYWNo IENQVSAqLworCQlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkgeworCQkJc3RydWN0IG12bmV0YV9w Y3B1X3BvcnQgKnBjcHVfcG9ydCA9CisJCQkJcGVyX2NwdV9wdHIocHAtPnBvcnRzLCBjcHUpOwog Ci0JCW5hcGlfc3luY2hyb25pemUoJnBjcHVfcG9ydC0+bmFwaSk7Ci0JCW5hcGlfZGlzYWJsZSgm cGNwdV9wb3J0LT5uYXBpKTsKKwkJCW5hcGlfc3luY2hyb25pemUoJnBjcHVfcG9ydC0+bmFwaSk7 CisJCQluYXBpX2Rpc2FibGUoJnBjcHVfcG9ydC0+bmFwaSk7CisJCX0KKwl9IGVsc2UgeworCQlu YXBpX3N5bmNocm9uaXplKCZwcC0+bmFwaSk7CisJCW5hcGlfZGlzYWJsZSgmcHAtPm5hcGkpOwog CX0KIAogCXBwLT5yeHFfZGVmID0gcHAtPmluZGlyWzBdOwpAQCAtNDA0MywxMiArNDA0OCwxNiBA QCBzdGF0aWMgaW50ICBtdm5ldGFfY29uZmlnX3JzcyhzdHJ1Y3QgbXZuZXRhX3BvcnQgKnBwKQog CW12bmV0YV9wZXJjcHVfZWxlY3QocHApOwogCXNwaW5fdW5sb2NrKCZwcC0+bG9jayk7CiAKLQkv KiBXZSBoYXZlIHRvIHN5bmNocm9uaXNlIG9uIHRoZSBuYXBpIG9mIGVhY2ggQ1BVICovCi0JZm9y X2VhY2hfb25saW5lX2NwdShjcHUpIHsKLQkJc3RydWN0IG12bmV0YV9wY3B1X3BvcnQgKnBjcHVf cG9ydCA9Ci0JCQlwZXJfY3B1X3B0cihwcC0+cG9ydHMsIGNwdSk7CisJaWYgKCFwcC0+bmV0YV9h cm1hZGEzNzAwKSB7CisJCS8qIFdlIGhhdmUgdG8gc3luY2hyb25pc2Ugb24gdGhlIG5hcGkgb2Yg ZWFjaCBDUFUgKi8KKwkJZm9yX2VhY2hfb25saW5lX2NwdShjcHUpIHsKKwkJCXN0cnVjdCBtdm5l dGFfcGNwdV9wb3J0ICpwY3B1X3BvcnQgPQorCQkJCXBlcl9jcHVfcHRyKHBwLT5wb3J0cywgY3B1 KTsKIAotCQluYXBpX2VuYWJsZSgmcGNwdV9wb3J0LT5uYXBpKTsKKwkJCW5hcGlfZW5hYmxlKCZw Y3B1X3BvcnQtPm5hcGkpOworCQl9CisJfSBlbHNlIHsKKwkJbmFwaV9lbmFibGUoJnBwLT5uYXBp KTsKIAl9CiAKIAluZXRpZl90eF9zdGFydF9hbGxfcXVldWVzKHBwLT5kZXYpOwotLSAKMi4xNy4x CgoKRnJvbSBhNzE0MDliN2M3ZDJjOTY1NGFmNmViNzkxNzc2NjcwNTk4NTQxMzAzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIYW5nYmluIExpdSA8bGl1aGFuZ2JpbkBnbWFpbC5jb20+ CkRhdGU6IFR1ZSwgMTQgQXVnIDIwMTggMTc6Mjg6MjYgKzA4MDAKU3ViamVjdDogW1BBVENIIDkv OV0gY2xzX21hdGNoYWxsOiBmaXggdGNmX3VuYmluZF9maWx0ZXIgbWlzc2luZwoKWyBVcHN0cmVh bSBjb21taXQgYTUxYzc2YjRkZmIzMDQ5NmRjNjUzOTZhOTU3ZWYwZjA2YWY3ZmIyMiBdCgpGaXgg dGNmX3VuYmluZF9maWx0ZXIgbWlzc2luZyBpbiBjbHNfbWF0Y2hhbGwgYXMgdGhpcyB3aWxsIHRy aWdnZXIKV0FSTl9PTigpIGluIGNicV9kZXN0cm95X2NsYXNzKCkuCgpGaXhlczogZmQ2MmQ5ZjVj NTc1ZiAoIm5ldC9zY2hlZDogbWF0Y2hhbGw6IEZpeCBjb25maWd1cmF0aW9uIHJhY2UiKQpSZXBv cnRlZC1ieTogTGkgU2h1YW5nIDxzaHVhbGlAcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1ieTogSGFu Z2JpbiBMaXUgPGxpdWhhbmdiaW5AZ21haWwuY29tPgpBY2tlZC1ieTogQ29uZyBXYW5nIDx4aXlv dS53YW5nY29uZ0BnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2 ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvc2NoZWQvY2xzX21hdGNoYWxsLmMgfCAyICsrCiAx IGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL2Ns c19tYXRjaGFsbC5jIGIvbmV0L3NjaGVkL2Nsc19tYXRjaGFsbC5jCmluZGV4IDQ3YjIwN2VmNzc2 Mi4uN2FkNjVkYWY2NmE0IDEwMDY0NAotLS0gYS9uZXQvc2NoZWQvY2xzX21hdGNoYWxsLmMKKysr IGIvbmV0L3NjaGVkL2Nsc19tYXRjaGFsbC5jCkBAIC0xMTEsNiArMTExLDggQEAgc3RhdGljIHZv aWQgbWFsbF9kZXN0cm95KHN0cnVjdCB0Y2ZfcHJvdG8gKnRwLCBzdHJ1Y3QgbmV0bGlua19leHRf YWNrICpleHRhY2spCiAJaWYgKCFoZWFkKQogCQlyZXR1cm47CiAKKwl0Y2ZfdW5iaW5kX2ZpbHRl cih0cCwgJmhlYWQtPnJlcyk7CisKIAlpZiAoIXRjX3NraXBfaHcoaGVhZC0+ZmxhZ3MpKQogCQlt YWxsX2Rlc3Ryb3lfaHdfZmlsdGVyKHRwLCBoZWFkLCAodW5zaWduZWQgbG9uZykgaGVhZCwgZXh0 YWNrKTsKIAotLSAKMi4xNy4xCgo= ----Next_Part(Mon_Aug_20_17_59_37_2018_914)----