+
    êh˜  ã                   óœ  € ^ 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 ] P                  R 3R l4       t
] P                  R 4       t] P                  R 4       t] P                  R 4       t] P                  R 4       t] P                  R	 4       tR
 t] P                  R 4       t] P                  R 4       t] P                  R 4       tR# )é    N)ÚFileLockc                 ó   € R # ©N© )Údirs   &Ú;/usr/lib/python3/dist-packages/setuptools/tests/contexts.pyÚ<lambda>r	      s   € ™4ó    c              +   ó   "  € \         P                  ! R/ VB p\        P                  ! 4       p V ! V4       Vx € V ! V4       \        P
                  ! V4       R #   T ! T4       \        P
                  ! T4       i ; i5i)Nr   )ÚtempfileÚmkdtempÚosÚgetcwdÚshutilÚrmtree)ÚcdÚkwargsÚtemp_dirÚorig_dirs   &,  r   Útempdirr      s]   é € ä×ÒÑ) &Ñ)€HÜ�yŠy‹{€Hð Ù
ˆ8ŒØŠá
ˆ8ŒÜ�Š�hÖøñ 	ˆ8ŒÜ�Š�hÕüs   ‚,A>¯A » A>Á A;Á;A>c               +  óX  "  € \        R V  4       4      pR V P                  4        4       p\        V4       F4  p\        P                  P                  VR4       V P                  V4       K6  	  \        P                  P                  V 4        Vx € V  F#  p\        P                  P                  VR4       K%  	  \        P                  P                  V4       R#   T  F#  p\        P                  P                  TR4       K%  	  \        P                  P                  T4       i ; i5i)z^
In a context, patch the environment with replacements. Pass None values
to clear the values.
c              3   ó€   "  € T F4  q\         P                  9   g   K  V\         P                  V,          3x € K6  	  R # 5ir   )r   Úenviron)Ú.0Úkeys   & r   Ú	<genexpr>Úenvironment.<locals>.<genexpr>   s)   é € ÐU±<¨CÌ"Ï*É*ÑCTÔ'�#”r—z‘z #•Õ'³<ùs   ‚>�!>c              3   ó6   "  € T F  w  rVe   K  Vx € K  	  R # 5ir   r   )r   r   Úvalues   &  r   r   r   !   s   é € ÐLÑ&:‘l�s¸e�cŠcÓ&:ùs   ‚�
N)ÚdictÚitemsÚlistr   r   ÚpopÚupdate)ÚreplacementsÚsavedÚremover   s   ,   r   Úenvironmentr(      sØ   é € ô ÑU±<ÓUÓU€Eñ M l×&8Ñ&8Ô&:ÓL€FÜ�FŽ|ˆÜ
�
‰
�‰�s˜DÔ!Ø×Ñ˜Öñ ô ‡J�J×Ñ�lÔ#ð!ØŠãˆCÜ�J‰J�N‰N˜3 Ö%ñ  ä
�
‰
×Ñ˜%Ö øó  ˆCÜ�J‰J�N‰N˜3 Ö%ñ  ä
�
‰
×Ñ˜%Õ üs    ‚BD*ÂC ÂA
D*ÃA
D'Ä'D*c               #  óÄ  "  € \         P                  p \         P                  p\        P                  ! 4       ;p\         n        \        P                  ! 4       ;p\         n         W#3x € VP                  ^ 4       VP                  ^ 4       V \         n        V\         n        R#   TP                  ^ 4       TP                  ^ 4       T \         n        T\         n        i ; i5i)z_
Redirect stdout/stderr to StringIO objects to prevent console output from
distutils commands.
N)ÚsysÚstdoutÚstderrÚioÚStringIOÚseek)Ú
old_stdoutÚ
old_stderrÚ
new_stdoutÚ
new_stderrs       r   Úquietr4   0   sš   é € ô —‘€JÜ—‘€JÜ Ÿkšk›mÐ+€J””Ü Ÿkšk›mÐ+€J””ð ØÐ$Ò$à�‰˜ÔØ�‰˜ÔØŒŒ
ØŒŽ
øð 	�‰˜ÔØ�‰˜ÔØŒŒ
ØŒ�
üs   ‚A!C Á$B# Á):C Â#:CÃC c               #   ón   "  € \         P                  p  V x € V \         n        R #   T \         n        i ; i5ir   )ÚsiteÚENABLE_USER_SITE)r&   s    r   Úsave_user_site_settingr8   D   s*   é € ä×!Ñ!€Eð&ØŠà %ŒÖø ŒÕüs   ‚5”% ˜5¥2²5c               #   ó
  "  € ^ RI p V P                  4       p\        P                  R,          p W3x € V\        P                  R&   V P	                  V4       R#   T\        P                  R&   T P	                  T4       i ; i5i)r   NºNNN)Úpkg_resourcesÚ__getstate__r*   ÚpathÚ__setstate__)r;   Úpr_stateÚsys_paths      r   Úsave_pkg_resources_staterA   M   sj   é € ãà×)Ñ)Ó+€Hä�x‰x˜�{€Hð-ØÐ Ò àŒ�‰�‰Ø×"Ñ" 8Ö,øð Œ�‰�‰Ø×"Ñ" 8Õ,üs   ‚,B¯A ´&BÁ&B Â Bc               '   ó4   "  €  R x € R #   T  d     R # i ; i5ir   r   )Úexcss   *r   Úsuppress_exceptionsrD   [   s   é € ðÝøØô Úðüs   ‚„
 ˆŠ‘”•c                óT   €  V P                  R4      pVR8g  #   \         d     R# i ; i)zC
