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 2F1B9C47404 for ; Sat, 5 Oct 2019 21:57:38 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id AC1EF222C8 for ; Sat, 5 Oct 2019 21:57:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725839AbfJEV5g (ORCPT ); Sat, 5 Oct 2019 17:57:36 -0400 Received: from shards.monkeyblade.net ([23.128.96.9]:39818 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725801AbfJEV5g (ORCPT ); Sat, 5 Oct 2019 17:57:36 -0400 Received: from localhost (unknown [IPv6:2601:601:9f00:1e2::3d5]) (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 87DB1133EF6A2 for ; Sat, 5 Oct 2019 14:57:31 -0700 (PDT) Date: Sat, 05 Oct 2019 14:57:22 -0700 (PDT) Message-Id: <20191005.145722.1341683959362171945.davem@davemloft.net> To: stable@vger.kernel.org Subject: [PATCHES] Networking From: David Miller X-Mailer: Mew version 6.8 on Emacs 26.1 Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Sat_Oct__5_14_57_22_2019_856)--" 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]); Sat, 05 Oct 2019 14:57:32 -0700 (PDT) Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org ----Next_Part(Sat_Oct__5_14_57_22_2019_856)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Please queue up the following networking bug fixes for v5.2 and v5.3 -stable, respectively. Thanks! ----Next_Part(Sat_Oct__5_14_57_22_2019_856)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_52.mbox" RnJvbSAwY2ZjOTgxYTQ0OGNiYjVjY2Y0MmMyZmVmNmRmY2U1MmRjOTRlYWUyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaXNoYWwgS3Vsa2FybmkgPHZpc2hhbEBjaGVsc2lvLmNvbT4K RGF0ZTogRnJpLCA0IE9jdCAyMDE5IDA0OjA2OjE1ICswNTMwClN1YmplY3Q6IFtQQVRDSCAwMS8y NV0gY3hnYjQ6Rml4IG91dC1vZi1ib3VuZHMgTVNJLVggaW5mbyBhcnJheSBhY2Nlc3MKClsgVXBz dHJlYW0gY29tbWl0IDZiNTE3Mzc0ZjRlYTVhM2M2ZTMwN2UxMjE5ZWM1ZjM1ZDQyZTZkMDAgXQoK V2hlbiBmZXRjaGluZyBmcmVlIE1TSS1YIHZlY3RvcnMgZm9yIFVMRHMsIGNoZWNrIGZvciB0aGUg ZXJyb3IgY29kZQpiZWZvcmUgYWNjZXNzaW5nIE1TSS1YIGluZm8gYXJyYXkuIE90aGVyd2lzZSwg YW4gb3V0LW9mLWJvdW5kcyBhY2Nlc3MgaXMKYXR0ZW1wdGVkLCB3aGljaCByZXN1bHRzIGluIGtl cm5lbCBwYW5pYy4KCkZpeGVzOiA5NGNkYjhiYjk5M2EgKCJjeGdiNDogQWRkIHN1cHBvcnQgZm9y IGR5bmFtaWMgYWxsb2NhdGlvbiBvZiByZXNvdXJjZXMgZm9yIFVMRCIpClNpZ25lZC1vZmYtYnk6 IFNoYWhqYWRhIEFidWwgSHVzYWluIDxzaGFoamFkYUBjaGVsc2lvLmNvbT4KU2lnbmVkLW9mZi1i eTogVmlzaGFsIEt1bGthcm5pIDx2aXNoYWxAY2hlbHNpby5jb20+ClNpZ25lZC1vZmYtYnk6IERh dmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhl cm5ldC9jaGVsc2lvL2N4Z2I0L2N4Z2I0X3VsZC5jIHwgOSArKysrKystLS0KIDEgZmlsZSBjaGFu Z2VkLCA2IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiNC9jeGdiNF91bGQuYyBiL2RyaXZlcnMvbmV0L2V0 aGVybmV0L2NoZWxzaW8vY3hnYjQvY3hnYjRfdWxkLmMKaW5kZXggNmM2ODViOTIwNzEzLi5iZjE3 Y2YzZWY2MTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjQv Y3hnYjRfdWxkLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiNC9jeGdi NF91bGQuYwpAQCAtMTM3LDEzICsxMzcsMTIgQEAgc3RhdGljIGludCB1bGRyeF9oYW5kbGVyKHN0 cnVjdCBzZ2VfcnNwcSAqcSwgY29uc3QgX19iZTY0ICpyc3AsCiBzdGF0aWMgaW50IGFsbG9jX3Vs ZF9yeHFzKHN0cnVjdCBhZGFwdGVyICphZGFwLAogCQkJICBzdHJ1Y3Qgc2dlX3VsZF9yeHFfaW5m byAqcnhxX2luZm8sIGJvb2wgbHJvKQogewotCXN0cnVjdCBzZ2UgKnMgPSAmYWRhcC0+c2dlOwog CXVuc2lnbmVkIGludCBucSA9IHJ4cV9pbmZvLT5ucnhxICsgcnhxX2luZm8tPm5jaXE7CisJaW50 IGksIGVyciwgbXNpX2lkeCwgcXVlX2lkeCA9IDAsIGJtYXBfaWR4ID0gMDsKIAlzdHJ1Y3Qgc2dl X29mbGRfcnhxICpxID0gcnhxX2luZm8tPnVsZHJ4cTsKIAl1bnNpZ25lZCBzaG9ydCAqaWRzID0g cnhxX2luZm8tPnJzcHFfaWQ7Ci0JdW5zaWduZWQgaW50IGJtYXBfaWR4ID0gMDsKKwlzdHJ1Y3Qg c2dlICpzID0gJmFkYXAtPnNnZTsKIAl1bnNpZ25lZCBpbnQgcGVyX2NoYW47Ci0JaW50IGksIGVy ciwgbXNpX2lkeCwgcXVlX2lkeCA9IDA7CiAKIAlwZXJfY2hhbiA9IHJ4cV9pbmZvLT5ucnhxIC8g YWRhcC0+cGFyYW1zLm5wb3J0czsKIApAQCAtMTYxLDYgKzE2MCwxMCBAQCBzdGF0aWMgaW50IGFs bG9jX3VsZF9yeHFzKHN0cnVjdCBhZGFwdGVyICphZGFwLAogCiAJCWlmIChtc2lfaWR4ID49IDAp IHsKIAkJCWJtYXBfaWR4ID0gZ2V0X21zaXhfaWR4X2Zyb21fYm1hcChhZGFwKTsKKwkJCWlmIChi bWFwX2lkeCA8IDApIHsKKwkJCQllcnIgPSAtRU5PU1BDOworCQkJCWdvdG8gZnJlZW91dDsKKwkJ CX0KIAkJCW1zaV9pZHggPSBhZGFwLT5tc2l4X2luZm9fdWxkc1tibWFwX2lkeF0uaWR4OwogCQl9 CiAJCWVyciA9IHQ0X3NnZV9hbGxvY19yeHEoYWRhcCwgJnEtPnJzcHEsIGZhbHNlLAotLSAKMi4y MC4xCgoKRnJvbSAxMGM2ZDFlOWJjYTU2NDE4ZmVmZTZkOGE4M2NmOGQ5ZjVmYWYxZTVhIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIYWlzaHVhbmcgWWFuIDx5YW5oYWlzaHVhbmdAY21z cy5jaGluYW1vYmlsZS5jb20+CkRhdGU6IEZyaSwgMjcgU2VwIDIwMTkgMTQ6NTg6MjAgKzA4MDAK U3ViamVjdDogW1BBVENIIDAyLzI1XSBlcnNwYW46IHJlbW92ZSB0aGUgaW5jb3JyZWN0IG10dSBs aW1pdCBmb3IgZXJzcGFuCgpbIFVwc3RyZWFtIGNvbW1pdCAwZTE0MWY3NTdiMmM3OGM5ODNkZjg5 M2U5OTkzMzEzZTJkYzIxZTM4IF0KCmVyc3BhbiBkcml2ZXIgY2FsbHMgZXRoZXJfc2V0dXAoKSwg YWZ0ZXIgY29tbWl0IDYxZTg0NjIzYWNlMwooIm5ldDogY2VudHJhbGl6ZSBuZXRfZGV2aWNlIG1p bi9tYXggTVRVIGNoZWNraW5nIiksIHRoZSByYW5nZQpvZiBtdHUgaXMgW21pbl9tdHUsIG1heF9t dHVdLCB3aGljaCBpcyBbNjgsIDE1MDBdIGJ5IGRlZmF1bHQuCgpJdCBjYXVzZXMgdGhlIGRldiBt dHUgb2YgdGhlIGVyc3BhbiBkZXZpY2UgdG8gbm90IGJlIGdyZWF0ZXIKdGhhbiAxNTAwLCB0aGlz IGxpbWl0IHZhbHVlIGlzIG5vdCBjb3JyZWN0IGZvciBpcGdyZSB0YXAgZGV2aWNlLgoKVGVzdGVk OgpCZWZvcmUgcGF0Y2g6CiMgaXAgbGluayBzZXQgZXJzcGFuMCBtdHUgMTYwMApFcnJvcjogbXR1 IGdyZWF0ZXIgdGhhbiBkZXZpY2UgbWF4aW11bS4KQWZ0ZXIgcGF0Y2g6CiMgaXAgbGluayBzZXQg ZXJzcGFuMCBtdHUgMTYwMAojIGlwIC1kIGxpbmsgc2hvdyBlcnNwYW4wCjIxOiBlcnNwYW4wQE5P TkU6IDxCUk9BRENBU1QsTVVMVElDQVNUPiBtdHUgMTYwMCBxZGlzYyBub29wIHN0YXRlIERPV04K bW9kZSBERUZBVUxUIGdyb3VwIGRlZmF1bHQgcWxlbiAxMDAwCiAgICBsaW5rL2V0aGVyIDAwOjAw OjAwOjAwOjAwOjAwIGJyZCBmZjpmZjpmZjpmZjpmZjpmZiBwcm9taXNjdWl0eSAwIG1pbm10dSA2 OCBtYXhtdHUgMAoKRml4ZXM6IDYxZTg0NjIzYWNlMyAoIm5ldDogY2VudHJhbGl6ZSBuZXRfZGV2 aWNlIG1pbi9tYXggTVRVIGNoZWNraW5nIikKU2lnbmVkLW9mZi1ieTogSGFpc2h1YW5nIFlhbiA8 eWFuaGFpc2h1YW5nQGNtc3MuY2hpbmFtb2JpbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjQvaXBfZ3JlLmMgfCAx ICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY0 L2lwX2dyZS5jIGIvbmV0L2lwdjQvaXBfZ3JlLmMKaW5kZXggYTUzYTU0M2ZlMDU1Li41MjY5MGJi M2U0MGYgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L2lwX2dyZS5jCisrKyBiL25ldC9pcHY0L2lwX2dy ZS5jCkBAIC0xNDQ2LDYgKzE0NDYsNyBAQCBzdGF0aWMgdm9pZCBlcnNwYW5fc2V0dXAoc3RydWN0 IG5ldF9kZXZpY2UgKmRldikKIAlzdHJ1Y3QgaXBfdHVubmVsICp0ID0gbmV0ZGV2X3ByaXYoZGV2 KTsKIAogCWV0aGVyX3NldHVwKGRldik7CisJZGV2LT5tYXhfbXR1ID0gMDsKIAlkZXYtPm5ldGRl dl9vcHMgPSAmZXJzcGFuX25ldGRldl9vcHM7CiAJZGV2LT5wcml2X2ZsYWdzICY9IH5JRkZfVFhf U0tCX1NIQVJJTkc7CiAJZGV2LT5wcml2X2ZsYWdzIHw9IElGRl9MSVZFX0FERFJfQ0hBTkdFOwot LSAKMi4yMC4xCgoKRnJvbSAyMmZiMTZiZjI2MjI4Y2Y2ZmFkZmE2MDE0N2JmN2NiMzg5YjZjNmE5 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2hhbiBIb3ZvbGQgPGpvaGFuQGtlcm5l bC5vcmc+CkRhdGU6IE1vbiwgMzAgU2VwIDIwMTkgMTc6MTI6NDEgKzAyMDAKU3ViamVjdDogW1BB VENIIDAzLzI1XSBoc286IGZpeCBOVUxMLWRlcmVmIG9uIHR0eSBvcGVuCgpbIFVwc3RyZWFtIGNv bW1pdCA4MzUzZGE5ZmE2OTcyMmI1NGNiYTgyYjJlYzc0MGFmZDNkNDM4NzQ4IF0KCkZpeCBOVUxM LXBvaW50ZXIgZGVyZWZlcmVuY2Ugb24gdHR5IG9wZW4gZHVlIHRvIGEgZmFpbHVyZSB0byBoYW5k bGUgYQptaXNzaW5nIGludGVycnVwdC1pbiBlbmRwb2ludCB3aGVuIHByb2JpbmcgbW9kZW0gcG9y dHM6CgoJQlVHOiBrZXJuZWwgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlLCBhZGRyZXNzOiAwMDAw MDAwMDAwMDAwMDA2CgkuLi4KCVJJUDogMDAxMDp0aW9jbWdldF9zdWJtaXRfdXJiKzB4MWMvMHhl MCBbaHNvXQoJLi4uCglDYWxsIFRyYWNlOgoJaHNvX3N0YXJ0X3NlcmlhbF9kZXZpY2UrMHhkYy8w eDE0MCBbaHNvXQoJaHNvX3NlcmlhbF9vcGVuKzB4MTE4LzB4MWIwIFtoc29dCgl0dHlfb3Blbisw eGYxLzB4NDkwCgpGaXhlczogNTQyZjU0ODIzNjE0ICgidHR5OiBNb2RlbSBmdW5jdGlvbnMgZm9y IHRoZSBIU08gZHJpdmVyIikKU2lnbmVkLW9mZi1ieTogSm9oYW4gSG92b2xkIDxqb2hhbkBrZXJu ZWwub3JnPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5u ZXQ+Ci0tLQogZHJpdmVycy9uZXQvdXNiL2hzby5jIHwgMTIgKysrKysrKystLS0tCiAxIGZpbGUg Y2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvbmV0L3VzYi9oc28uYyBiL2RyaXZlcnMvbmV0L3VzYi9oc28uYwppbmRleCBjZTc4NzE0 ZjUzNmYuLmE1MDViMmFiODhiOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvdXNiL2hzby5jCisr KyBiL2RyaXZlcnMvbmV0L3VzYi9oc28uYwpAQCAtMjYyMCwxNCArMjYyMCwxOCBAQCBzdGF0aWMg c3RydWN0IGhzb19kZXZpY2UgKmhzb19jcmVhdGVfYnVsa19zZXJpYWxfZGV2aWNlKAogCQkgKi8K IAkJaWYgKHNlcmlhbC0+dGlvY21nZXQpIHsKIAkJCXRpb2NtZ2V0ID0gc2VyaWFsLT50aW9jbWdl dDsKKwkJCXRpb2NtZ2V0LT5lbmRwID0gaHNvX2dldF9lcChpbnRlcmZhY2UsCisJCQkJCQkgICAg VVNCX0VORFBPSU5UX1hGRVJfSU5ULAorCQkJCQkJICAgIFVTQl9ESVJfSU4pOworCQkJaWYgKCF0 aW9jbWdldC0+ZW5kcCkgeworCQkJCWRldl9lcnIoJmludGVyZmFjZS0+ZGV2LCAiRmFpbGVkIHRv IGZpbmQgSU5UIElOIGVwXG4iKTsKKwkJCQlnb3RvIGV4aXQ7CisJCQl9CisKIAkJCXRpb2NtZ2V0 LT51cmIgPSB1c2JfYWxsb2NfdXJiKDAsIEdGUF9LRVJORUwpOwogCQkJaWYgKHRpb2NtZ2V0LT51 cmIpIHsKIAkJCQltdXRleF9pbml0KCZ0aW9jbWdldC0+bXV0ZXgpOwogCQkJCWluaXRfd2FpdHF1 ZXVlX2hlYWQoJnRpb2NtZ2V0LT53YWl0cSk7Ci0JCQkJdGlvY21nZXQtPmVuZHAgPSBoc29fZ2V0 X2VwKAotCQkJCQlpbnRlcmZhY2UsCi0JCQkJCVVTQl9FTkRQT0lOVF9YRkVSX0lOVCwKLQkJCQkJ VVNCX0RJUl9JTik7CiAJCQl9IGVsc2UKIAkJCQloc29fZnJlZV90aW9tZ2V0KHNlcmlhbCk7CiAJ CX0KLS0gCjIuMjAuMQoKCkZyb20gMzM5Mzk0YjVhZmUyNWYwYjUwNDA1YTIyNzJjN2FmMWNhN2Q4 ZTc4NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpl dEBnb29nbGUuY29tPgpEYXRlOiBXZWQsIDIgT2N0IDIwMTkgMDk6Mzg6NTUgLTA3MDAKU3ViamVj dDogW1BBVENIIDA0LzI1XSBpcHY2OiBkcm9wIGluY29taW5nIHBhY2tldHMgaGF2aW5nIGEgdjRt YXBwZWQgc291cmNlCiBhZGRyZXNzCgpbIFVwc3RyZWFtIGNvbW1pdCA2YWYxNzk5YWFmM2YxYmM4 ZGVmZWRkZGZhMDBkZjMxOTI0NDViYmYzIF0KClRoaXMgYmVnYW4gd2l0aCBhIHN5emJvdCByZXBv cnQuIHN5emthbGxlciB3YXMgaW5qZWN0aW5nCklQdjYgVENQIFNZTiBwYWNrZXRzIGhhdmluZyBh IHY0bWFwcGVkIHNvdXJjZSBhZGRyZXNzLgoKQWZ0ZXIgYW4gdW5zdWNjZXNzZnVsIDQtdHVwbGUg bG9va3VwLCBUQ1AgY3JlYXRlcyBhIHJlcXVlc3QKc29ja2V0IChTWU5fUkVDVikgYW5kIGNhbGxz IHJlcXNrX3F1ZXVlX2hhc2hfcmVxKCkKCnJlcXNrX3F1ZXVlX2hhc2hfcmVxKCkgY2FsbHMgc2tf ZWhhc2hmbihzaykKCkF0IHRoaXMgcG9pbnQgd2UgaGF2ZSBBRl9JTkVUNiBzb2NrZXRzLCBhbmQg dGhlIGhldXJpc3RpYwp1c2VkIGJ5IHNrX2VoYXNoZm4oKSB0byBlaXRoZXIgaGFzaCB0aGUgSVB2 NCBvciBJUHY2IGFkZHJlc3NlcwppcyB0byB1c2UgaXB2Nl9hZGRyX3Y0bWFwcGVkKCZzay0+c2tf djZfZGFkZHIpCgpGb3IgdGhlIHBhcnRpY3VsYXIgc3Bvb2ZlZCBwYWNrZXQsIHdlIGVuZCB1cCBo YXNoaW5nIFY0IGFkZHJlc3Nlcwp3aGljaCB3ZXJlIG5vdCBpbml0aWFsaXplZCBieSB0aGUgVENQ IElQdjYgc3RhY2ssIHNvIEtNU0FOIGZpcmVkCmEgd2FybmluZy4KCkkgZmlyc3QgZml4ZWQgc2tf ZWhhc2hmbigpIHRvIHRlc3QgYm90aCBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIGFkZHJlc3NlcywK YnV0IHRoZW4gZmFjZWQgdmFyaW91cyBwcm9ibGVtcywgaW5jbHVkaW5nIHVzZXItc3BhY2UgcHJv Z3JhbXMKbGlrZSBwYWNrZXRkcmlsbCB0aGF0IGhhZCBzaW1pbGFyIGFzc3VtcHRpb25zLgoKSW5z dGVhZCBvZiB0cnlpbmcgdG8gZml4IHRoZSB3aG9sZSBlY29zeXN0ZW0sIGl0IGlzIGJldHRlcgp0 byBhZG1pdCB0aGF0IHdlIGhhdmUgYSBkdWFsIHN0YWNrIGJlaGF2aW9yLCBhbmQgdGhhdCB3ZQpj YW4gbm90IGJ1aWxkIGxpbnV4IGtlcm5lbHMgd2l0aG91dCBWNCBzdGFjayBhbnl3YXkuCgpUaGUg ZHVhbCBzdGFjayBBUEkgYXV0b21hdGljYWxseSBmb3JjZXMgdGhlIHRyYWZmaWMgdG8gYmUgSVB2 NAppZiB2NG1hcHBlZCBhZGRyZXNzZXMgYXJlIHVzZWQgYXQgYmluZCgpIG9yIGNvbm5lY3QoKSwg c28gaXQgbWFrZXMKbm8gc2Vuc2UgdG8gYWxsb3cgSVB2NiB0cmFmZmljIHRvIHVzZSB0aGUgc2Ft ZSB2NG1hcHBlZCBjbGFzcy4KCkZpeGVzOiAxZGExNzdlNGMzZjQgKCJMaW51eC0yLjYuMTItcmMy IikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpDYzog RmxvcmlhbiBXZXN0cGhhbCA8ZndAc3RybGVuLmRlPgpDYzogSGFubmVzIEZyZWRlcmljIFNvd2Eg PGhhbm5lc0BzdHJlc3NpbmR1a3Rpb24ub3JnPgpSZXBvcnRlZC1ieTogc3l6Ym90IDxzeXprYWxs ZXJAZ29vZ2xlZ3JvdXBzLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZl bUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY2L2lwNl9pbnB1dC5jIHwgMTAgKysrKysrKysr KwogMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9uZXQvaXB2 Ni9pcDZfaW5wdXQuYyBiL25ldC9pcHY2L2lwNl9pbnB1dC5jCmluZGV4IGZhMDE0ZDVmMTczMi4u YTU5M2FhZjI1NzQ4IDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9pcDZfaW5wdXQuYworKysgYi9uZXQv aXB2Ni9pcDZfaW5wdXQuYwpAQCAtMjIxLDYgKzIyMSwxNiBAQCBzdGF0aWMgc3RydWN0IHNrX2J1 ZmYgKmlwNl9yY3ZfY29yZShzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgbmV0X2RldmljZSAq ZGV2LAogCWlmIChpcHY2X2FkZHJfaXNfbXVsdGljYXN0KCZoZHItPnNhZGRyKSkKIAkJZ290byBl cnI7CiAKKwkvKiBXaGlsZSBSRkM0MjkxIGlzIG5vdCBleHBsaWNpdCBhYm91dCB2NG1hcHBlZCBh ZGRyZXNzZXMKKwkgKiBpbiBJUHY2IGhlYWRlcnMsIGl0IHNlZW1zIGNsZWFyIGxpbnV4IGR1YWwt c3RhY2sKKwkgKiBtb2RlbCBjYW4gbm90IGRlYWwgcHJvcGVybHkgd2l0aCB0aGVzZS4KKwkgKiBT ZWN1cml0eSBtb2RlbHMgY291bGQgYmUgZm9vbGVkIGJ5IDo6ZmZmZjoxMjcuMC4wLjEgZm9yIGV4 YW1wbGUuCisJICoKKwkgKiBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtaXRvanVu LXY2b3BzLXY0bWFwcGVkLWhhcm1mdWwtMDIKKwkgKi8KKwlpZiAoaXB2Nl9hZGRyX3Y0bWFwcGVk KCZoZHItPnNhZGRyKSkKKwkJZ290byBlcnI7CisKIAlza2ItPnRyYW5zcG9ydF9oZWFkZXIgPSBz a2ItPm5ldHdvcmtfaGVhZGVyICsgc2l6ZW9mKCpoZHIpOwogCUlQNkNCKHNrYiktPm5ob2ZmID0g b2Zmc2V0b2Yoc3RydWN0IGlwdjZoZHIsIG5leHRoZHIpOwogCi0tIAoyLjIwLjEKCgpGcm9tIDNl MzM5ZmYwNWM5OTM2ZGI0MTQ3MTU2ZmI1YjNjZjRjMWM1NTI4MmIgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IERhdmlkIEFoZXJuIDxkc2FoZXJuQGdtYWlsLmNvbT4KRGF0ZTogRnJpLCA0 IE9jdCAyMDE5IDA4OjAzOjA5IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAwNS8yNV0gaXB2NjogSGFu ZGxlIG1pc3NpbmcgaG9zdCByb3V0ZSBpbiBfX2lwdjZfaWZhX25vdGlmeQoKWyBVcHN0cmVhbSBj b21taXQgMmQ4MTlkMjUwYTEzOTNhM2U3MjU3MTU0MjVhYjcwYTBlMDc3MmE3MSBdCgpSYWplbmRy YSByZXBvcnRlZCBhIGtlcm5lbCBwYW5pYyB3aGVuIGEgbGluayB3YXMgdGFrZW4gZG93bjoKCiAg ICBbIDY4NzAuMjYzMDg0XSBCVUc6IHVuYWJsZSB0byBoYW5kbGUga2VybmVsIE5VTEwgcG9pbnRl ciBkZXJlZmVyZW5jZSBhdCAwMDAwMDAwMDAwMDAwMGE4CiAgICBbIDY4NzAuMjcxODU2XSBJUDog WzxmZmZmZmZmZjhlZmM1NzY0Pl0gX19pcHY2X2lmYV9ub3RpZnkrMHgxNTQvMHgyOTAKCiAgICA8 c25pcD4KCiAgICBbIDY4NzAuNTcwNTAxXSBDYWxsIFRyYWNlOgogICAgWyA2ODcwLjU3MzIzOF0g WzxmZmZmZmZmZjhlZmM1OGM2Pl0gPyBpcHY2X2lmYV9ub3RpZnkrMHgyNi8weDQwCiAgICBbIDY4 NzAuNTc5NjY1XSBbPGZmZmZmZmZmOGVmYzk4ZWM+XSA/IGFkZHJjb25mX2RhZF9jb21wbGV0ZWQr MHg0Yy8weDJjMAogICAgWyA2ODcwLjU4Njg2OV0gWzxmZmZmZmZmZjhlZmU3MGM2Pl0gPyBpcHY2 X2Rldl9tY19pbmMrMHgxOTYvMHgyNjAKICAgIFsgNjg3MC41OTM0OTFdIFs8ZmZmZmZmZmY4ZWZj OWM2YT5dID8gYWRkcmNvbmZfZGFkX3dvcmsrMHgxMGEvMHg0MzAKICAgIFsgNjg3MC42MDAzMDVd IFs8ZmZmZmZmZmY4ZjAxYWRlND5dID8gX19zd2l0Y2hfdG9fYXNtKzB4MzQvMHg3MAogICAgWyA2 ODcwLjYwNjczMl0gWzxmZmZmZmZmZjhlYTkzYTdhPl0gPyBwcm9jZXNzX29uZV93b3JrKzB4MThh LzB4NDMwCiAgICBbIDY4NzAuNjEzNDQ5XSBbPGZmZmZmZmZmOGVhOTNkNmQ+XSA/IHdvcmtlcl90 aHJlYWQrMHg0ZC8weDQ5MAogICAgWyA2ODcwLjYxOTc3OF0gWzxmZmZmZmZmZjhlYTkzZDIwPl0g PyBwcm9jZXNzX29uZV93b3JrKzB4NDMwLzB4NDMwCiAgICBbIDY4NzAuNjI2NDk1XSBbPGZmZmZm ZmZmOGVhOTlkZDk+XSA/IGt0aHJlYWQrMHhkOS8weGYwCiAgICBbIDY4NzAuNjMyMTQ1XSBbPGZm ZmZmZmZmOGYwMWFkZTQ+XSA/IF9fc3dpdGNoX3RvX2FzbSsweDM0LzB4NzAKICAgIFsgNjg3MC42 Mzg1NzNdIFs8ZmZmZmZmZmY4ZWE5OWQwMD5dID8ga3RocmVhZF9wYXJrKzB4NjAvMHg2MAogICAg WyA2ODcwLjY0NDcwN10gWzxmZmZmZmZmZjhmMDFhZTc3Pl0gPyByZXRfZnJvbV9mb3JrKzB4NTcv MHg3MAogICAgWyA2ODcwLjY1MDkzNl0gQ29kZTogMzEgYzAgMzEgZDIgNDEgYjkgMjAgMDAgMDgg MDIgYjkgMDkgMDAgMDAgMAoKYWRkcmNvbmZfZGFkX3dvcmsgaXMga2lja2VkIHRvIGJlIHNjaGVk dWxlZCB3aGVuIGEgZGV2aWNlIGlzIGJyb3VnaHQKdXAuIFRoZXJlIGlzIGEgcmFjZSBiZXR3ZWVu IGFkZHJjb25kX2RhZF93b3JrIGdldHRpbmcgc2NoZWR1bGVkIGFuZAp0YWtpbmcgdGhlIHJ0bmwg bG9jayBhbmQgYSBwcm9jZXNzIHRha2luZyB0aGUgbGluayBkb3duICh1bmRlciBydG5sKS4KVGhl IGxhdHRlciByZW1vdmVzIHRoZSBob3N0IHJvdXRlIGZyb20gdGhlIGluZXQ2X2FkZHIgYXMgcGFy dCBvZgphZGRyY29uZl9pZmRvd24gd2hpY2ggaXMgcnVuIGZvciBORVRERVZfRE9XTi4gVGhlIGZv cm1lciBhdHRlbXB0cwp0byB1c2UgdGhlIGhvc3Qgcm91dGUgaW4gX19pcHY2X2lmYV9ub3RpZnku IElmIHRoZSBkb3duIGV2ZW50IHJlbW92ZXMKdGhlIGhvc3Qgcm91dGUgZHVlIHRvIHRoZSByYWNl IHRvIHRoZSBydG5sLCB0aGVuIHRoZSBCVUcgbGlzdGVkIGFib3ZlCm9jY3Vycy4KClNpbmNlIHRo ZSBEQUQgc2VxdWVuY2UgY2FuIG5vdCBiZSBhYm9ydGVkLCBhZGQgYSBjaGVjayBmb3IgdGhlIG1p c3NpbmcKaG9zdCByb3V0ZSBpbiBfX2lwdjZfaWZhX25vdGlmeS4gVGhlIG9ubHkgd2F5IHRoaXMg c2hvdWxkIGhhcHBlbiBpcyBkdWUKdG8gdGhlIHByZXZpb3VzbHkgbWVudGlvbmVkIHJhY2UuIFRo ZSBob3N0IHJvdXRlIGlzIGNyZWF0ZWQgd2hlbiB0aGUKYWRkcmVzcyBpcyBhZGRlZCB0byBhbiBp bnRlcmZhY2U7IGl0IGlzIG9ubHkgcmVtb3ZlZCBvbiBhIGRvd24gZXZlbnQKd2hlcmUgdGhlIGFk ZHJlc3MgaXMga2VwdC4gQWRkIGEgd2FybmluZyBpZiB0aGUgaG9zdCByb3V0ZSBpcyBtaXNzaW5n CkFORCB0aGUgZGV2aWNlIGlzIHVwOyB0aGlzIGlzIGEgc2l0dWF0aW9uIHRoYXQgc2hvdWxkIG5l dmVyIGhhcHBlbi4KCkZpeGVzOiBmMTcwNWVjMTk3ZTcgKCJuZXQ6IGlwdjY6IE1ha2UgYWRkcmVz cyBmbHVzaGluZyBvbiBpZmRvd24gb3B0aW9uYWwiKQpSZXBvcnRlZC1ieTogUmFqZW5kcmEgRGVu ZHVrdXJpIDxyYWplbmRyYS5kZW5kdWt1cmlAYnJvYWRjb20uY29tPgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBBaGVybiA8ZHNhaGVybkBnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBFcmljIER1bWF6ZXQg PGVkdW1hemV0QGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2 ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2Ni9hZGRyY29uZi5jIHwgMTcgKysrKysrKysr KysrLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL25ldC9pcHY2L2FkZHJjb25mLmMgYi9uZXQvaXB2Ni9hZGRyY29uZi5j CmluZGV4IDI0NTRmY2U2ZmJmYS4uYzk0YmM0NjFlMjY4IDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9h ZGRyY29uZi5jCisrKyBiL25ldC9pcHY2L2FkZHJjb25mLmMKQEAgLTU5NjIsMTMgKzU5NjIsMjAg QEAgc3RhdGljIHZvaWQgX19pcHY2X2lmYV9ub3RpZnkoaW50IGV2ZW50LCBzdHJ1Y3QgaW5ldDZf aWZhZGRyICppZnApCiAJc3dpdGNoIChldmVudCkgewogCWNhc2UgUlRNX05FV0FERFI6CiAJCS8q Ci0JCSAqIElmIHRoZSBhZGRyZXNzIHdhcyBvcHRpbWlzdGljCi0JCSAqIHdlIGluc2VydGVkIHRo ZSByb3V0ZSBhdCB0aGUgc3RhcnQgb2YKLQkJICogb3VyIERBRCBwcm9jZXNzLCBzbyB3ZSBkb24n dCBuZWVkCi0JCSAqIHRvIGRvIGl0IGFnYWluCisJCSAqIElmIHRoZSBhZGRyZXNzIHdhcyBvcHRp bWlzdGljIHdlIGluc2VydGVkIHRoZSByb3V0ZSBhdCB0aGUKKwkJICogc3RhcnQgb2Ygb3VyIERB RCBwcm9jZXNzLCBzbyB3ZSBkb24ndCBuZWVkIHRvIGRvIGl0IGFnYWluLgorCQkgKiBJZiB0aGUg ZGV2aWNlIHdhcyB0YWtlbiBkb3duIGluIHRoZSBtaWRkbGUgb2YgdGhlIERBRAorCQkgKiBjeWNs ZSB0aGVyZSBpcyBhIHJhY2Ugd2hlcmUgd2UgY291bGQgZ2V0IGhlcmUgd2l0aG91dCBhCisJCSAq IGhvc3Qgcm91dGUsIHNvIG5vdGhpbmcgdG8gaW5zZXJ0LiBUaGF0IHdpbGwgYmUgZml4ZWQgd2hl bgorCQkgKiB0aGUgZGV2aWNlIGlzIGJyb3VnaHQgdXAuCiAJCSAqLwotCQlpZiAoIXJjdV9hY2Nl c3NfcG9pbnRlcihpZnAtPnJ0LT5maWI2X25vZGUpKQorCQlpZiAoaWZwLT5ydCAmJiAhcmN1X2Fj Y2Vzc19wb2ludGVyKGlmcC0+cnQtPmZpYjZfbm9kZSkpIHsKIAkJCWlwNl9pbnNfcnQobmV0LCBp ZnAtPnJ0KTsKKwkJfSBlbHNlIGlmICghaWZwLT5ydCAmJiAoaWZwLT5pZGV2LT5kZXYtPmZsYWdz ICYgSUZGX1VQKSkgeworCQkJcHJfd2FybigiQlVHOiBBZGRyZXNzICVwSTZjIG9uIGRldmljZSAl cyBpcyBtaXNzaW5nIGl0cyBob3N0IHJvdXRlLlxuIiwKKwkJCQkmaWZwLT5hZGRyLCBpZnAtPmlk ZXYtPmRldi0+bmFtZSk7CisJCX0KKwogCQlpZiAoaWZwLT5pZGV2LT5jbmYuZm9yd2FyZGluZykK IAkJCWFkZHJjb25mX2pvaW5fYW55Y2FzdChpZnApOwogCQlpZiAoIWlwdjZfYWRkcl9hbnkoJmlm cC0+cGVlcl9hZGRyKSkKLS0gCjIuMjAuMQoKCkZyb20gMmZiM2JiZDA4NzAzMzQyNTI1MzlhZDU5 ZDY2M2Q2MTViMjkyODRmZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogUGFvbG8gQWJl bmkgPHBhYmVuaUByZWRoYXQuY29tPgpEYXRlOiBGcmksIDQgT2N0IDIwMTkgMTU6MTE6MTcgKzAy MDAKU3ViamVjdDogW1BBVENIIDA2LzI1XSBuZXQ6IGlwdjQ6IGF2b2lkIG1peGVkIG5fcmVkaXJl Y3RzIGFuZCByYXRlX3Rva2VucwogdXNhZ2UKClsgVXBzdHJlYW0gY29tbWl0IGI0MDY0NzJiNWFk NzllZGU4ZDEwMDc3ZjBjOGYwNTUwNWFjZThiNmQgXQoKU2luY2UgY29tbWl0IGMwOTU1MWM2ZmY3 ZiAoIm5ldDogaXB2NDogdXNlIGEgZGVkaWNhdGVkIGNvdW50ZXIKZm9yIGljbXBfdjQgcmVkaXJl Y3QgcGFja2V0cyIpIHdlIHVzZSAnbl9yZWRpcmVjdHMnIHRvIGFjY291bnQKZm9yIHJlZGlyZWN0 IHBhY2tldHMsIGJ1dCB3ZSBzdGlsbCB1c2UgJ3JhdGVfdG9rZW5zJyB0byBjb21wdXRlCnRoZSBy ZWRpcmVjdCBwYWNrZXRzIGV4cG9uZW50aWFsIGJhY2tvZmYuCgpJZiB0aGUgZGV2aWNlIHNlbnQg dG8gdGhlIHJlbGV2YW50IHBlZXIgYW55IElDTVAgZXJyb3IgcGFja2V0CmFmdGVyIHNlbmRpbmcg YSByZWRpcmVjdCwgaXQgd2lsbCBhbHNvIHVwZGF0ZSAncmF0ZV90b2tlbicgYWNjb3JkaW5nCnRv IHRoZSBsZWFraW5nIGJ1Y2tldCBzY2hlbWE7IHR5cGljYWxseSAncmF0ZV90b2tlbicgd2lsbCBy YWlzZQphYm92ZSBCSVRTX1BFUl9MT05HIGFuZCB0aGUgcmVkaXJlY3QgcGFja2V0cyBiYWNrb2Zm IGFsZ29yaXRobQp3aWxsIHByb2R1Y2UgdW5kZWZpbmVkIGJlaGF2aW9yLgoKRml4IHRoZSBpc3N1 ZSB1c2luZyAnbl9yZWRpcmVjdHMnIHRvIGNvbXB1dGUgdGhlIGV4cG9uZW50aWFsIGJhY2tvZmYK aW4gaXBfcnRfc2VuZF9yZWRpcmVjdCgpLgoKTm90ZSB0aGF0IHdlIHN0aWxsIGNsZWFyIHJhdGVf dG9rZW5zIGFmdGVyIGEgcmVkaXJlY3Qgc2lsZW5jZSBwZXJpb2QsCnRvIGF2b2lkIGNoYW5naW5n IGFuIGVzdGFibGlzaGVkIGJlaGF2aW91ci4KClRoZSByb290IGNhdXNlIHByZWRhdGVzIGdpdCBo aXN0b3J5OyBiZWZvcmUgdGhlIG1lbnRpb25lZCBjb21taXQgaW4KdGhlIGNyaXRpY2FsIHNjZW5h cmlvLCB0aGUga2VybmVsIHN0b3BwZWQgc2VuZGluZyByZWRpcmVjdHMsIGFmdGVyCnRoZSBtZW50 aW9uZWQgY29tbWl0IHRoZSBiZWhhdmlvciBtb3JlIHJhbmRvbWljLgoKUmVwb3J0ZWQtYnk6IFhp dW1laSBNdSA8eG11QHJlZGhhdC5jb20+CkZpeGVzOiAxZGExNzdlNGMzZjQgKCJMaW51eC0yLjYu MTItcmMyIikKRml4ZXM6IGMwOTU1MWM2ZmY3ZiAoIm5ldDogaXB2NDogdXNlIGEgZGVkaWNhdGVk IGNvdW50ZXIgZm9yIGljbXBfdjQgcmVkaXJlY3QgcGFja2V0cyIpClNpZ25lZC1vZmYtYnk6IFBh b2xvIEFiZW5pIDxwYWJlbmlAcmVkaGF0LmNvbT4KQWNrZWQtYnk6IExvcmVuem8gQmlhbmNvbmkg PGxvcmVuem8uYmlhbmNvbmlAcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWls bGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY0L3JvdXRlLmMgfCA1ICsrLS0t CiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL25ldC9pcHY0L3JvdXRlLmMgYi9uZXQvaXB2NC9yb3V0ZS5jCmluZGV4IGY2YjdiMTE4 MzVlZS4uMTQ4ZGZjYjVjYmQ5IDEwMDY0NAotLS0gYS9uZXQvaXB2NC9yb3V0ZS5jCisrKyBiL25l dC9pcHY0L3JvdXRlLmMKQEAgLTkxNSwxNiArOTE1LDE1IEBAIHZvaWQgaXBfcnRfc2VuZF9yZWRp cmVjdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQogCWlmIChwZWVyLT5yYXRlX3Rva2VucyA9PSAwIHx8 CiAJICAgIHRpbWVfYWZ0ZXIoamlmZmllcywKIAkJICAgICAgIChwZWVyLT5yYXRlX2xhc3QgKwot CQkJKGlwX3J0X3JlZGlyZWN0X2xvYWQgPDwgcGVlci0+cmF0ZV90b2tlbnMpKSkpIHsKKwkJCShp cF9ydF9yZWRpcmVjdF9sb2FkIDw8IHBlZXItPm5fcmVkaXJlY3RzKSkpKSB7CiAJCV9fYmUzMiBn dyA9IHJ0X25leHRob3AocnQsIGlwX2hkcihza2IpLT5kYWRkcik7CiAKIAkJaWNtcF9zZW5kKHNr YiwgSUNNUF9SRURJUkVDVCwgSUNNUF9SRURJUl9IT1NULCBndyk7CiAJCXBlZXItPnJhdGVfbGFz dCA9IGppZmZpZXM7Ci0JCSsrcGVlci0+cmF0ZV90b2tlbnM7CiAJCSsrcGVlci0+bl9yZWRpcmVj dHM7CiAjaWZkZWYgQ09ORklHX0lQX1JPVVRFX1ZFUkJPU0UKIAkJaWYgKGxvZ19tYXJ0aWFucyAm JgotCQkgICAgcGVlci0+cmF0ZV90b2tlbnMgPT0gaXBfcnRfcmVkaXJlY3RfbnVtYmVyKQorCQkg ICAgcGVlci0+bl9yZWRpcmVjdHMgPT0gaXBfcnRfcmVkaXJlY3RfbnVtYmVyKQogCQkJbmV0X3dh cm5fcmF0ZWxpbWl0ZWQoImhvc3QgJXBJNC9pZiVkIGlnbm9yZXMgcmVkaXJlY3RzIGZvciAlcEk0 IHRvICVwSTRcbiIsCiAJCQkJCSAgICAgJmlwX2hkcihza2IpLT5zYWRkciwgaW5ldF9paWYoc2ti KSwKIAkJCQkJICAgICAmaXBfaGRyKHNrYiktPmRhZGRyLCAmZ3cpOwotLSAKMi4yMC4xCgoKRnJv bSA0MGNhOGM3ODg5NGZiMDQzNDNiZmZjZTg5MjBiMzdlNWM1YmYzYjZkIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBOYXZpZCBFbWFtZG9vc3QgPG5hdmlkLmVtYW1kb29zdEBnbWFpbC5j b20+CkRhdGU6IEZyaSwgNCBPY3QgMjAxOSAxNToyNDozOSAtMDUwMApTdWJqZWN0OiBbUEFUQ0gg MDcvMjVdIG5ldDogcWxvZ2ljOiBGaXggbWVtb3J5IGxlYWsgaW4gcWxfYWxsb2NfbGFyZ2VfYnVm ZmVycwoKWyBVcHN0cmVhbSBjb21taXQgMWFjYjhmMmE3YTlmMTA1NDM4NjhkZGQ3MzdlMzc0MjRk NWMzNmNmNCBdCgpJbiBxbF9hbGxvY19sYXJnZV9idWZmZXJzLCBhIG5ldyBza2IgaXMgYWxsb2Nh dGVkIHZpYSBuZXRkZXZfYWxsb2Nfc2tiLgpUaGlzIHNrYiBzaG91bGQgYmUgcmVsZWFzZWQgaWYg cGNpX2RtYV9tYXBwaW5nX2Vycm9yIGZhaWxzLgoKRml4ZXM6IDBmOGFiODllODI1ZiAoInFsYTN4 eHg6IENoZWNrIHJldHVybiBjb2RlIGZyb20gcGNpX21hcF9zaW5nbGUoKSBpbiBxbF9yZWxlYXNl X3RvX2xyZ19idWZfZnJlZV9saXN0KCksIHFsX3BvcHVsYXRlX2ZyZWVfcXVldWUoKSwgcWxfYWxs b2NfbGFyZ2VfYnVmZmVycygpLCBhbmQgcWwzeHh4X3NlbmQoKSIpClNpZ25lZC1vZmYtYnk6IE5h dmlkIEVtYW1kb29zdCA8bmF2aWQuZW1hbWRvb3N0QGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTog RGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0 aGVybmV0L3Fsb2dpYy9xbGEzeHh4LmMgfCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlv bigrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3Fsb2dpYy9xbGEzeHh4LmMg Yi9kcml2ZXJzL25ldC9ldGhlcm5ldC9xbG9naWMvcWxhM3h4eC5jCmluZGV4IDQ1NzQ0NDg5NGQ4 MC4uYjRiOGJhMDBlZTAxIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9xbG9naWMv cWxhM3h4eC5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3Fsb2dpYy9xbGEzeHh4LmMKQEAg LTI3ODcsNiArMjc4Nyw3IEBAIHN0YXRpYyBpbnQgcWxfYWxsb2NfbGFyZ2VfYnVmZmVycyhzdHJ1 Y3QgcWwzX2FkYXB0ZXIgKnFkZXYpCiAJCQkJbmV0ZGV2X2VycihxZGV2LT5uZGV2LAogCQkJCQkg ICAiUENJIG1hcHBpbmcgZmFpbGVkIHdpdGggZXJyb3I6ICVkXG4iLAogCQkJCQkgICBlcnIpOwor CQkJCWRldl9rZnJlZV9za2JfaXJxKHNrYik7CiAJCQkJcWxfZnJlZV9sYXJnZV9idWZmZXJzKHFk ZXYpOwogCQkJCXJldHVybiAtRU5PTUVNOwogCQkJfQotLSAKMi4yMC4xCgoKRnJvbSBmZTI2MGJm OTU4YjJlNDViMjc1NTQ3NzA0MTkxMGJjMmM2NjRlZmRlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBWbGFkaW1pciBPbHRlYW4gPG9sdGVhbnZAZ21haWwuY29tPgpEYXRlOiBTdW4sIDI5 IFNlcCAyMDE5IDAyOjAxOjM5ICswMzAwClN1YmplY3Q6IFtQQVRDSCAwOC8yNV0gbmV0OiBzY2hl ZDogdGFwcmlvOiBGaXggcG90ZW50aWFsIGludGVnZXIgb3ZlcmZsb3cgaW4KIHRhcHJpb19zZXRf cGljb3NfcGVyX2J5dGUKClsgVXBzdHJlYW0gY29tbWl0IDY4Y2U2Njg4YTViYWVmZGUzMDkxNGZj MDdmYzI3MjkyZGJiZTgzMjAgXQoKVGhlIHNwZWVkIGRpdmlzb3IgaXMgdXNlZCBpbiBhIGNvbnRl eHQgZXhwZWN0aW5nIGFuIHM2NCwgYnV0IGl0IGlzCmV2YWx1YXRlZCB1c2luZyAzMi1iaXQgYXJp dGhtZXRpYy4KClRvIGF2b2lkIHRoYXQgaGFwcGVuaW5nLCBpbnN0ZWFkIG9mIG11bHRpcGx5aW5n IGJ5IDEsMDAwLDAwMCBpbiB0aGUKZmlyc3QgcGxhY2UsIHNpbXBsaWZ5IHRoZSBmcmFjdGlvbiBh bmQgZG8gYSBzdGFuZGFyZCAzMiBiaXQgZGl2aXNpb24KaW5zdGVhZC4KCkZpeGVzOiBmMDRiNTE0 YzBjZTIgKCJ0YXByaW86IFNldCBkZWZhdWx0IGxpbmsgc3BlZWQgdG8gMTAgTWJwcyBpbiB0YXBy aW9fc2V0X3BpY29zX3Blcl9ieXRlIikKUmVwb3J0ZWQtYnk6IEd1c3Rhdm8gQS4gUi4gU2lsdmEg PGd1c3Rhdm9AZW1iZWRkZWRvci5jb20+ClN1Z2dlc3RlZC1ieTogRXJpYyBEdW1hemV0IDxlcmlj LmR1bWF6ZXRAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBWbGFkaW1pciBPbHRlYW4gPG9sdGVh bnZAZ21haWwuY29tPgpBY2tlZC1ieTogVmluaWNpdXMgQ29zdGEgR29tZXMgPHZpbmljaXVzLmdv bWVzQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZl bWxvZnQubmV0PgotLS0KIG5ldC9zY2hlZC9zY2hfdGFwcmlvLmMgfCAzICstLQogMSBmaWxlIGNo YW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9z Y2hlZC9zY2hfdGFwcmlvLmMgYi9uZXQvc2NoZWQvc2NoX3RhcHJpby5jCmluZGV4IDExYzI4NzNl YzY4Yi4uZjNmOTU5ZjU0NThiIDEwMDY0NAotLS0gYS9uZXQvc2NoZWQvc2NoX3RhcHJpby5jCisr KyBiL25ldC9zY2hlZC9zY2hfdGFwcmlvLmMKQEAgLTY3Miw4ICs2NzIsNyBAQCBzdGF0aWMgdm9p ZCB0YXByaW9fc2V0X3BpY29zX3Blcl9ieXRlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAJCXNw ZWVkID0gZWNtZC5iYXNlLnNwZWVkOwogCiBza2lwOgotCXBpY29zX3Blcl9ieXRlID0gZGl2NjRf czY0KE5TRUNfUEVSX1NFQyAqIDEwMDBMTCAqIDgsCi0JCQkJICAgc3BlZWQgKiAxMDAwICogMTAw MCk7CisJcGljb3NfcGVyX2J5dGUgPSAoVVNFQ19QRVJfU0VDICogOCkgLyBzcGVlZDsKIAogCWF0 b21pYzY0X3NldCgmcS0+cGljb3NfcGVyX2J5dGUsIHBpY29zX3Blcl9ieXRlKTsKIAluZXRkZXZf ZGJnKGRldiwgInRhcHJpbzogc2V0ICVzJ3MgcGljb3NfcGVyX2J5dGUgdG86ICVsbGQsIGxpbmtz cGVlZDogJWRcbiIsCi0tIAoyLjIwLjEKCgpGcm9tIGUzYmI0YWM4M2YyODZlZjkwZmRhZmJjZDc5 ZThjZGYwZmU1Y2EyN2QgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1hcnRpbiBLYUZh aSBMYXUgPGthZmFpQGZiLmNvbT4KRGF0ZTogRnJpLCAyNyBTZXAgMjAxOSAxNjowMDozMSAtMDcw MApTdWJqZWN0OiBbUEFUQ0ggMDkvMjVdIG5ldDogVW5wdWJsaXNoIHNrIGZyb20gc2tfcmV1c2Vw b3J0X2NiIGJlZm9yZSBjYWxsX3JjdQoKWyBVcHN0cmVhbSBjb21taXQgOGM3MTM4YjMzZTVjNjkw YzMwOGIyYTcwODVmNjMxM2ZkY2IzZjYxNiBdCgpUaGUgInJldXNlLT5zb2NrW10iIGFycmF5IGlz IHNoYXJlZCBieSBtdWx0aXBsZSBzb2NrZXRzLiAgVGhlIGdvaW5nIGF3YXkKc2sgbXVzdCB1bnB1 Ymxpc2ggaXRzZWxmIGZyb20gInJldXNlLT5zb2NrW10iIGJlZm9yZSBtYWtpbmcgY2FsbF9yY3Uo KQpjYWxsLiAgSG93ZXZlciwgdGhpcyB1bnB1Ymxpc2gtYWN0aW9uIGlzIGN1cnJlbnRseSBkb25l IGFmdGVyIGEgZ3JhY2UKcGVyaW9kIGFuZCBpdCBtYXkgY2F1c2UgdXNlLWFmdGVyLWZyZWUuCgpU aGUgZml4IGlzIHRvIG1vdmUgcmV1c2Vwb3J0X2RldGFjaF9zb2NrKCkgdG8gc2tfZGVzdHJ1Y3Qo KS4KRHVlIHRvIHRoZSBhYm92ZSByZWFzb24sIGFueSBzb2NrZXQgd2l0aCBza19yZXVzZXBvcnRf Y2IgaGFzCnRvIGdvIHRocm91Z2ggdGhlIHJjdSBncmFjZSBwZXJpb2QgYmVmb3JlIGZyZWVpbmcg aXQuCgpJdCBpcyBhIHJhdGhlciBvbGQgYnVnICh+MyB5cnMpLiAgVGhlIEZpeGVzIHRhZyBpcyBu b3QgbmVjZXNzYXJ5CnRoZSByaWdodCBjb21taXQgYnV0IGl0IGlzIHRoZSBvbmUgdGhhdCBpbnRy b2R1Y2VkIHRoZSBTT0NLX1JDVV9GUkVFCmxvZ2ljIGFuZCB0aGlzIGZpeCBpcyBkZXBlbmRpbmcg b24gaXQuCgpGaXhlczogYTQyOThlNDUyMmQ2ICgibmV0OiBhZGQgU09DS19SQ1VfRlJFRSBzb2Nr ZXQgZmxhZyIpCkNjOiBFcmljIER1bWF6ZXQgPGVyaWMuZHVtYXpldEBnbWFpbC5jb20+ClN1Z2dl c3RlZC1ieTogRXJpYyBEdW1hemV0IDxlcmljLmR1bWF6ZXRAZ21haWwuY29tPgpTaWduZWQtb2Zm LWJ5OiBNYXJ0aW4gS2FGYWkgTGF1IDxrYWZhaUBmYi5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlk IFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvY29yZS9zb2NrLmMgfCAx MSArKysrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvY29yZS9zb2NrLmMgYi9uZXQvY29yZS9zb2NrLmMKaW5k ZXggZGY3YjM4YjYwMTY0Li4zZDU0MTUzYjgzMjUgMTAwNjQ0Ci0tLSBhL25ldC9jb3JlL3NvY2su YworKysgYi9uZXQvY29yZS9zb2NrLmMKQEAgLTE2OTYsOCArMTY5Niw2IEBAIHN0YXRpYyB2b2lk IF9fc2tfZGVzdHJ1Y3Qoc3RydWN0IHJjdV9oZWFkICpoZWFkKQogCQlza19maWx0ZXJfdW5jaGFy Z2Uoc2ssIGZpbHRlcik7CiAJCVJDVV9JTklUX1BPSU5URVIoc2stPnNrX2ZpbHRlciwgTlVMTCk7 CiAJfQotCWlmIChyY3VfYWNjZXNzX3BvaW50ZXIoc2stPnNrX3JldXNlcG9ydF9jYikpCi0JCXJl dXNlcG9ydF9kZXRhY2hfc29jayhzayk7CiAKIAlzb2NrX2Rpc2FibGVfdGltZXN0YW1wKHNrLCBT S19GTEFHU19USU1FU1RBTVApOwogCkBAIC0xNzI0LDcgKzE3MjIsMTQgQEAgc3RhdGljIHZvaWQg X19za19kZXN0cnVjdChzdHJ1Y3QgcmN1X2hlYWQgKmhlYWQpCiAKIHZvaWQgc2tfZGVzdHJ1Y3Qo c3RydWN0IHNvY2sgKnNrKQogewotCWlmIChzb2NrX2ZsYWcoc2ssIFNPQ0tfUkNVX0ZSRUUpKQor CWJvb2wgdXNlX2NhbGxfcmN1ID0gc29ja19mbGFnKHNrLCBTT0NLX1JDVV9GUkVFKTsKKworCWlm IChyY3VfYWNjZXNzX3BvaW50ZXIoc2stPnNrX3JldXNlcG9ydF9jYikpIHsKKwkJcmV1c2Vwb3J0 X2RldGFjaF9zb2NrKHNrKTsKKwkJdXNlX2NhbGxfcmN1ID0gdHJ1ZTsKKwl9CisKKwlpZiAodXNl X2NhbGxfcmN1KQogCQljYWxsX3JjdSgmc2stPnNrX3JjdSwgX19za19kZXN0cnVjdCk7CiAJZWxz ZQogCQlfX3NrX2Rlc3RydWN0KCZzay0+c2tfcmN1KTsKLS0gCjIuMjAuMQoKCkZyb20gY2VlMTMz YjNkMWM2YjM1M2M1NjAzZTFiMWQ5NTNlMGIwZWZiYmI3YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpEYXRlOiBGcmksIDQg T2N0IDIwMTkgMTE6MDg6MzQgLTA3MDAKU3ViamVjdDogW1BBVENIIDEwLzI1XSBuZmM6IGZpeCBt ZW1vcnkgbGVhayBpbiBsbGNwX3NvY2tfYmluZCgpCgpbIFVwc3RyZWFtIGNvbW1pdCBhMGMyZGMx ZmU2M2UyODY5Yjc0YzFjN2Y2YTgxZDE3NDVjOGE2OTVkIF0KCnN5c2JvdCByZXBvcnRlZCBhIG1l bW9yeSBsZWFrIGFmdGVyIGEgYmluZCgpIGhhcyBmYWlsZWQuCgpXaGlsZSB3ZSBhcmUgYXQgaXQs IGFib3J0IHRoZSBvcGVyYXRpb24gaWYga21lbWR1cCgpIGhhcyBmYWlsZWQuCgpCVUc6IG1lbW9y eSBsZWFrCnVucmVmZXJlbmNlZCBvYmplY3QgMHhmZmZmODg4MTA1ZDgzZWMwIChzaXplIDMyKToK ICBjb21tICJzeXotZXhlY3V0b3IwNjciLCBwaWQgNzIwNywgamlmZmllcyA0Mjk0OTU2MjI4IChh Z2UgMTkuNDMwcykKICBoZXggZHVtcCAoZmlyc3QgMzIgYnl0ZXMpOgogICAgMDAgNjkgNmMgNjUg MjAgNzIgNjUgNjEgNjQgMDAgNmUgNjUgNzQgM2EgNWIgMzQgIC5pbGUgcmVhZC5uZXQ6WzQKICAg IDMwIDMyIDM2IDM1IDMzIDMzIDMwIDM5IDM3IDVkIDAwIDAwIDAwIDAwIDAwIDAwICAwMjY1MzMw OTddLi4uLi4uCiAgYmFja3RyYWNlOgogICAgWzwwMDAwMDAwMDM2YmFjNDczPl0ga21lbWxlYWtf YWxsb2NfcmVjdXJzaXZlIC8uL2luY2x1ZGUvbGludXgva21lbWxlYWsuaDo0MyBbaW5saW5lXQog ICAgWzwwMDAwMDAwMDM2YmFjNDczPl0gc2xhYl9wb3N0X2FsbG9jX2hvb2sgL21tL3NsYWIuaDo1 MjIgW2lubGluZV0KICAgIFs8MDAwMDAwMDAzNmJhYzQ3Mz5dIHNsYWJfYWxsb2MgL21tL3NsYWIu YzozMzE5IFtpbmxpbmVdCiAgICBbPDAwMDAwMDAwMzZiYWM0NzM+XSBfX2RvX2ttYWxsb2MgL21t L3NsYWIuYzozNjUzIFtpbmxpbmVdCiAgICBbPDAwMDAwMDAwMzZiYWM0NzM+XSBfX2ttYWxsb2Nf dHJhY2tfY2FsbGVyKzB4MTY5LzB4MmQwIC9tbS9zbGFiLmM6MzY3MAogICAgWzwwMDAwMDAwMDBj ZDM5ZDA3Pl0ga21lbWR1cCsweDI3LzB4NjAgL21tL3V0aWwuYzoxMjAKICAgIFs8MDAwMDAwMDA4 ZTU3ZTVmYz5dIGttZW1kdXAgLy4vaW5jbHVkZS9saW51eC9zdHJpbmcuaDo0MzIgW2lubGluZV0K ICAgIFs8MDAwMDAwMDA4ZTU3ZTVmYz5dIGxsY3Bfc29ja19iaW5kKzB4MWIzLzB4MjMwIC9uZXQv bmZjL2xsY3Bfc29jay5jOjEwNwogICAgWzwwMDAwMDAwMDljYjBiNWQzPl0gX19zeXNfYmluZCsw eDExYy8weDE0MCAvbmV0L3NvY2tldC5jOjE2NDcKICAgIFs8MDAwMDAwMDA0OTJjM2JiYz5dIF9f ZG9fc3lzX2JpbmQgL25ldC9zb2NrZXQuYzoxNjU4IFtpbmxpbmVdCiAgICBbPDAwMDAwMDAwNDky YzNiYmM+XSBfX3NlX3N5c19iaW5kIC9uZXQvc29ja2V0LmM6MTY1NiBbaW5saW5lXQogICAgWzww MDAwMDAwMDQ5MmMzYmJjPl0gX194NjRfc3lzX2JpbmQrMHgxZS8weDMwIC9uZXQvc29ja2V0LmM6 MTY1NgogICAgWzwwMDAwMDAwMDA4NzA0YjJhPl0gZG9fc3lzY2FsbF82NCsweDc2LzB4MWEwIC9h cmNoL3g4Ni9lbnRyeS9jb21tb24uYzoyOTYKICAgIFs8MDAwMDAwMDA5ZjRjNTdhND5dIGVudHJ5 X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ0LzB4YTkKCkZpeGVzOiAzMGNjNDU4NzY1OWUg KCJORkM6IE1vdmUgTExDUCBjb2RlIHRvIHRoZSBORkMgdG9wIGxldmVsIGRpaXJlY3RvcnkiKQpT aWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+ClJlcG9ydGVk LWJ5OiBzeXpib3QgPHN5emthbGxlckBnb29nbGVncm91cHMuY29tPgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L25mYy9sbGNwX3Nv Y2suYyB8IDcgKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMSBkZWxl dGlvbigtKQoKZGlmZiAtLWdpdCBhL25ldC9uZmMvbGxjcF9zb2NrLmMgYi9uZXQvbmZjL2xsY3Bf c29jay5jCmluZGV4IDhkZmVhMjY1MzZjOS4uY2NkZDc5MGUxNjNhIDEwMDY0NAotLS0gYS9uZXQv bmZjL2xsY3Bfc29jay5jCisrKyBiL25ldC9uZmMvbGxjcF9zb2NrLmMKQEAgLTEwNyw5ICsxMDcs MTQgQEAgc3RhdGljIGludCBsbGNwX3NvY2tfYmluZChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1 Y3Qgc29ja2FkZHIgKmFkZHIsIGludCBhbGVuKQogCWxsY3Bfc29jay0+c2VydmljZV9uYW1lID0g a21lbWR1cChsbGNwX2FkZHIuc2VydmljZV9uYW1lLAogCQkJCQkgIGxsY3Bfc29jay0+c2Vydmlj ZV9uYW1lX2xlbiwKIAkJCQkJICBHRlBfS0VSTkVMKTsKLQorCWlmICghbGxjcF9zb2NrLT5zZXJ2 aWNlX25hbWUpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBwdXRfZGV2OworCX0KIAlsbGNw X3NvY2stPnNzYXAgPSBuZmNfbGxjcF9nZXRfc2RwX3NzYXAobG9jYWwsIGxsY3Bfc29jayk7CiAJ aWYgKGxsY3Bfc29jay0+c3NhcCA9PSBMTENQX1NBUF9NQVgpIHsKKwkJa2ZyZWUobGxjcF9zb2Nr LT5zZXJ2aWNlX25hbWUpOworCQlsbGNwX3NvY2stPnNlcnZpY2VfbmFtZSA9IE5VTEw7CiAJCXJl dCA9IC1FQUREUklOVVNFOwogCQlnb3RvIHB1dF9kZXY7CiAJfQotLSAKMi4yMC4xCgoKRnJvbSAy ZDc0NDAwZWYyMmM5YmZmMzZiZGE4MTI5NTFmZTk3YzA4ZWQ2ZjFkIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBSZWluaGFyZCBTcGV5ZXJlciA8cnNwbW5AYXJjb3IuZGU+CkRhdGU6IFRo dSwgMyBPY3QgMjAxOSAxODozNDozOSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMTEvMjVdIHFtaV93 d2FuOiBhZGQgc3VwcG9ydCBmb3IgQ2ludGVyaW9uIENMUzggZGV2aWNlcwpNSU1FLVZlcnNpb246 IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFu c2Zlci1FbmNvZGluZzogOGJpdAoKWyBVcHN0cmVhbSBjb21taXQgY2Y3NGFjNmRiMjVkNDAwMjA4 OWU4NWNjNjIzYWQxNDllY2MyNTYxNCBdCgpBZGQgc3VwcG9ydCBmb3IgQ2ludGVyaW9uIENMUzgg ZGV2aWNlcy4KVXNlIFFNSV9RVUlSS19TRVRfRFRSIGFzIHJlcXVpcmVkIGZvciBRdWFsY29tbSBN RE05eDA3IGNoaXBzZXRzLgoKVDogIEJ1cz0wMSBMZXY9MDMgUHJudD0wNSBQb3J0PTAxIENudD0w MiBEZXYjPSAyNSBTcGQ9NDgwICBNeENoPSAwCkQ6ICBWZXI9IDIuMDAgQ2xzPTAwKD5pZmMgKSBT dWI9MDAgUHJvdD0wMCBNeFBTPTY0ICNDZmdzPSAgMQpQOiAgVmVuZG9yPTFlMmQgUHJvZElEPTAw YjAgUmV2PSAzLjE4ClM6ICBNYW51ZmFjdHVyZXI9R0VNQUxUTwpTOiAgUHJvZHVjdD1VU0IgTW9k ZW0KQzoqICNJZnM9IDUgQ2ZnIz0gMSBBdHI9ODAgTXhQd3I9NTAwbUEKSToqIElmIz0gMCBBbHQ9 IDAgI0VQcz0gMiBDbHM9ZmYodmVuZC4pIFN1Yj00MiBQcm90PTAxIERyaXZlcj0obm9uZSkKRTog IEFkPTAxKE8pIEF0cj0wMihCdWxrKSBNeFBTPSA1MTIgSXZsPTBtcwpFOiAgQWQ9ODEoSSkgQXRy PTAyKEJ1bGspIE14UFM9IDUxMiBJdmw9MG1zCkk6KiBJZiM9IDEgQWx0PSAwICNFUHM9IDMgQ2xz PWZmKHZlbmQuKSBTdWI9MDAgUHJvdD0wMCBEcml2ZXI9b3B0aW9uCkU6ICBBZD04MyhJKSBBdHI9 MDMoSW50LikgTXhQUz0gIDEwIEl2bD0zMm1zCkU6ICBBZD04MihJKSBBdHI9MDIoQnVsaykgTXhQ Uz0gNTEyIEl2bD0wbXMKRTogIEFkPTAyKE8pIEF0cj0wMihCdWxrKSBNeFBTPSA1MTIgSXZsPTBt cwpJOiogSWYjPSAyIEFsdD0gMCAjRVBzPSAzIENscz1mZih2ZW5kLikgU3ViPTAwIFByb3Q9MDAg RHJpdmVyPW9wdGlvbgpFOiAgQWQ9ODUoSSkgQXRyPTAzKEludC4pIE14UFM9ICAxMCBJdmw9MzJt cwpFOiAgQWQ9ODQoSSkgQXRyPTAyKEJ1bGspIE14UFM9IDUxMiBJdmw9MG1zCkU6ICBBZD0wMyhP KSBBdHI9MDIoQnVsaykgTXhQUz0gNTEyIEl2bD0wbXMKSToqIElmIz0gMyBBbHQ9IDAgI0VQcz0g MyBDbHM9ZmYodmVuZC4pIFN1Yj0wMCBQcm90PTAwIERyaXZlcj1vcHRpb24KRTogIEFkPTg3KEkp IEF0cj0wMyhJbnQuKSBNeFBTPSAgMTAgSXZsPTMybXMKRTogIEFkPTg2KEkpIEF0cj0wMihCdWxr KSBNeFBTPSA1MTIgSXZsPTBtcwpFOiAgQWQ9MDQoTykgQXRyPTAyKEJ1bGspIE14UFM9IDUxMiBJ dmw9MG1zCkk6KiBJZiM9IDQgQWx0PSAwICNFUHM9IDMgQ2xzPWZmKHZlbmQuKSBTdWI9ZmYgUHJv dD1mZiBEcml2ZXI9cW1pX3d3YW4KRTogIEFkPTg5KEkpIEF0cj0wMyhJbnQuKSBNeFBTPSAgIDgg SXZsPTMybXMKRTogIEFkPTg4KEkpIEF0cj0wMihCdWxrKSBNeFBTPSA1MTIgSXZsPTBtcwpFOiAg QWQ9MDUoTykgQXRyPTAyKEJ1bGspIE14UFM9IDUxMiBJdmw9MG1zCgpTaWduZWQtb2ZmLWJ5OiBS ZWluaGFyZCBTcGV5ZXJlciA8cnNwbW5AYXJjb3IuZGU+CkFja2VkLWJ5OiBCasO4cm4gTW9yayA8 Ympvcm5AbW9yay5ubz4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZl bWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L3VzYi9xbWlfd3dhbi5jIHwgMSArCiAxIGZpbGUg Y2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC91c2IvcW1p X3d3YW4uYyBiL2RyaXZlcnMvbmV0L3VzYi9xbWlfd3dhbi5jCmluZGV4IDI2YzUyMDc0NjZhZi4u NTQzOTBiNzdhZTIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC91c2IvcW1pX3d3YW4uYworKysg Yi9kcml2ZXJzL25ldC91c2IvcW1pX3d3YW4uYwpAQCAtMTM0OSw2ICsxMzQ5LDcgQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkIHByb2R1Y3RzW10gPSB7CiAJe1FNSV9GSVhFRF9J TlRGKDB4MWUyZCwgMHgwMDgyLCA0KX0sCS8qIENpbnRlcmlvbiBQSHh4LFBYeHggKDIgUm1OZXQp ICovCiAJe1FNSV9GSVhFRF9JTlRGKDB4MWUyZCwgMHgwMDgyLCA1KX0sCS8qIENpbnRlcmlvbiBQ SHh4LFBYeHggKDIgUm1OZXQpICovCiAJe1FNSV9GSVhFRF9JTlRGKDB4MWUyZCwgMHgwMDgzLCA0 KX0sCS8qIENpbnRlcmlvbiBQSHh4LFBYeHggKDEgUm1OZXQgKyBVU0IgQXVkaW8pKi8KKwl7UU1J X1FVSVJLX1NFVF9EVFIoMHgxZTJkLCAweDAwYjAsIDQpfSwJLyogQ2ludGVyaW9uIENMUzggKi8K IAl7UU1JX0ZJWEVEX0lOVEYoMHg0MTNjLCAweDgxYTIsIDgpfSwJLyogRGVsbCBXaXJlbGVzcyA1 ODA2IEdvYmkoVE0pIDRHIExURSBNb2JpbGUgQnJvYWRiYW5kIENhcmQgKi8KIAl7UU1JX0ZJWEVE X0lOVEYoMHg0MTNjLCAweDgxYTMsIDgpfSwJLyogRGVsbCBXaXJlbGVzcyA1NTcwIEhTUEErICg0 Mk1icHMpIE1vYmlsZSBCcm9hZGJhbmQgQ2FyZCAqLwogCXtRTUlfRklYRURfSU5URigweDQxM2Ms IDB4ODFhNCwgOCl9LAkvKiBEZWxsIFdpcmVsZXNzIDU1NzBlIEhTUEErICg0Mk1icHMpIE1vYmls ZSBCcm9hZGJhbmQgQ2FyZCAqLwotLSAKMi4yMC4xCgoKRnJvbSBlNGVkZjQ4YzYwZTdkOTU0NTNl OTkzOTg4YTQzYjUzMTUzZTIyYjE4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZp ZCBIb3dlbGxzIDxkaG93ZWxsc0ByZWRoYXQuY29tPgpEYXRlOiBUaHUsIDMgT2N0IDIwMTkgMTc6 NDQ6NDQgKzAxMDAKU3ViamVjdDogW1BBVENIIDEyLzI1XSByeHJwYzogRml4IHJ4cnBjX3JlY3Zt c2cgdHJhY2Vwb2ludAoKWyBVcHN0cmVhbSBjb21taXQgZGI5YjJlMGFmNjA1ZTdjOTk0Nzg0NTI3 YWJmZDkyNzZjYWJkNzE4YSBdCgpGaXggdGhlIHJ4cnBjX3JlY3Ztc2cgdHJhY2Vwb2ludCB0byBo YW5kbGUgYmVpbmcgY2FsbGVkIHdpdGggYSBOVUxMIGNhbGwKcGFyYW1ldGVyLgoKRml4ZXM6IGEy NWUyMWYwYmNkMiAoInJ4cnBjLCBhZnM6IFVzZSBkZWJ1Z19pZHMgcmF0aGVyIHRoYW4gcG9pbnRl cnMgaW4gdHJhY2VzIikKU2lnbmVkLW9mZi1ieTogRGF2aWQgSG93ZWxscyA8ZGhvd2VsbHNAcmVk aGF0LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQu bmV0PgotLS0KIGluY2x1ZGUvdHJhY2UvZXZlbnRzL3J4cnBjLmggfCAyICstCiAxIGZpbGUgY2hh bmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9pbmNsdWRl L3RyYWNlL2V2ZW50cy9yeHJwYy5oIGIvaW5jbHVkZS90cmFjZS9ldmVudHMvcnhycGMuaAppbmRl eCBmYTA2YjUyOGM3M2MuLjA5NzJjNDhkODFkNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS90cmFjZS9l dmVudHMvcnhycGMuaAorKysgYi9pbmNsdWRlL3RyYWNlL2V2ZW50cy9yeHJwYy5oCkBAIC0xMDcx LDcgKzEwNzEsNyBAQCBUUkFDRV9FVkVOVChyeHJwY19yZWN2bXNnLAogCQkJICAgICApLAogCiAJ ICAgIFRQX2Zhc3RfYXNzaWduKAotCQkgICAgX19lbnRyeS0+Y2FsbCA9IGNhbGwtPmRlYnVnX2lk OworCQkgICAgX19lbnRyeS0+Y2FsbCA9IGNhbGwgPyBjYWxsLT5kZWJ1Z19pZCA6IDA7CiAJCSAg ICBfX2VudHJ5LT53aHkgPSB3aHk7CiAJCSAgICBfX2VudHJ5LT5zZXEgPSBzZXE7CiAJCSAgICBf X2VudHJ5LT5vZmZzZXQgPSBvZmZzZXQ7Ci0tIAoyLjIwLjEKCgpGcm9tIDE3NmIyYTJhNDFlMzk5 MTMyOThlMWRkYThiNjk2NGJmMzAyMTljNDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTogVGh1LCAyNiBTZXAgMjAx OSAxODoyNDo0MyAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTMvMjVdIHNjaF9jYnE6IHZhbGlkYXRl IFRDQV9DQlFfV1JST1BUIHRvIGF2b2lkIGNyYXNoCgpbIFVwc3RyZWFtIGNvbW1pdCBlOTc4OWM3 Y2MxODI0ODRmYzAzMWZkODgwOTdlYjE0Y2IyNmM0NTk2IF0KCnN5emJvdCByZXBvcnRlZCBhIGNy YXNoIGluIGNicV9ub3JtYWxpemVfcXVhbnRhKCkgY2F1c2VkCmJ5IGFuIG91dCBvZiByYW5nZSBj bC0+cHJpb3JpdHkuCgppcHJvdXRlMiBlbmZvcmNlcyB0aGlzIGNoZWNrLCBidXQgbWFsaWNpb3Vz IHVzZXJzIGRvIG5vdC4KCmthc2FuOiBDT05GSUdfS0FTQU5fSU5MSU5FIGVuYWJsZWQKa2FzYW46 IEdQRiBjb3VsZCBiZSBjYXVzZWQgYnkgTlVMTC1wdHIgZGVyZWYgb3IgdXNlciBtZW1vcnkgYWNj ZXNzCmdlbmVyYWwgcHJvdGVjdGlvbiBmYXVsdDogMDAwMCBbIzFdIFNNUCBLQVNBTiBQVEkKTW9k dWxlcyBsaW5rZWQgaW46CkNQVTogMSBQSUQ6IDI2NDQ3IENvbW06IHN5ei1leGVjdXRvci4xIE5v dCB0YWludGVkIDUuMysgIzAKSGFyZHdhcmUgbmFtZTogR29vZ2xlIEdvb2dsZSBDb21wdXRlIEVu Z2luZS9Hb29nbGUgQ29tcHV0ZSBFbmdpbmUsIEJJT1MgR29vZ2xlIDAxLzAxLzIwMTEKUklQOiAw MDEwOmNicV9ub3JtYWxpemVfcXVhbnRhLnBhcnQuMCsweDFmZC8weDQzMCBuZXQvc2NoZWQvc2No X2NicS5jOjkwMgpSU1A6IDAwMTg6ZmZmZjg4MDFhNWMzMzNiMCBFRkxBR1M6IDAwMDEwMjA2ClJB WDogMDAwMDAwMDAyMDAwMDAwMyBSQlg6IDAwMDAwMDAwZmZmZmZmZjggUkNYOiBmZmZmYzkwMDA3 MTJmMDAwClJEWDogMDAwMDAwMDAwMDAwNDNiZiBSU0k6IGZmZmZmZmZmODNiZTg5NjIgUkRJOiAw MDAwMDAwMTAwMDAwMDE4ClJCUDogZmZmZjg4MDFhNWMzMzQyMCBSMDg6IDAwMDAwMDAwMDAwMDAw M2EgUjA5OiAwMDAwMDAwMDAwMDAwMDAwClIxMDogMDAwMDAwMDAwMDAwMDAwMCBSMTE6IDAwMDAw MDAwMDAwMDAwMDAgUjEyOiAwMDAwMDAwMDAwMDAwMmVmClIxMzogZmZmZjg4MDE4ZGE5NTE4OCBS MTQ6IGRmZmZmYzAwMDAwMDAwMDAgUjE1OiAwMDAwMDAwMDAwMDAwMDE1CkZTOiAgMDAwMDdmMzdk MjZiMTcwMCgwMDAwKSBHUzpmZmZmODgwMWRhZDAwMDAwKDAwMDApIGtubEdTOjAwMDAwMDAwMDAw MDAwMDAKQ1M6ICAwMDEwIERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMwpD UjI6IDAwMDAwMDAwMDA0YzdjZWMgQ1IzOiAwMDAwMDAwMWJjZDBhMDA2IENSNDogMDAwMDAwMDAw MDE2MjZmMApEUjA6IDAwMDAwMDAwMDAwMDAwMDAgRFIxOiAwMDAwMDAwMDAwMDAwMDAwIERSMjog MDAwMDAwMDAwMDAwMDAwMApEUjM6IDAwMDAwMDAwMDAwMDAwMDAgRFI2OiAwMDAwMDAwMGZmZmUw ZmYwIERSNzogMDAwMDAwMDAwMDAwMDQwMApDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgzYmU5ZDU3 Pl0gY2JxX25vcm1hbGl6ZV9xdWFudGEgaW5jbHVkZS9uZXQvcGt0X3NjaGVkLmg6MjcgW2lubGlu ZV0KIFs8ZmZmZmZmZmY4M2JlOWQ1Nz5dIGNicV9hZGRwcmlvIG5ldC9zY2hlZC9zY2hfY2JxLmM6 MTA5NyBbaW5saW5lXQogWzxmZmZmZmZmZjgzYmU5ZDU3Pl0gY2JxX3NldF93cnIrMHgyZDcvMHg0 NTAgbmV0L3NjaGVkL3NjaF9jYnEuYzoxMTE1CiBbPGZmZmZmZmZmODNiZWU4YTc+XSBjYnFfY2hh bmdlX2NsYXNzKzB4OTg3LzB4MjI1YiBuZXQvc2NoZWQvc2NoX2NicS5jOjE1MzcKIFs8ZmZmZmZm ZmY4M2I5Njk4NT5dIHRjX2N0bF90Y2xhc3MrMHg1NTUvMHhjZDAgbmV0L3NjaGVkL3NjaF9hcGku YzoyMzI5CiBbPGZmZmZmZmZmODNhODQ2NTU+XSBydG5ldGxpbmtfcmN2X21zZysweDQ4NS8weGMx MCBuZXQvY29yZS9ydG5ldGxpbmsuYzo1MjQ4CiBbPGZmZmZmZmZmODNjYWRmMGE+XSBuZXRsaW5r X3Jjdl9za2IrMHgxN2EvMHg0NjAgbmV0L25ldGxpbmsvYWZfbmV0bGluay5jOjI1MTAKIFs8ZmZm ZmZmZmY4M2E3ZGI2ZD5dIHJ0bmV0bGlua19yY3YrMHgxZC8weDMwIG5ldC9jb3JlL3J0bmV0bGlu ay5jOjUyNjYKIFs8ZmZmZmZmZmY4M2NhYzJjNj5dIG5ldGxpbmtfdW5pY2FzdF9rZXJuZWwgbmV0 L25ldGxpbmsvYWZfbmV0bGluay5jOjEzMjQgW2lubGluZV0KIFs8ZmZmZmZmZmY4M2NhYzJjNj5d IG5ldGxpbmtfdW5pY2FzdCsweDUzNi8weDcyMCBuZXQvbmV0bGluay9hZl9uZXRsaW5rLmM6MTM1 MAogWzxmZmZmZmZmZjgzY2FjZDRhPl0gbmV0bGlua19zZW5kbXNnKzB4ODlhLzB4ZDUwIG5ldC9u ZXRsaW5rL2FmX25ldGxpbmsuYzoxOTM5CiBbPGZmZmZmZmZmODM5OWQ0NmU+XSBzb2NrX3NlbmRt c2dfbm9zZWMgbmV0L3NvY2tldC5jOjY3MyBbaW5saW5lXQogWzxmZmZmZmZmZjgzOTlkNDZlPl0g c29ja19zZW5kbXNnKzB4MTJlLzB4MTcwIG5ldC9zb2NrZXQuYzo2ODQKIFs8ZmZmZmZmZmY4Mzk5 ZjFmZD5dIF9fX3N5c19zZW5kbXNnKzB4ODFkLzB4OTYwIG5ldC9zb2NrZXQuYzoyMzU5CiBbPGZm ZmZmZmZmODM5YTJkMDU+XSBfX3N5c19zZW5kbXNnKzB4MTA1LzB4MWQwIG5ldC9zb2NrZXQuYzoy Mzk3CiBbPGZmZmZmZmZmODM5YTJkZjk+XSBTWVNDX3NlbmRtc2cgbmV0L3NvY2tldC5jOjI0MDYg W2lubGluZV0KIFs8ZmZmZmZmZmY4MzlhMmRmOT5dIFN5U19zZW5kbXNnKzB4MjkvMHgzMCBuZXQv c29ja2V0LmM6MjQwNAogWzxmZmZmZmZmZjgxMDFjY2M4Pl0gZG9fc3lzY2FsbF82NCsweDUyOC8w eDc3MCBhcmNoL3g4Ni9lbnRyeS9jb21tb24uYzozMDUKIFs8ZmZmZmZmZmY4NDQwMDA5MT5dIGVu dHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQyLzB4YjcKCkZpeGVzOiAxZGExNzdlNGMz ZjQgKCJMaW51eC0yLjYuMTItcmMyIikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVt YXpldEBnb29nbGUuY29tPgpSZXBvcnRlZC1ieTogc3l6Ym90IDxzeXprYWxsZXJAZ29vZ2xlZ3Jv dXBzLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQu bmV0PgotLS0KIG5ldC9zY2hlZC9zY2hfY2JxLmMgfCA0MyArKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwg MTQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL3NjaF9jYnEuYyBiL25ldC9z Y2hlZC9zY2hfY2JxLmMKaW5kZXggMDZjN2EyZGEyMWJjLi4zOWI0MjdkYzc1MTIgMTAwNjQ0Ci0t LSBhL25ldC9zY2hlZC9zY2hfY2JxLmMKKysrIGIvbmV0L3NjaGVkL3NjaF9jYnEuYwpAQCAtMTEy Nyw2ICsxMTI3LDMzIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbmxhX3BvbGljeSBjYnFfcG9saWN5 W1RDQV9DQlFfTUFYICsgMV0gPSB7CiAJW1RDQV9DQlFfUE9MSUNFXQk9IHsgLmxlbiA9IHNpemVv ZihzdHJ1Y3QgdGNfY2JxX3BvbGljZSkgfSwKIH07CiAKK3N0YXRpYyBpbnQgY2JxX29wdF9wYXJz ZShzdHJ1Y3QgbmxhdHRyICp0YltUQ0FfQ0JRX01BWCArIDFdLAorCQkJIHN0cnVjdCBubGF0dHIg Km9wdCwKKwkJCSBzdHJ1Y3QgbmV0bGlua19leHRfYWNrICpleHRhY2spCit7CisJaW50IGVycjsK KworCWlmICghb3B0KSB7CisJCU5MX1NFVF9FUlJfTVNHKGV4dGFjaywgIkNCUSBvcHRpb25zIGFy ZSByZXF1aXJlZCBmb3IgdGhpcyBvcGVyYXRpb24iKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQor CisJZXJyID0gbmxhX3BhcnNlX25lc3RlZF9kZXByZWNhdGVkKHRiLCBUQ0FfQ0JRX01BWCwgb3B0 LAorCQkJCQkgIGNicV9wb2xpY3ksIGV4dGFjayk7CisJaWYgKGVyciA8IDApCisJCXJldHVybiBl cnI7CisKKwlpZiAodGJbVENBX0NCUV9XUlJPUFRdKSB7CisJCWNvbnN0IHN0cnVjdCB0Y19jYnFf d3Jyb3B0ICp3cnIgPSBubGFfZGF0YSh0YltUQ0FfQ0JRX1dSUk9QVF0pOworCisJCWlmICh3cnIt PnByaW9yaXR5ID4gVENfQ0JRX01BWFBSSU8pIHsKKwkJCU5MX1NFVF9FUlJfTVNHKGV4dGFjaywg InByaW9yaXR5IGlzIGJpZ2dlciB0aGFuIFRDX0NCUV9NQVhQUklPIik7CisJCQllcnIgPSAtRUlO VkFMOworCQl9CisJfQorCXJldHVybiBlcnI7Cit9CisKIHN0YXRpYyBpbnQgY2JxX2luaXQoc3Ry dWN0IFFkaXNjICpzY2gsIHN0cnVjdCBubGF0dHIgKm9wdCwKIAkJICAgIHN0cnVjdCBuZXRsaW5r X2V4dF9hY2sgKmV4dGFjaykKIHsKQEAgLTExMzksMTMgKzExNjYsNyBAQCBzdGF0aWMgaW50IGNi cV9pbml0KHN0cnVjdCBRZGlzYyAqc2NoLCBzdHJ1Y3QgbmxhdHRyICpvcHQsCiAJaHJ0aW1lcl9p bml0KCZxLT5kZWxheV90aW1lciwgQ0xPQ0tfTU9OT1RPTklDLCBIUlRJTUVSX01PREVfQUJTX1BJ Tk5FRCk7CiAJcS0+ZGVsYXlfdGltZXIuZnVuY3Rpb24gPSBjYnFfdW5kZWxheTsKIAotCWlmICgh b3B0KSB7Ci0JCU5MX1NFVF9FUlJfTVNHKGV4dGFjaywgIkNCUSBvcHRpb25zIGFyZSByZXF1aXJl ZCBmb3IgdGhpcyBvcGVyYXRpb24iKTsKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCi0JZXJyID0g bmxhX3BhcnNlX25lc3RlZF9kZXByZWNhdGVkKHRiLCBUQ0FfQ0JRX01BWCwgb3B0LCBjYnFfcG9s aWN5LAotCQkJCQkgIGV4dGFjayk7CisJZXJyID0gY2JxX29wdF9wYXJzZSh0Yiwgb3B0LCBleHRh Y2spOwogCWlmIChlcnIgPCAwKQogCQlyZXR1cm4gZXJyOwogCkBAIC0xNDY0LDEzICsxNDg1LDcg QEAgY2JxX2NoYW5nZV9jbGFzcyhzdHJ1Y3QgUWRpc2MgKnNjaCwgdTMyIGNsYXNzaWQsIHUzMiBw YXJlbnRpZCwgc3RydWN0IG5sYXR0ciAqKnQKIAlzdHJ1Y3QgY2JxX2NsYXNzICpwYXJlbnQ7CiAJ c3RydWN0IHFkaXNjX3JhdGVfdGFibGUgKnJ0YWIgPSBOVUxMOwogCi0JaWYgKCFvcHQpIHsKLQkJ TkxfU0VUX0VSUl9NU0coZXh0YWNrLCAiTWFuZGF0b3J5IHFkaXNjIG9wdGlvbnMgbWlzc2luZyIp OwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0KLQllcnIgPSBubGFfcGFyc2VfbmVzdGVkX2RlcHJl Y2F0ZWQodGIsIFRDQV9DQlFfTUFYLCBvcHQsIGNicV9wb2xpY3ksCi0JCQkJCSAgZXh0YWNrKTsK KwllcnIgPSBjYnFfb3B0X3BhcnNlKHRiLCBvcHQsIGV4dGFjayk7CiAJaWYgKGVyciA8IDApCiAJ CXJldHVybiBlcnI7CiAKLS0gCjIuMjAuMQoKCkZyb20gYjRmMWQyNzQ1OTUzZjM2YjQ2MWI3ZmJj NjVjZDU1NmVlMDI1ZmQ0YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBEdW1h emV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpEYXRlOiBGcmksIDQgT2N0IDIwMTkgMTA6MzQ6NDUg LTA3MDAKU3ViamVjdDogW1BBVENIIDE0LzI1XSBzY2hfZHNtYXJrOiBmaXggcG90ZW50aWFsIE5V TEwgZGVyZWYgaW4gZHNtYXJrX2luaXQoKQoKWyBVcHN0cmVhbSBjb21taXQgNDc0ZjA4MTNhMzAw MmNiMjk5YmI3M2E1YTkzYWExZjUzN2E4MGNhOCBdCgpNYWtlIHN1cmUgVENBX0RTTUFSS19JTkRJ Q0VTIHdhcyBwcm92aWRlZCBieSB0aGUgdXNlci4KCnN5emJvdCByZXBvcnRlZCA6CgprYXNhbjog Q09ORklHX0tBU0FOX0lOTElORSBlbmFibGVkCmthc2FuOiBHUEYgY291bGQgYmUgY2F1c2VkIGJ5 IE5VTEwtcHRyIGRlcmVmIG9yIHVzZXIgbWVtb3J5IGFjY2VzcwpnZW5lcmFsIHByb3RlY3Rpb24g ZmF1bHQ6IDAwMDAgWyMxXSBQUkVFTVBUIFNNUCBLQVNBTgpDUFU6IDEgUElEOiA4Nzk5IENvbW06 IHN5ei1leGVjdXRvcjIzNSBOb3QgdGFpbnRlZCA1LjMuMCsgIzAKSGFyZHdhcmUgbmFtZTogR29v Z2xlIEdvb2dsZSBDb21wdXRlIEVuZ2luZS9Hb29nbGUgQ29tcHV0ZSBFbmdpbmUsIEJJT1MgR29v Z2xlIDAxLzAxLzIwMTEKUklQOiAwMDEwOm5sYV9nZXRfdTE2IGluY2x1ZGUvbmV0L25ldGxpbmsu aDoxNTAxIFtpbmxpbmVdClJJUDogMDAxMDpkc21hcmtfaW5pdCBuZXQvc2NoZWQvc2NoX2RzbWFy ay5jOjM2NCBbaW5saW5lXQpSSVA6IDAwMTA6ZHNtYXJrX2luaXQrMHgxOTMvMHg2NDAgbmV0L3Nj aGVkL3NjaF9kc21hcmsuYzozMzkKQ29kZTogODUgZGIgNTggMGYgODggN2QgMDMgMDAgMDAgZTgg ZTkgMWEgYWMgZmIgNDggOGIgOWQgNzAgZmYgZmYgZmYgNDggYjggMDAgMDAgMDAgMDAgMDAgZmMg ZmYgZGYgNDggOGQgN2IgMDQgNDggODkgZmEgNDggYzEgZWEgMDMgPDBmPiBiNiAxNCAwMiA0OCA4 OSBmOCA4MyBlMCAwNyA4MyBjMCAwMSAzOCBkMCA3YyAwOCA4NCBkMiAwZiA4NSBjYQpSU1A6IDAw MTg6ZmZmZjg4ODA5NDI2ZjNiOCBFRkxBR1M6IDAwMDEwMjQ3ClJBWDogZGZmZmZjMDAwMDAwMDAw MCBSQlg6IDAwMDAwMDAwMDAwMDAwMDAgUkNYOiBmZmZmZmZmZjg1YzZlYjA5ClJEWDogMDAwMDAw MDAwMDAwMDAwMCBSU0k6IGZmZmZmZmZmODVjNmViMTcgUkRJOiAwMDAwMDAwMDAwMDAwMDA0ClJC UDogZmZmZjg4ODA5NDI2ZjRiMCBSMDg6IGZmZmY4ODgwOGM0MDg1YzAgUjA5OiBmZmZmZWQxMDE1 ZDI2MTU5ClIxMDogZmZmZmVkMTAxNWQyNjE1OCBSMTE6IGZmZmY4ODgwYWU5MzBhYzcgUjEyOiBm ZmZmODg4MGE3ZTk2OTQwClIxMzogZGZmZmZjMDAwMDAwMDAwMCBSMTQ6IGZmZmY4ODgwOTQyNmY4 YzAgUjE1OiAwMDAwMDAwMDAwMDAwMDAwCkZTOiAgMDAwMDAwMDAwMTI5Mjg4MCgwMDAwKSBHUzpm ZmZmODg4MGFlOTAwMDAwKDAwMDApIGtubEdTOjAwMDAwMDAwMDAwMDAwMDAKQ1M6ICAwMDEwIERT OiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMwpDUjI6IDAwMDAwMDAwMjAwMDAw ODAgQ1IzOiAwMDAwMDAwMDhjYTFiMDAwIENSNDogMDAwMDAwMDAwMDE0MDZlMApEUjA6IDAwMDAw MDAwMDAwMDAwMDAgRFIxOiAwMDAwMDAwMDAwMDAwMDAwIERSMjogMDAwMDAwMDAwMDAwMDAwMApE UjM6IDAwMDAwMDAwMDAwMDAwMDAgRFI2OiAwMDAwMDAwMGZmZmUwZmYwIERSNzogMDAwMDAwMDAw MDAwMDQwMApDYWxsIFRyYWNlOgogcWRpc2NfY3JlYXRlKzB4NGVlLzB4MTIxMCBuZXQvc2NoZWQv c2NoX2FwaS5jOjEyMzcKIHRjX21vZGlmeV9xZGlzYysweDUyNC8weDFjNTAgbmV0L3NjaGVkL3Nj aF9hcGkuYzoxNjUzCiBydG5ldGxpbmtfcmN2X21zZysweDQ2My8weGIwMCBuZXQvY29yZS9ydG5l dGxpbmsuYzo1MjIzCiBuZXRsaW5rX3Jjdl9za2IrMHgxNzcvMHg0NTAgbmV0L25ldGxpbmsvYWZf bmV0bGluay5jOjI0NzcKIHJ0bmV0bGlua19yY3YrMHgxZC8weDMwIG5ldC9jb3JlL3J0bmV0bGlu ay5jOjUyNDEKIG5ldGxpbmtfdW5pY2FzdF9rZXJuZWwgbmV0L25ldGxpbmsvYWZfbmV0bGluay5j OjEzMDIgW2lubGluZV0KIG5ldGxpbmtfdW5pY2FzdCsweDUzMS8weDcxMCBuZXQvbmV0bGluay9h Zl9uZXRsaW5rLmM6MTMyOAogbmV0bGlua19zZW5kbXNnKzB4OGE1LzB4ZDYwIG5ldC9uZXRsaW5r L2FmX25ldGxpbmsuYzoxOTE3CiBzb2NrX3NlbmRtc2dfbm9zZWMgbmV0L3NvY2tldC5jOjYzNyBb aW5saW5lXQogc29ja19zZW5kbXNnKzB4ZDcvMHgxMzAgbmV0L3NvY2tldC5jOjY1NwogX19fc3lz X3NlbmRtc2crMHg4MDMvMHg5MjAgbmV0L3NvY2tldC5jOjIzMTEKIF9fc3lzX3NlbmRtc2crMHgx MDUvMHgxZDAgbmV0L3NvY2tldC5jOjIzNTYKIF9fZG9fc3lzX3NlbmRtc2cgbmV0L3NvY2tldC5j OjIzNjUgW2lubGluZV0KIF9fc2Vfc3lzX3NlbmRtc2cgbmV0L3NvY2tldC5jOjIzNjMgW2lubGlu ZV0KIF9feDY0X3N5c19zZW5kbXNnKzB4NzgvMHhiMCBuZXQvc29ja2V0LmM6MjM2MwogZG9fc3lz Y2FsbF82NCsweGZhLzB4NzYwIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjI5MAogZW50cnlfU1lT Q0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NDkvMHhiZQpSSVA6IDAwMzM6MHg0NDAzNjkKCkZpeGVz OiA3NThjYzQzYzZkNzMgKCJbUEtUX1NDSEVEXTogRml4IGRzbWFyayB0byBhcHBseSBjaGFuZ2Vz IGNvbnNpc3RlbnQiKQpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2ds ZS5jb20+ClJlcG9ydGVkLWJ5OiBzeXpib3QgPHN5emthbGxlckBnb29nbGVncm91cHMuY29tPgpT aWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQog bmV0L3NjaGVkL3NjaF9kc21hcmsuYyB8IDIgKysKIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlv bnMoKykKCmRpZmYgLS1naXQgYS9uZXQvc2NoZWQvc2NoX2RzbWFyay5jIGIvbmV0L3NjaGVkL3Nj aF9kc21hcmsuYwppbmRleCBiYWQxY2JlNTlhNTYuLjA1NjA1YjMwYmVmMyAxMDA2NDQKLS0tIGEv bmV0L3NjaGVkL3NjaF9kc21hcmsuYworKysgYi9uZXQvc2NoZWQvc2NoX2RzbWFyay5jCkBAIC0z NjEsNiArMzYxLDggQEAgc3RhdGljIGludCBkc21hcmtfaW5pdChzdHJ1Y3QgUWRpc2MgKnNjaCwg c3RydWN0IG5sYXR0ciAqb3B0LAogCQlnb3RvIGVycm91dDsKIAogCWVyciA9IC1FSU5WQUw7CisJ aWYgKCF0YltUQ0FfRFNNQVJLX0lORElDRVNdKQorCQlnb3RvIGVycm91dDsKIAlpbmRpY2VzID0g bmxhX2dldF91MTYodGJbVENBX0RTTUFSS19JTkRJQ0VTXSk7CiAKIAlpZiAoaHdlaWdodDMyKGlu ZGljZXMpICE9IDEpCi0tIAoyLjIwLjEKCgpGcm9tIGNkNjU3NmRiZTc5MDIwMTE1ZTA5NGZmNTUy N2QzODM2MzRmNzk2MDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFR1b25nIExpZW4g PHR1b25nLnQubGllbkBkZWt0ZWNoLmNvbS5hdT4KRGF0ZTogV2VkLCAyIE9jdCAyMDE5IDE4OjQ5 OjQzICswNzAwClN1YmplY3Q6IFtQQVRDSCAxNS8yNV0gdGlwYzogZml4IHVubGltaXRlZCBidW5k bGluZyBvZiBzbWFsbCBtZXNzYWdlcwoKWyBVcHN0cmVhbSBjb21taXQgZTk1NTg0YTg4OWUxOTAy ZmRmMWRlZDk3MTJlMmMzYzMwODNiYWY5NiBdCgpXZSBoYXZlIGlkZW50aWZpZWQgYSBwcm9ibGVt IHdpdGggdGhlICJvdmVyc3Vic2NyaXB0aW9uIiBwb2xpY3kgaW4gdGhlCmxpbmsgdHJhbnNtaXNz aW9uIGNvZGUuCgpXaGVuIHNtYWxsIG1lc3NhZ2VzIGFyZSB0cmFuc21pdHRlZCwgYW5kIHRoZSBz ZW5kaW5nIGxpbmsgaGFzIHJlYWNoZWQKdGhlIHRyYW5zbWl0IHdpbmRvdyBsaW1pdCwgdGhvc2Ug bWVzc2FnZXMgd2lsbCBiZSBidW5kbGVkIGFuZCBwdXQgaW50bwp0aGUgbGluayBiYWNrbG9nIHF1 ZXVlLiBIb3dldmVyLCBidW5kbGVzIG9mIGRhdGEgbWVzc2FnZXMgYXJlIGNvdW50ZWQKYXQgdGhl ICdDUklUSUNBTCcgbGV2ZWwsIHNvIHRoYXQgdGhlIGNvdW50ZXIgZm9yIHRoYXQgbGV2ZWwsIGlu c3RlYWQgb2YKdGhlIGNvdW50ZXIgZm9yIHRoZSByZWFsLCBidW5kbGVkIG1lc3NhZ2UncyBsZXZl bCBpcyB0aGUgb25lIGJlaW5nCmluY3JlYXNlZC4KU3Vic2VxdWVudCwgdG8tYmUtYnVuZGxlZCBk YXRhIG1lc3NhZ2VzIGF0IG5vbi1DUklUSUNBTCBsZXZlbHMgY29udGludWUKdG8gYmUgdGVzdGVk IGFnYWluc3QgdGhlIHVuY2hhbmdlZCBjb3VudGVyIGZvciB0aGVpciBvd24gbGV2ZWwsIHdoaWxl CmNvbnRyaWJ1dGluZyB0byBhbiB1bnJlc3RyYWluZWQgaW5jcmVhc2UgYXQgdGhlIENSSVRJQ0FM IGJhY2tsb2cgbGV2ZWwuCgpUaGlzIGxlYXZlcyBhIGdhcCBpbiBjb25nZXN0aW9uIGNvbnRyb2wg YWxnb3JpdGhtIGZvciBzbWFsbCBtZXNzYWdlcwp0aGF0IGNhbiByZXN1bHQgaW4gc3RhcnZhdGlv biBmb3Igb3RoZXIgdXNlcnMgb3IgYSAicmVhbCIgQ1JJVElDQUwKdXNlci4gRXZlbiB0aGF0IGV2 ZW50dWFsbHkgY2FuIGxlYWQgdG8gYnVmZmVyIGV4aGF1c3Rpb24gJiBsaW5rIHJlc2V0LgoKV2Ug Zml4IHRoaXMgYnkga2VlcGluZyBhICd0YXJnZXRfYnNrYicgYnVmZmVyIHBvaW50ZXIgYXQgZWFj aCBsZXZlbHMsCnRoZW4gd2hlbiBidW5kbGluZywgd2Ugb25seSBidW5kbGUgbWVzc2FnZXMgYXQg dGhlIHNhbWUgaW1wb3J0YW5jZQpsZXZlbCBvbmx5LiBUaGlzIHdheSwgd2Uga25vdyBleGFjdGx5 IGhvdyBtYW55IHNsb3RzIGEgY2VydGFpbiBsZXZlbApoYXZlIG9jY3VwaWVkIGluIHRoZSBxdWV1 ZSwgc28gY2FuIG1hbmFnZSBsZXZlbCBjb25nZXN0aW9uIGFjY3VyYXRlbHkuCgpCeSBidW5kbGlu ZyBtZXNzYWdlcyBhdCB0aGUgc2FtZSBsZXZlbCwgd2UgZXZlbiBoYXZlIG1vcmUgYmVuZWZpdHMu IExldApjb25zaWRlciB0aGlzOgotIE9uZSBzb2NrZXQgc2VuZHMgNjQtYnl0ZSBtZXNzYWdlcyBh dCB0aGUgJ0NSSVRJQ0FMJyBsZXZlbDsKLSBBbm90aGVyIHNlbmRzIDQwOTYtYnl0ZSBtZXNzYWdl cyBhdCB0aGUgJ0xPVycgbGV2ZWw7CgpXaGVuIGEgNjQtYnl0ZSBtZXNzYWdlIGNvbWVzIGFuZCBp cyBidW5kbGVkIHRoZSBmaXJzdCB0aW1lLCB3ZSBwdXQgdGhlCm92ZXJoZWFkIG9mIG1lc3NhZ2Ug YnVuZGxlIHRvIGl0ICgrIDQwLWJ5dGUgaGVhZGVyLCBkYXRhIGNvcHksIGV0Yy4pCmZvciBsYXRl ciB1c2UsIGJ1dCB0aGUgbmV4dCBtZXNzYWdlIGNhbiBiZSBhIDQwOTYtYnl0ZSBvbmUgdGhhdCBj YW5ub3QKYmUgYnVuZGxlZCB0byB0aGUgcHJldmlvdXMgb25lLiBUaGlzIG1lYW5zIHRoZSBsYXN0 IGJ1bmRsZSBjYXJyaWVzIG9ubHkKb25lIHBheWxvYWQgbWVzc2FnZSB3aGljaCBpcyB0b3RhbGx5 IGluZWZmaWNpZW50LCBhcyBmb3IgdGhlIHJlY2VpdmVyCmFsc28hIExhdGVyIG9uLCBhbm90aGVy IDY0LWJ5dGUgbWVzc2FnZSBjb21lcywgbm93IHdlIG1ha2UgYSBuZXcgYnVuZGxlCmFuZCB0aGUg c2FtZSBzdG9yeSByZXBlYXRzLi4uCgpXaXRoIHRoZSBuZXcgYnVuZGxpbmcgYWxnb3JpdGhtLCB0 aGlzIHdpbGwgbm90IGhhcHBlbiwgdGhlIDY0LWJ5dGUKbWVzc2FnZXMgd2lsbCBiZSBidW5kbGVk IHRvZ2V0aGVyIGV2ZW4gd2hlbiB0aGUgNDA5Ni1ieXRlIG1lc3NhZ2UocykKY29tZXMgaW4gYmV0 d2Vlbi4gSG93ZXZlciwgaWYgdGhlIDQwOTYtYnl0ZSBtZXNzYWdlcyBhcmUgc2VudCBhdCB0aGUK c2FtZSBsZXZlbCBpLmUuICdDUklUSUNBTCcsIHRoZSBidW5kbGluZyBhbGdvcml0aG0gd2lsbCBh Z2FpbiBjYXVzZSB0aGUKc2FtZSBvdmVyaGVhZC4KCkFsc28sIHRoZSBzYW1lIHdpbGwgaGFwcGVu IGV2ZW4gd2l0aCBvbmx5IG9uZSBzb2NrZXQgc2VuZGluZyBzbWFsbAptZXNzYWdlcyBhdCBhIHJh dGUgY2xvc2UgdG8gdGhlIGxpbmsgdHJhbnNtaXQncyBvbmUsIHNvIHRoYXQsIHdoZW4gb25lCm1l c3NhZ2UgaXMgYnVuZGxlZCwgaXQncyB0cmFuc21pdHRlZCBzaG9ydGx5LiBUaGVuLCBhbm90aGVy IG1lc3NhZ2UKY29tZXMsIGEgbmV3IGJ1bmRsZSBpcyBjcmVhdGVkIGFuZCBzbyBvbi4uLgoKV2Ug d2lsbCBzb2x2ZSB0aGlzIGlzc3VlIHJhZGljYWxseSBieSBhbm90aGVyIHBhdGNoLgoKRml4ZXM6 IDM2NWFkMzUzYzI1NiAoInRpcGM6IHJlZHVjZSByaXNrIG9mIHVzZXIgc3RhcnZhdGlvbiBkdXJp bmcgbGluayBjb25nZXN0aW9uIikKUmVwb3J0ZWQtYnk6IEhvYW5nIExlIDxob2FuZy5oLmxlQGRl a3RlY2guY29tLmF1PgpBY2tlZC1ieTogSm9uIE1hbG95IDxqb24ubWFsb3lAZXJpY3Nzb24uY29t PgpTaWduZWQtb2ZmLWJ5OiBUdW9uZyBMaWVuIDx0dW9uZy50LmxpZW5AZGVrdGVjaC5jb20uYXU+ ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0t CiBuZXQvdGlwYy9saW5rLmMgfCAyOSArKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQogbmV0 L3RpcGMvbXNnLmMgIHwgIDUgKy0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygr KSwgMTUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3RpcGMvbGluay5jIGIvbmV0L3Rp cGMvbGluay5jCmluZGV4IDIwNTBmZDM4NjY0Mi4uZmQ5YWY4OTk2MzdkIDEwMDY0NAotLS0gYS9u ZXQvdGlwYy9saW5rLmMKKysrIGIvbmV0L3RpcGMvbGluay5jCkBAIC0xNjMsNiArMTYzLDcgQEAg c3RydWN0IHRpcGNfbGluayB7CiAJc3RydWN0IHsKIAkJdTE2IGxlbjsKIAkJdTE2IGxpbWl0Owor CQlzdHJ1Y3Qgc2tfYnVmZiAqdGFyZ2V0X2Jza2I7CiAJfSBiYWNrbG9nWzVdOwogCXUxNiBzbmRf bnh0OwogCXUxNiBwcmV2X2Zyb207CkBAIC04NzIsNiArODczLDcgQEAgc3RhdGljIHZvaWQgbGlu a19wcmVwYXJlX3dha2V1cChzdHJ1Y3QgdGlwY19saW5rICpsKQogdm9pZCB0aXBjX2xpbmtfcmVz ZXQoc3RydWN0IHRpcGNfbGluayAqbCkKIHsKIAlzdHJ1Y3Qgc2tfYnVmZl9oZWFkIGxpc3Q7CisJ dTMyIGltcDsKIAogCV9fc2tiX3F1ZXVlX2hlYWRfaW5pdCgmbGlzdCk7CiAKQEAgLTg5MywxMSAr ODk1LDEwIEBAIHZvaWQgdGlwY19saW5rX3Jlc2V0KHN0cnVjdCB0aXBjX2xpbmsgKmwpCiAJX19z a2JfcXVldWVfcHVyZ2UoJmwtPmRlZmVyZHEpOwogCV9fc2tiX3F1ZXVlX3B1cmdlKCZsLT5iYWNr bG9ncSk7CiAJX19za2JfcXVldWVfcHVyZ2UoJmwtPmZhaWxvdmVyX2RlZmVyZHEpOwotCWwtPmJh Y2tsb2dbVElQQ19MT1dfSU1QT1JUQU5DRV0ubGVuID0gMDsKLQlsLT5iYWNrbG9nW1RJUENfTUVE SVVNX0lNUE9SVEFOQ0VdLmxlbiA9IDA7Ci0JbC0+YmFja2xvZ1tUSVBDX0hJR0hfSU1QT1JUQU5D RV0ubGVuID0gMDsKLQlsLT5iYWNrbG9nW1RJUENfQ1JJVElDQUxfSU1QT1JUQU5DRV0ubGVuID0g MDsKLQlsLT5iYWNrbG9nW1RJUENfU1lTVEVNX0lNUE9SVEFOQ0VdLmxlbiA9IDA7CisJZm9yIChp bXAgPSAwOyBpbXAgPD0gVElQQ19TWVNURU1fSU1QT1JUQU5DRTsgaW1wKyspIHsKKwkJbC0+YmFj a2xvZ1tpbXBdLmxlbiA9IDA7CisJCWwtPmJhY2tsb2dbaW1wXS50YXJnZXRfYnNrYiA9IE5VTEw7 CisJfQogCWtmcmVlX3NrYihsLT5yZWFzbV9idWYpOwogCWtmcmVlX3NrYihsLT5mYWlsb3Zlcl9y ZWFzbV9za2IpOwogCWwtPnJlYXNtX2J1ZiA9IE5VTEw7CkBAIC05MzgsNyArOTM5LDcgQEAgaW50 IHRpcGNfbGlua194bWl0KHN0cnVjdCB0aXBjX2xpbmsgKmwsIHN0cnVjdCBza19idWZmX2hlYWQg Kmxpc3QsCiAJdTE2IGJjX2FjayA9IGwtPmJjX3JjdmxpbmstPnJjdl9ueHQgLSAxOwogCXN0cnVj dCBza19idWZmX2hlYWQgKnRyYW5zbXEgPSAmbC0+dHJhbnNtcTsKIAlzdHJ1Y3Qgc2tfYnVmZl9o ZWFkICpiYWNrbG9ncSA9ICZsLT5iYWNrbG9ncTsKLQlzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCAqX3Nr YiwgKmJza2I7CisJc3RydWN0IHNrX2J1ZmYgKnNrYiwgKl9za2IsICoqdHNrYjsKIAlpbnQgcGt0 X2NudCA9IHNrYl9xdWV1ZV9sZW4obGlzdCk7CiAJaW50IHJjID0gMDsKIApAQCAtOTg4LDE5ICs5 ODksMjEgQEAgaW50IHRpcGNfbGlua194bWl0KHN0cnVjdCB0aXBjX2xpbmsgKmwsIHN0cnVjdCBz a19idWZmX2hlYWQgKmxpc3QsCiAJCQlzZXFubysrOwogCQkJY29udGludWU7CiAJCX0KLQkJaWYg KHRpcGNfbXNnX2J1bmRsZShza2JfcGVla190YWlsKGJhY2tsb2dxKSwgaGRyLCBtdHUpKSB7CisJ CXRza2IgPSAmbC0+YmFja2xvZ1tpbXBdLnRhcmdldF9ic2tiOworCQlpZiAodGlwY19tc2dfYnVu ZGxlKCp0c2tiLCBoZHIsIG10dSkpIHsKIAkJCWtmcmVlX3NrYihfX3NrYl9kZXF1ZXVlKGxpc3Qp KTsKIAkJCWwtPnN0YXRzLnNlbnRfYnVuZGxlZCsrOwogCQkJY29udGludWU7CiAJCX0KLQkJaWYg KHRpcGNfbXNnX21ha2VfYnVuZGxlKCZic2tiLCBoZHIsIG10dSwgbC0+YWRkcikpIHsKKwkJaWYg KHRpcGNfbXNnX21ha2VfYnVuZGxlKHRza2IsIGhkciwgbXR1LCBsLT5hZGRyKSkgewogCQkJa2Zy ZWVfc2tiKF9fc2tiX2RlcXVldWUobGlzdCkpOwotCQkJX19za2JfcXVldWVfdGFpbChiYWNrbG9n cSwgYnNrYik7Ci0JCQlsLT5iYWNrbG9nW21zZ19pbXBvcnRhbmNlKGJ1Zl9tc2coYnNrYikpXS5s ZW4rKzsKKwkJCV9fc2tiX3F1ZXVlX3RhaWwoYmFja2xvZ3EsICp0c2tiKTsKKwkJCWwtPmJhY2ts b2dbaW1wXS5sZW4rKzsKIAkJCWwtPnN0YXRzLnNlbnRfYnVuZGxlZCsrOwogCQkJbC0+c3RhdHMu c2VudF9idW5kbGVzKys7CiAJCQljb250aW51ZTsKIAkJfQorCQlsLT5iYWNrbG9nW2ltcF0udGFy Z2V0X2Jza2IgPSBOVUxMOwogCQlsLT5iYWNrbG9nW2ltcF0ubGVuICs9IHNrYl9xdWV1ZV9sZW4o bGlzdCk7CiAJCXNrYl9xdWV1ZV9zcGxpY2VfdGFpbF9pbml0KGxpc3QsIGJhY2tsb2dxKTsKIAl9 CkBAIC0xMDE2LDYgKzEwMTksNyBAQCBzdGF0aWMgdm9pZCB0aXBjX2xpbmtfYWR2YW5jZV9iYWNr bG9nKHN0cnVjdCB0aXBjX2xpbmsgKmwsCiAJdTE2IHNlcW5vID0gbC0+c25kX254dDsKIAl1MTYg YWNrID0gbC0+cmN2X254dCAtIDE7CiAJdTE2IGJjX2FjayA9IGwtPmJjX3JjdmxpbmstPnJjdl9u eHQgLSAxOworCXUzMiBpbXA7CiAKIAl3aGlsZSAoc2tiX3F1ZXVlX2xlbigmbC0+dHJhbnNtcSkg PCBsLT53aW5kb3cpIHsKIAkJc2tiID0gc2tiX3BlZWsoJmwtPmJhY2tsb2dxKTsKQEAgLTEwMjYs NyArMTAzMCwxMCBAQCBzdGF0aWMgdm9pZCB0aXBjX2xpbmtfYWR2YW5jZV9iYWNrbG9nKHN0cnVj dCB0aXBjX2xpbmsgKmwsCiAJCQlicmVhazsKIAkJX19za2JfZGVxdWV1ZSgmbC0+YmFja2xvZ3Ep OwogCQloZHIgPSBidWZfbXNnKHNrYik7Ci0JCWwtPmJhY2tsb2dbbXNnX2ltcG9ydGFuY2UoaGRy KV0ubGVuLS07CisJCWltcCA9IG1zZ19pbXBvcnRhbmNlKGhkcik7CisJCWwtPmJhY2tsb2dbaW1w XS5sZW4tLTsKKwkJaWYgKHVubGlrZWx5KHNrYiA9PSBsLT5iYWNrbG9nW2ltcF0udGFyZ2V0X2Jz a2IpKQorCQkJbC0+YmFja2xvZ1tpbXBdLnRhcmdldF9ic2tiID0gTlVMTDsKIAkJX19za2JfcXVl dWVfdGFpbCgmbC0+dHJhbnNtcSwgc2tiKTsKIAkJLyogbmV4dCByZXRyYW5zbWl0IGF0dGVtcHQg Ki8KIAkJaWYgKGxpbmtfaXNfYmNfc25kbGluayhsKSkKZGlmZiAtLWdpdCBhL25ldC90aXBjL21z Zy5jIGIvbmV0L3RpcGMvbXNnLmMKaW5kZXggZjQ4ZTU4NTcyMTBmLi5iOTU2Y2U0YTQwZWYgMTAw NjQ0Ci0tLSBhL25ldC90aXBjL21zZy5jCisrKyBiL25ldC90aXBjL21zZy5jCkBAIC00ODQsMTAg KzQ4NCw3IEBAIGJvb2wgdGlwY19tc2dfbWFrZV9idW5kbGUoc3RydWN0IHNrX2J1ZmYgKipza2Is ICBzdHJ1Y3QgdGlwY19tc2cgKm1zZywKIAlibXNnID0gYnVmX21zZyhfc2tiKTsKIAl0aXBjX21z Z19pbml0KG1zZ19wcmV2bm9kZShtc2cpLCBibXNnLCBNU0dfQlVORExFUiwgMCwKIAkJICAgICAg SU5UX0hfU0laRSwgZG5vZGUpOwotCWlmIChtc2dfaXNkYXRhKG1zZykpCi0JCW1zZ19zZXRfaW1w b3J0YW5jZShibXNnLCBUSVBDX0NSSVRJQ0FMX0lNUE9SVEFOQ0UpOwotCWVsc2UKLQkJbXNnX3Nl dF9pbXBvcnRhbmNlKGJtc2csIFRJUENfU1lTVEVNX0lNUE9SVEFOQ0UpOworCW1zZ19zZXRfaW1w b3J0YW5jZShibXNnLCBtc2dfaW1wb3J0YW5jZShtc2cpKTsKIAltc2dfc2V0X3NlcW5vKGJtc2cs IG1zZ19zZXFubyhtc2cpKTsKIAltc2dfc2V0X2FjayhibXNnLCBtc2dfYWNrKG1zZykpOwogCW1z Z19zZXRfYmNhc3RfYWNrKGJtc2csIG1zZ19iY2FzdF9hY2sobXNnKSk7Ci0tIAoyLjIwLjEKCgpG cm9tIDFhMjU4NjJjMzI3OWNiNzI3ZDFiMGIyY2E2MDM1NTYwM2YyYTY2NjkgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IEpvc2ggSHVudCA8am9odW50QGFrYW1haS5jb20+CkRhdGU6IFdl ZCwgMiBPY3QgMjAxOSAxMzoyOToyMiAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMTYvMjVdIHVkcDog Zml4IGdzb19zZWdzIGNhbGN1bGF0aW9ucwoKWyBVcHN0cmVhbSBjb21taXQgNDRiMzIxZTUwMjBk NzgyYWQ2ZThhZTgxODNmMDliMTYzYmU2ZTZlMiBdCgpDb21taXQgZGZlYzBlZTIyYzBhICgidWRw OiBSZWNvcmQgZ3NvX3NlZ3Mgd2hlbiBzdXBwb3J0aW5nIFVEUCBzZWdtZW50YXRpb24gb2ZmbG9h ZCIpCmFkZGVkIGdzb19zZWdzIGNhbGN1bGF0aW9uLCBidXQgaW5jb3JyZWN0bHkgZ290IHNpemVv ZigpIHRoZSBwb2ludGVyIGFuZApub3QgdGhlIHVuZGVybHlpbmcgZGF0YSB0eXBlLiBJbiBhZGRp dGlvbiBsZXQncyBmaXggdGhlIHY2IGNhc2UuCgpGaXhlczogYmVjMWY2ZjY5NzM2ICgidWRwOiBn ZW5lcmF0ZSBnc28gd2l0aCBVRFBfU0VHTUVOVCIpCkZpeGVzOiBkZmVjMGVlMjJjMGEgKCJ1ZHA6 IFJlY29yZCBnc29fc2VncyB3aGVuIHN1cHBvcnRpbmcgVURQIHNlZ21lbnRhdGlvbiBvZmZsb2Fk IikKU2lnbmVkLW9mZi1ieTogSm9zaCBIdW50IDxqb2h1bnRAYWthbWFpLmNvbT4KUmV2aWV3ZWQt Ynk6IEFsZXhhbmRlciBEdXljayA8YWxleGFuZGVyLmguZHV5Y2tAbGludXguaW50ZWwuY29tPgpB Y2tlZC1ieTogV2lsbGVtIGRlIEJydWlqbiA8d2lsbGVtYkBnb29nbGUuY29tPgpTaWduZWQtb2Zm LWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjQv dWRwLmMgfCAyICstCiBuZXQvaXB2Ni91ZHAuYyB8IDIgKysKIDIgZmlsZXMgY2hhbmdlZCwgMyBp bnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvdWRwLmMg Yi9uZXQvaXB2NC91ZHAuYwppbmRleCBhY2FiNzczOGY3MzMuLmI0MzA3NWJkNjZkOCAxMDA2NDQK LS0tIGEvbmV0L2lwdjQvdWRwLmMKKysrIGIvbmV0L2lwdjQvdWRwLmMKQEAgLTg2OCw3ICs4Njgs NyBAQCBzdGF0aWMgaW50IHVkcF9zZW5kX3NrYihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3Qg Zmxvd2k0ICpmbDQsCiAKIAkJc2tiX3NoaW5mbyhza2IpLT5nc29fc2l6ZSA9IGNvcmstPmdzb19z aXplOwogCQlza2Jfc2hpbmZvKHNrYiktPmdzb190eXBlID0gU0tCX0dTT19VRFBfTDQ7Ci0JCXNr Yl9zaGluZm8oc2tiKS0+Z3NvX3NlZ3MgPSBESVZfUk9VTkRfVVAobGVuIC0gc2l6ZW9mKHVoKSwK KwkJc2tiX3NoaW5mbyhza2IpLT5nc29fc2VncyA9IERJVl9ST1VORF9VUChsZW4gLSBzaXplb2Yo KnVoKSwKIAkJCQkJCQkgY29yay0+Z3NvX3NpemUpOwogCQlnb3RvIGNzdW1fcGFydGlhbDsKIAl9 CmRpZmYgLS1naXQgYS9uZXQvaXB2Ni91ZHAuYyBiL25ldC9pcHY2L3VkcC5jCmluZGV4IDEyNThi ZTE5ZTE4Ni4uN2NmODU5NTViOTk2IDEwMDY0NAotLS0gYS9uZXQvaXB2Ni91ZHAuYworKysgYi9u ZXQvaXB2Ni91ZHAuYwpAQCAtMTE1Niw2ICsxMTU2LDggQEAgc3RhdGljIGludCB1ZHBfdjZfc2Vu ZF9za2Ioc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGZsb3dpNiAqZmw2LAogCiAJCXNrYl9z aGluZm8oc2tiKS0+Z3NvX3NpemUgPSBjb3JrLT5nc29fc2l6ZTsKIAkJc2tiX3NoaW5mbyhza2Ip LT5nc29fdHlwZSA9IFNLQl9HU09fVURQX0w0OworCQlza2Jfc2hpbmZvKHNrYiktPmdzb19zZWdz ID0gRElWX1JPVU5EX1VQKGxlbiAtIHNpemVvZigqdWgpLAorCQkJCQkJCSBjb3JrLT5nc29fc2l6 ZSk7CiAJCWdvdG8gY3N1bV9wYXJ0aWFsOwogCX0KIAotLSAKMi4yMC4xCgoKRnJvbSBjNmQ4ZGNl MjgyOTQ3NzcwZDMyMTkxYTEyM2Q2ZjNhZTMyNjAxMWIzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBEZXh1YW4gQ3VpIDxkZWN1aUBtaWNyb3NvZnQuY29tPgpEYXRlOiBNb24sIDMwIFNl cCAyMDE5IDE4OjQzOjUwICswMDAwClN1YmplY3Q6IFtQQVRDSCAxNy8yNV0gdnNvY2s6IEZpeCBh IGxvY2tkZXAgd2FybmluZyBpbiBfX3Zzb2NrX3JlbGVhc2UoKQoKWyBVcHN0cmVhbSBjb21taXQg MGQ5MTM4ZmZhYzI0Y2Y4Yjc1MzY2ZWRlM2E2OGM5NTFlNmRjYzU3NSBdCgpMb2NrZGVwIGlzIHVu aGFwcHkgaWYgdHdvIGxvY2tzIGZyb20gdGhlIHNhbWUgY2xhc3MgYXJlIGhlbGQuCgpGaXggdGhl IGJlbG93IHdhcm5pbmcgZm9yIGh5cGVydiBhbmQgdmlydGlvIHNvY2tldHMgKHZtY2kgc29ja2V0 IGNvZGUKZG9lc24ndCBoYXZlIHRoZSBpc3N1ZSkgYnkgdXNpbmcgbG9ja19zb2NrX25lc3RlZCgp IHdoZW4gX192c29ja19yZWxlYXNlKCkKaXMgY2FsbGVkIHJlY3Vyc2l2ZWx5OgoKPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KV0FSTklORzogcG9zc2libGUgcmVj dXJzaXZlIGxvY2tpbmcgZGV0ZWN0ZWQKNS4zLjArICMxIE5vdCB0YWludGVkCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnNlcnZlci8xNzk1IGlzIHRyeWluZyB0 byBhY3F1aXJlIGxvY2s6CmZmZmY4ODgwYzUxNTg5OTAgKHNrX2xvY2stQUZfVlNPQ0speysuKy59 LCBhdDogaHZzX3JlbGVhc2UrMHgxMC8weDEyMCBbaHZfc29ja10KCmJ1dCB0YXNrIGlzIGFscmVh ZHkgaG9sZGluZyBsb2NrOgpmZmZmODg4MGM1MTU4MTUwIChza19sb2NrLUFGX1ZTT0NLKXsrLisu fSwgYXQ6IF9fdnNvY2tfcmVsZWFzZSsweDJlLzB4ZjAgW3Zzb2NrXQoKb3RoZXIgaW5mbyB0aGF0 IG1pZ2h0IGhlbHAgdXMgZGVidWcgdGhpczoKIFBvc3NpYmxlIHVuc2FmZSBsb2NraW5nIHNjZW5h cmlvOgoKICAgICAgIENQVTAKICAgICAgIC0tLS0KICBsb2NrKHNrX2xvY2stQUZfVlNPQ0spOwog IGxvY2soc2tfbG9jay1BRl9WU09DSyk7CgogKioqIERFQURMT0NLICoqKgoKIE1heSBiZSBkdWUg dG8gbWlzc2luZyBsb2NrIG5lc3Rpbmcgbm90YXRpb24KCjIgbG9ja3MgaGVsZCBieSBzZXJ2ZXIv MTc5NToKICMwOiBmZmZmODg4MGM1ZDA1ZmY4ICgmc2ItPnNfdHlwZS0+aV9tdXRleF9rZXkjMTAp eysuKy59LCBhdDogX19zb2NrX3JlbGVhc2UrMHgyZC8weGEwCiAjMTogZmZmZjg4ODBjNTE1ODE1 MCAoc2tfbG9jay1BRl9WU09DSyl7Ky4rLn0sIGF0OiBfX3Zzb2NrX3JlbGVhc2UrMHgyZS8weGYw IFt2c29ja10KCnN0YWNrIGJhY2t0cmFjZToKQ1BVOiA1IFBJRDogMTc5NSBDb21tOiBzZXJ2ZXIg Tm90IHRhaW50ZWQgNS4zLjArICMxCkNhbGwgVHJhY2U6CiBkdW1wX3N0YWNrKzB4NjcvMHg5MAog X19sb2NrX2FjcXVpcmUuY29sZC42NysweGQyLzB4MjBiCiBsb2NrX2FjcXVpcmUrMHhiNS8weDFj MAogbG9ja19zb2NrX25lc3RlZCsweDZkLzB4OTAKIGh2c19yZWxlYXNlKzB4MTAvMHgxMjAgW2h2 X3NvY2tdCiBfX3Zzb2NrX3JlbGVhc2UrMHgyNC8weGYwIFt2c29ja10KIF9fdnNvY2tfcmVsZWFz ZSsweGEwLzB4ZjAgW3Zzb2NrXQogdnNvY2tfcmVsZWFzZSsweDEyLzB4MzAgW3Zzb2NrXQogX19z b2NrX3JlbGVhc2UrMHgzNy8weGEwCiBzb2NrX2Nsb3NlKzB4MTQvMHgyMAogX19mcHV0KzB4YzEv MHgyNTAKIHRhc2tfd29ya19ydW4rMHg5OC8weGMwCiBkb19leGl0KzB4MzQ0LzB4YzYwCiBkb19n cm91cF9leGl0KzB4NDcvMHhiMAogZ2V0X3NpZ25hbCsweDE1Yy8weGM1MAogZG9fc2lnbmFsKzB4 MzAvMHg3MjAKIGV4aXRfdG9fdXNlcm1vZGVfbG9vcCsweDUwLzB4YTAKIGRvX3N5c2NhbGxfNjQr MHgyNGUvMHgyNzAKIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ5LzB4YmUKUklQ OiAwMDMzOjB4N2Y0MTg0ZTg1ZjMxCgpUZXN0ZWQtYnk6IFN0ZWZhbm8gR2FyemFyZWxsYSA8c2dh cnphcmVAcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1ieTogRGV4dWFuIEN1aSA8ZGVjdWlAbWljcm9z b2Z0LmNvbT4KUmV2aWV3ZWQtYnk6IFN0ZWZhbm8gR2FyemFyZWxsYSA8c2dhcnphcmVAcmVkaGF0 LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0 PgotLS0KIG5ldC92bXdfdnNvY2svYWZfdnNvY2suYyAgICAgICAgICAgICAgICB8IDE2ICsrKysr KysrKysrKy0tLS0KIG5ldC92bXdfdnNvY2svaHlwZXJ2X3RyYW5zcG9ydC5jICAgICAgICB8ICAy ICstCiBuZXQvdm13X3Zzb2NrL3ZpcnRpb190cmFuc3BvcnRfY29tbW9uLmMgfCAgMiArLQogMyBm aWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL25ldC92bXdfdnNvY2svYWZfdnNvY2suYyBiL25ldC92bXdfdnNvY2svYWZfdnNvY2suYwpp bmRleCBhYjQ3YmYzYWI2NmUuLjJhYjQzYjJiYmEzMSAxMDA2NDQKLS0tIGEvbmV0L3Ztd192c29j ay9hZl92c29jay5jCisrKyBiL25ldC92bXdfdnNvY2svYWZfdnNvY2suYwpAQCAtNjM4LDcgKzYz OCw3IEBAIHN0cnVjdCBzb2NrICpfX3Zzb2NrX2NyZWF0ZShzdHJ1Y3QgbmV0ICpuZXQsCiB9CiBF WFBPUlRfU1lNQk9MX0dQTChfX3Zzb2NrX2NyZWF0ZSk7CiAKLXN0YXRpYyB2b2lkIF9fdnNvY2tf cmVsZWFzZShzdHJ1Y3Qgc29jayAqc2spCitzdGF0aWMgdm9pZCBfX3Zzb2NrX3JlbGVhc2Uoc3Ry dWN0IHNvY2sgKnNrLCBpbnQgbGV2ZWwpCiB7CiAJaWYgKHNrKSB7CiAJCXN0cnVjdCBza19idWZm ICpza2I7CkBAIC02NDgsOSArNjQ4LDE3IEBAIHN0YXRpYyB2b2lkIF9fdnNvY2tfcmVsZWFzZShz dHJ1Y3Qgc29jayAqc2spCiAJCXZzayA9IHZzb2NrX3NrKHNrKTsKIAkJcGVuZGluZyA9IE5VTEw7 CS8qIENvbXBpbGVyIHdhcm5pbmcuICovCiAKKwkJLyogVGhlIHJlbGVhc2UgY2FsbCBpcyBzdXBw b3NlZCB0byB1c2UgbG9ja19zb2NrX25lc3RlZCgpCisJCSAqIHJhdGhlciB0aGFuIGxvY2tfc29j aygpLCBpZiBhIHNvY2sgbG9jayBzaG91bGQgYmUgYWNxdWlyZWQuCisJCSAqLwogCQl0cmFuc3Bv cnQtPnJlbGVhc2UodnNrKTsKIAotCQlsb2NrX3NvY2soc2spOworCQkvKiBXaGVuICJsZXZlbCIg aXMgU0lOR0xFX0RFUFRIX05FU1RJTkcsIHVzZSB0aGUgbmVzdGVkCisJCSAqIHZlcnNpb24gdG8g YXZvaWQgdGhlIHdhcm5pbmcgInBvc3NpYmxlIHJlY3Vyc2l2ZSBsb2NraW5nCisJCSAqIGRldGVj dGVkIi4gV2hlbiAibGV2ZWwiIGlzIDAsIGxvY2tfc29ja19uZXN0ZWQoc2ssIGxldmVsKQorCQkg KiBpcyB0aGUgc2FtZSBhcyBsb2NrX3NvY2soc2spLgorCQkgKi8KKwkJbG9ja19zb2NrX25lc3Rl ZChzaywgbGV2ZWwpOwogCQlzb2NrX29ycGhhbihzayk7CiAJCXNrLT5za19zaHV0ZG93biA9IFNI VVRET1dOX01BU0s7CiAKQEAgLTY1OSw3ICs2NjcsNyBAQCBzdGF0aWMgdm9pZCBfX3Zzb2NrX3Jl bGVhc2Uoc3RydWN0IHNvY2sgKnNrKQogCiAJCS8qIENsZWFuIHVwIGFueSBzb2NrZXRzIHRoYXQg bmV2ZXIgd2VyZSBhY2NlcHRlZC4gKi8KIAkJd2hpbGUgKChwZW5kaW5nID0gdnNvY2tfZGVxdWV1 ZV9hY2NlcHQoc2spKSAhPSBOVUxMKSB7Ci0JCQlfX3Zzb2NrX3JlbGVhc2UocGVuZGluZyk7CisJ CQlfX3Zzb2NrX3JlbGVhc2UocGVuZGluZywgU0lOR0xFX0RFUFRIX05FU1RJTkcpOwogCQkJc29j a19wdXQocGVuZGluZyk7CiAJCX0KIApAQCAtNzA4LDcgKzcxNiw3IEBAIEVYUE9SVF9TWU1CT0xf R1BMKHZzb2NrX3N0cmVhbV9oYXNfc3BhY2UpOwogCiBzdGF0aWMgaW50IHZzb2NrX3JlbGVhc2Uo c3RydWN0IHNvY2tldCAqc29jaykKIHsKLQlfX3Zzb2NrX3JlbGVhc2Uoc29jay0+c2spOworCV9f dnNvY2tfcmVsZWFzZShzb2NrLT5zaywgMCk7CiAJc29jay0+c2sgPSBOVUxMOwogCXNvY2stPnN0 YXRlID0gU1NfRlJFRTsKIApkaWZmIC0tZ2l0IGEvbmV0L3Ztd192c29jay9oeXBlcnZfdHJhbnNw b3J0LmMgYi9uZXQvdm13X3Zzb2NrL2h5cGVydl90cmFuc3BvcnQuYwppbmRleCA2YzgxYTkxMWZj MDIuLjkyMGYxNDcwNTM0NiAxMDA2NDQKLS0tIGEvbmV0L3Ztd192c29jay9oeXBlcnZfdHJhbnNw b3J0LmMKKysrIGIvbmV0L3Ztd192c29jay9oeXBlcnZfdHJhbnNwb3J0LmMKQEAgLTUyOCw3ICs1 MjgsNyBAQCBzdGF0aWMgdm9pZCBodnNfcmVsZWFzZShzdHJ1Y3QgdnNvY2tfc29jayAqdnNrKQog CXN0cnVjdCBzb2NrICpzayA9IHNrX3Zzb2NrKHZzayk7CiAJYm9vbCByZW1vdmVfc29jazsKIAot CWxvY2tfc29jayhzayk7CisJbG9ja19zb2NrX25lc3RlZChzaywgU0lOR0xFX0RFUFRIX05FU1RJ TkcpOwogCXJlbW92ZV9zb2NrID0gaHZzX2Nsb3NlX2xvY2tfaGVsZCh2c2spOwogCXJlbGVhc2Vf c29jayhzayk7CiAJaWYgKHJlbW92ZV9zb2NrKQpkaWZmIC0tZ2l0IGEvbmV0L3Ztd192c29jay92 aXJ0aW9fdHJhbnNwb3J0X2NvbW1vbi5jIGIvbmV0L3Ztd192c29jay92aXJ0aW9fdHJhbnNwb3J0 X2NvbW1vbi5jCmluZGV4IDZmMWE4YWZmNjVjNS4uYTdhZGZmZDA2MmM3IDEwMDY0NAotLS0gYS9u ZXQvdm13X3Zzb2NrL3ZpcnRpb190cmFuc3BvcnRfY29tbW9uLmMKKysrIGIvbmV0L3Ztd192c29j ay92aXJ0aW9fdHJhbnNwb3J0X2NvbW1vbi5jCkBAIC03OTAsNyArNzkwLDcgQEAgdm9pZCB2aXJ0 aW9fdHJhbnNwb3J0X3JlbGVhc2Uoc3RydWN0IHZzb2NrX3NvY2sgKnZzaykKIAlzdHJ1Y3Qgc29j ayAqc2sgPSAmdnNrLT5zazsKIAlib29sIHJlbW92ZV9zb2NrID0gdHJ1ZTsKIAotCWxvY2tfc29j ayhzayk7CisJbG9ja19zb2NrX25lc3RlZChzaywgU0lOR0xFX0RFUFRIX05FU1RJTkcpOwogCWlm IChzay0+c2tfdHlwZSA9PSBTT0NLX1NUUkVBTSkKIAkJcmVtb3ZlX3NvY2sgPSB2aXJ0aW9fdHJh bnNwb3J0X2Nsb3NlKHZzayk7CiAKLS0gCjIuMjAuMQoKCkZyb20gNTQ0ZTlmZmY0YjhlOTgwNjUy NmIxYmE2OWExZWI2OTBkZWJkYTgyZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTGlu dXMgV2FsbGVpaiA8bGludXMud2FsbGVpakBsaW5hcm8ub3JnPgpEYXRlOiBUdWUsIDEgT2N0IDIw MTkgMTY6Mjg6NDMgKzAyMDAKU3ViamVjdDogW1BBVENIIDE4LzI1XSBuZXQ6IGRzYTogcnRsODM2 NjogQ2hlY2sgVkxBTiBJRCBhbmQgbm90IHBvcnRzCgpbIFVwc3RyZWFtIGNvbW1pdCBlODUyMWU1 M2NjYTU4NGRkZjhlYzQ1ODRkM2M1NTBhNmM2NWY4OGM0IF0KClRoZXJlIGhhcyBiZWVuIHNvbWUg Y29uZnVzaW9uIGJldHdlZW4gdGhlIHBvcnQgbnVtYmVyIGFuZAp0aGUgVkxBTiBJRCBpbiB0aGlz IGRyaXZlci4gV2hhdCB3ZSBuZWVkIHRvIGNoZWNrIGZvcgp2YWxpZGl0eSBpcyB0aGUgVkxBTiBJ RCwgbm90aGluZyBlbHNlLgoKVGhlIGN1cnJlbnQgY29uZnVzaW9uIGNhbWUgZnJvbSBhc3NpZ25p bmcgYSBmZXcgZGVmYXVsdApWTEFOcyBmb3IgZGVmYXVsdCByb3V0aW5nIGFuZCB3ZSBuZWVkIHRv IHJld3JpdGUgdGhhdApwcm9wZXJseS4KCkluc3RlYWQgb2YgY2hlY2tpbmcgaWYgdGhlIHBvcnQg bnVtYmVyIGlzIGEgdmFsaWQgVkxBTgpJRCwgY2hlY2sgdGhlIGFjdHVhbCBWTEFOIElEcyBwYXNz ZWQgaW4gdG8gdGhlIGNhbGxiYWNrCm9uZSBieSBvbmUgYXMgZXhwZWN0ZWQuCgpGaXhlczogZDg2 NTI5NTZjZjM3ICgibmV0OiBkc2E6IHJlYWx0ZWstc21pOiBBZGQgUmVhbHRlayBTTUkgZHJpdmVy IikKU2lnbmVkLW9mZi1ieTogTGludXMgV2FsbGVpaiA8bGludXMud2FsbGVpakBsaW5hcm8ub3Jn PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0t LQogZHJpdmVycy9uZXQvZHNhL3J0bDgzNjYuYyB8IDExICsrKysrKystLS0tCiAxIGZpbGUgY2hh bmdlZCwgNyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvbmV0L2RzYS9ydGw4MzY2LmMgYi9kcml2ZXJzL25ldC9kc2EvcnRsODM2Ni5jCmluZGV4IGNh M2QxN2U0M2VkOC4uYWM4OGNhY2E1YWQ0IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9kc2EvcnRs ODM2Ni5jCisrKyBiL2RyaXZlcnMvbmV0L2RzYS9ydGw4MzY2LmMKQEAgLTMzOSwxMCArMzM5LDEy IEBAIGludCBydGw4MzY2X3ZsYW5fcHJlcGFyZShzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIGludCBw b3J0LAogCQkJIGNvbnN0IHN0cnVjdCBzd2l0Y2hkZXZfb2JqX3BvcnRfdmxhbiAqdmxhbikKIHsK IAlzdHJ1Y3QgcmVhbHRla19zbWkgKnNtaSA9IGRzLT5wcml2OworCXUxNiB2aWQ7CiAJaW50IHJl dDsKIAotCWlmICghc21pLT5vcHMtPmlzX3ZsYW5fdmFsaWQoc21pLCBwb3J0KSkKLQkJcmV0dXJu IC1FSU5WQUw7CisJZm9yICh2aWQgPSB2bGFuLT52aWRfYmVnaW47IHZpZCA8IHZsYW4tPnZpZF9l bmQ7IHZpZCsrKQorCQlpZiAoIXNtaS0+b3BzLT5pc192bGFuX3ZhbGlkKHNtaSwgdmlkKSkKKwkJ CXJldHVybiAtRUlOVkFMOwogCiAJZGV2X2luZm8oc21pLT5kZXYsICJwcmVwYXJlIFZMQU5zICUw NHguLiUwNHhcbiIsCiAJCSB2bGFuLT52aWRfYmVnaW4sIHZsYW4tPnZpZF9lbmQpOwpAQCAtMzcw LDggKzM3Miw5IEBAIHZvaWQgcnRsODM2Nl92bGFuX2FkZChzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMs IGludCBwb3J0LAogCXUxNiB2aWQ7CiAJaW50IHJldDsKIAotCWlmICghc21pLT5vcHMtPmlzX3Zs YW5fdmFsaWQoc21pLCBwb3J0KSkKLQkJcmV0dXJuOworCWZvciAodmlkID0gdmxhbi0+dmlkX2Jl Z2luOyB2aWQgPCB2bGFuLT52aWRfZW5kOyB2aWQrKykKKwkJaWYgKCFzbWktPm9wcy0+aXNfdmxh bl92YWxpZChzbWksIHZpZCkpCisJCQlyZXR1cm47CiAKIAlkZXZfaW5mbyhzbWktPmRldiwgImFk ZCBWTEFOIG9uIHBvcnQgJWQsICVzLCAlc1xuIiwKIAkJIHBvcnQsCi0tIAoyLjIwLjEKCgpGcm9t IGI1MjJhZGEyM2Q5NmQ0OTFkODI1YmQxODZmNTEwNmQ1ZTA0OTZlNjggTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTog TW9uLCAzMCBTZXAgMjAxOSAxNTo0NDo0NCAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTkvMjVdIHRj cDogYWRqdXN0IHJ0b19iYXNlIGluIHJldHJhbnNtaXRzX3RpbWVkX291dCgpCgpbIFVwc3RyZWFt IGNvbW1pdCAzMjU2YTJkNmFiMWY3MWY5YTFiZDJkN2Y2ZjE4ZWI4MTA4YzQ4ZDE3IF0KClRoZSBj aXRlZCBjb21taXQgZXhwb3NlZCBhbiBvbGQgcmV0cmFuc21pdHNfdGltZWRfb3V0KCkgYnVnCndo aWNoIGFzc3VtZWQgaXQgY291bGQgY2FsbCB0Y3BfbW9kZWxfdGltZW91dCgpIHdpdGgKVENQX1JU T19NSU4gYXMgcnRvX2Jhc2UgZm9yIGFsbCBzdGF0ZXMuCgpCdXQgZmxvd3MgaW4gU1lOX1NFTlQg b3IgU1lOX1JFQ1Ygc3RhdGUgdXNlcyBhIGRpZmZlcmVudApSVE8gYmFzZSAoMSBzZWMgaW5zdGVh ZCBvZiAyMDAgbXMsIHVubGVzcyBCUEYgY2hvc2VzCmFub3RoZXIgdmFsdWUpCgpUaGlzIGNhdXNl ZCBhIHJlZHVjdGlvbiBvZiBTWU4gcmV0cmFuc21pdHMgZnJvbSA2IHRvIDQgd2l0aAp0aGUgZGVm YXVsdCAvcHJvYy9zeXMvbmV0L2lwdjQvdGNwX3N5bl9yZXRyaWVzIHZhbHVlLgoKRml4ZXM6IGE0 MWU4YTg4YjA2ZSAoInRjcDogYmV0dGVyIGhhbmRsZSBUQ1BfVVNFUl9USU1FT1VUIGluIFNZTl9T RU5UIHN0YXRlIikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUu Y29tPgpDYzogWXVjaHVuZyBDaGVuZyA8eWNoZW5nQGdvb2dsZS5jb20+CkNjOiBNYXJlayBNYWpr b3dza2kgPG1hcmVrQGNsb3VkZmxhcmUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxs ZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjQvdGNwX3RpbWVyLmMgfCA5ICsr KysrKystLQogMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9uZXQvaXB2NC90Y3BfdGltZXIuYyBiL25ldC9pcHY0L3RjcF90aW1lci5j CmluZGV4IDNlOGIzOGM3M2Q4Yy4uNDgzMzIzMzMyZDc0IDEwMDY0NAotLS0gYS9uZXQvaXB2NC90 Y3BfdGltZXIuYworKysgYi9uZXQvaXB2NC90Y3BfdGltZXIuYwpAQCAtMTk4LDggKzE5OCwxMyBA QCBzdGF0aWMgYm9vbCByZXRyYW5zbWl0c190aW1lZF9vdXQoc3RydWN0IHNvY2sgKnNrLAogCQly ZXR1cm4gZmFsc2U7CiAKIAlzdGFydF90cyA9IHRjcF9zayhzayktPnJldHJhbnNfc3RhbXA7Ci0J aWYgKGxpa2VseSh0aW1lb3V0ID09IDApKQotCQl0aW1lb3V0ID0gdGNwX21vZGVsX3RpbWVvdXQo c2ssIGJvdW5kYXJ5LCBUQ1BfUlRPX01JTik7CisJaWYgKGxpa2VseSh0aW1lb3V0ID09IDApKSB7 CisJCXVuc2lnbmVkIGludCBydG9fYmFzZSA9IFRDUF9SVE9fTUlOOworCisJCWlmICgoMSA8PCBz ay0+c2tfc3RhdGUpICYgKFRDUEZfU1lOX1NFTlQgfCBUQ1BGX1NZTl9SRUNWKSkKKwkJCXJ0b19i YXNlID0gdGNwX3RpbWVvdXRfaW5pdChzayk7CisJCXRpbWVvdXQgPSB0Y3BfbW9kZWxfdGltZW91 dChzaywgYm91bmRhcnksIHJ0b19iYXNlKTsKKwl9CiAKIAlyZXR1cm4gKHMzMikodGNwX3RpbWVf c3RhbXAodGNwX3NrKHNrKSkgLSBzdGFydF90cyAtIHRpbWVvdXQpID49IDA7CiB9Ci0tIAoyLjIw LjEKCgpGcm9tIGRiODZlYTk4YmJhMDNkMmM4NDZkNmI3ZjFhMTRkYTFkYWQzZGI3N2YgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IEpvc2ggSHVudCA8am9odW50QGFrYW1haS5jb20+CkRh dGU6IFdlZCwgMiBPY3QgMjAxOSAxMzoyOToyMyAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMjAvMjVd IHVkcDogb25seSBkbyBHU08gaWYgIyBvZiBzZWdzID4gMQoKWyBVcHN0cmVhbSBjb21taXQgNDA5 NDg3MWRiMWQ2NTgxMGFjYWIzZDU3ZjYwODlhYTM5ZWY3ZjY0OCBdCgpQcmlvciB0byB0aGlzIGNo YW5nZSBhbiBhcHBsaWNhdGlvbiBzZW5kaW5nIDw9IDFNU1Mgd29ydGggb2YgZGF0YSBhbmQKZW5h YmxpbmcgVURQIEdTTyB3b3VsZCBmYWlsIGlmIHRoZSBzeXN0ZW0gaGFkIFNXIEdTTyBlbmFibGVk LCBidXQgdGhlCnNhbWUgc2VuZCB3b3VsZCBzdWNjZWVkIGlmIEhXIEdTTyBvZmZsb2FkIGlzIGVu YWJsZWQuIEluIGFkZGl0aW9uIHRvIHRoaXMKaW5jb25zaXN0ZW5jeSB0aGUgZXJyb3IgaW4gdGhl IFNXIEdTTyBjYXNlIGRvZXMgbm90IGdldCBiYWNrIHRvIHRoZQphcHBsaWNhdGlvbiBpZiBzZW5k aW5nIG91dCBvZiBhIHJlYWwgZGV2aWNlIHNvIHRoZSB1c2VyIGlzIHVuYXdhcmUgb2YgdGhpcwpm YWlsdXJlLgoKV2l0aCB0aGlzIGNoYW5nZSB3ZSBvbmx5IHBlcmZvcm0gR1NPIGlmIHRoZSAjIG9m IHNlZ21lbnRzIGlzID4gMSBldmVuCmlmIHRoZSBhcHBsaWNhdGlvbiBoYXMgZW5hYmxlZCBzZWdt ZW50YXRpb24uIEkndmUgYWxzbyB1cGRhdGVkIHRoZQpyZWxldmFudCB1ZHBnc28gc2VsZnRlc3Rz LgoKRml4ZXM6IGJlYzFmNmY2OTczNiAoInVkcDogZ2VuZXJhdGUgZ3NvIHdpdGggVURQX1NFR01F TlQiKQpTaWduZWQtb2ZmLWJ5OiBKb3NoIEh1bnQgPGpvaHVudEBha2FtYWkuY29tPgpSZXZpZXdl ZC1ieTogV2lsbGVtIGRlIEJydWlqbiA8d2lsbGVtYkBnb29nbGUuY29tPgpSZXZpZXdlZC1ieTog QWxleGFuZGVyIER1eWNrIDxhbGV4YW5kZXIuaC5kdXlja0BsaW51eC5pbnRlbC5jb20+ClNpZ25l ZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQv aXB2NC91ZHAuYyAgICAgICAgICAgICAgICAgICAgICAgfCAxMSArKysrKysrLS0tLQogbmV0L2lw djYvdWRwLmMgICAgICAgICAgICAgICAgICAgICAgIHwgMTEgKysrKysrKy0tLS0KIHRvb2xzL3Rl c3Rpbmcvc2VsZnRlc3RzL25ldC91ZHBnc28uYyB8IDE2ICsrKystLS0tLS0tLS0tLS0KIDMgZmls ZXMgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvbmV0L2lwdjQvdWRwLmMgYi9uZXQvaXB2NC91ZHAuYwppbmRleCBiNDMwNzViZDY2ZDguLjY2 NWYyNmUzMmQ3NyAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvdWRwLmMKKysrIGIvbmV0L2lwdjQvdWRw LmMKQEAgLTgzMyw2ICs4MzMsNyBAQCBzdGF0aWMgaW50IHVkcF9zZW5kX3NrYihzdHJ1Y3Qgc2tf YnVmZiAqc2tiLCBzdHJ1Y3QgZmxvd2k0ICpmbDQsCiAJaW50IGlzX3VkcGxpdGUgPSBJU19VRFBM SVRFKHNrKTsKIAlpbnQgb2Zmc2V0ID0gc2tiX3RyYW5zcG9ydF9vZmZzZXQoc2tiKTsKIAlpbnQg bGVuID0gc2tiLT5sZW4gLSBvZmZzZXQ7CisJaW50IGRhdGFsZW4gPSBsZW4gLSBzaXplb2YoKnVo KTsKIAlfX3dzdW0gY3N1bSA9IDA7CiAKIAkvKgpAQCAtODY2LDEwICs4NjcsMTIgQEAgc3RhdGlj IGludCB1ZHBfc2VuZF9za2Ioc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGZsb3dpNCAqZmw0 LAogCQkJcmV0dXJuIC1FSU87CiAJCX0KIAotCQlza2Jfc2hpbmZvKHNrYiktPmdzb19zaXplID0g Y29yay0+Z3NvX3NpemU7Ci0JCXNrYl9zaGluZm8oc2tiKS0+Z3NvX3R5cGUgPSBTS0JfR1NPX1VE UF9MNDsKLQkJc2tiX3NoaW5mbyhza2IpLT5nc29fc2VncyA9IERJVl9ST1VORF9VUChsZW4gLSBz aXplb2YoKnVoKSwKLQkJCQkJCQkgY29yay0+Z3NvX3NpemUpOworCQlpZiAoZGF0YWxlbiA+IGNv cmstPmdzb19zaXplKSB7CisJCQlza2Jfc2hpbmZvKHNrYiktPmdzb19zaXplID0gY29yay0+Z3Nv X3NpemU7CisJCQlza2Jfc2hpbmZvKHNrYiktPmdzb190eXBlID0gU0tCX0dTT19VRFBfTDQ7CisJ CQlza2Jfc2hpbmZvKHNrYiktPmdzb19zZWdzID0gRElWX1JPVU5EX1VQKGRhdGFsZW4sCisJCQkJ CQkJCSBjb3JrLT5nc29fc2l6ZSk7CisJCX0KIAkJZ290byBjc3VtX3BhcnRpYWw7CiAJfQogCmRp ZmYgLS1naXQgYS9uZXQvaXB2Ni91ZHAuYyBiL25ldC9pcHY2L3VkcC5jCmluZGV4IDdjZjg1OTU1 Yjk5Ni4uZjBiNWVkZDg2MWQwIDEwMDY0NAotLS0gYS9uZXQvaXB2Ni91ZHAuYworKysgYi9uZXQv aXB2Ni91ZHAuYwpAQCAtMTEyMiw2ICsxMTIyLDcgQEAgc3RhdGljIGludCB1ZHBfdjZfc2VuZF9z a2Ioc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGZsb3dpNiAqZmw2LAogCV9fd3N1bSBjc3Vt ID0gMDsKIAlpbnQgb2Zmc2V0ID0gc2tiX3RyYW5zcG9ydF9vZmZzZXQoc2tiKTsKIAlpbnQgbGVu ID0gc2tiLT5sZW4gLSBvZmZzZXQ7CisJaW50IGRhdGFsZW4gPSBsZW4gLSBzaXplb2YoKnVoKTsK IAogCS8qCiAJICogQ3JlYXRlIGEgVURQIGhlYWRlcgpAQCAtMTE1NCwxMCArMTE1NSwxMiBAQCBz dGF0aWMgaW50IHVkcF92Nl9zZW5kX3NrYihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZmxv d2k2ICpmbDYsCiAJCQlyZXR1cm4gLUVJTzsKIAkJfQogCi0JCXNrYl9zaGluZm8oc2tiKS0+Z3Nv X3NpemUgPSBjb3JrLT5nc29fc2l6ZTsKLQkJc2tiX3NoaW5mbyhza2IpLT5nc29fdHlwZSA9IFNL Ql9HU09fVURQX0w0OwotCQlza2Jfc2hpbmZvKHNrYiktPmdzb19zZWdzID0gRElWX1JPVU5EX1VQ KGxlbiAtIHNpemVvZigqdWgpLAotCQkJCQkJCSBjb3JrLT5nc29fc2l6ZSk7CisJCWlmIChkYXRh bGVuID4gY29yay0+Z3NvX3NpemUpIHsKKwkJCXNrYl9zaGluZm8oc2tiKS0+Z3NvX3NpemUgPSBj b3JrLT5nc29fc2l6ZTsKKwkJCXNrYl9zaGluZm8oc2tiKS0+Z3NvX3R5cGUgPSBTS0JfR1NPX1VE UF9MNDsKKwkJCXNrYl9zaGluZm8oc2tiKS0+Z3NvX3NlZ3MgPSBESVZfUk9VTkRfVVAoZGF0YWxl biwKKwkJCQkJCQkJIGNvcmstPmdzb19zaXplKTsKKwkJfQogCQlnb3RvIGNzdW1fcGFydGlhbDsK IAl9CiAKZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC91ZHBnc28uYyBi L3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC91ZHBnc28uYwppbmRleCBiODI2NWVlOTkyM2Yu LjYxNGIzMWFhZDE2OCAxMDA2NDQKLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L3Vk cGdzby5jCisrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC91ZHBnc28uYwpAQCAtODks MTIgKzg5LDkgQEAgc3RydWN0IHRlc3RjYXNlIHRlc3RjYXNlc192NFtdID0gewogCQkudGZhaWwg PSB0cnVlLAogCX0sCiAJewotCQkvKiBzZW5kIGEgc2luZ2xlIE1TUzogd2lsbCBmYWlsIHdpdGgg R1NPLCBiZWNhdXNlIHRoZSBzZWdtZW50Ci0JCSAqIGxvZ2ljIGluIHVkcDRfdWZvX2ZyYWdtZW50 IGRlbWFuZHMgYSBnc28gc2tiIHRvIGJlID4gTVRVCi0JCSAqLworCQkvKiBzZW5kIGEgc2luZ2xl IE1TUzogd2lsbCBmYWxsIGJhY2sgdG8gbm8gR1NPICovCiAJCS50bGVuID0gQ09OU1RfTVNTX1Y0 LAogCQkuZ3NvX2xlbiA9IENPTlNUX01TU19WNCwKLQkJLnRmYWlsID0gdHJ1ZSwKIAkJLnJfbnVt X21zcyA9IDEsCiAJfSwKIAl7CkBAIC0xMzksMTAgKzEzNiw5IEBAIHN0cnVjdCB0ZXN0Y2FzZSB0 ZXN0Y2FzZXNfdjRbXSA9IHsKIAkJLnRmYWlsID0gdHJ1ZSwKIAl9LAogCXsKLQkJLyogc2VuZCBh IHNpbmdsZSAxQiBNU1M6IHdpbGwgZmFpbCwgc2VlIHNpbmdsZSBNU1MgYWJvdmUgKi8KKwkJLyog c2VuZCBhIHNpbmdsZSAxQiBNU1M6IHdpbGwgZmFsbCBiYWNrIHRvIG5vIEdTTyAqLwogCQkudGxl biA9IDEsCiAJCS5nc29fbGVuID0gMSwKLQkJLnRmYWlsID0gdHJ1ZSwKIAkJLnJfbnVtX21zcyA9 IDEsCiAJfSwKIAl7CkBAIC0xOTYsMTIgKzE5Miw5IEBAIHN0cnVjdCB0ZXN0Y2FzZSB0ZXN0Y2Fz ZXNfdjZbXSA9IHsKIAkJLnRmYWlsID0gdHJ1ZSwKIAl9LAogCXsKLQkJLyogc2VuZCBhIHNpbmds ZSBNU1M6IHdpbGwgZmFpbCB3aXRoIEdTTywgYmVjYXVzZSB0aGUgc2VnbWVudAotCQkgKiBsb2dp YyBpbiB1ZHA0X3Vmb19mcmFnbWVudCBkZW1hbmRzIGEgZ3NvIHNrYiB0byBiZSA+IE1UVQotCQkg Ki8KKwkJLyogc2VuZCBhIHNpbmdsZSBNU1M6IHdpbGwgZmFsbCBiYWNrIHRvIG5vIEdTTyAqLwog CQkudGxlbiA9IENPTlNUX01TU19WNiwKIAkJLmdzb19sZW4gPSBDT05TVF9NU1NfVjYsCi0JCS50 ZmFpbCA9IHRydWUsCiAJCS5yX251bV9tc3MgPSAxLAogCX0sCiAJewpAQCAtMjQ2LDEwICsyMzks OSBAQCBzdHJ1Y3QgdGVzdGNhc2UgdGVzdGNhc2VzX3Y2W10gPSB7CiAJCS50ZmFpbCA9IHRydWUs CiAJfSwKIAl7Ci0JCS8qIHNlbmQgYSBzaW5nbGUgMUIgTVNTOiB3aWxsIGZhaWwsIHNlZSBzaW5n bGUgTVNTIGFib3ZlICovCisJCS8qIHNlbmQgYSBzaW5nbGUgMUIgTVNTOiB3aWxsIGZhbGwgYmFj ayB0byBubyBHU08gKi8KIAkJLnRsZW4gPSAxLAogCQkuZ3NvX2xlbiA9IDEsCi0JCS50ZmFpbCA9 IHRydWUsCiAJCS5yX251bV9tc3MgPSAxLAogCX0sCiAJewotLSAKMi4yMC4xCgoKRnJvbSBhMjdh NjcxOTlhZTk3NjU5MmM5MDFjNjJiNzQ3MmY3ODUxNjA3ODgwIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBEb3RhbiBCYXJhayA8ZG90YW5iQGRldi5tZWxsYW5veC5jby5pbD4KRGF0ZTog VHVlLCAxIE9jdCAyMDE5IDEwOjIxOjAyIC0wNzAwClN1YmplY3Q6IFtQQVRDSCAyMS8yNV0gbmV0 L3JkczogRml4IGVycm9yIGhhbmRsaW5nIGluIHJkc19pYl9hZGRfb25lKCkKClsgVXBzdHJlYW0g Y29tbWl0IGQ2NGJmODlhNzViNjVmODNmMDZiZTlmYjhmOTc4ZTYwZDUzNzUyZGIgXQoKcmRzX2li ZGV2OmlwYWRkcl9saXN0IGFuZCByZHNfaWJkZXY6Y29ubl9saXN0IGFyZSBpbml0aWFsaXplZAph ZnRlciBhbGxvY2F0aW9uIHNvbWUgcmVzb3VyY2VzIHN1Y2ggYXMgcHJvdGVjdGlvbiBkb21haW4u CklmIGFsbG9jYXRpb24gb2Ygc3VjaCByZXNvdXJjZXMgZmFpbCwgdGhlbiB0aGVzZSB1bmluaXRp YWxpemVkCnZhcmlhYmxlcyBhcmUgYWNjZXNzZWQgaW4gcmRzX2liX2Rldl9mcmVlKCkgaW4gZmFp bHVyZSBwYXRoLiBUaGlzCmNhbiBwb3RlbnRpYWxseSBjcmFzaCB0aGUgc3lzdGVtLiBUaGUgY29k ZSBoYXMgYmVlbiB1cGRhdGVkIHRvCmluaXRpYWxpemUgdGhlc2UgdmFyaWFibGVzIHZlcnkgZWFy bHkgaW4gdGhlIGZ1bmN0aW9uLgoKU2lnbmVkLW9mZi1ieTogRG90YW4gQmFyYWsgPGRvdGFuYkBk ZXYubWVsbGFub3guY28uaWw+ClNpZ25lZC1vZmYtYnk6IFN1ZGhha2FyIERpbmR1a3VydGkgPHN1 ZGhha2FyLmRpbmR1a3VydGlAb3JhY2xlLmNvbT4KQWNrZWQtYnk6IFNhbnRvc2ggU2hpbGlta2Fy IDxzYW50b3NoLnNoaWxpbWthckBvcmFjbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBN aWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3Jkcy9pYi5jIHwgNiArKystLS0K IDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvbmV0L3Jkcy9pYi5jIGIvbmV0L3Jkcy9pYi5jCmluZGV4IGI4ZDU4MWI3NzliMi4uOTky ZTAzY2VlZTlmIDEwMDY0NAotLS0gYS9uZXQvcmRzL2liLmMKKysrIGIvbmV0L3Jkcy9pYi5jCkBA IC0xNDMsNiArMTQzLDkgQEAgc3RhdGljIHZvaWQgcmRzX2liX2FkZF9vbmUoc3RydWN0IGliX2Rl dmljZSAqZGV2aWNlKQogCXJlZmNvdW50X3NldCgmcmRzX2liZGV2LT5yZWZjb3VudCwgMSk7CiAJ SU5JVF9XT1JLKCZyZHNfaWJkZXYtPmZyZWVfd29yaywgcmRzX2liX2Rldl9mcmVlKTsKIAorCUlO SVRfTElTVF9IRUFEKCZyZHNfaWJkZXYtPmlwYWRkcl9saXN0KTsKKwlJTklUX0xJU1RfSEVBRCgm cmRzX2liZGV2LT5jb25uX2xpc3QpOworCiAJcmRzX2liZGV2LT5tYXhfd3JzID0gZGV2aWNlLT5h dHRycy5tYXhfcXBfd3I7CiAJcmRzX2liZGV2LT5tYXhfc2dlID0gbWluKGRldmljZS0+YXR0cnMu bWF4X3NlbmRfc2dlLCBSRFNfSUJfTUFYX1NHRSk7CiAKQEAgLTIwMyw5ICsyMDYsNiBAQCBzdGF0 aWMgdm9pZCByZHNfaWJfYWRkX29uZShzdHJ1Y3QgaWJfZGV2aWNlICpkZXZpY2UpCiAJCWRldmlj ZS0+bmFtZSwKIAkJcmRzX2liZGV2LT51c2VfZmFzdHJlZyA/ICJGUk1SIiA6ICJGTVIiKTsKIAot CUlOSVRfTElTVF9IRUFEKCZyZHNfaWJkZXYtPmlwYWRkcl9saXN0KTsKLQlJTklUX0xJU1RfSEVB RCgmcmRzX2liZGV2LT5jb25uX2xpc3QpOwotCiAJZG93bl93cml0ZSgmcmRzX2liX2RldmljZXNf bG9jayk7CiAJbGlzdF9hZGRfdGFpbF9yY3UoJnJkc19pYmRldi0+bGlzdCwgJnJkc19pYl9kZXZp Y2VzKTsKIAl1cF93cml0ZSgmcmRzX2liX2RldmljZXNfbG9jayk7Ci0tIAoyLjIwLjEKCgpGcm9t IGIwOGRjOTQ0NTIzMTc0N2E1NjQ1Y2UyOTZiMTRiZTkzMjljOGViYTYgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IERvbmdsaSBaaGFuZyA8ZG9uZ2xpLnpoYW5nQG9yYWNsZS5jb20+CkRh dGU6IFR1ZSwgMSBPY3QgMjAxOSAyMTo1Njo0MSArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMjIvMjVd IHhlbi1uZXRmcm9udDogZG8gbm90IHVzZSB+MFUgYXMgZXJyb3IgcmV0dXJuIHZhbHVlIGZvcgog eGVubmV0X2ZpbGxfZnJhZ3MoKQoKWyBVcHN0cmVhbSBjb21taXQgYTc2MTEyOWUzNjI1Njg4MzEw YWVjZjI2ZTFiZTllOThlODVmOGViNSBdCgp4ZW5uZXRfZmlsbF9mcmFncygpIHVzZXMgfjBVIGFz IHJldHVybiB2YWx1ZSB3aGVuIHRoZSBza19idWZmIGlzIG5vdCBhYmxlCnRvIGNhY2hlIGV4dHJh IGZyYWdtZW50cy4gVGhpcyBpcyBpbmNvcnJlY3QgYmVjYXVzZSB0aGUgcmV0dXJuIHR5cGUgb2YK eGVubmV0X2ZpbGxfZnJhZ3MoKSBpcyBSSU5HX0lEWCBhbmQgMHhmZmZmZmZmZiBpcyBhbiBleHBl Y3RlZCB2YWx1ZSBmb3IKcmluZyBidWZmZXIgaW5kZXguCgpJbiB0aGUgc2l0dWF0aW9uIHdoZW4g dGhlIHJzcF9jb25zIGlzIGFwcHJvYWNoaW5nIDB4ZmZmZmZmZmYsIHRoZSByZXR1cm4KdmFsdWUg b2YgeGVubmV0X2ZpbGxfZnJhZ3MoKSBtYXkgYmVjb21lIDB4ZmZmZmZmZmYgd2hpY2ggeGVubmV0 X3BvbGwoKSAodGhlCmNhbGxlcikgd291bGQgcmVnYXJkIGFzIGVycm9yLiBBcyBhIHJlc3VsdCwg cXVldWUtPnJ4LnJzcF9jb25zIGlzIHNldAppbmNvcnJlY3RseSBiZWNhdXNlIGl0IGlzIHVwZGF0 ZWQgb25seSB3aGVuIHRoZXJlIGlzIGVycm9yLiBJZiB0aGVyZSBpcyBubwplcnJvciwgeGVubmV0 X3BvbGwoKSB3b3VsZCBiZSByZXNwb25zaWJsZSB0byB1cGRhdGUgcXVldWUtPnJ4LnJzcF9jb25z LgpGaW5hbGx5LCBxdWV1ZS0+cngucnNwX2NvbnMgd291bGQgcG9pbnQgdG8gdGhlIHJ4IHJpbmcg YnVmZmVyIGVudHJpZXMgd2hvc2UKcXVldWUtPnJ4X3NrYnNbaV0gYW5kIHF1ZXVlLT5ncmFudF9y eF9yZWZbaV0gYXJlIGFscmVhZHkgY2xlYXJlZCB0byBOVUxMLgpUaGlzIGxlYWRzIHRvIE5VTEwg cG9pbnRlciBhY2Nlc3MgaW4gdGhlIG5leHQgaXRlcmF0aW9uIHRvIHByb2Nlc3MgcnggcmluZwpi dWZmZXIgZW50cmllcy4KClRoZSBzeW1wdG9tIGlzIHNpbWlsYXIgdG8gdGhlIG9uZSBmaXhlZCBp bgpjb21taXQgMDBiMzY4NTAyZDE4ICgieGVuLW5ldGZyb250OiBkbyBub3QgYXNzdW1lIHNrX2J1 ZmZfaGVhZCBsaXN0IGlzCmVtcHR5IGluIGVycm9yIGhhbmRsaW5nIikuCgpUaGlzIHBhdGNoIGNo YW5nZXMgdGhlIHJldHVybiB0eXBlIG9mIHhlbm5ldF9maWxsX2ZyYWdzKCkgdG8gaW5kaWNhdGUK d2hldGhlciBpdCBpcyBzdWNjZXNzZnVsIG9yIGZhaWxlZC4gVGhlIHF1ZXVlLT5yeC5yc3BfY29u cyB3aWxsIGJlCmFsd2F5cyB1cGRhdGVkIGluc2lkZSB0aGlzIGZ1bmN0aW9uLgoKRml4ZXM6IGFk NGYxNWRjMmM3MCAoInhlbi9uZXRmcm9udDogZG9uJ3QgYnVnIGluIGNhc2Ugb2YgdG9vIG1hbnkg ZnJhZ3MiKQpTaWduZWQtb2ZmLWJ5OiBEb25nbGkgWmhhbmcgPGRvbmdsaS56aGFuZ0BvcmFjbGUu Y29tPgpSZXZpZXdlZC1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPgpTaWduZWQt b2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVy cy9uZXQveGVuLW5ldGZyb250LmMgfCAxNyArKysrKysrKystLS0tLS0tLQogMSBmaWxlIGNoYW5n ZWQsIDkgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L25ldC94ZW4tbmV0ZnJvbnQuYyBiL2RyaXZlcnMvbmV0L3hlbi1uZXRmcm9udC5jCmluZGV4IDVm NTcyMmJmNjc2Mi4uNzM3MGUwNmEwZTRiIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC94ZW4tbmV0 ZnJvbnQuYworKysgYi9kcml2ZXJzL25ldC94ZW4tbmV0ZnJvbnQuYwpAQCAtODg3LDkgKzg4Nyw5 IEBAIHN0YXRpYyBpbnQgeGVubmV0X3NldF9za2JfZ3NvKHN0cnVjdCBza19idWZmICpza2IsCiAJ cmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBSSU5HX0lEWCB4ZW5uZXRfZmlsbF9mcmFncyhzdHJ1Y3Qg bmV0ZnJvbnRfcXVldWUgKnF1ZXVlLAotCQkJCSAgc3RydWN0IHNrX2J1ZmYgKnNrYiwKLQkJCQkg IHN0cnVjdCBza19idWZmX2hlYWQgKmxpc3QpCitzdGF0aWMgaW50IHhlbm5ldF9maWxsX2ZyYWdz KHN0cnVjdCBuZXRmcm9udF9xdWV1ZSAqcXVldWUsCisJCQkgICAgIHN0cnVjdCBza19idWZmICpz a2IsCisJCQkgICAgIHN0cnVjdCBza19idWZmX2hlYWQgKmxpc3QpCiB7CiAJUklOR19JRFggY29u cyA9IHF1ZXVlLT5yeC5yc3BfY29uczsKIAlzdHJ1Y3Qgc2tfYnVmZiAqbnNrYjsKQEAgLTkwOCw3 ICs5MDgsNyBAQCBzdGF0aWMgUklOR19JRFggeGVubmV0X2ZpbGxfZnJhZ3Moc3RydWN0IG5ldGZy b250X3F1ZXVlICpxdWV1ZSwKIAkJaWYgKHVubGlrZWx5KHNrYl9zaGluZm8oc2tiKS0+bnJfZnJh Z3MgPj0gTUFYX1NLQl9GUkFHUykpIHsKIAkJCXF1ZXVlLT5yeC5yc3BfY29ucyA9ICsrY29ucyAr IHNrYl9xdWV1ZV9sZW4obGlzdCk7CiAJCQlrZnJlZV9za2IobnNrYik7Ci0JCQlyZXR1cm4gfjBV OworCQkJcmV0dXJuIC1FTk9FTlQ7CiAJCX0KIAogCQlza2JfYWRkX3J4X2ZyYWcoc2tiLCBza2Jf c2hpbmZvKHNrYiktPm5yX2ZyYWdzLApAQCAtOTE5LDcgKzkxOSw5IEBAIHN0YXRpYyBSSU5HX0lE WCB4ZW5uZXRfZmlsbF9mcmFncyhzdHJ1Y3QgbmV0ZnJvbnRfcXVldWUgKnF1ZXVlLAogCQlrZnJl ZV9za2IobnNrYik7CiAJfQogCi0JcmV0dXJuIGNvbnM7CisJcXVldWUtPnJ4LnJzcF9jb25zID0g Y29uczsKKworCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IGNoZWNrc3VtX3NldHVwKHN0cnVj dCBuZXRfZGV2aWNlICpkZXYsIHN0cnVjdCBza19idWZmICpza2IpCkBAIC0xMDQ1LDggKzEwNDcs NyBAQCBzdGF0aWMgaW50IHhlbm5ldF9wb2xsKHN0cnVjdCBuYXBpX3N0cnVjdCAqbmFwaSwgaW50 IGJ1ZGdldCkKIAkJc2tiLT5kYXRhX2xlbiA9IHJ4LT5zdGF0dXM7CiAJCXNrYi0+bGVuICs9IHJ4 LT5zdGF0dXM7CiAKLQkJaSA9IHhlbm5ldF9maWxsX2ZyYWdzKHF1ZXVlLCBza2IsICZ0bXBxKTsK LQkJaWYgKHVubGlrZWx5KGkgPT0gfjBVKSkKKwkJaWYgKHVubGlrZWx5KHhlbm5ldF9maWxsX2Zy YWdzKHF1ZXVlLCBza2IsICZ0bXBxKSkpCiAJCQlnb3RvIGVycjsKIAogCQlpZiAocngtPmZsYWdz ICYgWEVOX05FVFJYRl9jc3VtX2JsYW5rKQpAQCAtMTA1Niw3ICsxMDU3LDcgQEAgc3RhdGljIGlu dCB4ZW5uZXRfcG9sbChzdHJ1Y3QgbmFwaV9zdHJ1Y3QgKm5hcGksIGludCBidWRnZXQpCiAKIAkJ X19za2JfcXVldWVfdGFpbCgmcnhxLCBza2IpOwogCi0JCXF1ZXVlLT5yeC5yc3BfY29ucyA9ICsr aTsKKwkJaSA9ICsrcXVldWUtPnJ4LnJzcF9jb25zOwogCQl3b3JrX2RvbmUrKzsKIAl9CiAKLS0g CjIuMjAuMQoKCkZyb20gZmE2NzhmMjUwYzY3MDY2MzQ2Y2I3NzdjYzNlNzYyYWExZmRlMTg1ZSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogVmxhZGltaXIgT2x0ZWFuIDxvbHRlYW52QGdt YWlsLmNvbT4KRGF0ZTogVHVlLCAxIE9jdCAyMDE5IDIyOjA3OjAxICswMzAwClN1YmplY3Q6IFtQ QVRDSCAyMy8yNV0gcHRwX3FvcmlxOiBJbml0aWFsaXplIHRoZSByZWdpc3RlcnMnIHNwaW5sb2Nr IGJlZm9yZQogY2FsbGluZyBwdHBfcW9yaXFfc2V0dGltZQoKWyBVcHN0cmVhbSBjb21taXQgZGIz NGE0NzE0YzAxM2I2NDRlZWMyZGUwZWM4MWIxZjAzNzNiOGI5MyBdCgpCZWNhdXNlIHB0cF9xb3Jp cV9zZXR0aW1lIGlzIGJlaW5nIGNhbGxlZCBwcmlvciB0byBzcGluX2xvY2tfaW5pdCwgdGhlCmZv bGxvd2luZyBzdGFjayB0cmFjZSBjYW4gYmUgc2VlbiBhdCBkcml2ZXIgcHJvYmUgdGltZToKClsg ICAgMi4yNjkxMTddIHRoZSBjb2RlIGlzIGZpbmUgYnV0IG5lZWRzIGxvY2tkZXAgYW5ub3RhdGlv bi4KWyAgICAyLjI3NDU2OV0gdHVybmluZyBvZmYgdGhlIGxvY2tpbmcgY29ycmVjdG5lc3MgdmFs aWRhdG9yLgpbICAgIDIuMjgwMDI3XSBDUFU6IDEgUElEOiAxIENvbW06IHN3YXBwZXIvMCBOb3Qg dGFpbnRlZCA1LjMuMC1yYzctMDE0NzgtZzAxZWFhNjdhNDc5NyAjMjYzClsgICAgMi4yODgwNzNd IEhhcmR3YXJlIG5hbWU6IEZyZWVzY2FsZSBMUzEwMjFBClsgICAgMi4yOTIzMzddIFs8YzAzMTNj YjQ+XSAodW53aW5kX2JhY2t0cmFjZSkgZnJvbSBbPGMwMzBlMTFjPl0gKHNob3dfc3RhY2srMHgx MC8weDE0KQpbICAgIDIuMzAwMDQ1XSBbPGMwMzBlMTFjPl0gKHNob3dfc3RhY2spIGZyb20gWzxj MTIxOTQ0MD5dIChkdW1wX3N0YWNrKzB4Y2MvMHhmOCkKWyAgICAyLjMwNzIzNV0gWzxjMTIxOTQ0 MD5dIChkdW1wX3N0YWNrKSBmcm9tIFs8YzAzYjliNDQ+XSAocmVnaXN0ZXJfbG9ja19jbGFzcysw eDczMC8weDczYykKWyAgICAyLjMxNTM3Ml0gWzxjMDNiOWI0ND5dIChyZWdpc3Rlcl9sb2NrX2Ns YXNzKSBmcm9tIFs8YzAzYjYxOTA+XSAoX19sb2NrX2FjcXVpcmUrMHg3OC8weDI3MGMpClsgICAg Mi4zMjM4NTZdIFs8YzAzYjYxOTA+XSAoX19sb2NrX2FjcXVpcmUpIGZyb20gWzxjMDNiOTBjYz5d IChsb2NrX2FjcXVpcmUrMHhlMC8weDIyYykKWyAgICAyLjMzMTY0OV0gWzxjMDNiOTBjYz5dIChs b2NrX2FjcXVpcmUpIGZyb20gWzxjMTIzYzMxMD5dIChfcmF3X3NwaW5fbG9ja19pcnFzYXZlKzB4 NTQvMHg2OCkKWyAgICAyLjM0MDA0OF0gWzxjMTIzYzMxMD5dIChfcmF3X3NwaW5fbG9ja19pcnFz YXZlKSBmcm9tIFs8YzBlNzNmZTQ+XSAocHRwX3FvcmlxX3NldHRpbWUrMHgzOC8weDgwKQpbICAg IDIuMzQ4ODc4XSBbPGMwZTczZmU0Pl0gKHB0cF9xb3JpcV9zZXR0aW1lKSBmcm9tIFs8YzBlNzQ2 ZDQ+XSAocHRwX3FvcmlxX2luaXQrMHgxZjgvMHg0ODQpClsgICAgMi4zNTcxODldIFs8YzBlNzQ2 ZDQ+XSAocHRwX3FvcmlxX2luaXQpIGZyb20gWzxjMGU3NGFhYz5dIChwdHBfcW9yaXFfcHJvYmUr MHhkMC8weDE4NCkKWyAgICAyLjM2NTI0M10gWzxjMGU3NGFhYz5dIChwdHBfcW9yaXFfcHJvYmUp IGZyb20gWzxjMGIwYTA3Yz5dIChwbGF0Zm9ybV9kcnZfcHJvYmUrMHg0OC8weDljKQpbICAgIDIu MzczNTU1XSBbPGMwYjBhMDdjPl0gKHBsYXRmb3JtX2Rydl9wcm9iZSkgZnJvbSBbPGMwYjA3YTE0 Pl0gKHJlYWxseV9wcm9iZSsweDFjNC8weDQwMCkKWyAgICAyLjM4MTc3OV0gWzxjMGIwN2ExND5d IChyZWFsbHlfcHJvYmUpIGZyb20gWzxjMGIwN2UyOD5dIChkcml2ZXJfcHJvYmVfZGV2aWNlKzB4 NzgvMHgxYjgpClsgICAgMi4zOTAwMDNdIFs8YzBiMDdlMjg+XSAoZHJpdmVyX3Byb2JlX2Rldmlj ZSkgZnJvbSBbPGMwYjA4MWQwPl0gKGRldmljZV9kcml2ZXJfYXR0YWNoKzB4NTgvMHg2MCkKWyAg ICAyLjM5ODgzMl0gWzxjMGIwODFkMD5dIChkZXZpY2VfZHJpdmVyX2F0dGFjaCkgZnJvbSBbPGMw YjA4MmQ0Pl0gKF9fZHJpdmVyX2F0dGFjaCsweGZjLzB4MTYwKQpbICAgIDIuNDA3NDAyXSBbPGMw YjA4MmQ0Pl0gKF9fZHJpdmVyX2F0dGFjaCkgZnJvbSBbPGMwYjA1YTg0Pl0gKGJ1c19mb3JfZWFj aF9kZXYrMHg2OC8weGI0KQpbICAgIDIuNDE1NTM5XSBbPGMwYjA1YTg0Pl0gKGJ1c19mb3JfZWFj aF9kZXYpIGZyb20gWzxjMGIwNmI2OD5dIChidXNfYWRkX2RyaXZlcisweDEwNC8weDIwYykKWyAg ICAyLjQyMzc2M10gWzxjMGIwNmI2OD5dIChidXNfYWRkX2RyaXZlcikgZnJvbSBbPGMwYjA5MDlj Pl0gKGRyaXZlcl9yZWdpc3RlcisweDc4LzB4MTBjKQpbICAgIDIuNDMxODE1XSBbPGMwYjA5MDlj Pl0gKGRyaXZlcl9yZWdpc3RlcikgZnJvbSBbPGMwMzAzMTNjPl0gKGRvX29uZV9pbml0Y2FsbCsw eDhjLzB4M2FjKQpbICAgIDIuNDM5OTU0XSBbPGMwMzAzMTNjPl0gKGRvX29uZV9pbml0Y2FsbCkg ZnJvbSBbPGMxZjAxM2Y0Pl0gKGtlcm5lbF9pbml0X2ZyZWVhYmxlKzB4NDY4LzB4NTQ4KQpbICAg IDIuNDQ4NjEwXSBbPGMxZjAxM2Y0Pl0gKGtlcm5lbF9pbml0X2ZyZWVhYmxlKSBmcm9tIFs8YzEy MzQ0ZDg+XSAoa2VybmVsX2luaXQrMHg4LzB4MTBjKQpbICAgIDIuNDU2NzQ1XSBbPGMxMjM0NGQ4 Pl0gKGtlcm5lbF9pbml0KSBmcm9tIFs8YzAzMDEwYjQ+XSAocmV0X2Zyb21fZm9yaysweDE0LzB4 MjApClsgICAgMi40NjQyNzNdIEV4Y2VwdGlvbiBzdGFjaygweGVhODlmZmIwIHRvIDB4ZWE4OWZm ZjgpClsgICAgMi40NjkyOTddIGZmYTA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgMi40Nzc0MzJdIGZm YzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw IDAwMDAwMDAwIDAwMDAwMDAwClsgICAgMi40ODU1NjZdIGZmZTA6IDAwMDAwMDAwIDAwMDAwMDAw IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDEzIDAwMDAwMDAwCgpGaXhlczogZmY1NDU3MWE3NDdi ICgicHRwX3FvcmlxOiBjb252ZXJ0IHRvIHVzZSBwdHBfcW9yaXFfaW5pdC9mcmVlIikKU2lnbmVk LW9mZi1ieTogVmxhZGltaXIgT2x0ZWFuIDxvbHRlYW52QGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1i eTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvcHRw L3B0cF9xb3JpcS5jIHwgMyArKy0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEg ZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3B0cC9wdHBfcW9yaXEuYyBiL2RyaXZl cnMvcHRwL3B0cF9xb3JpcS5jCmluZGV4IGM2MWYwMGI3MmUxNS4uYTU3NzIxOGQxYWI3IDEwMDY0 NAotLS0gYS9kcml2ZXJzL3B0cC9wdHBfcW9yaXEuYworKysgYi9kcml2ZXJzL3B0cC9wdHBfcW9y aXEuYwpAQCAtNTA3LDYgKzUwNyw4IEBAIGludCBwdHBfcW9yaXFfaW5pdChzdHJ1Y3QgcHRwX3Fv cmlxICpwdHBfcW9yaXEsIHZvaWQgX19pb21lbSAqYmFzZSwKIAkJcHRwX3FvcmlxLT5yZWdzLmV0 dHNfcmVncyA9IGJhc2UgKyBFVFRTX1JFR1NfT0ZGU0VUOwogCX0KIAorCXNwaW5fbG9ja19pbml0 KCZwdHBfcW9yaXEtPmxvY2spOworCiAJa3RpbWVfZ2V0X3JlYWxfdHM2NCgmbm93KTsKIAlwdHBf cW9yaXFfc2V0dGltZSgmcHRwX3FvcmlxLT5jYXBzLCAmbm93KTsKIApAQCAtNTE0LDcgKzUxNiw2 IEBAIGludCBwdHBfcW9yaXFfaW5pdChzdHJ1Y3QgcHRwX3FvcmlxICpwdHBfcW9yaXEsIHZvaWQg X19pb21lbSAqYmFzZSwKIAkgIChwdHBfcW9yaXEtPnRjbGtfcGVyaW9kICYgVENMS19QRVJJT0Rf TUFTSykgPDwgVENMS19QRVJJT0RfU0hJRlQgfAogCSAgKHB0cF9xb3JpcS0+Y2tzZWwgJiBDS1NF TF9NQVNLKSA8PCBDS1NFTF9TSElGVDsKIAotCXNwaW5fbG9ja19pbml0KCZwdHBfcW9yaXEtPmxv Y2spOwogCXNwaW5fbG9ja19pcnFzYXZlKCZwdHBfcW9yaXEtPmxvY2ssIGZsYWdzKTsKIAogCXJl Z3MgPSAmcHRwX3FvcmlxLT5yZWdzOwotLSAKMi4yMC4xCgoKRnJvbSBkOGQxZWYxM2I4NzUyNzk1 ZmM3NWM3MTlkOGIxODhhY2ZkYTJjZmU2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBW bGFkaW1pciBPbHRlYW4gPG9sdGVhbnZAZ21haWwuY29tPgpEYXRlOiBTdW4sIDI5IFNlcCAyMDE5 IDAyOjM5OjQ4ICswMzAwClN1YmplY3Q6IFtQQVRDSCAyNC8yNV0gbmV0OiBzY2hlZDogY2JzOiBB dm9pZCBkaXZpc2lvbiBieSB6ZXJvIHdoZW4KIGNhbGN1bGF0aW5nIHRoZSBwb3J0IHJhdGUKClsg VXBzdHJlYW0gY29tbWl0IDgzYzhjM2NmNDUxNjNmMGM4MjNkYjM3YmU2YWIwNGRmY2Y4YWM3NTEg XQoKQXMgZXhwbGFpbmVkIGluIHRoZSAibmV0OiBzY2hlZDogdGFwcmlvOiBBdm9pZCBkaXZpc2lv biBieSB6ZXJvIG9uCmludmFsaWQgbGluayBzcGVlZCIgY29tbWl0LCBpdCBpcyBsZWdhbCBmb3Ig dGhlIGV0aHRvb2wgQVBJIHRvIHJldHVybgp6ZXJvIGFzIGEgbGluayBzcGVlZC4gU28gZ3VhcmQg YWdhaW5zdCBpdCB0byBlbnN1cmUgd2UgZG9uJ3QgcGVyZm9ybSBhCmRpdmlzaW9uIGJ5IHplcm8g aW4ga2VybmVsLgoKRml4ZXM6IGUwYTc2ODNkMzBlOSAoIm5ldC9zY2hlZDogY2JzOiBmaXggcG9y dF9yYXRlIG1pc2NhbGN1bGF0aW9uIikKU2lnbmVkLW9mZi1ieTogVmxhZGltaXIgT2x0ZWFuIDxv bHRlYW52QGdtYWlsLmNvbT4KQWNrZWQtYnk6IFZpbmljaXVzIENvc3RhIEdvbWVzIDx2aW5pY2l1 cy5nb21lc0BpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1A ZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvc2NoZWQvc2NoX2Nicy5jIHwgMiArLQogMSBmaWxlIGNo YW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3Nj aGVkL3NjaF9jYnMuYyBiL25ldC9zY2hlZC9zY2hfY2JzLmMKaW5kZXggNGE0MDNkMzU0MzhmLi4y ODRhYjJkY2Y0N2YgMTAwNjQ0Ci0tLSBhL25ldC9zY2hlZC9zY2hfY2JzLmMKKysrIGIvbmV0L3Nj aGVkL3NjaF9jYnMuYwpAQCAtMzA2LDcgKzMwNiw3IEBAIHN0YXRpYyB2b2lkIGNic19zZXRfcG9y dF9yYXRlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHN0cnVjdCBjYnNfc2NoZWRfZGF0YSAqcSkK IAlpZiAoZXJyIDwgMCkKIAkJZ290byBza2lwOwogCi0JaWYgKGVjbWQuYmFzZS5zcGVlZCAhPSBT UEVFRF9VTktOT1dOKQorCWlmIChlY21kLmJhc2Uuc3BlZWQgJiYgZWNtZC5iYXNlLnNwZWVkICE9 IFNQRUVEX1VOS05PV04pCiAJCXNwZWVkID0gZWNtZC5iYXNlLnNwZWVkOwogCiBza2lwOgotLSAK Mi4yMC4xCgoKRnJvbSBhMWI5YzI0MmFjOTdjMDQzY2ZhMzFjZDllMzI1N2Y0YzAyYmY5YjNmIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBWbGFkaW1pciBPbHRlYW4gPG9sdGVhbnZAZ21h aWwuY29tPgpEYXRlOiBTdW4sIDI5IFNlcCAyMDE5IDAyOjM3OjIyICswMzAwClN1YmplY3Q6IFtQ QVRDSCAyNS8yNV0gbmV0OiBzY2hlZDogdGFwcmlvOiBBdm9pZCBkaXZpc2lvbiBieSB6ZXJvIG9u IGludmFsaWQKIGxpbmsgc3BlZWQKClsgVXBzdHJlYW0gY29tbWl0IDlhOTI1MWEzNTM0NzQ1ZDA4 YTkyYWJmZWNhMGNhNDY3YjkxMmI1ZjYgXQoKVGhlIGNoZWNrIGluIHRhcHJpb19zZXRfcGljb3Nf cGVyX2J5dGUgaXMgY3VycmVudGx5IG5vdCByb2J1c3QgZW5vdWdoCmFuZCB3aWxsIHRyaWdnZXIg dGhpcyBkaXZpc2lvbiBieSB6ZXJvLCBkdWUgdG8gZS5nLiBQSFlMSU5LIG5vdCBzZXR0aW5nCmtz ZXQtPmJhc2Uuc3BlZWQgd2hlbiB0aGVyZSBpcyBubyBQSFkgY29ubmVjdGVkOgoKWyAgIDI3LjEw OTk5Ml0gRGl2aXNpb24gYnkgemVybyBpbiBrZXJuZWwuClsgICAyNy4xMTM4NDJdIENQVTogMSBQ SUQ6IDE5OCBDb21tOiB0YyBOb3QgdGFpbnRlZCA1LjMuMC1yYzUtMDEyNDYtZ2M0MDA2YjhjMjYz Ny1kaXJ0eSAjMjEyClsgICAyNy4xMjE5NzRdIEhhcmR3YXJlIG5hbWU6IEZyZWVzY2FsZSBMUzEw MjFBClsgICAyNy4xMjYyMzRdIFs8YzAzMTMyZTA+XSAodW53aW5kX2JhY2t0cmFjZSkgZnJvbSBb PGMwMzBkOGI4Pl0gKHNob3dfc3RhY2srMHgxMC8weDE0KQpbICAgMjcuMTMzOTM4XSBbPGMwMzBk OGI4Pl0gKHNob3dfc3RhY2spIGZyb20gWzxjMTBiMjFiMD5dIChkdW1wX3N0YWNrKzB4YjAvMHhj NCkKWyAgIDI3LjE0MTEyNF0gWzxjMTBiMjFiMD5dIChkdW1wX3N0YWNrKSBmcm9tIFs8YzEwYWY5 N2M+XSAoTGRpdjBfNjQrMHg4LzB4MTgpClsgICAyNy4xNDgwNTJdIFs8YzEwYWY5N2M+XSAoTGRp djBfNjQpIGZyb20gWzxjMDcwMDI2MD5dIChkaXY2NF91NjQrMHhjYy8weGYwKQpbICAgMjcuMTU0 OTc4XSBbPGMwNzAwMjYwPl0gKGRpdjY0X3U2NCkgZnJvbSBbPGMwNzAwMmQwPl0gKGRpdjY0X3M2 NCsweDRjLzB4NjgpClsgICAyNy4xNjE5OTNdIFs8YzA3MDAyZDA+XSAoZGl2NjRfczY0KSBmcm9t IFs8YzBmM2Q4OTA+XSAodGFwcmlvX3NldF9waWNvc19wZXJfYnl0ZSsweGU4LzB4ZjQpClsgICAy Ny4xNzAzODhdIFs8YzBmM2Q4OTA+XSAodGFwcmlvX3NldF9waWNvc19wZXJfYnl0ZSkgZnJvbSBb PGMwZjNmNjE0Pl0gKHRhcHJpb19jaGFuZ2UrMHg2NjgvMHhjZWMpClsgICAyNy4xNzkzMDJdIFs8 YzBmM2Y2MTQ+XSAodGFwcmlvX2NoYW5nZSkgZnJvbSBbPGMwZjJiYzI0Pl0gKHFkaXNjX2NyZWF0 ZSsweDFmYy8weDRmNCkKWyAgIDI3LjE4NzA5MV0gWzxjMGYyYmMyND5dIChxZGlzY19jcmVhdGUp IGZyb20gWzxjMGYyYzBjOD5dICh0Y19tb2RpZnlfcWRpc2MrMHgxYWMvMHg2ZjgpClsgICAyNy4x OTUwNTVdIFs8YzBmMmMwYzg+XSAodGNfbW9kaWZ5X3FkaXNjKSBmcm9tIFs8YzBlZTk2MDQ+XSAo cnRuZXRsaW5rX3Jjdl9tc2crMHgyNjgvMHgyZGMpClsgICAyNy4yMDM0NDldIFs8YzBlZTk2MDQ+ XSAocnRuZXRsaW5rX3Jjdl9tc2cpIGZyb20gWzxjMGY0ZmVmMD5dIChuZXRsaW5rX3Jjdl9za2Ir MHhlMC8weDExNCkKWyAgIDI3LjIxMTc1Nl0gWzxjMGY0ZmVmMD5dIChuZXRsaW5rX3Jjdl9za2Ip IGZyb20gWzxjMGY0ZjZjYz5dIChuZXRsaW5rX3VuaWNhc3QrMHgxYjQvMHgyMmMpClsgICAyNy4y MTk5NzddIFs8YzBmNGY2Y2M+XSAobmV0bGlua191bmljYXN0KSBmcm9tIFs8YzBmNGZhODQ+XSAo bmV0bGlua19zZW5kbXNnKzB4Mjg0LzB4MzQwKQpbICAgMjcuMjI4MTk4XSBbPGMwZjRmYTg0Pl0g KG5ldGxpbmtfc2VuZG1zZykgZnJvbSBbPGMwZWFlNWZjPl0gKHNvY2tfc2VuZG1zZysweDE0LzB4 MjQpClsgICAyNy4yMzU5ODhdIFs8YzBlYWU1ZmM+XSAoc29ja19zZW5kbXNnKSBmcm9tIFs8YzBl YWVkZjg+XSAoX19fc3lzX3NlbmRtc2crMHgyMTQvMHgyMjgpClsgICAyNy4yNDM4NjNdIFs8YzBl YWVkZjg+XSAoX19fc3lzX3NlbmRtc2cpIGZyb20gWzxjMGViMDE1Yz5dIChfX3N5c19zZW5kbXNn KzB4NTAvMHg4YykKWyAgIDI3LjI1MTY1Ml0gWzxjMGViMDE1Yz5dIChfX3N5c19zZW5kbXNnKSBm cm9tIFs8YzAzMDEwMDA+XSAocmV0X2Zhc3Rfc3lzY2FsbCsweDAvMHg1NCkKWyAgIDI3LjI1OTUy NF0gRXhjZXB0aW9uIHN0YWNrKDB4ZTgwNDVmYTggdG8gMHhlODA0NWZmMCkKWyAgIDI3LjI2NDU0 Nl0gNWZhMDogICAgICAgICAgICAgICAgICAgYjZmNjA4YzggMDAwMDAwZjggMDAwMDAwMDMgYmVk N2UyZjAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgIDI3LjI3MjY4MV0gNWZjMDogYjZmNjA4YzggMDAw MDAwZjggMDA0Y2U1NGMgMDAwMDAxMjggNWQzY2U4YzcgMDAwMDAwMDAgMDAwMDAwMjYgMDA1MDVj OWMKWyAgIDI3LjI4MDgxMl0gNWZlMDogMDAwMDAwNzAgYmVkN2UyOTggMDA0ZGRkNjQgYjZkZDFl NjQKClJ1c3NlbGwgS2luZyBwb2ludHMgb3V0IHRoYXQgdGhlIGV0aHRvb2wgQVBJIHNheXMgemVy byBpcyBhIHZhbGlkIHJldHVybgp2YWx1ZSBvZiBfX2V0aHRvb2xfZ2V0X2xpbmtfa3NldHRpbmdz OgoKICAgKiBJZiBpdCBpcyBlbmFibGVkIHRoZW4gdGhleSBhcmUgcmVhZC1vbmx5OyBpZiB0aGUg bGluawogICAqIGlzIHVwIHRoZXkgcmVwcmVzZW50IHRoZSBuZWdvdGlhdGVkIGxpbmsgbW9kZTsg aWYgdGhlIGxpbmsgaXMgZG93biwKICAgKiB0aGUgc3BlZWQgaXMgMCwgJVNQRUVEX1VOS05PV04g b3IgdGhlIGhpZ2hlc3QgZW5hYmxlZCBzcGVlZCBhbmQKICAgKiBAZHVwbGV4IGlzICVEVVBMRVhf VU5LTk9XTiBvciB0aGUgYmVzdCBlbmFibGVkIGR1cGxleCBtb2RlLgoKICBTbywgaXQgc2VlbXMg dGhhdCB0YXByaW8gaXMgbm90IGZvbGxvd2luZyB0aGUgQVBJLi4uIEknZCBzdWdnZXN0IGVpdGhl cgogIGZpeGluZyB0YXByaW8sIG9yIGdldHRpbmcgYWdyZWVtZW50IHRvIGNoYW5nZSB0aGUgZXRo dG9vbCBBUEkuCgpUaGUgY2hvc2VuIHBhdGggd2FzIHRvIGZpeCB0YXByaW8uCgpGaXhlczogN2I5 ZWJhN2JhMGMxICgibmV0L3NjaGVkOiB0YXByaW86IGZpeCBwaWNvc19wZXJfYnl0ZSBtaXNjYWxj dWxhdGlvbiIpClNpZ25lZC1vZmYtYnk6IFZsYWRpbWlyIE9sdGVhbiA8b2x0ZWFudkBnbWFpbC5j b20+CkFja2VkLWJ5OiBWaW5pY2l1cyBDb3N0YSBHb21lcyA8dmluaWNpdXMuZ29tZXNAaW50ZWwu Y29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+ Ci0tLQogbmV0L3NjaGVkL3NjaF90YXByaW8uYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL25ldC9zY2hlZC9zY2hfdGFw cmlvLmMgYi9uZXQvc2NoZWQvc2NoX3RhcHJpby5jCmluZGV4IGYzZjk1OWY1NDU4Yi4uMmYyOTY3 ZGNmMTVhIDEwMDY0NAotLS0gYS9uZXQvc2NoZWQvc2NoX3RhcHJpby5jCisrKyBiL25ldC9zY2hl ZC9zY2hfdGFwcmlvLmMKQEAgLTY2OCw3ICs2NjgsNyBAQCBzdGF0aWMgdm9pZCB0YXByaW9fc2V0 X3BpY29zX3Blcl9ieXRlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAJaWYgKGVyciA8IDApCiAJ CWdvdG8gc2tpcDsKIAotCWlmIChlY21kLmJhc2Uuc3BlZWQgIT0gU1BFRURfVU5LTk9XTikKKwlp ZiAoZWNtZC5iYXNlLnNwZWVkICYmIGVjbWQuYmFzZS5zcGVlZCAhPSBTUEVFRF9VTktOT1dOKQog CQlzcGVlZCA9IGVjbWQuYmFzZS5zcGVlZDsKIAogc2tpcDoKLS0gCjIuMjAuMQoK ----Next_Part(Sat_Oct__5_14_57_22_2019_856)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_53.mbox" RnJvbSBmYTg3ZTdiOTE4Y2ZiOTQ3MDllYmUyZjMzMDMwZDk1YWRhOTFiOTZmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaXNoYWwgS3Vsa2FybmkgPHZpc2hhbEBjaGVsc2lvLmNvbT4K RGF0ZTogRnJpLCA0IE9jdCAyMDE5IDA0OjA2OjE1ICswNTMwClN1YmplY3Q6IFtQQVRDSCAwMS8z MF0gY3hnYjQ6Rml4IG91dC1vZi1ib3VuZHMgTVNJLVggaW5mbyBhcnJheSBhY2Nlc3MKClsgVXBz dHJlYW0gY29tbWl0IDZiNTE3Mzc0ZjRlYTVhM2M2ZTMwN2UxMjE5ZWM1ZjM1ZDQyZTZkMDAgXQoK V2hlbiBmZXRjaGluZyBmcmVlIE1TSS1YIHZlY3RvcnMgZm9yIFVMRHMsIGNoZWNrIGZvciB0aGUg ZXJyb3IgY29kZQpiZWZvcmUgYWNjZXNzaW5nIE1TSS1YIGluZm8gYXJyYXkuIE90aGVyd2lzZSwg YW4gb3V0LW9mLWJvdW5kcyBhY2Nlc3MgaXMKYXR0ZW1wdGVkLCB3aGljaCByZXN1bHRzIGluIGtl cm5lbCBwYW5pYy4KCkZpeGVzOiA5NGNkYjhiYjk5M2EgKCJjeGdiNDogQWRkIHN1cHBvcnQgZm9y IGR5bmFtaWMgYWxsb2NhdGlvbiBvZiByZXNvdXJjZXMgZm9yIFVMRCIpClNpZ25lZC1vZmYtYnk6 IFNoYWhqYWRhIEFidWwgSHVzYWluIDxzaGFoamFkYUBjaGVsc2lvLmNvbT4KU2lnbmVkLW9mZi1i eTogVmlzaGFsIEt1bGthcm5pIDx2aXNoYWxAY2hlbHNpby5jb20+ClNpZ25lZC1vZmYtYnk6IERh dmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhl cm5ldC9jaGVsc2lvL2N4Z2I0L2N4Z2I0X3VsZC5jIHwgOSArKysrKystLS0KIDEgZmlsZSBjaGFu Z2VkLCA2IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiNC9jeGdiNF91bGQuYyBiL2RyaXZlcnMvbmV0L2V0 aGVybmV0L2NoZWxzaW8vY3hnYjQvY3hnYjRfdWxkLmMKaW5kZXggNWI2MDIyNDNkNTczLi5hNGRl YWQ0YWIwZWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjQv Y3hnYjRfdWxkLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiNC9jeGdi NF91bGQuYwpAQCAtMTM3LDEzICsxMzcsMTIgQEAgc3RhdGljIGludCB1bGRyeF9oYW5kbGVyKHN0 cnVjdCBzZ2VfcnNwcSAqcSwgY29uc3QgX19iZTY0ICpyc3AsCiBzdGF0aWMgaW50IGFsbG9jX3Vs ZF9yeHFzKHN0cnVjdCBhZGFwdGVyICphZGFwLAogCQkJICBzdHJ1Y3Qgc2dlX3VsZF9yeHFfaW5m byAqcnhxX2luZm8sIGJvb2wgbHJvKQogewotCXN0cnVjdCBzZ2UgKnMgPSAmYWRhcC0+c2dlOwog CXVuc2lnbmVkIGludCBucSA9IHJ4cV9pbmZvLT5ucnhxICsgcnhxX2luZm8tPm5jaXE7CisJaW50 IGksIGVyciwgbXNpX2lkeCwgcXVlX2lkeCA9IDAsIGJtYXBfaWR4ID0gMDsKIAlzdHJ1Y3Qgc2dl X29mbGRfcnhxICpxID0gcnhxX2luZm8tPnVsZHJ4cTsKIAl1bnNpZ25lZCBzaG9ydCAqaWRzID0g cnhxX2luZm8tPnJzcHFfaWQ7Ci0JdW5zaWduZWQgaW50IGJtYXBfaWR4ID0gMDsKKwlzdHJ1Y3Qg c2dlICpzID0gJmFkYXAtPnNnZTsKIAl1bnNpZ25lZCBpbnQgcGVyX2NoYW47Ci0JaW50IGksIGVy ciwgbXNpX2lkeCwgcXVlX2lkeCA9IDA7CiAKIAlwZXJfY2hhbiA9IHJ4cV9pbmZvLT5ucnhxIC8g YWRhcC0+cGFyYW1zLm5wb3J0czsKIApAQCAtMTYxLDYgKzE2MCwxMCBAQCBzdGF0aWMgaW50IGFs bG9jX3VsZF9yeHFzKHN0cnVjdCBhZGFwdGVyICphZGFwLAogCiAJCWlmIChtc2lfaWR4ID49IDAp IHsKIAkJCWJtYXBfaWR4ID0gZ2V0X21zaXhfaWR4X2Zyb21fYm1hcChhZGFwKTsKKwkJCWlmIChi bWFwX2lkeCA8IDApIHsKKwkJCQllcnIgPSAtRU5PU1BDOworCQkJCWdvdG8gZnJlZW91dDsKKwkJ CX0KIAkJCW1zaV9pZHggPSBhZGFwLT5tc2l4X2luZm9fdWxkc1tibWFwX2lkeF0uaWR4OwogCQl9 CiAJCWVyciA9IHQ0X3NnZV9hbGxvY19yeHEoYWRhcCwgJnEtPnJzcHEsIGZhbHNlLAotLSAKMi4y MC4xCgoKRnJvbSAxMGZlZTQ4NjE1NjFmM2MzODcwZGFjMGFhZTYzYWI0NWI0NDMyM2JjIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIYWlzaHVhbmcgWWFuIDx5YW5oYWlzaHVhbmdAY21z cy5jaGluYW1vYmlsZS5jb20+CkRhdGU6IEZyaSwgMjcgU2VwIDIwMTkgMTQ6NTg6MjAgKzA4MDAK U3ViamVjdDogW1BBVENIIDAyLzMwXSBlcnNwYW46IHJlbW92ZSB0aGUgaW5jb3JyZWN0IG10dSBs aW1pdCBmb3IgZXJzcGFuCgpbIFVwc3RyZWFtIGNvbW1pdCAwZTE0MWY3NTdiMmM3OGM5ODNkZjg5 M2U5OTkzMzEzZTJkYzIxZTM4IF0KCmVyc3BhbiBkcml2ZXIgY2FsbHMgZXRoZXJfc2V0dXAoKSwg YWZ0ZXIgY29tbWl0IDYxZTg0NjIzYWNlMwooIm5ldDogY2VudHJhbGl6ZSBuZXRfZGV2aWNlIG1p bi9tYXggTVRVIGNoZWNraW5nIiksIHRoZSByYW5nZQpvZiBtdHUgaXMgW21pbl9tdHUsIG1heF9t dHVdLCB3aGljaCBpcyBbNjgsIDE1MDBdIGJ5IGRlZmF1bHQuCgpJdCBjYXVzZXMgdGhlIGRldiBt dHUgb2YgdGhlIGVyc3BhbiBkZXZpY2UgdG8gbm90IGJlIGdyZWF0ZXIKdGhhbiAxNTAwLCB0aGlz IGxpbWl0IHZhbHVlIGlzIG5vdCBjb3JyZWN0IGZvciBpcGdyZSB0YXAgZGV2aWNlLgoKVGVzdGVk OgpCZWZvcmUgcGF0Y2g6CiMgaXAgbGluayBzZXQgZXJzcGFuMCBtdHUgMTYwMApFcnJvcjogbXR1 IGdyZWF0ZXIgdGhhbiBkZXZpY2UgbWF4aW11bS4KQWZ0ZXIgcGF0Y2g6CiMgaXAgbGluayBzZXQg ZXJzcGFuMCBtdHUgMTYwMAojIGlwIC1kIGxpbmsgc2hvdyBlcnNwYW4wCjIxOiBlcnNwYW4wQE5P TkU6IDxCUk9BRENBU1QsTVVMVElDQVNUPiBtdHUgMTYwMCBxZGlzYyBub29wIHN0YXRlIERPV04K bW9kZSBERUZBVUxUIGdyb3VwIGRlZmF1bHQgcWxlbiAxMDAwCiAgICBsaW5rL2V0aGVyIDAwOjAw OjAwOjAwOjAwOjAwIGJyZCBmZjpmZjpmZjpmZjpmZjpmZiBwcm9taXNjdWl0eSAwIG1pbm10dSA2 OCBtYXhtdHUgMAoKRml4ZXM6IDYxZTg0NjIzYWNlMyAoIm5ldDogY2VudHJhbGl6ZSBuZXRfZGV2 aWNlIG1pbi9tYXggTVRVIGNoZWNraW5nIikKU2lnbmVkLW9mZi1ieTogSGFpc2h1YW5nIFlhbiA8 eWFuaGFpc2h1YW5nQGNtc3MuY2hpbmFtb2JpbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjQvaXBfZ3JlLmMgfCAx ICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY0 L2lwX2dyZS5jIGIvbmV0L2lwdjQvaXBfZ3JlLmMKaW5kZXggYTUzYTU0M2ZlMDU1Li41MjY5MGJi M2U0MGYgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L2lwX2dyZS5jCisrKyBiL25ldC9pcHY0L2lwX2dy ZS5jCkBAIC0xNDQ2LDYgKzE0NDYsNyBAQCBzdGF0aWMgdm9pZCBlcnNwYW5fc2V0dXAoc3RydWN0 IG5ldF9kZXZpY2UgKmRldikKIAlzdHJ1Y3QgaXBfdHVubmVsICp0ID0gbmV0ZGV2X3ByaXYoZGV2 KTsKIAogCWV0aGVyX3NldHVwKGRldik7CisJZGV2LT5tYXhfbXR1ID0gMDsKIAlkZXYtPm5ldGRl dl9vcHMgPSAmZXJzcGFuX25ldGRldl9vcHM7CiAJZGV2LT5wcml2X2ZsYWdzICY9IH5JRkZfVFhf U0tCX1NIQVJJTkc7CiAJZGV2LT5wcml2X2ZsYWdzIHw9IElGRl9MSVZFX0FERFJfQ0hBTkdFOwot LSAKMi4yMC4xCgoKRnJvbSA0NmQxMTRlODJmYzIzZTcwN2FkODhmOTZiNzAzYjU3MGUyYzZiZjA0 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2hhbiBIb3ZvbGQgPGpvaGFuQGtlcm5l bC5vcmc+CkRhdGU6IE1vbiwgMzAgU2VwIDIwMTkgMTc6MTI6NDEgKzAyMDAKU3ViamVjdDogW1BB VENIIDAzLzMwXSBoc286IGZpeCBOVUxMLWRlcmVmIG9uIHR0eSBvcGVuCgpbIFVwc3RyZWFtIGNv bW1pdCA4MzUzZGE5ZmE2OTcyMmI1NGNiYTgyYjJlYzc0MGFmZDNkNDM4NzQ4IF0KCkZpeCBOVUxM LXBvaW50ZXIgZGVyZWZlcmVuY2Ugb24gdHR5IG9wZW4gZHVlIHRvIGEgZmFpbHVyZSB0byBoYW5k bGUgYQptaXNzaW5nIGludGVycnVwdC1pbiBlbmRwb2ludCB3aGVuIHByb2JpbmcgbW9kZW0gcG9y dHM6CgoJQlVHOiBrZXJuZWwgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlLCBhZGRyZXNzOiAwMDAw MDAwMDAwMDAwMDA2CgkuLi4KCVJJUDogMDAxMDp0aW9jbWdldF9zdWJtaXRfdXJiKzB4MWMvMHhl MCBbaHNvXQoJLi4uCglDYWxsIFRyYWNlOgoJaHNvX3N0YXJ0X3NlcmlhbF9kZXZpY2UrMHhkYy8w eDE0MCBbaHNvXQoJaHNvX3NlcmlhbF9vcGVuKzB4MTE4LzB4MWIwIFtoc29dCgl0dHlfb3Blbisw eGYxLzB4NDkwCgpGaXhlczogNTQyZjU0ODIzNjE0ICgidHR5OiBNb2RlbSBmdW5jdGlvbnMgZm9y IHRoZSBIU08gZHJpdmVyIikKU2lnbmVkLW9mZi1ieTogSm9oYW4gSG92b2xkIDxqb2hhbkBrZXJu ZWwub3JnPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5u ZXQ+Ci0tLQogZHJpdmVycy9uZXQvdXNiL2hzby5jIHwgMTIgKysrKysrKystLS0tCiAxIGZpbGUg Y2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvbmV0L3VzYi9oc28uYyBiL2RyaXZlcnMvbmV0L3VzYi9oc28uYwppbmRleCBjZTc4NzE0 ZjUzNmYuLmE1MDViMmFiODhiOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvdXNiL2hzby5jCisr KyBiL2RyaXZlcnMvbmV0L3VzYi9oc28uYwpAQCAtMjYyMCwxNCArMjYyMCwxOCBAQCBzdGF0aWMg c3RydWN0IGhzb19kZXZpY2UgKmhzb19jcmVhdGVfYnVsa19zZXJpYWxfZGV2aWNlKAogCQkgKi8K IAkJaWYgKHNlcmlhbC0+dGlvY21nZXQpIHsKIAkJCXRpb2NtZ2V0ID0gc2VyaWFsLT50aW9jbWdl dDsKKwkJCXRpb2NtZ2V0LT5lbmRwID0gaHNvX2dldF9lcChpbnRlcmZhY2UsCisJCQkJCQkgICAg VVNCX0VORFBPSU5UX1hGRVJfSU5ULAorCQkJCQkJICAgIFVTQl9ESVJfSU4pOworCQkJaWYgKCF0 aW9jbWdldC0+ZW5kcCkgeworCQkJCWRldl9lcnIoJmludGVyZmFjZS0+ZGV2LCAiRmFpbGVkIHRv IGZpbmQgSU5UIElOIGVwXG4iKTsKKwkJCQlnb3RvIGV4aXQ7CisJCQl9CisKIAkJCXRpb2NtZ2V0 LT51cmIgPSB1c2JfYWxsb2NfdXJiKDAsIEdGUF9LRVJORUwpOwogCQkJaWYgKHRpb2NtZ2V0LT51 cmIpIHsKIAkJCQltdXRleF9pbml0KCZ0aW9jbWdldC0+bXV0ZXgpOwogCQkJCWluaXRfd2FpdHF1 ZXVlX2hlYWQoJnRpb2NtZ2V0LT53YWl0cSk7Ci0JCQkJdGlvY21nZXQtPmVuZHAgPSBoc29fZ2V0 X2VwKAotCQkJCQlpbnRlcmZhY2UsCi0JCQkJCVVTQl9FTkRQT0lOVF9YRkVSX0lOVCwKLQkJCQkJ VVNCX0RJUl9JTik7CiAJCQl9IGVsc2UKIAkJCQloc29fZnJlZV90aW9tZ2V0KHNlcmlhbCk7CiAJ CX0KLS0gCjIuMjAuMQoKCkZyb20gYjdjNTlmMDNhZTJiZGNmZDhjYWI4Mzc1OTkxYTc5YTIzY2U5 MmQ3MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpl dEBnb29nbGUuY29tPgpEYXRlOiBXZWQsIDIgT2N0IDIwMTkgMDk6Mzg6NTUgLTA3MDAKU3ViamVj dDogW1BBVENIIDA0LzMwXSBpcHY2OiBkcm9wIGluY29taW5nIHBhY2tldHMgaGF2aW5nIGEgdjRt YXBwZWQgc291cmNlCiBhZGRyZXNzCgpbIFVwc3RyZWFtIGNvbW1pdCA2YWYxNzk5YWFmM2YxYmM4 ZGVmZWRkZGZhMDBkZjMxOTI0NDViYmYzIF0KClRoaXMgYmVnYW4gd2l0aCBhIHN5emJvdCByZXBv cnQuIHN5emthbGxlciB3YXMgaW5qZWN0aW5nCklQdjYgVENQIFNZTiBwYWNrZXRzIGhhdmluZyBh IHY0bWFwcGVkIHNvdXJjZSBhZGRyZXNzLgoKQWZ0ZXIgYW4gdW5zdWNjZXNzZnVsIDQtdHVwbGUg bG9va3VwLCBUQ1AgY3JlYXRlcyBhIHJlcXVlc3QKc29ja2V0IChTWU5fUkVDVikgYW5kIGNhbGxz IHJlcXNrX3F1ZXVlX2hhc2hfcmVxKCkKCnJlcXNrX3F1ZXVlX2hhc2hfcmVxKCkgY2FsbHMgc2tf ZWhhc2hmbihzaykKCkF0IHRoaXMgcG9pbnQgd2UgaGF2ZSBBRl9JTkVUNiBzb2NrZXRzLCBhbmQg dGhlIGhldXJpc3RpYwp1c2VkIGJ5IHNrX2VoYXNoZm4oKSB0byBlaXRoZXIgaGFzaCB0aGUgSVB2 NCBvciBJUHY2IGFkZHJlc3NlcwppcyB0byB1c2UgaXB2Nl9hZGRyX3Y0bWFwcGVkKCZzay0+c2tf djZfZGFkZHIpCgpGb3IgdGhlIHBhcnRpY3VsYXIgc3Bvb2ZlZCBwYWNrZXQsIHdlIGVuZCB1cCBo YXNoaW5nIFY0IGFkZHJlc3Nlcwp3aGljaCB3ZXJlIG5vdCBpbml0aWFsaXplZCBieSB0aGUgVENQ IElQdjYgc3RhY2ssIHNvIEtNU0FOIGZpcmVkCmEgd2FybmluZy4KCkkgZmlyc3QgZml4ZWQgc2tf ZWhhc2hmbigpIHRvIHRlc3QgYm90aCBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIGFkZHJlc3NlcywK YnV0IHRoZW4gZmFjZWQgdmFyaW91cyBwcm9ibGVtcywgaW5jbHVkaW5nIHVzZXItc3BhY2UgcHJv Z3JhbXMKbGlrZSBwYWNrZXRkcmlsbCB0aGF0IGhhZCBzaW1pbGFyIGFzc3VtcHRpb25zLgoKSW5z dGVhZCBvZiB0cnlpbmcgdG8gZml4IHRoZSB3aG9sZSBlY29zeXN0ZW0sIGl0IGlzIGJldHRlcgp0 byBhZG1pdCB0aGF0IHdlIGhhdmUgYSBkdWFsIHN0YWNrIGJlaGF2aW9yLCBhbmQgdGhhdCB3ZQpj YW4gbm90IGJ1aWxkIGxpbnV4IGtlcm5lbHMgd2l0aG91dCBWNCBzdGFjayBhbnl3YXkuCgpUaGUg ZHVhbCBzdGFjayBBUEkgYXV0b21hdGljYWxseSBmb3JjZXMgdGhlIHRyYWZmaWMgdG8gYmUgSVB2 NAppZiB2NG1hcHBlZCBhZGRyZXNzZXMgYXJlIHVzZWQgYXQgYmluZCgpIG9yIGNvbm5lY3QoKSwg c28gaXQgbWFrZXMKbm8gc2Vuc2UgdG8gYWxsb3cgSVB2NiB0cmFmZmljIHRvIHVzZSB0aGUgc2Ft ZSB2NG1hcHBlZCBjbGFzcy4KCkZpeGVzOiAxZGExNzdlNGMzZjQgKCJMaW51eC0yLjYuMTItcmMy IikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpDYzog RmxvcmlhbiBXZXN0cGhhbCA8ZndAc3RybGVuLmRlPgpDYzogSGFubmVzIEZyZWRlcmljIFNvd2Eg PGhhbm5lc0BzdHJlc3NpbmR1a3Rpb24ub3JnPgpSZXBvcnRlZC1ieTogc3l6Ym90IDxzeXprYWxs ZXJAZ29vZ2xlZ3JvdXBzLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZl bUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY2L2lwNl9pbnB1dC5jIHwgMTAgKysrKysrKysr KwogMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9uZXQvaXB2 Ni9pcDZfaW5wdXQuYyBiL25ldC9pcHY2L2lwNl9pbnB1dC5jCmluZGV4IGZhMDE0ZDVmMTczMi4u YTU5M2FhZjI1NzQ4IDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9pcDZfaW5wdXQuYworKysgYi9uZXQv aXB2Ni9pcDZfaW5wdXQuYwpAQCAtMjIxLDYgKzIyMSwxNiBAQCBzdGF0aWMgc3RydWN0IHNrX2J1 ZmYgKmlwNl9yY3ZfY29yZShzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgbmV0X2RldmljZSAq ZGV2LAogCWlmIChpcHY2X2FkZHJfaXNfbXVsdGljYXN0KCZoZHItPnNhZGRyKSkKIAkJZ290byBl cnI7CiAKKwkvKiBXaGlsZSBSRkM0MjkxIGlzIG5vdCBleHBsaWNpdCBhYm91dCB2NG1hcHBlZCBh ZGRyZXNzZXMKKwkgKiBpbiBJUHY2IGhlYWRlcnMsIGl0IHNlZW1zIGNsZWFyIGxpbnV4IGR1YWwt c3RhY2sKKwkgKiBtb2RlbCBjYW4gbm90IGRlYWwgcHJvcGVybHkgd2l0aCB0aGVzZS4KKwkgKiBT ZWN1cml0eSBtb2RlbHMgY291bGQgYmUgZm9vbGVkIGJ5IDo6ZmZmZjoxMjcuMC4wLjEgZm9yIGV4 YW1wbGUuCisJICoKKwkgKiBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtaXRvanVu LXY2b3BzLXY0bWFwcGVkLWhhcm1mdWwtMDIKKwkgKi8KKwlpZiAoaXB2Nl9hZGRyX3Y0bWFwcGVk KCZoZHItPnNhZGRyKSkKKwkJZ290byBlcnI7CisKIAlza2ItPnRyYW5zcG9ydF9oZWFkZXIgPSBz a2ItPm5ldHdvcmtfaGVhZGVyICsgc2l6ZW9mKCpoZHIpOwogCUlQNkNCKHNrYiktPm5ob2ZmID0g b2Zmc2V0b2Yoc3RydWN0IGlwdjZoZHIsIG5leHRoZHIpOwogCi0tIAoyLjIwLjEKCgpGcm9tIDc1 NDg3YzgyNmI1MDhhMzNiZDdkNjZhMmFlZjllMDA5MDNlODgzYmYgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IERhdmlkIEFoZXJuIDxkc2FoZXJuQGdtYWlsLmNvbT4KRGF0ZTogRnJpLCA0 IE9jdCAyMDE5IDA4OjAzOjA5IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAwNS8zMF0gaXB2NjogSGFu ZGxlIG1pc3NpbmcgaG9zdCByb3V0ZSBpbiBfX2lwdjZfaWZhX25vdGlmeQoKWyBVcHN0cmVhbSBj b21taXQgMmQ4MTlkMjUwYTEzOTNhM2U3MjU3MTU0MjVhYjcwYTBlMDc3MmE3MSBdCgpSYWplbmRy YSByZXBvcnRlZCBhIGtlcm5lbCBwYW5pYyB3aGVuIGEgbGluayB3YXMgdGFrZW4gZG93bjoKCiAg ICBbIDY4NzAuMjYzMDg0XSBCVUc6IHVuYWJsZSB0byBoYW5kbGUga2VybmVsIE5VTEwgcG9pbnRl ciBkZXJlZmVyZW5jZSBhdCAwMDAwMDAwMDAwMDAwMGE4CiAgICBbIDY4NzAuMjcxODU2XSBJUDog WzxmZmZmZmZmZjhlZmM1NzY0Pl0gX19pcHY2X2lmYV9ub3RpZnkrMHgxNTQvMHgyOTAKCiAgICA8 c25pcD4KCiAgICBbIDY4NzAuNTcwNTAxXSBDYWxsIFRyYWNlOgogICAgWyA2ODcwLjU3MzIzOF0g WzxmZmZmZmZmZjhlZmM1OGM2Pl0gPyBpcHY2X2lmYV9ub3RpZnkrMHgyNi8weDQwCiAgICBbIDY4 NzAuNTc5NjY1XSBbPGZmZmZmZmZmOGVmYzk4ZWM+XSA/IGFkZHJjb25mX2RhZF9jb21wbGV0ZWQr MHg0Yy8weDJjMAogICAgWyA2ODcwLjU4Njg2OV0gWzxmZmZmZmZmZjhlZmU3MGM2Pl0gPyBpcHY2 X2Rldl9tY19pbmMrMHgxOTYvMHgyNjAKICAgIFsgNjg3MC41OTM0OTFdIFs8ZmZmZmZmZmY4ZWZj OWM2YT5dID8gYWRkcmNvbmZfZGFkX3dvcmsrMHgxMGEvMHg0MzAKICAgIFsgNjg3MC42MDAzMDVd IFs8ZmZmZmZmZmY4ZjAxYWRlND5dID8gX19zd2l0Y2hfdG9fYXNtKzB4MzQvMHg3MAogICAgWyA2 ODcwLjYwNjczMl0gWzxmZmZmZmZmZjhlYTkzYTdhPl0gPyBwcm9jZXNzX29uZV93b3JrKzB4MThh LzB4NDMwCiAgICBbIDY4NzAuNjEzNDQ5XSBbPGZmZmZmZmZmOGVhOTNkNmQ+XSA/IHdvcmtlcl90 aHJlYWQrMHg0ZC8weDQ5MAogICAgWyA2ODcwLjYxOTc3OF0gWzxmZmZmZmZmZjhlYTkzZDIwPl0g PyBwcm9jZXNzX29uZV93b3JrKzB4NDMwLzB4NDMwCiAgICBbIDY4NzAuNjI2NDk1XSBbPGZmZmZm ZmZmOGVhOTlkZDk+XSA/IGt0aHJlYWQrMHhkOS8weGYwCiAgICBbIDY4NzAuNjMyMTQ1XSBbPGZm ZmZmZmZmOGYwMWFkZTQ+XSA/IF9fc3dpdGNoX3RvX2FzbSsweDM0LzB4NzAKICAgIFsgNjg3MC42 Mzg1NzNdIFs8ZmZmZmZmZmY4ZWE5OWQwMD5dID8ga3RocmVhZF9wYXJrKzB4NjAvMHg2MAogICAg WyA2ODcwLjY0NDcwN10gWzxmZmZmZmZmZjhmMDFhZTc3Pl0gPyByZXRfZnJvbV9mb3JrKzB4NTcv MHg3MAogICAgWyA2ODcwLjY1MDkzNl0gQ29kZTogMzEgYzAgMzEgZDIgNDEgYjkgMjAgMDAgMDgg MDIgYjkgMDkgMDAgMDAgMAoKYWRkcmNvbmZfZGFkX3dvcmsgaXMga2lja2VkIHRvIGJlIHNjaGVk dWxlZCB3aGVuIGEgZGV2aWNlIGlzIGJyb3VnaHQKdXAuIFRoZXJlIGlzIGEgcmFjZSBiZXR3ZWVu IGFkZHJjb25kX2RhZF93b3JrIGdldHRpbmcgc2NoZWR1bGVkIGFuZAp0YWtpbmcgdGhlIHJ0bmwg bG9jayBhbmQgYSBwcm9jZXNzIHRha2luZyB0aGUgbGluayBkb3duICh1bmRlciBydG5sKS4KVGhl IGxhdHRlciByZW1vdmVzIHRoZSBob3N0IHJvdXRlIGZyb20gdGhlIGluZXQ2X2FkZHIgYXMgcGFy dCBvZgphZGRyY29uZl9pZmRvd24gd2hpY2ggaXMgcnVuIGZvciBORVRERVZfRE9XTi4gVGhlIGZv cm1lciBhdHRlbXB0cwp0byB1c2UgdGhlIGhvc3Qgcm91dGUgaW4gX19pcHY2X2lmYV9ub3RpZnku IElmIHRoZSBkb3duIGV2ZW50IHJlbW92ZXMKdGhlIGhvc3Qgcm91dGUgZHVlIHRvIHRoZSByYWNl IHRvIHRoZSBydG5sLCB0aGVuIHRoZSBCVUcgbGlzdGVkIGFib3ZlCm9jY3Vycy4KClNpbmNlIHRo ZSBEQUQgc2VxdWVuY2UgY2FuIG5vdCBiZSBhYm9ydGVkLCBhZGQgYSBjaGVjayBmb3IgdGhlIG1p c3NpbmcKaG9zdCByb3V0ZSBpbiBfX2lwdjZfaWZhX25vdGlmeS4gVGhlIG9ubHkgd2F5IHRoaXMg c2hvdWxkIGhhcHBlbiBpcyBkdWUKdG8gdGhlIHByZXZpb3VzbHkgbWVudGlvbmVkIHJhY2UuIFRo ZSBob3N0IHJvdXRlIGlzIGNyZWF0ZWQgd2hlbiB0aGUKYWRkcmVzcyBpcyBhZGRlZCB0byBhbiBp bnRlcmZhY2U7IGl0IGlzIG9ubHkgcmVtb3ZlZCBvbiBhIGRvd24gZXZlbnQKd2hlcmUgdGhlIGFk ZHJlc3MgaXMga2VwdC4gQWRkIGEgd2FybmluZyBpZiB0aGUgaG9zdCByb3V0ZSBpcyBtaXNzaW5n CkFORCB0aGUgZGV2aWNlIGlzIHVwOyB0aGlzIGlzIGEgc2l0dWF0aW9uIHRoYXQgc2hvdWxkIG5l dmVyIGhhcHBlbi4KCkZpeGVzOiBmMTcwNWVjMTk3ZTcgKCJuZXQ6IGlwdjY6IE1ha2UgYWRkcmVz cyBmbHVzaGluZyBvbiBpZmRvd24gb3B0aW9uYWwiKQpSZXBvcnRlZC1ieTogUmFqZW5kcmEgRGVu ZHVrdXJpIDxyYWplbmRyYS5kZW5kdWt1cmlAYnJvYWRjb20uY29tPgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBBaGVybiA8ZHNhaGVybkBnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBFcmljIER1bWF6ZXQg PGVkdW1hemV0QGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2 ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2Ni9hZGRyY29uZi5jIHwgMTcgKysrKysrKysr KysrLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL25ldC9pcHY2L2FkZHJjb25mLmMgYi9uZXQvaXB2Ni9hZGRyY29uZi5j CmluZGV4IDZhNTc2ZmY5MmMzOS4uMzRjY2VmMThiNDBlIDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9h ZGRyY29uZi5jCisrKyBiL25ldC9pcHY2L2FkZHJjb25mLmMKQEAgLTU5NjQsMTMgKzU5NjQsMjAg QEAgc3RhdGljIHZvaWQgX19pcHY2X2lmYV9ub3RpZnkoaW50IGV2ZW50LCBzdHJ1Y3QgaW5ldDZf aWZhZGRyICppZnApCiAJc3dpdGNoIChldmVudCkgewogCWNhc2UgUlRNX05FV0FERFI6CiAJCS8q Ci0JCSAqIElmIHRoZSBhZGRyZXNzIHdhcyBvcHRpbWlzdGljCi0JCSAqIHdlIGluc2VydGVkIHRo ZSByb3V0ZSBhdCB0aGUgc3RhcnQgb2YKLQkJICogb3VyIERBRCBwcm9jZXNzLCBzbyB3ZSBkb24n dCBuZWVkCi0JCSAqIHRvIGRvIGl0IGFnYWluCisJCSAqIElmIHRoZSBhZGRyZXNzIHdhcyBvcHRp bWlzdGljIHdlIGluc2VydGVkIHRoZSByb3V0ZSBhdCB0aGUKKwkJICogc3RhcnQgb2Ygb3VyIERB RCBwcm9jZXNzLCBzbyB3ZSBkb24ndCBuZWVkIHRvIGRvIGl0IGFnYWluLgorCQkgKiBJZiB0aGUg ZGV2aWNlIHdhcyB0YWtlbiBkb3duIGluIHRoZSBtaWRkbGUgb2YgdGhlIERBRAorCQkgKiBjeWNs ZSB0aGVyZSBpcyBhIHJhY2Ugd2hlcmUgd2UgY291bGQgZ2V0IGhlcmUgd2l0aG91dCBhCisJCSAq IGhvc3Qgcm91dGUsIHNvIG5vdGhpbmcgdG8gaW5zZXJ0LiBUaGF0IHdpbGwgYmUgZml4ZWQgd2hl bgorCQkgKiB0aGUgZGV2aWNlIGlzIGJyb3VnaHQgdXAuCiAJCSAqLwotCQlpZiAoIXJjdV9hY2Nl c3NfcG9pbnRlcihpZnAtPnJ0LT5maWI2X25vZGUpKQorCQlpZiAoaWZwLT5ydCAmJiAhcmN1X2Fj Y2Vzc19wb2ludGVyKGlmcC0+cnQtPmZpYjZfbm9kZSkpIHsKIAkJCWlwNl9pbnNfcnQobmV0LCBp ZnAtPnJ0KTsKKwkJfSBlbHNlIGlmICghaWZwLT5ydCAmJiAoaWZwLT5pZGV2LT5kZXYtPmZsYWdz ICYgSUZGX1VQKSkgeworCQkJcHJfd2FybigiQlVHOiBBZGRyZXNzICVwSTZjIG9uIGRldmljZSAl cyBpcyBtaXNzaW5nIGl0cyBob3N0IHJvdXRlLlxuIiwKKwkJCQkmaWZwLT5hZGRyLCBpZnAtPmlk ZXYtPmRldi0+bmFtZSk7CisJCX0KKwogCQlpZiAoaWZwLT5pZGV2LT5jbmYuZm9yd2FyZGluZykK IAkJCWFkZHJjb25mX2pvaW5fYW55Y2FzdChpZnApOwogCQlpZiAoIWlwdjZfYWRkcl9hbnkoJmlm cC0+cGVlcl9hZGRyKSkKLS0gCjIuMjAuMQoKCkZyb20gNjJhNDczMjI0OWFjNzRlZTUxNmE2YTA0 ZDMzMTQ3Y2IzY2ZiNTE2ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogUGFvbG8gQWJl bmkgPHBhYmVuaUByZWRoYXQuY29tPgpEYXRlOiBGcmksIDQgT2N0IDIwMTkgMTU6MTE6MTcgKzAy MDAKU3ViamVjdDogW1BBVENIIDA2LzMwXSBuZXQ6IGlwdjQ6IGF2b2lkIG1peGVkIG5fcmVkaXJl Y3RzIGFuZCByYXRlX3Rva2VucwogdXNhZ2UKClsgVXBzdHJlYW0gY29tbWl0IGI0MDY0NzJiNWFk NzllZGU4ZDEwMDc3ZjBjOGYwNTUwNWFjZThiNmQgXQoKU2luY2UgY29tbWl0IGMwOTU1MWM2ZmY3 ZiAoIm5ldDogaXB2NDogdXNlIGEgZGVkaWNhdGVkIGNvdW50ZXIKZm9yIGljbXBfdjQgcmVkaXJl Y3QgcGFja2V0cyIpIHdlIHVzZSAnbl9yZWRpcmVjdHMnIHRvIGFjY291bnQKZm9yIHJlZGlyZWN0 IHBhY2tldHMsIGJ1dCB3ZSBzdGlsbCB1c2UgJ3JhdGVfdG9rZW5zJyB0byBjb21wdXRlCnRoZSBy ZWRpcmVjdCBwYWNrZXRzIGV4cG9uZW50aWFsIGJhY2tvZmYuCgpJZiB0aGUgZGV2aWNlIHNlbnQg dG8gdGhlIHJlbGV2YW50IHBlZXIgYW55IElDTVAgZXJyb3IgcGFja2V0CmFmdGVyIHNlbmRpbmcg YSByZWRpcmVjdCwgaXQgd2lsbCBhbHNvIHVwZGF0ZSAncmF0ZV90b2tlbicgYWNjb3JkaW5nCnRv IHRoZSBsZWFraW5nIGJ1Y2tldCBzY2hlbWE7IHR5cGljYWxseSAncmF0ZV90b2tlbicgd2lsbCBy YWlzZQphYm92ZSBCSVRTX1BFUl9MT05HIGFuZCB0aGUgcmVkaXJlY3QgcGFja2V0cyBiYWNrb2Zm IGFsZ29yaXRobQp3aWxsIHByb2R1Y2UgdW5kZWZpbmVkIGJlaGF2aW9yLgoKRml4IHRoZSBpc3N1 ZSB1c2luZyAnbl9yZWRpcmVjdHMnIHRvIGNvbXB1dGUgdGhlIGV4cG9uZW50aWFsIGJhY2tvZmYK aW4gaXBfcnRfc2VuZF9yZWRpcmVjdCgpLgoKTm90ZSB0aGF0IHdlIHN0aWxsIGNsZWFyIHJhdGVf dG9rZW5zIGFmdGVyIGEgcmVkaXJlY3Qgc2lsZW5jZSBwZXJpb2QsCnRvIGF2b2lkIGNoYW5naW5n IGFuIGVzdGFibGlzaGVkIGJlaGF2aW91ci4KClRoZSByb290IGNhdXNlIHByZWRhdGVzIGdpdCBo aXN0b3J5OyBiZWZvcmUgdGhlIG1lbnRpb25lZCBjb21taXQgaW4KdGhlIGNyaXRpY2FsIHNjZW5h cmlvLCB0aGUga2VybmVsIHN0b3BwZWQgc2VuZGluZyByZWRpcmVjdHMsIGFmdGVyCnRoZSBtZW50 aW9uZWQgY29tbWl0IHRoZSBiZWhhdmlvciBtb3JlIHJhbmRvbWljLgoKUmVwb3J0ZWQtYnk6IFhp dW1laSBNdSA8eG11QHJlZGhhdC5jb20+CkZpeGVzOiAxZGExNzdlNGMzZjQgKCJMaW51eC0yLjYu MTItcmMyIikKRml4ZXM6IGMwOTU1MWM2ZmY3ZiAoIm5ldDogaXB2NDogdXNlIGEgZGVkaWNhdGVk IGNvdW50ZXIgZm9yIGljbXBfdjQgcmVkaXJlY3QgcGFja2V0cyIpClNpZ25lZC1vZmYtYnk6IFBh b2xvIEFiZW5pIDxwYWJlbmlAcmVkaGF0LmNvbT4KQWNrZWQtYnk6IExvcmVuem8gQmlhbmNvbmkg PGxvcmVuem8uYmlhbmNvbmlAcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWls bGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY0L3JvdXRlLmMgfCA1ICsrLS0t CiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL25ldC9pcHY0L3JvdXRlLmMgYi9uZXQvaXB2NC9yb3V0ZS5jCmluZGV4IDdkY2NlNzI0 Yzc4Yi4uMTQ2NTQ4NzYxMjdlIDEwMDY0NAotLS0gYS9uZXQvaXB2NC9yb3V0ZS5jCisrKyBiL25l dC9pcHY0L3JvdXRlLmMKQEAgLTkxNiwxNiArOTE2LDE1IEBAIHZvaWQgaXBfcnRfc2VuZF9yZWRp cmVjdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQogCWlmIChwZWVyLT5yYXRlX3Rva2VucyA9PSAwIHx8 CiAJICAgIHRpbWVfYWZ0ZXIoamlmZmllcywKIAkJICAgICAgIChwZWVyLT5yYXRlX2xhc3QgKwot CQkJKGlwX3J0X3JlZGlyZWN0X2xvYWQgPDwgcGVlci0+cmF0ZV90b2tlbnMpKSkpIHsKKwkJCShp cF9ydF9yZWRpcmVjdF9sb2FkIDw8IHBlZXItPm5fcmVkaXJlY3RzKSkpKSB7CiAJCV9fYmUzMiBn dyA9IHJ0X25leHRob3AocnQsIGlwX2hkcihza2IpLT5kYWRkcik7CiAKIAkJaWNtcF9zZW5kKHNr YiwgSUNNUF9SRURJUkVDVCwgSUNNUF9SRURJUl9IT1NULCBndyk7CiAJCXBlZXItPnJhdGVfbGFz dCA9IGppZmZpZXM7Ci0JCSsrcGVlci0+cmF0ZV90b2tlbnM7CiAJCSsrcGVlci0+bl9yZWRpcmVj dHM7CiAjaWZkZWYgQ09ORklHX0lQX1JPVVRFX1ZFUkJPU0UKIAkJaWYgKGxvZ19tYXJ0aWFucyAm JgotCQkgICAgcGVlci0+cmF0ZV90b2tlbnMgPT0gaXBfcnRfcmVkaXJlY3RfbnVtYmVyKQorCQkg ICAgcGVlci0+bl9yZWRpcmVjdHMgPT0gaXBfcnRfcmVkaXJlY3RfbnVtYmVyKQogCQkJbmV0X3dh cm5fcmF0ZWxpbWl0ZWQoImhvc3QgJXBJNC9pZiVkIGlnbm9yZXMgcmVkaXJlY3RzIGZvciAlcEk0 IHRvICVwSTRcbiIsCiAJCQkJCSAgICAgJmlwX2hkcihza2IpLT5zYWRkciwgaW5ldF9paWYoc2ti KSwKIAkJCQkJICAgICAmaXBfaGRyKHNrYiktPmRhZGRyLCAmZ3cpOwotLSAKMi4yMC4xCgoKRnJv bSAxYmYxNjRjMGE5NzRjZDY4NjlhODQ2MmM5MWM3MzBiZWE5NjllOTM2IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBOYXZpZCBFbWFtZG9vc3QgPG5hdmlkLmVtYW1kb29zdEBnbWFpbC5j b20+CkRhdGU6IEZyaSwgNCBPY3QgMjAxOSAxNToyNDozOSAtMDUwMApTdWJqZWN0OiBbUEFUQ0gg MDcvMzBdIG5ldDogcWxvZ2ljOiBGaXggbWVtb3J5IGxlYWsgaW4gcWxfYWxsb2NfbGFyZ2VfYnVm ZmVycwoKWyBVcHN0cmVhbSBjb21taXQgMWFjYjhmMmE3YTlmMTA1NDM4NjhkZGQ3MzdlMzc0MjRk NWMzNmNmNCBdCgpJbiBxbF9hbGxvY19sYXJnZV9idWZmZXJzLCBhIG5ldyBza2IgaXMgYWxsb2Nh dGVkIHZpYSBuZXRkZXZfYWxsb2Nfc2tiLgpUaGlzIHNrYiBzaG91bGQgYmUgcmVsZWFzZWQgaWYg cGNpX2RtYV9tYXBwaW5nX2Vycm9yIGZhaWxzLgoKRml4ZXM6IDBmOGFiODllODI1ZiAoInFsYTN4 eHg6IENoZWNrIHJldHVybiBjb2RlIGZyb20gcGNpX21hcF9zaW5nbGUoKSBpbiBxbF9yZWxlYXNl X3RvX2xyZ19idWZfZnJlZV9saXN0KCksIHFsX3BvcHVsYXRlX2ZyZWVfcXVldWUoKSwgcWxfYWxs b2NfbGFyZ2VfYnVmZmVycygpLCBhbmQgcWwzeHh4X3NlbmQoKSIpClNpZ25lZC1vZmYtYnk6IE5h dmlkIEVtYW1kb29zdCA8bmF2aWQuZW1hbWRvb3N0QGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTog RGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0 aGVybmV0L3Fsb2dpYy9xbGEzeHh4LmMgfCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlv bigrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3Fsb2dpYy9xbGEzeHh4LmMg Yi9kcml2ZXJzL25ldC9ldGhlcm5ldC9xbG9naWMvcWxhM3h4eC5jCmluZGV4IDQ1NzQ0NDg5NGQ4 MC4uYjRiOGJhMDBlZTAxIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9xbG9naWMv cWxhM3h4eC5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3Fsb2dpYy9xbGEzeHh4LmMKQEAg LTI3ODcsNiArMjc4Nyw3IEBAIHN0YXRpYyBpbnQgcWxfYWxsb2NfbGFyZ2VfYnVmZmVycyhzdHJ1 Y3QgcWwzX2FkYXB0ZXIgKnFkZXYpCiAJCQkJbmV0ZGV2X2VycihxZGV2LT5uZGV2LAogCQkJCQkg ICAiUENJIG1hcHBpbmcgZmFpbGVkIHdpdGggZXJyb3I6ICVkXG4iLAogCQkJCQkgICBlcnIpOwor CQkJCWRldl9rZnJlZV9za2JfaXJxKHNrYik7CiAJCQkJcWxfZnJlZV9sYXJnZV9idWZmZXJzKHFk ZXYpOwogCQkJCXJldHVybiAtRU5PTUVNOwogCQkJfQotLSAKMi4yMC4xCgoKRnJvbSA3OTE2MDNi ZWM5ZmYxZTUzYWQ4ZjAwOTgxYTkyMzIzYmNmZjM1ZmEyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBWbGFkaW1pciBPbHRlYW4gPG9sdGVhbnZAZ21haWwuY29tPgpEYXRlOiBTdW4sIDI5 IFNlcCAyMDE5IDAyOjAxOjM5ICswMzAwClN1YmplY3Q6IFtQQVRDSCAwOC8zMF0gbmV0OiBzY2hl ZDogdGFwcmlvOiBGaXggcG90ZW50aWFsIGludGVnZXIgb3ZlcmZsb3cgaW4KIHRhcHJpb19zZXRf cGljb3NfcGVyX2J5dGUKClsgVXBzdHJlYW0gY29tbWl0IDY4Y2U2Njg4YTViYWVmZGUzMDkxNGZj MDdmYzI3MjkyZGJiZTgzMjAgXQoKVGhlIHNwZWVkIGRpdmlzb3IgaXMgdXNlZCBpbiBhIGNvbnRl eHQgZXhwZWN0aW5nIGFuIHM2NCwgYnV0IGl0IGlzCmV2YWx1YXRlZCB1c2luZyAzMi1iaXQgYXJp dGhtZXRpYy4KClRvIGF2b2lkIHRoYXQgaGFwcGVuaW5nLCBpbnN0ZWFkIG9mIG11bHRpcGx5aW5n IGJ5IDEsMDAwLDAwMCBpbiB0aGUKZmlyc3QgcGxhY2UsIHNpbXBsaWZ5IHRoZSBmcmFjdGlvbiBh bmQgZG8gYSBzdGFuZGFyZCAzMiBiaXQgZGl2aXNpb24KaW5zdGVhZC4KCkZpeGVzOiBmMDRiNTE0 YzBjZTIgKCJ0YXByaW86IFNldCBkZWZhdWx0IGxpbmsgc3BlZWQgdG8gMTAgTWJwcyBpbiB0YXBy aW9fc2V0X3BpY29zX3Blcl9ieXRlIikKUmVwb3J0ZWQtYnk6IEd1c3Rhdm8gQS4gUi4gU2lsdmEg PGd1c3Rhdm9AZW1iZWRkZWRvci5jb20+ClN1Z2dlc3RlZC1ieTogRXJpYyBEdW1hemV0IDxlcmlj LmR1bWF6ZXRAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBWbGFkaW1pciBPbHRlYW4gPG9sdGVh bnZAZ21haWwuY29tPgpBY2tlZC1ieTogVmluaWNpdXMgQ29zdGEgR29tZXMgPHZpbmljaXVzLmdv bWVzQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZl bWxvZnQubmV0PgotLS0KIG5ldC9zY2hlZC9zY2hfdGFwcmlvLmMgfCAzICstLQogMSBmaWxlIGNo YW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9z Y2hlZC9zY2hfdGFwcmlvLmMgYi9uZXQvc2NoZWQvc2NoX3RhcHJpby5jCmluZGV4IDhkOGJjMmVj NWNkNi4uOTQ0YjFhZjMyMTU2IDEwMDY0NAotLS0gYS9uZXQvc2NoZWQvc2NoX3RhcHJpby5jCisr KyBiL25ldC9zY2hlZC9zY2hfdGFwcmlvLmMKQEAgLTk2NSw4ICs5NjUsNyBAQCBzdGF0aWMgdm9p ZCB0YXByaW9fc2V0X3BpY29zX3Blcl9ieXRlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAJCXNw ZWVkID0gZWNtZC5iYXNlLnNwZWVkOwogCiBza2lwOgotCXBpY29zX3Blcl9ieXRlID0gZGl2NjRf czY0KE5TRUNfUEVSX1NFQyAqIDEwMDBMTCAqIDgsCi0JCQkJICAgc3BlZWQgKiAxMDAwICogMTAw MCk7CisJcGljb3NfcGVyX2J5dGUgPSAoVVNFQ19QRVJfU0VDICogOCkgLyBzcGVlZDsKIAogCWF0 b21pYzY0X3NldCgmcS0+cGljb3NfcGVyX2J5dGUsIHBpY29zX3Blcl9ieXRlKTsKIAluZXRkZXZf ZGJnKGRldiwgInRhcHJpbzogc2V0ICVzJ3MgcGljb3NfcGVyX2J5dGUgdG86ICVsbGQsIGxpbmtz cGVlZDogJWRcbiIsCi0tIAoyLjIwLjEKCgpGcm9tIGE3YzIyZWRhZjcxOTJjNGZkN2JkOTAyMzI4 MTE1M2Y0ZDQ4MDJjZGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1hcnRpbiBLYUZh aSBMYXUgPGthZmFpQGZiLmNvbT4KRGF0ZTogRnJpLCAyNyBTZXAgMjAxOSAxNjowMDozMSAtMDcw MApTdWJqZWN0OiBbUEFUQ0ggMDkvMzBdIG5ldDogVW5wdWJsaXNoIHNrIGZyb20gc2tfcmV1c2Vw b3J0X2NiIGJlZm9yZSBjYWxsX3JjdQoKWyBVcHN0cmVhbSBjb21taXQgOGM3MTM4YjMzZTVjNjkw YzMwOGIyYTcwODVmNjMxM2ZkY2IzZjYxNiBdCgpUaGUgInJldXNlLT5zb2NrW10iIGFycmF5IGlz IHNoYXJlZCBieSBtdWx0aXBsZSBzb2NrZXRzLiAgVGhlIGdvaW5nIGF3YXkKc2sgbXVzdCB1bnB1 Ymxpc2ggaXRzZWxmIGZyb20gInJldXNlLT5zb2NrW10iIGJlZm9yZSBtYWtpbmcgY2FsbF9yY3Uo KQpjYWxsLiAgSG93ZXZlciwgdGhpcyB1bnB1Ymxpc2gtYWN0aW9uIGlzIGN1cnJlbnRseSBkb25l IGFmdGVyIGEgZ3JhY2UKcGVyaW9kIGFuZCBpdCBtYXkgY2F1c2UgdXNlLWFmdGVyLWZyZWUuCgpU aGUgZml4IGlzIHRvIG1vdmUgcmV1c2Vwb3J0X2RldGFjaF9zb2NrKCkgdG8gc2tfZGVzdHJ1Y3Qo KS4KRHVlIHRvIHRoZSBhYm92ZSByZWFzb24sIGFueSBzb2NrZXQgd2l0aCBza19yZXVzZXBvcnRf Y2IgaGFzCnRvIGdvIHRocm91Z2ggdGhlIHJjdSBncmFjZSBwZXJpb2QgYmVmb3JlIGZyZWVpbmcg aXQuCgpJdCBpcyBhIHJhdGhlciBvbGQgYnVnICh+MyB5cnMpLiAgVGhlIEZpeGVzIHRhZyBpcyBu b3QgbmVjZXNzYXJ5CnRoZSByaWdodCBjb21taXQgYnV0IGl0IGlzIHRoZSBvbmUgdGhhdCBpbnRy b2R1Y2VkIHRoZSBTT0NLX1JDVV9GUkVFCmxvZ2ljIGFuZCB0aGlzIGZpeCBpcyBkZXBlbmRpbmcg b24gaXQuCgpGaXhlczogYTQyOThlNDUyMmQ2ICgibmV0OiBhZGQgU09DS19SQ1VfRlJFRSBzb2Nr ZXQgZmxhZyIpCkNjOiBFcmljIER1bWF6ZXQgPGVyaWMuZHVtYXpldEBnbWFpbC5jb20+ClN1Z2dl c3RlZC1ieTogRXJpYyBEdW1hemV0IDxlcmljLmR1bWF6ZXRAZ21haWwuY29tPgpTaWduZWQtb2Zm LWJ5OiBNYXJ0aW4gS2FGYWkgTGF1IDxrYWZhaUBmYi5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlk IFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvY29yZS9zb2NrLmMgfCAx MSArKysrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvY29yZS9zb2NrLmMgYi9uZXQvY29yZS9zb2NrLmMKaW5k ZXggNTQ1ZmFjMTlhNzExLi4zYWE5M2FmNTFkNDggMTAwNjQ0Ci0tLSBhL25ldC9jb3JlL3NvY2su YworKysgYi9uZXQvY29yZS9zb2NrLmMKQEAgLTE3MDAsOCArMTcwMCw2IEBAIHN0YXRpYyB2b2lk IF9fc2tfZGVzdHJ1Y3Qoc3RydWN0IHJjdV9oZWFkICpoZWFkKQogCQlza19maWx0ZXJfdW5jaGFy Z2Uoc2ssIGZpbHRlcik7CiAJCVJDVV9JTklUX1BPSU5URVIoc2stPnNrX2ZpbHRlciwgTlVMTCk7 CiAJfQotCWlmIChyY3VfYWNjZXNzX3BvaW50ZXIoc2stPnNrX3JldXNlcG9ydF9jYikpCi0JCXJl dXNlcG9ydF9kZXRhY2hfc29jayhzayk7CiAKIAlzb2NrX2Rpc2FibGVfdGltZXN0YW1wKHNrLCBT S19GTEFHU19USU1FU1RBTVApOwogCkBAIC0xNzI4LDcgKzE3MjYsMTQgQEAgc3RhdGljIHZvaWQg X19za19kZXN0cnVjdChzdHJ1Y3QgcmN1X2hlYWQgKmhlYWQpCiAKIHZvaWQgc2tfZGVzdHJ1Y3Qo c3RydWN0IHNvY2sgKnNrKQogewotCWlmIChzb2NrX2ZsYWcoc2ssIFNPQ0tfUkNVX0ZSRUUpKQor CWJvb2wgdXNlX2NhbGxfcmN1ID0gc29ja19mbGFnKHNrLCBTT0NLX1JDVV9GUkVFKTsKKworCWlm IChyY3VfYWNjZXNzX3BvaW50ZXIoc2stPnNrX3JldXNlcG9ydF9jYikpIHsKKwkJcmV1c2Vwb3J0 X2RldGFjaF9zb2NrKHNrKTsKKwkJdXNlX2NhbGxfcmN1ID0gdHJ1ZTsKKwl9CisKKwlpZiAodXNl X2NhbGxfcmN1KQogCQljYWxsX3JjdSgmc2stPnNrX3JjdSwgX19za19kZXN0cnVjdCk7CiAJZWxz ZQogCQlfX3NrX2Rlc3RydWN0KCZzay0+c2tfcmN1KTsKLS0gCjIuMjAuMQoKCkZyb20gM2YxZThh MzcxZjdiOGMxZjg0NmIzNzc5MTNhMDkyZjEyMjhiNzdiMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpEYXRlOiBGcmksIDQg T2N0IDIwMTkgMTE6MDg6MzQgLTA3MDAKU3ViamVjdDogW1BBVENIIDEwLzMwXSBuZmM6IGZpeCBt ZW1vcnkgbGVhayBpbiBsbGNwX3NvY2tfYmluZCgpCgpbIFVwc3RyZWFtIGNvbW1pdCBhMGMyZGMx ZmU2M2UyODY5Yjc0YzFjN2Y2YTgxZDE3NDVjOGE2OTVkIF0KCnN5c2JvdCByZXBvcnRlZCBhIG1l bW9yeSBsZWFrIGFmdGVyIGEgYmluZCgpIGhhcyBmYWlsZWQuCgpXaGlsZSB3ZSBhcmUgYXQgaXQs IGFib3J0IHRoZSBvcGVyYXRpb24gaWYga21lbWR1cCgpIGhhcyBmYWlsZWQuCgpCVUc6IG1lbW9y eSBsZWFrCnVucmVmZXJlbmNlZCBvYmplY3QgMHhmZmZmODg4MTA1ZDgzZWMwIChzaXplIDMyKToK ICBjb21tICJzeXotZXhlY3V0b3IwNjciLCBwaWQgNzIwNywgamlmZmllcyA0Mjk0OTU2MjI4IChh Z2UgMTkuNDMwcykKICBoZXggZHVtcCAoZmlyc3QgMzIgYnl0ZXMpOgogICAgMDAgNjkgNmMgNjUg MjAgNzIgNjUgNjEgNjQgMDAgNmUgNjUgNzQgM2EgNWIgMzQgIC5pbGUgcmVhZC5uZXQ6WzQKICAg IDMwIDMyIDM2IDM1IDMzIDMzIDMwIDM5IDM3IDVkIDAwIDAwIDAwIDAwIDAwIDAwICAwMjY1MzMw OTddLi4uLi4uCiAgYmFja3RyYWNlOgogICAgWzwwMDAwMDAwMDM2YmFjNDczPl0ga21lbWxlYWtf YWxsb2NfcmVjdXJzaXZlIC8uL2luY2x1ZGUvbGludXgva21lbWxlYWsuaDo0MyBbaW5saW5lXQog ICAgWzwwMDAwMDAwMDM2YmFjNDczPl0gc2xhYl9wb3N0X2FsbG9jX2hvb2sgL21tL3NsYWIuaDo1 MjIgW2lubGluZV0KICAgIFs8MDAwMDAwMDAzNmJhYzQ3Mz5dIHNsYWJfYWxsb2MgL21tL3NsYWIu YzozMzE5IFtpbmxpbmVdCiAgICBbPDAwMDAwMDAwMzZiYWM0NzM+XSBfX2RvX2ttYWxsb2MgL21t L3NsYWIuYzozNjUzIFtpbmxpbmVdCiAgICBbPDAwMDAwMDAwMzZiYWM0NzM+XSBfX2ttYWxsb2Nf dHJhY2tfY2FsbGVyKzB4MTY5LzB4MmQwIC9tbS9zbGFiLmM6MzY3MAogICAgWzwwMDAwMDAwMDBj ZDM5ZDA3Pl0ga21lbWR1cCsweDI3LzB4NjAgL21tL3V0aWwuYzoxMjAKICAgIFs8MDAwMDAwMDA4 ZTU3ZTVmYz5dIGttZW1kdXAgLy4vaW5jbHVkZS9saW51eC9zdHJpbmcuaDo0MzIgW2lubGluZV0K ICAgIFs8MDAwMDAwMDA4ZTU3ZTVmYz5dIGxsY3Bfc29ja19iaW5kKzB4MWIzLzB4MjMwIC9uZXQv bmZjL2xsY3Bfc29jay5jOjEwNwogICAgWzwwMDAwMDAwMDljYjBiNWQzPl0gX19zeXNfYmluZCsw eDExYy8weDE0MCAvbmV0L3NvY2tldC5jOjE2NDcKICAgIFs8MDAwMDAwMDA0OTJjM2JiYz5dIF9f ZG9fc3lzX2JpbmQgL25ldC9zb2NrZXQuYzoxNjU4IFtpbmxpbmVdCiAgICBbPDAwMDAwMDAwNDky YzNiYmM+XSBfX3NlX3N5c19iaW5kIC9uZXQvc29ja2V0LmM6MTY1NiBbaW5saW5lXQogICAgWzww MDAwMDAwMDQ5MmMzYmJjPl0gX194NjRfc3lzX2JpbmQrMHgxZS8weDMwIC9uZXQvc29ja2V0LmM6 MTY1NgogICAgWzwwMDAwMDAwMDA4NzA0YjJhPl0gZG9fc3lzY2FsbF82NCsweDc2LzB4MWEwIC9h cmNoL3g4Ni9lbnRyeS9jb21tb24uYzoyOTYKICAgIFs8MDAwMDAwMDA5ZjRjNTdhND5dIGVudHJ5 X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ0LzB4YTkKCkZpeGVzOiAzMGNjNDU4NzY1OWUg KCJORkM6IE1vdmUgTExDUCBjb2RlIHRvIHRoZSBORkMgdG9wIGxldmVsIGRpaXJlY3RvcnkiKQpT aWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+ClJlcG9ydGVk LWJ5OiBzeXpib3QgPHN5emthbGxlckBnb29nbGVncm91cHMuY29tPgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L25mYy9sbGNwX3Nv Y2suYyB8IDcgKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMSBkZWxl dGlvbigtKQoKZGlmZiAtLWdpdCBhL25ldC9uZmMvbGxjcF9zb2NrLmMgYi9uZXQvbmZjL2xsY3Bf c29jay5jCmluZGV4IDhkZmVhMjY1MzZjOS4uY2NkZDc5MGUxNjNhIDEwMDY0NAotLS0gYS9uZXQv bmZjL2xsY3Bfc29jay5jCisrKyBiL25ldC9uZmMvbGxjcF9zb2NrLmMKQEAgLTEwNyw5ICsxMDcs MTQgQEAgc3RhdGljIGludCBsbGNwX3NvY2tfYmluZChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1 Y3Qgc29ja2FkZHIgKmFkZHIsIGludCBhbGVuKQogCWxsY3Bfc29jay0+c2VydmljZV9uYW1lID0g a21lbWR1cChsbGNwX2FkZHIuc2VydmljZV9uYW1lLAogCQkJCQkgIGxsY3Bfc29jay0+c2Vydmlj ZV9uYW1lX2xlbiwKIAkJCQkJICBHRlBfS0VSTkVMKTsKLQorCWlmICghbGxjcF9zb2NrLT5zZXJ2 aWNlX25hbWUpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBwdXRfZGV2OworCX0KIAlsbGNw X3NvY2stPnNzYXAgPSBuZmNfbGxjcF9nZXRfc2RwX3NzYXAobG9jYWwsIGxsY3Bfc29jayk7CiAJ aWYgKGxsY3Bfc29jay0+c3NhcCA9PSBMTENQX1NBUF9NQVgpIHsKKwkJa2ZyZWUobGxjcF9zb2Nr LT5zZXJ2aWNlX25hbWUpOworCQlsbGNwX3NvY2stPnNlcnZpY2VfbmFtZSA9IE5VTEw7CiAJCXJl dCA9IC1FQUREUklOVVNFOwogCQlnb3RvIHB1dF9kZXY7CiAJfQotLSAKMi4yMC4xCgoKRnJvbSA1 YTRjZjMzODU2ODY4M2MyOWE3ZGU5ZmZhMThkYzAxMTUzNDVlNTEyIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBSZWluaGFyZCBTcGV5ZXJlciA8cnNwbW5AYXJjb3IuZGU+CkRhdGU6IFRo dSwgMyBPY3QgMjAxOSAxODozNDozOSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMTEvMzBdIHFtaV93 d2FuOiBhZGQgc3VwcG9ydCBmb3IgQ2ludGVyaW9uIENMUzggZGV2aWNlcwpNSU1FLVZlcnNpb246 IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFu c2Zlci1FbmNvZGluZzogOGJpdAoKWyBVcHN0cmVhbSBjb21taXQgY2Y3NGFjNmRiMjVkNDAwMjA4 OWU4NWNjNjIzYWQxNDllY2MyNTYxNCBdCgpBZGQgc3VwcG9ydCBmb3IgQ2ludGVyaW9uIENMUzgg ZGV2aWNlcy4KVXNlIFFNSV9RVUlSS19TRVRfRFRSIGFzIHJlcXVpcmVkIGZvciBRdWFsY29tbSBN RE05eDA3IGNoaXBzZXRzLgoKVDogIEJ1cz0wMSBMZXY9MDMgUHJudD0wNSBQb3J0PTAxIENudD0w MiBEZXYjPSAyNSBTcGQ9NDgwICBNeENoPSAwCkQ6ICBWZXI9IDIuMDAgQ2xzPTAwKD5pZmMgKSBT dWI9MDAgUHJvdD0wMCBNeFBTPTY0ICNDZmdzPSAgMQpQOiAgVmVuZG9yPTFlMmQgUHJvZElEPTAw YjAgUmV2PSAzLjE4ClM6ICBNYW51ZmFjdHVyZXI9R0VNQUxUTwpTOiAgUHJvZHVjdD1VU0IgTW9k ZW0KQzoqICNJZnM9IDUgQ2ZnIz0gMSBBdHI9ODAgTXhQd3I9NTAwbUEKSToqIElmIz0gMCBBbHQ9 IDAgI0VQcz0gMiBDbHM9ZmYodmVuZC4pIFN1Yj00MiBQcm90PTAxIERyaXZlcj0obm9uZSkKRTog IEFkPTAxKE8pIEF0cj0wMihCdWxrKSBNeFBTPSA1MTIgSXZsPTBtcwpFOiAgQWQ9ODEoSSkgQXRy PTAyKEJ1bGspIE14UFM9IDUxMiBJdmw9MG1zCkk6KiBJZiM9IDEgQWx0PSAwICNFUHM9IDMgQ2xz PWZmKHZlbmQuKSBTdWI9MDAgUHJvdD0wMCBEcml2ZXI9b3B0aW9uCkU6ICBBZD04MyhJKSBBdHI9 MDMoSW50LikgTXhQUz0gIDEwIEl2bD0zMm1zCkU6ICBBZD04MihJKSBBdHI9MDIoQnVsaykgTXhQ Uz0gNTEyIEl2bD0wbXMKRTogIEFkPTAyKE8pIEF0cj0wMihCdWxrKSBNeFBTPSA1MTIgSXZsPTBt cwpJOiogSWYjPSAyIEFsdD0gMCAjRVBzPSAzIENscz1mZih2ZW5kLikgU3ViPTAwIFByb3Q9MDAg RHJpdmVyPW9wdGlvbgpFOiAgQWQ9ODUoSSkgQXRyPTAzKEludC4pIE14UFM9ICAxMCBJdmw9MzJt cwpFOiAgQWQ9ODQoSSkgQXRyPTAyKEJ1bGspIE14UFM9IDUxMiBJdmw9MG1zCkU6ICBBZD0wMyhP KSBBdHI9MDIoQnVsaykgTXhQUz0gNTEyIEl2bD0wbXMKSToqIElmIz0gMyBBbHQ9IDAgI0VQcz0g MyBDbHM9ZmYodmVuZC4pIFN1Yj0wMCBQcm90PTAwIERyaXZlcj1vcHRpb24KRTogIEFkPTg3KEkp IEF0cj0wMyhJbnQuKSBNeFBTPSAgMTAgSXZsPTMybXMKRTogIEFkPTg2KEkpIEF0cj0wMihCdWxr KSBNeFBTPSA1MTIgSXZsPTBtcwpFOiAgQWQ9MDQoTykgQXRyPTAyKEJ1bGspIE14UFM9IDUxMiBJ dmw9MG1zCkk6KiBJZiM9IDQgQWx0PSAwICNFUHM9IDMgQ2xzPWZmKHZlbmQuKSBTdWI9ZmYgUHJv dD1mZiBEcml2ZXI9cW1pX3d3YW4KRTogIEFkPTg5KEkpIEF0cj0wMyhJbnQuKSBNeFBTPSAgIDgg SXZsPTMybXMKRTogIEFkPTg4KEkpIEF0cj0wMihCdWxrKSBNeFBTPSA1MTIgSXZsPTBtcwpFOiAg QWQ9MDUoTykgQXRyPTAyKEJ1bGspIE14UFM9IDUxMiBJdmw9MG1zCgpTaWduZWQtb2ZmLWJ5OiBS ZWluaGFyZCBTcGV5ZXJlciA8cnNwbW5AYXJjb3IuZGU+CkFja2VkLWJ5OiBCasO4cm4gTW9yayA8 Ympvcm5AbW9yay5ubz4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZl bWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L3VzYi9xbWlfd3dhbi5jIHwgMSArCiAxIGZpbGUg Y2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC91c2IvcW1p X3d3YW4uYyBiL2RyaXZlcnMvbmV0L3VzYi9xbWlfd3dhbi5jCmluZGV4IGI2ZGM1ZDcxNGI1ZS4u M2Q3N2NkNDAyYmE5IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC91c2IvcW1pX3d3YW4uYworKysg Yi9kcml2ZXJzL25ldC91c2IvcW1pX3d3YW4uYwpAQCAtMTM1MCw2ICsxMzUwLDcgQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkIHByb2R1Y3RzW10gPSB7CiAJe1FNSV9GSVhFRF9J TlRGKDB4MWUyZCwgMHgwMDgyLCA0KX0sCS8qIENpbnRlcmlvbiBQSHh4LFBYeHggKDIgUm1OZXQp ICovCiAJe1FNSV9GSVhFRF9JTlRGKDB4MWUyZCwgMHgwMDgyLCA1KX0sCS8qIENpbnRlcmlvbiBQ SHh4LFBYeHggKDIgUm1OZXQpICovCiAJe1FNSV9GSVhFRF9JTlRGKDB4MWUyZCwgMHgwMDgzLCA0 KX0sCS8qIENpbnRlcmlvbiBQSHh4LFBYeHggKDEgUm1OZXQgKyBVU0IgQXVkaW8pKi8KKwl7UU1J X1FVSVJLX1NFVF9EVFIoMHgxZTJkLCAweDAwYjAsIDQpfSwJLyogQ2ludGVyaW9uIENMUzggKi8K IAl7UU1JX0ZJWEVEX0lOVEYoMHg0MTNjLCAweDgxYTIsIDgpfSwJLyogRGVsbCBXaXJlbGVzcyA1 ODA2IEdvYmkoVE0pIDRHIExURSBNb2JpbGUgQnJvYWRiYW5kIENhcmQgKi8KIAl7UU1JX0ZJWEVE X0lOVEYoMHg0MTNjLCAweDgxYTMsIDgpfSwJLyogRGVsbCBXaXJlbGVzcyA1NTcwIEhTUEErICg0 Mk1icHMpIE1vYmlsZSBCcm9hZGJhbmQgQ2FyZCAqLwogCXtRTUlfRklYRURfSU5URigweDQxM2Ms IDB4ODFhNCwgOCl9LAkvKiBEZWxsIFdpcmVsZXNzIDU1NzBlIEhTUEErICg0Mk1icHMpIE1vYmls ZSBCcm9hZGJhbmQgQ2FyZCAqLwotLSAKMi4yMC4xCgoKRnJvbSAwOWIxODNlNDEzN2M0YWZlZjUw ZDgyMmY1YTczYjc1OWU5NmVjZGQ2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZp ZCBIb3dlbGxzIDxkaG93ZWxsc0ByZWRoYXQuY29tPgpEYXRlOiBUaHUsIDMgT2N0IDIwMTkgMTc6 NDQ6NDQgKzAxMDAKU3ViamVjdDogW1BBVENIIDEyLzMwXSByeHJwYzogRml4IHJ4cnBjX3JlY3Zt c2cgdHJhY2Vwb2ludAoKWyBVcHN0cmVhbSBjb21taXQgZGI5YjJlMGFmNjA1ZTdjOTk0Nzg0NTI3 YWJmZDkyNzZjYWJkNzE4YSBdCgpGaXggdGhlIHJ4cnBjX3JlY3Ztc2cgdHJhY2Vwb2ludCB0byBo YW5kbGUgYmVpbmcgY2FsbGVkIHdpdGggYSBOVUxMIGNhbGwKcGFyYW1ldGVyLgoKRml4ZXM6IGEy NWUyMWYwYmNkMiAoInJ4cnBjLCBhZnM6IFVzZSBkZWJ1Z19pZHMgcmF0aGVyIHRoYW4gcG9pbnRl cnMgaW4gdHJhY2VzIikKU2lnbmVkLW9mZi1ieTogRGF2aWQgSG93ZWxscyA8ZGhvd2VsbHNAcmVk aGF0LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQu bmV0PgotLS0KIGluY2x1ZGUvdHJhY2UvZXZlbnRzL3J4cnBjLmggfCAyICstCiAxIGZpbGUgY2hh bmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9pbmNsdWRl L3RyYWNlL2V2ZW50cy9yeHJwYy5oIGIvaW5jbHVkZS90cmFjZS9ldmVudHMvcnhycGMuaAppbmRl eCBhMTNhNjJkYjM1NjUuLmVkYzVjODg3YTQ0YyAxMDA2NDQKLS0tIGEvaW5jbHVkZS90cmFjZS9l dmVudHMvcnhycGMuaAorKysgYi9pbmNsdWRlL3RyYWNlL2V2ZW50cy9yeHJwYy5oCkBAIC0xMDY4 LDcgKzEwNjgsNyBAQCBUUkFDRV9FVkVOVChyeHJwY19yZWN2bXNnLAogCQkJICAgICApLAogCiAJ ICAgIFRQX2Zhc3RfYXNzaWduKAotCQkgICAgX19lbnRyeS0+Y2FsbCA9IGNhbGwtPmRlYnVnX2lk OworCQkgICAgX19lbnRyeS0+Y2FsbCA9IGNhbGwgPyBjYWxsLT5kZWJ1Z19pZCA6IDA7CiAJCSAg ICBfX2VudHJ5LT53aHkgPSB3aHk7CiAJCSAgICBfX2VudHJ5LT5zZXEgPSBzZXE7CiAJCSAgICBf X2VudHJ5LT5vZmZzZXQgPSBvZmZzZXQ7Ci0tIAoyLjIwLjEKCgpGcm9tIDA1MTRmMjg1Y2Q4ZjE0 NzBmN2U4YzBiZjUwZWY2OTEwODI3ZjRmMWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTogVGh1LCAyNiBTZXAgMjAx OSAxODoyNDo0MyAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTMvMzBdIHNjaF9jYnE6IHZhbGlkYXRl IFRDQV9DQlFfV1JST1BUIHRvIGF2b2lkIGNyYXNoCgpbIFVwc3RyZWFtIGNvbW1pdCBlOTc4OWM3 Y2MxODI0ODRmYzAzMWZkODgwOTdlYjE0Y2IyNmM0NTk2IF0KCnN5emJvdCByZXBvcnRlZCBhIGNy YXNoIGluIGNicV9ub3JtYWxpemVfcXVhbnRhKCkgY2F1c2VkCmJ5IGFuIG91dCBvZiByYW5nZSBj bC0+cHJpb3JpdHkuCgppcHJvdXRlMiBlbmZvcmNlcyB0aGlzIGNoZWNrLCBidXQgbWFsaWNpb3Vz IHVzZXJzIGRvIG5vdC4KCmthc2FuOiBDT05GSUdfS0FTQU5fSU5MSU5FIGVuYWJsZWQKa2FzYW46 IEdQRiBjb3VsZCBiZSBjYXVzZWQgYnkgTlVMTC1wdHIgZGVyZWYgb3IgdXNlciBtZW1vcnkgYWNj ZXNzCmdlbmVyYWwgcHJvdGVjdGlvbiBmYXVsdDogMDAwMCBbIzFdIFNNUCBLQVNBTiBQVEkKTW9k dWxlcyBsaW5rZWQgaW46CkNQVTogMSBQSUQ6IDI2NDQ3IENvbW06IHN5ei1leGVjdXRvci4xIE5v dCB0YWludGVkIDUuMysgIzAKSGFyZHdhcmUgbmFtZTogR29vZ2xlIEdvb2dsZSBDb21wdXRlIEVu Z2luZS9Hb29nbGUgQ29tcHV0ZSBFbmdpbmUsIEJJT1MgR29vZ2xlIDAxLzAxLzIwMTEKUklQOiAw MDEwOmNicV9ub3JtYWxpemVfcXVhbnRhLnBhcnQuMCsweDFmZC8weDQzMCBuZXQvc2NoZWQvc2No X2NicS5jOjkwMgpSU1A6IDAwMTg6ZmZmZjg4MDFhNWMzMzNiMCBFRkxBR1M6IDAwMDEwMjA2ClJB WDogMDAwMDAwMDAyMDAwMDAwMyBSQlg6IDAwMDAwMDAwZmZmZmZmZjggUkNYOiBmZmZmYzkwMDA3 MTJmMDAwClJEWDogMDAwMDAwMDAwMDAwNDNiZiBSU0k6IGZmZmZmZmZmODNiZTg5NjIgUkRJOiAw MDAwMDAwMTAwMDAwMDE4ClJCUDogZmZmZjg4MDFhNWMzMzQyMCBSMDg6IDAwMDAwMDAwMDAwMDAw M2EgUjA5OiAwMDAwMDAwMDAwMDAwMDAwClIxMDogMDAwMDAwMDAwMDAwMDAwMCBSMTE6IDAwMDAw MDAwMDAwMDAwMDAgUjEyOiAwMDAwMDAwMDAwMDAwMmVmClIxMzogZmZmZjg4MDE4ZGE5NTE4OCBS MTQ6IGRmZmZmYzAwMDAwMDAwMDAgUjE1OiAwMDAwMDAwMDAwMDAwMDE1CkZTOiAgMDAwMDdmMzdk MjZiMTcwMCgwMDAwKSBHUzpmZmZmODgwMWRhZDAwMDAwKDAwMDApIGtubEdTOjAwMDAwMDAwMDAw MDAwMDAKQ1M6ICAwMDEwIERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMwpD UjI6IDAwMDAwMDAwMDA0YzdjZWMgQ1IzOiAwMDAwMDAwMWJjZDBhMDA2IENSNDogMDAwMDAwMDAw MDE2MjZmMApEUjA6IDAwMDAwMDAwMDAwMDAwMDAgRFIxOiAwMDAwMDAwMDAwMDAwMDAwIERSMjog MDAwMDAwMDAwMDAwMDAwMApEUjM6IDAwMDAwMDAwMDAwMDAwMDAgRFI2OiAwMDAwMDAwMGZmZmUw ZmYwIERSNzogMDAwMDAwMDAwMDAwMDQwMApDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgzYmU5ZDU3 Pl0gY2JxX25vcm1hbGl6ZV9xdWFudGEgaW5jbHVkZS9uZXQvcGt0X3NjaGVkLmg6MjcgW2lubGlu ZV0KIFs8ZmZmZmZmZmY4M2JlOWQ1Nz5dIGNicV9hZGRwcmlvIG5ldC9zY2hlZC9zY2hfY2JxLmM6 MTA5NyBbaW5saW5lXQogWzxmZmZmZmZmZjgzYmU5ZDU3Pl0gY2JxX3NldF93cnIrMHgyZDcvMHg0 NTAgbmV0L3NjaGVkL3NjaF9jYnEuYzoxMTE1CiBbPGZmZmZmZmZmODNiZWU4YTc+XSBjYnFfY2hh bmdlX2NsYXNzKzB4OTg3LzB4MjI1YiBuZXQvc2NoZWQvc2NoX2NicS5jOjE1MzcKIFs8ZmZmZmZm ZmY4M2I5Njk4NT5dIHRjX2N0bF90Y2xhc3MrMHg1NTUvMHhjZDAgbmV0L3NjaGVkL3NjaF9hcGku YzoyMzI5CiBbPGZmZmZmZmZmODNhODQ2NTU+XSBydG5ldGxpbmtfcmN2X21zZysweDQ4NS8weGMx MCBuZXQvY29yZS9ydG5ldGxpbmsuYzo1MjQ4CiBbPGZmZmZmZmZmODNjYWRmMGE+XSBuZXRsaW5r X3Jjdl9za2IrMHgxN2EvMHg0NjAgbmV0L25ldGxpbmsvYWZfbmV0bGluay5jOjI1MTAKIFs8ZmZm ZmZmZmY4M2E3ZGI2ZD5dIHJ0bmV0bGlua19yY3YrMHgxZC8weDMwIG5ldC9jb3JlL3J0bmV0bGlu ay5jOjUyNjYKIFs8ZmZmZmZmZmY4M2NhYzJjNj5dIG5ldGxpbmtfdW5pY2FzdF9rZXJuZWwgbmV0 L25ldGxpbmsvYWZfbmV0bGluay5jOjEzMjQgW2lubGluZV0KIFs8ZmZmZmZmZmY4M2NhYzJjNj5d IG5ldGxpbmtfdW5pY2FzdCsweDUzNi8weDcyMCBuZXQvbmV0bGluay9hZl9uZXRsaW5rLmM6MTM1 MAogWzxmZmZmZmZmZjgzY2FjZDRhPl0gbmV0bGlua19zZW5kbXNnKzB4ODlhLzB4ZDUwIG5ldC9u ZXRsaW5rL2FmX25ldGxpbmsuYzoxOTM5CiBbPGZmZmZmZmZmODM5OWQ0NmU+XSBzb2NrX3NlbmRt c2dfbm9zZWMgbmV0L3NvY2tldC5jOjY3MyBbaW5saW5lXQogWzxmZmZmZmZmZjgzOTlkNDZlPl0g c29ja19zZW5kbXNnKzB4MTJlLzB4MTcwIG5ldC9zb2NrZXQuYzo2ODQKIFs8ZmZmZmZmZmY4Mzk5 ZjFmZD5dIF9fX3N5c19zZW5kbXNnKzB4ODFkLzB4OTYwIG5ldC9zb2NrZXQuYzoyMzU5CiBbPGZm ZmZmZmZmODM5YTJkMDU+XSBfX3N5c19zZW5kbXNnKzB4MTA1LzB4MWQwIG5ldC9zb2NrZXQuYzoy Mzk3CiBbPGZmZmZmZmZmODM5YTJkZjk+XSBTWVNDX3NlbmRtc2cgbmV0L3NvY2tldC5jOjI0MDYg W2lubGluZV0KIFs8ZmZmZmZmZmY4MzlhMmRmOT5dIFN5U19zZW5kbXNnKzB4MjkvMHgzMCBuZXQv c29ja2V0LmM6MjQwNAogWzxmZmZmZmZmZjgxMDFjY2M4Pl0gZG9fc3lzY2FsbF82NCsweDUyOC8w eDc3MCBhcmNoL3g4Ni9lbnRyeS9jb21tb24uYzozMDUKIFs8ZmZmZmZmZmY4NDQwMDA5MT5dIGVu dHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQyLzB4YjcKCkZpeGVzOiAxZGExNzdlNGMz ZjQgKCJMaW51eC0yLjYuMTItcmMyIikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVt YXpldEBnb29nbGUuY29tPgpSZXBvcnRlZC1ieTogc3l6Ym90IDxzeXprYWxsZXJAZ29vZ2xlZ3Jv dXBzLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQu bmV0PgotLS0KIG5ldC9zY2hlZC9zY2hfY2JxLmMgfCA0MyArKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwg MTQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL3NjaF9jYnEuYyBiL25ldC9z Y2hlZC9zY2hfY2JxLmMKaW5kZXggMDZjN2EyZGEyMWJjLi4zOWI0MjdkYzc1MTIgMTAwNjQ0Ci0t LSBhL25ldC9zY2hlZC9zY2hfY2JxLmMKKysrIGIvbmV0L3NjaGVkL3NjaF9jYnEuYwpAQCAtMTEy Nyw2ICsxMTI3LDMzIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbmxhX3BvbGljeSBjYnFfcG9saWN5 W1RDQV9DQlFfTUFYICsgMV0gPSB7CiAJW1RDQV9DQlFfUE9MSUNFXQk9IHsgLmxlbiA9IHNpemVv ZihzdHJ1Y3QgdGNfY2JxX3BvbGljZSkgfSwKIH07CiAKK3N0YXRpYyBpbnQgY2JxX29wdF9wYXJz ZShzdHJ1Y3QgbmxhdHRyICp0YltUQ0FfQ0JRX01BWCArIDFdLAorCQkJIHN0cnVjdCBubGF0dHIg Km9wdCwKKwkJCSBzdHJ1Y3QgbmV0bGlua19leHRfYWNrICpleHRhY2spCit7CisJaW50IGVycjsK KworCWlmICghb3B0KSB7CisJCU5MX1NFVF9FUlJfTVNHKGV4dGFjaywgIkNCUSBvcHRpb25zIGFy ZSByZXF1aXJlZCBmb3IgdGhpcyBvcGVyYXRpb24iKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQor CisJZXJyID0gbmxhX3BhcnNlX25lc3RlZF9kZXByZWNhdGVkKHRiLCBUQ0FfQ0JRX01BWCwgb3B0 LAorCQkJCQkgIGNicV9wb2xpY3ksIGV4dGFjayk7CisJaWYgKGVyciA8IDApCisJCXJldHVybiBl cnI7CisKKwlpZiAodGJbVENBX0NCUV9XUlJPUFRdKSB7CisJCWNvbnN0IHN0cnVjdCB0Y19jYnFf d3Jyb3B0ICp3cnIgPSBubGFfZGF0YSh0YltUQ0FfQ0JRX1dSUk9QVF0pOworCisJCWlmICh3cnIt PnByaW9yaXR5ID4gVENfQ0JRX01BWFBSSU8pIHsKKwkJCU5MX1NFVF9FUlJfTVNHKGV4dGFjaywg InByaW9yaXR5IGlzIGJpZ2dlciB0aGFuIFRDX0NCUV9NQVhQUklPIik7CisJCQllcnIgPSAtRUlO VkFMOworCQl9CisJfQorCXJldHVybiBlcnI7Cit9CisKIHN0YXRpYyBpbnQgY2JxX2luaXQoc3Ry dWN0IFFkaXNjICpzY2gsIHN0cnVjdCBubGF0dHIgKm9wdCwKIAkJICAgIHN0cnVjdCBuZXRsaW5r X2V4dF9hY2sgKmV4dGFjaykKIHsKQEAgLTExMzksMTMgKzExNjYsNyBAQCBzdGF0aWMgaW50IGNi cV9pbml0KHN0cnVjdCBRZGlzYyAqc2NoLCBzdHJ1Y3QgbmxhdHRyICpvcHQsCiAJaHJ0aW1lcl9p bml0KCZxLT5kZWxheV90aW1lciwgQ0xPQ0tfTU9OT1RPTklDLCBIUlRJTUVSX01PREVfQUJTX1BJ Tk5FRCk7CiAJcS0+ZGVsYXlfdGltZXIuZnVuY3Rpb24gPSBjYnFfdW5kZWxheTsKIAotCWlmICgh b3B0KSB7Ci0JCU5MX1NFVF9FUlJfTVNHKGV4dGFjaywgIkNCUSBvcHRpb25zIGFyZSByZXF1aXJl ZCBmb3IgdGhpcyBvcGVyYXRpb24iKTsKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCi0JZXJyID0g bmxhX3BhcnNlX25lc3RlZF9kZXByZWNhdGVkKHRiLCBUQ0FfQ0JRX01BWCwgb3B0LCBjYnFfcG9s aWN5LAotCQkJCQkgIGV4dGFjayk7CisJZXJyID0gY2JxX29wdF9wYXJzZSh0Yiwgb3B0LCBleHRh Y2spOwogCWlmIChlcnIgPCAwKQogCQlyZXR1cm4gZXJyOwogCkBAIC0xNDY0LDEzICsxNDg1LDcg QEAgY2JxX2NoYW5nZV9jbGFzcyhzdHJ1Y3QgUWRpc2MgKnNjaCwgdTMyIGNsYXNzaWQsIHUzMiBw YXJlbnRpZCwgc3RydWN0IG5sYXR0ciAqKnQKIAlzdHJ1Y3QgY2JxX2NsYXNzICpwYXJlbnQ7CiAJ c3RydWN0IHFkaXNjX3JhdGVfdGFibGUgKnJ0YWIgPSBOVUxMOwogCi0JaWYgKCFvcHQpIHsKLQkJ TkxfU0VUX0VSUl9NU0coZXh0YWNrLCAiTWFuZGF0b3J5IHFkaXNjIG9wdGlvbnMgbWlzc2luZyIp OwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0KLQllcnIgPSBubGFfcGFyc2VfbmVzdGVkX2RlcHJl Y2F0ZWQodGIsIFRDQV9DQlFfTUFYLCBvcHQsIGNicV9wb2xpY3ksCi0JCQkJCSAgZXh0YWNrKTsK KwllcnIgPSBjYnFfb3B0X3BhcnNlKHRiLCBvcHQsIGV4dGFjayk7CiAJaWYgKGVyciA8IDApCiAJ CXJldHVybiBlcnI7CiAKLS0gCjIuMjAuMQoKCkZyb20gNGJlZjZlYWE0NDQ2ZTFmYTA3ZGVhNTQz Y2ZjMTQ5ZDMzYjhlZTQ4MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBEdW1h emV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpEYXRlOiBGcmksIDQgT2N0IDIwMTkgMTA6MzQ6NDUg LTA3MDAKU3ViamVjdDogW1BBVENIIDE0LzMwXSBzY2hfZHNtYXJrOiBmaXggcG90ZW50aWFsIE5V TEwgZGVyZWYgaW4gZHNtYXJrX2luaXQoKQoKWyBVcHN0cmVhbSBjb21taXQgNDc0ZjA4MTNhMzAw MmNiMjk5YmI3M2E1YTkzYWExZjUzN2E4MGNhOCBdCgpNYWtlIHN1cmUgVENBX0RTTUFSS19JTkRJ Q0VTIHdhcyBwcm92aWRlZCBieSB0aGUgdXNlci4KCnN5emJvdCByZXBvcnRlZCA6CgprYXNhbjog Q09ORklHX0tBU0FOX0lOTElORSBlbmFibGVkCmthc2FuOiBHUEYgY291bGQgYmUgY2F1c2VkIGJ5 IE5VTEwtcHRyIGRlcmVmIG9yIHVzZXIgbWVtb3J5IGFjY2VzcwpnZW5lcmFsIHByb3RlY3Rpb24g ZmF1bHQ6IDAwMDAgWyMxXSBQUkVFTVBUIFNNUCBLQVNBTgpDUFU6IDEgUElEOiA4Nzk5IENvbW06 IHN5ei1leGVjdXRvcjIzNSBOb3QgdGFpbnRlZCA1LjMuMCsgIzAKSGFyZHdhcmUgbmFtZTogR29v Z2xlIEdvb2dsZSBDb21wdXRlIEVuZ2luZS9Hb29nbGUgQ29tcHV0ZSBFbmdpbmUsIEJJT1MgR29v Z2xlIDAxLzAxLzIwMTEKUklQOiAwMDEwOm5sYV9nZXRfdTE2IGluY2x1ZGUvbmV0L25ldGxpbmsu aDoxNTAxIFtpbmxpbmVdClJJUDogMDAxMDpkc21hcmtfaW5pdCBuZXQvc2NoZWQvc2NoX2RzbWFy ay5jOjM2NCBbaW5saW5lXQpSSVA6IDAwMTA6ZHNtYXJrX2luaXQrMHgxOTMvMHg2NDAgbmV0L3Nj aGVkL3NjaF9kc21hcmsuYzozMzkKQ29kZTogODUgZGIgNTggMGYgODggN2QgMDMgMDAgMDAgZTgg ZTkgMWEgYWMgZmIgNDggOGIgOWQgNzAgZmYgZmYgZmYgNDggYjggMDAgMDAgMDAgMDAgMDAgZmMg ZmYgZGYgNDggOGQgN2IgMDQgNDggODkgZmEgNDggYzEgZWEgMDMgPDBmPiBiNiAxNCAwMiA0OCA4 OSBmOCA4MyBlMCAwNyA4MyBjMCAwMSAzOCBkMCA3YyAwOCA4NCBkMiAwZiA4NSBjYQpSU1A6IDAw MTg6ZmZmZjg4ODA5NDI2ZjNiOCBFRkxBR1M6IDAwMDEwMjQ3ClJBWDogZGZmZmZjMDAwMDAwMDAw MCBSQlg6IDAwMDAwMDAwMDAwMDAwMDAgUkNYOiBmZmZmZmZmZjg1YzZlYjA5ClJEWDogMDAwMDAw MDAwMDAwMDAwMCBSU0k6IGZmZmZmZmZmODVjNmViMTcgUkRJOiAwMDAwMDAwMDAwMDAwMDA0ClJC UDogZmZmZjg4ODA5NDI2ZjRiMCBSMDg6IGZmZmY4ODgwOGM0MDg1YzAgUjA5OiBmZmZmZWQxMDE1 ZDI2MTU5ClIxMDogZmZmZmVkMTAxNWQyNjE1OCBSMTE6IGZmZmY4ODgwYWU5MzBhYzcgUjEyOiBm ZmZmODg4MGE3ZTk2OTQwClIxMzogZGZmZmZjMDAwMDAwMDAwMCBSMTQ6IGZmZmY4ODgwOTQyNmY4 YzAgUjE1OiAwMDAwMDAwMDAwMDAwMDAwCkZTOiAgMDAwMDAwMDAwMTI5Mjg4MCgwMDAwKSBHUzpm ZmZmODg4MGFlOTAwMDAwKDAwMDApIGtubEdTOjAwMDAwMDAwMDAwMDAwMDAKQ1M6ICAwMDEwIERT OiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMwpDUjI6IDAwMDAwMDAwMjAwMDAw ODAgQ1IzOiAwMDAwMDAwMDhjYTFiMDAwIENSNDogMDAwMDAwMDAwMDE0MDZlMApEUjA6IDAwMDAw MDAwMDAwMDAwMDAgRFIxOiAwMDAwMDAwMDAwMDAwMDAwIERSMjogMDAwMDAwMDAwMDAwMDAwMApE UjM6IDAwMDAwMDAwMDAwMDAwMDAgRFI2OiAwMDAwMDAwMGZmZmUwZmYwIERSNzogMDAwMDAwMDAw MDAwMDQwMApDYWxsIFRyYWNlOgogcWRpc2NfY3JlYXRlKzB4NGVlLzB4MTIxMCBuZXQvc2NoZWQv c2NoX2FwaS5jOjEyMzcKIHRjX21vZGlmeV9xZGlzYysweDUyNC8weDFjNTAgbmV0L3NjaGVkL3Nj aF9hcGkuYzoxNjUzCiBydG5ldGxpbmtfcmN2X21zZysweDQ2My8weGIwMCBuZXQvY29yZS9ydG5l dGxpbmsuYzo1MjIzCiBuZXRsaW5rX3Jjdl9za2IrMHgxNzcvMHg0NTAgbmV0L25ldGxpbmsvYWZf bmV0bGluay5jOjI0NzcKIHJ0bmV0bGlua19yY3YrMHgxZC8weDMwIG5ldC9jb3JlL3J0bmV0bGlu ay5jOjUyNDEKIG5ldGxpbmtfdW5pY2FzdF9rZXJuZWwgbmV0L25ldGxpbmsvYWZfbmV0bGluay5j OjEzMDIgW2lubGluZV0KIG5ldGxpbmtfdW5pY2FzdCsweDUzMS8weDcxMCBuZXQvbmV0bGluay9h Zl9uZXRsaW5rLmM6MTMyOAogbmV0bGlua19zZW5kbXNnKzB4OGE1LzB4ZDYwIG5ldC9uZXRsaW5r L2FmX25ldGxpbmsuYzoxOTE3CiBzb2NrX3NlbmRtc2dfbm9zZWMgbmV0L3NvY2tldC5jOjYzNyBb aW5saW5lXQogc29ja19zZW5kbXNnKzB4ZDcvMHgxMzAgbmV0L3NvY2tldC5jOjY1NwogX19fc3lz X3NlbmRtc2crMHg4MDMvMHg5MjAgbmV0L3NvY2tldC5jOjIzMTEKIF9fc3lzX3NlbmRtc2crMHgx MDUvMHgxZDAgbmV0L3NvY2tldC5jOjIzNTYKIF9fZG9fc3lzX3NlbmRtc2cgbmV0L3NvY2tldC5j OjIzNjUgW2lubGluZV0KIF9fc2Vfc3lzX3NlbmRtc2cgbmV0L3NvY2tldC5jOjIzNjMgW2lubGlu ZV0KIF9feDY0X3N5c19zZW5kbXNnKzB4NzgvMHhiMCBuZXQvc29ja2V0LmM6MjM2MwogZG9fc3lz Y2FsbF82NCsweGZhLzB4NzYwIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjI5MAogZW50cnlfU1lT Q0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NDkvMHhiZQpSSVA6IDAwMzM6MHg0NDAzNjkKCkZpeGVz OiA3NThjYzQzYzZkNzMgKCJbUEtUX1NDSEVEXTogRml4IGRzbWFyayB0byBhcHBseSBjaGFuZ2Vz IGNvbnNpc3RlbnQiKQpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2ds ZS5jb20+ClJlcG9ydGVkLWJ5OiBzeXpib3QgPHN5emthbGxlckBnb29nbGVncm91cHMuY29tPgpT aWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQog bmV0L3NjaGVkL3NjaF9kc21hcmsuYyB8IDIgKysKIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlv bnMoKykKCmRpZmYgLS1naXQgYS9uZXQvc2NoZWQvc2NoX2RzbWFyay5jIGIvbmV0L3NjaGVkL3Nj aF9kc21hcmsuYwppbmRleCBiYWQxY2JlNTlhNTYuLjA1NjA1YjMwYmVmMyAxMDA2NDQKLS0tIGEv bmV0L3NjaGVkL3NjaF9kc21hcmsuYworKysgYi9uZXQvc2NoZWQvc2NoX2RzbWFyay5jCkBAIC0z NjEsNiArMzYxLDggQEAgc3RhdGljIGludCBkc21hcmtfaW5pdChzdHJ1Y3QgUWRpc2MgKnNjaCwg c3RydWN0IG5sYXR0ciAqb3B0LAogCQlnb3RvIGVycm91dDsKIAogCWVyciA9IC1FSU5WQUw7CisJ aWYgKCF0YltUQ0FfRFNNQVJLX0lORElDRVNdKQorCQlnb3RvIGVycm91dDsKIAlpbmRpY2VzID0g bmxhX2dldF91MTYodGJbVENBX0RTTUFSS19JTkRJQ0VTXSk7CiAKIAlpZiAoaHdlaWdodDMyKGlu ZGljZXMpICE9IDEpCi0tIAoyLjIwLjEKCgpGcm9tIDVhZDI1NmMyYTA5NWIxZmVhMzNmNGY2MTkx NjY1N2M4ZTA4ZGY1NjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFR1b25nIExpZW4g PHR1b25nLnQubGllbkBkZWt0ZWNoLmNvbS5hdT4KRGF0ZTogV2VkLCAyIE9jdCAyMDE5IDE4OjQ5 OjQzICswNzAwClN1YmplY3Q6IFtQQVRDSCAxNS8zMF0gdGlwYzogZml4IHVubGltaXRlZCBidW5k bGluZyBvZiBzbWFsbCBtZXNzYWdlcwoKWyBVcHN0cmVhbSBjb21taXQgZTk1NTg0YTg4OWUxOTAy ZmRmMWRlZDk3MTJlMmMzYzMwODNiYWY5NiBdCgpXZSBoYXZlIGlkZW50aWZpZWQgYSBwcm9ibGVt IHdpdGggdGhlICJvdmVyc3Vic2NyaXB0aW9uIiBwb2xpY3kgaW4gdGhlCmxpbmsgdHJhbnNtaXNz aW9uIGNvZGUuCgpXaGVuIHNtYWxsIG1lc3NhZ2VzIGFyZSB0cmFuc21pdHRlZCwgYW5kIHRoZSBz ZW5kaW5nIGxpbmsgaGFzIHJlYWNoZWQKdGhlIHRyYW5zbWl0IHdpbmRvdyBsaW1pdCwgdGhvc2Ug bWVzc2FnZXMgd2lsbCBiZSBidW5kbGVkIGFuZCBwdXQgaW50bwp0aGUgbGluayBiYWNrbG9nIHF1 ZXVlLiBIb3dldmVyLCBidW5kbGVzIG9mIGRhdGEgbWVzc2FnZXMgYXJlIGNvdW50ZWQKYXQgdGhl ICdDUklUSUNBTCcgbGV2ZWwsIHNvIHRoYXQgdGhlIGNvdW50ZXIgZm9yIHRoYXQgbGV2ZWwsIGlu c3RlYWQgb2YKdGhlIGNvdW50ZXIgZm9yIHRoZSByZWFsLCBidW5kbGVkIG1lc3NhZ2UncyBsZXZl bCBpcyB0aGUgb25lIGJlaW5nCmluY3JlYXNlZC4KU3Vic2VxdWVudCwgdG8tYmUtYnVuZGxlZCBk YXRhIG1lc3NhZ2VzIGF0IG5vbi1DUklUSUNBTCBsZXZlbHMgY29udGludWUKdG8gYmUgdGVzdGVk IGFnYWluc3QgdGhlIHVuY2hhbmdlZCBjb3VudGVyIGZvciB0aGVpciBvd24gbGV2ZWwsIHdoaWxl CmNvbnRyaWJ1dGluZyB0byBhbiB1bnJlc3RyYWluZWQgaW5jcmVhc2UgYXQgdGhlIENSSVRJQ0FM IGJhY2tsb2cgbGV2ZWwuCgpUaGlzIGxlYXZlcyBhIGdhcCBpbiBjb25nZXN0aW9uIGNvbnRyb2wg YWxnb3JpdGhtIGZvciBzbWFsbCBtZXNzYWdlcwp0aGF0IGNhbiByZXN1bHQgaW4gc3RhcnZhdGlv biBmb3Igb3RoZXIgdXNlcnMgb3IgYSAicmVhbCIgQ1JJVElDQUwKdXNlci4gRXZlbiB0aGF0IGV2 ZW50dWFsbHkgY2FuIGxlYWQgdG8gYnVmZmVyIGV4aGF1c3Rpb24gJiBsaW5rIHJlc2V0LgoKV2Ug Zml4IHRoaXMgYnkga2VlcGluZyBhICd0YXJnZXRfYnNrYicgYnVmZmVyIHBvaW50ZXIgYXQgZWFj aCBsZXZlbHMsCnRoZW4gd2hlbiBidW5kbGluZywgd2Ugb25seSBidW5kbGUgbWVzc2FnZXMgYXQg dGhlIHNhbWUgaW1wb3J0YW5jZQpsZXZlbCBvbmx5LiBUaGlzIHdheSwgd2Uga25vdyBleGFjdGx5 IGhvdyBtYW55IHNsb3RzIGEgY2VydGFpbiBsZXZlbApoYXZlIG9jY3VwaWVkIGluIHRoZSBxdWV1 ZSwgc28gY2FuIG1hbmFnZSBsZXZlbCBjb25nZXN0aW9uIGFjY3VyYXRlbHkuCgpCeSBidW5kbGlu ZyBtZXNzYWdlcyBhdCB0aGUgc2FtZSBsZXZlbCwgd2UgZXZlbiBoYXZlIG1vcmUgYmVuZWZpdHMu IExldApjb25zaWRlciB0aGlzOgotIE9uZSBzb2NrZXQgc2VuZHMgNjQtYnl0ZSBtZXNzYWdlcyBh dCB0aGUgJ0NSSVRJQ0FMJyBsZXZlbDsKLSBBbm90aGVyIHNlbmRzIDQwOTYtYnl0ZSBtZXNzYWdl cyBhdCB0aGUgJ0xPVycgbGV2ZWw7CgpXaGVuIGEgNjQtYnl0ZSBtZXNzYWdlIGNvbWVzIGFuZCBp cyBidW5kbGVkIHRoZSBmaXJzdCB0aW1lLCB3ZSBwdXQgdGhlCm92ZXJoZWFkIG9mIG1lc3NhZ2Ug YnVuZGxlIHRvIGl0ICgrIDQwLWJ5dGUgaGVhZGVyLCBkYXRhIGNvcHksIGV0Yy4pCmZvciBsYXRl ciB1c2UsIGJ1dCB0aGUgbmV4dCBtZXNzYWdlIGNhbiBiZSBhIDQwOTYtYnl0ZSBvbmUgdGhhdCBj YW5ub3QKYmUgYnVuZGxlZCB0byB0aGUgcHJldmlvdXMgb25lLiBUaGlzIG1lYW5zIHRoZSBsYXN0 IGJ1bmRsZSBjYXJyaWVzIG9ubHkKb25lIHBheWxvYWQgbWVzc2FnZSB3aGljaCBpcyB0b3RhbGx5 IGluZWZmaWNpZW50LCBhcyBmb3IgdGhlIHJlY2VpdmVyCmFsc28hIExhdGVyIG9uLCBhbm90aGVy IDY0LWJ5dGUgbWVzc2FnZSBjb21lcywgbm93IHdlIG1ha2UgYSBuZXcgYnVuZGxlCmFuZCB0aGUg c2FtZSBzdG9yeSByZXBlYXRzLi4uCgpXaXRoIHRoZSBuZXcgYnVuZGxpbmcgYWxnb3JpdGhtLCB0 aGlzIHdpbGwgbm90IGhhcHBlbiwgdGhlIDY0LWJ5dGUKbWVzc2FnZXMgd2lsbCBiZSBidW5kbGVk IHRvZ2V0aGVyIGV2ZW4gd2hlbiB0aGUgNDA5Ni1ieXRlIG1lc3NhZ2UocykKY29tZXMgaW4gYmV0 d2Vlbi4gSG93ZXZlciwgaWYgdGhlIDQwOTYtYnl0ZSBtZXNzYWdlcyBhcmUgc2VudCBhdCB0aGUK c2FtZSBsZXZlbCBpLmUuICdDUklUSUNBTCcsIHRoZSBidW5kbGluZyBhbGdvcml0aG0gd2lsbCBh Z2FpbiBjYXVzZSB0aGUKc2FtZSBvdmVyaGVhZC4KCkFsc28sIHRoZSBzYW1lIHdpbGwgaGFwcGVu IGV2ZW4gd2l0aCBvbmx5IG9uZSBzb2NrZXQgc2VuZGluZyBzbWFsbAptZXNzYWdlcyBhdCBhIHJh dGUgY2xvc2UgdG8gdGhlIGxpbmsgdHJhbnNtaXQncyBvbmUsIHNvIHRoYXQsIHdoZW4gb25lCm1l c3NhZ2UgaXMgYnVuZGxlZCwgaXQncyB0cmFuc21pdHRlZCBzaG9ydGx5LiBUaGVuLCBhbm90aGVy IG1lc3NhZ2UKY29tZXMsIGEgbmV3IGJ1bmRsZSBpcyBjcmVhdGVkIGFuZCBzbyBvbi4uLgoKV2Ug d2lsbCBzb2x2ZSB0aGlzIGlzc3VlIHJhZGljYWxseSBieSBhbm90aGVyIHBhdGNoLgoKRml4ZXM6 IDM2NWFkMzUzYzI1NiAoInRpcGM6IHJlZHVjZSByaXNrIG9mIHVzZXIgc3RhcnZhdGlvbiBkdXJp bmcgbGluayBjb25nZXN0aW9uIikKUmVwb3J0ZWQtYnk6IEhvYW5nIExlIDxob2FuZy5oLmxlQGRl a3RlY2guY29tLmF1PgpBY2tlZC1ieTogSm9uIE1hbG95IDxqb24ubWFsb3lAZXJpY3Nzb24uY29t PgpTaWduZWQtb2ZmLWJ5OiBUdW9uZyBMaWVuIDx0dW9uZy50LmxpZW5AZGVrdGVjaC5jb20uYXU+ ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0t CiBuZXQvdGlwYy9saW5rLmMgfCAyOSArKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQogbmV0 L3RpcGMvbXNnLmMgIHwgIDUgKy0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygr KSwgMTUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3RpcGMvbGluay5jIGIvbmV0L3Rp cGMvbGluay5jCmluZGV4IGMyYzVjNTNjYWQyMi4uYjAwNjNkMDU1OTllIDEwMDY0NAotLS0gYS9u ZXQvdGlwYy9saW5rLmMKKysrIGIvbmV0L3RpcGMvbGluay5jCkBAIC0xNjAsNiArMTYwLDcgQEAg c3RydWN0IHRpcGNfbGluayB7CiAJc3RydWN0IHsKIAkJdTE2IGxlbjsKIAkJdTE2IGxpbWl0Owor CQlzdHJ1Y3Qgc2tfYnVmZiAqdGFyZ2V0X2Jza2I7CiAJfSBiYWNrbG9nWzVdOwogCXUxNiBzbmRf bnh0OwogCXUxNiB3aW5kb3c7CkBAIC04NjYsNiArODY3LDcgQEAgc3RhdGljIHZvaWQgbGlua19w cmVwYXJlX3dha2V1cChzdHJ1Y3QgdGlwY19saW5rICpsKQogdm9pZCB0aXBjX2xpbmtfcmVzZXQo c3RydWN0IHRpcGNfbGluayAqbCkKIHsKIAlzdHJ1Y3Qgc2tfYnVmZl9oZWFkIGxpc3Q7CisJdTMy IGltcDsKIAogCV9fc2tiX3F1ZXVlX2hlYWRfaW5pdCgmbGlzdCk7CiAKQEAgLTg4NywxMSArODg5 LDEwIEBAIHZvaWQgdGlwY19saW5rX3Jlc2V0KHN0cnVjdCB0aXBjX2xpbmsgKmwpCiAJX19za2Jf cXVldWVfcHVyZ2UoJmwtPmRlZmVyZHEpOwogCV9fc2tiX3F1ZXVlX3B1cmdlKCZsLT5iYWNrbG9n cSk7CiAJX19za2JfcXVldWVfcHVyZ2UoJmwtPmZhaWxvdmVyX2RlZmVyZHEpOwotCWwtPmJhY2ts b2dbVElQQ19MT1dfSU1QT1JUQU5DRV0ubGVuID0gMDsKLQlsLT5iYWNrbG9nW1RJUENfTUVESVVN X0lNUE9SVEFOQ0VdLmxlbiA9IDA7Ci0JbC0+YmFja2xvZ1tUSVBDX0hJR0hfSU1QT1JUQU5DRV0u bGVuID0gMDsKLQlsLT5iYWNrbG9nW1RJUENfQ1JJVElDQUxfSU1QT1JUQU5DRV0ubGVuID0gMDsK LQlsLT5iYWNrbG9nW1RJUENfU1lTVEVNX0lNUE9SVEFOQ0VdLmxlbiA9IDA7CisJZm9yIChpbXAg PSAwOyBpbXAgPD0gVElQQ19TWVNURU1fSU1QT1JUQU5DRTsgaW1wKyspIHsKKwkJbC0+YmFja2xv Z1tpbXBdLmxlbiA9IDA7CisJCWwtPmJhY2tsb2dbaW1wXS50YXJnZXRfYnNrYiA9IE5VTEw7CisJ fQogCWtmcmVlX3NrYihsLT5yZWFzbV9idWYpOwogCWtmcmVlX3NrYihsLT5mYWlsb3Zlcl9yZWFz bV9za2IpOwogCWwtPnJlYXNtX2J1ZiA9IE5VTEw7CkBAIC05MzEsNyArOTMyLDcgQEAgaW50IHRp cGNfbGlua194bWl0KHN0cnVjdCB0aXBjX2xpbmsgKmwsIHN0cnVjdCBza19idWZmX2hlYWQgKmxp c3QsCiAJdTE2IGJjX2FjayA9IGwtPmJjX3JjdmxpbmstPnJjdl9ueHQgLSAxOwogCXN0cnVjdCBz a19idWZmX2hlYWQgKnRyYW5zbXEgPSAmbC0+dHJhbnNtcTsKIAlzdHJ1Y3Qgc2tfYnVmZl9oZWFk ICpiYWNrbG9ncSA9ICZsLT5iYWNrbG9ncTsKLQlzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCAqX3NrYiwg KmJza2I7CisJc3RydWN0IHNrX2J1ZmYgKnNrYiwgKl9za2IsICoqdHNrYjsKIAlpbnQgcGt0X2Nu dCA9IHNrYl9xdWV1ZV9sZW4obGlzdCk7CiAJaW50IHJjID0gMDsKIApAQCAtOTgwLDE5ICs5ODEs MjEgQEAgaW50IHRpcGNfbGlua194bWl0KHN0cnVjdCB0aXBjX2xpbmsgKmwsIHN0cnVjdCBza19i dWZmX2hlYWQgKmxpc3QsCiAJCQlzZXFubysrOwogCQkJY29udGludWU7CiAJCX0KLQkJaWYgKHRp cGNfbXNnX2J1bmRsZShza2JfcGVla190YWlsKGJhY2tsb2dxKSwgaGRyLCBtdHUpKSB7CisJCXRz a2IgPSAmbC0+YmFja2xvZ1tpbXBdLnRhcmdldF9ic2tiOworCQlpZiAodGlwY19tc2dfYnVuZGxl KCp0c2tiLCBoZHIsIG10dSkpIHsKIAkJCWtmcmVlX3NrYihfX3NrYl9kZXF1ZXVlKGxpc3QpKTsK IAkJCWwtPnN0YXRzLnNlbnRfYnVuZGxlZCsrOwogCQkJY29udGludWU7CiAJCX0KLQkJaWYgKHRp cGNfbXNnX21ha2VfYnVuZGxlKCZic2tiLCBoZHIsIG10dSwgbC0+YWRkcikpIHsKKwkJaWYgKHRp cGNfbXNnX21ha2VfYnVuZGxlKHRza2IsIGhkciwgbXR1LCBsLT5hZGRyKSkgewogCQkJa2ZyZWVf c2tiKF9fc2tiX2RlcXVldWUobGlzdCkpOwotCQkJX19za2JfcXVldWVfdGFpbChiYWNrbG9ncSwg YnNrYik7Ci0JCQlsLT5iYWNrbG9nW21zZ19pbXBvcnRhbmNlKGJ1Zl9tc2coYnNrYikpXS5sZW4r KzsKKwkJCV9fc2tiX3F1ZXVlX3RhaWwoYmFja2xvZ3EsICp0c2tiKTsKKwkJCWwtPmJhY2tsb2db aW1wXS5sZW4rKzsKIAkJCWwtPnN0YXRzLnNlbnRfYnVuZGxlZCsrOwogCQkJbC0+c3RhdHMuc2Vu dF9idW5kbGVzKys7CiAJCQljb250aW51ZTsKIAkJfQorCQlsLT5iYWNrbG9nW2ltcF0udGFyZ2V0 X2Jza2IgPSBOVUxMOwogCQlsLT5iYWNrbG9nW2ltcF0ubGVuICs9IHNrYl9xdWV1ZV9sZW4obGlz dCk7CiAJCXNrYl9xdWV1ZV9zcGxpY2VfdGFpbF9pbml0KGxpc3QsIGJhY2tsb2dxKTsKIAl9CkBA IC0xMDA4LDYgKzEwMTEsNyBAQCBzdGF0aWMgdm9pZCB0aXBjX2xpbmtfYWR2YW5jZV9iYWNrbG9n KHN0cnVjdCB0aXBjX2xpbmsgKmwsCiAJdTE2IHNlcW5vID0gbC0+c25kX254dDsKIAl1MTYgYWNr ID0gbC0+cmN2X254dCAtIDE7CiAJdTE2IGJjX2FjayA9IGwtPmJjX3JjdmxpbmstPnJjdl9ueHQg LSAxOworCXUzMiBpbXA7CiAKIAl3aGlsZSAoc2tiX3F1ZXVlX2xlbigmbC0+dHJhbnNtcSkgPCBs LT53aW5kb3cpIHsKIAkJc2tiID0gc2tiX3BlZWsoJmwtPmJhY2tsb2dxKTsKQEAgLTEwMTgsNyAr MTAyMiwxMCBAQCBzdGF0aWMgdm9pZCB0aXBjX2xpbmtfYWR2YW5jZV9iYWNrbG9nKHN0cnVjdCB0 aXBjX2xpbmsgKmwsCiAJCQlicmVhazsKIAkJX19za2JfZGVxdWV1ZSgmbC0+YmFja2xvZ3EpOwog CQloZHIgPSBidWZfbXNnKHNrYik7Ci0JCWwtPmJhY2tsb2dbbXNnX2ltcG9ydGFuY2UoaGRyKV0u bGVuLS07CisJCWltcCA9IG1zZ19pbXBvcnRhbmNlKGhkcik7CisJCWwtPmJhY2tsb2dbaW1wXS5s ZW4tLTsKKwkJaWYgKHVubGlrZWx5KHNrYiA9PSBsLT5iYWNrbG9nW2ltcF0udGFyZ2V0X2Jza2Ip KQorCQkJbC0+YmFja2xvZ1tpbXBdLnRhcmdldF9ic2tiID0gTlVMTDsKIAkJX19za2JfcXVldWVf dGFpbCgmbC0+dHJhbnNtcSwgc2tiKTsKIAkJLyogbmV4dCByZXRyYW5zbWl0IGF0dGVtcHQgKi8K IAkJaWYgKGxpbmtfaXNfYmNfc25kbGluayhsKSkKZGlmZiAtLWdpdCBhL25ldC90aXBjL21zZy5j IGIvbmV0L3RpcGMvbXNnLmMKaW5kZXggZjQ4ZTU4NTcyMTBmLi5iOTU2Y2U0YTQwZWYgMTAwNjQ0 Ci0tLSBhL25ldC90aXBjL21zZy5jCisrKyBiL25ldC90aXBjL21zZy5jCkBAIC00ODQsMTAgKzQ4 NCw3IEBAIGJvb2wgdGlwY19tc2dfbWFrZV9idW5kbGUoc3RydWN0IHNrX2J1ZmYgKipza2IsICBz dHJ1Y3QgdGlwY19tc2cgKm1zZywKIAlibXNnID0gYnVmX21zZyhfc2tiKTsKIAl0aXBjX21zZ19p bml0KG1zZ19wcmV2bm9kZShtc2cpLCBibXNnLCBNU0dfQlVORExFUiwgMCwKIAkJICAgICAgSU5U X0hfU0laRSwgZG5vZGUpOwotCWlmIChtc2dfaXNkYXRhKG1zZykpCi0JCW1zZ19zZXRfaW1wb3J0 YW5jZShibXNnLCBUSVBDX0NSSVRJQ0FMX0lNUE9SVEFOQ0UpOwotCWVsc2UKLQkJbXNnX3NldF9p bXBvcnRhbmNlKGJtc2csIFRJUENfU1lTVEVNX0lNUE9SVEFOQ0UpOworCW1zZ19zZXRfaW1wb3J0 YW5jZShibXNnLCBtc2dfaW1wb3J0YW5jZShtc2cpKTsKIAltc2dfc2V0X3NlcW5vKGJtc2csIG1z Z19zZXFubyhtc2cpKTsKIAltc2dfc2V0X2FjayhibXNnLCBtc2dfYWNrKG1zZykpOwogCW1zZ19z ZXRfYmNhc3RfYWNrKGJtc2csIG1zZ19iY2FzdF9hY2sobXNnKSk7Ci0tIAoyLjIwLjEKCgpGcm9t IDVmMzM0Mzk5NjFjYzY4YTg4NmUxYmE3MDE1YjdjNjFlNWYwOGNlNDMgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IEpvc2ggSHVudCA8am9odW50QGFrYW1haS5jb20+CkRhdGU6IFdlZCwg MiBPY3QgMjAxOSAxMzoyOToyMiAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMTYvMzBdIHVkcDogZml4 IGdzb19zZWdzIGNhbGN1bGF0aW9ucwoKWyBVcHN0cmVhbSBjb21taXQgNDRiMzIxZTUwMjBkNzgy YWQ2ZThhZTgxODNmMDliMTYzYmU2ZTZlMiBdCgpDb21taXQgZGZlYzBlZTIyYzBhICgidWRwOiBS ZWNvcmQgZ3NvX3NlZ3Mgd2hlbiBzdXBwb3J0aW5nIFVEUCBzZWdtZW50YXRpb24gb2ZmbG9hZCIp CmFkZGVkIGdzb19zZWdzIGNhbGN1bGF0aW9uLCBidXQgaW5jb3JyZWN0bHkgZ290IHNpemVvZigp IHRoZSBwb2ludGVyIGFuZApub3QgdGhlIHVuZGVybHlpbmcgZGF0YSB0eXBlLiBJbiBhZGRpdGlv biBsZXQncyBmaXggdGhlIHY2IGNhc2UuCgpGaXhlczogYmVjMWY2ZjY5NzM2ICgidWRwOiBnZW5l cmF0ZSBnc28gd2l0aCBVRFBfU0VHTUVOVCIpCkZpeGVzOiBkZmVjMGVlMjJjMGEgKCJ1ZHA6IFJl Y29yZCBnc29fc2VncyB3aGVuIHN1cHBvcnRpbmcgVURQIHNlZ21lbnRhdGlvbiBvZmZsb2FkIikK U2lnbmVkLW9mZi1ieTogSm9zaCBIdW50IDxqb2h1bnRAYWthbWFpLmNvbT4KUmV2aWV3ZWQtYnk6 IEFsZXhhbmRlciBEdXljayA8YWxleGFuZGVyLmguZHV5Y2tAbGludXguaW50ZWwuY29tPgpBY2tl ZC1ieTogV2lsbGVtIGRlIEJydWlqbiA8d2lsbGVtYkBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5 OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjQvdWRw LmMgfCAyICstCiBuZXQvaXB2Ni91ZHAuYyB8IDIgKysKIDIgZmlsZXMgY2hhbmdlZCwgMyBpbnNl cnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvdWRwLmMgYi9u ZXQvaXB2NC91ZHAuYwppbmRleCAxNjQ4NmM4YjcwOGIuLjNkZGEyMDlmOWU3OSAxMDA2NDQKLS0t IGEvbmV0L2lwdjQvdWRwLmMKKysrIGIvbmV0L2lwdjQvdWRwLmMKQEAgLTg1Niw3ICs4NTYsNyBA QCBzdGF0aWMgaW50IHVkcF9zZW5kX3NrYihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZmxv d2k0ICpmbDQsCiAKIAkJc2tiX3NoaW5mbyhza2IpLT5nc29fc2l6ZSA9IGNvcmstPmdzb19zaXpl OwogCQlza2Jfc2hpbmZvKHNrYiktPmdzb190eXBlID0gU0tCX0dTT19VRFBfTDQ7Ci0JCXNrYl9z aGluZm8oc2tiKS0+Z3NvX3NlZ3MgPSBESVZfUk9VTkRfVVAobGVuIC0gc2l6ZW9mKHVoKSwKKwkJ c2tiX3NoaW5mbyhza2IpLT5nc29fc2VncyA9IERJVl9ST1VORF9VUChsZW4gLSBzaXplb2YoKnVo KSwKIAkJCQkJCQkgY29yay0+Z3NvX3NpemUpOwogCQlnb3RvIGNzdW1fcGFydGlhbDsKIAl9CmRp ZmYgLS1naXQgYS9uZXQvaXB2Ni91ZHAuYyBiL25ldC9pcHY2L3VkcC5jCmluZGV4IDU5OTVmZGM5 OWQzZi4uYTIzNTgwZDJhZjhjIDEwMDY0NAotLS0gYS9uZXQvaXB2Ni91ZHAuYworKysgYi9uZXQv aXB2Ni91ZHAuYwpAQCAtMTE0Myw2ICsxMTQzLDggQEAgc3RhdGljIGludCB1ZHBfdjZfc2VuZF9z a2Ioc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGZsb3dpNiAqZmw2LAogCiAJCXNrYl9zaGlu Zm8oc2tiKS0+Z3NvX3NpemUgPSBjb3JrLT5nc29fc2l6ZTsKIAkJc2tiX3NoaW5mbyhza2IpLT5n c29fdHlwZSA9IFNLQl9HU09fVURQX0w0OworCQlza2Jfc2hpbmZvKHNrYiktPmdzb19zZWdzID0g RElWX1JPVU5EX1VQKGxlbiAtIHNpemVvZigqdWgpLAorCQkJCQkJCSBjb3JrLT5nc29fc2l6ZSk7 CiAJCWdvdG8gY3N1bV9wYXJ0aWFsOwogCX0KIAotLSAKMi4yMC4xCgoKRnJvbSBlZDA4NDEzY2Zi Mzc0MjIxNWQwNzAxNGE2ZWE1ZWNmODgzMzZlOTUyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBEZXh1YW4gQ3VpIDxkZWN1aUBtaWNyb3NvZnQuY29tPgpEYXRlOiBNb24sIDMwIFNlcCAy MDE5IDE4OjQzOjUwICswMDAwClN1YmplY3Q6IFtQQVRDSCAxNy8zMF0gdnNvY2s6IEZpeCBhIGxv Y2tkZXAgd2FybmluZyBpbiBfX3Zzb2NrX3JlbGVhc2UoKQoKWyBVcHN0cmVhbSBjb21taXQgMGQ5 MTM4ZmZhYzI0Y2Y4Yjc1MzY2ZWRlM2E2OGM5NTFlNmRjYzU3NSBdCgpMb2NrZGVwIGlzIHVuaGFw cHkgaWYgdHdvIGxvY2tzIGZyb20gdGhlIHNhbWUgY2xhc3MgYXJlIGhlbGQuCgpGaXggdGhlIGJl bG93IHdhcm5pbmcgZm9yIGh5cGVydiBhbmQgdmlydGlvIHNvY2tldHMgKHZtY2kgc29ja2V0IGNv ZGUKZG9lc24ndCBoYXZlIHRoZSBpc3N1ZSkgYnkgdXNpbmcgbG9ja19zb2NrX25lc3RlZCgpIHdo ZW4gX192c29ja19yZWxlYXNlKCkKaXMgY2FsbGVkIHJlY3Vyc2l2ZWx5OgoKPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KV0FSTklORzogcG9zc2libGUgcmVjdXJz aXZlIGxvY2tpbmcgZGV0ZWN0ZWQKNS4zLjArICMxIE5vdCB0YWludGVkCi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnNlcnZlci8xNzk1IGlzIHRyeWluZyB0byBh Y3F1aXJlIGxvY2s6CmZmZmY4ODgwYzUxNTg5OTAgKHNrX2xvY2stQUZfVlNPQ0speysuKy59LCBh dDogaHZzX3JlbGVhc2UrMHgxMC8weDEyMCBbaHZfc29ja10KCmJ1dCB0YXNrIGlzIGFscmVhZHkg aG9sZGluZyBsb2NrOgpmZmZmODg4MGM1MTU4MTUwIChza19sb2NrLUFGX1ZTT0NLKXsrLisufSwg YXQ6IF9fdnNvY2tfcmVsZWFzZSsweDJlLzB4ZjAgW3Zzb2NrXQoKb3RoZXIgaW5mbyB0aGF0IG1p Z2h0IGhlbHAgdXMgZGVidWcgdGhpczoKIFBvc3NpYmxlIHVuc2FmZSBsb2NraW5nIHNjZW5hcmlv OgoKICAgICAgIENQVTAKICAgICAgIC0tLS0KICBsb2NrKHNrX2xvY2stQUZfVlNPQ0spOwogIGxv Y2soc2tfbG9jay1BRl9WU09DSyk7CgogKioqIERFQURMT0NLICoqKgoKIE1heSBiZSBkdWUgdG8g bWlzc2luZyBsb2NrIG5lc3Rpbmcgbm90YXRpb24KCjIgbG9ja3MgaGVsZCBieSBzZXJ2ZXIvMTc5 NToKICMwOiBmZmZmODg4MGM1ZDA1ZmY4ICgmc2ItPnNfdHlwZS0+aV9tdXRleF9rZXkjMTApeysu Ky59LCBhdDogX19zb2NrX3JlbGVhc2UrMHgyZC8weGEwCiAjMTogZmZmZjg4ODBjNTE1ODE1MCAo c2tfbG9jay1BRl9WU09DSyl7Ky4rLn0sIGF0OiBfX3Zzb2NrX3JlbGVhc2UrMHgyZS8weGYwIFt2 c29ja10KCnN0YWNrIGJhY2t0cmFjZToKQ1BVOiA1IFBJRDogMTc5NSBDb21tOiBzZXJ2ZXIgTm90 IHRhaW50ZWQgNS4zLjArICMxCkNhbGwgVHJhY2U6CiBkdW1wX3N0YWNrKzB4NjcvMHg5MAogX19s b2NrX2FjcXVpcmUuY29sZC42NysweGQyLzB4MjBiCiBsb2NrX2FjcXVpcmUrMHhiNS8weDFjMAog bG9ja19zb2NrX25lc3RlZCsweDZkLzB4OTAKIGh2c19yZWxlYXNlKzB4MTAvMHgxMjAgW2h2X3Nv Y2tdCiBfX3Zzb2NrX3JlbGVhc2UrMHgyNC8weGYwIFt2c29ja10KIF9fdnNvY2tfcmVsZWFzZSsw eGEwLzB4ZjAgW3Zzb2NrXQogdnNvY2tfcmVsZWFzZSsweDEyLzB4MzAgW3Zzb2NrXQogX19zb2Nr X3JlbGVhc2UrMHgzNy8weGEwCiBzb2NrX2Nsb3NlKzB4MTQvMHgyMAogX19mcHV0KzB4YzEvMHgy NTAKIHRhc2tfd29ya19ydW4rMHg5OC8weGMwCiBkb19leGl0KzB4MzQ0LzB4YzYwCiBkb19ncm91 cF9leGl0KzB4NDcvMHhiMAogZ2V0X3NpZ25hbCsweDE1Yy8weGM1MAogZG9fc2lnbmFsKzB4MzAv MHg3MjAKIGV4aXRfdG9fdXNlcm1vZGVfbG9vcCsweDUwLzB4YTAKIGRvX3N5c2NhbGxfNjQrMHgy NGUvMHgyNzAKIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ5LzB4YmUKUklQOiAw MDMzOjB4N2Y0MTg0ZTg1ZjMxCgpUZXN0ZWQtYnk6IFN0ZWZhbm8gR2FyemFyZWxsYSA8c2dhcnph cmVAcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1ieTogRGV4dWFuIEN1aSA8ZGVjdWlAbWljcm9zb2Z0 LmNvbT4KUmV2aWV3ZWQtYnk6IFN0ZWZhbm8gR2FyemFyZWxsYSA8c2dhcnphcmVAcmVkaGF0LmNv bT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0Pgot LS0KIG5ldC92bXdfdnNvY2svYWZfdnNvY2suYyAgICAgICAgICAgICAgICB8IDE2ICsrKysrKysr KysrKy0tLS0KIG5ldC92bXdfdnNvY2svaHlwZXJ2X3RyYW5zcG9ydC5jICAgICAgICB8ICAyICst CiBuZXQvdm13X3Zzb2NrL3ZpcnRpb190cmFuc3BvcnRfY29tbW9uLmMgfCAgMiArLQogMyBmaWxl cyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L25ldC92bXdfdnNvY2svYWZfdnNvY2suYyBiL25ldC92bXdfdnNvY2svYWZfdnNvY2suYwppbmRl eCBhYjQ3YmYzYWI2NmUuLjJhYjQzYjJiYmEzMSAxMDA2NDQKLS0tIGEvbmV0L3Ztd192c29jay9h Zl92c29jay5jCisrKyBiL25ldC92bXdfdnNvY2svYWZfdnNvY2suYwpAQCAtNjM4LDcgKzYzOCw3 IEBAIHN0cnVjdCBzb2NrICpfX3Zzb2NrX2NyZWF0ZShzdHJ1Y3QgbmV0ICpuZXQsCiB9CiBFWFBP UlRfU1lNQk9MX0dQTChfX3Zzb2NrX2NyZWF0ZSk7CiAKLXN0YXRpYyB2b2lkIF9fdnNvY2tfcmVs ZWFzZShzdHJ1Y3Qgc29jayAqc2spCitzdGF0aWMgdm9pZCBfX3Zzb2NrX3JlbGVhc2Uoc3RydWN0 IHNvY2sgKnNrLCBpbnQgbGV2ZWwpCiB7CiAJaWYgKHNrKSB7CiAJCXN0cnVjdCBza19idWZmICpz a2I7CkBAIC02NDgsOSArNjQ4LDE3IEBAIHN0YXRpYyB2b2lkIF9fdnNvY2tfcmVsZWFzZShzdHJ1 Y3Qgc29jayAqc2spCiAJCXZzayA9IHZzb2NrX3NrKHNrKTsKIAkJcGVuZGluZyA9IE5VTEw7CS8q IENvbXBpbGVyIHdhcm5pbmcuICovCiAKKwkJLyogVGhlIHJlbGVhc2UgY2FsbCBpcyBzdXBwb3Nl ZCB0byB1c2UgbG9ja19zb2NrX25lc3RlZCgpCisJCSAqIHJhdGhlciB0aGFuIGxvY2tfc29jaygp LCBpZiBhIHNvY2sgbG9jayBzaG91bGQgYmUgYWNxdWlyZWQuCisJCSAqLwogCQl0cmFuc3BvcnQt PnJlbGVhc2UodnNrKTsKIAotCQlsb2NrX3NvY2soc2spOworCQkvKiBXaGVuICJsZXZlbCIgaXMg U0lOR0xFX0RFUFRIX05FU1RJTkcsIHVzZSB0aGUgbmVzdGVkCisJCSAqIHZlcnNpb24gdG8gYXZv aWQgdGhlIHdhcm5pbmcgInBvc3NpYmxlIHJlY3Vyc2l2ZSBsb2NraW5nCisJCSAqIGRldGVjdGVk Ii4gV2hlbiAibGV2ZWwiIGlzIDAsIGxvY2tfc29ja19uZXN0ZWQoc2ssIGxldmVsKQorCQkgKiBp cyB0aGUgc2FtZSBhcyBsb2NrX3NvY2soc2spLgorCQkgKi8KKwkJbG9ja19zb2NrX25lc3RlZChz aywgbGV2ZWwpOwogCQlzb2NrX29ycGhhbihzayk7CiAJCXNrLT5za19zaHV0ZG93biA9IFNIVVRE T1dOX01BU0s7CiAKQEAgLTY1OSw3ICs2NjcsNyBAQCBzdGF0aWMgdm9pZCBfX3Zzb2NrX3JlbGVh c2Uoc3RydWN0IHNvY2sgKnNrKQogCiAJCS8qIENsZWFuIHVwIGFueSBzb2NrZXRzIHRoYXQgbmV2 ZXIgd2VyZSBhY2NlcHRlZC4gKi8KIAkJd2hpbGUgKChwZW5kaW5nID0gdnNvY2tfZGVxdWV1ZV9h Y2NlcHQoc2spKSAhPSBOVUxMKSB7Ci0JCQlfX3Zzb2NrX3JlbGVhc2UocGVuZGluZyk7CisJCQlf X3Zzb2NrX3JlbGVhc2UocGVuZGluZywgU0lOR0xFX0RFUFRIX05FU1RJTkcpOwogCQkJc29ja19w dXQocGVuZGluZyk7CiAJCX0KIApAQCAtNzA4LDcgKzcxNiw3IEBAIEVYUE9SVF9TWU1CT0xfR1BM KHZzb2NrX3N0cmVhbV9oYXNfc3BhY2UpOwogCiBzdGF0aWMgaW50IHZzb2NrX3JlbGVhc2Uoc3Ry dWN0IHNvY2tldCAqc29jaykKIHsKLQlfX3Zzb2NrX3JlbGVhc2Uoc29jay0+c2spOworCV9fdnNv Y2tfcmVsZWFzZShzb2NrLT5zaywgMCk7CiAJc29jay0+c2sgPSBOVUxMOwogCXNvY2stPnN0YXRl ID0gU1NfRlJFRTsKIApkaWZmIC0tZ2l0IGEvbmV0L3Ztd192c29jay9oeXBlcnZfdHJhbnNwb3J0 LmMgYi9uZXQvdm13X3Zzb2NrL2h5cGVydl90cmFuc3BvcnQuYwppbmRleCA5ZDg2NGViZWI3YjMu LjRiMTI2YjIxYjQ1MyAxMDA2NDQKLS0tIGEvbmV0L3Ztd192c29jay9oeXBlcnZfdHJhbnNwb3J0 LmMKKysrIGIvbmV0L3Ztd192c29jay9oeXBlcnZfdHJhbnNwb3J0LmMKQEAgLTU1OSw3ICs1NTks NyBAQCBzdGF0aWMgdm9pZCBodnNfcmVsZWFzZShzdHJ1Y3QgdnNvY2tfc29jayAqdnNrKQogCXN0 cnVjdCBzb2NrICpzayA9IHNrX3Zzb2NrKHZzayk7CiAJYm9vbCByZW1vdmVfc29jazsKIAotCWxv Y2tfc29jayhzayk7CisJbG9ja19zb2NrX25lc3RlZChzaywgU0lOR0xFX0RFUFRIX05FU1RJTkcp OwogCXJlbW92ZV9zb2NrID0gaHZzX2Nsb3NlX2xvY2tfaGVsZCh2c2spOwogCXJlbGVhc2Vfc29j ayhzayk7CiAJaWYgKHJlbW92ZV9zb2NrKQpkaWZmIC0tZ2l0IGEvbmV0L3Ztd192c29jay92aXJ0 aW9fdHJhbnNwb3J0X2NvbW1vbi5jIGIvbmV0L3Ztd192c29jay92aXJ0aW9fdHJhbnNwb3J0X2Nv bW1vbi5jCmluZGV4IDZmMWE4YWZmNjVjNS4uYTdhZGZmZDA2MmM3IDEwMDY0NAotLS0gYS9uZXQv dm13X3Zzb2NrL3ZpcnRpb190cmFuc3BvcnRfY29tbW9uLmMKKysrIGIvbmV0L3Ztd192c29jay92 aXJ0aW9fdHJhbnNwb3J0X2NvbW1vbi5jCkBAIC03OTAsNyArNzkwLDcgQEAgdm9pZCB2aXJ0aW9f dHJhbnNwb3J0X3JlbGVhc2Uoc3RydWN0IHZzb2NrX3NvY2sgKnZzaykKIAlzdHJ1Y3Qgc29jayAq c2sgPSAmdnNrLT5zazsKIAlib29sIHJlbW92ZV9zb2NrID0gdHJ1ZTsKIAotCWxvY2tfc29jayhz ayk7CisJbG9ja19zb2NrX25lc3RlZChzaywgU0lOR0xFX0RFUFRIX05FU1RJTkcpOwogCWlmIChz ay0+c2tfdHlwZSA9PSBTT0NLX1NUUkVBTSkKIAkJcmVtb3ZlX3NvY2sgPSB2aXJ0aW9fdHJhbnNw b3J0X2Nsb3NlKHZzayk7CiAKLS0gCjIuMjAuMQoKCkZyb20gNzkwZWQ3MTU0N2U1NzRlMmQxMjAx MGU3Y2E5ZTVlMThhNTgwNmVhMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTGludXMg V2FsbGVpaiA8bGludXMud2FsbGVpakBsaW5hcm8ub3JnPgpEYXRlOiBUdWUsIDEgT2N0IDIwMTkg MTY6Mjg6NDMgKzAyMDAKU3ViamVjdDogW1BBVENIIDE4LzMwXSBuZXQ6IGRzYTogcnRsODM2Njog Q2hlY2sgVkxBTiBJRCBhbmQgbm90IHBvcnRzCgpbIFVwc3RyZWFtIGNvbW1pdCBlODUyMWU1M2Nj YTU4NGRkZjhlYzQ1ODRkM2M1NTBhNmM2NWY4OGM0IF0KClRoZXJlIGhhcyBiZWVuIHNvbWUgY29u ZnVzaW9uIGJldHdlZW4gdGhlIHBvcnQgbnVtYmVyIGFuZAp0aGUgVkxBTiBJRCBpbiB0aGlzIGRy aXZlci4gV2hhdCB3ZSBuZWVkIHRvIGNoZWNrIGZvcgp2YWxpZGl0eSBpcyB0aGUgVkxBTiBJRCwg bm90aGluZyBlbHNlLgoKVGhlIGN1cnJlbnQgY29uZnVzaW9uIGNhbWUgZnJvbSBhc3NpZ25pbmcg YSBmZXcgZGVmYXVsdApWTEFOcyBmb3IgZGVmYXVsdCByb3V0aW5nIGFuZCB3ZSBuZWVkIHRvIHJl d3JpdGUgdGhhdApwcm9wZXJseS4KCkluc3RlYWQgb2YgY2hlY2tpbmcgaWYgdGhlIHBvcnQgbnVt YmVyIGlzIGEgdmFsaWQgVkxBTgpJRCwgY2hlY2sgdGhlIGFjdHVhbCBWTEFOIElEcyBwYXNzZWQg aW4gdG8gdGhlIGNhbGxiYWNrCm9uZSBieSBvbmUgYXMgZXhwZWN0ZWQuCgpGaXhlczogZDg2NTI5 NTZjZjM3ICgibmV0OiBkc2E6IHJlYWx0ZWstc21pOiBBZGQgUmVhbHRlayBTTUkgZHJpdmVyIikK U2lnbmVkLW9mZi1ieTogTGludXMgV2FsbGVpaiA8bGludXMud2FsbGVpakBsaW5hcm8ub3JnPgpT aWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQog ZHJpdmVycy9uZXQvZHNhL3J0bDgzNjYuYyB8IDExICsrKysrKystLS0tCiAxIGZpbGUgY2hhbmdl ZCwgNyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv bmV0L2RzYS9ydGw4MzY2LmMgYi9kcml2ZXJzL25ldC9kc2EvcnRsODM2Ni5jCmluZGV4IGNhM2Qx N2U0M2VkOC4uYWM4OGNhY2E1YWQ0IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9kc2EvcnRsODM2 Ni5jCisrKyBiL2RyaXZlcnMvbmV0L2RzYS9ydGw4MzY2LmMKQEAgLTMzOSwxMCArMzM5LDEyIEBA IGludCBydGw4MzY2X3ZsYW5fcHJlcGFyZShzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIGludCBwb3J0 LAogCQkJIGNvbnN0IHN0cnVjdCBzd2l0Y2hkZXZfb2JqX3BvcnRfdmxhbiAqdmxhbikKIHsKIAlz dHJ1Y3QgcmVhbHRla19zbWkgKnNtaSA9IGRzLT5wcml2OworCXUxNiB2aWQ7CiAJaW50IHJldDsK IAotCWlmICghc21pLT5vcHMtPmlzX3ZsYW5fdmFsaWQoc21pLCBwb3J0KSkKLQkJcmV0dXJuIC1F SU5WQUw7CisJZm9yICh2aWQgPSB2bGFuLT52aWRfYmVnaW47IHZpZCA8IHZsYW4tPnZpZF9lbmQ7 IHZpZCsrKQorCQlpZiAoIXNtaS0+b3BzLT5pc192bGFuX3ZhbGlkKHNtaSwgdmlkKSkKKwkJCXJl dHVybiAtRUlOVkFMOwogCiAJZGV2X2luZm8oc21pLT5kZXYsICJwcmVwYXJlIFZMQU5zICUwNHgu LiUwNHhcbiIsCiAJCSB2bGFuLT52aWRfYmVnaW4sIHZsYW4tPnZpZF9lbmQpOwpAQCAtMzcwLDgg KzM3Miw5IEBAIHZvaWQgcnRsODM2Nl92bGFuX2FkZChzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIGlu dCBwb3J0LAogCXUxNiB2aWQ7CiAJaW50IHJldDsKIAotCWlmICghc21pLT5vcHMtPmlzX3ZsYW5f dmFsaWQoc21pLCBwb3J0KSkKLQkJcmV0dXJuOworCWZvciAodmlkID0gdmxhbi0+dmlkX2JlZ2lu OyB2aWQgPCB2bGFuLT52aWRfZW5kOyB2aWQrKykKKwkJaWYgKCFzbWktPm9wcy0+aXNfdmxhbl92 YWxpZChzbWksIHZpZCkpCisJCQlyZXR1cm47CiAKIAlkZXZfaW5mbyhzbWktPmRldiwgImFkZCBW TEFOIG9uIHBvcnQgJWQsICVzLCAlc1xuIiwKIAkJIHBvcnQsCi0tIAoyLjIwLjEKCgpGcm9tIGRm YmUxMTVkMmE4NzcwY2UwMmIyNDU0ZWE2YWIyMjVjMmM2OWViNjEgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTogTW9u LCAzMCBTZXAgMjAxOSAxNTo0NDo0NCAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTkvMzBdIHRjcDog YWRqdXN0IHJ0b19iYXNlIGluIHJldHJhbnNtaXRzX3RpbWVkX291dCgpCgpbIFVwc3RyZWFtIGNv bW1pdCAzMjU2YTJkNmFiMWY3MWY5YTFiZDJkN2Y2ZjE4ZWI4MTA4YzQ4ZDE3IF0KClRoZSBjaXRl ZCBjb21taXQgZXhwb3NlZCBhbiBvbGQgcmV0cmFuc21pdHNfdGltZWRfb3V0KCkgYnVnCndoaWNo IGFzc3VtZWQgaXQgY291bGQgY2FsbCB0Y3BfbW9kZWxfdGltZW91dCgpIHdpdGgKVENQX1JUT19N SU4gYXMgcnRvX2Jhc2UgZm9yIGFsbCBzdGF0ZXMuCgpCdXQgZmxvd3MgaW4gU1lOX1NFTlQgb3Ig U1lOX1JFQ1Ygc3RhdGUgdXNlcyBhIGRpZmZlcmVudApSVE8gYmFzZSAoMSBzZWMgaW5zdGVhZCBv ZiAyMDAgbXMsIHVubGVzcyBCUEYgY2hvc2VzCmFub3RoZXIgdmFsdWUpCgpUaGlzIGNhdXNlZCBh IHJlZHVjdGlvbiBvZiBTWU4gcmV0cmFuc21pdHMgZnJvbSA2IHRvIDQgd2l0aAp0aGUgZGVmYXVs dCAvcHJvYy9zeXMvbmV0L2lwdjQvdGNwX3N5bl9yZXRyaWVzIHZhbHVlLgoKRml4ZXM6IGE0MWU4 YTg4YjA2ZSAoInRjcDogYmV0dGVyIGhhbmRsZSBUQ1BfVVNFUl9USU1FT1VUIGluIFNZTl9TRU5U IHN0YXRlIikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29t PgpDYzogWXVjaHVuZyBDaGVuZyA8eWNoZW5nQGdvb2dsZS5jb20+CkNjOiBNYXJlayBNYWprb3dz a2kgPG1hcmVrQGNsb3VkZmxhcmUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIg PGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjQvdGNwX3RpbWVyLmMgfCA5ICsrKysr KystLQogMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9uZXQvaXB2NC90Y3BfdGltZXIuYyBiL25ldC9pcHY0L3RjcF90aW1lci5jCmlu ZGV4IDNlOGIzOGM3M2Q4Yy4uNDgzMzIzMzMyZDc0IDEwMDY0NAotLS0gYS9uZXQvaXB2NC90Y3Bf dGltZXIuYworKysgYi9uZXQvaXB2NC90Y3BfdGltZXIuYwpAQCAtMTk4LDggKzE5OCwxMyBAQCBz dGF0aWMgYm9vbCByZXRyYW5zbWl0c190aW1lZF9vdXQoc3RydWN0IHNvY2sgKnNrLAogCQlyZXR1 cm4gZmFsc2U7CiAKIAlzdGFydF90cyA9IHRjcF9zayhzayktPnJldHJhbnNfc3RhbXA7Ci0JaWYg KGxpa2VseSh0aW1lb3V0ID09IDApKQotCQl0aW1lb3V0ID0gdGNwX21vZGVsX3RpbWVvdXQoc2ss IGJvdW5kYXJ5LCBUQ1BfUlRPX01JTik7CisJaWYgKGxpa2VseSh0aW1lb3V0ID09IDApKSB7CisJ CXVuc2lnbmVkIGludCBydG9fYmFzZSA9IFRDUF9SVE9fTUlOOworCisJCWlmICgoMSA8PCBzay0+ c2tfc3RhdGUpICYgKFRDUEZfU1lOX1NFTlQgfCBUQ1BGX1NZTl9SRUNWKSkKKwkJCXJ0b19iYXNl ID0gdGNwX3RpbWVvdXRfaW5pdChzayk7CisJCXRpbWVvdXQgPSB0Y3BfbW9kZWxfdGltZW91dChz aywgYm91bmRhcnksIHJ0b19iYXNlKTsKKwl9CiAKIAlyZXR1cm4gKHMzMikodGNwX3RpbWVfc3Rh bXAodGNwX3NrKHNrKSkgLSBzdGFydF90cyAtIHRpbWVvdXQpID49IDA7CiB9Ci0tIAoyLjIwLjEK CgpGcm9tIDY3MmQ2OGQxYzdlNzJhNjFmZWExZTczOGQxY2I2ZWJkN2YxZDgwYTEgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IEpvc2ggSHVudCA8am9odW50QGFrYW1haS5jb20+CkRhdGU6 IFdlZCwgMiBPY3QgMjAxOSAxMzoyOToyMyAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMjAvMzBdIHVk cDogb25seSBkbyBHU08gaWYgIyBvZiBzZWdzID4gMQoKWyBVcHN0cmVhbSBjb21taXQgNDA5NDg3 MWRiMWQ2NTgxMGFjYWIzZDU3ZjYwODlhYTM5ZWY3ZjY0OCBdCgpQcmlvciB0byB0aGlzIGNoYW5n ZSBhbiBhcHBsaWNhdGlvbiBzZW5kaW5nIDw9IDFNU1Mgd29ydGggb2YgZGF0YSBhbmQKZW5hYmxp bmcgVURQIEdTTyB3b3VsZCBmYWlsIGlmIHRoZSBzeXN0ZW0gaGFkIFNXIEdTTyBlbmFibGVkLCBi dXQgdGhlCnNhbWUgc2VuZCB3b3VsZCBzdWNjZWVkIGlmIEhXIEdTTyBvZmZsb2FkIGlzIGVuYWJs ZWQuIEluIGFkZGl0aW9uIHRvIHRoaXMKaW5jb25zaXN0ZW5jeSB0aGUgZXJyb3IgaW4gdGhlIFNX IEdTTyBjYXNlIGRvZXMgbm90IGdldCBiYWNrIHRvIHRoZQphcHBsaWNhdGlvbiBpZiBzZW5kaW5n IG91dCBvZiBhIHJlYWwgZGV2aWNlIHNvIHRoZSB1c2VyIGlzIHVuYXdhcmUgb2YgdGhpcwpmYWls dXJlLgoKV2l0aCB0aGlzIGNoYW5nZSB3ZSBvbmx5IHBlcmZvcm0gR1NPIGlmIHRoZSAjIG9mIHNl Z21lbnRzIGlzID4gMSBldmVuCmlmIHRoZSBhcHBsaWNhdGlvbiBoYXMgZW5hYmxlZCBzZWdtZW50 YXRpb24uIEkndmUgYWxzbyB1cGRhdGVkIHRoZQpyZWxldmFudCB1ZHBnc28gc2VsZnRlc3RzLgoK Rml4ZXM6IGJlYzFmNmY2OTczNiAoInVkcDogZ2VuZXJhdGUgZ3NvIHdpdGggVURQX1NFR01FTlQi KQpTaWduZWQtb2ZmLWJ5OiBKb3NoIEh1bnQgPGpvaHVudEBha2FtYWkuY29tPgpSZXZpZXdlZC1i eTogV2lsbGVtIGRlIEJydWlqbiA8d2lsbGVtYkBnb29nbGUuY29tPgpSZXZpZXdlZC1ieTogQWxl eGFuZGVyIER1eWNrIDxhbGV4YW5kZXIuaC5kdXlja0BsaW51eC5pbnRlbC5jb20+ClNpZ25lZC1v ZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2 NC91ZHAuYyAgICAgICAgICAgICAgICAgICAgICAgfCAxMSArKysrKysrLS0tLQogbmV0L2lwdjYv dWRwLmMgICAgICAgICAgICAgICAgICAgICAgIHwgMTEgKysrKysrKy0tLS0KIHRvb2xzL3Rlc3Rp bmcvc2VsZnRlc3RzL25ldC91ZHBnc28uYyB8IDE2ICsrKystLS0tLS0tLS0tLS0KIDMgZmlsZXMg Y2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv bmV0L2lwdjQvdWRwLmMgYi9uZXQvaXB2NC91ZHAuYwppbmRleCAzZGRhMjA5ZjllNzkuLjVlNWQw NTc1YTQzYyAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvdWRwLmMKKysrIGIvbmV0L2lwdjQvdWRwLmMK QEAgLTgyMSw2ICs4MjEsNyBAQCBzdGF0aWMgaW50IHVkcF9zZW5kX3NrYihzdHJ1Y3Qgc2tfYnVm ZiAqc2tiLCBzdHJ1Y3QgZmxvd2k0ICpmbDQsCiAJaW50IGlzX3VkcGxpdGUgPSBJU19VRFBMSVRF KHNrKTsKIAlpbnQgb2Zmc2V0ID0gc2tiX3RyYW5zcG9ydF9vZmZzZXQoc2tiKTsKIAlpbnQgbGVu ID0gc2tiLT5sZW4gLSBvZmZzZXQ7CisJaW50IGRhdGFsZW4gPSBsZW4gLSBzaXplb2YoKnVoKTsK IAlfX3dzdW0gY3N1bSA9IDA7CiAKIAkvKgpAQCAtODU0LDEwICs4NTUsMTIgQEAgc3RhdGljIGlu dCB1ZHBfc2VuZF9za2Ioc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGZsb3dpNCAqZmw0LAog CQkJcmV0dXJuIC1FSU87CiAJCX0KIAotCQlza2Jfc2hpbmZvKHNrYiktPmdzb19zaXplID0gY29y ay0+Z3NvX3NpemU7Ci0JCXNrYl9zaGluZm8oc2tiKS0+Z3NvX3R5cGUgPSBTS0JfR1NPX1VEUF9M NDsKLQkJc2tiX3NoaW5mbyhza2IpLT5nc29fc2VncyA9IERJVl9ST1VORF9VUChsZW4gLSBzaXpl b2YoKnVoKSwKLQkJCQkJCQkgY29yay0+Z3NvX3NpemUpOworCQlpZiAoZGF0YWxlbiA+IGNvcmst Pmdzb19zaXplKSB7CisJCQlza2Jfc2hpbmZvKHNrYiktPmdzb19zaXplID0gY29yay0+Z3NvX3Np emU7CisJCQlza2Jfc2hpbmZvKHNrYiktPmdzb190eXBlID0gU0tCX0dTT19VRFBfTDQ7CisJCQlz a2Jfc2hpbmZvKHNrYiktPmdzb19zZWdzID0gRElWX1JPVU5EX1VQKGRhdGFsZW4sCisJCQkJCQkJ CSBjb3JrLT5nc29fc2l6ZSk7CisJCX0KIAkJZ290byBjc3VtX3BhcnRpYWw7CiAJfQogCmRpZmYg LS1naXQgYS9uZXQvaXB2Ni91ZHAuYyBiL25ldC9pcHY2L3VkcC5jCmluZGV4IGEyMzU4MGQyYWY4 Yy4uMDQ1NGE4YTNiMzljIDEwMDY0NAotLS0gYS9uZXQvaXB2Ni91ZHAuYworKysgYi9uZXQvaXB2 Ni91ZHAuYwpAQCAtMTEwOSw2ICsxMTA5LDcgQEAgc3RhdGljIGludCB1ZHBfdjZfc2VuZF9za2Io c3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGZsb3dpNiAqZmw2LAogCV9fd3N1bSBjc3VtID0g MDsKIAlpbnQgb2Zmc2V0ID0gc2tiX3RyYW5zcG9ydF9vZmZzZXQoc2tiKTsKIAlpbnQgbGVuID0g c2tiLT5sZW4gLSBvZmZzZXQ7CisJaW50IGRhdGFsZW4gPSBsZW4gLSBzaXplb2YoKnVoKTsKIAog CS8qCiAJICogQ3JlYXRlIGEgVURQIGhlYWRlcgpAQCAtMTE0MSwxMCArMTE0MiwxMiBAQCBzdGF0 aWMgaW50IHVkcF92Nl9zZW5kX3NrYihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZmxvd2k2 ICpmbDYsCiAJCQlyZXR1cm4gLUVJTzsKIAkJfQogCi0JCXNrYl9zaGluZm8oc2tiKS0+Z3NvX3Np emUgPSBjb3JrLT5nc29fc2l6ZTsKLQkJc2tiX3NoaW5mbyhza2IpLT5nc29fdHlwZSA9IFNLQl9H U09fVURQX0w0OwotCQlza2Jfc2hpbmZvKHNrYiktPmdzb19zZWdzID0gRElWX1JPVU5EX1VQKGxl biAtIHNpemVvZigqdWgpLAotCQkJCQkJCSBjb3JrLT5nc29fc2l6ZSk7CisJCWlmIChkYXRhbGVu ID4gY29yay0+Z3NvX3NpemUpIHsKKwkJCXNrYl9zaGluZm8oc2tiKS0+Z3NvX3NpemUgPSBjb3Jr LT5nc29fc2l6ZTsKKwkJCXNrYl9zaGluZm8oc2tiKS0+Z3NvX3R5cGUgPSBTS0JfR1NPX1VEUF9M NDsKKwkJCXNrYl9zaGluZm8oc2tiKS0+Z3NvX3NlZ3MgPSBESVZfUk9VTkRfVVAoZGF0YWxlbiwK KwkJCQkJCQkJIGNvcmstPmdzb19zaXplKTsKKwkJfQogCQlnb3RvIGNzdW1fcGFydGlhbDsKIAl9 CiAKZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC91ZHBnc28uYyBiL3Rv b2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC91ZHBnc28uYwppbmRleCBiODI2NWVlOTkyM2YuLjYx NGIzMWFhZDE2OCAxMDA2NDQKLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L3VkcGdz by5jCisrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC91ZHBnc28uYwpAQCAtODksMTIg Kzg5LDkgQEAgc3RydWN0IHRlc3RjYXNlIHRlc3RjYXNlc192NFtdID0gewogCQkudGZhaWwgPSB0 cnVlLAogCX0sCiAJewotCQkvKiBzZW5kIGEgc2luZ2xlIE1TUzogd2lsbCBmYWlsIHdpdGggR1NP LCBiZWNhdXNlIHRoZSBzZWdtZW50Ci0JCSAqIGxvZ2ljIGluIHVkcDRfdWZvX2ZyYWdtZW50IGRl bWFuZHMgYSBnc28gc2tiIHRvIGJlID4gTVRVCi0JCSAqLworCQkvKiBzZW5kIGEgc2luZ2xlIE1T Uzogd2lsbCBmYWxsIGJhY2sgdG8gbm8gR1NPICovCiAJCS50bGVuID0gQ09OU1RfTVNTX1Y0LAog CQkuZ3NvX2xlbiA9IENPTlNUX01TU19WNCwKLQkJLnRmYWlsID0gdHJ1ZSwKIAkJLnJfbnVtX21z cyA9IDEsCiAJfSwKIAl7CkBAIC0xMzksMTAgKzEzNiw5IEBAIHN0cnVjdCB0ZXN0Y2FzZSB0ZXN0 Y2FzZXNfdjRbXSA9IHsKIAkJLnRmYWlsID0gdHJ1ZSwKIAl9LAogCXsKLQkJLyogc2VuZCBhIHNp bmdsZSAxQiBNU1M6IHdpbGwgZmFpbCwgc2VlIHNpbmdsZSBNU1MgYWJvdmUgKi8KKwkJLyogc2Vu ZCBhIHNpbmdsZSAxQiBNU1M6IHdpbGwgZmFsbCBiYWNrIHRvIG5vIEdTTyAqLwogCQkudGxlbiA9 IDEsCiAJCS5nc29fbGVuID0gMSwKLQkJLnRmYWlsID0gdHJ1ZSwKIAkJLnJfbnVtX21zcyA9IDEs CiAJfSwKIAl7CkBAIC0xOTYsMTIgKzE5Miw5IEBAIHN0cnVjdCB0ZXN0Y2FzZSB0ZXN0Y2FzZXNf djZbXSA9IHsKIAkJLnRmYWlsID0gdHJ1ZSwKIAl9LAogCXsKLQkJLyogc2VuZCBhIHNpbmdsZSBN U1M6IHdpbGwgZmFpbCB3aXRoIEdTTywgYmVjYXVzZSB0aGUgc2VnbWVudAotCQkgKiBsb2dpYyBp biB1ZHA0X3Vmb19mcmFnbWVudCBkZW1hbmRzIGEgZ3NvIHNrYiB0byBiZSA+IE1UVQotCQkgKi8K KwkJLyogc2VuZCBhIHNpbmdsZSBNU1M6IHdpbGwgZmFsbCBiYWNrIHRvIG5vIEdTTyAqLwogCQku dGxlbiA9IENPTlNUX01TU19WNiwKIAkJLmdzb19sZW4gPSBDT05TVF9NU1NfVjYsCi0JCS50ZmFp bCA9IHRydWUsCiAJCS5yX251bV9tc3MgPSAxLAogCX0sCiAJewpAQCAtMjQ2LDEwICsyMzksOSBA QCBzdHJ1Y3QgdGVzdGNhc2UgdGVzdGNhc2VzX3Y2W10gPSB7CiAJCS50ZmFpbCA9IHRydWUsCiAJ fSwKIAl7Ci0JCS8qIHNlbmQgYSBzaW5nbGUgMUIgTVNTOiB3aWxsIGZhaWwsIHNlZSBzaW5nbGUg TVNTIGFib3ZlICovCisJCS8qIHNlbmQgYSBzaW5nbGUgMUIgTVNTOiB3aWxsIGZhbGwgYmFjayB0 byBubyBHU08gKi8KIAkJLnRsZW4gPSAxLAogCQkuZ3NvX2xlbiA9IDEsCi0JCS50ZmFpbCA9IHRy dWUsCiAJCS5yX251bV9tc3MgPSAxLAogCX0sCiAJewotLSAKMi4yMC4xCgoKRnJvbSBiNTI0N2Uy ZjIzMGZjNDRkNzI2YmIzY2Y2NDcwMzNkYTYyYjFmYWFjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBEb3RhbiBCYXJhayA8ZG90YW5iQGRldi5tZWxsYW5veC5jby5pbD4KRGF0ZTogVHVl LCAxIE9jdCAyMDE5IDEwOjIxOjAyIC0wNzAwClN1YmplY3Q6IFtQQVRDSCAyMS8zMF0gbmV0L3Jk czogRml4IGVycm9yIGhhbmRsaW5nIGluIHJkc19pYl9hZGRfb25lKCkKClsgVXBzdHJlYW0gY29t bWl0IGQ2NGJmODlhNzViNjVmODNmMDZiZTlmYjhmOTc4ZTYwZDUzNzUyZGIgXQoKcmRzX2liZGV2 OmlwYWRkcl9saXN0IGFuZCByZHNfaWJkZXY6Y29ubl9saXN0IGFyZSBpbml0aWFsaXplZAphZnRl ciBhbGxvY2F0aW9uIHNvbWUgcmVzb3VyY2VzIHN1Y2ggYXMgcHJvdGVjdGlvbiBkb21haW4uCklm IGFsbG9jYXRpb24gb2Ygc3VjaCByZXNvdXJjZXMgZmFpbCwgdGhlbiB0aGVzZSB1bmluaXRpYWxp emVkCnZhcmlhYmxlcyBhcmUgYWNjZXNzZWQgaW4gcmRzX2liX2Rldl9mcmVlKCkgaW4gZmFpbHVy ZSBwYXRoLiBUaGlzCmNhbiBwb3RlbnRpYWxseSBjcmFzaCB0aGUgc3lzdGVtLiBUaGUgY29kZSBo YXMgYmVlbiB1cGRhdGVkIHRvCmluaXRpYWxpemUgdGhlc2UgdmFyaWFibGVzIHZlcnkgZWFybHkg aW4gdGhlIGZ1bmN0aW9uLgoKU2lnbmVkLW9mZi1ieTogRG90YW4gQmFyYWsgPGRvdGFuYkBkZXYu bWVsbGFub3guY28uaWw+ClNpZ25lZC1vZmYtYnk6IFN1ZGhha2FyIERpbmR1a3VydGkgPHN1ZGhh a2FyLmRpbmR1a3VydGlAb3JhY2xlLmNvbT4KQWNrZWQtYnk6IFNhbnRvc2ggU2hpbGlta2FyIDxz YW50b3NoLnNoaWxpbWthckBvcmFjbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxs ZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3Jkcy9pYi5jIHwgNiArKystLS0KIDEg ZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvbmV0L3Jkcy9pYi5jIGIvbmV0L3Jkcy9pYi5jCmluZGV4IDQ1YWNhYjJkZTBjZi4uOWRlMmFl MjJkNTgzIDEwMDY0NAotLS0gYS9uZXQvcmRzL2liLmMKKysrIGIvbmV0L3Jkcy9pYi5jCkBAIC0x NDMsNiArMTQzLDkgQEAgc3RhdGljIHZvaWQgcmRzX2liX2FkZF9vbmUoc3RydWN0IGliX2Rldmlj ZSAqZGV2aWNlKQogCXJlZmNvdW50X3NldCgmcmRzX2liZGV2LT5yZWZjb3VudCwgMSk7CiAJSU5J VF9XT1JLKCZyZHNfaWJkZXYtPmZyZWVfd29yaywgcmRzX2liX2Rldl9mcmVlKTsKIAorCUlOSVRf TElTVF9IRUFEKCZyZHNfaWJkZXYtPmlwYWRkcl9saXN0KTsKKwlJTklUX0xJU1RfSEVBRCgmcmRz X2liZGV2LT5jb25uX2xpc3QpOworCiAJcmRzX2liZGV2LT5tYXhfd3JzID0gZGV2aWNlLT5hdHRy cy5tYXhfcXBfd3I7CiAJcmRzX2liZGV2LT5tYXhfc2dlID0gbWluKGRldmljZS0+YXR0cnMubWF4 X3NlbmRfc2dlLCBSRFNfSUJfTUFYX1NHRSk7CiAKQEAgLTIwMyw5ICsyMDYsNiBAQCBzdGF0aWMg dm9pZCByZHNfaWJfYWRkX29uZShzdHJ1Y3QgaWJfZGV2aWNlICpkZXZpY2UpCiAJCWRldmljZS0+ bmFtZSwKIAkJcmRzX2liZGV2LT51c2VfZmFzdHJlZyA/ICJGUk1SIiA6ICJGTVIiKTsKIAotCUlO SVRfTElTVF9IRUFEKCZyZHNfaWJkZXYtPmlwYWRkcl9saXN0KTsKLQlJTklUX0xJU1RfSEVBRCgm cmRzX2liZGV2LT5jb25uX2xpc3QpOwotCiAJZG93bl93cml0ZSgmcmRzX2liX2RldmljZXNfbG9j ayk7CiAJbGlzdF9hZGRfdGFpbF9yY3UoJnJkc19pYmRldi0+bGlzdCwgJnJkc19pYl9kZXZpY2Vz KTsKIAl1cF93cml0ZSgmcmRzX2liX2RldmljZXNfbG9jayk7Ci0tIAoyLjIwLjEKCgpGcm9tIDA5 M2RmMzdiNzA2ZjRmMzIzNzBmZWQ3M2NlODBlNjIyM2VmODdhNGQgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IFZsYWRpbWlyIE9sdGVhbiA8b2x0ZWFudkBnbWFpbC5jb20+CkRhdGU6IFR1 ZSwgMSBPY3QgMjAxOSAyMTo1ODoxOCArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMjIvMzBdIG5ldDog ZHNhOiBzamExMTA1OiBJbml0aWFsaXplIHRoZSBtZXRhX2xvY2sKClsgVXBzdHJlYW0gY29tbWl0 IGQ2NTMwZTVhZDQ1MDg5YzAxOGMzY2M1YjU5NTdhMzQ3MjEyNDlmNmYgXQoKT3RoZXJ3aXNlLCB3 aXRoIENPTkZJR19ERUJVR19TUElOTE9DSz15LCB0aGlzIHN0YWNrIHRyYWNlIGdldHMgcHJpbnRl ZAp3aGVuIGVuYWJsaW5nIFJYIHRpbWVzdGFtcGluZyBhbmQgcmVjZWl2aW5nIGEgUFRQIGZyYW1l OgoKWyAgMzE4LjUzNzA3OF0gSU5GTzogdHJ5aW5nIHRvIHJlZ2lzdGVyIG5vbi1zdGF0aWMga2V5 LgpbICAzMTguNTQyMDQwXSB0aGUgY29kZSBpcyBmaW5lIGJ1dCBuZWVkcyBsb2NrZGVwIGFubm90 YXRpb24uClsgIDMxOC41NDc1MDBdIHR1cm5pbmcgb2ZmIHRoZSBsb2NraW5nIGNvcnJlY3RuZXNz IHZhbGlkYXRvci4KWyAgMzE4LjU1Mjk3Ml0gQ1BVOiAwIFBJRDogMCBDb21tOiBzd2FwcGVyLzAg Tm90IHRhaW50ZWQgNS4zLjAtMTMyNTctZzA4MjViMDY2OTgxMS1kaXJ0eSAjMTk2MgpbICAzMTgu NTYxMjgzXSBIYXJkd2FyZSBuYW1lOiBGcmVlc2NhbGUgTFMxMDIxQQpbICAzMTguNTY1NTY2XSBb PGMwMzE0NGJjPl0gKHVud2luZF9iYWNrdHJhY2UpIGZyb20gWzxjMDMwZTE2ND5dIChzaG93X3N0 YWNrKzB4MTAvMHgxNCkKWyAgMzE4LjU3MzI4OV0gWzxjMDMwZTE2ND5dIChzaG93X3N0YWNrKSBm cm9tIFs8YzExYjlmNTA+XSAoZHVtcF9zdGFjaysweGQ0LzB4MTAwKQpbICAzMTguNTgwNTc5XSBb PGMxMWI5ZjUwPl0gKGR1bXBfc3RhY2spIGZyb20gWzxjMDNiOWI0MD5dIChyZWdpc3Rlcl9sb2Nr X2NsYXNzKzB4NzI4LzB4NzM0KQpbICAzMTguNTg4NzMxXSBbPGMwM2I5YjQwPl0gKHJlZ2lzdGVy X2xvY2tfY2xhc3MpIGZyb20gWzxjMDNiNjBjND5dIChfX2xvY2tfYWNxdWlyZSsweDc4LzB4MjVj YykKWyAgMzE4LjU5NzIyN10gWzxjMDNiNjBjND5dIChfX2xvY2tfYWNxdWlyZSkgZnJvbSBbPGMw M2I4ZWY4Pl0gKGxvY2tfYWNxdWlyZSsweGQ4LzB4MjM0KQpbICAzMTguNjA1MDMzXSBbPGMwM2I4 ZWY4Pl0gKGxvY2tfYWNxdWlyZSkgZnJvbSBbPGMxMWRiOTM0Pl0gKF9yYXdfc3Bpbl9sb2NrKzB4 NDQvMHg1NCkKWyAgMzE4LjYxMjc1NV0gWzxjMTFkYjkzND5dIChfcmF3X3NwaW5fbG9jaykgZnJv bSBbPGMxMTY0MzcwPl0gKHNqYTExMDVfcmN2KzB4MWY4LzB4NGU4KQpbICAzMTguNjIwNTYxXSBb PGMxMTY0MzcwPl0gKHNqYTExMDVfcmN2KSBmcm9tIFs8YzExNWQ3Y2M+XSAoZHNhX3N3aXRjaF9y Y3YrMHg4MC8weDIwNCkKWyAgMzE4LjYyODI4M10gWzxjMTE1ZDdjYz5dIChkc2Ffc3dpdGNoX3Jj dikgZnJvbSBbPGMwZjU4YzgwPl0gKF9fbmV0aWZfcmVjZWl2ZV9za2Jfb25lX2NvcmUrMHg1MC8w eDZjKQpbICAzMTguNjM3Mzg2XSBbPGMwZjU4YzgwPl0gKF9fbmV0aWZfcmVjZWl2ZV9za2Jfb25l X2NvcmUpIGZyb20gWzxjMGY1OGYwND5dIChuZXRpZl9yZWNlaXZlX3NrYl9pbnRlcm5hbCsweGFj LzB4MjY0KQpbICAzMTguNjQ3NjExXSBbPGMwZjU4ZjA0Pl0gKG5ldGlmX3JlY2VpdmVfc2tiX2lu dGVybmFsKSBmcm9tIFs8YzBmNTllOTg+XSAobmFwaV9ncm9fcmVjZWl2ZSsweDFkOC8weDMzOCkK WyAgMzE4LjY1Njg4N10gWzxjMGY1OWU5OD5dIChuYXBpX2dyb19yZWNlaXZlKSBmcm9tIFs8YzBj Mjk4YTQ+XSAoZ2Zhcl9jbGVhbl9yeF9yaW5nKzB4MzI4LzB4NzI0KQpbICAzMTguNjY1NDcyXSBb PGMwYzI5OGE0Pl0gKGdmYXJfY2xlYW5fcnhfcmluZykgZnJvbSBbPGMwYzI5ZTYwPl0gKGdmYXJf cG9sbF9yeF9zcSsweDM0LzB4OTQpClsgIDMxOC42NzM3OTVdIFs8YzBjMjllNjA+XSAoZ2Zhcl9w b2xsX3J4X3NxKSBmcm9tIFs8YzBmNWI0MGM+XSAobmV0X3J4X2FjdGlvbisweDEyOC8weDRmOCkK WyAgMzE4LjY4MTg2MF0gWzxjMGY1YjQwYz5dIChuZXRfcnhfYWN0aW9uKSBmcm9tIFs8YzAzMDIy ZjA+XSAoX19kb19zb2Z0aXJxKzB4MTQ4LzB4NWFjKQpbICAzMTguNjg5NjY2XSBbPGMwMzAyMmYw Pl0gKF9fZG9fc29mdGlycSkgZnJvbSBbPGMwMzU1YWY0Pl0gKGlycV9leGl0KzB4MTYwLzB4MTcw KQpbICAzMTguNjk3MDQwXSBbPGMwMzU1YWY0Pl0gKGlycV9leGl0KSBmcm9tIFs8YzAzYzY4MTg+ XSAoX19oYW5kbGVfZG9tYWluX2lycSsweDYwLzB4YjQpClsgIDMxOC43MDQ4NDddIFs8YzAzYzY4 MTg+XSAoX19oYW5kbGVfZG9tYWluX2lycSkgZnJvbSBbPGMwN2U5NDQwPl0gKGdpY19oYW5kbGVf aXJxKzB4NTgvMHg5YykKWyAgMzE4LjcxMzE3Ml0gWzxjMDdlOTQ0MD5dIChnaWNfaGFuZGxlX2ly cSkgZnJvbSBbPGMwMzAxYTcwPl0gKF9faXJxX3N2YysweDcwLzB4OTgpClsgIDMxOC43MjA2MjJd IEV4Y2VwdGlvbiBzdGFjaygweGMyMDAxZjE4IHRvIDB4YzIwMDFmNjApClsgIDMxOC43MjU2NTZd IDFmMDA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDAwMDAwMDAxIDAwMDAwMDA2ClsgIDMxOC43MzM4MDVdIDFmMjA6IDAwMDAwMDAwIGMyMDE2 NWMwIGZmZmZlMDAwIGMyMDEwY2FjIGMyMDEwY2Y0IDAwMDAwMDAxIDAwMDAwMDAwIGMyMDEwYzg4 ClsgIDMxOC43NDE5NTVdIDFmNDA6IGMxZjdhNWE4IDAwMDAwMDAwIDAwMDAwMDAwIGMyMDAxZjY4 IGMwM2JhMTQwIGMwMzBhMjg4IDIwMGUwMDEzIGZmZmZmZmZmClsgIDMxOC43NTAxMTBdIFs8YzAz MDFhNzA+XSAoX19pcnFfc3ZjKSBmcm9tIFs8YzAzMGEyODg+XSAoYXJjaF9jcHVfaWRsZSsweDI0 LzB4M2MpClsgIDMxOC43NTc0ODZdIFs8YzAzMGEyODg+XSAoYXJjaF9jcHVfaWRsZSkgZnJvbSBb PGMwMzhhNDgwPl0gKGRvX2lkbGUrMHgxYjgvMHgyYTQpClsgIDMxOC43NjQ4NTldIFs8YzAzOGE0 ODA+XSAoZG9faWRsZSkgZnJvbSBbPGMwMzhhOTRjPl0gKGNwdV9zdGFydHVwX2VudHJ5KzB4MTgv MHgxYykKWyAgMzE4Ljc3MjQwN10gWzxjMDM4YTk0Yz5dIChjcHVfc3RhcnR1cF9lbnRyeSkgZnJv bSBbPGMxZTAwZjEwPl0gKHN0YXJ0X2tlcm5lbCsweDRjYy8weDRmYykKCkZpeGVzOiA4NDRkN2Vk YzZhMzQgKCJuZXQ6IGRzYTogc2phMTEwNTogQWRkIGEgZ2xvYmFsIHNqYTExMDVfdGFnZ2VyX2Rh dGEgc3RydWN0dXJlIikKU2lnbmVkLW9mZi1ieTogVmxhZGltaXIgT2x0ZWFuIDxvbHRlYW52QGdt YWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQu bmV0PgotLS0KIGRyaXZlcnMvbmV0L2RzYS9zamExMTA1L3NqYTExMDVfbWFpbi5jIHwgMSArCiAx IGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9k c2Evc2phMTEwNS9zamExMTA1X21haW4uYyBiL2RyaXZlcnMvbmV0L2RzYS9zamExMTA1L3NqYTEx MDVfbWFpbi5jCmluZGV4IGRmOTc2YjI1OWU0My4uOTZhYjc3YmNkOTYwIDEwMDY0NAotLS0gYS9k cml2ZXJzL25ldC9kc2Evc2phMTEwNS9zamExMTA1X21haW4uYworKysgYi9kcml2ZXJzL25ldC9k c2Evc2phMTEwNS9zamExMTA1X21haW4uYwpAQCAtMjE2NSw2ICsyMTY1LDcgQEAgc3RhdGljIGlu dCBzamExMTA1X3Byb2JlKHN0cnVjdCBzcGlfZGV2aWNlICpzcGkpCiAJdGFnZ2VyX2RhdGEgPSAm cHJpdi0+dGFnZ2VyX2RhdGE7CiAJc2tiX3F1ZXVlX2hlYWRfaW5pdCgmdGFnZ2VyX2RhdGEtPnNr Yl9yeHRzdGFtcF9xdWV1ZSk7CiAJSU5JVF9XT1JLKCZ0YWdnZXJfZGF0YS0+cnh0c3RhbXBfd29y aywgc2phMTEwNV9yeHRzdGFtcF93b3JrKTsKKwlzcGluX2xvY2tfaW5pdCgmdGFnZ2VyX2RhdGEt Pm1ldGFfbG9jayk7CiAKIAkvKiBDb25uZWN0aW9ucyBiZXR3ZWVuIGRzYV9wb3J0IGFuZCBzamEx MTA1X3BvcnQgKi8KIAlmb3IgKGkgPSAwOyBpIDwgU0pBMTEwNV9OVU1fUE9SVFM7IGkrKykgewot LSAKMi4yMC4xCgoKRnJvbSBlYjY1NGI4ZmJhMTI3YzA3NGIzMjMxMGVhYTI2NzVkM2EwYmY0ZWRk IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBEb25nbGkgWmhhbmcgPGRvbmdsaS56aGFu Z0BvcmFjbGUuY29tPgpEYXRlOiBUdWUsIDEgT2N0IDIwMTkgMjE6NTY6NDEgKzA4MDAKU3ViamVj dDogW1BBVENIIDIzLzMwXSB4ZW4tbmV0ZnJvbnQ6IGRvIG5vdCB1c2UgfjBVIGFzIGVycm9yIHJl dHVybiB2YWx1ZSBmb3IKIHhlbm5ldF9maWxsX2ZyYWdzKCkKClsgVXBzdHJlYW0gY29tbWl0IGE3 NjExMjllMzYyNTY4ODMxMGFlY2YyNmUxYmU5ZTk4ZTg1ZjhlYjUgXQoKeGVubmV0X2ZpbGxfZnJh Z3MoKSB1c2VzIH4wVSBhcyByZXR1cm4gdmFsdWUgd2hlbiB0aGUgc2tfYnVmZiBpcyBub3QgYWJs ZQp0byBjYWNoZSBleHRyYSBmcmFnbWVudHMuIFRoaXMgaXMgaW5jb3JyZWN0IGJlY2F1c2UgdGhl IHJldHVybiB0eXBlIG9mCnhlbm5ldF9maWxsX2ZyYWdzKCkgaXMgUklOR19JRFggYW5kIDB4ZmZm ZmZmZmYgaXMgYW4gZXhwZWN0ZWQgdmFsdWUgZm9yCnJpbmcgYnVmZmVyIGluZGV4LgoKSW4gdGhl IHNpdHVhdGlvbiB3aGVuIHRoZSByc3BfY29ucyBpcyBhcHByb2FjaGluZyAweGZmZmZmZmZmLCB0 aGUgcmV0dXJuCnZhbHVlIG9mIHhlbm5ldF9maWxsX2ZyYWdzKCkgbWF5IGJlY29tZSAweGZmZmZm ZmZmIHdoaWNoIHhlbm5ldF9wb2xsKCkgKHRoZQpjYWxsZXIpIHdvdWxkIHJlZ2FyZCBhcyBlcnJv ci4gQXMgYSByZXN1bHQsIHF1ZXVlLT5yeC5yc3BfY29ucyBpcyBzZXQKaW5jb3JyZWN0bHkgYmVj YXVzZSBpdCBpcyB1cGRhdGVkIG9ubHkgd2hlbiB0aGVyZSBpcyBlcnJvci4gSWYgdGhlcmUgaXMg bm8KZXJyb3IsIHhlbm5ldF9wb2xsKCkgd291bGQgYmUgcmVzcG9uc2libGUgdG8gdXBkYXRlIHF1 ZXVlLT5yeC5yc3BfY29ucy4KRmluYWxseSwgcXVldWUtPnJ4LnJzcF9jb25zIHdvdWxkIHBvaW50 IHRvIHRoZSByeCByaW5nIGJ1ZmZlciBlbnRyaWVzIHdob3NlCnF1ZXVlLT5yeF9za2JzW2ldIGFu ZCBxdWV1ZS0+Z3JhbnRfcnhfcmVmW2ldIGFyZSBhbHJlYWR5IGNsZWFyZWQgdG8gTlVMTC4KVGhp cyBsZWFkcyB0byBOVUxMIHBvaW50ZXIgYWNjZXNzIGluIHRoZSBuZXh0IGl0ZXJhdGlvbiB0byBw cm9jZXNzIHJ4IHJpbmcKYnVmZmVyIGVudHJpZXMuCgpUaGUgc3ltcHRvbSBpcyBzaW1pbGFyIHRv IHRoZSBvbmUgZml4ZWQgaW4KY29tbWl0IDAwYjM2ODUwMmQxOCAoInhlbi1uZXRmcm9udDogZG8g bm90IGFzc3VtZSBza19idWZmX2hlYWQgbGlzdCBpcwplbXB0eSBpbiBlcnJvciBoYW5kbGluZyIp LgoKVGhpcyBwYXRjaCBjaGFuZ2VzIHRoZSByZXR1cm4gdHlwZSBvZiB4ZW5uZXRfZmlsbF9mcmFn cygpIHRvIGluZGljYXRlCndoZXRoZXIgaXQgaXMgc3VjY2Vzc2Z1bCBvciBmYWlsZWQuIFRoZSBx dWV1ZS0+cngucnNwX2NvbnMgd2lsbCBiZQphbHdheXMgdXBkYXRlZCBpbnNpZGUgdGhpcyBmdW5j dGlvbi4KCkZpeGVzOiBhZDRmMTVkYzJjNzAgKCJ4ZW4vbmV0ZnJvbnQ6IGRvbid0IGJ1ZyBpbiBj YXNlIG9mIHRvbyBtYW55IGZyYWdzIikKU2lnbmVkLW9mZi1ieTogRG9uZ2xpIFpoYW5nIDxkb25n bGkuemhhbmdAb3JhY2xlLmNvbT4KUmV2aWV3ZWQtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0Bz dXNlLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQu bmV0PgotLS0KIGRyaXZlcnMvbmV0L3hlbi1uZXRmcm9udC5jIHwgMTcgKysrKysrKysrLS0tLS0t LS0KIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9uZXQveGVuLW5ldGZyb250LmMgYi9kcml2ZXJzL25ldC94ZW4tbmV0 ZnJvbnQuYwppbmRleCA1ZjU3MjJiZjY3NjIuLjczNzBlMDZhMGU0YiAxMDA2NDQKLS0tIGEvZHJp dmVycy9uZXQveGVuLW5ldGZyb250LmMKKysrIGIvZHJpdmVycy9uZXQveGVuLW5ldGZyb250LmMK QEAgLTg4Nyw5ICs4ODcsOSBAQCBzdGF0aWMgaW50IHhlbm5ldF9zZXRfc2tiX2dzbyhzdHJ1Y3Qg c2tfYnVmZiAqc2tiLAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgUklOR19JRFggeGVubmV0X2Zp bGxfZnJhZ3Moc3RydWN0IG5ldGZyb250X3F1ZXVlICpxdWV1ZSwKLQkJCQkgIHN0cnVjdCBza19i dWZmICpza2IsCi0JCQkJICBzdHJ1Y3Qgc2tfYnVmZl9oZWFkICpsaXN0KQorc3RhdGljIGludCB4 ZW5uZXRfZmlsbF9mcmFncyhzdHJ1Y3QgbmV0ZnJvbnRfcXVldWUgKnF1ZXVlLAorCQkJICAgICBz dHJ1Y3Qgc2tfYnVmZiAqc2tiLAorCQkJICAgICBzdHJ1Y3Qgc2tfYnVmZl9oZWFkICpsaXN0KQog ewogCVJJTkdfSURYIGNvbnMgPSBxdWV1ZS0+cngucnNwX2NvbnM7CiAJc3RydWN0IHNrX2J1ZmYg Km5za2I7CkBAIC05MDgsNyArOTA4LDcgQEAgc3RhdGljIFJJTkdfSURYIHhlbm5ldF9maWxsX2Zy YWdzKHN0cnVjdCBuZXRmcm9udF9xdWV1ZSAqcXVldWUsCiAJCWlmICh1bmxpa2VseShza2Jfc2hp bmZvKHNrYiktPm5yX2ZyYWdzID49IE1BWF9TS0JfRlJBR1MpKSB7CiAJCQlxdWV1ZS0+cngucnNw X2NvbnMgPSArK2NvbnMgKyBza2JfcXVldWVfbGVuKGxpc3QpOwogCQkJa2ZyZWVfc2tiKG5za2Ip OwotCQkJcmV0dXJuIH4wVTsKKwkJCXJldHVybiAtRU5PRU5UOwogCQl9CiAKIAkJc2tiX2FkZF9y eF9mcmFnKHNrYiwgc2tiX3NoaW5mbyhza2IpLT5ucl9mcmFncywKQEAgLTkxOSw3ICs5MTksOSBA QCBzdGF0aWMgUklOR19JRFggeGVubmV0X2ZpbGxfZnJhZ3Moc3RydWN0IG5ldGZyb250X3F1ZXVl ICpxdWV1ZSwKIAkJa2ZyZWVfc2tiKG5za2IpOwogCX0KIAotCXJldHVybiBjb25zOworCXF1ZXVl LT5yeC5yc3BfY29ucyA9IGNvbnM7CisKKwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGludCBjaGVj a3N1bV9zZXR1cChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQpA QCAtMTA0NSw4ICsxMDQ3LDcgQEAgc3RhdGljIGludCB4ZW5uZXRfcG9sbChzdHJ1Y3QgbmFwaV9z dHJ1Y3QgKm5hcGksIGludCBidWRnZXQpCiAJCXNrYi0+ZGF0YV9sZW4gPSByeC0+c3RhdHVzOwog CQlza2ItPmxlbiArPSByeC0+c3RhdHVzOwogCi0JCWkgPSB4ZW5uZXRfZmlsbF9mcmFncyhxdWV1 ZSwgc2tiLCAmdG1wcSk7Ci0JCWlmICh1bmxpa2VseShpID09IH4wVSkpCisJCWlmICh1bmxpa2Vs eSh4ZW5uZXRfZmlsbF9mcmFncyhxdWV1ZSwgc2tiLCAmdG1wcSkpKQogCQkJZ290byBlcnI7CiAK IAkJaWYgKHJ4LT5mbGFncyAmIFhFTl9ORVRSWEZfY3N1bV9ibGFuaykKQEAgLTEwNTYsNyArMTA1 Nyw3IEBAIHN0YXRpYyBpbnQgeGVubmV0X3BvbGwoc3RydWN0IG5hcGlfc3RydWN0ICpuYXBpLCBp bnQgYnVkZ2V0KQogCiAJCV9fc2tiX3F1ZXVlX3RhaWwoJnJ4cSwgc2tiKTsKIAotCQlxdWV1ZS0+ cngucnNwX2NvbnMgPSArK2k7CisJCWkgPSArK3F1ZXVlLT5yeC5yc3BfY29uczsKIAkJd29ya19k b25lKys7CiAJfQogCi0tIAoyLjIwLjEKCgpGcm9tIDdkZjIwMWMyYWM2NDE5YjQ5YzcxMTg4YzQ2 OTM0NzcxNjA0MDgxYzUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFZsYWRpbWlyIE9s dGVhbiA8b2x0ZWFudkBnbWFpbC5jb20+CkRhdGU6IFR1ZSwgMSBPY3QgMjAxOSAyMTo1ODoxOSAr MDMwMApTdWJqZWN0OiBbUEFUQ0ggMjQvMzBdIG5ldDogZHNhOiBzamExMTA1OiBGaXggc2xlZXBp bmcgd2hpbGUgYXRvbWljIGluCiAucG9ydF9od3RzdGFtcF9zZXQKClsgVXBzdHJlYW0gY29tbWl0 IDNlOGRiN2U1NjA4MjE1NmEzN2I3MWQ3MzM0ODYwYzEwZmNlYTgwMjUgXQoKQ3VycmVudGx5IHRo aXMgc3RhY2sgdHJhY2UgY2FuIGJlIHNlZW4gd2l0aCBDT05GSUdfREVCVUdfQVRPTUlDX1NMRUVQ PXk6CgpbICAgNDEuNTY4MzQ4XSBCVUc6IHNsZWVwaW5nIGZ1bmN0aW9uIGNhbGxlZCBmcm9tIGlu dmFsaWQgY29udGV4dCBhdCBrZXJuZWwvbG9ja2luZy9tdXRleC5jOjkwOQpbICAgNDEuNTc2NzU3 XSBpbl9hdG9taWMoKTogMSwgaXJxc19kaXNhYmxlZCgpOiAwLCBwaWQ6IDIwOCwgbmFtZTogcHRw NGwKWyAgIDQxLjU4MzIxMl0gSU5GTzogbG9ja2RlcCBpcyB0dXJuZWQgb2ZmLgpbICAgNDEuNTg3 MTIzXSBDUFU6IDEgUElEOiAyMDggQ29tbTogcHRwNGwgTm90IHRhaW50ZWQgNS4zLjAtcmM2LTAx NDQ1LWdlOTUwZjJkNGJjN2YtZGlydHkgIzE4MjcKWyAgIDQxLjU5OTg3M10gWzxjMDMxM2Q3Yz5d ICh1bndpbmRfYmFja3RyYWNlKSBmcm9tIFs8YzAzMGUxM2M+XSAoc2hvd19zdGFjaysweDEwLzB4 MTQpClsgICA0MS42MDc1ODRdIFs8YzAzMGUxM2M+XSAoc2hvd19zdGFjaykgZnJvbSBbPGMxMjEy ZDUwPl0gKGR1bXBfc3RhY2srMHhkNC8weDEwMCkKWyAgIDQxLjYxNDg2M10gWzxjMTIxMmQ1MD5d IChkdW1wX3N0YWNrKSBmcm9tIFs8YzAzN2RmYzg+XSAoX19fbWlnaHRfc2xlZXArMHgxYzgvMHgy YjQpClsgICA0MS42MjI1NzRdIFs8YzAzN2RmYzg+XSAoX19fbWlnaHRfc2xlZXApIGZyb20gWzxj MTIyZWE5MD5dIChfX211dGV4X2xvY2srMHg0OC8weGFiOCkKWyAgIDQxLjYzMDM2OF0gWzxjMTIy ZWE5MD5dIChfX211dGV4X2xvY2spIGZyb20gWzxjMTIyZjUxYz5dIChtdXRleF9sb2NrX25lc3Rl ZCsweDFjLzB4MjQpClsgICA0MS42MzgzNDBdIFs8YzEyMmY1MWM+XSAobXV0ZXhfbG9ja19uZXN0 ZWQpIGZyb20gWzxjMGM2ZmUwOD5dIChzamExMTA1X3N0YXRpY19jb25maWdfcmVsb2FkKzB4MzAv MHgyN2MpClsgICA0MS42NDc3NzldIFs8YzBjNmZlMDg+XSAoc2phMTEwNV9zdGF0aWNfY29uZmln X3JlbG9hZCkgZnJvbSBbPGMwYzcwMTVjPl0gKHNqYTExMDVfaHd0c3RhbXBfc2V0KzB4MTA4LzB4 MWNjKQpbICAgNDEuNjU3NTYyXSBbPGMwYzcwMTVjPl0gKHNqYTExMDVfaHd0c3RhbXBfc2V0KSBm cm9tIFs8YzBmZWI2NTA+XSAoZGV2X2lmc2lvYysweDE4Yy8weDMzMCkKWyAgIDQxLjY2NTc4OF0g WzxjMGZlYjY1MD5dIChkZXZfaWZzaW9jKSBmcm9tIFs8YzBmZWJiZDg+XSAoZGV2X2lvY3RsKzB4 MzIwLzB4NmU4KQpbICAgNDEuNjczMDY0XSBbPGMwZmViYmQ4Pl0gKGRldl9pb2N0bCkgZnJvbSBb PGMwZjhiMWY0Pl0gKHNvY2tfaW9jdGwrMHgzMzQvMHg1ZTgpClsgICA0MS42ODAzNDBdIFs8YzBm OGIxZjQ+XSAoc29ja19pb2N0bCkgZnJvbSBbPGMwNTQwNGE4Pl0gKGRvX3Zmc19pb2N0bCsweGIw LzB4YTEwKQpbICAgNDEuNjg3Nzg5XSBbPGMwNTQwNGE4Pl0gKGRvX3Zmc19pb2N0bCkgZnJvbSBb PGMwNTQwZTNjPl0gKGtzeXNfaW9jdGwrMHgzNC8weDU4KQpbICAgNDEuNjk1MTUxXSBbPGMwNTQw ZTNjPl0gKGtzeXNfaW9jdGwpIGZyb20gWzxjMDMwMTAwMD5dIChyZXRfZmFzdF9zeXNjYWxsKzB4 MC8weDI4KQpbICAgNDEuNzAyNzY4XSBFeGNlcHRpb24gc3RhY2soMHhlODQ5NWZhOCB0byAweGU4 NDk1ZmYwKQpbICAgNDEuNzA3Nzk2XSA1ZmEwOiAgICAgICAgICAgICAgICAgICBiZWZmNGE4YyAw MDAwMDAwMSAwMDAwMDAxMSAwMDAwODliMCBiZWZmNGE4YyBiZWZmNGE4MApbICAgNDEuNzE1OTMz XSA1ZmMwOiBiZWZmNGE4YyAwMDAwMDAwMSAwMDAwMDAwYyAwMDAwMDAzNiBiNmZhOThjOCAwMDRl MTljMSAwMDAwMDAwMSAwMDAwMDAwMApbICAgNDEuNzI0MDY5XSA1ZmUwOiAwMDRkY2VkYyBiZWZm NGE2YyAwMDRjMDczOCBiNmU3YWY0YwpbICAgNDEuNzI5ODYwXSBCVUc6IHNjaGVkdWxpbmcgd2hp bGUgYXRvbWljOiBwdHA0bC8yMDgvMHgwMDAwMDAwMgpbICAgNDEuNzM1NjgyXSBJTkZPOiBsb2Nr ZGVwIGlzIHR1cm5lZCBvZmYuCgpFbmFibGluZyBSWCB0aW1lc3RhbXBpbmcgd2lsbCBsb2dpY2Fs bHkgZGlzdHVyYiB0aGUgZmFzdHBhdGggKHByb2Nlc3NpbmcKb2YgbWV0YSBmcmFtZXMpLiBSZXBs YWNlIGJvb2wgaHd0c19yeF9lbiB3aXRoIGEgYml0IHRoYXQgaXMgY2hlY2tlZAphdG9taWNhbGx5 IGZyb20gdGhlIGZhc3RwYXRoIGFuZCB0ZW1wb3JhcmlseSB1bnNldCBmcm9tIHRoZSBzbGVlcGFi bGUKY29udGV4dCBkdXJpbmcgYSBjaGFuZ2Ugb2YgdGhlIFJYIHRpbWVzdGFtcGluZyBwcm9jZXNz IChhIGRlc3RydWN0aXZlCm9wZXJhdGlvbiBhbnl3YXlzLCByZXF1aXJlcyBzd2l0Y2ggcmVzZXQp LgpJZiBmb3VuZCB1bnNldCwgdGhlIGZhc3RwYXRoIChuZXQvZHNhL3RhZ19zamExMTA1LmMpIHdp bGwganVzdCBkcm9wIGFueQpyZWNlaXZlZCBtZXRhIGZyYW1lIGFuZCBub3QgdGFrZSB0aGUgbWV0 YV9sb2NrIGF0IGFsbC4KCkZpeGVzOiBhNjAyYWZkMjAwZjUgKCJuZXQ6IGRzYTogc2phMTEwNTog RXhwb3NlIFBUUCB0aW1lc3RhbXBpbmcgaW9jdGxzIHRvIHVzZXJzcGFjZSIpClNpZ25lZC1vZmYt Ynk6IFZsYWRpbWlyIE9sdGVhbiA8b2x0ZWFudkBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERh dmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9kc2Ev c2phMTEwNS9zamExMTA1X21haW4uYyB8IDE5ICsrKysrKysrKysrLS0tLS0tLS0KIGluY2x1ZGUv bGludXgvZHNhL3NqYTExMDUuaCAgICAgICAgICAgIHwgIDQgKysrLQogbmV0L2RzYS90YWdfc2ph MTEwNS5jICAgICAgICAgICAgICAgICAgfCAxMiArKysrKysrKysrKy0KIDMgZmlsZXMgY2hhbmdl ZCwgMjUgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9uZXQvZHNhL3NqYTExMDUvc2phMTEwNV9tYWluLmMgYi9kcml2ZXJzL25ldC9kc2Evc2phMTEw NS9zamExMTA1X21haW4uYwppbmRleCA5NmFiNzdiY2Q5NjAuLjNjMjZmN2M0NWQ4OCAxMDA2NDQK LS0tIGEvZHJpdmVycy9uZXQvZHNhL3NqYTExMDUvc2phMTEwNV9tYWluLmMKKysrIGIvZHJpdmVy cy9uZXQvZHNhL3NqYTExMDUvc2phMTEwNV9tYWluLmMKQEAgLTE4NzUsNyArMTg3NSw5IEBAIHN0 YXRpYyBpbnQgc2phMTEwNV9zZXRfYWdlaW5nX3RpbWUoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLAog CXJldHVybiBzamExMTA1X3N0YXRpY19jb25maWdfcmVsb2FkKHByaXYpOwogfQogCi0vKiBDYWxs ZXIgbXVzdCBob2xkIHByaXYtPnRhZ2dlcl9kYXRhLm1ldGFfbG9jayAqLworLyogTXVzdCBiZSBj YWxsZWQgb25seSB3aXRoIHByaXYtPnRhZ2dlcl9kYXRhLnN0YXRlIGJpdAorICogU0pBMTEwNV9I V1RTX1JYX0VOIGNsZWFyZWQKKyAqLwogc3RhdGljIGludCBzamExMTA1X2NoYW5nZV9yeHRzdGFt cGluZyhzdHJ1Y3Qgc2phMTEwNV9wcml2YXRlICpwcml2LAogCQkJCSAgICAgIGJvb2wgb24pCiB7 CkBAIC0xOTMyLDE2ICsxOTM0LDE3IEBAIHN0YXRpYyBpbnQgc2phMTEwNV9od3RzdGFtcF9zZXQo c3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydCwKIAkJYnJlYWs7CiAJfQogCi0JaWYgKHJ4 X29uICE9IHByaXYtPnRhZ2dlcl9kYXRhLmh3dHNfcnhfZW4pIHsKLQkJc3Bpbl9sb2NrKCZwcml2 LT50YWdnZXJfZGF0YS5tZXRhX2xvY2spOworCWlmIChyeF9vbiAhPSB0ZXN0X2JpdChTSkExMTA1 X0hXVFNfUlhfRU4sICZwcml2LT50YWdnZXJfZGF0YS5zdGF0ZSkpIHsKKwkJY2xlYXJfYml0KFNK QTExMDVfSFdUU19SWF9FTiwgJnByaXYtPnRhZ2dlcl9kYXRhLnN0YXRlKTsKKwogCQlyYyA9IHNq YTExMDVfY2hhbmdlX3J4dHN0YW1waW5nKHByaXYsIHJ4X29uKTsKLQkJc3Bpbl91bmxvY2soJnBy aXYtPnRhZ2dlcl9kYXRhLm1ldGFfbG9jayk7CiAJCWlmIChyYyA8IDApIHsKIAkJCWRldl9lcnIo ZHMtPmRldiwKIAkJCQkiRmFpbGVkIHRvIGNoYW5nZSBSWCB0aW1lc3RhbXBpbmc6ICVkXG4iLCBy Yyk7Ci0JCQlyZXR1cm4gLUVGQVVMVDsKKwkJCXJldHVybiByYzsKIAkJfQotCQlwcml2LT50YWdn ZXJfZGF0YS5od3RzX3J4X2VuID0gcnhfb247CisJCWlmIChyeF9vbikKKwkJCXNldF9iaXQoU0pB MTEwNV9IV1RTX1JYX0VOLCAmcHJpdi0+dGFnZ2VyX2RhdGEuc3RhdGUpOwogCX0KIAogCWlmIChj b3B5X3RvX3VzZXIoaWZyLT5pZnJfZGF0YSwgJmNvbmZpZywgc2l6ZW9mKGNvbmZpZykpKQpAQCAt MTk2MCw3ICsxOTYzLDcgQEAgc3RhdGljIGludCBzamExMTA1X2h3dHN0YW1wX2dldChzdHJ1Y3Qg ZHNhX3N3aXRjaCAqZHMsIGludCBwb3J0LAogCQljb25maWcudHhfdHlwZSA9IEhXVFNUQU1QX1RY X09OOwogCWVsc2UKIAkJY29uZmlnLnR4X3R5cGUgPSBIV1RTVEFNUF9UWF9PRkY7Ci0JaWYgKHBy aXYtPnRhZ2dlcl9kYXRhLmh3dHNfcnhfZW4pCisJaWYgKHRlc3RfYml0KFNKQTExMDVfSFdUU19S WF9FTiwgJnByaXYtPnRhZ2dlcl9kYXRhLnN0YXRlKSkKIAkJY29uZmlnLnJ4X2ZpbHRlciA9IEhX VFNUQU1QX0ZJTFRFUl9QVFBfVjJfTDJfRVZFTlQ7CiAJZWxzZQogCQljb25maWcucnhfZmlsdGVy ID0gSFdUU1RBTVBfRklMVEVSX05PTkU7CkBAIC0yMDA5LDcgKzIwMTIsNyBAQCBzdGF0aWMgYm9v bCBzamExMTA1X3BvcnRfcnh0c3RhbXAoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydCwK IAlzdHJ1Y3Qgc2phMTEwNV9wcml2YXRlICpwcml2ID0gZHMtPnByaXY7CiAJc3RydWN0IHNqYTEx MDVfdGFnZ2VyX2RhdGEgKmRhdGEgPSAmcHJpdi0+dGFnZ2VyX2RhdGE7CiAKLQlpZiAoIWRhdGEt Pmh3dHNfcnhfZW4pCisJaWYgKCF0ZXN0X2JpdChTSkExMTA1X0hXVFNfUlhfRU4sICZkYXRhLT5z dGF0ZSkpCiAJCXJldHVybiBmYWxzZTsKIAogCS8qIFdlIG5lZWQgdG8gcmVhZCB0aGUgZnVsbCBQ VFAgY2xvY2sgdG8gcmVjb25zdHJ1Y3QgdGhlIFJ4CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4 L2RzYS9zamExMTA1LmggYi9pbmNsdWRlL2xpbnV4L2RzYS9zamExMTA1LmgKaW5kZXggNzk0MzVj ZmMyMGViLi44OTdlNzk5ZGJjYjkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvZHNhL3NqYTEx MDUuaAorKysgYi9pbmNsdWRlL2xpbnV4L2RzYS9zamExMTA1LmgKQEAgLTMxLDYgKzMxLDggQEAK ICNkZWZpbmUgU0pBMTEwNV9NRVRBX1NNQUMJCQkweDIyMjIyMjIyMjIyMnVsbAogI2RlZmluZSBT SkExMTA1X01FVEFfRE1BQwkJCTB4MDE4MEMyMDAwMDBFdWxsCiAKKyNkZWZpbmUgU0pBMTEwNV9I V1RTX1JYX0VOCQkJMAorCiAvKiBHbG9iYWwgdGFnZ2VyIGRhdGE6IGVhY2ggc3RydWN0IHNqYTEx MDVfcG9ydCBoYXMgYSByZWZlcmVuY2UgdG8KICAqIHRoZSBzdHJ1Y3R1cmUgZGVmaW5lZCBpbiBz dHJ1Y3Qgc2phMTEwNV9wcml2YXRlLgogICovCkBAIC00Miw3ICs0NCw3IEBAIHN0cnVjdCBzamEx MTA1X3RhZ2dlcl9kYXRhIHsKIAkgKiBmcm9tIHRhZ2dlcnMgcnVubmluZyBvbiBtdWx0aXBsZSBw b3J0cyBvbiBTTVAgc3lzdGVtcwogCSAqLwogCXNwaW5sb2NrX3QgbWV0YV9sb2NrOwotCWJvb2wg aHd0c19yeF9lbjsKKwl1bnNpZ25lZCBsb25nIHN0YXRlOwogfTsKIAogc3RydWN0IHNqYTExMDVf c2tiX2NiIHsKZGlmZiAtLWdpdCBhL25ldC9kc2EvdGFnX3NqYTExMDUuYyBiL25ldC9kc2EvdGFn X3NqYTExMDUuYwppbmRleCA0N2VlODgxNjNhOWQuLjI3ZmU4MGQwNzQ2MCAxMDA2NDQKLS0tIGEv bmV0L2RzYS90YWdfc2phMTEwNS5jCisrKyBiL25ldC9kc2EvdGFnX3NqYTExMDUuYwpAQCAtMTU1 LDcgKzE1NSwxMSBAQCBzdGF0aWMgc3RydWN0IHNrX2J1ZmYKIAkvKiBTdGVwIDE6IEEgdGltZXN0 YW1wYWJsZSBmcmFtZSB3YXMgcmVjZWl2ZWQuCiAJICogQnVmZmVyIGl0IHVudGlsIHdlIGdldCBp dHMgbWV0YSBmcmFtZS4KIAkgKi8KLQlpZiAoaXNfbGlua19sb2NhbCAmJiBzcC0+ZGF0YS0+aHd0 c19yeF9lbikgeworCWlmIChpc19saW5rX2xvY2FsKSB7CisJCWlmICghdGVzdF9iaXQoU0pBMTEw NV9IV1RTX1JYX0VOLCAmc3AtPmRhdGEtPnN0YXRlKSkKKwkJCS8qIERvIG5vcm1hbCBwcm9jZXNz aW5nLiAqLworCQkJcmV0dXJuIHNrYjsKKwogCQlzcGluX2xvY2soJnNwLT5kYXRhLT5tZXRhX2xv Y2spOwogCQkvKiBXYXMgdGhpcyBhIGxpbmstbG9jYWwgZnJhbWUgaW5zdGVhZCBvZiB0aGUgbWV0 YQogCQkgKiB0aGF0IHdlIHdlcmUgZXhwZWN0aW5nPwpAQCAtMTg2LDYgKzE5MCwxMiBAQCBzdGF0 aWMgc3RydWN0IHNrX2J1ZmYKIAl9IGVsc2UgaWYgKGlzX21ldGEpIHsKIAkJc3RydWN0IHNrX2J1 ZmYgKnN0YW1wYWJsZV9za2I7CiAKKwkJLyogRHJvcCB0aGUgbWV0YSBmcmFtZSBpZiB3ZSdyZSBu b3QgaW4gdGhlIHJpZ2h0IHN0YXRlCisJCSAqIHRvIHByb2Nlc3MgaXQuCisJCSAqLworCQlpZiAo IXRlc3RfYml0KFNKQTExMDVfSFdUU19SWF9FTiwgJnNwLT5kYXRhLT5zdGF0ZSkpCisJCQlyZXR1 cm4gTlVMTDsKKwogCQlzcGluX2xvY2soJnNwLT5kYXRhLT5tZXRhX2xvY2spOwogCiAJCXN0YW1w YWJsZV9za2IgPSBzcC0+ZGF0YS0+c3RhbXBhYmxlX3NrYjsKLS0gCjIuMjAuMQoKCkZyb20gNTZm ZmQ1YjE2NjAzMGYyNjZiZGViNTQ1NDdkMTBmOTMyYjllMzk0MyBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogVmxhZGltaXIgT2x0ZWFuIDxvbHRlYW52QGdtYWlsLmNvbT4KRGF0ZTogVHVl LCAxIE9jdCAyMDE5IDIyOjA3OjAxICswMzAwClN1YmplY3Q6IFtQQVRDSCAyNS8zMF0gcHRwX3Fv cmlxOiBJbml0aWFsaXplIHRoZSByZWdpc3RlcnMnIHNwaW5sb2NrIGJlZm9yZQogY2FsbGluZyBw dHBfcW9yaXFfc2V0dGltZQoKWyBVcHN0cmVhbSBjb21taXQgZGIzNGE0NzE0YzAxM2I2NDRlZWMy ZGUwZWM4MWIxZjAzNzNiOGI5MyBdCgpCZWNhdXNlIHB0cF9xb3JpcV9zZXR0aW1lIGlzIGJlaW5n IGNhbGxlZCBwcmlvciB0byBzcGluX2xvY2tfaW5pdCwgdGhlCmZvbGxvd2luZyBzdGFjayB0cmFj ZSBjYW4gYmUgc2VlbiBhdCBkcml2ZXIgcHJvYmUgdGltZToKClsgICAgMi4yNjkxMTddIHRoZSBj b2RlIGlzIGZpbmUgYnV0IG5lZWRzIGxvY2tkZXAgYW5ub3RhdGlvbi4KWyAgICAyLjI3NDU2OV0g dHVybmluZyBvZmYgdGhlIGxvY2tpbmcgY29ycmVjdG5lc3MgdmFsaWRhdG9yLgpbICAgIDIuMjgw MDI3XSBDUFU6IDEgUElEOiAxIENvbW06IHN3YXBwZXIvMCBOb3QgdGFpbnRlZCA1LjMuMC1yYzct MDE0NzgtZzAxZWFhNjdhNDc5NyAjMjYzClsgICAgMi4yODgwNzNdIEhhcmR3YXJlIG5hbWU6IEZy ZWVzY2FsZSBMUzEwMjFBClsgICAgMi4yOTIzMzddIFs8YzAzMTNjYjQ+XSAodW53aW5kX2JhY2t0 cmFjZSkgZnJvbSBbPGMwMzBlMTFjPl0gKHNob3dfc3RhY2srMHgxMC8weDE0KQpbICAgIDIuMzAw MDQ1XSBbPGMwMzBlMTFjPl0gKHNob3dfc3RhY2spIGZyb20gWzxjMTIxOTQ0MD5dIChkdW1wX3N0 YWNrKzB4Y2MvMHhmOCkKWyAgICAyLjMwNzIzNV0gWzxjMTIxOTQ0MD5dIChkdW1wX3N0YWNrKSBm cm9tIFs8YzAzYjliNDQ+XSAocmVnaXN0ZXJfbG9ja19jbGFzcysweDczMC8weDczYykKWyAgICAy LjMxNTM3Ml0gWzxjMDNiOWI0ND5dIChyZWdpc3Rlcl9sb2NrX2NsYXNzKSBmcm9tIFs8YzAzYjYx OTA+XSAoX19sb2NrX2FjcXVpcmUrMHg3OC8weDI3MGMpClsgICAgMi4zMjM4NTZdIFs8YzAzYjYx OTA+XSAoX19sb2NrX2FjcXVpcmUpIGZyb20gWzxjMDNiOTBjYz5dIChsb2NrX2FjcXVpcmUrMHhl MC8weDIyYykKWyAgICAyLjMzMTY0OV0gWzxjMDNiOTBjYz5dIChsb2NrX2FjcXVpcmUpIGZyb20g WzxjMTIzYzMxMD5dIChfcmF3X3NwaW5fbG9ja19pcnFzYXZlKzB4NTQvMHg2OCkKWyAgICAyLjM0 MDA0OF0gWzxjMTIzYzMxMD5dIChfcmF3X3NwaW5fbG9ja19pcnFzYXZlKSBmcm9tIFs8YzBlNzNm ZTQ+XSAocHRwX3FvcmlxX3NldHRpbWUrMHgzOC8weDgwKQpbICAgIDIuMzQ4ODc4XSBbPGMwZTcz ZmU0Pl0gKHB0cF9xb3JpcV9zZXR0aW1lKSBmcm9tIFs8YzBlNzQ2ZDQ+XSAocHRwX3FvcmlxX2lu aXQrMHgxZjgvMHg0ODQpClsgICAgMi4zNTcxODldIFs8YzBlNzQ2ZDQ+XSAocHRwX3FvcmlxX2lu aXQpIGZyb20gWzxjMGU3NGFhYz5dIChwdHBfcW9yaXFfcHJvYmUrMHhkMC8weDE4NCkKWyAgICAy LjM2NTI0M10gWzxjMGU3NGFhYz5dIChwdHBfcW9yaXFfcHJvYmUpIGZyb20gWzxjMGIwYTA3Yz5d IChwbGF0Zm9ybV9kcnZfcHJvYmUrMHg0OC8weDljKQpbICAgIDIuMzczNTU1XSBbPGMwYjBhMDdj Pl0gKHBsYXRmb3JtX2Rydl9wcm9iZSkgZnJvbSBbPGMwYjA3YTE0Pl0gKHJlYWxseV9wcm9iZSsw eDFjNC8weDQwMCkKWyAgICAyLjM4MTc3OV0gWzxjMGIwN2ExND5dIChyZWFsbHlfcHJvYmUpIGZy b20gWzxjMGIwN2UyOD5dIChkcml2ZXJfcHJvYmVfZGV2aWNlKzB4NzgvMHgxYjgpClsgICAgMi4z OTAwMDNdIFs8YzBiMDdlMjg+XSAoZHJpdmVyX3Byb2JlX2RldmljZSkgZnJvbSBbPGMwYjA4MWQw Pl0gKGRldmljZV9kcml2ZXJfYXR0YWNoKzB4NTgvMHg2MCkKWyAgICAyLjM5ODgzMl0gWzxjMGIw ODFkMD5dIChkZXZpY2VfZHJpdmVyX2F0dGFjaCkgZnJvbSBbPGMwYjA4MmQ0Pl0gKF9fZHJpdmVy X2F0dGFjaCsweGZjLzB4MTYwKQpbICAgIDIuNDA3NDAyXSBbPGMwYjA4MmQ0Pl0gKF9fZHJpdmVy X2F0dGFjaCkgZnJvbSBbPGMwYjA1YTg0Pl0gKGJ1c19mb3JfZWFjaF9kZXYrMHg2OC8weGI0KQpb ICAgIDIuNDE1NTM5XSBbPGMwYjA1YTg0Pl0gKGJ1c19mb3JfZWFjaF9kZXYpIGZyb20gWzxjMGIw NmI2OD5dIChidXNfYWRkX2RyaXZlcisweDEwNC8weDIwYykKWyAgICAyLjQyMzc2M10gWzxjMGIw NmI2OD5dIChidXNfYWRkX2RyaXZlcikgZnJvbSBbPGMwYjA5MDljPl0gKGRyaXZlcl9yZWdpc3Rl cisweDc4LzB4MTBjKQpbICAgIDIuNDMxODE1XSBbPGMwYjA5MDljPl0gKGRyaXZlcl9yZWdpc3Rl cikgZnJvbSBbPGMwMzAzMTNjPl0gKGRvX29uZV9pbml0Y2FsbCsweDhjLzB4M2FjKQpbICAgIDIu NDM5OTU0XSBbPGMwMzAzMTNjPl0gKGRvX29uZV9pbml0Y2FsbCkgZnJvbSBbPGMxZjAxM2Y0Pl0g KGtlcm5lbF9pbml0X2ZyZWVhYmxlKzB4NDY4LzB4NTQ4KQpbICAgIDIuNDQ4NjEwXSBbPGMxZjAx M2Y0Pl0gKGtlcm5lbF9pbml0X2ZyZWVhYmxlKSBmcm9tIFs8YzEyMzQ0ZDg+XSAoa2VybmVsX2lu aXQrMHg4LzB4MTBjKQpbICAgIDIuNDU2NzQ1XSBbPGMxMjM0NGQ4Pl0gKGtlcm5lbF9pbml0KSBm cm9tIFs8YzAzMDEwYjQ+XSAocmV0X2Zyb21fZm9yaysweDE0LzB4MjApClsgICAgMi40NjQyNzNd IEV4Y2VwdGlvbiBzdGFjaygweGVhODlmZmIwIHRvIDB4ZWE4OWZmZjgpClsgICAgMi40NjkyOTdd IGZmYTA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAwMDAwMDAwIDAwMDAw MDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgMi40Nzc0MzJdIGZmYzA6IDAwMDAwMDAwIDAwMDAw MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw ClsgICAgMi40ODU1NjZdIGZmZTA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw IDAwMDAwMDEzIDAwMDAwMDAwCgpGaXhlczogZmY1NDU3MWE3NDdiICgicHRwX3FvcmlxOiBjb252 ZXJ0IHRvIHVzZSBwdHBfcW9yaXFfaW5pdC9mcmVlIikKU2lnbmVkLW9mZi1ieTogVmxhZGltaXIg T2x0ZWFuIDxvbHRlYW52QGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVy IDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvcHRwL3B0cF9xb3JpcS5jIHwgMyAr Ky0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL3B0cC9wdHBfcW9yaXEuYyBiL2RyaXZlcnMvcHRwL3B0cF9xb3JpcS5j CmluZGV4IGM2MWYwMGI3MmUxNS4uYTU3NzIxOGQxYWI3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3B0 cC9wdHBfcW9yaXEuYworKysgYi9kcml2ZXJzL3B0cC9wdHBfcW9yaXEuYwpAQCAtNTA3LDYgKzUw Nyw4IEBAIGludCBwdHBfcW9yaXFfaW5pdChzdHJ1Y3QgcHRwX3FvcmlxICpwdHBfcW9yaXEsIHZv aWQgX19pb21lbSAqYmFzZSwKIAkJcHRwX3FvcmlxLT5yZWdzLmV0dHNfcmVncyA9IGJhc2UgKyBF VFRTX1JFR1NfT0ZGU0VUOwogCX0KIAorCXNwaW5fbG9ja19pbml0KCZwdHBfcW9yaXEtPmxvY2sp OworCiAJa3RpbWVfZ2V0X3JlYWxfdHM2NCgmbm93KTsKIAlwdHBfcW9yaXFfc2V0dGltZSgmcHRw X3FvcmlxLT5jYXBzLCAmbm93KTsKIApAQCAtNTE0LDcgKzUxNiw2IEBAIGludCBwdHBfcW9yaXFf aW5pdChzdHJ1Y3QgcHRwX3FvcmlxICpwdHBfcW9yaXEsIHZvaWQgX19pb21lbSAqYmFzZSwKIAkg IChwdHBfcW9yaXEtPnRjbGtfcGVyaW9kICYgVENMS19QRVJJT0RfTUFTSykgPDwgVENMS19QRVJJ T0RfU0hJRlQgfAogCSAgKHB0cF9xb3JpcS0+Y2tzZWwgJiBDS1NFTF9NQVNLKSA8PCBDS1NFTF9T SElGVDsKIAotCXNwaW5fbG9ja19pbml0KCZwdHBfcW9yaXEtPmxvY2spOwogCXNwaW5fbG9ja19p cnFzYXZlKCZwdHBfcW9yaXEtPmxvY2ssIGZsYWdzKTsKIAogCXJlZ3MgPSAmcHRwX3FvcmlxLT5y ZWdzOwotLSAKMi4yMC4xCgoKRnJvbSAwYTRmNGY5MjU3ZmEzZWIzN2ZlMTVmNjcwYjk4NmMzZGE5 ZTIxNDdiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBWbGFkaW1pciBPbHRlYW4gPG9s dGVhbnZAZ21haWwuY29tPgpEYXRlOiBTdW4sIDI5IFNlcCAyMDE5IDAxOjA4OjE3ICswMzAwClN1 YmplY3Q6IFtQQVRDSCAyNi8zMF0gbmV0OiBkc2E6IHNqYTExMDU6IEVuc3VyZSBQVFAgdGltZSBm b3Igcnh0c3RhbXAKIHJlY29uc3RydWN0aW9uIGlzIG5vdCBpbiB0aGUgcGFzdAoKWyBVcHN0cmVh bSBjb21taXQgYjZmMjQ5NGQzMTFhMTliMzNiMTk3MDg1NDNlN2VmNmRlYTFkZTQ1OSBdCgpTb21l dGltZXMgdGhlIFBUUCBzeW5jaHJvbml6YXRpb24gb24gdGhlIHN3aXRjaCAnanVtcHMnOgoKICBw dHA0bFsxMTI0MS4xNTVdOiBybXMgICAgOCBtYXggICAxNiBmcmVxIC0yMTczMiArLy0gIDExIGRl bGF5ICAgNzQyICsvLSAgIDAKICBwdHA0bFsxMTI0My4xNTddOiBybXMgICAgNyBtYXggICAxNyBm cmVxIC0yMTczMSArLy0gIDEwIGRlbGF5ICAgNzQ0ICsvLSAgIDAKICBwdHA0bFsxMTI0NS4xNjBd OiBybXMgMzM1OTI0MTAgbWF4IDEzNDIxNzczMSBmcmVxICsxOTI0MjIgKy8tIDg1MzAyNTMgZGVs YXkgICA3NDMgKy8tICAgMAogIHB0cDRsWzExMjQ3LjE2M106IHJtcyA4MTE2MzEgbWF4IDk2NDEz MSBmcmVxICsxMDMyNiArLy0gNTU3Nzg1IGRlbGF5ICAgNzQzICsvLSAgIDAKICBwdHA0bFsxMTI0 OS4xNjZdOiBybXMgMjYxOTM2IG1heCA1MzM4NzYgZnJlcSAtMzA0MzIzICsvLSAxMjYzNzEgZGVs YXkgICA3NDQgKy8tICAgMAogIHB0cDRsWzExMjUxLjE2OV06IHJtcyA0ODcwMCBtYXggNTc3NDAg ZnJlcSAtMjAyMTggKy8tIDMwNTMyIGRlbGF5ICAgNzQ0ICsvLSAgIDAKICBwdHA0bFsxMTI1My4x NzFdOiBybXMgMTQ1NzAgbWF4IDMwMTYzIGZyZXEgIC01NTY4ICsvLSA3NTYzIGRlbGF5ICAgNzQy ICsvLSAgIDAKICBwdHA0bFsxMTI1NS4xNzRdOiBybXMgMjkxNCBtYXggMzQ0MCBmcmVxIC0yMjAw MSArLy0gMTY2NyBkZWxheSAgIDc0NCArLy0gICAxCiAgcHRwNGxbMTEyNTcuMTc3XTogcm1zICA4 MTEgbWF4IDE3MTAgZnJlcSAtMjI2NTMgKy8tIDQ1MSBkZWxheSAgIDc0NCArLy0gICAxCiAgcHRw NGxbMTEyNTkuMTgwXTogcm1zICAxNzcgbWF4ICAyMTggZnJlcSAtMjE2OTUgKy8tICA4OSBkZWxh eSAgIDc0MSArLy0gICAwCiAgcHRwNGxbMTEyNjEuMTgyXTogcm1zICAgNDUgbWF4ICAgOTIgZnJl cSAtMjE2NzcgKy8tICAzMiBkZWxheSAgIDc0MiArLy0gICAwCiAgcHRwNGxbMTEyNjMuMTg2XTog cm1zICAgMTQgbWF4ICAgMzIgZnJlcSAtMjE3MzMgKy8tICAxMSBkZWxheSAgIDc0MiArLy0gICAw CiAgcHRwNGxbMTEyNjUuMTg4XTogcm1zICAgIDkgbWF4ICAgMTQgZnJlcSAtMjE3MjUgKy8tICAx MiBkZWxheSAgIDc0MiArLy0gICAwCiAgcHRwNGxbMTEyNjcuMTkxXTogcm1zICAgIDkgbWF4ICAg MTYgZnJlcSAtMjE3MjcgKy8tICAxMyBkZWxheSAgIDc0MiArLy0gICAwCiAgcHRwNGxbMTEyNjku MTk0XTogcm1zICAgIDYgbWF4ICAgMTUgZnJlcSAtMjE3MjYgKy8tICAgOSBkZWxheSAgIDc0MyAr Ly0gICAwCiAgcHRwNGxbMTEyNzEuMTk3XTogcm1zICAgIDggbWF4ICAgMTUgZnJlcSAtMjE3Mjgg Ky8tICAxMSBkZWxheSAgIDc0MyArLy0gICAwCiAgcHRwNGxbMTEyNzMuMjAwXTogcm1zICAgIDYg bWF4ICAgMTIgZnJlcSAtMjE3MjcgKy8tICAgOCBkZWxheSAgIDc0MyArLy0gICAwCiAgcHRwNGxb MTEyNzUuMjAyXTogcm1zICAgIDkgbWF4ICAgMTcgZnJlcSAtMjE3MjAgKy8tICAxMSBkZWxheSAg IDc0MiArLy0gICAwCiAgcHRwNGxbMTEyNzcuMjA1XTogcm1zICAgIDkgbWF4ICAgMTggZnJlcSAt MjE3MjUgKy8tICAxMiBkZWxheSAgIDc0MiArLy0gICAwCgpCYWNrZ3JvdW5kOiB0aGUgc3dpdGNo IG9ubHkgb2ZmZXJzIHBhcnRpYWwgUlggdGltZXN0YW1wcyAoMjQgYml0cykgYW5kCml0IGlzIHVw IHRvIHRoZSBkcml2ZXIgdG8gcmVhZCB0aGUgUFRQIGNsb2NrIHRvIGZpbGwgdGhvc2UgdGltZXN0 YW1wcyB1cAp0byA2NCBiaXRzLiBCdXQgdGhlIFBUUCBjbG9jayByZWFkb3V0IG5lZWRzIHRvIGhh cHBlbiBxdWlja2x5IGVub3VnaCAoaW4KMC4xMzUgc2Vjb25kcywgaW4gZmFjdCksIG90aGVyd2lz ZSB0aGUgUFRQIGNsb2NrIHdpbGwgd3JhcCBhcm91bmQgMjQKYml0cywgY29uZGl0aW9uIHdoaWNo IGNhbm5vdCBiZSBkZXRlY3RlZC4KCkxvb2tpbmcgYXQgdGhlICdtYXggMTM0MjE3NzMxJyB2YWx1 ZSBvbiBvdXRwdXQgbGluZSAzLCBvbmUgY2FuIHNlZSB0aGF0CmluIGhleCBpdCBpcyAweDgwMDAw MDMuIEJlY2F1c2UgdGhlIFBUUCBjbG9jayByZXNvbHV0aW9uIGlzIDggbnMsCnRoYXQgbWVhbnMg MHgxMDAwMDAwIGluIHRpY2tzLCB3aGljaCBpcyBleGFjdGx5IDJeMjQuIFNvIGluZGVlZCB0aGlz IGlzCmEgUFRQIGNsb2NrIHdyYXBhcm91bmQsIGJ1dCB0aGUgcmVhc29uIG1pZ2h0IGJlIHN1cnBy aXNpbmcuCgpXaGF0IGlzIGdvaW5nIG9uIGlzIHRoYXQgc2phMTEwNV90c3RhbXBfcmVjb25zdHJ1 Y3QocHJpdiwgbm93LCB0cykKZXhwZWN0cyBhICJub3ciIHRpbWUgdGhhdCBpcyBsYXRlciB0aGFu IHRoZSAidHMiIHdhcyBzbmFwc2hvdHRlZCBhdC4KVGhpcywgb2YgY291cnNlLCBpcyBvYnZpb3Vz OiB3ZSByZWFkIHRoZSBQVFAgdGltZSBfYWZ0ZXJfIHRoZSBwYXJ0aWFsIFJYCnRpbWVzdGFtcCB3 YXMgcmVjZWl2ZWQuIEhvd2V2ZXIsIHRoZSB3b3JrcXVldWUgaXMgcHJvY2Vzc2luZyBmcmFtZXMg ZnJvbQphIHNrYiBxdWV1ZSBhbmQgcmV1c2VzIHRoZSBzYW1lIFBUUCB0aW1lLCByZWFkIG9uY2Ug YXQgdGhlIGJlZ2lubmluZy4KTm9ybWFsbHkgdGhlIHNrYiBxdWV1ZSBvbmx5IGNvbnRhaW5zIG9u ZSBmcmFtZSBhbmQgYWxsIGdvZXMgd2VsbC4gQnV0CndoZW4gdGhlIHNrYiBxdWV1ZSBjb250YWlu cyB0d28gZnJhbWVzLCB0aGUgc2Vjb25kIGZyYW1lIHRoYXQgZ2V0cwpkZXF1ZXVlZCBtaWdodCBo YXZlIGJlZW4gcGFydGlhbGx5IHRpbWVzdGFtcGVkIGJ5IHRoZSBSWCBNQUMgX2FmdGVyXyB3ZQpo YWQgcmVhZCBvdXIgUFRQIHRpbWUgaW5pdGlhbGx5LgoKVGhlIGNvZGUgd2FzIG9yaWdpbmFsbHkg bGlrZSB0aGF0IGR1ZSB0byBjb25jZXJucyB0aGF0IFNQSSBhY2Nlc3MgZm9yClBUUCB0aW1lIHJl YWRvdXQgaXMgYSBzbG93IHByb2Nlc3MsIGFuZCB3ZSBhcmUgdGltZS1jb25zdHJhaW5lZCBhbnl3 YXkKKGFrYTogcHJlbWF0dXJlIG9wdGltaXphdGlvbikuIEJ1dCBzb21lIHRpbWluZyBhbmFseXNp cyByZXZlYWxzIHRoYXQgdGhlCnRpbWUgc3BlbnQgdW50aWwgdGhlIFJYIHRpbWVzdGFtcCBpcyBj b21wbGV0ZWx5IHJlY29uc3RydWN0ZWQgaXMgMSBvcmRlcgpvZiBtYWduaXR1ZGUgbG93ZXIgdGhh biB0aGUgMC4xMzUgcyBkZWFkbGluZSBldmVuIHVuZGVyIHdvcnN0LWNhc2UKY29uZGl0aW9ucy4g U28gd2UgY2FuIGFmZm9yZCB0byByZWFkIHRoZSBQVFAgdGltZSBmb3IgZWFjaCBmcmFtZSBpbiB0 aGUKUlggdGltZXN0YW1waW5nIHF1ZXVlLCB3aGljaCBvZiBjb3Vyc2UgZW5zdXJlcyB0aGF0IHRo ZSBmdWxsIFBUUCB0aW1lIGlzCmluIHRoZSBwYXJ0aWFsIHRpbWVzdGFtcCdzIGZ1dHVyZS4KCkZp eGVzOiBmMzA5N2JlMjFiZjEgKCJuZXQ6IGRzYTogc2phMTEwNTogQWRkIGEgc3RhdGUgbWFjaGlu ZSBmb3IgUlggdGltZXN0YW1waW5nIikKU2lnbmVkLW9mZi1ieTogVmxhZGltaXIgT2x0ZWFuIDxv bHRlYW52QGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBk YXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2RzYS9zamExMTA1L3NqYTExMDVfbWFpbi5j IHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2RzYS9zamExMTA1L3NqYTExMDVfbWFpbi5jIGIv ZHJpdmVycy9uZXQvZHNhL3NqYTExMDUvc2phMTEwNV9tYWluLmMKaW5kZXggM2MyNmY3YzQ1ZDg4 Li4yOTYyODZmNGZiMzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2RzYS9zamExMTA1L3NqYTEx MDVfbWFpbi5jCisrKyBiL2RyaXZlcnMvbmV0L2RzYS9zamExMTA1L3NqYTExMDVfbWFpbi5jCkBA IC0xOTg2LDEyICsxOTg2LDEyIEBAIHN0YXRpYyB2b2lkIHNqYTExMDVfcnh0c3RhbXBfd29yayhz dHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAKIAltdXRleF9sb2NrKCZwcml2LT5wdHBfbG9jayk7 CiAKLQlub3cgPSBwcml2LT50c3RhbXBfY2MucmVhZCgmcHJpdi0+dHN0YW1wX2NjKTsKLQogCXdo aWxlICgoc2tiID0gc2tiX2RlcXVldWUoJmRhdGEtPnNrYl9yeHRzdGFtcF9xdWV1ZSkpICE9IE5V TEwpIHsKIAkJc3RydWN0IHNrYl9zaGFyZWRfaHd0c3RhbXBzICpzaHd0ID0gc2tiX2h3dHN0YW1w cyhza2IpOwogCQl1NjQgdHM7CiAKKwkJbm93ID0gcHJpdi0+dHN0YW1wX2NjLnJlYWQoJnByaXYt PnRzdGFtcF9jYyk7CisKIAkJKnNod3QgPSAoc3RydWN0IHNrYl9zaGFyZWRfaHd0c3RhbXBzKSB7 MH07CiAKIAkJdHMgPSBTSkExMTA1X1NLQl9DQihza2IpLT5tZXRhX3RzdGFtcDsKLS0gCjIuMjAu MQoKCkZyb20gYTE4ZDk3ZGMyODQ3ZDRiYTUzODE1OTQ0NjdkZTBlMDAxMzVlMTNhNSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTmF2aWQgRW1hbWRvb3N0IDxuYXZpZC5lbWFtZG9vc3RA Z21haWwuY29tPgpEYXRlOiBTdW4sIDI5IFNlcCAyMDE5IDAxOjQzOjM5ICswMzAwClN1YmplY3Q6 IFtQQVRDSCAyNy8zMF0gbmV0OiBkc2E6IHNqYTExMDU6IFByZXZlbnQgbGVha2luZyBtZW1vcnkK ClsgVXBzdHJlYW0gY29tbWl0IDY4NTAxZGY5MmQxMTZiNzYwNzc3YTJjZmRhMzE0Nzg5ZjkyNjQ3 NmYgXQoKSW4gc2phMTEwNV9zdGF0aWNfY29uZmlnX3VwbG9hZCwgaW4gdHdvIGNhc2VzIG1lbW9y eSBpcyBsZWFrZWQ6IHdoZW4Kc3RhdGljX2NvbmZpZ19idWZfcHJlcGFyZV9mb3JfdXBsb2FkIGZh aWxzIGFuZCB3aGVuIHNqYTExMDVfaW5oaWJpdF90eApmYWlscy4gSW4gYm90aCBjYXNlcyBjb25m aWdfYnVmIHNob3VsZCBiZSByZWxlYXNlZC4KCkZpeGVzOiA4YWE5ZWJjY2FlODcgKCJuZXQ6IGRz YTogSW50cm9kdWNlIGRyaXZlciBmb3IgTlhQIFNKQTExMDUgNS1wb3J0IEwyIHN3aXRjaCIpCkZp eGVzOiAxYTRjNjk0MDZjYzEgKCJuZXQ6IGRzYTogc2phMTEwNTogUHJldmVudCBQSFkgamFiYmVy aW5nIGR1cmluZyBzd2l0Y2ggcmVzZXQiKQpTaWduZWQtb2ZmLWJ5OiBOYXZpZCBFbWFtZG9vc3Qg PG5hdmlkLmVtYW1kb29zdEBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IFZsYWRpbWlyIE9sdGVh biA8b2x0ZWFudkBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2 ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9kc2Evc2phMTEwNS9zamExMTA1X3Nw aS5jIHwgNiArKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZHNhL3NqYTExMDUvc2phMTEwNV9zcGku YyBiL2RyaXZlcnMvbmV0L2RzYS9zamExMTA1L3NqYTExMDVfc3BpLmMKaW5kZXggODRkYzYwMzEz OGNmLi41OGRkMzdlY2RlMTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2RzYS9zamExMTA1L3Nq YTExMDVfc3BpLmMKKysrIGIvZHJpdmVycy9uZXQvZHNhL3NqYTExMDUvc2phMTEwNV9zcGkuYwpA QCAtNDA5LDcgKzQwOSw4IEBAIGludCBzamExMTA1X3N0YXRpY19jb25maWdfdXBsb2FkKHN0cnVj dCBzamExMTA1X3ByaXZhdGUgKnByaXYpCiAJcmMgPSBzdGF0aWNfY29uZmlnX2J1Zl9wcmVwYXJl X2Zvcl91cGxvYWQocHJpdiwgY29uZmlnX2J1ZiwgYnVmX2xlbik7CiAJaWYgKHJjIDwgMCkgewog CQlkZXZfZXJyKGRldiwgIkludmFsaWQgY29uZmlnLCBjYW5ub3QgdXBsb2FkXG4iKTsKLQkJcmV0 dXJuIC1FSU5WQUw7CisJCXJjID0gLUVJTlZBTDsKKwkJZ290byBvdXQ7CiAJfQogCS8qIFByZXZl bnQgUEhZIGphYmJlcmluZyBkdXJpbmcgc3dpdGNoIHJlc2V0IGJ5IGluaGliaXRpbmcKIAkgKiBU eCBvbiBhbGwgcG9ydHMgYW5kIHdhaXRpbmcgZm9yIGN1cnJlbnQgcGFja2V0IHRvIGRyYWluLgpA QCAtNDE4LDcgKzQxOSw4IEBAIGludCBzamExMTA1X3N0YXRpY19jb25maWdfdXBsb2FkKHN0cnVj dCBzamExMTA1X3ByaXZhdGUgKnByaXYpCiAJcmMgPSBzamExMTA1X2luaGliaXRfdHgocHJpdiwg cG9ydF9iaXRtYXAsIHRydWUpOwogCWlmIChyYyA8IDApIHsKIAkJZGV2X2VycihkZXYsICJGYWls ZWQgdG8gaW5oaWJpdCBUeCBvbiBwb3J0c1xuIik7Ci0JCXJldHVybiAtRU5YSU87CisJCXJjID0g LUVOWElPOworCQlnb3RvIG91dDsKIAl9CiAJLyogV2FpdCBmb3IgYW4gZXZlbnR1YWwgZWdyZXNz IHBhY2tldCB0byBmaW5pc2ggdHJhbnNtaXNzaW9uCiAJICogKHJlYWNoIElGRykuIEl0IGlzIGd1 YXJhbnRlZWQgdGhhdCBhIHNlY29uZCBvbmUgd2lsbCBub3QKLS0gCjIuMjAuMQoKCkZyb20gOTQw NzgyYWVlOTdhNmE0MmNlZWFkYWUwMmUzZWNjODQ1YmIyMjM4YyBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogTG9yZW56byBCaWFuY29uaSA8bG9yZW56b0BrZXJuZWwub3JnPgpEYXRlOiBU dWUsIDEgT2N0IDIwMTkgMTA6MzM6NTEgKzAyMDAKU3ViamVjdDogW1BBVENIIDI4LzMwXSBuZXQ6 IHNvY2lvbmV4dDogbmV0c2VjOiBhbHdheXMgZ3JhYiBkZXNjcmlwdG9yIGxvY2sKTUlNRS1WZXJz aW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQt VHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKClsgVXBzdHJlYW0gY29tbWl0IDU1MTMxZGVjMmIxYzc0 MTdkMjE2Zjg2MWVhN2EyOWRjN2M0ZDJkMjAgXQoKQWx3YXlzIGFjcXVpcmUgdHggZGVzY3JpcHRv ciBzcGlubG9jayBldmVuIGlmIGEgeGRwIHByb2dyYW0gaXMgbm90IGxvYWRlZApvbiB0aGUgbmV0 c2VjIGRldmljZSBzaW5jZSBuZG9feGRwX3htaXQgY2FuIHJ1biBjb25jdXJyZW50bHkgd2l0aApu ZXRzZWNfbmV0ZGV2X3N0YXJ0X3htaXQgYW5kIG5ldHNlY19jbGVhbl90eF9kcmluZy4gVGhpcyBj YW4gaGFwcGVuCmxvYWRpbmcgYSB4ZHAgcHJvZ3JhbSBvbiBhIGRpZmZlcmVudCBkZXZpY2UgKGUu ZyB2aXJ0aW8tbmV0KSBhbmQKeGRwX2RvX3JlZGlyZWN0X21hcC94ZHBfZG9fcmVkaXJlY3Rfc2xv dyBjYW4gcmVkaXJlY3QgdG8gbmV0c2VjIGV2ZW4gaWYKd2UgZG8gbm90IGhhdmUgYSB4ZHAgcHJv Z3JhbSBvbiBpdC4KCkZpeGVzOiBiYTJiMjMyMTA4ZDMgKCJuZXQ6IG5ldHNlYzogYWRkIFhEUCBz dXBwb3J0IikKVGVzdGVkLWJ5OiBJbGlhcyBBcGFsb2RpbWFzIDxpbGlhcy5hcGFsb2RpbWFzQGxp bmFyby5vcmc+ClNpZ25lZC1vZmYtYnk6IExvcmVuem8gQmlhbmNvbmkgPGxvcmVuem9Aa2VybmVs Lm9yZz4KUmV2aWV3ZWQtYnk6IElsaWFzIEFwYWxvZGltYXMgPGlsaWFzLmFwYWxvZGltYXNAbGlu YXJvLm9yZz4KQWNrZWQtYnk6IFRva2UgSMO4aWxhbmQtSsO4cmdlbnNlbiA8dG9rZUByZWRoYXQu Y29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+ Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvc29jaW9uZXh0L25ldHNlYy5jIHwgMzAgKysrKysr LS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMjMg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc29jaW9uZXh0 L25ldHNlYy5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc29jaW9uZXh0L25ldHNlYy5jCmluZGV4 IDE1MDJmZThiMDQ1Ni4uYjlhYzQ1ZDlkZWU4IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhl cm5ldC9zb2Npb25leHQvbmV0c2VjLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc29jaW9u ZXh0L25ldHNlYy5jCkBAIC0yODIsNyArMjgyLDYgQEAgc3RydWN0IG5ldHNlY19kZXNjX3Jpbmcg ewogCXZvaWQgKnZhZGRyOwogCXUxNiBoZWFkLCB0YWlsOwogCXUxNiB4ZHBfeG1pdDsgLyogbmV0 c2VjX3hkcF94bWl0IHBhY2tldHMgKi8KLQlib29sIGlzX3hkcDsKIAlzdHJ1Y3QgcGFnZV9wb29s ICpwYWdlX3Bvb2w7CiAJc3RydWN0IHhkcF9yeHFfaW5mbyB4ZHBfcnhxOwogCXNwaW5sb2NrX3Qg bG9jazsgLyogWERQIHR4IHF1ZXVlIGxvY2tpbmcgKi8KQEAgLTYzNCw4ICs2MzMsNyBAQCBzdGF0 aWMgYm9vbCBuZXRzZWNfY2xlYW5fdHhfZHJpbmcoc3RydWN0IG5ldHNlY19wcml2ICpwcml2KQog CXVuc2lnbmVkIGludCBieXRlczsKIAlpbnQgY250ID0gMDsKIAotCWlmIChkcmluZy0+aXNfeGRw KQotCQlzcGluX2xvY2soJmRyaW5nLT5sb2NrKTsKKwlzcGluX2xvY2soJmRyaW5nLT5sb2NrKTsK IAogCWJ5dGVzID0gMDsKIAllbnRyeSA9IGRyaW5nLT52YWRkciArIERFU0NfU1ogKiB0YWlsOwpA QCAtNjgyLDggKzY4MCw4IEBAIHN0YXRpYyBib29sIG5ldHNlY19jbGVhbl90eF9kcmluZyhzdHJ1 Y3QgbmV0c2VjX3ByaXYgKnByaXYpCiAJCWVudHJ5ID0gZHJpbmctPnZhZGRyICsgREVTQ19TWiAq IHRhaWw7CiAJCWNudCsrOwogCX0KLQlpZiAoZHJpbmctPmlzX3hkcCkKLQkJc3Bpbl91bmxvY2so JmRyaW5nLT5sb2NrKTsKKworCXNwaW5fdW5sb2NrKCZkcmluZy0+bG9jayk7CiAKIAlpZiAoIWNu dCkKIAkJcmV0dXJuIGZhbHNlOwpAQCAtNzk5LDkgKzc5Nyw2IEBAIHN0YXRpYyB2b2lkIG5ldHNl Y19zZXRfdHhfZGUoc3RydWN0IG5ldHNlY19wcml2ICpwcml2LAogCWRlLT5kYXRhX2J1Zl9hZGRy X2x3ID0gbG93ZXJfMzJfYml0cyhkZXNjLT5kbWFfYWRkcik7CiAJZGUtPmJ1Zl9sZW5faW5mbyA9 ICh0eF9jdHJsLT50Y3Bfc2VnX2xlbiA8PCAxNikgfCBkZXNjLT5sZW47CiAJZGUtPmF0dHIgPSBh dHRyOwotCS8qIHVuZGVyIHNwaW5fbG9jayBpZiB1c2luZyBYRFAgKi8KLQlpZiAoIWRyaW5nLT5p c194ZHApCi0JCWRtYV93bWIoKTsKIAogCWRyaW5nLT5kZXNjW2lkeF0gPSAqZGVzYzsKIAlpZiAo ZGVzYy0+YnVmX3R5cGUgPT0gVFlQRV9ORVRTRUNfU0tCKQpAQCAtMTEyMywxMiArMTExOCwxMCBA QCBzdGF0aWMgbmV0ZGV2X3R4X3QgbmV0c2VjX25ldGRldl9zdGFydF94bWl0KHN0cnVjdCBza19i dWZmICpza2IsCiAJdTE2IHRzb19zZWdfbGVuID0gMDsKIAlpbnQgZmlsbGVkOwogCi0JaWYgKGRy aW5nLT5pc194ZHApCi0JCXNwaW5fbG9ja19iaCgmZHJpbmctPmxvY2spOworCXNwaW5fbG9ja19i aCgmZHJpbmctPmxvY2spOwogCWZpbGxlZCA9IG5ldHNlY19kZXNjX3VzZWQoZHJpbmcpOwogCWlm IChuZXRzZWNfY2hlY2tfc3RvcF90eChwcml2LCBmaWxsZWQpKSB7Ci0JCWlmIChkcmluZy0+aXNf eGRwKQotCQkJc3Bpbl91bmxvY2tfYmgoJmRyaW5nLT5sb2NrKTsKKwkJc3Bpbl91bmxvY2tfYmgo JmRyaW5nLT5sb2NrKTsKIAkJbmV0X3dhcm5fcmF0ZWxpbWl0ZWQoIiVzICVzIFR4IHF1ZXVlIGZ1 bGxcbiIsCiAJCQkJICAgICBkZXZfbmFtZShwcml2LT5kZXYpLCBuZGV2LT5uYW1lKTsKIAkJcmV0 dXJuIE5FVERFVl9UWF9CVVNZOwpAQCAtMTE2MSw4ICsxMTU0LDcgQEAgc3RhdGljIG5ldGRldl90 eF90IG5ldHNlY19uZXRkZXZfc3RhcnRfeG1pdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogCXR4X2Rl c2MuZG1hX2FkZHIgPSBkbWFfbWFwX3NpbmdsZShwcml2LT5kZXYsIHNrYi0+ZGF0YSwKIAkJCQkJ ICBza2JfaGVhZGxlbihza2IpLCBETUFfVE9fREVWSUNFKTsKIAlpZiAoZG1hX21hcHBpbmdfZXJy b3IocHJpdi0+ZGV2LCB0eF9kZXNjLmRtYV9hZGRyKSkgewotCQlpZiAoZHJpbmctPmlzX3hkcCkK LQkJCXNwaW5fdW5sb2NrX2JoKCZkcmluZy0+bG9jayk7CisJCXNwaW5fdW5sb2NrX2JoKCZkcmlu Zy0+bG9jayk7CiAJCW5ldGlmX2Vycihwcml2LCBkcnYsIHByaXYtPm5kZXYsCiAJCQkgICIlczog RE1BIG1hcHBpbmcgZmFpbGVkXG4iLCBfX2Z1bmNfXyk7CiAJCW5kZXYtPnN0YXRzLnR4X2Ryb3Bw ZWQrKzsKQEAgLTExNzcsOCArMTE2OSw3IEBAIHN0YXRpYyBuZXRkZXZfdHhfdCBuZXRzZWNfbmV0 ZGV2X3N0YXJ0X3htaXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwKIAluZXRkZXZfc2VudF9xdWV1ZShw cml2LT5uZGV2LCBza2ItPmxlbik7CiAKIAluZXRzZWNfc2V0X3R4X2RlKHByaXYsIGRyaW5nLCAm dHhfY3RybCwgJnR4X2Rlc2MsIHNrYik7Ci0JaWYgKGRyaW5nLT5pc194ZHApCi0JCXNwaW5fdW5s b2NrX2JoKCZkcmluZy0+bG9jayk7CisJc3Bpbl91bmxvY2tfYmgoJmRyaW5nLT5sb2NrKTsKIAlu ZXRzZWNfd3JpdGUocHJpdiwgTkVUU0VDX1JFR19OUk1fVFhfUEtUQ05ULCAxKTsgLyogc3VibWl0 IGFub3RoZXIgdHggKi8KIAogCXJldHVybiBORVRERVZfVFhfT0s7CkBAIC0xMjYyLDcgKzEyNTMs NiBAQCBzdGF0aWMgaW50IG5ldHNlY19hbGxvY19kcmluZyhzdHJ1Y3QgbmV0c2VjX3ByaXYgKnBy aXYsIGVudW0gcmluZ19pZCBpZCkKIHN0YXRpYyB2b2lkIG5ldHNlY19zZXR1cF90eF9kcmluZyhz dHJ1Y3QgbmV0c2VjX3ByaXYgKnByaXYpCiB7CiAJc3RydWN0IG5ldHNlY19kZXNjX3JpbmcgKmRy aW5nID0gJnByaXYtPmRlc2NfcmluZ1tORVRTRUNfUklOR19UWF07Ci0Jc3RydWN0IGJwZl9wcm9n ICp4ZHBfcHJvZyA9IFJFQURfT05DRShwcml2LT54ZHBfcHJvZyk7CiAJaW50IGk7CiAKIAlmb3Ig KGkgPSAwOyBpIDwgREVTQ19OVU07IGkrKykgewpAQCAtMTI3NSwxMiArMTI2NSw2IEBAIHN0YXRp YyB2b2lkIG5ldHNlY19zZXR1cF90eF9kcmluZyhzdHJ1Y3QgbmV0c2VjX3ByaXYgKnByaXYpCiAJ CSAqLwogCQlkZS0+YXR0ciA9IDFVIDw8IE5FVFNFQ19UWF9TSElGVF9PV05fRklFTEQ7CiAJfQot Ci0JaWYgKHhkcF9wcm9nKQotCQlkcmluZy0+aXNfeGRwID0gdHJ1ZTsKLQllbHNlCi0JCWRyaW5n LT5pc194ZHAgPSBmYWxzZTsKLQogfQogCiBzdGF0aWMgaW50IG5ldHNlY19zZXR1cF9yeF9kcmlu ZyhzdHJ1Y3QgbmV0c2VjX3ByaXYgKnByaXYpCi0tIAoyLjIwLjEKCgpGcm9tIDA3M2YyODFlZTc2 NjNjZjg4Yzk2N2Y5MDAzNzZhNzU0YmI1NDE5ZTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IFZsYWRpbWlyIE9sdGVhbiA8b2x0ZWFudkBnbWFpbC5jb20+CkRhdGU6IFN1biwgMjkgU2Vw IDIwMTkgMDI6Mzk6NDggKzAzMDAKU3ViamVjdDogW1BBVENIIDI5LzMwXSBuZXQ6IHNjaGVkOiBj YnM6IEF2b2lkIGRpdmlzaW9uIGJ5IHplcm8gd2hlbgogY2FsY3VsYXRpbmcgdGhlIHBvcnQgcmF0 ZQoKWyBVcHN0cmVhbSBjb21taXQgODNjOGMzY2Y0NTE2M2YwYzgyM2RiMzdiZTZhYjA0ZGZjZjhh Yzc1MSBdCgpBcyBleHBsYWluZWQgaW4gdGhlICJuZXQ6IHNjaGVkOiB0YXByaW86IEF2b2lkIGRp dmlzaW9uIGJ5IHplcm8gb24KaW52YWxpZCBsaW5rIHNwZWVkIiBjb21taXQsIGl0IGlzIGxlZ2Fs IGZvciB0aGUgZXRodG9vbCBBUEkgdG8gcmV0dXJuCnplcm8gYXMgYSBsaW5rIHNwZWVkLiBTbyBn dWFyZCBhZ2FpbnN0IGl0IHRvIGVuc3VyZSB3ZSBkb24ndCBwZXJmb3JtIGEKZGl2aXNpb24gYnkg emVybyBpbiBrZXJuZWwuCgpGaXhlczogZTBhNzY4M2QzMGU5ICgibmV0L3NjaGVkOiBjYnM6IGZp eCBwb3J0X3JhdGUgbWlzY2FsY3VsYXRpb24iKQpTaWduZWQtb2ZmLWJ5OiBWbGFkaW1pciBPbHRl YW4gPG9sdGVhbnZAZ21haWwuY29tPgpBY2tlZC1ieTogVmluaWNpdXMgQ29zdGEgR29tZXMgPHZp bmljaXVzLmdvbWVzQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxk YXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9zY2hlZC9zY2hfY2JzLmMgfCAyICstCiAxIGZp bGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9u ZXQvc2NoZWQvc2NoX2Nicy5jIGIvbmV0L3NjaGVkL3NjaF9jYnMuYwppbmRleCA0YTQwM2QzNTQz OGYuLjI4NGFiMmRjZjQ3ZiAxMDA2NDQKLS0tIGEvbmV0L3NjaGVkL3NjaF9jYnMuYworKysgYi9u ZXQvc2NoZWQvc2NoX2Nicy5jCkBAIC0zMDYsNyArMzA2LDcgQEAgc3RhdGljIHZvaWQgY2JzX3Nl dF9wb3J0X3JhdGUoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgc3RydWN0IGNic19zY2hlZF9kYXRh ICpxKQogCWlmIChlcnIgPCAwKQogCQlnb3RvIHNraXA7CiAKLQlpZiAoZWNtZC5iYXNlLnNwZWVk ICE9IFNQRUVEX1VOS05PV04pCisJaWYgKGVjbWQuYmFzZS5zcGVlZCAmJiBlY21kLmJhc2Uuc3Bl ZWQgIT0gU1BFRURfVU5LTk9XTikKIAkJc3BlZWQgPSBlY21kLmJhc2Uuc3BlZWQ7CiAKIHNraXA6 Ci0tIAoyLjIwLjEKCgpGcm9tIDJlZGFkZjU2NTBlOGUxNzMwMjhlNDM1YThhM2UxZDUxNDc5OGE5 YzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFZsYWRpbWlyIE9sdGVhbiA8b2x0ZWFu dkBnbWFpbC5jb20+CkRhdGU6IFN1biwgMjkgU2VwIDIwMTkgMDI6Mzc6MjIgKzAzMDAKU3ViamVj dDogW1BBVENIIDMwLzMwXSBuZXQ6IHNjaGVkOiB0YXByaW86IEF2b2lkIGRpdmlzaW9uIGJ5IHpl cm8gb24gaW52YWxpZAogbGluayBzcGVlZAoKWyBVcHN0cmVhbSBjb21taXQgOWE5MjUxYTM1MzQ3 NDVkMDhhOTJhYmZlY2EwY2E0NjdiOTEyYjVmNiBdCgpUaGUgY2hlY2sgaW4gdGFwcmlvX3NldF9w aWNvc19wZXJfYnl0ZSBpcyBjdXJyZW50bHkgbm90IHJvYnVzdCBlbm91Z2gKYW5kIHdpbGwgdHJp Z2dlciB0aGlzIGRpdmlzaW9uIGJ5IHplcm8sIGR1ZSB0byBlLmcuIFBIWUxJTksgbm90IHNldHRp bmcKa3NldC0+YmFzZS5zcGVlZCB3aGVuIHRoZXJlIGlzIG5vIFBIWSBjb25uZWN0ZWQ6CgpbICAg MjcuMTA5OTkyXSBEaXZpc2lvbiBieSB6ZXJvIGluIGtlcm5lbC4KWyAgIDI3LjExMzg0Ml0gQ1BV OiAxIFBJRDogMTk4IENvbW06IHRjIE5vdCB0YWludGVkIDUuMy4wLXJjNS0wMTI0Ni1nYzQwMDZi OGMyNjM3LWRpcnR5ICMyMTIKWyAgIDI3LjEyMTk3NF0gSGFyZHdhcmUgbmFtZTogRnJlZXNjYWxl IExTMTAyMUEKWyAgIDI3LjEyNjIzNF0gWzxjMDMxMzJlMD5dICh1bndpbmRfYmFja3RyYWNlKSBm cm9tIFs8YzAzMGQ4Yjg+XSAoc2hvd19zdGFjaysweDEwLzB4MTQpClsgICAyNy4xMzM5MzhdIFs8 YzAzMGQ4Yjg+XSAoc2hvd19zdGFjaykgZnJvbSBbPGMxMGIyMWIwPl0gKGR1bXBfc3RhY2srMHhi MC8weGM0KQpbICAgMjcuMTQxMTI0XSBbPGMxMGIyMWIwPl0gKGR1bXBfc3RhY2spIGZyb20gWzxj MTBhZjk3Yz5dIChMZGl2MF82NCsweDgvMHgxOCkKWyAgIDI3LjE0ODA1Ml0gWzxjMTBhZjk3Yz5d IChMZGl2MF82NCkgZnJvbSBbPGMwNzAwMjYwPl0gKGRpdjY0X3U2NCsweGNjLzB4ZjApClsgICAy Ny4xNTQ5NzhdIFs8YzA3MDAyNjA+XSAoZGl2NjRfdTY0KSBmcm9tIFs8YzA3MDAyZDA+XSAoZGl2 NjRfczY0KzB4NGMvMHg2OCkKWyAgIDI3LjE2MTk5M10gWzxjMDcwMDJkMD5dIChkaXY2NF9zNjQp IGZyb20gWzxjMGYzZDg5MD5dICh0YXByaW9fc2V0X3BpY29zX3Blcl9ieXRlKzB4ZTgvMHhmNCkK WyAgIDI3LjE3MDM4OF0gWzxjMGYzZDg5MD5dICh0YXByaW9fc2V0X3BpY29zX3Blcl9ieXRlKSBm cm9tIFs8YzBmM2Y2MTQ+XSAodGFwcmlvX2NoYW5nZSsweDY2OC8weGNlYykKWyAgIDI3LjE3OTMw Ml0gWzxjMGYzZjYxND5dICh0YXByaW9fY2hhbmdlKSBmcm9tIFs8YzBmMmJjMjQ+XSAocWRpc2Nf Y3JlYXRlKzB4MWZjLzB4NGY0KQpbICAgMjcuMTg3MDkxXSBbPGMwZjJiYzI0Pl0gKHFkaXNjX2Ny ZWF0ZSkgZnJvbSBbPGMwZjJjMGM4Pl0gKHRjX21vZGlmeV9xZGlzYysweDFhYy8weDZmOCkKWyAg IDI3LjE5NTA1NV0gWzxjMGYyYzBjOD5dICh0Y19tb2RpZnlfcWRpc2MpIGZyb20gWzxjMGVlOTYw ND5dIChydG5ldGxpbmtfcmN2X21zZysweDI2OC8weDJkYykKWyAgIDI3LjIwMzQ0OV0gWzxjMGVl OTYwND5dIChydG5ldGxpbmtfcmN2X21zZykgZnJvbSBbPGMwZjRmZWYwPl0gKG5ldGxpbmtfcmN2 X3NrYisweGUwLzB4MTE0KQpbICAgMjcuMjExNzU2XSBbPGMwZjRmZWYwPl0gKG5ldGxpbmtfcmN2 X3NrYikgZnJvbSBbPGMwZjRmNmNjPl0gKG5ldGxpbmtfdW5pY2FzdCsweDFiNC8weDIyYykKWyAg IDI3LjIxOTk3N10gWzxjMGY0ZjZjYz5dIChuZXRsaW5rX3VuaWNhc3QpIGZyb20gWzxjMGY0ZmE4 ND5dIChuZXRsaW5rX3NlbmRtc2crMHgyODQvMHgzNDApClsgICAyNy4yMjgxOThdIFs8YzBmNGZh ODQ+XSAobmV0bGlua19zZW5kbXNnKSBmcm9tIFs8YzBlYWU1ZmM+XSAoc29ja19zZW5kbXNnKzB4 MTQvMHgyNCkKWyAgIDI3LjIzNTk4OF0gWzxjMGVhZTVmYz5dIChzb2NrX3NlbmRtc2cpIGZyb20g WzxjMGVhZWRmOD5dIChfX19zeXNfc2VuZG1zZysweDIxNC8weDIyOCkKWyAgIDI3LjI0Mzg2M10g WzxjMGVhZWRmOD5dIChfX19zeXNfc2VuZG1zZykgZnJvbSBbPGMwZWIwMTVjPl0gKF9fc3lzX3Nl bmRtc2crMHg1MC8weDhjKQpbICAgMjcuMjUxNjUyXSBbPGMwZWIwMTVjPl0gKF9fc3lzX3NlbmRt c2cpIGZyb20gWzxjMDMwMTAwMD5dIChyZXRfZmFzdF9zeXNjYWxsKzB4MC8weDU0KQpbICAgMjcu MjU5NTI0XSBFeGNlcHRpb24gc3RhY2soMHhlODA0NWZhOCB0byAweGU4MDQ1ZmYwKQpbICAgMjcu MjY0NTQ2XSA1ZmEwOiAgICAgICAgICAgICAgICAgICBiNmY2MDhjOCAwMDAwMDBmOCAwMDAwMDAw MyBiZWQ3ZTJmMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgMjcuMjcyNjgxXSA1ZmMwOiBiNmY2MDhj OCAwMDAwMDBmOCAwMDRjZTU0YyAwMDAwMDEyOCA1ZDNjZThjNyAwMDAwMDAwMCAwMDAwMDAyNiAw MDUwNWM5YwpbICAgMjcuMjgwODEyXSA1ZmUwOiAwMDAwMDA3MCBiZWQ3ZTI5OCAwMDRkZGQ2NCBi NmRkMWU2NAoKUnVzc2VsbCBLaW5nIHBvaW50cyBvdXQgdGhhdCB0aGUgZXRodG9vbCBBUEkgc2F5 cyB6ZXJvIGlzIGEgdmFsaWQgcmV0dXJuCnZhbHVlIG9mIF9fZXRodG9vbF9nZXRfbGlua19rc2V0 dGluZ3M6CgogICAqIElmIGl0IGlzIGVuYWJsZWQgdGhlbiB0aGV5IGFyZSByZWFkLW9ubHk7IGlm IHRoZSBsaW5rCiAgICogaXMgdXAgdGhleSByZXByZXNlbnQgdGhlIG5lZ290aWF0ZWQgbGluayBt b2RlOyBpZiB0aGUgbGluayBpcyBkb3duLAogICAqIHRoZSBzcGVlZCBpcyAwLCAlU1BFRURfVU5L Tk9XTiBvciB0aGUgaGlnaGVzdCBlbmFibGVkIHNwZWVkIGFuZAogICAqIEBkdXBsZXggaXMgJURV UExFWF9VTktOT1dOIG9yIHRoZSBiZXN0IGVuYWJsZWQgZHVwbGV4IG1vZGUuCgogIFNvLCBpdCBz ZWVtcyB0aGF0IHRhcHJpbyBpcyBub3QgZm9sbG93aW5nIHRoZSBBUEkuLi4gSSdkIHN1Z2dlc3Qg ZWl0aGVyCiAgZml4aW5nIHRhcHJpbywgb3IgZ2V0dGluZyBhZ3JlZW1lbnQgdG8gY2hhbmdlIHRo ZSBldGh0b29sIEFQSS4KClRoZSBjaG9zZW4gcGF0aCB3YXMgdG8gZml4IHRhcHJpby4KCkZpeGVz OiA3YjllYmE3YmEwYzEgKCJuZXQvc2NoZWQ6IHRhcHJpbzogZml4IHBpY29zX3Blcl9ieXRlIG1p c2NhbGN1bGF0aW9uIikKU2lnbmVkLW9mZi1ieTogVmxhZGltaXIgT2x0ZWFuIDxvbHRlYW52QGdt YWlsLmNvbT4KQWNrZWQtYnk6IFZpbmljaXVzIENvc3RhIEdvbWVzIDx2aW5pY2l1cy5nb21lc0Bp bnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0 Lm5ldD4KLS0tCiBuZXQvc2NoZWQvc2NoX3RhcHJpby5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQs IDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL3Nj aF90YXByaW8uYyBiL25ldC9zY2hlZC9zY2hfdGFwcmlvLmMKaW5kZXggOTQ0YjFhZjMyMTU2Li43 NmJlYmU1MTYxOTQgMTAwNjQ0Ci0tLSBhL25ldC9zY2hlZC9zY2hfdGFwcmlvLmMKKysrIGIvbmV0 L3NjaGVkL3NjaF90YXByaW8uYwpAQCAtOTYxLDcgKzk2MSw3IEBAIHN0YXRpYyB2b2lkIHRhcHJp b19zZXRfcGljb3NfcGVyX2J5dGUoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwKIAlpZiAoZXJyIDwg MCkKIAkJZ290byBza2lwOwogCi0JaWYgKGVjbWQuYmFzZS5zcGVlZCAhPSBTUEVFRF9VTktOT1dO KQorCWlmIChlY21kLmJhc2Uuc3BlZWQgJiYgZWNtZC5iYXNlLnNwZWVkICE9IFNQRUVEX1VOS05P V04pCiAJCXNwZWVkID0gZWNtZC5iYXNlLnNwZWVkOwogCiBza2lwOgotLSAKMi4yMC4xCgo= ----Next_Part(Sat_Oct__5_14_57_22_2019_856)----