§
    ¥”jÃ  ã                   óÞ   — d dl mZ d dlmZ d dlmZ d dlZd dlmZ d dlm	Z	 d dl
mZmZmZ d dlmZ d	d
lmZmZ ddgZ ed¬¦  «         G d„ de¦  «        ¦   «         Z G d„ de¦  «        ZdS )é    )Ú	dataclass)Údatetime)ÚOptionalN)Úlayout)ÚLayoutError)ÚDEFAULT_BOX_LAYOUTÚTextBoxÚTextBoxStyle)ÚBasePdfFileWriteré   )Ú	BaseStampÚBaseStampStyleÚ	TextStampÚTextStampStyleT)Úfrozenc                   óœ   — e Zd ZU dZ e¦   «         Zeed<   	 dZee	j
                 ed<   	 dZeed<   	 dZeed<   	 d	ed
e	j        deddfd„ZdS )r   zÆ
    Style for text-based stamps.

    Roughly speaking, this stamp type renders some predefined (but parametrised)
    piece of text inside a text box, and possibly applies a background to it.
    Útext_box_styleNÚinner_content_layoutz%(ts)sÚ
stamp_textz%Y-%m-%d %H:%M:%S %ZÚtimestamp_formatÚwriterÚboxÚtext_paramsÚreturnr   c                 ó(   — t          || ||¬¦  «        S )N)r   Ústyler   r   )r   )Úselfr   r   r   s       úa/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/pyhanko/stamp/text.pyÚcreate_stampzTextStampStyle.create_stamp7   s$   € õ Ø ¨3¸Kð
ñ 
ô 
ð 	
ó    )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r
   r   Ú__annotations__r   r   r   ÚSimpleBoxLayoutRuler   Ústrr   r   ÚBoxConstraintsÚdictr   © r    r   r   r      sË   € € € € € € ðð ð $0 <¡>¤>€N�LÐ1Ð1Ñ1ðð BFÐ˜( 6Ô#=Ô>ÐEÐEÑEðð €J�ÐÐÑðð 3Ð�cÐ2Ð2Ñ2ðð
à!ð
ð Ô"ð
ð ð	
ð
 
ð
ð 
ð 
ð 
ð 
ð 
r    c                   óf   ‡ — e Zd ZdZ	 	 ddedeej                 fˆ fd„Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zˆ xZS )r   zf
    Class that renders a text stamp as specified by an instance
    of :class:`.TextStampStyle`.
    Nr   r   c                 ól   •— t          ¦   «                              |||¬¦  «         || _        d | _        d S )N)r   r   r   )ÚsuperÚ__init__r   Útext_box)r   r   r   r   r   Ú	__class__s        €r   r.   zTextStamp.__init__H   s7   ø€ õ 	‰Œ×Ò˜S¨°fÐÑ=Ô=Ð=Ø&ˆÔà+/ˆŒˆˆr    c                 ó�   — t          j        t          j        ¦   «         ¬¦  «        }d|                     | j        j        ¦  «        iS )aQ  
        Compute values for the default string interpolation parameters
        to be applied to the template string specified in the stamp
        style. This method does not take into account the ``text_params``
        init parameter yet.

        :return:
            A dictionary containing the parameters and their values.
        )ÚtzÚts)r   ÚnowÚtzlocalÚget_localzoneÚstrftimer   r   )r   r3   s     r   Úget_default_text_paramsz!TextStamp.get_default_text_paramsT   s?   € õ Œ\�WÔ2Ñ4Ô4Ð5Ñ5Ô5ˆà�"—+’+˜dœjÔ9Ñ:Ô:ð
