
    vKg::                       S SK Jr  S SKrS SKrS SKrS SKrS SKrS SKrS SKrS SK	r	S SK
r
S SKrS SKrS SKJr  S SKJrJrJr  S SKrS SKJr  S SKJr  \(       a  S SKrOI\
R0                  R3                  S5      (       a  S SKJs  Js  Js  Jr  O\
R8                  \R>                     r\ r!\(       a  S SK"J#r#  / S	Qr$S#S
 jr%\RL                  S#S j5       r'\RL                  S 5       r(\RL                  S 5       r)\RL                  S 5       r* " S S\+5      r, " S S5      r-\RL                  S 5       r.S r/\RL                  S 5       r0\RL                  S 5       r11 Skr2S r3S r4S r5 " S S5      r6\7" \S5      (       a  \Rp                  /r9O/ r9 " S S\65      r:\Rv                  " \Rx                  S R{                  5        V s/ sH  n \>" \U S 5      PM     sn 5      r? " S! S"\5      r@gs  sn f )$    )annotationsN)TracebackType)TYPE_CHECKINGAnyClassVar)working_set)DistutilsErrorjava)Self)AbstractSandboxDirectorySandboxSandboxViolation	run_setupc                    Sn[        X5       nUR                  5       nSSS5        Uc  Un[        WU S5      n[        XaU5        g! , (       d  f       N-= f)z&
Python 3 implementation of execfile.
rbNexec)openreadcompiler   )filenameglobalslocalsmodestreamscriptcodes          R/var/www/highfloat_scraper/venv/lib/python3.13/site-packages/setuptools/sandbox.py	_execfiler   *   sN     D	h	 
~68V,D 
	s   A
Ac              #     #    [         R                  S S  nU b  U [         R                  S S &  Uv   U[         R                  S S & g ! U[         R                  S S & f = f7fN)sysargv)replsaveds     r   	save_argvr%   7   sI     HHQKEes   *AA AAAc               #     #    [         R                  S S  n  U v   U [         R                  S S & g ! U [         R                  S S & f = f7fr    )r!   pathr$   s    r   	save_pathr)   B   s6     HHQKEes   A/ AAAc              #     #    [         R                  " U SS9  [        R                  nU [        l         Sv   U[        l        g! U[        l        f = f7f)zD
Monkey-patch tempfile.tempdir with replacement, ensuring it exists
T)exist_okN)osmakedirstempfiletempdir)replacementr$   s     r   override_tempr1   K   s@     
 KKd+E"H! 5s   1AA AAAc              #     #    [         R                  " 5       n[         R                  " U 5         Uv   [         R                  " U5        g ! [         R                  " U5        f = f7fr    )r,   getcwdchdir)targetr$   s     r   pushdr6   \   s<     IIKEHHV
s   ,A%A
 A%
A""A%c                  (    \ rS rSrSr\S 5       rSrg)UnpickleableExceptionf   zH
An exception representing another Exception that could not be pickled.
c           	          [         R                  " U 5      [         R                  " U5      4$ ! [         a)    SSKJn  UR                  X"" [        U5      5      5      s $ f = f)zq
Always return a dumped (pickled) type and exc. If exc can't be pickled,
wrap it in UnpickleableException first.
r   )r8   )pickledumps	Exceptionsetuptools.sandboxr8   dumprepr)typeexcclss      r   r?   UnpickleableException.dumpk   sO    	1<<%v||C'888 	1G88CT#Y00		1s   +. 0A! A! N)__name__
__module____qualname____firstlineno____doc__staticmethodr?   __static_attributes__rE       r   r8   r8   f   s     1 1rM   r8   c                  B    \ rS rSrSrSS jr        S	S jrS rSrg)
ExceptionSaverz   zQ
A Context Manager that will save an exception, serialize, and restore it
later.
c                    U $ r    rE   selfs    r   	__enter__ExceptionSaver.__enter__   s    rM   c                T    U(       d  g[         R                  X5      U l        X0l        g)NFT)r8   r?   _saved_tb)rS   rA   rB   tbs       r   __exit__ExceptionSaver.__exit__   s(      ,00; rM   c                    S[        U 5      ;  a  g[        [        R                  U R                  5      u  pUR                  U R                  5      e)z"restore and re-raise any exceptionrW   N)varsmapr;   loadsrW   with_tracebackrX   )rS   _typerB   s      r   resumeExceptionSaver.resume   s>     4:%t{{3
  **rM   )rW   rX   N)returnr   )rA   type[BaseException] | NonerB   BaseException | NonerY   TracebackType | Nonerd   bool)	rF   rG   rH   rI   rJ   rT   rZ   rb   rL   rE   rM   r   rO   rO   z   s<    
