§
    ¥”jA  ã                   óH   — d Z ddlmZ ddlmZ  G d„ d¦  «        Zd„ Zd„ ZdS )	zStacking contexts management.é   )Úboxes)ÚAbsolutePlaceholderc                   óF   — e Zd ZdZd„ Zed„ ¦   «         Zedd„¦   «         ZdS )ÚStackingContextz©Stacking contexts define the paint order of all pieces of a document.

    https://www.w3.org/TR/CSS21/visuren.html#x43
    https://www.w3.org/TR/CSS21/zindex.html

    c                 ó  — || _         || _        || _        || _        g | _        g | _        g | _        || _        |D ]h}|j        dk     r| j         	                    |¦  «         Œ(|j        dk    r| j         	                    |¦  «         ŒN| j         	                    |¦  «         Œi| j         
                    d„ ¬¦  «         | j         
                    d„ ¬¦  «         |j        d         | _        | j        dk    r	d| _        d S d S )Né    c                 ó   — | j         S ©N©Úz_index©Úcontexts    úb/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/weasyprint/stacking.pyú<lambda>z*StackingContext.__init__.<locals>.<lambda>    ó   € ¸'¼/€ ó    )Úkeyc                 ó   — | j         S r
   r   r   s    r   r   z*StackingContext.__init__.<locals>.<lambda>!   r   r   r   Úauto)ÚboxÚpageÚblock_level_boxesÚfloat_contextsÚnegative_z_contextsÚzero_z_contextsÚpositive_z_contextsÚblocks_and_cellsr   ÚappendÚsortÚstyle)Úselfr   Úchild_contextsÚblocksÚfloatsr   r   r   s           r   Ú__init__zStackingContext.__init__   s#  € àˆŒØˆŒ	Ø!'ˆÔØ$ˆÔØ#%ˆÔ Ø!ˆÔØ#%ˆÔ Ø 0ˆÔà%ð 	9ð 	9ˆGØŒ Ò"Ð"ØÔ(×/Ò/°Ñ8Ô8Ð8Ð8Ø” AÒ%Ð%ØÔ$×+Ò+¨GÑ4Ô4Ð4Ð4àÔ(×/Ò/°Ñ8Ô8Ð8Ð8ØÔ ×%Ò%Ð*IÐ*IÐ%ÑJÔJÐJØÔ ×%Ò%Ð*IÐ*IÐ%ÑJÔJÐJð ”y Ô+ˆŒØŒ<˜6Ò!Ð!ØˆDŒLˆLˆLð "Ð!r   c                 óx   ‡ ‡— ˆ ˆfd„‰j         D ¦   «         }‰                     g ¦  «        Š ‰ ‰|g g i ‰¦  «        S )Nc                 ó<   •— g | ]}‰                      |‰¦  «        ‘ŒS © )Úfrom_box)Ú.0ÚchildÚclsr   s     €€r   ú
<listcomp>z-StackingContext.from_page.<locals>.<listcomp>-   s'   ø€ ÐOÐOÐO¸˜#Ÿ,š, u¨dÑ3Ô3ÐOÐOÐOr   )ÚchildrenÚcopy_with_children)r,   r   r"   s   `` r   Ú	from_pagezStackingContext.from_page)   sR   øø€ ð PÐOÐOÐOÐOÀÄÐOÑOÔOˆà×&Ò& rÑ*Ô*ˆØˆs�4˜¨¨R°°TÑ:Ô:Ð:r   Nc                 ób   — g }|€|}g }g }i }t          ||||||¦  «        } | ||||||¦  «        S r
   )Ú_dispatch_children)r,   r   r   r"   r.   r#   r$   r   s           r   r)   zStackingContext.from_box2   s^   € àˆØÐ!Ø%ˆNð ˆØˆØÐÝ Ø��~ v¨vÐ7GñIô Iˆàˆs�3˜ &¨&Ð2BÀDÑIÔIÐIr   r
   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r%   Úclassmethodr0   r)   r(   r   r   r   r      sn   € € € € € ðð ðð ð ð6 ð;ð ;ñ „[ð;ð ðJð Jð Jñ „[ðJð Jð Jr   r   c                 óz  — t          | t          ¦  «        r| j        } | j        }|d         dk    r|d         dk    p2| j        o|d         dk    p|d         dk     p|d         p|d         d	k    }|r0|                     t                               | |¦  «        ¦  «         d S t          j	        t          j
        t          j        f}|d         dk    rQ|d         dk    sJ ‚t          |¦  «        }	t                               | ||¦  «        }
