Ë
   MÖô/iWñaã            
       óŽ  — U d dl Zd dlmc mZ d dlZd dlZd dlZd dl	Z	d dl
Z
d dlmZ d dlmZmZmZmZmZmZ d dlmZ d dl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!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z' d d
l(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/ d dl0m1Z1 d dl2m3Z3 d dl4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZC d dlDmEZEmFZF d dlGmHZHmIZImJZJ d dlKmLZL d dlMmNZN d dlOmPZPmQZQmRZRmSZS d dlTmUZU d dlVmWZW d dlXmYZY d dlZm[Z[ d dl\m]Z]m^Z^ d dl_m`Z` d dlambZb d dlcmdZd e rd dlemfZf d dlgmhZh d dlimjZj d dlkmlZl demd e!fd!„Zn e%d"«      Zoepemeqerz  f   Zseteqe;e7e9dz  f   Zue$evd#<    eLd$«      Zw eLd%«      Zxd&Zy ebeq¬'«      Zz G d(„ d)e«      Z{ ed*d*¬+«       G d,„ d-«      «       Z|i Z}epeqe|f   evd.<   d/eqd e|fd0„Z~ e1d1«      Ze1ete!d2f   e7f   evd3<   eqe€eme�ere	�j                  e�j                  ej                  ej                  e�j                  f
Z…ete†d2f   evd4<    e]d5«      Z‡ G d6„ d7«      Zˆ G d8„ d9«      Z‰ G d:„ d;e«      ZŠ G d<„ d=«      Z‹ G d>„ d?e‰«      ZŒ G d@„ dAe‰«      Z� G dB„ dCe‰«      ZŽ G dD„ dEe‰«      Z� G dF„ dGe‰«      Z� G dH„ dIe‰«      Z‘ G dJ„ dK«      Z’ G dL„ dM«      Z“ e“«       Z” G dN„ dO«      Z• ed*d*¬+«       G dP„ dQ«      «       Z– G dR„ dS«      Z—dTe;dUe7dVed e9fdW„Z˜y)Xé    N)Údefaultdict)ÚCallableÚ	GeneratorÚHashableÚIterableÚIteratorÚSequence)Úcontextmanager)Ú	dataclassÚfield)ÚIntEnum)Úcached_property)ÚRandom)ÚTYPE_CHECKINGÚAnyÚLiteralÚNoReturnÚ	TypeAliasÚTypeVarÚcastÚoverload)ÚCannotInvertÚCannotProceedScopeTÚChoiceTooLargeÚFlakyStrategyDefinitionÚFrozenÚInvalidArgumentÚStopTest)ÚLRUCache)Úadd_note)ÚBooleanConstraintsÚBytesConstraintsÚChoiceConstraintsTÚ
ChoiceNodeÚChoiceTÚChoiceTemplateÚChoiceTypeTÚFloatConstraintsÚIntegerConstraintsÚStringConstraintsÚ	ValueHoleÚchoice_constraints_keyÚchoice_from_indexÚchoice_permittedÚchoice_size)ÚIntListÚgc_cumulative_time)ÚCOLLECTION_DEFAULT_MAX_SIZEÚHypothesisProviderÚPrimitiveProvider)Úcalc_label_from_name)ÚInterestingOrigin)ÚSMALLEST_SUBNORMALÚfloat_to_intÚint_to_floatÚsign_aware_lte)ÚIntervalSet)ÚPredicateCounts)Úfunction_location)Údebug_report)ÚUniqueIdentifierÚnot_set)Únote_deprecation)ÚThreadLocal)Ú
ArgLabelsT)ÚSearchStrategy)Ú
DataObject)ÚRandomState)ÚExÚnameÚreturnc                 óV   — | dk(  rddl m} t        dddd¬«       |S t        d	| › �«      ‚)
NÚAVAILABLE_PROVIDERSr   )rK   z‡hypothesis.internal.conjecture.data.AVAILABLE_PROVIDERS has been moved to hypothesis.internal.conjecture.providers.AVAILABLE_PROVIDERS.z
2025-01-25Fé   )ÚsinceÚhas_codemodÚ
stacklevelz>Module 'hypothesis.internal.conjecture.data' has no attribute )Ú(hypothesis.internal.conjecture.providersrK   rA   ÚAttributeError)rH   rK   s     úh/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/hypothesis/internal/conjecture/data.pyÚ__getattr__rS   \   sD   € ØÐ$Ò$ÝPäðLàØØõ	
ð #Ð"ä
Ø
HÈÈÐOóð ó    ÚTÚMisalignedAtÚtopz)a collection with a uniqueness constraintéd   )Úglobal_test_counterc                   ó(   — e Zd ZdZdZdZdZdefd„Zy)ÚStatusr   rL   é   é   rI   c                 ó    — d| j                   › �S )NzStatus.)rH   ©Úselfs    rR   Ú__repr__zStatus.__repr__‚   s   € Ø˜Ÿ™˜Ð$Ð$rT   N)	Ú__name__Ú
__module__Ú__qualname__ÚOVERRUNÚINVALIDÚVALIDÚINTERESTINGÚstrra   © rT   rR   r[   r[   |   s"   „ Ø€GØ€GØ€EØ€Kð%˜#ô %rT   r[   T)ÚslotsÚfrozenc                   ó   — e Zd ZU eed<   y)ÚStructuralCoverageTagÚlabelN)rb   rc   rd   ÚintÚ__annotations__rj   rT   rR   rn   rn   †   s   … à„JrT   rn   ÚSTRUCTURAL_COVERAGE_CACHEro   c                 ór   — 	 t         |    S # t        $ r" t         j                  | t        | «      «      cY S w xY w©N)rr   ÚKeyErrorÚ
setdefaultrn   ©ro   s    rR   Ústructural_coveragerx   Ž   s>   € ðYÜ(¨Ñ/Ð/øÜò YÜ(×3Ñ3°EÔ;PÐQVÓ;WÓXÒXðYús   ‚ ‹(6µ6i   .ÚPOOLED_CONSTRAINTS_CACHEÚ_RECORDABLE_VALUE_TYPESÚno_recorded_valuec                   ó  — e Zd ZdZdZdddeddfd„Zd	edefd
„Z	d	edefd„Z
defd„Zedefd„«       Zededz  fd„«       Zedefd„«       Zedefd„«       Zedefd„«       Zedefd„«       Zedefd„«       Zedd„«       Zedefd„«       Zy)ÚSpanau  A span tracks the hierarchical structure of choices within a single test run.

    Spans are created to mark regions of the choice sequence that are
    logically related to each other. For instance, Hypothesis tracks:
    - A single top-level span for the entire choice sequence
    - A span for the choices made by each strategy
    - Some strategies define additional spans within their choices. For instance,
      st.lists() tracks the "should add another element" choice and the "add
      another element" choices as separate spans.

    Spans provide useful information to the shrinker, mutator, targeted PBT,
    and other subsystems of Hypothesis.

    Rather than store each ``Span`` as a rich object, it is actually
    just an index into the ``Spans`` class defined below. This has two
    purposes: Firstly, for most properties of spans we will never need
    to allocate storage at all, because most properties are not used on
    most spans. Secondly, by storing the spans as compact lists
    of integers, we save a considerable amount of space compared to
    Python's normal object size.

    This does have the downside that it increases the amount of allocation
    we do, and slows things down as a result, in some usage patterns because
    we repeatedly allocate the same Span or int objects, but it will
    often dramatically reduce our memory usage, so is worth it.
    )ÚindexÚownerr   ÚSpansr~   rI   Nc                 ó    — || _         || _        y rt   )r   r~   )r`   r   r~   s      rR   Ú__init__zSpan.__init__Í   s   € ØˆŒ
Øˆ�
rT   Úotherc                 óž   — | |u ryt        |t        «      st        S | j                  |j                  u xr | j                  |j                  k(  S )NT©Ú
isinstancer}   ÚNotImplementedr   r~   ©r`   rƒ   s     rR   Ú__eq__zSpan.__eq__Ñ   sA   € Ø�5‰=ØÜ˜%¤Ô&Ü!Ð!Ø—
‘
˜eŸk™kÐ)ÒJ°·
±
¸e¿k¹kÑ0IÐJrT   c                 óž   — | |u ryt        |t        «      st        S | j                  |j                  uxs | j                  |j                  k7  S )NFr…   rˆ   s     rR   Ú__ne__zSpan.__ne__Ø   sA   € Ø�5‰=ØÜ˜%¤Ô&Ü!Ð!Ø—
‘
 %§+¡+Ð-ÒM°4·:±:ÀÇÁÑ3LÐMrT   c                 ó"   — d| j                   › d�S )Nzspans[ú])r~   r_   s    rR   ra   zSpan.__repr__ß   s   € Ø˜Ÿ
™
�| 1Ð%Ð%rT   c                 óv   — | j                   j                  | j                   j                  | j                        S )z£A label is an opaque value that associates each span with its
        approximate origin, such as a particular strategy class or a particular
        kind of draw.)r   ÚlabelsÚlabel_indicesr~   r_   s    rR   ro   z
Span.labelâ   s,   € ð
 �z‰z× Ñ  §¡×!9Ñ!9¸$¿*¹*Ñ!EÑFÐFrT   c                 óh   — | j                   dk(  ry| j                  j                  | j                      S )z>The index of the span that this one is nested directly within.r   N)r~   r   Ú	parentager_   s    rR   ÚparentzSpan.parenté   s+   € ð �:‰:˜Š?ØØ�z‰z×#Ñ# D§J¡JÑ/Ð/rT   c                 óH   — | j                   j                  | j                     S rt   )r   Ústartsr~   r_   s    rR   Ústartz
Span.startð   s   € à�z‰z× Ñ  §¡Ñ,Ð,rT   c                 óH   — | j                   j                  | j                     S rt   )r   Úendsr~   r_   s    rR   ÚendzSpan.endô   s   € à�z‰z�‰˜tŸz™zÑ*Ð*rT   c                 óH   — | j                   j                  | j                     S )z[
        Depth of this span in the span tree. The top-level span has a depth of 0.
        )r   Údepthsr~   r_   s    rR   Údepthz
Span.depthø   s   € ð
 �z‰z× Ñ  §¡Ñ,Ð,rT   c                 óF   — | j                   | j                  j                  v S )a[  True if this is span's ``stop_span`` call had ``discard`` set to
        ``True``. This means we believe that the shrinker should be able to delete
        this span completely, without affecting the value produced by its enclosing
        strategy. Typically set when a rejection sampler decides to reject a
        generated value and try again.)r~   r   Ú	discardedr_   s    rR   rž   zSpan.discardedÿ   s   € ð �z‰z˜TŸZ™Z×1Ñ1Ð1Ð1rT   c                 ó4   — | j                   | j                  z
  S )z#The number of choices in this span.)r™   r–   r_   s    rR   Úchoice_countzSpan.choice_count  s   € ð �x‰x˜$Ÿ*™*Ñ$Ð$rT   c                 óˆ   — | j                   j                  | j                     D �cg c]  }| j                   |   ‘Œ c}S c c}w )zOThe list of all spans with this as a parent, in increasing index
        order.)r   Úchildrenr~   ©r`   Úis     rR   r¢   zSpan.children  s3   € ð (,§z¡z×':Ñ':¸4¿:¹:Ñ'FÖG !�—
‘
˜1“ÒGÐGùÒGs   ¦?c                 óÄ   — | j                   j                  j                  | j                  t        «      }t        |t        j                  «      r |«       }|€t        S |S |S )zÍThe value produced by the strategy draw corresponding to this span,
        or the ``no_recorded_value`` sentinel if no value was recorded, or if
        a weakly-referenced value has since been collected.)r   Úspan_valuesÚgetr~   r{   r†   ÚweakrefÚReferenceType)r`   ÚvalueÚreferents      rR   Úrecorded_valuezSpan.recorded_value  sR   € ð
 —
‘
×&Ñ&×*Ñ*¨4¯:©:Ô7HÓIˆÜ�eœW×2Ñ2Ô3Ù“wˆHØ(0Ð(8Ô$ÐF¸hÐFØˆrT   )rI   z
list[Span])rb   rc   rd   Ú__doc__Ú	__slots__rp   r‚   ÚobjectÚboolr‰   r‹   ri   ra   Úpropertyro   r“   r–   r™   rœ   rž   r    r¢   r   r¬   rj   rT   rR   r}   r}   ¯   sU  „ ñð6 #€Ið˜gð ¨cð °dó ðK˜Fð K tó KðN˜Fð N tó Nð&˜#ó &ð ðG�sò Gó ðGð ð0˜˜d™
ò 0ó ð0ð ð-�sò -ó ð-ð ð+�Sò +ó ð+ð ð-�sò -ó ð-ð ð2˜4ò 2ó ð2ð ð%˜cò %ó ð%ð òHó ðHð
 ð ò ó ñrT   r}   c                   óx   — e Zd ZdZdd„Zdefd„Zdeddfd„Zde	ddfd	„Z
d
ededdfd„Zd
ede	ddfd„Zdefd„Zy)ÚSpanPropertya  There are many properties of spans that we calculate by
    essentially rerunning the test case multiple times based on the
    calls which we record in SpanProperty.

    This class defines a visitor, subclasses of which can be used
    to calculate these properties.
    c                 ó<   — g | _         || _        d| _        d| _        y ©Nr   )Ú
span_stackÚspansÚ
span_countr    )r`   r·   s     rR   r‚   zSpanProperty.__init__(  s   € Ø%'ˆŒØˆŒ
ØˆŒØˆÕrT   rI   c                 óŒ  — | j                   j                  D ]œ  }|t        j                  k(  r| j	                  d¬«       Œ)|t        j
                  k(  r| j	                  d¬«       ŒO|t        j                  k(  r| xj                  dz  c_        Œx| j                  |t        j                  z
  dz
  «       Œž | j                  «       S )zZRerun the test case with this visitor and return the
        results of ``self.finish()``.T©rž   FrL   )
r·   ÚtrailÚ	TrailTypeÚSTOP_SPAN_DISCARDÚ_SpanProperty__popÚSTOP_SPAN_NO_DISCARDÚCHOICEr    Ú_SpanProperty__pushÚfinish©r`   Úrecords     rR   ÚrunzSpanProperty.run.  s    € ð —j‘j×&Ñ&ò 		;ˆFØœ×4Ñ4Ò4Ø—
‘
 T�
Õ*Øœ9×9Ñ9Ò9Ø—
‘
 U�
Õ+Øœ9×+Ñ+Ò+Ø×!Ò! QÑ&Ö!ð —‘˜F¤Y×%5Ñ%5Ñ5¸Ñ9Õ:ð		;ð �{‰{‹}ÐrT   Úlabel_indexNc                 óZ  — | j                   }| j                  }t        |«      }||k  }|�s7t        j                  d|fd||f«      dt        j                  «       v st        j                  |«      rt        j                  |«      nddt        j                  «       v st        j                  t        «      rt        j                  t        «      nddt        j                  «       v st        j                  | «      rt        j                  | «      ndt        j                  |«      t        j                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d x}x}}| j                  ||¬	«       | xj                   d
z  c_         | j                  j                  |«       y )N©ú<)zJ%(py0)s < %(py7)s
{%(py7)s = %(py2)s(%(py5)s
{%(py5)s = %(py3)s.spans
})
}r¤   Úlenr`   )Úpy0Úpy2Úpy3Úpy5Úpy7zassert %(py9)sÚpy9)rÆ   rL   )r¸   r·   rÊ   Ú
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanationÚ
start_spanr¶   Úappend)r`   rÆ   r¤   Ú@py_assert4Ú@py_assert6Ú@py_assert1Ú@py_format8Ú@py_format10s           rR   Ú__pushzSpanProperty.__push>  sê   € Ø�O‰OˆØ—z‘zÐ"”3�z“?Ð"ˆq�?Ñ"×"×"Ö"ˆq�?×"×"×"×"×"Ñ"ˆq×"×"Ó"ˆq×"×"×"×"×"Ò"”3×"×"Ó"”3×"×"×"×"×"Ò"�t×"×"Ó"�t×"×"Ô"�z×"×"Ò"�?×"×"×"×"×"×"Ó"Ø�‰˜ {ˆÔ3Ø�Š˜1Ñ�Ø�‰×Ñ˜qÕ!rT   rž   c                ó^   — | j                   j                  «       }| j                  ||¬«       y )Nrº   )r¶   ÚpopÚ	stop_span)r`   rž   r¤   s      rR   Ú__popzSpanProperty.__popE  s$   € Ø�O‰O×ÑÓ!ˆØ�‰�q IˆÕ.rT   r¤   c                  ó   — y)z—Called at the start of each span, with ``i`` the
        index of the span and ``label_index`` the index of
        its label in ``self.spans.labels``.Nrj   ©r`   r¤   rÆ   s      rR   rÙ   zSpanProperty.start_spanI  ó   � rT   c                 ó   — y)z¤Called at the end of each span, with ``i`` the
        index of the span and ``discarded`` being ``True`` if ``stop_span``
        was called with ``discard=True``.Nrj   ©r`   r¤   rž   s      rR   rã   zSpanProperty.stop_spanN  rç   rT   c                 ó   — t         ‚rt   )ÚNotImplementedErrorr_   s    rR   rÂ   zSpanProperty.finishS  s   € Ü!Ð!rT   )r·   r€   )rb   rc   rd   r­   r‚   r   rÅ   rp   rÁ   r°   r¾   rÙ   rã   rÂ   rj   rT   rR   r³   r³     s~   „ ñóð�Só ð " #ð "¨$ó "ð/ $ð /¨4ó /ð/˜Cð /¨cð /°dó /ð
-˜3ð -¨dð -°tó -ð
"˜ô "rT   r³   c                   ó   — e Zd ZdZdZdZy)r¼   rL   r\   r]   N)rb   rc   rd   r½   r¿   rÀ   rj   rT   rR   r¼   r¼   W  s   „ ØÐØÐØ�FrT   r¼   c                   ó\   — e Zd ZdZdd„Zdd„Zdd„Zdeddfd„Zd	e	ddfd
„Z
dededdfd„Zy)Ú
SpanRecorda°  Records the series of ``start_span``, ``stop_span``, and
    ``draw_bits`` calls so that these may be stored in ``Spans`` and
    replayed when we need to know about the structure of individual
    ``Span`` objects.

    Note that there is significant similarity between this class and
    ``DataObserver``, and the plan is to eventually unify them, but
    they currently have slightly different functions and implementations.
    rI   Nc                 óh   — g | _         i | _        t        «       | _        g | _        d| _        i | _        y rµ   )r�   Ú_SpanRecord__index_of_labelsr0   r»   Únodesr¸   r¦   r_   s    rR   r‚   zSpanRecord.__init__k  s2   € Ø!#ˆŒØ8:ˆÔÜ“YˆŒ
Ø')ˆŒ
ð ˆŒØ+-ˆÕrT   c                 ó   — d | _         y rt   )rð   r_   s    rR   ÚfreezezSpanRecord.freezeu  s
   € Ø!%ˆÕrT   c                 óV   — | j                   j                  t        j                  «       y rt   )r»   rÚ   r¼   rÀ   r_   s    rR   Úrecord_choicezSpanRecord.record_choicex  s   € Ø�
‰
×Ñœ)×*Ñ*Õ+rT   ro   c                 óì  — | j                   }d }||u}|s­t        j                  d|fd||f«      dt        j                  «       v st        j
                  | «      rt        j                  | «      ndt        j                  |«      t        j                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d x}x}}	 | j                   |   }| j                  j                  t        j                   dz   |z   «       | xj"                  dz  c_        y # t        $ rM | j                   j                  |t        | j                  «      «      }| j                  j                  |«       Y Œšw xY w)N©úis not)z=%(py2)s
{%(py2)s = %(py0)s.__index_of_labels
} is not %(py5)sr`   ©rË   rÌ   rÎ   úassert %(py7)srÏ   rL   )rð   rÑ   rÒ   rÓ   rÔ   rÕ   rÖ   r×   rØ   ru   rv   rÊ   r�   rÚ   r»   r¼   rÀ   r¸   )r`   ro   rÝ   rÛ   Ú@py_assert3Ú@py_format6rÞ   r¤   s           rR   rÙ   zSpanRecord.start_span{  sÿ   € Ø×%Ñ%Ð1¨TÐ1Ð%¨TÐ1×1×1Õ1Ð%¨T×1×1×1×1×1Ñ1ˆt×1×1Ó1ˆt×1×1Ô1Ð%×1×1Ò1¨T×1×1×1×1×1×1Ó1ð	&Ø×&Ñ& uÑ-ˆAð 	�
‰
×Ñœ)×*Ñ*¨QÑ.°Ñ2Ô3Ø�Š˜1ÑŽøô	 ò 	&Ø×&Ñ&×1Ñ1°%¼¸T¿[¹[Ó9IÓJˆAØ�K‰K×Ñ˜uÖ%ð	&ús   Ã	D ÄAE3Å2E3Údiscardc                ó®   — |r*| j                   j                  t        j                  «       y | j                   j                  t        j                  «       y rt   )r»   rÚ   r¼   r½   r¿   )r`   rý   s     rR   rã   zSpanRecord.stop_span…  s5   € ÙØ�J‰J×Ñœi×9Ñ9Õ:à�J‰J×Ñœi×<Ñ<Õ=rT   Ú
span_indexrª   c                 óª   — t        |«      t        v r|| j                  |<   y 	 t        j                  |«      | j                  |<   y # t
        $ r Y y w xY wrt   )Útyperz   r¦   r¨   ÚrefÚ	TypeError)r`   rÿ   rª   s      rR   Úrecord_value_for_spanz SpanRecord.record_value_for_span‹  sQ   € ô
 �‹;Ô1Ñ1Ø+0ˆD×Ñ˜ZÒ(ðÜ/6¯{©{¸5Ó/A�× Ñ  Ò,øÜò Ùðús   £"A Á	AÁA©rI   N)rb   rc   rd   r­   r‚   ró   rõ   rp   rÙ   r°   rã   r   r  rj   rT   rR   rî   rî   `  sV   „ ñó.ó&ó,ð ð ¨ó ð> Dð >¨Tó >ð°ð ¸Cð ÀDô rT   rî   c                   ó^   ‡ — e Zd Zd
ˆ fd„Zdededdfd„Zdededdfd„Zdee	e	f   fd	„Z
ˆ xZS )Ú_starts_and_endsrI   Nc                 óØ   •— t         ‰| �  |«       t        j                  t	        | j
                  «      «      | _        t        j                  t	        | j
                  «      «      | _        y rt   )Úsuperr‚   r0   Ú	of_lengthrÊ   r·   r•   r˜   ©r`   r·   Ú	__class__s     €rR   r‚   z_starts_and_ends.__init__š  sD   ø€ Ü‰Ñ˜ÔÜ×'Ñ'¬¨D¯J©J«Ó8ˆŒÜ×%Ñ%¤c¨$¯*©*£oÓ6ˆ�	rT   r¤   rÆ   c                 ó6   — | j                   | j                  |<   y rt   )r    r•   ræ   s      rR   rÙ   z_starts_and_ends.start_spanŸ  s   € Ø×*Ñ*ˆ�‰�AŠrT   rž   c                ó6   — | j                   | j                  |<   y rt   )r    r˜   ré   s      rR   rã   z_starts_and_ends.stop_span¢  s   € Ø×(Ñ(ˆ�	‰	�!ŠrT   c                 ó2   — | j                   | j                  fS rt   )r•   r˜   r_   s    rR   rÂ   z_starts_and_ends.finish¥  s   € Ø—‘˜TŸY™YÐ'Ð'rT   ©r·   r€   rI   N)rb   rc   rd   r‚   rp   rÙ   r°   rã   Útupler0   rÂ   Ú__classcell__©r  s   @rR   r  r  ™  sR   ø„ õ7ð
+˜Cð +¨cð +°dó +ð)˜3ð )¨dð )°tó )ð(˜˜g wÐ.Ñ/÷ (rT   r  c                   óF   ‡ — e Zd Zdˆ fd„Zdee   fd„Zdededdfd„Zˆ xZ	S )	Ú
_discardedrI   Nc                 óB   •— t         ‰| �  |«       t        «       | _        y rt   )r	  r‚   ÚsetÚresultr  s     €rR   r‚   z_discarded.__init__ª  s   ø€ Ü‰Ñ˜ÔÜ #£ˆ�rT   c                 ó,   — t        | j                  «      S rt   )Ú	frozensetr  r_   s    rR   rÂ   z_discarded.finish®  s   € Ü˜Ÿ™Ó%Ð%rT   r¤   rž   c                ó@   — |r| j                   j                  |«       y y rt   )r  Úaddré   s      rR   rã   z_discarded.stop_span±  s   € ÙØ�K‰K�O‰O˜AÕð rT   r  )
rb   rc   rd   r‚   r  rp   rÂ   r°   rã   r  r  s   @rR   r  r  ©  s2   ø„ õ&ð&˜	 #™ó &ð˜3ð ¨dð °t÷ rT   r  c                   ó@   ‡ — e Zd Zdˆ fd„Zdededdfd„Zdefd„Zˆ xZ	S )	Ú
_parentagerI   Nc                 ó~   •— t         ‰| �  |«       t        j                  t	        | j
                  «      «      | _        y rt   ©r	  r‚   r0   r
  rÊ   r·   r  r  s     €rR   r‚   z_parentage.__init__·  ó*   ø€ Ü‰Ñ˜ÔÜ×'Ñ'¬¨D¯J©J«Ó8ˆ�rT   r¤   rž   c                óH   — |dkD  r| j                   d   | j                  |<   y y )Nr   éÿÿÿÿ)r¶   r  ré   s      rR   rã   z_parentage.stop_span»  s$   € ØˆqŠ5Ø!Ÿ_™_¨RÑ0ˆD�K‰K˜ŠNð rT   c                 ó   — | j                   S rt   ©r  r_   s    rR   rÂ   z_parentage.finish¿  ó   € Ø�{‰{ÐrT   r  )
rb   rc   rd   r‚   rp   r°   rã   r0   rÂ   r  r  s   @rR   r  r  ¶  s.   ø„ õ9ð1˜3ð 1¨dð 1°tó 1ð˜÷ rT   r  c                   ó@   ‡ — e Zd Zdˆ fd„Zdededdfd„Zdefd„Zˆ xZS )	Ú_depthsrI   Nc                 ó~   •— t         ‰| �  |«       t        j                  t	        | j
                  «      «      | _        y rt   r   r  s     €rR   r‚   z_depths.__init__Ä  r!  rT   r¤   rÆ   c                 óH   — t        | j                  «      | j                  |<   y rt   )rÊ   r¶   r  ræ   s      rR   rÙ   z_depths.start_spanÈ  s   € Ü˜TŸ_™_Ó-ˆ�‰�AŠrT   c                 ó   — | j                   S rt   r%  r_   s    rR   rÂ   z_depths.finishË  r&  rT   r  ©	rb   rc   rd   r‚   rp   rÙ   r0   rÂ   r  r  s   @rR   r(  r(  Ã  s.   ø„ õ9ð.˜Cð .¨cð .°dó .ð˜÷ rT   r(  c                   ó@   ‡ — e Zd Zdˆ fd„Zdededdfd„Zdefd„Zˆ xZS )	Ú_label_indicesrI   Nc                 ó~   •— t         ‰| �  |«       t        j                  t	        | j
                  «      «      | _        y rt   r   r  s     €rR   r‚   z_label_indices.__init__Ð  r!  rT   r¤   rÆ   c                 ó"   — || j                   |<   y rt   r%  ræ   s      rR   rÙ   z_label_indices.start_spanÔ  s   € Ø$ˆ�‰�AŠrT   c                 ó   — | j                   S rt   r%  r_   s    rR   rÂ   z_label_indices.finish×  r&  rT   r  r,  r  s   @rR   r.  r.  Ï  s.   ø„ õ9ð%˜Cð %¨cð %°dó %ð˜÷ rT   r.  c                   ój   ‡ — e Zd Zd
ˆ fd„Zdededdfd„Zdededdfd„Zdee	e
eef         fd	„Zˆ xZS )Ú_mutator_groupsrI   Nc                 óZ   •— t         ‰| �  |«       t        t        «      | _        g | _        y rt   )r	  r‚   r   r  ÚgroupsÚ_unique_stackr  s     €rR   r‚   z_mutator_groups.__init__Ü  s$   ø€ Ü‰Ñ˜ÔÜ7BÄ3Ó7GˆŒØ(*ˆÕrT   r¤   rÆ   c                 ó4  — | j                   sP| j                  |   j                  | j                  |   j                  f}| j                  |   j                  |«       | j                  j                  |   t        k(  r| j                   j                  |«       y y rt   )	r6  r·   r–   r™   r5  r  r�   ÚUNIQUE_COLLECTION_LABELrÚ   )r`   r¤   rÆ   Úkeys       rR   rÙ   z_mutator_groups.start_spaná  s|   € ð ×!Ò!Ø—:‘:˜a‘=×&Ñ&¨¯
©
°1©×(9Ñ(9Ð:ˆCØ�K‰K˜Ñ$×(Ñ(¨Ô-Ø�:‰:×Ñ˜[Ñ)Ô-DÒDØ×Ñ×%Ñ% aÕ(ð ErT   rž   c                óx   — | j                   r.| j                   d   |k(  r| j                   j                  «        y y y )Nr#  )r6  râ   ré   s      rR   rã   z_mutator_groups.stop_spanð  s7   € Ø×Ò $×"4Ñ"4°RÑ"8¸AÒ"=Ø×Ñ×"Ñ"Õ$ð #>ÐrT   c                 óz   — | j                   j                  «       D �cg c]  }t        |«      dk\  sŒ|‘Œ c}S c c}w )Nr\   )r5  ÚvaluesrÊ   )r`   Úgs     rR   rÂ   z_mutator_groups.finishô  s/   € ð  Ÿ;™;×-Ñ-Ó/Ö?�a´3°q³6¸Q³;’Ò?Ð?ùÒ?s   �8±8r  )rb   rc   rd   r‚   rp   rÙ   r°   rã   r   r  r  rÂ   r  r  s   @rR   r3  r3  Û  s\   ø„ õ+ð
)˜Cð )¨cð )°dó )ð%˜3ð %¨dð %°tó %ð@˜  U¨3°¨8¡_Ñ!5Ñ6÷ @rT   r3  c                   óF  — e Zd ZdZdeddfd„Zedeeef   fd„«       Z	e
defd„«       Ze
defd„«       Zedee   fd	„«       Zedefd
„«       Zedefd„«       Zedefd„«       Zedeeeeef         fd„«       Ze
deee      fd„«       Zdefd„Zdedefd„Zdee   fd„Zy)r€   a‚  A lazy collection of ``Span`` objects, derived from
    the record of recorded behaviour in ``SpanRecord``.

    Behaves logically as if it were a list of ``Span`` objects,
    but actually mostly exists as a compact store of information
    for them to reference into. All properties on here are best
    understood as the backing storage for ``Span`` and are
    described there.
    rÄ   rI   Nc                 ó(  — |j                   | _         |j                  | _        |j                  | _        | j                   j                  t        j
                  «      |j                   j                  t        j                  «      z   | _        d | _        y rt   )	r»   r�   r¦   Úcountr¼   r½   r¿   Ú_Spans__lengthÚ_Spans__childrenrÃ   s     rR   r‚   zSpans.__init__  sk   € Ø—\‘\ˆŒ
