
    i%B                        % 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Jr  S SKJ	r	  S SK
Jr  S SKJr  S SKJr  S SKJr  \" 5       r\\\4   \S'   \" S	S
9r\\\   \4   \S'   \" SS
9r\\\   \\ R2                     4   \S'   S rS rSSS.S jr " S S5      rS r0 q\ \!\4   \S'   S r"S r#S r$SSS.S jjr%S r&g)    N)CallableMutableMapping)	Parameter)Any)WeakKeyDictionary)
reflection)LRUCacheLAMBDA_DESCRIPTION_CACHEi  )max_sizeLAMBDA_DIGEST_DESCRIPTION_CACHEd   AST_LAMBDAS_CACHEc                 p   ^ / m " U4S jS[         R                  5      nU" 5       R                  U 5        T$ )Nc                   "   > \ rS rSrU 4S jrSrg)$extract_all_lambdas.<locals>.Visitor.   c                 ^   > TR                  U5        U R                  UR                  5        g N)appendvisitbody)selfnodelambdass     a/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/hypothesis/internal/lambda_sources.pyvisit_Lambda1extract_all_lambdas.<locals>.Visitor.visit_Lambda0   s    NN4 JJtyy!     N)__name__
__module____qualname____firstlineno__r   __static_attributes__)r   s   r   Visitorr   .   s    	" 	"r   r%   astNodeVisitorr   )treer%   r   s     @r   extract_all_lambdasr*   +   s-    G"#// " IOODNr   c                 p   ^ / m " U4S jS[         R                  5      nU" 5       R                  U 5        T$ )Nc                   "   > \ rS rSrU 4S jrSrg)'extract_all_attributes.<locals>.Visitor;   c                 ^   > TR                  U5        U R                  UR                  5        g r   )r   r   value)r   r   
attributess     r   visit_Attribute7extract_all_attributes.<locals>.Visitor.visit_Attribute<   s!    d#JJtzz"r   r   N)r    r!   r"   r#   r2   r$   )r1   s   r   r%   r-   ;   s    	# 	#r   r%   r&   )r)   r%   r1   s     @r   extract_all_attributesr4   8   s.    J##// #
 IOODr   F)bounded_sizeignore_namec          
      x    U R                   n[        U R                  U R                  45      n[        UR
                  5      nU(       a  [        U5      S:  a2  [        R                  " UR                  5       5      R                  5       n[        U5      S:  a2  [        R                  " UR                  5       5      R                  5       nUUUR                  UR                  UR                  UR                  UR                  UR                   U=(       d    UR"                  4	$ ! [         a    U nSn GN	f = f)a  Returns a digest that differentiates functions that have different sources.

Either a function or a code object may be passed. If code object, default
arg/kwarg values are not recoverable - this is the best we can do, and is
sufficient for the use case of comparing nested lambdas.
r   0   )__code__repr__defaults____kwdefaults__AttributeError	co_constslenhashlibsha384encodedigestco_argcountco_kwonlyargcountco_codeco_namesco_varnamesco_freevarsco_name)fr5   r6   codedefaults_reprconsts_reprs         r   _function_keyrO   D   s   zzanna.>.>?@ t~~&K {b !..););)=>EEGK}"#NN=+?+?+ABIIKM#t||
 
  s   -D' 'D98D9c                   (    \ rS rSrSrSrSrSrSrSr	g)	_opg   	   U   X   V   W   r   N)
