§
    ªöÉgF  ã                  ó¶  — d Z ddlmZ ddlmZmZmZ ddl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 dd	lmZ eeeef         ee         f         Z ed
¦  «        Z ed¦  «        ZdId„ZdJdKd„Z	 dLdMd„Z	 dLdNd „Z	 	 	 	 	 dOdPd)„Z	 dQdRd/„ZdSd2„ZdTdUd3„Z 	 	 	 	 dVdWd<„Z!dXdA„Z" G dB„ dCe#eef         ¦  «        Z$ G dD„ dE¦  «        Z% G dF„ dGe%¦  «        Z&dYdH„Z'dS )Zz
Printing tools.
é    )Úannotations)ÚIterableÚMappingÚSequenceN)ÚAnyÚCallableÚTypeVarÚUnion)Úeast_asian_width)Ú
get_option)Úis_sequence)Úget_console_sizeÚ_KTÚ_VTÚspaceÚintÚlistsú	list[str]ÚreturnÚstrc           	     ón  ‡ ‡— |                      dt          ¦  «        Š|                      dt          ¦  «        }g }ˆ ˆfd„|dd…         D ¦   «         }|                     t	          t          t          |d         ¦  «        ¦  «        ¦  «         t	          t          t          |¦  «        ¦  «        }t          |¦  «        D ]P\  }} ||||         d¬¦  «        }	d||         z  g|t          |¦  «        z
  z  |	z   }	|                     |	¦  «         ŒQt          |Ž }
d	                     d
„ |
D ¦   «         ¦  «        S )a»  
    Glues together two sets of strings using the amount of space requested.
    The idea is to prettify.

    ----------
    space : int
        number of spaces for padding
    lists : str
        list of str which being joined
    strlen : callable
        function used to calculate the length of each str. Needed for unicode
        handling.
    justfunc : callable
        function used to justify str. Needed for unicode handling.
    ÚstrlenÚjustfuncc                óP   •— g | ]"}t          t          ‰|¦  «        ¦  «        ‰z   ‘Œ#S © )ÚmaxÚmap)Ú.0Úxr   r   s     €€úf/var/www/html/nodeJS/PythonScripts/venv3.11/lib/python3.11/site-packages/pandas/io/formats/printing.pyú
<listcomp>zadjoin.<locals>.<listcomp>3   s.   ø€ Ð?Ð?Ð?¨q�s•3�v˜q‘>”>Ñ"Ô" UÑ*Ð?Ð?Ð?ó    NéÿÿÿÿÚleft)Úmodeú ú
c              3  ó@   K  — | ]}d                       |¦  «        V — ŒdS )Ú N)Újoin)r   Úliness     r    ú	<genexpr>zadjoin.<locals>.<genexpr><   s,   è è € Ð8Ð8¨�R—W’W˜U‘^”^Ð8Ð8Ð8Ð8Ð8Ð8r"   )	ÚpopÚlenÚ_adj_justifyÚappendr   r   Ú	enumerateÚzipr*   )r   r   Úkwargsr   ÚnewListsÚlengthsÚmaxLenÚiÚlstÚnlÚtoJoinr   s   `          @r    Úadjoinr;      s,  øø€ ð  �ZŠZ˜¥#Ñ&Ô&€FØ�zŠz˜*¥lÑ3Ô3€Hà€HØ?Ð?Ð?Ð?Ð?°E¸#¸2¸#´JÐ?Ñ?Ô?€Gà‡N‚N•3•s�3  b¤	Ñ*Ô*Ñ+Ô+Ñ,Ô,Ð,Ý••S˜%‘”Ñ!Ô!€FÝ˜EÑ"Ô"ð ð ‰ˆˆ3ØˆX�c˜7 1œ:¨FÐ3Ñ3Ô3ˆØ�W˜Q”ZÑÐ  F­S°©X¬XÑ$5Ñ6¸"Ñ<ˆØ�Š˜ÑÔÐÐÝ�(ˆ^€FØ�9Š9Ð8Ð8°Ð8Ñ8Ô8Ñ8Ô8Ð8r"   ÚrightÚtextsúIterable[str]Úmax_lenr%   c                óp   ‡— |dk    rˆfd„| D ¦   «         S |dk    rˆfd„| D ¦   «         S ˆfd„| D ¦   «         S )zB
    Perform ljust, center, rjust against string or list-like
    r$   c                ó:   •— g | ]}|                      ‰¦  «        ‘ŒS r   ©Úljust©r   r   r?   s     €r    r!   z _adj_justify.<locals>.<listcomp>D   ó%   ø€ Ð0Ð0Ð0 Q�—’˜Ñ Ô Ð0Ð0Ð0r"   Úcenterc                ó:   •— g | ]}|                      ‰¦  «        ‘ŒS r   ©rF   rD   s     €r    r!   z _adj_justify.<locals>.<listcomp>F   s%   ø€ Ð1Ð1Ð1 a�—’˜Ñ!Ô!Ð1Ð1Ð1r"   c                ó:   •— g | ]}|                      ‰¦  «        ‘ŒS r   ©ÚrjustrD   s     €r    r!   z _adj_justify.<locals>.<listcomp>H   rE   r"   r   )r=   r?   r%   s    ` r    r/   r/   ?   sg   ø€ ð ˆv‚~€~Ø0Ð0Ð0Ð0¨%Ð0Ñ0Ô0Ð0Ø	�Ò	Ð	Ø1Ð1Ð1Ð1¨5Ð1Ñ1Ô1Ð1à0Ð0Ð0Ð0¨%Ð0Ñ0Ô0Ð0r"   Úseqr   Ú	_nest_lvlÚmax_seq_itemsú
