+
    	i؉                     6   R t ^ RIt^ RIHt ^ RIHt ^RIHt ^RIH	t	 ^RI
Ht ^RIHt ^RIHtHt ^R	IHt R
 tR R ltR R ltR tR tR!R ltR!R ltR R ltR R ltR"R ltR#R ltR tR tR R lt R$R lt!R t"R R lt#R R lt$R R lt%R R lt&R R lt'R t(R# )%a  Preferred and minimum preferred width.

Also known as max-content and min-content width, also known as the
shrink-to-fit algorithm.

Terms used (max-content width, min-content width) are defined in David
Baron's unofficial draft (https://dbaron.org/css/intrinsic/).

N)cache)inf)resolve_math)
check_math)validate_non_shorthand)boxes)can_break_textsplit_first_line)default_image_sizingc           
     Z    \        \        \        WRR7      V4      \        WRR7      4      # )zReturn the shrink-to-fit width of ``box``.

*Warning:* both available_content_width and the return value are
for width of the *content area*, not margin area.

https://www.w3.org/TR/CSS21/visudet.html#float-width

Fouter)minmaxmin_content_widthmax_content_width)contextboxavailable_content_widths   &&&a/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/weasyprint/layout/preferred.pyshrink_to_fitr      s2     g%8#	% 	'e4	6 6    c                8   VP                   '       d   \        WV4      ^ ,          # \        V\        P                  4      '       d   \        WV4      # \        V\        P                  \        P                  34      '       d   \        WV4      # \        V\        P                  4      '       d   \        W4      # \        V\        P                  \        P                  34      '       d   \        WVRR7      # \        V\        P                  4      '       d   \        W4      # \        V\        P                   4      '       d   \#        WV4      # \        V\        P$                  4      '       d   \        WV4      # \'        R\)        V4      P*                   R24      h)zkReturn the min-content width for ``box``.

This is the width by breaking at every line-break opportunity.

Tis_line_startzmin-content width for  not handled yet)is_table_wrapper"table_and_columns_preferred_widths
isinstancer   TableCellBoxtable_cell_min_content_widthBlockContainerBoxTableColumnBoxblock_min_content_widthTableColumnGroupBoxcolumn_group_content_width	InlineBoxLineBoxinline_min_content_widthReplacedBoxreplaced_min_content_widthFlexContainerBoxflex_min_content_widthGridContainerBox	TypeErrortype__name__r   r   r   s   &&&r   r   r   '   s3    1'FqII	C++	,	,+G%@@	C%1153G3GH	I	I&wU;;	C22	3	3)'77	C%//5==9	:	:'e4PP	C**	+	+)#55	C//	0	0%gE::	C//	0	0&wU;;0c1C1C0DDTUVVr   c                F   VP                   '       d   \        WV4      ^,          # \        V\        P                  4      '       d   \        WV4      ^,          # \        V\        P                  \        P                  34      '       d   \        WV4      # \        V\        P                  4      '       d   \        W4      # \        V\        P                  \        P                  34      '       d   \        WVRR7      # \        V\        P                  4      '       d   \        W4      # \        V\        P                   4      '       d   \#        WV4      # \        V\        P$                  4      '       d   \        WV4      # \'        R\)        V4      P*                   R24      h)zfReturn the max-content width for ``box``.

This is the width by only breaking at forced line breaks.

Tr   zmax-content width for r   )r   r   r   r   r    table_cell_min_max_content_widthr!   r"   block_max_content_widthr$   r%   r&   r'   inline_max_content_widthr)   replaced_max_content_widthr+   flex_max_content_widthr-   r.   r/   r0   r1   s   &&&r   r   r   B   s8    1'FqII	C++	,	,/eDQGG	C%1153G3GH	I	I&wU;;	C22	3	3)'77	C%//5==9	:	:'e4PP	C**	+	+)#55	C//	0	0%gE::	C//	0	0&wU;;0c1C1C0DDTUVVr   c           	     b   VP                   R,          pVR8X  g#   \        V4      '       g   VP                  R8X  dS   VP                   Uu. uF%  pVP	                  4       '       d   K  V! WRR7      NK'  	  ppV'       d   \        V4      M^ pEMVP                   R,          R8X  d   VP                  pEMkVP                  p^ pR F  pVP                   V,          p	V	R8w  g   K  \        V	4      '       d   K2  V	P                  P                  4       R8X  d   WIP                  ,          pKe  V	P                  R8X  g   Q hWyP                  ,          pK  	  VP                   R	,          R
8H  p
V
'       d&   \        VR4      '       d   WAP                  ,          pMWAP                   R,          ,          pV
'       d&   \        VR4      '       d   WAP                  ,          pMWAP                   R,          ,          p^d\        ^dV4      ,
          \        ^ V4      ,          ^d,          p\        WV4      # u upi )z+Helper to create ``block_*_content_width.``widthauto%Tr   
