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


#@19 

(fn &rest BODY)
(require 'evil-states)
(defalias 'evil-without-repeat '(macro . #[128 "\300\301\302\303\"BB\207" [let ((pre-command-hook (remq 'evil-repeat-pre-hook pre-command-hook)) (post-command-hook (remq 'evil-repeat-post-hook post-command-hook))) append ((evil-repeat-abort))] 6 (#$ . 83)]))#@47 Return non-nil if a recording is in progress.
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put evil-without-repeat lisp-indent-function defun put edebug-form-spec t] 5)
(defalias 'evil-repeat-recording-p #[0 "\301=\207" [evil-recording-repeat t] 2 (#$ . 389)])#@55 Start recording a new repeat into `evil-repeat-info'.
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put evil-repeat-recording-p speed -1 put byte-optimizer byte-compile-inline-expand] 5)
(defalias 'evil-repeat-start #[0 "\301\302!\210\303 \210\304 \205W \305 \306!\307\310!S]\311\"\312\313\267\202S \314\315U\2030 \2027 \212b\210\316 )ZE\202T \317D\202T \320\321\322!\322!Z!E\202T \323!\266\204\207" [evil-visual-selection evil-repeat-reset t evil-repeat-record-buffer evil-visual-state-p evil-visual-range evil-range-beginning 1 evil-range-end evil-count-lines evil-repeat-record #s(hash-table test eq purecopy t data (char 34 line 60 block 66)) evil-repeat-visual-char 0 line-beginning-position evil-repeat-visual-line evil-repeat-visual-block abs evil-column nil] 11 (#$ . 673)])#@124 Stop recording a repeat.
Update `evil-repeat-ring' with the accumulated changes
in `evil-repeat-info' and clear variables.
(defalias 'evil-repeat-stop #[0 "\303\216\304=\205 \305	!\211\205 \n\205 \306\n	\")\207" [evil-recording-repeat evil-repeat-info evil-repeat-ring #[0 "\300\301!\207" [evil-repeat-reset nil] 2] t evil-normalize-repeat-info ring-insert] 4 (#$ . 1495)])#@26 Abort current repeation.
(defalias 'evil-repeat-abort #[0 "\300\301!\207" [evil-repeat-reset abort] 2 (#$ . 1879)])#@87 Clear all repeat recording variables.
Set `evil-recording-repeat' to FLAG.

(fn FLAG)
(defalias 'evil-repeat-reset #[257 "\211\303\211\211\207" [evil-recording-repeat evil-repeat-info evil-repeat-buffer nil] 4 (#$ . 2000)])#@60 Set `evil-repeat-pos' to POS or point.

(fn &optional POS)
(defalias 'evil-repeat-record-position #[256 "\211\206 `\211\207" [evil-repeat-pos] 3 (#$ . 2232)])#@49 Set `evil-repeat-buffer' to the current buffer.
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put evil-repeat-record-position speed -1 put byte-optimizer byte-compile-inline-expand] 5)
(defalias 'evil-repeat-record-buffer #[0 "\301 ?\205	 p\211\207" [evil-repeat-buffer minibufferp] 2 (#$ . 2398)])#@75 Execute BODY, protecting the values of repeat variables.

(fn &rest BODY)
(defalias 'evil-save-repeat-info '(macro . #[128 "\300\301BB\207" [let (evil-repeat-ring evil-recording-repeat evil-recording-current-command evil-repeat-info evil-repeat-changes evil-repeat-pos evil-repeat-keys evil-repeat-buffer this-command last-command)] 4 (#$ . 2719)]))#@231 Whether the buffer has changed in a repeat.
If STRICT is non-nil, returns t if the previous buffer
is unknown; otherwise returns t only if the previous
buffer is known and different from the current buffer.

(fn &optional STRICT)
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put evil-save-repeat-info lisp-indent-function defun put edebug-form-spec t] 5)
(defalias 'evil-repeat-different-buffer-p #[256 "\301!\204\n \211\205 \302 ?\205 p=?\207" [evil-repeat-buffer buffer-live-p minibufferp] 3 (#$ . 3076)])#@32 Alist of defined repeat-types.
(defvar evil-repeat-types '((t . evil-repeat-keystrokes) (change . evil-repeat-changes) (motion . evil-repeat-motion) (insert-at-point . evil-repeat-insert-at-point) (ignore)) (#$ . 3610))#@55 Return the :repeat property of COMMAND.

(fn COMMAND)
(defalias 'evil--repeat-type #[257 "\301!\205 \302\303\304#\211\236\211\203 A\207\210\207" [evil-repeat-types functionp evil-get-command-property :repeat t] 5 (#$ . 3835)])#@128 Return the :repeat property of COMMAND.
If COMMAND doesn't have this property, return DEFAULT.

(fn COMMAND &optional DEFAULT)
(defalias 'evil-repeat-type #[513 "\301!\205 \302\303#\211\236\211\203 A\207\210\207" [evil-repeat-types functionp evil-get-command-property :repeat] 6 (#$ . 4073)])#@119 Whether the current command should abort the recording of repeat information.
Return non-nil if so.

(fn REPEAT-TYPE)
(make-obsolete 'evil-repeat-type 'evil--repeat-type "1.15.0")
(defalias 'evil-repeat-force-abort-p #[257 "\301 \206$ \211\302=\206$ \302=\206$ \303 \206$ \304\305 !\203\" \211?\206$ \306 \207" [evil-recording-repeat evil-repeat-different-buffer-p abort evil-emacs-state-p evil-mouse-events-p this-command-keys-vector minibufferp] 3 (#$ . 4378)])#@47 Append INFO to `evil-repeat-info'.

(fn INFO)
(defalias 'evil-repeat-record #[257 "\302=\205\f 	C\244\211\207" [evil-recording-repeat evil-repeat-info t] 3 (#$ . 4848)])#@58 Prepare the current command for recording the repeation.
(defalias 'evil-repeat-pre-hook #[0 "\2050 \303	!\304!\203 \305 \207\211?\206. \306\307 !\206. \310 \204& \311 \203) \312 \210\313\211\314!\262\207" [evil-local-mode this-command evil-recording-current-command evil--repeat-type evil-repeat-force-abort-p evil-repeat-abort evil-mouse-events-p this-command-keys-vector evil-normal-state-p evil-visual-state-p evil-repeat-start t pre] 3 (#$ . 5026)])#@65 Finish recording of repeat-information for the current-command.
(put 'evil-repeat-pre-hook 'permanent-local-hook t)
(defalias 'evil-repeat-post-hook #[0 "\2051 	\2051 \304\n!\305!\203 \306\307!\266\202. \211\203- \203- \211\310!\210\311 \203- \312 \210\210\307\211\207" [evil-local-mode evil-recording-repeat this-command evil-recording-current-command evil--repeat-type evil-repeat-force-abort-p evil-repeat-reset nil post evil-normal-state-p evil-repeat-stop] 3 (#$ . 5491)])#@173 Clear `this-command-keys' and all information about the current command keys.
Calling this function prevents further recording of the keys that
invoked the current command
(put 'evil-repeat-post-hook 'permanent-local-hook t)
(defalias 'evil-clear-command-keys #[0 "\301\302!\210\303\211\207" [evil-repeat-keys clear-this-command-keys t ""] 2 (#$ . 5981)])#@94 Version of `this-command-keys' with finer control over prefix args.

(fn &optional POST-CMD)
(defalias 'evil-this-command-keys #[256 "\303\203	 \202\n 	\211\247\205 \n?\205 \304!\262\305 \"\207" [current-prefix-arg prefix-arg evil-repeat-info vconcat number-to-string this-single-command-keys] 5 (#$ . 6343)])#@87 Repeation recording function for commands that are repeated by keystrokes.

(fn FLAG)
(defalias 'evil-repeat-keystrokes #[257 "\211\302\267\202, \203 \303\304\300E!\210\305 \211\207\303\305\306!G\307U\203$ 	\202' \305\306!!\210\310 \207\311\207" [evil-this-register evil-repeat-keys #s(hash-table test eq purecopy t data (pre 6 post 22 pre-read-key-sequence 22)) evil-repeat-record set evil-this-command-keys t 0 evil-clear-command-keys nil] 5 (#$ . 6664)])#@96 Repetition for motions.
Motions are recorded by keystroke but only in Insert state.

(fn FLAG)
(defalias 'evil-repeat-motion #[257 "\301>\205	 \302!\207" [evil-state (insert replace) evil-repeat-keystrokes] 3 (#$ . 7131)])#@91 Repeation recording function for commands that are repeated by buffer changes.

(fn FLAG)
(defalias 'evil-repeat-changes #[257 "\211\300\267\202 \301\302\303\304\305$\210\306 \207\307\302\303\305#\210\310 \207\304\207" [#s(hash-table test eq purecopy t data (pre 6 post 16)) add-hook after-change-functions evil-repeat-change-hook nil t evil-repeat-start-record-changes remove-hook evil-repeat-finish-record-changes] 6 (#$ . 7361)])#@69 Record change information for current command.

(fn BEG END LENGTH)
(defalias 'evil-repeat-change-hook #[771 "\304!	\305=\2052 \211\306=\2052 \307 ?\2052 \310\305!?\2052 \n\2052 	\305=\204) \311 \210\312Z{#\207" [this-command evil-recording-repeat evil-state evil-repeat-pos evil--repeat-type t evil-repeat-changes evil-emacs-state-p evil-repeat-different-buffer-p evil-repeat-start evil-repeat-record-change] 8 (#$ . 7800)])#@136 Record the current buffer changes during a repeat.
If CHANGE is specified, it is added to `evil-repeat-changes'.

(fn RELPOS INS NDEL)
(put 'evil-repeat-change-hook 'permanent-local-hook t)
(defalias 'evil-repeat-record-change #[771 "\302=\205 E	B\211\207" [evil-recording-repeat evil-repeat-changes t] 6 (#$ . 8238)])#@53 Start the recording of a new set of buffer changes.
(defalias 'evil-repeat-start-record-changes #[0 "\302\211\211\206 `\211\207" [evil-repeat-changes evil-repeat-pos nil] 4 (#$ . 8568)])#@67 Finish the recording of buffer changes and record them as repeat.
(defalias 'evil-repeat-finish-record-changes #[0 "\303=\205 \304\305	\237`\nZE!\210\306\211\207" [evil-recording-repeat evil-repeat-changes evil-repeat-pos t evil-repeat-record evil-execute-change nil] 5 (#$ . 8763)])#@217 Repeation recording function for commands that insert text in region.
For example `mouse-yank-primary'. This records text insertion when a command
inserts some text in a buffer between (point) and (mark).

(fn FLAG)
(defalias 'evil-repeat-insert-at-point #[257 "\211\300\267\202 \301\302\303\304\305$\207\306\302\303\305#\207\304\207" [#s(hash-table test eq purecopy t data (pre 6 post 13)) add-hook after-change-functions evil-repeat-insert-at-point-hook nil t remove-hook] 6 (#$ . 9056)])#@23 

(fn BEG END LENGTH)
(defalias 'evil-repeat-insert-at-point-hook #[771 "\304!	\305=\205) \211\306=\205) \307 ?\205) \310\305!?\205) \n\205) \311\312{D!\207" [this-command evil-recording-repeat evil-state evil-repeat-pos evil--repeat-type t evil-repeat-insert-at-point evil-emacs-state-p evil-repeat-different-buffer-p evil-repeat-record insert] 8 (#$ . 9553)])#@89 Concatenate consecutive arrays in REPEAT-INFO.
Return a single array.

(fn REPEAT-INFO)
(put 'evil-repeat-insert-at-point-hook 'permanent-local-hook t)
(defalias 'evil-normalize-repeat-info #[257 "\300C\211\300\211\211\203Y \211@\211\203T \301!\2037 \302!\262\203, C\241\210A\262\210\202U \211C\262\262\210\202U \203K \303\304\"C\241\210A\262\300\262C\241\210A\262\210A\202 \210\203f \303\304\"C\241\210A\207" [nil arrayp listify-key-sequence apply vconcat] 11 (#$ . 9925)])#@343 Restore a character visual selection.
If the selection is in a single line, the restored visual
selection covers the same number of characters. If the selection
covers several lines, the restored selection covers the same
number of lines and the same number of characters in the last
line as the original selection.

(fn NFWDLINES NFWDCHARS)
(defalias 'evil-repeat-visual-char #[514 "\300 \210\301V\203\f y\210\211u\207" [evil-visual-char 0] 4 (#$ . 10434)])#@333 Restore a character visual selection.
If the selection is in a single line, the restored visual
selection covers the same number of characters. If the selection
covers several lines, the restored selection covers the same
number of lines and the same number of characters in the last
line as the original selection.

(fn NFWDLINES)
(defalias 'evil-repeat-visual-line #[257 "\300 \210\211y\207" [evil-visual-line] 2 (#$ . 10901)])
(defalias 'evil-repeat-visual-block #[514 "\300 \210iy\210\301\\\302\"\207" [evil-visual-block move-to-column t] 6 (#$ . 10434)])#@436 Execute as list of changes.

CHANGES is a list of triples (REL-BEG INSERT-TEXT NDEL).
REL-BEG is the relative position (to point) where the change
takes place. INSERT-TEXT is the text to be inserted at that
position and NDEL the number of characters to be deleted at that
position before insertion.

REL-POINT is the relative position to point before the changed
where point should be placed after all changes.

(fn CHANGES REL-POINT)
(defalias 'evil-execute-change #[514 "\306\211\211\211\211\211\211\211\211\211	\n\f`\211\2036 \211@@\\b\210\307\3108!\210\211A@c\266A\202 \210\211\\b.\n\207" [last-command this-command evil-repeat-buffer evil-repeat-keys evil-repeat-pos evil-repeat-changes nil delete-char 2 evil-repeat-info evil-recording-current-command evil-recording-repeat evil-repeat-ring] 12 (#$ . 11470)])#@61 Execute a repeat-information REPEAT-INFO.

(fn REPEAT-INFO)
(defalias 'evil-execute-repeat-info #[257 "\306\211\211\211\211\211\211\211\211\211\211\211\205\211 \211@\307!\204* \211;\203@ \306\310 \210\311\312\"\216\313!*\266\202\205 \211:\203 \211G\314U\203t \211@\315=\203t \211A@\316=\203t \3178\320Y\203t \3178\321W\203t \211AA\3178T\240\210\322@A\"\266\202\205 \323\324\"\266A\202 .\n\207" [last-command this-command evil-repeat-buffer evil-repeat-keys evil-repeat-pos evil-repeat-changes nil arrayp deactivate-input-method make-closure #[0 "\301\300!\207" [V0 activate-input-method] 2] execute-kbd-macro 3 set evil-this-register 2 48 57 apply error "Unexpected repeat-info: %S" evil-repeat-info evil-recording-current-command evil-recording-repeat evil-repeat-ring current-input-method evil-input-method] 11 (#$ . 12309)])#@177 Repeat the repeat-information REPEAT-INFO with the count of
the first command replaced by COUNT. The count is replaced if
and only if COUNT is non-nil.

(fn COUNT REPEAT-INFO)
(defalias 'evil-execute-repeat-info-with-count #[514 "\306\211\211\211\211\211\211\211\211\211\203\" \307U\206d \203a \306\203X \310@!\203X \211\204X \311\211A\262\242!\312\313!\3148\3158#B\262\266\316\202+ \317!)\266\202\202d \317!.\n\207" [last-command this-command evil-repeat-buffer evil-repeat-keys evil-repeat-pos evil-repeat-changes nil 0 arrayp evil-extract-count vconcat number-to-string 2 3 t evil-execute-repeat-info evil-repeat-info evil-recording-current-command evil-recording-repeat evil-repeat-ring evil-repeat-count] 12 (#$ . 13175)])#@141 Repeat the last editing command with count replaced by COUNT.
If SAVE-POINT is non-nil, do not move point.

(fn COUNT &optional SAVE-POINT)
(defalias 'evil-repeat #[513 "\204 \306\307!\207\211\203 \212\310!)\207\311\216	\312\313\nB\314\211\312=\2030 \314\211\315\316\"\216\317 \210\320\216\312`E\321\322\323\"\"\210\211.\207" [evil-repeat-ring evil-last-find kill-buffer-hook buffer-undo-list confirm-kill-emacs evil-undo-list-pointer error "Already executing repeat" evil-repeat #[0 "\302=\203\n \303	!\207\304 \207" [last-command evil--execute-normal-return-state evil-execute-in-normal-state evil-change-state evil-normal-state] 2] t #[0 "\300\301!\207" [user-error "Cannot delete buffer in repeat command"] 2] nil make-closure #[0 "	\242\203	 \303	B\300\304=\203 	\304\211\207\303\211\207" [V0 buffer-undo-list evil-temporary-undo nil t] 2] evil-start-undo-step #[0 "\300 \207" [evil-end-undo-step] 1] evil-execute-repeat-info-with-count ring-ref 0 evil-undo-system evil-in-single-undo evil-last-repeat] 13 (#$ . 13943) (byte-code "	?D\207" [current-prefix-arg evil-repeat-move-cursor] 2)])#@352 Replace the just repeated command with a previously executed command.
Only allowed after `evil-repeat', `evil-repeat-pop' or
`evil-repeat-pop-next'. Uses the same repeat count that
was used for the first repeat.

The COUNT argument inserts the COUNT-th previous kill.
If COUNT is negative, this is a more recent kill.

(fn COUNT &optional SAVE-POINT)
(evil-set-command-properties 'evil-repeat :repeat 'ignore :suppress-operator t)
(defalias 'evil-repeat-pop #[513 "\305=\203\n 	\204 \306\307\"\207\211\203 \212\310!)\207\n\311	8=\204$ \312 \210	@b\210\313V\203A \203: \314\315\313\"\"\210S\262\202( \313W\203Y \203R \316\315!\"\210T\262\202A \305\211	A@!\207" [last-command evil-last-repeat buffer-undo-list evil-repeat-ring this-command evil-repeat user-error "Previous command was not evil-repeat: %s" evil-repeat-pop 2 evil-undo-pop 0 ring-insert-at-beginning ring-remove ring-insert] 8 (#$ . 15083) (byte-code "\302!	?D\207" [current-prefix-arg evil-repeat-move-cursor prefix-numeric-value] 2)])#@86 Same as `evil-repeat-pop', but with negative COUNT.

(fn COUNT &optional SAVE-POINT)
(evil-set-command-properties 'evil-repeat-pop :repeat nil :suppress-operator t)
(defalias 'evil-repeat-pop-next #[513 "\300[\"\207" [evil-repeat-pop] 5 (#$ . 16107) (byte-code "\302!	?D\207" [current-prefix-arg evil-repeat-move-cursor prefix-numeric-value] 2)])#@68 Record `this-command-keys' before it is overwritten.

(fn &rest _)
(evil-set-command-properties 'evil-repeat-pop-next :repeat nil :suppress-operator t)
(defalias 'evil--read-key-sequence-advice #[128 "\303=\205 	\205 \304\n!\305!\205 \211\306!\262\207" [evil-recording-repeat evil-recording-current-command this-command t evil--repeat-type functionp pre-read-key-sequence] 4 (#$ . 16462)])
(byte-code "\300\301\302\303#\210\300\304\302\303#\210\305\306!\207" [advice-add read-key-sequence :before evil--read-key-sequence-advice read-key-sequence-vector provide evil-repeat] 4)