int | Nonec           	     ó<  ‡‡‡‡— t          | t          ¦  «        rd}nt          | d¦  «        rdnd}‰du rt          | ¦  «        }n ‰pt	          d¦  «        pt          | ¦  «        }t          | ¦  «        Šˆˆˆˆfd„t          t          |t          | ¦  «        ¦  «        ¦  «        D ¦   «         }d                     |¦  «        }|t          | ¦  «        k     r|d	z  }n-t          | t          ¦  «        rt          | ¦  «        d
k    r|dz  }| 
                    |¬¦  «        S )z¶
    internal. pprinter for iterables. you should probably use pprint_thing()
    rather than calling this directly.

    bounds length of printed sequence, depending on options
    z
{{{body}}}Ú__setitem__z[{body}]z({body})FrN   c                óP   •— g | ]"}t          t          ‰¦  «        ‰d z   fd‰i‰¤Ž‘Œ#S )é   rN   )Úpprint_thingÚnext)r   r7   rM   ÚkwdsrN   Úss     €€€€r    r!   z_pprint_seq.<locals>.<listcomp>x   sJ   ø€ ð 	ð 	ð 	àõ 	•T˜!‘W”W˜i¨!™mÐQÐQ¸=ÐQÈDÐQÐQð	ð 	ð 	r"   ú, ú, ...rS   ú,)Úbody)Ú
isinstanceÚsetÚhasattrr.   r   ÚiterÚrangeÚminr*   ÚtupleÚformat)	rL   rM   rN   rV   ÚfmtÚnitemsÚrr[   rW   s	    ```    @r    Ú_pprint_seqrg   c   s3  øøøø€ õ �#•sÑÔð HØˆˆå# C¨Ñ7Ô7ÐGˆjˆj¸Zˆà˜ÐÐÝ�S‘”ˆˆàÐI¥*¨_Ñ"=Ô"=ÐIÅÀSÁÄˆåˆS‰	Œ	€Að	ð 	ð 	ð 	ð 	ð 	ð 	å•s˜6¥3 s¡8¤8Ñ,Ô,Ñ-Ô-ð	ñ 	ô 	€Að �9Š9�Q‰<Œ<€Dà•�C‘”ÒÐØ�‰ˆˆÝ	�C�Ñ	Ô	ð ¥C¨¡H¤H°¢M MØ�‰ˆà�:Š:˜4ˆ:Ñ Ô Ð r"   r   c                ó<  — d}g }d}|du rt          | ¦  «        }n |pt          d¦  «        pt          | ¦  «        }t          |                      ¦   «         ¦  «        d|…         D ]Q\  }}	|                     |                     t          ||dz   fd|i|¤Žt          |	|dz   fd|i|¤Ž¬¦  «        ¦  «         ŒR|t          | ¦  «        k     r,|                     d                     |¦  «        d	z   ¬
¦  «        S |                     d                     |¦  «        ¬
¦  «        S )zy
    internal. pprinter for iterables. you should probably use pprint_thing()
    rather than calling this directly.
    z{{{things}}}z{key}: {val}FrN   NrS   )ÚkeyÚvalrX   rY   )Úthings)r.   r   ÚlistÚitemsr0   rc   rT   r*   )
rL   rM   rN   rV   rd   ÚpairsÚpfmtre   ÚkÚvs
             r    Ú_pprint_dictrr   †   s;  € ð €CØ€Eà€Dà˜ÐÐÝ�S‘”ˆˆàÐI¥*¨_Ñ"=Ô"=ÐIÅÀSÁÄˆå�S—Y’Y‘[”[Ñ!Ô! ' 6 'Ô*ð 
ð 
‰ˆˆ1Ø�ŠØ�KŠKÝ   I°¡MÐWÐWÀÐWÐRVÐWÐWÝ   I°¡MÐWÐWÀÐWÐRVÐWÐWð ñ ô ñ	
ô 	
ð 	
ð 	
ð •�C‘”ÒÐØ�zŠz §¢¨5Ñ!1Ô!1°GÑ!;ˆzÑ<Ô<Ð<à�zŠz §¢¨5Ñ!1Ô!1ˆzÑ2Ô2Ð2r"   FÚthingr   Úescape_charsúEscapeChars | NoneÚdefault_escapesÚboolÚquote_stringsc                ó   ‡— |fdˆfd„}t          | d¦  «        rt          | ¦  «        S t          | t          ¦  «        r'|t	          d	¦  «        k     rt          | |d
|¬¦  «        }nit          | ¦  «        r(|t	          d	¦  «        k     rt          | ||||¬¦  «        }n2t          | t          ¦  «        r|rd || ¦  «        › d�}n || ¦  «        }|S )a  
    This function is the sanctioned way of converting objects
    to a string representation and properly handles nested sequences.

    Parameters
    ----------
    thing : anything to be formatted
    _nest_lvl : internal use only. pprint_thing() is mutually-recursive
        with pprint_sequence, this argument is used to keep track of the
        current nesting level, and limit it.
    escape_chars : list or dict, optional
        Characters to escape. If a dict is passed the values are the
        replacements
    default_escapes : bool, default False
        Whether the input escape characters replaces or adds to the defaults
    max_seq_items : int or None, default None
        Pass through to other pretty printers to limit sequence printing

    Returns
    -------
    str
    rs   r   rt   ru   r   r   c                ó  •— ddddœ}t          |t          ¦  «        r<‰r|                     |¦  «         n|}t          |                     ¦   «         ¦  «        }n|pd}t          | ¦  «        }|D ]}|                     |||         ¦  «        }Œ|S )Nz\tz\nz\r)ú	r'   úr   )r\   ÚdictÚupdaterl   Úkeysr   Úreplace)rs   rt   Ú	translateÚresultÚcrv   s        €r    Úas_escaped_stringz'pprint_thing.<locals>.as_escaped_stringÄ   s§   ø€ ð !¨°UÐ;Ð;ˆ	Ý�l¥DÑ)Ô)ð 	.Øð )Ø× Ò  Ñ.Ô.Ð.Ð.à(�	Ý × 1Ò 1Ñ 3Ô 3Ñ4Ô4ˆLˆLà'Ð-¨2ˆLå�U‘”ˆØð 	5ð 	5ˆAØ—^’^ A y°¤|Ñ4Ô4ˆFˆFØˆr"   Ú__next__zdisplay.pprint_nest_depthT)rx   rN   ©rt   rx   rN   ú')rs   r   rt   ru   r   r   )r^   r   r\   r}   r   rr   r   rg   )rs   rM   rt   rv   rx   rN   r„   r‚   s      `    r    rT   rT   ¥   s3  ø€ ð@ 8Dðð ð ð ð ð ð õ$ ˆu�jÑ!Ô!ð *Ý�5‰zŒzÐÝ	�E�4Ñ	 Ô	 ð * YµØ#ñ2ô 2ò &ð &õ Ø�9¨DÀð
ñ 
ô 
ˆˆõ 
�UÑ	Ô	ð * 	­JÐ7RÑ,SÔ,SÒ SÐ SÝØØØ%Ø'Ø'ð
ñ 
ô 
ˆˆõ 
�E�3Ñ	Ô	ð * Mð *Ø0Ð&Ð& uÑ-Ô-Ð0Ð0Ð0ˆˆà"Ð" 5Ñ)Ô)ˆà€Mr"   úutf-8r€   ÚencodingÚerrorsÚbytesc                óL   — t          | ¦  «        }|                     ||¦  «        S ©N)rT   Úencode)Úobjectr‰   rŠ   Úvalues       r    Úpprint_thing_encodedr‘   î   s%   € õ ˜Ñ Ô €EØ�<Š<˜ &Ñ)Ô)Ð)r"   ÚenableÚNonec                ó  ‡— dt           j        vrd S ddlm}  |¦   «         }|€d S |j        j        }d}| r<||vr)ddlm} ddlm	Š  G ˆfd„d|¦  «        } |¦   «         ||<   d	||         _
        d S ||v rd
