+
    AiV                     ~   ^ RI t ^ RIt^ RIHtHt ^ RIHt ^ RIHtH	t	H
t
 ^ RIHtHtHt ^ RIHtHt ^ RIHtHtHtHt ^ RIHtHtHt ^ R	IHt ^ R
IHtHt ^ RI H!t! ^ RI"H#t# ^RI$H%t% ^RI&H't'H(t( ^RI)H*t*H+t+H,t,H-t-H.t.H/t/H0t0 ^RI1H2t2 ^RI3H4t4 Rt5 ! R R]44      t6 ! R R]44      t7 ! R R]44      t8 ! R R]44      t9R# )    N)InvalidSignature
InvalidTag)default_backend)hasheshmacserialization)ecpaddingrsa)decode_dss_signatureencode_dss_signature)Cipheraead
algorithmsmodes)InvalidUnwrapaes_key_unwrapaes_key_wrap)PKCS7)load_pem_private_keyload_pem_public_key)int_to_bytes)load_pem_x509_certificate)
ALGORITHMS)JWEErrorJWKError)base64_to_longbase64url_decodebase64url_encodeensure_binaryis_pem_format
is_ssh_keylong_to_base64)get_random_bytes)Keyc                      a  ] tR t^!t o ]P
                  t]P                  t]P                  t]3R lt	R t
R tR tR tR tR tR tR	 tR
 tR tRtV tR# )CryptographyECKeyc                   V\         P                  9  d   \        R V,          4      h\         P                  V P                  \         P
                  V P                  \         P                  V P                  /P                  V4      V n
        W n        W0n        \        VR4      '       g   \        VR4      '       d	   Wn        R# \        VR4      '       d    VP                  4       P!                  R4      p\#        V\$        4      '       d   V P'                  V4      V n        R# \#        V\(        4      '       d   VP+                  R4      p\#        V\,        4      '       d$     \/        WP                  4       4      pYn        R# \        RV,          4      h  \0         d     \3        TRT P                  4       R7      p LCi ; i  \4         d   p\        T4      hRp?ii ; i)*hash_alg: %s is not a valid hash algorithmpublic_bytesprivate_bytesNto_pemutf-8passwordbackendz%Unable to parse an ECKey from key: %s)r   ECr   ES256SHA256ES384SHA384ES512SHA512gethash_alg
