§
    ¢”j�  ã                  ó(  — 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mZ ddl	m
Z
 ddlmZmZmZ ddlmZ ddlmZmZmZmZ dd	lmZ ej        rd d
lmZ d dlmZmZ ddlmZ  G d„ de
¦  «        Z G d„ de
¦  «        Z  G d„ de¦  «        Z!dS )é    )ÚannotationsN)Údatetimeé   )ÚFS)ÚFileExpectedÚResourceNotFoundÚResourceReadOnly)ÚInfo)ÚdirnameÚforcedirÚnormpathÚrelpath)ÚTempFS)Ú
Collection)ÚIOÚAny)ÚSubFSc                  ó<   — e Zd ZdZ	 ddd
„Zej        r	 ddd„ZdS dS )ÚZipFSzRead and write zip files.Fúutf-8Úfileústr | os.PathLikeÚwriteÚboolÚencodingÚstrc                óF   — |rt          ||¦  «        S t          ||¦  «        S ©N)Ú
WriteZipFSÚ	ReadZipFS)Úclsr   r   r   s       úo/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/fontTools/misc/filesystem/_zipfs.pyÚ__new__zZipFS.__new__   s,   € ð ð 	-Ý˜d HÑ-Ô-Ð-å˜T 8Ñ,Ô,Ð,ó    c                ó   — d S r   © )Úselfr   r   r   s       r"   Ú__init__zZipFS.__init__%   s	   € ð ˆDr$   N)Fr   )r   r   r   r   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r#   ÚtypingÚTYPE_CHECKINGr(   r&   r$   r"   r   r      sq   € € € € € Ø#Ð#ð LSð-ð -ð -ð -ð -ð Ôð ð QXð	ð 	ð 	ð 	ð 	ð 	ð 	ðð r$   r   c                  óÒ   ‡ — e Zd ZdZd,d-ˆ fd„Zd.d	„Zd.d
„Zd/d„Zed0d„¦   «         Z	ˆ fd„Z
d1d2d„Zd3d„Zd3d„Zd3d„Zd/d„Zd4d5d„Zd4d5d„Zd6d„Zd6d „Zd6d!„Zd4d7d%„Zd8d'„Zd9d:d+„Zˆ xZS );r    zA readable zip file.r   r   r   r   r   c                óÊ   •— t          ¦   «                              ¦   «          t          j        |¦  «        | _        || _        t          j        |d¦  «        | _        d | _	        d S )NÚr)
Úsuperr(   ÚosÚfspathÚ_filer   ÚzipfileÚZipFileÚ_zipÚ_directory_fs©r'   r   r   Ú	__class__s      €r"   r(   zReadZipFS.__init__.   sP   ø€ Ý‰Œ×ÒÑÔÐÝ”Y˜t‘_”_ˆŒ
Ø ˆŒÝ”O D¨#Ñ.Ô.ˆŒ	Ø!ˆÔÐÐr$   Úreturnc                ó   — d| j         ›d�S )Nz
ReadZipFS(ú)©r5   ©r'   s    r"   Ú__repr__zReadZipFS.__repr__5   s   € Ø+˜DœJÐ+Ð+Ð+Ð+r$   c                ó   — d| j         › d�S )Nz<zipfs 'ú'>r?   r@   s    r"   Ú__str__zReadZipFS.__str__8   s   € Ø(˜$œ*Ð(Ð(Ð(Ð(r$   Úpathc                ó�   — t          t          |¦  «        ¦  «        }| j                             |¦  «        rt	          |¦  «        }|S )z"Convert a path to a zip file name.)r   r   Ú
_directoryÚisdirr   ©r'   rE   s     r"   Ú_path_to_zip_namezReadZipFS._path_to_zip_name;   s=   € å•x ‘~”~Ñ&Ô&ˆØŒ?× Ò  Ñ&Ô&ð 	"Ý˜D‘>”>ˆDØˆr$   r   c                óP  — | j         €™t          ¦   «         x| _         }| j                             ¦   «         D ]j}|}|                     d¦  «        r|                     |d¬¦  «         Œ1|                     t          |¦  «        d¬¦  «         |                     |¦  «         Œk| j         S )Nú/T)Úrecreate)r9   r   r8   ÚnamelistÚendswithÚmakedirsr   Úcreate)r'   Ú_fsÚzip_nameÚresource_names       r"   rG   zReadZipFS._directoryB   s©   € àÔÐ%Ý'-¡x¤xÐ/ˆDÔ Ø œI×.Ò.Ñ0Ô0ð .ð .�Ø (�Ø ×)Ò)¨#Ñ.Ô.ð .Ø—L’L ¸�LÑ>Ô>Ð>Ð>à—L’L¥¨Ñ!7Ô!7À$�LÑGÔGÐGØ—J’J˜}Ñ-Ô-Ð-Ð-ØÔ!Ð!r$   c                óÌ   •— t          t          | ¦  «                             ¦   «          | j                             ¦   «          | j        �| j                             ¦   «          d S d S r   )r2   r    Úcloser8   r9   )r'   r;   s    €r"   rV   zReadZipFS.closeO   s]   ø€ Ý�i˜ÑÔ×$Ò$Ñ&Ô&Ð&ØŒ	�ŠÑÔÐØÔÐ)ØÔ×$Ò$Ñ&Ô&Ð&Ð&Ð&ð *Ð)r$   NÚ
namespacesúCollection[str] | Noner
   c                ó
  — |pd}i }|dk    rdddœ|d<   d|v rdt           j        i|d<   nË| j                             |¦  «        }|j        |j        dœ|d<   d|v r›|                      |¦  «        }	 | j                             |¦  «        }d|v rV|j        t          |j        rt           j        nt           j
        ¦  «        t          |j        Ž                      ¦   «         d	œ|d<   n# t          $ r Y nw xY wt          |¦  «        S )
