g*ddlmZddlmZmZddlmZmZddlm Z ddl m Z ddl m Z erddlmZmZGd d eZGd d e Zd d gZy )) annotations) OrderedDict defaultdict) TYPE_CHECKING NamedTuple)Describe)VirtualenvBuiltin)ComponentBuilder)Creator CreatorMetac6eZdZUded<ded<ded<ded<y ) CreatorInfozdict[str, type[Creator]] key_to_classzdict[str, CreatorMeta] key_to_metaztype[Describe] | Nonedescribestr builtin_keyN)__name__ __module__ __qualname____annotations__M/opt/hc_python/lib/python3.12/site-packages/virtualenv/run/plugin/creators.pyrrs**''##rrcVeZdZdfd ZedZdZedZdZ fdZ xZ S)CreatorSelectorct|j|\}|_|_|_t|||d|y)Ncreator)for_interpreterrrrsuper__init__)self interpreterparsercreators __class__s rr"zCreatorSelector.__init__s8FJFZFZ[fFgC$"DM43C fiBrc tiddf\}}}}tt}|jdj D]\}}|dk(r d} t | |j |} | rU| jr|| jj|n*d|vrt|tr |}||d<| |d<|||<| ||<|t|ts|j|s|}|si|rW|j D cgc]"\} } | ddjd| D$} } } t dj| d|} t | t|||| Scc} } w) Nzvirtualenv.createbuiltinz"builtin creator is a reserved namez for creators z, c34K|]}|jywN)r).0is r z2CreatorSelector.for_interpreter..2s5L!Qajj!s z!No virtualenv implementation for )rrrr)rrlistoptionsitems RuntimeError can_createerrorappend issubclassr r can_describejoinr)clsr$rrrrerrorskey creator_classmsgmetakvrowss rr zCreatorSelector.for_interpreters;F="dTX;X8 k;T""%++.A"B"H"H"J Ci:"3'' ++K8D::4::&--m< 4MSd9e&) 2? Y/15 I.(5L%'+K$J}h$GMLfLfgrLs(!#K"[a[g[g[ij[iSWSTVW1#^DII5L!5L,L+MN[ij"499T?335k]CCs# #%##   ks'E&c t|d}|j|}|jjd|||dd|jdnd|jd y) Nc|dk(rdSdS)Nr)rr r)as rz8CreatorSelector.add_selector_arg_parse..?sQ)^0J0Jr)r<z--Fzcreate environment viaz (builtin = ))choicesdefaultrequiredhelp)sorted _get_defaultr% add_argumentr)r#namerI default_values radd_selector_arg_parsez&CreatorSelector.add_selector_arg_parse=ss&JK))'2    K!)0@0@0H"P\]a]m]m\nnoNp)qr ! rc*tt|Sr+)nextiter)rIs rrNzCreatorSelector._get_defaultIsDM""rcd|jd||j_|jj |j|j |j ||y)Nz options for  )rPr% description _impl_classadd_parser_argumentsr$r)r#selectedapp_datas rpopulate_selected_argparsez*CreatorSelector.populate_selected_argparseMsP$0 1XJ"G  --dkk4;K;KTM]M]^fMgiqrrc|jt||j|_t |j t s!|j||j|_t|)|Sr+) rgetattrrPr?r7rYrrr$r!create)r#r1r's rr`zCreatorSelector.createQsX''(CD $**H5#}}Wd6F6FGG w~g&&r)returnNone) rrrr" classmethodr rR staticmethodrNr]r` __classcell__)r's@rrrsGC  B  ##s''rrN) __future__r collectionsrrtypingrrvirtualenv.create.describer4virtualenv.create.via_global_ref.builtin.builtin_wayr baser virtualenv.create.creatorr r rr__all__rrrrnsF"0,/R">*?'&?'F r