
     fG                    2   d dl mZ ddlmZmZ d dlmZ d dlZd dlZ G d de	          Z
 G d d	ej                  Z G d
 dej                  Z G d dej                  Ze G d d                      Ze G d d                      Z	 d9d:dZd;dZd<dZ	 	 	 d=d>dZd?d Zd@d"ZdAd&ZdBd(ZdCd)Zd?d*ZdDd-ZdEd/Z	 	 dFdGd2Z ed3          e G d4 d5                                  Z ed6          e G d7 d8                                  ZdS )H    )annotations   )event_classT_JSON_DICT)	dataclassNc                  >     e Zd ZddZedd            Z fdZ xZS )	AuthenticatorIdreturnstrc                    | S N selfs    t/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/selenium/webdriver/common/devtools/v127/web_authn.pyto_jsonzAuthenticatorId.to_json   s        jsonc                     | |          S r   r   clsr   s     r   	from_jsonzAuthenticatorId.from_json       s4yyr   c                j    d                     t                                                                S )NzAuthenticatorId({}))formatsuper__repr__)r   	__class__s    r   r   zAuthenticatorId.__repr__   s'    $++EGG,<,<,>,>???r   )r
   r   )r   r   r
   r	   )__name__
__module____qualname__r   classmethodr   r   __classcell__)r   s   @r   r	   r	      su               [@ @ @ @ @ @ @ @ @r   r	   c                  2    e Zd ZdZdZd Zed             ZdS )AuthenticatorProtocolu2fctap2c                    | j         S r   valuer   s    r   r   zAuthenticatorProtocol.to_json   
    zr   c                     | |          S r   r   r   s     r   r   zAuthenticatorProtocol.from_json    r   r   N)r   r    r!   U2FCTAP2r   r"   r   r   r   r   r%   r%      sH        
CE     [  r   r%   c                  2    e Zd ZdZdZd Zed             ZdS )Ctap2Versionctap2_0ctap2_1c                    | j         S r   r)   r   s    r   r   zCtap2Version.to_json)   r+   r   c                     | |          S r   r   r   s     r   r   zCtap2Version.from_json,   r   r   N)r   r    r!   CTAP2_0CTAP2_1r   r"   r   r   r   r   r0   r0   %   sH        GG     [  r   r0   c                  >    e Zd ZdZdZdZdZdZd Ze	d             Z
dS )	AuthenticatorTransportusbnfcblecableinternalc                    | j         S r   r)   r   s    r   r   zAuthenticatorTransport.to_json8   r+   r   c                     | |          S r   r   r   s     r   r   z AuthenticatorTransport.from_json;   r   r   N)r   r    r!   USBNFCBLECABLEINTERNALr   r"   r   r   r   r   r8   r8   1   sW        
C
C
CEH     [  r   r8   c                      e Zd ZU ded<   ded<   dZded<   dZded	<   dZded
<   dZded<   dZded<   dZ	ded<   dZ
ded<   dZded<   dZded<   dZded<   dZded<   d Zed             ZdS )VirtualAuthenticatorOptionsr%   protocolr8   	transportNztyping.Optional[Ctap2Version]ctap2_versiontyping.Optional[bool]has_resident_keyhas_user_verificationhas_large_blobhas_cred_blobhas_min_pin_lengthhas_prfautomatic_presence_simulationis_user_verifieddefault_backup_eligibilitydefault_backup_statec                ,   t                      }| j                                        |d<   | j                                        |d<   | j        | j                                        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j	        
| j	        |d<   | j
        
| j
        |d	<   | j        
