Ë
    iKêjU2  ã                   óÔ  — d 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	 ddl
mZ ddlmZ 	 ddlZdZ	 ddlZej$                  j'                  d«        ej(                  d	d
i¬«       ej*                  «       d„ «       «       Zdedefd„Zd„ Zej7                  «        ej8                  dedd¬«      d„ «       «       Zej7                  «        ej8                  dedd¬«       ej<                  dddd¬«       ej<                  dddd¬«       ej<                  ddd d!¬«       ej<                  d"dd#d$¬«       ej<                  d%dd&d'¬«       ej<                  d( ej>                  d)d*g«      erd)nd*d+¬,«       ej<                  d-d.d/edd0¬1«       ej<                  d2dd3¬4«      d5„ «       «       «       «       «       «       «       «       «       «       Z y# e$ r dZY �Œ¤w xY w# e$ r d6„ ZY yw xY w)7a   
::

    $ hypothesis --help
    Usage: hypothesis [OPTIONS] COMMAND [ARGS]...

    Options:
      --version   Show the version and exit.
      -h, --help  Show this message and exit.

    Commands:
      codemod  `hypothesis codemod` refactors deprecated or inefficient code.
      fuzz     [hypofuzz] runs tests with an adaptive coverage-guided fuzzer.
      write    `hypothesis write` writes property-based tests for you!

This module requires the :pypi:`click` package, and provides Hypothesis' command-line
interface, for e.g. :ref:`'ghostwriting' tests <ghostwriter>` via the terminal.
It's also where `HypoFuzz <https://hypofuzz.com/>`__ adds the :command:`hypothesis fuzz`
command (`learn more about that here <https://hypofuzz.com/docs/quickstart.html>`__).
é    N)Úget_close_matches)Úpartial)ÚPool)ÚPathz°
The Hypothesis command-line interface requires the `{}` package,
which you do not have installed.  Run:

    python -m pip install --upgrade 'hypothesis[cli]'

and try again.
ú.Úhelp_option_names)z-hz--help)Úcontext_settingsc                   ó   — y )N© r   ó    úY/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/hypothesis/extra/cli.pyÚmainr   H   s   € ð 	r   ÚsÚreturnc                 ó´  — | j                  «       } d| v sd| v rt        j                  d«      d‚	 t        j                  | «      S # t
        $ r Y nw xY wd}d| vrdt        | }}}nÂ| j                  dd«      \  }}	 t        j                  |«      }n–# t
        $ rŠ}	 |j                  dd«      \  }}t        j                  |«      }nT# t
        t        f$ rB | j                  d«      rt        j                  d	«      d‚t        j                  d
