§
    ©öÉg  ã            	      ó¤  — d dl mZ d dlZd dlmZmZmZmZmZm	Z	m
Z
mZmZmZ d dlZddlmZmZ erd dlmZmZ  ed¦  «        Znd„ Zg d	¢Z ed
d¬¦  «        Z ed¦  «        Zed)d„¦   «         Zed*d„¦   «         Zd*d„Zed+d„¦   «         Zed,d„¦   «         Zd,d „Z ej        d!d!d¬"¦  «         G d#„ d$ej        e	e         ¦  «        ¦   «         Ze ej        dd!d¬%¦  «         G d&„ d'ee         e	e         ¦  «        ¦   «         ¦   «         Ze ej        dd!d¬%¦  «         G d(„ dee
         ¦  «        ¦   «         ¦   «         Zeee         ef         Z dS )-é    )ÚannotationsN)
ÚTYPE_CHECKINGÚAsyncGeneratorÚ	AwaitableÚCallableÚ	GeneratorÚGenericÚNoReturnÚTypeVarÚUnionÚoverloadé   )ÚAlreadyUsedErrorÚremove_tb_frames)Ú	ParamSpecÚfinalÚArgsTc                ó   — | S ©N© )Úfuncs    úY/var/www/html/nodeJS/PythonScripts/venv3.11/lib/python3.11/site-packages/outcome/_impl.pyr   r      s   € Øˆó    )ÚErrorÚOutcomeÚMaybeÚValueÚacaptureÚcaptureÚValueTT)Ú	covariantÚResultTÚsync_fnúCallable[ArgsT, NoReturn]Úargsú
ArgsT.argsÚkwargsúArgsT.kwargsÚreturnr   c                ó   — d S r   r   ©r#   r%   r'   s      r   r   r   $   s	   € ð €Cr   úCallable[ArgsT, ResultT]úValue[ResultT] | Errorc                ó   — d S r   r   r+   s      r   r   r   .   s	   € ð €Cr   c                óš   — 	 t           | |i |¤Ž¦  «        S # t          $ r)}t          |d¦  «        }t          |¦  «        cY d}~S d}~ww xY w)zŒRun ``sync_fn(*args, **kwargs)`` and capture the result.

    Returns:
      Either a :class:`Value` or :class:`Error` as appropriate.

    r   N©r   ÚBaseExceptionr   r   )r#   r%   r'   Úexcs       r   r   r   7   sm   € ðÝ�W�W˜dÐ- fÐ-Ð-Ñ.Ô.Ð.øÝð ð ð Ý˜s AÑ&Ô&ˆÝ�S‰zŒzÐÐÐÐÐÐøøøøðøøøs   ‚ —
A
¡A¿A
ÁA
Úasync_fnú$Callable[ArgsT, Awaitable[NoReturn]]c              �  ó
   K  — d S r   r   ©r3   r%   r'   s      r   r   r   I   ó   è è € ð €Cr   ú#Callable[ArgsT, Awaitable[ResultT]]c              �  ó
   K  — d S r   r   r6   s      r   r   r   R   r7   r   c              �  óª   K  — 	 t           | |i |¤Žƒ d{V —†¦  «        S # t          $ r)}t          |d¦  «        }t          |¦  «        cY d}~S d}~ww xY w)z“Run ``await async_fn(*args, **kwargs)`` and capture the result.

    Returns:
      Either a :class:`Value` or :class:`Error` as appropriate.

    Nr   r0   )r3   r%   r'   r2   s       r   r   r   [   sƒ   è è € ðÝ˜8˜8 TÐ4¨VÐ4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ñ5Ô5Ð5øÝð ð ð Ý˜s AÑ&Ô&ˆÝ�S‰zŒzÐÐÐÐÐÐøøøøðøøøs   „ Ÿ
A©AÁAÁAF)ÚreprÚinitÚslotsc                  ó²   — e Zd ZU dZ ej        ddd¬¦  «        Zded<   dd„Ze	j
        dd
