§
    Çtºfv!  ã                   óò   — d Z g d¢Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ d	e¦  «        Z G d
„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z	 G d„ de
¦  «        ZdS )zInterface-specific exceptions
)ÚInvalidÚDoesNotImplementÚBrokenImplementationÚBrokenMethodImplementationÚMultipleInvalidÚBadImplementsÚInvalidInterfacec                   ó   — e Zd ZdZdS )r   z A specification is violated
    N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó    úX/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/zope/interface/exceptions.pyr   r      ó   € € € € € ðð ð ð r   r   c                   ó�   — e Zd ZdZdZeZdZdd„Ze	d„ ¦   «         Z
e	d„ ¦   «         Ze	d„ ¦   «         Ze	d	„ ¦   «         Zd
ZdZdZd„ ZdS )Ú_TargetInvalidé    é   z<Not Given>Nc                 óB   — 	 | j         |         S # | j        $ r |cY S w xY w©N)ÚargsÚ_NOT_GIVEN_CATCH)ÚselfÚixÚdefaults      r   Ú_get_arg_or_defaultz"_TargetInvalid._get_arg_or_default9   s:   € ð	Ø”9˜R”=Ð øØÔ$ð 	ð 	ð 	ØˆNˆNˆNð	øøøs   ‚ ��c                 ó6   — |                       | j        ¦  «        S r   )r   Ú_IX_INTERFACE©r   s    r   Ú	interfacez_TargetInvalid.interface?   s   € à×'Ò'¨Ô(:Ñ;Ô;Ð;r   c                 óB   — |                       | j        | j        ¦  «        S r   )r   Ú
_IX_TARGETÚ
_NOT_GIVENr!   s    r   Útargetz_TargetInvalid.targetC   s   € à×'Ò'¨¬¸¼ÑIÔIÐIr   c                 ó0   — | j         }|| j        u rdS d|›�S )Nz	An objectzThe object )r&   r%   )r   r&   s     r   Ú_str_subjectz_TargetInvalid._str_subject[   s)   € à”ˆØ�T”_Ð$Ð$Ø�;Ø'˜VÐ'Ð'Ð'r   c                 ó   — d| j         pdz  S )Nz$has failed to implement interface %sz	<Unknown>)r"   r!   s    r   Ú_str_descriptionz_TargetInvalid._str_descriptionb   s   € à5ØŒNÐ)˜kñ
ð 	
r   z: z	<unknown>ú.c                 óf   — d                      | j        | j        | j        | j        | j        ¦  «        S )Nz{} {}{}{}{})Úformatr(   r*   Ú_str_conjunctionÚ_str_detailsÚ_str_trailerr!   s    r   Ú__str__z_TargetInvalid.__str__l   s8   € Ø×#Ò#ØÔØÔ!ØÔ!ØÔØÔñ
ô 
ð 	
r   r   )r   r   r   r    r$   Ú
IndexErrorr   r%   r   Úpropertyr"   r&   r(   r*   r.   r/   r0   r1   r   r   r   r   r   #   sÑ   € € € € € ð €MØ€Jð "ÐØ€Jðð ð ð ð ð<ð <ñ „Xð<ð ðJð Jñ „XðJð. ð(ð (ñ „Xð(ð ð
ð 
ñ „Xð
ð
 ÐØ€LØ€Lð
ð 
ð 
ð 
ð 
r   r   c                   ó   — e Zd ZdZdZdS )r   a  
    DoesNotImplement(interface[, target])

    The *target* (optional) does not implement the *interface*.

    .. versionchanged:: 5.0.0
       Add the *target* argument and attribute, and change the resulting
       string value of this object accordingly.
    z.Does not declaratively implement the interfaceN)r   r   r   r   r/   r   r   r   r   r   v   s    € € € € € ðð ð D€L€L€Lr   r   c                   ó\   — e Zd ZdZej        dz   Zedz   Zed„ ¦   «         Z	ed„ ¦   «         Z
dS )r   a[  
    BrokenImplementation(interface, name[, target])

    The *target* (optional) is missing the attribute *name*.

    .. versionchanged:: 5.0.0
       Add the *target* argument and attribute, and change the resulting
       string value of this object accordingly.

       The *name* can either be a simple string or a ``Attribute`` object.
    r   c                 ó   — | j         d         S ©Nr   ©r   r!   s    r   ÚnamezBrokenImplementation.name”   ó   € àŒy˜Œ|Ðr   c                 ór   — dt          | j        t          ¦  «        rt          | j        ¦  «        n| j        z  S )Nz!The %s attribute was not provided)Ú