||         _
        d S d S )NÚIPythonr   )Úget_ipythonz!application/vnd.dataresource+json)ÚBaseFormatter©Ú
ObjectNamec                  ó,   •— e Zd Z ” d¦  «        ZefZdS )ú<enable_data_resource_formatter.<locals>.TableSchemaFormatterÚ_repr_data_resource_N)Ú__name__Ú
__module__Ú__qualname__Úprint_methodr}   Ú_return_typer˜   s   €r    ÚTableSchemaFormatterr›   	  s&   ø€ € € € € Ø)˜zÐ*@ÑAÔA�Ø $˜w���r"   r¢   TF)ÚsysÚmodulesr•   r–   Údisplay_formatterÚ
formattersÚIPython.core.formattersr—   Ú	traitletsr™   Úenabled)r’   r–   Úipr¦   Úmimetyper—   r¢   r™   s          @r    Úenable_data_resource_formatterr¬   õ   s  ø€ Ø�œÐ#Ð#àˆØ#Ð#Ð#Ð#Ð#Ð#à	ˆ‰Œ€BØ	€zàˆàÔ%Ô0€JØ2€Hàð -Ø˜:Ð%Ð%à=Ð=Ð=Ð=Ð=Ð=Ø,Ð,Ð,Ð,Ð,Ð,ð'ð 'ð 'ð 'ð 'ð 'ð ' }ñ 'ô 'ð 'ð
 $8Ð#7Ñ#9Ô#9ˆJ�xÑ à'+ˆ