_algorithmcryptography_backendhasattrprepared_keyr,   decode
isinstancedict_process_jwkstrencodebytesr   
ValueErrorr   	Exceptionselfkey	algorithmr;   es   &&&& `/var/www/html/photoedit/myenv/lib/python3.14/site-packages/jose/backends/cryptography_backend.py__init__CryptographyECKey.__init__&   s   JMM)G)STT dkkdkkdkk
 #i.	 	
 $$8!3''73+H+H #3!!**,%%g.Cc4   $ 1 1# 6Dc3**W%Cc5!!"h-c3L3L3NOC !$>DEE " h.sT4KdKdKfgCh "qk!"s0   "F 'F?<G >F??G GGGc                  a SP                  R 4      R8X  g"   \        RSP                  R 4      ,          4      h\        ;QJ d    V3R lR 4       F  '       d   K   RM	  RM! V3R lR 4       4      '       g   \        R	4      h\        SP                  R4      4      p\        SP                  R4      4      pR
\        P
                  R\        P                  R\        P                  /SR,          ,          p\        P                  ! W#V! 4       4      pRS9   dP   \        SP                  R4      4      p\        P                  ! We4      pVP                  V P                  4       4      # VP                  V P                  4       4      # )ktyr1   z0Incorrect key type. Expected: 'EC', Received: %sc              3   ,   <"   T F	  qS9   x  K  	  R # 5iN .0kjwk_dicts   & rL   	<genexpr>1CryptographyECKey._process_jwk.<locals>.<genexpr>W   s     <*;Q=*;   xycrvFTz Mandatory parameters are missingP-256P-384P-521d)r[   r\   r]   )r8   r   allr   r	   	SECP256R1	SECP384R1	SECP521R1EllipticCurvePublicNumbersEllipticCurvePrivateNumbersprivate_keyr;   
public_key)rH   rW   r[   r\   curvepublicra   privates   &f      rL   rA   CryptographyECKey._process_jwkS   s+   ||E"d*MPXP\P\]bPccdds<*;<sss<*;<<<=>>8<<,-8<<,-R\\R\\R\\
 5/	 ..qUW=(?x||C01A44Q?G&&t'@'@'BCC$$T%>%>%@AA    c                v    \        \        P                  ! V P                  P                  R,          4      4      # )zDetermine the correct serialization length for an encoded signature component.

This is the number of bytes required to encode the maximum key value.
g       @)intmathceilr=   key_sizerH   s   &rL   _sig_component_length'CryptographyECKey._sig_component_lengthl   s)    
 499T..77#=>??rn   c                r    \        V4      w  r#V P                  4       p\        W$4      \        W44      ,           # )z4Convert signature from DER encoding to RAW encoding.)r   ru   r   )rH   der_signaturerscomponent_lengths   &&   rL   _der_to_rawCryptographyECKey._der_to_raws   s2    #M2557A0<3TTTrn   c                    V P                  4       p\        V4      \        ^V,          4      8w  d   \        R4      hVRV pWR p\        P	                  VR4      p\        P	                  VR4      p\        WV4      # )z4Convert signature from RAW encoding to DER encoding.zInvalid signatureNbig)ru   lenrp   rE   
from_bytesr   )rH   raw_signaturer{   r_bytess_bytesry   rz   s   &&     rL   _raw_to_derCryptographyECKey._raw_to_dery   sy    557}Q)9%9!::011 1!12 12NN7E*NN7E*#A))rn   c                   V P                   P                  ^,          V P                  P                  P                  8  dN   \        RV P                  P                  P                  ^V P                   P                  ,          3,          4      hV P                  P                  V\        P                  ! V P                  4       4      4      pV P                  V4      # )   z1this curve (%s) is too short for your digest (%d))r9   digest_sizer=   rj   rs   	TypeErrornamesignr	   ECDSAr|   )rH   msg	signatures   && rL   r   CryptographyECKey.sign   s    ==$$q(4+<+<+B+B+K+KK'*.*;*;*A*A*F*FDMMLeLeHe)fg  %%**30IJ		**rn   c                     V P                  V4      pV P                  P                  W1\        P                  ! V P                  4       4      4       R #   \         d     R# i ; i)TF)r   r=   verifyr	   r   r9   rF   )rH   r   sigr   s   &&& rL   r   CryptographyECKey.verify   sQ    	((-I$$YRXXdmmo5NO 		s   AA A"!A"c                .    \        V P                  R 4      # r*   r<   r=   rt   s   &rL   	is_publicCryptographyECKey.is_public       t((.99rn   c                    V P                  4       '       d   V # V P                  V P                  P                  4       V P                  4      # rR   r   	__class__r=   ri   r:   rt   s   &rL   ri   CryptographyECKey.public_key   8    >>K~~d//::<dooNNrn   c                   V P                  4       '       dP   V P                  P                  \        P                  P
                  \        P                  P                  R 7      pV# V P                  P                  \        P                  P
                  \        P                  P                  \        P                  ! 4       R7      pV# )encodingformatr   r   encryption_algorithm)r   r=   r*   r   EncodingPEMPublicFormatSubjectPublicKeyInfor+   PrivateFormatTraditionalOpenSSLNoEncryption)rH   pems   & rL   r,   CryptographyECKey.to_pem   s    >>##00&//33M<V<V<k<k 1 C J--"++// ..AA!.!;!;!= . 

 
rn   c                   V P                  4       '       g   V P                  P                  4       pMV P                  pR RRRRR/V P                  P                  P                  ,          pV P                  P                  P
                  ^,           ^,          pRV P                  RRR	VR
\        VP                  4       P                  VR7      P                  R4      R\        VP                  4       P                  VR7      P                  R4      /pV P                  4       '       gC   V P                  P                  4       P                  p\        WSR7      P                  R4      VR&   V# )	secp256r1r^   	secp384r1r_   	secp521r1r`   algrP   r1   r]   r[   )sizeASCIIr\   ra   )r   r=   ri   rj   r   rs   r:   r#   public_numbersr[   r>   r\   private_numbersprivate_value)rH   ri   r]   rs   datar   s   &     rL   to_dictCryptographyECKey.to_dict   s6   ~~**557J**J 
 