|› d�«      |‚w xY wY d}~nd}~ww xY wdt        j                  dt        dt        fd„}|€f	 t        ||«      S # t        $ rM}|dk(  rt        j                  d| dd › �«      d‚t        j                  d|›d|›d� |||«      z   «      |‚d}~ww xY w	 t        ||«      }n8# t        $ r,}t        j                  d|›d|›d� |||«      z   «      |‚d}~ww xY w	 t        ||«      S # t        $ rL}t        j                   |«      rd}nd}t        j                  d|›d|›d|› d|›d�	 |||«      z   «      |‚d}~ww xY w)z@This "type" imports whatever object is named by a dotted string.ú/ú\zPRemember that the ghostwriter should be passed the name of a module, not a path.Nr   Úbuiltinsé   z.pyzPRemember that the ghostwriter should be passed the name of a module, not a file.zFailed to import the z^ module for introspection.  Check spelling and your Python import path, or use the Python API?Úmodule_or_classÚobjnamer   c                 óˆ   — t        | «      D �cg c]  }|j                  d«      rŒ|‘Œ }}t        ||«      }|rd|›�S yc c}w )NÚ_z  Closest matches: Ú )ÚvarsÚ
startswithr   )r   r   ÚnameÚpublic_namesÚmatchess        r   Údescribe_close_matchesz(obj_name.<locals>.describe_close_matchesm   sT   € ô "& oÓ!6öØ¸d¿o¹oÈcÕ>R’ðˆLð ô (¨°Ó>ˆGÙØ,¨W¨KÐ8Ð8àùòs   Ž?¥?ÚpyzhRemember that the ghostwriter should be passed the name of a module, not a file.
	Try: hypothesis write éýÿÿÿz
Found the z module, but it doesn't have a z attribute.z class.ÚclassÚ	attributez module and ú z, but it doesn't have a )ÚstripÚclickÚ
UsageErrorÚ	importlibÚimport_moduleÚImportErrorr   ÚrsplitÚ
ValueErrorÚendswithÚtypesÚ
ModuleTypeÚstrÚgetattrÚAttributeErrorÚinspectÚisclass)	r   Ú	classnameÚ
modulenameÚmoduleÚfuncnameÚerrr    Ú
func_classÚfunc_class_iss	            r   Úobj_namer=   M   së  € à�G‰G‹IˆØ�!‰8�t˜q‘yÜ×"Ñ"Øbóàðð	Ü×*Ñ*¨1Ó-Ð-øÜò 	Ùð	úàˆ	Ø�a‰<Ø+5´xÀ ˜‰Jà#$§8¡8¨C°Ó#3Ñ ˆJ˜ðÜ"×0Ñ0°Ó<‘øÜò ðØ,6×,=Ñ,=¸cÀ1Ó,EÑ)�J 	Ü&×4Ñ4°ZÓ@‘FøÜ#¤ZÐ0ò Ø—z‘z %Ô(Ü#×.Ñ.Ønóà#ð$ô  ×*Ñ*Ø/°
¨|ð <]ð ]óð ððúô ûðúð
	Ü"×-Ñ-ð
	Ü8;ð
	äó
	ð ÐðÜ˜v xÓ0Ð0øÜ!ò Ø˜tÒ#ä×*Ñ*ð5Ø56°s¸°V°Hð>óð  ð ô ×&Ñ&Ø   Ð.MØ�l +ð/á,¨V°XÓ>ñ?óð ð	ûðúðÜ$ V¨YÓ7‘
øÜ!ò Ü×&Ñ&Ø   Ð.MØ �m 7ð,Ù.DÀVÈYÓ.WñXóð ðûðúð
Ü˜z¨8Ó4Ð4øÜ!ò 	Ü—?‘? :Ô.Ø$+‘Mà$/�MÜ×&Ñ&Ø   ¨l¸9¸-ÀqÈÈð X-Ø-5¨L¸ðEá,¨Z¸ÓBñCóð ð	ûð	ús†   °A Á	AÁAÁ;B Â	D$Â*CÃDÃADÄDÄD$Å
E Å	F,ÅAF'Æ'F,Æ0F= Æ=	G2Ç'G-Ç-G2Ç6H È	IÈAIÉIc                 ó²  — 	 t        |«      j                  d¬«      }d|vry 	  | |«      }||k7  rt        |«      j                  |d¬«       y y # t        t        f$ r}d|›d|› �cY d }~S d }~ww xY w# t        $ r[}ddlm} t        ||«      rCddlm	}  |t        |«      j                  d	d
«      d«      j                  «       }d|›d|› �cY d }~S ‚ d }~ww xY w)Nzutf-8)Úencodingz	skipping z due to Ú
hypothesisr   )ÚParserSyntaxError)Úindentz

ú
z    )r   Ú	read_textÚOSErrorÚUnicodeErrorÚ	ExceptionÚlibcstrA   Ú
isinstanceÚhypothesis.extra._patchingrB   r1   Úreplacer&   Ú
write_text)ÚfuncÚfnameÚoldcoder:   ÚnewcoderA   rB   Úmsgs           r   Ú	_refactorrR   �   sç   € ð	6Ü˜5“k×+Ñ+°WÐ+Ó=ˆGð
 ˜wÑ&Øð
	Ù˜7“mˆGð �gÒÜ�‹K×"Ñ" 7°WÐ"Õ=ð øô' œÐ&ò 	6à˜u˜i x°¨uÐ5Õ5ûð	6ûô ò 	Ý0ä˜#Ð0Ô1Ý=áœS ›X×-Ñ-¨f°dÓ;¸VÓD×JÑJÓL�Ø" 5 )¨8°C°5Ð9Õ9Øûð	úsA   ‚A £A2 ÁA/ÁA*Á$A/Á*A/Á2	CÁ;ACÃ
