Ë
     ²‘i­  ã                   ó¨  — d Z ddlZddlmZ ddlmZmZmZm	Z	 ddl
mZ ddlmZ ddlmZmZ erddlmZ dd	lmZmZ  ed
«      Zdee   dz  deedf   fd„Ze	d%d„«       Ze	deez  ej6                  z  dej6                  fd„«       Zdeez  ej6                  z  dz  dej6                  dz  fd„Zdedz  dee   dee   fd„Z eded¬«      Z eddd¬«      Zere G d„ de«      «       Z dedz  de!e   dddedz  fd„Z"dedz  de!e   ddd e#d!   dedz  f
d"„Z$de#e   dz  de!e   dddeedf   fd#„Z%de#e   dz  de!e   ddd e#d!   deedf   f
d$„Z&y)&a:  This module contains helper functions related to parsing arguments for classes and methods.

Warning:
    Contents of this module are intended to be used internally by the library and *not* by the
    user. Changes to this module are not considered breaking changes and may not be documented in
    the changelog.
é    N)ÚSequence)ÚTYPE_CHECKINGÚProtocolÚTypeVarÚoverload)ÚLinkPreviewOptions)ÚTelegramObject)ÚJSONDictÚODVInput)Útype_check_only)ÚBotÚFileCredentialsÚTÚargÚreturn.c                 ó    — | rt        | «      S dS )zÇParses an optional sequence into a tuple

    Args:
        arg (:obj:`Sequence`): The sequence to parse.

    Returns:
        :obj:`Tuple`: The sequence converted to a tuple or an empty tuple.
    © )Útuple©r   s    úV/var/www/telegram/venv/lib/python3.12/site-packages/telegram/_utils/argumentparsing.pyÚparse_sequence_argr   +   s   € ñ Œ5�‹:Ð$ "Ð$ó    c                  ó   — y ©Nr   r   s    r   Úto_timedeltar   7   s   € Ø%(r   c                  ó   — y r   r   r   s    r   r   r   ;   s   € ð
 r   c                 óf   — | €yt        | t        t        z  «      rt        j                  | ¬«      S | S )a  Parses an optional time period in seconds into a timedelta

    Args:
        arg (:obj:`int` | :class:`datetime.timedelta`, optional): The time period to parse.

    Returns:
        :obj:`timedelta`: The time period converted to a timedelta object or :obj:`None`.
    N)Úseconds)Ú
isinstanceÚintÚfloatÚdtmÚ	timedeltar   s    r   r   r   C   s.   € ð €{ØÜ�#”sœU‘{Ô#Ü�}‰} SÔ)Ð)Ø€Jr   Údisable_web_page_previewÚlink_preview_optionsc                 ó@   — | r|rt        d«      ‚| �t        | ¬«      }|S )zŠWrapper around warn_about_deprecated_arg_return_new_arg. Takes care of converting
    disable_web_page_preview to LinkPreviewOptions.
    zXParameters `disable_web_page_preview` and `link_preview_options` are mutually exclusive.)Úis_disabled)Ú
ValueErrorr   )r$   r%   s     r   Úparse_lpo_and_dwppr)   S   s6   € ñ  Ñ$8Üðó
ð 	
ð
  Ð+Ü1Ð>VÔWÐàÐr   ÚTele_coT)ÚboundÚ	covariantÚTeleCrypto_coÚHasDecryptMethodc                   ó„   — e Zd ZdZedee   deddded   def
d	„«       Z	edee   dee   ddded   de
ed
f   f
d„«       Zy)r.   r   ÚclsÚdataÚbotú
Bot | NoneÚcredentialsr   r   c                  ó   — y r   r   ©r0   r1   r2   r4   s       r   Úde_json_decryptedz"HasDecryptMethod.de_json_decryptedn   s   € ð  r   .c                  ó   — y r   r   r6   s       r   Úde_list_decryptedz"HasDecryptMethod.de_list_decryptedv   s   € ð ),r   N)Ú__name__Ú
__module__Ú__qualname__Ú	__slots__ÚclassmethodÚtyper-   r
   Úlistr7   r   r9   r   r   r   r.   r.   j   s­   „ àˆ	à	ð	 Ø�mÑ$ð	 àð	 ð ð	 ð Ð/Ñ0ð		 ð
 ò	 ó 
ð	 ð 
ð	,Ø�mÑ$ð	,à�x‘.ð	,ð ð	,ð Ð/Ñ0ð		,ð
 �= #Ð%Ñ&ò	,ó 
ñ	,r   r1   r0   r2   r3   c                 ó,   — | €y|j                  | |«      S )z<Wrapper around TO.de_json that returns None if data is None.N)Úde_json©r1   r0   r2   s      r   Úde_json_optionalrD      s   € ð €|Øà�;‰;�t˜SÓ!Ð!r   r4   r   c                 ó.   — | €y|j                  | ||«      S )zFWrapper around TO.de_json_decrypted that returns None if data is None.N)r7   ©r1   r0   r2   r4   s       r   Úde_json_decrypted_optionalrG   ‰   s!   € ð €|Øà× Ñ   s¨KÓ8Ð8r   c                 ó,   — | €y|j                  | |«      S )zEWrapper around TO.de_list that returns an empty list if data is None.r   )Úde_listrC   s      r   Úde_list_optionalrJ   –   s   € ð €|Øà�;‰;�t˜SÓ!Ð!r   c                 ó.   — | €y|j                  | ||«      S )zOWrapper around TO.de_list_decrypted that returns an empty list if data is None.r   )r9   rF   s       r   Úde_list_decrypted_optionalrL       s!   € ð €|Øà× Ñ   s¨KÓ8Ð8r   )r   Nr   N)'Ú__doc__Údatetimer"   Úcollections.abcr   Útypingr   r   r   r   Útelegram._linkpreviewoptionsr   Útelegram._telegramobjectr	   Útelegram._utils.typesr
   r   r   Útelegramr   r   r   r   r   r   r    r!   r#   Úboolr)   r*   r-   r.   r?   rD   r@   rG   rJ   rL   r   r   r   ú<module>rV      s8  ðñ&ó Ý $ß =Ó =å ;Ý 3ß 4áÝ&ç-áˆCƒL€ð	%˜H Q™K¨$Ñ.ð 	%°5¸¸C¸±=ó 	%ð 
Ú (ó 
Ø (ð 
ðàˆe‰�c—m‘mÑ#ðð 	‡]�]ò	ó 
ðð�c˜E‘k C§M¡MÑ1°DÑ8ð ¸S¿]¹]ÈTÑ=Qó ð  Ø" T™kð ØAIÐJ\ÑA]ð àÐ Ñ!ó ñ$ �) >¸TÔ
B€Ù˜Ð/AÈTÔR€áàô,˜8ó ,ó ð,ð("Ø
�T‰/ð"Ø $ W¡ð"Ø4@ð"àˆt�^ó"ð
9Ø
�T‰/ð
9à	ˆmÑ	ð
9ð 
ð
9ð Ð'Ñ(ð	
9ð
 �TÑó
9ð"Ø
ˆx‰.˜4Ñ
ð"Ø&*¨7¡mð"Ø:Fð"à
ˆ7�Cˆ<Ñó"ð
9Ø
ˆx‰.˜4Ñ
ð
9à	ˆmÑ	ð
9ð 
ð
9ð Ð'Ñ(ð	
9ð
 ˆ=˜#ÐÑô
9r   