
    Ki                        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
JrJrJrJrJrJrJr  \\\R&                  \   4   r/ SQr " S S\ R,                  S9r " S S\5      r\ " S	 S
\5      5       r " S S\5      rg)    N)AnyBinaryIOIterableIteratorNoReturnLiteralOptionalProtocolTextTextIOUnionoverloadruntime_checkable)ResourceReaderTraversableTraversableResourcesc                       \ rS rSrSr\R                  S\S\4S j5       r	\R                  S\S\4S j5       r
\R                  S\S\4S j5       r\R                  S\\   4S	 j5       rS
rg)r      zDAbstract base class for loaders to provide resource reading support.resourcereturnc                     [         e)zReturn an opened, file-like object for binary reading.

The 'resource' argument is expected to represent only a file name.
If the resource cannot be found, FileNotFoundError is raised.
FileNotFoundErrorselfr   s     Y/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/importlib_resources/abc.pyopen_resourceResourceReader.open_resource   s
          c                     [         e)zReturn the file system path to the specified resource.

The 'resource' argument is expected to represent only a file name.
If the resource does not exist on the file system, raise
FileNotFoundError.
r   r   s     r   resource_pathResourceReader.resource_path)   s
      r   pathc                     [         e)zZReturn True if the named 'path' is a resource.

Files are resources, directories are not.
r   r   r#   s     r   is_resourceResourceReader.is_resource6   s
      r   c                     [         e)z+Return an iterable of entries in `package`.r   r   s    r   contentsResourceReader.contents>   s
      r    N)__name__
__module____qualname____firstlineno____doc__abcabstractmethodr   r   r   r!   boolr&   r   strr*   __static_attributes__r,   r   r   r   r      s    N	 d 	 x 	  	  	
 d 
 t 
  
  	        	 (3-    r   r   )	metaclassc                       \ rS rSrSrg)TraversalErrorD   r,   N)r-   r.   r/   r0   r6   r,   r   r   r9   r9   D   s    r   r9   c                      \ rS rSrSr\R                  S\S    4S j5       rS\	4S jr
 SS\\   S\\   S\4S	 jjr\R                  S\4S
 j5       r\R                  S\4S j5       rS\SS 4S jrS\SS 4S jr\SS\S   S\S\S\4S jj5       r\S\S   S\S\S\4S j5       r\R                   SS\S\S\S\\\4   4S jj5       r\\R                  S\4S j5       5       rSrg)r   H   z
An object with a subset of pathlib.Path methods suitable for
traversing directories and opening files.