( " !	
 
 +rM   rO   c               #  B  ^#    [         R                  R                  5       m[        5        n Tv   SSS5        [         R                  R	                  T5        U4S j[         R                   5       n[        U5        W R                  5         g! , (       d  f       Nc= f7f)z
Context in which imported modules are saved.

Translates exceptions internal to the context into the equivalent exception
outside the context.
Nc              3  f   >#    U H'  nUT;  d  M  UR                  S 5      (       a  M#  Uv   M)     g7f)z
encodings.N
startswith).0mod_namer$   s     r   	<genexpr>save_modules.<locals>.<genexpr>   s7      #H5  	 ##L1	 	#s   	11	1)r!   modulescopyrO   update_clear_modulesrb   )	saved_excdel_modulesr$   s     @r   save_modulesrw      sq      KKE		Y 
 KKuK ; 
	s   )BBAB
BBc                J    [        U 5       H  n[        R                  U	 M     g r    )listr!   rq   )module_namesrn   s     r   rt   rt      s    &KK! 'rM   c               #     #    [         R                  " 5       n  U v   [         R                  " U 5        g ! [         R                  " U 5        f = f7fr    )pkg_resources__getstate____setstate__r(   s    r   save_pkg_resources_stater      s9     &&(E*""5)""5)s   A4 AAAc              #  2  #    [         R                  R                  U S5      n[        5          [	        5          [        5          [        5         [        5          [        U5         [        U 5         [        S5        S v   S S S 5        S S S 5        S S S 5        S S S 5        S S S 5        S S S 5        g ! , (       d  f       N7= f! , (       d  f       N@= f! , (       d  f       NI= f! , (       d  f       NR= f! , (       d  f       N[= f! , (       d  f       g = f7f)Ntemp
setuptools)r,   r'   joinr   rw   r)   hide_setuptoolsr%   r1   r6   
__import__)	setup_dirtemp_dirs     r   setup_contextr      s     ww||Iv.H	!	#^![&x0"9-&|4! . 1 !   
$	# .- 10 ![  ^ 
$	#s   +DDC5C$C	$C0B1 CC	C$C5 D(	D1
B?;C
CC	
C!C$$
C2.C55
D	?D
DD>   Cython	distutilsr   r|   _distutils_hackc                >    U R                  SS5      S   nU[        ;   $ )a  
>>> _needs_hiding('setuptools')
True
>>> _needs_hiding('pkg_resources')
True
>>> _needs_hiding('setuptools_plugin')
False
>>> _needs_hiding('setuptools.__init__')
True
>>> _needs_hiding('distutils')
True
>>> _needs_hiding('os')
False
>>> _needs_hiding('Cython')
True
.   r   )split_MODULES_TO_HIDE)rn   base_modules     r   _needs_hidingr      s%    " ..a(+K***rM   c                     [         R                  R                  SS5      n U b  U R                  5         [	        [
        [         R                  5      n[        U5        g)a  
Remove references to setuptools' modules from sys.modules to allow the
invocation to import the most appropriate setuptools. This technique is
necessary to avoid issues such as #315 where setuptools upgrading itself
would fail to find a function declared in the metadata.
r   N)r!   rq   get_remove_shimfilterr   rt   )r   rq   s     r   r   r      sC     kkoo&7>O"$$&]CKK0G7rM   c                   [         R                  R                  [         R                  R                  U 5      5      n[	        U5          U /[        U5      -   [        R                  SS& [        R                  R                  SU5        [        R                  " 5         [        R                  R                  S 5        [        U5         [        U SS9n[        X5        SSS5        SSS5        g! , (       d  f       N= f! [          a0  nUR"                  (       a  UR"                  S   (       a  e  SnANOSnAff = f! , (       d  f       g= f)z8Run a distutils setup script, sandboxed in its directoryNr   c                "    U R                  5       $ r    )activate)dists    r   <lambda>run_setup.<locals>.<lambda>
  s
    dmmorM   __main__)__file__rF   )r,   r'   abspathdirnamer   ry   r!   r"   insertr   __init__	callbacksappendr   dictr   
SystemExitargs)setup_scriptr   r   nsvs        r   r   r     s     =>I	y	!	'.4:5CHHQKHHOOAy)  "!!(()EF!),<*E,+ - 
"	! -,  	vv!&&)	 
"	!sU   D?
B D
C1 D1
C?	;D>D??D
D<&D72D?7D<<D??
Ec                     \ rS rSrSrSrSS jrS rSS jr      SS jr	S r
SS	 jrS
 H#  r\" \\5      (       d  M  \" \5      \" 5       \'   M%     SSS jjr\" S\5      rS H#  r\" \\5      (       d  M  \" \5      \" 5       \'   M%     SS jrS H#  r\" \\5      (       d  M  \" \5      \" 5       \'   M%     SS jrS H#  r\" \\5      (       d  M  \" \5      \" 5       \'   M%     S rS rS rS r\(       a  SS jrSrgSrg)r   i  zDWrap 'os' module and 'open()' builtin for virtualizing setup scriptsFc                    [        [        5       Vs/ sH/  nUR                  S5      (       a  M  [        X5      (       d  M-  UPM1     snU l        g s  snf )N_)dir_osrl   hasattr_attrsrS   names     r   r   AbstractSandbox.__init__  sE     C
 ??3' ,3D,?  
 
s   AAAc           	     ^    U R                    H  n[        [        U[        X5      5        M     g r    )r   setattrr,   getattr)rS   sourcer   s      r   _copyAbstractSandbox._copy!  s!    KKDBgf34  rM   c                ^    U R                  U 5        U R                  [        l        SU l        g )NT)r   _openbuiltinsr   _activerR   s    r   rT   AbstractSandbox.__enter__%  s     

4

rM   c                Z    SU l         [        [        l        U R	                  [
        5        g NF)r   r   r   r   r   r   )rS   exc_type	exc_value	tracebacks       r   rZ   AbstractSandbox.__exit__*  s     

3rM   c                J    U    U" 5       sSSS5        $ ! , (       d  f       g= f)zRun 'func' under os sandboxingNrE   )rS   funcs     r   runAbstractSandbox.run4  s    6 TTs   
"c                8   ^ ^ [        [        T 5      mU U4S jnU$ )Nc                p   > U R                   (       a  U R                  " TX/UQ70 UD6u  pT" X/UQ70 UD6$ r    )r   _remap_pair)rS   srcdstr   kwr   originals        r   wrap3AbstractSandbox._mk_dual_path_wrapper.<locals>.wrap<  s=    ||++D#HTHRHC2t2r22rM   r   r   r   r   r   s   ` @r   _mk_dual_path_wrapper%AbstractSandbox._mk_dual_path_wrapper9  s    3%	3
 rM   )renamelinksymlinkNc                J   ^ ^ T=(       d    [        [        T 5      mU U4S jnU$ )Nc                l   > U R                   (       a  U R                  " TU/UQ70 UD6nT" U/UQ70 UD6$ r    )r   _remap_inputrS   r'   r   r   r   r   s       r   r   5AbstractSandbox._mk_single_path_wrapper.<locals>.wrapJ  s;    ||((tAdAbAD.4.2..rM   r   )r   r   r   s   `` r   _mk_single_path_wrapper'AbstractSandbox._mk_single_path_wrapperG  s     1wsD1	/
 rM   r   )statlistdirr4   r   chmodchownmkdirremoveunlinkrmdirutimelchownchrootlstat	startfilemkfifomknodpathconfaccessc                8   ^ ^ [        [        T 5      mU U4S jnU$ )Nc                   > U R                   (       a3  U R                  " TU/UQ70 UD6nU R                  TT" U/UQ70 UD65      $ T" U/UQ70 UD6$ r    )r   r   _remap_outputr   s       r   r   4AbstractSandbox._mk_single_with_return.<locals>.wrapm  s]    ||((tAdAbA))$0K0K0KLLD.4.2..rM   r   r   s   ` @r   _mk_single_with_return&AbstractSandbox._mk_single_with_returnj  s    3%	/ rM   )readlinktempnamc                8   ^ ^ [        [        T 5      mU U4S jnU$ )Nc                ^   > T" U0 UD6nU R                   (       a  U R                  TU5      $ U$ r    )r   r   )rS   r   r   retvalr   r   s       r   r   'AbstractSandbox._mk_query.<locals>.wrap|  s1    t*r*F||))$77MrM   r   r   s   ` @r   	_mk_queryAbstractSandbox._mk_queryy  s    3%	 rM   )r3   tmpnamc                    U$ )z=Called to remap or validate any path, whether input or outputrE   )rS   r'   s     r   _validate_pathAbstractSandbox._validate_path  s    rM   c                $    U R                  U5      $ zCalled for path inputsr  rS   	operationr'   r   r   s        r   r   AbstractSandbox._remap_input      ""4((rM   c                $    U R                  U5      $ )zCalled for path outputsr  )rS   r  r'   s      r   r   AbstractSandbox._remap_output  r
  rM   c                j    U R                   " US-   U/UQ70 UD6U R                   " US-   U/UQ70 UD64$ )?Called for path pairs like rename, link, and symlink operationsz-fromz-to)r   rS   r  r   r   r   r   s         r   r   AbstractSandbox._remap_pair  sL     i'13DDDi%/BtBrB
 	
rM   c                    g r    rE   r   s     r   __getattribute__ AbstractSandbox.__getattribute__  s    crM   )r   r   rd   None)r   re   r   rf   r   rg   )r   strr    )r   r  rd   r   )rF   rG   rH   rI   rJ   r   r   r   rT   rZ   r   r   _AbstractSandbox__namer   r   r   r   r   r   r   r  r   r   r   r   r  rL   rE   rM   r   r   r     s.   NG
5
, ( (	
 034V<FHV 0 $FE2E* 36v>FHV-0	 *35f=FHV *	 '3(0FHV '))
  	: rM   r   devnullc                      \ rS rSr% Sr\R                  / SQ5      rS\S'   / r	S\S'    \
