Ë
    �š¾ju  ã                   óº  — d dl Z d dlmZ d dlmZmZmZmZmZm	Z	m
Z
 d dlmZ ddlmZ ddlmZ ddlmZ dd	lmZ d
dddœZ	 	 	 	 	 	 	 	 	 	 	 	 d!de
eef   dee   dee   dede
ee   ed   f   dededee
eed      ed   f      dededee   dee   dee   defd„Z	 	 	 	 	 	 d"dede
e	e   eed   f   dedee
e	ed      ef      dedee	   dee	   defd„Zd „ Zy)#é    N)Úzip_longest)Ú
CollectionÚDictÚIterableÚListÚOptionalÚSequenceÚUnion)Úcasté   )ÚLiteral)ÚCOLORS)Úcolor)Úsupports_ansiú<ú>ú^)ÚlÚrÚcÚautoÚdataÚheaderÚfooterÚdividerÚwidthsÚmax_colÚspacingÚaligns)r   r   r   Ú	multilineÚ
env_prefixÚcolor_valuesÚ	fg_colorsÚ	bg_colorsÚreturnc           
      ód  — |€|�dt        t        «      }|
�|j                  |
«       |�|D �cg c]  }|j                  ||«      ‘Œ }}|�|D �cg c]  }|j                  ||«      ‘Œ }}t	        | t         «      rt        | j                  «       «      } |rœg }t        | «      D ]Š  \  }}|D �cg c]  }t	        |t
        t        f«      r|n|g‘Œ }}|j                  t        t        |ddiŽ«      «       |t        | «      dz
  k  sŒc|j                  t        |D �cg c]  }d‘Œ c}«      «       ŒŒ |} |dk(  rt        | |||«      }||||	||dœ}t        |D �cg c]  }d|z  ‘Œ	 c}fi |¤Ž}g }|r.|j                  t        |fi |¤Ž«       |r|j                  |«       t        | «      D ]   \  }}|j                  t        |fi |¤Ž«       Œ" |r.|r|j                  |«       |j                  t        |fi |¤Ž«       dj                  dj!                  |«      «      S c c}w c c}w c c}w c c}w c c}w )	aÞ  Format tabular data.

    data (Union[Collection, Dict]): The data to render. Either a list of lists (one per
        row) or a dict for two-column tables.
    header (Optional[Iterable]): Optional header columns.
    footer (Optional[Iterable]): Optional footer columns.
    divider (bool): Show a divider line between header/footer and body.
    widths (Union[Iterable[int], Literal['auto']]): Column widths in order. If "auto", widths
        will be calculated automatically based on the largest value.
    max_col (int): Maximum column width.
    spacing (int): Spacing between columns, in spaces.
    aligns (Optional[Union[Iterable[str], str]]): Optional column alignments
        in order. 'l' (left, default), 'r' (right) or 'c' (center). If a string,
        value is used for all columns.
    multiline (bool): If a cell value is a list of a tuple, render it on
        multiple lines, with one value per line.
    env_prefix (str): Prefix for environment variables, e.g.
        WASABI_LOG_FRIENDLY.
    color_values (Optional[Dict]): Optional color values to add or overwrite, name mapped to value.
    fg_colors (Optional[Iterable]): Optional foreground colors, one per column. None can be specified
        for individual columns to retain the default foreground color.
    bg_colors (Optional[Iterable]): Optional background colors, one per column. None can be specified
        for individual columns to retain the default background color.
    RETURNS (str): The formatted table.
    Ú	fillvalueÚ r   r   )r   r   r   r!   r#   r$   ú-z
{}
ú
)Údictr   ÚupdateÚgetÚ
isinstanceÚlistÚitemsÚ	enumerateÚtupleÚextendr   ÚlenÚappendÚ_get_max_widthsÚrowÚformatÚjoin)r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   ÚcolorsÚfg_colorÚbg_colorÚzipped_dataÚiÚitemÚvÚvalsÚsettingsÚwidthÚdivider_rowÚrowss                            úW/home/spazio/kingdom_calls/work5/transenv/lib/python3.12/site-packages/wasabi/tables.pyÚtablerG      s)  € ðT Ð 	Ð 5Ü”f“ˆØÐ#Ø�M‰M˜,Ô'ØÐ ØHQÖR¸H˜Ÿ™ H¨hÕ7ÐRˆIÐRØÐ ØHQÖR¸H˜Ÿ™ H¨hÕ7ÐRˆIÐRÜ�$œÔÜ�D—J‘J“LÓ!ˆÙØˆÜ  “ò 	>‰GˆAˆtØHLÖMÀ1œ A¬¬e }Ô5‘A¸A¸3Ñ>ÐMˆDÐMØ×Ñœt¤K°Ð$DÀÑ$DÓEÔFØ”3�t“9˜q‘=Ó Ø×"Ñ"¤5°dÖ);°ª"Ò);Ó#<Õ=ð		>ð
 ˆØ�ÒÜ   v¨v°wÓ?ˆàØØØ ØØñ€Hô °Ö7 u�s˜U“{Ò7ÑD¸8ÑD€KØ€DÙØ�‰”C˜Ñ+ (Ñ+Ô,ÙØ�K‰K˜Ô$Ü˜T“?ò +‰ˆˆ4Ø�‰”C˜Ñ) Ñ)Õ*ð+áÙØ�K‰K˜Ô$Ø�‰”C˜Ñ+ (Ñ+Ô,Ø�?‰?˜4Ÿ9™9 T›?Ó+Ð+ùòG SùâRùò Nùò *<ùò 8s   ­HÁHÂ+"H#Ä	H(ÅH-c                 ó6  — t        j                  dj                  |«      d«      }t        «       xr | xr
 |duxs |du}g }	t	        |t
        «      r| D �
cg c]  }
|‘Œ c}
nt        t        t
           |«      }t        |d«      s<|dk7  r7t        t        t           t        t        | «      «      D �
cg c]  }
|‘Œ c}
«      }t        | «      D ]­  \  }}t        j                  |r|t        |«      k  r||   nd«      }|dk(  rt        |«      nt        t        t           |«      |   }d||fz  }|j                  t        |«      «      }|r |�||   nd}|�||   nd}t        |||¬«      }|	j!                  |«       Œ¯ d	|z  j#                  |	«      S c c}
w c c}
w )
a;  Format data as a table row.

    data (Collection): The individual columns to format.
    widths (Union[Sequence[int], int, Literal['auto']]): Column widths, either one integer for all
        columns or an iterable of values. If "auto", widths will be calculated
        automatically based on the largest value.
    spacing (int): Spacing between columns, in spaces.
    aligns (Optional[Union[Sequence[Literal['r', 'c', 'l']], str]]): Optional column
        alignments in order. 'l' (left, default), 'r' (right) or 'c' (center).
        If a string, value is used for all columns.
    env_prefix (str): Prefix for environment variables, e.g.
        WASABI_LOG_FRIENDLY.
    fg_colors (Optional[Sequence]): Optional foreground colors for the columns, in order. None can be
        specified for individual columns to retain the default foreground color.
    bg_colors (Optional[Sequence]): Optional background colors for the columns, in order. None can be
        specified for individual columns to retain the default background color.
    RETURNS (str): The formatted row.
    z{}_LOG_FRIENDLYFNÚ__iter__r   r   z{:%s%d})ÚfgÚbgú )ÚosÚgetenvr8   r   r.   Ústrr   r   ÚhasattrÚintÚranger4   r1   Ú	ALIGN_MAPr-   Ú_colorr5   r9   )r   r   r   r   r!   r#   r$   Úenv_log_friendlyÚshow_colorsÚcolsÚ_Ú_alignsr>   ÚcolÚalignÚ	col_widthÚtplrJ   rK   s                      rF   r7   r7   c   sŽ  € ô6 —y‘yÐ!2×!9Ñ!9¸*Ó!EÀuÓMÐä‹ò 	=Ø Ð ò	=à˜dÐ"Ò; i°tÐ&;ð ð
 €Dä",¨V´SÔ"9˜Ö�AŠÓ¼tÄDÌÁIÈvÓ?Vð ô �6˜:Ô&¨6°VÒ+;Ü”dœ3‘i´%¼¸D»	Ó2BÖ!C¨Q¢&Ò!CÓDˆÜ˜D“/ò 	‰ˆˆ3Ü—‘©G¸¼CÀ»LÒ8H˜g ašjÈcÓRˆØ &¨&Ò 0”C˜”H´d¼4Ä¹9ÀfÓ6MÈaÑ6Pˆ	Ø˜5 )Ð,Ñ,ˆØ�j‰jœ˜S›Ó"ˆÙØ!*Ð!6�˜1’¸DˆBØ!*Ð!6�˜1’¸DˆBÜ˜ ¨Ô+ˆCØ�‰�CÕð	ð �'‰M×Ñ Ó%Ð%ùò 	ùò "Ds   Á	FÂ2	F
c                 óJ  — t        | «      }|r|j                  |«       |r|j                  |«       |D ��cg c]$  }|D �cg c]  }t        t        |«      «      ‘Œ c}‘Œ& }}}t        t	        |Ž «      D �cg c]  }t        t        |«      |«      ‘Œ c}S c c}w c c}}w c c}w )N)r/   r5   r4   rO   ÚzipÚminÚmax)	r   r   r   r   Úall_datar?   rZ   r   Úws	            rF   r6   r6   —   s   € Ü�D‹z€HÙØ�‰˜ÔÙØ�‰˜ÔØ:B×C°$¨Ö- Œs”3�s“8�}Ô-ÐC€FÑCÜ*.¬s°F¨|Ó*<Ö= QŒC”�A“˜Õ Ò=Ð=ùò .ùÓCùÚ=s   ·	BÁ BÁBÁ6B ÂB)NNFr   é   é   NFÚWASABINNN)r   re   Nrf   NN)rM   Ú	itertoolsr   Útypingr   r   r   r   r   r	   r
   r   Úcompatr   Úutilr   r   rT   r   rS   ÚboolrQ   rO   rG   r7   r6   © ó    rF   ú<module>rn      sé  ðÛ 	Ý !ß N× NÑ NÝ å Ý Ý !Ý à˜C cÑ*€	ð "&Ø!%ØØ4:ØØØX\ØØØ#'Ø$(Ø$(ñR,à
�
˜DÐ Ñ
!ðR,ð �XÑðR,ð �XÑð	R,ð
 ðR,ð �(˜3‘- ¨¡Ð0Ñ1ðR,ð ðR,ð ðR,ð �U˜8 G¨MÑ$:Ñ;¸WÀ]Ñ=SÐSÑTÑUðR,ð ðR,ð ðR,ð ˜4‘.ðR,ð ˜Ñ!ðR,ð ˜Ñ!ðR,ð  	ó!R,ðn :@ØØEIØØ$(Ø$(ñ1&Ø
ð1&à�(˜3‘-  g¨f¡oÐ5Ñ6ð1&ð ð1&ð �U˜8 G¨MÑ$:Ñ;¸SÐ@ÑAÑBð	1&ð
 ð1&ð ˜Ñ!ð1&ð ˜Ñ!ð1&ð 	ó1&óh>rm   