+
    ÂHàjì  ã                   óp  € ^ RI t ^ RIt^ RIt^ RIHtHt  ^ RIHt ^ RIH	t	H
t
 R R ltR R ltR	 R
 ltRR/R R lltR R ltR R ltR R ltRR/R R lltR R ltR R lt0 R!mt]P.                  ! RRP1                  ]4      ,           R,           4      tR R ltR"tR R  ltR#   ] d     L�i ; i)#é    N)ÚOptionalÚUnion)ÚEllipticCurve)Údecode_dss_signatureÚencode_dss_signaturec                óR   € V ^8„  d   QhR\         \        \        3,          R\        /# )é   ÚvalueÚreturn©r   ÚbytesÚstr)Úformats   "Ú‹/home/ubuntu/.hermes/installs/5f0a1ff4045d044e/environments/88679baa1dc64374a0cd943b62eeefb9/venv/lib/python3.14/site-packages/jwt/utils.pyÚ__annotate__r      s#   € ÷ <ñ <”uœU¤C˜ZÕ(ð <¬Uñ <ó    c                 ó–   € \        V \        4      '       d   V P                  R 4      # \        V \        4      '       d   V # \	        R4      h)zutf-8z Expected a string or bytes value)Ú
isinstancer   Úencoder   Ú	TypeError)r
   s   &r   Úforce_bytesr      s<   € Ü�%œ×ÒØ�|‰|˜GÓ$Ð$Ü	�Eœ5×	!Ò	!ØˆäÐ:Ó;Ð;r   c                óR   € V ^8„  d   QhR\         \        \        3,          R\        /# ©r	   Úinputr   r   )r   s   "r   r   r      s#   € ÷ 1ñ 1œE¤%¬ *Õ-ð 1´%ñ 1r   c                 ó¤   € \        V 4      p\        V4      ^,          pV^ 8”  d   VR^V,
          ,          ,          p\        P                  ! V4      # )é   ó   =)r   ÚlenÚbase64Úurlsafe_b64decode)r   Úinput_bytesÚrems   &  r   Úbase64url_decoder#      sF   € Ü˜eÓ$€Kä
ˆkÓ
˜QÕ
€Cà
ˆQ„wØ�t˜q 3�wÕ'Õ'ˆä×#Ò# KÓ0Ð0r   c                ó0   € V ^8„  d   QhR\         R\         /# r   ©r   )r   s   "r   r   r   $   s   € ÷ >ñ >œEð >¤eñ >r   c                 óN   € \         P                  ! V 4      P                  R R4      # )r   r   )r   Úurlsafe_b64encodeÚreplace)r   s   &r   Úbase64url_encoder)   $   s    € Ü×#Ò# EÓ*×2Ñ2°4¸Ó=Ð=r   Ú
bit_lengthc                óR   € V ^8„  d   QhR\         R\        \         ,          R\        /# ©r	   Úvalr*   r   ©Úintr   r   )r   s   "r   r   r   (   s%   € ÷ 	'ñ 	'œ3ð 	'¬x¼­}ð 	'Ìñ 	'r   c                óx   € V ^ 8  d   \        R4      h\        WR7      p\        V4      ^ 8X  d   Rp\        V4      # )r   zMust be a positive integer)r*   ó    )Ú
ValueErrorÚbytes_from_intr   r)   )r-   r*   Ú	int_bytess   &$ r   Úto_base64url_uintr5   (   s;   € Ø
ˆQ„wÜÐ5Ó6Ð6ä˜sÔ:€Iä
ˆ9ƒ~˜ÔØˆ	ä˜IÓ&Ð&r   c                óR   € V ^8„  d   QhR\         \        \        3,          R\        /# )r	   r-   r   )r   r   r   r/   )r   s   "r   r   r   4   s#   € ÷ 1ñ 1œU¤5¬# :Õ.ð 1´3ñ 1r   c                 óX   € \        \        V 4      4      p\        P                  VR R7      # )Úbig)Ú	byteorder)r#   r   r/   Ú
from_bytes)r-   Údatas   & r   Úfrom_base64url_uintr<   4   s$   € ÜœK¨Ó,Ó-€DÜ�>‰>˜$¨%ˆ>Ó0Ð0r   c                ó<   € V ^8„  d   QhR\         R\         R\        /# )r	   ÚnumÚ	num_bytesr   )r/   r   )r   s   "r   r   r   9   s!   € ÷ 8ñ 8œð 8¬ð 8´ñ 8r   c                 óp   € R ^V,          V 3,          p\         P                  ! VP                  R4      4      # )z%0*xÚascii)ÚbinasciiÚa2b_hexr   )r>   r?   Ú
padded_hexs   && r   Únumber_to_bytesrE   9   s1   € Ø˜1˜y�=¨#Ð.Õ.€JÜ×Ò˜J×-Ñ-¨gÓ6Ó7Ð7r   c                ó0   € V ^8„  d   QhR\         R\        /# )r	   Ústringr   )r   r/   )r   s   "r   r   r   >   s   € ÷ -ñ -œEð -¤cñ -r   c                 óB   € \        \        P                  ! V 4      ^4      # )é   )r/   rB   Úb2a_hex)rG   s   &r   Úbytes_to_numberrK   >   s   € ÜŒx×Ò Ó'¨Ó,Ð,r   c                óR   € V ^8„  d   QhR\         R\        \         ,          R\        /# r,   r.   )r   s   "r   r   r   B   s%   € ÷ :ñ :œð :¬H´S­Mð :ÄUñ :r   c                ór   € Vf   V P                  4       pV^,           ^,          pV P                  VRRR7      # )Nr8   F)Úsigned)r*   Úto_bytes)r-   r*   Úbyte_lengths   &$ r   r3   r3   B   s7   € ØÒØ—^‘^Ó%ˆ
Ø •> aÕ'€Kà�<‰<˜ U°5ˆ<Ó9Ð9r   c                ó4   € V ^8„  d   QhR\         RRR\         /# )r	   Úder_sigÚcurver   r   r%   )r   s   "r   r   r   J   s&   € ÷ Iñ I¤%ð I°ð IÄEñ Ir   c                 óŠ   € VP                   pV^,           ^,          p\        V 4      w  rE\        WC4      \        WS4      ,           # )é   )Úkey_sizer   rE   )rR   rS   Únum_bitsr?   ÚrÚss   &&    r   Úder_to_raw_signaturerZ   J   s:   € Ø�~‰~€HØ˜A• !Õ#€Iä Ó(�D€Aä˜1Ó(¬?¸1Ó+HÕHÐHr   c                ó4   € V ^8„  d   QhR\         RRR\         /# )r	   Úraw_sigrS   r   r   r%   )r   s   "r   r   r   S   s!   € ÷ 
-ñ 
-¤%ð 
-°ð 
-ÄEñ 
-r   c                 óÜ   € VP                   pV^,           ^,          p\        V 4      ^V,          8w  d   \        R4      h\        V RV 4      p\        WR 4      p\	        \        WE4      4      # )rU   zInvalid signatureN)rV   r   r2   rK   r   r   )r\   rS   rW   r?   rX   rY   s   &&    r   Úraw_to_der_signaturer^   S   sf   € Ø�~‰~€HØ˜A• !Õ#€Iä
ˆ7ƒ|�q˜9•}Ô$ÜÐ,Ó-Ð-ä˜ 
 Ð+Ó,€AÜ˜ 
