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



(defvar internal-lisp-face-attributes [nil :family :foundry :width :height :weight :slant :underline :inverse-video :foreground :background :stipple :overline :strike-through :box :font :inherit :fontset :distant-foreground :extend :vector])#@72 Deep-copy the buffer's `face-remapping-alist' upon cloning the buffer.
(defalias 'face-attrs--make-indirect-safe #[0 "\301\300!\210\302\303\"\211\207" [face-remapping-alist make-local-variable mapcar copy-tree] 3 (#$ . 325)])
(add-hook 'clone-indirect-buffer-hook 'face-attrs--make-indirect-safe)#@544 Return non-nil if ATTRS1 is "more relative" than ATTRS2.
We define this as meaning that ATTRS1 contains a greater number of
relative face-attributes than ATTRS2.  A face attribute is considered
relative if `face-attribute-relative-p' returns non-nil.

ATTRS1 and ATTRS2 may be any value suitable for a `face' text
property, including face names, lists of face names,
face-attribute plists, etc.

This function can be used as a predicate with `sort', to sort
face lists so that more specific faces are located near the end.

(fn ATTRS1 ATTRS2)
(defalias 'face-attrs-more-relative-p #[514 "\301!\204 \302!\262\301!\204 \302!\262\303\211G\303\211W\203L H\211\203D \304H\"\2036 T\262\304H\"\203D T\262\210\211T\262\202 \266W\207" [internal-lisp-face-attributes vectorp face-attributes-as-vector 0 face-attribute-relative-p] 11 (#$ . 630)])#@141 Order ENTRY so that more relative face specs are near the beginning.
The list structure of ENTRY may be destructively modified.

(fn ENTRY)
(defalias 'face-remap-order #[257 "\211\237\262\211\300A\301\"\241\210\211\237\207" [sort face-attrs-more-relative-p] 5 (#$ . 1501)])#@1032 Add a face remapping entry of FACE to SPECS in the current buffer.
Return a cookie which can be used to delete this remapping with
`face-remap-remove-relative'.

The remaining arguments, SPECS, should form a list of faces.
Each list element should be either a face name or a property list
of face attribute/value pairs.  If more than one face is listed,
that specifies an aggregate face, in the same way as in a `face'
text property, except for possible priority changes noted below.

The face remapping specified by SPECS takes effect alongside the
remappings from other calls to `face-remap-add-relative' for the
same FACE, as well as the normal definition of FACE (at lowest
priority).  This function tries to sort multiple remappings for
the same face, so that remappings specifying relative face
attributes are applied after remappings specifying absolute face
attributes.

The base (lowest priority) remapping may be set to something
other than the normal definition of FACE via `face-remap-set-base'.

(fn FACE &rest SPECS)
(defalias 'face-remap-add-relative #[385 "\211:\203 \211A\204 \211@\262\202  \301\300!\210\236\211\204% \211D\262\211B\211A\2119\2030 \211C\262\302B!\241\210\303 \266B\207" [face-remapping-alist make-local-variable face-remap-order force-mode-line-update] 8 (#$ . 1784)])#@139 Remove a face remapping previously added by `face-remap-add-relative'.
COOKIE should be the return value from that function.

(fn COOKIE)
(defalias 'face-remap-remove-relative #[257 "\211@\236\211\2057 \301AA\"\211A=?\2055 \241\210\211\203+ \211\242@=\2033 \211A\2043 \301\"\302 \210A\262\207" [face-remapping-alist remq force-mode-line-update] 6 (#$ . 3109)])#@193 Set the base remapping of FACE to the normal definition of FACE.
This causes the remappings specified by `face-remap-add-relative'
to apply on top of the normal definition of FACE.

(fn FACE)
(defalias 'face-remap-reset-base #[257 "\211\236\211\205 \211AA\204 \301\"\202 \302!\240\210\303 \207" [face-remapping-alist remq last force-mode-line-update] 5 (#$ . 3488)])#@687 Set the base remapping of FACE in the current buffer to SPECS.
This causes the remappings specified by `face-remap-add-relative'
to apply on top of the face specification given by SPECS.

The remaining arguments, SPECS, specify the base of the remapping.
Each one of SPECS should be either a face name or a property list
of face attribute/value pairs, like in a `face' text property.

If SPECS is empty or a single face `eq' to FACE, call `face-remap-reset-base'
to use the normal definition of FACE as the base remapping; note that
this is different from SPECS containing a single value nil, which means
not to inherit from the global definition of FACE at all.

(fn FACE &rest SPECS)
(defalias 'face-remap-set-base #[385 "\211:\203 \211@\203 \211A\204 \211@\262\202  \211\203  \211=\203$ \301!\207\302\300!\210\236\211\2039 \303!\240\266\202@ DB\210\304 \207" [face-remapping-alist face-remap-reset-base make-local-variable last force-mode-line-update] 5 (#$ . 3870)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313&	\207" [custom-declare-variable text-scale-mode-step funcall function #[0 "\300\207" [1.2] 1 ""] "Scale factor used by `text-scale-mode'.\nEach positive or negative step scales the size of the `default'\nface's font by this amount." :group display :type number :version "23.1"] 10)#@49 Current remapping cookie for `text-scale-mode'.
(defvar text-scale-mode-remapping nil (#$ . 5206))
(make-variable-buffer-local 'text-scale-mode-remapping)#@71 Lighter displayed for `text-scale-mode' in mode-line minor-mode list.
(defvar text-scale-mode-lighter "+0" (#$ . 5366))
(make-variable-buffer-local 'text-scale-mode-lighter)#@76 Number of steps that `text-scale-mode' will increase/decrease text height.
(defvar text-scale-mode-amount 0 (#$ . 5545))
(make-variable-buffer-local 'text-scale-mode-amount)#@68 If non-nil, text scaling may change font size of header lines too.
(defvar text-scale-remap-header-line nil (#$ . 5724))
(make-variable-buffer-local 'text-scale-remap-header-line)
(defalias 'face-remap--clear-remappings #[0 "\242:\203\n \202\f C\211\203 \211@\301!\210A\266\202\202\f \210\302\211\207" [text-scale-mode-remapping face-remap-remove-relative nil] 4])#@12 

(fn SYM)
(defalias 'face-remap--remap-face #[257 "\303\304\305	\"#\nB\211\207" [text-scale-mode-step text-scale-mode-amount text-scale-mode-remapping face-remap-add-relative :height expt] 7 (#$ . 6101)])#@99 Non-nil if Text-Scale mode is enabled.
Use the command `text-scale-mode' to change this variable.
(defvar text-scale-mode nil (#$ . 6315))
(make-variable-buffer-local 'text-scale-mode)#@1144 Minor mode for displaying buffer text in a larger/smaller font.

The amount of scaling is determined by the variable
`text-scale-mode-amount': one step scales the global default
face size by the value of the variable `text-scale-mode-step'
(a negative amount shrinks the text).

The `text-scale-increase', `text-scale-decrease', and
`text-scale-set' functions may be used to interactively modify
the variable `text-scale-mode-amount' (they also enable or
disable `text-scale-mode' as necessary).

If `text-scale-remap-header-line' is non-nil, also change
the font size of the header line.

This is a minor mode.  If called interactively, toggle the
`Text-Scale mode' mode.  If the prefix argument is positive,
enable the mode, and if it is zero or negative, disable the mode.

If called from Lisp, toggle the mode if ARG is `toggle'.  Enable
the mode if ARG is nil, omitted, or is a positive number.
Disable the mode if ARG is a negative number.

To check whether the minor mode is enabled in the current buffer,
evaluate `text-scale-mode'.

The mode's hook is called both when the mode is enabled and when
it is disabled.

(fn &optional ARG)
(defalias 'text-scale-mode #[256 "\305 \306=\203 ?\202 \247\203 \307W\203 \310\202 \311\312\301!\2031 \313\300	\"\2031 \300	B\314 \210\315\n\316Y\203? \317\202@ \320\n\"\203S \321\322!\210\f\203S \321\323!\210\324p!\210\325\326\203a \327\202b \330\"\210\331\332!\203\205 \305 \203v \211\305 \232\203\205 \333\334\335\203\201 \336\202\202 \337\340$\210\210\341 \210\207" [text-scale-mode local-minor-modes text-scale-mode-amount text-scale-mode-lighter text-scale-remap-header-line current-message toggle 1 nil t boundp delq face-remap--clear-remappings format 0 "+%d" "%d" face-remap--remap-face default header-line force-window-update run-hooks text-scale-mode-hook text-scale-mode-on-hook text-scale-mode-off-hook called-interactively-p any message "%s %sabled%s" "Text-Scale mode" "en" "dis" " in current buffer" force-mode-line-update] 7 (#$ . 6507) (byte-code "\203\n \301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)])
(defvar text-scale-mode-hook nil)
(byte-code "\301\302N\204\f \303\301\302\304#\210\303\301\305\306#\210\303\301\307\310C#\210\311\312\313\314\300!\205# \310\211%\207" [text-scale-mode-map text-scale-mode-hook variable-documentation put "Hook run after entering or leaving `text-scale-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" custom-type hook standard-value nil add-minor-mode text-scale-mode (" " text-scale-mode-lighter) boundp] 6)#@109 Watcher for `text-scale-remap-header-line'.
See `add-variable-watcher'.

(fn SYMBOL NEWVAL OPERATION WHERE)
(defalias 'text-scale--refresh #[1028 "\301=\205 \302=\205 \205 r\211q\210\300\303!*\207" [text-scale-mode text-scale-remap-header-line set 1] 6 (#$ . 9154)])
(add-variable-watcher 'text-scale-remap-header-line 'text-scale--refresh)#@53 Return the minimum amount of text-scaling we allow.
(defalias 'text-scale-min-amount #[0 "\301\302\303 \245\"\207" [text-scale-mode-step log 1.0 frame-char-height] 3 (#$ . 9508)])#@53 Return the maximum amount of text-scaling we allow.
(defalias 'text-scale-max-amount #[0 "\301\302 \303^\304 \245\"\207" [text-scale-mode-step log display-pixel-width 65535 frame-char-width] 3 (#$ . 9694)])#@379 Set the scale factor of the default face in the current buffer to LEVEL.
If LEVEL is non-zero, `text-scale-mode' is enabled, otherwise it is disabled.

LEVEL is a number of steps, with 0 representing the default size.
Each step scales the height of the default face by the variable
`text-scale-mode-step' (a negative number decreases the height by
the same amount).

(fn LEVEL)
(defalias 'text-scale-set #[257 "\211\301 ^\302 ]\303\304U\203 \305\202 \306!\207" [text-scale-mode-amount text-scale-max-amount text-scale-min-amount text-scale-mode 0 -1 1] 4 (#$ . 9908) "p"])#@398 Increase the font size of the default face in current buffer by INC steps.
If the new height is other than the default, `text-scale-mode' is enabled.

Each step scales the height of the default face by the variable
`text-scale-mode-step' (a negative number of steps decreases the
height by the same amount).  As a special case, an argument of 0
will remove any scaling currently active.

(fn INC)
(defalias 'text-scale-increase #[257 "\203 	\202	 \302\302U\203 \302\202 \211\\\211\303 V\204$ \211\304 W\2033 \305\306\302V\2030 \307\2021 \310\"\210\210\300	\302U\203@ \311\202A \312!\207" [text-scale-mode text-scale-mode-amount 0 text-scale-max-amount text-scale-min-amount user-error "Cannot %s the font size any further" "increase" "decrease" -1 1] 7 (#$ . 10491) "p"])#@134 Decrease the font size of the default face in the current buffer by DEC steps.
See `text-scale-increase' for more details.

(fn DEC)
(defalias 'text-scale-decrease #[257 "\300[!\207" [text-scale-increase] 3 (#$ . 11277) "p"])#@1837 Adjust the font size in the current buffer by INC steps.
Interactively, INC is the prefix numeric argument, and defaults to 1.

The actual adjustment made depends on the final component of the
keybinding used to invoke the command, with all modifiers removed:

   \`+', \`='   Increase font size in current buffer by one step
   \`-'      Decrease font size in current buffer by one step
   \`0'      Reset the font size to the global default

After adjusting, continue to read input events and further adjust
the font size as long as the input event (with all modifiers removed)
is one of the above characters.

Each step scales the height of the default face by the factor that
is the value of `text-scale-mode-step' (a negative number of steps
decreases the height by that factor).  As a special case, an argument
of 0 will remove any scaling currently active, thus resetting the
font size to the original value.

This command is a special-purpose wrapper around the
`text-scale-increase' command which makes repetition convenient
even when it is bound in a non-top-level keymap.  For binding in
a top-level keymap, `text-scale-increase' or
`text-scale-decrease' may be more appropriate.

Most faces are affected by these font size changes, but not faces
that have an explicit `:height' setting.  The two exceptions to
this are the `default' and `header-line' faces: they will both be
scaled even if they have an explicit `:height' setting.

See also the related command `global-text-scale-adjust'.  Unlike
that command, which scales the font size with a increment (and can
also optionally resize frames to keep the same number of lines and
characters per line), `text-scale-adjust' scales the font size with
a factor, `text-scale-mode-step'.  With a small `text-scale-mode-step'
factor, the two commands behave similarly.

(fn INC)
(defalias 'text-scale-adjust #[257 "\302\303!\211\304\267\202 \202 [\202 \305\202 \306!\210\307\310 \311\211\203O \211@\312\211\203G \211@\313\314\315C\"!\316\317\"#\210A\266\202\202) \210A\266\202\202\" \210\211\262\302\211\320$\266\202)\207" [last-command-event echo-keystrokes nil event-basic-type #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (61 12 43 12 45 16 48 21)) 0 text-scale-increase set-transient-map make-sparse-keymap (nil (control)) (43 61 45 48) define-key vector append make-closure #[0 "\301\302\300!!\207" [V0 text-scale-adjust abs] 3 nil nil] "Use %k for further adjustment"] 16 (#$ . 11511) "p"])#@50 The text scale at the start of a pinch sequence.
(defvar text-scale--pinch-start-scale 0 (#$ . 14030))
(make-variable-buffer-local 'text-scale--pinch-start-scale)#@90 Adjust the height of the default face by the scale in the pinch event EVENT.

(fn EVENT)
(defalias 'text-scale-pinch #[257 "\304!\305=\204\f \306\307!\210\211A@\211@\262\3108\3118\3128\3138\314!r\315\316\"\216\317@\320\"\210\321U\203J \321U\203J \321U\203J \203H 	\202I \321\322\n\323\324\"!\\!*\207" [text-scale-mode text-scale-mode-amount text-scale--pinch-start-scale text-scale-mode-step event-basic-type pinch error "`text-scale-pinch' bound to bad event type" 4 2 3 5 internal--before-with-selected-window make-closure #[0 "\301\300!\207" [V0 internal--after-with-selected-window] 2] select-window norecord 0 text-scale-set round log] 13 (#$ . 14198) "e"])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313&	\210\300\314\302\303\315DD\316\312\313\310\311\306\317&	\207" [custom-declare-variable global-text-scale-adjust-resizes-frames funcall function #[0 "\300\207" [nil] 1 #1=""] "Whether `global-text-scale-adjust' resizes the frames." :type (choice (const :tag "Off" nil) (const :tag "On" t)) :group display :version "29.1" global-text-scale-adjust-limits #[0 "\300\207" [(10 . 500)] 1 #1#] "Min/max values for `global-text-scale-adjust'.\nThis is a cons cell where the `car' has the minimum font size and\nthe `cdr' has the maximum font size, in units of 1/10 pt." (cons (integer :tag "Min") (integer :tag "Max"))] 10)
(defvar global-text-scale-adjust--default-height nil)
(defvar global-text-scale-adjust--increment-factor 5)#@1207 Change (a.k.a. "adjust") the font size of all faces by INCREMENT.

Interactively, INCREMENT is the prefix numeric argument, and defaults
to 1.  Positive values of INCREMENT increase the font size, negative
values decrease it.

When you invoke this command, it performs the initial change of the
font size, and after that allows further changes by typing one of the
following keys immediately after invoking the command:

   \`+', \`='   Globally increase the height of the default face
   \`-'      Globally decrease the height of the default face
   \`0'      Globally reset the height of the default face

(The change of the font size produced by these keys depends on the
final component of the key sequence, with all modifiers removed.)

Buffer-local face adjustments have higher priority than global
face adjustments.

The variable `global-text-scale-adjust-resizes-frames' controls
whether the frames are resized to keep the same number of lines
and characters per line when the font size is adjusted.

See also the related command `text-scale-adjust'.  Unlike that
command, which scales the font size with a factor,
`global-text-scale-adjust' scales the font size with an
increment.

(fn INCREMENT)
(defalias 'global-text-scale-adjust #[257 "\306 \205\244 \204 \307\310\311\"\312	!\313\307\310\311\"\314\267\202* [_\202- Z\202- _\\\315\f@\fA#\203f ?\316\310\313\311$\210\317\320!\210\321!\203U \322U\204e \307\310\311\"U\203e T\323!\210)\321!\205\241 \324\325 \326\211\203\231 \211@\327\211\203\221 \211@\330\331\332C\"!\323#\210A\266\202\202w \210A\266\202\202p \210\211\262\313\211\333$)\266\204\207" [global-text-scale-adjust--default-height last-command-event echo-keystrokes global-text-scale-adjust--increment-factor global-text-scale-adjust-limits global-text-scale-adjust-resizes-frames display-graphic-p face-attribute default :height event-basic-type nil #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (45 29 48 36)) < set-face-attribute redisplay force characterp 48 global-text-scale-adjust set-transient-map make-sparse-keymap (nil (control meta)) (43 61 45 48) define-key vector append "Use %k for further adjustment" frame-inhibit-implied-resize] 17 (#$ . 15673) "p"])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313&	\207" [custom-declare-variable buffer-face-mode-face funcall function #[0 "\300\207" [variable-pitch] 1 ""] "The face specification used by `buffer-face-mode'.\nIt may contain any value suitable for a `face' text property,\nincluding a face name, a list of face names, a face attribute\nplist, etc." :type (choice (face) (repeat :tag "List of faces" face) (plist :tag "Face property list")) :group display :version "23.1"] 10)
(defvar buffer-face-mode-remapping nil nil)
(make-variable-buffer-local 'buffer-face-mode-remapping)#@101 Non-nil if Buffer-Face mode is enabled.
Use the command `buffer-face-mode' to change this variable.
(defvar buffer-face-mode nil (#$ . 18532))
(make-variable-buffer-local 'buffer-face-mode)#@714 Minor mode for a buffer-specific default face.

When enabled, the face specified by the variable
`buffer-face-mode-face' is used to display the buffer text.

This is a minor mode.  If called interactively, toggle the
`Buffer-Face mode' mode.  If the prefix argument is positive,
enable the mode, and if it is zero or negative, disable the mode.

If called from Lisp, toggle the mode if ARG is `toggle'.  Enable
the mode if ARG is nil, omitted, or is a positive number.
Disable the mode if ARG is a negative number.

To check whether the minor mode is enabled in the current buffer,
evaluate `buffer-face-mode'.

The mode's hook is called both when the mode is enabled and when
it is disabled.

(fn &optional ARG)
(defalias 'buffer-face-mode #[256 "\304 \305=\203 ?\202 \247\203 \306W\203 \307\202 \310\311\301!\2031 \312\300	\"\2031 \300	B\n\2039 \313\n!\210\205A \314\315\"\316p!\210\317\320\203P \321\202Q \322\"\210\323\324!\203t \304 \203e \211\304 \232\203t \325\326\327\203p \330\202q \331\332$\210\210\333 \210\207" [buffer-face-mode local-minor-modes buffer-face-mode-remapping buffer-face-mode-face current-message toggle 1 nil t boundp delq face-remap-remove-relative face-remap-add-relative default force-window-update run-hooks buffer-face-mode-hook buffer-face-mode-on-hook buffer-face-mode-off-hook called-interactively-p any message "%s %sabled%s" "Buffer-Face mode" "en" "dis" " in current buffer" force-mode-line-update] 7 (#$ . 18728) (byte-code "\203\n \301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)])
(defvar buffer-face-mode-hook nil)
(byte-code "\301\302N\204\f \303\301\302\304#\210\303\301\305\306#\210\303\301\307\310C#\210\311\312\313\314\300!\205# \310\211%\207" [buffer-face-mode-map buffer-face-mode-hook variable-documentation put "Hook run after entering or leaving `buffer-face-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" custom-type hook standard-value nil add-minor-mode buffer-face-mode " BufFace" boundp] 6)#@435 Enable `buffer-face-mode', using face specs SPECS.
Each argument in SPECS should be a face, i.e. either a face name
or a property list of face attributes and values.  If more than
one face is listed, that specifies an aggregate face, like in a
`face' text property.  If SPECS is nil or omitted, disable
`buffer-face-mode'.

This function makes the variable `buffer-face-mode-face' buffer
local, and sets it to FACE.

(fn &rest SPECS)
(defalias 'buffer-face-set #[128 "\211:\203 \211A\204 \211@\262\202  \211\204 \301\302!\207\303\300!\210\211\301\304!\207" [buffer-face-mode-face buffer-face-mode 0 make-local-variable t] 3 (#$ . 20818) (byte-code "\300\301\302\303!\"C\207" [read-face-name "Set buffer face" face-at-point t] 4)])#@643 Toggle `buffer-face-mode', using face specs SPECS.
Each argument in SPECS should be a face, i.e. either a face name
or a property list of face attributes and values.  If more than
one face is listed, that specifies an aggregate face, like in a
`face' text property.

If `buffer-face-mode' is already enabled, and is currently using
the face specs SPECS, then it is disabled; if `buffer-face-mode'
is disabled, or is enabled and currently displaying some other
face, then is left enabled, but the face changed to reflect SPECS.

This function will make the variable `buffer-face-mode-face'
buffer local, and set it to SPECS.

(fn &rest SPECS)
(defalias 'buffer-face-toggle #[128 "\211:\203 \211A\204 \211@\262\202  \211\203 \203# 	\232\203# \300\302!\207\303\301!\210\211\300\304!\207" [buffer-face-mode buffer-face-mode-face 0 make-local-variable t] 3 (#$ . 21560) (list buffer-face-mode-face)])#@641 Enable or disable `buffer-face-mode' using face specs SPECS.
ARG controls whether the mode is enabled or disabled, and is
interpreted in the usual manner for minor-mode commands.

SPECS can be any value suitable for a `face' text property,
including a face name, a plist of face attributes and values,
or a list of faces.

If INTERACTIVE is non-nil, display a message describing the
result.

This is a wrapper function which calls `buffer-face-set' or
`buffer-face-toggle' (depending on ARG), and prints a status
message in the echo area.  In many cases one of those functions
may be more appropriate.

(fn SPECS ARG &optional INTERACTIVE)
(defalias 'buffer-face-mode-invoke #[770 "\301 \302=\204\f \204 \303!\210\202 \304\305!\306V\205 !\210\205= \301 \205- \211\301 \232??\205= \307\310\203; \311\202< \312\"\207" [buffer-face-mode current-message toggle buffer-face-toggle buffer-face-set prefix-numeric-value 0 message "Buffer-Face mode %sabled" "en" "dis"] 7 (#$ . 22469)])#@194 Variable-pitch default-face mode.
An interface to `buffer-face-mode' which uses the `variable-pitch' face.
Besides the choice of face, it is the same as `buffer-face-mode'.

(fn &optional ARG)
(defalias 'variable-pitch-mode #[256 "\300\301\206 \302\303\304!#\207" [buffer-face-mode-invoke variable-pitch t called-interactively-p interactive] 6 (#$ . 23464) (byte-code "\206 \301C\207" [current-prefix-arg toggle] 1)])
(provide 'face-remap)
