From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 83886 invoked by alias); 15 Mar 2018 12:22:10 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 83875 invoked by uid 89); 15 Mar 2018 12:22:09 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.3 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: mail-oi0-f67.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=gI7HQs+M2gcRCZ9D8+tepFbiRw7Q/SGbh0quhCHEguE=; b=QoYDE0hRx/W9UrEcYFKY2qjoztZelit9skccMxwKvAaaDngeP0pbBtN5XxU1m5dl2A 9S4CBmXgStOoMxcqlesiGgg38XPP3AJoiU8n2khNV82UF7sVlDLx3igvwJIQIEznsjSV p9I7f4pi0HMa9Fp66KTrQehGwivZKXQADr/bKtznVlFY3RGs685TX6J1bD49MY8Dqo+t AsNNjT66IDFYbq7+g9+wVX37EQ9Ch6D+5OSrZLDy99IOH9WuB8ayA62B4RYmxOXAMqpQ NWvr0cN8RoYd4/cxDbx2Mi9sPpFR2RnxE86aMdJMhyhBqyNi/pNmhbcVAminzTx73FP4 jwBg== X-Gm-Message-State: AElRT7G547NvCPIKOLZQxWUQ9rJUOGZ2SxC3l49zw1oAqgPEHyOyf2QM 6MaZSP+OUg9fVOStN3+UsgLkruTXhAQFVKbtmCc= X-Google-Smtp-Source: AG47ELvgYVlJaJp97MPVxcojwimG+CSnEd4hHeaGTgNfmjo69fI/dndazcZ7J8uGh/zkel5MNQfDUb/2xkZ6yIfOdSw= X-Received: by 10.202.6.3 with SMTP id 3mr3665617oig.279.1521116523125; Thu, 15 Mar 2018 05:22:03 -0700 (PDT) MIME-Version: 1.0 From: "H.J. Lu" Date: Thu, 15 Mar 2018 12:22:00 -0000 Message-ID: Subject: [PATCH] x86: Add __sigsetjmp_cancel and __setjmp_cancel To: "Carlos O'Donell" Cc: "Tsimbalist, Igor V" , Florian Weimer , GNU C Library Content-Type: multipart/mixed; boundary="94eb2c18d7a8061bf40567728a0b" X-SW-Source: 2018-03/txt/msg00362.txt.bz2 --94eb2c18d7a8061bf40567728a0b Content-Type: text/plain; charset="UTF-8" Content-length: 1458 On Wed, Mar 14, 2018 at 9:20 PM, Carlos O'Donell wrote: > On 03/08/2018 10:23 PM, H.J. Lu wrote: >> On Thu, Mar 8, 2018 at 4:47 PM, Carlos O'Donell wrote: >>> On 03/08/2018 04:48 AM, H.J. Lu wrote: >>>> True. This is the patch I have tested: >>>> >>>> https://github.com/hjl-tools/gcc/commit/e98087865405f051e93d5f35588789ef9686db4a >>> >>> I assume NOTRACK prefix is what Intel calls 'NO_TRACK_EN' in the CET >>> documentation since binutils uses the 0x3E prefix for it and that matches >>> the Intel CET docs. Please correct me if I'm wrong. >> >> That is correct. >> >>> In which case I agree, using NOTRACK is going to prevent a useful use >>> of CET against writes to the cancellation jump buffer. >> >> True. >> >>> This patch looks good to me, but is not a *correctness* issue, it is >>> simply that we want to extend coverage to the private cancellation >>> setjmp/longjmp buffers. >>> >>> Is there any way we can do this with source markup instead of via >>> a fragile list in the compiler? >>> >>> Presumably users may want to markup their own code like this also >>> if they have custom implementations of functions that behave like >>> setjmp/longjmp? >>> >> >> Yes, we can use __attribute__((__returns_twice__)). I updated >> hjl/setjmp/cancel branch to do that. No GCC changes are needed. > > Is the next step for me to do another round of review on this branch? > Yes, here is the patch. -- H.J. --94eb2c18d7a8061bf40567728a0b Content-Type: text/x-patch; charset="US-ASCII"; name="0001-x86-Add-__sigsetjmp_cancel-and-__setjmp_cancel.patch" Content-Disposition: attachment; filename="0001-x86-Add-__sigsetjmp_cancel-and-__setjmp_cancel.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jeshh8kw0 Content-length: 36206 RnJvbSAzNjVjNTk3ZmYxZDc1N2RlZTEyZmQzMGEzNjEwYTllOGJiNjFlOGYz IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiSC5KLiBMdSIgPGhq bC50b29sc0BnbWFpbC5jb20+CkRhdGU6IFN1biwgMjUgRmViIDIwMTggMDk6 NDg6MzkgLTA4MDAKU3ViamVjdDogW1BBVENIXSB4ODY6IEFkZCBfX3NpZ3Nl dGptcF9jYW5jZWwgYW5kIF9fc2V0am1wX2NhbmNlbAoKRnVuY3Rpb25zLCBs aWtlIExJQkNfU1RBUlRfTUFJTiwgU1RBUlRfVEhSRUFEX0RFRk4gYXMgd2Vs bCBhcyB0aGVzZQp3aXRoIHRocmVhZCBjYW5jZWxsYXRpb24sIGNhbGwgc2V0 am1wLCBidXQgbmV2ZXIgcmV0dXJuIHRvIHRoZWlyCmNhbGxlcnMgYWZ0ZXIg bG9uZ2ptcCByZXR1cm5zLiAgVGhpcyBwYXRjaCBhZGRzIDxiaXRzL3NldGpt cC1jYW5jZWwuaD4KYW5kIDxzZXRqbXAtY2FuY2VsUC5oPiB0byBwcm92aWRl IGEgdmVyc2lvbiBvZiBzZXRqbXAgZmFtaWx5IGZ1bmN0aW9ucywKX19zZXRq bXBfY2FuY2VsIGFuZCBfX3NpZ3NldGptcF9jYW5jZWwsIHdoaWNoIGFyZSB1 c2VkIHRvIGltcGxlbWVudAp0aHJlYWQgY2FuY2VsbGF0aW9uLiAgVGhlIGRl ZmF1bHQgX19zZXRqbXBfY2FuY2VsIGFuZCBfX3NpZ3NldGptcF9jYW5jZWwK YXJlIGRlZmluZWQgYXMgc2V0am1wIGFuZCBfX3NpZ3NldGptcCwgcmVzcGVj dGl2ZWx5LCB3aGljaCBhcmUgdGhlIHNhbWUKYXMgYmVmb3JlLgoKT24geDg2 LCBfX3NpZ3NldGptcF9jYW5jZWwsIHdoaWNoIGlzIGEgcHVibGljIGZ1bmN0 aW9uIHVzZWQgYnkgbWFjcm9zCmluIDxwdGhyZWFkLmg+LCBhbmQgX19zZXRq bXBfY2FuY2VsLCB3aGljaCBpcyBhIHByaXZhdGUgaW50ZXJmYWNlIGZvcgpj YW5jZWxsYXRpb24gaW1wbGVtZW50YXRpb24gaW4gbGlicHRocmVhZCwgYXJl IGFkZGVkIHRvIGF2b2lkIHNhdmluZwphbmQgcmVzdG9yaW5nIHNoYWRvdyBz dGFjayByZWdpc3Rlci4gIEEgbmV3IHZlcnNpb24gb2YgX19zaWdzZXRqbXAg aXMKYWRkZWQgdG8gc2F2ZSBhbmQgcmVzdG9yZSBzaGFkb3cgc3RhY2sgcmVn aXN0ZXIuIFRoZSBjb21wYXRpYmxlIHZlcnNpb24Kb2YgX19zaWdzZXRqbXAs IHdoaWNoIGRvZXNuJ3Qgc2F2ZSBhbmQgcmVzdG9yZSBzaGFkb3cgc3RhY2sg cmVnaXN0ZXIsCmlzIHByb3ZpZGVkIGZvciBzaGFyZWQgbGlicmFyaWVzIGJ1 aWx0IHdpdGggZ2xpYmMgMi4yNyBvciBvbGRlci4KX19saWJjX2xvbmdqbXAs IHdoaWNoIGlzIGEgcHJpdmF0ZSBpbnRlcmZhY2UgZm9yIGNhbmNlbGxhdGlv bgppbXBsZW1lbnRhdGlvbiBpbiBsaWJwdGhyZWFkLCBpcyBjaGFuZ2VkIHRv IGNhbGwgX19sb25nam1wX2NhbmNlbAppbnN0ZWFkIG9mIF9fbG9uZ2ptcC4K Ck5COiBTaGFyZWQgbGlicmFyaWVzIGJ1aWx0IHdpdGggZ2xpYmMgMi4yNyBv ciBvbGRlciBhcmUgY29tcGF0aWJsZSB3aXRoCmdsaWJjIDIuMjguICBSZWxv Y2F0YWJsZSBvYmplY3RzIGNvbXBpbGVkIGFnYWluc3QgZ2xpYmMgMi4yNyBv ciBvbGRlcgphcmUgaW5jb21wYXRpYmxlIHdpdGggZ2xpYmMgMi4yOCBzaW5j ZSB0aGV5IHJlZmVyZW5jZSB0aGUgb2xkZXIgdmVyc2lvbgpvZiBfX3NpZ3Nl dGptcC4KClRlc3RlZCB3aXRoIGJ1aWxkLW1hbnktZ2xpYmNzLnB5LgoKCSog Yml0cy9zZXRqbXAtY2FuY2VsLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2dl bmVyaWMvc2V0am1wLWNhbmNlbFAuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMv eDg2L19fbG9uZ2ptcF9jYW5jZWwuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMv eDg2L2JpdHMvc2V0am1wLWNhbmNlbC5oOiBMaWtld2lzZS4KCSogc3lzZGVw cy94ODYvYnNkLV9zZXRqbXBfY2FuY2VsLlM6IExpa2V3aXNlLgoJKiBzeXNk ZXBzL3g4Ni9sb25nam1wLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3g4Ni9z ZXRqbXAtY2FuY2VsUC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy94ODYvc2V0 am1wX2NhbmNlbC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy94ODZfNjQvc2V0 am1wX2NhbmNlbC5TOiBMaWtld2lzZS4KCSogY3N1L2xpYmMtc3RhcnQuYyAo TElCQ19TVEFSVF9NQUlOKTogUmVwbGFjZSBzZXRqbXAgd2l0aAoJX19zZXRq bXBfY2FuY2VsLgoJKiBucHRsL3B0aHJlYWRfY3JlYXRlLmMgKFNUQVJUX1RI UkVBRF9ERUZOKTogTGlrZXdpc2UuCgkqIGluY2x1ZGUvc2V0am1wLmg6IElu Y2x1ZGUgPHNldGptcC1jYW5jZWxQLmg+IGFuZAoJPGJpdHMvc2V0am1wLWNh bmNlbC5oPi4KCSogbnB0bC9NYWtlZmlsZSAoaGVhZGVycyk6IEFkZCBiaXRz L3NldGptcC1jYW5jZWwuaC4KCSogc2V0am1wL2xvbmdqbXAuYyAoX19saWJj X2xvbmdqbXApOiBEb24ndCBkZWZpbmUgYWxpYXMgaWYKCWRlZmluZWQuCgkq IHN5c2RlcHMvaTM4Ni9ic2QtX3NldGptcC5TIChfc2V0am1wKTogRG9uJ3Qg YWRkIGhpZGRlbl9kZWYuCgkqIHN5c2RlcHMveDg2XzY0L2JzZC1fc2V0am1w LlMgKF9zZXRqbXApOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L3NldGpt cC5TIChfX3NpZ3NldGptcCk6IERvbid0IGFkZCBoaWRkZW5fZGVmIGFuZAoJ cmVkZWZpbmVkIHRvIF9fcmVkaXJlY3RfX19zaWdzZXRqbXAgaW4gbGliYy5z byBpZiBfX3NpZ3NldGptcAoJaXMgdW5kZWZpbmVkLgoJKF9fR0lfX19zaWdz ZXRqbXApOiBOZXcuICBEZWZpbmVkIGlmIF9fcmVkaXJlY3RfX19zaWdzZXRq bXAgaXMKCWRlZmluZWQuCgkoX19zaWdzZXRqbXApOiBBZGQgdG8gR0xJQkNf Ml8yOCBpZiBfX3JlZGlyZWN0X19fc2lnc2V0am1wIGlzCglkZWZpbmVkLgoJ KiBzeXNkZXBzL3g4Nl82NC9zZXRqbXAuUzogTGlrZXdpc2UuCgkqIHN5c2Rl cHMvbnB0bC9wdGhyZWFkLmggKHB0aHJlYWRfY2xlYW51cF9wdXNoKTogUmVw bGFjZQoJX19zaWdzZXRqbXAgd2l0aCBfX3NpZ3NldGptcF9jYW5jZWwuCgko cHRocmVhZF9jbGVhbnVwX3B1c2hfZGVmZXJfbnApOiBMaWtld2lzZS4KCShf X2ptcF9idWZfdGFnKTogUmVtb3ZlZC4KCShfX3NpZ3NldGptcCk6IExpa2V3 aXNlLgoJSW5jbHVkZSA8Yml0cy9zZXRqbXAtY2FuY2VsLmg+LgoJKiBzeXNk ZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2xpYmMuYWJpbGlzdDogUmVnZW5l cmF0ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC82NC9s aWJjLmFiaWxpc3Q6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9s aW51eC94ODZfNjQveDMyL2xpYmMuYWJpbGlzdDogTGlrZXdpc2UuCgkqIHN5 c2RlcHMveDg2L01ha2VmaWxlIChzeXNkZXBfcm91dGluZXMpOiBBZGQKCWJz ZC1fc2V0am1wX2NhbmNlbCwgX19sb25nam1wX2NhbmNlbCBhbmQgc2V0am1w X2NhbmNlbC4KCSogc3lzZGVwcy94ODYvVmVyc2lvbnMgKF9fc2lnc2V0am1w KTogQWRkIHRvIEdMSUJDXzIuMjgKCWluIGxpYmMuCgkoX19zaWdzZXRqbXBf Y2FuY2VsKTogTGlrZXdpc2UuCgkoX19zZXRqbXBfY2FuY2VsKTogQWRkIHRv IEdMSUJDX1BSSVZBVEUgaW4gbGliYy4KCSogc3lzZGVwcy94ODZfNjQvYnNk LV9zZXRqbXAuUyAoU0lHU0VUSk1QKTogTmV3LgoJKF9zZXRqbXApOiBKbXAg dG8gU0lHU0VUSk1QLgotLS0KIGJpdHMvc2V0am1wLWNhbmNlbC5oICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgMzMgKysrKysrKysrKysrKysrKysr KwogY3N1L2xpYmMtc3RhcnQuYyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgMiArLQogaW5jbHVkZS9zZXRqbXAuaCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgMyArKwogbnB0bC9NYWtlZmlsZSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogbnB0bC9w dGhyZWFkX2NyZWF0ZS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg MiArLQogc2V0am1wL2xvbmdqbXAuYyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgMiArKwogc3lzZGVwcy9nZW5lcmljL3NldGptcC1jYW5j ZWxQLmggICAgICAgICAgICAgICAgfCAxOSArKysrKysrKysrKwogc3lzZGVw cy9pMzg2L2JzZC1fc2V0am1wLlMgICAgICAgICAgICAgICAgICAgICAgfCAg MiArKwogc3lzZGVwcy9pMzg2L3NldGptcC5TICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAxNiArKysrKysrKystCiBzeXNkZXBzL25wdGwvcHRocmVh ZC5oICAgICAgICAgICAgICAgICAgICAgICAgICB8IDE1ICsrKysrLS0tLQog c3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9saWJjLmFiaWxpc3QgICAg ICAgfCAgMyArKwogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0LzY0 L2xpYmMuYWJpbGlzdCAgfCAgMyArKwogc3lzZGVwcy91bml4L3N5c3YvbGlu dXgveDg2XzY0L3gzMi9saWJjLmFiaWxpc3QgfCAgMyArKwogc3lzZGVwcy94 ODYvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCAr KysKIHN5c2RlcHMveDg2L1ZlcnNpb25zICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgMTIgKysrKysrKwogc3lzZGVwcy94ODYvX19sb25nam1wX2Nh bmNlbC5TICAgICAgICAgICAgICAgICAgfCAyMCArKysrKysrKysrKysKIHN5 c2RlcHMveDg2L2JpdHMvc2V0am1wLWNhbmNlbC5oICAgICAgICAgICAgICAg IHwgMzEgKysrKysrKysrKysrKysrKysrCiBzeXNkZXBzL3g4Ni9ic2QtX3Nl dGptcF9jYW5jZWwuUyAgICAgICAgICAgICAgICB8IDIyICsrKysrKysrKysr KysKIHN5c2RlcHMveDg2L2xvbmdqbXAuYyAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgNDIgKysrKysrKysrKysrKysrKysrKysrKysrKwogc3lzZGVw cy94ODYvc2V0am1wLWNhbmNlbFAuaCAgICAgICAgICAgICAgICAgICAgfCAy NCArKysrKysrKysrKysrKwogc3lzZGVwcy94ODYvc2V0am1wX2NhbmNlbC5T ICAgICAgICAgICAgICAgICAgICAgfCAyNiArKysrKysrKysrKysrKysKIHN5 c2RlcHMveDg2XzY0L2JzZC1fc2V0am1wLlMgICAgICAgICAgICAgICAgICAg IHwgMjUgKysrKysrKysrKysrLS0tCiBzeXNkZXBzL3g4Nl82NC9zZXRqbXAu UyAgICAgICAgICAgICAgICAgICAgICAgICB8IDE2ICsrKysrKysrKy0KIHN5 c2RlcHMveDg2XzY0L3NldGptcF9jYW5jZWwuUyAgICAgICAgICAgICAgICAg IHwgMjEgKysrKysrKysrKysrKwogMjQgZmlsZXMgY2hhbmdlZCwgMzMwIGlu c2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAw NjQ0IGJpdHMvc2V0am1wLWNhbmNlbC5oCiBjcmVhdGUgbW9kZSAxMDA2NDQg c3lzZGVwcy9nZW5lcmljL3NldGptcC1jYW5jZWxQLmgKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzeXNkZXBzL3g4Ni9fX2xvbmdqbXBfY2FuY2VsLlMKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBzeXNkZXBzL3g4Ni9iaXRzL3NldGptcC1jYW5jZWwu aAogY3JlYXRlIG1vZGUgMTAwNjQ0IHN5c2RlcHMveDg2L2JzZC1fc2V0am1w X2NhbmNlbC5TCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3lzZGVwcy94ODYvbG9u Z2ptcC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3lzZGVwcy94ODYvc2V0am1w LWNhbmNlbFAuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHN5c2RlcHMveDg2L3Nl dGptcF9jYW5jZWwuUwogY3JlYXRlIG1vZGUgMTAwNjQ0IHN5c2RlcHMveDg2 XzY0L3NldGptcF9jYW5jZWwuUwoKZGlmZiAtLWdpdCBhL2JpdHMvc2V0am1w LWNhbmNlbC5oIGIvYml0cy9zZXRqbXAtY2FuY2VsLmgKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uYTBjNDU2NjEyNwotLS0gL2Rl di9udWxsCisrKyBiL2JpdHMvc2V0am1wLWNhbmNlbC5oCkBAIC0wLDAgKzEs MzMgQEAKKy8qIF9fc2lnc2V0am1wX2NhbmNlbCBmb3IgdGhyZWFkIGNhbmNl bGxhdGlvbi4gIEdlbmVyaWMgdmVyc2lvbi4KKyAgIENvcHlyaWdodCAoQykg MjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAgIFRoaXMg ZmlsZSBpcyBwYXJ0IG9mIHRoZSBHTlUgQyBMaWJyYXJ5LgorCisgICBUaGUg R05VIEMgTGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IKKyAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAgIExpY2Vu c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b247IGVpdGhlcgorICAgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9y IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgIFRo ZSBHTlUgQyBMaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICBidXQgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor ICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgIExlc3NlciBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgIFlvdSBzaG91 bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2Vu ZXJhbCBQdWJsaWMKKyAgIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGUgR05VIEMg TGlicmFyeTsgaWYgbm90LCBzZWUKKyAgIDxodHRwOi8vd3d3LmdudS5vcmcv bGljZW5zZXMvPi4gICovCisKKyNpZm5kZWYgX0JJVFNfU0VUSk1QX0NBTkNF TF9ICisjZGVmaW5lIF9CSVRTX1NFVEpNUF9DQU5DRUxfSCAgMQorCisjaWYg IWRlZmluZWQgX1NFVEpNUF9IICYmICFkZWZpbmVkIF9QVEhSRUFEX0gKKyMg ZXJyb3IgIk5ldmVyIGluY2x1ZGUgPGJpdHMvc2V0am1wLWNhbmNlbC5oPiBk aXJlY3RseTsgdXNlIDxzZXRqbXAuaD4gaW5zdGVhZC4iCisjZW5kaWYKKwor I2RlZmluZSBfX3NpZ3NldGptcF9jYW5jZWwgX19zaWdzZXRqbXAKKworc3Ry dWN0IF9fam1wX2J1Zl90YWc7CisvKiBGdW5jdGlvbiB1c2VkIGluIHRoZSBt YWNyb3MuICAqLworZXh0ZXJuIGludCBfX3NpZ3NldGptcCAoc3RydWN0IF9f am1wX2J1Zl90YWcgKl9fZW52LAorCQkJaW50IF9fc2F2ZW1hc2spIF9fVEhS T1dOTDsKKworI2VuZGlmICAvKiBiaXRzL3NldGptcC1jYW5jZWwuaCAqLwpk aWZmIC0tZ2l0IGEvY3N1L2xpYmMtc3RhcnQuYyBiL2NzdS9saWJjLXN0YXJ0 LmMKaW5kZXggNjA1MjIyZmEzZi4uMGMxZTJmYTgzMCAxMDA2NDQKLS0tIGEv Y3N1L2xpYmMtc3RhcnQuYworKysgYi9jc3UvbGliYy1zdGFydC5jCkBAIC0y OTIsNyArMjkyLDcgQEAgTElCQ19TVEFSVF9NQUlOIChpbnQgKCptYWluKSAo aW50LCBjaGFyICoqLCBjaGFyICoqIE1BSU5fQVVYVkVDX0RFQ0wpLAogICBz dHJ1Y3QgcHRocmVhZF91bndpbmRfYnVmIHVud2luZF9idWY7CiAKICAgaW50 IG5vdF9maXJzdF9jYWxsOwotICBub3RfZmlyc3RfY2FsbCA9IHNldGptcCAo KHN0cnVjdCBfX2ptcF9idWZfdGFnICopIHVud2luZF9idWYuY2FuY2VsX2pt cF9idWYpOworICBub3RfZmlyc3RfY2FsbCA9IF9fc2V0am1wX2NhbmNlbCAo KHN0cnVjdCBfX2ptcF9idWZfdGFnICopIHVud2luZF9idWYuY2FuY2VsX2pt cF9idWYpOwogICBpZiAoX19nbGliY19saWtlbHkgKCEgbm90X2ZpcnN0X2Nh bGwpKQogICAgIHsKICAgICAgIHN0cnVjdCBwdGhyZWFkICpzZWxmID0gVEhS RUFEX1NFTEY7CmRpZmYgLS1naXQgYS9pbmNsdWRlL3NldGptcC5oIGIvaW5j bHVkZS9zZXRqbXAuaAppbmRleCAyNjNiYzY0YjNkLi5mYTg0NmM4M2NjIDEw MDY0NAotLS0gYS9pbmNsdWRlL3NldGptcC5oCisrKyBiL2luY2x1ZGUvc2V0 am1wLmgKQEAgLTMxLDYgKzMxLDkgQEAgbGliY19oaWRkZW5fcHJvdG8gKF9f c2lnc2V0am1wKQogZXh0ZXJuIF9fdHlwZW9mIChfX3NpZ3NldGptcCkgX19z aWdzZXRqbXAgYXR0cmlidXRlX2hpZGRlbjsKICMgZW5kaWYKIAorIyBpbmNs dWRlIDxzZXRqbXAtY2FuY2VsUC5oPgorIyBpbmNsdWRlIDxiaXRzL3NldGpt cC1jYW5jZWwuaD4KKwogLyogQ2hlY2sgam1wX2J1ZiBzaXplcywgYWxpZ25t ZW50cyBhbmQgb2Zmc2V0cy4gICovCiAjIGluY2x1ZGUgPHN0ZGRlZi5oPgog IyBpbmNsdWRlIDxqbXBfYnVmLW1hY3Jvcy5oPgpkaWZmIC0tZ2l0IGEvbnB0 bC9NYWtlZmlsZSBiL25wdGwvTWFrZWZpbGUKaW5kZXggOTRiZTkyYzc4OS4u ZmEzMDI3MDcyZCAxMDA2NDQKLS0tIGEvbnB0bC9NYWtlZmlsZQorKysgYi9u cHRsL01ha2VmaWxlCkBAIC0yMiw3ICsyMiw3IEBAIHN1YmRpcgk6PSBucHRs CiAKIGluY2x1ZGUgLi4vTWFrZWNvbmZpZwogCi1oZWFkZXJzIDo9IHB0aHJl YWQuaCBzZW1hcGhvcmUuaCBiaXRzL3NlbWFwaG9yZS5oCitoZWFkZXJzIDo9 IHB0aHJlYWQuaCBzZW1hcGhvcmUuaCBiaXRzL3NlbWFwaG9yZS5oIGJpdHMv c2V0am1wLWNhbmNlbC5oCiAKIGV4dHJhLWxpYnMgOj0gbGlicHRocmVhZAog ZXh0cmEtbGlicy1vdGhlcnMgOj0gJChleHRyYS1saWJzKQpkaWZmIC0tZ2l0 IGEvbnB0bC9wdGhyZWFkX2NyZWF0ZS5jIGIvbnB0bC9wdGhyZWFkX2NyZWF0 ZS5jCmluZGV4IGNhYWYwN2MxMzQuLjA3Mjg3Nzk5OTQgMTAwNjQ0Ci0tLSBh L25wdGwvcHRocmVhZF9jcmVhdGUuYworKysgYi9ucHRsL3B0aHJlYWRfY3Jl YXRlLmMKQEAgLTQzMiw3ICs0MzIsNyBAQCBTVEFSVF9USFJFQURfREVGTgog ICB1bndpbmRfYnVmLnByaXYuZGF0YS5jbGVhbnVwID0gTlVMTDsKIAogICBp bnQgbm90X2ZpcnN0X2NhbGw7Ci0gIG5vdF9maXJzdF9jYWxsID0gc2V0am1w ICgoc3RydWN0IF9fam1wX2J1Zl90YWcgKikgdW53aW5kX2J1Zi5jYW5jZWxf am1wX2J1Zik7CisgIG5vdF9maXJzdF9jYWxsID0gX19zZXRqbXBfY2FuY2Vs ICgoc3RydWN0IF9fam1wX2J1Zl90YWcgKikgdW53aW5kX2J1Zi5jYW5jZWxf am1wX2J1Zik7CiAgIGlmIChfX2dsaWJjX2xpa2VseSAoISBub3RfZmlyc3Rf Y2FsbCkpCiAgICAgewogICAgICAgLyogU3RvcmUgdGhlIG5ldyBjbGVhbnVw IGhhbmRsZXIgaW5mby4gICovCmRpZmYgLS1naXQgYS9zZXRqbXAvbG9uZ2pt cC5jIGIvc2V0am1wL2xvbmdqbXAuYwppbmRleCBhMmE3MDY1YTg1Li40NTM4 ODllMTAzIDEwMDY0NAotLS0gYS9zZXRqbXAvbG9uZ2ptcC5jCisrKyBiL3Nl dGptcC9sb25nam1wLmMKQEAgLTQwLDkgKzQwLDExIEBAIF9fbGliY19zaWds b25nam1wIChzaWdqbXBfYnVmIGVudiwgaW50IHZhbCkKIH0KIAogI2lmbmRl ZiBfX2xpYmNfc2lnbG9uZ2ptcAorIyBpZm5kZWYgX19saWJjX2xvbmdqbXAK IC8qIF9fbGliY19sb25nam1wIGlzIGEgcHJpdmF0ZSBpbnRlcmZhY2UgZm9y IGNhbmNlbGxhdGlvbiBpbXBsZW1lbnRhdGlvbgogICAgaW4gbGlicHRocmVh ZC4gICovCiBzdHJvbmdfYWxpYXMgKF9fbGliY19zaWdsb25nam1wLCBfX2xp YmNfbG9uZ2ptcCkKKyMgZW5kaWYKIHdlYWtfYWxpYXMgKF9fbGliY19zaWds b25nam1wLCBfbG9uZ2ptcCkKIHdlYWtfYWxpYXMgKF9fbGliY19zaWdsb25n am1wLCBsb25nam1wKQogd2Vha19hbGlhcyAoX19saWJjX3NpZ2xvbmdqbXAs IHNpZ2xvbmdqbXApCmRpZmYgLS1naXQgYS9zeXNkZXBzL2dlbmVyaWMvc2V0 am1wLWNhbmNlbFAuaCBiL3N5c2RlcHMvZ2VuZXJpYy9zZXRqbXAtY2FuY2Vs UC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjY1 OGEzMzA2ZjMKLS0tIC9kZXYvbnVsbAorKysgYi9zeXNkZXBzL2dlbmVyaWMv c2V0am1wLWNhbmNlbFAuaApAQCAtMCwwICsxLDE5IEBACisvKiBJbnRlcm5h bCBoZWFkZXIgZmlsZSBmb3IgPGJpdHMvc2V0am1wLWNhbmNlbC5oPi4gIEdl bmVyaWMgdmVyc2lvbi4KKyAgIENvcHlyaWdodCAoQykgMjAxNy0yMDE4IEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorICAgVGhpcyBmaWxlIGlz IHBhcnQgb2YgdGhlIEdOVSBDIExpYnJhcnkuCisKKyAgIFRoZSBHTlUgQyBM aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vcgorICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICAgTGljZW5zZSBhcyBw dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0 aGVyCisgICB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgVGhlIEdOVSBD IExpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwKKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlIEdOVQorICAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgWW91IHNob3VsZCBoYXZl IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1 YmxpYworICAgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBHTlUgQyBMaWJyYXJ5 OyBpZiBub3QsIHNlZQorICAgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNl cy8+LiAgKi8KKworI2RlZmluZSBfX3NldGptcF9jYW5jZWwgc2V0am1wCmRp ZmYgLS1naXQgYS9zeXNkZXBzL2kzODYvYnNkLV9zZXRqbXAuUyBiL3N5c2Rl cHMvaTM4Ni9ic2QtX3NldGptcC5TCmluZGV4IGE2MjZjYzZkMjIuLjUxNDQ2 YTU2MTQgMTAwNjQ0Ci0tLSBhL3N5c2RlcHMvaTM4Ni9ic2QtX3NldGptcC5T CisrKyBiL3N5c2RlcHMvaTM4Ni9ic2QtX3NldGptcC5TCkBAIC01Myw0ICs1 Myw2IEBAIEVOVFJZIChfc2V0am1wKQogCW1vdmwgJWVheCwgSkJfU0laRSgl ZWR4KSAvKiBObyBzaWduYWwgbWFzayBzZXQuICAqLwogCXJldAogRU5EIChf c2V0am1wKQorI2lmbmRlZiBfc2V0am1wCiBsaWJjX2hpZGRlbl9kZWYgKF9z ZXRqbXApCisjZW5kaWYKZGlmZiAtLWdpdCBhL3N5c2RlcHMvaTM4Ni9zZXRq bXAuUyBiL3N5c2RlcHMvaTM4Ni9zZXRqbXAuUwppbmRleCA2YTA4NzAxNzE3 Li5lN2JhN2E3Y2U1IDEwMDY0NAotLS0gYS9zeXNkZXBzL2kzODYvc2V0am1w LlMKKysrIGIvc3lzZGVwcy9pMzg2L3NldGptcC5TCkBAIC0yNSw2ICsyNSwx MSBAQAogI2RlZmluZSBKTVBCVUYJUEFSTVMKICNkZWZpbmUgU0lHTVNLCUpN UEJVRis0CiAKKyNpZiAhZGVmaW5lZCBfX3NpZ3NldGptcCAmJiBkZWZpbmVk IFNIQVJFRCAmJiAhSVNfSU4gKHJ0bGQpCisjIGRlZmluZSBfX3NpZ3NldGpt cCBfX3JlZGlyZWN0X19fc2lnc2V0am1wCisjIGRlZmluZSBfX3JlZGlyZWN0 X19fc2lnc2V0am1wIF9fcmVkaXJlY3RfX19zaWdzZXRqbXAKKyNlbmRpZgor CiBFTlRSWSAoX19zaWdzZXRqbXApCiAKIAltb3ZsIEpNUEJVRiglZXNwKSwg JWVheApAQCAtNTUsNCArNjAsMTMgQEAgRU5UUlkgKF9fc2lnc2V0am1wKQog CWptcCBfX3NpZ2ptcF9zYXZlCiAjZW5kaWYKIEVORCAoX19zaWdzZXRqbXAp Ci1oaWRkZW5fZGVmIChfX3NpZ3NldGptcCkKKyNpZmRlZiBfX3JlZGlyZWN0 X19fc2lnc2V0am1wCisjIHVuZGVmIF9fc2lnc2V0am1wCisKKwkuZ2xvYmwg X19HSV9fX3NpZ3NldGptcAorCS5oaWRkZW4gX19HSV9fX3NpZ3NldGptcAor CV9fR0lfX19zaWdzZXRqbXAgPSBfX3JlZGlyZWN0X19fc2lnc2V0am1wCisK KyMgaW5jbHVkZSA8c2hsaWItY29tcGF0Lmg+Cit2ZXJzaW9uZWRfc3ltYm9s IChsaWJjLCBfX3JlZGlyZWN0X19fc2lnc2V0am1wLCBfX3NpZ3NldGptcCwg R0xJQkNfMl8yOCk7CisjZW5kaWYKZGlmZiAtLWdpdCBhL3N5c2RlcHMvbnB0 bC9wdGhyZWFkLmggYi9zeXNkZXBzL25wdGwvcHRocmVhZC5oCmluZGV4IGRm MDQ5YWJmNzQuLjg1NjhiYWZmOWQgMTAwNjQ0Ci0tLSBhL3N5c2RlcHMvbnB0 bC9wdGhyZWFkLmgKKysrIGIvc3lzZGVwcy9ucHRsL3B0aHJlYWQuaApAQCAt NjY3LDggKzY2Nyw5IEBAIF9fcHRocmVhZF9jbGVhbnVwX3JvdXRpbmUgKHN0 cnVjdCBfX3B0aHJlYWRfY2xlYW51cF9mcmFtZSAqX19mcmFtZSkKICAgICBf X3B0aHJlYWRfdW53aW5kX2J1Zl90IF9fY2FuY2VsX2J1ZjsJCQkJICAgICAg XAogICAgIHZvaWQgKCpfX2NhbmNlbF9yb3V0aW5lKSAodm9pZCAqKSA9IChy b3V0aW5lKTsJCQkgICAgICBcCiAgICAgdm9pZCAqX19jYW5jZWxfYXJnID0g KGFyZyk7CQkJCQkJICAgICAgXAotICAgIGludCBfX25vdF9maXJzdF9jYWxs ID0gX19zaWdzZXRqbXAgKChzdHJ1Y3QgX19qbXBfYnVmX3RhZyAqKSAodm9p ZCAqKSAgICAgXAotCQkJCQlfX2NhbmNlbF9idWYuX19jYW5jZWxfam1wX2J1 ZiwgMCk7ICAgIFwKKyAgICBpbnQgX19ub3RfZmlyc3RfY2FsbAkJCQkJCSAg ICAgIFwKKyAgICAgID0gX19zaWdzZXRqbXBfY2FuY2VsICgoc3RydWN0IF9f am1wX2J1Zl90YWcgKikgKHZvaWQgKikJCSAgICAgIFwKKwkJCSAgICBfX2Nh bmNlbF9idWYuX19jYW5jZWxfam1wX2J1ZiwgMCk7CQkgICAgICBcCiAgICAg aWYgKF9fZ2xpYmNfdW5saWtlbHkgKF9fbm90X2ZpcnN0X2NhbGwpKQkJCQkg ICAgICBcCiAgICAgICB7CQkJCQkJCQkJICAgICAgXAogCV9fY2FuY2VsX3Jv dXRpbmUgKF9fY2FuY2VsX2FyZyk7CQkJCSAgICAgIFwKQEAgLTcwMiw4ICs3 MDMsOSBAQCBleHRlcm4gdm9pZCBfX3B0aHJlYWRfdW5yZWdpc3Rlcl9jYW5j ZWwgKF9fcHRocmVhZF91bndpbmRfYnVmX3QgKl9fYnVmKQogICAgIF9fcHRo cmVhZF91bndpbmRfYnVmX3QgX19jYW5jZWxfYnVmOwkJCQkgICAgICBcCiAg ICAgdm9pZCAoKl9fY2FuY2VsX3JvdXRpbmUpICh2b2lkICopID0gKHJvdXRp bmUpOwkJCSAgICAgIFwKICAgICB2b2lkICpfX2NhbmNlbF9hcmcgPSAoYXJn KTsJCQkJCQkgICAgICBcCi0gICAgaW50IF9fbm90X2ZpcnN0X2NhbGwgPSBf X3NpZ3NldGptcCAoKHN0cnVjdCBfX2ptcF9idWZfdGFnICopICh2b2lkICop ICAgICBcCi0JCQkJCV9fY2FuY2VsX2J1Zi5fX2NhbmNlbF9qbXBfYnVmLCAw KTsgICAgXAorICAgIGludCBfX25vdF9maXJzdF9jYWxsCQkJCQkJICAgICAg XAorICAgICAgPSBfX3NpZ3NldGptcF9jYW5jZWwgKChzdHJ1Y3QgX19qbXBf YnVmX3RhZyAqKSAodm9pZCAqKQkJICAgICAgXAorCQkJICAgIF9fY2FuY2Vs X2J1Zi5fX2NhbmNlbF9qbXBfYnVmLCAwKTsJCSAgICAgIFwKICAgICBpZiAo X19nbGliY191bmxpa2VseSAoX19ub3RfZmlyc3RfY2FsbCkpCQkJCSAgICAg IFwKICAgICAgIHsJCQkJCQkJCQkgICAgICBcCiAJX19jYW5jZWxfcm91dGlu ZSAoX19jYW5jZWxfYXJnKTsJCQkJICAgICAgXApAQCAtNzM5LDEwICs3NDEs NyBAQCBleHRlcm4gdm9pZCBfX3B0aHJlYWRfdW53aW5kX25leHQgKF9fcHRo cmVhZF91bndpbmRfYnVmX3QgKl9fYnVmKQogICAgICA7CiAjZW5kaWYKIAot LyogRnVuY3Rpb24gdXNlZCBpbiB0aGUgbWFjcm9zLiAgKi8KLXN0cnVjdCBf X2ptcF9idWZfdGFnOwotZXh0ZXJuIGludCBfX3NpZ3NldGptcCAoc3RydWN0 IF9fam1wX2J1Zl90YWcgKl9fZW52LCBpbnQgX19zYXZlbWFzaykgX19USFJP V05MOwotCisjaW5jbHVkZSA8Yml0cy9zZXRqbXAtY2FuY2VsLmg+CiAKIC8q IE11dGV4IGhhbmRsaW5nLiAgKi8KIApkaWZmIC0tZ2l0IGEvc3lzZGVwcy91 bml4L3N5c3YvbGludXgvaTM4Ni9saWJjLmFiaWxpc3QgYi9zeXNkZXBzL3Vu aXgvc3lzdi9saW51eC9pMzg2L2xpYmMuYWJpbGlzdAppbmRleCAzOWM5OTNm ZDc5Li4wNDAzMjZjNDY5IDEwMDY0NAotLS0gYS9zeXNkZXBzL3VuaXgvc3lz di9saW51eC9pMzg2L2xpYmMuYWJpbGlzdAorKysgYi9zeXNkZXBzL3VuaXgv c3lzdi9saW51eC9pMzg2L2xpYmMuYWJpbGlzdApAQCAtMjA2NCw2ICsyMDY0 LDkgQEAgR0xJQkNfMi4yNyB3Y3N0b2Y2NCBGCiBHTElCQ18yLjI3IHdjc3Rv ZjY0X2wgRgogR0xJQkNfMi4yNyB3Y3N0b2Y2NHggRgogR0xJQkNfMi4yNyB3 Y3N0b2Y2NHhfbCBGCitHTElCQ18yLjI4IEdMSUJDXzIuMjggQQorR0xJQkNf Mi4yOCBfX3NpZ3NldGptcCBGCitHTElCQ18yLjI4IF9fc2lnc2V0am1wX2Nh bmNlbCBGCiBHTElCQ18yLjMgR0xJQkNfMi4zIEEKIEdMSUJDXzIuMyBfX2N0 eXBlX2JfbG9jIEYKIEdMSUJDXzIuMyBfX2N0eXBlX3RvbG93ZXJfbG9jIEYK ZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC82 NC9saWJjLmFiaWxpc3QgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZf NjQvNjQvbGliYy5hYmlsaXN0CmluZGV4IDJhM2NjNDA2NzQuLmRlZWJlMGEy YTcgMTAwNjQ0Ci0tLSBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82 NC82NC9saWJjLmFiaWxpc3QKKysrIGIvc3lzZGVwcy91bml4L3N5c3YvbGlu dXgveDg2XzY0LzY0L2xpYmMuYWJpbGlzdApAQCAtMTkwNSw2ICsxOTA1LDkg QEAgR0xJQkNfMi4yNyB3Y3N0b2Y2NCBGCiBHTElCQ18yLjI3IHdjc3RvZjY0 X2wgRgogR0xJQkNfMi4yNyB3Y3N0b2Y2NHggRgogR0xJQkNfMi4yNyB3Y3N0 b2Y2NHhfbCBGCitHTElCQ18yLjI4IEdMSUJDXzIuMjggQQorR0xJQkNfMi4y OCBfX3NpZ3NldGptcCBGCitHTElCQ18yLjI4IF9fc2lnc2V0am1wX2NhbmNl bCBGCiBHTElCQ18yLjMgR0xJQkNfMi4zIEEKIEdMSUJDXzIuMyBfX2N0eXBl X2JfbG9jIEYKIEdMSUJDXzIuMyBfX2N0eXBlX3RvbG93ZXJfbG9jIEYKZGlm ZiAtLWdpdCBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC94MzIv bGliYy5hYmlsaXN0IGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0 L3gzMi9saWJjLmFiaWxpc3QKaW5kZXggOGJjMTZiOTAwNC4uYWRlOGYzNmJk ZiAxMDA2NDQKLS0tIGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0 L3gzMi9saWJjLmFiaWxpc3QKKysrIGIvc3lzZGVwcy91bml4L3N5c3YvbGlu dXgveDg2XzY0L3gzMi9saWJjLmFiaWxpc3QKQEAgLTIxNDgsMyArMjE0OCw2 IEBAIEdMSUJDXzIuMjcgd2NzdG9mNjQgRgogR0xJQkNfMi4yNyB3Y3N0b2Y2 NF9sIEYKIEdMSUJDXzIuMjcgd2NzdG9mNjR4IEYKIEdMSUJDXzIuMjcgd2Nz dG9mNjR4X2wgRgorR0xJQkNfMi4yOCBHTElCQ18yLjI4IEEKK0dMSUJDXzIu MjggX19zaWdzZXRqbXAgRgorR0xJQkNfMi4yOCBfX3NpZ3NldGptcF9jYW5j ZWwgRgpkaWZmIC0tZ2l0IGEvc3lzZGVwcy94ODYvTWFrZWZpbGUgYi9zeXNk ZXBzL3g4Ni9NYWtlZmlsZQppbmRleCAwZDAzMjZjMjFhLi5kMjNlZTQ2MmY3 IDEwMDY0NAotLS0gYS9zeXNkZXBzL3g4Ni9NYWtlZmlsZQorKysgYi9zeXNk ZXBzL3g4Ni9NYWtlZmlsZQpAQCAtOCwzICs4LDcgQEAgc3lzZGVwLWRsLXJv dXRpbmVzICs9IGRsLWdldC1jcHUtZmVhdHVyZXMKIHRlc3RzICs9IHRzdC1n ZXQtY3B1LWZlYXR1cmVzCiB0ZXN0cy1zdGF0aWMgKz0gdHN0LWdldC1jcHUt ZmVhdHVyZXMtc3RhdGljCiBlbmRpZgorCitpZmVxICgkKHN1YmRpciksc2V0 am1wKQorc3lzZGVwX3JvdXRpbmVzICs9IGJzZC1fc2V0am1wX2NhbmNlbCBf X2xvbmdqbXBfY2FuY2VsIHNldGptcF9jYW5jZWwKK2VuZGlmCmRpZmYgLS1n aXQgYS9zeXNkZXBzL3g4Ni9WZXJzaW9ucyBiL3N5c2RlcHMveDg2L1ZlcnNp b25zCmluZGV4IGUwMjkyMzcwOGUuLjEwM2VjYjM2YzQgMTAwNjQ0Ci0tLSBh L3N5c2RlcHMveDg2L1ZlcnNpb25zCisrKyBiL3N5c2RlcHMveDg2L1ZlcnNp b25zCkBAIC0zLDMgKzMsMTUgQEAgbGQgewogICAgIF9fZ2V0X2NwdV9mZWF0 dXJlczsKICAgfQogfQorbGliYyB7CisgIEdMSUJDXzIuMjggeworICAgX19z aWdzZXRqbXA7CisKKyAgICMgdXNlZCB0byBpbXBsZW1lbnQgdGhyZWFkIGNh bmNlbGxhdGlvbi4KKyAgIF9fc2lnc2V0am1wX2NhbmNlbDsKKyAgfQorICBH TElCQ19QUklWQVRFIHsKKyAgICMgdXNlZCB0byBpbXBsZW1lbnQgdGhyZWFk IGNhbmNlbGxhdGlvbi4KKyAgICBfX3NldGptcF9jYW5jZWw7CisgIH0KK30K ZGlmZiAtLWdpdCBhL3N5c2RlcHMveDg2L19fbG9uZ2ptcF9jYW5jZWwuUyBi L3N5c2RlcHMveDg2L19fbG9uZ2ptcF9jYW5jZWwuUwpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi5iNTdkYmZhMzc2Ci0tLSAvZGV2 L251bGwKKysrIGIvc3lzZGVwcy94ODYvX19sb25nam1wX2NhbmNlbC5TCkBA IC0wLDAgKzEsMjAgQEAKKy8qIF9fbG9uZ2ptcF9jYW5jZWwgZm9yIHg4Ni4K KyAgIENvcHlyaWdodCAoQykgMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBHTlUgQyBM aWJyYXJ5LgorCisgICBUaGUgR05VIEMgTGlicmFyeSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgIG1vZGlm eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJh bCBQdWJsaWMKKyAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICAgdmVyc2lvbiAyLjEg b2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy IHZlcnNpb24uCisKKyAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICBi dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eSBvZgorICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAg IExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCisKKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg dGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAgIExpY2Vuc2UgYWxv bmcgd2l0aCB0aGUgR05VIEMgTGlicmFyeTsgaWYgbm90LCBzZWUKKyAgIDxo dHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisKKyNkZWZpbmUg X19sb25nam1wIF9fbG9uZ2ptcF9jYW5jZWwKKyNpbmNsdWRlIDxfX2xvbmdq bXAuUz4KZGlmZiAtLWdpdCBhL3N5c2RlcHMveDg2L2JpdHMvc2V0am1wLWNh bmNlbC5oIGIvc3lzZGVwcy94ODYvYml0cy9zZXRqbXAtY2FuY2VsLmgKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uYTE0MmNmOWNj NAotLS0gL2Rldi9udWxsCisrKyBiL3N5c2RlcHMveDg2L2JpdHMvc2V0am1w LWNhbmNlbC5oCkBAIC0wLDAgKzEsMzEgQEAKKy8qIF9fc2lnc2V0am1wX2Nh bmNlbCBmb3IgdGhyZWFkIGNhbmNlbGxhdGlvbi4gIHg4NiB2ZXJzaW9uLgor ICAgQ29weXJpZ2h0IChDKSAyMDE4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgSW5jLgorICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEdOVSBDIExp YnJhcnkuCisKKyAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlzIGZyZWUgc29mdHdh cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAgbW9kaWZ5 IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFs IFB1YmxpYworICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgICB2ZXJzaW9uIDIuMSBv ZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg dmVyc2lvbi4KKworICAgVGhlIEdOVSBDIExpYnJhcnkgaXMgZGlzdHJpYnV0 ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgIGJ1 dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCisgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICAg TGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls cy4KKworICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0 aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICAgTGljZW5zZSBhbG9u ZyB3aXRoIHRoZSBHTlUgQyBMaWJyYXJ5OyBpZiBub3QsIHNlZQorICAgPGh0 dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KKworI2lmbmRlZiBf QklUU19TRVRKTVBfQ0FOQ0VMX0gKKyNkZWZpbmUgX0JJVFNfU0VUSk1QX0NB TkNFTF9IICAxCisKKyNpZiAhZGVmaW5lZCBfU0VUSk1QX0ggJiYgIWRlZmlu ZWQgX1BUSFJFQURfSAorIyBlcnJvciAiTmV2ZXIgaW5jbHVkZSA8Yml0cy9z ZXRqbXAtY2FuY2VsLmg+IGRpcmVjdGx5OyB1c2UgPHNldGptcC5oPiBpbnN0 ZWFkLiIKKyNlbmRpZgorCisvKiBGdW5jdGlvbiB1c2VkIGluIHRoZSBtYWNy b3MuICAqLworc3RydWN0IF9fam1wX2J1Zl90YWc7CitleHRlcm4gaW50IF9f c2lnc2V0am1wX2NhbmNlbCAoc3RydWN0IF9fam1wX2J1Zl90YWcgKl9fZW52 LCBpbnQgX19zYXZlbWFzaykKKyAgX19USFJPV05MIF9fYXR0cmlidXRlX18o KF9fcmV0dXJuc190d2ljZV9fKSk7CisKKyNlbmRpZiAgLyogYml0cy9zZXRq bXAtY2FuY2VsLmggKi8KZGlmZiAtLWdpdCBhL3N5c2RlcHMveDg2L2JzZC1f c2V0am1wX2NhbmNlbC5TIGIvc3lzZGVwcy94ODYvYnNkLV9zZXRqbXBfY2Fu Y2VsLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4u MjViMmE5NTk2MAotLS0gL2Rldi9udWxsCisrKyBiL3N5c2RlcHMveDg2L2Jz ZC1fc2V0am1wX2NhbmNlbC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIF9fc2V0 am1wX2NhbmNlbCBmb3IgeDg2LgorICAgQ29weXJpZ2h0IChDKSAyMDE4IEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorICAgVGhpcyBmaWxlIGlz IHBhcnQgb2YgdGhlIEdOVSBDIExpYnJhcnkuCisKKyAgIFRoZSBHTlUgQyBM aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vcgorICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICAgTGljZW5zZSBhcyBw dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0 aGVyCisgICB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgVGhlIEdOVSBD IExpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwKKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlIEdOVQorICAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgWW91IHNob3VsZCBoYXZl IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1 YmxpYworICAgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBHTlUgQyBMaWJyYXJ5 OyBpZiBub3QsIHNlZQorICAgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNl cy8+LiAgKi8KKworI2RlZmluZSBfc2V0am1wIF9fc2V0am1wX2NhbmNlbAor I2luY2x1ZGUgPGJzZC1fc2V0am1wLlM+CisKK2xpYmNfaGlkZGVuX2RlZiAo X19zZXRqbXBfY2FuY2VsKQpkaWZmIC0tZ2l0IGEvc3lzZGVwcy94ODYvbG9u Z2ptcC5jIGIvc3lzZGVwcy94ODYvbG9uZ2ptcC5jCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLmI3NmMyYTVkZmYKLS0tIC9kZXYv bnVsbAorKysgYi9zeXNkZXBzL3g4Ni9sb25nam1wLmMKQEAgLTAsMCArMSw0 MiBAQAorLyogX19saWJjX3NpZ2xvbmdqbXAgZm9yIHg4Ni4KKyAgIENvcHly aWdodCAoQykgMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4K KyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBHTlUgQyBMaWJyYXJ5Lgor CisgICBUaGUgR05VIEMgTGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgIG1vZGlmeSBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMK KyAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb247IGVpdGhlcgorICAgdmVyc2lvbiAyLjEgb2YgdGhlIExp Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u CisKKyAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZgorICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgIExlc3NlciBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAg IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM ZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAgIExpY2Vuc2UgYWxvbmcgd2l0aCB0 aGUgR05VIEMgTGlicmFyeTsgaWYgbm90LCBzZWUKKyAgIDxodHRwOi8vd3d3 LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisKKyNkZWZpbmUgX19saWJjX2xv bmdqbXAgX19yZWRpcmVjdF9fX2xpYmNfbG9uZ2ptcAorI2luY2x1ZGUgPHNl dGptcC9sb25nam1wLmM+CisjdW5kZWYgX19saWJjX2xvbmdqbXAKKworLyog U2luY2UgX19saWJjX2xvbmdqbXAgaXMgYSBwcml2YXRlIGludGVyZmFjZSBm b3IgY2FuY2VsbGF0aW9uCisgICBpbXBsZW1lbnRhdGlvbiBpbiBsaWJwdGhy ZWFkLCB0aGVyZSBpcyBubyBuZWVkIHRvIHJlc3RvcmUgc2hhZG93CisgICBz dGFjayByZWdpc3Rlci4gICovCisKK3ZvaWQKK19fbGliY19sb25nam1wIChz aWdqbXBfYnVmIGVudiwgaW50IHZhbCkKK3sKKyAgLyogUGVyZm9ybSBhbnkg Y2xlYW51cHMgbmVlZGVkIGJ5IHRoZSBmcmFtZXMgYmVpbmcgdW53b3VuZC4g ICovCisgIF9sb25nam1wX3Vud2luZCAoZW52LCB2YWwpOworCisgIGlmIChl bnZbMF0uX19tYXNrX3dhc19zYXZlZCkKKyAgICAvKiBSZXN0b3JlIHRoZSBz YXZlZCBzaWduYWwgbWFzay4gICovCisgICAgKHZvaWQpIF9fc2lncHJvY21h c2sgKFNJR19TRVRNQVNLLAorCQkJICAoc2lnc2V0X3QgKikgJmVudlswXS5f X3NhdmVkX21hc2ssCisJCQkgIChzaWdzZXRfdCAqKSBOVUxMKTsKKworICAv KiBDYWxsIHRoZSBtYWNoaW5lLWRlcGVuZGVudCBmdW5jdGlvbiB0byByZXN0 b3JlIG1hY2hpbmUgc3RhdGUKKyAgICAgd2l0aG91dCBzaGFkb3cgc3RhY2su ICAqLworICBfX2xvbmdqbXBfY2FuY2VsIChlbnZbMF0uX19qbXBidWYsIHZh bCA/OiAxKTsKK30KZGlmZiAtLWdpdCBhL3N5c2RlcHMveDg2L3NldGptcC1j YW5jZWxQLmggYi9zeXNkZXBzL3g4Ni9zZXRqbXAtY2FuY2VsUC5oCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjFjZDRmOTRiNTAK LS0tIC9kZXYvbnVsbAorKysgYi9zeXNkZXBzL3g4Ni9zZXRqbXAtY2FuY2Vs UC5oCkBAIC0wLDAgKzEsMjQgQEAKKy8qIEludGVybmFsIGhlYWRlciBmaWxl IGZvciA8Yml0cy9zZXRqbXAtY2FuY2VsLmg+LiAgeDg2IHZlcnNpb24uCisg ICBDb3B5cmlnaHQgKEMpIDIwMTctMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBHTlUg QyBMaWJyYXJ5LgorCisgICBUaGUgR05VIEMgTGlicmFyeSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgIG1v ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2Vu ZXJhbCBQdWJsaWMKKyAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICAgdmVyc2lvbiAy LjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh dGVyIHZlcnNpb24uCisKKyAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisg ICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZgorICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK KyAgIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuCisKKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg b2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAgIExpY2Vuc2Ug YWxvbmcgd2l0aCB0aGUgR05VIEMgTGlicmFyeTsgaWYgbm90LCBzZWUKKyAg IDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisKK2V4dGVy biBpbnQgX19zZXRqbXBfY2FuY2VsIChzdHJ1Y3QgX19qbXBfYnVmX3RhZyBf X2VudlsxXSkKKyAgX19hdHRyaWJ1dGVfXygoX19yZXR1cm5zX3R3aWNlX18p KTsKK2xpYmNfaGlkZGVuX3Byb3RvIChfX3NldGptcF9jYW5jZWwsIF9fcmV0 dXJuc190d2ljZV9fKQorCitleHRlcm4gdm9pZCBfX2xvbmdqbXBfY2FuY2Vs IChfX2ptcF9idWYgX19lbnYsIGludCBfX3ZhbCkKKyAgICAgX19hdHRyaWJ1 dGVfXyAoKF9fbm9yZXR1cm5fXykpIGF0dHJpYnV0ZV9oaWRkZW47CmRpZmYg LS1naXQgYS9zeXNkZXBzL3g4Ni9zZXRqbXBfY2FuY2VsLlMgYi9zeXNkZXBz L3g4Ni9zZXRqbXBfY2FuY2VsLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMC4uYjJiY2EzOTg4MwotLS0gL2Rldi9udWxsCisrKyBi L3N5c2RlcHMveDg2L3NldGptcF9jYW5jZWwuUwpAQCAtMCwwICsxLDI2IEBA CisvKiBfX3NpZ3NldGptcF9jYW5jZWwgZm9yIHg4Ni4KKyAgIENvcHlyaWdo dCAoQykgMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAg IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBHTlUgQyBMaWJyYXJ5LgorCisg ICBUaGUgR05VIEMgTGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgIG1vZGlmeSBpdCB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAg IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IGVpdGhlcgorICAgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vu c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisK KyAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgorICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgIExlc3NlciBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgIFlv dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNz ZXIgR2VuZXJhbCBQdWJsaWMKKyAgIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGUg R05VIEMgTGlicmFyeTsgaWYgbm90LCBzZWUKKyAgIDxodHRwOi8vd3d3Lmdu dS5vcmcvbGljZW5zZXMvPi4gICovCisKKyNkZWZpbmUgX19zaWdzZXRqbXAg X19zaWdzZXRqbXBfY2FuY2VsCisjaW5jbHVkZSA8c2V0am1wLlM+CisjdW5k ZWYgX19zaWdzZXRqbXAKKworI2luY2x1ZGUgPHNobGliLWNvbXBhdC5oPgor I2lmIFNITElCX0NPTVBBVCAobGliYywgR0xJQkNfMl8wLCBHTElCQ18yXzI4 KQorY29tcGF0X3N5bWJvbCAobGliYywgX19zaWdzZXRqbXBfY2FuY2VsLCBf X3NpZ3NldGptcCwgR0xJQkNfMl8wKTsKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv c3lzZGVwcy94ODZfNjQvYnNkLV9zZXRqbXAuUyBiL3N5c2RlcHMveDg2XzY0 L2JzZC1fc2V0am1wLlMKaW5kZXggNThjOTk3ZGU1OS4uZTQ5MDhiMDA4MSAx MDA2NDQKLS0tIGEvc3lzZGVwcy94ODZfNjQvYnNkLV9zZXRqbXAuUworKysg Yi9zeXNkZXBzL3g4Nl82NC9ic2QtX3NldGptcC5TCkBAIC0yNSwxMyArMjUs MjggQEAKICNkZWZpbmUgX1NFVEpNUF9ICiAjaW5jbHVkZSA8Yml0cy9zZXRq bXAuaD4KIAorLyogSWYgX3NldGptcCBpcyBkZWZpbmVkIGZvciBfX3NldGpt cF9jYW5jZWwsIGNhbGwgX19zaWdzZXRqbXBfY2FuY2VsCisgICBpbnN0ZWFk IG9mIF9fc2lnc2V0am1wLgorICovCisjaWZkZWYgX3NldGptcAorIyBpZmRl ZiBQSUMKKyMgIGRlZmluZSBTSUdTRVRKTVAgSElEREVOX0pVTVBUQVJHRVQg KF9fc2lnc2V0am1wX2NhbmNlbCkKKyMgZWxzZQorIyAgZGVmaW5lIFNJR1NF VEpNUCBfX3NpZ3NldGptcF9jYW5jZWwKKyMgZW5kaWYKKyNlbHNlCisjIGlm ZGVmIFBJQworIyAgZGVmaW5lIFNJR1NFVEpNUCBISURERU5fSlVNUFRBUkdF VCAoX19zaWdzZXRqbXApCisjIGVsc2UKKyMgIGRlZmluZSBTSUdTRVRKTVAg X19zaWdzZXRqbXAKKyMgZW5kaWYKKyNlbmRpZgorCiBFTlRSWSAoX3NldGpt cCkKIAkvKiBTZXQgdXAgYXJndW1lbnRzLCB3ZSBvbmx5IG5lZWQgdG8gc2V0 IHRoZSBzZWNvbmQgYXJnLiAgKi8KIAl4b3JsICVlc2ksICVlc2kKLSNpZmRl ZiBQSUMKLQlqbXAgSElEREVOX0pVTVBUQVJHRVQgKF9fc2lnc2V0am1wKQot I2Vsc2UKLQlqbXAgX19zaWdzZXRqbXAKLSNlbmRpZgorCWptcCBTSUdTRVRK TVAKIEVORCAoX3NldGptcCkKKyNpZm5kZWYgX3NldGptcAogbGliY19oaWRk ZW5fZGVmIChfc2V0am1wKQorI2VuZGlmCmRpZmYgLS1naXQgYS9zeXNkZXBz L3g4Nl82NC9zZXRqbXAuUyBiL3N5c2RlcHMveDg2XzY0L3NldGptcC5TCmlu ZGV4IGUwYTY0OGUzZTQuLmM3Y2JiMjkxMTEgMTAwNjQ0Ci0tLSBhL3N5c2Rl cHMveDg2XzY0L3NldGptcC5TCisrKyBiL3N5c2RlcHMveDg2XzY0L3NldGpt cC5TCkBAIC0yMSw2ICsyMSwxMSBAQAogI2luY2x1ZGUgPGFzbS1zeW50YXgu aD4KICNpbmNsdWRlIDxzdGFwLXByb2JlLmg+CiAKKyNpZiAhZGVmaW5lZCBf X3NpZ3NldGptcCAmJiBkZWZpbmVkIFNIQVJFRCAmJiAhSVNfSU4gKHJ0bGQp CisjIGRlZmluZSBfX3NpZ3NldGptcCBfX3JlZGlyZWN0X19fc2lnc2V0am1w CisjIGRlZmluZSBfX3JlZGlyZWN0X19fc2lnc2V0am1wIF9fcmVkaXJlY3Rf X19zaWdzZXRqbXAKKyNlbmRpZgorCiBFTlRSWSAoX19zaWdzZXRqbXApCiAJ LyogU2F2ZSByZWdpc3RlcnMuICAqLwogCW1vdnEgJXJieCwgKEpCX1JCWCo4 KSglcmRpKQpAQCAtNjMsNCArNjgsMTMgQEAgRU5UUlkgKF9fc2lnc2V0am1w KQogCWptcCBfX3NpZ2ptcF9zYXZlCiAjZW5kaWYKIEVORCAoX19zaWdzZXRq bXApCi1oaWRkZW5fZGVmIChfX3NpZ3NldGptcCkKKyNpZmRlZiBfX3JlZGly ZWN0X19fc2lnc2V0am1wCisjIHVuZGVmIF9fc2lnc2V0am1wCisKKwkuZ2xv YmwgX19HSV9fX3NpZ3NldGptcAorCS5oaWRkZW4gX19HSV9fX3NpZ3NldGpt cAorCV9fR0lfX19zaWdzZXRqbXAgPSBfX3JlZGlyZWN0X19fc2lnc2V0am1w CisKKyMgaW5jbHVkZSA8c2hsaWItY29tcGF0Lmg+Cit2ZXJzaW9uZWRfc3lt Ym9sIChsaWJjLCBfX3JlZGlyZWN0X19fc2lnc2V0am1wLCBfX3NpZ3NldGpt cCwgR0xJQkNfMl8yOCk7CisjZW5kaWYKZGlmZiAtLWdpdCBhL3N5c2RlcHMv eDg2XzY0L3NldGptcF9jYW5jZWwuUyBiL3N5c2RlcHMveDg2XzY0L3NldGpt cF9jYW5jZWwuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwLi4zNzI3YTljN2RjCi0tLSAvZGV2L251bGwKKysrIGIvc3lzZGVwcy94 ODZfNjQvc2V0am1wX2NhbmNlbC5TCkBAIC0wLDAgKzEsMjEgQEAKKy8qIF9f c2lnc2V0am1wX2NhbmNlbCBmb3IgeDg2LTY0LgorICAgQ29weXJpZ2h0IChD KSAyMDE4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorICAgVGhp cyBmaWxlIGlzIHBhcnQgb2YgdGhlIEdOVSBDIExpYnJhcnkuCisKKyAgIFRo ZSBHTlUgQyBMaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vcgorICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0 ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICAgTGlj ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbjsgZWl0aGVyCisgICB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwg b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAg VGhlIEdOVSBDIExpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgIGJ1dCBXSVRIT1VUIEFOWSBX QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m CisgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICAgTGVzc2VyIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgWW91IHNo b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBH ZW5lcmFsIFB1YmxpYworICAgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBHTlUg QyBMaWJyYXJ5OyBpZiBub3QsIHNlZQorICAgPGh0dHA6Ly93d3cuZ251Lm9y Zy9saWNlbnNlcy8+LiAgKi8KKworI2luY2x1ZGUgPHN5c2RlcHMveDg2L3Nl dGptcF9jYW5jZWwuUz4KKworbGliY19oaWRkZW5fZGVmIChfX3NpZ3NldGpt cF9jYW5jZWwpCi0tIAoyLjE0LjMKCg== --94eb2c18d7a8061bf40567728a0b--