ð 	
r    c                 ó€  — t          | j        j        | j        | j        d ¬¦  «        x| _        }|                      ¦   «         }| j        �|                     | j        ¦  «         	 | j        j	        |z  }n0# t          $ r#}t          d|j        d         › d�¦  «        ‚d }~ww xY w||_        |                     ¦   «         S )N)r   Ú	resourcesr   zStamp text parameter 'r   z' is missing)r	   r   r   r   r:   r/   r8   r   Úupdater   ÚKeyErrorr   ÚargsÚcontentÚrender)r   ÚtbÚ_text_paramsÚtextÚes        r   Ú_text_layoutzTextStamp._text_layoutc   sØ   € å$ØŒJÔ%Ø”;Ø”nØð	
ñ 
ô 
ð 	
ˆŒ˜ð ×3Ò3Ñ5Ô5ˆØÔÐ'Ø×Ò Ô 0Ñ1Ô1Ð1ð	PØ”:Ô(¨<Ñ7ˆDˆDøÝð 	Pð 	Pð 	PÝÐN°q´v¸a´yÐNÐNÐNÑOÔOÐOøøøøð	PøøøàˆŒ
ð �yŠy‰{Œ{Ðs   Á%A5 Á5
B"Á?BÂB"c                 ód   — |                       ¦   «         }| j        j        }|g|j        |j        ffS ©N)rD   r/   r   ÚwidthÚheight)r   Útext_commandsÚinn_boxs      r   Ú_inner_layout_natural_sizez$TextStamp._inner_layout_natural_sizex   s3   € à×)Ò)Ñ+Ô+ˆà”-Ô#ˆØˆ ¤°´Ð ?Ð?Ð?r    c                 ó(   — | j         j        pt          S rF   )r   r   r   )r   s    r   Ú_inner_content_layout_rulez$TextStamp._inner_content_layout_rule   s   € ØŒzÔ.ÐDÕ2DÐDr    c                 óF  — dg}|                       ¦   «         \  }\  }}|                      ¦   «         }| j        }|                     |||¦  «        }|                     |                     ¦   «         ¦  «         |                     |¦  «         |                     d¦  «         |S )Nó   qó   Q)rK   rM   r   ÚfitÚappendÚas_cmÚextend)r   Úcommand_streamÚinn_commandsÚ	inn_widthÚ
inn_heightÚinner_layoutÚbboxÚinn_positions           r   Ú_render_inner_contentzTextStamp._render_inner_content‚   s®   € Ø˜ˆð ×+Ò+Ñ-Ô-ñ	
ØñØØð ×6Ò6Ñ8Ô8ˆàŒxˆð $×'Ò'¨¨i¸ÑDÔDˆà×Ò˜l×0Ò0Ñ2Ô2Ñ3Ô3Ð3Ø×Ò˜lÑ+Ô+Ð+Ø×Ò˜dÑ#Ô#Ð#àÐr    )NN)r!   r"   r#   r$   r   r   r   r(   r.   r8   rD   rK   rM   r\   Ú__classcell__)r0   s   @r   r   r   B   s¿   ø€ € € € € ðð ð Ø/3ð
0ð 
0à!ð
0ð
 �fÔ+Ô,ð
0ð 
0ð 
0ð 
0ð 
0ð 
0ð
ð 
ð 
ðð ð ð*@ð @ð @ðEð Eð Eðð ð ð ð ð ð r    )Údataclassesr   r   Útypingr   r5   Úpyhanko.pdf_utilsr   Úpyhanko.pdf_utils.layoutr   Úpyhanko.pdf_utils.textr   r	   r
   Úpyhanko.pdf_utils.writerr   Úbaser   r   Ú__all__r   r   r*   r    r   ú<module>rf      s>  ðØ !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à €€€Ø $Ð $Ð $Ð $Ð $Ð $Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LØ 6Ð 6Ð 6Ð 6Ð 6Ð 6à +Ð +Ð +Ð +Ð +Ð +Ð +Ð +àÐ(Ð
)€ð €�$ÐÑÔð.
ð .
ð .
ð .
ð .
�^ñ .
ô .
ñ Ôð.
ðbWð Wð Wð Wð W�	ñ Wô Wð Wð Wð Wr    