4SS jjrS	 rSS
 jrSS jrS rS rS rS rSSS jjrSrg)r   i  z<Restrict operations to a single subdirectory - pseudo-chroot)r   r   r   r   r   r   r   r   r   r   r   r   r   zClassVar[dict[str, None]]	write_opszlist[str | re.Pattern]_exception_patternsc                   [         R                  R                  [         R                  R                  U5      5      U l        [         R                  R                  U R                  S5      U l        U Vs/ sH?  n[         R                  R                  [         R                  R                  U5      5      PMA     snU l        [        R                  U 5        g s  snf )N )
r,   r'   normcaserealpath_sandboxr   _prefix_exceptionsr   r   )rS   sandbox
exceptionsr'   s       r   r   DirectorySandbox.__init__  s    (()9)9')BCww||DMM26AK
AKBGGRWW--d34
 	  &
s   5ACc                     SSK Jn  U" XU5      e)Nr   )r   )r>   r   )rS   r  r   r   r   s        r   
_violationDirectorySandbox._violation  s    7y33rM   c                    US;  a-  U R                  U5      (       d  U R                  " SX/UQ70 UD6  [        X/UQ70 UD6$ )N)rrtr   rUUr   )_okr'  r   )rS   r'   r   r   r   s        r   r   DirectorySandbox._open  sD    33DHHTNNOOFD<<<T-$-"--rM   c                &    U R                  S5        g )Nr   )r'  rR   s    r   r   DirectorySandbox.tmpnam  s    !rM   c                V   U R                   n SU l         [        R                  R                  [        R                  R	                  U5      5      nU R                  U5      =(       d0    X0R                  :H  =(       d    UR                  U R                  5       X l         $ ! X l         f = fr   )	r   r,   r'   r  r  	_exemptedr   rl   r!  )rS   r'   activer  s       r   r.  DirectorySandbox._ok  s~    		" DLww''(8(8(>?Hx( 5}},5&&t||4 "L6Ls   B
B   B(c                   ^ U4S jU R                    5       nU4S jU R                   5       n[        R                  " X#5      n[	        U5      $ )Nc              3  D   >#    U H  nTR                  U5      v   M     g 7fr    rk   )rm   	exceptionfilepaths     r   ro   -DirectorySandbox._exempted.<locals>.<genexpr>  s#      
<LyH	**<Ls    c              3  P   >#    U H  n[         R                  " UT5      v   M     g 7fr    )rematch)rm   patternr9  s     r   ro   r:    s#      
7OGBHHWh''7Os   #&)r"  r  	itertoolschainany)rS   r9  start_matchespattern_matches
candidatess    `   r   r3  DirectorySandbox._exempted  sG    
<@<L<L

7;7O7O
 __]D
:rM   c                    XR                   ;   aJ  U R                  U5      (       d4  U R                  " U[        R                  R                  U5      /UQ70 UD6  U$ r  )r  r.  r'  r,   r'   r  r  s        r   r   DirectorySandbox._remap_input  sD    &txx~~OOIrww'7'7'=KKKrM   c                    U R                  U5      (       a  U R                  U5      (       d  U R                  " XU/UQ70 UD6  X#4$ )r  )r.  r'  r  s         r   r   DirectorySandbox._remap_pair  s;    xx}}DHHSMMOOIC=$="=zrM   c                    U[         -  (       a.  U R                  U5      (       d  U R                  " SXU/UQ70 UD6  [        R                  " XU/UQ70 UD6$ )zCalled for low-level os.open()zos.open)WRITE_FLAGSr.  r'  r   r   )rS   fileflagsr   r   r   s         r   r   DirectorySandbox.open  sK    ;txx~~OOItDF4F2FxxT7D7B77rM   )r   r"  r!  r   Nr  )r*  )i  )r   intrd   rO  )rF   rG   rH   rI   rJ   r   fromkeysr  __annotations__r  _EXCEPTIONSr   r'  r   r   r.  r3  r   r   r   rL   rE   rM   r   r   r     sf    F+/== : ,I(   35/44+6 '4
.
""8 8rM   r   z4O_WRONLY O_RDWR O_APPEND O_CREAT O_TRUNC O_TEMPORARYc                  b    \ rS rSrSr\R                  " S5      R                  5       rSS jr	Sr
g)r   i  zEA setup script attempted to modify the filesystem outside the sandboxa  
        SandboxViolation: {cmd}{args!r} {kwargs}

        The package setup script has attempted to modify files on your system
        that are not within the EasyInstall build area, and has been aborted.

        This package cannot be safely installed by EasyInstall, and may not
        support alternate installation locations even if you run its setup
        script by hand.  Please inform the package's author and the EasyInstall
        maintainers to find out if a fix or workaround is available.
        c                h    U R                   u  pnU R                  R                  " S0 [        5       D6$ )NrE   )r   tmplformatr   )rS   cmdr   kwargss       r   __str__SandboxViolation.__str__  s*     II6yy+&(++rM   rE   N)rd   r  )rF   rG   rH   rI   rJ   textwrapdedentlstriprU  rY  rL   rE   rM   r   r   r     s)    O??
	 fh 	,rM   r   r    )A
__future__r   r   
contextlib	functoolsr?  operatorr,   r;   r<  r!   r.   r[  typesr   typingr   r   r   r|   r   distutils.errorsr	   r   platformrl   $org.python.modules.posix.PosixModulepythonrq   posixPosixModuler   r   r   typing_extensionsr   __all__r   contextmanagerr%   r)   r1   r6   r=   r8   rO   rw   rt   r   r   r   r   r   r   r   r   r  rR  r   reduceor_r   r   rK  r   )as   0r   <module>rp     s   "      	  	 
    / /  % +\\V$$66
++bgg
C &
      ! !   1I 1( +  +F  2"
 * * " " +*(I: I:X 2y::,KKR8 R8j LL HMMOOA 	QO,~ ,s   G'
