Current File : /home/inlingua/miniconda3/lib/python3.1/site-packages/rich/__pycache__/traceback.cpython-312.pyc
�

~�Eg�{�#�R�ddlZddlZddlZddlZddlmZmZddlmZddl	m
Z
ddlmZm
Z
ddlmZmZmZmZmZmZmZmZmZmZddlmZddlmZmZmZmZm Z m!Z!dd	lm"Z#dd
lm$Z$ddl%m&Z&dd
l'm(Z(ddl)m*Z*ddl+m,Z,ddl-m.Z.m/Z/m0Z0m1Z1m2Z2ddl3m4Z4ddl5m6Z6m7Z7ddl8m9Z9ddl:m;Z;ddl<m=Z=ddl>m?Z?dd	l@m"Z"ddlAmBZBej�dk(ZDdZEdZFdddddddeEeFdddd dd!�d"ee.d#eeGd$eeGd%eGd&eeHd'eId(eId)eGd*eGd+eId,eeId-eId.eeeHefd/eGd0eeeJeJee
geffd1�ZKeGd2�d3��ZLeGd4�d5��ZMeGd6�d7��ZNeGd8�d9��ZOGd:�d;e6�ZPGd<�d=�ZQeRd>k(r)eKd�?�ddlZd@ed0dfdA�ZSd@ed0dfdB�ZTdDdC�ZUeU�yy)E�N)�	dataclass�field)�islice)�walk_tb)�
ModuleType�
TracebackType)
�Any�Callable�Dict�Iterable�List�Optional�Sequence�Tuple�Type�Union)�guess_lexer_for_filename)�Comment�Keyword�Name�Number�Operator�String)�Text)�Token)�
ClassNotFound�)�pretty)�	loop_last)�Columns)�Console�ConsoleOptions�ConsoleRenderable�RenderResult�group)�	Constrain)�RegexHighlighter�ReprHighlighter)�Panel)�render_scope)�Style)�Syntax)�Theme�win32�
�P�d�X�FT�)�console�width�
code_width�extra_lines�theme�	word_wrap�show_locals�locals_max_length�locals_max_string�locals_hide_dunder�locals_hide_sunder�
indent_guides�suppress�
max_framesr5r6r7r8r9r:r;r<r=r>r?r@rArB�returnc����������	�
���
���|�td��n|��jr�
�dn�
�
dttdtdtt
ddf����	�
���
������fd��d	tddf�fd
�}	t�}||�tjS#t$r tj}�t_	|cYSwxYw)a�Install a rich traceback handler.

    Once installed, any tracebacks will be printed with syntax highlighting and rich formatting.


    Args:
        console (Optional[Console], optional): Console to write exception to. Default uses internal Console instance.
        width (Optional[int], optional): Width (in characters) of traceback. Defaults to 100.
        code_width (Optional[int], optional): Code width (in characters) of traceback. Defaults to 88.
        extra_lines (int, optional): Extra lines of code. Defaults to 3.
        theme (Optional[str], optional): Pygments theme to use in traceback. Defaults to ``None`` which will pick
            a theme appropriate for the platform.
        word_wrap (bool, optional): Enable word wrapping of long lines. Defaults to False.
        show_locals (bool, optional): Enable display of local variables. Defaults to False.
        locals_max_length (int, optional): Maximum length of containers before abbreviating, or None for no abbreviation.
            Defaults to 10.
        locals_max_string (int, optional): Maximum length of string before truncating, or None to disable. Defaults to 80.
        locals_hide_dunder (bool, optional): Hide locals prefixed with double underscore. Defaults to True.
        locals_hide_sunder (bool, optional): Hide locals prefixed with single underscore. Defaults to False.
        indent_guides (bool, optional): Enable indent guides in code and locals. Defaults to True.
        suppress (Sequence[Union[str, ModuleType]]): Optional sequence of modules or paths to exclude from traceback.

    Returns:
        Callable: The previous exception handler that was replaced.

    NT)�stderr�type_�value�	tracebackrCc����jtj|||����
����	�t�����
���y)N�
r6r7r8r9r:r;r<r=r>r?r@rArB)�print�	Traceback�from_exception�bool)rFrGrHr7r8r@r>r?r<r=rBr;rAr9�traceback_consoler6r:s   ���������������.lib/python3.12/site-packages/rich/traceback.py�
excepthookzinstall.<locals>.excepthookbs\���
	����$�$�����%�'��#�'�"3�"3�#5�#'�(:�#;�+�!�%�!
%�
�	
��ipc	��������i��j�dtdtddf��fd�}dd�dtdtdtddf���fd����_|�_�fd	��_y)
N�args�kwargsrCc���|��|i|��y)zEwrap the default ip.showtraceback to store info for ip._showtracebackNr4)rUrV�default_showtraceback�tb_datas  ��rP�ipy_show_tracebackzCinstall.<locals>.ipy_excepthook_closure.<locals>.ipy_show_traceback�s����G�!�4�2�6�2rRF)�	is_syntaxr[c�����	j�}|rdn|d}�
jdd�}�
jd|rdnd�}t|�D]}|�n|j}��|d|d|�i�
y)z2Internally called traceback from ip._showtracebackN��running_compiled_codeF�	tb_offsetrr)�
_get_exc_info�get�range�tb_next)r[rUrV�	exc_tuple�tb�compiledr_�_rQrSrYs        ���rP�ipy_display_tracebackzFinstall.<locals>.ipy_excepthook_closure.<locals>.ipy_display_traceback�s����
�(�(�*�I�3<�$��1��B��{�{�#:�E�B�H����K�h��A�F�I��9�%���:���Z�Z��&�

�y��|�Y�q�\�2�6��GrRc����|ddi|��S)Nr[Tr4)rUrVrhs  �rP�<lambda>z9install.<locals>.ipy_excepthook_closure.<locals>.<lambda>�s���5J�
�6
�!�6
�%+�6
rR)�
showtracebackr	rN�_showtraceback�showsyntaxerror)rSrZrXrhrYrQs` @@@�rP�ipy_excepthook_closurez'install.<locals>.ipy_excepthook_closure|st����� "� 0� 0��	3�c�	3�S�	3�T�	3�+0�	��	�#'�	�;>�	�
�	�02���-���
��rR)r!�
is_jupyterr�
BaseExceptionrrr	�get_ipython�sysrQ�	Exception)r5r6r7r8r9r:r;r<r=r>r?r@rArBrnrS�old_excepthookrQrOs `````````````   @@rP�installru/s�����V18���t�,�W��
�(�(�-?�-G�	
�
��
��M�"�
��
��M�*�
�
�	
�
�
�4'
�3�'
�4�'
�R	�
�]���r�"��~�~���������#�����	�s�6!B�&C�Cc��eZdZUeed<eed<eed<dZeed<dZee	ee
jfed<dZee
e
eefe
eeffed<y)	�Frame�filename�lineno�name��lineN�locals�last_instruction)�__name__�
__module__�__qualname__�str�__annotations__�intr|r}rrr�Noder~rr4rRrPrwrw�sa���M��K�

�I��D�#�N�/3�F�H�T�#�v�{�{�*�+�,�3�JN��h�u�U�3��8�_�e�C��H�o�%E�F�G�NrRrwc�@�eZdZUeed<eed<eed<eed<eed<y)�_SyntaxError�offsetrxr|ry�msgN)rr�r�r�r�r�r4rRrPr�r��s���K��M�

�I��K�	�HrRr�c�f�eZdZUeed<eed<dZeeed<dZe	ed<e
e��Ze
eed<y)	�Stack�exc_type�	exc_valueN�syntax_errorF�is_cause)�default_factory�frames)rr�r�r�r�r�rr�r�rNr�listr�r
rwr4rRrPr�r��s8���M��N�+/�L�(�<�(�/��H�d����5�F�D��K�5rRr�c��eZdZUeeed<y)�Trace�stacksN)rr�r�r
r�r�r4rRrPr�r��s����K�rRr�c��eZdZdgZy)�PathHighlighterz(?P<dim>.*/)(?P<bold>.+)N)rr�r��
highlightsr4rRrPr�r��s
��-�.�JrRr�c$��eZdZdZdddddd�Z	d/dd	d
dddeedddd
dd�
deedee	dee	de	dee
dedede	de	dedededee
e
efde	fd�Zedd	d
dddeedddd
dd�
deeded eedee	dee	de	dee
dedede	de	dedededee
e
efde	d!df"d"��Zedeeddd#�deeded eedede	de	deded!efd$��Zd%ed&ed!efd'�Ze�d(ed!efd)��Zed*e
d+e
d!e
fd,��Ze�d-ed!efd.��Z y)0rLaA Console renderable that renders a traceback.

    Args:
        trace (Trace, optional): A `Trace` object produced from `extract`. Defaults to None, which uses
            the last exception.
        width (Optional[int], optional): Number of characters used to traceback. Defaults to 100.
        code_width (Optional[int], optional): Number of code characters used to traceback. Defaults to 88.
        extra_lines (int, optional): Additional lines of code to render. Defaults to 3.
        theme (str, optional): Override pygments theme used in traceback.
        word_wrap (bool, optional): Enable word wrapping of long lines. Defaults to False.
        show_locals (bool, optional): Enable display of local variables. Defaults to False.
        indent_guides (bool, optional): Enable indent guides in code and locals. Defaults to True.
        locals_max_length (int, optional): Maximum length of containers before abbreviating, or None for no abbreviation.
            Defaults to 10.
        locals_max_string (int, optional): Maximum length of string before truncating, or None to disable. Defaults to 80.
        locals_hide_dunder (bool, optional): Hide locals prefixed with double underscore. Defaults to True.
        locals_hide_sunder (bool, optional): Hide locals prefixed with single underscore. Defaults to False.
        suppress (Sequence[Union[str, ModuleType]]): Optional sequence of modules or paths to exclude from traceback.
        max_frames (int): Maximum number of frames to show in a traceback, 0 for no maximum. Defaults to 100.

    �text�python�cython�pyrex)r{z.pyz.pxdz.pyxz.pxiNr1r2r3FTr4rJ�tracer6r7r8r9r:r;r<r=r>r?r@rArBc
��|�>tj�\}}}|�|�|�td��|j||||��}||_||_||_||_tj|xsd�|_
||_||_||_
||_|	|_|
|_||_g|_|
D]�}t'|t(�s@|j*�
J|�d���t,j.j1|j*�}n|}t,j.j3t,j.j5|��}|j$j7|���|dkDrt9d|�|_yd|_y)Nz9Value for 'trace' required if not called in except: block�r;�	ansi_darkz+ must be a module with '__file__' attributer�)rr�exc_info�
ValueError�extractr�r6r7r8r,�	get_themer9r:r;r@r<r=r>r?rA�
isinstancer��__file__�os�path�dirname�normpath�abspath�append�maxrB)�selfr�r6r7r8r9r:r;r<r=r>r?r@rArBr�r�rH�suppress_entityr�s                    rP�__init__zTraceback.__init__�st��$�=�-0�\�\�^�*�H�i����9�#4�	�8I� �O����L�L��)�Y�K�!��E���
���
�$���&����%�%�e�&:�{�;��
�"���&���*���!2���!2���"4���"4���')��
�'�O��o�s�3�#�,�,�8�U�%�(�(S�T�U�8��w�w����'?�'?�@��&���7�7�#�#�B�G�G�O�O�D�$9�:�D��M�M� � ��&� (�1;�Q��#�a��,���A��rRr�r�rHrCc
�`�|j||||	|
|||
��}||||||||	||
|||
||��S)a�Create a traceback from exception info

        Args:
            exc_type (Type[BaseException]): Exception type.
            exc_value (BaseException): Exception value.
            traceback (TracebackType): Python Traceback object.
            width (Optional[int], optional): Number of characters used to traceback. Defaults to 100.
            code_width (Optional[int], optional): Number of code characters used to traceback. Defaults to 88.
            extra_lines (int, optional): Additional lines of code to render. Defaults to 3.
            theme (str, optional): Override pygments theme used in traceback.
            word_wrap (bool, optional): Enable word wrapping of long lines. Defaults to False.
            show_locals (bool, optional): Enable display of local variables. Defaults to False.
            indent_guides (bool, optional): Enable indent guides in code and locals. Defaults to True.
            locals_max_length (int, optional): Maximum length of containers before abbreviating, or None for no abbreviation.
                Defaults to 10.
            locals_max_string (int, optional): Maximum length of string before truncating, or None to disable. Defaults to 80.
            locals_hide_dunder (bool, optional): Hide locals prefixed with double underscore. Defaults to True.
            locals_hide_sunder (bool, optional): Hide locals prefixed with single underscore. Defaults to False.
            suppress (Iterable[Union[str, ModuleType]]): Optional sequence of modules or paths to exclude from traceback.
            max_frames (int): Maximum number of frames to show in a traceback, 0 for no maximum. Defaults to 100.

        Returns:
            Traceback: A Traceback instance that may be printed.
        �r;r<r=r>r?)
r6r7r8r9r:r;r@r<r=r>r?rArB)r�)�clsr�r�rHr6r7r8r9r:r;r<r=r>r?r@rArB�rich_tracebacks                  rPrMzTraceback.from_exception*si��Z������#�/�/�1�1�%�	
�����!�#���#�'�/�/�1�1��!�
�	
rRr�c����g}	d}
ddlm}dtdtfd�}	t	||j
�||�|
��}
t
|t�rWt|jxsd|jxsd	|jxsd|jxsd
|j��|
_|	j|
�|
j j}dt"t$tt&fdt"t$tt&ff��fd
�}t)|�D�]�\}}|j*j,}d}t.j0dk\rW|j2dz}t5t7|j*j9�||dz��}|\}}}}|�|�|�
|�||f||ff}|rP|j;d�s?t<j>jA|�s t<j>jC||�}|jDjGdd�r��tI|xsd	||j*jJ|rt||jDjM��D��cic]H\}}tOjP|�s.tOjR|�s|tUjV|||����Jc}}nd|��}||�|jDjGdd�s���|
j dd�=���tY|dd�}|r|jZ}|}|j\}d}
���|j^}|r+tY|dd�s|jZ}|}|j\}d}
��-	ta|	��}|Scc}}w)a�Extract traceback information.

        Args:
            exc_type (Type[BaseException]): Exception type.
            exc_value (BaseException): Exception value.
            traceback (TracebackType): Python Traceback object.
            show_locals (bool, optional): Enable display of local variables. Defaults to False.
            locals_max_length (int, optional): Maximum length of containers before abbreviating, or None for no abbreviation.
                Defaults to 10.
            locals_max_string (int, optional): Maximum length of string before truncating, or None to disable. Defaults to 80.
            locals_hide_dunder (bool, optional): Hide locals prefixed with double underscore. Defaults to True.
            locals_hide_sunder (bool, optional): Hide locals prefixed with single underscore. Defaults to False.

        Returns:
            Trace: A Trace instance which you can use to construct a `Traceback`.
        Fr)�_IMPORT_CWD�_objectrCc�8�	t|�S#t$rYywxYw)z1Don't allow exceptions from __str__ to propagate.z<exception str() failed>)r�rs)r�s rP�safe_strz#Traceback.extract.<locals>.safe_str�s#��
2��7�|�#���
2�1�
2�s�

�	�T)r�r�r��?r{)r�rxryr|r��iter_localsc3��K��s
�s|Ed{���y|D]3\}}�r|jd�r��r|jd�r�.||f���5y7�>�w)z-Extract locals from an iterator of key pairs.N�__rg��
startswith)r��keyrGr>r?s   ��rP�
get_localsz%Traceback.extract.<locals>.get_locals�sZ�����+�.@�*�*�*��"-�J�C��)�c�n�n�T�.B� �)�c�n�n�S�.A� ��u�*�$�#.�+�s�
A�A�?AN)r3�r]r�<�_rich_traceback_omit)�
max_length�
max_string)rxryrzr}r~�_rich_traceback_guard�	__cause__�__suppress_context__)r�)1�richr�r	r�r�rr��SyntaxErrorr�r�rxryr�r�r�r�r�rr�objectr�f_code�co_filenamerr�version_info�f_lasti�nextr�co_positionsr�r�r��isabs�join�f_localsrarw�co_name�items�inspect�
isfunction�isclassr�traverse�getattr�	__class__�
__traceback__�__context__r�)r�r�r�rHr;r<r=r>r?r�r�r�r��stackr�r��
frame_summary�line_norxr~�instruction_index�instruction_position�
start_line�end_line�start_column�
end_columnr�rG�frame�causer�s       ``                      rPr�zTraceback.extractss]���<!����$�	2�c�	2�c�	2���!�(�"3�"3�4�"�9�-�!��E��)�[�1�%1�$�+�+�0�q�&�/�/�6�3�$�+�+�0�q�"���-�2�!�
�
�&��"�
�M�M�%� ��\�\�(�(�F�
%�%�e�C��K�&8�9�
%��%��V��,�-�
%�+2�)�*<�&�
�w�(�/�/�;�;��$(� ��#�#�w�.�(5�(=�(=��(B�%�+/��)�0�0�=�=�?�-�-��1��,�(�-��"� �$�"�#�.�$�0�(�4�&�2�(��6�%�z�2�,�(�
�H�$7�$7��$<��7�7�=�=��2�#%�7�7�<�<��X�#F�� �)�)�-�-�.D�e�L���%�_��"�&�-�-�5�5�'�/9��9O�9O�9U�9U�9W�.X�
�/Y�
��U�$+�$6�$6�u�$=����QV�AW�
 ���� %�+<�+<�"��
/Y�
�"�%5�#��&�u�
� �)�)�-�-�.E�u�M����Q��u+=�x�I�{�D�9�E�� �?�?��!�	�"�/�/�	�����)�)�E��W�Y�0F��N� �?�?��!�	�!�/�/�	� �����V�$�����Os�A
Mr5�optionsc#�K�|j}|j�}|j}tid|t��d|t
��d|t��d|tj��d|t��d|t�td��z�d	|t��d
|t�td��z�d|t��d
|tj��d|tj��d|tj��d|tj��d|t��d|t��d|tj�td��z�d��}t!�}t#t%|j&j(��D�]�\}}	|	j*rTt-|j/|	�d|ddd��}
t1|
|j2�}
|j5|�5|
��ddd�|	j6��|j5|�5t1t-|j9|	j6�|ddd|j2��|j2���ddd�t;j<|	j>�d�df||	j6j@����nh|	jBr8t;j<|	j>�d�df||	jB����n$t;j<|	j>�df���|r���|	jDrt;jFd������t;jFd������y#1swY��hxYw#1swY��xYw�w) Nr�
pygments.text�pygments.string�pygments.function�pygments.numberzrepr.indentT)�dimzrepr.strz
repr.brace)�boldzrepr.numberzrepr.bool_truezrepr.bool_falsez	repr.nonezscope.borderzscope.equalsz	scope.keyzscope.key.specialF)�inheritz7[traceback.title]Traceback [dim](most recent call last)ztraceback.border)rr)�title�style�border_style�expand�paddingztraceback.border.syntax_error)r�r�r�r�r6z: ztraceback.exc_typezI
[i]The above exception was the direct cause of the following exception:
zH
[i]During handling of the above exception, another exception occurred:
)$r9�get_background_style�get_style_for_tokenr-�	TextTokenrrr�Functionrrr+r�Constant�	Delimiterrr(r�reversedr�r�r�r)�
_render_stackr&r6�	use_themer��_render_syntax_errorr�assembler�r�r�r��from_markup)r�r5r�r9�background_style�token_style�traceback_theme�highlighter�lastr��stack_renderables           rP�__rich_console__zTraceback.__rich_console__sS�����
�
�� �5�5�7���/�/���
��+�i�0�
���U�!3�
�"�;�v�#6�
�$�[����%?�	
�
"�;�v�#6�
��{�7�3�e��o�E�

��K��/�
��k�)�4�u�$�7G�G�
��{�6�2�
�!�+�g�.>�.>�"?�
�"�;�w�/?�/?�#@�
��[��)9�)9�:�
���F�,<�,<� =�
���H� 5�
��[��.�
� $�[����%?�%�D�/�%Q�!
�$�'
��,&�'��$�X�d�j�j�.?�.?�%@�A�K�D�%��|�|�6;��&�&�u�-�S�*�!3��"�
7� �$-�-=�t�z�z�#J� ��&�&��7�*�*�8��!�!�-��&�&��7�#�� �5�5�e�6H�6H�I�"2�)H�#'�$*�"&�*�*�
��
�
�
�
�8��m�m����'�r�*�,@�A��� 2� 2� 6� 6�7�������m�m����'�r�*�,@�A�����0���
�m�m����'7�:N�$O�P�P���>�>��*�*�e����*�*�d���YB�8�7��8�7�s?�G5M<�7M"�<%M<�!AM/�,B4M<�"AM<�"M,	�'M<�/M9	�4M<r�c#�8K�t�}t�}|jdk7rptjj|j�rGt
jd|j��dfdt|j�dfd��}||���||jj��}d|_t|jd	z
t|��}|j!d
||�|t
j"dd|zzdzd��z
}|��y�w)
Nz<stdin>� r���:r�r�r��r�Trzbold underline�
u[traceback.offset]▲[/])r(r�rxr�r��existsrrr�ryr|�rstrip�no_wrap�minr��len�stylizer)r�r�r
�path_highlighterr��syntax_error_textr�s       rPrzTraceback._render_syntax_error_s����%�'��*�,��� � �I�-��w�w�~�~�l�3�3�4��}�}���.�.�/�0�2C�D�*���,�,�-�/@�A�)�	��'�t�,�,�'��(9�(9�(@�(@�(B�C��$(��!��\�(�(�1�,�c�2C�.D�E���!�!�"2�F�F�C��T�-�-��3��<��"<�<�!�
�	
�� ��s�DDrx�codec�R�tjj|�d}|sA|jd�}|dk7r|d|n|}|j	d�rd|j�vry	|jj|�xst||�jS#t$rYywxYw)N���rz#!r�r�)r�r��splitext�indexr��lower�LEXERSrarrzr)r�rxr�ext�new_line_index�
first_lines      rP�_guess_lexerzTraceback._guess_lexervs����g�g���x�(��,���"�Z�Z��-�N�2@�B�2F��o�~�.�D�J��$�$�T�*�x�:�;K�;K�;M�/M��	��:�:�>�>�#�&�W�*B�8�T�*R�*W�*W�W���	��	�s�'2B�	B&�%B&r�c
#���K�t�}�j}dtdtfd�}dtdtt
f�fd�}d}�jdk7r<t�jdzt|j��jdzz
�}d}t|j�D�]p\}}	|r||vrd	}�|r#|�J�td
t|��d�dd
����d}|dk(}
|	j�t�fd��jD��}tj j#|	j�rXtj$|t|	jd���dt|	j&�dfd|	j(dfd��}n;tj$d|	j(dfdt|	j&�dfd��}|	jj+d�s|
sd��|��|	jj+d�r||	�Ed{�����r|r��v	||	j�}
|
s����j-|	j|
�}t/|
||d	|	j&�j0z
|	j&�j0zf|	j&h�j2�j4�j6d��
}d��|	j8�$|	j8\}}|j;d||d	��|	j<rt?|g||	��d��n|����sy7��
#t@$r'}tj$d|��d
f���Yd}~���d}~wwxYw�w) NrxrCc�J�djtj|��S)z�Read files, and cache results on filename.

            Args:
                filename (str): Filename to read

            Returns:
                str: Contents of file
            r{)r��	linecache�getlines)rxs rP�	read_codez*Traceback._render_stack.<locals>.read_code�s���7�7�9�-�-�h�7�8�8rRr�c3��K�|jr;t|jd�j�j�j����yy�w)Nr})r�r@r�r�)r}r*r@r<r=)r�r�s �rP�
render_localsz.Traceback._render_stack.<locals>.render_locals�sE������|�|�"��L�L�"�"&�"4�"4�#�5�5�#�5�5����s�A	Arr]FTz
... z frames hidden ...�centerztraceback.error)�justifyr�c3�@�K�|]}�j|����y�w�Nr�)�.0r��frame_filenames  �rP�	<genexpr>z*Traceback._render_stack.<locals>.<genexpr>�s�����W���^�6�6�t�<��s�r�rrr�z in r�r�zin r�r{)r9�line_numbers�
line_range�highlight_linesr:r7r@�dedentztraceback.error_range)r��start�end�style_beforer)r�r)!r�r9r�rwrr#rBrbrr��	enumeraterrx�anyrAr�r�rrryrzr�r&r,r8r:r7r@r~�
stylize_ranger}r rs)r�r�rr9r+r-�exclude_frames�excluded�frame_indexr��first�
suppressedr�r�
lexer_name�syntaxr9r:�errorr3s`                  @rPrzTraceback._render_stack�sD�����*�,���
�
��		9��		9��		9�	��	�8�4E�+F�	�+/���?�?�a��"����1�$��E�L�L�!�D�O�O�q�$8�8��N�
��"+�E�L�L�"9��K���+��"?�����%�1�1�1���S��0�1�1C�D�$�+���
!���1�$�E�"�^�^�N��W����W�W�J��w�w�~�~�e�n�n�-��}�}�$�T�%�.�.�@Q�%R�S�*�����&�(9�:���Z�Z�!4�5�)�
���}�}���Z�Z�!4�5�*�����&�(9�:�)����>�>�,�,�S�1�%����J��~�~�(�(��-�(��/�/�/���.�$�U�^�^�4�D��!�!%�!2�!2�5�>�>�4�!H�J�#��"�#�%)�!�L�L�4�+;�+;�;�!�L�L�4�+;�+;�;�$�*/����"&�.�.�#'�?�?�&*�&8�&8�$��F��H��-�-�9�%*�%;�%;�
��s��,�,�"9�"'� #�)-�	-��!�<�<� � &��!.�u�!5��%&��$�
�]#:�N0��4!���-�-��e�W��'8�9������sJ�HM�L�M�L �3M�5BL �AM� 	M�)M�M�M�Mr1)!rr�r��__doc__r"�LOCALS_MAX_LENGTH�LOCALS_MAX_STRINGrr�r�r�rNrrrr��classmethodrr	rprrMr�r!r"r$r
r%r�rr&r�rr4rRrPrLrL�sV���.
������F�"&�3F� #�$&��#��!�!2�!2�#'�#(�"�57��!3F����3F���}�	3F�
�S�M�3F��
3F���}�3F��3F��3F��3F��3F�!�3F�!�3F��3F��5��j��1�2�3F� �!3F�j� #�$&��#��!�!2�!2�#'�#(�"�57��%F
��s�)�F
�!�F
��M�*�	F
���}�
F
��S�M�F
��F
���}�F
��F
��F
��F
��F
�!�F
�!�F
� �!F
�"�5��j��1�2�#F
�$�%F
�&
�'F
��F
�P�"�!2�!2�#'�#(�[��}�%�[�!�[��M�*�	[��
[��[��[�!�[�!�[�
�[��[�zL��L�)7�L�	�L�\�W� �� �,� �
� �,�
�C�
�s�
�s�
��
��W�y�5�y�\�y�
�yrRrL�__main__r��ac�$�d}t||z�y)Nr)rK)rL�ones  rP�barrOs����
�c�A�g�rRc�,�d}hd�dd�}t|�y)NT>�Duncan Idaho�Thufir Hawat�
Paul Atreides�Vladimir Harkonnen)NFT)�
characters�atomic_types)rO)rLr��zeds   rP�foorX
s"�� $���0�
��	�A�rRc��td�y)Nr)rXr4rRrPrFrFs	���A�rR)rCN)Vr�r)r�rr�dataclassesrr�	itertoolsrrHr�typesrr�typingr	r
rrr
rrrrr�pygments.lexersr�pygments.tokenrrrrrrrr�r�
pygments.utilrr{r�_loopr�columnsr r5r!r"r#r$r%�	constrainr&r
r'r(�panelr)�scoper*r�r+rEr,r�r9r-�platform�WINDOWSrHrIr�r�rNrprurwr�r�r�r�rLrrOrXrFr4rRrP�<module>rhsd����	�
�(���+����5�K�K�,� �'����T�T� �:�������

�,�,�'�
!������
"&�� "�����.�.�#�)-��13���
�g�
���C�=����
�	�
���C�=�
�����������!�������u�S�*�_�-�.���� �t�M�"�M�8�M�3J�K�S�P�Q�!�D�O�O��O��
�
��
��6�6��6������/�&�/�j�j�Z�z���������	
���s��t���
�G�5rR