From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Price Subject: Re: html-email in org-mode Date: Fri, 4 Nov 2016 20:13:03 -0400 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=001a1142705a84abdf054082a7ad Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:50221) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c2obb-0002Aa-VV for emacs-orgmode@gnu.org; Fri, 04 Nov 2016 20:13:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c2obZ-0001TJ-IP for emacs-orgmode@gnu.org; Fri, 04 Nov 2016 20:13:07 -0400 Received: from mail-it0-x235.google.com ([2607:f8b0:4001:c0b::235]:37527) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1c2obZ-0001S9-6S for emacs-orgmode@gnu.org; Fri, 04 Nov 2016 20:13:05 -0400 Received: by mail-it0-x235.google.com with SMTP id u205so15241779itc.0 for ; Fri, 04 Nov 2016 17:13:05 -0700 (PDT) In-Reply-To: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Alan Schmitt Cc: "Emacs-orgmode@gnu.org" , John Kitchin --001a1142705a84abdf054082a7ad Content-Type: multipart/alternative; boundary=001a1142705a84abda054082a7ab --001a1142705a84abda054082a7ab Content-Type: text/plain; charset=UTF-8 John, I'm moving this over to this thread because I think my issues with htmlize-and-send might not be because of any errors in my setup. When I use John's htmlize-and-send, or any similar function, to attempt to send an html email from org-mode, I get an error from message-send: "Message already sent via mail; resend?" Attmepting to resend fails silently, and the message is neither sent nor saved to archives. Interestingly, the first time I try this in a new emacs session, I get no error message ( though the message doesn't actually get sent). This makes me wonder if there's something wrong with the way mu4e/message/htmlize-and-send is keeping track of messages. I've attached the minimal mail-test.el that I use to start emacs; I'm using a pretty recent emacs-git with the latest org-mode git, on Arch Linux, with offlineimap and nullmailer (which has a sendmail clone). If anyone out there has a moment to look at my config and tell me if they see anything wrong... I'd aprreciate it. Th anks, Matt --001a1142705a84abda054082a7ab Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
John, I'm moving this over to this thre= ad because I think my issues with htmlize-and-send might not be because of = any errors in my setup.

When I use John's htmlize-and-sen= d, or any similar function, to attempt to send an html email from org-mode,= I get an error from message-send: "Message already sent via mail; res= end?" Attmepting to resend fails silently, and the message is neither = sent nor saved to archives. Interestingly, the first time I try this in a n= ew emacs session, I get no error message ( though the message doesn't a= ctually get sent). This makes me wonder if there's something wrong with= the way mu4e/message/htmlize-and-send is keeping track of messages.
I've attached the minimal mail-test.el that I use to start emacs= ; I'm using a pretty recent emacs-git with the latest org-mode git, on = Arch Linux, with offlineimap and nullmailer (which has a sendmail clone). I= f anyone out there has a moment to look at my config and tell me if they se= e anything wrong... I'd aprreciate it. Th
anks,

Matt





