HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/Python311/Lib/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-311.pyc
�

�mi���dZddlmZddlZddlZddlZddlmZddlm	Z	ddl
mZddlm
Z
ddlmZmZdd	lmZdd�Zdd�Zdd�ZdS)zALogic that powers autocompletion installed by ``pip completion``.�)�annotationsN)�Iterable)�chain)�Any)�create_main_parser)�
commands_dict�create_command)�get_default_environment�return�Nonec�������dtjvrdStj�d��rtj�d��sdStjd���dd��t	tjd��}	�|dz
�n#t
$rd�YnwxYwt
��}tt��}g}d}�D]
}||vr|}n�|��\|dkrtj
d����d��o|d	v}|rot��}��
�����fd
�|�d���D��}|r(|D]}	t|	���tj
d����d��o|d
k}
|
r6t!�d��D]}t|���tj
d��t#|��}|jjD]5��jt*jkr|�fd��j�jzD��z
}�6d��d|dz
�D����fd�|D��}�fd�|D��}t3�||jj��}
|
rt!�|
��}d�|D��}|D]:}|d}|dr|ddd�dkr|dz
}t|���;t5�fd�|���D����s;|���D]&}|����rt|���'n�d�|jD��}|�|j��t?j |��}��d��r-|D])��jt*jkr|�j�jzz
}�*n0t3�||��}
|
rtt!�|
����}td�!�fd�|D������tj
d��dS)z:Entry Point for completion of main and subcommand options.�PIP_AUTO_COMPLETEN�
COMP_WORDS�
COMP_CWORD���help�-)�show�	uninstallc�t��g|]4}|j�����|j�dd�v�-|j��5S)rN)�canonical_name�
startswith)�.0�dist�cwords�lcs  ���BD:\Python311\Lib\site-packages\pip/_internal/cli/autocompletion.py�
<listcomp>z autocomplete.<locals>.<listcomp>8s]��������&�1�1�"�5�5���'�v�a�b�b�z�9�	��#����T)�
local_only�install�pathc�"��g|]}|�jf��S�)�nargs)r�opt_str�opts  �rrz autocomplete.<locals>.<listcomp>Ps-������-4�W�c�i�(���r c�D�g|]}|�d��d��S)�=r)�split�r�xs  rrz autocomplete.<locals>.<listcomp>Us&��D�D�D��Q�W�W�S�\�\�!�_�D�D�Dr c�&��g|]
\}}|�v�	||f��Sr%r%)rr-�v�	prev_optss   �rrz autocomplete.<locals>.<listcomp>Vs+���F�F�F�f�q�!�1�I�3E�F�A�q�6�F�F�Fr c�H��g|]\}}|�����||f��Sr%�r)r�kr/�currents   �rrz autocomplete.<locals>.<listcomp>Xs2���G�G�G�d�a�����g�1F�1F�G�A�q�6�G�G�Gr c��g|]}|df��S)rr%)rr#s  rrz autocomplete.<locals>.<listcomp>cs��3�3�3�T��a�y�3�3�3r r�z--r*c3� �K�|]}|�vV��	dS�Nr%)r�namers  �r�	<genexpr>zautocomplete.<locals>.<genexpr>ls'�����G�G�d�4�6�>�G�G�G�G�G�Gr c��g|]	}|j��
Sr%)�option_list)r�is  rrz autocomplete.<locals>.<listcomp>ss��<�<�<�!��
�<�<�<r � c�>��g|]}|�����|��Sr%r2)rr-r4s  �rrz autocomplete.<locals>.<listcomp>�s*���H�H�H�a�!�,�,�w�2G�2G�H��H�H�Hr )"�os�environ�getr+�int�
IndexErrorr�listr�sys�exitrr
�lower�iter_installed_distributions�print�auto_complete_pathsr	�parser�option_list_allr�optparse�
SUPPRESS_HELP�
_long_opts�_short_opts�get_path_completion_type�any�handler_map�
option_groups�appendr<r�
from_iterable�join)�cwordrL�subcommands�options�subcommand_name�word�should_list_installed�env�	installedr�should_list_installablesr#�
subcommand�completion_type�paths�option�	opt_label�handler_name�opts�flattened_optsr4rrr(r0s                    @@@@@r�autocompleterjs1��������"�*�,�����:�>�>�,�'�'��r�z�~�~�l�/K�/K����
�Z��
%�
+�
+�
-�
-�a�b�b�
1�F���
�<�(�)�)�E������#���������������� �
!�
!�F��}�%�%�K��G�#'�O������;��	�"�O��E�	��TK��f�$�	��H�Q�K�K�K�$+�$6�$6�s�$;�$;� ;�!
��T
�A
��!�
	�)�+�+�C������B�������<�<��<�M�M����I��
�%� � �D��$�K�K�K�K��������"�"�3�'�'�'�H�O�y�,H�	!�$�	�+�G�V�<�<�
�
���d������H�Q�K�K�K�#�O�4�4�
��$�4�	�	�C��x�8�1�1�
������8;����8X�������
E�D�f�Q����]�.C�D�D�D�	�F�F�F�F��F�F�F��G�G�G�G�g�G�G�G��2�����-�
�
���	4�'���A�A�E�3�3�U�3�3�3�G��	�	�F��q�	�I��a�y�
!�V�A�Y�r��r�]�d�2�
!��S� �	��)������G�G�G�G�j�.D�.D�.F�.F�G�G�G�G�G�	(� *� 6� 6� 8� 8�
(�
(���*�*�7�3�3�(��,�'�'�'���=�<�v�';�<�<�<�����F�&�'�'�'��,�T�2�2�����c�"�"�	R�%�
D�
D���8�x�5�5�D��3�>�C�O�#C�C�K��
D�
7�v�u�n�U�U�O��
R�"�#6�w��#P�#P�Q�Q��
�c�h�h�H�H�H�H�;�H�H�H�I�I�J�J�J��H�Q�K�K�K�K�Ks�"B.�.B=�<B=r�	list[str]rYrCrh�
Iterable[Any]�
str | Nonec��|dks||dz
�d��sdS|D]�}|jtjkr�t	|���d��D]m}||dz
�d��d|krC|jr1td�|j�d��D����r|jccS�n��dS)aLGet the type of path completion (``file``, ``dir``, ``path`` or None)

    :param cwords: same as the environmental variable ``COMP_WORDS``
    :param cword: same as the environmental variable ``COMP_CWORD``
    :param opts: The available options to check
    :return: path completion type (``file``, ``dir``, ``path`` or None)
    r6rN�/r*rc3�K�|]}|dvV��	dS))r#�file�dirNr%r,s  rr:z+get_path_completion_type.<locals>.<genexpr>�s9����*�*�56�A�0�0�*�*�*�*�*�*r )rrrNrO�strr+�metavarrS)rrYrhr(�os     rrRrR�s��
�q�y���u�q�y�)�4�4�S�9�9���t��'�'���8�x�-�-�	���S������$�$�	'�	'�A��e�a�i� �&�&�s�+�+�A�.�!�3�
'��{�'�c�*�*�:=�+�:K�:K�C�:P�:P�*�*�*�'�'�'��;�&�&�&�&�&��	'��4r r4rsrc�
Iterable[str]c#���K�tj�|��\}�tj�|��}tj|tj��sdStj������fd�tj|��D��}|D]�}tj�||��}tj�tj�||����}|dkr$tj�	|��r|V���tj�
|��r"tj�|d��V���dS)atIf ``completion_type`` is ``file`` or ``path``, list all regular files
    and directories starting with ``current``; otherwise only list directories
    starting with ``current``.

    :param current: The word to be completed
    :param completion_type: path completion type(``file``, ``path`` or ``dir``)
    :return: A generator of regular files and/or directories
    Nc3��K�|]8}tj�|�������4|V��9dSr8)r@r#�normcaser)rr-�filenames  �rr:z&auto_complete_paths.<locals>.<genexpr>�sZ��������r�w�/?�/?��/B�/B�/M�/M�h�/W�/W��	������r rrr)r@r#r+�abspath�access�R_OKry�listdirrX�isfile�isdir)	r4rc�	directory�current_path�	file_list�fr(�	comp_filerzs	        @rrKrK�sM������'�-�-��0�0��I�x��7�?�?�9�-�-�L�
�9�\�2�7�+�+�����w����)�)�H������:�l�+�+����I��	.�	.���g�l�l�<��+�+���G�$�$�R�W�\�\�)�Q�%?�%?�@�@�	��e�#�	.�����s�(;�(;�	.��O�O�O�O�
�W�]�]�3�
�
�	.��'�,�,�y�"�-�-�-�-�-��	.�	.r )rr)rrkrYrCrhrlrrm)r4rsrcrsrrv)�__doc__�
__future__rrNr@rF�collections.abcr�	itertoolsr�typingr�pip._internal.cli.main_parserr�pip._internal.commandsrr	�pip._internal.metadatar
rjrRrKr%r r�<module>r�s���G�G�"�"�"�"�"�"�����	�	�	�	�
�
�
�
�$�$�$�$�$�$�������������<�<�<�<�<�<�@�@�@�@�@�@�@�@�:�:�:�:�:�:�p�p�p�p�f����0.�.�.�.�.�.r