;ELC   
;;; Compiled by pot@pot.cnuce.cnr.it on Tue Mar 18 15:45:57 2003
;;; from file /home/pot/gnu/emacs-pretest.new/lisp/gnus/nnultimate.el
;;; in Emacs version 21.3
;;; with bytecomp version 2.85.4.1
;;; with all optimizations.

;;; This file contains multibyte non-ASCII characters
;;; and therefore cannot be loaded into Emacs 19.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "20")))
    (error "`nnultimate.el' was compiled for Emacs 20 or later"))

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


(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\300\306!\207" [require nnoo message gnus-util gnus nnmail mm-util] 2)
(require 'nnweb)
(byte-code "\302\303\304\305\"\305\211FB\302\306D	B\305\207" [nnoo-definition-alist nnoo-state-alist nnultimate mapcar #[(p) "C\207" [p] 1] nil "*internal-non-initialized-backend*"] 4)
#@39 Where nnultimate will save its files.
(defvar nnultimate-directory (nnheader-concat gnus-directory "ultimate/") (#$ . 981))
(nnoo-define 'nnultimate-directory nil)
#@45 The address of the Ultimate bulletin board.
(defvar nnultimate-address "" (#$ . 1151))
(byte-code "\306\307\310\"\210\301B\311\301!\204 \310\302B\311\302!\204 \310\306\302\310\"\210\303B\311\303!\204. \310\306\303\310\"\210\304B\311\304!\204? \310\306\304\310\"\210\305B\311\305!\204P \312\313\314!\207" [current-load-list nnultimate-groups-alist nnultimate-groups nnultimate-headers nnultimate-articles nnultimate-table-regexp nnoo-define nnultimate-address nil boundp "postings.*editpost\\|forumdisplay\\|Forum[0-9]+/HTML\\|getbio" nnoo-define-basics-1 nnultimate] 3)
(defalias 'nnultimate-retrieve-headers #[(articles &optional group server fetch-old) "\306	\"\210\n?\205\304!@\307\310@\311A\"B\312B8C\313B8D\314B8E\315B8\2065 \310F\316GH\317GC\"PCI\320J\307K\307L\307M\307N\307O\307P\307Q\307R\307S\307T\307U\307V\307W\307X\307Y\307Z\307[\307\\\307]\307^\307_\307`\307a\307b\307c\307d\307e\307f\307g\307h\307iEW@\211L\203QW\203QW\203\352 LW\211j@@)V\204\337 W\211j@A)@W\211j@@)W\203\352 W\211AW@\210\202\267 W@\211h\203\252 \321iL\203\252 LhA@X\203\252 \312h8V\236\211X\203(XL\322h8iT\211i\\BC\244\210\202@\312h8L\322h8iT\211i\\BDVBV\211A@\210@\211L\204\373 \202\252 V\204b\212kq\210\323 \210)\202\f\307l\307m\324\325\326!!n\327\216rnq\210V\307X\211o\203Ro@X\310c\310a\307bacX\203\323 \210\312X@D\2368M\322X@D\2368Za\310U\203\275\330Z!\210\202\327\331\332Z\"\210\330Z\333\211\224O\334\335a!\336\333Z\"R!\210eb\210\337\340\341\217T\342T!`eb\210\343\344\307\345#\203\370\346\336\310!!c\312\211`8@8ATbT\244baT\211a\202\221\333pb\307q\211r\203Hr@q\347X@pT\211p#\2065\310qMElBlrA\211r\204 +oA\211o\204\201.\350l\351\"\211l\307s\211t\203\234t@\211s@LsA@T\312s8M\352\353\354\312T8@!\355#O\354\312\211T8A@8!__\203\270\331\356_@\"\203\255_@\333\225\307OP\307__\211A_@\210\202\223P\203.\357\360\361P\362\"\"P\363P\235\204\325\364P\235\203\317\365PA@P@G\322Y\203\373\311P@\333\322O\227u\"\203\373P@\333\322O\202\366\346P@!u\"@\312P8\322P8%P\202.\317\365\366\346PA@!u\"@P@\312P8\322P8%PL\211MOP\206;\360\367\335C!\370\335L!\371	\372\260\360\333\352\353\354\312\211T8A@8A!\360#G\373\245\307\211vwQxyzPOM{\374{MOPzyxQwv&\n.\nBKBKtA\211t\204e*\350K\351\"|\212kq\210}\203\345~p\200\375\216\307m\376\307!\210\323 \210|\307\201\211\202\203\340\202@\201\377\201A!\210\202A\211\202\204\314.\202\307m\323 \210|\307\201\211\203\203\n\203@\201\377\201A!\210\203A\211\203\204\366+).*\201\204 \207" [group server gnus-nov-is-evil articles last did nnultimate-possibly-change-server nil 1 assoc 2 4 5 6 "forumdisplay.cgi?action=topics&number=%d&DaysPrune=1000" format "postings.*editpost\\|forumdisplay\\|getbio" -1 3 erase-buffer get-buffer-create generate-new-buffer-name " *temp*" ((byte-code "\301!\203\n \302!\210\301\207" [#1=#:temp-buffer buffer-name kill-buffer] 2)) nnweb-insert string-match "\\.html$" 0 "-" number-to-string match-string #2=#:G97322 (byte-code "\300p!\207" [w3-parse-buffer] 2) ((error)) nnultimate-find-forum-table re-search-forward "topic is \\([0-9]+\\) pages" t string-to-number nnultimate-topic-article-to-article sort car-less-than-car mapconcat identity nnweb-text " " "Posted" delete "" split-string "[-, \n	    ]" "AM" "PM" "%s %s %s %s" rassq "<" "%" "@ultimate." ">" 70 vector ((byte-code "q\210\302	!\207" [#3=#:buffer #4=#:multibyte set-buffer-multibyte] 2)) set-buffer-multibyte nnheader-insert-nov start nnultimate-groups entry sid topics mapping old-total furl nnultimate-address furls nnultimate-table-regexp headers article subject score from date lines parent point contents tinfo fetchers map elem a href garticles topic old-max inc datel table current-page total-contents pages farticles forum-contents parse furl-fetched mmap farticle x nntp-server-buffer nnultimate-articles default-enable-multibyte-characters #1# #5=#:--dolist-temp--97318 i co #6=#:--dolist-temp--97323 articlef #7=#:--dolist-temp--97319 parse-time-months extra xref chars references id number nnultimate-headers mm-emacs-mule enable-multibyte-characters #3# #4# header #8=#:--dolist-temp--97320 #9=#:--dolist-temp--97321 nov] 16])
(nnoo-register-function 'nnultimate-retrieve-headers)
(defalias 'nnultimate-topic-article-to-article #[(group topic article) "\300\301\215\207" [found (byte-code "\306\307	\"8\310\211\203D @\f\311\n8U\203= \312\n8Y\203= \nA@\n@Z\312\n8\\\313\\W\203= \314\315\n@\312\n8Z\\\"\210A\211\204 *\310\207" [group nnultimate-groups elem #1=#:--dolist-temp--97325 topic article 5 assoc nil 2 3 1 throw found] 7)] 2])
(defalias 'nnultimate-request-group #[(group &optional server dont-check) "\306\307\"\210	\204\f \310 \210\n\204 \311!\210\312	\"\211\204$ \313\314\315\"\202= \313\314\316#\210\317\320\f\211A@)\321\f\211A@)\322!%)\207" [server nnultimate-groups dont-check group elem x nnultimate-possibly-change-server nil nnultimate-request-list nnultimate-create-mapping assoc nnheader-report nnultimate "Group does not exist" "Opened group %s" nnheader-insert "211 %d %d %d %s\n" 1 prin1-to-string] 8])
(nnoo-register-function 'nnultimate-request-group)
(defalias 'nnultimate-request-close #[nil "\302\302\211\207" [nnultimate-groups-alist nnultimate-groups nil] 2])
(nnoo-register-function 'nnultimate-request-close)
(defalias 'nnultimate-request-article #[(article &optional group server buffer) "\306	\"\210\n\236A\307\211\f@8A@8\211AA)\211\205q \212\206$ q\210\310 \210\311\312\313\fCBB!\210eb\210\314c\210\n\236A\203] p\315\216\313\316\313!\210\317!\210,\202f \313\317!\210))\320\321\322\n#\210\n)B)\207" [group server article nnultimate-articles contents x nnultimate-possibly-change-server 2 erase-buffer nnweb-insert-html p nil "Content-Type: text/html\nMIME-Version: 1.0\n" ((byte-code "q\210\302	!\207" [#1=#:buffer #2=#:multibyte set-buffer-multibyte] 2)) set-buffer-multibyte nnheader-insert-header nnheader-report nnultimate "Fetched article %s" buffer nntp-server-buffer nnultimate-headers header mm-emacs-mule enable-multibyte-characters #1# #2# default-enable-multibyte-characters] 5])
(nnoo-register-function 'nnultimate-request-article)
(defalias 'nnultimate-request-list #[(&optional server) "\306\307\"\210\307\310\311\312!!\313\216r\nq\210\314\315\316\"\203! \317P\202\" !\210\320\211\321\322p!!8@8\307\211\211\211\211\211\211\211\211\211\"#$%&'\211(\307)\211*\203*@)\320)8)\323\324)\"\211\203\371 \325\326!!@#\327A@\236A\325\326)A@!!@%\325\326\320)8!!@\325\326\330)8!!@\315\331\"\203\251 \332!$\f\203\274 \315\331\f\"\203\274 $\332\f!]$\203\371 \315\333\"\210\332\334\335\"!\"\336#+\"\211&\203\346 &A$\240\210\202\371 #$\"%\307\211\211\211\257+B+*A\211*\204V .\337 \210\340 \210,\341\207" [server default-enable-multibyte-characters #1=#:temp-buffer nnultimate-address a2 a1 nnultimate-possibly-change-server nil get-buffer-create generate-new-buffer-name " *temp*" ((byte-code "\301!\203\n \302!\210\301\207" [#1# buffer-name kill-buffer] 2)) nnweb-insert string-match "/$" "Ultimate.cgi" 2 nnultimate-find-forum-table w3-parse-buffer nnweb-parse-find a last nnweb-text href 3 "^[0-9]+$" string-to-number "number=\\([0-9]+\\)" match-string 1 assoc nnultimate-write-groups nnultimate-generate-active t forum group articles description elem sid contents row #2=#:--dolist-temp--97326 nnultimate-groups] 12])
(nnoo-register-function 'nnultimate-request-list)
(defalias 'nnultimate-request-newgroups #[(date &optional server) "\301\302\"\210\303 \210\304\207" [server nnultimate-possibly-change-server nil nnultimate-generate-active t] 3])
(byte-code "\300\301!\210\302\303!\207" [nnoo-register-function nnultimate-request-newgroups nnoo-define-skeleton-1 nnultimate] 2)
#@47 Compute the number of days to fetch info for.
(defalias 'nnultimate-prune-days #[(group time) "\304\305	\"8\211\204 \306\202 \307!\307\n!Z)\207" [group nnultimate-groups old-time time 7 assoc 1000 time-to-days] 5 (#$ . 9114)])
(defalias 'nnultimate-create-mapping #[(group) "\306	\"\307\n8\310\n8\311\n8\312\n8\206 \313*\314 \f\315\316\317\f\"!P+,\320+\"PC-\321.\321/\3210\321\3211\321\3212\3213\3214\3215\3216\3217\3218\322\323\324!!9\325\216r9q\210-\203\340 \326 \210\327-\211A-@!\210eb\210\330p!7\307\211\3317!8@8A\211./\244/0\204i \3320\333\3347\"\321\211:\203\326 :@\335A@\236A\211\203\314 \336\337\"\203\314 -B-):A\211:\204\253 *-\237\211-\204n /\237\321;\211<\203\317<@;\307;8;\340\334;\"\211\203\306\341\342!!@1\335A@\236A\342;!\237\321=>=\204D>\203D\336\343>@\"\2039\344>@!T=>\211A>@\210\202=2*2\203\306\336\345\"\210\344\346\313\"!\2113\f\236\2114\203z4\211?A@)54A2\240\210\202\217\3475321F\fB\310\n\233\f\240\21052U\204\30625Z6*\2116\\\211*S35TFC\24456\\5\311\n\233\240\210\312\n\233*\240\210<A\211<\204\354 .\350\n\233\f\240\210\nA*S\240\210\351 \210.\207" [group nnultimate-groups entry sid topics mapping assoc 2 4 5 6 1 current-time "forumdisplay.cgi?action=topics&number=%d&DaysPrune=" number-to-string nnultimate-prune-days format nil get-buffer-create generate-new-buffer-name " *temp*" ((byte-code "\301!\203\n \302!\210\301\207" [#1=#:temp-buffer buffer-name kill-buffer] 2)) erase-buffer nnweb-insert w3-parse-buffer nnultimate-find-forum-table t nnweb-parse-find-all a href string-match "forumdisplay.*startpoint" nnweb-parse-find last nnweb-text "^[0-9]+$" string-to-number "/\\([0-9]+\\).html" match-string 0 7 nnultimate-write-groups old-total furl nnultimate-address furls contents forum-contents furl-fetched subject garticles topic tinfo old-max inc parse default-enable-multibyte-characters #1# #2=#:--dolist-temp--97327 row #3=#:--dolist-temp--97328 art artlist x] 7])
(defalias 'nnultimate-possibly-change-server #[(&optional group server) "\304!\210\203 \305!\204 \306!\210	?\205! \307 \210\310\n	\"A\211\207" [server nnultimate-groups-alist nnultimate-address nnultimate-groups nnultimate-init nnultimate-server-opened nnultimate-open-server nnultimate-read-groups assoc] 3])
(defalias 'nnultimate-open-server #[(server &optional defs connectionless) "\302 \210\303!\203 \304\207\305	\236\204 \306	\305DC\"\307\310	#\207" [server defs nnheader-init-server-buffer nnultimate-server-opened t nnultimate-address append nnoo-change-server nnultimate] 4])
(nnoo-register-function 'nnultimate-open-server)
(defalias 'nnultimate-read-groups #[nil "\305\306\307	\"\310\n!\205( \305\311\312\313!!\314\216r\fq\210\315\n!\210eb\210\316p!\211,)\207" [nnultimate-groups-alist nnultimate-directory file default-enable-multibyte-characters #1=#:temp-buffer nil expand-file-name "groups" file-exists-p get-buffer-create generate-new-buffer-name " *temp*" ((byte-code "\301!\203\n \302!\210\301\207" [#1# buffer-name kill-buffer] 2)) insert-file-contents read] 3])
(defalias 'nnultimate-write-groups #[nil "\306\307	\"	\"\nB	B\310\311\"\312\313\314!!\315\216r\fq\210\316	p\")r\fq\210~\210\317ed\320\321%\210,\207" [nnultimate-address nnultimate-groups-alist nnultimate-groups nnultimate-directory #1=#:temp-buffer #2=#:temp-file delq assoc expand-file-name "groups" get-buffer-create generate-new-buffer-name " *temp file*" ((byte-code "\301!\203\n \302!\210\301\207" [#1# buffer-name kill-buffer] 2)) prin1 write-region nil 0] 7])
#@30 Initialize buffers and such.
(defalias 'nnultimate-init #[(server) "\301!?\205\n \302!\207" [nnultimate-directory file-exists-p gnus-make-directory] 2 (#$ . 12751)])
(defalias 'nnultimate-generate-active #[nil "\212q\210\305 \210	\306\211\203* @\307\n@!\310\311\n\211A@)!\312\261\210A\211\204 +\306\207" [nntp-server-buffer nnultimate-groups elem #1=#:--dolist-temp--97329 x erase-buffer nil prin1-to-string " " number-to-string " 1 y\n"] 5])
(defalias 'nnultimate-find-forum-table #[(contents) "\300\301\215\207" [found (nnultimate-find-forum-table-1 contents)] 2])
(defalias 'nnultimate-find-forum-table-1 #[(contents) "\303\211\2035 \n@\211;\204. 	@\304=\203\" \305	!\203\" \306\307	\"\210\310	8\203. \311\310	8!\210\nA\211\204 *\303\207" [contents element #1=#:--dolist-temp--97330 nil table nnultimate-forum-table-p throw found 2 nnultimate-find-forum-table-1] 4])
(defalias 'nnultimate-forum-table-p #[(parse) "\304\305\306\307\3108\"\"?\205' \302\311\312\313#A@\236A\314\211\205& \315\n\"\205& \316*\207" [parse case-fold-search href nnultimate-table-regexp apply gnus-or mapcar #[(p) "\301\302\"\207" [p nnweb-parse-find table] 3] 2 nnweb-parse-find a 20 nil string-match t] 7])
(provide 'nnultimate)