box_sizingzcontent-boxpxborder_collapsecollapseborder_left_widthborder_right_width)padding_leftpadding_right)styler   unitchildrenis_absolutely_positionedr   valuelowerhasattrr@   rA   r   adjust)r   r   functionr   r9   childchildren_widthspercentagesrH   style_valuer?   s   &&&&       r   _block_content_widthrQ   ]   s   IIgE*U++uzzS/@
 ?Bll5>JU113 1HW40l 	 5 )8O$Q	<	 M	16E))E*Kf$Z-D-D##))+t3...E&++s222#4#44K 7 99./:=%899***EYY233E%9::+++EYY344Es3,,Au=C#e$$?5s   H,(H,c                x   V P                   R,          pV P                   R,          p\        V4      p\        V4      pVR8X  g   V'       g   VP                  R8X  d   ^ pMVP                  pVR8X  g   V'       g   VP                  R8X  d   \        pMVP                  p\        V \        P                  4      '       d   V P                  P                  ^V P                   R,          4      w   rgVe   V P                   R,          pV P                   R,          p	\        V4      p\        V	4      pVR8w  d6   V'       g.   VP                  R8w  d   \        W(P                  V,          4      pV	R8w  d6   V'       g.   V	P                  R8w  d   \        W9P                  V,          4      p\        V\        W4      4      # )z;Get box width from given width and box min- and max-widths.	min_width	max_widthr:   r;   	font_size
min_height
max_height)rD   r   rE   rH   r   r   r   r)   replacementget_intrinsic_sizer   r   )
r   r9   rS   rT   min_pendingmax_pending_ratiorV   rW   s
   &&        r   min_maxr^      sM   		+&I		+&IY'KY'KFkY^^s-B	OO	FkY^^s-B	OO	#u(())oo88syy%'1<0J<0J$Z0K$Z0KV#KJOOs<R	+;+;e+CD	V#KJOOs<R	+;+;e+CD	y#e/00r   c                   ^ pV'       d   RR.M. V'       d   RR.M. ,            F  pV P                   V,          pVR8w  g   K  \        V4      '       d   K2  VP                  P                  4       R8X  d   WP                  ,          pKe  VP                  R8X  g   Q hWFP                  ,          pK  	  V P                   R,          R	8H  pV'       dG   V'       d&   \        V R
4      '       d   WP                  ,          pMWP                   R
,          ,          pV'       dG   V'       d&   \        V R4      '       d   WP                  ,          pMWP                   R,          ,          pV^d8  d   V^V^d,          ,
          ,          # ^ # )z3Add box paddings, borders and margins to ``width``.margin_leftrB   margin_rightrC   r:   r=   r;   r>   r?   r@   rA   )rD   r   rE   rI   rH   rJ   r@   rA   )r   r9   leftrightrO   rH   rP   r?   s   &&&&    r   margin_widthrd      sB   K -1-	(b.3./	*	= 	= 	 ii&& K)@)@%%'4/***"''3...000	= yy*+z9H%899 ***E YY233E%9::+++E YY344ESK#--.. r   c                D    \        W4      pV'       d   \        WW44      # V# )zRespect min/max and adjust width depending on ``outer``.

If ``outer`` is set to ``True``, return margin width, else return content
width.

)r^   rd   )r   r   r9   rb   rc   fixeds   &&&&& r   rK   rK      s#     CEC44r   c                $    \        W\        V4      # )z0Return the min-content width for a ``BlockBox``.)rQ   r   r1   s   &&&r   r#   r#      s    '0 0r   c                $    \        W\        V4      # )z0Return the max-content width for a ``BlockBox``.)rQ   r   r1   s   &&&r   r4   r4      s    .?GGr   c           
     t    \        WW%RW4R7      pV'       d   \        V4      M
