Ë
    iKêj'#  ã            
       óâ  — d dl mZmZmZmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZmZ d dlZd dlmZmZmZmZ d dlmZmZmZ d d	lmZ d d
lmZ d dlmZ d dlm Z  d dl!m"Z" d dl#m$Z$m%Z% d dl&m'Z'  ed«      Z(ddœdee   de)de*e   dz  defd„Z+de*e   de,e"e   df   de-e)e"e   e
z  f   dee)   de"f
d„Z.dede*e   de"fd„Z/dedee   de"fd„Z0d eee(      dee(ddf   fd!„Z1d"e)dee)ddf   fd#„Z2y)$é    )Ú
CollectionÚ	GeneratorÚIterableÚSequence)Úreduce)Úchain)ÚEllipsisType)ÚAnyÚTypeVarN)Ú_AndValidatorÚ_InstanceOfValidatorÚ_InValidatorÚ_OptionalValidator)Ú	AttributeÚAttrsInstanceÚFactory)Ú
strategies)ÚResolutionFailed)Úget_type_hints)ÚBuildsStrategy)ÚSearchStrategy)Ú	is_a_typeÚtype_sorting_key)ÚinferÚT©ÚtargetÚfieldsÚaliasr   Úreturnc                óè   — | D �cg c]  }|j                   |k(  sŒ|‘Œ }}|s3t        d|› d|rd|› �nd› d| D �cg c]  }|j                  ‘Œ c}› �«      ‚t        |«      dk(  sJ ‚|d   S c c}w c c}w )zÆ
    Get an attrs attribute by its alias, rather than its name (compare
    getattr(fields, name)).

    ``target`` is used only to provide a nicer error message, and can be safely
    omitted.
    zUnexpected keyword argument z for attrs classú Ú z. Expected one of é   r   )r   Ú	TypeErrorÚnameÚlen)r   r   r   ÚfÚmatched_fieldss        új/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/hypothesis/strategies/_internal/attrs.pyÚget_attribute_by_aliasr+   +   s“   € ð" "(Ö<˜A¨1¯7©7°eÓ+;’aÐ<€NÐ<ÙÜØ*¨5¨'Ð1AÙ%��6�(‰|¨2Ð.Ð.@Ø &Ö'˜1�—“Ò'Ð(ð*ó
ð 	
ô ˆ~Ó !Ò#Ð#Ð#Ø˜!ÑÐùò =ùò
 (s   …A*šA*¹A/Úargs.ÚkwargsÚto_inferc                 óò   — t        j                  | «      }|j                  «       D ��ci c]  \  }}|t        usŒ||“Œ }}}|D ]  }t	        ||| ¬«      }	t        |	| «      ||<   Œ! t        | ||«      S c c}}w )z?An internal version of builds(), specialised for Attrs classes.r   )Úattrr   Úitemsr   r+   Úfrom_attrs_attributer   )
r   r,   r-   r.   Ú
attributesÚkÚvÚ
new_kwargsr&   Úattribs
             r*   Ú
from_attrsr8   I   sˆ   € ô )-¯©°FÓ(;€JàŸ™›÷2Ù��A¨1´Eª>ˆˆ1‰ð2€Jñ 2ð ò @ˆÜ'¨
°DÀÔHˆÜ/°¸Ó?ˆ
�4Òð@ô ˜& $¨
Ó3Ð3ùó2s
   ©A3ºA3r7   c                 ó–  — t        j                  «       }t        | j                  t        «      rN| j                  €J ‚| j                  j
                  set        j                  | j                  j                  «      }n;| j                  t        j                  urt        j                  | j                  «      }t        j                  «       }g }t        «       }| j                  ��| j                  }t        |t        «      r t        j                  «       }|j                  }t        |t        «      r|j                   }n|g}|D ]¢  }t        |t"        «      rdt        |j$                  t&        «      r.|j)                  t+        t-        |j$                  «      «      «       Œ[|j)                  |j$                  «       Œwt        |t.        «      sŒˆ|j1                  |j2                  «       Œ¤ |r0t        j4                  t+        t7        |«      «      «      }	||z  |	z  }