r    r!   r"   r#   NOP	LOAD_FASTLOAD_FAST_LOAD_FASTLOAD_FAST_BORROW!LOAD_FAST_BORROW_LOAD_FAST_BORROWr$   r   r   r   rQ   rQ   g   s    
CI(*%r   rQ   c                    [         [        [           [        [           /[        4   n[        R
                  // S 4[        R                  [        R                  /[        R                  /S 4[        R                  [        R                  /[        R                  /S 4/nUU VVVs/ s H  u  pEnUUU=(       a    U4S j4PM     snnn-  n[        UR                  R                  5      n[        U R                  R                  5      nS n	Sn
U
[        [        U5      [        U5      5      :  Ga  U
[        [        U5      [        U5      5      :  a  X   Xz   :X  a  U
S-  n
OU Hj  u  pnX" X[        U5      5      :X  d  M  X" Xz[        U5      5      :X  d  M4  U" U	" XS-   [        U5      5      U	" XzS-   [        U5      5      5      (       d  Mj    O   OcUS U
 XU
S[        U5      -  -    -   XzS[        U5      -  -   S  -   nU
S[        U5      -  -  n
U
[        [        U5      [        U5      5      :  a  GM  U R                  R                  nUR                  R                  n[        U5      [        U5      :X  a  [!        S U 5       5      (       a  / n[#        XS	S
9 Hx  u  nn[$        R&                  " U5      (       aF  [$        R&                  " U5      (       a+  [)        U5      [)        U5      :X  a  UR+                  U5        Mg  UR+                  U5        Mz     OUnUR                  R-                  [/        U5      [1        U5      S9$ s  snnnf )Nc                     g)NTr   abs     r   <lambda>!_normalize_code.<locals>.<lambda>x   s    Tr   c                 &    XS   S-	  US   S-  /:H  $ Nr         r   r_   s     r   rb   rc   |       tqy!A$)44r   c                 &    XS   S-	  US   S-  /:H  $ re   r   r_   s     r   rb   rc      rh   r   c                     U" X5      $ r   r   )r`   ra   	conditions      r   rb   rc      s    Yq_r   c                     XUSU-  -   S2   $ )N   r   )rL   ins      r   alternating$_normalize_code.<locals>.alternating   s    AE	A%&&r   rm      c              3   N   #    U  H  n[         R                  " U5      v   M     g 7fr   )inspectiscode).0l_consts     r   	<genexpr>"_normalize_code.<locals>.<genexpr>   s      ./7Gwxs   #%Tstrict)rF   r>   )r   listintboolrQ   rX   rY   rZ   r[   r\   r9   rF   maxr?   minr>   anyziprt   ru   rO   r   replacebytestuple)rK   lChecker
transformsops_aops_brk   rF   f_coderp   rn   op1op2f_constsl_constsnormalized_constsf_constrw   s                     r   _normalize_coder   p   s    S	49-t34G
''B)*]]CMM*$$%4	
 !!3#7#782234	
?J  (2 (2#E)	 M)L	

 (2 J 1::%%&G!**$$%F' 	
A
c#g,F,
,s3w<V--&)wz2IFA'1#);v#c(;;{7s3x@@!#FE3s8<#GUCH= 
  (2  fQS\)9::WSQTXEUEW=XX  SXA- c#g,F,
,8 zz##Hzz##H
8}H%# ./7. + +  #Ht DGWw''NN7++!'*mG.DD "((1!((1 !E  %::g)*   Ss   )M
_module_mapc           	      p   U R                   R                  5       nU R                  n[        R                  " U5      nU R
                  (       aa  [        U R
                  UR                  R                  SS9 H4  u  pV[        U[        R                  5      (       d  M&  XRUR                  '   M6     U R                  (       a  [        UR                  R                  UR                  R                  SS9 HK  u  pg[        U[        R                  5      (       d  M&  U R                  UR                     X&R                  '   MM     [!        U5       Vs/ s H~  n[        UR"                  [        R                  5      (       d  M.  UR"                  R                  =n	(       d  MM  [$        R&                  " UR)                  U	5      =n
5      (       d  M{  X4PM     nnUR*                  (       d  U(       d  [-        XB5      nU$ UR*                  (       a~  U[/        U R0                  5       VVs0 s H  u  pSU 3UR2                  _M     snn-  n[/        UR*                  5       VVs/ s H  u  pU SU 3PM     nnnSR5                  U5      S-   nOSnU(       a  [7        [8        5      [7        [:        R<                  5      :w  a=  [:        R<                  R?                  5        VV
s0 s H  u  p[        U
5      U_M     sn
nqU V	V
s/ s H,  u  p[8        R)                  [        U
5      5      =nc  M(  UU	4PM.     nn	n
[A        U5       VVs/ s H  u  nnU SU 3PM     nnnSS	R5                  U5       S
3nOSnU SU SU S3n[C        UU5        US   " 5       nU$ s  snf s  snnf s  snnf s  sn
nf s  sn
n	f s  snnf )NTrz   __lcz=__lc; z as zimport ,
zdef __construct_lambda(): z	 return ()__construct_lambda)"__globals__copyr9   r'   unparser;   r   argsdefaults
isinstanceNameidr<   kw_defaults
kwonlyargsargr4   r0   rt   ismodulegetrI   eval	enumerate__closure__cell_contentsjoinr?   r   sysmodulesitemssetexec)rK   r   	f_globalsr   source	f_default	l_default	l_varnameattr
local_namemodulereferenced_modulescompiledrn   cnamecapturescapture_strmodule_nameimportsasnameimport_fragments
import_strexec_strs                           r   _mimic_lambda_from_noder      sB   
 ""$IZZF[[F 	~~$'NNDII..t%
 I )SXX..*3),,'	%

 	$'II!!499#7#7%
 I )SXX..*+*:*:9==*I	,,'	%
 +400Dtzz388, 	  $zz}},,	 	
   9==+D!DE 	0   &8*H OE  8A!--8P8P$qc
AOO+8P I :C6CUCU9VW9Vga4&aS)9VHW((8,s2KK ;3s{{#33DGKKDUDUDWXDWLDr&z4/DWX +=*<&J#.??2f:#>>K *j)*<  
 KNg,W,,$4&VH 5,W"388,<#=">bAJJl4[M6(RST 	 	Xy!124O_" X Y
  Xs<   -N N*NN%NN N&?'N,*N,N2c                      [        X5      n[        U 5      [        U5      :X  a  g[	        X5      Ul        [        U 5      [        U5      :H  $ ! [        [        4 a     gf = f)NFT)r   	NameErrorSyntaxErrorrO   r   r9   )rK   r   r   s      r   _lambda_code_matches_noder   $  sc    *13 Q=22'4H}X666 {# s   A A A c                     g r   r   )	candidates    r   '_check_unknown_perfectly_aligned_lambdar   0  s     	r   )'fail_if_confused_with_perfect_candidatec                  ^^ [        U S5      (       a  U R                  n [        R                  " U 5      mTR                  [
        R                  S 4;   d   T5       e[        R                  R                  SS 5        U4S jnU" S5      n [        R                  " U 5      u  nm[        U5      n [        U   n/ nU Hl  nUR<                  U-
  TS-   s=::  a  UR<                  U-   ::  d  M/  O  M3  [.        R0                  " UR2                  T5      (       d  M[  UR?                  U5        Mn     URA                  U4S jS	9  U H;  n[5        X5      (       d  M  U" [(        R6                  " UR8                  5      5      s  $    U(       a$  US
   R<                  TS-   :X  a  [C        US
   5        U$ ! [         a    Us $ f = f! [         Ga>    [        R                  " UTS  5      n[         R"                  " SR%                  U5      5      nUR'                  S5      n [(        R*                  " U5      n	[-        U	5      n
U
 He  n[.        R0                  " UR2                  T5      (       d  M+  [5        X5      (       d  M=  U" [(        R6                  " UR8                  5      5      s  s $    O! [:         a     Of = f [(        R*                  " SR%                  U5      5      n[-        U5      nO! [:         a    / n Of = fU[        U'    GNOf = f)N__wrapped_targetz<string>c                 X   > TR                   (       a  S[        T5      SS  SU  3$ SU  3$ )Nzlambda rr   z: zlambda: )
parametersstr)r   sigs    r   format_lambda*_lambda_description.<locals>.format_lambdaD  s<    
 36..gc#hqn%Rv.	
HPQUPVFW	
r   	<unknown>r   .rr   c                 :   > [        TS-   U R                  -
  5      $ )Nrr   )abslineno)r   lineno0s    r   rb   %_lambda_description.<locals>.<lambda>}  s    s7Q;+A'Br   )keyr   )"hasattrr   rt   	signaturereturn_annotationr   empty	linecachecachepop
findsourcer   OSErrorr   KeyErrorgetblocktextwrapdedentr   removeprefixr'   parser*   r   ast_arguments_matches_signaturer   r   r   r   r   r   r   sortr   )rK   leewayr   r   if_confusedsource_linesall_lambdaslocal_lineslocal_block
local_treelocal_lambdasr   r)   aligned_lambdasr   r   s                 @@r   _lambda_descriptionr   6  s   q$%%
 

A
C  Y__d$;;@S@; OO
D)
  ,K ' 2 21 5g\*6'5@ O 	v%1Q	8H8H68QQQ::9>>3OO""9- ! BC$	$Q22 Y^^!<== %
 ?1-44!C/0BCk  
  6 &&|GH'=>oobggk&:; "..s3
	F;/J 0
;M*	==NNC /==(Y^^)DEE	 +	  			499RWW\23D .d3K  	K	 +6,';6s   $F/ 1	G /F>=F>AL
J)24L
*L
<(L
&L
)
J63L
5J66L
:%K+L
+K:7L
9K::L
	L
c                     [         U    $ ! [         a     Of = f[        U SS9nU R                  R                  U R                  R
                  4n [        U   u  p4SU;  d  X$;   a  U[         U '   U$ O! [         a    [        5       n Of = f[        U 5      nU[         U '   SU;   a  UR                  U5        OUR                  5         X44[        U'   U$ )a  
Returns a syntactically-valid expression describing `f`. This is often, but
not always, the exact lambda definition string which appears in the source code.
The difference comes from parsing the lambda ast into `tree` and then returning
the result of `ast.unparse(tree)`, which may differ in whitespace, double vs
single quotes, etc.

Returns a string indicating an unknown body if the parsing gets confused in any way.
T)r5   r   )r
   r   rO   r9   co_filenameco_firstlinenor   r   r   addclear)rK   r   locationdescriptionfailed_locationss        r   lambda_descriptionr    s    '**  
-C

&&

(A(ABH(G(L% k)X-I*5$Q' .J  !5! &a(K"-Qk!X& +6+H#C(s    
A4 4B
B)2   )'r'   r@   rt   r   r   r   collections.abcr   r   r   typingr   weakrefr   hypothesis.internalr   hypothesis.internal.cacher	   r
   r   __annotations__r   r   r   r|   Lambdar*   r4   rO   rQ   r   r   dictr}   r   r   r   r   r  r   r   r   <module>r     s        
  4   % * . ;L:M .37 M=Et=T %*c/!: T<Dc<R 8E#JSZZ(889 R
	 &+  F+ +aH !T#s(^  JZ	7	PQV Pf%r   