\        V4      p\        WV4      # )zReturn the min-content width for an ``InlineBox``.

The width is calculated from the lines from ``skip_stack``. If
``first_line`` is ``True``, only the first line minimum width is
calculated.

T)minimum
skip_stack
first_line)inline_line_widthsnextr   rK   )r   r   r   rk   rl   r   widthsr9   s   &&&&&&  r   r(   r(      s8      eD6F 'DLCKE#e$$r   c           
         \        \        WW#RR7      4      pVR;;,          \        W4      ,          uu&   \        W\	        V4      4      # )z2Return the max-content width for an ``InlineBox``.F)rj   )listrm   trailing_whitespace_sizerK   r   )r   r   r   r   ro   s   &&&& r   r5   r5      s@    7uMOF 2J*788J#c&k**r   c                    VP                   R,          pVR8X  g#   \        V4      '       g   VP                  R8X  d   ^ pM-VP                  P                  4       R8X  g   Q hVP                  p\        VRV4      # )z9Return the *-content width for a ``TableColumnGroupBox``.r9   r:   r;   r=   F)rD   r   rE   rI   rH   rK   )r   r   r9   s   && r   r%   r%     sd    IIgE*U++uzzS/@zz!T)))#ue$$r   c                    VP                    Uu. uF&  pVP                  4       '       d   K  \        W4      NK(  	  pp\        TTV'       d   \	        V4      4      pV# ^ 4      pV# u upi )z4Return the min-content width for a ``TableCellBox``.)rF   rG   r   rK   r   )r   r   r   rM   rN   children_min_widths   &&&   r   r    r      s{     \\1!E--/ 	*')!  1   /O8
  678
 1s
   A%A%c                L    \        WV4      p\        V\        WV4      4      pW43# )z=Return the min- and max-content width for a ``TableCellBox``.)r    r   r4   )r   r   r   rS   rT   s   &&&  r   r3   r3   %  s-     -W5AII6wUKLIr   c              #  B	  "   ^ p\        V\        P                  4      '       d   VP                  R,          p\	        V4      '       dZ   \        WP                  R^ R7      p	\        V	3R4      ^ ,          ^,          p
V
'       d   V
P                  R8w  d   V
P                  pM.VP                  R8w  d   VP                  R,          P                  p^ pVf   ^ pMVP                  4       w  w  rVP                  VR  EF  pVP                  4       '       d   K  \        V\        P                  4      '       d   \        WW#WEV4      pV'       d   \        V4      ;'       g    R.pMV Uu. uF  q;'       g    RNK  	  pp\        V4      ^8X  d#   \!        YV^ ,          ;'       g    ^ 4      V^ &   EMY\!        YV^ ,          ;'       g    ^ RR7      ;'       g    RV^ &   \!        YVR,          ;'       g    ^ RR7      ;'       g    RVR&   EM\        V\        P"                  4      '       Ed   VP                  R	,          pVR9   pVR9   pVf   ^ pMVP                  4       w  w  rVe   Q hVP$                  P'                  4       T;'       g    ^ R pV'       d   V'       d   VP)                  R
4      pV'       d   ^ MRp. p^ ;ppVen   VV,          p\+        VVR P-                  4       VP                  V VVP.                  VRR7      w   ppp pTP1                  T;'       g    R4       V'       g   Kp   V'       d%   V'       d   Y^ ,          ;'       g    ^ ,          p EM-VP-                  4       RR p\3        VR,           VP                  R,          4      pV'       d"   V'       d   V'       d   VP1                  R4       MHV'       d5   VP                  R	,          R9   d   R\5        W4      R.pM\5        W4      .pM\7        W4      .pY^ ,          ;'       g    ^ ,          p\        V4      ^8  dJ   W,           x  ^ p\        V4      ^8  d   V^R  F  pT;'       g    ^ x  K  	  VR,          ;'       g    ^ pVR,          RJ pRpEK  	  W,           x  R# u upi 5i)zYield line width for each line.text_indent)refer_toztext-indentr;   NF)rc   )rb   white_space    T)r   rj   alangrq   normalnowrappre-line)r   zpre-wrapr   )r   r   r'   rD   r   r   r   rE   rH   itemsrF   rG   r&   rm   rn   lenrK   TextBoxtextencodelstripr	   decodejustification_spacingappendr   r   r   )r   r   r   r   rj   rk   rl   ry   indent_tokenresultrH   current_lineskiprM   linesliner{   space_collapse	text_wrap
child_textrT   resume_indexnew_resume_indexr\   r9   last_letter	can_breaks   &&&&&&&                    r   rm   rm   -  s    
 K#u}}%%yy/l##!,		=STUF*F9mDQGJEs*#kk#%))M288K L(..0de$))++ eU__--&g:WEe,,-278%$%85zQ!%aA>a!%aAUKSSta"5raeLTTPTb	u}}--++m4K(,LLN#'III!&0&6&6&8#"!)))**,diia\:J'..t4
$$IE.//L+". 006F|}-446Wi//} 7"31&q! U]]d+:.aA-$++-bc2K&{S'8%++f:MNI9T"  99]+/QQ!#4W#DdKE.w>?E*7:;aA%u:>,,K5zA~!!BKD))!O ( 9>>Lb	T)
q %r 
$$Y 9s   ER 	R)R6R='R%!RR+RBRRR!R:A(R#R4R=RRAR(R0R
ARAR R9&Rc                   V P                   R,          pVR8w  d/   \        V4      '       g   VP                  R8X  d   VP                  M^ pV P                   R,          pVR8w  d/   \        V4      '       g   VP                  R8X  d   VP                  M\        pV P                   R,          pVR8w  d/   \        V4      '       g   VP                  R8X  d   VP                  M^ p\        V\        W24      4      # )zvReturn the percentage contribution of a cell, column or column group.

https://dbaron.org/css/intrinsic/#pct-contrib

rS   r:   r;   rT   r9   )rD   r   rE   rH   r   r   r   )r   rS   rT   r9   s   &   r   _percentage_contributionr     s     		+&I$.y!!inn&; 	AB  		+&I$.y!!inn&; 	AD  IIgEu%**"3 	9: 
 y#e/00r   c                  a=a> ^RI Hp VP                  4       pV P                  P	                  V4      pV'       d	   WR,          # ^ ^ rv^ pVP
                   Fu  p	V	P
                   Fb  p
