+
    ®¾jz ã                   óZ  € ^ RI t ^ RIHt ^ RIt^ RIt^ RIHt ^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIt^ RIt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt ^ RIt^ RIt^RIHt ^RIHtHtHtHtH t H!t!H"t"H#t#H$t$H%t%H&t&H't'H(t(H)t)H*t*H+t+H,t,H-t-H.t.H/t/ ]
P`                  ! ]14      t2]Pf                  ! R4      t4]Pf                  ! R4      t5]Pf                  ! R4      t6]Pf                  ! R	4      t7]Pf                  ! R
4      t8]Pf                  ! R4      t9]Pf                  ! R4      t:]Pf                  ! R4      t;R t<R t=R t>R t?R t@RhR ltAR tBR tCR tD]PŠ                  R 4       tF]PŠ                  R 4       tG]PŠ                  RiR l4       tH ! R R]I4      tJR tK ! R R]I4      tLR tM ! R  R!]I4      tN]Pf                  ! R"]Pž                  4      tPR# tQRjR$ ltRRkR% ltSR& tTR' tUR( tVR) tW]Pf                  ! R*]P°                  4      tY]Pf                  ! R+4      tZRjR, lt[]Pf                  ! R-4      t\R. t]R/ t^R0 t_R1t`R2 taR3 tb ! R4 R5]I4      tc ! R6 R7]I4      td ! R8 R9]I4      teRltfRmR: ltgR; thRnti ! R< R=]I4      tj]Pf                  ! R>4      tk]Pf                  ! R?4      tl]Pf                  ! R@4      tmRA tRB tn]'       d7   ^RCIHotpHqtqHrtr  ! RD RE]$Pæ                  4      ts ! RF RG]p4      to ! RH RI]o]&4      tt ! RJ RK]%Pê                  4      tu]'       d    ! RL RM]%Pì                  4      tv ! RN RO]%Pî                  4      twRP tx ! RQ RR]I4      ty ! RS RT]y4      tz ! RU RV]y4      t{ ! RW RX]'4      t| ! RY RZ]I4      t}R[ t~ ! R\ R]]I4      tR^ t€R_ t�R` t‚RaRbRcRdReRf/tƒRg t„R#   ] d    Rt EL]i ; i  ] d	    ^ RIt ELVi ; i)oé    N)Údeque)Úiglob)ÚDistlibException)Ústring_typesÚ	text_typeÚshutilÚ	raw_inputÚStringIOÚcache_from_sourceÚurlopenÚurljoinÚhttplibÚ	xmlrpclibÚHTTPHandlerÚBaseConfiguratorÚvalid_identÚ	ContainerÚconfigparserÚURLErrorÚZipFileÚfsdecodeÚunquoteÚurlparsez^([\w\.-]+)\s*z^([\w\.*+-]+)\s*z^(<=?|>=?|={2,3}|[~!]=)\s*z*^((<=?)|(>=?)|={2,3}|[~!]=|in|not\s+in)\s*z^or\b\s*z	^and\b\s*z(\S+)\s*z(([\s\w\.{}()*+#:;,/?!~`@$%^&=|<>\[\]-]+)c                óF   aaaa€ R oVV3R loV3R loV3R loS! V 4      # )aM  
Parse a marker string and return a dictionary containing a marker expression.

The dictionary will contain keys "op", "lhs" and "rhs" for non-terminals in
the expression grammar, or strings. A string contained in quotes is to be
interpreted as a literal string, and a string not contained in quotes is a
variable (such as os_name).
c                 óL  € \         P                  V 4      pV'       d-   VP                  4       ^ ,          pWP                  4       R p W 3# V '       g   \	        R4      hV ^ ,          pVR9  d   \	        RV ,          4      hRP                  VR4      pV R,          p V.pV '       d£   V ^ ,          V8X  d   M¶V ^ ,          V8X  d   VP                  V4       V R,          p KA  \        P                  V 4      pV'       g   \	        RV ,          4      hVP                  VP                  4       ^ ,          4       WP                  4       R p Kª  RP                  V4      p\	        RV,          4      hVP                  V4       RP                  V4      pV R,          P                  4       p W 3# )	r   Nzunexpected end of inputz'"zinvalid expression: %sÚ ºé   NNzerror in string literal: %szunterminated string: %s)
Ú
IDENTIFIERÚmatchÚgroupsÚendÚSyntaxErrorÚreplaceÚappendÚSTRING_CHUNKÚjoinÚlstrip)Ú	remainingÚmÚresultÚqÚoqÚpartsÚss   &      ÚW/home/ralf/ical-fahrzeuge/venv/lib/python3.14/site-packages/pip/_vendor/distlib/util.pyÚ
marker_varÚ parse_marker.<locals>.marker_var@   s_  € ä×Ñ˜YÓ'ˆßØ—X‘X“Z •]ˆFØ!§%¡%£' (Ð+ˆIð: Ð Ð ÷9 ÜÐ7Ó8Ð8à˜!•ˆAØ˜Œ~Ü!Ð":¸YÕ"FÓGÐGØ—‘˜q "Ó%ˆBØ! "�ˆIØ�CˆEßà˜Q•< 1Ô$ØØ˜q•\ RÔ'Ø—L‘L Ô$Ø )¨"¥’Iä$×*Ñ*¨9Ó5�AßÜ)Ð*GÈ)Õ*SÓTÐTØ—L‘L §¡£¨A¥Ô/Ø )¯%©%«'¨(Ð 3’Ià—G‘G˜E“N�Ü!Ð";¸aÕ"?Ó@Ð@Ø�L‰L˜ŒOØ—W‘W˜U“^ˆFØ! "�×,Ñ,Ó.ˆIØÐ Ð ó    c                 óÆ  <€ V '       dh   V ^ ,          R8X  dZ   S! V R,          P                  4       4      w  rV ^ ,          R8w  d   \        RV ,          4      hV R,          P                  4       p W3# S! V 4      w  r V '       d\   \        P                  V 4      pV'       g   M=VP	                  4       ^ ,          pWP                  4       R p S! V 4      w  rPRVRVRV/pKc  TpW3# )	r   Ú(r   Ú)úunterminated parenthesis: %sNÚopÚlhsÚrhs)r(   r#   Ú	MARKER_OPr    r!   r"   )r)   r+   r9   r*   r8   r:   Úmarkerr1   s   &     €€r0   Úmarker_exprÚ!parse_marker.<locals>.marker_exprd   sÕ   ø€ ß˜ 1�¨Ô,Ù & y°¥}×';Ñ';Ó'=Ó >ÑˆFØ˜�|˜sÔ"Ü!Ð"@À9Õ"LÓMÐMØ! "�×,Ñ,Ó.ˆIð Ð Ð ñ (¨	Ó2‰NˆCßÜ—O‘O IÓ.�ßØØ—X‘X“Z •]�Ø%§e¡e£g hÐ/�	Ù!+¨IÓ!6‘�Ø˜R ¨¨U°CÐ8’ØˆFØÐ Ð r3   c                 ó¼   <€ S! V 4      w  rV '       dH   \         P                  V 4      pV'       g    W3# WP                  4       R  p S! V 4      w  r0RRRVRV/pKO  W3# )Nr8   Úandr9   r:   )ÚANDr    r"   )r)   r9   r*   r:   r=   s   &   €r0   Ú
marker_andÚ parse_marker.<locals>.marker_andw   sh   ø€ Ù$ YÓ/‰ˆßÜ—	‘	˜)Ó$ˆAßØð ˆ~Ðð "§%¡%£' (Ð+ˆIÙ(¨Ó3‰NˆCØ˜  s¨E°3Ð7ŠCØˆ~Ðr3   c                 ó¼   <€ S! V 4      w  rV '       dH   \         P                  V 4      pV'       g    W3# WP                  4       R  p S! V 4      w  r0RRRVRV/pKO  W3# )Nr8   Úorr9   r:   )ÚORr    r"   )r)   r9   r*   r:   rB   s   &   €r0   r<   Úparse_marker.<locals>.marker‚   sh   ø€ Ù# IÓ.‰ˆßÜ—‘˜Ó#ˆAßØð ˆ~Ðð "§%¡%£' (Ð+ˆIÙ'¨	Ó2‰NˆCØ˜˜u c¨5°#Ð6ŠCØˆ~Ðr3   © )Úmarker_stringr<   rB   r=   r1   s   &@@@@r0   Úparse_markerrJ   6   s%   û€ ò"!öH!õ&	õ	ñ �-Ó Ð r3   c           	     ó®  € V P                  4       pV'       d   VP                  R4      '       d   R# \        P                  V4      pV'       g   \	        RV,          4      hVP                  4       ^ ,          pWP                  4       R pR;p;p;rgV'       Ed   V^ ,          R8X  Ed   VP                  R^4      pV^ 8  d   \	        RV,          4      hV^V p	W^,           R P                  4       p. pV	'       dª   \        P                  V	4      pV'       g   \	        RV	,          4      hVP                  VP                  4       ^ ,          4       W’P                  4       R p	V	'       g   M9V	^ ,          R8w  d   \	        R	V	,          4      hV	R
,          P                  4       p	K±  V'       g   RpV'       Edß   V^ ,          R8X  dÁ   VR
,          P                  4       p\        P                  V4      pV'       g   \	        RV,          4      hVP                  4       ^ ,          p\        V4      p
V
P                  '       d   V
P                  '       g   \	        RV,          4      hWP                  4       R P                  4       pEMR pV^ ,          R8w  d   V! V4      w  raMôVP                  R^4      pV^ 8  d   \	        RV,          4      hV^V p	W^,           R P                  4       p\        P                  V	4      '       d   V! V	4      w  rlM…\        P                  V	4      pV'       g   \	        RV	,          4      hVP                  4       ^ ,          pW’P                  4       R P                  4       p	V	'       d   \	        RV	,          4      hRV3.pV'       dE   V^ ,          R8w  d   \	        RV,          4      hVR
,          P                  4       p\!        V4      w  rQV'       d!   V^ ,          R8w  d   \	        RV,          4      hV'       g   TpM/V: RRP#                  V Uu. uF  pRV,          NK  	  up4      : 2p\%        W4WeW~R7      # u upi )z~
Parse a requirement passed in as a string. Return a Container
whose attributes contain the various parts of the requirement.
Ú#Nzname expected: %sÚ[Ú]zunterminated extra: %szmalformed extra: %sÚ,zcomma expected in extras: %sr   Ú@zinvalid URI: %szInvalid URL: %sc                óX  € \         P                  V 4      pRpV'       Ed	   . p VP                  4       ^ ,          pWP                  4       R p \        P                  V 4      pV'       g   \        RV ,          4      hVP                  4       ^ ,          pVP                  W434       WP                  4       R p V '       d   V ^ ,          R8w  d   MQV R,          P                  4       p V '       g   M1\         P                  V 4      pV'       d   Kê  \        RV ,          4      hV'       g   RpW 3# )zL
Return a list of operator, version tuples if any are
specified, else None.
Nzinvalid version: %srO   r   úinvalid constraint: %s)Ú
COMPARE_OPr    r!   r"   ÚVERSION_IDENTIFIERr#   r%   r(   )Úver_remainingr*   Úversionsr8   Úvs   &    r0   Úget_versionsÚ'parse_requirement.<locals>.get_versionsÄ   sú   € ô
 ×$Ñ$ ]Ó3�Ø�ß�1Ø!�HØØŸX™X›Z¨�]˜Ø(5·e±e³g°hÐ(?˜Ü.×4Ñ4°]ÓC˜ß Ü"-Ð.CÀmÕ.SÓ"TÐTØŸH™H›J q�M˜Ø Ÿ™¨¨Ô0Ø(5·e±e³g°hÐ(?˜ß,°¸aÕ0@ÀCÔ0GØ!Ø(5°bÕ(9×(@Ñ(@Ó(B˜÷  -Ø!Ü&×,Ñ,¨]Ó;˜ß ™qÜ"-Ð.FÈÕ.VÓ"WÐWß#Ø#'˜ØÐ.Ð.r3   r5   r6   r7   rR   z~=Ú;zinvalid requirement: %szunexpected trailing data: %sÚ ú, z%s %s)ÚnameÚextrasÚconstraintsr<   ÚurlÚrequirement)ÚstripÚ
startswithr   r    r#   r!   r"   Úfindr(   r%   Ú	NON_SPACEr   ÚschemeÚnetlocrS   rT   rJ   r'   r   )Úreqr)   r*   Údistnamer^   Ú	mark_exprrV   ÚuriÚir/   ÚtrX   Ú_rW   ÚrsÚcons   &               r0   Úparse_requirementrq   �   s“  € ð
 —	‘	“€Iß˜	×,Ñ,¨S×1Ò1ÙÜ×Ñ˜Ó#€AßÜÐ-°	Õ9Ó:Ð:Ø�x‰x‹z˜!�}€HØŸ%™%›'˜(Ð#€IØ*.Ð.€FÐ.ˆYÐ.˜ß€y�Y˜q•\ SÕ(Ø�N‰N˜3 Ó"ˆØˆqŒ5ÜÐ6¸ÕBÓCÐCØ�a˜ˆNˆØ !�e˜fÐ%×,Ñ,Ó.ˆ	ØˆßÜ× Ñ  Ó#ˆAßÜ!Ð"7¸!Õ";Ó<Ð<Ø�M‰M˜!Ÿ(™(›* Q�-Ô(Ø—%‘%“'�(�ˆAßØØ��t�sŒ{Ü!Ð"@À1Õ"DÓEÐEØ�"•—‘“ŠAßØˆFß€yØ�Q�<˜3Ôà! "�×,Ñ,Ó.ˆIÜ—‘ 	Ó*ˆAßÜ!Ð"3°iÕ"?Ó@Ð@Ø—(‘(“*˜Q•-ˆCÜ˜“ˆAð
 —H—H�H §§ Ü!Ð"3°cÕ"9Ó:Ð:Ø!§%¡%£' (Ð+×2Ñ2Ó4ŠIò/ð@ ˜�|˜sÔ"Ù&2°9Ó&=Ñ#�˜)à—N‘N 3¨Ó*�Ø�q”5Ü%Ð&DÀyÕ&PÓQÐQØ˜a �N�Ø%¨!¥e fÐ-×4Ñ4Ó6�	ô ×#Ñ# A×&Ò&Ù".¨q£/‘K�H˜aä*×0Ñ0°Ó3�AßÜ)Ð*BÀQÕ*FÓGÐGØŸ™›
 1��AØŸ%™%›'˜(˜×*Ñ*Ó,�AßÜ)Ð*BÀQÕ*FÓGÐGØ!% q 	˜{�HçØ�Q�<˜3ÔÜÐ7¸)ÕCÓDÐDØ˜b•M×(Ñ(Ó*ˆ	ä+¨IÓ6Ñˆ	ç�Y˜q•\ SÔ(ÜÐ8¸9ÕDÓEÐEçØ‰ã  $§)¡)ÁhÓ,OÁh¸s¨W°s¯]¨]ÁhÑ,OÕ"PÐQˆÜ˜(¸xÐ_bÔsÐsùò -Ps   Ð(Qc                óÒ  € R p/ pV FÛ  w  rEp\         P                  P                  W4      p\        V4       F§  p\         P                  P                  W…4      p	\        V	4       Fv  p
V! W
4      pVf   VP	                  VR4       K#  V! WŠ4      pVP                  \         P                  P                  R4      P                  R4      pVR,           V,           W;&   Kx  	  K©  	  KÝ  	  V# )z%Find destinations for resources filesc                 ó  € V P                  \        P                  P                  R 4      p VP                  \        P                  P                  R 4      pVP	                  V 4      '       g   Q hV\        V 4      R P                  R 4      # )Ú/N)r$   ÚosÚpathÚseprc   Úlenr(   )Úrootrv   s   &&r0   Úget_rel_pathÚ)get_resources_dests.<locals>.get_rel_path  sc   € à�|‰|œBŸG™GŸK™K¨Ó-ˆØ�|‰|œBŸG™GŸK™K¨Ó-ˆØ�‰˜t×$Ò$Ð$Ð$Ø”C˜“I�JÐ×&Ñ& sÓ+Ð+r3   Nrt   )ru   rv   r'   r   Úpopr$   rw   Úrstrip)Úresources_rootÚrulesrz   ÚdestinationsÚbaseÚsuffixÚdestÚprefixÚabs_baseÚabs_globÚabs_pathÚresource_fileÚrel_pathÚrel_dests   &&            r0   Úget_resources_destsr‹     sÂ   € ò,ð €LÛ#Ñˆ�dÜ—‘—‘˜nÓ3ˆÜ˜fžˆHÜ—w‘w—|‘| HÓ5ˆHÜ! (žO�Ù ,¨^Ó F�Ø’<Ø ×$Ñ$ ]°DÖ9á+¨HÓ?�HØ#Ÿ|™|¬B¯G©G¯K©K¸Ó=×DÑDÀSÓI�HØ2:¸Sµ.À8Õ2K�LÓ/ó ,ó &ñ $ð Ðr3   c                  óš   € \        \        R 4      '       d   Rp V # \        P                  \        \        R\        P                  4      8g  p V # )Úreal_prefixTÚbase_prefix)ÚhasattrÚsysr„   Úgetattr©r+   s    r0   Úin_venvr“   &  s=   € ÜŒs�M×"Ò"àˆð €Mô —‘œw¤s¨M¼3¿:¹:ÓFÑFˆØ€Mr3   c                  óh   € \         P                  p \        V \        4      '       g   \	        V 4      p V # ©N)r�   Ú
executableÚ
isinstancer   r   r’   s    r0   Úget_executabler˜   0  s)   € ô �^‰^€FÜ�fœi×(Ò(Ü˜&Ó!ˆØ€Mr3   c                 óÈ   € T p \        V4      pT pV'       g   V'       d   TpV'       g   K*  V^ ,          P                  4       pWa9   d    V# V'       g   KT  RWbV 3,          pKa  )Tz	%c: %s
%s)r	   Úlower)ÚpromptÚallowed_charsÚerror_promptÚdefaultÚpr/   Úcs   &&&&   r0   Úproceedr¡   B  s\   € Ø€AØ
Ü�a‹LˆØˆß—WØˆAß‰1Ø�!•—
‘
“ˆAØÔ!Øð €H÷ ‰|Ø  A°VÐ#<Õ<’r3   c                 óŒ   € \        V\        4      '       d   VP                  4       p/ pV F  pW09   g   K  W,          W#&   K  	  V# r•   )r—   r   Úsplit)ÚdÚkeysr+   Úkeys   &&  r0   Úextract_by_keyr§   R  s>   € Ü�$œ×%Ò%Ø�z‰z‹|ˆØ€FÛˆØŽ8Ø�&ˆF‹Kñ ð €Mr3   c                 óŒ  € \         P                  ^ ,          ^8¼  d   \        P                  ! R4      ! V 4      p V P	                  4       p\        V4      p  \        P                  ! V 4      pVR,          R,          R,          pVP                  4        F<  w  rEVP                  4        F#  w  rgV: RV: 2p\        V4      p	V	f   Q hW•V&   K%  	  K>  	  V#   \         d    T P                  ^ ^ 4        Mi ; iR p
\        P                  ! 4       p T
! Y°4       MT  \        P                   d=    T P                  4        \         P"                  ! T4      p\        T4      p T
! Y°4        Mi ; i/ pTP%                  4        FA  p/ ;Y<&   pTP                  T4       F#  w  rÞT: RT: 2p\        T4      p	T	f   Q hY•T&   K%  	  KC  	  T# )r   úutf-8Ú
extensionszpython.exportsÚexportsú = c                 ór   € \        V R 4      '       d   V P                  V4       R# V P                  V4       R# )Ú	read_fileN)r�   r®   Úreadfp)ÚcpÚstreams   &&r0   Úread_streamÚ!read_exports.<locals>.read_streamp  s'   € Ü�2�{×#Ò#Ø�L‰L˜Ö à�I‰I�fÖr3   )r�   Úversion_infoÚcodecsÚ	getreaderÚreadr
   ÚjsonÚloadÚitemsÚget_export_entryÚ	ExceptionÚseekr   ÚConfigParserÚMissingSectionHeaderErrorÚcloseÚtextwrapÚdedentÚsections)r±   ÚdataÚjdatar+   ÚgroupÚentriesÚkrW   r/   Úentryr²   r°   r¦   r]   Úvalues   &              r0   Úread_exportsrË   \  s™  € Ü
×Ñ˜Õ˜aÔä×!Ò! 'Ô*¨6Ó2ˆà�;‰;‹=€DÜ�d‹^€FðÜ—	’	˜&Ó!ˆØ�|Õ$Ð%5Õ6°yÕAˆØ$Ÿl™lžn‰NˆEØŸ™ž‘�Û!"¢AÐ&�Ü(¨Ó+�ØÒ(Ð(Ð(Ø"˜“
ó	 (ñ -ð ˆøÜô Ø�‰�A�qÖðúòô 
×	"Ò	"Ó	$€Bð Ù�BÕøÜ×1Ñ1ô  Ø�‰ŒÜ�Š˜tÓ$ˆÜ˜$“ˆÙ�BÖð	 úð €FØ�{‰{Ž}ˆØ "Ð"ˆ‰�gØŸ8™8 Cž=‰KˆDÛ!¢5Ð)ˆAÜ$ QÓ'ˆEØÒ$Ð$Ð$à!�D‹Mó )ñ ð €Ms&   ÁA>C ÃC4Ã3C4ÄD ÄAE*Å)E*c                 óV  € \         P                  ^ ,          ^8¼  d   \        P                  ! R4      ! V4      p\        P
                  ! 4       pV P                  4        F¶  w  r4VP                  V4       VP                  4        FŒ  pVP                  f   VP                  pMVP                  : RVP                  : 2pVP                  '       d$   V: RRP                  VP                  4      : R2pVP                  W5P                  V4       KŽ  	  K¸  	  VP                  V4       R# )r   r©   NÚ:z [r\   rN   )r�   r´   rµ   Ú	getwriterr   r¾   rº   Úadd_sectionÚvaluesr‚   r„   Úflagsr'   Úsetr]   Úwrite)r«   r±   r°   rÈ   rW   rÉ   r/   s   &&     r0   Úwrite_exportsrÔ   ‹  sË   € Ü
×Ñ˜Õ˜aÔä×!Ò! 'Ô*¨6Ó2ˆÜ	×	"Ò	"Ó	$€BØ—‘–‰ˆà
�‰�qÔØ—X‘X–ZˆEØ�|‰|Ò#Ø—L‘L‘à$Ÿ|œ|¨U¯\«\Ð:�Ø�{�{ˆ{Û!" D§I¡I¨e¯k©kÖ$:Ð;�Ø�F‰F�1—j‘j !Ö$ó  ñ  ð ‡H�HˆVÖr3   c               #   ó¤   "  € \         P                  ! 4       p  V x € \        P                  ! V 4       R #   \        P                  ! T 4       i ; i5ir•   )ÚtempfileÚmkdtempr   Úrmtree)Útds    r0   ÚtempdirrÚ   ž  s5   é € ä	×	Ò	Ó	€BðØŠä�Š�bÖøŒ�Š�bÕüs   ‚A™5 �AµAÁAc              #   óÐ   "  € \         P                  ! 4       p \         P                  ! V 4       R x € \         P                  ! V4       R #   \         P                  ! T4       i ; i5ir•   )ru   ÚgetcwdÚchdir)r¤   Úcwds   & r0   rÝ   rÝ   §  s9   é € ä
�)Š)‹+€CðÜ
�Š�ŒÛä
�Š�ŽøŒ�Š��üó   ‚A&™A ³A&ÁA#Á#A&c              #   óÐ   "  € \         P                  ! 4       p \         P                  ! V 4       R x € \         P                  ! V4       R #   \         P                  ! T4       i ; i5ir•   )ÚsocketÚgetdefaulttimeoutÚsetdefaulttimeout)ÚsecondsÚctos   & r0   Úsocket_timeoutræ   ±  sE   é € ä
×
"Ò
"Ó
$€Cð&Ü× Ò  Ô)Ûä× Ò  Ö%øŒ× Ò  Õ%ürß   c                   ó0   a € ] tR tRt o R tRR ltRtV tR# )Úcached_propertyi»  c                ó   € Wn         R # r•   ©Úfunc)Úselfrë   s   &&r0   Ú__init__Úcached_property.__init__½  s   € ØŽ	r3   Nc                óˆ   € Vf   V # V P                  V4      p\        P                  WP                   P                  V4       V# r•   )rë   ÚobjectÚ__setattr__Ú__name__)rì   ÚobjÚclsrÊ   s   &&& r0   Ú__get__Úcached_property.__get__Â  s8   € ØŠ;ØˆKØ—	‘	˜#“ˆÜ×Ñ˜3§	¡	× 2Ñ 2°EÔ:àˆr3   rê   r•   )rò   Ú
__module__Ú__qualname__Ú__firstlineno__rí   rõ   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r0   rè   rè   »  s   ø‡ € ò÷
ò r3   rè   c                ó¾  € \         P                  R8X  d   V # V '       g   V # V ^ ,          R8X  d   \        RV ,          4      hV R,          R8X  d   \        RV ,          4      hV P                  R4      p\         P                  V9   d"   VP                  \         P                  4       K6  V'       g   \         P                  # \         P                  P                  ! V!  # )a´  Return 'pathname' as a name that will work on the native filesystem.

