
    01il                    B   S r SSKJr  SSKrSSKrSSKrSSKrSSKJrJ	r	J
r
JrJrJr  SSKJrJrJrJrJrJrJrJrJrJr  SSKJr  SSKJrJr  SSKJr  SSK r!SS	K!J"r"  SS
K#J$r$  SSK%J&r&  SSK'J(r(  \(       a  SSK)J*r*  SSKJ+r+  SSK,J-r-  SSK.J/r/  SSK0J1r1  / SQr2 " S S5      r3 " S S\5      r4 " S S\Rj                  5      r5 " S S\55      r6 " S S\55      r7SS\"-  0r8 " S S \55      r9 " S! S"\55      r:      S%             S&S# jjr;          S'S$ jr<g)(a;  Parser plugin interface.

This module defines the parser plugin interface and contains other
related parser support code.

The module is mainly useful for those wanting to write a parser that
can plugin to rdflib. If you are wanting to invoke a parser you likely
want to do so through the Graph class parse method.
    )annotationsN)BufferedIOBaseBytesIO	RawIOBaseStringIO
TextIOBaseTextIOWrapper)
IOTYPE_CHECKINGAnyBinaryIOListOptionalTextIOTupleUnioncast)urljoin)Requesturl2pathname)	xmlreader)__version__)_urlopen)	Namespace)URIRef)Message)BufferedReader)
addinfourl)Buffer)Graph)ParserInputSourceStringInputSourceURLInputSourceFileInputSourcePythonInputSourcec                  (    \ rS rSrSrS rSS jrSrg)r!   <    c                    g Nr)   selfs    G/home/james-whalen/.local/lib/python3.13/site-packages/rdflib/parser.py__init__Parser.__init__?           c                    g r+   r)   )r-   sourcesinks      r.   parseParser.parseB   r1   r2   N)r4   r"   r5   r    returnNone)__name__
__module____qualname____firstlineno__	__slots__r/   r6   __static_attributes__r)   r2   r.   r!   r!   <   s    Ir2   r!   c                    ^  \ rS rSrSrSSU 4S jjjrS rS rS r\	SS j5       r
\	SS j5       rSS	 jrSS
 jrSSS jjrSS jrS S jrS rS rS!S"S jjrS!S"S jjrS!S"S jjrS#S jrS#S jrS$S%S jjrS rS S jrS rSrU =r$ )&BytesIOWrapperF   )wrappedenc_strtext_strencodingencoder	has_read1has_seek_name_fileno_isatty	_leftover_bytes_per_char_text_bytes_offsetc                `  > [         [        U ]  5         Xl        X l        [
        R                  " U R                  5      U l        S U l        S U l	        S U l
        S U l        S U l        S U l        S U l        SU l        SU l        UR#                  5       R%                  SS5      nUS;   a  SU l        g US;   a  SU l        g UR)                  S5      (       d  UR)                  S	5      (       a  S