V
P
                   FF  p\        VP                  VP                  ,           V4      p\        WP                  ,           V4      pKH  	  V^,          pKd  	  Kw  	  \        V4       Uu. uF  pR.V,          NK  	  pp^ pVP
                   FG  p	V	P
                   F4  p
V
P
                   F  pWV,          VP                  &   K  	  V^,          pK6  	  KI  	  \        \        V!  4      pVP                  R,          R8X  d]   V^ 8  dV   VP                  R,          ^ ,          ^\        V Uu. uF  p\        V4      '       g   K  VNK  	  up4      ,           ,          pM^ pV^ 8X  g   V^ 8X  d   . Vn        \!        WRR7      p\#        WRR7      p\%        VR\!        W4      R	7      p\%        VR\#        W4      R	7      p. . . . V. 3pRVV.VO5RVV.VO5/;V P                  V&   pWR,          # R.V,          pR.V,          p^ pVP&                   F4  pVP
                   F  pVVV&   VVV&   V^,          pVV8X  g   K   M	  K4   M	  . p\)        4       p^ .V,          p^ .V,          o>^ .V,          o=\        V4       EF9  pVV3 Fu  pVV,          ;p'       g   K  \        VV,          \+        V V4      4      VV&   \        S>V,          \-        V V4      4      S>V&   \        S=V,          \/        V4      4      S=V&   Kw  	  W,           F  pV'       g   K  VP                  ^8X  d\   \1        W4      w  pp\        VV,          V4      VV&   \        S>V,          V4      S>V&   \        S=V,          \/        V4      4      S=V&   Ky  VP3                  V4       VP5                  VP                  ^,
          4       K  	  EK<  	  . p\7        V4       FK  w  pp
Rp VP3                  . ;p!4       \7        V
4       F!  w  p"pV'       d   T"p V!P3                  V 4       K#  	  KM  	  \8        V=V>3R
 l4       p#\;        V4       F  p$. p%\        V4       F  pS=V,          ;p&'       d   V%P3                  V&4       K'  \        VV4       FU  w  p