|                     |	|
¦  «         d S |                      ¦   «         r1|                     t                               | ||¦  «        ¦  «         d S t          | |¦  «        rt                               | ||¦  «        S t          | t          j        ¦  «        rAt          |¦  «        }i }t!          | |||||¦  «        } |                     || ¦  «         ||| <   nNt          | t          j        ¦  «        ri }t!          | |||||¦  «        } ||| <   nd }d }t!          | |||||¦  «        } | S )
NÚpositionÚstaticr   r   Úopacityr   Ú	transformÚoverflowÚvisible)Ú
isinstancer   Ú_boxr    Úis_grid_itemr   r   r)   r   ÚInlineBlockBoxÚInlineFlexBoxÚInlineGridBoxÚlenÚinsertÚ
is_floatedÚBlockLevelBoxr2   ÚTableCellBox)r   r   r"   r#   r$   r   r    Údefines_stacking_contextÚstacking_classesÚindexÚstacking_contextÚblocks_indexÚbox_blocks_and_cellss                r   Ú	_dispatchrP   E   s“  € Ý�#Õ*Ñ+Ô+ð ØŒhˆØŒI€Eð 
ˆzÔ	˜hÒ	&Ð	E¨5°Ô+;¸vÒ+Eð 	'Ø	Ô	Ð	8˜e IÔ.°&Ò8ð	'àˆiÔ˜1Òð	'ð 	ˆkÔð	'ð 	ˆjÔ˜YÒ&ð ð  ð Ø×Ò�o×6Ò6°s¸DÑAÔAÑBÔBÐBØˆåÔ,­eÔ.AÅ5ÔCVÐWÐØˆZÔ˜HÒ$Ð$Ø�YÔ 6Ò)Ð)Ð)Ð)õ �NÑ#Ô#ˆÝ*×3Ò3°C¸¸~ÑNÔNÐØ×Ò˜eÐ%5Ñ6Ô6Ð6Ð6Ð6Ø	�ŠÑ	Ô	ð Ø�Š•o×.Ò.¨s°D¸.ÑIÔIÑJÔJÐJÐJÐJÝ	�CÐ)Ñ	*Ô	*ð õ ×'Ò'¨¨T°>ÑBÔBÐBå�c�5Ô.Ñ/Ô/ð 	MÝ˜v™;œ;ˆLØ#%Ð Ý$Ø�T˜>¨6°6Ð;OñQô QˆCà�MŠM˜,¨Ñ,Ô,Ð,Ø$8Ð˜SÑ!Ð!Ý˜�UÔ/Ñ0Ô0ð 		MØ#%Ð Ý$Ø�T˜>¨6°6Ð;OñQô QˆCà$8Ð˜SÑ!Ð!àˆLØ#'Ð Ý$Ø�T˜>¨6°6Ð;KñMô MˆCð ˆ
r   c           	      óÒ   — t          | t          j        ¦  «        s| S g }| j        D ]-}t	          ||||||¦  «        }|�|                     |¦  «         Œ.|                      |¦  «        S r
   )r?   r   Ú	ParentBoxr.   rP   r   r/   )	r   r   r"   r#   r$   r   Únew_childrenr+   Úresults	            r   r2   r2   y   s   € å�c�5œ?Ñ+Ô+ð Øˆ
à€LØ”ð (ð (ˆÝØ�4˜¨°Ð9IñKô KˆàÐØ×Ò Ñ'Ô'Ð'øØ×!Ò! ,Ñ/Ô/Ð/r   N)r6   Úformatting_structurer   Úlayout.absoluter   r   rP   r2   r(   r   r   ú<module>rW      s‰   ðØ #Ð #à 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0ð;Jð ;Jð ;Jð ;Jð ;Jñ ;Jô ;Jð ;Jð|1ð 1ð 1ðh0ð 0ð 0ð 0ð 0r   