
    gi*                         d dl Z  e j        d          ZddZd Zd Zd Zd Zd	 Zd
 Z	eeeeee	dZ
i ZddZddZddZddZddZdS )    NzY('[^']*'|"[^"]*"|::|//?|\.\.|\(\)|[/.*:\[\]\(\)@=])|((?:\{[^}]+\})?[^/\[\]\(\)@=\s]+)|\s+Tc              #     K   |r*|                     d           p|                     d          nd }d}t                              |           D ]}|\  }}|r|d         dk    rd|v rX|rV|                    dd          \  }}		 |st          |d||         d|	fV  nN# t          $ r t          d|z            w xY w|                                r|V  n|r|s|d|d|fV  n|V  d}|V  |d	k    }d S )
N Fr   {:   }z!prefix %r not found in prefix map@)getxpath_tokenizer_refindallsplitKeyErrorSyntaxError	isdecimal)
pattern
namespaceswith_prefixesdefault_namespaceparsing_attributetokenttypetagprefixuris
             i/var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/lxml/_elementpath.pyxpath_tokenizerr   I   s     HR\--C1C1CX\#++G44 - -
s 	-3q6S==czzmz!iiQ//T% '&%Z-?-?-?!EEEEEE T T T%&IF&RSSST " +< e):):):CC@@@@@@ %KKK %)- -s   BB;c                 "    |d         fd}|S )Nr   c              3   L   K   | D ]}|                               E d {V  d S Niterchildrenresultelemr   s     r   selectzprepare_child.<locals>.selectf   sI       	. 	.D((----------	. 	.     nextr   r%   r   s      @r   prepare_childr*   d   s,    
(C. . . . . Mr&   c                     d }|S )Nc              3   J   K   | D ]}|                     d          E d {V  d S )N*r    )r#   r$   s     r   r%   zprepare_star.<locals>.selectl   sH       	. 	.D((----------	. 	.r&   r'   r)   r   r%   s      r   prepare_starr/   k   s    . . . Mr&   c                     d }|S )Nc                     | S r   r'   )r#   s    r   r%   zprepare_self.<locals>.selectr   s    r&   r'   r.   s      r   prepare_selfr2   q   s      Mr&   c                      |             }|d         dk    rdn |d         s	|d         nt          d          fd}|S )Nr   r-   r   zinvalid descendantc              3   L   K   | D ]}|                               E d {V  d S r   )iterdescendantsr"   s     r   r%   z"prepare_descendant.<locals>.select~   sI       	1 	1D++C0000000000	1 	1r&   )r   r(   s      @r   prepare_descendantr6   v   sh    DFFEQx31X 0Ah.///1 1 1 1 1 Mr&   c                     d }|S )Nc              3   H   K   | D ]}|                                 }||V  d S r   )	getparent)r#   r$   parents      r   r%   zprepare_parent.<locals>.select   s>       	 	D^^%%F!	 	r&   r'   r.   s      r   prepare_parentr;      s      
 Mr&   c                    d}g }	  |             }|d         dk    rn\|dk    r|d         r$|d         d d         dv rd|d         dd         f}||d         pd	z  }|                     |d                    s|d
k    r|d         fd}|S |dk    r|d         |d         fd}|S |d	k    r*t          j        d|d                   s|d         fd}|S |dk    s!|dk    r;t          j        d|d                   s |d         |d         rfd}nfd}|S |d	k    s|dk    s|dk    r|d	k    rCt          |d                   dz
  dk     r$dk    rt	          d          t	          d          nZ|d         dk    rt	          d          |dk    r7	 t          |d                   dz
  n# t
          $ r t	          d          w xY wdfd}|S t	          d          )Nr   r   r   ])r   r   z'"'-z@-c              3   H   K   | D ]}|                               |V  d S r   r
   )r#   r$   keys     r   r%   z!prepare_predicate.<locals>.select   s:        88C==,JJJ r&   z@-='c              3   P   K   | D ]}|                               k    r|V   d S r   rB   )r#   r$   rC   values     r   r%   z!prepare_predicate.<locals>.select   s?        88C==E))JJJ r&   z-?\d+$c              3   N   K   | D ]}|                               D ]}|V   d S r   r    )r#   r$   _r   s      r   r%   z!prepare_predicate.<locals>.select   sJ        **3//  AJJJ r&   z.='z-='c              3      K   | D ]K}|                               D ]3}d                    |                                          k    r|V   n4Ld S Nr   )r!   joinitertext)r#   r$   er   rE   s      r   r%   z!prepare_predicate.<locals>.select   sp      " " "D!..s33 " "771::<<00E99"&JJJ!E :" "r&   c              3   t   K   | D ]1}d                     |                                          k    r|V  2d S rI   )rJ   rK   )r#   r$   rE   s     r   r%   z!prepare_predicate.<locals>.select   sI      " # #Dwwt}}//588"