U l        g UR)                  S5      (       d  UR)                  S5      (       a  SU l        g S
U l        g )Nr2   r   _-)utf-8utf8u8cp65001   )latin1zlatin-1z
iso-8859-1z	iso8859-1asciizus-asciizutf-16utf16   zutf-32utf32   )superrA   r/   rC   rF   codecs
getencoderrG   rD   rE   rH   rI   rJ   rK   rL   rM   rO   lowerreplacerN   
startswith)r-   rC   rF   norm_encoding	__class__s       r.   r/   BytesIOWrapper.__init__W   s   nd,. ((7AE?C)-(,$(
<@=A #'( (00c:>>()D  
 
 $%D %%h//=3K3KG3T3T#$D %%h//=3K3KG3T3T#$D  $%D r2   c                F   S n[        U R                  [        5      (       a0  U R                  U R                  5      u  p#[	        U5      U l        SnO[        U R                  [        5      (       aL  U R                  R                  n[        U[        5      (       a  [        S5      e[        [        U5      U l        O6[        U R                  [        [        45      (       a  U R                  U l        U R
                  b  U R
                  nO%U R                  b  U R                  nO[        S5      eUc   UR                  n[#        US5      U l         UR'                  5       U l        Xl        g ! [          a    Sn N<f = f! [          a    [#        US5      U l         N6f = f)NstringzYBytesIOWrapper cannot be wrapped in TextIOWrapper, then wrapped in another BytesIOWrapperzNo stream to read fromstreamread1seek)
isinstancerC   strrG   r   rD   r	   bufferrA   	Exceptionr   r   r   r   rE   nameAttributeErrorhasattrrH   seekablerI   rJ   )r-   rp   bbleninner
use_streams         r.   _initBytesIOWrapper._init}   sQ   "dllC((ll4<<0GA"1:DLDm44LL''E%00= 
  $NE:z8&<== LLDM<<#J]]&J455< ! !W5	8&//1DM 
 "   
  	8#J7DM	8s$   6E0 F 0E?>E?F F c                H   U R                   c  U R                  c  U R                  5         U R                   b  U R                   nOU R                  b  U R                  n WR                  5       U l        g ! [
         a  nX l         S nAg S nAf[         a
    SU l         g f = fN)rD   rE   rx   filenorK   OSErrorrq   r-   rw   es      r.   _check_filenoBytesIOWrapper._check_fileno   s    <<DMM$9JJL<<#J]]&J	%,,.DL 	LL 	DL	   A5 5
B!?B

B! B!c                H   U R                   c  U R                  c  U R                  5         U R                   b  U R                   nOU R                  b  U R                  n WR                  5       U l        g ! [
         a  nX l         S nAg S nAf[         a
    SU l         g f = fNF)rD   rE   rx   isattyrL   r~   rq   r   s      r.   _check_isattyBytesIOWrapper._check_isatty   s    <<DMM$9JJL<<#J]]&J	!%,,.DL 	LL 	! DL	!r   c                T    U R                   c  U R                  5         U R                   $ r+   )rJ   rx   r,   s    r.   rp   BytesIOWrapper.name   s    ::JJLzzr2   c                $   U R                   c  U R                  c  gS nU R                   b   U R                   R                  nO$U R                  b   U R                  R                  nUc  S$ U$ ! [         a    S n Nf = f! [         a    S n N'f = fr   )rD   rE   closedrq   )r-   r   s     r.   r   BytesIOWrapper.closed   s    <<DMM$9!%<<#,, ]]&-- u2F2 " 
 " s#   A. B  .A=<A= BBc                    g)NTr)   r,   s    r.   readableBytesIOWrapper.readable   s    r2   c                    gr   r)   r,   s    r.   writableBytesIOWrapper.writable   s    r2   c                    [        S5      e)Nz!Cannot truncate on BytesIOWrapperNotImplementedErrorr-   sizes     r.   truncateBytesIOWrapper.truncate   s    !"EFFr2   c                    U R                   c  U R                  5         [        U R                   [        5      (       a  U R                   e[	        U R                   5      $ r+   )rL   r   rl   BaseExceptionboolr,   s    r.   r   BytesIOWrapper.isatty   sB    << dllM22,,%%r2   c                    U R                   c  U R                  5         [        U R                   [        5      (       a  U R                   eU R                   c  S$ U R                   $ r{   )rK   r   rl   r   r,   s    r.   r}   BytesIOWrapper.fileno   sK    << dllM22,,-2?4<<?r2   c                   U R                   c  U R                  c  g U R                   b   U R                   R                  5         g U R                  b   U R                  R                  5         g g ! [         a     g f = f! [         a     g f = fr+   )rD   rE   closerq   r,   s    r.   r   BytesIOWrapper.close   s    <<DMM$9<<#""$ ]]&##% ' " 
 " s#   A/ A? /
A<;A<?
BBc                    g r+   r)   r,   s    r.   flushBytesIOWrapper.flush   s    r2   c                  [         (       a  U R                  c   eUb  US:  a[   U R                  R                  5       nU R	                  U5      u  p4U R
                  (       a  U R
                  U-   nSU l        GO3UnGO/U[        U R
                  5      :X  a  U R
                  nSU l        GOU[        U R
                  5      :  a$  U R
                  S U nU R
                  US  U l        O[        XR                  5      u  pg[        U5      US:  a  SOS-   nU R
                  n	[        U	5      U:  aT   U R                  R                  U5      n
[        U
5      S:  a  O(U R	                  U
5      u  p4X-  n	[        U	5      U:  a  MT  [        U	5      U:X  a
  SU l        U	nOU	S U nXS  U l        A	U =R                  [        U5      -  sl
        U$ ! [         a    Sn GNf = f! [         a    Sn
 Nf = f)Nr    r2   rW   )r   rE   readEOFErrorrG   rM   lendivmodrN   intrO   )r-   r   ret_strret_encodedenc_len	ret_bytesdmget_per_loop	got_bytesgot_strs              r.   _read_bytes_from_text_stream+BytesIOWrapper._read_bytes_from_text_stream  s   ===,,,<4!8#}}113 $(<<#8 K~~ NN[8	!$'	S((I DNC''u-I!^^DE2DN$ 4 45DAq6!a%QQ7L#~~Ii.4'!#'==#5#5l#CG w<!#'+||G'<$(	 i.4' 9~%!$%	%et,	!*5!13y>1G  *   ! G!s#   G 3G! GG!G0/G0c                   Ub  US:X  a  gU R                   c  U R                  c  U R                  5         U R                   b  U R                   R                  U5      nU$ U R	                  U5      nU$ )z
Read at most size bytes, returned as a bytes object.

If the size argument is negative or omitted read until EOF is reached.
Return an empty bytes object if already at EOF.
r   r2   )rD   rE   rx   r   r   )r-   r   r   s      r.   r   BytesIOWrapper.read,  sm     	<<DMM$9JJL<<#))$/I  99$?Ir2   c               R   U R                   c  U R                  b  U R                  c  U R                  5         U R                  (       d
  [	        5       eU R                   b>  Ub  US:  a  U R                   R                  5       $ U R                   R                  U5      $ [	        S5      e)u   
Read at most size bytes, with at most one call to the underlying raw stream’s
read() or readinto() method. Returned as a bytes object.

If the size argument is negative or omitted, read until EOF is reached.
Return an empty bytes object at EOF.
r   z2read1() not supported for TextIO in BytesIOWrapper)rD   rE   rH   rx   r   rj   r   s     r.   rj   BytesIOWrapper.read1=  s     LL T]]%:t~~?UJJL~~%''<<#|tax||))++<<%%d++!"VWWr2   c               ~   [         (       a  [        U[        [        45      (       d   e[	        U5      S:X  a  gU R
                  c  U R                  c  U R                  5         U R
                  b  U R
                  R                  U5      $ [	        U5      nU R                  U5      n[	        U5      nUS:X  a  gX1SU& U$ )z
Read len(b) bytes into buffer b.

Returns number of bytes read (0 for EOF), or error if the object
is set not to block and has no data to read.
r   N)
r   rl   
memoryview	bytearrayr   rD   rE   rx   readintor   )r-   rt   r   	read_dataread_lens        r.   r   BytesIOWrapper.readintoO  s     =a*i!89999q6Q;<<DMM$9JJL<<#<<((++q6D#@@FI9~H1}$ixLOr2   c               \   [         (       a  [        U[        [        45      (       d   eU R                  c  U R
                  b  U R                  c  U R                  5         U R                  (       d
  [        5       eU R                  b  U R                  R                  U5      $ [        S5      e)z
Read len(b) bytes into buffer b, with at most one call to the underlying raw
stream's read() or readinto() method.

Returns number of bytes read (0 for EOF), or error if the object
is set not to block and has no data to read.
z6readinto1() not supported for TextIO in BytesIOWrapper)
r   rl   r   r   rD   rE   rH   rx   r   	readinto1r-   rt   s     r.   r   BytesIOWrapper.readinto1g  s     =a*i!89999LL T]]%:t~~?UJJL~~%''<<#<<))!,,!D
 	
r2   c                  U R                   b  U R                   (       d
  [        5       eU R                  c  U R                  b  U R                   c  U R	                  5         US:X  d  [        S5      eUS:w  a  [        S5      eU R                  b  U R                  R                  X5        O(U R                  b  U R                  R                  X5        SU l        SU l        g)Nr   z,Only SEEK_SET is supported on BytesIOWrapperz3Only seeking to zero is supported on BytesIOWrapperr2   )rI   r   rD   rE   rx   rk   rO   rM   )r-   offsetwhences      r.   rk   BytesIOWrapper.seek{  s    ==$T]]%''LL T]]%:t}}?TJJL{%&TUUQ;%E  <<#LLf-]]&MMv."#r2   c                    U R                   c  U R                  b  U R                  c  U R                  5         U R                  $ r+   )rD   rE   rI   rx   r,   s    r.   rs   BytesIOWrapper.seekable  s1    LL T]]%:t}}?TJJL}}r2   c                   U R                   b  U R                   (       d  [        S5      eU R                  b,   U R                  R                  5       U l        U R                  $ U R                  $ ! [
         a     U R                  $ f = f)Nz/Cannot tell() pos because file is not seekable.)rI   r   rD   tellrO   rq   r,   s    r.   r   BytesIOWrapper.tell  s{    ==$T]]%&WXX<<#*.,,*;*;*=' &&&t&&& " &&&s   A/ /
BBc                   [        S5      e)Nz Cannot write to a BytesIOWrapperr   r   s     r.   writeBytesIOWrapper.write  s    !"DEEr2   )rN   rK   rL   rM   rJ   rO   rD   rG   rF   rH   rI   rE   rC   )rS   )rC   z Union[str, StringIO, TextIOBase])r8   r   )r8   r   r+   )r   Optional[int]r8   r   )r8   r   )r|   )r   r   r8   bytes)rt   r   r8   r   )r   )r   r   r   r   r8   r   )r:   r;   r<   r=   r>   r/   rx   r   r   propertyrp   r   r   r   r   r   r}   r   r   r   r   rj   r   r   rk   rs   r   r   r?   __classcell__re   s   @r.   rA   rA   F   s    I $% $%L#J!  
 3 3 G&@)V"X$0
((
'F Fr2   rA   c                  0    \ rS rSrSrSSS jjrS	S jrSrg)
r"   i  z
TODO:
Nc                Z    [         R                  R                  XS9  S U l        SU l        g )N	system_idF)r   r"   r/   content_type
auto_closer-   r   s     r.   r/   InputSource.__init__  s(    &&t&A+/r2   c                ,   U R                  5       nU(       a"  [        US5      (       a   UR                  5         U R	                  5       nU(       a$  [        US5      (       a   UR                  5         g g g ! [         a     NHf = f! [         a     g f = f)Nr   )getCharacterStreamrr   r   ro   getByteStream)r-   cfs      r.   r   InputSource.close  s    ##%G$$	  G$$	 %1    s#   A6 #B 6
BB
BB)r   r   r+   )r   Optional[str]r8   r9   )r:   r;   r<   r=   __doc__r/   r   r?   r)   r2   r.   r"   r"     s     
r2   r"   c                  X    \ rS rSrSrSSS jjrSS jrSS jrSS jrSS jr	SS	 jr
S
rg)r&   i  a  
Constructs an RDFLib Parser InputSource from a Python data structure,
for example, loaded from JSON with json.load or json.loads:

>>> import json
>>> as_string = """{
...   "@context" : {"ex" : "http://example.com/ns#"},
...   "@graph": [{"@type": "ex:item", "@id": "#example"}]
... }"""
>>> as_python = json.loads(as_string)
>>> source = create_input_source(data=as_python)
>>> isinstance(source, PythonInputSource)
True
Nc                F    S U l         SU l        S U l        X l        Xl        g r   )r   r   	public_idr   data)r-   r   r   s      r.   r/   PythonInputSource.__init__  s"     (,(1	r2   c                    U R                   $ r+   r   r,   s    r.   getPublicIdPythonInputSource.getPublicId      ~~r2   c                    Xl         g r+   r   )r-   r   s     r.   setPublicIdPythonInputSource.setPublicId      "r2   c                    U R                   $ r+   r   r,   s    r.   getSystemIdPythonInputSource.getSystemId  r   r2   c                    Xl         g r+   r   r   s     r.   setSystemIdPythonInputSource.setSystemId  r   r2   c                    S U l         g r+   )r   r,   s    r.   r   PythonInputSource.close  s	    	r2   )r   r   r   r   r   r+   )r   r   r   r   )r8   r   )r   r   r8   r9   )r   r   r8   r9   r   )r:   r;   r<   r=   r   r/   r   r   r   r   r   r?   r)   r2   r.   r&   r&     s%    ##r2   r&   c                  B   ^  \ rS rSrSr  S     SU 4S jjjrSrU =r$ )r#   i  zG
Constructs an RDFLib Parser InputSource from a Python String or Bytes
c                  > [         [        U ]  U5        [        U[        5      (       aJ  [        U5      nU R                  U5        U R                  U5        [        X5      nU R                  U5        g [        U5      nU R                  U5        [        XB5      nU R                  U5        U R                  UR                  5        g r+   )r^   r#   r/   rl   rm   r   setCharacterStreamsetEncodingrA   setByteStreamr   r	   rF   )r-   valuerF   r   ri   b_streamc_streamre   s          r.   r/   StringInputSource.__init__  s     	/	:eS!!e_F##F+X&%e6Hx(U^Fv&$V6H##H-X../r2   r)   )rS   N)r  zUnion[str, bytes]rF   rm   r   r   )r:   r;   r<   r=   r   r/   r?   r   r   s   @r.   r#   r#     s6      #'	0 0 0 !	0 0r2   r#   z
User-agentz8rdflib-%s (https://rdflib.github.io/; eikeon@eikeon.com)c                     ^  \ rS rSr% SrS\S'   \SS j5       r\SS j5       rSSS jjr	SSU 4S jjjr
SS	 jrS
rU =r$ )r$   i  zM
Constructs an RDFLib Parser InputSource from a URL to read it from the Web.
	List[str]linksc                    UR                  5       nUR                  5        VVs/ s H  u  p4UR                  5       U:X  d  M  UPM     snn$ s  snnf r+   )ra   items)clsmessagerp   keyvals        r.   getallmatchingheaders$URLInputSource.getallmatchingheaders
  s<     zz|$+MMOKOsyy{d7JOKKKs   AAc                    U R                  UR                  S5      n/ nU HK  nUR                  S5       Vs/ s H  oUR                  5       PM     nnU H  nUR	                  U5        M     MM     U$ s  snf )NLink,)r  headerssplitstripappend)r  response
linkslinesretarray	linkslinelinkstrr  links           r.   	get_linksURLInputSource.get_links  so    ..x/?/?H
 #I4=OOC4HI4H]]_4HEI%  $  Js   A2c                r   U(       a  SU S3OS nSn/ nU R                    H  nUR                  S5       Vs/ s H  ofR                  5       PM     nnX7;  a  M8  U(       a,  X';   a%  UR                  US   R                  S5      5        Mi  Mk  UR                  US   R                  S5      5        M     U$ s  snf )Nztype=""zrel="alternate";r   z<>)r  r  r  r  )r-   type_typestrrelstraltsr   ppartss           r.   get_alternatesURLInputSource.get_alternates  s    6;6%!2"JJD(,

381WWYE8"#KKat 45 $ E!HNN401   9s   B4c                h  > [         [        U ]  U5        Xl        [	        [
        5      nUS:X  a  SUS'   OUS:X  a  SUS'   OUS;   a  SUS'   OUS:X  a  S	US'   OUS
:X  a  SUS'   OtUS:X  a  SUS'   OhUS:X  a  SUS'   O\SSKJn  SSKJ	n  / nU" US9 H0  nSUR                  ;   d  M  UR                  UR                  5        M2     SR                  U5      US'   [        US U5      n[        U5      n	U	R                  5       U l        U R!                  U	5      U l        US;   ao  U R%                  SS9n
U
 HZ  n['        U R                  U5      nXR                  :w  d  M*  X:w  d  M1  [        [        U5      5      n	U	R                  5       U l          O   U R)                  U R                  5        U R+                  U	R
                  S5      nU(       a  US   OS U l        U R,                  b$  U R,                  R/                  SS5      S   U l        U R1                  U	5        U	R3                  5       U l        g )Nxmlzapplication/rdf+xml, */*;q=0.1Acceptn3ztext/n3, */*;q=0.1)turtlettlz,text/turtle, application/x-turtle, */*;q=0.1ntztext/plain, */*;q=0.1trigzapplication/trig, */*;q=0.1trixzapplication/trix, */*;q=0.1json-ldz6application/ld+json, application/json;q=0.9, */*;q=0.1r   )r!   )plugins)kind/z, )r7  application/ld+jsonr;  )r&  zcontent-typer%  rW   )r^   r$   r/   urldictr  rdflib.parserr!   rdflib.pluginr8  rp   r  joinr   r   geturlr!  r  r,  r   r   r  r   r  r  inforesponse_info)r-   r   format	myheadersr!   r8  accr*  reqr  r)  r   	full_linkcontent_typesre   s                 r.   r/   URLInputSource.__init__*  s   nd,Y7 M	U?"BIht^"6Ih(("PIht^"9Ihv"?Ihv"?Ihy H h --C&)!&&=JJqvv& * #'))C.Ihiy1'}??$^^H-
77&&-B&CD#DHHd3	(Y-C'	(:;H'0DH  	"2283C3C^T0=M!,4( $ 1 1 7 7Q ? BD8$%]]_r2   c                    U R                   $ r+   )r<  r,   s    r.   __repr__URLInputSource.__repr__d  s    xxr2   )r   r  rC  r<  )r  r   r8   r
  )r  r   r8   r
  r+   )r&  r   r8   r
  )NN)r   r   rD  r   r8   rm   )r:   r;   r<   r=   r   __annotations__classmethodr  r!  r,  r/   rL  r?   r   r   s   @r.   r$   r$     sR     L L  8- 8-t r2   r$   c                  B   ^  \ rS rSr S   SU 4S jjjrSS jrSrU =r$ )r%   ii  c                 > [         R                  R                  5       R                  5       n[	        [         R                  " UR
                  5      R                  5       R                  5       US9n[        [        U ]'  U5        Xl
        [        U[        5      (       aK  U R                  U5        U R                  UR                  5         UR                   nU R#                  U5        g [*        (       a  [        U[,        5      (       d   eU R#                  U5        Ub*  U R                  U5        U R                  [/        XS95        g g ! [$        [&        4 a%    U R#                  [)        XR                  S95         g f = f)Nbase)rF   )pathlibPathcwdas_urir   rp   absoluter^   r%   r/   filerl   r   r  r  rF   rn   r  rq   LookupErrorrA   r   r   r	   )r-   rZ  rF   rT  r   rt   re   s         r.   r/   FileInputSource.__init__j  s,    ||!((*7<<		2;;=DDFTR	ot-i8	dJ''##D)T]]+QKK""1% }!$7777t$#  *''d(NO  #K0 Q"">$#OPQs   E 2F Fc                ,    [        U R                  5      $ r+   )reprrZ  r,   s    r.   rL  FileInputSource.__repr__  s    DIIr2   )rZ  r+   )rF   r   rZ  z>Union[BinaryIO, TextIO, TextIOBase, RawIOBase, BufferedIOBase]rN  )r:   r;   r<   r=   r/   rL  r?   r   r   s   @r.   r%   r%   i  s.    
 #'	  	L < r2   r%   c           	        [        [        S XX4/5      5      n[        U5      S:w  a  [        S5      eSnU Gb  [        (       a  Ub   eUb   eUb   e[        U [        5      (       a  U nGOl[        U [        5      (       a  U nGOS[        U [        R                  5      (       a  [        U 5      nGO'[        U [        5      (       a  U nGO[        U S5      (       a  [        U [        5      (       d  U n[        5       n[        U S5      (       aK  UR                  U 5        UR                  U R                  5         U R                   n	UR#                  U	5        OUR#                  U5        U[(        R*                  L a  UR-                  S5        OJ[        US5      (       a  UR-                  UR.                  5        O[1        S	[3        U 5      < S
U < S35      eSn
SnUb+  [        (       a  Ub   eUb   eU b   e[5        UUUUS9u  n
nnnUb%  [        (       a  Ub   eUb   eU b   e[7        U5      nUb  [        (       a  Ub   eUb   eU b   e[        U[8        5      (       a  [;        U5      nSnOE[        U[        [        [<        45      (       a  [?        U5      nSnO[A        S[3        U5       35      eUc  [1        S5      eU=RB                  U-  sl!        Ub  URE                  U5        U$ URG                  5       c  URE                  U
=(       d    S5        U$ ! [$        [&        4 a    UR#                  U 5         GNf = f)zF
Return an appropriate InputSource instance for the given
parameters.
c                
    U S L$ r+   r)   )vs    r.   <lambda>%create_input_source.<locals>.<lambda>  s    atmr2   rW   z;exactly one of source, location, file or data must be givenNr   rF   zfile:///dev/stdinrp   zUnexpected type 'z' for source ''F)rZ  rD  input_sourcelocationTz(parse data can only str, or bytes. not: zcould not create InputSourcer   )$listfilterr   
ValueErrorr   rl   r"   rm   rU  PurePathr   rr   r   r  r  rF   rn   r  rq   r[  sysstdinr   rp   ro   type"_create_input_source_from_locationr%   r=  r&   r   r#   RuntimeErrorr   r   r   )r4   publicIDrg  rZ  r   rD  non_empty_argumentsrf  r   rt   absolute_locationr   s               r.   create_input_sourcert    s;     #t*	
 1$I
 	
 L=<<<<###fk**!L&#&&!FG$4$455v;FE**((FI1N1N*}6:.. 33F; ,,V__=;"MM$2215 !..q1		> ,,-@AQ'' ,,QVV4>B6lFS  J=<<<<>!> /%	
	
 =###<<>!>&t,=###<<>!>dD!!,T2LJsE9566,T2LJ!I$t*VWW677:-$$X.  %%'/$$%6%<"=A +K8 ;$226:;s   :L !MMc                   [         R                  R                  U5      (       a2  [        R                  " U5      R                  5       R                  5       n[        R                  R                  5       R                  5       n[        [        R                  R                  U5      US9nUR                  S5      (       a(  [        UR                  SS5      5      n[        US5      n O[!        XQ5      nSnXWX4$ )NrS  zfile:///r:  rbT)ospathexistsrU  rV  rY  rX  rW  r   rdflibutil_iri2urirc   r   rb   openr$   )rZ  rD  rf  rg  rT  rs  filenamer   s           r.   ro  ro    s     
ww~~h<<)224;;=<<$$&Dv{{33H=DI##J// 1 9 9*c JKHd#%&7@J $<<r2   )NNNNNN)r4   zMOptional[Union[IO[bytes], TextIO, InputSource, str, bytes, pathlib.PurePath]]rq  r   rg  r   rZ  !Optional[Union[BinaryIO, TextIO]]r   z!Optional[Union[str, bytes, dict]]rD  r   r8   r"   )
rZ  r  rD  r   rf  zOptional[InputSource]rg  rm   r8   zMTuple[URIRef, bool, Optional[Union[BinaryIO, TextIO]], Optional[InputSource]])=r   
__future__r   r_   rw  rU  rl  ior   r   r   r   r   r	   typingr
   r   r   r   r   r   r   r   r   r   urllib.parser   urllib.requestr   r   xml.saxr   rdflib.utilrz  r   rdflib._networkingr   rdflib.namespacer   rdflib.termr   email.messager   r   urllib.responser   typing_extensionsr   rdflib.graphr    __all__r!   rA   r"   r&   r#   r  r$   r%   rt  ro  r)   r2   r.   <module>r     sx   #  	  
 V V   ! 0    ' & %!*(" YF^ YFx
)'' 2$ $N0 08 Lc[ cL k  L 	"".2.2 uu 	u
 u ,u ,u u up=
+== (= 	=
 S=r2   