
    *,h)                     p    d dl Z d dlZd dlmZmZ dee   fdZdee   fdZdee   fdZdeeef   fdZ	y)    N)OptionalTuplereturnc                  .    t               xs
 t               S )z9Returns glibc version string, or None if not using glibc.)glibc_version_string_confstrglibc_version_string_ctypes     [/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/pip/_internal/utils/glibc.pyglibc_version_stringr      s    ')J-H-JJr
   c                      t         j                  dk(  ry	 t        j                  d      } | y| j	                         \  }}|S # t
        t        t        f$ r Y yw xY w)z@Primary implementation of glibc_version_string using os.confstr.win32NCS_GNU_LIBC_VERSION)sysplatformosconfstrsplitAttributeErrorOSError
ValueError)gnu_libc_version_versions      r   r   r      se     ||w::&;<#%++-
7 N GZ0 s   A A AAc                      	 ddl } | j                  d      }	 |j                  }| j
                  |_         |       }t        |t              s|j                  d      }|S # t        $ r Y yw xY w# t        $ r Y yw xY w)z=Fallback implementation of glibc_version_string using ctypes.r   Nascii)
ctypesImportErrorCDLLgnu_get_libc_versionr   c_char_prestype
isinstancestrdecode)r   process_namespacer    version_strs       r   r   r      s     D)0EE $*?? &(Kk3'!((1-     s"   A A. 	A+*A+.	A:9A:c                  $    t               } | yd| fS )zTry to determine the glibc version

    Returns a tuple of strings (lib, version) which default to empty strings
    in case the lookup fails.
    ) r)   glibc)r   )glibc_versions    r   libc_verr,   N   s      )*M''r
   )
r   r   typingr   r   r$   r   r   r   r,   r	   r
   r   <module>r.      sU    	 
 "Khsm K
hsm (Xc] ^
(%S/ 
(r
   