+
    	i{                     J    R t  ! R R4      tR
R ltR
R ltR tR tR tR	 tR# )zCSS functions parsers.c                   :   a  ] tR t^t o RtR tR tRR ltRtV t	R# )FunctionzCSS function.c                    \        VRR4      R8X  d%   VP                  V n        VP                  V n        R# R;V n        V n        R# )z$Create Function from function token.typeNfunction)getattr
lower_namename	arguments)selftokens   &&^/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/weasyprint/css/functions.py__init__Function.__init__   s9    5&$':5((DI"__DN)--DI    c                    V P                   e0   V P                    Uu. uF  pVP                  R9  g   K  VNK  	  up# R# u upi )zSplit arguments on spaces.N)
whitespacecomment)r
   r   )r   arguments   & r   split_spaceFunction.split_space   sL    >>%)-C)7X==(AA C C &Cs
   A A c                T   V P                   f   R# . .pV P                    Fc  pVP                  R8X  d%   VP                  R8X  d   VP                  . 4       K8  VP                  R9  g   KK  VR	,          P                  V4       Ke  	  V'       d   V'       d   \        ;QJ d    R VRR	  4       F  '       d   K   RM	  RM! R VRR	  4       4      '       d=   \        VR	,          4      R
9   d&   VRR	  Uu. uF  qU'       d
   V^ ,          MRNK  	  up# . # \	        VRR	 4      '       d   V#  . # V'       dV   \        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       d   V Uu. uF  qU^ ,          NK  	  up#  . # \	        V4      '       d   V# . # u upi u upi )zSplit arguments on commas.

Spaces in parentheses and after commas are removed.

If ``single_tokens`` is ``True``, check that only a single token is between
commas and flatten returned list.

If ``trailing`` is ``True``, allow a bare comma at the end.

Nliteral,c              3   >   "   T F  p\        V4      ^8H  x  K  	  R# 5i   Nlen.0parts   & r   	<genexpr>'Function.split_comma.<locals>.<genexpr>/   s     =*$s4yA~*   FTc              3   >   "   T F  p\        V4      ^8H  x  K  	  R# 5ir   r   r   s   & r   r"   r#   6   s     8%$s4yA~%r$   )r   r   )    r   )r
   r   valueappendallr   )r   single_tokenstrailingpartsr   r!   s   &&&   r   split_commaFunction.split_comma   sj    >>!^^EzzY&5;;#+=R zz!::b	  ' $ 3=%*=333=%*===59~/FKCRjQjd4QT 9jQQ 	 U3BZ ! 	 38%83338%888056GG66 9 	 U	  R 7s   5F 4F%)r
   r	   N)TF)
__name__
__module____qualname____firstlineno____doc__r   r   r.   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s     .C# #r   r   Nc                 N   \        V 4      pVP                  R 8w  d   R# VP                  RRR7      p\        V4      ^8X  d   V^ ,          RrTMU\        V4      ^8X  dD   Vw  rE\        V4      ^8  d-   V^ ,          P                  R8X  d   V^ ,          P
                  pMRpMR# \        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       d   R# V^ ,          P
                  p\        V4      ^8X  d   V^,          P
                  MRpVRV39   d   RWgV33# R# )	attrNFT)r+   r,    stringc              3   >   "   T F  qP                   R 8g  x  K  	  R# 5i)identN)r   )r    r   s   & r   r"   check_attr.<locals>.<genexpr>O   s     
<mU:: mr$   zattr())r   r	   r.   r   r   r(   any)r   allowed_typer   r-   name_and_typefallbackr	   type_or_units   &&      r   
check_attrrD   =   s   H}}  ut DE
5zQ"'(Bx	Uq"'x=A(1+"2"2h">{((HH
s
<m
<sss
<m
<<< !!D-0-?1-D=#))(Ll++4x899 ,r   c                    ^RI Hp \        V 4      pVP                  4       pVP                  R8X  d   \        V4      R	9  d   R# M&VP                  R8X  d   \        V4      R
9  d   R# MR# . pVP                  ^ 4      pVP                  R8w  d   R# VP                  VP                  4       VP                  R8X  d@   VP                  ^ 4      pVP                  R8w  d   R# VP                  VP                  4       V'       d1   V! VP                  ^ 4      34      pVf   R# VP                  V4       MVP                  R4       VP                   R2\        V4      3# )r   )list_style_typecounterNcountersr=   r;   decimal()r      )rL      )validation.propertiesrF   r   r.   r	   r   popr   r)   r(   tuple)	r   r@   rF   r   r
   resultr=   r;   counter_styles	   &&       r   check_counterrS   Y   s    6H$$&I}}	!y>' (	*	$y>' ( 	FMM!EzzW
MM%++}}
"q!;;("fll#'q)9(;< m$i }}oR %-00r   c                 4   \        V 4      pVP                  R 8X  d|   VP                  4       p\        V4      ^ 8X  d   R# \        V4      ^8X  dH   VP	                  ^ 4      pRpVP
                  R8X  d"   VP                  V9   d   RVP                  3# R# R# R# R# )content	content()r=   N)rV   text)rW   beforeafterzfirst-lettermarker)r   r	   r.   r   rO   r   lower_value)r   r   r
   r=   valuess   &    r   check_contentr]   ~   s    H}}	!((*	y>Q((^q MM!$EJFzzW$):):f)D#U%6%677 *E$ !	 "r   c                    \        V4      pVP                  4       pVP                  V 8X  d   \        V4      R9   d   VP	                  ^ 4      pVP
                  R8w  d   R# VP                  pV'       dE   VP	                  ^ 4      pVP
                  R8w  d   R# VP                  R9  d   R# VP                  pMRpV  R2WE33# R# R# )r   r=   NfirstrJ   rK   )r_   startlastzfirst-except)r   r.   r	   r   rO   r   r(   r[   )string_or_elementr   r   r
   custom_identr=   s   &&    r   check_string_or_elementrd      s    H$$&I}}))c)n.F }}Q''#))MM!$EzzW$  (RR%%EE$%R(<*?@@! /G)r   c                 
   V P                   R 8X  dI   \        ;QJ d&    R V P                   4       F  '       g   K   R# 	  R# ! R V P                   4       4      # \        V 4      pVP                  f   R# VP                  4       pVP                  R8X  d<   V^ ,          pVP                   R8H  ;'       d    VP                  P                  R4      # \        ;QJ d    R V 4       F  '       g   K   R# 	  R# ! R V 4       4      # )	z() blockc              3   8   "   T F  p\        V4      x  K  	  R # 5iN	check_var)r    items   & r   r"   check_var.<locals>.<genexpr>   s     =}t9T??}   TFNvarr=   z--c              3   8   "   T F  p\        V4      x  K  	  R # 5irg   rh   r    r   s   & r   r"   rk      s     =9xy""9rl   )r   r?   rU   r   r	   r   r(   
startswith)r   r   r
   r=   s   &   r   ri   ri      s    zzZs=u}}=ss=s=s=u}}===H}}$$&I}}! zzW$EE)?)?)EE3=9=33=3=3=9===r   c                 x   \        V 4      pVP                  ;pf   R # VP                  RR7      pVR8X  d   \        V4      ^8H  # VR9   d   \        V4      ^8  # VR8X  d   \        V4      ^8H  # VR8X  d    ^\        V4      u;8*  ;'       d    ^8*  # u # VR9   d   \        V4      ^8H  # VR9   d   \        V4      ^8H  # VR9   d   \        V4      ^8H  # VR8X  d   \        V4      ^8H  # VR8X  d   \        V4      ^8H  # VR8X  d   \        V4      ^8H  # VR	8X  d   \        V4      ^8  # VR
8X  d    ^\        V4      u;8*  ;'       d    ^8*  # u # VR8X  d   \        V4      ^8H  # VR9   d   \        V4      ^8H  # VP	                  4       p\
        ;QJ d    R V 4       F  '       g   K   R# 	  R# ! R V 4       4      # )NF)r+   calcclamproundatan2powsqrthypotlogexpc              3   8   "   T F  p\        V4      x  K  	  R # 5irg   )
check_mathro   s   & r   r"   check_math.<locals>.<genexpr>   s     >Iz(##Irl   T)minmax)modrem)sincostan)asinacosatan)abssign)r   r	   r.   r   r   r?   )r   r   r	   r
   s   &   r   r|   r|      s   H&$$5$9Iv~9~""		9~""	9~""	C	N''a''''		9~""	&	&9~""	)	)9~""	9~""	9~""	9~""	9~""	C	N''a''''	9~""		 9~""$$&I3>I>33>3>3>I>>>r   rg   )r4   r   rD   rS   r]   rd   ri   r|    r   r   <module>r      s3    6 6r:8"1J
8A,>#?r   