From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9BA5AC3A5A5 for ; Thu, 5 Sep 2019 07:23:55 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 4F9C622CF5 for ; Thu, 5 Sep 2019 07:23:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731743AbfIEHXy (ORCPT ); Thu, 5 Sep 2019 03:23:54 -0400 Received: from shards.monkeyblade.net ([23.128.96.9]:42656 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727900AbfIEHXy (ORCPT ); Thu, 5 Sep 2019 03:23:54 -0400 Received: from localhost (unknown [62.21.130.100]) (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 2E4CC15383DC7 for ; Thu, 5 Sep 2019 00:23:51 -0700 (PDT) Date: Thu, 05 Sep 2019 00:23:47 -0700 (PDT) Message-Id: <20190905.002347.1016661388177691903.davem@davemloft.net> To: stable@vger.kernel.org Subject: [PATCHES] Networking From: David Miller X-Mailer: Mew version 6.8 on Emacs 26.2 Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Thu_Sep__5_00_23_47_2019_118)--" Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Thu, 05 Sep 2019 00:23:52 -0700 (PDT) Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org ----Next_Part(Thu_Sep__5_00_23_47_2019_118)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Please queue up the following networking bug fixes for v4.19 and v5.2 -stable, respectively. Thank you. ----Next_Part(Thu_Sep__5_00_23_47_2019_118)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_419.mbox" RnJvbSBiYTJkZTAzZWQ1YWE4OGNhZGQzYTVmZGJjMjZmMmFmMTMwMWNkNTljIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRh dGU6IFR1ZSwgMjcgQXVnIDIwMTkgMDM6MzM6MTIgLTA3MDAKU3ViamVjdDogW1BBVENIIDEvOF0g bWxkOiBmaXggbWVtb3J5IGxlYWsgaW4gbWxkX2RlbF9kZWxyZWMoKQoKWyBVcHN0cmVhbSBjb21t aXQgYTg0ZDAxNjQ3OTg5NmI1NTI2YTJjYzU0Nzg0ZTZmZmM0MWM5ZDZmNiBdCgpTaW1pbGFyIHRv IHRoZSBmaXggZG9uZSBmb3IgSVB2NCBpbiBjb21taXQgZTViMWM2YzYyNzdkCigiaWdtcDogZml4 IG1lbW9yeSBsZWFrIGluIGlnbXB2M19kZWxfZGVscmVjKCkiKSwgd2UgbmVlZCB0bwptYWtlIHN1 cmUgbWNhX3RvbWIgYW5kIG1jYV9zb3VyY2VzIGFyZSBub3QgYmxpbmRseSBvdmVyd3JpdHRlbi4K ClVzaW5nIHN3YXAoKSB0aGVuIGEgY2FsbCB0byBpcDZfbWNfY2xlYXJfc3JjKCkgd2lsbCB0YWtl IGNhcmUKb2YgdGhlIG1pc3NpbmcgZnJlZS4KCkJVRzogbWVtb3J5IGxlYWsKdW5yZWZlcmVuY2Vk IG9iamVjdCAweGZmZmY4ODgxMTdkOWRiMDAgKHNpemUgNjQpOgogIGNvbW0gInN5ei1leGVjdXRv cjI0NyIsIHBpZCA2OTE4LCBqaWZmaWVzIDQyOTQ5NDM5ODkgKGFnZSAyNS4zNTBzKQogIGhleCBk dW1wIChmaXJzdCAzMiBieXRlcyk6CiAgICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCBmZSA4OCAw MCAwMCAwMCAwMCAwMCAwMCAgLi4uLi4uLi4uLi4uLi4uLgogICAgMDAgMDAgMDAgMDAgMDAgMDAg MDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIC4uLi4uLi4uLi4uLi4uLi4KICBiYWNrdHJh Y2U6CiAgICBbPDAwMDAwMDAwNWI0NjMwMzA+XSBrbWVtbGVha19hbGxvY19yZWN1cnNpdmUgaW5j bHVkZS9saW51eC9rbWVtbGVhay5oOjQzIFtpbmxpbmVdCiAgICBbPDAwMDAwMDAwNWI0NjMwMzA+ XSBzbGFiX3Bvc3RfYWxsb2NfaG9vayBtbS9zbGFiLmg6NTIyIFtpbmxpbmVdCiAgICBbPDAwMDAw MDAwNWI0NjMwMzA+XSBzbGFiX2FsbG9jIG1tL3NsYWIuYzozMzE5IFtpbmxpbmVdCiAgICBbPDAw MDAwMDAwNWI0NjMwMzA+XSBrbWVtX2NhY2hlX2FsbG9jX3RyYWNlKzB4MTQ1LzB4MmMwIG1tL3Ns YWIuYzozNTQ4CiAgICBbPDAwMDAwMDAwOTM5Y2JmOTQ+XSBrbWFsbG9jIGluY2x1ZGUvbGludXgv c2xhYi5oOjU1MiBbaW5saW5lXQogICAgWzwwMDAwMDAwMDkzOWNiZjk0Pl0ga3phbGxvYyBpbmNs dWRlL2xpbnV4L3NsYWIuaDo3NDggW2lubGluZV0KICAgIFs8MDAwMDAwMDA5MzljYmY5ND5dIGlw Nl9tY19hZGQxX3NyYyBuZXQvaXB2Ni9tY2FzdC5jOjIyMzYgW2lubGluZV0KICAgIFs8MDAwMDAw MDA5MzljYmY5ND5dIGlwNl9tY19hZGRfc3JjKzB4MzFmLzB4NDIwIG5ldC9pcHY2L21jYXN0LmM6 MjM1NgogICAgWzwwMDAwMDAwMGQ4OTcyMjIxPl0gaXA2X21jX3NvdXJjZSsweDRhOC8weDYwMCBu ZXQvaXB2Ni9tY2FzdC5jOjQ0OQogICAgWzwwMDAwMDAwMDJiMjAzZDBkPl0gZG9faXB2Nl9zZXRz b2Nrb3B0LmlzcmEuMCsweDFiOTIvMHgxZGQwIG5ldC9pcHY2L2lwdjZfc29ja2dsdWUuYzo3NDgK ICAgIFs8MDAwMDAwMDAxZjFlMmQ1ND5dIGlwdjZfc2V0c29ja29wdCsweDg5LzB4ZDAgbmV0L2lw djYvaXB2Nl9zb2NrZ2x1ZS5jOjk0NAogICAgWzwwMDAwMDAwMGM4ZjdiZGY5Pl0gdWRwdjZfc2V0 c29ja29wdCsweDRlLzB4OTAgbmV0L2lwdjYvdWRwLmM6MTU1OAogICAgWzwwMDAwMDAwMDVhOWEw YzVlPl0gc29ja19jb21tb25fc2V0c29ja29wdCsweDM4LzB4NTAgbmV0L2NvcmUvc29jay5jOjMx MzkKICAgIFs8MDAwMDAwMDA5MTBiMzdiMj5dIF9fc3lzX3NldHNvY2tvcHQrMHgxMGYvMHgyMjAg bmV0L3NvY2tldC5jOjIwODQKICAgIFs8MDAwMDAwMDBlOTEwODAyMz5dIF9fZG9fc3lzX3NldHNv Y2tvcHQgbmV0L3NvY2tldC5jOjIxMDAgW2lubGluZV0KICAgIFs8MDAwMDAwMDBlOTEwODAyMz5d IF9fc2Vfc3lzX3NldHNvY2tvcHQgbmV0L3NvY2tldC5jOjIwOTcgW2lubGluZV0KICAgIFs8MDAw MDAwMDBlOTEwODAyMz5dIF9feDY0X3N5c19zZXRzb2Nrb3B0KzB4MjYvMHgzMCBuZXQvc29ja2V0 LmM6MjA5NwogICAgWzwwMDAwMDAwMGY0ODE4MTYwPl0gZG9fc3lzY2FsbF82NCsweDc2LzB4MWEw IGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjI5NgogICAgWzwwMDAwMDAwMDhkMzY3ZThmPl0gZW50 cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NDQvMHhhOQoKRml4ZXM6IDE2NjZkNDllMWQ0 MSAoIm1sZDogZG8gbm90IHJlbW92ZSBtbGQgc291Y2UgbGlzdCBpbmZvIHdoZW4gc2V0IGxpbmsg ZG93biIpCkZpeGVzOiA5YzhiYjE2M2FlNzggKCJpZ21wLCBtbGQ6IEZpeCBtZW1vcnkgbGVhayBp biBpZ21wdjMvbWxkX2RlbF9kZWxyZWMoKSIpClNpZ25lZC1vZmYtYnk6IEVyaWMgRHVtYXpldCA8 ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KUmVwb3J0ZWQtYnk6IHN5emJvdCA8c3l6a2FsbGVyQGdvb2ds ZWdyb3Vwcy5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1s b2Z0Lm5ldD4KLS0tCiBuZXQvaXB2Ni9tY2FzdC5jIHwgNSArKystLQogMSBmaWxlIGNoYW5nZWQs IDMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvaXB2Ni9t Y2FzdC5jIGIvbmV0L2lwdjYvbWNhc3QuYwppbmRleCBkYmFiNjJlM2YwZDcuLjJkODBlOTEzYjgy ZiAxMDA2NDQKLS0tIGEvbmV0L2lwdjYvbWNhc3QuYworKysgYi9uZXQvaXB2Ni9tY2FzdC5jCkBA IC03OTEsMTQgKzc5MSwxNSBAQCBzdGF0aWMgdm9pZCBtbGRfZGVsX2RlbHJlYyhzdHJ1Y3QgaW5l dDZfZGV2ICppZGV2LCBzdHJ1Y3QgaWZtY2FkZHI2ICppbSkKIAlpZiAocG1jKSB7CiAJCWltLT5p ZGV2ID0gcG1jLT5pZGV2OwogCQlpZiAoaW0tPm1jYV9zZm1vZGUgPT0gTUNBU1RfSU5DTFVERSkg ewotCQkJaW0tPm1jYV90b21iID0gcG1jLT5tY2FfdG9tYjsKLQkJCWltLT5tY2Ffc291cmNlcyA9 IHBtYy0+bWNhX3NvdXJjZXM7CisJCQlzd2FwKGltLT5tY2FfdG9tYiwgcG1jLT5tY2FfdG9tYik7 CisJCQlzd2FwKGltLT5tY2Ffc291cmNlcywgcG1jLT5tY2Ffc291cmNlcyk7CiAJCQlmb3IgKHBz ZiA9IGltLT5tY2Ffc291cmNlczsgcHNmOyBwc2YgPSBwc2YtPnNmX25leHQpCiAJCQkJcHNmLT5z Zl9jcmNvdW50ID0gaWRldi0+bWNfcXJ2OwogCQl9IGVsc2UgewogCQkJaW0tPm1jYV9jcmNvdW50 ID0gaWRldi0+bWNfcXJ2OwogCQl9CiAJCWluNl9kZXZfcHV0KHBtYy0+aWRldik7CisJCWlwNl9t Y19jbGVhcl9zcmMocG1jKTsKIAkJa2ZyZWUocG1jKTsKIAl9CiAJc3Bpbl91bmxvY2tfYmgoJmlt LT5tY2FfbG9jayk7Ci0tIAoyLjIxLjAKCgpGcm9tIGIyYzZhNDM0ZmY5ZTg5OTkxYzg1MGQwNWNh NjE1YWEzMjAyNGY0NTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEZlbmcgU3VuIDxs b3lvdTg1QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCAyNiBBdWcgMjAxOSAxNDo0NjowNCArMDgwMApT dWJqZWN0OiBbUEFUQ0ggMi84XSBuZXQ6IGZpeCBza2IgdXNlIGFmdGVyIGZyZWUgaW4gbmV0cG9s bAoKWyBVcHN0cmVhbSBjb21taXQgMmMxNjQ0Y2Y2ZDQ2YTgyNjdkNzllZDk1Y2I5YjU2MzgzOTM0 NjU2MiBdCgpBZnRlciBjb21taXQgYmFlYWJhYmI1Yjg1ZDVjNGU2YzkxN2VmZTJhMTUwNDE3OTQz OGQzYgooInR1bjogcmV0dXJuIE5FVF9YTUlUX0RST1AgZm9yIGRyb3BwZWQgcGFja2V0cyIpLAp3 aGVuIHR1bl9uZXRfeG1pdCBkcm9wIHBhY2tldHMsIGl0IHdpbGwgZnJlZSBza2IgYW5kIHJldHVy biBORVRfWE1JVF9EUk9QLApuZXRwb2xsX3NlbmRfc2tiX29uX2RldiB3aWxsIHJ1biBpbnRvIGZv bGxvd2luZyB1c2UgYWZ0ZXIgZnJlZSBjYXNlczoKMS4gcmV0cnkgbmV0cG9sbF9zdGFydF94bWl0 IHdpdGggZnJlZWQgc2tiOwoyLiBxdWV1ZSBmcmVlZCBza2IgaW4gbnBpbmZvLT50eHEuCnF1ZXVl X3Byb2Nlc3Mgd2lsbCBhbHNvIHJ1biBpbnRvIHVzZSBhZnRlciBmcmVlIGNhc2UuCgpoaXQgbmV0 cG9sbF9zZW5kX3NrYl9vbl9kZXYgZmlyc3QgY2FzZSB3aXRoIGZvbGxvd2luZyBrZXJuZWwgbG9n OgoKWyAgMTE3Ljg2NDc3M10ga2VybmVsIEJVRyBhdCBtbS9zbHViLmM6MzA2IQpbICAxMTcuODY0 NzczXSBpbnZhbGlkIG9wY29kZTogMDAwMCBbIzFdIFNNUCBQVEkKWyAgMTE3Ljg2NDc3NF0gQ1BV OiAzIFBJRDogMjYyNyBDb21tOiBsb29wX3ByaW50bXNnIEtkdW1wOiBsb2FkZWQgVGFpbnRlZDog UCAgICAgICAgICAgT0UgICAgIDUuMy4wLTA1MDMwMHJjNS1nZW5lcmljICMyMDE5MDgxODIyMzEK WyAgMTE3Ljg2NDc3NV0gSGFyZHdhcmUgbmFtZTogUUVNVSBTdGFuZGFyZCBQQyAoaTQ0MEZYICsg UElJWCwgMTk5NiksIEJJT1MgVWJ1bnR1LTEuOC4yLTF1YnVudHUxIDA0LzAxLzIwMTQKWyAgMTE3 Ljg2NDc3NV0gUklQOiAwMDEwOmttZW1fY2FjaGVfZnJlZSsweDI4ZC8weDJiMApbICAxMTcuODY0 NzgxXSBDYWxsIFRyYWNlOgpbICAxMTcuODY0NzgxXSAgPyB0dW5fbmV0X3htaXQrMHgyMWMvMHg0 NjAKWyAgMTE3Ljg2NDc4MV0gIGtmcmVlX3NrYm1lbSsweDRlLzB4NjAKWyAgMTE3Ljg2NDc4Ml0g IGtmcmVlX3NrYisweDNhLzB4YTAKWyAgMTE3Ljg2NDc4Ml0gIHR1bl9uZXRfeG1pdCsweDIxYy8w eDQ2MApbICAxMTcuODY0NzgyXSAgbmV0cG9sbF9zdGFydF94bWl0KzB4MTFkLzB4MWIwClsgIDEx Ny44NjQ3ODhdICBuZXRwb2xsX3NlbmRfc2tiX29uX2RldisweDFiOC8weDIwMApbICAxMTcuODY0 Nzg5XSAgX19icl9mb3J3YXJkKzB4MWI5LzB4MWUwIFticmlkZ2VdClsgIDExNy44NjQ3ODldICA/ IHNrYl9jbG9uZSsweDUzLzB4ZDAKWyAgMTE3Ljg2NDc5MF0gID8gX19za2JfY2xvbmUrMHgyZS8w eDEyMApbICAxMTcuODY0NzkwXSAgZGVsaXZlcl9jbG9uZSsweDM3LzB4NTAgW2JyaWRnZV0KWyAg MTE3Ljg2NDc5MF0gIG1heWJlX2RlbGl2ZXIrMHg4OS8weGMwIFticmlkZ2VdClsgIDExNy44NjQ3 OTFdICBicl9mbG9vZCsweDZjLzB4MTMwIFticmlkZ2VdClsgIDExNy44NjQ3OTFdICBicl9kZXZf eG1pdCsweDMxNS8weDNjMCBbYnJpZGdlXQpbICAxMTcuODY0NzkyXSAgbmV0cG9sbF9zdGFydF94 bWl0KzB4MTFkLzB4MWIwClsgIDExNy44NjQ3OTJdICBuZXRwb2xsX3NlbmRfc2tiX29uX2Rldisw eDFiOC8weDIwMApbICAxMTcuODY0NzkyXSAgbmV0cG9sbF9zZW5kX3VkcCsweDJjNi8weDNlOApb ICAxMTcuODY0NzkzXSAgd3JpdGVfbXNnKzB4ZDkvMHhmMCBbbmV0Y29uc29sZV0KWyAgMTE3Ljg2 NDc5M10gIGNvbnNvbGVfdW5sb2NrKzB4Mzg2LzB4NGUwClsgIDExNy44NjQ3OTNdICB2cHJpbnRr X2VtaXQrMHgxN2UvMHgyODAKWyAgMTE3Ljg2NDc5NF0gIHZwcmludGtfZGVmYXVsdCsweDI5LzB4 NTAKWyAgMTE3Ljg2NDc5NF0gIHZwcmludGtfZnVuYysweDRjLzB4YmMKWyAgMTE3Ljg2NDc5NF0g IHByaW50aysweDU4LzB4NmYKWyAgMTE3Ljg2NDc5NV0gIGxvb3BfZnVuKzB4MjQvMHg0MSBbcHJp bnRtc2dfbG9vcF0KWyAgMTE3Ljg2NDc5NV0gIGt0aHJlYWQrMHgxMDQvMHgxNDAKWyAgMTE3Ljg2 NDc5NV0gID8gMHhmZmZmZmZmZmMwNWIxMDAwClsgIDExNy44NjQ3OTZdICA/IGt0aHJlYWRfcGFy aysweDgwLzB4ODAKWyAgMTE3Ljg2NDc5Nl0gIHJldF9mcm9tX2ZvcmsrMHgzNS8weDQwCgpTaWdu ZWQtb2ZmLWJ5OiBGZW5nIFN1biA8bG95b3U4NUBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IFhp YW9qdW4gWmhhbyA8eGlhb2p1bnpoYW8xNDFAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZp ZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2NvcmUvbmV0cG9sbC5j IHwgNiArKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2NvcmUvbmV0cG9sbC5jIGIvbmV0L2NvcmUvbmV0cG9sbC5j CmluZGV4IDNhZTg5OTgwNWY4Yi4uYTU4MWNmMTAxY2Q5IDEwMDY0NAotLS0gYS9uZXQvY29yZS9u ZXRwb2xsLmMKKysrIGIvbmV0L2NvcmUvbmV0cG9sbC5jCkBAIC0xMjIsNyArMTIyLDcgQEAgc3Rh dGljIHZvaWQgcXVldWVfcHJvY2VzcyhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAJCXR4cSA9 IG5ldGRldl9nZXRfdHhfcXVldWUoZGV2LCBxX2luZGV4KTsKIAkJSEFSRF9UWF9MT0NLKGRldiwg dHhxLCBzbXBfcHJvY2Vzc29yX2lkKCkpOwogCQlpZiAobmV0aWZfeG1pdF9mcm96ZW5fb3Jfc3Rv cHBlZCh0eHEpIHx8Ci0JCSAgICBuZXRwb2xsX3N0YXJ0X3htaXQoc2tiLCBkZXYsIHR4cSkgIT0g TkVUREVWX1RYX09LKSB7CisJCSAgICAhZGV2X3htaXRfY29tcGxldGUobmV0cG9sbF9zdGFydF94 bWl0KHNrYiwgZGV2LCB0eHEpKSkgewogCQkJc2tiX3F1ZXVlX2hlYWQoJm5waW5mby0+dHhxLCBz a2IpOwogCQkJSEFSRF9UWF9VTkxPQ0soZGV2LCB0eHEpOwogCQkJbG9jYWxfaXJxX3Jlc3RvcmUo ZmxhZ3MpOwpAQCAtMzM1LDcgKzMzNSw3IEBAIHZvaWQgbmV0cG9sbF9zZW5kX3NrYl9vbl9kZXYo c3RydWN0IG5ldHBvbGwgKm5wLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogCiAJCQkJSEFSRF9UWF9V TkxPQ0soZGV2LCB0eHEpOwogCi0JCQkJaWYgKHN0YXR1cyA9PSBORVRERVZfVFhfT0spCisJCQkJ aWYgKGRldl94bWl0X2NvbXBsZXRlKHN0YXR1cykpCiAJCQkJCWJyZWFrOwogCiAJCQl9CkBAIC0z NTIsNyArMzUyLDcgQEAgdm9pZCBuZXRwb2xsX3NlbmRfc2tiX29uX2RldihzdHJ1Y3QgbmV0cG9s bCAqbnAsIHN0cnVjdCBza19idWZmICpza2IsCiAKIAl9CiAKLQlpZiAoc3RhdHVzICE9IE5FVERF Vl9UWF9PSykgeworCWlmICghZGV2X3htaXRfY29tcGxldGUoc3RhdHVzKSkgewogCQlza2JfcXVl dWVfdGFpbCgmbnBpbmZvLT50eHEsIHNrYik7CiAJCXNjaGVkdWxlX2RlbGF5ZWRfd29yaygmbnBp bmZvLT50eF93b3JrLDApOwogCX0KLS0gCjIuMjEuMAoKCkZyb20gYjk0MjhkZWJhNTRmNDk5ZWE4 YmUxMjM1ZTQ3MGE1NWNhMDYyMzRmZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogVmxh ZCBCdXNsb3YgPHZsYWRidUBtZWxsYW5veC5jb20+CkRhdGU6IFR1ZSwgMjcgQXVnIDIwMTkgMjE6 NDk6MzggKzAzMDAKU3ViamVjdDogW1BBVENIIDMvOF0gbmV0OiBzY2hlZDogYWN0X3NhbXBsZTog Zml4IHBzYW1wbGUgZ3JvdXAgaGFuZGxpbmcgb24KIG92ZXJ3cml0ZQoKWyBVcHN0cmVhbSBjb21t aXQgZGJmNDdhMmEwOTRlZGY1ODk4MzI2NWUzMjNjYTRiZGNkYjU4YjVlZSBdCgpBY3Rpb24gc2Ft cGxlIGRvZXNuJ3QgcHJvcGVybHkgaGFuZGxlIHBzYW1wbGVfZ3JvdXAgcG9pbnRlciBpbiBvdmVy d3JpdGUKY2FzZS4gRm9sbG93aW5nIGlzc3VlcyBuZWVkIHRvIGJlIGZpeGVkOgoKLSBJbiB0Y2Zf c2FtcGxlX2luaXQoKSBmdW5jdGlvbiBSQ1VfSU5JVF9QT0lOVEVSKCkgaXMgdXNlZCB0byBzZXQK ICBzLT5wc2FtcGxlX2dyb3VwLCBldmVuIHRob3VnaCB3ZSBuZWl0aGVyIHNldHRpbmcgdGhlIHBv aW50ZXIgdG8gTlVMTCwgbm9yCiAgcHJldmVudGluZyBjb25jdXJyZW50IHJlYWRlcnMgZnJvbSBh Y2Nlc3NpbmcgdGhlIHBvaW50ZXIgaW4gc29tZSB3YXkuCiAgVXNlIHJjdV9zd2FwX3Byb3RlY3Rl ZCgpIGluc3RlYWQgdG8gc2FmZWx5IHJlc2V0IHRoZSBwb2ludGVyLgoKLSBPbGQgdmFsdWUgb2Yg cy0+cHNhbXBsZV9ncm91cCBpcyBub3QgcmVsZWFzZWQgb3IgZGVhbGxvY2F0ZWQgaW4gYW55IHdh eSwKICB3aGljaCByZXN1bHRzIHJlc291cmNlIGxlYWsuIFVzZSBwc2FtcGxlX2dyb3VwX3B1dCgp IG9uIG5vbi1OVUxMIHZhbHVlCiAgb2J0YWluZWQgd2l0aCByY3Vfc3dhcF9wcm90ZWN0ZWQoKS4K Ci0gVGhlIGZ1bmN0aW9uIHBzYW1wbGVfZ3JvdXBfcHV0KCkgdGhhdCByZWxlYXNlZCByZWZlcmVu Y2UgdG8gc3RydWN0CiAgcHNhbXBsZV9ncm91cCBwb2ludGVkIGJ5IHJjdS1wb2ludGVyIHMtPnBz YW1wbGVfZ3JvdXAgZG9lc24ndCByZXNwZWN0IHJjdQogIGdyYWNlIHBlcmlvZCB3aGVuIGRlYWxs b2NhdGluZyBpdC4gRXh0ZW5kIHN0cnVjdCBwc2FtcGxlX2dyb3VwIHdpdGggcmN1CiAgaGVhZCBh bmQgdXNlIGtmcmVlX3JjdSB3aGVuIGZyZWVpbmcgaXQuCgpGaXhlczogNWM1NjcwZmFlNDMwICgi bmV0L3NjaGVkOiBJbnRyb2R1Y2Ugc2FtcGxlIHRjIGFjdGlvbiIpClNpZ25lZC1vZmYtYnk6IFZs YWQgQnVzbG92IDx2bGFkYnVAbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBN aWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogaW5jbHVkZS9uZXQvcHNhbXBsZS5oICB8 IDEgKwogbmV0L3BzYW1wbGUvcHNhbXBsZS5jICB8IDIgKy0KIG5ldC9zY2hlZC9hY3Rfc2FtcGxl LmMgfCA1ICsrKystCiAzIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9wc2FtcGxlLmggYi9pbmNsdWRlL25ldC9w c2FtcGxlLmgKaW5kZXggOWI4MGY4MTRhYjA0Li45NGNiMzdhN2JmNzUgMTAwNjQ0Ci0tLSBhL2lu Y2x1ZGUvbmV0L3BzYW1wbGUuaAorKysgYi9pbmNsdWRlL25ldC9wc2FtcGxlLmgKQEAgLTEyLDYg KzEyLDcgQEAgc3RydWN0IHBzYW1wbGVfZ3JvdXAgewogCXUzMiBncm91cF9udW07CiAJdTMyIHJl ZmNvdW50OwogCXUzMiBzZXE7CisJc3RydWN0IHJjdV9oZWFkIHJjdTsKIH07CiAKIHN0cnVjdCBw c2FtcGxlX2dyb3VwICpwc2FtcGxlX2dyb3VwX2dldChzdHJ1Y3QgbmV0ICpuZXQsIHUzMiBncm91 cF9udW0pOwpkaWZmIC0tZ2l0IGEvbmV0L3BzYW1wbGUvcHNhbXBsZS5jIGIvbmV0L3BzYW1wbGUv cHNhbXBsZS5jCmluZGV4IDY0Zjk1NjI0ZjIxOS4uNGNlYTM1MzIyMWRhIDEwMDY0NAotLS0gYS9u ZXQvcHNhbXBsZS9wc2FtcGxlLmMKKysrIGIvbmV0L3BzYW1wbGUvcHNhbXBsZS5jCkBAIC0xNTYs NyArMTU2LDcgQEAgc3RhdGljIHZvaWQgcHNhbXBsZV9ncm91cF9kZXN0cm95KHN0cnVjdCBwc2Ft cGxlX2dyb3VwICpncm91cCkKIHsKIAlwc2FtcGxlX2dyb3VwX25vdGlmeShncm91cCwgUFNBTVBM RV9DTURfREVMX0dST1VQKTsKIAlsaXN0X2RlbCgmZ3JvdXAtPmxpc3QpOwotCWtmcmVlKGdyb3Vw KTsKKwlrZnJlZV9yY3UoZ3JvdXAsIHJjdSk7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgcHNhbXBsZV9n cm91cCAqCmRpZmYgLS1naXQgYS9uZXQvc2NoZWQvYWN0X3NhbXBsZS5jIGIvbmV0L3NjaGVkL2Fj dF9zYW1wbGUuYwppbmRleCBhYzM3NjU0Y2EyOTIuLjM0ZmY2YzMwZDFlNiAxMDA2NDQKLS0tIGEv bmV0L3NjaGVkL2FjdF9zYW1wbGUuYworKysgYi9uZXQvc2NoZWQvYWN0X3NhbXBsZS5jCkBAIC05 OSw3ICs5OSw4IEBAIHN0YXRpYyBpbnQgdGNmX3NhbXBsZV9pbml0KHN0cnVjdCBuZXQgKm5ldCwg c3RydWN0IG5sYXR0ciAqbmxhLAogCXMtPnRjZl9hY3Rpb24gPSBwYXJtLT5hY3Rpb247CiAJcy0+ cmF0ZSA9IHJhdGU7CiAJcy0+cHNhbXBsZV9ncm91cF9udW0gPSBwc2FtcGxlX2dyb3VwX251bTsK LQlSQ1VfSU5JVF9QT0lOVEVSKHMtPnBzYW1wbGVfZ3JvdXAsIHBzYW1wbGVfZ3JvdXApOworCXJj dV9zd2FwX3Byb3RlY3RlZChzLT5wc2FtcGxlX2dyb3VwLCBwc2FtcGxlX2dyb3VwLAorCQkJICAg bG9ja2RlcF9pc19oZWxkKCZzLT50Y2ZfbG9jaykpOwogCiAJaWYgKHRiW1RDQV9TQU1QTEVfVFJV TkNfU0laRV0pIHsKIAkJcy0+dHJ1bmNhdGUgPSB0cnVlOwpAQCAtMTA3LDYgKzEwOCw4IEBAIHN0 YXRpYyBpbnQgdGNmX3NhbXBsZV9pbml0KHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IG5sYXR0ciAq bmxhLAogCX0KIAlzcGluX3VubG9ja19iaCgmcy0+dGNmX2xvY2spOwogCisJaWYgKHBzYW1wbGVf Z3JvdXApCisJCXBzYW1wbGVfZ3JvdXBfcHV0KHBzYW1wbGVfZ3JvdXApOwogCWlmIChyZXQgPT0g QUNUX1BfQ1JFQVRFRCkKIAkJdGNmX2lkcl9pbnNlcnQodG4sICphKTsKIAlyZXR1cm4gcmV0Owot LSAKMi4yMS4wCgoKRnJvbSA1MDAxMjI3OGRmOGZiMGM5MTY0ZTUwZjdkYjJkOGJmYjA1YmJiZTJm IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDb25nIFdhbmcgPHhpeW91Lndhbmdjb25n QGdtYWlsLmNvbT4KRGF0ZTogU3VuLCAyNSBBdWcgMjAxOSAxMDowMTozMiAtMDcwMApTdWJqZWN0 OiBbUEFUQ0ggNC84XSBuZXRfc2NoZWQ6IGZpeCBhIE5VTEwgcG9pbnRlciBkZXJlZiBpbiBpcHQg YWN0aW9uCgpbIFVwc3RyZWFtIGNvbW1pdCA5ODE0NzFiZDNhYmY0ZDU3MjA5NzY0NWQ3NjUzOTE1 MzNhYWMzMjdkIF0KClRoZSBuZXQgcG9pbnRlciBpbiBzdHJ1Y3QgeHRfdGdkdG9yX3BhcmFtIGlz IG5vdCBleHBsaWNpdGx5CmluaXRpYWxpemVkIHRoZXJlZm9yZSBpcyBzdGlsbCBOVUxMIHdoZW4g ZGVyZWZlcmVuY2luZyBpdC4KU28gd2UgaGF2ZSB0byBmaW5kIGEgd2F5IHRvIHBhc3MgdGhlIGNv cnJlY3QgbmV0IHBvaW50ZXIgdG8KaXB0X2Rlc3Ryb3lfdGFyZ2V0KCkuCgpUaGUgYmVzdCB3YXkg SSBmaW5kIGlzIGp1c3Qgc2F2aW5nIHRoZSBuZXQgcG9pbnRlciBpbnNpZGUgdGhlIHBlcgpuZXRu cyBzdHJ1Y3QgdGNmX2lkcmluZm8sIHdoaWNoIGNvdWxkIG1ha2UgdGhpcyBwYXRjaCBzbWFsbGVy LgoKRml4ZXM6IDBjNjZkYzFlYTNmMCAoIm5ldGZpbHRlcjogY29ubnRyYWNrOiByZWdpc3RlciBo b29rcyBpbiBuZXRucyB3aGVuIG5lZWRlZCBieSBydWxlc2V0IikKUmVwb3J0ZWQtYW5kLXRlc3Rl ZC1ieTogaXR1Z3Jva0B5YWhvby5jb20KQ2M6IEphbWFsIEhhZGkgU2FsaW0gPGpoc0Btb2phdGF0 dS5jb20+CkNjOiBKaXJpIFBpcmtvIDxqaXJpQHJlc251bGxpLnVzPgpTaWduZWQtb2ZmLWJ5OiBD b25nIFdhbmcgPHhpeW91Lndhbmdjb25nQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQg Uy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGluY2x1ZGUvbmV0L2FjdF9hcGku aCAgICAgIHwgIDQgKysrLQogbmV0L3NjaGVkL2FjdF9icGYuYyAgICAgICAgfCAgMiArLQogbmV0 L3NjaGVkL2FjdF9jb25ubWFyay5jICAgfCAgMiArLQogbmV0L3NjaGVkL2FjdF9jc3VtLmMgICAg ICAgfCAgMiArLQogbmV0L3NjaGVkL2FjdF9nYWN0LmMgICAgICAgfCAgMiArLQogbmV0L3NjaGVk L2FjdF9pZmUuYyAgICAgICAgfCAgMiArLQogbmV0L3NjaGVkL2FjdF9pcHQuYyAgICAgICAgfCAx MSArKysrKystLS0tLQogbmV0L3NjaGVkL2FjdF9taXJyZWQuYyAgICAgfCAgMiArLQogbmV0L3Nj aGVkL2FjdF9uYXQuYyAgICAgICAgfCAgMiArLQogbmV0L3NjaGVkL2FjdF9wZWRpdC5jICAgICAg fCAgMiArLQogbmV0L3NjaGVkL2FjdF9wb2xpY2UuYyAgICAgfCAgMiArLQogbmV0L3NjaGVkL2Fj dF9zYW1wbGUuYyAgICAgfCAgMiArLQogbmV0L3NjaGVkL2FjdF9zaW1wbGUuYyAgICAgfCAgMiAr LQogbmV0L3NjaGVkL2FjdF9za2JlZGl0LmMgICAgfCAgMiArLQogbmV0L3NjaGVkL2FjdF9za2Jt b2QuYyAgICAgfCAgMiArLQogbmV0L3NjaGVkL2FjdF90dW5uZWxfa2V5LmMgfCAgMiArLQogbmV0 L3NjaGVkL2FjdF92bGFuLmMgICAgICAgfCAgMiArLQogMTcgZmlsZXMgY2hhbmdlZCwgMjQgaW5z ZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9uZXQvYWN0 X2FwaS5oIGIvaW5jbHVkZS9uZXQvYWN0X2FwaS5oCmluZGV4IDk3MDMwMzQ0OGM5MC4uMGM4MmQ3 ZWE2ZWUxIDEwMDY0NAotLS0gYS9pbmNsdWRlL25ldC9hY3RfYXBpLmgKKysrIGIvaW5jbHVkZS9u ZXQvYWN0X2FwaS5oCkBAIC0xNSw2ICsxNSw3IEBACiBzdHJ1Y3QgdGNmX2lkcmluZm8gewogCXNw aW5sb2NrX3QJbG9jazsKIAlzdHJ1Y3QgaWRyCWFjdGlvbl9pZHI7CisJc3RydWN0IG5ldAkqbmV0 OwogfTsKIAogc3RydWN0IHRjX2FjdGlvbl9vcHM7CkBAIC0xMDcsNyArMTA4LDcgQEAgc3RydWN0 IHRjX2FjdGlvbl9uZXQgewogfTsKIAogc3RhdGljIGlubGluZQotaW50IHRjX2FjdGlvbl9uZXRf aW5pdChzdHJ1Y3QgdGNfYWN0aW9uX25ldCAqdG4sCitpbnQgdGNfYWN0aW9uX25ldF9pbml0KHN0 cnVjdCBuZXQgKm5ldCwgc3RydWN0IHRjX2FjdGlvbl9uZXQgKnRuLAogCQkgICAgICAgY29uc3Qg c3RydWN0IHRjX2FjdGlvbl9vcHMgKm9wcykKIHsKIAlpbnQgZXJyID0gMDsKQEAgLTExNiw2ICsx MTcsNyBAQCBpbnQgdGNfYWN0aW9uX25ldF9pbml0KHN0cnVjdCB0Y19hY3Rpb25fbmV0ICp0biwK IAlpZiAoIXRuLT5pZHJpbmZvKQogCQlyZXR1cm4gLUVOT01FTTsKIAl0bi0+b3BzID0gb3BzOwor CXRuLT5pZHJpbmZvLT5uZXQgPSBuZXQ7CiAJc3Bpbl9sb2NrX2luaXQoJnRuLT5pZHJpbmZvLT5s b2NrKTsKIAlpZHJfaW5pdCgmdG4tPmlkcmluZm8tPmFjdGlvbl9pZHIpOwogCXJldHVybiBlcnI7 CmRpZmYgLS1naXQgYS9uZXQvc2NoZWQvYWN0X2JwZi5jIGIvbmV0L3NjaGVkL2FjdF9icGYuYwpp bmRleCAyMGZhZTVjYTg3ZmEuLjgwMDg0NmQ3N2E1NiAxMDA2NDQKLS0tIGEvbmV0L3NjaGVkL2Fj dF9icGYuYworKysgYi9uZXQvc2NoZWQvYWN0X2JwZi5jCkBAIC00MTMsNyArNDEzLDcgQEAgc3Rh dGljIF9fbmV0X2luaXQgaW50IGJwZl9pbml0X25ldChzdHJ1Y3QgbmV0ICpuZXQpCiB7CiAJc3Ry dWN0IHRjX2FjdGlvbl9uZXQgKnRuID0gbmV0X2dlbmVyaWMobmV0LCBicGZfbmV0X2lkKTsKIAot CXJldHVybiB0Y19hY3Rpb25fbmV0X2luaXQodG4sICZhY3RfYnBmX29wcyk7CisJcmV0dXJuIHRj X2FjdGlvbl9uZXRfaW5pdChuZXQsIHRuLCAmYWN0X2JwZl9vcHMpOwogfQogCiBzdGF0aWMgdm9p ZCBfX25ldF9leGl0IGJwZl9leGl0X25ldChzdHJ1Y3QgbGlzdF9oZWFkICpuZXRfbGlzdCkKZGlm ZiAtLWdpdCBhL25ldC9zY2hlZC9hY3RfY29ubm1hcmsuYyBiL25ldC9zY2hlZC9hY3RfY29ubm1h cmsuYwppbmRleCA2MDU0MzY3NDc5NzguLjUzOGRlZGQ4NGUyMSAxMDA2NDQKLS0tIGEvbmV0L3Nj aGVkL2FjdF9jb25ubWFyay5jCisrKyBiL25ldC9zY2hlZC9hY3RfY29ubm1hcmsuYwpAQCAtMjE1 LDcgKzIxNSw3IEBAIHN0YXRpYyBfX25ldF9pbml0IGludCBjb25ubWFya19pbml0X25ldChzdHJ1 Y3QgbmV0ICpuZXQpCiB7CiAJc3RydWN0IHRjX2FjdGlvbl9uZXQgKnRuID0gbmV0X2dlbmVyaWMo bmV0LCBjb25ubWFya19uZXRfaWQpOwogCi0JcmV0dXJuIHRjX2FjdGlvbl9uZXRfaW5pdCh0biwg JmFjdF9jb25ubWFya19vcHMpOworCXJldHVybiB0Y19hY3Rpb25fbmV0X2luaXQobmV0LCB0biwg JmFjdF9jb25ubWFya19vcHMpOwogfQogCiBzdGF0aWMgdm9pZCBfX25ldF9leGl0IGNvbm5tYXJr X2V4aXRfbmV0KHN0cnVjdCBsaXN0X2hlYWQgKm5ldF9saXN0KQpkaWZmIC0tZ2l0IGEvbmV0L3Nj aGVkL2FjdF9jc3VtLmMgYi9uZXQvc2NoZWQvYWN0X2NzdW0uYwppbmRleCA0MDQzNzE5N2UwNTMu LjFlMjY5NDQxMDY1YSAxMDA2NDQKLS0tIGEvbmV0L3NjaGVkL2FjdF9jc3VtLmMKKysrIGIvbmV0 L3NjaGVkL2FjdF9jc3VtLmMKQEAgLTY3OCw3ICs2NzgsNyBAQCBzdGF0aWMgX19uZXRfaW5pdCBp bnQgY3N1bV9pbml0X25ldChzdHJ1Y3QgbmV0ICpuZXQpCiB7CiAJc3RydWN0IHRjX2FjdGlvbl9u ZXQgKnRuID0gbmV0X2dlbmVyaWMobmV0LCBjc3VtX25ldF9pZCk7CiAKLQlyZXR1cm4gdGNfYWN0 aW9uX25ldF9pbml0KHRuLCAmYWN0X2NzdW1fb3BzKTsKKwlyZXR1cm4gdGNfYWN0aW9uX25ldF9p bml0KG5ldCwgdG4sICZhY3RfY3N1bV9vcHMpOwogfQogCiBzdGF0aWMgdm9pZCBfX25ldF9leGl0 IGNzdW1fZXhpdF9uZXQoc3RydWN0IGxpc3RfaGVhZCAqbmV0X2xpc3QpCmRpZmYgLS1naXQgYS9u ZXQvc2NoZWQvYWN0X2dhY3QuYyBiL25ldC9zY2hlZC9hY3RfZ2FjdC5jCmluZGV4IDcyZDMzNDdi ZGQ0MS4uZGZlZjk2MjEzNzVlIDEwMDY0NAotLS0gYS9uZXQvc2NoZWQvYWN0X2dhY3QuYworKysg Yi9uZXQvc2NoZWQvYWN0X2dhY3QuYwpAQCAtMjYzLDcgKzI2Myw3IEBAIHN0YXRpYyBfX25ldF9p bml0IGludCBnYWN0X2luaXRfbmV0KHN0cnVjdCBuZXQgKm5ldCkKIHsKIAlzdHJ1Y3QgdGNfYWN0 aW9uX25ldCAqdG4gPSBuZXRfZ2VuZXJpYyhuZXQsIGdhY3RfbmV0X2lkKTsKIAotCXJldHVybiB0 Y19hY3Rpb25fbmV0X2luaXQodG4sICZhY3RfZ2FjdF9vcHMpOworCXJldHVybiB0Y19hY3Rpb25f bmV0X2luaXQobmV0LCB0biwgJmFjdF9nYWN0X29wcyk7CiB9CiAKIHN0YXRpYyB2b2lkIF9fbmV0 X2V4aXQgZ2FjdF9leGl0X25ldChzdHJ1Y3QgbGlzdF9oZWFkICpuZXRfbGlzdCkKZGlmZiAtLWdp dCBhL25ldC9zY2hlZC9hY3RfaWZlLmMgYi9uZXQvc2NoZWQvYWN0X2lmZS5jCmluZGV4IDI0MDQ3 ZTBlNWRiMC4uYmFjMzUzYmVhMDJmIDEwMDY0NAotLS0gYS9uZXQvc2NoZWQvYWN0X2lmZS5jCisr KyBiL25ldC9zY2hlZC9hY3RfaWZlLmMKQEAgLTg4Nyw3ICs4ODcsNyBAQCBzdGF0aWMgX19uZXRf aW5pdCBpbnQgaWZlX2luaXRfbmV0KHN0cnVjdCBuZXQgKm5ldCkKIHsKIAlzdHJ1Y3QgdGNfYWN0 aW9uX25ldCAqdG4gPSBuZXRfZ2VuZXJpYyhuZXQsIGlmZV9uZXRfaWQpOwogCi0JcmV0dXJuIHRj X2FjdGlvbl9uZXRfaW5pdCh0biwgJmFjdF9pZmVfb3BzKTsKKwlyZXR1cm4gdGNfYWN0aW9uX25l dF9pbml0KG5ldCwgdG4sICZhY3RfaWZlX29wcyk7CiB9CiAKIHN0YXRpYyB2b2lkIF9fbmV0X2V4 aXQgaWZlX2V4aXRfbmV0KHN0cnVjdCBsaXN0X2hlYWQgKm5ldF9saXN0KQpkaWZmIC0tZ2l0IGEv bmV0L3NjaGVkL2FjdF9pcHQuYyBiL25ldC9zY2hlZC9hY3RfaXB0LmMKaW5kZXggMzM0ZjNhMDU3 NjcxLi4wMWQzNjY5ZWY0OTggMTAwNjQ0Ci0tLSBhL25ldC9zY2hlZC9hY3RfaXB0LmMKKysrIGIv bmV0L3NjaGVkL2FjdF9pcHQuYwpAQCAtNjUsMTIgKzY1LDEzIEBAIHN0YXRpYyBpbnQgaXB0X2lu aXRfdGFyZ2V0KHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IHh0X2VudHJ5X3RhcmdldCAqdCwKIAly ZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgaXB0X2Rlc3Ryb3lfdGFyZ2V0KHN0cnVjdCB4dF9l bnRyeV90YXJnZXQgKnQpCitzdGF0aWMgdm9pZCBpcHRfZGVzdHJveV90YXJnZXQoc3RydWN0IHh0 X2VudHJ5X3RhcmdldCAqdCwgc3RydWN0IG5ldCAqbmV0KQogewogCXN0cnVjdCB4dF90Z2R0b3Jf cGFyYW0gcGFyID0gewogCQkudGFyZ2V0ICAgPSB0LT51Lmtlcm5lbC50YXJnZXQsCiAJCS50YXJn aW5mbyA9IHQtPmRhdGEsCiAJCS5mYW1pbHkgICA9IE5GUFJPVE9fSVBWNCwKKwkJLm5ldCAgICAg ID0gbmV0LAogCX07CiAJaWYgKHBhci50YXJnZXQtPmRlc3Ryb3kgIT0gTlVMTCkKIAkJcGFyLnRh cmdldC0+ZGVzdHJveSgmcGFyKTsKQEAgLTgyLDcgKzgzLDcgQEAgc3RhdGljIHZvaWQgdGNmX2lw dF9yZWxlYXNlKHN0cnVjdCB0Y19hY3Rpb24gKmEpCiAJc3RydWN0IHRjZl9pcHQgKmlwdCA9IHRv X2lwdChhKTsKIAogCWlmIChpcHQtPnRjZmlfdCkgewotCQlpcHRfZGVzdHJveV90YXJnZXQoaXB0 LT50Y2ZpX3QpOworCQlpcHRfZGVzdHJveV90YXJnZXQoaXB0LT50Y2ZpX3QsIGEtPmlkcmluZm8t Pm5ldCk7CiAJCWtmcmVlKGlwdC0+dGNmaV90KTsKIAl9CiAJa2ZyZWUoaXB0LT50Y2ZpX3RuYW1l KTsKQEAgLTE4Miw3ICsxODMsNyBAQCBzdGF0aWMgaW50IF9fdGNmX2lwdF9pbml0KHN0cnVjdCBu ZXQgKm5ldCwgdW5zaWduZWQgaW50IGlkLCBzdHJ1Y3QgbmxhdHRyICpubGEsCiAKIAlzcGluX2xv Y2tfYmgoJmlwdC0+dGNmX2xvY2spOwogCWlmIChyZXQgIT0gQUNUX1BfQ1JFQVRFRCkgewotCQlp cHRfZGVzdHJveV90YXJnZXQoaXB0LT50Y2ZpX3QpOworCQlpcHRfZGVzdHJveV90YXJnZXQoaXB0 LT50Y2ZpX3QsIG5ldCk7CiAJCWtmcmVlKGlwdC0+dGNmaV90bmFtZSk7CiAJCWtmcmVlKGlwdC0+ dGNmaV90KTsKIAl9CkBAIC0zNTMsNyArMzU0LDcgQEAgc3RhdGljIF9fbmV0X2luaXQgaW50IGlw dF9pbml0X25ldChzdHJ1Y3QgbmV0ICpuZXQpCiB7CiAJc3RydWN0IHRjX2FjdGlvbl9uZXQgKnRu ID0gbmV0X2dlbmVyaWMobmV0LCBpcHRfbmV0X2lkKTsKIAotCXJldHVybiB0Y19hY3Rpb25fbmV0 X2luaXQodG4sICZhY3RfaXB0X29wcyk7CisJcmV0dXJuIHRjX2FjdGlvbl9uZXRfaW5pdChuZXQs IHRuLCAmYWN0X2lwdF9vcHMpOwogfQogCiBzdGF0aWMgdm9pZCBfX25ldF9leGl0IGlwdF9leGl0 X25ldChzdHJ1Y3QgbGlzdF9oZWFkICpuZXRfbGlzdCkKQEAgLTQwMyw3ICs0MDQsNyBAQCBzdGF0 aWMgX19uZXRfaW5pdCBpbnQgeHRfaW5pdF9uZXQoc3RydWN0IG5ldCAqbmV0KQogewogCXN0cnVj dCB0Y19hY3Rpb25fbmV0ICp0biA9IG5ldF9nZW5lcmljKG5ldCwgeHRfbmV0X2lkKTsKIAotCXJl dHVybiB0Y19hY3Rpb25fbmV0X2luaXQodG4sICZhY3RfeHRfb3BzKTsKKwlyZXR1cm4gdGNfYWN0 aW9uX25ldF9pbml0KG5ldCwgdG4sICZhY3RfeHRfb3BzKTsKIH0KIAogc3RhdGljIHZvaWQgX19u ZXRfZXhpdCB4dF9leGl0X25ldChzdHJ1Y3QgbGlzdF9oZWFkICpuZXRfbGlzdCkKZGlmZiAtLWdp dCBhL25ldC9zY2hlZC9hY3RfbWlycmVkLmMgYi9uZXQvc2NoZWQvYWN0X21pcnJlZC5jCmluZGV4 IDU0ODYxNGJkOTM2Ni4uMzk5ZTNiZWFlNmNmIDEwMDY0NAotLS0gYS9uZXQvc2NoZWQvYWN0X21p cnJlZC5jCisrKyBiL25ldC9zY2hlZC9hY3RfbWlycmVkLmMKQEAgLTQxOSw3ICs0MTksNyBAQCBz dGF0aWMgX19uZXRfaW5pdCBpbnQgbWlycmVkX2luaXRfbmV0KHN0cnVjdCBuZXQgKm5ldCkKIHsK IAlzdHJ1Y3QgdGNfYWN0aW9uX25ldCAqdG4gPSBuZXRfZ2VuZXJpYyhuZXQsIG1pcnJlZF9uZXRf aWQpOwogCi0JcmV0dXJuIHRjX2FjdGlvbl9uZXRfaW5pdCh0biwgJmFjdF9taXJyZWRfb3BzKTsK KwlyZXR1cm4gdGNfYWN0aW9uX25ldF9pbml0KG5ldCwgdG4sICZhY3RfbWlycmVkX29wcyk7CiB9 CiAKIHN0YXRpYyB2b2lkIF9fbmV0X2V4aXQgbWlycmVkX2V4aXRfbmV0KHN0cnVjdCBsaXN0X2hl YWQgKm5ldF9saXN0KQpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL2FjdF9uYXQuYyBiL25ldC9zY2hl ZC9hY3RfbmF0LmMKaW5kZXggNjE5ODI4OTIwYjk3Li5kMWI0N2ExYjE0NWMgMTAwNjQ0Ci0tLSBh L25ldC9zY2hlZC9hY3RfbmF0LmMKKysrIGIvbmV0L3NjaGVkL2FjdF9uYXQuYwpAQCAtMzE3LDcg KzMxNyw3IEBAIHN0YXRpYyBfX25ldF9pbml0IGludCBuYXRfaW5pdF9uZXQoc3RydWN0IG5ldCAq bmV0KQogewogCXN0cnVjdCB0Y19hY3Rpb25fbmV0ICp0biA9IG5ldF9nZW5lcmljKG5ldCwgbmF0 X25ldF9pZCk7CiAKLQlyZXR1cm4gdGNfYWN0aW9uX25ldF9pbml0KHRuLCAmYWN0X25hdF9vcHMp OworCXJldHVybiB0Y19hY3Rpb25fbmV0X2luaXQobmV0LCB0biwgJmFjdF9uYXRfb3BzKTsKIH0K IAogc3RhdGljIHZvaWQgX19uZXRfZXhpdCBuYXRfZXhpdF9uZXQoc3RydWN0IGxpc3RfaGVhZCAq bmV0X2xpc3QpCmRpZmYgLS1naXQgYS9uZXQvc2NoZWQvYWN0X3BlZGl0LmMgYi9uZXQvc2NoZWQv YWN0X3BlZGl0LmMKaW5kZXggODJkMjU4YjJhNzVhLi4zM2MwY2M1ZWYyMjkgMTAwNjQ0Ci0tLSBh L25ldC9zY2hlZC9hY3RfcGVkaXQuYworKysgYi9uZXQvc2NoZWQvYWN0X3BlZGl0LmMKQEAgLTQ4 OCw3ICs0ODgsNyBAQCBzdGF0aWMgX19uZXRfaW5pdCBpbnQgcGVkaXRfaW5pdF9uZXQoc3RydWN0 IG5ldCAqbmV0KQogewogCXN0cnVjdCB0Y19hY3Rpb25fbmV0ICp0biA9IG5ldF9nZW5lcmljKG5l dCwgcGVkaXRfbmV0X2lkKTsKIAotCXJldHVybiB0Y19hY3Rpb25fbmV0X2luaXQodG4sICZhY3Rf cGVkaXRfb3BzKTsKKwlyZXR1cm4gdGNfYWN0aW9uX25ldF9pbml0KG5ldCwgdG4sICZhY3RfcGVk aXRfb3BzKTsKIH0KIAogc3RhdGljIHZvaWQgX19uZXRfZXhpdCBwZWRpdF9leGl0X25ldChzdHJ1 Y3QgbGlzdF9oZWFkICpuZXRfbGlzdCkKZGlmZiAtLWdpdCBhL25ldC9zY2hlZC9hY3RfcG9saWNl LmMgYi9uZXQvc2NoZWQvYWN0X3BvbGljZS5jCmluZGV4IDk5N2MzNGRiMTQ5MS4uNGRiMjU5NTll MTU2IDEwMDY0NAotLS0gYS9uZXQvc2NoZWQvYWN0X3BvbGljZS5jCisrKyBiL25ldC9zY2hlZC9h Y3RfcG9saWNlLmMKQEAgLTM0Miw3ICszNDIsNyBAQCBzdGF0aWMgX19uZXRfaW5pdCBpbnQgcG9s aWNlX2luaXRfbmV0KHN0cnVjdCBuZXQgKm5ldCkKIHsKIAlzdHJ1Y3QgdGNfYWN0aW9uX25ldCAq dG4gPSBuZXRfZ2VuZXJpYyhuZXQsIHBvbGljZV9uZXRfaWQpOwogCi0JcmV0dXJuIHRjX2FjdGlv bl9uZXRfaW5pdCh0biwgJmFjdF9wb2xpY2Vfb3BzKTsKKwlyZXR1cm4gdGNfYWN0aW9uX25ldF9p bml0KG5ldCwgdG4sICZhY3RfcG9saWNlX29wcyk7CiB9CiAKIHN0YXRpYyB2b2lkIF9fbmV0X2V4 aXQgcG9saWNlX2V4aXRfbmV0KHN0cnVjdCBsaXN0X2hlYWQgKm5ldF9saXN0KQpkaWZmIC0tZ2l0 IGEvbmV0L3NjaGVkL2FjdF9zYW1wbGUuYyBiL25ldC9zY2hlZC9hY3Rfc2FtcGxlLmMKaW5kZXgg MzRmZjZjMzBkMWU2Li45ODYzNTMxMWE1YTAgMTAwNjQ0Ci0tLSBhL25ldC9zY2hlZC9hY3Rfc2Ft cGxlLmMKKysrIGIvbmV0L3NjaGVkL2FjdF9zYW1wbGUuYwpAQCAtMjU4LDcgKzI1OCw3IEBAIHN0 YXRpYyBfX25ldF9pbml0IGludCBzYW1wbGVfaW5pdF9uZXQoc3RydWN0IG5ldCAqbmV0KQogewog CXN0cnVjdCB0Y19hY3Rpb25fbmV0ICp0biA9IG5ldF9nZW5lcmljKG5ldCwgc2FtcGxlX25ldF9p ZCk7CiAKLQlyZXR1cm4gdGNfYWN0aW9uX25ldF9pbml0KHRuLCAmYWN0X3NhbXBsZV9vcHMpOwor CXJldHVybiB0Y19hY3Rpb25fbmV0X2luaXQobmV0LCB0biwgJmFjdF9zYW1wbGVfb3BzKTsKIH0K IAogc3RhdGljIHZvaWQgX19uZXRfZXhpdCBzYW1wbGVfZXhpdF9uZXQoc3RydWN0IGxpc3RfaGVh ZCAqbmV0X2xpc3QpCmRpZmYgLS1naXQgYS9uZXQvc2NoZWQvYWN0X3NpbXBsZS5jIGIvbmV0L3Nj aGVkL2FjdF9zaW1wbGUuYwppbmRleCA2NThlZmFlNzFhMDkuLmI0MThlZjYyZTBhNCAxMDA2NDQK LS0tIGEvbmV0L3NjaGVkL2FjdF9zaW1wbGUuYworKysgYi9uZXQvc2NoZWQvYWN0X3NpbXBsZS5j CkBAIC0yMTUsNyArMjE1LDcgQEAgc3RhdGljIF9fbmV0X2luaXQgaW50IHNpbXBfaW5pdF9uZXQo c3RydWN0IG5ldCAqbmV0KQogewogCXN0cnVjdCB0Y19hY3Rpb25fbmV0ICp0biA9IG5ldF9nZW5l cmljKG5ldCwgc2ltcF9uZXRfaWQpOwogCi0JcmV0dXJuIHRjX2FjdGlvbl9uZXRfaW5pdCh0biwg JmFjdF9zaW1wX29wcyk7CisJcmV0dXJuIHRjX2FjdGlvbl9uZXRfaW5pdChuZXQsIHRuLCAmYWN0 X3NpbXBfb3BzKTsKIH0KIAogc3RhdGljIHZvaWQgX19uZXRfZXhpdCBzaW1wX2V4aXRfbmV0KHN0 cnVjdCBsaXN0X2hlYWQgKm5ldF9saXN0KQpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL2FjdF9za2Jl ZGl0LmMgYi9uZXQvc2NoZWQvYWN0X3NrYmVkaXQuYwppbmRleCA3NzA5NzEwYTQxZjcuLmE4MDE3 OWMxMDc1ZiAxMDA2NDQKLS0tIGEvbmV0L3NjaGVkL2FjdF9za2JlZGl0LmMKKysrIGIvbmV0L3Nj aGVkL2FjdF9za2JlZGl0LmMKQEAgLTMxNiw3ICszMTYsNyBAQCBzdGF0aWMgX19uZXRfaW5pdCBp bnQgc2tiZWRpdF9pbml0X25ldChzdHJ1Y3QgbmV0ICpuZXQpCiB7CiAJc3RydWN0IHRjX2FjdGlv bl9uZXQgKnRuID0gbmV0X2dlbmVyaWMobmV0LCBza2JlZGl0X25ldF9pZCk7CiAKLQlyZXR1cm4g dGNfYWN0aW9uX25ldF9pbml0KHRuLCAmYWN0X3NrYmVkaXRfb3BzKTsKKwlyZXR1cm4gdGNfYWN0 aW9uX25ldF9pbml0KG5ldCwgdG4sICZhY3Rfc2tiZWRpdF9vcHMpOwogfQogCiBzdGF0aWMgdm9p ZCBfX25ldF9leGl0IHNrYmVkaXRfZXhpdF9uZXQoc3RydWN0IGxpc3RfaGVhZCAqbmV0X2xpc3Qp CmRpZmYgLS1naXQgYS9uZXQvc2NoZWQvYWN0X3NrYm1vZC5jIGIvbmV0L3NjaGVkL2FjdF9za2Jt b2QuYwppbmRleCAzMDM4NDkzZDE4Y2EuLjIxZDE5NTI5NjEyMSAxMDA2NDQKLS0tIGEvbmV0L3Nj aGVkL2FjdF9za2Jtb2QuYworKysgYi9uZXQvc2NoZWQvYWN0X3NrYm1vZC5jCkBAIC0yNzcsNyAr Mjc3LDcgQEAgc3RhdGljIF9fbmV0X2luaXQgaW50IHNrYm1vZF9pbml0X25ldChzdHJ1Y3QgbmV0 ICpuZXQpCiB7CiAJc3RydWN0IHRjX2FjdGlvbl9uZXQgKnRuID0gbmV0X2dlbmVyaWMobmV0LCBz a2Jtb2RfbmV0X2lkKTsKIAotCXJldHVybiB0Y19hY3Rpb25fbmV0X2luaXQodG4sICZhY3Rfc2ti bW9kX29wcyk7CisJcmV0dXJuIHRjX2FjdGlvbl9uZXRfaW5pdChuZXQsIHRuLCAmYWN0X3NrYm1v ZF9vcHMpOwogfQogCiBzdGF0aWMgdm9pZCBfX25ldF9leGl0IHNrYm1vZF9leGl0X25ldChzdHJ1 Y3QgbGlzdF9oZWFkICpuZXRfbGlzdCkKZGlmZiAtLWdpdCBhL25ldC9zY2hlZC9hY3RfdHVubmVs X2tleS5jIGIvbmV0L3NjaGVkL2FjdF90dW5uZWxfa2V5LmMKaW5kZXggNjZiZmU1N2U3NGFlLi40 MzMwOWZmMmI1ZGMgMTAwNjQ0Ci0tLSBhL25ldC9zY2hlZC9hY3RfdHVubmVsX2tleS5jCisrKyBi L25ldC9zY2hlZC9hY3RfdHVubmVsX2tleS5jCkBAIC01NzksNyArNTc5LDcgQEAgc3RhdGljIF9f bmV0X2luaXQgaW50IHR1bm5lbF9rZXlfaW5pdF9uZXQoc3RydWN0IG5ldCAqbmV0KQogewogCXN0 cnVjdCB0Y19hY3Rpb25fbmV0ICp0biA9IG5ldF9nZW5lcmljKG5ldCwgdHVubmVsX2tleV9uZXRf aWQpOwogCi0JcmV0dXJuIHRjX2FjdGlvbl9uZXRfaW5pdCh0biwgJmFjdF90dW5uZWxfa2V5X29w cyk7CisJcmV0dXJuIHRjX2FjdGlvbl9uZXRfaW5pdChuZXQsIHRuLCAmYWN0X3R1bm5lbF9rZXlf b3BzKTsKIH0KIAogc3RhdGljIHZvaWQgX19uZXRfZXhpdCB0dW5uZWxfa2V5X2V4aXRfbmV0KHN0 cnVjdCBsaXN0X2hlYWQgKm5ldF9saXN0KQpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL2FjdF92bGFu LmMgYi9uZXQvc2NoZWQvYWN0X3ZsYW4uYwppbmRleCBkYTk5M2VkZDJlNDAuLjQxNTI4Yjk2NjQ0 MCAxMDA2NDQKLS0tIGEvbmV0L3NjaGVkL2FjdF92bGFuLmMKKysrIGIvbmV0L3NjaGVkL2FjdF92 bGFuLmMKQEAgLTMyNCw3ICszMjQsNyBAQCBzdGF0aWMgX19uZXRfaW5pdCBpbnQgdmxhbl9pbml0 X25ldChzdHJ1Y3QgbmV0ICpuZXQpCiB7CiAJc3RydWN0IHRjX2FjdGlvbl9uZXQgKnRuID0gbmV0 X2dlbmVyaWMobmV0LCB2bGFuX25ldF9pZCk7CiAKLQlyZXR1cm4gdGNfYWN0aW9uX25ldF9pbml0 KHRuLCAmYWN0X3ZsYW5fb3BzKTsKKwlyZXR1cm4gdGNfYWN0aW9uX25ldF9pbml0KG5ldCwgdG4s ICZhY3Rfdmxhbl9vcHMpOwogfQogCiBzdGF0aWMgdm9pZCBfX25ldF9leGl0IHZsYW5fZXhpdF9u ZXQoc3RydWN0IGxpc3RfaGVhZCAqbmV0X2xpc3QpCi0tIAoyLjIxLjAKCgpGcm9tIDQyZWEwMTAy ZThmZjE0MDhmMzExN2NhMDIxZDY3NzM1ZGZkYTAxYWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IENoZW4tWXUgVHNhaSA8d2Vuc0Bjc2llLm9yZz4KRGF0ZTogVGh1LCAyOSBBdWcgMjAx OSAxMToxNzoyNCArMDgwMApTdWJqZWN0OiBbUEFUQ0ggNS84XSBuZXQ6IHN0bW1hYzogZHdtYWMt cms6IERvbid0IGZhaWwgaWYgcGh5IHJlZ3VsYXRvciBpcwogYWJzZW50CgpbIFVwc3RyZWFtIGNv bW1pdCAzYjI1NTI4ZTFlMzU1YzgwM2U3M2FhMzI2Y2U2NTdiNTYwNmNkYTczIF0KClRoZSBkZXZp Y2V0cmVlIGJpbmRpbmcgbGlzdHMgdGhlIHBoeSBwaHkgYXMgb3B0aW9uYWwuIEFzIHN1Y2gsIHRo ZQpkcml2ZXIgc2hvdWxkIG5vdCBiYWlsIG91dCBpZiBpdCBjYW4ndCBmaW5kIGEgcmVndWxhdG9y LiBJbnN0ZWFkIGl0CnNob3VsZCBqdXN0IHNraXAgdGhlIHJlbWFpbmluZyByZWd1bGF0b3IgcmVs YXRlZCBjb2RlIGFuZCBjb250aW51ZQpvbiBub3JtYWxseS4KClNraXAgdGhlIHJlbWFpbmRlciBv ZiBwaHlfcG93ZXJfb24oKSBpZiBhIHJlZ3VsYXRvciBzdXBwbHkgaXNuJ3QKYXZhaWxhYmxlLiBU aGlzIGFsc28gZ2V0cyByaWQgb2YgdGhlIGJvZ3VzIHJldHVybiBjb2RlLgoKRml4ZXM6IDJlMTJm NTM2NjM1ZiAoIm5ldDogc3RtbWFjOiBkd21hYy1yazogVXNlIHN0YW5kYXJkIGRldmljZXRyZWUg cHJvcGVydHkgZm9yIHBoeSByZWd1bGF0b3IiKQpTaWduZWQtb2ZmLWJ5OiBDaGVuLVl1IFRzYWkg PHdlbnNAY3NpZS5vcmc+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2 ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21h Yy1yay5jIHwgNiArKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDQgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1t YWMvZHdtYWMtcmsuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFj LXJrLmMKaW5kZXggM2IxNzRlYWU3N2MxLi5mNDVkZjZkZjY5MzIgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmMKKysrIGIvZHJpdmVycy9u ZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYwpAQCAtMTIwMywxMCArMTIwMyw4 IEBAIHN0YXRpYyBpbnQgcGh5X3Bvd2VyX29uKHN0cnVjdCBya19wcml2X2RhdGEgKmJzcF9wcml2 LCBib29sIGVuYWJsZSkKIAlpbnQgcmV0OwogCXN0cnVjdCBkZXZpY2UgKmRldiA9ICZic3BfcHJp di0+cGRldi0+ZGV2OwogCi0JaWYgKCFsZG8pIHsKLQkJZGV2X2VycihkZXYsICJubyByZWd1bGF0 b3IgZm91bmRcbiIpOwotCQlyZXR1cm4gLTE7Ci0JfQorCWlmICghbGRvKQorCQlyZXR1cm4gMDsK IAogCWlmIChlbmFibGUpIHsKIAkJcmV0ID0gcmVndWxhdG9yX2VuYWJsZShsZG8pOwotLSAKMi4y MS4wCgoKRnJvbSA0M2FkMWVjYmI1ZDZmYmFjZjcwM2NiNjVkYjUwNjI4ZTc5YTY4ZTNlIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBXaWxsZW0gZGUgQnJ1aWpuIDx3aWxsZW1iQGdvb2ds ZS5jb20+CkRhdGU6IFR1ZSwgMjcgQXVnIDIwMTkgMTU6MDk6MzMgLTA0MDAKU3ViamVjdDogW1BB VENIIDYvOF0gdGNwOiBpbmhlcml0IHRpbWVzdGFtcCBvbiBtdHUgcHJvYmUKClsgVXBzdHJlYW0g Y29tbWl0IDg4OGE1YzUzYzBkOGJlNmU5OGJjODViNjc3ZjE3OWY3N2E2NDc4NzMgXQoKVENQIGFz c29jaWF0ZXMgdHggdGltZXN0YW1wIHJlcXVlc3RzIHdpdGggYSBieXRlIGluIHRoZSBieXRlc3Ry ZWFtLgpJZiBtZXJnaW5nIHNrYnMgaW4gdGNwX210dV9wcm9iZSwgbWlncmF0ZSB0aGUgdHN0YW1w IHJlcXVlc3QuCgpTaW1pbGFyIHRvIE1TR19FT1IsIGRvIG5vdCBhbGxvdyBtb3ZpbmcgYSB0aW1l c3RhbXAgZnJvbSBhbnkgc2VnbWVudAppbiB0aGUgcHJvYmUgYnV0IHRoZSBsYXN0LiBUaGlzIHRv IGF2b2lkIG1lcmdpbmcgbXVsdGlwbGUgdGltZXN0YW1wcy4KClRlc3RlZCB3aXRoIHRoZSBwYWNr ZXRkcmlsbCBzY3JpcHQgYXQKaHR0cHM6Ly9naXRodWIuY29tL3dkZWJydWlqL3BhY2tldGRyaWxs L2NvbW1pdHMvbXR1X3Byb2JlLTEKCkxpbms6IGh0dHA6Ly9wYXRjaHdvcmsub3psYWJzLm9yZy9w YXRjaC8xMTQzMjc4LyMyMjMyODk3CkZpeGVzOiA0ZWQyZDc2NWRmYWMgKCJuZXQtdGltZXN0YW1w OiBUQ1AgdGltZXN0YW1waW5nIikKU2lnbmVkLW9mZi1ieTogV2lsbGVtIGRlIEJydWlqbiA8d2ls bGVtYkBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdv b2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0 Lm5ldD4KLS0tCiBuZXQvaXB2NC90Y3Bfb3V0cHV0LmMgfCAzICsrLQogMSBmaWxlIGNoYW5nZWQs IDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY0L3Rj cF9vdXRwdXQuYyBiL25ldC9pcHY0L3RjcF9vdXRwdXQuYwppbmRleCA4OGM3ZTgyMWZkMTEuLjI2 OTdlNDM5N2U0NiAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvdGNwX291dHB1dC5jCisrKyBiL25ldC9p cHY0L3RjcF9vdXRwdXQuYwpAQCAtMjA0Niw3ICsyMDQ2LDcgQEAgc3RhdGljIGJvb2wgdGNwX2Nh bl9jb2FsZXNjZV9zZW5kX3F1ZXVlX2hlYWQoc3RydWN0IHNvY2sgKnNrLCBpbnQgbGVuKQogCQlp ZiAobGVuIDw9IHNrYi0+bGVuKQogCQkJYnJlYWs7CiAKLQkJaWYgKHVubGlrZWx5KFRDUF9TS0Jf Q0Ioc2tiKS0+ZW9yKSkKKwkJaWYgKHVubGlrZWx5KFRDUF9TS0JfQ0Ioc2tiKS0+ZW9yKSB8fCB0 Y3BfaGFzX3R4X3RzdGFtcChza2IpKQogCQkJcmV0dXJuIGZhbHNlOwogCiAJCWxlbiAtPSBza2It PmxlbjsKQEAgLTIxNjIsNiArMjE2Miw3IEBAIHN0YXRpYyBpbnQgdGNwX210dV9wcm9iZShzdHJ1 Y3Qgc29jayAqc2spCiAJCQkgKiB3ZSBuZWVkIHRvIHByb3BhZ2F0ZSBpdCB0byB0aGUgbmV3IHNr Yi4KIAkJCSAqLwogCQkJVENQX1NLQl9DQihuc2tiKS0+ZW9yID0gVENQX1NLQl9DQihza2IpLT5l b3I7CisJCQl0Y3Bfc2tiX2NvbGxhcHNlX3RzdGFtcChuc2tiLCBza2IpOwogCQkJdGNwX3VubGlu a193cml0ZV9xdWV1ZShza2IsIHNrKTsKIAkJCXNrX3dtZW1fZnJlZV9za2Ioc2ssIHNrYik7CiAJ CX0gZWxzZSB7Ci0tIAoyLjIxLjAKCgpGcm9tIGVhYjQxNDMxZmM3Njg2MzQ2NWQwMGRkZjhiN2Yz NzcxMDdiM2JhOGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEVyaWMgRHVtYXpldCA8 ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTogTW9uLCAyNiBBdWcgMjAxOSAwOToxOToxNSAtMDcw MApTdWJqZWN0OiBbUEFUQ0ggNy84XSB0Y3A6IHJlbW92ZSBlbXB0eSBza2IgZnJvbSB3cml0ZSBx dWV1ZSBpbiBlcnJvciBjYXNlcwoKWyBVcHN0cmVhbSBjb21taXQgZmRmYzVjODU5NGMyNGM1ZGY4 ODM1ODNlYmQyODYzMjFhODBlMGE2NyBdCgpWbGFkaW1pciBSdXRza3kgcmVwb3J0ZWQgc3R1Y2sg VENQIHNlc3Npb25zIGFmdGVyIG1lbW9yeSBwcmVzc3VyZQpldmVudHMuIEVkZ2UgVHJpZ2dlciBl cG9sbCgpIHVzZXIgd291bGQgbmV2ZXIgcmVjZWl2ZSBhbiBFUE9MTE9VVApub3RpZmljYXRpb24g YWxsb3dpbmcgdGhlbSB0byByZXRyeSBhIHNlbmRtc2coKS4KCkphc29uIHRlc3RlZCB0aGUgY2Fz ZSBvZiBza19zdHJlYW1fYWxsb2Nfc2tiKCkgcmV0dXJuaW5nIE5VTEwsCmJ1dCB0aGVyZSBhcmUg b3RoZXIgcGF0aHMgdGhhdCBjb3VsZCBsZWFkIGJvdGggc2VuZG1zZygpIGFuZCBzZW5kcGFnZSgp CnRvIHJldHVybiAtMSAoRUFHQUlOKSwgd2l0aCBhbiBlbXB0eSBza2IgcXVldWVkIG9uIHRoZSB3 cml0ZSBxdWV1ZS4KClRoaXMgcGF0Y2ggbWFrZXMgc3VyZSB3ZSByZW1vdmUgdGhpcyBlbXB0eSBz a2Igc28gdGhhdApKYXNvbiBjb2RlIGNhbiBkZXRlY3QgdGhhdCB0aGUgcXVldWUgaXMgZW1wdHks IGFuZApjYWxsIHNrLT5za193cml0ZV9zcGFjZShzaykgYWNjb3JkaW5nbHkuCgpGaXhlczogY2U1 ZWM0NDA5OTRiICgidGNwOiBlbnN1cmUgZXBvbGwgZWRnZSB0cmlnZ2VyIHdha2V1cCB3aGVuIHdy aXRlIHF1ZXVlIGlzIGVtcHR5IikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpl dEBnb29nbGUuY29tPgpDYzogSmFzb24gQmFyb24gPGpiYXJvbkBha2FtYWkuY29tPgpSZXBvcnRl ZC1ieTogVmxhZGltaXIgUnV0c2t5IDxydXRza3lAZ29vZ2xlLmNvbT4KQ2M6IFNvaGVpbCBIYXNz YXMgWWVnYW5laCA8c29oZWlsQGdvb2dsZS5jb20+CkNjOiBOZWFsIENhcmR3ZWxsIDxuY2FyZHdl bGxAZ29vZ2xlLmNvbT4KQWNrZWQtYnk6IFNvaGVpbCBIYXNzYXMgWWVnYW5laCA8c29oZWlsQGdv b2dsZS5jb20+CkFja2VkLWJ5OiBOZWFsIENhcmR3ZWxsIDxuY2FyZHdlbGxAZ29vZ2xlLmNvbT4K U2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0K IG5ldC9pcHY0L3RjcC5jIHwgMjkgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KIDEgZmls ZSBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L25ldC9pcHY0L3RjcC5jIGIvbmV0L2lwdjQvdGNwLmMKaW5kZXggYjdlZjM2N2ZlNmExLi42MTFi YTE3NDI2NWMgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3RjcC5jCisrKyBiL25ldC9pcHY0L3RjcC5j CkBAIC05MzQsNiArOTM0LDIyIEBAIHN0YXRpYyBpbnQgdGNwX3NlbmRfbXNzKHN0cnVjdCBzb2Nr ICpzaywgaW50ICpzaXplX2dvYWwsIGludCBmbGFncykKIAlyZXR1cm4gbXNzX25vdzsKIH0KIAor LyogSW4gc29tZSBjYXNlcywgYm90aCBzZW5kcGFnZSgpIGFuZCBzZW5kbXNnKCkgY291bGQgaGF2 ZSBhZGRlZAorICogYW4gc2tiIHRvIHRoZSB3cml0ZSBxdWV1ZSwgYnV0IGZhaWxlZCBhZGRpbmcg cGF5bG9hZCBvbiBpdC4KKyAqIFdlIG5lZWQgdG8gcmVtb3ZlIGl0IHRvIGNvbnN1bWUgbGVzcyBt ZW1vcnksIGJ1dCBtb3JlCisgKiBpbXBvcnRhbnRseSBiZSBhYmxlIHRvIGdlbmVyYXRlIEVQT0xM T1VUIGZvciBFZGdlIFRyaWdnZXIgZXBvbGwoKQorICogdXNlcnMuCisgKi8KK3N0YXRpYyB2b2lk IHRjcF9yZW1vdmVfZW1wdHlfc2tiKHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNrX2J1ZmYgKnNr YikKK3sKKwlpZiAoc2tiICYmICFza2ItPmxlbikgeworCQl0Y3BfdW5saW5rX3dyaXRlX3F1ZXVl KHNrYiwgc2spOworCQlpZiAodGNwX3dyaXRlX3F1ZXVlX2VtcHR5KHNrKSkKKwkJCXRjcF9jaHJv bm9fc3RvcChzaywgVENQX0NIUk9OT19CVVNZKTsKKwkJc2tfd21lbV9mcmVlX3NrYihzaywgc2ti KTsKKwl9Cit9CisKIHNzaXplX3QgZG9fdGNwX3NlbmRwYWdlcyhzdHJ1Y3Qgc29jayAqc2ssIHN0 cnVjdCBwYWdlICpwYWdlLCBpbnQgb2Zmc2V0LAogCQkJIHNpemVfdCBzaXplLCBpbnQgZmxhZ3Mp CiB7CkBAIC0xMDU2LDYgKzEwNzIsNyBAQCBzc2l6ZV90IGRvX3RjcF9zZW5kcGFnZXMoc3RydWN0 IHNvY2sgKnNrLCBzdHJ1Y3QgcGFnZSAqcGFnZSwgaW50IG9mZnNldCwKIAlyZXR1cm4gY29waWVk OwogCiBkb19lcnJvcjoKKwl0Y3BfcmVtb3ZlX2VtcHR5X3NrYihzaywgdGNwX3dyaXRlX3F1ZXVl X3RhaWwoc2spKTsKIAlpZiAoY29waWVkKQogCQlnb3RvIG91dDsKIG91dF9lcnI6CkBAIC0xNDA5 LDE3ICsxNDI2LDExIEBAIGludCB0Y3Bfc2VuZG1zZ19sb2NrZWQoc3RydWN0IHNvY2sgKnNrLCBz dHJ1Y3QgbXNnaGRyICptc2csIHNpemVfdCBzaXplKQogCXNvY2tfemVyb2NvcHlfcHV0KHVhcmcp OwogCXJldHVybiBjb3BpZWQgKyBjb3BpZWRfc3luOwogCitkb19lcnJvcjoKKwlza2IgPSB0Y3Bf d3JpdGVfcXVldWVfdGFpbChzayk7CiBkb19mYXVsdDoKLQlpZiAoIXNrYi0+bGVuKSB7Ci0JCXRj cF91bmxpbmtfd3JpdGVfcXVldWUoc2tiLCBzayk7Ci0JCS8qIEl0IGlzIHRoZSBvbmUgcGxhY2Ug aW4gYWxsIG9mIFRDUCwgZXhjZXB0IGNvbm5lY3Rpb24KLQkJICogcmVzZXQsIHdoZXJlIHdlIGNh biBiZSB1bmxpbmtpbmcgdGhlIHNlbmRfaGVhZC4KLQkJICovCi0JCXRjcF9jaGVja19zZW5kX2hl YWQoc2ssIHNrYik7Ci0JCXNrX3dtZW1fZnJlZV9za2Ioc2ssIHNrYik7Ci0JfQorCXRjcF9yZW1v dmVfZW1wdHlfc2tiKHNrLCBza2IpOwogCi1kb19lcnJvcjoKIAlpZiAoY29waWVkICsgY29waWVk X3N5bikKIAkJZ290byBvdXQ7CiBvdXRfZXJyOgotLSAKMi4yMS4wCgoKRnJvbSBjYzI5NThkZGU1 NWNjMThiOTk0Y2EzMTVkMDhhZDI3MmE3NGM3MzM4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBLYS1DaGVvbmcgUG9vbiA8a2EtY2hlb25nLnBvb25Ab3JhY2xlLmNvbT4KRGF0ZTogTW9u LCAyNiBBdWcgMjAxOSAwMjozOToxMiAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggOC84XSBuZXQvcmRz OiBGaXggaW5mbyBsZWFrIGluIHJkczZfaW5jX2luZm9fY29weSgpCk1JTUUtVmVyc2lvbjogMS4w CkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVy LUVuY29kaW5nOiA4Yml0CgpbIFVwc3RyZWFtIGNvbW1pdCA3ZDBhMDY1ODZiMjY4NmJhODBjNGEy ZGE1ZjkxY2IxMGZmYmVhNzM2IF0KClRoZSByZHM2X2luY19pbmZvX2NvcHkoKSBmdW5jdGlvbiBo YXMgYSBjb3VwbGUgc3RydWN0IG1lbWJlcnMgd2hpY2gKYXJlIGxlYWtpbmcgc3RhY2sgaW5mb3Jt YXRpb24uICBUaGUgLT50b3MgZmllbGQgc2hvdWxkIGhvbGQgYWN0dWFsCmluZm9ybWF0aW9uIGFu ZCB0aGUgLT5mbGFncyBmaWVsZCBuZWVkcyB0byBiZSB6ZXJvZWQgb3V0LgoKRml4ZXM6IDNlYjQ1 MDM2N2QwOCAoInJkczogYWRkIHR5cGUgb2Ygc2VydmljZSh0b3MpIGluZnJhc3RydWN0dXJlIikK Rml4ZXM6IGI3ZmY4YjEwMzZmMCAoInJkczogRXh0ZW5kIFJEUyBBUEkgZm9yIElQdjYgc3VwcG9y dCIpClJlcG9ydGVkLWJ5OiDpu4RJROidtOidtiA8YnV0dGVyZmx5aHVhbmd4eEBnbWFpbC5jb20+ ClNpZ25lZC1vZmYtYnk6IERhbiBDYXJwZW50ZXIgPGRhbi5jYXJwZW50ZXJAb3JhY2xlLmNvbT4K U2lnbmVkLW9mZi1ieTogS2EtQ2hlb25nIFBvb24gPGthLWNoZW9uZy5wb29uQG9yYWNsZS5jb20+ CkFja2VkLWJ5OiBTYW50b3NoIFNoaWxpbWthciA8c2FudG9zaC5zaGlsaW1rYXJAb3JhY2xlLmNv bT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0Pgot LS0KIG5ldC9yZHMvcmVjdi5jIHwgNSArKysrLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9u cygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL25ldC9yZHMvcmVjdi5jIGIvbmV0L3Jk cy9yZWN2LmMKaW5kZXggNTA0Y2Q2YmNjNTRjLi5jMGI5NDU1MTZjZGIgMTAwNjQ0Ci0tLSBhL25l dC9yZHMvcmVjdi5jCisrKyBiL25ldC9yZHMvcmVjdi5jCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq IENvcHlyaWdodCAoYykgMjAwNiwgMjAxOCBPcmFjbGUgYW5kL29yIGl0cyBhZmZpbGlhdGVzLiBB bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChjKSAyMDA2LCAyMDE5IE9yYWNsZSBh bmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBz b2Z0d2FyZSBpcyBhdmFpbGFibGUgdG8geW91IHVuZGVyIGEgY2hvaWNlIG9mIG9uZSBvZiB0d28K ICAqIGxpY2Vuc2VzLiAgWW91IG1heSBjaG9vc2UgdG8gYmUgbGljZW5zZWQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUKQEAgLTgwMyw2ICs4MDMsNyBAQCB2b2lkIHJkczZfaW5jX2luZm9fY29w eShzdHJ1Y3QgcmRzX2luY29taW5nICppbmMsCiAKIAltaW5mbzYuc2VxID0gYmU2NF90b19jcHUo aW5jLT5pX2hkci5oX3NlcXVlbmNlKTsKIAltaW5mbzYubGVuID0gYmUzMl90b19jcHUoaW5jLT5p X2hkci5oX2xlbik7CisJbWluZm82LnRvcyA9IDA7CiAKIAlpZiAoZmxpcCkgewogCQltaW5mbzYu bGFkZHIgPSAqZGFkZHI7CkBAIC04MTYsNiArODE3LDggQEAgdm9pZCByZHM2X2luY19pbmZvX2Nv cHkoc3RydWN0IHJkc19pbmNvbWluZyAqaW5jLAogCQltaW5mbzYuZnBvcnQgPSBpbmMtPmlfaGRy LmhfZHBvcnQ7CiAJfQogCisJbWluZm82LmZsYWdzID0gMDsKKwogCXJkc19pbmZvX2NvcHkoaXRl ciwgJm1pbmZvNiwgc2l6ZW9mKG1pbmZvNikpOwogfQogI2VuZGlmCi0tIAoyLjIxLjAKCg== ----Next_Part(Thu_Sep__5_00_23_47_2019_118)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_52.mbox" RnJvbSA2ZGYyYzZhOWM2M2E5MGM3YzMxZTk4NTljOWViZGQ4MDU3Y2I5ZTFkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRh dGU6IFR1ZSwgMjcgQXVnIDIwMTkgMDM6MzM6MTIgLTA3MDAKU3ViamVjdDogW1BBVENIIDAxLzE5 XSBtbGQ6IGZpeCBtZW1vcnkgbGVhayBpbiBtbGRfZGVsX2RlbHJlYygpCgpbIFVwc3RyZWFtIGNv bW1pdCBhODRkMDE2NDc5ODk2YjU1MjZhMmNjNTQ3ODRlNmZmYzQxYzlkNmY2IF0KClNpbWlsYXIg dG8gdGhlIGZpeCBkb25lIGZvciBJUHY0IGluIGNvbW1pdCBlNWIxYzZjNjI3N2QKKCJpZ21wOiBm aXggbWVtb3J5IGxlYWsgaW4gaWdtcHYzX2RlbF9kZWxyZWMoKSIpLCB3ZSBuZWVkIHRvCm1ha2Ug c3VyZSBtY2FfdG9tYiBhbmQgbWNhX3NvdXJjZXMgYXJlIG5vdCBibGluZGx5IG92ZXJ3cml0dGVu LgoKVXNpbmcgc3dhcCgpIHRoZW4gYSBjYWxsIHRvIGlwNl9tY19jbGVhcl9zcmMoKSB3aWxsIHRh a2UgY2FyZQpvZiB0aGUgbWlzc2luZyBmcmVlLgoKQlVHOiBtZW1vcnkgbGVhawp1bnJlZmVyZW5j ZWQgb2JqZWN0IDB4ZmZmZjg4ODExN2Q5ZGIwMCAoc2l6ZSA2NCk6CiAgY29tbSAic3l6LWV4ZWN1 dG9yMjQ3IiwgcGlkIDY5MTgsIGppZmZpZXMgNDI5NDk0Mzk4OSAoYWdlIDI1LjM1MHMpCiAgaGV4 IGR1bXAgKGZpcnN0IDMyIGJ5dGVzKToKICAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIGZlIDg4 IDAwIDAwIDAwIDAwIDAwIDAwICAuLi4uLi4uLi4uLi4uLi4uCiAgICAwMCAwMCAwMCAwMCAwMCAw MCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgLi4uLi4uLi4uLi4uLi4uLgogIGJhY2t0 cmFjZToKICAgIFs8MDAwMDAwMDA1YjQ2MzAzMD5dIGttZW1sZWFrX2FsbG9jX3JlY3Vyc2l2ZSBp bmNsdWRlL2xpbnV4L2ttZW1sZWFrLmg6NDMgW2lubGluZV0KICAgIFs8MDAwMDAwMDA1YjQ2MzAz MD5dIHNsYWJfcG9zdF9hbGxvY19ob29rIG1tL3NsYWIuaDo1MjIgW2lubGluZV0KICAgIFs8MDAw MDAwMDA1YjQ2MzAzMD5dIHNsYWJfYWxsb2MgbW0vc2xhYi5jOjMzMTkgW2lubGluZV0KICAgIFs8 MDAwMDAwMDA1YjQ2MzAzMD5dIGttZW1fY2FjaGVfYWxsb2NfdHJhY2UrMHgxNDUvMHgyYzAgbW0v c2xhYi5jOjM1NDgKICAgIFs8MDAwMDAwMDA5MzljYmY5ND5dIGttYWxsb2MgaW5jbHVkZS9saW51 eC9zbGFiLmg6NTUyIFtpbmxpbmVdCiAgICBbPDAwMDAwMDAwOTM5Y2JmOTQ+XSBremFsbG9jIGlu Y2x1ZGUvbGludXgvc2xhYi5oOjc0OCBbaW5saW5lXQogICAgWzwwMDAwMDAwMDkzOWNiZjk0Pl0g aXA2X21jX2FkZDFfc3JjIG5ldC9pcHY2L21jYXN0LmM6MjIzNiBbaW5saW5lXQogICAgWzwwMDAw MDAwMDkzOWNiZjk0Pl0gaXA2X21jX2FkZF9zcmMrMHgzMWYvMHg0MjAgbmV0L2lwdjYvbWNhc3Qu YzoyMzU2CiAgICBbPDAwMDAwMDAwZDg5NzIyMjE+XSBpcDZfbWNfc291cmNlKzB4NGE4LzB4NjAw IG5ldC9pcHY2L21jYXN0LmM6NDQ5CiAgICBbPDAwMDAwMDAwMmIyMDNkMGQ+XSBkb19pcHY2X3Nl dHNvY2tvcHQuaXNyYS4wKzB4MWI5Mi8weDFkZDAgbmV0L2lwdjYvaXB2Nl9zb2NrZ2x1ZS5jOjc0 OAogICAgWzwwMDAwMDAwMDFmMWUyZDU0Pl0gaXB2Nl9zZXRzb2Nrb3B0KzB4ODkvMHhkMCBuZXQv aXB2Ni9pcHY2X3NvY2tnbHVlLmM6OTQ0CiAgICBbPDAwMDAwMDAwYzhmN2JkZjk+XSB1ZHB2Nl9z ZXRzb2Nrb3B0KzB4NGUvMHg5MCBuZXQvaXB2Ni91ZHAuYzoxNTU4CiAgICBbPDAwMDAwMDAwNWE5 YTBjNWU+XSBzb2NrX2NvbW1vbl9zZXRzb2Nrb3B0KzB4MzgvMHg1MCBuZXQvY29yZS9zb2NrLmM6 MzEzOQogICAgWzwwMDAwMDAwMDkxMGIzN2IyPl0gX19zeXNfc2V0c29ja29wdCsweDEwZi8weDIy MCBuZXQvc29ja2V0LmM6MjA4NAogICAgWzwwMDAwMDAwMGU5MTA4MDIzPl0gX19kb19zeXNfc2V0 c29ja29wdCBuZXQvc29ja2V0LmM6MjEwMCBbaW5saW5lXQogICAgWzwwMDAwMDAwMGU5MTA4MDIz Pl0gX19zZV9zeXNfc2V0c29ja29wdCBuZXQvc29ja2V0LmM6MjA5NyBbaW5saW5lXQogICAgWzww MDAwMDAwMGU5MTA4MDIzPl0gX194NjRfc3lzX3NldHNvY2tvcHQrMHgyNi8weDMwIG5ldC9zb2Nr ZXQuYzoyMDk3CiAgICBbPDAwMDAwMDAwZjQ4MTgxNjA+XSBkb19zeXNjYWxsXzY0KzB4NzYvMHgx YTAgYXJjaC94ODYvZW50cnkvY29tbW9uLmM6Mjk2CiAgICBbPDAwMDAwMDAwOGQzNjdlOGY+XSBl bnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0NC8weGE5CgpGaXhlczogMTY2NmQ0OWUx ZDQxICgibWxkOiBkbyBub3QgcmVtb3ZlIG1sZCBzb3VjZSBsaXN0IGluZm8gd2hlbiBzZXQgbGlu ayBkb3duIikKRml4ZXM6IDljOGJiMTYzYWU3OCAoImlnbXAsIG1sZDogRml4IG1lbW9yeSBsZWFr IGluIGlnbXB2My9tbGRfZGVsX2RlbHJlYygpIikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0 IDxlZHVtYXpldEBnb29nbGUuY29tPgpSZXBvcnRlZC1ieTogc3l6Ym90IDxzeXprYWxsZXJAZ29v Z2xlZ3JvdXBzLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZl bWxvZnQubmV0PgotLS0KIG5ldC9pcHY2L21jYXN0LmMgfCA1ICsrKy0tCiAxIGZpbGUgY2hhbmdl ZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY2 L21jYXN0LmMgYi9uZXQvaXB2Ni9tY2FzdC5jCmluZGV4IDdmM2YxM2MzNzkxNi4uZWFhNGMyY2My ZmJiIDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9tY2FzdC5jCisrKyBiL25ldC9pcHY2L21jYXN0LmMK QEAgLTc4NywxNCArNzg3LDE1IEBAIHN0YXRpYyB2b2lkIG1sZF9kZWxfZGVscmVjKHN0cnVjdCBp bmV0Nl9kZXYgKmlkZXYsIHN0cnVjdCBpZm1jYWRkcjYgKmltKQogCWlmIChwbWMpIHsKIAkJaW0t PmlkZXYgPSBwbWMtPmlkZXY7CiAJCWlmIChpbS0+bWNhX3NmbW9kZSA9PSBNQ0FTVF9JTkNMVURF KSB7Ci0JCQlpbS0+bWNhX3RvbWIgPSBwbWMtPm1jYV90b21iOwotCQkJaW0tPm1jYV9zb3VyY2Vz ID0gcG1jLT5tY2Ffc291cmNlczsKKwkJCXN3YXAoaW0tPm1jYV90b21iLCBwbWMtPm1jYV90b21i KTsKKwkJCXN3YXAoaW0tPm1jYV9zb3VyY2VzLCBwbWMtPm1jYV9zb3VyY2VzKTsKIAkJCWZvciAo cHNmID0gaW0tPm1jYV9zb3VyY2VzOyBwc2Y7IHBzZiA9IHBzZi0+c2ZfbmV4dCkKIAkJCQlwc2Yt PnNmX2NyY291bnQgPSBpZGV2LT5tY19xcnY7CiAJCX0gZWxzZSB7CiAJCQlpbS0+bWNhX2NyY291 bnQgPSBpZGV2LT5tY19xcnY7CiAJCX0KIAkJaW42X2Rldl9wdXQocG1jLT5pZGV2KTsKKwkJaXA2 X21jX2NsZWFyX3NyYyhwbWMpOwogCQlrZnJlZShwbWMpOwogCX0KIAlzcGluX3VubG9ja19iaCgm aW0tPm1jYV9sb2NrKTsKLS0gCjIuMjEuMAoKCkZyb20gYjE2NWFlMzBhMzg1ZTNhZWY4ZDRjN2M3 ZGEyYmI2ZjU0OGYxZTYyZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRmVuZyBTdW4g PGxveW91ODVAZ21haWwuY29tPgpEYXRlOiBNb24sIDI2IEF1ZyAyMDE5IDE0OjQ2OjA0ICswODAw ClN1YmplY3Q6IFtQQVRDSCAwMi8xOV0gbmV0OiBmaXggc2tiIHVzZSBhZnRlciBmcmVlIGluIG5l dHBvbGwKClsgVXBzdHJlYW0gY29tbWl0IDJjMTY0NGNmNmQ0NmE4MjY3ZDc5ZWQ5NWNiOWI1NjM4 MzkzNDY1NjIgXQoKQWZ0ZXIgY29tbWl0IGJhZWFiYWJiNWI4NWQ1YzRlNmM5MTdlZmUyYTE1MDQx Nzk0MzhkM2IKKCJ0dW46IHJldHVybiBORVRfWE1JVF9EUk9QIGZvciBkcm9wcGVkIHBhY2tldHMi KSwKd2hlbiB0dW5fbmV0X3htaXQgZHJvcCBwYWNrZXRzLCBpdCB3aWxsIGZyZWUgc2tiIGFuZCBy ZXR1cm4gTkVUX1hNSVRfRFJPUCwKbmV0cG9sbF9zZW5kX3NrYl9vbl9kZXYgd2lsbCBydW4gaW50 byBmb2xsb3dpbmcgdXNlIGFmdGVyIGZyZWUgY2FzZXM6CjEuIHJldHJ5IG5ldHBvbGxfc3RhcnRf eG1pdCB3aXRoIGZyZWVkIHNrYjsKMi4gcXVldWUgZnJlZWQgc2tiIGluIG5waW5mby0+dHhxLgpx dWV1ZV9wcm9jZXNzIHdpbGwgYWxzbyBydW4gaW50byB1c2UgYWZ0ZXIgZnJlZSBjYXNlLgoKaGl0 IG5ldHBvbGxfc2VuZF9za2Jfb25fZGV2IGZpcnN0IGNhc2Ugd2l0aCBmb2xsb3dpbmcga2VybmVs IGxvZzoKClsgIDExNy44NjQ3NzNdIGtlcm5lbCBCVUcgYXQgbW0vc2x1Yi5jOjMwNiEKWyAgMTE3 Ljg2NDc3M10gaW52YWxpZCBvcGNvZGU6IDAwMDAgWyMxXSBTTVAgUFRJClsgIDExNy44NjQ3NzRd IENQVTogMyBQSUQ6IDI2MjcgQ29tbTogbG9vcF9wcmludG1zZyBLZHVtcDogbG9hZGVkIFRhaW50 ZWQ6IFAgICAgICAgICAgIE9FICAgICA1LjMuMC0wNTAzMDByYzUtZ2VuZXJpYyAjMjAxOTA4MTgy MjMxClsgIDExNy44NjQ3NzVdIEhhcmR3YXJlIG5hbWU6IFFFTVUgU3RhbmRhcmQgUEMgKGk0NDBG WCArIFBJSVgsIDE5OTYpLCBCSU9TIFVidW50dS0xLjguMi0xdWJ1bnR1MSAwNC8wMS8yMDE0Clsg IDExNy44NjQ3NzVdIFJJUDogMDAxMDprbWVtX2NhY2hlX2ZyZWUrMHgyOGQvMHgyYjAKWyAgMTE3 Ljg2NDc4MV0gQ2FsbCBUcmFjZToKWyAgMTE3Ljg2NDc4MV0gID8gdHVuX25ldF94bWl0KzB4MjFj LzB4NDYwClsgIDExNy44NjQ3ODFdICBrZnJlZV9za2JtZW0rMHg0ZS8weDYwClsgIDExNy44NjQ3 ODJdICBrZnJlZV9za2IrMHgzYS8weGEwClsgIDExNy44NjQ3ODJdICB0dW5fbmV0X3htaXQrMHgy MWMvMHg0NjAKWyAgMTE3Ljg2NDc4Ml0gIG5ldHBvbGxfc3RhcnRfeG1pdCsweDExZC8weDFiMApb ICAxMTcuODY0Nzg4XSAgbmV0cG9sbF9zZW5kX3NrYl9vbl9kZXYrMHgxYjgvMHgyMDAKWyAgMTE3 Ljg2NDc4OV0gIF9fYnJfZm9yd2FyZCsweDFiOS8weDFlMCBbYnJpZGdlXQpbICAxMTcuODY0Nzg5 XSAgPyBza2JfY2xvbmUrMHg1My8weGQwClsgIDExNy44NjQ3OTBdICA/IF9fc2tiX2Nsb25lKzB4 MmUvMHgxMjAKWyAgMTE3Ljg2NDc5MF0gIGRlbGl2ZXJfY2xvbmUrMHgzNy8weDUwIFticmlkZ2Vd ClsgIDExNy44NjQ3OTBdICBtYXliZV9kZWxpdmVyKzB4ODkvMHhjMCBbYnJpZGdlXQpbICAxMTcu ODY0NzkxXSAgYnJfZmxvb2QrMHg2Yy8weDEzMCBbYnJpZGdlXQpbICAxMTcuODY0NzkxXSAgYnJf ZGV2X3htaXQrMHgzMTUvMHgzYzAgW2JyaWRnZV0KWyAgMTE3Ljg2NDc5Ml0gIG5ldHBvbGxfc3Rh cnRfeG1pdCsweDExZC8weDFiMApbICAxMTcuODY0NzkyXSAgbmV0cG9sbF9zZW5kX3NrYl9vbl9k ZXYrMHgxYjgvMHgyMDAKWyAgMTE3Ljg2NDc5Ml0gIG5ldHBvbGxfc2VuZF91ZHArMHgyYzYvMHgz ZTgKWyAgMTE3Ljg2NDc5M10gIHdyaXRlX21zZysweGQ5LzB4ZjAgW25ldGNvbnNvbGVdClsgIDEx Ny44NjQ3OTNdICBjb25zb2xlX3VubG9jaysweDM4Ni8weDRlMApbICAxMTcuODY0NzkzXSAgdnBy aW50a19lbWl0KzB4MTdlLzB4MjgwClsgIDExNy44NjQ3OTRdICB2cHJpbnRrX2RlZmF1bHQrMHgy OS8weDUwClsgIDExNy44NjQ3OTRdICB2cHJpbnRrX2Z1bmMrMHg0Yy8weGJjClsgIDExNy44NjQ3 OTRdICBwcmludGsrMHg1OC8weDZmClsgIDExNy44NjQ3OTVdICBsb29wX2Z1bisweDI0LzB4NDEg W3ByaW50bXNnX2xvb3BdClsgIDExNy44NjQ3OTVdICBrdGhyZWFkKzB4MTA0LzB4MTQwClsgIDEx Ny44NjQ3OTVdICA/IDB4ZmZmZmZmZmZjMDViMTAwMApbICAxMTcuODY0Nzk2XSAgPyBrdGhyZWFk X3BhcmsrMHg4MC8weDgwClsgIDExNy44NjQ3OTZdICByZXRfZnJvbV9mb3JrKzB4MzUvMHg0MAoK U2lnbmVkLW9mZi1ieTogRmVuZyBTdW4gPGxveW91ODVAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5 OiBYaWFvanVuIFpoYW8gPHhpYW9qdW56aGFvMTQxQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTog RGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9jb3JlL25ldHBv bGwuYyB8IDYgKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9jb3JlL25ldHBvbGwuYyBiL25ldC9jb3JlL25ldHBv bGwuYwppbmRleCBkZDhiMWE0NjBkNjQuLmNiMzZkMDFlYTBkZCAxMDA2NDQKLS0tIGEvbmV0L2Nv cmUvbmV0cG9sbC5jCisrKyBiL25ldC9jb3JlL25ldHBvbGwuYwpAQCAtMTIyLDcgKzEyMiw3IEBA IHN0YXRpYyB2b2lkIHF1ZXVlX3Byb2Nlc3Moc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogCQl0 eHEgPSBuZXRkZXZfZ2V0X3R4X3F1ZXVlKGRldiwgcV9pbmRleCk7CiAJCUhBUkRfVFhfTE9DSyhk ZXYsIHR4cSwgc21wX3Byb2Nlc3Nvcl9pZCgpKTsKIAkJaWYgKG5ldGlmX3htaXRfZnJvemVuX29y X3N0b3BwZWQodHhxKSB8fAotCQkgICAgbmV0cG9sbF9zdGFydF94bWl0KHNrYiwgZGV2LCB0eHEp ICE9IE5FVERFVl9UWF9PSykgeworCQkgICAgIWRldl94bWl0X2NvbXBsZXRlKG5ldHBvbGxfc3Rh cnRfeG1pdChza2IsIGRldiwgdHhxKSkpIHsKIAkJCXNrYl9xdWV1ZV9oZWFkKCZucGluZm8tPnR4 cSwgc2tiKTsKIAkJCUhBUkRfVFhfVU5MT0NLKGRldiwgdHhxKTsKIAkJCWxvY2FsX2lycV9yZXN0 b3JlKGZsYWdzKTsKQEAgLTMzNSw3ICszMzUsNyBAQCB2b2lkIG5ldHBvbGxfc2VuZF9za2Jfb25f ZGV2KHN0cnVjdCBuZXRwb2xsICpucCwgc3RydWN0IHNrX2J1ZmYgKnNrYiwKIAogCQkJCUhBUkRf VFhfVU5MT0NLKGRldiwgdHhxKTsKIAotCQkJCWlmIChzdGF0dXMgPT0gTkVUREVWX1RYX09LKQor CQkJCWlmIChkZXZfeG1pdF9jb21wbGV0ZShzdGF0dXMpKQogCQkJCQlicmVhazsKIAogCQkJfQpA QCAtMzUyLDcgKzM1Miw3IEBAIHZvaWQgbmV0cG9sbF9zZW5kX3NrYl9vbl9kZXYoc3RydWN0IG5l dHBvbGwgKm5wLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogCiAJfQogCi0JaWYgKHN0YXR1cyAhPSBO RVRERVZfVFhfT0spIHsKKwlpZiAoIWRldl94bWl0X2NvbXBsZXRlKHN0YXR1cykpIHsKIAkJc2ti X3F1ZXVlX3RhaWwoJm5waW5mby0+dHhxLCBza2IpOwogCQlzY2hlZHVsZV9kZWxheWVkX3dvcmso Jm5waW5mby0+dHhfd29yaywwKTsKIAl9Ci0tIAoyLjIxLjAKCgpGcm9tIDY5NWIwYTRjYzdkMzVi NzM2MmE4MWFkNzhmNjlkYTc3OTI2N2YxNmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IFZsYWQgQnVzbG92IDx2bGFkYnVAbWVsbGFub3guY29tPgpEYXRlOiBUdWUsIDI3IEF1ZyAyMDE5 IDIxOjQ5OjM4ICswMzAwClN1YmplY3Q6IFtQQVRDSCAwMy8xOV0gbmV0OiBzY2hlZDogYWN0X3Nh bXBsZTogZml4IHBzYW1wbGUgZ3JvdXAgaGFuZGxpbmcgb24KIG92ZXJ3cml0ZQoKWyBVcHN0cmVh bSBjb21taXQgZGJmNDdhMmEwOTRlZGY1ODk4MzI2NWUzMjNjYTRiZGNkYjU4YjVlZSBdCgpBY3Rp b24gc2FtcGxlIGRvZXNuJ3QgcHJvcGVybHkgaGFuZGxlIHBzYW1wbGVfZ3JvdXAgcG9pbnRlciBp biBvdmVyd3JpdGUKY2FzZS4gRm9sbG93aW5nIGlzc3VlcyBuZWVkIHRvIGJlIGZpeGVkOgoKLSBJ biB0Y2Zfc2FtcGxlX2luaXQoKSBmdW5jdGlvbiBSQ1VfSU5JVF9QT0lOVEVSKCkgaXMgdXNlZCB0 byBzZXQKICBzLT5wc2FtcGxlX2dyb3VwLCBldmVuIHRob3VnaCB3ZSBuZWl0aGVyIHNldHRpbmcg dGhlIHBvaW50ZXIgdG8gTlVMTCwgbm9yCiAgcHJldmVudGluZyBjb25jdXJyZW50IHJlYWRlcnMg ZnJvbSBhY2Nlc3NpbmcgdGhlIHBvaW50ZXIgaW4gc29tZSB3YXkuCiAgVXNlIHJjdV9zd2FwX3By b3RlY3RlZCgpIGluc3RlYWQgdG8gc2FmZWx5IHJlc2V0IHRoZSBwb2ludGVyLgoKLSBPbGQgdmFs dWUgb2Ygcy0+cHNhbXBsZV9ncm91cCBpcyBub3QgcmVsZWFzZWQgb3IgZGVhbGxvY2F0ZWQgaW4g YW55IHdheSwKICB3aGljaCByZXN1bHRzIHJlc291cmNlIGxlYWsuIFVzZSBwc2FtcGxlX2dyb3Vw X3B1dCgpIG9uIG5vbi1OVUxMIHZhbHVlCiAgb2J0YWluZWQgd2l0aCByY3Vfc3dhcF9wcm90ZWN0 ZWQoKS4KCi0gVGhlIGZ1bmN0aW9uIHBzYW1wbGVfZ3JvdXBfcHV0KCkgdGhhdCByZWxlYXNlZCBy ZWZlcmVuY2UgdG8gc3RydWN0CiAgcHNhbXBsZV9ncm91cCBwb2ludGVkIGJ5IHJjdS1wb2ludGVy IHMtPnBzYW1wbGVfZ3JvdXAgZG9lc24ndCByZXNwZWN0IHJjdQogIGdyYWNlIHBlcmlvZCB3aGVu IGRlYWxsb2NhdGluZyBpdC4gRXh0ZW5kIHN0cnVjdCBwc2FtcGxlX2dyb3VwIHdpdGggcmN1CiAg aGVhZCBhbmQgdXNlIGtmcmVlX3JjdSB3aGVuIGZyZWVpbmcgaXQuCgpGaXhlczogNWM1NjcwZmFl NDMwICgibmV0L3NjaGVkOiBJbnRyb2R1Y2Ugc2FtcGxlIHRjIGFjdGlvbiIpClNpZ25lZC1vZmYt Ynk6IFZsYWQgQnVzbG92IDx2bGFkYnVAbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZp ZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogaW5jbHVkZS9uZXQvcHNhbXBs ZS5oICB8IDEgKwogbmV0L3BzYW1wbGUvcHNhbXBsZS5jICB8IDIgKy0KIG5ldC9zY2hlZC9hY3Rf c2FtcGxlLmMgfCA2ICsrKysrLQogMyBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDIg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9uZXQvcHNhbXBsZS5oIGIvaW5jbHVk ZS9uZXQvcHNhbXBsZS5oCmluZGV4IDM3YTRkZjIzMjViMi4uNmI1NzhjZTY5Y2Q4IDEwMDY0NAot LS0gYS9pbmNsdWRlL25ldC9wc2FtcGxlLmgKKysrIGIvaW5jbHVkZS9uZXQvcHNhbXBsZS5oCkBA IC0xMSw2ICsxMSw3IEBAIHN0cnVjdCBwc2FtcGxlX2dyb3VwIHsKIAl1MzIgZ3JvdXBfbnVtOwog CXUzMiByZWZjb3VudDsKIAl1MzIgc2VxOworCXN0cnVjdCByY3VfaGVhZCByY3U7CiB9OwogCiBz dHJ1Y3QgcHNhbXBsZV9ncm91cCAqcHNhbXBsZV9ncm91cF9nZXQoc3RydWN0IG5ldCAqbmV0LCB1 MzIgZ3JvdXBfbnVtKTsKZGlmZiAtLWdpdCBhL25ldC9wc2FtcGxlL3BzYW1wbGUuYyBiL25ldC9w c2FtcGxlL3BzYW1wbGUuYwppbmRleCA4NDFmMTk4ZWExYTguLjY2ZTRiNjFhMzUwZCAxMDA2NDQK LS0tIGEvbmV0L3BzYW1wbGUvcHNhbXBsZS5jCisrKyBiL25ldC9wc2FtcGxlL3BzYW1wbGUuYwpA QCAtMTU0LDcgKzE1NCw3IEBAIHN0YXRpYyB2b2lkIHBzYW1wbGVfZ3JvdXBfZGVzdHJveShzdHJ1 Y3QgcHNhbXBsZV9ncm91cCAqZ3JvdXApCiB7CiAJcHNhbXBsZV9ncm91cF9ub3RpZnkoZ3JvdXAs IFBTQU1QTEVfQ01EX0RFTF9HUk9VUCk7CiAJbGlzdF9kZWwoJmdyb3VwLT5saXN0KTsKLQlrZnJl ZShncm91cCk7CisJa2ZyZWVfcmN1KGdyb3VwLCByY3UpOwogfQogCiBzdGF0aWMgc3RydWN0IHBz YW1wbGVfZ3JvdXAgKgpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL2FjdF9zYW1wbGUuYyBiL25ldC9z Y2hlZC9hY3Rfc2FtcGxlLmMKaW5kZXggNTk1MzA4ZDYwMTMzLi5iNzUzNzdkOGM1OTYgMTAwNjQ0 Ci0tLSBhL25ldC9zY2hlZC9hY3Rfc2FtcGxlLmMKKysrIGIvbmV0L3NjaGVkL2FjdF9zYW1wbGUu YwpAQCAtMTAyLDEzICsxMDIsMTcgQEAgc3RhdGljIGludCB0Y2Zfc2FtcGxlX2luaXQoc3RydWN0 IG5ldCAqbmV0LCBzdHJ1Y3QgbmxhdHRyICpubGEsCiAJZ290b19jaCA9IHRjZl9hY3Rpb25fc2V0 X2N0cmxhY3QoKmEsIHBhcm0tPmFjdGlvbiwgZ290b19jaCk7CiAJcy0+cmF0ZSA9IHJhdGU7CiAJ cy0+cHNhbXBsZV9ncm91cF9udW0gPSBwc2FtcGxlX2dyb3VwX251bTsKLQlSQ1VfSU5JVF9QT0lO VEVSKHMtPnBzYW1wbGVfZ3JvdXAsIHBzYW1wbGVfZ3JvdXApOworCXJjdV9zd2FwX3Byb3RlY3Rl ZChzLT5wc2FtcGxlX2dyb3VwLCBwc2FtcGxlX2dyb3VwLAorCQkJICAgbG9ja2RlcF9pc19oZWxk KCZzLT50Y2ZfbG9jaykpOwogCiAJaWYgKHRiW1RDQV9TQU1QTEVfVFJVTkNfU0laRV0pIHsKIAkJ cy0+dHJ1bmNhdGUgPSB0cnVlOwogCQlzLT50cnVuY19zaXplID0gbmxhX2dldF91MzIodGJbVENB X1NBTVBMRV9UUlVOQ19TSVpFXSk7CiAJfQogCXNwaW5fdW5sb2NrX2JoKCZzLT50Y2ZfbG9jayk7 CisKKwlpZiAocHNhbXBsZV9ncm91cCkKKwkJcHNhbXBsZV9ncm91cF9wdXQocHNhbXBsZV9ncm91 cCk7CiAJaWYgKGdvdG9fY2gpCiAJCXRjZl9jaGFpbl9wdXRfYnlfYWN0KGdvdG9fY2gpOwogCi0t IAoyLjIxLjAKCgpGcm9tIDZmYWFlMmNjZGNkODRiMDVhZGNlZjQ4ODA3ZGJlYWU2NjU5MzBhNGMg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IENvbmcgV2FuZyA8eGl5b3Uud2FuZ2NvbmdA Z21haWwuY29tPgpEYXRlOiBTdW4sIDI1IEF1ZyAyMDE5IDEwOjAxOjMyIC0wNzAwClN1YmplY3Q6 IFtQQVRDSCAwNC8xOV0gbmV0X3NjaGVkOiBmaXggYSBOVUxMIHBvaW50ZXIgZGVyZWYgaW4gaXB0 IGFjdGlvbgoKWyBVcHN0cmVhbSBjb21taXQgOTgxNDcxYmQzYWJmNGQ1NzIwOTc2NDVkNzY1Mzkx NTMzYWFjMzI3ZCBdCgpUaGUgbmV0IHBvaW50ZXIgaW4gc3RydWN0IHh0X3RnZHRvcl9wYXJhbSBp cyBub3QgZXhwbGljaXRseQppbml0aWFsaXplZCB0aGVyZWZvcmUgaXMgc3RpbGwgTlVMTCB3aGVu IGRlcmVmZXJlbmNpbmcgaXQuClNvIHdlIGhhdmUgdG8gZmluZCBhIHdheSB0byBwYXNzIHRoZSBj b3JyZWN0IG5ldCBwb2ludGVyIHRvCmlwdF9kZXN0cm95X3RhcmdldCgpLgoKVGhlIGJlc3Qgd2F5 IEkgZmluZCBpcyBqdXN0IHNhdmluZyB0aGUgbmV0IHBvaW50ZXIgaW5zaWRlIHRoZSBwZXIKbmV0 bnMgc3RydWN0IHRjZl9pZHJpbmZvLCB3aGljaCBjb3VsZCBtYWtlIHRoaXMgcGF0Y2ggc21hbGxl ci4KCkZpeGVzOiAwYzY2ZGMxZWEzZjAgKCJuZXRmaWx0ZXI6IGNvbm50cmFjazogcmVnaXN0ZXIg aG9va3MgaW4gbmV0bnMgd2hlbiBuZWVkZWQgYnkgcnVsZXNldCIpClJlcG9ydGVkLWFuZC10ZXN0 ZWQtYnk6IGl0dWdyb2tAeWFob28uY29tCkNjOiBKYW1hbCBIYWRpIFNhbGltIDxqaHNAbW9qYXRh dHUuY29tPgpDYzogSmlyaSBQaXJrbyA8amlyaUByZXNudWxsaS51cz4KU2lnbmVkLW9mZi1ieTog Q29uZyBXYW5nIDx4aXlvdS53YW5nY29uZ0BnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlk IFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBpbmNsdWRlL25ldC9hY3RfYXBp LmggICAgICB8ICA0ICsrKy0KIG5ldC9zY2hlZC9hY3RfYnBmLmMgICAgICAgIHwgIDIgKy0KIG5l dC9zY2hlZC9hY3RfY29ubm1hcmsuYyAgIHwgIDIgKy0KIG5ldC9zY2hlZC9hY3RfY3N1bS5jICAg ICAgIHwgIDIgKy0KIG5ldC9zY2hlZC9hY3RfZ2FjdC5jICAgICAgIHwgIDIgKy0KIG5ldC9zY2hl ZC9hY3RfaWZlLmMgICAgICAgIHwgIDIgKy0KIG5ldC9zY2hlZC9hY3RfaXB0LmMgICAgICAgIHwg MTEgKysrKysrLS0tLS0KIG5ldC9zY2hlZC9hY3RfbWlycmVkLmMgICAgIHwgIDIgKy0KIG5ldC9z Y2hlZC9hY3RfbmF0LmMgICAgICAgIHwgIDIgKy0KIG5ldC9zY2hlZC9hY3RfcGVkaXQuYyAgICAg IHwgIDIgKy0KIG5ldC9zY2hlZC9hY3RfcG9saWNlLmMgICAgIHwgIDIgKy0KIG5ldC9zY2hlZC9h Y3Rfc2FtcGxlLmMgICAgIHwgIDIgKy0KIG5ldC9zY2hlZC9hY3Rfc2ltcGxlLmMgICAgIHwgIDIg Ky0KIG5ldC9zY2hlZC9hY3Rfc2tiZWRpdC5jICAgIHwgIDIgKy0KIG5ldC9zY2hlZC9hY3Rfc2ti bW9kLmMgICAgIHwgIDIgKy0KIG5ldC9zY2hlZC9hY3RfdHVubmVsX2tleS5jIHwgIDIgKy0KIG5l dC9zY2hlZC9hY3Rfdmxhbi5jICAgICAgIHwgIDIgKy0KIDE3IGZpbGVzIGNoYW5nZWQsIDI0IGlu c2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbmV0L2Fj dF9hcGkuaCBiL2luY2x1ZGUvbmV0L2FjdF9hcGkuaAppbmRleCBjNjFhMWJmNGUzZGUuLjNhMWE3 Mjk5MGZjZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9uZXQvYWN0X2FwaS5oCisrKyBiL2luY2x1ZGUv bmV0L2FjdF9hcGkuaApAQCAtMTUsNiArMTUsNyBAQAogc3RydWN0IHRjZl9pZHJpbmZvIHsKIAlz dHJ1Y3QgbXV0ZXgJbG9jazsKIAlzdHJ1Y3QgaWRyCWFjdGlvbl9pZHI7CisJc3RydWN0IG5ldAkq bmV0OwogfTsKIAogc3RydWN0IHRjX2FjdGlvbl9vcHM7CkBAIC0xMDgsNyArMTA5LDcgQEAgc3Ry dWN0IHRjX2FjdGlvbl9uZXQgewogfTsKIAogc3RhdGljIGlubGluZQotaW50IHRjX2FjdGlvbl9u ZXRfaW5pdChzdHJ1Y3QgdGNfYWN0aW9uX25ldCAqdG4sCitpbnQgdGNfYWN0aW9uX25ldF9pbml0 KHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IHRjX2FjdGlvbl9uZXQgKnRuLAogCQkgICAgICAgY29u c3Qgc3RydWN0IHRjX2FjdGlvbl9vcHMgKm9wcykKIHsKIAlpbnQgZXJyID0gMDsKQEAgLTExNyw2 ICsxMTgsNyBAQCBpbnQgdGNfYWN0aW9uX25ldF9pbml0KHN0cnVjdCB0Y19hY3Rpb25fbmV0ICp0 biwKIAlpZiAoIXRuLT5pZHJpbmZvKQogCQlyZXR1cm4gLUVOT01FTTsKIAl0bi0+b3BzID0gb3Bz OworCXRuLT5pZHJpbmZvLT5uZXQgPSBuZXQ7CiAJbXV0ZXhfaW5pdCgmdG4tPmlkcmluZm8tPmxv Y2spOwogCWlkcl9pbml0KCZ0bi0+aWRyaW5mby0+YWN0aW9uX2lkcik7CiAJcmV0dXJuIGVycjsK ZGlmZiAtLWdpdCBhL25ldC9zY2hlZC9hY3RfYnBmLmMgYi9uZXQvc2NoZWQvYWN0X2JwZi5jCmlu ZGV4IGZkMWY3ZTc5OWUyMy4uMDRiN2JkNGVjNzUxIDEwMDY0NAotLS0gYS9uZXQvc2NoZWQvYWN0 X2JwZi5jCisrKyBiL25ldC9zY2hlZC9hY3RfYnBmLmMKQEAgLTQyMiw3ICs0MjIsNyBAQCBzdGF0 aWMgX19uZXRfaW5pdCBpbnQgYnBmX2luaXRfbmV0KHN0cnVjdCBuZXQgKm5ldCkKIHsKIAlzdHJ1 Y3QgdGNfYWN0aW9uX25ldCAqdG4gPSBuZXRfZ2VuZXJpYyhuZXQsIGJwZl9uZXRfaWQpOwogCi0J cmV0dXJuIHRjX2FjdGlvbl9uZXRfaW5pdCh0biwgJmFjdF9icGZfb3BzKTsKKwlyZXR1cm4gdGNf YWN0aW9uX25ldF9pbml0KG5ldCwgdG4sICZhY3RfYnBmX29wcyk7CiB9CiAKIHN0YXRpYyB2b2lk IF9fbmV0X2V4aXQgYnBmX2V4aXRfbmV0KHN0cnVjdCBsaXN0X2hlYWQgKm5ldF9saXN0KQpkaWZm IC0tZ2l0IGEvbmV0L3NjaGVkL2FjdF9jb25ubWFyay5jIGIvbmV0L3NjaGVkL2FjdF9jb25ubWFy ay5jCmluZGV4IDMyYWMwNGQ3N2E0NS4uMmI0M2NhY2Y4MmFmIDEwMDY0NAotLS0gYS9uZXQvc2No ZWQvYWN0X2Nvbm5tYXJrLmMKKysrIGIvbmV0L3NjaGVkL2FjdF9jb25ubWFyay5jCkBAIC0yMzEs NyArMjMxLDcgQEAgc3RhdGljIF9fbmV0X2luaXQgaW50IGNvbm5tYXJrX2luaXRfbmV0KHN0cnVj dCBuZXQgKm5ldCkKIHsKIAlzdHJ1Y3QgdGNfYWN0aW9uX25ldCAqdG4gPSBuZXRfZ2VuZXJpYyhu ZXQsIGNvbm5tYXJrX25ldF9pZCk7CiAKLQlyZXR1cm4gdGNfYWN0aW9uX25ldF9pbml0KHRuLCAm YWN0X2Nvbm5tYXJrX29wcyk7CisJcmV0dXJuIHRjX2FjdGlvbl9uZXRfaW5pdChuZXQsIHRuLCAm YWN0X2Nvbm5tYXJrX29wcyk7CiB9CiAKIHN0YXRpYyB2b2lkIF9fbmV0X2V4aXQgY29ubm1hcmtf ZXhpdF9uZXQoc3RydWN0IGxpc3RfaGVhZCAqbmV0X2xpc3QpCmRpZmYgLS1naXQgYS9uZXQvc2No ZWQvYWN0X2NzdW0uYyBiL25ldC9zY2hlZC9hY3RfY3N1bS5jCmluZGV4IDliOTI4ODI2N2E1NC4u ZDNjZmFkODhkYzNhIDEwMDY0NAotLS0gYS9uZXQvc2NoZWQvYWN0X2NzdW0uYworKysgYi9uZXQv c2NoZWQvYWN0X2NzdW0uYwpAQCAtNzE0LDcgKzcxNCw3IEBAIHN0YXRpYyBfX25ldF9pbml0IGlu dCBjc3VtX2luaXRfbmV0KHN0cnVjdCBuZXQgKm5ldCkKIHsKIAlzdHJ1Y3QgdGNfYWN0aW9uX25l dCAqdG4gPSBuZXRfZ2VuZXJpYyhuZXQsIGNzdW1fbmV0X2lkKTsKIAotCXJldHVybiB0Y19hY3Rp b25fbmV0X2luaXQodG4sICZhY3RfY3N1bV9vcHMpOworCXJldHVybiB0Y19hY3Rpb25fbmV0X2lu aXQobmV0LCB0biwgJmFjdF9jc3VtX29wcyk7CiB9CiAKIHN0YXRpYyB2b2lkIF9fbmV0X2V4aXQg Y3N1bV9leGl0X25ldChzdHJ1Y3QgbGlzdF9oZWFkICpuZXRfbGlzdCkKZGlmZiAtLWdpdCBhL25l dC9zY2hlZC9hY3RfZ2FjdC5jIGIvbmV0L3NjaGVkL2FjdF9nYWN0LmMKaW5kZXggOGYwMTQwYzZj YTU4Li4zMjRmMWQxZjZkNDcgMTAwNjQ0Ci0tLSBhL25ldC9zY2hlZC9hY3RfZ2FjdC5jCisrKyBi L25ldC9zY2hlZC9hY3RfZ2FjdC5jCkBAIC0yNzgsNyArMjc4LDcgQEAgc3RhdGljIF9fbmV0X2lu aXQgaW50IGdhY3RfaW5pdF9uZXQoc3RydWN0IG5ldCAqbmV0KQogewogCXN0cnVjdCB0Y19hY3Rp b25fbmV0ICp0biA9IG5ldF9nZW5lcmljKG5ldCwgZ2FjdF9uZXRfaWQpOwogCi0JcmV0dXJuIHRj X2FjdGlvbl9uZXRfaW5pdCh0biwgJmFjdF9nYWN0X29wcyk7CisJcmV0dXJuIHRjX2FjdGlvbl9u ZXRfaW5pdChuZXQsIHRuLCAmYWN0X2dhY3Rfb3BzKTsKIH0KIAogc3RhdGljIHZvaWQgX19uZXRf ZXhpdCBnYWN0X2V4aXRfbmV0KHN0cnVjdCBsaXN0X2hlYWQgKm5ldF9saXN0KQpkaWZmIC0tZ2l0 IGEvbmV0L3NjaGVkL2FjdF9pZmUuYyBiL25ldC9zY2hlZC9hY3RfaWZlLmMKaW5kZXggOTJlZTg1 M2Q0M2U2Li4zYTMxZTI0MWM2NDcgMTAwNjQ0Ci0tLSBhL25ldC9zY2hlZC9hY3RfaWZlLmMKKysr IGIvbmV0L3NjaGVkL2FjdF9pZmUuYwpAQCAtODkwLDcgKzg5MCw3IEBAIHN0YXRpYyBfX25ldF9p bml0IGludCBpZmVfaW5pdF9uZXQoc3RydWN0IG5ldCAqbmV0KQogewogCXN0cnVjdCB0Y19hY3Rp b25fbmV0ICp0biA9IG5ldF9nZW5lcmljKG5ldCwgaWZlX25ldF9pZCk7CiAKLQlyZXR1cm4gdGNf YWN0aW9uX25ldF9pbml0KHRuLCAmYWN0X2lmZV9vcHMpOworCXJldHVybiB0Y19hY3Rpb25fbmV0 X2luaXQobmV0LCB0biwgJmFjdF9pZmVfb3BzKTsKIH0KIAogc3RhdGljIHZvaWQgX19uZXRfZXhp dCBpZmVfZXhpdF9uZXQoc3RydWN0IGxpc3RfaGVhZCAqbmV0X2xpc3QpCmRpZmYgLS1naXQgYS9u ZXQvc2NoZWQvYWN0X2lwdC5jIGIvbmV0L3NjaGVkL2FjdF9pcHQuYwppbmRleCBjZTJjMzBhNTkx ZDIuLjIxNGEwM2Q0MDVjZiAxMDA2NDQKLS0tIGEvbmV0L3NjaGVkL2FjdF9pcHQuYworKysgYi9u ZXQvc2NoZWQvYWN0X2lwdC5jCkBAIC02MSwxMiArNjEsMTMgQEAgc3RhdGljIGludCBpcHRfaW5p dF90YXJnZXQoc3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3QgeHRfZW50cnlfdGFyZ2V0ICp0LAogCXJl dHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCBpcHRfZGVzdHJveV90YXJnZXQoc3RydWN0IHh0X2Vu dHJ5X3RhcmdldCAqdCkKK3N0YXRpYyB2b2lkIGlwdF9kZXN0cm95X3RhcmdldChzdHJ1Y3QgeHRf ZW50cnlfdGFyZ2V0ICp0LCBzdHJ1Y3QgbmV0ICpuZXQpCiB7CiAJc3RydWN0IHh0X3RnZHRvcl9w YXJhbSBwYXIgPSB7CiAJCS50YXJnZXQgICA9IHQtPnUua2VybmVsLnRhcmdldCwKIAkJLnRhcmdp bmZvID0gdC0+ZGF0YSwKIAkJLmZhbWlseSAgID0gTkZQUk9UT19JUFY0LAorCQkubmV0ICAgICAg PSBuZXQsCiAJfTsKIAlpZiAocGFyLnRhcmdldC0+ZGVzdHJveSAhPSBOVUxMKQogCQlwYXIudGFy Z2V0LT5kZXN0cm95KCZwYXIpOwpAQCAtNzgsNyArNzksNyBAQCBzdGF0aWMgdm9pZCB0Y2ZfaXB0 X3JlbGVhc2Uoc3RydWN0IHRjX2FjdGlvbiAqYSkKIAlzdHJ1Y3QgdGNmX2lwdCAqaXB0ID0gdG9f aXB0KGEpOwogCiAJaWYgKGlwdC0+dGNmaV90KSB7Ci0JCWlwdF9kZXN0cm95X3RhcmdldChpcHQt PnRjZmlfdCk7CisJCWlwdF9kZXN0cm95X3RhcmdldChpcHQtPnRjZmlfdCwgYS0+aWRyaW5mby0+ bmV0KTsKIAkJa2ZyZWUoaXB0LT50Y2ZpX3QpOwogCX0KIAlrZnJlZShpcHQtPnRjZmlfdG5hbWUp OwpAQCAtMTgwLDcgKzE4MSw3IEBAIHN0YXRpYyBpbnQgX190Y2ZfaXB0X2luaXQoc3RydWN0IG5l dCAqbmV0LCB1bnNpZ25lZCBpbnQgaWQsIHN0cnVjdCBubGF0dHIgKm5sYSwKIAogCXNwaW5fbG9j a19iaCgmaXB0LT50Y2ZfbG9jayk7CiAJaWYgKHJldCAhPSBBQ1RfUF9DUkVBVEVEKSB7Ci0JCWlw dF9kZXN0cm95X3RhcmdldChpcHQtPnRjZmlfdCk7CisJCWlwdF9kZXN0cm95X3RhcmdldChpcHQt PnRjZmlfdCwgbmV0KTsKIAkJa2ZyZWUoaXB0LT50Y2ZpX3RuYW1lKTsKIAkJa2ZyZWUoaXB0LT50 Y2ZpX3QpOwogCX0KQEAgLTM1MCw3ICszNTEsNyBAQCBzdGF0aWMgX19uZXRfaW5pdCBpbnQgaXB0 X2luaXRfbmV0KHN0cnVjdCBuZXQgKm5ldCkKIHsKIAlzdHJ1Y3QgdGNfYWN0aW9uX25ldCAqdG4g PSBuZXRfZ2VuZXJpYyhuZXQsIGlwdF9uZXRfaWQpOwogCi0JcmV0dXJuIHRjX2FjdGlvbl9uZXRf aW5pdCh0biwgJmFjdF9pcHRfb3BzKTsKKwlyZXR1cm4gdGNfYWN0aW9uX25ldF9pbml0KG5ldCwg dG4sICZhY3RfaXB0X29wcyk7CiB9CiAKIHN0YXRpYyB2b2lkIF9fbmV0X2V4aXQgaXB0X2V4aXRf bmV0KHN0cnVjdCBsaXN0X2hlYWQgKm5ldF9saXN0KQpAQCAtMzk5LDcgKzQwMCw3IEBAIHN0YXRp YyBfX25ldF9pbml0IGludCB4dF9pbml0X25ldChzdHJ1Y3QgbmV0ICpuZXQpCiB7CiAJc3RydWN0 IHRjX2FjdGlvbl9uZXQgKnRuID0gbmV0X2dlbmVyaWMobmV0LCB4dF9uZXRfaWQpOwogCi0JcmV0 dXJuIHRjX2FjdGlvbl9uZXRfaW5pdCh0biwgJmFjdF94dF9vcHMpOworCXJldHVybiB0Y19hY3Rp b25fbmV0X2luaXQobmV0LCB0biwgJmFjdF94dF9vcHMpOwogfQogCiBzdGF0aWMgdm9pZCBfX25l dF9leGl0IHh0X2V4aXRfbmV0KHN0cnVjdCBsaXN0X2hlYWQgKm5ldF9saXN0KQpkaWZmIC0tZ2l0 IGEvbmV0L3NjaGVkL2FjdF9taXJyZWQuYyBiL25ldC9zY2hlZC9hY3RfbWlycmVkLmMKaW5kZXgg ZDEwZGNhN2ExM2UxLi5iZDMxNzhhOTVjYjkgMTAwNjQ0Ci0tLSBhL25ldC9zY2hlZC9hY3RfbWly cmVkLmMKKysrIGIvbmV0L3NjaGVkL2FjdF9taXJyZWQuYwpAQCAtNDMyLDcgKzQzMiw3IEBAIHN0 YXRpYyBfX25ldF9pbml0IGludCBtaXJyZWRfaW5pdF9uZXQoc3RydWN0IG5ldCAqbmV0KQogewog CXN0cnVjdCB0Y19hY3Rpb25fbmV0ICp0biA9IG5ldF9nZW5lcmljKG5ldCwgbWlycmVkX25ldF9p ZCk7CiAKLQlyZXR1cm4gdGNfYWN0aW9uX25ldF9pbml0KHRuLCAmYWN0X21pcnJlZF9vcHMpOwor CXJldHVybiB0Y19hY3Rpb25fbmV0X2luaXQobmV0LCB0biwgJmFjdF9taXJyZWRfb3BzKTsKIH0K IAogc3RhdGljIHZvaWQgX19uZXRfZXhpdCBtaXJyZWRfZXhpdF9uZXQoc3RydWN0IGxpc3RfaGVh ZCAqbmV0X2xpc3QpCmRpZmYgLS1naXQgYS9uZXQvc2NoZWQvYWN0X25hdC5jIGIvbmV0L3NjaGVk L2FjdF9uYXQuYwppbmRleCA3Yjg1OGMxMWIxYjUuLmVhNGM1MzU5ZTdkZiAxMDA2NDQKLS0tIGEv bmV0L3NjaGVkL2FjdF9uYXQuYworKysgYi9uZXQvc2NoZWQvYWN0X25hdC5jCkBAIC0zMjcsNyAr MzI3LDcgQEAgc3RhdGljIF9fbmV0X2luaXQgaW50IG5hdF9pbml0X25ldChzdHJ1Y3QgbmV0ICpu ZXQpCiB7CiAJc3RydWN0IHRjX2FjdGlvbl9uZXQgKnRuID0gbmV0X2dlbmVyaWMobmV0LCBuYXRf bmV0X2lkKTsKIAotCXJldHVybiB0Y19hY3Rpb25fbmV0X2luaXQodG4sICZhY3RfbmF0X29wcyk7 CisJcmV0dXJuIHRjX2FjdGlvbl9uZXRfaW5pdChuZXQsIHRuLCAmYWN0X25hdF9vcHMpOwogfQog CiBzdGF0aWMgdm9pZCBfX25ldF9leGl0IG5hdF9leGl0X25ldChzdHJ1Y3QgbGlzdF9oZWFkICpu ZXRfbGlzdCkKZGlmZiAtLWdpdCBhL25ldC9zY2hlZC9hY3RfcGVkaXQuYyBiL25ldC9zY2hlZC9h Y3RfcGVkaXQuYwppbmRleCAxNzM2MGM2ZmFlYWEuLmNkZmFhNzkzODJhMiAxMDA2NDQKLS0tIGEv bmV0L3NjaGVkL2FjdF9wZWRpdC5jCisrKyBiL25ldC9zY2hlZC9hY3RfcGVkaXQuYwpAQCAtNDk4 LDcgKzQ5OCw3IEBAIHN0YXRpYyBfX25ldF9pbml0IGludCBwZWRpdF9pbml0X25ldChzdHJ1Y3Qg bmV0ICpuZXQpCiB7CiAJc3RydWN0IHRjX2FjdGlvbl9uZXQgKnRuID0gbmV0X2dlbmVyaWMobmV0 LCBwZWRpdF9uZXRfaWQpOwogCi0JcmV0dXJuIHRjX2FjdGlvbl9uZXRfaW5pdCh0biwgJmFjdF9w ZWRpdF9vcHMpOworCXJldHVybiB0Y19hY3Rpb25fbmV0X2luaXQobmV0LCB0biwgJmFjdF9wZWRp dF9vcHMpOwogfQogCiBzdGF0aWMgdm9pZCBfX25ldF9leGl0IHBlZGl0X2V4aXRfbmV0KHN0cnVj dCBsaXN0X2hlYWQgKm5ldF9saXN0KQpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL2FjdF9wb2xpY2Uu YyBiL25ldC9zY2hlZC9hY3RfcG9saWNlLmMKaW5kZXggNDljZWMzZTY0YTRkLi42MzE1ZTBmOGQy NmUgMTAwNjQ0Ci0tLSBhL25ldC9zY2hlZC9hY3RfcG9saWNlLmMKKysrIGIvbmV0L3NjaGVkL2Fj dF9wb2xpY2UuYwpAQCAtMzcxLDcgKzM3MSw3IEBAIHN0YXRpYyBfX25ldF9pbml0IGludCBwb2xp Y2VfaW5pdF9uZXQoc3RydWN0IG5ldCAqbmV0KQogewogCXN0cnVjdCB0Y19hY3Rpb25fbmV0ICp0 biA9IG5ldF9nZW5lcmljKG5ldCwgcG9saWNlX25ldF9pZCk7CiAKLQlyZXR1cm4gdGNfYWN0aW9u X25ldF9pbml0KHRuLCAmYWN0X3BvbGljZV9vcHMpOworCXJldHVybiB0Y19hY3Rpb25fbmV0X2lu aXQobmV0LCB0biwgJmFjdF9wb2xpY2Vfb3BzKTsKIH0KIAogc3RhdGljIHZvaWQgX19uZXRfZXhp dCBwb2xpY2VfZXhpdF9uZXQoc3RydWN0IGxpc3RfaGVhZCAqbmV0X2xpc3QpCmRpZmYgLS1naXQg YS9uZXQvc2NoZWQvYWN0X3NhbXBsZS5jIGIvbmV0L3NjaGVkL2FjdF9zYW1wbGUuYwppbmRleCBi NzUzNzdkOGM1OTYuLjEwMjI5MTI0YTk5MiAxMDA2NDQKLS0tIGEvbmV0L3NjaGVkL2FjdF9zYW1w bGUuYworKysgYi9uZXQvc2NoZWQvYWN0X3NhbXBsZS5jCkBAIC0yNjksNyArMjY5LDcgQEAgc3Rh dGljIF9fbmV0X2luaXQgaW50IHNhbXBsZV9pbml0X25ldChzdHJ1Y3QgbmV0ICpuZXQpCiB7CiAJ c3RydWN0IHRjX2FjdGlvbl9uZXQgKnRuID0gbmV0X2dlbmVyaWMobmV0LCBzYW1wbGVfbmV0X2lk KTsKIAotCXJldHVybiB0Y19hY3Rpb25fbmV0X2luaXQodG4sICZhY3Rfc2FtcGxlX29wcyk7CisJ cmV0dXJuIHRjX2FjdGlvbl9uZXRfaW5pdChuZXQsIHRuLCAmYWN0X3NhbXBsZV9vcHMpOwogfQog CiBzdGF0aWMgdm9pZCBfX25ldF9leGl0IHNhbXBsZV9leGl0X25ldChzdHJ1Y3QgbGlzdF9oZWFk ICpuZXRfbGlzdCkKZGlmZiAtLWdpdCBhL25ldC9zY2hlZC9hY3Rfc2ltcGxlLmMgYi9uZXQvc2No ZWQvYWN0X3NpbXBsZS5jCmluZGV4IDMzYWVmYTI1YjU0NS4uNjEyMGU1NjExN2NhIDEwMDY0NAot LS0gYS9uZXQvc2NoZWQvYWN0X3NpbXBsZS5jCisrKyBiL25ldC9zY2hlZC9hY3Rfc2ltcGxlLmMK QEAgLTIzMiw3ICsyMzIsNyBAQCBzdGF0aWMgX19uZXRfaW5pdCBpbnQgc2ltcF9pbml0X25ldChz dHJ1Y3QgbmV0ICpuZXQpCiB7CiAJc3RydWN0IHRjX2FjdGlvbl9uZXQgKnRuID0gbmV0X2dlbmVy aWMobmV0LCBzaW1wX25ldF9pZCk7CiAKLQlyZXR1cm4gdGNfYWN0aW9uX25ldF9pbml0KHRuLCAm YWN0X3NpbXBfb3BzKTsKKwlyZXR1cm4gdGNfYWN0aW9uX25ldF9pbml0KG5ldCwgdG4sICZhY3Rf c2ltcF9vcHMpOwogfQogCiBzdGF0aWMgdm9pZCBfX25ldF9leGl0IHNpbXBfZXhpdF9uZXQoc3Ry dWN0IGxpc3RfaGVhZCAqbmV0X2xpc3QpCmRpZmYgLS1naXQgYS9uZXQvc2NoZWQvYWN0X3NrYmVk aXQuYyBiL25ldC9zY2hlZC9hY3Rfc2tiZWRpdC5jCmluZGV4IDM3ZGNlZDAwYjYzZC4uNmE4ZDMz MzdjNTc3IDEwMDY0NAotLS0gYS9uZXQvc2NoZWQvYWN0X3NrYmVkaXQuYworKysgYi9uZXQvc2No ZWQvYWN0X3NrYmVkaXQuYwpAQCAtMzM2LDcgKzMzNiw3IEBAIHN0YXRpYyBfX25ldF9pbml0IGlu dCBza2JlZGl0X2luaXRfbmV0KHN0cnVjdCBuZXQgKm5ldCkKIHsKIAlzdHJ1Y3QgdGNfYWN0aW9u X25ldCAqdG4gPSBuZXRfZ2VuZXJpYyhuZXQsIHNrYmVkaXRfbmV0X2lkKTsKIAotCXJldHVybiB0 Y19hY3Rpb25fbmV0X2luaXQodG4sICZhY3Rfc2tiZWRpdF9vcHMpOworCXJldHVybiB0Y19hY3Rp b25fbmV0X2luaXQobmV0LCB0biwgJmFjdF9za2JlZGl0X29wcyk7CiB9CiAKIHN0YXRpYyB2b2lk IF9fbmV0X2V4aXQgc2tiZWRpdF9leGl0X25ldChzdHJ1Y3QgbGlzdF9oZWFkICpuZXRfbGlzdCkK ZGlmZiAtLWdpdCBhL25ldC9zY2hlZC9hY3Rfc2tibW9kLmMgYi9uZXQvc2NoZWQvYWN0X3NrYm1v ZC5jCmluZGV4IDdkYTM1MThlMThlZi4uODg4NDM3Zjk3YmE2IDEwMDY0NAotLS0gYS9uZXQvc2No ZWQvYWN0X3NrYm1vZC5jCisrKyBiL25ldC9zY2hlZC9hY3Rfc2tibW9kLmMKQEAgLTI4Nyw3ICsy ODcsNyBAQCBzdGF0aWMgX19uZXRfaW5pdCBpbnQgc2tibW9kX2luaXRfbmV0KHN0cnVjdCBuZXQg Km5ldCkKIHsKIAlzdHJ1Y3QgdGNfYWN0aW9uX25ldCAqdG4gPSBuZXRfZ2VuZXJpYyhuZXQsIHNr Ym1vZF9uZXRfaWQpOwogCi0JcmV0dXJuIHRjX2FjdGlvbl9uZXRfaW5pdCh0biwgJmFjdF9za2Jt b2Rfb3BzKTsKKwlyZXR1cm4gdGNfYWN0aW9uX25ldF9pbml0KG5ldCwgdG4sICZhY3Rfc2tibW9k X29wcyk7CiB9CiAKIHN0YXRpYyB2b2lkIF9fbmV0X2V4aXQgc2tibW9kX2V4aXRfbmV0KHN0cnVj dCBsaXN0X2hlYWQgKm5ldF9saXN0KQpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL2FjdF90dW5uZWxf a2V5LmMgYi9uZXQvc2NoZWQvYWN0X3R1bm5lbF9rZXkuYwppbmRleCA2ZDBkZWJkYzliOTcuLjJm ODNhNzlmNzZhYSAxMDA2NDQKLS0tIGEvbmV0L3NjaGVkL2FjdF90dW5uZWxfa2V5LmMKKysrIGIv bmV0L3NjaGVkL2FjdF90dW5uZWxfa2V5LmMKQEAgLTYwMCw3ICs2MDAsNyBAQCBzdGF0aWMgX19u ZXRfaW5pdCBpbnQgdHVubmVsX2tleV9pbml0X25ldChzdHJ1Y3QgbmV0ICpuZXQpCiB7CiAJc3Ry dWN0IHRjX2FjdGlvbl9uZXQgKnRuID0gbmV0X2dlbmVyaWMobmV0LCB0dW5uZWxfa2V5X25ldF9p ZCk7CiAKLQlyZXR1cm4gdGNfYWN0aW9uX25ldF9pbml0KHRuLCAmYWN0X3R1bm5lbF9rZXlfb3Bz KTsKKwlyZXR1cm4gdGNfYWN0aW9uX25ldF9pbml0KG5ldCwgdG4sICZhY3RfdHVubmVsX2tleV9v cHMpOwogfQogCiBzdGF0aWMgdm9pZCBfX25ldF9leGl0IHR1bm5lbF9rZXlfZXhpdF9uZXQoc3Ry dWN0IGxpc3RfaGVhZCAqbmV0X2xpc3QpCmRpZmYgLS1naXQgYS9uZXQvc2NoZWQvYWN0X3ZsYW4u YyBiL25ldC9zY2hlZC9hY3Rfdmxhbi5jCmluZGV4IGEzYzllZWExZWU4YS4uMjg3YTMwYmY4OTMw IDEwMDY0NAotLS0gYS9uZXQvc2NoZWQvYWN0X3ZsYW4uYworKysgYi9uZXQvc2NoZWQvYWN0X3Zs YW4uYwpAQCAtMzM0LDcgKzMzNCw3IEBAIHN0YXRpYyBfX25ldF9pbml0IGludCB2bGFuX2luaXRf bmV0KHN0cnVjdCBuZXQgKm5ldCkKIHsKIAlzdHJ1Y3QgdGNfYWN0aW9uX25ldCAqdG4gPSBuZXRf Z2VuZXJpYyhuZXQsIHZsYW5fbmV0X2lkKTsKIAotCXJldHVybiB0Y19hY3Rpb25fbmV0X2luaXQo dG4sICZhY3Rfdmxhbl9vcHMpOworCXJldHVybiB0Y19hY3Rpb25fbmV0X2luaXQobmV0LCB0biwg JmFjdF92bGFuX29wcyk7CiB9CiAKIHN0YXRpYyB2b2lkIF9fbmV0X2V4aXQgdmxhbl9leGl0X25l dChzdHJ1Y3QgbGlzdF9oZWFkICpuZXRfbGlzdCkKLS0gCjIuMjEuMAoKCkZyb20gYmU1MmEwNTc0 OTNlNWU4NWM5NzgzYWU3ZWMyYTNkZGE5MWExY2EwZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogQ2hlbi1ZdSBUc2FpIDx3ZW5zQGNzaWUub3JnPgpEYXRlOiBUaHUsIDI5IEF1ZyAyMDE5 IDExOjE3OjI0ICswODAwClN1YmplY3Q6IFtQQVRDSCAwNS8xOV0gbmV0OiBzdG1tYWM6IGR3bWFj LXJrOiBEb24ndCBmYWlsIGlmIHBoeSByZWd1bGF0b3IgaXMKIGFic2VudAoKWyBVcHN0cmVhbSBj b21taXQgM2IyNTUyOGUxZTM1NWM4MDNlNzNhYTMyNmNlNjU3YjU2MDZjZGE3MyBdCgpUaGUgZGV2 aWNldHJlZSBiaW5kaW5nIGxpc3RzIHRoZSBwaHkgcGh5IGFzIG9wdGlvbmFsLiBBcyBzdWNoLCB0 aGUKZHJpdmVyIHNob3VsZCBub3QgYmFpbCBvdXQgaWYgaXQgY2FuJ3QgZmluZCBhIHJlZ3VsYXRv ci4gSW5zdGVhZCBpdApzaG91bGQganVzdCBza2lwIHRoZSByZW1haW5pbmcgcmVndWxhdG9yIHJl bGF0ZWQgY29kZSBhbmQgY29udGludWUKb24gbm9ybWFsbHkuCgpTa2lwIHRoZSByZW1haW5kZXIg b2YgcGh5X3Bvd2VyX29uKCkgaWYgYSByZWd1bGF0b3Igc3VwcGx5IGlzbid0CmF2YWlsYWJsZS4g VGhpcyBhbHNvIGdldHMgcmlkIG9mIHRoZSBib2d1cyByZXR1cm4gY29kZS4KCkZpeGVzOiAyZTEy ZjUzNjYzNWYgKCJuZXQ6IHN0bW1hYzogZHdtYWMtcms6IFVzZSBzdGFuZGFyZCBkZXZpY2V0cmVl IHByb3BlcnR5IGZvciBwaHkgcmVndWxhdG9yIikKU2lnbmVkLW9mZi1ieTogQ2hlbi1ZdSBUc2Fp IDx3ZW5zQGNzaWUub3JnPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRh dmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdt YWMtcmsuYyB8IDYgKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCA0IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3Rt bWFjL2R3bWFjLXJrLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21h Yy1yay5jCmluZGV4IDQ2NDRiMmFlZWJhMS4uZTJlNDY5YzM3YTRkIDEwMDY0NAotLS0gYS9kcml2 ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jCisrKyBiL2RyaXZlcnMv bmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmMKQEAgLTExOTQsMTAgKzExOTQs OCBAQCBzdGF0aWMgaW50IHBoeV9wb3dlcl9vbihzdHJ1Y3QgcmtfcHJpdl9kYXRhICpic3BfcHJp diwgYm9vbCBlbmFibGUpCiAJaW50IHJldDsKIAlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmYnNwX3By aXYtPnBkZXYtPmRldjsKIAotCWlmICghbGRvKSB7Ci0JCWRldl9lcnIoZGV2LCAibm8gcmVndWxh dG9yIGZvdW5kXG4iKTsKLQkJcmV0dXJuIC0xOwotCX0KKwlpZiAoIWxkbykKKwkJcmV0dXJuIDA7 CiAKIAlpZiAoZW5hYmxlKSB7CiAJCXJldCA9IHJlZ3VsYXRvcl9lbmFibGUobGRvKTsKLS0gCjIu MjEuMAoKCkZyb20gYzUxMTJlZTg0MDEyNzQyZmRjYmIwODBjOWNlYzZlYTA5ZTU3YWRhOCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogV2lsbGVtIGRlIEJydWlqbiA8d2lsbGVtYkBnb29n bGUuY29tPgpEYXRlOiBUdWUsIDI3IEF1ZyAyMDE5IDE1OjA5OjMzIC0wNDAwClN1YmplY3Q6IFtQ QVRDSCAwNi8xOV0gdGNwOiBpbmhlcml0IHRpbWVzdGFtcCBvbiBtdHUgcHJvYmUKClsgVXBzdHJl YW0gY29tbWl0IDg4OGE1YzUzYzBkOGJlNmU5OGJjODViNjc3ZjE3OWY3N2E2NDc4NzMgXQoKVENQ IGFzc29jaWF0ZXMgdHggdGltZXN0YW1wIHJlcXVlc3RzIHdpdGggYSBieXRlIGluIHRoZSBieXRl c3RyZWFtLgpJZiBtZXJnaW5nIHNrYnMgaW4gdGNwX210dV9wcm9iZSwgbWlncmF0ZSB0aGUgdHN0 YW1wIHJlcXVlc3QuCgpTaW1pbGFyIHRvIE1TR19FT1IsIGRvIG5vdCBhbGxvdyBtb3ZpbmcgYSB0 aW1lc3RhbXAgZnJvbSBhbnkgc2VnbWVudAppbiB0aGUgcHJvYmUgYnV0IHRoZSBsYXN0LiBUaGlz IHRvIGF2b2lkIG1lcmdpbmcgbXVsdGlwbGUgdGltZXN0YW1wcy4KClRlc3RlZCB3aXRoIHRoZSBw YWNrZXRkcmlsbCBzY3JpcHQgYXQKaHR0cHM6Ly9naXRodWIuY29tL3dkZWJydWlqL3BhY2tldGRy aWxsL2NvbW1pdHMvbXR1X3Byb2JlLTEKCkxpbms6IGh0dHA6Ly9wYXRjaHdvcmsub3psYWJzLm9y Zy9wYXRjaC8xMTQzMjc4LyMyMjMyODk3CkZpeGVzOiA0ZWQyZDc2NWRmYWMgKCJuZXQtdGltZXN0 YW1wOiBUQ1AgdGltZXN0YW1waW5nIikKU2lnbmVkLW9mZi1ieTogV2lsbGVtIGRlIEJydWlqbiA8 d2lsbGVtYkBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0 QGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1s b2Z0Lm5ldD4KLS0tCiBuZXQvaXB2NC90Y3Bfb3V0cHV0LmMgfCAzICsrLQogMSBmaWxlIGNoYW5n ZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY0 L3RjcF9vdXRwdXQuYyBiL25ldC9pcHY0L3RjcF9vdXRwdXQuYwppbmRleCAzNTlkMjk4MzQ4Yzcu LjM3YzJmMTIwNGMxYSAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvdGNwX291dHB1dC5jCisrKyBiL25l dC9pcHY0L3RjcF9vdXRwdXQuYwpAQCAtMjA1MSw3ICsyMDUxLDcgQEAgc3RhdGljIGJvb2wgdGNw X2Nhbl9jb2FsZXNjZV9zZW5kX3F1ZXVlX2hlYWQoc3RydWN0IHNvY2sgKnNrLCBpbnQgbGVuKQog CQlpZiAobGVuIDw9IHNrYi0+bGVuKQogCQkJYnJlYWs7CiAKLQkJaWYgKHVubGlrZWx5KFRDUF9T S0JfQ0Ioc2tiKS0+ZW9yKSkKKwkJaWYgKHVubGlrZWx5KFRDUF9TS0JfQ0Ioc2tiKS0+ZW9yKSB8 fCB0Y3BfaGFzX3R4X3RzdGFtcChza2IpKQogCQkJcmV0dXJuIGZhbHNlOwogCiAJCWxlbiAtPSBz a2ItPmxlbjsKQEAgLTIxNjgsNiArMjE2OCw3IEBAIHN0YXRpYyBpbnQgdGNwX210dV9wcm9iZShz dHJ1Y3Qgc29jayAqc2spCiAJCQkgKiB3ZSBuZWVkIHRvIHByb3BhZ2F0ZSBpdCB0byB0aGUgbmV3 IHNrYi4KIAkJCSAqLwogCQkJVENQX1NLQl9DQihuc2tiKS0+ZW9yID0gVENQX1NLQl9DQihza2Ip LT5lb3I7CisJCQl0Y3Bfc2tiX2NvbGxhcHNlX3RzdGFtcChuc2tiLCBza2IpOwogCQkJdGNwX3Vu bGlua193cml0ZV9xdWV1ZShza2IsIHNrKTsKIAkJCXNrX3dtZW1fZnJlZV9za2Ioc2ssIHNrYik7 CiAJCX0gZWxzZSB7Ci0tIAoyLjIxLjAKCgpGcm9tIGIyZDJlMzNkY2RhYTNlNDBkODQ3NzM4MTM2 MWRlODc0ZTM3NTE4OTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEVyaWMgRHVtYXpl dCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTogTW9uLCAyNiBBdWcgMjAxOSAwOToxOToxNSAt MDcwMApTdWJqZWN0OiBbUEFUQ0ggMDcvMTldIHRjcDogcmVtb3ZlIGVtcHR5IHNrYiBmcm9tIHdy aXRlIHF1ZXVlIGluIGVycm9yIGNhc2VzCgpbIFVwc3RyZWFtIGNvbW1pdCBmZGZjNWM4NTk0YzI0 YzVkZjg4MzU4M2ViZDI4NjMyMWE4MGUwYTY3IF0KClZsYWRpbWlyIFJ1dHNreSByZXBvcnRlZCBz dHVjayBUQ1Agc2Vzc2lvbnMgYWZ0ZXIgbWVtb3J5IHByZXNzdXJlCmV2ZW50cy4gRWRnZSBUcmln Z2VyIGVwb2xsKCkgdXNlciB3b3VsZCBuZXZlciByZWNlaXZlIGFuIEVQT0xMT1VUCm5vdGlmaWNh dGlvbiBhbGxvd2luZyB0aGVtIHRvIHJldHJ5IGEgc2VuZG1zZygpLgoKSmFzb24gdGVzdGVkIHRo ZSBjYXNlIG9mIHNrX3N0cmVhbV9hbGxvY19za2IoKSByZXR1cm5pbmcgTlVMTCwKYnV0IHRoZXJl IGFyZSBvdGhlciBwYXRocyB0aGF0IGNvdWxkIGxlYWQgYm90aCBzZW5kbXNnKCkgYW5kIHNlbmRw YWdlKCkKdG8gcmV0dXJuIC0xIChFQUdBSU4pLCB3aXRoIGFuIGVtcHR5IHNrYiBxdWV1ZWQgb24g dGhlIHdyaXRlIHF1ZXVlLgoKVGhpcyBwYXRjaCBtYWtlcyBzdXJlIHdlIHJlbW92ZSB0aGlzIGVt cHR5IHNrYiBzbyB0aGF0Ckphc29uIGNvZGUgY2FuIGRldGVjdCB0aGF0IHRoZSBxdWV1ZSBpcyBl bXB0eSwgYW5kCmNhbGwgc2stPnNrX3dyaXRlX3NwYWNlKHNrKSBhY2NvcmRpbmdseS4KCkZpeGVz OiBjZTVlYzQ0MDk5NGIgKCJ0Y3A6IGVuc3VyZSBlcG9sbCBlZGdlIHRyaWdnZXIgd2FrZXVwIHdo ZW4gd3JpdGUgcXVldWUgaXMgZW1wdHkiKQpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVk dW1hemV0QGdvb2dsZS5jb20+CkNjOiBKYXNvbiBCYXJvbiA8amJhcm9uQGFrYW1haS5jb20+ClJl cG9ydGVkLWJ5OiBWbGFkaW1pciBSdXRza3kgPHJ1dHNreUBnb29nbGUuY29tPgpDYzogU29oZWls IEhhc3NhcyBZZWdhbmVoIDxzb2hlaWxAZ29vZ2xlLmNvbT4KQ2M6IE5lYWwgQ2FyZHdlbGwgPG5j YXJkd2VsbEBnb29nbGUuY29tPgpBY2tlZC1ieTogU29oZWlsIEhhc3NhcyBZZWdhbmVoIDxzb2hl aWxAZ29vZ2xlLmNvbT4KQWNrZWQtYnk6IE5lYWwgQ2FyZHdlbGwgPG5jYXJkd2VsbEBnb29nbGUu Y29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+ Ci0tLQogbmV0L2lwdjQvdGNwLmMgfCAzMCArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0K IDEgZmlsZSBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9uZXQvaXB2NC90Y3AuYyBiL25ldC9pcHY0L3RjcC5jCmluZGV4IGIzMGY3Zjg3NzE4 MS4uYjJmMGQyOTg4YThlIDEwMDY0NAotLS0gYS9uZXQvaXB2NC90Y3AuYworKysgYi9uZXQvaXB2 NC90Y3AuYwpAQCAtOTM1LDYgKzkzNSwyMiBAQCBzdGF0aWMgaW50IHRjcF9zZW5kX21zcyhzdHJ1 Y3Qgc29jayAqc2ssIGludCAqc2l6ZV9nb2FsLCBpbnQgZmxhZ3MpCiAJcmV0dXJuIG1zc19ub3c7 CiB9CiAKKy8qIEluIHNvbWUgY2FzZXMsIGJvdGggc2VuZHBhZ2UoKSBhbmQgc2VuZG1zZygpIGNv dWxkIGhhdmUgYWRkZWQKKyAqIGFuIHNrYiB0byB0aGUgd3JpdGUgcXVldWUsIGJ1dCBmYWlsZWQg YWRkaW5nIHBheWxvYWQgb24gaXQuCisgKiBXZSBuZWVkIHRvIHJlbW92ZSBpdCB0byBjb25zdW1l IGxlc3MgbWVtb3J5LCBidXQgbW9yZQorICogaW1wb3J0YW50bHkgYmUgYWJsZSB0byBnZW5lcmF0 ZSBFUE9MTE9VVCBmb3IgRWRnZSBUcmlnZ2VyIGVwb2xsKCkKKyAqIHVzZXJzLgorICovCitzdGF0 aWMgdm9pZCB0Y3BfcmVtb3ZlX2VtcHR5X3NrYihzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBza19i dWZmICpza2IpCit7CisJaWYgKHNrYiAmJiAhc2tiLT5sZW4pIHsKKwkJdGNwX3VubGlua193cml0 ZV9xdWV1ZShza2IsIHNrKTsKKwkJaWYgKHRjcF93cml0ZV9xdWV1ZV9lbXB0eShzaykpCisJCQl0 Y3BfY2hyb25vX3N0b3Aoc2ssIFRDUF9DSFJPTk9fQlVTWSk7CisJCXNrX3dtZW1fZnJlZV9za2Io c2ssIHNrYik7CisJfQorfQorCiBzc2l6ZV90IGRvX3RjcF9zZW5kcGFnZXMoc3RydWN0IHNvY2sg KnNrLCBzdHJ1Y3QgcGFnZSAqcGFnZSwgaW50IG9mZnNldCwKIAkJCSBzaXplX3Qgc2l6ZSwgaW50 IGZsYWdzKQogewpAQCAtMTA2NCw2ICsxMDgwLDcgQEAgc3NpemVfdCBkb190Y3Bfc2VuZHBhZ2Vz KHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHBhZ2UgKnBhZ2UsIGludCBvZmZzZXQsCiAJcmV0dXJu IGNvcGllZDsKIAogZG9fZXJyb3I6CisJdGNwX3JlbW92ZV9lbXB0eV9za2Ioc2ssIHRjcF93cml0 ZV9xdWV1ZV90YWlsKHNrKSk7CiAJaWYgKGNvcGllZCkKIAkJZ290byBvdXQ7CiBvdXRfZXJyOgpA QCAtMTM4OCwxOCArMTQwNSwxMSBAQCBpbnQgdGNwX3NlbmRtc2dfbG9ja2VkKHN0cnVjdCBzb2Nr ICpzaywgc3RydWN0IG1zZ2hkciAqbXNnLCBzaXplX3Qgc2l6ZSkKIAlzb2NrX3plcm9jb3B5X3B1 dCh1YXJnKTsKIAlyZXR1cm4gY29waWVkICsgY29waWVkX3N5bjsKIAorZG9fZXJyb3I6CisJc2ti ID0gdGNwX3dyaXRlX3F1ZXVlX3RhaWwoc2spOwogZG9fZmF1bHQ6Ci0JaWYgKCFza2ItPmxlbikg ewotCQl0Y3BfdW5saW5rX3dyaXRlX3F1ZXVlKHNrYiwgc2spOwotCQkvKiBJdCBpcyB0aGUgb25l IHBsYWNlIGluIGFsbCBvZiBUQ1AsIGV4Y2VwdCBjb25uZWN0aW9uCi0JCSAqIHJlc2V0LCB3aGVy ZSB3ZSBjYW4gYmUgdW5saW5raW5nIHRoZSBzZW5kX2hlYWQuCi0JCSAqLwotCQlpZiAodGNwX3dy aXRlX3F1ZXVlX2VtcHR5KHNrKSkKLQkJCXRjcF9jaHJvbm9fc3RvcChzaywgVENQX0NIUk9OT19C VVNZKTsKLQkJc2tfd21lbV9mcmVlX3NrYihzaywgc2tiKTsKLQl9CisJdGNwX3JlbW92ZV9lbXB0 eV9za2Ioc2ssIHNrYik7CiAKLWRvX2Vycm9yOgogCWlmIChjb3BpZWQgKyBjb3BpZWRfc3luKQog CQlnb3RvIG91dDsKIG91dF9lcnI6Ci0tIAoyLjIxLjAKCgpGcm9tIDU5MjAyMmU0MDRjYmZmYWRm NWFmOGU5NzhiZTJhNjVmZWQ4YzQ1M2EgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEpv aG4gSHVybGV5IDxqb2huLmh1cmxleUBuZXRyb25vbWUuY29tPgpEYXRlOiBUdWUsIDI3IEF1ZyAy MDE5IDIyOjU2OjI5IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAwOC8xOV0gbmZwOiBmbG93ZXI6IHBy ZXZlbnQgaW5ncmVzcyBibG9jayBiaW5kcyBvbiBpbnRlcm5hbAogcG9ydHMKClsgVXBzdHJlYW0g Y29tbWl0IDczOWQ3YzU3NTJiMjU1ZTg5ZGRiYjFiMDQ3NGYzYjg4ZWY1Y2QzNDMgXQoKSW50ZXJu YWwgcG9ydCBUQyBvZmZsb2FkIGlzIGltcGxlbWVudGVkIHRocm91Z2ggdXNlci1zcGFjZSBhcHBs aWNhdGlvbnMKKHN1Y2ggYXMgT3ZTKSBieSBhZGRpbmcgZmlsdGVycyBhdCBlZ3Jlc3MgdmlhIFRD IGNsc2FjdCBxZGlzY3MuIEluZGlyZWN0CmJsb2NrIG9mZmxvYWQgc3VwcG9ydCBpbiB0aGUgTkZQ IGRyaXZlciBhY2NlcHRzIGJvdGggaW5ncmVzcyBxZGlzYyBiaW5kcwphbmQgZWdyZXNzIGJpbmRz IGlmIHRoZSBkZXZpY2UgaXMgYW4gaW50ZXJuYWwgcG9ydC4gSG93ZXZlciwgY2xzYWN0IHNlbmRz CmJpbmQgbm90aWZpY2F0aW9uIGZvciBib3RoIGluZ3Jlc3MgYW5kIGVncmVzcyBibG9jayBiaW5k cyB3aGljaCBjYW4gbGVhZAp0byB0aGUgZHJpdmVyIHJlZ2lzdGVyaW5nIG11bHRpcGxlIGNhbGxi YWNrcyBhbmQgcmVjZWl2aW5nIG11bHRpcGxlCm5vdGlmaWNhdGlvbnMgb2YgbmV3IGZpbHRlcnMu CgpGaXggdGhpcyBieSByZWplY3RpbmcgaW5ncmVzcyBibG9jayBiaW5kIGNhbGxiYWNrcyB3aGVu IHRoZSBwb3J0IGlzCmludGVybmFsIGFuZCBvbmx5IGFkZGluZyBmaWx0ZXIgY2FsbGJhY2tzIGZv ciBlZ3Jlc3MgYmluZHMuCgpGaXhlczogNGQxMmJhNDI3ODdiICgibmZwOiBmbG93ZXI6IGFsbG93 IG9mZmxvYWRpbmcgb2YgbWF0Y2hlcyBvbiAnaW50ZXJuYWwnIHBvcnRzIikKU2lnbmVkLW9mZi1i eTogSm9obiBIdXJsZXkgPGpvaG4uaHVybGV5QG5ldHJvbm9tZS5jb20+ClJldmlld2VkLWJ5OiBK YWt1YiBLaWNpbnNraSA8amFrdWIua2ljaW5za2lAbmV0cm9ub21lLmNvbT4KU2lnbmVkLW9mZi1i eTogSmFrdWIgS2ljaW5za2kgPGpha3ViLmtpY2luc2tpQG5ldHJvbm9tZS5jb20+ClNpZ25lZC1v ZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJz L25ldC9ldGhlcm5ldC9uZXRyb25vbWUvbmZwL2Zsb3dlci9vZmZsb2FkLmMgfCA3ICsrKystLS0K IDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbmV0cm9ub21lL25mcC9mbG93ZXIvb2ZmbG9hZC5j IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbmV0cm9ub21lL25mcC9mbG93ZXIvb2ZmbG9hZC5jCmlu ZGV4IDFmYmZlYjQzYzUzOC4uZjVlYmQ5NDAzZDcyIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9l dGhlcm5ldC9uZXRyb25vbWUvbmZwL2Zsb3dlci9vZmZsb2FkLmMKKysrIGIvZHJpdmVycy9uZXQv ZXRoZXJuZXQvbmV0cm9ub21lL25mcC9mbG93ZXIvb2ZmbG9hZC5jCkBAIC0xMjgwLDkgKzEyODAs MTAgQEAgbmZwX2Zsb3dlcl9zZXR1cF9pbmRyX3RjX2Jsb2NrKHN0cnVjdCBuZXRfZGV2aWNlICpu ZXRkZXYsIHN0cnVjdCBuZnBfYXBwICphcHAsCiAJc3RydWN0IG5mcF9mbG93ZXJfcHJpdiAqcHJp diA9IGFwcC0+cHJpdjsKIAlpbnQgZXJyOwogCi0JaWYgKGYtPmJpbmRlcl90eXBlICE9IFRDRl9C TE9DS19CSU5ERVJfVFlQRV9DTFNBQ1RfSU5HUkVTUyAmJgotCSAgICAhKGYtPmJpbmRlcl90eXBl ID09IFRDRl9CTE9DS19CSU5ERVJfVFlQRV9DTFNBQ1RfRUdSRVNTICYmCi0JICAgICAgbmZwX2Zs b3dlcl9pbnRlcm5hbF9wb3J0X2Nhbl9vZmZsb2FkKGFwcCwgbmV0ZGV2KSkpCisJaWYgKChmLT5i aW5kZXJfdHlwZSAhPSBUQ0ZfQkxPQ0tfQklOREVSX1RZUEVfQ0xTQUNUX0lOR1JFU1MgJiYKKwkg ICAgICFuZnBfZmxvd2VyX2ludGVybmFsX3BvcnRfY2FuX29mZmxvYWQoYXBwLCBuZXRkZXYpKSB8 fAorCSAgICAoZi0+YmluZGVyX3R5cGUgIT0gVENGX0JMT0NLX0JJTkRFUl9UWVBFX0NMU0FDVF9F R1JFU1MgJiYKKwkgICAgIG5mcF9mbG93ZXJfaW50ZXJuYWxfcG9ydF9jYW5fb2ZmbG9hZChhcHAs IG5ldGRldikpKQogCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAKIAlzd2l0Y2ggKGYtPmNvbW1hbmQp IHsKLS0gCjIuMjEuMAoKCkZyb20gNTZmNmVmMGIwMjZlZTI2YTVjZTUyNDE2NzlmNzM1YTk1Nzg4 YmMzMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiBIdXJsZXkgPGpvaG4uaHVy bGV5QG5ldHJvbm9tZS5jb20+CkRhdGU6IFR1ZSwgMjcgQXVnIDIwMTkgMjI6NTY6MzAgLTA3MDAK U3ViamVjdDogW1BBVENIIDA5LzE5XSBuZnA6IGZsb3dlcjogaGFuZGxlIG5laWdoYm91ciBldmVu dHMgb24gaW50ZXJuYWwgcG9ydHMKClsgVXBzdHJlYW0gY29tbWl0IGU4MDI0Y2I0ODNhYmIyYjAy OTBiM2VmNWUzNGM3MzZlOWRlMjQ5MmYgXQoKUmVjZW50IGNvZGUgY2hhbmdlcyB0byBORlAgYWxs b3dlZCB0aGUgb2ZmbG9hZCBvZiBuZWlnaGJvdXIgZW50cmllcyB0byBGVwp3aGVuIHRoZSBuZXh0 IGhvcCBkZXZpY2Ugd2FzIGFuIGludGVybmFsIHBvcnQuIFRoaXMgYWxsb3dzIGZvciBvZmZsb2Fk IG9mCnR1bm5lbCBlbmNhcCB3aGVuIHRoZSBlbmQtcG9pbnQgSVAgYWRkcmVzcyBpcyBhcHBsaWVk IHRvIHN1Y2ggYSBwb3J0LgoKVW5mb3J0dW5hdGVseSwgdGhlIG5laWdoYm91ciBldmVudCBoYW5k bGVyIHN0aWxsIHJlamVjdHMgZXZlbnRzIHRoYXQgYXJlCm5vdCBhc3NvY2lhdGVkIHdpdGggYSBy ZXByIGRldiBhbmQgc28gdGhlIGZpcm13YXJlIG5laWdoYm91ciB0YWJsZSBtYXkgZ2V0Cm91dCBv ZiBzeW5jIGZvciBpbnRlcm5hbCBwb3J0cy4KCkZpeCB0aGlzIGJ5IGFsbG93aW5nIGludGVybmFs IHBvcnQgbmVpZ2hib3VyIGV2ZW50cyB0byBiZSBjb3JyZWN0bHkKcHJvY2Vzc2VkLgoKRml4ZXM6 IDQ1NzU2ZGZlZGFiNSAoIm5mcDogZmxvd2VyOiBhbGxvdyB0dW5uZWxzIHRvIG91dHB1dCB0byBp bnRlcm5hbCBwb3J0IikKU2lnbmVkLW9mZi1ieTogSm9obiBIdXJsZXkgPGpvaG4uaHVybGV5QG5l dHJvbm9tZS5jb20+ClJldmlld2VkLWJ5OiBTaW1vbiBIb3JtYW4gPHNpbW9uLmhvcm1hbkBuZXRy b25vbWUuY29tPgpSZXZpZXdlZC1ieTogSmFrdWIgS2ljaW5za2kgPGpha3ViLmtpY2luc2tpQG5l dHJvbm9tZS5jb20+ClNpZ25lZC1vZmYtYnk6IEpha3ViIEtpY2luc2tpIDxqYWt1Yi5raWNpbnNr aUBuZXRyb25vbWUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRh dmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbmV0cm9ub21lL25mcC9mbG93 ZXIvdHVubmVsX2NvbmYuYyB8IDggKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlv bnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQv bmV0cm9ub21lL25mcC9mbG93ZXIvdHVubmVsX2NvbmYuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0 L25ldHJvbm9tZS9uZnAvZmxvd2VyL3R1bm5lbF9jb25mLmMKaW5kZXggOGM2NzUwNTg2NWE0Li40 M2ZhYWQxODkzZjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L25ldHJvbm9tZS9u ZnAvZmxvd2VyL3R1bm5lbF9jb25mLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbmV0cm9u b21lL25mcC9mbG93ZXIvdHVubmVsX2NvbmYuYwpAQCAtMzI5LDEzICszMjksMTMgQEAgbmZwX3R1 bl9uZWlnaF9ldmVudF9oYW5kbGVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIsIHVuc2lnbmVk IGxvbmcgZXZlbnQsCiAKIAlmbG93LmRhZGRyID0gKihfX2JlMzIgKiluLT5wcmltYXJ5X2tleTsK IAotCS8qIE9ubHkgY29uY2VybmVkIHdpdGggcm91dGUgY2hhbmdlcyBmb3IgcmVwcmVzZW50b3Jz LiAqLwotCWlmICghbmZwX25ldGRldl9pc19uZnBfcmVwcihuLT5kZXYpKQotCQlyZXR1cm4gTk9U SUZZX0RPTkU7Ci0KIAlhcHBfcHJpdiA9IGNvbnRhaW5lcl9vZihuYiwgc3RydWN0IG5mcF9mbG93 ZXJfcHJpdiwgdHVuLm5laWdoX25iKTsKIAlhcHAgPSBhcHBfcHJpdi0+YXBwOwogCisJaWYgKCFu ZnBfbmV0ZGV2X2lzX25mcF9yZXByKG4tPmRldikgJiYKKwkgICAgIW5mcF9mbG93ZXJfaW50ZXJu YWxfcG9ydF9jYW5fb2ZmbG9hZChhcHAsIG4tPmRldikpCisJCXJldHVybiBOT1RJRllfRE9ORTsK KwogCS8qIE9ubHkgY29uY2VybmVkIHdpdGggY2hhbmdlcyB0byByb3V0ZXMgYWxyZWFkeSBhZGRl ZCB0byBORlAuICovCiAJaWYgKCFuZnBfdHVuX2hhc19yb3V0ZShhcHAsIGZsb3cuZGFkZHIpKQog CQlyZXR1cm4gTk9USUZZX0RPTkU7Ci0tIAoyLjIxLjAKCgpGcm9tIGE3YjQ0NDE3MWNhMTkwNWQ3 ZjQxMGEyYzAyZmI3YmI3N2Q5Y2QxNmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEhh eWVzIFdhbmcgPGhheWVzd2FuZ0ByZWFsdGVrLmNvbT4KRGF0ZTogV2VkLCAyOCBBdWcgMjAxOSAw OTo1MTo0MSArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTAvMTldIFJldmVydCAicjgxNTI6IG5hcGkg aGFuZ3VwIGZpeCBhZnRlciBkaXNjb25uZWN0IgoKWyBVcHN0cmVhbSBjb21taXQgNDlkNGIxNDEx M2NhZTE0MTBlYjQ2NTRhZGE1Yjk1ODNiYWQ5NzFjNCBdCgpUaGlzIHJldmVydHMgY29tbWl0IDBl ZTFmNDczNDk2N2FmODMyMWVjZWJhZjljNzQyMjFhY2UzNGYyZDUuCgpUaGUgY29tbWl0IDBlZTFm NDczNDk2NyAoInI4MTUyOiBuYXBpIGhhbmd1cCBmaXggYWZ0ZXIKZGlzY29ubmVjdCIpIGFkZHMg YSBjaGVjayBhYm91dCBSVEw4MTUyX1VOUExVRyB0byBkZXRlcm1pbmUKaWYgY2FsbGluZyBuYXBp X2Rpc2FibGUoKSBpcyBpbnZhbGlkIGluIHJ0bDgxNTJfY2xvc2UoKSwKd2hlbiBydGw4MTUyX2Rp c2Nvbm5lY3QoKSBpcyBjYWxsZWQuIFRoaXMgYXZvaWRzIHRvIHVzZQpuYXBpX2Rpc2FibGUoKSBh ZnRlciBjYWxsaW5nIG5ldGlmX25hcGlfZGVsKCkuCgpIb3d2ZXIsIGNvbW1pdCBmZmE5ZmVjMzBj YTAgKCJyODE1Mjogc2V0IFJUTDgxNTJfVU5QTFVHCm9ubHkgZm9yIHJlYWwgZGlzY29ubmVjdGlv biIpIGNhdXNlcyB0aGF0IFJUTDgxNTJfVU5QTFVHCmlzIG5vdCBhbHdheXMgc2V0IHdoZW4gY2Fs bGluZyBydGw4MTUyX2Rpc2Nvbm5lY3QoKS4KVGhlcmVmb3JlLCBJIGhhdmUgdG8gcmV2ZXJ0IGNv bW1pdCAwZWUxZjQ3MzQ5NjcgKCJyODE1MjoKbmFwaSBoYW5ndXAgZml4IGFmdGVyIGRpc2Nvbm5l Y3QiKSwgZmlyc3QuIEFuZCBzdWJtaXQKYW5vdGhlciBwYXRjaCB0byBmaXggaXQuCgpTaWduZWQt b2ZmLWJ5OiBIYXllcyBXYW5nIDxoYXllc3dhbmdAcmVhbHRlay5jb20+ClNpZ25lZC1vZmYtYnk6 IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC91 c2IvcjgxNTIuYyB8IDMgKy0tCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDIgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdXNiL3I4MTUyLmMgYi9kcml2ZXJz L25ldC91c2IvcjgxNTIuYwppbmRleCBlMGRjYjY4MWNmZTUuLmEyZjYzZDEwYmNmZSAxMDA2NDQK LS0tIGEvZHJpdmVycy9uZXQvdXNiL3I4MTUyLmMKKysrIGIvZHJpdmVycy9uZXQvdXNiL3I4MTUy LmMKQEAgLTM5ODcsOCArMzk4Nyw3IEBAIHN0YXRpYyBpbnQgcnRsODE1Ml9jbG9zZShzdHJ1Y3Qg bmV0X2RldmljZSAqbmV0ZGV2KQogI2lmZGVmIENPTkZJR19QTV9TTEVFUAogCXVucmVnaXN0ZXJf cG1fbm90aWZpZXIoJnRwLT5wbV9ub3RpZmllcik7CiAjZW5kaWYKLQlpZiAoIXRlc3RfYml0KFJU TDgxNTJfVU5QTFVHLCAmdHAtPmZsYWdzKSkKLQkJbmFwaV9kaXNhYmxlKCZ0cC0+bmFwaSk7CisJ bmFwaV9kaXNhYmxlKCZ0cC0+bmFwaSk7CiAJY2xlYXJfYml0KFdPUktfRU5BQkxFLCAmdHAtPmZs YWdzKTsKIAl1c2Jfa2lsbF91cmIodHAtPmludHJfdXJiKTsKIAljYW5jZWxfZGVsYXllZF93b3Jr X3N5bmMoJnRwLT5zY2hlZHVsZSk7Ci0tIAoyLjIxLjAKCgpGcm9tIDgyNzBlZjQyZjA4ZDlmNTc0 ZDlhNWUzOTk3YmZmZWE0OGE4OWUyNmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEhh eWVzIFdhbmcgPGhheWVzd2FuZ0ByZWFsdGVrLmNvbT4KRGF0ZTogV2VkLCAyOCBBdWcgMjAxOSAw OTo1MTo0MiArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTEvMTldIHI4MTUyOiByZW1vdmUgY2FsbGlu ZyBuZXRpZl9uYXBpX2RlbAoKWyBVcHN0cmVhbSBjb21taXQgOTczZGM2Y2ZjMGUyYzQzZmYyOWNh NTY0NWNlYWYxYWU2OTRlYTExMCBdCgpSZW1vdmUgdW5uZWNlc3NhcnkgdXNlIG9mIG5ldGlmX25h cGlfZGVsLiBUaGlzIGFsc28gYXZvaWRzIHRvIGNhbGwKbmFwaV9kaXNhYmxlKCkgYWZ0ZXIgbmV0 aWZfbmFwaV9kZWwoKS4KClNpZ25lZC1vZmYtYnk6IEhheWVzIFdhbmcgPGhheWVzd2FuZ0ByZWFs dGVrLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQu bmV0PgotLS0KIGRyaXZlcnMvbmV0L3VzYi9yODE1Mi5jIHwgMiAtLQogMSBmaWxlIGNoYW5nZWQs IDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdXNiL3I4MTUyLmMgYi9k cml2ZXJzL25ldC91c2IvcjgxNTIuYwppbmRleCBhMmY2M2QxMGJjZmUuLjFhN2I3YmQ0MTJmOSAx MDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvdXNiL3I4MTUyLmMKKysrIGIvZHJpdmVycy9uZXQvdXNi L3I4MTUyLmMKQEAgLTUzMDksNyArNTMwOSw2IEBAIHN0YXRpYyBpbnQgcnRsODE1Ml9wcm9iZShz dHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZiwKIAlyZXR1cm4gMDsKIAogb3V0MToKLQluZXRpZl9u YXBpX2RlbCgmdHAtPm5hcGkpOwogCXVzYl9zZXRfaW50ZmRhdGEoaW50ZiwgTlVMTCk7CiBvdXQ6 CiAJZnJlZV9uZXRkZXYobmV0ZGV2KTsKQEAgLTUzMjcsNyArNTMyNiw2IEBAIHN0YXRpYyB2b2lk IHJ0bDgxNTJfZGlzY29ubmVjdChzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZikKIAkJaWYgKHVk ZXYtPnN0YXRlID09IFVTQl9TVEFURV9OT1RBVFRBQ0hFRCkKIAkJCXNldF9iaXQoUlRMODE1Ml9V TlBMVUcsICZ0cC0+ZmxhZ3MpOwogCi0JCW5ldGlmX25hcGlfZGVsKCZ0cC0+bmFwaSk7CiAJCXVu cmVnaXN0ZXJfbmV0ZGV2KHRwLT5uZXRkZXYpOwogCQljYW5jZWxfZGVsYXllZF93b3JrX3N5bmMo JnRwLT5od19waHlfd29yayk7CiAJCXRwLT5ydGxfb3BzLnVubG9hZCh0cCk7Ci0tIAoyLjIxLjAK CgpGcm9tIGE0N2NiYjA4OTZlOGFkNjFiZmM3ZTRkNjQxZWVjN2YwMjQ0Yjk3YzMgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IFZsYWRpbWlyIE9sdGVhbiA8b2x0ZWFudkBnbWFpbC5jb20+ CkRhdGU6IEZyaSwgMzAgQXVnIDIwMTkgMDQ6MDc6MjEgKzAzMDAKU3ViamVjdDogW1BBVENIIDEy LzE5XSB0YXByaW86IEZpeCBrZXJuZWwgcGFuaWMgaW4gdGFwcmlvX2Rlc3Ryb3kKCnRhcHJpb19p bml0IG1heSBmYWlsIGVhcmxpZXIgdGhhbiB0aGlzIGxpbmU6CgoJbGlzdF9hZGQoJnEtPnRhcHJp b19saXN0LCAmdGFwcmlvX2xpc3QpOwoKaS5lLiBkdWUgdG8gdGhlIG5ldCBkZXZpY2Ugbm90IGJl aW5nIG11bHRpIHF1ZXVlLgoKQXR0ZW1wdGluZyB0byByZW1vdmUgcSBmcm9tIHRoZSBnbG9iYWwg dGFwcmlvX2xpc3Qgd2hlbiBpdCBpcyBub3QgcGFydApvZiBpdCB3aWxsIHJlc3VsdCBpbiBhIGtl cm5lbCBwYW5pYy4KCkZpeCBpdCBieSBtYXRjaGluZyBsaXN0X2FkZCBhbmQgbGlzdF9kZWwgYmV0 dGVyIHRvIG9uZSBhbm90aGVyIGluIHRoZQpvcmRlciBvZiBvcGVyYXRpb25zLiBUaGlzIHdheSB3 ZSBjYW4ga2VlcCB0aGUgZGVsZXRpb24gdW5jb25kaXRpb25hbAphbmQgd2l0aCBsb3dlciBjb21w bGV4aXR5IC0gTygxKS4KCkNjOiBMZWFuZHJvIERvcmlsZW8gPGxlYW5kcm8ubWFjaWVsLmRvcmls ZW9AaW50ZWwuY29tPgpGaXhlczogN2I5ZWJhN2JhMGMxICgibmV0L3NjaGVkOiB0YXByaW86IGZp eCBwaWNvc19wZXJfYnl0ZSBtaXNjYWxjdWxhdGlvbiIpClNpZ25lZC1vZmYtYnk6IFZsYWRpbWly IE9sdGVhbiA8b2x0ZWFudkBnbWFpbC5jb20+CkFja2VkLWJ5OiBWaW5pY2l1cyBDb3N0YSBHb21l cyA8dmluaWNpdXMuZ29tZXNAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxs ZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3NjaGVkL3NjaF90YXByaW8uYyB8IDgg KysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL3NjaF90YXByaW8uYyBiL25ldC9zY2hlZC9zY2hfdGFw cmlvLmMKaW5kZXggOGJlODlhYTUyYjZlLi4wZjdkNTc1ZTVlOGIgMTAwNjQ0Ci0tLSBhL25ldC9z Y2hlZC9zY2hfdGFwcmlvLmMKKysrIGIvbmV0L3NjaGVkL3NjaF90YXByaW8uYwpAQCAtOTAzLDYg KzkwMywxMCBAQCBzdGF0aWMgaW50IHRhcHJpb19pbml0KHN0cnVjdCBRZGlzYyAqc2NoLCBzdHJ1 Y3QgbmxhdHRyICpvcHQsCiAJICovCiAJcS0+Y2xvY2tpZCA9IC0xOwogCisJc3Bpbl9sb2NrKCZ0 YXByaW9fbGlzdF9sb2NrKTsKKwlsaXN0X2FkZCgmcS0+dGFwcmlvX2xpc3QsICZ0YXByaW9fbGlz dCk7CisJc3Bpbl91bmxvY2soJnRhcHJpb19saXN0X2xvY2spOworCiAJaWYgKHNjaC0+cGFyZW50 ICE9IFRDX0hfUk9PVCkKIAkJcmV0dXJuIC1FT1BOT1RTVVBQOwogCkBAIC05MjAsMTAgKzkyNCw2 IEBAIHN0YXRpYyBpbnQgdGFwcmlvX2luaXQoc3RydWN0IFFkaXNjICpzY2gsIHN0cnVjdCBubGF0 dHIgKm9wdCwKIAlpZiAoIW9wdCkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKLQlzcGluX2xvY2soJnRh cHJpb19saXN0X2xvY2spOwotCWxpc3RfYWRkKCZxLT50YXByaW9fbGlzdCwgJnRhcHJpb19saXN0 KTsKLQlzcGluX3VubG9jaygmdGFwcmlvX2xpc3RfbG9jayk7Ci0KIAlmb3IgKGkgPSAwOyBpIDwg ZGV2LT5udW1fdHhfcXVldWVzOyBpKyspIHsKIAkJc3RydWN0IG5ldGRldl9xdWV1ZSAqZGV2X3F1 ZXVlOwogCQlzdHJ1Y3QgUWRpc2MgKnFkaXNjOwotLSAKMi4yMS4wCgoKRnJvbSBmZDM1MzE4N2Iz NDU4OGJhNzFkODYxMTIzMmQ2MjliMzY3YWRjMGZmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBWbGFkaW1pciBPbHRlYW4gPG9sdGVhbnZAZ21haWwuY29tPgpEYXRlOiBGcmksIDMwIEF1 ZyAyMDE5IDA0OjA3OjIyICswMzAwClN1YmplY3Q6IFtQQVRDSCAxMy8xOV0gdGFwcmlvOiBTZXQg ZGVmYXVsdCBsaW5rIHNwZWVkIHRvIDEwIE1icHMgaW4KIHRhcHJpb19zZXRfcGljb3NfcGVyX2J5 dGUKClRoZSB0YXByaW8gYnVkZ2V0IG5lZWRzIHRvIGJlIGFkYXB0ZWQgYXQgcnVudGltZSBhY2Nv cmRpbmcgdG8gaW50ZXJmYWNlCmxpbmsgc3BlZWQuIEJ1dCB0aGF0IGhhbmRsaW5nIGlzIHByb2Js ZW1hdGljLgoKRm9yIG9uZSB0aGluZywgaW5zdGFsbGluZyBhIHFkaXNjIG9uIGFuIGludGVyZmFj ZSB0aGF0IGRvZXNuJ3QgaGF2ZQpjYXJyaWVyIGlzIG5vdCBpbGxlZ2FsLiBCdXQgdGFwcmlvIHBy aW50cyB0aGUgZm9sbG93aW5nIHN0YWNrIHRyYWNlOgoKWyAgIDMxLjg1MTM3M10gLS0tLS0tLS0t LS0tWyBjdXQgaGVyZSBdLS0tLS0tLS0tLS0tClsgICAzMS44NTYwMjRdIFdBUk5JTkc6IENQVTog MSBQSUQ6IDIwNyBhdCBuZXQvc2NoZWQvc2NoX3RhcHJpby5jOjQ4MSB0YXByaW9fZGVxdWV1ZSsw eDFhOC8weDJkNApbICAgMzEuODY0NTY2XSB0YXByaW86IGRlcXVldWUoKSBjYWxsZWQgd2l0aCB1 bmtub3duIHBpY29zIHBlciBieXRlLgpbICAgMzEuODY0NTcwXSBNb2R1bGVzIGxpbmtlZCBpbjoK WyAgIDMxLjg3MzcwMV0gQ1BVOiAxIFBJRDogMjA3IENvbW06IHRjIE5vdCB0YWludGVkIDUuMy4w LXJjNS0wMTE5OS1nODgzOGZlMDIzY2Q2ICMxNjg5ClsgICAzMS44ODEzOThdIEhhcmR3YXJlIG5h bWU6IEZyZWVzY2FsZSBMUzEwMjFBClsgICAzMS44ODU2NjFdIFs8YzAzMTMzYTQ+XSAodW53aW5k X2JhY2t0cmFjZSkgZnJvbSBbPGMwMzBkOGNjPl0gKHNob3dfc3RhY2srMHgxMC8weDE0KQpbICAg MzEuODkzMzY4XSBbPGMwMzBkOGNjPl0gKHNob3dfc3RhY2spIGZyb20gWzxjMTBhYzk1OD5dIChk dW1wX3N0YWNrKzB4YjQvMHhjOCkKWyAgIDMxLjkwMDU1NV0gWzxjMTBhYzk1OD5dIChkdW1wX3N0 YWNrKSBmcm9tIFs8YzAzNDlkMDQ+XSAoX193YXJuKzB4ZTAvMHhmOCkKWyAgIDMxLjkwNzM5NV0g WzxjMDM0OWQwND5dIChfX3dhcm4pIGZyb20gWzxjMDM0OWQ2ND5dICh3YXJuX3Nsb3dwYXRoX2Zt dCsweDQ4LzB4NmMpClsgICAzMS45MTQ4NDFdIFs8YzAzNDlkNjQ+XSAod2Fybl9zbG93cGF0aF9m bXQpIGZyb20gWzxjMGYzOGRiND5dICh0YXByaW9fZGVxdWV1ZSsweDFhOC8weDJkNCkKWyAgIDMx LjkyMzE1MF0gWzxjMGYzOGRiND5dICh0YXByaW9fZGVxdWV1ZSkgZnJvbSBbPGMwZjIyN2IwPl0g KF9fcWRpc2NfcnVuKzB4OTAvMHg2MWMpClsgICAzMS45MzA4NTZdIFs8YzBmMjI3YjA+XSAoX19x ZGlzY19ydW4pIGZyb20gWzxjMGVjODJhYz5dIChuZXRfdHhfYWN0aW9uKzB4MTJjLzB4MmJjKQpb ICAgMzEuOTM4NTYwXSBbPGMwZWM4MmFjPl0gKG5ldF90eF9hY3Rpb24pIGZyb20gWzxjMDMwMjI5 OD5dIChfX2RvX3NvZnRpcnErMHgxMzAvMHgzYzgpClsgICAzMS45NDYzNTBdIFs8YzAzMDIyOTg+ XSAoX19kb19zb2Z0aXJxKSBmcm9tIFs8YzAzNTAyYTA+XSAoaXJxX2V4aXQrMHhiYy8weGQ4KQpb ICAgMzEuOTUzNTM2XSBbPGMwMzUwMmEwPl0gKGlycV9leGl0KSBmcm9tIFs8YzAzYTQ4MDg+XSAo X19oYW5kbGVfZG9tYWluX2lycSsweDYwLzB4YjQpClsgICAzMS45NjEzMjhdIFs8YzAzYTQ4MDg+ XSAoX19oYW5kbGVfZG9tYWluX2lycSkgZnJvbSBbPGMwNzU0NDc4Pl0gKGdpY19oYW5kbGVfaXJx KzB4NTgvMHg5YykKWyAgIDMxLjk2OTYzOF0gWzxjMDc1NDQ3OD5dIChnaWNfaGFuZGxlX2lycSkg ZnJvbSBbPGMwMzAxYThjPl0gKF9faXJxX3N2YysweDZjLzB4OTApClsgICAzMS45NzcwNzZdIEV4 Y2VwdGlvbiBzdGFjaygweGU4MTY3YjIwIHRvIDB4ZTgxNjdiNjgpClsgICAzMS45ODIxMDBdIDdi MjA6IGU5ZDRiZDgwIDAwMDAwY2MwIDAwMDAwMGNmIDAwMDAwMDAwIGU5ZDRiZDgwIGMxZjM4OTU4 IDAwMDAwY2MwIGMxZjM4OTYwClsgICAzMS45OTAyMzRdIDdiNDA6IDAwMDAwMDAxIDAwMDAwMGNm IDAwMDAwMDA0IGU5ZGMwODAwIDAwMDAwMDAwIGU4MTY3YjcwIGMwZjQ3OGVjIGMwZjQ2ZDk0Clsg ICAzMS45OTgzNjNdIDdiNjA6IDYwMDcwMDEzIGZmZmZmZmZmClsgICAzMi4wMDE4MzNdIFs8YzAz MDFhOGM+XSAoX19pcnFfc3ZjKSBmcm9tIFs8YzBmNDZkOTQ+XSAobmV0bGlua190cmltKzB4MTgv MHhkOCkKWyAgIDMyLjAwOTEwNF0gWzxjMGY0NmQ5ND5dIChuZXRsaW5rX3RyaW0pIGZyb20gWzxj MGY0NzhlYz5dIChuZXRsaW5rX2Jyb2FkY2FzdF9maWx0ZXJlZCsweDM0LzB4NDE0KQpbICAgMzIu MDE3OTMwXSBbPGMwZjQ3OGVjPl0gKG5ldGxpbmtfYnJvYWRjYXN0X2ZpbHRlcmVkKSBmcm9tIFs8 YzBmNDdjZWM+XSAobmV0bGlua19icm9hZGNhc3QrMHgyMC8weDI4KQpbICAgMzIuMDI3MTAyXSBb PGMwZjQ3Y2VjPl0gKG5ldGxpbmtfYnJvYWRjYXN0KSBmcm9tIFs8YzBlZWEzNzg+XSAocnRuZXRs aW5rX3NlbmQrMHgzNC8weDg4KQpbICAgMzIuMDM1MjM4XSBbPGMwZWVhMzc4Pl0gKHJ0bmV0bGlu a19zZW5kKSBmcm9tIFs8YzBmMjU4OTA+XSAobm90aWZ5X2FuZF9kZXN0cm95KzB4MmMvMHg0NCkK WyAgIDMyLjA0MzQ2MV0gWzxjMGYyNTg5MD5dIChub3RpZnlfYW5kX2Rlc3Ryb3kpIGZyb20gWzxj MGYyNWUwOD5dIChxZGlzY19ncmFmdCsweDM5OC8weDQ3MCkKWyAgIDMyLjA1MTU5NV0gWzxjMGYy NWUwOD5dIChxZGlzY19ncmFmdCkgZnJvbSBbPGMwZjI3YTAwPl0gKHRjX21vZGlmeV9xZGlzYysw eDNhNC8weDcyNCkKWyAgIDMyLjA1OTQ3MF0gWzxjMGYyN2EwMD5dICh0Y19tb2RpZnlfcWRpc2Mp IGZyb20gWzxjMGVlNGM4ND5dIChydG5ldGxpbmtfcmN2X21zZysweDI2MC8weDJlYykKWyAgIDMy LjA2Nzg2NF0gWzxjMGVlNGM4ND5dIChydG5ldGxpbmtfcmN2X21zZykgZnJvbSBbPGMwZjRhOTg4 Pl0gKG5ldGxpbmtfcmN2X3NrYisweGI4LzB4MTEwKQpbICAgMzIuMDc2MTcyXSBbPGMwZjRhOTg4 Pl0gKG5ldGxpbmtfcmN2X3NrYikgZnJvbSBbPGMwZjRhMTcwPl0gKG5ldGxpbmtfdW5pY2FzdCsw eDFiNC8weDIyYykKWyAgIDMyLjA4NDM5Ml0gWzxjMGY0YTE3MD5dIChuZXRsaW5rX3VuaWNhc3Qp IGZyb20gWzxjMGY0YTVlND5dIChuZXRsaW5rX3NlbmRtc2crMHgzM2MvMHgzODApClsgICAzMi4w OTI2MTRdIFs8YzBmNGE1ZTQ+XSAobmV0bGlua19zZW5kbXNnKSBmcm9tIFs8YzBlYTlmNDA+XSAo c29ja19zZW5kbXNnKzB4MTQvMHgyNCkKWyAgIDMyLjEwMDQwM10gWzxjMGVhOWY0MD5dIChzb2Nr X3NlbmRtc2cpIGZyb20gWzxjMGVhYTc4MD5dIChfX19zeXNfc2VuZG1zZysweDIxNC8weDIyOCkK WyAgIDMyLjEwODI3OV0gWzxjMGVhYTc4MD5dIChfX19zeXNfc2VuZG1zZykgZnJvbSBbPGMwZWFi YWQwPl0gKF9fc3lzX3NlbmRtc2crMHg1MC8weDhjKQpbICAgMzIuMTE2MDY4XSBbPGMwZWFiYWQw Pl0gKF9fc3lzX3NlbmRtc2cpIGZyb20gWzxjMDMwMTAwMD5dIChyZXRfZmFzdF9zeXNjYWxsKzB4 MC8weDU0KQpbICAgMzIuMTIzOTM4XSBFeGNlcHRpb24gc3RhY2soMHhlODE2N2ZhOCB0byAweGU4 MTY3ZmYwKQpbICAgMzIuMTI4OTYwXSA3ZmEwOiAgICAgICAgICAgICAgICAgICBiNmZhNjhjOCAw MDAwMDBmOCAwMDAwMDAwMyBiZWExNDJkMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgMzIuMTM3MDkz XSA3ZmMwOiBiNmZhNjhjOCAwMDAwMDBmOCAwMDUyMTU0YyAwMDAwMDEyOCA1ZDY0NjhhMiAwMDAw MDAwMCAwMDAwMDAyOCAwMDU1OGM5YwpbICAgMzIuMTQ1MjI0XSA3ZmUwOiAwMDAwMDA3MCBiZWEx NDI3OCAwMDUzMGQ2NCBiNmUxN2U2NApbICAgMzIuMTUwNjU5XSAtLS1bIGVuZCB0cmFjZSAyMTM5 Yzk4MjdjM2U1MTc3IF0tLS0KClRoaXMgaGFwcGVucyBiZWNhdXNlIHRoZSBxZGlzYyAtPmRlcXVl dWUgY2FsbGJhY2sgZ2V0cyBjYWxsZWQuIFdoaWNoCmFnYWluIGlzIG5vdCBpbGxlZ2FsLCB0aGUg cWRpc2Mgd2lsbCBkZXF1ZXVlIGV2ZW4gd2hlbiB0aGUgaW50ZXJmYWNlIGlzCnVwIGJ1dCBkb2Vz bid0IGhhdmUgY2FycmllciAoYW5kIGhlbmNlIFNQRUVEX1VOS05PV04pLCBhbmQgdGhlIGZyYW1l cwp3aWxsIGJlIGRyb3BwZWQgZnVydGhlciBkb3duIHRoZSBzdGFjayBpbiBkZXZfZGlyZWN0X3ht aXQoKS4KCkFuZCwgYXQgdGhlIGVuZCBvZiB0aGUgZGF5LCBmb3Igd2hhdD8gRm9yIGNhbGN1bGF0 aW5nIHRoZSBpbml0aWFsIGJ1ZGdldApvZiBhbiBpbnRlcmZhY2Ugd2hpY2ggaXMgbm9uLW9wZXJh dGlvbmFsIGF0IHRoZSBtb21lbnQgYW5kIHdoZXJlIGZyYW1lcwp3aWxsIGdldCBkcm9wcGVkIGFu eXdheS4KClNvIGlmIHdlIGNhbid0IGZpZ3VyZSBvdXQgdGhlIGxpbmsgc3BlZWQsIGRlZmF1bHQg dG8gU1BFRURfMTAgYW5kIG1vdmUKYWxvbmcuIFdlIGNhbiBhbHNvIHJlbW92ZSB0aGUgcnVudGlt ZSBjaGVjayBub3cuCgpDYzogTGVhbmRybyBEb3JpbGVvIDxsZWFuZHJvLm1hY2llbC5kb3JpbGVv QGludGVsLmNvbT4KRml4ZXM6IDdiOWViYTdiYTBjMSAoIm5ldC9zY2hlZDogdGFwcmlvOiBmaXgg cGljb3NfcGVyX2J5dGUgbWlzY2FsY3VsYXRpb24iKQpBY2tlZC1ieTogVmluaWNpdXMgQ29zdGEg R29tZXMgPHZpbmljaXVzLmdvbWVzQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogVmxhZGltaXIg T2x0ZWFuIDxvbHRlYW52QGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVy IDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9zY2hlZC9zY2hfdGFwcmlvLmMgfCAyMyAr KysrKysrKysrKysrLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyks IDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9zY2hlZC9zY2hfdGFwcmlvLmMgYi9u ZXQvc2NoZWQvc2NoX3RhcHJpby5jCmluZGV4IDBmN2Q1NzVlNWU4Yi4uMTFjMjg3M2VjNjhiIDEw MDY0NAotLS0gYS9uZXQvc2NoZWQvc2NoX3RhcHJpby5jCisrKyBiL25ldC9zY2hlZC9zY2hfdGFw cmlvLmMKQEAgLTIwNSwxMSArMjA1LDYgQEAgc3RhdGljIHN0cnVjdCBza19idWZmICp0YXByaW9f ZGVxdWV1ZShzdHJ1Y3QgUWRpc2MgKnNjaCkKIAl1MzIgZ2F0ZV9tYXNrOwogCWludCBpOwogCi0J aWYgKGF0b21pYzY0X3JlYWQoJnEtPnBpY29zX3Blcl9ieXRlKSA9PSAtMSkgewotCQlXQVJOX09O Q0UoMSwgInRhcHJpbzogZGVxdWV1ZSgpIGNhbGxlZCB3aXRoIHVua25vd24gcGljb3MgcGVyIGJ5 dGUuIik7Ci0JCXJldHVybiBOVUxMOwotCX0KLQogCXJjdV9yZWFkX2xvY2soKTsKIAllbnRyeSA9 IHJjdV9kZXJlZmVyZW5jZShxLT5jdXJyZW50X2VudHJ5KTsKIAkvKiBpZiB0aGVyZSdzIG5vIGVu dHJ5LCBpdCBtZWFucyB0aGF0IHRoZSBzY2hlZHVsZSBkaWRuJ3QKQEAgLTY2NSwxMiArNjYwLDIw IEBAIHN0YXRpYyB2b2lkIHRhcHJpb19zZXRfcGljb3NfcGVyX2J5dGUoc3RydWN0IG5ldF9kZXZp Y2UgKmRldiwKIAkJCQkgICAgICBzdHJ1Y3QgdGFwcmlvX3NjaGVkICpxKQogewogCXN0cnVjdCBl dGh0b29sX2xpbmtfa3NldHRpbmdzIGVjbWQ7Ci0JaW50IHBpY29zX3Blcl9ieXRlID0gLTE7CisJ aW50IHNwZWVkID0gU1BFRURfMTA7CisJaW50IHBpY29zX3Blcl9ieXRlOworCWludCBlcnI7CisK KwllcnIgPSBfX2V0aHRvb2xfZ2V0X2xpbmtfa3NldHRpbmdzKGRldiwgJmVjbWQpOworCWlmIChl cnIgPCAwKQorCQlnb3RvIHNraXA7CisKKwlpZiAoZWNtZC5iYXNlLnNwZWVkICE9IFNQRUVEX1VO S05PV04pCisJCXNwZWVkID0gZWNtZC5iYXNlLnNwZWVkOwogCi0JaWYgKCFfX2V0aHRvb2xfZ2V0 X2xpbmtfa3NldHRpbmdzKGRldiwgJmVjbWQpICYmCi0JICAgIGVjbWQuYmFzZS5zcGVlZCAhPSBT UEVFRF9VTktOT1dOKQotCQlwaWNvc19wZXJfYnl0ZSA9IGRpdjY0X3M2NChOU0VDX1BFUl9TRUMg KiAxMDAwTEwgKiA4LAotCQkJCQkgICBlY21kLmJhc2Uuc3BlZWQgKiAxMDAwICogMTAwMCk7Citz a2lwOgorCXBpY29zX3Blcl9ieXRlID0gZGl2NjRfczY0KE5TRUNfUEVSX1NFQyAqIDEwMDBMTCAq IDgsCisJCQkJICAgc3BlZWQgKiAxMDAwICogMTAwMCk7CiAKIAlhdG9taWM2NF9zZXQoJnEtPnBp Y29zX3Blcl9ieXRlLCBwaWNvc19wZXJfYnl0ZSk7CiAJbmV0ZGV2X2RiZyhkZXYsICJ0YXByaW86 IHNldCAlcydzIHBpY29zX3Blcl9ieXRlIHRvOiAlbGxkLCBsaW5rc3BlZWQ6ICVkXG4iLAotLSAK Mi4yMS4wCgoKRnJvbSBmYmZmODA2YTZiMWQ4MmJlZjAzOTY4OGI3NTJiYjhmMjkyZGY2ZGM2IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBWbGFkaW1pciBPbHRlYW4gPG9sdGVhbnZAZ21h aWwuY29tPgpEYXRlOiBGcmksIDMwIEF1ZyAyMDE5IDA0OjA3OjIzICswMzAwClN1YmplY3Q6IFtQ QVRDSCAxNC8xOV0gbmV0L3NjaGVkOiBjYnM6IFNldCBkZWZhdWx0IGxpbmsgc3BlZWQgdG8gMTAg TWJwcyBpbgogY2JzX3NldF9wb3J0X3JhdGUKClRoZSBkaXNjdXNzaW9uIHRvIGJlIG1hZGUgaXMg YWJzb2x1dGVseSB0aGUgc2FtZSBhcyBpbiB0aGUgY2FzZSBvZgpwcmV2aW91cyBwYXRjaCAoInRh cHJpbzogU2V0IGRlZmF1bHQgbGluayBzcGVlZCB0byAxMCBNYnBzIGluCnRhcHJpb19zZXRfcGlj b3NfcGVyX2J5dGUiKS4gTm90aGluZyBpcyBsb3N0IHdoZW4gc2V0dGluZyBhIGRlZmF1bHQuCgpD YzogTGVhbmRybyBEb3JpbGVvIDxsZWFuZHJvLm1hY2llbC5kb3JpbGVvQGludGVsLmNvbT4KRml4 ZXM6IGUwYTc2ODNkMzBlOSAoIm5ldC9zY2hlZDogY2JzOiBmaXggcG9ydF9yYXRlIG1pc2NhbGN1 bGF0aW9uIikKQWNrZWQtYnk6IFZpbmljaXVzIENvc3RhIEdvbWVzIDx2aW5pY2l1cy5nb21lc0Bp bnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IFZsYWRpbWlyIE9sdGVhbiA8b2x0ZWFudkBnbWFpbC5j b20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4K LS0tCiBuZXQvc2NoZWQvc2NoX2Nicy5jIHwgMTkgKysrKysrKysrKystLS0tLS0tLQogMSBmaWxl IGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv bmV0L3NjaGVkL3NjaF9jYnMuYyBiL25ldC9zY2hlZC9zY2hfY2JzLmMKaW5kZXggNzMyZTEwOWMz MDU1Li44MTA2NDViNWMwODYgMTAwNjQ0Ci0tLSBhL25ldC9zY2hlZC9zY2hfY2JzLmMKKysrIGIv bmV0L3NjaGVkL3NjaF9jYnMuYwpAQCAtMTgxLDExICsxODEsNiBAQCBzdGF0aWMgc3RydWN0IHNr X2J1ZmYgKmNic19kZXF1ZXVlX3NvZnQoc3RydWN0IFFkaXNjICpzY2gpCiAJczY0IGNyZWRpdHM7 CiAJaW50IGxlbjsKIAotCWlmIChhdG9taWM2NF9yZWFkKCZxLT5wb3J0X3JhdGUpID09IC0xKSB7 Ci0JCVdBUk5fT05DRSgxLCAiY2JzOiBkZXF1ZXVlKCkgY2FsbGVkIHdpdGggdW5rbm93biBwb3J0 IHJhdGUuIik7Ci0JCXJldHVybiBOVUxMOwotCX0KLQogCWlmIChxLT5jcmVkaXRzIDwgMCkgewog CQljcmVkaXRzID0gdGltZWRpZmZfdG9fY3JlZGl0cyhub3cgLSBxLT5sYXN0LCBxLT5pZGxlc2xv cGUpOwogCkBAIC0zMDMsMTEgKzI5OCwxOSBAQCBzdGF0aWMgaW50IGNic19lbmFibGVfb2ZmbG9h ZChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3QgY2JzX3NjaGVkX2RhdGEgKnEsCiBzdGF0 aWMgdm9pZCBjYnNfc2V0X3BvcnRfcmF0ZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3Qg Y2JzX3NjaGVkX2RhdGEgKnEpCiB7CiAJc3RydWN0IGV0aHRvb2xfbGlua19rc2V0dGluZ3MgZWNt ZDsKKwlpbnQgc3BlZWQgPSBTUEVFRF8xMDsKIAlpbnQgcG9ydF9yYXRlID0gLTE7CisJaW50IGVy cjsKKworCWVyciA9IF9fZXRodG9vbF9nZXRfbGlua19rc2V0dGluZ3MoZGV2LCAmZWNtZCk7CisJ aWYgKGVyciA8IDApCisJCWdvdG8gc2tpcDsKKworCWlmIChlY21kLmJhc2Uuc3BlZWQgIT0gU1BF RURfVU5LTk9XTikKKwkJc3BlZWQgPSBlY21kLmJhc2Uuc3BlZWQ7CiAKLQlpZiAoIV9fZXRodG9v bF9nZXRfbGlua19rc2V0dGluZ3MoZGV2LCAmZWNtZCkgJiYKLQkgICAgZWNtZC5iYXNlLnNwZWVk ICE9IFNQRUVEX1VOS05PV04pCi0JCXBvcnRfcmF0ZSA9IGVjbWQuYmFzZS5zcGVlZCAqIDEwMDAg KiBCWVRFU19QRVJfS0JJVDsKK3NraXA6CisJcG9ydF9yYXRlID0gc3BlZWQgKiAxMDAwICogQllU RVNfUEVSX0tCSVQ7CiAKIAlhdG9taWM2NF9zZXQoJnEtPnBvcnRfcmF0ZSwgcG9ydF9yYXRlKTsK IAluZXRkZXZfZGJnKGRldiwgImNiczogc2V0ICVzJ3MgcG9ydF9yYXRlIHRvOiAlbGxkLCBsaW5r c3BlZWQ6ICVkXG4iLAotLSAKMi4yMS4wCgoKRnJvbSA4MjY0ZTQyNzQ2YWUzMjg5ODc1YTQ4ZDg4 ZWMxZjk4ZjZhMWIxMTg0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJjbyBIYXJ0 bWFubiA8bWFyY28uaGFydG1hbm5AbnhwLmNvbT4KRGF0ZTogV2VkLCAyMSBBdWcgMjAxOSAxMTow MDo0NiArMDAwMApTdWJqZWN0OiBbUEFUQ0ggMTUvMTldIEFkZCBnZW5waHlfYzQ1X2NvbmZpZ19h bmVnKCkgZnVuY3Rpb24gdG8gcGh5LWM0NS5jCgpbIFVwc3RyZWFtIGNvbW1pdCAyZWJiOTkxNjQx ZDNmNjRiNzBmZWMwMTU2ZTJiNjkzMzgxMDE3N2U5IF0KCkNvbW1pdCAzNDc4NjAwNWVjYTMgKCJu ZXQ6IHBoeTogcHJldmVudCBQSFlzIHcvbyBDbGF1c2UgMjIgcmVncyBmcm9tIGNhbGxpbmcKZ2Vu cGh5X2NvbmZpZ19hbmVnIikgaW50cm9kdWNlZCBhIGNoZWNrIHRoYXQgYWJvcnRzIHBoeV9jb25m aWdfYW5lZygpCmlmIHRoZSBwaHkgaXMgYSBDNDUgcGh5LgpUaGlzIGNhdXNlcyBwaHlfc3RhdGVf bWFjaGluZSgpIHRvIGNhbGwgcGh5X2Vycm9yKCkgc28gdGhhdCB0aGUgcGh5CmVuZHMgdXAgaW4g UEhZX0hBTFRFRCBzdGF0ZS4KCkluc3RlYWQgb2YgcmV0dXJuaW5nIC1FT1BOT1RTVVBQLCBjYWxs IGdlbnBoeV9jNDVfY29uZmlnX2FuZWcoKQooYW5hbG9nb3VzIHRvIHRoZSBDMjIgY2FzZSkgc28g dGhhdCB0aGUgc3RhdGUgbWFjaGluZSBjYW4gcnVuCmNvcnJlY3RseS4KCmdlbnBoeV9jNDVfY29u ZmlnX2FuZWcoKSBjbG9zZWx5IHJlc2VtYmxlcyBtdjMzMTBfY29uZmlnX2FuZWcoKQppbiBkcml2 ZXJzL25ldC9waHkvbWFydmVsbDEwZy5jLCBleGNsdWRpbmcgdmVuZG9yIHNwZWNpZmljCmNvbmZp Z3VyYXRpb25zIGZvciAxMDAwQmFzZVQuCgpGaXhlczogMjJiNTZlODI3MDkzICgibmV0OiBwaHk6 IHJlcGxhY2UgZ2VucGh5XzEwZ19kcml2ZXIgd2l0aCBnZW5waHlfYzQ1X2RyaXZlciIpCgpTaWdu ZWQtb2ZmLWJ5OiBNYXJjbyBIYXJ0bWFubiA8bWFyY28uaGFydG1hbm5AbnhwLmNvbT4KUmV2aWV3 ZWQtYnk6IEFuZHJldyBMdW5uIDxhbmRyZXdAbHVubi5jaD4KU2lnbmVkLW9mZi1ieTogRGF2aWQg Uy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L3BoeS9waHkt YzQ1LmMgfCAyNiArKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9uZXQvcGh5L3Bo eS5jICAgICB8ICAyICstCiBpbmNsdWRlL2xpbnV4L3BoeS5oICAgICAgIHwgIDEgKwogMyBmaWxl cyBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9uZXQvcGh5L3BoeS1jNDUuYyBiL2RyaXZlcnMvbmV0L3BoeS9waHktYzQ1LmMKaW5k ZXggNThiYjI1ZTRhZjEwLi43OTM1NTkzZGViYjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3Bo eS9waHktYzQ1LmMKKysrIGIvZHJpdmVycy9uZXQvcGh5L3BoeS1jNDUuYwpAQCAtNTIzLDYgKzUy MywzMiBAQCBpbnQgZ2VucGh5X2M0NV9yZWFkX3N0YXR1cyhzdHJ1Y3QgcGh5X2RldmljZSAqcGh5 ZGV2KQogfQogRVhQT1JUX1NZTUJPTF9HUEwoZ2VucGh5X2M0NV9yZWFkX3N0YXR1cyk7CiAKKy8q KgorICogZ2VucGh5X2M0NV9jb25maWdfYW5lZyAtIHJlc3RhcnQgYXV0by1uZWdvdGlhdGlvbiBv ciBmb3JjZWQgc2V0dXAKKyAqIEBwaHlkZXY6IHRhcmdldCBwaHlfZGV2aWNlIHN0cnVjdAorICoK KyAqIERlc2NyaXB0aW9uOiBJZiBhdXRvLW5lZ290aWF0aW9uIGlzIGVuYWJsZWQsIHdlIGNvbmZp Z3VyZSB0aGUKKyAqICAgYWR2ZXJ0aXNpbmcsIGFuZCB0aGVuIHJlc3RhcnQgYXV0by1uZWdvdGlh dGlvbi4gIElmIGl0IGlzIG5vdAorICogICBlbmFibGVkLCB0aGVuIHdlIGZvcmNlIGEgY29uZmln dXJhdGlvbi4KKyAqLworaW50IGdlbnBoeV9jNDVfY29uZmlnX2FuZWcoc3RydWN0IHBoeV9kZXZp Y2UgKnBoeWRldikKK3sKKwlib29sIGNoYW5nZWQgPSBmYWxzZTsKKwlpbnQgcmV0OworCisJaWYg KHBoeWRldi0+YXV0b25lZyA9PSBBVVRPTkVHX0RJU0FCTEUpCisJCXJldHVybiBnZW5waHlfYzQ1 X3BtYV9zZXR1cF9mb3JjZWQocGh5ZGV2KTsKKworCXJldCA9IGdlbnBoeV9jNDVfYW5fY29uZmln X2FuZWcocGh5ZGV2KTsKKwlpZiAocmV0IDwgMCkKKwkJcmV0dXJuIHJldDsKKwlpZiAocmV0ID4g MCkKKwkJY2hhbmdlZCA9IHRydWU7CisKKwlyZXR1cm4gZ2VucGh5X2M0NV9jaGVja19hbmRfcmVz dGFydF9hbmVnKHBoeWRldiwgY2hhbmdlZCk7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChnZW5waHlf YzQ1X2NvbmZpZ19hbmVnKTsKKwogLyogVGhlIGdlbjEwZ18qIGZ1bmN0aW9ucyBhcmUgdGhlIG9s ZCBDbGF1c2UgNDUgc3R1YiAqLwogCiBpbnQgZ2VuMTBnX2NvbmZpZ19hbmVnKHN0cnVjdCBwaHlf ZGV2aWNlICpwaHlkZXYpCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9waHkvcGh5LmMgYi9kcml2 ZXJzL25ldC9waHkvcGh5LmMKaW5kZXggZTg4ODU0MjkyOTNhLi41N2IzMzc2ODc3ODIgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvbmV0L3BoeS9waHkuYworKysgYi9kcml2ZXJzL25ldC9waHkvcGh5LmMK QEAgLTQ5OSw3ICs0OTksNyBAQCBzdGF0aWMgaW50IHBoeV9jb25maWdfYW5lZyhzdHJ1Y3QgcGh5 X2RldmljZSAqcGh5ZGV2KQogCSAqIGFsbG93ZWQgdG8gY2FsbCBnZW5waHlfY29uZmlnX2FuZWco KQogCSAqLwogCWlmIChwaHlkZXYtPmlzX2M0NSAmJiAhKHBoeWRldi0+YzQ1X2lkcy5kZXZpY2Vz X2luX3BhY2thZ2UgJiBCSVQoMCkpKQotCQlyZXR1cm4gLUVPUE5PVFNVUFA7CisJCXJldHVybiBn ZW5waHlfYzQ1X2NvbmZpZ19hbmVnKHBoeWRldik7CiAKIAlyZXR1cm4gZ2VucGh5X2NvbmZpZ19h bmVnKHBoeWRldik7CiB9CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3BoeS5oIGIvaW5jbHVk ZS9saW51eC9waHkuaAppbmRleCA2NDI0NTg2ZmUyZDYuLjdjNWE5ZmI5YzlmNCAxMDA2NDQKLS0t IGEvaW5jbHVkZS9saW51eC9waHkuaAorKysgYi9pbmNsdWRlL2xpbnV4L3BoeS5oCkBAIC0xMTA4 LDYgKzExMDgsNyBAQCBpbnQgZ2VucGh5X2M0NV9hbl9kaXNhYmxlX2FuZWcoc3RydWN0IHBoeV9k ZXZpY2UgKnBoeWRldik7CiBpbnQgZ2VucGh5X2M0NV9yZWFkX21kaXgoc3RydWN0IHBoeV9kZXZp Y2UgKnBoeWRldik7CiBpbnQgZ2VucGh5X2M0NV9wbWFfcmVhZF9hYmlsaXRpZXMoc3RydWN0IHBo eV9kZXZpY2UgKnBoeWRldik7CiBpbnQgZ2VucGh5X2M0NV9yZWFkX3N0YXR1cyhzdHJ1Y3QgcGh5 X2RldmljZSAqcGh5ZGV2KTsKK2ludCBnZW5waHlfYzQ1X2NvbmZpZ19hbmVnKHN0cnVjdCBwaHlf ZGV2aWNlICpwaHlkZXYpOwogCiAvKiBUaGUgZ2VuMTBnXyogZnVuY3Rpb25zIGFyZSB0aGUgb2xk IENsYXVzZSA0NSBzdHViICovCiBpbnQgZ2VuMTBnX2NvbmZpZ19hbmVnKHN0cnVjdCBwaHlfZGV2 aWNlICpwaHlkZXYpOwotLSAKMi4yMS4wCgoKRnJvbSA1NGFlY2UwNjg5NWQxOGE1ODE5NjBiYjQw NDhmNDU4OTZiMWE2YzMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBWbGFkaW1pciBP bHRlYW4gPG9sdGVhbnZAZ21haWwuY29tPgpEYXRlOiBTdW4sIDI1IEF1ZyAyMDE5IDIxOjMyOjEy ICswMzAwClN1YmplY3Q6IFtQQVRDSCAxNi8xOV0gbmV0OiBkc2E6IHRhZ184MDIxcTogRnV0dXJl LXByb29mIHRoZSByZXNlcnZlZCBmaWVsZHMKIGluIHRoZSBjdXN0b20gVklECgpbIFVwc3RyZWFt IGNvbW1pdCBiY2NjYjBhNTM1YmI5OTYxNmU0Yjk5MjU2ODM3MWVmYWIxYWIxNGU4IF0KCkFmdGVy IHdpdG5lc3NpbmcgdGhlIGRpc2N1c3Npb24gaW4gaHR0cHM6Ly9sa21sLm9yZy9sa21sLzIwMTkv OC8xNC8xNTEKdy5yLnQuIGlvY3RsIGV4dGVuc2liaWxpdHksIGl0IGJlY2FtZSBjbGVhciB0aGF0 IHN1Y2ggYW4gaXNzdWUgbWlnaHQKcHJldmVudCB0aGF0IHRoZSAzIFJTViBiaXRzIGluc2lkZSB0 aGUgRFNBIDgwMi4xUSB0YWcgbWlnaHQgYWxzbyBzdWZmZXIKdGhlIHNhbWUgZmF0ZSBhbmQgYmUg dXNlbGVzcyBmb3IgZnVydGhlciBleHRlbnNpb24uCgpTbyBjbGVhcmx5IHNwZWNpZnkgdGhhdCB0 aGUgcmVzZXJ2ZWQgYml0cyBzaG91bGQgY3VycmVudGx5IGJlCnRyYW5zbWl0dGVkIGFzIHplcm8g YW5kIGlnbm9yZWQgb24gcmVjZWl2ZS4gVGhlIERTQSB0YWdnZXIgYWxyZWFkeSBkb2VzCnRoaXMg KGFuZCBoYXMgYWx3YXlzIGRpZCksIGFuZCBpcyB0aGUgb25seSBrbm93biB1c2VyIHNvIGZhciAo bm8KV2lyZXNoYXJrIGRpc3NlY3Rpb24gcGx1Z2luLCBldGMpLiBTbyB0aGVyZSBzaG91bGQgYmUg bm8gaW5jb21wYXRpYmlsaXR5CnRvIHNwZWFrIG9mLgoKRml4ZXM6IDA0NzFkZDQyOWNlYSAoIm5l dDogZHNhOiB0YWdfODAyMXE6IENyZWF0ZSBhIHN0YWJsZSBiaW5hcnkgZm9ybWF0IikKU2lnbmVk LW9mZi1ieTogVmxhZGltaXIgT2x0ZWFuIDxvbHRlYW52QGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6 IEZsb3JpYW4gRmFpbmVsbGkgPGYuZmFpbmVsbGlAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2RzYS90YWdfODAy MXEuYyB8IDIgKysKIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQg YS9uZXQvZHNhL3RhZ184MDIxcS5jIGIvbmV0L2RzYS90YWdfODAyMXEuYwppbmRleCA2NWEzNWU5 NzZkN2IuLjRkMDMxMmI5N2NjZSAxMDA2NDQKLS0tIGEvbmV0L2RzYS90YWdfODAyMXEuYworKysg Yi9uZXQvZHNhL3RhZ184MDIxcS5jCkBAIC0yOCw2ICsyOCw3IEBACiAgKgogICogUlNWIC0gVklE WzldOgogICoJVG8gYmUgdXNlZCBmb3IgZnVydGhlciBleHBhbnNpb24gb2YgU1dJVENIX0lEIG9y IGZvciBvdGhlciBwdXJwb3Nlcy4KKyAqCU11c3QgYmUgdHJhbnNtaXR0ZWQgYXMgemVybyBhbmQg aWdub3JlZCBvbiByZWNlaXZlLgogICoKICAqIFNXSVRDSF9JRCAtIFZJRFs4OjZdOgogICoJSW5k ZXggb2Ygc3dpdGNoIHdpdGhpbiBEU0EgdHJlZS4gTXVzdCBiZSBiZXR3ZWVuIDAgYW5kCkBAIC0z NSw2ICszNiw3IEBACiAgKgogICogUlNWIC0gVklEWzU6NF06CiAgKglUbyBiZSB1c2VkIGZvciBm dXJ0aGVyIGV4cGFuc2lvbiBvZiBQT1JUIG9yIGZvciBvdGhlciBwdXJwb3Nlcy4KKyAqCU11c3Qg YmUgdHJhbnNtaXR0ZWQgYXMgemVybyBhbmQgaWdub3JlZCBvbiByZWNlaXZlLgogICoKICAqIFBP UlQgLSBWSURbMzowXToKICAqCUluZGV4IG9mIHN3aXRjaCBwb3J0LiBNdXN0IGJlIGJldHdlZW4g MCBhbmQgRFNBX01BWF9QT1JUUyAtIDEuCi0tIAoyLjIxLjAKCgpGcm9tIDkzODI1NjQ4N2M4MTM1 NDJmY2E5NDk0YzRjYTE0Y2QyNzhkMDE0MDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IERhdmlkZSBDYXJhdHRpIDxkY2FyYXR0aUByZWRoYXQuY29tPgpEYXRlOiBUdWUsIDI3IEF1ZyAy MDE5IDIzOjE4OjUzICswMjAwClN1YmplY3Q6IFtQQVRDSCAxNy8xOV0gbmV0L3NjaGVkOiBwZmlm b19mYXN0OiBmaXggd3JvbmcgZGVyZWZlcmVuY2UgaW4KIHBmaWZvX2Zhc3RfZW5xdWV1ZQoKWyBV cHN0cmVhbSBjb21taXQgMDkyZTIyZTU4NjIzNmJiYTEwNmE4MjExMzgyNmE2ODA4MGEwMzUwNiBd CgpOb3cgdGhhdCAnVENRX0ZfQ1BVU1RBVFMnIGJpdCBjYW4gYmUgY2xlYXJlZCwgZGVwZW5kaW5n IG9uIHRoZSB2YWx1ZSBvZgonVENRX0ZfTk9MT0NLJyBiaXQgaW4gdGhlIHBhcmVudCBxZGlzYywg d2UgY2FuJ3QgYXNzdW1lIGFueW1vcmUgdGhhdApwZXItY3B1IGNvdW50ZXJzIGFyZSB0aGVyZSBp biB0aGUgZXJyb3IgcGF0aCBvZiBza2JfYXJyYXlfcHJvZHVjZSgpLgpPdGhlcndpc2UsIHRoZSBm b2xsb3dpbmcgc3BsYXQgY2FuIGJlIHNlZW46CgogVW5hYmxlIHRvIGhhbmRsZSBrZXJuZWwgcGFn aW5nIHJlcXVlc3QgYXQgdmlydHVhbCBhZGRyZXNzIDAwMDA2MDBkZWE0MzAwMDgKIE1lbSBhYm9y dCBpbmZvOgogICBFU1IgPSAweDk2MDAwMDA1CiAgIEV4Y2VwdGlvbiBjbGFzcyA9IERBQlQgKGN1 cnJlbnQgRUwpLCBJTCA9IDMyIGJpdHMKICAgU0VUID0gMCwgRm5WID0gMAogICBFQSA9IDAsIFMx UFRXID0gMAogRGF0YSBhYm9ydCBpbmZvOgogICBJU1YgPSAwLCBJU1MgPSAweDAwMDAwMDA1CiAg IENNID0gMCwgV25SID0gMAogdXNlciBwZ3RhYmxlOiA2NGsgcGFnZXMsIDQ4LWJpdCBWQXMsIHBn ZHAgPSAwMDAwMDAwMDdiOTc1MzBlCiBbMDAwMDYwMGRlYTQzMDAwOF0gcGdkPTAwMDAwMDAwMDAw MDAwMDAsIHB1ZD0wMDAwMDAwMDAwMDAwMDAwCiBJbnRlcm5hbCBlcnJvcjogT29wczogOTYwMDAw MDUgWyMxXSBTTVAKWy4uLl0KIHBzdGF0ZTogMTAwMDAwMDUgKG56Y1YgZGFpZiAtUEFOIC1VQU8p CiBwYyA6IHBmaWZvX2Zhc3RfZW5xdWV1ZSsweDUyNC8weDZlOAogbHIgOiBwZmlmb19mYXN0X2Vu cXVldWUrMHg0NmMvMHg2ZTgKIHNwIDogZmZmZjgwMGQzOTM3NmZlMAogeDI5OiBmZmZmODAwZDM5 Mzc2ZmUwIHgyODogMWZmZmYwMDFhMDdkMWU0MAogeDI3OiBmZmZmODAwZDAzZThmMTg4IHgyNjog ZmZmZjgwMGQwM2U4ZjIwMAogeDI1OiAwMDAwMDAwMDAwMDAwMDYyIHgyNDogZmZmZjgwMGQzOTM3 NzJmMAogeDIzOiAwMDAwMDAwMDAwMDAwMDAwIHgyMjogMDAwMDAwMDAwMDAwMDQwMwogeDIxOiBm ZmZmODAwY2NhNTY5YTAwIHgyMDogZmZmZjgwMGQwM2U4ZWUwMAogeDE5OiBmZmZmODAwY2NhNTY5 YTEwIHgxODogMDAwMDAwMDAwMDAwMDBiZgogeDE3OiAwMDAwMDAwMDAwMDAwMDAwIHgxNjogMDAw MDAwMDAwMDAwMDAwMAogeDE1OiAwMDAwMDAwMDAwMDAwMDAwIHgxNDogZmZmZjEwMDFhNzI2ZWRk MAogeDEzOiAxZmZmZTQwMDAyNzZhOWE0IHgxMjogMDAwMDAwMDAwMDAwMDAwMAogeDExOiBkZmZm MjAwMDAwMDAwMDAwIHgxMDogZmZmZjgwMGQwM2U4ZjFhMAogeDkgOiAwMDAwMDAwMDAwMDAwMDAz IHg4IDogMDAwMDAwMDAwMDAwMDAwMAogeDcgOiAwMDAwMDAwMGYxZjFmMWYxIHg2IDogZmZmZjEw MDFhNzI2ZWRlYQogeDUgOiBmZmZmODAwY2NhNTZhNTNjIHg0IDogMWZmZmYwMDFiZjlhODAwMwog eDMgOiAxZmZmZjAwMWJmOWE4MDAzIHgyIDogMWZmZmYwMDFhMDdkMWRjYgogeDEgOiAwMDAwNjAw ZGVhNDMwMDAwIHgwIDogMDAwMDYwMGRlYTQzMDAwOAogUHJvY2VzcyBwaW5nIChwaWQ6IDYwNjcs IHN0YWNrIGxpbWl0ID0gMHgwMDAwMDAwMGRjMGFhNTU3KQogQ2FsbCB0cmFjZToKICBwZmlmb19m YXN0X2VucXVldWUrMHg1MjQvMHg2ZTgKICBodGJfZW5xdWV1ZSsweDY2MC8weDEwZTAgW3NjaF9o dGJdCiAgX19kZXZfcXVldWVfeG1pdCsweDEyM2MvMHgyZGUwCiAgZGV2X3F1ZXVlX3htaXQrMHgy NC8weDMwCiAgaXBfZmluaXNoX291dHB1dDIrMHhjNDgvMHgxNzIwCiAgaXBfZmluaXNoX291dHB1 dCsweDU0OC8weDlkOAogIGlwX291dHB1dCsweDMzNC8weDc4OAogIGlwX2xvY2FsX291dCsweDkw LzB4MTM4CiAgaXBfc2VuZF9za2IrMHg0NC8weDFkMAogIGlwX3B1c2hfcGVuZGluZ19mcmFtZXMr MHg1Yy8weDc4CiAgcmF3X3NlbmRtc2crMHhlZDgvMHgyOGQwCiAgaW5ldF9zZW5kbXNnKzB4YzQv MHg1YzAKICBzb2NrX3NlbmRtc2crMHhhYy8weDEwOAogIF9fc3lzX3NlbmR0bysweDFhYy8weDJh MAogIF9fYXJtNjRfc3lzX3NlbmR0bysweGM0LzB4MTM4CiAgZWwwX3N2Y19oYW5kbGVyKzB4MTNj LzB4Mjk4CiAgZWwwX3N2YysweDgvMHhjCiBDb2RlOiBmOTQwMmU4MCBkNTM4ZDA4MSA5MTAwMjAw MCA4YjAxMDAwMCAoODg1ZjdjMDMpCgpGaXggdGhpcyBieSB0ZXN0aW5nIHRoZSB2YWx1ZSBvZiAn VENRX0ZfQ1BVU1RBVFMnIGJpdCBpbiAncWRpc2MtPmZsYWdzJywKYmVmb3JlIGRlcmVmZXJlbmNp bmcgJ3FkaXNjLT5jcHVfcXN0YXRzJy4KCkZpeGVzOiA4YTUzZTYxNmRlMjkgKCJuZXQ6IHNjaGVk OiB3aGVuIGNsZWFyaW5nIE5PTE9DSywgY2xlYXIgVENRX0ZfQ1BVU1RBVFMsIHRvbyIpCkNDOiBQ YW9sbyBBYmVuaSA8cGFiZW5pQHJlZGhhdC5jb20+CkNDOiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZp b0ByZWRoYXQuY29tPgpSZXBvcnRlZC1ieTogTGkgU2h1YW5nIDxzaHVhbGlAcmVkaGF0LmNvbT4K U2lnbmVkLW9mZi1ieTogRGF2aWRlIENhcmF0dGkgPGRjYXJhdHRpQHJlZGhhdC5jb20+CkFja2Vk LWJ5OiBQYW9sbyBBYmVuaSA8cGFiZW5pQHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlk IFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvc2NoZWQvc2NoX2dlbmVy aWMuYyB8IDggKysrKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDIgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL3NjaF9nZW5lcmljLmMgYi9uZXQvc2No ZWQvc2NoX2dlbmVyaWMuYwppbmRleCAxMWMwM2NmNGFhNzQuLjI2YzUwYWE0MTJjNyAxMDA2NDQK LS0tIGEvbmV0L3NjaGVkL3NjaF9nZW5lcmljLmMKKysrIGIvbmV0L3NjaGVkL3NjaF9nZW5lcmlj LmMKQEAgLTYyNCw4ICs2MjQsMTIgQEAgc3RhdGljIGludCBwZmlmb19mYXN0X2VucXVldWUoc3Ry dWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IFFkaXNjICpxZGlzYywKIAogCWVyciA9IHNrYl9hcnJh eV9wcm9kdWNlKHEsIHNrYik7CiAKLQlpZiAodW5saWtlbHkoZXJyKSkKLQkJcmV0dXJuIHFkaXNj X2Ryb3BfY3B1KHNrYiwgcWRpc2MsIHRvX2ZyZWUpOworCWlmICh1bmxpa2VseShlcnIpKSB7CisJ CWlmIChxZGlzY19pc19wZXJjcHVfc3RhdHMocWRpc2MpKQorCQkJcmV0dXJuIHFkaXNjX2Ryb3Bf Y3B1KHNrYiwgcWRpc2MsIHRvX2ZyZWUpOworCQllbHNlCisJCQlyZXR1cm4gcWRpc2NfZHJvcChz a2IsIHFkaXNjLCB0b19mcmVlKTsKKwl9CiAKIAlxZGlzY191cGRhdGVfc3RhdHNfYXRfZW5xdWV1 ZShxZGlzYywgcGt0X2xlbik7CiAJcmV0dXJuIE5FVF9YTUlUX1NVQ0NFU1M7Ci0tIAoyLjIxLjAK CgpGcm9tIDgxNGQxOTQ0YTg1ODY4ZTc2NTUzYzRjZDkwY2YyNDk3MmVjNzFkMGQgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IERhdmlkZSBDYXJhdHRpIDxkY2FyYXR0aUByZWRoYXQuY29t PgpEYXRlOiBUdWUsIDI3IEF1ZyAyMDE5IDEyOjI5OjA5ICswMjAwClN1YmplY3Q6IFtQQVRDSCAx OC8xOV0gbmV0L3NjaGVkOiBwZmlmb19mYXN0OiBmaXggd3JvbmcgZGVyZWZlcmVuY2Ugd2hlbiBx ZGlzYwogaXMgcmVzZXQKClsgVXBzdHJlYW0gY29tbWl0IDA0ZDM3Y2Y0NmE3NzM5MTBmNzVmZWZh YTlmOTQ4OGY0MmJmZTFmZTIgXQoKTm93IHRoYXQgJ1RDUV9GX0NQVVNUQVRTJyBiaXQgY2FuIGJl IGNsZWFyZWQsIGRlcGVuZGluZyBvbiB0aGUgdmFsdWUgb2YKJ1RDUV9GX05PTE9DSycgYml0IGlu IHRoZSBwYXJlbnQgcWRpc2MsIHdlIG5lZWQgdG8gYmUgc3VyZSB0aGF0IHBlci1jcHUKY291bnRl cnMgYXJlIHByZXNlbnQgd2hlbiAncmVzZXQoKScgaXMgY2FsbGVkIGZvciBwZmlmb19mYXN0IHFk aXNjcy4KT3RoZXJ3aXNlLCB0aGUgZm9sbG93aW5nIHNjcmlwdDoKCiAjIHRjIHEgYSBkZXYgbG8g aGFuZGxlIDE6IHJvb3QgaHRiIGRlZmF1bHQgMTAwCiAjIHRjIGMgYSBkZXYgbG8gcGFyZW50IDE6 IGNsYXNzaWQgMToxMDAgaHRiIFwKID4gcmF0ZSA5NU1iaXQgY2VpbCAxMDBNYml0IGJ1cnN0IDY0 awogWy4uLl0KICMgdGMgZiBhIGRldiBsbyBwYXJlbnQgMTogcHJvdG9jb2wgYXJwIGJhc2ljIGNs YXNzaWQgMToxMDAKIFsuLi5dCiAjIHRjIHEgYSBkZXYgbG8gcGFyZW50IDE6MTAwIGhhbmRsZSAx MDA6IHBmaWZvX2Zhc3QKIFsuLi5dCiAjIHRjIHEgZCBkZXYgbG8gcm9vdAoKY2FuIGdlbmVyYXRl IHRoZSBmb2xsb3dpbmcgc3BsYXQ6CgogVW5hYmxlIHRvIGhhbmRsZSBrZXJuZWwgcGFnaW5nIHJl cXVlc3QgYXQgdmlydHVhbCBhZGRyZXNzIGRmZmYyYzAxYmQxNDgwMDAKIE1lbSBhYm9ydCBpbmZv OgogICBFU1IgPSAweDk2MDAwMDA0CiAgIEV4Y2VwdGlvbiBjbGFzcyA9IERBQlQgKGN1cnJlbnQg RUwpLCBJTCA9IDMyIGJpdHMKICAgU0VUID0gMCwgRm5WID0gMAogICBFQSA9IDAsIFMxUFRXID0g MAogRGF0YSBhYm9ydCBpbmZvOgogICBJU1YgPSAwLCBJU1MgPSAweDAwMDAwMDA0CiAgIENNID0g MCwgV25SID0gMAogW2RmZmYyYzAxYmQxNDgwMDBdIGFkZHJlc3MgYmV0d2VlbiB1c2VyIGFuZCBr ZXJuZWwgYWRkcmVzcyByYW5nZXMKIEludGVybmFsIGVycm9yOiBPb3BzOiA5NjAwMDAwNCBbIzFd IFNNUAogWy4uLl0KIHBzdGF0ZTogODAwMDAwMDUgKE56Y3YgZGFpZiAtUEFOIC1VQU8pCiBwYyA6 IHBmaWZvX2Zhc3RfcmVzZXQrMHgyODAvMHg0ZDgKIGxyIDogcGZpZm9fZmFzdF9yZXNldCsweDIx Yy8weDRkOAogc3AgOiBmZmZmODAwZDA5Njc2ZmEwCiB4Mjk6IGZmZmY4MDBkMDk2NzZmYTAgeDI4 OiBmZmZmMjAwMDEyZWUyMmU0CiB4Mjc6IGRmZmYyMDAwMDAwMDAwMDAgeDI2OiAwMDAwMDAwMDAw MDAwMDAwCiB4MjU6IGZmZmY4MDBjYTA3OTk5NTggeDI0OiBmZmZmMTAwMTk0MGYzMzJiCiB4MjM6 IDAwMDAwMDAwMDAwMDAwMDcgeDIyOiBmZmZmMjAwMDEyZWUxYWI4CiB4MjE6IDAwMDA2MDBkZThh NDAwMDAgeDIwOiAwMDAwMDAwMDAwMDAwMDAwCiB4MTk6IGZmZmY4MDBjYTA3OTk5MDAgeDE4OiAw MDAwMDAwMDAwMDAwMDAwCiB4MTc6IDAwMDAwMDAwMDAwMDAwMDIgeDE2OiAwMDAwMDAwMDAwMDAw MDAwCiB4MTU6IDAwMDAwMDAwMDAwMDAwMDAgeDE0OiAwMDAwMDAwMDAwMDAwMDAwCiB4MTM6IDAw MDAwMDAwMDAwMDAwMDAgeDEyOiBmZmZmMTAwMWI5MjJlNmUyCiB4MTE6IDFmZmZmMDAxYjkyMmU2 ZTEgeDEwOiAwMDAwMDAwMDAwMDAwMDAwCiB4OSA6IDFmZmZmMDAxYjkyMmU2ZTEgeDggOiBkZmZm MjAwMDAwMDAwMDAwCiB4NyA6IDAwMDAwMDAwMDAwMDAwMDAgeDYgOiAwMDAwMDAwMDAwMDAwMDAw CiB4NSA6IDFmZmZlNDAwMDI1ZGM0NWMgeDQgOiAxZmZmZTQwMDAyNWRjMzU3CiB4MyA6IDAwMDAw YzAxYmQxNDgwMDAgeDIgOiAwMDAwNjAwZGU4YTQwMDAwCiB4MSA6IDAwMDAwMDAwMDAwMDAwMDcg eDAgOiAwMDAwNjAwZGU4YTQwMDA0CiBDYWxsIHRyYWNlOgogIHBmaWZvX2Zhc3RfcmVzZXQrMHgy ODAvMHg0ZDgKICBxZGlzY19yZXNldCsweDZjLzB4MzcwCiAgaHRiX3Jlc2V0KzB4MTUwLzB4M2I4 IFtzY2hfaHRiXQogIHFkaXNjX3Jlc2V0KzB4NmMvMHgzNzAKICBkZXZfZGVhY3RpdmF0ZV9xdWV1 ZS5jb25zdHByb3AuNSsweGUwLzB4MWE4CiAgZGV2X2RlYWN0aXZhdGVfbWFueSsweGQ4LzB4OTA4 CiAgZGV2X2RlYWN0aXZhdGUrMHhlNC8weDE5MAogIHFkaXNjX2dyYWZ0KzB4ODhjLzB4YmQwCiAg dGNfZ2V0X3FkaXNjKzB4NDE4LzB4OGE4CiAgcnRuZXRsaW5rX3Jjdl9tc2crMHgzYTgvMHhhNzgK ICBuZXRsaW5rX3Jjdl9za2IrMHgxOGMvMHgzMjgKICBydG5ldGxpbmtfcmN2KzB4MjgvMHgzOAog IG5ldGxpbmtfdW5pY2FzdCsweDNjNC8weDUzOAogIG5ldGxpbmtfc2VuZG1zZysweDUzOC8weDlh MAogIHNvY2tfc2VuZG1zZysweGFjLzB4ZjgKICBfX19zeXNfc2VuZG1zZysweDUzYy8weDY1OAog IF9fc3lzX3NlbmRtc2crMHhjOC8weDE0MAogIF9fYXJtNjRfc3lzX3NlbmRtc2crMHg3NC8weGE4 CiAgZWwwX3N2Y19oYW5kbGVyKzB4MTY0LzB4NDY4CiAgZWwwX3N2YysweDEwLzB4MTQKIENvZGU6 IDkxMDAxMmEwIDkyNDAwODAxIGQzNDNmYzAzIDExMDAwYzIxICgzOGZiNjg2MykKCkZpeCB0aGlz IGJ5IHRlc3RpbmcgdGhlIHZhbHVlIG9mICdUQ1FfRl9DUFVTVEFUUycgYml0IGluICdxZGlzYy0+ ZmxhZ3MnLApiZWZvcmUgZGVyZWZlcmVuY2luZyAncWRpc2MtPmNwdV9xc3RhdHMnLgoKQ2hhbmdl cyBzaW5jZSB2MToKIC0gY29kaW5nIHN0eWxlIGltcHJvdmVtZW50cywgdGhhbmtzIHRvIFN0ZWZh bm8gQnJpdmlvCgpGaXhlczogOGE1M2U2MTZkZTI5ICgibmV0OiBzY2hlZDogd2hlbiBjbGVhcmlu ZyBOT0xPQ0ssIGNsZWFyIFRDUV9GX0NQVVNUQVRTLCB0b28iKQpDQzogUGFvbG8gQWJlbmkgPHBh YmVuaUByZWRoYXQuY29tPgpSZXBvcnRlZC1ieTogTGkgU2h1YW5nIDxzaHVhbGlAcmVkaGF0LmNv bT4KU2lnbmVkLW9mZi1ieTogRGF2aWRlIENhcmF0dGkgPGRjYXJhdHRpQHJlZGhhdC5jb20+CkFj a2VkLWJ5OiBQYW9sbyBBYmVuaSA8cGFiZW5pQHJlZGhhdC5jb20+ClJldmlld2VkLWJ5OiBTdGVm YW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBN aWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3NjaGVkL3NjaF9nZW5lcmljLmMg fCAxMSArKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNCBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvc2NoZWQvc2NoX2dlbmVyaWMuYyBiL25ldC9zY2hl ZC9zY2hfZ2VuZXJpYy5jCmluZGV4IDI2YzUwYWE0MTJjNy4uMTM3ZGIxY2JkZTg1IDEwMDY0NAot LS0gYS9uZXQvc2NoZWQvc2NoX2dlbmVyaWMuYworKysgYi9uZXQvc2NoZWQvc2NoX2dlbmVyaWMu YwpAQCAtNjkyLDExICs2OTIsMTQgQEAgc3RhdGljIHZvaWQgcGZpZm9fZmFzdF9yZXNldChzdHJ1 Y3QgUWRpc2MgKnFkaXNjKQogCQkJa2ZyZWVfc2tiKHNrYik7CiAJfQogCi0JZm9yX2VhY2hfcG9z c2libGVfY3B1KGkpIHsKLQkJc3RydWN0IGduZXRfc3RhdHNfcXVldWUgKnEgPSBwZXJfY3B1X3B0 cihxZGlzYy0+Y3B1X3FzdGF0cywgaSk7CisJaWYgKHFkaXNjX2lzX3BlcmNwdV9zdGF0cyhxZGlz YykpIHsKKwkJZm9yX2VhY2hfcG9zc2libGVfY3B1KGkpIHsKKwkJCXN0cnVjdCBnbmV0X3N0YXRz X3F1ZXVlICpxOwogCi0JCXEtPmJhY2tsb2cgPSAwOwotCQlxLT5xbGVuID0gMDsKKwkJCXEgPSBw ZXJfY3B1X3B0cihxZGlzYy0+Y3B1X3FzdGF0cywgaSk7CisJCQlxLT5iYWNrbG9nID0gMDsKKwkJ CXEtPnFsZW4gPSAwOworCQl9CiAJfQogfQogCi0tIAoyLjIxLjAKCgpGcm9tIDhhNDFiMTRkODgw NWNmY2I0MWZjYjNjODZjNjBjNjQ2ZjQ2ZTA0YjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IEthLUNoZW9uZyBQb29uIDxrYS1jaGVvbmcucG9vbkBvcmFjbGUuY29tPgpEYXRlOiBNb24s IDI2IEF1ZyAyMDE5IDAyOjM5OjEyIC0wNzAwClN1YmplY3Q6IFtQQVRDSCAxOS8xOV0gbmV0L3Jk czogRml4IGluZm8gbGVhayBpbiByZHM2X2luY19pbmZvX2NvcHkoKQpNSU1FLVZlcnNpb246IDEu MApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zl ci1FbmNvZGluZzogOGJpdAoKWyBVcHN0cmVhbSBjb21taXQgN2QwYTA2NTg2YjI2ODZiYTgwYzRh MmRhNWY5MWNiMTBmZmJlYTczNiBdCgpUaGUgcmRzNl9pbmNfaW5mb19jb3B5KCkgZnVuY3Rpb24g aGFzIGEgY291cGxlIHN0cnVjdCBtZW1iZXJzIHdoaWNoCmFyZSBsZWFraW5nIHN0YWNrIGluZm9y bWF0aW9uLiAgVGhlIC0+dG9zIGZpZWxkIHNob3VsZCBob2xkIGFjdHVhbAppbmZvcm1hdGlvbiBh bmQgdGhlIC0+ZmxhZ3MgZmllbGQgbmVlZHMgdG8gYmUgemVyb2VkIG91dC4KCkZpeGVzOiAzZWI0 NTAzNjdkMDggKCJyZHM6IGFkZCB0eXBlIG9mIHNlcnZpY2UodG9zKSBpbmZyYXN0cnVjdHVyZSIp CkZpeGVzOiBiN2ZmOGIxMDM2ZjAgKCJyZHM6IEV4dGVuZCBSRFMgQVBJIGZvciBJUHY2IHN1cHBv cnQiKQpSZXBvcnRlZC1ieTog6buESUTonbTonbYgPGJ1dHRlcmZseWh1YW5neHhAZ21haWwuY29t PgpTaWduZWQtb2ZmLWJ5OiBEYW4gQ2FycGVudGVyIDxkYW4uY2FycGVudGVyQG9yYWNsZS5jb20+ ClNpZ25lZC1vZmYtYnk6IEthLUNoZW9uZyBQb29uIDxrYS1jaGVvbmcucG9vbkBvcmFjbGUuY29t PgpBY2tlZC1ieTogU2FudG9zaCBTaGlsaW1rYXIgPHNhbnRvc2guc2hpbGlta2FyQG9yYWNsZS5j b20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4K LS0tCiBuZXQvcmRzL3JlY3YuYyB8IDUgKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlv bnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9uZXQvcmRzL3JlY3YuYyBiL25ldC9y ZHMvcmVjdi5jCmluZGV4IDg1M2RlNDg3NjA4OC4uYTQyYmE3ZmEwNmQ1IDEwMDY0NAotLS0gYS9u ZXQvcmRzL3JlY3YuYworKysgYi9uZXQvcmRzL3JlY3YuYwpAQCAtMSw1ICsxLDUgQEAKIC8qCi0g KiBDb3B5cmlnaHQgKGMpIDIwMDYsIDIwMTggT3JhY2xlIGFuZC9vciBpdHMgYWZmaWxpYXRlcy4g QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoYykgMjAwNiwgMjAxOSBPcmFjbGUg YW5kL29yIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMg c29mdHdhcmUgaXMgYXZhaWxhYmxlIHRvIHlvdSB1bmRlciBhIGNob2ljZSBvZiBvbmUgb2YgdHdv CiAgKiBsaWNlbnNlcy4gIFlvdSBtYXkgY2hvb3NlIHRvIGJlIGxpY2Vuc2VkIHVuZGVyIHRoZSB0 ZXJtcyBvZiB0aGUgR05VCkBAIC04MTEsNiArODExLDcgQEAgdm9pZCByZHM2X2luY19pbmZvX2Nv cHkoc3RydWN0IHJkc19pbmNvbWluZyAqaW5jLAogCiAJbWluZm82LnNlcSA9IGJlNjRfdG9fY3B1 KGluYy0+aV9oZHIuaF9zZXF1ZW5jZSk7CiAJbWluZm82LmxlbiA9IGJlMzJfdG9fY3B1KGluYy0+ aV9oZHIuaF9sZW4pOworCW1pbmZvNi50b3MgPSBpbmMtPmlfY29ubi0+Y190b3M7CiAKIAlpZiAo ZmxpcCkgewogCQltaW5mbzYubGFkZHIgPSAqZGFkZHI7CkBAIC04MjQsNiArODI1LDggQEAgdm9p ZCByZHM2X2luY19pbmZvX2NvcHkoc3RydWN0IHJkc19pbmNvbWluZyAqaW5jLAogCQltaW5mbzYu ZnBvcnQgPSBpbmMtPmlfaGRyLmhfZHBvcnQ7CiAJfQogCisJbWluZm82LmZsYWdzID0gMDsKKwog CXJkc19pbmZvX2NvcHkoaXRlciwgJm1pbmZvNiwgc2l6ZW9mKG1pbmZvNikpOwogfQogI2VuZGlm Ci0tIAoyLjIxLjAKCg== ----Next_Part(Thu_Sep__5_00_23_47_2019_118)----