From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Nicolas =?UTF-8?Q?B=C3=A9rtolo?= Newsgroups: gmane.emacs.bugs Subject: bug#41242: Port feature/native-comp to Windows Date: Tue, 19 May 2020 16:23:06 -0300 Message-ID: References: <834ksi60zn.fsf@gnu.org> <83k11e4a0s.fsf@gnu.org> <83blmp4tob.fsf@gnu.org> <83o8qp1hfr.fsf@gnu.org> <837dxcv1po.fsf@gnu.org> <83imgvdf94.fsf@gnu.org> <83eerjde6k.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0000000000004e7dbe05a60536de" Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="112360"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 41242@debbugs.gnu.org, Andrea Corallo To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue May 19 21:24:12 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jb7qU-000T5o-Uo for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 19 May 2020 21:24:11 +0200 Original-Received: from localhost ([::1]:56394 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jb7qT-0007Vj-SP for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 19 May 2020 15:24:09 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:53364) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jb7qM-0007VZ-QS for bug-gnu-emacs@gnu.org; Tue, 19 May 2020 15:24:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:39595) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jb7qM-0006Ku-H9 for bug-gnu-emacs@gnu.org; Tue, 19 May 2020 15:24:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jb7qM-0005nP-Cd for bug-gnu-emacs@gnu.org; Tue, 19 May 2020 15:24:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Nicolas =?UTF-8?Q?B=C3=A9rtolo?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 19 May 2020 19:24:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41242 X-GNU-PR-Package: emacs Original-Received: via spool by 41242-submit@debbugs.gnu.org id=B41242.158991620622232 (code B ref 41242); Tue, 19 May 2020 19:24:02 +0000 Original-Received: (at 41242) by debbugs.gnu.org; 19 May 2020 19:23:26 +0000 Original-Received: from localhost ([127.0.0.1]:51141 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jb7pm-0005mV-G8 for submit@debbugs.gnu.org; Tue, 19 May 2020 15:23:26 -0400 Original-Received: from mail-oo1-f45.google.com ([209.85.161.45]:33617) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jb7pl-0005mJ-Ca for 41242@debbugs.gnu.org; Tue, 19 May 2020 15:23:25 -0400 Original-Received: by mail-oo1-f45.google.com with SMTP id q6so214502oot.0 for <41242@debbugs.gnu.org>; Tue, 19 May 2020 12:23:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=fyAVXXh68xvBUCDotGRw+Xh+qI6ioJRoUfUmZl+PRv4=; b=dqbC0DmHlUMQrrGaDQQ5YH5RnXHcdn7mebPilbAkjgAMPB0oHCnsiewYqPWiwGnDS8 IK5sgk4hBq+I9sKO/bk3K30mbtPmZSyJ+ITa3auOKTFr1ZIyIIoGMfNy8gkju7S4UaZN gb93pfMLlhoGiUjidkEFYu8WO255Fw/GGXjsDg7DN1+Y+x/S4Klg02KbLQWoEPL1uHLa 2+ARlQnmcy6Xggs7Bw6TPQsvDGl0TMMK//OjpEpBo5JWEhCujXQS+mXj0OCfYCC5jxeZ 17Kr+4GICoI+MbT06yJU06wWNyUirsu+QsTN8FuyfeTu64Qzy5lv+FpIhIs1QpOl31YY gLJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=fyAVXXh68xvBUCDotGRw+Xh+qI6ioJRoUfUmZl+PRv4=; b=I1SJ5Mwqsnc04NGB6QzTGZfiLX4VSc+aNGoqYvI6U1hYuvxoEM8sIUa6weA5WUsJ2l Y9apx1XiLMJIq9khpyJvQtMl8KBq/vIkbb1dbu0mXv1jJnTX+2b/DYr6j3eTYTbofGqK D1WqUP3PLRNB00vscDm82wR1gWak7fHhRRQ3lOqOrJoH1mlE+jBOidD8EN2g8G8GM5af LpBBGW7C/53SA7nPSnvbNKslbGuivc65OeluRjnYipLsKoJ2QP6t2n4fEr217Lj8MoWS rIK9jvwKTvPojvMuHhNS6ziC97wwq8go0qcx5/bGWIqGgcjX/YpAvLKu6Ay6NP96K9qV 05Og== X-Gm-Message-State: AOAM533uvL+KZrDydTpZ2QD1AYhGlAka0qNoO1Mb+ETiwS/XTEjI5eEP VpwlIzZ/Fk2CzsoVqquUU/YZL6cvFuCB8ftEPU+z2Nuz X-Google-Smtp-Source: ABdhPJy7sT2+AXWtlodw9nQhO/tzksE0EJ3CBwXe/Gw7WaD/8sPo0maL5miVNo6WYB2qH5u8Y7CfkZcmwheYZyFQRGs= X-Received: by 2002:a4a:ad0d:: with SMTP id r13mr587523oon.22.1589916199680; Tue, 19 May 2020 12:23:19 -0700 (PDT) In-Reply-To: <83eerjde6k.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:180610 Archived-At: --0000000000004e7dbe05a60536de Content-Type: multipart/alternative; boundary="0000000000004e7dbb05a60536dc" --0000000000004e7dbb05a60536dc Content-Type: text/plain; charset="UTF-8" I have written the attached patch to handle the deletion of native compilation units still in use. I have tested that it works well. --0000000000004e7dbb05a60536dc Content-Type: text/html; charset="UTF-8"
I have written the attached patch to handle the deletion
of native compilation units still in use. I have tested that it works well.
--0000000000004e7dbb05a60536dc-- --0000000000004e7dbe05a60536de Content-Type: application/octet-stream; name="0001-Improve-handling-of-native-compilation-units-still-i.patch" Content-Disposition: attachment; filename="0001-Improve-handling-of-native-compilation-units-still-i.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kaeaywxm0 RnJvbSBhZGZjY2EzOGY3NmFmMzc5NmZlOGNjNTk2ODRlZDVlMjQ5ODdmMjRjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Tmljb2w9QzM9QTFzPTIwQj1DMz1BOXJ0b2xv Pz0gPG5pY29sYXNiZXJ0b2xvQGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAxOSBNYXkgMjAyMCAxNTo1 NzozMSAtMDMwMApTdWJqZWN0OiBbUEFUQ0hdIEltcHJvdmUgaGFuZGxpbmcgb2YgbmF0aXZlIGNv bXBpbGF0aW9uIHVuaXRzIHN0aWxsIGluIHVzZSBpbgogV2luZG93cwoKV2hlbiBjbG9zaW5nIGVt YWNzIHdpbGwgaW5zcGVjdCBhbGwgZGlyZWN0b3JpZXMgZnJvbSB3aGljaCBpdCBsb2FkZWQKbmF0 aXZlIGNvbXBpbGF0aW9uIHVuaXRzLiBJZiBpdCBmaW5kcyBhICIuZWxuLm9sZCIgZmlsZSBpdCB3 aWxsIHRyeSB0bwpkZWxldGUgaXQsIGlmIGl0IGZhaWxzIHRoYXQgbWVhbnMgdGhhdCBhbm90aGVy IEVtYWNzIGluc3RhbmNlIGlzIHVzaW5nIGl0LgoKV2hlbiBjb21waWxpbmcgYSBmaWxlIHdlIHJl bmFtZSB0aGUgZmlsZSB0aGF0IHdhcyBpbiB0aGUgb3V0cHV0IHBhdGgKaW4gY2FzZSBpdCBoYXMg YmVlbiBsb2FkZWQgaW50byBhbm90aGVyIEVtYWNzIGluc3RhbmNlLgoKV2hlbiBkZWxldGluZyBh IHBhY2thZ2Ugd2UgbW92ZSBhbnkgIi5lbG4iIG9yICIuZWxuLm9sZCIgZmlsZXMgaW4gdGhlCnBh Y2thZ2UgZm9sZGVyIHRoYXQgd2UgY2FuJ3QgZGVsZXRlIHRvIGBwYWNrYWdlLXVzZXItZGlyYC4g RW1hY3Mgd2lsbApjaGVjayB0aGF0IGRpcmVjdG9yeSB3aGVuIGNsb3NpbmcgYW5kIGRlbGV0ZSB0 aGVtLgoKKiBsaXNwL2VtYWNzLWxpc3AvY29tcC5lbCAoY29tcC0tcmVwbGFjZS1vdXRwdXQtZmls ZSk6IEZ1bmN0aW9uIGNhbGxlZApmcm9tIEMgY29kZSB0byBmaW5pc2ggdGhlIGNvbXBpbGF0aW9u IHByb2Nlc3MuIEl0IHBlcmZvcm1zIHJlbmFtaW5nIG9mCnRoZSBvbGQgZmlsZSBpZiBuZWNlc3Nh cnkuCiogbGlzcC9lbWFjcy1saXNwL3BhY2thZ2UuZWwgKHBhY2thZ2UtLWRlbGV0ZS1kaXJlY3Rv cnkpOiBGdW5jdGlvbiB0bwpkZWxldGUgYSBwYWNrYWdlIGRpcmVjdG9yeS4gSXQgbW92ZXMgbmF0 aXZlIGNvbXBpbGF0aW9uIHVuaXRzIHRoYXQgaXQKY2FuJ3QgZGVsZXRlIHRvIGBwYWNrYWdlLXVz ZXItZGlyJy4KKiBzcmMvYWxsb2MuYyAoY2xlYW51cF92ZWN0b3IpOiBDYWxsIGRpc3Bvc2VfY29t cF91bml0KCkuCiAgKGdhcmJhZ2VfY29sbGVjdCk6IENhbGwgZmluaXNoX2RlbGF5ZWRfZGlzcG9z YWxfb2ZfY29tcF91bml0cygpLgoqIHNyYy9jb21wLmM6IFJlc3RvcmUgdGhlIHNpZ25hbCBtYXNr IHVzaW5nIHVud2luZC1wcm90ZWN0LiBTdG9yZQpsb2FkZWQgbmF0aXZlIGNvbXBpbGF0aW9uIHVu aXRzIGluIGEgaGFzaCB0YWJsZSBmb3IgZGlzcG9zYWwgb24KY2xvc2UuIFN0b3JlIGZpbGVuYW1l cyBvZiBuYXRpdmUgY29tcGlsYXRpb24gdW5pdHMgR0MnZCBpbiBhIGxpbmtlZApsaXN0IHRvIGZp bmlzaCB0aGVpciBkaXNwb3NhbCB3aGVuIHRoZSBHQyBpcyBvdmVyLgoqIHNyYy9jb21wLmg6IElu dHJvZHVjZSBjZmlsZSBtZW1iZXIgaW4gTGlzcF9OYXRpdmVfQ29tcF9Vbml0LgpBZGQgZGVjbGFy YXRpb25zIG9mIGZ1bmN0aW9ucyB0aGF0OiBjbGVhbiBkaXJlY3RvcmllcyBvZiB1bnVzZWQgbmF0 aXZlCmNvbXBpbGF0aW9uIHVuaXRzLCBoYW5kbGUgZGlzcG9zYWwgb2YgbmF0aXZlIGNvbXBpbGF0 aW9uIHVuaXRzLgoqIHNyYy9lbWFjcy5jIChraWxsLWVtYWNzKTogRGlzcG9zZSBhbGwgcmVtYWlu aW5nIGNvbXBpbGF0aW9uIHVuaXRzCnJpZ2h0IHJpZ2h0IGJlZm9yZSBjYWxsaW5nIGV4aXQoKS4K KiBzcmMvZXZhbC5jIChpbnRlcm5hbF9jb25kaXRpb25fY2FzZV8zLCBpbnRlcm5hbF9jb25kaXRp b25fY2FzZV80KToKQWRkIGZ1bmN0aW9ucy4KKiBzcmMvbGlzcC5oIChpbnRlcm5hbF9jb25kaXRp b25fY2FzZV8zLCBpbnRlcm5hbF9jb25kaXRpb25fY2FzZV80KToKQWRkIGZ1bmN0aW9ucy4KKiBz cmMvcGR1bXBlci5jIChkdW1wX2RvX2R1bXBfcmVsb2NhdGlvbik6IFNldCBjZmlsZSB0byBhIGNv cHkgb2YgdGhlCkxpc3Agc3RyaW5nIHNwZWNpZnlpbmcgdGhlIGZpbGUgcGF0aC4KLS0tCiBsaXNw L2VtYWNzLWxpc3AvY29tcC5lbCAgICB8ICAyNSArKysrKysKIGxpc3AvZW1hY3MtbGlzcC9wYWNr YWdlLmVsIHwgIDI3ICsrKysrLQogc3JjL2FsbG9jLmMgICAgICAgICAgICAgICAgfCAgIDUgKy0K IHNyYy9jb21wLmMgICAgICAgICAgICAgICAgIHwgMTc0ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKystLS0KIHNyYy9jb21wLmggICAgICAgICAgICAgICAgIHwgIDI3ICsrKysrKwog c3JjL2VtYWNzLmMgICAgICAgICAgICAgICAgfCAgIDMgKwogc3JjL2V2YWwuYyAgICAgICAgICAg ICAgICAgfCAgNTUgKysrKysrKysrKysrCiBzcmMvbGlzcC5oICAgICAgICAgICAgICAgICB8ICAg MiArCiBzcmMvcGR1bXBlci5jICAgICAgICAgICAgICB8ICAgMyArCiA5IGZpbGVzIGNoYW5nZWQs IDMwOCBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saXNwL2Vt YWNzLWxpc3AvY29tcC5lbCBiL2xpc3AvZW1hY3MtbGlzcC9jb21wLmVsCmluZGV4IDAxMmJhZjI1 NjAuLjFmYjRjZDk4YzAgMTAwNjQ0Ci0tLSBhL2xpc3AvZW1hY3MtbGlzcC9jb21wLmVsCisrKyBi L2xpc3AvZW1hY3MtbGlzcC9jb21wLmVsCkBAIC0yMTgzLDYgKzIxODMsMzEgQEAgY29tcC1oaW50 LWNvbnMKIAwKIDs7IFNvbWUgZW50cnkgcG9pbnQgc3VwcG9ydCBjb2RlLgogCisoZGVmdW4gY29t cC0tcmVwbGFjZS1vdXRwdXQtZmlsZSAob3V0ZmlsZSB0bXBmaWxlKQorICAiUmVwbGFjZSBPVVRG SUxFIHdpdGggVE1QRklMRSB0YWtpbmcgdGhlIG5lY2Vzc2FyeSBzdGVwcyB3aGVuCitkZWFsaW5n IHdpdGggc2hhcmVkIGxpYnJhcmllcyB0aGF0IG1heSBiZSBsb2FkZWQgaW50byBFbWFjcyIKKyAg KGNvbmQgKChlcSAnd2luZG93cy1udCBzeXN0ZW0tdHlwZSkKKyAgICAgICAgIChpZ25vcmUtZXJy b3JzIChkZWxldGUtZmlsZSBvdXRmaWxlKSkKKyAgICAgICAgIChsZXQgKChyZXRyeSB0KSkKKyAg ICAgICAgICAgKHdoaWxlIHJldHJ5CisgICAgICAgICAgICAgKHNldGYgcmV0cnkgbmlsKQorICAg ICAgICAgICAgIChjb25kaXRpb24tY2FzZSBfCisgICAgICAgICAgICAgICAgIChwcm9nbgorICAg ICAgICAgICAgICAgICAgIDs7IG91dGZpbGUgbWF5YmUgcmVjcmVhdGVkIGJ5IGFub3RoZXIgRW1h Y3MgaW4KKyAgICAgICAgICAgICAgICAgICA7OyBiZXR3ZWVuIHRoZSBmb2xsb3dpbmcgdHdvIHJl bmFtZS1maWxlIGNhbGxzCisgICAgICAgICAgICAgICAgICAgKGlmIChmaWxlLWV4aXN0cy1wIG91 dGZpbGUpCisgICAgICAgICAgICAgICAgICAgICAgIChyZW5hbWUtZmlsZSBvdXRmaWxlIChtYWtl LXRlbXAtZmlsZS1pbnRlcm5hbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGZpbGUtbmFtZS1zYW5zLWV4dGVuc2lvbiBvdXRmaWxlKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmlsICIuZWxuLm9sZCIgbmlsKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdCkpCisgICAgICAgICAgICAgICAgICAg KHJlbmFtZS1maWxlIHRtcGZpbGUgb3V0ZmlsZSBuaWwpKQorICAgICAgICAgICAgICAgKGZpbGUt YWxyZWFkeS1leGlzdHMgKHNldGYgcmV0cnkgdCkpKSkpKQorICAgICAgICA7OyBSZW1vdmUgdGhl IG9sZCBlbG4gaW5zdGVhZCBvZiBjb3B5aW5nIHRoZSBuZXcgb25lIGludG8gaXQKKyAgICAgICAg OzsgdG8gZ2V0IGEgbmV3IGlub2RlIGFuZCBwcmV2ZW50IGNyYXNoZXMgaW4gY2FzZSB0aGUgb2xk IG9uZQorICAgICAgICA7OyBpcyBjdXJyZW50bHkgbG9hZGVkLgorICAgICAgICAodCAoZGVsZXRl LWZpbGUgb3V0ZmlsZSkKKyAgICAgICAgICAgKHJlbmFtZS1maWxlIHRtcGZpbGUgb3V0ZmlsZSkp KSkKKwogKGRlZnZhciBjb21wLWZpbGVzLXF1ZXVlICgpCiAgICJMaXN0IG9mIEVsaXNwIGZpbGVz IHRvIGJlIGNvbXBpbGVkLiIpCiAKZGlmZiAtLWdpdCBhL2xpc3AvZW1hY3MtbGlzcC9wYWNrYWdl LmVsIGIvbGlzcC9lbWFjcy1saXNwL3BhY2thZ2UuZWwKaW5kZXggOTU2NTk4NDBhZC4uMzY4MDU3 ZTk1NSAxMDA2NDQKLS0tIGEvbGlzcC9lbWFjcy1saXNwL3BhY2thZ2UuZWwKKysrIGIvbGlzcC9l bWFjcy1saXNwL3BhY2thZ2UuZWwKQEAgLTIxODQsNiArMjE4NCwzMSBAQCBwYWNrYWdlLS1uZXdl c3QtcAogICAoZXF1YWwgKGNhZHIgKGFzc3EgKHBhY2thZ2UtZGVzYy1uYW1lIHBrZykgcGFja2Fn ZS1hbGlzdCkpCiAgICAgICAgICBwa2cpKQogCisoZGVmdW4gcGFja2FnZS0tZGVsZXRlLWRpcmVj dG9yeSAoZGlyKQorICAiRGVsZXRlIERJUiByZWN1cnNpdmVseS4KK0luIFdpbmRvd3MgbW92ZSAu ZWxuIGFuZCAuZWxuLm9sZCBmaWxlcyB0aGF0IGNhbiBub3QgYmUgZGVsZXRlZCB0byBgcGFja2Fn ZS11c2VyLWRpcicuIgorICAoY29uZCAoKGVxICd3aW5kb3dzLW50IHN5c3RlbS10eXBlKQorICAg ICAgICAgKGxldCAoKHJldHJ5IHQpKQorICAgICAgICAgICAod2hpbGUgcmV0cnkKKyAgICAgICAg ICAgICAoc2V0ZiByZXRyeSBuaWwpCisgICAgICAgICAgICAgKGNvbmRpdGlvbi1jYXNlIGVycgor ICAgICAgICAgICAgICAgICAoZGVsZXRlLWRpcmVjdG9yeSBkaXIgdCkKKyAgICAgICAgICAgICAg IChmaWxlLWVycm9yCisgICAgICAgICAgICAgICAgKGlmIChhbmQgKHN0cmluZz0gIlJlbW92aW5n IG9sZCBuYW1lIiAoY2FkciBlcnIpKQorICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmc9 ICJQZXJtaXNzaW9uIGRlbmllZCIgKGNhZGRyIGVycikpCisgICAgICAgICAgICAgICAgICAgICAg ICAgKG9yIChzdHJpbmctc3VmZml4LXAgIi5lbG4iIChjYWRkZHIgZXJyKSkKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKHN0cmluZy1zdWZmaXgtcCAiLmVsbi5vbGQiIChjYWRkZHIgZXJy KSkpKQorICAgICAgICAgICAgICAgICAgICAocHJvZ24KKyAgICAgICAgICAgICAgICAgICAgICAo cmVuYW1lLWZpbGUgKGNhZGRkciBlcnIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChtYWtlLXRlbXAtZmlsZS1pbnRlcm5hbAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGNvbmNhdCBwYWNrYWdlLXVzZXItZGlyCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChmaWxlLW5hbWUtYmFzZSAoY2FkZGRyIGVycikpKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmlsICIuZWxuLm9sZCIgbmlsKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0KQorICAgICAgICAgICAgICAgICAgICAg IChzZXRmIHJldHJ5IHQpKQorICAgICAgICAgICAgICAgICAgKHNpZ25hbCAoY2FyIGVycikgKGNk ciBlcnIpKSkpKSkpKQorICAgICAgICAodCAoZGVsZXRlLWRpcmVjdG9yeSBkaXIgdCkpKQorCiAo ZGVmdW4gcGFja2FnZS1kZWxldGUgKHBrZy1kZXNjICZvcHRpb25hbCBmb3JjZSBub3NhdmUpCiAg ICJEZWxldGUgcGFja2FnZSBQS0ctREVTQy4KIApAQCAtMjIzNiw3ICsyMjYxLDcgQEAgcGFja2Fn ZS1kZWxldGUKICAgICAgICAgICAgICAgICAgIChwYWNrYWdlLWRlc2MtbmFtZSBwa2ctdXNlZC1l bHNld2hlcmUtYnkpKSkKICAgICAgICAgICAodAogICAgICAgICAgICAoYWRkLWhvb2sgJ3Bvc3Qt Y29tbWFuZC1ob29rICMncGFja2FnZS1tZW51LS1wb3N0LXJlZnJlc2gpCi0gICAgICAgICAgIChk ZWxldGUtZGlyZWN0b3J5IGRpciB0KQorICAgICAgICAgICAocGFja2FnZS0tZGVsZXRlLWRpcmVj dG9yeSBkaXIpCiAgICAgICAgICAgIDs7IFJlbW92ZSBOQU1FLVZFUlNJT04uc2lnbmVkIGFuZCBO QU1FLXJlYWRtZS50eHQgZmlsZXMuCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgIDs7IE5BTUUt cmVhZG1lLnR4dCBmaWxlcyBhcmUgbm8gbG9uZ2VyIGNyZWF0ZWQsIGJ1dCB0aGV5CmRpZmYgLS1n aXQgYS9zcmMvYWxsb2MuYyBiL3NyYy9hbGxvYy5jCmluZGV4IGYyYjgwZmFjODguLjE3ZjVlMTVi MzUgMTAwNjQ0Ci0tLSBhL3NyYy9hbGxvYy5jCisrKyBiL3NyYy9hbGxvYy5jCkBAIC0zMTE5LDgg KzMxMTksNyBAQCBjbGVhbnVwX3ZlY3RvciAoc3RydWN0IExpc3BfVmVjdG9yICp2ZWN0b3IpCiAg ICAgewogICAgICAgc3RydWN0IExpc3BfTmF0aXZlX0NvbXBfVW5pdCAqY3UgPQogCVBTRVVET1ZF Q19TVFJVQ1QgKHZlY3RvciwgTGlzcF9OYXRpdmVfQ29tcF9Vbml0KTsKLSAgICAgIGVhc3NlcnQg KGN1LT5oYW5kbGUpOwotICAgICAgZHlubGliX2Nsb3NlIChjdS0+aGFuZGxlKTsKKyAgICAgIGRp c3Bvc2VfY29tcF91bml0IChjdSwgdHJ1ZSk7CiAgICAgfQogfQogCkBAIC02MTE5LDYgKzYxMTgs OCBAQCBnYXJiYWdlX2NvbGxlY3QgKHZvaWQpCiAgICAgICBpZiAodG90X2FmdGVyIDwgdG90X2Jl Zm9yZSkKIAltYWxsb2NfcHJvYmUgKG1pbiAodG90X2JlZm9yZSAtIHRvdF9hZnRlciwgU0laRV9N QVgpKTsKICAgICB9CisKKyAgZmluaXNoX2RlbGF5ZWRfZGlzcG9zYWxfb2ZfY29tcF91bml0cyAo KTsKIH0KIAogREVGVU4gKCJnYXJiYWdlLWNvbGxlY3QiLCBGZ2FyYmFnZV9jb2xsZWN0LCBTZ2Fy YmFnZV9jb2xsZWN0LCAwLCAwLCAiIiwKZGlmZiAtLWdpdCBhL3NyYy9jb21wLmMgYi9zcmMvY29t cC5jCmluZGV4IGI0M2QzZWRkYjMuLjM1ZTFlYzBkYTMgMTAwNjQ0Ci0tLSBhL3NyYy9jb21wLmMK KysrIGIvc3JjL2NvbXAuYwpAQCAtNDEzLDYgKzQxMywxMCBAQCAjZGVmaW5lIFRISVJEKHgpCQkJ CVwKICNkZWZpbmUgQ0FMTDFJKGZ1biwgYXJnKQkJCQlcCiAgIENBTExOIChGZnVuY2FsbCwgaW50 ZXJuX2Nfc3RyaW5nIChTVFIgKGZ1bikpLCBhcmcpCiAKKy8qIExpa2UgY2FsbDIgYnV0IHN0cmlu Z2lmeSBhbmQgaW50ZXJuLiAgKi8KKyNkZWZpbmUgQ0FMTDJJKGZ1biwgYXJnMSwgYXJnMikJCQkJ XAorICBDQUxMTiAoRmZ1bmNhbGwsIGludGVybl9jX3N0cmluZyAoU1RSIChmdW4pKSwgYXJnMSwg YXJnMikKKwogI2RlZmluZSBERUNMX0JMT0NLKG5hbWUsIGZ1bmMpCQkJCVwKICAgZ2NjX2ppdF9i bG9jayAqKG5hbWUpID0JCQkJXAogICAgIGdjY19qaXRfZnVuY3Rpb25fbmV3X2Jsb2NrICgoZnVu YyksIFNUUiAobmFtZSkpCkBAIC0zODMwLDYgKzM4MzQsMTQgQEAgREVGVU4gKCJjb21wLS1yZWxl YXNlLWN0eHQiLCBGY29tcF9fcmVsZWFzZV9jdHh0LCBTY29tcF9fcmVsZWFzZV9jdHh0LAogICBy ZXR1cm4gUXQ7CiB9CiAKK3NpZ3NldF90IG9sZHNldDsKKworc3RhdGljIHZvaWQgcmVzdG9yZV9z aWdtYXNrKHZvaWQpCit7CisgIHB0aHJlYWRfc2lnbWFzayAoU0lHX1NFVE1BU0ssICZvbGRzZXQs IDApOworICB1bmJsb2NrX2lucHV0ICgpOworfQorCiBERUZVTiAoImNvbXAtLWNvbXBpbGUtY3R4 dC10by1maWxlIiwgRmNvbXBfX2NvbXBpbGVfY3R4dF90b19maWxlLAogICAgICAgIFNjb21wX19j b21waWxlX2N0eHRfdG9fZmlsZSwKICAgICAgICAxLCAxLCAwLApAQCAtMzg1MSw2ICszODYzLDgg QEAgREVGVU4gKCJjb21wLS1jb21waWxlLWN0eHQtdG8tZmlsZSIsIEZjb21wX19jb21waWxlX2N0 eHRfdG9fZmlsZSwKICAgICBDQUxMMUkgKGNvbXAtZGF0YS1jb250YWluZXItaWR4LCBDQUxMMUkg KGNvbXAtY3R4dC1kLWVwaGVtZXJhbCwgVmNvbXBfY3R4dCkpOwogCiAgIHNpZ3NldF90IG9sZHNl dDsKKyAgcHRyZGlmZl90IGNvdW50OworCiAgIGlmICghbm9uaW50ZXJhY3RpdmUpCiAgICAgewog ICAgICAgc2lnc2V0X3QgYmxvY2tlZDsKQEAgLTM4NjMsNiArMzg3Nyw4IEBAIERFRlVOICgiY29t cC0tY29tcGlsZS1jdHh0LXRvLWZpbGUiLCBGY29tcF9fY29tcGlsZV9jdHh0X3RvX2ZpbGUsCiAg ICAgICBzaWdhZGRzZXQgKCZibG9ja2VkLCBTSUdJTyk7CiAjZW5kaWYKICAgICAgIHB0aHJlYWRf c2lnbWFzayAoU0lHX0JMT0NLLCAmYmxvY2tlZCwgJm9sZHNldCk7CisgICAgICBjb3VudCA9IFNQ RUNQRExfSU5ERVggKCk7CisgICAgICByZWNvcmRfdW53aW5kX3Byb3RlY3Rfdm9pZChyZXN0b3Jl X3NpZ21hc2spOwogICAgIH0KICAgZW1pdF9jdHh0X2NvZGUgKCk7CiAKQEAgLTM5MDIsMTggKzM5 MTgsMTAgQEAgREVGVU4gKCJjb21wLS1jb21waWxlLWN0eHQtdG8tZmlsZSIsIEZjb21wX19jb21w aWxlX2N0eHRfdG9fZmlsZSwKIAkJCQkgICBHQ0NfSklUX09VVFBVVF9LSU5EX0RZTkFNSUNfTElC UkFSWSwKIAkJCQkgICBTU0RBVEEgKHRtcF9maWxlKSk7CiAKLSAgLyogUmVtb3ZlIHRoZSBvbGQg ZWxuIGluc3RlYWQgb2YgY29weWluZyB0aGUgbmV3IG9uZSBpbnRvIGl0IHRvIGdldAotICAgICBh IG5ldyBpbm9kZSBhbmQgcHJldmVudCBjcmFzaGVzIGluIGNhc2UgdGhlIG9sZCBvbmUgaXMgY3Vy cmVudGx5Ci0gICAgIGxvYWRlZC4gICovCi0gIGlmICghTklMUCAoRmZpbGVfZXhpc3RzX3AgKG91 dF9maWxlKSkpCi0gICAgRmRlbGV0ZV9maWxlIChvdXRfZmlsZSwgUW5pbCk7Ci0gIEZyZW5hbWVf ZmlsZSAodG1wX2ZpbGUsIG91dF9maWxlLCBRbmlsKTsKKyAgQ0FMTDJJKGNvbXAtLXJlcGxhY2Ut b3V0cHV0LWZpbGUsIG91dF9maWxlLCB0bXBfZmlsZSk7CiAKICAgaWYgKCFub25pbnRlcmFjdGl2 ZSkKLSAgICB7Ci0gICAgICBwdGhyZWFkX3NpZ21hc2sgKFNJR19TRVRNQVNLLCAmb2xkc2V0LCAw KTsKLSAgICAgIHVuYmxvY2tfaW5wdXQgKCk7Ci0gICAgfQorICAgIHVuYmluZF90byhjb3VudCwg UW5pbCk7CiAKICAgcmV0dXJuIG91dF9maWxlOwogfQpAQCAtMzk3NCw2ICszOTgyLDEzOCBAQCBo ZWxwZXJfUFNFVURPVkVDVE9SX1RZUEVQX1hVTlRBRyAoTGlzcF9PYmplY3QgYSwgZW51bSBwdmVj X3R5cGUgY29kZSkKIAkJCSAgICAgY29kZSk7CiB9CiAKKwwKKy8qKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKiovCisvKiBEaXNwb3NhbCBvZiBjb21waWxhdGlvbiB1bml0cyAqLworLyoq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmZGVmIFdJTkRPV1NOVAorI2Rl ZmluZSBPTERfRUxOX1NVRkZJWF9SRUdFWFAgYnVpbGRfc3RyaW5nKCJcXC5lbG5cXC5vbGQkIikK Kworc3RhdGljIExpc3BfT2JqZWN0IGFsbF9sb2FkZWRfY29tcF91bml0czsKKworc3RydWN0IGRl bGF5ZWRfY29tcF91bml0X2Rpc3Bvc2FsCit7CisgIHN0cnVjdCBkZWxheWVkX2NvbXBfdW5pdF9k aXNwb3NhbCAqIG5leHQ7CisgIGNoYXIgKiBmaWxlbmFtZTsKK307CisKK3N0cnVjdCBkZWxheWVk X2NvbXBfdW5pdF9kaXNwb3NhbCAqIGRlbGF5ZWRfY29tcF91bml0X2Rpc3Bvc2FsX2xpc3Q7CisK K3N0YXRpYyBMaXNwX09iamVjdAorcmV0dXJuUW5pbCAoTGlzcF9PYmplY3QgYXJnKQoreworICBy ZXR1cm4gUW5pbDsKK30KKworc3RhdGljIHZvaWQKK2NsZWFuX2NvbXBfdW5pdF9kaXJlY3Rvcnkg KExpc3BfT2JqZWN0IGZpbGVwYXRoKQoreworICBpZiAoTklMUCAoZmlsZXBhdGgpKQorICAgIHJl dHVybjsKKyAgTGlzcF9PYmplY3QgZmlsZXNfaW5fZGlyOworICBmaWxlc19pbl9kaXIgPSBpbnRl cm5hbF9jb25kaXRpb25fY2FzZV80KEZkaXJlY3RvcnlfZmlsZXMsIGZpbGVwYXRoLCBRdCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPTERfRUxOX1NVRkZJWF9S RUdFWFAsIFFuaWwsIFF0LCByZXR1cm5RbmlsKTsKKyAgRk9SX0VBQ0hfVEFJTChmaWxlc19pbl9k aXIpCisgICAgeworICAgICAgRGVsZXRlRmlsZSAoU1NEQVRBIChYQ0FSIChmaWxlc19pbl9kaXIp KSk7CisgICAgfQorfQorCit2b2lkIGNsZWFuX3BhY2thZ2VfdXNlcl9kaXJfb2Zfb2xkX2NvbXBf dW5pdHMgKHZvaWQpCit7CisgIExpc3BfT2JqZWN0IHBhY2thZ2VfdXNlcl9kaXIgPSBmaW5kX3N5 bWJvbF92YWx1ZSAoaW50ZXJuICgicGFja2FnZS11c2VyLWRpciIpKTsKKyAgaWYgKEVRKHBhY2th Z2VfdXNlcl9kaXIsIFF1bmJvdW5kKSB8fCAhU1RSSU5HUChwYWNrYWdlX3VzZXJfZGlyKSkKKyAg ICByZXR1cm47CisKKyAgY2xlYW5fY29tcF91bml0X2RpcmVjdG9yeShwYWNrYWdlX3VzZXJfZGly KTsKK30KKworI2VuZGlmCisKK3ZvaWQgZGlzcG9zZV9jb21wX3VuaXQgKHN0cnVjdCBMaXNwX05h dGl2ZV9Db21wX1VuaXQgKiBjb21wX2hhbmRsZSwgYm9vbCBkZWxheSkKK3sKKyAgZWFzc2VydCAo Y29tcF9oYW5kbGUtPmhhbmRsZSk7CisgIGR5bmxpYl9jbG9zZSAoY29tcF9oYW5kbGUtPmhhbmRs ZSk7CisjaWZkZWYgV0lORE9XU05UCisgIGlmICghZGVsYXkpCisgICAgeworICAgICAgTGlzcF9P YmplY3QgZGlybmFtZSA9IGludGVybmFsX2NvbmRpdGlvbl9jYXNlXzEoRmZpbGVfbmFtZV9kaXJl Y3RvcnksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBidWlsZF9zdHJpbmcgKGNvbXBfaGFuZGxlLT5jZmlsZSksCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRdCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVyblFuaWwpOworICAg ICAgaWYgKCFOSUxQKGRpcm5hbWUpKQorICAgICAgICBjbGVhbl9jb21wX3VuaXRfZGlyZWN0b3J5 IChkaXJuYW1lKTsKKyAgICAgIHhmcmVlIChjb21wX2hhbmRsZS0+Y2ZpbGUpOworICAgICAgY29t cF9oYW5kbGUtPmNmaWxlID0gTlVMTDsKKyAgICB9CisgIGVsc2UKKyAgICB7CisgICAgICBzdHJ1 Y3QgZGVsYXllZF9jb21wX3VuaXRfZGlzcG9zYWwgKiBoZWFkOworICAgICAgaGVhZCA9IHhtYWxs b2MgKHNpemVvZiAoc3RydWN0IGRlbGF5ZWRfY29tcF91bml0X2Rpc3Bvc2FsKSk7CisgICAgICBo ZWFkLT5uZXh0ID0gZGVsYXllZF9jb21wX3VuaXRfZGlzcG9zYWxfbGlzdDsKKyAgICAgIGhlYWQt PmZpbGVuYW1lID0gY29tcF9oYW5kbGUtPmNmaWxlOworICAgICAgY29tcF9oYW5kbGUtPmNmaWxl ID0gTlVMTDsKKyAgICAgIGRlbGF5ZWRfY29tcF91bml0X2Rpc3Bvc2FsX2xpc3QgPSBoZWFkOwor ICAgIH0KKyNlbHNlCisgIHhmcmVlIChjb21wX2hhbmRsZS0+ZmlsZSk7CisjZW5kaWYKK30KKwor c3RhdGljIHZvaWQKK3JlZ2lzdGVyX25hdGl2ZV9jb21wX3VuaXQgKExpc3BfT2JqZWN0IGNvbXBf dSkKK3sKKyNpZmRlZiBXSU5ET1dTTlQKKyAgc3RhdGljIEVNQUNTX1VJTlQgY291bnQ7CisKKyAg aWYgKFhGSVhOVU0oRmhhc2hfdGFibGVfY291bnQoYWxsX2xvYWRlZF9jb21wX3VuaXRzKSkgPj0g TU9TVF9QT1NJVElWRV9GSVhOVU0pCisgICAgcmV0dXJuOworCisgIHdoaWxlICghTklMUChGZ2V0 aGFzaChtYWtlX2ZpeG51bShjb3VudCksIGFsbF9sb2FkZWRfY29tcF91bml0cywgUW5pbCkpKQor ICAgIGNvdW50ID0gKGNvdW50ICsgMSkgJSBNT1NUX1BPU0lUSVZFX0ZJWE5VTTsKKworICBGcHV0 aGFzaChtYWtlX2ZpeG51bShjb3VudCksIGNvbXBfdSwgYWxsX2xvYWRlZF9jb21wX3VuaXRzKTsK KyNlbmRpZgorfQorCit2b2lkIGRpc3Bvc2VfYWxsX3JlbWFpbmluZ19jb21wX3VuaXRzICh2b2lk KQoreworI2lmZGVmIFdJTkRPV1NOVAorICBzdHJ1Y3QgTGlzcF9IYXNoX1RhYmxlICpoID0gWEhB U0hfVEFCTEUgKGFsbF9sb2FkZWRfY29tcF91bml0cyk7CisKKyAgZm9yIChwdHJkaWZmX3QgaSA9 IDA7IGkgPCBIQVNIX1RBQkxFX1NJWkUgKGgpOyArK2kpCisgICAgeworICAgICAgTGlzcF9PYmpl Y3QgayA9IEhBU0hfS0VZIChoLCBpKTsKKyAgICAgIGlmICghRVEgKGssIFF1bmJvdW5kKSkKKyAg ICAgICAgeworICAgICAgICAgIExpc3BfT2JqZWN0IHZhbCA9IEhBU0hfVkFMVUUgKGgsIGkpOwor ICAgICAgICAgIHN0cnVjdCBMaXNwX05hdGl2ZV9Db21wX1VuaXQgKiBjdSA9IFhOQVRJVkVfQ09N UF9VTklUKHZhbCk7CisgICAgICAgICAgZGlzcG9zZV9jb21wX3VuaXQoY3UsIGZhbHNlKTsKKyAg ICAgICAgfQorICAgIH0KKyNlbmRpZgorfQorCit2b2lkIGZpbmlzaF9kZWxheWVkX2Rpc3Bvc2Fs X29mX2NvbXBfdW5pdHMgKHZvaWQpCit7CisjaWZkZWYgV0lORE9XU05UCisgIGZvciAoc3RydWN0 IGRlbGF5ZWRfY29tcF91bml0X2Rpc3Bvc2FsICogaXRlbSA9IGRlbGF5ZWRfY29tcF91bml0X2Rp c3Bvc2FsX2xpc3Q7CisgICAgICAgZGVsYXllZF9jb21wX3VuaXRfZGlzcG9zYWxfbGlzdDsKKyAg ICAgICBpdGVtID0gZGVsYXllZF9jb21wX3VuaXRfZGlzcG9zYWxfbGlzdCkKKyAgICB7CisgICAg ICBkZWxheWVkX2NvbXBfdW5pdF9kaXNwb3NhbF9saXN0ID0gaXRlbS0+bmV4dDsKKyAgICAgIExp c3BfT2JqZWN0IGRpcm5hbWUKKyAgICAgICAgPSBpbnRlcm5hbF9jb25kaXRpb25fY2FzZV8xIChG ZmlsZV9uYW1lX2RpcmVjdG9yeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBidWlsZF9zdHJpbmcgKGl0ZW0tPmZpbGVuYW1lKSwgUXQsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcmV0dXJuUW5pbCk7CisgICAgICBjbGVhbl9jb21wX3VuaXRfZGly ZWN0b3J5IChkaXJuYW1lKTsKKyAgICAgIHhmcmVlKGl0ZW0tPmZpbGVuYW1lKTsKKyAgICAgIHhm cmVlKGl0ZW0pOworICAgIH0KKyNlbmRpZgorfQorCiAMCiAvKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKiovCiAvKiBEZWZlcnJlZCBjb21waWxhdGlvbiBtZWNoYW5pc20uICovCkBA IC00MTYwLDYgKzQzMDAsMTIgQEAgbG9hZF9jb21wX3VuaXQgKHN0cnVjdCBMaXNwX05hdGl2ZV9D b21wX1VuaXQgKmNvbXBfdSwgYm9vbCBsb2FkaW5nX2R1bXAsCiAgICAgICBkX3ZlY19sZW4gPSBY RklYTlVNIChGbGVuZ3RoIChjb21wX3UtPmRhdGFfaW1wdXJlX3ZlYykpOwogICAgICAgZm9yIChF TUFDU19JTlQgaSA9IDA7IGkgPCBkX3ZlY19sZW47IGkrKykKIAlkYXRhX2ltcF9yZWxvY3NbaV0g PSBBUkVGIChjb21wX3UtPmRhdGFfaW1wdXJlX3ZlYywgaSk7CisKKyAgICAgIC8qIElmIHdlIHJl Z2lzdGVyIHRoZW0gd2hpbGUgZHVtcGluZyB3ZSB3aWxsIGdldCBzb21lIGVudHJpZXMgaW4KKyAg ICAgICAgIHRoZSBoYXNoIHRhYmxlIHRoYXQgd2lsbCBiZSBkdXBsaWNhdGVkIHdoZW4gcGR1bXBl ciBjYWxscworICAgICAgICAgbG9hZF9jb21wX3VuaXQuICovCisgICAgICBpZiAoIXdpbGxfZHVt cF9wKCkpCisgICAgICAgIHJlZ2lzdGVyX25hdGl2ZV9jb21wX3VuaXQgKGNvbXBfdV9saXNwX29i aik7CiAgICAgfQogCiAgIGlmICghbG9hZGluZ19kdW1wKQpAQCAtNDI3Myw2ICs0NDE5LDkgQEAg REVGVU4gKCJuYXRpdmUtZWxpc3AtbG9hZCIsIEZuYXRpdmVfZWxpc3BfbG9hZCwgU25hdGl2ZV9l bGlzcF9sb2FkLCAxLCAyLCAwLAogICBpZiAoIWNvbXBfdS0+aGFuZGxlKQogICAgIHhzaWduYWwy IChRbmF0aXZlX2xpc3BfbG9hZF9mYWlsZWQsIGZpbGUsIGJ1aWxkX3N0cmluZyAoZHlubGliX2Vy cm9yICgpKSk7CiAgIGNvbXBfdS0+ZmlsZSA9IGZpbGU7CisjaWZkZWYgV0lORE9XU05UCisgIGNv bXBfdS0+Y2ZpbGUgPSB4bGlzcHN0cmR1cChmaWxlKTsKKyNlbmRpZgogICBjb21wX3UtPmRhdGFf dmVjID0gUW5pbDsKICAgbG9hZF9jb21wX3VuaXQgKGNvbXBfdSwgZmFsc2UsICFOSUxQIChsYXRl X2xvYWQpKTsKIApAQCAtNDQxNyw2ICs0NTY2LDExIEBAIHN5bXNfb2ZfY29tcCAodm9pZCkKICAg c3RhdGljcHJvICgmZGVsYXllZF9zb3VyY2VzKTsKICAgZGVsYXllZF9zb3VyY2VzID0gUW5pbDsK IAorI2lmZGVmIFdJTkRPV1NOVAorICBzdGF0aWNwcm8gKCZhbGxfbG9hZGVkX2NvbXBfdW5pdHMp OworICBhbGxfbG9hZGVkX2NvbXBfdW5pdHMgPSBDQUxMTihGbWFrZV9oYXNoX3RhYmxlLCBRQ3dl YWtuZXNzLCBRdmFsdWUpOworI2VuZGlmCisKICAgREVGVkFSX0xJU1AgKCJjb21wLWN0eHQiLCBW Y29tcF9jdHh0LAogCSAgICAgICBkb2M6IC8qIFRoZSBjb21waWxlciBjb250ZXh0LiAgKi8pOwog ICBWY29tcF9jdHh0ID0gUW5pbDsKZGlmZiAtLWdpdCBhL3NyYy9jb21wLmggYi9zcmMvY29tcC5o CmluZGV4IGU2YWIzMmZmOGUuLjg5ZWY3NDBmZTYgMTAwNjQ0Ci0tLSBhL3NyYy9jb21wLmgKKysr IGIvc3JjL2NvbXAuaApAQCAtNDQsNyArNDQsMTUgQEAgI2RlZmluZSBDT01QX0gKICAgLyogU2Ft ZSBidXQgZm9yIGRhdGEgdGhhdCBjYW5ub3QgYmUgbW92ZWQgdG8gcHVyZSBzcGFjZS4KICAgICAg TXVzdCBiZSB0aGUgbGFzdCBsaXNwIG9iamVjdCBoZXJlLiAgICovCiAgIExpc3BfT2JqZWN0IGRh dGFfaW1wdXJlX3ZlYzsKKwogICBkeW5saWJfaGFuZGxlX3B0ciBoYW5kbGU7CisjaWZkZWYgV0lO RE9XU05UCisgIC8qIFdlIG5lZWQgdG8gc3RvcmUgYSBjb3B5IG9mIHRoZSBvcmlnaW5hbCBmaWxl IG5hbWUgaW4gbWVtb3J5IHRoYXQKKyAgICAgaXMgbm90IHN1YmplY3QgdG8gR0MgYmVjYXVzZSB0 aGUgZnVuY3Rpb24gdG8gZGlzcG9zZSBuYXRpdmUKKyAgICAgY29tcGlsYXRpb24gdW5pdHMgaXMg Y2FsbGVkIGJ5IHRoZSBHQy4gQnkgdGhhdCB0aW1lIHRoZSBgZmlsZScKKyAgICAgc3RyaW5nIG1h eSBoYXZlIGJlZW4gc3dlZXBlZC4gKi8KKyAgY2hhciAqIGNmaWxlOworI2VuZGlmCiB9OwogCiAj aWZkZWYgSEFWRV9OQVRJVkVfQ09NUApAQCAtNzUsNiArODMsMTQgQEAgWE5BVElWRV9DT01QX1VO SVQgKExpc3BfT2JqZWN0IGEpCiAKIGV4dGVybiB2b2lkIG1heWJlX2RlZmVyX25hdGl2ZV9jb21w aWxhdGlvbiAoTGlzcF9PYmplY3QgZnVuY3Rpb25fbmFtZSwKIAkJCQkJICAgIExpc3BfT2JqZWN0 IGRlZmluaXRpb24pOworCitleHRlcm4gdm9pZCBkaXNwb3NlX2NvbXBfdW5pdCAoc3RydWN0IExp c3BfTmF0aXZlX0NvbXBfVW5pdCAqIGNvbXBfdW5pdCwgYm9vbCBkZWxheSk7CisKK2V4dGVybiB2 b2lkIGZpbmlzaF9kZWxheWVkX2Rpc3Bvc2FsX29mX2NvbXBfdW5pdHMgKHZvaWQpOworCitleHRl cm4gdm9pZCBkaXNwb3NlX2FsbF9yZW1haW5pbmdfY29tcF91bml0cyAodm9pZCk7CisKK2V4dGVy biB2b2lkIGNsZWFuX3BhY2thZ2VfdXNlcl9kaXJfb2Zfb2xkX2NvbXBfdW5pdHMgKHZvaWQpOwog I2Vsc2UKIAogc3RhdGljIGlubGluZSB2b2lkCkBAIC04NCw2ICsxMDAsMTcgQEAgbWF5YmVfZGVm ZXJfbmF0aXZlX2NvbXBpbGF0aW9uIChMaXNwX09iamVjdCBmdW5jdGlvbl9uYW1lLAogCiBleHRl cm4gdm9pZCBzeW1zX29mX2NvbXAgKHZvaWQpOwogCitzdGF0aWMgaW5saW5lIHZvaWQgZGlzcG9z ZV9jb21wX3VuaXQgKHN0cnVjdCBMaXNwX05hdGl2ZV9Db21wX1VuaXQgKiBjb21wX2hhbmRsZSkK K3sKKyAgZW1hY3NfYWJvcnQoKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGRpc3Bvc2VfYWxs X3JlbWFpbmluZ19jb21wX3VuaXRzICh2b2lkKQore30KKworc3RhdGljIGlubGluZSB2b2lkIGNs ZWFuX3BhY2thZ2VfdXNlcl9kaXJfb2Zfb2xkX2NvbXBfdW5pdHMgKHZvaWQpCit7fQorCiAjZW5k aWYKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9zcmMvZW1hY3MuYyBiL3NyYy9lbWFjcy5jCmluZGV4 IGU3NWNiNTg4MzQuLmI3Yzg5YjQ0ZWMgMTAwNjQ0Ci0tLSBhL3NyYy9lbWFjcy5jCisrKyBiL3Ny Yy9lbWFjcy5jCkBAIC0yMzkzLDYgKzIzOTMsOSBAQCBERUZVTiAoImtpbGwtZW1hY3MiLCBGa2ls bF9lbWFjcywgU2tpbGxfZW1hY3MsIDAsIDEsICJQIiwKICAgICAgIHVubGluayAoU1NEQVRBIChs aXN0ZmlsZSkpOwogICAgIH0KIAorICBkaXNwb3NlX2FsbF9yZW1haW5pbmdfY29tcF91bml0cygp OworICBjbGVhbl9wYWNrYWdlX3VzZXJfZGlyX29mX29sZF9jb21wX3VuaXRzKCk7CisKICAgaWYg KEZJWE5VTVAgKGFyZykpCiAgICAgZXhpdF9jb2RlID0gKFhGSVhOVU0gKGFyZykgPCAwCiAJCSA/ IFhGSVhOVU0gKGFyZykgfCBJTlRfTUlOCmRpZmYgLS1naXQgYS9zcmMvZXZhbC5jIGIvc3JjL2V2 YWwuYwppbmRleCAxMDkxYjA4MjU1Li5hNjhmYzkwMjg1IDEwMDY0NAotLS0gYS9zcmMvZXZhbC5j CisrKyBiL3NyYy9ldmFsLmMKQEAgLTE0MTksNiArMTQxOSw2MSBAQCBpbnRlcm5hbF9jb25kaXRp b25fY2FzZV8yIChMaXNwX09iamVjdCAoKmJmdW4pIChMaXNwX09iamVjdCwgTGlzcF9PYmplY3Qp LAogICAgIH0KIH0KIAorLyogTGlrZSBpbnRlcm5hbF9jb25kaXRpb25fY2FzZV8xIGJ1dCBjYWxs IEJGVU4gd2l0aCBBUkcxLCBBUkcyLCBBUkczIGFzCisgICBpdHMgYXJndW1lbnRzLiAgKi8KKwor TGlzcF9PYmplY3QKK2ludGVybmFsX2NvbmRpdGlvbl9jYXNlXzMgKExpc3BfT2JqZWN0ICgqYmZ1 bikgKExpc3BfT2JqZWN0LCBMaXNwX09iamVjdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIExpc3BfT2JqZWN0KSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIExpc3BfT2JqZWN0IGFyZzEsIExpc3BfT2JqZWN0IGFyZzIsIExpc3BfT2JqZWN0IGFy ZzMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXNwX09iamVjdCBoYW5kbGVycywKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgIExpc3BfT2JqZWN0ICgqaGZ1bikgKExpc3BfT2JqZWN0 KSkKK3sKKyAgc3RydWN0IGhhbmRsZXIgKmMgPSBwdXNoX2hhbmRsZXIgKGhhbmRsZXJzLCBDT05E SVRJT05fQ0FTRSk7CisgIGlmIChzeXNfc2V0am1wIChjLT5qbXApKQorICAgIHsKKyAgICAgIExp c3BfT2JqZWN0IHZhbCA9IGhhbmRsZXJsaXN0LT52YWw7CisgICAgICBjbG9iYmVyZWRfZWFzc2Vy dCAoaGFuZGxlcmxpc3QgPT0gYyk7CisgICAgICBoYW5kbGVybGlzdCA9IGhhbmRsZXJsaXN0LT5u ZXh0OworICAgICAgcmV0dXJuIGhmdW4gKHZhbCk7CisgICAgfQorICBlbHNlCisgICAgeworICAg ICAgTGlzcF9PYmplY3QgdmFsID0gYmZ1biAoYXJnMSwgYXJnMiwgYXJnMyk7CisgICAgICBlYXNz ZXJ0IChoYW5kbGVybGlzdCA9PSBjKTsKKyAgICAgIGhhbmRsZXJsaXN0ID0gYy0+bmV4dDsKKyAg ICAgIHJldHVybiB2YWw7CisgICAgfQorfQorCisvKiBMaWtlIGludGVybmFsX2NvbmRpdGlvbl9j YXNlXzEgYnV0IGNhbGwgQkZVTiB3aXRoIEFSRzEsIEFSRzIsIEFSRzMsIEFSRzQgYXMKKyAgIGl0 cyBhcmd1bWVudHMuICAqLworCitMaXNwX09iamVjdAoraW50ZXJuYWxfY29uZGl0aW9uX2Nhc2Vf NCAoTGlzcF9PYmplY3QgKCpiZnVuKSAoTGlzcF9PYmplY3QsIExpc3BfT2JqZWN0LAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzcF9PYmplY3QsIExp c3BfT2JqZWN0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3BfT2JqZWN0IGFyZzEs IExpc3BfT2JqZWN0IGFyZzIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXNwX09iamVj dCBhcmczLCBMaXNwX09iamVjdCBhcmc0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlz cF9PYmplY3QgaGFuZGxlcnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXNwX09iamVj dCAoKmhmdW4pIChMaXNwX09iamVjdCkpCit7CisgIHN0cnVjdCBoYW5kbGVyICpjID0gcHVzaF9o YW5kbGVyIChoYW5kbGVycywgQ09ORElUSU9OX0NBU0UpOworICBpZiAoc3lzX3NldGptcCAoYy0+ am1wKSkKKyAgICB7CisgICAgICBMaXNwX09iamVjdCB2YWwgPSBoYW5kbGVybGlzdC0+dmFsOwor ICAgICAgY2xvYmJlcmVkX2Vhc3NlcnQgKGhhbmRsZXJsaXN0ID09IGMpOworICAgICAgaGFuZGxl cmxpc3QgPSBoYW5kbGVybGlzdC0+bmV4dDsKKyAgICAgIHJldHVybiBoZnVuICh2YWwpOworICAg IH0KKyAgZWxzZQorICAgIHsKKyAgICAgIExpc3BfT2JqZWN0IHZhbCA9IGJmdW4gKGFyZzEsIGFy ZzIsIGFyZzMsIGFyZzQpOworICAgICAgZWFzc2VydCAoaGFuZGxlcmxpc3QgPT0gYyk7CisgICAg ICBoYW5kbGVybGlzdCA9IGMtPm5leHQ7CisgICAgICByZXR1cm4gdmFsOworICAgIH0KK30KKwog LyogTGlrZSBpbnRlcm5hbF9jb25kaXRpb25fY2FzZSBidXQgY2FsbCBCRlVOIHdpdGggTkFSR1Mg YXMgZmlyc3QsCiAgICBhbmQgQVJHUyBhcyBzZWNvbmQgYXJndW1lbnQuICAqLwogCmRpZmYgLS1n aXQgYS9zcmMvbGlzcC5oIGIvc3JjL2xpc3AuaAppbmRleCBlMjQyNTQ2ZDEwLi5lZWFjMjA1OThj IDEwMDY0NAotLS0gYS9zcmMvbGlzcC5oCisrKyBiL3NyYy9saXNwLmgKQEAgLTQxMzgsNiArNDEz OCw4IEBAIHhzaWduYWwgKExpc3BfT2JqZWN0IGVycm9yX3N5bWJvbCwgTGlzcF9PYmplY3QgZGF0 YSkKIGV4dGVybiBMaXNwX09iamVjdCBpbnRlcm5hbF9jb25kaXRpb25fY2FzZSAoTGlzcF9PYmpl Y3QgKCopICh2b2lkKSwgTGlzcF9PYmplY3QsIExpc3BfT2JqZWN0ICgqKSAoTGlzcF9PYmplY3Qp KTsKIGV4dGVybiBMaXNwX09iamVjdCBpbnRlcm5hbF9jb25kaXRpb25fY2FzZV8xIChMaXNwX09i amVjdCAoKikgKExpc3BfT2JqZWN0KSwgTGlzcF9PYmplY3QsIExpc3BfT2JqZWN0LCBMaXNwX09i amVjdCAoKikgKExpc3BfT2JqZWN0KSk7CiBleHRlcm4gTGlzcF9PYmplY3QgaW50ZXJuYWxfY29u ZGl0aW9uX2Nhc2VfMiAoTGlzcF9PYmplY3QgKCopIChMaXNwX09iamVjdCwgTGlzcF9PYmplY3Qp LCBMaXNwX09iamVjdCwgTGlzcF9PYmplY3QsIExpc3BfT2JqZWN0LCBMaXNwX09iamVjdCAoKikg KExpc3BfT2JqZWN0KSk7CitleHRlcm4gTGlzcF9PYmplY3QgaW50ZXJuYWxfY29uZGl0aW9uX2Nh c2VfMyAoTGlzcF9PYmplY3QgKCopIChMaXNwX09iamVjdCwgTGlzcF9PYmplY3QsIExpc3BfT2Jq ZWN0KSwgTGlzcF9PYmplY3QsIExpc3BfT2JqZWN0LCBMaXNwX09iamVjdCwgTGlzcF9PYmplY3Qs IExpc3BfT2JqZWN0ICgqKSAoTGlzcF9PYmplY3QpKTsKK2V4dGVybiBMaXNwX09iamVjdCBpbnRl cm5hbF9jb25kaXRpb25fY2FzZV80IChMaXNwX09iamVjdCAoKikgKExpc3BfT2JqZWN0LCBMaXNw X09iamVjdCwgTGlzcF9PYmplY3QsIExpc3BfT2JqZWN0KSwgTGlzcF9PYmplY3QsIExpc3BfT2Jq ZWN0LCBMaXNwX09iamVjdCwgTGlzcF9PYmplY3QsIExpc3BfT2JqZWN0LCBMaXNwX09iamVjdCAo KikgKExpc3BfT2JqZWN0KSk7CiBleHRlcm4gTGlzcF9PYmplY3QgaW50ZXJuYWxfY29uZGl0aW9u X2Nhc2VfbgogICAgIChMaXNwX09iamVjdCAoKikgKHB0cmRpZmZfdCwgTGlzcF9PYmplY3QgKiks IHB0cmRpZmZfdCwgTGlzcF9PYmplY3QgKiwKICAgICAgTGlzcF9PYmplY3QsIExpc3BfT2JqZWN0 ICgqKSAoTGlzcF9PYmplY3QsIHB0cmRpZmZfdCwgTGlzcF9PYmplY3QgKikpOwpkaWZmIC0tZ2l0 IGEvc3JjL3BkdW1wZXIuYyBiL3NyYy9wZHVtcGVyLmMKaW5kZXggZjgzN2RmYzM4ZC4uOWIwYmQ0 NzJkNiAxMDA2NDQKLS0tIGEvc3JjL3BkdW1wZXIuYworKysgYi9zcmMvcGR1bXBlci5jCkBAIC01 MzEyLDYgKzUzMTIsOSBAQCBkdW1wX2RvX2R1bXBfcmVsb2NhdGlvbiAoY29uc3QgdWludHB0cl90 IGR1bXBfYmFzZSwKIAkgIGNvbmNhdDIgKFZpbnZvY2F0aW9uX2RpcmVjdG9yeSwKIAkJICAgaW5z dGFsbGF0aW9uX3N0YXRlID09IExPQ0FMX0JVSUxECiAJCSAgID8gWENEUiAoY29tcF91LT5maWxl KSA6IFhDQVIgKGNvbXBfdS0+ZmlsZSkpOworI2lmZGVmIFdJTkRPV1NOVAorICAgICAgICBjb21w X3UtPmNmaWxlID0geGxpc3BzdHJkdXAoY29tcF91LT5maWxlKTsKKyNlbmRpZgogCWNvbXBfdS0+ aGFuZGxlID0gZHlubGliX29wZW4gKFNTREFUQSAoY29tcF91LT5maWxlKSk7CiAJaWYgKCFjb21w X3UtPmhhbmRsZSkKIAkgIGVycm9yICgiJXMiLCBkeW5saWJfZXJyb3IgKCkpOwotLSAKMi4yNS4x LndpbmRvd3MuMQoK --0000000000004e7dbe05a60536de--