Ë
    	êñiá  ã                  ó¶   — d Z ddlmZ ddlZddlZddlmZ ddlmZ ddl	m
Z
 erddlmZ ddlmZ dd	lmZ dd
„Z G d„ d«      Z G d„ d«      Z G d„ de«      Zy)z*Module for formatting output data in HTML.é    )ÚannotationsN)Údedent)ÚTYPE_CHECKING)Úhtml)ÚIterable)ÚTracebackType)Ú	DataFramec                ó2   — t        j                  dd„ | «      S )z9Replace consecutive spaces with HTML non-breaking spaces.z( {2,})c                ó<   — dt        | j                  d«      «      z  S )Nz&nbsp;r   )ÚlenÚgroup)Úmatchs    úX/var/www/pod-logistic/pod-ai/venv/lib/python3.12/site-packages/polars/dataframe/_html.pyú<lambda>z,replace_consecutive_spaces.<locals>.<lambda>   s   € ¨H´s¸5¿;¹;Àq»>Ó7JÑ,J€ ó    )ÚreÚsub)Úss    r   Úreplace_consecutive_spacesr      s   € ä�6‰6�*ÑJÈAÓNÐNr   c                  óJ   — e Zd ZdZ	 d	 	 	 	 	 	 	 dd„Zdd„Z	 	 	 	 	 	 	 	 d	d„Zy)
ÚTagz#Class for representing an HTML tag.Nc                ó.   — || _         || _        || _        y ©N)ÚtagÚelementsÚ
attributes)Úselfr   r   r   s       r   Ú__init__zTag.__init__   s   € ð ˆŒØ ˆŒØ$ˆ�r   c                óF  — | j                   �ld| j                  › d�}| j                   j                  «       D ]  \  }}||› d|› d�z  }Œ |j                  «       › d�}| j                  j                  |«       y | j                  j                  d| j                  › d�«       y )Nú<ú z="z" ú>)r   r   ÚitemsÚrstripr   Úappend)r   r   ÚkÚvs       r   Ú	__enter__zTag.__enter__%   s•   € Ø�?‰?Ð&Ø�D—H‘H�:˜Q�ˆAØŸ™×-Ñ-Ó/ò #‘��1Ø˜�s˜"˜Q˜C˜r�]Ñ"‘ð#à—8‘8“:�,˜aÐ ˆAØ�M‰M× Ñ  Õ#à�M‰M× Ñ  1 T§X¡X J¨a Õ1r   c                óV   — | j                   j                  d| j                  › d�«       y )Nz</r"   )r   r%   r   )r   Úexc_typeÚexc_valÚexc_tbs       r   Ú__exit__zTag.__exit__/   s#   € ð 	�‰×Ñ˜r $§(¡( ¨1Ð-Õ.r   r   )r   ú	list[str]r   Ústrr   zdict[str, str] | NoneÚreturnÚNone©r0   r1   )r*   ztype[BaseException] | Noner+   zBaseException | Noner,   zTracebackType | Noner0   r1   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r(   r-   © r   r   r   r      se   „ Ù-ð -1ð	%àð%ð ð%ð *ð	%ð
 
ó%ó2ð/à,ð/ð &ð/ð %ð	/ð
 
