Ë
    „ÞÏi~
  ã                  óž  — d Z ddlmZ ddlZddlZddlZddlZddlmZm	Z	m
Z
mZ ddlmZmZmZ ddlmZ  G d„ de	«      Z G d	„ d
eej&                  d¬«      Z G d„ dej*                  «      Zej.                   G d„ d«      «       Z G d„ deej&                  d¬«      Zdd„Zdd„Z	 	 	 	 dd„Zej:                  rej<                  eegef   Z yy)z
PUBLIC APIé    )ÚannotationsN)ÚIEContentProviderÚIEContentProviderErrorÚregister_preference_genericÚregister_provider_generic)Ú_pot_cache_provider_preferencesÚ_pot_cache_providersÚ_pot_pcs_providers)ÚPoTokenRequestc                  ó   — e Zd ZdZy)ÚPoTokenCacheProviderErrorz+An error occurred while fetching a PO TokenN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó    úU/var/www/files/kim/lib/python3.12/site-packages/yt_dlp/extractor/youtube/pot/cache.pyr   r      s   „ Ú5r   r   c                  ó~   — e Zd Zej                  dd„«       Zej                  dd„«       Zej                  dd„«       Zy)ÚPoTokenCacheProviderc                 ó   — y ©Nr   ©ÚselfÚkeys     r   ÚgetzPoTokenCacheProvider.get   ó   € àr   c                 ó   — y r   r   )r   r   ÚvalueÚ
expires_ats       r   ÚstorezPoTokenCacheProvider.store!   r   r   c                 ó   — y r   r   r   s     r   ÚdeletezPoTokenCacheProvider.delete%   r   r   N)r   ÚstrÚreturnz
str | None)r   r$   r   r$   r    Úint)r   r$   )r   r   r   ÚabcÚabstractmethodr   r!   r#   r   r   r   r   r      sN   „ Ø×Ñòó ðð 	×Ñòó ðð 	×Ñòó ñr   r   ÚPCP)Úsuffixc                  óP   — e Zd Z ej                  «       Z ej                  «       Zy)ÚCacheProviderWritePolicyN)r   r   r   ÚenumÚautoÚ	WRITE_ALLÚWRITE_FIRSTr   r   r   r,   r,   *   s   „ Ø—	‘	“€IØ$—)‘)“+Kr   r,   c                  óR   — e Zd ZU ded<   ded<   ej
                  Zded<   dZded	<   y)
ÚPoTokenCacheSpeczdict[str, str | None]Úkey_bindingsr&   Údefault_ttlr,   Úwrite_policyNzPoTokenCacheSpecProvider | NoneÚ	_provider)r   r   r   Ú__annotations__r,   r/   r5   r6   r   r   r   r2   r2   /   s,   … à'Ó'ØÓØ-E×-OÑ-O€LÐ*ÓOð 26€IÐ.Ô5r   r2   c                  ó:   — e Zd Zdd„Zej
                  dd„«       Zy)ÚPoTokenCacheSpecProviderc                 ó   — y)NTr   )r   s    r   Úis_availablez%PoTokenCacheSpecProvider.is_available;   s   € Ør   c                 ó   — y)z+Generate a cache spec for the given requestNr   )r   Úrequests     r   Úgenerate_cache_specz,PoTokenCacheSpecProvider.generate_cache_spec>   s   € ð 	r   N)r%   Úbool)r=   r   r%   zPoTokenCacheSpec | None)r   r   r   r;   r'   r(   r>   r   r   r   r9   r9   9   s!   „ óð 	×Ñòó ñr   r9   ÚPCSPc                óB   — t        | t        t        j                  ¬«      S )z%Register a PoTokenCacheProvider class©ÚproviderÚ
base_classÚregistry)r   r   r	   r   ©rC   s    r   Úregister_providerrG   D   s   € ä$ØÜ'Ü%×+Ñ+ôð r   c                óB   — t        | t        t        j                  ¬«      S )z)Register a PoTokenCacheSpecProvider classrB   )r   r9   r
   r   rF   s    r   Úregister_specrI   M   s   € ä$ØÜ+Ü#×)Ñ)ôð r   c                 ó@   — t        t        t        j                  g| ¢­Ž S )z0Register a preference for a PoTokenCacheProvider)r   r   r   r   )Ú	providerss    r   Úregister_preferencerL   V   s'   € ô 'ÜÜ'×-Ñ-ðð 
òð r   )rC   útype[PoTokenCacheProvider])rC   ztype[PoTokenCacheSpecProvider])rK   rM   r%   zCtyping.Callable[[CacheProviderPreference], CacheProviderPreference])!r   Ú
__future__r   r'   Údataclassesr-   ÚtypingÚ&yt_dlp.extractor.youtube.pot._providerr   r   r   r   Ú&yt_dlp.extractor.youtube.pot._registryr   r	   r
   Ú%yt_dlp.extractor.youtube.pot.providerr   r   ÚABCr   ÚEnumr,   Ú	dataclassr2   r9   rG   rI   rL   ÚTYPE_CHECKINGÚCallabler&   ÚCacheProviderPreferencer   r   r   ú<module>rZ      sá   ðÙ å "ã 
Û Û Û ÷ó ÷ñ õ
 Aô6Ð 6ô 6ôÐ,¨c¯g©g¸eõ ô˜tŸy™yô ð
 ×Ñ÷6ð 6ó ð6ôÐ0°#·'±'À&õ óóðØ.ðØ3vóð 
×ÒØ$Ÿo™oÐ/CÀ^Ð.TÐVYÐ.YÑZÑð r   