Ë
    iKêjª  ã                   ó4   — d dl mZ d dlmZ 	  G d„ de«      Zy)é    )Úfind_integer)ÚShrinkerc                   óP   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	e
defd	„«       Zd
„ Zy)ÚIntegerzÁAttempts to find a smaller integer. Guaranteed things to try ``0``,

    ``1``, ``initial - 1``, ``initial - 2``. Plenty of optimisations beyond
    that but those are the guaranteed ones.
    c                 ó6  — t        d«      D ]  }| j                  |«      sŒ y | j                  «        | j                  dkD  rI| j                  | j                  | j                  dz
  z	  «       | j                  | j                  dz  «       | j                  dk(  S )Né   Té   éÿ   )ÚrangeÚconsiderÚmask_high_bitsÚsizeÚcurrent)ÚselfÚis     úu/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/hypothesis/internal/conjecture/shrinking/integer.pyÚshort_circuitzInteger.short_circuit   s~   € Ü�q“ò 	ˆAØ�}‰}˜QÕÙð	ð 	×ÑÔØ�9‰9�qŠ=à�M‰M˜$Ÿ,™,¨4¯9©9°q©=Ñ9Ô:Ø�M‰M˜$Ÿ,™,¨Ñ-Ô.Ø�|‰|˜qÑ Ð ó    c                 ó   — |dk\  sJ ‚y ©Nr   © )r   Úvalues     r   Úcheck_invariantszInteger.check_invariants%   s   € Ø˜ŠzÐ‰zr   c                 ó   — ||k  S ©Nr   )r   ÚleftÚrights      r   Úleft_is_betterzInteger.left_is_better(   s   € Ø�e‰|Ðr   c                 óh   — | j                  «        | j                  d«       | j                  d«       y )Nr   é   )Úshift_rightÚshrink_by_multiples©r   s    r   Úrun_stepzInteger.run_step+   s*   € Ø×ÑÔØ× Ñ  Ô#Ø× Ñ  Õ#r   c                 ó>   ‡ ‡— ‰ j                   Št        ˆˆ fd„«       y )Nc                 óN   •— | ‰j                   k  xr ‰j                  ‰| z	  «      S r   )r   r   )ÚkÚbaser   s    €€r   ú<lambda>z%Integer.shift_right.<locals>.<lambda>2   s!   ø€ ˜q D§I¡I™~ÒJ°$·-±-ÀÈÁ	Ó2J€ r   ©r   r   )r   r(   s   `@r   r!   zInteger.shift_right0   s   ù€ Ø�|‰|ˆÜÔJÕKr   c                 ób   ‡ ‡‡— ‰ j                   Š‰j                  «       Št        ˆˆˆ fd„«       }y )Nc                 óN   •— | ‰k\  ryd‰| z
  z  dz
  }‰j                  |‰z  «      S )NFr    ©r   )r'   Úmaskr(   Únr   s     €€€r   Útry_maskz(Integer.mask_high_bits.<locals>.try_mask8   s2   ø€ à�AŠvØØ˜!˜a™%‘L AÑ%ˆDØ—=‘= ¨¡Ó-Ð-r   )r   Ú
bit_lengthr   )r   r0   r(   r/   s   ` @@r   r   zInteger.mask_high_bits4   s*   ú€ Ø�|‰|ˆØ�O‰OÓˆä	õ	.ó 
ñ	.r   Úreturnc                 ó6   — | j                   j                  «       S r   )r   r1   r#   s    r   r   zInteger.size?   s   € à�|‰|×&Ñ&Ó(Ð(r   c                 óJ   ‡ ‡‡— ‰ j                   Št        ˆˆˆ fd„«       }|dkD  S )Nc                 óD   •— ‰| ‰z  z
  }|dk\  xr ‰j                  |«      S r   r-   )r/   Úattemptr(   r'   r   s     €€€r   Úshrunkz+Integer.shrink_by_multiples.<locals>.shrunkF   s(   ø€ à˜Q ™U‘lˆGØ˜a‘<Ò: D§M¡M°'Ó$:Ð:r   r   r*   )r   r'   r7   r(   s   `` @r   r"   zInteger.shrink_by_multiplesC   s*   ú€ Ø�|‰|ˆä	õ	;ó 
ð	;ð ˜‰zÐr   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r$   r!   r   ÚpropertyÚintr   r"   r   r   r   r   r      sF   „ ñò	!òòò$ò
Lò	.ð ð)�cò )ó ð)ór   r   N)Ú)hypothesis.internal.conjecture.junkdrawerr   Ú/hypothesis.internal.conjecture.shrinking.commonr   r   r   r   r   ú<module>r@      s   ðõ CÝ Dðô
8ˆhõ 8r   