§
    àðij�  ã                  ó€  — d dl mZ d dlZd dlZ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 ej        dk    rd dlmZ nd dlmZ d dlZddlmZ  G d	„ d
ed¬¦  «        Z ej         ej        d¦  «        d¦  «        Z ej        e¦  «        s	  ej        e¦  «         n# e$ r Y nw xY w	 	 	 	 	 d d!d„Zd"d„Zd#d$d„ZdS )%é    )ÚannotationsN)ÚCallable)Ú	TypedDict)é   é   )ÚUnpacké   )Údownloadc                  ój   — e Zd ZU ded<   ded<   ded<   ded<   ded	<   ded
<   ded<   ded<   ded<   dS )Ú_DownloadKwargsú
str | NoneÚproxyzfloat | NoneÚspeedÚboolÚuse_cookiesz
bool | strÚverifyÚidÚresumeÚformatÚ
user_agentz(Callable[[int, int | None], None] | NoneÚprogressN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__© ó    úl/home/spazio/transcriptions/margarita_drive_19vsq/venv/lib/python3.11/site-packages/gdown/cached_download.pyr   r      sx   € € € € € € ØÐÐÑØÐÐÑØÐÐÑØÐÐÑØ€N€N�NØ€L€L�LØÐÐÑØÐÐÑØ6Ð6Ð6Ñ6Ð6Ð6r   r   F)ÚtotalÚ~z.cache/gdownÚurlr   ÚpathÚquietr   ÚpostprocessúCallable[[str], object] | NoneÚhashÚkwargsúUnpack[_DownloadKwargs]ÚreturnÚstrc           
     óˆ  — |€}| €t          d¦  «        ‚|                      dd¦  «                             dd¦  «                             dd¦  «                             d	d
¦  «        }t          j        t          |¦  «        }t          j        |¦  «        r$|s"|st          d|› �t          j        ¬¦  «         |S t          j        |¦  «        rI|rG	 t          |||¬¦  «         |S # t          $ r%}t          |t          j        ¬¦  «         Y d}~nd}~ww xY wt          j        t          d¦  «        }	 t          j        t          j        |¦  «        ¦  «         n# t          $ r Y nw xY wt          j        t          ¬¦  «        }	 t          j        |d¦  «        }	|rd|› d�nd}
t#          d| |	|d|
› �d|› d�dœdœ|¤Ž |rt          |	||¬¦  «         t%          j        |¦  «        5  t)          j        |	|¦  «         ddd¦  «         n# 1 swxY w Y   n## t,          $ r t)          j        |¦  «         ‚ w xY w|� ||¦  «         |S )aï  Cached download from URL.

    Parameters
    ----------
    url:
        URL. Google Drive URL is also supported.
    path:
        Output filename. Default is basename of URL.
    quiet:
        Suppress terminal output. Default is False.
    postprocess:
        Function called with filename as postprocess.
    hash:
        Hash value of file in the format of {algorithm}:{hash_value}
        such as sha256:abcdef.... Supported algorithms: md5, sha1, sha256, sha512.
    kwargs:
        Keyword arguments to be passed to `download`.

    Returns
    -------
    path:
        Output filename.

    Raises
    ------
    ValueError
        If url is not specified when path is not specified.
    DownloadError
        If the download fails.
    Nz0url must be specified when path is not specifiedú/z-SLASH-ú:z-COLON-Ú=z-EQUAL-ú?z
