HEX
Server: Apache
System: Linux srv1.prosuiteplus.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: prosuiteplus (1001)
PHP: 8.3.20
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/lxml/__pycache__/_elementpath.cpython-38.pyc
U

C�;]�)�@s�ddlmZddlZe�d�Zddd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zeeee
e	ed�ZiZ
dd�Zddd�Zddd�Zd dd�Zd!dd�ZdS)"�)�absolute_importNzY('[^']*'|"[^"]*"|::|//?|\.\.|\(\)|[/.*:\[\]\(\)@=])|((?:\{[^}]+\})?[^/\[\]\(\)@=\s]+)|\s+c		cs�|r|�d�p|�d�nd}d}t�|�D]�}|\}}|r�|ddkr�d|kr�|�dd�\}}z"|sht�|d|||ffVWq�tk
r�td|��Yq�Xn"|r�|s�|d||ffVn|Vd}q*|V|d	k}q*dS)
N�Fr�{�:�z{%s}%sz!prefix %r not found in prefix map�@)�get�xpath_tokenizer_re�findall�split�KeyError�SyntaxError)	�pattern�
namespacesZdefault_namespaceZparsing_attribute�tokenZttype�tag�prefixZuri�r�3/usr/lib/python3/dist-packages/lxml/_elementpath.py�xpath_tokenizerJs&rcs|d��fdd�}|S)Nrc3s$|D]}|���D]
}|VqqdS�N��iterchildren��result�elem�e�rrr�selecteszprepare_child.<locals>.selectr��nextrrrrr�
prepare_childcsr!cCsdd�}|S)Ncss$|D]}|�d�D]
}|VqqdS)N�*rrrrrrlszprepare_star.<locals>.selectrrrrr�prepare_starksr#cCsdd�}|S)NcSs|Srr)rrrrrsszprepare_self.<locals>.selectrrrrr�prepare_selfrsr$csB|�}|ddkrd�n|ds*|d�ntd���fdd�}|S)Nrr"rzinvalid descendantc3s$|D]}|���D]
}|VqqdSr)Ziterdescendantsrrrrrsz"prepare_descendant.<locals>.select)r
rrrr�prepare_descendantws
r%cCsdd�}|S)Ncss$|D]}|��}|dk	r|VqdSr)�	getparent)rr�parentrrrr�szprepare_parent.<locals>.selectrrrrr�prepare_parent�sr(cs"d}g}|�}|ddkrqv|dkr&q|drV|ddd�dkrVd|ddd�f}||dpbd	7}|�|d�q|d
kr�|d��fdd�}|S|d
kr�|d�|d���fdd�}|S|d	kr�t�d|d�s�|d��fdd�}|S|dk�s|dk�rLt�d|d��sL|d�|d���r<��fdd�}n�fdd�}|S|d	k�sj|dk�sj|dk�r|d	k�r�t|d�d��dk�r�dk�r�td��ntd��nZ|ddk�r�td��|dk�rzt|d�d�Wntk
�r�td��YnXnd��fdd�}|Std��dS)Nrr�])rrrz'"�'����-z@-c3s"|D]}|���dk	r|VqdSr�r�rr)�keyrrr�sz!prepare_predicate.<locals>.selectz@-='c3s"|D]}|����kr|VqdSrr-r.)r/�valuerrr�sz-?\d+$c3s(|D]}|���D]}|VqqqdSrr)rr�_rrrr�sz.='z-='c3s:|D]0}|���D] }d�|����kr|VqqqdS�Nr)r�join�itertextr)rr0rrr�s
c3s&|D]}d�|����kr|VqdSr2)r3r4r.)r0rrr�sz-()z-()-z3indices in path predicates are 1-based, not 0-basedzpath index >= 1 expectedZlastzunsupported function�zunsupported expressionc	3s\|D]R}|��}|dkrqz&t|�|j��}|�|kr>|VWqtk
rTYqXqdSr)r&�listrr�
IndexError)rrr'Zelems)�indexrrr�s
zinvalid predicate)�append�re�match�intr
�
ValueError)r rZ	signatureZ	predicaterr)r8r/rr0r�prepare_predicate�sf&


�

r>)rr"�.z..z//�[cCs�|dd�dkr|d7}|f}|r�d|kr�d|krZ|d|dkrZtd|d|df��||dfttdd�|��D���7}n|tt|����7}z
t|WStk
r�YnXtt�d	kr�t��|dd
�dkr�td��t	t
||��}z
|j}Wntk
�r|j
}YnXz
|�}Wntk
�rBtd��YnXg}z|�t|d
||��Wntk
�r�td��YnXz|�}|d
dk�r�|�}Wntk
�r�Y�q�YnX�qH|t|<|S)zcompile selector patternr+N�/r"rz2Ambiguous default namespace provided: %r versus %rcss|]}|ddk	r|VqdS)rNr)�.0�itemrrr�	<genexpr>sz'_build_path_iterator.<locals>.<genexpr>�drz#cannot use absolute path on elementzempty path expressionrzinvalid path)r=�tuple�sorted�items�_cacher�len�clearr
�iterrr �AttributeError�__next__�
StopIterationr9�ops)�pathrZ	cache_key�streamZ_nextr�selectorrrr�_build_path_iterator�sX��



rTcCs*t||�}t|f�}|D]}||�}q|Sr)rTrL)rrQrrSrrrrr�iterfind7s



rUcCs2t|||�}z
t|�WStk
r,YdSXdSr)rUr rO)rrQr�itrrr�findBs

rWcCstt|||��Sr)r6rU)rrQrrrrr
Msr
cCs&t|||�}|dkr|S|jp dSdSr2)rW�text)rrQ�defaultrZelrrr�findtextTsrZ)N)N)N)N)NN)Z
__future__rr:�compiler	rr!r#r$r%r(r>rPrIrTrUrWr
rZrrrr�<module>:s0�
c�9