+
    	i                     V    R t ^ RIHt ^RIHt ^RIHt ^RIHt R;t	t
 ! R R4      tR# )	zCSS4 selectors for Python.

cssselect2 is a straightforward implementation of CSS4 Selectors for markup
documents (HTML, XML, etc.) that can be read by ElementTree-like parsers
(including cElementTree, lxml, html5lib, etc.)

)ascii_lower)compile_selector_list)SelectorError)ElementWrapperz0.9.0c                   F   a  ] tR t^t o RtR tR tR t]R 4       t	Rt
V tR# )Matcherz=A CSS selectors storage that can match against HTML elements.c                h    / V n         / V n        / V n        / V n        . V n        . V n        ^ V n        R# )    N)id_selectorsclass_selectorslower_local_name_selectorsnamespace_selectorslang_attr_selectorsother_selectorsorder)selfs   &Y/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/cssselect2/__init__.py__init__Matcher.__init__   s9    !*,'#% #% !
    c                z   V ;P                   ^,          un         VP                  '       d   R# VP                  VP                  V P                   VP                  V3pVP
                  e8   V P                  P                  VP
                  . 4      P                  V4       R# VP                  e8   V P                  P                  VP                  . 4      P                  V4       R# VP                  e8   V P                  P                  VP                  . 4      P                  V4       R# VP                  e8   V P                  P                  VP                  . 4      P                  V4       R# VP                   '       d   V P"                  P                  V4       R# V P$                  P                  V4       R# )a  Add a selector and its payload to the matcher.

:param selector:
    A :class:`compiler.CompiledSelector` object.
:param payload:
    Some data associated to the selector,
    such as :class:`declarations <tinycss2.ast.Declaration>`
    parsed from the :attr:`tinycss2.ast.QualifiedRule.content`
    of a style rule.
    It can be any Python object,
    and will be returned as-is by :meth:`match`.

N)r   never_matchestestspecificitypseudo_elementidr
   
setdefaultappend
class_namer   
local_namer   lower_local_name	namespacer   requires_lang_attrr   r   )r   selectorpayloadentrys   &&& r   add_selectorMatcher.add_selector   sH    	

a
!!! MM8//X=T=T ;;"((b9@@G  ,  ++H,?,?DKKER  ,++66))2//5ve}+$$//0B0BBGNNuU((($$++E2  ''.r   c                ,   . pVP                   eI   VP                   V P                  9   d.   V P                  WP                  VP                   ,          V4       VP                   F8  pW0P                  9   g   K  V P                  WP                  V,          V4       K:  	  \        VP                  4      pW@P                  9   d$   V P                  WP                  V,          V4       VP                  V P                  9   d.   V P                  WP                  VP                  ,          V4       RVP                  P                  9   d   V P                  WP                  V4       V P                  WP                  V4       VP                  4        V# )aj  Match selectors against the given element.

:param element:
    An :class:`ElementWrapper`.
:returns:
    A list of the payload objects associated to selectors that match
    element, in order of lowest to highest
    :attr:`compiler.CompiledSelector` specificity and in order of
    addition with :meth:`add_selector` among selectors of equal
    specificity.

lang)r   r
   add_relevant_selectorsclassesr   r   r   r   namespace_urlr   etree_elementattribr   r   sort)r   elementrelevant_selectorsr   
lower_names   &&   r   matchMatcher.matchB   sY     ::!gjjD4E4E&E''**7::68JL "//J111++11*=?QS *
 !!3!34
888''88D"$   D$<$<<''11'2G2GH"$ W**111''113EG 	##G-A-ACUV!!!r   c                f    V F*  w  r4rVpV! V 4      '       g   K  VP                  WEWg34       K,  	  R # )N)r   )r0   	selectorsr1   r   r   r   pseudor$   s   &&&     r   r*   Matcher.add_relevant_selectorsm   s0    9B5DugG}}"));v*OP :Cr   )r   r
   r   r   r   r   r   N)__name__
__module____qualname____firstlineno____doc__r   r&   r3   staticmethodr*   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s/     G"/H)"V Q Qr   r   N)r=   webencodingsr   compilerr   parserr   treer   VERSION__version__r    r   r   <module>rI      s2    % , !   +^Q ^Qr   