�8ÔÔ$Ð$Ð$à	�ZÐ	Ð	Ø',ˆ
�8ÔÔ$Ð$Ð$ð 
 Ð	r"   c                ó(   — t          | dd|¬¦  «        S )N)r{   r|   r'   Tr†   ©rT   )rs   rN   s     r    Údefault_pprintr¯     s%   € ÝØØ'ØØ#ð	ñ ô ð r"   TÚ	formatterr   Ú
is_justifyÚnameú
str | NoneÚindent_for_nameÚline_break_each_valuec                ó|  ‡‡‡ ‡!— t          ¦   «         \  }}|€t          d¦  «        pd}|€t          | ¦  «        j        }|r&t	          |¦  «        }dd|dz   z  › �}	dd|dz   z  › �}
nd}	d}
t	          | ¦  «        }|rd	dt	          |¦  «        z  z   }nd
}t          d¦  «        p|}||k    }t          ¦   «         Šd+ˆfd„}d,ˆfd„}d}|dk    rd|› �}�nè|dk    r|s ‰| d         ¦  «        }d|› d|› �}�nÅ|dk    r1|s/ ‰| d         ¦  «        } ‰| d         ¦  «        }d|› d|› d|› �}�nŽ|dk    rg }ˆfd„| dd…         D ¦   «         }nW||k    rAt          |dz  d ¦  «        }ˆfd!„| d|…         D ¦   «         }ˆfd"„| | d…         D ¦   «         }ng }ˆfd#„| D ¦   «         }|r¢|rt          ||¦  «        \  }}nŒ|sLt	          d                     |¦  «        ¦  «        |k     r&t	          d                     |¦  «        ¦  «        |k     s>t           ||¦  «         ||¦  «        ¦  «        Š!ˆ!fd$„|D ¦   «         }ˆ!fd%„|D ¦   «         }|r�|t	          |
¦  «        z
  }|d         }dŠ t          t          dt	          |¦  «        dz   ¦  «        ¦  «        D ]*}t          ||¬&¦  «        }t	          |¦  «        |k     r|Š  nŒ+ˆ fd'„|D ¦   «         }ˆ fd(„|D ¦   «         }d)}|
}|D ]}||z   dz   } ||||||
¦  «        \  }}Œ|r||                     ¦   «         |
z   d*z   z  }|
}|dd…         D ]}||z   dz   } ||||||
¦  «        \  }}Œ ||||d         |dz
  |
¦  «        \  }}||z  }d|                     d¦  «        z   }||z  }t	          |¦  «        |k    s|r||	z  }n|dz  }d|t	          |
¦  «        d…         z   }|S )-aÛ  
    Return the formatted obj as a unicode string

    Parameters
    ----------
    obj : object
        must be iterable and support __getitem__
    formatter : callable
        string formatter for an element
    is_justify : bool
        should justify the display
    name : name, optional
        defaults to the class name of the obj
    indent_for_name : bool, default True
        Whether subsequent lines should be indented to
        align with the name.
    line_break_each_value : bool, default False
        If True, inserts a line break for each value of ``obj``.
        If False, only break lines when the a line of values gets wider
        than the display width.

    Returns
    -------
    summary string
    Nzdisplay.widthéP   r'   r&   rS   é   z
 z,
 rZ   zdisplay.max_seq_itemsrW   r   Úliner�   Údisplay_widthr   Únext_line_prefixr   útuple[str, str]c                óî   •— ‰                      |                     ¦   «         ¦  «        ‰                      |                     ¦   «         ¦  «        z   |k    r| |                     ¦   «         z  } |}||z  }| |fS r�   )r.   Úrstrip)rW   r¹   r�   rº   r»   Úadjs        €r    Ú_extend_linez+format_object_summary.<locals>._extend_line]  sf   ø€ ð �7Š7�4—;’;‘=”=Ñ!Ô! C§G¢G¨E¯LªL©N¬NÑ$;Ô$;Ñ;¸}ÒLÐLØ�—’‘”ÑˆAØ#ˆDØ�‰ˆØ�$ˆwˆr"   Úvaluesr   c                óB   •— | rt          ˆfd„| D ¦   «         ¦  «        S dS )Nc              3  óB   •K  — | ]}‰                      |¦  «        V — Œd S r�   ©r.   )r   r   r¿   s     €r    r,   z:format_object_summary.<locals>.best_len.<locals>.<genexpr>h  s-   øè è € Ð2Ð2 a�s—w’w˜q‘z”zÐ2Ð2Ð2Ð2Ð2Ð2r"   r   ©r   )rÁ   r¿   s    €r    Úbest_lenz'format_object_summary.<locals>.best_lenf  s3   ø€ Øð 	ÝÐ2Ð2Ð2Ð2¨6Ð2Ñ2Ô2Ñ2Ô2Ð2à�1r"   rX   r   z[]ú[ú]r#   c                ó&   •— g | ]} ‰|¦  «        ‘ŒS r   r   ©r   r   r°   s     €r    r!   z)format_object_summary.<locals>.<listcomp>{  ó!   ø€ Ð3Ð3Ð3 Q�I�I˜a‘L”LÐ3Ð3Ð3r"   é
   c                ó&   •— g | ]} ‰|¦  «        ‘ŒS r   r   rÊ   s     €r    r!   z)format_object_summary.<locals>.<listcomp>~  s!   ø€ Ð2Ð2Ð2 Q�I�I˜a‘L”LÐ2Ð2Ð2r"   c                ó&   •— g | ]} ‰|¦  «        ‘ŒS r   r   rÊ   s     €r    r!   z)format_object_summary.<locals>.<listcomp>  rË   r"   c                ó&   •— g | ]} ‰|¦  «        ‘ŒS r   r   rÊ   s     €r    r!   z)format_object_summary.<locals>.<listcomp>‚  s!   ø€ Ð.Ð.Ð. Q�I�I˜a‘L”LÐ.Ð.Ð.r"   c                ó:   •— g | ]}|                      ‰¦  «        ‘ŒS r   rJ   ©r   r   Ú
