%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python3/dist-packages/orca/__pycache__/
Upload File :
Create Path :
Current File : //lib/python3/dist-packages/orca/__pycache__/table_navigator.cpython-312.pyc

�

g
f�p����dZdZdZdZdZdZddlmZddlmZdd	lm	Z	dd
lm
Z
ddlmZddlmZdd
lm
Z
ddlmZddlmZddlmZddlmZddlmZGd�d�Ze�Zd�Zy)�8Provides Orca-controlled navigation for tabular content.z$Id$z
$Revision$z$Date$zyCopyright (c) 2005-2009 Sun Microsystems Inc.Copyright (c) 2011-2023 Igalia, S.L.Copyright (c) 2023 GNOME Foundation Inc.�LGPL�)�cmdnames)�debug)�
focus_manager)�input_event)�keybindings)�messages)�
orca_state)�settings_manager)�AXObject)�AXTable)�AXText)�AXUtilitiesc���eZdZdZd�Zdd�Zd d�Zd�Zd�Zd�Z	d�Z
d!d	�Zd"d�Zd!d�Z
d
�Zd�Zd�Zd"d�Zd"d�Zd"d�Zd"d�Zd"d�Zd"d�Zd"d�Zd"d�Zd"d�Zd"d�Zd"d�Zd"d�Zd"d�Zd"d�Zd�Zy
)#�TableNavigatorrc��d|_d|_d|_d|_d|_|jd�|_tj�|_	y)NTF)
�_previous_reported_row�_previous_reported_col�_last_input_event�_enabled�
_suspended�get_handlers�	_handlersr	�KeyBindings�	_bindings��selfs �6/usr/lib/python3/dist-packages/orca/table_navigator.py�__init__zTableNavigator.__init__2sL��&*��#�&*��#�!%�����
� ����*�*�4�0���$�0�0�2���c��|rCd}tjtj|d�|j�|jS|jj�r|j�|jS)z(Returns the table-navigator keybindings.z%TABLE NAVIGATOR: Refreshing bindings.T)r�printMessage�
LEVEL_INFO�_setup_bindingsr�isEmpty)r�refresh�
is_desktop�msgs    r�get_bindingszTableNavigator.get_bindings?sd���9�C����u�/�/��d�;�� � �"��~�~���^�^�
#�
#�
%�� � �"��~�~�r!c��|r7d}tjtj|d�|j�|jS)z%Returns the table-navigator handlers.z%TABLE NAVIGATOR: Refreshing handlers.T)rr#r$�_setup_handlersr)rr'r)s   rrzTableNavigator.get_handlersKs:���9�C����u�/�/��d�;�� � �"��~�~�r!c��|jS)z4Returns true if table-navigation support is enabled.)rrs r�
is_enabledzTableNavigator.is_enabledUs���}�}�r!c�b�|jduxrH|jtjk(xs)tjj|j�}|j�|jj	�}nd}d|�d|��}tjt
j|d�|S)z>Returns true if the last input event was a navigation command.N�Nonez(TABLE NAVIGATOR: Last navigation event (z) was last key event: T)rr�lastNonModifierKeyEvent�isReleaseFor�asSingleLineStringrr#r$)r�result�stringr)s    r�'last_input_event_was_navigation_commandz6TableNavigator.last_input_event_was_navigation_commandZs����'�'�t�3�\��'�'�:�+M�+M�M�[��5�5�B�B�4�CY�CY�Z�	��!�!�-��+�+�>�>�@�F��F�8���@V�W]�V^�_��
���5�+�+�S�$�7��
r!c� �tj�|_|jjtjdtj
tj|jjd�d|j��|jjtjdtj
tj|jjd�d|jxr
|j��|jjtjdtj
tj|jjd�d|jxr
|j��|jjtjdtj
tj|jjd	�d|jxr
|j��|jjtjd
tj
tj|jjd�d|jxr
|j��|jjtjdtj
tj|jjd
�d|jxr
|j��|jjtjdtj
tj|jjd�d|jxr
|j��|jjtjdtj
tj|jjd�d|jxr
|j��|jjtjdtj
tj|jjd�d|jxr
|j��|jjtjdtj
tj|jjd�d|jxr
|j��|jjtjd
tj
tj|jjd�d|jxr
|j��|jjtjdtj
tj|jdd|jxr
|j��|jjtjdtj
tj|jdd|jxr
|j��|jjtjdtj
tj|jdd|jxr
|j��|jjtjdtj
tj|jdd|jxr
|j��tj�j|j|jd�|_d|j��}t!j"t j$|d�|jg}t!j&t j$|d�y)z*Sets up the table-navigation key bindings.�t�table_navigator_toggle_enabledr�Left�table_cell_left�Right�table_cell_right�Up�
table_cell_up�Down�table_cell_down�Home�table_cell_first�End�table_cell_last�table_cell_beginning_of_row�table_cell_end_of_row�table_cell_top_of_column�table_cell_bottom_of_column�r�set_dynamic_column_headers_row� clear_dynamic_column_headers_row��c�set_dynamic_row_headers_column� clear_dynamic_row_headers_columnFz-TABLE NAVIGATOR: Bindings set up. Suspended: TN)r	rr�add�
KeyBinding�defaultModifierMask�ORCA_SHIFT_MODIFIER_MASKr�getr�SHIFT_ALT_MODIFIER_MASKr�ORCA_ALT_SHIFT_MODIFIER_MASKr�
getManager�overrideKeyBindingsrr#r$�printTokens)rr)�tokenss   rr%zTableNavigator._setup_bindingsjs��%�0�0�2���������"�"���/�/��4�4����"�"�#C�D���O�O�#�

%�	&�	
������"�"���/�/��3�3����"�"�#4�5���
�
�5�d�o�o�"5�

7�	8�	
������"�"���/�/��3�3����"�"�#5�6���
�
�5�d�o�o�"5�

7�	8�	
������"�"���/�/��3�3����"�"�?�3���
�
�5�d�o�o�"5�

7�	8�	
������"�"���/�/��3�3����"�"�#4�5���
�
�5�d�o�o�"5�

7�	8�	
������"�"���/�/��3�3����"�"�#5�6���
�
�5�d�o�o�"5�

7�	8�	
������"�"���/�/��3�3����"�"�#4�5���
�
�5�d�o�o�"5�

7�	8�	
������"�"���/�/��8�8����"�"�#@�A���
�
�5�d�o�o�"5�

7�	8�	
������"�"���/�/��8�8����"�"�#:�;���
�
�5�d�o�o�"5�

7�	8�	
������"�"���/�/��8�8����"�"�#=�>���
�
�5�d�o�o�"5�

7�	8�	
������"�"���/�/��8�8����"�"�#@�A���
�
�5�d�o�o�"5�

7�	8�	
������"�"���/�/��4�4����?�@���
�
�5�d�o�o�"5�

7�	8�	
������"�"���/�/��4�4����A�B���
�
�5�d�o�o�"5�

7�	8�	
������"�"���/�/��4�4����?�@���
�
�5�d�o�o�"5�

7�	8�	
������"�"���/�/��4�4����A�B���
�
�5�d�o�o�"5�

