
    ,i                    <   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ddl	m
Z
  G d de      Z G d	 d
e      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d(dZd(dZ ed      e G d d                    Z ed      e G d d                    Z ed      e G d  d!                    Z ed"      e G d# d$                    Z ed%      e G d& d'                    Zy))    )annotations   )event_classT_JSON_DICT)	dataclassN)domc                  <     e Zd ZdZddZedd       Z fdZ xZS )PlayerIdzI
    Players will get an ID that is unique within the agent context.
    c                    | S N selfs    |/var/www/system.tvplus.app.br/jogos/scrap/venv/lib/python3.12/site-packages/selenium/webdriver/common/devtools/v142/media.pyto_jsonzPlayerId.to_json           c                     | |      S r   r   clsjsons     r   	from_jsonzPlayerId.from_json       4yr   c                >    dj                  t        | 	               S )NzPlayerId({})formatsuper__repr__r   	__class__s    r   r   zPlayerId.__repr__   s    $$UW%5%788r   )returnstr)r   r"   r!   r
   )	__name__
__module____qualname____doc__r   classmethodr   r   __classcell__r    s   @r   r
   r
      s+      9 9r   r
   c                  8     e Zd ZddZedd       Z fdZ xZS )	Timestampc                    | S r   r   r   s    r   r   zTimestamp.to_json   r   r   c                     | |      S r   r   r   s     r   r   zTimestamp.from_json"   r   r   c                >    dj                  t        | 	               S )NzTimestamp({})r   r   s    r   r   zTimestamp.__repr__&   s    %%eg&6&899r   )r!   float)r   r/   r!   r+   )r#   r$   r%   r   r'   r   r   r(   r)   s   @r   r+   r+      s&      : :r   r+   c                  <    e Zd ZU dZded<   ded<   d Zed        Zy)PlayerMessagezU
    Have one type per entry in MediaLogRecord::Type
    Corresponds to kMessage
    r"   levelmessagec                V    t               }| j                  |d<   | j                  |d<   |S )Nr2   r3   )dictr2   r3   r   r   s     r   r   zPlayerMessage.to_json=   s(    v

W,,Yr   c                F     | t        |d         t        |d               S )Nr2   r3   )r2   r3   r"   r   s     r   r   zPlayerMessage.from_jsonC   s'    d7m$Y(
 	
r   Nr#   r$   r%   r&   __annotations__r   r'   r   r   r   r   r1   r1   *   s,     JL 
 
r   r1   c                  <    e Zd ZU dZded<   ded<   d Zed        Zy)PlayerPropertyz-
    Corresponds to kMediaPropertyChange
    r"   namevaluec                V    t               }| j                  |d<   | j                  |d<   |S )Nr=   r>   )r5   r=   r>   r6   s     r   r   zPlayerProperty.to_jsonT   s(    vyyV

Wr   c                F     | t        |d         t        |d               S )Nr=   r>   )r=   r>   r8   r   s     r   r   zPlayerProperty.from_jsonZ   s'    T&\"d7m$
 	
r   Nr9   r   r   r   r<   r<   K   s,     IJ 
 
r   r<   c                  <    e Zd ZU dZded<   ded<   d Zed        Zy)	PlayerEventz-
    Corresponds to kMediaEventTriggered
    r+   	timestampr"   r>   c                r    t               }| j                  j                         |d<   | j                  |d<   |S )NrC   r>   )r5   rC   r   r>   r6   s     r   r   zPlayerEvent.to_jsonk   s2    v NN224[

Wr   c                Z     | t         j                  |d         t        |d               S )NrC   r>   )rC   r>   )r+   r   r"   r   s     r   r   zPlayerEvent.from_jsonq   s.    ))${*;<d7m$
 	
r   Nr9   r   r   r   rB   rB   b   s-     J 
 
r   rB   c                  <    e Zd ZU dZded<   ded<   d Zed        Zy)	PlayerErrorSourceLocationz
    Represents logged source line numbers reported in an error.
    NOTE: file and line are from chromium c++ implementation code, not js.
    r"   fileintlinec                V    t               }| j                  |d<   | j                  |d<   |S )NrH   rJ   )r5   rH   rJ   r6   s     r   r   z!PlayerErrorSourceLocation.to_json   s(    vyyVyyVr   c                F     | t        |d         t        |d               S )NrH   rJ   )rH   rJ   )r"   rI   r   s     r   r   z#PlayerErrorSourceLocation.from_json   s'    T&\"T&\"
 	
r   Nr9   r   r   r   rG   rG   y   s,     I
I 
 
r   rG   c                  Z    e Zd ZU dZded<   ded<   ded<   ded	<   d
ed<   d Zed        Zy)PlayerErrorz$
    Corresponds to kMediaError
    r"   
