'(, ddlmZddlmZmZmZmZddlmZddl m Z ddl m Z dede de fd Zd e defd Z dded ee dedefdZd S))Optional) ArchiveInfo DirectUrlDirInfoVcsInfo)Link) path_to_url)vcs direct_urlnamereturncF||dz}g}t|jtr4|d|jj|j|jjz }nvt|jtr6||jz }|jj r| |jj n&t|jtsJ||jz }|j r| d|j z|r|dd |zz }|S)z0Convert a DirectUrl to a pip requirement string.z @ z{}+{}@{}z subdirectory=#&)validate isinstanceinforformatr url commit_idrhashappendr subdirectoryjoin)r r requirement fragmentss /builddir/build/BUILDROOT/alt-python311-pip-21.3.1-4.el9.x86_64/opt/alt/python311/lib/python3.11/site-packages/pip/_internal/utils/direct_url_helpers.py%direct_url_as_pep440_direct_referencer s%,KI*/7++ &z(( O 1J    JO[ 1 1&z~% ?  3   Z_1 2 2 2*/733333z~% D:+BBCCC1sSXXi0000  source_dircZtt|tdS)NT)editable)rr)rr r)r s rdirect_url_for_editabler# s2   # # d # # #   rNFlinklink_is_in_wheel_cachec|jrtj|j}|sJ||j\}}}|r|sJ|}n|sJ||}t|t|j |||j S| r(t|jt|j Sd}|j } | r | d|j}t|jt||j S)N)r rrequested_revision)rrr=)r)is_vcsr get_backend_for_schemeschemeget_url_rev_and_authurl_without_fragment get_revisionrrr subdirectory_fragmentis_existing_dirr hash_namerr) r$r r% vcs_backendrr'_rrr1s rdirect_url_from_linkr4'si {- 0== {%0%E%E  %& & "  " = & % %%*II   :#00<r=s TTTTTTTTTTTT******000000!!!!!!iss. RW0 0 0 $SM0 JN0 0 0 0 0 0 0 r