Ë
    o]jÅ  ã                   ó\   — d Z ddlmZ ddlmZ ddlmZ ddlmZ d„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zy)z&Resolve percentages into fixed values.é    )Úinfé   )Úresolve_math)Ú
check_math)Úboxesc                 óÞ   — t        | «      rt        | ||¬«      } | �| dk(  r| S | j                  j                  «       dk(  r| j                  S | j                  dk(  sJ ‚|| j                  z  dz  S )zuReturn the percentage of the reference value, or the value unchanged.

    ``refer_to`` is the length for 100%.

    )Úrefer_toÚautoÚpxú%éd   )r   r   ÚunitÚlowerÚvalue)r   Úcomputedr	   s      úP/var/www/zogu/zoguvenv/lib/python3.12/site-packages/weasyprint/layout/percent.pyÚ
percentager   
   so   € ô �%ÔÜ˜U H°xÔ@ˆØ€}˜ šØˆØ	�‰×	Ñ	Ó	˜tÒ	#Ø�{‰{Ðà�z‰z˜SÒ Ð Ð Ø˜%Ÿ+™+Ñ%¨Ñ+Ð+ó    c                 óš   — | j                   |   }t        || j                   |«      }t        | ||«       |dv r|dk(  rt        | |d«       yyy)z¨Set a used length value from a computed length value.

    ``refer_to`` is the length for 100%. If ``refer_to`` is not a number, it
    just replaces percentages.

    )Ú	min_widthÚ
min_heightr
   r   N)Ústyler   Úsetattr)ÚboxÚproperty_namer	   r   Úpercents        r   Úresolve_one_percentager      sU   € ð �I‰I�mÑ$€Eä˜ §	¡	¨8Ó4€GÜˆC� Ô(ØÐ3Ñ3¸À6Ò8IÜ��] AÕ&ð 9JÐ3r   c                 óv   — |\  }}t        | d|«       t        | d|«       t        | d|«       t        | d|«       y )NÚleftÚrightÚtopÚbottom)r   )r   Úcontaining_blockÚcb_widthÚ	cb_heights       r   Úresolve_position_percentagesr&   +   s<   € Ø*Ñ€HˆiÜ˜3 ¨Ô1Ü˜3 ¨Ô2Ü˜3  yÔ1Ü˜3 ¨)Õ4r   c                 óò  — t        |t        j                  «      r|j                  }|j                  }n|\  }}t        | t        j
                  «      r|}n|}t        | d|«       t        | d|«       t        | d|«       t        | d|«       t        | d|«       t        | d|«       t        | d|«       t        | d|«       t        | d	|«       t        | d
