ó
    ¢'Ôi  ã                  ó¦   • S r SSKJr  SSKrSSKrSSKrSSKJr  SSK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
 jr        SS jrSS jrg)zALogic that powers autocompletion installed by ``pip completion``.é    )ÚannotationsN)ÚIterable)Úchain)ÚAny)Úcreate_main_parser)Úcommands_dictÚcreate_command)Úget_default_environmentc            
     óî
  ^• S[         R                  ;  a  g[         R                  R                  S5      (       a$  [         R                  R                  S5      (       d  g[         R                  S   R                  5       SS m[	        [         R                  S   5      n  TU S-
     n[        5       n[        [        5      n/ nSnT H  nXc;   d  M
  Un  O   UGb)  US:X  a  [        R                  " S5        UR                  S5      (       + =(       a    US	;   nU(       a«  [        5       nUR                  5       n	UR                  S
S9 V
s/ s HF  n
U
R                  R                  U	5      (       d  M%  U
R                  TSS ;  d  M:  U
R                  PMH     nn
U(       a*  U H  n
[!        U
5        M     [        R                  " S5        UR                  S5      (       + =(       a    US:H  nU(       a4  [#        US5       H  n[!        U5        M     [        R                  " S5        [%        U5      nUR&                  R(                   H\  nUR*                  [,        R.                  :w  d  M#  UUR0                  UR2                  -    Vs/ s H  nUUR4                  4PM     sn-  nM^     TSU S-
    Vs/ s H  nUR                  S5      S   PM     nnU VVs/ s H  u  nnUU;  d  M  UU4PM     nnnU VVs/ s H"  u  nnUR                  U5      (       d  M  UU4PM$     nnn[7        TU UR&                  R(                  5      nU(       a  [#        UU5      nU Vs/ s H  oÝS4PM     nnU H.  nUS   nUS   (       a  US   SS S:X  a  US-  n[!        U5        M0     [9        U4S jUR;                  5        5       5      (       d:  UR;                  5        H&  nUR                  U5      (       d  M  [!        U5        M(     GOUR<                   Vs/ s H  nUR>                  PM     nnURA                  UR>                  5        [B        RD                  " U5      nUR                  S5      (       aE  U H>  nUR*                  [,        R.                  :w  d  M#  X?R0                  UR2                  -   -  nM@     O)[7        TU U5      nU(       a  [        [#        UU5      5      n[!        SRG                  U Vs/ s H  nUR                  U5      (       d  M  UPM     sn5      5        [        R                  " S5        g! [
         a    Sn GN f = fs  sn
f s  snf s  snf s  snnf s  snnf s  snf s  snf s  snf )z:Entry Point for completion of main and subcommand options.ÚPIP_AUTO_COMPLETENÚ
COMP_WORDSÚ
COMP_CWORDé   Ú ÚhelpÚ-)ÚshowÚ	uninstallT)Ú
local_onlyÚinstallÚpathÚ=r   é   z--c              3  ó,   >#   • U  H	  oT;   v •  M     g 7f©N© )Ú.0ÚnameÚcwordss     €Ú_/var/www/surfInsights/venv3-11/lib/python3.13/site-packages/pip/_internal/cli/autocompletion.pyÚ	<genexpr>Úautocomplete.<locals>.<genexpr>l   s   øé € ÐGÒ.F d˜6–>Ò.Fùs   ƒÚ )$ÚosÚenvironÚgetÚsplitÚintÚ
IndexErrorr   Úlistr   ÚsysÚexitÚ
startswithr
   ÚlowerÚiter_installed_distributionsÚcanonical_nameÚprintÚauto_complete_pathsr	   ÚparserÚoption_list_allr   ÚoptparseÚSUPPRESS_HELPÚ
_long_optsÚ_short_optsÚnargsÚget_path_completion_typeÚanyÚhandler_mapÚoption_groupsÚoption_listÚappendr   Úfrom_iterableÚjoin)ÚcwordÚcurrentr3   ÚsubcommandsÚoptionsÚsubcommand_nameÚwordÚshould_list_installedÚenvÚlcÚdistÚ	installedÚshould_list_installablesr   Ú
subcommandÚoptÚopt_strÚxÚ	prev_optsÚvÚkÚcompletion_typeÚpathsÚoptionÚ	opt_labelÚhandler_nameÚiÚoptsÚflattened_optsr   s                                @r    Úautocompleter]      s¶  ø€ ð ¤"§*¡*Ó,Øô �:‰:�>‰>˜,×'Ñ'¬r¯z©z¯~©~¸l×/KÑ/KØÜ�Z‰Z˜Ñ%×+Ñ+Ó-¨a¨bÐ1€FÜ”—
‘
˜<Ñ(Ó)€EðØ˜ ™Ñ#ˆô  Ó!€FÜ”}Ó%€KØ€Gð #'€OÛˆØÕØ"ˆOÙñ ð
 Ò"à˜fÓ$Ü�HŠH�QŒKà$+×$6Ñ$6°sÓ$;Ô ;÷ !
Àð T
ñ A
Ðö !Ü)Ó+ˆCØ—‘“ˆBð  ×<Ñ<ÈÐ<ÑMóâM�DØ×&Ñ&×1Ñ1°"×5ó $ð ×'Ñ'¨v°a°b¨zÑ9ó $�×#Ô#ÙMð ð ö Û%�DÜ˜$–Kñ &ä—’˜”ð ×"Ñ" 3Ó'Ô'×H¨O¸yÑ,Hð 	!ö $Ü+¨G°VÖ<�Ü�d–ñ =ä�HŠH�QŒKä# OÓ4ˆ
à×$Ñ$×4Ô4ˆCØ�x‰xœ8×1Ñ1Õ1ØØ8;¿¹ÈÏÉÒ8XóÚ8X¨W�W˜cŸi™iÓ(Ñ8Xññ ’ñ 5ð /5°Q¸À¹Ñ.CÓDÒ.C¨�Q—W‘W˜S“\ !”_Ñ.Cˆ	ÐDÙ(/ÔFª™f˜q !°1¸IÑ3E“6�A�q“6©ˆÑFá&-ÔG¢g™d˜a °·±¸g×1F“6�A�q“6¡gˆÑGä2ØØØ×Ñ×-Ñ-ó
ˆö Ü'¨°ÓAˆEÙ-2Ó3ªU T˜a“y©UˆGÐ3ÛˆFØ˜q™	ˆIà�a�y˜V A™Y r¨˜]¨dÓ2Ø˜SÑ �	Ü�)Öñ ô ÔG¨j×.DÑ.DÔ.FÓG×GÑGØ *× 6Ñ 6Ö 8�Ø×*Ñ*¨7×3Ó3Ü˜,Ö'ñ !9ùð (.×';Ò';Ó<Ò'; !�—”Ñ';ˆÐ<Ø�‰�F×&Ñ&Ô'Ü×,Ò,¨TÓ2ˆØ×Ñ˜c×"Ñ"Û%�Ø—8‘8œx×5Ñ5Õ5Ø§>¡>°C·O±OÑ#CÑC’Kò &ô
 7°v¸uÀnÓUˆOÞÜ"Ô#6°wÀÓ#PÓQ�äˆc�h‰h¡;ÓH¢;˜a°!·,±,¸w×2GŸ¡;ÑHÓIÔJÜ‡H‚HˆQ…KøôG ó Ø‹ðüò4ùò0ùò
 EùÛFùãGùò 4ùò  =ùò Is`   Â!T: Å$UÅ4UÆ	UÊ	UÊ4UËUË*UË:U"ÌU"ÍU(ÐU-Ó4U2ÔU2Ô:U
Õ	U
c                ó¼  • US:  d  XS-
     R                  S5      (       d  gU H´  nUR                  [        R                  :X  a  M#  [	        U5      R                  S5       Hs  nXS-
     R                  S5      S   U:X  d  M"  UR                  (       a2  [        S UR                  R                  S5       5       5      (       d  Me  UR                  s  s  $    M¶     g)a8  Get 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)
r   r   NÚ/r   r   c              3  ó*   #   • U  H	  oS ;   v •  M     g7f))r   ÚfileÚdirNr   )r   rQ   s     r    r!   Ú+get_path_completion_type.<locals>.<genexpr>•   s   é € ð *Ú:P°QÐ0Ö0Ò:Pùs   ‚)r-   r   r5   r6   Ústrr'   Úmetavarr;   )r   rB   r[   rO   Úos        r    r:   r:   „   sº   € ð ˆqƒy˜ q™yÑ)×4Ñ4°S×9Ñ9ØÛˆØ�8‰8”x×-Ñ-Ó-ÙÜ�S“—‘ Ö$ˆAØ˜a‘iÑ ×&Ñ& sÓ+¨AÑ.°!Õ3Ø—{—{¤cñ *Ø:=¿+¹+×:KÑ:KÈCÔ:Pó*÷ 'ó 'ð Ÿ;™;Ô&ó %ñ ð ó    c              #  ó  ^#   • [         R                  R                  U 5      u  nm[         R                  R                  U5      n[         R                  " U[         R
                  5      (       d  g[         R                  R                  T5      mU4S j[         R                  " U5       5       nU HÖ  n[         R                  R                  X55      n[         R                  R                  [         R                  R                  X%5      5      nUS:w  a*  [         R                  R                  U5      (       a  Uv •  MŽ  [         R                  R                  U5      (       d  M´  [         R                  R                  US5      v •  MØ     g7f)a\  If ``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
Nc              3  ó’   >#   • U  H<  n[         R                  R                  U5      R                  T5      (       d  M8  Uv •  M>     g 7fr   )r$   r   Únormcaser-   )r   rQ   Úfilenames     €r    r!   Ú&auto_complete_paths.<locals>.<genexpr>¬   s3   øé € ð Ú+ˆa¬r¯w©w×/?Ñ/?ÀÓ/B×/MÑ/MÈh×/W�‰Ò+ùs
   ƒ7A¾	Arb   r   )r$   r   r'   ÚabspathÚaccessÚR_OKrj   ÚlistdirrA   ÚisfileÚisdir)	rC   rU   Ú	directoryÚcurrent_pathÚ	file_listÚfrO   Ú	comp_filerk   s	           @r    r2   r2   œ   sý   øé € ô Ÿ'™'Ÿ-™-¨Ó0Ñ€IˆxÜ—7‘7—?‘? 9Ó-€Lä�9Š9�\¤2§7¡7×+Ñ+ØÜ�w‰w×Ñ Ó)€HôÜ—:’:˜lÔ+ó€Ió ˆÜ�g‰g�l‰l˜<Ó+ˆÜ—G‘G×$Ñ$¤R§W¡W§\¡\°)Ó%?Ó@ˆ	ð ˜eÓ#¬¯©¯©°s×(;Ñ(;ØŒOÜ�W‰W�]‰]˜3×ÓÜ—'‘'—,‘,˜y¨"Ó-Ô-ò ùs   ƒEFÅ%'F)ÚreturnÚNone)r   z	list[str]rB   r(   r[   zIterable[Any]rx   z
str | None)rC   rd   rU   rd   rx   zIterable[str])Ú__doc__Ú
__future__r   r5   r$   r+   Úcollections.abcr   Ú	itertoolsr   Útypingr   Úpip._internal.cli.main_parserr   Úpip._internal.commandsr   r	   Úpip._internal.metadatar
   r]   r:   r2   r   rg   r    Ú<module>r‚      sW   ðÙ Gå "ã Û 	Û 
Ý $Ý Ý å <ß @Ý :ôpðfØðØ!ðØ)6ðàôõ0.rg   