max_lengths     €r    r!   z)format_object_summary.<locals>.<listcomp>‘  ó%   ø€ Ð:Ð:Ð:°˜Ÿš 
Ñ+Ô+Ð:Ð:Ð:r"   c                ó:   •— g | ]}|                      ‰¦  «        ‘ŒS r   rJ   rÑ   s     €r    r!   z)format_object_summary.<locals>.<listcomp>’  rÓ   r"   ©rN   c                ó2   •— g | ]}t          |‰¬ ¦  «        ‘ŒS ©rÕ   ©rg   ©r   r   Ú	max_itemss     €r    r!   z)format_object_summary.<locals>.<listcomp>£  ó&   ø€ ÐJÐJÐJÀ•K °Ð;Ñ;Ô;ÐJÐJÐJr"   c                ó2   •— g | ]}t          |‰¬ ¦  «        ‘ŒS r×   rØ   rÙ   s     €r    r!   z)format_object_summary.<locals>.<listcomp>¤  rÛ   r"   r)   z...)rW   r   r¹   r   r�   r   rº   r   r»   r   r   r¼   )rÁ   r   r   r   )r   r   Útyper�   r.   Úget_adjustmentra   Ú_justifyr*   r   Úreversedr`   rg   r¾   )"Úobjr°   r±   r²   r´   rµ   rº   Ú_Úname_lenÚspace1Úspace2ÚnÚseprN   Úis_truncatedrÀ   rÆ   ÚcloseÚsummaryÚfirstÚlastÚheadÚtailÚ	max_spacer�   Ú	num_itemsÚpprinted_seqr¹   Ú
head_valueÚwordÚ	tail_itemr¿   rÚ   rÒ   s"    `                             @@@r    Úformat_object_summaryrõ     sT  øøøø€ õB (Ñ)Ô)Ñ€M�1ØÐÝ" ?Ñ3Ô3Ð9°rˆØ€|Ý�C‰yŒyÔ!ˆàð Ý�t‘9”9ˆØ.�s˜h¨™lÑ+Ð.Ð.ˆØ.�s˜h¨™lÑ+Ð.Ð.ˆˆàˆØˆåˆC‰Œ€AØð ð �s�S ™YœY‘Ñ&ˆˆàˆÝÐ6Ñ7Ô7Ð<¸1€Mð �}Ò$€Lõ Ñ
Ô
€Cðð ð ð ð ð ðð ð ð ð ð ð €EàˆA‚v€vØ�u�,�,ˆ‰Ø	
ˆaŠˆÐ-ˆØ�	˜#˜aœ&Ñ!Ô!ˆØ%�eÐ%Ð%˜eÐ%Ð%ˆ‰Ø	
ˆaŠˆÐ-ˆØ�	˜#˜aœ&Ñ!Ô!ˆØˆy˜˜RœÑ!Ô!ˆØ-�eÐ-Ð-˜tÐ-Ð- eÐ-Ð-ˆ‰à˜AÒÐàˆDØ3Ð3Ð3Ð3¨#¨b¨c¨c¬(Ð3Ñ3Ô3ˆDˆDØ�ÒÐÝ�M QÑ&¨Ñ+Ô+ˆAØ2Ð2Ð2Ð2¨#¨b¨q¨b¬'Ð2Ñ2Ô2ˆDØ3Ð3Ð3Ð3¨#¨q¨b¨c¨c¬(Ð3Ñ3Ô3ˆDˆDàˆDØ.Ð.Ð.Ð.¨#Ð.Ñ.Ô.ˆDð ð 	;Ø$ð ;õ & d¨DÑ1Ô1‘
��d�dØð ;Ý�D—I’I˜d‘O”OÑ$Ô$ }Ò4Ð4Ý˜Ÿ	š	 $™œÑ(Ô(¨=Ò8Ð8õ !  ¨$¡¤°°¸$±´Ñ@Ô@�
Ø:Ð:Ð:Ð:°TÐ:Ñ:Ô:�Ø:Ð:Ð:Ð:°TÐ:Ñ:Ô:�ð !ð 	Kð
 &­¨F©¬Ñ3ˆIØ˜”GˆEØˆIÝ%¥e¨A­s°5©z¬z¸A©~Ñ&>Ô&>Ñ?Ô?ð ð �	Ý*¨5À	ÐJÑJÔJ�Ý�|Ñ$Ô$ yÒ0Ð0Ø )�IØ�Eð 1ð KÐJÐJÐJÀTÐJÑJÔJˆDØJÐJÐJÐJÀTÐJÑJÔJˆDàˆØˆàð 	Uð 	UˆJØ Ñ# cÑ)ˆDØ(˜L¨°$¸¸mÈVÑTÔT‰MˆG�T�Tàð 	à�t—{’{‘}”} vÑ-°Ñ5Ñ5ˆGØˆDà˜c˜r˜cœð 	Uð 	UˆIØ˜s‘? SÑ(ˆDØ(˜L¨°$¸¸mÈVÑTÔT‰MˆG�T�Tð %˜ W¨d°D¸´H¸mÈaÑ>OÐQWÑXÔX‰ˆ�Ø�4‰ˆð �e—l’l 3Ñ'Ô'Ñ'ˆØ�5Ñˆåˆw‰<Œ<˜=Ò)Ð)Ð-BÐ)Ø�vÑˆGˆGà�s‰NˆGð ˜¥ F¡¤  Ô.Ñ.ˆà€Nr"   rí   úlist[Sequence[str]]rî   ú3tuple[list[tuple[str, ...]], list[tuple[str, ...]]]c                óÖ   ‡— | |z   }dgt          |d         ¦  «        z  Š|D ](}d„ |D ¦   «         }d„ t          ‰|¦  «        D ¦   «         ŠŒ)ˆfd„| D ¦   «         }ˆfd„|D ¦   «         }||fS )aà  
    Justify items in head and tail, so they are right-aligned when stacked.

    Parameters
    ----------
    head : list-like of list-likes of strings
    tail : list-like of list-likes of strings

    Returns
    -------
    tuple of list of tuples of strings
        Same as head and tail, but items are right aligned when stacked
        vertically.

    Examples
    --------
    >>> _justify([['a', 'b']], [['abc', 'abcd']])
    ([('  a', '   b')], [('abc', 'abcd')])
    r   c                ó,   — g | ]}t          |¦  «        ‘ŒS r   rÄ   )r   Úitems     r    r!   z_justify.<locals>.<listcomp>æ  s   € Ð2Ð2Ð2 •#�d‘)”)Ð2Ð2Ð2r"   c                ó4   — g | ]\  }}t          ||¦  «        ‘ŒS r   rÅ   )r   r   Úys      r    r!   z_justify.<locals>.<listcomp>ç  s$   € ÐDÐDÐD¡D A q•c˜!˜Q‘i”iÐDÐDÐDr"   c           	     ó^   •— g | ])}t          d „ t          |‰¦  «        D ¦   «         ¦  «        ‘Œ*S )c              3  óF   K  — | ]\  }}|                      |¦  «        V — Œd S r�   rJ   rD   s      r    r,   z&_justify.<locals>.<listcomp>.<genexpr>ë  ó2   è è € ÐFÐF¡: 1 gˆa�gŠg�gÑÔÐFÐFÐFÐFÐFÐFr"   ©rb   r2   ©r   rL   rÒ   s     €r    r!   z_justify.<locals>.<listcomp>ê  óG   ø€ ð ð ð ØKN�ÐFÐFµ°S¸*Ñ1EÔ1EÐFÑFÔFÑFÔFðð ð r"   c           	     ó^   •— g | ])}t          d „ t          |‰¦  «        D ¦   «         ¦  «        ‘Œ*S )c              3  óF   K  — | ]\  }}|                      |¦  «        V — Œd S r�   rJ   rD   s      r    r,   z&_justify.<locals>.<listcomp>.<genexpr>î  rÿ   r"   r   r  s     €r    r!   z_justify.<locals>.<listcomp>í  r  r"   )r.   r2   )rí   rî   ÚcombinedÚ	inner_seqÚlengthÚhead_tuplesÚtail_tuplesrÒ   s          @r    rß   rß   Ê  sÈ   ø€ ð, �d‰{€Hð �•s˜8 Aœ;Ñ'Ô'Ñ'€JØð Eð Eˆ	Ø2Ð2¨	Ð2Ñ2Ô2ˆØDÐD­C°