isinstancer9   ÚstrÚreprr!   s    r   r/   z!BrokenImplementation._str_details˜   s1   € à2Ý)¨$¬)µSÑ9Ô9ÐH�D�”‰OŒOˆO¸t¼yñ
ð 	
r   N)r   r   r   r   r   r    Ú_IX_NAMEr$   r3   r9   r/   r   r   r   r   r   „   sj   € € € € € ð
ð 
ð Ô+¨aÑ/€HØ˜A‘€Jàðð ñ „Xðð ð
ð 
ñ „Xð
ð 
ð 
r   r   c                   ó‚   — e Zd ZdZdZedz   Zedz   Zed„ ¦   «         Zed„ ¦   «         Z	e
d„ ¦   «         Zed„ ¦   «         ZdS )	r   a¯  
    BrokenMethodImplementation(
        method, message[, implementation, interface, target]
    )

    The *target* (optional) has a *method* in *implementation* that violates
    its contract in a way described by *mess*.

    .. versionchanged:: 5.0.0
       Add the *interface* and *target* argument and attribute,
       and change the resulting string value of this object accordingly.

       The *method* can either be a simple string or a ``Method`` object.

    .. versionchanged:: 5.0.0
       If *implementation* is given, then the *message* will have the
       string "implementation" replaced with an short but informative
       representation of *implementation*.

    é   r   c                 ó   — | j         d         S ©Nr   r8   r!   s    r   Úmethodz!BrokenMethodImplementation.method¹   r:   r   c                 ó   — | j         d         S r7   r8   r!   s    r   ÚmesszBrokenMethodImplementation.mess½   r:   r   c                 ó(  — dd l }	 |j        }t          }n# t          $ r |j        }|j        }Y nw xY w	  || ¦  «        }n&# t          t          f$ r t          | ¦  «        cY S w xY w	 | j	        }n# t          $ r
 | j
        }Y nw xY w| ||¦  «        z   S rC   )ÚinspectÚ	signaturer=   ÚAttributeErrorÚ
getargspecÚformatargspecÚ
ValueErrorÚ	TypeErrorr>   r   r   )ÚimplrH   ÚsigÚ	formatsigr9   s        r   Ú__implementation_strz/BrokenMethodImplementation.__implementation_strÁ   sâ   € ð 	ˆˆˆð	.ØÔ#ˆCÝˆIˆIøÝð 	.ð 	.ð 	.ØÔ$ˆCØÔ-ˆIˆIˆIð	.øøøð	Ø�#�d‘)”)ˆCˆCøÝ�IÐ&ð 	ð 	ð 	õ
 ˜‘:”:ÐÐÐð	øøøð	!ØÔ$ˆDˆDøÝð 	!ð 	!ð 	!Ø”=ˆDˆDˆDð	!øøøð �i�i ‘n”nÑ$Ð$s/   † •0¯0´A  Á  A#Á"A#Á'A/ Á/BÂBc                 óZ  — |                       | j        | j        ¦  «        }| j        }|| j        ur3d|v r/|                     dd¦  «        }||                      |¦  «        fz  }d                     t          | j        t          ¦  «        rt          | j        ¦  «        n| j        |¦  «        S )NÚimplementationz%rz)The contract of {} is violated because {})r   Ú_IX_IMPLr%   rF   ÚreplaceÚ/_BrokenMethodImplementation__implementation_strr-   r<   rD   r=   r>   )r   rO   Úmessages      r   r/   z'BrokenMethodImplementation._str_detailsÝ   s©   € à×'Ò'¨¬°t´ÑGÔGˆØ”)ˆØ�t”Ð&Ð&Ð+;¸wÐ+FÐ+FØ—o’oÐ&6¸Ñ=Ô=ˆGØ ×!:Ò!:¸4Ñ!@Ô!@Ð BÑBˆGà:×AÒAÝ!+¨D¬K½Ñ!=Ô!=ÐN�D�”ÑÔÐÀ4Ä;Øñ
