;ELC   
;;; Compiled
;;; in Emacs version 29.3
;;; with all optimizations.



(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\305\306\307\310!\203 \310\202 \311\"\210\305\312\307\313!\203+ \313\202, \314\"\207" [require evil-vars rect thingatpt cl-lib defalias evil-get-selection fboundp gui-get-selection x-get-selection evil-set-selection gui-set-selection x-set-selection] 4)#@344 Execute BODY when CONDITION becomes true, checking with HOOK.
HOOK can be a simple symbol or of the form (HOOK APPEND LOCAL NAME)
where:
NAME specifies the name of the entry added to HOOK.
If APPEND is non-nil, the entry is appended to the hook.
If LOCAL is non-nil, the buffer-local value of HOOK is modified.

(fn CONDITION HOOK &rest BODY)
(defalias 'evil-with-delay '(macro . #[642 "\300\301:\203 \202 C\"\211\203 \211A\262\242\202\" \302\303\304GD\"\211A\262\242\211A\262\242\211A\262\242\203C \302\303\304\305G\\D\"\210\306\206M \307\310\"D\311!\203X \211\202[ \306\312!\313\314\315\316\206e \317\320\321F\322\323\"BBBEE\311!\203\201 \211\202\204 \306\324!\325\f\205\215 \326D\327\330E\322\n\205\240 \331\332BBC\333\n\257C\"BBE=\203\274 \211\266\203\202\305 \334DC\"\266\203=\203\314 \207\334DC\"\207" [mapcar macroexp-quote signal wrong-number-of-arguments (hook-sym &optional append local name) 4 make-symbol format "evil-delay-in-%s" macroexp-const-p "fun-name" apply-partially lambda (name &rest _) when t remove-hook name append (t) "fun" unless funcall progn fset put ('permanent-local-hook t) add-hook macroexp-let*] 23 (#$ . 404)]))
(byte-code "\300\301\302\303#\210\304\301\305\306#\300\207" [put evil-with-delay edebug-form-spec (form sexp body) function-put lisp-indent-function 2] 4)#@293 Execute FORM when CONDITION becomes true, checking with HOOK.
NAME specifies the name of the entry added to HOOK.  If APPEND is
non-nil, the entry is appended to the hook.  If LOCAL is non-nil,
the buffer-local value of HOOK is modified.

(fn CONDITION FORM HOOK &optional APPEND LOCAL NAME)
(defalias 'evil-delay #[1539 "\300\301FF\302\"\207" [eval evil-with-delay t] 13 (#$ . 1770)])
(byte-code "\300\301\302\303#\210\304\301\305\306#\300\207" [make-obsolete evil-delay evil-with-delay "1.15.0" function-put lisp-indent-function 2] 4)#@184 Add the association of KEY and VAL to the value of ALIST.
If the list already contains an entry for KEY, update that entry;
otherwise prepend it to the list.

(fn ALIST [KEY VAL]...)
(defalias 'evil--add-to-alist '(macro . #[385 "\301\302\303\211\211\211:\203\230 \262\211A\262\242\262@\262\304W\203\201 \305!\203+ \202. \306\307!\310E\305!\203= \211\202@ \306\311!\312\313	E\314\315EEF=\203^ \211\266\203\202g \316DC\"\266\203=\203t \211\266\202\202\214 \316DC\"\266\202\202\214 \317\320\321BBBEB\262AA\262\202 \211\237\266\205C\"B\207" [emacs-major-version progn append nil 26 macroexp-const-p make-symbol "k" assoc "p" if setcdr push cons macroexp-let* setf alist-get (nil nil #'equal)] 19 (#$ . 2325)]))#@323 Delete by side-effect all items satisfying PREDICATE in LIST.
Stop when reaching POINTER.  If the first item satisfies PREDICATE,
there is no way to remove it by side-effect; therefore, write
(setq foo (evil-filter-list #\='predicate foo)) to be sure of
changing the value of `foo'.

(fn PREDICATE LIST &optional POINTER)
(defalias 'evil-filter-list #[770 "\300\211\2036 =\2046 @\262!\203, A\262\211\203& \211\241\210\202 \262\202 \262A\262\202 \207" [nil] 8 (#$ . 3086)])#@160 Find the first item satisfying PREDICATE in LIST.
Stop when reaching POINTER, which should point at a link
in the list.

(fn PREDICATE LIST &optional POINTER)
(defalias 'evil-member-if #[770 "\300\3012+ :\205* =?\205* @\262!\203# \302\301\"\210\202 A\262\202 0\207" [nil done throw] 7 (#$ . 3586)])#@72 Find the first item satisfying PREDICATE in TREE.

(fn PREDICATE TREE)
(defalias 'evil-member-recursive-if #[514 "!\203 \207\211<\2050 \30020 \211\211\205- \211@\301\"\211\262\203& \302\300\"\210A\266\202\202 \2620\207" [done evil-member-recursive-if throw] 7 (#$ . 3902)])
(make-obsolete 'evil-member-recursive-if nil "1.15.0")#@96 Concatenate lists, removing duplicates.
Elements are compared with `eq'.

(fn &rest SEQUENCES)
(defalias 'evil-concat-lists #[128 "\300\211\203# \211@\211\211\203 \211@\211B\262A\266\202\202	 \210A\266\202\202 \210\301\302\303#\237\207" [nil cl-remove-duplicates :test eq] 8 (#$ . 4246)])#@197 Concatenate association lists, removing duplicates.
An alist is a list of cons cells (KEY . VALUE) where each key
may occur only once. Later values overwrite earlier values.

(fn &rest SEQUENCES)
(defalias 'evil-concat-alists #[128 "\300\211\203+ \211@\211\211\203# \211@\301\242\"\262\211B\262A\266\202\202	 \210A\266\202\202 \210\211\237\207" [nil assq-delete-all] 9 (#$ . 4549)])#@216 Concatenate property lists, removing duplicates.
A property list is a list (:KEYWORD1 VALUE1 :KEYWORD2 VALUE2...)
where each keyword may occur only once. Later values overwrite
earlier values.

(fn &rest SEQUENCES)
(defalias 'evil-concat-plists #[128 "\300\211\203' \211@\211\203  \301\211A\262\242\211A\262\242#\262\202 A\266\202\202 \207" [nil plist-put] 9 (#$ . 4948)])#@331 Concatenate keymap association lists, removing duplicates.
A keymap alist is a list of cons cells (VAR . MAP) where each keymap
may occur only once, but where the variables may be repeated
(e.g., (VAR . MAP1) (VAR . MAP2) is allowed). The order matters,
with the highest priority keymaps being listed first.

(fn &rest SEQUENCES)
(defalias 'evil-concat-keymap-alists #[128 "\300\211\203, \211@\211\211\203$ \211@\301\243\"\204 \211B\262A\266\202\202	 \210A\266\202\202 \210\211\237\207" [nil rassq] 9 (#$ . 5338)])#@256 Delete by side effect the property PROP from PLIST.
If PROP is the first property in PLIST, there is no way
to remove it by side-effect; therefore, write
(setq foo (evil-plist-delete :prop foo)) to be sure of
changing the value of `foo'.

(fn PROP PLIST)
(defalias 'evil-plist-delete #[514 "\211\300\211\2033 @\262=\203( AA\262\211\203\" \211A\241\210\202 \262\202 \262AA\262\202 \207" [nil] 7 (#$ . 5869)])#@290 Return property PROP for KEY in ALIST.
ALIST is an association list with entries of the form
(KEY . PLIST), where PLIST is a property list.
If PROP is nil, return all properties for KEY.
If KEY is t, return an association list of keys
and their PROP values.

(fn ALIST KEY &optional PROP)
(defalias 'evil-get-property #[770 "\211\204	 \236A\207\300=\203? \301\211\211\203= \211@\211@\262\211A\262\302\"\2036 \303\"\262BB\262A\266\202\202 \207\303\236A\"\207" [t nil plist-member plist-get] 10 (#$ . 6301)])
(make-obsolete 'evil-get-property nil "1.15.0")#@218 Set PROP to VAL for KEY in ALIST-VAR.
ALIST-VAR points to an association list with entries of the form
(KEY . PLIST), where PLIST is a property list storing PROP and VAL.

(fn ALIST-VAR KEY PROP VAL &rest PROPERTIES)
(defalias 'evil-put-property #[1156 "\211J\236A\300#\262\203  \301\"\262\302!@\262\303\"\262BB\211\262\266\202L\210\207" [plist-put evil-concat-plists last assq-delete-all] 12 (#$ . 6885)])
(make-obsolete 'evil-put-property nil "1.15.0")#@333 Return the value of property PROP for STATE.
PROP is a keyword as used by `evil-define-state'. STATE is the state's
symbolic name. If VALUE is non-nil and the value is a variable, return
the value of that variable.

If STATE is t, return an association list of states and their PROP
values instead.

(fn STATE PROP &optional VALUE)
(defalias 'evil-state-property #[770 "\301=\2036 \302\211\211:\2035 @\262\211A\262\242\262\303\"\211\203- A@BB\262\210A\262\202\n \207\304\236A\"\203O \2119\203O \305!\203O \211J\207\207" [evil-state-properties t nil plist-member plist-get boundp] 10 (#$ . 7371)])
(defalias 'evil-swap 'cl-rotatef)#@146 Sort the symbol values of VARS.
Place the smallest value in the first argument and the largest in the
last, sorting in between.

(fn &rest VARS)
(defalias 'evil-sort '(macro . #[128 "\211G\300U\203 \301\302B\303BE\207\304\305!\306\307\310B\311BBDC\312\313\314\315\316\317\"\"\"BE\207" [2 when > evil-swap make-symbol "sortvar" let sort list (#'<) setq apply nconc mapcar make-closure #[257 "\211\301\300DD\207" [V0 pop] 4 "\n\n(fn VAR)"]] 11 (#$ . 8030)]))#@68 Turn VECTOR into a string, changing <escape> to "\e".

(fn VECTOR)
(defalias 'evil-vector-to-string #[257 "\300\301\302#\207" [mapconcat #[257 "\211\300=\203 \301\207\211C\207" [escape ""] 3 "\n\n(fn C)"] ""] 5 (#$ . 8501)])#@80 Define a command COMMAND.

(fn COMMAND (ARGS...) DOC [[KEY VALUE]...] BODY...)
(defalias 'evil-define-command '(macro . #[385 "\300\301\211\211\211@<\203 \211A\262\242\262@;\203$ \211A\262\242\262\2024 @\242\302=\2034 \211A\262\242\262\303@!\203S \211A\262\242\211A\262\242\304#\266\203\2024 @@\305=\203\205 \306\307\211A\262	\242A\"\211\203s \211A\262\242\202z \310\311\312GD\"\305D\262\313\"\266\203\314\205\247 \205\247 \315\316\205\236 C\nC\f#BBB\205\271 \205\271 \317\320\nD\321F\322\323\204\322 \n\203\322 \324	BBB\202\326 \325\fDDC\306\326\323\320	DF\327BBBF\207" [(interactive) nil format keywordp plist-put interactive apply evil-interactive-form signal wrong-number-of-arguments (form . attrs) evil-concat-plists progn defun append put quote 'function-documentation let func lambda function #'evil-set-command-properties (func)] 17 (#$ . 8734)]))
(byte-code "\300\301\302\303#\300\301\304\305#\306\301\307\310#\210\311\312\313\314#\210\315\211\2038 \211@\312N\2031 \313N\2041 \306\313\312N#\210A\266\202\202 \210\316\312\313\317#\207" [function-put evil-define-command lisp-indent-function defun doc-string-elt 3 put edebug-form-spec (&define name [&optional lambda-list] [&optional stringp] [&rest keywordp sexp] [&optional ("interactive" [&rest form])] def-body) defvaralias evil-command-properties evil--command-properties nil (saved-value saved-variable-comment) make-obsolete-variable "1.15.0"] 9)#@47 Specifications made by `evil-define-command'.
(defvar evil--command-properties nil (#$ . 10221))#@104 Return the Evil command property list for COMMAND.
See also `evil-get-command-property'.

(fn COMMAND)
(defalias 'evil-command-properties #[257 "\2119\203	 \211\301N\207\211\236A\207" [evil--command-properties evil--command-plist] 3 (#$ . 10324)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\210\306\302\307\310#\300\311\302\312#\207" [defalias evil-get-command-properties evil-command-properties nil make-obsolete "1.15.0" function-put gv-expander #[385 "\300\301\302$\207" [gv--defsetter evil-command-properties #[514 "\300\301D\302\303F\304\305BB\306!\203 \211\202 \307\310!\300\311\nE\312\313\n\fE\314BBF=\203: \211\266\203\202C \315DC\"\266\203F\207" [if symbolp put 'evil--command-plist assq (evil--command-properties) macroexp-const-p make-symbol "p" setcdr push cons (evil--command-properties) macroexp-let*] 14 "\n\n(fn VAL COMMAND)"]] 7 "\n\n(fn DO &rest ARGS)"] evil-has-command-properties-p "Whether Evil properties are defined for COMMAND.\nSee also `evil-has-command-property-p'."] 5)#@101 Whether COMMAND has Evil PROPERTY.
See also `evil-has-command-properties-p'.

(fn COMMAND PROPERTY)
(defalias 'evil-has-command-property-p #[514 "\300\301!\"\207" [plist-member evil-command-properties] 5 (#$ . 11357)])#@187 Return the value of Evil PROPERTY of COMMAND.
If the command does not have the property, return DEFAULT.
See also `evil-get-command-properties'.

(fn COMMAND PROPERTY &optional DEFAULT)
(defalias 'evil-get-command-property #[770 "\300\301!\"\211\203 \211A@\207\207" [plist-member evil-command-properties] 6 (#$ . 11584)])#@154 Set each Evil command property KEY to its VAL for COMMAND.
To replace existing properties, use `evil-set-command-properties'.

(fn COMMAND [KEY VAL]...)
(defalias 'evil-add-command-properties #[385 "\301!\203 \302\211A\262\242\211A\262\242#\262\202 9\203& \303\304#\207\236\211\2031 \211\241\207BB\211\207" [evil--command-properties evil-command-properties plist-put put evil--command-plist] 8 (#$ . 11916)])
(byte-code "\300\301\302\303#\210\300\304\301\"\207" [defalias evil-set-command-property evil-add-command-properties "Set PROPERTY to VALUE for COMMAND.\nTo set multiple properties at once, see\n`evil-set-command-properties' and `evil-add-command-properties'.\n\n(fn COMMAND PROPERTY VALUE)" evil-put-command-property] 4)#@217 Replace all of COMMAND's properties with PROPERTIES.
PROPERTIES should be a property list.
This erases all previous properties; to only add properties,
use `evil-set-command-property'.

(fn COMMAND &rest PROPERTIES)
(defalias 'evil-set-command-properties #[385 "9\203 \301\302#\207\236\211\203 \211\241\207BB\211\207" [evil--command-properties put evil--command-plist] 6 (#$ . 12673)])#@188 Remove PROPERTIES from COMMAND.
PROPERTIES should be a list of properties (:PROP1 :PROP2 ...).
If PROPERTIES is the empty list, all properties are removed.

(fn COMMAND &rest PROPERTIES)
(defalias 'evil-remove-command-properties #[385 "\300\203 \301!\262\211\203 \211@\302\"\262A\266\202\202 \210\303\304#\207" [nil evil-command-properties evil-plist-delete apply evil-set-command-properties] 8 (#$ . 13077)])#@99 Return the yank handler for MOTION.
MOTION defaults to the current motion.

(fn &optional MOTION)
(defalias 'evil-yank-handler #[256 "\301\206 \302\"\207" [evil-this-motion evil-get-command-property :yank-handler] 4 (#$ . 13505)])#@114 Declare COMMAND to be a movement function.
This ensures that it behaves correctly in visual state.

(fn COMMAND)
(defalias 'evil-declare-motion #[257 "\300\301\302\303\304%\207" [evil-add-command-properties :keep-visual t :repeat motion] 7 (#$ . 13745)])#@49 Declare COMMAND to be repeatable.

(fn COMMAND)
(defalias 'evil-declare-repeat #[257 "\300\301\302#\207" [evil-add-command-properties :repeat t] 5 (#$ . 14006)])#@52 Declare COMMAND to be nonrepeatable.

(fn COMMAND)
(defalias 'evil-declare-not-repeat #[257 "\300\301\302#\207" [evil-add-command-properties :repeat nil] 5 (#$ . 14174)])
(defalias 'evil-declare-ignore-repeat 'evil-declare-not-repeat)#@90 Declare COMMAND to be repeatable by buffer changes rather than
keystrokes.

(fn COMMAND)
(defalias 'evil-declare-change-repeat #[257 "\300\301\302#\207" [evil-add-command-properties :repeat change] 5 (#$ . 14415)])#@67 Declare COMMAND to be repeatable by buffer changes.

(fn COMMAND)
(defalias 'evil-declare-insert-at-point-repeat #[257 "\300\301\302#\207" [evil-add-command-properties :repeat insert-at-point] 5 (#$ . 14636)])#@52 Declare COMMAND to be nonrepeatable.

(fn COMMAND)
(defalias 'evil-declare-abort-repeat #[257 "\300\301\302#\207" [evil-add-command-properties :repeat abort] 5 (#$ . 14852)])#@383 Parse STRING as a sequence of delimited arguments.
Return a list of COUNT strings, or as many arguments as the string
contains.  The first non-blank character is taken to be the delimiter.
If some arguments are missing from STRING, the resulting list is
padded with nil values.  Two delimiters following directly after each
other gives an empty string.

(fn STRING &optional COUNT)
(defalias 'evil-delimited-arguments #[513 "\211\204 \300\262\301\302\211\211\303\304\"\203q \305\306\"\262\307\310\311!#\262\301U\204q \303#\203q \306\224GU\204q \301\225\262S\262\301U\203e \311!\312P\303\313$\266\203\204e \306\224\302O\202j \305\306\"B\262\202# \301\211W\203\207 \302\211B\262\210\211T\262\202r \210\211\237\207" [-1 0 nil string-match "^[[:space:]]*\\([^[:space:]]\\)" match-string 1 format "%s\\(\\(?:\\\\.\\|[^%s]\\)*\\)" regexp-quote "[[:space:]]*$" t] 14 (#$ . 15034)])#@186 Concatenate character sets.
A character set is the part between [ and ] in a regular expression.
If any character set is complemented, the result is also complemented.

(fn &rest SETS)
(defalias 'evil-concat-charsets #[128 "\300\211\211\301\211\203\\ \211@\302\301\303\304$\266\203\203\" \211\305\301O\262\306\262\307\301\303\304$\266\203\2039 \211\305\301O\262\310\262\311\301\303\304$\266\203\203P \211\305\301O\262\312\262P\262A\266\202\202 \210\313\314%\207" ["" nil "^\\^" string-match t 1 "^" "^]" "]" "^-" "-" format "%s%s%s%s"] 15 (#$ . 15954)])#@179 Read from keyboard or INPUT and build a command description.
Return (CMD COUNT), where COUNT is the numeric prefix argument.
Both COUNT and CMD may be nil.

(fn &optional INPUT)
(defalias 'evil-keypress-parser #[256 "\211\203	 \301\"\302\211\3032\305 \304\305!\211\203\301 \306!\211\204( \307\303\302\211D\"\266\202 \310!\203X \311!\307\303@\204@ A@\205Q @\206H \312A@\206O \312_DD\"\266\202 \211\313=\204h \314\232\203\233 \203\233 \211GSH\315!\203w \211\206 \2119\205 \211\316N\211\250\205\212 \317\320\"\321Z\322\206\221 \323_\\\262\266\202 \211\324=\203\250 ?\266\203\202 \307\303\205\275 \203\273 \325\202\274 \312_D\"\266\210\202 \207" [unread-command-events append nil done read-key-sequence "" key-binding throw arrayp evil-keypress-parser 1 digit-argument "0" characterp ascii-character logand 127 48 10 0 negative-argument -1] 12 (#$ . 16543)])#@99 Read a key from the keyboard.
Translates it according to the input method.

(fn &optional PROMPT)
(defalias 'evil-read-key #[256 "\304 \305 \306\306\211\211\307\310\"\216\3111\205 \312\313\314\315\"#\210\312\316\314\317\"#\210\312\320\314\321\"#\210\322\323\324\325\"C\"\262\326!\210\327\306\330#\262\331H\262\332!\262\333!\203j \211\331H\262\332!\262\202W \211\325=\203t \202\201 \211\203~ \334!\202\201 \335\336!0\202\223 \210\337\340!\203\217 \340 \210\341\342\306\"+\207" [evil-read-key-map overriding-local-map overriding-terminal-local-map global-map current-global-map make-sparse-keymap nil make-closure #[0 "\301\300!\207" [V0 use-global-map] 2] (quit) define-key [menu-bar] lookup-key [menu-bar] [tab-bar] [tab-bar] [tool-bar] [tool-bar] append make-char-table display-table self-insert-command use-global-map read-key-sequence t 0 key-binding arrayp call-interactively user-error "No replacement character typed" fboundp evil-repeat-abort signal quit] 14 (#$ . 17445)])#@163 Command that calls `read-quoted-char'.
This command can be used wherever `read-quoted-char' is required
as a command. Its main use is in the `evil-read-key-map'.
(defalias 'evil-read-quoted-char #[0 "\300 \207" [read-quoted-char] 1 (#$ . 18466) nil])#@59 By default, used to exclude otherwise disabled fallbacks.
(defvar evil-digraph-read-key-keymap (byte-code "\300 \301\211\302X\203 \303\304\305\306\307!P!!\310#\210\211T\262\202 \207" [make-sparse-keymap 48 57 define-key vector intern "kp-" string nil] 9) (#$ . 18722))#@144 Read two chars, displaying the first in OVERLAY, replacing "?".
Return the digraph from `evil-digraph', else return second char.

(fn OVERLAY)
(defalias 'evil-read-digraph-char-with-overlay #[257 "\302\303\"\216\304!\305	\"\210\306\307\310#\210\211\262\311\211\312\313\314#\210\312\315\316#\210\317 \262\312\315\320\321!\322\323\324\325%#\210\317 \262\326D!\206F \211)\266\203)\207" [evil-digraph-read-key-keymap read-key-empty-map make-closure #[0 "\301\300!\207" [V0 delete-overlay] 2] copy-keymap set-keymap-parent define-key [t] dummy nil overlay-put invisible t after-string #("?" 0 1 (face minibuffer-prompt cursor 1)) read-key propertize char-to-string face minibuffer-prompt cursor 1 evil-digraph] 13 (#$ . 19004) nil])#@186 Read two keys from keyboard forming a digraph.
This function creates an overlay at (point), hiding the next
HIDE-CHARS characters.  HIDE-CHARS defaults to 1.

(fn &optional HIDE-CHARS)
(defalias 'evil-read-digraph-char #[256 "\300``\206 \301\\d^\"\302!\207" [make-overlay 1 evil-read-digraph-char-with-overlay] 5 (#$ . 19754) nil])#@274 Read a MOTION, motion COUNT and motion TYPE from the keyboard.
The type may be overridden with MODIFIER, which may be a type
or a Visual selection as defined by `evil-define-visual-selection'.
Return a list (MOTION COUNT [TYPE]).

(fn &optional MOTION COUNT TYPE MODIFIER)
(defalias 'evil-read-motion #[1024 "\302\211\211\204L \303 \262\211A\262\242\262\211A\262\242\262\211\2034 \2031 \304\305!\305!P!\2022 \211\262\306	\"\203L \206F \306	\"@\211\262\204 \203v \206Y \307\310\"\262\311=\203q \310=\203k \312\202l \310\262\202t \262E\207" [evil-this-type-modified evil-visual-alist nil evil-keypress-parser string-to-number number-to-string rassq evil-type exclusive char inclusive] 10 (#$ . 20095)])#@60 Return non-nil iff KEYS contains a mouse event.

(fn KEYS)
(defalias 'evil-mouse-events-p #[257 "\300\301\211\211T\262GW\203+ H\262\302!\206! \211\242\303=\262\211\262?\211\262\204 \207" [-1 nil mouse-event-p mouse-movement] 8 (#$ . 20837)])#@390 Split the key-sequence KEYS into prefix-argument and the rest.
Return the list (PREFIX CMD SEQ REST), where PREFIX is the
prefix count, CMD the command to be executed, SEQ the subsequence
calling CMD, and REST is all remaining events in the
key-sequence. PREFIX and REST may be nil if they do not exist.
If a command is bound to some keyboard macro, it is expanded
recursively.

(fn KEYS)
(defalias 'evil-extract-count #[257 "\3002\255 \211G\301\302\303X\203\247 O\304!\211\305>\203% \306\307\"\266\202	 \310!\203J \311\301O	\303O#\262T\262G\262\266\202	 \312!\203\236 \211\313>\204d \203s \311!\314\315!\232\203s \316\262\262T\262\266\202	 \317\300\301U?\205\207 \320	\301	O\260!W\205\227 	\303OF\"\266\202	 T\262\266\202	 \306\321!\266\2040\207" [done 0 1 nil key-binding (undefined nil) user-error "No command bound to `%s'" arrayp vconcat functionp (digit-argument negative-argument) vector 48 t throw string-to-number "Key sequence contains no complete binding"] 15 (#$ . 21098)])#@271 Return an (APPEND . FILENAME) pair based on FILE-OR-APPEND.
FILE-OR-APPEND should either be a filename or a ">> FILE"
directive.  APPEND will be t if FILE-OR-APPEND is an append
directive and nil otherwise.  FILENAME will be the extracted
filename.

(fn FILE-OR-APPEND)
(defalias 'evil-extract-append #[257 "\211;\203 \300\301\"\203 \302\303\225\304OB\207\304B\207" [string-match "\\(>> *\\)" t 1 nil] 5 (#$ . 22141)])#@58 Set the prompt-string of MAP to PROMPT.

(fn MAP PROMPT)
(defalias 'evil-set-keymap-prompt #[514 "\300\301!\"\210\211\205 AB\241\207" [delq keymap-prompt] 5 (#$ . 22570)])#@60 Return non-nil value if KEY is bound in MAP.

(fn MAP KEY)
(defalias 'evil-lookup-key #[514 "\300\"\211\247?\205 \211\207" [lookup-key] 5 (#$ . 22753)])#@378 Change the cursor's apperance according to SPECS.
SPECS may be a cursor type as per `cursor-type', a color
string as passed to `set-cursor-color', a zero-argument
function for changing the cursor, or a list of the above.

If SPECS is nil, this function does not have an effect;
pass (list nil) instead to indicate a nil `cursor-type'
(i.e., to disable the cursor).

(fn SPECS)
(defalias 'evil-set-cursor #[257 "\301!\204 \211<\203 \302!\243\203 \211C\262\211\211\205G \211@\301!\2032 \3031. \211 0\210\202@ \210\202@ \211;\203> \304!\210\202@ \211A\266\202\202 \207" [cursor-type functionp last (error) evil-set-cursor-color] 5 (#$ . 22915)])#@44 Set the cursor color to COLOR.

(fn COLOR)
(defalias 'evil-set-cursor-color #[257 "\300\301\302\"\232?\205 \303!\207" [frame-parameter nil cursor-color set-cursor-color] 4 (#$ . 23574)])#@194 Refresh the cursor for STATE in BUFFER.
BUFFER defaults to the current buffer.  If STATE is nil the
cursor type is either `evil-force-cursor' or the current state.

(fn &optional STATE BUFFER)
(defalias 'evil-refresh-cursor #[512 "\205V \206 	\206 \n\206 \304\206 \305\306\307\305#\211;\203$ \211\2064 \211<\2030 \310\311\"\2064 \312\313\314\"r\206: pq\210\315\203M <\203M \316\311\"\202N !\210\315!)\266\204\207" [evil-local-mode evil-force-cursor evil-state evil-default-cursor normal t evil-state-property :cursor evil-member-if stringp frame-parameter nil cursor-color evil-set-cursor cl-remove-if] 10 (#$ . 23770)])#@77 Save the current cursor; execute BODY; restore the cursor.

(fn &rest BODY)
(defalias 'evil-save-cursor '(macro . #[128 "\300\301\302\303B\304BBE\207" [let ((cursor cursor-type) (color (frame-parameter (selected-frame) 'cursor-color)) (inhibit-quit t)) unwind-protect progn ((setq cursor-type cursor) (evil-set-cursor-color color))] 6 (#$ . 24411)]))
(byte-code "\300\301\302\303#\304\301\305\306#\210\307\301\310\311#\207" [function-put evil-save-cursor lisp-indent-function defun put edebug-form-spec t make-obsolete nil "1.15.0"] 5)#@174 Display an unlogged message in the echo area.
That is, the message is not logged in the *Messages* buffer.
(To log the message, just use `message'.)

(fn STRING &rest ARGS)
(defalias 'evil-echo #[385 "?\205 \302\303\304#)\207" [evil-no-display message-log-max nil apply message] 6 (#$ . 24954)])#@57 Save the current echo area in `evil-echo-area-message'.
(defalias 'evil-echo-area-save #[0 "\301 \211\207" [evil-echo-area-message current-message] 2 (#$ . 25260)])#@109 Restore the echo area from `evil-echo-area-message'.
Does not restore if `evil-write-echo-area' is non-nil.
(defalias 'evil-echo-area-restore #[0 "\204 	\203 \302\303	\"\210\202 \302\304!\210\304\211\211\207" [evil-write-echo-area evil-echo-area-message message "%s" nil] 4 (#$ . 25432)])#@138 Save the echo area; execute BODY; restore the echo area.
Intermittent messages are not logged in the *Messages* buffer.

(fn &rest BODY)
(defalias 'evil-save-echo-area '(macro . #[128 "\300\301\302\303\304B\305BBF\207" [let ((inhibit-quit t) evil-echo-area-message evil-write-echo-area) (evil-echo-area-save) unwind-protect progn ((evil-echo-area-restore))] 7 (#$ . 25733)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put evil-save-echo-area lisp-indent-function defun put edebug-form-spec t] 5)#@121 Execute BODY without Evil displays.
Inhibits echo area messages, mode line updates and cursor changes.

(fn &rest BODY)
(defalias 'evil-without-display '(macro . #[128 "\300\301BB\207" [let ((evil-no-display t))] 4 (#$ . 26256)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put evil-without-display lisp-indent-function defun put edebug-form-spec t] 5)#@155 Return absolute line-number-difference betweeen BEG and END.
This should give the same results no matter where on the line BEG
and END are.

(fn BEG END)
(defalias 'evil-count-lines #[514 "U\203 \300\207\212]b\210n)\211\203 \301\"\207\301\"S\207" [0 count-lines] 6 (#$ . 26635)])#@214 Return POS if it does not exceed the buffer boundaries.
If POS is less than `point-min', return `point-min'.
Is POS is more than `point-max', return `point-max'.
If POS is a marker, return its position.

(fn POS)
(defalias 'evil-normalize-position #[257 "\300!\204 \207\211eW\203 e\207\211dV\203 d\207\301!\203! \302!\207\207" [number-or-marker-p markerp marker-position] 3 (#$ . 26931)])#@96 Restore the goal column after execution of BODY.
See also `evil-save-column'.

(fn &rest BODY)
(defalias 'evil-save-goal-column '(macro . #[128 "\300\301BB\207" [let ((goal-column goal-column) (temporary-goal-column temporary-goal-column))] 4 (#$ . 27331)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put evil-save-goal-column lisp-indent-function defun put edebug-form-spec t] 5)#@96 Restore the column after execution of BODY.
See also `evil-save-goal-column'.

(fn &rest BODY)
(defalias 'evil-save-column '(macro . #[128 "\300\301\302\303\304\"BE\207" [let ((col (current-column))) evil-save-goal-column append ((move-to-column col))] 7 (#$ . 27738)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put evil-save-column lisp-indent-function defun put edebug-form-spec t] 5)#@73 Called by vertical movement commands to help determine cursor position.
(defalias 'evil--stick-to-eol-p #[0 "\205 	\206	 \n=\205 \f\305>\207" [evil-track-eol goal-column temporary-goal-column most-positive-fixnum last-command (next-line previous-line)] 2 (#$ . 28152)])#@64 Like `eolp' but accounts for `evil-move-beyond-eol' being nil.
(defalias 'evil-eolp #[0 "\3021 \212\204 	\303>\204 \304u\210l)0\207\210\304\207" [evil-move-beyond-eol evil-state (error) (insert replace) nil] 2 (#$ . 28431)])#@288 Execute BODY so that column after execution is correct.
If `evil-start-of-line' is nil, treat BODY as if it were a `next-line' command.
This mostly copies the approach of Emacs' `line-move-1', but is modified
so it is more compatible with Evil's notion of EOL tracking.

(fn &rest BODY)
(defalias 'evil-ensure-column '(macro . #[128 "\300\301\302\303\"BB\207" [progn (unless evil-start-of-line (setq this-command 'next-line temporary-goal-column (cond ((memq last-command '(next-line previous-line)) temporary-goal-column) ((and track-eol (eolp) (not (bolp))) most-positive-fixnum) (t (current-column))))) append ((if evil-start-of-line (evil-first-non-blank) (line-move-to-column (or goal-column (if (consp temporary-goal-column) (max 0 (+ (truncate (car temporary-goal-column)) (cdr temporary-goal-column))) temporary-goal-column)))))] 6 (#$ . 28666)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put evil-ensure-column lisp-indent-function defun put edebug-form-spec t] 5)#@181 Restrict the buffer to BEG and END.
BEG or END may be nil, specifying a one-sided restriction including
`point-min' or `point-max'. See also `evil-with-restriction.'

(fn BEG END)
(defalias 'evil-narrow #[514 "\203\n e]\202 e\203 d^\202 d}\207" [] 5 (#$ . 29668)])
(make-obsolete 'evil-narrow nil "1.15.0")#@138 Execute BODY with the buffer narrowed to BEG and END.
BEG or END may be nil to specify a one-sided restriction.

(fn BEG END &rest BODY)
(defalias 'evil-with-restriction '(macro . #[642 "\300\301\302\303\304\305BB\304\306BBEBBBD\207" [save-restriction let ((evil-restriction-stack (cons (cons (point-min) (point-max)) evil-restriction-stack))) narrow-to-region or ((point-min)) ((point-max))] 11 (#$ . 29988)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put evil-with-restriction lisp-indent-function 2 put edebug-form-spec t] 5)#@157 Execute BODY with the top-most narrowing removed.
This works only if the previous narrowing has been generated by
`evil-with-restriction'.

(fn &rest BODY)
(defalias 'evil-without-restriction '(macro . #[128 "\300\301\302\303\304BBF\207" [save-restriction (widen) (narrow-to-region (car (car evil-restriction-stack)) (cdr (car evil-restriction-stack))) let ((evil-restriction-stack (cdr evil-restriction-stack)))] 7 (#$ . 30549)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put evil-without-restriction lisp-indent-function defun put edebug-form-spec t] 5)#@47 Narrow to the current field.

(fn &rest BODY)
(defalias 'evil-narrow-to-field '(macro . #[128 "\300\301\302BBB\207" [evil-with-restriction (field-beginning) (field-end)] 5 (#$ . 31132)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put evil-narrow-to-field lisp-indent-function defun put edebug-form-spec t] 5)#@129 Move to the beginning of the line as displayed.
Like `move-beginning-of-line', but retains the goal column.

(fn &optional ARG)
(defalias 'evil-move-beginning-of-line #[256 "	\302!\210\303 *\207" [goal-column temporary-goal-column move-beginning-of-line beginning-of-line] 3 (#$ . 31468)])#@117 Move to the end of the line as displayed.
Like `move-end-of-line', but retains the goal column.

(fn &optional ARG)
(defalias 'evil-move-end-of-line #[256 "	\302!\210\303*\207" [goal-column temporary-goal-column move-end-of-line nil] 3 (#$ . 31768)])#@139 Move point one character back if at the end of a non-empty line.
This behavior is controlled by `evil-move-beyond-eol'.

(fn &optional _)
(defalias 'evil-adjust-cursor #[256 "?\205\f l\205\f \301\302!\207" [evil-move-beyond-eol evil-move-cursor-back t] 3 (#$ . 32030)])#@199 Move point one character back within the current line.
Contingent on the variable `evil-move-cursor-back' or the FORCE
argument.  Movement is constrained to the current field.

(fn &optional FORCE)
(defalias 'evil-move-cursor-back #[256 "\206 \211?\206) n\206) \302\301!\203# 	\203# `\212\303\304!\210`)U\206) \305`S`\"b\207" [evil-move-cursor-back visual-line-mode boundp vertical-motion 0 constrain-to-field] 4 (#$ . 32307)])#@160 Return the position of LINE.
If COLUMN is specified, return its position on the line.
A negative number means the end of the line.

(fn LINE &optional COLUMN)
(defalias 'evil-line-position #[513 "\212eb\210Sy\210\211\247\203 \211\300W\203 \301y\210\202 \302!\210`)\207" [0 nil move-to-column] 4 (#$ . 32743)])#@83 Return the horizontal position of POS.
POS defaults to point.

(fn &optional POS)
(defalias 'evil-column #[256 "\212\211\203 \211b\210i)\207" [] 2 (#$ . 33063)])#@177 Move point to column COLUMN in the current line.
Places point at left of the tab character (at the right if DIR
is non-nil) and returns point.

(fn COLUMN &optional DIR FORCE)
(defalias 'evil-move-to-column #[769 "\300\"\210\211\204! \203 \247\203! \301W\203! iV\203! \302 \210`\207" [move-to-column 1 evil-move-cursor-back] 6 (#$ . 33232) "p"])#@342 Loop with countdown variable.
Evaluate BODY with VAR counting down from COUNT to 0.
COUNT can be negative, in which case VAR counts up instead.
The return value is the value of VAR when the loop
terminates, which is 0 if the loop completes successfully.
RESULT specifies a variable for storing this value.

(fn (VAR COUNT [RESULT]) BODY...)
(defalias 'evil-loop '(macro . #[385 "\300\301!\211A\262\242\211A\262\242\211A\262\242=\204 \206  \262\211\206' \262\302DC\303E\304\305\306BB\307\n\310\311\312BB\303\f\313DE\303\314DEF\303	\fED\"BB\257\207" [make-symbol "loopvar" let setq while /= (0) append if > (0) 1- 1+] 20 (#$ . 33591)]))
(byte-code "\300\301\302\303#\304\301\305\306#\210\307\301\310\311#\207" [function-put evil-loop lisp-indent-function defun put edebug-form-spec dolist make-obsolete nil "1.15.0"] 5)#@397 Loop a certain number of times.
Evaluate BODY repeatedly COUNT times with VAR bound to 1 or -1,
depending on the sign of COUNT. Set RESULT, if specified, to the
number of unsuccessful iterations, which is 0 if the loop completes
successfully. This is also the return value.

Each iteration must move point; if point does not change, the loop
immediately quits.

(fn (VAR COUNT [RESULT]) BODY...)
(defalias 'evil-motion-loop '(macro . #[385 "\211A\262\242\206\f \300\301!\211A\262\242\206 \302\211A\262\242\206  \300\303!\304D\305\306\307BB\310BBDD\311\312\313\314BB\313\315\316\317\320\"BEE\321\305\306\322BB\323	D\324\nDFEE\321EF\207" [make-symbol "unitvar" 0 "loopvar" let* if < (0) (-1 1) while and /= (0) (point) progn append ((point)) setq (0) 1+ 1-] 17 (#$ . 34451)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put evil-motion-loop lisp-indent-function defun put edebug-form-spec ((symbolp form &optional symbolp) body)] 5)#@299 Signal error if `point' is at boundaries.
If `point' is at bob and COUNT is negative this function signals
`beginning-of-buffer'.  If `point' is at eob and COUNT is positive
this function signals `end-of-buffer'.  This function should be used
in motions. COUNT defaults to 1.

(fn &optional COUNT)
(defalias 'evil-signal-at-bob-or-eob #[256 "\211\206 \300\262\211\301W\203 \302 \207\211\301V\205 \303 \207" [1 0 evil-signal-at-bob evil-signal-at-eob] 3 (#$ . 35429)])#@213 Signal `beginning-of-buffer' if `point' is at bob.
This function should be used in backward motions. If `point' is at
bob so that no further backward motion is possible the error
`beginning-of-buffer' is raised.
(defalias 'evil-signal-at-bob #[0 "o\205 \300\301\302\"\207" [signal beginning-of-buffer nil] 3 (#$ . 35907)])#@514 Signal `end-of-buffer' if `point' is at eob.
This function should be used in forward motions. If `point' is close
to eob so that no further forward motion is possible the error
`end-of-buffer' is raised. This is the case if `point' is at
`point-max' or if is one position before `point-max',
`evil-move-beyond-eol' is nil and `point' is not at the end
of a line. The latter is necessary because `point' cannot be
moved to `point-max' if `evil-move-beyond-eol' is nil and
the last line in the buffer is not empty.
(defalias 'evil-signal-at-eob #[0 "m\204 l?\205 ?\205 \212\301u\210m)\205 \302\303\301\"\207" [evil-move-beyond-eol nil signal end-of-buffer] 3 (#$ . 36237)])#@373 Project point after BODY to current window.
If point is on a position left or right of the current window
then it is moved to the left and right boundary of the window,
respectively. If `auto-hscroll-mode' is non-nil then the left and
right positions are increased or decreased, respectively, by
`horizontal-margin' so that no automatic scrolling occurs.

(fn &rest BODY)
(defalias 'evil-with-hproject-point-on-window '(macro . #[128 "\300\301!\300\302!\300\303!\304\305B\306B\307\310\311\312\nED\311\313\314\315D\316BBBBDD\317\320\321\322E	EDEC\"BB\207" [make-symbol "diff" "left" "right" let ((if auto-hscroll-mode (1+ hscroll-margin) 0)) (auto-hscroll-mode) append let* + (window-hscroll) (window-hscroll) (window-width) - (-1) move-to-column min max (current-column)] 16 (#$ . 36920)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put evil-with-hproject-point-on-window lisp-indent-function defun put edebug-form-spec t] 5)#@92 Move point to the end or beginning of the complement of THING.

(fn THING &optional COUNT)
(defalias 'evil-forward-not-thing #[513 "\211\206 \300\211\301W\203 \302\202 \300\301U\204\302 `\303\301V\203k \304!\211\262\2036 `AW\2036 \211Ab\210\202 \305!\301U\203d \304!\211@`W\204R \211@AU\203Z \211@b\266\202\253 \305\302\"\266\202\253 db\266\202\253 o\204\212 \302u\210\304!\211\262\203\212 `AW\203\212 \211@b\210\202k o\204\247 \305\302\"\301U\203\247 \304!\211\262\203\247 \211A\202\250 eb\266`U\204\302 \301W\203\273 T\202\275 S\262\202 \211\262\207" [1 0 -1 nil bounds-of-thing-at-point forward-thing] 10 (#$ . 37884)])#@287 Return the bounds of a complement of THING at point.
If there is a THING at point nil is returned.  Otherwise if WHICH
is nil or 0 a cons cell (BEG . END) is returned. If WHICH is
negative the beginning is returned. If WHICH is positive the END
is returned.

(fn THING &optional WHICH)
(defalias 'evil-bounds-of-not-thing-at-point #[513 "`\212\300\301\"\302U\203 \300!\210`V\203 e\202 `)\212\300!\302U\203) \300\301\"\210`W\2033 d\2024 `)\303`#\205` W\205` \203M \302U\203Q B\207\302W\203Y \207\302V\205` \211\207" [forward-thing -1 0 <=] 9 (#$ . 38550)])#@499 Move point forward to the first of several motions.
FORWARDS is a list of forward motion functions (i.e. each moves
point forward to the next end of a text object (if passed a +1)
or backward to the preceeding beginning of a text object (if
passed a -1)). This function calls each of these functions once
and moves point to the nearest of the resulting positions. If
COUNT is positive point is moved forward COUNT times, if negative
point is moved backward -COUNT times.

(fn COUNT &rest FORWARDS)
(defalias 'evil-forward-nearest #[385 "\206 \301\211\302W\203 \303\202 \301\302U\204\257 ``\302W\203\" e\202# d\211\203\223 \211@b\210\3041\213 \214edBB\302W\203I \212b\210\305\302!)\206J e\302V\203\\ \212b\210\306\307!)\206] d}\210\211!\302U\205\205 `U?\205\205 \302W\203{ `V\202~ `W\205\205 `\211\262*0\210\202\214 \210A\266\202\202$ \210\211b\266`U\204\257 \302W\203\250 T\202\252 S\262\202 \211\262\207" [evil-restriction-stack 1 0 -1 (error) line-beginning-position line-end-position 2] 12 (#$ . 39132)])#@115 Return the bounds of a string at point.
If STATE is given it used a parsing state at point.

(fn &optional STATE)
(defalias 'bounds-of-evil-string-at-point #[256 "\212\211\206 \300 \3018\205 \3028\303`d\304\211\305&\205 `B)\207" [syntax-ppss 3 8 parse-partial-sexp nil syntax-table] 10 (#$ . 40177)])
(put 'evil-string 'bounds-of-thing-at-point 'bounds-of-evil-string-at-point)#@41 Return the bounds of a string at point.
(defalias 'bounds-of-evil-comment-at-point #[0 "\212\300 \3018\205 \3028\303`d\304\211\305&\205 `B)\207" [syntax-ppss 4 8 parse-partial-sexp nil syntax-table] 9 (#$ . 40568)])
(put 'evil-comment 'bounds-of-thing-at-point 'bounds-of-evil-comment-at-point)#@138 Like `line-move' but conserves the column.
Signal an error at buffer boundaries unless NOERROR is non-nil.

(fn COUNT &optional NOERROR)
(defalias 'evil-line-move #[513 "\306W\203\n \307\202 \310	\n:=\204 \n=\205 \f`	\2037 \n=\2037 \f\311>\2037 \312\313T!)\202u \3141B \315!0\202u \206L \n\242\206L \n\211\247\203W \306]\202X \306\316	\306W#\266\206s `U?\206s \317@A\"\262)\207" [this-command line-move-visual temporary-goal-column most-positive-fixnum last-command goal-column 0 previous-line next-line (next-line previous-line) nil evil-end-of-visual-line (beginning-of-buffer end-of-buffer) line-move line-move-finish signal] 12 (#$ . 40876)])#@148 Move point to the end or beginning of a sequence of characters in SYNTAX.
Stop on reaching a character not in SYNTAX.

(fn SYNTAX &optional COUNT)
(defalias 'evil-forward-syntax #[513 "\300H\301U\203 \302\303O\202 \304P\206 \302\211\300W\203! \305\202\" \302\300U\204[ `\300W\203; \306!\210\306!\210\202D \307!\210\307!\210`U\204[ \300W\203T T\202V S\262\202\" \211\262\207" [0 94 1 nil "^" -1 skip-syntax-backward skip-syntax-forward] 8 (#$ . 41552)])#@154 Move point to the end or beginning of a sequence of CHARS.
CHARS is a character set as inside [...] in a regular expression.

(fn CHARS &optional COUNT)
(defalias 'evil-forward-chars #[513 "\300H\301U\203 \302\303O\202 \304P\206 \302\211\300W\203! \305\202\" \302\300U\204Y `\300W\203: \303x\210\303x\210\202B \303w\210\303w\210`U\204Y \300W\203R T\202T S\262\202\" \211\262\207" [0 94 1 nil "^" -1] 8 (#$ . 42032)])#@603 Move point to the end or beginning of text enclosed by BEG and END.
BEG and END should be regular expressions matching the opening
and closing delimiters, respectively. If COUNT is greater than
zero point is moved forward otherwise it is moved
backwards. Whenever an opening delimiter is found the COUNT is
increased by one, if a closing delimiter is found the COUNT is
decreased by one. The motion stops when COUNT reaches zero. The
match-data reflects the last successful match (that caused COUNT
to reach zero). The behaviour of this functions is similar to
`up-list'.

(fn BEG END &optional COUNT)
(defalias 'evil-up-block #[770 "\211\206 \300\211\301V\211\203 \300\202 \302\3032\350 \301U\204\346 `\212\304\203' \202) \305\306$\205M \211`U\203L u\210\304\203C \202E \305\306$\205M `)\307\306!\212\232?\205\215 \304\203e 	\202g \306$\205\215 `U\203\214 u\210\304\203\202 	\202\204 \306$\205\215 `)\204\253 \203\232 d\202\233 eb\210\310\305!\210\311\303\"\266\202 \211\203\305 \203\271 T\202\274 S\262\211b\266\202 \203\317 S\202\322 T\262\301U\203\337 \310!\210b\266\202 \3010\207" [1 0 -1 done re-search-forward nil t match-data set-match-data throw] 14 (#$ . 42474)])#@539 Move point to the end or beginning of balanced parentheses.
OPEN and CLOSE should be characters identifying the opening and
closing parenthesis, respectively. If COUNT is greater than zero
point is moved forward otherwise it is moved backwards. Whenever
an opening delimiter is found the COUNT is increased by one, if a
closing delimiter is found the COUNT is decreased by one. The
motion stops when COUNT reaches zero. The match-data reflects the
last successful match (that caused COUNT to reach zero).

(fn OPEN CLOSE &optional COUNT)
(defalias 'evil-up-paren #[770 "\301\211\302 p\303\304#\216\305\306\302 !!\210\307\310\311	\"\"\210\307\310\312\n\"\"\210\211\313W\2033 \314\2024 \315\313U\204\213 ``\3161o \313V\203X \317\320\"\210`Sf\nU?\205i \202F \317\320\"\210\301fU?\205i \202X 0\266\202t \210\211b\266`U\204\213 \313W\203\204 T\202\206 S\262\2024 \211\262\266\202\211U\203\237 \321\301!\210\202\266 \313V\203\257 \321`S`D!\210\202\266 \321``TD!\210)\211\262\266\202)\207" [forward-sexp-function nil syntax-table make-closure #[0 "r\300q\210\302\301!)\207" [V0 V1 set-syntax-table] 2] set-syntax-table copy-syntax-table modify-syntax-entry format "(%c" ")%c" 0 -1 1 (error) up-list t set-match-data] 14 (#$ . 43717)])#@429 Move point to the end or beginning of balanced xml tags.
If COUNT is greater than zero point is moved forward otherwise it is moved
backwards.  Whenever an opening delimiter is found the COUNT is increased by
one, if a closing delimiter is found the COUNT is decreased by one.  The motion
stops when COUNT reaches zero.  The match data reflects the last successful
match (that caused COUNT to reach zero).

(fn &optional COUNT)
(defalias 'evil-up-xml-tag #[256 "\211\206 \300\301V\203 \300\202 \302\303\206 \300!\301V\203  \300\202! \304\301V\203+ \304\202, \300`\305\211\211\30620\301V\203\307\310\305\311$\211\262\203\234 \224\203Y \312!B\211\262\202\231 \203\234 \301W\203w @\312!\230\203w \211A\262\242\202\231 \301V\203\234 \203\223 @\312!\230\204\223 A\262\202~ \211A\262\242\204; \211\205\243 \313\311!\211\262\204\262 \305\262\314\306\"\210\301V\203\304 \301\225\262\301\224b\210\202\314 \301\224\262\301\225b\210\312!\315\316!\317Q\300\211\301V\203\372 \320\305\311$\203\372 \211\300\224\203\361 \202\364 [\\\262\202\326 \211\301U\203	S\262\n\305\262b\266\2024 \301V\203\321\305!\202/\321!\210\301V\203,\301\225\202.\301\224b0\210\301U\204U\321\305!\210\301V\203Gd\202Heb\210`U\204US\262_\207" [1 0 -1 abs 2 nil done re-search-forward "<\\([^/ >\n]+\\)\\(?:=>?\\|[^\"/>]\\|\"[^\"]*\"\\)*?>\\|</\\([^>]+?\\)>" t match-string match-data throw "<\\(/\\)?" regexp-quote "\\(?:>\\|[ \n]\\(?:[^\"/>]\\|\"[^\"]*\"\\)*?>\\)" re-search-backward set-match-data] 17 (#$ . 44981)])#@209 Move point to the end or beginning of a string.
QUOTE is the character delimiting the string. If COUNT is greater
than zero point is moved forward otherwise it is moved
backwards.

(fn QUOTE &optional COUNT)
(defalias 'evil-forward-quote #[513 "\300\301 p\302\303#\216\304\305\301 !!\210z\306U\204  \307\310\"\210\311\262`\212\312 \210\313`\300\211\314 %)\315!\211\203X `AW\203X \316V\203O \211Ab\210S\262\202X \211@b\210T\262\316V\203\252 \300\262\3172\245 \316V\205\244 m?\205\244 \313`d\300\211\301&\262\3208\203\225 \321\322!\262\211Ab\210S\262\202f m\203f b\210\323\317\300\"\210\202f 0\266\202\316W\203\205\266 `\262\212\312 \210\324`!)\210\3172\316W\205o?\205`\262o\204\352 m\204\344 \300fU\204\352 \325u\210\202\324 \321\322!\211\262\203\377 \211@b\210T\262\202\305 o\203b\210\323\317\300\"\210\202\305 \325u\210\202\305 0\266\202\300\262\266)\266\211\2032\212\211b\210\312 \210\324`!)\210\207" [nil syntax-table make-closure #[0 "r\300q\210\302\301!)\207" [V0 V1 set-syntax-table] 2] set-syntax-table copy-syntax-table 34 modify-syntax-entry "\"" t beginning-of-defun parse-partial-sexp syntax-ppss bounds-of-evil-string-at-point 0 done 3 bounds-of-thing-at-point evil-string throw syntax-ppss-flush-cache -1] 15 (#$ . 46554)])#@55 Move forward COUNT empty lines.

(fn &optional COUNT)
(defalias 'forward-evil-empty-line #[256 "\211\206 \300\262\211\301V\203) \211\301V\203I m\204I n\203# l\203# \211S\262\300y\210\202 \211\301W\203I o\204I \302y\301U\203I n\203) l\203) \211T\262\202) \207" [1 0 -1] 3 (#$ . 47862)])#@77 Move forward COUNT whitespace sequences [[:space:]]+.

(fn &optional COUNT)
(defalias 'forward-evil-space #[256 "\300\301\"\207" [evil-forward-chars "[:space:]"] 4 (#$ . 48158)])#@436 Move forward COUNT words.
Moves point COUNT words forward or (- COUNT) words backward if
COUNT is negative.  Point is placed after the end of the word (if
forward) or at the first character of the word (if backward).  A
word is a sequence of word characters matching
[[:word:]] (recognized by `forward-word'), a sequence of
non-whitespace non-word characters '[^[:word:]\n\r\t\f ]', or
an empty line matching ^$.

(fn &optional COUNT)
(defalias 'forward-evil-word #[256 "\300\301\302\303$\207" [evil-forward-nearest #[256 "	`v\210\211`U\203 \202 \304*\207" [evil-cjk-word-separating-categories evil-cjk-word-combining-categories word-combining-categories word-separating-categories 0] 6 "\n\n(fn &optional CNT)"] #[256 "\300\301\"\207" [evil-forward-chars "^[:word:]\n	\f "] 4 "\n\n(fn &optional CNT)"] forward-evil-empty-line] 6 (#$ . 48344)])#@337 Move forward COUNT "WORDS".
Moves point COUNT WORDS forward or (- COUNT) WORDS backward if
COUNT is negative. Point is placed after the end of the WORD (if
forward) or at the first character of the WORD (if backward). A
WORD is a sequence of non-whitespace characters
'[^\n\r\t\f ]', or an empty line matching ^$.

(fn &optional COUNT)
(defalias 'forward-evil-WORD #[256 "\300\301\302#\207" [evil-forward-nearest #[256 "\300\301\"\207" [evil-forward-chars "^\n	\f "] 4 "\n\n(fn &optional CNT)"] forward-evil-empty-line] 5 (#$ . 49207)])#@385 Move forward COUNT symbols.
Moves point COUNT symbols forward or (- COUNT) symbols backward
if COUNT is negative. Point is placed after the end of the
symbol (if forward) or at the first character of the symbol (if
backward). A symbol is either determined by `forward-symbol', or
is a sequence of characters not in the word, symbol or whitespace
syntax classes.

(fn &optional COUNT)
(defalias 'forward-evil-symbol #[256 "\300\301\302\303$\207" [evil-forward-nearest #[256 "\300\301\"\207" [evil-forward-syntax "^w_->"] 4 "\n\n(fn &optional CNT)"] #[256 "`\300!\210\211`U\203 \207\301\207" [forward-symbol 0] 4 "\n\n(fn &optional CNT)"] forward-evil-empty-line] 6 (#$ . 49753)])#@208 Move forward COUNT defuns.
Moves point COUNT defuns forward or (- COUNT) defuns backward
if COUNT is negative.  A defun is defined by
`beginning-of-defun' and `end-of-defun' functions.

(fn &optional COUNT)
(defalias 'forward-evil-defun #[256 "\211\206 \300\211\301W\203 \302\202 \300\301U\204= `\301V\203# \303 \210\202& \304 \210`U\204= \301W\2036 T\2028 S\262\202 \211\262\207" [1 0 -1 end-of-defun beginning-of-defun] 6 (#$ . 50443)])#@258 Move forward COUNT sentences.
Moves point COUNT sentences forward or (- COUNT) sentences
backward if COUNT is negative.  This function is the same as
`forward-sentence' but returns the number of sentences that could
NOT be moved over.

(fn &optional COUNT)
(defalias 'forward-evil-sentence #[256 "\211\206 \300\211\301W\203 \302\202 \300\301U\204; `\3031# \304!0\210\202$ \210`U\204; \301W\2034 T\2026 S\262\202 \211\262\207" [1 0 -1 (error) forward-sentence] 6 (#$ . 50900)])#@234 Move forward COUNT paragraphs.
Moves point COUNT paragraphs forward or (- COUNT) paragraphs backward
if COUNT is negative.  A paragraph is defined by
`start-of-paragraph-text' and `forward-paragraph' functions.

(fn &optional COUNT)
(defalias 'forward-evil-paragraph #[256 "\211\206 \300\211\301W\203 \302\202 \300\301U\204D `\301V\203# \303 \210\202- o\204- \304 \210\305 \210`U\204D \301W\203= T\202? S\262\202 \211\262\207" [1 0 -1 forward-paragraph start-of-paragraph-text beginning-of-line] 6 (#$ . 51395)])#@51 The character to be used by `forward-evil-quote'.
(defvar evil-forward-quote-char 34 (#$ . 51925))#@188 Move forward COUNT strings.
The quotation character is specified by the global variable
`evil-forward-quote-char'. This character is passed to
`evil-forward-quote'.

(fn &optional COUNT)
(defalias 'forward-evil-quote #[256 "\301\"\207" [evil-forward-quote-char evil-forward-quote] 4 (#$ . 52030)])#@353 Move forward COUNT strings.
The quotation character is specified by the global variable
`evil-forward-quote-char'. This functions uses Vim's rules
parsing from the beginning of the current line for quotation
characters. It should only be used when looking for strings
within comments and buffer *must* be narrowed to the comment.

(fn &optional COUNT)
(defalias 'forward-evil-quote-simple #[256 "\211\206 \301\302V\203 \301\202 \303`\302\304 \210`W\203, \305fU\203& \211T\262\305u\210\202 \306\307!_\310\306\"Z\262\302V\203f l\204Z \211\302U\204Z \305fU\203T \211S\262\305u\210\202? \211\302U\204\213 db\210\202\213 n\204\202 \211\302U\204\202 `SfU\203| \211S\262\303u\210\202f \211\302U\204\213 eb\210\211\306\245\207" [evil-forward-quote-char 1 0 -1 beginning-of-line nil 2 abs mod] 9 (#$ . 52336)])#@101 Move forward to beginning of THING.
The motion is repeated COUNT times.

(fn THING &optional COUNT)
(defalias 'evil-forward-beginning #[513 "\211\206 \300\262\211\301W\203 \302\"\207\303!\304\203% `AW\203% Ab\210\3051P \302\"\211\262\301U\205M \303!\203J o\204J n\203G m\204J \306u\210\307!0\210\207\210\207" [1 0 forward-thing bounds-of-thing-at-point nil (error) -1 beginning-of-thing] 7 (#$ . 53161)])#@169 Move backward to beginning of THING.
The motion is repeated COUNT times. This is the same as calling
`evil-backward-beginning' with -COUNT.

(fn THING &optional COUNT)
(defalias 'evil-backward-beginning #[513 "\300\206 \301[\"\207" [evil-forward-beginning 1] 5 (#$ . 53586)])#@95 Move forward to end of THING.
The motion is repeated COUNT times.

(fn THING &optional COUNT)
(defalias 'evil-forward-end #[513 "\211\206 \300\262\211\301V\203  m\204 \302u\210\303\"o\204Q \304u\210\207\305!\302\2033 `AW\2033 @b\210\3061N \303\"\211\262\301U\205I \307!\210\304u0\210\202O \210\262\207" [1 0 nil forward-thing -1 bounds-of-thing-at-point (error) end-of-thing] 7 (#$ . 53870)])#@157 Move backward to end of THING.
The motion is repeated COUNT times. This is the same as calling
`evil-backward-end' with -COUNT.

(fn THING &optional COUNT)
(defalias 'evil-backward-end #[513 "\300\206 \301[\"\207" [evil-forward-end 1] 5 (#$ . 54283)])#@233 Move by words.
Moves point COUNT words forward or (- COUNT) words backward if
COUNT is negative. This function is the same as `forward-word'
but returns the number of words by which point could *not* be
moved.

(fn &optional COUNT)
(defalias 'evil-forward-word #[256 "\211\206 \300\262\211\301Y\203 \300\202 \302\303!\211\301V\203' v\203' \211S\262\202 \207" [1 0 -1 abs] 5 (#$ . 54544)])#@174 Check if POS is within a comment according to current syntax.
If POS is nil, (point) is used. The return value is the beginning
position of the comment.

(fn &optional POS)
(defalias 'evil-in-comment-p #[256 "\211\206 `\262m\203 \211\202b \300fz\301U\203 \211T\202b \302\303`!@\304\"\305U\204? \302\303`T!@\2062 \305\306\"\305U\204? \211\307\\\202b \302\303`!@\306\"\305U\204a \302\303`S!@\206U \305\304\"\305U\204a \211T\202b \211\212\310!)\3118\205p \3128\207" [nil 60 logand syntax-after 65536 0 131072 2 syntax-ppss 4 8] 5 (#$ . 54947)])#@419 Return t if point is at the start of a comment.
Point must be on one of the opening characters of a block comment
according to the current syntax table. Futhermore, these
characters must been parsed as opening characters, i.e. they
won't be considered as comment starters inside a string or
possibly another comment. Point is moved to the first character
of the comment opener if MOVE is non-nil.

(fn &optional MOVE)
(defalias 'evil-looking-at-start-comment #[256 "`dU\203 \300\207\300fz\301U\203 `\302`T!\232\207\303\304`!@\305\"\306U\204< \303\304`T!@\206- \306\307\"\306U\204< `\302\310`\\!\232\207\303\304`!@\307\"\306U?\205m \303\304`S!@\206S \306\305\"\306U?\205m `S\302`T!\232\205m \211\203l \311u\210\312\207" [nil 60 evil-in-comment-p logand syntax-after 65536 0 131072 2 -1 t] 5 (#$ . 55502)])#@403 Return t if point is at the end of a comment.
Point must be on one of the opening characters of a block comment
according to the current syntax table. Futhermore, these
characters must been parsed as opening characters, i.e. they
won't be considered as comment starters inside a string or
possibly another comment. Point is moved right after the comment
closer if MOVE is non-nil.

(fn &optional MOVE)
(defalias 'evil-looking-at-end-comment #[256 "\300fz\301U\203 \302 \205\206 \302`T!?\205\206 \211\203 \300u\210\303\207\304\305`!@\306\"\307U\204R \304\305`T!@\2064 \307\310\"\307U\204R \302 \205\206 \302`\311\\!?\205\206 \211\203P \311u\210\303\207\304\305`!@\310\"\307U?\205\206 \304\305`S!@\206i \307\306\"\307U?\205\206 \302 \205\206 \302`T!?\205\206 \211\203\205 \300u\210\303\207" [nil 62 evil-in-comment-p t logand syntax-after 262144 0 524288 2] 4 (#$ . 56315)])#@88 Insert a new line above point and place point in that line
with regard to indentation.
(defalias 'evil-insert-newline-above #[0 "\214edBB\303 \206 e\304 \206 d}\210\305 \210	\203  \n\202! \306c\210\307y\210\310 *\207" [evil-restriction-stack use-hard-newlines hard-newline field-beginning field-end evil-move-beginning-of-line "\n" -1 back-to-indentation] 2 (#$ . 57195)])#@88 Insert a new line below point and place point in that line
with regard to indentation.
(defalias 'evil-insert-newline-below #[0 "\214edBB\303 \206 e\304 \206 d}\210\305 \210	\203  \n\202! \306c\210\307 *\207" [evil-restriction-stack use-hard-newlines hard-newline field-beginning field-end evil-move-end-of-line "\n" back-to-indentation] 2 (#$ . 57577)])#@50 Whether CHAR denotes a global marker.

(fn CHAR)
(defalias 'evil-global-marker-p #[257 "\211\300Y\203\f \211\301X\206 \211\302\303!\236\207" [65 90 default-value evil-markers-alist] 4 (#$ . 57941)])#@221 Set the marker denoted by CHAR to position POS.
POS defaults to the current position of point.
If ADVANCE is t, the marker advances when inserting text at it;
otherwise, it stays behind.

(fn CHAR &optional POS ADVANCE)
(defalias 'evil-set-marker #[769 "\3032\313 \304\305\"\306\307!\204\264 \310\267\202! \262\202\264 	\262\202\264 \203A 9\203A \311!\203A \211J\2068 \312 L\210J\262\202\264 \313=\203R \314 \210\315\303\306\"\210\202\264 \316!\203a \317\320\"\210\202\264 \321!\203\223 \322\302!\262\312 \262\323\324#\211\203\201 \211\241\266\202\213 B\211\262B\266\202\325\302\"\210\202\264 \312 \262\323\n\324#\211\203\250 \211\241\266\202\262 B\211\262\nB\210\n\210\326\327\330\306\305$\210\331\"\210\206\306 `\306\223\266\2020\207" [evil-visual-mark evil-visual-point evil-markers-alist done evil-get-marker t nil markerp #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (evil-visual-beginning 21 evil-visual-goto-end 27)) boundp make-marker evil-jump-backward-swap evil-set-jump throw functionp user-error "Cannot set special marker `%c'" evil-global-marker-p default-value assoc equal set-default add-hook kill-buffer-hook evil-swap-out-markers set-marker-insertion-type] 10 (#$ . 58147) (byte-code "\300 C\207" [read-char] 1)])
(evil-set-command-properties 'evil-set-marker :suppress-operator t)#@331 Return the marker denoted by CHAR.
This is either a marker object as returned by `make-marker',
a number, a cons cell (FILE . POS) with FILE being a string
and POS a number, or nil. If RAW is non-nil, then the
return value may also be a variable, a movement function,
or a marker object pointing nowhere.

(fn CHAR &optional RAW)
(defalias 'evil-get-marker #[513 "\301!\203 \302\300!\202 \236A\203 \207\2119\203$ \303!\203$ \211J\262\304!\203> \212\305 \306\307\"\216 \210\310 `\311\223)\266\202)\312!\203W \313!p=\203P \314!\207\313!\205X \207\211\207" [evil-markers-alist evil-global-marker-p default-value boundp functionp current-window-configuration make-closure #[0 "\301\300!\207" [V0 set-window-configuration] 2] make-marker nil markerp marker-buffer marker-position] 7 (#$ . 59533)])#@62 Turn markers into file references when the buffer is killed.
(defalias 'evil-swap-out-markers #[0 "\205- 	\211\205+ \211@\302A!\203$ \303A!p=\203$ \211\304A!B\241\210A\266\202\202 \262\207" [buffer-file-name evil-markers-alist markerp marker-buffer marker-position] 6 (#$ . 60347)])
(put 'evil-swap-out-markers 'permanent-local-hook t)#@145 Eval INPUT and return stringified result, if of a suitable type.
If INPUT starts with a number, +, -, or . use `calc-eval' instead.

(fn INPUT)
(defalias 'evil--eval-expr #[257 "\301\302\303\304$\266\203\211\203 \302\305!)\202 \306\307!@\304\"\211;\203% \207\211\247\204/ \2119\2034 \310\311\"\207\312!\203@ \313\314\315#\207\316\317\320!\"\207" [calc-multiplication-has-precedence "\\`[[:space:]]*[0-9+.-]" nil string-match t calc-eval eval read-from-string format "%s" sequencep mapconcat #[257 "\300\301\"\207" [format "%s"] 4 "\n\n(fn X)"] "\n" user-error "Using `%s' as a string" type-of] 9 (#$ . 60697)])#@230 `evil-paste-before' cannot have `delete-minibuffer-contents' called before
it fetches certain registers becuase this would trigger various ex-updates,
sometimes moving point, so `C-a' `C-w' etc. would miss their intended target.
(defvar evil-paste-clear-minibuffer-first nil (#$ . 61328))#@187 Remove the default text shown in the ex minibuffer.
When Ex starts, the previous command is shown enclosed in
parenthesis. This function removes this text when the first key
is pressed.
(defalias 'evil-ex-remove-default #[0 "\303=\204# \304 dU\204# \305=\203 \306	\307=\203  \310\202# \311 \210\312\313\314\310#\207" [this-command this-original-command evil-paste-clear-minibuffer-first exit-minibuffer minibuffer-prompt-end evil-ex-delete-backward-char ignore evil-paste-from-register t delete-minibuffer-contents remove-hook pre-command-hook evil-ex-remove-default] 4 (#$ . 61623)])#@736 Return contents of REGISTER.
Signal an error if empty, unless NOERROR is non-nil.

The following special registers are supported.
  "  the unnamed register
  *  the clipboard contents
  +  the clipboard contents
  <C-w> the word at point (ex mode only)
  <C-a> the WORD at point (ex mode only)
  <C-o> the symbol at point (ex mode only)
  <C-f> the current file at point (ex mode only)
  %  the current file name (read only)
  #  the alternate file name (read only)
  /  the last search pattern (read only)
  :  the last command line (read only)
  .  the last inserted text (read only)
  -  the last small (less than a line) delete
  _  the black hole register
  =  the expression register (read only)

(fn REGISTER &optional NOERROR)
(defalias 'evil-get-register #[513 "\306!\204 \307\310\"\210\3111\255\312=\203 \313\314!\202\244\315X\203: \316X\203: \315Z\211GW\2055 \313\317\"\262\202\244\320\267\202\f\321=\203J \322\202K \323\324!\262\202\244r	\206i \325 \211\205a \326!\262\206i \327\330!q\210\331\332!)\202\244r	\206\210 \325 \211\205\200 \326!\262\206\210 \327\333!q\210\331\334!)\202\244r	\206\247 \325 \211\205\237 \326!\262\206\247 \327\335!q\210\331\336!)\202\244r	\206\306 \325 \211\205\276 \326!\262\206\306 \327\337!q\210\331\340!)\202\244r	\206\345 \325 \211\205\335 \326!\262\206\345 \327\341!q\210\342\343\344\331\345!#)\202\244\346	\206\325 \211\205 \326!\262!\206\253\327\347!\202\244\350U\203#r\351 q\210\346 )\206\253\327\347!\202\244\352\267\202\235\n\353=\2033\202=\f\203;\202=@@\206\253\327\354!\202\244A@\206\253\327\355!\202\244B\202\244C\202\244\317D\356\357\360!\211\361\362#M\210\361\363\"\216\364\365\"\210\366\367E\205\203\370E\371\372#F\373\374E\317&)\266\202E\375E!)\202\244\344\202\253\227\262\376!\206\253\327\377\"0\207?\205\272\201G @A\"\207" [kill-ring evil-ex-original-buffer evil-search-module evil-ex-search-history isearch-regexp regexp-search-ring characterp error "Invalid register `%S'" (error) 34 current-kill 0 49 57 t #s(hash-table size 8 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (42 64 43 64 23 83 1 114 15 145 6 176 12 207 37 242)) 42 PRIMARY CLIPBOARD gui--selection-value-internal minibuffer-selected-window window-buffer user-error "Register <C-w> is only available in Ex state" thing-at-point evil-word "Register <C-a> is only available in Ex state" evil-WORD "Register <C-o> is only available in Ex state" evil-symbol "Register <C-f> is only available in Ex state" filename "Register <C-l> is only available in Ex state" replace-regexp-in-string "\n\\'" "" line buffer-file-name "No file name" 35 other-buffer #s(hash-table size 6 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (47 297 58 327 46 339 45 344 61 349 95 409)) evil-search "No previous regular expression" "No previous command line" #[0 "\205\n \301\302\303\304\305$\207" [evil-last-=-register-input add-hook pre-command-hook evil-ex-remove-default nil t] 5] make-symbol "minibuffer-setup" make-closure #[0 "\302\303\300\"\210\301 \207" [V0 V1 remove-hook minibuffer-setup-hook] 3] #[0 "\301\302\300\"\207" [V0 remove-hook minibuffer-setup-hook] 3] add-hook minibuffer-setup-hook read-from-minibuffer "=" propertize face shadow nil evil-eval-history evil--eval-expr get-register "Register `%c' is empty" search-ring evil-ex-history evil-last-insertion evil-last-small-deletion enable-recursive-minibuffers evil-last-=-register-input evil-eval-map signal] 12 (#$ . 62219)])#@62 Append TEXT to the contents of REGISTER.

(fn REGISTER TEXT)
(defalias 'evil-append-register #[514 "\300!\301\204 \202n ;\204 \302\"\202n \303\304G\305\306%\2041 \303\304G\305\306%\203k \211G\304V\205E \211GSH\307U?\205E \310\211G\304V\205Z \211GSH\307U?\205Z \310R\262\311\304G\305\312%\210\202n P\"\207" [get-register set-register vconcat text-property-not-all 0 yank-handler nil 10 "\n" put-text-property (evil-yank-line-handler)] 11 (#$ . 65745)])#@171 Set the contents of REGISTER to TEXT.
If REGISTER is an upper case character then TEXT is appended to that
register instead of replacing its content.

(fn REGISTER TEXT)
(defalias 'evil-set-register #[514 "\305!\204\n \306\307!\207\310\267\202 \306\311!\207\312!\207\313X\203= \314X\203= \204, \312!\207	\315\211\316\313Z!\210	\240+\207\317\267\202S \320\321\"\207\320\322\"\207\211\211\207\315\207\323X\203e \324X\203e \325\227\"\207\326\"\207" [kill-ring kill-ring-yank-pointer interprogram-cut-function interprogram-paste-function evil-last-small-deletion characterp user-error "Invalid register" #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (58 16 46 16 37 16 34 20)) "Can't modify read-only register" kill-new 49 57 nil current-kill #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (42 67 43 72 45 77 95 81)) evil-set-selection PRIMARY CLIPBOARD 65 90 evil-append-register set-register] 5 (#$ . 66230)])#@182 Return an alist of all registers, but only those named
with number or character. Registers with symbol or string in names are ignored
to keep Vim compatibility with register jumps.
(defalias 'evil-register-list #[0 "\302\303\304\305\306\"\307BC\310\311	\"\312$\313\"\207" [evil-last-=-register-input register-alist sort append mapcar #[257 "\211\300\301\"B\207" [evil-get-register t] 5 "\n\n(fn REG)"] (34 42 43 37 35 47 58 46 45 49 50 51 52 53 54 55 56 57) 61 cl-remove-if-not #[257 "\300@!\207" [number-or-marker-p] 3 "\n\n(fn REG)"] nil car-less-than-car] 7 (#$ . 67244)])#@166 Return non-nil if a motion error should be suppressed.
Whether the motion error should be suppressed depends on the
variable `evil-kbd-macro-suppress-motion-error'.
(defalias 'evil-kbd-macro-suppress-motion-error #[0 "\203\n 	\303>\206 \n\205 	\304>\207" [defining-kbd-macro evil-kbd-macro-suppress-motion-error executing-kbd-macro (t record) (t replay)] 2 (#$ . 67829)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put evil-kbd-macro-suppress-motion-error speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@69 Set buffer's mark to POS.
If POS is nil, delete the mark.

(fn POS)
(defalias 'evil-move-mark #[257 "\300 \301\223\207" [mark-marker nil] 4 (#$ . 68371)])#@312 Save Transient Mark mode and make it buffer-local.
Any changes to Transient Mark mode are now local to the current
buffer, until `evil-restore-transient-mark-mode' is called.

Variables pertaining to Transient Mark mode are listed in
`evil-transient-vars', and their values are stored in
`evil-transient-vals'.
(defalias 'evil-save-transient-mark-mode #[0 "\211\205. \211@\302!\203' \211	\236\204' \211J\303!E	B\304!\210\305\306\307#\210A\266\202\202 \207" [evil-transient-vars evil-transient-vals boundp local-variable-p make-variable-buffer-local put permanent-local t] 6 (#$ . 68533)])#@371 Restore Transient Mark mode.
This presupposes that `evil-save-transient-mark-mode' has been
called earlier. If Transient Mark mode was disabled before but
enabled in the meantime, this function disables it; if it was
enabled before but disabled in the meantime, this function
enables it.

The earlier settings of Transient Mark mode are stored in
`evil-transient-vals'.
(defalias 'evil-restore-transient-mark-mode #[0 "\301\211\211\211\211A\242\211\262\205Q \211A\262\242\262\211A\262\242\262\211A\262\242\262\204/ \302!\210J\232\204 \303!\203K \203E \304\202F \305!\210\202 \211\262\202 \207" [evil-transient-vals nil kill-local-variable fboundp 1 -1] 6 (#$ . 69137)])#@150 Toggle Transient Mark mode.
Ensure that the region is properly deactivated.
Enable with positive ARG, disable with negative ARG.

(fn &optional ARG)
(defalias 'evil-transient-mark #[256 "\211\247\204 \203 \301\202 \302\262\211\302W\203, \303\301!\210\304\305!\203$ \305\301!\210\2058 \300\301!\207?\2058 \303\301!\210\300\302!\207" [transient-mark-mode -1 1 evil-active-region fboundp cua-mode] 3 (#$ . 69836)])#@149 Toggle active region.
Ensure that Transient Mark mode is properly enabled.
Enable with positive ARG, disable with negative ARG.

(fn &optional ARG)
(defalias 'evil-active-region #[256 "\211\247\204 \304 \203 \305\202 \306\262\211\306W\203/ \204 	\205W \307\211\310\303!\203+ \307\311\312!\207\313\306!\210\n\2039 \307\314\315!\204C \316`!\210\304 \204N \317\314\315!!\210\310\303!\205W \315\211\207" [transient-mark-mode mark-active deactivate-mark cua--explicit-region-start region-active-p -1 1 nil boundp run-hooks deactivate-mark-hook evil-transient-mark mark t evil-move-mark set-mark] 5 (#$ . 70261)])#@115 Execute BODY with Transient Mark mode.
Then restore Transient Mark mode to its previous setting.

(fn &rest BODY)
(defalias 'evil-with-transient-mark-mode '(macro . #[128 "\300\301\302\303\304\305BBB\306BBE\207" [let ((inhibit-quit t) evil-transient-vals) unwind-protect progn (evil-save-transient-mark-mode) (evil-transient-mark 1) ((evil-restore-transient-mark-mode))] 8 (#$ . 70886)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put evil-with-transient-mark-mode lisp-indent-function defun put edebug-form-spec t] 5)#@78 Execute BODY with an active region from BEG to END.

(fn BEG END &rest BODY)
(defalias 'evil-with-active-region '(macro . #[642 "\300\301D\302D\303BB\304\305\306\307\310BBBBDE\207" [let beg end (evil-transient-vals) evil-with-transient-mark-mode save-excursion (evil-active-region 1) (evil-move-mark beg) (goto-char end)] 11 (#$ . 71432)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put evil-with-active-region lisp-indent-function 2 put edebug-form-spec t] 5)#@56 Exchange point and mark without activating the region.
(defalias 'evil-exchange-point-and-mark #[0 "`\300\301!\206 \211\302 \303\223\210\211b\207" [mark t mark-marker nil] 5 (#$ . 71922)])#@365 Call FUNC for each line of a block selection.
The selection is specified by the region BEG and END.  FUNC must
take at least two arguments, the beginning and end of each
line.  If PASS-COLUMNS is non-nil, these values are the columns,
otherwise they are buffer positions.  Extra arguments to FUNC may
be passed via ARGS.

(fn FUNC BEG END PASS-COLUMNS &rest ARGS)
(defalias 'evil-apply-on-block #[1156 "\303\211\211\211\212b\210i\262\304 \262b\210i\262\305y\210\306 \262V\203* \262\262\307>\203M 	\n=\203M b\210`W\203M \310\311 !]\262\305y\210\2029 b\210`W\205 \203f \312	$\210\202y \312	\212\313!)\212\313\314\")$\210\305y\210\202P )\207" [last-command temporary-goal-column most-positive-fixnum nil line-beginning-position 1 point-marker (next-line previous-line evil-use-register) evil-column line-end-position apply evil-move-to-column t] 15 (#$ . 72119)])#@272 Like `apply-on-rectangle' but maybe extends to eol.
If `temporary-goal-column' is set to a big number, then the
region of each line is extended to the end of each line. The end
column is set to the maximal column in all covered lines.

(fn FUNCTION START END &rest ARGS)
(defalias 'evil-apply-on-rectangle #[899 "\300\301\302&\207" [apply evil-apply-on-block t] 11 (#$ . 73020)])#@215 Track the last insertion range and its text.
BEG, END and OLD-LEN are as for `after-change-functions'.
The insertion range is stored as a pair of buffer positions in
`evil-current-insertion'.

(fn BEG END OLD-LEN)
(defalias 'evil-track-last-insertion #[771 "\2034 @AX\205 \\U\206 \302 \205 U\266\202\2034 	\303=\205, \211\304U?\2059 \241\207B\211\207" [evil-current-insertion this-command evil-replace-state-p evil-replace-backspace 0] 7 (#$ . 73412)])
(put 'evil-track-last-insertion 'permanent-local-hook t)#@36 Start tracking the last insertion.
(defalias 'evil-start-track-last-insertion #[0 "\301\302\303\304\301\305$\207" [evil-current-insertion nil add-hook after-change-functions evil-track-last-insertion t] 5 (#$ . 73945)])#@90 Stop tracking the last insertion.
The tracked insertion is set to `evil-last-insertion'.
(defalias 'evil-stop-track-last-insertion #[0 "\205 @eY\205 AdX\205 \302@A\"\303\304\305\306#\207" [evil-current-insertion evil-last-insertion buffer-substring-no-properties remove-hook after-change-functions evil-track-last-insertion t] 4 (#$ . 74171)])#@119 Save the characters defined by the region BEG and END in the kill-ring.

(fn BEG END &optional REGISTER YANK-HANDLER)
(defalias 'evil-yank-characters #[1026 "\301\"\203 \302\303G\304C%\210\203 \305\"\210\203$ \305\306\"\210\307=?\205. \310!\207" [evil-was-yanked-without-register filter-buffer-substring put-text-property 0 yank-handler evil-set-register 48 95 kill-new] 11 (#$ . 74530)])#@108 Save the lines in the region BEG and END into the kill-ring.

(fn BEG END &optional REGISTER YANK-HANDLER)
(defalias 'evil-yank-lines #[1026 "\301\"\206	 \302\303\304EG\305U\204 \211GSH\306U\204\" \307P\262\310\305G\311%\210\2035 \312\"\210\203> \312\313\"\210\314=?\205H \315!\207" [evil-was-yanked-without-register filter-buffer-substring evil-yank-line-handler nil t 0 10 "\n" put-text-property yank-handler evil-set-register 48 95 kill-new] 12 (#$ . 74940)])#@116 Save the rectangle defined by region BEG and END into the kill-ring.

(fn BEG END &optional REGISTER YANK-HANDLER)
(defalias 'evil-yank-rectangle #[1026 "\301C\302\303$\210\211A\237\262\206 \304\305\306F\307\310\311#\312\313G\314%\210\2030 \315\"\210\2039 \315\316\"\210\317=\204C \320!\210\207" [evil-was-yanked-without-register nil evil-apply-on-rectangle extract-rectangle-line evil-yank-block-handler t evil-delete-yanked-rectangle mapconcat identity "\n" put-text-property 0 yank-handler evil-set-register 48 95 kill-new] 13 (#$ . 75428)])#@57 Remove `yank-excluded-properties' from TEXT.

(fn TEXT)
(defalias 'evil-remove-yank-excluded-properties #[257 "\301=\203 \302\303G\304$\207\305\303G$\207" [yank-excluded-properties t set-text-properties 0 nil remove-list-of-text-properties] 6 (#$ . 75998)])#@46 Insert the current text linewise.

(fn TEXT)
(defalias 'evil-yank-line-handler #[257 "\304\305\306\206 \307\"\"`\310!\210	\311\267\202d \312 \210`c\210\313`\257\314\315\"\210\314\316`S\"\210\211b\266\317 \207\320 \210`\321c\210c\210\322\323!\210\324`\257\314\315T\"\210\314\316`\"\210\204` \211Tb\210\210\317 \207c\207" [evil-paste-count this-command evil-last-paste evil--cursor-after apply concat make-list 1 evil-remove-yank-excluded-properties #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (evil-paste-before 22 evil-paste-after 55)) evil-move-beginning-of-line evil-paste-before evil-set-marker 91 93 back-to-indentation evil-move-end-of-line "\n" delete-char -1 evil-paste-after] 9 (#$ . 76268)])#@47 Insert the current text as block.

(fn LINES)
(defalias 'evil-yank-block-handler #[257 "\206 \304\305	\306=\203  n\203 l\204  \307\211\262\203  iT\202! i`\307\211\203\253 \211@\2034 \305\262\202F \304y\310V\204C m\203F n\204F \311c\210\312\313\314	\"\"\262\315\316\"\210\317\304\"\304\224\310\225\304\225Z\320\321 !W\203p \322\230\204\242 \320\321 !W\203\205 \323\\\307\"\210\202\221 \323\307\"\210\324\325\"c\210\326!\210c\210l\204\242 \324\325\"c\210\266A\266\202\202$ \210	G\n@G_\257\327\330\"\210\327\331`S\"\210\203\316 \332u\207b\210\205\327 \305u\207" [evil-paste-count this-command evil-last-paste evil--cursor-after 1 nil evil-paste-after t 0 "\n" apply concat make-list string-match "\\` *\\(.*?\\) *\\'" match-string evil-column line-end-position "" move-to-column make-string 32 evil-remove-yank-excluded-properties evil-set-marker 91 93 -1] 14 (#$ . 77036)])#@142 Special function to delete the block yanked by a previous paste command.
Supplied as the `undo' element of a yank handler.

(fn NROWS NCOLS)
(defalias 'evil-delete-yanked-rectangle #[514 "`\301=\203\f iT\202 i\302\211W\2037 \303\212\304!\210`)\212\304\\!\210`)|\210m\204/ \303y\210\210\211T\262\202 \210b\207" [last-command evil-paste-after 0 nil move-to-column] 10 (#$ . 77955)])#@496 Replace the just-yanked stretch of killed text with a different stretch.
This command is allowed only immediatly after a `yank',
`evil-paste-before', `evil-paste-after' or `evil-paste-pop'.
This command uses the same paste command as before, i.e., when
used after `evil-paste-after' the new text is also yanked using
`evil-paste-after', used with the same paste-count argument.

The COUNT argument inserts the COUNTth previous kill.  If COUNT
is negative this is a more recent kill.

(fn COUNT)
(defalias 'evil-paste-pop #[257 "\306>\204 \307\310\"\210	\204 \307\311!\210\312 \210\313	8b\210	@\314\315V\2030 \316	8\2030 T\2021 !C\317=\203B \320\321 )\210	@	A@!\210\317=\205T \322	\233\323\241*\207" [last-command evil-last-paste this-command kill-ring kill-ring-yank-pointer evil-no-display (evil-paste-after evil-paste-before evil-visual-paste) user-error "Previous command was not an evil-paste: %s" "Previous paste command used a register" evil-undo-pop 2 current-kill 0 5 evil-visual-paste t evil-visual-restore 4 nil] 4 (#$ . 78352) "p"])#@66 Same as `evil-paste-pop' but with negative argument.

(fn COUNT)
(defalias 'evil-paste-pop-next #[257 "\300[!\207" [evil-paste-pop] 3 (#$ . 79415) "p"])#@167 Match an interactive code at position POS in string INTERACTIVE.
Return the first matching entry in `evil-interactive-alist', or nil.

(fn INTERACTIVE &optional POS)
(defalias 'evil-match-interactive-code #[513 "\211\204 \301\262G\302\211\211:\203I @\262@G\\\211X\2056 \303\302\211\f\f&\304=\2056 \266\202\211\262?\211\262\203I A\262\202 \207" [evil-interactive-alist 0 nil compare-strings t] 16 (#$ . 79575)])#@148 Concatenate interactive list expressions FORMS.
Return a single expression where successive expressions
are joined, if possible.

(fn &rest FORMS)
(defalias 'evil-concatenate-interactive-forms #[128 "\300\205h A\203E @\204 A\262\202 @@\301=\2038 A@@\301=\2038 \302@A@A\"AAB\262\202 \211A\262\242B\262\202 @\203T \211A\262\242B\262\211\237\262\211?\206h \211A\204e \211@\207\302B\207" [nil list append] 5 (#$ . 80017)])#@333 Evaluate the interactive string STRING.
The string may contain extended interactive syntax.
The return value is a cons cell (FORM . PROPERTIES),
where FORM is a single list-expression to be passed to
a standard `interactive' statement, and PROPERTIES is a
list of command properties as passed to `evil-define-command'.

(fn STRING)
(defalias 'evil-interactive-string #[257 "\211G\300\301\211W\203\204 H\302=\203 T\262\202 \303\"\206) \304\305\301O\"\211A\2037 \211A\262\242\202> \306\307\310GD\"\211A\262\242G\\\262\311!\203t \312\n	\313\314$\266\203\206f OG\\\262\315E\266\202\316C\"\262\316\"\266\204\202 \316BB\207" [0 nil 10 evil-match-interactive-code user-error "Unknown interactive code: `%s'" signal wrong-number-of-arguments (code expr . plist) functionp "\n" string-match t funcall append] 18 (#$ . 80468)])#@278 Evaluate interactive forms ARGS.
The return value is a cons cell (FORM . PROPERTIES),
where FORM is a single list-expression to be passed to
a standard `interactive' statement, and PROPERTIES is a
list of command properties as passed to `evil-define-command'.

(fn &rest ARGS)
(defalias 'evil-interactive-form #[128 "\300\211\211\2033 \211@\211;\204 \301C\"\262\202, \302!\262\301@A\"\262\301A\"\262A\266\202\202 \210\303\304\"B\207" [nil append evil-interactive-string apply evil-concatenate-interactive-forms] 8 (#$ . 81339)])#@79 Return the type of OBJECT, or DEFAULT if none.

(fn OBJECT &optional DEFAULT)
(defalias 'evil-type #[513 "\300\301!\203 \302\303\"\262\202E \304!\203 \3058\262\202E <\203, \306\303\"\262\202E \307!\203; \310\303\"\262\202E 9\203E \311N\262\211\206J \262\312!\205S \211\207" [nil overlayp overlay-get :type evil-range-p 2 plist-get commandp evil-get-command-property type evil-type-p] 6 (#$ . 81890)])#@155 Set the type of OBJECT to TYPE.
For example, (evil-set-type \='next-line \='line)
will make `line' the type of the `next-line' command.

(fn OBJECT TYPE)
(defalias 'evil-set-type #[514 "\300!\203 \301\302#\210\202E \303!\203 \304\"\210\202E <\203+ \305\302#\210\202E \306!\203: \307\302#\210\202E 9\203E \310\311#\210\207" [overlayp overlay-put :type evil-range-p evil-set-range-type plist-put commandp evil-set-command-property put type] 6 (#$ . 82317)])#@48 Return property PROP for TYPE.

(fn TYPE PROP)
(defalias 'evil-type-property #[514 "\301\236A\"\207" [evil-type-properties plist-get] 5 (#$ . 82796)])#@46 Whether SYM is the name of a type.

(fn SYM)
(defalias 'evil-type-p #[257 "\211\236\207" [evil-type-properties] 3 (#$ . 82955)])#@170 Expand BEG and END as TYPE with PROPERTIES.
Return a list (BEG END TYPE PROPERTIES ...), where the tail
may contain a property list.

(fn BEG END TYPE &rest PROPERTIES)
(defalias 'evil-expand #[899 "\300\301\302\303\"?\205 \304&\207" [apply evil-transform plist-get :expanded :expand] 11 (#$ . 83091)])#@172 Contract BEG and END as TYPE with PROPERTIES.
Return a list (BEG END TYPE PROPERTIES ...), where the tail
may contain a property list.

(fn BEG END TYPE &rest PROPERTIES)
(defalias 'evil-contract #[899 "\300\301\302&\207" [apply evil-transform :contract] 11 (#$ . 83411)])#@173 Normalize BEG and END as TYPE with PROPERTIES.
Return a list (BEG END TYPE PROPERTIES ...), where the tail
may contain a property list.

(fn BEG END TYPE &rest PROPERTIES)
(defalias 'evil-normalize #[899 "\300\301\302&\207" [apply evil-transform :normalize] 11 (#$ . 83699)])#@239 Apply TRANSFORM on BEG and END with PROPERTIES.
Return a list (BEG END TYPE PROPERTIES ...), where the tail
may contain a property list. If TRANSFORM is undefined,
return positions unchanged.

(fn TRANSFORM BEG END TYPE &rest PROPERTIES)
(defalias 'evil-transform #[1156 "\206 \300!\211\205 \205 \301\"\211\203\" \302$\207\302\303%\207" [evil-type evil-type-property apply evil-range] 13 (#$ . 83990)])#@145 Return description of BEG and END with PROPERTIES.
If no description is available, return the empty string.

(fn BEG END TYPE &rest PROPERTIES)
(defalias 'evil-describe #[899 "\206 \300!\301\302#\303\304\"\211\203 \305$\206  \306\207" [evil-type plist-put :type evil-type-property :string apply ""] 12 (#$ . 84422)])#@220 Return a list (BEG END [TYPE] PROPERTIES...).
BEG and END are buffer positions (numbers or markers),
TYPE is a type as per `evil-type-p', and PROPERTIES is
a property list.

(fn BEG END &optional TYPE &rest PROPERTIES)
(defalias 'evil-range #[898 "\300!\300!\247\205* \211\247\205* V\203 \211\262\262D\301!\205' C\244\244\207" [evil-normalize-position evil-type-p] 9 (#$ . 84758)])#@41 Whether OBJECT is a range.

(fn OBJECT)
(defalias 'evil-range-p #[257 "\211<\205 \211@\247\205 \211A@\247\207" [] 2 (#$ . 85159)])#@40 Return beginning of RANGE.

(fn RANGE)
(defalias 'evil-range-beginning #[257 "\300!\205 \301@!\301A@!^\266\202\207" [evil-range-p evil-normalize-position] 5 (#$ . 85297)])#@34 Return end of RANGE.

(fn RANGE)
(defalias 'evil-range-end #[257 "\300!\205 \301@!\301A@!]\266\202\207" [evil-range-p evil-normalize-position] 5 (#$ . 85480)])#@41 Return properties of RANGE.

(fn RANGE)
(defalias 'evil-range-properties #[257 "\300!\205 \301!\203 \302\202 \303\233\207" [evil-range-p evil-type 3 2] 3 (#$ . 85651)])
(defalias 'evil-copy-range 'copy-sequence "Return a copy of RANGE.")#@340 Set RANGE to have beginning BEG and end END.
The TYPE and additional PROPERTIES may also be specified.
If an argument is nil, it's not used; the previous value is retained.
See also `evil-set-range-beginning', `evil-set-range-end',
`evil-set-range-type' and `evil-set-range-properties'.

(fn RANGE &optional BEG END TYPE &rest PROPERTIES)
(defalias 'evil-set-range #[1153 "\300!\205T \301!\206 \302!\301!\206 \303!\206! \304!\305!V\2031 \262\262\306\"\262\307	\"\210\310	\"\210\311	\"\210\312	\"\210\266\204\207" [evil-range-p evil-normalize-position evil-range-beginning evil-range-end evil-type evil-range-properties evil-concat-plists evil-set-range-beginning evil-set-range-end evil-set-range-type evil-set-range-properties] 12 (#$ . 85901)])#@106 Set RANGE's beginning to BEG.
If COPY is non-nil, return a copy of RANGE.

(fn RANGE BEG &optional COPY)
(defalias 'evil-set-range-beginning #[770 "\211\203	 \300!\262\240\210\207" [evil-copy-range] 5 (#$ . 86687)])#@100 Set RANGE's end to END.
If COPY is non-nil, return a copy of RANGE.

(fn RANGE END &optional COPY)
(defalias 'evil-set-range-end #[770 "\211\203	 \300!\262A\240\210\207" [evil-copy-range] 5 (#$ . 86914)])#@103 Set RANGE's type to TYPE.
If COPY is non-nil, return a copy of RANGE.

(fn RANGE TYPE &optional COPY)
(defalias 'evil-set-range-type #[770 "\211\203	 \300!\262\203 A\301!B\241\210\202  A\301!\241\210\207" [evil-copy-range evil-range-properties] 7 (#$ . 87130)])#@121 Set RANGE's properties to PROPERTIES.
If COPY is non-nil, return a copy of RANGE.

(fn RANGE PROPERTIES &optional COPY)
(defalias 'evil-set-range-properties #[770 "\211\203	 \300!\262\301!\203 AA\202 A\241\210\207" [evil-copy-range evil-type] 5 (#$ . 87408)])#@177 Return the union of the ranges RANGE1 and RANGE2.
If the ranges have conflicting types, use RANGE1's type.
This can be overridden with TYPE.

(fn RANGE1 RANGE2 &optional TYPE)
(defalias 'evil-range-union #[770 "\300!\205* \300!\205* \301\302!\302!^\303!\303!]\206) \304!\206) \304!#\207" [evil-range-p evil-range evil-range-beginning evil-range-end evil-type] 8 (#$ . 87683)])#@64 Whether RANGE1 is contained within RANGE2.

(fn RANGE1 RANGE2)
(defalias 'evil-subrange-p #[514 "\300!\205 \300!\205 \301!\301!X\205 \302!\302!Y\207" [evil-range-p evil-range-beginning evil-range-end] 5 (#$ . 88075)])#@465 Return an inner text object range of COUNT objects.
If COUNT is positive, return objects following point; if COUNT is
negative, return objects preceding point.  If one is unspecified,
the other is used with a negative argument.  THING is a symbol
understood by `thing-at-point'.  BEG, END and TYPE specify the
current selection.  If LINE is non-nil, the text object should be
linewise, otherwise it is character wise.

(fn THING BEG END TYPE &optional COUNT LINE)
(defalias 'evil-select-inner-object #[1540 "\206 \300\301!\211\205 `AW\205 \211\262\206$ \302!\206$ edB\203K \203K @V\204K AW\204K \303=\203{ TU\203{ \203X \211@W\203\\ \211@\262\203h \211AV\203l \211A\262\304V\203w S\202y T\262\304W\203\206 \202\207 b\210\305\306\307\"\306\310\f\"#\210\311\304Y\203\243 \202\244 `\304W\203\257 \202\260 `\203\270 \312\202\272 \313\314%\207" [1 bounds-of-thing-at-point evil-bounds-of-not-thing-at-point inclusive 0 evil-forward-nearest make-closure #[257 "\301\300\"\207" [V0 forward-thing] 4 "\n\n(fn CNT)"] #[257 "\301\300\"\207" [V0 evil-forward-not-thing] 4 "\n\n(fn CNT)"] evil-range line :expanded t] 14 (#$ . 88308)])#@530 Return an inner text object range of COUNT objects.
Selection is restricted to the current line, unless it is empty.
If COUNT is positive, return objects following point; if COUNT is
negative, return objects preceding point.  If one is unspecified,
the other is used with a negative argument.  THING is a symbol
understood by `thing-at-point'.  BEG, END and TYPE specify the
current selection.  If LINE is non-nil, the text object should be
linewise, otherwise it is character wise.

(fn THING BEG END TYPE &optional COUNT LINE)
(defalias 'evil-select-inner-restricted-object #[1540 "\214\300 \301 U\204 }\210\266\302&)\207" [line-beginning-position line-end-position evil-select-inner-object] 13 (#$ . 89493)])#@463 Return an outer text object range of COUNT objects.
If COUNT is positive, return objects following point; if COUNT is
negative, return objects preceding point.  If one is unspecified,
the other is used with a negative argument.  THING is a symbol
understood by thing-at-point.  BEG, END and TYPE specify the
current selection.  If LINE is non-nil, the text object should be
linewise, otherwise it is character wise.

(fn THING BEG END TYPE COUNT &optional LINE)
(defalias 'evil-select-an-object #[1541 "\206 \301\302V\203 \301\202 \303\304\206 \301!\305!\211\205& `AW\205& \211\262\211\2066 \306	!\2066 edB\307\211\n\203b 	\203b \n@V\204b 	AW\204b \310=\203\213 \nT\nU\203\213 \n\203o @W\203s @\262	\203\200 A\nV\203\204 A\262\n\203\213 \311\262\302V\203\234 	b\210\n\262\202\244 \nb\210	\262\n@U\203B	AU\203B\2038\214edBB\204\311 \312 \206\312 e\204\324 \313 \206\325 d}\210\306\f\"*\211\203\354 \211b\210\311\262\210\202B\212b\210\214edBB\204\f\314>\203\f\212\315 \210`)\202\312 \206e\204\313 \206d}\210\306[\"*\262\211\2033\211\262\311\262)\210\202B\316\f\"\210\311\262\203JS\262\302\211W\203\215\307\306	\"\211\203n\211`U\204n\316\n\"\266\202\206\316\n\"\210\306\n\"\262\211\203\204\211b\210\266\211T\262\202K\210\317\302V\203\232\202\233`\302W\203\246\202\247`	\203\260\320\202\262\321\311%\207" [evil-restriction-stack 1 0 -1 abs bounds-of-thing-at-point evil-bounds-of-not-thing-at-point nil inclusive t line-beginning-position line-end-position (evil-word evil-WORD) back-to-indentation forward-thing evil-range line :expanded] 18 (#$ . 90230)])#@528 Return an outer text object range of COUNT objects.
Selection is restricted to the current line, unless it is empty.
If COUNT is positive, return objects following point; if COUNT is
negative, return objects preceding point.  If one is unspecified,
the other is used with a negative argument.  THING is a symbol
understood by thing-at-point.  BEG, END and TYPE specify the
current selection.  If LINE is non-nil, the text object should be
linewise, otherwise it is character wise.

(fn THING BEG END TYPE &optional COUNT LINE)
(defalias 'evil-select-a-restricted-object #[1540 "\214\300 \301 U\204 }\210\266\302&)\207" [line-beginning-position line-end-position evil-select-an-object] 13 (#$ . 91924)])#@575 Return the exclusive range of a visual selection.
OP and CL are pairs of buffer positions for the opening and
closing delimiter of a range. SELECTION-TYPE is the desired type
of selection.  It is a symbol that determines which parts of the
block are selected.  If it is `inclusive' or t the returned range
is (cons (car OP) (cdr CL)). If it is `exclusive' or nil the
returned range is (cons (cdr OP) (car CL)).  If it is
`exclusive-line' the returned range will skip whitespace at the
end of the line of OP and at the beginning of the line of CL.

(fn OP CL SELECTION-TYPE)
(defalias 'evil--get-block-range #[771 "\211\300\267\202K @AB\207A@B\207A@\212b\210l\203' m\204' \301\302!\262\211b\210\303\304x\210n\203F `\262b\210n\204F W\203F \211S\262)B\207\305\306\"\207" [#s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (inclusive 6 t 6 exclusive 12 nil 12 exclusive-line 18)) line-beginning-position 2 " 	" nil user-error "Unknown selection-type `%s'"] 7 (#$ . 92652)])#@1174 Return a range (BEG END) of COUNT delimited text objects.
BEG END TYPE are the currently selected (visual) range.  The
delimited object must be given by THING-up function (see
`evil-up-block').

SELECTION-TYPE is symbol that determines which parts of the block
are selected.  If it is `inclusive' or t OPEN and CLOSE are
included in the range. If it is `exclusive' or nil the delimiters
are not contained. If it is `exclusive-line' the delimiters are
not included as well as adjacent whitespace until the beginning
of the next line or the end of the previous line. If the
resulting selection consists of complete lines only and visual
state is not active, the returned selection is linewise.

If COUNTCURRENT is non-nil an objected is counted if the current
selection matches that object exactly.

Usually scanning for the surrounding block starts at (1+ beg)
and (1- end). If this might fail due to the behavior of THING
then FIXEDSCAN can be set to t. In this case the scan starts at
BEG and END. One example where this might fail is if BEG and END
are the delimiters of a string or comment.

(fn THING BEG END TYPE COUNT &optional SELECTION-TYPE COUNTCURRENT FIXEDSCAN)
(defalias 'evil-select-block #[2053 "\212\300 \301\302\"\216\206 `\206 `\303\206 \304!\305\211\211\211U\203, T\262\2036 \2029 Tb\210\304!\306U\203i \306\224\203i \306\224\306\225B\262@b\210\307!\306U\203i \306\224\203i \306\224\306\225B\262\203r \202t Sb\210\307!\306U\203\244 \306\224\203\244 \306\224\306\225B\262Ab\210\304!\306U\203\244 \306\224\203\244 \306\224\306\225B\262\204\263 \211\204\263 \310\311!\210\202\341 \203\333 \211\203\341 @@Y\203\341 \211AAX\203\341 @X\203\341 \211AY\203\341 \262\211\262\262\262\203\203	\204\312#@X\203AY\203\202S\262\202S\211\306V\203R@b\210[!\210\306\224\2036\306\224\306\225B\2027\262Ab\210!\210\306\224\203O\306\224\306\225B\202P\262\210\312#\211@\262\211A\262\210\232\203\203\232\203\203	\203{\304U\204\203\310\311!\266\207\202\266\212\313 ?\205\234\f\314=\205\234b\210n\205\234b\210n)\203\254\315\316\317\320%\266\207\202\266\315\317\320%\266\207*\207" [match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] abs 1 nil 0 -1 error "No surrounding delimiters found" evil--get-block-range evil-visual-state-p inclusive evil-range line :expanded t] 22 (#$ . 93680)])#@862 Return a range (BEG END) of COUNT delimited text objects.
OPEN and CLOSE specify the opening and closing delimiter,
respectively. BEG END TYPE are the currently selected (visual)
range.  If INCLUSIVE is non-nil, OPEN and CLOSE are included in
the range; otherwise they are excluded.

If you aren't inside a pair of the opening and closing delimiters,
it jumps you inside the next one. If there isn't one, it errors.

The types of OPEN and CLOSE specify which kind of THING is used
for parsing with `evil-select-block'. If OPEN and CLOSE are
characters `evil-up-paren' is used. Otherwise OPEN and CLOSE
must be regular expressions and `evil-up-block' is used.

If the selection is exclusive, whitespace at the end or at the
beginning of the selection until the end-of-line or beginning-of-line
is ignored.

(fn OPEN CLOSE BEG END TYPE COUNT &optional INCLUSIVE)
(defalias 'evil-select-paren #[1798 "\3011\350 \211\204 \302\262\303!\203\322 \303!\203\322 \304\305	#\306\307!\206J \306\310!\206J `\2063 `U\205J \212\206= `Tb\210\306\307!\206I \306\310!)\211\204a \311&\266\202\202\346 \214edBB\211@\206n eA\206t d}\210\3121\214 \311&0\202\216 \210\313*\206\315 \212\206\231 `\262\206\240 `\262\211@b\210@^A]\311\n\n\nW\206\307 V\314&\266\202)\266\202\202\346 \311\304\315\n#&0\207\210\316 \304\317\"\216\203\376 \320V\203\376 \202\377 \206`b\210\303!\203\321\322	!!\202\211\323\314\"\262\204T\324\313\314$\203T\320\224b\210\320\224\325\n\n\211\n\313\n&\211@W\203N\326\327!\266\202\202W\211\266\202\202W\326\327!)\207" [evil-restriction-stack (error) exclusive-line characterp make-closure #[256 "\302\301\300#\207" [V0 V1 evil-up-paren] 5 "\n\n(fn &optional CNT)"] bounds-of-thing-at-point evil-string evil-comment evil-select-block (error) nil t #[256 "\302\301\300#\207" [V0 V1 evil-up-block] 5 "\n\n(fn &optional CNT)"] match-data #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 0 regexp-quote string looking-at re-search-forward evil-select-paren error "No surrounding delimiters found"] 20 (#$ . 96127)])#@210 Selection THING as if it described a quoted object.
THING is typically either `evil-quote' or `evil-chars'. This
function is called from `evil-select-quote'.

(fn THING BEG END TYPE COUNT &optional INCLUSIVE)
(defalias 'evil-select-quote-thing #[1541 "\212\206 \300\211\301V\203 \300\202 \302\303!\211\205! `AW\205! \211\262\304\211\203/ \305\262\202C \306!\307U\203= \262\310\262\304\262\n\304\262		\203r \203r \212\301V\203Y 	\202[ b\210\311\"\210	`X\205n `	W)\204x \304\262\n\304\262	\204\246 \311\"\301U\203\220 \303!\211\262\204\224 \312\313!\210\301V\203\240 `\262	\202\243 `\262\n\305\262	\203\300 \203\300 	@V\204\300 AW\203\350 	\203\315 @\nW\203\321 @\262\n\203\336 A	V\203\342 A\262	\305\262\305\262\203\373 \301V\203\367 S\202\371 T\262\301V\203\202	b\210\204\311\f\"U\203\312\313!\210\301V\203)`\262	\202,`\262\n\204=	T\262\nS\262	\202\234\310=\204\234\301V\203N\202P	b\210\303\314!\211\262\203o\301V\203hA\262	\202\234@\262\n\202\234\301V\203z	\202|b\210\211\203\234\303\314!\211\262\203\234\301V\203\230@\262\n\202\234A\262	\315\n\n\316 \203\252\317\202\253\320\321\305%\266\205)\207" [1 0 -1 bounds-of-thing-at-point nil t abs 2 quote-only forward-thing error "No quoted string found" evil-space evil-range evil-visual-state-p inclusive exclusive :expanded] 17 (#$ . 98256)])#@1212 Return a range (BEG END) of COUNT quoted text objects.
QUOTE specifies the quotation delimiter. BEG END TYPE are the
currently selected (visual) range.

If INCLUSIVE is nil the previous selection is ignore. If there is
quoted string at point this object will be selected, otherwise
the following (if (> COUNT 0)) or preceeding object (if (< COUNT
0)) is selected. If (/= (abs COUNT) 2) the delimiting quotes are not
contained in the range, otherwise they are contained in the range.

If INCLUSIVE is non-nil the selection depends on the previous
selection. If the currently selection contains at least one
character that is contained in a quoted string then the selection
is extended, otherwise it is thrown away. If there is a
non-selected object at point then this object is added to the
selection. Otherwise the selection is extended to the
following (if (> COUNT 0)) or preceeding object (if (< COUNT
0)). Any whitespace following (or preceeding if (< COUNT 0)) the
new selection is added to the selection. If no such whitespace
exists and the selection contains only one quoted string then the
preceeding (or following) whitespace is added to the range. 

(fn QUOTE BEG END TYPE COUNT &optional INCLUSIVE)
(defalias 'evil-select-quote #[1541 "\302\303!\206 \302\304!\211\205] `AW\205] \211@fU?\205] \211A\206& `SfU?\205] \214edB	B\211@\206< eA\206B d}\210\3051Z \306\307&0\202\\ \210\310*\262\206s \306\311&))\207" [evil-forward-quote-char evil-restriction-stack bounds-of-thing-at-point evil-comment evil-string (error) evil-select-quote-thing evil-quote-simple nil evil-quote] 14 (#$ . 99674)])#@173 Return a range (BEG END) of COUNT matching XML tags.
If INCLUSIVE is non-nil, the tags themselves are included
from the range.

(fn BEG END TYPE &optional COUNT INCLUSIVE)
(defalias 'evil-select-xml-tag #[1283 "\211\204E \300\206\n \301!\301U\203E \302\303\304\305&\203D \306!U\203D \203D \307!U\203D \302\303\305&\207\207\302\303&\207" [abs 1 evil-select-block evil-up-xml-tag nil t evil-range-beginning evil-range-end] 13 (#$ . 101317)])#@103 Expand RANGE according to its type.
Return a new range if COPY is non-nil.

(fn RANGE &optional COPY)
(defalias 'evil-expand-range #[513 "\211\203	 \300!\262\301\302!\303\"\204 \304\305\"\262\207" [evil-copy-range plist-get evil-range-properties :expanded evil-transform-range :expand] 5 (#$ . 101799)])#@105 Contract RANGE according to its type.
Return a new range if COPY is non-nil.

(fn RANGE &optional COPY)
(defalias 'evil-contract-range #[513 "\300\301#\207" [evil-transform-range :contract] 6 (#$ . 102116)])#@106 Normalize RANGE according to its type.
Return a new range if COPY is non-nil.

(fn RANGE &optional COPY)
(defalias 'evil-normalize-range #[513 "\300\301#\207" [evil-transform-range :normalize] 6 (#$ . 102332)])#@125 Apply TRANSFORM to RANGE according to its type.
Return a new range if COPY is non-nil.

(fn TRANSFORM RANGE &optional COPY)
(defalias 'evil-transform-range #[770 "\211\203	 \300!\262\301!\203 \302\303\302\304##\210\207" [evil-copy-range evil-type apply evil-set-range evil-transform] 10 (#$ . 102551)])#@99 Return description of RANGE.
If no description is available, return the empty string.

(fn RANGE)
(defalias 'evil-describe-range #[257 "\300\301\"\207" [apply evil-describe] 4 (#$ . 102869)])#@233 Start a undo step.
All following buffer modifications are grouped together as a
single action. If CONTINUE is non-nil, preceding modifications
are included. The step is terminated with `evil-end-undo-step'.

(fn &optional CONTINUE)
(defalias 'evil-start-undo-step #[256 "<\205$ 	?\205$ \n\203 \303 \207\211\204 \242\203 \304 \210\206\" \305\211\207" [buffer-undo-list evil-in-single-undo evil-undo-list-pointer evil-refresh-undo-step undo-boundary t] 3 (#$ . 103068)])#@131 End a undo step started with `evil-start-undo-step'.
Adds an undo boundary unless CONTINUE is specified.

(fn &optional CONTINUE)
(defalias 'evil-end-undo-step #[256 "<\205  	\205  \n?\205  \303 \210\211\204 \242\203 \304 \210\305\211\207" [buffer-undo-list evil-undo-list-pointer evil-in-single-undo evil-refresh-undo-step undo-boundary nil] 3 (#$ . 103550)])#@195 Refresh `buffer-undo-list' entries for current undo step.
Undo boundaries until `evil-undo-list-pointer' are removed to
make the entries undoable as a single action. See
`evil-start-undo-step'.
(defalias 'evil-refresh-undo-step #[0 "\205 \302\303	#\211\206 \304\211\207" [evil-undo-list-pointer buffer-undo-list evil-filter-list null t] 5 (#$ . 103922)])#@180 Execute BODY with enabled undo.
If undo is disabled in the current buffer, the undo information
is stored in `evil-temporary-undo' instead of `buffer-undo-list'.

(fn &rest BODY)
(defalias 'evil-with-undo '(macro . #[128 "\300\301!\302\303B\304B\305\306\307BB\310BB\311\312B\313\314\306\315BB\316BBFF\207" [make-symbol "undo-list" let (buffer-undo-list) ((evil-undo-system evil-undo-system)) when eq (t) ((setq buffer-undo-list nil evil-undo-system nil)) unwind-protect progn (when (car-safe buffer-undo-list) (push nil buffer-undo-list)) if (t) ((setq evil-temporary-undo buffer-undo-list buffer-undo-list t) (setq evil-temporary-undo nil))] 12 (#$ . 104289)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put evil-with-undo lisp-indent-function defun put edebug-form-spec t] 5)#@54 Execute BODY as a single undo step.

(fn &rest BODY)
(defalias 'evil-with-single-undo '(macro . #[128 "\300\301\302\303\304\300\305BB\306BBEE\207" [let (evil-undo-list-pointer) evil-with-undo (evil-start-undo-step) unwind-protect ((evil-in-single-undo t)) ((evil-end-undo-step))] 9 (#$ . 105098)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put evil-with-single-undo lisp-indent-function defun put edebug-form-spec t] 5)#@138 Undo and forget the last buffer change.
If undo is disabled in the current buffer, use the information
in `evil-temporary-undo' instead.
(defalias 'evil-undo-pop #[0 "\306=\203) 	\307=\204) \310\311 \210\312\n!\262\313!\314!8\262\314!?\205( \315!\207\310C	\307=\2035 \2026 	\211\203? \211@\203C \316\317!\210\211\203S \211@\204S \211A\262\202C \211\203i \211@\203i \211A\262\242B\262\202S \237\307\310\211\320 \210\321\216\322 -\210	\307=\203\206 \310\211\207\211\211\207" [evil-undo-system buffer-undo-list buffer-undo-tree evil-temporary-undo evil-write-echo-area evil-echo-area-message undo-tree t nil undo-tree-undo undo-tree-current undo-tree-node-branch undo-tree-node-next undo-tree-snip-node user-error "Can't undo previous change" evil-echo-area-save #[0 "\300 \207" [evil-echo-area-restore] 1] undo inhibit-quit] 5 (#$ . 105547)])#@34 

(fn REGEXP REPLACEMENTS-ALIST)
(defalias 'evil-transform-regexp #[514 "\300\301\302\303\"\304\305%\207" [replace-regexp-in-string "\\\\+[^\\\\]" make-closure #[257 "\301\224\301\225SH\302\300\"\211\203$ \303G\304\"\301U\203$ \304ZOAP\207\207" [V0 0 assoc mod 2] 9 "\n\n(fn TXT)"] nil t] 8 (#$ . 106414)])#@1442 Transform STR with magic characters.
MAGIC is a regexp that matches all potential magic
characters. Each occurence of CHAR as magic character within str
is replaced by the result of calling the associated TRANSFORM
function. TRANSFORM is a function taking two arguments, the
character to be transformed and the rest of string after the
character. The function should return a triple (REPLACEMENT REST
. STOP) where REPLACEMENT is the replacement and REST is the rest
of the string that has not been transformed. If STOP is non-nil
then the substitution stops immediately.  The replacement starts
at position START, everything before that position is returned
literally.  The result is a pair (RESULT . REST). RESULT is a
list containing the transformed parts in order. If two
subsequents parts are both strings, they are concatenated. REST
is the untransformed rest string (usually "" but may be more if
TRANSFORM stopped the substitution). Which characters are
considered as magic characters (i.e. the transformation happens
if the character is NOT preceeded by a backslash) is determined
by `evil-magic'. The special tokens \v, \V, \m and \M have
always a special meaning (like in Vim) and should not be
contained in TRANSFORMS, otherwise their meaning is overwritten.

The parameter QUOTE is a quoting function applied to literal
transformations, usually `regexp-quote' or `replace-quote'.

(fn STR MAGIC QUOTE TRANSFORM &optional START)
(defalias 'evil-transform-magic #[1284 "\301 \302\303\"\216\304\305\306\260\307!\206 \310\311\211\211\204\352 \203\352 \312\"\203\352 \313\224\314U\204@ \314\313\224OB\262\315\316\"\206U \315\317\"\206U \315\320\"\f\314\225\311O\320\224\203\217 \312\"\203\202 \n\314H\"\211@B\262\211A@\262\211AA\266\204\202 !B\262\262\210\202 \316\224\203\303 \312\"\204\266 \n\314H\"\211@B\262\211A@\262\211AA\266\204\202 !B\262\262\210\202 \314H\321>\203\335 \314H\322\236A\307!\262\262\210\202 !B\262\262\210\202 \203\377 \211\204\377 B\262\323\262\f\202\204\323\262\f\311\203J@;\203!@G\314U\203!A\262\202@;\203=A@;\203=A@@PAAB\262\202\211A\262\242B\262\202)\211B\262\266\206)\207" [evil-magic match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] "\\(?:\\`\\|[^\\]\\)\\(\\\\\\(?:\\(" "\\)\\|\\(.\\)\\)\\|\\(" "\\)\\)" evil-get-magic identity nil string-match 1 0 match-string 2 3 4 (109 77 118 86) ((109 . t) (77) (118 . very-magic) (86 . very-nomagic)) ""] 17 (#$ . 106739)])
(defconst evil-vim-regexp-replacements '((110 . "\n") (114 . "") (116 . "	") (98 . "") (115 . "[[:space:]]") (83 . "[^[:space:]]") (100 . "[[:digit:]]") (68 . "[^[:digit:]]") (120 . "[[:xdigit:]]") (88 . "[^[:xdigit:]]") (111 . "[0-7]") (79 . "[^0-7]") (97 . "[[:alpha:]]") (65 . "[^[:alpha:]]") (108 . "[a-z]") (76 . "[^a-z]") (117 . "[A-Z]") (85 . "[^A-Z]") (121 . "\\s") (89 . "\\S") (40 . "\\(") (41 . "\\)") (123 . "\\{") (125 . "\\}") (91 . "[") (93 . "]") (60 . "\\<") (62 . "\\>") (95 . "\\_") (42 . "*") (43 . "+") (63 . "?") (61 . "?") (46 . ".") (96 . "`") (94 . "^") (36 . "$") (124 . "\\|")))
(defconst evil-regexp-magic "[][(){}<>_dDsSxXoOaAlLuUwWyY.*+?=^$`|nrtb0-9]")#@285 Transform vim-style backslash codes to Emacs regexp.
This includes the backslash codes \d, \D, \s, \S, \x, \X,
\o, \O, \a, \A, \l, \L, \u, \U and \w, \W. The new
codes \y and \Y can be used instead of the Emacs code \s and
\S which have a different meaning in Vim-style.

(fn REGEXP)
(defalias 'evil-transform-vim-style-regexp #[257 "\301\302\303$@@\207" [evil-regexp-magic evil-transform-magic regexp-quote #[514 "\301\"\211\203 \211AD\207\302\303!PD\207" [evil-vim-regexp-replacements assoc "\\" char-to-string] 6 "\n\n(fn CHAR REST)"]] 6 (#$ . 109971)])#@55 Return STR with the first letter downcased.

(fn STR)
(defalias 'evil-downcase-first #[257 "\211G\300U\203 \207\211\300\301O\227\301\302OP\207" [0 1 nil] 5 (#$ . 110541)])#@53 Return STR with the first letter upcased.

(fn STR)
(defalias 'evil-upcase-first #[257 "\211G\300U\203 \207\211\300\301O\226\301\302OP\207" [0 1 nil] 5 (#$ . 110720)])#@273 Return a regexp matching the magic characters according to MAGIC.
Depending on the value of MAGIC the following characters are
considered magic.
  t              [][{}*+?.&~$^
  nil            [][{}*+?$^
  `very-magic'   not 0-9A-Za-z_
  `very-nomagic' empty.

(fn MAGIC)
(defalias 'evil-get-magic #[257 "\211\300\267\202\f \301\207\302\207\303\207\304\207" [#s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (t 6 very-magic 8 very-nomagic 10)) "[][}{*+?.&~$^]" "[^0-9A-Za-z_]" "\\\\" "[][}{*+?$^]"] 3 (#$ . 110896)])#@46 All magic characters in a replacement string
(defconst evil-replacement-magic "[eElLuU0-9&#,rnbt=]" (#$ . 111454))#@252 Convert a regexp replacement TO to Lisp from START until \e or \E.
Return a pair (RESULT . REST). RESULT is a list suitable for
`perform-replace' if necessary, the original string if not.
REST is the unparsed remainder of TO.

(fn TO &optional START)
(defalias 'evil-compile-subreplacement #[513 "\301\302\303%\211A@\304!\210\211A\203 \305B\202  \211@\206  \306B\207" [evil-replacement-magic evil-transform-magic replace-quote #[514 "\300\267\202\233 \301D\207\302D\207\303D\207\304D\207\305D\207\306\307BB\207\310!\311\312\"A\211\313\314@\315BBDDAD\207\211G\316U\204E \211\316H\317=\204I \320\321!\210\211G\322W\203T \320\323!\210\324\325H!\322\326OD\207\327!\313@D@9\204| @\242\330=\203\216 \316H\331U\204\216 \332\333A#A=\203\216 AT\202\220 A\326OD\207\334D\207\335\336!PD\207" [#s(hash-table size 14 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (35 6 114 10 110 14 98 18 116 22 101 26 69 26 108 32 76 32 117 32 85 32 61 54 44 95 48 151)) (number-to-string replace-count) "" "\n" "" "	" #1="" t evil-compile-subreplacement assoc ((108 . evil-downcase-first) (76 . downcase) (117 . evil-upcase-first) (85 . upcase)) replace-quote evil-match-substitute-replacement ((not case-replace)) 0 64 user-error "Expected @ after \\=" 2 "Expected register after \\=@" evil-get-register 1 nil read-from-string quote 40 string-match " " "\\&" "\\" char-to-string] 9 "\n\n(fn CHAR REST)"] replace-match-string-symbols concat #1#] 8 (#$ . 111575)])#@293 Maybe convert a regexp replacement TO to Lisp.
Return a list suitable for `perform-replace' if necessary, the
original string if not. Currently the following magic characters
in replacements are supported: 0-9&#lLuUrnbt,
The magic character , (comma) start an Emacs-lisp expression.

(fn TO)
(defalias 'evil-compile-replacement #[257 "\211;\205 \300 \301\302\"\216\303\304!@)B\262\207" [match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] replace-eval-replacement evil-compile-subreplacement] 5 (#$ . 113075)])#@205 Return REPLACEMENT as it will be inserted by `evil-replace-match'.
If REPLACEMENT is an expression it will be evaluated to compute the
replacement text first.

(fn REPLACEMENT &optional FIXEDCASE STRING)
(defalias 'evil-match-substitute-replacement #[769 "\300;\203\n \202 @A\301\"\302$\207" [match-substitute-replacement 0 nil] 8 (#$ . 113618)])#@357 Justify all lines in a range.
BEG and END specify the range of those lines to be
justified. JUSTIFY is either `left', `right' or `center' according
to the justification type. POSITION is the maximal text width for
right and center justification or the column at which the lines
should be left-aligned for left justification.

(fn BEG END JUSTIFY POSITION)
(defalias 'evil-justify-lines #[1028 "\211\304\211\214edBB\212b\210\305 )\212b\210\306n\203! \307\202\" \310!)}\210eb\210\311=\2036 \312!\210\202J \313\314\304\315#\203D \307\224\307\225|\210\316\304\315#\210\304y\307U\203U n\204) eb\210\317 -\207" [fill-prefix adaptive-fill-mode fill-column evil-restriction-stack nil line-beginning-position line-end-position 0 1 left indent-line-to re-search-forward "^[[:space:]]*" t justify-current-line back-to-indentation] 8 (#$ . 113978)])
(defvar evil-list-view-select-action nil nil)
(make-variable-buffer-local 'evil-list-view-select-action)
(defvar evil-list-view-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [evil-list-view-mode-hook variable-documentation put "Hook run after entering Evil List View mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp evil-list-view-mode-map definition-name evil-list-view-mode] 4)
(defvar evil-list-view-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204 \303\301\302\304\305!#\210\306\307!\204* \303\307\310\311#\210\312\307\306\307!\203& \313\202( \314 \"\210\307\302N\2048 \303\307\302\304\315!#\210\306\300!\204X \303\300\310\311#\210\312\300\306\300!\203P \313\202V \316\300\313\"\210\"\210\300\302N\204f \303\300\302\304\317!#\210\303\311\320\321#\207" [evil-list-view-mode-abbrev-table evil-list-view-mode-map variable-documentation put purecopy "Keymap for `evil-list-view-mode'." boundp evil-list-view-mode-syntax-table definition-name evil-list-view-mode defvar-1 nil make-syntax-table "Syntax table for `evil-list-view-mode'." define-abbrev-table "Abbrev table for `evil-list-view-mode'." derived-mode-parent tabulated-list-mode] 5)#@541 Major mode derived from `tabulated-list-mode' by `define-derived-mode'.
It inherits all of the parent's attributes, but has its own keymap,
abbrev table and syntax table:

  `evil-list-view-mode-map', `evil-list-view-mode-abbrev-table' and
`evil-list-view-mode-syntax-table'

which more-or-less shadow tabulated-list-mode's corresponding tables.

In addition to any hooks its parent mode might have run, this mode
runs the hook `evil-list-view-mode-hook', as the final or penultimate
step during initialization.

\{evil-list-view-mode-map}
(defalias 'evil-list-view-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203 \314\311\313\310\313N#\210\315!\204' \316\317 \"\210\320\f!\211\2035 \211\321 =\203; \322\f\323 \"\210\210\324\325\"\204R =\204R \326\325C#\210\327!\210\330\f!\210\331 \210\332 )\210\333\334!\207" [delay-mode-hooks major-mode mode-name evil-list-view-mode-map evil-list-view-mode-syntax-table evil-list-view-mode-abbrev-table make-local-variable t tabulated-list-mode evil-list-view-mode "Evil List View" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table tabulated-list-init-header tabulated-list-print run-mode-hooks evil-list-view-mode-hook local-abbrev-table] 5 (#$ . 116139) nil])
(defalias 'evil-list-view-goto-entry #[0 "\205 m?\205 \302`!	S\234A@!\266\202\207" [evil-list-view-select-action tabulated-list-entries line-number-at-pos] 4 nil nil])
(defalias 'evil-list-view-quit #[0 "\300\301!\207" [quit-window kill] 2 nil nil])
(byte-code "\301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\307#\207" [evil-list-view-mode-map define-key "q" evil-list-view-quit [follow-link] nil [mouse-1] evil-list-view-goto-entry [return]] 4)#@612 Open a new list view buffer.
PROPERTIES is a property-list which supports the following properties:

:name          (required)   The name of the buffer.
:mode-name     (required)   The name for the mode line.
:format        (required)   The value for `tabulated-list-format'.
:entries       (required)   The value for `tabulated-list-entries'.
:select-action (optional)   A function for row selection.
                            It takes a single parameter, which is the
                            selected row's vector value that is
                            passed into `:entries'.

(fn &rest PROPERTIES)
(defalias 'evil-with-view-list '(macro . #[128 "\300\301\302\303\304\305\"\306BBBD\307B\310\300\311\312\313\314\315\304\n\316\"E\314\317\304\320\"E\314\321\304\f\322\"E\323\314\324\304\325\"E\326BBBBBBB\327BBBF\207" [let bufname concat "*" plist-get :name ("*") ((inhibit-read-only t)) (and (get-buffer bufname) (kill-buffer bufname)) ((buf (get-buffer-create bufname))) with-current-buffer buf setq tabulated-list-format :format tabulated-list-entries :entries evil-list-view-select-action :select-action (evil-list-view-mode) mode-name :mode-name ((evil-motion-state)) ((switch-to-buffer-other-window buf))] 17 (#$ . 118004)]))
(byte-code "\300\301\302\303#\304\301\305\306#\210\307\310!\207" [function-put evil-with-view-list lisp-indent-function defun put edebug-form-spec t provide evil-common] 5)
