From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 49845 invoked by alias); 24 Feb 2020 04:43:15 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 49837 invoked by uid 89); 24 Feb 2020 04:43:14 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-18.9 required=5.0 tests=AWL,BAYES_20,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_BADIPHTTP,KAM_SHORT,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 spammy=opened, resources, ipv6, IPv6 X-HELO: us-smtp-1.mimecast.com Received: from us-smtp-delivery-1.mimecast.com (HELO us-smtp-1.mimecast.com) (205.139.110.120) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 24 Feb 2020 04:43:10 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1582519388; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=NcH6qsvLvrX/HwcUY9eSUgLAnAGFrtEdfMgItq5UgSE=; b=Js3Lx77o8JQ3Lulc7qCchy8tqtZPjNRbXaSqdDZbCdPjt9RTIDZ1cLZFdBvk/09hNDWGef 6XKzuQf9jgELb/Glg/P9HL4+t+Uot2Q5bWmFjobr4YhdYwKuwy/w/WJmwUwOSn9oHzNdL4 ml15RzmnAD8hXTTNOFEeYbKOlzcPEVE= Received: from mail-vs1-f70.google.com (mail-vs1-f70.google.com [209.85.217.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-266-YzXCyVvGMu6p10bRy-irjQ-1; Sun, 23 Feb 2020 23:43:06 -0500 Received: by mail-vs1-f70.google.com with SMTP id m14so708550vsp.20 for ; Sun, 23 Feb 2020 20:43:05 -0800 (PST) MIME-Version: 1.0 References: <1282d65e-5c1c-a7d8-b29d-24dd8036ae2d@simark.ca> In-Reply-To: <1282d65e-5c1c-a7d8-b29d-24dd8036ae2d@simark.ca> From: Aaron Merey Date: Mon, 24 Feb 2020 04:43:00 -0000 Message-ID: Subject: Re: [PATCH v4] Add debuginfod support to GDB To: Simon Marchi Cc: gdb-patches@sourceware.org, Tom Tromey X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="000000000000ccd8cd059f4b01a6" X-SW-Source: 2020-02/txt/msg00914.txt.bz2 --000000000000ccd8cd059f4b01a6 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Content-length: 676 On Fri, Feb 21, 2020 at 3:12 PM Simon Marchi wrote: > I'll have to build debuginfod and configure it, so I can give it a try > and see how it files. > > In the mean time: if we fail to parse the server's response as a bfd or > if the build id doesn't match, I think we need to display a warning, > because it probably means that the server sent us something bad, or there > was some problem somewhere in the pipeline. > > Currently, if that happens, the user would see "Download successful", but > no debug info loaded, so it's a bit misleading. I added the warnings but removed the "Download successful" anyway since it resulted in too much noise. Aaron --000000000000ccd8cd059f4b01a6 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Add-debuginfod-support-to-GDB.patch" Content-Disposition: attachment; filename="0001-Add-debuginfod-support-to-GDB.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_k6zyxrb50 Content-length: 43554 RnJvbSA4MTk3MTNiNzNjNmQzZWI1YjU1YmZiZmIwNzBkZmI2MjAzYTIwNDhj IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBYXJvbiBNZXJleSA8 YW1lcmV5QHJlZGhhdC5jb20+CkRhdGU6IFN1biwgMjMgRmViIDIwMjAgMjM6 Mjk6MDIgLTA1MDAKU3ViamVjdDogW1BBVENIXSBBZGQgZGVidWdpbmZvZCBz dXBwb3J0IHRvIEdEQgoKZGVidWdpbmZvZCBpcyBhIGxpZ2h0d2VpZ2h0IHdl YiBzZXJ2aWNlIHRoYXQgaW5kZXhlcyBFTEYvRFdBUkYgZGVidWdnaW5nCnJl c291cmNlcyBieSBidWlsZC1pZCBhbmQgc2VydmVzIHRoZW0gb3ZlciBIVFRQ LgoKVGhpcyBwYXRjaCBlbmFibGVzIEdEQiB0byBxdWVyeSBkZWJ1Z2luZm9k IHNlcnZlcnMgZm9yIHNlcGFyYXRlIGRlYnVnCmZpbGVzIGFuZCBzb3VyY2Ug Y29kZSB3aGVuIGl0IGlzIG90aGVyd2lzZSBub3QgYWJsZSB0byBmaW5kIHRo ZW0uCgpHREIgY2FuIGJlIGJ1aWx0IHdpdGggZGVidWdpbmZvZCB1c2luZyB0 aGUgLS13aXRoLWRlYnVnaW5mb2QgY29uZmlndXJlCm9wdGlvbi4KClRoaXMg cmVxdWlyZXMgdGhhdCBsaWJkZWJ1Z2luZm9kIGJlIGluc3RhbGxlZCBhbmQg Zm91bmQgYXQgY29uZmlndXJlIHRpbWUuCgpkZWJ1Z2luZm9kIGlzIHBhY2th Z2VkIHdpdGggZWxmdXRpbHMsIHN0YXJ0aW5nIHdpdGggdmVyc2lvbiAwLjE3 OC4KCkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBodHRwczovL3NvdXJjZXdh cmUub3JnL2VsZnV0aWxzLy4KClRlc3RlZCBvbiB4ODZfNjQgRmVkb3JhIDMx LgoKZ2RiL0NoYW5nZUxvZzoKMjAyMC0wMi0yNCAgQWFyb24gTWVyZXkgIDxh bWVyZXlAcmVkaGF0LmNvbT4KCiAgICAgICAgKiBNYWtlZmlsZS5pbjogSGFu ZGxlIG9wdGlvbmFsIGRlYnVnaW5mb2Qgc3VwcG9ydC4KICAgICAgICAqIE5F V1M6IFVwZGF0ZS4KICAgICAgICAqIFJFQURNRTogQWRkIC0td2l0aC1kZWJ1 Z2luZm9kIHN1bW1hcnkuCiAgICAgICAgKiBjb25maWcuaW46IFJlZ2VuZXJh dGUuCiAgICAgICAgKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCiAgICAgICAg KiBjb25maWd1cmUuYWM6IEhhbmRsZSBvcHRpb25hbCBkZWJ1Z2luZm9kIHN1 cHBvcnQuCiAgICAgICAgKiBkZWJ1Z2luZm9kLXN1cHBvcnQuYzogZGVidWdp bmZvZCBoZWxwZXIgZnVuY3Rpb25zLgogICAgICAgICogZGVidWdpbmZvZC1z dXBwb3J0Lmg6IERpdHRvLgogICAgICAgICogZG9jL2dkYi50ZXhpbmZvOiBB ZGQgLS13aXRoLWRlYnVnaW5mb2QgdG8gY29uZmlndXJlIG9wdGlvbnMKICAg ICAgICBzdW1tYXJ5LgogICAgICAgICogZHdhcmYyL3JlYWQuYyAoZHdhcmYy X2dldF9kd3pfZmlsZSk6IFF1ZXJ5IGRlYnVnaW5mb2Qgc2VydmVycwogICAg ICAgIHdoZW4gYSBkd3ogZmlsZSBjYW5ub3QgYmUgZm91bmQuCiAgICAgICAg KiBlbGZyZWFkLmMgKGVsZl9zeW1maWxlX3JlYWQpOiBRdWVyeSBkZWJ1Z2lu Zm9kIHNlcnZlcnMgd2hlbiBhCiAgICAgICAgZGVidWdpbmZvIGZpbGUgY2Fu bm90IGJlIGZvdW5kLgogICAgICAgICogc291cmNlLmMgKG9wZW5fc291cmNl X2ZpbGUpOiBRdWVyeSBkZWJ1Z2luZm9kIHNlcnZlcnMgd2hlbiBhCiAgICAg ICAgc291cmNlIGZpbGUgY2Fubm90IGJlIGZvdW5kLgogICAgICAgICogdG9w LmMgKHByaW50X2dkYl9jb25maWd1cmF0aW9uKTogSW5jbHVkZQogICAgICAg IC0te3dpdGgsd2l0aG91dH0tZGVidWdpbmZvZCBpbiB0aGUgb3V0cHV0LgoK Z2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2c6CjIwMjAtMDItMjQgIEFhcm9uIE1l cmV5ICA8YW1lcmV5QHJlZGhhdC5jb20+CgogICAgICAgICogZ2RiLmRlYnVn aW5mb2Q6IE5ldyBkaXJlY3RvcnkgZm9yIGRlYnVnaW5mb2QgdGVzdHMuCiAg ICAgICAgKiBnZGIuZGVidWdpbmZvZC9tYWluLmM6IE5ldyB0ZXN0IGZpbGUu CiAgICAgICAgKiBnZGIuZGVidWdpbmZvZC9mZXRjaF9zcmNfYW5kX3N5bWJv bHMuZXhwOiBOZXcgdGVzdHMuCi0tLQogZ2RiL01ha2VmaWxlLmluICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA3ICstCiBnZGIvTkVXUyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTQgKysK IGdkYi9SRUFETUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAgOSArCiBnZGIvY29uZmlnLmluICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgIDMgKwogZ2RiL2NvbmZpZ3VyZSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgIDk1ICsrKysrKystCiBnZGIvY29u ZmlndXJlLmFjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMzQg KystCiBnZGIvZGVidWdpbmZvZC1zdXBwb3J0LmMgICAgICAgICAgICAgICAg ICAgICAgfCAxMjkgKysrKysrKysrKysKIGdkYi9kZWJ1Z2luZm9kLXN1cHBv cnQuaCAgICAgICAgICAgICAgICAgICAgICB8ICA1OSArKysrKwogZ2RiL2Rv Yy9nZGIudGV4aW5mbyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA4 ICsKIGdkYi9kd2FyZjIvcmVhZC5jICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAyNCArKwogZ2RiL2VsZnJlYWQuYyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgIDMyICsrLQogZ2RiL3NvdXJjZS5jICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDMwICsrKwogLi4uL2dk Yi5kZWJ1Z2luZm9kL2ZldGNoX3NyY19hbmRfc3ltYm9scy5leHAgIHwgMjE0 ICsrKysrKysrKysrKysrKysrKwogZ2RiL3Rlc3RzdWl0ZS9nZGIuZGVidWdp bmZvZC9tYWluLmMgICAgICAgICAgIHwgIDI1ICsrCiBnZGIvdG9wLmMgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTAgKwogMTUg ZmlsZXMgY2hhbmdlZCwgNjg3IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25z KC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL2RlYnVnaW5mb2Qtc3VwcG9y dC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL2RlYnVnaW5mb2Qtc3VwcG9y dC5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZGVi dWdpbmZvZC9mZXRjaF9zcmNfYW5kX3N5bWJvbHMuZXhwCiBjcmVhdGUgbW9k ZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZGVidWdpbmZvZC9tYWluLmMK CmRpZmYgLS1naXQgYS9nZGIvTWFrZWZpbGUuaW4gYi9nZGIvTWFrZWZpbGUu aW4KaW5kZXggZjk2MDZiOGZjNy4uYjYzYzA1ODhiMiAxMDA2NDQKLS0tIGEv Z2RiL01ha2VmaWxlLmluCisrKyBiL2dkYi9NYWtlZmlsZS5pbgpAQCAtNTky LDcgKzU5Miw4IEBAIElOVEVSTkFMX0NGTEFHU19CQVNFID0gXAogCSQoR0RC X0NGTEFHUykgJChPUENPREVTX0NGTEFHUykgJChSRUFETElORV9DRkxBR1Mp ICQoWkxJQklOQykgXAogCSQoQkZEX0NGTEFHUykgJChJTkNMVURFX0NGTEFH UykgJChMSUJERUNOVU1CRVJfQ0ZMQUdTKSBcCiAJJChJTlRMX0NGTEFHUykg JChJTkNHTlUpICQoSU5DU1VQUE9SVCkgJChFTkFCTEVfQ0ZMQUdTKSBcCi0J JChJTlRFUk5BTF9DUFBGTEFHUykgJChTUkNISUdIX0NGTEFHUykgJChUT1Bf Q0ZMQUdTKSAkKFBUSFJFQURfQ0ZMQUdTKQorCSQoSU5URVJOQUxfQ1BQRkxB R1MpICQoU1JDSElHSF9DRkxBR1MpICQoVE9QX0NGTEFHUykgJChQVEhSRUFE X0NGTEFHUykgXAorCUBERUJVR0lORk9EX0NGTEFHU0AKIElOVEVSTkFMX1dB Uk5fQ0ZMQUdTID0gJChJTlRFUk5BTF9DRkxBR1NfQkFTRSkgJChHREJfV0FS Tl9DRkxBR1MpCiBJTlRFUk5BTF9DRkxBR1MgPSAkKElOVEVSTkFMX1dBUk5f Q0ZMQUdTKSAkKEdEQl9XRVJST1JfQ0ZMQUdTKQogCkBAIC02MTcsNyArNjE4 LDggQEAgQ0xJQlMgPSAkKFNJTSkgJChSRUFETElORSkgJChPUENPREVTKSAk KEJGRCkgJChMSUJDVEYpICQoWkxJQikgXAogCUBMSUJTQCBAR1VJTEVfTElC U0AgQFBZVEhPTl9MSUJTQCBcCiAJJChMSUJFWFBBVCkgJChMSUJMWk1BKSAk KExJQkJBQkVMVFJBQ0UpICQoTElCSVBUKSBcCiAJJChXSU4zMkxJQlMpICQo TElCR05VKSAkKExJQklDT05WKSBcCi0JJChMSUJNUEZSKSAkKFNSQ0hJR0hf TElCUykgJChMSUJYWEhBU0gpICQoUFRIUkVBRF9MSUJTKQorCSQoTElCTVBG UikgJChTUkNISUdIX0xJQlMpICQoTElCWFhIQVNIKSAkKFBUSFJFQURfTElC UykgXAorCUBERUJVR0lORk9EX0xJQlNACiBDREVQUyA9ICQoTkFUX0NERVBT KSAkKFNJTSkgJChCRkQpICQoUkVBRExJTkVfREVQUykgJChMSUJDVEYpIFwK IAkkKE9QQ09ERVMpICQoSU5UTF9ERVBTKSAkKExJQklCRVJUWSkgJChDT05G SUdfREVQUykgJChMSUJHTlUpIFwKIAkkKExJQlNVUFBPUlQpCkBAIC05OTEs NiArOTkzLDcgQEAgQ09NTU9OX1NGSUxFUyA9IFwKIAlkYnhyZWFkLmMgXAog CWRjYWNoZS5jIFwKIAlkZWJ1Zy5jIFwKKwlkZWJ1Z2luZm9kLXN1cHBvcnQu YyBcCiAJZGljdGlvbmFyeS5jIFwKIAlkaXNhc20uYyBcCiAJZGlzYXNtLXNl bGZ0ZXN0cy5jIFwKZGlmZiAtLWdpdCBhL2dkYi9ORVdTIGIvZ2RiL05FV1MK aW5kZXggZTMzZDgzOGRkMS4uZDNhMzYwNWE1OCAxMDA2NDQKLS0tIGEvZ2Ri L05FV1MKKysrIGIvZ2RiL05FV1MKQEAgLTMsNiArMywyMCBAQAogCiAqKiog Q2hhbmdlcyBzaW5jZSBHREIgOQogCisqIEdEQiBub3cgc3VwcG9ydHMgZGVi dWdpbmZvZCwgYW4gSFRUUCBzZXJ2ZXIgZm9yIGRpc3RyaWJ1dGluZyBFTEYv RFdBUkYKKyAgZGVidWdnaW5nIGluZm9ybWF0aW9uIGFzIHdlbGwgYXMgc291 cmNlIGNvZGUuCisKKyAgV2hlbiBidWlsdCB3aXRoIGRlYnVnaW5mb2QsIEdE QiBjYW4gYXV0b21hdGljYWxseSBxdWVyeSBkZWJ1Z2luZm9kCisgIHNlcnZl cnMgZm9yIHRoZSBzZXBhcmF0ZSBkZWJ1ZyBmaWxlcyBhbmQgc291cmNlIGNv ZGUgb2YgdGhlIGV4ZWN1dGFibGUKKyAgYmVpbmcgZGVidWdnZWQuCisKKyAg VG8gYnVpbGQgR0RCIHdpdGggZGVidWdpbmZvZCwgcGFzcyAtLXdpdGgtZGVi dWdpbmZvZCB0byBjb25maWd1cmUgKHRoaXMKKyAgcmVxdWlyZXMgbGliZGVi dWdpbmZvZCwgdGhlIGRlYnVnaW5mb2QgY2xpZW50IGxpYnJhcnkpLgorCisg IGRlYnVnaW5mb2QgaXMgZGlzdHJpYnV0ZWQgd2l0aCBlbGZ1dGlscywgc3Rh cnRpbmcgd2l0aCB2ZXJzaW9uIDAuMTc4LgorCisgIFlvdSBjYW4gZ2V0IHRo ZSBsYXRlc3QgdmVyc2lvbiBmcm9tIGh0dHBzOi8vc291cmNld2FyZS5vcmcv ZWxmdXRpbHMuCisKICogTmV3IGZlYXR1cmVzIGluIHRoZSBHREIgcmVtb3Rl IHN0dWIsIEdEQnNlcnZlcgogCiAgICoqIEdEQnNlcnZlciBpcyBub3cgc3Vw cG9ydGVkIG9uIFJJU0MtViBHTlUvTGludXguCmRpZmYgLS1naXQgYS9nZGIv UkVBRE1FIGIvZ2RiL1JFQURNRQppbmRleCAzODk1NzU4ZWNlLi4wZWMxNjA1 Y2U1IDEwMDY0NAotLS0gYS9nZGIvUkVBRE1FCisrKyBiL2dkYi9SRUFETUUK QEAgLTQzMiw2ICs0MzIsMTUgQEAgbW9yZSBvYnNjdXJlIEdEQiBgY29uZmln dXJlJyBvcHRpb25zIGFyZSBub3QgbGlzdGVkIGhlcmUuCiAgICAgIFVzZSB0 aGUgY3Vyc2VzIGxpYnJhcnkgaW5zdGVhZCBvZiB0aGUgdGVybWNhcCBsaWJy YXJ5LCBmb3IKICAgICAgdGV4dC1tb2RlIHRlcm1pbmFsIG9wZXJhdGlvbnMu CiAKK2AtLXdpdGgtZGVidWdpbmZvZCcKKyAgICAgQnVpbGQgR0RCIHdpdGgg bGliZGVidWdpbmZvZCwgdGhlIGRlYnVnaW5mb2QgY2xpZW50IGxpYnJhcnku ICBVc2VkCisgICAgIHRvIGF1dG9tYXRpY2FsbHkgZmV0Y2ggc291cmNlIGZp bGVzIGFuZCBzZXBhcmF0ZSBkZWJ1ZyBmaWxlcyBmcm9tCisgICAgIGRlYnVn aW5mb2Qgc2VydmVycyB1c2luZyB0aGUgYXNzb2NpYXRlZCBleGVjdXRhYmxl J3MgYnVpbGQgSUQuCisgICAgIEVuYWJsZWQgYnkgZGVmYXVsdCBpZiBsaWJk ZWJ1Z2luZm9kIGlzIGluc3RhbGxlZCBhbmQgZm91bmQgYXQKKyAgICAgY29u ZmlndXJlIHRpbWUuICBkZWJ1Z2luZm9kIGlzIHBhY2thZ2VkIHdpdGggZWxm dXRpbHMsIHN0YXJ0aW5nCisgICAgIHdpdGggdmVyc2lvbiAwLjE3OC4gIFlv dSBjYW4gZ2V0IHRoZSBsYXRlc3QgdmVyc2lvbiBmcm9tCisgICAgICdodHRw czovL3NvdXJjZXdhcmUub3JnL2VsZnV0aWxzLycuCisKIGAtLXdpdGgtbGli dW53aW5kLWlhNjQnCiAgICAgIFVzZSB0aGUgbGlidW53aW5kIGxpYnJhcnkg Zm9yIHVud2luZGluZyBmdW5jdGlvbiBjYWxsIHN0YWNrIG9uIGlhNjQKICAg ICAgdGFyZ2V0IHBsYXRmb3Jtcy4KZGlmZiAtLWdpdCBhL2dkYi9jb25maWcu aW4gYi9nZGIvY29uZmlnLmluCmluZGV4IDljNWMxY2U4MzQuLjdhMzRiODVl NTcgMTAwNjQ0Ci0tLSBhL2dkYi9jb25maWcuaW4KKysrIGIvZ2RiL2NvbmZp Zy5pbgpAQCAtMjI3LDYgKzIyNyw5IEBACiAvKiBEZWZpbmUgaWYgeW91IGhh dmUgdGhlIGJhYmVsdHJhY2UgbGlicmFyeS4gKi8KICN1bmRlZiBIQVZFX0xJ QkJBQkVMVFJBQ0UKIAorLyogRGVmaW5lIHRvIDEgaWYgZGVidWdpbmZvZCBp cyBlbmFibGVkLiAqLworI3VuZGVmIEhBVkVfTElCREVCVUdJTkZPRAorCiAv KiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIGV4cGF0IGxpYnJhcnkuICovCiAj dW5kZWYgSEFWRV9MSUJFWFBBVAogCmRpZmYgLS1naXQgYS9nZGIvY29uZmln dXJlIGIvZ2RiL2NvbmZpZ3VyZQppbmRleCBlNmI1YTUxMGY2Li5jNTBhY2Jm NGNmIDEwMDc1NQotLS0gYS9nZGIvY29uZmlndXJlCisrKyBiL2dkYi9jb25m aWd1cmUKQEAgLTcxOSw3ICs3MTksNiBAQCBHVUlMRV9MSUJTCiBHVUlMRV9D UFBGTEFHUwogR1VJTERfVEFSR0VUX0ZMQUcKIEdVSUxECi1wa2dfY29uZmln X3Byb2dfcGF0aAogSEFWRV9QWVRIT05fRkFMU0UKIEhBVkVfUFlUSE9OX1RS VUUKIFBZVEhPTl9MSUJTCkBAIC03NTgsNiArNzU3LDkgQEAgUkVQT1JUX0JV R1NfVEVYSQogUkVQT1JUX0JVR1NfVE8KIFBLR1ZFUlNJT04KIENPREVTSUdO X0NFUlQKK0RFQlVHSU5GT0RfQ0ZMQUdTCitERUJVR0lORk9EX0xJQlMKK3Br Z19jb25maWdfcHJvZ19wYXRoCiBIQVZFX05BVElWRV9HQ09SRV9UQVJHRVQK IFRBUkdFVF9PQlMKIHN1YmRpcnMKQEAgLTg2OSw2ICs4NzEsNyBAQCBlbmFi bGVfNjRfYml0X2JmZAogZW5hYmxlX2dkYm1pCiBlbmFibGVfdHVpCiBlbmFi bGVfZ2RidGsKK3dpdGhfZGVidWdpbmZvZAogd2l0aF9saWJ1bndpbmRfaWE2 NAogd2l0aF9jdXJzZXMKIGVuYWJsZV9wcm9maWxpbmcKQEAgLTE2MDIsNiAr MTYwNSw4IEBAIE9wdGlvbmFsIFBhY2thZ2VzOgogICAgICAgICAgICAgICAg ICAgICAgICAgICBbLS13aXRoLWF1dG8tbG9hZC1kaXJdCiAgIC0td2l0aG91 dC1hdXRvLWxvYWQtc2FmZS1wYXRoCiAgICAgICAgICAgICAgICAgICAgICAg ICAgIGRvIG5vdCByZXN0cmljdCBhdXRvLWxvYWRlZCBmaWxlcyBsb2NhdGlv bnMKKyAgLS13aXRoLWRlYnVnaW5mb2QgICAgICAgRW5hYmxlIGRlYnVnaW5m byBsb29rdXBzIHdpdGggZGVidWdpbmZvZAorICAgICAgICAgICAgICAgICAg ICAgICAgICAoYXV0by95ZXMvbm8pCiAgIC0td2l0aC1saWJ1bndpbmQtaWE2 NCAgIHVzZSBsaWJ1bndpbmQgZnJhbWUgdW53aW5kaW5nIGZvciBpYTY0IHRh cmdldHMKICAgLS13aXRoLWN1cnNlcyAgICAgICAgICAgdXNlIHRoZSBjdXJz ZXMgbGlicmFyeSBpbnN0ZWFkIG9mIHRoZSB0ZXJtY2FwCiAgICAgICAgICAg ICAgICAgICAgICAgICAgIGxpYnJhcnkKQEAgLTY4MzYsOCArNjg0MSw5NCBA QCAkYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiBnZGJ0ayBpc24ndCBzdXBw b3J0ZWQgb24gJGhvc3Q7IGRpc2FibGluZyIgPiYyO30KICAgICBlbmFibGVf Z2RidGs9bm8gOzsKIGVzYWMKIAotIyBMaWJ1bndpbmQgc3VwcG9ydCBmb3Ig aWE2NC4KKyMgSGFuZGxlIG9wdGlvbmFsIGRlYnVnaW5mb2Qgc3VwcG9ydAor CisjIENoZWNrIHdoZXRoZXIgLS13aXRoLWRlYnVnaW5mb2Qgd2FzIGdpdmVu LgoraWYgdGVzdCAiJHt3aXRoX2RlYnVnaW5mb2Qrc2V0fSIgPSBzZXQ7IHRo ZW4gOgorICB3aXRodmFsPSR3aXRoX2RlYnVnaW5mb2Q7CitlbHNlCisgIHdp dGhfZGVidWdpbmZvZD1hdXRvCitmaQogCit7ICRhc19lY2hvICIkYXNfbWU6 JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIHdoZXRoZXIgdG8gdXNl IGRlYnVnaW5mb2QiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhl ciB0byB1c2UgZGVidWdpbmZvZC4uLiAiID4mNjsgfQoreyAkYXNfZWNobyAi JGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICR3aXRoX2Rl YnVnaW5mb2QiID4mNQorJGFzX2VjaG8gIiR3aXRoX2RlYnVnaW5mb2QiID4m NjsgfQorCitpZiB0ZXN0ICJ4JHdpdGhfZGVidWdpbmZvZCIgIT0geG5vOyB0 aGVuCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAicGtnLWNvbmZp ZyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitz ZXQgZHVtbXkgcGtnLWNvbmZpZzsgYWNfd29yZD0kMgoreyAkYXNfZWNobyAi JGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFj X3dvcmQiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3Jk Li4uICIgPiY2OyB9CitpZiAke2FjX2N2X3BhdGhfcGtnX2NvbmZpZ19wcm9n X3BhdGgrOn0gZmFsc2U7IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVk KSAiID4mNgorZWxzZQorICBjYXNlICRwa2dfY29uZmlnX3Byb2dfcGF0aCBp bgorICBbXFwvXSogfCA/OltcXC9dKikKKyAgYWNfY3ZfcGF0aF9wa2dfY29u ZmlnX3Byb2dfcGF0aD0iJHBrZ19jb25maWdfcHJvZ19wYXRoIiAjIExldCB0 aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdCB3aXRoIGEgcGF0aC4KKyAgOzsK KyAgKikKKyAgYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRP UgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lG UworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICAgIGZvciBh Y19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBk bworICBpZiBhc19mbl9leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQk YWNfZXhlY19leHQiOyB0aGVuCisgICAgYWNfY3ZfcGF0aF9wa2dfY29uZmln X3Byb2dfcGF0aD0iJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIKKyAg ICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3Vu ZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVh ayAyCisgIGZpCitkb25lCisgIGRvbmUKK0lGUz0kYXNfc2F2ZV9JRlMKKwor ICB0ZXN0IC16ICIkYWNfY3ZfcGF0aF9wa2dfY29uZmlnX3Byb2dfcGF0aCIg JiYgYWNfY3ZfcGF0aF9wa2dfY29uZmlnX3Byb2dfcGF0aD0ibWlzc2luZyIK KyAgOzsKK2VzYWMKK2ZpCitwa2dfY29uZmlnX3Byb2dfcGF0aD0kYWNfY3Zf cGF0aF9wa2dfY29uZmlnX3Byb2dfcGF0aAoraWYgdGVzdCAtbiAiJHBrZ19j b25maWdfcHJvZ19wYXRoIjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6 JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJHBrZ19jb25maWdfcHJv Z19wYXRoIiA+JjUKKyRhc19lY2hvICIkcGtnX2NvbmZpZ19wcm9nX3BhdGgi ID4mNjsgfQorZWxzZQorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5l bm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQorJGFzX2VjaG8gIm5vIiA+ JjY7IH0KK2ZpCisKKworICBpZiB0ZXN0ICIke3BrZ19jb25maWdfcHJvZ19w YXRofSIgIT0gIm1pc3NpbmciOyB0aGVuCisgICAgJHtwa2dfY29uZmlnX3By b2dfcGF0aH0gLS1leGlzdHMgLS1hdGxlYXN0LXZlcnNpb249MC4xNzggbGli ZGVidWdpbmZvZAorICAgIGlmIHRlc3QgJD8gPSAwOyB0aGVuCisgICAgICBE RUJVR0lORk9EX0xJQlM9YCR7cGtnX2NvbmZpZ19wcm9nX3BhdGh9IC0tbGli cyBsaWJkZWJ1Z2luZm9kYAorCisgICAgICBERUJVR0lORk9EX0NGTEFHUz1g JHtwa2dfY29uZmlnX3Byb2dfcGF0aH0gLS1jZmxhZ3MgbGliZGVidWdpbmZv ZGAKKworCiskYXNfZWNobyAiI2RlZmluZSBIQVZFX0xJQkRFQlVHSU5GT0Qg MSIgPj5jb25mZGVmcy5oCisKKyAgICBlbHNlCisgICAgICBpZiB0ZXN0ICJ4 JHdpdGhfZGVidWdpbmZvZCIgPSB4eWVzOyB0aGVuCisJYXNfZm5fZXJyb3Ig JD8gIlwiLS13aXRoLWRlYnVnaW5mb2Qgd2FzIGdpdmVuLCBidXQgbGliZGVi dWdpbmZvZCBpcyBtaXNzaW5nIG9yIHVudXNhYmxlLlwiIiAiJExJTkVOTyIg NQorICAgICAgZWxzZQorCXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu by0kTElORU5PfTogV0FSTklORzogbGliZGVidWdpbmZvZCBpcyBtaXNzaW5n IG9yIHVudXNhYmxlOyBzb21lIGZlYXR1cmVzIG1heSBiZSB1bmF2YWlsYWJs ZS4iID4mNQorJGFzX2VjaG8gIiRhc19tZTogV0FSTklORzogbGliZGVidWdp bmZvZCBpcyBtaXNzaW5nIG9yIHVudXNhYmxlOyBzb21lIGZlYXR1cmVzIG1h eSBiZSB1bmF2YWlsYWJsZS4iID4mMjt9CisgICAgICBmaQorICAgIGZpCisg IGVsc2UKKyAgICBpZiB0ZXN0ICJ4JHdpdGhfZGVidWdpbmZvZCIgPSB4eWVz OyB0aGVuCisgICAgICBhc19mbl9lcnJvciAkPyAiLS13aXRoLWRlYnVnaW5m b2Qgd2FzIGdpdmVuLCBidXQgcGtnLWNvbmZpZyBtaXNzaW5nIG9yIHVudXNh YmxlOyBjYW5ub3QgZmluZCBsaWJkZWJ1Z2luZm9kIiAiJExJTkVOTyIgNQor ICAgIGVsc2UKKyAgICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu by0kTElORU5PfTogV0FSTklORzogcGtnLWNvbmZpZyBtaXNzaW5nIG9yIHVu dXNhYmxlOyBkZWJ1Z2luZm9kIHN1cHBvcnQgZGlzYWJsZWQuIiA+JjUKKyRh c19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IHBrZy1jb25maWcgbWlzc2luZyBv ciB1bnVzYWJsZTsgZGVidWdpbmZvZCBzdXBwb3J0IGRpc2FibGVkLiIgPiYy O30KKyAgICBmaQorICBmaQorZWxzZQorICB7ICRhc19lY2hvICIkYXNfbWU6 JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IGRlYnVnaW5mb2Qgc3Vw cG9ydCBkaXNhYmxlZDsgc29tZSBmZWF0dXJlcyBtYXkgYmUgdW5hdmFpbGFi bGUuIiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IGRlYnVnaW5m b2Qgc3VwcG9ydCBkaXNhYmxlZDsgc29tZSBmZWF0dXJlcyBtYXkgYmUgdW5h dmFpbGFibGUuIiA+JjI7fQorZmkKKworIyBMaWJ1bndpbmQgc3VwcG9ydCBm b3IgaWE2NC4KIAogIyBDaGVjayB3aGV0aGVyIC0td2l0aC1saWJ1bndpbmQt aWE2NCB3YXMgZ2l2ZW4uCiBpZiB0ZXN0ICIke3dpdGhfbGlidW53aW5kX2lh NjQrc2V0fSIgPSBzZXQ7IHRoZW4gOgpkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZp Z3VyZS5hYyBiL2dkYi9jb25maWd1cmUuYWMKaW5kZXggYTUxYzVlZGE2Yi4u OTgwYmMzMDQ3YSAxMDA2NDQKLS0tIGEvZ2RiL2NvbmZpZ3VyZS5hYworKysg Yi9nZGIvY29uZmlndXJlLmFjCkBAIC0zMjIsOCArMzIyLDQwIEBAIGNhc2Ug JGhvc3Rfb3MgaW4KICAgICBlbmFibGVfZ2RidGs9bm8gOzsKIGVzYWMKIAot IyBMaWJ1bndpbmQgc3VwcG9ydCBmb3IgaWE2NC4KKyMgSGFuZGxlIG9wdGlv bmFsIGRlYnVnaW5mb2Qgc3VwcG9ydAorQUNfQVJHX1dJVEgoW2RlYnVnaW5m b2RdLAorICBBQ19IRUxQX1NUUklORyhbLS13aXRoLWRlYnVnaW5mb2RdLCBb RW5hYmxlIGRlYnVnaW5mbyBsb29rdXBzIHdpdGggZGVidWdpbmZvZCAoYXV0 by95ZXMvbm8pXSksCisgIFtdLCBbd2l0aF9kZWJ1Z2luZm9kPWF1dG9dKQor QUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIHRvIHVzZSBkZWJ1Z2luZm9kXSkK K0FDX01TR19SRVNVTFQoWyR3aXRoX2RlYnVnaW5mb2RdKQorCitpZiB0ZXN0 ICJ4JHdpdGhfZGVidWdpbmZvZCIgIT0geG5vOyB0aGVuCisgIEFDX1BBVEhf UFJPRyhwa2dfY29uZmlnX3Byb2dfcGF0aCwgcGtnLWNvbmZpZywgbWlzc2lu ZykKKyAgaWYgdGVzdCAiJHtwa2dfY29uZmlnX3Byb2dfcGF0aH0iICE9ICJt aXNzaW5nIjsgdGhlbgorICAgICR7cGtnX2NvbmZpZ19wcm9nX3BhdGh9IC0t ZXhpc3RzIC0tYXRsZWFzdC12ZXJzaW9uPTAuMTc4IGxpYmRlYnVnaW5mb2QK KyAgICBpZiB0ZXN0ICQ/ID0gMDsgdGhlbgorICAgICAgQUNfU1VCU1QoW0RF QlVHSU5GT0RfTElCU10sIFtgJHtwa2dfY29uZmlnX3Byb2dfcGF0aH0gLS1s aWJzIGxpYmRlYnVnaW5mb2RgXSkKKyAgICAgIEFDX1NVQlNUKFtERUJVR0lO Rk9EX0NGTEFHU10sIFtgJHtwa2dfY29uZmlnX3Byb2dfcGF0aH0gLS1jZmxh Z3MgbGliZGVidWdpbmZvZGBdKQorICAgICAgQUNfREVGSU5FKFtIQVZFX0xJ QkRFQlVHSU5GT0RdLCBbMV0sIFtEZWZpbmUgdG8gMSBpZiBkZWJ1Z2luZm9k IGlzIGVuYWJsZWQuXSkKKyAgICBlbHNlCisgICAgICBpZiB0ZXN0ICJ4JHdp dGhfZGVidWdpbmZvZCIgPSB4eWVzOyB0aGVuCisJQUNfTVNHX0VSUk9SKFsi LS13aXRoLWRlYnVnaW5mb2Qgd2FzIGdpdmVuLCBidXQgbGliZGVidWdpbmZv ZCBpcyBtaXNzaW5nIG9yIHVudXNhYmxlLiJdKQorICAgICAgZWxzZQorCUFD X01TR19XQVJOKFtsaWJkZWJ1Z2luZm9kIGlzIG1pc3Npbmcgb3IgdW51c2Fi bGU7IHNvbWUgZmVhdHVyZXMgbWF5IGJlIHVuYXZhaWxhYmxlLl0pCisgICAg ICBmaQorICAgIGZpCisgIGVsc2UKKyAgICBpZiB0ZXN0ICJ4JHdpdGhfZGVi dWdpbmZvZCIgPSB4eWVzOyB0aGVuCisgICAgICBBQ19NU0dfRVJST1IoWy0t d2l0aC1kZWJ1Z2luZm9kIHdhcyBnaXZlbiwgYnV0IHBrZy1jb25maWcgbWlz c2luZyBvciB1bnVzYWJsZTsgY2Fubm90IGZpbmQgbGliZGVidWdpbmZvZF0p CisgICAgZWxzZQorICAgICAgQUNfTVNHX1dBUk4oW3BrZy1jb25maWcgbWlz c2luZyBvciB1bnVzYWJsZTsgZGVidWdpbmZvZCBzdXBwb3J0IGRpc2FibGVk Ll0pCisgICAgZmkKKyAgZmkKK2Vsc2UKKyAgQUNfTVNHX1dBUk4oW2RlYnVn aW5mb2Qgc3VwcG9ydCBkaXNhYmxlZDsgc29tZSBmZWF0dXJlcyBtYXkgYmUg dW5hdmFpbGFibGUuXSkKK2ZpCiAKKyMgTGlidW53aW5kIHN1cHBvcnQgZm9y IGlhNjQuCiBBQ19BUkdfV0lUSChsaWJ1bndpbmQtaWE2NCwKIEFTX0hFTFBf U1RSSU5HKFstLXdpdGgtbGlidW53aW5kLWlhNjRdLAogCSAgICAgICBbdXNl IGxpYnVud2luZCBmcmFtZSB1bndpbmRpbmcgZm9yIGlhNjQgdGFyZ2V0c10p LCwKZGlmZiAtLWdpdCBhL2dkYi9kZWJ1Z2luZm9kLXN1cHBvcnQuYyBiL2dk Yi9kZWJ1Z2luZm9kLXN1cHBvcnQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwLi42ZTBlZTQzYzRmCi0tLSAvZGV2L251bGwKKysr IGIvZ2RiL2RlYnVnaW5mb2Qtc3VwcG9ydC5jCkBAIC0wLDAgKzEsMTI5IEBA CisvKiBkZWJ1Z2luZm9kIHV0aWxpdGllcyBmb3IgR0RCLgorICAgQ29weXJp Z2h0IChDKSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgor CisgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHREIuCisKKyAgIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IgbW9kaWZ5CisgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQor ICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNp b24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyAgIChhdCB5b3VyIG9wdGlvbikg YW55IGxhdGVyIHZlcnNpb24uCisKKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor ICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl IGltcGxpZWQgd2FycmFudHkgb2YKKyAgIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAg IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu CisKKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICBhbG9uZyB3aXRoIHRo aXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcv bGljZW5zZXMvPi4gICovCisKKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1 ZGUgImRlZnMuaCIKKyNpbmNsdWRlICJjbGkvY2xpLXN0eWxlLmgiCisjaW5j bHVkZSAiZ2Ric3VwcG9ydC9zY29wZWRfZmQuaCIKKyNpbmNsdWRlICJkZWJ1 Z2luZm9kLXN1cHBvcnQuaCIKKworI2lmbmRlZiBIQVZFX0xJQkRFQlVHSU5G T0QKK3Njb3BlZF9mZAorZGVidWdpbmZvZF9zb3VyY2VfcXVlcnkgKGNvbnN0 IHVuc2lnbmVkIGNoYXIgKmJ1aWxkX2lkIF9fYXR0cmlidXRlX18oKHVudXNl ZCkpLAorCQkJIGludCBidWlsZF9pZF9sZW4gX19hdHRyaWJ1dGVfXygodW51 c2VkKSksCisJCQkgY29uc3QgY2hhciAqc3JjcGF0aCBfX2F0dHJpYnV0ZV9f KCh1bnVzZWQpKSwKKwkJCSBnZGI6OnVuaXF1ZV94bWFsbG9jX3B0cjxjaGFy PiAqZmlsZW5hbWUgX19hdHRyaWJ1dGVfXygodW51c2VkKSkpCit7CisgIHJl dHVybiBzY29wZWRfZmQgKC1FTk9TWVMpOworfQorCitzY29wZWRfZmQKK2Rl YnVnaW5mb2RfZGVidWdpbmZvX3F1ZXJ5IChjb25zdCB1bnNpZ25lZCBjaGFy ICpidWlsZF9pZCBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSwKKwkJCSAgICBp bnQgYnVpbGRfaWRfbGVuIF9fYXR0cmlidXRlX18oKHVudXNlZCkpLAorCQkJ ICAgIGdkYjo6dW5pcXVlX3htYWxsb2NfcHRyPGNoYXI+ICpmaWxlbmFtZSBf X2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKyAgcmV0dXJuIHNjb3BlZF9m ZCAoLUVOT1NZUyk7Cit9CisjZWxzZQorI2luY2x1ZGUgPGVsZnV0aWxzL2Rl YnVnaW5mb2QuaD4KKworc3RhdGljIGludAorcHJvZ3Jlc3NmbiAoZGVidWdp bmZvZF9jbGllbnQgKmMsIGxvbmcgY3VyLCBsb25nIHRvdGFsKQoreworICBp ZiAoY2hlY2tfcXVpdF9mbGFnICgpKQorICAgIHsKKyAgICAgIHByaW50Zl9m aWx0ZXJlZCAoIkNhbmNlbGxpbmcgZG93bmxvYWQuLi5cbiIpOworICAgICAg cmV0dXJuIDE7CisgICAgfQorCisgIHJldHVybiAwOworfQorCitzdGF0aWMg ZGVidWdpbmZvZF9jbGllbnQgKgorZGVidWdpbmZvZF9pbml0ICgpCit7Cisg IGRlYnVnaW5mb2RfY2xpZW50ICpjID0gZGVidWdpbmZvZF9iZWdpbiAoKTsK KworICBpZiAoYyAhPSBudWxscHRyKQorICAgIGRlYnVnaW5mb2Rfc2V0X3By b2dyZXNzZm4gKGMsIHByb2dyZXNzZm4pOworCisgIHJldHVybiBjOworfQor CisvKiBTZWUgZGVidWdpbmZvZC1zdXBwb3J0LmggICovCisKK3Njb3BlZF9m ZAorZGVidWdpbmZvZF9zb3VyY2VfcXVlcnkgKGNvbnN0IHVuc2lnbmVkIGNo YXIgKmJ1aWxkX2lkLAorCQkJIGludCBidWlsZF9pZF9sZW4sCisJCQkgY29u c3QgY2hhciAqc3JjcGF0aCwKKwkJCSBnZGI6OnVuaXF1ZV94bWFsbG9jX3B0 cjxjaGFyPiAqZGVzdG5hbWUpCit7CisgIGRlYnVnaW5mb2RfY2xpZW50ICpj ID0gZGVidWdpbmZvZF9pbml0ICgpOworCisgIGlmIChjID09IG51bGxwdHIp CisgICAgcmV0dXJuIHNjb3BlZF9mZCAoLUVOT01FTSk7CisKKyAgcHJpbnRm X2ZpbHRlcmVkIChfKCJEZWJ1Z2luZm9kIGZldGNoaW5nIHNvdXJjZSBmaWxl ICVwcy4uLlxuIiksCisJCSAgIHN0eWxlZF9zdHJpbmcgKGZpbGVfbmFtZV9z dHlsZS5zdHlsZSAoKSwgc3JjcGF0aCkpOworCisgIHNjb3BlZF9mZCBmZCAo ZGVidWdpbmZvZF9maW5kX3NvdXJjZSAoYywKKwkJCQkJYnVpbGRfaWQsCisJ CQkJCWJ1aWxkX2lkX2xlbiwKKwkJCQkJc3JjcGF0aCwKKwkJCQkJbnVsbHB0 cikpOworCisgIGlmIChmZC5nZXQgKCkgPCAwKQorICAgIHsKKyAgICAgIHBy aW50Zl9maWx0ZXJlZCAoXygiRG93bmxvYWQgZmFpbGVkLiBDb250aW51aW5n IHdpdGhvdXQgc291cmNlIGZpbGUgJXBzLlxuIiksCisJCSAgICAgICBzdHls ZWRfc3RyaW5nIChmaWxlX25hbWVfc3R5bGUuc3R5bGUgKCksIHNyY3BhdGgp KTsKKyAgICB9CisgIGVsc2UKKyAgICBkZXN0bmFtZS0+cmVzZXQgKHhzdHJk dXAgKHNyY3BhdGgpKTsKKworICBkZWJ1Z2luZm9kX2VuZCAoYyk7CisgIHJl dHVybiBmZDsKK30KKworLyogU2VlIGRlYnVnaW5mb2Qtc3VwcG9ydC5oICAq LworCitzY29wZWRfZmQKK2RlYnVnaW5mb2RfZGVidWdpbmZvX3F1ZXJ5IChj b25zdCB1bnNpZ25lZCBjaGFyICpidWlsZF9pZCwKKwkJCSAgICBpbnQgYnVp bGRfaWRfbGVuLAorCQkJICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLAorCQkJ ICAgIGdkYjo6dW5pcXVlX3htYWxsb2NfcHRyPGNoYXI+ICpkZXN0bmFtZSkK K3sKKyAgZGVidWdpbmZvZF9jbGllbnQgKmMgPSBkZWJ1Z2luZm9kX2luaXQg KCk7CisKKyAgaWYgKGMgPT0gbnVsbHB0cikKKyAgICByZXR1cm4gc2NvcGVk X2ZkICgtRU5PTUVNKTsKKworICBwcmludGZfZmlsdGVyZWQgKF8oIkRlYnVn aW5mb2QgZmV0Y2hpbmcgZGVidWcgaW5mbyBmb3IgJXBzLi4uXG4iKSwKKwkJ ICAgc3R5bGVkX3N0cmluZyAoZmlsZV9uYW1lX3N0eWxlLnN0eWxlICgpLCBm aWxlbmFtZSkpOworCisgIGNoYXIgKmRuYW1lID0gbnVsbHB0cjsKKyAgc2Nv cGVkX2ZkIGZkIChkZWJ1Z2luZm9kX2ZpbmRfZGVidWdpbmZvIChjLCBidWls ZF9pZCwgYnVpbGRfaWRfbGVuLCAmZG5hbWUpKTsKKworICBpZiAoZmQuZ2V0 ICgpIDwgMCkKKyAgICBwcmludGZfZmlsdGVyZWQgKF8oIkRvd25sb2FkIGZh aWxlZC4gQ29udGludWluZyB3aXRob3V0IGRlYnVnIGluZm8gZm9yICVwcy5c biIpLAorCQkgICAgIHN0eWxlZF9zdHJpbmcgKGZpbGVfbmFtZV9zdHlsZS5z dHlsZSAoKSwgIGZpbGVuYW1lKSk7CisKKyAgZGVzdG5hbWUtPnJlc2V0IChk bmFtZSk7CisgIGRlYnVnaW5mb2RfZW5kIChjKTsKKyAgcmV0dXJuIGZkOwor fQorI2VuZGlmCmRpZmYgLS1naXQgYS9nZGIvZGVidWdpbmZvZC1zdXBwb3J0 LmggYi9nZGIvZGVidWdpbmZvZC1zdXBwb3J0LmgKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uOTRkNGViYTk5YgotLS0gL2Rldi9u dWxsCisrKyBiL2dkYi9kZWJ1Z2luZm9kLXN1cHBvcnQuaApAQCAtMCwwICsx LDU5IEBACisvKiBkZWJ1Z2luZm9kIHV0aWxpdGllcyBmb3IgR0RCLgorICAg Q29weXJpZ2h0IChDKSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgorCisgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHREIuCisKKyAgIFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgICBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl ZCBieQorICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy IHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyAgIChhdCB5b3VyIG9w dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgIFRoaXMgcHJvZ3JhbSBp cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAorICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0 aGUKKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuCisKKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICBhbG9uZyB3 aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3Lmdu dS5vcmcvbGljZW5zZXMvPi4gICovCisKKyNpZm5kZWYgREVCVUdJTkZPRF9T VVBQT1JUX0gKKyNkZWZpbmUgREVCVUdJTkZPRF9TVVBQT1JUX0gKKworLyog UXVlcnkgZGVidWdpbmZvZCBzZXJ2ZXJzIGZvciBhIHNvdXJjZSBmaWxlIGFz c29jaWF0ZWQgd2l0aCBhbgorICAgZXhlY3V0YWJsZSB3aXRoIEJVSUxEX0lE LiBCVUlMRF9JRCBjYW4gYmUgZ2l2ZW4gYXMgYSBiaW5hcnkgYmxvYiBvcgor ICAgYSBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nLiBJZiBnaXZlbiBhcyBhIGJp bmFyeSBibG9iLCBCVUlMRF9JRF9MRU4KKyAgIHNob3VsZCBiZSB0aGUgbnVt YmVyIG9mIGJ5dGVzLiBJZiBnaXZlbiBhcyBhIG51bGwtdGVybWluYXRlZCBz dHJpbmcsCisgICBCVUlMRF9JRF9MRU4gc2hvdWxkIGJlIDAuCisKKyAgIFNS Q19QQVRIIHNob3VsZCBiZSB0aGUgc291cmNlIGZpbGUncyBhYnNvbHV0ZSBw YXRoIHRoYXQgaW5jbHVkZXMgdGhlCisgICBjb21waWxhdGlvbiBkaXJlY3Rv cnkgb2YgdGhlIENVIGFzc29jaWF0ZWQgd2l0aCB0aGUgc291cmNlIGZpbGUu CisgICBGb3IgZXhhbXBsZSBpZiBhIENVJ3MgY29tcGlsYXRpb24gZGlyZWN0 b3J5IGlzIGAvbXkvYnVpbGRgIGFuZCB0aGUKKyAgIHNvdXJjZSBmaWxlIHBh dGggaXMgYC9teS9zb3VyY2UvZm9vLmNgLCB0aGVuIFNSQ19QQVRIIHNob3Vs ZCBiZQorICAgYC9teS9idWlsZC8uLi9zb3VyY2UvZm9vLmNgLgorCisgICBJ ZiB0aGUgZmlsZSBpcyBzdWNjZXNzZnVsbHkgcmV0cmlldmVkLCBpdHMgcGF0 aCBvbiB0aGUgbG9jYWwgbWFjaGluZQorICAgaXMgc3RvcmVkIGluIEZJTEVO QU1FLiBJZiBHREIgaXMgbm90IGJ1aWx0IHdpdGggZGVidWdpbmZvZCwgdGhp cworICAgZnVuY3Rpb24gcmV0dXJucyAtRU5PU1lTLiAgKi8KKworZXh0ZXJu IHNjb3BlZF9mZAorZGVidWdpbmZvZF9zb3VyY2VfcXVlcnkgKGNvbnN0IHVu c2lnbmVkIGNoYXIgKmJ1aWxkX2lkLAorCQkJIGludCBidWlsZF9pZF9sZW4s CisJCQkgY29uc3QgY2hhciAqc3JjX3BhdGgsCisJCQkgZ2RiOjp1bmlxdWVf eG1hbGxvY19wdHI8Y2hhcj4gKmRlc3RuYW1lKTsKKworLyogUXVlcnkgZGVi dWdpbmZvZCBzZXJ2ZXJzIGZvciBhIGRlYnVnaW5mbyBmaWxlIHdpdGggQlVJ TERfSUQuCisgICBCVUlMRF9JRCBjYW4gYmUgZ2l2ZW4gYXMgYSBiaW5hcnkg YmxvYiBvciBhIG51bGwtdGVybWluYXRlZCBzdHJpbmcuCisgICBJZiBnaXZl biBhcyBhIGJpbmFyeSBibG9iLCBCVUlMRF9JRF9MRU4gc2hvdWxkIGJlIHRo ZSBudW1iZXIgb2YgYnl0ZXMuCisgICBJZiBnaXZlbiBhcyBhIG51bGwtdGVy bWluYXRlZCBzdHJpbmcsIEJVSUxEX0lEX0xFTiBzaG91bGQgYmUgMC4KKwor ICAgSWYgdGhlIGZpbGUgaXMgc3VjY2Vzc2Z1bGx5IHJldHJpZXZlZCwgaXRz IHBhdGggb24gdGhlIGxvY2FsIG1hY2hpbmUKKyAgIGlzIHN0b3JlZCBpbiBG SUxFTkFNRS4gSWYgR0RCIGlzIG5vdCBidWlsdCB3aXRoIGRlYnVnaW5mb2Qs IHRoaXMKKyAgIGZ1bmN0aW9uIHJldHVybnMgLUVOT1NZUy4gICovCisKK2V4 dGVybiBzY29wZWRfZmQKK2RlYnVnaW5mb2RfZGVidWdpbmZvX3F1ZXJ5IChj b25zdCB1bnNpZ25lZCBjaGFyICpidWlsZF9pZCwKKwkJCSAgICBpbnQgYnVp bGRfaWRfbGVuLAorCQkJICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLAorCQkJ ICAgIGdkYjo6dW5pcXVlX3htYWxsb2NfcHRyPGNoYXI+ICpkZXN0bmFtZSk7 CisKKyNlbmRpZiAvKiBERUJVR0lORk9EX1NVUFBPUlRfSCAqLwpkaWZmIC0t Z2l0IGEvZ2RiL2RvYy9nZGIudGV4aW5mbyBiL2dkYi9kb2MvZ2RiLnRleGlu Zm8KaW5kZXggMDY0NWZiMDU5NC4uMzA3ODNiMGU4YyAxMDA2NDQKLS0tIGEv Z2RiL2RvYy9nZGIudGV4aW5mbworKysgYi9nZGIvZG9jL2dkYi50ZXhpbmZv CkBAIC0zNzg0OCw2ICszNzg0OCwxNCBAQCBzdXBwb3J0ZWQpLgogVXNlIHRo ZSBjdXJzZXMgbGlicmFyeSBpbnN0ZWFkIG9mIHRoZSB0ZXJtY2FwIGxpYnJh cnksIGZvciB0ZXh0LW1vZGUKIHRlcm1pbmFsIG9wZXJhdGlvbnMuCiAKK0Bp dGVtIC0td2l0aC1kZWJ1Z2luZm9kCitCdWlsZCBAdmFsdWV7R0RCTn0gd2l0 aCBsaWJkZWJ1Z2luZm9kLCB0aGUgZGVidWdpbmZvZCBjbGllbnQgbGlicmFy eS4KK1VzZWQgdG8gYXV0b21hdGljYWxseSBmZXRjaCBzb3VyY2UgZmlsZXMg YW5kIHNlcGFyYXRlIGRlYnVnIGZpbGVzIGZyb20KK2RlYnVnaW5mb2Qgc2Vy dmVycyB1c2luZyB0aGUgYXNzb2NpYXRlZCBleGVjdXRhYmxlJ3MgYnVpbGQg SUQuIEVuYWJsZWQKK2J5IGRlZmF1bHQgaWYgbGliZGVidWdpbmZvZCBpcyBp bnN0YWxsZWQgYW5kIGZvdW5kIGF0IGNvbmZpZ3VyZSB0aW1lLgorZGVidWdp bmZvZCBpcyBwYWNrYWdlZCB3aXRoIGVsZnV0aWxzLCBzdGFydGluZyB3aXRo IHZlcnNpb24gMC4xNzguIFlvdQorY2FuIGdldCB0aGUgbGF0ZXN0IHZlcnNp b24gZnJvbSBgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9lbGZ1dGlscy8nLgor CiBAaXRlbSAtLXdpdGgtbGlidW53aW5kLWlhNjQKIFVzZSB0aGUgbGlidW53 aW5kIGxpYnJhcnkgZm9yIHVud2luZGluZyBmdW5jdGlvbiBjYWxsIHN0YWNr IG9uIGlhNjQKIHRhcmdldCBwbGF0Zm9ybXMuICBTZWUgaHR0cDovL3d3dy5u b25nbnUub3JnL2xpYnVud2luZC9pbmRleC5odG1sIGZvcgpkaWZmIC0tZ2l0 IGEvZ2RiL2R3YXJmMi9yZWFkLmMgYi9nZGIvZHdhcmYyL3JlYWQuYwppbmRl eCA0NmQ1MTBlYjI3Li4xYWMyM2ZmMWIzIDEwMDY0NAotLS0gYS9nZGIvZHdh cmYyL3JlYWQuYworKysgYi9nZGIvZHdhcmYyL3JlYWQuYwpAQCAtODMsNiAr ODMsNyBAQAogI2luY2x1ZGUgInJ1c3QtbGFuZy5oIgogI2luY2x1ZGUgImdk YnN1cHBvcnQvcGF0aHN0dWZmLmgiCiAjaW5jbHVkZSAiY291bnQtb25lLWJp dHMuaCIKKyNpbmNsdWRlICJkZWJ1Z2luZm9kLXN1cHBvcnQuaCIKIAogLyog V2hlbiA9PSAxLCBwcmludCBiYXNpYyBoaWdoIGxldmVsIHRyYWNpbmcgbWVz c2FnZXMuCiAgICBXaGVuID4gMSwgYmUgbW9yZSB2ZXJib3NlLgpAQCAtMjE1 Myw2ICsyMTU0LDI5IEBAIGR3YXJmMl9nZXRfZHd6X2ZpbGUgKHN0cnVjdCBk d2FyZjJfcGVyX29iamZpbGUgKmR3YXJmMl9wZXJfb2JqZmlsZSkKICAgaWYg KGR3el9iZmQgPT0gTlVMTCkKICAgICBkd3pfYmZkID0gYnVpbGRfaWRfdG9f ZGVidWdfYmZkIChidWlsZGlkX2xlbiwgYnVpbGRpZCk7CiAKKyAgaWYgKGR3 el9iZmQgPT0gbnVsbHB0cikKKyAgICB7CisgICAgICBnZGI6OnVuaXF1ZV94 bWFsbG9jX3B0cjxjaGFyPiBhbHRfZmlsZW5hbWU7CisgICAgICBjb25zdCBj aGFyICpvcmlnbmFtZSA9IGR3YXJmMl9wZXJfb2JqZmlsZS0+b2JqZmlsZS0+ b3JpZ2luYWxfbmFtZTsKKworICAgICAgc2NvcGVkX2ZkIGZkIChkZWJ1Z2lu Zm9kX2RlYnVnaW5mb19xdWVyeSAoYnVpbGRpZCwKKwkJCQkJCWJ1aWxkaWRf bGVuLAorCQkJCQkJb3JpZ25hbWUsCisJCQkJCQkmYWx0X2ZpbGVuYW1lKSk7 CisKKyAgICAgIGlmIChmZC5nZXQgKCkgPj0gMCkKKwl7CisJICAvKiBGaWxl IHN1Y2Nlc3NmdWxseSByZXRyaWV2ZWQgZnJvbSBzZXJ2ZXIuICAqLworCSAg ZHd6X2JmZCA9IGdkYl9iZmRfb3BlbiAoYWx0X2ZpbGVuYW1lLmdldCAoKSwg Z251dGFyZ2V0LCAtMSk7CisKKwkgIGlmIChkd3pfYmZkID09IG51bGxwdHIp CisJICAgIHdhcm5pbmcgKF8oIkZpbGUgXCIlc1wiIGZyb20gZGVidWdpbmZv ZCBjYW5ub3QgYmUgb3BlbmVkIGFzIGJmZCIpLAorCQkgICAgIGFsdF9maWxl bmFtZS5nZXQgKCkpOworCSAgZWxzZSBpZiAoIWJ1aWxkX2lkX3ZlcmlmeSAo ZHd6X2JmZC5nZXQgKCksIGJ1aWxkaWRfbGVuLCBidWlsZGlkKSkKKwkgICAg ZHd6X2JmZC5yZXNldCAobnVsbHB0cik7CisJfQorICAgIH0KKwogICBpZiAo ZHd6X2JmZCA9PSBOVUxMKQogICAgIGVycm9yIChfKCJjb3VsZCBub3QgZmlu ZCAnLmdudV9kZWJ1Z2FsdGxpbmsnIGZpbGUgZm9yICVzIiksCiAJICAgb2Jq ZmlsZV9uYW1lIChkd2FyZjJfcGVyX29iamZpbGUtPm9iamZpbGUpKTsKZGlm ZiAtLWdpdCBhL2dkYi9lbGZyZWFkLmMgYi9nZGIvZWxmcmVhZC5jCmluZGV4 IDQ1M2JjYTUyN2UuLjcwMDAxY2JlMDggMTAwNjQ0Ci0tLSBhL2dkYi9lbGZy ZWFkLmMKKysrIGIvZ2RiL2VsZnJlYWQuYwpAQCAtNDksNiArNDksOCBAQAog I2luY2x1ZGUgIm1kZWJ1Z3JlYWQuaCIKICNpbmNsdWRlICJjdGZyZWFkLmgi CiAjaW5jbHVkZSAiZ2Ric3VwcG9ydC9nZGJfc3RyaW5nX3ZpZXcuaCIKKyNp bmNsdWRlICJnZGJzdXBwb3J0L3Njb3BlZF9mZC5oIgorI2luY2x1ZGUgImRl YnVnaW5mb2Qtc3VwcG9ydC5oIgogCiAvKiBGb3J3YXJkIGRlY2xhcmF0aW9u cy4gICovCiBleHRlcm4gY29uc3Qgc3RydWN0IHN5bV9mbnMgZWxmX3N5bV9m bnNfZ2RiX2luZGV4OwpAQCAtMTMxNiw4ICsxMzE4LDM2IEBAIGVsZl9zeW1m aWxlX3JlYWQgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLCBzeW1maWxlX2Fk ZF9mbGFncyBzeW1maWxlX2ZsYWdzKQogCSAgc3ltYm9sX2ZpbGVfYWRkX3Nl cGFyYXRlIChkZWJ1Z19iZmQuZ2V0ICgpLCBkZWJ1Z2ZpbGUuY19zdHIgKCks CiAJCQkJICAgIHN5bWZpbGVfZmxhZ3MsIG9iamZpbGUpOwogCX0KLQllbHNl CisgICAgICBlbHNlCisJewogCSAgaGFzX2R3YXJmMiA9IGZhbHNlOworCSAg Y29uc3Qgc3RydWN0IGJmZF9idWlsZF9pZCAqYnVpbGRfaWQgPSBidWlsZF9p ZF9iZmRfZ2V0IChvYmpmaWxlLT5vYmZkKTsKKworCSAgaWYgKGJ1aWxkX2lk ICE9IG51bGxwdHIpCisJICAgIHsKKwkgICAgICBnZGI6OnVuaXF1ZV94bWFs bG9jX3B0cjxjaGFyPiBzeW1maWxlX3BhdGg7CisJICAgICAgc2NvcGVkX2Zk IGZkIChkZWJ1Z2luZm9kX2RlYnVnaW5mb19xdWVyeSAoYnVpbGRfaWQtPmRh dGEsCisJCQkJCQkJYnVpbGRfaWQtPnNpemUsCisJCQkJCQkJb2JqZmlsZS0+ b3JpZ2luYWxfbmFtZSwKKwkJCQkJCQkmc3ltZmlsZV9wYXRoKSk7CisKKwkg ICAgICBpZiAoZmQuZ2V0ICgpID49IDApCisJCXsKKwkJICAvKiBGaWxlIHN1 Y2Nlc3NmdWxseSByZXRyaWV2ZWQgZnJvbSBzZXJ2ZXIuICAqLworCQkgIGdk Yl9iZmRfcmVmX3B0ciBkZWJ1Z19iZmQgKHN5bWZpbGVfYmZkX29wZW4gKHN5 bWZpbGVfcGF0aC5nZXQgKCkpKTsKKworCQkgIGlmIChkZWJ1Z19iZmQgPT0g bnVsbHB0cikKKwkJICAgIHdhcm5pbmcgKF8oIkZpbGUgXCIlc1wiIGZyb20g ZGVidWdpbmZvZCBjYW5ub3QgYmUgb3BlbmVkIGFzIGJmZCIpLAorCQkJICAg ICBzeW1maWxlX3BhdGguZ2V0ICgpKTsKKwkJICBlbHNlIGlmIChidWlsZF9p ZF92ZXJpZnkgKGRlYnVnX2JmZC5nZXQgKCksIGJ1aWxkX2lkLT5zaXplLCBi dWlsZF9pZC0+ZGF0YSkpCisJCSAgICB7CisJCSAgICAgIHN5bWJvbF9maWxl X2FkZF9zZXBhcmF0ZSAoZGVidWdfYmZkLmdldCAoKSwgc3ltZmlsZV9wYXRo LmdldCAoKSwKKwkJCQkJCXN5bWZpbGVfZmxhZ3MsIG9iamZpbGUpOworCQkg ICAgICBoYXNfZHdhcmYyID0gdHJ1ZTsKKwkJICAgIH0KKwkJfQorCSAgICB9 CisJfQogICAgIH0KIAogICAvKiBSZWFkIHRoZSBDVEYgc2VjdGlvbiBvbmx5 IGlmIHRoZXJlIGlzIG5vIERXQVJGIGluZm8uICAqLwpkaWZmIC0tZ2l0IGEv Z2RiL3NvdXJjZS5jIGIvZ2RiL3NvdXJjZS5jCmluZGV4IDRmODg5ZTRiOTUu LmQwOTFjODFhMWEgMTAwNjQ0Ci0tLSBhL2dkYi9zb3VyY2UuYworKysgYi9n ZGIvc291cmNlLmMKQEAgLTQ4LDYgKzQ4LDggQEAKICNpbmNsdWRlICJzb3Vy Y2UtY2FjaGUuaCIKICNpbmNsdWRlICJjbGkvY2xpLXN0eWxlLmgiCiAjaW5j bHVkZSAib2JzZXJ2YWJsZS5oIgorI2luY2x1ZGUgImJ1aWxkLWlkLmgiCisj aW5jbHVkZSAiZGVidWdpbmZvZC1zdXBwb3J0LmgiCiAKICNkZWZpbmUgT1BF Tl9NT0RFIChPX1JET05MWSB8IE9fQklOQVJZKQogI2RlZmluZSBGRE9QRU5f TU9ERSBGT1BFTl9SQgpAQCAtMTE0OCw2ICsxMTUwLDM0IEBAIG9wZW5fc291 cmNlX2ZpbGUgKHN0cnVjdCBzeW10YWIgKnMpCiAgIHMtPmZ1bGxuYW1lID0g TlVMTDsKICAgc2NvcGVkX2ZkIGZkID0gZmluZF9hbmRfb3Blbl9zb3VyY2Ug KHMtPmZpbGVuYW1lLCBTWU1UQUJfRElSTkFNRSAocyksCiAJCQkJICAgICAg ICZmdWxsbmFtZSk7CisKKyAgaWYgKGZkLmdldCAoKSA8IDApCisgICAgewor ICAgICAgaWYgKFNZTVRBQl9DT01QVU5JVCAocykgIT0gbnVsbHB0cikKKwl7 CisJICBzdGQ6OnN0cmluZyBzcmNwYXRoOworCisJICBpZiAoSVNfQUJTT0xV VEVfUEFUSCAocy0+ZmlsZW5hbWUpKQorCSAgICBzcmNwYXRoID0gcy0+Zmls ZW5hbWU7CisJICBlbHNlCisJICAgIHsKKwkgICAgICBzcmNwYXRoID0gU1lN VEFCX0RJUk5BTUUgKHMpOworCSAgICAgIHNyY3BhdGggKz0gU0xBU0hfU1RS SU5HOworCSAgICAgIHNyY3BhdGggKz0gcy0+ZmlsZW5hbWU7CisJICAgIH0K KworCSAgY29uc3Qgb2JqZmlsZSAqb2ZwID0gQ09NUFVOSVRfT0JKRklMRSAo U1lNVEFCX0NPTVBVTklUIChzKSk7CisJICBjb25zdCBzdHJ1Y3QgYmZkX2J1 aWxkX2lkICpidWlsZF9pZCA9IGJ1aWxkX2lkX2JmZF9nZXQgKG9mcC0+b2Jm ZCk7CisKKwkgIC8qIFF1ZXJ5IGRlYnVnaW5mb2QgZm9yIHRoZSBzb3VyY2Ug ZmlsZS4gICovCisJICBpZiAoYnVpbGRfaWQgIT0gbnVsbHB0cikKKwkgICAg ZmQgPSBkZWJ1Z2luZm9kX3NvdXJjZV9xdWVyeSAoYnVpbGRfaWQtPmRhdGEs CisJCQkJCSAgYnVpbGRfaWQtPnNpemUsCisJCQkJCSAgc3JjcGF0aC5jX3N0 ciAoKSwKKwkJCQkJICAmZnVsbG5hbWUpOworCX0KKyAgICB9CisKICAgcy0+ ZnVsbG5hbWUgPSBmdWxsbmFtZS5yZWxlYXNlICgpOwogICByZXR1cm4gZmQ7 CiB9CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5kZWJ1Z2luZm9k L2ZldGNoX3NyY19hbmRfc3ltYm9scy5leHAgYi9nZGIvdGVzdHN1aXRlL2dk Yi5kZWJ1Z2luZm9kL2ZldGNoX3NyY19hbmRfc3ltYm9scy5leHAKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uZWM2Y2Q0Y2Y0ZQot LS0gL2Rldi9udWxsCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmRlYnVnaW5m b2QvZmV0Y2hfc3JjX2FuZF9zeW1ib2xzLmV4cApAQCAtMCwwICsxLDIxNCBA QAorIyBDb3B5cmlnaHQgMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KKworIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAo YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlz IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig bW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg YSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBh bG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8v d3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworIyBUZXN0IGRlYnVnaW5mb2Qg ZnVuY3Rpb25hbGl0eQorCitzdGFuZGFyZF90ZXN0ZmlsZSBtYWluLmMKKwor bG9hZF9saWIgZHdhcmYuZXhwCisKK2lmIHsgW3doaWNoIGRlYnVnaW5mb2Rd ID09IDAgfSB7CisgICAgdW50ZXN0ZWQgImNhbm5vdCBmaW5kIGRlYnVnaW5m b2QiCisgICAgcmV0dXJuIC0xCit9CisKK2lmIHsgW3doaWNoIGN1cmxdID09 IDAgfSB7CisgICAgdW50ZXN0ZWQgImNhbm5vdCBmaW5kIGN1cmwiCisgICAg cmV0dXJuIC0xCit9CisKKyMgU2tpcCB0ZXN0aW5nIGlmIGdkYiB3YXMgbm90 IGNvbmZpZ3VyZWQgd2l0aCBkZWJ1Z2luZm9kCitpZiB7IFtzdHJpbmcgZmly c3QgIndpdGgtZGVidWdpbmZvZCIgW2V4ZWMgJEdEQiAtLWNvbmZpZ3VyYXRp b25dXSA9PSAtMSB9IHsKKyAgICB1bnRlc3RlZCAiZ2RiIG5vdCBjb25maWd1 cmVkIHdpdGggZGVidWdpbmZvZCIKKyAgICByZXR1cm4gLTEKK30KKworc2V0 IGNhY2hlIFtzdGFuZGFyZF9vdXRwdXRfZmlsZSAiLmNsaWVudF9jYWNoZSJd CitzZXQgZGIgW3N0YW5kYXJkX291dHB1dF9maWxlICIuZGVidWdpbmZvZC5k YiJdCisKKyMgRGVsZXRlIGFueSBwcmVleGlzdGluZyB0ZXN0IGZpbGVzCitm aWxlIGRlbGV0ZSAtZm9yY2UgJGNhY2hlCitmaWxlIGRlbGV0ZSAtZm9yY2Ug JGRiCisKK3NldCBzb3VyY2V0bXAgW3N0YW5kYXJkX291dHB1dF9maWxlIHRt cC0ke3NyY2ZpbGV9XQorc2V0IG91dHB1dGRpciBbc3RhbmRhcmRfb3V0cHV0 X2ZpbGUge31dCisKKyMgTWFrZSBhIGNvcHkgc291cmNlIGZpbGUgdGhhdCB3 ZSBjYW4gbW92ZSBhcm91bmQKK2lmIHsgW2NhdGNoIHtmaWxlIGNvcHkgLWZv cmNlICR7c3JjZGlyfS8ke3N1YmRpcn0vJHtzcmNmaWxlfSBcCisJICAgICBb c3RhbmRhcmRfb3V0cHV0X2ZpbGUgJHtzb3VyY2V0bXB9XX1dICE9IDAgfSB7 CisgICAgZXJyb3IgImNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKKyAgICByZXR1 cm4gLTEKK30KKworaWYgeyBbZ2RiX2NvbXBpbGUgIiRzb3VyY2V0bXAiICIk YmluZmlsZSIgZXhlY3V0YWJsZSB7ZGVidWd9XSAhPSAiIiB9IHsKKyAgICBm YWlsICJjb21waWxlIgorICAgIHJldHVybiAtMQorfQorCitzZXRlbnYgREVC VUdJTkZPRF9VUkxTICIiCitzZXRlbnYgREVCVUdJTkZPRF9USU1FT1VUIDMw CitzZXRlbnYgREVCVUdJTkZPRF9DQUNIRV9QQVRIICRjYWNoZQorCisjIFRl c3QgdGhhdCBnZGIgY2Fubm90IGZpbmQgc291cmNlIHdpdGhvdXQgZGVidWdp bmZvZAorY2xlYW5fcmVzdGFydCAkYmluZmlsZQorZ2RiX3Rlc3Rfbm9fb3V0 cHV0ICJzZXQgc3Vic3RpdHV0ZS1wYXRoICRvdXRwdXRkaXIgL2Rldi9udWxs IgorZ2RiX3Rlc3QgImxpc3QiICIuKk5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rv cnkuKiIKKworIyBTdHJpcCBzeW1ib2xzIGludG8gc2VwYXJhdGUgZmlsZSBh bmQgbW92ZSBpdCBzbyBnZGIgY2Fubm90IGZpbmQgaXQgd2l0aG91dCBkZWJ1 Z2luZm9kCitpZiB7IFtnZGJfZ251X3N0cmlwX2RlYnVnICRiaW5maWxlICIi XSAhPSAwIH0geworICAgIGZhaWwgInN0cmlwIGRlYnVnaW5mbyIKKyAgICBy ZXR1cm4gLTEKK30KKworc2V0IGRlYnVnZGlyIFtzdGFuZGFyZF9vdXRwdXRf ZmlsZSAiZGVidWciXQorc2V0IGRlYnVnaW5mbyBbc3RhbmRhcmRfb3V0cHV0 X2ZpbGUgImZldGNoX3NyY19hbmRfc3ltYm9scy5kZWJ1ZyJdCisKK2ZpbGUg bWtkaXIgJGRlYnVnZGlyCitmaWxlIHJlbmFtZSAtZm9yY2UgJGRlYnVnaW5m byAkZGVidWdkaXIKKworIyBUZXN0IHRoYXQgZ2RiIGNhbm5vdCBmaW5kIHN5 bWJvbHMgd2l0aG91dCBkZWJ1Z2luZm9kCitjbGVhbl9yZXN0YXJ0ICRiaW5m aWxlCitnZGJfdGVzdCAiZmlsZSIgIi4qTm8gc3ltYm9sIGZpbGUuKiIKKwor IyBXcml0ZSBzb21lIGFzc2VtYmx5IHRoYXQganVzdCBoYXMgYSAuZ251X2Rl YnVnYWx0bGluayBzZWN0aW9uLgorIyBDb3BpZWQgZnJvbSB0ZXN0c3VpdGUv Z2RiLmR3YXJmMi9kd3pidWlsZGlkLmV4cC4KK3Byb2Mgd3JpdGVfanVzdF9k ZWJ1Z2FsdGxpbmsge2ZpbGVuYW1lIGR3em5hbWUgYnVpbGRpZH0geworICAg IHNldCBhc21fZmlsZSBbc3RhbmRhcmRfb3V0cHV0X2ZpbGUgJGZpbGVuYW1l XQorCisgICAgRHdhcmY6OmFzc2VtYmxlICRhc21fZmlsZSB7CisJdXB2YXIg ZHd6bmFtZSBkd3puYW1lCisJdXB2YXIgYnVpbGRpZCBidWlsZGlkCisKKwln bnVfZGVidWdhbHRsaW5rICRkd3puYW1lICRidWlsZGlkCisKKwkjIE9ubHkg dGhlIERXQVJGIHJlYWRlciBjaGVja3MgLmdudV9kZWJ1Z2FsdGxpbmssIHNv IG1ha2Ugc3VyZQorCSMgdGhlcmUgaXMgYSBiaXQgb2YgRFdBUkYgaW4gaGVy ZS4KKwljdSB7fSB7CisJICAgIGNvbXBpbGVfdW5pdCB7e2xhbmd1YWdlIEBE V19MQU5HX0N9fSB7CisJICAgIH0KKwl9CisgICAgfQorfQorCisjIFdyaXRl IHNvbWUgRFdBUkYgdGhhdCBhbHNvIHNldHMgdGhlIGJ1aWxkaWQuCisjIENv cGllZCBmcm9tIHRlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3emJ1aWxkaWQuZXhw LgorcHJvYyB3cml0ZV9kd2FyZl9maWxlIHtmaWxlbmFtZSBidWlsZGlkIHt2 YWx1ZSA5OX19IHsKKyAgICBzZXQgYXNtX2ZpbGUgW3N0YW5kYXJkX291dHB1 dF9maWxlICRmaWxlbmFtZV0KKworICAgIER3YXJmOjphc3NlbWJsZSAkYXNt X2ZpbGUgeworCWRlY2xhcmVfbGFiZWxzIGludF9sYWJlbCBpbnRfbGFiZWwy CisKKwl1cHZhciBidWlsZGlkIGJ1aWxkaWQKKwl1cHZhciB2YWx1ZSB2YWx1 ZQorCisJYnVpbGRfaWQgJGJ1aWxkaWQKKworCWN1IHt9IHsKKwkgICAgY29t cGlsZV91bml0IHt7bGFuZ3VhZ2UgQERXX0xBTkdfQ319IHsKKwkgICAgICAg IGludF9sYWJlbDI6IGJhc2VfdHlwZSB7CisJCSAgICB7bmFtZSBpbnR9CisJ CSAgICB7Ynl0ZV9zaXplIDQgc2RhdGF9CisJCSAgICB7ZW5jb2RpbmcgQERX X0FURV9zaWduZWR9CisJCX0KKworCQljb25zdGFudCB7CisJCSAgICB7bmFt ZSB0aGVfaW50fQorCQkgICAge3R5cGUgOiRpbnRfbGFiZWwyfQorCQkgICAg e2NvbnN0X3ZhbHVlICR2YWx1ZSBkYXRhMX0KKwkJfQorCSAgICB9CisJfQor ICAgIH0KK30KKworc2V0IGJ1aWxkaWQgIjAxMjM0NTY3ODkwYWJjZGVmMDEy MzQ1NiIKKword3JpdGVfanVzdF9kZWJ1Z2FsdGxpbmsgJHtiaW5maWxlfV9o YXNfYWx0bGluay5TICR7YmluZmlsZX1fZHd6Lm8gJGJ1aWxkaWQKK3dyaXRl X2R3YXJmX2ZpbGUgJHtiaW5maWxlfV9kd3ouUyAkYnVpbGRpZAorCitpZiB7 W2dkYl9jb21waWxlICR7YmluZmlsZX1faGFzX2FsdGxpbmsuUyAke2JpbmZp bGV9X2FsdC5vIG9iamVjdCBub2RlYnVnXSAhPSAiIn0geworICAgIGZhaWwg ImNvbXBpbGUgbWFpbiB3aXRoIGFsdGxpbmsiCisgICAgcmV0dXJuIC0xCit9 CisKK2lmIHtbZ2RiX2NvbXBpbGUgJHtiaW5maWxlfV9kd3ouUyAke2JpbmZp bGV9X2R3ei5vIG9iamVjdCBub2RlYnVnXSAhPSAiIn0geworICAgIGZhaWwg ImNvbXBpbGUgYWx0bGluayIKKyAgICByZXR1cm4gLTEKK30KKworZmlsZSBy ZW5hbWUgLWZvcmNlICR7YmluZmlsZX1fZHd6Lm8gJGRlYnVnZGlyCisKKyMg VGVzdCB0aGF0IGdkYiBjYW5ub3QgZmluZCBkd3ogd2l0aG91dCBkZWJ1Z2lu Zm9kLgorY2xlYW5fcmVzdGFydAorZ2RiX3Rlc3QgImZpbGUgJHtiaW5maWxl fV9hbHQubyIgIi4qY291bGQgbm90IGZpbmQgJy5nbnVfZGVidWdhbHRsaW5r Jy4qIgorCisjIEZpbmQgYW4gdW51c2VkIHBvcnQKK3NldCBwb3J0IDc5OTkK K3NldCBmb3VuZCAwCit3aGlsZSB7ICEgJGZvdW5kIH0geworICBpbmNyIHBv cnQKKyAgaWYgeyAkcG9ydCA9PSA2NTUzNiB9IHsKKyAgICBmYWlsICJubyBh dmFpbGFibGUgcG9ydHMiCisgICAgcmV0dXJuIC0xCisgIH0KKworICBzcGF3 biBkZWJ1Z2luZm9kIC12dnZ2IC1kICRkYiAtcCAkcG9ydCAtRiAkZGVidWdk aXIKKyAgZXhwZWN0IHsKKyAgICAic3RhcnRlZCBodHRwIHNlcnZlciBvbiBJ UHY0IElQdjYgcG9ydD0kcG9ydCIgeyBzZXQgZm91bmQgMSB9CisgICAgIkZh aWxlZCB0byBiaW5kIHRvIHBvcnQiIHsga2lsbF93YWl0X3NwYXduZWRfcHJv Y2VzcyAkc3Bhd25faWQgfQorICAgIHRpbWVvdXQgeworICAgICAgZmFpbCAi ZmluZCBwb3J0IHRpbWVvdXQiCisgICAgICByZXR1cm4gLTEKKyAgICB9Cisg IH0KK30KKworc2V0IG1ldHJpY3MgW2xpc3QgInJlYWR5IDEiIFwKKwkgICAg ICJ0aHJlYWRfd29ya190b3RhbHtyb2xlPVwidHJhdmVyc2VcIn0gMSIgXAor CSAgICAgInRocmVhZF93b3JrX3BlbmRpbmd7cm9sZT1cInNjYW5cIn0gMCIg XAorCSAgICAgInRocmVhZF9idXN5e3JvbGU9XCJzY2FuXCJ9IDAiXQorCisj IENoZWNrIHNlcnZlciBtZXRyaWNzIHRvIGNvbmZpcm0gaW5pdCBoYXMgY29t cGxldGVkLgorZm9yZWFjaCBtICRtZXRyaWNzIHsKKyAgc2V0IHRpbWVsaW0g MjAKKyAgd2hpbGUgeyAkdGltZWxpbSAhPSAwIH0geworICAgIHNsZWVwIDAu NQorICAgIGNhdGNoIHtleGVjIGN1cmwgLXMgaHR0cDovLzEyNy4wLjAuMTok cG9ydC9tZXRyaWNzfSBnb3QKKworICAgIGlmIHsgW3JlZ2V4cCAkbSAkZ290 XSB9IHsKKyAgICAgIGJyZWFrCisgICAgfQorCisgICAgaW5jciB0aW1lbGlt IC0xCisgIH0KKworICBpZiB7ICR0aW1lbGltID09IDAgfSB7CisgICAgZmFp bCAic2VydmVyIGluaXQgdGltZW91dCIKKyAgICByZXR1cm4gLTEKKyAgfQor fQorCisjIFBvaW50IHRoZSBjbGllbnQgdG8gdGhlIHNlcnZlcgorc2V0ZW52 IERFQlVHSU5GT0RfVVJMUyBodHRwOi8vMTI3LjAuMC4xOiRwb3J0CisKKyMg Z2RiIHNob3VsZCBub3cgZmluZCB0aGUgc3ltYm9sIGFuZCBzb3VyY2UgZmls ZXMKK2NsZWFuX3Jlc3RhcnQgJGJpbmZpbGUKK2dkYl90ZXN0X25vX291dHB1 dCAic2V0IHN1YnN0aXR1dGUtcGF0aCAkb3V0cHV0ZGlyIC9kZXYvbnVsbCIK K2dkYl90ZXN0ICJiciBtYWluIiAiQnJlYWtwb2ludCAxIGF0LipmaWxlLioi CitnZGJfdGVzdCAibCIgIi4qVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlLioiCisKKyMgZ2RiIHNob3VsZCBub3cgZmluZCB0aGUg ZGVidWdhbHRsaW5rIGZpbGUKK2NsZWFuX3Jlc3RhcnQKK2dkYl90ZXN0ICJm aWxlICR7YmluZmlsZX1fYWx0Lm8iICIuKlJlYWRpbmcgc3ltYm9scyBmcm9t ICR7YmluZmlsZX1fYWx0Lm9cLlwuXC4qIgpkaWZmIC0tZ2l0IGEvZ2RiL3Rl c3RzdWl0ZS9nZGIuZGVidWdpbmZvZC9tYWluLmMgYi9nZGIvdGVzdHN1aXRl L2dkYi5kZWJ1Z2luZm9kL21haW4uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwLi43M2FiYWY1OGIxCi0tLSAvZGV2L251bGwKKysr IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZGVidWdpbmZvZC9tYWluLmMKQEAgLTAs MCArMSwyNSBAQAorLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwg dGhlIEdOVSBkZWJ1Z2dlci4KKworICAgQ29weXJpZ2h0IDIwMjAgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisKKyAgIFRoaXMgcHJvZ3JhbSBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IgbW9kaWZ5CisgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICAgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBv ZiB0aGUgTGljZW5zZSwgb3IKKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxh dGVyIHZlcnNpb24uCisKKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgYnV0 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAgIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAg IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICBhbG9uZyB3aXRoIHRoaXMgcHJv Z3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5z ZXMvPi4gICovCisKKy8qIER1bW15IG1haW4gZnVuY3Rpb24uICAqLworCitp bnQKK21haW4oKQoreworICBhc20gKCJtYWluX2xhYmVsOiAuZ2xvYmwgbWFp bl9sYWJlbCIpOworICByZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL2dkYi90 b3AuYyBiL2dkYi90b3AuYwppbmRleCBmNzAyYWY5YWNkLi4xYTk4YWUxOThj IDEwMDY0NAotLS0gYS9nZGIvdG9wLmMKKysrIGIvZ2RiL3RvcC5jCkBAIC0x NTI4LDYgKzE1MjgsMTYgQEAgVGhpcyBHREIgd2FzIGNvbmZpZ3VyZWQgYXMg Zm9sbG93czpcblwKICIpKTsKICNlbmRpZgogCisjaWYgSEFWRV9MSUJERUJV R0lORk9ECisgIGZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwgXygiXAorICAg ICAgICAgICAgIC0td2l0aC1kZWJ1Z2luZm9kXG5cCisiKSk7CisjZWxzZQor ICAgZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCBfKCJcCisgICAgICAgICAg ICAgLS13aXRob3V0LWRlYnVnaW5mb2RcblwKKyIpKTsKKyNlbmRpZgorCiAj aWYgSEFWRV9HVUlMRQogICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sIF8o IlwKICAgICAgICAgICAgICAtLXdpdGgtZ3VpbGVcblwKLS0gCjIuMjQuMQoK --000000000000ccd8cd059f4b01a6--