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



(byte-code "\300\301!\210\300\302!\210\300\303!\210\304\305\306\307\310\311\310\312\310\313\314\315&\210\304\316\306\317\310\305\310\320&\207" [require cl-lib subr-x pcase custom-declare-group company nil "Extensible inline text completion mechanism." :group abbrev convenience matching :link (custom-manual "(company) Top") company-faces "Faces used by Company." faces] 12)
(custom-declare-face 'company-tooltip '((((class color) (min-colors 88) (background light)) (:foreground "black" :background "ghostwhite")) (((class color) (min-colors 88) (background dark)) (:background "gray26")) (t (:foreground "black" :background "yellow"))) "Face used for the tooltip.")
(custom-declare-face 'company-tooltip-selection '((((class color) (min-colors 88) (background light)) (:background "lavender")) (((class color) (min-colors 88) (background dark)) (:background "gray31")) (t (:background "green"))) "Face used for the selection in the tooltip.")
(custom-declare-face 'company-tooltip-deprecated '((t (:strike-through t))) "Face used for the deprecated items.")
(custom-declare-face 'company-tooltip-search '((default :inherit isearch)) "Face used for the search string in the tooltip.")
(custom-declare-face 'company-tooltip-search-selection '((default :inherit isearch)) "Face used for the search string inside the selection in the tooltip.")
(custom-declare-face 'company-tooltip-mouse '((default :inherit highlight)) "Face used for the tooltip item under the mouse.")
(custom-declare-face 'company-tooltip-common '((((background light)) :foreground "darkred") (((background dark)) :foreground "pale turquoise")) "Face used for the common completion in the tooltip.")
(custom-declare-face 'company-tooltip-common-selection '((default :inherit company-tooltip-common)) "Face used for the selected common completion in the tooltip.")
(custom-declare-face 'company-tooltip-annotation '((((background light)) :foreground "firebrick4") (((background dark)) :foreground "LightCyan3")) "Face used for the completion annotation in the tooltip.")
(custom-declare-face 'company-tooltip-annotation-selection '((default :inherit company-tooltip-annotation)) "Face used for the selected completion annotation in the tooltip.")
(custom-declare-face 'company-tooltip-quick-access '((default :inherit company-tooltip-annotation)) "Face used for the quick-access hints shown in the tooltip." :package-version '(company . "0.10.0"))
(custom-declare-face 'company-tooltip-quick-access-selection '((default :inherit company-tooltip-annotation-selection)) "Face used for the selected quick-access hints shown in the tooltip." :package-version '(company . "0.10.0"))
(byte-code "\300\301\302\303#\210\300\301\304\305\306!\206 \307#\207" [put company-scrollbar-fg face-alias company-tooltip-scrollbar-thumb obsolete-face purecopy "0.10.0" t] 5)
(custom-declare-face 'company-tooltip-scrollbar-thumb '((((background light)) :background "lightpink3") (((background dark)) :background "gray33")) "Face used for the tooltip scrollbar thumb (bar).")
(byte-code "\300\301\302\303#\210\300\301\304\305\306!\206 \307#\207" [put company-scrollbar-bg face-alias company-tooltip-scrollbar-track obsolete-face purecopy "0.10.0" t] 5)
(custom-declare-face 'company-tooltip-scrollbar-track '((((background light)) :background "thistle") (((background dark)) :background "gray28")) "Face used for the tooltip scrollbar track (trough).")
(custom-declare-face 'company-preview '((default :inherit (company-tooltip-selection company-tooltip))) "Face used for the completion preview.")
(custom-declare-face 'company-preview-common '((default :inherit company-tooltip-common-selection)) "Face used for the common part of the completion preview.")
(custom-declare-face 'company-preview-search '((default :inherit isearch)) "Face used for the search string in the completion preview.")
(custom-declare-face 'company-echo nil "Face used for completions in the echo area.")
(custom-declare-face 'company-echo-common '((((background light)) (:foreground "firebrick4")) (((background dark)) (:foreground "firebrick1"))) "Face used for the common part of completions in the echo area.")
(byte-code "\302	\"\303\241\207" [load-file-name custom-current-group-alist assoc company] 3)#@23 

(fn VARIABLE VALUE)
(defalias 'company-frontends-set #[514 "\300\301!!\302\303\304\305\306\"\"\307V\203 \310\311!\210\304\305\312\"\"\307V\203' \310\313!\210\314>\2037 \315>\2037 \310\316!\210\317\211\203W \211@\211>A\203P \320\321\"C\"\262A\266\202\2028 \210L\207" [delete-dups copy-sequence (company-pseudo-tooltip-frontend company-pseudo-tooltip-unless-just-one-frontend company-pseudo-tooltip-unless-just-one-frontend-with-delay company-childframe-frontend company-childframe-unless-just-one-frontend) (company-preview-if-just-one-frontend company-preview-common-frontend company-preview-frontend) cl-count-if make-closure #[257 "\211\300\235\207" [V0] 3 "\n\n(fn EL)"] 1 user-error "Any tooltip frontend can be used only once" #[257 "\211\300\235\207" [V0] 3 "\n\n(fn EL)"] "Preview frontend cannot be used twice" company-echo company-echo-metadata-frontend "Echo area cannot be used twice" (company-preview-if-just-one-frontend company-preview-frontend company-preview-common-frontend) append delq] 11 (#$ . 4320)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313&	\210\300\314\302\303\315DD\316\312\317%\210\300\320\302\303\321DD\322\312\317%\210\300\323\302\303\324DD\325\312\317\306\326&\210\300\327\302\303\330DD\331\312\317\306\332&\210\300\333\302\303\334DD\335\312\336\306\337&\210\300\340\302\303\341DD\342\312\317%\210\300\343\302\303\344DD\345\312\346%\210\300\347\302\303\350DD\351\312\352\306\353&\210\300\354\302\303\355DD\356\312\336\306\357&\210\300\360\302\303\361DD\362\312\336\306\363&\210\300\364\302\303\365DD\366\312\352\306\367&\207" [custom-declare-variable company-frontends funcall function #[0 "\302>\204\f \303	W\203 \304\202 \305\306B\207" [window-system emacs-major-version (ns mac w32 pgtk) 30 company-childframe-unless-just-one-frontend company-pseudo-tooltip-unless-just-one-frontend (company-preview-if-just-one-frontend company-echo-metadata-frontend)] 2 #1=""] "The list of active frontends (visualizations).\nEach frontend is a function that takes one argument.  It is called with\none of the following arguments:\n\n`show': When the visualization should start.\n\n`hide': When the visualization should end.\n\n`update': When the data has been updated.\n\n`pre-command': Before every command that is executed while the\nvisualization is active.\n\n`post-command': After every command that is executed while the\nvisualization is active.\n\n`unhide': When an asynchronous backend is waiting for its completions.\nOnly needed in frontends which hide their visualizations in `pre-command'\nfor technical reasons.\n\nThe visualized data is stored in `company-prefix', `company-candidates',\n`company-common', `company-selection', `company-point' and\n`company-search-string'." :package-version (company . "1.1.0") :set company-frontends-set :type (repeat (choice (const :tag "echo" company-echo-frontend) (const :tag "echo, strip common" company-echo-strip-common-frontend) (const :tag "show completion's meta-data in echo" company-echo-metadata-frontend) (const :tag "graphical tooltip" company-childframe-frontend) (const :tag "graphical tooltip, multiple completions only" company-childframe-unless-just-one-frontend) (const :tag "overlays based tooltip" company-pseudo-tooltip-frontend) (const :tag "overlays based tooltip, multiple completions only" company-pseudo-tooltip-unless-just-one-frontend) (const :tag "overlays based tooltip, multiple completions only, delayed" company-pseudo-tooltip-unless-just-one-frontend-with-delay) (const :tag "preview" company-preview-frontend) (const :tag "preview, unique completion only" company-preview-if-just-one-frontend) (const :tag "preview, common" company-preview-common-frontend) (function :tag "custom function" nil))) company-tooltip-limit #[0 "\300\207" [10] 1 #1#] "The maximum number of candidates in the tooltip." integer company-tooltip-minimum #[0 "\300\207" [6] 1 #1#] "Ensure visibility of this number of candidates.\nWhen that many lines are not available between point and the bottom of the\nwindow, display the tooltip above point." company-tooltip-minimum-width #[0 "\300\207" [15] 1 #1#] "The minimum width of the tooltip's inner area.\nThis doesn't include the margins and the scroll bar." (company . "1.1.0") company-tooltip-maximum-width #[0 "\300\207" [100] 1 #1#] "The maximum width of the tooltip's inner area.\nThis doesn't include the margins and the scroll bar." (company . "1.1.0") company-tooltip-width-grow-only #[0 "\300\207" [50] 1 #1#] "When non-nil, the tooltip width is not allowed to decrease." boolean (company . "1.1.0") company-tooltip-margin #[0 "\300\207" [1] 1 #1#] "Width of margin columns to show around the toolip." company-tooltip-offset-display #[0 "\300\207" [scrollbar] 1 #1#] "Method using which the tooltip displays scrolling position.\n`scrollbar' means draw a scrollbar to the right of the items.\n`lines' means wrap items in lines with \"before\" and \"after\" counters." (choice (const :tag "Scrollbar" scrollbar) (const :tag "Two lines" lines)) company-tooltip-scrollbar-width #[0 "\300\207" [0.4] 1 #1#] "Width of the scrollbar thumb, in columns." number (company . "1.0.0") company-tooltip-align-annotations #[0 "\300\207" [nil] 1 #1#] "When non-nil, align annotations to the right tooltip border." (company . "0.7.1") company-tooltip-flip-when-above #[0 "\300\207" [nil] 1 #1#] "Whether to flip the tooltip when it's above the current line." (company . "0.8.1") company-tooltip-annotation-padding #[0 "\300\207" [nil] 1 #1#] "Non-nil to specify the padding before annotation.\n\nDepending on the value of `company-tooltip-align-annotations', the default\npadding is either 0 or 1 space.  This variable allows to override that\nvalue to increase the padding.  When annotations are right-aligned, it sets\nthe minimum padding, and otherwise just the constant one." (company "0.10.0")] 10)
(defvar company-safe-backends '((company-abbrev . "Abbrev") (company-bbdb . "BBDB") (company-capf . "completion-at-point-functions") (company-clang . "Clang") (company-cmake . "CMake") (company-css . "CSS (obsolete backend)") (company-dabbrev . "dabbrev for plain text") (company-dabbrev-code . "dabbrev for code") (company-elisp . "Emacs Lisp (obsolete backend)") (company-etags . "etags") (company-files . "Files") (company-gtags . "GNU Global") (company-ispell . "Ispell") (company-keywords . "Programming language keywords") (company-nxml . "nxml (obsolete backend)") (company-oddmuse . "Oddmuse") (company-semantic . "Semantic") (company-tempo . "Tempo templates")))
(put 'company-safe-backends 'risky-local-variable t)#@17 

(fn BACKENDS)
(defalias 'company-safe-backends-p #[257 "\211:\2051 \30120 \211\211\205- \211@\211:\203 \302!\202 \211\236\204& \303\301\304\"\210A\266\202\202\n \2620?\207" [company-safe-backends --cl-block-nil-- company-safe-backends-p throw t] 6 (#$ . 10927)])
(byte-code "\301\302\303\304\305DD\306\307\310\311\312\313\314\315\316\"\317\310\312\320\311\312\313\314\315\321\"\322\"BBBFD\"BBBD%\210\323\302\324\325#\210\301\326\303\304\327DD\330\307\331%\210\301\332\303\304\333DD\334\307\335%\210\301\336\303\304\337DD\340\307\335%\210\301\341\303\304\342DD\343\307\335%\210\301\344\303\304\345DD\346\307\335%\210\301\347\303\304\350DD\351\307\352%\210\301\353\303\304\354DD\355\307\356\357\360&\210\301\361\303\304\362DD\363\307\356%\210\301\364\303\304\365DD\366\307\367%\210\370\371\372\373#\210\374\211\203\311 \211@\371N\203\302 \372N\204\302 \323\372\371N#\210A\266\202\202\250 \210\375\371\372\376#\210\370\377\372\373#\210\374\211\203\370 \211@\377N\203\361 \372N\204\361 \323\372\377N#\210A\266\202\202\327 \210\375\377\372\376#\210\301\372\303\304\201@ DD\201A \307\201B \357\201C &\210\370\201D \201E \373#\210\374\211\203J\211@\201D N\203C\201E N\204C\323\201E \201D N#\210A\266\202\202!\210\375\201D \201E \376#\207" [company-safe-backends custom-declare-variable company-backends funcall function #[0 "\301\302\303\304\"?\205\f \305C\303\304\"?\205 \306C\307#B\207" [emacs-version company-bbdb append version<= "26" company-nxml company-css (company-semantic company-cmake company-capf company-clang company-files (company-dabbrev-code company-gtags company-etags company-keywords) company-oddmuse company-dabbrev)] 6 #1=""] "The list of active backends (completion engines).\n\nOnly one backend is used at a time.  The choice depends on the order of\nthe items in this list, and on the values they return in response to the\n`prefix' command (see below).  But a backend can also be a \"grouped\"\none (see below).\n\n`company-begin-backend' can be used to start a specific backend,\n`company-other-backend' will skip to the next matching backend in the list.\n\nTo debug which backend is currently in use, try `M-x company-diag'.\n\nEach backend is a function that takes a variable number of arguments.\nThe first argument is the command requested from the backend.  It is one\nof the following:\n\n`prefix': The backend should return the text to be completed.  Returning\nnil from this command passes control to the next backend.\n\nThe expected return value looks like (PREFIX SUFFIX &optional PREFIX-LEN).\nWhere PREFIX is the text to be completed before point, SUFFIX - the\nremainder after point (when e.g. inside a symbol), and PREFIX-LEN, when\nnon-nil, is the number to use in place of PREFIX's length when comparing\nagainst `company-minimum-prefix-length'.  PREFIX-LEN can also be just t,\nand in the latter case the test automatically succeeds.\n\nThe return value can also be just PREFIX, in which case SUFFIX is taken to\nbe an empty string.\n\n`candidates': The second argument is the prefix to be completed.  The\nreturn value should be a list of candidates that match the prefix.\n\nNon-prefix matches are also supported (candidates that don't start with the\nprefix, but match it in some backend-defined way).  Backends that use this\nfeature must disable cache (return t in response to `no-cache') and might\nalso want to handle `match'.\n\nOptional commands\n=================\n\n`sorted': Return t here to indicate that the candidates are sorted and will\nnot need to be sorted again.\n\n`duplicates': If non-nil, company will take care of removing duplicates\nfrom the list.\n\n`no-cache': Usually company doesn't ask for candidates again as completion\nprogresses, unless the backend returns t for this command.  The second\nargument is the latest prefix.\n\n`ignore-case': Return t here if the backend returns case-insensitive\nmatches.  This value is used to determine the longest common prefix (as\nused in `company-complete-common'), and to filter completions when fetching\nthem from cache.\n\n`meta': The second argument is a completion candidate.  Return a (short)\ndocumentation string for it.\n\n`doc-buffer': The second argument is a completion candidate.  Return a\nbuffer with documentation for it.  Preferably use `company-doc-buffer'.  If\nnot all buffer contents pertain to this candidate, return a cons of buffer\nand window start position.\n\n`location': The second argument is a completion candidate.  Return a cons\nof buffer and buffer location, or of file and line number where the\ncompletion candidate was defined.\n\n`annotation': The second argument is a completion candidate.  Return a\nstring to be displayed inline with the candidate in the popup.  If\nduplicates are removed by company, candidates with equal string values will\nbe kept if they have different annotations.  For that to work properly,\nbackends should store the related information on candidates using text\nproperties.\n\n`deprecated': The second argument is a completion candidate.  Return\nnon-nil if the completion candidate is deprecated.\n\n`match': The second argument is a completion candidate.  Return a positive\ninteger, the index after the end of text matching `prefix' within the\ncandidate string.  Alternatively, return a list of (CHUNK-START\n. CHUNK-END) elements, where CHUNK-START and CHUNK-END are indexes within\nthe candidate string.  The corresponding regions are be used when rendering\nthe popup.  This command only makes sense for backends that provide\nnon-prefix completion.\n\n`require-match': If this returns t, the user is not allowed to enter\nanything not offered as a candidate.  Please don't use that value in normal\nbackends.  The default value nil gives the user that choice with\n`company-require-match'.  Return value `never' overrides that option the\nother way around (using that value will indicate that the returned set of\ncompletions is often incomplete, so this behavior will not be useful).\n\n`init': Called once for each buffer. The backend can check for external\nprograms and files and load any required libraries.  Raising an error here\nwill show up in message log once, and the backend will not be used for\ncompletion.\n\n`post-completion': Called after a completion candidate has been inserted\ninto the buffer.  The second argument is the candidate.  Can be used to\nmodify it, e.g. to expand a snippet.\n\n`kind': The second argument is a completion candidate.  Return a symbol\ndescribing the kind of the candidate.  Refer to `company-vscode-icons-mapping'\nfor the possible values.\n\n`adjust-boundaries': The second argument is prefix and the third argument\nis suffix (previously returned by the `prefix' command).  Return a\ncons (NEW-PREFIX . NEW-SUFFIX) where both parts correspond to the\ncompletion candidate.\n\n`expand-common': The first argument is prefix and the second argument is\nsuffix.  Return a cons (NEW-PREFIX . NEW-SUFFIX) that denote an edit in the\ncurrent buffer which would be performed by `company-complete-common'.  It\nshould try to make the combined length of the prefix and suffix longer,\nwhile ensuring that the completions for the new inputs are the same.\nOthewise return the original inputs.  If there are no matching completions,\nreturn the symbol `no-match'.\n\nThe backend should return nil for all commands it does not support or\ndoes not know about.  It should also be callable interactively and use\n`company-begin-backend' to start itself in that case.\n\nGrouped backends\n================\n\nAn element of `company-backends' can also be a list of backends.  The\ncompletions from backends in such groups are merged, but only from those\nbackends which return the same `prefix'.\n\nIf a backend command takes a candidate as an argument (e.g. `meta'), the\ncall is dispatched to the backend the candidate came from.  In other\ncases (except for `duplicates' and `sorted'), the first non-nil value among\nall the backends is returned.\n\nThe group can also contain keywords.  Currently, `:with' and `:separate'\nkeywords are defined.  If the group contains keyword `:with', the backends\nlisted after this keyword are ignored for the purpose of the `prefix'\ncommand.  If the group contains keyword `:separate', the candidates that\ncome from different backends are sorted separately in the combined list.\n\nAsynchronous backends\n=====================\n\nThe return value of each command can also be a cons (:async . FETCHER)\nwhere FETCHER is a function of one argument, CALLBACK.  When the data\narrives, FETCHER must call CALLBACK and pass it the appropriate return\nvalue, as described above.  That call must happen in the same buffer as\nwhere completion was initiated.\n\nTrue asynchronous operation is only supported for command `candidates', and\nonly during idle completion.  Other commands will block the user interface,\neven if the backend uses the asynchronous calling convention." :type repeat choice :tag "backend" append mapcar #[257 "\300\301A@F\207" [const :tag] 5 "\n\n(fn B)"] (symbol :tag "User defined") "Merged backends" #[257 "\300\301A@F\207" [const :tag] 5 "\n\n(fn B)"] ((const :tag "With" :with) (symbol :tag "User defined")) put safe-local-variable company-safe-backends-p company-transformers #[0 "\300\207" [nil] 1 #1#] "Functions to change the list of candidates received from backends.\n\nEach function is called with the return value of the previous one.\nThe first one gets passed the list of candidates, already sorted and\nwithout duplicates (candidates with different annotations are considered to\nbe distinct)." (choice (const :tag "None" nil) (const :tag "Sort by occurrence" (company-sort-by-occurrence)) (const :tag "Sort by backend importance" (company-sort-by-backend-importance)) (const :tag "Prefer case sensitive prefix" (company-sort-prefer-same-case-prefix)) (repeat :tag "User defined" function)) company-completion-started-hook #[0 "\300\207" [nil] 1 #1#] "Hook run when company starts completing.\nThe hook is called with one argument that is non-nil if the completion was\nstarted manually." hook company-completion-cancelled-hook #[0 "\300\207" [nil] 1 #1#] "Hook run when company cancels completing.\nThe hook is called with one argument that is non-nil if the completion was\naborted manually." company-completion-finished-hook #[0 "\300\207" [nil] 1 #1#] "Hook run when company successfully completes.\nThe hook is called with the selected candidate as an argument.\n\nIf you indend to use it to post-process candidates from a specific\nbackend, consider using the `post-completion' command instead." company-after-completion-hook #[0 "\300\207" [nil] 1 #1#] "Hook run at the end of completion, successful or not.\nThe hook is called with one argument which is either a string or a symbol." company-minimum-prefix-length #[0 "\300\207" [3] 1 #1#] "The minimum prefix length for idle completion." (integer :tag "prefix length") company-abort-manual-when-too-short #[0 "\300\207" [nil] 1 #1#] "If enabled, cancel a manually started completion when the prefix gets\nshorter than both `company-minimum-prefix-length' and the length of the\nprefix it was started from." boolean :package-version (company . "0.8.0") company-abort-on-unique-match #[0 "\300\207" [t] 1 #1#] "If non-nil, typing a full unique match aborts completion.\n\nYou can still invoke `company-complete' manually to run the\n`post-completion' handler, though.\n\nIf it's nil, completion will remain active until you type a prefix that\ndoesn't match anything or finish it manually, e.g. with RET." company-require-match #[0 "\300\207" [company-explicit-action-p] 1 #1#] "If enabled, disallow non-matching input.\nThis can be a function do determine if a match is required.\n\nThis can be overridden by the backend, if it returns t or `never' to\n`require-match'.  `company-insertion-on-trigger' also takes precedence over\nthis." (choice (const :tag "Off" nil) (function :tag "Predicate function") (const :tag "On, if user interaction took place" company-explicit-action-p) (const :tag "On" t)) defvaralias company-auto-complete company-insertion-on-trigger nil (saved-value saved-variable-comment) make-obsolete-variable "0.10.0" company-auto-commit #[0 "\300\207" [nil] 1 #1#] "If enabled, allow triggering insertion of the selected candidate.\nThis can also be a predicate function, for example,\n`company-explicit-action-p'.\n\nSee `company-insertion-triggers' for more details on how to define\ntriggers." (choice (const :tag "Off" nil) (function :tag "Predicate function") (const :tag "On, if user interaction took place" company-explicit-action-p) (const :tag "On" t)) (company . "0.10.0") company-auto-complete-chars company-insertion-triggers] 22)
(byte-code "\300\301\302\303#\210\304\211\203( \211@\301N\203! \302N\204! \305\302\301N#\210A\266\202\202 \210\306\301\302\307#\210\310\302\311\312\313DD\314\315\316\317\320&\210\310\321\311\312\322DD\323\315\324%\210\310\325\311\312\326DD\327\315\330%\210\310\331\311\312\332DD\333\315\334\317\335&\210\310\336\311\312\337DD\340\315\341\317\342&\210\310\343\311\312\344DD\345\315\346%\207" [defvaralias company-auto-commit-chars company-insertion-triggers nil (saved-value saved-variable-comment) put make-obsolete-variable "0.10.0" custom-declare-variable funcall function #[0 "\300\207" [(32 41 46)] 1 #1=""] "Determine triggers for `company-insertion-on-trigger'.\n\nIf this is a string, then each character in it can trigger insertion of the\nselected candidate.  If it is a list of syntax description characters (see\n`modify-syntax-entry'), then characters with any of those syntaxes can act\nas triggers.\n\nThis can also be a function, which is called with the new input.  To\ntrigger insertion, the function should return a non-nil value.\n\nNote that a character that is part of a valid completion never triggers\ninsertion." :type (choice (string :tag "Characters") (set :tag "Syntax" (const :tag "Whitespace" 32) (const :tag "Symbol" 95) (const :tag "Opening parentheses" 40) (const :tag "Closing parentheses" 41) (const :tag "Word constituent" 119) (const :tag "Punctuation." 46) (const :tag "String quote." 34) (const :tag "Paired delimiter." 36) (const :tag "Expression quote or prefix operator." 39) (const :tag "Comment starter." 60) (const :tag "Comment ender." 62) (const :tag "Character-quote." 47) (const :tag "Generic string fence." 124) (const :tag "Generic comment fence." 33)) (function :tag "Predicate function")) :package-version (company . "0.10.0") company-idle-delay #[0 "\300\207" [0.2] 1 #1#] "The idle delay in seconds until completion starts automatically.\nThe prefix still has to satisfy `company-minimum-prefix-length' before that\nhappens.  The value of nil means no idle completion." (choice (const :tag "never (nil)" nil) (const :tag "immediate (0)" 0) (function :tag "Predicate function") (number :tag "seconds")) company-tooltip-idle-delay #[0 "\300\207" [0.5] 1 #1#] "The idle delay in seconds until tooltip is shown when using\n`company-pseudo-tooltip-unless-just-one-frontend-with-delay'." (choice (const :tag "never (nil)" nil) (const :tag "immediate (0)" 0) (number :tag "seconds")) company-inhibit-inside-symbols #[0 "\300\207" [nil] 1 #1#] "Non-nil to inhibit idle completion when typing in the middle of a symbol.\nThe symbol is in a generalized sense, indicated by the `prefix' backend\naction returning a non-empty SUFFIX element.  When this variable is\nnon-nil, completion inside symbol will onlytriggered by an explicit command\ninvocation, such as \\[company-complete-common]." boolean (company . "1.0.0") company-begin-commands #[0 "\300\207" [(self-insert-command org-self-insert-command orgtbl-self-insert-command c-scope-operator c-electric-colon c-electric-lt-gt c-electric-slash)] 1 #1#] "A list of commands after which idle completion is allowed.\nIf this is t, it can show completions after any command except a few from a\npre-defined list.  See `company-idle-delay'.\n\nAlternatively, any command with a non-nil `company-begin' property is\ntreated as if it was on this list." (choice (const :tag "Any command" t) (const :tag "Self insert command" (self-insert-command)) (repeat :tag "Commands" function)) (company . "0.8.4") company-continue-commands #[0 "\300\207" [(not save-buffer save-some-buffers save-buffers-kill-terminal save-buffers-kill-emacs completion-at-point complete-symbol completion-help-at-point)] 1 #1#] "A list of commands that are allowed during completion.\nIf this is t, or if `company-begin-commands' is t, any command is allowed.\nOtherwise, the value must be a list of symbols.  If it starts with `not',\nthe cdr is the list of commands that abort completion.  Otherwise, all\ncommands except those in that list, or in `company-begin-commands', or\ncommands in the `company-' namespace, abort completion." (choice (const :tag "Any command" t) (cons :tag "Any except" (const not) (repeat :tag "Commands" function)) (repeat :tag "Commands" function))] 8)#@79 Re-bind quick-access key sequences on OPTION VALUE change.

(fn OPTION VALUE)
(defalias 'company-custom--set-quick-access #[514 "\302\303!\203 \304\300!\203 \303!\210\304\301!\203 \303	!\210\305\"\210\302\306!\2058 \304\300!\203/ \306!\210\304\301!\2058 \306	!\207" [company-active-map company-search-map fboundp company-keymap--unbind-quick-access boundp custom-set-default company-keymap--bind-quick-access] 5 (#$ . 27944)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313&	\210\300\314\302\303\315DD\316\306\307\310\317\312\320&	\207" [custom-declare-variable company-quick-access-keys funcall function #[0 "\300\207" [("1" "2" "3" "4" "5" "6" "7" "8" "9" "0")] 1 #1=""] "Character strings used as a part of quick-access key sequences.\nTo change this value without Customize interface, use `customize-set-variable'.\n\nTo change the quick-access key sequences modifier, customize\n`company-quick-access-modifier'.\n\nIf `company-show-quick-access' is non-nil, show quick-access hints\nbeside the candidates." :set company-custom--set-quick-access :type (choice (const :tag "Digits" ("1" "2" "3" "4" "5" "6" "7" "8" "9" "0")) (const :tag "QWERTY home row" ("a" "s" "d" "f" "g" "h" "j" "k" "l" ";")) (repeat :tag "User defined" string)) :package-version (company . "0.10.0") company-quick-access-modifier #[0 "\300\207" [meta] 1 #1#] "Modifier key used for quick-access keys sequences.\nTo change this value without Customize interface, use `customize-set-variable'.\nSee `company-quick-access-keys' for more details." (choice (const :tag "Meta key" meta) (const :tag "Super key" super) (const :tag "Hyper key" hyper) (const :tag "Control key" control)) (company . "0.10.0")] 10)#@70 Return string representation of the `company-quick-access-modifier'.
(defalias 'company-keymap--quick-access-modifier #[0 "\301\302\"\211\206 \303\304\"\210\305\207" [company-quick-access-modifier assoc-default ((meta . "M") (super . "s") (hyper . "H") (control . "C")) warn "company-quick-access-modifier value unknown: %S" "M"] 4 (#$ . 29653)])#@15 

(fn KEYMAP)
(defalias 'company-keymap--unbind-quick-access #[257 "\301 \211\205$ \211@\302\"\303\"\304=\203 \305\306#\210\210A\266\202\202 \207" [company-quick-access-keys company-keymap--quick-access-modifier company-keymap--kbd-quick-access lookup-key company-complete-quick-access define-key nil] 9 (#$ . 30008)])#@15 

(fn KEYMAP)
(defalias 'company-keymap--bind-quick-access #[257 "\301 \211\205- \211@\302\"\303\"\203 \304\305\306!\"\266\202& \307\310#\266A\266\202\202 \207" [company-quick-access-keys company-keymap--quick-access-modifier company-keymap--kbd-quick-access lookup-key warn "Key sequence %s already bound" key-description define-key company-complete-quick-access] 9 (#$ . 30342)])#@21 

(fn MODIFIER KEY)
(defalias 'company-keymap--kbd-quick-access #[514 "\300\301\302#!\207" [kbd format "%s-%s"] 7 (#$ . 30742)])
(byte-code "\300\301\302\303#\210\304\211\203( \211@\301N\203! \302N\204! \305\302\301N#\210A\266\202\202 \210\306\301\302\307#\210\310\302\311\312\313DD\314\315\316%\210\310\317\311\312\320DD\321\315\312%\210\306\317\322\307#\210\310\323\311\312\324DD\325\315\312%\207" [defvaralias company-show-numbers company-show-quick-access nil (saved-value saved-variable-comment) put make-obsolete-variable "0.10.0" custom-declare-variable funcall function #[0 "\300\207" [nil] 1 #1=""] "If non-nil, show quick-access hints beside the candidates.\n\nFor a tooltip frontend, non-nil value enables a column with the hints\non the right side of the tooltip, unless the configured value is `left'.\n\nTo change the quick-access key bindings, customize `company-quick-access-keys'\nand `company-quick-access-modifier'.\n\nTo change the shown quick-access hints, customize\n`company-quick-access-hint-function'." :type (choice (const :tag "off" nil) (const :tag "left" left) (const :tag "on" t)) company-show-numbers-function #[0 "\300\207" [nil] 1 #1#] "Function called to get quick-access numbers for the first ten candidates.\n\nThe function receives the candidate number (starting from 1) and should\nreturn a string prefixed with one space." "use `company-quick-access-hint-function' instead,\nbut adjust the expected values appropriately." company-quick-access-hint-function #[0 "\300\207" [company-quick-access-hint-key] 1 #1#] "Function called to get quick-access hints for the candidates.\n\nThe function receives a candidate's 0-based number\nand should return a string.\nSee `company-show-quick-access' for more details."] 7)#@134 Return a quick-access key for the CANDIDATE number.
This is a default value of `company-quick-access-hint-function'.

(fn CANDIDATE)
(defalias 'company-quick-access-hint-key #[257 "\203	 T!\207\302\303	GW\203 	8\202 \304\"\207" [company-show-numbers-function company-quick-access-keys format "%s" ""] 5 (#$ . 32508)])
(byte-code "\300\301\302\303\304DD\305\306\307%\210\300\310\302\303\311DD\312\306\313%\207" [custom-declare-variable company-selection-wrap-around funcall function #[0 "\300\207" [nil] 1 #1=""] "If enabled, selecting item before first or after last wraps around." :type (choice (const :tag "off" nil) (const :tag "on" t)) company-async-redisplay-delay #[0 "\300\207" [0.005] 1 #1#] "Delay before redisplay when fetching candidates asynchronously.\n\nYou might want to set this to a higher value if your backends respond\nquickly, to avoid redisplaying twice per each typed character." number] 6)#@105 Pause between checks to see if the value's been set when turning an
asynchronous call into synchronous.
(defvar company-async-wait 0.03 (#$ . 33435))#@67 Maximum wait time for a value to be set during asynchronous call.
(defvar company-async-timeout 2 (#$ . 33590))#@32 Keymap used by `company-mode'.
(defvar company-mode-map (byte-code "\300 \301\302\303#\210\301\304\303#\210\207" [make-sparse-keymap define-key [remap indent-for-tab-command] company-indent-for-tab-command [remap c-indent-line-or-region]] 5) (#$ . 33707))#@53 Keymap that is enabled during an active completion.
(defvar company-active-map (byte-code "\300 \301\302\303#\210\301\304\303#\210\301\305\306#\210\301\307\310#\210\301\311\306#\210\301\312\310#\210\301\313\314#\210\301\315\316#\210\301\317\320#\210\301\321\320#\210\301\322\323#\210\301\324\325#\210\301\326\320#\210\301\327\320#\210\301\330\331#\210\301\332\331#\210\301\333\334#\210\301\335\334#\210\301\336\337#\210\301\340\341#\210\301\342\343#\210\301\344\343#\210\301\345\346#\210\301\347\350#\210\301\351\352#\210\301\353\354#\210\301\355\356#\210\357!\210\207" [make-sparse-keymap define-key "" company-abort "" "" company-select-next-or-abort "" company-select-previous-or-abort [down] [up] [remap scroll-up-command] company-next-page [remap scroll-down-command] company-previous-page [down-mouse-1] ignore [down-mouse-3] [mouse-1] company-complete-mouse [mouse-3] company-select-mouse [up-mouse-1] [up-mouse-3] [return] company-complete-selection "" [tab] company-complete-common-or-cycle "	" [backtab] company-cycle-backward [134217737] company-complete-common [f1] company--show-doc-buffer-and-warn "" [134217832] company-show-doc-buffer "" company--show-location-and-warn [134217831] company-show-location "" company-search-candidates "\223" company-filter-candidates company-keymap--bind-quick-access] 5) (#$ . 33970))
(defvar company--disabled-backends nil)
(defalias 'company--warn-changed-binding #[0 "\300\301\302\303#\207" [run-with-idle-timer 0.01 nil #[0 "\300\301!\207" [message "Warning: default bindings are being changed to M-h and M-g"] 2]] 4 nil nil])#@16 

(fn BACKEND)
(defalias 'company-init-backend #[257 "\2119\203 \301!\204 \3021 \303\304\305#0\210\202 \210\2119\203T \3061. \211\307!\210\310\311\305#0\207\310\311\312#\210>\204B \313\314\315!#\210\316\"\203N \210\202R B\304\207\317!\203\\ \305\207\211\211\205t \211@\320!\204m \321!\210A\266\202\202] \207" [company--disabled-backends fboundp (error) require nil t (error) init put company-init failed message "Company backend '%s' could not be initialized:\n%s" error-message-string memql functionp keywordp company-init-backend] 7 (#$ . 35593)])#@16 

(fn BACKEND)
(defalias 'company--maybe-init-backend #[257 "\2119?\206 \211\300N\301=\206 \211\300N?\205 \302!\207" [company-init t company-init-backend] 3 (#$ . 36170)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable company-lighter-base funcall function #[0 "\300\207" ["company"] 1 ""] "Base string to use for the `company-mode' lighter." :type string :package-version (company . "0.8.10")] 8)#@110 Mode line lighter for Company.

The value of this variable is a mode line template as in
`mode-line-format'.
(defvar company-lighter '(" " (company-candidates (:eval (cond ((consp company-backend) (when company-selection (company--group-lighter (nth company-selection company-candidates) company-lighter-base))) ((symbolp company-backend) (symbol-name company-backend)) ((functionp company-backend) "company-<lambda>"))) company-lighter-base)) (#$ . 36618))
(put 'company-lighter 'risky-local-variable t)#@93 Non-nil if Company mode is enabled.
Use the command `company-mode' to change this variable.
(defvar company-mode nil (#$ . 37128))
(make-variable-buffer-local 'company-mode)#@1616 "complete anything"; is an in-buffer completion framework.

Completion starts automatically, depending on the values
`company-idle-delay' and `company-minimum-prefix-length'.

Completion can be controlled with the commands:
`company-complete-common', `company-complete-selection', `company-complete',
`company-select-next', `company-select-previous'.  If these commands are
called before `company-idle-delay', completion will also start.

Completions can be searched with `company-search-candidates' or
`company-filter-candidates'.  These can be used while completion is
inactive, as well.

The completion data is retrieved using `company-backends' and displayed
using `company-frontends'.  If you want to start a specific backend, call
it interactively or use `company-begin-backend'.

By default, the completions list is sorted alphabetically, unless the
backend chooses otherwise, or `company-transformers' changes it later.

regular keymap (`company-mode-map'):

\{company-mode-map}
keymap during active completions (`company-active-map'):

\{company-active-map}

This is a minor mode.  If called interactively, toggle the
`Company 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 `company-mode'.

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

(fn &optional ARG)
(defalias 'company-mode #[256 "\303 \304=\203 ?\202 \247\203 \305W\203 \306\202 \307\310\301!\2031 \311\300	\"\2031 \300	B\203R \312\313\314\306\307$\210\312\315\316\306\307$\210\312\317\320\306\307$\210\321\322\n\"\210\202g \323\313\314\307#\210\323\315\316\307#\210\323\317\320\307#\210\324 \210\325\326\203q \327\202r \330\"\210\331\332!\203\225 \303 \203\206 \211\303 \232\203\225 \333\334\335\203\221 \336\202\222 \337\340$\210\210\341 \210\207" [company-mode local-minor-modes company-backends current-message toggle 1 nil t boundp delq add-hook pre-command-hook company-pre-command post-command-hook company-post-command yas-keymap-disable-hook company--active-p mapc company-init-backend remove-hook company-cancel run-hooks company-mode-hook company-mode-on-hook company-mode-off-hook called-interactively-p any message "%s %sabled%s" "Company mode" "en" "dis" " in current buffer" force-mode-line-update] 7 (#$ . 37309) (byte-code "\203\n \301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)])
(defvar company-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%\210\315\316\317\320\321DD\322\323\324%\210\315\325\317\320\326DD\327\323\330%\210\303\331\332\333#\207" [company-mode-map company-mode-hook variable-documentation put "Hook run after entering or leaving `company-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 company-mode company-lighter boundp custom-declare-variable company-global-modes funcall function #[0 "\300\207" [t] 1 #1=""] "Modes for which `company-mode' mode is turned on by `global-company-mode'.\nIf nil, means no modes.  If t, then all major modes have it turned on.\nIf a list, it should be a list of `major-mode' symbol names for which\n`company-mode' should be automatically turned on.  The sense of the list is\nnegated if it begins with `not'.  For example:\n (c-mode c++-mode)\nmeans that `company-mode' is turned on for buffers in C and C++ modes only.\n (not message-mode)\nmeans that `company-mode' is always turned on except in `message-mode' buffers." :type (choice (const :tag "none" nil) (const :tag "all" t) (set :menu-tag "mode specific" :tag "modes" :value (not) (const :tag "Except" not) (repeat :inline t (symbol :tag "mode")))) company-global-minibuffer #[0 "\300\207" [t] 1 #1#] "Non-nil to enable `company-mode' in the minibuffer.\nThe value can be t (meaning only enable if the minibuffer has a local\n`completion-at-point-functions' value) or a custom predicate function.\n\nThe overlay based popup is not supported, completion won't start in\nminibuffer if it's in configured frontends: use `company-childframe'." boolean global-company-mode globalized-minor-mode t] 6)
(defvar company-mode-major-mode nil nil)
(byte-code "\300\301!\210\302\303\304\305\306DD\307\310\311\312\313\314\315&	\207" [make-variable-buffer-local company-mode-major-mode custom-declare-variable global-company-mode funcall function #[0 "\300\207" [nil] 1 ""] "Non-nil if Global Company mode is enabled.\nSee the `global-company-mode' command\nfor a description of this minor mode.\nSetting this variable directly does not take effect;\neither customize it (see the info node `Easy Customization')\nor call the function `global-company-mode'." :set custom-set-minor-mode :initialize custom-initialize-default :type boolean] 10)#@448 Toggle Company mode in all buffers.
With prefix ARG, enable Global Company mode if ARG is positive;
otherwise, disable it.

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.

Company mode is enabled in all buffers where `company-mode-on' would
do it.

See `company-mode' for more information on Company mode.

(fn &optional ARG)
(defalias 'global-company-mode #[256 "\303 \304\301\305=\203 \306\301!?\202! \247\203  \307W\203  \310\202! \311\"\210\312\300!\2038 \313\301\"\306\301!\2038 \301B	\203N \314\315\316\"\210\314\317\320\"\210\314\321\322\"\210\202] \323\315\316\"\210\323\317\320\"\210\323\321\322\"\210\324 \211\203\203 \211@r\211q\210	\203s \325 \210\202{ \n\203{ \302\326!\210)A\266\202\202_ \210	\203\221 \314\327\330\331#\210\202\226 \323\327\330\"\210\332\333\306\301!\203\242 \334\202\243 \335\"\210\336\337!\203\314 \340\301!\210\303 \203\273 \211\303 \232\203\314 \341\342\343\306\301!\203\310 \344\202\311 \345\346$\210\210\347 \210\306\301!\207" [global-minor-modes global-company-mode company-mode current-message set-default toggle default-value 1 nil t boundp delq add-hook after-change-major-mode-hook global-company-mode-enable-in-buffers find-file-hook global-company-mode-check-buffers change-major-mode-hook global-company-mode-cmhh remove-hook buffer-list company-mode-on -1 minibuffer-setup-hook company--minibuffer-on 100 run-hooks global-company-mode-hook global-company-mode-on-hook global-company-mode-off-hook called-interactively-p any customize-mark-as-set message "%s %sabled%s" "Global Company mode" "en" "dis" "" force-mode-line-update] 7 (#$ . 42466) (byte-code "\203\n \301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)])
(defvar global-company-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\310\313\300!\205# \310\211%\207" [global-company-mode-map global-company-mode-hook variable-documentation put "Hook run after entering or leaving `global-company-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 global-company-mode boundp] 6)
(defvar company-mode-set-explicitly nil nil)
(make-variable-buffer-local 'company-mode-set-explicitly)
(defalias 'company-mode-set-explicitly #[0 "\301\211\207" [company-mode-set-explicitly t] 2])
(byte-code "\300\301\302\303#\210\304\305\301\"\207" [put company-mode-set-explicitly definition-name global-company-mode add-hook company-mode-hook] 4)
(defvar global-company-mode-buffers nil)
(defalias 'global-company-mode-enable-in-buffers #[0 "\305\211\211\2059 \211@\306!\2032 r\211q\210	\204/ \n=\204/ \f\203, \304\307!\210\310 \210\202/ \310 \210)A\266\202\202 \207" [global-company-mode-buffers company-mode-set-explicitly company-mode-major-mode major-mode company-mode nil buffer-live-p -1 company-mode-on] 5])
(put 'global-company-mode-enable-in-buffers 'definition-name 'global-company-mode)
(defalias 'global-company-mode-check-buffers #[0 "\300 \210\301\302\303\"\207" [global-company-mode-enable-in-buffers remove-hook post-command-hook global-company-mode-check-buffers] 3])
(put 'global-company-mode-check-buffers 'definition-name 'global-company-mode)
(defalias 'global-company-mode-cmhh #[0 "\300\301p\"\210\302\303\304\"\207" [add-to-list global-company-mode-buffers add-hook post-command-hook global-company-mode-check-buffers] 3])
(put 'global-company-mode-cmhh 'definition-name 'global-company-mode)
(defalias 'company-mode-on #[0 "\206\n \303 \304H\305=?\205, 	\306=\204) 	\242\307=\203# \n	A>?\202& \n	>\205, \310\311!\207" [noninteractive company-global-modes major-mode buffer-name 0 32 t not company-mode 1] 2])
(defalias 'company--minibuffer-on #[0 "\205  \302\303	\"?\205  \304=\203 \305\306!\202  \205  \307\310!\207" [company-global-minibuffer company-frontends try-completion "company-pseudo-tooltip" t local-variable-p completion-at-point-functions company-mode 1] 3])
(defalias 'company-assert-enabled #[0 "?\205 \301 \210\302\303!\207" [company-mode company-uninstall-map user-error "Company not enabled"] 2])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put company-assert-enabled speed -1 put byte-optimizer byte-compile-inline-expand] 5)
(defvar company-my-keymap nil nil)
(make-variable-buffer-local 'company-my-keymap)
(defvar company-emulation-alist '((t)))#@15 

(fn KEYMAP)
(defalias 'company-enable-overriding-keymap #[257 "\301 \210\211\211\207" [company-my-keymap company-uninstall-map] 3 (#$ . 47038)])
(defalias 'company-ensure-emulation-alist #[0 "@\301=?\205 \301\302\301\"B\211\207" [emulation-mode-map-alists company-emulation-alist delq] 4])
(defalias 'company-install-map #[0 "@A\206 	??\205 \302\300!\210\303	BC\211\207" [company-emulation-alist company-my-keymap make-local-variable t] 2])
(defalias 'company-uninstall-map #[0 "\300\301!\207" [kill-local-variable company-emulation-alist] 2])#@71 Checks if the keys are part of company's overriding keymap

(fn KEYS)
(defalias 'company--company-command-p #[257 "\211\301\232\206\f \302\303\"!\207" [company-my-keymap [company-dummy-event] commandp lookup-key] 5 (#$ . 47598)])#@13 

(fn POSN)
(defalias 'company--posn-col-row #[257 "\302Y\203 \303\304\"\202 \303!\211@\305!\206 A\306 \307=\203) \310 \211Z\262\210\311\301!\203; 	\203; \312\313 \\Z\262\314 \\B\207" [emacs-major-version display-line-numbers 29 posn-col-row t posn-actual-col-row current-bidi-paragraph-direction right-to-left window-body-width boundp 2 line-number-display-width window-hscroll] 7 (#$ . 47835)])#@22 

(fn &optional POS)
(defalias 'company--col-row #[256 "\300\301!!\207" [company--posn-col-row posn-at-point] 4 (#$ . 48251)])#@22 

(fn &optional POS)
(defalias 'company--row #[256 "\300!A\207" [company--col-row] 3 (#$ . 48384)])
(defvar company-backend nil nil)
(make-variable-buffer-local 'company-backend)#@42 

(fn REGEXP &optional EXPRESSION LIMIT)
(defalias 'company-grab #[769 "\300\"\205 \301\206 \302!\206 \303\207" [looking-back match-string-no-properties 0 ""] 6 (#$ . 48569)])#@36 

(fn REGEXP &optional EXPRESSION)
(defalias 'company-grab-suffix #[513 "\300!\205 \301\206\f \302!\206 \303\207" [looking-at match-string-no-properties 0 ""] 4 (#$ . 48756)])#@247 Return a match string for REGEXP if it matches text before point.
If EXPRESSION is non-nil, return the match string for the respective
parenthesized expression in REGEXP.
Matching is limited to the current line.

(fn REGEXP &optional EXPRESSION)
(defalias 'company-grab-line #[513 "\301\302\303 #)\207" [inhibit-field-text-motion t company-grab line-beginning-position] 6 (#$ . 48942)])#@71 Return buffer substring from the beginning of the symbol until point.
(defalias 'company-grab-symbol #[0 "`\212\300\301!\210`){\207" [skip-syntax-backward "w_"] 3 (#$ . 49337)])#@65 Return buffer substring from point until the end of the symbol.
(defalias 'company-grab-symbol-suffix #[0 "`\212\300\301!\210`){\207" [skip-syntax-forward "w_"] 3 (#$ . 49520)])#@69 Return buffer substring from the beginning of the word until point.
(defalias 'company-grab-word #[0 "`\212\300\301!\210`){\207" [skip-syntax-backward "w"] 3 (#$ . 49703)])#@69 Return buffer substring from the beginning of the word until point.
(defalias 'company-grab-word-suffix #[0 "`\212\300\301!\210`){\207" [skip-syntax-forward "w"] 3 (#$ . 49881)])#@413 Return a list (PREFIX SUFFIX &optional OVERRIDE).

IDLE-BEGIN-AFTER-RE, if non-nil, must be a regexp.

Where OVERRIDE might be t is IDLE-BEGIN-AFTER-RE is non-nil and the text
before prefix matches it.  PREFIX and SUFFIX are as returned by
`company-grab-symbol' and `company-grab-symbol-suffix'.
MAX-LEN is how far back to try to match the IDLE-BEGIN-AFTER-RE regexp.

(fn &optional IDLE-BEGIN-AFTER-RE MAX-LEN)
(defalias 'company-grab-symbol-parts #[512 "\300 \301\211\302 \262\203) \212G[u\210\303\203 `Z\202! \304 \"\203( \305\262)E\207" [company-grab-symbol nil company-grab-symbol-suffix looking-back line-beginning-position t] 9 (#$ . 50066)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias company-grab-symbol-cons company-grab-symbol-parts nil make-obsolete "1.0"] 4)#@56 Return non-nil if point is within a string or comment.
(defalias 'company-in-string-or-comment #[0 "\300 \301\233\211\262@\206 \211A\211\262@\206 \3018\207" [syntax-ppss 3] 3 (#$ . 50878)])#@23 

(fn PREFIX STRINGS)
(defalias 'company-substitute-prefix #[514 "G\300\301\302#\"\207" [mapcar make-closure #[257 "\302\301\303\300\303\300&\304=\203 \207\301\300\305OP\207" [V0 V1 compare-strings 0 t nil] 8 "\n\n(fn S)"]] 8 (#$ . 51079)])#@74 Compute `match' result from a CAPF's completion fontification.

(fn STR)
(defalias 'company--match-from-capf-face #[257 "\300\301\300\211\211\211GW\203n \302W\203 \302\202  \303	#\262\304\305\n#\2063 \304\306\n#\262<\203> \202@ C\262\307>\262\204V \203V \262\202	 \203	 \204	 BB\262\300\262\202	 \237\207" [nil -1 0 next-property-change get-text-property face font-lock-face completions-common-part] 12 (#$ . 51334)])#@48 

(fn PREFIX SUFFIX TABLE &optional PRED META)
(defalias 'company--capf-completions #[1283 "\301C\302\303\"\304!\305\236AA\211@\302\306#\216\240\210\307		P\fG	%\310!\211A\2064 \311\312\f$\203F \313\241\210\242\204P \211\311\241\210\314B\315\313O\311AO)BBD\262\262\262\262\266\202)\207" [completion-styles-alist t make-closure #[128 "\301\302\"\211\203\f \300\303\240\210\207" [V0 apply completion-emacs22-all-completions nil] 4 "\n\n(fn &rest ARGS)"] copy-tree emacs22 #[0 "\301\300\240\207" [V0 V1] 2] completion-all-completions last 0 completion-boundaries nil :completions :boundaries] 19 (#$ . 51797)])#@52 

(fn PREFIX SUFFIX TABLE &optional PRED METADATA)
(defalias 'company--capf-expand-common #[1283 "\300PG%\211\301\267\202 \302\207B\207\211@\303AO@A\304OB\207" [completion-try-completion #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (nil 17 t 19)) no-match 0 nil] 11 (#$ . 52449)])#@102 STRING-PAIR is (PREFIX . SUFFIX) and MARKERS is a pair to reuse.

(fn STRING-PAIR &optional MARKERS)
(defalias 'company--capf-boundaries-markers #[513 "\211\203\n \211@;\203 \300 \300 B\262\211@`@GZ\301\223\210\211A`AG\\\301\223\210\207" [make-marker nil] 5 (#$ . 52789)])#@16 

(fn MARKERS)
(defalias 'company--capf-boundaries #[257 "\211@A\300`V\203 `\262`{`{B\207" [nil] 7 (#$ . 53071)])
(defvar company--cache (make-hash-table :test 'equal :size 10))#@346 Fetch the value assigned to KEY in the cache.
When not found, or when found to be stale, calls FETCHER to compute the
result.  When EXPIRE is non-nil, the value will be deleted at the end of
completion.  CHECK-TAG, when present, is saved as well, and the entry will
be recomputed when this value changes.

(fn KEY FETCHER &key EXPIRE CHECK-TAG)
(defalias 'company-cache-fetch #[642 "\301\302\"A@\301\303\"A@\211\203B \211@\304>\203+ \211A\204# \305\306@\"\210\211AA\262\202 \307>A@\2039 \310\262\202 \305\311@\"\210\202 \210\312\313#\310\313=\204a \203\\ \314\303\"\232\203a \314\315\"\207\315 \211\262BC\262\203u \316B\262\203\200 \303BB\262\317#\210\207" [company--cache plist-member :expire :check-tag (:expire :check-tag :allow-other-keys) error "Missing argument for %s" :allow-other-keys nil "Keyword argument %s not one of (:expire :check-tag)" gethash none assoc-default :value (:expire . t) puthash] 11 (#$ . 53261)])#@34 Delete KEY from cache.

(fn KEY)
(defalias 'company-cache-delete #[257 "\301\"\207" [company--cache remhash] 4 (#$ . 54226)])#@60 Delete all keys from the cache that are set to be expired.
(defalias 'company-cache-expire #[0 "\301\302\"\207" [company--cache maphash #[514 "\301\302\"\205 \303\"\207" [company--cache assoc-default :expire remhash] 5 "\n\n(fn K V)"]] 3 (#$ . 54359)])#@19 

(fn &rest ARGS)
(defalias 'company-call-backend #[128 "\301\302#\207" [company-backend company--force-sync company-call-backend-raw] 5 (#$ . 54622)])#@25 

(fn FUN ARGS BACKEND)
(defalias 'company--force-sync #[771 "\302\"\211\242\303=\204\f \207\304C\305 A\306\307\"!\210\242\304=\2039 \305 ZV\2032 \310\311#\210\202 \312	!\210\202 \242\207" [company-async-timeout company-async-wait apply :async trash time-to-seconds make-closure #[257 "\300\240\207" [V0] 3 "\n\n(fn RESULT)"] error "Company: backend %s async timeout with args %s" sleep-for] 10 (#$ . 54781)])#@19 

(fn &rest ARGS)
(defalias 'company-call-backend-raw #[128 "\3011& \3021 \303!\203 \304\"\202 \304\305#00\2070\306\307\310!#\207\311\312\310!$\207" [company-backend (debug error) (debug user-error) functionp apply company--multi-backend-adapter user-error "Company: backend %s user-error: %s" error-message-string error "Company: backend %s error \"%s\" with args %s"] 7 (#$ . 55210)])
(defvar company--multi-uncached-backends nil nil)
(make-variable-buffer-local 'company--multi-uncached-backends)
(defvar company--multi-min-prefix nil nil)
(make-variable-buffer-local 'company--multi-min-prefix)#@36 

(fn BACKENDS COMMAND &rest ARGS)
(defalias 'company--multi-backend-adapter #[642 "\303\211:\203$ @\262\304!\204 \305!\203 B\262A\262\202 \211\237\266\203C\306>\307=\204: \310\304\242\"\240\210\311\312\267\202\357 \313\242\206I \314#\207@\211\207\207?\207\303\211	\242\211\203\206 \211@\211\235\203 \315\316\307!)\206s \314\"\203 \317\262\320	\"A\266\202\202[ \210\266\202\262\203\221 \317\207\211#\207\211#\207\321\242!\207@\211G\314V\205\341 \322\314\302#\206\266 \242@\323\324#\325!\326!\316\327$\206\336 \330#\203\333 B\202\336 \331B)\266\204\207\332\333\242\206\353 \314$\207@\211G\314V\205\f\322\314\302#\206\242@\332#\262\207" [company--multi-min-prefix company--multi-uncached-backends company-backend nil keywordp company--maybe-init-backend :separate prefix cl-delete-if #[771 "\300\3012: \242\211\2057 \211@\302B#\211\262\2030 \303=\203+ \304=\203+ \305\262\306\301\"\210A\266\202\202 \2620\207" [nil --cl-block-nil-- company--force-sync ignore-case keep-prefix t throw] 10 "\n\n(fn COMMAND ARGS BACKENDS)"] #s(hash-table size 10 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (candidates 65 set-min-prefix 76 sorted 81 duplicates 83 no-cache 86 require-match 151 ignore-case 151 prefix 157 adjust-boundaries 162 expand-common 226)) company--multi-backend-adapter-candidates 0 company--good-prefix-p company-call-backend t delete company--multi-prefix get-text-property company--force-sync (prefix) company--prefix-str company--suffix-str adjust-boundaries company--proper-suffix-p "" apply company--multi-expand-common] 16 (#$ . 55827)])#@17 

(fn BACKENDS)
(defalias 'company--multi-prefix #[257 "\300>A\301\211\211\211\203\201 \211@\302!?\205 \303\304#\301\305!;\203x \306!\262\2036 >\2046 \301\262\203F \305!GGV\203K \305!\262\307!GGV\203[ \307!\262\211\310=\204u \211\203x \310=\204x \203u \211V\203x \211\262\266A\266\202\202 \210\205\217 ?\205\217 E\207" [:with nil keywordp company--force-sync (prefix) company--prefix-str company--prefix-len company--suffix-str t] 11 (#$ . 57496)])#@42 

(fn BACKENDS MIN-LENGTH PREFIX SUFFIX)
(defalias 'company--multi-expand-common #[1028 "\302\211\211\211\211:\203F @\262\303\304!)\262\305\n\"\205- \306\307\310!\311!\"*\262:\203< EB\262A\262\302\262\202 \237\266\206\302\211\203y \211@\312\310A@!\"\204b \313\314!\210\315\311A@!\"\204r \313\316!\210A\266\202\202L \210\317\320\321\"\"\262\322\323\"\262\211@\211\205\262 \324\320\325\"A\"\205\262 \326G@ZOA@P\3278\3308\302OPB\262\206\300 \211\204\275 \331\207B\207" [company-backend inhibit-redisplay nil company-call-backend prefix company--good-prefix-p t company--expand-common company--prefix-str company--suffix-str string-suffix-p cl--assertion-failed (string-suffix-p (company--prefix-str (nth 1 tuple)) prefix) string-prefix-p (string-prefix-p (company--suffix-str (nth 1 tuple)) suffix) mapcar make-closure #[257 "\301A@!\302A@!GG\303\211\3048AG\304	8@G^^W\203> H\3048@HU\203> T\262\202! W\203a \300ZSH\3048AZSHU\203a T\262\202> Z\3048@\305OZ\3048A\303	ZO@\257\207" [V0 company--prefix-str company--suffix-str 0 2 nil] 17 "\n\n(fn TUPLE)"] sort #[514 "A@G@ZA@G@ZW\207" [] 5 "\n\n(fn T1 T2)"] cl-every #[257 "\211@\300@U\205$ \3018\301\3008U\205$ \3028\302\3008\232\205$ \303\300A@A@\"\207" [V0 2 3 string-prefix-p] 4 "\n\n(fn REPLACEMENT)"] 0 3 2 no-match] 14 (#$ . 57989)])#@37 

(fn BACKENDS MIN-LENGTH SEPARATE)
(defalias 'company--multi-backend-adapter-candidates #[771 "\302\211\302\211:\203R @\262\303\304!)\305	\"\203* \306!\262\307!\211\262\202/ 	B\302\262\203K \310#\311\f@=?#BB\262A\262\202 \211\237\266\203\312\313\"\207" [company-backend company--multi-uncached-backends nil company-call-backend prefix company--good-prefix-p company--prefix-str company--suffix-str candidates company--multi-candidates-mapper company--merge-async #[257 "\300\301\"\207" [apply append] 4 "\n\n(fn VALUES)"]] 14 (#$ . 59390)])#@29 

(fn BACKEND SEPARATE TAG)
(defalias 'company--multi-candidates-mapper #[771 "\300\301$\207" [make-closure #[257 "\301\203\f \302\304!)\262\300\203 \305\306\307\302\"\"\262\207" [V0 V1 V2 company-backend company--preprocess-candidates mapcar make-closure #[257 "\301\302\300#\207" [V0 propertize company-backend] 5 "\n\n(fn STR)"]] 5 "\n\n(fn CANDIDATES)"]] 8 (#$ . 59969)])#@21 

(fn PAIRS MERGER)
(defalias 'company--merge-async #[514 "\300\211\211:\203# @\262@\242\301=\211\262?\211\262\203# A\262\202 \266\203\211\204S \300\211\211:\203M @\262\211A\262\242\262!B\262A\262\202. \211\237\266\204!\207\301\302\303#B\207" [nil :async make-closure #[257 "\302C\303\304\301\"C\305\306\300%\301\211\205M \211@\302\242B\240\210\242@A\305\307\n\f&\242\310=\204? \211!\266\202F A\211!\266A\266\202\202 \207" [V0 V1 nil mapcar car make-closure #[0 "\300\242?\205 \302\303\301\242\237!!\207" [V0 V1 V2 V3] 3] #[257 "\304\305\301\304\242\"\240\210\302\300!\240\210\306\303!\207" [V0 V1 V2 V3 V4 delq funcall-interactively] 5 "\n\n(fn RES)"] :async] 16 "\n\n(fn CALLBACK)"]] 10 (#$ . 60361)])#@15 

(fn ENTITY)
(defalias 'company--prefix-str #[257 "\211\242\206 \211\207" [] 2 (#$ . 61124)])#@15 

(fn ENTITY)
(defalias 'company--prefix-len #[257 "\211\243\300:\203 A@\262\202 \247\204 \301=\203 \262\211\206. ;\203+ \202- @G\207" [nil t] 5 (#$ . 61225)])#@15 

(fn ENTITY)
(defalias 'company--suffix-str #[257 "\211\243\242;\203 \211\243\242\207\300\207" [""] 2 (#$ . 61404)])
(defvar company-prefix nil nil)
(make-variable-buffer-local 'company-prefix)
(defvar company-suffix nil nil)
(make-variable-buffer-local 'company-suffix)
(defvar company-candidates nil nil)
(make-variable-buffer-local 'company-candidates)
(defvar company-candidates-length nil nil)
(make-variable-buffer-local 'company-candidates-length)
(defvar company-candidates-cache nil nil)
(make-variable-buffer-local 'company-candidates-cache)
(defvar company-candidates-predicate nil nil)
(make-variable-buffer-local 'company-candidates-predicate)
(defvar company-common nil nil)
(make-variable-buffer-local 'company-common)#@44 The default value for `company-selection'.
(defvar company-selection-default 0 (#$ . 62145))
(defvar company-selection company-selection-default nil)
(make-variable-buffer-local 'company-selection)
(defvar company-selection-changed nil nil)
(make-variable-buffer-local 'company-selection-changed)#@57 Non-nil if manual completion was performed by the user.
(defvar company--manual-action nil (#$ . 62447))
(make-variable-buffer-local 'company--manual-action)#@54 Non-nil if manual completion is being performed now.
(defvar company--manual-now nil (#$ . 62610))
(make-variable-buffer-local 'company--manual-now)
(defvar company--manual-prefix nil nil)
(make-variable-buffer-local 'company--manual-prefix)
(defvar company--point-max nil nil)
(make-variable-buffer-local 'company--point-max)
(defvar company-point nil nil)
(make-variable-buffer-local 'company-point)
(defvar company-valid-point nil nil)
(make-variable-buffer-local 'company-valid-point)
(defvar company-timer nil)
(defvar company-tooltip-timer nil)#@19 

(fn STR PREFIX)
(defalias 'company-strip-prefix #[514 "G\300O\207" [nil] 5 (#$ . 63166)])#@25 

(fn CANDIDATE PREFIX)
(defalias 'company--insert-candidate #[514 "G\300V\205* \301!\262\302\303!\304=\203 \305\"c\207\211\232?\205* `GZ`|\210c\207" [0 substring-no-properties company-call-backend ignore-case keep-prefix company-strip-prefix] 5 (#$ . 63265)])#@182 Evaluate BODY with CANDIDATE temporarily inserted.
This is a tool for backends that need candidates inserted before they
can retrieve meta-data for them.

(fn CANDIDATE &rest BODY)
(defalias 'company-with-candidate-inserted '(macro . #[385 "\300\301\302\303BB\304\305B\306BBF\207" [let ((inhibit-modification-hooks t) (inhibit-point-motion-hooks t) (modified-p (buffer-modified-p))) company--insert-candidate (company-prefix) unwind-protect progn ((delete-region company-point (point)) (set-buffer-modified-p modified-p))] 8 (#$ . 63541)]))
(byte-code "\300\301\302\303#\300\207" [function-put company-with-candidate-inserted lisp-indent-function 1] 4)#@66 Return whether explicit completion action was taken by the user.
(defalias 'company-explicit-action-p #[0 "\206 	\207" [company--manual-action company-selection-changed] 1 (#$ . 64201)])#@18 

(fn CANDIDATE)
(defalias 'company-reformat #[257 "\301\302!\303=\203 G\304OP\207\207" [company-prefix company-call-backend ignore-case keep-prefix nil] 5 (#$ . 64395)])
(defalias 'company--should-complete #[0 "\305=\205& 	\206 \n?\205& \306 \307\232\204  \310\311\306 !!?\205& \205% \f?\207" [company-idle-delay buffer-read-only overriding-local-map transient-mark-mode mark-active now this-command-keys-vector [] keymapp key-binding] 3])
(defalias 'company--should-continue #[0 "\303=\2067 	\303=\2067 	@\304=\203 \n	A>?\207\n>\2067 \n	>\2067 \n9\2057 \305\306\n!\307\310\303$\266\203\207" [company-begin-commands company-continue-commands this-command t not "\\`company-" symbol-name nil string-match] 8])#@164 If non-nil, update the documentation buffer on each selection change.
To toggle the value of this variable, call `company-show-doc-buffer' with a
prefix argument.
(defvar company-auto-update-doc nil (#$ . 65124))#@16 

(fn COMMAND)
(defalias 'company-call-frontends #[257 "\301\211:\203- @\262\3021 !0\202\" \303\304\305!$\262B\262A\262\202 \211\237\207" [company-frontends nil (debug error) error "Company: frontend %s error \"%s\" on command %s" error-message-string] 10 (#$ . 65342)])#@234 Set SELECTION for company candidates.
This will update `company-selection' and related variable.
Only update when the current selection is changed, but optionally always
update if FORCE-UPDATE.

(fn SELECTION &optional FORCE-UPDATE)
(defalias 'company-set-selection #[513 "\2037 \203\f \305\202 \306	\\\\\262\n\203! \307	\"\202' \305	S^]\262W?\2053 Z)\262\210\211\204B \232?\205I \310\311\312!\207" [company-selection-default company-candidates-length company-selection-wrap-around company-selection company-selection-changed 0 1 mod t company-call-frontends update] 6 (#$ . 65636)])#@23 

(fn CANDIDATE BASE)
(defalias 'company--group-lighter #[514 "\301\302\300#\206\f \303\304\"\211\205# \2119\205# \305\306\307\310!#\311\312#\262\207" [company-backend get-text-property 0 cl-some #[257 "\300!?\205 \211\207" [keywordp] 3 "\n\n(fn X)"] replace-regexp-in-string "company-\\|-company" "" symbol-name format "%s-<%s>"] 8 (#$ . 66246)])#@19 

(fn CANDIDATES)
(defalias 'company-update-candidates #[257 "\211G	\203P \f\205 \f8\211\203L \306\3072K \203D \211A\262\242\211\230\203= \310\311\"\310\311\"\232\203= \312\307\313\"\210\210\fT\202 \314\2110\210\210\202U \211\310\315!A\203n \316\317\"\211;\205i \211\262\202p @\211)\207" [company-candidates-length company-point company-valid-point company-selection-changed company-selection company-candidates 0 found company-call-backend annotation throw t nil ignore-case try-completion "" company-selection-default completion-ignore-case company-common] 7 (#$ . 66607)])#@34 

(fn PREFIX IGNORE-CASE SUFFIX)
(defalias 'company-calculate-candidates #[771 "\303\"A\211\204m \203N G\304\3052H T\306\211W\205E \303	\306ZO\"A\211\262\203> \307	\"\262\310\305\311\"\210\211T\262\202 \266\2020)\266\203\204m \312\n\304\313%\314\315\"\216\316\317\"!)\262BB\210\320!\207" [company-candidates-cache completion-ignore-case company-async-redisplay-delay assoc nil --cl-block-nil-- 0 all-completions throw t run-with-timer company--sneaky-refresh make-closure #[0 "\301\300!\207" [V0 cancel-timer] 2] company--preprocess-candidates company--fetch-candidates company--postprocess-candidates] 14 (#$ . 67220)])#@45 

(fn CANDIDATES PREFIX SUFFIX IGNORE-CASE)
(defalias 'company--unique-match-p #[1028 "\205' A?\205' \300@\301\211P\301\211&\302=\205' \303\304@\"\305=?\207" [compare-strings nil t company-call-backend kind snippet] 12 (#$ . 67880)])#@22 

(fn PREFIX SUFFIX)
(defalias 'company--fetch-candidates #[514 "?\305\203 \306\307#\202 \310\307#\211@\311=\204! \211\202y \312CA\313\314\"!\210\315 \203C \211\242\312=\203Q \316 \204Q \317!\210\2020 \211\242\312=\203Q \320\321\305\"\204C \f@\322\235\203a \f\210\fA\211\202R \211\242\323\240\210\211\312=\203t \324\325\326\"\202u \211\262\262*\207" [company--manual-now non-essential inhibit-redisplay company-async-wait unread-command-events t company-call-backend candidates company-call-backend-raw :async none make-closure #[257 "\300\242\302=\203 \303	B\300\240\207" [V0 unread-command-events none company-foo] 3 "\n\n(fn CANDIDATES)"] company--flyspell-workaround-p input-pending-p sleep-for sit-for 0.5 (company-foo (t . company-foo)) exited throw interrupted new-input] 9 (#$ . 68130)])#@22 

(fn PREFIX SUFFIX)
(defalias 'company--sneaky-refresh #[514 "\203 \211\203 \304\305!\210*\306\307 )\210\205 \304\310!\207" [company-candidates company-prefix company-suffix inhibit-redisplay company-call-frontends unhide nil redisplay pre-command] 4 (#$ . 68951)])
(defalias 'company--flyspell-workaround-p #[0 "\302\300!\205 \205 \303	\304\"\207" [flyspell-mode emacs-version boundp version< "27"] 3])#@19 

(fn CANDIDATES)
(defalias 'company--preprocess-candidates #[257 "\300\301\"\204 \302\303!\210\304\305!\204 \306\307\"\262\304\310!\203! \311!\210\207" [cl-every stringp cl--assertion-failed (cl-every #'stringp candidates) company-call-backend sorted sort string< duplicates company--strip-duplicates] 4 (#$ . 69374)])#@19 

(fn CANDIDATES)
(defalias 'company--postprocess-candidates #[257 "\204 	\203 \302!\262\203 \303\"\262\304!\207" [company-candidates-predicate company-transformers copy-sequence cl-delete-if-not company--transform-candidates] 4 (#$ . 69705)])#@19 

(fn CANDIDATES)
(defalias 'company--strip-duplicates #[257 "\211\300\205] \211\211A\262\242@\232\204 \300\262\301\202I \300=\203. \302\303\"\302\304\"BC\262\302\303\"\302\304\"B\211\235\203A \305\202G \211B\262\301\262\262\203U A\262\202 \262\241\210\202 \207" [unk nil company-call-backend annotation kind t] 10 (#$ . 69965)])#@19 

(fn CANDIDATES)
(defalias 'company--transform-candidates #[257 "\211\211\203 \211@\211!\262A\266\202\202 \210\207" [company-transformers] 6 (#$ . 70325)])
(byte-code "\300\301\302\303\304DD\305\306\307%\207" [custom-declare-variable company-occurrence-weight-function funcall function #[0 "\300\207" [company-occurrence-prefer-closest-above] 1 ""] "Function to weigh matches in `company-sort-by-occurrence'.\nIt's called with three arguments: cursor position, the beginning and the\nend of the match." :type (choice (const :tag "First above point, then below point" company-occurrence-prefer-closest-above) (const :tag "Prefer closest in any direction" company-occurrence-prefer-any-closest))] 6)
(defvar company-vscode-icons-mapping '((array . "symbol-array.svg") (boolean . "symbol-boolean.svg") (class . "symbol-class.svg") (color . "symbol-color.svg") (constant . "symbol-constant.svg") (constructor . "symbol-method.svg") (enum-member . "symbol-enumerator-member.svg") (enum . "symbol-enumerator.svg") (event . "symbol-event.svg") (field . "symbol-field.svg") (file . "symbol-file.svg") (filter . "filter.svg") (folder . "folder.svg") (interface . "symbol-interface.svg") (keyword . "symbol-keyword.svg") (method . "symbol-method.svg") (function . "symbol-method.svg") (module . "symbol-namespace.svg") (numeric . "symbol-numeric.svg") (operator . "symbol-operator.svg") (property . "symbol-property.svg") (reference . "references.svg") (search . "search.svg") (snippet . "symbol-snippet.svg") (string . "symbol-string.svg") (struct . "symbol-structure.svg") (text . "symbol-key.svg") (type-parameter . "symbol-parameter.svg") (unit . "symbol-ruler.svg") (value . "symbol-enumerator.svg") (variable . "symbol-variable.svg") (t . "symbol-misc.svg")))
(defconst company-icons-root (byte-code "\302\303\304\305\206	 	!\"!\207" [load-file-name buffer-file-name file-name-as-directory expand-file-name "icons" file-name-directory] 5))
(byte-code "\300\301\302\303\304DD\305\306\307%\210\300\310\302\303\311DD\312\306\313%\207" [custom-declare-variable company-icon-size funcall function #[0 "\300\207" [(auto-scale . 16)] 1 #1=""] "Size of icons indicating completion kind in the popup." :type (choice (integer :tag "Size in pixels" :value 16) (cons :tag "Size in pixels, scaled 2x on HiDPI screens" (const auto-scale) (integer :value 16))) company-icon-margin #[0 "\300\207" [2] 1 #1#] "Width of the margin that shows the icons, in characters." integer] 6)#@49 

(fn ICON-MAPPING ROOT-DIR CANDIDATE SELECTED)
(defalias 'company--render-icons-margin #[1028 "\302 \211\205 \211\205 \303\304\"\211\205  \305\"\206  \305\306\"\211\205\307 \307\203- \310\202. \311\312\"\313 \250\203; \202` :\205` @\314=\205` A\315 \211\316_Y\203Y \316_\202Z 	_^\266\202\317\320\321\"\322\323\324\325\326\327\312\330=?\205} \257	_Z	\316X\203\236 \331\332\333#\331\334	S!\333\335\324CE#P\207\211\316\245Z\331\334\336!\333\335\324CE#\331\332\333#\331\334	\316Z!\333\335\324CE#Q\266\207\207" [company-icon-size company-icon-margin window-system company-call-backend kind alist-get t face-attribute company-tooltip-selection company-tooltip :background default-font-width auto-scale default-font-height 2 image :file expand-file-name :type svg :width :height :ascent center unspecified propertize " " display company-space-string space 1] 25 (#$ . 72797)])#@88 Margin function which returns icons from vscode's dark theme.

(fn CANDIDATE SELECTED)
(defalias 'company-vscode-dark-icons-margin #[514 "\302\303\304	\"$\207" [company-vscode-icons-mapping company-icons-root company--render-icons-margin expand-file-name "vscode-dark"] 7 (#$ . 73718)])#@89 Margin function which returns icons from vscode's light theme.

(fn CANDIDATE SELECTED)
(defalias 'company-vscode-light-icons-margin #[514 "\302\303\304	\"$\207" [company-vscode-icons-mapping company-icons-root company--render-icons-margin expand-file-name "vscode-light"] 7 (#$ . 74013)])
(byte-code "\300\301\302\303\304DD\305\306\307%\210\300\310\302\303\311DD\312\306\313%\210\300\314\302\303\315DD\316\306\317%\210\300\320\302\303\321DD\322\306\323%\207" [custom-declare-variable company-text-icons-mapping funcall function #[0 "\300\207" [((array "a" font-lock-type-face) (boolean "b" font-lock-builtin-face) (class "c" font-lock-type-face) (color "#" success) (constant "c" font-lock-constant-face) (constructor "c" font-lock-function-name-face) (enum-member "e" font-lock-builtin-face) (enum "e" font-lock-builtin-face) (field "f" font-lock-variable-name-face) (file "f" font-lock-string-face) (filter "!" minibuffer-prompt) (folder "d" font-lock-doc-face) (interface "i" font-lock-type-face) (keyword "k" font-lock-keyword-face) (method "m" font-lock-function-name-face) (function "f" font-lock-function-name-face) (module "{" font-lock-type-face) (numeric "n" font-lock-builtin-face) (operator "o" font-lock-comment-delimiter-face) (property "p" font-lock-variable-name-face) (reference "r" font-lock-doc-face) (search "q" minibuffer-prompt) (snippet "S" font-lock-string-face) (string "s" font-lock-string-face) (struct "%" font-lock-variable-name-face) (text "w" shadow) (type-parameter "p" font-lock-type-face) (unit "u" shadow) (value "v" font-lock-builtin-face) (variable "v" font-lock-variable-name-face) (t "." shadow))] 1 #1=""] "Mapping of the text icons.\nThe format should be an alist of (KIND . CONF) where CONF is a list of the\nform (ICON FG BG) which is used to propertize the icon to be shown for a\ncandidate of kind KIND. FG can either be color string or a face from which\nwe can get a color string (using the :foreground face-property). BG must be\nof the same form as FG or a cons cell of (BG . BG-WHEN-SELECTED) which each\nshould be of the same form as FG.\n\nThe only mandatory element in CONF is ICON, you can omit both the FG and BG\nfields without issue.\n\nWhen BG is omitted and `company-text-icons-add-background' is non-nil, a BG\ncolor is generated using a gradient between the active tooltip color and\nthe FG color." :type (repeat sexp) company-text-face-extra-attributes #[0 "\300\207" [(:weight bold)] 1 #1#] "Additional attributes to add to text/dot icons faces.\nIf non-nil, an anonymous face is generated.\n\nAffects `company-text-icons-margin' and `company-dot-icons-margin'." (plist :tag "Face property list") company-text-icons-format #[0 "\300\207" [" %s "] 1 #1#] "Format string for printing the text icons." string company-text-icons-add-background #[0 "\300\207" [nil] 1 #1#] "Generate a background color for text/dot icons when none is given.\nSee `company-text-icons-mapping'." boolean] 6)#@71 Margin function which returns unicode icons.

(fn CANDIDATE SELECTED)
(defalias 'company-text-icons-margin #[514 "\205 \302\303\"\211\205 \304\"\206 \304\305\"\211\205Z \211\203) \211A\262\242\2020 \306\307\310GD\"\211A\262\242\211A\262\242\203K \306\307\310\311G\\D\"\210\312\313	\"\314\315\f##\266\204\207" [company-text-icons-mapping company-text-icons-format company-call-backend kind alist-get t signal wrong-number-of-arguments (icon &optional fg bg) 3 propertize format face company-text-icons--face] 15 (#$ . 76969)])#@144 Try to extract PROPERTY from FACE.
If FACE isn't a valid face return FACE as is. If FACE doesn't have
PROPERTY return nil.

(fn FACE PROPERTY)
(defalias 'company-text-icons--extract-property #[514 "\300!\203 \301\"\211\302=?\205 \211\207\207" [facep face-attribute unspecified] 5 (#$ . 77524)])#@23 

(fn FG BG SELECTED)
(defalias 'company-text-icons--face #[771 "\302\303\"\304\205 \303D:\211\203# \203 A\202% @\202% \302\305\"\302\2033 \306\2024 \307\305\"	\203` \203` \204` \203` \211\203` \305\310\311\312\313!\313!\314#@\"D\266\204\202\217 \203p \205\215 \305D\266\204\202\217 	\205\215 \205\215 \211\205\215 \305\310\311\312\313!\313!\315#@\"D\266\204#\207" [company-text-face-extra-attributes company-text-icons-add-background company-text-icons--extract-property :foreground append :background company-tooltip-selection company-tooltip apply color-rgb-to-hex color-gradient color-name-to-rgb 2 10] 18 (#$ . 77830)])
(byte-code "\300\301\302\303\304DD\305\306\307%\207" [custom-declare-variable company-dot-icons-format funcall function #[0 "\300\207" ["● "] 1 ""] "Format string for `company-dot-icons-margin'." :type string] 6)#@94 Margin function that uses a colored dot to display completion kind.

(fn CANDIDATE SELECTED)
(defalias 'company-dot-icons-margin #[514 "\302\303\"\211\205 \304\"\206 \304\305\"\211\205T \211\203$ \211A\266\202\202, \306\307\310GD\"\210\311\211A\262\242\211A\262\242\203H \306\307\310\312G\\D\"\210\313	\314\315\f##\266\204\207" [company-text-icons-mapping company-dot-icons-format company-call-backend kind assoc-default t signal wrong-number-of-arguments (_icon &optional fg bg) nil 3 propertize face company-text-icons--face] 15 (#$ . 78707)])#@94 Margin function which picks the appropriate icon set automatically.

(fn CANDIDATE SELECTED)
(defalias 'company-detect-icons-margin #[514 "\300 \203 \301\302!\203 \303\304\305\"\211\306=\203 \307\"\207\310\"\207\311\"\207" [display-graphic-p image-type-available-p svg frame-parameter nil background-mode light company-vscode-light-icons-margin company-vscode-dark-icons-margin company-text-icons-margin] 6 (#$ . 79277)])
(byte-code "\300\301\302\303\304DD\305\306\307%\207" [custom-declare-variable company-format-margin-function funcall function #[0 "\300\207" [company-detect-icons-margin] 1 ""] "Function to format the margin.\nIt accepts 2 params `candidate' and `selected' and can be used for\ninserting prefix/image before the completion items. Typically, the\nfunctions call the backends with `kind' and then insert the appropriate\nimage for the returned kind image. Function is called with (nil nil) to get\nthe default margin." :type (choice (const :tag "Disabled" nil) (const :tag "Detect icons theme base on conditions" company-detect-icons-margin) (const :tag "Text characters as icons" company-text-icons-margin) (const :tag "Colored dots as icons" company-dot-icons-margin) (const :tag "VScode dark icons theme" company-vscode-dark-icons-margin) (const :tag "VScode light icons theme" company-vscode-light-icons-margin) (function :tag "Custom icon function."))] 6)#@97 Give priority to the matches above point, then those below point.

(fn POS MATCH-BEG MATCH-END)
(defalias 'company-occurrence-prefer-closest-above #[771 "W\203\n Z\207\300 Z\207" [window-start] 5 (#$ . 80672)])#@82 Give priority to the matches closest to the point.

(fn POS MATCH-BEG MATCH-END)
(defalias 'company-occurrence-prefer-any-closest #[771 "\300Z!\207" [abs] 6 (#$ . 80893)])#@311 Sort CANDIDATES according to their occurrences.
Searches for each in the currently visible part of the current buffer and
prioritizes the matches according to `company-occurrence-weight-function'.
The rest of the list is appended unchanged.
Keywords and function definition names are ignored.

(fn CANDIDATES)
(defalias 'company-sort-by-occurrence #[257 "\300 \301 ]\302 `\303C\212\304\305\306	%\")\307\310\311\242\312\"\"\244\207" [window-start field-beginning window-end nil cl-delete-if make-closure #[257 "\303b\210\211\211\305\230\262?\205r \306\302\307#\205r \3102_ \301Sb\210\311\303\307#\203< \312 \313\314\"\216\315 )\262\203 \316\310\307\"\210\202 \301b\210\306\302\307#\205^ \312 \313\317\"\216\315 )\262\203? \316\310\307\"\210\202? 0\205r \300\f\301\320\224\320\225#B\300\242B\240\210\307\207" [V0 V1 V2 V3 company-occurrence-weight-function "" search-forward t done search-backward match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] company--occurrence-predicate throw #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 0] 7 "\n\n(fn CANDIDATE)"] mapcar car sort #[514 "AAX\207" [] 4 "\n\n(fn E1 E2)"]] 12 (#$ . 81073)])
(defalias 'company--occurrence-predicate #[0 "\301\224\301\225\302\300!\205 \212\211b\210\303\304!\203 \305 \211B\210\306`S\307\"\310>?\205: \311\312\313!!\211;\2058 \211GZU\262*\207" [comint-last-prompt 0 boundp derived-mode-p inferior-python-mode line-beginning-position get-text-property face (font-lock-function-name-face font-lock-keyword-face) company--prefix-str company-call-backend prefix] 6])#@279 Sort CANDIDATES as two priority groups.
If `company-backend' is a function, do nothing.  If it's a list, move
candidates from backends before keyword `:with' to the front.  Candidates
from the rest of the backends in the group, if any, will be left at the end.

(fn CANDIDATES)
(defalias 'company-sort-by-backend-importance #[257 "\301!\203 \207\302>A\211\204 \207\303\304\305\"\"\207" [company-backend functionp :with sort make-closure #[514 "\301\302\303#\211\205\f \211\300>\262\205! \301\302\303#\211?\206 \211\300>?\262\207" [V0 get-text-property 0 company-backend] 6 "\n\n(fn C1 C2)"]] 7 (#$ . 82670)])#@186 Prefer CANDIDATES with the exact same prefix.
If a backend returns case insensitive matches, candidates with the an exact
prefix match (same case) will be prioritized.

(fn CANDIDATES)
(defalias 'company-sort-prefer-same-case-prefix #[257 "\211\301\211\211:\203* @\262\302\"\203 C\244\262\202# \211C\244\262A\262\202 \303\"\207" [company-prefix nil string-prefix-p append] 8 (#$ . 83297)])#@25 

(fn BUF WIN TICK POS)
(defalias 'company-idle-begin #[1028 "p=\205' \302 =\205' \303 =\205' \211`=\205' \304\305 \205& \306\307 ))\207" [non-essential this-command selected-window buffer-chars-modified-tick t company-auto-begin company-idle-begin company-post-command] 6 (#$ . 83708)])
(defalias 'company-auto-begin #[0 "\2057 	?\2057 \304\30512 \3061 \307\310 \210	)00\2026 0\311\312!\210\311\313\314!\"\210\315 \262\2026 \315 \262)\207" [company-mode company-candidates company-idle-delay inhibit-quit now (debug quit) (debug error) nil company--perform message "Company: An error occurred in auto-begin" "%s" error-message-string company-cancel] 5])#@162 Start the completion interface.

Unlike `company-complete-selection' or `company-complete', this command
doesn't cause any immediate changes to the buffer text.
(defalias 'company-manual-begin #[0 "\204 \306 \210\307\310!\210\311\312\216\313\311\f\203 `U\206 \314 +\207" [company-mode company--manual-action company--manual-now company-minimum-prefix-length company-candidates company-valid-point company-uninstall-map user-error "Company not enabled" t #[0 "?\205 \302\211\207" [company-candidates company--manual-action nil] 2] 0 company-auto-begin] 2 (#$ . 84381) nil])#@27 

(fn &optional BACKWARD)
(defalias 'company-other-backend #[256 "\204 \304 \210\305\306!\210	\203 	\n\235A\202 \n	\307\n!\235A\203* \310\307!\"\2020 \310\307!\"\311 \210\3122_ \211\211\205\\ \211@\3131I \314!0\202M \210\202U \203U \315\312\316\"\210A\266\202\2028 \2620\266?\205i \305\317!\207" [company-mode company-backend company-backends company-candidates company-uninstall-map user-error "Company not enabled" reverse append company-cancel --cl-block-nil-- (error) company-begin-backend throw t "No other backend"] 9 (#$ . 84970) (list current-prefix-arg)])
(defalias 'company-require-match-p #[0 "\301\302!\211\303=\206 \211\304=?\205 \305!\203  \207\303=\207" [company-require-match company-call-backend require-match t never functionp] 3])#@149 Return non-nil if INPUT should trigger insertion.
For more details see `company-insertion-on-trigger' and
`company-insertion-triggers'.

(fn INPUT)
(defalias 'company-insertion-on-trigger-p #[257 "\302!\203  \202\f \2055 \302	!\203 	!\207	:\203% \303!z	>\207\304\305\306O!	\307\310\311$\266\203\207" [company-insertion-on-trigger company-insertion-triggers functionp string-to-char regexp-quote 0 1 nil string-match t] 9 (#$ . 85746)])
(defalias 'company--incremental-p #[0 "`V\205 d	V\205 \n\304=?\205 GZ{\232\207" [company-point company--point-max this-command company-prefix backward-delete-char-untabify] 2])#@19 

(fn NEW-PREFIX)
(defalias 'company--continue-failed #[257 "\303 \203 \211;\203 \211GGX\203 	\235\203 \304\305!\207\303 \2030 \306\n`Z!\210\307 \210\310\311!\210	\207\304 \207" [company-prefix company-candidates company-valid-point company-require-match-p company-cancel non-unique delete-char ding message "Matching input is required"] 4 (#$ . 86383)])#@26 

(fn PREFIX MIN-LENGTH)
(defalias 'company--good-prefix-p #[514 "\300!;\205 \301!\302=\206 \301!Y\207" [company--prefix-str company--prefix-len t] 4 (#$ . 86749)])
(defalias 'company--prefix-min-length #[0 "\203& 	\203$ \n\243\211\203 \211\247\203 \211\202  \242G\202  G\262^\207\303\207\n\207" [company--manual-prefix company-abort-manual-when-too-short company-minimum-prefix-length 0] 3])
(defalias 'company--continue #[0 "\306\307\"\203	 \310\306\311!\312!\306\313!\31429 \315\316 \"\2058 \317!\211\262\2058 `GZ\nGZU\2058 \320#0\211\321=\203G `\322\207\f\203X \323$\203X \324\325!\207\211:\203h `\326!\210\207\327!\203\200 \330\331!!\203\200 \212\nb\210\332 )\210\310\207\333 \204\210 \324 \207\334!\207" [company-prefix company-candidates-cache company-point company-suffix company-abort-on-unique-match last-command-event company-call-backend no-cache nil prefix company--suffix-str ignore-case interrupted company--good-prefix-p company--prefix-min-length company--prefix-str company-calculate-candidates new-input t company--unique-match-p company-cancel unique company-update-candidates characterp company-insertion-on-trigger-p string company-complete-selection company--incremental-p company--continue-failed] 9])
(defalias 'company--begin-new #[0 "\306 \307\211\3102\323 \203 C\202 	\211\205\320 \211@\2119\204# \311!\2032 \312!\2056 \211\313\314!)\2026 \315\314\"\262\203\311 \316\"\203\304 \n\203U \204U \317!G\320U\203\304 \313\321!\313\322\"\210\323!\317!`$\3242u \325\f#0\262\203\201 \326=\203\215 \203\303 \327\330!\266\202\304 %\203\256 \331\f$\203\256 \203\246 \327\332!\210\202\256 \333\334!\266\202\304 \203\265 &\335!\210\336\337\340 \"\210\341\342!\210\210\343\310\"\210A\266\202\202 \2620\207" [company-backend company-backends company-inhibit-inside-symbols company--manual-action company-prefix company-suffix company--prefix-min-length nil --cl-block-nil-- functionp company--maybe-init-backend company-call-backend prefix company--multi-backend-adapter company--good-prefix-p company--suffix-str 0 ignore-case set-min-prefix company--prefix-str interrupted company-calculate-candidates new-input message "No completion found" company--unique-match-p "Sole completion" company-cancel unique company-update-candidates run-hook-with-args company-completion-started-hook company-explicit-action-p company-call-frontends show throw company-point company-abort-on-unique-match company--manual-prefix] 11])
(defalias 'company--perform #[0 "\203\n \304 \210\202 \305 \203 \306 \210\307 \210\204 \310\211\207d\311 \210\312!\210\313\314!\207" [company-candidates company-backend company--point-max company-active-map company--continue company--should-complete company-cache-expire company--begin-new nil company-ensure-emulation-alist company-enable-overriding-keymap company-call-frontends update] 2])#@25 

(fn &optional RESULT)
(defalias 'company-cancel #[256 "	\306\211\306\211\306\211\306\306\211\306\211\306\211\306\2034 \307!\210\310\311!\210\312\313!\210\314\315!\210\316\306!\210\203g ;\203] \211\317\320\"\210\321\322\")\210\202b \317\323\"\210\317\324\"\210\266\306\207" [company-prefix company-backend company-candidates company-candidates-length company-candidates-cache company-candidates-predicate nil cancel-timer company-echo-cancel t company-search-mode 0 company-call-frontends hide company-enable-overriding-keymap run-hook-with-args company-completion-finished-hook company-call-backend post-completion company-completion-cancelled-hook company-after-completion-hook company-common company-selection-default company-selection company-selection-changed company--manual-action company--manual-prefix company--point-max company--multi-uncached-backends company--multi-min-prefix company-point company-timer] 7 (#$ . 89672)])
(defalias 'company-abort #[0 "\300\301!\207" [company-cancel abort] 2 nil nil])#@15 

(fn RESULT)
(defalias 'company-finish #[257 "\305!\211\242\243\306\206 \"\210\211G\307V\203 ``G\\|\210\310 	\311!\210\310 U\205E \312\211\313\314 )\210\f\205? \305 \315\232?\205E \311 \207" [company-prefix company-backend company-require-match company--manual-prefix company-candidates company--boundaries company--insert-candidate 0 buffer-chars-modified-tick company-cancel nil #1="" company--begin-new (#1# . #1#)] 8 (#$ . 90732)])#@16 

(fn COMMAND)
(defalias 'company-keep #[257 "\2119\205 \211\300N\207" [company-keep] 3 (#$ . 91188)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put company-keep speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@32 

(fn CANDIDATE PREFIX SUFFIX)
(defalias 'company--proper-suffix-p #[771 "GGG\\Y\205 \300\301\302!#\207" [string-suffix-p company-call-backend ignore-case] 8 (#$ . 91435)])#@28 

(fn &optional CANDIDATE)
(defalias 'company--boundaries #[256 "\211\204 \206	 \304	8\262\305\306\n$\206' \307\n#\203$ \nB\206' \n\310B\207" [company-selection company-candidates company-prefix company-suffix 0 company-call-backend adjust-boundaries company--proper-suffix-p ""] 6 (#$ . 91619)])
(defalias 'company--active-p #[0 "\207" [company-candidates] 1])
(defalias 'company-pre-command #[0 "\304 \210\2119\205\f \211\305N\262\2049 \3061* 	\205% \307\310!\210\311 ?\205% \312 0\210\2029 \313\314!\210\313\315\316!\"\210\317 \266\n\203C \320\n!\210\321\322\323!\210\324>?\205P \325 \207" [this-command company-candidates company-timer this-original-command company--electric-restore-window-configuration company-keep (debug error) company-call-frontends pre-command company--should-continue company-abort message "Company: An error occurred in pre-command" "%s" error-message-string company-cancel cancel-timer nil company-echo-cancel t (describe-key describe-key-briefly describe-map describe-bindings) company-uninstall-map] 5])
(defalias 'company-post-command #[0 "\203 	\204 \306 \210\306	\2119\205 \211\307N\262\204\224 \3101\205 `\n\232\203+ d\232\2041 \311\312 )\210\203] \313\314!\210\205\200 \3151X \3161R \317 ?\205M \320 00\202\200 0\210\311\202\200 \210\311\202\200 \321 \211\247\205~ ?\205~ \322 \205~ \323\311\324p\325 \326 `&\211\2620\210\202\224 \327\330!\210\327\331\332!\"\210\333 \266\334 \207" [company-candidates this-command company-point company--point-max company-idle-delay company-auto-update-doc company-abort company-keep (debug error) nil company--perform company-call-frontends post-command (quit) (user-error) company--electric-command-p company-show-doc-buffer company--idle-delay company--should-begin run-with-timer company-idle-begin selected-window buffer-chars-modified-tick message "Company: An error occurred in post-command" "%s" error-message-string company-cancel company-install-map defining-kbd-macro company-timer] 9])
(defalias 'company--idle-delay #[0 "\301!\203  \202\f \302\303\"\203 \304\207\207" [company-idle-delay functionp memql (t 0 0.0) 0.01] 4])#@102 List of commands after which idle completion is (still) disabled when
`company-begin-commands' is t.
(defvar company--begin-inhibit-commands '(company-abort company-complete-mouse company-complete company-complete-common company-complete-selection company-complete-tooltip-row) (#$ . 93773))
(defalias 'company--should-begin #[0 "\303=\203 	\n>?\207	>\206 	9\205 	\304N\207" [company-begin-commands this-command company--begin-inhibit-commands t company-begin] 2])
(byte-code "\300\301\302\303\304DD\305\306\307%\207" [custom-declare-variable company-search-regexp-function funcall function #[0 "\300\207" [company-search-words-in-any-order-regexp] 1 ""] "Function to construct the search regexp from input.\nIt's called with one argument, the current search input.  It must return\neither a regexp without groups, or one where groups don't intersect and\neach one wraps a part of the input string." :type (choice (const :tag "Exact match" regexp-quote) (const :tag "Words separated with spaces" company-search-words-regexp) (const :tag "Words separated with spaces, in any order" company-search-words-in-any-order-regexp) (const :tag "All characters in given order, with anything in between" company-search-flex-regexp) (const :tag "Space separated words in any order, all chars inside a word with anything in between" company-search-flex-words-in-any-order-regexp))] 6)
(defvar company-search-string "" nil)
(make-variable-buffer-local 'company-search-string)
(defvar company-search-lighter '(" " (company-search-filtering "Filter" "Search") ": \"" company-search-string "\""))#@66 Non-nil to filter the completion candidates by the search string
(defvar company-search-filtering nil (#$ . 95363))
(make-variable-buffer-local 'company-search-filtering)
(defvar company--search-old-selection 0 nil)
(make-variable-buffer-local 'company--search-old-selection)
(defvar company--search-old-changed nil nil)
(make-variable-buffer-local 'company--search-old-changed)#@14 

(fn INPUT)
(defalias 'company-search-words-regexp #[257 "\300\301\302\303\304#\305#\207" [mapconcat #[257 "\300\301\302!\"\207" [format "\\(%s\\)" regexp-quote] 5 "\n\n(fn WORD)"] split-string " +" t ".*"] 7 (#$ . 95747)])#@14 

(fn INPUT)
(defalias 'company-search-words-in-any-order-regexp #[257 "\300\301\302\303\304#\"\305!\306\307\310#\207" [mapcar #[257 "\300\301\302!\"\207" [format "\\(%s\\)" regexp-quote] 5 "\n\n(fn WORD)"] split-string " +" t company--permutations mapconcat #[257 "\300\301\302#\207" [mapconcat identity ".*"] 5 "\n\n(fn WORDS)"] "\\|"] 7 (#$ . 95979)])#@14 

(fn INPUT)
(defalias 'company-search-flex-regexp #[257 "\211G\300U\203	 \301\207\302\303\304\305\300H!!\"\306\307\310\311O\301#P\207" [0 "" format "\\(%s\\)" regexp-quote string mapconcat #[257 "\300\301!\302\303\304\305\301!!\"R\207" ["[^" string "]*" format "\\(%s\\)" regexp-quote] 9 "\n\n(fn C)"] 1 nil] 7 (#$ . 96344)])#@14 

(fn INPUT)
(defalias 'company-search-flex-words-in-any-order-regexp #[257 "\300\301\302\303\304#\"\305!\306\307\310#\207" [mapcar #[257 "\300\301\302!\"\207" [format "\\(?:%s\\)" company-search-flex-regexp] 5 "\n\n(fn WORD)"] split-string " +" t company--permutations mapconcat #[257 "\300\301\302#\207" [mapconcat identity ".*"] 5 "\n\n(fn WORDS)"] "\\|"] 7 (#$ . 96681)])#@12 

(fn LST)
(defalias 'company--permutations #[257 "\211\204 \300\207\301\302\303\"\"\207" [(nil) cl-mapcan make-closure #[257 "\301\302\303\"\304\305\300\306\307$!\"\207" [V0 mapcar make-closure #[257 "\300B\207" [V0] 3 "\n\n(fn PERM)"] company--permutations cl-remove :count 1] 9 "\n\n(fn E)"]] 5 (#$ . 97067)])#@19 

(fn TEXT LINES)
(defalias 'company--search #[514 "!\301\30220 \211\205- \211@\303\304\305$\266\203\203\" \306\302\"\210T\262A\266\202\202	 \2620\207" [company-search-regexp-function 0 --cl-block-nil-- nil string-match t throw] 14 (#$ . 97391)])
(defalias 'company-search-printing-char #[0 "\303 \210\304!\305!\203 \306!\202( \307!\310\311\"\203# \312\313\"\202& \314\315!\262	P\n\2033 \316!\210\317!\207" [last-command-event company-search-string company-search-filtering company--search-assert-enabled event-basic-type characterp string symbol-name string-match "kp-\\([0-9]\\)" match-string 1 error "Unexpected printing char input" company--search-update-predicate company--search-update-string] 5 nil nil])#@11 

(fn SS)
(defalias 'company--search-update-predicate #[257 "!\211\211\305\230\262?\205 	\205 \306\307\"\310\311\312!\f#\211\204% \313\314!\210\315!)\207" [company-search-regexp-function company-search-filtering company-candidates-predicate company-prefix company-suffix "" make-closure #[257 "\300\301\302\303$\207" [V0 nil string-match t] 9 "\n\n(fn CANDIDATE)"] company-calculate-candidates company-call-backend ignore-case user-error "No match" company-update-candidates] 6 (#$ . 98132)])#@12 

(fn NEW)
(defalias 'company--search-update-string #[257 "\206 \304\305	\233\"\211\204* \305\nZ\306	!\233\"\211\204  \307 \207\310ZS\311\"\207\307 \210\310\\\311\"\207" [company-selection company-candidates company-candidates-length company-search-string 0 company--search reverse ding company-set-selection t] 8 (#$ . 98643)])
(defalias 'company--search-assert-input #[0 "\301 \210\211\302\230\262\205 \303\304!\207" [company-search-string company--search-assert-enabled "" user-error "Empty search string"] 3])#@65 Repeat the incremental search in completion candidates forward.
(defalias 'company-search-repeat-forward #[0 "\303 \210\206 \304\305	\n\233A\"\211\204 \306 \207\307\\T\310\"\207" [company-selection company-search-string company-candidates company--search-assert-input 0 company--search ding company-set-selection t] 5 (#$ . 99179) nil])#@67 Repeat the incremental search in completion candidates backwards.
(defalias 'company-search-repeat-backward #[0 "\304 \210\206 \305\306	\nZ\307!\233\"\211\204 \310 \207\311ZS\312\"\207" [company-selection company-search-string company-candidates-length company-candidates company--search-assert-input 0 company--search reverse ding company-set-selection t] 6 (#$ . 99527) nil])#@36 Toggle `company-search-filtering'.
(defalias 'company-search-toggle-filtering #[0 "\302 \210?	\303!\210\304!\207" [company-search-filtering company-search-string company--search-assert-enabled company--search-update-predicate company--search-update-string] 3 (#$ . 99917) nil])#@44 Abort searching the completion candidates.
(defalias 'company-search-abort #[0 "\303 \210\304\305!\210\306\307\"\210	\211\207" [company--search-old-selection company--search-old-changed company-selection-changed company--search-assert-enabled company-search-mode 0 company-set-selection t] 3 (#$ . 100204) nil])
(defalias 'company-search-other-char #[0 "\300 \210\301\302!\210\303 \207" [company--search-assert-enabled company-search-mode 0 company--unread-this-command-keys] 2 nil nil])
(defalias 'company-search-delete-char #[0 "\302 \210\211\303\230\262\203 \304 \207\305\306O	\203 \307!\210\310!\207" [company-search-string company-search-filtering company--search-assert-enabled "" ding 0 -1 company--search-update-predicate company--search-update-string] 3 nil nil])#@68 Keymap used for incrementally searching the completion candidates.
(defvar company-search-map (byte-code "\301\302 \303\304!\203 \305A@\306\304 B\307#\210\2020 \310 A@\205. \311@\307#\210A\262\202 \266\312\313\314#\210\315W\203L \312\316\317\"\314#\210T\262\2026 \306W\203a \312\320!\307#\210T\262\202L \301\211\321W\203z \312\322\323\324\"!\307#\210\211T\262\202b \210\325 \312\326!#\210\312\327#\266\312\320\330\"\314#\210\312\331\332#\210\312\333\334#\210\312\335\336#\210\312\337\340#\210\312\341\332#\210\312\342\334#\210\312\343\314#\210\312\344\314#\210\312\345\346#\210\312\347\346#\210\312\350\351#\210\312\352\353#\210\312\354\355#\210\312\356\357#\210\360!\210\207" [meta-prefix-char 0 make-keymap fboundp max-char set-char-table-range 256 company-search-printing-char generic-character-list set-char-table-default define-key [t] company-search-other-char 32 make-string 1 vector 10 kbd format "<kp-%d>" make-sparse-keymap char-to-string [escape] t "" company-select-next-or-abort "" company-select-previous-or-abort [134217838] company--select-next-and-warn [134217840] company--select-previous-and-warn [down] [up] "" [escape escape escape] "" company-search-delete-char [backspace] "" company-search-abort "" company-search-repeat-forward "" company-search-repeat-backward "" company-search-toggle-filtering company-keymap--bind-quick-access] 9) (#$ . 100991))#@107 Non-nil if Company-Search mode is enabled.
Use the command `company-search-mode' to change this variable.
(defvar company-search-mode nil (#$ . 102429))
(make-variable-buffer-local 'company-search-mode)#@694 Search mode for completion candidates.

Don't start this directly, use `company-search-candidates' or
`company-filter-candidates'.

This is a minor mode.  If called interactively, toggle the
`Company-Search 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 `company-search-mode'.

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

(fn &optional ARG)
(defalias 'company-search-mode #[256 "\306 \307=\203 ?\202 \247\203 \310W\203 \311\202 \312\313\301!\2031 \314\300	\"\2031 \300	B\203O \315 \203J \n\f\316\317!\210\320#!\210\202q \311\202q \321\322!\210\321\323!\210\321\303!\210\321\305!\210$\203l \324\325!\210\316\317!\210\320%!\210\326\327\203{ \330\202| \331\"\210\332\333!\203\237 \306 \203\220 \211\306 \232\203\237 \334\335\336\203\233 \337\202\234 \340\341$\210\210\342 \210\207" [company-search-mode local-minor-modes company-selection company--search-old-selection company-selection-changed company--search-old-changed current-message toggle 1 nil t boundp delq company-manual-begin company-call-frontends update company-enable-overriding-keymap kill-local-variable company-search-string company-search-filtering company--search-update-predicate "" run-hooks company-search-mode-hook company-search-mode-on-hook company-search-mode-off-hook called-interactively-p any message "%s %sabled%s" "Company-Search mode" "en" "dis" " in current buffer" force-mode-line-update company-search-map company-backend company-active-map] 7 (#$ . 102638) (byte-code "\203\n \301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)])
(defvar company-search-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\310\313\300!\205# \310\211%\207" [company-search-mode-map company-search-mode-hook variable-documentation put "Hook run after entering or leaving `company-search-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 company-search-mode boundp] 6)
(defalias 'company--search-assert-enabled #[0 "\204 \302 \210\303\304!\210	?\205 \302 \210\303\305!\207" [company-mode company-search-mode company-uninstall-map user-error "Company not enabled" "Company not in search mode"] 2])#@676 Start searching the completion candidates incrementally.

\<company-search-map>Search can be controlled with the commands:
- `company-search-repeat-forward' (\[company-search-repeat-forward])
- `company-search-repeat-backward' (\[company-search-repeat-backward])
- `company-search-abort' (\[company-search-abort])
- `company-search-delete-char' (\[company-search-delete-char])

Regular characters are appended to the search string.

Customize `company-search-regexp-function' to change how the input
is interpreted when searching.

The command `company-search-toggle-filtering' (\[company-search-toggle-filtering])
uses the search string to filter the completion candidates.
(defalias 'company-search-candidates #[0 "\300\301!\207" [company-search-mode 1] 2 (#$ . 105306) nil])#@172 Start filtering the completion candidates incrementally.
This works the same way as `company-search-candidates' immediately
followed by `company-search-toggle-filtering'.
(defalias 'company-filter-candidates #[0 "\301\302\303!\207" [company-search-filtering t company-search-mode 1] 2 (#$ . 106090) nil])#@196 Select the next candidate in the list.

With ARG, move by that many elements.
When `company-selection-default' is nil, add a special pseudo candidates
meant for no selection.

(fn &optional ARG)
(defalias 'company-select-next #[256 "\302 \205 \211\206\n \303\206 	\206 \304\\\305!\262\207" [company-selection company-selection-default company-manual-begin 1 -1 company-set-selection] 4 (#$ . 106402) "p"])#@103 Select the previous candidate in the list.

With ARG, move by that many elements.

(fn &optional ARG)
(defalias 'company-select-previous #[256 "\300\203\n [\202 \301!\207" [company-select-next -1] 3 (#$ . 106820) "p"])#@146 Select the next candidate if more than one, else abort
and invoke the normal binding.

With ARG, move by that many elements.

(fn &optional ARG)
(defalias 'company-select-next-or-abort #[256 "\203\n 	\302V\203 \303!\207\304 \210\305 \207" [company-selection company-candidates-length 1 company-select-next company-abort company--unread-this-command-keys] 3 (#$ . 107048) "p"])#@150 Select the previous candidate if more than one, else abort
and invoke the normal binding.

With ARG, move by that many elements.

(fn &optional ARG)
(defalias 'company-select-previous-or-abort #[256 "\301V\203\n \302!\207\303 \210\304 \207" [company-candidates-length 1 company-select-previous company-abort company--unread-this-command-keys] 3 (#$ . 107434) "p"])#@40 Select the first completion candidate.
(defalias 'company-select-first #[0 "\300\301!\207" [company-set-selection 0] 2 (#$ . 107806) nil])#@39 Select the last completion candidate.
(defalias 'company-select-last #[0 "\301S!\207" [company-candidates-length company-set-selection] 2 (#$ . 107950) nil])#@40 Select the candidate one page further.
(defalias 'company-next-page #[0 "\304 \205 \203 	\nSU\203 \305\306!\207\307\305	\\!)\207" [company-selection-wrap-around company-selection company-candidates-length company-tooltip-limit company-manual-begin company-set-selection 0 nil] 3 (#$ . 108114) nil])#@40 Select the candidate one page earlier.
(defalias 'company-previous-page #[0 "\304 \205 \203 	\305U\203 \306\nS!\207\307\306	Z!)\207" [company-selection-wrap-around company-selection company-candidates-length company-tooltip-limit company-manual-begin 0 company-set-selection nil] 3 (#$ . 108424) nil])#@14 

(fn EVENT)
(defalias 'company--event-col-row #[257 "\300\301!!\207" [company--posn-col-row event-start] 4 (#$ . 108737)])#@113 Holds the mouse event from `company-select-mouse'.
For use in the `select-mouse' frontend action.  `let'-bound.
(defvar company-mouse-event nil (#$ . 108868))#@55 Select the candidate picked by the mouse.

(fn EVENT)
(defalias 'company-select-mouse #[257 "\211\301\302\303\304!\")\206 \305 \210\306 \210\307\207" [company-mouse-event cl-some identity company-call-frontends select-mouse company-abort company--unread-this-command-keys nil] 5 (#$ . 109032) "e"])#@55 Insert the candidate picked by the mouse.

(fn EVENT)
(defalias 'company-complete-mouse #[257 "\300!\205 \301 \207" [company-select-mouse company-complete-selection] 3 (#$ . 109338) "e"])#@241 Insert the selected candidate.

Restart completion if a new field is entered. A field is indicated by
`adjust-boundaries' as implemented in the backend. If both adjusted prefix
and adjusted suffix are empty strings, that means a new field.
(defalias 'company-complete-selection #[0 "\302 \205 \205 	8\303!\262\207" [company-selection company-candidates company-manual-begin company-finish] 3 (#$ . 109534) nil])#@22 

(fn PREFIX SUFFIX)
(defalias 'company--expand-common #[514 "\301\302#\211\204z \301\303#\304 @\301\305!\306\"\211\307=\203$ @\202% \211\211\205@ \310\311\312\"\"\205@ \313\314\315\316\"\"GZ\211\203N \317G^O\202O \204W \320\202w \321\307#\203r \317\nGGZOPB\202w B)\266\207\207" [completion-ignore-case company-call-backend expand-common candidates company--boundaries ignore-case try-completion t cl-every make-closure #[257 "\302\300	#\207" [V0 completion-ignore-case string-suffix-p] 5 "\n\n(fn S)"] apply min mapcar length 0 no-match string-prefix-p] 13 (#$ . 109957)])#@43 Insert the common part of all candidates.
(defalias 'company-complete-common #[0 "\304 \205] A\204 	@\232\203 \305 \207\306\n\"\211\307=\203\" \310\311!\210\211@\n\232\204G \312\313!\314=\203< \211@\nG\315Oc\210\202G `\nGZ`|\210\211@c\210\211A\232?\205[ \212``G\\|\210\211Ac)\262\207" [company-candidates company-common company-prefix company-suffix company-manual-begin company-complete-selection company--expand-common no-match user-error "No matches for the current input" company-call-backend ignore-case keep-prefix nil] 4 (#$ . 110571) nil])#@126 Insert the common part of all candidates, or select the next one.

With ARG, move by that many elements.

(fn &optional ARG)
(defalias 'company-complete-common-or-cycle #[256 "\302 \205 \303 \304\305!\210\211\303 =\205 \306\304\307!*\262\207" [current-prefix-arg company-selection-wrap-around company-manual-begin buffer-chars-modified-tick call-interactively company-complete-common t company-select-next] 4 (#$ . 111133) "p"])#@22 

(fn &optional ARG)
(defalias 'company-cycle-backward #[256 "\301\302!)\207" [company-selection-wrap-around t company-select-previous] 3 (#$ . 111573) "p"])#@62 Insert the common part of all candidates, or show a tooltip.
(defalias 'company-complete-common-or-show-delayed-tooltip #[0 "\302 \205! \303 \304\305!\210\211\303 =\205 \306\307 \210	\205 \310\311!)\262\207" [company-tooltip-idle-delay company-candidates company-manual-begin buffer-chars-modified-tick call-interactively company-complete-common 0.0 company-complete company-call-frontends post-command] 3 (#$ . 111738) nil])#@75 Indent the current line or region, or complete the common part.

(fn ARG)
(defalias 'company-indent-or-complete-common #[257 "\302 \203\f \303\304 \305 \"\207\306>\203 \307 \207`\310 \311\312!\210`=\205- \211\310 =\205- \307 )\207" [indent-line-function tab-always-indent use-region-p indent-region region-beginning region-end (indent-relative indent-relative-maybe) company-complete-common buffer-chars-modified-tick t indent-for-tab-command] 5 (#$ . 112173) "P"])#@168 Insert selection if appropriate, or select the next candidate.
Insert selection if only preview is showing or only one candidate,
otherwise select the next candidate.
(defalias 'company-select-next-if-tooltip-visible-or-complete-selection #[0 "\301 \203 \302V\203 \303\304!\207\303\305!\207" [company-candidates-length company-tooltip-visible-p 1 call-interactively company-select-next company-complete-selection] 2 (#$ . 112650) nil])#@221 Insert the common part of all candidates or the current selection.
The first time this is called, the common part is inserted, the second
time, or when the selection has been changed, the selected candidate is
inserted.
(defalias 'company-complete #[0 "\305 \205' \204 	\306=\203 \n\307=\203 \310\311!\210\202& \310\307!\210\203& \307\f\207" [company-selection-changed real-last-command last-command company-candidates this-command company-manual-begin company-complete company-complete-common call-interactively company-complete-selection] 2 (#$ . 113095) nil])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias company-complete-number company-complete-tooltip-row nil make-obsolete "0.10.0"] 4)#@445 Insert a candidate visible on the tooltip's row NUMBER.

Inserts one of the first ten candidates,
numbered according to the current scrolling position starting with 1.

When called interactively, uses the last typed digit, stripping the
modifiers and translating 0 into 10, so `M-1' inserts the first visible
candidate, and `M-0' insert to 10th one.

To show hint numbers beside the candidates, enable `company-show-quick-access'.

(fn NUMBER)
(defalias 'company-complete-tooltip-row #[257 "\300S!\207" [company--complete-nth] 3 (#$ . 113820) (byte-code "\301!\302!\203 \211\202 \303\304!\305\306\"\262!@\211\307Z\211\310U\203( \266\311\202+ \211\266\203C\207" [last-command-event event-basic-type characterp last symbol-name append nil 48 0 10] 6)])#@136 Insert a candidate visible on a ROW matched by a quick-access key binding.
See `company-quick-access-keys' for more details.

(fn ROW)
(defalias 'company-complete-quick-access #[257 "\211\205 \300!\207" [company--complete-nth] 3 (#$ . 114586) (byte-code "\302!\303!\203 \304!\202 \305\306!\307	\310\311$\266\202C\207" [last-command-event company-quick-access-keys event-basic-type characterp string error "Unexpected input" cl-position :test equal] 7)])#@134 Current scrolling state of the tooltip.
Represented by the index of the first visible completion candidate
from the candidates list.
(defvar company-tooltip-offset 0 (#$ . 115054))
(make-variable-buffer-local 'company-tooltip-offset)#@71 Insert a candidate visible on the tooltip's zero-based ROW.

(fn ROW)
(defalias 'company--complete-nth #[257 "\303 \205 \211\304W\204 \211	ZY\203 \305\306\"\210\307	\\\n8!\207" [company-candidates-length company-tooltip-offset company-candidates company-manual-begin 0 user-error "No candidate on the row number %d" company-finish] 4 (#$ . 115293)])
(defconst company-space-strings-limit 100)
(defconst company-space-strings (byte-code "\301\302\211W\203 \303SZ\304\"B\262\211T\262\202 \266\305\306\"\207" [company-space-strings-limit nil 0 make-string 32 apply vector] 6))#@12 

(fn LEN)
(defalias 'company-space-string #[257 "\211W\203\n 	H\207\302\303\"\207" [company-space-strings-limit company-space-strings make-string 32] 4 (#$ . 115889)])#@19 

(fn &rest BODY)
(defalias 'company--with-face-remappings '(macro . #[128 "\300\301\302\303\304BB\305BBE\207" [let ((fra-local (and (local-variable-p 'face-remapping-alist) face-remapping-alist)) (bdt-local (and (local-variable-p 'buffer-display-table) buffer-display-table)) (bufs (list (get-buffer-create " *string-pixel-width*") (get-buffer-create " *company-sps*")))) unwind-protect progn (dolist (buf bufs) (with-current-buffer buf (when (bound-and-true-p display-line-numbers) (setq-local display-line-numbers nil)) (when fra-local (setq-local face-remapping-alist fra-local)) (when bdt-local (setq-local buffer-display-table bdt-local)))) ((dolist (buf bufs) (and (buffer-live-p buf) (with-current-buffer buf (kill-local-variable 'face-remapping-alist) (kill-local-variable 'buffer-display-table)))))] 7 (#$ . 116066)]))#@15 

(fn STRING)
(defalias 'company--string-pixel-width #[257 "\211G\302U\203	 \302\207r\303\304!q\210\305\300!\203 \203 \300\306!\210ed|\210\211c\210\307\310!\2033 \310\311\211\312#@\202[ \313 \314 \315 \311\316\317$\216\211\203L \320\311\211\"\210\321\311p\"\210\322\311\211\211\323$@*\266\203)\207" [display-line-numbers-mode buffer-list-update-hook 0 get-buffer-create " *string-pixel-width*" boundp -1 fboundp buffer-text-pixel-size nil t window-buffer window-hscroll window-dedicated-p make-closure #[0 "\303\304\302\"\210\305\304\301\"\210\300\205 \306\304\300\"\207" [V0 V1 V2 set-window-buffer nil set-window-hscroll set-window-dedicated-p] 3] set-window-dedicated-p set-window-buffer window-text-pixel-size 55555] 9 (#$ . 116901)])#@12 

(fn STR)
(defalias 'company--string-width #[257 "\300 \203 \301\302!\303\304 !\245!\207\305!\207" [display-graphic-p ceiling company--string-pixel-width float default-font-width string-width] 5 (#$ . 117654)])#@30 

(fn STR FROM &optional TO)
(defalias 'company-safe-pixel-substring #[770 "\305\211\306\211\211\211\211\307 \310\211\311 \312 \306\211r\313\314!q\210\315\316	$\216ed|\210c\210\317\300!\210\203= \320\306\211\"\210\321\306p\310#\210\322\323 \245\305B!\210`\262o\203X \305\202_ \324\306e`\325$@\262\nW\203 l\204 \326u\210\324\306e`\325$@\262`\262\202a \fdU\203\247 \203\243 V\203\243 \327\330\331\332\333ZCE#\202M\334\202M\204\262 d\262\f\202\372 \322\323 \245\305B!\210`\262\fo\203\307 \305\202\316 \324\306e`\325$@\262\n	W\203\372 l\204\372 	\262	\326u\210\324\306e`\325$@\262\n	X\203\320 `\262\f\202\320 \204	\262	\nV\203\327\330\331\332\333ZCE#\262\203C	U\204C\327\330\331\332\333W\203;\202=ZCE#\262{Q.\207" [buffer-invisibility-spec buffer-list-update-hook window-configuration-change-hook inhibit-modification-hooks inhibit-read-only 0 nil window-buffer t window-dedicated-p window-hscroll get-buffer-create " *company-sps*" make-closure #[0 "\303\304\302\305#\210\306\304\300\"\210\301\205 \307\304\301\"\207" [V0 V1 V2 set-window-buffer nil t set-window-hscroll set-window-dedicated-p] 4] make-local-variable set-window-dedicated-p set-window-buffer vertical-motion frame-char-width window-text-pixel-size 55555 1 propertize " " display space :width ""] 24 (#$ . 117874)])#@30 

(fn STR FROM &optional TO)
(defalias 'company-safe-substring #[770 "GV\203\n \300\207\203 ^O\301\302Z]!P\207\303O\207" ["" company-space-string 0 nil] 9 (#$ . 119253)])
(defvar company-last-metadata nil nil)
(make-variable-buffer-local 'company-last-metadata)
(defalias 'company-fetch-metadata #[0 "\206 \303	8\211\n@=\204 \211\304\305\"B\nA\207" [company-selection company-candidates company-last-metadata 0 company-call-backend meta] 5])#@25 

(fn &optional STRING)
(defalias 'company-doc-buffer #[256 "r\300\301!q\210\302 \210\303 \210\211\203 \212\211c\210\304 )\210p)\207" [get-buffer-create "*company-documentation*" erase-buffer fundamental-mode visual-line-mode] 3 (#$ . 119718)])
(defvar company--electric-saved-window-configuration nil)#@61 List of Commands that won't break out of electric commands.
(defvar company--electric-commands '(scroll-other-window scroll-other-window-down mwheel-scroll) (#$ . 120027))
(defalias 'company--electric-command-p #[0 "	>\207" [this-command company--electric-commands] 2])#@57 Restore window configuration (after electric commands).
(defalias 'company--electric-restore-window-configuration #[0 "\205 \301 ?\205 \302!\210\303\211\207" [company--electric-saved-window-configuration company--electric-command-p set-window-configuration nil] 2 (#$ . 120303)])#@19 

(fn &rest BODY)
(defalias 'company--electric-do '(macro . #[128 "\300\301\302\303\304\305\306\307\"BB\257\207" [when company-candidates (cl-assert (null company--electric-saved-window-configuration)) (setq company--electric-saved-window-configuration (current-window-configuration)) let ((height (window-height)) (row (company--row))) append ((and (< (window-height) height) (< (- (window-height) row 2) company-tooltip-limit) (recenter (- (window-height) row 2))))] 10 (#$ . 120593)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put company--electric-do lisp-indent-function 0 put edebug-form-spec t] 5)
(defalias 'company--unread-this-command-keys #[0 "\301 G\302V\205 \303\301 !\244\304\305!\207" [unread-command-events this-command-keys 0 listify-key-sequence clear-this-command-keys t] 2])#@50 Show the documentation buffer for the selection.
(defalias 'company--show-doc-buffer #[0 "\303\206 \304\211\n8\305\306\"\206 \307\310!\303:\203# A\262@\262\311!\312\313\"\314\2062 e\"\262\266\203)\207" [company-selection other-window-scroll-buffer company-candidates nil 0 company-call-backend doc-buffer user-error "No documentation available" get-buffer display-buffer t set-window-start] 9 (#$ . 121420)])#@16 

(fn &rest _)
(defalias 'company--fake-capf-complete-common #[128 "\300 \210``\301E\207" [company-complete-common nil] 4 (#$ . 121851)])#@247 Like `indent-for-tab-command' which see but calls `company-complete-common'
instead of `completion-at-point' as the fallback.  That only happens when
`tab-always-indent' is `complete', and only when reindentation was a no-op.

(fn &optional ARG)
(defalias 'company-indent-for-tab-command #[256 "\300\216\301\302\303\304\305$\210\306\307\")\207" [#[0 "\300\301\302\303#\207" [remove-hook completion-at-point-functions company--fake-capf-complete-common t] 4] add-hook completion-at-point-functions company--fake-capf-complete-common nil t funcall-interactively indent-for-tab-command] 6 (#$ . 121995) nil])#@283 Show the documentation buffer for the selection.
With a prefix argument TOGGLE-AUTO-UPDATE, toggle the value of
`company-auto-update-doc'.  When `company-auto-update-doc' is non-nil,
automatically show the documentation buffer for each selection.

(fn &optional TOGGLE-AUTO-UPDATE)
(defalias 'company-show-doc-buffer #[256 "\211\203 ?	\2059 \n\203 \304\305!\210\306 \307 \310 \311 \210\307 W\2057 \307 Z\312ZW\2057 \313\307 Z\312Z!\266\202\207" [company-auto-update-doc company-candidates company--electric-saved-window-configuration company-tooltip-limit cl--assertion-failed (null company--electric-saved-window-configuration) current-window-configuration window-height company--row company--show-doc-buffer 2 recenter] 6 (#$ . 122608) "P"])
(put 'company-show-doc-buffer 'company-keep t)#@37 

(fn &optional TOGGLE-AUTO-UPDATE)
(defalias 'company--show-doc-buffer-and-warn #[256 "\300 \210\301!\207" [company--warn-changed-binding company-show-doc-buffer] 3 (#$ . 123413) "P"])
(put 'company--show-doc-buffer-and-warn 'company-keep t)#@73 Temporarily display a buffer showing the selected candidate in context.
(defalias 'company-show-location #[0 "\305	\205\206 \n\203 \306\307!\210\310 \311 \312 	8\313\314\"\211A\206$ \315\316!\317@!\2030 @\2065 \320@\321\"\322!\323\324\321\"!r\325\326\"\216\327@\330\"\210\214~\210\317@!\203[ b\210\202b eb\210Sy\210)\331\305`\"*\266\311 W\205\204 \311 Z\332Z\fW\205\204 \333\311 Z\332Z!\266\202)\207" [other-window-scroll-buffer company-candidates company--electric-saved-window-configuration company-selection company-tooltip-limit nil cl--assertion-failed (null company--electric-saved-window-configuration) current-window-configuration window-height company--row company-call-backend location user-error "No location available" bufferp find-file-noselect t get-buffer internal--before-with-selected-window display-buffer make-closure #[0 "\301\300!\207" [V0 internal--after-with-selected-window] 2] select-window norecord set-window-start 2 recenter] 10 (#$ . 123662) nil])
(put 'company-show-location 'company-keep t)
(defalias 'company--show-location-and-warn #[0 "\300 \210\301 \207" [company--warn-changed-binding company-show-location] 1 nil nil])
(put 'company--show-location-and-warn 'company-keep t)
(defvar company-callback nil nil)
(make-variable-buffer-local 'company-callback)#@26 

(fn &optional IGNORED)
(defalias 'company-remove-callback #[256 "\301\302\303#\210\301\304\305\303#\210\301\302\305\303#\207" [company-callback remove-hook company-completion-finished-hook t company-completion-cancelled-hook company-remove-callback] 5 (#$ . 124979)])#@77 Start a completion at point using BACKEND.

(fn BACKEND &optional CALLBACK)
(defalias 'company-begin-backend #[513 "\211\211\203 \302\303\304\305$\210\302\306\307\304\305$\210\302\303\307\304\305$\210\310 \206% \311\312!\207" [company-callback company-backend add-hook company-completion-finished-hook nil t company-completion-cancelled-hook company-remove-callback company-manual-begin user-error "Cannot complete at point"] 7 (#$ . 125255) (byte-code "\301\302\303\304\305%\211\205 \306!C\207" [obarray completing-read "Company backend: " functionp nil "company-" intern] 6)])#@411 Start a completion at point.
CANDIDATES is the list of candidates to use and PREFIX-LENGTH is the length
of the prefix that already is in the buffer before point.
It defaults to 0.

CALLBACK is a function called with the selected result if the user
successfully completes the input.

Example: (company-begin-with \='("foo" "foobar" "foobarbaz"))

(fn CANDIDATES &optional PREFIX-LENGTH REQUIRE-MATCH CALLBACK)
(defalias 'company-begin-with #[1025 "\300`\301\"\302\303\304\n%\"\207" [copy-marker t company-begin-backend make-closure #[641 "\304\267\202 `\305\300!\232\205  `\302\206 \306Z`{\207\307\303\"\207\301\207\310\207" [V0 V1 V2 V3 #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (prefix 6 candidates 24 require-match 29)) marker-position 0 all-completions nil] 6 "\n\n(fn COMMAND &optional ARG &rest IGNORED)"]] 12 (#$ . 125848)])#@129 Get the Company version as string.

If SHOW-VERSION is non-nil, show the version in the echo area.

(fn &optional SHOW-VERSION)
(defalias 'company-version #[256 "\300\301\302\"r\211q\210\303\304\"\216\305\306!\210\307\310\311!!\210\305\312!\210\313\314!\206# \315 \203. \316\317\"\202/ \211*\207" [generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] require find-func insert-file-contents find-library-name "company" lisp-mnt lm-header "package-version" lm-version message "Company version: %s"] 6 (#$ . 126740) (list t)])#@59 Pop a buffer with information about completions at point.
(defalias 'company-diag #[0 "\306	!\307\307\211\211:\203, @\262\262\310\311!)\211\262?\211\262\203, A\262\202	 \266\203\307\211\211;\204< :\203j \3121e \310\313\314!\315!#\262\316\317\"\262\320\304!\205\\ \f@\211\2620\210\202i \210\321\262)\322\323\324!!\210\307\325 \210\326\327-.\330\331/\"0%c\210\332\333 \334\261\210\335\336	!\261\210\337c\210\340\336!\261\210\337c\210<\203\256 \341>\202\261 \341=\203\306 \342\336!\261\210\211\203\306 \343\336!\261\210\344\261\210\337c\210\345\336!\261\210\337c\210\346c\210\204\344 \347c\210\321=\203\360 \350c\210\202\212\211\203\211@\351\352@!\261\210\211A\203\353\352A!\261\210A\266\202\202\362 )\210\354 \207" [company-backends major-mode company-backend completion-at-point-functions company-capf--current-completion-data buffer-read-only symbol-name nil company-call-backend prefix (error) candidates company--prefix-str company--suffix-str mapcar #[257 "\211\300\301\"B\207" [company-call-backend annotation] 5 "\n\n(fn C)"] boundp error pop-to-buffer get-buffer-create "*company-diag*" erase-buffer format "Emacs %s (%s) of %s on %s" format-time-string "%Y-%m-%d" "\nCompany " company-version "\n\n" "company-backends: " pp-to-string "\n" "Used backend: " company-capf "Value of c-a-p-f: " "Current c-a-p-f: " "Major mode: " "Prefix: " "Completions:" " none" "(error fetching)" "\n  " prin1-to-string " " special-mode emacs-version system-configuration emacs-build-time emacs-build-system] 15 (#$ . 127331) nil])
(defvar company--tooltip-current-width 0 nil)
(make-variable-buffer-local 'company--tooltip-current-width)#@34 

(fn SELECTION NUM-LINES LIMIT)
(defalias 'company-tooltip--lines-update-offset #[771 "\211\301Z\262^TZ]\211\302X\203 \211T\262\303ZSY\203= \211T\262SU\203= S\211\302X\203= \303\211T\262\207" [company-tooltip-offset 2 1 0] 7 (#$ . 129030)])#@34 

(fn SELECTION NUM-LINES LIMIT)
(defalias 'company-tooltip--simple-update-offset #[771 "W\203\n \202 ZT]\211\207" [company-tooltip-offset] 6 (#$ . 129296)])#@12 

(fn ARG)
(defalias 'company-round-tab #[257 "\211\\\245_\207" [tab-width] 3 (#$ . 129467)])#@12 

(fn STR)
(defalias 'company-plainify #[257 "\300\301\302#\211;\203 \211P\262\303\301G\304$\210\210\305\306\"\211\211A\2038 \211\307@\301\310\311@!!#\240\210\211A\262\202 \312\313\"\207" [get-text-property 0 line-prefix remove-text-properties (line-prefix) split-string "	" company-safe-substring company-round-tab string-width apply concat] 10 (#$ . 129569)])#@31 

(fn VALUE &optional SUFFIX)
(defalias 'company--common-or-matches #[513 "\301\302\"\211\250\203 \303BC\262\211\206+ \205+ \303GBG\206% \304!AGZGBD\207" [company-common company-call-backend match 0 company--boundaries] 7 (#$ . 129949)])#@51 

(fn VALUE ANNOTATION WIDTH SELECTED LEFT RIGHT)
(defalias 'company-fill-propertize #[1542 "G\304!\305\306\307\n!!!\262\205 \305\307\310\"!\262\311	\206% \312GG\\\\W\203K \203B \fG\\\202P \n\fGZ\202P \fG\\\\\211\fG\\\f\\^	\204f \204| \313\205r \314!Q\312#\202\212 \313\312GZ#P\nQ\f	\\\nG\\\262\315\312\316\317%\210W\203\270 \320\203\263 \321\202\264 \322\310%\210\f\nGZ\311\211\211\211\211:\203@\262\211A\262\242\262\\\262\\^\262W\203\376 \320\203\370 \323\202\371 \324\311\f%\210A\262\311\262\202\305 \266\n!\211\211\325\230\262?\205\326\"\262\203_\327 \211\203^\211@\211\242\243\f\\\\GZW\203U\320^\203O\330\202P\331\311\f%\210\266A\266\202\202#\210\203m\320\312\332\310%\210\333\334\"\203\211\320	\211G\\GZ^\335\310%\210\320\312\336\310%\210\207" [company-tooltip-align-annotations company-tooltip-annotation-padding company-search-regexp-function company-search-string company--common-or-matches company--clean-string company-reformat company--pre-render t nil 0 company-safe-substring company-space-string font-lock-append-text-property mouse-face company-tooltip-mouse add-face-text-property company-tooltip-annotation-selection company-tooltip-annotation company-tooltip-common-selection company-tooltip-common "" string-match company--search-chunks company-tooltip-search-selection company-tooltip-search company-tooltip-selection company-call-backend deprecated company-tooltip-deprecated company-tooltip] 28 (#$ . 130202)])
(defalias 'company--search-chunks #[0 "\300\301!\302G\303X\203 @A@BC\207AA\211\262\203. @\203 @A@BB\262\202 \207" [match-data t nil 2] 4])#@35 

(fn STR &optional ANNOTATION-P)
(defalias 'company--pre-render #[513 "\300\301#\206. \302\303G\304\305%\204  \302\303G\306\305%\203- \307!\262\310\303G\311$\210\207" [company-call-backend pre-render text-property-not-all 0 face nil mouse-face copy-sequence remove-text-properties (face nil font-lock-face nil mouse-face nil)] 8 (#$ . 131949)])#@12 

(fn STR)
(defalias 'company--clean-string #[257 "\300C\300C\301\302\303\304##\300\242Y\203 \207\211\305\306\242\307\"\310\311\312\242CE#P\207" [0 replace-regexp-in-string "\\([^[:graph:] ]\\)\\|\\(﻿\\)\\|[[:multibyte:]]+" make-closure #[257 "\302\224\203 \211\303\232\203 \304\305\306\307#\207\310\207\311\224\203 \312\207\313!\301\211\242\314 _\315!Z\\\240\210\300\211\242GZ\\\240\210\207" [V0 V1 1 "\n" propertize "\\\\n" face font-lock-escape-face "?" 2 "" company--string-width default-font-width company--string-pixel-width] 7 "\n\n(fn MATCH)"] propertize make-string 65279 display space :width] 11 (#$ . 132313)])#@16 

(fn BEG END)
(defalias 'company-buffer-lines #[514 "b\210\300\211m\204O \301\302!\211\262\303V\203O `X\203O `^\212b\210\304\305\306#\210`){B\262\210\211S\303\211W\203G \300\307B\262\210\211T\262\2023 \266`\262\202 =\204\\ {B\262\237\207" [nil vertical-motion 1 0 re-search-forward "$" move ""] 10 (#$ . 132960)])#@23 

(fn OLD NEW OFFSET)
(defalias 'company-modify-line #[771 "\204 \207\300\301#\300\302!\\\"Q\207" [company-safe-pixel-substring 0 company--string-pixel-width] 10 (#$ . 133303)])#@17 

(fn NUMBERED)
(defalias 'company--show-numbers #[257 "\300\301\302X\203 \303\302\"\202 \304\"\207" [format " %s" 10 mod " "] 6 (#$ . 133496)])
(make-obsolete 'company--show-numbers "use `company-quick-access-hint-key' instead,\nbut adjust the expected values appropriately." "0.10.0")
(defalias 'company--window-height #[0 "\300\301!\203 \302\301 !\207\303 \207" [fboundp window-screen-lines floor window-body-height] 2])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put company--window-height speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@28 

(fn &optional PIXELWISE)
(defalias 'company--window-width #[256 "\302\303\"\304 A@\305U\203 \211\203 \306\307!\202 \310Z\262\311\300!\2038 \2038 \211\2031 \312\313!\2025 \314\312 \\Z\262	\203U 	\315H\203U \211\203M \306\316!\202R 	\315HGSZ\262\207" [display-line-numbers buffer-display-table window-body-width nil window-fringes 0 company--string-pixel-width ">" 1 boundp line-number-display-width t 2 10 "\n"] 5 (#$ . 134078)])#@18 

(fn FACE ATTR)
(defalias 'company--face-attribute #[514 "\204 \301\2079\203+ \236A\211\203$ \302<\203  \303\"\202! \"\207\304\301\305$\207\306\242!\203A \307\"\206P \302\307\310\"\"\207<\205P \311\312\313\314\315\"\"\"\207" [face-remapping-alist nil company--face-attribute remq face-attribute t keywordp plist-get :inherit cl-find-if stringp mapcar make-closure #[257 "\301\300\"\207" [V0 company--face-attribute] 4 "\n\n(fn F)"]] 8 (#$ . 134525)])#@62 

(fn LINES COLUMN-OFFSET OLD COLUMN NL &optional ALIGN-TOP)
(defalias 'company--replacement-string #[1541 "Z\262\302W\203 \302\262\211\203 \203 \303!\262\304@!\305 Z\306 _\307\310!Z\305 \302V\2058 \311\305 !\312V\203F ZZ\262\203Q \313\314\n\"\262	\203y GGZ\302\211W\203w \312\211A\262\242B\262\210\211T\262\202] \266\203\227 \315	\211A\262\242\f\211A\262\242#B\262\202y \n\203\261 \316\317\302#\211A\262\242PB\262\202\227 \320\321\322	\"\205\272 \323\324\312\325\326\327\325\"\206\312 \330\327\325\312\310$F\"\331\332	\205\324 \333\334\335\336	#\237\"#\337\302G\327\310%\210\203\367 \340\302\341\342\310%\210\207" [company-tooltip-flip-when-above emacs-version 0 reverse company--string-pixel-width window-hscroll default-font-width company--window-width t company-space-string nil mapcar #[257 "\300\301 \"\207" [company-safe-substring window-hscroll] 4 "\n\n(fn S)"] company-modify-line company-safe-pixel-substring "" append version<= "27" (:extend t) :inverse-video :background company--face-attribute default face-attribute apply concat " \n" cl-mapcan make-closure #[257 "\301\302\303\304\300#E\207" [V0 V1 propertize "\n" face] 7 "\n\n(fn LINE)"] add-face-text-property put-text-property 1 cursor] 21 (#$ . 135003)])#@24 

(fn SELECTION LIMIT)
(defalias 'company--create-lines #[514 "\306 	\206 \n\203 \307\202 \310\311\211\211\211\211\211\211\211\211\211\n\203& S\262\f\f\\W\2032 \310\2068 \310\312=\203J \313#\262\202R \314#\210\315\267\210\202\216 \316\f#\266\202\202\216 \f\310V\203q \317\320\f\"\262Z\fZ\262\310V\205\207 \317\320\"\211\262\262\210\202\216 \210\203\231 \fZ\262GG]\262\f*\233\262\321\"\262^\262\262\211\203\302 S\262\f+\203\360 \311\310\211W\203\351 +\211A\262\242\232\"B\262\211T\262\202\312 \210\211\237\262\f\266\322\323,\324\325\"#\262	,Z\262\f	Z\262\f\310\211W\203a\311\211A\262\242\326\327\"\211A\262\242\206,\330!\2039\n\2039\331!\262E	B\262	\332!\203Q\332!	\\\202R\310\\]\262\266\211T\262\202\210-^./\203u\333\\\202w]^\2620\203\2300\247\203\2130\202\21512^]\2622\237/\203\243\310\202\244\334\311\203\264\335\n#C\262\310\211W\203J\211A\262\242\211@A@\3338CC\232/\203 /\336=\203\356\337\340\"\337\341\"B\202\367\337\342\"\337\343\"B\337\344\"\337\345\"B\262\346\"\332!Z\262A\211@ \262P!\266	T\262\n\347\242\242&\f\205;\350	#P	B\262	\266\211T\262\202\265\210\203Z\335\n#B\262\203h\351	\f\"B\262\237B\266\203)\207" [company-candidates-length company-tooltip-annotation-padding company-tooltip-align-annotations company-search-mode company-tooltip-offset company-tooltip-offset-display company--window-width 1 0 nil lines company-tooltip--lines-update-offset company-tooltip--simple-update-offset #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (scrollbar 89 lines 101)) company--scrollbar-bounds format "...(%d)" company--right-margin apply max mapcar length company-call-backend annotation company-space-string string-trim-left company--string-width 2 99999 company--scrollpos-line left make-closure #[0 "\300\242\207" [V0] 1] #[257 "\300\240\207" [V0] 3 "\n\n(fn V90)"] #[0 "\300\242\207" [V0] 1] #[257 "\300\240\207" [V0] 3 "\n\n(fn V90)"] #[0 "\300@ \207" [V0] 1] #[257 "\300A!\207" [V0] 3 "\n\n(fn GV--VAL)"] company-tooltip--format-quick-access-hint company-fill-propertize company--scrollbar company--search-line company-candidates company-format-margin-function company-tooltip-margin company-tooltip-maximum-width company-tooltip-minimum-width company-show-quick-access company-tooltip-width-grow-only most-positive-fixnum company--tooltip-current-width] 33 (#$ . 136301)])#@28 

(fn OFFSET LIMIT LENGTH)
(defalias 'company--scrollbar-bounds #[771 "\211V\205  \300\301!_\"\302\301!_\"\211\\SB\266\203\207" [ceiling float floor] 8 (#$ . 138872)])#@26 

(fn I BOUNDS SELECTED)
(defalias 'company--scrollbar #[771 "\301\302 _!\303\304\305\306\307CE\310@Y\203% AX\203% \311\202/ \203. \312\202/ \313%\207" [company-tooltip-scrollbar-width ceiling default-font-width propertize " " display space :width face company-tooltip-scrollbar-thumb company-tooltip-selection company-tooltip] 11 (#$ . 139056)])#@21 

(fn LIMIT LENGTH)
(defalias 'company--right-margin #[514 "\303=\203 \304 \203 	\305U\204 \211X\203 \306\n!\207\307\310 	_!\310 \n_Z\311\306\n!\312\313\314CE#\207" [company-tooltip-offset-display company-tooltip-scrollbar-width company-tooltip-margin scrollbar display-graphic-p 1 company-space-string ceiling default-font-width propertize display space :width] 10 (#$ . 139420)])#@38 

(fn TEXT WIDTH FANCY-MARGIN-WIDTH)
(defalias 'company--scrollpos-line #[771 "\301\302!\303\304#\302!Q\305\306#\207" [company-tooltip-margin propertize company-space-string company-safe-substring 0 face company-tooltip] 9 (#$ . 139815)])#@127 Format a quick-access hint for outputting on a tooltip's ROW.
Value of SELECTED determines the added face.

(fn ROW SELECTED)
(defalias 'company-tooltip--format-quick-access-hint #[514 "\301\302\303!\"\304\203 \305\202 \306#\207" [company-quick-access-hint-function propertize format "%2s" face company-tooltip-quick-access-selection company-tooltip-quick-access] 7 (#$ . 140065)])#@27 

(fn WIDTH RIGHT-MARGIN)
(defalias 'company--search-line #[514 "\304	\203 	\305\306\"\202 \307\n!\310\311\312\313!\"P\260\314!\\G\\\315 \204+ \211T\262\316\317\320\321#P\322#\262\323\322\324\306%)\210\207" [company-backend company-format-margin-function company-tooltip-margin company-search-string #[385 "\301=\205 \203\f \302\207\303\207" [company-search-filtering kind filter search] 4 "\n\n(fn COMMAND &rest _)"] "" nil company-space-string format "%s: " company-call-backend kind company--string-width display-graphic-p company-safe-substring propertize face underline 0 add-face-text-property company-tooltip] 11 (#$ . 140457)])
(defvar company-pseudo-tooltip-overlay nil nil)
(make-variable-buffer-local 'company-pseudo-tooltip-overlay)#@33 

(fn EVENT-COL-ROW ROW HEIGHT)
(defalias 'company--inside-tooltip-p #[771 "\301\302\"\301\303\"@AY\205? \\W\205? \304V\2031 \211V\205? \211\\X\207\211W\205? \211\\Y\207" [company-pseudo-tooltip-overlay overlay-get company-column company-width 0] 11 (#$ . 141227)])#@117 Calculate the appropriate tooltip height.
Returns a negative number if the tooltip should be displayed above point.
(defalias 'company--pseudo-tooltip-height #[0 "\304 \305\306!\203 \307\306 !\202 \310 SZ\211	\203 \nT\202  \n^W\2032 V\2032 \311^][\207\311^]\207" [company-tooltip-minimum company-search-mode company-candidates-length company-tooltip-limit company--row fboundp window-screen-lines floor window-body-height 3] 5 (#$ . 141523)])#@29 

(fn ROW COLUMN SELECTION)
(defalias 'company-pseudo-tooltip-show #[771 "\301 \210\302 \303\304W\203 \\S\262\305\262\306\307 !\204  S\262\303\211\211\211\211\212\310\n!\nW\262\204J \304V\203J \311`\312\"\313=\203J \314\315!\210\202: `\262\212\314\316!!\210`)\262\317\303\305\211%\262\320\321\322\"\")	F\262\323\324#\210\325\316	!\"\211A@\323\326\327\330\n$#\210\323\331\332@!#\266\323\333#\210\323\334	#\207" [company-pseudo-tooltip-overlay company-pseudo-tooltip-hide company--pseudo-tooltip-height nil 0 t pos-visible-in-window-p window-start move-to-window-line get-char-property face log-edit-headers-separator vertical-motion 1 abs make-overlay mapcar company-plainify company-buffer-lines overlay-put company-replacement-args company--create-lines company-display apply company--replacement-string company-width company--string-width company-column company-height] 21 (#$ . 141982)])#@26 

(fn POS COLUMN-OFFSET)
(defalias 'company-pseudo-tooltip-show-at-point #[514 "\304!\211@Z\211\305W\203 \305\262\306\300!\205 \306\301!\205 	\307\310!\307\311!D\312\313\"\216\211\211\203a \211@r\211q\210\314\302!\203E \n\203E \315\302!\210\316\203O \315\300!\210\203Y \315\301!\210)A\266\202\202+ \210\317AT#)\207" [face-remapping-alist buffer-display-table display-line-numbers company-selection company--col-row 0 local-variable-p get-buffer-create " *string-pixel-width*" " *company-sps*" make-closure #[0 "\300\211\205! \211@\301!\203 r\211q\210\302\303!\210\302\304!)\210A\266\202\202 \207" [V0 buffer-live-p kill-local-variable face-remapping-alist buffer-display-table] 4] boundp make-local-variable nil company-pseudo-tooltip-show] 11 (#$ . 142931)])#@18 

(fn SELECTION)
(defalias 'company-pseudo-tooltip-edit #[257 "\301\302\"\303\304!\"\211A@\305\306\307@!#\210\305\310\311\312\301\313\"$#\207" [company-pseudo-tooltip-overlay overlay-get company-height company--create-lines abs overlay-put company-width company--string-width company-display apply company--replacement-string company-replacement-args] 15 (#$ . 143719)])
(defalias 'company-pseudo-tooltip-hide #[0 "\205 \301!\210\302\211\207" [company-pseudo-tooltip-overlay delete-overlay nil] 2])
(defalias 'company-pseudo-tooltip-hide-temporarily #[0 "\301!\205# \302\303\304#\210\302\305\304#\210\302\306\304#\210\302\307\304#\210\302\310\304#\207" [company-pseudo-tooltip-overlay overlayp overlay-put invisible nil line-prefix before-string display face] 4])
(defalias 'company-pseudo-tooltip-unhide #[0 "\205E \301\302\"\303\304\305#\210\306!\206 `Sf\307>\203+ \310\301\311\"8\204+ \312P\262\303\313\314#\210\303\315#\210\303\316\314#\210\303\317\320 #\266\202\207" [company-pseudo-tooltip-overlay overlay-get company-display overlay-put priority 111 overlay-start (32 9) 2 company-replacement-args "\n" line-prefix "" before-string display window selected-window] 6])#@15 

(fn PREFIX)
(defalias 'company-pseudo-tooltip-guard #[257 "`GZ\212\301 )\302 \212\303 \210\304 `Z)\305\306\"\307Y\205+ \310`\311!\"\307Y\205* B\266\202F\207" [company-pseudo-tooltip-overlay beginning-of-visual-line window-width end-of-visual-line line-end-position overlay-get company-height 0 buffer-substring-no-properties overlay-start] 10 (#$ . 144935)])#@83 `company-mode' frontend similar to a tooltip but based on overlays.

(fn COMMAND)
(defalias 'company-pseudo-tooltip-frontend #[257 "\211\306\267\2020\307 \207\211\203- \310\311\"\312V\203- \212\313\314!\210`\315!U\204, \316`\317!#\210)\210\320 \207\321 @\322\323!\203d \310\311\"\324 _\312Y\205_ \325!\325!Y\205_ \326!\211\262\310\327\"\232\266\203\204v \330`G\"\210\331\327\206t \326!#\210\266\320 \207\312\211\207\332 \210\312\211\207\323!\2051\333\303!\205\223 \333\304!\205\232 \f\334\335!\334\336!D\337\340\"\216\211\211\203\335 \211@r\211q\210\341\305!\203\301 \203\301 \342\305!\210\322\203\313 \342\303!\210\203\325 \342\304!\210)A\266\202\202\247 \210\343,!)\207\344-!\345 \205\365 \310\311\".^\211\205/\346#\205/\347\350A\nS/\351=\203\n\312U\204\352\202\312[\312W\203*\314Z\202+\312%!\210\353\207\322\207" [company-pseudo-tooltip-overlay company--tooltip-current-width company-tooltip-offset face-remapping-alist buffer-display-table display-line-numbers #s(hash-table size 7 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (pre-command 6 unhide 9 post-command 49 show 123 hide 127 update 134 select-mouse 228)) company-pseudo-tooltip-hide-temporarily overlay-get company-height 0 vertical-motion 1 overlay-start move-overlay overlay-end company-pseudo-tooltip-unhide company--boundaries nil overlayp company--pseudo-tooltip-height abs company-pseudo-tooltip-guard company-guard company-pseudo-tooltip-show-at-point overlay-put company-pseudo-tooltip-hide local-variable-p get-buffer-create " *string-pixel-width*" " *company-sps*" make-closure #[0 "\300\211\205! \211@\301!\203 r\211q\210\302\303!\210\302\304!)\210A\266\202\202 \207" [V0 buffer-live-p kill-local-variable face-remapping-alist buffer-display-table] 4] boundp make-local-variable company-pseudo-tooltip-edit company--event-col-row company--row company--inside-tooltip-p company-set-selection + lines -1 t company-selection company-mouse-event company-candidates-length company-tooltip-offset-display] 12 (#$ . 145307)])#@87 `company-pseudo-tooltip-frontend', but not shown for single candidates.

(fn COMMAND)
(defalias 'company-pseudo-tooltip-unless-just-one-frontend #[257 "\211\300>\205 \301 ?\205 \302!\207" [(post-command unhide) company--show-inline-p company-pseudo-tooltip-frontend] 3 (#$ . 147391)])#@16 

(fn COMMAND)
(defalias 'company-pseudo-tooltip--ujofwd-on-timer #[257 "\205 \301!\207" [company-candidates company-pseudo-tooltip-unless-just-one-frontend-with-delay] 3 (#$ . 147684)])#@129 `compandy-pseudo-tooltip-frontend', but shown after a delay.
Delay is determined by `company-tooltip-idle-delay'.

(fn COMMAND)
(defalias 'company-pseudo-tooltip-unless-just-one-frontend-with-delay #[257 "\211\304>\203 \203 \305!\210\306\211\307\267\202H \204  \310	!\2035 \310\n!\204* \311!\207\306\312\313!)\210\312\314!\207\315\306\316\314$\211\207\310	!\205K \311!\207\311!\207" [company-tooltip-timer company-pseudo-tooltip-overlay company-preview-overlay company-tooltip-idle-delay (pre-command hide) cancel-timer nil #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (post-command 22 unhide 62)) overlayp company-pseudo-tooltip-unless-just-one-frontend company-call-frontends pre-command post-command run-with-timer company-pseudo-tooltip--ujofwd-on-timer] 6 (#$ . 147880)])
(defvar company-preview-overlay nil nil)
(make-variable-buffer-local 'company-preview-overlay)#@44 

(fn POS COMPLETION &optional BOUNDARIES)
(defalias 'company-preview-show-at-point #[770 "\305 \203 \306 \210\307 \210\211\206 \310!\211@A\205\" \311\"\205\" \312\"\313\314!!\262\315\316G\317\320\n%\210\211\320\211:\203^ @\262\211A\262\242\262\315\321\320%\210A\262\202= \266\322	\n!\"\203\210 \323 \211\203\207 \211@\211\242\243\315\324\320%\266A\266\202\202l \210\311\325\326!\327=#\203\235 \330\"\202\236 \262\311\331\"\203\266 \332\333\334\317#\331\335\320OQ\262`\232\203\316 \211\336\230\262\204\316 \337\316\335\340	$\210\211\205\346 \206\333 `Sf\205\346 \341!=	\203\372 \nS\262{\nP\262\n\342\"\203\nG\\\262\343\"\211\344V\203\345\202\346#\210\344\347\350#\210\344\351\352 #\262\266\204)\207" [company-common company-search-regexp-function company-search-string company-pseudo-tooltip-overlay company-preview-overlay minibufferp company-echo-hide company-preview-hide company--boundaries string-prefix-p company--common-or-matches copy-sequence company--pre-render add-face-text-property 0 company-preview nil company-preview-common string-match company--search-chunks company-preview-search company-call-backend ignore-case keep-prefix company-strip-prefix "\n" propertize " " face 1 "" add-text-properties (cursor 1) overlay-start string-suffix-p make-overlay overlay-put display after-string priority 1101 window selected-window] 18 (#$ . 148809)])
(defalias 'company-preview-hide #[0 "\205 \301!\210\302\211\207" [company-preview-overlay delete-overlay nil] 2])#@89 `company-mode' frontend showing the selection as if it had been inserted.

(fn COMMAND)
(defalias 'company-preview-frontend #[257 "\211\302\267\202# \303 \207\205$ 	8\304`\"\207\205$ \304`	8\"\207\303 \207\305\207" [company-selection company-candidates #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (pre-command 6 unhide 9 post-command 21 hide 32)) company-preview-hide company-preview-show-at-point nil] 5 (#$ . 150390)])#@81 `company-preview-frontend', but only shown for single candidates.

(fn COMMAND)
(defalias 'company-preview-if-just-one-frontend #[257 "\211\300>\203 \301 \205 \302!\207" [(post-command unhide) company--show-inline-p company-preview-frontend] 3 (#$ . 150862)])
(defalias 'company--show-inline-p #[0 "\205 \302 \211@A\303\304!@A?\205; 	\205; \305\306\211\306\211\307&\307=?\205; \310#\205; \311=\206; \312	\"\207" [company-candidates company-common company--boundaries company-call-backend ignore-case compare-strings nil t string-suffix-p keep-prefix string-prefix-p] 13])#@41 Returns whether the tooltip is visible.
(defalias 'company-tooltip-visible-p #[0 "\301!\205 \302\303\"?\207" [company-pseudo-tooltip-overlay overlayp overlay-get invisible] 3 (#$ . 151455)])#@60 Returns whether the preview of common can be showed or not
(defalias 'company-preview-common--show-p #[0 "\205 \302\303!\304=\206 \305	\"\207" [company-common company-prefix company-call-backend ignore-case keep-prefix string-prefix-p] 3 (#$ . 151654)])#@78 `company-mode' frontend preview the common part of candidates.

(fn COMMAND)
(defalias 'company-preview-common-frontend #[257 "\211\301>\203 \302 \205 \211\303\267\202 \304 \207\305`\"\207\304 \207\306\207" [company-common (post-command unhide) company-preview-common--show-p #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (pre-command 17 unhide 20 post-command 20 hide 25)) company-preview-hide company-preview-show-at-point nil] 4 (#$ . 151917)])
(defvar company-echo-last-msg nil nil)
(make-variable-buffer-local 'company-echo-last-msg)
(defvar company-echo-timer nil)
(defvar company-echo-delay 0.01)
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable company-echo-truncate-lines funcall function #[0 "\300\207" [t] 1 ""] "Whether frontend messages written to the echo area should be truncated." :type boolean :package-version (company . "0.9.3")] 8)#@25 

(fn &optional GETTER)
(defalias 'company-echo-show #[256 "\305	\n\203  \n\205 \306 \211\205& \307r\310!q\210edS])\"\211\205R \311\312\313!\314!@\203N \315\316\317\"\206J \316\320\"\206J \321!\202O \311\322$]\211\203b GV\203b \311O\266\323\235\204q \324\325\"\202{ \326\235?\205{ \324\321!*\207" [company-echo-last-msg company-preview-overlay company-echo-truncate-lines message-truncate-lines message-log-max nil active-minibuffer-window posn-at-point window-buffer 0 - window-width posn-col-row company--string-width overlay-get display after-string #1="" 5 (nil #1#) message "%s" (nil #1#)] 14 (#$ . 152855)])#@31 

(fn &optional GETTER DELAY)
(defalias 'company-echo-show-soon #[512 "\302 \210\303\206	 \304\305$\211\207" [company-echo-delay company-echo-timer company-echo-cancel run-with-timer nil company-echo-show] 7 (#$ . 153502)])#@24 

(fn &optional UNSET)
(defalias 'company-echo-cancel #[256 "\203 \301!\210\211\205 \302\211\207" [company-echo-timer cancel-timer nil] 3 (#$ . 153735)])
(defalias 'company-echo-format #[0 "\206 \306\307\310 !\311	\233\n\203 \202 \312G\313\211\203\210 \314\315\316\211A\262	\242!!\317\320#\262TG\\\262\306\321\f\206= \322!W\203j \323\324!\"\321!\262\\\262\\\262	\314P\317\320#\262\210T\262\325\326$\266Y\203\200 \313\262\202 B\262\202 \327\330\237\331#\207" [company-selection company-candidates company-show-quick-access company-quick-access-keys company-common company-quick-access-hint-function 0 window-body-width minibuffer-window -1 99999 nil propertize company-reformat company--clean-string face company-echo company--string-width "" format "%s: " add-text-properties (face company-echo-common) mapconcat identity " "] 15])
(defalias 'company-echo-strip-common-format #[0 "\206 \306\307\310 !	G\311\\\n\233\203 \202 \312\fG\313\211\203l \314\211A\262\242	\"\262\311\\G\\\262W\203S \315\316!\"P\262\317!\\\262\210T\262Y\203` \313\262\202 \320\321\322#B\262\202 \320	\321\323#\324\325\326\237\327#\330R\207" [company-selection company-prefix company-candidates company-show-quick-access company-quick-access-keys company-quick-access-hint-function 0 window-body-width minibuffer-window 2 99999 nil company-strip-prefix format " (%s)" company--string-width propertize face company-echo company-echo-common "{" mapconcat identity ", " "}"] 14])
(defalias 'company-echo-hide #[0 "\211\301\230\262?\205 \302\303!\207" [company-echo-last-msg "" company-echo-show ignore] 3])#@80 `company-mode' frontend showing the candidates in the echo area.

(fn COMMAND)
(defalias 'company-echo-frontend #[257 "\211\300\267\202 \301\302\303\"\207\304 \207\305\207" [#s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (post-command 6 hide 11)) company-echo-show-soon company-echo-format 0 company-echo-hide nil] 4 (#$ . 155410)])#@80 `company-mode' frontend showing the candidates in the echo area.

(fn COMMAND)
(defalias 'company-echo-strip-common-frontend #[257 "\211\300\267\202 \301\302\303\"\207\304 \207\305\207" [#s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (post-command 6 hide 11)) company-echo-show-soon company-echo-strip-common-format 0 company-echo-hide nil] 4 (#$ . 155787)])#@83 `company-mode' frontend showing the documentation in the echo area.

(fn COMMAND)
(defalias 'company-echo-metadata-frontend #[257 "\211\302\267\202$ \303V\205 \304 \203 	\305>\205% \306 \207\307\310!\207\306 \207\311 \207\312\207" [company-echo-delay this-command #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (pre-command 6 post-command 26 unhide 30 hide 33)) 0 minibufferp (self-insert-command delete-backward-char company-select-next company-select-previous company-select-next-or-abort company-select-previous-or-abort company-next-page company-previous-page company-search-repeat-forward company-search-repeat-backward company-complete-common-or-cycle) company-echo-show company-echo-show-soon company-fetch-metadata company-echo-hide nil] 3 (#$ . 156190)])
(eldoc-add-command-completions "company-")
(defalias 'company--eldoc-no-inteference-p #[0 "?\206 	\302\235\207" [company-candidates company-echo-last-msg (nil "")] 2])
(byte-code "\300\301\302\303#\210\304\305!\207" [advice-add eldoc-display-message-no-interference-p :after-while company--eldoc-no-inteference-p provide company] 4)
