+
    -½iv!  ã                   óÂ   € R t . ROt ! R R]4      t ! R	 R
]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t	 ! R R]
4      tR# )zInterface-specific exceptions
ÚInvalidÚDoesNotImplementÚBrokenImplementationÚBrokenMethodImplementationÚMultipleInvalidÚBadImplementsÚInvalidInterfacec                   ó   € ] tR t^tRtRtR# )r   z A specification is violated
    © N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__static_attributes__r
   ó    Ú;/usr/lib/python3/dist-packages/zope/interface/exceptions.pyr   r      ó   † õr   c                   óŒ   a € ] tR t^#t o ^ t^t]tRtRR lt	]
R 4       t]
R 4       t]
R 4       t]
R 4       tRtR	tR
tR tRtV tR# )Ú_TargetInvalidz<Not Given>Nc                ó\   €  V P                   V,          #   T P                   d    Tu # i ; i©N)ÚargsÚ_NOT_GIVEN_CATCH)ÚselfÚixÚdefaults   &&&r   Ú_get_arg_or_defaultÚ"_TargetInvalid._get_arg_or_default9   s/   € ð	Ø—9‘9˜R•=Ð øØ×$Ñ$ô 	ØŠNð	ús   ‚ •+ª+c                ó8   € V P                  V P                  4      # r   )r   Ú_IX_INTERFACE©r   s   &r   Ú	interfaceÚ_TargetInvalid.interface?   s   € à×'Ñ'¨×(:Ñ(:Ó;Ð;r   c                óN   € V P                  V P                  V P                  4      # r   )r   Ú
_IX_TARGETÚ
_NOT_GIVENr"   s   &r   ÚtargetÚ_TargetInvalid.targetC   s   € à×'Ñ'¨¯©¸¿¹ÓIÐIr   c                óH   € V P                   pWP                  J d   R # RV: 2# )z	An objectzThe object )r(   r'   )r   r(   s   & r   Ú_str_subjectÚ_TargetInvalid._str_subject[   s%   € à—‘ˆØ—_‘_Ó$ÙØ˜V™JÐ'Ð'r   c                ó<   € R V P                   ;'       g    R,          # )z$has failed to implement interface %sz	<Unknown>)r#   r"   s   &r   Ú_str_descriptionÚ_TargetInvalid._str_descriptionb   s   € à5Ø�N‰N×)Ð)˜kõ
ð 	
r   z: z	<unknown>Ú.c                ó�   € R P                  V P                  V P                  V P                  V P                  V P
                  4      # )z{} {}{}{}{})Úformatr+   r.   Ú_str_conjunctionÚ_str_detailsÚ_str_trailerr"   s   &r   Ú__str__Ú_TargetInvalid.__str__l   sB   € Ø×#Ñ#Ø×ÑØ×!Ñ!Ø×!Ñ!Ø×ÑØ×Ñó
ð 	
r   r
   r   )r   r   r   r   r!   r&   Ú
IndexErrorr   r'   r   Úpropertyr#   r(   r+   r.   r3   r4   r5   r6   r   Ú__classdictcell__©Ú__classdict__s   @r   r   r   #   s‘   ø‡ € ð €MØ€Jð "ÐØ€Jôð ñ<ó ð<ð ñJó ðJð. ñ(ó ð(ð ñ
ó ð
ð
 ÐØ€LØ€L÷
ð 
r   r   c                   ó   € ] tR t^vtRtRtRtR# )r   zð
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 interfacer
   N)r   r   r   r   r   r4   r   r
   r   r   r   r   v   s   † ñð D„Lr   c                   ó|   a € ] tR t^„t o Rt]P                  ^,           t]^,           t]	R 4       t
]	R 4       tRtV tR# )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.
c                ó(   € V P                   ^,          # ©é   ©r   r"   s   &r   ÚnameÚBrokenImplementation.name”   ó   € à�y‰y˜�|Ðr   c                óž   € R \        V P                  \        4      '       d   \        V P                  4      ,          # V P                  ,          # )z!The %s attribute was not provided)Ú
isinstancerC   ÚstrÚreprr"   s   &r   r4   Ú!BrokenImplementation._str_details˜   s;   € à2Ü)¨$¯)©)´S×9Ò9ŒD�—‘‹Oõ
ð 	
Ø?C¿y¹yõ
ð 	
r   r
   N)r   r   r   r   r   r   r!   Ú_IX_NAMEr&   r9   rC   r4   r   r:   r;   s   @r   r   r   „   sK   ø‡ € ñ
ð ×+Ñ+¨aÕ/€HØ˜A•€Jàñó ðð ñ
ó ö
r   c                   óŒ   a € ] tR t^Ÿt o Rt^t]^,           t]^,           t]R 4       t	]R 4       t
]R 4       t]R 4       tRtV tR# )r   aw  
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*.

