§
    ªöÉge^  ã                  óØ   — d Z ddlm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 ddlmZ dd	lmZmZ dd
lmZ er
ddlmZmZmZ  G d„ d¦  «        Z G d„ de¦  «        ZdS )z,
Module for formatting output data in HTML.
é    )Úannotations)Údedent)ÚTYPE_CHECKINGÚAnyÚFinalÚcast)Ú
get_option)Úlib)Ú
MultiIndexÚoption_context)Úis_url)ÚDataFrameFormatterÚget_level_lengths)Úpprint_thing)ÚHashableÚIterableÚMappingc                  ó`  — e Zd ZU dZdZded<   	 	 	 	 d=d>d„Zd?d„Zd@d„Ze	dAd„¦   «         Z
e	dAd„¦   «         Ze	dAd„¦   «         Ze	dBd„¦   «         ZdCd„Ze	dAd„¦   «         Ze	dBd „¦   «         ZdDdEd%„Z	 dFdGd(„ZdHdId)„Z	 dJdKd,„Z	 	 	 	 	 	 dLdMd1„ZdDdNd2„ZdNd3„ZdNd4„ZdNd5„ZdOd7„ZdNd8„ZdPd;„ZdPd<„ZdS )QÚHTMLFormatterac  
    Internal class for formatting output data in html.
    This class is intended for shared functionality between
    DataFrame.to_html() and DataFrame._repr_html_().
    Any logic in common with other output formatting methods
    should ideally be inherited from classes in format.py
    and this class responsible for only producing html markup.
    é   r   Úindent_deltaNFÚ	formatterr   Úclassesú(str | list[str] | tuple[str, ...] | NoneÚborderúint | bool | NoneÚtable_idú
str | NoneÚrender_linksÚboolÚreturnÚNonec                ó¤  — || _         || _        | j         j        | _        | j         j        j        | _        g | _        | j         j        | _        | j         j        | _        | j         j        | _        |�|du r#t          t          t          d¦  «        ¦  «        }n|sd }|| _        || _        || _        i | _        t!          | j        t"          ¦  «        }| j         j                             ¦   «         D ]^\  }}t!          |t          ¦  «        r|› d�n|}	|	| j        |<   |r1t!          |t&          ¦  «        r|D ]}
|	| j        t)          |
¦  «        <   ŒŒ_d S )NTzdisplay.html.borderÚpx)Úfmtr   ÚframeÚtr_frameÚcolumnsÚelementsÚ	bold_rowsÚescapeÚshow_dimensionsr   Úintr	   r   r   r   Ú	col_spaceÚ
isinstancer   ÚitemsÚtupleÚstr)Úselfr   r   r   r   r   Úis_multi_indexÚcolumnÚvalueÚcol_space_valueÚcolumn_indexs              úb/var/www/html/nodeJS/PythonScripts/venv3.11/lib/python3.11/site-packages/pandas/io/formats/html.pyÚ__init__zHTMLFormatter.__init__2   s[  € ð ˆŒØˆŒà”X”^ˆŒ
Ø”xÔ(Ô0ˆŒØ#%ˆŒØœÔ+ˆŒØ”h”oˆŒØ#œxÔ7ˆÔØˆ>˜V t˜^˜^Ý�#�zÐ*?Ñ@Ô@ÑAÔAˆFˆFØð 	ØˆFàˆŒØ ˆŒØ(ˆÔàˆŒÝ# D¤Lµ*Ñ=Ô=ˆØ!œXÔ/×5Ò5Ñ7Ô7ð 	Hð 	H‰MˆF�EÝ.8¸ÅÑ.DÔ.DÐO ˜l˜l˜l˜lÈ%ˆOØ%4ˆDŒN˜6Ñ"ð ð H¥*¨VµUÑ";Ô";ð HØ$*ð Hð H�LØ8G�D”N¥3 |Ñ#4Ô#4Ñ5Ð5øð	Hð 	Hó    r2   c                óž   — |                       ¦   «         }t          d„ |D ¦   «         ¦  «        rd„ |D ¦   «         }d                     |¦  «        S )Nc              3  ó@   K  — | ]}t          |t          ¦  «        V — Œd S ©N)r/   r2   ©Ú.0Úxs     r9   ú	<genexpr>z*HTMLFormatter.to_string.<locals>.<genexpr>Y   s,   è è € Ð1Ð1 a�z˜!�SÑ!Ô!Ð1Ð1Ð1Ð1Ð1Ð1r;   c                ó,   — g | ]}t          |¦  «        ‘ŒS © )r2   r?   s     r9   ú
<listcomp>z+HTMLFormatter.to_string.<locals>.<listcomp>Z   s   € Ð+Ð+Ð+ •S˜‘V”VÐ+Ð+Ð+r;   ú
)ÚrenderÚanyÚjoin)r3   Úliness     r9   Ú	to_stringzHTMLFormatter.to_stringW   sS   € Ø—’‘”ˆÝÐ1Ð1¨5Ð1Ñ1Ô1Ñ1Ô1ð 	,Ø+Ð+ UÐ+Ñ+Ô+ˆEØ�yŠy˜ÑÔÐr;   ú	list[str]c           
     óô   — |                       ¦   «          | j        rWt          d¦  «        }|                      dt	          | j        ¦  «        › d|› dt	          | j        j        ¦  «        › d�¦  «         | j        S )Né×   z<p>z rows ú z columns</p>)Ú_write_tableÚshould_show_dimensionsÚchrÚwriteÚlenr&   r(   r)   )r3   Úbys     r9   rG   zHTMLFormatter.render]   s}   € Ø×ÒÑÔÐàÔ&ð 	Ý�S‘”ˆBØ�JŠJØW•c˜$œ*‘o”oÐWÐW¨RÐWÐWµ#°d´jÔ6HÑ2IÔ2IÐWÐWÐWñô ð ð Œ}Ðr;   c                ó   — | j         j        S r>   )r%   rQ   ©r3   s    r9   rQ   z$HTMLFormatter.should_show_dimensionsh   s   € àŒxÔ.Ð.r;   c                ó   — | j         j        S r>   )r%   Úshow_row_idx_namesrW   s    r9   rY   z HTMLFormatter.show_row_idx_namesl   ó   € àŒxÔ*Ð*r;   c                ó   — | j         j        S r>   )r%   Úshow_col_idx_namesrW   s    r9   r\   z HTMLFormatter.show_col_idx_namesp   rZ   r;   r-   c                óR   — | j         j        r| j        j        j        S | j        rdS dS )Né   r   )r%   Úindexr&   Únlevelsr\   rW   s    r9   Ú
row_levelszHTMLFormatter.row_levelst   s3   € àŒ8Œ>ð 		à”:Ô#Ô+Ð+ØÔ$ð 	ð �1àˆqr;   r   c                ó   — | j         S r>   )r(   rW   s    r9   Ú_get_columns_formatted_valuesz+HTMLFormatter._get_columns_formatted_valuesƒ   s
   € ØŒ|Ðr;   c                ó   — | j         j        S r>   )r%   Úis_truncatedrW   s    r9   re   zHTMLFormatter.is_truncated†   s   € àŒxÔ$Ð$r;   c                ó>   — t          | j        j        j        ¦  «        S r>   )rT   r%   r'   r(   rW   s    r9   ÚncolszHTMLFormatter.ncolsŠ   s   € å�4”8Ô$Ô,Ñ-Ô-Ð-r;   r   Úsr   Úindentc                ód   — t          |¦  «        }| j                             d|z  |z   ¦  «         d S )NrO   )r   r)   Úappend)r3   rh   ri   Úrss       r9   rS   zHTMLFormatter.writeŽ   s2   € Ý˜!‰_Œ_ˆØŒ×Ò˜S 6™\¨BÑ.Ñ/Ô/Ð/Ð/Ð/r;   ÚheaderÚtagsc                ó�   — | j                              |d¦  «        }|r|�|pd}|d|› d�z  }|                      |d||¬¦  «         dS )aŠ  
        Method for writing a formatted <th> cell.

        If col_space is set on the formatter then that is used for
        the value of min-width.

        Parameters
        ----------
        s : object
            The data to be written inside the cell.
        header : bool, default False
            Set to True if the <th> is for use inside <thead>.  This will
            cause min-width to be set if there is one.
        indent : int, default 0
            The indentation level of the cell.
        tags : str, default None
            Tags to include in the cell.

        Returns
        -------
        A written <th> cell.
        NÚ zstyle="min-width: z;"Úth©Úkindri   rn   )r.   ÚgetÚ_write_cell)r3   rh   rm   ri   rn   r.   s         r9   Úwrite_thzHTMLFormatter.write_th’   sj   € ð2 ”N×&Ò& q¨$Ñ/Ô/ˆ	àð 	7�iÐ+Ø�:˜2ˆDØÐ6¨Ð6Ð6Ð6Ñ6ˆDà×Ò˜ ¨f¸4ÐÑ@Ô@Ð@Ð@Ð@r;   c                ó8   — |                       |d||¬¦  «         d S )NÚtdrr   )ru   )r3   rh   ri   rn   s       r9   Úwrite_tdzHTMLFormatter.write_td³   s%   € Ø×Ò˜ ¨f¸4ÐÑ@Ô@Ð@Ð@Ð@r;   rx   rs   c                ó^  — |�
d|› d|› d�}nd|› d�}| j         rddddœ}ni }t          ||¬¦  «                             ¦   «         }| j        r>t	          |¦  «        r/t          |i ¬¦  «                             ¦   «         }|d	|› d
�z  }d}	nd}	|                      |› |› |	› d|› d�|¦  «         d S )Nú<rO   ú>z&amp;z&lt;z&gt;)ú&r{   r|   )Úescape_charsz	<a href="z" target="_blank">z</a>rp   z</)r+   r   Ústripr   r   rS   )
r3   rh   rs   ri   rn   Ú	start_tagÚescrl   Úrs_unescapedÚend_as
             r9   ru   zHTMLFormatter._write_cell¶   sü   € ð ÐØ*˜DÐ*Ð* 4Ð*Ð*Ð*ˆIˆIà#˜D˜˜˜ˆIàŒ;ð 	à  w°WÐ=Ð=ˆCˆCàˆCå˜!¨#Ð.Ñ.Ô.×4Ò4Ñ6Ô6ˆàÔð 	¥¨¡¤ð 	Ý'¨¸Ð;Ñ;Ô;×AÒAÑCÔCˆLØÐE \ÐEÐEÐEÑEˆIØˆEˆEàˆEà�
Š
�iÐ5 Ð5 UÐ5Ð5¨dÐ5Ð5Ð5°vÑ>Ô>Ð>Ð>Ð>r;   ÚlineÚalignúdict[int, str] | NoneÚnindex_levelsc                óŒ  — |€i }|€|                       d|¦  «         n|                       d|› d�|¦  «         ||z  }t          |¦  «        D ]\\  }}	|                     |d ¦  «        }
|s| j        r ||k     r|                      |	|||
¬¦  «         ŒD|                      |	||
¬¦  «         Œ]||z  }|                       d|¦  «         d S )Nz<tr>z<tr style="text-align: z;">)ri   rm   rn   )rn   z</tr>)rS   Ú	enumeratert   r*   rv   ry   )r3   r„   ri   r   rm   r…   rn   r‡   Úirh   Úval_tags              r9   Úwrite_trzHTMLFormatter.write_trÏ   s÷   € ð ˆ<ØˆDàˆ=Ø�JŠJ�v˜vÑ&Ô&Ð&Ð&à�JŠJÐ;°Ð;Ð;Ð;¸VÑDÔDÐDØ�,Ñˆå˜d‘O”Oð 	7ð 	7‰DˆAˆqØ—h’h˜q $Ñ'Ô'ˆGØð 7˜$œ.ð 7¨Q°Ò->Ð->Ø—’˜a¨°vÀG�ÑLÔLÐLÐLà—’˜a ¨g�Ñ6Ô6Ð6Ð6à�,ÑˆØ�
Š
�7˜FÑ#Ô#Ð#Ð#Ð#r;   c           	     ó  — dg}t          d¦  «        }|s|                     d¦  «         | j        �—t          | j        t          ¦  «        r| j                             ¦   «         | _        t          | j        t          t          f¦  «        s$t          dt          | j        ¦  «        › �¦  «        ‚| 
                    | j        ¦  «         | j        €d}nd| j        › d�}| j        €d}nd| j        › d�}|                      d	|› d
d                     |¦  «        › d|› d�|¦  «         | j        j        s| j        r|                      || j        z   ¦  «         |                      || j        z   ¦  «         |                      d|¦  «         d S )NÚ	dataframezdisplay.html.use_mathjaxÚtex2jax_ignorez.classes must be a string, list, or tuple, not rp   z id="ú"z	 border="z<tablez class="rO   r|   z</table>)r	   rk   r   r/   r2   ÚsplitÚlistr1   Ú	TypeErrorÚtypeÚextendr   r   rS   rI   r%   rm   rY   Ú_write_headerr   Ú_write_body)r3   ri   Ú_classesÚuse_mathjaxÚ
id_sectionÚborder_attrs         r9   rP   zHTMLFormatter._write_tableì   s®  € Ø�=ˆÝ Ð!;Ñ<Ô<ˆØð 	.Ø�OŠOÐ,Ñ-Ô-Ð-ØŒ<Ð#Ý˜$œ,­Ñ,Ô,ð 4Ø#œ|×1Ò1Ñ3Ô3�”Ý˜dœl­Tµ5¨MÑ:Ô:ð Ýð:Ý%)¨$¬,Ñ%7Ô%7ð:ð :ñô ð ð �OŠO˜DœLÑ)Ô)Ð)àŒ=Ð ØˆJˆJà1 ¤Ð1Ð1Ð1ˆJàŒ;ÐØˆKˆKà4 d¤kÐ4Ð4Ð4ˆKà�
Š
ØL�[ÐLÐL¨#¯(ª(°8Ñ*<Ô*<ÐLÐL¸zÐLÐLÐLØñ	
ô 	
ð 	
ð
 Œ8Œ?ð 	;˜dÔ5ð 	;Ø×Ò˜v¨Ô(9Ñ9Ñ:Ô:Ð:à×Ò˜ $Ô"3Ñ3Ñ4Ô4Ð4à�
Š
�:˜vÑ&Ô&Ð&Ð&Ð&r;   c                óÐ  — | j         j        }t          | j        t          ¦  «        �rÜd}| j         j        rt          j        }nd}| j                             |d¬¦  «        }t          ||¦  «        }t          |¦  «        dz
  }t          t          ||¦  «        ¦  «        D �]`\  }\  }	}