ô 
ð 	
r   N)r   r   r   r   rU   r    r$   r3   rD   rF   ÚstaticmethodrW   r/   r   r   r   r   r   Ÿ   s¢   € € € € € ðð ð* €HØ˜q‘L€MØ Ñ"€Jàðð ñ „Xðð ðð ñ „Xðð ð%ð %ñ „\ð%ð6 ð

ð 

ñ „Xð

ð 

ð 

r   r   c                   óZ   ‡ — e Zd ZdZdZˆ fd„Zed„ ¦   «         Zed„ ¦   «         ZdZ	dZ
ˆ xZS )r   zÏ
    The *target* has failed to implement the *interface* in
    multiple ways.

    The failures are described by *exceptions*, a collection of
    other `Invalid` instances.

    .. versionadded:: 5.0
    r   c                 óh   •— t          ¦   «                              ||t          |¦  «        ¦  «         d S r   )ÚsuperÚ__init__Útuple)r   r"   r&   Ú
exceptionsÚ	__class__s       €r   r]   zMultipleInvalid.__init__ø   s-   ø€ Ý‰Œ×Ò˜ F­E°*Ñ,=Ô,=Ñ>Ô>Ð>Ð>Ð>r   c                 ó   — | j         d         S )NrA   r8   r!   s    r   r_   zMultipleInvalid.exceptionsû   r:   r   c                 óP   — dd                      d„ | j        D ¦   «         ¦  «        z   S )Nz
    c              3   ó�   K  — | ]A}t          |t          ¦  «        r|j                             ¦   «         nt	          |¦  «        V — ŒBd S r   )r<   r   r/   Ústripr=   )Ú.0Úxs     r   ú	<genexpr>z/MultipleInvalid._str_details.<locals>.<genexpr>  s^   è è € ð (
ð (
àõ '1°µNÑ&CÔ&CÐOˆAŒN× Ò Ñ"Ô"Ð"ÍÈQÉÌð(
ð (
ð (
ð (
ð (
ð (
r   )Újoinr_   r!   s    r   r/   zMultipleInvalid._str_detailsÿ   s?   € ð ˜(Ÿ-š-ð (
ð (
à”_ð(
ñ (
ô (
ñ 
ô 
ñ 
ð 	
r   ú:Ú )r   r   r   r   r   r]   r3   r_   r/   r.   r0   Ú__classcell__)r`   s   @r   r   r   ë   s�   ø€ € € € € ðð ð Ðð?ð ?ð ?ð ?ð ?ð ðð ñ „Xðð ð
ð 
ñ „Xð
ð ÐØ€L€L€L€L€Lr   r   c                   ó   — e Zd ZdZdS )r   z'The interface has invalid contents
    Nr
   r   r   r   r   r     r   r   r   c                   ó   — e Zd ZdZdS )r   zŽAn implementation assertion is invalid

    because it doesn't contain an interface or a sequence of valid
    implementation assertions.
    Nr
   r   r   r   r   r     s   € € € € € ðð ð ð r   r   N)r   Ú__all__Ú	Exceptionr   r   r   r   r   r   r   rN   r   r   r   r   ú<module>rp      s•  ððð ð
ð 
ð 
€ðð ð ð ð ˆiñ ô ð ð
P
ð P
ð P
ð P
ð P
�Wñ P
ô P
ð P
ðfDð Dð Dð Dð D�~ñ Dô Dð Dð
ð 
ð 
ð 
ð 
˜>ñ 
ô 
ð 
ð6I
ð I
ð I
ð I
ð I
 ñ I
ô I
ð I
ðXð ð ð ð �nñ ô ð ðBð ð ð ð �yñ ô ð ð
ð ð ð ð �Iñ ô ð ð ð r   