!
!
&
&	( %%++44q8Q> 4??43
 9 9 ; = =HMTTU\]
 9 9 ; = =HMTTU\]
 ~~ --==?MMM&}DKKGTDIrn   )r:   r;   r9   r=   N)__name__
__module____qualname____firstlineno__r   r3   r5   r7   r   rM   rA   ru   r|   r   r   r   r   ri   r,   r   __static_attributes____classdictcell____classdict__s   @rL   r'   r'   !   se     ]]F]]F]]F<K +FZB2@U
*+:O
 rn   r'   c                     a  ] tR t^t o ]P
                  t]P                  t]P                  t]P                  ! 4       t
]P                  ! ]P                  ! ]P                  ! 4       4      ]P                  ! 4       R4      t]P                  ! ]P                  ! ]P
                  ! 4       4      ]P
                  ! 4       R4      t]3R ltR tR tR tR tR tR tRR	 ltR
 tR tR tRtV tR# )CryptographyRSAKeyNc                   V\         P                  9  d   \        R V,          4      h\         P                  V P                  \         P
                  V P                  \         P                  V P                  /P                  V4      V n
        W n        \         P                  V P                  \         P                  V P                  \         P                  V P                  /P                  V4      V n        W0n        \#        VR4      '       d   \#        VR4      '       g   \#        VR4      '       d	   Wn        R# \'        V\(        4      '       d   V P+                  V4      V n        R# \'        V\,        4      '       d   VP/                  R4      p\'        V\0        4      '       dM    VP3                  R4      '       d   V P5                  V4       R#  \7        WP!                  4       4      V n        R# \        RV,          4      h  \8         d&    \;        TRT P!                  4       R7      T n         R# i ; i  \<         d   p\        T4      hRp?ii ; i)	r)   r*   r   r+   Nr-   s   -----BEGIN CERTIFICATE-----r.   z'Unable to parse an RSA_JWK from key: %s)r   RSAr   RS256r3   RS384r5   RS512r7   r8   r9   r:   RSA1_5RSA_OAEPRSA_OAEP_256r
   r;   r<   r=   r?   r@   rA   rB   rC   rD   
