
    Bh6                         S r SSKJr  SSKJr  SSKJrJr  SSKJ	r	  SSK
Jr  SSKJr   " S	 S
5      r\S 5       rS rS rS rS rS rg)z'Absolutely positioned boxes management.   )boxes   )handle_min_max_width)resolve_percentagesresolve_position_percentages)shrink_to_fit) inline_replaced_box_width_height)table_wrapper_widthc                   F    \ rS rSrSrS rS rSS jrS rS r	S r
S	 rS
rg)AbsolutePlaceholder   zBLeft where an absolutely-positioned box was taken out of the flow.c                     [        U[        5      (       a   e[        R                  U SU5        [        R                  U SS5        g )N_box_layout_doneF)
isinstancer   object__setattr__)selfboxs     L/var/www/html/env/lib/python3.13/site-packages/weasyprint/layout/absolute.py__init__AbsolutePlaceholder.__init__   s:    c#677774-47    c                 `    [         R                  U SU5        [         R                  U SS5        g )Nr   r   T)r   r   )r   new_boxs     r   set_laid_out_box$AbsolutePlaceholder.set_laid_out_box   s&    4146r   c                     Xs=:X  a  S:X  a   g   U R                   (       a  U R                  R                  XU5        g U R                  =R                  U-  sl        U R                  =R                  U-  sl        g )N    )r   r   	translate
position_x
position_y)r   dxdyignore_floatss       r   r    AbsolutePlaceholder.translate   s\    =q= II6 II  B& II  B& r   c                     [        U R                  R                  5       5      n[        R	                  USU R
                  5        U$ )Nr   )r   r   copyr   r   r   )r   new_placeholders     r   r(   AbsolutePlaceholder.copy!   s5    -diinn.>??ND<M<MNr   c                 .    [        U R                  U5      $ N)getattrr   )r   names     r   __getattr__AbsolutePlaceholder.__getattr__'   s    tyy$''r   c                 0    [        U R                  X5        g r,   )setattrr   )r   r.   values      r   r   AbsolutePlaceholder.__setattr__*   s    		4'r   c                      SU R                   -  $ )Nz<Placeholder %r>)r   )r   s    r   __repr__AbsolutePlaceholder.__repr__-   s    !DII--r    N)r   r   F)__name__