7�	8�*�4�4�6�J�J��N�N�D�N�N�E�3���>�d�o�o�=N�O��
���5�+�+�S�$�7��.�.�!��
���%�*�*�F�D�9r!c�r
�i|_tj|jtj
|j��|jd<tj|jtj|jxr
|j��|jd<tj|jtj|jxr
|j��|jd<tj|jtj|jxr
|j��|jd<tj|jtj|jxr
|j��|jd<tj|j tj"|jxr
|j��|jd<tj|j$tj&|jxr
|j��|jd<tj|j(tj*|jxr
|j��|jd	<tj|j,tj.|jxr
|j��|jd
<tj|j0tj2|jxr
|j��|jd<tj|j4tj6|jxr
|j��|jd<tj|j8tj:|jxr
|j��|jd
<tj|j<tj>|jxr
|j��|jd<tj|j@tjB|jxr
|j��|jd<tj|jDtjF|jxr
|j��|jd<d|j��}tIjJtHjL|d�y)z1Sets up the table-navigator input event handlers.)�enabledr9r;r=r?rArCrErFrGrHrIrKrLrOrPz-TABLE NAVIGATOR: Handlers set up. Suspended: TN)'rr�InputEventHandler�_toggle_enabledr�TABLE_NAVIGATION_TOGGLEr�_table_cell_left�TABLE_CELL_LEFTr�_table_cell_right�TABLE_CELL_RIGHT�_table_cell_up�
TABLE_CELL_UP�_table_cell_down�TABLE_CELL_DOWN�_table_cell_first�TABLE_CELL_FIRST�_table_cell_last�TABLE_CELL_LAST�_table_cell_beginning_of_row�TABLE_CELL_BEGINNING_OF_ROW�_table_cell_end_of_row�TABLE_CELL_END_OF_ROW�_table_cell_top_of_column�TABLE_CELL_TOP_OF_COLUMN�_table_cell_bottom_of_column�TABLE_CELL_BOTTOM_OF_COLUMN�_set_dynamic_column_headers_row�DYNAMIC_COLUMN_HEADER_SET�!_clear_dynamic_column_headers_row�DYNAMIC_COLUMN_HEADER_CLEAR�_set_dynamic_row_headers_column�DYNAMIC_ROW_HEADER_SET�!_clear_dynamic_row_headers_column�DYNAMIC_ROW_HEADER_CLEARrr#r$)rr)s  rr,zTableNavigator._setup_handlerss6�����
�)�)��$�$��0�0�"�o�o�-�
/�	
���7�8�
�)�)��%�%��(�(��-�-�?����,?�
A�	
���(�)�
�)�)��&�&��)�)��-�-�?����,?�
A�	
���)�*�
�)�)��#�#��&�&��-�-�?����,?�
A�	
����'�
�)�)��%�%��(�(��-�-�?����,?�
A�	
���(�)�
�)�)��&�&��)�)��-�-�?����,?�
A�	
���)�*�
�)�)��%�%��(�(��-�-�?����,?�
A�	
���(�)�
�)�)��1�1��4�4��-�-�?����,?�
A�	
���4�5�
�)�)��+�+��.�.��-�-�?����,?�
A�	
���.�/�
�)�)��.�.��1�1��-�-�?����,?�
A�	
���1�2�
�)�)��1�1��4�4��-�-�?����,?�
A�	
���4�5�
�)�)��4�4��2�2��-�-�?����,?�
A�	
���7�8�
�)�)��6�6��4�4��-�-�?����,?�
A�	
���9�:�
�)�)��4�4��/�/��-�-�?����,?�
A�	
���7�8�
�)�)��6�6��1�1��-�-�?����,?�
A�	
���9�:�>�d�o�o�=N�O��
���5�+�+�S�$�7r!c��d}|r|d|��z
}tjtj|d�|jjD]}|jj|d���!|j
d�|_|jd�|_|jjD]*}|jj||j���,y)z9Refreshes table navigation bindings and grabs for script.z.TABLE NAVIGATOR: Refreshing bindings and grabs�: T)�includeGrabsN)rr#r$r�keyBindings�removerrr*rQr)r�script�reasonr)�bindings     r�refresh_bindings_and_grabsz)TableNavigator.refresh_bindings_and_grabsbs���?����R��x�=� �C�
���5�+�+�S�$�7��~�~�1�1�	B�G����%�%�g�D�%�A�	B��*�*�4�0����*�*�4�0����~�~�1�1�	N�G����"�"�7�T�_�_�9L�"�M�	Nr!Nc���|j|_|jr |jtj�n|jtj�d|_|j
|d�y)zToggles table navigation.Nztoggling table navigationT)r�presentMessager
�TABLE_NAVIGATION_ENABLED�TABLE_NAVIGATION_DISABLEDrr�)rr��events   rr_zTableNavigator._toggle_enabledss]��!�M�M�)��
��=�=��!�!�(�"C�"C�D��!�!�(�"D�"D�E�!%����'�'��0K�L�r!c���||jk(ryd|��}|r|d|��z
}tjtj|d�||_|j	|d|���y)z=Suspends table navigation independent of the enabled setting.NzTABLE NAVIGATOR: Suspended: r~TzSuspended changed to )rrr#r$r�)rr��	suspendedr�r)s     r�suspend_commandszTableNavigator.suspend_commands�si������'��,�Y�K�8����R��x�=� �C�
���5�+�+�S�$�7�#����'�'��2G�	�{�0S�Tr!c��tj|�r+d|dg}tjtj|d�ytj|�r+d|dg}tjtj|d�ytj|�rZtj|�D]A}|j|�r�d|d|dg}tjtj|d�yytj|�s+d|dg}tjtj|d�yd	|d
g}tjtj|d�y)z<Returns True if obj is empty or consists of only whitespace.zTABLE NAVIGATOR:zis not blank: it is focusableTFzis not blank: it has a namez
is not blank:zis not blankzis not blank: it has textzTABLE NAVIGATOR: Treatingzas blank)r�is_focusablerrZr$r
�get_name�get_child_count�
iter_children�	_is_blankr�is_whitespace_or_empty)r�objr[�childs    rr�zTableNavigator._is_blank�s1���#�#�C�(�(�#�/N�O�F����e�.�.���=�����S�!�(�#�/L�M�F����e�.�.���=���#�#�C�(�!�/�/��4�
!���~�~�e�,�0�#���~�^�F��%�%�e�&6�&6���E� �	
!�
��,�,�S�1�(�#�/J�K�F����e�.�.���=��-�s�J�?��
���%�*�*�F�D�9�r!c�f�tj�j�}tj|�}tj|�r|}tj|�s$tj|t
j�}d|g}tjtj|d�|S)zReturns the current cell.z TABLE NAVIGATOR: Current cell isT)rrX�get_locus_of_focusr
�
get_parentr�is_table_cell_or_header�
find_ancestorrrZr$)r�cell�parentr[s    r�_get_current_cellz TableNavigator._get_current_cell�s����'�'�)�<�<�>���$�$�T�*���.�.�v�6��D��2�2�4�8��)�)�$��0S�0S�T�D�4�d�;��
���%�*�*�F�D�9��r!c�,�tj|d��\}}|j�|j�||fStjtj|�|j|j
�}||k(r|j|j
fS||fS)zGReturns the coordinates of cell, possibly adjusted for linear movement.F)�prefer_attribute)r�get_cell_coordinatesr�get_cell_at�	get_tabler)rr��row�col�	last_cells     r�_get_cell_coordinatesz$TableNavigator._get_cell_coordinates�s����/�/��u�M���S��&�&�.�$�2M�2M�2U���8�O��'�'����d�#�T�%@�%@�$�B]�B]�_�	�����.�.��0K�0K�K�K��C�x�r!c�t�||_|j�}|� |jtj�ytj|�r |jtj�y|j|�\}}tj|�}tj�jd�rf|rd|j|�rStj|�s>tj|�}|r'|j|�rtj|�s�>|j||||dz
|�y)zMoves to the cell on the left.T�skipBlankCellsr)rr�r�r
�TABLE_NOT_IN_Ar�is_start_of_row�TABLE_ROW_BEGINNINGr��get_cell_on_leftrrX�
getSettingr��
_present_cell�rr�r��currentr�r�r�s       rrazTableNavigator._table_cell_left�s��"'����(�(�*���?��!�!�(�"9�"9�:���"�"�7�+��!�!�(�">�">�?���-�-�g�6���S��'�'��0���&�&�(�3�3�4D�E��4�>�>�$�/��8O�8O�PT�8U��/�/��5���4�>�>�$�/��8O�8O�PT�8U�	
���6�4��c�A�g�w�?�r!c�t�||_|j�}|� |jtj�ytj|�r |jtj�y|j|�\}}tj|�}tj�jd�rf|rd|j|�rStj|�s>tj|�}|r'|j|�rtj|�s�>|j||||dz|�y)zMoves to the cell on the right.Tr�r)rr�r�r
r�r�
is_end_of_row�
TABLE_ROW_ENDr��get_cell_on_rightrrXr�r�r�r�s       rrcz TableNavigator._table_cell_right�s���"'����(�(�*���?��!�!�(�"9�"9�:��� � ��)��!�!�(�"8�"8�9���-�-�g�6���S��(�(��1���&�&�(�3�3�4D�E��4�>�>�$�/��8M�8M�d�8S��0�0��6���4�>�>�$�/��8M�8M�d�8S�	
���6�4��c�A�g�w�?�r!c�t�||_|j�}|� |jtj�ytj|�r |jtj�y|j|�\}}tj|�}tj�jd�rf|rd|j|�rStj|�s>tj|�}|r'|j|�rtj|�s�>|j|||dz
||�y)zMoves to the cell above.Tr�r)rr�r�r
r�r�is_top_of_column�TABLE_COLUMN_TOPr��get_cell_aboverrXr�r�r�r�s       rrezTableNavigator._table_cell_ups��"'����(�(�*���?��!�!�(�"9�"9�:���#�#�G�,��!�!�(�";�";�<���-�-�g�6���S��%�%�g�.���&�&�(�3�3�4D�E��4�>�>�$�/��8P�8P�QU�8V��-�-�d�3���4�>�>�$�/��8P�8P�QU�8V�	
���6�4��q��#�w�?�r!c�t�||_|j�}|� |jtj�ytj|�r |jtj�y|j|�\}}tj|�}tj�jd�rf|rd|j|�rStj|�s>tj|�}|r'|j|�rtj|�s�>|j|||dz||�y)zMoves to the cell below.Tr�r)rr�r�r
r�r�is_bottom_of_column�TABLE_COLUMN_BOTTOMr��get_cell_belowrrXr�r�r�r�s       rrgzTableNavigator._table_cell_downs��"'����(�(�*���?��!�!�(�"9�"9�:���&�&�w�/��!�!�(�">�">�?���-�-�g�6���S��%�%�g�.���&�&�(�3�3�4D�E��4�>�>�$�/��8S�8S�TX�8Y��-�-�d�3���4�>�>�$�/��8S�8S�TX�8Y�	
���6�4��q��#�w�?�r!c���||_|j�}|� |jtj�ytj|�}tj|�}|j||dd|�y)zMoves to the first cell.T�)	rr�r�r
r�rr��get_first_cellr��rr�r�r��tabler�s      rriz TableNavigator._table_cell_first0so��"'����(�(�*���?��!�!�(�"9�"9�:���!�!�'�*���%�%�e�,�����6�4��A�w�7�r!c�@�||_|j�}|� |jtj�ytj|�}tj|�}|j||tj|�tj|�|�y)zMoves to the last cell.T)rr�r�r
r�rr��
get_last_cellr��
get_row_count�get_column_countr�s      rrkzTableNavigator._table_cell_last>s���"'����(�(�*���?��!�!�(�"9�"9�:���!�!�'�*���$�$�U�+������D�'�/�/��6��8P�8P�QV�8W�Y`�	b�r!c�\�||_|j�}|� |jtj�ytj|�r |jtj�ytj|�}|j|�\}}|j|||||�y)z"Moves to the beginning of the row.T)rr�r�r
r�rr�r��get_start_of_rowr�r��rr�r�r�r�r�r�s       rrmz+TableNavigator._table_cell_beginning_of_rowMs���"'����(�(�*���?��!�!�(�"9�"9�:���"�"�7�+��!�!�(�">�">�?���'�'��0���-�-�d�3���S����6�4��c�7�;�r!c�\�||_|j�}|� |jtj�ytj|�r |jtj�ytj|�}|j|�\}}|j|||||�y)zMoves to the end of the row.T)rr�r�r
r�rr�r��get_end_of_rowr�r�r�s       rroz%TableNavigator._table_cell_end_of_row_s���"'����(�(�*���?��!�!�(�"9�"9�:��� � ��)��!�!�(�"8�"8�9���%�%�g�.���-�-�d�3���S����6�4��c�7�;�r!c��||_|j�}|� |jtj�ytj|�r |jtj�y|j|�d}tj|�}|j|�d}|j|||||�y)zMoves to the top of the column.Tr�r)rr�r�r
r�rr�r�r��get_top_of_columnr��rr�r�r�r�r�r�s       rrqz(TableNavigator._table_cell_top_of_columnqs���"'����(�(�*���?��!�!�(�"9�"9�:���#�#�G�,��!�!�(�";�";�<���(�(��1�!�4���(�(��1���(�(��.�q�1�����6�4��c�7�;�r!c��||_|j�}|� |jtj�ytj|�r |jtj�y|j|�d}tj|�}|j|�d}|j|||||�y)z"Moves to the bottom of the column.Tr�r)rr�r�r
r�rr�r�r��get_bottom_of_columnr�r�s       rrsz+TableNavigator._table_cell_bottom_of_column�s���"'����(�(�*���?��!�!�(�"9�"9�:���&�&�w�/��!�!�(�">�">�?���(�(��1�!�4���+�+�G�4���(�(��.�q�1�����6�4��c�7�;�r!c�J�||_|j�}|� |jtj�ytj|�}|rStj|�d}tj||�|jtj|dzz�y)z,Sets the row for the dynamic header columns.Tr�r)
rr�r�r
r�rr�r�rKrv)rr�r�r�r�r�s      rruz.TableNavigator._set_dynamic_column_headers_row�s���"'����(�(�*���?��!�!�(�"9�"9�:���!�!�'�*����.�.�w�7��:�C��2�2�5�#�>��!�!�(�"D�"D��a��"P�Q�r!c�l�||_|j�}|� |jtj�ytjtj�j��}|rD|j�tj|�|jtj�y)z.Clears the row for the dynamic column headers.T)
rr�r�r
r�rr�rrXr��presentationInterruptrL�DYNAMIC_COLUMN_HEADER_CLEARED�rr�r�r�r�s     rrwz0TableNavigator._clear_dynamic_column_headers_row�s���"'����(�(�*���?��!�!�(�"9�"9�:���!�!�-�":�":�"<�"O�"O�"Q�R����(�(�*��4�4�U�;��!�!�(�"H�"H�I�r!c�|�||_|j�}|� |jtj�ytj|�}|rltj|�d}tj||�|jtj|jj|dz�z�y)z,Sets the column for the dynamic row headers.Tr)rr�r�r
r�rr�r�rOrz�	utilities�
columnConvert)rr�r�r�r��columns      rryz.TableNavigator._set_dynamic_row_headers_column�s���"'����(�(�*���?��!�!�(�"9�"9�:���!�!�'�*����1�1�'�:�1�=�F��2�2�5�&�A��!�!��/�/�&�2B�2B�2P�2P�QW�Z[�Q[�2\�\�
^�r!c�l�||_|j�}|� |jtj�ytjtj�j��}|rD|j�tj|�|jtj�y)z.Clears the column for the dynamic row headers.T)
rr�r�r
r�rr�rrXr�r�rP�DYNAMIC_ROW_HEADER_CLEAREDr�s     rr{z0TableNavigator._clear_dynamic_row_headers_column�s���"'����(�(�*���?��!�!�(�"9�"9�:���!�!�-�":�":�"<�"O�"O�"Q�R����(�(�*��4�4�U�;��!�!�(�"E�"E�F�r!c���tj|�s2d|d|�d|�d�g}tjtj|d�y||_||_|jj|�rtj|�|jj|�\}}tj�jd|d�tj|�r7|jj!|�s|jj#||�|j%|||d��t'j�j)d	�r+|j+t,j.|d
z|d
zd�z�t'j�j)d�rIt1j2|�\}	}
|	d
kDs|
d
kDr&|j+t-j4|	|
��yyy)
zPresents cell to the user.zTABLE NAVIGATOR: z(row z	, column z) is not cell or headerTNF)�offset�priorObj�	interrupt�speakCellCoordinatesr)r�r��
speakCellSpan)rr�rrZr$rrr��grabFocusWhenSettingCaretr
�
grab_focus�getFirstCaretPositionrrX�set_locus_of_focus�
supports_text�	isGUICell�setCaretPosition�
presentObjectrr�r�r
�TABLE_CELL_COORDINATESr�get_cell_spans�cellSpan)rr�r�r�r��
previous_cellr[r�r��rowspan�colspans           rr�zTableNavigator._present_cell�s����2�2�4�8�)�4�5���Y�s�e�Kb�1c�d�F����e�.�.���=��&)��#�&)��#����5�5�d�;�����%��&�&�<�<�T�B���V�� � �"�5�5�d�C��G��!�!�#�&�v�/?�/?�/I�/I�$�/O����-�-�c�6�:����T�&�=�TX��Y��&�&�(�3�3�4J�K��!�!��/�/�3��7�s�UV�w�2W�W�
Y��&�&�(�3�3�O�D�&�5�5�d�;��G�W���{�g��k��%�%�h�&7�&7���&I�J�*�Er!)FT)F)�)N) �__name__�
__module__�__qualname__�__doc__r r*rr.r6r%r,r�r_r�r�r�r�rarcrergrirkrmrorqrsrurwryr{r��r!rrr/s���B�3�
���
� T:�l`8�DN�"�U��<�,�$�.�.�.�.�
��$�$�&�&�"�"�$�"Kr!rc��tS)zReturns the Table Navigator)�
_navigatorr�r!r�getNavigatorr��s
���r!N)r��__id__�__version__�__date__�
__copyright__�__license__r�rrrrr	r
rr�	ax_objectr
�ax_tabler�ax_textr�ax_utilitiesrrr�r�r�r!r�<module>rsi��.?�������;�
��������������%�KK�KK�Z�
�
�r!

Zerion Mini Shell 1.0