p!V!V,          ;p f   K  V
V ,          p'V'P                  ^,
          V$8w  d   K8  V#! V'V S>V,          4      p(\        V&V(4      p&KW  	  V%P3                  V&4       K  	  V%o=K  	  \        V4       Uu. uF  pRNK  	  p)p\        V4       EF+  pVV,          '       dK   VV,          P                  R,          p*V*R8w  d*   \=        V*4      '       g   V*P>                  R8w  d   RV)V&   K]  VV,          '       dK   VV,          P                  R,          p*V*R8w  d*   \=        V*4      '       g   V*P>                  R8w  d   RV)V&   K  W,           Fi  pV'       g   K  VP                  ^8X  g   K   VP                  R,          p*V*R8w  g   K<  \=        V*4      '       d   KO  V*P>                  R8w  g   Kb  RV)V&    EK)  	  EK.  	  \7        S=4       UU+u. uF%  w  pp+\A        V+^d\C        S=RV 4      ,
          4      NK'  	  up+po=V EF  p\+        W4      p,\-        W4      p-\E        VP                  VP                  VP                  ,           4      p.\C        VV.,          4      p/\C        S>V.,          4      p0VP                  R,          R8X  d4   VP                  ^,
          VP                  R,          ^ ,          ,          p1M^ p1V,V/V1,           8  d   V,V/V1,           ,
          p2V! WV2VV)S=S>V.4       V-V0V1,           8  g   K  V-V0V1,           ,
          p2V! WV2S>V)S=S>V.4       EK  	  \        V4       Uu. uF2  pS=V,          '       g   K  S>V,          S=V,          ^d,          ,          NK4  	  p3p\C        V=V>3R l\        V4       4       4      p4^d\C        S=4      ,
          ^d,          p5V5^ 8X  d   V4^ 8X  d   ^ p6M\F        PH                  p6M	V4V5,          p6V\C        V4      ,           p7V\        \C        S>4      V6.V3O4      ,           p8VP                  R,          p*V*R8w  dQ   \=        V*4      '       g@   V*P>                  PK                  4       R8X  d!   VP                  R,          PL                  ;p9p:MT7p9T8p:\        V7\%        VRV9R	7      4      p7\        V8\%        VRV:R	7      4      p8\O        V\O        VV74      4      p;\O        V\O        VV84      4      p<VS>S=V)VV3pRV7V8.VO5RV;V<.VO5/;V P                  V&   pWR,          # u upi u upi u upi u up+pi u upi )aH  Return content widths for the auto layout table and its columns.

The tuple returned is
``(table_min_content_width, table_max_content_width,
   column_min_content_widths, column_max_content_widths,
   column_intrinsic_percentages, constrainedness,
   total_horizontal_border_spacing, grid)``

https://dbaron.org/css/intrinsic/

)distribute_excess_widthNr>   separateborder_spacingFr   T)r   r9   c                   < \        WV P                  ,           4      p\        SV,          4      p\        V 4      p\	        ^ WT,
          4      p\        WV P                  ,           4       Uu. uF  pSV,          ^ 8X  g   K  SV,          NK  	  pp\        V4      p	V	^ 8X  d%   ^\        V4      ;'       g    ^,          p
Wj,          # W),          p
Wj,          # u upi )    )slicecolspansumr   r   ranger   )origin_celloriginr   
cell_slicebaseline_percentagecell_percentage_contributiondiffjother_columns_contributionsother_columns_contributions_sumr]   intrinsic_percentagesmax_content_widthss   &&&        r   get_percentage_contributionGtable_and_columns_preferred_widths.<locals>.get_percentage_contribution.  s     6K,?,?#?@
!"7
"CD'?'L$12HI 6K,?,?#?@'.@$Q'1, "q!!@ 	$ '. +..I*J'*a/89>>Q?E | &GE|'.s   +C Cr9   r:   r;   c              3   V   <"   T F  pSV,          ^ 8X  g   K  SV,          x  K   	  R# 5i)r   N ).0ir   r   s   & r   	<genexpr>5table_and_columns_preferred_widths.<locals>.<genexpr>  s0      2*'8! #q( 	1'8s   ))r=   )(tabler   get_wrapped_tabletablesgetrF   r   grid_xr   rowspanr   rr   ziprD   r   anyr#   r4   rK   column_groupssetr   r   r   r3   r   add	enumerater   sortedr   rE   r   r   r   sysmaxsizerI   rH   rd   )?r   r   r   r   r   r   
grid_widthgrid_height
row_number	row_grouprowcellr   gridzipped_gridcolumntotal_horizontal_border_spacingrS   rT   outer_min_widthouter_max_widthr   columnscolumn_numbercolumn_groupcolspan_cellscolspansmin_content_widthsgroupsgrouprows_originsyr   row_originsxr   spanpercentage_contributionspercentage_contributionr   r   constrainednessr9   
percentagemin_contentmax_contentcolumn_slicecolumns_min_contentcolumns_max_contentspacingexcess_widthsmall_percentage_contributions'large_percentage_contribution_numerator)large_percentage_contribution_denominatorlarge_percentage_contributiontable_min_content_widthtable_max_content_widthtable_min_widthtable_max_widthtable_outer_min_content_widthtable_outer_max_content_widthr   r   s?   &&&                                                          @@r   r   r     s
    /!!#E^^&F}  J^^	%%C t||!;ZH