|�rK| j         j        }| j         j        rÖi }t          |	                     ¦   «         ¦  «        D ]’\  }}||k    r	|||dz   <   nX||z   |k    rJ|dz   ||<   ||k    r|
d |…         dz   |
|d …         z   }
n(|
d |…         |
|dz
           fz   |
|d …         z   }
n|||<   ||z   |k    rd||<   |
d |…         dz   |
|d …         z   }
Œ“|}	t          |¦  «        dz
  }||k    rd|	|<   n]i }t          |	                     ¦   «         ¦  «        D ]\  }}||k    r	|||dz   <   Œ|||<   Œd||<   |}	|
d |…         dgz   |
|d …         z   }
dg| j        dz
  z  }| j         j        s| j        rX| j         j        r7| j        j        |         }|                     t-          |pd¦  «        ¦  «         n|                     d¦  «         i }t          |¦  «        }t          |
¦  «        D ]P\  }}||	v r,|	|         dk    r|                     |	|         ¬¦  «        ||<   nŒ6|dz  }|                     |¦  «         ŒQ|                      ||| j        |d	¬
¦  «         �Œbd S dg| j        dz
  z  }| j         j        s| j        rC| j         j        r"|                     | j        j        pd¦  «         n|                     d¦  «         |                     |                      ¦   «         ¦  «         | j         j        }|r*| j        | j         j        z   }|                     |d¦  «         |                      ||| j        d	|¬¦  «         d S )Nz colspan="{span:d}" halign="left"F©ÚsparsifyÚinclude_namesr^   )ú...r    rp   ©ÚspanT)rn   rm   )rm   r…   )r%   Úis_truncated_horizontallyr/   r(   r   rž   r
   Ú