The path is split on '/' and put back together again using the current
directory separator.  Needed because filenames in the setup script are
always supplied in Unix style, and have to be converted to the local
convention before we can actually use them in the filesystem.  Raises
ValueError on non-Unix-ish systems if 'pathname' either starts or
ends with a slash.
rt   zpath '%s' cannot be absolutezpath '%s' cannot end with '/'éÿÿÿÿ)ru   rw   Ú
ValueErrorr£   ÚcurdirÚremoverv   r'   )ÚpathnameÚpathss   & r0   Úconvert_pathr  Ë  s    € ô 
‡v�v�„}ØˆßØˆØ�…{�cÔÜÐ7¸(ÕBÓCÐCØ�…|�sÔÜÐ8¸8ÕCÓDÐDà�N‰N˜3Ó€EÜ
�)‰)�uÔ
Ø�‰”R—Y‘YÖßÜ�y‰yÐÜ�7‰7�<Š<˜ÑÐr3   c                   ó�   a € ] tR tRt o RR ltR tR tR tRR ltRR lt	R	 t
R
 tR tR tR tRR ltR tR tR tR tRtV tR# )ÚFileOperatoriæ  c                óP   € Wn         \        4       V n        V P                  4        R # r•   )Údry_runrÒ   ÚensuredÚ_init_record)rì   r	  s   &&r0   rí   ÚFileOperator.__init__è  s   € ØŒÜ“uˆŒØ×ÑÖr3   c                óP   € R V n         \        4       V n        \        4       V n        R# ©FN)ÚrecordrÒ   Úfiles_writtenÚdirs_created©rì   s   &r0   r  ÚFileOperator._init_recordí  s   € ØˆŒÜ ›UˆÔÜ›EˆÖr3   c                ód   € V P                   '       d   V P                  P                  V4       R # R # r•   )r  r  Úadd)rì   rv   s   &&r0   Úrecord_as_writtenÚFileOperator.record_as_writtenò  s$   € Ø�;�;ˆ;Ø×Ñ×"Ñ" 4Ö(ñ r3   c                óz  € \         P                  P                  V4      '       g0   \        R\         P                  P	                  V4      ,          4      h\         P                  P                  V4      '       g   R# \         P
                  ! V4      P                  \         P
                  ! V4      P                  8„  # )a–  Tell if the target is newer than the source.

Returns true if 'source' exists and is more recently modified than
'target', or if 'source' exists and 'target' doesn't.

Returns false if both exist and 'target' is the same age or younger
than 'source'. Raise PackagingFileError if 'source' does not exist.

Note that this test is not very accurate: files created in the same
second will have the same "age".
zfile '%r' does not existT)ru   rv   Úexistsr   ÚabspathÚstatÚst_mtime)rì   ÚsourceÚtargets   &&&r0   ÚnewerÚFileOperator.newerö  ss   € ô �w‰w�~‰~˜f×%Ò%Ü"Ð#=ÄÇÁÇÁÐPVÓ@WÕ#WÓXÐXÜ�w‰w�~‰~˜f×%Ò%Ùä�wŠw�v‹×'Ñ'¬"¯'ª'°&«/×*BÑ*BÑBÐBr3   c                óL  € V P                  \        P                  P                  V4      4       \        P                  RW4       V P                  '       g½   RpV'       dƒ   \        P                  P                  V4      '       d   RV,          pMS\        P                  P                  V4      '       d/   \        P                  P                  V4      '       g
   RV,          pV'       d   \        VR,           4      h\        P                  ! W4       V P                  V4       R# )z8Copy a file respecting dry-run and force flags.
        zCopying %s to %sNz%s is a symlinkz%s is a non-regular filez which would be overwritten)Ú