¸FÑ,CÔ,CÐDÑDÔDˆ
ˆ
ðð ð ð ØRVðñ ô €Kðð ð ð ØRVðñ ô €Kð ˜Ð#Ð#r"   c                  ó   — e Zd ZdZdd„ZdS )Ú
PrettyDictz.Dict extension to support abbreviated __repr__r   r   c                ó    — t          | ¦  «        S r�   r®   ©Úselfs    r    Ú__repr__zPrettyDict.__repr__ö  s   € Ý˜DÑ!Ô!Ð!r"   N)r   r   )r�   rž   rŸ   Ú__doc__r  r   r"   r    r  r  ó  s.   € € € € € Ø8Ð8ð"ð "ð "ð "ð "ð "r"   r  c                  ó0   — e Zd Zdd„Zdd„Zddd„Zdd„ZdS )Ú_TextAdjustmentr   r“   c                ó.   — t          d¦  «        | _        d S )Nzdisplay.encoding)r   r‰   r  s    r    Ú__init__z_TextAdjustment.__init__û  s   € Ý"Ð#5Ñ6Ô6ˆŒˆˆr"   Útextr   r   c                ó    — t          |¦  «        S r�   rÄ   ©r  r  s     r    r.   z_TextAdjustment.lenþ  s   € Ý�4‰yŒyÐr"   r<   r=   r   r?   r%   r   c                óp   ‡— |dk    rˆfd„|D ¦   «         S |dk    rˆfd„|D ¦   «         S ˆfd„|D ¦   «         S )zJ
        Perform ljust, center, rjust against string or list-like
        r$   c                ó:   •— g | ]}|                      ‰¦  «        ‘ŒS r   rB   rD   s     €r    r!   z+_TextAdjustment.justify.<locals>.<listcomp>  ó%   ø€ Ð4Ð4Ð4¨�A—G’G˜GÑ$Ô$Ð4Ð4Ð4r"   rF   c                ó:   •— g | ]}|                      ‰¦  «        ‘ŒS r   rH   rD   s     €r    r!   z+_TextAdjustment.justify.<locals>.<listcomp>  s%   ø€ Ð5Ð5Ð5¨!�A—H’H˜WÑ%Ô%Ð5Ð5Ð5r"   c                ó:   •— g | ]}|                      ‰¦  «        ‘ŒS r   rJ   rD   s     €r    r!   z+_TextAdjustment.justify.<locals>.<listcomp>
  r  r"   r   )r  r=   r?   r%   s     ` r    Újustifyz_TextAdjustment.justify  sg   ø€ ð �6Š>ˆ>Ø4Ð4Ð4Ð4¨eÐ4Ñ4Ô4Ð4Ø�XÒÐØ5Ð5Ð5Ð5¨uÐ5Ñ5Ô5Ð5à4Ð4Ð4Ð4¨eÐ4Ñ4Ô4Ð4r"   r   c                ó<   — t          |g|¢R | j        | j        dœ|¤ŽS )N)r   r   )r;   r.   r  )r  r   r   r3   s       r    r;   z_TextAdjustment.adjoin  s+   € Ý�eÐV˜eÐVÐV¨D¬H¸t¼|ÐVÐVÈvÐVÐVÐVr"   N©r   r“   ©r  r   r   r   ©r<   )r=   r   r?   r   r%   r   r   r   )r   r   r   r   )r�   rž   rŸ   r  r.   r  r;   r   r"   r    r  r  ú  so   € € € € € ð7ð 7ð 7ð 7ðð ð ð ð	5ð 	5ð 	5ð 	5ð 	5ðWð Wð Wð Wð Wð Wr"   r  c                  ó4   ‡ — e Zd Zdˆ fd„Zdd„Z	 ddd„Zˆ xZS )Ú_EastAsianTextAdjustmentr   r“   c                óž   •— t          ¦   «                              ¦   «          t          d¦  «        rd| _        nd| _        ddddddœ| _        d S )Nz!display.unicode.ambiguous_as_wider¸   rS   )ÚNaÚNÚWÚFÚH)Úsuperr  r   Úambiguous_widthÚ_EAW_MAP)r  Ú	__class__s    €r    r  z!_EastAsianTextAdjustment.__init__  sX   ø€ Ý‰Œ×ÒÑÔÐÝÐ9Ñ:Ô:ð 	%Ø#$ˆDÔ Ð à#$ˆDÔ ð
  ! q¨q°q¸qÐAÐAˆŒˆˆr"   r  r   r   c                ó‚   ‡ — t          |t          ¦  «        st          |¦  «        S t          ˆ fd„|D ¦   «         ¦  «        S )zN
        Calculate display width considering unicode East Asian Width
        c              3  ór   •K  — | ]1}‰j                              t          |¦  «        ‰j        ¦  «        V — Œ2d S r�   )r,  Úgetr   r+  )r   rƒ   r  s     €r    r,   z/_EastAsianTextAdjustment.len.<locals>.<genexpr>$  sR   øè è € ð 
