yj
2026-03-31 033d919018b3a3e12755f008c0b9093364942512
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
o
ã@sbddlZddlZddlZddlZddlZejjZdZdZ    dZ
dZ Gdd„de ƒZ Gdd„dƒZdS)    éNéééc@s eZdZdS)ÚArchiveReadErrorN)Ú__name__Ú
__module__Ú __qualname__©r    r    ú&PyInstaller\loader\pyimod01_archive.pyr#src@sDeZdZdZdZddd„Zedd„ƒZd    d
„Zd d „Z    dd d„Z
dS)ÚZlibArchiveReaderzª
    Reader for PyInstaller's PYZ (ZlibArchive) archive. The archive is used to store collected byte-compiled Python
    modules, as individually-compressed entries.
    sPYZNFc    Csì||_||_i|_|dur| |¡\|_|_t|jdƒP}| |jtj¡| t    |j
ƒ¡}||j
kr6t dƒ‚| t    t ƒ¡}|rG|t krGt dƒ‚t  d| d¡¡^}}| |j|tj¡tt |¡ƒ|_WdƒdS1sowYdS)NÚrbzPYZ magic pattern mismatch!zPython 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Ú_r    r    r
Ú__init__.s"
 "îzZlibArchiveReader.__init__cCsbd}| d¡}|dkr||fSzt||dd…ƒ}|d|…}W||fSty0Y||fSw)z\
        Parse the numeric offset from filename, stored as: `/path/to/file?offset`.
        rÚ?éÿÿÿÿrN)ÚrfindÚintÚ
ValueError)r ÚoffsetÚidxr    r    r
rOs
 üüz-ZlibArchiveReader._parse_offset_from_filenamecCs.|j |¡}|dur dS|\}}}|ttfvS)zj
        Check if the given name refers to a package entry. Used by PyiFrozenImporter at runtime.
        NF)rÚgetÚ PYZ_ITEM_PKGÚPYZ_ITEM_NSPKG©rÚnameÚentryÚtypecodeÚ entry_offsetÚ entry_lengthr    r    r
Ú
is_packagecs
 
 zZlibArchiveReader.is_packagecCs*|j |¡}|dur dS|\}}}|tkS)zt
        Check if the given name refers to a namespace package entry. Used by PyiFrozenImporter at runtime.
        NF)rr0r2r3r    r    r
Úis_pep420_namespace_packagems
 
z-ZlibArchiveReader.is_pep420_namespace_packagec
 
Csð|j |¡}|dur dS|\}}}z%t|jdƒ}| |j|¡| |¡}Wdƒn1s0wYWntyEt|j›dƒ‚wzt     
|¡}|t t t fvr]|s`t |¡}W|SW|SW|Styw}    z    td|›dƒ|    ‚d}    ~    ww)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.
        Nr z… appears to have been moved or deleted since this application was launched. Continouation from this state is impossible. Exiting now.zFailed to unmarshal PYZ entry ú!)rr0rrrrrÚFileNotFoundErrorÚ
SystemExitÚzlibÚ
decompressÚPYZ_ITEM_MODULEr1r2rÚloadsÚEOFErrorÚ ImportError)
rr4Úrawr5r6r7r8r#ÚobjÚer    r    r
Úextractws8 
 þ€ 
ÿú
 ûûý€ÿzZlibArchiveReader.extract)NF)F) rrrÚ__doc__rr(Ú staticmethodrr9r:rGr    r    r    r
r 's
!
 
 
r )rrrr>Ú_frozen_importlibÚ_bootstrap_externalÚ MAGIC_NUMBERrr@r1Ú PYZ_ITEM_DATAr2Ú RuntimeErrorrr r    r    r    r
Ú<module>s