Ð+Ó,€AäÔ% aÓ+Ó,Ð,r   s   (?=(----[- ](BEGIN|END) (ó   |s   )[- ]----))c                ó0   € V ^8„  d   QhR\         R\        /# ©r	   Úkeyr   ©r   Úbool)r   s   "r   r   r   {   s   € ÷ ñ ”uð ¤ñ r   c                 óH  € / p\         P                  V 4       F†  pVP                  ^4      VP                  ^4      rCVR8X  d5   VP                  ^4      \	        VP                  ^4      4      ,           W&   K_  WA9   g   Kg  W,          VP                  ^4      8  g   K…   R# 	  R# )r	   s   BEGINTF)Ú_PEM_MARKER_REÚfinditerÚgroupÚstartr   )rb   Úbegin_markersÚmarkerÚmarker_typeÚlabels   &    r   Úis_pem_formatrn   {   s}   € Ø&(€MÜ ×)Ñ)¨#Ö.ˆØ#Ÿ\™\¨!›_¨f¯l©l¸1«o�UØ˜(Ô"Ø#)§<¡<°£?´S¸¿¹Àa»Ó5IÕ#IˆMÓ ØÖ#¨Õ(<¸v¿|¹|ÈA»Ö(NÚñ /ñ r   c                ó0   € V ^8„  d   QhR\         R\        /# ra   rc   )r   s   "r   r   r   ‘   s   € ÷ ,ñ ,”Eð ,œdñ ,r   c                 ó,   € V P                  \        4      # )N)Ú
startswithÚ_SSH_KEY_FORMATS)rb   s   &r   Ú
is_ssh_keyrs   ‘   s   € Ø�>‰>Ô*Ó+Ð+r   >   ó   X509 CRLó
   PUBLIC KEYó   CERTIFICATEó   PRIVATE KEYó   DH PARAMETERSó   EC PRIVATE KEYó   RSA PUBLIC KEYó   DSA PRIVATE KEYó   RSA PRIVATE KEYó   SSH2 PUBLIC KEYó   CERTIFICATE REQUESTó   OPENSSH PRIVATE KEYó   TRUSTED CERTIFICATEó   ENCRYPTED PRIVATE KEYó   NEW CERTIFICATE REQUESTó   SSH2 ENCRYPTED PRIVATE KEY)s   ssh-ed25519s   ssh-rsas   ssh-dsss   ecdsa-sha2-nistp256s   ecdsa-sha2-nistp384s   ecdsa-sha2-nistp521)r   rB   ÚreÚtypingr   r   Ú,cryptography.hazmat.primitives.asymmetric.ecr   Ú/cryptography.hazmat.primitives.asymmetric.utilsr   r   ÚModuleNotFoundErrorr   r#   r)   r5   r<   rE   rK   r3   rZ   r^   Ú_PEMSÚcompileÚjoinrf   rn   rr   rs   © r   r   Ú<module>r�      s³   ðÛ Û Û 	ß "ð	ÝJ÷õ<õ1õ>ð	'¸t÷ 	'õ1õ
8õ
-ð:¸D÷ :õIõ
-ò	€ð* —’Ø  4§9¡9¨UÓ#3Õ3°nÕDó€õ
ðÐ ÷,øðK ô 	Ùð	ús   –B+ Â+B5Â4B5