Nr&   rL   Ú T)ÚnameÚis_dirÚbasicÚdetailsÚtype)Úsizer_   Úmodified)ÚstatÚS_IFDIRrG   Úgetinfor[   r\   rJ   r8   Ú	file_sizeÚintÚS_IFREGr   Ú	date_timeÚ	timestampÚKeyErrorr
   )r'   rE   rW   Úraw_infoÚ
basic_inforS   Úzip_infos          r"   rd   zReadZipFS.getinfoU   s;  € ØÐ% 2ˆ
Øˆà�3Š;ˆ;Ø)+°tÐ <Ð <ˆH�WÑØ˜JÐ&Ð&Ø'-­t¬|Ð&<�˜Ñ#øàœ×0Ò0°Ñ6Ô6ˆJØ)3¬ÀJÔDUÐ VÐ VˆH�WÑà˜JÐ&Ð&Ø×1Ò1°$Ñ7Ô7�ðØ#œy×0Ò0°Ñ:Ô:�Hð ! JÐ.Ð.à$,Ô$6Ý$'Ø0:Ô0AÐ S¥¤ ÅtÄ|ñ%ô %õ )1°(Ô2DÐ(E×(OÒ(OÑ(QÔ(Qð/ð /˜ Ñ+øøõ	  ð ð ð Ø�Dðøøøõ �H‰~Œ~Ðs   Á1C& Ã&
C3Ã2C3r   c                ó^   — |                       ¦   «          | j                             |¦  «        S r   )ÚcheckrG   ÚexistsrI   s     r"   rp   zReadZipFS.existss   ó%   € Ø�
Š
‰ŒˆØŒ×%Ò% dÑ+Ô+Ð+r$   c                ó^   — |                       ¦   «          | j                             |¦  «        S r   )ro   rG   rH   rI   s     r"   rH   zReadZipFS.isdirw   s%   € Ø�
Š
‰ŒˆØŒ×$Ò$ TÑ*Ô*Ð*r$   c                ó^   — |                       ¦   «          | j                             |¦  «        S r   )ro   rG   ÚisfilerI   s     r"   rt   zReadZipFS.isfile{   rq   r$   c                ó^   — |                       ¦   «          | j                             |¦  «        S r   )ro   rG   ÚlistdirrI   s     r"   rv   zReadZipFS.listdir   s%   € Ø�
Š
‰ŒˆØŒ×&Ò& tÑ,Ô,Ð,r$   FrM   r   c                óH   — |                       ¦   «          t          |¦  «        ‚r   ©ro   r	   ©r'   rE   rM   s      r"   ÚmakedirzReadZipFS.makedirƒ   ó   € Ø�
Š
‰ŒˆÝ˜tÑ$Ô$Ð$r$   c                óH   — |                       ¦   «          t          |¦  «        ‚r   rx   ry   s      r"   rP   zReadZipFS.makedirs‡   r{   r$   c                óH   — |                       ¦   «          t          |¦  «        ‚r   rx   rI   s     r"   ÚremovezReadZipFS.remove‹   r{   r$   c                óH   — |                       ¦   «          t          |¦  «        ‚r   rx   rI   s     r"   Ú	removedirzReadZipFS.removedir�   r{   r$   c                óH   — |                       ¦   «          t          |¦  «        ‚r   rx   rI   s     r"   Ú
removetreezReadZipFS.removetree“   r{   r$   ÚsrcÚdstrQ   c                óH   — |                       ¦   «          t          |¦  «        ‚r   rx   )r'   rƒ   r„   rQ   s       r"   ÚmovedirzReadZipFS.movedir—   s   € Ø�
Š
‰ŒˆÝ˜sÑ#Ô#Ð#r$   Úbytesc                óÞ   — |                       ¦   «          | j                             |¦  «        st          |¦  «        ‚|                      |¦  «        }| j                             |¦  «        }|S r   )ro   rG   rt   r   rJ   r8   Úread)r'   rE   rS   Ú	zip_bytess       r"   Ú	readbyteszReadZipFS.readbytes›   sa   € Ø�
Š
‰ŒˆØŒ×%Ò% dÑ+Ô+ð 	)Ý" 4Ñ(Ô(Ð(Ø×)Ò)¨$Ñ/Ô/ˆØ”I—N’N 8Ñ,Ô,ˆ	ØÐr$   ÚrbÚmodeúIO[Any]c                óþ  ‡— |                       ¦   «          | j                             |¦  «        rt          |›d�¦  «        ‚‰d         }|dk    r,| j                             |¦  «        st          d|›�¦  «        ‚t          ˆfd„dD ¦   «         ¦  «        rt          |¦  «        ‚|                      |¦  «        }| j	         
                    ||¦  «        }d‰v r|rt          d¦  «        ‚|S t          j        |fi |¤ŽS )	Nz is a directoryr   r1   zNo such file or directory: c              3  ó    •K  — | ]}|‰v V — Œ	d S r   r&   )Ú.0Úmr�   s     €r"   ú	<genexpr>z!ReadZipFS.open.<locals>.<genexpr>¬   s'   øè è € Ð)Ð)˜Qˆq�DˆyÐ)Ð)Ð)Ð)Ð)Ð)r$   zwax+Úbz*encoding args invalid for binary operation)ro   rG   rH   r   rp   r   Úanyr	   rJ   r8   ÚopenÚ