| j        |d
<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   |S )NrG   rH   ctap2VersionhasResidentKeyhasUserVerificationhasLargeBlobhasCredBlobhasMinPinLengthhasPrfautomaticPresenceSimulationisUserVerifieddefaultBackupEligibilitydefaultBackupState)dictrG   r   rH   rI   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   r   r   s     r   r   z#VirtualAuthenticatorOptions.to_jsonu   sB   vv=0022Z N2244[)#'#5#=#=#?#?D  ,%)%:D!"%1*.*DD&'*#'#6D )"&"4D".&*&=D"#<#!\DN-9262TD./ ,%)%:D!"*6/3/ND+,$0)-)BD%&r   c                    | t                               |d                   t                              |d                   d|v r t                              |d                   nd d|v rt	          |d                   nd d|v rt	          |d                   nd d|v rt	          |d                   nd d|v rt	          |d                   nd d|v rt	          |d                   nd d	|v rt	          |d	                   nd d
|v rt	          |d
                   nd d|v rt	          |d                   nd d|v rt	          |d                   nd d|v rt	          |d                   nd           S )NrG   rH   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   )rG   rH   rI   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   )r%   r   r8   r0   boolr   s     r   r   z%VirtualAuthenticatorOptions.from_json   s   s*44T*5EFF,66tK7HIIJX\`J`J`,00n1EFFFfj=MQU=U=UT$'7"8999[_G\`dGdGd$t,A'B"C"C"Cjn9G49O9O4^ 4555UY7D7L7L$tM2333RV@QUY@Y@YtD):$;<<<_c,4,<,<Dh((($Wtx|W|W|$t4Q/R*S*S*S  CG=MQU=U=UT$'7"8999[_QkosQsQstD1K,L'M'M'My}EY]aEaEad+?&@!A!A!Agk
 
 
 	
r   )r   r    r!   __annotations__rI   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   r   r"   r   r   r   r   rF   rF   @   s1        ####%%%% 48M7777 /32222 487777
 -1N0000
 ,0M////
 154444
 &*G)))) <@!???? /32222
 9=<<<<
 376666  8 
 
 [
 
 
r   rF   c                      e Zd ZU ded<   ded<   ded<   ded<   dZd	ed
<   dZd	ed<   dZd	ed<   dZded<   dZded<   d Z	e
d             ZdS )
Credentialr   credential_idrd   is_resident_credentialprivate_keyint
sign_countNztyping.Optional[str]rp_iduser_handle
large_blobrJ   backup_eligibilitybackup_statec                   t                      }| j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j	        
| j	        |d	<   |S )
NcredentialIdisResidentCredential
privateKey	signCountrpId
userHandle	largeBlobbackupEligibilitybackupState)
ra   rh   ri   rj   rl   rm   rn   ro   rp   rq   rb   s     r   r   zCredential.to_json   s    vv#1^'+'B#$!-\ O[:!:DL'!%!1D?& $D".(,(?D$%("&"3Dr   c                    | t          |d                   t          |d                   t          |d                   t          |d                   d|v rt          |d                   nd d|v rt          |d                   nd d|v rt          |d                   nd d|v rt          |d                   nd d	|v rt          |d	                   nd 
	  	        S )Nrs   rt   ru   rv   rw   rx   ry   rz   r{   )	rh   ri   rj   rl   rm   rn   ro   rp   rq   )r   rd   rk   r   s     r   r   zCredential.from_json   s    sd>233#'-C(D#E#ED.//4,--'-~~#d6l###43?43G3GD.///T1<1D1Ds4,---$BUY]B]B]tD)<$=>>>cg6Ct6K6Kd=1222QU

 

 

 
	
r   )r   r    r!   re   rm   rn   ro   rp   rq   r   r"   r   r   r   r   rg   rg      s              
 OOO #'E&&&& )-K,,,, (,J++++
 154444
 +/L....  $ 
 
 [
 
 
r   rg   	enable_uirJ   r
   0typing.Generator[T_JSON_DICT, T_JSON_DICT, None]c              #  F   K   t                      }| | |d<   d|d}|V }dS )a  
    Enable the WebAuthn domain and start intercepting credential storage and
    retrieval with a virtual authenticator.

    :param enable_ui: *(Optional)* Whether to enable the WebAuthn user interface. Enabling the UI is recommended for debugging and demo purposes, as it is closer to the real experience. Disabling the UI is recommended for automated testing. Supported at the embedder's discretion if UI is available. Defaults to false.
    NenableUIzWebAuthn.enablemethodparams)ra   )r}   r   cmd_dictr   s       r   enabler      sB       &&F&z# H >>DDDr   c               #     K   ddi} | V }dS )z&
    Disable the WebAuthn domain.
    r   zWebAuthn.disableNr   )r   r   s     r   disabler      s$      
 	$H >>DDDr   options;typing.Generator[T_JSON_DICT, T_JSON_DICT, AuthenticatorId]c              #     K   t                      }|                                 |d<   d|d}|V }t                              |d                   S )zW
    Creates and adds a virtual authenticator.

    :param options:
    :returns: 
    r   z WebAuthn.addVirtualAuthenticatorr   authenticatorId)ra   r   r	   r   )r   r   r   r   s       r   add_virtual_authenticatorr     s\       &&F))F94 H >>D$$T*;%<===r   authenticator_idis_bogus_signature	is_bad_uv	is_bad_upc              #     K   t                      }|                                 |d<   |||d<   |||d<   |||d<   d|d}|V }dS )aE  
    Resets parameters isBogusSignature, isBadUV, isBadUP to false if they are not present.

    :param authenticator_id:
    :param is_bogus_signature: *(Optional)* If isBogusSignature is set, overrides the signature in the authenticator response to be zero. Defaults to false.
    :param is_bad_uv: *(Optional)* If isBadUV is set, overrides the UV bit in the flags in the authenticator response to be zero. Defaults to false.
    :param is_bad_up: *(Optional)* If isBadUP is set, overrides the UP bit in the flags in the authenticator response to be zero. Defaults to false.
    r   NisBogusSignatureisBadUVisBadUPz WebAuthn.setResponseOverrideBitsr   ra   r   )r   r   r   r   r   r   r   s          r   set_response_override_bitsr     sz       &&F 0 8 8 : :F%%7!"%y%y4 H >>DDDr   c              #  f   K   t                      }|                                 |d<   d|d}|V }dS )zH
    Removes the given authenticator.

    :param authenticator_id:
    r   z#WebAuthn.removeVirtualAuthenticatorr   Nr   r   r   r   r   s       r   remove_virtual_authenticatorr   6  sI       &&F 0 8 8 : :F7 H >>DDDr   
credentialc              #     K   t                      }|                                 |d<   |                                |d<   d|d}|V }dS )zr
    Adds the credential to the specified authenticator.

    :param authenticator_id:
    :param credential:
    r   r   zWebAuthn.addCredentialr   Nr   )r   r   r   r   r   s        r   add_credentialr   G  s_       &&F 0 8 8 : :F%--//F<* H >>DDDr   rh   r   6typing.Generator[T_JSON_DICT, T_JSON_DICT, Credential]c              #     K   t                      }|                                 |d<   ||d<   d|d}|V }t                              |d                   S )z
    Returns a single credential stored in the given virtual authenticator that
    matches the credential ID.

    :param authenticator_id:
    :param credential_id:
    :returns: 
    r   rs   zWebAuthn.getCredentialr   r   )ra   r   rg   r   r   rh   r   r   r   s        r   get_credentialr   [  sh       &&F 0 8 8 : :F*F>* H >>D\ 2333r   Ctyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[Credential]]c              #     K   t                      }|                                 |d<   d|d}|V }d |d         D             S )z}
    Returns all the credentials stored in the given virtual authenticator.

    :param authenticator_id:
    :returns: 
    r   zWebAuthn.getCredentialsr   c                B    g | ]}t                               |          S r   )rg   r   ).0is     r   
<listcomp>z#get_credentials.<locals>.<listcomp>  s&    AAAJ  ##AAAr   credentialsr   r   s       r   get_credentialsr   r  s^       &&F 0 8 8 : :F+ H >>DAAT--@AAAAr   c              #  p   K   t                      }|                                 |d<   ||d<   d|d}|V }dS )zn
    Removes a credential from the authenticator.

    :param authenticator_id:
    :param credential_id:
    r   rs   zWebAuthn.removeCredentialr   Nr   r   s        r   remove_credentialr     sS       &&F 0 8 8 : :F*F>- H >>DDDr   c              #  f   K   t                      }|                                 |d<   d|d}|V }dS )z]
    Clears all the credentials from the specified device.

    :param authenticator_id:
    r   zWebAuthn.clearCredentialsr   Nr   r   s       r   clear_credentialsr     sI       &&F 0 8 8 : :F- H >>DDDr   rR   rd   c              #  p   K   t                      }|                                 |d<   ||d<   d|d}|V }dS )z
    Sets whether User Verification succeeds or fails for an authenticator.
    The default is true.

    :param authenticator_id:
    :param is_user_verified:
    r   r^   zWebAuthn.setUserVerifiedr   Nr   )r   rR   r   r   r   s        r   set_user_verifiedr     sT       &&F 0 8 8 : :F/F, H >>DDDr   enabledc              #  p   K   t                      }|                                 |d<   ||d<   d|d}|V }dS )z
    Sets whether tests of user presence will succeed immediately (if true) or fail to resolve (if false) for an authenticator.
    The default is true.

    :param authenticator_id:
    :param enabled:
    r   r   z'WebAuthn.setAutomaticPresenceSimulationr   Nr   )r   r   r   r   r   s        r   !set_automatic_presence_simulationr     sS       &&F 0 8 8 : :FF9; H >>DDDr   rp   rq   c              #     K   t                      }|                                 |d<   ||d<   |||d<   |||d<   d|d}|V }dS )a  
    Allows setting credential properties.
    https://w3c.github.io/webauthn/#sctn-automation-set-credential-properties

    :param authenticator_id:
    :param credential_id:
    :param backup_eligibility: *(Optional)*
    :param backup_state: *(Optional)*
    r   rs   Nrz   r{   z WebAuthn.setCredentialPropertiesr   r   )r   rh   rp   rq   r   r   r   s          r   set_credential_propertiesr     st       &&F 0 8 8 : :F*F>%&8"# ,}4 H >>DDDr   zWebAuthn.credentialAddedc                  @    e Zd ZU dZded<   ded<   edd	            Zd
S )CredentialAddedzC
    Triggered when a credential is added to an authenticator.
    r	   r   rg   r   r   r   r
   c                     | t                               |d                   t                              |d                             S Nr   r   )r   r   r	   r   rg   r   s     r   r   zCredentialAdded.from_json  H    s,66t<M7NOO!++D,>??
 
 
 	
r   N)r   r   r
   r   r   r    r!   __doc__re   r"   r   r   r   r   r   r     X           &%%%
 
 
 [
 
 
r   r   zWebAuthn.credentialAssertedc                  @    e Zd ZU dZded<   ded<   edd	            Zd
S )CredentialAssertedzF
    Triggered when a credential is used in a webauthn assertion.
    r	   r   rg   r   r   r   r
   c                     | t                               |d                   t                              |d                             S r   r   r   s     r   r   zCredentialAsserted.from_json  r   r   N)r   r   r
   r   r   r   r   r   r   r     r   r   r   r   )r}   rJ   r
   r~   )r
   r~   )r   rF   r
   r   )NNN)
r   r	   r   rJ   r   rJ   r   rJ   r
   r~   )r   r	   r
   r~   )r   r	   r   rg   r
   r~   )r   r	   rh   r   r
   r   )r   r	   r
   r   )r   r	   rh   r   r
   r~   )r   r	   rR   rd   r
   r~   )r   r	   r   rd   r
   r~   )NN)
r   r	   rh   r   rp   rJ   rq   rJ   r
   r~   ) 
__future__r   utilr   r   dataclassesr   enumtypingr   r	   Enumr%   r0   r8   rF   rg   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   <module>r      sR   # " " " " " * * * * * * * * ! ! ! ! ! !  	@ 	@ 	@ 	@ 	@c 	@ 	@ 	@	 	 	 	 	DI 	 	 		 	 	 	 	49 	 	 	    TY    `
 `
 `
 `
 `
 `
 `
 `
F A
 A
 A
 A
 A
 A
 A
 A
J ,0    &   > > > >* 59+/+/	    :   "   (4 4 4 4.B B B B&   (   "   *   0 59.2	    : '((

 
 
 
 
 
 
  )(
 *++

 
 
 
 
 
 
  ,+
 
 
r   