Ë
    bQbj®  ã                  ó   — d dl mZ d dlmZmZ d dlmZ d dlmZ e G d„ d«      «       Z	e G d„ d«      «       Z
e G d	„ d
«      «       Ze G d„ d«      «       Ze G d„ d«      «       Ze G d„ d«      «       Z G d„ d«      Zy)é    )Úannotations)Ú	dataclassÚfield)ÚAny)Úcommand_builderc                  ó    — e Zd ZU dZdZded<   y)ÚInstallParameterszInstallParameters.Nú
Any | NoneÚextension_data)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú__annotations__© ó    ú^/var/www/html/venv/lib/python3.12/site-packages/selenium/webdriver/common/bidi/webextension.pyr	   r	      s   … áà!%€N�JÔ%r   r	   c                  ó>   — e Zd ZU dZ edd¬«      Zded<   dZded<   y)	ÚExtensionPathzExtensionPath.ÚpathF©ÚdefaultÚinitÚstrÚtypeNú
str | None©r   r   r   r   r   r   r   r   r   r   r   r   r      s    … áá˜f¨5Ô1€Dˆ#Ó1Ø€Dˆ*Ôr   r   c                  ó>   — e Zd ZU dZ edd¬«      Zded<   dZded	<   y)
ÚExtensionArchivePathzExtensionArchivePath.ÚarchivePathFr   r   r   Nr   r   r   r   r   r   r   r      s    … áá˜m°%Ô8€Dˆ#Ó8Ø€Dˆ*Ôr   r   c                  ó>   — e Zd ZU dZ edd¬«      Zded<   dZded	<   y)
ÚExtensionBase64EncodedzExtensionBase64Encoded.Úbase64Fr   r   r   Nr   Úvalue)r   r   r   r   r   r   r   r$   r   r   r   r"   r"   %   s    … á!á˜h¨UÔ3€Dˆ#Ó3Ø€Eˆ:Ôr   r"   c                  ó    — e Zd ZU dZdZded<   y)ÚInstallResultzInstallResult.Nr
   Ú	extension©r   r   r   r   r'   r   r   r   r   r&   r&   -   s   … áà €IˆzÔ r   r&   c                  ó    — e Zd ZU dZdZded<   y)ÚUninstallParameterszUninstallParameters.Nr
   r'   r(   r   r   r   r*   r*   4   s   … áà €IˆzÔ r   r*   c                  ó:   — e Zd ZdZdd„Z	 	 	 d	 	 	 	 	 dd„Zd	d„Zy)
ÚWebExtensionz#WebDriver BiDi webExtension module.c                ó   — || _         y )N)Ú_conn)ÚselfÚconns     r   Ú__init__zWebExtension.__init__>   s	   € Øˆ�
r   Nc                óv  — |||dœj                  «       D ��cg c]	  \  }}|�|‘Œ }}}t        |«      dk7  rt        d|› �«      ‚|�d|dœ}n|�d|dœ}n	|€J ‚d|d	œ}d
|i}t        d|«      }		 | j                  j                  |	«      S c c}}w # t        $ r}
dt        |
«      v rt        d«      |
‚‚ d}
~
ww xY w)a§  Install a web extension.

        Exactly one of the three keyword arguments must be provided.

        Args:
            path: Directory path to an unpacked extension (also accepted for
                signed ``.xpi`` / ``.crx`` archive files on Firefox).
            archive_path: File-system path to a packed extension archive.
            base64_value: Base64-encoded extension archive string.

        Returns:
            The raw result dict from the BiDi ``webExtension.install`` command
            (contains at least an ``"extension"`` key with the extension ID).

        Raises:
            ValueError: If more than one, or none, of the arguments is provided.
        )r   Úarchive_pathÚbase64_valueNé   zJExactly one of path, archive_path, or base64_value must be provided; got: r   )r   r   r    r#   )r   r$   ÚextensionDatazwebExtension.installzMethod not availablezÝwebExtension.install failed with 'Method not available'. This likely means that web extension support is disabled. Enable unsafe extension debugging and/or set options.enable_webextensions in your WebDriver configuration.)	ÚitemsÚlenÚ
ValueErrorr   r.   ÚexecuteÚ	Exceptionr   ÚRuntimeError)r/   r   r3   r4   ÚkÚvÚprovidedr   ÚparamsÚcmdÚes              r   ÚinstallzWebExtension.installA   s	  € ð2 ¨lÈLñç‰e‹g÷
Ù�!�Qà˜ò ð
ˆñ 
ô
 ˆx‹=˜AÒÜØ\Ð]eÐ\fÐgóð ð ÐØ&,°dÑ;‰NØÐ%Ø&3¸\ÑJ‰NàÐ+Ð+Ð+Ø&.¸ÑFˆNØ! >Ð2ˆÜÐ4°fÓ=ˆð
	Ø—:‘:×%Ñ% cÓ*Ð*ùó'
øô( ò 	Ø%¬¨Q«Ñ/Ü"ð7óð
 ðð ûð	ús   ˜B
Á/B Â	B8ÂB3Â3B8c                óº   — t        |t        «      r|j                  d«      }n|}|€t        d«      ‚d|i}t	        d|«      }| j
                  j                  |«      S )a[  Uninstall a web extension.

        Args:
            extension: Either the extension ID string returned by ``install``,
                or the full result dict returned by ``install`` (the
                ``"extension"`` value is extracted automatically).

        Raises:
            ValueError: If extension is not provided or is None.
        r'   zextension parameter is requiredzwebExtension.uninstall)Ú
isinstanceÚdictÚgetr9   r   r.   r:   )r/   r'   Úextension_idr@   rA   s        r   Ú	uninstallzWebExtension.uninstallu   s_   € ô �i¤Ô&Ø )§¡¨kÓ :‰Là$ˆLàÐÜÐ>Ó?Ð?à˜|Ð,ˆÜÐ6¸Ó?ˆØ�z‰z×!Ñ! #Ó&Ð&r   )ÚreturnÚNone)NNN)r   r   r3   r   r4   r   )r'   z
str | dict)r   r   r   r   r1   rC   rI   r   r   r   r,   r,   ;   s<   „ Ù-óð
  Ø#'Ø#'ð	3àð3ð !ð3ð !ó	3ôh'r   r,   N)Ú
__future__r   Údataclassesr   r   Útypingr   Ú%selenium.webdriver.common.bidi.commonr   r	   r   r   r"   r&   r*   r,   r   r   r   ú<module>rP      s³   ðõ #ç (Ý å Aà
÷&ð &ó ð&ð ÷ð ó ðð ÷ð ó ðð ÷ð ó ðð ÷!ð !ó ð!ð ÷!ð !ó ð!÷O'ò O'r   