;ELC   
;;; Compiled
;;; in Emacs version 25.3.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\300\306!\210\300\307!\210\300\310!\210\300\311\312\313#\210\300\314!\210\300\315!\210\300\316!\210\300\317!\210\300\320!\210\300\321!\207" [require cus-edit etags files-x grep ido json python subr-x xref nil t elpy-refactor elpy-django elpy-profile elpy-shell pyvenv find-file-in-project] 4)
#@36 The version of the Elpy lisp code.
(defconst elpy-version "1.17.0" (#$ . 780))
(byte-code "\300\301\302\303\304\305\306\307&\210\310\311\312\313\314DD\315\316\317\320\321\306\301&	\210\310\322\312\313\323DD\324\316\325\306\301&\210\310\326\312\313\327DD\330\316\331\332\333\306\301&	\210\310\334\312\313\335DD\336\316\337\332\340\306\301&	\210\341\334!\210\310\342\312\313\343DD\344\316\345\306\301&\210\346\347\350\"\210\310\350\312\313\351DD\352\316\353\306\301&\210\310\354\312\313\355DD\356\316\357\332\360\306\301&	\210\310\361\312\313\362DD\363\316\364\306\301&\210\310\365\312\313\366DD\367\316\370\332\371\306\301&	\210\310\372\312\313\373DD\374\316\370\332\371\306\301&	\210\310\375\312\313\376DD\377\316\201@ \332\201A \306\301&	\210\310\201B \312\313\201C DD\201D \316\337\332\340\306\301&	\210\310\201E \312\313\201F DD\201G \316\201H \332\201I \306\301&	\210\310\201J \312\313\201K DD\201L \316\370\306\301&\210\310\201M \312\313\201N DD\201O \316\201P \306\301&\210\310\201Q \312\313\201R DD\201S \316\353\306\301&\210\310\201T \312\313\201U DD\201V \316\201W \332\201X \306\301&	\210\310\201Y \312\313\201Z DD\201[ \316\201\\ \306\301&\210\310\201] \312\313\201^ DD\201_ \316\201` \306\301&\210\310\201a \312\313\201b DD\201c \316\201d \306\301&\210\310\201e \312\313\201f DD\201g \316\353\306\301&\210\310\201h \312\313\201i DD\201j \316\201k \306\301&\210\310\201l \312\313\201m DD\201n \316\201o \306\301&\210\310\201p \312\313\201q DD\201r \316\201s \306\301&\210\310\201t \312\313\201u DD\201v \316\201w \306\301&\210\310\201x \312\313\201y DD\201z \316\201w \306\301&\210\310\201{ \312\313\201| DD\201} \316\353\306\301&\210\310\201~ \312\313\201 DD\201\200 \316\201w \306\301&\207" [custom-declare-group elpy nil "The Emacs Lisp Python Environment." :prefix "elpy-" :group languages custom-declare-variable elpy-mode-hook funcall function #[0 "\300\207" [nil] 1] "Hook run when `elpy-mode' is enabled.\n\nThis can be used to enable minor modes for Python development." :type hook :options (subword-mode hl-line-mode) elpy-modules #[0 "\300\207" [(elpy-module-sane-defaults elpy-module-company elpy-module-eldoc elpy-module-flymake elpy-module-highlight-indentation elpy-module-pyvenv elpy-module-yasnippet elpy-module-django)] 1] "Which Elpy modules to use.\n\nElpy can use a number of modules for additional features, which\ncan be inidividually enabled or disabled." (set (const :tag "Inline code completion (company-mode)" elpy-module-company) (const :tag "Show function signatures (ElDoc)" elpy-module-eldoc) (const :tag "Highlight syntax errors (Flymake)" elpy-module-flymake) (const :tag "Show the virtualenv in the mode line (pyvenv)" elpy-module-pyvenv) (const :tag "Display indentation markers (highlight-indentation)" elpy-module-highlight-indentation) (const :tag "Expand code snippets (YASnippet)" elpy-module-yasnippet) (const :tag "Django configurations (Elpy-Django)" elpy-module-django) (const :tag "Configure some sane defaults for Emacs" elpy-module-sane-defaults)) elpy-project-ignored-directories #[0 "\301\302\"\207" [vc-directory-exclusion-list append (".tox" "build" "dist" ".cask" ".ipynb_checkpoints")] 3] "Directories ignored by functions working on the whole project." (repeat string) :safe #[257 "\300\301\"\207" [cl-every stringp] 4 "\n\n(fn VAL)"] elpy-project-root #[0 "\300\207" [nil] 1] "The root of the project the current buffer is in.\n\nThere is normally no use in setting this variable directly, as\nElpy tries to detect the project root automatically. See\n`elpy-project-root-finder-functions' for a way of influencing\nthis.\n\nSetting this variable globally will override Elpy's automatic\nproject detection facilities entirely.\n\nAlternatively, you can set this in file- or directory-local\nvariables using \\[add-file-local-variable] or\n\\[add-dir-local-variable].\n\nDo not use this variable in Emacs Lisp programs. Instead, call\nthe `elpy-project-root' function. It will do the right thing." directory file-directory-p make-variable-buffer-local elpy-project-root-finder-functions #[0 "\300\207" [(elpy-project-find-projectile-root elpy-project-find-python-root elpy-project-find-git-root elpy-project-find-hg-root elpy-project-find-svn-root)] 1] "List of functions to ask for the current project root.\n\nThese will be checked in turn. The first directory found is used." (set (const :tag "Projectile project root" elpy-project-find-projectile-root) (const :tag "Python project (setup.py, setup.cfg)" elpy-project-find-python-root) (const :tag "Git repository root (.git)" elpy-project-find-git-root) (const :tag "Mercurial project root (.hg)" elpy-project-find-hg-root) (const :tag "Subversion project root (.svn)" elpy-project-find-svn-root)) make-obsolete-variable elpy-company-hide-modeline elpy-remove-modeline-lighter #[0 "\300\207" [t] 1] "Non-nil if Elpy should remove most mode line display.\n\nModeline shows many minor modes currently active. For Elpy, this is mostly\nuninteresting information, but if you rely on your modeline in other modes,\nyou might want to keep it." boolean elpy-rpc-backend #[0 "\300\207" [nil] 1] "Your preferred backend.\n\nElpy can use different backends for code introspection. These\nneed to be installed separately using pip or other mechanisms to\nmake them available to Python. If you prefer not to do this, you\ncan use the native backend, which is very limited but does not\nhave any external requirements." (choice (const :tag "Rope" "rope") (const :tag "Jedi" "jedi") (const :tag "Automatic" nil)) #[257 "\211\300\235\207" [("rope" "jedi" "native" nil)] 3 "\n\n(fn VAL)"] elpy-rpc-maximum-buffer-age #[0 "\300\207" [300] 1] "Seconds after which Elpy automatically closes an unused RPC buffer.\n\nElpy creates RPC buffers over time, depending on python interpreters\nand the project root. When there are many projects being worked on,\nthese can accumulate. Setting this variable to an integer will close\nbuffers and processes when they have not been used for this amount of\nseconds.\n\nSetting this variable to nil will disable the behavior." (choice (const :tag "Never" nil) integer) elpy-rpc-large-buffer-size #[0 "\300\207" [4096] 1] "Size for a source buffer up to which it will be sent directly.\n\nThe Elpy RPC protocol uses JSON as the serialization format.\nLarge buffers take a long time to encode, so Elpy can transmit\nthem via temporary files. If a buffer is larger than this value,\nit is sent via a temporary file." integer integerp elpy-rpc-ignored-buffer-size #[0 "\300\207" [102400] 1] "Size for a source buffer over which Elpy completion will not work.\n\nTo provide completion, Elpy's backends have to parse the whole\nfile every time. For very large files, this is slow, and can make\nEmacs laggy. Elpy will simply not work on buffers larger than\nthis to prevent this from happening." elpy-rpc-python-command #[0 "\301\232\203 \302\303!\206 \302\304!\206 \305\207\305\207" [system-type windows-nt executable-find "py" "pythonw" "python"] 2] "The Python interpreter for the RPC backend.\n\nThis should be the same interpreter the project will be run with,\nand not an interactive shell like ipython." (choice (const :tag "python" "python") (const :tag "python2" "python2") (const :tag "python3" "python3") (const :tag "pythonw (Python on Windows)" "pythonw") (const :tag "py (other Python on Windows)" "py") (string :tag "Other")) #[257 "\211\300\235\207" [("python" "python2" "python3" "pythonw")] 3 "\n\n(fn VAL)"] elpy-rpc-pythonpath #[0 "\300\301\302!!\207" [file-name-directory locate-library "elpy"] 3] "A directory to add to the PYTHONPATH for the RPC process.\n\nThis should be a directory where the elpy module can be found. If\nthis is nil, it's assumed elpy can be found in the standard path.\nUsually, there is no need to change this." elpy-rpc-timeout #[0 "\300\207" [1] 1] "Number of seconds to wait for a response when blocking.\n\nWhen Elpy blocks Emacs to wait for a response from the RPC\nprocess, it will assume it won't come or wait too long after this\nmany seconds. On a slow computer, or if you have a large project,\nyou might want to increase this.\n\nA setting of nil means to block indefinitely." (choice (const :tag "Block indefinitely" nil) integer) #[257 "\211\250\206 \211?\207" [] 2 "\n\n(fn VAL)"] elpy-rpc-error-timeout #[0 "\300\207" [30] 1] "Minimum number of seconds between error popups.\n\nWhen Elpy encounters an error in the backend, it will display a\nlengthy description of the problem for a bug report. This hangs\nEmacs for a moment, and can be rather annoying if it happens\nrepeatedly while editing a source file.\n\nIf this variabl is non-nil, Elpy will not display the error\nmessage again within this amount of seconds." elpy-company-post-completion-function #[0 "\300\207" [ignore] 1] "Your preferred Company post completion function.\n\nElpy can automatically insert parentheses after completing\ncallable objects.\n\nThe heuristic on when to insert these parentheses can easily be\nwrong, though, so this is disabled by default. Set this variable\nto the function `elpy-company-post-complete-parens' to enable\nthis feature." (choice (const :tag "Ignore post complete" ignore) (const :tag "Complete callables with parens" elpy-company-post-complete-parens) (function :tag "Other function")) elpy-eldoc-show-current-function #[0 "\300\207" [t] 1] "If true, show the current function if no calltip is available.\n\nWhen Elpy can not find the calltip of the function call at point,\nit can show the name of the function or class and method being\nedited instead. Setting this variable to nil disables this feature." elpy-test-runner #[0 "\300\207" [elpy-test-discover-runner] 1] "The test runner to use to run tests." (choice (const :tag "Unittest Discover" elpy-test-discover-runner) (const :tag "Django Discover" elpy-test-django-runner) (const :tag "Nose" elpy-test-nose-runner) (const :tag "py.test" elpy-test-pytest-runner) (const :tag "Twisted Trial" elpy-test-trial-runner)) elpy-test-runner-p elpy-test-discover-runner-command #[0 "\300\207" [("python" "-m" "unittest")] 1] "The command to use for `elpy-test-discover-runner'." (repeat string) elpy-test-django-runner-command #[0 "\300\207" [("django-admin.py" "test" "--noinput")] 1] "The command to use for `elpy-test-django-runner'." (repeat string) elpy-test-django-runner-manage-command #[0 "\300\207" [("manage.py" "test" "--noinput")] 1] "The command to use for `elpy-test-django-runner' in case we want to use manage.py." (repeat string) elpy-test-django-with-manage #[0 "\300\207" [nil] 1] "Set to nil, elpy will use `elpy-test-django-runner-command',\nset to t elpy will use `elpy-test-django-runner-manage-command' and set the project root accordingly." elpy-test-nose-runner-command #[0 "\300\207" [("nosetests")] 1] "The command to use for `elpy-test-nose-runner'." (repeat string) elpy-test-trial-runner-command #[0 "\300\207" [("trial")] 1] "The command to use for `elpy-test-trial-runner'." (repeat string) elpy-test-pytest-runner-command #[0 "\300\207" [("py.test")] 1] "The command to use for `elpy-test-pytest-runner'." (repeat string) elpy-test-compilation-function #[0 "\300\207" [compile] 1] "Function used by `elpy-test-run' to run a test command.\n\nThe function should behave similarly to `compile'. Another good\noption is `pdb'." string elpy-rgrep-file-pattern #[0 "\300\207" [#1="*.py"] 1 #1#] "FILES to use for `elpy-rgrep-symbol'." elpy-disable-backend-error-display #[0 "\300\207" [t] 1] "Non-nil if Elpy should disable backed error display." elpy-syntax-check-command #[0 "\300\207" [#2="flake8"] 1 #2#] "The command to use for `elpy-check'."] 10)
#@34 Key map for the refactor command
(defvar elpy-refactor-map (byte-code "\300\301!\302\303\304\305\306\303\307\310#\"\311B#\210\302\312\304\313\306\312\307\310#\"\314B#\210\302\315\304\316\306\315\307\310#\"\317B#\210\211\207" [make-sparse-keymap "Refactor" define-key "i" format "%smport fixup" propertize face bold elpy-importmagic-fixup "f" "%sormat code" elpy-format-code "r" "%sefactor" elpy-refactor] 10) (#$ . 12442))
#@48 Key map for the Emacs Lisp Python Environment.
(defvar elpy-mode-map (byte-code "\302 \303\304\305#\210\303\306\307#\210\303\310\311#\210\303\312\313#\210\303\314\315#\210\303\316\317#\210\303\320\321#\210\303\322\323#\210\303\324\325#\210\303\326\327#\210\303\330\331#\210\303\332\333#\210\303\334\335#\210\303\336\337#\210\303\336\340#\210\303\341#\210\303\342	#\210\303\343\344#\210\303\345\346#\210\303\347\350#\210\303\351\352#\210\303\353\354#\210\303\355\356#\210\303\357\360#\210\303\361\362#\210\303\363\364#\210\303\365\366#\210\303\367\370#\210\371\372!\204\266 \303\373\374#\210\371\375!\204\305 \303\376\377#\210\202\315 \303\201@ \375#\210\371\201A !\203\337 \303\201B \201A #\210\303\201C \201D #\210\303\201E \201F #\210\303\201G \201H #\210\303\201I \201J #\210\303\201K \201L #\210\303\201M \201N #\210\303\201O \201P #\210\303\201Q \201R #\210\303\201S \201T #\210\303\201U \201V #\210\303\201W \201X #\210\303\201Y \201Z #\210\303\201[ \201\\ #\210\303\201] \311#\210\303\201^ \201_ #\210\303\201` \201a #\210\303\201b \201c #\210\303\201d \350#\210\303\201e \201f #\210\303\201g \201h #\210\303\201i \201j #\210\303\201k \201l #\210\303\201m \201n #\210\303\201o \201p #\210\303\201q \201r #\210\303\201s \201t #\210\303\201u \201v #\210\303\201w \201x #\210\303\201y \201z #\210\303\201{ \201| #\210\303\201} \201~ #\210\303\201 \201\200 #\210\303\201\201 \201\202 #\210\211\207" [elpy-refactor-map elpy-django-mode-map make-sparse-keymap define-key "" elpy-importmagic-add-import "" elpy-nav-expand-to-indentation "" elpy-shell-send-region-or-buffer "" elpy-doc "" elpy-multiedit-python-symbol-at-point "" elpy-find-file "" elpy-flymake-next-error "" elpy-occur-definitions "" elpy-flymake-previous-error "" elpy-rgrep-symbol "" elpy-test "" elpy-check "" elpy-shell-switch-to-shell "" elpy-shell-kill elpy-shell-kill-all "" "" [S-return] elpy-open-and-indent-line-below [C-S-return] elpy-open-and-indent-line-above [C-return] elpy-shell-send-statement-and-step [C-down] elpy-nav-forward-block [C-up] elpy-nav-backward-block [C-left] elpy-nav-backward-indent [C-right] elpy-nav-forward-indent [M-down] elpy-nav-move-line-or-region-down [M-up] elpy-nav-move-line-or-region-up [M-left] elpy-nav-indent-shift-left [M-right] elpy-nav-indent-shift-right boundp xref-find-definitions [134217774] elpy-goto-definition xref-find-definitions-other-window [24 52 134217774] elpy-goto-definition-other-window [24 52 134217774] xref-pop-marker-stack [134217770] [134217737] elpy-company-backend "e" elpy-shell-send-statement "E" elpy-shell-send-statement-and-go "s" elpy-shell-send-top-statement "S" elpy-shell-send-top-statement-and-go "f" elpy-shell-send-defun "F" elpy-shell-send-defun-and-go "c" elpy-shell-send-defclass "C" elpy-shell-send-defclass-and-go "g" elpy-shell-send-group "G" elpy-shell-send-group-and-go "w" elpy-shell-send-codecell "W" elpy-shell-send-codecell-and-go "r" "R" elpy-shell-send-region-or-buffer-and-go "b" elpy-shell-send-buffer "B" elpy-shell-send-buffer-and-go "" [3 25 33554437] elpy-shell-send-statement-and-step-and-go "" elpy-shell-send-top-statement-and-step [3 25 33554451] elpy-shell-send-top-statement-and-step-and-go "" elpy-shell-send-defun-and-step [3 25 33554438] elpy-shell-send-defun-and-step-and-go "" elpy-shell-send-defclass-and-step [3 25 33554435] elpy-shell-send-defclass-and-step-and-go "" elpy-shell-send-group-and-step [3 25 33554439] elpy-shell-send-group-and-step-and-go "" elpy-shell-send-codecell-and-step [3 25 33554455] elpy-shell-send-codecell-and-step-and-go "" elpy-shell-send-region-or-buffer-and-step [3 25 33554450] elpy-shell-send-region-or-buffer-and-step-and-go "" elpy-shell-send-buffer-and-step [3 25 33554434] elpy-shell-send-buffer-and-step-and-go] 5) (#$ . 12874))
#@16 Elpy Mode Menu
(defvar elpy-menu nil (#$ . 16787))
(easy-menu-do-define 'elpy-menu elpy-mode-map "Elpy Mode Menu" '("Elpy" ["Documentation" elpy-doc :help "Get documentation for symbol at point"] ["Run Tests" elpy-test :help "Run test at point, or all tests in the project"] ["Go to Definition" elpy-goto-definition :help "Go to the definition of the symbol at point"] ["Go to previous definition" pop-tag-mark :active (not (ring-empty-p find-tag-marker-ring)) :help "Return to the position"] ["Complete" elpy-company-backend :keys "M-TAB" :help "Complete at point"] ["Refactor" elpy-refactor :help "Refactor options"] "---" ("Interactive Python" ["Switch to Python Shell" elpy-shell-switch-to-shell :help "Start and switch to the interactive Python"] ["Send Region or Buffer" elpy-shell-send-region-or-buffer :label (if (use-region-p) "Send Region to Python" "Send Buffer to Python") :help "Send the current region or the whole buffer to Python"] ["Send Definition" python-shell-send-defun :help "Send current definition to Python"] ["Kill Python shell" elpy-shell-kill :help "Kill the current Python shell"] ["Kill all Python shells" elpy-shell-kill-all :help "Kill all Python shells"]) ("Project" ["Find File" elpy-find-file :help "Interactively find a file in the current project"] ["Find Symbol" elpy-rgrep-symbol :help "Find occurrences of a symbol in the current project"] ["Set Project Root" elpy-set-project-root :help "Change the current project root"] ["Set Project Variable" elpy-set-project-variable :help "Configure a project-specific option"]) ("Syntax Check" ["Check Syntax" elpy-check :help "Check the syntax of the current file"] ["Next Error" elpy-flymake-next-error :help "Go to the next inline error, if any"] ["Previous Error" elpy-flymake-previous-error :help "Go to the previous inline error, if any"]) ("Indentation Blocks" ["Dedent" python-indent-shift-left :help "Dedent current block or region" :suffix (if (use-region-p) "Region" "Block")] ["Indent" python-indent-shift-right :help "Indent current block or region" :suffix (if (use-region-p) "Region" "Block")] ["Up" elpy-nav-move-line-or-region-up :help "Move current block or region up" :suffix (if (use-region-p) "Region" "Block")] ["Down" elpy-nav-move-line-or-region-down :help "Move current block or region down" :suffix (if (use-region-p) "Region" "Block")]) "---" ["News" elpy-news t] ["Configure" elpy-config t]))
#@67 Enable Elpy in all future Python buffers.

(fn &optional IGNORED)
(defalias 'elpy-enable #[256 "\302W\203\n \303\304!\210\211\203 \305\306!\210\307\310\311\"\211\203% \312\313\"\203% \303\314!\210\210\315 \210\316	\317\320#\210\321\322\323\"\210\321\324\325\"\210\321\326\327\"\207" [emacs-major-version inferior-python-mode-map 24 error "Elpy requires Emacs 24 or newer" warn "The argument to `elpy-enable' is deprecated, customize `elpy-modules' instead" find-lisp-object-file-name python-mode symbol-function string-match "/python-mode\\.el\\'" "You are using python-mode.el. Elpy only works with python.el from Emacs 24 and above" elpy-modules-global-init define-key "" elpy-shell-switch-to-buffer add-hook python-mode-hook elpy-mode pyvenv-post-activate-hooks elpy-rpc--disconnect inferior-python-mode-hook elpy-shell--enable-output-filter] 5 (#$ . 19195) nil])
#@44 Disable Elpy in all future Python buffers.
(defalias 'elpy-disable #[0 "\300\301\302\"\210\300\303\304\"\210\305 \207" [remove-hook python-mode-hook elpy-mode inferior-python-mode-hook elpy-shell--enable-output-filter elpy-modules-global-stop] 3 (#$ . 20073) nil])
#@87 Non-nil if Elpy mode is enabled.
Use the command `elpy-mode' to change this variable.
(defvar elpy-mode nil (#$ . 20344))
(make-variable-buffer-local 'elpy-mode)
#@284 Minor mode in Python buffers for the Emacs Lisp Python Environment.

This mode fully supports virtualenvs. Once you switch a
virtualenv using \[pyvenv-workon], you can use
\[elpy-rpc-restart] to make the elpy Python process use your
virtualenv.

\{elpy-mode-map}

(fn &optional ARG)
(defalias 'elpy-mode #[256 "\301 \302=\203 ?\202 \303!\304V\305\306!\204 \307\310!\210\311\312!\203* \313\312\314\315\316$\210\2034 \317 \210\202; \204; \320 \210\321\322\203E \323\202F \324\"\210\325\326!\203j \301 \203Z \211\301 \232\203j \327\330\331\203e \332\202f \333#\266\210\334 \210\207" [elpy-mode current-message toggle prefix-numeric-value 0 derived-mode-p python-mode error "Elpy only works with `python-mode'" boundp xref-backend-functions add-hook elpy--xref-backend nil t elpy-modules-buffer-init elpy-modules-buffer-stop run-hooks elpy-mode-hook elpy-mode-on-hook elpy-mode-off-hook called-interactively-p any " in current buffer" message "Elpy mode %sabled%s" "en" "dis" force-mode-line-update] 7 (#$ . 20513) (byte-code "\206 \301C\207" [current-prefix-arg toggle] 1)])
#@174 Hook run after entering or leaving `elpy-mode'.
No problems result if this variable is not bound.
`add-hook' automatically binds it.  (This is true for all hook variables.)
(defvar elpy-mode-hook nil (#$ . 21608))
(byte-code "\301\302\303\304\300!\205\n \305\211%\207" [elpy-mode-map add-minor-mode elpy-mode " Elpy" boundp nil] 6)
#@31 Display Elpy's release notes.
(defalias 'elpy-news #[0 "r\301\302!q\210\303\304 \210\305\306\307\310!!\311P!\210\312 \210)\313p!)\207" [inhibit-read-only get-buffer-create "*Elpy News*" t erase-buffer insert-file-contents file-name-directory locate-library "elpy" "NEWS.rst" help-mode pop-to-buffer] 4 (#$ . 21947) nil])
(defvar elpy-config--related-custom-groups '(("Elpy" elpy "elpy-") ("Python" python "python-") ("Virtual Environments (Pyvenv)" pyvenv "pyvenv-") ("Completion (Company)" company "company-") ("Call Signatures (ElDoc)" eldoc "eldoc-") ("Inline Errors (Flymake)" flymake "flymake-") ("Snippets (YASnippet)" yasnippet "yas-") ("Directory Grep (rgrep)" grep "grep-") ("Search as You Type (ido)" ido "ido-") ("Django Extension" elpy-django "elpy-django-")))
(defvar elpy-config--get-config "import json\nimport sys\n\ntry:\n    import xmlrpclib\nexcept ImportError:\n    import xmlrpc.client as xmlrpclib\n\nfrom distutils.version import LooseVersion\n\n\ndef latest(package, version=None):\n    try:\n        pypi = xmlrpclib.ServerProxy('https://pypi.python.org/pypi')\n        latest = pypi.package_releases(package)[0]\n        if version is None or LooseVersion(version) < LooseVersion(latest):\n            return latest\n        else:\n            return None\n    except:\n        return None\n\n\nconfig = {}\nconfig['python_version'] = ('{major}.{minor}.{micro}'\n                            .format(major=sys.version_info[0],\n                                    minor=sys.version_info[1],\n                                    micro=sys.version_info[2]))\n\ntry:\n    import elpy\n    config['elpy_version'] = elpy.__version__\nexcept:\n    config['elpy_version'] = None\n\ntry:\n    import jedi\n    if isinstance(jedi.__version__, tuple):\n        config['jedi_version'] = '.'.join(str(x) for x in jedi.__version__)\n    else:\n        config['jedi_version'] = jedi.__version__\n    config['jedi_latest'] = latest('jedi', config['jedi_version'])\nexcept:\n    config['jedi_version'] = None\n    config['jedi_latest'] = latest('jedi')\n\ntry:\n    import rope\n    config['rope_version'] = rope.VERSION\n    if sys.version_info[0] <= 2:\n        config['rope_latest'] = latest('rope', config['rope_version'])\n    else:\n        config['rope_latest'] = latest('rope_py3k', config['rope_version'])\nexcept:\n    config['rope_version'] = None\n    config['rope_latest'] = latest('rope')\n\ntry:\n    import importmagic\n    config['importmagic_version'] = importmagic.__version__\n    config['importmagic_latest'] = latest('importmagic', config['importmagic_version'])\nexcept:\n    config['importmagic_version'] = None\n    config['importmagic_latest'] = latest('importmagic')\n\ntry:\n    import autopep8\n    config['autopep8_version'] = autopep8.__version__\n    config['autopep8_latest'] = latest('autopep8', config['autopep8_version'])\nexcept:\n    config['autopep8_version'] = None\n    config['autopep8_latest'] = latest('autopep8')\n\ntry:\n    import yapf\n    config['yapf_version'] = yapf.__version__\n    config['yapf_latest'] = latest('yapf', config['yapf_version'])\nexcept:\n    config['yapf_version'] = None\n    config['yapf_latest'] = latest('yapf')\n\njson.dump(config, sys.stdout)\n")
#@149 Note a configuration problem.

This will show a message in the minibuffer that tells the user to
use \[elpy-config].

(fn &optional FMT &rest ARGS)
(defalias 'elpy-config-error #[384 "\203\f \300\301#\202 \302\303\304\"\207" [apply format "Elpy is not properly configured" error "%s; use M-x elpy-config to configure it"] 6 (#$ . 25187)])
#@131 Configure Elpy.

This function will pop up a configuration buffer, which is mostly
a customize buffer, but has some more options.
(defalias 'elpy-config #[0 "\303\304!\305 \306rq\210\307\310!\210\311!\210\307\312!\210\313\314 \210\315 \210\n\211\203? \211@\316\317\320\321\322\323\324@\325	A@&	\210A\266\202\202  \210\326 \210eb\210*\327!)\207" [custom-search-field custom-buffer-style elpy-config--related-custom-groups custom-get-fresh-buffer "*Elpy Config*" elpy-config--get-config nil elpy-insert--header "Elpy Configuration" elpy-config--insert-configuration-problems "Options" tree Custom-mode elpy-config--insert-help widget-create custom-group :custom-last t :custom-state hidden :tag :value widget-setup pop-to-buffer-same-window] 14 (#$ . 25538) nil])
#@30 Display the version of Elpy.
(defalias 'elpy-version #[0 "\301\302\"\207" [elpy-version message "Elpy %s (use M-x elpy-config for details)"] 3 (#$ . 26315) nil])
(defalias 'elpy-config--insert-help #[0 "`\302\303\304\203\f \305\202 \306\"!\210	\203 \302\307!\202O \302\310!\210\311\312\313\314\315\316\317\320&\210\302\321!\210\311\312\313\314\315\322\317\323&\210\302\324!\210\311\312\313\314\315\325\317\326&\210\302\327!\210\330`\"\207" [custom-raised-buttons custom-browse-only-groups widget-insert format "%s buttons; type RET or click mouse-1\non a button to invoke its action.\nInvoke [+] to expand a group, and [-] to collapse an expanded group.\n" "`Raised' text indicates" "Square brackets indicate" "Invoke the [Group] button below to edit that item in another window.\n\n" "Invoke the " widget-create item :format "%t" :tag "[Group]" :tag-glyph "folder" ", " "[Face]" "face" ", and " "[Option]" "option" " buttons below to edit that\nitem in another window.\n\n" fill-region] 9])
#@81 Insert help text and widgets for configuration problems.

(fn &optional CONFIG)
(defalias 'elpy-config--insert-configuration-problems #[256 "\211\204 \306 \262\307\310\"\211\203 \311\312\"\203 \313\202 \314\315!\210\316c\210\307\317\"\2040 \320\321\322\323#\210\307\317\"\203E \307\324\"\204E \320\325\326\327\330$\210\331>\204n \307\317\"\203n 	\204n \332\333!\n\235\204n \332\334!\n\235\204n \320\335\336\337\340\341%\210\307\317\"\203\232 \307\342\"\204\232 \320\343\344\307\324\"\203\213 \345\202\214 \346#\210\316c\210\347\350\351\352#\210\353c\210\307\342\"\203\307 \307\342\"\232\204\307 \307\342\"\320\354\355\356\357\360\"\203\301 \361\202\302 \362\316&\266\307\363\"\203\336 \320\364\365\366#\210\316\307\363\"\316\211\261\210\307\317\"\203\f\314\232\203\362 \307\367\"\203\377 \f\370\232\203\307\371\"\204\320\372\f\373\374\375\376&\210\316c\210\347\350\351\f\314\232\203\202\370#\210\353c\210\307\317\"\203T\f\204T\307\367\"\204T\307\371\"\204T\320\377\201@ \"\210\316c\210\347\350\351#\210\316c\210\347\350\351\370#\210\353c\210\307\367\"\203|\307\201A \"\203|\320\201B !\210\316c\210\347\350\351\201C \201D %\210\353c\210\307\371\"\203\244\307\201E \"\203\244\320\201F !\210\316c\210\347\350\351\370\201C \201D %\210\353c\210\307\201G \"\204\304\320\201H \201I \"\210\316c\210\347\350\351\201J #\210\353c\210\307\201G \"\203\360\307\201K \"\203\360\320\201L !\210\316c\210\347\350\351\201J \201C \201D %\210\353c\210\307\201M \"\204\320\201N \201I \"\210\316c\210\347\350\351\201O #\210\353c\210\307\201M \"\203<\307\201P \"\203<\320\201Q !\210\316c\210\347\350\351\201O \201C \201D %\210\353c\210\307\201R \"\204\\\320\201S \201I \"\210\316c\210\347\350\351\201T #\210\353c\210\307\201R \"\203\210\307\201U \"\203\210\320\201V !\210\316c\210\347\350\351\201T \201C \201D %\210\353c\210\201W !?\205\252\320\201X \201Y \201Z #\210\316c\210\347\350\351\201[ #\210\353c\207" [system-type pyvenv-virtual-env exec-path elpy-version elpy-rpc-backend elpy-syntax-check-command elpy-config--get-config gethash "python_version" string-match "^3\\." "rope_py3k" "rope" elpy-config--insert-configuration-table "\n" "python_rpc_executable" elpy-insert--para "Elpy can not find the configured Python interpreter. Please make " "sure that the variable `elpy-rpc-python-command' points to a " "command in your PATH. You can change the variable below.\n\n" "virtual_env" "You have not activated a virtual env. While Elpy supports this, " "it is often a good idea to work inside a virtual env. You can use " "M-x pyvenv-activate or M-x pyvenv-workon to activate a virtual " "env.\n\n" (ms-dos windows-nt) expand-file-name "~/.local/bin" "~/.local/bin/" "The directory ~/.local/bin/ is not in your PATH. As there is " "no active virtualenv, installing Python packages locally will " "place executables in that directory, so Emacs won't find them. " "If you are missing some commands, do add this directory to your " "PATH.\n\n" "elpy_version" "The Python interpreter could not find the elpy module. " "Make sure the module is installed" " in the current virtualenv.\n" ".\n" widget-create elpy-insert--pip-button :package "elpy" "\n\n" "The Elpy backend is version " " while " "the Emacs package is " ". This is incompatible. " version< "Please upgrade the Python module." "Please upgrade the Emacs Lisp package." "error_output" "There was an unexpected problem starting the RPC process. Please " "check the following output to see if this makes sense to you. " "To me, it doesn't.\n" "rope_version" "jedi" "jedi_version" "You requested Elpy to use the backend " ", " "but the Python interpreter could not load that module. Make " "sure the module is installed, or change the value of " "`elpy-rpc-backend' below to one of the available backends.\n" "There is no backend available. Please install either Rope or Jedi." "See https://github.com/jorgenschaefer/elpy/wiki/FAQ#q-should-i-use-rope-or-jedi for guidance.\n" "rope_latest" "There is a newer version of Rope available.\n" :upgrade t "jedi_latest" "There is a newer version of Jedi available.\n" "importmagic_version" "The importmagic package is not available. Commands using this will " "not work.\n" "importmagic" "importmagic_latest" "There is a newer version of the importmagic package available.\n" "autopep8_version" "The autopep8 package is not available. Commands using this will " "autopep8" "autopep8_latest" "There is a newer version of the autopep8 package available.\n" "yapf_version" "The yapf package is not available. Commands using this will " "yapf" "yapf_latest" "There is a newer version of the yapf package available.\n" executable-find "The configured syntax checker could not be found. Elpy uses this " "program to provide syntax checks of your programs, so you might " "want to install one. Elpy by default uses flake8.\n" "flake8"] 14 (#$ . 27321)])
#@311 Return the configuration from `elpy-rpc-python-command'.

This returns a hash table with the following keys (all strings):

emacs_version
python_rpc
python_rpc_executable
python_interactive
python_interactive_executable
python_version (RPC)
elpy_version
jedi_version
rope_version
virtual_env
virtual_env_short
(defalias 'elpy-config--get-config #[0 "\306\307!r\211q\210\310\311\312\313\314!\315\"\316$\216\317\320\321\"\322\323#\210\322\324	#\210\322\325\326	!#\210\327\302!\2035 \n\2026 \322\330#\210\322\331\326!#\266\332\333!\322\334#\210\211\203] \322\335\336!#\210\202c \322\335\337#\210\210\3401| \341 \342\343	\337p\337\344+&*0\202~ \210\337\211\203\276 \3451\223 \346,eb\210\347 )0\202\225 \210\337\211\204\243 \322\350\351 #\210\202\275 \211\211\203\274 \211@\322\352@!A#\210A\266\202\202\244 \210\210\210\211\262*\207" [emacs-version elpy-rpc-python-command python-python-command python-shell-interpreter default-directory process-environment generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 make-hash-table :test equal puthash "emacs_version" "python_rpc" "python_rpc_executable" executable-find boundp "python_interactive" "python_interactive_executable" getenv "VIRTUAL_ENV" "virtual_env" "virtual_env_short" file-name-nondirectory nil (error) elpy-rpc--environment "/" call-process "-c" (error) list json-read "error_output" buffer-string symbol-name elpy-config--get-config json-array-type] 10 (#$ . 32239)])
#@75 Insert a table describing the current Elpy config.

(fn &optional CONFIG)
(defalias 'elpy-config--insert-configuration-table #[256 "\211\204 \303 \262\304\305\"\304\306\"\304\307\"\304\310\"\304\311\"\304\312\"\304\313\"\304\314	\"\304\315\n\"\304\316\"\304\317\f\"\304\320\"\304\321\"\304\322\"\304\323\"\304\324\"\304\325\"\304\326\"\304\327\"\330\211\331\304\326\"\203z \332\333#\202{ \334B\335\203\214 \332\333#\202\246 \203\226 \202\246 \203\243 \332\336\"\202\246 \332\337!B\340\203\267 \332\333#\202\305 \203\304 \332\336\"\202\305 \337B\341B\342\203\336 	\203\336 	\232\203\336 	\202\360 \203\354 \332\343	#\202\360 \332\344	\"B\345\346\347#B\350\346\351#B\352\346\353#B\354\346\355#B\356\346\357#B\360\361\n!\211\2030\332\333\362!#\2024\332\363\n\"\262B\257\262\364\262\211\203Y\211@\211@GV\203R\211@G\262A\266\202\202?\210\211\205y\211@\211@\365@GZ\366\"\367A\370\261\210A\266\202\202[\262)\207" [emacs-version elpy-version elpy-syntax-check-command elpy-config--get-config gethash "emacs_version" "python_version" "python_rpc" "python_rpc_executable" "python_interactive" "python_interactive_executable" "elpy_version" "jedi_version" "jedi_latest" "rope_version" "rope_latest" "importmagic_version" "importmagic_latest" "autopep8_version" "autopep8_latest" "yapf_version" "yapf_latest" "virtual_env" "virtual_env_short" nil "Virtualenv" format "%s (%s)" "None" "RPC Python" "%s (not found)" "Not configured" "Interactive Python" "Emacs" "Elpy" "%s (Python), %s (Emacs Lisp)" "Not found (Python), %s (Emacs Lisp)" "Jedi" elpy-config--package-link "jedi" "Rope" "rope" "Importmagic" "importmagic" "Autopep8" "autopep8" "Yapf" "yapf" "Syntax checker" executable-find file-name-nondirectory "Not found (%s)" 0 make-string 46 ": " "\n"] 38 (#$ . 33769)])
#@228 Return a string detailing a Python package.

NAME is the PyPI name of the package. VERSION is the currently
installed version. LATEST is the latest-available version on
PyPI, or nil if that's VERSION.

(fn NAME VERSION LATEST)
(defalias 'elpy-config--package-link #[771 "\204\n \211\204\n \300\207\211\204 \207\204 \301\302\"\207\301\303#\207" ["Not found" format "Not found (%s available)" "%s (%s available)"] 7 (#$ . 35655)])
#@93 Pop up a help buffer named BUFFER-NAME and execute BODY in it.

(fn BUFFER-NAME &rest BODY)
(defalias 'elpy-insert--popup '(macro . #[385 "\300\301\302BBE\207" [with-help-window with-current-buffer standard-output] 7 (#$ . 36098)]))
(function-put 'elpy-insert--popup 'lisp-indent-function 1)
#@63 Insert a bunch of text and then fill it.

(fn &rest MESSAGES)
(defalias 'elpy-insert--para #[128 "`\300\301\"\210\302`\"\207" [mapc #[257 "\211;\203 \211c\207\300\301\"c\207" [format "%s"] 4 "\n\n(fn OBJ)"] fill-region] 5 (#$ . 36398)])
#@57 Insert TEXT has a header for a buffer.

(fn &rest TEXT)
(defalias 'elpy-insert--header #[128 "\300\301\302\303#\304\305#\306\211\261\207" [propertize mapconcat #[257 "\207" [] 2 "\n\n(fn X)"] "" face header-line "\n"] 6 (#$ . 36645)])
(define-widget 'elpy-insert--pip-button 'item "A button that runs pip (or an alternative)." :button-prefix "[" :button-suffix "]" :format "%[run%] %v" :value-create 'elpy-insert--pip-button-value-create :action 'elpy-insert--pip-button-action)
#@66 The :value-create option for the pip button widget.

(fn WIDGET)
(defalias 'elpy-insert--pip-button-value-create #[257 "\302\303\"\302\304\"\211\203 \305\202 \306\307\310!\206 ?\211\203! \311\202\" \306\312	\313\211\211\314\315\316&\317U\203= \320\321		%\202O \322\323!\203L \320\324#\202O \325\326!\327\330#\210\211c\207" [pyvenv-virtual-env elpy-rpc-python-command widget-get :package :upgrade "--upgrade " "" getenv "VIRTUAL_ENV" "--user " call-process nil "-m" "pip" "--help" 0 format "%s -m pip install %s%s%s" executable-find "easy_install" "easy_install %s%s" error "Neither easy_install nor pip found" widget-put :command] 14 (#$ . 37132)])
#@76 The :action option for the pip button widget.

(fn WIDGET &optional EVENT)
(defalias 'elpy-insert--pip-button-action #[513 "\300\301\302\"!\207" [async-shell-command widget-get :command] 6 (#$ . 37804)])
#@55 The history for `elpy-project--read-project-variable'
(defvar elpy-project--variable-name-history nil (#$ . 38015))
#@319 Return the root of the current buffer's project.

This can very well be nil if the current file is not part of a
project.

See `elpy-project-root-finder-functions' for a way to configure
how the project root is found. You can also set the variable
`elpy-project-root' in, for example, .dir-locals.el to override
this.
(defalias 'elpy-project-root #[0 "\204 \301\302!\207" [elpy-project-root run-hook-with-args-until-success elpy-project-root-finder-functions] 2 (#$ . 38138)])
#@55 Set the Elpy project root to NEW-ROOT.

(fn NEW-ROOT)
(defalias 'elpy-set-project-root #[257 "\211\211\207" [elpy-project-root] 3 (#$ . 38625) "DNew project root: "])
#@93 Return the current Python project root, if any.

This is marked with setup.py or setup.cfg.
(defalias 'elpy-project-find-python-root #[0 "\301\302\"\206 \301\303\"\207" [default-directory locate-dominating-file "setup.py" "setup.cfg"] 3 (#$ . 38799)])
#@49 Return the current git repository root, if any.
(defalias 'elpy-project-find-git-root #[0 "\301\302\"\207" [default-directory locate-dominating-file ".git"] 3 (#$ . 39060)])
#@49 Return the current git repository root, if any.
(defalias 'elpy-project-find-hg-root #[0 "\301\302\"\207" [default-directory locate-dominating-file ".hg"] 3 (#$ . 39241)])
#@49 Return the current git repository root, if any.
(defalias 'elpy-project-find-svn-root #[0 "\301\302\"\207" [default-directory locate-dominating-file #[257 "\300\301\302\"!\205 \300\301\303\"!?\207" [file-directory-p format "%s/.svn" "%s/../.svn"] 5 "\n\n(fn DIR)"]] 3 (#$ . 39420)])
#@58 Return the current project root according to projectile.
(defalias 'elpy-project-find-projectile-root #[0 "\3001 \301 0\207\210\302\207" [(error) projectile-project-root nil] 1 (#$ . 39713)])
#@189 Return the root of the Python package chain of the current buffer.

That is, if you have /foo/package/module.py, it will return /foo,
so that import package.module will pick up module.py.
(defalias 'elpy-library-root #[0 "\301\302\"\207" [default-directory locate-dominating-file #[257 "\300\301\302\"!?\207" [file-exists-p format "%s/__init__.py"] 5 "\n\n(fn DIR)"]] 3 (#$ . 39913)])
#@71 Prompt the user for a variable name to set project-wide.

(fn PROMPT)
(defalias 'elpy-project--read-project-variable #[257 "\302\303\"\304\305\306!\"\307\310	\311\312\313\314\315	!\316\"\317\320%\321\322\323&!\207" [elpy-config--related-custom-groups obarray mapcar #[257 "\3008\207" [2] 3 "\n\n(fn CUST)"] format "^%s" regexp-opt intern completing-read make-byte-code 257 "\211\301N\205 \302\300\303!\"\205 \211\304N\207" vconcat vector [safe-local-variable string-match symbol-name custom-type] 5 "\n\n(fn SYM)" :require-match nil elpy-project--variable-name-history] 13 (#$ . 40306)])
#@66 Read the value for VARIABLE from the user.

(fn PROMPT VARIABLE)
(defalias 'elpy-project--read-variable-value #[514 "\211\300N\211\203, \301<\203 \202 C\302!\205# \303N\206! \304!\302!?$\202/ \305!\207" [custom-type widget-prompt-value boundp custom-get symbol-value eval-minibuffer] 9 (#$ . 40909)])
#@127 Set or remove a variable in the project-wide .dir-locals.el.

With prefix argument, remove the variable.

(fn VARIABLE VALUE)
(defalias 'elpy-set-project-variable #[514 "r\302\303\304\305 #!q\210\306\307	\203 \310\202 \311$)\207" [dir-locals-file current-prefix-arg find-file-noselect format "%s/%s" elpy-project-root modify-dir-local-variable nil delete add-or-replace] 7 (#$ . 41229) (byte-code "\301\203	 \302\202\n \303!?\205 \304\305\306\"\"D\207" [current-prefix-arg elpy-project--read-project-variable "Remove project variable: " "Set project variable: " elpy-project--read-variable-value format "Value for %s: "] 5)])
#@197 Search for REGEXP in the current project.

REGEXP defaults to the symbol at point, or the current region if
active.

With a prefix argument, always prompt for a string to search for.

(fn REGEXP)
(defalias 'elpy-rgrep-symbol #[257 "\306 \210\307	\"\310\n\311 \206 #\210)r\fq\210\312\212eb\210\313\314\315\312#\205. \316\317\320\321!\"!+\207" [elpy-project-ignored-directories grep-find-ignored-directories elpy-rgrep-file-pattern default-directory next-error-last-buffer inhibit-read-only grep-compute-defaults append rgrep elpy-project-root t re-search-forward "^find .*" nil replace-match format "Searching for '%s'\n" regexp-quote] 6 (#$ . 41874) (byte-code "\301 \203 \302\303 \304 \"\202 \305\306!\211\203  \204  \307\310Q\202$ \311\312\"\262C\207" [current-prefix-arg use-region-p buffer-substring-no-properties region-beginning region-end thing-at-point symbol "\\<" "\\>" read-from-minibuffer "Search in project for regexp: "] 4)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313&	\207" [custom-declare-variable elpy-ffip-prune-patterns funcall function #[0 "\303\211\203 \211@\304\305Q\211	\235\204 \211B\262\210A\266\202\202 \210\n\211\203D \211@\306\307\"\204= \310P\211	\235\204< \211B\262\210A\266\202\202! \210\311	\"\207" [elpy-project-ignored-directories ffip-prune-patterns completion-ignored-extensions nil "*/" "/*" string-match "/$" "*" append] 6] "Elpy-specific extension of `ffip-prune-patterns'." :type (repeat string) :safe #[257 "\300\301\"\207" [cl-every stringp] 4 "\n\n(fn VAL)"] :group elpy] 10)
#@429 Efficiently find a file in the current project.

With prefix argument, tries to guess what kind of file the user
wants to open.

On an import line, it opens the file of that module.

Otherwise, it opens a test file associated with the current file,
if one exists. A test file is named test_<name>.py if the current
file is <name>.py, and is either in the same directors or a
"test" or "tests" subdirectory.

(fn &optional DWIM)
(defalias 'elpy-find-file #[256 "\211\203A \306 \203A \212\307 b\210\310\311!\206 \310\312!)\203A \313\314!\203- \315\316\313\317!\313\314!#\2020 \313\317!\320!\211\203= \321!\202@ \322\323!\207\211\203Z \306 \203Z \324 \211\203V \321!\202Y \322\323!\207\325 \206a 	\326\327\nB\330 ,\207" [elpy-ffip-prune-patterns default-directory ido-setup-hook ido-decorations ffip-project-root ffip-prune-patterns buffer-file-name line-beginning-position looking-at "^ *import +\\([[:alnum:]._]+\\)" "^ *from +\\([[:alnum:]._]+\\) +import +\\([[:alnum:]._]+\\)" match-string 2 format "%s.%s" 1 elpy-find--resolve-module find-file elpy-find-file nil elpy-find--test-file elpy-project-root ("\n" "" "\n" "\n..." "[" "]" " [No match]" " [Matched]" " [Not readable]" " [Too big]" " [Confirm]") #[0 "\301\302\303#\210\301\304\305#\207" [ido-completion-map define-key [down] ido-next-match [up] ido-prev-match] 4] find-file-in-project] 6 (#$ . 43449) "P"])
#@247 Return the test file for the current file, if any.

If this is a test file, return the non-test file.

A test file is named test_<name>.py if the current file is
<name>.py, and is either in the same directors or a "test" or
"tests" subdirectory.
(defalias 'elpy-find--test-file #[0 "\3002\224 \301\211\211\302 \262\204 \303\300\301\"\210\304!\262\305!\262\306!\262\307\310\"\203X \211\311\301O\312\313#\312\314#D\211\205Q \211@\315!\203J \303\300\"\210A\266\202\2029 \262\262\202\221 \312\316#\312\317#\312\320#\312\321#\312\322#\257\211\205\217 \211@\315!\203\210 \303\300\"\210A\266\202\202w \262\266\2030\207" [return nil buffer-file-name throw expand-file-name file-name-directory file-name-nondirectory string-match "^test_" 5 format "%s/%s" "%s/../%s" file-exists-p "%s/test_%s" "%s/test/test_%s" "%s/tests/test_%s" "%s/../test/test_%s" "%s/../tests/test_%s"] 11 (#$ . 44834)])
#@325 Return a directory path for MODULE.

The resulting path is not guaranteed to exist. This simply
resolves leading periods relative to the current directory and
replaces periods in the middle of the string with slashes.

Only works with absolute imports. Stop using implicit relative
imports. They're a bad idea.

(fn MODULE)
(defalias 'elpy-find--module-path #[257 "\300\301\"\205\f \302\303\"G\211\203! \304\305\306 \307\310\311\312\"\313##\202# \314 \315\316\317\2031 \312O\2022 #\320\304\305#!\207" [string-match "^\\.+" match-string 0 format "%s/%s" buffer-file-name mapconcat #[257 "\300\207" ["../"] 2 "../\n\n(fn _)"] make-vector nil "" elpy-library-root replace-regexp-in-string "\\." "/" expand-file-name] 10 (#$ . 45763)])
#@114 Resolve MODULE relative to the current file and project.

Returns a full path name for that module.

(fn MODULE)
(defalias 'elpy-find--resolve-module #[257 "\3002N \301!\302\303\304 !\"\203K \305\306\"\305\307\"D\211\2032 \211@\310!\203+ \311\300\"\210A\266\202\202 \210\312\313\"\203C \211\314\315O\262\202 \316!\262\202 \210\3170\207" [return elpy-find--module-path string-prefix-p expand-file-name elpy-library-root format "%s.py" "%s/__init__.py" file-exists-p throw string-match "/$" 0 -1 file-name-directory nil] 7 (#$ . 46512)])
#@182 Run `python-check-command' on the current buffer's file,

or the project root if WHOLE-PROJECT-P is non-nil (interactively,
with a prefix argument).

(fn &optional WHOLE-PROJECT-P)
(defalias 'elpy-check #[256 "\305 \204	 \306\307!\210\310?\311\"\210\312 \313 \314\203\" \315 \206$ \305 \202$ \305 !\203> \316\317	\"\2034 \320\2025 \321\322\323\n\324#P\202? \325\326	\327\330!R\311\331#*\207" [compilation-ask-about-save python-check-command elpy-project-ignored-directories exec-path process-environment buffer-file-name error "Can't check a buffer without a file." save-some-buffers nil python-shell-calculate-process-environment python-shell-calculate-exec-path expand-file-name elpy-project-root string-match "pylint$" " --ignore=" " --exclude=" mapconcat identity "," "" compilation-start " " shell-quote-argument #[257 "\300\207" ["*Python Check*"] 2 "*Python Check*\n\n(fn MODE-NAME)"]] 10 (#$ . 47069) "P"])
#@51 Initial position before expanding to indentation.
(defvar elpy-nav-expand--initial-position nil (#$ . 47999))
(make-variable-buffer-local 'elpy-nav-expand--initial-position)
#@56 Go to the definition of the symbol at point, if found.
(defalias 'elpy-goto-definition #[0 "\300 \211\203 \301@A@\"\202 \302\303!\207" [elpy-rpc-get-definition elpy-goto-location error "No definition found"] 4 (#$ . 48179) nil])
#@56 Go to the assignment of the symbol at point, if found.
(defalias 'elpy-goto-assignment #[0 "\300 \211\203 \301@A@\"\202 \302\303!\207" [elpy-rpc-get-assignment elpy-goto-location error "No assignment found"] 4 (#$ . 48418) nil])
#@72 Go to the definition of the symbol at point in other window, if found.
(defalias 'elpy-goto-definition-other-window #[0 "\300 \211\203 \301@A@\302#\202 \303\304!\207" [elpy-rpc-get-definition elpy-goto-location other-window error "No definition found"] 5 (#$ . 48657) nil])
#@72 Go to the assignment of the symbol at point in other window, if found.
(defalias 'elpy-goto-assignment-other-window #[0 "\300 \211\203 \301@A@\302#\202 \303\304!\207" [elpy-rpc-get-assignment elpy-goto-location other-window error "No assignment found"] 5 (#$ . 48941) nil])
#@147 Show FILENAME at OFFSET to the user.

If other-window-p is non-nil, show the same in other window.

(fn FILENAME OFFSET &optional OTHER-WINDOW-P)
(defalias 'elpy-goto-location #[770 "\301\302 \"\210\303!\203 \304\305\"\210\202 \306!\210Tb\210\307\310!\207" [find-tag-marker-ring ring-insert point-marker find-file-noselect pop-to-buffer t switch-to-buffer recenter 0] 7 (#$ . 49226)])
#@121 Move to the next line indented like point.

This will skip over lines and statements with different
indentation levels.
(defalias 'elpy-nav-forward-block #[0 "i`\301\246\302U\204 \245T_\262\303 \210\304 W\2034 m\2044 `\232\203+ \305\306!\210`\262\303 \210\202 \304 W\205= b\207" [python-indent-offset nil 0 python-nav-forward-statement current-indentation error "Statement does not finish"] 5 (#$ . 49626) "^"])
#@125 Move to the previous line indented like point.

This will skip over lines and statements with different
indentation levels.
(defalias 'elpy-nav-backward-block #[0 "i`\301\246\302U\204 \245T_\262\303 \210\304 W\2034 o\2044 `\232\203+ \305\306!\210`\262\303 \210\202 \304 W\205= b\207" [python-indent-offset nil 0 python-nav-backward-statement current-indentation error "Statement does not start"] 5 (#$ . 50058) "^"])
#@63 Move forward to the next indent level, or over the next word.
(defalias 'elpy-nav-forward-indent #[0 "i\301 W\203 i\211\245T_\302 \\b\207\303 \304v\210`V\205\" \302 b\207" [python-indent-offset current-indentation point-at-bol point-at-eol nil] 4 (#$ . 50494) "^"])
#@72 Move backward to the previous indent level, or over the previous word.
(defalias 'elpy-nav-backward-indent #[0 "i\301 X\203 i\302U\204 i\211\245S_\303 \\b\207\304v\207" [python-indent-offset current-indentation 0 point-at-bol -1] 4 (#$ . 50771) "^"])
#@70 Move the current line or active region down.

(fn &optional BEG END)
(defalias 'elpy-nav-move-line-or-region-down #[512 "\203\n \300\301#\207\302\301!\207" [elpy--nav-move-region-vertically 1 elpy--nav-move-line-vertically] 6 (#$ . 51033) (byte-code "\300 \203 \301 \302 D\207\303\211D\207" [use-region-p region-beginning region-end nil] 2)])
#@70 Move the current line or active region down.

(fn &optional BEG END)
(defalias 'elpy-nav-move-line-or-region-up #[512 "\203\n \300\301#\207\302\301!\207" [elpy--nav-move-region-vertically -1 elpy--nav-move-line-vertically] 6 (#$ . 51386) (byte-code "\300 \203 \301 \302 D\207\303\211D\207" [use-region-p region-beginning region-end nil] 2)])
(defalias 'elpy--nav-move-line-vertically #[257 "\300 \300\301!i\302\"y\210\212\211c\210)`\\b\207" [point-at-bol 2 delete-and-extract-region] 7 "\n\n(fn DIR)"])
(defalias 'elpy--nav-move-region-vertically #[771 "`\301 W\212b\210\302 )\212b\210n\203 `\202 \302\303!)\304\"b\210y\210\212\211c\210)\2038 \305`G\\!\210\202B \305`!\210`G\\b\210\306\211\207" [deactivate-mark mark point-at-bol 2 delete-and-extract-region set-mark nil] 10 "\n\n(fn BEG END DIR)"])
#@60 Open a line below the current one, move there, and indent.
(defalias 'elpy-open-and-indent-line-below #[0 "\300\301!\210\302 \207" [move-end-of-line 1 newline-and-indent] 2 (#$ . 52212) nil])
#@60 Open a line above the current one, move there, and indent.
(defalias 'elpy-open-and-indent-line-above #[0 "\300\301!\210\212\302c\210)\303 \207" [move-beginning-of-line 1 "\n" indent-according-to-mode] 2 (#$ . 52410) nil])
#@52 Select surrounding lines with current indentation.
(defalias 'elpy-nav-expand-to-indentation #[0 "`\301 \211\302U\203 \303 \2024 \211\301 X\203 \304y\210\202 \305y\210\306`\307\310#\210\211\301 X\2032 \305y\210\202% \304u\207" [elpy-nav-expand--initial-position current-indentation 0 mark-whole-buffer -1 1 push-mark nil t] 5 (#$ . 52639) nil])
(byte-code "\300\301\302\303\304$\210\305\301\304\"\207" [ad-add-advice keyboard-quit (collapse-region nil t (advice lambda nil (when (eq last-command 'elpy-nav-expand-to-indentation) (goto-char elpy-nav-expand--initial-position)))) before nil ad-activate] 5)
#@75 If the first or last line are not fully selected, select them completely.
(defalias 'elpy-nav-normalize-region #[0 "\300 \301 b\210\302 \210\303`\304\305#\210\211b\210`\306 U?\205 \304\207" [region-beginning region-end beginning-of-line push-mark nil t line-beginning-position] 6 (#$ . 53254)])
#@169 Shift current line by COUNT columns to the right.

COUNT defaults to `python-indent-offset'.
If region is active, normalize the region and shift.

(fn &optional COUNT)
(defalias 'elpy-nav-indent-shift-right #[256 "\301 \203 \302 \210\303\304 \305 #\207\303\306 \307 #\207" [current-prefix-arg use-region-p elpy-nav-normalize-region python-indent-shift-right region-beginning region-end line-beginning-position line-end-position] 5 (#$ . 53559) nil])
#@168 Shift current line by COUNT columns to the left.

COUNT defaults to `python-indent-offset'.
If region is active, normalize the region and shift.

(fn &optional COUNT)
(defalias 'elpy-nav-indent-shift-left #[256 "\301 \203 \302 \210\303\304 \305 #\207\303\306 \307 #\207" [current-prefix-arg use-region-p elpy-nav-normalize-region python-indent-shift-left region-beginning region-end line-beginning-position line-end-position] 5 (#$ . 54019) nil])
#@46 History variable for `elpy-set-test-runner'.
(defvar elpy-set-test-runner-history nil (#$ . 54475))
#@205 Run tests on the current test, or the whole project.

If there is a test at point, run that test. If not, or if a
prefix is given, run all tests in the current project.

(fn &optional TEST-WHOLE-PROJECT)
(defalias 'elpy-test #[256 "\301 \203 @\302\211\211$\202 \303\"\207" [elpy-test-runner elpy-test-at-point nil apply] 7 (#$ . 54582) "P"])
#@101 Tell Elpy to use TEST-RUNNER to run tests.

See `elpy-test' for how to invoke it.

(fn TEST-RUNNER)
(defalias 'elpy-set-test-runner #[257 "\211\211\207" [elpy-test-runner] 3 (#$ . 54938) (byte-code "\301\302\300\303NA\"\301\304\"\236A\305\203 \306\307\"\202 \310\311\312\311\313&\211\314\232\203, \2021 \315\"A\266\203C\207" [elpy-test-runner mapcar #[257 "\3008\3018B\207" [2 3] 4 "\n\n(fn VALUE)"] custom-type #[257 "\211A@B\207" [] 3 "\n\n(fn CELL)"] completing-read format "Test runner (currently %s): " "Test runner: " nil t elpy-set-test-runner-history "" assoc] 9)])
#@538 Return a list specifying the test at point, if any.

This is used as the interactive

This list has four elements.

- Top level directory:
  All test files should be importable from here.
- Test file:
  The current file name.
- Test module:
  The module name, relative to the top level directory.
- Test name:
  The full name of the current test within the module, for
  example TestClass.test_method

If there is no test at point, test name is nil.
If the current buffer is not visiting a file, only the top level
directory is not nil.
(defalias 'elpy-test-at-point #[0 "\204 \301 \210\302 \303\211\211F\207\302 \304\"\305 \2035 \306\307\206& \206& \310\"\2035 \311 \210F\202= \301 \210\303\211\211F\207" [buffer-file-name save-some-buffers elpy-library-root nil elpy-test--module-name-for-file elpy-test--current-test-name string-match "test" "" save-buffer] 8 (#$ . 55534)])
(defalias 'elpy-test--current-test-name #[0 "\300 \211\203 \301\302\"\203 \303\304\"\202 \211\207" [python-info-current-defun string-match "\\`\\([^.]+\\.[^.]+\\)\\." match-string 1] 4])
#@229 Return the module name relative to TOP-LEVEL for MODULE-FILE.

For example, for a top level of /project/root/ and a module file
of /project/root/package/module.py, this would return
"package.module".

(fn TOP-LEVEL MODULE-FILE)
(defalias 'elpy-test--module-name-for-file #[514 "\300\"\301\302\303#\301\304\303#\301\305\306#\307\310\"\203$ \306\301\311\306#P\202% \211\207" [file-relative-name replace-regexp-in-string "\\.py\\'" "" "/__init__\\'" "/" "." string-match "^\\." "\\.\\.\\."] 11 (#$ . 56624)])
#@99 Return t iff OBJ is a test runner.

This uses the `elpy-test-runner-p' symbol property.

(fn OBJ)
(defalias 'elpy-test-runner-p #[257 "\211\300N\207" [elpy-test-runner-p] 3 (#$ . 57143)])
#@106 Run COMMAND with ARGS in WORKING-DIRECTORY as a test command.

(fn WORKING-DIRECTORY COMMAND &rest ARGS)
(defalias 'elpy-test-run #[642 "	\302\303B\304#!)\207" [default-directory elpy-test-compilation-function mapconcat shell-quote-argument " "] 8 (#$ . 57338)])
#@124 Test the project using the python unittest discover runner.

This requires Python 2.7 or later.

(fn TOP FILE MODULE TEST)
(defalias 'elpy-test-discover-runner #[1028 "\211\203\f \301\302#\202 \203 \202 \303\304\305\306C\"#\207" [elpy-test-discover-runner-command format "%s.%s" "discover" apply elpy-test-run append] 11 (#$ . 57612) (elpy-test-at-point)])
(put 'elpy-test-discover-runner 'elpy-test-runner-p t)
#@203 Test the project using the Django discover runner,
or with manage.py if elpy-test-django-with-manage is true.

This requires Django 1.6 or the django-discover-runner package.

(fn TOP FILE MODULE TEST)
(defalias 'elpy-test-django-runner #[1028 "\2034 \303\304\305\203 \305\306\307\310 	@\"!	@PC	A\"\202  \n\203. \311\312#\2020 C\"#\207\303\304\305\203X \305\306\307\310 \203I \310 \202J \313	@\"!	@PC	A\"\202Y \n!#\207" [elpy-test-django-with-manage elpy-test-django-runner-manage-command elpy-test-django-runner-command apply elpy-test-run append expand-file-name locate-dominating-file elpy-project-root format "%s.%s" "."] 13 (#$ . 58042) (elpy-test-at-point)])
(put 'elpy-test-django-runner 'elpy-test-runner-p t)
#@122 Test the project using the nose test runner.

This requires the nose package to be installed.

(fn TOP FILE MODULE TEST)
(defalias 'elpy-test-nose-runner #[1028 "\203 \301\302\303\203 \304\305#\202 C\"#\207\301\302#\207" [elpy-test-nose-runner-command apply elpy-test-run append format "%s:%s"] 13 (#$ . 58780) (elpy-test-at-point)])
(put 'elpy-test-nose-runner 'elpy-test-runner-p t)
#@137 Test the project using Twisted's Trial test runner.

This requires the twisted-core package to be installed.

(fn TOP FILE MODULE TEST)
(defalias 'elpy-test-trial-runner #[1028 "\203 \301\302\303\203 \304\305#\202 C\"#\207\301\302#\207" [elpy-test-trial-runner-command apply elpy-test-run append format "%s.%s"] 13 (#$ . 59187) (elpy-test-at-point)])
(put 'elpy-test-trial-runner 'elpy-test-runner-p t)
#@127 Test the project using the py.test test runner.

This requires the pytest package to be installed.

(fn TOP FILE MODULE TEST)
(defalias 'elpy-test-pytest-runner #[1028 "\211\203 \301\302\"\303\304\305\306\307\nB\310#C\"#\207\203* \303\304\305C\"#\207\303\304#\207" [elpy-test-pytest-runner-command split-string "\\." apply elpy-test-run append mapconcat identity "::"] 14 (#$ . 59612) (elpy-test-at-point)])
(put 'elpy-test-pytest-runner 'elpy-test-runner-p t)
#@37 History for the `elpy-doc' command.
(defvar elpy-doc-history nil (#$ . 60094))
#@169 Show documentation for the symbol at point.

If there is no documentation for the symbol at point, or if a
prefix argument is given, prompt for a symbol from the user.
(defalias 'elpy-doc #[0 "\301\211\2040 \302 \262\211\204 \212\303 \210\302 \262)\211\204! \304\305 !\262\211\2040 \212\303 \210\304\305 !\262)\211\204< \304\306\305 !!\262\211\203F \307!\202I \310\311!\207" [current-prefix-arg nil elpy-rpc-get-docstring python-nav-backward-up-list elpy-rpc-get-pydoc-documentation elpy-doc--symbol-at-point elpy-doc--read-identifier-from-minibuffer elpy-doc--show error "No documentation found."] 5 (#$ . 60180) nil])
#@65 Read a pydoc-able identifier from the minibuffer.

(fn INITIAL)
(defalias 'elpy-doc--read-identifier-from-minibuffer #[257 "\300\301\302\303!\304\211\305&\207" [completing-read "Pydoc for: " completion-table-dynamic elpy-rpc-get-pydoc-completions nil elpy-doc-history] 8 (#$ . 60814)])
#@77 Show DOCUMENTATION to the user, replacing ^H with bold.

(fn DOCUMENTATION)
(defalias 'elpy-doc--show #[257 "\305\211\223\210\306	B\307\nB\310 \311\312!\211\305\211r\312q\210\313 \210c\210eb\210\314\315\305\316#\205; \317\320\321\322!\323\324#\316\211#\210\202$ )\262rq\210\325\305\"\262)\326\327!\203V \327\"\202W \211)\266\203*\207" [help-window-point-marker temp-buffer-window-setup-hook temp-buffer-window-show-hook help-window-old-frame standard-output nil help-mode-setup help-mode-finish selected-frame temp-buffer-window-setup "*Python Doc*" erase-buffer re-search-forward "\\(.\\)\\1" t replace-match propertize match-string 1 face bold temp-buffer-window-show functionp help-window-setup] 9 (#$ . 61108)])
#@60 Return the Python symbol at point, including dotted paths.
(defalias 'elpy-doc--symbol-at-point #[0 "\301 p\302\303\304\305\306\"\307\"\310$\216\311!\210\312 \211\205 \313!\262)\207" [python-dotty-syntax-table syntax-table make-byte-code 0 "r\301q\210\302\300!)\207" vconcat vector [set-syntax-table] 2 set-syntax-table symbol-at-point symbol-name] 9 (#$ . 61843)])
#@68 Replace a block.  SPEC is (startline endline newblock).

(fn SPEC)
(defalias 'elpy-buffer--replace-block #[257 "\211@A@\3008\212\214~\210eb\210y\210`Zy\210`{\230?\205( |\210c\266\202*\207" [2] 8 (#$ . 62223)])
#@72 Replace text in BUFFER in region (BEG END) with REP.

(fn BEG END REP)
(defalias 'elpy-buffer--replace-region #[771 "{\230?\205 \212b\210\211c\210|)\207" [] 5 (#$ . 62450)])
(defalias 'elpy-importmagic--add-import-read-args #[768 "\212\302 p\303\304\305\306\307\"\310\"\311$\216\312!\210\313\314!)\266\202\211\203) \211@A{\202* \315\262)\2065 \316\317\"\320\321	\322 E\"\206B \323;\203K \315\202\214 \204W \324\325!\210\315\202\214 @\326\"\203l \316\327\330\"!\202m \315\315\232\203w \202x \315\232\206\202 \232?\205\211 \331PP\266\203\207" [python-dotty-syntax-table buffer-file-name syntax-table make-byte-code 0 "r\301q\210\302\300!)\207" vconcat vector [set-syntax-table] 2 set-syntax-table bounds-of-thing-at-point symbol "" read-string "Object to import: " elpy-rpc "get_import_symbols" elpy-rpc--buffer-contents "New import statement: " message "No import candidate found" completing-read format "Import \"%s\" as: " " as "] 13 "\n\n(fn &optional OBJECT PROMPT ASK-FOR-ALIAS)"])
#@169 Prompt to import thing at point, show possible imports and add selected import.

With prefix arg, also ask for an import alias.

(fn &optional STATEMENT ASK-FOR-ALIAS)
(defalias 'elpy-importmagic-add-import #[512 "\206	 \301\302\211#\303\304\305 E\"\306\232?\205 \307!\207" [buffer-file-name elpy-importmagic--add-import-read-args nil elpy-rpc "add_import" elpy-rpc--buffer-contents "" elpy-buffer--replace-block] 8 (#$ . 63478) "i\nP"])
#@134 Query for new imports of unresolved symbols, and remove unreferenced imports.

Also sort the imports in the import statement blocks.
(defalias 'elpy-importmagic-fixup #[0 "\301\302\303 D\"\304;\204B \204 \305\306!\210\211\203A \211@\307\310\"\311\304#\211\312\232\2034 \313\314\"@B\262\315\304\"\266A\266\202\202 \210\211\211\203j \211@\316\307\317\304#!\307\310\"\311\304#\320PP\315\304\"\266A\266\202\202C \266\301\321\303 D\"\211;?\205| \322!\207" [buffer-file-name elpy-rpc "get_unresolved_symbols" elpy-rpc--buffer-contents nil message "No imports to add." format "How to import \"%s\": " elpy-importmagic--add-import-read-args "" split-string "\\." elpy-importmagic-add-import read-string "Real name of \"%s\" alias: " " as " "remove_unreferenced_imports" elpy-buffer--replace-block] 10 (#$ . 63930) nil])
#@44 Format code using the available formatter.
(defalias 'elpy-format-code #[0 "\300\301!\203	 \302 \207\300\303!\203 \304 \207\305\306!\207" [executable-find "yapf" elpy-yapf-fix-code "autopep8" elpy-autopep8-fix-code message "Install yapf/autopep8 to format code."] 2 (#$ . 64774) nil])
#@46 Automatically formats Python code with yapf.
(defalias 'elpy-yapf-fix-code #[0 "\300\301!\207" [elpy--fix-code-with-formatter "fix_code_with_yapf"] 2 (#$ . 65066) nil])
#@72 Automatically formats Python code to conform to the PEP 8 style guide.
(defalias 'elpy-autopep8-fix-code #[0 "\300\301!\207" [elpy--fix-code-with-formatter "fix_code"] 2 (#$ . 65241) nil])
#@57 Common routine for formatting python code.

(fn METHOD)
(defalias 'elpy--fix-code-with-formatter #[257 "\300 i\301 \203' \302\303 C\"\304 \305 \306\307\310\311##\210\211b\210\312 \266\203\202B \302\313\314 !\"ed\306#\210o\205@ Sy\210u\266\203\207" [line-number-at-pos use-region-p elpy-rpc elpy-rpc--region-contents region-beginning region-end elpy-buffer--replace-region replace-regexp-in-string "\n$" "" deactivate-mark vector elpy-rpc--buffer-contents] 13 (#$ . 65436)])
#@42 List of overlays currently being edited.
(defvar elpy-multiedit-overlays nil (#$ . 65927))
#@138 Add an editable overlay between BEG and END.

A modification in any of these overlays will modify all other
overlays, too.

(fn BEG END)
(defalias 'elpy-multiedit-add-overlay #[514 "\301\"\203 \302\303!\210\304\305\211\306%\307\310\311#\210\307\312\313#\210\307\314\315#\210\307\316\317#\210\307\320\321#\210\211B\211\207" [elpy-multiedit-overlays elpy-multiedit--overlays-in-p error "Overlapping multiedit overlays are not allowed" make-overlay nil :rear-advance overlay-put elpy-multiedit t face highlight modification-hooks (elpy-multiedit--overlay-changed) insert-in-front-hooks (elpy-multiedit--overlay-changed) insert-behind-hooks (elpy-multiedit--overlay-changed)] 8 (#$ . 66025) "r"])
#@78 Return t iff there are multiedit overlays between beg and end.

(fn BEG END)
(defalias 'elpy-multiedit--overlays-in-p #[514 "\3002$ \301\"\211\203! \211@\302\303\"\203 \304\300\305\"\210A\266\202\202 \210\3060\207" [return overlays-in overlay-get elpy-multiedit throw t nil] 7 (#$ . 66736)])
#@39 Stop editing multiple places at once.
(defalias 'elpy-multiedit-stop #[0 "\211\203 \211@\301!\210A\266\202\202 \210\302\211\207" [elpy-multiedit-overlays delete-overlay nil] 4 (#$ . 67040) nil])
#@131 Called for each overlay that changes.

This updates all other overlays.

(fn OV AFTER-CHANGE BEG END &optional PRE-CHANGE-LENGTH)
(defalias 'elpy-multiedit--overlay-changed #[1284 "\205Q ?\205Q \303!\205Q \304!\305!{\306\n\211\205L \211@\211\232\204E \307\303!!\203E r\303!q\210\212\304!b\210c\210`\305!|\210*A\266\202\202 \262)\262\207" [undo-in-progress inhibit-modification-hooks elpy-multiedit-overlays overlay-buffer overlay-start overlay-end t buffer-live-p] 11 (#$ . 67248)])
#@101 Edit all occurences of the symbol at point, or the active region.

If multiedit is active, stop it.
(defalias 'elpy-multiedit #[0 "\203 \302 \207\303 \203 \304\305 \306 {!\202 \307\310\304\311\312 !!\"\313\212eb\210\314\313\315#\2057 \316\317\224\317\225\"\210\202% *\207" [elpy-multiedit-overlays case-fold-search elpy-multiedit-stop use-region-p regexp-quote region-beginning region-end format "\\_<%s\\_>" symbol-name symbol-at-point nil re-search-forward t elpy-multiedit-add-overlay 0] 5 (#$ . 67756) nil])
#@212 Edit all usages of the the Python symbol at point.

With prefix arg, edit all syntactic usages of the symbol at
point. This might include unrelated symbols that just share the
name.

(fn &optional USE-SYMBOL-P)
(defalias 'elpy-multiedit-python-symbol-at-point #[256 "\204 \211\204 \301 \203 \302\303!\207\304 \210\3051 \306 0\202@ \211@\307=\2039 \211A@;\2039 \310\311A@\"\2039 \312\202> \307A@!\262\211\312=\203P \302\303!\210\313\314!\202o \211\204h \302\303!\210\203b \313\315!\202o \313\316!\202o \214~\210\317!)\207" [elpy-multiedit-overlays use-region-p call-interactively elpy-multiedit save-some-buffers (error) elpy-rpc-get-usages error string-match "not implemented" not-supported message "Using syntactic editing as current backend does not support get_usages." "Using syntactic editing as no usages of the symbol at point were found by the backend." "No occurrences of the symbol at point found" elpy-multiedit--usages] 5 (#$ . 68281) "P"])
#@53 Mark the usages in USAGES for editing.

(fn USAGES)
(defalias 'elpy-multiedit--usages #[257 "\301\302\303\304\"\211\203d \211@\305\236A\306\236A\307\236A\262r\203& \310!\202' pq\210\311T\312\313G#\"\210\212\211Tb\210\314\315 \316 {`\315 Z`G\\\315 ZF\317\n\"B#\210*\266A\266\202\202 \210\320!\313X\203v \321\322G#\202\362 r\323\324!q\210\325\301C\326 \210\327\330\331\332$\210\333\334\335\336\337\340!\341\"\342\343%\"\210\344\242\345\"\211\203\345 \211@\346!\210\344\317\"\347\"\211\203\332 \211@\211A@\315 \3508\\\316 \3518\\\352\261\210\311\"\266A\266\202\202\263 \210\352c\210A\266\202\202\241 \210eb\210\353p\301\354#)\266\202)\207" [inhibit-read-only nil make-hash-table :test equal filename name offset find-file-noselect elpy-multiedit-add-overlay + 1 puthash line-beginning-position line-end-position gethash hash-table-count message "Editing %s usages of '%s' in this buffer" get-buffer-create "*Elpy Edit Usages*" t erase-buffer elpy-insert--para "The symbol '" "' was found in multiple files. Editing " "all locations:\n\n" maphash make-byte-code 514 "\300\242\235?\205 \300\300\242B\240\207" vconcat vector #1=[] 5 "\n\n(fn KEY VALUE)" sort string< elpy-insert--header #[514 "@@W\207" #1# 4 "\n\n(fn LOC1 LOC2)"] 2 3 "\n" display-buffer visible] 15 (#$ . 69250)])
#@97 Display an occur buffer of all definitions in the current buffer.

Also, switch to that buffer.
(defalias 'elpy-occur-definitions #[0 "\301\302\303!\210)\304\305!\211\203 \306!\202 \307\305!\207" [list-matching-lines-face nil occur "^ *\\(def\\|class\\) " get-buffer-window "*Occur*" select-window switch-to-buffer] 3 (#$ . 70584) nil])
#@54 An uninterned symbol marking an Elpy promise object.
(defvar elpy-promise-marker (make-symbol "*elpy-promise*") (#$ . 70931))
#@474 Return a new promise.

A promise is an object with a success and error callback. If the
promise is resolved using `elpy-promise-resolve', its success
callback is called with the given value. The current buffer is
restored, too.

If the promise is rejected using `elpy-promise-reject', its error
callback is called. For this function, the current buffer is not
necessarily restored, as it is also called when the buffer does
not exist anymore.

(fn SUCCESS &optional ERROR)
(defalias 'elpy-promise #[513 "\301p\302%\207" [elpy-promise-marker vector nil] 8 (#$ . 71064)])
#@63 Return non-nil if the argument is a promise object.

(fn OBJ)
(defalias 'elpy-promise-p #[257 "\301!\205 \211G\302U\205 \211\303H=\207" [elpy-promise-marker vectorp 5 0] 3 (#$ . 71643)])
#@56 Return the success callback for PROMISE.

(fn PROMISE)
(defalias 'elpy-promise-success-callback #[257 "\211\300H\207" [1] 3 (#$ . 71840)])
(put 'elpy-promise-success-callback 'byte-optimizer 'byte-compile-inline-expand)
#@54 Return the error callback for PROMISE.

(fn PROMISE)
(defalias 'elpy-promise-error-callback #[257 "\211\300H\207" [2] 3 (#$ . 72066)])
(put 'elpy-promise-error-callback 'byte-optimizer 'byte-compile-inline-expand)
#@46 Return the buffer for PROMISE.

(fn PROMISE)
(defalias 'elpy-promise-buffer #[257 "\211\300H\207" [3] 3 (#$ . 72286)])
(put 'elpy-promise-buffer 'byte-optimizer 'byte-compile-inline-expand)
#@76 Return non-nil if the PROMISE has been resolved or rejected.

(fn PROMISE)
(defalias 'elpy-promise-resolved-p #[257 "\211\300H\207" [4] 3 (#$ . 72482)])
(put 'elpy-promise-resolved-p 'byte-optimizer 'byte-compile-inline-expand)
#@53 Mark PROMISE as having been resolved.

(fn PROMISE)
(defalias 'elpy-promise-set-resolved #[257 "\211\300\301I\207" [4 t] 4 (#$ . 72716)])
(put 'elpy-promise-set-resolved 'byte-optimizer 'byte-compile-inline-expand)
#@49 Resolve PROMISE with VALUE.

(fn PROMISE VALUE)
(defalias 'elpy-promise-resolve #[514 "\211\300H\262?\205? \301\302\303\304\305!\306\"\300$\216\211\307H\262\211\205< \31016 r\211\311H\262q\210\211!)0\202< \312\"\262\262)\207" [4 make-byte-code 0 "\300\211\301\302I\207" vconcat vector [4 t] 1 (error) 3 elpy-promise-reject] 8 (#$ . 72937)])
#@56 Reject PROMISE because of REASON.

(fn PROMISE REASON)
(defalias 'elpy-promise-reject #[514 "\211\300H\262?\205X \301\302\303\304\305!\306\"\300$\216\211\307H\262\211\205U \310\211\311H\262!\203< r\211\311H\262q\210\211!)\202U \312\313!r\211q\210\301\302\314\304\305!\315\"\307$\216!*\262\262)\207" [4 make-byte-code 0 "\300\211\301\302I\207" vconcat vector [4 t] 2 buffer-live-p 3 generate-new-buffer " *temp*" "\301\300!\205	 \302\300!\207" [buffer-name kill-buffer]] 10 (#$ . 73297)])
#@367 Wait for PROMISE to be resolved, for up to TIMEOUT seconds.

This will accept process output while waiting.

This will wait for the current Elpy RPC process specifically, as
Emacs currently has a bug where it can wait for the entire time
of the timeout, even if output arrives.

See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17647

(fn PROMISE &optional TIMEOUT)
(defalias 'elpy-promise-wait #[513 "\211\205 \300\301 \302!\"\303\304 !\211\305H\262?\205- \203% \306\301 \"\205- \307\"\210\202 \207" [time-add current-time seconds-to-time get-buffer-process elpy-rpc--get-rpc-buffer 4 time-less-p accept-process-output] 7 (#$ . 73808)])
#@79 Call id of the last elpy-rpc call.

Used to associate responses to callbacks.
(defvar elpy-rpc--call-id 0 (#$ . 74461))
(make-variable-buffer-local 'elpy-rpc--call-id)
#@52 True iff the current buffer is an elpy-rpc buffer.
(defvar elpy-rpc--buffer-p nil (#$ . 74635))
(make-variable-buffer-local 'elpy-rpc--buffer-p)
#@50 The elpy-rpc buffer associated with this buffer.
(defvar elpy-rpc--buffer nil (#$ . 74786))
(make-variable-buffer-local 'elpy-rpc--buffer)
#@40 The project root used by this backend.
(defvar elpy-rpc--backend-library-root nil (#$ . 74931))
(make-variable-buffer-local 'elpy-rpc--backend-library-root)
#@46 The Python interpreter used by this backend.
(defvar elpy-rpc--backend-python-command nil (#$ . 75094))
(make-variable-buffer-local 'elpy-rpc--backend-python-command)
#@94 The callbacks registered for calls to the current backend.

This maps call IDs to functions.
(defvar elpy-rpc--backend-callbacks nil (#$ . 75267))
(make-variable-buffer-local 'elpy-rpc--backend-callbacks)
#@56 The time of the last RPC call issued for this backend.
(defvar elpy-rpc--last-call nil (#$ . 75478))
(make-variable-buffer-local 'elpy-rpc--last-call)
#@40 The last time an error popup happened.
(defvar elpy-rpc--last-error-popup nil (#$ . 75635))
#@236 Call METHOD with PARAMS in the backend.

If SUCCESS and optionally ERROR is given, return immediately and
call those when a result is available. Otherwise, wait for a
result and return that.

(fn METHOD PARAMS &optional SUCCESS ERROR)
(defalias 'elpy-rpc #[1026 "\211\204 \300\262\203 \301$\207\302\"\207" [elpy-rpc--default-error-callback elpy-rpc--call elpy-rpc--call-blocking] 9 (#$ . 75734)])
#@133 Call METHOD-NAME with PARAMS in the current RPC backend.

Returns the result, blocking until this arrived.

(fn METHOD-NAME PARAMS)
(defalias 'elpy-rpc--call-blocking #[514 "\301C\301C\301C\301C\302\303\304\305\306\307\n\"\310\"\311\312%\303\304\305\306\307\n\"\313\"\311\314%$\315\"\210\242\203= \316\242!\202L \242\203G \242\202L \317\320\"\207" [elpy-rpc-timeout nil elpy-rpc--call make-byte-code 257 "\301\240\210\300\302\240\207" vconcat vector [t] 3 "\n\n(fn RESULT)" [t] "\n\n(fn ERR)" elpy-promise-wait elpy-rpc--default-error-callback error "Timeout during RPC call %s from backend"] 17 (#$ . 76148)])
#@276 Call METHOD-NAME with PARAMS in the current RPC backend.

When a result is available, SUCCESS will be called with that
value as its sole argument. If an error occurs, ERROR will be
called with the error list.

Returns a PROMISE object.

(fn METHOD-NAME PARAMS SUCCESS ERROR)
(defalias 'elpy-rpc--call #[1028 "\302\"r\303 q\210T\304 \305\"\210\306\307p!\310\311B\312	B\313	BE!\314P\"\210)\211\207" [elpy-rpc--call-id elpy-rpc--last-call elpy-promise elpy-rpc--get-rpc-buffer float-time elpy-rpc--register-callback process-send-string get-buffer-process json-encode id method params "\n"] 12 (#$ . 76785)])
#@118 Register for PROMISE to be called when CALL-ID returns.

Must be called in an elpy-rpc buffer.

(fn CALL-ID PROMISE)
(defalias 'elpy-rpc--register-callback #[514 "\204 \302\303!\210	\204 \304\305\306\"\307	#\207" [elpy-rpc--buffer-p elpy-rpc--backend-callbacks error "Must be called in RPC buffer" make-hash-table :test equal puthash] 6 (#$ . 77407)])
#@86 Return the RPC buffer associated with the current buffer,
creating one if necessary.
(defalias 'elpy-rpc--get-rpc-buffer #[0 "\302!\204 \303\304 	\"\206 \305\304 	\"\207" [elpy-rpc--buffer elpy-rpc-python-command elpy-rpc--process-buffer-p elpy-rpc--find-buffer elpy-library-root elpy-rpc--open] 3 (#$ . 77771)])
#@185 Return non-nil when BUFFER is a live elpy-rpc process buffer.

If BUFFER is a buffer for an elpy-rpc process, but the process
died, this will kill the process and buffer.

(fn BUFFER)
(defalias 'elpy-rpc--process-buffer-p #[257 "\211\203\n \300!\204\f \301\207\302\303\"\204 \301\207\304!\203% \305\304!!\203% \306\207\30712 \310\304!!0\2026 \210\2027 \210\3111B \312!0\202F \210\202G \210\301\207" [buffer-live-p nil buffer-local-value elpy-rpc--buffer-p get-buffer-process process-live-p t (error) kill-process (error) kill-buffer] 4 (#$ . 78096)])
#@100 Return an existing RPC buffer for this project root and command.

(fn LIBRARY-ROOT PYTHON-COMMAND)
(defalias 'elpy-rpc--find-buffer #[514 "\30027 \301!\302 \211\2033 \211@\303!\203, \304\305\"\232\203, \304\306\"\232\203, \307\300\"\210A\266\202\202	 \266\3100\207" [return executable-find buffer-list elpy-rpc--process-buffer-p buffer-local-value elpy-rpc--backend-library-root elpy-rpc--backend-python-command throw nil] 8 (#$ . 78661)])
#@93 Start a new RPC process and return the associated buffer.

(fn LIBRARY-ROOT PYTHON-COMMAND)
(defalias 'elpy-rpc--open #[514 "\203 ;\204 \306\307!\210\310 \210\311!\312\313#\314!\315\204$ \306\316!\210rq\210\317p\320\3211M \315\322 !\"\323p\324\325\326\327&*0\202W \330\331@A@#\262\262\332\315\"\210\333\334\"\210\335\336\"\210\337\340#\210)\207" [elpy-rpc-backend elpy-rpc--buffer-p elpy-rpc--buffer elpy-rpc--backend-library-root elpy-rpc--backend-python-command default-directory error "`elpy-rpc-backend' should be nil or a string." elpy-rpc--cleanup-buffers executable-find format " *elpy-rpc [project:%s python:%s]*" generate-new-buffer nil "Can't find Python command, configure `elpy-rpc-python-command'" t "/" (error) elpy-rpc--environment start-process "-W" "ignore" "-m" "elpy.__main__" elpy-config-error "Elpy can't start Python (%s: %s)" set-process-query-on-exit-flag set-process-sentinel elpy-rpc--sentinel set-process-filter elpy-rpc--filter elpy-rpc-init #[257 "\301\236A\205 \211\232?\205 \302\303#\207" [elpy-rpc-backend backend elpy-config-error "Can't set backend %s, using %s instead"] 6 "\n\n(fn RESULT)"] process-environment process-connection-type] 14 (#$ . 79116)])
#@60 Close RPC buffers that have not been used in five minutes.
(defalias 'elpy-rpc--cleanup-buffers #[0 "\205P \301 Z\302 \211\205L \211@\303!\203E \304\305\"\206 W\203E \30610 \307\310!!0\2024 \210\2025 \210\3111@ \312!0\202D \210\202E \210A\266\202\202\n \262\262\207" [elpy-rpc-maximum-buffer-age float-time buffer-list elpy-rpc--process-buffer-p buffer-local-value elpy-rpc--last-call (error) kill-process get-buffer-process (error) kill-buffer] 6 (#$ . 80353)])
#@204 The sentinel for the RPC process.

As process sentinels are only ever called when the process
terminates, this will call the error handler of all registered
RPC calls with the event.

(fn PROCESS EVENT)
(defalias 'elpy-rpc--sentinel #[514 "\301!\302\303\304OD\2050 \305!\2050 rq\210\205/ \306\307\310\311\312\313!\314\"\315\316%\"\210\317\211)\207" [elpy-rpc--backend-callbacks process-buffer process-sentinel 0 -1 buffer-live-p maphash make-byte-code 514 "\3011\n \302\300\"0\207\210\303\207" vconcat vector [(error) elpy-promise-reject nil] 5 "\n\n(fn CALL-ID PROMISE)" nil] 11 (#$ . 80835)])
#@54 The filter for the RPC process.

(fn PROCESS OUTPUT)
(defalias 'elpy-rpc--filter #[514 "\301!\211\205\246 \302!\205\246 r\211q\210db\210c\210eb\210\303\304\305\306#\205\245 `\305\211eb\210\3071I \310\311 )\262<\203C `T\262\306\211\262\202E eb0\202M eb\262\210\211\203] e|\210\312!\210\202\240 \313\314!\203n \315\316!\210\317\320!\210\202\240 \313\321!\203\203 \322\323!\315\316!\210\317!\266\202\240 \313\324!\203\224 \315\316!\210\325\326!\210\202\240 e{e|\210\327!\266\266\202 )\207" [json-array-type process-buffer buffer-live-p search-forward "\n" nil t (error) list json-read elpy-rpc--handle-json looking-at "elpy-rpc ready\n" replace-match "" elpy-rpc--check-backend-version "1.1" "elpy-rpc ready (\\([^ ]*\\))\n" match-string 1 ".*No module named elpy\n" elpy-config-error "Elpy module not found" elpy-rpc--handle-unexpected-line] 9 (#$ . 81447)])
#@62 Check that we are using the right version.

(fn RPC-VERSION)
(defalias 'elpy-rpc--check-backend-version #[257 "\211\232?\205V 	\306\211\223\210\307\nB\310B\311 \312\313!\211\306\211rq\210\314\315!\210\316\317\320\321#\210\322\323\322\324\322\261)\262rq\210\325\306\"\262)\326\327!\203Q \327\"\202R \211)\266\203*\207" [elpy-version help-window-point-marker temp-buffer-window-setup-hook temp-buffer-window-show-hook help-window-old-frame standard-output nil help-mode-setup help-mode-finish selected-frame temp-buffer-window-setup "*Elpy Version Mismatch*" elpy-insert--header "Elpy Version Mismatch" elpy-insert--para "You are not using the same version of Elpy in Emacs Lisp " "compared to Python. This can cause random problems. Please " "do make sure to use compatible versions.\n" "\n" "Elpy Emacs Lisp version: " "Elpy Python version....: " temp-buffer-window-show functionp help-window-setup] 11 (#$ . 82329)])
#@96 Handle an unexpected line from the backend.

This is usually an error or backtrace.

(fn LINE)
(defalias 'elpy-rpc--handle-unexpected-line #[257 "\306\307!\211\204Q \310\211\223\210\311	B\312\nB\313 \314\307!\211\310\211r\fq\210\315\316!\210\317\320\321\322#\210\315\323!\210p\211\262)\262rq\210\324\310\"\262)\325\326!\203M \326\"\210)\266*r\211q\210db\210\327c*\207" [help-window-point-marker temp-buffer-window-setup-hook temp-buffer-window-show-hook help-window-old-frame standard-output inhibit-read-only get-buffer "*Elpy Output*" nil help-mode-setup help-mode-finish selected-frame temp-buffer-window-setup elpy-insert--header "Output from Backend" elpy-insert--para "There was some unexpected output from the Elpy backend. " "This is usually some module that does not use correct logging, " "but might indicate a configuration problem.\n\n" "Output" temp-buffer-window-show functionp help-window-setup t] 9 (#$ . 83270)])
#@62 Handle a single JSON object from the RPC backend.

(fn JSON)
(defalias 'elpy-rpc--handle-json #[257 "\301\236A\302\236A\303\236A\304\"\211\204 \302\305\"\210\306\"\210\203) \307\"\202- \310\"\262\207" [elpy-rpc--backend-callbacks id error result gethash "Received a response for unknown call-id %s" remhash elpy-promise-reject elpy-promise-resolve] 8 (#$ . 84221)])
#@59 Display an error from the RPC backend.

(fn ERROR-OBJECT)
(defalias 'elpy-rpc--default-error-callback #[257 "\211:\203 \211@:\204 \306@A\"\207\307\236A\310\236A\311\236A\247\204* \312\313\"\202\314\314W\2037 \307\315\"\202\314\316W\203D \312\317\"\202\314\203\\ 	\203\\ \320 	\\X\203\\ \307\321\"\202\314\n?\205\314\322 \323\211\223\210\324\fB\325B\326 @\327\330!\211A\323\211rAq\210\331\332!\210\333\334\335\336#\210\337\211\261\210\340\341\342\343\344\341%\210\337\211\345\261\210\331\346!\210\347\261\210\331\350!\210\351!\210\352\236A\211\203\302 \337c\210\331\353!\210\211c\210\210\354\236A\211\203 \337c\210\331\355!\210\356\236A\211\204\340 \357c\210\202\366 \211\211\211\203\364 \211@\211\337\261\210A\266\202\202\342 \266\210\337\345\337\360\337\261\210\361\236A\362\236A\363\236A\364c\210\365\337\366\367\337\370\371\372\f\373\261\f\266\210\374\236A\211\203\221\337c\210\331\375!\210\345\337\360\337\261\210\376\236A\377\236A\362\236A\201B \236A\201C \236A\364c\210\337\201D \367\337\261\210\201E \201F \201G \"\201H \371\261\210\201I \201J \201F \201G \"\201K \371\261\210\201F \201L #c\266\210i\201M U\204\235\337c\210\201N c)\262rq\210\201O \323\"\262)\201P \201Q !\203\302\201Q \"\210)\266*\320 \211\262\207" [elpy-rpc-error-timeout elpy-rpc--last-error-popup elpy-disable-backend-error-display help-window-point-marker temp-buffer-window-setup-hook temp-buffer-window-show-hook signal message code data error "Bad response from RPC: %S" 300 "Elpy warning: %s" 500 "Elpy error: %s" float-time "Elpy error popup ignored, see `elpy-rpc-error-timeout': %s" elpy-config--get-config nil help-mode-setup help-mode-finish selected-frame temp-buffer-window-setup "*Elpy Error*" elpy-insert--header "Elpy Error" elpy-insert--para "The backend encountered an unexpected error. This indicates " "a bug in Elpy. Please open a bug report with the data below " "in the Elpy bug tracker:" "\n" insert-button "https://github.com/jorgenschaefer/elpy/issues/new" action #[257 "\300\301\302\"!\207" [browse-url button-get url] 5 "\n\n(fn BUTTON)"] url "```\n" "Error Message" "\n\n" "Configuration" elpy-config--insert-configuration-table traceback "Traceback" jedi_debug_info "Jedi Debug Information" debug_info "Jedi did not emit any debug info.\n" "Reproduction:\n" method source script_args "```Python\n" "import jedi\n" "source = '''\\\n" "'''\n" "script = jedi.Script(" ")\n" "script." "()\n" rope_debug_info "Rope Debug Information" project_root filename help-window-old-frame standard-output function_name function_args "source = '''\n" "project = rope.base.project.Project(\n" format "    %S,\n" "    ropefolder=None\n" "resource = rope.base.libutils.path_to_resource(\n" "    project,\n" "    'file'\n" "%s(\n    %s\n)\n" 0 "```" temp-buffer-window-show functionp help-window-setup] 24 (#$ . 84608)])
#@117 Return a `process-environment' for the RPC process.

This includes `elpy-rpc-pythonpath' in the PYTHONPATH, if set.
(defalias 'elpy-rpc--environment #[0 "\203 \303\304\305\"!\204 	\207\306\307!\211\203 \nQ\202 \310P	B\207" [elpy-rpc-pythonpath process-environment path-separator file-exists-p expand-file-name "elpy/__init__.py" getenv "PYTHONPATH" "PYTHONPATH="] 4 (#$ . 87502)])
#@172 Return the contents of the current buffer.

This returns either a string, or a file object for the RPC
protocol if the buffer is larger than
`elpy-rpc-large-buffer-size'.
(defalias 'elpy-rpc--buffer-contents #[0 "\302 W\203\n \303 \207\304\305!\306\307\310\211\310\311%\210\312)B\313B\207" [elpy-rpc-large-buffer-size coding-system-for-write buffer-size buffer-string make-temp-file "elpy-rpc-" utf-8 write-region nil :nomessage filename ((delete_after_use . t))] 7 (#$ . 87900)])
#@41 Return the selected region as a string.
(defalias 'elpy-rpc--region-contents #[0 "\300 \205\n \301 \302 {\207" [use-region-p region-beginning region-end] 2 (#$ . 88391)])
#@43 Disconnect rpc process from elpy buffers.
(defalias 'elpy-rpc--disconnect #[0 "\302 \211\205 \211@r\211q\210\303>\203 \304)A\266\202\202 \207" [minor-mode-list elpy-rpc--buffer buffer-list elpy-mode nil] 4 (#$ . 88568)])
#@28 Restart all RPC processes.
(defalias 'elpy-rpc-restart #[0 "\300 \211\2057 \211@\301!\2030 \3021 \303\304!!0\202 \210\202  \210\3051+ \306!0\202/ \210\2020 \210A\266\202\202 \207" [buffer-list elpy-rpc--process-buffer-p (error) kill-process get-buffer-process (error) kill-buffer] 5 (#$ . 88801) nil])
#@171 Initialize the backend.

This has to be called as the first method, else Elpy won't be
able to respond to other calls.

(fn BACKEND LIBRARY-ROOT &optional SUCCESS ERROR)
(defalias 'elpy-rpc-init #[1026 "\300\301\302\303B\304\305!BD!$\207" [elpy-rpc "init" vector backend project_root expand-file-name] 11 (#$ . 89117)])
#@124 Call the get_calltip API function.

Returns a calltip string for the function call at point.

(fn &optional SUCCESS ERROR)
(defalias 'elpy-rpc-get-calltip #[512 "\302 W\205 \303\304	\305 `eZE$\207" [elpy-rpc-ignored-buffer-size buffer-file-name buffer-size elpy-rpc "get_calltip" elpy-rpc--buffer-contents] 8 (#$ . 89450)])
#@142 Call the get_completions API function.

Returns a list of possible completions for the Python symbol at
point.

(fn &optional SUCCESS ERROR)
(defalias 'elpy-rpc-get-completions #[512 "\302 W\205 \303\304	\305 `eZE$\207" [elpy-rpc-ignored-buffer-size buffer-file-name buffer-size elpy-rpc "get_completions" elpy-rpc--buffer-contents] 8 (#$ . 89785)])
#@119 Call the get_completion_docstring API function.

Returns a doc string or nil

(fn COMPLETION &optional SUCCESS ERROR)
(defalias 'elpy-rpc-get-completion-docstring #[769 "\300\301C$\207" [elpy-rpc "get_completion_docstring"] 8 (#$ . 90146)])
#@142 Call the get_completion_location API function.

Returns a list of file name and line number, or nil

(fn COMPLETION &optional SUCCESS ERROR)
(defalias 'elpy-rpc-get-completion-location #[769 "\300\301C$\207" [elpy-rpc "get_completion_location"] 8 (#$ . 90397)])
#@115 Call the find_definition API function.

Returns nil or a list of (filename, point).

(fn &optional SUCCESS ERROR)
(defalias 'elpy-rpc-get-definition #[512 "\301\302\303 `eZE$\207" [buffer-file-name elpy-rpc "get_definition" elpy-rpc--buffer-contents] 8 (#$ . 90669)])
#@115 Call the find_assignment API function.

Returns nil or a list of (filename, point).

(fn &optional SUCCESS ERROR)
(defalias 'elpy-rpc-get-assignment #[512 "\301\302\303 `eZE$\207" [buffer-file-name elpy-rpc "get_assignment" elpy-rpc--buffer-contents] 8 (#$ . 90947)])
#@134 Call the get_docstring API function.

Returns a possible multi-line docstring for the symbol at point.

(fn &optional SUCCESS ERROR)
(defalias 'elpy-rpc-get-docstring #[512 "\301\302\303 `eZE$\207" [buffer-file-name elpy-rpc "get_docstring" elpy-rpc--buffer-contents] 8 (#$ . 91225)])
#@104 Return a list of modules available in pydoc starting with PREFIX.

(fn PREFIX &optional SUCCESS ERROR)
(defalias 'elpy-rpc-get-pydoc-completions #[769 "\300\301C$\207" [elpy-rpc "get_pydoc_completions"] 8 (#$ . 91520)])
#@120 Get the Pydoc documentation for SYMBOL.

Returns a possible multi-line docstring.

(fn SYMBOL &optional SUCCESS ERROR)
(defalias 'elpy-rpc-get-pydoc-documentation #[769 "\300\301C$\207" [elpy-rpc "get_pydoc_documentation"] 8 (#$ . 91750)])
#@78 Return the symbol under point usages as a list

(fn &optional SUCCESS ERROR)
(defalias 'elpy-rpc-get-usages #[512 "\301\302\303 `eZE$\207" [buffer-file-name elpy-rpc "get_usages" elpy-rpc--buffer-contents] 8 (#$ . 91999)])
#@97 Return all names (possible candidates for jumping to definition).

(fn &optional SUCCESS ERROR)
(defalias 'elpy-rpc-get-names #[512 "\301\302\303 `eZE$\207" [buffer-file-name elpy-rpc "get_names" elpy-rpc--buffer-contents] 8 (#$ . 92231)])
#@43 Return the name of the elpy xref backend.
(defalias 'elpy--xref-backend #[0 "\301\230\205 \302\207" [elpy-rpc-backend "jedi" elpy] 2 (#$ . 92480)])
#@51 String used to format references in xref buffers.
(defvar elpy-xref--format-references (byte-code "\300\301\302\303\304\305%\210\211\207" ["%s:	%s" put-text-property 0 4 face font-lock-comment-face] 7) (#$ . 92636))
(byte-code "\300\301!\203\375 \302\303\304\"\210\305\306\307\303#\210\302\306\310\"\210\311\306\312\313#\210\305\314\315\306#\210\302\316\317\"\210\305\320\307\316#\210\302\320\321\"\210\311\320\312\322#\210\302\323\324\"\210\305\325\307\323#\210\302\325\326\"\210\311\325\312\322#\210\302\327\330\"\210\302\331\332\"\210\305\333\307\331#\210\302\333\334\"\210\311\333\312\322#\210\302\335\336\"\210\305\337\307\335#\210\302\337\340\"\210\311\337\312\322#\210\341\314\342\343\344\211\345\346\347\322&	\210\302\337\350\"\210\351\352\344\353\344\354%\210\351\355\344\356\344\357%\210\351\360\344\361\344\362%\210\302\363\364\"\210\302\365\366\"\210\351\367\344\370\344\371%\210\302\372\373\"\210\351\374\344\375\344\376%\210\302\377\201@ \"\210\351\201A \344\201B \344\201C %\210\302\201D \201E \"\210\351\201F \344\201G \344\201H %\210\302\201I \201J \"\210\344\207" [featurep xref defalias xref-elpy-location-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block xref-elpy-location-p (declare (side-effect-free error-free)) (and (vectorp cl-x) (>= (length cl-x) 3) #1=(memq (aref cl-x 0) cl-struct-xref-elpy-location-tags) t)) nil] 9 "\n\n(fn CL-WHOLE-ARG CL-X)"] put xref-elpy-location-p compiler-macro #[257 "\301!\205 \211G\302Y\205 \211\303H>\205 \304\207" [cl-struct-xref-elpy-location-tags vectorp 3 0 t] 3 "\n\n(fn CL-X)"] function-put side-effect-free error-free xref-elpy-location cl-deftype-satisfies xref-elpy-location-file--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block xref-elpy-location-file #2=(declare (side-effect-free t)) (or #3=(and #1#) (signal #4='wrong-type-argument (list 'xref-elpy-location . #5=(cl-x)))) (aref cl-x 1)) nil] 9 "\n\n(fn CL-WHOLE-ARG CL-X)"] xref-elpy-location-file #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-xref-elpy-location-tags 0 signal wrong-type-argument xref-elpy-location 1] 5 "\n\n(fn CL-X)"] t xref-elpy-location-pos--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block xref-elpy-location-pos #2# (or #3# (signal #4# (list 'xref-elpy-location . #5#))) (aref cl-x 2)) nil] 9 "\n\n(fn CL-WHOLE-ARG CL-X)"] xref-elpy-location-pos #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-xref-elpy-location-tags 0 signal wrong-type-argument xref-elpy-location 2] 5 "\n\n(fn CL-X)"] copy-xref-elpy-location copy-sequence make-xref-elpy-location--cmacro #[385 "\300\301\"A@\300\302\"A@\211\2037 \211@\303>\203  \211AA\262\202 \304>A@\203. \305\262\202 \306\307@\"\210\202 \210\310\311\312\305\305&\207" [plist-member :file :pos (:file :pos . #6=(:allow-other-keys)) :allow-other-keys nil error "Keyword argument %s not one of (:file :pos)" cl--defsubst-expand (file pos) (cl-block make-xref-elpy-location "Constructor for objects of type `xref-elpy-location'." #7=(declare (side-effect-free t)) (vector #8='cl-struct-xref-elpy-location file pos))] 12 "\n\n(fn CL-WHOLE &cl-quote &key FILE POS)"] make-xref-elpy-location #[128 "\300\301\"A@\300\302\"A@\211\2037 \211@\303>\203  \211AA\262\202 \304>A@\203. \305\262\202 \306\307@\"\210\202 \210\310\311#\207" [plist-member :file :pos (:file :pos . #6#) :allow-other-keys nil error "Keyword argument %s not one of (:file :pos)" vector cl-struct-xref-elpy-location] 7 "Constructor for objects of type `xref-elpy-location'.\n\n(fn &key FILE POS)"] xref-make-elpy-location--cmacro #[771 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (file pos) (cl-block xref-make-elpy-location "Constructor for objects of type `xref-elpy-location'." #7# (vector #8# file pos)) nil] 11 "\n\n(fn CL-WHOLE-ARG FILE POS)"] xref-make-elpy-location #[514 "\300\301#\207" [vector cl-struct-xref-elpy-location] 6 "Constructor for objects of type `xref-elpy-location'.\n\n(fn FILE POS)"] cl-struct-define "Location of a python symbol definition." cl-structure-object nil ((cl-tag-slot) (file) (pos)) cl-struct-xref-elpy-location-tags cl-struct-xref-elpy-location #[514 "\300\301\302\303!\304%\207" [make-instance xref-etags-location :file expand-file-name :pos] 8 "Return an elpy location structure.\nPoints to file FILE, at position POS.\n\n(fn FILE POS)"] cl-generic-define-method xref-location-marker ((l xref-elpy-location)) #[257 "r\301\302H>\204 \303\304\305D\"\210\306H!q\210\212\211\302H>\204' \303\304\305D\"\210\211\307Hb\210\310 *\207" [cl-struct-xref-elpy-location-tags find-file-noselect 0 signal wrong-type-argument xref-elpy-location 1 2 point-marker] 6 "\n\n(fn L)"] xref-location-group ((l xref-elpy-location)) #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-xref-elpy-location-tags 0 signal wrong-type-argument xref-elpy-location 1] 5 "\n\n(fn L)"] xref-backend-identifier-at-point ((_backend (eql elpy))) #[257 "\300 \207" [elpy-xref--identifier-at-point] 2 "\n\n(fn BACKEND)"] elpy-xref--identifier-at-point #[0 "\300 \207" [symbol-at-point] 1 "Return identifier at point."] elpy-xref--goto-identifier #[257 "\301eb\210\302\303\304\"\301\305#\204 \306\307!\202 \310\224b)\207" [case-fold-search nil search-forward-regexp format "\\_<%s\\_>" t error "Symbol not found on current buffer" 0] 5 "Goto the identifier ID in the current buffer.\nThis is needed to get information on the identifier with jedi\n(that work only on the symbol at point)\n\n(fn ID)"] xref-backend-definitions ((_backend (eql elpy)) symbol) #[514 "\300!\207" [elpy-xref--definitions] 4 "\n\n(fn BACKEND SYMBOL)"] elpy-xref--definitions #[257 "\212\301!\210\302 \211\204 \303\304!\202F \305@!A@Tr\306!q\210\211Tb\210\307 \310 {)r\306!q\210\311!)\312#\313\314#\315\"C\266\206\262)\207" [elpy-xref--format-references elpy-xref--goto-identifier elpy-rpc-get-definition error "No definition found" expand-file-name find-file-noselect line-beginning-position line-end-position line-number-at-pos format vector cl-struct-xref-elpy-location xref-make] 11 "Return SYMBOL definition position as a xref object.\n\n(fn SYMBOL)"] xref-backend-references ((_backend (eql elpy)) symbol) #[514 "\300!\207" [elpy-xref--references] 4 "\n\n(fn BACKEND SYMBOL)"] elpy-xref--references #[257 "\212\301!\210\302 \211\303\211\211\211\211\211\211\211:\203m @\262\304\305	\"\262\304\306	\"T\262r\307!q\210\212Tb\210\310 \311 {*\262r\307!q\210\312!)\262\313#\262\314\315#\262\316\"B\262A\262	\202 \211\237\266\211\262)\207" [elpy-xref--format-references elpy-xref--goto-identifier elpy-rpc-get-usages nil alist-get filename offset find-file-noselect line-beginning-position line-end-position line-number-at-pos format vector cl-struct-xref-elpy-location xref-make] 15 "Return SYMBOL references as a list of xref objects.\n\n(fn SYMBOL)"] xref-backend-identifier-completion-table ((_backend (eql elpy))) #[257 "\300 \207" [elpy-xref--get-completion-table] 2 "\n\n(fn BACKEND)"] elpy-xref--get-completion-table #[0 "\300 \301\203\f B\262\302 \301\211:\2031 @\262\303\304\"\262\211\235\204* \211B\262A\262\202 \266\207" [elpy-xref--identifier-at-point nil elpy-rpc-get-names alist-get name] 8 "Return the completion table for identifiers."] xref-backend-apropos ((_backend (eql elpy)) regex) #[514 "\300!\207" [elpy-xref--apropos] 4 "\n\n(fn BACKEND REGEX)"] elpy-xref--apropos #[257 "\302 \303\211\303\211\211\211\211:\203` @\262\304\305\"\262\304\306\"\262\304\307\"T\262\310\"\203Y r\311!q\210b\210\212\312 \313 \314 {\315	#\316\317#\320\"\266\204*B\262A\262\202\n \211\237\266\206)\207" [case-fold-search elpy-xref--format-references elpy-rpc-get-names nil alist-get name filename offset string-match find-file-noselect line-number-at-pos line-beginning-position line-end-position format vector cl-struct-xref-elpy-location xref-make] 15 "Return identifiers matching REGEX.\n\n(fn REGEX)"]] 10)
#@62 Boolean, set to true if modules were run with `global-init'.
(defvar elpy-modules-initialized-p nil (#$ . 100718))
#@83 Run COMMAND with ARGS for all modules in `elpy-modules'.

(fn COMMAND &rest ARGS)
(defalias 'elpy-modules-run #[385 "\211\205 \211@\301#\210A\266\202\202 \207" [elpy-modules apply] 8 (#$ . 100839)])
#@80 Run the global-init method of Elpy modules.

Make sure this only happens once.
(defalias 'elpy-modules-global-init #[0 "?\205\f \301\302!\210\303\211\207" [elpy-modules-initialized-p elpy-modules-run global-init t] 2 (#$ . 101051)])
#@101 Run the global-stop method of Elpy modules.

Make sure this only happens once per global-init call.
(defalias 'elpy-modules-global-stop #[0 "\205 \301\302!\210\303\211\207" [elpy-modules-initialized-p elpy-modules-run global-stop nil] 2 (#$ . 101293)])
#@85 Run the buffer-init method of Elpy modules.

Make sure global-init is called first.
(defalias 'elpy-modules-buffer-init #[0 "\300 \210\301\302!\207" [elpy-modules-global-init elpy-modules-run buffer-init] 2 (#$ . 101555)])
#@45 Run the buffer-stop method of Elpy modules.
(defalias 'elpy-modules-buffer-stop #[0 "\300\301!\207" [elpy-modules-run buffer-stop] 2 (#$ . 101784)])
#@223 Remove the lighter for MODE-NAME.

It should not be necessary to see (Python Elpy yas company ElDoc) all the
time.

If you need your modeline, you can set the variable `elpy-remove-modeline-lighter' to nil

(fn MODE-NAME)
(defalias 'elpy-modules-remove-modeline-lighter #[257 "\205 \211\303=\203 \304\211\207\211\n\236\211\205 \211\305C\241\262\207" [elpy-remove-modeline-lighter eldoc-minor-mode-string minor-mode-alist eldoc-minor-mode nil ""] 4 (#$ . 101940) nil])
(defalias 'elpy-module-sane-defaults #[385 "\302=\203 \303\300!\210\304\303\301!\210\305\211\207\306=\203\" \307\300!\210\307\301!\207\304\207" [forward-sexp-function comment-inline-offset buffer-init make-local-variable nil 2 buffer-stop kill-local-variable] 4 "\n\n(fn COMMAND &rest ARGS)"])
#@70 Module to support company-mode completions.

(fn COMMAND &rest ARGS)
(defalias 'elpy-module-company #[385 "\306=\203 \307\310!\210\311\312!\210\313\314\315#\207\316=\203R \317\301!\210\320\317\302!\210\321\317\303!\210\321\317\304!\210\322\323\324\323\325\323\326\327\330\f\"\"\"\"B\312\331!\210\332 V\205i \333\334\335 #\207\336=\203h \312\337!\210\340\301!\210\340\302!\210\340\304!\207\341\207" [company-active-map company-idle-delay company-tooltip-align-annotations company-dabbrev-code-everywhere company-backends elpy-rpc-ignored-buffer-size global-init require company elpy-modules-remove-modeline-lighter company-mode define-key "" company-show-doc-buffer buffer-init make-local-variable 0.01 t elpy-company-backend delq company-semantic company-ropemacs company-capf mapcar identity 1 buffer-size message "Buffer %s larger than elpy-rpc-ignored-buffer-size (%d). Elpy will turn off completion." buffer-name buffer-stop -1 kill-local-variable nil] 12 (#$ . 102719)])
#@47 Buffer-local cache for candidate information.
(defvar elpy-company--cache nil (#$ . 103713))
(make-variable-buffer-local 'elpy-company--cache)
#@33 Clear and initialize the cache.
(defalias 'elpy-company--cache-clear #[0 "\203 \301!\207\302\303\304\"\211\207" [elpy-company--cache clrhash make-hash-table :test equal] 3 (#$ . 103862)])
#@51 Return the cached annotation for NAME.

(fn NAME)
(defalias 'elpy-company--cache-annotation #[257 "\205 \301\302\"\236A\207" [elpy-company--cache annotation gethash] 5 (#$ . 104060)])
#@51 Return the cached annotation for NAME.

(fn NAME)
(defalias 'elpy-company--cache-meta #[257 "\205 \301\302\"\236A\207" [elpy-company--cache meta gethash] 5 (#$ . 104254)])
#@158 Return the cached name for NAME.

Confused yet? We pass "our" name, that is, prefix + suffix,
here, and return the "name" as used by the backend.

(fn NAME)
(defalias 'elpy-company--cache-name #[257 "\205 \301\302\"\236A\207" [elpy-company--cache name gethash] 5 (#$ . 104437)])
#@80 Store RESULT in the candidate cache and return candidates.

(fn PREFIX RESULT)
(defalias 'elpy-company--cache-completions #[514 "\300 \210\301\302\303\304\305\306!\307\"\310\311%\"\207" [elpy-company--cache-clear mapcar make-byte-code 257 "\302\236A\303\304 \300\"P\305	#\210\207" vconcat vector [elpy-company--cache name s-chop-suffix company-grab-symbol puthash] 7 "\n\n(fn COMPLETION)"] 9 (#$ . 104726)])
#@54 Check whether NAME is a Python exception.

(fn NAME)
(defalias 'elpy-company--python-exception-p #[257 "\211\300\235\207" [("ArithmeticError" "AssertionError" "AttributeError" "BlockingIOError" "BrokenPipeError" "BufferError" "BytesWarning" "ChildProcessError" "ConnectionAbortedError" "ConnectionError" "ConnectionRefusedError" "ConnectionResetError" "DeprecationWarning" "EOFError" "EnvironmentError" "Exception" "FileExistsError" "FileNotFoundError" "FloatingPointError" "FutureWarning" "IOError" "ImportError" "ImportWarning" "IndentationError" "IndexError" "InterruptedError" "IsADirectoryError" "KeyError" "LookupError" "MemoryError" "NameError" "NotADirectoryError" "NotImplementedError" "OSError" "OverflowError" "PendingDeprecationWarning" "PermissionError" "ProcessLookupError" "RecursionError" "ReferenceError" "ResourceWarning" "RuntimeError" "RuntimeWarning" "StandardError" "StopAsyncIteration" "StopIteration" "SyntaxError" "SyntaxWarning" "SystemError" "TabError" "TimeoutError" "TypeError" "UnboundLocalError" "UnicodeDecodeError" "UnicodeEncodeError" "UnicodeError" "UnicodeTranslateError" "UnicodeWarning" "UserWarning" "ValueError" "Warning" "ZeroDivisionError")] 3 (#$ . 105147)])
#@354 Complete functions, classes, and callable instances with parentheses.

Add parentheses in case ANNOTATION is "class", "function", or "instance",
unless the completion is already looking at a left parenthesis,
or unless NAME is a Python exception outside a reasonably formed raise statement,
or unless NAME is no callable instance.

(fn ANNOTATION NAME)
(defalias 'elpy-company-post-complete-parens #[514 "\301\302\303!)\262?\205T \304\230\203 \305c\210\306u\207\307\230\203< \310!\2036 \212\311v\210\303\312!)\205T \305c\210\306u\207\305c\210\306u\207\313\230\205T \305c\210\306u\210\314 ?\205T \306u\210\315\316!\207" [inhibit-changing-match-data "(" t looking-at "function" "()" -1 "class" elpy-company--python-exception-p -2 "\\_<raise\\_>" "instance" elpy-rpc-get-calltip delete-char 2] 5 (#$ . 106356)])
#@76 A company-mode backend for Elpy.

(fn COMMAND &optional ARG &rest IGNORED)
(defalias 'elpy-company-backend #[641 "\302=\203\n \303\304!\207\305=\203 \205 \306 ?\205\266 \307\310\311\"\207\312=\2035 \313\314\315\316\317\320!\321\"\322\323%B\207\324=\203= \325\207\326=\203E \327\207\330=\203a \331!\211\203_ \332\333\"\203_ \334\311\"\262\211\207\335=\203k \336!\207\337=\203\203 \340!\211\205{ \341!\211\205\202 \342!\207\343=\203\213 \344\207\345=\203\246 \340!\211\205\233 \346!\211\205\245 \211@A@B\207\347=\203\265 	\336!\340!\"\207\327\207" [elpy-mode elpy-company-post-completion-function interactive company-begin-backend elpy-company-backend prefix company-in-string-or-comment company-grab-symbol-cons "\\." 1 candidates :async make-byte-code 257 "\301\302\303\304\305\306\300\"\307\"\310\311%!\207" vconcat vector [elpy-rpc-get-completions make-byte-code 257 "\303 \210\301\203 \304\300\"\202  \300G\nV\203 \305\306\307\300\"!\202  \310!\207" vconcat vector [company-minimum-prefix-length elpy-company--cache-clear elpy-company--cache-completions elpy--sort-and-strip-duplicates company-dabbrev-code candidates nil] 6 "\n\n(fn RESULT)"] 9 "\n\n(fn CALLBACK)" sorted t duplicates nil meta elpy-company--cache-meta string-match "\\`\\(.*\n.*\\)\n.*" match-string annotation elpy-company--cache-annotation doc-buffer elpy-company--cache-name elpy-rpc-get-completion-docstring company-doc-buffer require-match never location elpy-rpc-get-completion-location post-completion] 10 (#$ . 107179) (byte-code "\300C\207" [interactive] 1)])
#@47 Sort SEQ and remove any duplicates.

(fn SEQ)
(defalias 'elpy--sort-and-strip-duplicates #[257 "\300\301!\302\"\207" [sort delete-dups #[514 "\231\207" [] 4 "\n\n(fn A B)"]] 4 (#$ . 108760)])
#@68 Module to support ElDoc for Python files.

(fn COMMAND &rest ARGS)
(defalias 'elpy-module-eldoc #[385 "\302=\203 \303\304!\210\305\211\207\306=\203 \307\301!\210\310\311\312!\207\313=\203, \311\314!\210\315\301!\207\305\207" [eldoc-minor-mode-string eldoc-documentation-function global-init require eldoc nil buffer-init make-local-variable elpy-eldoc-documentation eldoc-mode 1 buffer-stop -1 kill-local-variable] 4 (#$ . 108961)])
#@341 Return some interesting information for the code at point.

This will return flymake errors for the line at point if there
are any. If not, this will do an asynchronous call to the RPC
backend to get a call tip, and display that using
`eldoc-message'. If the backend has no call tip, this will
display the current class and method instead.
(defalias 'elpy-eldoc-documentation #[0 "\301 \211\203\n \211\202 \302\303!\210\207" [eldoc-last-message elpy-flymake-error-at-point elpy-rpc-get-calltip #[257 "\301\204 \205J \302 \211\205 \303\304\"\262\202J ;\203! \202J \305\236A\306\236A\307\236A\203? \233\211\3108\311\312#\240\266\303\313\314\315\316##\266\203!\207" [elpy-eldoc-show-current-function eldoc-message python-info-current-defun format "In: %s()" name index params propertize face eldoc-highlight-function-argument "%s(%s)" mapconcat identity ", "] 12 "\n\n(fn CALLTIP)"]] 3 (#$ . 109408)])
#@61 Enable Flymake support for Python.

(fn COMMAND &rest ARGS)
(defalias 'elpy-module-flymake #[385 "\306=\203 \307\310!\210\311\312!\210\313\314\315\"\207\316=\203K \317\302!\210\320\317\303!\210\321\322\304!\2036 \317\304!\210\323\202< \317\305!\210\323\324 \205J \325	!\205l \312\326!\207\327=\203k \312\330!\210\331\302!\210\331\303!\210\322\304!\203g \331\304!\207\331\305!\207\321\207" [elpy-syntax-check-command python-check-command flymake-no-changes-timeout flymake-start-syntax-check-on-newline flymake-warning-predicate flymake-warning-re global-init require flymake elpy-modules-remove-modeline-lighter flymake-mode add-to-list flymake-allowed-file-name-masks ("\\.py\\'" elpy-flymake-python-init) buffer-init make-local-variable 60 nil boundp "^W[0-9]" buffer-file-name executable-find 1 buffer-stop -1 kill-local-variable] 5 (#$ . 110334)])
(defalias 'elpy-flymake-python-init #[0 "\302!?\205 \303\304!	C\305E\262\207" [buffer-file-name python-check-command file-remote-p flymake-init-create-temp-buffer-copy flymake-create-temp-inplace "/"] 4])
#@64 Move forward to the next Flymake error and show a
description.
(defalias 'elpy-flymake-next-error #[0 "\300 \210\301 \207" [flymake-goto-next-error elpy-flymake-show-error] 1 (#$ . 111411) nil])
#@69 Move backward to the previous Flymake error and show a
description.
(defalias 'elpy-flymake-previous-error #[0 "\300 \210\301 \207" [flymake-goto-prev-error elpy-flymake-show-error] 1 (#$ . 111612) nil])
#@42 Show the flymake error message at point.
(defalias 'elpy-flymake-show-error #[0 "\300 \211\205\n \301\302\"\207" [elpy-flymake-error-at-point message "%s"] 4 (#$ . 111822) nil])
#@61 Return the flymake error at point, or nil if there is none.
(defalias 'elpy-flymake-error-at-point #[0 "\301\300!\205 \302 \303\"@\211\205 \304\305\306#\266\202\207" [flymake-err-info boundp line-number-at-pos flymake-find-err-info mapconcat flymake-ler-text ", "] 6 (#$ . 112007)])
#@75 Module to highlight indentation in Python files.

(fn COMMAND &rest ARGS)
(defalias 'elpy-module-highlight-indentation #[385 "\300=\203\n \301\302!\207\303=\203 \304\305!\207\306=\203 \304\307!\207\310\207" [global-init require highlight-indentation buffer-init highlight-indentation-mode 1 buffer-stop -1 nil] 4 (#$ . 112301)])
#@85 Module to display the current virtualenv in the mode line.

(fn COMMAND &rest ARGS)
(defalias 'elpy-module-pyvenv #[385 "\300=\203\n \301\302!\207\303=\203 \301\304!\207\305\207" [global-init pyvenv-mode 1 global-stop -1 nil] 4 (#$ . 112641)])
#@63 Module to enable YASnippet snippets.

(fn COMMAND &rest ARGS)
(defalias 'elpy-module-yasnippet #[385 "\301=\203% \302\303!\210\304\305!\210<\204 C\306\300\307\310\311!!\312P\313#\210\314 \207\315=\2038 \316\307\310\311!!\312P\"\211\207\317=\203B \305\320!\207\321=\203L \305\322!\207\323\207" [yas-snippet-dirs global-init require yasnippet elpy-modules-remove-modeline-lighter yas-minor-mode add-to-list file-name-directory locate-library "elpy" "snippets/" t yas-reload-all global-stop delete buffer-init 1 buffer-stop -1 nil] 7 (#$ . 112894)])
#@60 Module to provide Django support.

(fn COMMAND &rest ARGS)
(defalias 'elpy-module-django #[385 "\300=\203	 \301 \207\302=\203 \303\304!\207\305\207" [buffer-init elpy-django-setup buffer-stop elpy-django -1 nil] 4 (#$ . 113457)])
(byte-code "\303\304!\204 \305\304\306\"\210\303\307!\204 \305\307\310\"\210\303\311!\204! \305\311\312\"\210\303\313!\204, \305\313\314\"\210\303\315!\2047 \305\315\316\"\210\303\317!\204B \305\317\320\"\210\303\321!\204M \305\321\322\"\210\303\323!\204X \305\323\324\"\210\303\325!\204c \305\325\326\"\210\303\327!\204n \305\327\330\"\210\303\331!\204y \305\331\332\"\210\333W\204\213 \333U\203\220 	\334X\203\220 \305\335\336\"\210\303\337!\204\233 \305\337\340\"\210\341\n\342\"\203\247 \305\343\344\"\210\303\345!\204\262 \305\345\346\"\210\303\347!\204\275 \305\347\350\"\210\351\352!\207" [emacs-major-version emacs-minor-version emacs-version fboundp python-info-current-defun defalias python-current-defun python-nav-forward-statement #[128 "\300\301!\207" [error "Enhanced Python navigation only available in Emacs 24.3+"] 3 "Function added in Emacs 24.3\n\n(fn &rest IGNORED)"] python-nav-backward-up-list #[0 "\3001 \301 0\207\210\302\207" [(error) backward-up-list nil] 1 "Compatibility function for older Emacsen"] python-shell-calculate-exec-path #[0 "\207" [exec-path] 1 "Compatibility function for older Emacsen."] python-shell-calculate-process-environment #[0 "\207" [process-environment] 1 "Compatibility function for older Emacsen."] python-shell-get-process-name #[257 "\300\207" ["Python"] 2 "Compatibility function for older Emacsen.\n\n(fn DEDICATED)"] python-shell-parse-command #[0 "\207" [python-python-command] 1 "Compatibility function for older Emacsen."] python-shell-send-buffer #[256 "\300 \207" [python-send-buffer] 2 "\n\n(fn &optional ARG)"] python-shell-send-string python-send-string python-indent-shift-right python-shift-right python-indent-shift-left python-shift-left 24 2 locate-dominating-file #[514 "\301!\262\302\211\204H \203H \303\"\204H ;\203% \304\305\"!\202( !\262\211\2034 \262\202 \306\307!!\211\262\232\203 \302\262\202 \205O \310!\207" [locate-dominating-stop-dir-regexp abbreviate-file-name nil string-match file-exists-p expand-file-name file-name-directory directory-file-name file-name-as-directory] 8 "Look up the directory hierarchy from FILE for a directory containing NAME.\nStop at the first parent directory containing a file NAME,\nand return the directory.  Return nil if not found.\nInstead of a string, NAME can also be a predicate taking one argument\n(a directory) and returning a non-nil value if that directory is the one for\nwhich we're looking.\n\n(fn FILE NAME)"] highlight-indentation-mode #[257 "\211\301V\203 \204 \302 \207\211\301X\205 \205 \302 \207" [highlight-indent-active 0 highlight-indentation] 3 "\n\n(fn ON-OR-OFF)"] version< "25.2" python-shell-completion-native-try #[0 "\303\304\305p!\306\307#*\207" [python-shell-completion-native-try-output-timeout python-shell-completion-native-output-timeout python-shell-completion-native-enable t python-shell-completion-native-get-completions get-buffer-process nil "_"] 4 "Return non-nil if can trigger native completion."] python-info-encoding #[0 "\300\207" [utf-8] 1] python-shell-comint-end-of-output-p #[257 "\301\302\303\304\305#\306Q\"\207" [python-shell--prompt-calculated-input-regexp string-match "?\n?" replace-regexp-in-string "\\`\\^" "" "\\'"] 7 "Return non-nil if OUTPUT is ends with input prompt.\n\n(fn OUTPUT)"] provide elpy] 3)