n||z  t9        | |«      z  }
|
j:                  rt=        d| ›d|›�«      ‚|
S )z?Infer a strategy from the metadata on an attr.Attribute object.zVCannot infer a strategy from the default, validator, type, or converter for attribute=z
 of class=)ÚstÚnothingÚ
isinstanceÚdefaultr   Ú
takes_selfÚbuildsÚfactoryr0   ÚNOTHINGÚjustÚsetÚ	validatorr   Únoner   Ú_validatorsr   ÚoptionsÚstrÚappendÚlistÚall_substringsr   ÚaddÚtypeÚsampled_fromÚordered_intersectionÚtypes_to_strategyÚis_emptyr   )r7   r   r=   ÚnullÚin_collectionsÚvalidator_typesrD   Úvsr5   ÚsampleÚstrats              r*   r2   r2   ]   sÊ  € ô !Ÿj™j›l€Gô �&—.‘.¤'Ô*Ø�~‰~Ð)Ð)Ð)Ø�~‰~×(Ò(Ü—i‘i §¡× 6Ñ 6Ó7‰GØ	�‰œtŸ|™|Ñ	+Ü—'‘'˜&Ÿ.™.Ó)ˆô
 Ÿ:™:›<€Dà€Nä“e€OØ×ÑÑ#Ø×$Ñ$ˆ	Ü�iÔ!3Ô4Ü—7‘7“9ˆDØ!×+Ñ+ˆIÜ�i¤Ô/Ø×&Ñ&‰Bà�ˆBØò 	,ˆAÜ˜!œ\Ô*Ü˜aŸi™i¬Ô-Ø"×)Ñ)¬$¬~¸a¿i¹iÓ/HÓ*IÕJà"×)Ñ)¨!¯)©)Õ4Ü˜AÔ3Õ4Ø×#Ñ# A§F¡FÕ+ð	,ñ Ü—‘¤Ô&:¸>Ó&JÓ!KÓLˆØ˜$‘ Ñ'‰à˜$‘Ô!2°6¸?Ó!KÑKˆð ‡~‚~Üð'Ø'- j°
¸6¸*ðFó
ð 	
ð €Ló    Útypesc                 ó¨  ‡— t        |«      dk(  rS|\  }t        |t        «      r*t        j                  t        t        j                  |«      Ž S t        j                  |«      S |r¥|D �cg c]  }t        |t        «      r|n|f‘Œ }}t        t        |d«      «      D �‡cg c]  Št        ˆfd„|D «       «      r‰‘Œ }}|j                  t        ¬«       t        j                  |D �cg c]  }t        j                  |«      ‘Œ c}«      S t        t        | dd«      «      r-| j                  €J ‚t        j                  | j                  «      S t        | dd«      }t        |t        «      rt        j                  |«      S t        |«      r't!        |«      }d|v rt        j                  |d   «      S t        j"                  «       S c c}w c c}w c c}w )	zdFind all the type metadata for this attribute, reconcile it, and infer a
    strategy from the mess.r$   © c              3   ó6   •K  — | ]  }t        ‰|«      –— Œ y ­w)N)Ú