ValueErrorÚioÚTextIOWrapper)r'   rE   r�   ÚkwargsÚzip_moderS   Ústreams     `    r"   r–   zReadZipFS.open£   s  ø€ Ø�
Š
‰ŒˆØŒ?× Ò  Ñ&Ô&ð 	;Ý $Ð9Ð9Ð9Ñ:Ô:Ð:à˜”7ˆØ�sŠ?ˆ? 4¤?×#9Ò#9¸$Ñ#?Ô#?ˆ?Ý"Ð#IÀÐ#IÐ#IÑJÔJÐJåÐ)Ð)Ð)Ð) &Ð)Ñ)Ô)Ñ)Ô)ð 	)Ý" 4Ñ(Ô(Ð(à×)Ò)¨$Ñ/Ô/ˆØ”—’ ¨(Ñ3Ô3ˆØ�$ˆ;ˆ;Øð OÝ Ð!MÑNÔNÐNØˆMåÔ Ð1Ð1¨&Ð1Ð1Ð1r$   ©r   ©r   r   r   r   ©r<   r   )rE   r   r<   r   )r<   r   r   )rE   r   rW   rX   r<   r
   )rE   r   r<   r   )F)rE   r   rM   r   r<   r   )rE   r   )rƒ   r   r„   r   rQ   r   )rE   r   r<   r‡   )rŒ   )rE   r   r�   r   r<   rŽ   )r)   r*   r+   r,   r(   rA   rD   rJ   ÚpropertyrG   rV   rd   rp   rH   rt   rv   rz   rP   r~   r€   r‚   r†   r‹   r–   Ú__classcell__©r;   s   @r"   r    r    +   sÚ  ø€ € € € € ØÐð"ð "ð "ð "ð "ð "ð "ð,ð ,ð ,ð ,ð)ð )ð )ð )ðð ð ð ð ð