startswith_process_certr   rE   r   rF   rG   s   &&&& rL   rM   CryptographyRSAKey.__init__   s   JNN*G)STT dkkdkkdkk
 #i.	 	
 $ t{{##T%6%6
 #i.	 	 %9! C((WS:J-K-KPWX[]lPmPm #c4   $ 1 1# 6Dc3**W%Cc5!!
">>"@AA&&s+v(;CAZAZA\(]D%
 @3FGG " v(<S4Y]YrYrYt(uD% 	v "qk!"s<   &H6 =H6 H ,H3/H6 2H33H6 6IIIc           	       a SP                  R 4      R8X  g"   \        RSP                  R 4      ,          4      h\        SP                  RR4      4      p\        SP                  R4      4      p\        P                  ! W#4      pRS9  d    VP                  V P                  4       4      # \        SP                  R4      4      p. ROp\        ;QJ d    V3R lV 4       F  '       g   K   RM	  RM! V3R lV 4       4      '       d   \        ;QJ d    V3R lV 4       F  '       d   K   RM	  RM! V3R lV 4       4      '       g   \        R4      h\        SR,          4      p\        SR,          4      p\        SR	,          4      p	\        SR
,          4      p
\        SR,          4      pM[\        P                  ! W2V4      w  rx\        P                  ! WW4      p	\        P                  ! WX4      p
\        P                  ! Wx4      p\        P                  ! WxWYWV4      pVP                  V P                  4       4      # )rP   r   z1Incorrect key type. Expected: 'RSA', Received: %srK      nra   pqdpdqqic              3   ,   <"   T F	  qS9   x  K  	  R # 5irR   rS   rT   s   & rL   rX   2CryptographyRSAKey._process_jwk.<locals>.<genexpr>  s     7,Q=,rZ   TFc              3   ,   <"   T F	  qS9   x  K  	  R # 5irR   rS   rT   s   & rL   rX   r     s     ?,Q=,rZ   z2Precomputed private key parameters are incomplete.)r   r   r   r   r   )r8   r   r   r   RSAPublicNumbersri   r;   anyrb   rsa_recover_prime_factorsrsa_crt_dmp1rsa_crt_dmq1rsa_crt_iqmpRSAPrivateNumbersrh   )rH   rW   rK   r   rk   ra   extra_paramsr   r   r   r   r   rl   s   &f           rL   rA   CryptographyRSAKey._process_jwk  s   ||E"e+NQYQ]Q]^cQddee8<<S128<<,-%%a+h$$T%>%>%@AA x||C01A7Ls7,7sss7,777s?,?sss?,??? ##WXX"8C=1"8C=1#HTN3#HTN3#HTN3 44Q1=%%a+%%a+%%a+++A!HG&&t'@'@'BCCrn   c                b    \        WP                  4       4      pVP                  4       V n        R # rR   )r   r;   ri   r=   )rH   rI   s   &&rL   r    CryptographyRSAKey._process_cert,  s$    '-F-F-HINN,rn   c                     V P                   P                  V\        P                  ! 4       V P	                  4       4      pV#   \
         d   p\        T4      hR p?ii ; irR   )r=   r   r
   PKCS1v15r9   rF   r   )rH   r   r   rK   s   &&  rL   r   CryptographyRSAKey.sign0  sT    	))..sG4D4D4FXI   	1+	s   >A AAAc                   V P                  4       '       g   \        P                  ! R 4        V P                  4       P                  P                  W!\        P                  ! 4       V P                  4       4       R#   \         d     R# i ; i)zKAttempting to verify a message with a private key. This is not recommended.TF)
r   warningswarnri   r=   r   r
   r   r9   r   )rH   r   r   s   &&&rL   r   CryptographyRSAKey.verify7  sh    ~~MMjk	OO**11#G<L<L<NPTP]P]P_` 		s   AA< <B
Bc                .    \        V P                  R 4      # r   r   rt   s   &rL   r   CryptographyRSAKey.is_publicA  r   rn   c                    V P                  4       '       d   V # V P                  V P                  P                  4       V P                  4      # rR   r   rt   s   &rL   ri   CryptographyRSAKey.public_keyD  r   rn   c                   V P                  4       '       d   VR 8X  d   \        P                  P                  pM4VR8X  d   \        P                  P                  pM\        RV,          4      hV P                  P                  \        P                  P                  VR7      pV# VR 8X  d   \        P                  P                  pM4VR8X  d   \        P                  P                  pM\        RV,          4      hV P                  P                  \        P                  P                  V\        P                  ! 4       R7      # )PKCS8PKCS1zInvalid format specified: %rr   r   )r   r   r   r   r   rE   r=   r*   r   r   r   r   r   r+   r   )rH   
pem_formatfmtr   s   &&  rL   r,   CryptographyRSAKey.to_pemI  s    >>W$#00EEw&#0066 !?*!LMM##00-:P:P:T:T]`0aCJ --33C7"--@@C;jHII  .."++//R_RlRlRn / 
 	