|«       t        | d|«       |dk(  r…| j                  d   }|dk(  st        |«      s|j                  dk(  rd| _        n0|j                  j                  «       dk(  sJ ‚|j                  | _        t        | dd«       t        | dt        «       n't        | d|«       t        | d|«       t        | d|«       | j                  d   dk(  }dD ]1  }d|› d�}|rt        | |«      rŒt        | || j                  |   «       Œ3 t        | d	«       t        | d«       y)z0Set used values as attributes of the box object.Úmargin_leftÚmargin_rightÚ
margin_topÚmargin_bottomÚpadding_leftÚpadding_rightÚpadding_topÚpadding_bottomÚwidthr   Ú	max_widthr
   Úheightr   r   r   r   Ú
max_heightÚborder_collapseÚcollapse)r!   r    r"   r   Úborder_Ú_widthN)Ú
isinstancer   ÚBoxr0   r2   ÚPageBoxr   r   r   r   r   r   r   Úhasattrr   Úadjust_box_sizing)	r   r#   r$   r%   Úmaybe_heightr2   r5   ÚsideÚprops	            r   Úresolve_percentagesr@   3   sÔ  € äÐ"¤E§I¡IÔ.à#×)Ñ)ˆØ$×+Ñ+‰	à.Ñˆ�)Ü�#”u—}‘}Ô%Ø ‰àˆÜ˜3 ¨xÔ8Ü˜3 °Ô9Ü˜3 ¨lÔ;Ü˜3 °Ô>Ü˜3 °Ô9Ü˜3 °Ô:Ü˜3 ¨|Ô<Ü˜3Ð 0°,Ô?Ü˜3 ¨Ô2Ü˜3 ¨XÔ6Ü˜3 ¨XÔ6ð �FÒð —‘˜8Ñ$ˆØ�VÒœz¨&Ô1°V·[±[ÀCÒ5GØˆC�Jà—;‘;×$Ñ$Ó&¨$Ò.Ð.Ð.ØŸ™ˆCŒJÜ˜s L°!Ô4Ü˜s L´#Õ6ä˜s H¨iÔ8Ü˜s L°)Ô<Ü˜s L°)Ô<à�y‰yÐ*Ñ+¨zÑ9€Hà2ò 0ˆØ˜˜˜fÐ%ˆñ œW S¨$Õ/Ü�C˜˜sŸy™y¨™Õ/ð0ô �c˜7Ô#Ü�c˜8Õ$r   c                 ó†  — dD ]¼  }d|› d�}| j                   |   }|\  }}d||fv rt        | |d«       Œ1|j                  d«      D ]  }|| j                  v sŒt        | |d«        Œc t	        || j                   | j                  «       «      }t	        || j                   | j                  «       «      }t        | |||f«       Œ¾ y )N)Útop_leftÚ	top_rightÚbottom_rightÚbottom_leftr6   Ú_radius)r   r   )r   r   Ú_)r   r   ÚsplitÚremove_decoration_sidesr   Úborder_widthÚborder_height)r   Úcornerr   r   ÚrxÚryr>   s          r   Úresolve_radii_percentagesrO   k   sÐ   € ØJò 2ˆØ! & ¨Ð1ˆØ—9‘9˜]Ñ+ˆØ‰ˆˆBð ˜˜R˜Ñ Ü�C˜¨Ô/Øà—L‘L Ó%ò 	2ˆDØ�s×2Ñ2Ò2Ü˜˜]¨FÔ3Ùð	2ô
 ˜B §	¡	¨3×+;Ñ+;Ó+=Ó>ˆBÜ˜B §	¡	¨3×+<Ñ+<Ó+>Ó?ˆBÜ�C˜¨¨R¨Õ1ñ#2r   c                 ó  — | j                   d   dk(  rm|dk(  r4| j                  | j                  z   | j                  z   | j                  z   }n•| j
                  | j                  z   | j                  z   | j                  z   }na| j                   d   dk(  r9|dk(  r| j                  | j                  z   }n0| j
                  | j                  z   }n| j                   d   dk(  sJ ‚d}|dkD  r›t        | |«      dk7  r$t        | |t        dt        | |«      |z
  «      «       t        | d|› �t        dt        | d|› �«      |z
  «      «       t        | d	|› �«      dk7  r+t        | d	|› �t        dt        | d	|› �«      |z
  «      «       y y y )
NÚ
box_sizingz
border-boxr0   zpadding-boxzcontent-boxr   r
   Úmax_Úmin_)r   r,   r-   Úborder_left_widthÚborder_right_widthr.   r/   Úborder_top_widthÚborder_bottom_widthÚgetattrr   Úmax)r   ÚaxisÚdeltas      r   r<   r<   €   s�  € Ø
‡y�y�Ñ ,Ò.Ø�7Š?à× Ñ  3×#4Ñ#4Ñ4Ø×%Ñ%ñ&Ø(+×(>Ñ(>ñ?ñ ð
 —‘ #×"4Ñ"4Ñ4Ø×$Ñ$ñ%Ø'*×'>Ñ'>ñ?ñ ð 
�‰�<Ñ	  MÒ	1Ø�7Š?Ø×$Ñ$ s×'8Ñ'8Ñ8‰Eà—O‘O c×&8Ñ&8Ñ8‰Eà�y‰y˜Ñ&¨-Ò7Ð7Ð7Øˆð
 ˆq‚yÜ�3˜Ó Ò'Ü�C˜œs 1¤g¨c°4Ó&8¸5Ñ&@ÓAÔBÜ��t˜D˜6�]¤C¨¬7°3¸$¸t¸f¸Ó+FÈÑ+NÓ$OÔPÜ�3˜$˜t˜f˜Ó&¨&Ò0Ü�C˜4 ˜v˜¬¨A¬w°s¸dÀ4À&¸MÓ/JÈUÑ/RÓ(SÕTð 1ð	 r   N)Ú__doc__Úmathr   Úcssr   Úcss.functionsr   Úformatting_structurer   r   r   r&   r@   rO   r<   © r   r   ú<module>rb      s4   ðÙ ,å å Ý &Ý (ò,ò"'ò 5ò5%òp2ó*Ur   