
    Cgq
                     
   d dl mZ d dlmZ d dlmZ d dlZd dlZej                  j                  dk(  reZ G d de
      Zd Zej                  j                  d	k\  r G d
 d ee            Znd dlmZ d Zd Zd Zd Zd Zy)    )unicode_literals)str)
basestringN   c                       e Zd Zd Zd Zy)BaseBaseStringc                 .    t        |t        t        f      S N)
isinstancebytesr   )clsinstances     V/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-packages/ffmpeg/_utils.py__instancecheck__z BaseBaseString.__instancecheck__   s    (UCL11    c                     t         r
   )NotImplemented)r   things     r   __subclasshook__zBaseBaseString.__subclasshook__   s    r   N)__name__
__module____qualname__r   r    r   r   r   r      s    2r   r   c                 6      G  fdd       } |dd i       S )Nc                   J    e Zd Zej                  Zej
                  Z fdZy)!with_metaclass.<locals>.metaclassc                 L    |t         j                  | |d|      S  ||      S )Nr   )type__new__)r   name
this_basesdbasesmetas       r   r   z)with_metaclass.<locals>.metaclass.__new__   s-    !||Cr155eQ''r   N)r   r   r   r   __call____init__r   )r#   r$   s   r   	metaclassr      s    ====	(r   r'   temporary_classr   )r$   r#   r'   s   `` r   with_metaclassr)      s!    (D ( &b11r      c                       e Zd Zy)r   N)r   r   r   r   r   r   r   r   &   s    r   r   c           
         t        | t              rt        |       }|S t        | t              r9dj	                  dj                  | D cg c]  }t        |       c}            }|S t        | t              rVt        |       D cg c])  }dj	                  t        |      t        | |               + }}ddj                  |      z   dz   }|S t        |       }|S c c}w c c}w )zHack around python `repr` to deterministically represent dictionaries.

    This is able to represent more things than json.dumps, since it does not require things to be JSON serializable
    (e.g. datetimes).
    z[{}]z, z{}: {}{})
r   r   r   listformatjoin_recursive_reprdictsortedrepr)itemresultxkkv_pairss        r   r2   r2   /   s     $
#T M 
D$	tyyd)K/!*<)KLM M 
D$	 D\
 OOOA.Q0HI
 
 tyy**S0 M dM *L
s   C.Cc                 |    t        |       j                  d      }t        j                  |      j	                         S )Nzutf-8)r2   encodehashlibmd5	hexdigest)r6   repr_s     r   get_hashrA   D   s/    D!((1E;;u''))r   c                 .    t        t        |       d      S )N   )base)intrA   )r6   s    r   get_hash_intrF   I   s    x~B''r   c                     t        |       } t        t        |            }d|v r#|j                  d       |j	                  dd       |D ]  }| j                  |d|z         }  | S )z3Helper function to escape uncomfortable characters.\r   )r   r/   setremoveinsertreplace)textcharschs      r   escape_charsrP   M   sb    t9DUEu}TQ +||Br	*+Kr   c                     g }t        | j                               D ]J  }| |   }|j                  dj                  |             |+|j                  dj                  |             L |S )z<Helper function to build command line arguments out of dict.z-{}z{})r4   keysappendr0   )kwargsargsr9   vs       r   convert_kwargs_to_cmd_line_argsrW   Y   s^    DFKKM" (1IELLO$=KKA'	(
 Kr   )
__future__r   builtinsr   past.builtinsr   r=   sysversion_infomajorr   r   r)   r2   rA   rF   rP   rW   r   r   r   <module>r^      s    '  $  
Q
C
T 
2 Q^N3  $**
(	r   