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



(defvar cc-bytecomp-unbound-variables nil)
(defvar cc-bytecomp-original-functions nil)
(defvar cc-bytecomp-original-properties nil)
(defvar cc-bytecomp-loaded-files nil)
(byte-code "\304\211\304\211\304\207" [cc-bytecomp-unbound-variables cc-bytecomp-original-functions cc-bytecomp-original-properties cc-bytecomp-loaded-files nil] 2)
(defvar cc-bytecomp-environment-set nil)
#@19 

(fn &rest ARGS)
(defalias 'cc-bytecomp-debug-msg '(macro . #[128 "\300\207" [nil] 2 (#$ . 464)]))
(defalias 'cc-bytecomp-compiling-or-loading #[0 "\203M \302\301!\203M 	;\203M \303\304\305!\211\262\203. \211@\203' \211A@\306>\204. T\262\202 \211A@\307>\203: \266\310\207\211A@\311>\203F \266\312\207\313\314!\266\304\207\203S \310\207\302\301!\203` 	;\203` \312\207\304\207" [load-in-progress byte-compile-dest-file boundp 0 nil backtrace-frame (load require byte-compile-file byte-recompile-directory batch-byte-compile batch-native-compile) (load require) loading (byte-compile-file byte-recompile-directory batch-byte-compile batch-native-compile) compiling message "cc-bytecomp-compiling-or-loading: System flags spuriously set"] 4])
(byte-code "\300\301\302\303#\300\207" [function-put cc-bytecomp-compiling-or-loading speed -1] 4)
#@47 Return non-nil if eval'ed during compilation.
(defalias 'cc-bytecomp-is-compiling #[0 "\300 \301=\207" [cc-bytecomp-compiling-or-loading compiling] 2 (#$ . 1319)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put cc-bytecomp-is-compiling speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@116 Return non-nil if eval'ed during loading.
Nil will be returned if we're in a compilation triggered by the loading.
(defalias 'cc-bytecomp-is-loading #[0 "\300 \301=\207" [cc-bytecomp-compiling-or-loading loading] 2 (#$ . 1640)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put cc-bytecomp-is-loading speed -1 put byte-optimizer byte-compile-inline-expand] 5)
(defalias 'cc-bytecomp-setup-environment #[0 "\304 \305=?\205\226 \306\203 \307\310!\210	\262\211\2039 \311@!\2042 \312\313@D!\210\211@\314\315\316@!P!L\210\211A\262\202 \n\262\211\203p \211@@@A@\317!\204g \211\203] \312\320BB!\266\202i \314\321\316!P!M\210\266\211A\262\202< \262\211\203\221 \211@@@@@A@A@\322#\266\211A\262\202s \323\306\262\207" [cc-bytecomp-environment-set cc-bytecomp-unbound-variables cc-bytecomp-original-functions cc-bytecomp-original-properties cc-bytecomp-compiling-or-loading loading nil error "Byte compilation environment already set - perhaps a `cc-bytecomp-restore-environment' is forgotten somewhere" boundp eval defvar intern "cc-bytecomp-ignore-var:" symbol-name fboundp defmacro "cc-bytecomp-ignore-fun:" put t] 8])
(defalias 'cc-bytecomp-restore-environment #[0 "\304 \305=?\205\251 \306\262\211\2031 \211@\307!\203) \310\311\312!P!J=\203) \313!\210\210\211A\262\202\f 	\262\211\203v \211@@@A@@AA@\314!\203m \206U \310\315\312!P!K=\203m \211\316=\203i \317!\266\202o M\210\266\211A\262\2024 \n\262\211\203\244 \211@@@@@A@A@@AAN=\203\233 \320#\210\266\211A\262\202y \306\211\262\207" [cc-bytecomp-unbound-variables cc-bytecomp-original-functions cc-bytecomp-original-properties cc-bytecomp-environment-set cc-bytecomp-compiling-or-loading loading nil boundp intern "cc-bytecomp-ignore-var:" symbol-name makunbound fboundp "cc-bytecomp-ignore-fun:" unbound fmakunbound put] 10])
#@16 

(fn CC-PART)
(defalias 'cc-bytecomp-load #[257 "\300\207" [nil] 2 (#$ . 3499)])
(eval '(defun cc-bytecomp-load (cc-part) (if (and (boundp 'byte-compile-dest-file) (stringp byte-compile-dest-file)) (progn (cc-bytecomp-restore-environment) (let ((load-path (cons (file-name-directory byte-compile-dest-file) load-path)) (cc-file (concat cc-part ".el"))) (if (member cc-file cc-bytecomp-loaded-files) nil (setq cc-bytecomp-loaded-files (cons cc-file cc-bytecomp-loaded-files)) (cc-bytecomp-debug-msg "cc-bytecomp-load: Loading %S" cc-file) (load cc-part nil t) (cc-bytecomp-debug-msg "cc-bytecomp-load: Loaded %S" cc-file))) (cc-bytecomp-setup-environment) t))))
#@264 Force loading of the corresponding .el file in the current directory
during compilation, but compile in a `require'.  Don't use within
`eval-when-compile'.

Having cyclic cc-require's will result in infinite recursion.  That's
somewhat intentional.

(fn CC-PART)
(defalias 'cc-require '(macro . #[257 "\300\301\302\303DDD\304DE\207" [progn eval-when-compile cc-bytecomp-load symbol-name require] 6 (#$ . 4168)]))
(put 'cc-require 'edebug-form-spec t)
#@298 If the CONDITION is satisfied at compile time, (i) force the
file CC-PART.el in the current directory to be loaded at compile
time, (ii) generate code to load the file at load time.

CC-PART will normally be a quoted name such as \='cc-fix.
CONDITION should not be quoted.

(fn CC-PART CONDITION)
(defalias 'cc-conditional-require '(macro . #[514 "\300!\203 \301\302\300!!!\210\303D\207\304\207" [eval cc-bytecomp-load symbol-name require (progn)] 6 (#$ . 4628)]))
(put 'cc-conditional-require 'edebug-form-spec t)
#@366 If the CONDITION is satisfied at compile time, (i) force the
file CC-PART.el in the current directory to be loaded at compile
time, (ii) generate an `eval-after-load' form to load CC-PART.el
after the loading of FILE.

CC-PART will normally be a quoted name such as \='cc-fix.  FILE
should be a string.  CONDITION should not be quoted.

(fn CC-PART FILE CONDITION)
(defalias 'cc-conditional-require-after-load '(macro . #[771 "\300!\203 \301\302\300!!!\210\303\304\305DDE\207\306\207" [eval cc-bytecomp-load symbol-name eval-after-load quote require (progn)] 8 (#$ . 5154)]))
(put 'cc-conditional-require-after-load 'edebug-form-spec t)
#@134 A replacement for `provide' that restores the environment after the compilation.
Don't use within `eval-when-compile'.

(fn FEATURE)
(defalias 'cc-provide '(macro . #[257 "\300\301\302DE\207" [progn (eval-when-compile (cc-bytecomp-restore-environment)) provide] 5 (#$ . 5804)]))
(put 'cc-provide 'edebug-form-spec t)
#@256 Force loading of the corresponding .el file in the current directory
during compilation.  Don't use outside `eval-when-compile' or
`eval-and-compile'.

Having cyclic cc-load's will result in infinite recursion.  That's
somewhat intentional.

(fn CC-PART)
(defalias 'cc-load '(macro . #[257 "\300\301\302\303DE\304\305BBE\207" [or and (featurep 'cc-bytecomp) cc-bytecomp-load load (nil t nil)] 6 (#$ . 6129)]))
(put 'cc-load 'edebug-form-spec t)
#@186 Force loading of the corresponding .el file in the current directory
during compilation, but do a compile time `require' otherwise.  Don't
use within `eval-when-compile'.

(fn CC-PART)
(defalias 'cc-require-when-compile '(macro . #[257 "\300\301\302\301\303\304DD\305\306DDE\307DFD\207" [eval-when-compile if (and (fboundp 'cc-bytecomp-is-compiling) (cc-bytecomp-is-compiling)) not featurep cc-bytecomp-load symbol-name require] 9 (#$ . 6583)]))
(put 'cc-require-when-compile 'edebug-form-spec t)
#@170 Do a `require' of an external package.
This restores and sets up the compilation environment before and
afterwards.  Don't use within `eval-when-compile'.

(fn FEATURE)
(defalias 'cc-external-require '(macro . #[257 "\300\301\302D\303BBB\207" [progn (eval-when-compile (cc-bytecomp-restore-environment)) require ((eval-when-compile (cc-bytecomp-setup-environment)))] 5 (#$ . 7092)]))
(put 'cc-external-require 'edebug-form-spec t)
#@163 Bind the symbol VAR as a variable during compilation of the file.
This can be used to silence the byte compiler.  Don't use within
`eval-when-compile'.

(fn VAR)
(defalias 'cc-bytecomp-defvar '(macro . #[257 "\300\301\302\303DD\304\305\303DE\301\306\307\303D\310BBD\311\304\312\303\nDE\313\314\315\303\fD\316BBEEE\301\317\311\320	D\321\303D\322\323\324\325\303DDEDE\304\326\303DEFE\257D\207" [eval-when-compile if boundp quote cc-bytecomp-debug-msg "cc-bytecomp-defvar: %s bound already as variable" not memq (cc-bytecomp-unbound-variables) progn "cc-bytecomp-defvar: Saving %s (as unbound)" setq cc-bytecomp-unbound-variables cons (cc-bytecomp-unbound-variables) (cc-bytecomp-is-compiling) defvar set intern concat "cc-bytecomp-ignore-var:" symbol-name "cc-bytecomp-defvar: Covered variable %s"] 18 (#$ . 7531)]))
(put 'cc-bytecomp-defvar 'edebug-form-spec nil)
#@489 Bind the symbol FUN as a function during compilation of the file.
This can be used to silence the byte compiler.  Don't use within
`eval-when-compile'.

If the symbol already is bound as a function, it will keep that
definition.  That means that this macro will not shut up warnings
about incorrect number of arguments.  It's dangerous to try to replace
existing functions since the byte compiler might need the definition
at compile time, e.g. for macros and inline functions.

(fn FUN)
(defalias 'cc-bytecomp-defun '(macro . #[257 "\300\301\302\303DD\304\305\303DE\301\306\307\303D\310BBD\311\304\312\303\nDE\313\314\315\316\303D\317BB\320BBEEE\301\321\311\322\303\nD\323\324\325\326\303DDEDE\304\327\303\fDEEE\257D\207" [eval-when-compile if fboundp quote cc-bytecomp-debug-msg "cc-bytecomp-defun: %s bound already as function" not assq (cc-bytecomp-original-functions) progn "cc-bytecomp-defun: Saving %s (as unbound)" setq cc-bytecomp-original-functions cons list (nil 'unbound) (cc-bytecomp-original-functions) (cc-bytecomp-is-compiling) fset intern concat "cc-bytecomp-ignore-fun:" symbol-name "cc-bytecomp-defun: Covered function %s"] 17 (#$ . 8416)]))
(put 'cc-bytecomp-defun 'edebug-form-spec nil)
#@142 Set a property on SYMBOL during compilation (and evaluation) of the file.
Don't use outside `eval-when-compile'.

(fn SYMBOL PROPNAME VALUE)
(defalias 'cc-bytecomp-put '(macro . #[771 "\300\301\302\303\304E\305BBD\306\307\310	\311E\257\312\313\304\211\211\f\fE\304\311EEE\314BBEEE\315F\307\316\257F\207" [eval-when-compile if not assoc cons (cc-bytecomp-original-properties) progn cc-bytecomp-debug-msg "cc-bytecomp-put: Saving property %s for %s with value %s" get setq cc-bytecomp-original-properties (cc-bytecomp-original-properties) put "cc-bytecomp-put: Bound property %s for %s to %s"] 18 (#$ . 9644)]))
(put 'cc-bytecomp-put 'edebug-form-spec t)
#@228 Return non-nil if SYMBOL is bound as a variable outside the compilation.
This is the same as using `boundp' but additionally exclude any
variables that have been bound during compilation with
`cc-bytecomp-defvar'.

(fn SYMBOL)
(defalias 'cc-bytecomp-boundp '(macro . #[257 "\301 \302=\205\f \211A@>?\205 \303D\207" [cc-bytecomp-unbound-variables cc-bytecomp-compiling-or-loading compiling boundp] 3 (#$ . 10334)]))
(put 'cc-bytecomp-boundp 'edebug-form-spec t)
#@228 Return non-nil if SYMBOL is bound as a function outside the compilation.
This is the same as using `fboundp' but additionally exclude any
functions that have been bound during compilation with
`cc-bytecomp-defun'.

(fn SYMBOL)
(defalias 'cc-bytecomp-fboundp '(macro . #[257 "\301\302 \303=\205 A@\236\211\262\205 \211\304\234\305=?\205 \306D\207" [cc-bytecomp-original-functions nil cc-bytecomp-compiling-or-loading compiling 2 unbound fboundp] 4 (#$ . 10805)]))
(byte-code "\300\301\302\303#\210\304\305!\207" [put cc-bytecomp-fboundp edebug-form-spec t provide cc-bytecomp] 4)
