From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mike Fitzgerald Subject: Re: Bug: org-capture Does not take user to any new buffer Date: Tue, 5 Jun 2012 12:22:22 -0500 Message-ID: References: <1414.1338868583@alphaville> <3175.1338910540@alphaville> <3362.1338911751@alphaville> <3893.1338915692@alphaville> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=0016e6d7e943b76aa704c1bce492 Return-path: Received: from eggs.gnu.org ([208.118.235.92]:51200) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SbxSj-0000gc-CX for emacs-orgmode@gnu.org; Tue, 05 Jun 2012 13:22:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SbxSc-0000Te-Af for emacs-orgmode@gnu.org; Tue, 05 Jun 2012 13:22:32 -0400 Received: from mail-wi0-f171.google.com ([209.85.212.171]:49263) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SbxSb-0000T6-RL for emacs-orgmode@gnu.org; Tue, 05 Jun 2012 13:22:26 -0400 Received: by wibhm14 with SMTP id hm14so3079657wib.12 for ; Tue, 05 Jun 2012 10:22:22 -0700 (PDT) In-Reply-To: <3893.1338915692@alphaville> 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-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: nicholas.dokos@hp.com Cc: emacs-orgmode@gnu.org --0016e6d7e943b76aa704c1bce492 Content-Type: multipart/alternative; boundary=0016e6d7e943b76a7f04c1bce490 --0016e6d7e943b76a7f04c1bce490 Content-Type: text/plain; charset=ISO-8859-1 *Setup* -I performed my org-mode update by downloading org-7.8.11.zip Then extracting using something like rt click, "extract here" I also ran a defun that I found on wiki pages with the subject "Compiling without make" (defun my/compile-org(&optional directory) "Compile all *.el files that come with org-mode." (interactive) .... *RUN Result* Without restarting Emacs I run m-: (load-library "org-macs") followed by org-capture Result: -Behavior was exactly the same bug we have been discussing (did not change). Here is the backtrace. Thanks Mike On Tue, Jun 5, 2012 at 12:01 PM, Nick Dokos wrote: > Mike Fitzgerald wrote: > > > Debugger entered--Lisp error: (invalid-function > org-called-interactively-p) > > org-called-interactively-p(interactive) > > org-paste-subtree(4 #("* %?\nEntered on [2012-06-05 Tue 11:04]\n" 0 5 > (fontified nil) 5 16 (fontified nil) 16 17 (fontified nil) 17 37 (fontified > nil) 37 38 (fontified nil) 38 39 (fontified nil)) for-yank) > > (let* ((txt ...) (reversed ...) (target-entry-p ...) level beg end > file) (cond (... ...) (... ... ...) (t ... ... ...)) > (org-capture-empty-lines-before) (setq beg (point)) > (org-capture-verify-tree txt) (org-paste-subtree level txt (quote > for-yank)) (org-capture-empty-lines-after 1) > (org-capture-position-for-last-stored beg) (outline-next-heading) (setq end > (point)) (org-capture-mark-kill-region beg (1- end)) (org-capture-narrow > beg (1- end)) (goto-char beg) (if (re-search-forward "%\\?" end t) > (replace-match ""))) > > org-capture-place-entry() > > (cond ((member* type ...) (org-capture-place-entry)) ((eql type ...) > (org-capture-place-table-line)) ((eql type ...) > (org-capture-place-plain-text)) ((eql type ...) (org-capture-place-item)) > ((eql type ...) (org-capture-place-item))) > > (case type ((nil entry) (org-capture-place-entry)) (table-line > (org-capture-place-table-line)) (plain (org-capture-place-plain-text)) > (item (org-capture-place-item)) (checkitem (org-capture-place-item))) > > (let* ((template ...) (type ...)) (case type (... ...) (table-line > ...) (plain ...) (item ...) (checkitem ...))) > > org-capture-place-template() > > (condition-case error (org-capture-place-template) ((error quit debug) > (if ... ...) (set-window-configuration ...) (error "Capture template `%s': > %s" ... ...))) > > (if (equal goto 0) (org-capture-insert-template-here) (condition-case > error (org-capture-place-template) (... ... ... ...)) (if (and ... ...) > (condition-case nil ... ...)) (if (org-capture-get :immediate-finish) > (org-capture-finalize nil))) > > (cond ((equal entry "C") (customize-variable ...)) ((equal entry "q") > (error "Abort")) (t (org-capture-set-plist entry) > (org-capture-get-template) (org-capture-put :original-buffer orig-buf > :original-file ... :original-file-nondirectory ... :annotation annotation > :initial initial) (org-capture-put :default-time ...) > (org-capture-set-target-location) (condition-case error ... ...) (setq > org-capture-clock-keep ...) (if ... ... ... ... ...))) > > (let* ((orig-buf ...) (annotation ...) (initial ...) (entry ...)) > (when (stringp initial) (remove-text-properties 0 ... ... initial)) (when > (stringp annotation) (remove-text-properties 0 ... ... annotation)) (cond > (... ...) (... ...) (t ... ... ... ... ... ... ... ...))) > > (cond ((equal goto ...) (org-capture-goto-target)) ((equal goto ...) > (org-capture-goto-last-stored)) (t (let* ... ... ... ...))) > > org-capture(nil) > > call-interactively(org-capture nil nil) > > [I hope Achim Gratz takes a look at this: he would have a much better > handle on what exactly is going wrong here - in particular, emacs on > windows is a black box to me] > > org-called-interactively-p is in org-macs.el - it's probably the case > that your autoloads are not up to date (or perhaps non-existent). Can > you tell us exactly what zip file you got and how you installed it? > > In any case, try > > (load-library "org-macs") > > and then try the capture again: it probably will work this time (or > you'll get a different error). This is not meant either as a solution or > as a workaround: it is just meant to provide a data point about what is > wrong and what exactly you need to do to restore sanity, so there is > some ways to go yet. > > Nick > > PS For reference, here is what Mike posted earlier about his org > initialization: > > ,---- > | This is my org setup near the top of my .emacs > | > | (add-to-list 'load-path "~/.emacs.d/org/org-7.8.11/contrib/lisp/") > | (add-to-list 'load-path "~/.emacs.d/org/org-7.8.11/lisp/") > | (require 'org-install) > | (add-to-list 'auto-mode-alist '("\\.org$" . org-mode)) > | (define-key global-map "\C-cl" 'org-store-link) > | (define-key global-map "\C-ca" 'org-agenda) > | (setq org-log-done t) > | > | (setq org-capture-templates > | > | '(("t" "Todo" entry (file+headline "~/org/gtd.org" "Tasks") > | "* TODO %?\n %i\n %a") > | ("j" "Journal" entry (file+datetree "~/org/journal.org") > | "* %?\nEntered on %U\n %i\n %a"))) > | > | ;org-capture binding > | ;(global-set-key "\C-c-c" 'org-capture) > | (global-set-key [(control c) (c)] 'org-capture) > `---- > --0016e6d7e943b76a7f04c1bce490 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Setup
-I performed my org-mode update by downloading org-7.8.11.z= ip
Then extracting using something like
=A0=A0 rt click, "extra= ct here"

I also ran a defun that I found on wiki pages with the= subject
"Compiling without make"

(defun my/compile-org(&option= al directory)
=A0 "Compile all *.el files that come with org-mode.&= quot;
=A0 (interactive)
....

RUN Result
Without rest= arting Emacs I run
m-: (load-library "org-macs")
followed by org-capture
Resu= lt:
-Behavior was exactly the same bug we have been discussing (did not = change).

Here is the backtrace.

Thanks

Mike







On Tue, Jun 5, 2012 at 12:01 PM, Nick Dokos <n= icholas.dokos@hp.com> wrote:
Mike Fitzgerald <mikef656@gmail.co= m> wrote:

> Debugger entered--Lisp error: (invalid-function org-called-interactive= ly-p)
> =A0 org-called-interactively-p(interactive)
> =A0 org-paste-subtree(4 #("* %?\nEntered on [2012-06-05 Tue 11:04= ]\n" 0 5 (fontified nil) 5 16 (fontified nil) 16 17 (fontified nil) 17= 37 (fontified nil) 37 38 (fontified nil) 38 39 (fontified nil)) for-yank)<= br> > =A0 (let* ((txt ...) (reversed ...) (target-entry-p ...) level beg end= file) (cond (... ...) (... ... ...) (t ... ... ...)) (org-capture-empty-li= nes-before) (setq beg (point)) (org-capture-verify-tree txt) (org-paste-sub= tree level txt (quote for-yank)) (org-capture-empty-lines-after 1) (org-cap= ture-position-for-last-stored beg) (outline-next-heading) (setq end (point)= ) (org-capture-mark-kill-region beg (1- end)) (org-capture-narrow beg (1- e= nd)) (goto-char beg) (if (re-search-forward "%\\?" end t) (replac= e-match "")))
> =A0 org-capture-place-entry()
> =A0 (cond ((member* type ...) (org-capture-place-entry)) ((eql type ..= .) (org-capture-place-table-line)) ((eql type ...) (org-capture-place-plain= -text)) ((eql type ...) (org-capture-place-item)) ((eql type ...) (org-capt= ure-place-item)))
> =A0 (case type ((nil entry) (org-capture-place-entry)) (table-line (or= g-capture-place-table-line)) (plain (org-capture-place-plain-text)) (item (= org-capture-place-item)) (checkitem (org-capture-place-item)))
> =A0 (let* ((template ...) (type ...)) (case type (... ...) (table-line= ...) (plain ...) (item ...) (checkitem ...)))
> =A0 org-capture-place-template()
> =A0 (condition-case error (org-capture-place-template) ((error quit de= bug) (if ... ...) (set-window-configuration ...) (error "Capture templ= ate `%s': %s" ... ...)))
> =A0 (if (equal goto 0) (org-capture-insert-template-here) (condition-c= ase error (org-capture-place-template) (... ... ... ...)) (if (and ... ...)= (condition-case nil ... ...)) (if (org-capture-get :immediate-finish) (org= -capture-finalize nil)))
> =A0 (cond ((equal entry "C") (customize-variable ...)) ((equ= al entry "q") (error "Abort")) (t (org-capture-set-plis= t entry) (org-capture-get-template) (org-capture-put :original-buffer orig-= buf :original-file ... :original-file-nondirectory ... :annotation annotati= on :initial initial) (org-capture-put :default-time ...) (org-capture-set-t= arget-location) (condition-case error ... ...) (setq org-capture-clock-keep= ...) (if ... ... ... ... ...)))
> =A0 (let* ((orig-buf ...) (annotation ...) (initial ...) (entry ...)) = (when (stringp initial) (remove-text-properties 0 ... ... initial)) (when (= stringp annotation) (remove-text-properties 0 ... ... annotation)) (cond (.= .. ...) (... ...) (t ... ... ... ... ... ... ... ...)))
> =A0 (cond ((equal goto ...) (org-capture-goto-target)) ((equal goto ..= .) (org-capture-goto-last-stored)) (t (let* ... ... ... ...)))
> =A0 org-capture(nil)
> =A0 call-interactively(org-capture nil nil)

[I hope Achim Gratz takes a look at this: he would have a much better
handle on what exactly is going wrong here - in particular, emacs on
windows is a black box to me]

org-called-interactively-p is in org-macs.el - it's probably the case that your autoloads are not up to date (or perhaps non-existent). Can
you tell us exactly what zip file you got and how you installed it?

In any case, try

(load-library "org-macs")

and then try the capture again: it probably will work this time (or
you'll get a different error). This is not meant either as a solution o= r
as a workaround: it is just meant to provide a data point about what is
wrong and what exactly you need to do to restore sanity, so there is
some ways to go yet.

Nick

PS For reference, here is what Mike posted earlier about his org
initialization:

,----
| =A0 =A0 This is my org setup near the top of my .emacs<= br> |
| =A0 =A0 (add-to-list 'load-path "~/.emacs.d/org/org-7.8.11/contr= ib/lisp/")
| =A0 =A0 (add-to-list 'load-path "~/.emacs.d/org/org-7.8.11/lisp/= ")
| =A0 =A0 (require 'org-install)
| =A0 =A0 (add-to-list 'auto-mode-alist '("\\.org$" . org= -mode))
| =A0 =A0 (define-key global-map "\C-cl" 'org-store-link)
| =A0 =A0 (define-key global-map "\C-ca" 'org-agenda)
| =A0 =A0 (setq org-log-done t)
|
| =A0 =A0 (setq org-capture-templates
|
| =A0 =A0 =A0=A0=A0=A0=A0 '(("t" "Todo" entry (file= +headline "~/org/gtd.org<= /a>" "Tasks")
| =A0 =A0 =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 "* TODO %?\n=A0 %i\n=A0= %a")
| =A0 =A0 =A0=A0=A0=A0=A0=A0=A0 ("j" "Journal" entry (f= ile+datetree "~/org/
j= ournal.org")
| =A0 =A0 =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 "* %?\nEntered on %U\n= =A0 %i\n=A0 %a")))
|
| =A0 =A0 ;org-capture binding
| =A0 =A0 ;(global-set-key "\C-c-c" 'org-capture)
| =A0 =A0 (global-set-key [(control c) (c)] 'org-capture)
`----

--0016e6d7e943b76a7f04c1bce490-- --0016e6d7e943b76aa704c1bce492 Content-Type: text/plain; name="backtrace.txt" Content-Disposition: attachment; filename="backtrace.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h338ep110 RGVidWdnZXIgZW50ZXJlZC0tTGlzcCBlcnJvcjogKGludmFsaWQtZnVuY3Rpb24gb3JnLWNhbGxl ZC1pbnRlcmFjdGl2ZWx5LXApDQogIG9yZy1jYWxsZWQtaW50ZXJhY3RpdmVseS1wKGludGVyYWN0 aXZlKQ0KICBvcmctcGFzdGUtc3VidHJlZSg0ICMoIiogJT9cbkVudGVyZWQgb24gWzIwMTItMDYt MDUgVHVlIDEyOjE2XVxuIiAwIDUgKGZvbnRpZmllZCBuaWwpIDUgMTYgKGZvbnRpZmllZCBuaWwp IDE2IDE3IChmb250aWZpZWQgbmlsKSAxNyAzNyAoZm9udGlmaWVkIG5pbCkgMzcgMzggKGZvbnRp ZmllZCBuaWwpIDM4IDM5IChmb250aWZpZWQgbmlsKSkgZm9yLXlhbmspDQogIChsZXQqICgodHh0 IC4uLikgKHJldmVyc2VkIC4uLikgKHRhcmdldC1lbnRyeS1wIC4uLikgbGV2ZWwgYmVnIGVuZCBm aWxlKSAoY29uZCAoLi4uIC4uLikgKC4uLiAuLi4gLi4uKSAodCAuLi4gLi4uIC4uLikpIChvcmct Y2FwdHVyZS1lbXB0eS1saW5lcy1iZWZvcmUpIChzZXRxIGJlZyAocG9pbnQpKSAob3JnLWNhcHR1 cmUtdmVyaWZ5LXRyZWUgdHh0KSAob3JnLXBhc3RlLXN1YnRyZWUgbGV2ZWwgdHh0IChxdW90ZSBm b3IteWFuaykpIChvcmctY2FwdHVyZS1lbXB0eS1saW5lcy1hZnRlciAxKSAob3JnLWNhcHR1cmUt cG9zaXRpb24tZm9yLWxhc3Qtc3RvcmVkIGJlZykgKG91dGxpbmUtbmV4dC1oZWFkaW5nKSAoc2V0 cSBlbmQgKHBvaW50KSkgKG9yZy1jYXB0dXJlLW1hcmsta2lsbC1yZWdpb24gYmVnICgxLSBlbmQp KSAob3JnLWNhcHR1cmUtbmFycm93IGJlZyAoMS0gZW5kKSkgKGdvdG8tY2hhciBiZWcpIChpZiAo cmUtc2VhcmNoLWZvcndhcmQgIiVcXD8iIGVuZCB0KSAocmVwbGFjZS1tYXRjaCAiIikpKQ0KICBv cmctY2FwdHVyZS1wbGFjZS1lbnRyeSgpDQogIChjb25kICgobWVtYmVyKiB0eXBlIC4uLikgKG9y Zy1jYXB0dXJlLXBsYWNlLWVudHJ5KSkgKChlcWwgdHlwZSAuLi4pIChvcmctY2FwdHVyZS1wbGFj ZS10YWJsZS1saW5lKSkgKChlcWwgdHlwZSAuLi4pIChvcmctY2FwdHVyZS1wbGFjZS1wbGFpbi10 ZXh0KSkgKChlcWwgdHlwZSAuLi4pIChvcmctY2FwdHVyZS1wbGFjZS1pdGVtKSkgKChlcWwgdHlw ZSAuLi4pIChvcmctY2FwdHVyZS1wbGFjZS1pdGVtKSkpDQogIChjYXNlIHR5cGUgKChuaWwgZW50 cnkpIChvcmctY2FwdHVyZS1wbGFjZS1lbnRyeSkpICh0YWJsZS1saW5lIChvcmctY2FwdHVyZS1w bGFjZS10YWJsZS1saW5lKSkgKHBsYWluIChvcmctY2FwdHVyZS1wbGFjZS1wbGFpbi10ZXh0KSkg KGl0ZW0gKG9yZy1jYXB0dXJlLXBsYWNlLWl0ZW0pKSAoY2hlY2tpdGVtIChvcmctY2FwdHVyZS1w bGFjZS1pdGVtKSkpDQogIChsZXQqICgodGVtcGxhdGUgLi4uKSAodHlwZSAuLi4pKSAoY2FzZSB0 eXBlICguLi4gLi4uKSAodGFibGUtbGluZSAuLi4pIChwbGFpbiAuLi4pIChpdGVtIC4uLikgKGNo ZWNraXRlbSAuLi4pKSkNCiAgb3JnLWNhcHR1cmUtcGxhY2UtdGVtcGxhdGUoKQ0KICAoY29uZGl0 aW9uLWNhc2UgZXJyb3IgKG9yZy1jYXB0dXJlLXBsYWNlLXRlbXBsYXRlKSAoKGVycm9yIHF1aXQg ZGVidWcpIChpZiAuLi4gLi4uKSAoc2V0LXdpbmRvdy1jb25maWd1cmF0aW9uIC4uLikgKGVycm9y ICJDYXB0dXJlIHRlbXBsYXRlIGAlcyc6ICVzIiAuLi4gLi4uKSkpDQogIChpZiAoZXF1YWwgZ290 byAwKSAob3JnLWNhcHR1cmUtaW5zZXJ0LXRlbXBsYXRlLWhlcmUpIChjb25kaXRpb24tY2FzZSBl cnJvciAob3JnLWNhcHR1cmUtcGxhY2UtdGVtcGxhdGUpICguLi4gLi4uIC4uLiAuLi4pKSAoaWYg KGFuZCAuLi4gLi4uKSAoY29uZGl0aW9uLWNhc2UgbmlsIC4uLiAuLi4pKSAoaWYgKG9yZy1jYXB0 dXJlLWdldCA6aW1tZWRpYXRlLWZpbmlzaCkgKG9yZy1jYXB0dXJlLWZpbmFsaXplIG5pbCkpKQ0K ICAoY29uZCAoKGVxdWFsIGVudHJ5ICJDIikgKGN1c3RvbWl6ZS12YXJpYWJsZSAuLi4pKSAoKGVx dWFsIGVudHJ5ICJxIikgKGVycm9yICJBYm9ydCIpKSAodCAob3JnLWNhcHR1cmUtc2V0LXBsaXN0 IGVudHJ5KSAob3JnLWNhcHR1cmUtZ2V0LXRlbXBsYXRlKSAob3JnLWNhcHR1cmUtcHV0IDpvcmln aW5hbC1idWZmZXIgb3JpZy1idWYgOm9yaWdpbmFsLWZpbGUgLi4uIDpvcmlnaW5hbC1maWxlLW5v bmRpcmVjdG9yeSAuLi4gOmFubm90YXRpb24gYW5ub3RhdGlvbiA6aW5pdGlhbCBpbml0aWFsKSAo b3JnLWNhcHR1cmUtcHV0IDpkZWZhdWx0LXRpbWUgLi4uKSAob3JnLWNhcHR1cmUtc2V0LXRhcmdl dC1sb2NhdGlvbikgKGNvbmRpdGlvbi1jYXNlIGVycm9yIC4uLiAuLi4pIChzZXRxIG9yZy1jYXB0 dXJlLWNsb2NrLWtlZXAgLi4uKSAoaWYgLi4uIC4uLiAuLi4gLi4uIC4uLikpKQ0KICAobGV0KiAo KG9yaWctYnVmIC4uLikgKGFubm90YXRpb24gLi4uKSAoaW5pdGlhbCAuLi4pIChlbnRyeSAuLi4p KSAod2hlbiAoc3RyaW5ncCBpbml0aWFsKSAocmVtb3ZlLXRleHQtcHJvcGVydGllcyAwIC4uLiAu Li4gaW5pdGlhbCkpICh3aGVuIChzdHJpbmdwIGFubm90YXRpb24pIChyZW1vdmUtdGV4dC1wcm9w ZXJ0aWVzIDAgLi4uIC4uLiBhbm5vdGF0aW9uKSkgKGNvbmQgKC4uLiAuLi4pICguLi4gLi4uKSAo dCAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uKSkpDQogIChjb25kICgoZXF1YWwgZ290 byAuLi4pIChvcmctY2FwdHVyZS1nb3RvLXRhcmdldCkpICgoZXF1YWwgZ290byAuLi4pIChvcmct Y2FwdHVyZS1nb3RvLWxhc3Qtc3RvcmVkKSkgKHQgKGxldCogLi4uIC4uLiAuLi4gLi4uKSkpDQog IG9yZy1jYXB0dXJlKG5pbCkNCiAgY2FsbC1pbnRlcmFjdGl2ZWx5KG9yZy1jYXB0dXJlIG5pbCBu aWwpDQogIHJlY3Vyc2l2ZS1lZGl0KCkNCiAgYnl0ZS1jb2RlKCJcMzA2EAlAXDMwNz1cMjAzIQBc MzEwXDMxMVwzMTJcIlwyMTBcMzEzXDMxMSFcMjExGkFAKVwyNDJcMzE0PVwyMDMhAFwzMTBcMzE1 XDMxMlwiXDIxMFwzMTYLIVwyMTBcMzE3IFwyMTBcMzIwCSFcMjEwXGZcMjAzZABcMzIxZWRcIg1W XDIwM1cAZWJcMjEwXDMyMg1cMjQ1eVwyMTBgHhtkYlwyMTBcMzIyDVwyNDUNWnlcMjEwDhtgfFwy MTApXDMyM2NcMjEwZWJcMjEwXDMyNFwzMjVcMzI2IFwiXDIxMFwzMjdcMzA2IVwyMTBcMzI0XDMz MCFcMjEwXDMzMVwzMTIeHB4dXDMyNFwzMzAhXDIxMFwyMTJcMzMyIFwyMTArXDMzMVwyMDciIFt1 bnJlYWQtY29tbWFuZC1jaGFyIGRlYnVnZ2VyLWFyZ3MgeCBkZWJ1Z2dlci1idWZmZXIgbm9uaW50 ZXJhY3RpdmUgZGVidWdnZXItYmF0Y2gtbWF4LWxpbmVzIC0xIGRlYnVnIGJhY2t0cmFjZS1kZWJ1 ZyA0IHQgYmFja3RyYWNlLWZyYW1lIGxhbWJkYSA1IHBvcC10by1idWZmZXIgZGVidWdnZXItbW9k ZSBkZWJ1Z2dlci1zZXR1cC1idWZmZXIgY291bnQtbGluZXMgMiAiLi4uXG4iIG1lc3NhZ2UgIiVz IiBidWZmZXItc3RyaW5nIGtpbGwtZW1hY3MgIiIgbmlsIHJlY3Vyc2l2ZS1lZGl0IG1pZGRsZXN0 YXJ0IGJ1ZmZlci1yZWFkLW9ubHkgc3RhbmRhcmQtb3V0cHV0XSA0KQ0KICBkZWJ1ZyhlcnJvciAo ZXJyb3IgIkNhbm5vdCByZXR1cm4gZnJvbSB0aGUgZGVidWdnZXIgaW4gYW4gZXJyb3IiKSkNCiAg c2lnbmFsKGVycm9yICgiQ2FwdHVyZSB0ZW1wbGF0ZSBgaic6IG9yZy1jYWxsZWQtaW50ZXJhY3Rp dmVseS1wIikpDQogIGVycm9yKCJDYXB0dXJlIHRlbXBsYXRlIGAlcyc6ICVzIiAiaiIgb3JnLWNh bGxlZC1pbnRlcmFjdGl2ZWx5LXApDQogIChjb25kaXRpb24tY2FzZSBlcnJvciAob3JnLWNhcHR1 cmUtcGxhY2UtdGVtcGxhdGUpICgoZXJyb3IgcXVpdCBkZWJ1ZykgKGlmIC4uLiAuLi4pIChzZXQt d2luZG93LWNvbmZpZ3VyYXRpb24gLi4uKSAoZXJyb3IgIkNhcHR1cmUgdGVtcGxhdGUgYCVzJzog JXMiIC4uLiAuLi4pKSkNCiAgKGlmIChlcXVhbCBnb3RvIDApIChvcmctY2FwdHVyZS1pbnNlcnQt dGVtcGxhdGUtaGVyZSkgKGNvbmRpdGlvbi1jYXNlIGVycm9yIChvcmctY2FwdHVyZS1wbGFjZS10 ZW1wbGF0ZSkgKC4uLiAuLi4gLi4uIC4uLikpIChpZiAoYW5kIC4uLiAuLi4pIChjb25kaXRpb24t Y2FzZSBuaWwgLi4uIC4uLikpIChpZiAob3JnLWNhcHR1cmUtZ2V0IDppbW1lZGlhdGUtZmluaXNo KSAob3JnLWNhcHR1cmUtZmluYWxpemUgbmlsKSkpDQogIChjb25kICgoZXF1YWwgZW50cnkgIkMi KSAoY3VzdG9taXplLXZhcmlhYmxlIC4uLikpICgoZXF1YWwgZW50cnkgInEiKSAoZXJyb3IgIkFi b3J0IikpICh0IChvcmctY2FwdHVyZS1zZXQtcGxpc3QgZW50cnkpIChvcmctY2FwdHVyZS1nZXQt dGVtcGxhdGUpIChvcmctY2FwdHVyZS1wdXQgOm9yaWdpbmFsLWJ1ZmZlciBvcmlnLWJ1ZiA6b3Jp Z2luYWwtZmlsZSAuLi4gOm9yaWdpbmFsLWZpbGUtbm9uZGlyZWN0b3J5IC4uLiA6YW5ub3RhdGlv biBhbm5vdGF0aW9uIDppbml0aWFsIGluaXRpYWwpIChvcmctY2FwdHVyZS1wdXQgOmRlZmF1bHQt dGltZSAuLi4pIChvcmctY2FwdHVyZS1zZXQtdGFyZ2V0LWxvY2F0aW9uKSAoY29uZGl0aW9uLWNh c2UgZXJyb3IgLi4uIC4uLikgKHNldHEgb3JnLWNhcHR1cmUtY2xvY2sta2VlcCAuLi4pIChpZiAu Li4gLi4uIC4uLiAuLi4gLi4uKSkpDQogIChsZXQqICgob3JpZy1idWYgLi4uKSAoYW5ub3RhdGlv biAuLi4pIChpbml0aWFsIC4uLikgKGVudHJ5IC4uLikpICh3aGVuIChzdHJpbmdwIGluaXRpYWwp IChyZW1vdmUtdGV4dC1wcm9wZXJ0aWVzIDAgLi4uIC4uLiBpbml0aWFsKSkgKHdoZW4gKHN0cmlu Z3AgYW5ub3RhdGlvbikgKHJlbW92ZS10ZXh0LXByb3BlcnRpZXMgMCAuLi4gLi4uIGFubm90YXRp b24pKSAoY29uZCAoLi4uIC4uLikgKC4uLiAuLi4pICh0IC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4u IC4uLiAuLi4pKSkNCiAgKGNvbmQgKChlcXVhbCBnb3RvIC4uLikgKG9yZy1jYXB0dXJlLWdvdG8t dGFyZ2V0KSkgKChlcXVhbCBnb3RvIC4uLikgKG9yZy1jYXB0dXJlLWdvdG8tbGFzdC1zdG9yZWQp KSAodCAobGV0KiAuLi4gLi4uIC4uLiAuLi4pKSkNCiAgb3JnLWNhcHR1cmUobmlsKQ0KICBjYWxs LWludGVyYWN0aXZlbHkob3JnLWNhcHR1cmUgbmlsIG5pbCkNCg== --0016e6d7e943b76aa704c1bce492--