ô/r   r   c                  óP   — e Zd Zddddœ	 	 	 	 	 	 	 	 	 dd„Zdd„Zdd„Zdd„Zdd	„Zy
)ÚHTMLFormatteréK   é(   F)Úmax_colsÚmax_rowsÚfrom_seriesc               óN  — || _         g | _        || _        || _        || _        |  |  ||j
                  k  r\t        |d«      \  }}g t        t        ||z   «      «      ¢d‘t        t        |j
                  |z
  |j
                  «      «      ¢| _	        nt        |j
                  «      | _	        ||j                  k  rPg t        t        |dz  «      «      ¢d‘t        t        |j                  |dz  z
  |j                  «      «      ¢| _        y t        |j                  «      | _        y )Né   éÿÿÿÿ)Údfr   r<   r=   r>   ÚheightÚdivmodÚlistÚrangeÚrow_idxÚwidthÚcol_idx)r   rB   r<   r=   r>   ÚhalfÚrests          r   r   zHTMLFormatter.__init__9   s  € ð ˆŒØ#%ˆŒØ ˆŒØ ˆŒØ&ˆÔÙÙà�b—i‘iÒÜ ¨!Ó,‰JˆD�$ðÜ”e˜D 4™KÓ(Ó)ðàðô ”e˜BŸI™I¨Ñ,¨b¯i©iÓ8Ó9ðˆD�Lô ! §¡Ó+ˆDŒLØ�b—h‘hÒðÜ”e˜H¨™MÓ*Ó+ðàðô ”e˜BŸH™H x°1¡}Ñ4°b·h±hÓ?Ó@ðˆD�Lô ! §¡›?ˆD�Lr   c           
     ó\  — t        | j                  d«      5  t        t        t        j
                  j                  dd«      «      «      s¸t        | j                  d«      5  | j                  j                  }| j                  D ]s  }t        | j                  d«      5  |dk(  r| j                  j                  d«       n1| j                  j                  t        j                  ||   «      «       ddd«       Œu 	 ddd«       t        t        t        j
                  j                  d	d«      «      «      s³t        | j                  d«      5  | j                  j                  j                  «       }| j                  D ]`  }t        | j                  d
«      5  |dk(  r| j                  j                  d«       n| j                  j                  ||   «       ddd«       Œb 	 ddd«       ddd«       y# 1 sw Y   �ŒwxY w# 1 sw Y   �ŒxY w# 1 sw Y   Œ˜xY w# 1 sw Y   Œ8xY w# 1 sw Y   yxY w)z"Write the header of an HTML table.ÚtheadÚ"POLARS_FMT_TABLE_HIDE_COLUMN_NAMESÚ0ÚtrÚthrA   ú&hellip;NÚ'POLARS_FMT_TABLE_HIDE_COLUMN_DATA_TYPESÚtd)r   r   ÚboolÚintÚosÚenvironÚgetrB   ÚcolumnsrI   r%   r   ÚescapeÚ_dfÚdtype_strings)r   rZ   ÚcÚdtypess       r   Úwrite_headerzHTMLFormatter.write_header[   sÍ  € ä�—‘ Ó(ñ 	@ÜœœBŸJ™JŸN™NÐ+OÐQTÓUÓVÔWÜ˜Ÿ™¨Ó-ñ NØ"Ÿg™gŸo™o�GØ!Ÿ\™\ò N˜Ü  §¡°Ó5ñ NØ  BšwØ $§¡× 4Ñ 4°ZÕ @à $§¡× 4Ñ 4´T·[±[ÀÈÁÓ5LÔ M÷	Nð NñN÷Nô Ü”B—J‘J—N‘NÐ#LÈcÓRÓSôô ˜Ÿ™¨Ó-ñ @Ø!ŸW™WŸ[™[×6Ñ6Ó8�FØ!Ÿ\™\ò @˜Ü  §¡°Ó5ñ @Ø  BšwØ $§¡× 4Ñ 4°ZÕ @à $§¡× 4Ñ 4°V¸A±YÔ ?÷	@ð @ñ@÷@÷	@ð 	@÷
Nñ Nú÷Nñ Nú÷@ð @ú÷@ð @ú÷	@ð 	@úsp   —A	H"Á <G=ÂAG0	Ã/
G=Ã:AH"Å
A
HÆA H
	Ç
HÇH"Ç0G:Ç5G=Ç=H	ÈH"È
HÈHÈH	ÈH"È"H+c                ó¶  — t        t        j                  j                  dd¬«      «      }t	        | j
                  d«      5  | j                  D ]Ü  }t	        | j
                  d«      5  | j                  D ]«  }t	        | j
                  d«      5  |dk(  s|dk(  r| j
                  j                  d«       nd| j                  d	d	…|f   }| j
                  j                  t        t        j                  |j                  j                  ||«      «      «      «       d	d	d	«       Œ­ 	 d	d	d	«       ŒÞ 	 d	d	d	«       y	# 1 sw Y   ŒÌxY w# 1 sw Y   ŒþxY w# 1 sw Y   y	xY w)
z Write the body of an HTML table.ÚPOLARS_FMT_STR_LENé   )ÚdefaultÚtbodyrP   rT   rA   rR   N)rV   rW   rX   rY   r   r   rG   rI   r%   rB   r   r   r[   Ú_sÚget_fmt)r   Ústr_len_limitÚrr^   Úseriess        r   Ú
write_bodyzHTMLFormatter.write_bodys   s#  € äœBŸJ™JŸN™NÐ+?È˜NÓLÓMˆÜ�—‘ Ó(ñ 	"Ø—\‘\ò "�Ü˜Ÿ™¨Ó-ñ "Ø!Ÿ\™\ò 
"˜Ü  §¡°Ó5ñ 	"Ø  Bšw¨!¨rª'Ø $§¡× 4Ñ 4°ZÕ @à)-¯©²°A°© Ø $§¡× 4Ñ 4Ü$>Ü(,¯©°F·I±I×4EÑ4EÀaÈÓ4WÓ(Xó%&ô!"÷	"ð 	"ñ
"÷"ð "ñ"÷	"ð 	"÷	"ð 	"ú÷"ð "ú÷	"ð 	"ús=   Á&EÁ'&EÂBD7Ä
EÄ#
EÄ7E Ä<EÅEÅEÅEc                ó:   — | j                   j                  |«       y)z&Append a raw string to the inner HTML.N)r   r%   )r   Úinners     r   ÚwritezHTMLFormatter.write…   s   € à�‰×Ñ˜UÕ#r   c                óê  — t        t        t        j                  j	                  dd«      «      «      s\| j
                  j                  }| j                  r
d|d   d›d�nd|d   d›d|d   d›d	�}| j                  j                  d
|› d�«       t        | j                  ddddœ«      5  | j                  «        | j                  «        ddd«       | j                  S # 1 sw Y   | j                  S xY w)ú/Return the lines needed to render a HTML table.Ú1POLARS_FMT_TABLE_HIDE_DATAFRAME_SHAPE_INFORMATIONrO   ú(r   Ú_z,)z, é   ú)z<small>shape: z</small>ÚtableÚ1Ú	dataframe)ÚborderÚclassN)rU   rV   rW   rX   rY   rB   Úshaper>   r   r%   r   r`   rk   )r   r   r{   s      r   ÚrenderzHTMLFormatter.render‰   så   € äÜÜ—
‘
—‘ÐRÐTWÓXóô
ð —‘—‘ˆAØ&*×&6Ò&6�a˜˜!™˜Q�x˜r‘N¸aÀÀ!ÁÀQ¸xÀrÈ!ÈAÉ$ÈqÈÐQRÐ<SˆEà�M‰M× Ñ  >°%°¸Ð!AÔBäð �M‰MØØ [Ñ1ó
ñ 	ð ×ÑÔØ�O‰OÔ÷	ð �}‰}Ð÷	ð �}‰}Ðús   Â)!CÃC2N)
rB   r	   r<   rV   r=   rV   r>   rU   r0   r1   r2   )rm   r/   r0   r1   ©r0   r.   )r3   r4   r5   r   r`   rk   rn   r|   r7   r   r   r9   r9   8   sX   „ ð
 ØØ!ñ +àð +ð ð	 +ð
 ð +ð ð +ð 
ó +óD@ó0"ó$$ôr   r9   c                  ó,   ‡ — e Zd ZdZdd„Zdˆ fd„Zˆ xZS )ÚNotebookFormatterz§
    Class for formatting output data in HTML for display in Jupyter Notebooks.

    This class is intended for functionality specific to DataFrame._repr_html_().
    c                ó<   — d}| j                  t        |«      «       y )NzÐ            <style>
            .dataframe > thead > tr,
            .dataframe > tbody > tr {
              text-align: right;
              white-space: pre-wrap;
            }
            </style>
        )rn   r   )r   Ústyles     r   Úwrite_stylezNotebookFormatter.write_style©   s   € ðˆð 	�
‰
”6˜%“=Õ!r   c                óÄ   •— t        | j                  d«      5  | j                  «        t        ‰| �  «        ddd«       | j                  S # 1 sw Y   | j                  S xY w)rp   ÚdivN)r   r   r‚   Úsuperr|   )r   Ú	__class__s    €r   r|   zNotebookFormatter.renderµ   sO   ø€ ä�—‘ Ó&ñ 	Ø×ÑÔÜ‰G‰NÔ÷	ð �}‰}Ð÷	ð �}‰}Ðús   ˜AÁAr2   r}   )r3   r4   r5   r6   r‚   r|   Ú__classcell__)r†   s   @r   r   r   ¢   s   ø„ ñó
"÷ñ r   r   )r   r/   r0   r/   )r6   Ú
__future__r   rW   r   Útextwrapr   Útypingr   Úpolars._dependenciesr   Úcollections.abcr   Útypesr   Úpolarsr	   r   r   r9   r   r7   r   r   ú<module>r�      sP   ðÙ 0å "ã 	Û 	Ý Ý  å %áÝ(Ý#å óO÷
/ñ /÷@gñ gôT˜õ r   