# #r&   z-()z-()-z3indices in path predicates are 1-based, not 0-basedzpath index >= 1 expectedlastzunsupported function   zunsupported expressionc              3      K   | D ]_}|                                 }|	 t          |                    |j                            }|         |u r|V  P# t          $ r Y \w xY wd S r   )r9   listr!   r   
IndexError)r#   r$   r:   elemsindexs       r   r%   z!prepare_predicate.<locals>.select   s       
 
))> !4!4TX!>!>??EU|t++"


!   D
 
s   5A
A#"A#zinvalid predicate)appendrematchintr   
ValueError)	r)   r   	signature	predicater%   rT   rC   r   rE   s	        @@@@r   prepare_predicater\      s    II
#8s??H8 	(a!--q!B$'EU1X_$	q"""
# Dl	 	 	 	 	 Fl"	 	 	 	 	 	 CIaL A Al	 	 	 	 	
 Ei500)YWX\9Z9Z0l" 	#" " " " " " "# # # # # C9--f1D1D	!%%)EqyyB;;%MO O O &&@AAA  |v%%!"8999F""@	!--1EE! @ @ @%&>???@ 	 	 	 	 	 
)
*
**s   $F= =G)r   r-   .z..z//[c           	      ^   | dd         dk    r| dz  } | f}|rd|v r}d|v r3|d         |d         k    r!t          d|d         d|d                   ||d         ft          t          d |                                D                                 z   z  }n1|t          t          |                                                    z  }	 t          |         S # t
          $ r Y nw xY wt          t                    d	k    rt                                           | dd
         dk    rt          d          t          t          | ||                    }	 |j        }n# t          $ r
 |j        }Y nw xY w	  |            }n# t          $ r t          d          w xY wg }	 	 |                    t!          |d                  ||                     n# t          $ r t          d          w xY w	  |            }|d         dk    r
 |            }n# t          $ r Y nw xY w|t          |<   |S )zcompile selector patternr?   N/r-   r   z&Ambiguous default namespace provided: z versus c              3   *   K   | ]}|d          
|V  dS )r   Nr'   ).0items     r   	<genexpr>z'_build_path_iterator.<locals>.<genexpr>
  s8       <L <LtAw7J7J7J7J7J<L <Lr&   d   r   z#cannot use absolute path on elementr   zempty path expressionr   zinvalid path)rY   tuplesorteditems_cacher   lenclearr   iterr   r)   AttributeError__next__StopIterationrU   ops)pathr   r   	cache_keystream_nextr   selectors           r   _build_path_iteratorrw      s   BCCyCI ; :ZJt$4
2$F$F jt$$$jnn"6 7 7 7*T*,uV <L <L!+!1!1!3!3<L <L <L 6L 6L 0M 0M M MII vj&6&6&8&899:::Ii     
6{{SBQBx3?@@@/$
-PPPQQF        3 3 3 312223H
	.OOCaM%778888 	. 	. 	.n---	.	EGGEQx3 	 	 	E	
 !F9OsN   C 
C&%C&E E32E37
F F#/G G-1 H 
HHc                 j    t          |||          }t          | f          }|D ]} ||          }|S Nrf   )rw   rm   )r$   rr   r   r   rv   r#   r%   s          r   iterfindrz   5  sF    #D*MRRRH4']]F    Mr&   c                 j    t          | |||          }	 t          |          S # t          $ r Y d S w xY wry   )rz   r)   rp   )r$   rr   r   r   its        r   findr}   @  sJ    	$j	F	F	FBBxx   tts   $ 
22c                 >    t          t          | ||                    S r   )rQ   rz   )r$   rr   r   r   s       r   r   r   K  s    tZ00111r&   c                 B    t          | |||          }||S |j        pdS )Nrf   r   )r}   text)r$   rr   defaultr   r   els         r   findtextr   R  s.    	dD*M	B	B	BB	zw}"r&   )NT)T)NNT)rV   compiler   r   r*   r/   r2   r6   r;   r\   rq   rj   rw   rz   r}   r   r   r'   r&   r   <module>r      s2  v 
			RZ
 
 - - - -6      
    `+ `+ `+F 			

	  
3 3 3 3r      2 2 2 2     r&   