error_typerI   codez&typing.List[PlayerErrorSourceLocation]stacktyping.List[PlayerError]causer5   datac                4   t               }| j                  |d<   | j                  |d<   | j                  D cg c]  }|j	                          c}|d<   | j
                  D cg c]  }|j	                          c}|d<   | j                  |d<   |S c c}w c c}w )N	errorTyperP   rQ   rS   rT   )r5   rO   rP   rQ   r   rS   rT   )r   r   is      r   r   zPlayerError.to_json   sz    v OO[yyV.2jj99W.2jj99WyyV :9s   B"Bc                    | t        |d         t        |d         |d   D cg c]  }t        j                  |       c}|d   D cg c]  }t        j                  |       c}t        |d               S c c}w c c}w )NrV   rP   rQ   rS   rT   )rO   rP   rQ   rS   rT   )r"   rI   rG   r   rN   r5   r   r   rW   s      r   r   zPlayerError.from_json   sx    4,-T&\"CG=Qa,66q9Q59']C;((+Cd6l#
 	
 RCs   A:	A?Nr9   r   r   r   rN   rN      sE     O I 21 $# J 
 
r   rN   c                  <    e Zd ZU ded<   dZded<   d Zed        Zy)Playerr
   	player_idNz"typing.Optional[dom.BackendNodeId]dom_node_idc                    t               }| j                  j                         |d<   | j                  | j                  j                         |d<   |S )NplayerId	domNodeId)r5   r\   r   r]   r6   s     r   r   zPlayer.to_json   sJ    v>>113Z' $ 0 0 8 8 :Dr   c                     | t         j                  |d         d|v r't        j                  j                  |d               S d       S )Nr_   r`   )r\   r]   )r
   r   r   BackendNodeIdr   s     r   r   zPlayer.from_json   sP    ((j)9:JUY]J]))33D4EF
 	
cg
 	
r   )r#   r$   r%   r:   r]   r   r'   r   r   r   r   r[   r[      s,    6:K3: 
 
r   r[   c               #     K   ddi} | }yw)z"
    Enables the Media domain
    methodzMedia.enableNr   cmd_dictr   s     r   enablerg      s     
 	.H >D   
c               #     K   ddi} | }yw)z$
    Disables the Media domain.
    rd   zMedia.disableNr   re   s     r   disablerj      s     
 	/H >Drh   zMedia.playerPropertiesChangedc                  8    e Zd ZU dZded<   ded<   edd       Zy)	PlayerPropertiesChangedz
    This can be called multiple times, and can be used to set / override /
    remove player properties. A null propValue indicates removal.
    r
   r\   ztyping.List[PlayerProperty]
propertiesc           	          | t         j                  |d         |d   D cg c]  }t        j                  |       c}      S c c}w )Nr_   rm   )r\   rm   )r
   r   r<   rY   s      r   r   z!PlayerPropertiesChanged.from_json   sC    ((j)9:=A,=OP003P
 	
P   A
N)r   r   r!   rl   r#   r$   r%   r&   r:   r'   r   r   r   r   rl   rl      s'     ++
 
r   rl   zMedia.playerEventsAddedc                  8    e Zd ZU dZded<   ded<   edd       Zy)	PlayerEventsAddedz
    Send events as a list, allowing them to be batched on the browser for less
    congestion. If batched, events must ALWAYS be in chronological order.
    r
   r\   ztyping.List[PlayerEvent]eventsc           	          | t         j                  |d         |d   D cg c]  }t        j                  |       c}      S c c}w )Nr_   rs   )r\   rs   )r
   r   rB   rY   s      r   r   zPlayerEventsAdded.from_json   B    ((j)9:6:8nEK))!,E
 	
Ero   N)r   r   r!   rr   rp   r   r   r   rr   rr      s'     $$
 
r   rr   zMedia.playerMessagesLoggedc                  8    e Zd ZU dZded<   ded<   edd       Zy)	PlayerMessagesLoggedz@
    Send a list of any messages that need to be delivered.
    r
   r\   ztyping.List[PlayerMessage]messagesc           	          | t         j                  |d         |d   D cg c]  }t        j                  |       c}      S c c}w )Nr_   rx   )r\   rx   )r
   r   r1   rY   s      r   r   zPlayerMessagesLogged.from_json  sC    ((j)9::>z:JKQm--a0K
 	
Kro   N)r   r   r!   rw   rp   r   r   r   rw   rw     s'     ((
 
r   rw   zMedia.playerErrorsRaisedc                  8    e Zd ZU dZded<   ded<   edd       Zy)	PlayerErrorsRaisedz>
    Send a list of any errors that need to be delivered.
    r
   r\   rR   errorsc           	          | t         j                  |d         |d   D cg c]  }t        j                  |       c}      S c c}w )Nr_   r|   )r\   r|   )r
   r   rN   rY   s      r   r   zPlayerErrorsRaised.from_json!  ru   ro   N)r   r   r!   r{   rp   r   r   r   r{   r{     s'     $$
 
r   r{   zMedia.playerCreatedc                  .    e Zd ZU dZded<   edd       Zy)PlayerCreatedz
    Called whenever a player is created, or when a new agent joins and receives
    a list of active players. If an agent is restored, it will receive one
    event for each active player.
    r[   playerc                @     | t         j                  |d               S )Nr   )r   )r[   r   r   s     r   r   zPlayerCreated.from_json3  s!    ##DN3
 	
r   N)r   r   r!   r   rp   r   r   r   r   r   )  s     
 N
 
r   r   )r!   z0typing.Generator[T_JSON_DICT, T_JSON_DICT, None])
__future__r   utilr   r   dataclassesr   enumtyping r   r"   r
   r/   r+   r1   r<   rB   rG   rN   r[   rg   rj   rl   rr   rw   r{   r   r   r   r   <module>r      s   # * !   9s 9	: 	: 
 
 
@ 
 
 
, 
 
 
, 
 
 
. %
 %
 %
P 
 
 
( ,-

 
  .
  &'

 
  (
  )*

 
  +
 '(

 
  )
 "#

 
  $
r   