;ELC   
;;; Compiled
;;; in Emacs version 25.3.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\300\302!\207" [require eieio pcache] 2)
(defconst gh-cache-outdated-expiration-delay 86400)
(defconst gh-cache-internal-version-constant 4)
(defconst gh-cache-version-constant (format "%s/gh-%s" pcache-version-constant gh-cache-internal-version-constant))
(byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\210\314\303\315\316\317$\207" [defalias gh-cache-p eieio-make-class-predicate gh-cache gh-cache--eieio-childp eieio-make-child-predicate gh-cache-child-p make-obsolete "use (cl-typep ... 'gh-cache) instead" "25.1" put cl-deftype-satisfies eieio-defclass-internal (pcache-repository) ((version-constant :allocation :class) (entries :initarg :entries :initform (make-hash-table :test 'equal)) (safe-methods :allocation :class :initform ("HEAD" "GET" "OPTIONS" "TRACE")) (invalidation-chain :allocation :class :initform nil) (entry-cls :initarg :entry-cls :initform gh-cache-entry)) nil] 5)
#@47 Create a new object of class type `gh-cache'.
(defalias 'gh-cache #[(&rest slots) "\301\302\303#\207" [slots apply make-instance gh-cache] 4 (#$ . 1395)])
(function-put 'gh-cache 'compiler-macro 'gh-cache--anon-cmacro)
(defalias 'gh-cache--anon-cmacro #[(whole &rest slots) "@;\204 	\207\302\303\304@	@#	@\305@DABB\"\207" [slots whole macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 5])
(byte-code "\301\302\303#\210\304\305\306\307!\"\210\304\310\311\307!\"\210\304\312\310\"\210\313\312\314\315#\210\316\307\317\310#\210\320\307\321\322\323$\207" [gh-cache-version-constant eieio-oset-default gh-cache version-constant defalias gh-cache-entry-p eieio-make-class-predicate gh-cache-entry gh-cache-entry--eieio-childp eieio-make-child-predicate gh-cache-entry-child-p make-obsolete "use (cl-typep ... 'gh-cache-entry) instead" "25.1" put cl-deftype-satisfies eieio-defclass-internal (pcache-entry) ((etag :initarg :etag :initform nil) (outdated :initarg :outdated :initform nil)) nil] 5)
#@53 Create a new object of class type `gh-cache-entry'.
(defalias 'gh-cache-entry #[(&rest slots) "\301\302\303#\207" [slots apply make-instance gh-cache-entry] 4 (#$ . 2432)])
(function-put 'gh-cache-entry 'compiler-macro 'gh-cache-entry--anon-cmacro)
(defalias 'gh-cache-entry--anon-cmacro #[(whole &rest slots) "@;\204 	\207\302\303\304@	@#	@\305@DABB\"\207" [slots whole macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 5])
(byte-code "\300\301\302\301\303\"\"\210\304\301\305\306\307$\210\300\310\302\310\303\"\"\210\304\310\303\306\311$\210\300\312\302\312\303\"\"\210\304\312\303\313\314$\210\300\315\302\315\303\"\"\210\304\315\303\306\316$\210\300\317\302\317\303\"\"\210\304\317\303\306\320$\210\300\321\302\321\303\"\"\210\304\321\303\306\322$\210\300\323\302\323\303\"\"\210\304\323\303\306\324$\210\300\325\302\325\303\"\"\210\304\325\303\306\326$\210\300\327\302\327\303\"\"\210\304\327\303\306\330$\210\331\306!\207" [eieio--defalias pcache-invalidate eieio--defgeneric-init-form nil eieio--defmethod :after gh-cache #[(cache key) "@\306\n\307\"\210\310\n\311\"\312\211\2052 \f@\313@A	#\211	\232\204) \306\n\314\"\210)\fA\211\204 \312+\207" [key resource cache next --dolist-tail-- nextresource pcache-map #[(k v) "@	\232\205 \303\n\"\207" [k resource cache pcache-invalidate] 3] eieio-oref invalidation-chain nil replace-regexp-in-string #[(k v) "@	\232\205 \303\n\"\207" [k nextresource cache pcache-invalidate] 3]] 5] pcache-get #[(cache key &optional default) "\305\306\"\307\n	\"\211\204 \f\202\" \310!\204 \311\312\313#\210\305\314\"*\207" [cache table key entry default eieio-oref :entries gethash pcache-entry-valid-p eieio-oset :outdated t :value] 5] pcache-has pcache-repository #[(cache key) "\305\306!\307	\310\"\311\n#\211+=?\207" [default cache table key entry make-symbol ":nil" eieio-oref :entries gethash] 5] pcache-purge-invalid #[(cache) "\302\303\"\304\305	\"\210\306!)\207" [cache table eieio-oref :entries maphash #[(k e) "\303!?\205 \304	\n\"\207" [e k table gh-cache-expired-p remhash] 3] pcache-save] 3] gh-cache-outdated-p #[(cache key) "\304\305\"\306\n	\"\211\205 \304\307\"*\207" [cache table key entry eieio-oref :entries gethash :outdated] 4] gh-cache-expired-p #[(cache key) "\306\307\"\310\n	\"\311\n\"\205  \312\313 !\211\306\314\"\\W)?*\207" [cache table key entry time gh-cache-outdated-expiration-delay eieio-oref :entries gethash gh-cache-outdated-p float-time current-time :timestamp] 6] gh-cache-revive #[(cache key) "\304\305\"\306\n	\"\211\205\" \307\310\311#\205\" \307\312\313\314 !#\205\" \315*\207" [cache table key entry eieio-oref :entries gethash eieio-oset :outdated nil :timestamp float-time current-time t] 6] gh-cache-etag #[(cache key) "\304\305\"\306\n	\"\211\205 \304\307\"*\207" [cache table key entry eieio-oref :entries gethash :etag] 4] gh-cache-set-etag #[(cache key etag) "\305\306\"\307\n	\"\211\205 \310\311\f#*\207" [cache table key entry etag eieio-oref :entries gethash eieio-oset :etag] 5] provide] 5)