no_defaultÚ_format_multir   rT   r‰   ÚzipÚ
tr_col_numr’   r0   ra   r_   r\   Úshow_index_namesÚnamesrk   r   ÚformatrŒ   r   Únamer•   rc   ÚjustifyÚinsert)r3   ri   r£   ÚtemplateÚsentinelÚlevelsÚlevel_lengthsÚ	inner_lvlÚlnumÚrecordsÚvaluesÚins_colÚrecs_newÚtagr¢   Úrowr«   rn   ÚjrŠ   Úvr…   s                         r9   Ú_write_col_headerzHTMLFormatter._write_col_header  s™  € à$(¤HÔ$FÐ!Ý�d”l¥JÑ/Ô/ñ r	TØ9ˆHð ŒxÔ ð !åœ>��à �Ø”\×/Ò/¸ÐQVÐ/ÑWÔWˆFÝ-¨f°hÑ?Ô?ˆMÝ˜MÑ*Ô*¨QÑ.ˆIÝ+4µS¸ÈÑ5OÔ5OÑ+PÔ+Pð LVñ LVÑ'�Ñ'�w Ø,ñ *Oà"œhÔ1�GØ”xÔ(ð 'OØ#%˜å)-¨g¯mªm©o¬oÑ)>Ô)>ð Xð X™I˜C Ø" gš~˜~Ø48 ¨¨q©Ñ 1Ð 1Ø!$ t¡¨gÒ!5Ð!5Ø04°q± ¨¡Ø#'¨9Ò#4Ð#4à(.¨x°¨xÔ(8¸8Ñ(CÀfÈWÈXÈXÔFVÑ(Vð %+ Fð )/¨x°¨xÔ(8Ø+1°'¸A±+Ô+>Ð*@ñ)Aà*0°°°Ô*:ñ);ð %+ Fð 15 ¨¡ð  # T™z¨WÒ4Ð4Ø45 ¨Ñ 1Ø)/°°°Ô)9¸HÑ)DÀvÈgÈhÈhÔGWÑ)W øØ"*˜Ý$'¨Ñ$6Ô$6¸Ñ$:˜	Ø 9Ò,Ð,Ø/0˜G GÑ,øà#%˜Ý)-¨g¯mªm©o¬oÑ)>Ô)>ð 5ð 5™I˜C Ø" gš~˜~Ø48 ¨¨q©Ñ 1Ð 1à04 ¨¡ Ø,-˜ Ñ)Ø"*˜Ø!'¨¨¨Ô!1°U°GÑ!;¸fÀWÀXÀXÔ>NÑ!N˜ð �d˜dœo°Ñ1Ñ2�Ø”8”>ð ' TÔ%<ð 'ð ”xÔ0ð 'Ø#œ|Ô1°$Ô7˜ØŸ
š
¥<°°
¸Ñ#;Ô#;Ñ<Ô<Ð<Ð<àŸ
š
 2™œ˜à�Ý˜‘H”H�Ý% fÑ-Ô-ð "ð "‘D�A�qØ˜G�|�|Ø" 1œ:¨š>˜>Ø&.§o¢o¸7À1¼: oÑ&FÔ&F˜D ™Gøà Ø˜‘F�AØ—J’J˜q‘M”M�M�MØ—’˜c 6¨4Ô+<À4ÐPT�ÑUÔUÐUÑUðYLVð LVðh �$˜$œ/¨AÑ-Ñ.ˆCØŒxŒ~ð 	# Ô!8ð 	#ð ”8Ô,ð #Ø—J’J˜tœ|Ô0Ð6°BÑ7Ô7Ð7Ð7à—J’J˜r‘N”N�NØ�JŠJ�t×9Ò9Ñ;Ô;Ñ<Ô<Ð<Ø”HÔ$ˆEà(ð +Øœ/¨D¬HÔ,?Ñ?�Ø—
’
˜7 EÑ*Ô*Ð*à�MŠM˜#˜v tÔ'8ÀÈUˆMÑSÔSÐSÐSÐSr;   c                ó¶   — | j         j        }d„ | j        j        j        D ¦   «         dg| j        |rdndz   z  z   }|                      ||| j        d¬¦  «         d S )Nc                ó   — g | ]}|�|nd‘Œ	S )Nrp   rD   r?   s     r9   rE   z3HTMLFormatter._write_row_header.<locals>.<listcomp>Š  s    € ÐJÐJÐJ¨a�A�Mˆqˆq rÐJÐJÐJr;   rp   r^   r   T)rm   )r%   r£   r&   r_   r©   rg   rŒ   r   )r3   ri   r£   r¹   s       r9   Ú_write_row_headerzHTMLFormatter._write_row_headerˆ  sp   € Ø$(¤HÔ$FÐ!ØJÐJ°4´:Ô3CÔ3IÐJÑJÔJÈbÈTØŒJÐ8Ð?˜!˜!¸aÑ@ñN
ñ 
ˆð 	�Š�c˜6 4Ô#4¸TˆÑBÔBÐBÐBÐBr;   c                óø   — |                       d|¦  «         | j        j        r|                      || j        z   ¦  «         | j        r|                      || j        z   ¦  «         |                       d|¦  «         d S )Nz<thead>z</thead>)rS   r%   rm   r¼   r   rY   r¿   )r3   ri   s     r9   r–   zHTMLFormatter._write_header�  s   € Ø�
Š
�9˜fÑ%Ô%Ð%àŒ8Œ?ð 	?Ø×"Ò" 6¨DÔ,=Ñ#=Ñ>Ô>Ð>àÔ"ð 	?Ø×"Ò" 6¨DÔ,=Ñ#=Ñ>Ô>Ð>à�
Š
�:˜vÑ&Ô&Ð&Ð&Ð&r;   údict[int, list[str]]c                ó˜   ‡ — t          dd ¦  «        5  ˆ fd„t          ‰ j        ¦  «        D ¦   «         }d d d ¦  «         n# 1 swxY w Y   |S )Nzdisplay.max_colwidthc                óF   •— i | ]}|‰j                              |¦  «        “ŒS rD   ©r%   Ú
format_col©r@   rŠ   r3   s     €r9   ú
<dictcomp>z7HTMLFormatter._get_formatted_values.<locals>.<dictcomp>œ  s+   ø€ ÐOÐOÐO¸˜!˜TœX×0Ò0°Ñ3Ô3ÐOÐOÐOr;   )r   Úrangerg   )r3   Ú
fmt_valuess   ` r9   Ú_get_formatted_valuesz#HTMLFormatter._get_formatted_valuesš  s£   ø€ ÝÐ2°DÑ9Ô9ð 	Pð 	PØOÐOÐOÐO½UÀ4Ä:Ñ=NÔ=NÐOÑOÔOˆJð	Pð 	Pð 	Pñ 	Pô 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pøøøð 	Pð 	Pð 	Pð 	PàÐs   ’!?¿AÁAc                óV  — |                       d|¦  «         |                      ¦   «         }| j        j        r>t	          | j        j        t          ¦  «        r|                      ||| j        z   ¦  «         n|  	                    ||| j        z   ¦  «         |                       d|¦  «         d S )Nz<tbody>z</tbody>)
rS   rÊ   r%   r_   r/   r&   r   Ú_write_hierarchical_rowsr   Ú_write_regular_rows)r3   ri   rÉ   s      r9   r—   zHTMLFormatter._write_bodyŸ  s¦   € Ø�
Š
�9˜fÑ%Ô%Ð%Ø×/Ò/Ñ1Ô1ˆ
ð Œ8Œ>ð 	M�j¨¬Ô)9½:ÑFÔFð 	MØ×)Ò)¨*°f¸tÔ?PÑ6PÑQÔQÐQÐQà×$Ò$ Z°¸$Ô:KÑ1KÑLÔLÐLà�
Š
�:˜vÑ&Ô&Ð&Ð&Ð&r;   rÉ   úMapping[int, list[str]]c                ó¢  ‡‡— | j         j        }| j         j        }t          | j         j        ¦  «        }| j         j        rf| j                              d¦  «        }|�%| j         j        j                             |¦  «        }n%| j         j        j                             d¬¦  «        }g }t          |¦  «        D �]Š|rG‰| j         j
        k    r7dgt          |¦  «        z  }	|                      |	|| j        d | j        ¬¦  «         g }| j         j        r|                     |‰         ¦  «         n| j        r|                     d¦  «         |                     ˆˆfd„t          | j        ¦  «        D ¦   «         ¦  «         |r*| j         j        | j        z   }
|                     |
d¦  «         |                      ||| j        d | j        ¬¦  «         �Œd S )NÚ	__index__F©Úinclude_namer    ©rn   r‡   rp   c              3  ó4   •K  — | ]}‰|         ‰         V — Œd S r>   rD   ©r@   rº   rÉ   rŠ   s     €€r9   rB   z4HTMLFormatter._write_regular_rows.<locals>.<genexpr>Ð  s,   øè è € ÐCÐC¨A�z !”} QÔ'ÐCÐCÐCÐCÐCÐCr;   )r%   r£   Úis_truncated_verticallyrT   r'   r_   Ú_get_formatterÚmapÚ_format_flatrÈ   Ú
tr_row_numrŒ   r   ra   rk   r\   r•   rg   r§   r­   )r3   rÉ   ri   r£   rÖ   Únrowsr%   Úindex_valuesr¹   Ústr_sep_rowÚ
dot_col_ixrŠ   s    `         @r9   rÍ   z!HTMLFormatter._write_regular_rows«  sè  øø€ ð %)¤HÔ$FÐ!Ø"&¤(Ô"BÐå�D”HÔ%Ñ&Ô&ˆàŒ8Œ>ð 	XØ”(×)Ò)¨+Ñ6Ô6ˆCØˆØ#œxÔ0Ô6×:Ò:¸3Ñ?Ô?��ð  $œxÔ0Ô6×CÒCÐQVÐCÑWÔW�àˆÝ�u‘”ð 	ñ 	ˆAØ&ð ¨1°´Ô1DÒ+EÐ+EØ$˜g­¨C©¬Ñ0�Ø—’ØØØÔ%ØØ"&¤/ð ñ ô ð ð ˆCØŒxŒ~ð Ø—
’
˜<¨œ?Ñ+Ô+Ð+Ð+ð
 Ô(ð Ø—
’
˜2‘”�Ø�JŠJÐCÐCÐCÐCÐCµ°t´zÑ1BÔ1BÐCÑCÔCÑCÔCÐCà(ð .Ø!œXÔ0°4´?ÑB�
Ø—
’
˜: uÑ-Ô-Ð-Ø�MŠMØ�V˜TÔ.°TÈÌð ñ ô ð ñ ð3	ð 	r;   c                ó¬	  ‡‡— d}| j         j        }| j         j        }| j         j        }t	          |¦  «        }t          |j        t          ¦  «        sJ ‚|j                             dd¬¦  «        }t          t          |Ž ¦  «        }| j         j        �rt          j        }	|j                             |	d¬¦  «        }
t          |
|	¦  «        }t	          |¦  «        dz
  }|�rš| j         j        }d}t!          |¦  «        D �]J\  }}i }t          |                     ¦   «         ¦  «        D �]\  }}||k    r	|||dz   <   n‹||z   |k    r}|dz   ||<   |sCt          ||dz
           ¦  «        }d|d<   |                     |t'          |¦  «        ¦  «         d}n5t          ||         ¦  «        }d|||z
  <   t'          |¦  «        ||<   n|||<   ||z   |k    rqd||<   |dk    r5|                     |t'          dgt	          |¦  «        z  ¦  «        ¦  «         Œé|r/t          ||         ¦  «        }d|||z
  <   t'          |¦  «        ||<   �Œ|||<   �ŒLd||         |<   ‰D ]}‰|                              |d¦  «         Œ|dz  }t)          |¦  «        D �]Šg }i }d}d}t          ||‰         ¦  «        D ]U\  }}‰|v r,|‰         dk    r|                     |‰         ¬	¦  «        ||<   n|dz  }Œ;|dz  }|                     |¦  «         ŒV|                     ˆˆfd
