From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 43878 invoked by alias); 13 Apr 2015 12:38:31 -0000 Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org Received: (qmail 43868 invoked by uid 89); 13 Apr 2015 12:38:30 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=3.8 required=5.0 tests=AWL,BAYES_99,BAYES_999,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS,UNSUBSCRIBE_BODY autolearn=no version=3.3.2 X-HELO: mail-ob0-f176.google.com Received: from mail-ob0-f176.google.com (HELO mail-ob0-f176.google.com) (209.85.214.176) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Mon, 13 Apr 2015 12:38:27 +0000 Received: by oblw8 with SMTP id w8so35926027obl.0 for ; Mon, 13 Apr 2015 05:38:25 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.182.186.100 with SMTP id fj4mr11992452obc.12.1428928705087; Mon, 13 Apr 2015 05:38:25 -0700 (PDT) Received: by 10.76.54.14 with HTTP; Mon, 13 Apr 2015 05:38:24 -0700 (PDT) Date: Mon, 13 Apr 2015 12:38:00 -0000 Message-ID: Subject: PATCH: Add --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi] to ld From: "H.J. Lu" To: Binutils Content-Type: multipart/mixed; boundary=089e01294e80e06bd205139a6344 X-IsSubscribed: yes X-SW-Source: 2015-04/txt/msg00220.txt.bz2 --089e01294e80e06bd205139a6344 Content-Type: text/plain; charset=UTF-8 Content-length: 1968 On Sun, Apr 12, 2015 at 6:13 PM, Alan Modra wrote: > On Thu, Apr 09, 2015 at 03:07:20PM -0700, H.J. Lu wrote: >> + if (arg->link_info >> + && (arg->link_info->compress_debug & COMPRESS_DEBUG) >> + && arg->link_info->compress_debug != COMPRESS_DEBUG_GABI_ZLIB >> + && (asect->flags & SEC_DEBUGGING) >> + && name[1] == 'd' >> + && name[6] == '_') > > Here and in a couple of other places you omit checking the full prefix > of the name. Are you certain you won't see something like a ".de" > section here? It you might, then name[6] is a buffer overflow and a > potential segfault. elf.c has if ((flags & SEC_ALLOC) == 0) { /* The debugging sections appear to be recognized only by name, not any sort of flag. Their SEC_ALLOC bits are cleared. */ if (name [0] == '.') { const char *p; int n; if (name[1] == 'd') p = ".debug", n = 6; else if (name[1] == 'g' && name[2] == 'n') p = ".gnu.linkonce.wi.", n = 17; else if (name[1] == 'g' && name[2] == 'd') p = ".gdb_index", n = 11; /* yes we really do mean 11. */ else if (name[1] == 'l') p = ".line", n = 5; else if (name[1] == 's') p = ".stab", n = 5; else if (name[1] == 'z') p = ".zdebug", n = 7; else p = NULL, n = 0; if (p != NULL && strncmp (name, p, n) == 0) flags |= SEC_DEBUGGING; } } and /* Compress/decompress DWARF debug sections with names: .debug_* and .zdebug_*, after the section flags is set. */ if ((flags & SEC_DEBUGGING) && ((name[1] == 'd' && name[6] == '_') || (name[1] == 'z' && name[7] == '_'))) { When name[1] == 'd'. It is pretty safe to check name[1] == 'd' && name[6] == '_' when SEC_DEBUGGING is set. Here is the completed patch. OK for master? Thanks. -- H.J. --089e01294e80e06bd205139a6344 Content-Type: text/x-patch; charset=US-ASCII; name="0001-Add-compress-debug-sections-none-zlib-zlib-gnu-zlib-.patch" Content-Disposition: attachment; filename="0001-Add-compress-debug-sections-none-zlib-zlib-gnu-zlib-.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i8fv3zc70 Content-length: 45689 RnJvbSBmNjEzNDA5MmYzOTUxNzdjZWRiY2ExYTJjYjUxOWU5ZjFiM2M2ZmZi IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiSC5KLiBMdSIgPGhq bC50b29sc0BnbWFpbC5jb20+CkRhdGU6IE1vbiwgMTMgQXByIDIwMTUgMDU6 MzA6NTIgLTA3MDAKU3ViamVjdDogW1BBVENIXSBBZGQgLS1jb21wcmVzcy1k ZWJ1Zy1zZWN0aW9ucz1bbm9uZXx6bGlifHpsaWItZ251fHpsaWItZ2FiaV0K ClRoaXMgcGF0Y2ggYWRkcyAtLWNvbXByZXNzLWRlYnVnLXNlY3Rpb25zPVtu b25lfHpsaWJ8emxpYi1nbnV8emxpYi1nYWJpXQp0byBsZCBmb3IgRUxGIHRh cmdldHMgdG8gc3VwcG9ydCBnZW5lcmF0aW5nIGNvbXByZXNzZWQgRFdBUkYg ZGVidWcKc2VjdGlvbnMuICBXZSBhbHdheXMgZ2VuZXJhdGUgLnpkZWJ1Z18q IHNlY3Rpb24gc2luY2Ugc2VjdGlvbiBuYW1lcyBoYXZlCmJlZW4gZmluYWxp emVkIGFuZCB0aGV5IGNhbid0IGJlIGNoYW5nZWQgZWFzaWx5IHdoZW4gY29t cHJlc3Npb24gaXMKYmVpbmcgcGVyZm9ybWVkLgoKYmZkLwoKCSogYmZkLWlu LmggKGNvbXByZXNzZWRfZGVidWdfc2VjdGlvbl90eXBlKTogTmV3LgoJKiBj b21wcmVzcy5jIChiZmRfY29tcHJlc3Nfc2VjdGlvbl9jb250ZW50cyk6IEFk ZCBhbiBhcmd1bWVudAoJZm9yIGxpbmtlciB3cml0ZSBjb21wcmVzc2lvbiBh bmQgYWx3YXlzIGdlbmVyYXRlIC56ZGVidWdfKgoJc2VjdGlvbiB3aGVuIGxp bmtpbmcuCgkoYmZkX2luaXRfc2VjdGlvbl9jb21wcmVzc19zdGF0dXMpOiBQ YXNzIEZBTFNFIHRvCgliZmRfY29tcHJlc3Nfc2VjdGlvbl9jb250ZW50cy4K CShiZmRfY29tcHJlc3Nfc2VjdGlvbik6IE5ldyBmdW5jdGlvbi4KCSogZWxm LmMgKGVsZl9mYWtlX3NlY3Rpb25zKTogRm9yIGxpbmtpbmcsIHNldCBTRUNf RUxGX0NPTVBSRVNTCglvbiBEV0FSRiBkZWJ1ZyBzZWN0aW9ucyBpZiBDT01Q UkVTU19ERUJVRyBpcyBzZXQgYW5kIHJlbmFtZQoJc2VjdGlvbiBpZiBDT01Q UkVTU19ERUJVR19HQUJJX1pMSUIgaXNuJ3Qgc2V0LgoJKGFzc2lnbl9maWxl X3Bvc2l0aW9uc19mb3Jfbm9uX2xvYWRfc2VjdGlvbnMpOiBTZXQgc2hfb2Zm c2V0Cgl0byAtMSBpZiBTRUNfRUxGX0NPTVBSRVNTIGlzIHNldC4KCShhc3Np Z25fZmlsZV9wb3NpdGlvbnNfZXhjZXB0X3JlbG9jcyk6IExpa3dpc2UuCgko X2JmZF9lbGZfYXNzaWduX2ZpbGVfcG9zaXRpb25zX2Zvcl9yZWxvY3MpOiBS ZW5hbWVkIHRvIC4uLgoJKF9iZmRfZWxmX2Fzc2lnbl9maWxlX3Bvc2l0aW9u c19mb3Jfbm9uX2xvYWQpOiBUaGlzLiAgQ2hhbmdlCglyZXR1cm4gdGltZSB0 byBiZmRfYm9vbGVhbi4gIENvbXByZXNzIHRoZSBzZWN0aW9uIGlmCglTRUNf RUxGX0NPTVBSRVNTIGlzIHNldC4KCShfYmZkX2VsZl93cml0ZV9vYmplY3Rf Y29udGVudHMpOiBVcGRhdGVkLgoJKF9iZmRfZWxmX3NldF9zZWN0aW9uX2Nv bnRlbnRzKTogQWxsb2NhdGUgdGhlIGJ1ZmZlciBmb3IgY29udGVudHMKCWlm IFNFQ19FTEZfQ09NUFJFU1MgaXMgc2V0LgoJKiBtZXJnZS5jOiBJbmNsdWRl ICJlbGYtYmZkLmgiLgoJKHNlY19tZXJnZV9lbWl0KTogQWRkIGFuIGFyZ3Vt ZW50IGZvciBvZmZzZXQuICBGb3IgRUxGLCB3cml0ZQoJdG8gY29udGVudHMg aWYgc2hfb2Zmc2V0IGlzIC0xLgoJKF9iZmRfd3JpdGVfbWVyZ2VkX3NlY3Rp b24pOiBBbGxvY2F0ZSB0aGUgYnVmZmVyIGZvciBjb250ZW50cwoJaWYgU0VD X0VMRl9DT01QUkVTUyBpcyBzZXQuICBQYXNzIG91dHB1dF9vZmZzZXQgdG8K CXNlY19tZXJnZV9lbWl0LgoJKiBzZWN0aW9uLmMgKFNFQ19FTEZfQ09NUFJF U1MpOiBOZXcuCgkqIGJmZC1pbjIuaDogUmVnZW5lcmF0ZWQuCgpnYXMvCgoJ KiBhcy5oIChjb21wcmVzc2VkX2RlYnVnX3NlY3Rpb25fdHlwZSk6IFJlbW92 ZWQuCgppbmNsdWRlLwoKCSogYmZkbGluay5oIChiZmRfbGlua19pbmZvKTog QWRkIGNvbXByZXNzX2RlYnVnLgoKbGQvCgoJKiBsZC50ZXhpbmZvOiBEb2N1 bWVudCAtLWNvbXByZXNzLWRlYnVnLXNlY3Rpb25zPS4KCSogbGRtYWluLmMg KG1haW4pOiBTZXQgQkZEX0NPTVBSRVNTIG9uIG91dHB1dF9iZmQgaWYKCUNP TVBSRVNTX0RFQlVHIGlzIHNldC4gIFNldCBCRkRfQ09NUFJFU1NfR0FCSSBv biBvdXRwdXRfYmZkCglmb3IgQ09NUFJFU1NfREVCVUdfR0FCSV9aTElCLgoJ KiBsZXhzdXAuYyAoZWxmX3N0YXRpY19saXN0X29wdGlvbnMpOiBBZGQKCS0t Y29tcHJlc3MtZGVidWctc2VjdGlvbnM9LgoJKiBlbXVsdGVtcGwvZWxmMzIu ZW0gKE9QVElPTl9DT01QUkVTU19ERUJVRyk6IE5ldy4KCSh4dHJhX2xvbmcp OiBBZGQgImNvbXByZXNzLWRlYnVnLXNlY3Rpb25zIi4KCShnbGQke0VNVUxB VElPTl9OQU1FfV9oYW5kbGVfb3B0aW9uKTogSGFuZGxlCglPUFRJT05fQ09N UFJFU1NfREVCVUcuCgpsZC90ZXN0c3VpdGUvCgoJKiBsZC1lbGYvY29tcHJl c3MuZXhwIChidWlsZF90ZXN0cyk6IEFkZCB0ZXN0cyBmb3IKCS0tY29tcHJl c3MtZGVidWctc2VjdGlvbnM9LgoJKHJ1bl90ZXN0cyk6IExpa2V3aXNlLgoJ QWRkIGFkZGl0b25hbCB0ZXN0cyBmb3IgLS1jb21wcmVzcy1kZWJ1Zy1zZWN0 aW9ucz0uCgkqIGxkLWVsZi9nYWJpZW5kLnJ0OiBOZXcgZmlsZS4KCSogbGQt ZWxmL2dhYmlub3JtYWwucnQ6IExpa2V3aXNlLgoJKiBsZC1lbGYvZ251YmVn aW4uclM6IExpa2V3aXNlLgoJKiBsZC1lbGYvZ251bm9ybWFsLnJTOiBMaWtl d2lzZS4KCSogbGQtZWxmL3psaWJiZWdpbi5yUzogTGlrZXdpc2UuCgkqIGxk LWVsZi96bGlibm9ybWFsLnJTOiBMaWtld2lzZS4KLS0tCiBiZmQvYmZkLWlu LmggICAgICAgICAgICAgICAgICAgICAgfCAgMTEgKysrCiBiZmQvYmZkLWlu Mi5oICAgICAgICAgICAgICAgICAgICAgfCAgMTggKysrKwogYmZkL2NvbXBy ZXNzLmMgICAgICAgICAgICAgICAgICAgIHwgIDUxICsrKysrKysrKysrLQog YmZkL2VsZi5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDk3ICsrKysr KysrKysrKysrKysrKysrLS0KIGJmZC9tZXJnZS5jICAgICAgICAgICAgICAg ICAgICAgICB8ICA3NiArKysrKysrKysrKysrKy0tLQogYmZkL3NlY3Rpb24u YyAgICAgICAgICAgICAgICAgICAgIHwgICA0ICsKIGdhcy9hcy5oICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAxMCAtLS0KIGluY2x1ZGUvYmZkbGlu ay5oICAgICAgICAgICAgICAgICB8ICAgMyArCiBsZC9lbXVsdGVtcGwvZWxm MzIuZW0gICAgICAgICAgICAgfCAgMTUgKysrKwogbGQvbGQudGV4aW5mbyAg ICAgICAgICAgICAgICAgICAgIHwgIDE2ICsrKysKIGxkL2xkbWFpbi5jICAg ICAgICAgICAgICAgICAgICAgICB8ICAgNyArKwogbGQvbGV4c3VwLmMgICAg ICAgICAgICAgICAgICAgICAgIHwgICAzICsKIGxkL3Rlc3RzdWl0ZS9sZC1l bGYvY29tcHJlc3MuZXhwICB8IDE2NyArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrLQogbGQvdGVzdHN1aXRlL2xkLWVsZi9nYWJpZW5k LnJ0ICAgIHwgICA0ICsKIGxkL3Rlc3RzdWl0ZS9sZC1lbGYvZ2FiaW5vcm1h bC5ydCB8ICAgNCArCiBsZC90ZXN0c3VpdGUvbGQtZWxmL2dudWJlZ2luLnJT ICAgfCAgIDMgKwogbGQvdGVzdHN1aXRlL2xkLWVsZi9nbnVub3JtYWwuclMg IHwgICAzICsKIGxkL3Rlc3RzdWl0ZS9sZC1lbGYvemxpYmJlZ2luLnJTICB8 ICAgMyArCiBsZC90ZXN0c3VpdGUvbGQtZWxmL3psaWJub3JtYWwuclMgfCAg IDMgKwogMTkgZmlsZXMgY2hhbmdlZCwgNDY2IGluc2VydGlvbnMoKyksIDMy IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxkL3Rlc3RzdWl0 ZS9sZC1lbGYvZ2FiaWVuZC5ydAogY3JlYXRlIG1vZGUgMTAwNjQ0IGxkL3Rl c3RzdWl0ZS9sZC1lbGYvZ2FiaW5vcm1hbC5ydAogY3JlYXRlIG1vZGUgMTAw NjQ0IGxkL3Rlc3RzdWl0ZS9sZC1lbGYvZ251YmVnaW4uclMKIGNyZWF0ZSBt b2RlIDEwMDY0NCBsZC90ZXN0c3VpdGUvbGQtZWxmL2dudW5vcm1hbC5yUwog Y3JlYXRlIG1vZGUgMTAwNjQ0IGxkL3Rlc3RzdWl0ZS9sZC1lbGYvemxpYmJl Z2luLnJTCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGQvdGVzdHN1aXRlL2xkLWVs Zi96bGlibm9ybWFsLnJTCgpkaWZmIC0tZ2l0IGEvYmZkL2JmZC1pbi5oIGIv YmZkL2JmZC1pbi5oCmluZGV4IDFmOGE3MmMuLjJlMzI0Y2QgMTAwNjQ0Ci0t LSBhL2JmZC9iZmQtaW4uaAorKysgYi9iZmQvYmZkLWluLmgKQEAgLTQzNyw2 ICs0MzcsMTcgQEAgZXh0ZXJuIHZvaWQgYmZkX2hhc2hfdHJhdmVyc2UKICAg IHRoaXMgc2l6ZS4gICovCiBleHRlcm4gdW5zaWduZWQgbG9uZyBiZmRfaGFz aF9zZXRfZGVmYXVsdF9zaXplICh1bnNpZ25lZCBsb25nKTsKIAorLyogVHlw ZXMgb2YgY29tcHJlc3NlZCBEV0FSRiBkZWJ1ZyBzZWN0aW9ucy4gIFdlIGN1 cnJlbnRseSBzdXBwb3J0CisgICB6bGliLiAgKi8KK2VudW0gY29tcHJlc3Nl ZF9kZWJ1Z19zZWN0aW9uX3R5cGUKK3sKKyAgQ09NUFJFU1NfREVCVUdfTk9O RSA9IDAsCisgIENPTVBSRVNTX0RFQlVHID0gMSA8PCAwLAorICBDT01QUkVT U19ERUJVR19aTElCID0gQ09NUFJFU1NfREVCVUcgfCAxIDw8IDEsCisgIENP TVBSRVNTX0RFQlVHX0dOVV9aTElCID0gQ09NUFJFU1NfREVCVUcgfCAxIDw8 IDIsCisgIENPTVBSRVNTX0RFQlVHX0dBQklfWkxJQiA9IENPTVBSRVNTX0RF QlVHIHwgMSA8PCAzCit9OworCiAvKiBUaGlzIHN0cnVjdHVyZSBpcyB1c2Vk IHRvIGtlZXAgdHJhY2sgb2Ygc3RhYnMgaW4gc2VjdGlvbnMKICAgIGluZm9y bWF0aW9uIHdoaWxlIGxpbmtpbmcuICAqLwogCmRpZmYgLS1naXQgYS9iZmQv YmZkLWluMi5oIGIvYmZkL2JmZC1pbjIuaAppbmRleCA2Nzk1OTVlLi4xMjJj YWEwIDEwMDY0NAotLS0gYS9iZmQvYmZkLWluMi5oCisrKyBiL2JmZC9iZmQt aW4yLmgKQEAgLTQ0NCw2ICs0NDQsMTcgQEAgZXh0ZXJuIHZvaWQgYmZkX2hh c2hfdHJhdmVyc2UKICAgIHRoaXMgc2l6ZS4gICovCiBleHRlcm4gdW5zaWdu ZWQgbG9uZyBiZmRfaGFzaF9zZXRfZGVmYXVsdF9zaXplICh1bnNpZ25lZCBs b25nKTsKIAorLyogVHlwZXMgb2YgY29tcHJlc3NlZCBEV0FSRiBkZWJ1ZyBz ZWN0aW9ucy4gIFdlIGN1cnJlbnRseSBzdXBwb3J0CisgICB6bGliLiAgKi8K K2VudW0gY29tcHJlc3NlZF9kZWJ1Z19zZWN0aW9uX3R5cGUKK3sKKyAgQ09N UFJFU1NfREVCVUdfTk9ORSA9IDAsCisgIENPTVBSRVNTX0RFQlVHID0gMSA8 PCAwLAorICBDT01QUkVTU19ERUJVR19aTElCID0gQ09NUFJFU1NfREVCVUcg fCAxIDw8IDEsCisgIENPTVBSRVNTX0RFQlVHX0dOVV9aTElCID0gQ09NUFJF U1NfREVCVUcgfCAxIDw8IDIsCisgIENPTVBSRVNTX0RFQlVHX0dBQklfWkxJ QiA9IENPTVBSRVNTX0RFQlVHIHwgMSA8PCAzCit9OworCiAvKiBUaGlzIHN0 cnVjdHVyZSBpcyB1c2VkIHRvIGtlZXAgdHJhY2sgb2Ygc3RhYnMgaW4gc2Vj dGlvbnMKICAgIGluZm9ybWF0aW9uIHdoaWxlIGxpbmtpbmcuICAqLwogCkBA IC0xMzc4LDYgKzEzODksMTAgQEAgdHlwZWRlZiBzdHJ1Y3QgYmZkX3NlY3Rp b24KICAgICAgZXhlY3V0YWJsZXMgb3Igc2hhcmVkIG9iamVjdHMuIFRoaXMg aXMgZm9yIENPRkYgb25seS4gICovCiAjZGVmaW5lIFNFQ19DT0ZGX1NIQVJF RCAweDgwMDAwMDAKIAorICAvKiBUaGlzIHNlY3Rpb24gc2hvdWxkIGJlIGNv bXByZXNzZWQuICBUaGlzIGlzIGZvciBFTEYgbGlua2VyCisgICAgIGludGVy bmFsIHVzZSBvbmx5LiAgKi8KKyNkZWZpbmUgU0VDX0VMRl9DT01QUkVTUyAw eDgwMDAwMDAKKwogICAvKiBXaGVuIGEgc2VjdGlvbiB3aXRoIHRoaXMgZmxh ZyBpcyBiZWluZyBsaW5rZWQsIHRoZW4gaWYgdGhlIHNpemUgb2YKICAgICAg dGhlIGlucHV0IHNlY3Rpb24gaXMgbGVzcyB0aGFuIGEgcGFnZSwgaXQgc2hv dWxkIG5vdCBjcm9zcyBhIHBhZ2UKICAgICAgYm91bmRhcnkuICBJZiB0aGUg c2l6ZSBvZiB0aGUgaW5wdXQgc2VjdGlvbiBpcyBvbmUgcGFnZSBvciBtb3Jl LApAQCAtNzMxNiw2ICs3MzMxLDkgQEAgYmZkX2Jvb2xlYW4gYmZkX2luaXRf c2VjdGlvbl9kZWNvbXByZXNzX3N0YXR1cwogYmZkX2Jvb2xlYW4gYmZkX2lu aXRfc2VjdGlvbl9jb21wcmVzc19zdGF0dXMKICAgIChiZmQgKmFiZmQsIGFz ZWN0aW9uICpzZWN0aW9uKTsKIAorYmZkX2Jvb2xlYW4gYmZkX2NvbXByZXNz X3NlY3Rpb24KKyAgIChiZmQgKmFiZmQsIGFzZWN0aW9uICpzZWN0aW9uLCBi ZmRfYnl0ZSAqdW5jb21wcmVzc2VkX2J1ZmZlcik7CisKICNpZmRlZiBfX2Nw bHVzcGx1cwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9iZmQvY29tcHJlc3Mu YyBiL2JmZC9jb21wcmVzcy5jCmluZGV4IDc3MGVhNTcuLmRmZGU1MGUgMTAw NjQ0Ci0tLSBhL2JmZC9jb21wcmVzcy5jCisrKyBiL2JmZC9jb21wcmVzcy5j CkBAIC03Miw3ICs3Miw4IEBAIGRlY29tcHJlc3NfY29udGVudHMgKGJmZF9i eXRlICpjb21wcmVzc2VkX2J1ZmZlciwKIHN0YXRpYyBiZmRfc2l6ZV90eXBl CiBiZmRfY29tcHJlc3Nfc2VjdGlvbl9jb250ZW50cyAoYmZkICphYmZkLCBz ZWNfcHRyIHNlYywKIAkJCSAgICAgICBiZmRfYnl0ZSAqdW5jb21wcmVzc2Vk X2J1ZmZlciwKLQkJCSAgICAgICBiZmRfc2l6ZV90eXBlIHVuY29tcHJlc3Nl ZF9zaXplKQorCQkJICAgICAgIGJmZF9zaXplX3R5cGUgdW5jb21wcmVzc2Vk X3NpemUsCisJCQkgICAgICAgYmZkX2Jvb2xlYW4gd3JpdGVfY29tcHJlc3Mp CiB7CiAgIHVMb25nIGNvbXByZXNzZWRfc2l6ZTsKICAgYmZkX2J5dGUgKmJ1 ZmZlcjsKQEAgLTE3Niw4ICsxNzcsMTEgQEAgYmZkX2NvbXByZXNzX3NlY3Rp b25fY29udGVudHMgKGJmZCAqYWJmZCwgc2VjX3B0ciBzZWMsCiAKICAgICAg IGNvbXByZXNzZWRfc2l6ZSArPSBoZWFkZXJfc2l6ZTsKICAgICAgIC8qIFBS IGJpbnV0aWxzLzE4MDg3OiBJZiBjb21wcmVzc2lvbiBkaWRuJ3QgbWFrZSB0 aGUgc2VjdGlvbiBzbWFsbGVyLAotCSBqdXN0IGtlZXAgaXQgdW5jb21wcmVz c2VkLiAgKi8KLSAgICAgIGlmIChjb21wcmVzc2VkX3NpemUgPCB1bmNvbXBy ZXNzZWRfc2l6ZSkKKwkganVzdCBrZWVwIGl0IHVuY29tcHJlc3NlZC4gIFdl IGFsd2F5cyBnZW5lcmF0ZSAuemRlYnVnXyogc2VjdGlvbgorCSB3aGVuIGxp bmtpbmcgc2luY2Ugc2VjdGlvbiBuYW1lcyBoYXZlIGJlZW4gZmluYWxpemVk IGFuZCB0aGV5CisJIGNhbid0IGJlIGNoYW5nZWQgZWFzaWx5LiAgKi8KKyAg ICAgIGlmICgod3JpdGVfY29tcHJlc3MgJiYgY29tcHJlc3Npb25faGVhZGVy X3NpemUgPT0gMCkKKwkgICB8fCBjb21wcmVzc2VkX3NpemUgPCB1bmNvbXBy ZXNzZWRfc2l6ZSkKIAl7CiAJICBiZmRfdXBkYXRlX2NvbXByZXNzaW9uX2hl YWRlciAoYWJmZCwgYnVmZmVyLCBzZWMpOwogCkBAIC01NDMsOSArNTQ3LDQ4 IEBAIGJmZF9pbml0X3NlY3Rpb25fY29tcHJlc3Nfc3RhdHVzIChiZmQgKmFi ZmQsIHNlY19wdHIgc2VjKQogICAgIHsKICAgICAgIHVuY29tcHJlc3NlZF9z aXplID0gYmZkX2NvbXByZXNzX3NlY3Rpb25fY29udGVudHMgKGFiZmQsIHNl YywKIAkJCQkJCQkgdW5jb21wcmVzc2VkX2J1ZmZlciwKLQkJCQkJCQkgdW5j b21wcmVzc2VkX3NpemUpOworCQkJCQkJCSB1bmNvbXByZXNzZWRfc2l6ZSwK KwkJCQkJCQkgRkFMU0UpOwogICAgICAgcmV0ID0gdW5jb21wcmVzc2VkX3Np emUgIT0gMDsKICAgICB9CiAKICAgcmV0dXJuIHJldDsKIH0KKworLyoKK0ZV TkNUSU9OCisJYmZkX2NvbXByZXNzX3NlY3Rpb24KKworU1lOT1BTSVMKKwli ZmRfYm9vbGVhbiBiZmRfY29tcHJlc3Nfc2VjdGlvbgorCSAgKGJmZCAqYWJm ZCwgYXNlY3Rpb24gKnNlY3Rpb24sIGJmZF9ieXRlICp1bmNvbXByZXNzZWRf YnVmZmVyKTsKKworREVTQ1JJUFRJT04KKwlJZiBvcGVuIGZvciB3cml0ZSwg Y29tcHJlc3Mgc2VjdGlvbiwgdXBkYXRlIHNlY3Rpb24gc2l6ZSB3aXRoCisJ Y29tcHJlc3NlZCBzaXplIGFuZCBzZXQgY29tcHJlc3Nfc3RhdHVzIHRvIENP TVBSRVNTX1NFQ1RJT05fRE9ORS4KKworCVJldHVybiBAY29kZXtGQUxTRX0g aWYgY29tcHJlc3Npb24gZmFpbC4gIE90aGVyd2lzZSwgcmV0dXJuCisJQGNv ZGV7VFJVRX0uCisqLworCitiZmRfYm9vbGVhbgorYmZkX2NvbXByZXNzX3Nl Y3Rpb24gKGJmZCAqYWJmZCwgc2VjX3B0ciBzZWMsIGJmZF9ieXRlICp1bmNv bXByZXNzZWRfYnVmZmVyKQoreworICBiZmRfc2l6ZV90eXBlIHVuY29tcHJl c3NlZF9zaXplID0gc2VjLT5zaXplOworCisgIC8qIEVycm9yIGlmIG5vdCBv cGVuZWQgZm9yIHdyaXRlLiAgKi8KKyAgaWYgKGFiZmQtPmRpcmVjdGlvbiAh PSB3cml0ZV9kaXJlY3Rpb24KKyAgICAgIHx8IHVuY29tcHJlc3NlZF9zaXpl ID09IDAKKyAgICAgIHx8IHVuY29tcHJlc3NlZF9idWZmZXIgPT0gTlVMTAor ICAgICAgfHwgc2VjLT5jb250ZW50cyAhPSBOVUxMCisgICAgICB8fCBzZWMt PmNvbXByZXNzZWRfc2l6ZSAhPSAwCisgICAgICB8fCBzZWMtPmNvbXByZXNz X3N0YXR1cyAhPSBDT01QUkVTU19TRUNUSU9OX05PTkUpCisgICAgeworICAg ICAgYmZkX3NldF9lcnJvciAoYmZkX2Vycm9yX2ludmFsaWRfb3BlcmF0aW9u KTsKKyAgICAgIHJldHVybiBGQUxTRTsKKyAgICB9CisKKyAgLyogQ29tcHJl c3MgaXQuICAqLworICByZXR1cm4gYmZkX2NvbXByZXNzX3NlY3Rpb25fY29u dGVudHMgKGFiZmQsIHNlYywgdW5jb21wcmVzc2VkX2J1ZmZlciwKKwkJCQkJ dW5jb21wcmVzc2VkX3NpemUsIFRSVUUpICE9IDA7Cit9CmRpZmYgLS1naXQg YS9iZmQvZWxmLmMgYi9iZmQvZWxmLmMKaW5kZXggYTAzMWI5ZS4uZGNkMjRj MSAxMDA2NDQKLS0tIGEvYmZkL2VsZi5jCisrKyBiL2JmZC9lbGYuYwpAQCAt Mjc1Miw2ICsyNzUyLDcgQEAgZWxmX2Zha2Vfc2VjdGlvbnMgKGJmZCAqYWJm ZCwgYXNlY3Rpb24gKmFzZWN0LCB2b2lkICpmc2FyZykKICAgc3RydWN0IGJm ZF9lbGZfc2VjdGlvbl9kYXRhICplc2QgPSBlbGZfc2VjdGlvbl9kYXRhIChh c2VjdCk7CiAgIEVsZl9JbnRlcm5hbF9TaGRyICp0aGlzX2hkcjsKICAgdW5z aWduZWQgaW50IHNoX3R5cGU7CisgIGNvbnN0IGNoYXIgKm5hbWUgPSBhc2Vj dC0+bmFtZTsKIAogICBpZiAoYXJnLT5mYWlsZWQpCiAgICAgewpAQCAtMjc2 Miw4ICsyNzYzLDM4IEBAIGVsZl9mYWtlX3NlY3Rpb25zIChiZmQgKmFiZmQs IGFzZWN0aW9uICphc2VjdCwgdm9pZCAqZnNhcmcpCiAKICAgdGhpc19oZHIg PSAmZXNkLT50aGlzX2hkcjsKIAorICAvKiBGb3IgbGlua2luZywgY29tcHJl c3MgRFdBUkYgZGVidWcgc2VjdGlvbnMgd2l0aCBuYW1lczogLmRlYnVnXyou ICAqLworICBpZiAoYXJnLT5saW5rX2luZm8KKyAgICAgICYmIChhcmctPmxp bmtfaW5mby0+Y29tcHJlc3NfZGVidWcgJiBDT01QUkVTU19ERUJVRykKKyAg ICAgICYmIChhc2VjdC0+ZmxhZ3MgJiBTRUNfREVCVUdHSU5HKQorICAgICAg JiYgbmFtZVsxXSA9PSAnZCcKKyAgICAgICYmIG5hbWVbNl0gPT0gJ18nKQor ICAgIHsKKyAgICAgIC8qIFNldCBTRUNfRUxGX0NPTVBSRVNTIHRvIGluZGlj YXRlIHRoaXMgc2VjdGlvbiBzaG91bGQgYmUKKwkgY29tcHJlc3NlZC4gICov CisgICAgICBhc2VjdC0+ZmxhZ3MgfD0gU0VDX0VMRl9DT01QUkVTUzsKKwor ICAgICAgaWYgKGFyZy0+bGlua19pbmZvLT5jb21wcmVzc19kZWJ1ZyAhPSBD T01QUkVTU19ERUJVR19HQUJJX1pMSUIpCisJeworCSAgLyogSWYgU0hGX0NP TVBSRVNTRUQgaXNuJ3QgdXNlZCwgcmVuYW1lIGNvbXByZXNzZWQgRFdBUkYK KwkgICAgIGRlYnVnIHNlY3Rpb24gdG8gLnpkZWJ1Z18qLiAgKi8KKwkgIHVu c2lnbmVkIGludCBsZW4gPSBzdHJsZW4gKG5hbWUpOworCSAgY2hhciAqbmV3 X25hbWUgPSBiZmRfYWxsb2MgKGFiZmQsIGxlbiArIDIpOworCSAgaWYgKG5l d19uYW1lID09IE5VTEwpCisJICAgIHsKKwkgICAgICBhcmctPmZhaWxlZCA9 IFRSVUU7CisJICAgICAgcmV0dXJuOworCSAgICB9CisJICBuZXdfbmFtZVsw XSA9ICcuJzsKKwkgIG5ld19uYW1lWzFdID0gJ3onOworCSAgbWVtY3B5IChu ZXdfbmFtZSArIDIsIG5hbWUgKyAxLCBsZW4pOworCSAgYmZkX3JlbmFtZV9z ZWN0aW9uIChhYmZkLCBhc2VjdCwgbmV3X25hbWUpOworCSAgbmFtZSA9IGFz ZWN0LT5uYW1lOworCX0KKyAgICB9CisKICAgdGhpc19oZHItPnNoX25hbWUg PSAodW5zaWduZWQgaW50KSBfYmZkX2VsZl9zdHJ0YWJfYWRkIChlbGZfc2hz dHJ0YWIgKGFiZmQpLAotCQkJCQkJCSAgYXNlY3QtPm5hbWUsIEZBTFNFKTsK KwkJCQkJCQkgIG5hbWUsIEZBTFNFKTsKICAgaWYgKHRoaXNfaGRyLT5zaF9u YW1lID09ICh1bnNpZ25lZCBpbnQpIC0xKQogICAgIHsKICAgICAgIGFyZy0+ ZmFpbGVkID0gVFJVRTsKQEAgLTUxMTYsNiArNTE0Nyw5IEBAIGFzc2lnbl9m aWxlX3Bvc2l0aW9uc19mb3Jfbm9uX2xvYWRfc2VjdGlvbnMgKGJmZCAqYWJm ZCwKIAl9CiAgICAgICBlbHNlIGlmICgoKGhkci0+c2hfdHlwZSA9PSBTSFRf UkVMIHx8IGhkci0+c2hfdHlwZSA9PSBTSFRfUkVMQSkKIAkJJiYgaGRyLT5i ZmRfc2VjdGlvbiA9PSBOVUxMKQorCSAgICAgICB8fCAoaGRyLT5iZmRfc2Vj dGlvbiAhPSBOVUxMCisJCSAgICYmIChoZHItPmJmZF9zZWN0aW9uLT5mbGFn cyAmIFNFQ19FTEZfQ09NUFJFU1MpKQorCQkgICAvKiBDb21wcmVzcyBEV0FS RiBkZWJ1ZyBzZWN0aW9ucy4gICovCiAJICAgICAgIHx8IGhkciA9PSBpX3No ZHJwcFtlbGZfb25lc3ltdGFiIChhYmZkKV0KIAkgICAgICAgfHwgaGRyID09 IGlfc2hkcnBwW2VsZl9zeW10YWJfc2huZHggKGFiZmQpXQogCSAgICAgICB8 fCBoZHIgPT0gaV9zaGRycHBbZWxmX3N0cnRhYl9zZWMgKGFiZmQpXSkKQEAg LTUzNjUsNiArNTM5OSw5IEBAIGFzc2lnbl9maWxlX3Bvc2l0aW9uc19leGNl cHRfcmVsb2NzIChiZmQgKmFiZmQsCiAJICBoZHIgPSAqaGRycHA7CiAJICBp ZiAoKChoZHItPnNoX3R5cGUgPT0gU0hUX1JFTCB8fCBoZHItPnNoX3R5cGUg PT0gU0hUX1JFTEEpCiAJICAgICAgICYmIGhkci0+YmZkX3NlY3Rpb24gPT0g TlVMTCkKKwkgICAgICB8fCAoaGRyLT5iZmRfc2VjdGlvbiAhPSBOVUxMCisJ CSAgJiYgKGhkci0+YmZkX3NlY3Rpb24tPmZsYWdzICYgU0VDX0VMRl9DT01Q UkVTUykpCisJCSAgLyogQ29tcHJlc3MgRFdBUkYgZGVidWcgc2VjdGlvbnMu ICAqLwogCSAgICAgIHx8IGkgPT0gZWxmX29uZXN5bXRhYiAoYWJmZCkKIAkg ICAgICB8fCBpID09IGVsZl9zeW10YWJfc2huZHggKGFiZmQpCiAJICAgICAg fHwgaSA9PSBlbGZfc3RydGFiX3NlYyAoYWJmZCkpCkBAIC01NTE4LDggKzU1 NTUsOCBAQCBwcmVwX2hlYWRlcnMgKGJmZCAqYWJmZCkKIC8qIEFzc2lnbiBm aWxlIHBvc2l0aW9ucyBmb3IgYWxsIHRoZSByZWxvYyBzZWN0aW9ucyB3aGlj aCBhcmUgbm90IHBhcnQKICAgIG9mIHRoZSBsb2FkYWJsZSBmaWxlIGltYWdl LCBhbmQgdGhlIGZpbGUgcG9zaXRpb24gb2Ygc2VjdGlvbiBoZWFkZXJzLiAg Ki8KIAotc3RhdGljIHZvaWQKLV9iZmRfZWxmX2Fzc2lnbl9maWxlX3Bvc2l0 aW9uc19mb3JfcmVsb2NzIChiZmQgKmFiZmQpCitzdGF0aWMgYmZkX2Jvb2xl YW4KK19iZmRfZWxmX2Fzc2lnbl9maWxlX3Bvc2l0aW9uc19mb3Jfbm9uX2xv YWQgKGJmZCAqYWJmZCkKIHsKICAgZmlsZV9wdHIgb2ZmOwogICB1bnNpZ25l ZCBpbnQgaSwgbnVtX3NlYzsKQEAgLTU1MzUsOSArNTU3MiwzMCBAQCBfYmZk X2VsZl9hc3NpZ25fZmlsZV9wb3NpdGlvbnNfZm9yX3JlbG9jcyAoYmZkICph YmZkKQogICAgICAgRWxmX0ludGVybmFsX1NoZHIgKnNoZHJwOwogCiAgICAg ICBzaGRycCA9ICpzaGRycHA7Ci0gICAgICBpZiAoKHNoZHJwLT5zaF90eXBl ID09IFNIVF9SRUwgfHwgc2hkcnAtPnNoX3R5cGUgPT0gU0hUX1JFTEEpCi0J ICAmJiBzaGRycC0+c2hfb2Zmc2V0ID09IC0xKQotCW9mZiA9IF9iZmRfZWxm X2Fzc2lnbl9maWxlX3Bvc2l0aW9uX2Zvcl9zZWN0aW9uIChzaGRycCwgb2Zm LCBUUlVFKTsKKyAgICAgIGlmIChzaGRycC0+c2hfb2Zmc2V0ID09IC0xKQor CXsKKwkgIGJmZF9ib29sZWFuIGlzX3JlbCA9IChzaGRycC0+c2hfdHlwZSA9 PSBTSFRfUkVMCisJCQkJfHwgc2hkcnAtPnNoX3R5cGUgPT0gU0hUX1JFTEEp OworCSAgaWYgKGlzX3JlbAorCSAgICAgIHx8IChzaGRycC0+YmZkX3NlY3Rp b24gIT0gTlVMTAorCQkgICYmIChzaGRycC0+YmZkX3NlY3Rpb24tPmZsYWdz ICYgU0VDX0VMRl9DT01QUkVTUykpKQorCSAgICB7CisJICAgICAgaWYgKCFp c19yZWwpCisJCXsKKwkJICAvKiBDb21wcmVzcyBEV0FSRiBkZWJ1ZyBzZWN0 aW9ucy4gICovCisJCSAgaWYgKCFiZmRfY29tcHJlc3Nfc2VjdGlvbiAoYWJm ZCwgc2hkcnAtPmJmZF9zZWN0aW9uLAorCQkJCQkgICAgIHNoZHJwLT5jb250 ZW50cykpCisJCSAgICByZXR1cm4gRkFMU0U7CisJCSAgLyogVXBkYXRlIHNl Y3Rpb24gc2l6ZSBhbmQgY29udGVudHMuICAqLworCQkgIHNoZHJwLT5zaF9z aXplID0gc2hkcnAtPmJmZF9zZWN0aW9uLT5zaXplOworCQkgIHNoZHJwLT5j b250ZW50cyA9IHNoZHJwLT5iZmRfc2VjdGlvbi0+Y29udGVudHM7CisJCSAg c2hkcnAtPmJmZF9zZWN0aW9uLT5jb250ZW50cyA9IE5VTEw7CisJCX0KKwkg ICAgICBvZmYgPSBfYmZkX2VsZl9hc3NpZ25fZmlsZV9wb3NpdGlvbl9mb3Jf c2VjdGlvbiAoc2hkcnAsCisJCQkJCQkJICAgICAgIG9mZiwKKwkJCQkJCQkg ICAgICAgVFJVRSk7CisJICAgIH0KKwl9CiAgICAgfQogCiAvKiBQbGFjZSB0 aGUgc2VjdGlvbiBoZWFkZXJzLiAgKi8KQEAgLTU1NDcsNiArNTYwNSw4IEBA IF9iZmRfZWxmX2Fzc2lnbl9maWxlX3Bvc2l0aW9uc19mb3JfcmVsb2NzIChi ZmQgKmFiZmQpCiAgIGlfZWhkcnAtPmVfc2hvZmYgPSBvZmY7CiAgIG9mZiAr PSBpX2VoZHJwLT5lX3NobnVtICogaV9laGRycC0+ZV9zaGVudHNpemU7CiAg IGVsZl9uZXh0X2ZpbGVfcG9zIChhYmZkKSA9IG9mZjsKKworICByZXR1cm4g VFJVRTsKIH0KIAogYmZkX2Jvb2xlYW4KQEAgLTU1NjksNyArNTYyOSw4IEBA IF9iZmRfZWxmX3dyaXRlX29iamVjdF9jb250ZW50cyAoYmZkICphYmZkKQog ICBpZiAoZmFpbGVkKQogICAgIHJldHVybiBGQUxTRTsKIAotICBfYmZkX2Vs Zl9hc3NpZ25fZmlsZV9wb3NpdGlvbnNfZm9yX3JlbG9jcyAoYWJmZCk7Cisg IGlmICghX2JmZF9lbGZfYXNzaWduX2ZpbGVfcG9zaXRpb25zX2Zvcl9ub25f bG9hZCAoYWJmZCkpCisgICAgcmV0dXJuIEZBTFNFOwogCiAgIC8qIEFmdGVy IHdyaXRpbmcgdGhlIGhlYWRlcnMsIHdlIG5lZWQgdG8gd3JpdGUgdGhlIHNl Y3Rpb25zIHRvby4uLiAgKi8KICAgbnVtX3NlYyA9IGVsZl9udW1zZWN0aW9u cyAoYWJmZCk7CkBAIC03OTIyLDcgKzc5ODMsMjkgQEAgX2JmZF9lbGZfc2V0 X3NlY3Rpb25fY29udGVudHMgKGJmZCAqYWJmZCwKICAgICAgICYmICEgX2Jm ZF9lbGZfY29tcHV0ZV9zZWN0aW9uX2ZpbGVfcG9zaXRpb25zIChhYmZkLCBO VUxMKSkKICAgICByZXR1cm4gRkFMU0U7CiAKKyAgaWYgKCFjb3VudCkKKyAg ICByZXR1cm4gVFJVRTsKKwogICBoZHIgPSAmZWxmX3NlY3Rpb25fZGF0YSAo c2VjdGlvbiktPnRoaXNfaGRyOworICBpZiAoaGRyLT5zaF9vZmZzZXQgPT0g KGZpbGVfcHRyKSAtMSkKKyAgICB7CisgICAgICAvKiBXZSBtdXN0IGNvbXBy ZXNzIHRoaXMgc2VjdGlvbi4gIFdyaXRlIG91dHB1dCB0byBhIGJ1ZmZlci4g ICovCisgICAgICB1bnNpZ25lZCBjaGFyICpjb250ZW50cyA9IGhkci0+Y29u dGVudHM7CisgICAgICBpZiAoKG9mZnNldCArIGNvdW50KSA+IGhkci0+c2hf c2l6ZQorCSAgfHwgKHNlY3Rpb24tPmZsYWdzICYgU0VDX0VMRl9DT01QUkVT UykgPT0gMCkKKwlhYm9ydCAoKTsKKyAgICAgIGlmIChjb250ZW50cyA9PSBO VUxMKQorCXsKKwkgIC8qIFVzZSBiZmRfbWFsbG9jIHNpbmNlIGl0IHdpbGwg YmUgZnJlZWQgYnkKKwkgICAgIGJmZF9jb21wcmVzc19zZWN0aW9uX2NvbnRl bnRzLiAgKi8KKwkgIGNvbnRlbnRzID0gKHVuc2lnbmVkIGNoYXIgKikgYmZk X21hbGxvYyAoaGRyLT5zaF9zaXplKTsKKwkgIGlmIChjb250ZW50cyA9PSBO VUxMKQorCSAgICByZXR1cm4gRkFMU0U7CisJICBoZHItPmNvbnRlbnRzID0g Y29udGVudHM7CisJfQorICAgICAgbWVtY3B5IChjb250ZW50cyArIG9mZnNl dCwgbG9jYXRpb24sIGNvdW50KTsKKyAgICAgIHJldHVybiBUUlVFOworICAg IH0KICAgcG9zID0gaGRyLT5zaF9vZmZzZXQgKyBvZmZzZXQ7CiAgIGlmIChi ZmRfc2VlayAoYWJmZCwgcG9zLCBTRUVLX1NFVCkgIT0gMAogICAgICAgfHwg YmZkX2J3cml0ZSAobG9jYXRpb24sIGNvdW50LCBhYmZkKSAhPSBjb3VudCkK ZGlmZiAtLWdpdCBhL2JmZC9tZXJnZS5jIGIvYmZkL21lcmdlLmMKaW5kZXgg NWY0NWJhNi4uYjc3YTM0NiAxMDA2NDQKLS0tIGEvYmZkL21lcmdlLmMKKysr IGIvYmZkL21lcmdlLmMKQEAgLTI1LDYgKzI1LDcgQEAKIAogI2luY2x1ZGUg InN5c2RlcC5oIgogI2luY2x1ZGUgImJmZC5oIgorI2luY2x1ZGUgImVsZi1i ZmQuaCIKICNpbmNsdWRlICJsaWJiZmQuaCIKICNpbmNsdWRlICJoYXNodGFi LmgiCiAjaW5jbHVkZSAibGliaWJlcnR5LmgiCkBAIC0yODMsMTMgKzI4NCwx NSBAQCBzZWNfbWVyZ2VfYWRkIChzdHJ1Y3Qgc2VjX21lcmdlX2hhc2ggKnRh YiwgY29uc3QgY2hhciAqc3RyLAogfQogCiBzdGF0aWMgYmZkX2Jvb2xlYW4K LXNlY19tZXJnZV9lbWl0IChiZmQgKmFiZmQsIHN0cnVjdCBzZWNfbWVyZ2Vf aGFzaF9lbnRyeSAqZW50cnkpCitzZWNfbWVyZ2VfZW1pdCAoYmZkICphYmZk LCBzdHJ1Y3Qgc2VjX21lcmdlX2hhc2hfZW50cnkgKmVudHJ5LAorCQlmaWxl X3B0ciBvZmZzZXQpCiB7CiAgIHN0cnVjdCBzZWNfbWVyZ2Vfc2VjX2luZm8g KnNlY2luZm8gPSBlbnRyeS0+c2VjaW5mbzsKICAgYXNlY3Rpb24gKnNlYyA9 IHNlY2luZm8tPnNlYzsKICAgY2hhciAqcGFkID0gTlVMTDsKICAgYmZkX3Np emVfdHlwZSBvZmYgPSAwOwogICBpbnQgYWxpZ25tZW50X3Bvd2VyID0gc2Vj LT5vdXRwdXRfc2VjdGlvbi0+YWxpZ25tZW50X3Bvd2VyOworICB1bnNpZ25l ZCBjaGFyICpjb250ZW50cyA9IE5VTEw7CiAKICAgaWYgKGFsaWdubWVudF9w b3dlcikKICAgICB7CkBAIC0yOTgsNiArMzAxLDE0IEBAIHNlY19tZXJnZV9l bWl0IChiZmQgKmFiZmQsIHN0cnVjdCBzZWNfbWVyZ2VfaGFzaF9lbnRyeSAq ZW50cnkpCiAJcmV0dXJuIEZBTFNFOwogICAgIH0KIAorICBpZiAoYmZkX2dl dF9mbGF2b3VyIChhYmZkKSA9PSBiZmRfdGFyZ2V0X2VsZl9mbGF2b3VyKQor ICAgIHsKKyAgICAgIEVsZl9JbnRlcm5hbF9TaGRyICpoZHIKKwk9ICZlbGZf c2VjdGlvbl9kYXRhIChzZWMtPm91dHB1dF9zZWN0aW9uKS0+dGhpc19oZHI7 CisgICAgICBpZiAoaGRyLT5zaF9vZmZzZXQgPT0gKGZpbGVfcHRyKSAtMSkK Kwljb250ZW50cyA9IGhkci0+Y29udGVudHM7CisgICAgfQorCiAgIGZvciAo OyBlbnRyeSAhPSBOVUxMICYmIGVudHJ5LT5zZWNpbmZvID09IHNlY2luZm87 IGVudHJ5ID0gZW50cnktPm5leHQpCiAgICAgewogICAgICAgY29uc3QgY2hh ciAqc3RyOwpAQCAtMzA2LDcgKzMxNywxMiBAQCBzZWNfbWVyZ2VfZW1pdCAo YmZkICphYmZkLCBzdHJ1Y3Qgc2VjX21lcmdlX2hhc2hfZW50cnkgKmVudHJ5 KQogICAgICAgbGVuID0gLW9mZiAmIChlbnRyeS0+YWxpZ25tZW50IC0gMSk7 CiAgICAgICBpZiAobGVuICE9IDApCiAJewotCSAgaWYgKGJmZF9id3JpdGUg KHBhZCwgbGVuLCBhYmZkKSAhPSBsZW4pCisJICBpZiAoY29udGVudHMpCisJ ICAgIHsKKwkgICAgICBtZW1jcHkgKGNvbnRlbnRzICsgb2Zmc2V0LCBwYWQs IGxlbik7CisJICAgICAgb2Zmc2V0ICs9IGxlbjsKKwkgICAgfQorCSAgZWxz ZSBpZiAoYmZkX2J3cml0ZSAocGFkLCBsZW4sIGFiZmQpICE9IGxlbikKIAkg ICAgZ290byBlcnI7CiAJICBvZmYgKz0gbGVuOwogCX0KQEAgLTMxNCw3ICsz MzAsMTIgQEAgc2VjX21lcmdlX2VtaXQgKGJmZCAqYWJmZCwgc3RydWN0IHNl Y19tZXJnZV9oYXNoX2VudHJ5ICplbnRyeSkKICAgICAgIHN0ciA9IGVudHJ5 LT5yb290LnN0cmluZzsKICAgICAgIGxlbiA9IGVudHJ5LT5sZW47CiAKLSAg ICAgIGlmIChiZmRfYndyaXRlIChzdHIsIGxlbiwgYWJmZCkgIT0gbGVuKQor ICAgICAgaWYgKGNvbnRlbnRzKQorCXsKKwkgIG1lbWNweSAoY29udGVudHMg KyBvZmZzZXQsIHN0ciwgbGVuKTsKKwkgIG9mZnNldCArPSBsZW47CisJfQor ICAgICAgZWxzZSBpZiAoYmZkX2J3cml0ZSAoc3RyLCBsZW4sIGFiZmQpICE9 IGxlbikKIAlnb3RvIGVycjsKIAogICAgICAgb2ZmICs9IGxlbjsKQEAgLTMy Miw5ICszNDMsMTMgQEAgc2VjX21lcmdlX2VtaXQgKGJmZCAqYWJmZCwgc3Ry dWN0IHNlY19tZXJnZV9oYXNoX2VudHJ5ICplbnRyeSkKIAogICAvKiBUcmFp bGluZyBhbGlnbm1lbnQgbmVlZGVkPyAgKi8KICAgb2ZmID0gc2VjLT5zaXpl IC0gb2ZmOwotICBpZiAob2ZmICE9IDAKLSAgICAgICYmIGJmZF9id3JpdGUg KHBhZCwgb2ZmLCBhYmZkKSAhPSBvZmYpCi0gICAgZ290byBlcnI7CisgIGlm IChvZmYgIT0gMCkKKyAgICB7CisgICAgICBpZiAoY29udGVudHMpCisJbWVt Y3B5IChjb250ZW50cyArIG9mZnNldCwgcGFkLCBvZmYpOworICAgICAgZWxz ZSBpZiAoYmZkX2J3cml0ZSAocGFkLCBvZmYsIGFiZmQpICE9IG9mZikKKwln b3RvIGVycjsKKyAgICB9CiAKICAgaWYgKHBhZCAhPSBOVUxMKQogICAgIGZy ZWUgKHBhZCk7CkBAIC03ODUsNiArODEwLDcgQEAgX2JmZF93cml0ZV9tZXJn ZWRfc2VjdGlvbiAoYmZkICpvdXRwdXRfYmZkLCBhc2VjdGlvbiAqc2VjLCB2 b2lkICpwc2VjaW5mbykKIHsKICAgc3RydWN0IHNlY19tZXJnZV9zZWNfaW5m byAqc2VjaW5mbzsKICAgZmlsZV9wdHIgcG9zOworICB1bnNpZ25lZCBjaGFy ICpjb250ZW50czsKIAogICBzZWNpbmZvID0gKHN0cnVjdCBzZWNfbWVyZ2Vf c2VjX2luZm8gKikgcHNlY2luZm87CiAKQEAgLTc5NCwxMiArODIwLDQyIEBA IF9iZmRfd3JpdGVfbWVyZ2VkX3NlY3Rpb24gKGJmZCAqb3V0cHV0X2JmZCwg YXNlY3Rpb24gKnNlYywgdm9pZCAqcHNlY2luZm8pCiAgIGlmIChzZWNpbmZv LT5maXJzdF9zdHIgPT0gTlVMTCkKICAgICByZXR1cm4gVFJVRTsKIAorICBj b250ZW50cyA9IE5VTEw7CisKICAgLyogRklYTUU6IG9jdGV0c19wZXJfYnl0 ZS4gICovCi0gIHBvcyA9IHNlYy0+b3V0cHV0X3NlY3Rpb24tPmZpbGVwb3Mg KyBzZWMtPm91dHB1dF9vZmZzZXQ7Ci0gIGlmIChiZmRfc2VlayAob3V0cHV0 X2JmZCwgcG9zLCBTRUVLX1NFVCkgIT0gMCkKLSAgICByZXR1cm4gRkFMU0U7 CisgIGlmIChiZmRfZ2V0X2ZsYXZvdXIgKG91dHB1dF9iZmQpID09IGJmZF90 YXJnZXRfZWxmX2ZsYXZvdXIpCisgICAgeworICAgICAgRWxmX0ludGVybmFs X1NoZHIgKmhkcgorCT0gJmVsZl9zZWN0aW9uX2RhdGEgKHNlYy0+b3V0cHV0 X3NlY3Rpb24pLT50aGlzX2hkcjsKKyAgICAgIGlmIChoZHItPnNoX29mZnNl dCA9PSAoZmlsZV9wdHIpIC0xKQorCXsKKwkgIGlmICgoc2VjLT5vdXRwdXRf c2VjdGlvbi0+ZmxhZ3MgJiBTRUNfRUxGX0NPTVBSRVNTKSA9PSAwKQorCSAg ICBhYm9ydCAoKTsKKworCSAgLyogQ2FjaGUgdGhlIHNlY3Rpb24gY29udGVu dHMgc28gdGhhdCB0aGV5IGNhbiBiZSBjb21wcmVzc2VkCisJICAgICBsYXRl ci4gICovCisJICBjb250ZW50cyA9IGhkci0+Y29udGVudHM7CisJICBpZiAo Y29udGVudHMgPT0gTlVMTCkKKwkgICAgeworCSAgICAgIC8qIFVzZSBiZmRf bWFsbG9jIHNpbmNlIGl0IHdpbGwgYmUgZnJlZWQgYnkKKwkJIGJmZF9jb21w cmVzc19zZWN0aW9uX2NvbnRlbnRzLiAgKi8KKwkgICAgICBjb250ZW50cyA9 ICh1bnNpZ25lZCBjaGFyICopIGJmZF9tYWxsb2MgKGhkci0+c2hfc2l6ZSk7 CisJICAgICAgaWYgKGNvbnRlbnRzID09IE5VTEwpCisJCXJldHVybiBGQUxT RTsKKwkgICAgICBoZHItPmNvbnRlbnRzID0gY29udGVudHM7CisJICAgIH0K Kwl9CisgICAgfQorCisgIGlmIChjb250ZW50cyA9PSBOVUxMKQorICAgIHsK KyAgICAgIHBvcyA9IHNlYy0+b3V0cHV0X3NlY3Rpb24tPmZpbGVwb3MgKyBz ZWMtPm91dHB1dF9vZmZzZXQ7CisgICAgICBpZiAoYmZkX3NlZWsgKG91dHB1 dF9iZmQsIHBvcywgU0VFS19TRVQpICE9IDApCisJcmV0dXJuIEZBTFNFOwor ICAgIH0KIAotICBpZiAoISBzZWNfbWVyZ2VfZW1pdCAob3V0cHV0X2JmZCwg c2VjaW5mby0+Zmlyc3Rfc3RyKSkKKyAgaWYgKCEgc2VjX21lcmdlX2VtaXQg KG91dHB1dF9iZmQsIHNlY2luZm8tPmZpcnN0X3N0ciwKKwkJCXNlYy0+b3V0 cHV0X29mZnNldCkpCiAgICAgcmV0dXJuIEZBTFNFOwogCiAgIHJldHVybiBU UlVFOwpkaWZmIC0tZ2l0IGEvYmZkL3NlY3Rpb24uYyBiL2JmZC9zZWN0aW9u LmMKaW5kZXggNGE2ZjJlNC4uZDU5YTBlMyAxMDA2NDQKLS0tIGEvYmZkL3Nl Y3Rpb24uYworKysgYi9iZmQvc2VjdGlvbi5jCkBAIC0zMzQsNiArMzM0LDEw IEBAIENPREVfRlJBR01FTlQKIC4gICAgIGV4ZWN1dGFibGVzIG9yIHNoYXJl ZCBvYmplY3RzLiBUaGlzIGlzIGZvciBDT0ZGIG9ubHkuICAqfQogLiNkZWZp bmUgU0VDX0NPRkZfU0hBUkVEIDB4ODAwMDAwMAogLgorLiAgeyogVGhpcyBz ZWN0aW9uIHNob3VsZCBiZSBjb21wcmVzc2VkLiAgVGhpcyBpcyBmb3IgRUxG IGxpbmtlcgorLiAgICAgaW50ZXJuYWwgdXNlIG9ubHkuICAqfQorLiNkZWZp bmUgU0VDX0VMRl9DT01QUkVTUyAweDgwMDAwMDAKKy4KIC4gIHsqIFdoZW4g YSBzZWN0aW9uIHdpdGggdGhpcyBmbGFnIGlzIGJlaW5nIGxpbmtlZCwgdGhl biBpZiB0aGUgc2l6ZSBvZgogLiAgICAgdGhlIGlucHV0IHNlY3Rpb24gaXMg bGVzcyB0aGFuIGEgcGFnZSwgaXQgc2hvdWxkIG5vdCBjcm9zcyBhIHBhZ2UK IC4gICAgIGJvdW5kYXJ5LiAgSWYgdGhlIHNpemUgb2YgdGhlIGlucHV0IHNl Y3Rpb24gaXMgb25lIHBhZ2Ugb3IgbW9yZSwKZGlmZiAtLWdpdCBhL2dhcy9h cy5oIGIvZ2FzL2FzLmgKaW5kZXggZTA0Y2MwZi4uNmRlMzE5ZSAxMDA2NDQK LS0tIGEvZ2FzL2FzLmgKKysrIGIvZ2FzL2FzLmgKQEAgLTM3MCwxNiArMzcw LDYgQEAgQ09NTU9OIGludCBmbGFnX3N0cmlwX2xvY2FsX2Fic29sdXRlOwog LyogVHJ1ZSBpZiB3ZSBzaG91bGQgZ2VuZXJhdGUgYSB0cmFkaXRpb25hbCBm b3JtYXQgb2JqZWN0IGZpbGUuICAqLwogQ09NTU9OIGludCBmbGFnX3RyYWRp dGlvbmFsX2Zvcm1hdDsKIAotLyogVHlwZXMgb2YgY29tcHJlc3NlZCBkZWJ1 ZyBzZWN0aW9ucy4gIFdlIGN1cnJlbnRseSBzdXBwb3J0IHpsaWIuICAqLwot ZW51bSBjb21wcmVzc2VkX2RlYnVnX3NlY3Rpb25fdHlwZQotewotICBDT01Q UkVTU19ERUJVR19OT05FID0gMCwKLSAgQ09NUFJFU1NfREVCVUcsCi0gIENP TVBSRVNTX0RFQlVHX1pMSUIsCi0gIENPTVBSRVNTX0RFQlVHX0dOVV9aTElC LAotICBDT01QUkVTU19ERUJVR19HQUJJX1pMSUIKLX07Ci0KIC8qIFR5cGUg b2YgY29tcHJlc3NlZCBkZWJ1ZyBzZWN0aW9ucyB3ZSBzaG91bGQgZ2VuZXJh dGUuICAgKi8KIENPTU1PTiBlbnVtIGNvbXByZXNzZWRfZGVidWdfc2VjdGlv bl90eXBlIGZsYWdfY29tcHJlc3NfZGVidWc7CiAKZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvYmZkbGluay5oIGIvaW5jbHVkZS9iZmRsaW5rLmgKaW5kZXggNmEw MmEzYy4uMDEyNTY5YiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9iZmRsaW5rLmgK KysrIGIvaW5jbHVkZS9iZmRsaW5rLmgKQEAgLTQzMSw2ICs0MzEsOSBAQCBz dHJ1Y3QgYmZkX2xpbmtfaW5mbwogICAvKiBTZXBhcmF0b3IgYmV0d2VlbiBh cmNoaXZlIGFuZCBmaWxlbmFtZSBpbiBsaW5rZXIgc2NyaXB0IGZpbGVzcGVj cy4gICovCiAgIGNoYXIgcGF0aF9zZXBhcmF0b3I7CiAKKyAgLyogQ29tcHJl c3MgRFdBUkYgZGVidWcgc2VjdGlvbnMuICAqLworICBlbnVtIGNvbXByZXNz ZWRfZGVidWdfc2VjdGlvbl90eXBlIGNvbXByZXNzX2RlYnVnOworCiAgIC8q IERlZmF1bHQgc3RhY2sgc2l6ZS4gIFplcm8gbWVhbnMgZGVmYXVsdCAob2Z0 ZW4gemVybyBpdHNlbGYpLCAtMQogICAgICBtZWFucyBleHBsaWNpdGx5IHpl cm8tc2l6ZWQuICAqLwogICBiZmRfc2lnbmVkX3ZtYSBzdGFja3NpemU7CmRp ZmYgLS1naXQgYS9sZC9lbXVsdGVtcGwvZWxmMzIuZW0gYi9sZC9lbXVsdGVt cGwvZWxmMzIuZW0KaW5kZXggNWRiNWE5My4uMDgwMmQ3NiAxMDA2NDQKLS0t IGEvbGQvZW11bHRlbXBsL2VsZjMyLmVtCisrKyBiL2xkL2VtdWx0ZW1wbC9l bGYzMi5lbQpAQCAtMjExMCw2ICsyMTEwLDcgQEAgZnJhZ21lbnQgPDxFT0YK ICNkZWZpbmUgT1BUSU9OX0hBU0hfU1RZTEUJCShPUFRJT05fRVhDTFVERV9M SUJTICsgMSkKICNkZWZpbmUgT1BUSU9OX0JVSUxEX0lECQkJKE9QVElPTl9I QVNIX1NUWUxFICsgMSkKICNkZWZpbmUgT1BUSU9OX0FVRElUCQkJKE9QVElP Tl9CVUlMRF9JRCArIDEpCisjZGVmaW5lIE9QVElPTl9DT01QUkVTU19ERUJV RwkJKE9QVElPTl9BVURJVCArIDEpCiAKIHN0YXRpYyB2b2lkCiBnbGQke0VN VUxBVElPTl9OQU1FfV9hZGRfb3B0aW9ucwpAQCAtMjEzNyw2ICsyMTM4LDcg QEAgRU9GCiBmaQogZnJhZ21lbnQgPDxFT0YKICAgICB7ImJ1aWxkLWlkIiwg b3B0aW9uYWxfYXJndW1lbnQsIE5VTEwsIE9QVElPTl9CVUlMRF9JRH0sCisg ICAgeyJjb21wcmVzcy1kZWJ1Zy1zZWN0aW9ucyIsIHJlcXVpcmVkX2FyZ3Vt ZW50LCBOVUxMLCBPUFRJT05fQ09NUFJFU1NfREVCVUd9LAogRU9GCiBpZiB0 ZXN0IHgiJEdFTkVSQVRFX1NITElCX1NDUklQVCIgPSB4eWVzOyB0aGVuCiBm cmFnbWVudCA8PEVPRgpAQCAtMjE4Niw2ICsyMTg4LDE5IEBAIGdsZCR7RU1V TEFUSU9OX05BTUV9X2hhbmRsZV9vcHRpb24gKGludCBvcHRjKQogCWVtaXRf bm90ZV9nbnVfYnVpbGRfaWQgPSB4c3RyZHVwIChvcHRhcmcpOwogICAgICAg YnJlYWs7CiAKKyAgICBjYXNlIE9QVElPTl9DT01QUkVTU19ERUJVRzoKKyAg ICAgIGlmIChzdHJjYXNlY21wIChvcHRhcmcsICJub25lIikgPT0gMCkKKwls aW5rX2luZm8uY29tcHJlc3NfZGVidWcgPSBDT01QUkVTU19ERUJVR19OT05F OworICAgICAgZWxzZSBpZiAoc3RyY2FzZWNtcCAob3B0YXJnLCAiemxpYiIp ID09IDApCisJbGlua19pbmZvLmNvbXByZXNzX2RlYnVnID0gQ09NUFJFU1Nf REVCVUdfWkxJQjsKKyAgICAgIGVsc2UgaWYgKHN0cmNhc2VjbXAgKG9wdGFy ZywgInpsaWItZ251IikgPT0gMCkKKwlsaW5rX2luZm8uY29tcHJlc3NfZGVi dWcgPSBDT01QUkVTU19ERUJVR19HTlVfWkxJQjsKKyAgICAgIGVsc2UgaWYg KHN0cmNhc2VjbXAgKG9wdGFyZywgInpsaWItZ2FiaSIpID09IDApCisJbGlu a19pbmZvLmNvbXByZXNzX2RlYnVnID0gQ09NUFJFU1NfREVCVUdfR0FCSV9a TElCOworICAgICAgZWxzZQorCWVpbmZvIChfKCIlUCVGOiBpbnZhbGlkIC0t Y29tcHJlc3MtZGVidWctc2VjdGlvbnMgb3B0aW9uOiBcYCVzJ1xuIiksCisJ ICAgICAgIG9wdGFyZyk7CisgICAgICBicmVhazsKIEVPRgogCiBpZiB0ZXN0 IHgiJEdFTkVSQVRFX1NITElCX1NDUklQVCIgPSB4eWVzOyB0aGVuCmRpZmYg LS1naXQgYS9sZC9sZC50ZXhpbmZvIGIvbGQvbGQudGV4aW5mbwppbmRleCA1 Mzg0Yzk4Li40NjJlYzM0IDEwMDY0NAotLS0gYS9sZC9sZC50ZXhpbmZvCisr KyBiL2xkL2xkLnRleGluZm8KQEAgLTIxOTMsNiArMjE5MywyMiBAQCBuZXcg c3R5bGUgR05VIEBjb2Rley5nbnUuaGFzaH0gc2VjdGlvbiBvciBAY29kZXti b3RofSBmb3IgYm90aAogdGhlIGNsYXNzaWMgRUxGIEBjb2Rley5oYXNofSBh bmQgbmV3IHN0eWxlIEdOVSBAY29kZXsuZ251Lmhhc2h9CiBoYXNoIHRhYmxl cy4gIFRoZSBkZWZhdWx0IGlzIEBjb2Rle3N5c3Z9LgogCitAa2luZGV4IC0t Y29tcHJlc3MtZGVidWctc2VjdGlvbnM9bm9uZQorQGtpbmRleCAtLWNvbXBy ZXNzLWRlYnVnLXNlY3Rpb25zPXpsaWIKK0BraW5kZXggLS1jb21wcmVzcy1k ZWJ1Zy1zZWN0aW9ucz16bGliLWdudQorQGtpbmRleCAtLWNvbXByZXNzLWRl YnVnLXNlY3Rpb25zPXpsaWItZ2FiaQorQGl0ZW0gLS1jb21wcmVzcy1kZWJ1 Zy1zZWN0aW9ucz1ub25lCitAaXRlbXggLS1jb21wcmVzcy1kZWJ1Zy1zZWN0 aW9ucz16bGliCitAaXRlbXggLS1jb21wcmVzcy1kZWJ1Zy1zZWN0aW9ucz16 bGliLWdudQorQGl0ZW14IC0tY29tcHJlc3MtZGVidWctc2VjdGlvbnM9emxp Yi1nYWJpCitPbiBFTEYgcGxhdGZvcm1zICwgdGhlc2Ugb3B0aW9ucyBjb250 cm9sIGhvdyBEV0FSRiBkZWJ1ZyBzZWN0aW9ucyBhcmUKK2NvbXByZXNzZWQg dXNpbmcgemxpYi4gIEBvcHRpb257LS1jb21wcmVzcy1kZWJ1Zy1zZWN0aW9u cz1ub25lfSBkb2Vzbid0Citjb21wcmVzcyBEV0FSRiBkZWJ1ZyBzZWN0aW9u cy4gIEBvcHRpb257LS1jb21wcmVzcy1kZWJ1Zy1zZWN0aW9ucz16bGlifQor YW5kIEBvcHRpb257LS1jb21wcmVzcy1kZWJ1Zy1zZWN0aW9ucz16bGliLWdu dX0gY29tcHJlc3MgRFdBUkYgZGVidWcKK3NlY3Rpb25zIGFuZCByZW5hbWUg ZGVidWcgc2VjdGlvbiBuYW1lcyB0byBiZWdpbiB3aXRoIEBzYW1wey56ZGVi dWd9CitpbnN0ZWFkIG9mIEBzYW1wey5kZWJ1Z30uICBAb3B0aW9uey0tY29t cHJlc3MtZGVidWctc2VjdGlvbnM9emxpYi1nYWJpfQorY29tcHJlc3NlcyBE V0FSRiBkZWJ1ZyBzZWN0aW9ucyB3aXRoIFNIRl9DT01QUkVTU0VEIGZyb20g dGhlIEVMRiBBQkkuCisKIEBraW5kZXggLS1yZWR1Y2UtbWVtb3J5LW92ZXJo ZWFkcwogQGl0ZW0gLS1yZWR1Y2UtbWVtb3J5LW92ZXJoZWFkcwogVGhpcyBv cHRpb24gcmVkdWNlcyBtZW1vcnkgcmVxdWlyZW1lbnRzIGF0IGxkIHJ1bnRp bWUsIGF0IHRoZSBleHBlbnNlIG9mCmRpZmYgLS1naXQgYS9sZC9sZG1haW4u YyBiL2xkL2xkbWFpbi5jCmluZGV4IDY2NzRhODAuLjIyNGJhNTMgMTAwNjQ0 Ci0tLSBhL2xkL2xkbWFpbi5jCisrKyBiL2xkL2xkbWFpbi5jCkBAIC00MjQs NiArNDI0LDEzIEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKICAg ZWxzZQogICAgIGxpbmtfaW5mby5vdXRwdXRfYmZkLT5mbGFncyB8PSBFWEVD X1A7CiAKKyAgaWYgKChsaW5rX2luZm8uY29tcHJlc3NfZGVidWcgJiBDT01Q UkVTU19ERUJVRykpCisgICAgeworICAgICAgbGlua19pbmZvLm91dHB1dF9i ZmQtPmZsYWdzIHw9IEJGRF9DT01QUkVTUzsKKyAgICAgIGlmIChsaW5rX2lu Zm8uY29tcHJlc3NfZGVidWcgPT0gQ09NUFJFU1NfREVCVUdfR0FCSV9aTElC KQorCWxpbmtfaW5mby5vdXRwdXRfYmZkLT5mbGFncyB8PSBCRkRfQ09NUFJF U1NfR0FCSTsKKyAgICB9CisKICAgbGR3cml0ZSAoKTsKIAogICBpZiAoY29u ZmlnLm1hcF9maWxlICE9IE5VTEwpCmRpZmYgLS1naXQgYS9sZC9sZXhzdXAu YyBiL2xkL2xleHN1cC5jCmluZGV4IDRhNzFiYTQuLmI2MTgyNDEgMTAwNjQ0 Ci0tLSBhL2xkL2xleHN1cC5jCisrKyBiL2xkL2xleHN1cC5jCkBAIC0xNzIy LDYgKzE3MjIsOSBAQCBlbGZfc3RhdGljX2xpc3Rfb3B0aW9ucyAoRklMRSAq ZmlsZSkKICAgZnByaW50ZiAoZmlsZSwgXygiXAogICAtLWJ1aWxkLWlkWz1T VFlMRV0gICAgICAgICAgR2VuZXJhdGUgYnVpbGQgSUQgbm90ZVxuIikpOwog ICBmcHJpbnRmIChmaWxlLCBfKCJcCisgIC0tY29tcHJlc3MtZGVidWctc2Vj dGlvbnM9W25vbmV8emxpYnx6bGliLWdudXx6bGliLWdhYmldXG5cCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzcyBEV0FSRiBkZWJ1 ZyBzZWN0aW9ucyB1c2luZyB6bGliXG4iKSk7CisgIGZwcmludGYgKGZpbGUs IF8oIlwKICAgLXogY29tbW9uLXBhZ2Utc2l6ZT1TSVpFICAgIFNldCBjb21t b24gcGFnZSBzaXplIHRvIFNJWkVcbiIpKTsKICAgZnByaW50ZiAoZmlsZSwg XygiXAogICAteiBtYXgtcGFnZS1zaXplPVNJWkUgICAgICAgU2V0IG1heGlt dW0gcGFnZSBzaXplIHRvIFNJWkVcbiIpKTsKZGlmZiAtLWdpdCBhL2xkL3Rl c3RzdWl0ZS9sZC1lbGYvY29tcHJlc3MuZXhwIGIvbGQvdGVzdHN1aXRlL2xk LWVsZi9jb21wcmVzcy5leHAKaW5kZXggYWRiN2ZjMi4uZTI0NDhiOSAxMDA2 NDQKLS0tIGEvbGQvdGVzdHN1aXRlL2xkLWVsZi9jb21wcmVzcy5leHAKKysr IGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9jb21wcmVzcy5leHAKQEAgLTQ5LDcg KzQ5LDggQEAgc2V0IGJ1aWxkX3Rlc3RzIHsKICAgICItc2hhcmVkIiAiLWZQ SUMgLWcgLVdhLC0tY29tcHJlc3MtZGVidWctc2VjdGlvbnMiCiAgICB7Zm9v LmN9IHt9ICJsaWJmb28uc28ifQogICB7IkJ1aWxkIGxpYmJhci5zbyB3aXRo IGNvbXByZXNzZWQgZGVidWcgc2VjdGlvbnMiCi0gICAiLXNoYXJlZCIgIi1m UElDIC1nIC1XYSwtLWNvbXByZXNzLWRlYnVnLXNlY3Rpb25zIgorICAgIi1z aGFyZWQgLVdsLC0tY29tcHJlc3MtZGVidWctc2VjdGlvbnM9bm9uZSIKKyAg ICItZlBJQyAtZyAtV2EsLS1jb21wcmVzcy1kZWJ1Zy1zZWN0aW9ucyIKICAg IHtiZWdpbi5jIGVuZC5jfSB7fSAibGliYmFyLnNvIn0KICAgeyJCdWlsZCBs aWJmb296bGliLnNvIHdpdGggY29tcHJlc3NlZCBkZWJ1ZyBzZWN0aW9ucyB3 aXRoIHpsaWItZ2FiaSIKICAgICItc2hhcmVkIiAiLWZQSUMgLWcgLVdhLC0t Y29tcHJlc3MtZGVidWctc2VjdGlvbnM9emxpYi1nYWJpIgpAQCAtNTcsNiAr NTgsMzAgQEAgc2V0IGJ1aWxkX3Rlc3RzIHsKICAgeyJCdWlsZCBsaWJiYXJ6 bGliLnNvIHdpdGggY29tcHJlc3NlZCBkZWJ1ZyBzZWN0aW9ucyB3aXRoIHps aWItZ2FiaSIKICAgICItc2hhcmVkIiAiLWZQSUMgLWcgLVdhLC0tY29tcHJl c3MtZGVidWctc2VjdGlvbnM9emxpYi1nYWJpIgogICAge2JlZ2luLmMgZW5k LmN9IHt9ICJsaWJiYXJ6bGliLnNvIn0KKyAgeyJCdWlsZCBsaWJ6bGliZm9v LnNvIHdpdGggemxpYiBjb21wcmVzc2VkIGRlYnVnIHNlY3Rpb25zIgorICAg Ii1zaGFyZWQgLVdsLC0tY29tcHJlc3MtZGVidWctc2VjdGlvbnM9emxpYiIK KyAgICItZlBJQyAtZyAtV2EsLS1jb21wcmVzcy1kZWJ1Zy1zZWN0aW9ucz16 bGliIgorICAge2Zvby5jfSB7fSAibGliemxpYmZvby5zbyJ9CisgIHsiQnVp bGQgbGliZ251Zm9vLnNvIHdpdGggemxpYi1nbnUgY29tcHJlc3NlZCBkZWJ1 ZyBzZWN0aW9ucyIKKyAgICItc2hhcmVkIC1XbCwtLWNvbXByZXNzLWRlYnVn LXNlY3Rpb25zPXpsaWItZ251IgorICAgIi1mUElDIC1nIC1XYSwtLWNvbXBy ZXNzLWRlYnVnLXNlY3Rpb25zPXpsaWItZ251IgorICAge2Zvby5jfSB7fSAi bGliZ251Zm9vLnNvIn0KKyAgeyJCdWlsZCBsaWJnYWJpZm9vLnNvIHdpdGgg emxpYi1nYWJpIGNvbXByZXNzZWQgZGVidWcgc2VjdGlvbnMiCisgICAiLXNo YXJlZCAtV2wsLS1jb21wcmVzcy1kZWJ1Zy1zZWN0aW9ucz16bGliLWdhYmki CisgICAiLWZQSUMgLWcgLVdhLC0tY29tcHJlc3MtZGVidWctc2VjdGlvbnM9 emxpYi1nYWJpIgorICAge2Zvby5jfSB7fSAibGliZ2FiaWZvby5zbyJ9Cisg IHsiQnVpbGQgemxpYmJlZ2luLm8gd2l0aCB6bGliIGNvbXByZXNzZWQgZGVi dWcgc2VjdGlvbnMiCisgICAiLXIgLW5vc3RkbGliIC1XbCwtLWNvbXByZXNz LWRlYnVnLXNlY3Rpb25zPXpsaWIiCisgICAiLWcgLVdhLC0tY29tcHJlc3Mt ZGVidWctc2VjdGlvbnM9emxpYiIKKyAgIHtiZWdpbi5jfSB7fSAiemxpYmJl Z2luLm8ifQorICB7IkJ1aWxkIGdudWJlZ2luLm8gd2l0aCB6bGliLWdudSBj b21wcmVzc2VkIGRlYnVnIHNlY3Rpb25zIgorICAgIi1yIC1ub3N0ZGxpYiAt V2wsLS1jb21wcmVzcy1kZWJ1Zy1zZWN0aW9ucz16bGliLWdudSIKKyAgICIt ZyAtV2EsLS1jb21wcmVzcy1kZWJ1Zy1zZWN0aW9ucz16bGliLWdudSIKKyAg IHtiZWdpbi5jfSB7fSAiZ251YmVnaW4ubyJ9CisgIHsiQnVpbGQgZ2FiaWVu ZC5vIHdpdGggemxpYi1nYWJpIGNvbXByZXNzZWQgZGVidWcgc2VjdGlvbnMi CisgICAiLXIgLW5vc3RkbGliIC1XbCwtLWNvbXByZXNzLWRlYnVnLXNlY3Rp b25zPXpsaWItZ2FiaSIKKyAgICItZyAtV2EsLS1jb21wcmVzcy1kZWJ1Zy1z ZWN0aW9ucz16bGliLWdudSIKKyAgIHtlbmQuY30ge30gImdhYmllbmQubyJ9 CiB9CiAKIHNldCBydW5fdGVzdHMgewpAQCAtNjYsNiArOTEsMTUgQEAgc2V0 IHJ1bl90ZXN0cyB7CiAgICAgeyJSdW4gbm9ybWFsIHdpdGggbGliZm9vLnNv IHdpdGggY29tcHJlc3NlZCBkZWJ1ZyBzZWN0aW9ucyB3aXRoIHpsaWItZ2Fi aSIKICAgICAgInRtcGRpci9iZWdpbi5vIHRtcGRpci9saWJmb296bGliLnNv IHRtcGRpci9lbmQubyIgIiIKICAgICAge21haW4uY30gIm5vcm1hbCIgIm5v cm1hbC5vdXQiICItV2EsLS1jb21wcmVzcy1kZWJ1Zy1zZWN0aW9ucz16bGli LWdhYmkifQorICAgIHsiUnVuIHpsaWJub3JtYWwgd2l0aCBsaWJ6bGliZm9v LnNvIHdpdGggemxpYiBjb21wcmVzc2VkIGRlYnVnIHNlY3Rpb25zIgorICAg ICAidG1wZGlyL2JlZ2luLm8gdG1wZGlyL2xpYnpsaWJmb28uc28gdG1wZGly L2VuZC5vIC0tY29tcHJlc3MtZGVidWctc2VjdGlvbnM9emxpYiIgIiIKKyAg ICAge21haW4uY30gInpsaWJub3JtYWwiICJub3JtYWwub3V0IiAiLVdhLC0t Y29tcHJlc3MtZGVidWctc2VjdGlvbnM9emxpYiJ9CisgICAgeyJSdW4gZ251 bm9ybWFsIHdpdGggbGliZ251Zm9vLnNvIHdpdGggemxpYi1nbnUgY29tcHJl c3NlZCBkZWJ1ZyBzZWN0aW9ucyIKKyAgICAgInRtcGRpci9nbnViZWdpbi5v IHRtcGRpci9saWJnbnVmb28uc28gdG1wZGlyL2VuZC5vIC0tY29tcHJlc3Mt ZGVidWctc2VjdGlvbnM9emxpYi1nbnUiICIiCisgICAgIHttYWluLmN9ICJn bnVub3JtYWwiICJub3JtYWwub3V0IiAiLVdhLC0tY29tcHJlc3MtZGVidWct c2VjdGlvbnM9emxpYi1nbnUifQorICAgIHsiUnVuIGdhYmlub3JtYWwgd2l0 aCBsaWJnYWJpZm9vLnNvIHdpdGggemxpYi1nYWJpIGNvbXByZXNzZWQgZGVi dWcgc2VjdGlvbnMiCisgICAgICJ0bXBkaXIvemxpYmJlZ2luLm8gdG1wZGly L2xpYmdhYmlmb28uc28gdG1wZGlyL2dhYmllbmQubyAtLWNvbXByZXNzLWRl YnVnLXNlY3Rpb25zPXpsaWItZ2FiaSIgIiIKKyAgICAge21haW4uY30gImdh Ymlub3JtYWwiICJub3JtYWwub3V0IiAiLVdhLC0tY29tcHJlc3MtZGVidWct c2VjdGlvbnM9emxpYi1nYWJpIn0KIH0KIAogcnVuX2NjX2xpbmtfdGVzdHMg JGJ1aWxkX3Rlc3RzCkBAIC03OSwzICsxMTMsMTM0IEBAIGlmIHsgW2NhdGNo IHtleGVjIGNtcCB0bXBkaXIvbGliZm9vLnNvIHRtcGRpci9saWJmb296bGli LnNvfV0gfSB0aGVuIHsKIH0gZWxzZSB7CiAgICAgcGFzcyAiJHRlc3RfbmFt ZSIKIH0KKworZ2xvYmFsIFJFQURFTEYKKworc2V0IHRlc3RfbmFtZSAiTGlu ayAtciB3aXRoIHpsaWIgY29tcHJlc3NlZCBkZWJ1ZyBvdXRwdXQiCitzZXQg dGVzdCB6bGliYmVnaW4KK3NlbmRfbG9nICIkUkVBREVMRiAtUyAtVyB0bXBk aXIvJHRlc3QubyA+IHRtcGRpci8kdGVzdC5vdXRcbiIKK3NldCBnb3QgW3Jl bW90ZV9leGVjIGhvc3QgIiRSRUFERUxGIC1TIC1XIHRtcGRpci8kdGVzdC5v IiAiIiAiL2Rldi9udWxsIiAidG1wZGlyLyR0ZXN0Lm91dCJdCitpZiB7IFts aW5kZXggJGdvdCAwXSAhPSAwIHx8ICFbc3RyaW5nIG1hdGNoICIiIFtsaW5k ZXggJGdvdCAxXV0gfSB0aGVuIHsKKyAgICBzZW5kX2xvZyAiJGdvdFxuIgor ICAgIHVucmVzb2x2ZWQgIiR0ZXN0X25hbWUiCit9CitpZiB7IFtyZWdleHBf ZGlmZiB0bXBkaXIvJHRlc3Qub3V0ICRzcmNkaXIvJHN1YmRpci8kdGVzdC5y U10gfSB0aGVuIHsKKyAgICBmYWlsICIkdGVzdF9uYW1lIgorfSBlbHNlIHsK KyAgICBwYXNzICIkdGVzdF9uYW1lIgorfQorCitzZXQgdGVzdF9uYW1lICJM aW5rIC1yIHdpdGggemxpYi1nbnUgY29tcHJlc3NlZCBkZWJ1ZyBvdXRwdXQi CitzZXQgdGVzdCBnbnViZWdpbgorc2VuZF9sb2cgIiRSRUFERUxGIC1TIC1X IHRtcGRpci8kdGVzdC5vID4gdG1wZGlyLyR0ZXN0Lm91dFxuIgorc2V0IGdv dCBbcmVtb3RlX2V4ZWMgaG9zdCAiJFJFQURFTEYgLVMgLVcgdG1wZGlyLyR0 ZXN0Lm8iICIiICIvZGV2L251bGwiICJ0bXBkaXIvJHRlc3Qub3V0Il0KK2lm IHsgW2xpbmRleCAkZ290IDBdICE9IDAgfHwgIVtzdHJpbmcgbWF0Y2ggIiIg W2xpbmRleCAkZ290IDFdXSB9IHRoZW4geworICAgIHNlbmRfbG9nICIkZ290 XG4iCisgICAgdW5yZXNvbHZlZCAiJHRlc3RfbmFtZSIKK30KK2lmIHsgW3Jl Z2V4cF9kaWZmIHRtcGRpci8kdGVzdC5vdXQgJHNyY2Rpci8kc3ViZGlyLyR0 ZXN0LnJTXSB9IHRoZW4geworICAgIGZhaWwgIiR0ZXN0X25hbWUiCit9IGVs c2UgeworICAgIHBhc3MgIiR0ZXN0X25hbWUiCit9CisKK3NldCB0ZXN0X25h bWUgIkxpbmsgLXIgd2l0aCB6bGliLWdhYmkgY29tcHJlc3NlZCBkZWJ1ZyBv dXRwdXQiCitzZXQgdGVzdCBnYWJpZW5kCitzZW5kX2xvZyAiJFJFQURFTEYg LXQgLVcgdG1wZGlyLyR0ZXN0Lm8gPiB0bXBkaXIvJHRlc3Qub3V0XG4iCitz ZXQgZ290IFtyZW1vdGVfZXhlYyBob3N0ICIkUkVBREVMRiAtdCAtVyB0bXBk aXIvJHRlc3QubyIgIiIgIi9kZXYvbnVsbCIgInRtcGRpci8kdGVzdC5vdXQi XQoraWYgeyBbbGluZGV4ICRnb3QgMF0gIT0gMCB8fCAhW3N0cmluZyBtYXRj aCAiIiBbbGluZGV4ICRnb3QgMV1dIH0gdGhlbiB7CisgICAgc2VuZF9sb2cg IiRnb3RcbiIKKyAgICB1bnJlc29sdmVkICIkdGVzdF9uYW1lIgorfQoraWYg eyBbcmVnZXhwX2RpZmYgdG1wZGlyLyR0ZXN0Lm91dCAkc3JjZGlyLyRzdWJk aXIvJHRlc3QucnRdIH0gdGhlbiB7CisgICAgZmFpbCAiJHRlc3RfbmFtZSIK K30gZWxzZSB7CisgICAgcGFzcyAiJHRlc3RfbmFtZSIKK30KKworc2V0IHRl c3RfbmFtZSAiTGluayB3aXRoIHpsaWIgY29tcHJlc3NlZCBkZWJ1ZyBvdXRw dXQiCitzZXQgdGVzdCBub3JtYWwKK3NlbmRfbG9nICIkUkVBREVMRiAtdyB0 bXBkaXIvJHRlc3QgPiB0bXBkaXIvJHRlc3Qub3V0XG4iCitzZXQgZ290IFty ZW1vdGVfZXhlYyBob3N0ICIkUkVBREVMRiAtdyB0bXBkaXIvJHRlc3QiICIi ICIvZGV2L251bGwiICJ0bXBkaXIvJHRlc3Qub3V0Il0KK2lmIHsgW2xpbmRl eCAkZ290IDBdICE9IDAgfHwgIVtzdHJpbmcgbWF0Y2ggIiIgW2xpbmRleCAk Z290IDFdXSB9IHRoZW4geworICAgIHNlbmRfbG9nICIkZ290XG4iCisgICAg dW5yZXNvbHZlZCAiJHRlc3RfbmFtZSIKK30KKworc2V0IHRlc3RfbmFtZSAi TGluayB3aXRoIHpsaWIgY29tcHJlc3NlZCBkZWJ1ZyBvdXRwdXQiCitzZXQg dGVzdCB6bGlibm9ybWFsCitzZW5kX2xvZyAiJFJFQURFTEYgLXcgdG1wZGly LyR0ZXN0IHwgc2VkIC1lIFwicy8uemRlYnVnXy8uZGVidWdfL1wiID4gdG1w ZGlyLyR0ZXN0Lm91dFxuIgorc2V0IGdvdCBbcmVtb3RlX2V4ZWMgaG9zdCAi JFJFQURFTEYgLXcgdG1wZGlyLyR0ZXN0IHwgc2VkIC1lIFwicy8uemRlYnVn Xy8uZGVidWdfL1wiIiAiIiAiL2Rldi9udWxsIiAidG1wZGlyLyR0ZXN0Lm91 dCJdCitpZiB7IFtsaW5kZXggJGdvdCAwXSAhPSAwIHx8ICFbc3RyaW5nIG1h dGNoICIiIFtsaW5kZXggJGdvdCAxXV0gfSB0aGVuIHsKKyAgICBzZW5kX2xv ZyAiJGdvdFxuIgorICAgIHVucmVzb2x2ZWQgIiR0ZXN0X25hbWUiCit9Citp ZiB7IFtjYXRjaCB7ZXhlYyBjbXAgdG1wZGlyL25vcm1hbC5vdXQgdG1wZGly LyR0ZXN0Lm91dH1dIH0gdGhlbiB7CisgICAgc2VuZF9sb2cgInRtcGRpci9u b3JtYWwub3V0IHRtcGRpci8kdGVzdC5vdXQgZGlmZmVyLlxuIgorICAgIGZh aWwgIiR0ZXN0X25hbWUiCit9IGVsc2UgeworICAgIHBhc3MgIiR0ZXN0X25h bWUiCit9CitzZW5kX2xvZyAiJFJFQURFTEYgLVMgLVcgdG1wZGlyLyR0ZXN0 JyA+IHRtcGRpci8kdGVzdC5vdXRcbiIKK3NldCBnb3QgW3JlbW90ZV9leGVj IGhvc3QgIiRSRUFERUxGIC1TIC1XIHRtcGRpci8kdGVzdCIgIiIgIi9kZXYv bnVsbCIgInRtcGRpci8kdGVzdC5vdXQiXQoraWYgeyBbbGluZGV4ICRnb3Qg MF0gIT0gMCB8fCAhW3N0cmluZyBtYXRjaCAiIiBbbGluZGV4ICRnb3QgMV1d IH0gdGhlbiB7CisgICAgc2VuZF9sb2cgIiRnb3RcbiIKKyAgICB1bnJlc29s dmVkICIkdGVzdF9uYW1lIgorfQoraWYgeyBbcmVnZXhwX2RpZmYgdG1wZGly LyR0ZXN0Lm91dCAkc3JjZGlyLyRzdWJkaXIvJHRlc3QuclNdIH0gdGhlbiB7 CisgICAgZmFpbCAiJHRlc3RfbmFtZSIKK30gZWxzZSB7CisgICAgcGFzcyAi JHRlc3RfbmFtZSIKK30KKworc2V0IHRlc3RfbmFtZSAiTGluayB3aXRoIHps aWItZ251IGNvbXByZXNzZWQgZGVidWcgb3V0cHV0Igorc2V0IHRlc3QgZ251 bm9ybWFsCitzZW5kX2xvZyAiJFJFQURFTEYgLXcgdG1wZGlyLyR0ZXN0IHwg c2VkIC1lIFwicy8uemRlYnVnXy8uZGVidWdfL1wiID4gdG1wZGlyLyR0ZXN0 Lm91dFxuIgorc2V0IGdvdCBbcmVtb3RlX2V4ZWMgaG9zdCAiJFJFQURFTEYg LXcgdG1wZGlyLyR0ZXN0IHwgc2VkIC1lIFwicy8uemRlYnVnXy8uZGVidWdf L1wiIiAiIiAiL2Rldi9udWxsIiAidG1wZGlyLyR0ZXN0Lm91dCJdCitpZiB7 IFtsaW5kZXggJGdvdCAwXSAhPSAwIHx8ICFbc3RyaW5nIG1hdGNoICIiIFts aW5kZXggJGdvdCAxXV0gfSB0aGVuIHsKKyAgICBzZW5kX2xvZyAiJGdvdFxu IgorICAgIHVucmVzb2x2ZWQgIiR0ZXN0X25hbWUiCit9CitpZiB7IFtjYXRj aCB7ZXhlYyBjbXAgdG1wZGlyL25vcm1hbC5vdXQgdG1wZGlyLyR0ZXN0Lm91 dH1dIH0gdGhlbiB7CisgICAgc2VuZF9sb2cgInRtcGRpci9ub3JtYWwub3V0 IHRtcGRpci8kdGVzdC5vdXQgZGlmZmVyLlxuIgorICAgIGZhaWwgIiR0ZXN0 X25hbWUiCit9IGVsc2UgeworICAgIHBhc3MgIiR0ZXN0X25hbWUiCit9Citz ZW5kX2xvZyAiJFJFQURFTEYgLVMgLVcgdG1wZGlyLyR0ZXN0JyA+IHRtcGRp ci8kdGVzdC5vdXRcbiIKK3NldCBnb3QgW3JlbW90ZV9leGVjIGhvc3QgIiRS RUFERUxGIC1TIC1XIHRtcGRpci8kdGVzdCIgIiIgIi9kZXYvbnVsbCIgInRt cGRpci8kdGVzdC5vdXQiXQoraWYgeyBbbGluZGV4ICRnb3QgMF0gIT0gMCB8 fCAhW3N0cmluZyBtYXRjaCAiIiBbbGluZGV4ICRnb3QgMV1dIH0gdGhlbiB7 CisgICAgc2VuZF9sb2cgIiRnb3RcbiIKKyAgICB1bnJlc29sdmVkICIkdGVz dF9uYW1lIgorfQoraWYgeyBbcmVnZXhwX2RpZmYgdG1wZGlyLyR0ZXN0Lm91 dCAkc3JjZGlyLyRzdWJkaXIvJHRlc3QuclNdIH0gdGhlbiB7CisgICAgZmFp bCAiJHRlc3RfbmFtZSIKK30gZWxzZSB7CisgICAgcGFzcyAiJHRlc3RfbmFt ZSIKK30KKworc2V0IHRlc3QgZ2FiaW5vcm1hbAorc2V0IHRlc3RfbmFtZSAi TGluayB3aXRoIHpsaWItZ2FiaSBjb21wcmVzc2VkIGRlYnVnIG91dHB1dCIK K3NlbmRfbG9nICIkUkVBREVMRiAtdyB0bXBkaXIvJHRlc3QgPiB0bXBkaXIv JHRlc3Qub3V0XG4iCitzZXQgZ290IFtyZW1vdGVfZXhlYyBob3N0ICIkUkVB REVMRiAtdyB0bXBkaXIvJHRlc3QiICIiICIvZGV2L251bGwiICJ0bXBkaXIv JHRlc3Qub3V0Il0KK2lmIHsgW2xpbmRleCAkZ290IDBdICE9IDAgfHwgIVtz dHJpbmcgbWF0Y2ggIiIgW2xpbmRleCAkZ290IDFdXSB9IHRoZW4geworICAg IHNlbmRfbG9nICIkZ290XG4iCisgICAgdW5yZXNvbHZlZCAiJHRlc3RfbmFt ZSIKK30KK2lmIHsgW2NhdGNoIHtleGVjIGNtcCB0bXBkaXIvbm9ybWFsLm91 dCB0bXBkaXIvJHRlc3Qub3V0fV0gfSB0aGVuIHsKKyAgICBzZW5kX2xvZyAi dG1wZGlyL25vcm1hbC5vdXQgdG1wZGlyLyR0ZXN0Lm91dCBkaWZmZXIuXG4i CisgICAgZmFpbCAiJHRlc3RfbmFtZSIKK30gZWxzZSB7CisgICAgcGFzcyAi JHRlc3RfbmFtZSIKK30KK3NlbmRfbG9nICIkUkVBREVMRiAtdCAtVyB0bXBk aXIvJHRlc3QgPiB0bXBkaXIvJHRlc3Qub3V0XG4iCitzZXQgZ290IFtyZW1v dGVfZXhlYyBob3N0ICIkUkVBREVMRiAtdCAtVyB0bXBkaXIvJHRlc3QiICIi ICIvZGV2L251bGwiICJ0bXBkaXIvJHRlc3Qub3V0Il0KK2lmIHsgW2xpbmRl eCAkZ290IDBdICE9IDAgfHwgIVtzdHJpbmcgbWF0Y2ggIiIgW2xpbmRleCAk Z290IDFdXSB9IHRoZW4geworICAgIHNlbmRfbG9nICIkZ290XG4iCisgICAg dW5yZXNvbHZlZCAiJHRlc3RfbmFtZSIKK30KK2lmIHsgW3JlZ2V4cF9kaWZm IHRtcGRpci8kdGVzdC5vdXQgJHNyY2Rpci8kc3ViZGlyLyR0ZXN0LnJ0XSB9 IHRoZW4geworICAgIGZhaWwgIiR0ZXN0X25hbWUiCit9IGVsc2UgeworICAg IHBhc3MgIiR0ZXN0X25hbWUiCit9CmRpZmYgLS1naXQgYS9sZC90ZXN0c3Vp dGUvbGQtZWxmL2dhYmllbmQucnQgYi9sZC90ZXN0c3VpdGUvbGQtZWxmL2dh YmllbmQucnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u MjNiYzM2YwotLS0gL2Rldi9udWxsCisrKyBiL2xkL3Rlc3RzdWl0ZS9sZC1l bGYvZ2FiaWVuZC5ydApAQCAtMCwwICsxLDQgQEAKKyMuLi4KKyArXFtbMC05 YS1mXStcXTogLipDT01QUkVTU0VECisgK1pMSUIsIFswLTlhLWZdKywgMQor I3Bhc3MKZGlmZiAtLWdpdCBhL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvZ2FiaW5v cm1hbC5ydCBiL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvZ2FiaW5vcm1hbC5ydApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yM2JjMzZjCi0t LSAvZGV2L251bGwKKysrIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9nYWJpbm9y bWFsLnJ0CkBAIC0wLDAgKzEsNCBAQAorIy4uLgorICtcW1swLTlhLWZdK1xd OiAuKkNPTVBSRVNTRUQKKyArWkxJQiwgWzAtOWEtZl0rLCAxCisjcGFzcwpk aWZmIC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xkLWVsZi9nbnViZWdpbi5yUyBi L2xkL3Rlc3RzdWl0ZS9sZC1lbGYvZ251YmVnaW4uclMKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTRkZTI0YwotLS0gL2Rldi9udWxs CisrKyBiL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvZ251YmVnaW4uclMKQEAgLTAs MCArMSwzIEBACisjLi4uCisgK1xbWyAwLTldK1xdIC56ZGVidWdfLiogKyhQ Uk9HQklUU3xNSVBTX0RXQVJGKSArMCsgK1swLTlhLWZdKyArWzAtOWEtZl0r IFswLTlhLWZdKyArMCArMCArMQorI3Bhc3MKZGlmZiAtLWdpdCBhL2xkL3Rl c3RzdWl0ZS9sZC1lbGYvZ251bm9ybWFsLnJTIGIvbGQvdGVzdHN1aXRlL2xk LWVsZi9nbnVub3JtYWwuclMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uNTRkZTI0YwotLS0gL2Rldi9udWxsCisrKyBiL2xkL3Rlc3Rz dWl0ZS9sZC1lbGYvZ251bm9ybWFsLnJTCkBAIC0wLDAgKzEsMyBAQAorIy4u LgorICtcW1sgMC05XStcXSAuemRlYnVnXy4qICsoUFJPR0JJVFN8TUlQU19E V0FSRikgKzArICtbMC05YS1mXSsgK1swLTlhLWZdKyBbMC05YS1mXSsgKzAg KzAgKzEKKyNwYXNzCmRpZmYgLS1naXQgYS9sZC90ZXN0c3VpdGUvbGQtZWxm L3psaWJiZWdpbi5yUyBiL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvemxpYmJlZ2lu LnJTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0ZGUy NGMKLS0tIC9kZXYvbnVsbAorKysgYi9sZC90ZXN0c3VpdGUvbGQtZWxmL3ps aWJiZWdpbi5yUwpAQCAtMCwwICsxLDMgQEAKKyMuLi4KKyArXFtbIDAtOV0r XF0gLnpkZWJ1Z18uKiArKFBST0dCSVRTfE1JUFNfRFdBUkYpICswKyArWzAt OWEtZl0rICtbMC05YS1mXSsgWzAtOWEtZl0rICswICswICsxCisjcGFzcwpk aWZmIC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xkLWVsZi96bGlibm9ybWFsLnJT IGIvbGQvdGVzdHN1aXRlL2xkLWVsZi96bGlibm9ybWFsLnJTCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0ZGUyNGMKLS0tIC9kZXYv bnVsbAorKysgYi9sZC90ZXN0c3VpdGUvbGQtZWxmL3psaWJub3JtYWwuclMK QEAgLTAsMCArMSwzIEBACisjLi4uCisgK1xbWyAwLTldK1xdIC56ZGVidWdf LiogKyhQUk9HQklUU3xNSVBTX0RXQVJGKSArMCsgK1swLTlhLWZdKyArWzAt OWEtZl0rIFswLTlhLWZdKyArMCArMCArMQorI3Bhc3MKLS0gCjIuMS4wCgo= --089e01294e80e06bd205139a6344--