„¦   «         Ze	j
        dd„¦   «         Ze	j
        dd„¦   «         ZdS )r   a;  An abstract class representing the result of a Python computation.

    This class has two concrete subclasses: :class:`Value` representing a
    value, and :class:`Error` representing an exception.

    In addition to the methods described below, comparison operators on
    :class:`Value` and :class:`Error` objects (``==``, ``<``, etc.) check that
    the other object is also a :class:`Value` or :class:`Error` object
    respectively, and then compare the contained objects.

    :class:`Outcome` objects are hashable if the contained objects are
    hashable.

    F)ÚdefaultÚeqr<   ÚboolÚ
_unwrappedr)   ÚNonec                óZ   — | j         rt          ‚t                               | dd¦  «         d S )NrB   T)rB   r   ÚobjectÚ__setattr__©Úselfs    r   Ú_set_unwrappedzOutcome._set_unwrapped   s0   € ØŒ?ð 	#Ý"Ð"Ý×Ò˜4 ¨tÑ4Ô4Ð4Ð4Ð4r   r    c                ó   — dS )zºReturn or raise the contained value or exception.

        These two lines of code are equivalent::

           x = fn(*args)
           x = outcome.capture(fn, *args).unwrap()

        Nr   rG   s    r   ÚunwrapzOutcome.unwrap„   ó   € € € r   Úgenú"Generator[ResultT, ValueT, object]r"   c                ó   — dS )zÑSend or throw the contained value or exception into the given
        generator object.

        Args:
          gen: A generator object supporting ``.send()`` and ``.throw()``
              methods.

        Nr   ©rH   rM   s     r   ÚsendzOutcome.send�   rL   r   ÚagenúAsyncGenerator[ResultT, ValueT]c              ƒ  ó
   K  — dS )záSend or throw the contained value or exception into the given async
        generator object.

        Args:
          agen: An async generator object supporting ``.asend()`` and
              ``.athrow()`` methods.

        Nr   ©rH   rR   s     r   ÚasendzOutcome.asendš   s
   è è € € € r   N)r)   rC   ©r)   r    ©rM   rN   r)   r"   ©rR   rS   r)   r"   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚattrÚibrB   Ú__annotations__rI   ÚabcÚabstractmethodrK   rQ   rV   r   r   r   r   r   m   sÆ   € € € € € € ðð ð �t”w u°¸UÐCÑCÔC€JÐCÐCÐCÑCð5ð 5ð 5ð 5ð
 	Ôðð ð ñ Ôðð 	Ôðð ð ñ Ôðð 	Ôðð ð ñ Ôðð ð r   r   )Úfrozenr;   r=   c                  ó^   — e Zd ZU dZ ej        ¦   «         Zded<   	 dd„Zdd„Z	dd„Z
dd„ZdS )r   zFConcrete :class:`Outcome` subclass representing a regular value.

    r    Úvaluer)   Ústrc                ó   — d| j         ›d�S )NzValue(ú))re   rG   s    r   Ú__repr__zValue.__repr__°   ó   € Ø'˜œ