Ø—m‘mˆŒØ!×-Ñ-ˆÔØŸ
™
×(Ñ(Ü×'Ñ'ó
à�L‰L×Ñœy×=Ñ=Ó>ñ?ˆŒð 7;ˆ�rT   c                 ó4   — t        | «      j                  «       S rt   )r  rÅ   r_   s    rR   Ústarts_and_endszSpans.starts_and_ends  s   € ä Ó%×)Ñ)Ó+Ð+rT   c                 ó    — | j                   d   S rµ   ©rD  r_   s    rR   r•   zSpans.starts  ó   € à×#Ñ# AÑ&Ð&rT   c                 ó    — | j                   d   S )NrL   rF  r_   s    rR   r˜   z
Spans.ends  rG  rT   c                 ó4   — t        | «      j                  «       S rt   )r  rÅ   r_   s    rR   rž   zSpans.discarded  ó   € ä˜$Ó×#Ñ#Ó%Ð%rT   c                 ó4   — t        | «      j                  «       S rt   )r  rÅ   r_   s    rR   r’   zSpans.parentage  rJ  rT   c                 ó4   — t        | «      j                  «       S rt   )r(  rÅ   r_   s    rR   r›   zSpans.depths"  s   € ä�t‹}× Ñ Ó"Ð"rT   c                 ó4   — t        | «      j                  «       S rt   )r.  rÅ   r_   s    rR   r�   zSpans.label_indices&  s   € ä˜dÓ#×'Ñ'Ó)Ð)rT   c                 ó4   — t        | «      j                  «       S rt   )r3  rÅ   r_   s    rR   Úmutator_groupszSpans.mutator_groups*  s   € ä˜tÓ$×(Ñ(Ó*Ð*rT   c                 ó@  — | j                   €‚t        t        | «      «      D �cg c]  }t        «       ‘Œ }}t	        | j
                  «      D ]  \  }}|dkD  sŒ||   j                  |«       Œ! t	        |«      D ]  \  }}|rŒ	d||<   Œ || _         | j                   S c c}w )Nr   rj   )rB  ÚrangerÊ   r0   Ú	enumerater’   rÚ   )r`   Ú_r¢   r¤   ÚpÚcs         rR   r¢   zSpans.children.  s�   € à�?‰?Ð"Ü+0´°T³Ó+;Ö< aœ�	Ð<ˆHÐ<Ü! $§.¡.Ó1ò *‘��1Ø�q“5Ø˜Q‘K×&Ñ& qÕ)ð*ô
 " (Ó+ò %‘��1ÚØ"$�H˜Q’Kð%ð 'ˆDŒOØ�‰Ðùò =s   £Bc                 ó   — | j                   S rt   )rA  r_   s    rR   Ú__len__zSpans.__len__=  s   € Ø�}‰}ÐrT   r¤   c           	      ó†   — | j                   }|| k  s||k\  rt        d|› d|› d|› d�«      ‚|dk  r||z  }t        | |«      S )NzIndex z out of range [-ú, ú)r   )rA  Ú
IndexErrorr}   )r`   r¤   Úns      rR   Ú__getitem__zSpans.__getitem__@  sW   € Ø�M‰MˆØ�ˆrŠ6�Q˜!’VÜ˜v a SÐ(8¸¸¸2¸a¸SÀÐBÓCÐCØˆqŠ5Ø�‰FˆAÜ�D˜!‹}ÐrT   c              #   óL   K  — t        t        | «      «      D ]	  }| |   –— Œ y ­wrt   )rQ  rÊ   r£   s     rR   Ú__iter__zSpans.__iter__J  s'   è ø€ Ü”s˜4“yÓ!ò 	ˆAØ�q‘'‹Mñ	ùs   ‚"$)rb   rc   rd   r­   rî   r‚   r   r  r0   rD  r±   r•   r˜   r  rp   rž   r’   r›   r�   Úlistr  rO  r	   r¢   rW  r}   r]  r   r_  rj   rT   rR   r€   r€   ú  se  „ ñð;˜zð ;¨dó ;ð ð,  w°Ð'7Ñ!8ò ,ó ð,ð ð'˜ò 'ó ð'ð ð'�gò 'ó ð'ð ð&˜9 S™>ò &ó ð&ð ð&˜7ò &ó ð&ð ð#˜ò #ó ð#ð ð*˜wò *ó ð*ð ð+  S¨¨s°C¨x©Ñ%9Ñ :ò +ó ð+ð ð˜$˜x¨™}Ñ-ò ó ðð˜ó ð˜Sð  Tó ð˜( 4™.ô rT   r€   c                   ó<   — e Zd ZU ej                  Zeed<   defd„Zy)Ú_OverrunÚstatusrI   c                  ó   — y)NÚOverrunrj   r_   s    rR   ra   z_Overrun.__repr__R  s   € ØrT   N)	rb   rc   rd   r[   re   rc  rq   ri   ra   rj   rT   rR   rb  rb  O  s   … Ø—^‘^€FˆFÓ#ð˜#ô rT   rb  c                   óª   — e Zd ZdZdededz  ddfd„Zdd„Zded	e	d
e
ddfd„Zded	ed
e
ddfd„Zded	ed
e
ddfd„Zded	ed
e
ddfd„Zde
d	ed
e
ddfd„Zy)ÚDataObserverz‹Observer class for recording the behaviour of a
    ConjectureData object, primarily used for tracking
    the behaviour in the tree cache.rc  Úinteresting_originNrI   c                  ó   — y)z·Called when ``conclude_test`` is called on the
        observed ``ConjectureData``, with the same arguments.

        Note that this is called after ``freeze`` has completed.
        Nrj   )r`   rc  rh  s      rR   Úconclude_testzDataObserver.conclude_test^  rç   rT   c                  ó   — y)z5Mark this part of the tree as not worth re-exploring.Nrj   r_   s    rR   Úkill_branchzDataObserver.kill_branchi  rç   rT   rª   ÚconstraintsÚ
was_forcedc                 ó   — y rt   rj   ©r`   rª   rm  rn  s       rR   Údraw_integerzDataObserver.draw_integerl  ó   € ð 	rT   c                 ó   — y rt   rj   rp  s       rR   Ú
draw_floatzDataObserver.draw_floatq  rr  rT   c                 ó   — y rt   rj   rp  s       rR   Údraw_stringzDataObserver.draw_stringv  rr  rT   c                 ó   — y rt   rj   rp  s       rR   Ú
draw_byteszDataObserver.draw_bytes{  rr  rT   c                 ó   — y rt   rj   rp  s       rR   Údraw_booleanzDataObserver.draw_boolean€  rr  rT   r  )rb   rc   rd   r­   r[   r6   rj  rl  rp   r)   r°   rq  Úfloatr(   rt  ri   r*   rv  Úbytesr"   rx  r!   rz  rj   rT   rR   rg  rg  Y  sì   „ ñ(ð	àð	ð .°Ñ4ð	ð 
ó		óDðØðØ*<ðØJNðà	óð
ØðØ,<ðØJNðà	óð
ØðØ*;ðØIMðà	óð
ØðØ,<ðØJNðà	óð
ØðØ+=ðØKOðà	ôrT   rg  c                   óŠ  — e Zd ZU dZeed<   edz  ed<    edd¬«      Ze	e
df   ed<   eed	<   ee   ed
<   edz  ed<   edz  ed<   eed<   eed<   ee   ed<    edd¬«      Zeed<    ed¬«      Zee   ed<    ed¬«      Zeedz  ef   ed<    ed¬«      Zedz  ed<    ed¬«      Zedz  ed<   dd„Zede	edf   fd„«       Z y)ÚConjectureResultz�Result class storing the parts of ConjectureData that we
    will care about after the original ConjectureData has outlived its
    usefulness.rc  Nrh  F)ÚreprÚcompare.rñ   ÚlengthÚnotesÚexpected_exceptionÚexpected_tracebackÚhas_discardsÚtarget_observationsÚtagsr·   )r  Ú	arg_spansÚspan_commentsÚmisaligned_atÚcannot_proceed_scoperI   c                 ó   — | S rt   rj   r_   s    rR   Ú	as_resultzConjectureResult.as_resultž  s   € ØˆrT   c                 ó:   — t        d„ | j                  D «       «      S )Nc              3   ó4   K  — | ]  }|j                   –— Œ y ­wrt   ©rª   ©Ú.0Únodes     rR   ú	<genexpr>z+ConjectureResult.choices.<locals>.<genexpr>£  s   è ø€ Ò7 D�T—Z•ZÑ7ùó   ‚)r  rñ   r_   s    rR   ÚchoiceszConjectureResult.choices¡  s   € äÑ7¨D¯J©JÔ7Ó7Ð7rT   )rI   r~  )!rb   rc   rd   r­   r[   rq   r6   r   rñ   r  r$   rp   r`  ri   ÚBaseExceptionr°   ÚTargetObservationsr  rn   r·   r€   rˆ  r  r‰  ÚdictrŠ  rV   r‹  r   r�  r±   r%   r–  rj   rT   rR   r~  r~  †  s  … ñð ƒNØ)¨DÑ0Ó0Ù$)¨u¸eÔ$D€Eˆ5�˜S�Ñ!ÓDØƒKØ�‰9ÓØ%¨Ñ,Ó,Ø˜d™
Ó"ØÓØ+Ó+Ø
Ð)Ñ
*Ó*Ù˜e¨UÔ3€Eˆ5Ó3Ù UÔ+€Iˆs�3‰xÓ+ñ ,1°eÔ+<€M�4˜˜d™
 C˜Ñ(Ó<Ù).°EÔ):€M�< $Ñ&Ó:Ù7<À%Ô7HÐÐ-°Ñ4ÓHóð ð8˜˜w¨˜|Ñ,ò 8ó ñ8rT   r~  c                   ó
  — e Zd Zededdœdeeez  ez     de	dz  de
ee
   z  dedz  dd f
d„«       Zdedddd	œdedz  de	dz  de
ee
   z  d
eeez  ez     dz  dedz  deeef   dz  ddfd„Zdefd„Zedeedf   fd„«       Zedeedf   fd„«       Zeded   dedededz  def
d„«       Zeded   dedededz  def
d„«       Zeded   de dededz  def
d„«       Zeded   de!dede"dz  de"f
d„«       Zeded   de#dededz  def
d„«       Zde$de%dededz  def
d „Z	 	 d^dd!dd"d#œd$edz  d%edz  d&eeef   dz  d'ededz  dedefd(„Z&e'jP                   e'jP                  fd"e)dd"d)œd$ed%ed*ed+ededz  dedefd,„Z*d!e+dd"d-œd.e,d/ed0ededz  dedefd1„Z-d!e+fdd"d2œd/ed0ede"dz  dede"f
d3„Z.	 d_dd"d2œd4ededz  dedefd5„Z/eded   dedefd6„«       Z0eded   dedefd7„«       Z0eded   de de fd8„«       Z0eded   de!de!fd9„«       Z0eded   de#de#fd:„«       Z0de$de%de%fd;„Z0de$de%dedz  defd<„Z1de2e3z  fd=„Z4d>eddfd?„Z5d@eddfdA„Z6	 	 d^dBdCdDedz  dEedz  ddFfdG„Z7edefdH„«       Z8e9de:e   fdI„«       Z;e9dDede:e<   fdJ„«       Z=dDeddfdK„Z>dLdMœdNeddfdO„Z?ede@fdP„«       ZAd`dQ„ZBdd"d2œdReeC   deCdz  dedeCfdS„ZD	 dadTeEdUeFdz  deGfdV„ZHdUeFdeGfdW„ZI	 daddXœdYedz  dZedz  deGfd[„ZJdeGfd\„ZKdedz  fd]„ZLy)bÚConjectureDataN)ÚobserverÚproviderÚrandomr–  rœ  r�  rž  rI   c                ó4   — ddl m}  |  ||«      ||||¬«      S )Nr   )r    )Úmax_choicesrž  Úprefixrœ  r�  )Ú%hypothesis.internal.conjecture.enginer    )Úclsr–  rœ  r�  rž  r    s         rR   Úfor_choiceszConjectureData.for_choices§  s)   € õ 	GáÙ$ WÓ-ØØØØô
ð 	
rT   )rœ  r�  r¡  r   Úprovider_kwr¡  r   r¥  c                ó\	  — ddl m} |€
t        «       }|€i }n"t        |t        «      st        d|›d|›d�«      ‚t        |t        «      }|�sddt        j                  «       v st        j                  t        «      rt        j                  t        «      nddt        j                  «       v st        j                  |«      rt        j                  |«      ndd	t        j                  «       v st        j                  t        «      rt        j                  t        «      nd	t        j                  |«      d
œz  }	t        t        j                  |	«      «      ‚d }|| _        || _        || _        d| _        || _        d| _        d| _        g | _        t*        j,                  | _        d| _        t2        j4                  | _        t2        xj4                  dz  c_        t9        j:                  «       | _        t?        «       | _         i | _!        d | _"        i | _#        tI        tJ        «      | _&        d| _'        d| _(        d| _)        d| _*        t        |t        «      r	 || fi |¤Žn|| _+        | jV                  }
t        |
tX        «      }|�sddt        j                  «       v st        j                  t        «      rt        j                  t        «      nddt        j                  «       v st        j                  | «      rt        j                  | «      ndt        j                  |
«      dt        j                  «       v st        j                  tX        «      rt        j                  tX        «      ndt        j                  |«      dœz  }t        t        j                  |«      «      ‚d x}
}d | _-        i | _.        t_        «       | _0        g | _1        d | _2        d| _3        ti        «       | _5        t_        «       | _6        i | _7        i | _8        tI        tr        «      | _:        d | _;        d | _<        d | _=        i | _>        d | _?        d | _@        d | _A        d | _B        t†        | _D        d | _E        d | _F        || _G        d| _H        g | _I        d| _J        d | _K        d | _L        | j›                  tœ        «       y )Nr   )ÚBUFFER_SIZEzExpected provider=z! to be a class since provider_kw=z) was passed, but got an instance instead.ú5assert %(py4)s
{%(py4)s = %(py0)s(%(py1)s, %(py2)s)
}r†   rœ  rg  ©rË   Úpy1rÌ   Úpy4FrL   zSassert %(py6)s
{%(py6)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.provider
}, %(py4)s)
}r`   r4   )rË   rª  rÍ   r«  Úpy6r#  rj   )Or¢  r§  rg  r†   r  r   rÓ   rÔ   rÑ   rÕ   rÖ   r×   rØ   rœ  r   Ú
max_lengthÚoverdrawÚ_randomr�  r~   r‚  r[   rg   rc  rl   ÚthreadlocalrY   ÚtestcounterÚtimeÚperf_counterÚ
start_timer1   Úgc_start_timeÚeventsrh  Ú
draw_timesr   r{  Ú_stateful_run_timesÚ	max_depthr…  Úunique_element_depthÚsimplest_indexr�  r4   Ú_ConjectureData__resultr†  r  r‡  Úlabels_for_structure_stackÚ_ConjectureData__spansrœ   rî   Ú_ConjectureData__span_recordrˆ  r‰  Ú_observability_argsr<   Ú_observability_predicatesÚinvalid_locationÚ_last_rejected_filterÚ-_sampled_from_all_strategies_elements_messageÚ_shared_strategy_drawsÚ_shared_data_strategyÚ_stateful_repr_partsÚstates_for_idsÚseeds_to_statesr@   Úhypothesis_runnerrƒ  r„  r¡  Ú
_invertingÚ_nodesÚ_nodes_tuplerŠ  r‹  rÙ   Ú	TOP_LABEL)r`   rž  rœ  r�  r¡  r   r¥  r§  rû   Ú@py_format5Ú@py_assert2Ú@py_assert5Ú@py_format7s                rR   r‚   zConjectureData.__init__º  st  € õ 	FàÐÜ#“~ˆHØÐØ‰KÜ˜H¤dÔ+Ü!Ø%˜H˜;Ð&H¸K¸>ð J7ð 7óð ô
 ˜(¤LÓ1Ð1Ò1×1×1×1×1Õ1Œz×1×1Ó1Œz×1×1×1×1×1Ò1˜(×1×1Ó1˜(×1×1×1×1×1Ò1¤L×1×1Ó1¤L×1×1Ô1Ð1×1×1×1×1×1Ð1Ø ˆŒØ&ˆÔØ%ˆŒØˆŒØˆŒàˆŒØˆŒ
Ø "ˆŒ
Ü$Ÿl™lˆŒØ!ˆŒÜ +× ?Ñ ?ˆÔÜ×'Ò'¨1Ñ,Õ'Ü×+Ñ+Ó-ˆŒÜ/Ó1ˆÔØ46ˆŒØ<@ˆÔØ,.ˆŒÜ5@ÄÓ5GˆÔ ØˆŒØ"'ˆÔð *+ˆÔ!Ø#$ˆÔô .8¸Ä$Ô-G‰H�TÑ)˜[Ò)ÈXð 	Œð Ÿ-™-Ð;Œz˜-Ô):Ó;Ð;Ò;×;×;×;×;Õ;Œz×;×;Ó;Œz×;×;×;×;×;Ò;˜$×;×;Ó;˜$×;×;Ô;˜-×;×;×;×;×;Ð;Ô):×;×;Ó;Ô):×;×;Ô;Ð;×;×;×;×;×;Ò;à15ˆŒð 8:ˆÔ ô 14³ˆŒ	Ø:<ˆÔ'ð
 &*ˆŒð ˆŒ
Ü'›\ˆÔô $'£5ˆŒØ46ˆÔØ35ˆÔ ÜLWÜóM
ˆÔ&ð -1ˆÔð ð 	Ô"ð ð 	Ô:ð SUˆÔ#Ø8<ˆÔ"Ø6:ˆÔ!Ø=AˆÔØ>BˆÔÜ&-ˆÔà8<ˆÔØ.2ˆÔàˆŒØˆŒð )+ˆŒØ46ˆÔØ26ˆÔØ@DˆÔ!Ø�‰œ	Õ"rT   c                 óŠ   — d| j                   j                  › dt        | j                  «      › d| j                  rd› d�S d› d�S )NzConjectureData(rY  z choicesz, frozenÚ rZ  )rc  rH   rÊ   rñ   rl   r_   s    rR   ra   zConjectureData.__repr__*  sS   € à˜dŸk™k×.Ñ.Ð/¨r´#°d·j±j³/Ð1Bð CØ$(§K¢K�jÐ8¸ð;ð	
à57Ð8¸ð;ð	
rT   .c                 ó¤   — t        | j                  «      t        | j                  «      k7  rt        | j                  «      | _        | j                  S rt   )rÊ   rÍ  rÌ  r  r_   s    rR   rñ   zConjectureData.nodes0  s;   € äˆt× Ñ Ó!¤S¨¯©Ó%5Ò5Ü % d§k¡kÓ 2ˆDÔØ× Ñ Ð rT   c                 ó:   — t        d„ | j                  D «       «      S )Nc              3   ó4   K  — | ]  }|j                   –— Œ y ­wrt   r�  r‘  s     rR   r”  z)ConjectureData.choices.<locals>.<genexpr>8  s   è ø€ Ò8 D�T—Z•ZÑ8ùr•  )r  rÌ  r_   s    rR   r–  zConjectureData.choices6  s   € äÑ8¨D¯K©KÔ8Ó8Ð8rT   Úchoice_typeÚintegerrm  ÚobserveÚforcedc                 ó   — y rt   rj   ©r`   rØ  rm  rÚ  rÛ  s        rR   Ú_drawzConjectureData._drawC  ó   € ð rT   r{  c                 ó   — y rt   rj   rÝ  s        rR   rÞ  zConjectureData._drawM  ó   € ð rT   Ústringc                 ó   — y rt   rj   rÝ  s        rR   rÞ  zConjectureData._drawW  rß  rT   r|  c                 ó   — y rt   rj   rÝ  s        rR   rÞ  zConjectureData._drawa  rá  rT   Úbooleanc                 ó   — y rt   rj   rÝ  s        rR   rÞ  zConjectureData._drawk  s   € ð rT   c          	      óÜ  — | j                   rt        d«      ‚| j                  | j                  k(  r(t	        d| j                  ›�«       | j                  «        t        | j                  «      | j                  k(  r(t	        d| j                  ›�«       | j                  «        |rG| j                  �;| j                  t        | j                  «      k  r| j                  |||¬«      }|�'|}n$|€  t        | j                  d|› �«      di |¤Ž}n|}|dk(  �rIt        |t        «      }|�sddt!        j"                  «       v st%        j&                  t        «      rt%        j(                  t        «      ndd	t!        j"                  «       v st%        j&                  |«      rt%        j(                  |«      nd	dt!        j"                  «       v st%        j&                  t        «      rt%        j(                  t        «      ndt%        j(                  |«      d
œz  }t+        t%        j,                  |«      «      ‚d }t/        j0                  |«      rt3        t5        |«      «      }|�r
|d u} t        | j6                  d|› �«      |||¬«       | j                  j8                  rdn
t;        |«      }	| j                  |	z   | j                  kD  r8t	        d| j                  ›d|	›d| j                  ›�«       | j                  «        t=        ||||t        | j                  «      ¬«      }
| j>                  jA                  «        | j                  jC                  |
«       | xj                  |	z  c_        |S )Nzcannot draw during _invertz$overrun because hit self.max_length=z%overrun because hit self.max_choices=)rÛ  Údraw_r{  r¨  r†   rª   r©  )rm  rn  r   zoverrun because self.length=z + size=z > self.max_length=)r  rª   rm  rn  r~   rj   )"rË  r   r�  r­  r>   Úmark_overrunrÊ   rÌ  r   r¡  r~   Ú_pop_choiceÚgetattrr�  r†   r{  rÓ   rÔ   rÑ   rÕ   rÖ   r×   rØ   ÚmathÚisnanr9   r8   rœ  Úavoid_realizationr/   r$   r¿  rõ   rÚ   )r`   rØ  rm  rÚ  rÛ  rª   rû   rÏ  rn  Úsizer“  s              rR   rÞ  zConjectureData._drawu  s�  € ð �?Š?ô Ð;Ó<Ð<ð �;‰;˜$Ÿ/™/Ò)ÜÐ@°·±Ð/AÐBÔCØ×ÑÔÜˆt�{‰{Ó˜t×/Ñ/Ò/ÜÐA°×0@Ñ0@Ð/BÐCÔDØ×ÑÔá�t—{‘{Ð.°4·:±:ÄÀDÇKÁKÓ@PÒ3PØ×$Ñ$ [°+ÀfÐ$ÓMˆEØÐ!Ø‘Øˆ^ØA”G˜DŸM™M¨U°;°-Ð+@ÓAÑPÀKÑP‰EàˆEð, ˜'Ó!Ü˜e¤UÓ+Ð+Ò+×+×+×+×+Õ+”:×+×+Ó+”:×+×+×+×+×+Ò+˜e×+×+Ó+˜e×+×+×+×+×+Ò+¤U×+×+Ó+¤U×+×+Ô+Ð+×+×+×+×+×+Ð+Ü�z‰z˜%Ô Ü$¤\°%Ó%8Ó9�âØ tÐ+ˆJØ9ŒG�D—M‘M U¨;¨-Ð#8Ó9Ø ;¸:õð Ÿ™×7Ò7‘1¼[ÈÓ=OˆDØ�{‰{˜TÑ! D§O¡OÒ3ÜØ3 t§{¡{ n°I¸°wÐ>RÀ$Ç/Á/ÐASÐTôð ×!Ñ!Ô#äØ ØØ'Ø%Ü˜$Ÿ+™+Ó&ôˆDð ×Ñ×,Ñ,Ô.Ø�K‰K×Ñ˜tÔ$Ø�KŠK˜4Ñ�KàˆrT   r   T)ÚweightsÚshrink_towardsrÛ  rÚ  Ú	min_valueÚ	max_valuerð  rñ  c          	      óz  — |��gd }||u}|s™t        j                  d|fd||f«      dt        j                  «       v st        j                  |«      rt        j
                  |«      ndt        j
                  |«      dœz  }	dd|	iz  }
