
    iH/              	          % 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
  S SKJr  S SK JrJr  S SKJr  S SKJr  S SKJrJr  S S	KJrJr  S S
KJr  S SKJr  \(       a  S SKJr  \\\ 4   r!\\"S'   \\!S-  \!4   r#\\"S'   \$\#   r%\\"S'   \ RL                  S\S\'4S j5       r(Sr)\*" \S5      (       a"  \RV                  RX                  RZ                  S0r. " S S5      r/Sr0S\
\   S\4S jr1S r2\" \Rf                  " S5      5      Ri                  5       \" \Rf                  " S5      5      Ri                  5       1r5\" \Rf                  " S5      5      Ri                  5       \" \Rf                  " S5      5      Ri                  5       1r6S r7 " S! S"\5      r8S#\S$\ S\\ \\ 4   4S% jr9S&S'.S( jr:S) r;\ R                  S\4S* j5       r<S+\%S\=\\>\    4   4S, jr?g)-    N)defaultdict)Iterable)IntEnum)	lru_cachereduce)sep)Path)TYPE_CHECKING	TypeAlias)Phase	Verbosity)PYPY)is_hypothesis_file)SelfLocationBranchTracefnamereturnc                 R    [        U 5      =(       d    U R                  S5      (       + $ )N<)r   
startswith)r   s    ]/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/hypothesis/internal/scrutineer.pyshould_trace_filer   &   s"     #5)BU-=-=c-BCC       
monitoring
trace_linec                       \ rS rSrSrSrS\SS4S jr\S\4S j5       r	\
S\4S	 j5       rS
 rS\R                  S\SS4S jrSS jrS rSrg)Tracer6   z&A super-simple branch coverage tracer.)	_branches_previous_location_should_trace_tried_and_failed_to_traceshould_tracer   Nc                z    [        5       U l        S U l        SU l        U=(       a    U R	                  5       U l        g )NF)setr"   r#   r%   	can_tracer$   )selfr&   s     r   __init__Tracer.__init__@   s/    &)e37*/')>dnn.>r   c                      [         (       a  g[        [        S5      (       a%  [        R                  R	                  [
        5      S L $ [        R                  " 5       S L $ )NFr   )r   hasattrsysr   get_toolMONITORING_TOOL_IDgettrace r   r   r)   Tracer.can_traceF   sC    43%%>>**+=>$FF||~%%r   c                 ,    [        U R                  5      $ N)	frozensetr"   )r*   s    r   branchesTracer.branchesN   s    ((r   c                     US:X  a  U R                   $ US:X  ab  UR                  R                  n[        U5      (       a;  XAR                  4nU R
                  R                  U R                  U45        XPl        g g g ! [         a     g f = f)Ncallline)	tracef_codeco_filenamer   f_linenor"   addr#   RecursionError)r*   frameeventargr   current_locations         r   r=   Tracer.traceR   s    
	zz!&00$U++(-~~'>$NN&&(?(?AQ'RS.>+ , !  		s   A= A&A= =
B
	B
codeline_numberc                     UR                   n[        U5      (       d  [        R                  R                  $ X24nU R
                  R                  U R                  U45        X@l        g r6   )r?   r   r/   r   DISABLEr"   rA   r#   )r*   rH   rI   r   rF   s        r   r   Tracer.trace_line_   sW       '' >>)))!/D335EFG"2r   c                    SU l         U R                  (       d  U $ [        [        S5      (       d"  [        R                  " U R
                  5        U $  [        R                  R                  [        S5        [        R                  5        HX  u  p[        R                  R                  [        U5        [        X5      n[        R                  R                  [        X5        MZ     U $ ! [         a    SU l         U s $ f = f)NFr   
scrutineerT)r%   r$   r.   r/   settracer=   r   use_tool_idr1   
ValueErrorMONITORING_EVENTSitems
set_eventsgetattrregister_callback)r*   rD   callback_namecallbacks       r   	__enter__Tracer.__enter__j   s    */'!!KsL))LL$K	NN&&'9<H %6$;$;$= ENN%%&8%@t3HNN,,-?Q %>
   	 /3D+K		s   $C) )C?>C?c                 N   U R                   (       d  g [        [        S5      (       d  [        R                  " S 5        g U R                  (       a  g [        R
                  R                  [        5        [         H(  n[        R
                  R                  [        US 5        M*     g )Nr   )
r$   r.   r/   rO   r%   r   free_tool_idr1   rR   rV   )r*   argskwargsrD   s       r   __exit__Tracer.__exit__   sj    !!sL))LL**##$67&ENN,,-?M 'r   )r   r   )__name__
__module____qualname____firstlineno____doc__	__slots__boolr+   staticmethodr)   propertyr   r8   r=   typesCodeTypeintr   rY   r_   __static_attributes__r3   r   r   r    r    6   s    0I? ? ? &t & & )% ) )	3u~~ 	3C 	3D 	32Nr   r    )z/contextlib.pyz/inspect.pyz/re.pyz/re/__init__.pyz/warnings.pyz/_pytest/**z/pluggy/_*.pyz/pygments/*z/difflib.pyz/reprlib.pyz
/typing.pyz/conftest.pyz
/pprint.pylocsc                 2    SR                  S U  5       5      $ )zTranslate a list of glob patterns to a combined regular expression.
Only the * and ** wildcards are supported, and patterns including special
characters will only work by chance.|c              3     #    U  Hv  nUR                  S [        R                  " S 5      5      R                  SS5      R                  SS5      R                  S[        R                  " [        5      5      S-   v   Mx     g7f).z**z.+*z[^/]+/z\ZN)replacereescaper   ).0locs     r   	<genexpr>_glob_to_re.<locals>.<genexpr>   sb       C 	C3(	u		h		biin	%
		
 s   A>B )join)rn   s    r   _glob_to_rer}      s$    
 88    r   c                    U (       d  0 $ U R                  5        VVs0 s H  u  pU[        5       R                  " U6 _M     nnnS 1R                  " UR                  S [        5       5      6 nU R                  5        VVVs0 s HN  u  pUc  M
  U[	        [        R
                  U Vs/ s H  n[        5       R                  " U6 PM     sn5      U-
  _MP     nnnnU Vs0 s H  o[        [        5      _M     nnUR                  5        H9  u  pU H  u  pXq   U	   R                  U
5        M     Xq   S    (       a  M4   S5       e   [        [        5      nU H  nS 1n[        5       nU(       d  M  UR                  U5      (       d   SX-   35       eUR                  5       n	UR                  U	5        XU   ;   a  X   R                  U	5        OUR                  Xq   U	   U-
  5        U(       a  M  M     [        R                  " [        [        5      5      nUR                  5        VVVs0 s H3  u  pX Vs1 s H   nUR                  US   5      (       a  M  UiM"     sn_M5     snnn$ s  snnf s  snf s  snnnf s  snf s  snf s  snnnf )Nz&Expected start node with >=1 successorzIntersection: r   )rS   r(   unionpopr   intersectionr   rA   
isdisjointupdaterv   compiler}   UNHELPFUL_LOCATIONSsearch)tracesoriginvaluesunionsseen_passingvalways_failing_never_passing	cf_graphs	seen_arcssrcdstexplanationsqueueseenfilter_regex	afnp_locsry   s                    r   get_explaining_locationsr      sT    	AGP~vfcekk6**FP6<<D#%!89L
 %lln$ -NF	s''6)J6a#%++q/6)JK
 	, ! $ 9??fS))I?#\\^!HCc"&&s+ " &&P(PP& , s#Lue##D))J^EL>+JJ)))+CHHSM6::$((-Y.s3d:; e  ::k*=>?L ".!3!3!5!5F 		M	1D1DSV1L	MM!5 K Q *K$ @6 NsG   $I* 	I5I5&!I0I5I<+J7JJJ0I5J
platstdlibstdlibpurelibplatlib)zExplanation:z=    These lines were always and only run by failing examples:c                   R    \ rS rSrSrSrSr\\" S5      S\	SS 4S j5       5       r
S	rg
)ModuleLocation   r         i   pathr   c                    ^ [        T5      R                  5       m[        U4S j[         5       5      (       a  U R                  $ [        U4S j[
         5       5      (       a  U R                  $ U R                  $ )Nc              3   F   >#    U  H  nTR                  U5      v   M     g 7fr6   is_relative_torx   pr   s     r   rz   +ModuleLocation.from_path.<locals>.<genexpr>	  s!     B/A!t""1%%/A   !c              3   F   >#    U  H  nTR                  U5      v   M     g 7fr6   r   r   s     r   rz   r     s     ;{!t""1%%{r   )r	   resolveanySITE_PACKAGES_DIRSSITE_PACKAGESSTDLIB_DIRSSTDLIBLOCAL)clsr   s    `r   	from_pathModuleLocation.from_path  s\     Dz!!# B/ABBB$$$;{;;;::yyr   r3   N)ra   rb   rc   rd   r   r   r   classmethodr   strr   rm   r3   r   r   r   r      s>    EMFt_S %5   r   r   r   linenoc                 0    [         R                  U 5      X4$ r6   )r   r   )r   r   s     r   	_sort_keyr     s    $$T*D99r      cap_lines_atc          	      p   [        [        5      nU R                  5        H  u  p4[        U5      nUR                  S S9  U VVs/ s H  u  pVSU SU 3PM     nnn[	        U5      US-   :  a!  SnUR                  [	        XqS  5      5      /XqS & U(       d  Mx  [        [        5      U-   X#'   M     U$ s  snnf )Nc                 &    [        U S   U S   5      $ )Nr   r   )r   )r   s    r   <lambda>make_report.<locals>.<lambda>  s    YqtQqT%:r   )keyz        :r   z8        (and {} more with settings.verbosity >= verbose))r   listrS   sortlenformatEXPLANATION_STUB)	r   r   reportr   	locationsr   r   report_linesmsgs	            r   make_reportr     s    F)//1O	:;IRS(5'6(3S||a//LC+.::c,}:U6V+W*XL'<!"23lBFN 2 M Ts   B2c                    [         R                  UR                  ;   a0  [        R                  " 5       (       a  U (       d  [        [        5      $ [        U 5      nUR                  [        R                  ::  a  SO
[        S5      n[        X#S9$ )Nr   infr   )r   explainphasesr/   r2   r   r   r   	verbosityr   normalfloatr   )r   settingsr   	max_liness       r   explanatory_linesr   #  s\    }}'CLLNN64  +F3L''9+;+;;uI|<<r   c            	           [         R                  " / SQSSSSSS9R                  R                  5       n [	        U 5      $ ! [
         a(    [	        5       R                  5       R                  S   s $ f = f)N)gitz	rev-parsez--show-toplevelT
   zutf-8)checktimeoutcapture_outputtextencoding)
subprocessrunstdoutstripr	   	Exceptionabsoluteparents)wheres    r   _get_git_repo_rootr   /  sn    3
 & 	 E{  -v ((,,-s   3A   /A21A2r=   c                    0 n[        U 5      n[        UR                  5       5      R                  UR	                  5       5      S1-
   H.  u  p4UR                  U[        5       5      R                  U5        M0     [        R                   S[        R                   S[        R                  R                   [        R                   3nUR                  5        VVs0 s HU  u  pgXV;  d  M  [        U5      =nR                  [        5       5      (       d  M7  SUR                   ;  d  MI  U[#        U5      _MW     snn$ s  snnf )zIReport a simple coverage map which is (probably most) of the user's code.Nlibzpython3.zsite-packages)dictr(   keysr   r   
setdefaultrA   osr   r/   version_infominorrS   r	   r   r   partssorted)	r=   coveragetfiler<   stdlib_fragmentkr   r   s	            r   tractable_coverage_reportr   @  s   HUA!&&(m))!((*5>
 	D#%(,,T2 ? BFF88C4D4D4J4J3KBFF8TO NN$$DA# 	 q'\Q))*<*>? 	 177*	 	6!9$  s   D;*'D;D;'D;)@	functoolsr   rv   r   r/   	sysconfigrj   collectionsr   collections.abcr   enumr   r   r   r   pathlibr	   typingr
   r   hypothesis._settingsr   r   hypothesis.internal.compatr   hypothesis.internal.escalationr   typing_extensionsr   tupler   rl   r   __annotations__r   r7   r   cacherg   r   r1   r.   r   eventsLINErR   r    r   r}   r   get_pathr   r   r   r   r   r   r   r   r   r   r   r   r3   r   r   <module>r
     s    	 	  
   # $  '   + 1 + =&CHo) %(T/834	 4V$y $ DS DT D D  
3..33\BZN ZNz 4hsm  .h 			L	)*224		H	%&..0
 			I	&'//1		I	&'//1 
 W &:C : :sC})= : /0 = D   U tCcN/C r   