!*||";[I % !OJ	 & $ */{);<);ATFZ);D<J^^	%%C04Z - %!OJ & $ sDz"K {{$%3
QKK()!,;F;#f+ff;FGGI 	( +,'Q+*+G%H	+G%H	 t#:7#JL t#:7#JLb"b"A2FIy262?O=f=*
 	
u }FZ'Mfz!GM++"++F+7M-(%+GM"QM
* ,  , MuH z)z)C*, :$g.Fq	!u!!(+&q)+<We+L)N"1%(+&q)+<We+L)N"1%+.)!,.Fu.M,O%a( /  NND||q 'G'V$	9(+,>q,A9(M"1%(+,>q,A9(M"1%+.)!,.Ft.L,N%a( $$T*T\\A-. # 8 LD/32-K. ~GAtv& & "  " x #% z"A*?*BB&B(//0GH$'l$; [)!n,F5!&k&&*d2/J);A)>0@,*-+-I+K' %< %++,CD #" !9' !, ',J&78&7u&7O8:!!$**73Ez%'8'8UZZ3=N%)"1::AJ$$W-Ez%'8'8UZZ3=N%)"NNDt)

7+F?:e+<+<sAR)-OA& # ( ''<=?=MAz 	Jc"7";<<==?
 '6'6T[[$++*DE!"4\"BC!"4\"BC;;()Z7||a'5;;7G+H+KKGG,w66&*=*GHL#l4F!68J
 ,w66&*=*GHL#l4F!68J) 8 z"&%"A ## 	A1!6q!9C!?@@" # &% /2 2*',Z'82* /*+ 
s()	)S0 .0A52a7,-) -0KK) 456 	&
 	(#.@*AA  	(#"#%B/-+/- +. 	. 
 KK Ez%00UZZ5E5E5G45O -2KK,@,F,FF/11!o"78 "o"78 %1|C!89%;!$0|C!89%;! 	.0E8+GF 	')@J6J,.KUfU& GNN5F =m = Gn 9&?>&%s*   gg 5g %g%;+g*g0*"g0c           
        V P                   R,          pVR8X  Ed6   V P                   R,          pVR8X  g#   \        V4      '       g   VP                  R8X  d   RpM-VP                  P                  4       R8X  g   Q hVP                  pV P                   R,          R8g  ;'       dJ    \        V P                   R,          4      '       * ;'       d!    V P                   R,          P                  R8H  pV'       d   ^ pMV P
                  pVP                  V P                   R,          V P                   R,          4      w  rgp\        WgVRV^ ^ R	7      w  r)Mt\        V P                   R,          4      '       g#   V P                   R,          P                  R8X  d   ^ pM-VP                  P                  4       R8X  g   Q hVP                  p\        WV4      # )
z:Return the min-content width for an ``InlineReplacedBox``.r9   r:   heightr;   r=   rT   image_resolutionrU   default_widthdefault_height	rD   r   rE   rI   rH   rX   rY   r
   rK   )