c                ó(   € V P                   ^ ,          # )é    rB   r"   s   &r   ÚmethodÚ!BrokenMethodImplementation.method¹   rE   r   c                ó(   € V P                   ^,          # r@   rB   r"   s   &r   ÚmessÚBrokenMethodImplementation.mess½   rE   r   c                óH  € ^ RI p VP                  p\        p V! V 4      p T P                  pYC! T4      ,           #   \         d    TP                  pTP
                  p LIi ; i  \        \        3 d    \        T 4      u # i ; i  \         d    T P                  p Lri ; i)rN   N)ÚinspectÚ	signaturerH   ÚAttributeErrorÚ
getargspecÚformatargspecÚ
ValueErrorÚ	TypeErrorrI   r   r   )ÚimplrU   ÚsigÚ	formatsigrC   s   &    r   Ú__implementation_strÚ/BrokenMethodImplementation.__implementation_strÁ   s¬   € ó 	ð	.Ø×#Ñ#ˆCÜˆIð
	Ù�d“)ˆCð	!Ø×$Ñ$ˆDð �i “nÕ$Ð$øô% ô 	.Ø×$Ñ$ˆCØ×-Ñ-ŠIð	.ûô œIÐ&ô 	ô
 ˜“:Òð	ûô ô 	!Ø—=‘=ŠDð	!ús1   †< ™A% ¢B ¼#A"Á!A"Á%BÂBÂB!Â B!c                ó’  € V P                  V P                  V P                  4      pV P                  pWP                  Jd2   R V9   d+   VP	                  R R4      pW P                  V4      3,          pRP                  \        V P                  \        4      '       d   \        V P                  4      V4      # V P                  V4      # )Úimplementationz%rz)The contract of {} is violated because {})r   Ú_IX_IMPLr'   rR   ÚreplaceÚ/_BrokenMethodImplementation__implementation_strr2   rG   rO   rH   rI   )r   r\   Úmessages   &  r   r4   Ú'BrokenMethodImplementation._str_detailsÝ   s¤   € à×'Ñ'¨¯©°t·±ÓGˆØ—)‘)ˆØ—‘Ó&Ð+;¸wÔ+FØ—o‘oÐ&6¸Ó=ˆGØ×!:Ñ!:¸4Ó!@Ð BÕBˆGà:×AÑAÜ!+¨D¯K©K¼×!=Ò!=ŒD�—‘ÓØó
ð 	
ØCGÇ;Á;Øó
ð 	
r   r
   N)r   r   r   r   r   rc   r!   r&   r9   rO   rR   Ústaticmethodre   r4   r   r:   r;   s   @r   r   r   Ÿ   sr   ø‡ € ñð* €HØ˜q•L€MØ Õ"€Jàñó ðð ñó ðð ñ%ó ð%ð6 ñ

ó ö

r   c                   ób   a a€ ] tR t^ët oRtRtV 3R lt]R 4       t]R 4       t	Rt
RtRtVtV ;t# )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
c                ó:   <€ \         SV `  W\        V4      4       R # r   )ÚsuperÚ__init__Útuple)r   r#   r(   Ú
exceptionsÚ	__class__s   &&&&€r   rl   ÚMultipleInvalid.__init__ø   s   ø€ Ü‰Ñ˜¬E°*Ó,=Ö>r   c                ó(   € V P                   ^,          # )é   rB   r"   s   &r   rn   ÚMultipleInvalid.exceptionsû   rE   r   c                óT   € R R P                  R V P                   4       4      ,           # )z
    c              3   ó˜   "  € T F@  p\        V\        4      '       d   VP                  P                  4       M
\	        V4      x € KB  	  R # 5ir   )rG   r   r4   ÚstriprH   )Ú.0Úxs   & r   Ú	<genexpr>Ú/MultipleInvalid._str_details.<locals>.<genexpr>  s9   é € ð (
á$�ô '1°´N×&CÒ&CˆA�N‰N× Ñ Ô"ÌÈQËÔOÛ$ùs   ‚AA
)Újoinrn   r"   s   &r   r4   ÚMultipleInvalid._str_detailsÿ   s-   € ð ˜(Ÿ-™-ñ (
à—_’_ó(
ó 
õ 
ð 	
r   Ú:Ú r
   )r   r   r   r   r   r   rl   r9   rn   r4   r3   r5   r   r:   Ú__classcell__)ro   r<   s   @@r   r   r   ë   sN   ù‡ € ñð Ðõ?ð ñó ðð ñ
ó ð
ð ÐØ‡L€Lr   c                   ó   € ] tR tRtRtRtR# )r   i  z'The interface has invalid contents
    r
   Nr   r
   r   r   r   r     r   r   c                   ó   € ] tR tRtRtRtR# )r   i  z‚An implementation assertion is invalid

because it doesn't contain an interface or a sequence of valid
implementation assertions.
r
   Nr   r
   r   r   r   r     s   † õr   N)r   r   r   r   r   r   r   )r   Ú__all__Ú	Exceptionr   r   r   r   r   r   r   r[   r   r
   r   r   Ú<module>r„      sz   ðñò
€ôˆiô ô
P
�Wô P
ôfD�~ô Dô
˜>ô 
ô6I
 ô I
ôX�nô ôB�yô ô
�Iö r   