ensure_dirru   rv   ÚdirnameÚloggerÚinfor	  Úislinkr  Úisfiler   r   Úcopyfiler  )rì   ÚinfileÚoutfileÚcheckÚmsgs   &&&& r0   Ú	copy_fileÚFileOperator.copy_file	  s·   € ð 	�‰œŸ™Ÿ™¨Ó0Ô1Ü�‰Ð&¨Ô8Ø�|�|ˆ|ØˆCßÜ—7‘7—>‘> '×*Ò*Ø+¨gÕ5‘CÜ—W‘W—^‘^ G×,Ò,´R·W±W·^±^ÀG×5LÒ5LØ4°wÕ>�CßÜ  Ð'DÕ!DÓEÐEÜ�OŠO˜FÔ,Ø×Ñ˜wÖ'r3   Nc                óî  € \         P                  P                  V4      '       d   Q hV P                  \         P                  P	                  V4      4       \
        P                  R W4       V P                  '       gR   Vf   \        VR4      pM\        P                  ! VRVR7      p \        P                  ! W4       VP                  4        V P                  V4       R#   TP                  4        i ; i)zCopying stream %s to %sNÚwbÚw©Úencoding)ru   rv   Úisdirr"  r#  r$  r%  r	  Úopenrµ   r   ÚcopyfileobjrÀ   r  )rì   Úinstreamr*  r3  Ú	outstreams   &&&& r0   Úcopy_streamÚFileOperator.copy_stream  s©   € Ü—7‘7—=‘= ×)Ò)Ð)Ð)Ø�‰œŸ™Ÿ™¨Ó0Ô1Ü�‰Ð-¨xÔAØ�|�|ˆ|ØÒÜ  ¨$Ó/‘	ä"ŸKšK¨°¸xÔH�	ð"Ü×"Ò" 8Ô7à—‘Ô!Ø×Ñ˜wÖ'øð —‘Õ!ús   Â)C" Ã"C4c                ó   € V P                  \        P                  P                  V4      4       V P                  '       gj   \        P                  P                  V4      '       d   \        P                  ! V4       \        VR 4      ;_uu_ 4       pVP                  V4       RRR4       V P                  V4       R#   + '       g   i     L#; i)r0  N)
r"  ru   rv   r#  r	  r  r  r5  rÓ   r  )rì   rv   rÄ   Úfs   &&& r0   Úwrite_binary_fileÚFileOperator.write_binary_file)  sx   € Ø�‰œŸ™Ÿ™¨Ó-Ô.Ø�|�|ˆ|Ü�w‰w�~‰~˜d×#Ò#Ü—	’	˜$”Ü�d˜D×!Ô! QØ—‘˜”÷ "à×Ñ˜tÖ$÷ "×!ús   ÂB=Â=C	c                óF   € V P                  WP                  V4      4       R # r•   )r=  Úencode)rì   rv   rÄ   r3  s   &&&&r0   Úwrite_text_fileÚFileOperator.write_text_file2  s   € Ø×Ñ˜t§[¡[°Ó%:Ö;r3   c                ó¦  € \         P                  R 8X  g+   \         P                  R8X  d§   \         P                  R 8X  d�   V F‡  pV P                  '       d   \        P                  RV4       K-  \         P                  ! V4      P                  V,          V,          p\        P                  RWE4       \         P                  ! WE4       K‰  	  R# R# R# )ÚposixÚjavazchanging mode of %szchanging mode of %s to %oN)	ru   r]   Ú_namer	  r$  r%  r  Úst_modeÚchmod)rì   ÚbitsÚmaskÚfilesr<  Úmodes   &&&&  r0   Úset_modeÚFileOperator.set_mode5  s‰   € Ü�7‰7�gÔ¤"§'¡'¨VÔ"3¼¿¹ÀGÔ8Kó �Ø—<—<�<Ü—K‘KÐ 5°qÖ9äŸGšG A›J×.Ñ.°Õ5¸Õ=�DÜ—K‘KÐ ;¸QÔEÜ—H’H˜QÖ%ó ñ 9LÑ"3r3   c                ó(   € V P                  R RV4      # )im  iÿ  )rM  )r/   r<  s   &&r0   Ú<lambda>ÚFileOperator.<lambda>A  s   €  q§z¡z°%¸ÀÔ'Cr3   c                ó6  € \         P                  P                  V4      pWP                  9  dê   \         P                  P	                  V4      '       gÃ   V P                  P                  V4       \         P                  P                  V4      w  r#V P                  V4       \        P                  R V,          4       V P                  '       g   \         P                  ! V4       V P                  '       d   V P                  P                  V4       R# R# R# R# )zCreating %sN)ru   rv   r  r
  r  r  r£   r"  r$  r%  r	  Úmkdirr  r  )rì   rv   r¤   r<  s   &&  r0   r"  ÚFileOperator.ensure_dirC  s²   € Ü�w‰w�‰˜tÓ$ˆØ—|‘|Ô#¬B¯G©G¯N©N¸4×,@Ò,@Ø�L‰L×Ñ˜TÔ"Ü—7‘7—=‘= Ó&‰DˆAØ�O‰O˜AÔÜ�K‰K˜¨Õ,Ô-Ø—<—<�<Ü—’˜”Ø�{�{ˆ{Ø×!Ñ!×%Ñ% dÖ+ñ ñ -AÑ#r3   c                ó(  € \        W'       * 4      p\        P                  R W4       V P                  '       gÉ   V'       g   V P	                  W4      '       d3   V'       g   RpM'VP                  V4      '       g   Q hV\        V4      R p/ pV'       dU   \        \        R4      '       d?   \        V\        P                  4      '       g   \        P                  P                  pWXR&   \        P                  ! WXR3/ VB  V P                  V4       V# )zByte-compiling %s to %sNÚPycInvalidationModeÚinvalidation_modeT)r   r$  r%  r	  r  rc   rx   r�   Ú
py_compiler—   rV  ÚCHECKED_HASHÚcompiler  )	rì   rv   ÚoptimizeÚforcer„   Úhashed_invalidationÚdpathÚdiagpathÚcompile_kwargss	   &&&&&&   r0   Úbyte_compileÚFileOperator.byte_compileO  sÒ   € Ü! $¬Ó5ˆÜ�‰Ð-¨tÔ;Ø�|�|ˆ|ß˜Ÿ
™
 4×/Ò/ßØ#‘HàŸ?™?¨6×2Ò2Ð2Ð2Ø#¤C¨£K LÐ1�HØˆNß"¤w¬zÐ;P×'QÒ'QÜ!Ð"5´z×7UÑ7U×VÒVÜ*4×*HÑ*H×*UÑ*UÐ'Ø6IÐ2Ñ3Ü×Ò˜t¨H°dÑM¸nÒMØ×Ñ˜uÔ%Øˆr3   c                ó>  € \         P                  P                  V4      '       Edw   \         P                  P                  V4      '       d§   \         P                  P	                  V4      '       g‚   \
        P                  R V4       V P                  '       g   \        P                  ! V4       V P                  '       d0   WP                  9   d   V P                  P                  V4       R# R# R# \         P                  P	                  V4      '       d   RpMRp\
        P                  RW!4       V P                  '       g   \         P                  ! V4       V P                  '       d0   WP                  9   d   V P                  P                  V4       R# R# R# R# )zRemoving directory tree at %sÚlinkÚfilezRemoving %s %sN)ru   rv   r  r4  r&  r$  Údebugr	  r   rØ   r  r  r  r  )rì   rv   r/   s   && r0   Úensure_removedÚFileOperator.ensure_removedb  s  € Ü�7‰7�>‰>˜$×ÓÜ�w‰w�}‰}˜T×"Ò"¬2¯7©7¯>©>¸$×+?Ò+?Ü—‘Ð<¸dÔCØ—|—|�|Ü—M’M $Ô'Ø—;—;�;Ø×0Ñ0Ô0Ø×)Ñ)×0Ñ0°Ö6ñ 1ñ ô —7‘7—>‘> $×'Ò'Ø‘Aà�AÜ—‘Ð-¨qÔ7Ø—|—|�|Ü—I’I˜d”OØ—;—;�;Ø×1Ñ1Ô1Ø×*Ñ*×1Ñ1°$Ö7ñ 2ñ ñ!  r3   c                ó  € R pV'       gz   \         P                  P                  V4      '       d)   \         P                  ! V\         P                  4      p V# \         P                  P                  V4      pW18X  d    V# TpK�  V# ©F)ru   rv   r  ÚaccessÚW_OKr#  )rì   rv   r+   Úparents   &&  r0   Úis_writableÚFileOperator.is_writablew  sh   € ØˆßÜ�w‰w�~‰~˜d×#Ò#ÜŸš 4¬¯©Ó1�Øð
 ˆô	 —W‘W—_‘_ TÓ*ˆFØŒ~Øàˆð ŠDØˆr3   c                ó~   € V P                   '       g   Q hV P                  V P                  3pV P                  4        V# )z>
Commit recorded changes, turn off recording, return
changes.
)r  r  r  r  )rì   r+   s   & r0   ÚcommitÚFileOperator.commitƒ  s9   € ð
 �{�{ˆ{Ðˆ{Ø×#Ñ# T×%6Ñ%6Ð6ˆØ×ÑÔØˆr3   c                ó0  € V P                   '       gô   \        V P                  4       F@  p\        P                  P                  V4      '       g   K*  \        P                  ! V4       KB  	  \        V P                  R R7      pV F}  p\        P                  ! V4      pV'       dG   VR.8X  g   Q h\        P                  P                  W4^ ,          4      p\        P                  ! V4       \        P                  ! V4       K  	  V P                  4        R# )T)ÚreverseÚ__pycache__N)r	  Úlistr  ru   rv   r  r  Úsortedr  Úlistdirr'   Úrmdirr  )rì   r<  Údirsr¤   ÚflistÚsds   &     r0   ÚrollbackÚFileOperator.rollback�  s¶   € Ø�|�|ˆ|Ü˜$×,Ñ,Ö-�Ü—7‘7—>‘> !×$Ô$Ü—I’I˜a–Lñ .ô ˜$×+Ñ+°TÔ:ˆDÛ�ÜŸ
š
 1›�ßØ  ] OÔ3Ð3Ð3ÜŸ™Ÿ™ a¨q­Ó2�BÜ—H’H˜R”LÜ—’˜–ñ ð 	×ÑÖr3   )r  r	  r
  r  r  rj  ©Tr•   )FFNF)rò   r÷   rø   rù   rí   r  r  r  r-  r9  r=  rA  rM  Úset_executable_moder"  ra  rg  rn  rq  r}  rú   rû   rü   s   @r0   r  r  æ  s_   ø‡ € ôò
"ò
)òCô&(ô"(ò%ò<ò
&ñ DÐò
,ôò&8ò*
ò÷ð r3   r  c                 ó  € V \         P                  9   d   \         P                  V ,          pM\        V 4      pVf   TpV# VP                  R4      p\	        W$P                  ^ 4      4      pV F  p\	        W54      pK  	  V# )NÚ.)r�   ÚmodulesÚ
__import__r£   r‘   r|   )Úmodule_nameÚdotted_pathÚmodr+   r.   rŸ   s   &&    r0   Úresolverˆ     su   € Ø”c—k‘kÔ!Ü�k‰k˜+Õ&‰ä˜Ó%ˆØÒØˆð €Mð	 ×!Ñ! #Ó&ˆÜ˜Ÿi™i¨›lÓ+ˆÛˆAÜ˜VÓ'ŠFñ à€Mr3   c                   óZ   a € ] tR tRt o R t]R 4       tR tR t]	P                  t
RtV tR# )ÚExportEntryi¯  c                ó6   € Wn         W n        W0n        W@n        R # r•   ©r]   r„   r‚   rÑ   )rì   r]   r„   r‚   rÑ   s   &&&&&r0   rí   ÚExportEntry.__init__±  s   € ØŒ	ØŒØŒØŽ
r3   c                óB   € \        V P                  V P                  4      # r•   )rˆ  r„   r‚   r  s   &r0   rÊ   ÚExportEntry.value·  s   € ä�t—{‘{ D§K¡KÓ0Ð0r3   c           	     óx   € R V P                   : RV P                  : RV P                  : RV P                  : R2	# )z<ExportEntry r¬   rÍ   r[   Ú>rŒ  r  s   &r0   Ú__repr__ÚExportEntry.__repr__»  s$   � Ø04·	´	¸4¿;¼;ÈÏÌÐUY×U_ÔU_Ð`Ð`r3   c                ó2  € \        V\        4      '       g   R pV# V P                  VP                  8H  ;'       d\    V P                  VP                  8H  ;'       d;    V P                  VP                  8H  ;'       d    V P
                  VP
                  8H  pV# rj  )r—   rŠ  r]   r„   r‚   rÑ   )rì   Úotherr+   s   && r0   Ú__eq__ÚExportEntry.__eq__¾  s‰   € Ü˜%¤×-Ò-ØˆFð ˆð —i‘i 5§:¡:Ñ-÷ 0ð 0°$·+±+ÀÇÁÑ2M÷ 0ð 0ÐRV×R]ÑR]Ðaf×amÑamÑRm÷ 0ð 0Ø—j‘j E§K¡KÑ/ð àˆr3   )rÑ   r]   r„   r‚   N)rò   r÷   rø   rù   rí   rè   rÊ   r’  r–  rð   Ú__hash__rú   rû   rü   s   @r0   rŠ  rŠ  ¯  s4   ø‡ € òð ñ1ó ð1òaòð �‰†Hr3   rŠ  z·(?P<name>([^\[]\S*))
                      \s*=\s*(?P<callable>(\w+)([:\.]\w+)*)
                      \s*(\[\s*(?P<flags>[\w-]+(=\w+)?(,\s*\w+(=\w+)?)*)\s*\])?
                      c                 ó:  € \         P                  V 4      pV'       g&   R pRV 9   g   RV 9   d   \        RV ,          4      h V# VP                  4       pVR,          pVR,          pVP	                  R4      pV^ 8X  d   TR r‡M,V^8w  d   \        RV ,          4      hVP                  R4      w  rxVR,          p	V	f$   RV 9   g   RV 9   d   \        RV ,          4      h. p	M-V	P                  R4       U
