Ë
    š„jâ  ã                   ób   — 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 ddl	m
Z
  G d„ d	e«      Zy)
é    Né   )ÚFileDownloader)ÚHlsFDé   )ÚRequest)Únetwork_exceptionsc                   ó   — e Zd ZdZd„ Zd„ Zy)Ú
BunnyCdnFDz”
    Downloads from BunnyCDN with required pings
    Note, this is not a part of public API, and will be removed without notice.
    DO NOT USE
    c                 ó„  — | j                  d| j                  › d�«       t        | j                  | j                  «      }t        j                  «       }t        j                  | j                  |f|d   ¬«      }|j                  «        	 |j                  ||«      |j                  «        S # |j                  «        w xY w)Nú[z] Downloading from BunnyCDNÚ_bunnycdn_ping_data)ÚtargetÚargsÚkwargs)Ú	to_screenÚFD_NAMEr   ÚydlÚparamsÚ	threadingÚEventÚThreadÚping_threadÚstartÚreal_downloadÚset)ÚselfÚfilenameÚ	info_dictÚfdÚ
stop_eventr   s         úQ/var/www/html/GAP/venv/lib/python3.12/site-packages/yt_dlp/downloader/bunnycdn.pyr   zBunnyCdnFD.real_download   s•   € Ø�‰˜˜4Ÿ<™<˜.Ð(CÐDÔEä�4—8‘8˜TŸ[™[Ó)ˆä—_‘_Ó&ˆ
Ü×&Ñ&¨d×.>Ñ.>ÀjÀ]Ð[dÐezÑ[{Ô|ˆØ×ÑÔð	Ø×#Ñ# H¨iÓ8à�N‰NÕøˆJ�N‰NÕús   ÂB- Â-B?c                 ó  — d}d}d}d}	|j                  |«      s½|	|z  }	|	t        t        j                  «       d«      z   }
t        j                  |› d|› d|
› d|› d|› �	j                  «       «      j                  «       }|› d|› d|
› d	|› d
|› �	}	 | j                  j                  t        ||¬«      «      j                  «        |j                  |«      sŒ¼y y # t        $ r+}| j                  d| j                  › d|› �«       Y d }~ŒCd }~ww xY w)Nr   i8  Úfalser   é   Ú_z?hash=z&time=z&paused=z&resolution=)Úheadersr   z] Ping failed: )ÚwaitÚroundÚrandomÚhashlibÚmd5ÚencodeÚ	hexdigestr   Úurlopenr   Úreadr   r   r   )r   r    Úurlr&   ÚsecretÚ
context_idÚping_intervalÚresÚpausedÚcurrent_timeÚtimeÚmd5_hashÚping_urlÚes                 r!   r   zBunnyCdnFD.ping_thread    s  € àˆàˆØˆØˆà—/‘/ -Ô0Ø˜MÑ)ˆLà¤%¬¯©«¸Ó";Ñ;ˆDÜ—{‘{ f X¨Q¨z¨l¸!¸D¸6ÀÀ6À(È!ÈCÈ5Ð#Q×#XÑ#XÓ#ZÓ[×eÑeÓgˆHØ˜˜f X J¨f°T°F¸(À6À(È,ÐWZÐV[Ð\ˆHðEØ—‘× Ñ ¤¨¸7Ô!CÓD×IÑIÔKð —/‘/ -×0øô &ò EØ—‘  4§<¡< .°À¸sÐC×DÑDûðEús   Â4C Ã	DÃ!!DÄDN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   © ó    r!   r
   r
      s   „ ñòóEr@   r
   )r*   r)   r   Úcommonr   Ú r   Ú
networkingr   Únetworking.exceptionsr   r
   r?   r@   r!   ú<module>rE      s(   ðÛ Û Û å "Ý Ý  Ý 6ô'E�õ 'Er@   