r   r   r9   r   unknown_max_widthimageintrinsic_widthintrinsic_heightintrinsic_ratior\   s
   &&        r   r*   r*     s   IIgE8$Vz&11V[[C5GF;;$$&$...\\FIIk"f, / /399[122/ /IIk"''3. 	 EOOE((II01399[3IK ?O ,?Fa;HE1 
CIIg&	'	'399W+=+B+Bc+Izz!T)))#e$$r   c           
        V P                   R,          pVR8X  d   V P                   R,          pVR8X  g#   \        V4      '       g   VP                  R8X  d   RpM-VP                  P                  4       R8X  g   Q hVP                  pV P
                  pVP                  V P                   R,          V P                   R,          4      w  rVp\        WVVRVR^R	7      w  r(Mt\        V P                   R,          4      '       g#   V P                   R,          P                  R8X  d   ^ pM-VP                  P                  4       R8X  g   Q hVP                  p\        WV4      # )
z:Return the max-content width for an ``InlineReplacedBox``.r9   r:   r   r;   r=   r   rU   i,  r   r   )	r   r   r9   r   r   r   r   r   r\   s	   &&       r   r6   r6     s$   IIgE8$Vz&11V[[C5GF;;$$&$...\\F$$		,-syy/EG 	;? (c3q 
CIIg&	'	'399W+=+B+Bc+Izz!T)))#e$$r   c                v   VP                    Uu. uF!  q3P                  '       g   K  \        W4      NK#  	  ppV'       g   \        W^ 4      # VP                  R,          P                  R4      '       d.   VP                  R,          R8X  d   \        W\        V4      4      # \        W\        V4      4      # u upi )z9Return the min-content width for an ``FlexContainerBox``.flex_directionr   	flex_wrapr   )rF   is_flex_itemr   rK   rD   
startswithr   r   )r   r   r   rM   min_contentss   &&&  r   r,   r,     s     \\9!E%7%7 	*')!  9 c!$$		"#..u55IIk"h.c#l"344c#l"3449s
   B6B6c                F   VP                    Uu. uF!  q3P                  '       g   K  \        W4      NK#  	  ppV'       g   \        W^ 4      # VP                  R,          P                  R4      '       d   \        W\        V4      4      # \        W\        V4      4      # u upi )z9Return the max-content width for an ``FlexContainerBox``.r  r   )rF   r  r   rK   rD   r  r   r   )r   r   r   rM   max_contentss   &&&  r   r7   r7     s     \\9!E%7%7 	*')!  9 c!$$
yy!"--e44c#l"344c#l"3449s
   BBc                   ^RI HpHp Rp\        V\        P
                  \        P                  34      '       d*   VP                  '       g   ^ # YP                  R,          rKY  \        V\        P                  4      '       d   VP                  '       g   ^ # VP                  R,          R9  d   ^ # VP                  R,          ^ 8X  d   ^ # VP                  P                  R4      '       g   ^ # VP                  P                  R4      ;p'       ds   ^ pVe   TpV! WRV4      w  rp	K  X'       g   Q hVP                  V4      p
V! W
RX4      w  rp	V
f   VP                  # Ve   Q hVP                  V
P                  ,
          # V! VP                  VP                  V RVP                  4      w    r p	V'       d>   \!        VP                  4      ^8  d$   V\#        WP                  R,          4      ,          pV# )	z6Return the size of the trailing whitespace of ``box``.)r	   split_text_boxNr{   rU    rq   r   )inliner	   r  r   r   r&   r'   rF   r   r   rD   endswithrstripcopy_with_textr9   r   r   rs   )r   r   r	   r  last_parentstripped_textresume
old_resumeold_boxr\   stripped_boxr9   s   &&          r   rs   rs   %  s   8 K
S5??EMM:
;
;|||R 0S c5==))	=	!)I	I	;	1	$XXs## ,,}, J!/dF!KGQw))-8"04#5a==  >!>==<#5#555  0HHcii$0I0I K1a1 3{3349-g7K7KB7OPPEr   )T)TT)TNFF)TF)NF))__doc__r   	functoolsr   mathr   cssr   css.functionsr   css.validationr   formatting_structurer   text.line_breakr   r	   replacedr
   r   r   r   rQ   r^   rd   rK   r#   r4   r(   r5   r%   r    r3   rm   r   r   r*   r6   r,   r7   rs   r   r   r   <module>r!     s        & 3 ( > *6 W6W6&%R1>+\0H
% +	%$ p%f1*Rj%D%45 52r   