rn   c                   V P                  4       '       g   V P                  P                  4       pMV P                  pR V P                  RRR\	        VP                  4       P                  4      P                  R4      R\	        VP                  4       P                  4      P                  R4      /pV P                  4       '       Egz   VP                  R\	        V P                  P                  4       P                  4      P                  R4      R\	        V P                  P                  4       P                  4      P                  R4      R\	        V P                  P                  4       P                  4      P                  R4      R	\	        V P                  P                  4       P                  4      P                  R4      R
\	        V P                  P                  4       P                  4      P                  R4      R\	        V P                  P                  4       P                   4      P                  R4      /4       V# )r   rP   r   r   r   rK   ra   r   r   r   r   r   )r   r=   ri   r:   r#   r   r   r>   rK   updater   ra   r   r   dmp1dmq1iqmp)rH   ri   r   s   &  rL   r   CryptographyRSAKey.to_dict_  s   ~~**557J**J 4??5
 9 9 ; = =>EEgN
 9 9 ; = =>EEgN	
 ~~KK(9(9(I(I(K(M(MNUUV]^(9(9(I(I(K(M(MNUUV]^(9(9(I(I(K(M(MNUUV]^.):):)J)J)L)Q)QRYYZab.):):)J)J)L)Q)QRYYZab.):):)J)J)L)Q)QRYYZab	 rn   c                     V P                   P                  WP                  4      pV#   \         d   p\	        T4      hR p?ii ; irR   )r=   encryptr
   rF   r   )rH   key_datawrapped_keyrK   s   &&  rL   wrap_keyCryptographyRSAKey.wrap_keyz  sE    	++33HllKK   	1+	s   %) A?Ac                     V P                   P                  WP                  4      pV#   \         d   p\	        T4      hR p?ii ; irR   )r=   decryptr
   rF   r   )rH   r  unwrapped_keyrK   s   &&  rL   
unwrap_keyCryptographyRSAKey.unwrap_key  sA    	 --55k<<PM   	1+	s   &) A?A)r:   r;   r9   r
   r=   )r   )r   r   r   r   r   r3   r5   r7   r
   r   r   OAEPMGF1SHA1r   r   r   rM   rA   r   r   r   r   ri   r,   r   r  r  r   r   r   s   @rL   r   r      s     ]]F]]F]]FF||GLL7MH<<V]]_ =v}}PTUL<K -H^'DR-:O

,6 rn   r   c                     a  ] tR tRt o ]P
                  ]P                  ]P                  ]P                  3t	]P                  ]P                  ]P                  ]P                  3t]P                  ]P                   ]P"                  ]P$                  ]P&                  3t]P*                  3t]P.                  3t]P                  ]P                  ]P"                  3t]P
                  ]P6                  ]P                  ]P6                  ]P                  ]P6                  ]P$                  ]P8                  ]P*                  ]P8                  ]P.                  ]P8                  ]P                  ]P8                  ]P                  ]P8                  ]P&                  ]P8                  ]P                  ]P6                  ]P                  ]P6                  ]P                   ]P6                  ]P                  R]P                  R]P"                  R/tR]P>                  P@                  ^,          R^/t!R t"R t#RR lt$RR lt%R	 t&R
 t'Rt(V t)R# )CryptographyAESKeyi  NCBCGCMc                   V\         P                  9  d   \        R V,          4      hV\         P                  P	                  \         P
                  4      9  d   \        RV,          4      hW n        V P                  P                  V P                  4      V n	        W P                  9   d   \        V4      ^8w  d   \        RV 24      hW P                  9   d   \        V4      ^8w  d   \        RV 24      hW P                  9   d   \        V4      ^ 8w  d   \        RV 24      hW P                  9   d   \        V4      ^08w  d   \        RV 24      hW P                  9   d   \        V4      ^@8w  d   \        RV 24      hWn        R# )z%s is not a valid AES algorithmz%s is not a supported algorithmzKey must be 128 bit for alg zKey must be 192 bit for alg zKey must be 256 bit for alg zKey must be 384 bit for alg zKey must be 512 bit for alg N)r   AESr   	SUPPORTEDunion