u. uF  qªP                  4       NK  	  p	p
\        WGW‰4      pV# u up
i )	NrM   rN   zInvalid specification '%s'r]   ÚcallablerÍ   rÑ   rO   )ÚENTRY_REÚsearchr   Ú	groupdictÚcountr£   rb   rŠ  )Úspecificationr*   r+   r¤   r]   rv   Úcolonsr„   r‚   rÑ   r<  s   &          r0   r»   r»   Ð  s,  € Ü�‰˜Ó&€AßØˆØ�-Ô 3¨-Ô#7Ü"ð $*Ø,9õ$:ó ;ð ;ð $8ð0 €Mð) �K‰K‹MˆØ��yˆØ��}ˆØ—‘˜C“ˆØ�QŒ;Ø! 4‘Fà˜Œ{Ü&ð (.Ø0=õ(>ó ?ð ?à!ŸZ™Z¨›_‰NˆFØ�'•
ˆØŠ=Ø�mÔ# s¨mÔ';Ü&ð (.Ø0=õ(>ó ?ð ?à‰Eà(-¯©°CÔ(8Ó9Ñ(8 1—W‘W–YÑ(8ˆEÐ9Ü˜T¨6Ó9ˆØ€Mùò :s   Ã0Dc                óÞ  € V f   Rp \         P                  R8X  d6   R\         P                  9   d!   \         P                  P	                  R4      pM\         P                  P                  R4      p\         P                  P                  V4      '       dE   \         P                  ! V\         P                  4      pV'       g   \        P                  RV4       M \         P                  ! V4       RpV'       g,   \        P                  ! 4       p\        P                  RV4       \         P                  P                  W4      #   \         d    \        P                  RTRR	7       R
p Lyi ; i)az  
Return the default base location for distlib caches. If the directory does
not exist, it is created. Use the suffix provided for the base directory,
and default to '.distlib' if it isn't provided.

On Windows, if LOCALAPPDATA is defined in the environment, then it is
assumed to be a directory, and will be the parent directory of the result.
On POSIX, and on Windows if LOCALAPPDATA is not defined, the user's home
directory - using os.expanduser('~') - will be the parent directory of
the result.

The result is just the directory '.distlib' in the parent directory as
determined above, or with the name specified with ``suffix``.
z.distlibÚntÚLOCALAPPDATAz$localappdataÚ~z(Directory exists but is not writable: %sTzUnable to create %s)Úexc_infoFz#Default location unusable, using %s)ru   r]   Úenvironrv   Ú
expandvarsÚ
expanduserr4  rk  rl  r$  ÚwarningÚmakedirsÚOSErrorrÖ   r×   r'   )r‚   r+   Úusables   &  r0   Úget_cache_baser­  ï  sþ   € ð ‚~ØˆÜ	‡w�w�$„˜>¬R¯Z©ZÔ7Ü—‘×#Ñ# OÓ4‰ô —‘×#Ñ# CÓ(ˆô 
‡w�w‡}�}�V×ÒÜ—’˜6¤2§7¡7Ó+ˆßÜ�N‰NÐEÀvÔNøð	Ü�KŠK˜ÔØˆF÷ Ü×!Ò!Ó#ˆÜ�‰Ð<¸fÔEÜ�7‰7�<‰<˜Ó'Ð'øô ô 	Ü�N‰NÐ0°&À4ˆNÔHØŠFð	ús   ÃE Å%E,Å+E,c                ó$  € \         P                  P                  V'       d    \         P                  P                  V 4      MT 4      w  r#V'       d   VP	                  RR4      pVP	                  \         P
                  R4      pW#,           R,           # )z÷
Convert an absolute path to a directory name for use in a cache.

The algorithm used is:

#. On Windows, any ``':'`` in the drive is replaced with ``'---'``.
#. Any occurrence of ``os.sep`` is replaced with ``'--'``.
#. ``'.cache'`` is appended.
rÍ   z---z--z.cache)ru   rv   Ú
splitdriver  r$   rw   )rv   Úuse_abspathr¤   rŸ   s   &&  r0   Úpath_to_cache_dirr±    s_   € ô �7‰7×Ñ·{œbŸg™gŸo™o¨dÔ3ÈÓM�D€AßØ�I‰I�c˜5Ó!ˆØ	�	‰	”"—&‘&˜$Ó€AØ�5�8ÕÐr3   c                 óF   € V P                  R 4      '       g
   V R ,           # V # )rt   )Úendswith)r/   s   &r0   Úensure_slashr´  )  s   € Ø�:‰:�c�?Š?Ø�3�wˆØ€Hr3   c                 óÎ   € R ;rRV 9   d3   V P                  R^4      w  r0RV9  d   TpMVP                  R^4      w  rV'       d   \        V4      pV'       d   \        V4      pWV 3# )NrP   rÍ   )Úrsplitr£   r   )rg   ÚusernameÚpasswordr„   s   &   r0   Úparse_credentialsr¹  /  sh   € ØÐ€HØ
ˆf„}ØŸ™ s¨AÓ.‰ˆØ�fÔØ‰Hà!'§¡¨c°1Ó!5ÑˆHßÜ˜8Ó$ˆßÜ˜8Ó$ˆØ˜vÐ%Ð%r3   c                  ó^   € \         P                  ! ^4      p \         P                  ! V 4       V # )é   )ru   Úumaskr’   s    r0   Úget_process_umaskr½  >  s    € Ü�XŠX�d‹^€FÜ‡H‚HˆVÔØ€Mr3   c                 óv   € R pRp\        V 4       F  w  r#\        V\        4      '       d   K  Rp M	  Vf   Q hV# )TNF)Ú	enumerater—   r   )Úseqr+   rl   r/   s   &   r0   Úis_string_sequencerÁ  D  sB   € Ø€FØ€AÜ˜#–‰ˆÜ˜!œ\×*Ô*ØˆFÙñ ð Š=Ðˆ=Ø€Mr3   z3([a-z0-9_]+([.-][a-z_][a-z0-9_]*)*)-([a-z0-9_.+-]+)z-py(\d\.?\d?)c                óT  € RpRp\        V 4      P                  RR4      p \        P                  V 4      pV'       d%   VP	                  ^4      pV RVP                  4        p V'       d|   \        V 4      \        V4      ^,           8”  d\   \        P                  ! \        P                  ! V4      R,           V 4      pV'       d"   VP                  4       pV RV W^,           R V3pVfA   \        P                  V 4      pV'       d$   VP	                  ^4      VP	                  ^4      V3pV# )zk
Extract name, version, python version from a filename (no extension)

Return name, version, pyver or None
Nr[   Ú-z\b)r   r$   ÚPYTHON_VERSIONrœ  rÆ   Ústartrx   Úrer    Úescaper"   ÚPROJECT_NAME_AND_VERSION)ÚfilenameÚproject_namer+   Úpyverr*   Úns   &&    r0   Úsplit_filenamerÍ  T  sï   € ð €FØ€EÜ�xÓ ×(Ñ(¨¨cÓ2€HÜ×Ñ˜hÓ'€AßØ—‘˜“
ˆØ˜J˜QŸW™W›YÐ'ˆßœ˜H›¬¨LÓ(9¸AÕ(=Ô=Ü�HŠH”R—Y’Y˜|Ó,¨uÕ4°hÓ?ˆßØ—‘“ˆAØ˜b˜q�\ 8°­E¨FÐ#3°UÐ:ˆFØ‚~Ü$×*Ñ*¨8Ó4ˆßØ—W‘W˜Q“Z §¡¨£¨UÐ2ˆFØ€Mr3   z-(?P<name>[\w .-]+)\s*\(\s*(?P<ver>[^\s)]+)\)$c                óÜ   € \         P                  V 4      pV'       g   \        RV ,          4      hVP                  4       pVR,          P	                  4       P                  4       VR,          3# )z³
A utility method used to get name and version from a string.

From e.g. a Provides-Dist value.

:param p: A value in a form 'foo (1.0)'
:return: The name and version as a tuple.
z$Ill-formed name/version string: '%s'r]   Úver)ÚNAME_VERSION_REr    r   r�  rb   rš   )rŸ   r*   r¤   s   &  r0   Úparse_name_and_versionrÑ  r  sV   € ô 	×Ñ˜aÓ €AßÜÐGÈ!ÕKÓLÐLØ	�‰‹€AØˆV�9�?‰?Ó×"Ñ"Ó$ a¨¥hÐ.Ð.r3   c                 ó  € \        4       p\        T ;'       g    . 4      p \        T;'       g    . 4      pR V 9   d   V P                  R 4       W!,          pV  F­  pVR8X  d   VP                  V4       K  VP                  R4      '       dG   VR,          pWA9  d   \        P                  RV,          4       WB9   d   VP                  V4       Kx  Kz  W19  d   \        P                  RV,          4       VP                  V4       K¯  	  V# )Ú*rÃ  r   zundeclared extra: %s)rÒ   r  r  rc   r$  r©  )Ú	requestedÚ	availabler+   ÚrÚunwanteds   &&   r0   Ú
get_extrasrØ  ‚  sÖ   € Ü‹U€FÜ�I—O�O Ó$€IÜ�I—O�O Ó$€IØ
ˆiÔØ×Ñ˜ÔØÕˆÛˆØ�Œ8Ø�J‰J�qŽMØ�\‰\˜#×ÒØ˜•uˆHØÔ(Ü—‘Ð5¸Õ@ÔAØÔ!Ø—‘˜hÖ'ñ "ð Ô!Ü—‘Ð5¸Õ9Ô:Ø�J‰J�qŽMñ ð €Mr3   c                 ó†  € / p \        V 4      pVP                  4       pVP                  R 4      pVP                  R4      '       g   \        P                  RV4       V# \        P                  ! R4      ! V4      p\        P                  ! V4      p V#   \         d"   p\        P                  RY4        Rp?T# Rp?ii ; i)zContent-Typezapplication/jsonz(Unexpected response for JSON request: %sr©   z&Failed to get external data for %s: %sN)r   r%  Úgetrc   r$  rf  rµ   r¶   r¸   r¹   r¼   Ú	exception)r`   r+   ÚrespÚheadersÚctÚreaderÚes   &      r0   Ú_get_external_datará  ž  s²   € Ø€FðKô �s‹|ˆØ—)‘)“+ˆØ�[‰[˜Ó(ˆØ�}‰}Ð/×0Ò0Ü�L‰LÐCÀRÔHð €Mô ×%Ò% gÔ.¨tÓ4ˆFô —Y’Y˜vÓ&‰Fð €Møô ô KÜ×ÑÐAÀ3×JÐJØ€MûðKús   „AB Á2B ÂC ÂB;Â;C z'https://www.red-dove.com/pypi/projects/c                 óz   € V ^ ,          P                  4       : RV : R2p\        \        V4      p\        V4      pV# )r   rt   z/project.json©Úupperr   Ú_external_data_base_urlrá  )r]   r`   r+   s   &  r0   Úget_project_dataræ  ¶  s2   € Ø"& q¥'§-¡-¦/³4Ð
8€CÜ
Ô)¨3Ó
/€CÜ Ó$€FØ€Mr3   c                 ó~   € V ^ ,          P                  4       : RV : RV: R2p\        \        V4      p\        V4      # )r   rt   z	/package-z.jsonrã  )r]   Úversionr`   s   && r0   Úget_package_dataré  ½  s0   € Ø%)¨!¥W§]¡]¦_³d»GÐ
D€CÜ
Ô)¨3Ó
/€CÜ˜cÓ"Ð"r3   c                   ó:   a € ] tR tRt o RtR tRR ltR tRtV t	R# )	ÚCacheiÃ  zÖ
A class implementing a cache for resources that need to live in the file system
e.g. shared libraries. This class was moved from resources to here because it
could be used by other modules, e.g. the wheel module.
c                ó‚  € \         P                  P                  V4      '       g   \         P                  ! V4       \         P                  ! V4      P
                  ^?,          ^ 8w  d   \        P                  RV4       \         P                  P                  \         P                  P                  V4      4      V n
        R# )z]
Initialise an instance.

:param base: The base directory where the cache should be located.
zDirectory '%s' is not privateN)ru   rv   r4  rª  r  rG  r$  r©  r  Únormpathr�   )rì   r�   s   &&r0   rí   ÚCache.__init__Ê  sp   € ô �w‰w�}‰}˜T×"Ò"Ü�KŠK˜ÔÜ�GŠG�D‹M×!Ñ! DÕ(¨QÔ.Ü�N‰NÐ<¸dÔCÜ—G‘G—O‘O¤B§G¡G×$4Ñ$4°TÓ$:Ó;ˆŽ	r3   c                ó   € \        WR7      # )z>
Converts a resource prefix to a directory name in the cache.
)r°  )r±  )rì   r„   r°  s   &&&r0   Úprefix_to_dirÚCache.prefix_to_dirØ  s   € ô ! ÔAÐAr3   c                ó2  € . p\         P                  ! V P                  4       FÍ  p\         P                  P	                  V P                  V4      p \         P                  P                  V4      '       g&   \         P                  P                  V4      '       d   \         P                  ! V4       K�  \         P                  P                  V4      '       d   \        P                  ! V4       KÍ  KÏ  	  V#   \         d    TP                  T4        Kò  i ; i)z
Clear the cache.
)ru   rx  r�   rv   r'   r&  r'  r  r4  r   rØ   r¼   r%   )rì   Únot_removedÚfns   &  r0   ÚclearÚCache.clearÞ  s¸   € ð ˆÜ—*’*˜TŸY™YÖ'ˆBÜ—‘—‘˜dŸi™i¨Ó,ˆBð'Ü—7‘7—>‘> "×%Ò%¬¯©¯©¸×);Ò);Ü—I’I˜b–MÜ—W‘W—]‘] 2×&Ò&Ü—M’M "Ö%ñ 'ñ (ð Ðøô ô 'Ø×"Ñ" 2×&ð'ús%   ÁA	C6ÂC6Â3$C6ÃC6Ã6DÄD©r�   Nr  )
rò   r÷   rø   rù   Ú__doc__rí   rð  rõ  rú   rû   rü   s   @r0   rë  rë  Ã  s   ø‡ € ñò<ôB÷ð r3   rë  c                   óF   a € ] tR tRt o RtR tR
R ltR tR tR t	Rt
V tR	# )Ú
EventMixiniï  z)
A very simple publish/subscribe system.
c                ó   € / V n         R # r•   ©Ú_subscribersr  s   &r0   rí   ÚEventMixin.__init__ô  s
   € ØˆÖr3   c                ó²   € V P                   pW9  d   \        V.4      WA&   R# WA,          pV'       d   VP                  V4       R# VP                  V4       R# )a(  
Add a subscriber for an event.

:param event: The name of an event.
:param subscriber: The subscriber to be added (and called when the
                   event is published).
:param append: Whether to append or prepend the subscriber to an
               existing subscriber list for the event.