Any exceptions that occur when accessing the backing resource
may propagate unaltered.
r   c                     g)z#
Yield Traversable objects in self
Nr,   r)   s    r   iterdirTraversable.iterdirR       r   c                 z    U R                  S5       nUR                  5       sSSS5        $ ! , (       d  f       g= f)z 
Read contents of self as bytes
rbNopenread)r   strms     r   
read_bytesTraversable.read_bytesX   s$     YYt_99; __s   ,
:Nencodingerrorsc                 v    U R                  XS9 nUR                  5       sSSS5        $ ! , (       d  f       g= f)z
Read contents of self as text
)rI   rJ   NrC   )r   rI   rJ   rF   s       r   	read_textTraversable.read_text_   s)     YYY8D99; 988s   *
8c                     g)z$
Return True if self is a directory
Nr,   r)   s    r   is_dirTraversable.is_dirh   r@   r   c                     g)z
Return True if self is a file
Nr,   r)   s    r   is_fileTraversable.is_filen   r@   r   descendantsc                 Z  ^ U(       d  U $ [         R                  R                  S [        [        R
                  U5       5       5      n[        U5      mU4S jU R                  5        5       n [        U5      nUR                  " U6 $ ! [         a    [        ST[        U5      5      ef = f)z
Return Traversable resolved with any descendants applied.

Each descendant should be a path segment relative to self
and each may contain multiple levels separated by
``posixpath.sep`` (``/``).
c              3   8   #    U  H  oR                   v   M     g 7fN)parts).0r#   s     r   	<genexpr>'Traversable.joinpath.<locals>.<genexpr>~   s      .
#J4JJ#J   c              3   J   >#    U  H  oR                   T:X  d  M  Uv   M     g 7frW   name)rY   traversabletargets     r   rZ   r[      s"      
+9K=M=MQW=WKK>s   #	#z"Target not found during traversal.)	itertoolschainfrom_iterablemappathlibPurePosixPathnextr>   StopIterationr9   listjoinpath)r   rT   namesmatchesmatchra   s        @r   rk   Traversable.joinpatht   s     K-- .
#&w'<'<k#J.
 
 e
+/<<>
	ME
 ~~u%%	  	 4fd5k 	s   /B	 	!B*childc                 $    U R                  U5      $ )z"
Return Traversable child in self
)rk   )r   rp   s     r   __truediv__Traversable.__truediv__   s     }}U##r   rmodeargskwargsc                     g rW   r,   r   ru   rv   rw   s       r   rD   Traversable.open   s    SVr   rB   c                     g rW   r,   ry   s       r   rD   rz      s    PSr   c                     g)z
mode may be 'r' or 'rb' to open as text or binary. Return a handle
suitable for reading (same as pathlib.Path.open).

When opening as text, accepts encoding parameters such as those
accepted by io.TextIOWrapper.
Nr,   ry   s       r   rD   rz      r@   r   c                     g)z=
The base name of this object without any parent references.
Nr,   r)   s    r   r_   Traversable.name   r@   r   r,   )NN)rt   )r-   r.   r/   r0   r1   r2   r3   r   r>   bytesrG   r	   r5   rL   r4   rO   rR   StrPathrk   rr   r   r   r   r   rD   r   r   propertyr_   r6   r,   r   r   r   r   H   s    	-0  
E  GK 6>sm	 	  
 	  
&W & &2$ $] $ VVCV3V6V VSSsScShS S		&)	58		vx	 	 	 c   r   r   c                       \ rS rSrSr\R                  SS j5       rS\S\	4S jr
S\S\4S jrS\S\4S	 jrS\\   4S
 jrSrg)r      z=
The required interface for providing traversable
resources.
r   c                     g)z3Return a Traversable object for the loaded package.Nr,   r)   s    r   filesTraversableResources.files   r@   r   r   c                 ^    U R                  5       R                  U5      R                  S5      $ )NrB   )r   rk   rD   r   s     r   r   "TraversableResources.open_resource   s$    zz|$$X.33D99r   c                     [        U5      erW   r   r   s     r   r!   "TraversableResources.resource_path   s    ))r   r#   c                 \    U R                  5       R                  U5      R                  5       $ rW   )r   rk   rR   r%   s     r   r&    TraversableResources.is_resource   s"    zz|$$T*2244r   c                 L    S U R                  5       R                  5        5       $ )Nc              3   8   #    U  H  oR                   v   M     g 7frW   r^   )rY   items     r   rZ   0TraversableResources.contents.<locals>.<genexpr>   s     =&<d		&<r\   )r   r>   r)   s    r   r*   TraversableResources.contents   s    =djjl&:&:&<==r   r,   N)r   r   )r-   r.   r/   r0   r1   r2   r3   r   r   r   r   r   r   r!   r4   r&   r   r5   r*   r6   r,   r   r   r   r      sl    
 	B B:g :( :*c *h *5 5D 5>(3- >r   r   )r2   rb   osrf   typingr   r   r   r   r   r   r	   r
   r   r   r   r   r   r5   PathLiker   __all__ABCMetar   	Exceptionr9   r   r   r,   r   r   <module>r      s    
  	      R[[%%
&
C' s{{ ' T	Y 	 a( a aH>> >r   