Ð'Ð'Ð'Ð'r   c                ó8   — |                       ¦   «          | j        S r   )rI   re   rG   s    r   rK   zValue.unwrap³   s   € Ø×ÒÑÔÐØŒzÐr   rM   rN   r"   c                ó^   — |                       ¦   «          |                     | j        ¦  «        S r   )rI   rQ   re   rP   s     r   rQ   z
Value.send·   s(   € Ø×ÒÑÔÐØ�xŠx˜œ
Ñ#Ô#Ð#r   rR   rS   c              ƒ  ón   K  — |                       ¦   «          |                     | j        ¦  «        ƒ d {V —†S r   )rI   rV   re   rU   s     r   rV   zValue.asend»   s>   è è € Ø×ÒÑÔÐØ—Z’Z ¤
Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+Ð+r   N©r)   rf   rW   rX   rY   )rZ   r[   r\   r]   r^   r_   re   r`   ri   rK   rQ   rV   r   r   r   r   r   ¦   sŽ   € € € € € € ðð ð �D”G‘I”I€EÐÐÐÑØð(ð (ð (ð (ðð ð ð ð$ð $ð $ð $ð,ð ,ð ,ð ,ð ,ð ,r   r   c                  ó’   — e Zd ZU dZ ej        ej                             e¦  «        ¬¦  «        Z	de
d<   	 dd„Zdd	„Zdd„Zdd„ZdS )r   zIConcrete :class:`Outcome` subclass representing a raised exception.

    )Ú	validatorr1   Úerrorr)   rf   c                ó   — d| j         ›d�S )NzError(rh   )rq   rG   s    r   ri   zError.__repr__Ì   rj   r   r
   c                óL   — |                       ¦   «          | j        }	 |‚# ~~ w xY wr   )rI   rq   )rH   Úcaptured_errors     r   rK   zError.unwrapÏ   s<   € Ø×ÒÑÔÐð œˆð	%Ø Ð øð  Ð$Ð$Ð$Ð$s   � Ÿ#rM   ú$Generator[ResultT, NoReturn, object]r"   c                ó^   — |                       ¦   «          |                     | j        ¦  «        S r   )rI   Úthrowrq   rP   s     r   rQ   z
Error.sendå   s(   € Ø×ÒÑÔÐØ�yŠy˜œÑ$Ô$Ð$r   rR   ú!AsyncGenerator[ResultT, NoReturn]c              ƒ  ón   K  — |                       ¦   «          |                     | j        ¦  «        ƒ d {V —†S r   )rI   Úathrowrq   rU   s     r   rV   zError.asendé   s>   è è € Ø×ÒÑÔÐØ—[’[ ¤Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,r   Nrn   )r)   r
   )rM   ru   r)   r"   )rR   rx   r)   r"   )rZ   r[   r\   r]   r^   r_   Ú
validatorsÚinstance_ofr1   rq   r`   ri   rK   rQ   rV   r   r   r   r   r   À   s¶   € € € € € € ðð ð #˜4œ7Ø”/×-Ò-¨mÑ<Ô<ðñ ô €Eð ð ð ñ ð *ð(ð (ð (ð (ð%ð %ð %ð %ð,%ð %ð %ð %ð-ð -ð -ð -ð -ð -r   )r#   r$   r%   r&   r'   r(   r)   r   )r#   r,   r%   r&   r'   r(   r)   r-   )r3   r4   r%   r&   r'   r(   r)   r   )r3   r8   r%   r&   r'   r(   r)   r-   )!Ú
__future__r   ra   Útypingr   r   r   r   r   r	   r
   r   r   r   r^   Ú_utilr   r   Útyping_extensionsr   r   r   Ú__all__r    r"   r   r   ÚsÚABCr   r   r   r   r   r   r   ú<module>r„      sø  ðØ "Ð "Ð "Ð "Ð "Ð "à 
€
€
€
ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð €€€à 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5àð Ø2Ð2Ð2Ð2Ð2Ð2Ð2Ð2ØˆI�gÑÔ€E€Eðð ð ð HÐ
GÐ
G€à	ˆ� TÐ	*Ñ	*Ô	*€Ø
ˆ'�)Ñ
Ô
€ð 
ðð ð ñ 
„ðð 
ðð ð ñ 
„ððð ð ð ð$ 
ðð ð ñ 
„ðð 
ðð ð ñ 
„ððð ð ð ð$ €„ˆU˜ dÐ+Ñ+Ô+ð5ð 5ð 5ð 5ð 5ˆcŒg�w˜v”ñ 5ô 5ñ ,Ô+ð5ðp Ø€„ˆt˜% tÐ,Ñ,Ô,ð,ð ,ð ,ð ,ð ,ˆG�FŒO˜W Vœ_ñ ,ô ,ñ -Ô,ñ „ð,ð0 Ø€„ˆt˜% tÐ,Ñ,Ô,ð)-ð )-ð )-ð )-ð )-ˆG�HÔñ )-ô )-ñ -Ô,ñ „ð)-ðZ 	ˆe�FŒm˜UÐ"Ô#€€€r   