t        t        j                  |
«      «      ‚d x}}d }||u}|s™t        j                  d|fd||f«      dt        j                  «       v st        j                  |«      rt        j
                  |«      ndt        j
                  |«      dœz  }	dd|	iz  }
t        t        j                  |
«      «      ‚d x}}t        |«      }d}||k  }|söt        j                  d	|fd
||f«      dt        j                  «       v st        j                  t        «      rt        j
                  t        «      nddt        j                  «       v st        j                  |«      rt        j
                  |«      ndt        j
                  |«      t        j
                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d x}x}}|j                  } |«       }t        |«      }d}||k  }|�st        j                  d|fd||f«      dt        j                  «       v st        j                  t        «      rt        j
                  t        «      nddt        j                  «       v st        j                  |«      rt        j
                  |«      ndt        j
                  |«      t        j
                  |«      t        j
                  |«      t        j
                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d x}x}x}x}}d„ |j                  «       D «       }t        |«      }|s•ddt        j                  «       v st        j                  t        «      rt        j
                  t        «      ndt        j
                  |«      t        j
                  |«      dœz  }t        t        j                  |«      «      ‚d x}}|�Ñ|�Ï||k  }|sÆt        j                  d	|fd||f«      dt        j                  «       v st        j                  |«      rt        j
                  |«      nddt        j                  «       v st        j                  |«      rt        j
                  |«      nddœz  }dd|iz  }t        t        j                  |«      «      ‚d }|�Ñ|�Ï||k  }|sÆt        j                  d	|fd||f«      dt        j                  «       v st        j                  |«      rt        j
                  |«      nddt        j                  «       v st        j                  |«      rt        j
                  |«      nddœz  }dd|iz  }t        t        j                  |«      «      ‚d }| j                  d ||||d!œ«      }| j                  d |||¬"«      S )#Nr÷   ©z%(py0)s is not %(py3)srò  ©rË   rÍ   úassert %(py5)srÎ   ró  éÿ   )ú<=)z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} <= %(py6)srÊ   rð  )rË   rª  rÍ   r¬  úassert %(py8)sÚpy8rL   rÈ   )zc%(py7)s
{%(py7)s = %(py0)s(%(py5)s
{%(py5)s = %(py3)s
{%(py3)s = %(py1)s.values
}()
})
} < %(py10)sÚsum)rË   rª  rÍ   rÎ   rÏ   Úpy10zassert %(py12)sÚpy12c              3   ó&   K  — | ]	  }|d k7  –— Œ y­w)r   Nrj   )r’  Úws     rR   r”  z.ConjectureData.draw_integer.<locals>.<genexpr>Ü  s   è ø€ Ò8 !�q˜A•vÑ8ùs   ‚z,assert %(py4)s
{%(py4)s = %(py0)s(%(py2)s)
}Úall)rË   rÌ   r«  )z%(py0)s <= %(py2)srÛ  ©rË   rÌ   zassert %(py4)sr«  rÙ  )rò  ró  rð  rñ  ©rÚ  rÛ  )rÑ   rÒ   rÓ   rÔ   rÕ   rÖ   r×   rØ   rÊ   r<  rü  r  Ú_pooled_constraintsrÞ  )r`   rò  ró  rð  rñ  rÛ  rÚ  rÐ  rÝ   Ú@py_format4rü   rÑ  rÛ   rÒ  Ú@py_format9rÜ   Ú@py_assert9Ú@py_assert8Ú@py_format11Ú@py_format13rû   rÏ  Ú@py_format3rm  s                           rR   rq  zConjectureData.draw_integerÇ  sŽ  € ð ÑØ$(Ð(�9 DÐ(×(×(Õ(�9 D×(×(×(×(×(Ñ(�9×(×(Ó(�9×(×(Ô( D×(×(×(×(×(×(Ñ(Ø$(Ð(�9 DÐ(×(×(Õ(�9 D×(×(×(×(×(Ñ(�9×(×(Ó(�9×(×(Ô( D×(×(×(×(×(×(Ñ(Ü�w“<Ð& 3Ð&�< 3Ñ&×&×&Õ&�< 3×&×&×&×&×&Ñ&”3×&×&Ó&”3×&×&×&×&×&Ò&�w×&×&Ó&�w×&×&Ô&�<×&×&Ò& 3×&×&×&×&×&×&Ó&ð —~‘~Ð,‘~Ó'Ð,”3Ð'Ó(Ð,¨1Ð,Ð(¨1Ñ,×,×,Ö,Ð(¨1×,×,×,×,×,Ñ,”3×,×,Ó,”3×,×,×,×,×,Ò,�w×,×,Ó,�w×,×,Ô,�~×,×,Ò,Ð'×,×,Ò,Ð(×,×,Ò,¨1×,×,×,×,×,×,×,ñ 9 w§~¡~Ó'7Ô8Ð8”3Ð8Ó8Ð8Ñ8×8×8×8×8Õ8”3×8×8Ó8”3×8×8Ô8Ð8×8×8Ò8Ð8×8×8×8×8×8Ò8àÐ )Ð"7Ø Ñ&×&×&Õ&�9 ×&×&×&×&×&Ñ&�9×&×&Ó&�9×&×&×&×&×&Ò& ×&×&Ó& ×&×&×&×&×&×&Ñ&ØÐ )Ð"7Ø˜YÑ&×&×&Õ&�6˜Y×&×&×&×&×&Ñ&�6×&×&Ó&�6×&×&×&×&×&Ò&˜Y×&×&Ó&˜Y×&×&×&×&×&×&Ñ&à*.×*BÑ*BØà&Ø&Ø"Ø"0ñ	ó+
ˆð �z‰z˜) [¸'È&ˆzÓQÐQrT   )Ú	allow_nanÚsmallest_nonzero_magnituderÛ  rÚ  r  r  c                óÊ  — d}||kD  }|s™t        j                  d|fd||f«      dt        j                  «       v st        j                  |«      rt        j
                  |«      ndt        j
                  |«      dœz  }	dd|	iz  }
t        t        j                  |
«      «      ‚d x}}t        j                  } ||«      }| }|sÖdd	t        j                  «       v st        j                  t        «      rt        j
                  t        «      nd	t        j
                  |«      d
t        j                  «       v st        j                  |«      rt        j
                  |«      nd
t        j
                  |«      dœz  }t        t        j                  |«      «      ‚d x}x}}t        j                  } ||«      }| }|sÖdd	t        j                  «       v st        j                  t        «      rt        j
                  t        «      nd	t        j
                  |«      dt        j                  «       v st        j                  |«      rt        j
                  |«      ndt        j
                  |«      dœz  }t        t        j                  |«      «      ‚d x}x}}|dk(  rt        d«      ‚|��g }|}|st        j                  } ||«      }| }|}|�sadddt        j                  «       v st        j                  |«      rt        j
                  |«      ndiz  }|j                  |«       |sÉdd	t        j                  «       v st        j                  t        «      rt        j
                  t        «      nd	t        j
                  «      dt        j                  «       v st        j                  |«      rt        j
                  |«      ndt        j
                  «      dœz  }|j                  |«       t        j                  |d«      i z  }dd|iz  }t        t        j                  |«      «      ‚d x}x}x}x}}g }t        j                  } ||«      }|}|s"g }t        ||«      }|}|rt        ||«      }|}|}|�s)dd	t        j                  «       v st        j                  t        «      rt        j
                  t        «      nd	t        j
                  |«      dt        j                  «       v st        j                  |«      rt        j
                  |«      ndt        j
                  |«      dœz  }|j                  |«       |�sddt        j                  «       v st        j                  t        «      rt        j
                  t        «      ndd
t        j                  «       v st        j                  |«      rt        j
                  |«      nd
dt        j                  «       v st        j                  |«      rt        j
                  |«      ndt        j
                  «      dœz  }|j                  |«       |röddt        j                  «       v st        j                  t        «      rt        j
                  t        «      nddt        j                  «       v st        j                  |«      rt        j
                  |«      nddt        j                  «       v st        j                  |«      rt        j
                  |«      ndt        j
                  «      dœz  }|j                  |«       t        j                  |d«      i z  }dd |iz  }|j                  |«       t        j                  |d«      i z  }d!d"|iz  } t        t        j                  | «      «      ‚d x}x}x}x}x}x}x}}| j                  d#||||d$œ«      }!| j                  d#|!||¬%«      S )&Nr   ©ú>)z%(py0)s > %(py3)sr  rö  r÷  rÎ   zKassert not %(py5)s
{%(py5)s = %(py2)s
{%(py2)s = %(py0)s.isnan
}(%(py3)s)
}rì  rò  )rË   rÌ   rÍ   rÎ   ró  g        a_  Got allow_subnormal=True, but we can't represent subnormal floats right now, in violation of the IEEE-754 floating-point specification.  This is usually because something was compiled with -ffast-math or a similar option, which sets global processor state.  See https://simonbyrne.github.io/notes/fastmath/ for a more detailed writeup - and good luck!z%(py2)srÌ   r  zDnot %(py9)s
{%(py9)s = %(py6)s
{%(py6)s = %(py4)s.isnan
}(%(py7)s)
}rÛ  )r«  r¬  rÏ   rÐ   rL   zassert %(py13)sÚpy13z@%(py7)s
{%(py7)s = %(py4)s
{%(py4)s = %(py2)s.isnan
}(%(py5)s)
})rÌ   r«  rÎ   rÏ   z3%(py15)s
{%(py15)s = %(py11)s(%(py12)s, %(py13)s)
}r:   )Úpy11rþ  r  Úpy15z3%(py21)s
{%(py21)s = %(py17)s(%(py18)s, %(py19)s)
})Úpy17Úpy18Úpy19Úpy21z%(py24)sÚpy24zassert %(py27)sÚpy27r{  )rò  ró  r  r  r  )rÑ   rÒ   rÓ   rÔ   rÕ   rÖ   r×   rØ   rì  rí  ÚFloatingPointErrorrÚ   Ú_format_boolopr:   r  rÞ  )"r`   rò  ró  r  r  rÛ  rÚ  rÐ  rÝ   r  rü   rÛ   rÜ   rÒ  Ú@py_assert0rÑ  r  Ú@py_assert10r  r	  Ú@py_format12Ú@py_format14rû   Ú@py_assert14r  Ú@py_assert20rÞ   Ú@py_format16Ú@py_format22Ú@py_format23Ú@py_format25Ú@py_format26Ú@py_format28rm  s"                                     rR   rt  zConjectureData.draw_floatî  sš  € ð -.Ð-Ð)¨AÑ-×-×-Õ-Ð)¨A×-×-×-×-×-Ñ-Ð)×-×-Ó-Ð)×-×-Ô-¨A×-×-×-×-×-×-Ñ-Ü—:‘:Ð(‘:˜iÓ(Ð(Ð(Ð(Ð(Ñ(×(×(×(×(Õ(”4×(×(Ó(”4×(×(Ô(�:×(×(×(×(×(Ð(˜i×(×(Ó(˜i×(×(Ô(Ð(×(×(×(×(×(Ô(Ü—:‘:Ð(‘:˜iÓ(Ð(Ð(Ð(Ð(Ñ(×(×(×(×(Õ(”4×(×(Ó(”4×(×(Ô(�:×(×(×(×(×(Ð(˜i×(×(Ó(˜i×(×(Ô(Ð(×(×(×(×(×(Ô(à%¨Ò,Ü$ð+óð ð ÑÙ6�9Ð6‘9¤D§J¡JÐ6¡J¨vÓ$6Ð6Ð$6Ð 6Ð6Ð 6×6×6×6×6×6Ò6�9×6×6Ó6�9×6×6×6Ò6‘9×6×6×6×6Õ6¤D×6×6Ó6¤D×6×6Ô6 J×6×6×6×6×6Ð6¨v×6×6Ó6¨v×6×6Ô6Ð$6×6×6×6×6×6×6×6×6×6×6×6×6Ñ6ñ”4—:‘:ð ‘:˜fÓ%ð Ð%ð Ñ%ñ Ü˜y¨&Ó1ðØ1ðÙ1´nÀVÈYÓ6WðØ6W÷ô ç�v÷ò ïé ô ÷ ñ ç�Iô ÷ ò ç�Ið ÷ ñ ç�v÷ò ïé ð %÷ ñ ç�Ið %÷ ò ç�Ið &÷ ñ ç�vðäò &ö ç�v÷ò ïé ô ÷ñ ç�Iô ÷ó ç�v÷ò ïé ð  )÷ñ ç�Ið  )÷ó ç�v÷ò ïé ð +1÷ñ ç�Ið +1÷ò ç�Ið 2÷ñ ç�vðäñ 2öç�v÷ò ïé ô 7E÷ñ ç�Iô 7E÷ó ç�v÷ò ïé ð FL÷ñ ç�Ið FL÷ó ç�v÷ò ïé ð NW÷ñ ç�Ið NW÷ò ç�Ið 7X÷ñ ç�vðäôïé ÷÷ ñ ç�vðäôïé ÷÷ ÷ ò ïé ÷÷ ÷ ñ ð )-×(@Ñ(@Øà&Ø&Ø&Ø.Hñ	ó)
ˆð �z‰z˜' ;¸ÈˆzÓOÐOrT   )Úmin_sizeÚmax_sizerÛ  rÚ  Ú	intervalsr(  r)  c                óÈ  — g }d }||u }|}	|st        |«      }
||
k  }|
|k  }|xr |}	|	�s&t        j                  d|fd||f«      dt        j                  «       v st        j
                  |«      rt        j                  |«      ndt        j                  |«      dœz  }dd|iz  }|j                  |«       |�sYt        j                  dfd|
|f«      d	t        j                  «       v st        j
                  |«      rt        j                  |«      nd	d
t        j                  «       v st        j
                  t         «      rt        j                  t         «      nd
dt        j                  «       v st        j
                  |«      rt        j                  |«      ndt        j                  |
«      dt        j                  «       v st        j
                  |«      rt        j                  |«      nddœz  }dd|iz  }|j                  |«       t        j                  |d«      i z  }dd|iz  }t        t        j                  |«      «      ‚d x}	x}x}x}x}x}}
d}||k\  }|s™t        j                  d|fd||f«      d	t        j                  «       v st        j
                  |«      rt        j                  |«      nd	t        j                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d x}}t        |«      dk(  r¦d}||k(  }|s™t        j                  d|fd||f«      d	t        j                  «       v st        j
                  |«      rt        j                  |«      nd	t        j                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d x}}| j                  d|||dœ«      }| j                  d|||¬«      S )N©Úis©z%(py2)s is %(py5)srÛ  ©rÌ   rÎ   ú%(py7)srÏ   ©rù  rù  ©z4%(py9)s <= %(py15)s
{%(py15)s = %(py12)s(%(py13)s)
}z5%(py15)s
{%(py15)s = %(py12)s(%(py13)s)
} <= %(py16)sr(  rÊ   r)  ©rÐ   rþ  r  r  Úpy16ú%(py18)sr  rL   úassert %(py21)sr  r   ©ú>=©z%(py0)s >= %(py3)srö  r÷  rÎ   ©ú==)z%(py0)s == %(py3)srâ  )r*  r(  r)  r  ©rÊ   rÑ   rÒ   rÓ   rÔ   rÕ   rÖ   rÚ   r  r×   rØ   r  rÞ  )r`   r*  r(  r)  rÛ  rÚ  rÝ   rÛ   rû   r  r   r  Ú@py_assert11rü   rÞ   Ú@py_format17Ú@py_format19Ú@py_format20r#  rÐ  r  rm  s                         rR   rv  zConjectureData.draw_string  s,  € ñ 	E˜ÐDˆv˜ˆ~ÔD¬S°«[ÐD ¨[Ñ!DÐD¨[¸HÑ!D×D×D×DÔDˆv˜×D×D×D×D×DÑDˆv×D×DÓDˆv×D×DÔD˜×D×D×D×D×D×D×D ¨[¸H×D×D×D×D×DÑD ×D×DÓD ×D×D×D×D×DÒD¬S×D×DÓD¬S×D×D×D×D×DÒD°×D×DÓD°×D×DÔD¨[×D×D×D×D×DÐD¸H×D×DÓD¸H×D×D×D×D×D×D×D×D×D×D×D×D×DÖDØÐˆx˜1‰}××Õˆx˜1×××××Ñˆx××Óˆx××Ô˜1××××××ÑÜˆy‹>˜QÒØ Ð �8˜q‘=× × Õ �8˜q× × × × × Ñ �8× × Ó �8× × Ô ˜q× × × × × × Ñ à)-×)AÑ)AØà&Ø$Ø$ñó*
ˆð �z‰z˜( K¸ÈˆzÓPÐPrT   ©rÛ  rÚ  c                ó^  — g }d }||u }|}|st        |«      }	||	k  }
|	|k  }|
xr |}|�s&t        j                  d|fd||f«      dt        j                  «       v st        j
                  |«      rt        j                  |«      ndt        j                  |«      dœz  }dd|iz  }|j                  |«       |�sYt        j                  d
fd|	|f«      d	t        j                  «       v st        j
                  |«      rt        j                  |«      nd	d
t        j                  «       v st        j
                  t         «      rt        j                  t         «      nd
dt        j                  «       v st        j
                  |«      rt        j                  |«      ndt        j                  |	«      dt        j                  «       v st        j
                  |«      rt        j                  |«      nddœz  }dd|iz  }|j                  |«       t        j                  |d«      i z  }dd|iz  }t        t        j                  |«      «      ‚d x}x}x}x}x}
x}}	d}||k\  }|s™t        j                  d|fd||f«      d	t        j                  «       v st        j
                  |«      rt        j                  |«      nd	t        j                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d x}}| j                  d||dœ«      }| j                  d|||¬«      S )Nr,  r.  rÛ  r/  r0  rÏ   r1  r2  r(  rÊ   r)  r3  r5  r  rL   r6  r  r   r7  r9  rö  r÷  rÎ   r|  )r(  r)  r  r<  )r`   r(  r)  rÛ  rÚ  rÝ   rÛ   rû   r  r   r  r=  rü   rÞ   r>  r?  r@  r#  rÐ  r  rm  s                        rR   rx  zConjectureData.draw_bytes2  sÁ  € ñ 	E˜ÐDˆv˜ˆ~ÔD¬S°«[ÐD ¨[Ñ!DÐD¨[¸HÑ!D×D×D×DÔDˆv˜×D×D×D×D×DÑDˆv×D×DÓDˆv×D×DÔD˜×D×D×D×D×D×D×D ¨[¸H×D×D×D×D×DÑD ×D×DÓD ×D×D×D×D×DÒD¬S×D×DÓD¬S×D×D×D×D×DÒD°×D×DÓD°×D×DÔD¨[×D×D×D×D×DÐD¸H×D×DÓD¸H×D×D×D×D×D×D×D×D×D×D×D×D×DÖDØÐˆx˜1‰}××Õˆx˜1×××××Ñˆx××Óˆx××Ô˜1××××××Ñà(,×(@Ñ(@Ø (¸ÑAó)
ˆð �z‰z˜' ;¸ÈˆzÓOÐOrT   rT  c                óD  — g }d}||u}|}|s	d}||kD  }	|	}|�sXt        j                  d|fd||f«      dt        j                  «       v st        j                  |«      rt        j
                  |«      ndt        j
                  |«      dœz  }
dd|
iz  }|j                  |«       |sŒt        j                  d		fd
|f«      dt        j                  «       v st        j                  |«      rt        j
                  |«      ndt        j
                  |«      dœz  }dd|iz  }|j                  |«       t        j                  |d«      i z  }dd|iz  }t        t        j                  |«      «      ‚d x}x}x}x}x}	}g }d}||u}|}|s	d}||k  }	|	}|�sXt        j                  d|fd||f«      dt        j                  «       v st        j                  |«      rt        j
                  |«      ndt        j
                  |«      dœz  }
dd|
iz  }|j                  |«       |sŒt        j                  d|	fd||f«      dt        j                  «       v st        j                  |«      rt        j
                  |«      ndt        j
                  |«      dœz  }dd|iz  }|j                  |«       t        j                  |d«      i z  }dd|iz  }t        t        j                  |«      «      ‚d x}x}x}x}x}	}| j                  dd|i«      }| j                  d|||¬«      S )NTr   r÷   )z%(py2)s is not %(py5)srÛ  r/  r0  rÏ   r  )z%(py9)s > %(py12)srT  )rÐ   rþ  z%(py14)sÚpy14rL   zassert %(py17)sr  FrÈ   )z%(py9)s < %(py12)srå  r  )rÑ   rÒ   rÓ   rÔ   rÕ   rÖ   rÚ   r  r×   rØ   r  rÞ  )r`   rT  rÛ  rÚ  rÝ   rÛ   rû   r  r=  r  rü   rÞ   r
  Ú@py_format15r"  Ú@py_format18rm  s                    rR   rz  zConjectureData.draw_booleanB  sº  € ñ 	-˜dÐ,�˜dÐ"Ô,¨1Ð, q¨1¡u×,×,×,Ð,�˜d×,×,×,×,×,Ñ,�×,×,Ó,�×,×,Ô,˜d×,×,×,×,×,×,Õ, q¨1×,×,×,×,×,Ñ, q×,×,Ó, q×,×,Ô,¨1×,×,×,×,×,×,×,×,×,×,×,×,×,Ò,Ù-˜eÐ-�˜eÐ#Ô-¨AÐ-¨¨A©×-×-×-Ð-�˜e×-×-×-×-×-Ñ-�×-×-Ó-�×-×-Ô-˜e×-×-×-×-×-×-Õ-¨¨A×-×-×-×-×-Ñ-¨×-×-Ó-¨×-×-Ô-¨A×-×-×-×-×-×-×-×-×-×-×-×-×-Ò-à*.×*BÑ*BÀ9ÈsÐTUÈhÓ*WˆØ�z‰z˜) [¸'È&ˆzÓQÐQrT   c                  ó   — y rt   rj   ©r`   rØ  rm  s      rR   r  z"ConjectureData._pooled_constraintsO  ó   € ð !rT   c                  ó   — y rt   rj   rH  s      rR   r  z"ConjectureData._pooled_constraintsT  ó   € ð rT   c                  ó   — y rt   rj   rH  s      rR   r  z"ConjectureData._pooled_constraintsY  s   € ð  rT   c                  ó   — y rt   rj   rH  s      rR   r  z"ConjectureData._pooled_constraints^  rK  rT   c                  ó   — y rt   rj   rH  s      rR   r  z"ConjectureData._pooled_constraintsc  rI  rT   c                 óš   — | j                   j                  r|S |gt        ||«      ¢­}	 t        |   S # t        $ r |t        |<   |cY S w xY w)z<Memoize common dictionary objects to reduce memory pressure.)r�  rî  r,   ry   ru   )r`   rØ  rm  r9  s       rR   r  z"ConjectureData._pooled_constraintsh  s\   € ð
 �=‰=×*Ò*ØÐàÐNÔ3°KÀÓMÑNˆð	Ü+¨CÑ0Ð0øÜò 	Ø,7Ô$ SÑ)ØÒð	ús   ª3 ³A
Á	A
c          
      ó†  — | j                   }d }||u}|s­t        j                  d|fd||f«      dt        j                  «       v st        j
                  | «      rt        j                  | «      ndt        j                  |«      t        j                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d x}x}}| j                  }| j                   }	t        |	«      }
||
k  }|�sKt        j                  d|fd||
f«      dt        j                  «       v st        j
                  | «      rt        j                  | «      ndt        j                  |«      d	t        j                  «       v st        j
                  t        «      rt        j                  t        «      nd	dt        j                  «       v st        j
                  | «      rt        j                  | «      ndt        j                  |	«      t        j                  |
«      d
œz  }dd|iz  }t        t        j                  |«      «      ‚d x}x}x}	}
| j                   | j                     }t        |t        «      �r|}|j                  �È|j                  }d}||k\  }|s­t        j                  d|fd||f«      dt        j                  «       v st        j
                  |«      rt        j                  |«      ndt        j                  |«      t        j                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d x}x}}| j                  }| j                   }	t        |	«      }
d}|
|z
  }||k(  }|�s_t        j                  d|fd||f«      dt        j                  «       v st        j
                  | «      rt        j                  | «      ndt        j                  |«      d	t        j                  «       v st        j
                  t        «      rt        j                  t        «      nd	dt        j                  «       v st        j
                  | «      rt        j                  | «      ndt        j                  |	«      t        j                  |
«      t        j                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d x}x}x}	x}
x}}|j                  dk(  rPd}|€=| j                  r1ddlm} | j$                   |||«      z  }| xj$                  dz  c_        	 t'        |||«      }nt,        ‚|j                  �4|xj                  dz  c_        |j                  dk  r| j+                  «        S t        |t.        «      rF| j0                  €| j                  |||f| _        	 t'        d||«      }| xj                  dz  c_	        S |}t2        dt4        dt6        dt8        dt:        dit        |«         }||k7  st=        ||«      s/| j0                  €| j                  |||f| _        	 t'        d||«      }| xj                  dz  c_	        |S # t(        $ r | j+                  «        Y �Œ9w xY w# t(        $ r | j+                  «        Y Œ×w xY w# t(        $ r | j+                  «        Y Œqw xY w)Nr÷   )z2%(py2)s
{%(py2)s = %(py0)s.prefix
} is not %(py5)sr`   rù   rú   rÏ   rÈ   )zf%(py2)s
{%(py2)s = %(py0)s.index
} < %(py9)s
{%(py9)s = %(py4)s(%(py7)s
{%(py7)s = %(py5)s.prefix
})
}rÊ   )rË   rÌ   r«  rÎ   rÏ   rÐ   zassert %(py11)sr  r   r7  )z-%(py2)s
{%(py2)s = %(py0)s.count
} >= %(py5)sr“  rL   r:  )zt%(py2)s
{%(py2)s = %(py0)s.index
} == (%(py9)s
{%(py9)s = %(py4)s(%(py7)s
{%(py7)s = %(py5)s.prefix
})
} - %(py11)s))rË   rÌ   r«  rÎ   rÏ   rÐ   r  zassert %(py14)srD  Úsimplest)Úcompute_max_childrenrâ  r{  rÙ  rå  r|  )r¡  rÑ   rÒ   rÓ   rÔ   rÕ   rÖ   r×   rØ   r~   rÊ   r†   r&   r@  r  rº  Ú'hypothesis.internal.conjecture.datatreerR  r»  r-   r   ré  rë   r+   rŠ  ri   r{  rp   r°   r|  r.   )r`   rØ  rm  rÛ  rÝ   rÛ   rû   rü   rÞ   rÜ   r  rß   r  rª   r“  r  Ú@py_assert12r
  rE  r~   rR  ÚchoiceÚnode_choice_types                          rR   rê  zConjectureData._pop_choicew  s–  € ð �{‰{Ð& $Ð&ˆ{ $Ð&×&×&Õ&ˆ{ $×&×&×&×&×&Ñ&ˆt×&×&Ó&ˆt×&×&Ô&ˆ{×&×&Ò& $×&×&×&×&×&×&Ó&à�z‰zÐ, §¡Ð,œC Ó,Ð,ˆzÐ,Ñ,×,×,Ö,ˆzÐ,×,×,×,×,×,Ñ,ˆt×,×,Ó,ˆt×,×,Ô,ˆz×,×,×,×,×,Ð,œC×,×,Ó,œC×,×,×,×,×,Ò, ×,×,Ó, ×,×,Ô, ×,×,Ò,Ð,×,×,×,×,×,×,Õ,à—‘˜DŸJ™JÑ'ˆÜ�eœ^Õ,Ø#(ˆDØ�z‰zÐ%Ø—z‘zÐ& QÐ&�z Q‘×&×&Õ&�z Q×&×&×&×&×&Ñ&�t×&×&Ó&�t×&×&Ô&�z×&×&Ò& Q×&×&×&×&×&×&Ó&ð —:‘:Ð5 T§[¡[Ð5¤ [Ó!1Ð5°AÐ5Ð!1°AÑ!5Ð5�:Ð!5Ñ5×5×5Ö5�:Ð!5×5×5×5×5×5Ñ5�4×5×5Ó5�4×5×5Ô5�:×5×5×5×5×5Ð5¤×5×5Ó5¤×5×5×5×5×5Ò5 T×5×5Ó5 T×5×5Ô5 [×5×5Ò5Ð!1×5×5Ò5°A×5×5×5×5×5×5×5Ñ5Ø�y‰y˜JÒ&Ø�Ø�> d×&?Ò&?õð !×/Ñ/Ñ2FØ# [ó3ñ �Eð ×'Ò'¨1Ñ,Õ'ð(Ü.¨u°kÀ;ÓO‘Fô *Ð)à�z‰zÐ%Ø—
’
˜a‘•
Ø—:‘: ’>Ø×%Ñ%Ô'ØˆMä�eœYÔ'ð ×!Ñ!Ð)Ø&*§j¡j°+¸{ÈFÐ%S�Ô"ð$Ü*¨1¨k¸;ÓG�ð �JŠJ˜!‰O�JØˆMàˆä�Ü�7Ü�Ü�)Ü�7ð
ô ˆv‹,ñÐð. ˜{Ò*Ô2BÀ6È;Ô2Wà×!Ñ!Ð)Ø&*§j¡j°+¸{ÈFÐ%S�Ô"ð$ô" +¨1¨k¸;ÓG�ð
 	�
Š
�a‰�
ØˆøôW &ò (Ø×%Ñ%×'ð(ûô& "ò $Ø×!Ñ!Ö#ð$ûôf "ò $à×!Ñ!Ö#ð$ús6   Ô4Y% Ö<Z ÙZ$ Ù%ZÚZÚZ!Ú Z!Ú$[ Ú?[ c                 ó–  — | j                   }|syddt        j                  «       v st        j                  | «      rt        j
                  | «      ndt        j
                  |«      dœz  }t        t        j                  |«      «      ‚d}| j                  t        j                  k(  rt        S | j                  �€…t        | j                  | j                  | j                  | j                   | j"                  | j$                  | j&                  | j(                  | j*                  | j,                  t/        | j0                  «      | j2                  | j4                  | j6                  | j8                  ¬«      | _        | j                  }d}||u}|s­t        j:                  d|fd||f«      dt        j                  «       v st        j                  | «      rt        j
                  | «      ndt        j
                  |«      t        j
                  |«      dœz  }d	d
|iz  }t        t        j                  |«      «      ‚dx}x}}| j                  S )zdConvert the result of running this test into
        either an Overrun object or a ConjectureResult.ú*assert %(py2)s
{%(py2)s = %(py0)s.frozen
}r`   r  N)rc  rh  r·   rñ   r�  r‚  r„  rƒ  r…  r†  r‡  rˆ  r‰  rŠ  r‹  r÷   )z4%(py2)s
{%(py2)s = %(py0)s.__result
} is not %(py5)srù   rú   rÏ   )rl   rÓ   rÔ   rÑ   rÕ   rÖ   r×   rØ   rc  r[   re   re  r¼  r~  rh  r·   rñ   r�  r‚  r„  rƒ  r…  r†  r  r‡  rˆ  r‰  rŠ  r‹  rÒ   )r`   rÝ   r  rÛ   rû   rü   rÞ   s          rR   r�  zConjectureData.as_resultæ  sk  € ð �{‰{Ð‰{××××Õˆt××Óˆt××Ôˆ{×××××ÐØ�;‰;œ&Ÿ.™.Ò(ÜˆNØ�=‰=Ñ Ü,Ø—{‘{Ø#'×#:Ñ#:Ø—j‘jØ—j‘jØ—{‘{Ø—j‘jØ#'×#:Ñ#:Ø#'×#:Ñ#:Ø!×.Ñ.Ø$(×$<Ñ$<Ü˜tŸy™yÓ)ØŸ.™.Ø"×0Ñ0Ø"×0Ñ0Ø%)×%>Ñ%>ôˆDŒMð" —=‘=Ð,¨Ð,�=¨Ð,×,×,Õ,�=¨×,×,×,×,×,Ñ,�4×,×,Ó,�4×,×,Ô,�=×,×,Ò,¨×,×,×,×,×,×,Ó,Ø�}‰}ÐrT   rH   c                 ó:   — | j                   rt        d|› d�«      ‚y )NzCannot call z on frozen ConjectureData)rl   r   )r`   rH   s     rR   Ú__assert_not_frozenz"ConjectureData.__assert_not_frozen  s#   € Ø�;Š;Ü˜<¨ vÐ-FÐGÓHÐHð rT   rª   c                 ó\   — | j                  d«       | j                  j                  |«       y )NÚnote)Ú"_ConjectureData__assert_not_frozenr‚  rÚ   )r`   rª   s     rR   r\  zConjectureData.note  s"   € Ø× Ñ  Ô(Ø�
‰
×Ñ˜%Õ rT   ÚstrategyzSearchStrategy[Ex]ro   Ú
observe_asrG   c                 ó¶  — ddl m} ddlm} ddlm} | j                  dk(  }d }d }	|rt        j                  «       }t        «       }	|j                  «        |j                  r| j                  d|›�«       | j                  t        k\  r| j                  d«        ||«      }
|�€,|
j                  }t        |t         «      }|�sddt#        j$                  «       v st'        j(                  t        «      rt'        j*                  t        «      ndd	t#        j$                  «       v st'        j(                  |«      rt'        j*                  |«      nd	d
t#        j$                  «       v st'        j(                  t         «      rt'        j*                  t         «      nd
t'        j*                  |«      dœz  }t-        t'        j.                  |«      «      ‚d }| j0                  �Å| j2                  t5        | j0                  «      k  r£t        | j0                  | j2                     x}t6        «      rzd| _        	 |
j;                  |j<                  «      }t?        | j0                  d | j2                   «      |z   t?        | j0                  | j2                  dz   d  «      z   | _        d| _        | jB                  jD                  }| jG                  |¬«       	 |s@	 |
jI                  | «      }| jB                  jK                  ||«       || jM                  «        S d }||u}|s™t'        jR                  d|fd||f«      dt#        j$                  «       v st'        j(                  |«      rt'        j*                  |«      ndt'        j*                  |«      dœz  }dd|iz  }t-        t'        j.                  |«      «      ‚d x}}d }|	|u}|s™t'        jR                  d|fd|	|f«      dt#        j$                  «       v st'        j(                  |	«      rt'        j*                  |	«      ndt'        j*                  |«      dœz  }dd|iz  }t-        t'        j.                  |«      «      ‚d x}}|xs dt5        | jT                  «      › �}	 	 |
jI                  | «      }t        «       |	z
  }t        j                  «       |z
  |z
  | jT                  |<   	  |«       r-| jX                  jZ                  } |||¬«      | j\                  |<   | jB                  jK                  ||«       || jM                  «        S # t@        $ r Y �ŒŽw xY w# d| _        w xY w# tN        $ r}tQ        |d|›�«       ‚ d }~ww xY w# t        «       |	z
  }t        j                  «       |z
  |z
  | jT                  |<   w xY w# t@        $ r'}tQ        |d|jW                  d«      ›d|›�«       ‚ d }~ww xY w# | jM                  «        w xY w)Nr   )Úobservability_enabled)Úunwrap_strategies)Úto_jsonablezempty strategy zmax depth exceededr¨  r†   ro   rp   r©  TrL   Frw   zwhile drawing from r÷   rõ  r´  rö  r÷  rÎ   rµ  zgenerate:unlabeled_zwhile generating z	generate:z from )rî  )/Ú!hypothesis.internal.observabilityra  Ú$hypothesis.strategies._internal.lazyrb  Ú%hypothesis.strategies._internal.utilsrc  rœ   r²  r³  r1   ÚvalidateÚis_emptyÚmark_invalidÚ	MAX_DEPTHro   r†   rp   rÓ   rÔ   rÑ   rÕ   rÖ   r×   rØ   r¡  r~   rÊ   r+   rË  Ú_invertrª   r  Ú	Exceptionr¿  r¸   rÙ   Údo_drawr  rã   r   r    rÒ   r·  Úremoveprefixr�  rî  rÀ  )r`   r^  ro   r_  ra  rb  rc  Úat_top_levelr´  rµ  Ú	unwrappedrû   rÏ  ÚholeÚinvertedrÿ   ÚvÚerrrÐ  rÝ   r  rü   r9  Ú	in_gctimeÚavoids                            rR   ÚdrawzConjectureData.draw
  sf  € õ 	LÝJÝEà—z‘z Q‘ˆØˆ
ØˆÙô
 ×*Ñ*Ó,ˆJÜ.Ó0ˆMà×ÑÔà×ÒØ×Ñ °¨|Ð<Ô=à�:‰:œÒ"Ø×ÑÐ2Ô3ñ & hÓ/ˆ	Ø‰=Ø—O‘OˆEÜ˜e¤SÓ)Ð)Ò)×)×)×)×)Õ)”:×)×)Ó)”:×)×)×)×)×)Ò)˜e×)×)Ó)˜e×)×)×)×)×)Ò)¤S×)×)Ó)¤S×)×)Ô)Ð)×)×)×)×)×)Ð)ð �K‰KÐ#Ø—
‘
œS §¡Ó-Ò-Ü 4§;¡;¨t¯z©zÑ#:Ð:˜4¼IÔFà"ˆDŒOð(Ø$×,Ñ,¨T¯Z©ZÓ8�ô ˜$Ÿ+™+ l¨¯
©
Ð3Ó4Øñä˜DŸK™K¨¯
©
°Q©Ð(8Ð9Ó:ñ;ð ”ð #(�”à×'Ñ'×2Ñ2ˆ
Ø�‰˜eˆÔ$ð$	Ùð
Ø!×)Ñ)¨$Ó/�AØ×&Ñ&×<Ñ<¸ZÈÔKØð> �N‰NÕð/ &*Ð)�: TÐ)×)×)Õ)�: T×)×)×)×)×)Ñ)�:×)×)Ó)�:×)×)Ô) T×)×)×)×)×)×)Ñ)Ø(,Ð,�=¨Ð,×,×,Õ,�=¨×,×,×,×,×,Ñ,�=×,×,Ó,�=×,×,Ô,¨×,×,×,×,×,×,Ñ,ØÒLÐ"5´c¸$¿/¹/Ó6JÐ5KÐ LˆCððXØ!×)Ñ)¨$Ó/�Aô !3Ó 4°}Ñ D�IÜ+/×+<Ñ+<Ó+>ÀÑ+KÈiÑ+W�D—O‘O CÒ(ñ %Ô&ØŸ™×7Ñ7�Ù0;¸AÐQVÔ0W�×(Ñ(¨Ñ-Ø×Ñ×4Ñ4°ZÀÔCØà�N‰NÕøôg ò ò ðûð #(�•ûô /ò ô
 ˜SÐ$7¸°|Ð"DÔEØûðûô  !3Ó 4°}Ñ D�IÜ+/×+<Ñ+<Ó+>ÀÑ+KÈiÑ+W�D—O‘O CÒ(ûÜò ÜØØ'¨×(8Ñ(8¸Ó(EÐ'HÈÈxÈlÐ[ôð ûðûð �N‰NÕús“   È0T ÉAT- ËW Ë.T9 ÌE&W Ñ5U Ò4V Ò:AW Ô	T*Ô&T- Ô)T*Ô*T- Ô-	T6Ô9	UÕUÕUÕW Õ6VÖV Ö	WÖ"V>Ö>W×W ×Wc                 ó.   — | j                   j                  S )z‡The index that the next span to start will get. Spans are indexed
        in start order, so this also counts the spans started so far.)r¿  r¸   r_   s    rR   Únext_span_indexzConjectureData.next_span_indexp  s   € ð ×!Ñ!×,Ñ,Ð,rT   c              #   ób   K  — | j                   }|–— | j                  j                  |«       y ­wrt   )ry  rˆ  r  )r`   rÿ   s     rR   Útrack_arg_spanzConjectureData.track_arg_spanv  s+   è ø€ ð ×)Ñ)ˆ
ØÒØ�‰×Ñ˜:Õ&ùs   ‚-/c              #   ól   K  — i }| j                  «       5 }|–— d d d «       ||<   y # 1 sw Y   ŒxY w­wrt   )r{  )r`   ro   Ú
arg_labelsrÿ   s       rR   Útrack_arg_labelzConjectureData.track_arg_labelƒ  s?   è ø€ à!#ˆ
à× Ñ Ó"ð 	 jØÒ÷	ð
 'ˆ
�5Ò÷	ð 	üs   ‚4•(š4¨1­4c                 óH  — | j                   j                  |«       | j                  d«       | xj                  dz  c_        | j                  | j                  kD  r| j                  | _        | j
                  j                  |«       | j                  j                  |h«       y )NrÙ   rL   )	r�  Ú