ð 
ØMNˆDŒM×ÒÕ.¨qÑ1Ô1°4Ô3GÑHÔHð
ð 
ð 
ð 
ð 
ð 
r"   )r\   r   r.   Úsumr  s   ` r    r.   z_EastAsianTextAdjustment.len  s[   ø€ õ ˜$¥Ñ$Ô$ð 	Ý�t‘9”9Ðåð 
ð 
ð 
ð 
ØRVð
ñ 
ô 
ñ 
ô 
ð 	
r"   r<   r=   r>   r?   r%   r   c                ó€   ‡ ‡‡— ˆˆ fd„Š|dk    rˆfd„|D ¦   «         S |dk    rˆfd„|D ¦   «         S ˆfd„|D ¦   «         S )Nc                óT   •— ‰‰                      | ¦  «        z
  t          | ¦  «        z   S r�   rÄ   )Útr?   r  s    €€r    Ú_get_padz2_EastAsianTextAdjustment.justify.<locals>._get_pad,  s#   ø€ Ø˜TŸXšX a™[œ[Ñ(­3¨q©6¬6Ñ1Ð1r"   r$   c                óL   •— g | ] }|                       ‰|¦  «        ¦  «        ‘Œ!S r   rB   ©r   r   r5  s     €r    r!   z4_EastAsianTextAdjustment.justify.<locals>.<listcomp>0  ó-   ø€ Ð8Ð8Ð8¨Q�A—G’G˜H˜H Q™KœKÑ(Ô(Ð8Ð8Ð8r"   rF   c                óL   •— g | ] }|                       ‰|¦  «        ¦  «        ‘Œ!S r   rH   r7  s     €r    r!   z4_EastAsianTextAdjustment.justify.<locals>.<listcomp>2  s-   ø€ Ð9Ð9Ð9¨a�A—H’H˜X˜X a™[œ[Ñ)Ô)Ð9Ð9Ð9r"   c                óL   •— g | ] }|                       ‰|¦  «        ¦  «        ‘Œ!S r   rJ   r7  s     €r    r!   z4_EastAsianTextAdjustment.justify.<locals>.<listcomp>4  r8  r"   r   )r  r=   r?   r%   r5  s   ` ` @r    r  z _EastAsianTextAdjustment.justify(  s‡   øøø€ ð	2ð 	2ð 	2ð 	2ð 	2ð 	2ð �6Š>ˆ>Ø8Ð8Ð8Ð8°%Ð8Ñ8Ô8Ð8Ø�XÒÐØ9Ð9Ð9Ð9°5Ð9Ñ9Ô9Ð9à8Ð8Ð8Ð8°%Ð8Ñ8Ô8Ð8r"   r  r   r!  ©r=   r>   r?   r   r%   r   r   r   )r�   rž   rŸ   r  r.   r  Ú__classcell__)r-  s   @r    r#  r#    sv   ø€ € € € € ð