CÃCÃCÚpathTéÿÿÿÿ)ÚtypeÚrequiredÚnargsc                 ó@  — 	 ddl m} ddlm} d| v rkt        | «      dkD  rt        d«      ‚t        dt
        j                  ¬	«       t        j                  t
        j                  j                  «       «      «       y | «      }t        «       }t        |«      dk  r&|j!                  t#        j                  g|¢­Ž «       nTt%        «       5 }|j'                  t)        t"        j                  «      |«      D ]  }|j!                  |«       Œ 	 d
d
d
«       |j+                  d
«       |D ]  }t        |t
        j                  ¬	«       Œ |rdS dS # t        $ r8 t
        j                  j                  d«       t        j                  d«       Y �Œ‚w xY w# 1 sw Y   Œ†xY w)aÀ  `hypothesis codemod` refactors deprecated or inefficient code.

        It adapts `python -m libcst.tool`, removing many features and config options
        which are rarely relevant for this purpose.  If you need more control, we
        encourage you to use the libcst CLI directly; if not this one is easier.

        PATH is the file(s) or directories of files to format in place, or
        "-" to read from stdin and write to stdout.
        r   )Úgather_files)Úcodemodsz†You are missing required dependencies for this option.  Run:

    python -m pip install --upgrade hypothesis[codemods]

and try again.r   ú-z6Cannot specify multiple paths when reading from stdin!zCodemodding from stdin©ÚfileN)Úlibcst.codemodrY   Úhypothesis.extrarZ   r+   ÚsysÚstderrÚwriteÚexitÚlenrG   ÚprintÚrefactorÚstdinÚreadÚsetÚaddrR   r   Úimap_unorderedr   Údiscard)rS   rY   rZ   ÚfilesÚerrorsÚpoolrQ   s          r   Úcodemodrp   ¶   s`  € ð
	Ý3å1ð �$‰;Ü�4‹y˜1Š}ÜØLóð ô Ð*´·±Õ<Ü�(×#Ñ#¤C§I¡I§N¡NÓ$4Ó5Ô6Øñ ˜TÓ"ˆÜ“ˆÜˆu‹:˜Š?Ø�J‰J”y ×!2Ñ!2Ð;°UÒ;Õ<ä“ð $˜4Ø×.Ñ.ÜœI x×'8Ñ'8Ó9¸5óò $�Cð —J‘J˜s•Oñ$÷$ð
 	�‰�tÔØò 	(ˆCÜ�#œCŸJ™JÖ'ð	(áˆqÐ! Ð!øôA ò 	Ü�J‰J×Ñð!ôô
 �H‰H�Q�Kð	ú÷0$ð $ús   ‚E ÃAFÅ=FÆFÆFrM   z--roundtripÚwriterÚ	roundtripz-start by testing write/read or encode/decode!)Ú
flag_valueÚhelpz--equivalentÚ
equivalentz/very useful when optimising or refactoring codez--errors-equivalentúerrors-equivalentz/--equivalent, but also allows consistent errorsz--idempotentÚ
idempotentzcheck that f(x) == f(f(x))z--binary-opÚbinary_operationz.associativity, commutativity, identity elementz--styleÚpytestÚunittestz0pytest-style function, or unittest-style method?)rU   Údefaultrt   z-ez--exceptÚexcept_z%dotted name of exception(s) to ignore)rU   Úmultiplert   z--annotate/--no-annotatez\force ghostwritten tests to be type-annotated (or not).  By default, match the code to test.)r{   rt   c                 óæ  — |xs d||dœ}|€d}nR|dk(  r#t        | «      dkD  rt        j                  d«      ‚|dk(  rt        | «      dk(  rd}nd	|v rt        | «      dk(  rd
}|dk(  rd	}d|d<   	 ddlm}  t        |«      | i |¤Ž}	 ddlm} ddlm}	 ddlm}
 	  |
«       dk(  rdnd} |	|dd|¬«      } |«       j'                  |d¬«       y# t
        $ rJ t        j                  j                  t        j                  d«      «       t        j                  d«       Y Œ«w xY w# t(        $ r) t'        dt        j                  ¬«       t'        |«       Y yw xY w# t
        $ r t'        |«       Y yw xY w)a¢  `hypothesis write` writes property-based tests for you!

        Type annotations are helpful but not required for our advanced introspection
        and templating logic.  Try running the examples below to see how it works:

        
            hypothesis write gzip
            hypothesis write numpy.matmul
            hypothesis write pandas.from_dummies
            hypothesis write re.compile --except re.error
            hypothesis write --equivalent ast.literal_eval eval
            hypothesis write --roundtrip json.dumps json.loads
            hypothesis write --style=unittest --idempotent sorted
            hypothesis write --binary-op operator.add
        r   )r|   ÚstyleÚannotateNÚmagicrw   r   z-Test functions for idempotence one at a time.rr   ru   Úfuzzrv   TÚallow_same_errorsr   )ÚghostwriterÚblack)ÚConsole)ÚSyntax)Úguess_background_colorÚlightr{   ÚmonokaiÚpython)Úbackground_colorÚtheme)Ú	soft_wrapz&# Error while syntax-highlighting coder\   )rd   r'   r(   r_   r„   r+   r`   ra   rb   ÚMESSAGEÚformatrc   r2   Úrich.consoler†   Úrich.syntaxr‡   Úhypothesis.utils.terminalrˆ   re   rG   )rM   rq   r|   r   r€   Úkwargsr„   Úcoder†   r‡   rˆ   r�   s               r   rb   rb   è   sg  € ðR %š]¨°UÈÑQˆØˆ>Ø‰FØ�|Ò#¬¨D«	°AªÜ×"Ñ"Ð#RÓSÐSØ�{Ò"¤s¨4£y°A¢~Ø!‰FØ˜VÑ#¬¨D«	°QªØˆFØÐ(Ò(Ø!ˆFØ*.ˆFÐ&Ñ'ð	Ý4ð
 ,Œw�{ FÓ+¨TÐ<°VÑ<ˆð	Ý,Ý*åHðÙ%;Ó%=ÀÒ%H™	Èi�Ù˜d H¸yÐPUÔV�Ù“	—‘ °�Õ5øô! ò 	Ü�J‰J×ÑœWŸ^™^¨GÓ4Ô5Ü�H‰H�QŽKð	ûô" ò ÜÐ>ÄSÇZÁZÕPÜ�d–ðûô ò 	Ü�$ŽKð	ús7   Á/C ÂE Â2D$ ÃAD!Ä D!Ä$/EÅEÅE0Å/E0c                  ó’   — t         j                  j                  t        j	                  d«      «       t        j
                  d«       y)zCIf `click` is not installed, tell the user to install it then exit.r'   r   N)r`   ra   rb   r�   r�   rc   r   r   r   r   r   <   s(   € ä�
‰
×ÑœŸ™¨Ó0Ô1Ü�‰��r   )!Ú__doc__r   r)   r4   r`   r/   Údifflibr   Ú	functoolsr   Úmultiprocessingr   Úpathlibr   ry   r+   r�   r'   rS   ÚappendÚgroupÚversion_optionr   r1   Úobjectr=   rR   ÚcommandÚargumentrp   ÚoptionÚChoicerb   r   r   r   ú<module>r¤      sY  ðñó* Û Û Û 
Û Ý %Ý Ý  Ý ðÛð€ð[Ûð ‡H�H‡O�O�CÔà€U‡[�[Ð#6Ð8HÐ"IÔJØ€U×ÑÓñó ó KððN�Cð N˜Fó Nò`>ð2 
‡\�\ƒ^Ø€U‡^�^�F ¨t¸2Ô>ñ."ó ?ó ð."ð` 
‡\�\ƒ^Ø€U‡^�^�F °DÀÔCØ€U‡\�\ØØØØ<ô	ð €U‡\�\ØØØØ>ô	ð €U‡\�\ØØØ&Ø>ô	ð €U‡\�\ØØØØ)ô	ð €U‡\�\ØØØ%Ø=ô	ð €U‡\�\ØØˆU�\‰\˜8 ZÐ0Ó1Ù"‘¨
Ø?ô	ð €U‡\�\ØØØØØØ4ôð €U‡\�\Ø"Øð.ôñ5óóóóóóóóó Dó ñl5øðe ò ØƒFðûð ò ôðús"   °G ·G ÇGÇGÇG'Ç&G'