span_startr]  rœ   r¹  r¿  rÙ   r½  rÚ   )r`   ro   s     rR   rÙ   zConjectureData.start_spanŽ  sv   € Ø�‰× Ñ  Ô'Ø× Ñ  Ô.Ø�
Š
�a‰�
ð �:‰:˜Ÿ™Ò&Ø!ŸZ™ZˆDŒNØ×Ñ×%Ñ% eÔ,Ø×'Ñ'×.Ñ.°¨wÕ7rT   F©rý   rý   c                ó˜  — | j                   j                  |«       | j                  ry |rd| _        | xj                  dz  c_        | j                  }d}| }||k\  }|s­t        j                  d|fd||f«      dt        j                  «       v st        j                  | «      rt        j                  | «      ndt        j                  |«      t        j                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d x}x}x}}| j                  j                  |¬	«       | j                  j!                  «       }|s]| j                  r| j                  d
   j#                  |«       n2| j$                  j#                  |D �	cg c]  }	t'        |	«      ‘Œ c}	«       |r| j(                  j+                  «        y y c c}	w )NTrL   r7  )z.%(py2)s
{%(py2)s = %(py0)s.depth
} >= -%(py5)sr`   rù   rú  rû  r�  r#  )r�  Úspan_endrl   r…  rœ   rÑ   rÒ   rÓ   rÔ   rÕ   rÖ   r×   rØ   r¿  rã   r½  râ   Úupdater‡  rx   rœ  rl  )
r`   rý   rÝ   rÛ   rÜ   rû   rÒ  r  Úlabels_for_structureÚls
             rR   rã   zConjectureData.stop_span�  s@  € Ø�‰×Ñ˜wÔ'Ø�;Š;ØÙØ $ˆDÔØ�
Š
�a‰�
Ø�z‰zÐ˜aÐ˜a˜RÐˆz˜RÑ××Õˆz˜R×××××Ñˆt××Óˆt××Ôˆz××Ò˜a××××××ÕØ×Ñ×$Ñ$¨WÐ$Ô5à#×>Ñ>×BÑBÓDÐáØ×.Ò.Ø×/Ñ/°Ñ3×:Ñ:Ð;OÕPà—	‘	× Ñ ÐBVÖ!W¸QÔ"5°aÕ"8Ò!WÔXáð2 �M‰M×%Ñ%Õ'ð3 ùò "Xs   ÆGc                 óz  — | j                   }|syddt        j                  «       v st        j                  | «      rt        j
                  | «      ndt        j
                  |«      dœz  }t        t        j                  |«      «      ‚d }| j                  €t        | j                  ¬«      | _        | j                  S )NrX  r`   r  )rÄ   )rl   rÓ   rÔ   rÑ   rÕ   rÖ   r×   rØ   r¾  r€   r¿  )r`   rÝ   r  s      rR   r·   zConjectureData.spansÊ  sm   € à�{‰{Ð‰{××××Õˆt××Óˆt××Ôˆ{×××××ÐØ�<‰<ÐÜ ¨×(:Ñ(:Ô;ˆDŒLØ�|‰|ÐrT   c                 ón  — | j                   ry t        j                  «       | _        t	        «       | _        | j                  dk\  r | j                  «        | j                  dk\  rŒ | j                  j                  «        d| _         | j                  j                  | j                  | j                  «       y )Nr   T)rl   r²  r³  Úfinish_timer1   Úgc_finish_timerœ   rã   r¿  ró   rœ  rj  rc  rh  r_   s    rR   ró   zConjectureData.freezeÑ  s…   € Ø�;Š;ØÜ×,Ñ,Ó.ˆÔÜ0Ó2ˆÔð �j‰j˜AŠoØ�N‰NÔð �j‰j˜A‹oð 	×Ñ×!Ñ!Ô#ØˆŒØ�‰×#Ñ# D§K¡K°×1HÑ1HÕIrT   r<  c                óx   — |€d n|j                  |«      }| j                  dt        |«      dz
  ||¬«      }||   S )Nr   rL   rA  )r~   rq  rÊ   )r`   r<  rÛ  rÚ  Úforced_ir¤   s         rR   rU  zConjectureData.choiceß  sM   € ð "˜>‘4¨v¯|©|¸FÓ/CˆØ×ÑØÜ�‹K˜!‰OØØð	 ó 
ˆð �a‰yÐrT   rc  rh  c                 ó0  — g }d }||u }|}|st         j                  }||k(  }|}|�s¡t        j                  d|fd||f«      dt	        j
                  «       v st        j                  |«      rt        j                  |«      ndt        j                  |«      dœz  }	dd|	iz  }
|j                  |
«       |sÕt        j                  dfd|f«      d	t	        j
                  «       v st        j                  |«      rt        j                  |«      nd	d
t	        j
                  «       v st        j                  t         «      rt        j                  t         «      nd
t        j                  |«      dœz  }dd|iz  }|j                  |«       t        j                  |d«      i z  }dd|iz  }t        t        j                  |«      «      ‚d x}x}x}x}x}}| j                  d«       || _        || _        | j                  «        t!        | j"                  «      ‚)Nr,  r.  rh  r/  r0  rÏ   r:  )z6%(py9)s == %(py13)s
{%(py13)s = %(py11)s.INTERESTING
}rc  r[   )rÐ   r  r  z%(py15)sr  rL   zassert %(py18)sr  rj  )r[   rh   rÑ   rÒ   rÓ   rÔ   rÕ   rÖ   rÚ   r  r×   rØ   r]  rh  rc  ró   r   r±  )r`   rc  rh  rÝ   rÛ   rû   r  rT  r  rü   rÞ   r  r"  r>  r?  s                  rR   rj  zConjectureData.conclude_testï  s-  € ñ
 	N dÐMÐ" dÐ*ÔM¼&×:LÑ:LÐM°Ð:LÑ0L×M×M×MÐMÐ" d×M×M×M×M×MÑMÐ"×M×MÓMÐ"×M×MÔM d×M×M×M×M×M×MÕM°Ð:L×M×M×M×M×MÑM°×M×MÓM°×M×M×M×M×MÒM¼&×M×MÓM¼&×M×MÔMÐ:L×M×M×M×M×M×M×M×M×M×M×M×M×MÒMØ× Ñ  Ô1Ø"4ˆÔØˆŒØ�‰ŒÜ�t×'Ñ'Ó(Ð(rT   c                 óD   — | j                  t        j                  |«       y rt   )rj  r[   rh   )r`   rh  s     rR   Úmark_interestingzConjectureData.mark_interestingû  s   € Ø×Ñœ6×-Ñ-Ð/AÕBrT   )ÚlocationÚwhyr�  c                ór   — |�|| j                   d<   || _        | j                  t        j                  «       y )Nzgave up because)r¶  rÂ  rj  r[   rf   )r`   r‘  r�  s      rR   ri  zConjectureData.mark_invalidþ  s2   € ð ˆ?Ø-0ˆD�K‰KÐ)Ñ*Ø (ˆÔØ×Ñœ6Ÿ>™>Õ*rT   c                 óB   — | j                  t        j                  «       y rt   )rj  r[   re   r_   s    rR   ré  zConjectureData.mark_overrun  s   € Ø×Ñœ6Ÿ>™>Õ*rT   c                 óX   — | j                   €y| j                   \  }}|xs t        |«      S )z2The location of the most recently rejected filter.N)rÃ  r=   )r`   Ú	conditionr�  s      rR   Úlast_rejected_filter_locationz,ConjectureData.last_rejected_filter_location	  s2   € à×%Ñ%Ð-ØØ"×8Ñ8Ñˆ	�8àÒ7Ô,¨YÓ7Ð7rT   )NN)g      à?r  rt   )Mrb   rc   rd   Úclassmethodr3   r	   r&   r+   r%   rg  r4   r  r   r¤  rp   r™  ri   r   r‚   ra   r±   r  r$   rñ   r–  r   r   r)   r°   rÞ  r(   r{  r*   r"   r|  r!   r'   r#   rq  rì  Úinfr7   rt  r2   r;   rv  rx  rz  r  rê  r~  rb  r�  r]  r\  rw  ry  r
   r   r{  rC   r~  rÙ   rã   r€   r·   ró   rU   rU  r[   r6   r   rj  r�  ri  ré  r–  rj   rT   rR   r›  r›  ¦  s[  „ Øð
 )-Ø@RØ $ò
à˜.¨9Ñ4°wÑ>Ñ?ð
ð  Ñ%ð	
ð
 $ dÐ+<Ñ&=Ñ=ð
ð ˜‘ð
ð 
ò
ó ð
ð, )-Ø@RØHLØ"&Ø-1òn#ð ˜‘ðn#ð  Ñ%ð	n#ð
 $ dÐ+<Ñ&=Ñ=ðn#ð ˜¨)Ñ3°gÑ=Ñ>ÀÑEðn#ð ˜4‘Zðn#ð ˜#˜s˜(‘^ dÑ*ðn#ð 
ón#ð`
˜#ó 
ð ð!�u˜Z¨˜_Ñ-ò !ó ð!ð
 ð9˜˜w¨˜|Ñ,ò 9ó ð9ð ðà˜YÑ'ðð (ðð
 ðð �d‘
ðð 
òó ðð ðà˜WÑ%ðð &ðð
 ðð ˜‘ðð 
òó ðð ðà˜XÑ&ðð 'ðð
 ðð �d‘
ðð 
òó ðð ðà˜WÑ%ðð &ðð
 ðð ˜‘ðð 
òó ðð ðà˜YÑ'ðð (ðð
 ðð �t‘ðð 
òó ððPà ðPð (ðPð
 ðPð ˜$‘ðPð 
óPðh !%Ø $ð%Rð
 ,0ØØ!Øò%Rà˜‘:ð%Rð ˜‘:ð%Rð
 �c˜5�jÑ! DÑ(ð%Rð ð%Rð �d‘
ð%Rð ð%Rð 
ó%RðR !ŸH™H˜9ØŸ8™8ð*Pð
 Ø,>ð  $Øò*Pàð*Pð ð*Pð
 ð*Pð %*ð*Pð ˜‘ð*Pð ð*Pð 
ó*Pð` Ø3Ø!ØòQàðQð ð	Qð
 ðQð �d‘
ðQð ðQð 
óQð4 Ø3ðPð
  $ØòPàðPð ðPð
 ˜‘ðPð ðPð 
óPð$ ðRð #ØòRàðRð �t‘ð	Rð
 ðRð 
óRð ð!Ø" 9Ñ-ð!Ø<Nð!à	ò!ó ð!ð ðØ" 7Ñ+ðØ:Jðà	òó ðð ð Ø" 8Ñ,ð Ø;Lð à	ò ó ð ð ðØ" 7Ñ+ðØ:Jðà	òó ðð ð!Ø" 9Ñ-ð!Ø<Nð!à	ò!ó ð!ðØ&ðØ5Gðà	óðmà ðmð (ðmð
 ˜$‘ðmð 
ómð^Ð+¨hÑ6ó ð8I¨ð I°ó Ið!˜#ð ! $ó !ð !Ø!%ñ	dà&ðdð �T‰zðdð ˜$‘Jð	dð
 
ódðL ð- ò -ó ð-ð
 ð
' 	¨#¡ò 
'ó ð
'ð ð' Sð '¨Y°zÑ-Bò 'ó ð'ð8 ð 8¨ó 8ð ,1ò +( Dð +(°Tó +(ðZ ð�uò ó ðóJð$  Øòà˜‘ðð �D‘ð	ð
 ðð 
óð& 8<ñ
)àð
)ð .°Ñ4ð
)ð 
ó	
)ðCÐ3Dð CÈó Cð !%ð+Ø@Dò+Ø˜‘:ð+Ø36¸±:ð+à	ó+ð+˜hó +ð8¨s°T©zô 8rT   r›  rØ  rm  rž  c          	      ót   — t        |¬«      }t        t         t        |j                  d| › �«      di |¤Ž«      S )N)rž  rè  rj   )r›  r   r%   rë  r�  )rØ  rm  rž  Úcds       rR   Údraw_choicer›    s8   € ô 
˜vÔ	&€BÜ”ÐDœ §¡°°k°]Ð.CÓDÑSÀ{ÑSÓTÐTrT   )™ÚbuiltinsrÓ   Ú_pytest.assertion.rewriteÚ	assertionÚrewriterÑ   Údatetimerì  r²  Útypesr¨   Úcollectionsr   Úcollections.abcr   r   r   r   r   r	   Ú
contextlibr
   Údataclassesr   r   Úenumr   Ú	functoolsr   rž  r   Útypingr   r   r   r   r   r   r   r   Úhypothesis.errorsr   r   r   r   r   r   r   Úhypothesis.internal.cacher   Úhypothesis.internal.compatr    Ú%hypothesis.internal.conjecture.choicer!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   Ú)hypothesis.internal.conjecture.junkdrawerr0   r1   rP   r2   r3   r4   Ú$hypothesis.internal.conjecture.utilsr5   Úhypothesis.internal.escalationr6   Úhypothesis.internal.floatsr7   r8   r9   r:   Ú hypothesis.internal.intervalsetsr;   rd  r<   Úhypothesis.internal.reflectionr=   Úhypothesis.reportingr>   Úhypothesis.utils.conventionsr?   r@   Úhypothesis.utils.deprecationrA   Úhypothesis.utils.threadingrB   Úhypothesis.vendor.prettyrC   Úhypothesis.strategiesrD   Ú$hypothesis.strategies._internal.corerE   Ú&hypothesis.strategies._internal.randomrF   Ú*hypothesis.strategies._internal.strategiesrG   ri   rS   rU   r™  rp   r{  r˜  r  rV   rq   rÎ  r8  rj  r°  r[   rn   rr   rx   ry   r°   r|  ÚNoneTypeÚdateÚ	timedeltarz   r  r{   r}   r³   r¼   rî   r  r  r  r(  r.  r3  r€   rb  re  rg  r~  r›  r›  rj   rT   rR   ú<module>r¿     s  ð÷ … ƒÛ Û Û Û Ý #ß W× WÝ %ß (Ý Ý %Ý ÷	÷ 	ó 	÷÷ ñ õ /Ý /÷÷ ÷ ÷ ñ ÷" R÷ñ õ
 FÝ <÷ó õ 9Ý =Ý <Ý -ß BÝ 9Ý 2Ý /áÝ4Ý?ÝBÝ=ð�cð ˜có ñ$ ˆCƒL€Ø˜#˜s U™{Ð*Ñ+Ð à  [Ð2DÀgÐPTÁnÐ TÑU€ˆiÓ Uá  Ó'€	Ù.Ø/óÐ ð €	á¨cÔ2€ô%ˆWô %ñ �˜dÔ#÷ð ó $ðð ?AÐ ˜4 Ð%:Ð :Ñ;Ó @ðY˜sð YÐ'<ó Yñ KSÐSWË.Ð ˜( 5¨¨c¨¡?Ð4FÐ#FÑGÓ Xð ØØØ	Ø	Ø	‡N‚NØ‡M‚MØ‡M�MØ×ÑØ×Òð-Ð ˜˜t S˜yÑ)ó ñ %Ð%8Ó9Ð ÷mñ m÷`5"ñ 5"ôp�ô ÷6ñ 6ôr(�|ô (ô 
�ô 
ô
�ô 
ô	ˆlô 	ô	�\ô 	ô@�lô @÷>Rñ R÷jñ ñ ‹*€÷*ñ *ñZ �˜dÔ#÷8ð 8ó $ð8÷>i8ñ i8ðXUØðUØ+=ðUØJPðUàôUrT   