From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 04 12:40:50 2017 Received: (at submit) by debbugs.gnu.org; 4 Dec 2017 17:40:50 +0000 Received: from localhost ([127.0.0.1]:45775 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLuja-0006g5-En for submit@debbugs.gnu.org; Mon, 04 Dec 2017 12:40:50 -0500 Received: from eggs.gnu.org ([208.118.235.92]:37542) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLtrS-0005Lt-QW for submit@debbugs.gnu.org; Mon, 04 Dec 2017 11:44:56 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eLtrM-0007o4-Gg for submit@debbugs.gnu.org; Mon, 04 Dec 2017 11:44:49 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, HTML_MESSAGE,T_DKIM_INVALID,URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:36658) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eLtrM-0007nt-7A for submit@debbugs.gnu.org; Mon, 04 Dec 2017 11:44:48 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56730) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eLtrK-0001B3-Tx for bug-gnu-emacs@gnu.org; Mon, 04 Dec 2017 11:44:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eLtrJ-0007lv-S6 for bug-gnu-emacs@gnu.org; Mon, 04 Dec 2017 11:44:46 -0500 Received: from mail-wm0-x229.google.com ([2a00:1450:400c:c09::229]:38913) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eLtrJ-0007lP-59 for bug-gnu-emacs@gnu.org; Mon, 04 Dec 2017 11:44:45 -0500 Received: by mail-wm0-x229.google.com with SMTP id i11so15455494wmf.4 for ; Mon, 04 Dec 2017 08:44:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=SfIN9kUkrwuEwvdE3tLMQj2JbY9W/AUUWUlsTFknKk8=; b=VWkoO+HthNMpPwxwDH5H6a/yf+VWY+vPc25MJ0fT4UmzY54kbwY29ZmNjGs/svBuUz lVN8St638HdXOBWcroc8LDEEkkh51DJAnUri5dj67rXRB9vu2qcT2vXaU99iiYrclsKI MfVtnDPQdhmeo2nFTKjsU2dUaEfwfvVy2KF07RF00OixONLLomdcFtzDkZkUMjotKsev nMxW60xpT+Jvx7md7zB48aOFdDr5/REkLCn9qSt1/vnb0VPR/MCenOhG7ic3LT8ztk96 ZTzIAFaWlpEv7tcSxrhiN4JYIjddsG1UNHd87VAsC47vCWMpffUizhPk382UDslQkRrg z+JA== 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; bh=SfIN9kUkrwuEwvdE3tLMQj2JbY9W/AUUWUlsTFknKk8=; b=qOxnEo/GS2OGF11lFoG7I8doMw/CVXQzj/VX16rn5qtfAddgq9fYgwnTmK7fxFnlkc Scxwz3BCE2GuCgLqm7H+wvD7lrveOmy+JeLHW1dF1f3f9u2cdvKkDfSRfwrQnKXbbfix +AAHBbzRUCTlPZJTq9I72uh+/jJkam9i/nW6+uTcqofPeSVS3raYj7rFgZVcWeOkWilC cZVabTaV7iP0IvEk/evNbTi8vd0JAU0mKY5fySZ5WkIuNqy+C9XqJ8CDbydy233DBPdh AwyBNC5QiIQExVDTnKpCnRH76d3djNXWHAx5g04CY6GRFMVPJ4czMiUJOCaPHcN09nQA XwaA== X-Gm-Message-State: AKGB3mKwEtNC9Ks2lYwqyGWFuTvzCK1THktueah90onR/rFhQvTWOmg/ gMg/sp08n5VjcQaNSamgkGRmjCZX6LjX07r6Wniq7w== X-Google-Smtp-Source: AGs4zMaym7Ygd/SFYJvu4G0Pp7st0eDfgF4U9/QlnNBZuzMJntVgG+lYCBnLuA6VndzLuAwwnx8z+/XiWpNRC0P9BAU= X-Received: by 10.28.23.196 with SMTP id 187mr7728855wmx.101.1512405883509; Mon, 04 Dec 2017 08:44:43 -0800 (PST) MIME-Version: 1.0 Received: by 10.28.227.67 with HTTP; Mon, 4 Dec 2017 08:44:42 -0800 (PST) From: Jaesup Kwak Date: Tue, 5 Dec 2017 01:44:42 +0900 Message-ID: Subject: [PATCH] Support xwidget webkit for macOS X To: bug-gnu-emacs@gnu.org Content-Type: multipart/mixed; boundary="001a114683027190ab055f866fb3" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Mon, 04 Dec 2017 12:40:49 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) --001a114683027190ab055f866fb3 Content-Type: multipart/alternative; boundary="001a114683027190a6055f866fb1" --001a114683027190a6055f866fb1 Content-Type: text/plain; charset="UTF-8" I attached a patch to support xwidget webkit for macOS X, rebased onto the latest master. This was proposed in emacs-devel@gnu.org < https://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00091.html> and told to post a patch here. Thanks --001a114683027190a6055f866fb1 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
I attached a patch to support xwidget webkit for macO= S X, rebased onto the latest master.


--001a114683027190a6055f866fb1-- --001a114683027190ab055f866fb3 Content-Type: application/octet-stream; name="0001-Support-xwidget-webkit-for-macOS-X.patch" Content-Disposition: attachment; filename="0001-Support-xwidget-webkit-for-macOS-X.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jasfdgoz0 RnJvbSBiOWNhNzNhMjcwMTU5NzU1ZjM0MmVkNjI5NmVlYzkzMmM3ZGMwM2E5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWVzdXAgS3dhayA8dmVzaGJvb0BnbWFpbC5jb20+CkRhdGU6 IE1vbiwgNCBEZWMgMjAxNyAyMToyMzoxOSArMDkwMApTdWJqZWN0OiBbUEFUQ0hdIFN1cHBvcnQg eHdpZGdldCB3ZWJraXQgZm9yIG1hY09TIFgKCkFkZCB4d2lkZ2V0IHdlYmtpdCBzdXBwb3J0IGZv ciBtYWNPUyBYIC8gTlMgQ29jb2EgYW5kIGFjY29tcGFueWluZwpjaGFuZ2VzLgoKKiAuZ2l0aWdu b3JlOiBJZ25vcmUgLkRTX1N0b3JlLgoqIGNvbmZpZ3VyZS5hYzogQWxsb3cgJy0td2l0aC14d2lk Z2V0cycgZm9yICduZXh0c3RlcCcuCiogbGlzcC94d2lkZ2V0LmVsCih4d2lkZ2V0LXdlYmtpdC1j eDItY2IsIHh3aWRnZXQtd2Via2l0LWN4My1jYiwgeHdpZGdldC13ZWJraXQtY3gyKQooeHdpZGdl dC13ZWJraXQtY3gzLCB4d2lkZ2V0LXdlYmtpdC1tb2RlLW1hcCk6IE5ldyB3ZWJraXQgc2Vzc2lv biB3aGVuCndpbmRvdyBzcGxpdCBhbmQga2V5IG1hcCBmb3IgJ25leHRzdGVwJy4KKHh3aWRnZXQt bG9nKTogRml4IHR5cG8gaW4gYnVmZmVyIG5hbWUuCih4d2lkZ2V0LWV2ZW50LWhhbmRsZXIpOiBS ZW1vdmUgYSAnbWVzc2FnZScuCih4d2lkZ2V0LXdlYmtpdC1jYWxsYmFjaywgeHdpZGdldC13ZWJr aXQtdXJsLXRpdGxlLWNiKTogUmVwbGFjZSBsYW1iZGEKd2l0aCBkZWZ1biBmb3IgR0Mgc2FmZSwg cmVtZW1iZXIgVVJMIGZvciBib29rbWFyayBpbnRlZ3JhdGlvbiwgYW5kCnN1cHBvcnQgdmVjdG9y IHJlc3VsdCBmcm9tIGphdmFzY3JpcHQuCih4d2lkZ2V0LXdlYmtpdC1tb2RlKTogTm8gY3Vyc29y IGFuZCBpbnRlZ3JhdGlvbiBmb3IgJ2lzZWFyY2gnLgooeHdpZGdldC13ZWJraXQtYm9va21hcmst anVtcC1uZXctc2Vzc2lvbik6IEFkZCBuZXcgdmFyaWFibGUuCih4d2lkZ2V0LXdlYmtpdC1ib29r bWFyay1tYWtlLXJlY29yZCk6IENoYW5nZXMgdG8gc2F2ZSBVUkwgaW4KJ2ZpbGVuYW1lJyBhdHRy aWJ1dGUgb2YgYSBib29rbWFyayByZWNvcmQsIHRoZSBVUkwgb2J0YWluZWQgd2hlbiB0aGUKcGFn ZSB3YXMgbG9hZGVkLCBhbmQgJ3N3aXRjaC10by1idWZmZXInIHdoZW4gYSBib29rbWFyayBzZWxl Y3RlZC4KKHh3aWRnZXQtd2Via2l0LWlzZWFyY2gtbGFzdC1sZW5ndGgsIHh3aWRnZXQtd2Via2l0 LXNlYXJjaC1qcykKKHh3aWRnZXQtd2Via2l0LXNlYXJjaC1mdW4tZnVuY3Rpb24pOiBJbnRlZ3Jh dGlvbiBmb3IgJ2lzZWFyY2gnLgooeHdpZGdldC13ZWJraXQtaW5zZXJ0LXN0cmluZywgeHdpZGdl dC13ZWJraXQtaW5zZXJ0LXN0cmluZy1jYik6IEdDCnNhZmUsIEZJRUxEIGlzIG5vdyBhIGxpc3Qs IGFuZCBmaXggZm9yIGEgamF2YXNjcmlwdCBleGNlcHRpb24uCih4d2lkZ2V0LXdpbmRvdy1pbnNp ZGUtcGl4ZWwtd2lkdGgpCih4d2lkZ2V0LXdpbmRvdy1pbnNpZGUtcGl4ZWwtaGVpZ2h0KQooeHdp ZGdldC13ZWJraXQtYWRqdXN0LXNpemUtdG8td2luZG93KQooeHdpZGdldC13ZWJraXQtbmV3LXNl c3Npb24pOiBOZXcgZnVuY3Rpb25zIHRvIGdldCB3aW5kb3cgaW5zaWRlIHdpZHRoCmFuZCBoZWln aHQgaW4gcGl4ZWwgYW5kIGluc2VydCBpbnZpc2libGUgVVJMIGluc3RlYWQgb2YgJyAnLgooeHdp ZGdldC13ZWJraXQtY3VycmVudC11cmwsIHh3aWRnZXQtd2Via2l0LWN1cnJlbnQtdXJsLWNiKTog R0Mgc2FmZS4KKHh3aWRnZXQtd2Via2l0LWNvcHktc2VsZWN0aW9uLWFzLWtpbGwpOiBHQyBzYWZl LgoqIG5leHRzdGVwL3RlbXBsYXRlcy9JbmZvLnBsaXN0LmluOiBBZGQgJ05TQXBwVHJhbnNwb3J0 U2VjdXJpdHknLgoqIHNyYy9NYWtlZmlsZS5pbjogQWRkIG5zeHdpZGdldC5vIGZvciBjb21waWxh dGlvbi4KKiBzcmMvZW1hY3MuYyAobWFpbik6IFNpbXBsaWZ5IGNvbmRpdGlvbmFsIGNhbGwgdG8g J3N5bXNfb2ZfeHdpZGdldCcuCiogc3JjL25zdGVybS5tIChuc19kcmF3X2dseXBoX3N0cmluZyk6 IEFkZCBjYXNlIGZvciAnWFdJREdFVF9HTFlQSCcuCihub3RlX21vdXNlX21vdmVtZW50IG1vdXNl TW92ZWQpOiBNYWtlIGl0IGVhc3kgdG8gcmVzaXplIHdpbmRvdyBieQpkcmFnZ2luZyBtb2RlLWxp bmUgb3IgdmVydGljYWwgc2VwYXJhdG9yIGFkamFjZW50IHRvIGxhcmdlIGdseXBoLgoqIHNyYy9u c3h3aWRnZXQuaCBzcmMvbnN4d2lkZ2V0Lm06IE5ld2x5IGFkZGVkIGZpbGVzLCB4d2lkZ2V0IHdl YmtpdApiYWNrZW5kIGZvciBuZXh0c3RlcC4KKiBzcmMveHdpZGdldC5jIHNyYy94d2lkZ2V0Lmgg KHh3aWRnZXQgeHdpZGdldF92aWV3KTogQWRkIG5leHRzdGVwCnNwZWNpZmljIGZpZWxkcyB3aXRo ICdIQVZFX05TJywgZ3VhcmQgR1RLIHNwZWNpZmljIGZpZWxkcyB3aXRoCidVU0VfR1RLJyBpbiB0 aGUgc3RydWN0dXJlcywgYW5kIGltcGxlbWVudCBhY2NvcmRpbmdseS4KKHhfZHJhd194d2lkZ2V0 X2dseXBoX3N0cmluZyk6IENoYW5nZSBmb3IgdG9wIGFsaWdubWVudCBvZiB4d2lkZ2V0cyBpbgph IGdseXBoIHN0cmluZyBpbnN0ZWFkIG9mIHZlcnRpY2FsbHkgbWlkZGxlIGFsaWdubWVudC4KLS0t CiAuZ2l0aWdub3JlICAgICAgICAgICAgICAgICAgICAgICB8ICAgMyArCiBjb25maWd1cmUuYWMg ICAgICAgICAgICAgICAgICAgICB8ICAzNCArKy0KIGxpc3AveHdpZGdldC5lbCAgICAgICAgICAg ICAgICAgIHwgMjM1ICsrKysrKysrKysrKysrLS0tLQogbmV4dHN0ZXAvdGVtcGxhdGVzL0luZm8u cGxpc3QuaW4gfCAgIDggKwogc3JjL01ha2VmaWxlLmluICAgICAgICAgICAgICAgICAgfCAgIDEg Kwogc3JjL2VtYWNzLmMgICAgICAgICAgICAgICAgICAgICAgfCAgIDUgKy0KIHNyYy9uc3Rlcm0u bSAgICAgICAgICAgICAgICAgICAgIHwgIDIwICstCiBzcmMvbnN4d2lkZ2V0LmggICAgICAgICAg ICAgICAgICB8ICA3NyArKysrKysKIHNyYy9uc3h3aWRnZXQubSAgICAgICAgICAgICAgICAgIHwg NTEwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogc3JjL3h3aWRnZXQu YyAgICAgICAgICAgICAgICAgICAgfCAxODMgKysrKysrKysrKysrLS0KIHNyYy94d2lkZ2V0Lmgg ICAgICAgICAgICAgICAgICAgIHwgIDM1ICsrLQogMTEgZmlsZXMgY2hhbmdlZCwgMTAzMyBpbnNl cnRpb25zKCspLCA3OCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvbnN4d2lk Z2V0LmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvbnN4d2lkZ2V0Lm0KCmRpZmYgLS1naXQgYS8u Z2l0aWdub3JlIGIvLmdpdGlnbm9yZQppbmRleCA3NDI2MDgyOTA2Li4yZWFlMzM4NTA4IDEwMDY0 NAotLS0gYS8uZ2l0aWdub3JlCisrKyBiLy5naXRpZ25vcmUKQEAgLTI3OCwzICsyNzgsNiBAQCBu dC9lbWFjcy5yYwogbnQvZW1hY3NjbGllbnQucmMKIHNyYy9nZGIuaW5pCiAvdmFyLworCisjIG1h Y09TIC0gRm9sZGVyIGN1c3RvbSBhdHRyaWJ1dGVzIGZpbGVzCisuRFNfU3RvcmUKZGlmZiAtLWdp dCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwppbmRleCA2MTQ1NWE0YjBmLi4xYjdiNWM1 MDc5IDEwMDY0NAotLS0gYS9jb25maWd1cmUuYWMKKysrIGIvY29uZmlndXJlLmFjCkBAIC0zOTks NyArMzk5LDcgQEAgQUNfREVGVU4KICBbd2l0aF9maWxlX25vdGlmaWNhdGlvbj0kd2l0aF9mZWF0 dXJlc10pCiAKIE9QVElPTl9ERUZBVUxUX09GRihbeHdpZGdldHNdLAotICBbZW5hYmxlIHVzZSBv ZiBzb21lIGd0ayB3aWRnZXRzIGluIEVtYWNzIGJ1ZmZlcnMgKHJlcXVpcmVzIGd0azMpXSkKKyAg W2VuYWJsZSB1c2Ugb2Ygc29tZSBndGsgd2lkZ2V0cyBpbiBFbWFjcyBidWZmZXJzIChyZXF1aXJl cyBndGszIG9yIE5TKV0pCiAKICMjIEZvciB0aGUgdGltZXMgd2hlbiB5b3Ugd2FudCB0byBidWls ZCBFbWFjcyBidXQgZG9uJ3QgaGF2ZQogIyMgYSBzdWl0YWJsZSBtYWtlaW5mbywgYW5kIGNhbiBs aXZlIHdpdGhvdXQgdGhlIG1hbnVhbHMuCkBAIC0yNzE1LDIwICsyNzE1LDM0IEBAIEFDX0RFRlVO CiAKIAogZG5sIEVuYWJsZSB4d2lkZ2V0cyBpZiBHVEszIGFuZCBXZWJLaXRHVEsrIGFyZSBhdmFp bGFibGUuCitkbmwgRW5hYmxlIHh3aWRnZXRzIGlmIE5TIENvY29hIGFuZCBXZWJLaXQgZnJhbWV3 b3JrIGFyZSBhdmFpbGFibGUuCiBIQVZFX1hXSURHRVRTPW5vCiBYV0lER0VUU19PQko9CiBpZiB0 ZXN0ICIkd2l0aF94d2lkZ2V0cyIgIT0gIm5vIjsgdGhlbgotICB0ZXN0ICIkVVNFX0dUS19UT09M S0lUIiA9ICJHVEszIiAmJiB0ZXN0ICIkd2luZG93X3N5c3RlbSIgIT0gIm5vbmUiIHx8Ci0gICAg QUNfTVNHX0VSUk9SKFt4d2lkZ2V0cyByZXF1ZXN0ZWQgYnV0IGd0azMgbm90IHVzZWQuXSkKKyAg aWYgdGVzdCAiJFVTRV9HVEtfVE9PTEtJVCIgPSAiR1RLMyIgJiYgdGVzdCAiJHdpbmRvd19zeXN0 ZW0iICE9ICJub25lIjsgdGhlbgorICAgIFdFQktJVF9SRVFVSVJFRD0yLjEyCisgICAgV0VCS0lU X01PRFVMRVM9IndlYmtpdDJndGstNC4wID49ICRXRUJLSVRfUkVRVUlSRUQiCisgICAgRU1BQ1Nf Q0hFQ0tfTU9EVUxFUyhbV0VCS0lUXSwgWyRXRUJLSVRfTU9EVUxFU10pCisgICAgSEFWRV9YV0lE R0VUUz0kSEFWRV9XRUJLSVQKKyAgICBYV0lER0VUU19PQko9Inh3aWRnZXQubyIKKyAgZWxpZiB0 ZXN0ICIkd2luZG93X3N5c3RlbSIgPSAibmV4dHN0ZXAiOyB0aGVuCisgICAgZG5sIEZJWE1FOiBD aGVjayBmcmFtZXdvcmsgV2ViS2l0MgorICAgIGRubCBXRUJLSVRfUkVRVUlSRUQ9TS5tLnAKKyAg ICBXRUJLSVRfTElCUz0iLVdsLC1mcmFtZXdvcmsgLVdsLFdlYktpdCIKKyAgICBXRUJLSVRfQ0ZM QUdTPSItRF9SRUVOVFJBTlQgLUkvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9XZWJLaXQuZnJh bWV3b3JrL0hlYWRlcnMiCisgICAgSEFWRV9XRUJLSVQ9InllcyIKKyAgICBIQVZFX1hXSURHRVRT PSRIQVZFX1dFQktJVAorICAgIFhXSURHRVRTX09CSj0ieHdpZGdldC5vIgorICAgIE5TX09CSkNf T0JKPSIkTlNfT0JKQ19PQkogbnN4d2lkZ2V0Lm8iCisgICAgZG5sIFVwZGF0ZSBOU19PQkpDX09C SiB3aXRoIGFkZGVkIG5zeHdpZGdldC5vCisgICAgQUNfU1VCU1QoTlNfT0JKQ19PQkopCisgIGVs c2UKKyAgICBBQ19NU0dfRVJST1IoW3h3aWRnZXRzIHJlcXVlc3RlZCwgaXQgcmVxdWlyZXMgR1RL MyBhcyBYIHdpbmRvdyB0b29sa2l0IG9yIE5leHRzdGVwIGFzIHdpbmRvdyBzeXN0ZW1sXSkKKyAg ZmkKIAotICBXRUJLSVRfUkVRVUlSRUQ9Mi4xMgotICBXRUJLSVRfTU9EVUxFUz0id2Via2l0Mmd0 ay00LjAgPj0gJFdFQktJVF9SRVFVSVJFRCIKLSAgRU1BQ1NfQ0hFQ0tfTU9EVUxFUyhbV0VCS0lU XSwgWyRXRUJLSVRfTU9EVUxFU10pCi0gIEhBVkVfWFdJREdFVFM9JEhBVkVfV0VCS0lUCiAgIHRl c3QgJEhBVkVfWFdJREdFVFMgPSB5ZXMgfHwKLSAgICBBQ19NU0dfRVJST1IoW3h3aWRnZXRzIHJl cXVlc3RlZCBidXQgV2ViS2l0R1RLKyBub3QgZm91bmQuXSkKKyAgICBBQ19NU0dfRVJST1IoW3h3 aWRnZXRzIHJlcXVlc3RlZCBidXQgV2ViS2l0R1RLKyBvciBXZWJLaXQgZnJhbWV3b3JrIG5vdCBm b3VuZC5dKQogCi0gIFhXSURHRVRTX09CSj14d2lkZ2V0Lm8KICAgQUNfREVGSU5FKFtIQVZFX1hX SURHRVRTXSwgMSwgW0RlZmluZSB0byAxIGlmIHlvdSBoYXZlIHh3aWRnZXRzIHN1cHBvcnQuXSkK IGZpCiBBQ19TVUJTVChYV0lER0VUU19PQkopCkBAIC01NDE5LDcgKzU0MzMsNyBAQCBBQ19ERUZV TgogICBEb2VzIEVtYWNzIGRpcmVjdGx5IHVzZSB6bGliPyAgICAgICAgICAgICAgICAgICAgICAg ICAgICR7SEFWRV9aTElCfQogICBEb2VzIEVtYWNzIGhhdmUgZHluYW1pYyBtb2R1bGVzIHN1cHBv cnQ/ICAgICAgICAgICAgICAgICR7SEFWRV9NT0RVTEVTfQogICBEb2VzIEVtYWNzIHVzZSB0b29s a2l0IHNjcm9sbCBiYXJzPyAgICAgICAgICAgICAgICAgICAgICR7VVNFX1RPT0xLSVRfU0NST0xM X0JBUlN9Ci0gIERvZXMgRW1hY3Mgc3VwcG9ydCBYd2lkZ2V0cyAocmVxdWlyZXMgZ3RrMyk/ICAg ICAgICAgICAgJHtIQVZFX1hXSURHRVRTfQorICBEb2VzIEVtYWNzIHN1cHBvcnQgWHdpZGdldHMg KHJlcXVpcmVzIGd0azMgb3IgTlMpPyAgICAgICR7SEFWRV9YV0lER0VUU30KICAgRG9lcyBFbWFj cyBoYXZlIHRocmVhZGluZyBzdXBwb3J0IGluIGxpc3A/ICAgICAgICAgICAgICAke3RocmVhZHNf ZW5hYmxlZH0KICJdKQogCmRpZmYgLS1naXQgYS9saXNwL3h3aWRnZXQuZWwgYi9saXNwL3h3aWRn ZXQuZWwKaW5kZXggNWUzNzIwOWNjMi4uMDMxODNjMTlkNSAxMDA2NDQKLS0tIGEvbGlzcC94d2lk Z2V0LmVsCisrKyBiL2xpc3AveHdpZGdldC5lbApAQCAtNzgsNiArNzgsNyBAQCB4d2lkZ2V0LWF0 CiA7Ozsgd2Via2l0IHN1cHBvcnQKIChyZXF1aXJlICdicm93c2UtdXJsKQogKHJlcXVpcmUgJ2lt YWdlLW1vZGUpOztmb3Igc29tZSBpbWFnZS1tb2RlIGFsaWtlIGZ1bmN0aW9uYWxpdHkKKyhyZXF1 aXJlICdzZXEpCiAKIDs7OyMjI2F1dG9sb2FkCiAoZGVmdW4geHdpZGdldC13ZWJraXQtYnJvd3Nl LXVybCAodXJsICZvcHRpb25hbCBuZXctc2Vzc2lvbikKQEAgLTk2LDYgKzk3LDM4IEBAIHh3aWRn ZXQtd2Via2l0LWJyb3dzZS11cmwKICAgICAgICAgKHh3aWRnZXQtd2Via2l0LW5ldy1zZXNzaW9u IHVybCkKICAgICAgICh4d2lkZ2V0LXdlYmtpdC1nb3RvLXVybCB1cmwpKSkpCiAKKzs7IE5PVEU6 IEBqYXZhc2NyaXB0LWNhbGxiYWNrIC0gcHJlZmVyIGRlZnVuIHRvIGxhbWJkYS4KKzs7IExhbWJk YSBzZWVtcyB0byBiZSBtb3JlIGVhc2lseSBnYXJiYWdlIGNvbGxlY3RlZCBpbiBmbGlnaHQgZnJv bQorOzsgYHh3aWRnZXQtd2Via2l0LWV4ZWN1dGUtc2NyaXB0JyB0byBpdHMgZXhlY3V0aW9uIHZp YSBldmVudC4KKworOzsgQGphdmFzY3JpcHQtY2FsbGJhY2sKKyhkZWZ1biB4d2lkZ2V0LXdlYmtp dC1jeDItY2IgKHVybCkKKyAgIk5ldyB4d2lkZ2V0IHdlYmtpdCBzZXNzaW9uIGFuZCBidWZmZXIg d2l0aCBVUkwgaW4gc3BsaXQgd2luZG93IGJlbG93LiIKKyAgKHdpdGgtc2VsZWN0ZWQtd2luZG93 IChzcGxpdC13aW5kb3ctYmVsb3cpCisgICAgKHh3aWRnZXQtd2Via2l0LW5ldy1zZXNzaW9uIHVy bCkpKQorCis7OyBAamF2YXNjcmlwdC1jYWxsYmFjaworKGRlZnVuIHh3aWRnZXQtd2Via2l0LWN4 My1jYiAodXJsKQorICAiTmV3IHh3aWRnZXQgd2Via2l0IHNlc3Npb24gYW5kIGJ1ZmZlciB3aXRo IFVSTCBpbiBzcGxpdCB3aW5kb3cgcmlnaHQuIgorICAod2l0aC1zZWxlY3RlZC13aW5kb3cgKHNw bGl0LXdpbmRvdy1yaWdodCkKKyAgICAoeHdpZGdldC13ZWJraXQtbmV3LXNlc3Npb24gdXJsKSkp CisKKyhkZWZ1biB4d2lkZ2V0LXdlYmtpdC1jeDIgKCkKKyAgIkdldCB0aGUgVVJMIG9mIGN1cnJl bnQgc2Vzc2lvbiwgdGhlbiBgeHdpZGdldC13ZWJraXQtY3gyLWNiJy4iCisgIChpbnRlcmFjdGl2 ZSkKKyAgKHh3aWRnZXQtd2Via2l0LWV4ZWN1dGUtc2NyaXB0CisgICAoeHdpZGdldC13ZWJraXQt Y3VycmVudC1zZXNzaW9uKQorICAgImRvY3VtZW50LlVSTCIKKyAgICd4d2lkZ2V0LXdlYmtpdC1j eDItY2IpKQorCisoZGVmdW4geHdpZGdldC13ZWJraXQtY3gzICgpCisgICJHZXQgdGhlIFVSTCBv ZiBjdXJyZW50IHNlc3Npb24sIHRoZW4gYHh3aWRnZXQtd2Via2l0LWN4My1jYicuIgorICAoaW50 ZXJhY3RpdmUpCisgICh4d2lkZ2V0LXdlYmtpdC1leGVjdXRlLXNjcmlwdAorICAgKHh3aWRnZXQt d2Via2l0LWN1cnJlbnQtc2Vzc2lvbikKKyAgICJkb2N1bWVudC5VUkwiCisgICAneHdpZGdldC13 ZWJraXQtY3gzLWNiKSkKKwogOzt0b2RvLgogOzsgLSBjaGVjayB0aGF0IHRoZSB3ZWJraXQgc3Vw cG9ydCBpcyBjb21waWxlZCBpbgogKGRlZnZhciB4d2lkZ2V0LXdlYmtpdC1tb2RlLW1hcApAQCAt MTMxLDYgKzE2NCwxMiBAQCB4d2lkZ2V0LXdlYmtpdC1tb2RlLW1hcAogICAgIDs7IChkZWZpbmUt a2V5IG1hcCBbcmVtYXAgbW92ZS1lbmQtb2YtbGluZV0gICAgICAgJ2ltYWdlLWVvbCkKICAgICAo ZGVmaW5lLWtleSBtYXAgW3JlbWFwIGJlZ2lubmluZy1vZi1idWZmZXJdICd4d2lkZ2V0LXdlYmtp dC1zY3JvbGwtdG9wKQogICAgIChkZWZpbmUta2V5IG1hcCBbcmVtYXAgZW5kLW9mLWJ1ZmZlcl0g ICAgICAgJ3h3aWRnZXQtd2Via2l0LXNjcm9sbC1ib3R0b20pCisKKyAgICA7OyBGb3IgbWFjT1Mg eHdpZGdldCB3ZWJraXQsIHdlIGRvbid0IHN1cHBvcnQgbXVsdGlwbGUgdmlld3MgZm9yIGEKKyAg ICA7OyBtb2RlbCwgaW5zdGVhZCwgY3JlYXRlIGEgbmV3IHNlc3Npb24gYW5kIG1vZGVsIGJlaGlu ZCB0aGUgc2NlbmUuCisgICAgKHdoZW4gKG1lbXEgd2luZG93LXN5c3RlbSAnKG1hYyBucykpCisg ICAgICAoZGVmaW5lLWtleSBtYXAgKGtiZCAiQy14IDIiKSAneHdpZGdldC13ZWJraXQtY3gyKQor ICAgICAgKGRlZmluZS1rZXkgbWFwIChrYmQgIkMteCAzIikgJ3h3aWRnZXQtd2Via2l0LWN4Mykp CiAgICAgbWFwKQogICAiS2V5bWFwIGZvciBgeHdpZGdldC13ZWJraXQtbW9kZScuIikKIApAQCAt MTkyLDcgKzIzMSw3IEBAIHh3aWRnZXQtd2Via2l0LXNjcm9sbC1ib3R0b20KIChkZWZpbmUta2V5 IChjdXJyZW50LWdsb2JhbC1tYXApIFt4d2lkZ2V0LWV2ZW50XSAjJ3h3aWRnZXQtZXZlbnQtaGFu ZGxlcikKIChkZWZ1biB4d2lkZ2V0LWxvZyAoJnJlc3QgbXNnKQogICAiTG9nIE1TRyB0byBhIGJ1 ZmZlci4iCi0gIChsZXQgKChidWYgKGdldC1idWZmZXItY3JlYXRlICIgKnh3aWRnZXQtbG9nKiIp KSkKKyAgKGxldCAoKGJ1ZiAoZ2V0LWJ1ZmZlci1jcmVhdGUgIip4d2lkZ2V0LWxvZyoiKSkpCiAg ICAgKHdpdGgtY3VycmVudC1idWZmZXIgYnVmCiAgICAgICAoaW5zZXJ0IChhcHBseSAjJ2Zvcm1h dCBtc2cpKQogICAgICAgKGluc2VydCAiXG4iKSkpKQpAQCAtMjA4LDcgKzI0Nyw2IEBAIHh3aWRn ZXQtZXZlbnQtaGFuZGxlcgogICAgICAgIDs7VE9ETyBzdG9wcGVkIHdvcmtpbmcgZm9yIHNvbWUg cmVhc29uCiAgICAgICAgKQogICAgIDs7KGZ1bmNhbGwgIHh3aWRnZXQtY2FsbGJhY2sgeHdpZGdl dCB4d2lkZ2V0LWV2ZW50LXR5cGUpCi0gICAgKG1lc3NhZ2UgInh3IGNhbGxiYWNrICVzIiB4d2lk Z2V0KQogICAgIChmdW5jYWxsICAneHdpZGdldC13ZWJraXQtY2FsbGJhY2sgeHdpZGdldCB4d2lk Z2V0LWV2ZW50LXR5cGUpKSkKIAogKGRlZnVuIHh3aWRnZXQtd2Via2l0LWNhbGxiYWNrICh4d2lk Z2V0IHh3aWRnZXQtZXZlbnQtdHlwZSkKQEAgLTIxOCwxNiArMjU2LDI1IEBAIHh3aWRnZXQtd2Vi a2l0LWNhbGxiYWNrCiAgICAgICAoeHdpZGdldC1sb2cKICAgICAgICAiZXJyb3I6IGNhbGxiYWNr IGNhbGxlZCBmb3IgeHdpZGdldCB3aXRoIGRlYWQgYnVmZmVyIikKICAgICAod2l0aC1jdXJyZW50 LWJ1ZmZlciAoeHdpZGdldC1idWZmZXIgeHdpZGdldCkKKworICAgICAgOzsgQGphdmFzY3JpcHQt Y2FsbGJhY2sKKyAgICAgIDs7IFdlIGRvIG5vdCBjaGFuZ2Ugc2VsZWN0ZWQgd2luZG93IGR1ZSB0 byBnZXR0aW5nIHRvIGtub3dpbmcKKyAgICAgIDs7IFVSTCBhbmQgdGl0bGUuICBBbmQgYWxzbyBk byBub3QgYWRqdXN0IHdlYmtpdCBzaXplIHRvIHdpbmRvdworICAgICAgOzsgaGVyZSwgdGhlIHdp bmRvdyBjYW4gYmUgdGhlIG1pbmktYnVmZmVyIHdpbmRvdyB1bndhbnRlZGx5LgorICAgICAgKGRl ZnVuIHh3aWRnZXQtd2Via2l0LXVybC10aXRsZS1jYiAodXJsLXRpdGxlKQorICAgICAgICAiUHV0 IFVSTCBhcyB0ZXh0IHByb3BlcnR5IGFuZCBjaGFuZ2UgYnVmZmVyIG5hbWUgdXNpbmcgVElUTEUu IgorICAgICAgICAobGV0ICgodXJsIChjYXIgdXJsLXRpdGxlKSkKKyAgICAgICAgICAgICAgKHRp dGxlIChjYXIgKGNkciB1cmwtdGl0bGUpKSkpCisgICAgICAgICAgKHh3aWRnZXQtbG9nICJ3ZWJr aXQgZmluaXNoZWQgbG9hZGluZzogJyVzJyBmcm9tICclcyciIHRpdGxlIHVybCkKKyAgICAgICAg ICAoc2V0cSBidWZmZXItcmVhZC1vbmx5IG5pbCkKKyAgICAgICAgICAocHV0LXRleHQtcHJvcGVy dHkgMiAzICdVUkwgdXJsKQorICAgICAgICAgIChzZXRxIGJ1ZmZlci1yZWFkLW9ubHkgdCkKKyAg ICAgICAgICAocmVuYW1lLWJ1ZmZlciAoZm9ybWF0ICIqeHdpZGdldCB3ZWJraXQ6ICVzICoiIHRp dGxlKSkpKQorCiAgICAgICAoY29uZCAoKGVxIHh3aWRnZXQtZXZlbnQtdHlwZSAnbG9hZC1jaGFu Z2VkKQogICAgICAgICAgICAgICh4d2lkZ2V0LXdlYmtpdC1leGVjdXRlLXNjcmlwdAotICAgICAg ICAgICAgICB4d2lkZ2V0ICJkb2N1bWVudC50aXRsZSIKLSAgICAgICAgICAgICAgKGxhbWJkYSAo dGl0bGUpCi0gICAgICAgICAgICAgICAgKHh3aWRnZXQtbG9nICJ3ZWJraXQgZmluaXNoZWQgbG9h ZGluZzogJyVzJyIgdGl0bGUpCi0gICAgICAgICAgICAgICAgOztUT0RPIC0gY2hlY2sgdGhlIG5h dGl2ZS9pbnRlcm5hbCBzY3JvbGwKLSAgICAgICAgICAgICAgICA7Oyh4d2lkZ2V0LWFkanVzdC1z aXplLXRvLWNvbnRlbnQgeHdpZGdldCkKLSAgICAgICAgICAgICAgICAoeHdpZGdldC13ZWJraXQt YWRqdXN0LXNpemUtdG8td2luZG93IHh3aWRnZXQpCi0gICAgICAgICAgICAgICAgKHJlbmFtZS1i dWZmZXIgKGZvcm1hdCAiKnh3aWRnZXQgd2Via2l0OiAlcyAqIiB0aXRsZSkpKSkKLSAgICAgICAg ICAgICAocG9wLXRvLWJ1ZmZlciAoY3VycmVudC1idWZmZXIpKSkKKyAgICAgICAgICAgICAgeHdp ZGdldCAiW2RvY3VtZW50LlVSTCwgZG9jdW1lbnQudGl0bGVdIgorICAgICAgICAgICAgICAneHdp ZGdldC13ZWJraXQtdXJsLXRpdGxlLWNiKSkKICAgICAgICAgICAgICgoZXEgeHdpZGdldC1ldmVu dC10eXBlICdkZWNpZGUtcG9saWN5KQogICAgICAgICAgICAgIChsZXQgKChzdHJhcmcgIChudGgg MyBsYXN0LWlucHV0LWV2ZW50KSkpCiAgICAgICAgICAgICAgICAoaWYgKHN0cmluZy1tYXRjaCAi LiojXFwoLipcXCkiIHN0cmFyZykKQEAgLTIzNywyNSArMjg0LDEwOCBAQCB4d2lkZ2V0LXdlYmtp dC1jYWxsYmFjawogICAgICAgICAgICAgKChlcSB4d2lkZ2V0LWV2ZW50LXR5cGUgJ2phdmFzY3Jp cHQtY2FsbGJhY2spCiAgICAgICAgICAgICAgKGxldCAoKHByb2MgKG50aCAzIGxhc3QtaW5wdXQt ZXZlbnQpKQogICAgICAgICAgICAgICAgICAgIChhcmcgIChudGggNCBsYXN0LWlucHV0LWV2ZW50 KSkpCi0gICAgICAgICAgICAgICAoZnVuY2FsbCBwcm9jIGFyZykpKQorICAgICAgICAgICAgICAg OzsgU29tZSBqYXZhc2NyaXB0IHJldHVybiB2ZWN0b3IgYXMgcmVzdWx0CisgICAgICAgICAgICAg ICAoaWYgKHZlY3RvcnAgYXJnKQorICAgICAgICAgICAgICAgICAgIChmdW5jYWxsIHByb2MgKHNl cS1pbnRvIGFyZyAnbGlzdCkpCisgICAgICAgICAgICAgICAgIChmdW5jYWxsIHByb2MgYXJnKSkp KQogICAgICAgICAgICAgKHQgKHh3aWRnZXQtbG9nICJ1bmhhbmRsZWQgZXZlbnQ6JXMiIHh3aWRn ZXQtZXZlbnQtdHlwZSkpKSkpKQogCiAoZGVmdmFyIGJvb2ttYXJrLW1ha2UtcmVjb3JkLWZ1bmN0 aW9uKQorKGRlZnZhciBpc2VhcmNoLXNlYXJjaC1mdW4tZnVuY3Rpb24pCiAoZGVmaW5lLWRlcml2 ZWQtbW9kZSB4d2lkZ2V0LXdlYmtpdC1tb2RlCiAgICAgc3BlY2lhbC1tb2RlICJ4d2lkZ2V0LXdl YmtpdCIgIlh3aWRnZXQgd2Via2l0IHZpZXcgbW9kZS4iCiAgICAgKHNldHEgYnVmZmVyLXJlYWQt b25seSB0KQorICAgIChzZXRxIGN1cnNvci10eXBlIG5pbCkKICAgICAoc2V0cS1sb2NhbCBib29r bWFyay1tYWtlLXJlY29yZC1mdW5jdGlvbgogICAgICAgICAgICAgICAgICMneHdpZGdldC13ZWJr aXQtYm9va21hcmstbWFrZS1yZWNvcmQpCisgICAgKHNldHEtbG9jYWwgaXNlYXJjaC1zZWFyY2gt ZnVuLWZ1bmN0aW9uCisgICAgICAgICAgICAgICAgIyd4d2lkZ2V0LXdlYmtpdC1zZWFyY2gtZnVu LWZ1bmN0aW9uKQorICAgIChzZXRxLWxvY2FsIGlzZWFyY2gtbGF6eS1oaWdobGlnaHQgbmlsKQog ICAgIDs7IEtlZXAgdHJhY2sgb2YgW3ZoXXNjcm9sbCB3aGVuIHN3aXRjaGluZyBidWZmZXJzCiAg ICAgKGltYWdlLW1vZGUtc2V0dXAtd2lucHJvcHMpKQogCis7OzsgQm9va21hcmtzIGludGVncmF0 aW9uCisKKyhkZWZ2YXIgeHdpZGdldC13ZWJraXQtYm9va21hcmstanVtcC1uZXctc2Vzc2lvbiBu aWwKKyAgIkNvbnRyb2wgYm9va21hcmsganVtcCB0byB1c2UgbmV3IHNlc3Npb24gb3Igbm90Lgor SWYgbm9uLW5pbCwgaXQgd2lsbCB1c2UgYSBuZXcgc2Vzc2lvbi4gIE90aGVyd2lzZSwgaXQgd2ls bCB1c2UKK2B4d2lkZ2V0LXdlYmtpdC1sYXN0LXNlc3Npb24nLiAgV2hlbiB5b3Ugc2V0IHRoaXMg dmFyaWFibGUgdG8KK25pbCwgY29uc2lkZXIgZnVydGhlciBjdXN0b21pemF0aW9uIHdpdGgKK2B4 d2lkZ2V0LXdlYmtpdC1sYXN0LXNlc3Npb24tYnVmZmVyJy4iKQorCis7OyBXZSBhdm9pZCB1c2lu ZyBhc3luYyBgeHdpZGdldC13ZWJraXQtY3VycmVudC11cmwnLCBpbnN0ZWFkIHVzZSBVUkwKKzs7 IGtlcHQgaW4geHdpZGdldCB3ZWJraXQgYXMgcHJvcGVydHkKIChkZWZ1biB4d2lkZ2V0LXdlYmtp dC1ib29rbWFyay1tYWtlLXJlY29yZCAoKQogICAiSW50ZWdyYXRlIEVtYWNzIGJvb2ttYXJrcyB3 aXRoIHRoZSB3ZWJraXQgeHdpZGdldC4iCiAgIChuY29uYyAoYm9va21hcmstbWFrZS1yZWNvcmQt ZGVmYXVsdCB0IHQpCi0gICAgICAgICBgKChwYWdlICAgICAuICwoeHdpZGdldC13ZWJraXQtY3Vy cmVudC11cmwpKQotICAgICAgICAgICAoaGFuZGxlciAgLiAobGFtYmRhIChibWspIChicm93c2Ut dXJsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYm9va21hcmstcHJvcC1nZXQg Ym1rICdwYWdlKSkpKSkpKQotCisgICAgICAgICBgKChmaWxlbmFtZSAuICwoZ2V0LXRleHQtcHJv cGVydHkgMiAnVVJMKSkKKyAgICAgICAgICAgKGhhbmRsZXIgIC4gKGxhbWJkYSAoYm1rKQorICAg ICAgICAgICAgICAgICAgICAgICAgIChicm93c2UtdXJsCisgICAgICAgICAgICAgICAgICAgICAg ICAgIChib29rbWFyay1wcm9wLWdldCBibWsgJ2ZpbGVuYW1lKQorICAgICAgICAgICAgICAgICAg ICAgICAgICB4d2lkZ2V0LXdlYmtpdC1ib29rbWFyay1qdW1wLW5ldy1zZXNzaW9uKQorICAgICAg ICAgICAgICAgICAgICAgICAgIChzd2l0Y2gtdG8tYnVmZmVyCisgICAgICAgICAgICAgICAgICAg ICAgICAgICh4d2lkZ2V0LWJ1ZmZlciAoeHdpZGdldC13ZWJraXQtbGFzdC1zZXNzaW9uKSkpKSkp KSkKKworOzs7IFNlYXJjaCB0ZXh0IGluIHBhZ2UKKworOzsgSW5pdGlhbGl6ZSBsYXN0IHNlYXJj aCB0ZXh0IGxlbmd0aCB2YXJpYWJsZSB3aGVuIGlzZWFyY2ggc3RhcnRzCisoZGVmdmFyIHh3aWRn ZXQtd2Via2l0LWlzZWFyY2gtbGFzdC1sZW5ndGggMCkKKyhhZGQtaG9vayAnaXNlYXJjaC1tb2Rl LWhvb2sKKyAgICAgICAgICAobGFtYmRhICgpCisgICAgICAgICAgICAoc2V0cSB4d2lkZ2V0LXdl YmtpdC1pc2VhcmNoLWxhc3QtbGVuZ3RoIDApKSkKKworOzsgVGhpcyBpcyBtaW5pbWFsLiBSZWdl eCBhbmQgaW5jcmVtZW50YWwgc2VhcmNoIHdpbGwgYmUgbmljZQorKGRlZnZhciB4d2lkZ2V0LXdl YmtpdC1zZWFyY2gtanMgIgordmFyIHh3U2VhcmNoRm9yd2FyZCA9ICVzOwordmFyIHh3U2VhcmNo UmVwZWF0ID0gJXM7Cit2YXIgeHdTZWFyY2hTdHJpbmcgPSAnJXMnOworaWYgKHdpbmRvdy5nZXRT ZWxlY3Rpb24oKSAmJiAhd2luZG93LmdldFNlbGVjdGlvbigpLmlzQ29sbGFwc2VkKSB7CisgIGlm ICh4d1NlYXJjaFJlcGVhdCkgeworICAgIGlmICh4d1NlYXJjaEZvcndhcmQpCisgICAgICB3aW5k b3cuZ2V0U2VsZWN0aW9uKCkuY29sbGFwc2VUb0VuZCgpOworICAgIGVsc2UKKyAgICAgIHdpbmRv dy5nZXRTZWxlY3Rpb24oKS5jb2xsYXBzZVRvU3RhcnQoKTsKKyAgfSBlbHNlIHsKKyAgICBpZiAo eHdTZWFyY2hGb3J3YXJkKQorICAgICAgd2luZG93LmdldFNlbGVjdGlvbigpLmNvbGxhcHNlVG9T dGFydCgpOworICAgIGVsc2UgeworICAgICAgdmFyIHNlbCA9IHdpbmRvdy5nZXRTZWxlY3Rpb24o KTsKKyAgICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5jb2xsYXBzZShzZWwuZm9jdXNOb2RlLCBz ZWwuZm9jdXNPZmZzZXQgKyAxKTsKKyAgICB9CisgIH0KK30KK3dpbmRvdy5maW5kKHh3U2VhcmNo U3RyaW5nLCBmYWxzZSwgIXh3U2VhcmNoRm9yd2FyZCwgdHJ1ZSwgZmFsc2UsIHRydWUpOworIikK KworKGRlZnVuIHh3aWRnZXQtd2Via2l0LXNlYXJjaC1mdW4tZnVuY3Rpb24gKCkKKyAgIlJldHVy biB0aGUgZnVuY3Rpb24gd2hpY2ggcGVyZm9ybSB0aGUgc2VhcmNoIGluIHh3aWRnZXQgd2Via2l0 LiIKKyAgKGxhbWJkYSAoc3RyaW5nICZvcHRpb25hbCBib3VuZCBub2Vycm9yIGNvdW50KQorICAg IChpZ25vcmUgYm91bmQgbm9lcnJvciBjb3VudCkKKyAgICAobGV0ICgoY3VycmVudC1sZW5ndGgg KGxlbmd0aCBzdHJpbmcpKQorICAgICAgICAgIHNlYXJjaC1mb3J3YXJkCisgICAgICAgICAgc2Vh cmNoLXJlcGVhdCkKKyAgICAgIDs7IEZvcndhcmQgb3IgYmFja3dhcmQKKyAgICAgIChpZiAoZXEg aXNlYXJjaC1mb3J3YXJkIG5pbCkKKyAgICAgICAgICAoc2V0cSBzZWFyY2gtZm9yd2FyZCAiZmFs c2UiKQorICAgICAgICAoc2V0cSBzZWFyY2gtZm9yd2FyZCAidHJ1ZSIpKQorICAgICAgOzsgUmVw ZWF0IGlmIHNlYXJjaCBzdHJpbmcgbGVuZ3RoIG5vdCBjaGFuZ2VkCisgICAgICAoaWYgKGVxIGN1 cnJlbnQtbGVuZ3RoIHh3aWRnZXQtd2Via2l0LWlzZWFyY2gtbGFzdC1sZW5ndGgpCisgICAgICAg ICAgKHNldHEgc2VhcmNoLXJlcGVhdCAidHJ1ZSIpCisgICAgICAgIChzZXRxIHNlYXJjaC1yZXBl YXQgImZhbHNlIikpCisgICAgICAoc2V0cSB4d2lkZ2V0LXdlYmtpdC1pc2VhcmNoLWxhc3QtbGVu Z3RoIGN1cnJlbnQtbGVuZ3RoKQorICAgICAgKHh3aWRnZXQtd2Via2l0LWV4ZWN1dGUtc2NyaXB0 CisgICAgICAgKHh3aWRnZXQtd2Via2l0LWN1cnJlbnQtc2Vzc2lvbikKKyAgICAgICAoZm9ybWF0 IHh3aWRnZXQtd2Via2l0LXNlYXJjaC1qcworICAgICAgICAgICAgICAgc2VhcmNoLWZvcndhcmQK KyAgICAgICAgICAgICAgIHNlYXJjaC1yZXBlYXQKKyAgICAgICAgICAgICAgIChyZWdleHAtcXVv dGUgc3RyaW5nKSkpCisgICAgICA7OyBVbmNvbmRpdGlvbmFsbHkgYXZvaWQgJ0ZhaWxpbmcgSS1z ZWFyY2ggLi4uJworICAgICAgKGlmIChlcSBpc2VhcmNoLWZvcndhcmQgbmlsKQorICAgICAgICAg IChnb3RvLWNoYXIgKHBvaW50LW1heCkpCisgICAgICAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikp KQorICAgICAgKSkpCisKKzs7OyB4d2lkZ2V0IHdlYmtpdCBzZXNzaW9uCiAKIChkZWZ2YXIgeHdp ZGdldC13ZWJraXQtbGFzdC1zZXNzaW9uLWJ1ZmZlciBuaWwpCiAKQEAgLTMwMyw3ICs0MzMsNyBA QCB4d2lkZ2V0LXdlYmtpdC1hY3RpdmVlbGVtZW50LWpzIgogCiAiCiAKLSAgImphdmFzY3JpcHQg dGhhdCBmaW5kcyB0aGUgYWN0aXZlIGVsZW1lbnQuIgorICAiSmF2YXNjcmlwdCB0aGF0IGZpbmRz IHRoZSBhY3RpdmUgZWxlbWVudC4iCiAgIDs7IFllcyBpdCdzIHVnbHksIGJlY2F1c2U6CiAgIDs7 IC0gdGhlcmUgaXMgYXBwYXJlbnRseSBubyB3YXkgdG8gZmluZCB0aGUgYWN0aXZlIGZyYW1lIG90 aGVyIHRoYW4gcmVjdXJzaW9uCiAgIDs7IC0gdGhlIGpzICJmb3IgZWFjaCIgY29uc3RydWN0IG1p c2JlaGF2ZWQgb24gdGhlICJmcmFtZXMiIGNvbGxlY3Rpb24KQEAgLTMxMywyOSArNDQzLDM1IEBA IHh3aWRnZXQtd2Via2l0LWFjdGl2ZWVsZW1lbnQtanMiCiAgICkKIAogKGRlZnVuIHh3aWRnZXQt d2Via2l0LWluc2VydC1zdHJpbmcgKCkKLSAgIlByb21wdCBmb3IgYSBzdHJpbmcgYW5kIGluc2Vy dCBpdCBpbiB0aGUgYWN0aXZlIGZpZWxkIGluIHRoZQorICAiUHJvbXB0IGZvciBhIHN0cmluZyBh bmQgaW5zZXJ0IGl0IGluIHRoZSBhY3RpdmUgZmllbGQgaW4gdGhlIFwKIGN1cnJlbnQgd2Via2l0 IHdpZGdldC4iCiAgIDs7IFJlYWQgb3V0IHRoZSBzdHJpbmcgaW4gdGhlIGZpZWxkIGZpcnN0IGFu ZCBwcm92aWRlIGZvciBlZGl0LgogICAoaW50ZXJhY3RpdmUpCiAgIChsZXQgKCh4d3cgKHh3aWRn ZXQtd2Via2l0LWN1cnJlbnQtc2Vzc2lvbikpKQorCisgICAgOzsgQGphdmFzY3JpcHQtY2FsbGJh Y2sKKyAgICAoZGVmdW4geHdpZGdldC13ZWJraXQtaW5zZXJ0LXN0cmluZy1jYiAoZmllbGQpCisg ICAgICAiUHJvbXB0IGEgc3RyaW5nIGZvciB0aGUgRklFTEQgYW5kIGluc2VydCBpbiB0aGUgYWN0 aXZlIGlucHV0LiIKKyAgICAgIChsZXQgKChzdHIgKHBjYXNlIGZpZWxkCisgICAgICAgICAgICAg ICAgICAgKGAoLHZhbCAidGV4dCIpCisgICAgICAgICAgICAgICAgICAgIChyZWFkLXN0cmluZyAi VGV4dDogIiB2YWwpKQorICAgICAgICAgICAgICAgICAgIChgKCx2YWwgInBhc3N3b3JkIikKKyAg ICAgICAgICAgICAgICAgICAgKHJlYWQtcGFzc3dkICJQYXNzd29yZDogIiBuaWwgdmFsKSkKKyAg ICAgICAgICAgICAgICAgICAoYCgsdmFsICJ0ZXh0YXJlYSIpCisgICAgICAgICAgICAgICAgICAg ICh4d2lkZ2V0LXdlYmtpdC1iZWdpbi1lZGl0LXRleHRhcmVhIHh3dyB2YWwpKSkpKQorICAgICAg ICAoeHdpZGdldC13ZWJraXQtZXhlY3V0ZS1zY3JpcHQKKyAgICAgICAgIHh3dworICAgICAgICAg KGZvcm1hdCAiZmluZGFjdGl2ZWVsZW1lbnQoZG9jdW1lbnQpLnZhbHVlPSclcyciIHN0cikpKSkK KwogICAgICh4d2lkZ2V0LXdlYmtpdC1leGVjdXRlLXNjcmlwdAogICAgICB4d3cKICAgICAgKGNv bmNhdCB4d2lkZ2V0LXdlYmtpdC1hY3RpdmVlbGVtZW50LWpzICIKIChmdW5jdGlvbiAoKSB7CiAg IHZhciByZXMgPSBmaW5kYWN0aXZlZWxlbWVudChkb2N1bWVudCk7Ci0gIHJldHVybiBbcmVzLnZh bHVlLCByZXMudHlwZV07CisgIGlmIChyZXMpCisgICAgcmV0dXJuIFtyZXMudmFsdWUsIHJlcy50 eXBlXTsKIH0pKCk7IikKLSAgICAgKGxhbWJkYSAoZmllbGQpCi0gICAgICAgKGxldCAoKHN0ciAo cGNhc2UgZmllbGQKLSAgICAgICAgICAgICAgICAgICAgKGBbLHZhbCAidGV4dCJdCi0gICAgICAg ICAgICAgICAgICAgICAocmVhZC1zdHJpbmcgIlRleHQ6ICIgdmFsKSkKLSAgICAgICAgICAgICAg ICAgICAgKGBbLHZhbCAicGFzc3dvcmQiXQotICAgICAgICAgICAgICAgICAgICAgKHJlYWQtcGFz c3dkICJQYXNzd29yZDogIiBuaWwgdmFsKSkKLSAgICAgICAgICAgICAgICAgICAgKGBbLHZhbCAi dGV4dGFyZWEiXQotICAgICAgICAgICAgICAgICAgICAgKHh3aWRnZXQtd2Via2l0LWJlZ2luLWVk aXQtdGV4dGFyZWEgeHd3IHZhbCkpKSkpCi0gICAgICAgICAoeHdpZGdldC13ZWJraXQtZXhlY3V0 ZS1zY3JpcHQKLSAgICAgICAgICB4d3cKLSAgICAgICAgICAoZm9ybWF0ICJmaW5kYWN0aXZlZWxl bWVudChkb2N1bWVudCkudmFsdWU9JyVzJyIgc3RyKSkpKSkpKQorICAgICAneHdpZGdldC13ZWJr aXQtaW5zZXJ0LXN0cmluZy1jYikpKQogCiAoZGVmdmFyIHh3aWRnZXQteHdibCkKIChkZWZ1biB4 d2lkZ2V0LXdlYmtpdC1iZWdpbi1lZGl0LXRleHRhcmVhICh4dyB0ZXh0KQpAQCAtNDQ0LDExICs1 ODAsMjMgQEAgeHdpZGdldC13ZWJraXQtYWRqdXN0LXNpemUtZGlzcGF0Y2gKICAgKGlnbm9yZS1l cnJvcnMKICAgICAocmVjZW50ZXItdG9wLWJvdHRvbSkpKQogCis7OyBVdGlsaXR5IGZ1bmN0aW9u cywgd2FudGVkIGluIGB3aW5kb3cuZWwnCisKKyhkZWZ1biB4d2lkZ2V0LXdpbmRvdy1pbnNpZGUt cGl4ZWwtd2lkdGggKHdpbmRvdykKKyAgIlJldHVybiBFbWFjcyBXSU5ET1cgYm9keSB3aWR0aCBp biBwaXhlbC4iCisgIChsZXQgKChlZGdlcyAod2luZG93LWluc2lkZS1waXhlbC1lZGdlcyB3aW5k b3cpKSkKKyAgICAoLSAobnRoIDIgZWRnZXMpIChudGggMCBlZGdlcykpKSkKKworKGRlZnVuIHh3 aWRnZXQtd2luZG93LWluc2lkZS1waXhlbC1oZWlnaHQgKHdpbmRvdykKKyAgIlJldHVybiBFbWFj cyBXSU5ET1cgYm9keSBoZWlnaHQgaW4gcGl4ZWwuIgorICAobGV0ICgoZWRnZXMgKHdpbmRvdy1p bnNpZGUtcGl4ZWwtZWRnZXMgd2luZG93KSkpCisgICAgKC0gKG50aCAzIGVkZ2VzKSAobnRoIDEg ZWRnZXMpKSkpCisKIChkZWZ1biB4d2lkZ2V0LXdlYmtpdC1hZGp1c3Qtc2l6ZS10by13aW5kb3cg KHh3aWRnZXQgJm9wdGlvbmFsIHdpbmRvdykKICAgIkFkanVzdCB0aGUgc2l6ZSBvZiB0aGUgd2Vi a2l0IFhXSURHRVQgdG8gZml0IHRoZSBXSU5ET1cuIgogICAoeHdpZGdldC1yZXNpemUgeHdpZGdl dAotICAgICAgICAgICAgICAgICAgKHdpbmRvdy1waXhlbC13aWR0aCB3aW5kb3cpCi0gICAgICAg ICAgICAgICAgICAod2luZG93LXBpeGVsLWhlaWdodCB3aW5kb3cpKSkKKyAgICAgICAgICAgICAg ICAgICh4d2lkZ2V0LXdpbmRvdy1pbnNpZGUtcGl4ZWwtd2lkdGggd2luZG93KQorICAgICAgICAg ICAgICAgICAgKHh3aWRnZXQtd2luZG93LWluc2lkZS1waXhlbC1oZWlnaHQgd2luZG93KSkpCiAK IChkZWZ1biB4d2lkZ2V0LXdlYmtpdC1hZGp1c3Qtc2l6ZSAodyBoKQogICAiTWFudWFsbHkgc2V0 IHdlYmtpdCBzaXplIHRvIHdpZHRoIFcsIGhlaWdodCBILiIKQEAgLTQ4NywxMCArNjM1LDEyIEBA IHh3aWRnZXQtd2Via2l0LW5ldy1zZXNzaW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGdldC1idWZmZXItY3JlYXRlIGJ1Zm5hbWUpKSkKICAgICA7OyBU aGUgeHdpZGdldCBpZCBpcyBzdG9yZWQgaW4gYSB0ZXh0IHByb3BlcnR5LCBzbyB3ZSBuZWVkIHRv IGhhdmUKICAgICA7OyBhdCBsZWFzdCBjaGFyYWN0ZXIgaW4gdGhpcyBidWZmZXIuCi0gICAgKGlu c2VydCAiICIpCisgICAgOzsgSW5zZXJ0IGludmlzaWJsZSB1cmwsIGdvb2QgZGVmYXVsdCBmb3Ig bmV4dCBgZycgdG8gYnJvd3NlIHVybC4KKyAgICAoaW5zZXJ0IHVybCkKKyAgICAocHV0LXRleHQt cHJvcGVydHkgMSAoKyAxIChsZW5ndGggdXJsKSkgJ2ludmlzaWJsZSB0KQogICAgIChzZXRxIHh3 ICh4d2lkZ2V0LWluc2VydCAxICd3ZWJraXQgYnVmbmFtZQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAod2luZG93LXBpeGVsLXdpZHRoKQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAod2luZG93LXBpeGVsLWhlaWdodCkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo eHdpZGdldC13aW5kb3ctaW5zaWRlLXBpeGVsLXdpZHRoIChzZWxlY3RlZC13aW5kb3cpKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoeHdpZGdldC13aW5kb3ctaW5zaWRlLXBpeGVsLWhl aWdodCAoc2VsZWN0ZWQtd2luZG93KSkpKQogICAgICh4d2lkZ2V0LXB1dCB4dyAnY2FsbGJhY2sg J3h3aWRnZXQtd2Via2l0LWNhbGxiYWNrKQogICAgICh4d2lkZ2V0LXdlYmtpdC1tb2RlKQogICAg ICh4d2lkZ2V0LXdlYmtpdC1nb3RvLXVyaSAoeHdpZGdldC13ZWJraXQtbGFzdC1zZXNzaW9uKSB1 cmwpKSkKQEAgLTUxNSwxNCArNjY1LDE4IEBAIHh3aWRnZXQtd2Via2l0LXJlbG9hZAogICAoeHdp ZGdldC13ZWJraXQtZXhlY3V0ZS1zY3JpcHQgKHh3aWRnZXQtd2Via2l0LWN1cnJlbnQtc2Vzc2lv bikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaXN0b3J5LmdvKDApOyIpKQog Cis7OyBAamF2YXNjcmlwdC1jYWxsYmFjaworKGRlZnVuIHh3aWRnZXQtd2Via2l0LWN1cnJlbnQt dXJsLWNiIChyZXN1bHQpCisgICJDYWxsYmFjayBmb3IgYHh3aWRnZXQtd2Via2l0LWN1cnJlbnQt dXJsJywgbWVzc2FnZSBhbmQga2lsbCB0aGUgUkVTVUxULiIKKyAgKGxldCAoKHVybCAoa2lsbC1u ZXcgKG9yIHJlc3VsdCAiIikpKSkKKyAgICAobWVzc2FnZSAidXJsOiAlcyIgdXJsKSkpCisKIChk ZWZ1biB4d2lkZ2V0LXdlYmtpdC1jdXJyZW50LXVybCAoKQotICAiR2V0IHRoZSB3ZWJraXQgdXJs IGFuZCBwbGFjZSBpdCBvbiB0aGUga2lsbC1yaW5nLiIKKyAgIkdldCB0aGUgd2Via2l0IHVybCBh bmQgcGxhY2UgaXQgb24gdGhlIGBraWxsLXJpbmcnLiIKICAgKGludGVyYWN0aXZlKQogICAoeHdp ZGdldC13ZWJraXQtZXhlY3V0ZS1zY3JpcHQKICAgICh4d2lkZ2V0LXdlYmtpdC1jdXJyZW50LXNl c3Npb24pCi0gICAiZG9jdW1lbnQuVVJMIiAobGFtYmRhIChydikKLSAgICAgICAgICAgICAgICAg ICAgKGxldCAoKHVybCAoa2lsbC1uZXcgKG9yIHJ2ICIiKSkpKQotICAgICAgICAgICAgICAgICAg ICAgIChtZXNzYWdlICJ1cmw6ICVzIiB1cmwpKSkpKQorICAgImRvY3VtZW50LlVSTCIgJ3h3aWRn ZXQtd2Via2l0LWN1cnJlbnQtdXJsLWNiKSkKIAogOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7OwogKGRlZnVuIHh3aWRnZXQtd2Via2l0LWdldC1zZWxlY3Rpb24gKHByb2MpCkBAIC01MzMs MTAgKzY4Nyw5IEBAIHh3aWRnZXQtd2Via2l0LWdldC1zZWxlY3Rpb24KICAgIHByb2MpKQogCiAo ZGVmdW4geHdpZGdldC13ZWJraXQtY29weS1zZWxlY3Rpb24tYXMta2lsbCAoKQotICAiR2V0IHRo ZSB3ZWJraXQgc2VsZWN0aW9uIGFuZCBwdXQgaXQgb24gdGhlIGtpbGwtcmluZy4iCisgICJHZXQg dGhlIHdlYmtpdCBzZWxlY3Rpb24gYW5kIHB1dCBpdCBvbiB0aGUgYGtpbGwtcmluZycuIgogICAo aW50ZXJhY3RpdmUpCi0gICh4d2lkZ2V0LXdlYmtpdC1nZXQtc2VsZWN0aW9uIChsYW1iZGEgKHNl bGVjdGlvbikgKGtpbGwtbmV3IHNlbGVjdGlvbikpKSkKLQorICAoeHdpZGdldC13ZWJraXQtZ2V0 LXNlbGVjdGlvbiAjJ2tpbGwtbmV3KSkKIAogOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsKIDs7IFh3aWRnZXQgcGxpc3QgbWFuYWdlbWVudCAo c2ltaWxhciB0byB0aGUgcHJvY2VzcyBwbGlzdCBmdW5jdGlvbnMpCmRpZmYgLS1naXQgYS9uZXh0 c3RlcC90ZW1wbGF0ZXMvSW5mby5wbGlzdC5pbiBiL25leHRzdGVwL3RlbXBsYXRlcy9JbmZvLnBs aXN0LmluCmluZGV4IDVkMmViN2RlZjMuLjRkMzc1Mzc0YzggMTAwNjQ0Ci0tLSBhL25leHRzdGVw L3RlbXBsYXRlcy9JbmZvLnBsaXN0LmluCisrKyBiL25leHRzdGVwL3RlbXBsYXRlcy9JbmZvLnBs aXN0LmluCkBAIC02NzUsNSArNjc1LDEzIEBAIGFsb25nIHdpdGggR05VIEVtYWNzLiAgSWYgbm90 LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KIAk8L2FycmF5PgogCTxrZXk+ TlNBcHBsZVNjcmlwdEVuYWJsZWQ8L2tleT4KIAk8c3RyaW5nPllFUzwvc3RyaW5nPgorICAgICAg ICA8IS0tIEZJWE1FOiBVbmNvbW1lbnQgZm9yIHh3aWRnZXQgd2Via2l0IHRvIGJyb3dzZSByZW1v dGUgdXJsLAorICAgICAgICAgICAgIGJ1dCB0aGlzIHNldCBubyByZXN0cmljdGlvbiBhdCBhbGwu ICBDb25zdWx0IGFwcGxlJ3MgZG9jdW1lbnRhdGlvbgorICAgICAgICAgICAgIGZvciBkZXRhaWwg aW5mb3JtYXRpb24gYWJvdXQgYE5TQXBwbGljYXRpb25EZWZpbmVkTWFzaycuIC0tPgorICAgICAg ICA8a2V5Pk5TQXBwVHJhbnNwb3J0U2VjdXJpdHk8L2tleT4KKyAgICAgICAgPGRpY3Q+CisgICAg ICAgICAgPGtleT5OU0FsbG93c0FyYml0cmFyeUxvYWRzPC9rZXk+CisgICAgICAgICAgPHRydWUv PgorICAgICAgICA8L2RpY3Q+CiA8L2RpY3Q+CiA8L3BsaXN0PgpkaWZmIC0tZ2l0IGEvc3JjL01h a2VmaWxlLmluIGIvc3JjL01ha2VmaWxlLmluCmluZGV4IDlhOGM5Yzg1ZjAuLjVjYWRiNzFjOTUg MTAwNjQ0Ci0tLSBhL3NyYy9NYWtlZmlsZS5pbgorKysgYi9zcmMvTWFrZWZpbGUuaW4KQEAgLTQw OCw2ICs0MDgsNyBAQCBTT01FX01BQ0hJTkVfT0JKRUNUUyA9CiAgIHh0ZXJtLm8geGZucy5vIHht ZW51Lm8geHNlbGVjdC5vIHhyZGIubyB4c21mbnMubyBmcmluZ2UubyBpbWFnZS5vIFwKICAgZm9u dHNldC5vIGRidXNiaW5kLm8gY3lndzMyLm8gXAogICBuc3Rlcm0ubyBuc2Zucy5vIG5zbWVudS5v IG5zc2VsZWN0Lm8gbnNpbWFnZS5vIG5zZm9udC5vIG1hY2ZvbnQubyBcCisgIG5zeHdpZGdldC5v IFwKICAgdzMyLm8gdzMyY29uc29sZS5vIHczMmZucy5vIHczMmhlYXAubyB3MzJpbmV2dC5vIHcz Mm5vdGlmeS5vIFwKICAgdzMybWVudS5vIHczMnByb2MubyB3MzJyZWcubyB3MzJzZWxlY3QubyB3 MzJ0ZXJtLm8gdzMyeGZucy5vIFwKICAgdzE2c2VsZWN0Lm8gd2lkZ2V0Lm8geGZvbnQubyBmdGZv bnQubyB4ZnRmb250Lm8gZnR4Zm9udC5vIGd0a3V0aWwubyBcCmRpZmYgLS1naXQgYS9zcmMvZW1h Y3MuYyBiL3NyYy9lbWFjcy5jCmluZGV4IDgwOGFiY2Q5YWEuLjhlNzQwMzgxZTEgMTAwNjQ0Ci0t LSBhL3NyYy9lbWFjcy5jCisrKyBiL3NyYy9lbWFjcy5jCkBAIC0xNTMyLDcgKzE1MzIsNiBAQCBV c2luZyBhbiBFbWFjcyBjb25maWd1cmVkIHdpdGggLS13aXRoLXgtdG9vbGtpdD1sdWNpZCBkb2Vz IG5vdCBoYXZlIHRoaXMgcHJvYmxlbQogICAgICAgc3ltc19vZl94Zm5zICgpOwogICAgICAgc3lt c19vZl94bWVudSAoKTsKICAgICAgIHN5bXNfb2ZfZm9udHNldCAoKTsKLSAgICAgIHN5bXNfb2Zf eHdpZGdldCAoKTsKICAgICAgIHN5bXNfb2ZfeHNldHRpbmdzICgpOwogI2lmZGVmIEhBVkVfWF9T TQogICAgICAgc3ltc19vZl94c21mbnMgKCk7CkBAIC0xNjA1LDYgKzE2MDQsMTAgQEAgVXNpbmcg YW4gRW1hY3MgY29uZmlndXJlZCB3aXRoIC0td2l0aC14LXRvb2xraXQ9bHVjaWQgZG9lcyBub3Qg aGF2ZSB0aGlzIHByb2JsZW0KICNlbmRpZiAvKiBIQVZFX1czMk5PVElGWSAqLwogI2VuZGlmIC8q IFdJTkRPV1NOVCAqLwogCisjaWZkZWYgSEFWRV9YV0lER0VUUworICAgICAgc3ltc19vZl94d2lk Z2V0ICgpOworI2VuZGlmIC8qIEhBVkVfWFdJREdFVFMgKi8KKwogICAgICAgc3ltc19vZl90aHJl YWRzICgpOwogICAgICAgc3ltc19vZl9wcm9maWxlciAoKTsKIApkaWZmIC0tZ2l0IGEvc3JjL25z dGVybS5tIGIvc3JjL25zdGVybS5tCmluZGV4IDUwZTA2Yzk0ZDQuLjVlYjRmMGMwMTcgMTAwNjQ0 Ci0tLSBhL3NyYy9uc3Rlcm0ubQorKysgYi9zcmMvbnN0ZXJtLm0KQEAgLTQ4LDYgKzQ4LDcgQEAg VXBkYXRlZCBieSBDaHJpc3RpYW4gTGltcGFjaCAoY2hyaXNAbmljZS5jaCkKICNpbmNsdWRlICJu c3Rlcm0uaCIKICNpbmNsdWRlICJzeXN0aW1lLmgiCiAjaW5jbHVkZSAiY2hhcmFjdGVyLmgiCisj aW5jbHVkZSAieHdpZGdldC5oIgogI2luY2x1ZGUgImZvbnRzZXQuaCIKICNpbmNsdWRlICJjb21w b3NpdGUuaCIKICNpbmNsdWRlICJjY2wuaCIKQEAgLTI0MjksNyArMjQzMCw3IEBAIHNvIHNvbWUg a2V5IHByZXNzZXMgKFRBQikgYXJlIHN3YWxsb3dlZCBieSB0aGUgc3lzdGVtLiAqLwogfQogCiBz dGF0aWMgaW50Ci1ub3RlX21vdXNlX21vdmVtZW50IChzdHJ1Y3QgZnJhbWUgKmZyYW1lLCBDR0Zs b2F0IHgsIENHRmxvYXQgeSkKK25vdGVfbW91c2VfbW92ZW1lbnQgKHN0cnVjdCBmcmFtZSAqZnJh bWUsIENHRmxvYXQgeCwgQ0dGbG9hdCB5LCBCT09MIGRyYWdnaW5nKQogLyogICAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KICAgICAgQ2FsbGVkIGJ5IEVtYWNzVmlldyBvbiBtb3VzZU1vdmVtZW50IGV2ZW50cy4g IFBhc3NlcyBvbgogICAgICB0byBlbWFjcyBtYWluc3RyZWFtIGNvZGUgaWYgd2UgbW92ZWQgb2Zm IG9mIGEgcmVjdCBvZiBpbnRlcmVzdApAQCAtMjQzOCwxNyArMjQzOSwyNCBAQCBzbyBzb21lIGtl eSBwcmVzc2VzIChUQUIpIGFyZSBzd2FsbG93ZWQgYnkgdGhlIHN5c3RlbS4gKi8KIHsKICAgc3Ry dWN0IG5zX2Rpc3BsYXlfaW5mbyAqZHB5aW5mbyA9IEZSQU1FX0RJU1BMQVlfSU5GTyAoZnJhbWUp OwogICBOU1JlY3QgKnI7CisgIEJPT0wgZm9yY2VfdXBkYXRlID0gTk87CiAKIC8vICBOU1RSQUNF ICgibm90ZV9tb3VzZV9tb3ZlbWVudCIpOwogCiAgIGRweWluZm8tPmxhc3RfbW91c2VfbW90aW9u X2ZyYW1lID0gZnJhbWU7CiAgIHIgPSAmZHB5aW5mby0+bGFzdF9tb3VzZV9nbHlwaDsKIAorICAv KiBJZiB0aGUgbGFzdCByZWN0IGlzIHRvbyBsYXJnZSAoZXgsIHh3aWRnZXQgd2Via2l0KSwgdXBk YXRlIGF0CisgICAgIGV2ZXJ5IG1vdmUsIG9yIHJlc2l6aW5nIGJ5IGRyYWdnaW5nIG1vZGVsaW5l IG9yIHZlcnRpY2FsIHNwbGl0IGlzCisgICAgIHZlcnkgaGFyZCB0byBtYWtlIGl0cyB3YXkuICov CisgIGlmIChkcmFnZ2luZyAmJiAoci0+c2l6ZS53aWR0aCA+IDMyIHx8IHItPnNpemUuaGVpZ2h0 ID4gMzIpKQorICAgIGZvcmNlX3VwZGF0ZSA9IFlFUzsKKwogICAvKiBOb3RlLCB0aGlzIGRvZXNu J3QgZ2V0IGNhbGxlZCBmb3IgZW50ZXIvbGVhdmUsIHNpbmNlIHdlIGRvbid0IGhhdmUgYQogICAg ICBwb3NpdGlvbi4gIFRob3NlIGFyZSB0YWtlbiBjYXJlIG9mIGluIHRoZSBjb3JyZXNwb25kaW5n IE5TVmlldyBtZXRob2RzLiAqLwogCiAgIC8qIGhhcyBtb3ZlbWVudCBnb25lIGJleW9uZCBsYXN0 IHJlY3Qgd2Ugd2VyZSB0cmFja2luZz8gKi8KLSAgaWYgKHggPCByLT5vcmlnaW4ueCB8fCB4ID49 IHItPm9yaWdpbi54ICsgci0+c2l6ZS53aWR0aAorICBpZiAoZm9yY2VfdXBkYXRlIHx8IHggPCBy LT5vcmlnaW4ueCB8fCB4ID49IHItPm9yaWdpbi54ICsgci0+c2l6ZS53aWR0aAogICAgICAgfHwg eSA8IHItPm9yaWdpbi55IHx8IHkgPj0gci0+b3JpZ2luLnkgKyByLT5zaXplLmhlaWdodCkKICAg ICB7CiAgICAgICBuc191cGRhdGVfYmVnaW4gKGZyYW1lKTsKQEAgLTQwNjYsNiArNDA3NCwxMCBA QCBvdmVyd3JpdGluZyBjdXJzb3IgKHVzdWFsbHkgd2hlbiBjdXJzb3Igb24gYSB0YWIpICovCiAg ICAgICBuc191bmZvY3VzIChzLT5mKTsKICAgICAgIGJyZWFrOwogCisgICAgY2FzZSBYV0lER0VU X0dMWVBIOgorICAgICAgeF9kcmF3X3h3aWRnZXRfZ2x5cGhfc3RyaW5nIChzKTsKKyAgICAgIGJy ZWFrOworCiAgICAgY2FzZSBTVFJFVENIX0dMWVBIOgogICAgICAgbnNfZHVtcGdseXBoc19zdHJl dGNoIChzKTsKICAgICAgIGJyZWFrOwpAQCAtNjcyNCw2ICs2NzM2LDcgQEAgLSAodm9pZCltb3Vz ZU1vdmVkOiAoTlNFdmVudCAqKWUKICAgc3RydWN0IG5zX2Rpc3BsYXlfaW5mbyAqZHB5aW5mbyA9 IEZSQU1FX0RJU1BMQVlfSU5GTyAoZW1hY3NmcmFtZSk7CiAgIExpc3BfT2JqZWN0IGZyYW1lOwog ICBOU1BvaW50IHB0OworICBCT09MIGRyYWdnaW5nOwogCiAgIE5TVFJBQ0VfV0hFTiAoTlNUUkFD RV9HUk9VUF9FVkVOVFMsICJbRW1hY3NWaWV3IG1vdXNlTW92ZWQ6XSIpOwogCkBAIC02NzY2LDcg KzY3NzksOCBAQCAtICh2b2lkKW1vdXNlTW92ZWQ6IChOU0V2ZW50ICopZQogICAgICAgbGFzdF9t b3VzZV93aW5kb3cgPSB3aW5kb3c7CiAgICAgfQogCi0gIGlmICghbm90ZV9tb3VzZV9tb3ZlbWVu dCAoZW1hY3NmcmFtZSwgcHQueCwgcHQueSkpCisgIGRyYWdnaW5nID0gKGUudHlwZSA9PSBOU0V2 ZW50VHlwZUxlZnRNb3VzZURyYWdnZWQpOworICBpZiAoIW5vdGVfbW91c2VfbW92ZW1lbnQgKGVt YWNzZnJhbWUsIHB0LngsIHB0LnksIGRyYWdnaW5nKSkKICAgICBoZWxwX2VjaG9fc3RyaW5nID0g cHJldmlvdXNfaGVscF9lY2hvX3N0cmluZzsKIAogICBYU0VURlJBTUUgKGZyYW1lLCBlbWFjc2Zy YW1lKTsKZGlmZiAtLWdpdCBhL3NyYy9uc3h3aWRnZXQuaCBiL3NyYy9uc3h3aWRnZXQuaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi4zMzlkZjI4NGM5Ci0tLSAvZGV2L251 bGwKKysrIGIvc3JjL25zeHdpZGdldC5oCkBAIC0wLDAgKzEsNzcgQEAKKy8qIEhlYWRlciBmb3Ig TlMgQ29jb2EgcGFydCBvZiB4d2lkZ2V0IGFuZCB3ZWJraXQgd2lkZ2V0LgorCitDb3B5cmlnaHQg KEMpIDIwMTEtMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKworVGhpcyBmaWxl IGlzIHBhcnQgb2YgR05VIEVtYWNzLgorCitHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQoraXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKK3RoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9y IChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCitHTlUgRW1hY3MgaXMgZGlz dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKK2J1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCitNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl CitHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCitZb3Ugc2hv dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZQorYWxvbmcgd2l0aCBHTlUgRW1hY3MuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3Jn L2xpY2Vuc2VzLz4uICAqLworCisjaWZuZGVmIE5TWFdJREdFVF9IX0lOQ0xVREVECisjZGVmaW5l IE5TWFdJREdFVF9IX0lOQ0xVREVECisKKy8qIFRoaXMgZmlsZSBjYW4gYmUgaW5jbHVkZWQgZnJv bSBub24tb2JqYyBmaWxlcyB0aHJvdWdoIGB4d2lkZ2V0LmgnICovCisjaWZkZWYgX19PQkpDX18K KyNpbXBvcnQgPEFwcEtpdC9OU1ZpZXcuaD4KKyNlbmRpZgorCisjaW5jbHVkZSAiZGlzcGV4dGVy bi5oIgorI2luY2x1ZGUgImxpc3AuaCIKKyNpbmNsdWRlICJ4d2lkZ2V0LmgiCisKKy8qIHdlYmtp dCAqLworCitib29sIG5zeHdpZGdldF9pc193ZWJfdmlldyAoc3RydWN0IHh3aWRnZXQgKnh3KTsK K3ZvaWQgbnN4d2lkZ2V0X3dlYmtpdF9nb3RvX3VyaSAoc3RydWN0IHh3aWRnZXQgKnh3LCBjb25z dCBjaGFyICp1cmkpOwordm9pZCBuc3h3aWRnZXRfd2Via2l0X3pvb20gKHN0cnVjdCB4d2lkZ2V0 ICp4dywgZG91YmxlIHpvb21fY2hhbmdlKTsKK3ZvaWQgbnN4d2lkZ2V0X3dlYmtpdF9leGVjdXRl X3NjcmlwdCAoc3RydWN0IHh3aWRnZXQgKnh3LCBjb25zdCBjaGFyICpzY3JpcHQsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3BfT2JqZWN0IGZ1bik7CisKKy8qIHh3 OiBtb2RlbCAqLworCisjaWZkZWYgX19PQkpDX18KK0BpbnRlcmZhY2UgWHdXaW5kb3cgOiBOU1Zp ZXcKK0Bwcm9wZXJ0eSBzdHJ1Y3QgeHdpZGdldCAqeHc7CitAZW5kCisjZW5kaWYKKwordm9pZCBu c3h3aWRnZXRfaW5pdCAoc3RydWN0IHh3aWRnZXQgKnh3KTsKK3ZvaWQgbnN4d2lkZ2V0X2tpbGwg KHN0cnVjdCB4d2lkZ2V0ICp4dyk7Cit2b2lkIG5zeHdpZGdldF9yZXNpemUgKHN0cnVjdCB4d2lk Z2V0ICp4dyk7CitMaXNwX09iamVjdCBuc3h3aWRnZXRfZ2V0X3NpemUgKHN0cnVjdCB4d2lkZ2V0 ICp4dyk7CisKKy8qIHh2OiB2aWV3ICovCisKKyNpZmRlZiBfX09CSkNfXworQGludGVyZmFjZSBY dldpbmRvdyA6IE5TVmlldworQHByb3BlcnR5IHN0cnVjdCB4d2lkZ2V0ICp4dzsKK0Bwcm9wZXJ0 eSBzdHJ1Y3QgeHdpZGdldF92aWV3ICp4djsKK0BlbmQKKyNlbmRpZgorCit2b2lkIG5zeHdpZGdl dF9pbml0X3ZpZXcgKHN0cnVjdCB4d2lkZ2V0X3ZpZXcgKnh2LAorICAgICAgICAgICAgICAgICAg ICAgICAgICBzdHJ1Y3QgeHdpZGdldCAqeHd3LAorICAgICAgICAgICAgICAgICAgICAgICAgICBz dHJ1Y3QgZ2x5cGhfc3RyaW5nICpzLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeCwg aW50IHkpOwordm9pZCBuc3h3aWRnZXRfZGVsZXRlX3ZpZXcgKHN0cnVjdCB4d2lkZ2V0X3ZpZXcg Knh2KTsKKwordm9pZCBuc3h3aWRnZXRfc2hvd192aWV3IChzdHJ1Y3QgeHdpZGdldF92aWV3ICp4 dik7Cit2b2lkIG5zeHdpZGdldF9oaWRlX3ZpZXcgKHN0cnVjdCB4d2lkZ2V0X3ZpZXcgKnh2KTsK K3ZvaWQgbnN4d2lkZ2V0X3Jlc2l6ZV92aWV3IChzdHJ1Y3QgeHdpZGdldF92aWV3ICp4diwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkZ2V0LCBpbnQgaGVpZ2h0KTsKKwordm9p ZCBuc3h3aWRnZXRfbW92ZV92aWV3IChzdHJ1Y3QgeHdpZGdldF92aWV3ICp4diwgaW50IHgsIGlu dCB5KTsKK3ZvaWQgbnN4d2lkZ2V0X21vdmVfd2lkZ2V0X2luX3ZpZXcgKHN0cnVjdCB4d2lkZ2V0 X3ZpZXcgKnh2LCBpbnQgeCwgaW50IHkpOwordm9pZCBuc3h3aWRnZXRfc2V0X25lZWRzZGlzcGxh eSAoc3RydWN0IHh3aWRnZXRfdmlldyAqeHYpOworCisjZW5kaWYgLyogTlNYV0lER0VUX0hfSU5D TFVERUQgKi8KZGlmZiAtLWdpdCBhL3NyYy9uc3h3aWRnZXQubSBiL3NyYy9uc3h3aWRnZXQubQpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi44NmRlZmRiNmMxCi0tLSAvZGV2 L251bGwKKysrIGIvc3JjL25zeHdpZGdldC5tCkBAIC0wLDAgKzEsNTEwIEBACisvKiBOUyBDb2Nv YSBwYXJ0IGltcGxlbWVudGF0aW9uIG9mIHh3aWRnZXQgYW5kIHdlYmtpdCB3aWRnZXQuCisKK0Nv cHlyaWdodCAoQykgMTk4OSwgMTk5Mi0xOTk0LCAyMDA1LTIwMDYsIDIwMDgtMjAxNyBGcmVlIFNv ZnR3YXJlCitGb3VuZGF0aW9uLCBJbmMuCisKK1RoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFj cy4KKworR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vciBtb2RpZnkKK2l0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBh bnkgbGF0ZXIgdmVyc2lvbi4KKworR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCitidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg Y29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKK2Fsb25nIHdpdGggR05VIEVt YWNzLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KKwor I2luY2x1ZGUgPGNvbmZpZy5oPgorCisjaW5jbHVkZSAibGlzcC5oIgorI2luY2x1ZGUgImJsb2Nr aW5wdXQuaCIKKyNpbmNsdWRlICJkaXNwZXh0ZXJuLmgiCisjaW5jbHVkZSAiYnVmZmVyLmgiCisj aW5jbHVkZSAiZnJhbWUuaCIKKyNpbmNsdWRlICJuc3Rlcm0uaCIKKyNpbmNsdWRlICJ4d2lkZ2V0 LmgiCisKKy8qIGluIHh3aWRnZXQuYyAqLwordm9pZCBzdG9yZV94d2lkZ2V0X2V2ZW50X3N0cmlu ZyAoc3RydWN0IHh3aWRnZXQgKnh3LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3QgY2hhciAqZXZlbnRuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3QgY2hhciAqZXZlbnRzdHIpOworCit2b2lkIHN0b3JlX3h3aWRnZXRfanNfY2FsbGJhY2tf ZXZlbnQgKHN0cnVjdCB4d2lkZ2V0ICp4dywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTGlzcF9PYmplY3QgcHJvYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTGlzcF9PYmplY3QgYXJndW1lbnQpOworCisjaW1wb3J0IDxBcHBLaXQvQXBwS2l0 Lmg+CisjaW1wb3J0IDxXZWJLaXQvV2ViS2l0Lmg+CisKKy8qIFRob3VnaHRzIG9uIE5TIENvY29h IHh3aWRnZXQgYW5kIHdlYmtpdDI6CisKKyAgIFdlYmtpdDIgcHJvY2VzcyBhcmNoaXRlY3R1cmUg c2VlbXMgdG8gYmUgdmVyeSBob3N0aWxlIGZvciBvZmZzY3JlZW4KKyAgIHJlbmRlcmluZyB0ZWNo bmlxdWVzLCB3aGljaCBpcyB1c2VkIGJ5IEdUSyB4d2lnZXQgaW1wbGVtZW50YXRpb247CisgICBT cGVjaWZpY2FsbHkgTlNWaWV3IGxldmVsIHZpZXcgc2hhcmluZyAvIGNvcHlpbmcgaXMgbm90IHdv cmtpbmcuCisKKyAgICoqKiBTbyBvbmx5IG9uZSB2aWV3IGNhbiBiZSBhc3NvY2ljYXRlZCB3aXRo IGEgbW9kZWwuICoqKgorCisgICBXaXRoIHRoaXMgZGVjaXNpb24sIGltcGxlbWVudGF0aW9uIGlz IHBsYWluIGFuZCBjYW4gZXhwZWN0IGJlc3Qgb3V0CisgICBvZiB3ZWJraXQyJ3MgcmF0aW9uYWxl LiAgQnV0IHByb2Nlc3MgYW5kIHNlc3Npb24gc3RydWN0dXJlcyB3aWxsCisgICBkaXZlcmdlIGZy b20gR1RLIHh3aWdldC4gIFRob3VnaCwgY29zbWV0aWNhbGx5IHNpbWlsYXIgdXNhZ2VzIGNhbgor ICAgYmUgcHJlc2VudGVkIGFuZCB3aWxsIGJlIHByZWZlcnJlZCwgaWYgYWdyZWVhYmxlLgorCisg ICBGb3Igb3RoZXIgd2lkZ2V0IHR5cGVzLCBPU1Igc2VlbXMgcG9zc2libGUsIGJ1dCB3aWxsIG5v dCBjYXJlIGZvciBhCisgICB3aGlsZS4KKyovCisKKy8qIHh3aWRnZXQgd2Via2l0ICovCisKK0Bp bnRlcmZhY2UgWHdXZWJWaWV3IDogV0tXZWJWaWV3Cis8V0tOYXZpZ2F0aW9uRGVsZWdhdGUsIFdL VUlEZWxlZ2F0ZSwgV0tTY3JpcHRNZXNzYWdlSGFuZGxlcj4KK0Bwcm9wZXJ0eSBzdHJ1Y3QgeHdp ZGdldCAqeHc7CitAZW5kCitAaW1wbGVtZW50YXRpb24gWHdXZWJWaWV3IDogV0tXZWJWaWV3CisK Ky0gKGlkKWluaXRXaXRoRnJhbWU6KENHUmVjdClmcmFtZQorICAgICAgY29uZmlndXJhdGlvbjoo V0tXZWJWaWV3Q29uZmlndXJhdGlvbiAqKWNvbmZpZ3VyYXRpb24KKyAgICAgICAgICAgIHh3aWRn ZXQ6KHN0cnVjdCB4d2lkZ2V0ICopeHcKK3sKKyAgLyogU2NyaXB0IGNvbnRyb2xsZXIgdG8gYWRk IHNjcmlwdCBtZXNzYWdlIGhhbmRsZXIgYW5kIHVzZXIgc2NyaXB0ICovCisgIFdLVXNlckNvbnRl bnRDb250cm9sbGVyICpzY3JpcHRvciA9IFtbV0tVc2VyQ29udGVudENvbnRyb2xsZXIgYWxsb2Nd IGluaXRdOworICBjb25maWd1cmF0aW9uLnVzZXJDb250ZW50Q29udHJvbGxlciA9IHNjcmlwdG9y OworCisgIHNlbGYgPSBbc3VwZXIgaW5pdFdpdGhGcmFtZTpmcmFtZSBjb25maWd1cmF0aW9uOmNv bmZpZ3VyYXRpb25dOworICBpZiAoc2VsZikKKyAgICB7CisgICAgICBzZWxmLnh3ID0geHc7Cisg ICAgICBzZWxmLm5hdmlnYXRpb25EZWxlZ2F0ZSA9IHNlbGY7CisgICAgICBzZWxmLlVJRGVsZWdh dGUgPSBzZWxmOworICAgICAgc2VsZi5jdXN0b21Vc2VyQWdlbnQgPQorICAgICAgICBAIk1vemls bGEvNS4wIChNYWNpbnRvc2g7IEludGVsIE1hYyBPUyBYIDEwXzEyXzYpIgorICAgICAgICBAIiBB cHBsZVdlYktpdC82MDMuMy44IChLSFRNTCwgbGlrZSBHZWNrbykiCisgICAgICAgIEAiIFZlcnNp b24vMTEuMC4xIFNhZmFyaS82MDMuMy44IjsKKyAgICAgIFtzY3JpcHRvciBhZGRTY3JpcHRNZXNz YWdlSGFuZGxlcjpzZWxmIG5hbWU6QCJrZXlEb3duIl07CisgICAgICBbc2NyaXB0b3IgYWRkVXNl clNjcmlwdDpbW1dLVXNlclNjcmlwdCBhbGxvY10KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaW5pdFdpdGhTb3VyY2U6eHdTY3JpcHQKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGluamVjdGlvblRpbWU6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg V0tVc2VyU2NyaXB0SW5qZWN0aW9uVGltZUF0RG9jdW1lbnRFbmQKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZm9yTWFpbkZyYW1lT25seTpOT11dOworICAgIH0KKyAgcmV0dXJuIHNl bGY7Cit9CisKKyNpZiAwCisvKiBOb24gQVJDIC0ganVzdCB0byBjaGVjayBsaWZlY3ljbGUgKi8K Ky0gKHZvaWQpZGVhbGxvYworeworICBOU0xvZyAoQCJYd1dlYlZpZXcgZGVhbGxvYyIpOworICBb c3VwZXIgZGVhbGxvY107Cit9CisjZW5kaWYKKworLSAodm9pZCl3ZWJWaWV3OihXS1dlYlZpZXcg Kil3ZWJWaWV3CitkaWRGaW5pc2hOYXZpZ2F0aW9uOihXS05hdmlnYXRpb24gKiluYXZpZ2F0aW9u Cit7CisgIHN0b3JlX3h3aWRnZXRfZXZlbnRfc3RyaW5nIChzZWxmLnh3LCAibG9hZC1jaGFuZ2Vk IiwgIiIpOworfQorCistICh2b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcKK2RlY2lk ZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb246KFdLTmF2aWdhdGlvbkFjdGlvbiAqKW5hdmlnYXRp b25BY3Rpb24KK2RlY2lzaW9uSGFuZGxlcjoodm9pZCAoXikoV0tOYXZpZ2F0aW9uQWN0aW9uUG9s aWN5KSlkZWNpc2lvbkhhbmRsZXIKK3sKKyAgc3dpdGNoIChuYXZpZ2F0aW9uQWN0aW9uLm5hdmln YXRpb25UeXBlKSB7CisgIGNhc2UgV0tOYXZpZ2F0aW9uVHlwZUxpbmtBY3RpdmF0ZWQ6CisgICAg ZGVjaXNpb25IYW5kbGVyIChXS05hdmlnYXRpb25BY3Rpb25Qb2xpY3lBbGxvdyk7CisgICAgYnJl YWs7CisgIGRlZmF1bHQ6CisgICAgLy8gZGVjaXNpb25IYW5kbGVyIChXS05hdmlnYXRpb25BY3Rp b25Qb2xpY3lDYW5jZWwpOworICAgIGRlY2lzaW9uSGFuZGxlciAoV0tOYXZpZ2F0aW9uQWN0aW9u UG9saWN5QWxsb3cpOworICAgIGJyZWFrOworICB9Cit9CisKKy0gKHZvaWQpd2ViVmlldzooV0tX ZWJWaWV3ICopd2ViVmlldworZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvblJlc3BvbnNlOihXS05h dmlnYXRpb25SZXNwb25zZSAqKW5hdmlnYXRpb25SZXNwb25zZQorZGVjaXNpb25IYW5kbGVyOih2 b2lkICheKShXS05hdmlnYXRpb25SZXNwb25zZVBvbGljeSkpZGVjaXNpb25IYW5kbGVyCit7Cisg IGlmICghbmF2aWdhdGlvblJlc3BvbnNlLmNhblNob3dNSU1FVHlwZSkKKyAgICB7CisgICAgICAv KiBUT0RPOiBkb3dubG9hZCB1c2luZyBOU1VSTHh4eD8gKi8KKyAgICB9CisgIGRlY2lzaW9uSGFu ZGxlciAoV0tOYXZpZ2F0aW9uUmVzcG9uc2VQb2xpY3lBbGxvdyk7Cit9CisKKy8qIE5vIGFkZGl0 aW9uYWwgbmV3IHdlYnZpZXcgb3IgZW1hY3Mgd2luZG93IHdpbGwgYmUgY3JlYXRlZAorICAgZm9y IDxhIC4uLiB0YXJnZXQ9Il9ibGFuayI+ICovCistIChXS1dlYlZpZXcgKil3ZWJWaWV3OihXS1dl YlZpZXcgKil3ZWJWaWV3CitjcmVhdGVXZWJWaWV3V2l0aENvbmZpZ3VyYXRpb246KFdLV2ViVmll d0NvbmZpZ3VyYXRpb24gKiljb25maWd1cmF0aW9uCisgICBmb3JOYXZpZ2F0aW9uQWN0aW9uOihX S05hdmlnYXRpb25BY3Rpb24gKiluYXZpZ2F0aW9uQWN0aW9uCisgICAgICAgIHdpbmRvd0ZlYXR1 cmVzOihXS1dpbmRvd0ZlYXR1cmVzICopd2luZG93RmVhdHVyZXMKK3sKKyAgaWYgKCFuYXZpZ2F0 aW9uQWN0aW9uLnRhcmdldEZyYW1lLmlzTWFpbkZyYW1lKQorICAgIFt3ZWJWaWV3IGxvYWRSZXF1 ZXN0Om5hdmlnYXRpb25BY3Rpb24ucmVxdWVzdF07CisgIHJldHVybiBuaWw7Cit9CisKKy8qIEJ5 IGZvcndhcmRpbmcgbW91c2UgZXZlbnRzIHRvIGVtYWNzIHZpZXcgKGZyYW1lKQorICAgLSBtb3Vz ZSBjbGljayBpbiB3ZWJ2aWV3IHNlbGVjdHMgdGhlIHdpbmRvdyBjb250YWlucyB0aGUgd2Vidmll dworICAgLSBjb3JyZWN0IG1vdXNlIGhhbmQvYXJyb3cvSS1iZWFtIGlzIGRpc3BsYXkgKFRPRE86 IG5vdCBwZXJmZWN0IHlldCkKKyovCisKKy0gKHZvaWQpbW91c2VEb3duOihOU0V2ZW50ICopZXZl bnQKK3sKKyAgW3NlbGYueHctPnh2LT5lbWFjc3dpbmRvdyBtb3VzZURvd246ZXZlbnRdOworICBb c3VwZXIgbW91c2VEb3duOmV2ZW50XTsKK30KKworLSAodm9pZCltb3VzZVVwOihOU0V2ZW50ICop ZXZlbnQKK3sKKyAgW3NlbGYueHctPnh2LT5lbWFjc3dpbmRvdyBtb3VzZVVwOmV2ZW50XTsKKyAg W3N1cGVyIG1vdXNlVXA6ZXZlbnRdOworfQorCisvKiBCYXNpY2FsbHkgd2Ugd2FudCBrZXlib2Fy ZCBldmVudHMgaGFuZGxlZCBieSBlbWFjcyB1bmxlc3MgYW4gaW5wdXQKKyAgIGVsZW1lbnQgaGFz IGZvY3VzLiAgRXNwZWNpYWxseSwgd2hpbGUgaW5jcmVtZW50YWwgc2VhcmNoLCB3ZSBzZXQKKyAg IGVtYWNzIGFzIGZpcnN0IHJlc3BvbmRlciB0byBhdm9pZCBmb2N1cyBoZWxkIGluIGFuIGlucHV0 IGVsZW1lbnQKKyAgIHdpdGggbWF0Y2hpbmcgdGV4dC4gKi8KKworLSAodm9pZClrZXlEb3duOihO U0V2ZW50ICopZXZlbnQKK3sKKyAgTGlzcF9PYmplY3QgdmFyID0gRmludGVybiAoYnVpbGRfc3Ry aW5nICgiaXNlYXJjaC1tb2RlIiksIFFuaWwpOworICBMaXNwX09iamVjdCB2YWwgPSBidWZmZXJf bG9jYWxfdmFsdWUgKHZhciwgRmN1cnJlbnRfYnVmZmVyICgpKTsKKyAgaWYgKCFFUSAodmFsLCBR dW5ib3VuZCkgJiYgIUVRICh2YWwsIFFuaWwpKQorICAgIHsKKyAgICAgIFtzZWxmLndpbmRvdyBt YWtlRmlyc3RSZXNwb25kZXI6c2VsZi54dy0+eHYtPmVtYWNzd2luZG93XTsKKyAgICAgIFtzZWxm Lnh3LT54di0+ZW1hY3N3aW5kb3cga2V5RG93bjpldmVudF07CisgICAgICByZXR1cm47CisgICAg fQorCisgIFtzZWxmIGV2YWx1YXRlSmF2YVNjcmlwdDpAInh3SGFzRm9jdXMoKSIKKyAgICAgICAg IGNvbXBsZXRpb25IYW5kbGVyOl4oaWQgcmVzdWx0LCBOU0Vycm9yICplcnJvcikgeworICAgICAg aWYgKGVycm9yKQorICAgICAgICBOU0xvZyAoQCJ4d0hhc0ZvY3VzOiAlQCIsIGVycm9yLmxvY2Fs aXplZERlc2NyaXB0aW9uKTsKKyAgICAgIGVsc2UgaWYgKHJlc3VsdCkKKyAgICAgICAgeworICAg ICAgICAgIE5TTnVtYmVyICpoYXNGb2N1cyA9IHJlc3VsdDsgLyogX19OU0NGQm9vbGVhbiAqLwor ICAgICAgICAgIGlmICghaGFzRm9jdXMuYm9vbFZhbHVlKQorICAgICAgICAgICAgW3NlbGYueHct Pnh2LT5lbWFjc3dpbmRvdyBrZXlEb3duOmV2ZW50XTsKKyAgICAgICAgICBlbHNlCisgICAgICAg ICAgICBbc3VwZXIga2V5RG93bjpldmVudF07CisgICAgICAgIH0KKyAgICB9XTsKK30KKworLSAo dm9pZClpbnRlcnByZXRLZXlFdmVudHM6KE5TQXJyYXk8TlNFdmVudCAqPiAqKWV2ZW50QXJyYXkK K3sKKyAgLyogV2Ugc2hvdWxkIGRvIG5vdGhpbmcgYW5kIGRvIG5vdCBmb3J3YXJkIChkZWZhdWx0 IGltcGxlbWVudGF0aW9uCisgICAgIGlmIHdlIG5vdCBvdmVycmlkZSBoZXJlKSB0byBsZXQgZW1h Y3MgY29sbGVjdCBrZXkgZXZlbnRzIGFuZCBhc2sKKyAgICAgaW50ZXJwcmV0S2V5RXZlbnRzIHRv IGl0cyBzdXBlcmNsYXNzICovCit9CisKK3N0YXRpYyBOU1N0cmluZyAqeHdTY3JpcHQ7CisrICh2 b2lkKWluaXRpYWxpemUKK3sKKyAgLyogRmluZCBvdXQgaWYgYW4gaW5wdXQgZWxlbWVudCBoYXMg Zm9jdXMuCisgICAgIE1lc3NhZ2UgdG8gc2NyaXB0IG1lc3NhZ2UgaGFuZGxlciB3aGVuICdDLWcn IGtleSBkb3duLiAqLworICBpZiAoIXh3U2NyaXB0KQorICAgIHh3U2NyaXB0ID0KKyAgICAgIEAi ZnVuY3Rpb24geHdIYXNGb2N1cygpIHsiCisgICAgICBAIiAgdmFyIGFlID0gZG9jdW1lbnQuYWN0 aXZlRWxlbWVudDsiCisgICAgICBAIiAgaWYgKGFlKSB7IgorICAgICAgQCIgICAgdmFyIG5hbWUg PSBhZS5ub2RlTmFtZTsiCisgICAgICBAIiAgICByZXR1cm4gbmFtZSA9PSAnSU5QVVQnIHx8IG5h bWUgPT0gJ1RFWFRBUkVBJzsiCisgICAgICBAIiAgfSBlbHNlIHsiCisgICAgICBAIiAgICByZXR1 cm4gZmFsc2U7IgorICAgICAgQCIgIH0iCisgICAgICBAIn0iCisgICAgICBAImZ1bmN0aW9uIHh3 S2V5RG93bihldmVudCkgeyIKKyAgICAgIEAiICBpZiAoZXZlbnQuY3RybEtleSAmJiBldmVudC5r ZXkgPT0gJ2cnKSB7IgorICAgICAgQCIgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMu a2V5RG93bi5wb3N0TWVzc2FnZSgnQy1nJyk7IgorICAgICAgQCIgIH0iCisgICAgICBAIn0iCisg ICAgICBAImRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB4d0tleURvd24pOyIK KyAgICAgIDsKK30KKworLyogQ29uZmlybWluZyB0byBXS1NjcmlwdE1lc3NhZ2VIYW5kbGVyLCBs aXN0ZW5zIGNvbmNlcm5pbmcga2V5RG93biBpbgorICAgd2Via2l0LiBDdXJyZW50bHkgJ0MtZycu ICovCistICh2b2lkKXVzZXJDb250ZW50Q29udHJvbGxlcjooV0tVc2VyQ29udGVudENvbnRyb2xs ZXIgKil1c2VyQ29udGVudENvbnRyb2xsZXIKKyAgICAgIGRpZFJlY2VpdmVTY3JpcHRNZXNzYWdl OihXS1NjcmlwdE1lc3NhZ2UgKiltZXNzYWdlCit7CisgIGlmIChbbWVzc2FnZS5ib2R5IGlzRXF1 YWxUb1N0cmluZzpAIkMtZyJdKSAvKiBOU1RhZ2dlZFBvaW50ZXJTdHJpbmcgKi8KKyAgICB7Cisg ICAgICAvKiBKdXN0IGdpdmUgdXAgZm9jdXMsIG5vIHJlbGF5ICJDLWciIHRvIGVtYWNzLCBhbm90 aGVyICJDLWciCisgICAgICAgICBmb2xsb3dzIHdpbGwgYmUgaGFuZGxlZCBieSBlbWFjcy4gKi8K KyAgICAgIFtzZWxmLndpbmRvdyBtYWtlRmlyc3RSZXNwb25kZXI6c2VsZi54dy0+eHYtPmVtYWNz d2luZG93XTsKKyAgICB9Cit9CisKK0BlbmQKKworLyogd2Via2l0IGNvbW1hbmQgKi8KKworYm9v bAorbnN4d2lkZ2V0X2lzX3dlYl92aWV3IChzdHJ1Y3QgeHdpZGdldCAqeHcpCit7CisgIHJldHVy biB4dy0+eHdXaWRnZXQgIT0gTlVMTCAmJgorICAgIFt4dy0+eHdXaWRnZXQgaXNLaW5kT2ZDbGFz czpXS1dlYlZpZXcuY2xhc3NdOworfQorCisvKiBATm90ZSBBVFMgLSBhcHBsaWNhdGlvbiB0cmFu c3BvcnQgc2VjdXJpdHkgaW4gJ0luZm8ucGxpc3QnIG9yCisgICByZW1vdGUgcGFnZXMgd2lsbCBu b3QgbG9hZGVkICovCit2b2lkCituc3h3aWRnZXRfd2Via2l0X2dvdG9fdXJpIChzdHJ1Y3QgeHdp ZGdldCAqeHcsIGNvbnN0IGNoYXIgKnVyaSkKK3sKKyAgWHdXZWJWaWV3ICp4d1dlYlZpZXcgPSAo WHdXZWJWaWV3ICopIHh3LT54d1dpZGdldDsKKyAgTlNTdHJpbmcgKnVybFN0cmluZyA9IFtOU1N0 cmluZyBzdHJpbmdXaXRoVVRGOFN0cmluZzp1cmldOworICBOU1VSTCAqdXJsID0gW05TVVJMIFVS TFdpdGhTdHJpbmc6dXJsU3RyaW5nXTsKKyAgTlNVUkxSZXF1ZXN0ICp1cmxSZXF1ZXN0ID0gW05T VVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDp1cmxdOworICBbeHdXZWJWaWV3IGxvYWRSZXF1ZXN0 OnVybFJlcXVlc3RdOworfQorCit2b2lkCituc3h3aWRnZXRfd2Via2l0X3pvb20gKHN0cnVjdCB4 d2lkZ2V0ICp4dywgZG91YmxlIHpvb21fY2hhbmdlKQoreworICBYd1dlYlZpZXcgKnh3V2ViVmll dyA9IChYd1dlYlZpZXcgKikgeHctPnh3V2lkZ2V0OworICB4d1dlYlZpZXcubWFnbmlmaWNhdGlv biArPSB6b29tX2NoYW5nZTsKKyAgLyogVE9ETzogc2V0TWFnbmlmaWNhdGlvbjpjZW50ZXJlZEF0 UG9pbnQgKi8KK30KKworLyogQnVpbGQgbGlzcCBzdHJpbmcgKi8KK3N0YXRpYyBMaXNwX09iamVj dAorYnVpbGRfc3RyaW5nX3dpdGhfbnNzdHIgKE5TU3RyaW5nICpuc3N0cikKK3sKKyAgY29uc3Qg Y2hhciAqdXRmc3RyID0gW25zc3RyIFVURjhTdHJpbmddOworICBOU1VJbnRlZ2VyIGJ5dGVzID0g W25zc3RyIGxlbmd0aE9mQnl0ZXNVc2luZ0VuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nXTsK KyAgcmV0dXJuIG1ha2Vfc3RyaW5nICh1dGZzdHIsIGJ5dGVzKTsKK30KKworLyogUmVjdXJzaXZl bHkgY29udmVydCBhbiBvYmpjIG5hdGl2ZSB0eXBlIEphdmFTY3JpcHQgdmFsdWUgdG8gYSBMaXNw CisgICB2YWx1ZS4gIE1vc3RseSBjb3BpZWQgZnJvbSBHVEsgeHdpZGdldCAnd2Via2l0X2pzX3Rv X2xpc3AnICovCitzdGF0aWMgTGlzcF9PYmplY3QKK2pzX3RvX2xpc3AgKGlkIHZhbHVlKQorewor ICBpZiAodmFsdWUgPT0gbmlsIHx8IFt2YWx1ZSBpc0tpbmRPZkNsYXNzOk5TTnVsbC5jbGFzc10p CisgICAgcmV0dXJuIFFuaWw7CisgIGVsc2UgaWYgKFt2YWx1ZSBpc0tpbmRPZkNsYXNzOk5TU3Ry aW5nLmNsYXNzXSkKKyAgICByZXR1cm4gYnVpbGRfc3RyaW5nX3dpdGhfbnNzdHIgKChOU1N0cmlu ZyAqKSB2YWx1ZSk7CisgIGVsc2UgaWYgKFt2YWx1ZSBpc0tpbmRPZkNsYXNzOk5TTnVtYmVyLmNs YXNzXSkKKyAgICB7CisgICAgICBOU051bWJlciAqbnNudW0gPSAoTlNOdW1iZXIgKikgdmFsdWU7 CisgICAgICBjaGFyIHR5cGUgPSBuc251bS5vYmpDVHlwZVswXTsKKyAgICAgIGlmICh0eXBlID09 ICdjJykgLyogX19OU0NGQm9vbGVhbiBoYXMgdHlwZSBjaGFyYWN0ZXIgJ2MnICovCisgICAgICAg IHJldHVybiBuc251bS5ib29sVmFsdWU/IFF0IDogUW5pbDsKKyAgICAgIGVsc2UKKyAgICAgICAg eworICAgICAgICAgIGlmICh0eXBlID09ICdpJyB8fCB0eXBlID09ICdsJykKKyAgICAgICAgICAg IHJldHVybiBtYWtlX251bWJlciAobnNudW0ubG9uZ1ZhbHVlKTsKKyAgICAgICAgICBlbHNlIGlm ICh0eXBlID09ICdmJyB8fCB0eXBlID09ICdkJykKKyAgICAgICAgICAgIHJldHVybiBtYWtlX2Zs b2F0IChuc251bS5kb3VibGVWYWx1ZSk7CisgICAgICAgICAgLyogZWxzZSBmYWxsIHRocm91Z2gg Ki8KKyAgICAgICAgfQorICAgIH0KKyAgZWxzZSBpZiAoW3ZhbHVlIGlzS2luZE9mQ2xhc3M6TlNB cnJheS5jbGFzc10pCisgICAgeworICAgICAgTlNBcnJheSAqbnNhcnIgPSAoTlNBcnJheSAqKSB2 YWx1ZTsKKyAgICAgIEVNQUNTX0lOVCBuID0gbnNhcnIuY291bnQ7CisgICAgICBMaXNwX09iamVj dCBvYmo7CisgICAgICBzdHJ1Y3QgTGlzcF9WZWN0b3IgKnAgPSBhbGxvY2F0ZV92ZWN0b3IgKG4p OworCisgICAgICBmb3IgKHB0cmRpZmZfdCBpID0gMDsgaSA8IG47ICsraSkKKyAgICAgICAgcC0+ Y29udGVudHNbaV0gPSBqc190b19saXNwIChbbnNhcnIgb2JqZWN0QXRJbmRleDppXSk7CisgICAg ICBYU0VUVkVDVE9SIChvYmosIHApOworICAgICAgcmV0dXJuIG9iajsKKyAgICB9CisgIGVsc2Ug aWYgKFt2YWx1ZSBpc0tpbmRPZkNsYXNzOk5TRGljdGlvbmFyeS5jbGFzc10pCisgICAgeworICAg ICAgTlNEaWN0aW9uYXJ5ICpuc2RpY3QgPSAoTlNEaWN0aW9uYXJ5ICopIHZhbHVlOworICAgICAg TlNBcnJheSAqa2V5cyA9IG5zZGljdC5hbGxLZXlzOworICAgICAgcHRyZGlmZl90IG4gPSBrZXlz LmNvdW50OworICAgICAgTGlzcF9PYmplY3Qgb2JqOworICAgICAgc3RydWN0IExpc3BfVmVjdG9y ICpwID0gYWxsb2NhdGVfdmVjdG9yIChuKTsKKworICAgICAgZm9yIChwdHJkaWZmX3QgaSA9IDA7 IGkgPCBuOyArK2kpCisgICAgICAgIHsKKyAgICAgICAgICBOU1N0cmluZyAqcHJvcF9rZXkgPSAo TlNTdHJpbmcgKikgW2tleXMgb2JqZWN0QXRJbmRleDppXTsKKyAgICAgICAgICBpZCBwcm9wX3Zh bHVlID0gW25zZGljdCB2YWx1ZUZvcktleTpwcm9wX2tleV07CisgICAgICAgICAgcC0+Y29udGVu dHNbaV0gPSBGY29ucyAoYnVpbGRfc3RyaW5nX3dpdGhfbnNzdHIgKHByb3Bfa2V5KSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqc190b19saXNwIChwcm9wX3ZhbHVlKSk7Cisg ICAgICAgIH0KKyAgICAgIFhTRVRWRUNUT1IgKG9iaiwgcCk7CisgICAgICByZXR1cm4gb2JqOwor ICAgIH0KKyAgTlNMb2cgKEAiVW5oYW5kbGVkIHR5cGUgaW4gamF2YXNjcmlwdCByZXN1bHQiKTsK KyAgcmV0dXJuIFFuaWw7Cit9CisKK3ZvaWQKK25zeHdpZGdldF93ZWJraXRfZXhlY3V0ZV9zY3Jp cHQgKHN0cnVjdCB4d2lkZ2V0ICp4dywgY29uc3QgY2hhciAqc2NyaXB0LAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgTGlzcF9PYmplY3QgZnVuKQoreworICBOU1N0cmluZyAqamF2 YXNjcmlwdFN0cmluZyA9IFtOU1N0cmluZyBzdHJpbmdXaXRoVVRGOFN0cmluZzpzY3JpcHRdOwor ICBYd1dlYlZpZXcgKnh3V2ViVmlldyA9IChYd1dlYlZpZXcgKikgeHctPnh3V2lkZ2V0OworCisg IFt4d1dlYlZpZXcgZXZhbHVhdGVKYXZhU2NyaXB0OmphdmFzY3JpcHRTdHJpbmcKKyAgICAgICAg ICAgICAgY29tcGxldGlvbkhhbmRsZXI6XihpZCByZXN1bHQsIE5TRXJyb3IgKmVycm9yKSB7Cisg ICAgICBpZiAoZXJyb3IpCisgICAgICAgIHsKKyAgICAgICAgICBOU0xvZyAoQCJldmFsdWF0ZUph dmFTY3JpcHQgZXJyb3IgOiAlQCIsIGVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKTsKKyAgICAg ICAgICBOU0xvZyAoQCJlcnJvciBzY3JpcHQ9JUAiLCBqYXZhc2NyaXB0U3RyaW5nKTsKKyAgICAg ICAgfQorICAgICAgZWxzZSBpZiAocmVzdWx0ICYmIEZVTkNUSU9OUCAoZnVuKSkKKyAgICAgICAg eworICAgICAgICAgIC8vIE5TTG9nIChAInJlc3VsdD0lQCwgdHlwZT0lQCIsIHJlc3VsdCwgW3Jl c3VsdCBjbGFzc10pOworICAgICAgICAgIExpc3BfT2JqZWN0IGxpc3BfdmFsdWUgPSBqc190b19s aXNwIChyZXN1bHQpOworICAgICAgICAgIHN0b3JlX3h3aWRnZXRfanNfY2FsbGJhY2tfZXZlbnQg KHh3LCBmdW4sIGxpc3BfdmFsdWUpOworICAgICAgICB9CisgICAgfV07Cit9CisKKy8qIHdpbmRv dyBjb250YWluaW5nIGFuIHh3aWRnZXQgKi8KKworQGltcGxlbWVudGF0aW9uIFh3V2luZG93Cist IChCT09MKWlzRmxpcHBlZCB7IHJldHVybiBZRVM7IH0KK0BlbmQKKworLyogeHcgOiB4d2lkZ2V0 IG1vZGVsLCBucyBjb2NvYSBwYXJ0ICovCisKK3ZvaWQKK25zeHdpZGdldF9pbml0KHN0cnVjdCB4 d2lkZ2V0ICp4dykKK3sKKyAgYmxvY2tfaW5wdXQgKCk7CisgIE5TUmVjdCByZWN0ID0gTlNNYWtl UmVjdCAoMCwgMCwgeHctPndpZHRoLCB4dy0+aGVpZ2h0KTsKKyAgeHctPnh3V2lkZ2V0ID0gW1tY d1dlYlZpZXcgYWxsb2NdCisgICAgICAgICAgICAgICAgICAgaW5pdFdpdGhGcmFtZTpyZWN0Cisg ICAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbjpbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24g YWxsb2NdIGluaXRdCisgICAgICAgICAgICAgICAgICAgICAgICAgeHdpZGdldDp4d107CisgIHh3 LT54d1dpbmRvdyA9IFtbWHdXaW5kb3cgYWxsb2NdCisgICAgICAgICAgICAgICAgICAgaW5pdFdp dGhGcmFtZTpyZWN0XTsKKyAgW3h3LT54d1dpbmRvdyBhZGRTdWJ2aWV3Onh3LT54d1dpZGdldF07 CisgIHh3LT54diA9IE5VTEw7IC8qIGZvciAxIHRvIDEgcmVsYXRpb25zaGlwIG9mIHdlYmtpdDIg Ki8KKyAgdW5ibG9ja19pbnB1dCAoKTsKK30KKwordm9pZAorbnN4d2lkZ2V0X2tpbGwgKHN0cnVj dCB4d2lkZ2V0ICp4dykKK3sKKyAgaWYgKHh3KQorICAgIHsKKyAgICAgIFdLVXNlckNvbnRlbnRD b250cm9sbGVyICpzY3JpcHRvciA9CisgICAgICAgICgoWHdXZWJWaWV3ICopIHh3LT54d1dpZGdl dCkuY29uZmlndXJhdGlvbi51c2VyQ29udGVudENvbnRyb2xsZXI7CisgICAgICBbc2NyaXB0b3Ig cmVtb3ZlQWxsVXNlclNjcmlwdHNdOworICAgICAgW3NjcmlwdG9yIHJlbW92ZVNjcmlwdE1lc3Nh Z2VIYW5kbGVyRm9yTmFtZTpAImZvY3VzSGFuZGxlciJdOworICAgICAgW3NjcmlwdG9yIHJlbGVh c2VdOworICAgICAgaWYgKHh3LT54dikKKyAgICAgICAgeHctPnh2LT5tb2RlbCA9IFFuaWw7IC8q IE1ha2Ugc3VyZSByZWxhdGVkIHZpZXcgc3RhbGUgKi8KKyAgICAgIFt4dy0+eHdXaWRnZXQgcmVt b3ZlRnJvbVN1cGVydmlld1dpdGhvdXROZWVkaW5nRGlzcGxheV07CisgICAgICBbeHctPnh3V2lk Z2V0IHJlbGVhc2VdOworICAgICAgW3h3LT54d1dpbmRvdyByZW1vdmVGcm9tU3VwZXJ2aWV3V2l0 aG91dE5lZWRpbmdEaXNwbGF5XTsKKyAgICAgIFt4dy0+eHdXaW5kb3cgcmVsZWFzZV07CisgICAg ICB4dy0+eHdXaWRnZXQgPSBuaWw7CisgICAgfQorfQorCit2b2lkCituc3h3aWRnZXRfcmVzaXpl IChzdHJ1Y3QgeHdpZGdldCAqeHcpCit7CisgIGlmICh4dy0+eHdXaWRnZXQpCisgICAgeworICAg ICAgW3h3LT54d1dpbmRvdyBzZXRGcmFtZVNpemU6TlNNYWtlU2l6ZSh4dy0+d2lkdGgsIHh3LT5o ZWlnaHQpXTsKKyAgICAgIFt4dy0+eHdXaWRnZXQgc2V0RnJhbWVTaXplOk5TTWFrZVNpemUoeHct PndpZHRoLCB4dy0+aGVpZ2h0KV07CisgICAgfQorfQorCitMaXNwX09iamVjdAorbnN4d2lkZ2V0 X2dldF9zaXplIChzdHJ1Y3QgeHdpZGdldCAqeHcpCit7CisgIHJldHVybiBsaXN0MiAobWFrZV9u dW1iZXIgKHh3LT54d1dpZGdldC5mcmFtZS5zaXplLndpZHRoKSwKKyAgICAgICAgICAgICAgICBt YWtlX251bWJlciAoeHctPnh3V2lkZ2V0LmZyYW1lLnNpemUuaGVpZ2h0KSk7Cit9CisKKy8qIHh2 IDogeHdpZGdldCB2aWV3LCBucyBjb2NvYSBwYXJ0ICovCisKK0BpbXBsZW1lbnRhdGlvbiBYdldp bmRvdyA6IE5TVmlldworLSAoQk9PTClpc0ZsaXBwZWQgeyByZXR1cm4gWUVTOyB9CitAZW5kCisK K3ZvaWQKK25zeHdpZGdldF9pbml0X3ZpZXcgKHN0cnVjdCB4d2lkZ2V0X3ZpZXcgKnh2LAorICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IHh3aWRnZXQgKnh3LAorICAgICAgICAgICAgICAgICAg ICAgc3RydWN0IGdseXBoX3N0cmluZyAqcywKKyAgICAgICAgICAgICAgICAgICAgIGludCB4LCBp bnQgeSkKK3sKKyAgLyogJ3hfZHJhd194d2lkZ2V0X2dseXBoX3N0cmluZycgd2lsbCBjYWxjdWxh dGUgY29ycmVjdCBwb3NpdGlvbiBhbmQKKyAgICAgc2l6ZSBvZiBjbGlwIHRvIGRyYXcgaW4gZW1h Y3MgYnVmZmVyIHdpbmRvdy4gVGh1cywganVzdCBiZWdpbiBhdAorICAgICBvcmlnaW4gd2l0aCBu byBjcm9wLiAqLworICB4di0+eCA9IHg7CisgIHh2LT55ID0geTsKKyAgeHYtPmNsaXBfbGVmdCA9 IDA7CisgIHh2LT5jbGlwX3JpZ2h0ID0geHctPndpZHRoOworICB4di0+Y2xpcF90b3AgPSAwOwor ICB4di0+Y2xpcF9ib3R0b20gPSB4dy0+aGVpZ2h0OworCisgIHh2LT54dldpbmRvdyA9IFtbWHZX aW5kb3cgYWxsb2NdCisgICAgICAgICAgICAgICAgICAgaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0 ICh4LCB5LCB4dy0+d2lkdGgsIHh3LT5oZWlnaHQpXTsKKyAgeHYtPnh2V2luZG93Lnh3ID0geHc7 CisgIHh2LT54dldpbmRvdy54diA9IHh2OworCisgIHh3LT54diA9IHh2OyAvKiBGb3IgMSB0byAx IHJlbGF0aW9uc2hpcCBvZiB3ZWJraXQyICovCisgIFt4di0+eHZXaW5kb3cgYWRkU3Vidmlldzp4 dy0+eHdXaW5kb3ddOworCisgIHh2LT5lbWFjc3dpbmRvdyA9IEZSQU1FX05TX1ZJRVcgKHMtPmYp OworICBbeHYtPmVtYWNzd2luZG93IGFkZFN1YnZpZXc6eHYtPnh2V2luZG93XTsKK30KKwordm9p ZAorbnN4d2lkZ2V0X2RlbGV0ZV92aWV3IChzdHJ1Y3QgeHdpZGdldF92aWV3ICp4dikKK3sKKyAg aWYgKCFFUSAoeHYtPm1vZGVsLCBRbmlsKSkKKyAgICB7CisgICAgICBzdHJ1Y3QgeHdpZGdldCAq eHcgPSBYWFdJREdFVCAoeHYtPm1vZGVsKTsKKyAgICAgIFt4dy0+eHdXaW5kb3cgcmVtb3ZlRnJv bVN1cGVydmlld1dpdGhvdXROZWVkaW5nRGlzcGxheV07CisgICAgICB4dy0+eHYgPSBOVUxMOyAv KiBOb3cgbW9kZWwgaGFzIG5vIHZpZXcgKi8KKyAgICB9CisgIFt4di0+eHZXaW5kb3cgcmVtb3Zl RnJvbVN1cGVydmlld1dpdGhvdXROZWVkaW5nRGlzcGxheV07CisgIFt4di0+eHZXaW5kb3cgcmVs ZWFzZV07Cit9CisKK3ZvaWQKK25zeHdpZGdldF9zaG93X3ZpZXcgKHN0cnVjdCB4d2lkZ2V0X3Zp ZXcgKnh2KQoreworICB4di0+aGlkZGVuID0gTk87CisgIFt4di0+eHZXaW5kb3cgc2V0RnJhbWVP cmlnaW46TlNNYWtlUG9pbnQoeHYtPnggKyB4di0+Y2xpcF9sZWZ0LAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHh2LT55ICsgeHYtPmNsaXBfdG9wKV07Cit9CisK K3ZvaWQKK25zeHdpZGdldF9oaWRlX3ZpZXcgKHN0cnVjdCB4d2lkZ2V0X3ZpZXcgKnh2KQorewor ICB4di0+aGlkZGVuID0gWUVTOworICBbeHYtPnh2V2luZG93IHNldEZyYW1lT3JpZ2luOk5TTWFr ZVBvaW50KDEwMDAwLCAxMDAwMCldOworfQorCit2b2lkCituc3h3aWRnZXRfcmVzaXplX3ZpZXcg KHN0cnVjdCB4d2lkZ2V0X3ZpZXcgKnh2LCBpbnQgd2lkdGgsIGludCBoZWlnaHQpCit7CisgIFt4 di0+eHZXaW5kb3cgc2V0RnJhbWVTaXplOk5TTWFrZVNpemUod2lkdGgsIGhlaWdodCldOworfQor Cit2b2lkCituc3h3aWRnZXRfbW92ZV92aWV3IChzdHJ1Y3QgeHdpZGdldF92aWV3ICp4diwgaW50 IHgsIGludCB5KQoreworICBbeHYtPnh2V2luZG93IHNldEZyYW1lT3JpZ2luOk5TTWFrZVBvaW50 ICh4LCB5KV07Cit9CisKKy8qIE1vdmUgbW9kZWwgd2luZG93IGluIGNvbnRhaW5lciAodmlldyB3 aW5kb3cpICovCit2b2lkCituc3h3aWRnZXRfbW92ZV93aWRnZXRfaW5fdmlldyAoc3RydWN0IHh3 aWRnZXRfdmlldyAqeHYsIGludCB4LCBpbnQgeSkKK3sKKyAgc3RydWN0IHh3aWRnZXQgKnh3dyA9 IHh2LT54dldpbmRvdy54dzsKKyAgW3h3dy0+eHdXaW5kb3cgc2V0RnJhbWVPcmlnaW46TlNNYWtl UG9pbnQgKHgsIHkpXTsKK30KKwordm9pZAorbnN4d2lkZ2V0X3NldF9uZWVkc2Rpc3BsYXkgKHN0 cnVjdCB4d2lkZ2V0X3ZpZXcgKnh2KQoreworICB4di0+eHZXaW5kb3cubmVlZHNEaXNwbGF5ID0g WUVTOworfQpkaWZmIC0tZ2l0IGEvc3JjL3h3aWRnZXQuYyBiL3NyYy94d2lkZ2V0LmMKaW5kZXgg YTY3ZGMwZWNmNC4uOTQxNDdjYTIxNiAxMDA2NDQKLS0tIGEvc3JjL3h3aWRnZXQuYworKysgYi9z cmMveHdpZGdldC5jCkBAIC0xOCwxNyArMTgsMjYgQEAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk IGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIGFsb25nIHdpdGggR05V IEVtYWNzLiAgSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICov CiAKICNpbmNsdWRlIDxjb25maWcuaD4KKyNpbmNsdWRlIDxzdGRpby5oPiAvKiBGSVhNRTogRW1h Y3MgZXJyb3I/IG1lc3NhZ2U/IGluc3RlYWQgb2YgcHJpbnRmICovCiAKICNpbmNsdWRlICJ4d2lk Z2V0LmgiCiAKICNpbmNsdWRlICJsaXNwLmgiCiAjaW5jbHVkZSAiYmxvY2tpbnB1dC5oIgorI2lu Y2x1ZGUgImRpc3BleHRlcm4uaCIKICNpbmNsdWRlICJmcmFtZS5oIgogI2luY2x1ZGUgImtleWJv YXJkLmgiCiAjaW5jbHVkZSAiZ3RrdXRpbC5oIgorI2luY2x1ZGUgInRlcm1ob29rcy5oIgorI2lu Y2x1ZGUgIndpbmRvdy5oIgogCisvKiBJbmNsdWRlIHh3aWRnZXQgYm90dG9tIGVuZCBoZWFkZXJz ICovCisjaWYgZGVmaW5lZCAoVVNFX0dUSykKICNpbmNsdWRlIDx3ZWJraXQyL3dlYmtpdDIuaD4K ICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Lmg+CisjZWxpZiBkZWZpbmVkIChI QVZFX05TKQorI2luY2x1ZGUgIm5zeHdpZGdldC5oIgorI2VuZGlmCiAKIHN0YXRpYyBzdHJ1Y3Qg eHdpZGdldCAqCiBhbGxvY2F0ZV94d2lkZ2V0ICh2b2lkKQpAQCAtNDgsNiArNTcsNyBAQCBhbGxv Y2F0ZV94d2lkZ2V0X3ZpZXcgKHZvaWQpCiAKIHN0YXRpYyBzdHJ1Y3QgeHdpZGdldF92aWV3ICp4 d2lkZ2V0X3ZpZXdfbG9va3VwIChzdHJ1Y3QgeHdpZGdldCAqLAogCQkJCQkJIHN0cnVjdCB3aW5k b3cgKik7CisjaWYgZGVmaW5lZCAoVVNFX0dUSykKIHN0YXRpYyB2b2lkIHdlYmtpdF92aWV3X2xv YWRfY2hhbmdlZF9jYiAoV2ViS2l0V2ViVmlldyAqLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBXZWJLaXRMb2FkRXZlbnQsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGdwb2ludGVyKTsKQEAgLTYxLDYgKzcxLDcgQEAgd2Via2l0X2Rl Y2lkZV9wb2xpY3lfY2IgKFdlYktpdFdlYlZpZXcgKiwKICAgICAgICAgICAgICAgICAgICAgICAg ICBXZWJLaXRQb2xpY3lEZWNpc2lvbiAqLAogICAgICAgICAgICAgICAgICAgICAgICAgIFdlYktp dFBvbGljeURlY2lzaW9uVHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICBncG9pbnRlcik7 CisjZW5kaWYKIAogCiBERUZVTiAoIm1ha2UteHdpZGdldCIsCkBAIC05MiwxMCArMTAzLDExIEBA IFJldHVybnMgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIHh3aWRnZXQsIG9yIG5pbCBpZiBjb25zdHJ1 Y3Rpb24gZmFpbHMuICAqLykKICAgeHctPmtpbGxfd2l0aG91dF9xdWVyeSA9IGZhbHNlOwogICBY U0VUWFdJREdFVCAodmFsLCB4dyk7CiAgIFZ4d2lkZ2V0X2xpc3QgPSBGY29ucyAodmFsLCBWeHdp ZGdldF9saXN0KTsKLSAgeHctPndpZGdldHdpbmRvd19vc3IgPSBOVUxMOwotICB4dy0+d2lkZ2V0 X29zciA9IE5VTEw7CiAgIHh3LT5wbGlzdCA9IFFuaWw7CiAKKyNpZiBkZWZpbmVkIChVU0VfR1RL KQorICB4dy0+d2lkZ2V0d2luZG93X29zciA9IE5VTEw7CisgIHh3LT53aWRnZXRfb3NyID0gTlVM TDsKICAgaWYgKEVRICh4dy0+dHlwZSwgUXdlYmtpdCkpCiAgICAgewogICAgICAgYmxvY2tfaW5w dXQgKCk7CkBAIC0xNTAsNiArMTYyLDkgQEAgUmV0dXJucyB0aGUgbmV3bHkgY29uc3RydWN0ZWQg eHdpZGdldCwgb3IgbmlsIGlmIGNvbnN0cnVjdGlvbiBmYWlscy4gICovKQogCiAgICAgICB1bmJs b2NrX2lucHV0ICgpOwogICAgIH0KKyNlbGlmIGRlZmluZWQgKEhBVkVfTlMpCisgIG5zeHdpZGdl dF9pbml0ICh4dyk7CisjZW5kaWYKIAogICByZXR1cm4gdmFsOwogfQpAQCAtMTg1LDYgKzIwMCw3 IEBAIHh3aWRnZXRfaGlkZGVuIChzdHJ1Y3QgeHdpZGdldF92aWV3ICp4dikKICAgcmV0dXJuIHh2 LT5oaWRkZW47CiB9CiAKKyNpZiBkZWZpbmVkIChVU0VfR1RLKQogc3RhdGljIHZvaWQKIHh3aWRn ZXRfc2hvd192aWV3IChzdHJ1Y3QgeHdpZGdldF92aWV3ICp4dikKIHsKQEAgLTIyMyw4ICsyMzks OSBAQCBvZmZzY3JlZW5fZGFtYWdlX2V2ZW50IChHdGtXaWRnZXQgKndpZGdldCwgR2RrRXZlbnQg KmV2ZW50LAogCiAgIHJldHVybiBGQUxTRTsKIH0KKyNlbmRpZiAvKiBVU0VfR1RLICovCiAKLXN0 YXRpYyB2b2lkCit2b2lkCiBzdG9yZV94d2lkZ2V0X2V2ZW50X3N0cmluZyAoc3RydWN0IHh3aWRn ZXQgKnh3LCBjb25zdCBjaGFyICpldmVudG5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29uc3QgY2hhciAqZXZlbnRzdHIpCiB7CkBAIC0yMzgsNyArMjU1LDcgQEAgc3RvcmVfeHdp ZGdldF9ldmVudF9zdHJpbmcgKHN0cnVjdCB4d2lkZ2V0ICp4dywgY29uc3QgY2hhciAqZXZlbnRu YW1lLAogICBrYmRfYnVmZmVyX3N0b3JlX2V2ZW50ICgmZXZlbnQpOwogfQogCi1zdGF0aWMgdm9p ZAordm9pZAogc3RvcmVfeHdpZGdldF9qc19jYWxsYmFja19ldmVudCAoc3RydWN0IHh3aWRnZXQg Knh3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzcF9PYmplY3QgcHJvYywK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3BfT2JqZWN0IGFyZ3VtZW50KQpA QCAtMjU0LDYgKzI3MSw3IEBAIHN0b3JlX3h3aWRnZXRfanNfY2FsbGJhY2tfZXZlbnQgKHN0cnVj dCB4d2lkZ2V0ICp4dywKIH0KIAogCisjaWYgZGVmaW5lZCAoVVNFX0dUSykKIHZvaWQKIHdlYmtp dF92aWV3X2xvYWRfY2hhbmdlZF9jYiAoV2ViS2l0V2ViVmlldyAqd2Via2l0d2VidmlldywKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViS2l0TG9hZEV2ZW50IGxvYWRfZXZlbnQsCkBA IC0zODksOSArNDA3LDggQEAgd2Via2l0X2phdmFzY3JpcHRfZmluaXNoZWRfY2IgKEdPYmplY3Qg ICAgICAqd2VidmlldywKICAgICAvKiBSZWdpc3RlciBhbiB4d2lkZ2V0IGV2ZW50IGhlcmUsIHdo aWNoIHRoZW4gcnVucyB0aGUgY2FsbGJhY2suCiAgICAgICAgVGhpcyBlbnN1cmVzIHRoYXQgdGhl IGNhbGxiYWNrIHJ1bnMgaW4gc3luYyB3aXRoIHRoZSBFbWFjcwogICAgICAgIGV2ZW50IGxvb3Au ICAqLwotICAgIC8qIEZJWE1FOiBUaGlzIG1pZ2h0IGxlYWQgdG8gZGlzYXN0ZXIgaWYgTElTUF9D QUxMQkFDS+KAmXMgb2JqZWN0Ci0gICAgICAgd2FzIGdhcmJhZ2UgY29sbGVjdGVkIGJlZm9yZSBu b3cuICBTZWUgdGhlIEZJWE1FIGluCi0gICAgICAgRnh3aWRnZXRfd2Via2l0X2V4ZWN1dGVfc2Ny aXB0LiAgKi8KKyAgICAvKiBMSVNQX0NBTExCQUNLIG11c3Qgbm90IGJlIGdhcmJhZ2UgY29sbGVj dGVkIHVwIHRvIGhlcmUuICBTZWUKKyAgICAgICBjb21tZW50cyBpbiBGeHdpZGdldF93ZWJraXRf ZXhlY3V0ZV9zY3JpcHQuICovCiAgICAgc3RvcmVfeHdpZGdldF9qc19jYWxsYmFja19ldmVudCAo eHcsIFhJTCAoKGludHB0cl90KSBsaXNwX2NhbGxiYWNrKSwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBsaXNwX3ZhbHVlKTsKIH0KQEAgLTUwMCw2ICs1MTcsNyBAQCB4d2lk Z2V0X29zcl9ldmVudF9zZXRfZW1iZWRkZXIgKEd0a1dpZGdldCAqd2lkZ2V0LCBHZGtFdmVudCAq ZXZlbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3RrX3dpZGdldF9n ZXRfd2luZG93ICh4di0+d2lkZ2V0KSk7CiAgIHJldHVybiBGQUxTRTsKIH0KKyNlbmRpZiAvKiBV U0VfR1RLICovCiAKIAogLyogSW5pdGlhbGl6ZXMgYW5kIGRvZXMgaW5pdGlhbCBwbGFjZW1lbnQg b2YgYW4geHdpZGdldCB2aWV3IG9uIHNjcmVlbi4gICovCkBAIC01MTcsNiArNTM1LDcgQEAgeHdp ZGdldF9pbml0X3ZpZXcgKHN0cnVjdCB4d2lkZ2V0ICp4d3csCiAgIFhTRVRXSU5ET1cgKHh2LT53 LCBzLT53KTsKICAgWFNFVFhXSURHRVQgKHh2LT5tb2RlbCwgeHd3KTsKIAorI2lmIGRlZmluZWQg KFVTRV9HVEspCiAgIGlmIChFUSAoeHd3LT50eXBlLCBRd2Via2l0KSkKICAgICB7CiAgICAgICB4 di0+d2lkZ2V0ID0gZ3RrX2RyYXdpbmdfYXJlYV9uZXcgKCk7CkBAIC01NzQsNiArNTkzLDkgQEAg eHdpZGdldF9pbml0X3ZpZXcgKHN0cnVjdCB4d2lkZ2V0ICp4d3csCiAgIHh2LT54ID0geDsKICAg eHYtPnkgPSB5OwogICBndGtfd2lkZ2V0X3Nob3dfYWxsICh4di0+d2lkZ2V0d2luZG93KTsKKyNl bGlmIGRlZmluZWQgKEhBVkVfTlMpCisgIG5zeHdpZGdldF9pbml0X3ZpZXcgKHh2LCB4d3csIHMs IHgsIHkpOworI2VuZGlmCiAKICAgcmV0dXJuIHh2OwogfQpAQCAtNTg2LDI0ICs2MDgsNTkgQEAg eF9kcmF3X3h3aWRnZXRfZ2x5cGhfc3RyaW5nIChzdHJ1Y3QgZ2x5cGhfc3RyaW5nICpzKQogICAg ICBpbml0aWFsaXphdGlvbi4gICovCiAgIHN0cnVjdCB4d2lkZ2V0ICp4d3cgPSBzLT54d2lkZ2V0 OwogICBzdHJ1Y3QgeHdpZGdldF92aWV3ICp4diA9IHh3aWRnZXRfdmlld19sb29rdXAgKHh3dywg cy0+dyk7CisgIGludCB0ZXh0X2FyZWFfeCwgdGV4dF9hcmVhX3ksIHRleHRfYXJlYV93aWR0aCwg dGV4dF9hcmVhX2hlaWdodDsKICAgaW50IGNsaXBfcmlnaHQ7CiAgIGludCBjbGlwX2JvdHRvbTsK ICAgaW50IGNsaXBfdG9wOwogICBpbnQgY2xpcF9sZWZ0OwogCiAgIGludCB4ID0gcy0+eDsKLSAg aW50IHkgPSBzLT55ICsgKHMtPmhlaWdodCAvIDIpIC0gKHh3dy0+aGVpZ2h0IC8gMik7CisgIGlu dCB5ID0gcy0+eTsKIAogICAvKiBEbyBpbml0aWFsaXphdGlvbiBoZXJlIGluIHRoZSBkaXNwbGF5 IGxvb3AgYmVjYXVzZSB0aGVyZSBpcyBubwogICAgICBvdGhlciB0aW1lIHRvIGtub3cgdGhpbmdz IGxpa2Ugd2luZG93IHBsYWNlbWVudCBldGMuICBEbyBub3QKICAgICAgY3JlYXRlIGEgbmV3IHZp ZXcgaWYgd2UgaGF2ZSBmb3VuZCBvbmUgdGhhdCBpcyB1c2FibGUuICAqLworI2lmIGRlZmluZWQg KFVTRV9HVEspCiAgIGlmICgheHYpCiAgICAgeHYgPSB4d2lkZ2V0X2luaXRfdmlldyAoeHd3LCBz LCB4LCB5KTsKLQotICBpbnQgdGV4dF9hcmVhX3gsIHRleHRfYXJlYV95LCB0ZXh0X2FyZWFfd2lk dGgsIHRleHRfYXJlYV9oZWlnaHQ7CisjZWxpZiBkZWZpbmVkIChIQVZFX05TKQorICBpZiAoIXh2 KQorICAgIHsKKyAgICAgIC8qIEVuZm9yY2UgMSB0byAxLCBtb2RlbCBhbmQgdmlldyBmb3IgTlMg Q29jb2Egd2Via2l0MiAqLworICAgICAgaWYgKHh3dy0+eHYpCisgICAgICAgIHsKKyAgICAgICAg ICBpZiAoeHdpZGdldF9oaWRkZW4gKHh3dy0+eHYpKQorICAgICAgICAgICAgeworICAgICAgICAg ICAgICBMaXNwX09iamVjdCB4dmw7CisgICAgICAgICAgICAgIFhTRVRYV0lER0VUX1ZJRVcgKHh2 bCwgeHd3LT54dik7CisgICAgICAgICAgICAgIEZkZWxldGVfeHdpZGdldF92aWV3ICh4dmwpOwor ICAgICAgICAgICAgfQorICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg ICAgbWVzc2FnZSAoIllvdSBjYW4ndCBzaGFyZSBhbiB4d2lkZ2V0ICh3ZWJraXQyKSBhbW9uZyB3 aW5kb3dzLiIpOworICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAg IH0KKyAgICAgIHh2ID0geHdpZGdldF9pbml0X3ZpZXcgKHh3dywgcywgeCwgeSk7CisgICAgfQor I2VuZGlmCiAKICAgd2luZG93X2JveCAocy0+dywgVEVYVF9BUkVBLCAmdGV4dF9hcmVhX3gsICZ0 ZXh0X2FyZWFfeSwKICAgICAgICAgICAgICAgJnRleHRfYXJlYV93aWR0aCwgJnRleHRfYXJlYV9o ZWlnaHQpOworCisgIC8qIFJlc2l6ZSB4d2lkZ2V0IHdlYmtpdCBpZiBpdHMgY29udGFpbmVyIHdp bmRvdyBzaXplIGlzIGNoYW5nZWQgaW4KKyAgICAgc29tZSB3YXlzLCBmb3IgZXhhbXBsZSwgYSBi dWZmZXIgYmVjYW1lIGhpZGRlbiBpbiBzbWFsbCBzcGxpdAorICAgICB3aW5kb3csIHRoZW4gaXQg Y2FuIGFwcGVhciBmcm9udCBpbiBtZXJnZWQgd2hvbGUgd2luZG93LiAqLworICBpZiAoRVEgKHh3 dy0+dHlwZSwgUXdlYmtpdCkKKyAgICAgICYmICh4d3ctPndpZHRoICE9IHRleHRfYXJlYV93aWR0 aCB8fCB4d3ctPmhlaWdodCAhPSB0ZXh0X2FyZWFfaGVpZ2h0KSkKKyAgICB7CisgICAgICBMaXNw X09iamVjdCB4d2w7CisgICAgICBYU0VUWFdJREdFVCAoeHdsLCB4d3cpOworICAgICAgRnh3aWRn ZXRfcmVzaXplICh4d2wsCisgICAgICAgICAgICAgICAgICAgICAgIG1ha2VfbnVtYmVyICh0ZXh0 X2FyZWFfd2lkdGgpLAorICAgICAgICAgICAgICAgICAgICAgICBtYWtlX251bWJlciAodGV4dF9h cmVhX2hlaWdodCkpOworICAgIH0KKwogICBjbGlwX2xlZnQgPSBtYXggKDAsIHRleHRfYXJlYV94 IC0geCk7CiAgIGNsaXBfcmlnaHQgPSBtYXggKGNsaXBfbGVmdCwKIAkJICAgIG1pbiAoeHd3LT53 aWR0aCwgdGV4dF9hcmVhX3ggKyB0ZXh0X2FyZWFfd2lkdGggLSB4KSk7CkBAIC02MjYsOCArNjgz LDE0IEBAIHhfZHJhd194d2lkZ2V0X2dseXBoX3N0cmluZyAoc3RydWN0IGdseXBoX3N0cmluZyAq cykKIAogICAvKiBIYXMgaXQgbW92ZWQ/ICAqLwogICBpZiAobW92ZWQpCi0gICAgZ3RrX2ZpeGVk X21vdmUgKEdUS19GSVhFRCAoRlJBTUVfR1RLX1dJREdFVCAocy0+ZikpLAotCQkgICAgeHYtPndp ZGdldHdpbmRvdywgeCArIGNsaXBfbGVmdCwgeSArIGNsaXBfdG9wKTsKKyAgICB7CisjaWYgZGVm aW5lZCAoVVNFX0dUSykKKyAgICAgIGd0a19maXhlZF9tb3ZlIChHVEtfRklYRUQgKEZSQU1FX0dU S19XSURHRVQgKHMtPmYpKSwKKyAgICAgICAgICAgICAgICAgICAgICB4di0+d2lkZ2V0d2luZG93 LCB4ICsgY2xpcF9sZWZ0LCB5ICsgY2xpcF90b3ApOworI2VsaWYgZGVmaW5lZCAoSEFWRV9OUykK KyAgICAgIG5zeHdpZGdldF9tb3ZlX3ZpZXcgKHh2LCB4ICsgY2xpcF9sZWZ0LCB5ICsgY2xpcF90 b3ApOworI2VuZGlmCisgICAgfQogCiAgIC8qIENsaXAgdGhlIHdpZGdldCB3aW5kb3cgaWYgc29t ZSBwYXJ0cyBoYXBwZW4gdG8gYmUgb3V0c2lkZQogICAgICBkcmF3YWJsZSBhcmVhLiAgQW4gRW1h Y3Mgd2luZG93IGlzIG5vdCBhIGd0ayB3aW5kb3cuICBBIGd0ayB3aW5kb3cKQEAgLTYzOCwxMCAr NzAxLDE2IEBAIHhfZHJhd194d2lkZ2V0X2dseXBoX3N0cmluZyAoc3RydWN0IGdseXBoX3N0cmlu ZyAqcykKICAgICAgIHx8IHh2LT5jbGlwX2JvdHRvbSAhPSBjbGlwX2JvdHRvbQogICAgICAgfHwg eHYtPmNsaXBfdG9wICE9IGNsaXBfdG9wIHx8IHh2LT5jbGlwX2xlZnQgIT0gY2xpcF9sZWZ0KQog ICAgIHsKKyNpZiBkZWZpbmVkIChVU0VfR1RLKQogICAgICAgZ3RrX3dpZGdldF9zZXRfc2l6ZV9y ZXF1ZXN0ICh4di0+d2lkZ2V0d2luZG93LCBjbGlwX3JpZ2h0IC0gY2xpcF9sZWZ0LAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGlwX2JvdHRvbSAtIGNsaXBfdG9wKTsKICAg ICAgIGd0a19maXhlZF9tb3ZlIChHVEtfRklYRUQgKHh2LT53aWRnZXR3aW5kb3cpLCB4di0+d2lk Z2V0LCAtY2xpcF9sZWZ0LAogICAgICAgICAgICAgICAgICAgICAgIC1jbGlwX3RvcCk7CisjZWxp ZiBkZWZpbmVkIChIQVZFX05TKQorICAgICAgbnN4d2lkZ2V0X3Jlc2l6ZV92aWV3ICh4diwgY2xp cF9yaWdodCAtIGNsaXBfbGVmdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpcF9i b3R0b20gLSBjbGlwX3RvcCk7CisgICAgICBuc3h3aWRnZXRfbW92ZV93aWRnZXRfaW5fdmlldyAo eHYsIC1jbGlwX2xlZnQsIC1jbGlwX3RvcCk7CisjZW5kaWYKIAogICAgICAgeHYtPmNsaXBfcmln aHQgPSBjbGlwX3JpZ2h0OwogICAgICAgeHYtPmNsaXBfYm90dG9tID0gY2xpcF9ib3R0b207CkBA IC02NTUsMTggKzcyNCwzMiBAQCB4X2RyYXdfeHdpZGdldF9nbHlwaF9zdHJpbmcgKHN0cnVjdCBn bHlwaF9zdHJpbmcgKnMpCiAgICAgIHh3aWRnZXRzIGJhY2tncm91bmQuICBJdCdzIGp1c3QgYSB2 aXN1YWwgZ2xpdGNoIHRob3VnaC4gICovCiAgIGlmICgheHdpZGdldF9oaWRkZW4gKHh2KSkKICAg ICB7CisjaWYgZGVmaW5lZCAoVVNFX0dUSykKICAgICAgIGd0a193aWRnZXRfcXVldWVfZHJhdyAo eHYtPndpZGdldHdpbmRvdyk7CiAgICAgICBndGtfd2lkZ2V0X3F1ZXVlX2RyYXcgKHh2LT53aWRn ZXQpOworI2VsaWYgZGVmaW5lZCAoSEFWRV9OUykKKyAgICAgIG5zeHdpZGdldF9zZXRfbmVlZHNk aXNwbGF5ICh4dik7CisjZW5kaWYKICAgICB9CiB9CiAKLS8qIE1hY3JvIHRoYXQgY2hlY2tzIFdF QktJVF9JU19XRUJfVklFVyAoeHctPndpZGdldF9vc3IpIGZpcnN0LiAgKi8KK3N0YXRpYyBib29s Cit4d2lkZ2V0X2lzX3dlYl92aWV3IChzdHJ1Y3QgeHdpZGdldCAqeHcpCit7CisjaWYgZGVmaW5l ZCAoVVNFX0dUSykKKyAgcmV0dXJuIHh3LT53aWRnZXRfb3NyICE9IE5VTEwgJiYgV0VCS0lUX0lT X1dFQl9WSUVXICh4dy0+d2lkZ2V0X29zcik7CisjZWxpZiBkZWZpbmVkIChIQVZFX05TKQorICBy ZXR1cm4gbnN4d2lkZ2V0X2lzX3dlYl92aWV3ICh4dyk7CisjZW5kaWYgLyogZGVmaW5lZCAoSEFW RV9OUykgKi8KK30KKworLyogTWFjcm8gdGhhdCBjaGVja3MgeHdpZGdldCBob2xkIHdlYmtpdCB3 ZWIgdmlldyBmaXJzdC4gICovCiAjZGVmaW5lIFdFQktJVF9GTl9JTklUKCkJCQkJCQlcCiAgIENI RUNLX1hXSURHRVQgKHh3aWRnZXQpOwkJCQkJCVwKICAgc3RydWN0IHh3aWRnZXQgKnh3ID0gWFhX SURHRVQgKHh3aWRnZXQpOwkJCQlcCi0gIGlmICgheHctPndpZGdldF9vc3IgfHwgIVdFQktJVF9J U19XRUJfVklFVyAoeHctPndpZGdldF9vc3IpKQkJXAorICBpZiAoIXh3aWRnZXRfaXNfd2ViX3Zp ZXcgKHh3KSkJCQkJCVwKICAgICB7CQkJCQkJCQkJXAotICAgICAgcHJpbnRmICgiRVJST1IgeHct PndpZGdldF9vc3IgZG9lcyBub3QgaG9sZCBhIHdlYmtpdCBpbnN0YW5jZVxuIik7IFwKKyAgICAg IHByaW50ZiAoIkVSUk9SIHh3aWRnZXQgZG9lcyBub3QgaG9sZCBhIHdlYmtpdCBpbnN0YW5jZVxu Iik7CVwKICAgICAgIHJldHVybiBRbmlsOwkJCQkJCQlcCiAgICAgfQogCkBAIC02NzgsNyArNzYx LDExIEBAIERFRlVOICgieHdpZGdldC13ZWJraXQtZ290by11cmkiLAogewogICBXRUJLSVRfRk5f SU5JVCAoKTsKICAgQ0hFQ0tfU1RSSU5HICh1cmkpOworI2lmIGRlZmluZWQgKFVTRV9HVEspCiAg IHdlYmtpdF93ZWJfdmlld19sb2FkX3VyaSAoV0VCS0lUX1dFQl9WSUVXICh4dy0+d2lkZ2V0X29z ciksIFNTREFUQSAodXJpKSk7CisjZWxpZiBkZWZpbmVkIChIQVZFX05TKQorICBuc3h3aWRnZXRf d2Via2l0X2dvdG9fdXJpICh4dywgU1NEQVRBICh1cmkpKTsKKyNlbmRpZgogICByZXR1cm4gUW5p bDsKIH0KIApAQCAtNjkzLDEwICs3ODAsMTQgQEAgcmVmZXJlbmNlZCBieSBYV0lER0VULiAgKi8p CiAgIGlmIChGTE9BVFAgKGZhY3RvcikpCiAgICAgewogICAgICAgZG91YmxlIHpvb21fY2hhbmdl ID0gWEZMT0FUX0RBVEEgKGZhY3Rvcik7CisjaWYgZGVmaW5lZCAoVVNFX0dUSykKICAgICAgIHdl YmtpdF93ZWJfdmlld19zZXRfem9vbV9sZXZlbAogICAgICAgICAoV0VCS0lUX1dFQl9WSUVXICh4 dy0+d2lkZ2V0X29zciksCiAgICAgICAgICB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3pvb21fbGV2ZWwK ICAgICAgICAgIChXRUJLSVRfV0VCX1ZJRVcgKHh3LT53aWRnZXRfb3NyKSkgKyB6b29tX2NoYW5n ZSk7CisjZWxpZiBkZWZpbmVkIChIQVZFX05TKQorICAgICAgbnN4d2lkZ2V0X3dlYmtpdF96b29t ICh4dywgem9vbV9jaGFuZ2UpOworI2VuZGlmCiAgICAgfQogICByZXR1cm4gUW5pbDsKIH0KQEAg LTcxMiwxNyArODAzLDE4IEBAIGFyZ3VtZW50IHByb2NlZHVyZSBGVU4uKi8pCiB7CiAgIFdFQktJ VF9GTl9JTklUICgpOwogICBDSEVDS19TVFJJTkcgKHNjcmlwdCk7Ci0gIGlmICghTklMUCAoZnVu KSAmJiAhRlVOQ1RJT05QIChmdW4pKQorICAvKiBGVU4gd2lsbCBub3QgYmUgZ2FyYmFnZSBjb2xs ZWN0ZWQgaWYgaXQgaXMgZGVmaW5lZCB3aXRoIGBkZWZ1bicKKyAgICAgaW5zdGVhZCBvZiBgbGFt YmRhJy4gIElmIGl0IGlzIGdhcmJhZ2UgY29sbGVjdGVkIGV2ZW4gdGhvdWdoIGl0CisgICAgIGlz IGBkZWZ1bicsIHdlIGNhbiBjb3VudGVyIGJ5IHBpbm5pbmcgdGhlIEZVTidzIHN5bWJvbC4gKi8K KyAgaWYgKCFOSUxQIChmdW4pICYmICFTWU1CT0xQIChmdW4pICYmICFOSUxQIChGZmJvdW5kcCAo ZnVuKSkpCiAgICAgd3JvbmdfdHlwZV9hcmd1bWVudCAoUWludmFsaWRfZnVuY3Rpb24sIGZ1bik7 CiAKKyNpZiBkZWZpbmVkIChVU0VfR1RLKQogICBHQXN5bmNSZWFkeUNhbGxiYWNrIGNhbGxiYWNr CiAgICAgPSBGVU5DVElPTlAgKGZ1bikgPyB3ZWJraXRfamF2YXNjcmlwdF9maW5pc2hlZF9jYiA6 IE5VTEw7CiAKICAgLyogRklYTUU6IFRoZSBmb2xsb3dpbmcgaGFjayBhc3N1bWVzIFVTRV9MU0Jf VEFHLiAgKi8KICAgdmVyaWZ5IChVU0VfTFNCX1RBRyk7Ci0gIC8qIEZJWE1FOiBUaGlzIGhhY2sg bWlnaHQgbGVhZCB0byBkaXNhc3RlciBpZiBGVU4gaXMgZ2FyYmFnZQotICAgICBjb2xsZWN0ZWQg YmVmb3JlIHN0b3JlX3h3aWRnZXRfanNfY2FsbGJhY2tfZXZlbnQgbWFrZXMgaXQgdmlzaWJsZQot ICAgICB0byBMaXNwIGFnYWluLiAgU2VlIHRoZSBGSVhNRSBpbiB3ZWJraXRfamF2YXNjcmlwdF9m aW5pc2hlZF9jYi4gICovCiAgIGdwb2ludGVyIGNhbGxiYWNrX2FyZyA9IChncG9pbnRlcikgKGlu dHB0cl90KSBYTEkgKGZ1bik7CiAKICAgLyogSmF2YVNjcmlwdCBleGVjdXRpb24gaGFwcGVucyBh c3luY2hyb25vdXNseS4gIElmIGFuIGVsaXNwCkBAIC03MzIsNiArODI0LDkgQEAgYXJndW1lbnQg cHJvY2VkdXJlIEZVTi4qLykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTU0RB VEEgKHNjcmlwdCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgLyog Y2FuY2VsYWJsZSAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNr LCBjYWxsYmFja19hcmcpOworI2VsaWYgZGVmaW5lZCAoSEFWRV9OUykKKyAgbnN4d2lkZ2V0X3dl YmtpdF9leGVjdXRlX3NjcmlwdCAoeHcsIFNTREFUQSAoc2NyaXB0KSwgZnVuKTsKKyNlbmRpZgog ICByZXR1cm4gUW5pbDsKIH0KIApAQCAtNzUwLDYgKzg0NSw3IEBAIERFRlVOICgieHdpZGdldC1y ZXNpemUiLCBGeHdpZGdldF9yZXNpemUsIFN4d2lkZ2V0X3Jlc2l6ZSwgMywgMywgMCwKICAgeHct PmhlaWdodCA9IGg7CiAKICAgLyogSWYgdGhlcmUgaXMgYW4gb2Zmc2NyZWVuIHdpZGdldCByZXNp emUgaXQgZmlyc3QuICAqLworI2lmIGRlZmluZWQgKFVTRV9HVEspCiAgIGlmICh4dy0+d2lkZ2V0 X29zcikKICAgICB7CiAgICAgICBndGtfd2luZG93X3Jlc2l6ZSAoR1RLX1dJTkRPVyAoeHctPndp ZGdldHdpbmRvd19vc3IpLCB4dy0+d2lkdGgsCkBAIC03NTgsNiArODU0LDkgQEAgREVGVU4gKCJ4 d2lkZ2V0LXJlc2l6ZSIsIEZ4d2lkZ2V0X3Jlc2l6ZSwgU3h3aWRnZXRfcmVzaXplLCAzLCAzLCAw LAogICAgICAgZ3RrX3dpZGdldF9zZXRfc2l6ZV9yZXF1ZXN0IChHVEtfV0lER0VUICh4dy0+d2lk Z2V0X29zciksIHh3LT53aWR0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg eHctPmhlaWdodCk7CiAgICAgfQorI2VsaWYgZGVmaW5lZCAoSEFWRV9OUykKKyAgbnN4d2lkZ2V0 X3Jlc2l6ZSAoeHcpOworI2VuZGlmCiAKICAgZm9yIChMaXNwX09iamVjdCB0YWlsID0gVnh3aWRn ZXRfdmlld19saXN0OyBDT05TUCAodGFpbCk7IHRhaWwgPSBYQ0RSICh0YWlsKSkKICAgICB7CkBA IC03NjUsOCArODY0LDE0IEBAIERFRlVOICgieHdpZGdldC1yZXNpemUiLCBGeHdpZGdldF9yZXNp emUsIFN4d2lkZ2V0X3Jlc2l6ZSwgMywgMywgMCwKICAgICAgICAgewogICAgICAgICAgIHN0cnVj dCB4d2lkZ2V0X3ZpZXcgKnh2ID0gWFhXSURHRVRfVklFVyAoWENBUiAodGFpbCkpOwogICAgICAg ICAgIGlmIChYWFdJREdFVCAoeHYtPm1vZGVsKSA9PSB4dykKKyAgICAgICAgICAgIHsKKyNpZiBk ZWZpbmVkIChVU0VfR1RLKQogICAgICAgICAgICAgICBndGtfd2lkZ2V0X3NldF9zaXplX3JlcXVl c3QgKEdUS19XSURHRVQgKHh2LT53aWRnZXQpLCB4dy0+d2lkdGgsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgeHctPmhlaWdodCk7CisjZWxpZiBkZWZpbmVkIChI QVZFX05TKQorICAgICAgICAgICAgICBuc3h3aWRnZXRfcmVzaXplX3ZpZXcoeHYsIHh3LT53aWR0 aCwgeHctPmhlaWdodCk7CisjZW5kaWYKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0K IApAQCAtNzg1LDEwICs4OTAsMTQgQEAgRW1hY3MgYWxsb2NhdGVkIGFyZWEgYWNjb3JkaW5nbHku ICAqLykKICAgKExpc3BfT2JqZWN0IHh3aWRnZXQpCiB7CiAgIENIRUNLX1hXSURHRVQgKHh3aWRn ZXQpOworI2lmIGRlZmluZWQgKFVTRV9HVEspCiAgIEd0a1JlcXVpc2l0aW9uIHJlcXVpc2l0aW9u OwogICBndGtfd2lkZ2V0X3NpemVfcmVxdWVzdCAoWFhXSURHRVQgKHh3aWRnZXQpLT53aWRnZXRf b3NyLCAmcmVxdWlzaXRpb24pOwogICByZXR1cm4gbGlzdDIgKG1ha2VfbnVtYmVyIChyZXF1aXNp dGlvbi53aWR0aCksCiAJCW1ha2VfbnVtYmVyIChyZXF1aXNpdGlvbi5oZWlnaHQpKTsKKyNlbGlm IGRlZmluZWQgKEhBVkVfTlMpCisgIHJldHVybiBuc3h3aWRnZXRfZ2V0X3NpemUoWFhXSURHRVQg KHh3aWRnZXQpKTsKKyNlbmRpZgogfQogCiBERUZVTiAoInh3aWRnZXRwIiwKQEAgLTg2NSwxNCAr OTc0LDE5IEBAIERFRlVOICgiZGVsZXRlLXh3aWRnZXQtdmlldyIsCiB7CiAgIENIRUNLX1hXSURH RVRfVklFVyAoeHdpZGdldF92aWV3KTsKICAgc3RydWN0IHh3aWRnZXRfdmlldyAqeHYgPSBYWFdJ REdFVF9WSUVXICh4d2lkZ2V0X3ZpZXcpOwotICBndGtfd2lkZ2V0X2Rlc3Ryb3kgKHh2LT53aWRn ZXR3aW5kb3cpOwogICBWeHdpZGdldF92aWV3X2xpc3QgPSBGZGVscSAoeHdpZGdldF92aWV3LCBW eHdpZGdldF92aWV3X2xpc3QpOworI2lmIGRlZmluZWQgKFVTRV9HVEspCisgIGd0a193aWRnZXRf ZGVzdHJveSAoeHYtPndpZGdldHdpbmRvdyk7CiAgIC8qIHh2LT5tb2RlbCBzdGlsbCBoYXMgc2ln bmFscyBwb2ludGluZyB0byB0aGUgdmlldy4gIFRoZXJlIGNhbiBiZQogICAgICBzZXZlcmFsIHZp ZXdzLiAgRmluZCB0aGUgbWF0Y2hpbmcgc2lnbmFscyBhbmQgZGVsZXRlIHRoZW0gYWxsLiAgKi8K ICAgZ19zaWduYWxfaGFuZGxlcnNfZGlzY29ubmVjdF9tYXRjaGVkICAoWFhXSURHRVQgKHh2LT5t b2RlbCktPndpZGdldHdpbmRvd19vc3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEdfU0lHTkFMX01BVENIX0RBVEEsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDAsIDAsIDAsIDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHh2LT53aWRnZXQpOworI2VsaWYgZGVmaW5lZCAoSEFWRV9OUykKKyAgbnN4 d2lkZ2V0X2RlbGV0ZV92aWV3ICh4dik7CisjZW5kaWYKKwogICByZXR1cm4gUW5pbDsKIH0KIApA QCAtMTE1MSwxMSArMTI2NSwxOSBAQCB4d2lkZ2V0X2VuZF9yZWRpc3BsYXkgKHN0cnVjdCB3aW5k b3cgKncsIHN0cnVjdCBnbHlwaF9tYXRyaXggKm1hdHJpeCkKIAkJICAgICB4d2lkZ2V0X2VuZF9y ZWRpc3BsYXkgKHctPmN1cnJlbnRfbWF0cml4KTsgICovCiAJCSAgc3RydWN0IHh3aWRnZXRfdmll dyAqeHYKIAkJICAgID0geHdpZGdldF92aWV3X2xvb2t1cCAoZ2x5cGgtPnUueHdpZGdldCwgdyk7 CisjaWYgZGVmaW5lZCAoVVNFX0dUSykKIAkJICAvKiBGSVhNRTogSXMgaXQgc2FmZSB0byBhc3N1 bWUgeHdpZGdldF92aWV3X2xvb2t1cAogCQkgICAgIGFsd2F5cyBzdWNjZWVkcyBoZXJlPyAgSWYg c28sIHRoaXMgY29tbWVudCBjYW4gYmUgcmVtb3ZlZC4KIAkJICAgICBJZiBub3QsIHRoZSBjb2Rl IHByb2JhYmx5IG5lZWRzIGZpeGluZy4gICovCiAJCSAgZWFzc3VtZSAoeHYpOwogCQkgIHh3aWRn ZXRfdG91Y2ggKHh2KTsKKyNlbGlmIGRlZmluZWQgKEhBVkVfTlMpCisgICAgICAgICAgICAgICAg ICAvKiBJbiBOUyB4d2lkZ2V0LCB4diBjYW4gYmUgTlVMTCBmb3IgdGhlIHNlY29uZCBvcgorICAg ICAgICAgICAgICAgICAgICAgbGF0ZXIgdmlld3MgZm9yIGEgbW9kZWwsIHRoZSByZXN1bHQgb2Yg MSB0byAxCisgICAgICAgICAgICAgICAgICAgICBtb2RlbCB2aWV3IHJlbGF0aW9uIGVuZm9yY2Vt ZW50LiAqLworICAgICAgICAgICAgICAgICAgaWYgKHh2KQorICAgICAgICAgICAgICAgICAgICB4 d2lkZ2V0X3RvdWNoICh4dik7CisjZW5kaWYKIAkJfQogCSAgfQogICAgIH0KQEAgLTExNzIsOSAr MTI5NCwyMSBAQCB4d2lkZ2V0X2VuZF9yZWRpc3BsYXkgKHN0cnVjdCB3aW5kb3cgKncsIHN0cnVj dCBnbHlwaF9tYXRyaXggKm1hdHJpeCkKICAgICAgICAgICBpZiAoWFdJTkRPVyAoeHYtPncpID09 IHcpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgIGlmICh4d2lkZ2V0X3RvdWNoZWQgKHh2 KSkKLSAgICAgICAgICAgICAgICB4d2lkZ2V0X3Nob3dfdmlldyAoeHYpOworICAgICAgICAgICAg ICAgIHsKKyNpZiBkZWZpbmVkIChVU0VfR1RLKQorICAgICAgICAgICAgICAgICAgeHdpZGdldF9z aG93X3ZpZXcgKHh2KTsKKyNlbGlmIGRlZmluZWQgKEhBVkVfTlMpCisgICAgICAgICAgICAgICAg ICBuc3h3aWRnZXRfc2hvd192aWV3ICh4dik7CisjZW5kaWYKKyAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB4d2lkZ2V0X2hpZGVfdmlldyAoeHYp OworICAgICAgICAgICAgICAgIHsKKyNpZiBkZWZpbmVkIChVU0VfR1RLKQorICAgICAgICAgICAg ICAgICAgeHdpZGdldF9oaWRlX3ZpZXcgKHh2KTsKKyNlbGlmIGRlZmluZWQgKEhBVkVfTlMpCisg ICAgICAgICAgICAgICAgICBuc3h3aWRnZXRfaGlkZV92aWV3ICh4dik7CisjZW5kaWYKKyAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CkBAIC0xMTkzLDEx ICsxMzI3LDE2IEBAIGtpbGxfYnVmZmVyX3h3aWRnZXRzIChMaXNwX09iamVjdCBidWZmZXIpCiAg ICAgICB7CiAgICAgICAgIENIRUNLX1hXSURHRVQgKHh3aWRnZXQpOwogICAgICAgICBzdHJ1Y3Qg eHdpZGdldCAqeHcgPSBYWFdJREdFVCAoeHdpZGdldCk7CisjaWYgZGVmaW5lZCAoVVNFX0dUSykK ICAgICAgICAgaWYgKHh3LT53aWRnZXRfb3NyICYmIHh3LT53aWRnZXR3aW5kb3dfb3NyKQogICAg ICAgICAgIHsKICAgICAgICAgICAgIGd0a193aWRnZXRfZGVzdHJveSAoeHctPndpZGdldF9vc3Ip OwogICAgICAgICAgICAgZ3RrX3dpZGdldF9kZXN0cm95ICh4dy0+d2lkZ2V0d2luZG93X29zcik7 CiAgICAgICAgICAgfQorI2VsaWYgZGVmaW5lZCAoSEFWRV9OUykKKyAgICAgICAgbnN4d2lkZ2V0 X2tpbGwgKHh3KTsKKyNlbmRpZgorICAgICAgICAvKiBUT0RPOiBkZS91bmFsbG9jYXRlX3h3aWRn ZXQgKi8KICAgICAgIH0KICAgICB9CiB9CmRpZmYgLS1naXQgYS9zcmMveHdpZGdldC5oIGIvc3Jj L3h3aWRnZXQuaAppbmRleCAwMmEwNDUzZGFiLi5jZGQwMjhlNmY4IDEwMDY0NAotLS0gYS9zcmMv eHdpZGdldC5oCisrKyBiL3NyYy94d2lkZ2V0LmgKQEAgLTI5LDcgKzI5LDEzIEBAIHN0cnVjdCB4 d2lkZ2V0X3ZpZXc7CiBzdHJ1Y3Qgd2luZG93OwogCiAjaWZkZWYgSEFWRV9YV0lER0VUUwotIyBp bmNsdWRlIDxndGsvZ3RrLmg+CisKKyNpZiBkZWZpbmVkIChVU0VfR1RLKQorI2luY2x1ZGUgPGd0 ay9ndGsuaD4KKyNlbGlmIGRlZmluZWQgKEhBVkVfTlMpICYmIGRlZmluZWQgKF9fT0JKQ19fKQor I2ltcG9ydCA8QXBwS2l0L05TVmlldy5oPgorI2ltcG9ydCAibnN4d2lkZ2V0LmgiCisjZW5kaWYK IAogc3RydWN0IHh3aWRnZXQKIHsKQEAgLTUyLDkgKzU4LDI1IEBAIHN0cnVjdCB4d2lkZ2V0CiAg IGludCBoZWlnaHQ7CiAgIGludCB3aWR0aDsKIAorI2lmIGRlZmluZWQgKFVTRV9HVEspCiAgIC8q IEZvciBvZmZzY3JlZW4gd2lkZ2V0cywgdW51c2VkIGlmIG5vdCBvc3IuICAqLwogICBHdGtXaWRn ZXQgKndpZGdldF9vc3I7CiAgIEd0a1dpZGdldCAqd2lkZ2V0d2luZG93X29zcjsKKyNlbGlmIGRl ZmluZWQgKEhBVkVfTlMpCisjIGlmZGVmIF9fT0JKQ19fCisgIC8qIEZvciBvZmZzY3JlZW4gd2lk Z2V0cywgdW51c2VkIGlmIG5vdCBvc3IuICAqLworICBOU1ZpZXcgKnh3V2lkZ2V0OworICBYd1dp bmRvdyAqeHdXaW5kb3c7CisKKyAgLyogVXNlZCBvbmx5IGZvciB4d2lkZ2V0IHR5cGVzIChzdWNo IGFzIHdlYmtpdDIpIGVuZm9yY2luZyAxIHRvIDEKKyAgICAgcmVsYXRpb25zaGlwIGJldHdlZW4g bW9kZWwgYW5kIHZpZXcuICovCisgIHN0cnVjdCB4d2lkZ2V0X3ZpZXcgKnh2OworIyBlbHNlCisg IHZvaWQgKnh3V2lkZ2V0OworICB2b2lkICp4d1dpbmRvdzsKKyAgc3RydWN0IHh3aWRnZXRfdmll dyAqeHY7CisjIGVuZGlmCisjZW5kaWYKIAogICAvKiBLaWxsIHNpbGVudGx5IGlmIEVtYWNzIGlz IGV4aXRlZC4gICovCiAgIGJvb2xfYmYga2lsbF93aXRob3V0X3F1ZXJ5IDogMTsKQEAgLTc0LDkg Kzk2LDIwIEBAIHN0cnVjdCB4d2lkZ2V0X3ZpZXcKICAgLyogVGhlICJsaXZlIiBpbnN0YW5jZSBp c24ndCBkcmF3bi4gICovCiAgIGJvb2wgaGlkZGVuOwogCisjaWYgZGVmaW5lZCAoVVNFX0dUSykK ICAgR3RrV2lkZ2V0ICp3aWRnZXQ7CiAgIEd0a1dpZGdldCAqd2lkZ2V0d2luZG93OwogICBHdGtX aWRnZXQgKmVtYWNzd2luZG93OworI2VsaWYgZGVmaW5lZCAoSEFWRV9OUykKKyMgaWZkZWYgX19P QkpDX18KKyAgWHZXaW5kb3cgKnh2V2luZG93OworICBOU1ZpZXcgKmVtYWNzd2luZG93OworIyBl bHNlCisgIHZvaWQgKnh2V2luZG93OworICB2b2lkICplbWFjc3dpbmRvdzsKKyMgZW5kaWYKKyNl bmRpZgorCiAgIGludCB4OwogICBpbnQgeTsKICAgaW50IGNsaXBfcmlnaHQ7Ci0tIAoyLjE1LjAK Cg== --001a114683027190ab055f866fb3-- From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 04 16:00:04 2017 Received: (at 29565) by debbugs.gnu.org; 4 Dec 2017 21:00:04 +0000 Received: from localhost ([127.0.0.1]:45994 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLxqJ-0006si-69 for submit@debbugs.gnu.org; Mon, 04 Dec 2017 16:00:04 -0500 Received: from mail-wr0-f175.google.com ([209.85.128.175]:41082) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLxqC-0006sO-9C for 29565@debbugs.gnu.org; Mon, 04 Dec 2017 15:59:57 -0500 Received: by mail-wr0-f175.google.com with SMTP id z18so18844644wrb.8 for <29565@debbugs.gnu.org>; Mon, 04 Dec 2017 12:59:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=J31WQ6ZynO9ex0CD/XeHkGZmY9axx6MmPqhd79OIr5k=; b=gqmy2eZJaZIhr0lycNr8RnN+PcxpJIvetCxMZ8OMnQaDLmgFti3zb8JZ0nXs7qZ3W7 MuRr19hn51pjND+oaBiiQLaGQQOp0IfWC09aQrUtyH/BS8WW9wB3YGiH80XkoNB3I0WR 5jhGVTTvR+PtYQ54cacr7vtm0R/P2sKPbmU2RkEEX1J9RPV4U49+cMuU/vuxvyHoOHNz og6w8g4HkuUCsc7f0+5//lXFLUZRGQZOlBOxe2cThB53IqG6HXS9euz1c3p5BkuyJRyM K0MQEJCONh9n2+P2v47X0P2opfJ+VqNgv9XCWORPuLmoxfVtdsM6f2gq2paQ2zbjFFRW x4tQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition :content-transfer-encoding:in-reply-to:user-agent; bh=J31WQ6ZynO9ex0CD/XeHkGZmY9axx6MmPqhd79OIr5k=; b=eF9xftczRSI2PxtMOrLpVOa52+YEZW4xpI1l+a6spYxfTKjNHMcG3BYh9lmmXuEoaS T0IvRUFl8mITiBzynLy6WXNEw7O4u9s1RhSVgrk27iKE11eMovSKwc2upF+i9lmM0Kb1 nufwASz2Puq1VuF0hSoJ5UERxWvhTMVO/Tkk05s3NeIdfkXwCOtQq0NXM1dAPAsdq8M6 CGO6X76vQnmL4Wm9EEmvaxr450G8jQZ5hrmjDzJr/QwbnbKyZ04WCeSHrsOmV+Mbb+VR oW6x6vBCtUxswigNSxJMk0UawsbgjYBYxotpKl9Ko69gzmX8cxqRMJNVZMZuqzXutqjO HDCQ== X-Gm-Message-State: AJaThX7+FoNZqy7WvNsFSk+gsyDoE5h/qV1sFjFJLlIdMUwrEkkP2S3N YP6lVcxFO7O0CirRYPOYFdPSpTZT X-Google-Smtp-Source: AGs4zMZyna1TXATNKO87lu+0g1wAA6CHOLFPQuqeRtWNx21ZMlFilWVc6woMmJMcsyuVUpQZhda0ZA== X-Received: by 10.223.181.150 with SMTP id c22mr16178119wre.0.1512421186380; Mon, 04 Dec 2017 12:59:46 -0800 (PST) Received: from breton.holly.idiocy.org (ip6-2001-08b0-03f8-8129-0862-5dc3-379c-8bbf.holly.idiocy.org. [2001:8b0:3f8:8129:862:5dc3:379c:8bbf]) by smtp.gmail.com with ESMTPSA id k19sm16591975wrk.88.2017.12.04.12.59.45 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 04 Dec 2017 12:59:45 -0800 (PST) Date: Mon, 4 Dec 2017 20:59:43 +0000 From: Alan Third To: Jaesup Kwak Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X Message-ID: <20171204205943.GA38879@breton.holly.idiocy.org> References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.9.1 (2017-09-22) X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 29565 Cc: 29565@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) On Tue, Dec 05, 2017 at 01:44:42AM +0900, Jaesup Kwak wrote: > I attached a patch to support xwidget webkit for macOS X, rebased onto the > latest master. Hi, thanks for working on this, it looks really good. I’ve had a quick glance over it and I have a few comments. In configure.ac you’re doing elif test "$window_system" = "nextstep"; then I think instead of that you should be doing elif test "${NS_IMPL_COCOA}" = "yes"; then as nextstep covers GNUstep, but it doesn’t have a webkit implementation (yet). There might be other places where NS_IMPL_COCOA is more appropriate than HAVE_NS, but it builds fine against GNUstep with xwidgets off, so it’s not too important. I notice you’re adding .DS_Store to .gitignore, which is a good idea, but I don’t think it should be done in this patch. It seems a little off‐topic. I’m also a little unsure about this NSAppTransportSecurity NSAllowsArbitraryLoads The comment says ‘uncomment’, but it *is* uncommented. Am I misunderstanding? (Also I think there should be two spaces at the end of comments.) I think we’ll want to add NSTRACE lines in each function, but perhaps we should create a new category for XWidgets. -- Alan Third From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 05 01:01:54 2017 Received: (at 29565) by debbugs.gnu.org; 5 Dec 2017 06:01:54 +0000 Received: from localhost ([127.0.0.1]:46273 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eM6Ik-0008EV-Gl for submit@debbugs.gnu.org; Tue, 05 Dec 2017 01:01:54 -0500 Received: from mail-wr0-f173.google.com ([209.85.128.173]:42745) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eM6Ih-0008EG-Cr for 29565@debbugs.gnu.org; Tue, 05 Dec 2017 01:01:53 -0500 Received: by mail-wr0-f173.google.com with SMTP id s66so19687296wrc.9 for <29565@debbugs.gnu.org>; Mon, 04 Dec 2017 22:01:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=VOl8IG98DykNpGDdmMhLByimsgYO74EUsYTx2xDBdME=; b=WaOtsMtlzNEM1tBzUEHPqJ/1tfdmlvkiPvXkXkkbRJn6uOHVX9eLGrZ/kcgs4/KcZY uqGQRX8HMmvj5IjcxSmWy90MfRUEvc8LWQ1ncneiXtVJGtIYae3OGadxXommIWTh6mCt W4+Rj6z1/3eMvoLwMAyu5x4cKGRY4K/JZwGWeC/f7s0DzDHqvd7gL13kJsTtK9LDO4IT Qhw1TLEvBXDi+/2QuOJMbse9wFOBJue1AnV2HfsMsgFkOZqqbJJCpSfdWaLGeDsbdcf/ FrBLzAQCESNK5waskUVkxN6YvH4S3Jvd9ek2ct64dmjK6yO7GyZ1U5l3zum+ZoslMjQE e0HA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=VOl8IG98DykNpGDdmMhLByimsgYO74EUsYTx2xDBdME=; b=kCxRWIhqZw9ooPyOJfe75JnjWQlyfGOw76oPXm21DrZVVdBSQRy9GuOhUrqh5Qi3sB aW+xcavo72LNHo+jZA+aZOkoyQCdRZ6C0LYDLwlOjaky7VVdtD2PqD6aSu7xd/j0QnIJ 3eIn7CEktAWVA7kGQSQXOogqbOeJp31nMloliql6bGe93A3VVzjID9GaxN1CD+V+yGyg bcA8SFeSHeQ2N0Nb/LHTSHKAycDbNLxj4Hq6VnfUlB4EhOITorrI6Gyjspiw+sobGHrk FyIVz7HTjGTO9DAfFGt0lIaNPvYNJuhLjRA6/iYJqgXOjo4JRtQvypaadMMnsJCHsgzk s74A== X-Gm-Message-State: AJaThX6S9+d7qAy8wTut2qdRJ6pEUs/inf0TZEbkfEDdZRFAhsNDQwri Sb2snbY5getoeWB0zNQLoyKgaRGSA3/6sqcaJLo= X-Google-Smtp-Source: AGs4zMa2xJzDN7CR1zMIJlcVvYOBBMTHRIC0S1eP7CtZvkQjPD9xStw2i3u3gpUiboudXR/v+hF6dLx36F4a0YvzH8U= X-Received: by 10.223.139.8 with SMTP id n8mr15235221wra.225.1512453705507; Mon, 04 Dec 2017 22:01:45 -0800 (PST) MIME-Version: 1.0 Received: by 10.28.227.67 with HTTP; Mon, 4 Dec 2017 22:01:45 -0800 (PST) In-Reply-To: <20171204205943.GA38879@breton.holly.idiocy.org> References: <20171204205943.GA38879@breton.holly.idiocy.org> From: Jaesup Kwak Date: Tue, 5 Dec 2017 15:01:45 +0900 Message-ID: Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X To: Alan Third Content-Type: multipart/alternative; boundary="f403045e9fb8db283b055f91918b" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29565 Cc: 29565@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) --f403045e9fb8db283b055f91918b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Dec 5, 2017 at 5:59 AM, Alan Third wrote: > > In configure.ac you=E2=80=99re doing > > elif test "$window_system" =3D "nextstep"; then > > I think instead of that you should be doing > > elif test "${NS_IMPL_COCOA}" =3D "yes"; then > > as nextstep covers GNUstep, but it doesn=E2=80=99t have a webkit > implementation (yet). > > There might be other places where NS_IMPL_COCOA is more appropriate > than HAVE_NS, but it builds fine against GNUstep with xwidgets off, so > it=E2=80=99s not too important. > Agree. I fixed to use "${NS_IMPL_COCOA}" in configura.ac and #ifdef NS_IMPL_COCOA in implementation source files. I am testing the fixes. It looks good to me also. > I notice you=E2=80=99re adding .DS_Store to .gitignore, which is a good i= dea, > but I don=E2=80=99t think it should be done in this patch. It seems a lit= tle > off=E2=80=90topic. Okay, I will remove it from .gitignore. I=E2=80=99m also a little unsure about this > > > NSAppTransportSecurity > > NSAllowsArbitraryLoads > > > > The comment says =E2=80=98uncomment=E2=80=99, but it *is* uncommented. Am= I > misunderstanding? > You are right, the comment is outdated and I will fix it. > (Also I think there should be two spaces at the end of comments.) > I was curious about the two spaces ending comments. It is clear now thanks to you. I will fix this also. > > I think we=E2=80=99ll want to add NSTRACE lines in each function, but per= haps > we should create a new category for XWidgets. I put off this item at this time, there will be chance to do this later. I will soon post a patch accompanying above changes. Thanks for your valuable comments. --f403045e9fb8db283b055f91918b Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On T= ue, Dec 5, 2017 at 5:59 AM, Alan Third <alan@idiocy.org> wrote= :

In con= figure.ac you=E2=80=99re doing

=C2=A0 =C2=A0 elif test "$window_system" =3D "nextstep"= ; then

I think instead of that you should be doing

=C2=A0 =C2=A0 elif test "${NS_IMPL_COCOA}" =3D "yes"; t= hen

as nextstep covers GNUstep, but it doesn=E2=80=99t have a webkit
implementation (yet).

There might be other places where NS_IMPL_COCOA is more appropriate
than HAVE_NS, but it builds fine against GNUstep with xwidgets off, so
it=E2=80=99s not too important.

Agree. = I fixed to use "${NS_IMPL_COCOA}" in configura.ac
and #ifdef NS_IMPL_COCOA in implementation s= ource files.
I am testing the fixes. It looks good to me also.
=C2=A0
I notice you=E2=80=99re adding .DS_Store to .gitignore, which is a good ide= a,
but I don=E2=80=99t think it should be done in this patch. It seems a littl= e
off=E2=80=90topic.

Okay, I will remove it f= rom .gitignore.=C2=A0

I=E2=80=99m also a little unsure about this

=C2=A0 =C2=A0 <!-- FIXME: Uncomment for xwidget webkit to browse remote = url,
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0but this set no restriction at all.=C2=A0= Consult apple's documentation
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0for detail information about `NSApplicati= onDefinedMask'. -->
=C2=A0 =C2=A0 <key>NSAppTransportSecurity</key>
=C2=A0 =C2=A0 <dict>
=C2=A0 =C2=A0 =C2=A0 <key>NSAllowsArbitraryLoads</key>
=C2=A0 =C2=A0 =C2=A0 <true/>
=C2=A0 =C2=A0 </dict>

The comment says =E2=80=98uncomment=E2=80=99, but it *is* uncommented. Am I=
misunderstanding?

You are right, the co= mment is outdated and I will fix it.
=C2=A0
(Also I think there should be two spaces at the end of comments.)

I was curious about the two spaces ending commen= ts.=C2=A0 It is clear now thanks to you.
I will fix this also.
=C2=A0

I think we=E2=80=99ll want to add NSTRACE lines in each function, but perha= ps
we should create a new category for XWidgets.

I put off this item at this time, there will be chance to do this later.=

I will soon post a patch accompanying above chang= es.

Thanks for your valuable comments.
=
--f403045e9fb8db283b055f91918b-- From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 05 02:56:04 2017 Received: (at 29565) by debbugs.gnu.org; 5 Dec 2017 07:56:04 +0000 Received: from localhost ([127.0.0.1]:46358 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eM85E-0004cs-FC for submit@debbugs.gnu.org; Tue, 05 Dec 2017 02:56:04 -0500 Received: from mail-wm0-f45.google.com ([74.125.82.45]:39405) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eM85D-0004cO-83 for 29565@debbugs.gnu.org; Tue, 05 Dec 2017 02:56:03 -0500 Received: by mail-wm0-f45.google.com with SMTP id i11so18558368wmf.4 for <29565@debbugs.gnu.org>; Mon, 04 Dec 2017 23:56:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=r1/dQejlFV1HJ+5BMbEp+r9SapFgSG0JtLIPHdv8uow=; b=Nt2Z9xAwv4MFZi4QQ2HepCgbsyf5BLonNr/WkwGSEsWHRnS3F2YMpiL4eLMwYckH/B I6dkjte4i8uaumhbUU3a6PgQqlGAwSF1r8dG4zzmJKgpRKmJZ83+4Zi7UBIjbhDpjxv/ FoezYnTQPPQIOz9aCy3lLWExndapBTyESMQ12u+JqNf5T6cldbeY1Nt9y2blAMGvrUqS 4VZ425e5Q/87TcEzAT6bskNMowmY3eakRbMkAC1N0Z0C/xcK/DiWOSmEzQePJbtwl4TT lNE1ACgzaIfMsj7YS3PkSiGepmy3sW2O3/p/p2oucAUBenCe+YH8vKYgMrq+H1i08b0S OwYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=r1/dQejlFV1HJ+5BMbEp+r9SapFgSG0JtLIPHdv8uow=; b=ffaeOv7udJnhGKuWfr/9uu3uY7lVD61MFKALtOXwcvIvTJKDstIbiFum/MCF4RlDfX XFsX400MQ8gA0tPHq9mahV4hv4FoqrLDrmdsboD+Vlpu2LvuZFI71YQ4xjNtYvvWCqGI UwKzkrB3qv0Pc0MqDMT2cnJZg1rayCnZFOEy/wHQpydK/cUZUqbGNuSPOKSdDcJVapbX IiwpWslqiyGOO9FkPJCUIsvttMS1KLoTRI/Un9yg4CdsV5hYOR4PbsoDTC8ROePGj8vA une9m6tCIGg5dphaZJxqKENmtAHV9TyYdoY8DbwHCDckOjthlA0iuEzyjL9TowCMNCOo 1Fpw== X-Gm-Message-State: AKGB3mKoP7xOpXQgy3P+J/8lZoXhNmS5mP1M2ELRBXAtmDdqnaIgMSiz +ox+PtxbOfghExX3CmqCrZSBkqHmfOl05e9gJf7dSg== X-Google-Smtp-Source: AGs4zMaP74lRuOAP/bSJ5jB6zwEwMC54azX3J89BM4/6efu/cikOodMPkFaNfBYynhIEC//G5pq6ZmRVcgwBM6zhc2E= X-Received: by 10.28.212.148 with SMTP id l142mr4476405wmg.99.1512460557198; Mon, 04 Dec 2017 23:55:57 -0800 (PST) MIME-Version: 1.0 Received: by 10.28.227.67 with HTTP; Mon, 4 Dec 2017 23:55:56 -0800 (PST) In-Reply-To: References: <20171204205943.GA38879@breton.holly.idiocy.org> From: Jaesup Kwak Date: Tue, 5 Dec 2017 16:55:56 +0900 Message-ID: Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X To: 29565@debbugs.gnu.org Content-Type: multipart/mixed; boundary="001a114697de3fcc78055f932a98" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29565 Cc: Alan Third X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --001a114697de3fcc78055f932a98 Content-Type: multipart/alternative; boundary="001a114697de3fcc72055f932a96" --001a114697de3fcc72055f932a96 Content-Type: text/plain; charset="UTF-8" On Tue, Dec 5, 2017 at 3:01 PM, Jaesup Kwak wrote: > > I will soon post a patch accompanying above changes. > > I made and attached a new patch, which includes changes for comments from Alan Third and previous patch. So, please ignore the patch file from previous post and use this patch file. Thanks. --001a114697de3fcc72055f932a96 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On T= ue, Dec 5, 2017 at 3:01 PM, Jaesup Kwak <veshboo@gmail.com> = wrote:

I will soon post a patch accompanying above = changes.


I made and attached a new patch, which includes changes for c= omments
from Alan Third and previous patch. So, please ignore the= patch file
from previous post and use this patch file.

Thanks.

--001a114697de3fcc72055f932a96-- --001a114697de3fcc78055f932a98 Content-Type: application/octet-stream; name="0001-Support-xwidget-webkit-for-macOS-X.20171205.patch" Content-Disposition: attachment; filename="0001-Support-xwidget-webkit-for-macOS-X.20171205.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jatbya8z0 RnJvbSAzYmUzOGE2MzczNWU5MTFiNzMyMjU5MWFmNWUzOGQxYWM5MGEzMTI1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWVzdXAgS3dhayA8dmVzaGJvb0BnbWFpbC5jb20+CkRhdGU6 IE1vbiwgNCBEZWMgMjAxNyAyMToyMzoxOSArMDkwMApTdWJqZWN0OiBbUEFUQ0hdIFN1cHBvcnQg eHdpZGdldCB3ZWJraXQgZm9yIG1hY09TIFgKCkFkZCB4d2lkZ2V0IHdlYmtpdCBzdXBwb3J0IGZv ciBtYWNPUyBYIC8gTlMgQ29jb2EgYW5kIGFjY29tcGFueWluZwpjaGFuZ2VzLgoKU3F1YXNoIGNo YW5nZXMgZm9yIGNvbW1lbnRzIGZyb20gQWxhbiBUaGlyZCBpbiBCdWcjMjk1NjUuCgoqIGNvbmZp Z3VyZS5hYzogQWxsb3cgJy0td2l0aC14d2lkZ2V0cycgZm9yICIke05TX0lNUExfQ09DT0F9Ii4K KiBsaXNwL3h3aWRnZXQuZWwKKHh3aWRnZXQtd2Via2l0LWN4Mi1jYiwgeHdpZGdldC13ZWJraXQt Y3gzLWNiLCB4d2lkZ2V0LXdlYmtpdC1jeDIpCih4d2lkZ2V0LXdlYmtpdC1jeDMsIHh3aWRnZXQt d2Via2l0LW1vZGUtbWFwKTogTmV3IHdlYmtpdCBzZXNzaW9uIHdoZW4Kd2luZG93IHNwbGl0IGFu ZCBrZXkgbWFwIGZvciAnbmV4dHN0ZXAnLgooeHdpZGdldC1sb2cpOiBGaXggdHlwbyBpbiBidWZm ZXIgbmFtZS4KKHh3aWRnZXQtZXZlbnQtaGFuZGxlcik6IFJlbW92ZSBhICdtZXNzYWdlJy4KKHh3 aWRnZXQtd2Via2l0LWNhbGxiYWNrLCB4d2lkZ2V0LXdlYmtpdC11cmwtdGl0bGUtY2IpOiBSZXBs YWNlIGxhbWJkYQp3aXRoIGRlZnVuIGZvciBHQyBzYWZlLCByZW1lbWJlciBVUkwgZm9yIGJvb2tt YXJrIGludGVncmF0aW9uLCBhbmQKc3VwcG9ydCB2ZWN0b3IgcmVzdWx0IGZyb20gamF2YXNjcmlw dC4KKHh3aWRnZXQtd2Via2l0LW1vZGUpOiBObyBjdXJzb3IgYW5kIGludGVncmF0aW9uIGZvciAn aXNlYXJjaCcuCih4d2lkZ2V0LXdlYmtpdC1ib29rbWFyay1qdW1wLW5ldy1zZXNzaW9uKTogQWRk IG5ldyB2YXJpYWJsZS4KKHh3aWRnZXQtd2Via2l0LWJvb2ttYXJrLW1ha2UtcmVjb3JkKTogQ2hh bmdlcyB0byBzYXZlIFVSTCBpbgonZmlsZW5hbWUnIGF0dHJpYnV0ZSBvZiBhIGJvb2ttYXJrIHJl Y29yZCwgdGhlIFVSTCBvYnRhaW5lZCB3aGVuIHRoZQpwYWdlIHdhcyBsb2FkZWQsIGFuZCAnc3dp dGNoLXRvLWJ1ZmZlcicgd2hlbiBhIGJvb2ttYXJrIHNlbGVjdGVkLgooeHdpZGdldC13ZWJraXQt aXNlYXJjaC1sYXN0LWxlbmd0aCwgeHdpZGdldC13ZWJraXQtc2VhcmNoLWpzKQooeHdpZGdldC13 ZWJraXQtc2VhcmNoLWZ1bi1mdW5jdGlvbik6IEludGVncmF0aW9uIGZvciAnaXNlYXJjaCcuCih4 d2lkZ2V0LXdlYmtpdC1pbnNlcnQtc3RyaW5nLCB4d2lkZ2V0LXdlYmtpdC1pbnNlcnQtc3RyaW5n LWNiKTogR0MKc2FmZSwgRklFTEQgaXMgbm93IGEgbGlzdCwgYW5kIGZpeCBmb3IgYSBqYXZhc2Ny aXB0IGV4Y2VwdGlvbi4KKHh3aWRnZXQtd2luZG93LWluc2lkZS1waXhlbC13aWR0aCkKKHh3aWRn ZXQtd2luZG93LWluc2lkZS1waXhlbC1oZWlnaHQpCih4d2lkZ2V0LXdlYmtpdC1hZGp1c3Qtc2l6 ZS10by13aW5kb3cpCih4d2lkZ2V0LXdlYmtpdC1uZXctc2Vzc2lvbik6IE5ldyBmdW5jdGlvbnMg dG8gZ2V0IHdpbmRvdyBpbnNpZGUgd2lkdGgKYW5kIGhlaWdodCBpbiBwaXhlbCBhbmQgaW5zZXJ0 IGludmlzaWJsZSBVUkwgaW5zdGVhZCBvZiAnICcuCih4d2lkZ2V0LXdlYmtpdC1jdXJyZW50LXVy bCwgeHdpZGdldC13ZWJraXQtY3VycmVudC11cmwtY2IpOiBHQyBzYWZlLgooeHdpZGdldC13ZWJr aXQtY29weS1zZWxlY3Rpb24tYXMta2lsbCk6IEdDIHNhZmUuCiogbmV4dHN0ZXAvdGVtcGxhdGVz L0luZm8ucGxpc3QuaW46IEFkZCAnTlNBcHBUcmFuc3BvcnRTZWN1cml0eScuCiogc3JjL01ha2Vm aWxlLmluOiBBZGQgbnN4d2lkZ2V0Lm8gZm9yIGNvbXBpbGF0aW9uLgoqIHNyYy9lbWFjcy5jICht YWluKTogU2ltcGxpZnkgY29uZGl0aW9uYWwgY2FsbCB0byAnc3ltc19vZl94d2lkZ2V0Jy4KKiBz cmMvbnN0ZXJtLm0gKG5zX2RyYXdfZ2x5cGhfc3RyaW5nKTogQWRkIGNhc2UgZm9yICdYV0lER0VU X0dMWVBIJy4KKG5vdGVfbW91c2VfbW92ZW1lbnQgbW91c2VNb3ZlZCk6IE1ha2UgaXQgZWFzeSB0 byByZXNpemUgd2luZG93IGJ5CmRyYWdnaW5nIG1vZGUtbGluZSBvciB2ZXJ0aWNhbCBzZXBhcmF0 b3IgYWRqYWNlbnQgdG8gbGFyZ2UgZ2x5cGguCiogc3JjL25zeHdpZGdldC5oIHNyYy9uc3h3aWRn ZXQubTogTmV3bHkgYWRkZWQgZmlsZXMsIHh3aWRnZXQgd2Via2l0CmJhY2tlbmQgZm9yIG1hY09T IENvY29hLgoqIHNyYy94d2lkZ2V0LmMgc3JjL3h3aWRnZXQuaCAoeHdpZGdldCB4d2lkZ2V0X3Zp ZXcpOiBBZGQgbWFjT1MgQ29jb2EKc3BlY2lmaWMgZmllbGRzIHdpdGggJ05TX0lNUExfQ09DT0En LCBndWFyZCBHVEsgc3BlY2lmaWMgZmllbGRzIHdpdGgKJ1VTRV9HVEsnIGluIHRoZSBzdHJ1Y3R1 cmVzLCBhbmQgaW1wbGVtZW50IGFjY29yZGluZ2x5LgooeF9kcmF3X3h3aWRnZXRfZ2x5cGhfc3Ry aW5nKTogQ2hhbmdlIGZvciB0b3AgYWxpZ25tZW50IG9mIHh3aWRnZXRzIGluCmEgZ2x5cGggc3Ry aW5nIGluc3RlYWQgb2YgdmVydGljYWxseSBtaWRkbGUgYWxpZ25tZW50LgotLS0KIGNvbmZpZ3Vy ZS5hYyAgICAgICAgICAgICAgICAgICAgIHwgIDM1ICsrLQogbGlzcC94d2lkZ2V0LmVsICAgICAg ICAgICAgICAgICAgfCAyMzUgKysrKysrKysrKysrKystLS0tCiBuZXh0c3RlcC90ZW1wbGF0ZXMv SW5mby5wbGlzdC5pbiB8ICAgOCArCiBzcmMvTWFrZWZpbGUuaW4gICAgICAgICAgICAgICAgICB8 ICAgMSArCiBzcmMvZW1hY3MuYyAgICAgICAgICAgICAgICAgICAgICB8ICAgNSArLQogc3JjL25z dGVybS5tICAgICAgICAgICAgICAgICAgICAgfCAgMjAgKy0KIHNyYy9uc3h3aWRnZXQuaCAgICAg ICAgICAgICAgICAgIHwgIDc3ICsrKysrKwogc3JjL25zeHdpZGdldC5tICAgICAgICAgICAgICAg ICAgfCA1MDkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBzcmMveHdp ZGdldC5jICAgICAgICAgICAgICAgICAgICB8IDE4MiArKysrKysrKysrKystLQogc3JjL3h3aWRn ZXQuaCAgICAgICAgICAgICAgICAgICAgfCAgMzUgKystCiAxMCBmaWxlcyBjaGFuZ2VkLCAxMDI5 IGluc2VydGlvbnMoKyksIDc4IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9u c3h3aWRnZXQuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9uc3h3aWRnZXQubQoKZGlmZiAtLWdp dCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwppbmRleCA2MTQ1NWE0YjBmLi4zZDUyMWZj ZmIxIDEwMDY0NAotLS0gYS9jb25maWd1cmUuYWMKKysrIGIvY29uZmlndXJlLmFjCkBAIC0zOTks NyArMzk5LDcgQEAgQUNfREVGVU4KICBbd2l0aF9maWxlX25vdGlmaWNhdGlvbj0kd2l0aF9mZWF0 dXJlc10pCiAKIE9QVElPTl9ERUZBVUxUX09GRihbeHdpZGdldHNdLAotICBbZW5hYmxlIHVzZSBv ZiBzb21lIGd0ayB3aWRnZXRzIGluIEVtYWNzIGJ1ZmZlcnMgKHJlcXVpcmVzIGd0azMpXSkKKyAg W2VuYWJsZSB1c2Ugb2Ygc29tZSBndGsgd2lkZ2V0cyBpbiBFbWFjcyBidWZmZXJzIChyZXF1aXJl cyBndGszIG9yIG1hY09TIENvY29hKV0pCiAKICMjIEZvciB0aGUgdGltZXMgd2hlbiB5b3Ugd2Fu dCB0byBidWlsZCBFbWFjcyBidXQgZG9uJ3QgaGF2ZQogIyMgYSBzdWl0YWJsZSBtYWtlaW5mbywg YW5kIGNhbiBsaXZlIHdpdGhvdXQgdGhlIG1hbnVhbHMuCkBAIC0yNzE1LDIwICsyNzE1LDM0IEBA IEFDX0RFRlVOCiAKIAogZG5sIEVuYWJsZSB4d2lkZ2V0cyBpZiBHVEszIGFuZCBXZWJLaXRHVEsr IGFyZSBhdmFpbGFibGUuCitkbmwgRW5hYmxlIHh3aWRnZXRzIGlmIG1hY09TIENvY29hIGFuZCBX ZWJLaXQgZnJhbWV3b3JrIGFyZSBhdmFpbGFibGUuCiBIQVZFX1hXSURHRVRTPW5vCiBYV0lER0VU U19PQko9CiBpZiB0ZXN0ICIkd2l0aF94d2lkZ2V0cyIgIT0gIm5vIjsgdGhlbgotICB0ZXN0ICIk VVNFX0dUS19UT09MS0lUIiA9ICJHVEszIiAmJiB0ZXN0ICIkd2luZG93X3N5c3RlbSIgIT0gIm5v bmUiIHx8Ci0gICAgQUNfTVNHX0VSUk9SKFt4d2lkZ2V0cyByZXF1ZXN0ZWQgYnV0IGd0azMgbm90 IHVzZWQuXSkKKyAgaWYgdGVzdCAiJFVTRV9HVEtfVE9PTEtJVCIgPSAiR1RLMyIgJiYgdGVzdCAi JHdpbmRvd19zeXN0ZW0iICE9ICJub25lIjsgdGhlbgorICAgIFdFQktJVF9SRVFVSVJFRD0yLjEy CisgICAgV0VCS0lUX01PRFVMRVM9IndlYmtpdDJndGstNC4wID49ICRXRUJLSVRfUkVRVUlSRUQi CisgICAgRU1BQ1NfQ0hFQ0tfTU9EVUxFUyhbV0VCS0lUXSwgWyRXRUJLSVRfTU9EVUxFU10pCisg ICAgSEFWRV9YV0lER0VUUz0kSEFWRV9XRUJLSVQKKyAgICBYV0lER0VUU19PQko9Inh3aWRnZXQu byIKKyAgZWxpZiB0ZXN0ICIke05TX0lNUExfQ09DT0F9IiA9ICJ5ZXMiOyB0aGVuCisgICAgZG5s IEZJWE1FOiBDaGVjayBmcmFtZXdvcmsgV2ViS2l0MgorICAgIGRubCBXRUJLSVRfUkVRVUlSRUQ9 TS5tLnAKKyAgICBXRUJLSVRfTElCUz0iLVdsLC1mcmFtZXdvcmsgLVdsLFdlYktpdCIKKyAgICBX RUJLSVRfQ0ZMQUdTPSItRF9SRUVOVFJBTlQgLUkvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9X ZWJLaXQuZnJhbWV3b3JrL0hlYWRlcnMiCisgICAgSEFWRV9XRUJLSVQ9InllcyIKKyAgICBIQVZF X1hXSURHRVRTPSRIQVZFX1dFQktJVAorICAgIFhXSURHRVRTX09CSj0ieHdpZGdldC5vIgorICAg IE5TX09CSkNfT0JKPSIkTlNfT0JKQ19PQkogbnN4d2lkZ2V0Lm8iCisgICAgZG5sIFVwZGF0ZSBO U19PQkpDX09CSiB3aXRoIGFkZGVkIG5zeHdpZGdldC5vCisgICAgQUNfU1VCU1QoTlNfT0JKQ19P QkopCisgIGVsc2UKKyAgICBBQ19NU0dfRVJST1IoW3h3aWRnZXRzIHJlcXVlc3RlZCwgaXQgcmVx dWlyZXMgR1RLMyBhcyBYIHdpbmRvdyB0b29sa2l0IG9yIG1hY09TIENvY29hIGFzIHdpbmRvdyBz eXN0ZW1sXSkKKyAgZmkKIAotICBXRUJLSVRfUkVRVUlSRUQ9Mi4xMgotICBXRUJLSVRfTU9EVUxF Uz0id2Via2l0Mmd0ay00LjAgPj0gJFdFQktJVF9SRVFVSVJFRCIKLSAgRU1BQ1NfQ0hFQ0tfTU9E VUxFUyhbV0VCS0lUXSwgWyRXRUJLSVRfTU9EVUxFU10pCi0gIEhBVkVfWFdJREdFVFM9JEhBVkVf V0VCS0lUCiAgIHRlc3QgJEhBVkVfWFdJREdFVFMgPSB5ZXMgfHwKLSAgICBBQ19NU0dfRVJST1Io W3h3aWRnZXRzIHJlcXVlc3RlZCBidXQgV2ViS2l0R1RLKyBub3QgZm91bmQuXSkKKyAgICBBQ19N U0dfRVJST1IoW3h3aWRnZXRzIHJlcXVlc3RlZCBidXQgV2ViS2l0R1RLKyBvciBXZWJLaXQgZnJh bWV3b3JrIG5vdCBmb3VuZC5dKQogCi0gIFhXSURHRVRTX09CSj14d2lkZ2V0Lm8KICAgQUNfREVG SU5FKFtIQVZFX1hXSURHRVRTXSwgMSwgW0RlZmluZSB0byAxIGlmIHlvdSBoYXZlIHh3aWRnZXRz IHN1cHBvcnQuXSkKIGZpCiBBQ19TVUJTVChYV0lER0VUU19PQkopCkBAIC01NDE5LDcgKzU0MzMs OCBAQCBBQ19ERUZVTgogICBEb2VzIEVtYWNzIGRpcmVjdGx5IHVzZSB6bGliPyAgICAgICAgICAg ICAgICAgICAgICAgICAgICR7SEFWRV9aTElCfQogICBEb2VzIEVtYWNzIGhhdmUgZHluYW1pYyBt b2R1bGVzIHN1cHBvcnQ/ICAgICAgICAgICAgICAgICR7SEFWRV9NT0RVTEVTfQogICBEb2VzIEVt YWNzIHVzZSB0b29sa2l0IHNjcm9sbCBiYXJzPyAgICAgICAgICAgICAgICAgICAgICR7VVNFX1RP T0xLSVRfU0NST0xMX0JBUlN9Ci0gIERvZXMgRW1hY3Mgc3VwcG9ydCBYd2lkZ2V0cyAocmVxdWly ZXMgZ3RrMyk/ICAgICAgICAgICAgJHtIQVZFX1hXSURHRVRTfQorICBEb2VzIEVtYWNzIHN1cHBv cnQgWHdpZGdldHM/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7SEFWRV9YV0lER0VUU30K KyAgICAocmVxdWlyZXMgZ3RrMyBvciBtYWNPUyBDb2NvYSkKICAgRG9lcyBFbWFjcyBoYXZlIHRo cmVhZGluZyBzdXBwb3J0IGluIGxpc3A/ICAgICAgICAgICAgICAke3RocmVhZHNfZW5hYmxlZH0K ICJdKQogCmRpZmYgLS1naXQgYS9saXNwL3h3aWRnZXQuZWwgYi9saXNwL3h3aWRnZXQuZWwKaW5k ZXggNWUzNzIwOWNjMi4uMDMxODNjMTlkNSAxMDA2NDQKLS0tIGEvbGlzcC94d2lkZ2V0LmVsCisr KyBiL2xpc3AveHdpZGdldC5lbApAQCAtNzgsNiArNzgsNyBAQCB4d2lkZ2V0LWF0CiA7Ozsgd2Vi a2l0IHN1cHBvcnQKIChyZXF1aXJlICdicm93c2UtdXJsKQogKHJlcXVpcmUgJ2ltYWdlLW1vZGUp Oztmb3Igc29tZSBpbWFnZS1tb2RlIGFsaWtlIGZ1bmN0aW9uYWxpdHkKKyhyZXF1aXJlICdzZXEp CiAKIDs7OyMjI2F1dG9sb2FkCiAoZGVmdW4geHdpZGdldC13ZWJraXQtYnJvd3NlLXVybCAodXJs ICZvcHRpb25hbCBuZXctc2Vzc2lvbikKQEAgLTk2LDYgKzk3LDM4IEBAIHh3aWRnZXQtd2Via2l0 LWJyb3dzZS11cmwKICAgICAgICAgKHh3aWRnZXQtd2Via2l0LW5ldy1zZXNzaW9uIHVybCkKICAg ICAgICh4d2lkZ2V0LXdlYmtpdC1nb3RvLXVybCB1cmwpKSkpCiAKKzs7IE5PVEU6IEBqYXZhc2Ny aXB0LWNhbGxiYWNrIC0gcHJlZmVyIGRlZnVuIHRvIGxhbWJkYS4KKzs7IExhbWJkYSBzZWVtcyB0 byBiZSBtb3JlIGVhc2lseSBnYXJiYWdlIGNvbGxlY3RlZCBpbiBmbGlnaHQgZnJvbQorOzsgYHh3 aWRnZXQtd2Via2l0LWV4ZWN1dGUtc2NyaXB0JyB0byBpdHMgZXhlY3V0aW9uIHZpYSBldmVudC4K KworOzsgQGphdmFzY3JpcHQtY2FsbGJhY2sKKyhkZWZ1biB4d2lkZ2V0LXdlYmtpdC1jeDItY2Ig KHVybCkKKyAgIk5ldyB4d2lkZ2V0IHdlYmtpdCBzZXNzaW9uIGFuZCBidWZmZXIgd2l0aCBVUkwg aW4gc3BsaXQgd2luZG93IGJlbG93LiIKKyAgKHdpdGgtc2VsZWN0ZWQtd2luZG93IChzcGxpdC13 aW5kb3ctYmVsb3cpCisgICAgKHh3aWRnZXQtd2Via2l0LW5ldy1zZXNzaW9uIHVybCkpKQorCis7 OyBAamF2YXNjcmlwdC1jYWxsYmFjaworKGRlZnVuIHh3aWRnZXQtd2Via2l0LWN4My1jYiAodXJs KQorICAiTmV3IHh3aWRnZXQgd2Via2l0IHNlc3Npb24gYW5kIGJ1ZmZlciB3aXRoIFVSTCBpbiBz cGxpdCB3aW5kb3cgcmlnaHQuIgorICAod2l0aC1zZWxlY3RlZC13aW5kb3cgKHNwbGl0LXdpbmRv dy1yaWdodCkKKyAgICAoeHdpZGdldC13ZWJraXQtbmV3LXNlc3Npb24gdXJsKSkpCisKKyhkZWZ1 biB4d2lkZ2V0LXdlYmtpdC1jeDIgKCkKKyAgIkdldCB0aGUgVVJMIG9mIGN1cnJlbnQgc2Vzc2lv biwgdGhlbiBgeHdpZGdldC13ZWJraXQtY3gyLWNiJy4iCisgIChpbnRlcmFjdGl2ZSkKKyAgKHh3 aWRnZXQtd2Via2l0LWV4ZWN1dGUtc2NyaXB0CisgICAoeHdpZGdldC13ZWJraXQtY3VycmVudC1z ZXNzaW9uKQorICAgImRvY3VtZW50LlVSTCIKKyAgICd4d2lkZ2V0LXdlYmtpdC1jeDItY2IpKQor CisoZGVmdW4geHdpZGdldC13ZWJraXQtY3gzICgpCisgICJHZXQgdGhlIFVSTCBvZiBjdXJyZW50 IHNlc3Npb24sIHRoZW4gYHh3aWRnZXQtd2Via2l0LWN4My1jYicuIgorICAoaW50ZXJhY3RpdmUp CisgICh4d2lkZ2V0LXdlYmtpdC1leGVjdXRlLXNjcmlwdAorICAgKHh3aWRnZXQtd2Via2l0LWN1 cnJlbnQtc2Vzc2lvbikKKyAgICJkb2N1bWVudC5VUkwiCisgICAneHdpZGdldC13ZWJraXQtY3gz LWNiKSkKKwogOzt0b2RvLgogOzsgLSBjaGVjayB0aGF0IHRoZSB3ZWJraXQgc3VwcG9ydCBpcyBj b21waWxlZCBpbgogKGRlZnZhciB4d2lkZ2V0LXdlYmtpdC1tb2RlLW1hcApAQCAtMTMxLDYgKzE2 NCwxMiBAQCB4d2lkZ2V0LXdlYmtpdC1tb2RlLW1hcAogICAgIDs7IChkZWZpbmUta2V5IG1hcCBb cmVtYXAgbW92ZS1lbmQtb2YtbGluZV0gICAgICAgJ2ltYWdlLWVvbCkKICAgICAoZGVmaW5lLWtl eSBtYXAgW3JlbWFwIGJlZ2lubmluZy1vZi1idWZmZXJdICd4d2lkZ2V0LXdlYmtpdC1zY3JvbGwt dG9wKQogICAgIChkZWZpbmUta2V5IG1hcCBbcmVtYXAgZW5kLW9mLWJ1ZmZlcl0gICAgICAgJ3h3 aWRnZXQtd2Via2l0LXNjcm9sbC1ib3R0b20pCisKKyAgICA7OyBGb3IgbWFjT1MgeHdpZGdldCB3 ZWJraXQsIHdlIGRvbid0IHN1cHBvcnQgbXVsdGlwbGUgdmlld3MgZm9yIGEKKyAgICA7OyBtb2Rl bCwgaW5zdGVhZCwgY3JlYXRlIGEgbmV3IHNlc3Npb24gYW5kIG1vZGVsIGJlaGluZCB0aGUgc2Nl bmUuCisgICAgKHdoZW4gKG1lbXEgd2luZG93LXN5c3RlbSAnKG1hYyBucykpCisgICAgICAoZGVm aW5lLWtleSBtYXAgKGtiZCAiQy14IDIiKSAneHdpZGdldC13ZWJraXQtY3gyKQorICAgICAgKGRl ZmluZS1rZXkgbWFwIChrYmQgIkMteCAzIikgJ3h3aWRnZXQtd2Via2l0LWN4MykpCiAgICAgbWFw KQogICAiS2V5bWFwIGZvciBgeHdpZGdldC13ZWJraXQtbW9kZScuIikKIApAQCAtMTkyLDcgKzIz MSw3IEBAIHh3aWRnZXQtd2Via2l0LXNjcm9sbC1ib3R0b20KIChkZWZpbmUta2V5IChjdXJyZW50 LWdsb2JhbC1tYXApIFt4d2lkZ2V0LWV2ZW50XSAjJ3h3aWRnZXQtZXZlbnQtaGFuZGxlcikKIChk ZWZ1biB4d2lkZ2V0LWxvZyAoJnJlc3QgbXNnKQogICAiTG9nIE1TRyB0byBhIGJ1ZmZlci4iCi0g IChsZXQgKChidWYgKGdldC1idWZmZXItY3JlYXRlICIgKnh3aWRnZXQtbG9nKiIpKSkKKyAgKGxl dCAoKGJ1ZiAoZ2V0LWJ1ZmZlci1jcmVhdGUgIip4d2lkZ2V0LWxvZyoiKSkpCiAgICAgKHdpdGgt Y3VycmVudC1idWZmZXIgYnVmCiAgICAgICAoaW5zZXJ0IChhcHBseSAjJ2Zvcm1hdCBtc2cpKQog ICAgICAgKGluc2VydCAiXG4iKSkpKQpAQCAtMjA4LDcgKzI0Nyw2IEBAIHh3aWRnZXQtZXZlbnQt aGFuZGxlcgogICAgICAgIDs7VE9ETyBzdG9wcGVkIHdvcmtpbmcgZm9yIHNvbWUgcmVhc29uCiAg ICAgICAgKQogICAgIDs7KGZ1bmNhbGwgIHh3aWRnZXQtY2FsbGJhY2sgeHdpZGdldCB4d2lkZ2V0 LWV2ZW50LXR5cGUpCi0gICAgKG1lc3NhZ2UgInh3IGNhbGxiYWNrICVzIiB4d2lkZ2V0KQogICAg IChmdW5jYWxsICAneHdpZGdldC13ZWJraXQtY2FsbGJhY2sgeHdpZGdldCB4d2lkZ2V0LWV2ZW50 LXR5cGUpKSkKIAogKGRlZnVuIHh3aWRnZXQtd2Via2l0LWNhbGxiYWNrICh4d2lkZ2V0IHh3aWRn ZXQtZXZlbnQtdHlwZSkKQEAgLTIxOCwxNiArMjU2LDI1IEBAIHh3aWRnZXQtd2Via2l0LWNhbGxi YWNrCiAgICAgICAoeHdpZGdldC1sb2cKICAgICAgICAiZXJyb3I6IGNhbGxiYWNrIGNhbGxlZCBm b3IgeHdpZGdldCB3aXRoIGRlYWQgYnVmZmVyIikKICAgICAod2l0aC1jdXJyZW50LWJ1ZmZlciAo eHdpZGdldC1idWZmZXIgeHdpZGdldCkKKworICAgICAgOzsgQGphdmFzY3JpcHQtY2FsbGJhY2sK KyAgICAgIDs7IFdlIGRvIG5vdCBjaGFuZ2Ugc2VsZWN0ZWQgd2luZG93IGR1ZSB0byBnZXR0aW5n IHRvIGtub3dpbmcKKyAgICAgIDs7IFVSTCBhbmQgdGl0bGUuICBBbmQgYWxzbyBkbyBub3QgYWRq dXN0IHdlYmtpdCBzaXplIHRvIHdpbmRvdworICAgICAgOzsgaGVyZSwgdGhlIHdpbmRvdyBjYW4g YmUgdGhlIG1pbmktYnVmZmVyIHdpbmRvdyB1bndhbnRlZGx5LgorICAgICAgKGRlZnVuIHh3aWRn ZXQtd2Via2l0LXVybC10aXRsZS1jYiAodXJsLXRpdGxlKQorICAgICAgICAiUHV0IFVSTCBhcyB0 ZXh0IHByb3BlcnR5IGFuZCBjaGFuZ2UgYnVmZmVyIG5hbWUgdXNpbmcgVElUTEUuIgorICAgICAg ICAobGV0ICgodXJsIChjYXIgdXJsLXRpdGxlKSkKKyAgICAgICAgICAgICAgKHRpdGxlIChjYXIg KGNkciB1cmwtdGl0bGUpKSkpCisgICAgICAgICAgKHh3aWRnZXQtbG9nICJ3ZWJraXQgZmluaXNo ZWQgbG9hZGluZzogJyVzJyBmcm9tICclcyciIHRpdGxlIHVybCkKKyAgICAgICAgICAoc2V0cSBi dWZmZXItcmVhZC1vbmx5IG5pbCkKKyAgICAgICAgICAocHV0LXRleHQtcHJvcGVydHkgMiAzICdV UkwgdXJsKQorICAgICAgICAgIChzZXRxIGJ1ZmZlci1yZWFkLW9ubHkgdCkKKyAgICAgICAgICAo cmVuYW1lLWJ1ZmZlciAoZm9ybWF0ICIqeHdpZGdldCB3ZWJraXQ6ICVzICoiIHRpdGxlKSkpKQor CiAgICAgICAoY29uZCAoKGVxIHh3aWRnZXQtZXZlbnQtdHlwZSAnbG9hZC1jaGFuZ2VkKQogICAg ICAgICAgICAgICh4d2lkZ2V0LXdlYmtpdC1leGVjdXRlLXNjcmlwdAotICAgICAgICAgICAgICB4 d2lkZ2V0ICJkb2N1bWVudC50aXRsZSIKLSAgICAgICAgICAgICAgKGxhbWJkYSAodGl0bGUpCi0g ICAgICAgICAgICAgICAgKHh3aWRnZXQtbG9nICJ3ZWJraXQgZmluaXNoZWQgbG9hZGluZzogJyVz JyIgdGl0bGUpCi0gICAgICAgICAgICAgICAgOztUT0RPIC0gY2hlY2sgdGhlIG5hdGl2ZS9pbnRl cm5hbCBzY3JvbGwKLSAgICAgICAgICAgICAgICA7Oyh4d2lkZ2V0LWFkanVzdC1zaXplLXRvLWNv bnRlbnQgeHdpZGdldCkKLSAgICAgICAgICAgICAgICAoeHdpZGdldC13ZWJraXQtYWRqdXN0LXNp emUtdG8td2luZG93IHh3aWRnZXQpCi0gICAgICAgICAgICAgICAgKHJlbmFtZS1idWZmZXIgKGZv cm1hdCAiKnh3aWRnZXQgd2Via2l0OiAlcyAqIiB0aXRsZSkpKSkKLSAgICAgICAgICAgICAocG9w LXRvLWJ1ZmZlciAoY3VycmVudC1idWZmZXIpKSkKKyAgICAgICAgICAgICAgeHdpZGdldCAiW2Rv Y3VtZW50LlVSTCwgZG9jdW1lbnQudGl0bGVdIgorICAgICAgICAgICAgICAneHdpZGdldC13ZWJr aXQtdXJsLXRpdGxlLWNiKSkKICAgICAgICAgICAgICgoZXEgeHdpZGdldC1ldmVudC10eXBlICdk ZWNpZGUtcG9saWN5KQogICAgICAgICAgICAgIChsZXQgKChzdHJhcmcgIChudGggMyBsYXN0LWlu cHV0LWV2ZW50KSkpCiAgICAgICAgICAgICAgICAoaWYgKHN0cmluZy1tYXRjaCAiLiojXFwoLipc XCkiIHN0cmFyZykKQEAgLTIzNywyNSArMjg0LDEwOCBAQCB4d2lkZ2V0LXdlYmtpdC1jYWxsYmFj awogICAgICAgICAgICAgKChlcSB4d2lkZ2V0LWV2ZW50LXR5cGUgJ2phdmFzY3JpcHQtY2FsbGJh Y2spCiAgICAgICAgICAgICAgKGxldCAoKHByb2MgKG50aCAzIGxhc3QtaW5wdXQtZXZlbnQpKQog ICAgICAgICAgICAgICAgICAgIChhcmcgIChudGggNCBsYXN0LWlucHV0LWV2ZW50KSkpCi0gICAg ICAgICAgICAgICAoZnVuY2FsbCBwcm9jIGFyZykpKQorICAgICAgICAgICAgICAgOzsgU29tZSBq YXZhc2NyaXB0IHJldHVybiB2ZWN0b3IgYXMgcmVzdWx0CisgICAgICAgICAgICAgICAoaWYgKHZl Y3RvcnAgYXJnKQorICAgICAgICAgICAgICAgICAgIChmdW5jYWxsIHByb2MgKHNlcS1pbnRvIGFy ZyAnbGlzdCkpCisgICAgICAgICAgICAgICAgIChmdW5jYWxsIHByb2MgYXJnKSkpKQogICAgICAg ICAgICAgKHQgKHh3aWRnZXQtbG9nICJ1bmhhbmRsZWQgZXZlbnQ6JXMiIHh3aWRnZXQtZXZlbnQt dHlwZSkpKSkpKQogCiAoZGVmdmFyIGJvb2ttYXJrLW1ha2UtcmVjb3JkLWZ1bmN0aW9uKQorKGRl ZnZhciBpc2VhcmNoLXNlYXJjaC1mdW4tZnVuY3Rpb24pCiAoZGVmaW5lLWRlcml2ZWQtbW9kZSB4 d2lkZ2V0LXdlYmtpdC1tb2RlCiAgICAgc3BlY2lhbC1tb2RlICJ4d2lkZ2V0LXdlYmtpdCIgIlh3 aWRnZXQgd2Via2l0IHZpZXcgbW9kZS4iCiAgICAgKHNldHEgYnVmZmVyLXJlYWQtb25seSB0KQor ICAgIChzZXRxIGN1cnNvci10eXBlIG5pbCkKICAgICAoc2V0cS1sb2NhbCBib29rbWFyay1tYWtl LXJlY29yZC1mdW5jdGlvbgogICAgICAgICAgICAgICAgICMneHdpZGdldC13ZWJraXQtYm9va21h cmstbWFrZS1yZWNvcmQpCisgICAgKHNldHEtbG9jYWwgaXNlYXJjaC1zZWFyY2gtZnVuLWZ1bmN0 aW9uCisgICAgICAgICAgICAgICAgIyd4d2lkZ2V0LXdlYmtpdC1zZWFyY2gtZnVuLWZ1bmN0aW9u KQorICAgIChzZXRxLWxvY2FsIGlzZWFyY2gtbGF6eS1oaWdobGlnaHQgbmlsKQogICAgIDs7IEtl ZXAgdHJhY2sgb2YgW3ZoXXNjcm9sbCB3aGVuIHN3aXRjaGluZyBidWZmZXJzCiAgICAgKGltYWdl LW1vZGUtc2V0dXAtd2lucHJvcHMpKQogCis7OzsgQm9va21hcmtzIGludGVncmF0aW9uCisKKyhk ZWZ2YXIgeHdpZGdldC13ZWJraXQtYm9va21hcmstanVtcC1uZXctc2Vzc2lvbiBuaWwKKyAgIkNv bnRyb2wgYm9va21hcmsganVtcCB0byB1c2UgbmV3IHNlc3Npb24gb3Igbm90LgorSWYgbm9uLW5p bCwgaXQgd2lsbCB1c2UgYSBuZXcgc2Vzc2lvbi4gIE90aGVyd2lzZSwgaXQgd2lsbCB1c2UKK2B4 d2lkZ2V0LXdlYmtpdC1sYXN0LXNlc3Npb24nLiAgV2hlbiB5b3Ugc2V0IHRoaXMgdmFyaWFibGUg dG8KK25pbCwgY29uc2lkZXIgZnVydGhlciBjdXN0b21pemF0aW9uIHdpdGgKK2B4d2lkZ2V0LXdl YmtpdC1sYXN0LXNlc3Npb24tYnVmZmVyJy4iKQorCis7OyBXZSBhdm9pZCB1c2luZyBhc3luYyBg eHdpZGdldC13ZWJraXQtY3VycmVudC11cmwnLCBpbnN0ZWFkIHVzZSBVUkwKKzs7IGtlcHQgaW4g eHdpZGdldCB3ZWJraXQgYXMgcHJvcGVydHkKIChkZWZ1biB4d2lkZ2V0LXdlYmtpdC1ib29rbWFy ay1tYWtlLXJlY29yZCAoKQogICAiSW50ZWdyYXRlIEVtYWNzIGJvb2ttYXJrcyB3aXRoIHRoZSB3 ZWJraXQgeHdpZGdldC4iCiAgIChuY29uYyAoYm9va21hcmstbWFrZS1yZWNvcmQtZGVmYXVsdCB0 IHQpCi0gICAgICAgICBgKChwYWdlICAgICAuICwoeHdpZGdldC13ZWJraXQtY3VycmVudC11cmwp KQotICAgICAgICAgICAoaGFuZGxlciAgLiAobGFtYmRhIChibWspIChicm93c2UtdXJsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYm9va21hcmstcHJvcC1nZXQgYm1rICdwYWdl KSkpKSkpKQotCisgICAgICAgICBgKChmaWxlbmFtZSAuICwoZ2V0LXRleHQtcHJvcGVydHkgMiAn VVJMKSkKKyAgICAgICAgICAgKGhhbmRsZXIgIC4gKGxhbWJkYSAoYm1rKQorICAgICAgICAgICAg ICAgICAgICAgICAgIChicm93c2UtdXJsCisgICAgICAgICAgICAgICAgICAgICAgICAgIChib29r bWFyay1wcm9wLWdldCBibWsgJ2ZpbGVuYW1lKQorICAgICAgICAgICAgICAgICAgICAgICAgICB4 d2lkZ2V0LXdlYmtpdC1ib29rbWFyay1qdW1wLW5ldy1zZXNzaW9uKQorICAgICAgICAgICAgICAg ICAgICAgICAgIChzd2l0Y2gtdG8tYnVmZmVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICh4 d2lkZ2V0LWJ1ZmZlciAoeHdpZGdldC13ZWJraXQtbGFzdC1zZXNzaW9uKSkpKSkpKSkKKworOzs7 IFNlYXJjaCB0ZXh0IGluIHBhZ2UKKworOzsgSW5pdGlhbGl6ZSBsYXN0IHNlYXJjaCB0ZXh0IGxl bmd0aCB2YXJpYWJsZSB3aGVuIGlzZWFyY2ggc3RhcnRzCisoZGVmdmFyIHh3aWRnZXQtd2Via2l0 LWlzZWFyY2gtbGFzdC1sZW5ndGggMCkKKyhhZGQtaG9vayAnaXNlYXJjaC1tb2RlLWhvb2sKKyAg ICAgICAgICAobGFtYmRhICgpCisgICAgICAgICAgICAoc2V0cSB4d2lkZ2V0LXdlYmtpdC1pc2Vh cmNoLWxhc3QtbGVuZ3RoIDApKSkKKworOzsgVGhpcyBpcyBtaW5pbWFsLiBSZWdleCBhbmQgaW5j cmVtZW50YWwgc2VhcmNoIHdpbGwgYmUgbmljZQorKGRlZnZhciB4d2lkZ2V0LXdlYmtpdC1zZWFy Y2gtanMgIgordmFyIHh3U2VhcmNoRm9yd2FyZCA9ICVzOwordmFyIHh3U2VhcmNoUmVwZWF0ID0g JXM7Cit2YXIgeHdTZWFyY2hTdHJpbmcgPSAnJXMnOworaWYgKHdpbmRvdy5nZXRTZWxlY3Rpb24o KSAmJiAhd2luZG93LmdldFNlbGVjdGlvbigpLmlzQ29sbGFwc2VkKSB7CisgIGlmICh4d1NlYXJj aFJlcGVhdCkgeworICAgIGlmICh4d1NlYXJjaEZvcndhcmQpCisgICAgICB3aW5kb3cuZ2V0U2Vs ZWN0aW9uKCkuY29sbGFwc2VUb0VuZCgpOworICAgIGVsc2UKKyAgICAgIHdpbmRvdy5nZXRTZWxl Y3Rpb24oKS5jb2xsYXBzZVRvU3RhcnQoKTsKKyAgfSBlbHNlIHsKKyAgICBpZiAoeHdTZWFyY2hG b3J3YXJkKQorICAgICAgd2luZG93LmdldFNlbGVjdGlvbigpLmNvbGxhcHNlVG9TdGFydCgpOwor ICAgIGVsc2UgeworICAgICAgdmFyIHNlbCA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTsKKyAgICAg IHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5jb2xsYXBzZShzZWwuZm9jdXNOb2RlLCBzZWwuZm9jdXNP ZmZzZXQgKyAxKTsKKyAgICB9CisgIH0KK30KK3dpbmRvdy5maW5kKHh3U2VhcmNoU3RyaW5nLCBm YWxzZSwgIXh3U2VhcmNoRm9yd2FyZCwgdHJ1ZSwgZmFsc2UsIHRydWUpOworIikKKworKGRlZnVu IHh3aWRnZXQtd2Via2l0LXNlYXJjaC1mdW4tZnVuY3Rpb24gKCkKKyAgIlJldHVybiB0aGUgZnVu Y3Rpb24gd2hpY2ggcGVyZm9ybSB0aGUgc2VhcmNoIGluIHh3aWRnZXQgd2Via2l0LiIKKyAgKGxh bWJkYSAoc3RyaW5nICZvcHRpb25hbCBib3VuZCBub2Vycm9yIGNvdW50KQorICAgIChpZ25vcmUg Ym91bmQgbm9lcnJvciBjb3VudCkKKyAgICAobGV0ICgoY3VycmVudC1sZW5ndGggKGxlbmd0aCBz dHJpbmcpKQorICAgICAgICAgIHNlYXJjaC1mb3J3YXJkCisgICAgICAgICAgc2VhcmNoLXJlcGVh dCkKKyAgICAgIDs7IEZvcndhcmQgb3IgYmFja3dhcmQKKyAgICAgIChpZiAoZXEgaXNlYXJjaC1m b3J3YXJkIG5pbCkKKyAgICAgICAgICAoc2V0cSBzZWFyY2gtZm9yd2FyZCAiZmFsc2UiKQorICAg ICAgICAoc2V0cSBzZWFyY2gtZm9yd2FyZCAidHJ1ZSIpKQorICAgICAgOzsgUmVwZWF0IGlmIHNl YXJjaCBzdHJpbmcgbGVuZ3RoIG5vdCBjaGFuZ2VkCisgICAgICAoaWYgKGVxIGN1cnJlbnQtbGVu Z3RoIHh3aWRnZXQtd2Via2l0LWlzZWFyY2gtbGFzdC1sZW5ndGgpCisgICAgICAgICAgKHNldHEg c2VhcmNoLXJlcGVhdCAidHJ1ZSIpCisgICAgICAgIChzZXRxIHNlYXJjaC1yZXBlYXQgImZhbHNl IikpCisgICAgICAoc2V0cSB4d2lkZ2V0LXdlYmtpdC1pc2VhcmNoLWxhc3QtbGVuZ3RoIGN1cnJl bnQtbGVuZ3RoKQorICAgICAgKHh3aWRnZXQtd2Via2l0LWV4ZWN1dGUtc2NyaXB0CisgICAgICAg KHh3aWRnZXQtd2Via2l0LWN1cnJlbnQtc2Vzc2lvbikKKyAgICAgICAoZm9ybWF0IHh3aWRnZXQt d2Via2l0LXNlYXJjaC1qcworICAgICAgICAgICAgICAgc2VhcmNoLWZvcndhcmQKKyAgICAgICAg ICAgICAgIHNlYXJjaC1yZXBlYXQKKyAgICAgICAgICAgICAgIChyZWdleHAtcXVvdGUgc3RyaW5n KSkpCisgICAgICA7OyBVbmNvbmRpdGlvbmFsbHkgYXZvaWQgJ0ZhaWxpbmcgSS1zZWFyY2ggLi4u JworICAgICAgKGlmIChlcSBpc2VhcmNoLWZvcndhcmQgbmlsKQorICAgICAgICAgIChnb3RvLWNo YXIgKHBvaW50LW1heCkpCisgICAgICAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpKQorICAgICAg KSkpCisKKzs7OyB4d2lkZ2V0IHdlYmtpdCBzZXNzaW9uCiAKIChkZWZ2YXIgeHdpZGdldC13ZWJr aXQtbGFzdC1zZXNzaW9uLWJ1ZmZlciBuaWwpCiAKQEAgLTMwMyw3ICs0MzMsNyBAQCB4d2lkZ2V0 LXdlYmtpdC1hY3RpdmVlbGVtZW50LWpzIgogCiAiCiAKLSAgImphdmFzY3JpcHQgdGhhdCBmaW5k cyB0aGUgYWN0aXZlIGVsZW1lbnQuIgorICAiSmF2YXNjcmlwdCB0aGF0IGZpbmRzIHRoZSBhY3Rp dmUgZWxlbWVudC4iCiAgIDs7IFllcyBpdCdzIHVnbHksIGJlY2F1c2U6CiAgIDs7IC0gdGhlcmUg aXMgYXBwYXJlbnRseSBubyB3YXkgdG8gZmluZCB0aGUgYWN0aXZlIGZyYW1lIG90aGVyIHRoYW4g cmVjdXJzaW9uCiAgIDs7IC0gdGhlIGpzICJmb3IgZWFjaCIgY29uc3RydWN0IG1pc2JlaGF2ZWQg b24gdGhlICJmcmFtZXMiIGNvbGxlY3Rpb24KQEAgLTMxMywyOSArNDQzLDM1IEBAIHh3aWRnZXQt d2Via2l0LWFjdGl2ZWVsZW1lbnQtanMiCiAgICkKIAogKGRlZnVuIHh3aWRnZXQtd2Via2l0LWlu c2VydC1zdHJpbmcgKCkKLSAgIlByb21wdCBmb3IgYSBzdHJpbmcgYW5kIGluc2VydCBpdCBpbiB0 aGUgYWN0aXZlIGZpZWxkIGluIHRoZQorICAiUHJvbXB0IGZvciBhIHN0cmluZyBhbmQgaW5zZXJ0 IGl0IGluIHRoZSBhY3RpdmUgZmllbGQgaW4gdGhlIFwKIGN1cnJlbnQgd2Via2l0IHdpZGdldC4i CiAgIDs7IFJlYWQgb3V0IHRoZSBzdHJpbmcgaW4gdGhlIGZpZWxkIGZpcnN0IGFuZCBwcm92aWRl IGZvciBlZGl0LgogICAoaW50ZXJhY3RpdmUpCiAgIChsZXQgKCh4d3cgKHh3aWRnZXQtd2Via2l0 LWN1cnJlbnQtc2Vzc2lvbikpKQorCisgICAgOzsgQGphdmFzY3JpcHQtY2FsbGJhY2sKKyAgICAo ZGVmdW4geHdpZGdldC13ZWJraXQtaW5zZXJ0LXN0cmluZy1jYiAoZmllbGQpCisgICAgICAiUHJv bXB0IGEgc3RyaW5nIGZvciB0aGUgRklFTEQgYW5kIGluc2VydCBpbiB0aGUgYWN0aXZlIGlucHV0 LiIKKyAgICAgIChsZXQgKChzdHIgKHBjYXNlIGZpZWxkCisgICAgICAgICAgICAgICAgICAgKGAo LHZhbCAidGV4dCIpCisgICAgICAgICAgICAgICAgICAgIChyZWFkLXN0cmluZyAiVGV4dDogIiB2 YWwpKQorICAgICAgICAgICAgICAgICAgIChgKCx2YWwgInBhc3N3b3JkIikKKyAgICAgICAgICAg ICAgICAgICAgKHJlYWQtcGFzc3dkICJQYXNzd29yZDogIiBuaWwgdmFsKSkKKyAgICAgICAgICAg ICAgICAgICAoYCgsdmFsICJ0ZXh0YXJlYSIpCisgICAgICAgICAgICAgICAgICAgICh4d2lkZ2V0 LXdlYmtpdC1iZWdpbi1lZGl0LXRleHRhcmVhIHh3dyB2YWwpKSkpKQorICAgICAgICAoeHdpZGdl dC13ZWJraXQtZXhlY3V0ZS1zY3JpcHQKKyAgICAgICAgIHh3dworICAgICAgICAgKGZvcm1hdCAi ZmluZGFjdGl2ZWVsZW1lbnQoZG9jdW1lbnQpLnZhbHVlPSclcyciIHN0cikpKSkKKwogICAgICh4 d2lkZ2V0LXdlYmtpdC1leGVjdXRlLXNjcmlwdAogICAgICB4d3cKICAgICAgKGNvbmNhdCB4d2lk Z2V0LXdlYmtpdC1hY3RpdmVlbGVtZW50LWpzICIKIChmdW5jdGlvbiAoKSB7CiAgIHZhciByZXMg PSBmaW5kYWN0aXZlZWxlbWVudChkb2N1bWVudCk7Ci0gIHJldHVybiBbcmVzLnZhbHVlLCByZXMu dHlwZV07CisgIGlmIChyZXMpCisgICAgcmV0dXJuIFtyZXMudmFsdWUsIHJlcy50eXBlXTsKIH0p KCk7IikKLSAgICAgKGxhbWJkYSAoZmllbGQpCi0gICAgICAgKGxldCAoKHN0ciAocGNhc2UgZmll bGQKLSAgICAgICAgICAgICAgICAgICAgKGBbLHZhbCAidGV4dCJdCi0gICAgICAgICAgICAgICAg ICAgICAocmVhZC1zdHJpbmcgIlRleHQ6ICIgdmFsKSkKLSAgICAgICAgICAgICAgICAgICAgKGBb LHZhbCAicGFzc3dvcmQiXQotICAgICAgICAgICAgICAgICAgICAgKHJlYWQtcGFzc3dkICJQYXNz d29yZDogIiBuaWwgdmFsKSkKLSAgICAgICAgICAgICAgICAgICAgKGBbLHZhbCAidGV4dGFyZWEi XQotICAgICAgICAgICAgICAgICAgICAgKHh3aWRnZXQtd2Via2l0LWJlZ2luLWVkaXQtdGV4dGFy ZWEgeHd3IHZhbCkpKSkpCi0gICAgICAgICAoeHdpZGdldC13ZWJraXQtZXhlY3V0ZS1zY3JpcHQK LSAgICAgICAgICB4d3cKLSAgICAgICAgICAoZm9ybWF0ICJmaW5kYWN0aXZlZWxlbWVudChkb2N1 bWVudCkudmFsdWU9JyVzJyIgc3RyKSkpKSkpKQorICAgICAneHdpZGdldC13ZWJraXQtaW5zZXJ0 LXN0cmluZy1jYikpKQogCiAoZGVmdmFyIHh3aWRnZXQteHdibCkKIChkZWZ1biB4d2lkZ2V0LXdl YmtpdC1iZWdpbi1lZGl0LXRleHRhcmVhICh4dyB0ZXh0KQpAQCAtNDQ0LDExICs1ODAsMjMgQEAg eHdpZGdldC13ZWJraXQtYWRqdXN0LXNpemUtZGlzcGF0Y2gKICAgKGlnbm9yZS1lcnJvcnMKICAg ICAocmVjZW50ZXItdG9wLWJvdHRvbSkpKQogCis7OyBVdGlsaXR5IGZ1bmN0aW9ucywgd2FudGVk IGluIGB3aW5kb3cuZWwnCisKKyhkZWZ1biB4d2lkZ2V0LXdpbmRvdy1pbnNpZGUtcGl4ZWwtd2lk dGggKHdpbmRvdykKKyAgIlJldHVybiBFbWFjcyBXSU5ET1cgYm9keSB3aWR0aCBpbiBwaXhlbC4i CisgIChsZXQgKChlZGdlcyAod2luZG93LWluc2lkZS1waXhlbC1lZGdlcyB3aW5kb3cpKSkKKyAg ICAoLSAobnRoIDIgZWRnZXMpIChudGggMCBlZGdlcykpKSkKKworKGRlZnVuIHh3aWRnZXQtd2lu ZG93LWluc2lkZS1waXhlbC1oZWlnaHQgKHdpbmRvdykKKyAgIlJldHVybiBFbWFjcyBXSU5ET1cg Ym9keSBoZWlnaHQgaW4gcGl4ZWwuIgorICAobGV0ICgoZWRnZXMgKHdpbmRvdy1pbnNpZGUtcGl4 ZWwtZWRnZXMgd2luZG93KSkpCisgICAgKC0gKG50aCAzIGVkZ2VzKSAobnRoIDEgZWRnZXMpKSkp CisKIChkZWZ1biB4d2lkZ2V0LXdlYmtpdC1hZGp1c3Qtc2l6ZS10by13aW5kb3cgKHh3aWRnZXQg Jm9wdGlvbmFsIHdpbmRvdykKICAgIkFkanVzdCB0aGUgc2l6ZSBvZiB0aGUgd2Via2l0IFhXSURH RVQgdG8gZml0IHRoZSBXSU5ET1cuIgogICAoeHdpZGdldC1yZXNpemUgeHdpZGdldAotICAgICAg ICAgICAgICAgICAgKHdpbmRvdy1waXhlbC13aWR0aCB3aW5kb3cpCi0gICAgICAgICAgICAgICAg ICAod2luZG93LXBpeGVsLWhlaWdodCB3aW5kb3cpKSkKKyAgICAgICAgICAgICAgICAgICh4d2lk Z2V0LXdpbmRvdy1pbnNpZGUtcGl4ZWwtd2lkdGggd2luZG93KQorICAgICAgICAgICAgICAgICAg KHh3aWRnZXQtd2luZG93LWluc2lkZS1waXhlbC1oZWlnaHQgd2luZG93KSkpCiAKIChkZWZ1biB4 d2lkZ2V0LXdlYmtpdC1hZGp1c3Qtc2l6ZSAodyBoKQogICAiTWFudWFsbHkgc2V0IHdlYmtpdCBz aXplIHRvIHdpZHRoIFcsIGhlaWdodCBILiIKQEAgLTQ4NywxMCArNjM1LDEyIEBAIHh3aWRnZXQt d2Via2l0LW5ldy1zZXNzaW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGdldC1idWZmZXItY3JlYXRlIGJ1Zm5hbWUpKSkKICAgICA7OyBUaGUgeHdpZGdl dCBpZCBpcyBzdG9yZWQgaW4gYSB0ZXh0IHByb3BlcnR5LCBzbyB3ZSBuZWVkIHRvIGhhdmUKICAg ICA7OyBhdCBsZWFzdCBjaGFyYWN0ZXIgaW4gdGhpcyBidWZmZXIuCi0gICAgKGluc2VydCAiICIp CisgICAgOzsgSW5zZXJ0IGludmlzaWJsZSB1cmwsIGdvb2QgZGVmYXVsdCBmb3IgbmV4dCBgZycg dG8gYnJvd3NlIHVybC4KKyAgICAoaW5zZXJ0IHVybCkKKyAgICAocHV0LXRleHQtcHJvcGVydHkg MSAoKyAxIChsZW5ndGggdXJsKSkgJ2ludmlzaWJsZSB0KQogICAgIChzZXRxIHh3ICh4d2lkZ2V0 LWluc2VydCAxICd3ZWJraXQgYnVmbmFtZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo d2luZG93LXBpeGVsLXdpZHRoKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAod2luZG93 LXBpeGVsLWhlaWdodCkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoeHdpZGdldC13 aW5kb3ctaW5zaWRlLXBpeGVsLXdpZHRoIChzZWxlY3RlZC13aW5kb3cpKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoeHdpZGdldC13aW5kb3ctaW5zaWRlLXBpeGVsLWhlaWdodCAoc2Vs ZWN0ZWQtd2luZG93KSkpKQogICAgICh4d2lkZ2V0LXB1dCB4dyAnY2FsbGJhY2sgJ3h3aWRnZXQt d2Via2l0LWNhbGxiYWNrKQogICAgICh4d2lkZ2V0LXdlYmtpdC1tb2RlKQogICAgICh4d2lkZ2V0 LXdlYmtpdC1nb3RvLXVyaSAoeHdpZGdldC13ZWJraXQtbGFzdC1zZXNzaW9uKSB1cmwpKSkKQEAg LTUxNSwxNCArNjY1LDE4IEBAIHh3aWRnZXQtd2Via2l0LXJlbG9hZAogICAoeHdpZGdldC13ZWJr aXQtZXhlY3V0ZS1zY3JpcHQgKHh3aWRnZXQtd2Via2l0LWN1cnJlbnQtc2Vzc2lvbikKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaXN0b3J5LmdvKDApOyIpKQogCis7OyBAamF2 YXNjcmlwdC1jYWxsYmFjaworKGRlZnVuIHh3aWRnZXQtd2Via2l0LWN1cnJlbnQtdXJsLWNiIChy ZXN1bHQpCisgICJDYWxsYmFjayBmb3IgYHh3aWRnZXQtd2Via2l0LWN1cnJlbnQtdXJsJywgbWVz c2FnZSBhbmQga2lsbCB0aGUgUkVTVUxULiIKKyAgKGxldCAoKHVybCAoa2lsbC1uZXcgKG9yIHJl c3VsdCAiIikpKSkKKyAgICAobWVzc2FnZSAidXJsOiAlcyIgdXJsKSkpCisKIChkZWZ1biB4d2lk Z2V0LXdlYmtpdC1jdXJyZW50LXVybCAoKQotICAiR2V0IHRoZSB3ZWJraXQgdXJsIGFuZCBwbGFj ZSBpdCBvbiB0aGUga2lsbC1yaW5nLiIKKyAgIkdldCB0aGUgd2Via2l0IHVybCBhbmQgcGxhY2Ug aXQgb24gdGhlIGBraWxsLXJpbmcnLiIKICAgKGludGVyYWN0aXZlKQogICAoeHdpZGdldC13ZWJr aXQtZXhlY3V0ZS1zY3JpcHQKICAgICh4d2lkZ2V0LXdlYmtpdC1jdXJyZW50LXNlc3Npb24pCi0g ICAiZG9jdW1lbnQuVVJMIiAobGFtYmRhIChydikKLSAgICAgICAgICAgICAgICAgICAgKGxldCAo KHVybCAoa2lsbC1uZXcgKG9yIHJ2ICIiKSkpKQotICAgICAgICAgICAgICAgICAgICAgIChtZXNz YWdlICJ1cmw6ICVzIiB1cmwpKSkpKQorICAgImRvY3VtZW50LlVSTCIgJ3h3aWRnZXQtd2Via2l0 LWN1cnJlbnQtdXJsLWNiKSkKIAogOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OwogKGRl ZnVuIHh3aWRnZXQtd2Via2l0LWdldC1zZWxlY3Rpb24gKHByb2MpCkBAIC01MzMsMTAgKzY4Nyw5 IEBAIHh3aWRnZXQtd2Via2l0LWdldC1zZWxlY3Rpb24KICAgIHByb2MpKQogCiAoZGVmdW4geHdp ZGdldC13ZWJraXQtY29weS1zZWxlY3Rpb24tYXMta2lsbCAoKQotICAiR2V0IHRoZSB3ZWJraXQg c2VsZWN0aW9uIGFuZCBwdXQgaXQgb24gdGhlIGtpbGwtcmluZy4iCisgICJHZXQgdGhlIHdlYmtp dCBzZWxlY3Rpb24gYW5kIHB1dCBpdCBvbiB0aGUgYGtpbGwtcmluZycuIgogICAoaW50ZXJhY3Rp dmUpCi0gICh4d2lkZ2V0LXdlYmtpdC1nZXQtc2VsZWN0aW9uIChsYW1iZGEgKHNlbGVjdGlvbikg KGtpbGwtbmV3IHNlbGVjdGlvbikpKSkKLQorICAoeHdpZGdldC13ZWJraXQtZ2V0LXNlbGVjdGlv biAjJ2tpbGwtbmV3KSkKIAogOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7OzsKIDs7IFh3aWRnZXQgcGxpc3QgbWFuYWdlbWVudCAoc2ltaWxhciB0 byB0aGUgcHJvY2VzcyBwbGlzdCBmdW5jdGlvbnMpCmRpZmYgLS1naXQgYS9uZXh0c3RlcC90ZW1w bGF0ZXMvSW5mby5wbGlzdC5pbiBiL25leHRzdGVwL3RlbXBsYXRlcy9JbmZvLnBsaXN0LmluCmlu ZGV4IDVkMmViN2RlZjMuLjU0NTQ0ZmI3ZmEgMTAwNjQ0Ci0tLSBhL25leHRzdGVwL3RlbXBsYXRl cy9JbmZvLnBsaXN0LmluCisrKyBiL25leHRzdGVwL3RlbXBsYXRlcy9JbmZvLnBsaXN0LmluCkBA IC02NzUsNSArNjc1LDEzIEBAIGFsb25nIHdpdGggR05VIEVtYWNzLiAgSWYgbm90LCBzZWUgPGh0 dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KIAk8L2FycmF5PgogCTxrZXk+TlNBcHBsZVNj cmlwdEVuYWJsZWQ8L2tleT4KIAk8c3RyaW5nPllFUzwvc3RyaW5nPgorICAgICAgICA8IS0tIEZv ciB4d2lkZ2V0IHdlYmtpdCB0byBicm93c2UgcmVtb3RlIHVybCwKKyAgICAgICAgICAgICBidXQg dGhpcyBzZXQgbm8gcmVzdHJpY3Rpb24gYXQgYWxsLiAgQ29uc3VsdCBhcHBsZSdzIGRvY3VtZW50 YXRpb24KKyAgICAgICAgICAgICBmb3IgZGV0YWlsIGluZm9ybWF0aW9uIGFib3V0IGBOU0FwcGxp Y2F0aW9uRGVmaW5lZE1hc2snLiAtLT4KKyAgICAgICAgPGtleT5OU0FwcFRyYW5zcG9ydFNlY3Vy aXR5PC9rZXk+CisgICAgICAgIDxkaWN0PgorICAgICAgICAgIDxrZXk+TlNBbGxvd3NBcmJpdHJh cnlMb2Fkczwva2V5PgorICAgICAgICAgIDx0cnVlLz4KKyAgICAgICAgPC9kaWN0PgogPC9kaWN0 PgogPC9wbGlzdD4KZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZS5pbiBiL3NyYy9NYWtlZmlsZS5p bgppbmRleCA5YThjOWM4NWYwLi41Y2FkYjcxYzk1IDEwMDY0NAotLS0gYS9zcmMvTWFrZWZpbGUu aW4KKysrIGIvc3JjL01ha2VmaWxlLmluCkBAIC00MDgsNiArNDA4LDcgQEAgU09NRV9NQUNISU5F X09CSkVDVFMgPQogICB4dGVybS5vIHhmbnMubyB4bWVudS5vIHhzZWxlY3QubyB4cmRiLm8geHNt Zm5zLm8gZnJpbmdlLm8gaW1hZ2UubyBcCiAgIGZvbnRzZXQubyBkYnVzYmluZC5vIGN5Z3czMi5v IFwKICAgbnN0ZXJtLm8gbnNmbnMubyBuc21lbnUubyBuc3NlbGVjdC5vIG5zaW1hZ2UubyBuc2Zv bnQubyBtYWNmb250Lm8gXAorICBuc3h3aWRnZXQubyBcCiAgIHczMi5vIHczMmNvbnNvbGUubyB3 MzJmbnMubyB3MzJoZWFwLm8gdzMyaW5ldnQubyB3MzJub3RpZnkubyBcCiAgIHczMm1lbnUubyB3 MzJwcm9jLm8gdzMycmVnLm8gdzMyc2VsZWN0Lm8gdzMydGVybS5vIHczMnhmbnMubyBcCiAgIHcx NnNlbGVjdC5vIHdpZGdldC5vIHhmb250Lm8gZnRmb250Lm8geGZ0Zm9udC5vIGZ0eGZvbnQubyBn dGt1dGlsLm8gXApkaWZmIC0tZ2l0IGEvc3JjL2VtYWNzLmMgYi9zcmMvZW1hY3MuYwppbmRleCA4 MDhhYmNkOWFhLi44ZTc0MDM4MWUxIDEwMDY0NAotLS0gYS9zcmMvZW1hY3MuYworKysgYi9zcmMv ZW1hY3MuYwpAQCAtMTUzMiw3ICsxNTMyLDYgQEAgVXNpbmcgYW4gRW1hY3MgY29uZmlndXJlZCB3 aXRoIC0td2l0aC14LXRvb2xraXQ9bHVjaWQgZG9lcyBub3QgaGF2ZSB0aGlzIHByb2JsZW0KICAg ICAgIHN5bXNfb2ZfeGZucyAoKTsKICAgICAgIHN5bXNfb2ZfeG1lbnUgKCk7CiAgICAgICBzeW1z X29mX2ZvbnRzZXQgKCk7Ci0gICAgICBzeW1zX29mX3h3aWRnZXQgKCk7CiAgICAgICBzeW1zX29m X3hzZXR0aW5ncyAoKTsKICNpZmRlZiBIQVZFX1hfU00KICAgICAgIHN5bXNfb2ZfeHNtZm5zICgp OwpAQCAtMTYwNSw2ICsxNjA0LDEwIEBAIFVzaW5nIGFuIEVtYWNzIGNvbmZpZ3VyZWQgd2l0aCAt LXdpdGgteC10b29sa2l0PWx1Y2lkIGRvZXMgbm90IGhhdmUgdGhpcyBwcm9ibGVtCiAjZW5kaWYg LyogSEFWRV9XMzJOT1RJRlkgKi8KICNlbmRpZiAvKiBXSU5ET1dTTlQgKi8KIAorI2lmZGVmIEhB VkVfWFdJREdFVFMKKyAgICAgIHN5bXNfb2ZfeHdpZGdldCAoKTsKKyNlbmRpZiAvKiBIQVZFX1hX SURHRVRTICovCisKICAgICAgIHN5bXNfb2ZfdGhyZWFkcyAoKTsKICAgICAgIHN5bXNfb2ZfcHJv ZmlsZXIgKCk7CiAKZGlmZiAtLWdpdCBhL3NyYy9uc3Rlcm0ubSBiL3NyYy9uc3Rlcm0ubQppbmRl eCA1MGUwNmM5NGQ0Li4zZDg1ZmRjMGQ1IDEwMDY0NAotLS0gYS9zcmMvbnN0ZXJtLm0KKysrIGIv c3JjL25zdGVybS5tCkBAIC00OCw2ICs0OCw3IEBAIFVwZGF0ZWQgYnkgQ2hyaXN0aWFuIExpbXBh Y2ggKGNocmlzQG5pY2UuY2gpCiAjaW5jbHVkZSAibnN0ZXJtLmgiCiAjaW5jbHVkZSAic3lzdGlt ZS5oIgogI2luY2x1ZGUgImNoYXJhY3Rlci5oIgorI2luY2x1ZGUgInh3aWRnZXQuaCIKICNpbmNs dWRlICJmb250c2V0LmgiCiAjaW5jbHVkZSAiY29tcG9zaXRlLmgiCiAjaW5jbHVkZSAiY2NsLmgi CkBAIC0yNDI5LDcgKzI0MzAsNyBAQCBzbyBzb21lIGtleSBwcmVzc2VzIChUQUIpIGFyZSBzd2Fs bG93ZWQgYnkgdGhlIHN5c3RlbS4gKi8KIH0KIAogc3RhdGljIGludAotbm90ZV9tb3VzZV9tb3Zl bWVudCAoc3RydWN0IGZyYW1lICpmcmFtZSwgQ0dGbG9hdCB4LCBDR0Zsb2F0IHkpCitub3RlX21v dXNlX21vdmVtZW50IChzdHJ1Y3QgZnJhbWUgKmZyYW1lLCBDR0Zsb2F0IHgsIENHRmxvYXQgeSwg Qk9PTCBkcmFnZ2luZykKIC8qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgIENhbGxlZCBieSBFbWFj c1ZpZXcgb24gbW91c2VNb3ZlbWVudCBldmVudHMuICBQYXNzZXMgb24KICAgICAgdG8gZW1hY3Mg bWFpbnN0cmVhbSBjb2RlIGlmIHdlIG1vdmVkIG9mZiBvZiBhIHJlY3Qgb2YgaW50ZXJlc3QKQEAg LTI0MzgsMTcgKzI0MzksMjQgQEAgc28gc29tZSBrZXkgcHJlc3NlcyAoVEFCKSBhcmUgc3dhbGxv d2VkIGJ5IHRoZSBzeXN0ZW0uICovCiB7CiAgIHN0cnVjdCBuc19kaXNwbGF5X2luZm8gKmRweWlu Zm8gPSBGUkFNRV9ESVNQTEFZX0lORk8gKGZyYW1lKTsKICAgTlNSZWN0ICpyOworICBCT09MIGZv cmNlX3VwZGF0ZSA9IE5POwogCiAvLyAgTlNUUkFDRSAoIm5vdGVfbW91c2VfbW92ZW1lbnQiKTsK IAogICBkcHlpbmZvLT5sYXN0X21vdXNlX21vdGlvbl9mcmFtZSA9IGZyYW1lOwogICByID0gJmRw eWluZm8tPmxhc3RfbW91c2VfZ2x5cGg7CiAKKyAgLyogSWYgdGhlIGxhc3QgcmVjdCBpcyB0b28g bGFyZ2UgKGV4LCB4d2lkZ2V0IHdlYmtpdCksIHVwZGF0ZSBhdAorICAgICBldmVyeSBtb3ZlLCBv ciByZXNpemluZyBieSBkcmFnZ2luZyBtb2RlbGluZSBvciB2ZXJ0aWNhbCBzcGxpdCBpcworICAg ICB2ZXJ5IGhhcmQgdG8gbWFrZSBpdHMgd2F5LiAgKi8KKyAgaWYgKGRyYWdnaW5nICYmIChyLT5z aXplLndpZHRoID4gMzIgfHwgci0+c2l6ZS5oZWlnaHQgPiAzMikpCisgICAgZm9yY2VfdXBkYXRl ID0gWUVTOworCiAgIC8qIE5vdGUsIHRoaXMgZG9lc24ndCBnZXQgY2FsbGVkIGZvciBlbnRlci9s ZWF2ZSwgc2luY2Ugd2UgZG9uJ3QgaGF2ZSBhCiAgICAgIHBvc2l0aW9uLiAgVGhvc2UgYXJlIHRh a2VuIGNhcmUgb2YgaW4gdGhlIGNvcnJlc3BvbmRpbmcgTlNWaWV3IG1ldGhvZHMuICovCiAKICAg LyogaGFzIG1vdmVtZW50IGdvbmUgYmV5b25kIGxhc3QgcmVjdCB3ZSB3ZXJlIHRyYWNraW5nPyAq LwotICBpZiAoeCA8IHItPm9yaWdpbi54IHx8IHggPj0gci0+b3JpZ2luLnggKyByLT5zaXplLndp ZHRoCisgIGlmIChmb3JjZV91cGRhdGUgfHwgeCA8IHItPm9yaWdpbi54IHx8IHggPj0gci0+b3Jp Z2luLnggKyByLT5zaXplLndpZHRoCiAgICAgICB8fCB5IDwgci0+b3JpZ2luLnkgfHwgeSA+PSBy LT5vcmlnaW4ueSArIHItPnNpemUuaGVpZ2h0KQogICAgIHsKICAgICAgIG5zX3VwZGF0ZV9iZWdp biAoZnJhbWUpOwpAQCAtNDA2Niw2ICs0MDc0LDEwIEBAIG92ZXJ3cml0aW5nIGN1cnNvciAodXN1 YWxseSB3aGVuIGN1cnNvciBvbiBhIHRhYikgKi8KICAgICAgIG5zX3VuZm9jdXMgKHMtPmYpOwog ICAgICAgYnJlYWs7CiAKKyAgICBjYXNlIFhXSURHRVRfR0xZUEg6CisgICAgICB4X2RyYXdfeHdp ZGdldF9nbHlwaF9zdHJpbmcgKHMpOworICAgICAgYnJlYWs7CisKICAgICBjYXNlIFNUUkVUQ0hf R0xZUEg6CiAgICAgICBuc19kdW1wZ2x5cGhzX3N0cmV0Y2ggKHMpOwogICAgICAgYnJlYWs7CkBA IC02NzI0LDYgKzY3MzYsNyBAQCAtICh2b2lkKW1vdXNlTW92ZWQ6IChOU0V2ZW50ICopZQogICBz dHJ1Y3QgbnNfZGlzcGxheV9pbmZvICpkcHlpbmZvID0gRlJBTUVfRElTUExBWV9JTkZPIChlbWFj c2ZyYW1lKTsKICAgTGlzcF9PYmplY3QgZnJhbWU7CiAgIE5TUG9pbnQgcHQ7CisgIEJPT0wgZHJh Z2dpbmc7CiAKICAgTlNUUkFDRV9XSEVOIChOU1RSQUNFX0dST1VQX0VWRU5UUywgIltFbWFjc1Zp ZXcgbW91c2VNb3ZlZDpdIik7CiAKQEAgLTY3NjYsNyArNjc3OSw4IEBAIC0gKHZvaWQpbW91c2VN b3ZlZDogKE5TRXZlbnQgKillCiAgICAgICBsYXN0X21vdXNlX3dpbmRvdyA9IHdpbmRvdzsKICAg ICB9CiAKLSAgaWYgKCFub3RlX21vdXNlX21vdmVtZW50IChlbWFjc2ZyYW1lLCBwdC54LCBwdC55 KSkKKyAgZHJhZ2dpbmcgPSAoZS50eXBlID09IE5TRXZlbnRUeXBlTGVmdE1vdXNlRHJhZ2dlZCk7 CisgIGlmICghbm90ZV9tb3VzZV9tb3ZlbWVudCAoZW1hY3NmcmFtZSwgcHQueCwgcHQueSwgZHJh Z2dpbmcpKQogICAgIGhlbHBfZWNob19zdHJpbmcgPSBwcmV2aW91c19oZWxwX2VjaG9fc3RyaW5n OwogCiAgIFhTRVRGUkFNRSAoZnJhbWUsIGVtYWNzZnJhbWUpOwpkaWZmIC0tZ2l0IGEvc3JjL25z eHdpZGdldC5oIGIvc3JjL25zeHdpZGdldC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAuLmE2MTdhMGQ1MjcKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbnN4d2lkZ2V0LmgK QEAgLTAsMCArMSw3NyBAQAorLyogSGVhZGVyIGZvciBOUyBDb2NvYSBwYXJ0IG9mIHh3aWRnZXQg YW5kIHdlYmtpdCB3aWRnZXQuCisKK0NvcHlyaWdodCAoQykgMjAxMS0yMDE3IEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLgorCitUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCisK K0dOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IgbW9kaWZ5CitpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzIHB1Ymxpc2hlZCBieQordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0 aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxh dGVyIHZlcnNpb24uCisKK0dOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLAorYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKK01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKK0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGZvciBtb3JlIGRldGFpbHMuCisKK1lvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCithbG9uZyB3aXRoIEdOVSBFbWFjcy4g IElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisKKyNpZm5k ZWYgTlNYV0lER0VUX0hfSU5DTFVERUQKKyNkZWZpbmUgTlNYV0lER0VUX0hfSU5DTFVERUQKKwor LyogVGhpcyBmaWxlIGNhbiBiZSBpbmNsdWRlZCBmcm9tIG5vbi1vYmpjIGZpbGVzIHRocm91Z2gg J3h3aWRnZXQuaCcuICAqLworI2lmZGVmIF9fT0JKQ19fCisjaW1wb3J0IDxBcHBLaXQvTlNWaWV3 Lmg+CisjZW5kaWYKKworI2luY2x1ZGUgImRpc3BleHRlcm4uaCIKKyNpbmNsdWRlICJsaXNwLmgi CisjaW5jbHVkZSAieHdpZGdldC5oIgorCisvKiBGdW5jdGlvbnMgZm9yIHh3aWRnZXQgd2Via2l0 LiAgKi8KKworYm9vbCBuc3h3aWRnZXRfaXNfd2ViX3ZpZXcgKHN0cnVjdCB4d2lkZ2V0ICp4dyk7 Cit2b2lkIG5zeHdpZGdldF93ZWJraXRfZ290b191cmkgKHN0cnVjdCB4d2lkZ2V0ICp4dywgY29u c3QgY2hhciAqdXJpKTsKK3ZvaWQgbnN4d2lkZ2V0X3dlYmtpdF96b29tIChzdHJ1Y3QgeHdpZGdl dCAqeHcsIGRvdWJsZSB6b29tX2NoYW5nZSk7Cit2b2lkIG5zeHdpZGdldF93ZWJraXRfZXhlY3V0 ZV9zY3JpcHQgKHN0cnVjdCB4d2lkZ2V0ICp4dywgY29uc3QgY2hhciAqc2NyaXB0LAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXNwX09iamVjdCBmdW4pOworCisvKiBG dW5jdGlvbnMgZm9yIHh3aWRnZXQgbW9kZWwuICAqLworCisjaWZkZWYgX19PQkpDX18KK0BpbnRl cmZhY2UgWHdXaW5kb3cgOiBOU1ZpZXcKK0Bwcm9wZXJ0eSBzdHJ1Y3QgeHdpZGdldCAqeHc7CitA ZW5kCisjZW5kaWYKKwordm9pZCBuc3h3aWRnZXRfaW5pdCAoc3RydWN0IHh3aWRnZXQgKnh3KTsK K3ZvaWQgbnN4d2lkZ2V0X2tpbGwgKHN0cnVjdCB4d2lkZ2V0ICp4dyk7Cit2b2lkIG5zeHdpZGdl dF9yZXNpemUgKHN0cnVjdCB4d2lkZ2V0ICp4dyk7CitMaXNwX09iamVjdCBuc3h3aWRnZXRfZ2V0 X3NpemUgKHN0cnVjdCB4d2lkZ2V0ICp4dyk7CisKKy8qIEZ1bmN0aW9ucyBmb3IgeHdpZGdldCB2 aWV3LiAgKi8KKworI2lmZGVmIF9fT0JKQ19fCitAaW50ZXJmYWNlIFh2V2luZG93IDogTlNWaWV3 CitAcHJvcGVydHkgc3RydWN0IHh3aWRnZXQgKnh3OworQHByb3BlcnR5IHN0cnVjdCB4d2lkZ2V0 X3ZpZXcgKnh2OworQGVuZAorI2VuZGlmCisKK3ZvaWQgbnN4d2lkZ2V0X2luaXRfdmlldyAoc3Ry dWN0IHh3aWRnZXRfdmlldyAqeHYsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4 d2lkZ2V0ICp4d3csCisgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBnbHlwaF9zdHJp bmcgKnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4LCBpbnQgeSk7Cit2b2lkIG5z eHdpZGdldF9kZWxldGVfdmlldyAoc3RydWN0IHh3aWRnZXRfdmlldyAqeHYpOworCit2b2lkIG5z eHdpZGdldF9zaG93X3ZpZXcgKHN0cnVjdCB4d2lkZ2V0X3ZpZXcgKnh2KTsKK3ZvaWQgbnN4d2lk Z2V0X2hpZGVfdmlldyAoc3RydWN0IHh3aWRnZXRfdmlldyAqeHYpOwordm9pZCBuc3h3aWRnZXRf cmVzaXplX3ZpZXcgKHN0cnVjdCB4d2lkZ2V0X3ZpZXcgKnh2LAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGludCB3aWRnZXQsIGludCBoZWlnaHQpOworCit2b2lkIG5zeHdpZGdldF9tb3Zl X3ZpZXcgKHN0cnVjdCB4d2lkZ2V0X3ZpZXcgKnh2LCBpbnQgeCwgaW50IHkpOwordm9pZCBuc3h3 aWRnZXRfbW92ZV93aWRnZXRfaW5fdmlldyAoc3RydWN0IHh3aWRnZXRfdmlldyAqeHYsIGludCB4 LCBpbnQgeSk7Cit2b2lkIG5zeHdpZGdldF9zZXRfbmVlZHNkaXNwbGF5IChzdHJ1Y3QgeHdpZGdl dF92aWV3ICp4dik7CisKKyNlbmRpZiAvKiBOU1hXSURHRVRfSF9JTkNMVURFRCAqLwpkaWZmIC0t Z2l0IGEvc3JjL25zeHdpZGdldC5tIGIvc3JjL25zeHdpZGdldC5tCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAuLjA0ZjE0NzJjOTYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMv bnN4d2lkZ2V0Lm0KQEAgLTAsMCArMSw1MDkgQEAKKy8qIE5TIENvY29hIHBhcnQgaW1wbGVtZW50 YXRpb24gb2YgeHdpZGdldCBhbmQgd2Via2l0IHdpZGdldC4KKworQ29weXJpZ2h0IChDKSAxOTg5 LCAxOTkyLTE5OTQsIDIwMDUtMjAwNiwgMjAwOC0yMDE3IEZyZWUgU29mdHdhcmUKK0ZvdW5kYXRp b24sIEluYy4KKworVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgorCitHTlUgRW1hY3Mg aXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQor aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBw dWJsaXNoZWQgYnkKK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9u IDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u LgorCitHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwKK2J1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCitNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlCitHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y ZSBkZXRhaWxzLgorCitZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorYWxvbmcgd2l0aCBHTlUgRW1hY3MuICBJZiBub3QsIHNl ZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworCisjaW5jbHVkZSA8Y29uZmln Lmg+CisKKyNpbmNsdWRlICJsaXNwLmgiCisjaW5jbHVkZSAiYmxvY2tpbnB1dC5oIgorI2luY2x1 ZGUgImRpc3BleHRlcm4uaCIKKyNpbmNsdWRlICJidWZmZXIuaCIKKyNpbmNsdWRlICJmcmFtZS5o IgorI2luY2x1ZGUgIm5zdGVybS5oIgorI2luY2x1ZGUgInh3aWRnZXQuaCIKKworLyogRGVmaW5l ZCBpbiAneHdpZGdldC5jJy4gICovCit2b2lkIHN0b3JlX3h3aWRnZXRfZXZlbnRfc3RyaW5nIChz dHJ1Y3QgeHdpZGdldCAqeHcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z dCBjaGFyICpldmVudG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z dCBjaGFyICpldmVudHN0cik7CisKK3ZvaWQgc3RvcmVfeHdpZGdldF9qc19jYWxsYmFja19ldmVu dCAoc3RydWN0IHh3aWRnZXQgKnh3LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBMaXNwX09iamVjdCBwcm9jLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBMaXNwX09iamVjdCBhcmd1bWVudCk7CisKKyNpbXBvcnQgPEFwcEtpdC9BcHBLaXQuaD4K KyNpbXBvcnQgPFdlYktpdC9XZWJLaXQuaD4KKworLyogVGhvdWdodHMgb24gTlMgQ29jb2EgeHdp ZGdldCBhbmQgd2Via2l0MjoKKworICAgV2Via2l0MiBwcm9jZXNzIGFyY2hpdGVjdHVyZSBzZWVt cyB0byBiZSB2ZXJ5IGhvc3RpbGUgZm9yIG9mZnNjcmVlbgorICAgcmVuZGVyaW5nIHRlY2huaXF1 ZXMsIHdoaWNoIGlzIHVzZWQgYnkgR1RLIHh3aWdldCBpbXBsZW1lbnRhdGlvbjsKKyAgIFNwZWNp ZmljYWxseSBOU1ZpZXcgbGV2ZWwgdmlldyBzaGFyaW5nIC8gY29weWluZyBpcyBub3Qgd29ya2lu Zy4KKworICAgKioqIFNvIG9ubHkgb25lIHZpZXcgY2FuIGJlIGFzc29jaWNhdGVkIHdpdGggYSBt b2RlbC4gKioqCisKKyAgIFdpdGggdGhpcyBkZWNpc2lvbiwgaW1wbGVtZW50YXRpb24gaXMgcGxh aW4gYW5kIGNhbiBleHBlY3QgYmVzdCBvdXQKKyAgIG9mIHdlYmtpdDIncyByYXRpb25hbGUuICBC dXQgcHJvY2VzcyBhbmQgc2Vzc2lvbiBzdHJ1Y3R1cmVzIHdpbGwKKyAgIGRpdmVyZ2UgZnJvbSBH VEsgeHdpZ2V0LiAgVGhvdWdoLCBjb3NtZXRpY2FsbHkgc2ltaWxhciB1c2FnZXMgY2FuCisgICBi ZSBwcmVzZW50ZWQgYW5kIHdpbGwgYmUgcHJlZmVycmVkLCBpZiBhZ3JlZWFibGUuCisKKyAgIEZv ciBvdGhlciB3aWRnZXQgdHlwZXMsIE9TUiBzZWVtcyBwb3NzaWJsZSwgYnV0IHdpbGwgbm90IGNh cmUgZm9yIGEKKyAgIHdoaWxlLiAgKi8KKworLyogWHdpZGdldCB3ZWJraXQuICAqLworCitAaW50 ZXJmYWNlIFh3V2ViVmlldyA6IFdLV2ViVmlldworPFdLTmF2aWdhdGlvbkRlbGVnYXRlLCBXS1VJ RGVsZWdhdGUsIFdLU2NyaXB0TWVzc2FnZUhhbmRsZXI+CitAcHJvcGVydHkgc3RydWN0IHh3aWRn ZXQgKnh3OworQGVuZAorQGltcGxlbWVudGF0aW9uIFh3V2ViVmlldyA6IFdLV2ViVmlldworCist IChpZClpbml0V2l0aEZyYW1lOihDR1JlY3QpZnJhbWUKKyAgICAgIGNvbmZpZ3VyYXRpb246KFdL V2ViVmlld0NvbmZpZ3VyYXRpb24gKiljb25maWd1cmF0aW9uCisgICAgICAgICAgICB4d2lkZ2V0 OihzdHJ1Y3QgeHdpZGdldCAqKXh3Cit7CisgIC8qIFNjcmlwdCBjb250cm9sbGVyIHRvIGFkZCBz Y3JpcHQgbWVzc2FnZSBoYW5kbGVyIGFuZCB1c2VyIHNjcmlwdC4gICovCisgIFdLVXNlckNvbnRl bnRDb250cm9sbGVyICpzY3JpcHRvciA9IFtbV0tVc2VyQ29udGVudENvbnRyb2xsZXIgYWxsb2Nd IGluaXRdOworICBjb25maWd1cmF0aW9uLnVzZXJDb250ZW50Q29udHJvbGxlciA9IHNjcmlwdG9y OworCisgIHNlbGYgPSBbc3VwZXIgaW5pdFdpdGhGcmFtZTpmcmFtZSBjb25maWd1cmF0aW9uOmNv bmZpZ3VyYXRpb25dOworICBpZiAoc2VsZikKKyAgICB7CisgICAgICBzZWxmLnh3ID0geHc7Cisg ICAgICBzZWxmLm5hdmlnYXRpb25EZWxlZ2F0ZSA9IHNlbGY7CisgICAgICBzZWxmLlVJRGVsZWdh dGUgPSBzZWxmOworICAgICAgc2VsZi5jdXN0b21Vc2VyQWdlbnQgPQorICAgICAgICBAIk1vemls bGEvNS4wIChNYWNpbnRvc2g7IEludGVsIE1hYyBPUyBYIDEwXzEyXzYpIgorICAgICAgICBAIiBB cHBsZVdlYktpdC82MDMuMy44IChLSFRNTCwgbGlrZSBHZWNrbykiCisgICAgICAgIEAiIFZlcnNp b24vMTEuMC4xIFNhZmFyaS82MDMuMy44IjsKKyAgICAgIFtzY3JpcHRvciBhZGRTY3JpcHRNZXNz YWdlSGFuZGxlcjpzZWxmIG5hbWU6QCJrZXlEb3duIl07CisgICAgICBbc2NyaXB0b3IgYWRkVXNl clNjcmlwdDpbW1dLVXNlclNjcmlwdCBhbGxvY10KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaW5pdFdpdGhTb3VyY2U6eHdTY3JpcHQKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGluamVjdGlvblRpbWU6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg V0tVc2VyU2NyaXB0SW5qZWN0aW9uVGltZUF0RG9jdW1lbnRFbmQKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZm9yTWFpbkZyYW1lT25seTpOT11dOworICAgIH0KKyAgcmV0dXJuIHNl bGY7Cit9CisKKyNpZiAwCisvKiBOb24gQVJDIC0ganVzdCB0byBjaGVjayBsaWZlY3ljbGUuICAq LworLSAodm9pZClkZWFsbG9jCit7CisgIE5TTG9nIChAIlh3V2ViVmlldyBkZWFsbG9jIik7Cisg IFtzdXBlciBkZWFsbG9jXTsKK30KKyNlbmRpZgorCistICh2b2lkKXdlYlZpZXc6KFdLV2ViVmll dyAqKXdlYlZpZXcKK2RpZEZpbmlzaE5hdmlnYXRpb246KFdLTmF2aWdhdGlvbiAqKW5hdmlnYXRp b24KK3sKKyAgc3RvcmVfeHdpZGdldF9ldmVudF9zdHJpbmcgKHNlbGYueHcsICJsb2FkLWNoYW5n ZWQiLCAiIik7Cit9CisKKy0gKHZvaWQpd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldworZGVj aWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbjooV0tOYXZpZ2F0aW9uQWN0aW9uICopbmF2aWdh dGlvbkFjdGlvbgorZGVjaXNpb25IYW5kbGVyOih2b2lkICheKShXS05hdmlnYXRpb25BY3Rpb25Q b2xpY3kpKWRlY2lzaW9uSGFuZGxlcgoreworICBzd2l0Y2ggKG5hdmlnYXRpb25BY3Rpb24ubmF2 aWdhdGlvblR5cGUpIHsKKyAgY2FzZSBXS05hdmlnYXRpb25UeXBlTGlua0FjdGl2YXRlZDoKKyAg ICBkZWNpc2lvbkhhbmRsZXIgKFdLTmF2aWdhdGlvbkFjdGlvblBvbGljeUFsbG93KTsKKyAgICBi cmVhazsKKyAgZGVmYXVsdDoKKyAgICAvLyBkZWNpc2lvbkhhbmRsZXIgKFdLTmF2aWdhdGlvbkFj dGlvblBvbGljeUNhbmNlbCk7CisgICAgZGVjaXNpb25IYW5kbGVyIChXS05hdmlnYXRpb25BY3Rp b25Qb2xpY3lBbGxvdyk7CisgICAgYnJlYWs7CisgIH0KK30KKworLSAodm9pZCl3ZWJWaWV3OihX S1dlYlZpZXcgKil3ZWJWaWV3CitkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uUmVzcG9uc2U6KFdL TmF2aWdhdGlvblJlc3BvbnNlICopbmF2aWdhdGlvblJlc3BvbnNlCitkZWNpc2lvbkhhbmRsZXI6 KHZvaWQgKF4pKFdLTmF2aWdhdGlvblJlc3BvbnNlUG9saWN5KSlkZWNpc2lvbkhhbmRsZXIKK3sK KyAgaWYgKCFuYXZpZ2F0aW9uUmVzcG9uc2UuY2FuU2hvd01JTUVUeXBlKQorICAgIHsKKyAgICAg IC8qIFRPRE86IGRvd25sb2FkIHVzaW5nIE5TVVJMeHh4PyAgKi8KKyAgICB9CisgIGRlY2lzaW9u SGFuZGxlciAoV0tOYXZpZ2F0aW9uUmVzcG9uc2VQb2xpY3lBbGxvdyk7Cit9CisKKy8qIE5vIGFk ZGl0aW9uYWwgbmV3IHdlYnZpZXcgb3IgZW1hY3Mgd2luZG93IHdpbGwgYmUgY3JlYXRlZAorICAg Zm9yIDxhIC4uLiB0YXJnZXQ9Il9ibGFuayI+LiAgKi8KKy0gKFdLV2ViVmlldyAqKXdlYlZpZXc6 KFdLV2ViVmlldyAqKXdlYlZpZXcKK2NyZWF0ZVdlYlZpZXdXaXRoQ29uZmlndXJhdGlvbjooV0tX ZWJWaWV3Q29uZmlndXJhdGlvbiAqKWNvbmZpZ3VyYXRpb24KKyAgIGZvck5hdmlnYXRpb25BY3Rp b246KFdLTmF2aWdhdGlvbkFjdGlvbiAqKW5hdmlnYXRpb25BY3Rpb24KKyAgICAgICAgd2luZG93 RmVhdHVyZXM6KFdLV2luZG93RmVhdHVyZXMgKil3aW5kb3dGZWF0dXJlcworeworICBpZiAoIW5h dmlnYXRpb25BY3Rpb24udGFyZ2V0RnJhbWUuaXNNYWluRnJhbWUpCisgICAgW3dlYlZpZXcgbG9h ZFJlcXVlc3Q6bmF2aWdhdGlvbkFjdGlvbi5yZXF1ZXN0XTsKKyAgcmV0dXJuIG5pbDsKK30KKwor LyogQnkgZm9yd2FyZGluZyBtb3VzZSBldmVudHMgdG8gZW1hY3MgdmlldyAoZnJhbWUpCisgICAt IE1vdXNlIGNsaWNrIGluIHdlYnZpZXcgc2VsZWN0cyB0aGUgd2luZG93IGNvbnRhaW5zIHRoZSB3 ZWJ2aWV3LgorICAgLSBDb3JyZWN0IG1vdXNlIGhhbmQvYXJyb3cvSS1iZWFtIGlzIGRpc3BsYXll ZCAoVE9ETzogbm90IHBlcmZlY3QgeWV0KS4KKyovCisKKy0gKHZvaWQpbW91c2VEb3duOihOU0V2 ZW50ICopZXZlbnQKK3sKKyAgW3NlbGYueHctPnh2LT5lbWFjc3dpbmRvdyBtb3VzZURvd246ZXZl bnRdOworICBbc3VwZXIgbW91c2VEb3duOmV2ZW50XTsKK30KKworLSAodm9pZCltb3VzZVVwOihO U0V2ZW50ICopZXZlbnQKK3sKKyAgW3NlbGYueHctPnh2LT5lbWFjc3dpbmRvdyBtb3VzZVVwOmV2 ZW50XTsKKyAgW3N1cGVyIG1vdXNlVXA6ZXZlbnRdOworfQorCisvKiBCYXNpY2FsbHkgd2Ugd2Fu dCBrZXlib2FyZCBldmVudHMgaGFuZGxlZCBieSBlbWFjcyB1bmxlc3MgYW4gaW5wdXQKKyAgIGVs ZW1lbnQgaGFzIGZvY3VzLiAgRXNwZWNpYWxseSwgd2hpbGUgaW5jcmVtZW50YWwgc2VhcmNoLCB3 ZSBzZXQKKyAgIGVtYWNzIGFzIGZpcnN0IHJlc3BvbmRlciB0byBhdm9pZCBmb2N1cyBoZWxkIGlu IGFuIGlucHV0IGVsZW1lbnQKKyAgIHdpdGggbWF0Y2hpbmcgdGV4dC4gICovCisKKy0gKHZvaWQp a2V5RG93bjooTlNFdmVudCAqKWV2ZW50Cit7CisgIExpc3BfT2JqZWN0IHZhciA9IEZpbnRlcm4g KGJ1aWxkX3N0cmluZyAoImlzZWFyY2gtbW9kZSIpLCBRbmlsKTsKKyAgTGlzcF9PYmplY3QgdmFs ID0gYnVmZmVyX2xvY2FsX3ZhbHVlICh2YXIsIEZjdXJyZW50X2J1ZmZlciAoKSk7CisgIGlmICgh RVEgKHZhbCwgUXVuYm91bmQpICYmICFFUSAodmFsLCBRbmlsKSkKKyAgICB7CisgICAgICBbc2Vs Zi53aW5kb3cgbWFrZUZpcnN0UmVzcG9uZGVyOnNlbGYueHctPnh2LT5lbWFjc3dpbmRvd107Cisg ICAgICBbc2VsZi54dy0+eHYtPmVtYWNzd2luZG93IGtleURvd246ZXZlbnRdOworICAgICAgcmV0 dXJuOworICAgIH0KKworICBbc2VsZiBldmFsdWF0ZUphdmFTY3JpcHQ6QCJ4d0hhc0ZvY3VzKCki CisgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcjpeKGlkIHJlc3VsdCwgTlNFcnJvciAqZXJyb3Ip IHsKKyAgICAgIGlmIChlcnJvcikKKyAgICAgICAgTlNMb2cgKEAieHdIYXNGb2N1czogJUAiLCBl cnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbik7CisgICAgICBlbHNlIGlmIChyZXN1bHQpCisgICAg ICAgIHsKKyAgICAgICAgICBOU051bWJlciAqaGFzRm9jdXMgPSByZXN1bHQ7IC8qIF9fTlNDRkJv b2xlYW4gKi8KKyAgICAgICAgICBpZiAoIWhhc0ZvY3VzLmJvb2xWYWx1ZSkKKyAgICAgICAgICAg IFtzZWxmLnh3LT54di0+ZW1hY3N3aW5kb3cga2V5RG93bjpldmVudF07CisgICAgICAgICAgZWxz ZQorICAgICAgICAgICAgW3N1cGVyIGtleURvd246ZXZlbnRdOworICAgICAgICB9CisgICAgfV07 Cit9CisKKy0gKHZvaWQpaW50ZXJwcmV0S2V5RXZlbnRzOihOU0FycmF5PE5TRXZlbnQgKj4gKill dmVudEFycmF5Cit7CisgIC8qIFdlIHNob3VsZCBkbyBub3RoaW5nIGFuZCBkbyBub3QgZm9yd2Fy ZCAoZGVmYXVsdCBpbXBsZW1lbnRhdGlvbgorICAgICBpZiB3ZSBub3Qgb3ZlcnJpZGUgaGVyZSkg dG8gbGV0IGVtYWNzIGNvbGxlY3Qga2V5IGV2ZW50cyBhbmQgYXNrCisgICAgIGludGVycHJldEtl eUV2ZW50cyB0byBpdHMgc3VwZXJjbGFzcy4gICovCit9CisKK3N0YXRpYyBOU1N0cmluZyAqeHdT Y3JpcHQ7CisrICh2b2lkKWluaXRpYWxpemUKK3sKKyAgLyogRmluZCBvdXQgaWYgYW4gaW5wdXQg ZWxlbWVudCBoYXMgZm9jdXMuCisgICAgIE1lc3NhZ2UgdG8gc2NyaXB0IG1lc3NhZ2UgaGFuZGxl ciB3aGVuICdDLWcnIGtleSBkb3duLiAgKi8KKyAgaWYgKCF4d1NjcmlwdCkKKyAgICB4d1Njcmlw dCA9CisgICAgICBAImZ1bmN0aW9uIHh3SGFzRm9jdXMoKSB7IgorICAgICAgQCIgIHZhciBhZSA9 IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7IgorICAgICAgQCIgIGlmIChhZSkgeyIKKyAgICAgIEAi ICAgIHZhciBuYW1lID0gYWUubm9kZU5hbWU7IgorICAgICAgQCIgICAgcmV0dXJuIG5hbWUgPT0g J0lOUFVUJyB8fCBuYW1lID09ICdURVhUQVJFQSc7IgorICAgICAgQCIgIH0gZWxzZSB7IgorICAg ICAgQCIgICAgcmV0dXJuIGZhbHNlOyIKKyAgICAgIEAiICB9IgorICAgICAgQCJ9IgorICAgICAg QCJmdW5jdGlvbiB4d0tleURvd24oZXZlbnQpIHsiCisgICAgICBAIiAgaWYgKGV2ZW50LmN0cmxL ZXkgJiYgZXZlbnQua2V5ID09ICdnJykgeyIKKyAgICAgIEAiICAgIHdpbmRvdy53ZWJraXQubWVz c2FnZUhhbmRsZXJzLmtleURvd24ucG9zdE1lc3NhZ2UoJ0MtZycpOyIKKyAgICAgIEAiICB9Igor ICAgICAgQCJ9IgorICAgICAgQCJkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywg eHdLZXlEb3duKTsiCisgICAgICA7Cit9CisKKy8qIENvbmZpcm1pbmcgdG8gV0tTY3JpcHRNZXNz YWdlSGFuZGxlciwgbGlzdGVucyBjb25jZXJuaW5nIGtleURvd24gaW4KKyAgIHdlYmtpdC4gQ3Vy cmVudGx5ICdDLWcnLiAgKi8KKy0gKHZvaWQpdXNlckNvbnRlbnRDb250cm9sbGVyOihXS1VzZXJD b250ZW50Q29udHJvbGxlciAqKXVzZXJDb250ZW50Q29udHJvbGxlcgorICAgICAgZGlkUmVjZWl2 ZVNjcmlwdE1lc3NhZ2U6KFdLU2NyaXB0TWVzc2FnZSAqKW1lc3NhZ2UKK3sKKyAgaWYgKFttZXNz YWdlLmJvZHkgaXNFcXVhbFRvU3RyaW5nOkAiQy1nIl0pCisgICAgeworICAgICAgLyogSnVzdCBn aXZlIHVwIGZvY3VzLCBubyByZWxheSAiQy1nIiB0byBlbWFjcywgYW5vdGhlciAiQy1nIgorICAg ICAgICAgZm9sbG93cyB3aWxsIGJlIGhhbmRsZWQgYnkgZW1hY3MuICAqLworICAgICAgW3NlbGYu d2luZG93IG1ha2VGaXJzdFJlc3BvbmRlcjpzZWxmLnh3LT54di0+ZW1hY3N3aW5kb3ddOworICAg IH0KK30KKworQGVuZAorCisvKiBYd2lkZ2V0IHdlYmtpdCBjb21tYW5kcy4gICovCisKK2Jvb2wK K25zeHdpZGdldF9pc193ZWJfdmlldyAoc3RydWN0IHh3aWRnZXQgKnh3KQoreworICByZXR1cm4g eHctPnh3V2lkZ2V0ICE9IE5VTEwgJiYKKyAgICBbeHctPnh3V2lkZ2V0IGlzS2luZE9mQ2xhc3M6 V0tXZWJWaWV3LmNsYXNzXTsKK30KKworLyogQE5vdGUgQVRTIC0gTmVlZCBhcHBsaWNhdGlvbiB0 cmFuc3BvcnQgc2VjdXJpdHkgaW4gJ0luZm8ucGxpc3QnIG9yCisgICByZW1vdGUgcGFnZXMgd2ls bCBub3QgbG9hZGVkLiAgKi8KK3ZvaWQKK25zeHdpZGdldF93ZWJraXRfZ290b191cmkgKHN0cnVj dCB4d2lkZ2V0ICp4dywgY29uc3QgY2hhciAqdXJpKQoreworICBYd1dlYlZpZXcgKnh3V2ViVmll dyA9IChYd1dlYlZpZXcgKikgeHctPnh3V2lkZ2V0OworICBOU1N0cmluZyAqdXJsU3RyaW5nID0g W05TU3RyaW5nIHN0cmluZ1dpdGhVVEY4U3RyaW5nOnVyaV07CisgIE5TVVJMICp1cmwgPSBbTlNV UkwgVVJMV2l0aFN0cmluZzp1cmxTdHJpbmddOworICBOU1VSTFJlcXVlc3QgKnVybFJlcXVlc3Qg PSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOnVybF07CisgIFt4d1dlYlZpZXcgbG9hZFJl cXVlc3Q6dXJsUmVxdWVzdF07Cit9CisKK3ZvaWQKK25zeHdpZGdldF93ZWJraXRfem9vbSAoc3Ry dWN0IHh3aWRnZXQgKnh3LCBkb3VibGUgem9vbV9jaGFuZ2UpCit7CisgIFh3V2ViVmlldyAqeHdX ZWJWaWV3ID0gKFh3V2ViVmlldyAqKSB4dy0+eHdXaWRnZXQ7CisgIHh3V2ViVmlldy5tYWduaWZp Y2F0aW9uICs9IHpvb21fY2hhbmdlOworICAvKiBUT0RPOiBzZXRNYWduaWZpY2F0aW9uOmNlbnRl cmVkQXRQb2ludC4gICovCit9CisKKy8qIEJ1aWxkIGxpc3Agc3RyaW5nICovCitzdGF0aWMgTGlz cF9PYmplY3QKK2J1aWxkX3N0cmluZ193aXRoX25zc3RyIChOU1N0cmluZyAqbnNzdHIpCit7Cisg IGNvbnN0IGNoYXIgKnV0ZnN0ciA9IFtuc3N0ciBVVEY4U3RyaW5nXTsKKyAgTlNVSW50ZWdlciBi eXRlcyA9IFtuc3N0ciBsZW5ndGhPZkJ5dGVzVXNpbmdFbmNvZGluZzpOU1VURjhTdHJpbmdFbmNv ZGluZ107CisgIHJldHVybiBtYWtlX3N0cmluZyAodXRmc3RyLCBieXRlcyk7Cit9CisKKy8qIFJl Y3Vyc2l2ZWx5IGNvbnZlcnQgYW4gb2JqYyBuYXRpdmUgdHlwZSBKYXZhU2NyaXB0IHZhbHVlIHRv IGEgTGlzcAorICAgdmFsdWUuICBNb3N0bHkgY29waWVkIGZyb20gR1RLIHh3aWRnZXQgJ3dlYmtp dF9qc190b19saXNwJy4gICovCitzdGF0aWMgTGlzcF9PYmplY3QKK2pzX3RvX2xpc3AgKGlkIHZh bHVlKQoreworICBpZiAodmFsdWUgPT0gbmlsIHx8IFt2YWx1ZSBpc0tpbmRPZkNsYXNzOk5TTnVs bC5jbGFzc10pCisgICAgcmV0dXJuIFFuaWw7CisgIGVsc2UgaWYgKFt2YWx1ZSBpc0tpbmRPZkNs YXNzOk5TU3RyaW5nLmNsYXNzXSkKKyAgICByZXR1cm4gYnVpbGRfc3RyaW5nX3dpdGhfbnNzdHIg KChOU1N0cmluZyAqKSB2YWx1ZSk7CisgIGVsc2UgaWYgKFt2YWx1ZSBpc0tpbmRPZkNsYXNzOk5T TnVtYmVyLmNsYXNzXSkKKyAgICB7CisgICAgICBOU051bWJlciAqbnNudW0gPSAoTlNOdW1iZXIg KikgdmFsdWU7CisgICAgICBjaGFyIHR5cGUgPSBuc251bS5vYmpDVHlwZVswXTsKKyAgICAgIGlm ICh0eXBlID09ICdjJykgLyogX19OU0NGQm9vbGVhbiBoYXMgdHlwZSBjaGFyYWN0ZXIgJ2MnLiAg Ki8KKyAgICAgICAgcmV0dXJuIG5zbnVtLmJvb2xWYWx1ZT8gUXQgOiBRbmlsOworICAgICAgZWxz ZQorICAgICAgICB7CisgICAgICAgICAgaWYgKHR5cGUgPT0gJ2knIHx8IHR5cGUgPT0gJ2wnKQor ICAgICAgICAgICAgcmV0dXJuIG1ha2VfbnVtYmVyIChuc251bS5sb25nVmFsdWUpOworICAgICAg ICAgIGVsc2UgaWYgKHR5cGUgPT0gJ2YnIHx8IHR5cGUgPT0gJ2QnKQorICAgICAgICAgICAgcmV0 dXJuIG1ha2VfZmxvYXQgKG5zbnVtLmRvdWJsZVZhbHVlKTsKKyAgICAgICAgICAvKiBlbHNlIGZh bGwgdGhyb3VnaC4gICovCisgICAgICAgIH0KKyAgICB9CisgIGVsc2UgaWYgKFt2YWx1ZSBpc0tp bmRPZkNsYXNzOk5TQXJyYXkuY2xhc3NdKQorICAgIHsKKyAgICAgIE5TQXJyYXkgKm5zYXJyID0g KE5TQXJyYXkgKikgdmFsdWU7CisgICAgICBFTUFDU19JTlQgbiA9IG5zYXJyLmNvdW50OworICAg ICAgTGlzcF9PYmplY3Qgb2JqOworICAgICAgc3RydWN0IExpc3BfVmVjdG9yICpwID0gYWxsb2Nh dGVfdmVjdG9yIChuKTsKKworICAgICAgZm9yIChwdHJkaWZmX3QgaSA9IDA7IGkgPCBuOyArK2kp CisgICAgICAgIHAtPmNvbnRlbnRzW2ldID0ganNfdG9fbGlzcCAoW25zYXJyIG9iamVjdEF0SW5k ZXg6aV0pOworICAgICAgWFNFVFZFQ1RPUiAob2JqLCBwKTsKKyAgICAgIHJldHVybiBvYmo7Cisg ICAgfQorICBlbHNlIGlmIChbdmFsdWUgaXNLaW5kT2ZDbGFzczpOU0RpY3Rpb25hcnkuY2xhc3Nd KQorICAgIHsKKyAgICAgIE5TRGljdGlvbmFyeSAqbnNkaWN0ID0gKE5TRGljdGlvbmFyeSAqKSB2 YWx1ZTsKKyAgICAgIE5TQXJyYXkgKmtleXMgPSBuc2RpY3QuYWxsS2V5czsKKyAgICAgIHB0cmRp ZmZfdCBuID0ga2V5cy5jb3VudDsKKyAgICAgIExpc3BfT2JqZWN0IG9iajsKKyAgICAgIHN0cnVj dCBMaXNwX1ZlY3RvciAqcCA9IGFsbG9jYXRlX3ZlY3RvciAobik7CisKKyAgICAgIGZvciAocHRy ZGlmZl90IGkgPSAwOyBpIDwgbjsgKytpKQorICAgICAgICB7CisgICAgICAgICAgTlNTdHJpbmcg KnByb3Bfa2V5ID0gKE5TU3RyaW5nICopIFtrZXlzIG9iamVjdEF0SW5kZXg6aV07CisgICAgICAg ICAgaWQgcHJvcF92YWx1ZSA9IFtuc2RpY3QgdmFsdWVGb3JLZXk6cHJvcF9rZXldOworICAgICAg ICAgIHAtPmNvbnRlbnRzW2ldID0gRmNvbnMgKGJ1aWxkX3N0cmluZ193aXRoX25zc3RyIChwcm9w X2tleSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAganNfdG9fbGlzcCAocHJv cF92YWx1ZSkpOworICAgICAgICB9CisgICAgICBYU0VUVkVDVE9SIChvYmosIHApOworICAgICAg cmV0dXJuIG9iajsKKyAgICB9CisgIE5TTG9nIChAIlVuaGFuZGxlZCB0eXBlIGluIGphdmFzY3Jp cHQgcmVzdWx0Iik7CisgIHJldHVybiBRbmlsOworfQorCit2b2lkCituc3h3aWRnZXRfd2Via2l0 X2V4ZWN1dGVfc2NyaXB0IChzdHJ1Y3QgeHdpZGdldCAqeHcsIGNvbnN0IGNoYXIgKnNjcmlwdCwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3BfT2JqZWN0IGZ1bikKK3sKKyAg TlNTdHJpbmcgKmphdmFzY3JpcHRTdHJpbmcgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aFVURjhTdHJp bmc6c2NyaXB0XTsKKyAgWHdXZWJWaWV3ICp4d1dlYlZpZXcgPSAoWHdXZWJWaWV3ICopIHh3LT54 d1dpZGdldDsKKworICBbeHdXZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpqYXZhc2NyaXB0U3Ry aW5nCisgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyOl4oaWQgcmVzdWx0LCBOU0Vycm9y ICplcnJvcikgeworICAgICAgaWYgKGVycm9yKQorICAgICAgICB7CisgICAgICAgICAgTlNMb2cg KEAiZXZhbHVhdGVKYXZhU2NyaXB0IGVycm9yIDogJUAiLCBlcnJvci5sb2NhbGl6ZWREZXNjcmlw dGlvbik7CisgICAgICAgICAgTlNMb2cgKEAiZXJyb3Igc2NyaXB0PSVAIiwgamF2YXNjcmlwdFN0 cmluZyk7CisgICAgICAgIH0KKyAgICAgIGVsc2UgaWYgKHJlc3VsdCAmJiBGVU5DVElPTlAgKGZ1 bikpCisgICAgICAgIHsKKyAgICAgICAgICAvLyBOU0xvZyAoQCJyZXN1bHQ9JUAsIHR5cGU9JUAi LCByZXN1bHQsIFtyZXN1bHQgY2xhc3NdKTsKKyAgICAgICAgICBMaXNwX09iamVjdCBsaXNwX3Zh bHVlID0ganNfdG9fbGlzcCAocmVzdWx0KTsKKyAgICAgICAgICBzdG9yZV94d2lkZ2V0X2pzX2Nh bGxiYWNrX2V2ZW50ICh4dywgZnVuLCBsaXNwX3ZhbHVlKTsKKyAgICAgICAgfQorICAgIH1dOwor fQorCisvKiBXaW5kb3cgY29udGFpbmluZyBhbiB4d2lkZ2V0LiAgKi8KKworQGltcGxlbWVudGF0 aW9uIFh3V2luZG93CistIChCT09MKWlzRmxpcHBlZCB7IHJldHVybiBZRVM7IH0KK0BlbmQKKwor LyogWHdpZGdldCBtb2RlbCwgbWFjT1MgQ29jb2EgcGFydC4gICovCisKK3ZvaWQKK25zeHdpZGdl dF9pbml0KHN0cnVjdCB4d2lkZ2V0ICp4dykKK3sKKyAgYmxvY2tfaW5wdXQgKCk7CisgIE5TUmVj dCByZWN0ID0gTlNNYWtlUmVjdCAoMCwgMCwgeHctPndpZHRoLCB4dy0+aGVpZ2h0KTsKKyAgeHct Pnh3V2lkZ2V0ID0gW1tYd1dlYlZpZXcgYWxsb2NdCisgICAgICAgICAgICAgICAgICAgaW5pdFdp dGhGcmFtZTpyZWN0CisgICAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbjpbW1dLV2ViVmll d0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdCisgICAgICAgICAgICAgICAgICAgICAgICAgeHdp ZGdldDp4d107CisgIHh3LT54d1dpbmRvdyA9IFtbWHdXaW5kb3cgYWxsb2NdCisgICAgICAgICAg ICAgICAgICAgaW5pdFdpdGhGcmFtZTpyZWN0XTsKKyAgW3h3LT54d1dpbmRvdyBhZGRTdWJ2aWV3 Onh3LT54d1dpZGdldF07CisgIHh3LT54diA9IE5VTEw7IC8qIGZvciAxIHRvIDEgcmVsYXRpb25z aGlwIG9mIHdlYmtpdDIuICAqLworICB1bmJsb2NrX2lucHV0ICgpOworfQorCit2b2lkCituc3h3 aWRnZXRfa2lsbCAoc3RydWN0IHh3aWRnZXQgKnh3KQoreworICBpZiAoeHcpCisgICAgeworICAg ICAgV0tVc2VyQ29udGVudENvbnRyb2xsZXIgKnNjcmlwdG9yID0KKyAgICAgICAgKChYd1dlYlZp ZXcgKikgeHctPnh3V2lkZ2V0KS5jb25maWd1cmF0aW9uLnVzZXJDb250ZW50Q29udHJvbGxlcjsK KyAgICAgIFtzY3JpcHRvciByZW1vdmVBbGxVc2VyU2NyaXB0c107CisgICAgICBbc2NyaXB0b3Ig cmVtb3ZlU2NyaXB0TWVzc2FnZUhhbmRsZXJGb3JOYW1lOkAia2V5RG93biJdOworICAgICAgW3Nj cmlwdG9yIHJlbGVhc2VdOworICAgICAgaWYgKHh3LT54dikKKyAgICAgICAgeHctPnh2LT5tb2Rl bCA9IFFuaWw7IC8qIE1ha2Ugc3VyZSByZWxhdGVkIHZpZXcgc3RhbGUuICAqLworICAgICAgW3h3 LT54d1dpZGdldCByZW1vdmVGcm9tU3VwZXJ2aWV3V2l0aG91dE5lZWRpbmdEaXNwbGF5XTsKKyAg ICAgIFt4dy0+eHdXaWRnZXQgcmVsZWFzZV07CisgICAgICBbeHctPnh3V2luZG93IHJlbW92ZUZy b21TdXBlcnZpZXdXaXRob3V0TmVlZGluZ0Rpc3BsYXldOworICAgICAgW3h3LT54d1dpbmRvdyBy ZWxlYXNlXTsKKyAgICAgIHh3LT54d1dpZGdldCA9IG5pbDsKKyAgICB9Cit9CisKK3ZvaWQKK25z eHdpZGdldF9yZXNpemUgKHN0cnVjdCB4d2lkZ2V0ICp4dykKK3sKKyAgaWYgKHh3LT54d1dpZGdl dCkKKyAgICB7CisgICAgICBbeHctPnh3V2luZG93IHNldEZyYW1lU2l6ZTpOU01ha2VTaXplKHh3 LT53aWR0aCwgeHctPmhlaWdodCldOworICAgICAgW3h3LT54d1dpZGdldCBzZXRGcmFtZVNpemU6 TlNNYWtlU2l6ZSh4dy0+d2lkdGgsIHh3LT5oZWlnaHQpXTsKKyAgICB9Cit9CisKK0xpc3BfT2Jq ZWN0Cituc3h3aWRnZXRfZ2V0X3NpemUgKHN0cnVjdCB4d2lkZ2V0ICp4dykKK3sKKyAgcmV0dXJu IGxpc3QyIChtYWtlX251bWJlciAoeHctPnh3V2lkZ2V0LmZyYW1lLnNpemUud2lkdGgpLAorICAg ICAgICAgICAgICAgIG1ha2VfbnVtYmVyICh4dy0+eHdXaWRnZXQuZnJhbWUuc2l6ZS5oZWlnaHQp KTsKK30KKworLyogWHdpZGdldCB2aWV3LCBtYWNPUyBDb2NvYSBwYXJ0LiAgKi8KKworQGltcGxl bWVudGF0aW9uIFh2V2luZG93IDogTlNWaWV3CistIChCT09MKWlzRmxpcHBlZCB7IHJldHVybiBZ RVM7IH0KK0BlbmQKKwordm9pZAorbnN4d2lkZ2V0X2luaXRfdmlldyAoc3RydWN0IHh3aWRnZXRf dmlldyAqeHYsCisgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeHdpZGdldCAqeHcsCisgICAg ICAgICAgICAgICAgICAgICBzdHJ1Y3QgZ2x5cGhfc3RyaW5nICpzLAorICAgICAgICAgICAgICAg ICAgICAgaW50IHgsIGludCB5KQoreworICAvKiAneF9kcmF3X3h3aWRnZXRfZ2x5cGhfc3RyaW5n JyB3aWxsIGNhbGN1bGF0ZSBjb3JyZWN0IHBvc2l0aW9uIGFuZAorICAgICBzaXplIG9mIGNsaXAg dG8gZHJhdyBpbiBlbWFjcyBidWZmZXIgd2luZG93LiAgVGh1cywganVzdCBiZWdpbiBhdAorICAg ICBvcmlnaW4gd2l0aCBubyBjcm9wLiAgKi8KKyAgeHYtPnggPSB4OworICB4di0+eSA9IHk7Cisg IHh2LT5jbGlwX2xlZnQgPSAwOworICB4di0+Y2xpcF9yaWdodCA9IHh3LT53aWR0aDsKKyAgeHYt PmNsaXBfdG9wID0gMDsKKyAgeHYtPmNsaXBfYm90dG9tID0geHctPmhlaWdodDsKKworICB4di0+ eHZXaW5kb3cgPSBbW1h2V2luZG93IGFsbG9jXQorICAgICAgICAgICAgICAgICAgIGluaXRXaXRo RnJhbWU6TlNNYWtlUmVjdCAoeCwgeSwgeHctPndpZHRoLCB4dy0+aGVpZ2h0KV07CisgIHh2LT54 dldpbmRvdy54dyA9IHh3OworICB4di0+eHZXaW5kb3cueHYgPSB4djsKKworICB4dy0+eHYgPSB4 djsgLyogRm9yIDEgdG8gMSByZWxhdGlvbnNoaXAgb2Ygd2Via2l0Mi4gICovCisgIFt4di0+eHZX aW5kb3cgYWRkU3Vidmlldzp4dy0+eHdXaW5kb3ddOworCisgIHh2LT5lbWFjc3dpbmRvdyA9IEZS QU1FX05TX1ZJRVcgKHMtPmYpOworICBbeHYtPmVtYWNzd2luZG93IGFkZFN1YnZpZXc6eHYtPnh2 V2luZG93XTsKK30KKwordm9pZAorbnN4d2lkZ2V0X2RlbGV0ZV92aWV3IChzdHJ1Y3QgeHdpZGdl dF92aWV3ICp4dikKK3sKKyAgaWYgKCFFUSAoeHYtPm1vZGVsLCBRbmlsKSkKKyAgICB7CisgICAg ICBzdHJ1Y3QgeHdpZGdldCAqeHcgPSBYWFdJREdFVCAoeHYtPm1vZGVsKTsKKyAgICAgIFt4dy0+ eHdXaW5kb3cgcmVtb3ZlRnJvbVN1cGVydmlld1dpdGhvdXROZWVkaW5nRGlzcGxheV07CisgICAg ICB4dy0+eHYgPSBOVUxMOyAvKiBOb3cgbW9kZWwgaGFzIG5vIHZpZXcuICAqLworICAgIH0KKyAg W3h2LT54dldpbmRvdyByZW1vdmVGcm9tU3VwZXJ2aWV3V2l0aG91dE5lZWRpbmdEaXNwbGF5XTsK KyAgW3h2LT54dldpbmRvdyByZWxlYXNlXTsKK30KKwordm9pZAorbnN4d2lkZ2V0X3Nob3dfdmll dyAoc3RydWN0IHh3aWRnZXRfdmlldyAqeHYpCit7CisgIHh2LT5oaWRkZW4gPSBOTzsKKyAgW3h2 LT54dldpbmRvdyBzZXRGcmFtZU9yaWdpbjpOU01ha2VQb2ludCh4di0+eCArIHh2LT5jbGlwX2xl ZnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeHYtPnkgKyB4 di0+Y2xpcF90b3ApXTsKK30KKwordm9pZAorbnN4d2lkZ2V0X2hpZGVfdmlldyAoc3RydWN0IHh3 aWRnZXRfdmlldyAqeHYpCit7CisgIHh2LT5oaWRkZW4gPSBZRVM7CisgIFt4di0+eHZXaW5kb3cg c2V0RnJhbWVPcmlnaW46TlNNYWtlUG9pbnQoMTAwMDAsIDEwMDAwKV07Cit9CisKK3ZvaWQKK25z eHdpZGdldF9yZXNpemVfdmlldyAoc3RydWN0IHh3aWRnZXRfdmlldyAqeHYsIGludCB3aWR0aCwg aW50IGhlaWdodCkKK3sKKyAgW3h2LT54dldpbmRvdyBzZXRGcmFtZVNpemU6TlNNYWtlU2l6ZSh3 aWR0aCwgaGVpZ2h0KV07Cit9CisKK3ZvaWQKK25zeHdpZGdldF9tb3ZlX3ZpZXcgKHN0cnVjdCB4 d2lkZ2V0X3ZpZXcgKnh2LCBpbnQgeCwgaW50IHkpCit7CisgIFt4di0+eHZXaW5kb3cgc2V0RnJh bWVPcmlnaW46TlNNYWtlUG9pbnQgKHgsIHkpXTsKK30KKworLyogTW92ZSBtb2RlbCB3aW5kb3cg aW4gY29udGFpbmVyICh2aWV3IHdpbmRvdykuICAqLwordm9pZAorbnN4d2lkZ2V0X21vdmVfd2lk Z2V0X2luX3ZpZXcgKHN0cnVjdCB4d2lkZ2V0X3ZpZXcgKnh2LCBpbnQgeCwgaW50IHkpCit7Cisg IHN0cnVjdCB4d2lkZ2V0ICp4d3cgPSB4di0+eHZXaW5kb3cueHc7CisgIFt4d3ctPnh3V2luZG93 IHNldEZyYW1lT3JpZ2luOk5TTWFrZVBvaW50ICh4LCB5KV07Cit9CisKK3ZvaWQKK25zeHdpZGdl dF9zZXRfbmVlZHNkaXNwbGF5IChzdHJ1Y3QgeHdpZGdldF92aWV3ICp4dikKK3sKKyAgeHYtPnh2 V2luZG93Lm5lZWRzRGlzcGxheSA9IFlFUzsKK30KZGlmZiAtLWdpdCBhL3NyYy94d2lkZ2V0LmMg Yi9zcmMveHdpZGdldC5jCmluZGV4IGE2N2RjMGVjZjQuLjE3ZTFlNjQyOGEgMTAwNjQ0Ci0tLSBh L3NyYy94d2lkZ2V0LmMKKysrIGIvc3JjL3h3aWRnZXQuYwpAQCAtMTgsMTcgKzE4LDI2IEBAIFlv dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlCiBhbG9uZyB3aXRoIEdOVSBFbWFjcy4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5n bnUub3JnL2xpY2Vuc2VzLz4uICAqLwogCiAjaW5jbHVkZSA8Y29uZmlnLmg+CisjaW5jbHVkZSA8 c3RkaW8uaD4gLyogRklYTUU6IEVtYWNzIGVycm9yPyBtZXNzYWdlPyBpbnN0ZWFkIG9mIHByaW50 Zi4gICovCiAKICNpbmNsdWRlICJ4d2lkZ2V0LmgiCiAKICNpbmNsdWRlICJsaXNwLmgiCiAjaW5j bHVkZSAiYmxvY2tpbnB1dC5oIgorI2luY2x1ZGUgImRpc3BleHRlcm4uaCIKICNpbmNsdWRlICJm cmFtZS5oIgogI2luY2x1ZGUgImtleWJvYXJkLmgiCiAjaW5jbHVkZSAiZ3RrdXRpbC5oIgorI2lu Y2x1ZGUgInRlcm1ob29rcy5oIgorI2luY2x1ZGUgIndpbmRvdy5oIgogCisvKiBJbmNsdWRlIHh3 aWRnZXQgYm90dG9tIGVuZCBoZWFkZXJzLiAgKi8KKyNpZiBkZWZpbmVkIChVU0VfR1RLKQogI2lu Y2x1ZGUgPHdlYmtpdDIvd2Via2l0Mi5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0phdmFT Y3JpcHQuaD4KKyNlbGlmIGRlZmluZWQgKE5TX0lNUExfQ09DT0EpCisjaW5jbHVkZSAibnN4d2lk Z2V0LmgiCisjZW5kaWYKIAogc3RhdGljIHN0cnVjdCB4d2lkZ2V0ICoKIGFsbG9jYXRlX3h3aWRn ZXQgKHZvaWQpCkBAIC00OCw2ICs1Nyw3IEBAIGFsbG9jYXRlX3h3aWRnZXRfdmlldyAodm9pZCkK IAogc3RhdGljIHN0cnVjdCB4d2lkZ2V0X3ZpZXcgKnh3aWRnZXRfdmlld19sb29rdXAgKHN0cnVj dCB4d2lkZ2V0ICosCiAJCQkJCQkgc3RydWN0IHdpbmRvdyAqKTsKKyNpZiBkZWZpbmVkIChVU0Vf R1RLKQogc3RhdGljIHZvaWQgd2Via2l0X3ZpZXdfbG9hZF9jaGFuZ2VkX2NiIChXZWJLaXRXZWJW aWV3ICosCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlYktpdExv YWRFdmVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3BvaW50 ZXIpOwpAQCAtNjEsNiArNzEsNyBAQCB3ZWJraXRfZGVjaWRlX3BvbGljeV9jYiAoV2ViS2l0V2Vi VmlldyAqLAogICAgICAgICAgICAgICAgICAgICAgICAgIFdlYktpdFBvbGljeURlY2lzaW9uICos CiAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViS2l0UG9saWN5RGVjaXNpb25UeXBlLAogICAg ICAgICAgICAgICAgICAgICAgICAgIGdwb2ludGVyKTsKKyNlbmRpZgogCiAKIERFRlVOICgibWFr ZS14d2lkZ2V0IiwKQEAgLTkyLDEwICsxMDMsMTEgQEAgUmV0dXJucyB0aGUgbmV3bHkgY29uc3Ry dWN0ZWQgeHdpZGdldCwgb3IgbmlsIGlmIGNvbnN0cnVjdGlvbiBmYWlscy4gICovKQogICB4dy0+ a2lsbF93aXRob3V0X3F1ZXJ5ID0gZmFsc2U7CiAgIFhTRVRYV0lER0VUICh2YWwsIHh3KTsKICAg Vnh3aWRnZXRfbGlzdCA9IEZjb25zICh2YWwsIFZ4d2lkZ2V0X2xpc3QpOwotICB4dy0+d2lkZ2V0 d2luZG93X29zciA9IE5VTEw7Ci0gIHh3LT53aWRnZXRfb3NyID0gTlVMTDsKICAgeHctPnBsaXN0 ID0gUW5pbDsKIAorI2lmIGRlZmluZWQgKFVTRV9HVEspCisgIHh3LT53aWRnZXR3aW5kb3dfb3Ny ID0gTlVMTDsKKyAgeHctPndpZGdldF9vc3IgPSBOVUxMOwogICBpZiAoRVEgKHh3LT50eXBlLCBR d2Via2l0KSkKICAgICB7CiAgICAgICBibG9ja19pbnB1dCAoKTsKQEAgLTE1MCw2ICsxNjIsOSBA QCBSZXR1cm5zIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCB4d2lkZ2V0LCBvciBuaWwgaWYgY29uc3Ry dWN0aW9uIGZhaWxzLiAgKi8pCiAKICAgICAgIHVuYmxvY2tfaW5wdXQgKCk7CiAgICAgfQorI2Vs aWYgZGVmaW5lZCAoTlNfSU1QTF9DT0NPQSkKKyAgbnN4d2lkZ2V0X2luaXQgKHh3KTsKKyNlbmRp ZgogCiAgIHJldHVybiB2YWw7CiB9CkBAIC0xODUsNiArMjAwLDcgQEAgeHdpZGdldF9oaWRkZW4g KHN0cnVjdCB4d2lkZ2V0X3ZpZXcgKnh2KQogICByZXR1cm4geHYtPmhpZGRlbjsKIH0KIAorI2lm IGRlZmluZWQgKFVTRV9HVEspCiBzdGF0aWMgdm9pZAogeHdpZGdldF9zaG93X3ZpZXcgKHN0cnVj dCB4d2lkZ2V0X3ZpZXcgKnh2KQogewpAQCAtMjIzLDggKzIzOSw5IEBAIG9mZnNjcmVlbl9kYW1h Z2VfZXZlbnQgKEd0a1dpZGdldCAqd2lkZ2V0LCBHZGtFdmVudCAqZXZlbnQsCiAKICAgcmV0dXJu IEZBTFNFOwogfQorI2VuZGlmIC8qIFVTRV9HVEsgKi8KIAotc3RhdGljIHZvaWQKK3ZvaWQKIHN0 b3JlX3h3aWRnZXRfZXZlbnRfc3RyaW5nIChzdHJ1Y3QgeHdpZGdldCAqeHcsIGNvbnN0IGNoYXIg KmV2ZW50bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpldmVu dHN0cikKIHsKQEAgLTIzOCw3ICsyNTUsNyBAQCBzdG9yZV94d2lkZ2V0X2V2ZW50X3N0cmluZyAo c3RydWN0IHh3aWRnZXQgKnh3LCBjb25zdCBjaGFyICpldmVudG5hbWUsCiAgIGtiZF9idWZmZXJf c3RvcmVfZXZlbnQgKCZldmVudCk7CiB9CiAKLXN0YXRpYyB2b2lkCit2b2lkCiBzdG9yZV94d2lk Z2V0X2pzX2NhbGxiYWNrX2V2ZW50IChzdHJ1Y3QgeHdpZGdldCAqeHcsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBMaXNwX09iamVjdCBwcm9jLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgTGlzcF9PYmplY3QgYXJndW1lbnQpCkBAIC0yNTQsNiArMjcxLDcgQEAg c3RvcmVfeHdpZGdldF9qc19jYWxsYmFja19ldmVudCAoc3RydWN0IHh3aWRnZXQgKnh3LAogfQog CiAKKyNpZiBkZWZpbmVkIChVU0VfR1RLKQogdm9pZAogd2Via2l0X3ZpZXdfbG9hZF9jaGFuZ2Vk X2NiIChXZWJLaXRXZWJWaWV3ICp3ZWJraXR3ZWJ2aWV3LAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBXZWJLaXRMb2FkRXZlbnQgbG9hZF9ldmVudCwKQEAgLTM4OSw5ICs0MDcsOCBAQCB3 ZWJraXRfamF2YXNjcmlwdF9maW5pc2hlZF9jYiAoR09iamVjdCAgICAgICp3ZWJ2aWV3LAogICAg IC8qIFJlZ2lzdGVyIGFuIHh3aWRnZXQgZXZlbnQgaGVyZSwgd2hpY2ggdGhlbiBydW5zIHRoZSBj YWxsYmFjay4KICAgICAgICBUaGlzIGVuc3VyZXMgdGhhdCB0aGUgY2FsbGJhY2sgcnVucyBpbiBz eW5jIHdpdGggdGhlIEVtYWNzCiAgICAgICAgZXZlbnQgbG9vcC4gICovCi0gICAgLyogRklYTUU6 IFRoaXMgbWlnaHQgbGVhZCB0byBkaXNhc3RlciBpZiBMSVNQX0NBTExCQUNL4oCZcyBvYmplY3QK LSAgICAgICB3YXMgZ2FyYmFnZSBjb2xsZWN0ZWQgYmVmb3JlIG5vdy4gIFNlZSB0aGUgRklYTUUg aW4KLSAgICAgICBGeHdpZGdldF93ZWJraXRfZXhlY3V0ZV9zY3JpcHQuICAqLworICAgIC8qIExJ U1BfQ0FMTEJBQ0sgbXVzdCBub3QgYmUgZ2FyYmFnZSBjb2xsZWN0ZWQgdXAgdG8gaGVyZS4gIFNl ZQorICAgICAgIGNvbW1lbnRzIGluIEZ4d2lkZ2V0X3dlYmtpdF9leGVjdXRlX3NjcmlwdC4gICov CiAgICAgc3RvcmVfeHdpZGdldF9qc19jYWxsYmFja19ldmVudCAoeHcsIFhJTCAoKGludHB0cl90 KSBsaXNwX2NhbGxiYWNrKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBs aXNwX3ZhbHVlKTsKIH0KQEAgLTUwMCw2ICs1MTcsNyBAQCB4d2lkZ2V0X29zcl9ldmVudF9zZXRf ZW1iZWRkZXIgKEd0a1dpZGdldCAqd2lkZ2V0LCBHZGtFdmVudCAqZXZlbnQsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3RrX3dpZGdldF9nZXRfd2luZG93ICh4di0+d2lk Z2V0KSk7CiAgIHJldHVybiBGQUxTRTsKIH0KKyNlbmRpZiAvKiBVU0VfR1RLICovCiAKIAogLyog SW5pdGlhbGl6ZXMgYW5kIGRvZXMgaW5pdGlhbCBwbGFjZW1lbnQgb2YgYW4geHdpZGdldCB2aWV3 IG9uIHNjcmVlbi4gICovCkBAIC01MTcsNiArNTM1LDcgQEAgeHdpZGdldF9pbml0X3ZpZXcgKHN0 cnVjdCB4d2lkZ2V0ICp4d3csCiAgIFhTRVRXSU5ET1cgKHh2LT53LCBzLT53KTsKICAgWFNFVFhX SURHRVQgKHh2LT5tb2RlbCwgeHd3KTsKIAorI2lmIGRlZmluZWQgKFVTRV9HVEspCiAgIGlmIChF USAoeHd3LT50eXBlLCBRd2Via2l0KSkKICAgICB7CiAgICAgICB4di0+d2lkZ2V0ID0gZ3RrX2Ry YXdpbmdfYXJlYV9uZXcgKCk7CkBAIC01NzQsNiArNTkzLDkgQEAgeHdpZGdldF9pbml0X3ZpZXcg KHN0cnVjdCB4d2lkZ2V0ICp4d3csCiAgIHh2LT54ID0geDsKICAgeHYtPnkgPSB5OwogICBndGtf d2lkZ2V0X3Nob3dfYWxsICh4di0+d2lkZ2V0d2luZG93KTsKKyNlbGlmIGRlZmluZWQgKE5TX0lN UExfQ09DT0EpCisgIG5zeHdpZGdldF9pbml0X3ZpZXcgKHh2LCB4d3csIHMsIHgsIHkpOworI2Vu ZGlmCiAKICAgcmV0dXJuIHh2OwogfQpAQCAtNTg2LDI0ICs2MDgsNTkgQEAgeF9kcmF3X3h3aWRn ZXRfZ2x5cGhfc3RyaW5nIChzdHJ1Y3QgZ2x5cGhfc3RyaW5nICpzKQogICAgICBpbml0aWFsaXph dGlvbi4gICovCiAgIHN0cnVjdCB4d2lkZ2V0ICp4d3cgPSBzLT54d2lkZ2V0OwogICBzdHJ1Y3Qg eHdpZGdldF92aWV3ICp4diA9IHh3aWRnZXRfdmlld19sb29rdXAgKHh3dywgcy0+dyk7CisgIGlu dCB0ZXh0X2FyZWFfeCwgdGV4dF9hcmVhX3ksIHRleHRfYXJlYV93aWR0aCwgdGV4dF9hcmVhX2hl aWdodDsKICAgaW50IGNsaXBfcmlnaHQ7CiAgIGludCBjbGlwX2JvdHRvbTsKICAgaW50IGNsaXBf dG9wOwogICBpbnQgY2xpcF9sZWZ0OwogCiAgIGludCB4ID0gcy0+eDsKLSAgaW50IHkgPSBzLT55 ICsgKHMtPmhlaWdodCAvIDIpIC0gKHh3dy0+aGVpZ2h0IC8gMik7CisgIGludCB5ID0gcy0+eTsK IAogICAvKiBEbyBpbml0aWFsaXphdGlvbiBoZXJlIGluIHRoZSBkaXNwbGF5IGxvb3AgYmVjYXVz ZSB0aGVyZSBpcyBubwogICAgICBvdGhlciB0aW1lIHRvIGtub3cgdGhpbmdzIGxpa2Ugd2luZG93 IHBsYWNlbWVudCBldGMuICBEbyBub3QKICAgICAgY3JlYXRlIGEgbmV3IHZpZXcgaWYgd2UgaGF2 ZSBmb3VuZCBvbmUgdGhhdCBpcyB1c2FibGUuICAqLworI2lmIGRlZmluZWQgKFVTRV9HVEspCiAg IGlmICgheHYpCiAgICAgeHYgPSB4d2lkZ2V0X2luaXRfdmlldyAoeHd3LCBzLCB4LCB5KTsKLQot ICBpbnQgdGV4dF9hcmVhX3gsIHRleHRfYXJlYV95LCB0ZXh0X2FyZWFfd2lkdGgsIHRleHRfYXJl YV9oZWlnaHQ7CisjZWxpZiBkZWZpbmVkIChOU19JTVBMX0NPQ09BKQorICBpZiAoIXh2KQorICAg IHsKKyAgICAgIC8qIEVuZm9yY2UgMSB0byAxLCBtb2RlbCBhbmQgdmlldyBmb3IgbWFjT1MgQ29j b2Egd2Via2l0Mi4gICovCisgICAgICBpZiAoeHd3LT54dikKKyAgICAgICAgeworICAgICAgICAg IGlmICh4d2lkZ2V0X2hpZGRlbiAoeHd3LT54dikpCisgICAgICAgICAgICB7CisgICAgICAgICAg ICAgIExpc3BfT2JqZWN0IHh2bDsKKyAgICAgICAgICAgICAgWFNFVFhXSURHRVRfVklFVyAoeHZs LCB4d3ctPnh2KTsKKyAgICAgICAgICAgICAgRmRlbGV0ZV94d2lkZ2V0X3ZpZXcgKHh2bCk7Cisg ICAgICAgICAgICB9CisgICAgICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAgICAgICAg ICBtZXNzYWdlICgiWW91IGNhbid0IHNoYXJlIGFuIHh3aWRnZXQgKHdlYmtpdDIpIGFtb25nIHdp bmRvd3MuIik7CisgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAg fQorICAgICAgeHYgPSB4d2lkZ2V0X2luaXRfdmlldyAoeHd3LCBzLCB4LCB5KTsKKyAgICB9Cisj ZW5kaWYKIAogICB3aW5kb3dfYm94IChzLT53LCBURVhUX0FSRUEsICZ0ZXh0X2FyZWFfeCwgJnRl eHRfYXJlYV95LAogICAgICAgICAgICAgICAmdGV4dF9hcmVhX3dpZHRoLCAmdGV4dF9hcmVhX2hl aWdodCk7CisKKyAgLyogUmVzaXplIHh3aWRnZXQgd2Via2l0IGlmIGl0cyBjb250YWluZXIgd2lu ZG93IHNpemUgaXMgY2hhbmdlZCBpbgorICAgICBzb21lIHdheXMsIGZvciBleGFtcGxlLCBhIGJ1 ZmZlciBiZWNhbWUgaGlkZGVuIGluIHNtYWxsIHNwbGl0CisgICAgIHdpbmRvdywgdGhlbiBpdCBj YW4gYXBwZWFyIGZyb250IGluIG1lcmdlZCB3aG9sZSB3aW5kb3cuICAqLworICBpZiAoRVEgKHh3 dy0+dHlwZSwgUXdlYmtpdCkKKyAgICAgICYmICh4d3ctPndpZHRoICE9IHRleHRfYXJlYV93aWR0 aCB8fCB4d3ctPmhlaWdodCAhPSB0ZXh0X2FyZWFfaGVpZ2h0KSkKKyAgICB7CisgICAgICBMaXNw X09iamVjdCB4d2w7CisgICAgICBYU0VUWFdJREdFVCAoeHdsLCB4d3cpOworICAgICAgRnh3aWRn ZXRfcmVzaXplICh4d2wsCisgICAgICAgICAgICAgICAgICAgICAgIG1ha2VfbnVtYmVyICh0ZXh0 X2FyZWFfd2lkdGgpLAorICAgICAgICAgICAgICAgICAgICAgICBtYWtlX251bWJlciAodGV4dF9h cmVhX2hlaWdodCkpOworICAgIH0KKwogICBjbGlwX2xlZnQgPSBtYXggKDAsIHRleHRfYXJlYV94 IC0geCk7CiAgIGNsaXBfcmlnaHQgPSBtYXggKGNsaXBfbGVmdCwKIAkJICAgIG1pbiAoeHd3LT53 aWR0aCwgdGV4dF9hcmVhX3ggKyB0ZXh0X2FyZWFfd2lkdGggLSB4KSk7CkBAIC02MjYsOCArNjgz LDE0IEBAIHhfZHJhd194d2lkZ2V0X2dseXBoX3N0cmluZyAoc3RydWN0IGdseXBoX3N0cmluZyAq cykKIAogICAvKiBIYXMgaXQgbW92ZWQ/ICAqLwogICBpZiAobW92ZWQpCi0gICAgZ3RrX2ZpeGVk X21vdmUgKEdUS19GSVhFRCAoRlJBTUVfR1RLX1dJREdFVCAocy0+ZikpLAotCQkgICAgeHYtPndp ZGdldHdpbmRvdywgeCArIGNsaXBfbGVmdCwgeSArIGNsaXBfdG9wKTsKKyAgICB7CisjaWYgZGVm aW5lZCAoVVNFX0dUSykKKyAgICAgIGd0a19maXhlZF9tb3ZlIChHVEtfRklYRUQgKEZSQU1FX0dU S19XSURHRVQgKHMtPmYpKSwKKyAgICAgICAgICAgICAgICAgICAgICB4di0+d2lkZ2V0d2luZG93 LCB4ICsgY2xpcF9sZWZ0LCB5ICsgY2xpcF90b3ApOworI2VsaWYgZGVmaW5lZCAoTlNfSU1QTF9D T0NPQSkKKyAgICAgIG5zeHdpZGdldF9tb3ZlX3ZpZXcgKHh2LCB4ICsgY2xpcF9sZWZ0LCB5ICsg Y2xpcF90b3ApOworI2VuZGlmCisgICAgfQogCiAgIC8qIENsaXAgdGhlIHdpZGdldCB3aW5kb3cg aWYgc29tZSBwYXJ0cyBoYXBwZW4gdG8gYmUgb3V0c2lkZQogICAgICBkcmF3YWJsZSBhcmVhLiAg QW4gRW1hY3Mgd2luZG93IGlzIG5vdCBhIGd0ayB3aW5kb3cuICBBIGd0ayB3aW5kb3cKQEAgLTYz OCwxMCArNzAxLDE2IEBAIHhfZHJhd194d2lkZ2V0X2dseXBoX3N0cmluZyAoc3RydWN0IGdseXBo X3N0cmluZyAqcykKICAgICAgIHx8IHh2LT5jbGlwX2JvdHRvbSAhPSBjbGlwX2JvdHRvbQogICAg ICAgfHwgeHYtPmNsaXBfdG9wICE9IGNsaXBfdG9wIHx8IHh2LT5jbGlwX2xlZnQgIT0gY2xpcF9s ZWZ0KQogICAgIHsKKyNpZiBkZWZpbmVkIChVU0VfR1RLKQogICAgICAgZ3RrX3dpZGdldF9zZXRf c2l6ZV9yZXF1ZXN0ICh4di0+d2lkZ2V0d2luZG93LCBjbGlwX3JpZ2h0IC0gY2xpcF9sZWZ0LAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGlwX2JvdHRvbSAtIGNsaXBfdG9w KTsKICAgICAgIGd0a19maXhlZF9tb3ZlIChHVEtfRklYRUQgKHh2LT53aWRnZXR3aW5kb3cpLCB4 di0+d2lkZ2V0LCAtY2xpcF9sZWZ0LAogICAgICAgICAgICAgICAgICAgICAgIC1jbGlwX3RvcCk7 CisjZWxpZiBkZWZpbmVkIChOU19JTVBMX0NPQ09BKQorICAgICAgbnN4d2lkZ2V0X3Jlc2l6ZV92 aWV3ICh4diwgY2xpcF9yaWdodCAtIGNsaXBfbGVmdCwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY2xpcF9ib3R0b20gLSBjbGlwX3RvcCk7CisgICAgICBuc3h3aWRnZXRfbW92ZV93aWRn ZXRfaW5fdmlldyAoeHYsIC1jbGlwX2xlZnQsIC1jbGlwX3RvcCk7CisjZW5kaWYKIAogICAgICAg eHYtPmNsaXBfcmlnaHQgPSBjbGlwX3JpZ2h0OwogICAgICAgeHYtPmNsaXBfYm90dG9tID0gY2xp cF9ib3R0b207CkBAIC02NTUsMTggKzcyNCwzMiBAQCB4X2RyYXdfeHdpZGdldF9nbHlwaF9zdHJp bmcgKHN0cnVjdCBnbHlwaF9zdHJpbmcgKnMpCiAgICAgIHh3aWRnZXRzIGJhY2tncm91bmQuICBJ dCdzIGp1c3QgYSB2aXN1YWwgZ2xpdGNoIHRob3VnaC4gICovCiAgIGlmICgheHdpZGdldF9oaWRk ZW4gKHh2KSkKICAgICB7CisjaWYgZGVmaW5lZCAoVVNFX0dUSykKICAgICAgIGd0a193aWRnZXRf cXVldWVfZHJhdyAoeHYtPndpZGdldHdpbmRvdyk7CiAgICAgICBndGtfd2lkZ2V0X3F1ZXVlX2Ry YXcgKHh2LT53aWRnZXQpOworI2VsaWYgZGVmaW5lZCAoTlNfSU1QTF9DT0NPQSkKKyAgICAgIG5z eHdpZGdldF9zZXRfbmVlZHNkaXNwbGF5ICh4dik7CisjZW5kaWYKICAgICB9CiB9CiAKLS8qIE1h Y3JvIHRoYXQgY2hlY2tzIFdFQktJVF9JU19XRUJfVklFVyAoeHctPndpZGdldF9vc3IpIGZpcnN0 LiAgKi8KK3N0YXRpYyBib29sCit4d2lkZ2V0X2lzX3dlYl92aWV3IChzdHJ1Y3QgeHdpZGdldCAq eHcpCit7CisjaWYgZGVmaW5lZCAoVVNFX0dUSykKKyAgcmV0dXJuIHh3LT53aWRnZXRfb3NyICE9 IE5VTEwgJiYgV0VCS0lUX0lTX1dFQl9WSUVXICh4dy0+d2lkZ2V0X29zcik7CisjZWxpZiBkZWZp bmVkIChOU19JTVBMX0NPQ09BKQorICByZXR1cm4gbnN4d2lkZ2V0X2lzX3dlYl92aWV3ICh4dyk7 CisjZW5kaWYKK30KKworLyogTWFjcm8gdGhhdCBjaGVja3MgeHdpZGdldCBob2xkIHdlYmtpdCB3 ZWIgdmlldyBmaXJzdC4gICovCiAjZGVmaW5lIFdFQktJVF9GTl9JTklUKCkJCQkJCQlcCiAgIENI RUNLX1hXSURHRVQgKHh3aWRnZXQpOwkJCQkJCVwKICAgc3RydWN0IHh3aWRnZXQgKnh3ID0gWFhX SURHRVQgKHh3aWRnZXQpOwkJCQlcCi0gIGlmICgheHctPndpZGdldF9vc3IgfHwgIVdFQktJVF9J U19XRUJfVklFVyAoeHctPndpZGdldF9vc3IpKQkJXAorICBpZiAoIXh3aWRnZXRfaXNfd2ViX3Zp ZXcgKHh3KSkJCQkJCVwKICAgICB7CQkJCQkJCQkJXAotICAgICAgcHJpbnRmICgiRVJST1IgeHct PndpZGdldF9vc3IgZG9lcyBub3QgaG9sZCBhIHdlYmtpdCBpbnN0YW5jZVxuIik7IFwKKyAgICAg IHByaW50ZiAoIkVSUk9SIHh3aWRnZXQgZG9lcyBub3QgaG9sZCBhIHdlYmtpdCBpbnN0YW5jZVxu Iik7CVwKICAgICAgIHJldHVybiBRbmlsOwkJCQkJCQlcCiAgICAgfQogCkBAIC02NzgsNyArNzYx LDExIEBAIERFRlVOICgieHdpZGdldC13ZWJraXQtZ290by11cmkiLAogewogICBXRUJLSVRfRk5f SU5JVCAoKTsKICAgQ0hFQ0tfU1RSSU5HICh1cmkpOworI2lmIGRlZmluZWQgKFVTRV9HVEspCiAg IHdlYmtpdF93ZWJfdmlld19sb2FkX3VyaSAoV0VCS0lUX1dFQl9WSUVXICh4dy0+d2lkZ2V0X29z ciksIFNTREFUQSAodXJpKSk7CisjZWxpZiBkZWZpbmVkIChOU19JTVBMX0NPQ09BKQorICBuc3h3 aWRnZXRfd2Via2l0X2dvdG9fdXJpICh4dywgU1NEQVRBICh1cmkpKTsKKyNlbmRpZgogICByZXR1 cm4gUW5pbDsKIH0KIApAQCAtNjkzLDEwICs3ODAsMTQgQEAgcmVmZXJlbmNlZCBieSBYV0lER0VU LiAgKi8pCiAgIGlmIChGTE9BVFAgKGZhY3RvcikpCiAgICAgewogICAgICAgZG91YmxlIHpvb21f Y2hhbmdlID0gWEZMT0FUX0RBVEEgKGZhY3Rvcik7CisjaWYgZGVmaW5lZCAoVVNFX0dUSykKICAg ICAgIHdlYmtpdF93ZWJfdmlld19zZXRfem9vbV9sZXZlbAogICAgICAgICAoV0VCS0lUX1dFQl9W SUVXICh4dy0+d2lkZ2V0X29zciksCiAgICAgICAgICB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3pvb21f bGV2ZWwKICAgICAgICAgIChXRUJLSVRfV0VCX1ZJRVcgKHh3LT53aWRnZXRfb3NyKSkgKyB6b29t X2NoYW5nZSk7CisjZWxpZiBkZWZpbmVkIChOU19JTVBMX0NPQ09BKQorICAgICAgbnN4d2lkZ2V0 X3dlYmtpdF96b29tICh4dywgem9vbV9jaGFuZ2UpOworI2VuZGlmCiAgICAgfQogICByZXR1cm4g UW5pbDsKIH0KQEAgLTcxMiwxNyArODAzLDE4IEBAIGFyZ3VtZW50IHByb2NlZHVyZSBGVU4uKi8p CiB7CiAgIFdFQktJVF9GTl9JTklUICgpOwogICBDSEVDS19TVFJJTkcgKHNjcmlwdCk7Ci0gIGlm ICghTklMUCAoZnVuKSAmJiAhRlVOQ1RJT05QIChmdW4pKQorICAvKiBGVU4gd2lsbCBub3QgYmUg Z2FyYmFnZSBjb2xsZWN0ZWQgaWYgaXQgaXMgZGVmaW5lZCB3aXRoIGBkZWZ1bicKKyAgICAgaW5z dGVhZCBvZiBgbGFtYmRhJy4gIElmIGl0IGlzIGdhcmJhZ2UgY29sbGVjdGVkIGV2ZW4gdGhvdWdo IGl0CisgICAgIGlzIGBkZWZ1bicsIHdlIGNhbiBjb3VudGVyIGJ5IHBpbm5pbmcgdGhlIEZVTidz IHN5bWJvbC4gICovCisgIGlmICghTklMUCAoZnVuKSAmJiAhU1lNQk9MUCAoZnVuKSAmJiAhTklM UCAoRmZib3VuZHAgKGZ1bikpKQogICAgIHdyb25nX3R5cGVfYXJndW1lbnQgKFFpbnZhbGlkX2Z1 bmN0aW9uLCBmdW4pOwogCisjaWYgZGVmaW5lZCAoVVNFX0dUSykKICAgR0FzeW5jUmVhZHlDYWxs YmFjayBjYWxsYmFjawogICAgID0gRlVOQ1RJT05QIChmdW4pID8gd2Via2l0X2phdmFzY3JpcHRf ZmluaXNoZWRfY2IgOiBOVUxMOwogCiAgIC8qIEZJWE1FOiBUaGUgZm9sbG93aW5nIGhhY2sgYXNz dW1lcyBVU0VfTFNCX1RBRy4gICovCiAgIHZlcmlmeSAoVVNFX0xTQl9UQUcpOwotICAvKiBGSVhN RTogVGhpcyBoYWNrIG1pZ2h0IGxlYWQgdG8gZGlzYXN0ZXIgaWYgRlVOIGlzIGdhcmJhZ2UKLSAg ICAgY29sbGVjdGVkIGJlZm9yZSBzdG9yZV94d2lkZ2V0X2pzX2NhbGxiYWNrX2V2ZW50IG1ha2Vz IGl0IHZpc2libGUKLSAgICAgdG8gTGlzcCBhZ2Fpbi4gIFNlZSB0aGUgRklYTUUgaW4gd2Via2l0 X2phdmFzY3JpcHRfZmluaXNoZWRfY2IuICAqLwogICBncG9pbnRlciBjYWxsYmFja19hcmcgPSAo Z3BvaW50ZXIpIChpbnRwdHJfdCkgWExJIChmdW4pOwogCiAgIC8qIEphdmFTY3JpcHQgZXhlY3V0 aW9uIGhhcHBlbnMgYXN5bmNocm9ub3VzbHkuICBJZiBhbiBlbGlzcApAQCAtNzMyLDYgKzgyNCw5 IEBAIGFyZ3VtZW50IHByb2NlZHVyZSBGVU4uKi8pCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU1NEQVRBIChzY3JpcHQpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIE5VTEwsIC8qIGNhbmNlbGFibGUgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjYWxsYmFjaywgY2FsbGJhY2tfYXJnKTsKKyNlbGlmIGRlZmluZWQgKE5TX0lNUExfQ09D T0EpCisgIG5zeHdpZGdldF93ZWJraXRfZXhlY3V0ZV9zY3JpcHQgKHh3LCBTU0RBVEEgKHNjcmlw dCksIGZ1bik7CisjZW5kaWYKICAgcmV0dXJuIFFuaWw7CiB9CiAKQEAgLTc1MCw2ICs4NDUsNyBA QCBERUZVTiAoInh3aWRnZXQtcmVzaXplIiwgRnh3aWRnZXRfcmVzaXplLCBTeHdpZGdldF9yZXNp emUsIDMsIDMsIDAsCiAgIHh3LT5oZWlnaHQgPSBoOwogCiAgIC8qIElmIHRoZXJlIGlzIGFuIG9m ZnNjcmVlbiB3aWRnZXQgcmVzaXplIGl0IGZpcnN0LiAgKi8KKyNpZiBkZWZpbmVkIChVU0VfR1RL KQogICBpZiAoeHctPndpZGdldF9vc3IpCiAgICAgewogICAgICAgZ3RrX3dpbmRvd19yZXNpemUg KEdUS19XSU5ET1cgKHh3LT53aWRnZXR3aW5kb3dfb3NyKSwgeHctPndpZHRoLApAQCAtNzU4LDYg Kzg1NCw5IEBAIERFRlVOICgieHdpZGdldC1yZXNpemUiLCBGeHdpZGdldF9yZXNpemUsIFN4d2lk Z2V0X3Jlc2l6ZSwgMywgMywgMCwKICAgICAgIGd0a193aWRnZXRfc2V0X3NpemVfcmVxdWVzdCAo R1RLX1dJREdFVCAoeHctPndpZGdldF9vc3IpLCB4dy0+d2lkdGgsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHh3LT5oZWlnaHQpOwogICAgIH0KKyNlbGlmIGRlZmluZWQgKE5T X0lNUExfQ09DT0EpCisgIG5zeHdpZGdldF9yZXNpemUgKHh3KTsKKyNlbmRpZgogCiAgIGZvciAo TGlzcF9PYmplY3QgdGFpbCA9IFZ4d2lkZ2V0X3ZpZXdfbGlzdDsgQ09OU1AgKHRhaWwpOyB0YWls ID0gWENEUiAodGFpbCkpCiAgICAgewpAQCAtNzY1LDggKzg2NCwxNCBAQCBERUZVTiAoInh3aWRn ZXQtcmVzaXplIiwgRnh3aWRnZXRfcmVzaXplLCBTeHdpZGdldF9yZXNpemUsIDMsIDMsIDAsCiAg ICAgICAgIHsKICAgICAgICAgICBzdHJ1Y3QgeHdpZGdldF92aWV3ICp4diA9IFhYV0lER0VUX1ZJ RVcgKFhDQVIgKHRhaWwpKTsKICAgICAgICAgICBpZiAoWFhXSURHRVQgKHh2LT5tb2RlbCkgPT0g eHcpCisgICAgICAgICAgICB7CisjaWYgZGVmaW5lZCAoVVNFX0dUSykKICAgICAgICAgICAgICAg Z3RrX3dpZGdldF9zZXRfc2l6ZV9yZXF1ZXN0IChHVEtfV0lER0VUICh4di0+d2lkZ2V0KSwgeHct PndpZHRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHh3LT5o ZWlnaHQpOworI2VsaWYgZGVmaW5lZCAoTlNfSU1QTF9DT0NPQSkKKyAgICAgICAgICAgICAgbnN4 d2lkZ2V0X3Jlc2l6ZV92aWV3KHh2LCB4dy0+d2lkdGgsIHh3LT5oZWlnaHQpOworI2VuZGlmCisg ICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTc4NSwxMCArODkwLDE0IEBAIEVt YWNzIGFsbG9jYXRlZCBhcmVhIGFjY29yZGluZ2x5LiAgKi8pCiAgIChMaXNwX09iamVjdCB4d2lk Z2V0KQogewogICBDSEVDS19YV0lER0VUICh4d2lkZ2V0KTsKKyNpZiBkZWZpbmVkIChVU0VfR1RL KQogICBHdGtSZXF1aXNpdGlvbiByZXF1aXNpdGlvbjsKICAgZ3RrX3dpZGdldF9zaXplX3JlcXVl c3QgKFhYV0lER0VUICh4d2lkZ2V0KS0+d2lkZ2V0X29zciwgJnJlcXVpc2l0aW9uKTsKICAgcmV0 dXJuIGxpc3QyIChtYWtlX251bWJlciAocmVxdWlzaXRpb24ud2lkdGgpLAogCQltYWtlX251bWJl ciAocmVxdWlzaXRpb24uaGVpZ2h0KSk7CisjZWxpZiBkZWZpbmVkIChOU19JTVBMX0NPQ09BKQor ICByZXR1cm4gbnN4d2lkZ2V0X2dldF9zaXplKFhYV0lER0VUICh4d2lkZ2V0KSk7CisjZW5kaWYK IH0KIAogREVGVU4gKCJ4d2lkZ2V0cCIsCkBAIC04NjUsMTQgKzk3NCwxOSBAQCBERUZVTiAoImRl bGV0ZS14d2lkZ2V0LXZpZXciLAogewogICBDSEVDS19YV0lER0VUX1ZJRVcgKHh3aWRnZXRfdmll dyk7CiAgIHN0cnVjdCB4d2lkZ2V0X3ZpZXcgKnh2ID0gWFhXSURHRVRfVklFVyAoeHdpZGdldF92 aWV3KTsKLSAgZ3RrX3dpZGdldF9kZXN0cm95ICh4di0+d2lkZ2V0d2luZG93KTsKICAgVnh3aWRn ZXRfdmlld19saXN0ID0gRmRlbHEgKHh3aWRnZXRfdmlldywgVnh3aWRnZXRfdmlld19saXN0KTsK KyNpZiBkZWZpbmVkIChVU0VfR1RLKQorICBndGtfd2lkZ2V0X2Rlc3Ryb3kgKHh2LT53aWRnZXR3 aW5kb3cpOwogICAvKiB4di0+bW9kZWwgc3RpbGwgaGFzIHNpZ25hbHMgcG9pbnRpbmcgdG8gdGhl IHZpZXcuICBUaGVyZSBjYW4gYmUKICAgICAgc2V2ZXJhbCB2aWV3cy4gIEZpbmQgdGhlIG1hdGNo aW5nIHNpZ25hbHMgYW5kIGRlbGV0ZSB0aGVtIGFsbC4gICovCiAgIGdfc2lnbmFsX2hhbmRsZXJz X2Rpc2Nvbm5lY3RfbWF0Y2hlZCAgKFhYV0lER0VUICh4di0+bW9kZWwpLT53aWRnZXR3aW5kb3df b3NyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX1NJR05BTF9N QVRDSF9EQVRBLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAw LCAwLCAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4di0+d2lk Z2V0KTsKKyNlbGlmIGRlZmluZWQgKE5TX0lNUExfQ09DT0EpCisgIG5zeHdpZGdldF9kZWxldGVf dmlldyAoeHYpOworI2VuZGlmCisKICAgcmV0dXJuIFFuaWw7CiB9CiAKQEAgLTExNTEsMTEgKzEy NjUsMTkgQEAgeHdpZGdldF9lbmRfcmVkaXNwbGF5IChzdHJ1Y3Qgd2luZG93ICp3LCBzdHJ1Y3Qg Z2x5cGhfbWF0cml4ICptYXRyaXgpCiAJCSAgICAgeHdpZGdldF9lbmRfcmVkaXNwbGF5ICh3LT5j dXJyZW50X21hdHJpeCk7ICAqLwogCQkgIHN0cnVjdCB4d2lkZ2V0X3ZpZXcgKnh2CiAJCSAgICA9 IHh3aWRnZXRfdmlld19sb29rdXAgKGdseXBoLT51Lnh3aWRnZXQsIHcpOworI2lmIGRlZmluZWQg KFVTRV9HVEspCiAJCSAgLyogRklYTUU6IElzIGl0IHNhZmUgdG8gYXNzdW1lIHh3aWRnZXRfdmll d19sb29rdXAKIAkJICAgICBhbHdheXMgc3VjY2VlZHMgaGVyZT8gIElmIHNvLCB0aGlzIGNvbW1l bnQgY2FuIGJlIHJlbW92ZWQuCiAJCSAgICAgSWYgbm90LCB0aGUgY29kZSBwcm9iYWJseSBuZWVk cyBmaXhpbmcuICAqLwogCQkgIGVhc3N1bWUgKHh2KTsKIAkJICB4d2lkZ2V0X3RvdWNoICh4dik7 CisjZWxpZiBkZWZpbmVkIChOU19JTVBMX0NPQ09BKQorICAgICAgICAgICAgICAgICAgLyogSW4g TlMgeHdpZGdldCwgeHYgY2FuIGJlIE5VTEwgZm9yIHRoZSBzZWNvbmQgb3IKKyAgICAgICAgICAg ICAgICAgICAgIGxhdGVyIHZpZXdzIGZvciBhIG1vZGVsLCB0aGUgcmVzdWx0IG9mIDEgdG8gMQor ICAgICAgICAgICAgICAgICAgICAgbW9kZWwgdmlldyByZWxhdGlvbiBlbmZvcmNlbWVudC4gICov CisgICAgICAgICAgICAgICAgICBpZiAoeHYpCisgICAgICAgICAgICAgICAgICAgIHh3aWRnZXRf dG91Y2ggKHh2KTsKKyNlbmRpZgogCQl9CiAJICB9CiAgICAgfQpAQCAtMTE3Miw5ICsxMjk0LDIx IEBAIHh3aWRnZXRfZW5kX3JlZGlzcGxheSAoc3RydWN0IHdpbmRvdyAqdywgc3RydWN0IGdseXBo X21hdHJpeCAqbWF0cml4KQogICAgICAgICAgIGlmIChYV0lORE9XICh4di0+dykgPT0gdykKICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgaWYgKHh3aWRnZXRfdG91Y2hlZCAoeHYpKQotICAg ICAgICAgICAgICAgIHh3aWRnZXRfc2hvd192aWV3ICh4dik7CisgICAgICAgICAgICAgICAgewor I2lmIGRlZmluZWQgKFVTRV9HVEspCisgICAgICAgICAgICAgICAgICB4d2lkZ2V0X3Nob3dfdmll dyAoeHYpOworI2VsaWYgZGVmaW5lZCAoTlNfSU1QTF9DT0NPQSkKKyAgICAgICAgICAgICAgICAg IG5zeHdpZGdldF9zaG93X3ZpZXcgKHh2KTsKKyNlbmRpZgorICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHh3aWRnZXRfaGlkZV92aWV3ICh4dik7 CisgICAgICAgICAgICAgICAgeworI2lmIGRlZmluZWQgKFVTRV9HVEspCisgICAgICAgICAgICAg ICAgICB4d2lkZ2V0X2hpZGVfdmlldyAoeHYpOworI2VsaWYgZGVmaW5lZCAoTlNfSU1QTF9DT0NP QSkKKyAgICAgICAgICAgICAgICAgIG5zeHdpZGdldF9oaWRlX3ZpZXcgKHh2KTsKKyNlbmRpZgor ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KQEAgLTEx OTMsMTEgKzEzMjcsMTUgQEAga2lsbF9idWZmZXJfeHdpZGdldHMgKExpc3BfT2JqZWN0IGJ1ZmZl cikKICAgICAgIHsKICAgICAgICAgQ0hFQ0tfWFdJREdFVCAoeHdpZGdldCk7CiAgICAgICAgIHN0 cnVjdCB4d2lkZ2V0ICp4dyA9IFhYV0lER0VUICh4d2lkZ2V0KTsKKyNpZiBkZWZpbmVkIChVU0Vf R1RLKQogICAgICAgICBpZiAoeHctPndpZGdldF9vc3IgJiYgeHctPndpZGdldHdpbmRvd19vc3Ip CiAgICAgICAgICAgewogICAgICAgICAgICAgZ3RrX3dpZGdldF9kZXN0cm95ICh4dy0+d2lkZ2V0 X29zcik7CiAgICAgICAgICAgICBndGtfd2lkZ2V0X2Rlc3Ryb3kgKHh3LT53aWRnZXR3aW5kb3df b3NyKTsKICAgICAgICAgICB9CisjZWxpZiBkZWZpbmVkIChOU19JTVBMX0NPQ09BKQorICAgICAg ICBuc3h3aWRnZXRfa2lsbCAoeHcpOworI2VuZGlmCiAgICAgICB9CiAgICAgfQogfQpkaWZmIC0t Z2l0IGEvc3JjL3h3aWRnZXQuaCBiL3NyYy94d2lkZ2V0LmgKaW5kZXggMDJhMDQ1M2RhYi4uZWVl OTY1NGE2ZiAxMDA2NDQKLS0tIGEvc3JjL3h3aWRnZXQuaAorKysgYi9zcmMveHdpZGdldC5oCkBA IC0yOSw3ICsyOSwxMyBAQCBzdHJ1Y3QgeHdpZGdldF92aWV3Owogc3RydWN0IHdpbmRvdzsKIAog I2lmZGVmIEhBVkVfWFdJREdFVFMKLSMgaW5jbHVkZSA8Z3RrL2d0ay5oPgorCisjaWYgZGVmaW5l ZCAoVVNFX0dUSykKKyNpbmNsdWRlIDxndGsvZ3RrLmg+CisjZWxpZiBkZWZpbmVkIChOU19JTVBM X0NPQ09BKSAmJiBkZWZpbmVkIChfX09CSkNfXykKKyNpbXBvcnQgPEFwcEtpdC9OU1ZpZXcuaD4K KyNpbXBvcnQgIm5zeHdpZGdldC5oIgorI2VuZGlmCiAKIHN0cnVjdCB4d2lkZ2V0CiB7CkBAIC01 Miw5ICs1OCwyNSBAQCBzdHJ1Y3QgeHdpZGdldAogICBpbnQgaGVpZ2h0OwogICBpbnQgd2lkdGg7 CiAKKyNpZiBkZWZpbmVkIChVU0VfR1RLKQogICAvKiBGb3Igb2Zmc2NyZWVuIHdpZGdldHMsIHVu dXNlZCBpZiBub3Qgb3NyLiAgKi8KICAgR3RrV2lkZ2V0ICp3aWRnZXRfb3NyOwogICBHdGtXaWRn ZXQgKndpZGdldHdpbmRvd19vc3I7CisjZWxpZiBkZWZpbmVkIChOU19JTVBMX0NPQ09BKQorIyBp ZmRlZiBfX09CSkNfXworICAvKiBGb3Igb2Zmc2NyZWVuIHdpZGdldHMsIHVudXNlZCBpZiBub3Qg b3NyLiAgKi8KKyAgTlNWaWV3ICp4d1dpZGdldDsKKyAgWHdXaW5kb3cgKnh3V2luZG93OworCisg IC8qIFVzZWQgb25seSBmb3IgeHdpZGdldCB0eXBlcyAoc3VjaCBhcyB3ZWJraXQyKSBlbmZvcmNp bmcgMSB0byAxCisgICAgIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIG1vZGVsIGFuZCB2aWV3LiAgKi8K KyAgc3RydWN0IHh3aWRnZXRfdmlldyAqeHY7CisjIGVsc2UKKyAgdm9pZCAqeHdXaWRnZXQ7Cisg IHZvaWQgKnh3V2luZG93OworICBzdHJ1Y3QgeHdpZGdldF92aWV3ICp4djsKKyMgZW5kaWYKKyNl bmRpZgogCiAgIC8qIEtpbGwgc2lsZW50bHkgaWYgRW1hY3MgaXMgZXhpdGVkLiAgKi8KICAgYm9v bF9iZiBraWxsX3dpdGhvdXRfcXVlcnkgOiAxOwpAQCAtNzQsOSArOTYsMjAgQEAgc3RydWN0IHh3 aWRnZXRfdmlldwogICAvKiBUaGUgImxpdmUiIGluc3RhbmNlIGlzbid0IGRyYXduLiAgKi8KICAg Ym9vbCBoaWRkZW47CiAKKyNpZiBkZWZpbmVkIChVU0VfR1RLKQogICBHdGtXaWRnZXQgKndpZGdl dDsKICAgR3RrV2lkZ2V0ICp3aWRnZXR3aW5kb3c7CiAgIEd0a1dpZGdldCAqZW1hY3N3aW5kb3c7 CisjZWxpZiBkZWZpbmVkIChOU19JTVBMX0NPQ09BKQorIyBpZmRlZiBfX09CSkNfXworICBYdldp bmRvdyAqeHZXaW5kb3c7CisgIE5TVmlldyAqZW1hY3N3aW5kb3c7CisjIGVsc2UKKyAgdm9pZCAq eHZXaW5kb3c7CisgIHZvaWQgKmVtYWNzd2luZG93OworIyBlbmRpZgorI2VuZGlmCisKICAgaW50 IHg7CiAgIGludCB5OwogICBpbnQgY2xpcF9yaWdodDsKLS0gCjIuMTUuMAoK --001a114697de3fcc78055f932a98-- From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 05 15:00:46 2017 Received: (at 29565) by debbugs.gnu.org; 5 Dec 2017 20:00:47 +0000 Received: from localhost ([127.0.0.1]:48116 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eMJOX-0000Ja-9t for submit@debbugs.gnu.org; Tue, 05 Dec 2017 15:00:46 -0500 Received: from mail-wm0-f53.google.com ([74.125.82.53]:39986) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eMJOV-0000JN-QC for 29565@debbugs.gnu.org; Tue, 05 Dec 2017 15:00:44 -0500 Received: by mail-wm0-f53.google.com with SMTP id f206so3384973wmf.5 for <29565@debbugs.gnu.org>; Tue, 05 Dec 2017 12:00:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=TYyMFLjbRKT81DGup2az8TqywNSNtEsP9Od4NpJRozI=; b=tW7k3R21qzYMmCow9zcv6Wjg3gpxsKHaICuJAqfOsYcJUrkYKZMggGyqMn/2CVUAXB h0k4Jbtf10JqwBYnCM3+X4qUyhGzaROG1OMRrAgRyDZu8F8sAMtTJXknfxUzY1sgcbYC 81EGS6pEjc5xIji+hlO6Pts9+PjFFqXrC5/IvFocif+c61s2XyL6i9gk53ye4+83gy0m 0korEhYGOW6XvkLjvVz3n3NIjgIoBAqm87SHTZXWtgfXAqLhn2olOABvGW83Q28q7xlj HM4ZNKN2vQUaT0fanulCkm6dN9ssaYXnPAa7rNeYOkX9uVOEFaUhS7nygMBdTDK3Md8D dnmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition :content-transfer-encoding:in-reply-to:user-agent; bh=TYyMFLjbRKT81DGup2az8TqywNSNtEsP9Od4NpJRozI=; b=EV67vTdJZTZDIlYOWXbKkxjfjeTofZWO3uB3+H3vMXw5sprhX/yi8Kzq6gpuP7OcdF 511iXjjRzoZVZia1+1kYYlXqrjk5yVKb89S0cId3I6L91x5ahA0uIgejj+BXckADI+J4 yj1DBxN76xo11B0ukYlnCNDoZUIbUouSiN+yT1xi0Hq4p6gV5RrOZHMf27+xND9Je9B1 oZk56cecN0e166ha7FY1+piXEwCoqlWuQJUZHy6M+W4hUWXnYv1NzhEwJ9/iKYjV/4hN CdHYOE4Myzow9qCbljK0Ie5H++tAY1iQZzekg3v5FluklI4OdkmwOC6OvL7GGsPXVSmD 03AA== X-Gm-Message-State: AKGB3mIpUQsy2sfw1aBsEpg+ATxh+1WMgURBUhB4ykIs9GG1aWD3Acel 9HdQDlSCcygp5QqiGXESQmg= X-Google-Smtp-Source: AGs4zMbt+MeLMAbqSIAJNbV+1Qx+VEEOh0Or0yE7Lb6Ulv7KuNBc2r+MaHSN9Heq/N+cD69bZVRG/w== X-Received: by 10.28.52.81 with SMTP id b78mr6516761wma.70.1512504037866; Tue, 05 Dec 2017 12:00:37 -0800 (PST) Received: from breton.holly.idiocy.org (ip6-2001-08b0-03f8-8129-957e-ca7d-4a58-b4a9.holly.idiocy.org. [2001:8b0:3f8:8129:957e:ca7d:4a58:b4a9]) by smtp.gmail.com with ESMTPSA id h7sm993668wrb.35.2017.12.05.12.00.35 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Dec 2017 12:00:36 -0800 (PST) Date: Tue, 5 Dec 2017 20:00:34 +0000 From: Alan Third To: Jaesup Kwak Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X Message-ID: <20171205200034.GA60133@breton.holly.idiocy.org> References: <20171204205943.GA38879@breton.holly.idiocy.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.9.1 (2017-09-22) X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 29565 Cc: 29565@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.5 (/) On Tue, Dec 05, 2017 at 04:55:56PM +0900, Jaesup Kwak wrote: > On Tue, Dec 5, 2017 at 3:01 PM, Jaesup Kwak wrote: > > > > > I will soon post a patch accompanying above changes. > > > > > I made and attached a new patch, which includes changes for comments > from Alan Third and previous patch. So, please ignore the patch file > from previous post and use this patch file. > > Thanks. Looks good to me. One small thing I noticed is AC_MSG_ERROR([xwidgets requested, it requires GTK3 as X window toolkit or macOS Cocoa as window systeml]) ^ I’ve also had the experience a couple of times where I’ve tried to visit a website (for example http://www.bbc.co.uk/news) but all I get is a blank xwidget buffer. Then if I try to do things in it I get this message: 2017-12-05 19:34:38.116 Emacs[56317:26076674] xwHasFocus: A JavaScript exception occurred I don’t know what was going wrong. -- Alan Third From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 06 00:59:10 2017 Received: (at 29565) by debbugs.gnu.org; 6 Dec 2017 05:59:10 +0000 Received: from localhost ([127.0.0.1]:48440 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eMSje-0002vV-9U for submit@debbugs.gnu.org; Wed, 06 Dec 2017 00:59:10 -0500 Received: from mail-wr0-f179.google.com ([209.85.128.179]:35010) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eMSjb-0002v5-FT for 29565@debbugs.gnu.org; Wed, 06 Dec 2017 00:59:07 -0500 Received: by mail-wr0-f179.google.com with SMTP id g53so2622135wra.2 for <29565@debbugs.gnu.org>; Tue, 05 Dec 2017 21:59:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=xyyvT14JTCrQAz+0/g0tbn2j57kCzbu39NxvZ0AzXmQ=; b=FAn8nEZuqx4E9t2rLVqYx2KhR9+8PUm9+Y+3kxDhsr43E97mGmx2aVcLSnGhCjVq/0 N1XiI4Jq3SFeD6dcNOhus2ZI5hAcE4j6lCjFakfyAf2eQN4Or9TRxtLOsV++tanUgZy1 +oEnETDW/tUpJWuhqbNWSZvQTSqeQQeU0x95Mu6lcclzWwb9jfk/RaxgEEllx3IUleuh EnJpdXdQ0KGjRNNiAqNS6bYhBJ2xdAYIzdMV+q5fPNr6nXQ05ZxHsycigB0Wrilx/U1D Ia5dNF4zCK/1M4f5bGFuSMwZ+UazJAI41QbJl0WxdDshQ3ragjyoOVC1EZObb/ycoDvX 20RQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=xyyvT14JTCrQAz+0/g0tbn2j57kCzbu39NxvZ0AzXmQ=; b=OOVuDt8OIyuuP2Vfy1MeKDcoFyH8AZ5v1ixDruDF3FU1v0CnW9YZpJNtiNJUnufGqu zkcAtBxykJ7ZawD83TUTahQ1VVsy3H0/tuJco6F/32HSOoERTZUPZy6l92PNWAcEWobY 1GXTHtef//PcWy99Yzb5cljgh/lqgCO+tPhROHwmQ0irsSZyux6ApjVwRACELlel9oM6 erKhzt5QaIQJO3SNsxZnh61pwFl9eYvKaQi9p/2exZOEOLZcOXcvTuQwR/o8HygxtJUn sksSahTgnvUDlWV27UhZXxQ/ImaiQNEXcbLpur62Xodshmd9etGxoz9hUfkOHxC4+P3/ Yl7A== X-Gm-Message-State: AKGB3mIy2fUcBroiOSsq7dhlLLe8nyyi6VnA1AvAnRF760xU/x5tCcvT uaj7Dtsk4oeTuXFMg/9DEHbxpOoWG3U42joDFhUl3Q== X-Google-Smtp-Source: AGs4zMYl9tT9Gljqd117avccWnmVr2O4PVSsze/g3vSZaPKRWZYl4DlaBF8YEVZ9wrIpK91H3Gduc4RApgwny0reIDE= X-Received: by 10.223.184.125 with SMTP id u58mr13107683wrf.33.1512539941312; Tue, 05 Dec 2017 21:59:01 -0800 (PST) MIME-Version: 1.0 Received: by 10.28.227.67 with HTTP; Tue, 5 Dec 2017 21:59:00 -0800 (PST) In-Reply-To: <20171205200034.GA60133@breton.holly.idiocy.org> References: <20171204205943.GA38879@breton.holly.idiocy.org> <20171205200034.GA60133@breton.holly.idiocy.org> From: Jaesup Kwak Date: Wed, 6 Dec 2017 14:59:00 +0900 Message-ID: Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X To: 29565@debbugs.gnu.org Content-Type: multipart/mixed; boundary="f403045f5488e946fe055fa5a591" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29565 Cc: Alan Third X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) --f403045f5488e946fe055fa5a591 Content-Type: multipart/alternative; boundary="f403045f5488e946fa055fa5a58f" --f403045f5488e946fa055fa5a58f Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Dec 6, 2017 at 5:00 AM, Alan Third wrote: > > One small thing I noticed is > > AC_MSG_ERROR([xwidgets requested, it requires GTK3 as X window > toolkit or macOS Cocoa as window systeml]) > ^ > Sharp eyes! Fixed the typo. > I=E2=80=99ve also had the experience a couple of times where I=E2=80=99ve= tried to > visit a website (for example http://www.bbc.co.uk/news) but all I get > is a blank xwidget buffer. Then if I try to do things in it I get this > message: > > 2017-12-05 19:34:38.116 Emacs[56317:26076674] xwHasFocus: A JavaScrip= t > exception occurred > > I don=E2=80=99t know what was going wrong. > I failed to re-create the problem stated. I will investigate it further. Jaesup --f403045f5488e946fa055fa5a58f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On W= ed, Dec 6, 2017 at 5:00 AM, Alan Third <alan@idiocy.org> wrote= :

One small thing I noticed is

=C2=A0 =C2=A0 AC_MSG_ERROR([xwidgets requested, it requires GTK3 as X windo= w
=C2=A0 =C2=A0 toolkit or macOS Cocoa as window systeml])
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0^

Sharp eyes! Fixed the typo.
=C2=A0
I=E2=80=99ve also had the experience a couple of times where I=E2=80=99ve t= ried to
visit a website (for example http://www.bbc.co.uk/news) but all I get is a blank xwidget buffer. Then if I try to do things in it I get this
message:

=C2=A0 =C2=A0 2017-12-05 19:34:38.116 Emacs[56317:26076674] xwHasFocus: A J= avaScript
=C2=A0 =C2=A0 exception occurred

I don=E2=80=99t know what was going wrong.

<= div>I failed to re-create the problem stated. I will investigate it further= .

Jaesup
--f403045f5488e946fa055fa5a58f-- --f403045f5488e946fe055fa5a591 Content-Type: application/octet-stream; name="0001-Fix-typo-Bug-29565.patch" Content-Disposition: attachment; filename="0001-Fix-typo-Bug-29565.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jaun6qtx0 RnJvbSAyMTJmZjg2ZTFmNWRkYzBiMDNjOTg4ZjIyYTI1MzY2YmUzYzExNjIwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWVzdXAgS3dhayA8dmVzaGJvb0BnbWFpbC5jb20+CkRhdGU6 IFdlZCwgNiBEZWMgMjAxNyAxNDowNDoyMyArMDkwMApTdWJqZWN0OiBbUEFUQ0hdIEZpeCB0eXBv IChCdWcjMjk1NjUpCgoqIGNvbmZpZ3VyZS5hYwotLS0KIGNvbmZpZ3VyZS5hYyB8IDIgKy0KIDEg ZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBh L2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwppbmRleCAzZDUyMWZjZmIxLi40NTI4MDczZTdh IDEwMDY0NAotLS0gYS9jb25maWd1cmUuYWMKKysrIGIvY29uZmlndXJlLmFjCkBAIC0yNzM3LDcg KzI3MzcsNyBAQCBBQ19ERUZVTgogICAgIGRubCBVcGRhdGUgTlNfT0JKQ19PQkogd2l0aCBhZGRl ZCBuc3h3aWRnZXQubwogICAgIEFDX1NVQlNUKE5TX09CSkNfT0JKKQogICBlbHNlCi0gICAgQUNf TVNHX0VSUk9SKFt4d2lkZ2V0cyByZXF1ZXN0ZWQsIGl0IHJlcXVpcmVzIEdUSzMgYXMgWCB3aW5k b3cgdG9vbGtpdCBvciBtYWNPUyBDb2NvYSBhcyB3aW5kb3cgc3lzdGVtbF0pCisgICAgQUNfTVNH X0VSUk9SKFt4d2lkZ2V0cyByZXF1ZXN0ZWQsIGl0IHJlcXVpcmVzIEdUSzMgYXMgWCB3aW5kb3cg dG9vbGtpdCBvciBtYWNPUyBDb2NvYSBhcyB3aW5kb3cgc3lzdGVtXSkKICAgZmkKIAogICB0ZXN0 ICRIQVZFX1hXSURHRVRTID0geWVzIHx8Ci0tIAoyLjE1LjAKCg== --f403045f5488e946fe055fa5a591-- From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 06 01:20:58 2017 Received: (at 29565) by debbugs.gnu.org; 6 Dec 2017 06:20:58 +0000 Received: from localhost ([127.0.0.1]:48447 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eMT4k-0003YH-5A for submit@debbugs.gnu.org; Wed, 06 Dec 2017 01:20:58 -0500 Received: from mail-wr0-f170.google.com ([209.85.128.170]:36638) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eMT4i-0003Y4-Cq for 29565@debbugs.gnu.org; Wed, 06 Dec 2017 01:20:56 -0500 Received: by mail-wr0-f170.google.com with SMTP id v105so2657424wrc.3 for <29565@debbugs.gnu.org>; Tue, 05 Dec 2017 22:20:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=TSCOGeHRlJw103u0Z9sFzMg6vSLy3GZZcHFhbFmpYa8=; b=AY9H6kLtJFtswc9PDZXEEGwHIFS7770AbFcmAKAxTbTAcc5PmFMhFptNu8j5YX8VwM ZxaN7+g3rYm7WG0pQ4Wv/p5Wxn6QXMdoNYBX1G8GZX3HIMN9lFzLYAAJLMl7T9diY2VQ TKoGLBKq3ZtHidbK/5wNcqdTdDYWh4eSeNte9TydDQ3gZpzWFTqX38FJwz4C4VCyfXQL pf1nhPUD+Ei7EGawXorKxuuSmTAA/qUHO4Av89Y4i/MPDMf4U4YYjag9toP5VgV1CxOo ps605i1vx4BVuKibDovpn9KjqoL0QxFY8poclifPiz5lqv/pNxhXtqyP+FldtPyAq9kM yzdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=TSCOGeHRlJw103u0Z9sFzMg6vSLy3GZZcHFhbFmpYa8=; b=fMp8k7tYdWfQ79kZb7YDvYEMxCasd+FH9qcZQg9hRb/lvOTV0Ft17KTcMogrTfAGnO FVqT6y9bp6NLZ/gyD86RQMID4IozyCvW6hxBk36oCnyj9JsiHa6vTijkquIxkxliIpg4 VLLhZkAeYN5FJqXKGNF8WxIEH7GBp/7m38A+8hkoGNYRJmGhCp/Lq6St/NRQLcDwWLxd PI9Yd/ZL6zAYAxug4H4El+Y7YyyunHcz1ea2BPXNBbmi3CXdMIHxmCtmxeFREwuSWsSb 0r1OTW5bS2s68LkH8BAZ3RiCdPqUiQX4QBU9yG2ERoXztM/zyHgxRRbpYlQGiliK7E7s en4w== X-Gm-Message-State: AJaThX4jICuQhj5wW6QfvH2eTRnx0+k2K+tdZ3p+Ir6Z7RRm5Lv4gHOK UZia507YP0tTJ48uo7dHOkJwbjYKDqJj91aiHes= X-Google-Smtp-Source: AGs4zMYmPNun1Q4cCBShjYCAtUIpREEPhfJfBz42bpgIUu5xVk3ksPPUXtCO/z6UnXHnvs11RCQTBwC+MqBNQfaz60E= X-Received: by 10.223.182.19 with SMTP id f19mr17661802wre.81.1512541250728; Tue, 05 Dec 2017 22:20:50 -0800 (PST) MIME-Version: 1.0 Received: by 10.28.227.67 with HTTP; Tue, 5 Dec 2017 22:20:50 -0800 (PST) In-Reply-To: References: <20171204205943.GA38879@breton.holly.idiocy.org> <20171205200034.GA60133@breton.holly.idiocy.org> From: Jaesup Kwak Date: Wed, 6 Dec 2017 15:20:50 +0900 Message-ID: Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X To: 29565@debbugs.gnu.org Content-Type: multipart/mixed; boundary="f403043a0bbcf56dfb055fa5f3a3" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29565 Cc: Alan Third X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) --f403043a0bbcf56dfb055fa5f3a3 Content-Type: multipart/alternative; boundary="f403043a0bbcf56df8055fa5f3a1" --f403043a0bbcf56df8055fa5f3a1 Content-Type: text/plain; charset="UTF-8" I have missed a period (".") in the previous typo fix patch. Please ignore it and use this. Thanks. --f403043a0bbcf56df8055fa5f3a1 Content-Type: text/html; charset="UTF-8"
I have missed a period (".") in the previous typo fix patch.
Please ignore it and use this.

Thanks.
--f403043a0bbcf56df8055fa5f3a1-- --f403043a0bbcf56dfb055fa5f3a3 Content-Type: application/octet-stream; name="0001-Fix-typo-Bug-29565.patch" Content-Disposition: attachment; filename="0001-Fix-typo-Bug-29565.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jauo00a61 RnJvbSA0ZjVlYjUzY2M3ODYyNGY3OWQ4MzM1ZTZlNjU3ZGVjYzRkOGY3NGU2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWVzdXAgS3dhayA8dmVzaGJvb0BnbWFpbC5jb20+CkRhdGU6 IFdlZCwgNiBEZWMgMjAxNyAxNDowNDoyMyArMDkwMApTdWJqZWN0OiBbUEFUQ0hdIEZpeCB0eXBv IChCdWcjMjk1NjUpCgoqIGNvbmZpZ3VyZS5hYwotLS0KIGNvbmZpZ3VyZS5hYyB8IDIgKy0KIDEg ZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBh L2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwppbmRleCAzZDUyMWZjZmIxLi5iMWNlOTBjZTJl IDEwMDY0NAotLS0gYS9jb25maWd1cmUuYWMKKysrIGIvY29uZmlndXJlLmFjCkBAIC0yNzM3LDcg KzI3MzcsNyBAQCBBQ19ERUZVTgogICAgIGRubCBVcGRhdGUgTlNfT0JKQ19PQkogd2l0aCBhZGRl ZCBuc3h3aWRnZXQubwogICAgIEFDX1NVQlNUKE5TX09CSkNfT0JKKQogICBlbHNlCi0gICAgQUNf TVNHX0VSUk9SKFt4d2lkZ2V0cyByZXF1ZXN0ZWQsIGl0IHJlcXVpcmVzIEdUSzMgYXMgWCB3aW5k b3cgdG9vbGtpdCBvciBtYWNPUyBDb2NvYSBhcyB3aW5kb3cgc3lzdGVtbF0pCisgICAgQUNfTVNH X0VSUk9SKFt4d2lkZ2V0cyByZXF1ZXN0ZWQsIGl0IHJlcXVpcmVzIEdUSzMgYXMgWCB3aW5kb3cg dG9vbGtpdCBvciBtYWNPUyBDb2NvYSBhcyB3aW5kb3cgc3lzdGVtLl0pCiAgIGZpCiAKICAgdGVz dCAkSEFWRV9YV0lER0VUUyA9IHllcyB8fAotLSAKMi4xNS4wCgo= --f403043a0bbcf56dfb055fa5f3a3-- From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 13 06:15:43 2017 Received: (at 29565) by debbugs.gnu.org; 13 Dec 2017 11:15:43 +0000 Received: from localhost ([127.0.0.1]:59482 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eP50o-0001tR-Ef for submit@debbugs.gnu.org; Wed, 13 Dec 2017 06:15:42 -0500 Received: from mail-wm0-f48.google.com ([74.125.82.48]:43566) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eP50m-0001tC-Fy for 29565@debbugs.gnu.org; Wed, 13 Dec 2017 06:15:40 -0500 Received: by mail-wm0-f48.google.com with SMTP id n138so4241411wmg.2 for <29565@debbugs.gnu.org>; Wed, 13 Dec 2017 03:15:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=84KJGBWoyh08DfkpCg7of8fi/Cn3O+rEpaBZrn8gDJk=; b=O17mnBWZ51Vwl/IwkqvRzxruffni7Q5QeZrCo4E30omyC1s7w4El4kSDV5kkSS4oO/ IkbklnJhT6nlovTzWaqa3LSXQVA4ZWcZyl8j24sc0oFHXq1saUouME9u/V9GsnC+XqBo sFn9l3TLMV5XtPA1yvwQpii7a6nkQO/MpEcOXFHXsZnazW3xTWrExKfS4liM39LXA2Iy uccnVTFh1GGVz86UrAxvk47KojZRCjC5WpuSplwtdocA6PFHvXbRyEng98tBR0zGrTeT kffr9/A4WaWBeywPpdMW2dkWY0wPfSsJv+Pcc3+WPlmiqoe77F7sXcxMi3YTCEP5o8Yt NLTg== 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; bh=84KJGBWoyh08DfkpCg7of8fi/Cn3O+rEpaBZrn8gDJk=; b=X6DYwYH3zBRY3gtYFb08sZxI+pVQ3SNxWMostkH9GqFmfVn/1Sg8+ofXDdiHeQNj1T K0xmGNLVPv1zWKGCb9L45OVpW8GE8PZGp8HoszV2IY+I403bJ7CqLxsxyIyiWSM4cQBS ef8f5a+vFEUaPqp8d7bt4gjRlqwrGUY/XYLLL7JdAYj89FFRRLhbKD4+E+PJOpXVYQ6c /CsJ7NQkX9pRrkaIDfz8bA2LXFF/kWkJrB9vLH1l7FOXdlpohZ/kuqMpaSfPbK+9W8Ew vHF9+9xpkiiPknfQUt6H4jMokwGnJXh0MdDpO4auHc9s8Q+pVcAmACT1f303VffsT6iB BjsA== X-Gm-Message-State: AKGB3mK6GKPwpiWI3b2elBuSughksgaNzgkO+T+Q0NrdL3NkmrJIfndn Lzeb3WZy42FeZ4wwaSzSifkP5+pysTnpukIqU3ivMg== X-Google-Smtp-Source: ACJfBotPTWWzuNWd8jrmTkMl++8xtx/tu66ZBt1lG9UBaOOJ7SdZNl5QX9qomEeHU3flb0phnsZRkAcLwCOWULv0EdE= X-Received: by 10.28.50.197 with SMTP id y188mr1581993wmy.159.1513163734817; Wed, 13 Dec 2017 03:15:34 -0800 (PST) MIME-Version: 1.0 Received: by 10.28.227.67 with HTTP; Wed, 13 Dec 2017 03:15:34 -0800 (PST) From: Jaesup Kwak Date: Wed, 13 Dec 2017 20:15:34 +0900 Message-ID: Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X To: 29565@debbugs.gnu.org Content-Type: multipart/alternative; boundary="001a1140df56e6b2cd056036e28a" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29565 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --001a1140df56e6b2cd056036e28a Content-Type: text/plain; charset="UTF-8" These are patch files for further development from the last post. * 0001-Stop-audio-when-xwidget-webkit-killed-Bug-29565.patch 0002-Functions-when-javascript-not-allowed-Bug-29565.patch --001a1140df56e6b2cd056036e28a Content-Type: text/html; charset="UTF-8"
These are patch files for further development from the last post.

* 0001-Stop-audio-when-xwidget-webkit-killed-Bug-29565.patch
0002-Functions-when-javascript-not-allowed-Bug-29565.patch

--001a1140df56e6b2cd056036e28a-- From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 13 06:27:20 2017 Received: (at 29565) by debbugs.gnu.org; 13 Dec 2017 11:27:20 +0000 Received: from localhost ([127.0.0.1]:59491 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eP5C4-0002GW-7u for submit@debbugs.gnu.org; Wed, 13 Dec 2017 06:27:20 -0500 Received: from mail-wr0-f172.google.com ([209.85.128.172]:40256) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eP5C0-0002GE-60 for 29565@debbugs.gnu.org; Wed, 13 Dec 2017 06:27:18 -0500 Received: by mail-wr0-f172.google.com with SMTP id q9so1785434wre.7 for <29565@debbugs.gnu.org>; Wed, 13 Dec 2017 03:27:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=F2/cJbnbcR2bH7Z3eXxXCAN43DeYj0PxdK3bGJ1dWZs=; b=ZQcxzKiyP6+FDIiatsRGr6oaKwkkHobiVemIOIrtP7Ehb386olHnHT/566wj5nsDst uugf/hjCbl6evzGuIbWZ+daG5/C83xKh7qYL7oQhqckTpXmAQK5FCNG4pIDjXG3HFWEF RxTcdss2sK4ktZ+oD0KtvHc+9S1i0Rr3+jbj5Hbu00Q9bGJXcy5wg/ue1634nI0E86nE XAF+niupB2RdOIRwVdmxk9KyViY5Ms0FVWi0NmEwFNG9fpNSKXAQgM9HButyHbJEKDvl hgOioCWMIeyx1303/NmUVAzJFNIv6tLzbpXRKlwkSrOXLqAwL1G4FsvBnuRNDifir7CP CAwg== 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; bh=F2/cJbnbcR2bH7Z3eXxXCAN43DeYj0PxdK3bGJ1dWZs=; b=tAlcrisJjcY48Jh96ZHNtwOH6fqw6o74SIq+tcvop7hxmOi+xz9pJWtcyK2yPK8xwm ppBcTZIQGJb1CSmGwe5nufBDCBbbKO2F9VnG/DEbxIEZZ8b2x3P4jEuW12YECE+HgmBu pwC7XiX3nslKUolSbdxibZDLYcGg/nIc/89uq+xPAnger2WdcWQESxnUr/ila5l/ovCL q8nftpbIO1K2l21n5x/t9TFRz7HPkxsksPz2EQLR6nVvDqIMCkd+WJYJaCvR5c1yKn28 zHfvfJUlU4hvHyWKLv2zyC0XyIkejImeyQhct4ysviWoIjnOGbI3P7Fq9khswQ49sKY6 5X9w== X-Gm-Message-State: AKGB3mLuoIYBTbm6XkIlRR/s7MalsRuaUU67zUBPOKl0G4d2Hxg1pEXe 3MppleSSWvd8eSeSXf5Y84k5U+TPzmXSoYhRjD/ifA== X-Google-Smtp-Source: ACJfBovDZq3XAiE/gwMtJVY2n/tbetUTMZDLAhmpxOiJnQGE2Tw6MuejsHsrWOSD6/IVrTslo0+DS94VtYEM9JVg74s= X-Received: by 10.223.182.19 with SMTP id f19mr1979932wre.81.1513164430353; Wed, 13 Dec 2017 03:27:10 -0800 (PST) MIME-Version: 1.0 Received: by 10.28.227.67 with HTTP; Wed, 13 Dec 2017 03:27:09 -0800 (PST) From: Jaesup Kwak Date: Wed, 13 Dec 2017 20:27:09 +0900 Message-ID: Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X To: 29565@debbugs.gnu.org Content-Type: multipart/mixed; boundary="f403043a0bbc5bce190560370c26" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29565 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) --f403043a0bbc5bce190560370c26 Content-Type: multipart/alternative; boundary="f403043a0bbc5bce150560370c24" --f403043a0bbc5bce150560370c24 Content-Type: text/plain; charset="UTF-8" These are path files for further development from the last post. * 0001-Stop-audio-when-xwidget-webkit-killed-Bug-29565.patch For example, this stop playing audio when you kill the xwidget webkit buffer while watching a youtube. * 0002-Functions-when-javascript-not-allowed-Bug-29565.patch This patch support basic xwidget webkit functions even when javascript is not allowed due to 'Content-Security-Policy' HTTP Response header. And enable web inspector, which is very valuable for javascript related debugging. --f403043a0bbc5bce150560370c24 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
These are path files for further development from the last= post.

* 0001-Stop-audio-when-xwidget-webkit-killed= -Bug-29565.patch

For example, this stop playing au= dio when you kill the xwidget webkit buffer while watching a youtube.
=

* 0002-Functions-when-javascript-not-allowed-Bug-29565.= patch

This patch support basic xwidget webki= t functions even when javascript is not allowed due to 'Content-Securit= y-Policy' HTTP Response header.=C2=A0 And enable web inspector, which i= s very valuable for javascript related debugging.

--f403043a0bbc5bce150560370c24-- --f403043a0bbc5bce190560370c26 Content-Type: application/octet-stream; name="0001-Stop-audio-when-xwidget-webkit-killed-Bug-29565.patch" Content-Disposition: attachment; filename="0001-Stop-audio-when-xwidget-webkit-killed-Bug-29565.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jb4z09410 RnJvbSA4YzExNDk3NGUzZTliNTY2OTRjZTNlMTcwNzBkMWUyODFjNWExMzEwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWVzdXAgS3dhayA8dmVzaGJvb0BnbWFpbC5jb20+CkRhdGU6 IFN1biwgMTAgRGVjIDIwMTcgMTY6MjQ6MjkgKzA5MDAKU3ViamVjdDogW1BBVENIIDEvMl0gU3Rv cCBhdWRpbyB3aGVuIHh3aWRnZXQtd2Via2l0IGtpbGxlZCAoQnVnIzI5NTY1KQoKKiBzcmMvbnN4 d2lkZ2V0Lm0KLS0tCiBzcmMvbnN4d2lkZ2V0Lm0gfCA1ICsrKysrCiAxIGZpbGUgY2hhbmdlZCwg NSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvc3JjL25zeHdpZGdldC5tIGIvc3JjL25zeHdp ZGdldC5tCmluZGV4IDA0ZjE0NzJjOTYuLjlhMGQ5MzljM2QgMTAwNjQ0Ci0tLSBhL3NyYy9uc3h3 aWRnZXQubQorKysgYi9zcmMvbnN4d2lkZ2V0Lm0KQEAgLTM5NSw2ICszOTUsMTEgQEAgLSAoQk9P TClpc0ZsaXBwZWQgeyByZXR1cm4gWUVTOyB9CiAgICAgICBbc2NyaXB0b3IgcmVsZWFzZV07CiAg ICAgICBpZiAoeHctPnh2KQogICAgICAgICB4dy0+eHYtPm1vZGVsID0gUW5pbDsgLyogTWFrZSBz dXJlIHJlbGF0ZWQgdmlldyBzdGFsZS4gICovCisKKyAgICAgIC8qIFRoaXMgc3RvcHMgcGxheWlu ZyBhdWRpbyB3aGVuIGEgeHdpZGdldC13ZWJraXQgYnVmZmVyIGlzCisgICAgICAgICBraWxsZWQu ICBJIGNvdWxkIG5vdCBmaW5kIG90aGVyIHNvbHV0aW9uLiAgKi8KKyAgICAgIG5zeHdpZGdldF93 ZWJraXRfZ290b191cmkgKHh3LCAiYWJvdXQ6YmxhbmsiKTsKKwogICAgICAgW3h3LT54d1dpZGdl dCByZW1vdmVGcm9tU3VwZXJ2aWV3V2l0aG91dE5lZWRpbmdEaXNwbGF5XTsKICAgICAgIFt4dy0+ eHdXaWRnZXQgcmVsZWFzZV07CiAgICAgICBbeHctPnh3V2luZG93IHJlbW92ZUZyb21TdXBlcnZp ZXdXaXRob3V0TmVlZGluZ0Rpc3BsYXldOwotLSAKMi4xNS4wCgo= --f403043a0bbc5bce190560370c26 Content-Type: application/octet-stream; name="0002-Functions-when-javascript-not-allowed-Bug-29565.patch" Content-Disposition: attachment; filename="0002-Functions-when-javascript-not-allowed-Bug-29565.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jb4z0gca1 RnJvbSA4ZDc3NTBmNDY0YzdjNTA5NzY2ODg3NWRhZWQxMzc2YTE5NDUwOTRlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWVzdXAgS3dhayA8dmVzaGJvb0BnbWFpbC5jb20+CkRhdGU6 IFdlZCwgMTMgRGVjIDIwMTcgMTU6MDM6MDAgKzA5MDAKU3ViamVjdDogW1BBVENIIDIvMl0gRnVu Y3Rpb25zIHdoZW4gamF2YXNjcmlwdCBub3QgYWxsb3dlZCAoQnVnIzI5NTY1KQoKU3VwcG9ydCBz b21lIGJhc2ljIHh3aWRnZXQgd2Via2l0IGZ1bmN0aW9ucyB3aGVuIGphdmFzY3JpcHQgYmxvY2tl ZCBieQonQ29udGVudC1TZWN1cml0eS1Qb2xpY3knLiAgUmVwbGFjZSBzb21lIGphdmFzY3JpcHQg Y2FsbHMgd2l0aCB3ZWJraXQKbmF0aXZlIGZ1bmN0aW9ucyBhbmQgcmVtb3ZlIGNhbGxiYWNrcyBm b3IgdGhlIGphdmFzY3JpcHRzLgoKUmVmYWN0b3IgJ3h3aWRnZXQtd2Via2l0LWN1cnJlbnQtdXJs Jywgbm8gc2lkZSBlZmZlY3Qgb2YgbWVzc2FnZSBvcgpraWxsLXJpbmcuICBObyBtb3JlIGFzeW5j LCBkaXJlY3RseSB1c2VkIGluIGJvb2ttYXJraW5nLCByZW1vdmluZyBVUkwKdGV4dCBwcm9wZXJ0 eS4gIEFkZCBuZXcgZnVuY3Rpb24gJ3h3aWRnZXQtd2Via2l0LXVybC1tZXNzYWdlLWtpbGwnIGZv cgpvbGQgYmVoYXZpb3IuCgpBZGQgbmV3IGtleSBtYXAgJ2YnIHRvIG5ldyBmdW5jdGlvbiAneHdp ZGdldC13ZWJraXQtZm9yd2FyZCcuCgpVbmlxdWVseSAncmVuYW1lLWJ1ZmZlcicgd2l0aCBwYWdl IHRpdGxlIHdoZW4gdGhlIHBhZ2UgaXMgbG9hZGVkLgoKRW5hYmxlIHdlYiBpbnNwZWN0b3IgZm9y IG5zIHh3aWRnZXQgd2Via2l0LgoKQ2hhbmdlIHh3U2NyaXB0IChucyB4d2lkZ2V0IHdlYmtpdCBr ZXlib2FyZCBmb2N1cyByZWxhdGVkIHNjcmlwdCkKaW5qZWN0aW9uIHRpbWUgdG8gZG9jdW1lbnQg c3RhcnQgZnJvbSBkb2N1bWVudCBlbmQuCgoqIGxpc3AveHdpZGdldC5lbCAoeHdpZGdldC13ZWJr aXQtdXJpLCB4d2lkZ2V0LXdlYmtpdC10aXRsZSkKKHh3aWRnZXQtd2Via2l0LWdvdG8taGlzdG9y eSk6IE5ldyB3ZWJraXQgbmF0aXZlIGZ1bmN0aW9ucy4KKHh3aWRnZXQtd2Via2l0LWN4Mi1jYiwg eHdpZGdldC13ZWJraXQtY3gzLWNiKQooeHdpZGdldC13ZWJraXQtdXJsLXRpdGxlLWNiLCB4d2lk Z2V0LXdlYmtpdC1jdXJyZW50LXVybC1jYik6IFJlbW92ZQpqYXZhc2NyaXB0IGNhbGxiYWNrcy4K KHh3aWRnZXQtd2Via2l0LWNhbGxiYWNrKTogUmVwbGFjZSBqYXZhc2NyaXB0IHdpdGggd2Via2l0 IG5hdGl2ZS4gIE5vClVSTCB0ZXh0IHByb3BlcnR5LiAgUmVuYW1lIGJ1ZmZlciB1bmlxdWUuCih4 d2lkZ2V0LXdlYmtpdC1iYWNrLCB4d2lkZ2V0LXdlYmtpdC1yZWxvYWQpOiBSZXBsYWNlIGphdmFz Y3JpcHQgd2l0aAp3ZWJraXQgbmF0aXZlLgooeHdpZGdldC13ZWJraXQtbW9kZS1tYXAsIHh3aWRn ZXQtd2Via2l0LWZvcndhcmQpOiBOZXcgZnVuY3Rpb24uCih4d2lkZ2V0LXdlYmtpdC1jdXJyZW50 LXVybCwgeHdpZGdldC13ZWJraXQtY3VycmVudC11cmwtbWVzc2FnZS1raWxsKQooeHdpZGdldC13 ZWJraXQtY3gyLCB4d2lkZ2V0LXdlYmtpdC1jeDMpCih4d2lkZ2V0LXdlYmtpdC1ib29rbWFyay1t YWtlLXJlY29yZCk6IFJlcGxhY2UgamF2YXNjcmlwdCB3aXRoIHdlYmtpdApuYXRpdmUuICBSZWZh Y3RvciAneHdpZGdldC13ZWJraXQtY3VycmVudC11cmwnLgoqIHNyYy9uc3h3aWRnZXQuaAoqIHNy Yy9uc3h3aWRnZXQubSAobnN4d2lkZ2V0X3dlYmtpdF91cmksIG5zeHdpZGdldF93ZWJraXRfdGl0 bGUpCihuc3h3aWRnZXRfd2Via2l0X2dvdG9faGlzdG9yeSk6IE5ldyB3ZWJraXQgbmF0aXZlIGZ1 bmN0aW9ucy4KKFh3V2ViVmlldzo6dXJsU2NyaXB0QmxvY2tlZCwgWHdXZWJWaWV3Ojppbml0V2l0 aEZyYW1lKQooWHdXZWJWaWV3OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uUmVzcG9uc2UsIG5z eHdpZGdldF9raWxsKTogQWRkCnByb3BlcnR5IG1hcHBpbmcgVVJMIHRvIHdoZXRoZXIgamF2YXNj cmlwdCBhbGxvd2VkIG9yIG5vdC4gIEVuYWJsZSB3ZWIKaW5zcGVjdG9yLiAgQ2hhbmdlIHVzZXIg c2NyaXB0IGluamVjdGlvbiB0aW1lLgooWHdXZWJWaWV3OjprZXlEb3duKTogU2VuZCBrZXlEb3du IGV2ZW50IHRvIGVtYWNzIHdoZW4gamF2YXNjcmlwdCBub3QKYWxsb3dlZCBvciBqYXZhc2NyaXB0 IGV4ZWN1dGlvbiBlcnJvci4KKG5zeHdpZGdldF93ZWJraXRfZXhlY3V0ZV9zY3JpcHQpOiBEbyBu b3QgZXZhbHVhdGUgamF2YXNjcmlwdCB3aGVuIG5vdAphbGxvd2VkLgoqIHNyYy94d2lkZ2V0LmMg KEZ4d2lkZ2V0X3dlYmtpdF91cmksIEZ4d2lnZXRfd2Via2l0X3RpdGxlKQooRnh3aWRnZXRfd2Vi a2l0X2dvdG9faGlzdG9yeSwgc3ltc19vZl94d2lkZ2V0KTogREVGVU5zIGZvciBuZXcgd2Via2l0 Cm5hdGl2ZSBmdW5jdGlvbnMgYW5kIGltcGxlbWVudGF0aW9ucyBmb3IgVVNFX0dUSyBhbmQgTlNf SU1QTEVfQ09DT0EuCi0tLQogbGlzcC94d2lkZ2V0LmVsIHwgMTAyICsrKysrKysrKysrKysrKysr KysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBzcmMvbnN4d2lkZ2V0Lmgg fCAgIDMgKysKIHNyYy9uc3h3aWRnZXQubSB8ICA3OSArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKy0tCiBzcmMveHdpZGdldC5jICAgfCAgNTQgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDE3MiBpbnNlcnRpb25zKCspLCA2NiBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saXNwL3h3aWRnZXQuZWwgYi9saXNwL3h3aWRnZXQu ZWwKaW5kZXggMDMxODNjMTlkNS4uZTViM2ZiMmFkOSAxMDA2NDQKLS0tIGEvbGlzcC94d2lkZ2V0 LmVsCisrKyBiL2xpc3AveHdpZGdldC5lbApAQCAtMzksOSArMzksMTQgQEAKIChkZWNsYXJlLWZ1 bmN0aW9uIHh3aWRnZXQtYnVmZmVyICJ4d2lkZ2V0LmMiICh4d2lkZ2V0KSkKIChkZWNsYXJlLWZ1 bmN0aW9uIHh3aWRnZXQtc2l6ZS1yZXF1ZXN0ICJ4d2lkZ2V0LmMiICh4d2lkZ2V0KSkKIChkZWNs YXJlLWZ1bmN0aW9uIHh3aWRnZXQtcmVzaXplICJ4d2lkZ2V0LmMiICh4d2lkZ2V0IG5ldy13aWR0 aCBuZXctaGVpZ2h0KSkKKzs7IEBjYWxsYmFjayAtIFByZWZlciBkZWZ1biB0byBsYW1iZGEsIG5v dCB0byBiZSBnYXJiYWdlIGNvbGxlY3RlZAorOzsgYmVmb3JlIGl0cyBleGVjdXRpb24gaW4gYHh3 aWRnZXQtd2Via2l0LWNhbGxiYWNrJy4KIChkZWNsYXJlLWZ1bmN0aW9uIHh3aWRnZXQtd2Via2l0 LWV4ZWN1dGUtc2NyaXB0ICJ4d2lkZ2V0LmMiCiAgICAgICAgICAgICAgICAgICAoeHdpZGdldCBz Y3JpcHQgJm9wdGlvbmFsIGNhbGxiYWNrKSkKKyhkZWNsYXJlLWZ1bmN0aW9uIHh3aWRnZXQtd2Vi a2l0LXVyaSAieHdpZGdldC5jIiAoeHdpZGdldCkpCisoZGVjbGFyZS1mdW5jdGlvbiB4d2lkZ2V0 LXdlYmtpdC10aXRsZSAieHdpZGdldC5jIiAoeHdpZGdldCkpCiAoZGVjbGFyZS1mdW5jdGlvbiB4 d2lkZ2V0LXdlYmtpdC1nb3RvLXVyaSAieHdpZGdldC5jIiAoeHdpZGdldCB1cmkpKQorKGRlY2xh cmUtZnVuY3Rpb24geHdpZGdldC13ZWJraXQtZ290by1oaXN0b3J5ICJ4d2lkZ2V0LmMiICh4d2lk Z2V0IHJlbC1wb3MpKQogKGRlY2xhcmUtZnVuY3Rpb24geHdpZGdldC13ZWJraXQtem9vbSAieHdp ZGdldC5jIiAoeHdpZGdldCBmYWN0b3IpKQogKGRlY2xhcmUtZnVuY3Rpb24geHdpZGdldC1wbGlz dCAieHdpZGdldC5jIiAoeHdpZGdldCkpCiAoZGVjbGFyZS1mdW5jdGlvbiBzZXQteHdpZGdldC1w bGlzdCAieHdpZGdldC5jIiAoeHdpZGdldCBwbGlzdCkpCkBAIC05NywzNyArMTAyLDIxIEBAIHh3 aWRnZXQtd2Via2l0LWJyb3dzZS11cmwKICAgICAgICAgKHh3aWRnZXQtd2Via2l0LW5ldy1zZXNz aW9uIHVybCkKICAgICAgICh4d2lkZ2V0LXdlYmtpdC1nb3RvLXVybCB1cmwpKSkpCiAKLTs7IE5P VEU6IEBqYXZhc2NyaXB0LWNhbGxiYWNrIC0gcHJlZmVyIGRlZnVuIHRvIGxhbWJkYS4KLTs7IExh bWJkYSBzZWVtcyB0byBiZSBtb3JlIGVhc2lseSBnYXJiYWdlIGNvbGxlY3RlZCBpbiBmbGlnaHQg ZnJvbQotOzsgYHh3aWRnZXQtd2Via2l0LWV4ZWN1dGUtc2NyaXB0JyB0byBpdHMgZXhlY3V0aW9u IHZpYSBldmVudC4KLQotOzsgQGphdmFzY3JpcHQtY2FsbGJhY2sKLShkZWZ1biB4d2lkZ2V0LXdl YmtpdC1jeDItY2IgKHVybCkKLSAgIk5ldyB4d2lkZ2V0IHdlYmtpdCBzZXNzaW9uIGFuZCBidWZm ZXIgd2l0aCBVUkwgaW4gc3BsaXQgd2luZG93IGJlbG93LiIKLSAgKHdpdGgtc2VsZWN0ZWQtd2lu ZG93IChzcGxpdC13aW5kb3ctYmVsb3cpCi0gICAgKHh3aWRnZXQtd2Via2l0LW5ldy1zZXNzaW9u IHVybCkpKQotCi07OyBAamF2YXNjcmlwdC1jYWxsYmFjawotKGRlZnVuIHh3aWRnZXQtd2Via2l0 LWN4My1jYiAodXJsKQotICAiTmV3IHh3aWRnZXQgd2Via2l0IHNlc3Npb24gYW5kIGJ1ZmZlciB3 aXRoIFVSTCBpbiBzcGxpdCB3aW5kb3cgcmlnaHQuIgotICAod2l0aC1zZWxlY3RlZC13aW5kb3cg KHNwbGl0LXdpbmRvdy1yaWdodCkKLSAgICAoeHdpZGdldC13ZWJraXQtbmV3LXNlc3Npb24gdXJs KSkpCi0KIChkZWZ1biB4d2lkZ2V0LXdlYmtpdC1jeDIgKCkKLSAgIkdldCB0aGUgVVJMIG9mIGN1 cnJlbnQgc2Vzc2lvbiwgdGhlbiBgeHdpZGdldC13ZWJraXQtY3gyLWNiJy4iCisgICJHZXQgdGhl IFVSTCBvZiBjdXJyZW50IHNlc3Npb24sIHRoZW4gYnJvd3NlIHRvIHRoZSBVUkwgXAoraW4gYHNw bGl0LXdpbmRvdy1iZWxvdycgd2l0aCBhIG5ldyB4d2lkZ2V0IHdlYmtpdCBzZXNzaW9uLiIKICAg KGludGVyYWN0aXZlKQotICAoeHdpZGdldC13ZWJraXQtZXhlY3V0ZS1zY3JpcHQKLSAgICh4d2lk Z2V0LXdlYmtpdC1jdXJyZW50LXNlc3Npb24pCi0gICAiZG9jdW1lbnQuVVJMIgotICAgJ3h3aWRn ZXQtd2Via2l0LWN4Mi1jYikpCisgIChsZXQgKCh1cmwgKHh3aWRnZXQtd2Via2l0LWN1cnJlbnQt dXJsKSkpCisgICAgKHdpdGgtc2VsZWN0ZWQtd2luZG93IChzcGxpdC13aW5kb3ctYmVsb3cpCisg ICAgICAoeHdpZGdldC13ZWJraXQtbmV3LXNlc3Npb24gdXJsKSkpKQogCiAoZGVmdW4geHdpZGdl dC13ZWJraXQtY3gzICgpCi0gICJHZXQgdGhlIFVSTCBvZiBjdXJyZW50IHNlc3Npb24sIHRoZW4g YHh3aWRnZXQtd2Via2l0LWN4My1jYicuIgorICAiR2V0IHRoZSBVUkwgb2YgY3VycmVudCBzZXNz aW9uLCB0aGVuIGJyb3dzZSB0byB0aGUgVVJMIFwKK2luIGBzcGxpdC13aW5kb3ctcmlnaHQnIHdp dGggYSBuZXcgeHdpZGdldCB3ZWJraXQgc2Vzc2lvbi4iCiAgIChpbnRlcmFjdGl2ZSkKLSAgKHh3 aWRnZXQtd2Via2l0LWV4ZWN1dGUtc2NyaXB0Ci0gICAoeHdpZGdldC13ZWJraXQtY3VycmVudC1z ZXNzaW9uKQotICAgImRvY3VtZW50LlVSTCIKLSAgICd4d2lkZ2V0LXdlYmtpdC1jeDMtY2IpKQor ICAobGV0ICgodXJsICh4d2lkZ2V0LXdlYmtpdC1jdXJyZW50LXVybCkpKQorICAgICh3aXRoLXNl bGVjdGVkLXdpbmRvdyAoc3BsaXQtd2luZG93LXJpZ2h0KQorICAgICAgKHh3aWRnZXQtd2Via2l0 LW5ldy1zZXNzaW9uIHVybCkpKSkKIAogOzt0b2RvLgogOzsgLSBjaGVjayB0aGF0IHRoZSB3ZWJr aXQgc3VwcG9ydCBpcyBjb21waWxlZCBpbgpAQCAtMTM2LDEwICsxMjUsMTEgQEAgeHdpZGdldC13 ZWJraXQtbW9kZS1tYXAKICAgICAoZGVmaW5lLWtleSBtYXAgImciICd4d2lkZ2V0LXdlYmtpdC1i cm93c2UtdXJsKQogICAgIChkZWZpbmUta2V5IG1hcCAiYSIgJ3h3aWRnZXQtd2Via2l0LWFkanVz dC1zaXplLWRpc3BhdGNoKQogICAgIChkZWZpbmUta2V5IG1hcCAiYiIgJ3h3aWRnZXQtd2Via2l0 LWJhY2spCisgICAgKGRlZmluZS1rZXkgbWFwICJmIiAneHdpZGdldC13ZWJraXQtZm9yd2FyZCkK ICAgICAoZGVmaW5lLWtleSBtYXAgInIiICd4d2lkZ2V0LXdlYmtpdC1yZWxvYWQpCiAgICAgKGRl ZmluZS1rZXkgbWFwICJ0IiAobGFtYmRhICgpIChpbnRlcmFjdGl2ZSkgKG1lc3NhZ2UgIm8iKSkp IDtGSVhNRTogPyE/CiAgICAgKGRlZmluZS1rZXkgbWFwICJcQy1tIiAneHdpZGdldC13ZWJraXQt aW5zZXJ0LXN0cmluZykKLSAgICAoZGVmaW5lLWtleSBtYXAgInciICd4d2lkZ2V0LXdlYmtpdC1j dXJyZW50LXVybCkKKyAgICAoZGVmaW5lLWtleSBtYXAgInciICd4d2lkZ2V0LXdlYmtpdC1jdXJy ZW50LXVybC1tZXNzYWdlLWtpbGwpCiAgICAgKGRlZmluZS1rZXkgbWFwICIrIiAneHdpZGdldC13 ZWJraXQtem9vbS1pbikKICAgICAoZGVmaW5lLWtleSBtYXAgIi0iICd4d2lkZ2V0LXdlYmtpdC16 b29tLW91dCkKIApAQCAtMjU2LDI1ICsyNDYsMTMgQEAgeHdpZGdldC13ZWJraXQtY2FsbGJhY2sK ICAgICAgICh4d2lkZ2V0LWxvZwogICAgICAgICJlcnJvcjogY2FsbGJhY2sgY2FsbGVkIGZvciB4 d2lkZ2V0IHdpdGggZGVhZCBidWZmZXIiKQogICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyICh4d2lk Z2V0LWJ1ZmZlciB4d2lkZ2V0KQotCi0gICAgICA7OyBAamF2YXNjcmlwdC1jYWxsYmFjawotICAg ICAgOzsgV2UgZG8gbm90IGNoYW5nZSBzZWxlY3RlZCB3aW5kb3cgZHVlIHRvIGdldHRpbmcgdG8g a25vd2luZwotICAgICAgOzsgVVJMIGFuZCB0aXRsZS4gIEFuZCBhbHNvIGRvIG5vdCBhZGp1c3Qg d2Via2l0IHNpemUgdG8gd2luZG93Ci0gICAgICA7OyBoZXJlLCB0aGUgd2luZG93IGNhbiBiZSB0 aGUgbWluaS1idWZmZXIgd2luZG93IHVud2FudGVkbHkuCi0gICAgICAoZGVmdW4geHdpZGdldC13 ZWJraXQtdXJsLXRpdGxlLWNiICh1cmwtdGl0bGUpCi0gICAgICAgICJQdXQgVVJMIGFzIHRleHQg cHJvcGVydHkgYW5kIGNoYW5nZSBidWZmZXIgbmFtZSB1c2luZyBUSVRMRS4iCi0gICAgICAgIChs ZXQgKCh1cmwgKGNhciB1cmwtdGl0bGUpKQotICAgICAgICAgICAgICAodGl0bGUgKGNhciAoY2Ry IHVybC10aXRsZSkpKSkKLSAgICAgICAgICAoeHdpZGdldC1sb2cgIndlYmtpdCBmaW5pc2hlZCBs b2FkaW5nOiAnJXMnIGZyb20gJyVzJyIgdGl0bGUgdXJsKQotICAgICAgICAgIChzZXRxIGJ1ZmZl ci1yZWFkLW9ubHkgbmlsKQotICAgICAgICAgIChwdXQtdGV4dC1wcm9wZXJ0eSAyIDMgJ1VSTCB1 cmwpCi0gICAgICAgICAgKHNldHEgYnVmZmVyLXJlYWQtb25seSB0KQotICAgICAgICAgIChyZW5h bWUtYnVmZmVyIChmb3JtYXQgIip4d2lkZ2V0IHdlYmtpdDogJXMgKiIgdGl0bGUpKSkpCi0KICAg ICAgIChjb25kICgoZXEgeHdpZGdldC1ldmVudC10eXBlICdsb2FkLWNoYW5nZWQpCi0gICAgICAg ICAgICAgKHh3aWRnZXQtd2Via2l0LWV4ZWN1dGUtc2NyaXB0Ci0gICAgICAgICAgICAgIHh3aWRn ZXQgIltkb2N1bWVudC5VUkwsIGRvY3VtZW50LnRpdGxlXSIKLSAgICAgICAgICAgICAgJ3h3aWRn ZXQtd2Via2l0LXVybC10aXRsZS1jYikpCis7OzsgV2UgZG8gbm90IGNoYW5nZSBzZWxlY3RlZCB3 aW5kb3cgZm9yIHRoZSBmaW5pc2ggb2YgbG9hZGluZyBhIHBhZ2UuCis7OzsgQW5kIGRvIG5vdCBh ZGp1c3Qgd2Via2l0IHNpemUgdG8gd2luZG93IGhlcmUsIHRoZSBzZWxlY3RlZCB3aW5kb3cKKzs7 OyBjYW4gYmUgdGhlIG1pbmktYnVmZmVyIHdpbmRvdyB1bndhbnRlZGx5LgorICAgICAgICAgICAg IChsZXQgKCh0aXRsZSAoeHdpZGdldC13ZWJraXQtdGl0bGUgeHdpZGdldCkpKQorICAgICAgICAg ICAgICAgKHh3aWRnZXQtbG9nICJ3ZWJraXQgZmluaXNoZWQgbG9hZGluZzogJXMiIHRpdGxlKQor ICAgICAgICAgICAgICAgKHJlbmFtZS1idWZmZXIgKGZvcm1hdCAiKnh3aWRnZXQgd2Via2l0OiAl cyAqIiB0aXRsZSkgdCkpKQogICAgICAgICAgICAgKChlcSB4d2lkZ2V0LWV2ZW50LXR5cGUgJ2Rl Y2lkZS1wb2xpY3kpCiAgICAgICAgICAgICAgKGxldCAoKHN0cmFyZyAgKG50aCAzIGxhc3QtaW5w dXQtZXZlbnQpKSkKICAgICAgICAgICAgICAgIChpZiAoc3RyaW5nLW1hdGNoICIuKiNcXCguKlxc KSIgc3RyYXJnKQpAQCAtMzEzLDEyICsyOTEsMTAgQEAgeHdpZGdldC13ZWJraXQtYm9va21hcmst anVtcC1uZXctc2Vzc2lvbgogbmlsLCBjb25zaWRlciBmdXJ0aGVyIGN1c3RvbWl6YXRpb24gd2l0 aAogYHh3aWRnZXQtd2Via2l0LWxhc3Qtc2Vzc2lvbi1idWZmZXInLiIpCiAKLTs7IFdlIGF2b2lk IHVzaW5nIGFzeW5jIGB4d2lkZ2V0LXdlYmtpdC1jdXJyZW50LXVybCcsIGluc3RlYWQgdXNlIFVS TAotOzsga2VwdCBpbiB4d2lkZ2V0IHdlYmtpdCBhcyBwcm9wZXJ0eQogKGRlZnVuIHh3aWRnZXQt d2Via2l0LWJvb2ttYXJrLW1ha2UtcmVjb3JkICgpCiAgICJJbnRlZ3JhdGUgRW1hY3MgYm9va21h cmtzIHdpdGggdGhlIHdlYmtpdCB4d2lkZ2V0LiIKICAgKG5jb25jIChib29rbWFyay1tYWtlLXJl Y29yZC1kZWZhdWx0IHQgdCkKLSAgICAgICAgIGAoKGZpbGVuYW1lIC4gLChnZXQtdGV4dC1wcm9w ZXJ0eSAyICdVUkwpKQorICAgICAgICAgYCgoZmlsZW5hbWUgLiAsKHh3aWRnZXQtd2Via2l0LWN1 cnJlbnQtdXJsKSkKICAgICAgICAgICAgKGhhbmRsZXIgIC4gKGxhbWJkYSAoYm1rKQogICAgICAg ICAgICAgICAgICAgICAgICAgIChicm93c2UtdXJsCiAgICAgICAgICAgICAgICAgICAgICAgICAg IChib29rbWFyay1wcm9wLWdldCBibWsgJ2ZpbGVuYW1lKQpAQCAtNjU2LDI3ICs2MzIsMjcgQEAg eHdpZGdldC13ZWJraXQtZ290by11cmwKIChkZWZ1biB4d2lkZ2V0LXdlYmtpdC1iYWNrICgpCiAg ICJHbyBiYWNrIGluIGhpc3RvcnkuIgogICAoaW50ZXJhY3RpdmUpCi0gICh4d2lkZ2V0LXdlYmtp dC1leGVjdXRlLXNjcmlwdCAoeHdpZGdldC13ZWJraXQtY3VycmVudC1zZXNzaW9uKQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpc3RvcnkuZ28oLTEpOyIpKQorICAoeHdpZGdl dC13ZWJraXQtZ290by1oaXN0b3J5ICh4d2lkZ2V0LXdlYmtpdC1jdXJyZW50LXNlc3Npb24pIC0x KSkKIAotKGRlZnVuIHh3aWRnZXQtd2Via2l0LXJlbG9hZCAoKQotICAiUmVsb2FkIGN1cnJlbnQg dXJsLiIKKyhkZWZ1biB4d2lkZ2V0LXdlYmtpdC1mb3J3YXJkICgpCisgICJHbyBmb3J3YXJkIGlu IGhpc3RvcnkuIgogICAoaW50ZXJhY3RpdmUpCi0gICh4d2lkZ2V0LXdlYmtpdC1leGVjdXRlLXNj cmlwdCAoeHdpZGdldC13ZWJraXQtY3VycmVudC1zZXNzaW9uKQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgImhpc3RvcnkuZ28oMCk7IikpCisgICh4d2lkZ2V0LXdlYmtpdC1nb3Rv LWhpc3RvcnkgKHh3aWRnZXQtd2Via2l0LWN1cnJlbnQtc2Vzc2lvbikgMSkpCiAKLTs7IEBqYXZh c2NyaXB0LWNhbGxiYWNrCi0oZGVmdW4geHdpZGdldC13ZWJraXQtY3VycmVudC11cmwtY2IgKHJl c3VsdCkKLSAgIkNhbGxiYWNrIGZvciBgeHdpZGdldC13ZWJraXQtY3VycmVudC11cmwnLCBtZXNz YWdlIGFuZCBraWxsIHRoZSBSRVNVTFQuIgotICAobGV0ICgodXJsIChraWxsLW5ldyAob3IgcmVz dWx0ICIiKSkpKQotICAgIChtZXNzYWdlICJ1cmw6ICVzIiB1cmwpKSkKKyhkZWZ1biB4d2lkZ2V0 LXdlYmtpdC1yZWxvYWQgKCkKKyAgIlJlbG9hZCBjdXJyZW50IFVSTC4iCisgIChpbnRlcmFjdGl2 ZSkKKyAgKHh3aWRnZXQtd2Via2l0LWdvdG8taGlzdG9yeSAoeHdpZGdldC13ZWJraXQtY3VycmVu dC1zZXNzaW9uKSAwKSkKIAogKGRlZnVuIHh3aWRnZXQtd2Via2l0LWN1cnJlbnQtdXJsICgpCi0g ICJHZXQgdGhlIHdlYmtpdCB1cmwgYW5kIHBsYWNlIGl0IG9uIHRoZSBga2lsbC1yaW5nJy4iCisg ICJHZXQgdGhlIGN1cnJlbnQgeHdpZGdldCB3ZWJraXQgVVJMLiIKICAgKGludGVyYWN0aXZlKQot ICAoeHdpZGdldC13ZWJraXQtZXhlY3V0ZS1zY3JpcHQKLSAgICh4d2lkZ2V0LXdlYmtpdC1jdXJy ZW50LXNlc3Npb24pCi0gICAiZG9jdW1lbnQuVVJMIiAneHdpZGdldC13ZWJraXQtY3VycmVudC11 cmwtY2IpKQorICAoeHdpZGdldC13ZWJraXQtdXJpICh4d2lkZ2V0LXdlYmtpdC1jdXJyZW50LXNl c3Npb24pKSkKKworKGRlZnVuIHh3aWRnZXQtd2Via2l0LWN1cnJlbnQtdXJsLW1lc3NhZ2Uta2ls bCAoKQorICAiTWVzc2FnZSB0aGUgY3VycmVudCB4d2lkZ2V0IHdlYmtpdCBVUkwgYW5kIHBsYWNl IGl0IG9uIHRoZSBga2lsbC1yaW5nJy4iCisgIChpbnRlcmFjdGl2ZSkKKyAgKG1lc3NhZ2UgInVy bDogJXMiIChraWxsLW5ldyAob3IgKHh3aWRnZXQtd2Via2l0LWN1cnJlbnQtdXJsKSAiIikpKSkK IAogOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OwogKGRlZnVuIHh3aWRnZXQtd2Via2l0 LWdldC1zZWxlY3Rpb24gKHByb2MpCmRpZmYgLS1naXQgYS9zcmMvbnN4d2lkZ2V0LmggYi9zcmMv bnN4d2lkZ2V0LmgKaW5kZXggYTYxN2EwZDUyNy4uNmFmNWZlNWE0ZCAxMDA2NDQKLS0tIGEvc3Jj L25zeHdpZGdldC5oCisrKyBiL3NyYy9uc3h3aWRnZXQuaApAQCAtMzIsNyArMzIsMTAgQEAgYWxv bmcgd2l0aCBHTlUgRW1hY3MuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vu c2VzLz4uICAqLwogLyogRnVuY3Rpb25zIGZvciB4d2lkZ2V0IHdlYmtpdC4gICovCiAKIGJvb2wg bnN4d2lkZ2V0X2lzX3dlYl92aWV3IChzdHJ1Y3QgeHdpZGdldCAqeHcpOworTGlzcF9PYmplY3Qg bnN4d2lkZ2V0X3dlYmtpdF91cmkgKHN0cnVjdCB4d2lkZ2V0ICp4dyk7CitMaXNwX09iamVjdCBu c3h3aWRnZXRfd2Via2l0X3RpdGxlIChzdHJ1Y3QgeHdpZGdldCAqeHcpOwogdm9pZCBuc3h3aWRn ZXRfd2Via2l0X2dvdG9fdXJpIChzdHJ1Y3QgeHdpZGdldCAqeHcsIGNvbnN0IGNoYXIgKnVyaSk7 Cit2b2lkIG5zeHdpZGdldF93ZWJraXRfZ290b19oaXN0b3J5IChzdHJ1Y3QgeHdpZGdldCAqeHcs IGludCByZWxfcG9zKTsKIHZvaWQgbnN4d2lkZ2V0X3dlYmtpdF96b29tIChzdHJ1Y3QgeHdpZGdl dCAqeHcsIGRvdWJsZSB6b29tX2NoYW5nZSk7CiB2b2lkIG5zeHdpZGdldF93ZWJraXRfZXhlY3V0 ZV9zY3JpcHQgKHN0cnVjdCB4d2lkZ2V0ICp4dywgY29uc3QgY2hhciAqc2NyaXB0LAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXNwX09iamVjdCBmdW4pOwpkaWZmIC0t Z2l0IGEvc3JjL25zeHdpZGdldC5tIGIvc3JjL25zeHdpZGdldC5tCmluZGV4IDlhMGQ5MzljM2Qu LjY1Y2E4M2RhNzMgMTAwNjQ0Ci0tLSBhL3NyYy9uc3h3aWRnZXQubQorKysgYi9zcmMvbnN4d2lk Z2V0Lm0KQEAgLTYxLDYgKzYxLDkgQEAgdm9pZCBzdG9yZV94d2lkZ2V0X2pzX2NhbGxiYWNrX2V2 ZW50IChzdHJ1Y3QgeHdpZGdldCAqeHcsCiBAaW50ZXJmYWNlIFh3V2ViVmlldyA6IFdLV2ViVmll dwogPFdLTmF2aWdhdGlvbkRlbGVnYXRlLCBXS1VJRGVsZWdhdGUsIFdLU2NyaXB0TWVzc2FnZUhh bmRsZXI+CiBAcHJvcGVydHkgc3RydWN0IHh3aWRnZXQgKnh3OworLyogTWFwIHVybCB0byB3aGV0 aGVyIGphdmFzY3JpcHQgaXMgYmxvY2tlZCBieQorICAgJ0NvbnRlbnQtU2VjdXJpdHktUG9saWN5 JyBzYW5kYm94IHdpdGhvdXQgYWxsb3ctc2NyaXB0cy4gICovCitAcHJvcGVydHkocmV0YWluKSBO U011dGFibGVEaWN0aW9uYXJ5ICp1cmxTY3JpcHRCbG9ja2VkOwogQGVuZAogQGltcGxlbWVudGF0 aW9uIFh3V2ViVmlldyA6IFdLV2ViVmlldwogCkBAIC03MiwxMCArNzUsMTUgQEAgLSAoaWQpaW5p dFdpdGhGcmFtZTooQ0dSZWN0KWZyYW1lCiAgIFdLVXNlckNvbnRlbnRDb250cm9sbGVyICpzY3Jp cHRvciA9IFtbV0tVc2VyQ29udGVudENvbnRyb2xsZXIgYWxsb2NdIGluaXRdOwogICBjb25maWd1 cmF0aW9uLnVzZXJDb250ZW50Q29udHJvbGxlciA9IHNjcmlwdG9yOwogCisgIC8qIEVuYWJsZSBp bnNwZWN0IGVsZW1lbnQgY29udGV4dCBtZW51IGl0ZW0gZm9yIGRlYnVnZ2luZy4gICovCisgIFtj b25maWd1cmF0aW9uLnByZWZlcmVuY2VzIHNldFZhbHVlOkBZRVMKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBmb3JLZXk6QCJkZXZlbG9wZXJFeHRyYXNFbmFibGVkIl07CisKICAgc2Vs ZiA9IFtzdXBlciBpbml0V2l0aEZyYW1lOmZyYW1lIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlv bl07CiAgIGlmIChzZWxmKQogICAgIHsKICAgICAgIHNlbGYueHcgPSB4dzsKKyAgICAgIHNlbGYu dXJsU2NyaXB0QmxvY2tlZCA9IFtbTlNNdXRhYmxlRGljdGlvbmFyeSBhbGxvY10gaW5pdF07CiAg ICAgICBzZWxmLm5hdmlnYXRpb25EZWxlZ2F0ZSA9IHNlbGY7CiAgICAgICBzZWxmLlVJRGVsZWdh dGUgPSBzZWxmOwogICAgICAgc2VsZi5jdXN0b21Vc2VyQWdlbnQgPQpAQCAtODYsNyArOTQsNyBA QCAtIChpZClpbml0V2l0aEZyYW1lOihDR1JlY3QpZnJhbWUKICAgICAgIFtzY3JpcHRvciBhZGRV c2VyU2NyaXB0OltbV0tVc2VyU2NyaXB0IGFsbG9jXQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpbml0V2l0aFNvdXJjZTp4d1NjcmlwdAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaW5qZWN0aW9uVGltZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBXS1VzZXJTY3JpcHRJbmplY3Rpb25UaW1lQXREb2N1bWVudEVuZAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFdLVXNlclNjcmlwdEluamVjdGlvblRpbWVBdERvY3VtZW50U3Rh cnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yTWFpbkZyYW1lT25seTpOT11d OwogICAgIH0KICAgcmV0dXJuIHNlbGY7CkBAIC0xMzEsNiArMTM5LDI4IEBAIC0gKHZvaWQpd2Vi VmlldzooV0tXZWJWaWV3ICopd2ViVmlldwogICAgICAgLyogVE9ETzogZG93bmxvYWQgdXNpbmcg TlNVUkx4eHg/ICAqLwogICAgIH0KICAgZGVjaXNpb25IYW5kbGVyIChXS05hdmlnYXRpb25SZXNw b25zZVBvbGljeUFsbG93KTsKKworICBzZWxmLnVybFNjcmlwdEJsb2NrZWRbbmF2aWdhdGlvblJl c3BvbnNlLnJlc3BvbnNlLlVSTF0gPQorICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT107 CisgIGlmIChbbmF2aWdhdGlvblJlc3BvbnNlLnJlc3BvbnNlIGlzS2luZE9mQ2xhc3M6W05TSFRU UFVSTFJlc3BvbnNlIGNsYXNzXV0pCisgICAgeworICAgICAgTlNEaWN0aW9uYXJ5ICpoZWFkZXJz ID0KKyAgICAgICAgKChOU0hUVFBVUkxSZXNwb25zZSAqKSBuYXZpZ2F0aW9uUmVzcG9uc2UucmVz cG9uc2UpLmFsbEhlYWRlckZpZWxkczsKKyAgICAgIE5TU3RyaW5nICp2YWx1ZSA9IGhlYWRlcnNb QCJDb250ZW50LVNlY3VyaXR5LVBvbGljeSJdOworICAgICAgaWYgKHZhbHVlKQorICAgICAgICB7 CisgICAgICAgICAgLyogVE9ETzogU2xvcHB5IHBhcnNpbmcgb2YgJ0NvbnRlbnQtU2VjdXJpdHkt UG9saWN5JyB2YWx1ZS4gICovCisgICAgICAgICAgTlNSYW5nZSBzYW5kYm94ID0gW3ZhbHVlIHJh bmdlT2ZTdHJpbmc6QCJzYW5kYm94Il07CisgICAgICAgICAgaWYgKHNhbmRib3gubG9jYXRpb24g IT0gTlNOb3RGb3VuZCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgTlNSYW5nZSBhbGxv d1NjcmlwdHMgPSBbdmFsdWUgcmFuZ2VPZlN0cmluZzpAImFsbG93LXNjcmlwdHMiXTsKKyAgICAg ICAgICAgICAgaWYgKGFsbG93U2NyaXB0cy5sb2NhdGlvbiA9PSBOU05vdEZvdW5kCisgICAgICAg ICAgICAgICAgICB8fCBhbGxvd1NjcmlwdHMubG9jYXRpb24gPCBzYW5kYm94LmxvY2F0aW9uKQor ICAgICAgICAgICAgICAgIHNlbGYudXJsU2NyaXB0QmxvY2tlZFtuYXZpZ2F0aW9uUmVzcG9uc2Uu cmVzcG9uc2UuVVJMXSA9CisgICAgICAgICAgICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJv b2w6WUVTXTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KIH0KIAogLyogTm8gYWRk aXRpb25hbCBuZXcgd2VidmlldyBvciBlbWFjcyB3aW5kb3cgd2lsbCBiZSBjcmVhdGVkCkBAIC0x NzgsMTAgKzIwOCwyMCBAQCAtICh2b2lkKWtleURvd246KE5TRXZlbnQgKilldmVudAogICAgICAg cmV0dXJuOwogICAgIH0KIAorICAvKiBFbWFjcyBoYW5kbGVzIGtleWJvYXJkIGV2ZW50cyB3aGVu IGphdmFzY3JpcHQgaXMgYmxvY2tlZC4gICovCisgIGlmIChbc2VsZi51cmxTY3JpcHRCbG9ja2Vk W3NlbGYuVVJMXSBib29sVmFsdWVdKQorICAgIHsKKyAgICAgIFtzZWxmLnh3LT54di0+ZW1hY3N3 aW5kb3cga2V5RG93bjpldmVudF07CisgICAgICByZXR1cm47CisgICAgfQorCiAgIFtzZWxmIGV2 YWx1YXRlSmF2YVNjcmlwdDpAInh3SGFzRm9jdXMoKSIKICAgICAgICAgIGNvbXBsZXRpb25IYW5k bGVyOl4oaWQgcmVzdWx0LCBOU0Vycm9yICplcnJvcikgewogICAgICAgaWYgKGVycm9yKQotICAg ICAgICBOU0xvZyAoQCJ4d0hhc0ZvY3VzOiAlQCIsIGVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9u KTsKKyAgICAgICAgeworICAgICAgICAgIE5TTG9nIChAInh3SGFzRm9jdXM6ICVAIiwgZXJyb3Ip OworICAgICAgICAgIFtzZWxmLnh3LT54di0+ZW1hY3N3aW5kb3cga2V5RG93bjpldmVudF07Cisg ICAgICAgIH0KICAgICAgIGVsc2UgaWYgKHJlc3VsdCkKICAgICAgICAgewogICAgICAgICAgIE5T TnVtYmVyICpoYXNGb2N1cyA9IHJlc3VsdDsgLyogX19OU0NGQm9vbGVhbiAqLwpAQCAtMjQyLDYg KzI4Miw4IEBAIC0gKHZvaWQpdXNlckNvbnRlbnRDb250cm9sbGVyOihXS1VzZXJDb250ZW50Q29u dHJvbGxlciAqKXVzZXJDb250ZW50Q29udHJvbGxlcgogCiAvKiBYd2lkZ2V0IHdlYmtpdCBjb21t YW5kcy4gICovCiAKK3N0YXRpYyBMaXNwX09iamVjdCBidWlsZF9zdHJpbmdfd2l0aF9uc3N0ciAo TlNTdHJpbmcgKm5zc3RyKTsKKwogYm9vbAogbnN4d2lkZ2V0X2lzX3dlYl92aWV3IChzdHJ1Y3Qg eHdpZGdldCAqeHcpCiB7CkBAIC0yNDksNiArMjkxLDIwIEBAIC0gKHZvaWQpdXNlckNvbnRlbnRD b250cm9sbGVyOihXS1VzZXJDb250ZW50Q29udHJvbGxlciAqKXVzZXJDb250ZW50Q29udHJvbGxl cgogICAgIFt4dy0+eHdXaWRnZXQgaXNLaW5kT2ZDbGFzczpXS1dlYlZpZXcuY2xhc3NdOwogfQog CitMaXNwX09iamVjdAorbnN4d2lkZ2V0X3dlYmtpdF91cmkgKHN0cnVjdCB4d2lkZ2V0ICp4dykK K3sKKyAgWHdXZWJWaWV3ICp4d1dlYlZpZXcgPSAoWHdXZWJWaWV3ICopIHh3LT54d1dpZGdldDsK KyAgcmV0dXJuIGJ1aWxkX3N0cmluZ193aXRoX25zc3RyICh4d1dlYlZpZXcuVVJMLmFic29sdXRl U3RyaW5nKTsKK30KKworTGlzcF9PYmplY3QKK25zeHdpZGdldF93ZWJraXRfdGl0bGUgKHN0cnVj dCB4d2lkZ2V0ICp4dykKK3sKKyAgWHdXZWJWaWV3ICp4d1dlYlZpZXcgPSAoWHdXZWJWaWV3ICop IHh3LT54d1dpZGdldDsKKyAgcmV0dXJuIGJ1aWxkX3N0cmluZ193aXRoX25zc3RyICh4d1dlYlZp ZXcudGl0bGUpOworfQorCiAvKiBATm90ZSBBVFMgLSBOZWVkIGFwcGxpY2F0aW9uIHRyYW5zcG9y dCBzZWN1cml0eSBpbiAnSW5mby5wbGlzdCcgb3IKICAgIHJlbW90ZSBwYWdlcyB3aWxsIG5vdCBs b2FkZWQuICAqLwogdm9pZApAQCAtMjYxLDYgKzMxNywxNyBAQCAtICh2b2lkKXVzZXJDb250ZW50 Q29udHJvbGxlcjooV0tVc2VyQ29udGVudENvbnRyb2xsZXIgKil1c2VyQ29udGVudENvbnRyb2xs ZXIKICAgW3h3V2ViVmlldyBsb2FkUmVxdWVzdDp1cmxSZXF1ZXN0XTsKIH0KIAordm9pZAorbnN4 d2lkZ2V0X3dlYmtpdF9nb3RvX2hpc3RvcnkgKHN0cnVjdCB4d2lkZ2V0ICp4dywgaW50IHJlbF9w b3MpCit7CisgIFh3V2ViVmlldyAqeHdXZWJWaWV3ID0gKFh3V2ViVmlldyAqKSB4dy0+eHdXaWRn ZXQ7CisgIHN3aXRjaCAocmVsX3BvcykgeworICBjYXNlIC0xOiBbeHdXZWJWaWV3IGdvQmFja107 IGJyZWFrOworICBjYXNlIDA6IFt4d1dlYlZpZXcgcmVsb2FkXTsgYnJlYWs7CisgIGNhc2UgMTog W3h3V2ViVmlldyBnb0ZvcndhcmRdOyBicmVhazsKKyAgfQorfQorCiB2b2lkCiBuc3h3aWRnZXRf d2Via2l0X3pvb20gKHN0cnVjdCB4d2lkZ2V0ICp4dywgZG91YmxlIHpvb21fY2hhbmdlKQogewpA QCAtMzQwLDkgKzQwNywxNCBAQCAtICh2b2lkKXVzZXJDb250ZW50Q29udHJvbGxlcjooV0tVc2Vy Q29udGVudENvbnRyb2xsZXIgKil1c2VyQ29udGVudENvbnRyb2xsZXIKIG5zeHdpZGdldF93ZWJr aXRfZXhlY3V0ZV9zY3JpcHQgKHN0cnVjdCB4d2lkZ2V0ICp4dywgY29uc3QgY2hhciAqc2NyaXB0 LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzcF9PYmplY3QgZnVuKQogewot ICBOU1N0cmluZyAqamF2YXNjcmlwdFN0cmluZyA9IFtOU1N0cmluZyBzdHJpbmdXaXRoVVRGOFN0 cmluZzpzY3JpcHRdOwogICBYd1dlYlZpZXcgKnh3V2ViVmlldyA9IChYd1dlYlZpZXcgKikgeHct Pnh3V2lkZ2V0OworICBpZiAoW3h3V2ViVmlldy51cmxTY3JpcHRCbG9ja2VkW3h3V2ViVmlldy5V UkxdIGJvb2xWYWx1ZV0pCisgICAgeworICAgICAgbWVzc2FnZSAoIkphdmFzY3JpcHQgaXMgYmxv Y2tlZCBieSAnQ1NQOiBzYW5kYm94Jy4iKTsKKyAgICAgIHJldHVybjsKKyAgICB9CiAKKyAgTlNT dHJpbmcgKmphdmFzY3JpcHRTdHJpbmcgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aFVURjhTdHJpbmc6 c2NyaXB0XTsKICAgW3h3V2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6amF2YXNjcmlwdFN0cmlu ZwogICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcjpeKGlkIHJlc3VsdCwgTlNFcnJvciAq ZXJyb3IpIHsKICAgICAgIGlmIChlcnJvcikKQEAgLTQwMCw2ICs0NzIsNyBAQCAtIChCT09MKWlz RmxpcHBlZCB7IHJldHVybiBZRVM7IH0KICAgICAgICAgIGtpbGxlZC4gIEkgY291bGQgbm90IGZp bmQgb3RoZXIgc29sdXRpb24uICAqLwogICAgICAgbnN4d2lkZ2V0X3dlYmtpdF9nb3RvX3VyaSAo eHcsICJhYm91dDpibGFuayIpOwogCisgICAgICBbKChYd1dlYlZpZXcgKikgeHctPnh3V2lkZ2V0 KS51cmxTY3JpcHRCbG9ja2VkIHJlbGVhc2VdOwogICAgICAgW3h3LT54d1dpZGdldCByZW1vdmVG cm9tU3VwZXJ2aWV3V2l0aG91dE5lZWRpbmdEaXNwbGF5XTsKICAgICAgIFt4dy0+eHdXaWRnZXQg cmVsZWFzZV07CiAgICAgICBbeHctPnh3V2luZG93IHJlbW92ZUZyb21TdXBlcnZpZXdXaXRob3V0 TmVlZGluZ0Rpc3BsYXldOwpkaWZmIC0tZ2l0IGEvc3JjL3h3aWRnZXQuYyBiL3NyYy94d2lkZ2V0 LmMKaW5kZXggMTdlMWU2NDI4YS4uZjMzM2IyMjg3YyAxMDA2NDQKLS0tIGEvc3JjL3h3aWRnZXQu YworKysgYi9zcmMveHdpZGdldC5jCkBAIC03NTMsNiArNzUzLDM2IEBAIHh3aWRnZXRfaXNfd2Vi X3ZpZXcgKHN0cnVjdCB4d2lkZ2V0ICp4dykKICAgICAgIHJldHVybiBRbmlsOwkJCQkJCQlcCiAg ICAgfQogCitERUZVTiAoInh3aWRnZXQtd2Via2l0LXVyaSIsCisgICAgICAgRnh3aWRnZXRfd2Vi a2l0X3VyaSwgU3h3aWRnZXRfd2Via2l0X3VyaSwKKyAgICAgICAxLCAxLCAwLAorICAgICAgIGRv YzogLyogR2V0IHRoZSBjdXJyZW50IFVSTCBvZiBYV0lER0VUIHdlYmtpdC4gICovKQorICAoTGlz cF9PYmplY3QgeHdpZGdldCkKK3sKKyAgV0VCS0lUX0ZOX0lOSVQgKCk7CisjaWYgZGVmaW5lZCAo VVNFX0dUSykKKyAgV2ViS2l0V2ViVmlldyAqd2t3diA9IFdFQktJVF9XRUJfVklFVyAoeHctPndp ZGdldF9vc3IpOworICByZXR1cm4gYnVpbGRfc3RyaW5nICh3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Vy aSAod2t3dikpOworI2VsaWYgZGVmaW5lZCAoTlNfSU1QTF9DT0NPQSkKKyAgcmV0dXJuIG5zeHdp ZGdldF93ZWJraXRfdXJpICh4dyk7CisjZW5kaWYKK30KKworREVGVU4gKCJ4d2lkZ2V0LXdlYmtp dC10aXRsZSIsCisgICAgICAgRnh3aWRnZXRfd2Via2l0X3RpdGxlLCBTeHdpZGdldF93ZWJraXRf dGl0bGUsCisgICAgICAgMSwgMSwgMCwKKyAgICAgICBkb2M6IC8qIEdldCB0aGUgY3VycmVudCB0 aXRsZSBvZiBYV0lER0VUIHdlYmtpdC4gICovKQorICAoTGlzcF9PYmplY3QgeHdpZGdldCkKK3sK KyAgV0VCS0lUX0ZOX0lOSVQgKCk7CisjaWYgZGVmaW5lZCAoVVNFX0dUSykKKyAgV2ViS2l0V2Vi VmlldyAqd2t3diA9IFdFQktJVF9XRUJfVklFVyAoeHctPndpZGdldF9vc3IpOworICByZXR1cm4g YnVpbGRfc3RyaW5nICh3ZWJraXRfd2ViX3ZpZXdfZ2V0X3RpdGxlICh3a3d2KSk7CisjZWxpZiBk ZWZpbmVkIChOU19JTVBMX0NPQ09BKQorICByZXR1cm4gbnN4d2lkZ2V0X3dlYmtpdF90aXRsZSAo eHcpOworI2VuZGlmCit9CisKIERFRlVOICgieHdpZGdldC13ZWJraXQtZ290by11cmkiLAogICAg ICAgIEZ4d2lkZ2V0X3dlYmtpdF9nb3RvX3VyaSwgU3h3aWRnZXRfd2Via2l0X2dvdG9fdXJpLAog ICAgICAgIDIsIDIsIDAsCkBAIC03NjksNiArNzk5LDI3IEBAIERFRlVOICgieHdpZGdldC13ZWJr aXQtZ290by11cmkiLAogICByZXR1cm4gUW5pbDsKIH0KIAorREVGVU4gKCJ4d2lkZ2V0LXdlYmtp dC1nb3RvLWhpc3RvcnkiLAorICAgICAgIEZ4d2lkZ2V0X3dlYmtpdF9nb3RvX2hpc3RvcnksIFN4 d2lkZ2V0X3dlYmtpdF9nb3RvX2hpc3RvcnksCisgICAgICAgMiwgMiwgMCwKKyAgICAgICBkb2M6 IC8qIE1ha2UgdGhlIFhXSURHRVQgd2Via2l0IGxvYWQgUkVMLVBPUyAoLTEsIDAsIDEpIHBhZ2Ug aW4gYnJvd3NlIGhpc3RvcnkuICAqLykKKyAgKExpc3BfT2JqZWN0IHh3aWRnZXQsIExpc3BfT2Jq ZWN0IHJlbF9wb3MpCit7CisgIFdFQktJVF9GTl9JTklUICgpOworICBDSEVDS19SQU5HRURfSU5U RUdFUiAocmVsX3BvcywgLTEsIDEpOyAvKiAtMSwgMCwgMSAqLworI2lmIGRlZmluZWQgKFVTRV9H VEspCisgIFdlYktpdFdlYlZpZXcgKndrd3YgPSBXRUJLSVRfV0VCX1ZJRVcgKHh3LT53aWRnZXRf b3NyKTsKKyAgc3dpdGNoIChYRkFTVElOVCAocmVsX3BvcykpIHsKKyAgY2FzZSAtMTogd2Via2l0 X3dlYl92aWV3X2dvX2JhY2sgKHdrd3YpOyBicmVhazsKKyAgY2FzZSAwOiB3ZWJraXRfd2ViX3Zp ZXdfZ29fcmVsb2FkICh3a3d2KTsgYnJlYWs7CisgIGNhc2UgMTogd2Via2l0X3dlYl92aWV3X2Zv cndhcmQgKHdrd3YpOyBicmVhazsKKyAgfQorI2VsaWYgZGVmaW5lZCAoTlNfSU1QTF9DT0NPQSkK KyAgbnN4d2lkZ2V0X3dlYmtpdF9nb3RvX2hpc3RvcnkgKHh3LCBYRkFTVElOVCAocmVsX3Bvcykp OworI2VuZGlmCisgIHJldHVybiBRbmlsOworfQorCiBERUZVTiAoInh3aWRnZXQtd2Via2l0LXpv b20iLAogICAgICAgIEZ4d2lkZ2V0X3dlYmtpdF96b29tLCBTeHdpZGdldF93ZWJraXRfem9vbSwK ICAgICAgICAyLCAyLCAwLApAQCAtMTA5Miw3ICsxMTQzLDEwIEBAIHN5bXNfb2ZfeHdpZGdldCAo dm9pZCkKICAgZGVmc3ViciAoJlN4d2lkZ2V0X3F1ZXJ5X29uX2V4aXRfZmxhZyk7CiAgIGRlZnN1 YnIgKCZTc2V0X3h3aWRnZXRfcXVlcnlfb25fZXhpdF9mbGFnKTsKIAorICBkZWZzdWJyICgmU3h3 aWRnZXRfd2Via2l0X3VyaSk7CisgIGRlZnN1YnIgKCZTeHdpZGdldF93ZWJraXRfdGl0bGUpOwog ICBkZWZzdWJyICgmU3h3aWRnZXRfd2Via2l0X2dvdG9fdXJpKTsKKyAgZGVmc3ViciAoJlN4d2lk Z2V0X3dlYmtpdF9nb3RvX2hpc3RvcnkpOwogICBkZWZzdWJyICgmU3h3aWRnZXRfd2Via2l0X3pv b20pOwogICBkZWZzdWJyICgmU3h3aWRnZXRfd2Via2l0X2V4ZWN1dGVfc2NyaXB0KTsKICAgREVG U1lNIChRd2Via2l0LCAid2Via2l0Iik7Ci0tIAoyLjE1LjAKCg== --f403043a0bbc5bce190560370c26-- From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 13 11:13:57 2017 Received: (at 29565) by debbugs.gnu.org; 13 Dec 2017 16:13:57 +0000 Received: from localhost ([127.0.0.1]:60657 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eP9fR-0005Gs-7w for submit@debbugs.gnu.org; Wed, 13 Dec 2017 11:13:57 -0500 Received: from mail-wm0-f44.google.com ([74.125.82.44]:46660) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eP9fO-0005Gc-Pl for 29565@debbugs.gnu.org; Wed, 13 Dec 2017 11:13:55 -0500 Received: by mail-wm0-f44.google.com with SMTP id r78so6090644wme.5 for <29565@debbugs.gnu.org>; Wed, 13 Dec 2017 08:13:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=VWv1UeCefIyln2uKjCuwvEG9LFrr0ILo3uKU0BKXJbc=; b=qSDQcRVjOYs8jhTydrwECB0U0fH1iGNbPiUY++EcR12w9eynIopfZP1YmAhg4x9ZgX 7jQTc/zHXN1PZgV7zZ61OLfixXctdjQA8B8DTFcG13MS37p9LBo9eJnLKDrK3WQJ19cm Ilwy0pofPIuhIOOUG5DngD8cFr6uoPBAeso1AXreeFxaDSVj+U/uyMMPRXZNbi8ky0o2 D5ql886eb0agCOo1I8XzXCjYDW+qbTyznSji7/sokp3dg9aeYFm//tuKm1zC3Rwvxmj9 37Rt6T4o9TWJ5uzQeOovY59PvHx59/TCR7sQ/4X+o6FHouUzLkOz20ypsiAbZ1PgphYV IIHA== 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; bh=VWv1UeCefIyln2uKjCuwvEG9LFrr0ILo3uKU0BKXJbc=; b=bsjz6/l3rcrd3B4tK8phmD9CF5R0tTkP2D9OJXhXvyHTZjzsCl/E0R5wOXhPgpI05h AKNc7D+CHdBuN4zpe2dOoViilBBxFx8+O866vmCsku/uMWojWcLE8k/frEvSUAoNzBbk 3d1jDwyp79ZKi9L9y3fJVarN/hYq/YlnK/d2LBwVFvWlIIU3nPDFjbCqpPNIlD58gcNA SDUkBB/iKTjqpTqiurVfSXiVo3ol6KtaeNHkOsFOPgY59Qfyc9v52ni9kI5+0ywEEf5V m1ywcUjYi+OQZctBWAzOcPERi7nKd4cgXjL8pKSMVcmBBN1bIWFaErxrIBi743bwVoPY 4KbQ== X-Gm-Message-State: AKGB3mK8kBu6lZHxrot7laLI8VEe899eL/0KTNU84McuVMbiUp6+d7Sz r+6mRc8DEeDVU450y4lhngF6BEV+D6N5y384bLA= X-Google-Smtp-Source: ACJfBovwATG+CmYCJ/GzNEUdFvn9AJwv4CI3wWhtuQzb+zVLSYwVbGaoXm/HSB75LRhDn4jSoY5mercdwM0dMWLSxXI= X-Received: by 10.28.156.208 with SMTP id f199mr2635504wme.27.1513181629024; Wed, 13 Dec 2017 08:13:49 -0800 (PST) MIME-Version: 1.0 Received: by 10.28.227.67 with HTTP; Wed, 13 Dec 2017 08:13:08 -0800 (PST) From: Jaesup Kwak Date: Thu, 14 Dec 2017 01:13:08 +0900 Message-ID: Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X To: 29565@debbugs.gnu.org Content-Type: multipart/mixed; boundary="001a114b7de87acbd105603b0d85" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29565 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --001a114b7de87acbd105603b0d85 Content-Type: multipart/alternative; boundary="001a114b7de87acbcc05603b0d83" --001a114b7de87acbcc05603b0d83 Content-Type: text/plain; charset="UTF-8" Fix "callback called for xwidget with dead buffer" symptom (observed in *xwidget-log*), the bug was introduced in previous patch '0001-Stop-audio-when-xwidget-webkit-killed-Bug-29565.patch'. --001a114b7de87acbcc05603b0d83 Content-Type: text/html; charset="UTF-8"
Fix "callback called for xwidget with dead buffer" symptom (observed in *xwidget-log*), the bug was introduced in previous patch '0001-Stop-audio-when-xwidget-webkit-killed-Bug-29565.patch'.

--001a114b7de87acbcc05603b0d83-- --001a114b7de87acbd105603b0d85 Content-Type: application/octet-stream; name="0001-Fix-event-for-dead-xwidget-buffer-Bug-29565.patch" Content-Disposition: attachment; filename="0001-Fix-event-for-dead-xwidget-buffer-Bug-29565.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jb58zcui0 RnJvbSA1Y2I5OTI5N2U5ZDVhNTY2Yjg4ODA2N2JhMTA4ZGI1NTgxMTIwNDcxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWVzdXAgS3dhayA8dmVzaGJvb0BnbWFpbC5jb20+CkRhdGU6 IFRodSwgMTQgRGVjIDIwMTcgMDA6MTM6MTcgKzA5MDAKU3ViamVjdDogW1BBVENIXSBGaXggZXZl bnQgZm9yIGRlYWQgeHdpZGdldCBidWZmZXIgKEJ1ZyMyOTU2NSkKCkZpeCB0aGUgYnVnIGludHJv ZHVjZWQgaW4gJ1N0b3AgYXVkaW8gd2hlbiB4d2lkZ2V0LXdlYmtpdCBraWxsZWQnLgoKKiBzcmMv bnN4d2lkZ2V0Lm0gKFh3V2ViVmlldzo6ZGlkRmluaXNoTmF2aWdhdGlvbikKLS0tCiBzcmMvbnN4 d2lkZ2V0Lm0gfCAzICsrLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxl dGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyYy9uc3h3aWRnZXQubSBiL3NyYy9uc3h3aWRnZXQubQpp bmRleCA2NWNhODNkYTczLi43ODk1YzhiZWQ2IDEwMDY0NAotLS0gYS9zcmMvbnN4d2lkZ2V0Lm0K KysrIGIvc3JjL25zeHdpZGdldC5tCkBAIC0xMTIsNyArMTEyLDggQEAgLSAodm9pZClkZWFsbG9j CiAtICh2b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcKIGRpZEZpbmlzaE5hdmlnYXRp b246KFdLTmF2aWdhdGlvbiAqKW5hdmlnYXRpb24KIHsKLSAgc3RvcmVfeHdpZGdldF9ldmVudF9z dHJpbmcgKHNlbGYueHcsICJsb2FkLWNoYW5nZWQiLCAiIik7CisgIGlmIChFUSAoRmJ1ZmZlcl9s aXZlX3AgKHNlbGYueHctPmJ1ZmZlciksIFF0KSkKKyAgICBzdG9yZV94d2lkZ2V0X2V2ZW50X3N0 cmluZyAoc2VsZi54dywgImxvYWQtY2hhbmdlZCIsICIiKTsKIH0KIAogLSAodm9pZCl3ZWJWaWV3 OihXS1dlYlZpZXcgKil3ZWJWaWV3Ci0tIAoyLjE1LjAKCg== --001a114b7de87acbd105603b0d85-- From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 14 21:02:15 2017 Received: (at 29565) by debbugs.gnu.org; 15 Dec 2017 02:02:15 +0000 Received: from localhost ([127.0.0.1]:34358 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ePfKJ-0003Jz-53 for submit@debbugs.gnu.org; Thu, 14 Dec 2017 21:02:15 -0500 Received: from mail-wm0-f49.google.com ([74.125.82.49]:37604) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ePfKH-0003Je-Vx for 29565@debbugs.gnu.org; Thu, 14 Dec 2017 21:02:14 -0500 Received: by mail-wm0-f49.google.com with SMTP id f140so14793403wmd.2 for <29565@debbugs.gnu.org>; Thu, 14 Dec 2017 18:02:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=Ii/agG9thM79+p8eX2B8jgKAajFnXbfDhHmXNxhArSs=; b=U7o8M4N+9th1M0USwyCu0GME+kbiSEYEfXslCA/5ZsEGWN/F5z+N2fxY1oJSvZuQTB mlOqJYWXHrGTJW6WHoTc0DQWKrLDLdJGAZUVrPW/SeCy/Jkwudd9gNynBNoxw/kYuZrk 53ybswajuvhNIv0diSvO1nQkofryMVjfZvERtLuG0PYIeVrg5M+mB491N1JGVVozY4nm wQa4iVM1180LMJvKdvp54Ta83oVObjmati7nb1AocqxYdNYvKqVPKeVCl3fT3/7Lm8Mf JFIsVmB0sE7kS28C05DdQsqmURG59TDV11thdG2960efMukDrYlJNwFT+AyPf8sVQBuE aQ5A== 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; bh=Ii/agG9thM79+p8eX2B8jgKAajFnXbfDhHmXNxhArSs=; b=JyL7UNZNBeKqNyaD+o4NwA4in4CwUz6kjmVQ6RAcZ2/0qhPg4dV2qZm5Zip1Ym7rUU J9lwETyu7BVQB2AjILjGdsHWkImPFAZUDIJ3LH3GCrSifPXU/+A/uodH23zcOABxvS5N y3LRQvreHGW3kzxK4J/y7uznOnhJf+46f0mMqnMR0HOHe4sunSFnWnNqM4TMdQIB9s+/ 2lCyRpZyZ2WgqudMk4NPxWxy/k7+7h4TeIcC8yRu3veC5/gTFpdQ0s3fMiyVLPPpNzcF JD5kg1bwIG1Lhy20fFGdnDopED6YIKfjlW8KxXhlYyJ1ySYb6HU9xH4oDWYy1gtqiN7P 14tw== X-Gm-Message-State: AKGB3mI2SlYYql3DgOMlF/zSe9/E5T7+cHb04o00QVvnHf2smhC2RmAp +yuGj/3YeEXlYw5PAyC/k6voIhdh7A+l4b9nVOmY2g== X-Google-Smtp-Source: ACJfBosQV6fQx0p4mNRzniKJeig3xnj8kopyy7lnBgf7FYXR8D+nHio5371RfOwYtx2tdMos8ETarKzmf63K4ipMAYI= X-Received: by 10.28.50.197 with SMTP id y188mr3598300wmy.159.1513303327968; Thu, 14 Dec 2017 18:02:07 -0800 (PST) MIME-Version: 1.0 Received: by 10.28.227.67 with HTTP; Thu, 14 Dec 2017 18:01:27 -0800 (PST) From: Jaesup Kwak Date: Fri, 15 Dec 2017 11:01:27 +0900 Message-ID: Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X To: 29565@debbugs.gnu.org Content-Type: multipart/mixed; boundary="001a1140df564d341f0560576368" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29565 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --001a1140df564d341f0560576368 Content-Type: multipart/alternative; boundary="001a1140df564d341b0560576366" --001a1140df564d341b0560576366 Content-Type: text/plain; charset="UTF-8" Enhance xwidget webkit scroll (Bug#29565) Add key map 'S-SPC' for scroll down page. Correct remappings for scroll by page and by line. Add 'xwidget-webkit-scroll-line-height' variable. Fix scroll to bottom function. Thank you. --001a1140df564d341b0560576366 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Enhance xwidget webkit scroll (Bug#29565)
<= br>
Add key map 'S-SPC' for scroll down page.
C= orrect remappings for scroll by page and by line.
Add 'xwidge= t-webkit-scroll-line-height' variable.
Fix scroll to bottom f= unction.

Thank you.
--001a1140df564d341b0560576366-- --001a1140df564d341f0560576368 Content-Type: application/octet-stream; name="0001-Enhance-xwidget-webkit-scroll-Bug-29565.patch" Content-Disposition: attachment; filename="0001-Enhance-xwidget-webkit-scroll-Bug-29565.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jb79p6vq0 RnJvbSAzNmNiNzgyY2IyMDNjMGY5YmRkZmE1YTRlMTM4YmJmZTFhYWJmODM0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWVzdXAgS3dhayA8dmVzaGJvb0BnbWFpbC5jb20+CkRhdGU6 IEZyaSwgMTUgRGVjIDIwMTcgMTA6MDU6MjcgKzA5MDAKU3ViamVjdDogW1BBVENIXSBFbmhhbmNl IHh3aWRnZXQgd2Via2l0IHNjcm9sbCAoQnVnIzI5NTY1KQoKQWRkIGtleSBtYXAgJ1MtU1BDJyBm b3Igc2Nyb2xsIGRvd24gcGFnZS4KQ29ycmVjdCByZW1hcHBpbmdzIGZvciBzY3JvbGwgYnkgcGFn ZSBhbmQgYnkgbGluZS4KQWRkICd4d2lkZ2V0LXdlYmtpdC1zY3JvbGwtbGluZS1oZWlnaHQnIHZh cmlhYmxlLgpGaXggc2Nyb2xsIHRvIGJvdHRvbSBmdW5jdGlvbi4KCiogbGlzcC94d2lkZ2V0LmVs Cih4d2lkZ2V0LXdlYmtpdC1tb2RlLW1hcCk6IFdlbGwgc3VpdGVkIHNjcm9sbCBrZXkgbWFwcGlu Z3MuCih4d2lkZ2V0LXdlYmtpdC1zY3JvbGwtdXAsIHh3aWRnZXQtd2Via2l0LXNjcm9sbC1kb3du KTogQWRkIG9wdGlvbmFsCmFyZ3VtZW50LCBzY3JvbGwgYnkgYSBzY3JlZW4gcGFnZSBieSBkZWZh dWx0LgooeHdpZGdldC13ZWJraXQtc2Nyb2xsLWxpbmUtaGVpZ2h0KTogQWRkIHZhcmlhYmxlLgoo eHdpZGdldC13ZWJraXQtc2Nyb2xsLXVwLWxpbmUsIHh3aWRnZXQtd2Via2l0LXNjcm9sbC1kb3du LWxpbmUpOiBOZXcKZnVuY3Rpb25zIHRvIHNjcm9sbCBieSBsaW5lcy4KKHh3aWRnZXQtd2Via2l0 LXNjcm9sbC1ib3R0b20pOiBGaXggdG8gc2Nyb2xsIHRvIGJvdHRvbSBvZiB0aGUKZG9jdW1lbnQu Ci0tLQogbGlzcC94d2lkZ2V0LmVsIHwgNTUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKystLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQxIGluc2VydGlvbnMo KyksIDE0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpc3AveHdpZGdldC5lbCBiL2xpc3Av eHdpZGdldC5lbAppbmRleCBlNWIzZmIyYWQ5Li4zODZiMmQ4NGVlIDEwMDY0NAotLS0gYS9saXNw L3h3aWRnZXQuZWwKKysrIGIvbGlzcC94d2lkZ2V0LmVsCkBAIC0xMzUsMjAgKzEzNSwyMSBAQCB4 d2lkZ2V0LXdlYmtpdC1tb2RlLW1hcAogCiAgICAgOztzaW1pbGFyIHRvIGltYWdlIG1vZGUgYmlu ZGluZ3MKICAgICAoZGVmaW5lLWtleSBtYXAgKGtiZCAiU1BDIikgICAgICAgICAgICAgICAgICd4 d2lkZ2V0LXdlYmtpdC1zY3JvbGwtdXApCisgICAgKGRlZmluZS1rZXkgbWFwIChrYmQgIlMtU1BD IikgICAgICAgICAgICAgICAneHdpZGdldC13ZWJraXQtc2Nyb2xsLWRvd24pCiAgICAgKGRlZmlu ZS1rZXkgbWFwIChrYmQgIkRFTCIpICAgICAgICAgICAgICAgICAneHdpZGdldC13ZWJraXQtc2Ny b2xsLWRvd24pCiAKLSAgICAoZGVmaW5lLWtleSBtYXAgW3JlbWFwIHNjcm9sbC11cF0gICAgICAg ICAgICd4d2lkZ2V0LXdlYmtpdC1zY3JvbGwtdXApCisgICAgKGRlZmluZS1rZXkgbWFwIFtyZW1h cCBzY3JvbGwtdXBdICAgICAgICAgICAneHdpZGdldC13ZWJraXQtc2Nyb2xsLXVwLWxpbmUpCiAg ICAgKGRlZmluZS1rZXkgbWFwIFtyZW1hcCBzY3JvbGwtdXAtY29tbWFuZF0gICAneHdpZGdldC13 ZWJraXQtc2Nyb2xsLXVwKQogCi0gICAgKGRlZmluZS1rZXkgbWFwIFtyZW1hcCBzY3JvbGwtZG93 bl0gICAgICAgICAneHdpZGdldC13ZWJraXQtc2Nyb2xsLWRvd24pCisgICAgKGRlZmluZS1rZXkg bWFwIFtyZW1hcCBzY3JvbGwtZG93bl0gICAgICAgICAneHdpZGdldC13ZWJraXQtc2Nyb2xsLWRv d24tbGluZSkKICAgICAoZGVmaW5lLWtleSBtYXAgW3JlbWFwIHNjcm9sbC1kb3duLWNvbW1hbmRd ICd4d2lkZ2V0LXdlYmtpdC1zY3JvbGwtZG93bikKIAogICAgIChkZWZpbmUta2V5IG1hcCBbcmVt YXAgZm9yd2FyZC1jaGFyXSAgICAgICAgJ3h3aWRnZXQtd2Via2l0LXNjcm9sbC1mb3J3YXJkKQog ICAgIChkZWZpbmUta2V5IG1hcCBbcmVtYXAgYmFja3dhcmQtY2hhcl0gICAgICAgJ3h3aWRnZXQt d2Via2l0LXNjcm9sbC1iYWNrd2FyZCkKICAgICAoZGVmaW5lLWtleSBtYXAgW3JlbWFwIHJpZ2h0 LWNoYXJdICAgICAgICAgICd4d2lkZ2V0LXdlYmtpdC1zY3JvbGwtZm9yd2FyZCkKICAgICAoZGVm aW5lLWtleSBtYXAgW3JlbWFwIGxlZnQtY2hhcl0gICAgICAgICAgICd4d2lkZ2V0LXdlYmtpdC1z Y3JvbGwtYmFja3dhcmQpCi0gICAgKGRlZmluZS1rZXkgbWFwIFtyZW1hcCBwcmV2aW91cy1saW5l XSAgICAgICAneHdpZGdldC13ZWJraXQtc2Nyb2xsLWRvd24pCi0gICAgKGRlZmluZS1rZXkgbWFw IFtyZW1hcCBuZXh0LWxpbmVdICAgICAgICAgICAneHdpZGdldC13ZWJraXQtc2Nyb2xsLXVwKQor ICAgIChkZWZpbmUta2V5IG1hcCBbcmVtYXAgcHJldmlvdXMtbGluZV0gICAgICAgJ3h3aWRnZXQt d2Via2l0LXNjcm9sbC1kb3duLWxpbmUpCisgICAgKGRlZmluZS1rZXkgbWFwIFtyZW1hcCBuZXh0 LWxpbmVdICAgICAgICAgICAneHdpZGdldC13ZWJraXQtc2Nyb2xsLXVwLWxpbmUpCiAKICAgICA7 OyAoZGVmaW5lLWtleSBtYXAgW3JlbWFwIG1vdmUtYmVnaW5uaW5nLW9mLWxpbmVdICdpbWFnZS1i b2wpCiAgICAgOzsgKGRlZmluZS1rZXkgbWFwIFtyZW1hcCBtb3ZlLWVuZC1vZi1saW5lXSAgICAg ICAnaW1hZ2UtZW9sKQpAQCAtMTczLDE5ICsxNzQsNDUgQEAgeHdpZGdldC13ZWJraXQtem9vbS1v dXQKICAgKGludGVyYWN0aXZlKQogICAoeHdpZGdldC13ZWJraXQtem9vbSAoeHdpZGdldC13ZWJr aXQtY3VycmVudC1zZXNzaW9uKSAtMC4xKSkKIAotKGRlZnVuIHh3aWRnZXQtd2Via2l0LXNjcm9s bC11cCAoKQotICAiU2Nyb2xsIHdlYmtpdCB1cC4iCi0gIChpbnRlcmFjdGl2ZSkKKyhkZWZ1biB4 d2lkZ2V0LXdlYmtpdC1zY3JvbGwtdXAgKCZvcHRpb25hbCBuKQorICAiU2Nyb2xsIHdlYmtpdCB1 cCBieSBOIHBpeGVscyBvciB3aW5kb3cgaGVpZ2h0IHBpeGVscy4KK1N0b3AgaWYgdGhlIGJvdHRv bSBlZGdlIG9mIHRoZSBwYWdlIGlzIHJlYWNoZWQuCitJZiBOIGlzIG9taXR0ZWQgb3IgbmlsLCBz Y3JvbGwgdXAgYnkgd2luZG93IGhlaWdodCBwaXhlbHMuIgorICAoaW50ZXJhY3RpdmUgIlAiKQor ICAobWVzc2FnZSAic2Nyb2xsLXVwIG49JVMiIG4pCiAgICh4d2lkZ2V0LXdlYmtpdC1leGVjdXRl LXNjcmlwdAogICAgKHh3aWRnZXQtd2Via2l0LWN1cnJlbnQtc2Vzc2lvbikKLSAgICJ3aW5kb3cu c2Nyb2xsQnkoMCwgNTApOyIpKQotCi0oZGVmdW4geHdpZGdldC13ZWJraXQtc2Nyb2xsLWRvd24g KCkKLSAgIlNjcm9sbCB3ZWJraXQgZG93bi4iCi0gIChpbnRlcmFjdGl2ZSkKKyAgIChjb25kICgo bnVsbCBuKSAid2luZG93LnNjcm9sbEJ5KDAsIHdpbmRvdy5kb2N1bWVudC5ib2R5LmNsaWVudEhl aWdodCk7IikKKyAgICAgICAgICh0IChmb3JtYXQgIndpbmRvdy5zY3JvbGxCeSgwLCAlZCk7IiBu KSkpKSkKKworKGRlZnVuIHh3aWRnZXQtd2Via2l0LXNjcm9sbC1kb3duICgmb3B0aW9uYWwgbikK KyAgIlNjcm9sbCB3ZWJraXQgZG93biBieSBOIHBpeGVscyBvciB3aW5kb3cgaGVpZ2h0IHBpeGVs cy4KK1N0b3AgaWYgdGhlIHRvcCBlZGdlIG9mIHRoZSBwYWdlIGlzIHJlYWNoZWQuCitJZiBOIGlz IG9taXR0ZWQgb3IgbmlsLCBzY3JvbGwgZG93biBieSB3aW5kb3cgaGVpZ2h0IHBpeGVscy4iCisg IChpbnRlcmFjdGl2ZSAiUCIpCiAgICh4d2lkZ2V0LXdlYmtpdC1leGVjdXRlLXNjcmlwdAogICAg KHh3aWRnZXQtd2Via2l0LWN1cnJlbnQtc2Vzc2lvbikKLSAgICJ3aW5kb3cuc2Nyb2xsQnkoMCwg LTUwKTsiKSkKKyAgIChjb25kICgobnVsbCBuKSAid2luZG93LnNjcm9sbEJ5KDAsIC13aW5kb3cu ZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQpOyIpCisgICAgICAgICAodCAoZm9ybWF0ICJ3aW5k b3cuc2Nyb2xsQnkoMCwgJWQpOyIgKC0gbikpKSkpKQorCisoZGVmdmFyIHh3aWRnZXQtd2Via2l0 LXNjcm9sbC1saW5lLWhlaWdodCA1MAorICAiRGVmYXVsdCBsaW5lIGhlaWdodCBpbiBwaXhlbHMg Zm9yIHNjcm9sbCB4d2lkZ2V0IHdlYmtpdC4iKQorCisoZGVmdW4geHdpZGdldC13ZWJraXQtc2Ny b2xsLXVwLWxpbmUgKCZvcHRpb25hbCBuKQorICAiU2Nyb2xsIHdlYmtpdCB1cCBieSBOIGxpbmVz LgorVGhlIGhlaWdodCBvZiBsaW5lIGlzIGB4d2lkZ2V0LXdlYmtpdC1zY3JvbGwtbGluZS1oZWln aHQnIHBpeGVscy4KK1N0b3AgaWYgdGhlIGJvdHRvbSBlZGdlIG9mIHRoZSBwYWdlIGlzIHJlYWNo ZWQuCitJZiBOIGlzIG9taXR0ZWQgb3IgbmlsLCBzY3JvbGwgdXAgYnkgb25lIGxpbmUuIgorICAo aW50ZXJhY3RpdmUgInAiKQorICAoeHdpZGdldC13ZWJraXQtc2Nyb2xsLXVwICgqIG4geHdpZGdl dC13ZWJraXQtc2Nyb2xsLWxpbmUtaGVpZ2h0KSkpCisKKyhkZWZ1biB4d2lkZ2V0LXdlYmtpdC1z Y3JvbGwtZG93bi1saW5lICgmb3B0aW9uYWwgbikKKyAgIlNjcm9sbCB3ZWJraXQgZG93biBieSBO IGxpbmVzLgorVGhlIGhlaWdodCBvZiBsaW5lIGlzIGB4d2lkZ2V0LXdlYmtpdC1zY3JvbGwtbGlu ZS1oZWlnaHQnIHBpeGVscy4KK1N0b3AgaWYgdGhlIHRvcCBlZGdlIG9mIHRoZSBwYWdlIGlzIHJl YWNoZWQuCitJZiBOIGlzIG9taXR0ZWQgb3IgbmlsLCBzY3JvbGwgZG93biBieSBvbmUgbGluZS4i CisgIChpbnRlcmFjdGl2ZSAicCIpCisgICh4d2lkZ2V0LXdlYmtpdC1zY3JvbGwtZG93biAoKiBu IHh3aWRnZXQtd2Via2l0LXNjcm9sbC1saW5lLWhlaWdodCkpKQogCiAoZGVmdW4geHdpZGdldC13 ZWJraXQtc2Nyb2xsLWZvcndhcmQgKCkKICAgIlNjcm9sbCB3ZWJraXQgZm9yd2FyZHMuIgpAQCAt MjEzLDcgKzI0MCw3IEBAIHh3aWRnZXQtd2Via2l0LXNjcm9sbC1ib3R0b20KICAgKGludGVyYWN0 aXZlKQogICAoeHdpZGdldC13ZWJraXQtZXhlY3V0ZS1zY3JpcHQKICAgICh4d2lkZ2V0LXdlYmtp dC1jdXJyZW50LXNlc3Npb24pCi0gICAid2luZG93LnNjcm9sbFRvKHBhZ2VYT2Zmc2V0LCB3aW5k b3cuZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQpOyIpKQorICAgIndpbmRvdy5zY3JvbGxUbyhw YWdlWE9mZnNldCwgd2luZG93LmRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0KTsiKSkKIAogOzsg VGhlIHh3aWRnZXQgZXZlbnQgbmVlZHMgdG8gZ28gaW50byBhIGhpZ2hlciBsZXZlbCBoYW5kbGVy CiA7OyBzaW5jZSB0aGUgeHdpZGdldCBjYW4gZ2VuZXJhdGUgYW4gZXZlbnQgZXZlbiBpZiBpdCdz IG9mZnNjcmVlbi4KLS0gCjIuMTUuMAoK --001a1140df564d341f0560576368-- From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 14 21:28:05 2017 Received: (at 29565) by debbugs.gnu.org; 15 Dec 2017 02:28:05 +0000 Received: from localhost ([127.0.0.1]:34379 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ePfjH-0005q3-QS for submit@debbugs.gnu.org; Thu, 14 Dec 2017 21:28:05 -0500 Received: from mail-wr0-f174.google.com ([209.85.128.174]:44792) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ePfjF-0005pY-Nd for 29565@debbugs.gnu.org; Thu, 14 Dec 2017 21:28:02 -0500 Received: by mail-wr0-f174.google.com with SMTP id l11so723739wrc.11 for <29565@debbugs.gnu.org>; Thu, 14 Dec 2017 18:28:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=wvWrX5/WkiBHu8HEK7CI90sBv1riaQVqcC4nb4Vt+HQ=; b=nvI7JXjE7JwvrE30jVHJrg4au6eKPW+Q3WisicnGJhJsmhTyTA/gRvttwrM9uL4DDP IMSgfKa4PNz+xSjmT5kLsv8PxF28BlbFJ1RbmRO5ZSBA9j9JHXxOBSghXs1quHWkccOC WiBMfaHbraoQJbf7yVgCKr6b7F6K/5E2qziHdB8NivmHGfHvH8vZBxTTH22bcj0zbDe7 l+LD5tpnSTRYsVe+waOX98J39VXJL2TyTGirbLEFwZGb37vZtt6I2tdwS92D0GacFPKw Tq7KIwxTv3iXTzdFQhi17p0eunV28PUVvjf05bG+hew3pAlsfBu4qIIEOY5ySKQQr4na eMyw== 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; bh=wvWrX5/WkiBHu8HEK7CI90sBv1riaQVqcC4nb4Vt+HQ=; b=TJNQOQogG5uxkMBU7ZuKZWpoCYyc4LlcqF8zbX7nwYHIEWw1cOLAewBMjIsxbAC7dB xL36bVZzcCTRnooidryHGm6Crl/3klsOmqsh5SseX+my/s6R/Ffup/x6+biaEEyZdPwR zRTtFMxFOu4qE62VAsaRYOL+VBIT2Mi31TfPqSE0AkaE/UaZGJ1WpLMztNyAt4ZNm//J jfr9L8eU0dMiXFlHl1mP8iIlwiK5yUHNH40HeMxb673pya1ZBSVUKoibzPHxd8Qi9sE2 HtKn8GED1DCez6yNe58U6YVl/M/2IKWQu+yWsnp323ZoZKvMU2qCKB8XJZcxsRN2CGuz xdPQ== X-Gm-Message-State: AKGB3mIv0HW4onkby7xuZJNPs+jbxShHtA/0NZoruJ9uklzDQKBPYtbO k3j0tt1AcQITpQqHPzlRsgZAKY+6rxEPIhIaZCY= X-Google-Smtp-Source: ACJfBouOng0UiSPbE5ngo1hjsecWh9BvUXi3Kirx2mKiko2Hob2xfsiv60gx/4LK/0a5ZzdFH6jnIou8cKxOKDFlAmI= X-Received: by 10.223.184.47 with SMTP id h44mr7322356wrf.11.1513304875898; Thu, 14 Dec 2017 18:27:55 -0800 (PST) MIME-Version: 1.0 Received: by 10.28.227.67 with HTTP; Thu, 14 Dec 2017 18:27:15 -0800 (PST) From: Jaesup Kwak Date: Fri, 15 Dec 2017 11:27:15 +0900 Message-ID: Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X To: 29565@debbugs.gnu.org Content-Type: multipart/mixed; boundary="f403045f535290c22e056057bfde" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29565 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) --f403045f535290c22e056057bfde Content-Type: multipart/alternative; boundary="f403045f535290c22c056057bfdc" --f403045f535290c22c056057bfdc Content-Type: text/plain; charset="UTF-8" Remove a debug message in the previous patch. Thanks. --f403045f535290c22c056057bfdc Content-Type: text/html; charset="UTF-8"
Remove a debug message in the previous patch.

Thanks.
--f403045f535290c22c056057bfdc-- --f403045f535290c22e056057bfde Content-Type: application/octet-stream; name="0001-Remove-a-debug-message.patch" Content-Disposition: attachment; filename="0001-Remove-a-debug-message.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jb7amfdh0 RnJvbSA4ZDZlMWY4YzQ2MmM3MGE5ZDlhMjRhMGUzMGY4MzY3YjhkZDA1NDg2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWVzdXAgS3dhayA8dmVzaGJvb0BnbWFpbC5jb20+CkRhdGU6 IEZyaSwgMTUgRGVjIDIwMTcgMTE6MTg6MTggKzA5MDAKU3ViamVjdDogW1BBVENIXSBSZW1vdmUg YSBkZWJ1ZyBtZXNzYWdlCgoqIGxpc3AveHdpZGdldC5lbCAoeHdpZGdldC13ZWJraXQtc2Nyb2xs LXVwKQotLS0KIGxpc3AveHdpZGdldC5lbCB8IDEgLQogMSBmaWxlIGNoYW5nZWQsIDEgZGVsZXRp b24oLSkKCmRpZmYgLS1naXQgYS9saXNwL3h3aWRnZXQuZWwgYi9saXNwL3h3aWRnZXQuZWwKaW5k ZXggMzg2YjJkODRlZS4uYWNkM2VhMmE1YiAxMDA2NDQKLS0tIGEvbGlzcC94d2lkZ2V0LmVsCisr KyBiL2xpc3AveHdpZGdldC5lbApAQCAtMTc5LDcgKzE3OSw2IEBAIHh3aWRnZXQtd2Via2l0LXNj cm9sbC11cAogU3RvcCBpZiB0aGUgYm90dG9tIGVkZ2Ugb2YgdGhlIHBhZ2UgaXMgcmVhY2hlZC4K IElmIE4gaXMgb21pdHRlZCBvciBuaWwsIHNjcm9sbCB1cCBieSB3aW5kb3cgaGVpZ2h0IHBpeGVs cy4iCiAgIChpbnRlcmFjdGl2ZSAiUCIpCi0gIChtZXNzYWdlICJzY3JvbGwtdXAgbj0lUyIgbikK ICAgKHh3aWRnZXQtd2Via2l0LWV4ZWN1dGUtc2NyaXB0CiAgICAoeHdpZGdldC13ZWJraXQtY3Vy cmVudC1zZXNzaW9uKQogICAgKGNvbmQgKChudWxsIG4pICJ3aW5kb3cuc2Nyb2xsQnkoMCwgd2lu ZG93LmRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0KTsiKQotLSAKMi4xNS4wCgo= --f403045f535290c22e056057bfde-- From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 15 11:07:21 2017 Received: (at 29565) by debbugs.gnu.org; 15 Dec 2017 16:07:21 +0000 Received: from localhost ([127.0.0.1]:35971 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ePsW9-0007yY-B7 for submit@debbugs.gnu.org; Fri, 15 Dec 2017 11:07:21 -0500 Received: from mail-wr0-f170.google.com ([209.85.128.170]:40802) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ePsW7-0007yK-Ja for 29565@debbugs.gnu.org; Fri, 15 Dec 2017 11:07:19 -0500 Received: by mail-wr0-f170.google.com with SMTP id q9so8480622wre.7 for <29565@debbugs.gnu.org>; Fri, 15 Dec 2017 08:07:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=f3gMPwRuINgUCQiojVPfN2yth7wLt9aWZvIIFC7Oqmk=; b=C0WsusC+KYS18pCDTb62LwfqZTAfm0PxjHwY/0iw9R7S3FjUI5VWthGo5ydGdv8JIL Lh9x1rYMQX98M0Y4/UUiwqqQxlE8OYp3DI8lzhzrBoHHPw2GC3CwokwqJLbsUxjOT6SJ /VHrdWF/KLAW7HXETaksvC3+Vu9qVwkBnOHNqiw6oqv21Xl+nXXU04m983Ska+USJSpU 9JExS/K1G7NYTQCVAj6oGRppV63lYivROmOMpeWRSBxkP99TRVbygUW+3uFer/SrzbJ9 Ixtdk+4ytDkYufMsoDI6ayjdvc6g4DajzuoTMODOTOF+RV6Hs9y/2n04qSjZPnCS3EMI YcNg== 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; bh=f3gMPwRuINgUCQiojVPfN2yth7wLt9aWZvIIFC7Oqmk=; b=uGJ1VYwRY5Wg/7Xl+iuIMmvs1/RrO10pZHXxP5CnqyxHuS2j7gTQwh4Ro2VWXOycUa yaneBV5KVF7rsSVtyPBEpgQMv1oU/Z++bD6bPO5/dTwnLzA4+qa9xIpphQaaT+bgDI21 mhSCzEwdsM1PC9uVDbeIAscJwHrE6kz4GdJoqqm3CZLKVRaStb2tt9ryE3v6Hua81Tq4 WErH1qFBsNq9VBdxcxlDI570u2gYN5Nt4XFLmznj5tet0szCjjKagbnkbfhjYcSv924H 4sRSj09CYmWAB6abuLJjzt/4PD65WeT5NR0dHp0bMB7UQIL5mxcTcIPz6PbGMP3JxotF +BIQ== X-Gm-Message-State: AKGB3mKFS5aF/ersBEIMWb/mn0XxcOyLzB3SlSX22bLgzdQMXjsykjz4 sM8vSqKvvsFh1C2TXQcNhI2f8z4ODuB1eRt+jg9OUw== X-Google-Smtp-Source: ACJfBotbjpHWv9/i3XCygmbcNCJzKebieZd48XUCDlKnyHC4DFHTqlnKgZspha6gSdu9RCsLqnNFcrADEQBAiFmN8AI= X-Received: by 10.223.184.47 with SMTP id h44mr9350888wrf.11.1513354033686; Fri, 15 Dec 2017 08:07:13 -0800 (PST) MIME-Version: 1.0 Received: by 10.28.227.67 with HTTP; Fri, 15 Dec 2017 08:06:33 -0800 (PST) From: Jaesup Kwak Date: Sat, 16 Dec 2017 01:06:33 +0900 Message-ID: Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X To: 29565@debbugs.gnu.org Content-Type: multipart/mixed; boundary="f403045f53529963590560633152" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29565 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) --f403045f53529963590560633152 Content-Type: multipart/alternative; boundary="f403045f53529963560560633150" --f403045f53529963560560633150 Content-Type: text/plain; charset="UTF-8" Page up/down by emacs window height (Bug#29565) 'xwidget-window-inside-pixel-height' is more reliable than javascript 'window.document.body.clientHeight' for scroll up/down by page. Thanks. --f403045f53529963560560633150 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Page up/down by emacs window height (Bug#29565)<= /div>

'xwidget-window-inside-pixel-height' is mo= re reliable than javascript
'window.document.body.clientHeigh= t' for scroll up/down by page.

Thanks.
--f403045f53529963560560633150-- --f403045f53529963590560633152 Content-Type: application/octet-stream; name="0001-Page-up-down-by-emacs-window-height-Bug-29565.patch" Content-Disposition: attachment; filename="0001-Page-up-down-by-emacs-window-height-Bug-29565.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jb83svf40 RnJvbSA1OWZkNmM4MWNjM2Y5N2MyY2E0OGJkZGZmZDM0NmY3N2I3YTlkNThiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWVzdXAgS3dhayA8dmVzaGJvb0BnbWFpbC5jb20+CkRhdGU6 IFNhdCwgMTYgRGVjIDIwMTcgMDA6NTA6NDcgKzA5MDAKU3ViamVjdDogW1BBVENIXSBQYWdlIHVw L2Rvd24gYnkgZW1hY3Mgd2luZG93IGhlaWdodCAoQnVnIzI5NTY1KQoKJ3h3aWRnZXQtd2luZG93 LWluc2lkZS1waXhlbC1oZWlnaHQnIGlzIG1vcmUgcmVsaWFibGUgdGhhbiBqYXZhc2NyaXB0Cid3 aW5kb3cuZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQnIGZvciBzY3JvbGwgdXAvZG93biBieSBw YWdlLgoKKiBsaXNwL3h3aWRnZXQuZWwgKHh3aWRnZXQtd2Via2l0LXNjcm9sbC11cCkKKHh3aWRn ZXQtd2Via2l0LXNjcm9sbC1kb3duKQotLS0KIGxpc3AveHdpZGdldC5lbCB8IDggKysrKysrLS0K IDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvbGlzcC94d2lkZ2V0LmVsIGIvbGlzcC94d2lkZ2V0LmVsCmluZGV4IGFjZDNlYTJhNWIu LmEyMTg4Njg5NjUgMTAwNjQ0Ci0tLSBhL2xpc3AveHdpZGdldC5lbAorKysgYi9saXNwL3h3aWRn ZXQuZWwKQEAgLTE4MSw3ICsxODEsOSBAQCB4d2lkZ2V0LXdlYmtpdC1zY3JvbGwtdXAKICAgKGlu dGVyYWN0aXZlICJQIikKICAgKHh3aWRnZXQtd2Via2l0LWV4ZWN1dGUtc2NyaXB0CiAgICAoeHdp ZGdldC13ZWJraXQtY3VycmVudC1zZXNzaW9uKQotICAgKGNvbmQgKChudWxsIG4pICJ3aW5kb3cu c2Nyb2xsQnkoMCwgd2luZG93LmRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0KTsiKQorICAgKGNv bmQgKChudWxsIG4pCisgICAgICAgICAgKGZvcm1hdCAid2luZG93LnNjcm9sbEJ5KDAsICVkKTsi CisgICAgICAgICAgICAgICAgICAoeHdpZGdldC13aW5kb3ctaW5zaWRlLXBpeGVsLWhlaWdodCAo c2VsZWN0ZWQtd2luZG93KSkpKQogICAgICAgICAgKHQgKGZvcm1hdCAid2luZG93LnNjcm9sbEJ5 KDAsICVkKTsiIG4pKSkpKQogCiAoZGVmdW4geHdpZGdldC13ZWJraXQtc2Nyb2xsLWRvd24gKCZv cHRpb25hbCBuKQpAQCAtMTkxLDcgKzE5Myw5IEBAIHh3aWRnZXQtd2Via2l0LXNjcm9sbC1kb3du CiAgIChpbnRlcmFjdGl2ZSAiUCIpCiAgICh4d2lkZ2V0LXdlYmtpdC1leGVjdXRlLXNjcmlwdAog ICAgKHh3aWRnZXQtd2Via2l0LWN1cnJlbnQtc2Vzc2lvbikKLSAgIChjb25kICgobnVsbCBuKSAi d2luZG93LnNjcm9sbEJ5KDAsIC13aW5kb3cuZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQpOyIp CisgICAoY29uZCAoKG51bGwgbikKKyAgICAgICAgICAoZm9ybWF0ICJ3aW5kb3cuc2Nyb2xsQnko MCwgJWQpOyIKKyAgICAgICAgICAgICAgICAgICgtICh4d2lkZ2V0LXdpbmRvdy1pbnNpZGUtcGl4 ZWwtaGVpZ2h0IChzZWxlY3RlZC13aW5kb3cpKSkpKQogICAgICAgICAgKHQgKGZvcm1hdCAid2lu ZG93LnNjcm9sbEJ5KDAsICVkKTsiICgtIG4pKSkpKSkKIAogKGRlZnZhciB4d2lkZ2V0LXdlYmtp dC1zY3JvbGwtbGluZS1oZWlnaHQgNTAKLS0gCjIuMTUuMAoK --f403045f53529963590560633152-- From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 19 21:40:45 2017 Received: (at 29565) by debbugs.gnu.org; 20 Dec 2017 02:40:46 +0000 Received: from localhost ([127.0.0.1]:42854 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eRUJJ-0006UE-Ph for submit@debbugs.gnu.org; Tue, 19 Dec 2017 21:40:45 -0500 Received: from mail-wm0-f44.google.com ([74.125.82.44]:32891) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eRUJI-0006U1-7v for 29565@debbugs.gnu.org; Tue, 19 Dec 2017 21:40:44 -0500 Received: by mail-wm0-f44.google.com with SMTP id g130so13816686wme.0 for <29565@debbugs.gnu.org>; Tue, 19 Dec 2017 18:40:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=OxVBFdSlzoKMpmD5xHo2GQiBEZAcjW/vhOhMpMPisW8=; b=Od4NY9MLbtf+mF3AM6RyTXoa8SJn5ADukVY2s+t8EFvggNheQTHwIJkcLhH/l/Gh1a qif6hOLBjy1IC+O/vbY61t24jB0ZyqDV8rz0YxQBMO4tYSabrErdsNo9lji+24GUt7YR 8DWsVluXJOhqHJgEF14T25DQj/95JCWElExv4PKCfZkbQLARnBtIeh+WBcDUlSSUMpcn xmTJuPg509hd4rFebo7eZ6JDvrMWzy1QNKQQYjRRh7ldUYPBwJ9lqOmflGEI2ITDVu7D MZ8vbAlEYHV81AJMVFjflezIRnGPjWSMz5WKkUHYd6TsuAfMutJlZJv8TZJ2/yh3BSOP xXkA== 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; bh=OxVBFdSlzoKMpmD5xHo2GQiBEZAcjW/vhOhMpMPisW8=; b=UmeKSaOoips7MfPFplgk3Bvkl/NbggeUl0eyWRC2XOAhaOINj8g2OUFOJisDYWhk33 yfGnS2e3GiEG/xEXvWK55Tku8pWvTXtrYOo4EubrU+qHtx8s0KQYvbWZWUcnpsF88jat vkQe3N/uYYOr3PF4ZzgsZ+qpOPRihJNAmOv7fqe4Y+3Y+vVoWX4Zt+HYcznkfs5RXi50 dZiR6MIC12/OdHlgouDT1SUsjPeTj6yK4ei2ZAQZKeaWRL3uY7t07tyXTgpMXm1hwqOa cnSP8TZrkAbyUBi81SxnV6kpPdoNmWG+iHpujoUfQIJ3+nY6Z+qi50ye9OE/bPIox/Tj tmfQ== X-Gm-Message-State: AKGB3mIKp+Bu7nx5oaD68qugsrfyM1HQWboI1yLVFsPFA+4PZqcSspqz LIbW23ccGmcl3F/cE39qjYFsbMtst6XeXOZCq4GerQ== X-Google-Smtp-Source: ACJfBou9jQw/TM3i7h377fSqBkyqEF/gr54aHCSSZQQG0ZMKnE38RWUmv9Ijua0FGEOcnP3QBrEpOSLdG1KzmdVanmo= X-Received: by 10.28.156.208 with SMTP id f199mr5718551wme.27.1513737638267; Tue, 19 Dec 2017 18:40:38 -0800 (PST) MIME-Version: 1.0 Received: by 10.28.227.67 with HTTP; Tue, 19 Dec 2017 18:39:57 -0800 (PST) From: Jaesup Kwak Date: Wed, 20 Dec 2017 11:39:57 +0900 Message-ID: Subject: [PATCH] Fix compile failure for GTK xwidget (Bug#29565) To: 29565@debbugs.gnu.org Content-Type: multipart/mixed; boundary="001a114b7de8366d150560bc829b" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29565 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --001a114b7de8366d150560bc829b Content-Type: multipart/alternative; boundary="001a114b7de8366d110560bc8299" --001a114b7de8366d110560bc8299 Content-Type: text/plain; charset="UTF-8" Fix incorrect GTK webkit function names, those were introduced with "8d7750f464 Functions when javascript not allowed (Bug#29565)". * src/xwidget.c (Fxwidget_webkit_goto_history) --001a114b7de8366d110560bc8299 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Fix incorrect GTK webkit function names, those were i= ntroduced with
"8d7750f464 Functions when javascript not all= owed (Bug#29565)".

* src/xwidget.c (Fxwidget_= webkit_goto_history)

--001a114b7de8366d110560bc8299-- --001a114b7de8366d150560bc829b Content-Type: application/octet-stream; name="0001-Fix-compile-failure-for-GTK-xwidget-Bug-29565.patch" Content-Disposition: attachment; filename="0001-Fix-compile-failure-for-GTK-xwidget-Bug-29565.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jbeg991t0 RnJvbSA3ZWMzZDkyMzYzNDcyNzA2YTczNGNlYjliMWJjY2ZiODJmMmJiY2VlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWVzdXAgS3dhayA8dmVzaGJvb0BnbWFpbC5jb20+CkRhdGU6 IFdlZCwgMjAgRGVjIDIwMTcgMTE6MTk6MTMgKzA5MDAKU3ViamVjdDogW1BBVENIXSBGaXggY29t cGlsZSBmYWlsdXJlIGZvciBHVEsgeHdpZGdldCAoQnVnIzI5NTY1KQoKRml4IGluY29ycmVjdCBH VEsgd2Via2l0IGZ1bmN0aW9uIG5hbWVzLCB0aG9zZSB3ZXJlIGludHJvZHVjZWQgd2l0aAoiOGQ3 NzUwZjQ2NCBGdW5jdGlvbnMgd2hlbiBqYXZhc2NyaXB0IG5vdCBhbGxvd2VkIChCdWcjMjk1NjUp Ii4KCiogc3JjL3h3aWRnZXQuYyAoRnh3aWRnZXRfd2Via2l0X2dvdG9faGlzdG9yeSkKLS0tCiBz cmMveHdpZGdldC5jIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAy IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy94d2lkZ2V0LmMgYi9zcmMveHdpZGdldC5j CmluZGV4IGYzMzNiMjI4N2MuLjYwZTgyNjAzNzcgMTAwNjQ0Ci0tLSBhL3NyYy94d2lkZ2V0LmMK KysrIGIvc3JjL3h3aWRnZXQuYwpAQCAtODExLDggKzgxMSw4IEBAIERFRlVOICgieHdpZGdldC13 ZWJraXQtZ290by1oaXN0b3J5IiwKICAgV2ViS2l0V2ViVmlldyAqd2t3diA9IFdFQktJVF9XRUJf VklFVyAoeHctPndpZGdldF9vc3IpOwogICBzd2l0Y2ggKFhGQVNUSU5UIChyZWxfcG9zKSkgewog ICBjYXNlIC0xOiB3ZWJraXRfd2ViX3ZpZXdfZ29fYmFjayAod2t3dik7IGJyZWFrOwotICBjYXNl IDA6IHdlYmtpdF93ZWJfdmlld19nb19yZWxvYWQgKHdrd3YpOyBicmVhazsKLSAgY2FzZSAxOiB3 ZWJraXRfd2ViX3ZpZXdfZm9yd2FyZCAod2t3dik7IGJyZWFrOworICBjYXNlIDA6IHdlYmtpdF93 ZWJfdmlld19yZWxvYWQgKHdrd3YpOyBicmVhazsKKyAgY2FzZSAxOiB3ZWJraXRfd2ViX3ZpZXdf Z29fZm9yd2FyZCAod2t3dik7IGJyZWFrOwogICB9CiAjZWxpZiBkZWZpbmVkIChOU19JTVBMX0NP Q09BKQogICBuc3h3aWRnZXRfd2Via2l0X2dvdG9faGlzdG9yeSAoeHcsIFhGQVNUSU5UIChyZWxf cG9zKSk7Ci0tIAoyLjE1LjAKCg== --001a114b7de8366d150560bc829b-- From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 20 03:26:39 2017 Received: (at 29565) by debbugs.gnu.org; 20 Dec 2017 08:26:39 +0000 Received: from localhost ([127.0.0.1]:43073 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eRZi3-0001xj-Fs for submit@debbugs.gnu.org; Wed, 20 Dec 2017 03:26:39 -0500 Received: from mail-wr0-f170.google.com ([209.85.128.170]:39012) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eRZi1-0001xT-Gc for 29565@debbugs.gnu.org; Wed, 20 Dec 2017 03:26:37 -0500 Received: by mail-wr0-f170.google.com with SMTP id a41so21514349wra.6 for <29565@debbugs.gnu.org>; Wed, 20 Dec 2017 00:26:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=VxNHIDKw8bwhQYZsZ21iL0UypPdKAwqPV5WKYgF9KOg=; b=Apce5zgQwLwDJszR84kTmpNZkyPpJ01uEJNKPvMfnv2F28JsOUBT4itH1fmNnTzH7u 3p0CJiZ2zHqdoII6PlhHMboEMmxfBXKttYQA8P2arC58F7PWMIfPu9z7LoTd0DM6aQjy w0nPljMQj366VNDSF0DiGkNDAtcagBgIWs4+O+cKDxYMSNGiSOHS1LFjPafT1wtCqann jqLpNuSbO5gS+qxm5dqiDCKdjFxnKjPtL9NeV5tMQDpDdUT+5q9ulk+8ZlHItwc2iYB1 NF7XMdGVb+ebqcAoeaEONGCP1tRvNJedAsWJs93Z6JMlC6LasAZ1TRI4aeGf0C8lVjvI euoQ== 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; bh=VxNHIDKw8bwhQYZsZ21iL0UypPdKAwqPV5WKYgF9KOg=; b=Wvv738pht8x5GA3Fp3DekmzIon9L1O5kcgynRw7RE9YQPVhdrUcRXoLxK2O8/m6fFB H8Cp+rD5BCLIfj40mZ3IhRXOOEkA4cmQXzvcNjdEsKEHEeZaHf9wmkrKlKq8cwoC7o/C nbSCuOwSJ2kxsOH3/CpxyuTYaQ6DYxJp7grzTUtUh9D7qvKRFMQYlF4XJtDmq80zF4w3 BiBT1yZPVjTQw3OOlaPRsZj9w1BfL8GCWigavP6CuPqEwvHuqvZ4pdomUdE/DJ07/RLP B2f3TzJzojL5Kf2TtrTxfb1kgAGBMyKDceCn0JIJL652GCcAYGbqeGUxHrtWHUJGYYnA Wi+w== X-Gm-Message-State: AKGB3mLjpMOVL9qD6Hxjih+WwTJZXSycJCBidZtgFqZuo7BcZZo6HElx aPpZemCGev89BEG42C1MYLDliHDzJ8J4PqQCtisN3J2a X-Google-Smtp-Source: ACJfBouYSIGwHfZ2mctOrGNp03IAahY/GzD2rooef4HPuKWUmXZDiUooUBhwORoAOCnxFf7zzQXkd+hoBCKmo6wS3fo= X-Received: by 10.223.132.129 with SMTP id 1mr7646384wrg.218.1513758391503; Wed, 20 Dec 2017 00:26:31 -0800 (PST) MIME-Version: 1.0 Received: by 10.28.227.67 with HTTP; Wed, 20 Dec 2017 00:25:50 -0800 (PST) From: Jaesup Kwak Date: Wed, 20 Dec 2017 17:25:50 +0900 Message-ID: Subject: [PATCH] Enable plugins for ns xwidget webkit (Bug#29565) To: 29565@debbugs.gnu.org Content-Type: multipart/mixed; boundary="94eb2c0d0d2c342f020560c1574e" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29565 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) --94eb2c0d0d2c342f020560c1574e Content-Type: multipart/alternative; boundary="94eb2c0d0d2c342efe0560c1574c" --94eb2c0d0d2c342efe0560c1574c Content-Type: text/plain; charset="UTF-8" Enable plugins for ns xwidget webkit if 'xwidget-webkit-enable-plugins' is non-nil. * lisp/xwidget.el (xwidget-webkit-enable-plugins) * src/nsxwidget.m (XwWebView::initWithFrame) --94eb2c0d0d2c342efe0560c1574c Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Enable plugins for ns xwidget webkit if
= 9;xwidget-webkit-enable-plugins' is non-nil.

*= lisp/xwidget.el (xwidget-webkit-enable-plugins)
* src/nsxwidget.= m (XwWebView::initWithFrame)

--94eb2c0d0d2c342efe0560c1574c-- --94eb2c0d0d2c342f020560c1574e Content-Type: application/octet-stream; name="0001-Enable-plugins-for-ns-xwidget-webkit-Bug-29565.patch" Content-Disposition: attachment; filename="0001-Enable-plugins-for-ns-xwidget-webkit-Bug-29565.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jbesmabo0 RnJvbSA4MTU2NjI3ODI5YmNjMjZiMzhiZDZkMmM3OTIxMjg5ZjUwYWQxYWQwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWVzdXAgS3dhayA8dmVzaGJvb0BnbWFpbC5jb20+CkRhdGU6 IFdlZCwgMjAgRGVjIDIwMTcgMTc6MTE6MDYgKzA5MDAKU3ViamVjdDogW1BBVENIXSBFbmFibGUg cGx1Z2lucyBmb3IgbnMgeHdpZGdldCB3ZWJraXQgKEJ1ZyMyOTU2NSkKCkVuYWJsZSBwbHVnaW5z IGZvciBucyB4d2lkZ2V0IHdlYmtpdCBpZgoneHdpZGdldC13ZWJraXQtZW5hYmxlLXBsdWdpbnMn IGlzIG5vbi1uaWwuCgoqIGxpc3AveHdpZGdldC5lbCAoeHdpZGdldC13ZWJraXQtZW5hYmxlLXBs dWdpbnMpCiogc3JjL25zeHdpZGdldC5tIChYd1dlYlZpZXc6OmluaXRXaXRoRnJhbWUpCi0tLQog bGlzcC94d2lkZ2V0LmVsIHwgNSArKysrKwogc3JjL25zeHdpZGdldC5tIHwgNSArKysrKwogMiBm aWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGlzcC94d2lkZ2V0 LmVsIGIvbGlzcC94d2lkZ2V0LmVsCmluZGV4IGEyMTg4Njg5NjUuLjkwMWE2YmU5YTIgMTAwNjQ0 Ci0tLSBhL2xpc3AveHdpZGdldC5lbAorKysgYi9saXNwL3h3aWRnZXQuZWwKQEAgLTMwMCw2ICsz MDAsMTEgQEAgeHdpZGdldC13ZWJraXQtY2FsbGJhY2sKIAogKGRlZnZhciBib29rbWFyay1tYWtl LXJlY29yZC1mdW5jdGlvbikKIChkZWZ2YXIgaXNlYXJjaC1zZWFyY2gtZnVuLWZ1bmN0aW9uKQor KHdoZW4gKG1lbXEgd2luZG93LXN5c3RlbSAnKG1hYyBucykpCisgIChkZWZ2YXIgeHdpZGdldC13 ZWJraXQtZW5hYmxlLXBsdWdpbnMgbmlsCisgICAgIkVuYWJsZSBwbHVnaW5zIGZvciB4d2lkZ2V0 IHdlYmtpdC4KK0lmIG5vbi1uaWwsIHBsdWdpbnMgYXJlIGVuYWJsZWQuICBPdGhlcndpc2UsIGRp c2FibGVkLiIpKQorCiAoZGVmaW5lLWRlcml2ZWQtbW9kZSB4d2lkZ2V0LXdlYmtpdC1tb2RlCiAg ICAgc3BlY2lhbC1tb2RlICJ4d2lkZ2V0LXdlYmtpdCIgIlh3aWRnZXQgd2Via2l0IHZpZXcgbW9k ZS4iCiAgICAgKHNldHEgYnVmZmVyLXJlYWQtb25seSB0KQpkaWZmIC0tZ2l0IGEvc3JjL25zeHdp ZGdldC5tIGIvc3JjL25zeHdpZGdldC5tCmluZGV4IDc4OTVjOGJlZDYuLmVlMjk1NTE4YjggMTAw NjQ0Ci0tLSBhL3NyYy9uc3h3aWRnZXQubQorKysgYi9zcmMvbnN4d2lkZ2V0Lm0KQEAgLTc5LDYg Kzc5LDExIEBAIC0gKGlkKWluaXRXaXRoRnJhbWU6KENHUmVjdClmcmFtZQogICBbY29uZmlndXJh dGlvbi5wcmVmZXJlbmNlcyBzZXRWYWx1ZTpAWUVTCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZm9yS2V5OkAiZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCJdOwogCisgIExpc3BfT2JqZWN0 IGVuYWJsZVBsdWdpbnMgPQorICAgIEZpbnRlcm4gKGJ1aWxkX3N0cmluZyAoInh3aWRnZXQtd2Vi a2l0LWVuYWJsZS1wbHVnaW5zIiksIFFuaWwpOworICBpZiAoIUVRIChGc3ltYm9sX3ZhbHVlIChl bmFibGVQbHVnaW5zKSwgUW5pbCkpCisgICAgY29uZmlndXJhdGlvbi5wcmVmZXJlbmNlcy5wbHVn SW5zRW5hYmxlZCA9IFlFUzsKKwogICBzZWxmID0gW3N1cGVyIGluaXRXaXRoRnJhbWU6ZnJhbWUg Y29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uXTsKICAgaWYgKHNlbGYpCiAgICAgewotLSAKMi4x NS4wCgo= --94eb2c0d0d2c342f020560c1574e-- From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 20 23:13:42 2017 Received: (at 29565) by debbugs.gnu.org; 21 Dec 2017 04:13:42 +0000 Received: from localhost ([127.0.0.1]:45075 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eRsEn-0006ZI-UK for submit@debbugs.gnu.org; Wed, 20 Dec 2017 23:13:42 -0500 Received: from mail-wm0-f51.google.com ([74.125.82.51]:46964) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eRsEm-0006Z5-Bg for 29565@debbugs.gnu.org; Wed, 20 Dec 2017 23:13:41 -0500 Received: by mail-wm0-f51.google.com with SMTP id r78so13553508wme.5 for <29565@debbugs.gnu.org>; Wed, 20 Dec 2017 20:13:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=s1nj/E3xAjWTc/YR97DrDCJG90I17BQFOj/xf5f1tn0=; b=KoublrGWKPIqQnozdS2rQCLlVWPjwpvyFWDCs0RXYUYM1aDvDH2fcBooviqUPV1dp3 pvpToncgNOrgk/J6QrZXdXFjLK2d+7wTi9iAHDE1ayYYMZ58lP/478ENM2fuaVle87Am E3y/XPUBnEQGV5gyg1Uq9Vq255fGL2D+EWC8oSqLfe0+KyYSd8q0ErTbCdDzs+A5O7jJ MDBGqR7LR9mGNPn3DVG+Hg7jGF9mTfHobXFxAcvuxdl8v68ddZuxqvhHhBlSzC4RU+tz a6G2YUCzrMlKcciDNgZGVi+XTzx4FiRSsLwx7Pr3t0lOxd/5+GNJ0JugbinwoC4mybxi yOig== 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; bh=s1nj/E3xAjWTc/YR97DrDCJG90I17BQFOj/xf5f1tn0=; b=WQrrUJXRH8wxb7ktRfbJD+stP1xympbcTAnIr1KjBHlOK/So9ROmtXmwEWYgvGDeNu m9wgiy/R3KVUNBD0GIol/uF2OOeTirJP0UzWis4Ei0WQHZofa4/STeQ0OwsmuAmcmVW3 R4RsTNeX/mc4o3wfLJF6XXlMqer+QZTIjGwTssYPfP8a1ywSWGoe6bAPGyKN2PNOhqMQ Vtmzn3rUk4Owkj5o9VsxOMiyWy9I1u4uHLQgjfgJrRjEx7Ew2O/0pnuvsDR8b1gHIGBZ ZXXBJQBIi242qZOnVPPkke9lik613ti00riP0s9MKpfXSX/S1sOSVK/lgovgwUqjqRlc UUJA== X-Gm-Message-State: AKGB3mIsWk4ZE2Y44kTqaL2hrLDyKzY0yy1AjGCGQpBxWGXW+EQpSnGm TeCrVvLNRenlqaSnYBlfo9uNpuOJP/eS/vCOkdNYH23d X-Google-Smtp-Source: ACJfBovaX6wvq6WWkr10+cD952d8xY7gHK8FKtphK+kXfA5U+m/7oQX8r7pOUfYyDL8UgxTCGc0p28hoAjWisxpOlRQ= X-Received: by 10.28.50.197 with SMTP id y188mr8113498wmy.159.1513829614485; Wed, 20 Dec 2017 20:13:34 -0800 (PST) MIME-Version: 1.0 Received: by 10.28.227.67 with HTTP; Wed, 20 Dec 2017 20:12:53 -0800 (PST) From: Jaesup Kwak Date: Thu, 21 Dec 2017 13:12:53 +0900 Message-ID: Subject: [PATCH] Support file download and upload (Bug#29565) To: 29565@debbugs.gnu.org Content-Type: multipart/mixed; boundary="001a1140df566c2de10560d1ec8e" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29565 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --001a1140df566c2de10560d1ec8e Content-Type: multipart/alternative; boundary="001a1140df566c2ddd0560d1ec8c" --001a1140df566c2ddd0560d1ec8c Content-Type: text/plain; charset="UTF-8" For the MIME types, which ns xwidget webkit cannot show in a view, 'xwidget-webkit-save-as-file' is called via 'response-callback' event. Ns xwidget webkit presents file open panel to select upload files. Tighter check for javascript availability. * lisp/xwidget.el (xwidget-webkit-callback): Add case for 'response-callback' event. (xwidget-webkit-download-dir): New variable. (xwidget-webkit-save-as-file): New function. * src/nsxwidget.m (XwWebView::decidePolicyForNavigationResponse): Store the event. And tighter check for javascript availability. (XwWebView::runOpenPanelWithParameters): Select upload files. * src/xwidget.c (store_xwidget_response_callback_event): New function. --001a1140df566c2ddd0560d1ec8c Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
For the MIME types, which ns xwidget webkit cannot sh= ow in a view,
'xwidget-webkit-save-as-file' is called via= 'response-callback' event.

Ns xwidget web= kit presents file open panel to select upload files.

Tighter check for javascript availability.

* li= sp/xwidget.el
(xwidget-webkit-callback): Add case for 'respon= se-callback' event.
(xwidget-webkit-download-dir): New variab= le.
(xwidget-webkit-save-as-file): New function.
* src/= nsxwidget.m
(XwWebView::decidePolicyForNavigationResponse): Store= the event.=C2=A0 And
tighter check for javascript availability.<= /div>
(XwWebView::runOpenPanelWithParameters): Select upload files.
* src/xwidget.c
(store_xwidget_response_callback_event): N= ew function.

--001a1140df566c2ddd0560d1ec8c-- --001a1140df566c2de10560d1ec8e Content-Type: application/octet-stream; name="0001-Support-file-download-and-upload-Bug-29565.patch" Content-Disposition: attachment; filename="0001-Support-file-download-and-upload-Bug-29565.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jbfz1cbs0 RnJvbSBiNWUzZGIwOTBmNDM3MzRjMzY1Zjg2ZDkyY2FlMTEwN2Y4ZGY1Mzk4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWVzdXAgS3dhayA8dmVzaGJvb0BnbWFpbC5jb20+CkRhdGU6 IFRodSwgMjEgRGVjIDIwMTcgMTI6MzY6NTEgKzA5MDAKU3ViamVjdDogW1BBVENIXSBTdXBwb3J0 IGZpbGUgZG93bmxvYWQgYW5kIHVwbG9hZCAoQnVnIzI5NTY1KQoKRm9yIHRoZSBNSU1FIHR5cGVz LCB3aGljaCBucyB4d2lkZ2V0IHdlYmtpdCBjYW5ub3Qgc2hvdyBpbiBhIHZpZXcsCid4d2lkZ2V0 LXdlYmtpdC1zYXZlLWFzLWZpbGUnIGlzIGNhbGxlZCB2aWEgJ3Jlc3BvbnNlLWNhbGxiYWNrJyBl dmVudC4KCk5zIHh3aWRnZXQgd2Via2l0IHByZXNlbnRzIGZpbGUgb3BlbiBwYW5lbCB0byBzZWxl Y3QgdXBsb2FkIGZpbGVzLgoKVGlnaHRlciBjaGVjayBmb3IgamF2YXNjcmlwdCBhdmFpbGFiaWxp dHkuCgoqIGxpc3AveHdpZGdldC5lbAooeHdpZGdldC13ZWJraXQtY2FsbGJhY2spOiBBZGQgY2Fz ZSBmb3IgJ3Jlc3BvbnNlLWNhbGxiYWNrJyBldmVudC4KKHh3aWRnZXQtd2Via2l0LWRvd25sb2Fk LWRpcik6IE5ldyB2YXJpYWJsZS4KKHh3aWRnZXQtd2Via2l0LXNhdmUtYXMtZmlsZSk6IE5ldyBm dW5jdGlvbi4KKiBzcmMvbnN4d2lkZ2V0Lm0KKFh3V2ViVmlldzo6ZGVjaWRlUG9saWN5Rm9yTmF2 aWdhdGlvblJlc3BvbnNlKTogU3RvcmUgdGhlIGV2ZW50LiAgQW5kCnRpZ2h0ZXIgY2hlY2sgZm9y IGphdmFzY3JpcHQgYXZhaWxhYmlsaXR5LgooWHdXZWJWaWV3OjpydW5PcGVuUGFuZWxXaXRoUGFy YW1ldGVycyk6IFNlbGVjdCB1cGxvYWQgZmlsZXMuCiogc3JjL3h3aWRnZXQuYwooc3RvcmVfeHdp ZGdldF9yZXNwb25zZV9jYWxsYmFja19ldmVudCk6IE5ldyBmdW5jdGlvbi4KLS0tCiBsaXNwL3h3 aWRnZXQuZWwgfCAyMyArKysrKysrKysrKysrKysrKysrKysrKwogc3JjL25zeHdpZGdldC5tIHwg MzYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCiBzcmMveHdpZGdldC5jICAg fCAyMCArKysrKysrKysrKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCA3NyBpbnNlcnRpb25z KCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpc3AveHdpZGdldC5lbCBiL2xpc3Av eHdpZGdldC5lbAppbmRleCA5MDFhNmJlOWEyLi42Yzg4MjYyZTQzIDEwMDY0NAotLS0gYS9saXNw L3h3aWRnZXQuZWwKKysrIGIvbGlzcC94d2lkZ2V0LmVsCkBAIC04NCw2ICs4NCw3IEBAIHh3aWRn ZXQtYXQKIChyZXF1aXJlICdicm93c2UtdXJsKQogKHJlcXVpcmUgJ2ltYWdlLW1vZGUpOztmb3Ig c29tZSBpbWFnZS1tb2RlIGFsaWtlIGZ1bmN0aW9uYWxpdHkKIChyZXF1aXJlICdzZXEpCisocmVx dWlyZSAndXJsLWhhbmRsZXJzKQogCiA7OzsjIyNhdXRvbG9hZAogKGRlZnVuIHh3aWRnZXQtd2Vi a2l0LWJyb3dzZS11cmwgKHVybCAmb3B0aW9uYWwgbmV3LXNlc3Npb24pCkBAIC0yODksNiArMjkw LDEyIEBAIHh3aWRnZXQtd2Via2l0LWNhbGxiYWNrCiAgICAgICAgICAgICAgICAgICAgKHh3aWRn ZXQtd2Via2l0LXNob3ctaWQtb3ItbmFtZWQtZWxlbWVudAogICAgICAgICAgICAgICAgICAgICB4 d2lkZ2V0CiAgICAgICAgICAgICAgICAgICAgIChtYXRjaC1zdHJpbmcgMSBzdHJhcmcpKSkpKQor Ozs7IFRPRE86IFJlc3BvbnNlIGhhbmRsaW5nIG90aGVyIHRoYW4gZG93bmxvYWQuCisgICAgICAg ICAgICAoKGVxIHh3aWRnZXQtZXZlbnQtdHlwZSAncmVzcG9uc2UtY2FsbGJhY2spCisgICAgICAg ICAgICAgKGxldCAoKHVybCAgKG50aCAzIGxhc3QtaW5wdXQtZXZlbnQpKQorICAgICAgICAgICAg ICAgICAgIChtaW1lLXR5cGUgKG50aCA0IGxhc3QtaW5wdXQtZXZlbnQpKQorICAgICAgICAgICAg ICAgICAgIChmaWxlLW5hbWUgKG50aCA1IGxhc3QtaW5wdXQtZXZlbnQpKSkKKyAgICAgICAgICAg ICAgICh4d2lkZ2V0LXdlYmtpdC1zYXZlLWFzLWZpbGUgeHdpZGdldCB1cmwgbWltZS10eXBlIGZp bGUtbmFtZSkpKQogICAgICAgICAgICAgKChlcSB4d2lkZ2V0LWV2ZW50LXR5cGUgJ2phdmFzY3Jp cHQtY2FsbGJhY2spCiAgICAgICAgICAgICAgKGxldCAoKHByb2MgKG50aCAzIGxhc3QtaW5wdXQt ZXZlbnQpKQogICAgICAgICAgICAgICAgICAgIChhcmcgIChudGggNCBsYXN0LWlucHV0LWV2ZW50 KSkpCkBAIC0zMTcsNiArMzI0LDIyIEBAIHh3aWRnZXQtd2Via2l0LW1vZGUKICAgICA7OyBLZWVw IHRyYWNrIG9mIFt2aF1zY3JvbGwgd2hlbiBzd2l0Y2hpbmcgYnVmZmVycwogICAgIChpbWFnZS1t b2RlLXNldHVwLXdpbnByb3BzKSkKIAorOzs7IERvd25sb2FkLCBzYXZlIGFzIGZpbGUuCisKKyhk ZWZ2YXIgeHdpZGdldC13ZWJraXQtZG93bmxvYWQtZGlyICJ+L0Rvd25sb2Fkcy8iCisgICJEaXJl Y3Rvcnkgd2hlcmUgZG93bmxvYWQgZmlsZSBzYXZlZC4iKQorCisoZGVmdW4geHdpZGdldC13ZWJr aXQtc2F2ZS1hcy1maWxlICh4d2lkZ2V0IHVybCBtaW1lLXR5cGUgJm9wdGlvbmFsIGZpbGUtbmFt ZSkKKyAgIkZvciBYV0lER0VUIHdlYmtpdCwgc2F2ZSBVUkwgcmVzb3VyY2Ugb2YgTUlNRS1UWVBF IGFzIEZJTEUtTkFNRS4iCisgIChpZ25vcmUgeHdpZGdldCkgOzsgTm90IHVzZWQgY3VycmVudGx5 CisgIChsZXQgKChzYXZlLW5hbWUgKHJlYWQtZmlsZS1uYW1lCisgICAgICAgICAgICAgICAgICAg IChmb3JtYXQgIlNhdmUgJyVzJyBmaWxlIGFzOiAiIG1pbWUtdHlwZSkKKyAgICAgICAgICAgICAg ICAgICAgeHdpZGdldC13ZWJraXQtZG93bmxvYWQtZGlyIGZpbGUtbmFtZSBuaWwgZmlsZS1uYW1l KSkpCisgICAgKGlmIChmaWxlLWRpcmVjdG9yeS1wIHNhdmUtbmFtZSkKKyAgICAgICAgKHNldHEg c2F2ZS1uYW1lIChjb25jYXQgKGZpbGUtbmFtZS1hcy1kaXJlY3Rvcnkgc2F2ZS1uYW1lKSBmaWxl LW5hbWUpKSkKKyAgICAoc2V0cSB4d2lkZ2V0LXdlYmtpdC1kb3dubG9hZC1kaXIgKGZpbGUtbmFt ZS1kaXJlY3Rvcnkgc2F2ZS1uYW1lKSkKKyAgICAodXJsLWNvcHktZmlsZSB1cmwgc2F2ZS1uYW1l IHQpKSkKKwogOzs7IEJvb2ttYXJrcyBpbnRlZ3JhdGlvbgogCiAoZGVmdmFyIHh3aWRnZXQtd2Vi a2l0LWJvb2ttYXJrLWp1bXAtbmV3LXNlc3Npb24gbmlsCmRpZmYgLS1naXQgYS9zcmMvbnN4d2lk Z2V0Lm0gYi9zcmMvbnN4d2lkZ2V0Lm0KaW5kZXggZWUyOTU1MThiOC4uMjJiYWFlY2VkZiAxMDA2 NDQKLS0tIGEvc3JjL25zeHdpZGdldC5tCisrKyBiL3NyYy9uc3h3aWRnZXQubQpAQCAtMzMsNiAr MzMsMTEgQEAgdm9pZCBzdG9yZV94d2lkZ2V0X2V2ZW50X3N0cmluZyAoc3RydWN0IHh3aWRnZXQg Knh3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXZlbnRu YW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXZlbnRz dHIpOwogCit2b2lkIHN0b3JlX3h3aWRnZXRfcmVzcG9uc2VfY2FsbGJhY2tfZXZlbnQgKHN0cnVj dCB4d2lkZ2V0ICp4dywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29uc3QgY2hhciAqdXJsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb25zdCBjaGFyICptaW1ldHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZmlsZW5hbWUpOworCiB2b2lkIHN0b3JlX3h3 aWRnZXRfanNfY2FsbGJhY2tfZXZlbnQgKHN0cnVjdCB4d2lkZ2V0ICp4dywKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzcF9PYmplY3QgcHJvYywKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzcF9PYmplY3QgYXJndW1lbnQpOwpAQCAtMTQy LDcgKzE0NywxNSBAQCAtICh2b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcKIHsKICAg aWYgKCFuYXZpZ2F0aW9uUmVzcG9uc2UuY2FuU2hvd01JTUVUeXBlKQogICAgIHsKLSAgICAgIC8q IFRPRE86IGRvd25sb2FkIHVzaW5nIE5TVVJMeHh4PyAgKi8KKyAgICAgIE5TU3RyaW5nICp1cmwg PSBuYXZpZ2F0aW9uUmVzcG9uc2UucmVzcG9uc2UuVVJMLmFic29sdXRlU3RyaW5nOworICAgICAg TlNTdHJpbmcgKm1pbWV0eXBlID0gbmF2aWdhdGlvblJlc3BvbnNlLnJlc3BvbnNlLk1JTUVUeXBl OworICAgICAgTlNTdHJpbmcgKmZpbGVuYW1lID0gbmF2aWdhdGlvblJlc3BvbnNlLnJlc3BvbnNl LnN1Z2dlc3RlZEZpbGVuYW1lOworICAgICAgZGVjaXNpb25IYW5kbGVyIChXS05hdmlnYXRpb25S ZXNwb25zZVBvbGljeUNhbmNlbCk7CisgICAgICBzdG9yZV94d2lkZ2V0X3Jlc3BvbnNlX2NhbGxi YWNrX2V2ZW50IChzZWxmLnh3LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdXJsLlVURjhTdHJpbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBtaW1ldHlwZS5VVEY4U3RyaW5nLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZmlsZW5hbWUuVVRGOFN0cmluZyk7CisgICAgICByZXR1 cm47CiAgICAgfQogICBkZWNpc2lvbkhhbmRsZXIgKFdLTmF2aWdhdGlvblJlc3BvbnNlUG9saWN5 QWxsb3cpOwogCkBAIC0xNTcsNyArMTcwLDEwIEBAIC0gKHZvaWQpd2ViVmlldzooV0tXZWJWaWV3 ICopd2ViVmlldwogICAgICAgICB7CiAgICAgICAgICAgLyogVE9ETzogU2xvcHB5IHBhcnNpbmcg b2YgJ0NvbnRlbnQtU2VjdXJpdHktUG9saWN5JyB2YWx1ZS4gICovCiAgICAgICAgICAgTlNSYW5n ZSBzYW5kYm94ID0gW3ZhbHVlIHJhbmdlT2ZTdHJpbmc6QCJzYW5kYm94Il07Ci0gICAgICAgICAg aWYgKHNhbmRib3gubG9jYXRpb24gIT0gTlNOb3RGb3VuZCkKKyAgICAgICAgICBpZiAoc2FuZGJv eC5sb2NhdGlvbiAhPSBOU05vdEZvdW5kCisgICAgICAgICAgICAgICYmIChzYW5kYm94LmxvY2F0 aW9uID09IDAKKyAgICAgICAgICAgICAgICAgIHx8IFt2YWx1ZSBjaGFyYWN0ZXJBdEluZGV4Oihz YW5kYm94LmxvY2F0aW9uIC0gMSldID09ICcgJworICAgICAgICAgICAgICAgICAgfHwgW3ZhbHVl IGNoYXJhY3RlckF0SW5kZXg6KHNhbmRib3gubG9jYXRpb24gLSAxKV0gPT0gJzsnKSkKICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgTlNSYW5nZSBhbGxvd1NjcmlwdHMgPSBbdmFsdWUgcmFu Z2VPZlN0cmluZzpAImFsbG93LXNjcmlwdHMiXTsKICAgICAgICAgICAgICAgaWYgKGFsbG93U2Ny aXB0cy5sb2NhdGlvbiA9PSBOU05vdEZvdW5kCkBAIC0xODEsNiArMTk3LDIyIEBAIC0gKFdLV2Vi VmlldyAqKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcKICAgcmV0dXJuIG5pbDsKIH0KIAor LyogT3BlbiBwYW5lbCBmb3IgZmlsZSB1cGxvYWQuICAqLworLSAodm9pZCl3ZWJWaWV3OihXS1dl YlZpZXcgKil3ZWJWaWV3CitydW5PcGVuUGFuZWxXaXRoUGFyYW1ldGVyczooV0tPcGVuUGFuZWxQ YXJhbWV0ZXJzICopcGFyYW1ldGVycworaW5pdGlhdGVkQnlGcmFtZTooV0tGcmFtZUluZm8gKilm cmFtZQorY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKE5TQXJyYXk8TlNVUkwgKj4gKlVSTHMp KWNvbXBsZXRpb25IYW5kbGVyCit7CisgIE5TT3BlblBhbmVsICpvcGVuUGFuZWwgPSBbTlNPcGVu UGFuZWwgb3BlblBhbmVsXTsKKyAgb3BlblBhbmVsLmNhbkNob29zZUZpbGVzID0gWUVTOworICBv cGVuUGFuZWwuY2FuQ2hvb3NlRGlyZWN0b3JpZXMgPSBOTzsKKyAgb3BlblBhbmVsLmFsbG93c011 bHRpcGxlU2VsZWN0aW9uID0gcGFyYW1ldGVycy5hbGxvd3NNdWx0aXBsZVNlbGVjdGlvbjsKKyAg aWYgKFtvcGVuUGFuZWwgcnVuTW9kYWxdID09IE5TTW9kYWxSZXNwb25zZU9LKQorICAgIGNvbXBs ZXRpb25IYW5kbGVyIChvcGVuUGFuZWwuVVJMcyk7CisgIGVsc2UKKyAgICBjb21wbGV0aW9uSGFu ZGxlciAobmlsKTsKK30KKwogLyogQnkgZm9yd2FyZGluZyBtb3VzZSBldmVudHMgdG8gZW1hY3Mg dmlldyAoZnJhbWUpCiAgICAtIE1vdXNlIGNsaWNrIGluIHdlYnZpZXcgc2VsZWN0cyB0aGUgd2lu ZG93IGNvbnRhaW5zIHRoZSB3ZWJ2aWV3LgogICAgLSBDb3JyZWN0IG1vdXNlIGhhbmQvYXJyb3cv SS1iZWFtIGlzIGRpc3BsYXllZCAoVE9ETzogbm90IHBlcmZlY3QgeWV0KS4KZGlmZiAtLWdpdCBh L3NyYy94d2lkZ2V0LmMgYi9zcmMveHdpZGdldC5jCmluZGV4IDYwZTgyNjAzNzcuLmM2YTgyMThj NTYgMTAwNjQ0Ci0tLSBhL3NyYy94d2lkZ2V0LmMKKysrIGIvc3JjL3h3aWRnZXQuYwpAQCAtMjU1 LDYgKzI1NSwyNiBAQCBzdG9yZV94d2lkZ2V0X2V2ZW50X3N0cmluZyAoc3RydWN0IHh3aWRnZXQg Knh3LCBjb25zdCBjaGFyICpldmVudG5hbWUsCiAgIGtiZF9idWZmZXJfc3RvcmVfZXZlbnQgKCZl dmVudCk7CiB9CiAKK3ZvaWQKK3N0b3JlX3h3aWRnZXRfcmVzcG9uc2VfY2FsbGJhY2tfZXZlbnQg KHN0cnVjdCB4d2lkZ2V0ICp4dywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IGNoYXIgKnVybCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IGNoYXIgKm1pbWV0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29uc3QgY2hhciAqZmlsZW5hbWUpCit7CisgIHN0cnVjdCBpbnB1dF9ldmVudCBl dmVudDsKKyAgTGlzcF9PYmplY3QgeHdsOworICBYU0VUWFdJREdFVCAoeHdsLCB4dyk7CisgIEVW RU5UX0lOSVQgKGV2ZW50KTsKKyAgZXZlbnQua2luZCA9IFhXSURHRVRfRVZFTlQ7CisgIGV2ZW50 LmZyYW1lX29yX3dpbmRvdyA9IFFuaWw7CisgIGV2ZW50LmFyZyA9IGxpc3Q1IChpbnRlcm4gKCJy ZXNwb25zZS1jYWxsYmFjayIpLAorICAgICAgICAgICAgICAgICAgICAgeHdsLAorICAgICAgICAg ICAgICAgICAgICAgYnVpbGRfc3RyaW5nICh1cmwpLAorICAgICAgICAgICAgICAgICAgICAgYnVp bGRfc3RyaW5nIChtaW1ldHlwZSksCisgICAgICAgICAgICAgICAgICAgICBidWlsZF9zdHJpbmcg KGZpbGVuYW1lKSk7CisgIGtiZF9idWZmZXJfc3RvcmVfZXZlbnQgKCZldmVudCk7Cit9CisKIHZv aWQKIHN0b3JlX3h3aWRnZXRfanNfY2FsbGJhY2tfZXZlbnQgKHN0cnVjdCB4d2lkZ2V0ICp4dywK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3BfT2JqZWN0IHByb2MsCi0tIAoy LjE1LjAKCg== --001a1140df566c2de10560d1ec8e-- From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 30 07:48:28 2018 Received: (at 29565) by debbugs.gnu.org; 30 Mar 2018 11:48:28 +0000 Received: from localhost ([127.0.0.1]:59472 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1f1sWC-00013h-CV for submit@debbugs.gnu.org; Fri, 30 Mar 2018 07:48:28 -0400 Received: from mail-wm0-f52.google.com ([74.125.82.52]:40428) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1f1sWA-00013S-UZ for 29565@debbugs.gnu.org; Fri, 30 Mar 2018 07:48:27 -0400 Received: by mail-wm0-f52.google.com with SMTP id x4so16307780wmh.5 for <29565@debbugs.gnu.org>; Fri, 30 Mar 2018 04:48:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=sender:from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=TOkfFeSDLJjqYSK2Yu1VutUlqWAGfDHSpHEqjARcFbM=; b=O+/iRt1NmiyFwiNkr6UzVHVKV0gLHJoEqIpxwvK6fteAaeAEtv8Wh8+A5XauueMloU 5lT9t+KTfEsr9+G7aLpzj9GqFVh69SagtdFSSFJzBvUabAOwPG4PhoYmSXOD/2ENgfbq 1fhsnjKs7UMTBOT0OIJuOCnFoiDh0lDSQlABJmnhbr/0ZXqWm5rNNN5fuM0Nck8rC+zA A4Kv8gl8S8Y7nS74JBsQStbgwImMkNVeCb3InTA1lB5o9sC7snLNmsJ77RN3HE5aRzik yuGpKDcZxzj8vk0tUyL+eKs0pg0RKf7f3nTN/IQerxvjvoZxyjz8h9R9ehxtaWvTIKT7 lLGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:references:date :in-reply-to:message-id:user-agent:mime-version; bh=TOkfFeSDLJjqYSK2Yu1VutUlqWAGfDHSpHEqjARcFbM=; b=pY5PXc2wm7q5/9zrnnOpGUAkb9INGKC8Fv5qZoRihU8ABLl/n8JlGShQ09QuIHfmNn DCoZG3yXD/Lh4rKyKZNSPfK9lVWB0ugZ2aAiw04SzS70A6eSSeBOXkS+isjbXqiMTdnC 6km9wSrgvRSCuZvc1hsQouUGiwCuPkhvMz+15mspWipuRF+Cpy+P8x6XGrY+6Kx3yjQH lfBHO3m99zrgsaUqt9RasPuU7sTA72uj1ZZFxxNr6Jswg3rxPSkQKdqRWNuptCxN6P1w Yrg3N6pKrAWbV7rMPY3mgiDpRwauF57ApmhOeuUGOXwQegSPU5iLEO6tqvTDwzVn3kaT tCcA== X-Gm-Message-State: ALQs6tDElLPFxGdBOcOePRdAOL3oCtMKXbCiHkS4obk7FtO0NuJDRXtx fGX5oVul1cFbnI3HuRicgDQtZCPTMTA= X-Google-Smtp-Source: AIpwx49mQnPYyiZjpjiGo6VXe4EAhmRRU50sbagNP9/Qo7lBrWI2L0YCfhb3L5nwIBQdZjhNHBge7g== X-Received: by 10.28.91.65 with SMTP id p62mr2256942wmb.140.1522410501050; Fri, 30 Mar 2018 04:48:21 -0700 (PDT) Received: from breton.holly.idiocy.org (ip6-2001-08b0-03f8-8129-9137-e39e-5e68-b711.holly.idiocy.org. [2001:8b0:3f8:8129:9137:e39e:5e68:b711]) by smtp.gmail.com with ESMTPSA id w40sm11452339wrc.33.2018.03.30.04.48.20 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 30 Mar 2018 04:48:20 -0700 (PDT) From: Alan Third To: Jaesup Kwak Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X References: Date: Fri, 30 Mar 2018 12:48:19 +0100 In-Reply-To: (Jaesup Kwak's message of "Tue, 5 Dec 2017 01:44:42 +0900") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (darwin) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 29565 Cc: 29565@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.5 (/) Jaesup Kwak writes: > I attached a patch to support xwidget webkit for macOS X, rebased onto > the latest master. Hi, I was wondering if there was any progress on this? Did you get your copyright assignment sorted? -- Alan Third From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 30 08:19:43 2018 Received: (at 29565) by debbugs.gnu.org; 30 Mar 2018 12:19:43 +0000 Received: from localhost ([127.0.0.1]:59507 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1f1t0R-0003m0-21 for submit@debbugs.gnu.org; Fri, 30 Mar 2018 08:19:43 -0400 Received: from mail-wm0-f47.google.com ([74.125.82.47]:37375) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1f1t0P-0003ln-34 for 29565@debbugs.gnu.org; Fri, 30 Mar 2018 08:19:41 -0400 Received: by mail-wm0-f47.google.com with SMTP id r131so16478607wmb.2 for <29565@debbugs.gnu.org>; Fri, 30 Mar 2018 05:19:41 -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=AID2BWCJOkTY0tl4nfgVeXPVbM7uS2U0kk7VFyUDzmA=; b=smD119z9LelsvI3h9UsweZonplydVhkiJL8c8fjmO51hJx/AkkxCQGzZ5h4RCyJhQ2 pTj5kMqUol2W7iqByNzs8UfROhbSEplxUWgXMS4JouN4KorLtFLQUdFedpHqweMVRaEN Mk0D+sIKO/Em0S/DGsrXxLvQSwzKpiYMb98d3R/T+g2VNl25porupsy04oIx0aA+3rDH MDCVhOErHNYKe5ik2sBKXzIdnV1iygl4N33dBBvGVenRlU5XcTMZyNQtNXJHTW3Fd2SZ 9yHhWHZQvg0bCou2eEIxAq9MCGrKdfjiRB9hcb1jbQTq2U1gR/fzW7WlQsoXYVzOn6x6 oaIw== 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=AID2BWCJOkTY0tl4nfgVeXPVbM7uS2U0kk7VFyUDzmA=; b=nuMgXhlcUPBM/hdZ25O+myCoYI+9VlkWpVPRSU7Qnz6Yh1k5q5hUI3HCpm94G6AgBC zqwuBKoKXuVYP46WPjwIB24aX4CupO4SXuZAdNH2Xdj6CiP6zy7IXJm9d9GxPgALgfgu ti97jZ/MlcVWig/xE2nsIEwbl5dDXnp97eHUPZZap2BE2N0rPQlPY936liA9GLKVpmkD O7vygQJf9OVlQ+X52AAQ3cyBKl2+4w1F0wMmbGwgrdTUBgQKvSqrbndqiiZFGMwyXC4f anSLMgiwwW+Xkf2xeVTM2Pa25WAj/LI7lKRdv5+hPmwOFIH9/H0+1fMlC7FwVbh4Vmwc h9cg== X-Gm-Message-State: AElRT7H5yYrhCv6jFQChKQzTA4c7XuUpNUr4roiGKGVfAP3iMANrX39p VEd2CfO0o/mxDCpRFMsJQRNkzq+uMYIKHtEgXso= X-Google-Smtp-Source: AIpwx4/OcgW5SQxE8Ia3ZSPuu/V3CaRT91moTGFUPrlnmR8Ust9Arcfeh/yd54z9r30ir8+hoq/coCoxDlU2rOE8cfE= X-Received: by 10.28.116.13 with SMTP id p13mr2277015wmc.60.1522412375363; Fri, 30 Mar 2018 05:19:35 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Jaesup Kwak Date: Fri, 30 Mar 2018 12:19:24 +0000 Message-ID: Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X To: Alan Third Content-Type: multipart/alternative; boundary="f4f5e805d8a8d5d7070568a040e8" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29565 Cc: 29565@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --f4f5e805d8a8d5d7070568a040e8 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Yes, I did. And sorry That I think I will be busy in some months. 2018=EB=85=84 3=EC=9B=94 30=EC=9D=BC (=EA=B8=88) =EC=98=A4=ED=9B=84 8:48, A= lan Third =EB=8B=98=EC=9D=B4 =EC=9E=91=EC=84=B1: > Jaesup Kwak writes: > > > I attached a patch to support xwidget webkit for macOS X, rebased onto > > the latest master. > > Hi, I was wondering if there was any progress on this? Did you get your > copyright assignment sorted? > -- > Alan Third > --f4f5e805d8a8d5d7070568a040e8 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Yes, I did. And sorry That I think I will be busy in some= months.

2018=EB=85=84= 3=EC=9B=94 30=EC=9D=BC (=EA=B8=88) =EC=98=A4=ED=9B=84 8:48, Alan Third <= ;alan@idiocy.org>=EB=8B=98=EC=9D= =B4 =EC=9E=91=EC=84=B1:
Jaesup Kwak= <veshboo@gmail.com> writes:

> I attached a patch to support xwidget webkit for macOS X, rebased onto=
> the latest master.

Hi, I was wondering if there was any progress on this? Did you get your
copyright assignment sorted?
--
Alan Third
--f4f5e805d8a8d5d7070568a040e8-- From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 28 19:52:38 2019 Received: (at 29565) by debbugs.gnu.org; 28 Sep 2019 23:52:39 +0000 Received: from localhost ([127.0.0.1]:51569 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iEMVx-0007zN-TC for submit@debbugs.gnu.org; Sat, 28 Sep 2019 19:52:38 -0400 Received: from mail-pg1-f177.google.com ([209.85.215.177]:36895) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iEMVw-0007z8-7H for 29565@debbugs.gnu.org; Sat, 28 Sep 2019 19:52:36 -0400 Received: by mail-pg1-f177.google.com with SMTP id c17so5338339pgg.4 for <29565@debbugs.gnu.org>; Sat, 28 Sep 2019 16:52:36 -0700 (PDT) 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=6U+IKmW+k3wfP+X21g9enoeYnfBIC0hD3GU97zuy48g=; b=nwL2xCb4MLnSStqCxsghX2sL793XNPW29viz/+Ben/1VGVfIpw3bx9OpKW2a+vv2xn xTO6NyKq2/yOEtowsHUgZlDm3B3Hb4cTRfhEeZ5/Q8OCpiLTOyLdsSujFYzt2zYC05vK 8l3A43epOCxBhvaNGPEuSsyo4680nLDkI8CVSIAKyvZQ2UW4FbFwdEARWmgcA5ycnjWX p2rxzrIG2V7BpxX9JsrJUmkf4QJpyIlI+QtBj2Bse/z/8CcpU95VL/1FND1OdxpmCztA XCSf3aGaeRlIBZD6dHfyugKNU2TJfQTaqQtkPe0tyhCZ5X2PIzSAVR+ukzQkgkLyTPzI 2mSw== X-Gm-Message-State: APjAAAU5aWhYd7Z1F5KZOrxJIFCW8k6w29gX2CtVndTv38yT/8QMK7OF BpH0FuTtQr2u6cDPCooEfVXIcVYqkOQNu/jxKJg= X-Google-Smtp-Source: APXvYqzX6l4IzX3R2QgRFH3hrcxnrlvo/SUfQ9kayGeP919KBj17NkxpbzdwKd6r7/gDmTPu0jL9jiU9RDXhlse22tw= X-Received: by 2002:a62:e917:: with SMTP id j23mr13281054pfh.50.1569714750414; Sat, 28 Sep 2019 16:52:30 -0700 (PDT) MIME-Version: 1.0 From: Stefan Kangas Date: Sun, 29 Sep 2019 01:52:19 +0200 Message-ID: Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X To: Alan Third Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.4 (/) X-Debbugs-Envelope-To: 29565 Cc: 29565@debbugs.gnu.org, Jaesup Kwak X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.6 (/) Alan Third writes: > Jaesup Kwak writes: > >> I attached a patch to support xwidget webkit for macOS X, rebased onto >> the latest master. > > Hi, I was wondering if there was any progress on this? Did you get your > copyright assignment sorted? (In case someone stumbles across this in the bug tracker.) This work was continued by Sungbin Jo. I believe that the latest code is here: https://lists.gnu.org/archive/html/emacs-devel/2019-07/msg00435.html There were some roadblocks to merging this. See the following thread for a discussion: https://lists.gnu.org/archive/html/emacs-devel/2019-08/msg00033.html Best regards, Stefan Kangas From debbugs-submit-bounces@debbugs.gnu.org Mon Aug 10 09:55:18 2020 Received: (at 29565) by debbugs.gnu.org; 10 Aug 2020 13:55:19 +0000 Received: from localhost ([127.0.0.1]:35718 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k58Gk-0006rB-Go for submit@debbugs.gnu.org; Mon, 10 Aug 2020 09:55:18 -0400 Received: from quimby.gnus.org ([95.216.78.240]:48422) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k58Gi-0006iP-GY for 29565@debbugs.gnu.org; Mon, 10 Aug 2020 09:55:17 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=Q7jL0oWyIduz1tr0+5FpXxPscZc7dXKW9oLeAF45Q8U=; b=jFVjwWOwX7My3RCLjzG1wrH+qR C+nUoYnRkJKldSsxlvxbSQLxB89tfKD5U/PvA2h1FgxMWkxSBAFmcLT6W5UJVTrFwO/H5tFH+lTyx fvFFiGkmets1bk37Wl3AIeKHxPesVI/vAZhFKRgWY2INgMxW/ZzFFGiU1wu2PtqNCHzA=; Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo) by quimby with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1k58GW-0005VF-Ax; Mon, 10 Aug 2020 15:55:07 +0200 From: Lars Ingebrigtsen To: Stefan Kangas Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X References: Date: Mon, 10 Aug 2020 15:55:02 +0200 In-Reply-To: (Stefan Kangas's message of "Sun, 29 Sep 2019 01:52:19 +0200") Message-ID: <87pn7y38sp.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Stefan Kangas writes: > This work was continued by Sungbin Jo. I believe that the latest code > is here: > > https://lists.gnu.org/archive/html/emacs-devel/2019-07/msg00435.html > > There were some roadblocks to merging th [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29565 Cc: 29565@debbugs.gnu.org, Alan Third , Jaesup Kwak , Sungbin Jo X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Stefan Kangas writes: > This work was continued by Sungbin Jo. I believe that the latest code > is here: > > https://lists.gnu.org/archive/html/emacs-devel/2019-07/msg00435.html > > There were some roadblocks to merging this. See the following thread > for a discussion: > > https://lists.gnu.org/archive/html/emacs-devel/2019-08/msg00033.html If I understand this correctly, we're not merging Sungbin's patch because gcc doesn't understand the "block" thing in Objective C (yet)... but gcc can't compile the Emacs trunk currently either, so this isn't really a regression? I may be misunderstanding -- I've only skimmed the two threads. But if that's the case, this shouldn't really be something that hinders inclusion of Sungbin's patch anyway. Especially since the xwidget stuff is an optional feature. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Mon Aug 10 15:06:29 2020 Received: (at 29565) by debbugs.gnu.org; 10 Aug 2020 19:06:29 +0000 Received: from localhost ([127.0.0.1]:37515 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5D7s-0008Bn-OD for submit@debbugs.gnu.org; Mon, 10 Aug 2020 15:06:28 -0400 Received: from mailout-l3b-97.contactoffice.com ([212.3.242.97]:58602) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5D7p-0008BP-P8 for 29565@debbugs.gnu.org; Mon, 10 Aug 2020 15:06:27 -0400 Received: from smtpauth2.co-bxl (smtpauth2.co-bxl [10.2.0.24]) by mailout-l3b-97.contactoffice.com (Postfix) with ESMTP id 215F958B; Mon, 10 Aug 2020 21:06:19 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1597086379; s=20200222-6h9o; d=idiocy.org; i=alan@idiocy.org; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:Content-Type:In-Reply-To; l=1270; bh=+lL53D4aPKsxprT9q8D62NXL2wPoMFv3k8ktrOTa99s=; b=I9He6p3qhupGj7Mz6CJI9ZVPhP9m9RfqANzfsC0zWNDZ9KnOnp9bh0BpVC4gWqda /MwfNR4aUos8VG442NcVgQblflTlaD9YIY6hUHTlDcVGT/K3CSL4yMmgiA3E/BnCXRC m9mfL0txVxvf5uqYwWaobvbUzS1t79UmindDGaijqvW/2srTyOvbNqG5YD8sXo1ISwO SLDRFpBW1h7no8Oi9ou8zOevqR1hOV2CwkB4TfUEXdWl0GHFoATXcbWr1mpr/tXcO5f xdCb1nob1QAx2eD/ZeFE3bmmGq/4gpSBh0Vhs+kZ0ORVGO0jpW+5/q/oPJjC8SkNzIU podGyS/Hrg== Received: by smtp.mailfence.com with ESMTPA ; Mon, 10 Aug 2020 21:06:13 +0200 (CEST) Received: by breton.holly.idiocy.org (Postfix, from userid 501) id 57F5E202441514; Mon, 10 Aug 2020 20:06:12 +0100 (BST) Date: Mon, 10 Aug 2020 21:06:14 +0200 (CEST) From: Alan Third To: Lars Ingebrigtsen Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X Message-ID: <20200810190612.GA40992@breton.holly.idiocy.org> Mail-Followup-To: Alan Third , Lars Ingebrigtsen , Stefan Kangas , 29565@debbugs.gnu.org, Jaesup Kwak , Sungbin Jo References: <87pn7y38sp.fsf@gnus.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87pn7y38sp.fsf@gnus.org> X-Spam-Flag: NO X-Spam-Status: No, hits=-2.9 required=4.7 symbols=ALL_TRUSTED, BAYES_00 device=10.2.0.20 X-ContactOffice-Account: com:241649512 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 29565 Cc: 29565@debbugs.gnu.org, Jaesup Kwak , Stefan Kangas , Sungbin Jo X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Mon, Aug 10, 2020 at 03:55:02PM +0200, Lars Ingebrigtsen wrote: > Stefan Kangas writes: > > > This work was continued by Sungbin Jo. I believe that the latest code > > is here: > > > > https://lists.gnu.org/archive/html/emacs-devel/2019-07/msg00435.html > > > > There were some roadblocks to merging this. See the following thread > > for a discussion: > > > > https://lists.gnu.org/archive/html/emacs-devel/2019-08/msg00033.html > > If I understand this correctly, we're not merging Sungbin's patch > because gcc doesn't understand the "block" thing in Objective C > (yet)... but gcc can't compile the Emacs trunk currently either, so > this isn't really a regression? > > I may be misunderstanding -- I've only skimmed the two threads. > > But if that's the case, this shouldn't really be something that hinders > inclusion of Sungbin's patch anyway. Especially since the xwidget stuff > is an optional feature. I felt it was pretty clear that RMS did not want this code in Emacs. We've already had to remove code that used blocks, even though as you point out, GCC can't build Emacs on macOS anyway. I don't really understand the argument. If you wish to argue the point with RMS, go ahead. :) -- Alan Third From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 11 07:04:38 2020 Received: (at 29565) by debbugs.gnu.org; 11 Aug 2020 11:04:38 +0000 Received: from localhost ([127.0.0.1]:38787 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5S57-0005gn-RM for submit@debbugs.gnu.org; Tue, 11 Aug 2020 07:04:38 -0400 Received: from quimby.gnus.org ([95.216.78.240]:58944) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5S55-0005gY-3a for 29565@debbugs.gnu.org; Tue, 11 Aug 2020 07:04:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=jOs5jbNGzUTja5qaRXGASPCe+PTzDy9sGB8CijQeIAs=; b=G410/oZvZMhDFYN+ayT+ckq2z1 rLhPUZcyYqo/BCBBCXLp+IggQ8sRXYcnAGp8uoug02Gk8ygif2egwvdLpvZpElcOScjiGUWyGl/+m Zoxu7wSgeF+cxPtBsPgQaO9kKh82fpemVUjDLkIS/XMKfVakkZgk15kSLDsLEakuyiXU=; Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo) by quimby with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1k5S4p-0002c7-0q; Tue, 11 Aug 2020 13:04:23 +0200 From: Lars Ingebrigtsen To: Alan Third Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X References: <87pn7y38sp.fsf@gnus.org> <20200810190612.GA40992@breton.holly.idiocy.org> Date: Tue, 11 Aug 2020 13:04:17 +0200 In-Reply-To: <20200810190612.GA40992@breton.holly.idiocy.org> (Alan Third's message of "Mon, 10 Aug 2020 21:06:14 +0200 (CEST)") Message-ID: <87tux9xx3i.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Alan Third writes: > I felt it was pretty clear that RMS did not want this code in Emacs. > We've already had to remove code that used blocks, even though as you > point out, GCC can't build Emacs on macOS anyway. > > I [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29565 Cc: 29565@debbugs.gnu.org, Jaesup Kwak , Eli Zaretskii , Stefan Kangas , Sungbin Jo X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Alan Third writes: > I felt it was pretty clear that RMS did not want this code in Emacs. > We've already had to remove code that used blocks, even though as you > point out, GCC can't build Emacs on macOS anyway. > > I don't really understand the argument. > > If you wish to argue the point with RMS, go ahead. :) rms isn't the Emacs maintainer, though, so it's up to Eli. Eli, what do you think? -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 11 11:22:41 2020 Received: (at 29565) by debbugs.gnu.org; 11 Aug 2020 15:22:41 +0000 Received: from localhost ([127.0.0.1]:41438 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5W6n-0000yD-4J for submit@debbugs.gnu.org; Tue, 11 Aug 2020 11:22:41 -0400 Received: from eggs.gnu.org ([209.51.188.92]:44318) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5W6l-0000y1-FI for 29565@debbugs.gnu.org; Tue, 11 Aug 2020 11:22:35 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:44051) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k5W6f-0001LE-MQ; Tue, 11 Aug 2020 11:22:29 -0400 Received: from [176.228.60.248] (port=3876 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1k5W6Y-0002dB-2a; Tue, 11 Aug 2020 11:22:22 -0400 Date: Tue, 11 Aug 2020 18:22:08 +0300 Message-Id: <83eeod438f.fsf@gnu.org> From: Eli Zaretskii To: Lars Ingebrigtsen , Richard Stallman In-Reply-To: <87tux9xx3i.fsf@gnus.org> (message from Lars Ingebrigtsen on Tue, 11 Aug 2020 13:04:17 +0200) Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X References: <87pn7y38sp.fsf@gnus.org> <20200810190612.GA40992@breton.holly.idiocy.org> <87tux9xx3i.fsf@gnus.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 29565 Cc: 29565@debbugs.gnu.org, veshboo@gmail.com, alan@idiocy.org, stefan@marxist.se, pcr910303@icloud.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Lars Ingebrigtsen > Cc: Stefan Kangas , 29565@debbugs.gnu.org, Jaesup Kwak > , Sungbin Jo , Eli Zaretskii > > Date: Tue, 11 Aug 2020 13:04:17 +0200 > > Alan Third writes: > > > I felt it was pretty clear that RMS did not want this code in Emacs. > > We've already had to remove code that used blocks, even though as you > > point out, GCC can't build Emacs on macOS anyway. > > > > I don't really understand the argument. > > > > If you wish to argue the point with RMS, go ahead. :) > > rms isn't the Emacs maintainer, though, so it's up to Eli. > > Eli, what do you think? I actually don't see where Richard said he didn't want this code in Emacs. The code doesn't implement any feature we don't have on free systems, so why does it matter what compiler is required for that? At worst, macOS users will not have xwidget webkit support, so what? From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 11 12:27:18 2020 Received: (at 29565) by debbugs.gnu.org; 11 Aug 2020 16:27:18 +0000 Received: from localhost ([127.0.0.1]:41506 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5X7I-0006yE-7M for submit@debbugs.gnu.org; Tue, 11 Aug 2020 12:27:18 -0400 Received: from quimby.gnus.org ([95.216.78.240]:34258) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5X7D-0006xk-MU for 29565@debbugs.gnu.org; Tue, 11 Aug 2020 12:27:11 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=xLB6eh7C0xBS3MKfllfNDvaWOwMrWSJGUmNvOioAf0w=; b=IYpx7BL1t4OJkAIWd41yegZJR/ AxCsMyVHCgdcP7y4eok19KsQnF7eT1+4CqhTZ0NsVL0lLdVOV3tGK+qVxEiXDrTU+hvgUlhF1vwPi BbmlxzKzXZOJpy5zJ7KJ9r6VYhIXacRXlfCj5Nv0nLH6vJjLI8EYz22tYazmISjY+LUM=; Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo) by quimby with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1k5X6t-00065O-K2; Tue, 11 Aug 2020 18:26:59 +0200 From: Lars Ingebrigtsen To: Eli Zaretskii Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X References: <87pn7y38sp.fsf@gnus.org> <20200810190612.GA40992@breton.holly.idiocy.org> <87tux9xx3i.fsf@gnus.org> <83eeod438f.fsf@gnu.org> Date: Tue, 11 Aug 2020 18:26:45 +0200 In-Reply-To: <83eeod438f.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 11 Aug 2020 18:22:08 +0300") Message-ID: <87mu31rvwa.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Eli Zaretskii writes: > I actually don't see where Richard said he didn't want this code in > Emacs. The code doesn't implement any feature we don't have on free > systems, so why does it matter what compiler is required f [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29565 Cc: alan@idiocy.org, veshboo@gmail.com, Richard Stallman , stefan@marxist.se, 29565@debbugs.gnu.org, pcr910303@icloud.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Eli Zaretskii writes: > I actually don't see where Richard said he didn't want this code in > Emacs. The code doesn't implement any feature we don't have on free > systems, so why does it matter what compiler is required for that? At > worst, macOS users will not have xwidget webkit support, so what? Indeed. The patch no longer applies cleanly to Emacs 28, so I've respun it, and there's no adverse effects on Debian, at least. I've included it below for reference (since I think all proposed patches should be in the bug tracker, even if this is very long). There's a couple of compilation warnings, but if we decide to apply this, I'll fix those before pushing. There's one thing that doesn't work, though (so it's commented out below): + CHECK_RANGED_INTEGER (rel_pos, -1, 1); /* -1, 0, 1 */ Is that a macro that Emacs used to have? I can't find it now. And... I'm unable to test this on Macos, because Homebrew doesn't offer webkitgtk, apparently. diff --git a/configure.ac b/configure.ac index c9aa076eb3..7ce64f79ca 100644 --- a/configure.ac +++ b/configure.ac @@ -489,7 +489,7 @@ AC_DEFUN [with_file_notification=$with_features]) OPTION_DEFAULT_OFF([xwidgets], - [enable use of some gtk widgets in Emacs buffers (requires gtk3)]) + [enable use of xwidgets in Emacs buffers (requires gtk3 or macOS Cocoa)]) ## For the times when you want to build Emacs but don't have ## a suitable makeinfo, and can live without the manuals. @@ -2754,20 +2754,34 @@ AC_DEFUN dnl Enable xwidgets if GTK3 and WebKitGTK+ are available. +dnl Enable xwidgets if macOS Cocoa and WebKit framework are available. HAVE_XWIDGETS=no XWIDGETS_OBJ= if test "$with_xwidgets" != "no"; then - test "$USE_GTK_TOOLKIT" = "GTK3" && test "$window_system" != "none" || - AC_MSG_ERROR([xwidgets requested but gtk3 not used.]) + if test "$USE_GTK_TOOLKIT" = "GTK3" && test "$window_system" != "none"; then + WEBKIT_REQUIRED=2.12 + WEBKIT_MODULES="webkit2gtk-4.0 >= $WEBKIT_REQUIRED" + EMACS_CHECK_MODULES([WEBKIT], [$WEBKIT_MODULES]) + HAVE_XWIDGETS=$HAVE_WEBKIT + XWIDGETS_OBJ="xwidget.o" + elif test "${NS_IMPL_COCOA}" = "yes"; then + dnl FIXME: Check framework WebKit2 + dnl WEBKIT_REQUIRED=M.m.p + WEBKIT_LIBS="-Wl,-framework -Wl,WebKit" + WEBKIT_CFLAGS="-I/System/Library/Frameworks/WebKit.framework/Headers" + HAVE_WEBKIT="yes" + HAVE_XWIDGETS=$HAVE_WEBKIT + XWIDGETS_OBJ="xwidget.o" + NS_OBJC_OBJ="$NS_OBJC_OBJ nsxwidget.o" + dnl Update NS_OBJC_OBJ with added nsxwidget.o + AC_SUBST(NS_OBJC_OBJ) + else + AC_MSG_ERROR([xwidgets requested, it requires GTK3 as X window toolkit or macOS Cocoa as window system.]) + fi - WEBKIT_REQUIRED=2.12 - WEBKIT_MODULES="webkit2gtk-4.0 >= $WEBKIT_REQUIRED" - EMACS_CHECK_MODULES([WEBKIT], [$WEBKIT_MODULES]) - HAVE_XWIDGETS=$HAVE_WEBKIT test $HAVE_XWIDGETS = yes || - AC_MSG_ERROR([xwidgets requested but WebKitGTK+ not found.]) + AC_MSG_ERROR([xwidgets requested but WebKitGTK+ or WebKit framework not found.]) - XWIDGETS_OBJ=xwidget.o AC_DEFINE([HAVE_XWIDGETS], 1, [Define to 1 if you have xwidgets support.]) fi AC_SUBST(XWIDGETS_OBJ) @@ -5688,7 +5702,7 @@ AC_DEFUN Does Emacs directly use zlib? ${HAVE_ZLIB} Does Emacs have dynamic modules support? ${HAVE_MODULES} Does Emacs use toolkit scroll bars? ${USE_TOOLKIT_SCROLL_BARS} - Does Emacs support Xwidgets (requires gtk3)? ${HAVE_XWIDGETS} + Does Emacs support Xwidgets? ${HAVE_XWIDGETS} Does Emacs have threading support in lisp? ${threads_enabled} Does Emacs support the portable dumper? ${with_pdumper} Does Emacs support legacy unexec dumping? ${with_unexec} diff --git a/lisp/xwidget.el b/lisp/xwidget.el index a4c15a1e26..6bc16f744a 100644 --- a/lisp/xwidget.el +++ b/lisp/xwidget.el @@ -39,9 +39,10 @@ (declare-function xwidget-buffer "xwidget.c" (xwidget)) (declare-function xwidget-size-request "xwidget.c" (xwidget)) (declare-function xwidget-resize "xwidget.c" (xwidget new-width new-height)) -(declare-function xwidget-webkit-execute-script "xwidget.c" - (xwidget script &optional callback)) +(declare-function xwidget-webkit-uri "xwidget.c" (xwidget)) +(declare-function xwidget-webkit-title "xwidget.c" (xwidget)) (declare-function xwidget-webkit-goto-uri "xwidget.c" (xwidget uri)) +(declare-function xwidget-webkit-goto-history "xwidget.c" (xwidget rel-pos)) (declare-function xwidget-webkit-zoom "xwidget.c" (xwidget factor)) (declare-function xwidget-plist "xwidget.c" (xwidget)) (declare-function set-xwidget-plist "xwidget.c" (xwidget plist)) @@ -51,6 +52,10 @@ (declare-function get-buffer-xwidgets "xwidget.c" (buffer)) (declare-function xwidget-query-on-exit-flag "xwidget.c" (xwidget)) +(defgroup xwidget nil + "Displaying native widgets in Emacs buffers." + :group 'widgets) + (defun xwidget-insert (pos type title width height &optional args) "Insert an xwidget at position POS. Supply the xwidget's TYPE, TITLE, WIDTH, and HEIGHT. @@ -78,6 +83,8 @@ xwidget-at ;;; webkit support (require 'browse-url) (require 'image-mode);;for some image-mode alike functionality +(require 'seq) +(require 'url-handlers) ;;;###autoload (defun xwidget-webkit-browse-url (url &optional new-session) @@ -99,6 +106,24 @@ xwidget-webkit-browse-url (xwidget-webkit-new-session url) (xwidget-webkit-goto-url url)))) +(defun xwidget-webkit-split-below () + "Clone current URL into a new widget place in new window below. +Get the URL of current session, then browse to the URL +in `split-window-below' with a new xwidget webkit session." + (interactive) + (let ((url (xwidget-webkit-current-url))) + (with-selected-window (split-window-below) + (xwidget-webkit-new-session url)))) + +(defun xwidget-webkit-split-right () + "Clone current URL into a new widget place in new window right. +Get the URL of current session, then browse to the URL +in `split-window-right' with a new xwidget webkit session." + (interactive) + (let ((url (xwidget-webkit-current-url))) + (with-selected-window (split-window-right) + (xwidget-webkit-new-session url)))) + ;;todo. ;; - check that the webkit support is compiled in (defvar xwidget-webkit-mode-map @@ -106,34 +131,42 @@ xwidget-webkit-mode-map (define-key map "g" 'xwidget-webkit-browse-url) (define-key map "a" 'xwidget-webkit-adjust-size-dispatch) (define-key map "b" 'xwidget-webkit-back) + (define-key map "f" 'xwidget-webkit-forward) (define-key map "r" 'xwidget-webkit-reload) (define-key map "t" (lambda () (interactive) (message "o"))) ;FIXME: ?!? (define-key map "\C-m" 'xwidget-webkit-insert-string) - (define-key map "w" 'xwidget-webkit-current-url) + (define-key map "w" 'xwidget-webkit-current-url-message-kill) (define-key map "+" 'xwidget-webkit-zoom-in) (define-key map "-" 'xwidget-webkit-zoom-out) ;;similar to image mode bindings (define-key map (kbd "SPC") 'xwidget-webkit-scroll-up) + (define-key map (kbd "S-SPC") 'xwidget-webkit-scroll-down) (define-key map (kbd "DEL") 'xwidget-webkit-scroll-down) - (define-key map [remap scroll-up] 'xwidget-webkit-scroll-up) + (define-key map [remap scroll-up] 'xwidget-webkit-scroll-up-line) (define-key map [remap scroll-up-command] 'xwidget-webkit-scroll-up) - (define-key map [remap scroll-down] 'xwidget-webkit-scroll-down) + (define-key map [remap scroll-down] 'xwidget-webkit-scroll-down-line) (define-key map [remap scroll-down-command] 'xwidget-webkit-scroll-down) (define-key map [remap forward-char] 'xwidget-webkit-scroll-forward) (define-key map [remap backward-char] 'xwidget-webkit-scroll-backward) (define-key map [remap right-char] 'xwidget-webkit-scroll-forward) (define-key map [remap left-char] 'xwidget-webkit-scroll-backward) - (define-key map [remap previous-line] 'xwidget-webkit-scroll-down) - (define-key map [remap next-line] 'xwidget-webkit-scroll-up) + (define-key map [remap previous-line] 'xwidget-webkit-scroll-down-line) + (define-key map [remap next-line] 'xwidget-webkit-scroll-up-line) ;; (define-key map [remap move-beginning-of-line] 'image-bol) ;; (define-key map [remap move-end-of-line] 'image-eol) (define-key map [remap beginning-of-buffer] 'xwidget-webkit-scroll-top) (define-key map [remap end-of-buffer] 'xwidget-webkit-scroll-bottom) + + ;; For macOS xwidget webkit, we don't support multiple views for a + ;; model, instead, create a new session and model behind the scene. + (when (memq window-system '(mac ns)) + (define-key map [remap split-window-below] 'xwidget-webkit-split-below) + (define-key map [remap split-window-right] 'xwidget-webkit-split-right)) map) "Keymap for `xwidget-webkit-mode'.") @@ -147,33 +180,69 @@ xwidget-webkit-zoom-out (interactive) (xwidget-webkit-zoom (xwidget-webkit-current-session) -0.1)) -(defun xwidget-webkit-scroll-up () - "Scroll webkit up." - (interactive) +(defun xwidget-webkit-scroll-up (&optional n) + "Scroll webkit up by N pixels or window height pixels. +Stop if the bottom edge of the page is reached. +If N is omitted or nil, scroll up by window height pixels." + (interactive "P") (xwidget-webkit-execute-script (xwidget-webkit-current-session) - "window.scrollBy(0, 50);")) - -(defun xwidget-webkit-scroll-down () - "Scroll webkit down." - (interactive) + (format "window.scrollBy(0, %d);" + (or n (xwidget-window-inside-pixel-height (selected-window)))))) + +(defun xwidget-webkit-scroll-down (&optional n) + "Scroll webkit down by N pixels or window height pixels. +Stop if the top edge of the page is reached. +If N is omitted or nil, scroll down by window height pixels." + (interactive "P") (xwidget-webkit-execute-script (xwidget-webkit-current-session) - "window.scrollBy(0, -50);")) - -(defun xwidget-webkit-scroll-forward () - "Scroll webkit forwards." - (interactive) + (format "window.scrollBy(0, -%d);" + (or n (xwidget-window-inside-pixel-height (selected-window)))))) + +(defcustom xwidget-webkit-scroll-line-height 50 + "Default line height in pixels to scroll xwidget webkit." + :type 'integer) + +(defcustom xwidget-webkit-scroll-char-width 10 + "Default char height in pixels to scroll xwidget webkit." + :type 'integer) + +(defun xwidget-webkit-scroll-up-line (&optional n) + "Scroll webkit up by N lines. +The height of line is `xwidget-webkit-scroll-line-height' pixels. +Stop if the bottom edge of the page is reached. +If N is omitted or nil, scroll up by one line." + (interactive "p") + (xwidget-webkit-scroll-up (* n xwidget-webkit-scroll-line-height))) + +(defun xwidget-webkit-scroll-down-line (&optional n) + "Scroll webkit down by N lines. +The height of line is `xwidget-webkit-scroll-line-height' pixels. +Stop if the top edge of the page is reached. +If N is omitted or nil, scroll down by one line." + (interactive "p") + (xwidget-webkit-scroll-down (* n xwidget-webkit-scroll-line-height))) + +(defun xwidget-webkit-scroll-forward (&optional n) + "Scroll webkit forwards by N chars. +The width of char is `xwidget-webkit-scroll-char-width' pixels. +If N is ommited or nil, scroll forwards by one char." + (interactive "p") (xwidget-webkit-execute-script (xwidget-webkit-current-session) - "window.scrollBy(50, 0);")) - -(defun xwidget-webkit-scroll-backward () - "Scroll webkit backwards." - (interactive) + (format "window.scrollBy(%d, 0);" + (* n xwidget-webkit-scroll-char-width)))) + +(defun xwidget-webkit-scroll-backward (&optional n) + "Scroll webkit backwards by N chars. +The width of char is `xwidget-webkit-scroll-char-width' pixels. +If N is ommited or nil, scroll backwards by one char." + (interactive "p") (xwidget-webkit-execute-script (xwidget-webkit-current-session) - "window.scrollBy(-50, 0);")) + (format "window.scrollBy(-%d, 0);" + (* n xwidget-webkit-scroll-char-width)))) (defun xwidget-webkit-scroll-top () "Scroll webkit to the very top." @@ -187,7 +256,7 @@ xwidget-webkit-scroll-bottom (interactive) (xwidget-webkit-execute-script (xwidget-webkit-current-session) - "window.scrollTo(pageXOffset, window.document.body.clientHeight);")) + "window.scrollTo(pageXOffset, window.document.body.scrollHeight);")) ;; The xwidget event needs to go into a higher level handler ;; since the xwidget can generate an event even if it's offscreen. @@ -218,43 +287,141 @@ xwidget-webkit-callback "error: callback called for xwidget with dead buffer") (with-current-buffer (xwidget-buffer xwidget) (cond ((eq xwidget-event-type 'load-changed) - (xwidget-webkit-execute-script - xwidget "document.title" - (lambda (title) - (xwidget-log "webkit finished loading: '%s'" title) - ;;TODO - check the native/internal scroll - ;;(xwidget-adjust-size-to-content xwidget) - (xwidget-webkit-adjust-size-to-window xwidget) - (rename-buffer (format "*xwidget webkit: %s *" title)))) - (pop-to-buffer (current-buffer))) + ;; We do not change selected window for the finish of loading a page. + ;; And do not adjust webkit size to window here, the selected window + ;; can be the mini-buffer window unwantedly. + (let ((title (xwidget-webkit-title xwidget))) + (xwidget-log "webkit finished loading: %s" title) + (rename-buffer (format "*xwidget webkit: %s *" title) t))) ((eq xwidget-event-type 'decide-policy) (let ((strarg (nth 3 last-input-event))) (if (string-match ".*#\\(.*\\)" strarg) (xwidget-webkit-show-id-or-named-element xwidget (match-string 1 strarg))))) + ;; TODO: Response handling other than download. + ((eq xwidget-event-type 'download-callback) + (let ((url (nth 3 last-input-event)) + (mime-type (nth 4 last-input-event)) + (file-name (nth 5 last-input-event))) + (xwidget-webkit-save-as-file url mime-type file-name))) ((eq xwidget-event-type 'javascript-callback) (let ((proc (nth 3 last-input-event)) (arg (nth 4 last-input-event))) - (funcall proc arg))) + ;; Some javascript return vector as result + (funcall proc (if (vectorp arg) (seq-into arg 'list) arg)))) (t (xwidget-log "unhandled event:%s" xwidget-event-type)))))) (defvar bookmark-make-record-function) +(defvar isearch-search-fun-function) +(when (memq window-system '(mac ns)) + (defcustom xwidget-webkit-enable-plugins nil + "Enable plugins for xwidget webkit. +If non-nil, plugins are enabled. Otherwise, disabled." + :type 'boolean)) + (define-derived-mode xwidget-webkit-mode special-mode "xwidget-webkit" "Xwidget webkit view mode." (setq buffer-read-only t) + (setq cursor-type nil) (setq-local bookmark-make-record-function #'xwidget-webkit-bookmark-make-record) + (setq-local isearch-search-fun-function + #'xwidget-webkit-search-fun-function) + (setq-local isearch-lazy-highlight nil) ;; Keep track of [vh]scroll when switching buffers (image-mode-setup-winprops)) +;;; Download, save as file. + +(defcustom xwidget-webkit-download-dir "~/Downloads/" + "Directory where download file saved." + :type 'string) + +(defun xwidget-webkit-save-as-file (url mime-type &optional file-name) + "For XWIDGET webkit, save URL resource of MIME-TYPE as FILE-NAME." + (let ((save-name (read-file-name + (format "Save '%s' file as: " mime-type) + xwidget-webkit-download-dir + (expand-file-name + file-name + xwidget-webkit-download-dir)))) + (if (file-directory-p save-name) + (setq save-name + (expand-file-name (file-name-nondirectory file-name) save-name))) + (setq xwidget-webkit-download-dir (file-name-directory save-name)) + (url-copy-file url save-name t))) + +;;; Bookmarks integration + +(defcustom xwidget-webkit-bookmark-jump-new-session nil + "Control bookmark jump to use new session or not. +If non-nil, it will use a new session. Otherwise, it will use +`xwidget-webkit-last-session'. When you set this variable to +nil, consider further customization with +`xwidget-webkit-last-session-buffer'." + :type 'boolean) + (defun xwidget-webkit-bookmark-make-record () "Integrate Emacs bookmarks with the webkit xwidget." (nconc (bookmark-make-record-default t t) - `((page . ,(xwidget-webkit-current-url)) - (handler . (lambda (bmk) (browse-url - (bookmark-prop-get bmk 'page))))))) - + `((page . ,(xwidget-webkit-current-url)) + (handler . (lambda (bmk) + (xwidget-webkit-browse-url + (bookmark-prop-get bmk 'page) + xwidget-webkit-bookmark-jump-new-session)))))) + +;;; Search text in page + +;; Initialize last search text length variable when isearch starts +(defvar xwidget-webkit-isearch-last-length 0) +(add-hook 'isearch-mode-hook + (lambda () + (setq xwidget-webkit-isearch-last-length 0))) + +;; This is minimal. Regex and incremental search will be nice +(defvar xwidget-webkit-search-js " +var xwSearchForward = %s; +var xwSearchRepeat = %s; +var xwSearchString = '%s'; +if (window.getSelection() && !window.getSelection().isCollapsed) { + if (xwSearchRepeat) { + if (xwSearchForward) + window.getSelection().collapseToEnd(); + else + window.getSelection().collapseToStart(); + } else { + if (xwSearchForward) + window.getSelection().collapseToStart(); + else { + var sel = window.getSelection(); + window.getSelection().collapse(sel.focusNode, sel.focusOffset + 1); + } + } +} +window.find(xwSearchString, false, !xwSearchForward, true, false, true); +") + +(defun xwidget-webkit-search-fun-function () + "Return the function which perform the search in xwidget webkit." + (lambda (string &optional _bound _noerror _count) + (let* ((current-length (length string)) + (search-forward (if isearch-forward "true" "false")) + (search-repeat + (if (eq current-length xwidget-webkit-isearch-last-length) + "true" + "false"))) + (setq xwidget-webkit-isearch-last-length current-length) + (xwidget-webkit-execute-script + (xwidget-webkit-current-session) + (format xwidget-webkit-search-js + search-forward + search-repeat + (regexp-quote string))) + ;; Unconditionally avoid 'Failing I-search ...' + (goto-char (if isearch-forward (point-min) (point-max)))))) + +;;; xwidget webkit session (defvar xwidget-webkit-last-session-buffer nil) @@ -302,7 +469,7 @@ xwidget-webkit-activeelement-js" " - "javascript that finds the active element." + "Javascript that finds the active element." ;; Yes it's ugly, because: ;; - there is apparently no way to find the active frame other than recursion ;; - the js "for each" construct misbehaved on the "frames" collection @@ -312,25 +479,29 @@ xwidget-webkit-activeelement-js" ) (defun xwidget-webkit-insert-string () - "Prompt for a string and insert it in the active field in the -current webkit widget." + "Insert string into the active field in the current webkit widget." ;; Read out the string in the field first and provide for edit. (interactive) + ;; As the prompt needs to change based on the asynchronous execution results, + ;; the function must handle the string itself. (let ((xww (xwidget-webkit-current-session))) + (xwidget-webkit-execute-script xww (concat xwidget-webkit-activeelement-js " (function () { var res = findactiveelement(document); - return [res.value, res.type]; + if (res) + return [res.value, res.type]; })();") (lambda (field) + "Prompt a string for the FIELD and insert in the active input." (let ((str (pcase field - (`[,val "text"] + (`(,val "text") (read-string "Text: " val)) - (`[,val "password"] + (`(,val "password") (read-passwd "Password: " nil val)) - (`[,val "textarea"] + (`(,val "textarea") (xwidget-webkit-begin-edit-textarea xww val))))) (xwidget-webkit-execute-script xww @@ -443,11 +614,23 @@ xwidget-webkit-adjust-size-dispatch (ignore-errors (recenter-top-bottom))) +;; Utility functions, wanted in `window.el' + +(defun xwidget-window-inside-pixel-width (window) + "Return Emacs WINDOW body width in pixel." + (let ((edges (window-inside-pixel-edges window))) + (- (nth 2 edges) (nth 0 edges)))) + +(defun xwidget-window-inside-pixel-height (window) + "Return Emacs WINDOW body height in pixel." + (let ((edges (window-inside-pixel-edges window))) + (- (nth 3 edges) (nth 1 edges)))) + (defun xwidget-webkit-adjust-size-to-window (xwidget &optional window) "Adjust the size of the webkit XWIDGET to fit the WINDOW." (xwidget-resize xwidget - (window-pixel-width window) - (window-pixel-height window))) + (xwidget-window-inside-pixel-width window) + (xwidget-window-inside-pixel-height window))) (defun xwidget-webkit-adjust-size (w h) "Manually set webkit size to width W, height H." @@ -487,10 +670,14 @@ xwidget-webkit-new-session (get-buffer-create bufname))) ;; The xwidget id is stored in a text property, so we need to have ;; at least character in this buffer. - (insert " ") - (setq xw (xwidget-insert 1 'webkit bufname - (window-pixel-width) - (window-pixel-height))) + ;; Insert invisible url, good default for next `g' to browse url. + (let ((start (point))) + (insert url) + (put-text-property start (+ start (length url)) 'invisible t) + (setq xw (xwidget-insert + start 'webkit bufname + (xwidget-window-inside-pixel-width (selected-window)) + (xwidget-window-inside-pixel-height (selected-window))))) (xwidget-put xw 'callback callback) (xwidget-webkit-mode) (xwidget-webkit-goto-uri (xwidget-webkit-last-session) url))) @@ -506,23 +693,27 @@ xwidget-webkit-goto-url (defun xwidget-webkit-back () "Go back in history." (interactive) - (xwidget-webkit-execute-script (xwidget-webkit-current-session) - "history.go(-1);")) + (xwidget-webkit-goto-history (xwidget-webkit-current-session) -1)) + +(defun xwidget-webkit-forward () + "Go forward in history." + (interactive) + (xwidget-webkit-goto-history (xwidget-webkit-current-session) 1)) (defun xwidget-webkit-reload () - "Reload current url." + "Reload current URL." (interactive) - (xwidget-webkit-execute-script (xwidget-webkit-current-session) - "history.go(0);")) + (xwidget-webkit-goto-history (xwidget-webkit-current-session) 0)) (defun xwidget-webkit-current-url () - "Get the webkit url and place it on the kill-ring." + "Get the current xwidget webkit URL." (interactive) - (xwidget-webkit-execute-script - (xwidget-webkit-current-session) - "document.URL" (lambda (rv) - (let ((url (kill-new (or rv "")))) - (message "url: %s" url))))) + (xwidget-webkit-uri (xwidget-webkit-current-session))) + +(defun xwidget-webkit-current-url-message-kill () + "Display the current xwidget webkit URL and place it on the `kill-ring'." + (interactive) + (message "URL: %s" (kill-new (or (xwidget-webkit-current-url) "")))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun xwidget-webkit-get-selection (proc) @@ -533,10 +724,9 @@ xwidget-webkit-get-selection proc)) (defun xwidget-webkit-copy-selection-as-kill () - "Get the webkit selection and put it on the kill-ring." + "Get the webkit selection and put it on the `kill-ring'." (interactive) - (xwidget-webkit-get-selection (lambda (selection) (kill-new selection)))) - + (xwidget-webkit-get-selection #'kill-new)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Xwidget plist management (similar to the process plist functions) diff --git a/nextstep/templates/Info.plist.in b/nextstep/templates/Info.plist.in index f791ade7b9..1f074b0457 100644 --- a/nextstep/templates/Info.plist.in +++ b/nextstep/templates/Info.plist.in @@ -675,8 +675,16 @@ along with GNU Emacs. If not, see . NSAppleScriptEnabled YES - NSAppleEventsUsageDescription - Emacs requires permission to send AppleEvents to other applications. + NSAppleEventsUsageDescription + Emacs requires permission to send AppleEvents to other applications. + + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + NSDesktopFolderUsageDescription Emacs requires permission to access the Desktop folder. NSDocumentsFolderUsageDescription diff --git a/src/Makefile.in b/src/Makefile.in index 7141f16ec2..c5fb2ea3ab 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -433,6 +433,7 @@ SOME_MACHINE_OBJECTS = xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o fringe.o image.o \ fontset.o dbusbind.o cygw32.o \ nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o macfont.o \ + nsxwidget.o \ w32.o w32console.o w32cygwinx.o w32fns.o w32heap.o w32inevt.o w32notify.o \ w32menu.o w32proc.o w32reg.o w32select.o w32term.o w32xfns.o \ w16select.o widget.o xfont.o ftfont.o xftfont.o gtkutil.o \ diff --git a/src/emacs.c b/src/emacs.c index d31fa2cb28..cb04de4aab 100644 --- a/src/emacs.c +++ b/src/emacs.c @@ -1860,7 +1860,6 @@ main (int argc, char **argv) syms_of_xfns (); syms_of_xmenu (); syms_of_fontset (); - syms_of_xwidget (); syms_of_xsettings (); #ifdef HAVE_X_SM syms_of_xsmfns (); @@ -1937,6 +1936,7 @@ main (int argc, char **argv) #endif /* HAVE_W32NOTIFY */ #endif /* WINDOWSNT */ + syms_of_xwidget (); syms_of_threads (); syms_of_profiler (); syms_of_pdumper (); diff --git a/src/nsterm.m b/src/nsterm.m index 572b859a98..03dfa157a5 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -49,6 +49,7 @@ Updated by Christian Limpach (chris@nice.ch) #include "nsterm.h" #include "systime.h" #include "character.h" +#include "xwidget.h" #include "fontset.h" #include "composite.h" #include "ccl.h" @@ -2600,7 +2601,7 @@ so some key presses (TAB) are swallowed by the system. */ } static int -ns_note_mouse_movement (struct frame *frame, CGFloat x, CGFloat y) +ns_note_mouse_movement (struct frame *frame, CGFloat x, CGFloat y, BOOL dragging) /* ------------------------------------------------------------------------ Called by EmacsView on mouseMovement events. Passes on to emacs mainstream code if we moved off of a rect of interest @@ -2609,17 +2610,24 @@ so some key presses (TAB) are swallowed by the system. */ { struct ns_display_info *dpyinfo = FRAME_DISPLAY_INFO (frame); NSRect *r; + BOOL force_update = NO; // NSTRACE ("note_mouse_movement"); dpyinfo->last_mouse_motion_frame = frame; r = &dpyinfo->last_mouse_glyph; + /* If the last rect is too large (ex, xwidget webkit), update at + every move, or resizing by dragging modeline or vertical split is + very hard to make its way. */ + if (dragging && (r->size.width > 32 || r->size.height > 32)) + force_update = YES; + /* Note, this doesn't get called for enter/leave, since we don't have a position. Those are taken care of in the corresponding NSView methods. */ - /* Has movement gone beyond last rect we were tracking? */ - if (x < r->origin.x || x >= r->origin.x + r->size.width + /* Has movement gone beyond last rect we were tracking? */ + if (force_update || x < r->origin.x || x >= r->origin.x + r->size.width || y < r->origin.y || y >= r->origin.y + r->size.height) { ns_update_begin (frame); @@ -4368,6 +4376,10 @@ overwriting cursor (usually when cursor on a tab) */ ns_unfocus (s->f); break; + case XWIDGET_GLYPH: + x_draw_xwidget_glyph_string (s); + break; + case STRETCH_GLYPH: ns_dumpglyphs_stretch (s); break; @@ -7065,6 +7077,7 @@ - (void)mouseMoved: (NSEvent *)e struct ns_display_info *dpyinfo = FRAME_DISPLAY_INFO (emacsframe); Lisp_Object frame; NSPoint pt; + BOOL dragging; NSTRACE_WHEN (NSTRACE_GROUP_EVENTS, "[EmacsView mouseMoved:]"); @@ -7107,7 +7120,8 @@ - (void)mouseMoved: (NSEvent *)e last_mouse_window = window; } - if (!ns_note_mouse_movement (emacsframe, pt.x, pt.y)) + dragging = (e.type == NSEventTypeLeftMouseDragged); + if (!ns_note_mouse_movement (emacsframe, pt.x, pt.y, dragging)) help_echo_string = previous_help_echo_string; XSETFRAME (frame, emacsframe); diff --git a/src/nsxwidget.h b/src/nsxwidget.h new file mode 100644 index 0000000000..6af5fe5a4d --- /dev/null +++ b/src/nsxwidget.h @@ -0,0 +1,80 @@ +/* Header for NS Cocoa part of xwidget and webkit widget. + +Copyright (C) 2011-2017 Free Software Foundation, Inc. + +This file is part of GNU Emacs. + +GNU Emacs is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or (at +your option) any later version. + +GNU Emacs is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Emacs. If not, see . */ + +#ifndef NSXWIDGET_H_INCLUDED +#define NSXWIDGET_H_INCLUDED + +/* This file can be included from non-objc files through 'xwidget.h'. */ +#ifdef __OBJC__ +#import +#endif + +#include "dispextern.h" +#include "lisp.h" +#include "xwidget.h" + +/* Functions for xwidget webkit. */ + +bool nsxwidget_is_web_view (struct xwidget *xw); +Lisp_Object nsxwidget_webkit_uri (struct xwidget *xw); +Lisp_Object nsxwidget_webkit_title (struct xwidget *xw); +void nsxwidget_webkit_goto_uri (struct xwidget *xw, const char *uri); +void nsxwidget_webkit_goto_history (struct xwidget *xw, int rel_pos); +void nsxwidget_webkit_zoom (struct xwidget *xw, double zoom_change); +void nsxwidget_webkit_execute_script (struct xwidget *xw, const char *script, + Lisp_Object fun); + +/* Functions for xwidget model. */ + +#ifdef __OBJC__ +@interface XwWindow : NSView +@property struct xwidget *xw; +@end +#endif + +void nsxwidget_init (struct xwidget *xw); +void nsxwidget_kill (struct xwidget *xw); +void nsxwidget_resize (struct xwidget *xw); +Lisp_Object nsxwidget_get_size (struct xwidget *xw); + +/* Functions for xwidget view. */ + +#ifdef __OBJC__ +@interface XvWindow : NSView +@property struct xwidget *xw; +@property struct xwidget_view *xv; +@end +#endif + +void nsxwidget_init_view (struct xwidget_view *xv, + struct xwidget *xww, + struct glyph_string *s, + int x, int y); +void nsxwidget_delete_view (struct xwidget_view *xv); + +void nsxwidget_show_view (struct xwidget_view *xv); +void nsxwidget_hide_view (struct xwidget_view *xv); +void nsxwidget_resize_view (struct xwidget_view *xv, + int widget, int height); + +void nsxwidget_move_view (struct xwidget_view *xv, int x, int y); +void nsxwidget_move_widget_in_view (struct xwidget_view *xv, int x, int y); +void nsxwidget_set_needsdisplay (struct xwidget_view *xv); + +#endif /* NSXWIDGET_H_INCLUDED */ diff --git a/src/nsxwidget.m b/src/nsxwidget.m new file mode 100644 index 0000000000..8d8a92d09c --- /dev/null +++ b/src/nsxwidget.m @@ -0,0 +1,611 @@ +/* NS Cocoa part implementation of xwidget and webkit widget. + +Copyright (C) 1989, 1992-1994, 2005-2006, 2008-2017 Free Software +Foundation, Inc. + +This file is part of GNU Emacs. + +GNU Emacs is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or (at +your option) any later version. + +GNU Emacs is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Emacs. If not, see . */ + +#include + +#include "lisp.h" +#include "blockinput.h" +#include "dispextern.h" +#include "buffer.h" +#include "frame.h" +#include "nsterm.h" +#include "xwidget.h" + +#import +#import + +/* Thoughts on NS Cocoa xwidget and webkit2: + + Webkit2 process architecture seems to be very hostile for offscreen + rendering techniques, which is used by GTK xwiget implementation; + Specifically NSView level view sharing / copying is not working. + + *** So only one view can be associcated with a model. *** + + With this decision, implementation is plain and can expect best out + of webkit2's rationale. But process and session structures will + diverge from GTK xwiget. Though, cosmetically similar usages can + be presented and will be preferred, if agreeable. + + For other widget types, OSR seems possible, but will not care for a + while. */ + +/* Xwidget webkit. */ + +@interface XwWebView : WKWebView + +@property struct xwidget *xw; +/* Map url to whether javascript is blocked by + 'Content-Security-Policy' sandbox without allow-scripts. */ +@property(retain) NSMutableDictionary *urlScriptBlocked; +@end +@implementation XwWebView : WKWebView + +- (id)initWithFrame:(CGRect)frame + configuration:(WKWebViewConfiguration *)configuration + xwidget:(struct xwidget *)xw +{ + /* Script controller to add script message handler and user script. */ + WKUserContentController *scriptor = [[WKUserContentController alloc] init]; + configuration.userContentController = scriptor; + + /* Enable inspect element context menu item for debugging. */ + [configuration.preferences setValue:@YES + forKey:@"developerExtrasEnabled"]; + + Lisp_Object enablePlugins = + Fintern (build_string ("xwidget-webkit-enable-plugins"), Qnil); + if (!EQ (Fsymbol_value (enablePlugins), Qnil)) + configuration.preferences.plugInsEnabled = YES; + + self = [super initWithFrame:frame configuration:configuration]; + if (self) + { + self.xw = xw; + self.urlScriptBlocked = [[NSMutableDictionary alloc] init]; + self.navigationDelegate = self; + self.UIDelegate = self; + self.customUserAgent = + @"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6)" + @" AppleWebKit/603.3.8 (KHTML, like Gecko)" + @" Version/11.0.1 Safari/603.3.8"; + [scriptor addScriptMessageHandler:self name:@"keyDown"]; + [scriptor addUserScript:[[WKUserScript alloc] + initWithSource:xwScript + injectionTime: + WKUserScriptInjectionTimeAtDocumentStart + forMainFrameOnly:NO]]; + } + return self; +} + +#if 0 +/* Non ARC - just to check lifecycle. */ +- (void)dealloc +{ + NSLog (@"XwWebView dealloc"); + [super dealloc]; +} +#endif + +- (void)webView:(WKWebView *)webView +didFinishNavigation:(WKNavigation *)navigation +{ + if (EQ (Fbuffer_live_p (self.xw->buffer), Qt)) + store_xwidget_event_string (self.xw, "load-changed", ""); +} + +- (void)webView:(WKWebView *)webView +decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction +decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler +{ + switch (navigationAction.navigationType) { + case WKNavigationTypeLinkActivated: + decisionHandler (WKNavigationActionPolicyAllow); + break; + default: + // decisionHandler (WKNavigationActionPolicyCancel); + decisionHandler (WKNavigationActionPolicyAllow); + break; + } +} + +- (void)webView:(WKWebView *)webView +decidePolicyForNavigationResponse:(WKNavigationResponse *)navigationResponse +decisionHandler:(void (^)(WKNavigationResponsePolicy))decisionHandler +{ + if (!navigationResponse.canShowMIMEType) + { + NSString *url = navigationResponse.response.URL.absoluteString; + NSString *mimetype = navigationResponse.response.MIMEType; + NSString *filename = navigationResponse.response.suggestedFilename; + decisionHandler (WKNavigationResponsePolicyCancel); + store_xwidget_download_callback_event (self.xw, + url.UTF8String, + mimetype.UTF8String, + filename.UTF8String); + return; + } + decisionHandler (WKNavigationResponsePolicyAllow); + + self.urlScriptBlocked[navigationResponse.response.URL] = + [NSNumber numberWithBool:NO]; + if ([navigationResponse.response isKindOfClass:[NSHTTPURLResponse class]]) + { + NSDictionary *headers = + ((NSHTTPURLResponse *) navigationResponse.response).allHeaderFields; + NSString *value = headers[@"Content-Security-Policy"]; + if (value) + { + /* TODO: Sloppy parsing of 'Content-Security-Policy' value. */ + NSRange sandbox = [value rangeOfString:@"sandbox"]; + if (sandbox.location != NSNotFound + && (sandbox.location == 0 + || [value characterAtIndex:(sandbox.location - 1)] == ' ' + || [value characterAtIndex:(sandbox.location - 1)] == ';')) + { + NSRange allowScripts = [value rangeOfString:@"allow-scripts"]; + if (allowScripts.location == NSNotFound + || allowScripts.location < sandbox.location) + self.urlScriptBlocked[navigationResponse.response.URL] = + [NSNumber numberWithBool:YES]; + } + } + } +} + +/* No additional new webview or emacs window will be created + for . */ +- (WKWebView *)webView:(WKWebView *)webView +createWebViewWithConfiguration:(WKWebViewConfiguration *)configuration + forNavigationAction:(WKNavigationAction *)navigationAction + windowFeatures:(WKWindowFeatures *)windowFeatures +{ + if (!navigationAction.targetFrame.isMainFrame) + [webView loadRequest:navigationAction.request]; + return nil; +} + +/* Open panel for file upload. */ +- (void)webView:(WKWebView *)webView +runOpenPanelWithParameters:(WKOpenPanelParameters *)parameters +initiatedByFrame:(WKFrameInfo *)frame +completionHandler:(void (^)(NSArray *URLs))completionHandler +{ + NSOpenPanel *openPanel = [NSOpenPanel openPanel]; + openPanel.canChooseFiles = YES; + openPanel.canChooseDirectories = NO; + openPanel.allowsMultipleSelection = parameters.allowsMultipleSelection; + if ([openPanel runModal] == NSModalResponseOK) + completionHandler (openPanel.URLs); + else + completionHandler (nil); +} + +/* By forwarding mouse events to emacs view (frame) + - Mouse click in webview selects the window contains the webview. + - Correct mouse hand/arrow/I-beam is displayed (TODO: not perfect yet). +*/ + +- (void)mouseDown:(NSEvent *)event +{ + [self.xw->xv->emacswindow mouseDown:event]; + [super mouseDown:event]; +} + +- (void)mouseUp:(NSEvent *)event +{ + [self.xw->xv->emacswindow mouseUp:event]; + [super mouseUp:event]; +} + +/* Basically we want keyboard events handled by emacs unless an input + element has focus. Especially, while incremental search, we set + emacs as first responder to avoid focus held in an input element + with matching text. */ + +- (void)keyDown:(NSEvent *)event +{ + Lisp_Object var = Fintern (build_string ("isearch-mode"), Qnil); + Lisp_Object val = buffer_local_value (var, Fcurrent_buffer ()); + if (!EQ (val, Qunbound) && !EQ (val, Qnil)) + { + [self.window makeFirstResponder:self.xw->xv->emacswindow]; + [self.xw->xv->emacswindow keyDown:event]; + return; + } + + /* Emacs handles keyboard events when javascript is blocked. */ + if ([self.urlScriptBlocked[self.URL] boolValue]) + { + [self.xw->xv->emacswindow keyDown:event]; + return; + } + + [self evaluateJavaScript:@"xwHasFocus()" + completionHandler:^(id result, NSError *error) { + if (error) + { + NSLog (@"xwHasFocus: %@", error); + [self.xw->xv->emacswindow keyDown:event]; + } + else if (result) + { + NSNumber *hasFocus = result; /* __NSCFBoolean */ + if (!hasFocus.boolValue) + [self.xw->xv->emacswindow keyDown:event]; + else + [super keyDown:event]; + } + }]; +} + +- (void)interpretKeyEvents:(NSArray *)eventArray +{ + /* We should do nothing and do not forward (default implementation + if we not override here) to let emacs collect key events and ask + interpretKeyEvents to its superclass. */ +} + +static NSString *xwScript; ++ (void)initialize +{ + /* Find out if an input element has focus. + Message to script message handler when 'C-g' key down. */ + if (!xwScript) + xwScript = + @"function xwHasFocus() {" + @" var ae = document.activeElement;" + @" if (ae) {" + @" var name = ae.nodeName;" + @" return name == 'INPUT' || name == 'TEXTAREA';" + @" } else {" + @" return false;" + @" }" + @"}" + @"function xwKeyDown(event) {" + @" if (event.ctrlKey && event.key == 'g') {" + @" window.webkit.messageHandlers.keyDown.postMessage('C-g');" + @" }" + @"}" + @"document.addEventListener('keydown', xwKeyDown);" + ; +} + +/* Confirming to WKScriptMessageHandler, listens concerning keyDown in + webkit. Currently 'C-g'. */ +- (void)userContentController:(WKUserContentController *)userContentController + didReceiveScriptMessage:(WKScriptMessage *)message +{ + if ([message.body isEqualToString:@"C-g"]) + { + /* Just give up focus, no relay "C-g" to emacs, another "C-g" + follows will be handled by emacs. */ + [self.window makeFirstResponder:self.xw->xv->emacswindow]; + } +} + +@end + +/* Xwidget webkit commands. */ + +static Lisp_Object build_string_with_nsstr (NSString *nsstr); + +bool +nsxwidget_is_web_view (struct xwidget *xw) +{ + return xw->xwWidget != NULL && + [xw->xwWidget isKindOfClass:WKWebView.class]; +} + +Lisp_Object +nsxwidget_webkit_uri (struct xwidget *xw) +{ + XwWebView *xwWebView = (XwWebView *) xw->xwWidget; + return build_string_with_nsstr (xwWebView.URL.absoluteString); +} + +Lisp_Object +nsxwidget_webkit_title (struct xwidget *xw) +{ + XwWebView *xwWebView = (XwWebView *) xw->xwWidget; + return build_string_with_nsstr (xwWebView.title); +} + +/* @Note ATS - Need application transport security in 'Info.plist' or + remote pages will not loaded. */ +void +nsxwidget_webkit_goto_uri (struct xwidget *xw, const char *uri) +{ + XwWebView *xwWebView = (XwWebView *) xw->xwWidget; + NSString *urlString = [NSString stringWithUTF8String:uri]; + NSURL *url = [NSURL URLWithString:urlString]; + NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url]; + [xwWebView loadRequest:urlRequest]; +} + +void +nsxwidget_webkit_goto_history (struct xwidget *xw, int rel_pos) +{ + XwWebView *xwWebView = (XwWebView *) xw->xwWidget; + switch (rel_pos) { + case -1: [xwWebView goBack]; break; + case 0: [xwWebView reload]; break; + case 1: [xwWebView goForward]; break; + } +} + +void +nsxwidget_webkit_zoom (struct xwidget *xw, double zoom_change) +{ + XwWebView *xwWebView = (XwWebView *) xw->xwWidget; + xwWebView.magnification += zoom_change; + /* TODO: setMagnification:centeredAtPoint. */ +} + +/* Build lisp string */ +static Lisp_Object +build_string_with_nsstr (NSString *nsstr) +{ + const char *utfstr = [nsstr UTF8String]; + NSUInteger bytes = [nsstr lengthOfBytesUsingEncoding:NSUTF8StringEncoding]; + return make_string (utfstr, bytes); +} + +/* Recursively convert an objc native type JavaScript value to a Lisp + value. Mostly copied from GTK xwidget 'webkit_js_to_lisp'. */ +static Lisp_Object +js_to_lisp (id value) +{ + if (value == nil || [value isKindOfClass:NSNull.class]) + return Qnil; + else if ([value isKindOfClass:NSString.class]) + return build_string_with_nsstr ((NSString *) value); + else if ([value isKindOfClass:NSNumber.class]) + { + NSNumber *nsnum = (NSNumber *) value; + char type = nsnum.objCType[0]; + if (type == 'c') /* __NSCFBoolean has type character 'c'. */ + return nsnum.boolValue? Qt : Qnil; + else + { + if (type == 'i' || type == 'l') + return make_int (nsnum.longValue); + else if (type == 'f' || type == 'd') + return make_float (nsnum.doubleValue); + /* else fall through. */ + } + } + else if ([value isKindOfClass:NSArray.class]) + { + NSArray *nsarr = (NSArray *) value; + EMACS_INT n = nsarr.count; + Lisp_Object obj; + struct Lisp_Vector *p = allocate_vector (n); + + for (ptrdiff_t i = 0; i < n; ++i) + p->contents[i] = js_to_lisp ([nsarr objectAtIndex:i]); + XSETVECTOR (obj, p); + return obj; + } + else if ([value isKindOfClass:NSDictionary.class]) + { + NSDictionary *nsdict = (NSDictionary *) value; + NSArray *keys = nsdict.allKeys; + ptrdiff_t n = keys.count; + Lisp_Object obj; + struct Lisp_Vector *p = allocate_vector (n); + + for (ptrdiff_t i = 0; i < n; ++i) + { + NSString *prop_key = (NSString *) [keys objectAtIndex:i]; + id prop_value = [nsdict valueForKey:prop_key]; + p->contents[i] = Fcons (build_string_with_nsstr (prop_key), + js_to_lisp (prop_value)); + } + XSETVECTOR (obj, p); + return obj; + } + NSLog (@"Unhandled type in javascript result"); + return Qnil; +} + +void +nsxwidget_webkit_execute_script (struct xwidget *xw, const char *script, + Lisp_Object fun) +{ + XwWebView *xwWebView = (XwWebView *) xw->xwWidget; + if ([xwWebView.urlScriptBlocked[xwWebView.URL] boolValue]) + { + message ("Javascript is blocked by 'CSP: sandbox'."); + return; + } + + NSString *javascriptString = [NSString stringWithUTF8String:script]; + [xwWebView evaluateJavaScript:javascriptString + completionHandler:^(id result, NSError *error) { + if (error) + { + NSLog (@"evaluateJavaScript error : %@", error.localizedDescription); + NSLog (@"error script=%@", javascriptString); + } + else if (result && FUNCTIONP (fun)) + { + // NSLog (@"result=%@, type=%@", result, [result class]); + Lisp_Object lisp_value = js_to_lisp (result); + store_xwidget_js_callback_event (xw, fun, lisp_value); + } + }]; +} + +/* Window containing an xwidget. */ + +@implementation XwWindow +- (BOOL)isFlipped { return YES; } +@end + +/* Xwidget model, macOS Cocoa part. */ + +void +nsxwidget_init(struct xwidget *xw) +{ + block_input (); + NSRect rect = NSMakeRect (0, 0, xw->width, xw->height); + xw->xwWidget = [[XwWebView alloc] + initWithFrame:rect + configuration:[[WKWebViewConfiguration alloc] init] + xwidget:xw]; + xw->xwWindow = [[XwWindow alloc] + initWithFrame:rect]; + [xw->xwWindow addSubview:xw->xwWidget]; + xw->xv = NULL; /* for 1 to 1 relationship of webkit2. */ + unblock_input (); +} + +void +nsxwidget_kill (struct xwidget *xw) +{ + if (xw) + { + WKUserContentController *scriptor = + ((XwWebView *) xw->xwWidget).configuration.userContentController; + [scriptor removeAllUserScripts]; + [scriptor removeScriptMessageHandlerForName:@"keyDown"]; + [scriptor release]; + if (xw->xv) + xw->xv->model = Qnil; /* Make sure related view stale. */ + + /* This stops playing audio when a xwidget-webkit buffer is + killed. I could not find other solution. */ + nsxwidget_webkit_goto_uri (xw, "about:blank"); + + [((XwWebView *) xw->xwWidget).urlScriptBlocked release]; + [xw->xwWidget removeFromSuperviewWithoutNeedingDisplay]; + [xw->xwWidget release]; + [xw->xwWindow removeFromSuperviewWithoutNeedingDisplay]; + [xw->xwWindow release]; + xw->xwWidget = nil; + } +} + +void +nsxwidget_resize (struct xwidget *xw) +{ + if (xw->xwWidget) + { + [xw->xwWindow setFrameSize:NSMakeSize(xw->width, xw->height)]; + [xw->xwWidget setFrameSize:NSMakeSize(xw->width, xw->height)]; + } +} + +Lisp_Object +nsxwidget_get_size (struct xwidget *xw) +{ + return list2i (xw->xwWidget.frame.size.width, + xw->xwWidget.frame.size.height); +} + +/* Xwidget view, macOS Cocoa part. */ + +@implementation XvWindow : NSView +- (BOOL)isFlipped { return YES; } +@end + +void +nsxwidget_init_view (struct xwidget_view *xv, + struct xwidget *xw, + struct glyph_string *s, + int x, int y) +{ + /* 'x_draw_xwidget_glyph_string' will calculate correct position and + size of clip to draw in emacs buffer window. Thus, just begin at + origin with no crop. */ + xv->x = x; + xv->y = y; + xv->clip_left = 0; + xv->clip_right = xw->width; + xv->clip_top = 0; + xv->clip_bottom = xw->height; + + xv->xvWindow = [[XvWindow alloc] + initWithFrame:NSMakeRect (x, y, xw->width, xw->height)]; + xv->xvWindow.xw = xw; + xv->xvWindow.xv = xv; + + xw->xv = xv; /* For 1 to 1 relationship of webkit2. */ + [xv->xvWindow addSubview:xw->xwWindow]; + + xv->emacswindow = FRAME_NS_VIEW (s->f); + [xv->emacswindow addSubview:xv->xvWindow]; +} + +void +nsxwidget_delete_view (struct xwidget_view *xv) +{ + if (!EQ (xv->model, Qnil)) + { + struct xwidget *xw = XXWIDGET (xv->model); + [xw->xwWindow removeFromSuperviewWithoutNeedingDisplay]; + xw->xv = NULL; /* Now model has no view. */ + } + [xv->xvWindow removeFromSuperviewWithoutNeedingDisplay]; + [xv->xvWindow release]; +} + +void +nsxwidget_show_view (struct xwidget_view *xv) +{ + xv->hidden = NO; + [xv->xvWindow setFrameOrigin:NSMakePoint(xv->x + xv->clip_left, + xv->y + xv->clip_top)]; +} + +void +nsxwidget_hide_view (struct xwidget_view *xv) +{ + xv->hidden = YES; + [xv->xvWindow setFrameOrigin:NSMakePoint(10000, 10000)]; +} + +void +nsxwidget_resize_view (struct xwidget_view *xv, int width, int height) +{ + [xv->xvWindow setFrameSize:NSMakeSize(width, height)]; +} + +void +nsxwidget_move_view (struct xwidget_view *xv, int x, int y) +{ + [xv->xvWindow setFrameOrigin:NSMakePoint (x, y)]; +} + +/* Move model window in container (view window). */ +void +nsxwidget_move_widget_in_view (struct xwidget_view *xv, int x, int y) +{ + struct xwidget *xww = xv->xvWindow.xw; + [xww->xwWindow setFrameOrigin:NSMakePoint (x, y)]; +} + +void +nsxwidget_set_needsdisplay (struct xwidget_view *xv) +{ + xv->xvWindow.needsDisplay = YES; +} diff --git a/src/xwidget.c b/src/xwidget.c index 0347f1e648..44e6c45df1 100644 --- a/src/xwidget.c +++ b/src/xwidget.c @@ -23,13 +23,21 @@ Copyright (C) 2011-2020 Free Software Foundation, Inc. #include "lisp.h" #include "blockinput.h" +#include "dispextern.h" #include "frame.h" #include "keyboard.h" #include "gtkutil.h" #include "sysstdio.h" +#include "termhooks.h" +#include "window.h" +/* Include xwidget bottom end headers. */ +#ifdef USE_GTK #include #include +#elif defined NS_IMPL_COCOA +#include "nsxwidget.h" +#endif static struct xwidget * allocate_xwidget (void) @@ -48,6 +56,7 @@ #define XSETXWIDGET_VIEW(a, b) XSETPSEUDOVECTOR (a, b, PVEC_XWIDGET_VIEW) static struct xwidget_view *xwidget_view_lookup (struct xwidget *, struct window *); +#ifdef USE_GTK static void webkit_view_load_changed_cb (WebKitWebView *, WebKitLoadEvent, gpointer); @@ -61,6 +70,7 @@ webkit_decide_policy_cb (WebKitWebView *, WebKitPolicyDecision *, WebKitPolicyDecisionType, gpointer); +#endif DEFUN ("make-xwidget", @@ -78,8 +88,10 @@ DEFUN ("make-xwidget", Lisp_Object title, Lisp_Object width, Lisp_Object height, Lisp_Object arguments, Lisp_Object buffer) { +#ifdef USE_GTK if (!xg_gtk_initialized) error ("make-xwidget: GTK has not been initialized"); +#endif CHECK_SYMBOL (type); CHECK_FIXNAT (width); CHECK_FIXNAT (height); @@ -94,10 +106,11 @@ DEFUN ("make-xwidget", xw->kill_without_query = false; XSETXWIDGET (val, xw); Vxwidget_list = Fcons (val, Vxwidget_list); - xw->widgetwindow_osr = NULL; - xw->widget_osr = NULL; xw->plist = Qnil; +#ifdef USE_GTK + xw->widgetwindow_osr = NULL; + xw->widget_osr = NULL; if (EQ (xw->type, Qwebkit)) { block_input (); @@ -152,6 +165,9 @@ DEFUN ("make-xwidget", unblock_input (); } +#elif defined NS_IMPL_COCOA + nsxwidget_init (xw); +#endif return val; } @@ -187,6 +203,7 @@ xwidget_hidden (struct xwidget_view *xv) return xv->hidden; } +#ifdef USE_GTK static void xwidget_show_view (struct xwidget_view *xv) { @@ -220,13 +237,14 @@ offscreen_damage_event (GtkWidget *widget, GdkEvent *event, if (GTK_IS_WIDGET (xv_widget)) gtk_widget_queue_draw (GTK_WIDGET (xv_widget)); else - printf ("Warning, offscreen_damage_event received invalid xv pointer:%p\n", - xv_widget); + message ("Warning, offscreen_damage_event received invalid xv pointer:%p\n", + xv_widget); return FALSE; } +#endif /* USE_GTK */ -static void +void store_xwidget_event_string (struct xwidget *xw, const char *eventname, const char *eventstr) { @@ -240,7 +258,27 @@ store_xwidget_event_string (struct xwidget *xw, const char *eventname, kbd_buffer_store_event (&event); } -static void +void +store_xwidget_download_callback_event (struct xwidget *xw, + const char *url, + const char *mimetype, + const char *filename) +{ + struct input_event event; + Lisp_Object xwl; + XSETXWIDGET (xwl, xw); + EVENT_INIT (event); + event.kind = XWIDGET_EVENT; + event.frame_or_window = Qnil; + event.arg = list5 (intern ("download-callback"), + xwl, + build_string (url), + build_string (mimetype), + build_string (filename)); + kbd_buffer_store_event (&event); +} + +void store_xwidget_js_callback_event (struct xwidget *xw, Lisp_Object proc, Lisp_Object argument) @@ -256,6 +294,7 @@ store_xwidget_js_callback_event (struct xwidget *xw, } +#ifdef USE_GTK void webkit_view_load_changed_cb (WebKitWebView *webkitwebview, WebKitLoadEvent load_event, @@ -486,6 +525,7 @@ xwidget_osr_event_set_embedder (GtkWidget *widget, GdkEvent *event, gtk_widget_get_window (xv->widget)); return FALSE; } +#endif /* USE_GTK */ /* Initializes and does initial placement of an xwidget view on screen. */ @@ -495,8 +535,10 @@ xwidget_init_view (struct xwidget *xww, int x, int y) { +#ifdef USE_GTK if (!xg_gtk_initialized) error ("xwidget_init_view: GTK has not been initialized"); +#endif struct xwidget_view *xv = allocate_xwidget_view (); Lisp_Object val; @@ -507,6 +549,7 @@ xwidget_init_view (struct xwidget *xww, XSETWINDOW (xv->w, s->w); XSETXWIDGET (xv->model, xww); +#ifdef USE_GTK if (EQ (xww->type, Qwebkit)) { xv->widget = gtk_drawing_area_new (); @@ -564,6 +607,10 @@ xwidget_init_view (struct xwidget *xww, xv->x = x; xv->y = y; gtk_widget_show_all (xv->widgetwindow); +#elif defined NS_IMPL_COCOA + nsxwidget_init_view (xv, xww, s, x, y); + nsxwidget_resize_view(xv, xww->width, xww->height); +#endif return xv; } @@ -576,24 +623,59 @@ x_draw_xwidget_glyph_string (struct glyph_string *s) initialization. */ struct xwidget *xww = s->xwidget; struct xwidget_view *xv = xwidget_view_lookup (xww, s->w); + int text_area_x, text_area_y, text_area_width, text_area_height; int clip_right; int clip_bottom; int clip_top; int clip_left; int x = s->x; - int y = s->y + (s->height / 2) - (xww->height / 2); + int y = s->y; /* Do initialization here in the display loop because there is no other time to know things like window placement etc. Do not create a new view if we have found one that is usable. */ +#ifdef USE_GTK if (!xv) xv = xwidget_init_view (xww, s, x, y); - - int text_area_x, text_area_y, text_area_width, text_area_height; +#elif defined NS_IMPL_COCOA + if (!xv) + { + /* Enforce 1 to 1, model and view for macOS Cocoa webkit2. */ + if (xww->xv) + { + if (xwidget_hidden (xww->xv)) + { + Lisp_Object xvl; + XSETXWIDGET_VIEW (xvl, xww->xv); + Fdelete_xwidget_view (xvl); + } + else + { + message ("You can't share an xwidget (webkit2) among windows."); + return; + } + } + xv = xwidget_init_view (xww, s, x, y); + } +#endif window_box (s->w, TEXT_AREA, &text_area_x, &text_area_y, &text_area_width, &text_area_height); + + /* Resize xwidget webkit if its container window size is changed in + some ways, for example, a buffer became hidden in small split + window, then it can appear front in merged whole window. */ + if (EQ (xww->type, Qwebkit) + && (xww->width != text_area_width || xww->height != text_area_height)) + { + Lisp_Object xwl; + XSETXWIDGET (xwl, xww); + Fxwidget_resize (xwl, + make_int (text_area_width), + make_int (text_area_height)); + } + clip_left = max (0, text_area_x - x); clip_right = max (clip_left, min (xww->width, text_area_x + text_area_width - x)); @@ -616,8 +698,14 @@ x_draw_xwidget_glyph_string (struct glyph_string *s) /* Has it moved? */ if (moved) - gtk_fixed_move (GTK_FIXED (FRAME_GTK_WIDGET (s->f)), - xv->widgetwindow, x + clip_left, y + clip_top); + { +#ifdef USE_GTK + gtk_fixed_move (GTK_FIXED (FRAME_GTK_WIDGET (s->f)), + xv->widgetwindow, x + clip_left, y + clip_top); +#elif defined NS_IMPL_COCOA + nsxwidget_move_view (xv, x + clip_left, y + clip_top); +#endif + } /* Clip the widget window if some parts happen to be outside drawable area. An Emacs window is not a gtk window. A gtk window @@ -628,10 +716,16 @@ x_draw_xwidget_glyph_string (struct glyph_string *s) || xv->clip_bottom != clip_bottom || xv->clip_top != clip_top || xv->clip_left != clip_left) { +#ifdef USE_GTK gtk_widget_set_size_request (xv->widgetwindow, clip_right - clip_left, clip_bottom - clip_top); gtk_fixed_move (GTK_FIXED (xv->widgetwindow), xv->widget, -clip_left, -clip_top); +#elif defined NS_IMPL_COCOA + nsxwidget_resize_view (xv, clip_right - clip_left, + clip_bottom - clip_top); + nsxwidget_move_widget_in_view (xv, -clip_left, -clip_top); +#endif xv->clip_right = clip_right; xv->clip_bottom = clip_bottom; @@ -645,22 +739,66 @@ x_draw_xwidget_glyph_string (struct glyph_string *s) xwidgets background. It's just a visual glitch though. */ if (!xwidget_hidden (xv)) { +#ifdef USE_GTK gtk_widget_queue_draw (xv->widgetwindow); gtk_widget_queue_draw (xv->widget); +#elif defined NS_IMPL_COCOA + nsxwidget_set_needsdisplay (xv); +#endif } } -/* Macro that checks WEBKIT_IS_WEB_VIEW (xw->widget_osr) first. */ +static bool +xwidget_is_web_view (struct xwidget *xw) +{ +#ifdef USE_GTK + return xw->widget_osr != NULL && WEBKIT_IS_WEB_VIEW (xw->widget_osr); +#elif defined NS_IMPL_COCOA + return nsxwidget_is_web_view (xw); +#endif +} + +/* Macro that checks xwidget hold webkit web view first. */ #define WEBKIT_FN_INIT() \ CHECK_XWIDGET (xwidget); \ struct xwidget *xw = XXWIDGET (xwidget); \ - if (!xw->widget_osr || !WEBKIT_IS_WEB_VIEW (xw->widget_osr)) \ + if (!xwidget_is_web_view (xw)) \ { \ fputs ("ERROR xw->widget_osr does not hold a webkit instance\n", \ stdout); \ return Qnil; \ } +DEFUN ("xwidget-webkit-uri", + Fxwidget_webkit_uri, Sxwidget_webkit_uri, + 1, 1, 0, + doc: /* Get the current URL of XWIDGET webkit. */) + (Lisp_Object xwidget) +{ + WEBKIT_FN_INIT (); +#ifdef USE_GTK + WebKitWebView *wkwv = WEBKIT_WEB_VIEW (xw->widget_osr); + return build_string (webkit_web_view_get_uri (wkwv)); +#elif defined NS_IMPL_COCOA + return nsxwidget_webkit_uri (xw); +#endif +} + +DEFUN ("xwidget-webkit-title", + Fxwidget_webkit_title, Sxwidget_webkit_title, + 1, 1, 0, + doc: /* Get the current title of XWIDGET webkit. */) + (Lisp_Object xwidget) +{ + WEBKIT_FN_INIT (); +#ifdef USE_GTK + WebKitWebView *wkwv = WEBKIT_WEB_VIEW (xw->widget_osr); + return build_string (webkit_web_view_get_title (wkwv)); +#elif defined NS_IMPL_COCOA + return nsxwidget_webkit_title (xw); +#endif +} + DEFUN ("xwidget-webkit-goto-uri", Fxwidget_webkit_goto_uri, Sxwidget_webkit_goto_uri, 2, 2, 0, @@ -670,7 +808,32 @@ DEFUN ("xwidget-webkit-goto-uri", WEBKIT_FN_INIT (); CHECK_STRING (uri); uri = ENCODE_FILE (uri); +#ifdef USE_GTK webkit_web_view_load_uri (WEBKIT_WEB_VIEW (xw->widget_osr), SSDATA (uri)); +#elif defined NS_IMPL_COCOA + nsxwidget_webkit_goto_uri (xw, SSDATA (uri)); +#endif + return Qnil; +} + +DEFUN ("xwidget-webkit-goto-history", + Fxwidget_webkit_goto_history, Sxwidget_webkit_goto_history, + 2, 2, 0, + doc: /* Make the XWIDGET webkit load REL-POS (-1, 0, 1) page in browse history. */) + (Lisp_Object xwidget, Lisp_Object rel_pos) +{ + WEBKIT_FN_INIT (); + /* CHECK_RANGED_INTEGER (rel_pos, -1, 1); */ /* -1, 0, 1 */ +#ifdef USE_GTK + WebKitWebView *wkwv = WEBKIT_WEB_VIEW (xw->widget_osr); + switch (XFIXNAT (rel_pos)) { + case -1: webkit_web_view_go_back (wkwv); break; + case 0: webkit_web_view_reload (wkwv); break; + case 1: webkit_web_view_go_forward (wkwv); break; + } +#elif defined NS_IMPL_COCOA + nsxwidget_webkit_goto_history (xw, XFIXNAT (rel_pos)); +#endif return Qnil; } @@ -684,14 +847,19 @@ DEFUN ("xwidget-webkit-zoom", if (FLOATP (factor)) { double zoom_change = XFLOAT_DATA (factor); +#ifdef USE_GTK webkit_web_view_set_zoom_level (WEBKIT_WEB_VIEW (xw->widget_osr), webkit_web_view_get_zoom_level (WEBKIT_WEB_VIEW (xw->widget_osr)) + zoom_change); +#elif defined NS_IMPL_COCOA + nsxwidget_webkit_zoom (xw, zoom_change); +#endif } return Qnil; } +#ifdef USE_GTK /* Save script and fun in the script/callback save vector and return its index. */ static ptrdiff_t @@ -713,6 +881,7 @@ save_script_callback (struct xwidget *xw, Lisp_Object script, Lisp_Object fun) ASET (cbs, idx, Fcons (make_mint_ptr (xlispstrdup (script)), fun)); return idx; } +#endif DEFUN ("xwidget-webkit-execute-script", Fxwidget_webkit_execute_script, Sxwidget_webkit_execute_script, @@ -724,11 +893,12 @@ DEFUN ("xwidget-webkit-execute-script", { WEBKIT_FN_INIT (); CHECK_STRING (script); - if (!NILP (fun) && !FUNCTIONP (fun)) + if (!FUNCTIONP (fun)) wrong_type_argument (Qinvalid_function, fun); script = ENCODE_SYSTEM (script); +#ifdef USE_GTK /* Protect script and fun during GC. */ intptr_t idx = save_script_callback (xw, script, fun); @@ -742,6 +912,9 @@ DEFUN ("xwidget-webkit-execute-script", NULL, /* cancelable */ webkit_javascript_finished_cb, (gpointer) idx); +#elif defined NS_IMPL_COCOA + nsxwidget_webkit_execute_script (xw, SSDATA (script), fun); +#endif return Qnil; } @@ -758,6 +931,7 @@ DEFUN ("xwidget-resize", Fxwidget_resize, Sxwidget_resize, 3, 3, 0, xw->height = h; /* If there is an offscreen widget resize it first. */ +#ifdef USE_GTK if (xw->widget_osr) { gtk_window_resize (GTK_WINDOW (xw->widgetwindow_osr), xw->width, @@ -766,6 +940,9 @@ DEFUN ("xwidget-resize", Fxwidget_resize, Sxwidget_resize, 3, 3, 0, gtk_widget_set_size_request (GTK_WIDGET (xw->widget_osr), xw->width, xw->height); } +#elif defined NS_IMPL_COCOA + nsxwidget_resize (xw); +#endif for (Lisp_Object tail = Vxwidget_view_list; CONSP (tail); tail = XCDR (tail)) { @@ -773,8 +950,14 @@ DEFUN ("xwidget-resize", Fxwidget_resize, Sxwidget_resize, 3, 3, 0, { struct xwidget_view *xv = XXWIDGET_VIEW (XCAR (tail)); if (XXWIDGET (xv->model) == xw) + { +#ifdef USE_GTK gtk_widget_set_size_request (GTK_WIDGET (xv->widget), xw->width, xw->height); +#elif defined NS_IMPL_COCOA + nsxwidget_resize_view(xv, xw->width, xw->height); +#endif + } } } @@ -793,9 +976,13 @@ DEFUN ("xwidget-size-request", (Lisp_Object xwidget) { CHECK_XWIDGET (xwidget); +#ifdef USE_GTK GtkRequisition requisition; gtk_widget_size_request (XXWIDGET (xwidget)->widget_osr, &requisition); return list2i (requisition.width, requisition.height); +#elif defined NS_IMPL_COCOA + return nsxwidget_get_size(XXWIDGET (xwidget)); +#endif } DEFUN ("xwidgetp", @@ -872,14 +1059,19 @@ DEFUN ("delete-xwidget-view", { CHECK_XWIDGET_VIEW (xwidget_view); struct xwidget_view *xv = XXWIDGET_VIEW (xwidget_view); - gtk_widget_destroy (xv->widgetwindow); Vxwidget_view_list = Fdelq (xwidget_view, Vxwidget_view_list); +#ifdef USE_GTK + gtk_widget_destroy (xv->widgetwindow); /* xv->model still has signals pointing to the view. There can be several views. Find the matching signals and delete them all. */ g_signal_handlers_disconnect_matched (XXWIDGET (xv->model)->widgetwindow_osr, G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, xv->widget); +#elif defined NS_IMPL_COCOA + nsxwidget_delete_view (xv); +#endif + return Qnil; } @@ -985,7 +1177,10 @@ syms_of_xwidget (void) defsubr (&Sxwidget_query_on_exit_flag); defsubr (&Sset_xwidget_query_on_exit_flag); + defsubr (&Sxwidget_webkit_uri); + defsubr (&Sxwidget_webkit_title); defsubr (&Sxwidget_webkit_goto_uri); + defsubr (&Sxwidget_webkit_goto_history); defsubr (&Sxwidget_webkit_zoom); defsubr (&Sxwidget_webkit_execute_script); DEFSYM (Qwebkit, "webkit"); @@ -1156,11 +1351,19 @@ xwidget_end_redisplay (struct window *w, struct glyph_matrix *matrix) xwidget_end_redisplay (w->current_matrix); */ struct xwidget_view *xv = xwidget_view_lookup (glyph->u.xwidget, w); +#ifdef USE_GTK /* FIXME: Is it safe to assume xwidget_view_lookup always succeeds here? If so, this comment can be removed. If not, the code probably needs fixing. */ eassume (xv); xwidget_touch (xv); +#elif defined NS_IMPL_COCOA + /* In NS xwidget, xv can be NULL for the second or + later views for a model, the result of 1 to 1 + model view relation enforcement. */ + if (xv) + xwidget_touch (xv); +#endif } } } @@ -1177,9 +1380,21 @@ xwidget_end_redisplay (struct window *w, struct glyph_matrix *matrix) if (XWINDOW (xv->w) == w) { if (xwidget_touched (xv)) - xwidget_show_view (xv); + { +#ifdef USE_GTK + xwidget_show_view (xv); +#elif defined NS_IMPL_COCOA + nsxwidget_show_view (xv); +#endif + } else - xwidget_hide_view (xv); + { +#ifdef USE_GTK + xwidget_hide_view (xv); +#elif defined NS_IMPL_COCOA + nsxwidget_hide_view (xv); +#endif + } } } } @@ -1198,6 +1413,7 @@ kill_buffer_xwidgets (Lisp_Object buffer) { CHECK_XWIDGET (xwidget); struct xwidget *xw = XXWIDGET (xwidget); +#ifdef USE_GTK if (xw->widget_osr && xw->widgetwindow_osr) { gtk_widget_destroy (xw->widget_osr); @@ -1211,6 +1427,9 @@ kill_buffer_xwidgets (Lisp_Object buffer) xfree (xmint_pointer (XCAR (cb))); ASET (xw->script_callbacks, idx, Qnil); } +#elif defined NS_IMPL_COCOA + nsxwidget_kill (xw); +#endif } } } diff --git a/src/xwidget.h b/src/xwidget.h index 99fa8bbd61..c1b2035a8a 100644 --- a/src/xwidget.h +++ b/src/xwidget.h @@ -29,7 +29,13 @@ #define XWIDGET_H_INCLUDED struct window; #ifdef HAVE_XWIDGETS -# include + +#if defined (USE_GTK) +#include +#elif defined (NS_IMPL_COCOA) && defined (__OBJC__) +#import +#import "nsxwidget.h" +#endif struct xwidget { @@ -54,9 +60,25 @@ #define XWIDGET_H_INCLUDED int height; int width; +#if defined (USE_GTK) /* For offscreen widgets, unused if not osr. */ GtkWidget *widget_osr; GtkWidget *widgetwindow_osr; +#elif defined (NS_IMPL_COCOA) +# ifdef __OBJC__ + /* For offscreen widgets, unused if not osr. */ + NSView *xwWidget; + XwWindow *xwWindow; + + /* Used only for xwidget types (such as webkit2) enforcing 1 to 1 + relationship between model and view. */ + struct xwidget_view *xv; +# else + void *xwWidget; + void *xwWindow; + struct xwidget_view *xv; +# endif +#endif /* Kill silently if Emacs is exited. */ bool_bf kill_without_query : 1; @@ -75,9 +97,20 @@ #define XWIDGET_H_INCLUDED /* The "live" instance isn't drawn. */ bool hidden; +#if defined (USE_GTK) GtkWidget *widget; GtkWidget *widgetwindow; GtkWidget *emacswindow; +#elif defined (NS_IMPL_COCOA) +# ifdef __OBJC__ + XvWindow *xvWindow; + NSView *emacswindow; +# else + void *xvWindow; + void *emacswindow; +# endif +#endif + int x; int y; int clip_right; @@ -116,6 +149,21 @@ #define XG_XWIDGET_VIEW "emacs_xwidget_view" struct xwidget *lookup_xwidget (Lisp_Object spec); void xwidget_end_redisplay (struct window *, struct glyph_matrix *); void kill_buffer_xwidgets (Lisp_Object); +#ifdef NS_IMPL_COCOA +/* Defined in 'xwidget.c'. */ +void store_xwidget_event_string (struct xwidget *xw, + const char *eventname, + const char *eventstr); + +void store_xwidget_download_callback_event (struct xwidget *xw, + const char *url, + const char *mimetype, + const char *filename); + +void store_xwidget_js_callback_event (struct xwidget *xw, + Lisp_Object proc, + Lisp_Object argument); +#endif #else INLINE_HEADER_BEGIN INLINE void syms_of_xwidget (void) {} -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 11 14:28:45 2020 Received: (at 29565) by debbugs.gnu.org; 11 Aug 2020 18:28:45 +0000 Received: from localhost ([127.0.0.1]:41663 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5Z0q-0003sR-QJ for submit@debbugs.gnu.org; Tue, 11 Aug 2020 14:28:45 -0400 Received: from eggs.gnu.org ([209.51.188.92]:57460) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5Z0n-0003sD-Ur for 29565@debbugs.gnu.org; Tue, 11 Aug 2020 14:28:39 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:47122) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k5Z0i-0006mG-5z; Tue, 11 Aug 2020 14:28:32 -0400 Received: from [176.228.60.248] (port=3352 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1k5Z0W-00066c-MD; Tue, 11 Aug 2020 14:28:21 -0400 Date: Tue, 11 Aug 2020 21:28:08 +0300 Message-Id: <83364tox53.fsf@gnu.org> From: Eli Zaretskii To: Lars Ingebrigtsen In-Reply-To: <87mu31rvwa.fsf@gnus.org> (message from Lars Ingebrigtsen on Tue, 11 Aug 2020 18:26:45 +0200) Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X References: <87pn7y38sp.fsf@gnus.org> <20200810190612.GA40992@breton.holly.idiocy.org> <87tux9xx3i.fsf@gnus.org> <83eeod438f.fsf@gnu.org> <87mu31rvwa.fsf@gnus.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 29565 Cc: alan@idiocy.org, veshboo@gmail.com, rms@gnu.org, stefan@marxist.se, 29565@debbugs.gnu.org, pcr910303@icloud.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Lars Ingebrigtsen > Cc: Richard Stallman , alan@idiocy.org, stefan@marxist.se, > 29565@debbugs.gnu.org, veshboo@gmail.com, pcr910303@icloud.com > Date: Tue, 11 Aug 2020 18:26:45 +0200 > > There's one thing that doesn't work, though (so it's commented out below): > > + CHECK_RANGED_INTEGER (rel_pos, -1, 1); /* -1, 0, 1 */ > > Is that a macro that Emacs used to have? I can't find it now. Perhaps clip_to_bounds? From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 11 15:27:14 2020 Received: (at 29565) by debbugs.gnu.org; 11 Aug 2020 19:27:14 +0000 Received: from localhost ([127.0.0.1]:41723 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5ZvV-0005IJ-RE for submit@debbugs.gnu.org; Tue, 11 Aug 2020 15:27:14 -0400 Received: from quimby.gnus.org ([95.216.78.240]:35710) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5ZvT-0005I5-Bq for 29565@debbugs.gnu.org; Tue, 11 Aug 2020 15:27:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=7oVusjK9L7ac+MZVRBSlZJZpKEsvgy+U2UiXDDrTxCk=; b=N91pjPlQi8H6RNwS81lW8AB8xg mZfotbZ0uCuQfL1R2QNfc+6AdTJkVlijY41+Zhg2Ps6UUH6Tk/dWUP/p5OYNbRnm7ZWdk09fwiZBc SOFSJ8SUcaviv7WVACNAgMkz83B4QQvZpux0Ra5WHXyl2fcSOUxyuuipOa4NopdI1uDo=; Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo) by quimby with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1k5ZvE-0007xa-J4; Tue, 11 Aug 2020 21:27:02 +0200 From: Lars Ingebrigtsen To: Eli Zaretskii Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X References: <87pn7y38sp.fsf@gnus.org> <20200810190612.GA40992@breton.holly.idiocy.org> <87tux9xx3i.fsf@gnus.org> <83eeod438f.fsf@gnu.org> <87mu31rvwa.fsf@gnus.org> <83364tox53.fsf@gnu.org> Date: Tue, 11 Aug 2020 21:26:54 +0200 In-Reply-To: <83364tox53.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 11 Aug 2020 21:28:08 +0300") Message-ID: <875z9prnk1.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Eli Zaretskii writes: >> There's one thing that doesn't work, though (so it's commented out below): >> >> + CHECK_RANGED_INTEGER (rel_pos, -1, 1); /* -1, 0, 1 */ >> >> Is that a macro that Emacs used to have? I can't find [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29565 Cc: alan@idiocy.org, veshboo@gmail.com, rms@gnu.org, stefan@marxist.se, 29565@debbugs.gnu.org, pcr910303@icloud.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Eli Zaretskii writes: >> There's one thing that doesn't work, though (so it's commented out below): >> >> + CHECK_RANGED_INTEGER (rel_pos, -1, 1); /* -1, 0, 1 */ >> >> Is that a macro that Emacs used to have? I can't find it now. > > Perhaps clip_to_bounds? I think the intention is to signal an error if rel_pos is anything other than -1, 0 or 1... -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 11 15:34:17 2020 Received: (at 29565) by debbugs.gnu.org; 11 Aug 2020 19:34:17 +0000 Received: from localhost ([127.0.0.1]:41728 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5a2G-0005VI-Jh for submit@debbugs.gnu.org; Tue, 11 Aug 2020 15:34:16 -0400 Received: from eggs.gnu.org ([209.51.188.92]:52306) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5a2D-0005V4-7s for 29565@debbugs.gnu.org; Tue, 11 Aug 2020 15:34:11 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:48340) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k5a26-0008Bn-Ry; Tue, 11 Aug 2020 15:34:02 -0400 Received: from [176.228.60.248] (port=3588 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1k5a1w-0007vr-Ti; Tue, 11 Aug 2020 15:33:55 -0400 Date: Tue, 11 Aug 2020 22:33:40 +0300 Message-Id: <83tux9nfjf.fsf@gnu.org> From: Eli Zaretskii To: Lars Ingebrigtsen In-Reply-To: <875z9prnk1.fsf@gnus.org> (message from Lars Ingebrigtsen on Tue, 11 Aug 2020 21:26:54 +0200) Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X References: <87pn7y38sp.fsf@gnus.org> <20200810190612.GA40992@breton.holly.idiocy.org> <87tux9xx3i.fsf@gnus.org> <83eeod438f.fsf@gnu.org> <87mu31rvwa.fsf@gnus.org> <83364tox53.fsf@gnu.org> <875z9prnk1.fsf@gnus.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 29565 Cc: alan@idiocy.org, veshboo@gmail.com, rms@gnu.org, stefan@marxist.se, 29565@debbugs.gnu.org, pcr910303@icloud.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Lars Ingebrigtsen > Cc: rms@gnu.org, alan@idiocy.org, stefan@marxist.se, > 29565@debbugs.gnu.org, veshboo@gmail.com, pcr910303@icloud.com > Date: Tue, 11 Aug 2020 21:26:54 +0200 > > I think the intention is to signal an error if rel_pos is anything other > than -1, 0 or 1... In that case, just call args_out_of_range_3 by hand, after testing that the value is within bounds. You can see examples of that in several source files. From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 11 15:56:10 2020 Received: (at 29565) by debbugs.gnu.org; 11 Aug 2020 19:56:10 +0000 Received: from localhost ([127.0.0.1]:41741 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5aNW-00062n-Bv for submit@debbugs.gnu.org; Tue, 11 Aug 2020 15:56:10 -0400 Received: from mailout-l3b-97.contactoffice.com ([212.3.242.97]:50484) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5aNU-00062M-Cy for 29565@debbugs.gnu.org; Tue, 11 Aug 2020 15:56:09 -0400 Received: from smtpauth2.co-bxl (smtpauth2.co-bxl [10.2.0.24]) by mailout-l3b-97.contactoffice.com (Postfix) with ESMTP id 09F941A6F; Tue, 11 Aug 2020 21:56:02 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1597175762; s=20200222-6h9o; d=idiocy.org; i=alan@idiocy.org; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:Content-Type:In-Reply-To; l=272; bh=MfFFmU0Wyc5FFAqeFboKxZuB3+hn//yHi3OD3SzyzVc=; b=rXX6jIAG1LoBxHzVw2PfJWUMc3Va3g346nswgNyd62jk1fTt+i7HQzwymYWQK3wR XjxeJIL7zJP8HTk59fU97dlz6Q5U+FHPmOvUTbW+C2P1eqzQsO8BbpGhL2sa9M+4y/9 StpguDYT2Ie5iWaMsXyYwzVyGqRQlHHlgSC8RJmEWLpKJHdmi8WkokJXADn9iEVNivn 7BraEFqGnrMsjNvqlaZ4RZRzVzu/1vrZ+SDRDku21ju+Vpscpf601Vl5DLD7x0CVfpz t5GnGvxABwETOfL+/uZO8EzTsAG/kGIA19pFqfvIOZbS2TuTQkkCUtn+4zftPdNMa+4 2pYQDcCuHg== Received: by smtp.mailfence.com with ESMTPA ; Tue, 11 Aug 2020 21:55:59 +0200 (CEST) Received: by breton.holly.idiocy.org (Postfix, from userid 501) id D6146202445ED1; Tue, 11 Aug 2020 20:55:57 +0100 (BST) Date: Tue, 11 Aug 2020 21:56:00 +0200 (CEST) From: Alan Third To: Lars Ingebrigtsen Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X Message-ID: <20200811195557.GA41737@breton.holly.idiocy.org> Mail-Followup-To: Alan Third , Lars Ingebrigtsen , Eli Zaretskii , veshboo@gmail.com, Richard Stallman , stefan@marxist.se, 29565@debbugs.gnu.org, pcr910303@icloud.com References: <87pn7y38sp.fsf@gnus.org> <20200810190612.GA40992@breton.holly.idiocy.org> <87tux9xx3i.fsf@gnus.org> <83eeod438f.fsf@gnu.org> <87mu31rvwa.fsf@gnus.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87mu31rvwa.fsf@gnus.org> X-Spam-Flag: NO X-Spam-Status: No, hits=-1.0 required=4.7 symbols=ALL_TRUSTED device=10.2.0.21 X-ContactOffice-Account: com:241649512 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 29565 Cc: veshboo@gmail.com, Richard Stallman , stefan@marxist.se, 29565@debbugs.gnu.org, pcr910303@icloud.com, Eli Zaretskii X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Tue, Aug 11, 2020 at 06:26:45PM +0200, Lars Ingebrigtsen wrote: > > And... I'm unable to test this on Macos, because Homebrew doesn't offer > webkitgtk, apparently. It shouldn't need webkitgtk, the webkit it uses comes with the macOS dev tools. -- Alan Third From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 11 15:59:14 2020 Received: (at 29565) by debbugs.gnu.org; 11 Aug 2020 19:59:14 +0000 Received: from localhost ([127.0.0.1]:41745 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5aQT-00067d-Pn for submit@debbugs.gnu.org; Tue, 11 Aug 2020 15:59:13 -0400 Received: from quimby.gnus.org ([95.216.78.240]:35936) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5aQR-00067P-5u for 29565@debbugs.gnu.org; Tue, 11 Aug 2020 15:59:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=/w/JIRbPQ3RLgH4g14MxMBZlGAxJ25X1+VzqhAhbyYU=; b=IxE9lieeZ+G1huOUEy5pFJtqdJ NQmPL1QndcyVG+EYCCuICrVwB4xFNju5tD4lRqRJpTDnj2y1F2wDuKCueueH4sV0jh6t9uHe9P/w6 zWgyG5Wf/S7qh99mXhArGFMnhoSwx7ALnPVcI80uI+ZqvxpZavsV9qOgDm1VrwO0UNKw=; Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo) by quimby with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1k5aQG-0008FA-5n; Tue, 11 Aug 2020 21:59:03 +0200 From: Lars Ingebrigtsen To: Alan Third Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X References: <87pn7y38sp.fsf@gnus.org> <20200810190612.GA40992@breton.holly.idiocy.org> <87tux9xx3i.fsf@gnus.org> <83eeod438f.fsf@gnu.org> <87mu31rvwa.fsf@gnus.org> <20200811195557.GA41737@breton.holly.idiocy.org> Date: Tue, 11 Aug 2020 21:58:58 +0200 In-Reply-To: <20200811195557.GA41737@breton.holly.idiocy.org> (Alan Third's message of "Tue, 11 Aug 2020 21:56:00 +0200 (CEST)") Message-ID: <871rkdrm2l.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Alan Third writes: > On Tue, Aug 11, 2020 at 06:26:45PM +0200, Lars Ingebrigtsen wrote: >> >> And... I'm unable to test this on Macos, because Homebrew doesn't offer >> webkitgtk, apparently. > > It shouldn't need webki [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29565 Cc: veshboo@gmail.com, Richard Stallman , stefan@marxist.se, 29565@debbugs.gnu.org, pcr910303@icloud.com, Eli Zaretskii X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Alan Third writes: > On Tue, Aug 11, 2020 at 06:26:45PM +0200, Lars Ingebrigtsen wrote: >> >> And... I'm unable to test this on Macos, because Homebrew doesn't offer >> webkitgtk, apparently. > > It shouldn't need webkitgtk, the webkit it uses comes with the macOS > dev tools. Hm... ./configure says checking for webkit2gtk-4.0 >= 2.12... no configure: error: xwidgets requested but WebKitGTK+ or WebKit framework not found. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 11 16:18:30 2020 Received: (at 29565) by debbugs.gnu.org; 11 Aug 2020 20:18:31 +0000 Received: from localhost ([127.0.0.1]:41757 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5aj8-0006aO-KH for submit@debbugs.gnu.org; Tue, 11 Aug 2020 16:18:30 -0400 Received: from mailout-l3b-97.contactoffice.com ([212.3.242.97]:50828) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5aj6-0006aA-J4 for 29565@debbugs.gnu.org; Tue, 11 Aug 2020 16:18:29 -0400 Received: from smtpauth2.co-bxl (smtpauth2.co-bxl [10.2.0.24]) by mailout-l3b-97.contactoffice.com (Postfix) with ESMTP id 418F71FD7; Tue, 11 Aug 2020 22:18:22 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1597177102; s=20200222-6h9o; d=idiocy.org; i=alan@idiocy.org; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:Content-Type:In-Reply-To; l=868; bh=swsjeq11docdV1C31//0Fg5YmP+J8p6UdKE5AKG0748=; b=cf/rBvlFV9hEfJH83GbmUzdI8AIwsva8v4Pry0tzSsxZiBG4vxoiQ0VM7cL7oYoP Az+HMqFwMsZkGmG9GyXCP6dnurVAwEtSDZDA3ALQw1Azh7pa2yOHKvufr9qphVNmHNC faOZrUnER8P4ubYktgacxXI70qvdUX+Xw+gcuy6bEDbZcGK865wRP9XLbDaDW6wqzb9 BlUCcxrWIsJbyZd734wsjLLqd0qAnk/plNQ92TK8tmlNWOI8aPP8BmEVYKzcE6a0vty TC6m8nzQv80Zg9WiybTBp0l3zk22cGGE2WuLxXWrZ2uukXwmerIT1/eOhBNsstMgnBi pgsAaTvBTQ== Received: by smtp.mailfence.com with ESMTPA ; Tue, 11 Aug 2020 22:18:19 +0200 (CEST) Received: by breton.holly.idiocy.org (Postfix, from userid 501) id A83E32024468C6; Tue, 11 Aug 2020 21:18:17 +0100 (BST) Date: Tue, 11 Aug 2020 22:18:20 +0200 (CEST) From: Alan Third To: Lars Ingebrigtsen Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X Message-ID: <20200811201817.GC41737@breton.holly.idiocy.org> Mail-Followup-To: Alan Third , Lars Ingebrigtsen , veshboo@gmail.com, Richard Stallman , stefan@marxist.se, 29565@debbugs.gnu.org, pcr910303@icloud.com References: <87pn7y38sp.fsf@gnus.org> <20200810190612.GA40992@breton.holly.idiocy.org> <87tux9xx3i.fsf@gnus.org> <83eeod438f.fsf@gnu.org> <87mu31rvwa.fsf@gnus.org> <20200811195557.GA41737@breton.holly.idiocy.org> <871rkdrm2l.fsf@gnus.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <871rkdrm2l.fsf@gnus.org> X-Spam-Flag: NO X-Spam-Status: No, hits=-2.9 required=4.7 symbols=ALL_TRUSTED, BAYES_00 device=10.2.0.21 X-ContactOffice-Account: com:241649512 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 29565 Cc: 29565@debbugs.gnu.org, stefan@marxist.se, veshboo@gmail.com, Richard Stallman , pcr910303@icloud.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Tue, Aug 11, 2020 at 09:58:58PM +0200, Lars Ingebrigtsen wrote: > Alan Third writes: > > > On Tue, Aug 11, 2020 at 06:26:45PM +0200, Lars Ingebrigtsen wrote: > >> > >> And... I'm unable to test this on Macos, because Homebrew doesn't offer > >> webkitgtk, apparently. > > > > It shouldn't need webkitgtk, the webkit it uses comes with the macOS > > dev tools. > > Hm... ./configure says > > checking for webkit2gtk-4.0 >= 2.12... no > configure: error: xwidgets requested but WebKitGTK+ or WebKit framework not found. Is it building against Cocoa or GTK? I don't know if you maybe need to be explicit? ./configure --with-ns --with-xwidgets BTW, there's a branch on savannah, scratch/nsxwidgets, that definitely built at the time, but I suspect it's been superseded by that last patch from Jo Sungbin. -- Alan Third From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 11 16:29:29 2020 Received: (at 29565) by debbugs.gnu.org; 11 Aug 2020 20:29:29 +0000 Received: from localhost ([127.0.0.1]:41790 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5atk-0006rW-UZ for submit@debbugs.gnu.org; Tue, 11 Aug 2020 16:29:29 -0400 Received: from quimby.gnus.org ([95.216.78.240]:36256) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5ati-0006rH-Cj for 29565@debbugs.gnu.org; Tue, 11 Aug 2020 16:29:27 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=ayTGN9QaRFLCYD1T6HJN2yJfZsameBI/FTUskffdmgE=; b=e4WS9vOqaum8qccB7pZzUIAlcT ou+U1MiLQLvKQeHck58yjLdQ91MA1RDMubgZksCYOlU2Z9QJ7WM09BFmA4EA4ex3Br27ot42GhoeD jU1OFesoewjAkNtJha2yiiTXBahKIMMu8fngCAaKawM31V9LqRnUlVc3uGpBzNUvIJrk=; Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo) by quimby with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1k5atY-0008TP-1n; Tue, 11 Aug 2020 22:29:18 +0200 From: Lars Ingebrigtsen To: Alan Third Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X References: <87pn7y38sp.fsf@gnus.org> <20200810190612.GA40992@breton.holly.idiocy.org> <87tux9xx3i.fsf@gnus.org> <83eeod438f.fsf@gnu.org> <87mu31rvwa.fsf@gnus.org> <20200811195557.GA41737@breton.holly.idiocy.org> <871rkdrm2l.fsf@gnus.org> <20200811201817.GC41737@breton.holly.idiocy.org> Date: Tue, 11 Aug 2020 22:29:13 +0200 In-Reply-To: <20200811201817.GC41737@breton.holly.idiocy.org> (Alan Third's message of "Tue, 11 Aug 2020 22:18:20 +0200 (CEST)") Message-ID: <87tux9q63q.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Alan Third writes: > Is it building against Cocoa or GTK? > > I don't know if you maybe need to be explicit? > > ./configure --with-ns --with-xwidgets D'oh! Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29565 Cc: 29565@debbugs.gnu.org, stefan@marxist.se, veshboo@gmail.com, Richard Stallman , pcr910303@icloud.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Alan Third writes: > Is it building against Cocoa or GTK? > > I don't know if you maybe need to be explicit? > > ./configure --with-ns --with-xwidgets D'oh! I tried first with just --with-xwidgets, and then it said I needed gtk3. But that was just because I had forgotten to rebuild the configure script, apparently. I've now done so, and ./configure --with-xwidgets works fine, and it compiles without any problems, but with some extra warnings that I don't think were there before, like: Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSPasteboard.h:312:32: note: 'NSFilenamesPboardType' has been explicitly marked deprecated here APPKIT_EXTERN NSPasteboardType NSFilenamesPboardType API_DEPRECATED("Cre... ^ nsterm.m:8624:35: warning: 'NSURLPboardType' is deprecated: first deprecated in macOS 10.14 [-Wdeprecated-declarations] else if ([type isEqualToString: NSURLPboardType]) ^~~~~~~~~~~~~~~ NSPasteboardTypeURL Or were these there before, too? I did have some warnings before applying the patch... Anyway, it builds, and it seems to work well -- M-x xwidget-webkit-browse-url seems to work fine. So, tomorrow I'll look into the warnings and get this thing checked in and pushed. Thanks for the pointer to --with-ns. :-) -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 11 16:35:27 2020 Received: (at 29565) by debbugs.gnu.org; 11 Aug 2020 20:35:27 +0000 Received: from localhost ([127.0.0.1]:41797 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5azX-00071N-K6 for submit@debbugs.gnu.org; Tue, 11 Aug 2020 16:35:27 -0400 Received: from mailout-l3b-97.contactoffice.com ([212.3.242.97]:51172) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5azV-000719-Uo for 29565@debbugs.gnu.org; Tue, 11 Aug 2020 16:35:26 -0400 Received: from smtpauth1.co-bxl (smtpauth1.co-bxl [10.2.0.15]) by mailout-l3b-97.contactoffice.com (Postfix) with ESMTP id A2C481EF6; Tue, 11 Aug 2020 22:35:19 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1597178119; s=20200222-6h9o; d=idiocy.org; i=alan@idiocy.org; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:Content-Type:In-Reply-To; l=1049; bh=otQv02v5aMx+B/MaLovMF83st668tSoRr5Qxzgx9cks=; b=dueA30/1JROjEh8hs8DW7ePSrp6iaBN959RAiBlDtH3y2VK9a5tcYUx+ArGgPIgS aA8EBcRGzwBq5q/gco238wrdXxYtAHGYtQNJm1NEr/Kj/hKT8dAjyX0fFQevmpDhaYc SsnDIwsNY4J4KDAu+DyBW67vGsMCJxq4y9Iu9lbySkFRR9yoEbhOUeBciyvuuSm4vmC Dh/X/RCe5tssHGiqCM3jAO3qsg4dQq+hji4md74+cdVKcfp9myLobHAR0/YHxcAxY0G uhB9+OQlUNF4OPhAlvlFpyhry5YgRVwy3zQGVqFfTi6h9xraSrxRVQSbjXEZy4ND5dY Un0BKDZdbQ== Received: by smtp.mailfence.com with ESMTPA ; Tue, 11 Aug 2020 22:35:15 +0200 (CEST) Received: by breton.holly.idiocy.org (Postfix, from userid 501) id BE7ED20244719F; Tue, 11 Aug 2020 21:35:13 +0100 (BST) Date: Tue, 11 Aug 2020 22:35:17 +0200 (CEST) From: Alan Third To: Lars Ingebrigtsen Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X Message-ID: <20200811203513.GD41737@breton.holly.idiocy.org> Mail-Followup-To: Alan Third , Lars Ingebrigtsen , veshboo@gmail.com, Richard Stallman , stefan@marxist.se, 29565@debbugs.gnu.org, pcr910303@icloud.com References: <87pn7y38sp.fsf@gnus.org> <20200810190612.GA40992@breton.holly.idiocy.org> <87tux9xx3i.fsf@gnus.org> <83eeod438f.fsf@gnu.org> <87mu31rvwa.fsf@gnus.org> <20200811195557.GA41737@breton.holly.idiocy.org> <871rkdrm2l.fsf@gnus.org> <20200811201817.GC41737@breton.holly.idiocy.org> <87tux9q63q.fsf@gnus.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87tux9q63q.fsf@gnus.org> X-Spam-Flag: NO X-Spam-Status: No, hits=-2.9 required=4.7 symbols=ALL_TRUSTED, BAYES_00 device=10.2.0.1 X-ContactOffice-Account: com:241649512 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 29565 Cc: 29565@debbugs.gnu.org, stefan@marxist.se, veshboo@gmail.com, Richard Stallman , pcr910303@icloud.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Tue, Aug 11, 2020 at 10:29:13PM +0200, Lars Ingebrigtsen wrote: > > I've now done so, and ./configure --with-xwidgets works fine, and it > compiles without any problems, but with some extra warnings that I don't > think were there before, like: > > Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSPasteboard.h:312:32: note: > 'NSFilenamesPboardType' has been explicitly marked deprecated here > APPKIT_EXTERN NSPasteboardType NSFilenamesPboardType API_DEPRECATED("Cre... > ^ > nsterm.m:8624:35: warning: 'NSURLPboardType' is deprecated: first deprecated in > macOS 10.14 [-Wdeprecated-declarations] > else if ([type isEqualToString: NSURLPboardType]) > ^~~~~~~~~~~~~~~ > NSPasteboardTypeURL > > Or were these there before, too? I did have some warnings before > applying the patch... They should have been, yes. I've been very lazy with fixing those PasteBoard warnings. > Thanks for the pointer to --with-ns. :-) NP, I'm glad it's working! -- Alan Third From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 11 16:50:59 2020 Received: (at 29565) by debbugs.gnu.org; 11 Aug 2020 20:50:59 +0000 Received: from localhost ([127.0.0.1]:41852 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5bEY-0007Pk-Uk for submit@debbugs.gnu.org; Tue, 11 Aug 2020 16:50:59 -0400 Received: from quimby.gnus.org ([95.216.78.240]:36502) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5bEW-0007PX-WE for 29565@debbugs.gnu.org; Tue, 11 Aug 2020 16:50:57 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=pnXMiD8jTGQraxBo2DVJy0i/Pf66ZbHitghtlpgpfcE=; b=P8WXgfyXlYJceE+cTv9RwBHXFv BNfEi6qnPvN+/BvDnWwK8aqk1gGwswkJNGR37IvOM+Z+AeDtah48wNz3C7Vhn1mxEChLA5KDh36Ez xN9vKBlmST2nt4FhVtOoPGrqeeFOlE1aKm5xwgipbdTBhWkAtBmDc26g31kgfIiJfcS4=; Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo) by quimby with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1k5bEI-0000Bt-Jk; Tue, 11 Aug 2020 22:50:45 +0200 From: Lars Ingebrigtsen To: Alan Third Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X References: <87pn7y38sp.fsf@gnus.org> <20200810190612.GA40992@breton.holly.idiocy.org> <87tux9xx3i.fsf@gnus.org> <83eeod438f.fsf@gnu.org> <87mu31rvwa.fsf@gnus.org> <20200811195557.GA41737@breton.holly.idiocy.org> <871rkdrm2l.fsf@gnus.org> <20200811201817.GC41737@breton.holly.idiocy.org> <87tux9q63q.fsf@gnus.org> Date: Tue, 11 Aug 2020 22:50:40 +0200 In-Reply-To: <87tux9q63q.fsf@gnus.org> (Lars Ingebrigtsen's message of "Tue, 11 Aug 2020 22:29:13 +0200") Message-ID: <87pn7wrjof.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Lars Ingebrigtsen writes: > So, tomorrow I'll look into the warnings and get this thing checked in > and pushed. That is, unless Sungbin chimes in... and has a new patch set that he's worked on in the year since this was discussed last or something. :-) Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29565 Cc: 29565@debbugs.gnu.org, stefan@marxist.se, veshboo@gmail.com, Richard Stallman , pcr910303@icloud.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Lars Ingebrigtsen writes: > So, tomorrow I'll look into the warnings and get this thing checked in > and pushed. That is, unless Sungbin chimes in... and has a new patch set that he's worked on in the year since this was discussed last or something. :-) Sungbin? -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 11 22:26:22 2020 Received: (at 29565) by debbugs.gnu.org; 12 Aug 2020 02:26:22 +0000 Received: from localhost ([127.0.0.1]:42312 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5gT8-0001RU-En for submit@debbugs.gnu.org; Tue, 11 Aug 2020 22:26:22 -0400 Received: from eggs.gnu.org ([209.51.188.92]:35078) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5gT6-0001RI-NM for 29565@debbugs.gnu.org; Tue, 11 Aug 2020 22:26:21 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:53555) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k5gT1-0001hP-2L; Tue, 11 Aug 2020 22:26:15 -0400 Received: from rms by fencepost.gnu.org with local (Exim 4.82) (envelope-from ) id 1k5gSx-00086h-8m; Tue, 11 Aug 2020 22:26:11 -0400 Content-Type: text/plain; charset=Utf-8 From: Richard Stallman To: Alan Third In-Reply-To: <20200810190612.GA40992@breton.holly.idiocy.org> (message from Alan Third on Mon, 10 Aug 2020 21:06:14 +0200 (CEST)) Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X References: <87pn7y38sp.fsf@gnus.org> <20200810190612.GA40992@breton.holly.idiocy.org> Message-Id: Date: Tue, 11 Aug 2020 22:26:11 -0400 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 29565 Cc: alan@idiocy.org, veshboo@gmail.com, stefan@marxist.se, 29565@debbugs.gnu.org, pcr910303@icloud.com, larsi@gnus.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: rms@gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] Since GCC supports Objective C, we would like people to implement in GCC any new Objective C features. Until someone does that, let's not use those features in our own Objective C code. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) From debbugs-submit-bounces@debbugs.gnu.org Wed Aug 12 00:13:34 2020 Received: (at 29565) by debbugs.gnu.org; 12 Aug 2020 04:13:34 +0000 Received: from localhost ([127.0.0.1]:42554 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5i8s-00071I-EA for submit@debbugs.gnu.org; Wed, 12 Aug 2020 00:13:34 -0400 Received: from eggs.gnu.org ([209.51.188.92]:53078) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5i8q-000716-Ed for 29565@debbugs.gnu.org; Wed, 12 Aug 2020 00:13:33 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:55587) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k5i8k-00030n-8G; Wed, 12 Aug 2020 00:13:26 -0400 Received: from [2a02:14f:1ff:18e8::1ce4:157f] (port=41448) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1k5i8d-0005yw-2M; Wed, 12 Aug 2020 00:13:19 -0400 Date: Wed, 12 Aug 2020 07:13:14 +0300 User-Agent: K-9 Mail for Android In-Reply-To: References: <87pn7y38sp.fsf@gnus.org> <20200810190612.GA40992@breton.holly.idiocy.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X To: rms@gnu.org,Richard Stallman ,Alan Third From: Eli Zaretskii Message-ID: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 29565 Cc: alan@idiocy.org, veshboo@gmail.com, stefan@marxist.se, 29565@debbugs.gnu.org, pcr910303@icloud.com, larsi@gnus.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) On August 12, 2020 5:26:11 AM GMT+03:00, Richard Stallman w= rote: > >Since GCC supports Objective C, we would like people to implement >in GCC any new Objective C features=2E Until someone does that, >let's not use those features in our own Objective C code=2E We do not use these features in our code=2E Those features are used in th= e Apple system libraries=2E The result is that NS Emacs cannot be built us= ing GCC at all, and that is not new=2E The patch being discussed adds xwidget support to an Emacs configuration t= hat cannot be built with GCC, so I think it's okay to rely on clang for bui= lding it, as we did in the past=2E Especially since extending GCC's ObjC i= mplementation is nig a priority for the GNU project=2E From debbugs-submit-bounces@debbugs.gnu.org Wed Aug 12 00:27:49 2020 Received: (at submit) by debbugs.gnu.org; 12 Aug 2020 04:27:49 +0000 Received: from localhost ([127.0.0.1]:42602 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5iMf-0007S0-2f for submit@debbugs.gnu.org; Wed, 12 Aug 2020 00:27:49 -0400 Received: from lists.gnu.org ([209.51.188.17]:49940) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5iMd-0007Rq-Ic for submit@debbugs.gnu.org; Wed, 12 Aug 2020 00:27:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37260) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k5iMd-00051c-Cv for bug-gnu-emacs@gnu.org; Wed, 12 Aug 2020 00:27:47 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:56059) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k5iMd-0004g0-04; Wed, 12 Aug 2020 00:27:47 -0400 Received: from [2a02:14f:1ff:18e8::1ce4:157f] (port=41500) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1k5iMR-0000eY-MU; Wed, 12 Aug 2020 00:27:36 -0400 Date: Wed, 12 Aug 2020 07:27:32 +0300 User-Agent: K-9 Mail for Android In-Reply-To: References: <87pn7y38sp.fsf@gnus.org> <20200810190612.GA40992@breton.holly.idiocy.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X To: bug-gnu-emacs@gnu.org, rms@gnu.org, Richard Stallman , Alan Third From: Eli Zaretskii Message-ID: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: submit Cc: alan@idiocy.org, veshboo@gmail.com, stefan@marxist.se, 29565@debbugs.gnu.org, pcr910303@icloud.com, larsi@gnus.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) On August 12, 2020 7:13:14 AM GMT+03:00, Eli Zaretskii wro= te: > >We do not use these features in our code=2E Those features are used in >the Apple system libraries=2E Sorry I meant "system header files", not "system libraries"=2E From debbugs-submit-bounces@debbugs.gnu.org Wed Aug 12 02:50:18 2020 Received: (at 29565) by debbugs.gnu.org; 12 Aug 2020 06:50:18 +0000 Received: from localhost ([127.0.0.1]:42737 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5kaX-0004xX-IE for submit@debbugs.gnu.org; Wed, 12 Aug 2020 02:50:17 -0400 Received: from pv50p00im-tydg10011801.me.com ([17.58.6.52]:47721) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5hiq-0003Ds-GQ for 29565@debbugs.gnu.org; Tue, 11 Aug 2020 23:46:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; t=1597203994; bh=NrDPIq8OlGfjOQqmDujg70yU4F+L3T7rr7DmOnO8owY=; h=Content-Type:Mime-Version:Subject:From:Date:Message-Id:To; b=MWZjibNKjfci9cfBzeNWFcpe/dPIbOPt15poORXSClppk8Kxpuu2HwHVijFPxWK4J wOO09dc0ek4K8CwdFdcqN4cDHew6kgXvk0ZkVEb06GmHRBMnz8veT++Og++ymrIZ/I Eq7cE4zHpoIas+NZeW9VcF1+GkkmkVUtx94bq0GT0usrqA2T6bJI22FSHl3Wb9bGqv OKBAwuR1gZ2la2rBClvnoMLz3jSIQh3C8IjvsjcsCfwC2NVeWpdTT28emIH2/gqjG7 wgbWdMP9UTPFzsMlph1QqZ+cLVRxBc+ehCYbPgkbX6lwXIbBr275E8QxEKs6TnRU75 h+rvYKDEZocOg== Received: from localhost (unknown [1.230.108.64]) by pv50p00im-tydg10011801.me.com (Postfix) with ESMTPSA id 6C91E66039E; Wed, 12 Aug 2020 03:46:34 +0000 (UTC) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (1.0) Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X From: =?utf-8?B?7KGw7ISx67mI?= In-Reply-To: <87pn7wrjof.fsf@gnus.org> Date: Wed, 12 Aug 2020 12:46:31 +0900 Message-Id: References: <87pn7wrjof.fsf@gnus.org> To: Lars Ingebrigtsen X-Mailer: iPhone Mail (18A5342e) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.235, 18.0.687 definitions=2020-08-11_19:2020-08-11, 2020-08-11 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-2004280000 definitions=main-2008120026 X-Spam-Score: -0.4 (/) X-Debbugs-Envelope-To: 29565 X-Mailman-Approved-At: Wed, 12 Aug 2020 02:50:13 -0400 Cc: 29565@debbugs.gnu.org, stefan@marxist.se, Alan Third , veshboo@gmail.com, Richard Stallman X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.4 (-) On Aug 12, 2020, at 5:50 AM, Lars Ingebrigtsen wrote: >=20 > =EF=BB=BFLars Ingebrigtsen writes: >=20 >> So, tomorrow I'll look into the warnings and get this thing checked in >> and pushed. >=20 > That is, unless Sungbin chimes in... and has a new patch set that he's > worked on in the year since this was discussed last or something. :-) Unfortunately I don=E2=80=99t have a new patchset that I=E2=80=99ve been wor= king on... (I lost interest on this after the long thread on Obj-C and gcc) b= ut I=E2=80=99ll be more than happy to incorporate the patch on master (but o= nly if I have the confidence that my time will be spent well and not being b= locked by the gcc issue, I guess). IIRC, the biggest problem was that the patch currently just messages (a lot)= when two xwidget views gets duplicated and Emacs can=E2=80=99t display one.= The sensible approach would be to show another view (I guess a NSView with a= NSTextField label in it?) but I=E2=80=99m not familiar enough with the disp= lay engine (as I didn=E2=80=99t write the code from scratch). Maybe someone m= ight help on that part...? > Sungbin? >=20 > --=20 > (domestic pets only, the antidote for overdose, milk.) > bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Wed Aug 12 06:06:15 2020 Received: (at 29565) by debbugs.gnu.org; 12 Aug 2020 10:06:16 +0000 Received: from localhost ([127.0.0.1]:42945 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5neB-0001IH-Lf for submit@debbugs.gnu.org; Wed, 12 Aug 2020 06:06:15 -0400 Received: from quimby.gnus.org ([95.216.78.240]:42980) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5neA-0001I3-7I for 29565@debbugs.gnu.org; Wed, 12 Aug 2020 06:06:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID :In-Reply-To:Date:References:Subject:Cc:To:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=Iqbbf4uguqUHw1F8PNRp8i5lMjVZSlOLd84fvgi2Jl8=; b=oVPF79h10/lFNaPLguKcYK0sCQ F7RVhUS7Vq8QDPkjQwXRJK8MwIhTBuJvMWhMZn5Z3zle0mGVf9KQS7o8UblN3UifnMbKp+KIb/8Og 8bowJtXQ8Fx7rouVVJl3xZnugqByW/Egh9JkQI/C8zGEZTC47hTRqgva4yhWxyVyjsT4=; Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo) by quimby with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1k5ndk-0007RV-7U; Wed, 12 Aug 2020 12:06:00 +0200 From: Lars Ingebrigtsen To: =?utf-8?B?7KGw7ISx67mI?= Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X References: <87pn7wrjof.fsf@gnus.org> Date: Wed, 12 Aug 2020 12:05:46 +0200 In-Reply-To: (=?utf-8?B?IuyhsOyEseu5iCIncw==?= message of "Wed, 12 Aug 2020 12:46:31 +0900") Message-ID: <87d03wqiv9.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: 조성빈 writes: > Unfortunately I don’t have a new patchset that I’ve been working > on... (I lost interest on this after the long thread on Obj-C and gcc) > but I’ll be more than happy to incorporate the patch [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29565 Cc: 29565@debbugs.gnu.org, stefan@marxist.se, Alan Third , veshboo@gmail.com, Richard Stallman X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) =EC=A1=B0=EC=84=B1=EB=B9=88 writes: > Unfortunately I don=E2=80=99t have a new patchset that I=E2=80=99ve been = working > on... (I lost interest on this after the long thread on Obj-C and gcc) > but I=E2=80=99ll be more than happy to incorporate the patch on master (b= ut > only if I have the confidence that my time will be spent well and not > being blocked by the gcc issue, I guess). Yeah, that was a discouraging thread on emacs-devel. I've taken your final version of the patch set and applied it to Emacs 28 -- there were a couple things I had to merge by hand, but everything seems to work fine, so I'll just go ahead and commit and push the change now. I'll also be applying the other two follow-up patches that added new functionality after doing a bit more testing. > IIRC, the biggest problem was that the patch currently just messages > (a lot) when two xwidget views gets duplicated and Emacs can=E2=80=99t di= splay > one. The sensible approach would be to show another view (I guess a > NSView with a NSTextField label in it?) but I=E2=80=99m not familiar enou= gh > with the display engine (as I didn=E2=80=99t write the code from > scratch). Maybe someone might help on that part...? As this is new functionality on Macos, I don't think that should block the inclusion of the patch -- further display glitches here (this is an optional feature, after all) can be worked on afterwards. --=20 (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Wed Aug 12 06:44:55 2020 Received: (at 29565) by debbugs.gnu.org; 12 Aug 2020 10:44:55 +0000 Received: from localhost ([127.0.0.1]:42989 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5oFb-0002HQ-0o for submit@debbugs.gnu.org; Wed, 12 Aug 2020 06:44:55 -0400 Received: from quimby.gnus.org ([95.216.78.240]:43250) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5oFW-0002H9-Un for 29565@debbugs.gnu.org; Wed, 12 Aug 2020 06:44:54 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=JMBgQrlmMld+Sqf/89AZhjnJcdVtWRu9sCqsRKMdPTM=; b=POjyQs2LX95OM6//QlJzABHI08 Wkas7mQeiD6ivF0OILRu7b3F9YixFWrJzABv+8C4Dx8UouXSAKgGGY4Xlrab9TCkHPNkPFMVrdQel IUo/R5QH8dx+pI+KywloeHORWdX18bjRtlelTzMTp7dRtERuIMxLm2YRJNRSIHpoxLi4=; Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo) by quimby with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1k5oFI-00081O-To; Wed, 12 Aug 2020 12:44:42 +0200 From: Lars Ingebrigtsen To: Eli Zaretskii Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X References: <87pn7y38sp.fsf@gnus.org> <20200810190612.GA40992@breton.holly.idiocy.org> <87tux9xx3i.fsf@gnus.org> <83eeod438f.fsf@gnu.org> <87mu31rvwa.fsf@gnus.org> <83364tox53.fsf@gnu.org> <875z9prnk1.fsf@gnus.org> <83tux9nfjf.fsf@gnu.org> Date: Wed, 12 Aug 2020 12:44:34 +0200 In-Reply-To: <83tux9nfjf.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 11 Aug 2020 22:33:40 +0300") Message-ID: <874kp8qh2l.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Eli Zaretskii writes: >> I think the intention is to signal an error if rel_pos is anything other >> than -1, 0 or 1... > > In that case, just call args_out_of_range_3 by hand, after testing > that the value is within boun [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29565 Cc: alan@idiocy.org, veshboo@gmail.com, rms@gnu.org, stefan@marxist.se, 29565@debbugs.gnu.org, pcr910303@icloud.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Eli Zaretskii writes: >> I think the intention is to signal an error if rel_pos is anything other >> than -1, 0 or 1... > > In that case, just call args_out_of_range_3 by hand, after testing > that the value is within bounds. You can see examples of that in > several source files. Yup. I just wondered where that macro came from... Anyway, I've now applied all of Sungbin's patches to Emacs 28, and things seem to work for me. I've tested compiling on Debian and the latest Macos, and xwidget seems to work well on Macos now. Thanks for implementing this, Sungbin. There's a couple added compilation warnings (on Macos) that should be fixed, but before looking at that, I noticed that an unrelated patch made the build spew out all these warnings: In file included from print.c:25: ./lisp.h:1830:12: warning: the argument to '__builtin_assume' has side effects that will be discarded [-Wassume] eassume (0 <= i && i < bool_vector_size (a)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lisp.h:182:32: note: expanded from macro 'eassume' # define eassume(cond) assume (cond) ^~~~ etc etc. Was that from one of Paul's patches yesterday? Anyway, I'm closing this bug report now, and we can open new ones for any problems that may crop up... -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Wed Aug 12 06:45:08 2020 Received: (at control) by debbugs.gnu.org; 12 Aug 2020 10:45:08 +0000 Received: from localhost ([127.0.0.1]:42993 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5oFo-0002Ia-97 for submit@debbugs.gnu.org; Wed, 12 Aug 2020 06:45:08 -0400 Received: from quimby.gnus.org ([95.216.78.240]:43268) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5oFm-0002Ho-IB for control@debbugs.gnu.org; Wed, 12 Aug 2020 06:45:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Subject:From:To:Message-Id:Date:Sender:Reply-To:Cc: MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=77M0di2e32elk5WHK48w1lPVaBSUbgfraPAh3KBS954=; b=sS1/2RJVf0RkRMYNqEd7W60fvb SYu5eAw6zJwHozFLHXMc5Mu+ZXczIrRpRJ0z4Hol1pd+sTSRfdHtykr3sJbjsHqy3q+B9RJgfk/01 ku4bU/GuTroKOpfiq+PQslo1Y4LlNqCr34ihDBHFnsc7Ao2vtFmQr5X2NVvawCtOV4s0=; Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo) by quimby with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1k5oFe-00081h-Nc for control@debbugs.gnu.org; Wed, 12 Aug 2020 12:45:00 +0200 Date: Wed, 12 Aug 2020 12:44:57 +0200 Message-Id: <87364sqh1y.fsf@gnus.org> To: control@debbugs.gnu.org From: Lars Ingebrigtsen Subject: control message for bug #29565 X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: tags 29565 fixed close 29565 28.1 quit Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) tags 29565 fixed close 29565 28.1 quit From debbugs-submit-bounces@debbugs.gnu.org Wed Aug 12 12:34:42 2020 Received: (at 29565) by debbugs.gnu.org; 12 Aug 2020 16:34:42 +0000 Received: from localhost ([127.0.0.1]:45321 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5ti6-00068U-2R for submit@debbugs.gnu.org; Wed, 12 Aug 2020 12:34:42 -0400 Received: from mailout-l3b-97.contactoffice.com ([212.3.242.97]:36416) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k5ti4-00068D-J5 for 29565@debbugs.gnu.org; Wed, 12 Aug 2020 12:34:41 -0400 Received: from smtpauth2.co-bxl (smtpauth2.co-bxl [10.2.0.24]) by mailout-l3b-97.contactoffice.com (Postfix) with ESMTP id 3268B1F8D; Wed, 12 Aug 2020 18:34:34 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1597250074; s=20200222-6h9o; d=idiocy.org; i=alan@idiocy.org; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:Content-Type:In-Reply-To; l=523; bh=HRIZdp7VbkBimXW1hiPThJy3geNHNf5IwMWIIAlxU+8=; b=UD94K629OWanZw0w4O3ak5t90axPexqKeYCdPFyyP5DWWoObKaFtIUaSGCeeeLHQ Cs4zpXTCLyE+wHGcid6+sCJshuGs+8a3Mv5LsXIS+QERThOkzIL/5TgGvVt6e6LpJuj aTOmE6bVNGKmYh/1kjKha7Vw8ebORnlHgD+FhyuOwqlw73WzdCdN2KYsHCVOzZw2lBg VeDjWai2CiM9/yTHJkvuG+ckgesLertZtUpjOPx9H+AsIaUBtiX6je0SvNgCdHf5sNY EchH7Ap7hD8kARuhvxB/GAyd5RLB9TQSQpyFk6HlUdMW5qSmj3d0NH0H2f5iTu7HxVL +BjXiLvMbw== Received: by smtp.mailfence.com with ESMTPA ; Wed, 12 Aug 2020 18:34:30 +0200 (CEST) Received: by breton.holly.idiocy.org (Postfix, from userid 501) id 9212C2024487A4; Wed, 12 Aug 2020 17:34:28 +0100 (BST) Date: Wed, 12 Aug 2020 18:34:30 +0200 (CEST) From: Alan Third To: Lars Ingebrigtsen Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X Message-ID: <20200812163428.GA42216@breton.holly.idiocy.org> Mail-Followup-To: Alan Third , Lars Ingebrigtsen , =?utf-8?B?7KGw7ISx67mI?= , 29565@debbugs.gnu.org, veshboo@gmail.com, stefan@marxist.se, Richard Stallman References: <87pn7wrjof.fsf@gnus.org> <87d03wqiv9.fsf@gnus.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87d03wqiv9.fsf@gnus.org> X-Spam-Flag: NO X-Spam-Status: No, hits=-1.0 required=4.7 symbols=ALL_TRUSTED device=10.2.0.21 X-ContactOffice-Account: com:241649512 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 29565 Cc: 29565@debbugs.gnu.org, stefan@marxist.se, veshboo@gmail.com, Richard Stallman , =?utf-8?B?7KGw7ISx67mI?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Wed, Aug 12, 2020 at 12:05:46PM +0200, Lars Ingebrigtsen wrote: > I've taken your final version of the patch set and applied it to Emacs > 28 -- there were a couple things I had to merge by hand, but everything > seems to work fine, so I'll just go ahead and commit and push the change > now. I'll also be applying the other two follow-up patches that added > new functionality after doing a bit more testing. Thanks Lars, and also Jo Sungbin and Kwak Jaesup for writing it in the first place! -- Alan Third From debbugs-submit-bounces@debbugs.gnu.org Wed Aug 12 23:43:56 2020 Received: (at 29565) by debbugs.gnu.org; 13 Aug 2020 03:43:56 +0000 Received: from localhost ([127.0.0.1]:46449 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k649j-0000Ab-OF for submit@debbugs.gnu.org; Wed, 12 Aug 2020 23:43:55 -0400 Received: from eggs.gnu.org ([209.51.188.92]:51026) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k649h-0000AM-6U for 29565@debbugs.gnu.org; Wed, 12 Aug 2020 23:43:54 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:47079) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k649a-0001q2-6O; Wed, 12 Aug 2020 23:43:46 -0400 Received: from rms by fencepost.gnu.org with local (Exim 4.82) (envelope-from ) id 1k649Y-0003tq-Ve; Wed, 12 Aug 2020 23:43:45 -0400 Content-Type: text/plain; charset=Utf-8 From: Richard Stallman To: Eli Zaretskii In-Reply-To: (message from Eli Zaretskii on Wed, 12 Aug 2020 07:13:14 +0300) Subject: Re: bug#29565: [PATCH] Support xwidget webkit for macOS X References: <87pn7y38sp.fsf@gnus.org> <20200810190612.GA40992@breton.holly.idiocy.org> Message-Id: Date: Wed, 12 Aug 2020 23:43:44 -0400 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 29565 Cc: alan@idiocy.org, veshboo@gmail.com, stefan@marxist.se, 29565@debbugs.gnu.org, pcr910303@icloud.com, larsi@gnus.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: rms@gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > The patch being discussed adds xwidget support to an Emacs > configuration that cannot be built with GCC, so I think it's okay > to rely on clang for building it, as we did in the past. Yes. It is unfortunate, but not horribly so. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) From unknown Fri Jun 20 07:17:22 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 10 Sep 2020 11:24:11 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator