+
    P(¸iZ
  ã                   óX   € ^ RI Ht ^ RIHt ^ RIHt ^RIHt ^RIH	t	  ! R R]	4      t
R# )	é    )ÚContinueIteration)ÚInvalidTokenError)ÚJWTBearerTokenValidator)ÚUnsupportedTokenTypeError)ÚRevocationEndpointc                   óF   a a€ ] tR t^	t oRtRV 3R lltR tR tRtVt	V ;t
# )ÚJWTRevocationEndpointa#  JWTRevocationEndpoint inherits from `RFC7009`_
:class:`~authlib.oauth2.rfc7009.RevocationEndpoint`.

The JWT access tokens cannot be revoked.
If the submitted token is a JWT access token, then revocation returns
a `invalid_token_error`.

:param issuer: The issuer identifier.

:param \\*\\*kwargs: Other parameters are inherited from
    :class:`~authlib.oauth2.rfc7009.RevocationEndpoint`.

Plain text access tokens and other kind of tokens such as refresh_tokens
will be ignored by this endpoint and passed to the next revocation endpoint::

    class MyJWTAccessTokenRevocationEndpoint(JWTRevocationEndpoint):
        def get_jwks(self): ...


    # endpoint dedicated to JWT access token revokation
    authorization_server.register_endpoint(
        MyJWTAccessTokenRevocationEndpoint(
            issuer="https://authorization-server.example.org",
        )
    )

    # another endpoint dedicated to refresh token revokation
    authorization_server.register_endpoint(MyRefreshTokenRevocationEndpoint)

.. _RFC7009: https://tools.ietf.org/html/rfc7009
c                ó8   <€ \         SV `  ! VR V/VB  Wn        R# )ÚserverN)ÚsuperÚ__init__Úissuer)Úselfr   r   ÚargsÚkwargsÚ	__class__s   &&&*,€Úg/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/authlib/oauth2/rfc9068/revocation.pyr   ÚJWTRevocationEndpoint.__init__*   s   ø€ Ü‰Ò˜$Ð8 vÐ8°Ò8ØŽó    c                ó^  € V P                  W4       VP                  P                  R4      R9  d   \        4       h\	        V P
                  RR7      pV P                  Vn         VP                  VP                  R,          4       \        4       h  \         d   p\        4       ThRp?ii ; i)Ú Útoken_type_hintN)r   Úresource_serverÚtoken)Úaccess_tokenN)
Úcheck_paramsÚformÚgetr   r   r   Úget_jwksÚauthenticate_tokenr   r   )r   ÚrequestÚclientÚ	validatorÚexcs   &&&  r   r    Ú(JWTRevocationEndpoint.authenticate_token.   s•   € à×Ñ˜'Ô*ð <‰<×ÑÐ-Ó.Ð6LÔLÜ#Ó%Ð%ä+°4·;±;ÐPTÔUˆ	Ø!Ÿ]™]ˆ	Ôð	/Ø×(Ñ(¨¯©°gÕ)>Ô?ô (Ó)Ð)øô	 !ô 	/Ü#Ó%¨3Ð.ûð	/ús   Á%"B ÂB,ÂB'Â'B,c                ó   € \        4       h)zµReturn the JWKs that will be used to check the JWT access token signature.
Developers MUST re-implement this method::

    def get_jwks(self):
        return load_jwks("jwks.json")
)ÚNotImplementedError)r   s   &r   r   ÚJWTRevocationEndpoint.get_jwksC   s   € ô "Ó#Ð#r   )r   )N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r    r   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r   Ú__classdict__s   @@r   r	   r	   	   s   ù‡ € ñ÷@ò*÷*$ò $r   r	   N)Úauthlib.common.errorsr   Úauthlib.oauth2.rfc6750.errorsr   Ú&authlib.oauth2.rfc9068.token_validatorr   Úrfc6749r   Úrfc7009r   r	   © r   r   Ú<module>r8      s#   ðÝ 3Ý ;Ý Jå /Ý (ôA$Ð.ö A$r   