Bð 
Bð 
Bð 
Bð 
Bð 
Bð	
ð 	
ð 	
ð 	
ð ?Fð9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9r"   r#  c                 ó\   — t          d¦  «        } | rt          ¦   «         S t          ¦   «         S )Nz display.unicode.east_asian_width)r   r#  r  )Úuse_east_asian_widths    r    rÞ   rÞ   7  s1   € Ý%Ð&HÑIÔIÐØð !Ý'Ñ)Ô)Ð)åÑ Ô Ð r"   )r   r   r   r   r   r   r!  r;  )r   N)rL   r   rM   r   rN   rO   r   r   )rL   r   rM   r   rN   rO   r   r   )r   NFFN)rs   r   rM   r   rt   ru   rv   rw   rx   rw   rN   rO   r   r   )rˆ   r€   )r‰   r   rŠ   r   r   r‹   )r’   rw   r   r“   r�   )rs   r   rN   rO   r   r   )TNTF)r°   r   r±   rw   r²   r³   r´   rw   rµ   rw   r   r   )rí   rö   rî   rö   r   r÷   )r   r  )(r  Ú
__future__r   Úcollections.abcr   r   r   r£   Útypingr   r   r	   r
   Úunicodedatar   Úpandas._configr   Úpandas.core.dtypes.inferencer   Úpandas.io.formats.consoler   r   ÚEscapeCharsr   r   r;   r/   rg   rr   rT   r‘   r¬   r¯   rõ   rß   r}   r  r  r#  rÞ   r   r"   r    ú<module>rG     sö  ððð ð #Ð "Ð "Ð "Ð "Ð "ðð ð ð ð ð ð ð ð ð ð
 €
€
€
ðð ð ð ð ð ð ð ð ð ð ð ð )Ð (Ð (Ð (Ð (Ð (à %Ð %Ð %Ð %Ð %Ð %à 4Ð 4Ð 4Ð 4Ð 4Ð 4à 6Ð 6Ð 6Ð 6Ð 6Ð 6à�G˜C ˜HÔ% x°¤}Ð4Ô5€Ø€gˆe�n„n€Ø€gˆe�n„n€ð9ð 9ð 9ð 9ð@	1ð 	1ð 	1ð 	1ð 	1ðJ DHð !ð  !ð  !ð  !ð  !ðH CGð3ð 3ð 3ð 3ð 3ðB Ø'+Ø!ØØ $ðFð Fð Fð Fð FðT 4=ð*ð *ð *ð *ð *ð-ð -ð -ð -ðBð ð ð ð ð ØØ Ø"'ðhð hð hð hð hðV&$ð &$ð &$ð &$ðR"ð "ð "ð "ð "��c˜3�h”ñ "ô "ð "ðWð Wð Wð Wð Wñ Wô Wð Wð,$9ð $9ð $9ð $9ð $9˜ñ $9ô $9ð $9ðN!ð !ð !ð !ð !ð !r"   