Return True if running under xdist and multiple
workers are used.
Ú	worker_idFÚmaster)ÚgetfixturevalueÚ	Exception)ÚrequestrF   s   & r   Ú	multiprocrK   c   s8   € ð
Ø×+Ñ+¨KÓ8ˆ	ð ˜Ñ Ð øô ô Úðús   ‚ ˜'¦'c              #  ó(  "  € VP                  4       p\        V 4      '       d   VP                  MTpWB,          p\        VP	                  R4      4      ;_uu_ 4        VP                  RRR7       Vx € RRR4       R#   + '       g   i     R# ; i5i)zCUses a file lock to guarantee only one worker can access a temp dirz.lockT)Úexist_okÚparentsN)ÚgetbasetemprK   Úparentr   Úwith_suffixÚmkdir)rJ   Útmp_path_factoryÚnameÚbaseÚ
shared_dirÚ
locked_dirs   &&&   r   Úsession_locked_tmp_dirrX   o   so   é € ð ×'Ñ'Ó)€DÜ )¨'× 2Ò 2�—’¸€JàÕ"€JÜ	�*×(Ñ(¨Ó1×	2Õ	2à×Ñ $°ÐÔ5ØÒ÷ 
3×	2×	2Ò	2üs   ‚ABÁA>Á4
BÁ>B	Â		Bc               #  ó.  "  € \         P                  R,          \         P                  R,          \         P                  R,          3p  Rx € V w  \         n        \         n        \         n        R#   T w  \         n        \         n        \         n        i ; i5i)zNMake sure ``sys.path``, ``sys.meta_path`` and ``sys.path_hooks`` are preservedr:   N)r*   r=   Ú	meta_pathÚ
path_hooks)Úprevs    r   Ú
save_pathsr]   }   sY   é € ô �8‰8�A�;œŸ™ aÕ(¬#¯.©.¸Õ*;Ð;€Dð7Ûà26Ñ/ŒŒ”#”-¤¦ø°$Ñ/ŒŒ”#”-¤¥üs   ‚ABÁA/ Á#BÁ/#BÂBc               #  ó¼   "  € \         P                  p  \         P                  P                  4       \         n        Rx € V \         n        R#   T \         n        i ; i5i)z.Make sure initial ``sys.modules`` is preservedN)r*   ÚmodulesÚcopy)Úprev_moduless    r   Úsave_sys_modulesrb   ˆ   s:   é € ô —;‘;€Lð#Ü—k‘k×&Ñ&Ó(ŒŒÛà"ŒŽø�lŒ�üs   ‚A”+A ¿AÁAÁA)Ú
contextlibr-   r   r   r6   r*   r   Úfilelockr   Úcontextmanagerr   r(   r4   r8   rA   rD   rK   rX   r]   rb   r   r
   r   Ú<module>rf      s  ðÛ Û 	Û 	Û Û Û 
Û å ð ×ÑÙó  ó ð ð ×Ññ!ó ð!ð. ×Ññ ó ð ð& ×Ññ&ó ð&ð ×Ññ
-ó ð
-ð ×Ññó ðò	!ð ×Ññ
ó ð
ð ×Ññ7ó ð7ð ×Ññ#ó ò#r
   