
    -Phg                     6    d Z ddlmZ dZ G d de          ZdS )z(
Docutils component-related transforms.
    )	TransformreStructuredTextc                       e Zd ZdZdZd ZdS )Filtera  
    Include or exclude elements which depend on a specific Docutils component.

    For use with `nodes.pending` elements.  A "pending" element's dictionary
    attribute ``details`` must contain the keys "component" and "format".  The
    value of ``details['component']`` must match the type name of the
    component the elements depend on (e.g. "writer").  The value of
    ``details['format']`` is the name of a specific format or context of that
    component (e.g. "html").  If the matching Docutils component supports that
    format or context, the "pending" element is replaced by the contents of
    ``details['nodes']`` (a list of nodes); otherwise, the "pending" element
    is removed.

    For example, up to version 0.17, the reStructuredText "meta"
    directive created a "pending" element containing a "meta" element
    (in ``pending.details['nodes']``).
    Only writers (``pending.details['component'] == 'writer'``)
    supporting the "html", "latex", or "odf" formats
    (``pending.details['format'] == 'html,latex,odf'``) included the
    "meta" element; it was deleted from the output of all other writers.

    This transform is no longer used by Docutils, it may be removed in future.
    i  c                 J   | j         }|j        d         }|j        d                             d          }| j        j        j        |         }|D ]:}|                    |          r#|                    |j        d                     d S ;|j        	                    |           d S )N	componentformat,nodes)
	startnodedetailssplitdocumenttransformer
componentssupportsreplace_selfparentremove)selfpendingcomponent_typeformatsr   r	   s         ^/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/docutils/transforms/components.pyapplyzFilter.apply,   s    . 5?8,33C88M-8H	 	+ 	+F!!&)) $$W_W%=>>> N!!'*****    N)__name__
__module____qualname____doc__default_priorityr    r   r   r   r      s5         4 
+ 
+ 
+ 
+ 
+r   r   N)r    docutils.transformsr   __docformat__r   r"   r   r   <module>r%      s\   
  * ) ) ) ) )"(+ (+ (+ (+ (+Y (+ (+ (+ (+ (+r   