N)rý  r   r%   Ú
appendleft)rì   ÚeventÚ
subscriberr%   ÚsubsÚsqs   &&&&  r0   r  ÚEventMixin.add÷  sE   € ð × Ñ ˆØÔÜ  Ó-ˆD‹Kà•ˆBßØ—	‘	˜*Ö%à—‘˜jÖ)r3   c                ó|   € V P                   pW9  d   \        RV,          4      hW1,          P                  V4       R# )zy
Remove a subscriber for an event.

:param event: The name of an event.
:param subscriber: The subscriber to be removed.
zNo subscribers: %rN)rý  r   r  )rì   r  r  r  s   &&& r0   r  ÚEventMixin.remove  s6   € ð × Ñ ˆØÔÜÐ1°EÕ9Ó:Ð:Ø�×Ñ˜:Ö&r3   c                óL   € \        V P                  P                  VR4      4      # )zi
Return an iterator for the subscribers for an event.
:param event: The event to return subscribers for.
rH   )Úiterrý  rÚ  )rì   r  s   &&r0   Úget_subscribersÚEventMixin.get_subscribers  s"   € ô
 �D×%Ñ%×)Ñ)¨%°Ó4Ó5Ð5r3   c                óô   € . pV P                  V4       F!  p V! V.VO5/ VB pVP	                  V4       K#  	  \        P                  RWW44       V#   \         d    \        P                  R4       Rp LRi ; i)a  
Publish a event and return a list of values returned by its
subscribers.

:param event: The event to publish.
:param args: The positional arguments to pass to the event's
             subscribers.
:param kwargs: The keyword arguments to pass to the event's
               subscribers.
z"Exception during event publicationNz/publish %s: args = %s, kwargs = %s, result = %s)r
  r¼   r$  rÛ  r%   rf  )rì   r  ÚargsÚkwargsr+   r  rÊ   s   &&*,   r0   ÚpublishÚEventMixin.publish  sƒ   € ð ˆØ×.Ñ.¨uÖ5ˆJðÙ" 5Ð:¨4Ò:°6Ñ:�ð �M‰M˜%Ö ñ 6ô 	�‰ÐFÈÐU[ÔdØˆøô ô Ü× Ñ Ð!EÔFØ’ðús   ˜AÁ"A7Á6A7rü  Nr  )rò   r÷   rø   rù   rø  rí   r  r  r
  r  rú   rû   rü   s   @r0   rú  rú  ï  s(   ø‡ € ñòô*ò(
'ò6÷ð r3   rú  c                   ón   a € ] tR tRt o R tR tRR ltR tR tR t	R t
]R	 4       t]R
 4       tRtV tR# )Ú	Sequenceri8  c                ó@   € / V n         / V n        \        4       V n        R # r•   )Ú_predsÚ_succsrÒ   Ú_nodesr  s   &r0   rí   ÚSequencer.__init__:  s   € ØˆŒØˆŒÜ“eˆŽr3   c                ó<   € V P                   P                  V4       R # r•   )r  r  )rì   Únodes   &&r0   Úadd_nodeÚSequencer.add_node?  s   € Ø�‰�‰˜Ör3   c                ór  € WP                   9   d   V P                   P                  V4       V'       Ed   \        V P                  P	                  VR4      4       F  pV P                  W14       K  	  \        V P
                  P	                  VR4      4       F  pV P                  W4       K  	  \        V P                  P                  4       4       F  w  rVV'       d   K  V P                  V K  	  \        V P
                  P                  4       4       F  w  rVV'       d   K  V P
                  V K  	  R # R # )NrH   )r  r  rÒ   r  rÚ  r  rv  rº   )rì   r  ÚedgesrŸ   r/   rÈ   rW   s   &&&    r0   Úremove_nodeÚSequencer.remove_nodeB  sÜ   € Ø—;‘;ÔØ�K‰K×Ñ˜tÔ$ßˆ5Ü˜Ÿ™Ÿ™¨¨rÓ2Ö3�Ø—‘˜AÖ$ñ 4ä˜Ÿ™Ÿ™¨¨rÓ2Ö3�Ø—‘˜DÖ$ñ 4ô ˜TŸ[™[×.Ñ.Ó0Ö1‘�ß‘qØŸ™ Ašñ 2ô ˜TŸ[™[×.Ñ.Ó0Ö1‘�ß‘qØŸ™ Ašó 2ñ r3   c                óâ   € W8w  g   Q hV P                   P                  V\        4       4      P                  V4       V P                  P                  V\        4       4      P                  V4       R # r•   )r  Ú
setdefaultrÒ   r  r  )rì   ÚpredÚsuccs   &&&r0   r  ÚSequencer.addR  sN   € ØŒ|Ðˆ|Ø�‰×Ñ˜t¤S£UÓ+×/Ñ/°Ô5Ø�‰×Ñ˜t¤S£UÓ+×/Ñ/°Ö5r3   c                ó.  € W8w  g   Q h V P                   V,          pV P                  V,          p TP	                  T4       TP	                  T4       R#   \         d    \        R T,          4      hi ; i  \         d    \        T: RT: 24      hi ; i)z%r not a successor of anythingz not a successor of N)r  r  ÚKeyErrorr   r  )rì   r"  r#  ÚpredsÚsuccss   &&&  r0   r  ÚSequencer.removeW  s’   € ØŒ|Ðˆ|ð	FØ—K‘K Õ%ˆEØ—K‘K Õ%ˆEð	HØ�L‰L˜ÔØ�L‰L˜Öøô	 ô 	FÜÐ=ÀÕDÓEÐEð	Fûô
 ô 	HÜ»4ÂÐFÓGÐGð	Hús   Š&A ±"A6 ÁA3Á6Bc                óv   € WP                   9   ;'       g%    WP                  9   ;'       g    WP                  9   # r•   )r  r  r  )rì   Ústeps   &&r0   Úis_stepÚSequencer.is_stepd  s-   € ØŸ™Ñ#×QÐQ t¯{©{Ñ':×QÐQ¸dÇkÁkÑ>QÐRr3   c                óà  € V P                  V4      '       g   \        R V,          4      h. p. p\        4       pVP                  V4       V'       d•   VP	                  ^ 4      pWT9   d-   WQ8w  d%   VP                  V4       VP                  V4       KI  KK  VP                  V4       VP                  V4       V P                  P                  VR4      pVP                  V4       Kœ  \        V4      # )zUnknown: %rrH   )r,  r   rÒ   r%   r|   r  r  r  rÚ  ÚextendÚreversed)rì   Úfinalr+   ÚtodoÚseenr+  r'  s   &&     r0   Ú	get_stepsÚSequencer.get_stepsg  s»   € Ø�|‰|˜E×"Ò"Ü˜]¨UÕ2Ó3Ð3ØˆØˆÜ‹uˆØ�‰�EÔßØ—8‘8˜A“;ˆDØŒ|ð ”=Ø—M‘M $Ô'Ø—M‘M $Ö'ñ !ð —‘˜”Ø—‘˜dÔ#ØŸ™Ÿ™¨¨bÓ1�Ø—‘˜EÖ"Ü˜ÓÐr3   c                óŽ   aaaaaaa€ ^ .o. o/ o/ o. oV P                   oVVVVVVV3R loS F  pVS9  g   K  S! V4       K  	  S# )r   c                 ó8  <€ S^ ,          SV &   S^ ,          SV &   S^ ;;,          ^,          uu&   S
P                  V 4        SV ,          pV FW  pVS9  d(   S! V4       \        SV ,          SV,          4      SV &   K1  VS
9   g   K:  \        SV ,          SV,          4      SV &   KY  	  SV ,          SV ,          8X  dL   . p S
P                  4       pVP                  V4       W 8X  g   K*   \	        T4      pS	P                  T4       R# R#   \         d    . p LÎi ; i©r   N)r%   r¼   Úminr|   Útuple)r  Ú
successorsÚ	successorÚconnected_componentÚ	componentÚgraphÚindexÚindex_counterÚlowlinksr+   ÚstackÚstrongconnects   &    €€€€€€€r0   rD  Ú3Sequencer.strong_connections.<locals>.strongconnect‹  s  ø€ à'¨Õ*ˆE�$‰KØ*¨1Õ-ˆH�T‰NØ˜!× Õ!ÓØ�L‰L˜Ôð Ø" 4�[�
ó (�	Ø HÔ,á! )Ô,Ü%(¨°$­¸À)Õ9LÓ%M�H˜T“NØ %Ö'ô &)¨°$­¸¸yÕ9IÓ%J�H˜T“Nñ (ð ˜�~  t¥Ô,Ø&(Ð#àØ %§	¡	£�IØ'×.Ñ.¨yÔ9Ø Ö(ØÜ!Ð"5Ó6�	à—‘˜iÖ(ñ -øô ô  Ø’
ð ús   Á	D	 Ä	DÄD)r  )	rì   r  r?  r@  rA  rB  r+   rC  rD  s	   & @@@@@@@r0   Ústrong_connectionsÚSequencer.strong_connections€  sW   þ€ ð ˜ˆØˆØˆØˆØˆà—‘ˆ÷!	)ó !	)óF ˆDØ˜8Ö#Ù˜dÖ#ñ ð ˆr3   c           	     ó4  € R .pV P                    F9  pV P                   V,          pV F  pVP                  RV: RV: R24       K  	  K;  	  V P                   F  pVP                  RV,          4       K  	  VP                  R4       RP                  V4      # )zdigraph G {z  z -> rZ   z  %s;Ú}Ú
)r  r%   r  r'   )rì   r+   r#  r'  r"  r  s   &     r0   ÚdotÚSequencer.dot´  s{   € à�ˆØ—K”KˆDØ—K‘K Õ%ˆEÛ�Ø—’«t³TÐ:Ö;ó ñ  ð —K”KˆDØ�M‰M˜' D�.Ö)ñ  à�‰�cÔØ�y‰y˜Ó Ð r3   )r  r  r  Nrj  )rò   r÷   rø   rù   rí   r  r  r  r  r,  r4  ÚpropertyrF  rK  rú   rû   rü   s   @r0   r  r  8  sS   ø‡ € òò
ô'ò 6ò
HòSò ð2 ñ1ó ð1ðf ñ	!ó ö	!r3   r  c                 ó  aa€ VV3R  lp\         P                  P                  S4      o\        S4      oRpVf�   V P	                  R4      '       d   RpMfV P	                  R4      '       d   RpRpMJV P	                  R4      '       d   RpRpM.V P	                  R4      '       d   RpR	pM\        R
V ,          4      h VR8X  d7   \        V R	4      pV'       d"   VP                  4       pV F  pV! V4       K  	  M@\        P                  ! V X4      pV'       d"   VP                  4       pV F  pV! V4       K  	  VR8w  dv   \        P                  ^ ,          ^8  dZ   VP                  4        FE  p	\        V	P                  \         4      '       d   K%  V	P                  P#                  R4      V	n        KG  	  R p
W¥n        VP'                  S4       V'       d   VP)                  4        R# R#   T'       d   TP)                  4        i i ; i)c                 óZ  <€ \        V \        4      '       g   V P                  R 4      p \        P                  P                  \        P                  P                  SV 4      4      pVP                  S4      '       d   VS,          \        P                  8w  d   \        RV,          4      hR# )r©   zpath outside destination: %rN)
r—   r   Údecoderu   rv   r  r'   rc   rw   r   )rv   rŸ   Údest_dirÚplens   & €€r0   Ú
check_pathÚunarchive.<locals>.check_pathÊ  ss   ø€ Ü˜$¤	×*Ò*Ø—;‘;˜wÓ'ˆDÜ�G‰G�O‰OœBŸG™GŸL™L¨°4Ó8Ó9ˆØ�|‰|˜H×%Ò%¨¨4­´B·F±FÔ):ÜÐ;¸aÕ?Ó@Ð@ñ *;r3   NÚzipÚtgzzr:gzÚtbzzr:bz2ú.tarÚtarrÖ  zUnknown format for %rr©   c                ó’   €  \         P                  ! W4      #   \         P                   d   p\        \	        T4      4      hRp?ii ; i)z9Run tarfile.tar_filter, but raise the expected ValueErrorN)ÚtarfileÚ
tar_filterÚFilterErrorr   Ústr)Úmemberrv   Úexcs   && r0   Úextraction_filterÚ$unarchive.<locals>.extraction_filterû  s=   € ð+Ü×)Ò)¨&Ó7Ð7øÜ×&Ñ&ô +Ü ¤ S£Ó*Ð*ûð+ús   ‚ ˜A­AÁA)ú.zipú.whl)ú.tar.gzú.tgz)ú.tar.bz2ú.tbz)ru   rv   r  rx   r³  r   r   Únamelistr[  r5  Úgetnamesr�   r´   Ú
getmembersr—   r]   r   rP  ra  Ú
extractallrÀ   )Úarchive_filenamerQ  Úformatr+  rS  ÚarchiverL  Únamesr]   Útarinfora  rR  s   &f&&       @r0   Ú	unarchiverr  È  s´  ù€ öAô �w‰w�‰˜xÓ(€HÜˆx‹=€DØ€GØ‚~Ø×$Ñ$Ð%5×6Ò6Ø‰FØ×&Ñ&Ð':×;Ò;ØˆFØ‰DØ×&Ñ&Ð';×<Ò<ØˆFØ‰DØ×&Ñ& v×.Ò.ØˆFØ‰DäÐ4Ð7GÕGÓHÐHð'Ø�UŒ?ÜÐ.°Ó4ˆGßØ×(Ñ(Ó*�Û!�DÙ˜tÖ$ñ "øô —l’lÐ#3°TÓ:ˆGßØ×(Ñ(Ó*�Û!�DÙ˜tÖ$ñ "à�UŒ?œs×/Ñ/°Õ2°QÔ6ð
 #×-Ñ-Ö/�Ü! '§,¡,´	×:Ô:Ø#*§<¡<×#6Ñ#6°wÓ#?�G–Lñ 0ò	+ð %6Ô!à×Ñ˜8Ô$÷ Ø�M‰MŽOñ ø�7Ø�M‰M�Oð ús   Â;AG* ÄA4G* Æ>G* Ç*Hc                ó   € \         P                  ! 4       p\        V 4      p\        VR4      ;_uu_ 4       p\        P
                  ! V 4       Fb  w  rEpV FV  p\        P                  P                  WG4      pWBR p	\        P                  P                  W—4      p
VP                  WŠ4       KX  	  Kd  	  RRR4       V#   + '       g   i     T# ; i)z*zip a directory tree into a BytesIO objectr1  N)	ÚioÚBytesIOrx   r   ru   Úwalkrv   r'   rÓ   )Ú	directoryr+   ÚdlenÚzfry   rz  rK  r]   ÚfullÚrelrƒ   s   &          r0   Úzip_dirr|    sœ   € ä�ZŠZ‹\€FÜˆy‹>€DÜ	�˜×	Ô	 Ü!#§¢¨Ö!3ÑˆD˜Û�Ü—w‘w—|‘| DÓ/�Ø˜5�k�Ü—w‘w—|‘| CÓ.�Ø—‘˜Ö$ó	 ñ "4÷ 
ð €M÷ 
Ö	ð €Mús   µA=B<Â<C	c                   óŒ   a € ] tR tRt o RtRR ltR tR tR tR t	]
R 4       t]
R	 4       tR
 t]
