
    є j                     t    d dl mZmZmZ ddlmZmZmZmZ ddl	m
Z
mZ  ed          Z G d de          ZdS )	    )AnyOptionalcast   )BooleanObject
NameObjectNumberObjectis_null_or_none)ArrayObjectDictionaryObjectFc                       e Zd Zddee         ddf fdZdedee         dee         fdZdede	ddfd	Z
dedee         dee         fd
Zdedee         deddfdZdedeee                  dee         fdZdedee         ddfdZdedee         dee         fdZdededdfdZedefd            Zddededd fdZ xZS )ViewerPreferencesNobjreturnc                     t                                          |            t          |          s'|                     |                                           	 |j        | _        d S # t          $ r Y d S w xY wN)super__init__r
   updateitemsindirect_referenceAttributeError)selfr   	__class__s     mC:\Users\Terasoftware\OneDrive\Desktop\faahhh\fyndo\fyndo\venv\Lib\site-packages\pypdf/generic/_viewerpref.pyr   zViewerPreferences.__init__*   s}    s## 	%KK		$$$	&)&<D### 	 	 	DD	s   A( (
A65A6keydefaultc                 .    |                      ||          S r   getr   r   r   s      r   	_get_boolzViewerPreferences._get_bool3       xxW%%%    vc                 H    t          |du           | t          |          <   d S )NT)r   r   r   r   r%   s      r   	_set_boolzViewerPreferences._set_bool6   s$     -a4i 8 8Z__r$   c                 .    |                      ||          S r   r   r!   s      r   	_get_namezViewerPreferences._get_name9   r#   r$   lstc                     |d         dk    rt          | d          |g k    r||vrt          | d          t          |          | t          |          <   d S )Nr   /z does not start with '/'z is an unacceptable value)
ValueErrorr   )r   r   r+   r%   s       r   	_set_namezViewerPreferences._set_name<   ss    Q43; 	=;;;<<<"9 	># 	><<<=== *1Z__r$   c                 P    |                      ||d nt          |                    S r   )r    r   r!   s      r   _get_arrzViewerPreferences._get_arrC   s'    xxWNTT+g:N:NOOOr$   c                     |$	 | t          |          = n# t          $ r Y nw xY wd S t          |t                    st	          d          || t          |          <   d S )NzArrayObject is expected)r   KeyError
isinstancer   r.   r'   s      r   _set_arrzViewerPreferences._set_arrF   s|     	C))   F![)) 	86777 !Z__s    
""c                 .    |                      ||          S r   r   r!   s      r   _get_intzViewerPreferences._get_intQ   r#   r$   c                 D    t          |          | t          |          <   d S r   )r	   r   r'   s      r   _set_intzViewerPreferences._set_intT   s     ,QZ__r$   c                      t          d          S )N/PrintScaling)r   )r   s    r   PRINT_SCALINGzViewerPreferences.PRINT_SCALINGW   s    /***r$   clsvaluec                    dt           dt          t                   dt          fd}dt           dt          t                    dt          t
                   dt          fd}dt           dt          t                   dt          fd}dt           dt          t                   dt          fd} |d	t                    | _	         |d
t                    | _
         |dt                    | _         |dt                    | _         |dt                    | _         |dt                    | _         |dg dt          d                    | _         |dddgt          d                    | _         |dg d           | _         |dg d           | _         |dg d           | _         |dg d           | _         |dg d           | _         |dg dd           | _         |dd           | _         |dd           | _         |dd           | _         |dt                                | _        t7          d t9          j        |                     S )!Nr   r   r   c           
      F     t           fd fdd d  d d          S )Nc                 0    |                                S r   )r"   r   r   r   s    r   <lambda>zCViewerPreferences.__new__.<locals>._add_prop_bool.<locals>.<lambda>^       T^^C99 r$   c                 0    |                      |          S r   )r(   r   r%   r   s     r   rC   zCViewerPreferences.__new__.<locals>._add_prop_bool.<locals>.<lambda>_   s    sA 6 6 r$   *
            Returns/Modify the status of 