„t)          | j        ¦  «        D ¦   «         ¦  «         |r+|                     | j        |z
  | j         j        z   d¦  «         |                      ||| j        |t	          |
¦  «        |z
  ¬¦  «         �Œ	d S g }t)          t	          |¦  «        ¦  «        D �] Š|rG‰| j         j        k    r7dgt	          |¦  «        z  }|                      ||| j        d | j        ¬¦  «         t          t          |j                             dd¬¦  «        Ž ¦  «        }g }|                     |‰         ¦  «         |                     ˆˆfd„t)          | j        ¦  «        D ¦   «         ¦  «         |r(|                     | j        | j         j        z   d¦  «         |                      ||| j        d |j        j        ¬¦  «         �Œ"d S )Nzrowspan="{span}" valign="top"Fr�   r^   r    éÿÿÿÿTr   r¡   c              3  ó4   •K  — | ]}‰|         ‰         V — Œd S r>   rD   rÕ   s     €€r9   rB   z9HTMLFormatter._write_hierarchical_rows.<locals>.<genexpr>-  ó,   øè è € ÐGÐG°˜: aœ=¨Ô+ÐGÐGÐGÐGÐGÐGr;   rÓ   c              3  ó4   •K  — | ]}‰|         ‰         V — Œd S r>   rD   rÕ   s     €€r9   rB   z9HTMLFormatter._write_hierarchical_rows.<locals>.<genexpr>K  râ   r;   )r%   r£   rÖ   r'   rT   r/   r_   r   r¥   r’   r¦   rž   r
   r¤   r   rÚ   r‰   r0   r­   r1   rÈ   rª   rk   r•   rg   ra   r§   rŒ   r   r`   )r3   rÉ   ri   r®   r£   rÖ   r&   rÛ   Ú
idx_valuesr¯   r°   r±   r²   Úins_rowÚinsertedr³   r´   Úrec_newr¸   r¢   Údot_rowÚix_colr¹   rn   Úsparse_offsetrº   r»   rÝ   rŠ   s    `                          @r9   rÌ   z&HTMLFormatter._write_hierarchical_rowsÙ  s�  øø€ ð 3ˆà$(¤HÔ$FÐ!Ø"&¤(Ô"BÐØ”Ô!ˆÝ�E‘
”
ˆå˜%œ+¥zÑ2Ô2Ð2Ð2Ð2Ø”[×.Ò.¸ÈUÐ.ÑSÔSˆ
Ý�#˜zÐ*Ñ+Ô+ˆ
àŒ8Ôñ m	å”~ˆHØ”[×.Ò.¸ÐPUÐ.ÑVÔVˆFå-¨f°hÑ?Ô?ˆMÝ˜MÑ*Ô*¨QÑ.ˆIØ&ñ ,ð œ(Ô-�Ø �Ý%.¨}Ñ%=Ô%=ð "2ñ "2‘M�D˜'Ø �GÝ%)¨'¯-ª-©/¬/Ñ%:Ô%:ð Eñ E™	˜˜TØ 'š>˜>Ø/3˜G C¨!¡GÑ,Ð,Ø  4™Z¨'Ò1Ð1Ø+/°!©8˜G C™Lð $,ð EÝ*.¨z¸'ÀA¹+Ô/FÑ*GÔ*G Ø.3 ¨¡Ø *× 1Ò 1°'½5À¹>¼>Ñ JÔ JÐ JØ+/  å*.¨z¸'Ô/BÑ*CÔ*C Ø<A ¨	°DÑ(8Ñ 9Ý6;¸G±n´n 
¨7Ñ 3Ð 3à+/˜G C™Lð  ™:¨Ò0Ð0Ø/0˜G GÑ,Ø# qšy˜yØ *× 1Ò 1Ø$+­U°E°7½SÀÑ=OÔ=OÑ3OÑ-PÔ-Pñ!"ô !"ð !"ð !"ð
 "*ð EÝ*.¨z¸'Ô/BÑ*CÔ*C Ø<A ¨	°DÑ(8Ñ 9Ý6;¸G±n´n 
¨7Ñ 3ùØ*1�M $Ñ'Ñ'à45�˜iÔ(¨Ñ1Ø(ð >ð >�FØ˜vÔ&×-Ò-¨g°uÑ=Ô=Ð=Ð=Ø˜‘
�å˜5‘\”\ð ñ �Ø�Ø�à !�Ø�Ý"% m°ZÀ´]Ñ"CÔ"Cð 	"ð 	"‘J�G˜QØ˜G�|�|Ø" 1œ:¨š>˜>Ø&.§o¢o¸7À1¼: oÑ&FÔ&F˜D ™Gøà%¨Ñ*˜Ø à˜‘F�AØ—J’J˜q‘M”M�M�Mà—
’
ÐGÐGÐGÐGÐGµU¸4¼:Ñ5FÔ5FÐGÑGÔGÑGÔGÐGØ,ð Ø—J’JØœ¨-Ñ7¸$¼(Ô:MÑMÈuñô ð ð —’ØØØÔ%ØÝ"% f¡+¤+°Ñ"=ð ñ ô ð ñ ð-ð ð< ˆCÝ�3˜u™:œ:Ñ&Ô&ð ñ �Ø*ð ¨q°T´XÔ5HÒ/IÐ/IØ#( '­C°©H¬HÑ"4�KØ—M’MØ#ØØÔ)Ø!Ø&*¤oð "ñ ô ð õ "Ý˜œ×2Ò2¸EÐQVÐ2ÑWÔWÐXñô �
ð �Ø—
’
˜: aœ=Ñ)Ô)Ð)Ø—
’
ÐGÐGÐGÐGÐGµU¸4¼:Ñ5FÔ5FÐGÑGÔGÑGÔGÐGØ,ð MØ—J’J˜tœ°´Ô1DÑDÀeÑLÔLÐLØ—’ØØØÔ%ØØ"'¤+Ô"5ð ñ ô ð ñ ð'ð r;   )NNNF)r   r   r   r   r   r   r   r   r   r    r!   r"   )r!   r2   ©r!   rL   )r!   r    )r!   r-   )r!   r   )r   )rh   r   ri   r-   r!   r"   )Fr   N)
rh   r   rm   r    ri   r-   rn   r   r!   r"   )r   N)rh   r   ri   r-   rn   r   r!   r"   )rx   r   N)
rh   r   rs   r2   ri   r-   rn   r   r!   r"   )r   r   FNNr   )r„   r   ri   r-   r   r-   rm   r    r…   r   rn   r†   r‡   r-   r!   r"   )ri   r-   r!   r"   ©r!   rÁ   )rÉ   rÎ   ri   r-   r!   r"   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú__annotations__r:   rK   rG   ÚpropertyrQ   rY   r\   ra   rc   re   rg   rS   rv   ry   ru   rŒ   rP   r¼   r¿   r–   rÊ   r—   rÍ   rÌ   rD   r;   r9   r   r   &   sÁ  € € € € € € ðð ð €LÐÐÐÑð
 =AØ$(Ø#Ø"ð#Hð #Hð #Hð #Hð #HðJ ð  ð  ð  ð	ð 	ð 	ð 	ð ð/ð /ð /ñ „Xð/ð ð+ð +ð +ñ „Xð+ð ð+ð +ð +ñ „Xð+ð ðð ð ñ „Xððð ð ð ð ð%ð %ð %ñ „Xð%ð ð.ð .ð .ñ „Xð.ð0ð 0ð 0ð 0ð 0ð
 QUðAð Að Að Að AðBAð Að Að Að Að MQð?ð ?ð ?ð ?ð ?ð8 ØØØ Ø&*Øð$ð $ð $ð $ð $ð:#'ð #'ð #'ð #'ð #'ðJuTð uTð uTð uTðnCð Cð Cð Cð	'ð 	'ð 	'ð 	'ðð ð ð ð

'ð 
'ð 
'ð 
'ð,ð ,ð ,ð ,ð\{ð {ð {ð {ð {ð {r;   r   c                  ó<   ‡ — e Zd ZdZd
d„Zdd„Zdd„Zdˆ fd	„Zˆ xZS )ÚNotebookFormatterz×
    Internal class for formatting output data in html for display in Jupyter
    Notebooks. This class is intended for functionality specific to
    DataFrame._repr_html_() and DataFrame.to_html(notebook=True)
    r!   rÁ   c                óD   ‡ — ˆ fd„t          ‰ j        ¦  «        D ¦   «         S )Nc                óF   •— i | ]}|‰j                              |¦  «        “ŒS rD   rÄ   rÆ   s     €r9   rÇ   z;NotebookFormatter._get_formatted_values.<locals>.<dictcomp>_  s+   ø€ ÐEÐEÐE¨a��4”8×&Ò& qÑ)Ô)ÐEÐEÐEr;   )rÈ   rg   rW   s   `r9   rÊ   z'NotebookFormatter._get_formatted_values^  s'   ø€ ØEÐEÐEÐEµ5¸¼Ñ3DÔ3DÐEÑEÔEÐEr;   rL   c                ó8   — | j                              d¬¦  «        S )NFrÑ   )r(   rÙ   rW   s    r9   rc   z/NotebookFormatter._get_columns_formatted_valuesa  s   € àŒ|×(Ò(°eÐ(Ñ<Ô<Ð<r;   r"   c                óx  ‡— d}d}dŠddg}t          | j        t          ¦  «        r2|                     d¦  «         | j        r|                     d¦  «         n|                     d¦  «         d	                     ˆfd
„|D ¦   «         ¦  «        }t          |› d|› d|› �¦  «        }|                      |¦  «         d S )Nz            <style scoped>z            </style>zM                .dataframe %s {
                    %s: %s;
                })ztbody tr th:only-of-typeúvertical-alignÚmiddle)ztbody tr thrù   Útop)zthead tr thú
text-alignÚleft)zthead tr:last-of-type thrü   Úright)zthead thrü   rþ   z

c              3  ó"   •K  — | ]	}‰|z  V — Œ
d S r>   rD   )r@   ÚtÚtemplate_selects     €r9   rB   z0NotebookFormatter.write_style.<locals>.<genexpr>}  s(   øè è € Ð"NÐ"N¸1 ?°QÑ#6Ð"NÐ"NÐ"NÐ"NÐ"NÐ"Nr;   rF   )r/   r(   r   rk   rY   rI   r   rS   )r3   Útemplate_firstÚtemplate_lastÚelement_propsÚtemplate_midr®   r  s         @r9   Úwrite_stylezNotebookFormatter.write_stylee  só   ø€ ðˆðˆðˆð
 EØ4ð
ˆõ �d”l¥JÑ/Ô/ð 	FØ× Ò Ð!FÑGÔGÐGØÔ&ð Ø×$Ò$ØGñô ð øð × Ò Ð!DÑEÔEÐEØ—{’{Ð"NÐ"NÐ"NÐ"NÀÐ"NÑ"NÔ"NÑNÔNˆÝ˜^ÐNÐN¨|ÐNÐN¸}ÐNÐNÑOÔOˆØ�
Š
�8ÑÔÐÐÐr;   c                óÎ   •— |                       d¦  «         |                      ¦   «          t          ¦   «                              ¦   «          |                       d¦  «         | j        S )Nz<div>z</div>)rS   r  ÚsuperrG   r)   )r3   Ú	__class__s    €r9   rG   zNotebookFormatter.render�  sU   ø€ Ø�
Š
�7ÑÔÐØ×ÒÑÔÐÝ‰Œ�ŠÑÔÐØ�
Š
�8ÑÔÐØŒ}Ðr;   rì   rë   )r!   r"   )	rí   rî   rï   rð   rÊ   rc   r  rG   Ú__classcell__)r	  s   @r9   rô   rô   W  s‡   ø€ € € € € ðð ðFð Fð Fð Fð=ð =ð =ð =ðð ð ð ð8ð ð ð ð ð ð ð ð ð r;   rô   N)rð   Ú
__future__r   Útextwrapr   Útypingr   r   r   r   Úpandas._configr	   Úpandas._libsr
   Úpandasr   r   Úpandas.io.commonr   Úpandas.io.formats.formatr   r   Úpandas.io.formats.printingr   Úcollections.abcr   r   r   r   rô   rD   r;   r9   ú<module>r     s®  ððð ð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð &Ð %Ð %Ð %Ð %Ð %à Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð
 $Ð #Ð #Ð #Ð #Ð #ðð ð ð ð ð ð ð ð 4Ð 3Ð 3Ð 3Ð 3Ð 3àð ðð ð ð ð ð ð ð ð ð ðnð nð nð nð nñ nô nð nðb/ð /ð /ð /ð /˜ñ /ô /ð /ð /ð /r;   