R 4       t]
R 4       tRtV tR# )ÚProgressi!  ÚUNKNOWNc                óp   € Ve	   W!8¼  g   Q hV;V n         V n        W n        R V n        ^ V n        RV n        R # )NF)r9  ÚcurÚmaxÚstartedÚelapsedÚdone)rì   ÚminvalÚmaxvals   &&&r0   rí   ÚProgress.__init__$  s:   € ØŠ~ Ô!1Ð1Ð1Ø$Ð$ˆŒ�4”8ØŒØˆŒØˆŒØˆŽ	r3   c                óü   € V P                   V8:  g   Q hV P                  e   WP                  8:  g   Q hWn        \        P                  ! 4       pV P                  f	   W n        R # W P                  ,
          V n        R # r•   )r9  r‚  r�  Útimerƒ  r„  )rì   ÚcurvalÚnows   && r0   ÚupdateÚProgress.update,  sZ   € Ø�x‰x˜6Ô!Ð!Ð!Ø�x‰xÒ 6¯X©XÔ#5Ð5Ð5ØŒÜ�iŠi‹kˆØ�<‰<ÒØŽLà§¡Õ-ˆDŽLr3   c                ó\   € V^ 8¼  g   Q hV P                  V P                  V,           4       R# r8  )r�  r�  )rì   Úincrs   &&r0   Ú	incrementÚProgress.increment6  s"   € Ø�qŒyÐˆyØ�‰�D—H‘H˜t•OÖ$r3   c                ó<   € V P                  V P                  4       V # r•   )r�  r9  r  s   &r0   rÅ  ÚProgress.start:  s   € Ø�‰�D—H‘HÔØˆr3   c                óf   € V P                   e   V P                  V P                   4       RV n        R # ©NT)r‚  r�  r…  r  s   &r0   ÚstopÚProgress.stop>  s#   € Ø�8‰8ÒØ�K‰K˜Ÿ™Ô!ØˆŽ	r3   c                óN   € V P                   f   V P                  # V P                   # r•   )r‚  Úunknownr  s   &r0   ÚmaximumÚProgress.maximumC  s   € à#Ÿx™xÒ/ˆt�|‰|Ð=°T·X±XÐ=r3   c                óô   € V P                   '       d   R pV# V P                  f   RpV# RV P                  V P                  ,
          ,          V P                  V P                  ,
          ,          pRV,          pV# )z100 %z ?? %g      Y@z%3d %%)r…  r‚  r�  r9  )rì   r+   rW   s   &  r0   Ú
percentageÚProgress.percentageG  sh   € à�9�9ˆ9ØˆFð ˆð �X‰XÒØˆFð ˆð ˜Ÿ™ D§H¡HÕ,Õ-°·±¸D¿H¹HÕ1DÕEˆAØ •\ˆFØˆr3   c                óÄ   € V^ 8:  d   V P                   e   V P                  V P                  8X  d   RpV# \        P                  ! R\        P
                  ! V4      4      pV# )r   z??:??:??z%H:%M:%S)r‚  r�  r9  rŠ  ÚstrftimeÚgmtime)rì   Údurationr+   s   && r0   Úformat_durationÚProgress.format_durationR  sM   € Ø˜ŒM˜tŸx™xÒ/°4·8±8¸t¿x¹xÔ3GØˆFð
 ˆô —]’] :¬t¯{ª{¸8Ó/DÓEˆFØˆr3   c                ó¾  € V P                   '       d   R pV P                  pM¥RpV P                  f   RpM’V P                  ^ 8X  g   V P                  V P                  8X  d   ^ pMc\        V P                  V P                  ,
          4      pW P                  V P                  ,
          ,          pV^,
          V P                  ,          pV: RV P                  V4      : 2# )ÚDonezETA z: rÿ   )r…  r„  r‚  r�  r9  Úfloatr¤  )rì   r„   rm   s   &  r0   ÚETAÚProgress.ETA[  s¥   € à�9�9ˆ9ØˆFØ—‘‰Að ˆFØ�x‰xÒØ‘Ø—‘ Ô" t§x¡x°4·8±8Ô';Ø‘ô ˜$Ÿ(™( T§X¡XÕ-Ó.�Ø—X‘X §¡Õ(Õ(�Ø˜•U˜dŸl™lÕ*�Û! 4×#7Ñ#7¸Õ#:Ð;Ð;r3   c                óÚ   € V P                   ^ 8X  d   RpM.V P                  V P                  ,
          V P                   ,          p\         F  pVR8  d    MVR,          pK  	  RVX3,          # )r   g        iè  g     @�@z%d %sB/s)r„  r�  r9  ÚUNITS)rì   r+   Úunits   &  r0   ÚspeedÚProgress.speedn  s]   € à�<‰<˜1ÔØ‰Fà—h‘h §¡Õ)¨T¯\©\Õ9ˆFßˆDØ˜Œ}ÙØ�fÕŠFñ ð ˜V T˜NÕ*Ð*r3   )r�  r…  r„  r‚  r9  rƒ  N)r   éd   )rò   r÷   rø   rù   rš  rí   r�  r‘  rÅ  r—  rM  r›  rž  r¤  r©  r®  rú   rû   rü   s   @r0   r~  r~  !  sx   ø‡ € Ø€Gôò.ò%òòð
 ñ>ó ð>ð ñó ðòð ñ<ó ð<ð$ ñ	+ó ö	+r3   r~  z\{([^}]*)\}z[^/\\,{]\*\*|\*\*[^/\\,}]z^[^{]*\}|\{[^}]*$c                óÐ   € \         P                  V 4      '       d   Rp\        W,          4      h\        P                  V 4      '       d   Rp\        W,          4      h\	        V 4      # )zAExtended globbing function that supports ** and {opt1,opt2,opt3}.z7invalid glob %r: recursive glob "**" must be used alonez2invalid glob %r: mismatching set marker '{' or '}')Ú_CHECK_RECURSIVE_GLOBrœ  r   Ú_CHECK_MISMATCH_SETÚ_iglob)Ú	path_globr,  s   & r0   r   r   „  sS   € ä×#Ñ# I×.Ò.ØKˆÜ˜�Ó)Ð)Ü×!Ñ! )×,Ò,ØFˆÜ˜�Ó)Ð)Ü�)ÓÐr3   c              #   óÈ  "  € \         P                  V ^4      p\        V4      ^8”  d^   \        V4      ^8X  g   Q V4       hVw  r#pVP                  R4       F*  p\        RP	                  W%V34      4       F  pVx € K	  	  K,  	  R# RV 9  d   \        V 4       F  pVx € K	  	  R# V P                  R^4      w  r'VR8X  d   RpVR8X  d   RpM"VP                  R4      pVP                  R4      p\        P                  ! V4       FX  w  rhp	\        P                  P                  V4      p\        \        P                  P	                  Wg4      4       F  p
V
x € K	  	  KZ  	  R# 5i)	r   rO   r   z**r‚  rÓ  rt   Ú\N)Ú	RICH_GLOBr£   rx   r´  r'   Ú	std_iglobr(   ru   rv  rv   rí  )rµ  Úrich_path_globr„   rÒ   r‚   Úitemrv   ÚradicalÚdirrK  rô  s   &          r0   r´  r´  �  s-  é € Ü—_‘_ Y°Ó2€NÜ
ˆ>Ó˜QÔÜ�>Ó" aÔ'Ð7¨Ó7Ð'Ø,Ñˆ�VØ—I‘I˜c–NˆDÜ˜rŸw™w¨°fÐ'=Ó>Ö?�Ø”
ó @ó #ð �yÔ Ü! )Ö,�Ø”
ó -ð (Ÿo™o¨d°AÓ6‰OˆFØ˜Œ|Ø�Ø˜"Œ}Ø‘ð "Ÿ.™.¨Ó-�Ø!Ÿ.™.¨Ó.�Ü$&§G¢G¨F¦OÑ �˜5Ü—w‘w×'Ñ'¨Ó-�Ü ¤§¡§¡¨dÓ!<Ö=�BØ”Hó >ó %4ùs   ‚E E")ÚHTTPSHandlerÚmatch_hostnameÚCertificateErrorc                   ó.   a € ] tR tRt o RtRtR tRtV tR# )ÚHTTPSConnectioni²  NTc                ó”  € \         P                  ! V P                  V P                  3V P                  4      p\        V R R4      '       d   Wn        V P                  4        \        P                  ! \        P                  4      p\        \        R4      '       d(   V;P                  \        P                  ,          un        \        V RR4      '       d'   VP                  V P                  V P                   4       / pV P"                  '       dX   \        P$                  Vn        VP)                  V P"                  R7       \        \        RR4      '       d   V P                  VR&   VP*                  ! V3/ VB V n        V P"                  '       df   V P,                  '       dR    \/        V P                  P1                  4       V P                  4       \2        P5                  RV P                  4       R# R# R#   \6         dF    T P                  P9                  \         P:                  4       T P                  P=                  4        h i ; i)	Ú_tunnel_hostFÚOP_NO_SSLv2Ú	cert_fileN)ÚcafileÚHAS_SNIÚserver_hostnamezHost verified: %s)rá   Úcreate_connectionÚhostÚportÚtimeoutr‘   ÚsockÚ_tunnelÚsslÚ
SSLContextÚPROTOCOL_SSLv23r�   ÚoptionsrÅ  Úload_cert_chainrÆ  Úkey_fileÚca_certsÚCERT_REQUIREDÚverify_modeÚload_verify_locationsÚwrap_socketÚcheck_domainr¿  Úgetpeercertr$  rf  rÀ  ÚshutdownÚ	SHUT_RDWRrÀ   )rì   rÎ  Úcontextr  s   &   r0   ÚconnectÚHTTPSConnection.connect·  sŠ  € Ü×+Ò+¨T¯Y©Y¸¿	¹	Ð,BÀDÇLÁLÓQˆDÜ�t˜^¨U×3Ò3Ø ”	Ø—‘”ä—n’n¤S×%8Ñ%8Ó9ˆGÜ”s˜M×*Ò*Ø—’¤3§?¡?Õ2•Ü�t˜[¨$×/Ò/Ø×'Ñ'¨¯©¸¿¹ÔFØˆFØ�}�}ˆ}Ü&)×&7Ñ&7�Ô#Ø×-Ñ-°T·]±]Ð-ÔCÜœ3 	¨5×1Ò1Ø04·	±	�FÐ,Ñ-à×+Ò+¨DÑ;°FÑ;ˆDŒIØ�}�}ˆ} ×!2×!2Ð!2ðÜ" 4§9¡9×#8Ñ#8Ó#:¸D¿I¹IÔFÜ—L‘LÐ!4°d·i±iÖ@ñ "3‰}øô (ô Ø—I‘I×&Ñ&¤v×'7Ñ'7Ô8Ø—I‘I—O‘OÔ%Øðús   Æ#AG7 Ç7AI)rÎ  )	rò   r÷   rø   rù   rÖ  rÛ  rà  rú   rû   rü   s   @r0   rÂ  rÂ  ²  s   ø‡ € ØˆØˆ÷	ð 	r3   rÂ  c                   ó6   a € ] tR tRt o RR ltR tR tRtV tR# )r¾  iÓ  c                óJ   € \         P                  ! V 4       Wn        W n        R # r•   )ÚBaseHTTPSHandlerrí   rÖ  rÛ  )rì   rÖ  rÛ  s   &&&r0   rí   ÚHTTPSHandler.__init__Õ  s   € Ü×%Ò% dÔ+Ø$ŒMØ ,Ör3   c                ó„   € \        V/ VB pV P                  '       d#   V P                  Vn        V P                  Vn        V# )a»  
This is called to create a connection instance. Normally you'd
pass a connection class to do_open, but it doesn't actually check for
a class, and just expects a callable. As long as we behave just as a
constructor would have, we should be OK. If it ever changes so that
we *must* pass a class, we'll create an UnsafeHTTPSConnection class
which just sets check_domain to False in the class definition, and
choose which one to pass to do_open.
)rÂ  rÖ  rÛ  )rì   r  r  r+   s   &*, r0   Ú_conn_makerÚHTTPSHandler._conn_makerÚ  s:   € ô % dÐ5¨fÑ5ˆFØ�}�}ˆ}Ø"&§-¡-�”Ø&*×&7Ñ&7�Ô#ØˆMr3   c                óÐ   €  V P                  V P                  V4      #   \         d=   pR \        TP                  4      9   d   \        RTP                  ,          4      hh Rp?ii ; i)zcertificate verify failedz*Unable to verify server certificate for %sN)Údo_openrç  r   r^  ÚreasonrÀ  rË  )rì   rh   rà  s   && r0   Ú
https_openÚHTTPSHandler.https_openê  sc   € ðØ—|‘| D×$4Ñ$4°cÓ:Ð:øÜô Ø.´#°a·h±h³-Ô?Ü*ð ,4Ø69·h±hõ,?ó @ð @ð ûðús   ‚ žA%©7A Á A%)rÖ  rÛ  Nr  )	rò   r÷   rø   rù   rí   rç  rì  rú   rû   rü   s   @r0   r¾  r¾  Ó  s   ø‡ € ô	-ò
	÷ 	ð 	r3   r¾  c                   ó&   a € ] tR tRt o R tRtV tR# )ÚHTTPSOnlyHandleriý  c                ó&   € \        R V,          4      h)zAUnexpected HTTP request on what should be a secure connection: %s)r   )rì   rh   s   &&r0   Ú	http_openÚHTTPSOnlyHandler.http_openÿ  s   € Üð ,Ø.1õ2ó 3ð 3r3   rH   N)rò   r÷   rø   rù   rñ  rú   rû   rü   s   @r0   rï  rï  ý  s   ø‡ € ÷	3ð 	3r3   rï  c                   ó0   a € ] tR tRt o RR ltR tRtV tR# )Ú	Transporti  c                óP   € Wn         \        P                  P                  W4       R # r•   )rÍ  r   rô  rí   ©rì   rÍ  Úuse_datetimes   &&&r0   rí   ÚTransport.__init__	  s   € ØŒÜ×Ñ×$Ñ$ TÖ8r3   c                óè   € V P                  V4      w  r#pV P                  '       d   WP                  ^ ,          8w  d$   W0n        V\        P                  ! V4      3V n        V P                  ^,          # ©r   )Úget_host_infoÚ_connectionÚ_extra_headersr   ÚHTTPConnection)rì   rË  ÚhÚehÚx509s   &&   r0   Úmake_connectionÚTransport.make_connection  sa   € Ø×(Ñ(¨Ó.‰ˆˆtØ××Ð 4×+;Ñ+;¸AÕ+>Ô#>Ø"$ÔØ#¤W×%;Ò%;¸AÓ%>Ð>ˆDÔØ×Ñ Õ"Ð"r3   ©rü  rý  rÍ  Nrú  ©rò   r÷   rø   rù   rí   r  rú   rû   rü   s   @r0   rô  rô    s   ø‡ € ô9÷#ð #r3   rô  c                   ó0   a € ] tR tRt o RR ltR tRtV tR# )ÚSafeTransporti  c                óP   € Wn         \        P                  P                  W4       R # r•   )rÍ  r   r  rí   rö  s   &&&r0   rí   ÚSafeTransport.__init__  s   € Ø"ŒLÜ×#Ñ#×,Ñ,¨TÖ@r3   c                ó  € V P                  V4      w  r#pV'       g   / pV P                  VR &   V P                  '       d   WP                  ^ ,          8w  d&   W0n        V\        P
                  ! VR3/ VB 3V n        V P                  ^,          # )rÍ  N)rû  rÍ  rü  rý  r   rÂ  )rì   rË  rÿ  r   r  s   &&   r0   r  ÚSafeTransport.make_connection  s~   € Ø ×.Ñ.¨tÓ4‰MˆA�6ßØ�Ø $§¡ˆF�9ÑØ×#×#Ð# t×/?Ñ/?ÀÕ/BÔ'BØ&(Ô#Ø#'¬×)@Ò)@ÀÀDÑ)SÈFÑ)SÐ#S�Ô Ø×#Ñ# AÕ&Ð&r3   r  Nrú  r  rü   s   @r0   r  r    s   ø‡ € ô	A÷	'ð 	'r3   r  c                   ó&   a € ] tR tRt o R tRtV tR# )ÚServerProxyi(  c                ó  € VP                  R R4      ;V n        pVeM   \        V4      ^ ,          pVP                  R^ 4      pVR8X  d   \        pM\
        pV! W5R7      ;VR&   pWpn        \        P                  P                  ! W3/ VB  R# )rÍ  Nr÷  Úhttps)r÷  Ú	transport)