__module____qualname____firstlineno____doc__r   r   r    r(   r/   r   r6   __static_attributes__r8   r   r   r   r      s(    L87'((.r   r   c                    U R                   R                  S L =(       d    U R                   R                  S   S:H  nU R                  U R                  -   U R                  -   U R
                  -   nSnSn	X R                  -
  n
U R                  U R                  s=:X  a  U R                  s=:X  a  S:X  ap  O  OmU R                  S:X  a  SU l
        U R                  S:X  a  SU l        UXpR                  -   U R                  -   -
  n[        XU5      U l	        U(       d  Sn	X-   nX4$ U R                  S:w  Ga&  U R                  S:w  Ga  U R                  S:w  Ga  UU R                  U R                  -   U R                  -   U-   -
  nU R                  U R                  s=:X  a  S:X  ac  O  O`U R                  U-   U R                  -   U R                  -   U::  a  US-  =U l
        U l        OcU(       a  SOUU l
        U(       a  UOSU l        OBU R                  S:X  a  Xl
        O+U R                  S:X  a  Xl        OU(       a  Xl        OXl
        U R                  U
-   nX4$ U R                  S:X  a  SU l
        U R                  S:X  a  SU l        XpR                  -   U R                  -   nU R                  U R                  s=:X  a  S:X  a<  O  O9[        XXM-
  U R                  -
  5      U l	        X@R                  -
  U-
  U
-   nSn	X4$ U R                  U R                  s=:X  a  S:X  a1  O  O.U(       d$  UXpR                  -   U R                  -   -
  nSn	X-   nX4$ U R                  U R                  s=:X  a  S:X  a5  O  O2[        XXM-
  U R                  -
  5      U l	        U R                  U
-   nX4$ U R                  S:X  a$  XJ-   U R                  U-   U R                  -   -
  nX4$ U R                  S:X  a5  X@R                  -
  U R                  -
  U-
  U l	        U R                  U
-   nX4$ U R                  S:X  a  U R                  U
-   nX4$ )N	directionltrr   FautoTr   )styleparent_stylepadding_leftpadding_rightborder_left_widthborder_right_widthr!   leftrightwidthmargin_leftmargin_rightr   )r   contextcb_xcb_ycb_width	cb_heightrA   paddings_borderstranslate_xtranslate_box_widthdefault_translate_xavailable_widthwidth_for_marginsspacings                 r   absolute_widthrZ   1   s    			$& 	5		{+u4  	3,,,	 # 6 6	7  K/
xx3993		3V3??f$COv% C".1A1AAC!'@	"&-?Kb ++a 
V			V 3		V8K$II 399,/??A??c..8&8yy++cii7#((BhN5F5JJ#"2'*!0A8;#4 __&/O'00/Ohh!44> ++; ??f$COv% C"__4s7G7GG88syy*F*%h0399<>CI"YY.8;NNK"&( ++' XX,f,"*$69I9II#K&*#1C ++ YY#))-v-%h0388;=CI((%88K ++ XX"8		G#cii/1K ++ YY&  99,sxx7'ACI((%88K ++ YY& ((%88K++r   c                    U R                   U R                  -   U R                  -   U R                  -   nSnSnX0R                  -
  n	U R
                  U R                  s=:X  a  U R                  s=:X  a  S:X  a4  O  O1U R                  S:X  a  SU l        U R                  S:X  a  SU l	        X4$ SU R
                  U R                  U R                  4;  a  UU R
                  U R                  -   U R                  -   U-   -
  n
U R                  U R                  s=:X  a  S:X  a  O  OU
S-  =U l        U l	        O4U R                  S:X  a  Xl        OU R                  S:X  a  Xl	        OXl	        U R
                  U	-   nX4$ U R                  S:X  a  SU l        U R                  S:X  a  SU l	        X`R                  -   U R                  -   nU R
                  U R                  s=:X  a  S:X  a  O  OXPR                  -
  U-
  U	-   nSnX4$ U R
                  U R                  s=:X  a  S:X  a  O  O X4$ U R                  U R                  s=:X  a  S:X  a  O  OU R
                  U	-   nX4$ U R
                  S:X  a$  XY-   U R                  U-   U R                  -   -
  nX4$ U R                  S:X  a5  XPR                  -
  U R
                  -
  U-
  U l        U R
                  U	-   nX4$ U R                  S:X  a  U R
                  U	-   nX4$ )Nr   FrB   r   T)
padding_toppadding_bottomborder_top_widthborder_bottom_widthr"   topbottomheight
margin_topmargin_bottom)r   rN   rO   rP   rQ   rR   rS   translate_ytranslate_box_heightdefault_translate_yheight_for_marginsrY   s               r   absolute_heightri   |   s    	#,,,	"66	7  K /
ww#**4

4f4>>V#CN& !CH  ,,G 
SZZ8	8&GGcjj 3::-0@@B>>S..8&81Ca1GGCNS.^^v%/N&( 2 2gg 330  ,,- >>V#CN& !C"^^3c6G6GG77cjj*F*JJ&03FF #'   ,, WW

,f,  ,, ZZ3:://''$77K  ,, WW#9

W$szz13K  ,, ZZ6!"ZZ/#''9GCCJ''$77K  ,, ZZ6!''$77K,,r   c
                    SSK Jn
  SSKJn  SSKJn  [        XXgX5      u  pU(       a  Su  nnO[        XXgX5      u  nnXO(       a  UR                  * OU-  n/ nUR                  (       a  [        XX45        [        U[        R                  5      (       a  U
" XXESUUS SS S9
u  nn      nOb[        U[        R                  5      (       a  U" XXEUSUUSS	9	u  nn    nO0[        U[        R                  5      (       a  U" XXEUSUUS
9u  nn    nU H  n[!        U UWX4S S9  M     U(       a  UWR"                  -  nU(       a  UWR$                  -  nWR'                  UU5        UW4$ )Nr   )block_container_layout)flex_layout)grid_layout)Fr   TF)page_is_emptyabsolute_boxesfixed_boxesadjoining_marginsdiscard	max_lines)rn   ro   rp   rr   )rn   ro   rp   )
skip_stack)blockrk   flexrl   gridrm   rZ   ri   r"   is_table_wrapperr
   r   r   BlockBoxFlexContainerBoxGridContainerBoxabsolute_layoutrK   rb   r    )rN   r   containing_blockrp   bottom_spacert   rO   rP   rQ   rR   rk   rl   rm   rU   rT   rf   re   ro   r   	resume_at_child_placeholders                         r   absolute_blockr      s   -!!'5d((7$,4)k,;$h-;)k ';S^^OLL N
G8*?@#(()?,$){"ET*C&Aq!Q 
C%00	2	2&1,4D~#U'4#Aq! 
C%00	2	2&1,4D~#'%#Aq!
 ,&	 ,
 w}}$w~~%k;/Ir   c                     UR                   (       a   eUR                  n[        XX#XE5      u  pxUR                  U5        U(       a  XbU4U R                  U'   gg)z-Set the width of absolute positioned ``box``.N)r   r   absolute_box_layoutr   broken_out_of_flow)	rN   placeholderr}   rp   r~   rt   r   r   r   s	            r   r|   r|      sa     ''''


C,&\OG  )93."";/ r   c                 0   [        U[        R                  5      (       a9  UR                  5       nUR	                  5       nUR
                  nUR                  n	O@UR                  5       nUR                  5       nUR                  5       nUR                  5       n	[        XU	45        [        XU	45        U R                  5         [        U[        R                  5      (       a  [        XXgX5      n
S nO[!        XX#UXVXxU	5
      u  pU R#                  U
5        X4$ r,   )r   r   PageBoxcontent_box_xcontent_box_yrK   rb   padding_box_xpadding_box_ypadding_widthpadding_heightr   r   create_block_formatting_contextBlockReplacedBoxabsolute_replacedr   finish_block_formatting_context)rN   r   r}   rp   r~   rt   rO   rP   rQ   rR   r   r   s               r   r   r      s    "EMM22--/--/#))$++	--/--/#113$335		23 &;<++-#u--..#$h;	 ,*di9 ++G4r   c                 4   [        XX4U45        UR                  R                  S L =(       d    UR                  R                  S   S:H  nUR                  UR                  s=:X  a  S:X  a5  O  O2U(       a  UR
                  U-
  Ul        OX$-   UR
                  -
  Ul        SUR                  UR                  4;   a  UR                  S:X  a  SUl        UR                  S:X  a  SUl        XAR                  5       -
  nUR                  S:X  a  XqR                  -
  Ul        UR                  S:X  a  XqR                  -
  Ul        GOSUR                  UR                  4;   a  XAR                  5       UR                  -   UR                  -   -
  nUR                  UR                  s=:X  a  S:X  a<  O  O9US:  a  US-  =Ul        Ul        OU(       a  SOUUl        U(       a  UOSUl        OnUR                  S:X  a  Xql        OWXql        OPU(       a%  XAR                  5       UR                  -   -
  Ul        O$XAR                  5       UR                  -   -
  Ul        UR                  UR                  s=:X  a  S:X  a  O  OUR                  U-
  Ul
        SUR                  UR                  4;   a  UR                  S:X  a  SUl        UR                  S:X  a  SUl        XQR                  5       -
  nUR                  S:X  a  XqR                  -
  Ul
        UR                  S:X  a  XqR                  -
  Ul        OSUR                  UR                  4;   a  XQR!                  5       UR                  -   UR                  -   -
  nUR                  UR                  s=:X  a  S:X  a  O  OUS-  =Ul        Ul        OBUR                  S:X  a  Xql        O+Xql        O$XQR                  5       UR                  -   -
  Ul        X!R                  -   Ul        X1R                  -   Ul        U$ )Nr@   rA   rB   r   r   )r	   rC   rD   rI   rJ   r!   rL   rM   margin_widthborder_widthr`   ra   r"   rc   rd   margin_heightborder_height)rN   r   rO   rP   rQ   rR   rA   	remainings           r   r   r     s?   $S*KL		$& 	5		{+u4 
 xx399&&~~,CH#..8CI#((CII&&??f$COv% C//11	88v 99,CH99!HH,CI	COOS%5%56	6 0 0 2SXX =		 IJ	??c..8&8A~5>!^C#"2'*!	039 __&'O(  $4$4$6$ABCI#3#3#5		#ABCH ww#**&&..4'#''3::&&>>V#CN& !C 1 1 33	77f**,CG::"WW,CJ	CNNC$5$56	6!2!2!4sww!>!KL	>>S..8&81:a?CNS.^^v%&N ) "3"3"5"?@
 HH_CNGG^CNJr   N)r=   formatting_structurer   min_maxr   percentr   r   	preferredr   replacedr	   tabler
   r   rZ   ri   r   r|   r   r   r8   r   r   <module>r      sY    - ( ) F $ 6 &#. #.L G, G,T2-j1h
.@Fr   