;ELC   
;;; Compiled
;;; in Emacs version 26.3
;;; 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.

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


(require 'cl-lib)
#@13 

(fn CHAR)
(defalias 'parse-time-string-chars #[257 "\300X\203 \211\301X\203 \300\207\302X\203 \211\303X\203 \302\207\211\304=\203$ \305\207\211\306=\203, \307\207\211\310=\2053 \311\207" [97 122 48 57 43 1 45 -1 58 100] 3 (#$ . 426)])
(put 'parse-time-string-chars 'byte-optimizer 'byte-compile-inline-expand)
#@158 Tokenize STRING into substrings.
Each substring is a run of "valid" characters, i.e., lowercase
letters, digits, plus or minus signs or colons.

(fn STRING)
(defalias 'parse-time-tokenize #[257 "\300G\300\211\301\300W\203\372 W\203i H\302X\203) \211\303X\203) \302\262\202\\ \304X\203; \211\305X\203; \304\262\202\\ \211\306=\203G \307\262\202\\ \211\310=\203S \311\262\202\\ \211\312=\205Z \313\262\211\262\204i T\262\202 \262\211\304=\262T\211\262W\203\326 H\302X\203\221 \211\303X\203\221 \302\262\202\304 \304X\203\243 \211\305X\203\243 \304\262\202\304 \211\306=\203\257 \307\262\202\304 \211\310=\203\273 \311\262\202\304 \211\312=\205\302 \313\262\211\262\203\326 \205\321 \211\304=\262\202q X\203 \203\355 \314\315\316%\202\363 OB\262\202 \237\207" [nil 0 97 122 48 57 43 1 45 -1 58 100 cl-parse-integer :start :end] 13 (#$ . 751)])
(defvar parse-time-months '(("jan" . 1) ("feb" . 2) ("mar" . 3) ("apr" . 4) ("may" . 5) ("jun" . 6) ("jul" . 7) ("aug" . 8) ("sep" . 9) ("oct" . 10) ("nov" . 11) ("dec" . 12) ("january" . 1) ("february" . 2) ("march" . 3) ("april" . 4) ("june" . 6) ("july" . 7) ("august" . 8) ("september" . 9) ("october" . 10) ("november" . 11) ("december" . 12)))
(defvar parse-time-weekdays '(("sun" . 0) ("mon" . 1) ("tue" . 2) ("wed" . 3) ("thu" . 4) ("fri" . 5) ("sat" . 6) ("sunday" . 0) ("monday" . 1) ("tuesday" . 2) ("wednesday" . 3) ("thursday" . 4) ("friday" . 5) ("saturday" . 6)))
#@48 (zoneinfo seconds-off daylight-savings-time-p)
(defvar parse-time-zoneinfo (byte-code "\300\301\302\303\304D\305\306\307BB\310\306D\311\312\313BB\314\312D\315\316\317BB\320\316D\321\322\323BB\257\207" [("z" 0) ("ut" 0) ("gmt" 0) "pst" -28800 "pdt" -25200 (t) "mst" "mdt" -21600 (t) "cst" "cdt" -18000 (t) "est" "edt" -14400 (t)] 13) (#$ . 2234))
#@32 (slots predicate extractor...)
(defvar parse-time-rules (byte-code "\301\302\303\304\305DD\306\307\310BB\311\312\313\314F\315\316\317E\320\321\322BB\323\324\325\326\327\257\330\331\332\333\334\257\335\336\337BB\340\341\342E\343\344\345E\257\207" [most-positive-fixnum ((6) parse-time-weekdays) ((3) (1 31)) ((4) parse-time-months) (5) 100 (2 1 0) #[0 ";\205 G\301U\205 \302H\303U\205 \304H\303U\207" [parse-time-elt 8 2 58 5] 2] ([0 2] [3 5] [6 8]) (8 7) parse-time-zoneinfo #[0 "@\207" [parse-time-val] 1] #[0 "A@\207" [parse-time-val] 1] (8) #[0 ";\205 G\301U\205 \302H\303U\206 \302H\304U\207" [parse-time-elt 5 0 43 45] 2] #[0 "\301\302\303\304\305\306%\302\303\307\305\304%\310_\\\311H\312U\203 \313\202 \307\310#\207" [parse-time-elt * cl-parse-integer :start 3 :end 5 1 60 0 45 -1] 8] (5 4 3) #[0 ";\205 G\301U\205 \302H\303U\205 \304H\303U\207" [parse-time-elt 10 4 45 7] 2] ([0 4] [5 7] [8 10]) (2 1 0) #[0 ";\205 G\301U\205 \302H\303U\207" [parse-time-elt 5 2 58] 2] [0 2] [3 5] #[0 "\300\207" [0] 1] (2 1 0) #[0 ";\205 G\301U\205 \302H\303U\207" [parse-time-elt 4 1 58] 2] [0 1] [2 4] #[0 "\300\207" [0] 1] (2 1 0) #[0 ";\205 G\301U\205 \302H\303U\207" [parse-time-elt 7 1 58] 2] ([0 1] [2 4] [5 7]) (5) (50 110) #[0 "\301\\\207" [parse-time-elt 1900] 2] (5) (0 49) #[0 "\301\\\207" [parse-time-elt 2000] 2]] 15) (#$ . 2587))
#@460 Parse the time-string STRING into (SEC MIN HOUR DAY MON YEAR DOW DST TZ).
STRING should be something resembling an RFC 822 (or later) date-time, e.g.,
"Fri, 25 Mar 2016 16:24:56 +0100", but this function is
somewhat liberal in what format it accepts, and will attempt to
return a "likely" value even for somewhat malformed strings.
The values returned are identical to those of `decode-time', but
any values that are unknown are returned as nil.

(fn STRING)
(defalias 'parse-time-string #[257 "\303\211\211\211\211\211\211\211\211\257	\304\227!\211\203\303 \211A\262\242\303\203\275 \211\204\275 \211A\262\242\211A\262\242\211A\262\242\303@8\204\267 \211:\203e \211@\305=\204e 	\247\205u \211@	X\205u 	A@X\205u 	\202u \2119\203s \306	J\"A\202u \211 \211\203\267 \307\262\203\267 \203\246 \211A\262\242\310!\203\237 \311	\312\313H\314\315H%\202\241 \211 \262\202\247 \n\211A\262\242	\233\240\266\202} )\266\202 )\266\202 \207" [parse-time-rules parse-time-elt parse-time-val nil parse-time-tokenize lambda assoc t vectorp cl-parse-integer :start 0 :end 1] 17 (#$ . 3980)])
#@206 List of regular expressions matching ISO 8601 dates.
1st regular expression matches the date.
2nd regular expression matches the time.
3rd regular expression matches the (optional) timezone specification.
(defconst parse-time-iso8601-regexp (byte-code "\300\301\302\303\211\211\211\211\304\305\301\306\260\260	\n\260\307P\310P\311\312QE\207" ["-?" ":?" "\\([0-9][0-9][0-9][0-9]\\)" "\\([0-9][0-9]\\)" "\\(\\.[0-9]+\\)?" "\\([-+]\\)" "?" "^" "T" "\\(Z\\|" "\\)"] 19) (#$ . 5099))
#@156 Parse an ISO 8601 time string, such as 2016-12-01T23:35:06-05:00.
If DATE-STRING cannot be parsed, it falls back to
`parse-time-string'.

(fn DATE-STRING)
(defalias 'parse-iso8601-time-string #[257 "@A@\3018\302\211\211\211\211\211\211\211\211\211\211\303#\203\277 \304\305\306\"!\262\304\305\301\"!\262\304\305\307\"!\262\310\225\262\303#\203\277 \304\305\306\"!\262\304\305\301\"!\262\304\305\307\"!\262	\310\225\262\303\f#\203\251 \305\306\"\311\230\203\202 \310\262\202\251 \304\305\307\"!\312_\304\305\313\"\206\225 \314!\315_\\\262\305\301\"\316\230\203\251 \211[\262\257	\262\n	\204\312 \317!\262\n	\205\324 \320\321\"\207" [parse-time-iso8601-regexp 2 nil string-match string-to-number match-string 1 3 0 "Z" 3600 4 "0" 60 "-" parse-time-string apply encode-time] 24 (#$ . 5613)])
(provide 'parse-time)