--001a1142705a84abda054082a7ab-- --001a1142705a84abdf054082a7ad Content-Type: text/x-emacs-lisp; charset=US-ASCII; name="mail-test.el" Content-Disposition: attachment; filename="mail-test.el" Content-Transfer-Encoding: base64 X-Attachment-Id: f_iv4ghw8h1 OzsgZXhhbXBsZSBjb25maWd1cmF0aW9uIGZvciBtdTRlCihhZGQtdG8tbGlzdCAnbG9hZC1wYXRo ICIvaG9tZS9tYXR0L3NyYy9tdS9tdTRlLyIgKQooYWRkLXRvLWxpc3QgJ2xvYWQtcGF0aCAiL2hv bWUvbWF0dC9zcmMvb3JnLW1vZGUvbGlzcC8iICkKKGFkZC10by1saXN0ICdsb2FkLXBhdGggIi9o b21lL21hdHQvc3JjL29yZy1tb2RlL2NvbnRyaWIvbGlzcC8iICkKCjs7IG1ha2Ugc3VyZSBtdTRl IGlzIGluIHlvdXIgbG9hZC1wYXRoCihyZXF1aXJlICdtdTRlKQoocmVxdWlyZSAnb3JnKQoocmVx dWlyZSAnb3JnLW1pbWUpCgoKOzsgT25seSBuZWVkZWQgaWYgeW91ciBtYWlsZGlyIGlzIF9ub3Rf IH4vTWFpbGRpcgo7OyBNdXN0IGJlIGEgcmVhbCBkaXIsIG5vdCBhIHN5bWxpbmsKKHNldHEgbXU0 ZS1tYWlsZGlyICIvaG9tZS9tYXR0L1VvZlRNYWlsLyIpCgo7OyB0aGVzZSBtdXN0IHN0YXJ0IHdp dGggYSAiLyIsIGFuZCBtdXN0IGV4aXN0Cjs7IChpLmUuLiAvaG9tZS91c2VyL01haWxkaXIvc2Vu dCBtdXN0IGV4aXN0KQo7OyB5b3UgdXNlIGUuZy4gJ211IG1rZGlyJyB0byBtYWtlIHRoZSBNYWls ZGlycyBpZiB0aGV5IGRvbid0Cjs7IGFscmVhZHkgZXhpc3QKCjs7IGJlbG93IGFyZSB0aGUgZGVm YXVsdHM7IGlmIHRoZXkgZG8gbm90IGV4aXN0IHlldCwgbXU0ZSBvZmZlcnMgdG8KOzsgY3JlYXRl IHRoZW0uIHRoZXkgY2FuIGFsc28gZnVuY3Rpb25zOyBzZWUgdGhlaXIgZG9jc3RyaW5ncy4KKHNl dHEgbXU0ZS1zZW50LWZvbGRlciAgICIvU2VudCIpCihzZXRxIG11NGUtZHJhZnRzLWZvbGRlciAi L0RyYWZ0cyIpCihzZXRxIG11NGUtdHJhc2gtZm9sZGVyICAiL1RyYXNoIikKKHNldHEgbXU0ZS1y ZWZpbGUtZm9sZGVyICAiL0FyY2hpdmVzIikKCjs7IHNtdHAgbWFpbCBzZXR0aW5nOyB0aGVzZSBh cmUgdGhlIHNhbWUgdGhhdCBgZ251cycgdXNlcy4KKHNldHEKIDs7bWVzc2FnZS1zZW5kLW1haWwt ZnVuY3Rpb24gICAnc210cG1haWwtc2VuZC1pdAogc210cG1haWwtZGVmYXVsdC1zbXRwLXNlcnZl ciAic210cC51dG9yb250by5jYSIKIHNtdHBtYWlsLXNtdHAtc2VydmVyICAgICAgICAgInNtdHAu dXRvcm9udG8uY2EiCiBzbXRwbWFpbC1sb2NhbC1kb21haW4gICAgICAgICJ1dG9yb250by5jYSIp CgoKOzsgdXNlIG1zbXRwIGluc3RlYWQgb2Ygc2VuZG1haWwhCjs7IGFjdHVhbGx5IHdlJ3JlIHVz aW5nIG51bGxtYWlsZXIgbm93LiBCb3RoIGFyZSBncmVhdCwgYnV0IG51bGxtYWlsZXIgc2VuZCBp cyBzdWJqZXRpdmVseSBpbnN0YW50YW5lb3VzCihzZXRxIG1lc3NhZ2Utc2VuZC1tYWlsLWZ1bmN0 aW9uICdtZXNzYWdlLXNlbmQtbWFpbC13aXRoLXNlbmRtYWlsKQo7OyBpbnN0ZWFkIG9mIHNlbmRp bmcgZGlyZWN0bHkgd2l0aCBtc210cCwgc25lZCB3aXRoIHRoZSBlbnF1ZXVlIHNjcmlwdAo7Oyhz ZXRxIHNlbmRtYWlsLXByb2dyYW0gIi91c3IvbG9jYWwvYmluL21zbXRwLWVucXVldWUuc2giKQoo c2V0cSBzZW5kbWFpbC1wcm9ncmFtICIvdXNyL2Jpbi9zZW5kbWFpbCIpCjs7KHNldHEgc2VuZG1h aWwtcHJvZ3JhbSAiL3Vzci9iaW4vbXNtdHAiKQoKICAgICAgOzs7IFRoaXMgbGluZSBhbGxvd3Mg eW91IHRvIHN0b3JlIGEgcXVpY2sgbGluayB0byB0aGUgcmVsZXZhbnQgZW1haWwgaW4gYSBUT0RP IGl0ZW0uCiAgICAgIDs7OyB0aGFuayB5b3UsIFByYWdtYXRpYyBFbWFjczogaHR0cDovL3ByYWdt YXRpY2VtYWNzLmNvbS9lbWFjcy9tYXN0ZXIteW91ci1pbmJveC13aXRoLW11NGUtYW5kLW9yZy1t b2RlLwo7O3N0b3JlIG9yZy1tb2RlIGxpbmtzIHRvIG1lc3NhZ2VzCihyZXF1aXJlICdvcmctbXU0 ZSkKOztzdG9yZSBsaW5rIHRvIG1lc3NhZ2UgaWYgaW4gaGVhZGVyIHZpZXcsIG5vdCB0byBoZWFk ZXIgcXVlcnkKKHNldHEgb3JnLW11NGUtbGluay1xdWVyeS1pbi1oZWFkZXJzLW1vZGUgbmlsKQoK Cgo7OyB0aGUgbWFpbGRpcnMgeW91IHVzZSBmcmVxdWVudGx5OyBhY2Nlc3MgdGhlbSB3aXRoICdq JyAoJ2p1bXAnKQooc2V0cSAgIG11NGUtbWFpbGRpci1zaG9ydGN1dHMKICAgICAgICAnKCgiL2lu Ym94IiAgICAgICAuID9pKQogICAgICAgICAgKCIvQXJjaGl2ZXMiICAgICAuID9hKQogICAgICAg ICAgKCIvU2VudCIgICAgICAgIC4gP3MpKSkKCjs7IGEgIGxpc3Qgb2YgdXNlcidzIGUtbWFpbCBh ZGRyZXNzZXMKKHNldHEgbXU0ZS11c2VyLW1haWwtYWRkcmVzcy1saXN0ICcoIm1hdHQucHJpY2VA dXRvcm9udG8uY2EiICJtb3B0b3A5OUBnbWFpbC5jb20iKSkKCjs7IHdoZW4geW91IHdhbnQgdG8g dXNlIHNvbWUgZXh0ZXJuYWwgY29tbWFuZCBmb3IgdGV4dC0+aHRtbAo7OyBjb252ZXJzaW9uLCBl LmcuIHRoZSAnaHRtbDJ0ZXh0JyBwcm9ncmFtCjs7IChzZXRxIG11NGUtaHRtbDJ0ZXh0LWNvbW1h bmQgImh0bWwydGV4dCIpCjs7IGNvbW1lbnRpbmcgb3V0IGZvciB0ZXN0aW5nCjs7IChyZXF1aXJl ICdtdTRlLWNvbnRyaWIpCjs7IChzZXRxIG11NGUtaHRtbDJ0ZXh0LWNvbW1hbmQgJ211NGUtc2hy MnRleHQpCjs7IChhZGQtaG9vayAnbXU0ZS12aWV3LW1vZGUtaG9vawo7OyAgICAgICAgICAgKGxh bWJkYSgpCjs7ICAgICAgICAgICAgIDs7IHRyeSB0byBlbXVsYXRlIHNvbWUgb2YgdGhlIGV3dyBr ZXktYmluZGluZ3MKOzsgICAgICAgICAgICAgKGxvY2FsLXNldC1rZXkgKGtiZCAiPHRhYj4iKSAn c2hyLW5leHQtbGluaykKOzsgICAgICAgICAgICAgKGxvY2FsLXNldC1rZXkgKGtiZCAiPGJhY2t0 YWI+IikgJ3Noci1wcmV2aW91cy1saW5rKSkpCgoKOzsgdGhlIGhlYWRlcnMgdG8gc2hvdyBpbiB0 aGUgaGVhZGVycyBsaXN0IC0tIGEgcGFpciBvZiBhIGZpZWxkCjs7IGFuZCBpdHMgd2lkdGgsIHdp dGggYG5pbCcgbWVhbmluZyAndW5saW1pdGVkJwo7OyAoYmV0dGVyIG9ubHkgdXNlIHRoYXQgZm9y IHRoZSBsYXN0IGZpZWxkLgoKOzsgY29tbWVudGluZyBvdXQgZm9yIHRlc3RpbmcKOzsgVGhlc2Ug YXJlIHRoZSBkZWZhdWx0czoKOzsgKHNldHEgbXU0ZS1oZWFkZXJzLWZpZWxkcwo7OyAgICAgICAn KCAoOmh1bWFuLWRhdGUgICAgICAgICAgLiAgMjUpICAgIDs7IGFsdGVybmF0aXZlbHksIHVzZSA6 aHVtYW4tZGF0ZQo7OyAgICAgICAgICAoOmZsYWdzICAgICAgICAgLiAgIDYpCjs7ICAgICAgICAg ICg6bWFpbGluZy1saXN0ICAgICAgICAgLiAgIDEwKQo7OyAgICAgICAgICA7Oyg6YXR0YWNobWVu dHMgICAuICAgNikKOzsgICAgICAgICAgKDpmcm9tLW9yLXRvICAgICAgICAgIC4gIDIyKQo7OyAg ICAgICAgICAoOnN1YmplY3QgICAgICAgLiAgbmlsKSkpIDs7IGFsdGVybmF0aXZlbHksIHVzZSA6 dGhyZWFkLXN1YmplY3QKCjs7IHByb2dyYW0gdG8gZ2V0IG1haWw7IGFsdGVybmF0aXZlcyBhcmUg J2ZldGNobWFpbCcsICdnZXRtYWlsJwo7OyBpc3luYyBvciB5b3VyIG93biBzaGVsbHNjcmlwdC4g Y2FsbGVkIHdoZW4gJ1UnIGlzIHByZXNzZWQgaW4KOzsgbWFpbiB2aWV3LgoKOzsgSWYgeW91IGdl dCB5b3VyIG1haWwgd2l0aG91dCBhbiBleHBsaWNpdCBjb21tYW5kLAo7OyB1c2UgInRydWUiIGZv ciB0aGUgY29tbWFuZCAodGhpcyBpcyB0aGUgZGVmYXVsdCkKKHNldHEgbXU0ZS1nZXQtbWFpbC1j b21tYW5kICJvZmZsaW5laW1hcCIpCgo7OyBnZW5lcmFsIGVtYWNzIG1haWwgc2V0dGluZ3M7IHVz ZWQgd2hlbiBjb21wb3NpbmcgZS1tYWlsCjs7IHRoZSBub24tbXU0ZS0qIHN0dWZmIGlzIGluaGVy aXRlZCBmcm9tIGVtYWNzL21lc3NhZ2UtbW9kZQooc2V0cSBtdTRlLXJlcGx5LXRvLWFkZHJlc3Mg Im1hdHQucHJpY2VAdXRvcm9udG8uY2EiCiAgICAgIHVzZXItbWFpbC1hZGRyZXNzICJtYXR0LnBy aWNlQHV0b3JvbnRvLmNhIgogICAgICB1c2VyLWZ1bGwtbmFtZSAgIk1hdHQgUHJpY2UiKQooc2V0 cSBtdTRlLWNvbXBvc2Utc2lnbmF0dXJlCiAgICAgICIiKQoKOzsgc210cCBtYWlsIHNldHRpbmcK OzsgSSBkb24ndCB0aGluayB0aGlzIGlzIGJlaW5nIHVzZWQgYnkgbnVsbG1haWxlciBhdCBhbGws IHNvIHByb2JhYmx5IGlycmVsZWZhbnQgZm9yIG1lLgo7OyAoc2V0cQoKOzsgIDs7IGlmIHlvdSBu ZWVkIG9mZmxpbmUgbW9kZSwgc2V0IHRoZXNlIC0tIGFuZCBjcmVhdGUgdGhlIHF1ZXVlIGRpcgo7 OyAgOzsgd2l0aCAnbXUgbWtkaXInLCBpLmUuLiBtdSBta2RpciAvaG9tZS91c2VyL01haWxkaXIv cXVldWUKOzsgIHNtdHBtYWlsLXF1ZXVlLW1haWwgIG5pbAo7OyAgc210cG1haWwtcXVldWUtZGly ICAiL2hvbWUvbWF0dC9Vb2ZUTWFpbC9xdWV1ZS9jdXIiKQoKOzsgZG9uJ3Qga2VlcCBtZXNzYWdl IGJ1ZmZlcnMgYXJvdW5kCjs7IGNvbW1lbnRpbmcgb3V0IGluIGNhc2UgdGhpcyBpcyBhbiBpc3N1 ZS4gIAo7OyhzZXRxIG1lc3NhZ2Uta2lsbC1idWZmZXItb24tZXhpdCB0KQoKOzsgY29tbWVudGlu ZyBvdXQgZm9yIHRyb3VibGVzaG9vdGluZy4KOzsgc3BsaXQgaG9yaXpvbnRhbGx5LCB3aGljaCBp cyBob3cgSSBsaWtlIGl0Cjs7IGFjdHVhbGx5LCBzd2l0Y2ggdG8gdmVydGljYWwgKHdoaWNoIGlz IGJpemFycmVseSBjYWxsZWQgaG9yaXpvbnRhbCkKOzsgY2FuJ3Qgc2VlbSB0byBnZXQgaXQgdG8g c3dpdGNoLCBzbyB3ZSdsbCBzZWUgaG93IGl0IGdvZXMuCjs7IChzZXRxIDs7IG11NGUtc3BsaXQt dmlldyAnaG9yaXpvbnRhbAo7OyAgbXU0ZS1oZWFkZXJzLXZpc2libGUtbGluZXMgMTUKOzsgIG11 NGUtaGVhZGVycy12aXNpYmxlLWNvbHVtbnMgODApCgo7OyB2aWV3IGltYWdlcyBpbmxpbmUKOzsg ZW5hYmxlIGlubGluZSBpbWFnZXMKOzsgKHNldHEgbXU0ZS12aWV3LXNob3ctaW1hZ2VzIHQpCjs7 IDs7IHVzZSBpbWFnZW1hZ2ljaywgaWYgYXZhaWxhYmxlCjs7ICh3aGVuIChmYm91bmRwICdpbWFn ZW1hZ2ljay1yZWdpc3Rlci10eXBlcykKOzsgICAoaW1hZ2VtYWdpY2stcmVnaXN0ZXItdHlwZXMp KQoKOzsgZXh0cmFjdCBhdHRhY2htZW50cwo7OyBjb25zaWRlciBkb2luZyBzb21lIHNvcnRpbmcs IGUuZy46IGh0dHA6Ly93d3cuZGpjYnNvZnR3YXJlLm5sL2NvZGUvbXUvbXU0ZS9BdHRhY2htZW50 cy5odG1sI0F0dGFjaG1lbnRzCihzZXRxIG11NGUtYXR0YWNobWVudC1kaXIgICJ+L0Rvd25sb2Fk cyIpCihzZXRxIG11NGUtYXR0YWNobWVudC1kaXIKICAgICAgKGxhbWJkYSAoZm5hbWUgbXR5cGUp CiAgICAgICAgKGNvbmQKICAgICAgICAgOzsganBncyBnbyB0byB+L1BpY3R1cmVzL0Zyb21FbWFp bHMKICAgICAgICAgKChhbmQgZm5hbWUgKHN0cmluZy1tYXRjaCAiXFwuanBnJCIgZm5hbWUpKSAg In4vUGljdHVyZXMvRnJvbUVtYWlscyIpCiAgICAgICAgIDs7IC4uLiBvdGhlciBjYXNlcyAgLi4u CiAgICAgICAgICh0ICJ+L0Rvd25sb2FkcyIpKSkpIDs7IGV2ZXJ5dGhpbmcgZWxzZQo7OyAKCjs7 IFRoaXMgaXMgYSByZXdyaXRlIGlmIG11NGUtbWFpbiBmcm9tIFtbaHR0cHM6Ly9naXRodWIuY29t L3ptYWxsdGFsa2VyL2RvdC1lbWFjcy9ibG9iL21hc3Rlci9jb250cmliL211NGUvbXU0ZS1tYWlu LmVsXV0KCjs7IChldmFsLWFmdGVyLWxvYWQgJ211NGUgCjs7ICAgJyhkZWZpbmUta2V5IG11NGUt bWFpbi1tb2RlLW1hcCAibSIgJ211NGUtbWFpbi10b2dnbGUtbWFpbC1zZW5kaW5nLW1vZGUpKQo7 OyAoZXZhbC1hZnRlci1sb2FkICdtdTRlIAo7OyAgICcoZGVmaW5lLWtleSBtdTRlLW1haW4tbW9k ZS1tYXAgImYiICdzbXRwbWFpbC1zZW5kLXF1ZXVlZC1tYWlsKSkKCgo7OyBjb21tZW50IG91dCBh bGwgbXkgbmV3IGtleWJpbmRpbmdzCjs7IChkZWZ1biBteS1tdTRlLW1haW4tbW9kZS1jb25maWcg KCkKOzsgICAiRm9yIHVzZSBpbiBgbXU0ZS1tYWluLW1vZGUtaG9vaycuIgo7OyAgIChsb2NhbC1z ZXQta2V5IChrYmQgIm0iKSAnbXU0ZS1tYWluLXRvZ2dsZS1tYWlsLXNlbmRpbmctbW9kZSkgOyBh ZGQgYSBrZXkKOzsgICAobG9jYWwtc2V0LWtleSAoa2JkICJmIikgJ3NtdHBtYWlsLXNlbmQtcXVl dWVkLW1haWwpIDsgYWRkIGEga2V5Cjs7ICAgOzsobG9jYWwtc2V0LWtleSAoa2JkICJDLWMgQy1w IikgbmlsKSA7IGV4YW1wbGUgb2YgcmVtb3ZlIGEga2V5Cjs7ICAgOzsgbW9yZSBoZXJlCjs7ICAg KQoKOzsgKGRlZnVuIG15LW11NGUtaGVhZGVycy1tb2RlLWNvbmZpZyAoKQo7OyAgICJGb3IgdXNl IGluICdtdTRlLXZpZXctbW9kZS1ob29rJy4iCjs7ICAgKGxvY2FsLXNldC1rZXkgKGtiZCAiYSIp ICdtdTRlLWhlYWRlcnMtbWFyay1mb3ItcmVmaWxlKSA7OyByZW1hcCBmcm9tICJyIgo7OyAgIChs b2NhbC1zZXQta2V5IChrYmQgInIiKSAnbXU0ZS1jb21wb3NlLXJlcGx5KSA7OyBhZGQgbmV3IGtl eW1hcHBpbmcsIGFsb25nIHdpdGggIlIiCjs7ICAgKGxvY2FsLXNldC1rZXkgKGtiZCAiQy1jIEMt diIpICdtdTRlLWhlYWRlcnMtYWN0aW9uKSA7OyByZWJpbmQgZnJvbSBhCjs7ICAgKQoKOzsgKGRl ZnVuIG15LW11NGUtdmlldy1tb2RlLWNvbmZpZyAoKQo7OyAgICJGb3IgdXNlIGluICdtdTRlLXZp ZXctbW9kZS1ob29rJy4iCjs7ICAgKGxvY2FsLXNldC1rZXkgKGtiZCAiYSIpICdtdTRlLXZpZXct bWFyay1mb3ItcmVmaWxlKSA7OyByZW1hcCBmcm9tICJyIgo7OyAgIChsb2NhbC1zZXQta2V5IChr YmQgInIiKSAnbXU0ZS1jb21wb3NlLXJlcGx5KSA7OyBhZGQgbmV3IGtleW1hcHBpbmcsIGFsb25n IHdpdGggIlIiCjs7ICAgKGxvY2FsLXNldC1rZXkgKGtiZCAiQy1jIEMtdiIpICdtdTRlLXZpZXct YWN0aW9uKSA7OyByZWJpbmQgZnJvbSBhCjs7ICAgKHZpc3VhbC1saW5lLW1vZGUpCjs7ICAgKQoK Cgo7OyAoZGVmaW5lLWtleSBtdTRlLWhlYWRlcnMtbW9kZS1tYXAgKGtiZCAiQy1jIGMiKSAnb3Jn LW11NGUtc3RvcmUtYW5kLWNhcHR1cmUpCjs7IChkZWZpbmUta2V5IG11NGUtdmlldy1tb2RlLW1h cCAgICAoa2JkICJDLWMgYyIpICdvcmctbXU0ZS1zdG9yZS1hbmQtY2FwdHVyZSkKOzsgKGRlZmlu ZS1rZXkgbXU0ZS1oZWFkZXJzLW1vZGUtbWFwICJ4IiAjJ215LW11NGUtbWFyay1leGVjdXRlLWFs bC1uby1jb25maXJtKSAgOzsgdHVybiBvZmYgZXhlY3V0aW9uIG9jbmZpcm1hdGlvbgoKOzsgOzsg YWRkIHRvIGhvb2sKOzsgKGFkZC1ob29rICdtdTRlLW1haW4tbW9kZS1ob29rICdteS1tdTRlLW1h aW4tbW9kZS1jb25maWcpCjs7IChhZGQtaG9vayAnbXU0ZS1oZWFkZXJzLW1vZGUtaG9vayAnbXkt bXU0ZS1oZWFkZXJzLW1vZGUtY29uZmlnKQo7OyAoYWRkLWhvb2sgJ211NGUtdmlldy1tb2RlLWhv b2sgJ215LW11NGUtdmlldy1tb2RlLWNvbmZpZykKCgo7OyBjb25maWd1cmUgdmlldyBhY3Rpb25z CihhZGQtdG8tbGlzdCAnbXU0ZS12aWV3LWFjdGlvbnMKICAgICAgICAgICAgICcoIlZpZXdJbkJy b3dzZXIiIC4gbXU0ZS1hY3Rpb24tdmlldy1pbi1icm93c2VyKSB0KQoKICAgICAgOzs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Owo7OyBJbnRlcmFjdGl2ZSBmdW5jdGlvbnMKCjs7IChkZWZ1biBteS1tdTRlLW1hcmst ZXhlY3V0ZS1hbGwtbm8tY29uZmlybSAoKQo7OyAgICJFeGVjdXRlIGFsbCBtYXJrcyB3aXRob3V0 IGNvbmZpcm1hdGlvbi4iCjs7ICAgKGludGVyYWN0aXZlKQo7OyAgIChtdTRlLW1hcmstZXhlY3V0 ZS1hbGwgJ25vLWNvbmZpcm0pKQoKOzsgdGhpcyBzZWVtZWQgZXNzZW50aWFsIGF0IGZpcnN0IGJ1 dCBub3cgSSdtIG5vdCB1c2luZyB0aGUgbXN0cG1haWwgcXVldWUKOzsgKGRlZnVuIG11NGUtbWFp bi10b2dnbGUtbWFpbC1zZW5kaW5nLW1vZGUgKCkKOzsgICAiVG9nZ2xlIHNlbmRpbmcgbWFpbCBt b2RlLCBlaXRoZXIgcXVldWVkIG9yIGRpcmVjdC4iCjs7ICAgKGludGVyYWN0aXZlKQo7OyAgICh1 bmxlc3MgKGZpbGUtZGlyZWN0b3J5LXAgc210cG1haWwtcXVldWUtZGlyKQo7OyAgICAgKG11NGUt ZXJyb3IgImBzbXRwbWFpbC1xdWV1ZS1kaXInIGRvZXMgbm90IGV4aXN0IikpCjs7ICAgKHNldHEg c210cG1haWwtcXVldWUtbWFpbCAobm90IHNtdHBtYWlsLXF1ZXVlLW1haWwpKQo7OyAgIChtZXNz YWdlCjs7ICAgIChjb25jYXQgIk91dGdvaW5nIG1haWwgd2lsbCBub3cgYmUgIgo7OyAgICAgICAg ICAgIChpZiBzbXRwbWFpbC1xdWV1ZS1tYWlsICJxdWV1ZWQiICJzZW50IGRpcmVjdGx5IikpKQo7 OyAgIChtdTRlfm1haW4tdmlldykpCgoKCjs7IHVzZSBmbG93ZWQgdGV4dCBpbiBvY21wb3NlIG1v ZGUgb3MgeW91ciBlbWFpbHMgZG9uJ3QgbG9vayBhd2Z1bAo7OyB0aXAgc3VibWl0dGVkIGJ5IG11 NGUgdXNlciBjcGJvdGhhIChmcm9tIG1hbnVhbCwgYXBwZW5kaXgpCjs7IHVuZm9ydHVuYXRsZXkg dGhpcyBzZWVtcyB0byBpbnRlcmZlcmUgd2l0aCBKb2huIEtpdGNoaW47c3N0dWZmLiBEaXNhYmxp bmcgZm9yIG5vdywKOzsgd2lsbCBzdWJtaXQgcmVwb3J0Cjs7IChhZGQtaG9vayAnbXU0ZS1jb21w b3NlLW1vZGUtaG9vawo7OyAgICAgICAgICAgKGRlZnVuIGNwYi1jb21wb3NlLXNldHVwICgpCjs7 ICAgICAgICAgICAgICJPdXRnb2luZyBtYWlscyBnZXQgZm9ybWF0PWZsb3dlZC4iCjs7ICAgICAg ICAgICAgICh1c2UtaGFyZC1uZXdsaW5lcyB0ICdndWVzcykpKQoKOzsgdGhpcyBtaWdodCBiZSBv dmVybGFwcGluZyB3aXRoIHRoZSBiZWxvdy4uLgo7OyBpbiBmYWN0IGl0IGFsbW9zdCBjZXJ0YWlu bHkgaXMKOzsgKGFkZC1ob29rICdtdTRlLWNvbXBvc2UtbW9kZS1ob29rCjs7ICAgICAgICAgICAo ZGVmdW4gZG8tY29tcG9zZS1zdHVmZiAoKQo7OyAgICJNeSBzZXR0aW5ncyBmb3IgbWVzc2FnZSBj b21wb3NpdGlvbi4iCjs7ICAgICAgICAgICAgIChvcmctbXU0ZS1jb21wb3NlLW9yZy1tb2RlKSkp CgoKOzsgIG1ha2UgdXNlIG9mIG9yZy1tb2RlIGluIG9jbXBvc2l0aW9uIG1vZGUsIGFuZCBzaG93 IGh0bWwgdmVyc2lvbnMgYnkgZGVmYXVsLi4uCjs7IEkgdGhpbmsgdGhlcmUgbWlnaHQgYmUgYSBj b25mbGljdCB3aXRoIG9yZy1tdTRlLWNvbnZlcnQtdG8taHRtbCB0Cjs7IFNpbmNlIEkgc2VlbSB0 byBoYXZlIGRpc2NvdmVyZWQgdGhlIHByb2JsZW0gZWxzZXdoZXJlLCBJJ2xsIGNvbnNpZGVyIGNo YW5naW5nIHRoaXMgYmFjawo7OyBzb29uLiAKOzsgKHNldHEgOzsgb3JnLW11NGUtY29udmVydC10 by1odG1sIHQKOzsgIG11NGUtdmlldy1wcmVmZXItaHRtbCAgdCkKCgo7OyBqb2huIGtpdGNoaW4n cyB0cmljayB0byBjaGVjayBmb3IgYXR0YWNobWVudHM6Cjs7IGh0dHA6Ly9raXRjaGluZ3JvdXAu Y2hlbWUuY211LmVkdS9ibG9nL2NhdGVnb3J5L2VtYWlsLwoKCgooZGVmdW4gb3JnLW1pbWUtb3Jn LWJ1ZmZlci1odG1saXplICgpCiAgIkNyZWF0ZSBhbiBlbWFpbCBidWZmZXIgY29udGFpbmluZyB0 aGUgY3VycmVudCBvcmctbW9kZSBmaWxlCiAgZXhwb3J0ZWQgdG8gaHRtbCBhbmQgZW5jb2RlZCBp biBib3RoIGh0bWwgYW5kIGluIG9yZyBmb3JtYXRzIGFzCiAgbWltZSBhbHRlcm5hdGl2ZXMuIgog IChpbnRlcmFjdGl2ZSkKICAob3JnLW1pbWUtc2VuZC1idWZmZXIgJ2h0bWwpCiAgKG1lc3NhZ2Ut Z290by10bykpCgooZGVmdW4gb3JnLW1pbWUtc3VidHJlZSAoKQogICJDcmVhdGUgYW4gZW1haWwg YnVmZmVyIGNvbnRhaW5pbmcgdGhlIGN1cnJlbnQgb3JnLW1vZGUgc3VidHJlZQogIGV4cG9ydGVk IHRvIGEgb3JnIGZvcm1hdCBvciB0byB0aGUgZm9ybWF0IHNwZWNpZmllZCBieSB0aGUKICBNQUlM X0ZNVCBwcm9wZXJ0eSBvZiB0aGUgc3VidHJlZS4iCiAgKGludGVyYWN0aXZlKQogIChvcmctbWlt ZS1zZW5kLXN1YnRyZWUKICAgKG9yIChvcmctZW50cnktZ2V0IG5pbCAiTUFJTF9GTVQiIG9yZy1t aW1lLXVzZS1wcm9wZXJ0eS1pbmhlcml0YW5jZSkgJ29yZykpCiAgKG1lc3NhZ2UtZ290by10bykp CgooZGVmdW4gbXU0ZS1jb21wb3NlLW9yZy1tYWlsICgpCiAgKGludGVyYWN0aXZlKQogIChtdTRl LWNvbXBvc2UtbmV3KQogIChvcmctbXU0ZS1jb21wb3NlLW9yZy1tb2RlKSkKCihkZWZ1biBodG1s aXplLWFuZC1zZW5kICgpCiAgIldoZW4gaW4gYW4gb3JnLW11NGUtY29tcG9zZS1vcmctbW9kZSBt ZXNzYWdlLCBodG1saXplIGFuZCBzZW5kIGl0LiIKICAoaW50ZXJhY3RpdmUpCiAgOzsobWVzc2Fn ZSAiaGVsbG8iKQogICh3aGVuIChtZW1iZXIgJ29yZ35tdTRlLW1pbWUtc3dpdGNoLWhlYWRlcnMt b3ItYm9keSBwb3N0LWNvbW1hbmQtaG9vaykKICAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpCiAg ICAob3JnLW1pbWUtaHRtbGl6ZSkKICAgIChtZXNzYWdlLXNlbmQtYW5kLWV4aXQpKSkKCihhZGQt aG9vayAnb3JnLWN0cmwtYy1jdHJsLWMtaG9vayAnaHRtbGl6ZS1hbmQtc2VuZCB0KQoKKGRlZnVu IG13cC1zZW5kLWZyb20tb3JnICgpCiAgIndoZW4gaW4gb3JnLW11NGUtY29tcG9zZS1vcmctbW9k ZSBtZXNzYWdlLCBqdXN0IHNlbmQgaXQgYi9jIGh0bWxpemUgaGFzIGFscmVhZHkgYmVlbiBob29r ZSBpbiIKICAoaW50ZXJhY3RpdmUpCiAgKHdoZW4gKG1lbWJlciAnb3Jnfm11NGUtbWltZS1zd2l0 Y2gtaGVhZGVycy1vci1ib2R5IHBvc3QtY29tbWFuZC1ob29rKQogICAgKGdvdG8tY2hhciAocG9p bnQtbWluKSkKICAgIChtZXNzYWdlLXNlbmQtYW5kLWV4aXQpKSkKCjs7KGFkZC1ob29rICdvcmct Y3RybC1jLWN0cmwtYy1ob29rICdtd3Atc2VuZC1mcm9tLW9yZyB0KQoK --001a1142705a84abdf054082a7ad--