issubclass)Ú.0ÚtupÚts     €r*   ú	<genexpr>z$types_to_strategy.<locals>.<genexpr>°   s   øè ø€ Ò=¨#”:˜a ×%Ñ=ùs   ƒ)ÚkeyrM   NÚ	converterr    )r'   r<   Útupler:   Úone_ofÚmapÚ	from_typerC   ÚsumÚallÚsortr   r   ÚgetattrrM   Úcallabler   r;   )	r7   rY   Útypr4   Útype_tuplesr`   Úallowedrc   Úhintss	        `   r*   rP   rP   ž   sˆ  ø€ ô ˆ5ƒz�Q‚Ø‰ˆÜ�cœ5Ô!Ü—9‘9œc¤"§,¡,°Ó4Ð5Ð5Ü�|‰|˜CÓ Ð Ù	ð EJÖJ¸qœJ q¬%Ô0‘q°q°dÑ:ÐJˆÐJô
 œ˜[¨"Ó-Ó.÷
àÜÓ=°Ô=Ô=ò ð
ˆð 
ð
 	�‰Ô)ˆÔ*Ü�y‰y°7Ö;¨aœ"Ÿ,™, q�/Ò;Ó<Ð<ô ”˜ ¨Ó.Ô/Ø�{‰{Ð&Ð&Ð&ô �|‰|˜FŸK™KÓ(Ð(ä˜ ¨TÓ2€IÜ�)œTÔ"Ü�|‰|˜IÓ&Ð&Ü	�)Ô	Ü˜yÓ)ˆØ�uÑÜ—<‘<  h¡Ó0Ð0ä�:‰:‹<Ðùò9 Kùò
ùò <s   Á)GÂG
Ã'GÚin_c              #   óÂ   K  — t        t        j                  | t        | d   «      «      }t        j                  | «      D ]  }||v sŒ|–— |j                  |«       Œ y­w)zBSet union of n sequences, ordered for reproducibility across runs.r   N)r   rC   Úintersectionr   Úfrom_iterableÚremove)rq   rs   Úxs      r*   rO   rO   É   sW   è ø€ äœ#×*Ñ*¨C´°S¸±V³Ó=€LÜ× Ñ  Ó%ò #ˆØ�ÒØŠGØ×Ñ Õ"ñ#ùs   ‚AAÁAÚsc              #   ó’   K  — | dd –— t        | «      D ].  \  }}t        t        | «      |z
  «      D ]  }| |||z   dz    –— Œ Œ0 y­w)zäGenerate all substrings of `s`, in order of length then occurrence.
    Includes the empty string (first), and any duplicates that are present.

    >>> list(all_substrings('010'))
    ['', '0', '1', '0', '01', '10', '010']
    Nr   r$   )Ú	enumerateÚranger'   )rw   ÚnÚ_Úis       r*   rK   rK   Ò   s[   è ø€ ð ˆBˆQˆ%‚KÜ˜!“ò #‰ˆˆ1Ü”s˜1“v ‘zÓ"ò 	#ˆAØ�A˜˜A™ ™	Ð"Ó"ñ	#ñ#ùs   ‚AA)3Úcollections.abcr   r   r   r   Ú	functoolsr   Ú	itertoolsr   rY   r	   Útypingr
   r   r0   Úattr.validatorsr   r   r   r   Úattrsr   r   r   Ú
hypothesisr   r:   Úhypothesis.errorsr   Úhypothesis.internal.compatr   Ú$hypothesis.strategies._internal.corer   Ú*hypothesis.strategies._internal.strategiesr   Ú%hypothesis.strategies._internal.typesr   r   Úhypothesis.utils.conventionsr   r   rH   rM   r+   rd   Údictr8   r2   rP   rO   rK   r[   rX   r*   ú<module>rŒ      sp  ð÷ FÓ EÝ Ý Ý ß ã ÷ó ÷ 4Ñ 3å 'Ý .Ý 5Ý ?Ý Eß MÝ .áˆCƒL€ð *.ò	Ø�YÑðàðð �Ñ $Ñ&ð	ð
 óð<4Ø�Ñð4à
�˜sÑ# SÐ(Ñ
)ð4ð ��n SÑ)¨LÑ8Ð8Ñ9ð4ð �s‰mð	4ð
 ó4ð(>Øð>Ø# MÑ2ð>àó>ðB(˜ið (°
¸3±ð (ÀNó (ðV#˜h x°¡{Ñ3ð #¸	À!ÀTÈ4À-Ñ8Pó #ð
#�cð 
#˜i¨¨T°4¨Ñ8ô 
#rX   