a
    ¥Q•h!  ã                   @   s¶   d Z ddlmZmZ ddlmZmZ ddlmZm	Z	m
Z
mZ ddlmZ ddlmZmZ d	d
lmZ d	dlmZmZmZmZ h d£Ze
d	d	dƒZe
d	d	dƒe	d	d	dƒfZddd„ZdS )z/Validate properties, expanders and descriptors.é    )ÚSelectorErrorÚcompile_selector_list)Úparse_blocks_contentsÚ	serialize)ÚFunctionBlockÚ
IdentTokenÚLiteralTokenÚWhitespaceTokené   )ÚLOGGERé   )ÚInvalidValuesÚremove_whitespaceé   )Ú	EXPANDERS)ÚPREFIXÚPROPRIETARYÚUNSTABLEÚvalidate_non_shorthand>[   Úresizezoverscroll-behavior-yzscroll-margin-block-endzscroll-padding-blockZrichnessz	cue-afterzscroll-margin-blockzpitch-rangezoverscroll-behavior-inlinezpause-afterzspeech-ratezview-timeline-insetzscroll-marginz
cue-beforezwill-changezfield-sizingzscroll-snap-alignzscroll-padding-leftztransition-timing-functionzanimation-directionzanimation-play-statezscroll-margin-inline-startzview-timeline-axiszplay-duringzscroll-padding-rightzscroll-padding-topzscroll-margin-inlinezanimation-namezspeak-numeralZazimuthzscroll-padding-block-endzscroll-snap-typeÚvolumeztransition-durationzcaret-colorzview-timelineztouch-actionzscroll-behaviorzcaret-shapezanimation-durationzanimation-rangezscroll-padding-bottomzanimation-timing-functionzscrollbar-gutterzscroll-margin-rightZcueZ	animationzspeak-punctuationZpitchzscrollbar-colorZstresszanimation-range-endzscroll-margin-topÚpausezscroll-paddingzscroll-margin-leftÚcaretzscroll-padding-block-startzview-timeline-namezscrollbar-widthzview-transition-namezanimation-delayzanimation-iteration-countzoverscroll-behaviorzscroll-timeline-namezpause-beforezoverscroll-behavior-blockzpointer-eventsÚcursorzspeak-headerZspeakZ
transitionzscroll-timeline-axiszscroll-padding-inlineztransition-delayzscroll-margin-block-startztransition-propertyzvoice-familyzoverscroll-behavior-xztimeline-scopezscroll-padding-inline-startZ	elevationzscroll-timelinezscroll-margin-bottomzscroll-margin-inline-endzanimation-fill-modezanimation-range-startzanimation-timelinezscroll-snap-stopzscroll-padding-inline-endzanimation-compositionú&ú:ÚrootNc                 #   sŽ  |durvzFt |v rD|g  }}|D ]"}|t kr8| t¡ q | |¡ q t|ƒ}W n& tyt   tdt|ƒ› d�ƒ‚Y n0 tdddƒtddd|ƒf}|D �]ò‰ ˆ j	dkrºt
 dˆ jˆ jˆ j¡ ˆ j	dk�r¸|du rÐq”g }g g}ˆ jD ]&}|d	krø| g ¡ qà|d
  |¡ qà|D ]Š}	t |	v �rJˆ jD ]&}|t k�r:| |¡ n
| |¡ �q n8tdddƒtddd|ƒf}| g |¢tdddƒ‘|	¢¡ | tddd	ƒ¡ �qt| tˆ jƒ|dd
… ƒE dH  ˆ j	dk�rÆq”ˆ j}
|
 d¡�sÞˆ j}
‡ fdd„}|
tv �r |ddƒ q”|
 t¡�r~|
ttƒd… }|tv �r,|}
nR|tv �r\t
 dˆ jtˆ jƒˆ jˆ j|¡ |}
n"t
 dˆ jtˆ jƒˆ jˆ j|¡ q”|
 d¡�r¢|
 d¡�s¢|ddƒ q”t |
t¡}t ˆ jƒ}z"|�sÈt!dƒ‚t"|||
| ƒƒ}W nZ t!�y4 } z@|d|j#�r|j#d �r|j#d ndƒ W Y d}~q”W Y d}~n
d}~0 0 ˆ j$}|D ]F\}}|du�rp| %dd¡||f‰ |ˆ fV  n| %dd¡||fV  �q@q”dS )z½Expand shorthand properties, filter unsupported properties and values.

    Log a warning for every ignored declaration.

    Return a iterable of ``(name, value, important)`` tuples.

    Nú'r   r   ÚisÚerrorzError: %s at %d:%d.zqualified-ruleú,éÿÿÿÿú Údeclarationz--c                    s(   t t| ƒdˆ jtˆ jƒˆ jˆ j|ƒ d S )NzIgnored `%s:%s` at %d:%d, %s.)Úgetattrr   Únamer   ÚvalueÚsource_lineÚsource_column)ÚlevelÚreason©r#   © ú[/var/www/sistema_ama/venv/lib/python3.9/site-packages/weasyprint/css/validation/__init__.pyÚvalidation_error»   s
    
ýz1preprocess_declarations.<locals>.validation_errorÚdebugz/the property does not apply for the print mediaz\Deprecated `%s:%s` at %d:%d, prefixes on unstable attributes are deprecated, use %r instead.zTIgnored `%s:%s` at %d:%d, prefix on this attribute is not supported, use %r instead.ú-zprefixed selectors are ignoredzno valueÚwarningr   zinvalid valueÚ_)&ÚNESTING_SELECTORÚextendÚ
ROOT_TOKENÚappendr   r   r   r   r   Útyper   r1   Úmessager'   r(   Úpreluder	   Úpreprocess_declarationsr   Úcontentr%   Ú
startswithÚ
lower_nameÚNOT_PRINT_MEDIAr   Úlenr   r   r&   r   Úgetr   r   r   ÚlistÚargsÚ	importantÚreplace)Úbase_urlÚdeclarationsr9   Zoriginal_preludeÚtokenÚ	selectorsZis_tokenZdeclaration_preludeZtoken_groupsZtoken_groupr%   r.   Zunprefixed_nameÚ	validatorÚtokensÚresultÚexcrC   Z	long_namer&   r,   r+   r-   r:   r   sÈ    	


ý




þÿ
ÿþ

þ

ÿ

úú

 þ"
r:   )N)Ú__doc__Ú
cssselect2r   r   Útinycss2r   r   Útinycss2.astr   r   r   r	   Ú r   Úutilsr   r   Z	expandersr   Ú
propertiesr   r   r   r   r>   r3   r5   r:   r,   r,   r,   r-   Ú<module>   s   a