AES_PSEUDOr:   MODESr8   _modeKEY_128r   KEY_192KEY_256KEY_384KEY_512_keyrH   rI   rJ   s   &&&rL   rM   CryptographyAESKey.__init__  s4   JNN*<yHIIJ0066z7L7LMM<yHII#ZZ^^DOO4
$SR9)EFF,,&3s8r>9)EFF,,&3s8r>9)EFF,,&3s8r>9)EFF,,&3s8r>9)EFF	rn   c                P    R V P                   RRR\        V P                  4      /pV# )r   rP   octrV   )r:   r   r  )rH   r   s   & rL   r   CryptographyAESKey.to_dict  s'    tuc;KDII;VWrn   c                j   \        V4      p V P                  P                  V P                  P                  \
        P                  P                  4      p\        V4      pV P                  V4      pVP                  R 8X  dN   \        P                  ! V P                  4      pVP                  WAV4      pVR\        V4      ^,
           pVRR p	M\        \
        P                  ! V P                  4      V\        4       R7      pVP!                  4       p
\#        \
        P                  P                  4      P%                  4       pVP'                  V4      pWP)                  4       ,          pV
P'                  V4      V
P)                  4       ,           pRp	WHV	3#   \*         d   p\-        T4      hRp?ii ; i)r  Nr0   i)r    IV_BYTE_LENGTH_MODE_MAPr8   r  r   r   r  
block_sizer$   r   AESGCMr  r   r   r   r   	encryptorr   padderr   finalizerF   r   )rH   
plain_textaadiv_byte_lengthivmodeciphercipher_text_and_tagcipher_textauth_tagr'  r(  padded_datarK   s   &&&           rL   r   CryptographyAESKey.encrypt  sS   ":.
	!99==djjooz~~OhOhiN!.1B::b>DyyE!TYY/&,nnRS&I#12QC8K4Lr4QR.st4
tyy 94IZ[",,.	z~~889@@B$mmJ700'..{;i>P>P>RRH,, 	1+	s   F	F F2"F--F2c                   \        V4      p \        V4      pV P                  V4      pVP                  R 8X  dM   Vf   \        R4      h\        P
                  ! V P                  4      pW,           p VP                  W'V4      pV# \        \        P                  ! V P                  4      V\        4       R7      pVP                  4       p	V	P                  V4      p
WP!                  4       ,          p
\#        \        P                  P$                  4      P'                  4       pVP                  V
4      pWP!                  4       ,          pV#   \         d    \        R4      hi ; i  \(         d   p\        T4      hRp?ii ; i)r  Nztag cannot be NonezInvalid JWE Auth Tagr#  )r    r  r   rE   r   r&  r  r  r   r   r   r   r  r   	decryptorr   r)  r   r%  unpadderrF   )rH   r1  r-  r+  tagr.  r/  r0  r*  r6  padded_plain_textr7  rK   s   &&&&&        rL   r  CryptographyAESKey.decrypt  sI   #K0	r"B::b>DyyE!;$%9::TYY/&1&7#;!'!MJ   
tyy 94IZ[",,.	$-$4$4[$A!!%7%7%99! !:!:;DDF%__->?
//11
 " ;"#9::;  	1+	s7   A$E% 2E E% CE% E""E% %F 0E;;F c                Z    \        V4      p\        V P                  V\        4       4      pV# rR   )r    r   r  r   )rH   r   r1  s   && rL   r  CryptographyAESKey.wrap_key  s'     *"499h8IJrn   c                    \        V4      p \        V P                  V\        4       4      pV#   \         d   p\        T4      hR p?ii ; irR   )r    r   r  r   r   r   )rH   r  r*  causes   &&  rL   r  CryptographyAESKey.unwrap_key  sJ    #K0	"'		;@QRJ   	"5/!	"s   . A	AA	)r:   r  r  rR   )NNN)*r   r   r   r   r   A128GCM	A128GCMKWA128KWA128CBCr  A192GCM	A192GCMKWA192KWA192CBCr  A256GCM	A256GCMKWA256KWA128CBC_HS256A256CBCr  A192CBC_HS384r  A256CBC_HS512r  AES_KW_ALGSr   r  r  r  r   r  r%  r$  rM   r   r   r  r  r  r   r   r   s   @rL   r  r    s    !!:#7#79J9JJL^L^_G!!:#7#79J9JJL^L^_G  G '')G'')G$$j&7&79J9JKK 	EIIEIIEII  %))  %))  %))EIIEIIEIIeiieiieii444E$  %jnn&?&?1&DeWU,.6
 rn   r  c                      a  ] tR tRt o Rt]P                  ]P                  ! 4       ]P                  ]P                  ! 4       ]P                  ]P                  ! 4       /tR tR tR tR tR tRtV tR	# )
