
    jG                        d dl Z d Zd Zd Zddddd	d
Zd                    d eD                       Z e j        de de j                  Zd Z	d Z
d Zd Z ed dD             d dD             z   d dD             z   d dD             z   d dD             z   d dD             z   d d D             z   g d!z             ZdS )"    Nc                 Z    g }t          | |j                   d                    |          S )a  Serialize nodes to CSS syntax.

    This should be used for :term:`component values`
    instead of just :meth:`tinycss2.ast.Node.serialize` on each node
    as it takes care of corner cases such as ``;`` between declarations,
    and consecutive identifiers
    that would otherwise parse back as the same token.

    :type nodes: :term:`iterable`
    :param nodes: An iterable of :class:`tinycss2.ast.Node` objects.
    :returns: A :obj:`string <str>` representing the nodes.

     )_serialize_toappendjoin)nodeschunkss     Z/home/ubuntu/budget-transfer-bot/.venv/lib/python3.11/site-packages/tinycss2/serializer.py	serializer      s+     F%'''776??    c                 ~   | dk    rdS | dd         dk    rdt          | dd                   z   S | d         dk    rd}| dd         } nd}| d         }||d	v st          |          d
k    r|n2|dk    rdn*|dk    rdn"|dk    rdn|dv rdt          |          z  nd|z   z  }|t          | dd                   z  }|S )aX  Serialize any string as a CSS identifier

    :type value: :obj:`str`
    :param value: A string representing a CSS value.
    :returns:
        A :obj:`string <str>` that would parse as an
        :class:`tinycss2.ast.IdentToken` whose
        :attr:`tinycss2.ast.IdentToken.value` attribute equals the passed
        ``value`` argument.

    -z\-N   z--r      r   5abcdefghijklmnopqrstuvwxyz_ABCDEFGHIJKLMNOPQRSTUVWXYZ   
\A \D \C 
0123456789z\%X \)serialize_nameord)valueresultcs      r
   serialize_identifierr       s    ||uRaRyDnU122Y////Qx3abb	aA
 0 1 147FFTMM 	
t))t))t))--#a&&qF nU122Y'''FMr   c                 @    d                     d | D                       S )Nr   c              3      K   | ]:}|d v st          |          dk    r|n|dk    rdn|dk    rdn|dk    rdnd|z   V  ;d	S )
z@abcdefghijklmnopqrstuvwxyz-_0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZr   r   r   r   r   r   r   r   N)r   .0r   s     r
   	<genexpr>z!serialize_name.<locals>.<genexpr>=   s           0 1 147FFTMM 	
t))t))t))q     r   r   r   s    r
   r   r   <   s6    77        r   \"\\r   r   r   )"r   r   r   r   r   c              #   >   K   | ]}t          j        |          V  d S N)reescape)r$   chars     r
   r%   r%   O   s*      QQt29T??QQQQQQr   []c                 B    t           |                     d                   S )Nr   )_replacement_string_valuegroup)matchs    r
   _serialize_string_value_matchr6   Q   s    $U[[^^44r   c                 B    t                               t          |           S r,   )_re_string_valuesubr6   r'   s    r
   serialize_string_valuer:   S   s     =uEEEr   c                 @    d                     d | D                       S )Nr   c              3      K   | ]V}|d k    rdnI|dk    rdnA|dk    rdn9|dk    rdn1|dk    rd	n)|d
k    rdn!|dk    rdn|dk    rdn|dk    rdn	|dk    rdn|V  WdS )'z\'r*   r(   r   r)    z\ 	z\9 r   r   r   r   r   r   (z\()z\)N r#   s     r
   r%   z serialize_url.<locals>.<genexpr>X   s          ccdct))t))t))t))cc	     r   r&   r'   s    r
   serialize_urlrC   W   s6    77        r   c                 *   t           }d}| D ]}|j        dk    r|j        n|j        }||f|v r |d           n1|dk    r+|dk    r|j                            d          s |d           |                    |           |dk    r |d           |}dS )	zSerialize an iterable of nodes to CSS syntax.

    White chunks as a string by calling the provided :obj:`write` callback.

    Nliteralz/**/r   
whitespacer   declaration;)	BAD_PAIRStyper   
startswithr   )r   write	bad_pairsprevious_typenodeserialization_types         r
   r   r   i   s     IM + ++/9	+A+Adii#': 	-.);;E&MMMMd"""l22
%%d++ 3E$KKK5!!!..E#JJJ*+ +r   c                      g | ]}d D ]}||fS ))identfunctionurlnumber
percentage	dimensionunicode-rangerB   r$   abs      r
   
<listcomp>r\      sC     1 1 101 1 V 1 1 1 1r   )rR   
at-keywordhashrW   #r   rU   c                      g | ]}d D ]}||fS ))r   z-->rB   rY   s      r
   r\   r\      sA         V    r   )rR   r]   r^   rW   c                      g | ]}d D ]}||fS ))rR   rS   rT   rB   rY   s      r
   r\   r\      sA     / / /-/ / V / / / /r   )r_   r   rU   @c                      g | ]}d D ]}||fS ))rU   rV   rW   rB   rY   s      r
   r\   r\      sA     8 8 868 8 V 8 8 8 8r   )rX   .+c                     g | ]}d |fS )rb   rB   r$   r[   s     r
   r\   r\      s    JJJ!c1XJJJr   )rR   rS   rT   rX   r   c                     g | ]}d |fS )rX   rB   rg   s     r
   r\   r\      s    >>>aoq>>>r   )rR   rS   ?c                     g | ]}|d fS )=rB   )r$   rZ   s     r
   r\   r\      s    !aXr   z$*^~|))rR   z() block)|rl   )/*)r-   r   r    r   r3   r   r8   compile	MULTILINEr6   r:   rC   r   setrI   rB   r   r
   <module>rr      s   				  &" " "J	 	 	 




   77QQ7PQQQQQ 2:5"2555r|DD 5 5 5F F F  $+ + +. C1 1Q1 1 1 =  	/ /*/ / /	/8 8,8 8 88 KJIJJJK ?>#=>>>?  w   433!4 			r   