+
    b­Vih
  ã                   ót   € ^ RI HtHtHt ^ RIHt ^RIHt RtRt	Rt
]! R4      t ! R R	]],          ]4      tR
# )é    )ÚGenericÚOptionalÚTypeVar)ÚDescription)ÚSelfDescribingzJon ReidzCopyright 2011 hamcrest.orgzBSD, see License.txtÚTc                   ó^   a € ] tR t^t o RtR
V 3R lR lltV 3R lR ltV 3R lR ltR	tV t	R# )ÚMatcheraÈ  A matcher over acceptable values.

A matcher is able to describe itself to give feedback when it fails.

Matcher implementations should *not* directly implement this protocol.
Instead, *extend* the :py:class:`~hamcrest.core.base_matcher.BaseMatcher`
class, which will ensure that the
:py:class:`~hamcrest.core.matcher.Matcher` API can grow to support new
features and remain compatible with all
:py:class:`~hamcrest.core.matcher.Matcher` implementations.

Nc                ó<   <€ V ^8„  d   QhRS[ RS[S[,          RS[/# )é   ÚitemÚmismatch_descriptionÚreturn)r   r   r   Úbool)ÚformatÚ__classdict__s   "€Ú7/usr/lib/python3/dist-packages/hamcrest/core/matcher.pyÚ__annotate__ÚMatcher.__annotate__   s(   ø€ ÷ -ñ -™Að -±X¹kÕ5Jð -ÑVZñ -ó    c                ó   € \        R4      h)a`  Evaluates the matcher for argument item.

If a mismatch is detected and argument ``mismatch_description`` is
provided, it will generate a description of why the matcher has not
accepted the item.

:param item: The object against which the matcher is evaluated.
:param mismatch_description:
:returns: ``True`` if ``item`` matches, otherwise ``False``.

Úmatches©ÚNotImplementedError©Úselfr   r   s   &&&r   r   ÚMatcher.matches   s   € ô " )Ó,Ð,r   c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )r   r   r   r   N©r   r   )r   r   s   "€r   r   r   *   s"   ø€ ÷ 7ñ 7¡að 7¹{ð 7Ètñ 7r   c                ó   € \        R4      h)a­  Generates a description of why the matcher has not accepted the
item.

The description will be part of a larger description of why a matching
failed, so it should be concise.

This method assumes that ``matches(item)`` is ``False``, but will not
check this.

:param item: The item that the
    :py:class:`~hamcrest.core.matcher.Matcher` has rejected.
:param mismatch_description: The description to be built or appended
    to.

Údescribe_mismatchr   r   s   &&&r   r!   ÚMatcher.describe_mismatch*   s   € ô  "Ð"5Ó6Ð6r   c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )r   r   Úmatch_descriptionr   Nr   )r   r   s   "€r   r   r   <   s"   ø€ ÷ 4ñ 4¡1ð 4¹ð 4Èñ 4r   c                ó   € \        R4      h)a   Generates a description of why the matcher has accepted the item.

The description may be part of a larger description of why a matching
failed, so it should be concise.

This method assumes that ``matches(item)`` is ``True``, but will not
check this.

:param item: The item that the
    :py:class:`~hamcrest.core.matcher.Matcher` has accepted.
:param match_description: The description to be built or appended to.

Údescribe_matchr   )r   r   r$   s   &&&r   r&   ÚMatcher.describe_match<   s   € ô "Ð"2Ó3Ð3r   © )N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r!   r&   Ú__static_attributes__Ú__classdictcell__)r   s   @r   r
   r
      s(   ø‡ € ñ÷-ò -÷7ð 7÷$4ö 4r   r
   N)Útypingr   r   r   Úhamcrest.core.descriptionr   Úselfdescribingr   Ú
__author__Ú__copyright__Ú__license__r   r
   r(   r   r   Ú<module>r6      s;   ðß -Ñ -å 1å *à€
Ø-€Ø$€áˆCƒL€ô<4ˆgaj˜.ö <4r   