
    is,                        S SK r S SKrS SKrS SKrSSKJrJr  SSK	J
r
  SSK7  SSKJr  SSKJr  SSKJr  SS	KJr  SS
KJr  SSKJr  SSKJr  SSK7  SSKJrJr  SSKJr  S/rSr0 SS_SS_SS_SS_SS_SS_SS_SS _S!S"_S#S$_S%S&_S'S(_S)S*_S+S,_S-S._S/S0_r S1 r!\"" S2\\\\#40 5      r$\"" S3\\\RJ                  RL                  RN                  \#40 5      r(S5S4 jr)g)6    N   )registerDateHandler_parse_date)convert_to_utf8)*)_BaseHTMLProcessor)http)mixin)_FeedParserMixin)_LooseFeedParser)_StrictFeedParser)replace_doctype)convert_to_idnmake_safe_absolute_uri)FeedParserDictdrv_libxml2T unknownrss090zRSS 0.90rss091nzRSS 0.91 (Netscape)rss091uzRSS 0.91 (Userland)rss092zRSS 0.92rss093zRSS 0.93rss094zRSS 0.94rss20zRSS 2.0rss10zRSS 1.0rsszRSS (unknown version)atom01zAtom 0.1atom02zAtom 0.2atom03zAtom 0.3atom10zAtom 1.0atomzAtom (unknown version)cdfCDFc           
         [        U S5      (       a  U R                  5       $ [        U [        5      (       a?  [        R
                  R                  U 5      S   S;   a  [        R                  " XX#XEXg5      $  [        U S5       nUR                  5       n	SSS5        U	$ ! , (       d  f       W	$ = f! [        [        [        [        4 a     Of = f[        U [        5      (       d  U R                  S5      $ U $ )a  URL, filename, or string --> stream

This function lets you define parsers that take any input source
(URL, pathname to local or network file, or actual data as a string)
and deal with it in a uniform manner.  Returned object is guaranteed
to have all the basic stdio read methods (read, readline, readlines).
Just .close() the object when you're done with it.

If the etag argument is supplied, it will be used as the value of an
If-None-Match request header.

If the modified argument is supplied, it can be a tuple of 9 integers
(as returned by gmtime() in the standard Python time module) or a date
string in any format supported by feedparser. Regardless, it MUST
be in GMT (Greenwich Mean Time). It will be reformatted into an
RFC 1123-compliant date and used as the value of an If-Modified-Since
request header.

If the agent argument is supplied, it will be used as the value of a
User-Agent request header.

If the referrer argument is supplied, it will be used as the value of a
Referer[sic] request header.

If handlers is supplied, it is a list of handlers used to build a
urllib2 opener.

if request_headers is supplied it is a dictionary of HTTP request headers
that will override the values generated by FeedParser.

:return: A bytes object.
readr   )r	   httpsftpfilefeedrbNutf-8)hasattrr&   
isinstancestrurllibparseurlparser	   getopenIOErrorUnicodeEncodeError	TypeError
ValueErrorbytesencode)
url_file_stream_or_stringetagmodifiedagentreferrerhandlersrequest_headersresultfdatas
             ;/app/mltbenv/lib/python3.13/site-packages/feedparser/api.py_open_resourcerF   L   s    D (&11(--//+S11<<  !:;A>Bjjxx1(^mvv+T2a668D 3  32  'J?  	 /77(//88$$s0   7B0 BB0 
B-(B0 -B0 0CCLooseFeedParserStrictFeedParserc
           
         U(       a  U	b  Uc  SSK n
U(       d  W
R                  nU	c  W
R                  n	Uc  W
R                  n[	        S/ [	        5       0 S9n [        XX#XEXk5      nU(       d  U$ US   R                  U=(       d    0 5        [        US   X5      nUS   =(       a    S=(       d    Sn[        U5      u  US	'   pUS   R                  S
S5      nUR                  SS5      n[        UU5      =(       d    [        U5      =(       d    UnUS   R                  SS5      n[        U[        5      (       a  Ub  UR!                  SS5      n["        (       d  SnU(       Ga&  [%        UUS5      n
Xl        Xl        [*        R,                  R/                  [0        5      nUR3                  [*        R,                  R4                  R6                  S5         UR3                  [*        R,                  R4                  R8                  S5        UR=                  U
5        UR?                  U
5        [*        R,                  R@                  RC                  5       nURE                  [F        RH                  " U5      5         URK                  U5        U(       d;  [Q        UUSU5      n
Xl        Xl        U
RS                  UR!                  SS5      5        W
RT                  US'   U
RV                  US'   US	   =(       d    U
RX                  US	'   U
RZ                  US'   U$ ! [        R                  R                   a   nUR                  SUS.5        Us SnA$ SnAff = f! [*        R,                  R:                   a     GNof = f! [*        R,                  RL                   a*  nSUS'   U
RN                  =(       d    UUS'   Sn SnAGN5SnAff = f)aT  Parse a feed from a URL, file, stream, or string.

:param url_file_stream_or_string:
    File-like object, URL, file path, or string. Both byte and text strings
    are accepted. If necessary, encoding will be derived from the response
    headers or automatically detected.

    Note that strings may trigger network I/O or filesystem access
    depending on the value. Wrap an untrusted string in
    a :class:`io.StringIO` or :class:`io.BytesIO` to avoid this. Do not
    pass untrusted strings to this function.

    When a URL is not passed the feed location to use in relative URL
    resolution should be passed in the ``Content-Location`` response header
    (see ``response_headers`` below).

:param str etag: HTTP ``ETag`` request header.
:param modified: HTTP ``Last-Modified`` request header.
:type modified: :class:`str`, :class:`time.struct_time` 9-tuple, or
    :class:`datetime.datetime`
:param str agent: HTTP ``User-Agent`` request header, which defaults to
    the value of :data:`feedparser.USER_AGENT`.
:param referrer: HTTP ``Referer`` [sic] request header.
:param request_headers:
    A mapping of HTTP header name to HTTP header value to add to the
    request, overriding internally generated values.
:type request_headers: :class:`dict` mapping :class:`str` to :class:`str`
:param response_headers:
    A mapping of HTTP header name to HTTP header value. Multiple values may
    be joined with a comma. If a HTTP request was made, these headers
    override any matching headers in the response. Otherwise this specifies
    the entirety of the response headers.
:type response_headers: :class:`dict` mapping :class:`str` to :class:`str`

:param bool resolve_relative_uris:
    Should feedparser attempt to resolve relative URIs absolute ones within
    HTML content?  Defaults to the value of
    :data:`feedparser.RESOLVE_RELATIVE_URIS`, which is ``True``.
:param bool sanitize_html:
    Should feedparser skip HTML sanitization? Only disable this if you know
    what you are doing!  Defaults to the value of
    :data:`feedparser.SANITIZE_HTML`, which is ``True``.

:return: A :class:`FeedParserDict`.
Nr   F)bozoentriesr*   headersT)rJ   bozo_exceptionrL   encodingversionzcontent-locationr   hrefzcontent-languager,   ignorer   rJ   rM   replacer*   rK   
namespaces).
feedparser
USER_AGENTSANITIZE_HTMLRESOLVE_RELATIVE_URISr   rF   r0   errorURLErrorupdater   r   r3   r   r.   r9   decode_XML_AVAILABLErH   resolve_relative_urissanitize_htmlxmlsaxmake_parserPREFERRED_XML_PARSERS
setFeaturehandlerfeature_namespacesfeature_external_gesSAXNotSupportedExceptionsetContentHandlersetErrorHandler	xmlreaderInputSourcesetByteStreamioBytesIOr1   SAXExceptionexcrG   r*   feeddatarK   rO   namespaces_in_use)r;   r<   r=   r>   r?   r@   rA   response_headersr]   r^   rT   rB   rD   rX   use_strict_parserentities
contentlocrP   baseuribaselang	saxparsersourcees                          rE   r1   r1      sR   ^ M)-B-J%%"00$ * @ @	F7xPXds|  9-346),d;Dz*3t<u(7(=%F9t 	"&&'92>J::fb!D$T:6d:PQ[:\d`dGi $$%7>H(E""x';??7H5>%gxA
+@(#0 GG''(=>	SWW__??C	  !E!EqI 	##J/!!*-""..0RZZ-.	"OOF#
 $WhJ
+@(#0 GY78((F6N"**F9y)?Z-?-?F9%77F<My <<   #
 	 N ww// 		 ww## 	"F6N'1~~':F#$ !	"sH   L 4M :M= M5M
MMM:9M:=OO  O)	NNNNNNNNN)*rm   urllib.errorr0   urllib.parsexml.saxr_   	datetimesr   r   	encodingsr   
exceptionshtmlr   r   r	   r
   r   parsers.looser   parsers.strictr   	sanitizerr   sgmlurlsr   r   utilr   rb   r\   SUPPORTED_VERSIONSrF   typeobjectrG   r`   rd   ContentHandlerrH   r1        rE   <module>r      sk  : 
    7 &  $   # + - &  8   ' 	j $ $	
 j j j Y Y 
" j j j j $  
5! (<%~ ');VD (#''//*H*H&Q }r   