
    3ia                        d dl m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	 erd dl
mZ  ej                  e      ZddZddZddZd	d
gZy)    )annotationsN)TYPE_CHECKING)IS_WINROOT)Pathc                   t        |       }t        j                  t        d      5 }|j	                  |      5 }|j                         j                  d      cd d d        cd d d        S # 1 sw Y   nxY wd d d        y # 1 sw Y   y xY w)Nrzutf-8)_get_path_within_zipzipfileZipFiler   openreaddecode)	full_pathsub_filezip_filefile_handlers       I/var/www/opsc/venv/lib/python3.12/site-packages/virtualenv/util/zipapp.pyr   r      so    #I.H	s	# 3xx1H 3L  "))'23 3 3 3 3 3 3s"   A?A*	A?*A3	/A??Bc                4   t         j                  d| |       t        |       }t        j                  t
        d      5 }|j                  |      }|j                  |_        |j                  |t        |j                               d d d        y # 1 sw Y   y xY w)Nzextract %s to %sr	   )LOGGERdebugr
   r   r   r   getinfonamefilenameextractstrparent)r   destr   r   infos        r   r   r      sv    
LL#Y5#I.H	s	# 1x)		s4;;/01 1 1s   ABBc                r   t         j                  j                  t         j                  j                  t	        |                   } t
         t         j                   }| j                  |      sd|  d| d}t        |      | t        |      d  }t        r |j                  t         j                  d      }|S )Nz
full_path=z should start with prefix=./)ospathrealpathabspathr   r   sep
startswithRuntimeErrorlenr   replace)r   prefixmsgr   s       r   r
   r
      s      Y!@AIvbffXF'9+%?xqI3V'H##BFFC0O    r   r   )r   
str | Pathreturnr   )r   r/   r   r   r0   None)
__future__r   loggingr#   r   typingr   virtualenv.infor   r   pathlibr   	getLogger__name__r   r   r   r
   __all__ r.   r   <module>r;      sM    "  	    (			8	$31
 
r.   