ó
    ¬œ‘he^  ã                  óÔ   • S r SSKJr  SSKJr  SSKJrJrJrJ	r	  SSK
Jr  SSKJr  SSKJrJr  SSKJr  SS	KJrJr  SS
KJr  \(       a
  SSKJrJrJr   " S S5      r " S S\5      rg)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                  óî  • \ rS rSr% SrSrS\S'       S           S S jjrS!S jrS"S	 jr	\
S#S
 j5       r\
S#S j5       r\
S#S j5       r\
S$S j5       rS%S jr\
S#S j5       r\
S$S j5       rS&S'S jjr S(         S)S jjrS*S+S jjr S,         S-S jjr      S.               S/S jjrS&S0S jjrS0S jrS0S jrS0S jrS1S jrS0S jr      S2S jr      S2S jrSrg)3ÚHTMLFormatteré&   aG  
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_deltaNc                ó6  • Xl         X l        U R                   R                  U l        U R                   R                  R                  U l        / U l        U R                   R                  U l        U R                   R                  U l        U R                   R                  U l        Ub  USL a  [        [        [        S5      5      nO	U(       d  S nX0l        X@l        XPl        0 U l        [!        U R                  ["        5      nU R                   R                  R%                  5        Ho  u  px[!        U[        5      (       a  U S3OUn	X�R                  U'   U(       d  M8  [!        U[&        5      (       d  MO  U H  n
X�R                  [)        U
5      '   M     Mq     g )NTzdisplay.html.borderÚpx)ÚfmtÚclassesÚframeÚtr_frameÚcolumnsÚelementsÚ	bold_rowsÚescapeÚshow_dimensionsr   Úintr	   ÚborderÚtable_idÚrender_linksÚ	col_spaceÚ
isinstancer   ÚitemsÚtupleÚstr)ÚselfÚ	formatterr   r%   r&   r'   Úis_multi_indexÚcolumnÚvalueÚcol_space_valueÚcolumn_indexs              ÚZC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\pandas/io/formats/html.pyÚ__init__ÚHTMLFormatter.__init__2   s+  € ð ŒØŒà—X‘X—^‘^ˆŒ
Ø—x‘x×(Ñ(×0Ñ0ˆŒØ#%ˆŒØŸ™×+Ñ+ˆŒØ—h‘h—o‘oˆŒØ#Ÿx™x×7Ñ7ˆÔØ‰>˜V tš^Üœ#œzÐ*?Ó@ÓA‰FÞØˆFàŒØ ŒØ(ÔàˆŒÜ# D§L¡L´*Ó=ˆØ!ŸX™X×/Ñ/×5Ñ5Ö7‰MˆFÜ.8¸Ä×.DÑ.D   r™lÈ%ˆOØ%4�N‰N˜6Ñ"÷ ˆ~¤*¨V´U×";Ó";Û$*�LØ8G—N‘N¤3 |Ó#4Ó5ó %+ò 8ó    c                ó²   • U R                  5       n[        S U 5       5      (       a  U Vs/ s H  n[        U5      PM     nnSR                  U5      $ s  snf )Nc              3  óB   #   • U  H  n[        U[        5      v •  M     g 7f©N)r)   r,   )Ú.0Úxs     r4   Ú	<genexpr>Ú*HTMLFormatter.to_string.<locals>.<genexpr>Y   s   é € Ð1ª5 aŒz˜!œS×!Ð!ª5ùs   ‚Ú
)ÚrenderÚanyr,   Újoin)r-   Úlinesr<   s      r4   Ú	to_stringÚHTMLFormatter.to_stringW   sJ   € Ø—‘“ˆÜÑ1©5Ó1×1Ñ1Ù%*Ó+¢U ”S˜–V¡UˆEÐ+Ø�y‰y˜ÓÐùò ,s   ¬Ac           
     ó  • U R                  5         U R                  (       aV  [        S5      nU R                  S[	        U R
                  5       SU S[	        U R
                  R                  5       S35        U R                  $ )Né×   z<p>z rows Ú z columns</p>)Ú_write_tableÚshould_show_dimensionsÚchrÚwriteÚlenr   r   r    )r-   Úbys     r4   r@   ÚHTMLFormatter.render]   si   € Ø×ÑÔà×&×&Ü�S“ˆBØ�J‰JØ”c˜$Ÿ*™*“oÐ& f¨R¨D°´#°d·j±j×6HÑ6HÓ2IÐ1JÈ,ÐWôð �}‰}Ðr7   c                ó.   • U R                   R                  $ r:   )r   rJ   ©r-   s    r4   rJ   Ú$HTMLFormatter.should_show_dimensionsh   s   € à�x‰x×.Ñ.Ð.r7   c                ó.   • U R                   R                  $ r:   )r   Úshow_row_idx_namesrQ   s    r4   rT   Ú HTMLFormatter.show_row_idx_namesl   ó   € à�x‰x×*Ñ*Ð*r7   c                ó.   • U R                   R                  $ r:   )r   Úshow_col_idx_namesrQ   s    r4   rX   Ú HTMLFormatter.show_col_idx_namesp   rV   r7   c                óž   • U R                   R                  (       a   U R                  R                  R                  $ U R                  (       a  gg)Né   r   )r   Úindexr   ÚnlevelsrX   rQ   s    r4   Ú
row_levelsÚHTMLFormatter.row_levelst   s4   € à�8‰8�>�>à—:‘:×#Ñ#×+Ñ+Ð+Ø×$×$ð àr7   c                ó   • U R                   $ r:   )r   rQ   s    r4   Ú_get_columns_formatted_valuesÚ+HTMLFormatter._get_columns_formatted_valuesƒ   s   € Ø�|‰|Ðr7   c                ó.   • U R                   R                  $ r:   )r   Úis_truncatedrQ   s    r4   rd   ÚHTMLFormatter.is_truncated†   s   € à�x‰x×$Ñ$Ð$r7   c                óT   • [        U R                  R                  R                  5      $ r:   )rM   r   r   r   rQ   s    r4   ÚncolsÚHTMLFormatter.ncolsŠ   s   € ä�4—8‘8×$Ñ$×,Ñ,Ó-Ð-r7   c                ó\   • [        U5      nU R                  R                  SU-  U-   5        g )NrH   )r   r    Úappend)r-   ÚsÚindentÚrss       r4   rL   ÚHTMLFormatter.writeŽ   s&   € Ü˜!‹_ˆØ�‰×Ñ˜S 6™\¨BÑ.Õ/r7   c                óš   • U R                   R                  US5      nU(       a  Ub  U=(       d    SnUSU S3-  nU R                  USX4S9  g)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©Úkindrl   Útags)r(   ÚgetÚ_write_cell)r-   rk   Úheaderrl   rt   r(   s         r4   Úwrite_thÚHTMLFormatter.write_th’   sT   € ð2 —N‘N×&Ñ& q¨$Ó/ˆ	æ�iÑ+Ø—:˜2ˆDØÐ(¨¨°2Ð6Ñ6ˆDà×Ñ˜ ¨fÐÒ@r7   c                ó&   • U R                  USX#S9  g )NÚtdrr   )rv   )r-   rk   rl   rt   s       r4   Úwrite_tdÚHTMLFormatter.write_td³   s   € Ø×Ñ˜ ¨fÐÒ@r7   c                óR  • Ub
  SU SU S3nOSU S3nU R                   (       a  SSSS.nO0 n[        XS9R                  5       nU R                  (       a4  [	        U5      (       a$  [        U0 S9R                  5       nUS	U S
3-  nSn	OSn	U R                  U U U	 SU S3U5        g )NÚ<rH   Ú>z&amp;z&lt;z&gt;)Ú&r   r€   )Úescape_charsz	<a href="z" target="_blank">z</a>rp   z</)r"   r   Ústripr'   r   rL   )
r-   rk   rs   rl   rt   Ú	start_tagÚescrm   Úrs_unescapedÚend_as
             r4   rv   ÚHTMLFormatter._write_cell¶   s½   € ð ÑØ˜D˜6  4 &¨Ð*‰Ià˜D˜6 ˜ˆIà�;�;à  w°WÑ=‰CàˆCä˜!Ñ.×4Ñ4Ó6ˆà××¤¨§¡Ü'¨¸Ñ;×AÑAÓCˆLØ˜9 \ NÐ2DÐEÑEˆIØ‰EàˆEà�
‰
�i�[   U G¨2¨d¨V°1Ð5°vÕ>r7   c                ód  • Uc  0 nUc  U R                  SU5        OU R                  SU S3U5        X#-  n[        U5       HV  u  p‰UR                  US 5      n
U(       d  U R                  (       a  X‡:  a  U R	                  X’XJS9  MF  U R                  X’U
S9  MX     X#-  nU R                  SU5        g )Nz<tr>z<tr style="text-align: z;">)rl   rw   rt   )rt   z</tr>)rL   Ú	enumerateru   r!   rx   r|   )r-   Úlinerl   r   rw   Úalignrt   Únindex_levelsÚirk   Úval_tags              r4   Úwrite_trÚHTMLFormatter.write_trÏ   s§   € ð ‰<ØˆDà‰=Ø�J‰J�v˜vÕ&à�J‰JÐ0°°°sÐ;¸VÔDØÑˆä˜d–O‰DˆAØ—h‘h˜q $Ó'ˆGÞ˜$Ÿ.Ÿ.¨QÓ->Ø—‘˜a°v�ÓLà—‘˜a¨g�Ó6ñ $ð 	ÑˆØ�
‰
�7˜FÕ#r7   c           	     ón  • S/n[        S5      nU(       d  UR                  S5        U R                  bŸ  [        U R                  [        5      (       a  U R                  R                  5       U l        [        U R                  [        [        45      (       d!  [        S[        U R                  5       35      eUR                  U R                  5        U R                  c  SnOSU R                   S3nU R                  c  SnOSU R                   S3nU R                  S	U S
SR                  U5       SU S3U5        U R                  R                   (       d  U R"                  (       a  U R%                  XR&                  -   5        U R)                  XR&                  -   5        U R                  SU5        g )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="rH   r€   z</table>)r	   rj   r   r)   r,   ÚsplitÚlistr+   Ú	TypeErrorÚtypeÚextendr&   r%   rL   rB   r   rw   rT   Ú_write_headerr   Ú_write_body)r-   rl   Ú_classesÚuse_mathjaxÚ
id_sectionÚborder_attrs         r4   rI   ÚHTMLFormatter._write_tableì   sd  € Ø�=ˆÜ Ð!;Ó<ˆÞØ�O‰OÐ,Ô-Ø�<‰<Ñ#Ü˜$Ÿ,™,¬×,Ñ,Ø#Ÿ|™|×1Ñ1Ó3�”Ü˜dŸl™l¬T´5¨M×:Ñ:Üð%Ü%)¨$¯,©,Ó%7Ð$8ð:óð ð �O‰O˜DŸL™LÔ)à�=‰=Ñ Ø‰Jà  §¡ ¨qÐ1ˆJà�;‰;ÑØ‰Kà% d§k¡k ]°!Ð4ˆKà�
‰
Ø�[�M ¨#¯(©(°8Ó*<Ð)=¸Q¸z¸lÈ!ÐLØô	
ð
 �8‰8�?�?˜d×5×5Ø×Ñ˜v×(9Ñ(9Ñ9Ô:à×Ñ˜×"3Ñ"3Ñ3Ô4à�
‰
�:˜vÕ&r7   c           	     óV  • U R                   R                  n[        U R                  [        5      (       GaÌ  SnU R                   R
                  (       a  [        R                  nOSnU R                  R                  USS9n[        XT5      n[        U5      S-
  n[        [        Xe5      5       GHO  u  nu  pšU(       Ga  U R                   R                  nU R                   R
                  (       a   0 n[        U	R                  5       5       Hg  u  pÞXÛ:¼  a  XìUS-   '   O:XÞ-   U:”  a.  US-   XÍ'   X‡:X  a  U
S U S-   X«S  -   n
OU
S U X«S-
     4-   X«S  -   n
OXìU'   XÞ-   U:X  d  MV  SXË'   U
S U S-   X«S  -   n
Mi     Un	[        U5      S-
  nX‡:X  a  SX›'   OJ0 n[        U	R                  5       5       H  u  pÞXÛ:¼  a	  XìUS-   '   M  XìU'   M     SXË'   Un	U
S U S/-   X«S  -   n
S/U R                   S-
  -  nU R                   R"                  (       d  U R$                  (       ai  U R                   R&                  (       a=  U R                  R(                  U   nUR+                  [-        U=(       d    S5      5        OUR+                  S5        0 n[        U5      n[        U
5       HC  u  nnUU	;   a  U	U   S:”  a  UR/                  U	U   S9UU'   OM-  US-  nUR+                  U5        ME     U R1                  XñU R2                  US	S
9  GMR     g S/U R                   S-
  -  nU R                   R"                  (       d  U R$                  (       a[  U R                   R&                  (       a/  UR+                  U R                  R4                  =(       d    S5        OUR+                  S5        UR7                  U R9                  5       5        U R                   R:                  nU(       a5  U R                   U R                   R                  -   nUR=                  US5        U R1                  XñU R2                  S	US9  g )Nz colspan="{span:d}" halign="left"F©ÚsparsifyÚinclude_namesr[   )ú...r¦   rp   ©ÚspanT)rt   rw   )rw   rŒ   )r   Úis_truncated_horizontallyr)   r   r   r¤   r
   Ú
no_defaultÚ_format_multir   rM   rŠ   ÚzipÚ
tr_col_numr—   r*   r^   r\   rX   Úshow_index_namesÚnamesrj   r   Úformatr�   r   Únamerš   ra   ÚjustifyÚinsert)r-   rl   r©   ÚtemplateÚsentinelÚlevelsÚlevel_lengthsÚ	inner_lvlÚlnumÚrecordsÚvaluesÚins_colÚrecs_newÚtagr¨   Úrowr±   rt   ÚjrŽ   ÚvrŒ   s                         r4   Ú_write_col_headerÚHTMLFormatter._write_col_header  s½  € à$(§H¡H×$FÑ$FÐ!Ü�d—l‘l¤J×/Ò/Ø9ˆHð �x‰x× × äŸ>™>‘à �Ø—\‘\×/Ñ/¸ÐQVÐ/ÐWˆFÜ-¨fÓ?ˆMÜ˜MÓ*¨QÑ.ˆIÜ+4´S¸Ó5O×+PÑ'�Ñ'�wß,à"Ÿh™h×1Ñ1�GØ—x‘x×(×(Ø#%˜ä)-¨g¯m©m«oÖ)>™I˜CØ"›~Ø48¨¨q©Ò 1Ø!$¡¨gÓ!5Ø04°q± ¡Ø#'Ó#4à(.¨x°Ð(8¸8Ñ(CÀfÈXÐFVÑ(Vñ %+ð )/¨x°Ð(8Ø+1¸A±+Ñ+>Ð*@ñ)Aà*0°Ð*:ñ);ñ %+ð 15¨¡ð  #™z¨WÕ4Ø45 Ñ 1Ø)/°°Ð)9¸HÑ)DÀvÈhÐGWÑ)W¢ñ- *?ð. #+˜Ü$'¨Ó$6¸Ñ$:˜	ØÓ,Ø/0˜GÑ,øà#%˜Ü)-¨g¯m©m«oÖ)>™I˜CØ"›~Ø48¨¨q©Ó 1à04¨£ñ	 *?ð
 -.˜Ñ)Ø"*˜Ø!'¨¨Ð!1°U°GÑ!;¸fÀXÐ>NÑ!N˜ð �d˜dŸo™o°Ñ1Ñ2�Ø—8‘8—>—> T×%<×%<ð —x‘x×0×0Ø#Ÿ|™|×1Ñ1°$Ñ7˜ØŸ
™
¤<°·
¸Ó#;Õ<àŸ
™
 2œà�Ü˜“H�Ü% fÖ-‘D�A�qØ˜G“|Ø" 1™:¨›>Ø&.§o¡o¸7À1¹: oÐ&F˜D ™Gøá Ø˜‘F�AØ—J‘J˜q–Mñ .ð —‘˜c¨4×+<Ñ+<À4ÐPT�ÔUòY ,Qðh �$˜$Ÿ/™/¨AÑ-Ñ.ˆCØ�x‰x�~�~ ×!8×!8ð —8‘8×,×,Ø—J‘J˜tŸ|™|×0Ñ0×6°BÕ7à—J‘J˜r”NØ�J‰J�t×9Ñ9Ó;Ô<Ø—H‘H×$Ñ$ˆEæ(ØŸ/™/¨D¯H©H×,?Ñ,?Ñ?�Ø—
‘
˜7 EÔ*à�M‰M˜# t×'8Ñ'8ÀÈUˆMÒSr7   c                ó  • U R                   R                  nU R                  R                  R                   Vs/ s H	  o3b  UOSPM     snS/U R
                  U(       a  SOS-   -  -   nU R                  XAU R                  SS9  g s  snf )Nrp   r[   r   T)rw   )r   r©   r   r\   r¯   rg   r�   r   )r-   rl   r©   r<   r¿   s        r4   Ú_write_row_headerÚHTMLFormatter._write_row_headerˆ  s   € Ø$(§H¡H×$FÑ$FÐ!Ø37·:±:×3CÑ3C×3IÒ3IÓJÒ3I¨a‘M‰q rÒ)Ñ3IÑJÈbÈTØ�J‰JÖ8™!¸aÑ@ñN
ñ 
ˆð 	�‰�c 4×#4Ñ#4¸TˆÒBùò Ks   ¹Bc                ó  • U R                  SU5        U R                  R                  (       a  U R                  XR                  -   5        U R
                  (       a  U R                  XR                  -   5        U R                  SU5        g )Nz<thead>z</thead>)rL   r   rw   rÂ   r   rT   rÅ   )r-   rl   s     r4   r›   ÚHTMLFormatter._write_header�  s`   € Ø�
‰
�9˜fÔ%à�8‰8�?�?Ø×"Ñ" 6×,=Ñ,=Ñ#=Ô>à×"×"Ø×"Ñ" 6×,=Ñ,=Ñ#=Ô>à�
‰
�:˜vÕ&r7   c                óÚ   • [        SS 5         [        U R                  5       Vs0 s H  oU R                  R	                  U5      _M      nnS S S 5        U$ s  snf ! , (       d  f       W$ = f)Nzdisplay.max_colwidth)r   Úrangerg   r   Ú
format_col)r-   rŽ   Ú
fmt_valuess      r4   Ú_get_formatted_valuesÚ#HTMLFormatter._get_formatted_valuesš  s^   € ÜÐ2°DÕ9Ü=BÀ4Ç:Á:Ô=NÓOÒ=N¸˜TŸX™X×0Ñ0°Ó3Ò3Ñ=NˆJÐO÷ :àÐùò P÷ :Ô9àÐús   �A¥%AÁ
AÁAÁ
A*c                ón  • U R                  SU5        U R                  5       nU R                  R                  (       aH  [	        U R
                  R                  [        5      (       a  U R                  X!U R                  -   5        OU R                  X!U R                  -   5        U R                  SU5        g )Nz<tbody>z</tbody>)
rL   rÍ   r   r\   r)   r   r   Ú_write_hierarchical_rowsr   Ú_write_regular_rows)r-   rl   rÌ   s      r4   rœ   ÚHTMLFormatter._write_bodyŸ  s�   € Ø�
‰
�9˜fÔ%Ø×/Ñ/Ó1ˆ
ð �8‰8�>�>œj¨¯©×)9Ñ)9¼:×FÑFØ×)Ñ)¨*¸t×?PÑ?PÑ6PÕQà×$Ñ$ Z¸$×:KÑ:KÑ1KÔLà�
‰
�:˜vÕ&r7   c           	     ón  ^^• U R                   R                  nU R                   R                  n[        U R                   R                  5      nU R                   R
                  (       a{  U R                   R                  S5      nUb0  U R                   R                  R
                  R                  U5      nO-U R                   R                  R
                  R                  SS9n/ n[        U5       GH@  mU(       aP  TU R                   R                  :X  a6  S/[        U5      -  n	U R                  U	UU R                  S U R                  S9  / nU R                   R
                  (       a  UR                  WT   5        O"U R                  (       a  UR                  S5        UR!                  UU4S j[        U R"                  5       5       5        U(       a5  U R                   R$                  U R                  -   n
UR'                  U
S5        U R                  X‚U R                  S U R                  S9  GMC     g )NÚ	__index__F©Úinclude_namer¦   ©rt   r�   rp   c              3  ó4   >#   • U  H  nTU   T   v •  M     g 7fr:   © ©r;   rÀ   rÌ   rŽ   s     €€r4   r=   Ú4HTMLFormatter._write_regular_rows.<locals>.<genexpr>Ð  s   øé € ÐCÒ1B¨A�z !‘} QÖ'Ò1Bùó   ƒ)r   r©   Úis_truncated_verticallyrM   r   r\   Ú_get_formatterÚmapÚ_format_flatrÊ   Ú
tr_row_numr�   r   r^   rj   rX   rš   rg   r­   r³   )r-   rÌ   rl   r©   rÝ   Únrowsr   Úindex_valuesr¿   Ústr_sep_rowÚ
dot_col_ixrŽ   s    `         @r4   rÑ   Ú!HTMLFormatter._write_regular_rows«  s¤  ù€ ð %)§H¡H×$FÑ$FÐ!Ø"&§(¡(×"BÑ"BÐä�D—H‘H×%Ñ%Ó&ˆà�8‰8�>�>Ø—(‘(×)Ñ)¨+Ó6ˆCØ‰Ø#Ÿx™x×0Ñ0×6Ñ6×:Ñ:¸3Ó?‘ð  $Ÿx™x×0Ñ0×6Ñ6×CÑCÐQVÐCÐW�àˆÜ�u—ˆAÞ&¨1°·±×1DÑ1DÓ+EØ$˜g¬¨C«Ñ0�Ø—‘ØØØ×%Ñ%ØØ"&§/¡/ð ñ ð ˆCØ�x‰x�~�~Ø—
‘
˜<¨™?Õ+ð
 ×(×(Ø—
‘
˜2”Ø�J‰JÕC´°t·z±zÔ1BÓCÔCæ(Ø!ŸX™X×0Ñ0°4·?±?ÑB�
Ø—
‘
˜: uÔ-Ø�M‰MØ˜T×.Ñ.°TÈÏÉð ô ò3 r7   c                ó˜	  ^^• SnU R                   R                  nU R                   R                  nU R                   R                  n[	        U5      n[        UR                  [        5      (       d   eUR                  R                  SSS9n[        [        U6 5      nU R                   R                  (       GaÂ  [        R                  n	UR                  R                  U	SS9n
[        X©5      n[	        U5      S-
  nU(       Gam  U R                   R                  nSn[!        U5       GH  u  nn0 n[        UR#                  5       5       Hñ  u  nnUU:¼  a	  UUUS-   '   OrUU-   U:”  ad  US-   UU'   U(       d3  [        X�S-
     5      nSUS'   UR%                  U['        U5      5        SnO'[        X�   5      nSUXÏ-
  '   ['        U5      X�'   OUUU'   UU-   U:X  d  M’  SUU'   US:X  a*  UR%                  U['        S/[	        U5      -  5      5        MÇ  U(       d  MÐ  [        X�   5      nSUXÏ-
  '   ['        U5      X�'   Mó     UX¿'   GM     SX¼   U'   T H  nTU   R%                  US5        M     US-  n[)        U5       Hú  m/ n0 nSnSn[        X¸T   5       HH  u  nnTU;   a  UT   S:”  a  UR+                  UT   S	9UU'   OUS-  nM2  US-  nUR-                  U5        MJ     UR/                  UU4S
 j[)        U R0                  5       5       5        U(       a6  UR%                  U R2                  U-
  U R                   R4                  -   S5        U R7                  UUU R8                  U[	        U
5      U-
  S9  Mü     g / n[)        [	        U5      5       GH4  mU(       aP  TU R                   R                  :X  a6  S/[	        U5      -  nU R7                  UUU R8                  S U R2                  S9  [        [        UR                  R                  SSS96 5      n/ nUR/                  UT   5        UR/                  UU4S j[)        U R0                  5       5       5        U(       a3  UR%                  U R2                  U R                   R4                  -   S5        U R7                  UUU R8                  S UR                  R:                  S9  GM7     g )Nzrowspan="{span}" valign="top"Fr£   r[   r¦   éÿÿÿÿTr   r§   c              3  ó4   >#   • U  H  nTU   T   v •  M     g 7fr:   rÙ   rÚ   s     €€r4   r=   Ú9HTMLFormatter._write_hierarchical_rows.<locals>.<genexpr>-  ó   øé € ÐGÒ5F°˜: a™=¨Ö+Ò5FùrÜ   r×   c              3  ó4   >#   • U  H  nTU   T   v •  M     g 7fr:   rÙ   rÚ   s     €€r4   r=   rê   K  rë   rÜ   )r   r©   rÝ   r   rM   r)   r\   r   r«   r—   r¬   r¤   r
   rª   r   rá   rŠ   r*   r³   r+   rÊ   r°   rj   rš   rg   r^   r­   r�   r   r]   )r-   rÌ   rl   r´   r©   rÝ   r   râ   Ú
idx_valuesrµ   r¶   r·   r¸   Úins_rowÚinsertedr¹   rº   Úrec_newr¾   r¨   Údot_rowÚix_colr¿   rt   Úsparse_offsetrÀ   rÁ   rä   rŽ   s    `                          @r4   rÐ   Ú&HTMLFormatter._write_hierarchical_rowsÙ  sw  ù€ ð 3ˆà$(§H¡H×$FÑ$FÐ!Ø"&§(¡(×"BÑ"BÐØ—‘×!Ñ!ˆÜ�E“
ˆä˜%Ÿ+™+¤z×2Ñ2Ð2Ð2Ø—[‘[×.Ñ.¸ÈUÐ.ÐSˆ
Üœ#˜zÐ*Ó+ˆ
à�8‰8××Ðä—~‘~ˆHØ—[‘[×.Ñ.¸ÐPUÐ.ÐVˆFä-¨fÓ?ˆMÜ˜MÓ*¨QÑ.ˆIß&ð Ÿ(™(×-Ñ-�Ø �Ü%.¨}×%=‘M�D˜'Ø �GÜ%)¨'¯-©-«/Ö%:™	˜˜TØ '›>Ø/3˜G C¨!¡GÒ,Ø  4™Z¨'Ó1Ø+/°!©8˜G C™Lö $,Ü*.¨zÀA¹+Ñ/FÓ*G Ø.3 ¨¡Ø *× 1Ñ 1°'¼5À»>Ô JØ+/¡ä*.¨zÑ/BÓ*C Ø<A ¨	Ñ(8Ñ 9Ü6;¸G³n 
Ò 3à+/˜G C™Lð  ™:¨Õ0Ø/0˜G GÑ,Ø# q›yØ *× 1Ñ 1Ø$+¬U°E°7¼SÀÓ=OÑ3OÓ-Pö!"÷
 "* Ü*.¨zÑ/BÓ*C Ø<A ¨	Ñ(8Ñ 9Ü6;¸G³n 
Ó 3ñ? &;ð@ +2�MÔ'ñE &>ðH 56�Ñ(¨Ñ1Û(�FØ˜vÑ&×-Ñ-¨g°uÖ=ñ )à˜‘
�ä˜5–\�Ø�Ø�à !�Ø�Ü"% mÀ±]Ö"C‘J�G˜QØ˜G“|Ø" 1™:¨›>Ø&.§o¡o¸7À1¹: oÐ&F˜D ™Gøà%¨Ñ*˜Ù à˜‘F�AØ—J‘J˜q–Mñ #Dð —
‘
ÕG´U¸4¿:¹:Ô5FÓGÔGÞ,Ø—J‘JØŸ™¨-Ñ7¸$¿(¹(×:MÑ:MÑMÈuôð —‘ØØØ×%Ñ%ØÜ"% f£+°Ñ"=ð ó ò- "ð< ˆCÜœ3˜u›:×&�Þ*¨q°T·X±X×5HÑ5HÓ/IØ#( '¬C°«HÑ"4�KØ—M‘MØ#ØØ×)Ñ)Ø!Ø&*§o¡oð "ñ ô "Ü˜Ÿ™×2Ñ2¸EÐQVÐ2ÐWÐXó�
ð �Ø—
‘
˜: a™=Ô)Ø—
‘
ÕG´U¸4¿:¹:Ô5FÓGÔGÞ,Ø—J‘J˜tŸ™°·±×1DÑ1DÑDÀeÔLØ—‘ØØØ×%Ñ%ØØ"'§+¡+×"5Ñ"5ð ô ò' 'r7   )r!   r%   r   r(   r   r    r"   r   r   r'   r#   r&   )NNNF)r.   r   r   z(str | list[str] | tuple[str, ...] | Noner%   zint | bool | Noner&   ú
str | Noner'   ÚboolÚreturnÚNone)r÷   r,   ©r÷   z	list[str])r÷   rö   )r÷   r$   )r÷   r   )r   )rk   r   rl   r$   r÷   rø   )Fr   N)
rk   r   rw   rö   rl   r$   rt   rõ   r÷   rø   )r   N)rk   r   rl   r$   rt   rõ   r÷   rø   )r{   r   N)
rk   r   rs   r,   rl   r$   rt   rõ   r÷   rø   )r   r   FNNr   )r‹   r   rl   r$   r   r$   rw   rö   rŒ   rõ   rt   zdict[int, str] | Noner�   r$   r÷   rø   )rl   r$   r÷   rø   ©r÷   zdict[int, list[str]])rÌ   zMapping[int, list[str]]rl   r$   r÷   rø   ) Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   Ú__annotations__r5   rD   r@   ÚpropertyrJ   rT   rX   r^   ra   rd   rg   rL   rx   r|   rv   r�   rI   rÂ   rÅ   r›   rÍ   rœ   rÑ   rÐ   Ú__static_attributes__rÙ   r7   r4   r   r   &   s3  ‡ ñð €L�%Óð
 =AØ$(Ø#Ø"ð#Hà%ð#Hð :ð#Hð "ð	#Hð
 ð#Hð ð#Hð 
õ#HôJ ô	ð ó/ó ð/ð ó+ó ð+ð ó+ó ð+ð óó ðôð ó%ó ð%ð ó.ó ð.ö0ð
 QUðAØðAØ"ðAØ47ðAØCMðAà	õAöBAð MQð?Øð?Øð?Ø03ð?Ø?Ið?à	õ?ð8 ØØØ Ø&*Øð$àð$ð ð$ð ð	$ð
 ð$ð ð$ð $ð$ð ð$ð 
õ$ö:#'ôJuTônCô	'ôô

'ð,Ø1ð,Ø;>ð,à	ô,ð\{Ø1ð{Ø;>ð{à	÷{r7   r   c                  óN   ^ • \ rS rSrSrSS jrS	S jrS
S jrS	U 4S jjrSr	U =r
$ )ÚNotebookFormatteriW  zÇ
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)
c                óŠ   • [        U R                  5       Vs0 s H  oU R                  R                  U5      _M      sn$ s  snf r:   )rÊ   rg   r   rË   )r-   rŽ   s     r4   rÍ   Ú'NotebookFormatter._get_formatted_values^  s7   € Ü38¸¿¹Ô3DÓEÒ3D¨a�4—8‘8×&Ñ& qÓ)Ò)Ñ3DÑEÐEùÒEs   ˜%A c                ó4   • U R                   R                  SS9$ )NFrÕ   )r   rà   rQ   s    r4   ra   Ú/NotebookFormatter._get_columns_formatted_valuesa  s   € à�|‰|×(Ñ(°eÐ(Ð<Ð<r7   c                ó`  ^• SnSnSmSS/n[        U R                  [        5      (       a4  UR                  S5        U R                  (       a  UR                  S5        OUR                  S5        S	R                  U4S
 jU 5       5      n[        U SU SU 35      nU R                  U5        g )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  ó.   >#   • U  H
  nTU-  v •  M     g 7fr:   rÙ   )r;   ÚtÚtemplate_selects     €r4   r=   Ú0NotebookFormatter.write_style.<locals>.<genexpr>}  s   øé € Ð"NÂ¸1 ?°QÖ#6Âùs   ƒr?   )r)   r   r   rj   rT   rB   r   rL   )r-   Útemplate_firstÚtemplate_lastÚelement_propsÚtemplate_midr´   r  s         @r4   Úwrite_styleÚNotebookFormatter.write_stylee  s²   ø€ ðˆðˆðˆð
 EØ4ð
ˆô �d—l‘l¤J×/Ñ/Ø× Ñ Ð!FÔGØ×&×&Ø×$Ñ$ØGôøð × Ñ Ð!DÔEØ—{‘{Ô"NÁÓ"NÓNˆÜ˜^Ð,¨B¨|¨n¸B¸}¸oÐNÓOˆØ�
‰
�8Õr7   c                óœ   >• U R                  S5        U R                  5         [        TU ]  5         U R                  S5        U R                  $ )Nz<div>z</div>)rL   r  Úsuperr@   r    )r-   Ú	__class__s    €r4   r@   ÚNotebookFormatter.render�  s;   ø€ Ø�
‰
�7ÔØ×ÑÔÜ‰‰ÔØ�
‰
�8ÔØ�}‰}Ðr7   rÙ   rú   rù   )r÷   rø   )rû   rü   rý   rþ   rÿ   rÍ   ra   r  r@   r  Ú__classcell__)r  s   @r4   r  r  W  s"   ø† ñôFô=ô÷8õ r7   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  rÙ   r7   r4   Ú<module>r)     s^   ðñõ #å ÷ó õ &å ÷õ
 $÷õ 4æ÷ñ ÷nñ nôb/˜õ /r7   