
    i                         S SK r S SKrS SKrS SKrS SKr\R
                  R                  rS rSr	Sr
Sr " S S\5      r " S S5      rg)	    N         c                       \ rS rSrSrg)ArchiveReadError#    N)__name__
__module____qualname____firstlineno____static_attributes__r	       PC:\des-py\RoboSAPF\venv\Lib\site-packages\PyInstaller\loader\pyimod01_archive.pyr   r   #   s    r   r   c                   @    \ rS rSrSrSrS	S jr\S 5       rS
S jr	Sr
g)ZlibArchiveReader'   z
Reader for PyInstaller's PYZ (ZlibArchive) archive. The archive is used to store collected byte-compiled Python
modules, as individually-compressed entries.
s   PYZ Nc                     Xl         X l        0 U l        Uc  U R                  U5      u  U l         U l        [	        U R                   S5       nUR                  U R                  [        R                  5        UR                  [        U R                  5      5      nXPR                  :w  a  [        S5      eUR                  [        [        5      5      nU(       a  U[        :w  a  [        S5      e[        R                  " SUR                  S5      5      tpxUR                  U R                  U-   [        R                  5        [        [         R"                  " U5      5      U l        S S S 5        g ! , (       d  f       g = f)NrbzPYZ magic pattern mismatch!zPython magic pattern mismatch!z!i   )	_filename_start_offsettoc_parse_offset_from_filenameopenseekosSEEK_SETreadlen_PYZ_MAGIC_PATTERNr   PYTHON_MAGIC_NUMBERstructunpackdictmarshalload)	selffilenamestart_offsetcheck_pymagicfpmagicpymagic
toc_offset_s	            r   __init__ZlibArchiveReader.__init__.   s   !) 151Q1QRZ1[.DND.
 $..$'2GGD&&4GGC 7 789E///&'DEE ggc"567G,?!?&'GHH $]]4<NJ GGD&&3R[[AGLL,-DH% (''s   DE//
E=c                     SnU R                  S5      nUS:X  a  X4$  [        XS-   S 5      nU SU n X4$ ! [         a     X4$ f = f)zL
Parse the numeric offset from filename, stored as: `/path/to/file?offset`.
r   ?r   N)rfindint
ValueError)r)   offsetidxs      r   r   -ZlibArchiveReader._parse_offset_from_filenameO   sr    
 nnS!"9##	'(+,F~H
 	  			s   6 
AAc                 ^   U R                   R                  U5      nUc  [        SU< S35      eUu  pEnU[        :X  a  g [	        U R
                  S5       nUR                  U R                  U-   5        UR                  U5      nSSS5         [        R                  " W5      nU[        [        4;   a  U(       d  [        R                   " U5      nU$ ! , (       d  f       NT= f! [         a    [        SU R
                   S35      ef = f! ["         a  n	[%        SU< S35      U	eSn	A	ff = f)	z
Extract data from entry with the given name.

If the entry belongs to a module or a package, the data is loaded (unmarshaled) into code object. To retrieve
raw data, set `raw` flag to True.
NzNo entry named z found in the archive!r   zERROR: z appears to have been moved or deleted since this application was launched. Continouation from this state is impossible. Exiting now.zFailed to unmarshal PYZ entry !)r   getKeyErrorPYZ_ITEM_NSPKGr   r   r   r   r   FileNotFoundError
SystemExitzlib
decompressPYZ_ITEM_MODULEPYZ_ITEM_PKGr&   loadsEOFErrorImportError)
r(   namerawentrytypecodeentry_offsetentry_lengthr,   objes
             r   extractZlibArchiveReader.extractc   s(    T"=_TH4JKLL/4, ~%	dnnd+r**\9:ggl+ ,	Q//#&CO\::3mmC( 
+ ,+ ! 		 $..) *L L 		  	Q >thaHIqP	QsC    C% 0CC% AD 
C"C% "C% %$D	
D,D''D,)r   r   r   )NF)F)r
   r   r   r   __doc__r!   r1   staticmethodr   rR   r   r	   r   r   r   r   '   s.     ".B    &)r   r   )r   r#   r&   rC   _frozen_importlib_bootstrap_externalMAGIC_NUMBERr"   rE   rF   PYZ_ITEM_DATAr@   RuntimeErrorr   r   r	   r   r   <module>r[      sX   " 
    ';;HH  	| 	e er   