, Returns  if not defined
            propertyr   r   s   ``r   _add_prop_boolz1ViewerPreferences.__new__.<locals>._add_prop_bool\   sX    999996666*- 9@  	  r$   r+   c                 P     t           fd fdd d  d d d          S )Nc                 0    |                                S r   )r*   rB   s    r   rC   zCViewerPreferences.__new__.<locals>._add_prop_name.<locals>.<lambda>j   rD   r$   c                 2    |                      |          S r   )r/   )r   r%   r   r+   s     r   rC   zCViewerPreferences.__new__.<locals>._add_prop_name.<locals>.<lambda>k   s    sC ; ; r$   rG   rH   z0 if not defined.
            Acceptable values: z
            rJ   )r   r+   r   s   ```r   _add_prop_namez1ViewerPreferences.__new__.<locals>._add_prop_namef   sk     99999;;;;;*- 9@  #  	  r$   c           
      F     t           fd fdd d  d d          S )Nc                 0    |                                S r   )r1   rB   s    r   rC   zBViewerPreferences.__new__.<locals>._add_prop_arr.<locals>.<lambda>u       T]]388 r$   c                 0    |                      |          S r   )r5   rF   s     r   rC   zBViewerPreferences.__new__.<locals>._add_prop_arr.<locals>.<lambda>v       c1 5 5 r$   rG   rH   rI   rJ   rL   s   ``r   _add_prop_arrz0ViewerPreferences.__new__.<locals>._add_prop_arrs   X    888885555*- 9@  	  r$   c           
      F     t           fd fdd d  d d          S )Nc                 0    |                                S r   )r7   rB   s    r   rC   zBViewerPreferences.__new__.<locals>._add_prop_int.<locals>.<lambda>   rT   r$   c                 0    |                      |          S r   )r9   rF   s     r   rC   zBViewerPreferences.__new__.<locals>._add_prop_int.<locals>.<lambda>   rV   r$   rG   rH   rI   rJ   rL   s   ``r   _add_prop_intz0ViewerPreferences.__new__.<locals>._add_prop_int}   rX   r$   z/HideToolbarz/HideMenubarz/HideWindowUIz
/FitWindowz/CenterWindowz/DisplayDocTitlez/NonFullScreenPageMode)/UseNonez/UseOutlinesz
/UseThumbsz/UseOCr]   z
/Directionz/L2Rz/R2Lz	/ViewAreaz	/ViewClipz
/PrintAreaz
/PrintClipr;   z/Duplex)z/Simplexz/DuplexFlipShortEdgez/DuplexFlipLongEdgez/PickTrayByPDFSizez/PrintPageRangez
/NumCopiesz/Enforcer   )strr   r   rK   listr   r   intf_objhide_toolbarhide_menubarhide_windowui
fit_windowcenter_windowdisplay_doctitlenon_fullscreen_pagemode	direction	view_area	view_clip
print_area
print_clipprint_scalingduplexpick_tray_by_pdfsizeprint_pagerange
num_copiesenforcer   r   __new__)r=   r>   rM   rQ   rW   r\   s         r   rt   zViewerPreferences.__new__[   s   	 	h}.E 	( 	 	 	 			9	/7
/C		 	 	 		s 	Xk-B 	x 	 	 	 		s 	Xc] 	x 	 	 	 	 *>.%@@)>.%@@*N?EBB'e<<*N?EBB-~.@%HH&4n$@@@z""'
 '
#
 '66*Jv,>,>
 
 '{B==&{B=='b$??'b$??*N?BEE#^RRRTX
 

 $2>2F#M#M +m,=tDD&|T::#mJ>>')9)A#)F)FGGGr$   r   )__name__
__module____qualname__r   r   r   r^   r   r"   boolr(   r   r*   r_   r/   r   r   r1   r5   r	   r7   r`   r9   rK   r<   rt   __classcell__)r   s   @r   r   r   )   sP        H%56 $      &S &8M+B &xP]G^ & & & &9S 9T 9d 9 9 9 9&S &8J+? &HZDX & & & &.S .tCy .Z .D . . . .PC P(49*= P(;BW P P P P	"C 	"H[$9 	"d 	" 	" 	" 	"&C &(<*@ &XlE[ & & & &0C 0C 0D 0 0 0 0 +z + + + X+IH IHS IH IH0C IH IH IH IH IH IH IH IHr$   r   N)typingr   r   r   _baser   r   r	   r
   _data_structuresr   r   ra   r    r$   r   <module>r~      s   :          L K K K K K K K K K K K ; ; ; ; ; ; ; ;e{H {H {H {H {H( {H {H {H {H {Hr$   