
    X j
                     L    S SK Jr   " S S5      r " S S5      r " S S5      rg)	    )command_builderc                   $    \ rS rSrSrSrSrSrSrg)PermissionState   z*Represents the possible permission states.granteddeniedprompt N)	__name__
__module____qualname____firstlineno____doc__GRANTEDDENIEDPROMPT__static_attributes__r
       {/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/selenium/webdriver/common/bidi/permissions.pyr   r      s    4GFFr   r   c                   4    \ rS rSrSrS\4S jrS\4S jrSr	g)	PermissionDescriptor   z#Represents a permission descriptor.namec                     Xl         g Nr   )selfr   s     r   __init__PermissionDescriptor.__init__!       	r   returnc                     SU R                   0$ )Nr   r   )r   s    r   to_dictPermissionDescriptor.to_dict$   s    		""r   r   N)
r   r   r   r   r   strr   dictr#   r   r
   r   r   r   r      s    -S # #r   r   c                   N    \ rS rSrSrS r SS\\-  S\S\S\S-  S	S4
S
 jjrSr	g)Permissions(   z.BiDi implementation of the permissions module.c                     Xl         g r   conn)r   r,   s     r   r   Permissions.__init__+   r    r   N
descriptorstateoriginuser_contextr!   c                    U[         R                  [         R                  [         R                  4;  aB  [         R                   S[         R                   S[         R                   3n[	        SU 35      e[        U[        5      (       a  [        U5      nOUnUR                  5       UUS.nUb  XGS'   U R                  R                  [        SU5      5        g)a  Sets a permission state for a given permission descriptor.

Args:
    descriptor: The permission name (str) or PermissionDescriptor object.
      Examples: "geolocation", "camera", "microphone".
    state: The permission state (granted, denied, prompt).
    origin: The origin for which the permission is set.
    user_context: The user context id (optional).

Raises:
    ValueError: If the permission state is invalid.
z, z*Invalid permission state. Must be one of: )r.   r/   r0   NuserContextzpermissions.setPermission)r   r   r   r   
ValueError
isinstancer%   r   r#   r,   executer   )r   r.   r/   r0   r1   valid_statespermission_descriptorparamss           r   set_permissionPermissions.set_permission.   s    & 00/2H2H/J`J`aa-556b9O9O8PPRSbSiSiRjkLI,XYYj#&&$8$D!$.! 0779
 #$0=!		/*EvNOr   r+   r   )
r   r   r   r   r   r   r%   r   r:   r   r
   r   r   r(   r(   (   sZ    8 $(%P..%P %P 	%P
 Dj%P 
%P %Pr   r(   N)%selenium.webdriver.common.bidi.commonr   r   r   r(   r
   r   r   <module>r=      s+   & B # #+P +Pr   