<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

7Re$  c               @   s  d  d l  m Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l	 Z	 d  d l
 Z
 d d l m Z d d l m Z m Z m Z m Z e j e  Z d a Gd d   d e  Z Gd d	   d	 e  Z Gd
 d   d e  Z Gd d   d e  Z Gd d   d e  Z Gd d   d e  Z i e e d  6e e
 j 6Z  y* d  d l! Z! e e  e! j" <e e  e! j# <Wn e$ e% f k
 rYn Xd d   Z& i  Z' d d   Z( e	 j) e* d   Z+ d d   Z, d S(   i    (   u   unicode_literalsNi   (   u   DistlibException(   u   cached_propertyu   get_cache_baseu   path_to_cache_diru   Cachec                sA   |  Ee  Z d  Z d   f d d  Z d d   Z d d   Z   S(   u   ResourceCachec                sG   | d  k r- t j j t   t d   } n  t t |   j |  d  S(   Nu   resource-cache(	   u   Noneu   osu   pathu   joinu   get_cache_baseu   stru   superu   ResourceCacheu   __init__(   u   selfu   base(   u	   __class__(    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   __init__   s    !u   ResourceCache.__init__c             C   s   d S(   u   
        Is the cache stale for the given resource?

        :param resource: The :class:`Resource` being cached.
        :param path: The path of the resource in the cache.
        :return: True if the cache is stale.
        T(   u   True(   u   selfu   resourceu   path(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   is_stale#   s    	u   ResourceCache.is_stalec          	   C   s   | j  j |  \ } } | d k r- | } n t j j |  j |  j |  |  } t j j |  } t j j	 |  s t j
 |  n  t j j |  s d } n |  j | |  } | r t | d   } | j | j  Wd QXn  | S(   u   
        Get a resource into the cache,

        :param resource: A :class:`Resource` instance.
        :return: The pathname of the resource in the cache.
        u   wbNT(   u   finderu   get_cache_infou   Noneu   osu   pathu   joinu   baseu   prefix_to_diru   dirnameu   isdiru   makedirsu   existsu   Trueu   is_staleu   openu   writeu   bytes(   u   selfu   resourceu   prefixu   pathu   resultu   dirnameu   staleu   f(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   get.   s    	$	u   ResourceCache.getN(   u   __name__u
   __module__u   __qualname__u   Noneu   __init__u   is_staleu   get(   u
   __locals__(    (   u	   __class__u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   ResourceCache   s   u   ResourceCachec             B   s    |  Ee  Z d  Z d d   Z d S(   u   ResourceBasec             C   s   | |  _  | |  _ d  S(   N(   u   finderu   name(   u   selfu   finderu   name(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   __init__I   s    	u   ResourceBase.__init__N(   u   __name__u
   __module__u   __qualname__u   __init__(   u
   __locals__(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   ResourceBaseH   s   u   ResourceBasec             B   sb   |  Ee  Z d  Z d Z d Z d d   Z e d d    Z e d d    Z	 e d d	    Z
 d
 S(   u   Resourceu   
    A class representing an in-package resource, such as a data file. This is
    not normally instantiated by user code, but rather by a
    :class:`ResourceFinder` which manages the resource.
    c             C   s   |  j  j |   S(   u   
        Get the resource as a stream.

        This is not a property to make it obvious that it returns a new stream
        each time.
        (   u   finderu
   get_stream(   u   self(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu	   as_streamV   s    u   Resource.as_streamc             C   s%   t  d  k r t   a  n  t  j |   S(   N(   u   cacheu   Noneu   ResourceCacheu   get(   u   self(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu	   file_path_   s    u   Resource.file_pathc             C   s   |  j  j |   S(   N(   u   finderu	   get_bytes(   u   self(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   bytesf   s    u   Resource.bytesc             C   s   |  j  j |   S(   N(   u   finderu   get_size(   u   self(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   sizej   s    u   Resource.sizeNF(   u   __name__u
   __module__u   __qualname__u   __doc__u   Falseu   is_containeru	   as_streamu   cached_propertyu	   file_pathu   bytesu   size(   u
   __locals__(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   ResourceN   s   	u   Resourcec             B   s,   |  Ee  Z d  Z d Z e d d    Z d S(   u   ResourceContainerc             C   s   |  j  j |   S(   N(   u   finderu   get_resources(   u   self(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu	   resourcesr   s    u   ResourceContainer.resourcesNT(   u   __name__u
   __module__u   __qualname__u   Trueu   is_containeru   cached_propertyu	   resources(   u
   __locals__(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   ResourceContainero   s   u   ResourceContainerc             B   s   |  Ee  Z d  Z d Z d d   Z d d   Z d d   Z d d	   Z d
 d   Z d d   Z	 d d   Z
 d d   Z d d   Z d d   Z d d   Z e e j j  Z d S(   u   ResourceFinderu4   
    Resource finder for file system resources.
    c             C   sC   | |  _  t | d d   |  _ t j j t | d d   |  _ d  S(   Nu
   __loader__u   __file__u    (   u   moduleu   getattru   Noneu   loaderu   osu   pathu   dirnameu   base(   u   selfu   module(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   __init__{   s    	u   ResourceFinder.__init__c             C   s   t  j j |  S(   N(   u   osu   pathu   realpath(   u   selfu   path(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   _adjust_path   s    u   ResourceFinder._adjust_pathc             C   sA   | j  d  } | j d |  j  t j j |   } |  j |  S(   Nu   /i    (   u   splitu   insertu   baseu   osu   pathu   joinu   _adjust_path(   u   selfu   resource_nameu   partsu   result(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu
   _make_path   s    u   ResourceFinder._make_pathc             C   s   t  j j |  S(   N(   u   osu   pathu   exists(   u   selfu   path(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   _find   s    u   ResourceFinder._findc             C   s   d  | j f S(   N(   u   Noneu   path(   u   selfu   resource(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   get_cache_info   s    u   ResourceFinder.get_cache_infoc             C   sd   |  j  |  } |  j |  s' d  } n9 |  j |  rH t |  |  } n t |  |  } | | _ | S(   N(   u
   _make_pathu   _findu   Noneu   _is_directoryu   ResourceContaineru   Resourceu   path(   u   selfu   resource_nameu   pathu   result(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   find   s    		u   ResourceFinder.findc             C   s   t  | j d  S(   Nu   rb(   u   openu   path(   u   selfu   resource(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu
   get_stream   s    u   ResourceFinder.get_streamc             C   s)   t  | j d   } | j   SWd  QXd  S(   Nu   rb(   u   openu   pathu   read(   u   selfu   resourceu   f(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu	   get_bytes   s    u   ResourceFinder.get_bytesc             C   s   t  j j | j  S(   N(   u   osu   pathu   getsize(   u   selfu   resource(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   get_size   s    u   ResourceFinder.get_sizec                s5   d d     t    f d d   t j | j  D  S(   Nc             S   s   |  d k o |  j  d  S(   Nu   __pycache__u   .pycu   .pyo(   u   .pycu   .pyo(   u   endswith(   u   f(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   allowed   s    u-   ResourceFinder.get_resources.<locals>.allowedc                s"   g  |  ] }   |  r |  q S(    (    (   u   .0u   f(   u   allowed(    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu
   <listcomp>   s   	 u0   ResourceFinder.get_resources.<locals>.<listcomp>(   u   setu   osu   listdiru   path(   u   selfu   resource(    (   u   allowedu6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   get_resources   s    u   ResourceFinder.get_resourcesc             C   s   |  j  | j  S(   N(   u   _is_directoryu   path(   u   selfu   resource(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   is_container   s    u   ResourceFinder.is_containerN(   u   __name__u
   __module__u   __qualname__u   __doc__u   __init__u   _adjust_pathu
   _make_pathu   _findu   get_cache_infou   findu
   get_streamu	   get_bytesu   get_sizeu   get_resourcesu   is_containeru   staticmethodu   osu   pathu   isdiru   _is_directory(   u
   __locals__(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   ResourceFinderw   s   u   ResourceFinderc                s   |  Ee  Z d  Z d Z   f d d   Z d d   Z d d   Z d d	   Z d
 d   Z d d   Z	 d d   Z
 d d   Z d d   Z   S(   u   ZipResourceFinderu6   
    Resource finder for resources in .zip files.
    c                s   t  t |   j |  |  j j } d t |  |  _ t |  j d  rY |  j j |  _ n t	 j
 | |  _ t |  j  |  _ d  S(   Ni   u   _files(   u   superu   ZipResourceFinderu   __init__u   loaderu   archiveu   lenu
   prefix_lenu   hasattru   _filesu	   zipimportu   _zip_directory_cacheu   sortedu   index(   u   selfu   moduleu   archive(   u	   __class__(    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   __init__   s    u   ZipResourceFinder.__init__c             C   s   | S(   N(    (   u   selfu   path(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   _adjust_path   s    u   ZipResourceFinder._adjust_pathc             C   s   | |  j  d   } | |  j k r+ d } ns | rT | d t j k rT | t j } n  t j |  j |  } y |  j | j |  } Wn t k
 r d } Yn X| s t
 j d | |  j j  n t
 j d | |  j j  | S(   Ni   u   _find failed: %r %ru   _find worked: %r %rTiF(   u
   prefix_lenu   _filesu   Trueu   osu   sepu   bisectu   indexu
   startswithu
   IndexErroru   Falseu   loggeru   debugu   loaderu   prefix(   u   selfu   pathu   resultu   i(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   _find   s    	u   ZipResourceFinder._findc             C   s3   |  j  j } | j d t |  d   } | | f S(   Ni   (   u   loaderu   archiveu   pathu   len(   u   selfu   resourceu   prefixu   path(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   get_cache_info   s    u    ZipResourceFinder.get_cache_infoc             C   s   |  j  j | j  S(   N(   u   loaderu   get_datau   path(   u   selfu   resource(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu	   get_bytes   s    u   ZipResourceFinder.get_bytesc             C   s   t  j |  j |   S(   N(   u   iou   BytesIOu	   get_bytes(   u   selfu   resource(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu
   get_stream   s    u   ZipResourceFinder.get_streamc             C   s%   | j  |  j d   } |  j | d S(   Ni   (   u   pathu
   prefix_lenu   _files(   u   selfu   resourceu   path(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   get_size   s    u   ZipResourceFinder.get_sizec             C   s   | j  |  j d   } | r? | d t j k r? | t j 7} n  t |  } t   } t j |  j |  } xt | t |  j  k  r |  j | j |  s Pn  |  j | | d   } | j	 | j
 t j d  d  | d 7} ql W| S(   Ni   i    i(   u   pathu
   prefix_lenu   osu   sepu   lenu   setu   bisectu   indexu
   startswithu   addu   split(   u   selfu   resourceu   pathu   plenu   resultu   iu   s(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   get_resources   s    	 u   ZipResourceFinder.get_resourcesc             C   s   | |  j  d   } | r< | d t j k r< | t j 7} n  t j |  j |  } y |  j | j |  } Wn t k
 r d } Yn X| S(   Ni   iF(   u
   prefix_lenu   osu   sepu   bisectu   indexu
   startswithu
   IndexErroru   False(   u   selfu   pathu   iu   result(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   _is_directory   s    u   ZipResourceFinder._is_directory(   u   __name__u
   __module__u   __qualname__u   __doc__u   __init__u   _adjust_pathu   _findu   get_cache_infou	   get_bytesu
   get_streamu   get_sizeu   get_resourcesu   _is_directory(   u
   __locals__(    (   u	   __class__u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   ZipResourceFinder   s   u   ZipResourceFinderc             C   s   | t  t |   <d  S(   N(   u   _finder_registryu   type(   u   loaderu   finder_maker(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   register_finder
  s    u   register_finderc             C   s   |  t  k r t  |  } n |  t j k r5 t |   n  t j |  } t | d d  } | d k ro t d   n  t | d d  } t j t	 |   } | d k r t d |    n  | |  } | t  |  <| S(   u   
    Return a resource finder for a package.
    :param package: The name of the package.
    :return: A :class:`ResourceFinder` instance for the package.
    u   __path__u8   You cannot get a finder for a module, only for a packageu
   __loader__u   Unable to locate finder for %rN(
   u   _finder_cacheu   sysu   modulesu
   __import__u   getattru   Noneu   DistlibExceptionu   _finder_registryu   getu   type(   u   packageu   resultu   moduleu   pathu   loaderu   finder_maker(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   finder  s    
u   finderu	   __dummy__c             C   sz   d } t j |   t j j |   } t j t |   } | rv t } t	 j
 j |  d  | _ | | _ | |  } n  | S(   u   
    Return a resource finder for a path, which should represent a container.

    :param path: The path.
    :return: A :class:`ResourceFinder` instance for the path.
    u    N(   u   Noneu   pkgutilu   get_importeru   sysu   path_importer_cacheu   getu   _finder_registryu   typeu   _dummy_moduleu   osu   pathu   joinu   __file__u
   __loader__(   u   pathu   resultu   loaderu   finderu   module(    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   finder_for_path,  s    	u   finder_for_path(-   u
   __future__u   unicode_literalsu   bisectu   iou   loggingu   osu   pkgutilu   shutilu   sysu   typesu	   zipimportu    u   DistlibExceptionu   utilu   cached_propertyu   get_cache_baseu   path_to_cache_diru   Cacheu	   getLoggeru   __name__u   loggeru   Noneu   cacheu   ResourceCacheu   objectu   ResourceBaseu   Resourceu   ResourceContaineru   ResourceFinderu   ZipResourceFinderu   typeu   zipimporteru   _finder_registryu   _frozen_importlibu   SourceFileLoaderu
   FileFinderu   ImportErroru   AttributeErroru   register_finderu   _finder_cacheu   finderu
   ModuleTypeu   stru   _dummy_moduleu   finder_for_path(    (    (    u6   /tmp/pip-zej_zi-build/pip/_vendor/distlib/resources.pyu   <module>   sB   ",!9M