
    RjW                        d dl Z d dlmZ d dlmZmZmZ ddlmZm	Z	m
Z
 erddlmZ ddlmZ  G d d	e          Z G d
 de          Z G d de          Z G d de          Z G d de          Z G d de          ZdS )    N)ABC)TYPE_CHECKINGOptionalUnion   )	PDFStringbuild_obj_dictcreate_dictionary_string)StandardSecurityHandler)Destinationc            	           e Zd Zdded          ddfdZ	 	 dded         dee         defdZ	 	 	 dd	eeee	f                  ded         dee         defd
Z
dS )ActionNnext_actionreturnc                     || _         dS )zz
        Args:
            next (PDFObject | str): optional reference to another Action to trigger after this one
        N)next)selfr   s     M/usr/local/lib/hermes-agent/venv/lib/python3.11/site-packages/fpdf/actions.py__init__zAction.__init__   s    
  			    _security_handlerr   _obj_idc                     t           N)NotImplementedError)r   r   r   s      r   	serializezAction.serialize   s
    
 "!r   
key_valuesc                 p    |i }| j         r
| j         |d<   t          |||          }t          |d          S )NNext )
field_join)r   r	   r
   )r   r   r   r   obj_dicts        r   
_serializezAction._serialize   sJ     J9 	+!%Jv!*.?II'SAAAAr   r   NN)NNN)__name__
__module____qualname__r   r   intstrr   dictobjectr#    r   r   r   r      s           HX$6  $         BF!%" "#$=>" #" 
	" " " " 37AE!%	B BT#v+./B $$=>B #	B
 
B B B B B Br   r   c                   p     e Zd Zd
dedee         ddf fdZ	 	 dded         dee         def fd	Z xZ	S )	URIActionNurir   r   c                 X    t                                          |           || _        d S r   )superr   r/   )r   r/   r   	__class__s      r   r   zURIAction.__init__*   s&    %%%r   r   r   r   c                 z    t                                          dt          | j        d          d||          S )Nz/URITencrypt)su_r_ir   r   )r1   r#   r   r/   r   r   r   r2   s      r   r   zURIAction.serialize.   sF    
 ww!!9TXt#D#D#DEE/ " 
 
 	
r   r   r$   
r%   r&   r'   r)   r   r   r   r(   r   __classcell__r2   s   @r   r.   r.   )   s         C hv.> $       BF!%	
 	
#$=>	
 #	
 
		
 	
 	
 	
 	
 	
 	
 	
 	
 	
r   r.   c                   p     e Zd Zd
dedee         ddf fdZ	 	 dded         dee         def fd	Z xZ	S )NamedActionNaction_namer   r   c                     t                                          |           |dvrt          j        d           || _        d S )N)NextPagePrevPage	FirstPageLastPagezNon-standard named action added)r1   r   warningswarnr?   )r   r?   r   r2   s      r   r   zNamedAction.__init__;   sF    %%%OOOM;<<<&r   r   r   r   c                 b    t                                          dd| j         d||          S )Nz/Named/)r6   nr8   )r1   r#   r?   r9   s      r   r   zNamedAction.serializeA   sC    
 ww!!!7T%5!7!788/ " 
 
 	
r   r   r$   r:   r<   s   @r   r>   r>   :   s        ' 'C 'hv6F 'RV ' ' ' ' ' ' BF!%	
 	
#$=>	
 #	
 
		
 	
 	
 	
 	
 	
 	
 	
 	
 	
r   r>   c                        e Zd Z	 ddeedf         dee         ddf fdZ	 	 dded         d	ee         def fd
Z	 xZ
S )
GoToActionNdestr   r   r   c                     t                                          |           t          |t                    r.|                    d          rt          |dd          d          }|| _        d S )N#r   Tr4   )r1   r   
isinstancer)   
startswithr   rL   )r   rL   r   r2   s      r   r   zGoToAction.__init__N   sg     	%%%dC   	5T__S%9%9 	5T!""Xt444D			r   r   r   r   c                 \    t                                          d| j        d||          S )Nz/GoTo)r6   dr8   )r1   r#   rL   r9   s      r   r   zGoToAction.serializeV   s9    
 ww!!	**/ " 
 
 	
r   r   r$   )r%   r&   r'   r   r)   r   r   r   r(   r   r;   r<   s   @r   rK   rK   M   s        OS #},-<DV<L	      BF!%	
 	
#$=>	
 #	
 
		
 	
 	
 	
 	
 	
 	
 	
 	
 	
r   rK   c            	       v     e Zd Z	 ddedddee         ddf fdZ	 	 dded	         d
ee         def fdZ xZ	S )GoToRemoteActionNfilerL   r   r   r   c                 f    t                                          |           || _        || _        d S r   )r1   r   rU   rL   )r   rU   rL   r   r2   s       r   r   zGoToRemoteAction.__init__c   s/     	%%%				r   r   r   r   c                     t                                          dt          | j        d          | j        d||          S )Nz/GoToRTr4   )r6   frR   r8   )r1   r#   r   rU   rL   r9   s      r   r   zGoToRemoteAction.serializej   sJ    
 ww!!49d!C!C!C$)TT/ " 
 
 	
r   r   r$   r:   r<   s   @r   rT   rT   b   s        NR ,;CF;K	      BF!%	
 	
#$=>	
 #	
 
		
 	
 	
 	
 	
 	
 	
 	
 	
 	
r   rT   c                   t     e Zd ZdZddedee         ddf fdZ	 	 dded         d	ee         def fd
Z	 xZ
S )LaunchActionzTAs of 2022, this does not seem honored by neither Adobe Acrobat nor Sumatra readers.NrU   r   r   c                 X    t                                          |           || _        d S r   )r1   r   rU   )r   rU   r   r2   s      r   r   zLaunchAction.__init__y   s&    %%%			r   r   r   r   c                 z    t                                          dt          | j        d          d||          S )Nz/LaunchTr4   )r6   rX   r8   )r1   r#   r   rU   r9   s      r   r   zLaunchAction.serialize}   sF    
 ww!!)DIt"D"D"DEE/ " 
 
 	
r   r   r$   )r%   r&   r'   __doc__r)   r   r   r   r(   r   r;   r<   s   @r   rZ   rZ   v   s        ZZ S x/? 4       BF!%	
 	
#$=>	
 #	
 
		
 	
 	
 	
 	
 	
 	
 	
 	
 	
r   rZ   )rE   abcr   typingr   r   r   syntaxr   r	   r
   
encryptionr   r   r   r.   r>   rK   rT   rZ   r,   r   r   <module>rb      s          1 1 1 1 1 1 1 1 1 1 G G G G G G G G G G $333333######B B B B BS B B B:
 
 
 
 
 
 
 
"
 
 
 
 
& 
 
 
&
 
 
 
 
 
 
 
*
 
 
 
 
v 
 
 
(
 
 
 
 
6 
 
 
 
 
r   