r|   rÍ  r   rÚ  r  rô  r  r   r  rí   )rì   rk   r  rÍ  rf   r÷  Útclsrm   s   &&,     r0   rí   ÚServerProxy.__init__*  sƒ   € Ø!'§¡¨I°tÓ!<Ð<ˆŒ�wð Òä˜c“] 1Õ%ˆFØ!Ÿ:™: n°aÓ8ˆLØ˜Ô Ü$‘ä �Ù&*¨7Ô&NÐNˆF�;Ñ !ØŒNÜ×Ñ×&Ò& tÑ;°FÔ;r3   )rÍ  r  N)rò   r÷   rø   rù   rí   rú   rû   rü   s   @r0   r  r  (  s   ø‡ € ÷<ð <r3   r  c                 óz   € \         P                  ^ ,          ^8  d   VR,          pM
RVR&   RVR&   \        W3/ VB # )r   Úbr   Únewliner©   r3  )r�   r´   r5  )rô  rL  r  s   &&,r0   Ú	_csv_openr  A  sD   € Ü
×Ñ˜Õ˜QÔØ��‰àˆˆyÑð %ˆˆzÑÜ�Ñ#˜FÑ#Ð#r3   c                   ó`   a € ] tR tRt o R]! R4      R]! R4      R]! R4      /tR tR	 tR
tV t	R# )ÚCSVBaseiL  Ú	delimiterrO   Ú	quotecharÚ"ÚlineterminatorrJ  c                ó   € V # r•   rH   r  s   &r0   Ú	__enter__ÚCSVBase.__enter__S  ó   € Øˆr3   c                ó:   € V P                   P                  4        R # r•   )r±   rÀ   )rì   r¥  s   &*r0   Ú__exit__ÚCSVBase.__exit__V  s   € Ø�‰×ÑÖr3   rH   N)
rò   r÷   rø   rù   r^  Údefaultsr  r"  rú   rû   rü   s   @r0   r  r  L  s6   ø‡ € à‘S˜“XØ‘S˜“XØ™#˜d›)ð€Hò÷ð r3   r  c                   ó6   a € ] tR tRt o R tR tR t]tRtV t	R# )Ú	CSVReaderiZ  c                ó4  € R V9   dI   VR ,          p\         P                  ^ ,          ^8¼  d   \        P                  ! R4      ! V4      pW n        M\        VR,          R4      V n        \        P                  ! V P                  3/ V P                  B V n        R# )r±   r©   rv   rÖ  N)	r�   r´   rµ   r¶   r±   r  Úcsvrß  r$  )rì   r  r±   s   &, r0   rí   ÚCSVReader.__init__\  sp   € Ø�vÔØ˜HÕ%ˆFÜ×Ñ Õ" aÔ'ä×)Ò)¨'Ô2°6Ó:�Ø �Kä# F¨6¥N°CÓ8ˆDŒKÜ—j’j §¡Ñ>°·±Ñ>ˆŽr3   c                ó   € V # r•   rH   r  s   &r0   Ú__iter__ÚCSVReader.__iter__g  r   r3   c                óæ   € \        V P                  4      p\        P                  ^ ,          ^8  d@   \	        V4       F0  w  r#\        V\        4      '       d   K  VP                  R4      W&   K2  	  V# )r   r©   )Únextrß  r�   r´   r¿  r—   r   rP  )rì   r+   rl   r»  s   &   r0   r.  ÚCSVReader.nextj  sX   € Ü�d—k‘kÓ"ˆÜ×Ñ˜AÕ Ô"Ü$ VÖ,‘�Ü! $¬	×2Ô2Ø $§¡¨GÓ 4�F“Iñ -ð ˆr3   )rß  r±   N)
rò   r÷   rø   rù   rí   r+  r.  Ú__next__rú   rû   rü   s   @r0   r&  r&  Z  s   ø‡ € ò	?òòð †Hr3   r&  c                   ó,   a € ] tR tRt o R tR tRtV tR# )Ú	CSVWriteriu  c                óˆ   € \        VR 4      V n        \        P                  ! V P                  3/ V P                  B V n        R# )r1  N)r  r±   r(  Úwriterr$  )rì   rô  r  s   &&,r0   rí   ÚCSVWriter.__init__w  s-   € Ü  CÓ(ˆŒÜ—j’j §¡Ñ>°·±Ñ>ˆŽr3   c                óþ   € \         P                  ^ ,          ^8  dF   . pV F;  p\        V\        4      '       d   VP	                  R4      pVP                  V4       K=  	  TpV P                  P                  V4       R# )r   r©   N)r�   r´   r—   r   r@  r%   r4  Úwriterow)rì   ÚrowrÖ  r»  s   &&  r0   r7  ÚCSVWriter.writerow{  sc   € Ü×Ñ˜AÕ Ô"ØˆAÛ�Ü˜d¤I×.Ò.ØŸ;™; wÓ/�DØ—‘˜–ñ ð ˆCØ�‰×Ñ˜SÖ!r3   )r±   r4  N)rò   r÷   rø   rù   rí   r7  rú   rû   rü   s   @r0   r2  r2  u  s   ø‡ € ò?÷"ð "r3   r2  c                   óv   a a€ ] tR tRt o]! ]P                  4      tR]R&   R	V 3R lltR tR t	R t
RtVtV ;t# )
ÚConfiguratori‹  Úinc_convertÚincc                óv   <€ \         \        V `  V4       T;'       g    \        P                  ! 4       V n        R # r•   )Úsuperr;  rí   ru   rÜ   r�   )rì   Úconfigr�   Ú	__class__s   &&&€r0   rí   ÚConfigurator.__init__�  s'   ø€ ÜŒl˜DÑ*¨6Ô2Ø×'Ð'œBŸIšI›KˆŽ	r3   c                ó  a a€ VV 3R  loVP                  R4      p\        V4      '       g   S P                  V4      pVP                  RR4      pVP                  RR4      pV'       d"   \        V Uu. uF  pS! V4      NK  	  up4      pV Uu. uF&  p\	        V4      '       g   K  VS! W,          4      3NK(  	  pp\        V4      pV! V/ VB p	V'       d,   VP                  4        F  w  r«\        WšS! V4      4       K  	  V	# u upi u upi )c                 óZ  <€ \        V \        \        34      '       d*   \        V 4      ! V  Uu. uF  pS! V4      NK  	  up4      pV# \        V \        4      '       d9   R V 9   d   SP                  V 4      pV# / pV  F  pS! W,          4      W#&   K  	   V# SP                  V 4      pV# u upi ©ú())r—   rv  r:  ÚtypeÚdictÚconfigure_customÚconvert)Úorl   r+   rÈ   rJ  rì   s   &   €€r0   rJ  Ú.Configurator.configure_custom.<locals>.convert–  s§   ø€ Ü˜!œd¤E˜]×+Ò+Ü˜aœ±aÓ!8±a°¡'¨!¦*±aÑ!8Ó9�ð ˆMô ˜Aœt×$Ò$Ø˜1”9Ø!×2Ñ2°1Ó5�Fð ˆMð  �FÛ˜Ù$+¨A­D£M˜›	ò ð ˆMð Ÿ™ a›�ØˆMùò "9s   ­B(rF  r‚  Nz[]rH   )r|   rš  rˆ  r:  r   rH  rº   Úsetattr)rì   r@  r    Úpropsr  rK  rÈ   rº   r  r+   rÌ  rW   rJ  s   f&          @r0   rI  ÚConfigurator.configure_custom”  sß   ù€ ö	ð �J‰J�tÓˆÜ˜�{Š{Ø—‘˜Q“ˆAØ—
‘
˜3 Ó%ˆà�z‰z˜$ Ó#ˆßÜ©dÓ3©d¨™' !ž*©dÑ3Ó4ˆDÙ28ÓK±&¨Q¼KÈ¿NÔ(�!‘W˜V�YÓ'Ó(±&ˆÐKÜ�e“ˆÙ�DÐ#˜FÑ#ˆßØŸ™ž‘�Ü˜¡7¨1£:Ö.ñ &àˆùò 4ùÚKs   Á2DÂD	Â&D	c                ó¦   € V P                   V,          p\        V\        4      '       d(   R V9   d!   V P                  V4      ;V P                   V&   pV# rE  )r@  r—   rH  rI  )rì   r¦   r+   s   && r0   Ú__getitem__ÚConfigurator.__getitem__´  sF   € Ø—‘˜SÕ!ˆÜ�fœd×#Ò#¨°¬Ø(,×(=Ñ(=¸fÓ(EÐEˆD�K‰K˜Ñ˜vØˆr3   c                óL  € \         P                  P                  V4      '       g+   \         P                  P                  V P                  V4      p\
        P                  ! VRRR7      ;_uu_ 4       p\        P                  ! V4      pRRR4       V#   + '       g   i     X# ; i)z*Default converter for the inc:// protocol.rÖ  r©   r2  N)	ru   rv   Úisabsr'   r�   rµ   r5  r¸   r¹   )rì   rÊ   r<  r+   s   &&  r0   r<  ÚConfigurator.inc_convertº  sg   € ä�w‰w�}‰}˜U×#Ò#Ü—G‘G—L‘L §¡¨EÓ2ˆEÜ�[Š[˜ ¨g×6Õ6¸!Ü—Y’Y˜q“\ˆF÷ 7àˆ÷ 7Ö6àˆús   Á1BÂB#	r÷  r•   )rò   r÷   rø   rù   rH  r   Úvalue_convertersrí   rI  rQ  r<  rú   rû   Ú__classcell__)rA  rý   s   @@r0   r;  r;  ‹  s<   ù‡ € áÐ,×=Ñ=Ó>ÐØ+Ð�UÑ÷(òò@÷ò r3   r;  c                   ó:   a € ] tR tRt o RtRR ltR tR tRtV t	R# )	ÚSubprocessMixiniÃ  z;
Mixin for running subprocesses and capturing their output
Nc                ó   € Wn         W n        R # r•   )ÚverboseÚprogress)rì   r[  r\  s   &&&r0   rí   ÚSubprocessMixin.__init__È  s   € ØŒØ Žr3   c                ó’  € V P                   pV P                  p VP                  4       pV'       g   M„Ve   V! WR4       K(  V'       g!   \        P                  P                  R4       M.\        P                  P                  VP                  R4      4       \        P                  P                  4        Kž  VP                  4        R# )z�
Read lines from a subprocess' output stream and either pass to a progress
callable (if specified) or write progress information to sys.stderr.
Nr‚  r©   )	r\  r[  Úreadliner�   ÚstderrrÓ   rP  ÚflushrÀ   )rì   r±   rß  r\  r[  r/   s   &&&   r0   rß  ÚSubprocessMixin.readerÌ  s‚   € ð
 —=‘=ˆØ—,‘,ˆØØ—‘Ó!ˆAßØØÒ#Ù˜Ö$çÜ—J‘J×$Ñ$ SÕ)ä—J‘J×$Ñ$ Q§X¡X¨gÓ%6Ô7Ü—
‘
× Ñ Ö"Ø�‰Žr3   c                ór  € \         P                  ! V3R \         P                  R\         P                  /VB p\        P                  ! V P
                  VP                  R 3R7      pVP                  4        \        P                  ! V P
                  VP                  R3R7      pVP                  4        VP                  4        VP                  4        VP                  4        V P                  e   V P                  RR4       V# V P                  '       d    \        P                  P                  R4       V# )Ústdoutr`  )r  r  zdone.Úmainzdone.
)Ú
subprocessÚPopenÚPIPEÚ	threadingÚThreadrß  rd  rÅ  r`  Úwaitr'   r\  r[  r�   rÓ   )rì   Úcmdr  rŸ   Út1Út2s   &&,   r0   Úrun_commandÚSubprocessMixin.run_commandá  sÖ   € Ü×Ò˜SÑ[¬¯©Ð[ÄÇÁÐ[ÐTZÑ[ˆÜ×Ò T§[¡[¸¿¹À(Ð7KÔLˆØ
�‰Œ
Ü×Ò T§[¡[¸¿¹À(Ð7KÔLˆØ
�‰Œ
Ø	�‰ŒØ
�‰Œ	Ø
�‰Œ	Ø�=‰=Ò$Ø�M‰M˜' 6Ô*ð ˆð �\�\ˆ\Ü�J‰J×Ñ˜YÔ'Øˆr3   )r\  r[  r  )
rò   r÷   rø   rù   rø  rí   rß  ro  rú   rû   rü   s   @r0   rY  rY  Ã  s   ø‡ € ñô!ò÷*ð r3   rY  c                óN   € \         P                  ! RRV 4      P                  4       # )z,Normalize a python package name a la PEP 503z[-_.]+rÃ  )rÆ  Úsubrš   )r]   s   &r0   Únormalize_namers  ñ  s    € ô �6Š6�(˜C Ó&×,Ñ,Ó.Ð.r3   c                   ó>   a € ] tR tRt o RtRtR	R ltR tR tRt	V t
R# )
Ú
PyPIRCFilei  zhttps://upload.pypi.org/legacy/ÚpypiNc                ó    € Vf>   \         P                  P                  \         P                  P                  R4      R4      pWn        W n        R # )Nr¤  z.pypirc)ru   rv   r'   r¨  rÉ  r`   )rì   rô  r`   s   &&&r0   rí   ÚPyPIRCFile.__init__  s4   € ØŠ:Ü—‘—‘œbŸg™g×0Ñ0°Ó5°yÓAˆBØŒØŽr3   c           
     ó�  € / p\         P                  P                  V P                  4      '       Ed   V P                  ;'       g    V P
                  p\        P                  ! 4       pVP                  V P                  4       VP                  4       pR V9   Ed1   VP                  R R4      pVP                  R4       Uu. uF)  qfP                  4       R8w  g   K  VP                  4       NK+  	  ppV. 8X  d   RV9   d   R.pV# V F¾  pRV/pVP                  VR4      VR&   RV P
                  3RV P                  3R3 F5  w  r‰VP                  Wh4      '       d   VP                  Wh4      W&   K1  W‘V&   K7  	  VR8X  d$   W P
                  R39   d   V P
                  VR&   Kœ  VR,          V8w  g   K¬  VR,          V8w  g   K¼  / pKÀ  	   V# R
V9   dp   R
pVP                  VR4      '       d   VP                  VR4      pMV P
                  pRVP                  VR4      R	VP                  VR	4      RVRVRV P                  /pV# u upi )Ú	distutilszindex-serversrJ  r   rv  Úserverr·  Ú
repositoryÚrealmr¸  zserver-login)r¸  N)ru   rv   r  rÉ  r`   ÚDEFAULT_REPOSITORYr   ÚRawConfigParserr·   rÃ   rÚ  r£   rb   ÚDEFAULT_REALMÚ
has_option)
rì   r+   r|  r@  rÃ   Úindex_serversr{  Ú_serversr¦   rž   s
   &         r0   r·   ÚPyPIRCFile.read  s,  € Øˆä�7‰7�>‰>˜$Ÿ-™-×(Ó(ØŸ™×<Ð< T×%<Ñ%<ˆJä!×1Ò1Ó3ˆFØ�K‰K˜Ÿ™Ô&Ø—‘Ó(ˆHØ˜hÕ&à &§
¡
¨;¸Ó H�Ø9F×9LÑ9LÈTÔ9RÓkÑ9R¨v×VbÑVbÓVdÐhjÑVjœN˜FŸL™LžNÑ9R�ÐkØ˜r”>à Ô)Ø$* 8˜ðF ˆóC #+˜Ø"*¨FÐ!3˜Ø-3¯Z©Z¸À
Ó-K˜˜zÑ*ð /;¸D×<SÑ<SÐ-TÐW^Ð`d×`rÑ`rÐVsØ-?ó-A™L˜Cà%×0Ñ0°×=Ò=Ø.4¯j©j¸Ó.E £à.5 s£ñ-Að # fÔ,°×@WÑ@WÐY_Ð?`Ô1`Ø37×3JÑ3J˜F <Ó0Ø$ XÕ.°*Ö<ÀÈÕAUÐYcÖAcØ%'šFò% #+ðB ˆð   8Ô+à'�Ø×$Ñ$ V¨\×:Ò:Ø!'§¡¨F°LÓ!A‘Jà!%×!8Ñ!8�Jà §
¡
¨6°:Ó >Ø §
¡
¨6°:Ó >Ø  *Ø˜fØ˜T×/Ñ/ð�ð ˆùòO ls   Ã IÃIc                óŠ  € \         P                  ! 4       pV P                  pVP                  V4       VP	                  R 4      '       g   VP                  R 4       VP                  R RV4       VP                  R RV4       \        VR4      ;_uu_ 4       pVP                  V4       RRR4       R#   + '       g   i     R# ; i)rv  r·  r¸  r1  N)	r   r  rÉ  r·   Úhas_sectionrÏ   rÒ   r5  rÓ   )rì   r·  r¸  r@  rô  r<  s   &&&   r0   r�  ÚPyPIRCFile.updateB  s‡   € ä×-Ò-Ó/ˆØ�]‰]ˆØ�‰�BŒØ×!Ñ! &×)Ò)Ø×Ñ˜vÔ&Ø�
‰
�6˜: xÔ0Ø�
‰
�6˜: xÔ0Ü�"�c�]Œ]˜aØ�L‰L˜ŒO÷ �]�]Š]ús   ÂB1Â1C	)rÉ  r`   ©NN)rò   r÷   rø   rù   r~  r€  rí   r·   r�  rú   rû   rü   s   @r0   ru  ru    s%   ø‡ € à:ÐØ€Môò3÷j
ð 
r3   ru  c                óJ   € \        V P                  R7      P                  4       # )z?
Read the PyPI access configuration as supported by distutils.
)r`   )ru  r`   r·   ©r@  s   &r0   Ú_load_pypircr‹  O  s   € ô ˜%Ÿ)™)Ô$×)Ñ)Ó+Ð+r3   c                 ób   € \        4       P                  V P                  V P                  4       R # r•   )ru  r�  r·  r¸  rŠ  s   &r0   Ú_store_pypircr�  V  s   € ÜƒL×Ñ˜Ÿ™¨¯©Ö7r3   c                 ót  € \         P                  R8X  d€   R\        P                  P	                  4       9   d   R# R\        P                  P	                  4       9   d   R# R\        P                  P	                  4       9   d   R# \        P
                  # R\         P                  9   d   \         P                  R,          # \         P                  R	8w  g   \        \         R
4      '       g   \        P
                  # \         P                  ! 4       w  rr#pV P	                  4       P                  RR4      p VP                  RR4      P                  RR4      pV R,          R8X  d
   V : RV: 2# V R,          R8X  df   V^ ,          R8¼  dW   Rp R\        V^ ,          4      ^,
          VR,          3,          pRRRR/pVRV\        P                  ,          ,          ,          pM·V R,          R8X  d   ^ RIHp V! 4       # V R,          R 8X  dR   R p \        P                  ! R!\        P                   4      pVP#                  V4      pV'       d   VP%                  4       pM=V R,          R"8X  d0   ^ R#Ip	 ^ R$IHp
 V	P/                  V
P1                  4       WV4      w  rpV : RV: RV: 2#   \,         d    ^ R#Ip
 LBi ; i)%aÂ  Return a string that identifies the current platform.  This is used mainly to
distinguish platform-specific build directories and platform-specific built
distributions.  Typically includes the OS name and version and the
architecture (as supplied by 'os.uname()'), although the exact information
included depends on the OS; eg. on Linux, the kernel version isn't
particularly important.

Examples of returned values:
   linux-i586
   linux-alpha (?)
   solaris-2.6-sun4u

Windows will return one of:
   win-amd64 (64bit Windows on AMD64 (aka x86_64, Intel64, EM64T, etc)
   win32 (all others - specifically, sys.platform is returned)

For other non-POSIX platforms, currently just returns 'sys.platform'.

r¢  Úamd64ú	win-amd64z(arm)ú	win-arm32z(arm64)z	win-arm64Ú_PYTHON_HOST_PLATFORMrD  Úunamert   r   r[   rn   rÃ  :Né   NÚlinuxÚsunosÚ5Úsolarisz%d.%s:é   NNiÿÿÿÚ32bitl   ÿÿÿÿ Ú64bitz.%s:Né   NÚaix)Úaix_platform:Né   NÚcygwinz[\d.]+ÚdarwinN)Ú	sysconfig)ru   r]   r�   rè  rš   Úplatformr¦  r�   r“  r$   ÚintÚmaxsizeÚ_aix_supportrž  rÆ  rZ  ÚASCIIr    rÆ   Ú_osx_supportrz  r¢  ÚImportErrorÚget_platform_osxÚget_config_vars)ÚosnamerË  Úreleaserè  ÚmachineÚbitnessrž  Úrel_rer*   r¨  r¢  s              r0   Úget_host_platformr±  `  s%  € ô( 
‡w�w�$„Ø”c—k‘k×'Ñ'Ó)Ô)ÙØ”c—k‘k×'Ñ'Ó)Ô)ÙØœŸ™×)Ñ)Ó+Ô+ÙÜ�|‰|Ðð ¤"§*¡*Ô,Ü�z‰zÐ1Õ2Ð2ä	‡w�w�'Ô¤¬¨W×!5Ò!5ô �|‰|Ðô 13·²³
Ñ-€V�7 Wð �\‰\‹^×#Ñ# C¨Ó,€FØ�o‰o˜c 3Ó'×/Ñ/°°SÓ9€Gàˆb…z�WÔó !¢'Ð*Ð*à	���wÔ	Ø�1�:˜ÔØˆFØ¤ W¨Q¥Z£°1Õ!4°g¸bµkÐ BÕBˆGð " 7Ð,?ÀÐIˆGØ�u˜w¤s§{¡{Õ3Õ3Õ3ˆGøà	���uÔ	Ý-Ù‹~ÐØ	���xÔ	ØˆÜ—’˜I¤r§x¡xÓ0ˆØ�L‰L˜Ó!ˆßØ—g‘g“iˆGøØ	���xÔ	Ûð	Ý+ð $0×#@Ñ#@À×AZÑAZÓA\Ð^dÐovÓ#wÑ ˆ˜ã£ª'Ð2Ð2øô	 ô 	Ýð	ús   É.J% Ê%J7Ê6J7Úx86Úwin32Úx64r�  Úarmr‘  c                  óÂ   € \         P                  R 8w  d   \        4       # \         P                  P	                  R4      p V \
        9  d   \        4       # \
        V ,          # )r¢  ÚVSCMD_ARG_TGT_ARCH)ru   r]   r±  r¦  rÚ  Ú_TARGET_TO_PLAT)Úcross_compilation_targets    r0   Úget_platformrº  º  sG   € Ü	‡w�w�$„Ü Ó"Ð"Ü!Ÿz™zŸ~™~Ð.BÓCÐØ¤Ô6Ü Ó"Ð"ÜÐ3Õ4Ð4r3   rˆ  )é   r•   r  )re  rg  rX  rc  rf  rh  rd  r–  )r   ÚKÚMÚGÚTÚP)…rµ   Úcollectionsr   Ú
contextlibr(  Úglobr   r¹  rt  r¸   Úloggingru   rX  rÆ  rá   rÐ  r©  rf  r�   r[  rÖ   rÁ   ri  Údummy_threadingrŠ  r   r   Úcompatr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Ú	getLoggerrò   r$  rZ  r   rT   rS   r;   rF   rA   re   r&   rJ   rq   r‹   r“   r˜   r¡   r§   rË   rÔ   ÚcontextmanagerrÚ   rÝ   ræ   rð   rè   r  r  rˆ  rŠ  ÚVERBOSEr›  r»   r­  r±  r´  r¹  r½  rÁ  ÚIrÈ  rÄ  rÍ  rÐ  rÑ  rØ  rá  rå  ræ  ré  rë  rú  r  ÚARCHIVE_EXTENSIONSrr  r|  r¬  r~  r¸  r²  r³  r´  r¾  rä  r¿  rÀ  rÂ  rï  rô  r  r  r  r  r&  r2  r;  rY  rs  ru  r‹  r�  r±  r¸  rº  rH   r3   r0   Ú<module>rÌ     s  ðó
 Ý Û Û 
Ý #Û 	Û Û Û 	Û Û 	Û ðÛó Û 
Û Û Û ð(Ûó å ÷2÷ 2÷ 2÷ 2÷ 2ó 2ð 
×	Ò	˜8Ó	$€ð �ZŠZÐ)Ó*€
Ø—Z’ZÐ 3Ó4Ð Ø�ZŠZÐ5Ó6€
Ø�JŠJÐDÓE€	Ø‡Z‚Z�Ó€Ø‡j‚j�Ó€Ø�JŠJ�{Ó#€	Ø�zŠzÐEÓF€òW!òtytòxò4òô$ò ò,ò^ð& ×Ññó ðð ×Ññó ðð ×Ñó&ó ð&ô�fô ò  ô6w�6ô wòtô�&ô ð4 �:Š:ðð Ÿ:™:ó	'€òô>&(ôRò"ò&òòð Ÿ:š:ð '8Ø9;¿¹ó?Ð à—’Ð,Ó-€ôð4 —*’*ð 9ó :€ò/ò ò8ð* DÐ òò#ô)ˆFô )ôXC�ô CôRF!�ô F!ðZ UÐ ôAòHð$ 	&€ôW+ˆvô W+ð| �JŠJ�~Ó&€	ØŸ
š
Ð#?Ó@Ð Ø—j’jÐ!5Ó6Ð òò÷8 ß\Ñ\ô˜'×1Ñ1ô ôBÐ'ô ôT3˜<¨ô 3ô#�	×#Ñ#ô #÷ ô'˜	×/Ñ/ô 'ô"<�)×'Ñ'ô <ò2$ôˆfô ô�ô ô6"�ô "ô,5Ð#ô 5ôp+�fô +ò\/ô"J�ô JòZ,ò8òP3ðh 
ˆ7Ø	ˆ;Ø	ˆ;ð€ô5øðO= ô Ø
ƒCðûð ô (Þ'ð(ús#   ¶N ÁN Î	NÎNÎN*Î)N*