"ð 
"ð 
"ñ „Xð
"ð'ð 'ð 'ð 'ð 'ðð ð ð ð ð<,ð ,ð ,ð ,ð+ð +ð +ð +ð,ð ,ð ,ð ,ð-ð -ð -ð -ð%ð %ð %ð %ð %ð%ð %ð %ð %ð %ð%ð %ð %ð %ð%ð %ð %ð %ð%ð %ð %ð %ð$ð $ð $ð $ð $ðð ð ð ð2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2r$   r    c                  ó@   ‡ — e Zd ZdZddˆ fd„Zdd	„Zdd
„Zˆ fd„Zˆ xZS )r   zA writable zip file.r   r   r   r   r   c                óˆ   •— t          ¦   «                              ¦   «          t          j        |¦  «        | _        || _        d S r   )r2   r(   r3   r4   r5   r   r:   s      €r"   r(   zWriteZipFS.__init__¼   s3   ø€ Ý‰Œ×ÒÑÔÐÝ”Y˜t‘_”_ˆŒ
Ø ˆŒˆˆr$   r<   c                ó   — d| j         ›d�S )NzWriteZipFS(r>   r?   r@   s    r"   rA   zWriteZipFS.__repr__Á   s   € Ø,˜TœZÐ,Ð,Ð,Ð,r$   c                ó   — d| j         › d�S )Nz<zipfs-write 'rC   r?   r@   s    r"   rD   zWriteZipFS.__str__Ä   s   € Ø. ¤
Ð.Ð.Ð.Ð.r$   c                ó*  •— t           j                             | j        ¦  «        d         }t	          j        |d| j        ¬¦  «         | j        |dz   k    rt	          j        |dz   | j        ¦  «         t          ¦   «          	                    ¦   «          d S )Nr   Úzip)ÚformatÚroot_dirz.zip)
r3   rE   Úsplitextr5   ÚshutilÚmake_archiveÚ	_temp_dirÚmover2   rV   )r'   Ú	base_namer;   s     €r"   rV   zWriteZipFS.closeÇ   sy   ø€ Ý”G×$Ò$ T¤ZÑ0Ô0°Ô3ˆ	ÝÔ˜I¨e¸d¼nÐMÑMÔMÐMØŒ:˜ VÑ+Ò+Ð+ÝŒK˜	 FÑ*¨D¬JÑ7Ô7Ð7Ý‰Œ�Š‰Œˆˆˆr$   r�   rž   rŸ   )	r)   r*   r+   r,   r(   rA   rD   rV   r¡   r¢   s   @r"   r   r   ¹   s‰   ø€ € € € € ØÐð!ð !ð !ð !ð !ð !ð !ð
-ð -ð -ð -ð/ð /ð /ð /ðð ð ð ð ð ð ð ð r$   r   )"Ú
__future__r   r˜   r3   r¬   rb   r-   r6   r   Ú_baser   Ú_errorsr   r   r	   Ú_infor
   Ú_pathr   r   r   r   Ú_tempfsr   r.   Úcollections.abcr   r   r   Ú_subfsr   r   r    r   r&   r$   r"   ú<module>r¹      s¯  ðØ "Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø 	€	€	€	Ø €€€Ø €€€Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EØ Ð Ð Ð Ð Ð Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø Ð Ð Ð Ð Ð à	Ôð Ø*Ð*Ð*Ð*Ð*Ð*ØÐÐÐÐÐÐÐàÐÐÐÐÐðð ð ð ð ˆBñ ô ð ð&K2ð K2ð K2ð K2ð K2�ñ K2ô K2ð K2ð\ð ð ð ð �ñ ô ð ð ð r$   