CryptographyHMACKeyi  zZ
Performs signing and verification operations using HMAC
and the specified hash function.
c                   V\         P                  9  d   \        R V,          4      hW n        V P                  P                  V4      V n        \        V\        4      '       d   V P                  V4      V n
        R# \        V\        4      '       g"   \        V\        4      '       g   \        R4      h\        V\        4      '       d   VP                  R4      p\        V4      '       g   \        V4      '       d   \        R4      hWn
        R# )r)   Nz+Expecting a string- or bytes-formatted key.r-   zdThe specified key is an asymmetric key or x509 certificate and should not be used as an HMAC secret.)r   HMACr   r:   ALG_MAPr8   	_hash_algr?   r@   rA   r=   rB   rD   rC   r!   r"   r  s   &&&rL   rM   CryptographyHMACKey.__init__  s    JOO+G)STT#)))4c4   $ 1 1# 6D#s##JsE,B,BHIIc3**W%CC9 
  rn   c                    VP                  R 4      R8X  g"   \        RVP                  R 4      ,          4      hVP                  R4      pVP                  R4      p\        V4      p\	        V4      pV# )rP   r   z1Incorrect key type. Expected: 'oct', Received: %srV   r-   )r8   r   rC   rD   r   )rH   rW   rV   s   && rL   rA    CryptographyHMACKey._process_jwk'  se    ||E"e+NQYQ]Q]^cQddeeLLHHW!HQrn   c                j    R V P                   RRR\        V P                  4      P                  R4      /# )r   rP   r   rV   r   )r:   r   r=   r>   rt   s   &rL   r   CryptographyHMACKey.to_dict2  s6    4??5!$"3"34;;GD
 	
rn   c                    \        V4      p\        P                  ! V P                  V P                  \        4       R 7      pVP                  V4       VP                  4       pV# )r#  )r    r   rS  r=   rU  r   r   r)  )rH   r   hr   s   &&  rL   r   CryptographyHMACKey.sign9  sG    C IId''ARS	JJL	rn   c                   \        V4      p\        V4      p\        P                  ! V P                  V P                  \        4       R 7      pVP                  V4        VP                  V4       RpV#   \         d    Rp T# i ; i)r#  TF)	r    r   rS  r=   rU  r   r   r   r   )rH   r   r   r\  verifieds   &&&  rL   r   CryptographyHMACKey.verify@  sw    C C IId''ARS		HHSMH    	H	s   A3 3BB)r:   rU  r=   N)r   r   r   r   __doc__r   HS256r   r3   HS384r5   HS512r7   rT  rM   rA   r   r   r   r   r   r   s   @rL   rQ  rQ    se     
 *2B2BFMMOU_UeUegmgtgtgvwG 0	

 
rn   rQ  ):rq   r   cryptography.exceptionsr   r   cryptography.hazmat.backendsr   cryptography.hazmat.primitivesr   r   r   )cryptography.hazmat.primitives.asymmetricr	   r
   r   /cryptography.hazmat.primitives.asymmetric.utilsr   r   &cryptography.hazmat.primitives.ciphersr   r   r   r   &cryptography.hazmat.primitives.keywrapr   r   r   &cryptography.hazmat.primitives.paddingr   ,cryptography.hazmat.primitives.serializationr   r   cryptography.utilsr   cryptography.x509r   	constantsr   
exceptionsr   r   utilsr   r   r   r    r!   r"   r#    r$   baser%   _bindingr'   r   r  rQ  rS   rn   rL   <module>rv     s      @ 8 F F F F f R R ^ ^ 8 b + 7 " +    g gT| |~z zzC# Crn   