-QUESTION-zFile exists: )Úfile)r"   r&   r#   Ú_dl_lock)ÚdirÚdlzHash: Ú
Ú zCached downloading...
zTo: )ÚstartÚoutput)r!   r7   r#   Úlog_messagesr   )Ú
ValueErrorÚreplaceÚospÚjoinÚ
cache_rootÚexistsÚprintÚsysÚstderrÚ_assert_filehashÚAssertionErrorÚosÚmakedirsÚdirnameÚOSErrorÚtempfileÚmkdtempr
   ÚfilelockÚFileLockÚshutilÚmoveÚ	ExceptionÚrmtree)r!   r"   r#   r$   r&   r'   ÚeÚ	lock_pathÚ	temp_rootÚ	temp_pathÚlog_message_hashs              r   Úcached_downloadrU   *   s  € ðL €|Øˆ;ÝÐOÑPÔPÐPà�KŠK˜˜YÑ'Ô'ßŠW�S˜)Ñ$Ô$ßŠW�S˜)Ñ$Ô$ßŠW�S˜,Ñ'Ô'ð	 	õ Œx�
 DÑ)Ô)ˆõ „z�$ÑÔð 	& ð 	&Øð 	;ÝÐ( $Ð(Ð(­s¬zÐ:Ñ:Ô:Ð:ØˆÝ	Œ�DÑ	Ô	ð &˜dð &ð	&Ý $¨T¸Ð?Ñ?Ô?Ð?ØˆKøÝð 	&ð 	&ð 	&Ý�!�#œ*Ð%Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%øøøøð	&øøøõ ”� ZÑ0Ô0€IðÝ
Œ•C”K Ñ%Ô%Ñ&Ô&Ð&Ð&øÝð ð ð ØˆðøøøåÔ ¥ZÐ0Ñ0Ô0€IðÝ”H˜Y¨Ñ-Ô-ˆ	à04Ð<Ð, DÐ,Ð,Ð,Ð,¸"ÐÝð 		
ØØØàEÐ3CÐEÐEØ) ˜/˜/˜/ðð ð			
ð 		
ð ð		
ð 		
ð 		
ð ð 	EÝ )°$¸eÐDÑDÔDÐDÝÔ˜yÑ)Ô)ð 	)ð 	)ÝŒK˜	 4Ñ(Ô(Ð(ð	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)øøåð ð ð ÝŒ�iÑ Ô Ð Øðøøøð
 ÐØˆ�DÑÔÐà€Ks[   ÃC# Ã#
DÃ-DÄDÄ0&E Å
E$Å#E$ÆA"H Ç$HÇ:H ÈH
È
H ÈH
ÈH È H2Ú	algorithmc                óz  ‡‡— dŠ|t           j        vrt          d|› dt           j        › �¦  «        ‚ t          t           |¦  «        ¦   «         }t	          | d¦  «        5 Št          ˆˆfd„d¦  «        D ]}|                     |¦  «         Œ	 d d d ¦  «         n# 1 swxY w Y   |› d|                     ¦   «         › �S )Ni   zUnsupported hash algorithm: z. Supported algorithms: Úrbc                 ó.   •— ‰                      ‰ ¦  «        S )N)Úread)Ú	BLOCKSIZEÚfs   €€r   ú<lambda>z#_compute_filehash.<locals>.<lambda>–   s   ø€  !§&¢&¨Ñ"3Ô"3€ r   r   r-   )ÚhashlibÚalgorithms_guaranteedr9   ÚgetattrÚopenÚiterÚupdateÚ	hexdigest)r"   rV   Úalgorithm_instanceÚblockr[   r\   s       @@r   Ú_compute_filehashrg   ‹   s0  øø€ Ø€Ià�Ô5Ð5Ð5ÝðE¨9ð Eð EÝ%,Ô%BðEð Eñ
ô 
ð 	
ð
 5�¥¨)Ñ4Ô4Ñ6Ô6ÐÝ	ˆd�DÑ	Ô	ð -˜QÝÐ3Ð3Ð3Ð3Ð3°SÑ9Ô9ð 	-ð 	-ˆEØ×%Ò% eÑ,Ô,Ð,Ð,ð	-ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð Ð:Ð:Ð,×6Ò6Ñ8Ô8Ð:Ð:Ð:s   Á-BÂBÂ BÚNonec                óÂ   — d|vrt          d|› d�¦  «        ‚|                     d¦  «        d         }t          | |¬¦  «        }||k    rt          d|› d|› �¦  «        ‚d S )Nr-   zInvalid hash: z9. Hash must be in the format of {algorithm}:{hash_value}.r   )r"   rV   z!File hash doesn't match:
actual: z
expected: )r9   Úsplitrg   rC   )r"   r&   r#   rV   Úhash_actuals        r   rB   rB   ›   s—   € Ø
�$€€ÝðF˜Tð Fð Fð Fñ
ô 
ð 	
ð —
’
˜3‘” Ô"€Iå#¨¸ÐCÑCÔC€Kà�dÒÐÝØP°ÐPÐPÈ$ÐPÐPñ
ô 
ð 	
ð Ðr   )NNFNN)r!   r   r"   r   r#   r   r$   r%   r&   r   r'   r(   r)   r*   )r"   r*   rV   r*   r)   r*   )F)r"   r*   r&   r*   r#   r   r)   rh   )Ú
__future__r   r^   rD   Úos.pathr"   r;   rL   r@   rH   Úcollections.abcr   Útypingr   Úversion_infor   Útyping_extensionsrJ   r
   r   r<   Ú
expanduserr=   r>   rE   rG   rU   rg   rB   r   r   r   ú<module>rs      sÑ  ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø 	€	€	€	Ø Ð Ð Ð Ð Ð Ø €€€Ø 
€
€
€
Ø €€€Ø $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð àÔ�wÒÐØÐÐÐÐÐÐà(Ð(Ð(Ð(Ð(Ð(à €€€à Ð Ð Ð Ð Ð ð	7ð 	7ð 	7ð 	7ð 	7�i uð 	7ñ 	7ô 	7ð 	7ð ˆSŒX�n�c”n SÑ)Ô)¨>Ñ:Ô:€
Ø€s„z�*ÑÔð ðØˆŒ�JÑÔÐÐøØð ð ð Øˆðøøøð
 ØØØ26Øð^ð ^ð ^ð ^ð ^ðB;ð ;ð ;ð ;ð 
ð 
ð 
ð 
ð 
ð 
ð 
s   ÂB  Â B(Â'B(