
    do=                     
   d Z dZddlT ddlmZmZ ddlmZ ddlmZmZ ddlm	Z	 ddlm
Z
mZ dd	lZej        d	d
         dk    r edd	          [	 ddlmZ  eed          s edd	          n# e$ r  edd	          w xY wddlmZmZmZ ej        Zej        Z	 dd	lZdd	lZej        Z[[n# e$ r d ZY nw xY w G d d          Z G d dej                  Z G d dej         ej                  Z!d Z"e#dk    rdd	l$Z% e"            Z&e&'                    e%j(        j        )                                           e&*                    e%j(        +                                           e&,                    d           d	S d	S )z]
SAX driver for the pyexpat C module.  This driver works with
pyexpat.__version__ == '2.22'.
z0.20    )*)feature_validationfeature_namespaces)feature_namespace_prefixes)feature_external_gesfeature_external_pes)feature_string_interning)property_xml_stringproperty_interning_dictN   javazexpat not available in Java)expatParserCreatezexpat not supported)	xmlreadersaxutilshandlerc                     | S N )os    %  /croot/python-split_1694437901252/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.11/xml/sax/expatreader.py_mkproxyr   '   s        c                       e Zd ZdS )_ClosedParserN)__name__
__module____qualname__r   r   r   r   r   .   s        Dr   r   c                   0    e Zd ZdZd Zd Zd Zd Zd ZdS )ExpatLocatorzLocator for use with the ExpatParser class.

    This uses a weak reference to the parser object to avoid creating
    a circular reference between the parser and the content handler.
    c                 .    t          |          | _        d S r   )r   _refselfparsers     r   __init__zExpatLocator.__init__9   s    V$$			r   c                 :    | j         }|j        d S |j        j        S r   )r"   _parserErrorColumnNumberr#   s     r   getColumnNumberzExpatLocator.getColumnNumber<   s!    >!4~//r   c                 :    | j         }|j        dS |j        j        S N   )r"   r(   ErrorLineNumberr#   s     r   getLineNumberzExpatLocator.getLineNumberB   s!    >!1~--r   c                 J    | j         }|d S |j                                        S r   )r"   _sourcegetPublicIdr#   s     r   r2   zExpatLocator.getPublicIdH   '    >4~))+++r   c                 J    | j         }|d S |j                                        S r   )r"   r1   getSystemIdr#   s     r   r5   zExpatLocator.getSystemIdN   r3   r   N)	r   r   r   __doc__r&   r*   r/   r2   r5   r   r   r   r    r    3   si         
% % %0 0 0. . ., , ,, , , , ,r   r    c                       e Zd ZdZd%dZd Zd Zd Zd Zd	 Z	d
 Z
d Zd&dZd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd  Zd! Z d" Z!d# Z"d$S )'ExpatParserz$SAX driver for the pyexpat C module.r     c                     t           j                            | |           t          j                    | _        d | _        || _        d | _        d| _        g | _	        d| _
        d | _        d S )NFr   )r   IncrementalParserr&   InputSourcer1   r(   _namespaces_lex_handler_prop_parsing_entity_stack_external_ges
_interning)r$   namespaceHandlingbufsizes      r   r&   zExpatParser.__init__Z   sd    #,,T7;;; ,..,!%r   c                 (   t          j        |          }|| _        	 |                                  | j                            t          |                      t          j        	                    | |           dS #  | 
                                  xY w)z3Parse an XML document from a URL or an InputSource.N)r   prepare_input_sourcer1   reset_cont_handlersetDocumentLocatorr    r   r;   parse_close_sourcer$   sources     r   rJ   zExpatParser.parseg   s    .v66		JJLLL11,t2D2DEEE'--dF;;;;;	    s   AA: :Bc                     |                                 .| j                            |                                            d S d S r   )r5   r(   SetBaserL   s     r   prepareParserzExpatParser.prepareParserw   sD    +L  !3!3!5!566666 ,+r   c                     t           j                            | |           | j        r|                                  d S d S r   )r   r;   setContentHandlerr?   _reset_cont_handler)r$   r   s     r   rR   zExpatParser.setContentHandler}   sG    #55dGDDD= 	'$$&&&&&	' 	'r   c                     |t           k    r| j        S |t          k    r	| j        d uS |t          t
          t          fv rdS |t          k    r| j        S t          d|z            )Nr   Feature '%s' not recognized)
r   r=   r	   rB   r   r   r   r   rA   SAXNotRecognizedExceptionr$   names     r   
getFeaturezExpatParser.getFeature   sy    %%%##---?$..(*>02 2 21)))%%'(E(LMMMr   c                    | j         rt          d          |t          k    r	|| _        d S |t          k    r	|| _        d S |t          k    r|r| j        	i | _        d S d S d | _        d S |t          k    r|rt          d          d S |t          k    r|rt          d          d S |t          k    r|rt          d          d S t          d|z            )Nz!Cannot set features while parsingz!expat does not support validationz/expat does not read external parameter entitiesz(expat does not report namespace prefixesrU   )r?   SAXNotSupportedExceptionr   r=   r   rA   r	   rB   r   r   r   rV   )r$   rX   states      r   
setFeaturezExpatParser.setFeature   sQ   = 	P*+NOOO%%%$D)))!&D--- '?*&(DOOO +* #'''' 9.79 9 99 9 ))) G.EG G GG G /// @.>@ @ @@ @ ,-46 6 6r   c                 4   |t           j        k    r| j        S |t          k    r| j        S |t
          k    rS| j        r=t          | j        d          r| j                                        S t          d          t          d          t          d|z            )NGetInputContextz=This version of expat does not support getting the XML stringz.XML string cannot be returned when not parsingProperty '%s' not recognized)r   property_lexical_handlerr>   r   rB   r
   r(   hasattrr_   rV   r[   rW   s     r   getPropertyzExpatParser.getProperty   s    7333)),,,?"(((| 	F4<):;; +<779993*+ + + /DF F F'(F(MNNNr   c                     |t           j        k    r&|| _        | j        r|                                  d S d S |t
          k    r	|| _        d S |t          k    rt          d|z            t          d|z            )NzProperty '%s' cannot be setr`   )
r   ra   r>   r?   _reset_lex_handler_propr   rB   r
   r[   rV   )r$   rX   values      r   setPropertyzExpatParser.setProperty   s    7333%*D"} /,,...../ /,,,#DOOO(((*+H+/,0 1 1 1 ,,J,0-1 2 2 2r   Fc                 r   | j         s4|                                  d| _         | j                                         	 | j                            ||           d S # t          j        $ rM}t          t          j	        |j
                  ||           }| j                            |           Y d }~d S d }~ww xY w)NT)r?   rG   rH   startDocumentr(   Parser   errorSAXParseExceptionErrorStringcode_err_handler
fatalError)r$   dataisFinaleexcs        r   feedzExpatParser.feed   s    } 	/JJLLL DM,,...		.
 LtW-----{ 	. 	. 	.#E$5af$=$=q$GGC((---------	.s   A B6)AB11B6c                 "   | j         }	 |                                }||                                 |                                }||                                 d S d S # |                                }||                                 w w xY wr   )r1   getCharacterStreamclosegetByteStream)r$   rM   files      r   rK   zExpatParser._close_source   s    	,,..D

''))D

   ''))D

  s   *A! !-Bc                 F   | j         s!| j        t          | j        t                    rd S 	 |                     dd           | j                                         d| _        d | _        d| _        | j        7t                      }| j        j        |_        | j        j	        |_	        || _        | 
                                 d S # d| _        | j        7t                      }| j        j        |_        | j        j	        |_	        || _        | 
                                 w xY w)Nr   T)rr   F)r@   r(   
isinstancer   ru   rH   endDocumentr?   r)   r.   rK   r#   s     r   rx   zExpatParser.close   s    	$,"6t|]33 #7 F	!IIc4I(((**,,,!DMDL!DM|'&+/<+I()-)E&%      "DM|'&+/<+I()-)E&%    s   >C AD c                 ^    | j         j        | j        _        | j         j        | j        _        d S r   )rH   processingInstructionr(   ProcessingInstructionHandler
charactersCharacterDataHandlerr$   s    r   rS   zExpatParser._reset_cont_handler   s+    $($6$L 	1,0,>,I)))r   c                     | j         }| j        }|%d |_        d |_        d |_        d |_        d |_        d S |j        |_        |j        |_        |j	        |_        | j
        |_        |j        |_        d S r   )r>   r(   CommentHandlerStartCdataSectionHandlerEndCdataSectionHandlerStartDoctypeDeclHandlerEndDoctypeDeclHandlercomment
startCDATAendCDATAstart_doctype_declendDTD)r$   lexr%   s      r   re   z#ExpatParser._reset_lex_handler_prop  s}    $;$(F!.2F+,0F)-1F*+/F((($'KF!.1nF+,/LF)-1-DF*+.:F(((r   c                 T   | j         rgt          j        | j                                        d| j                  | _        d| j        _        | j        | j        _	        | j
        | j        _        nYt          j        | j                                        | j                  | _        | j        | j        _	        | j        | j        _        |                                  | j        | j        _        | j        | j        _        | j        | j        _        | j        | j        _        d | _        | j        r|                                  | j        | j        _        	 | j        | j        _        n# t<          $ r Y nw xY w| j                            t          j                    d| _!        g | _"        d S )N )internr-   F)#r=   r   r   r1   getEncodingrB   r(   namespace_prefixesstart_element_nsStartElementHandlerend_element_nsEndElementHandlerstart_elementend_elementrS   unparsed_entity_declUnparsedEntityDeclHandlernotation_declNotationDeclHandlerstart_namespace_declStartNamespaceDeclHandlerend_namespace_declEndNamespaceDeclHandler_decl_handler_propr>   re   external_entity_refExternalEntityRefHandlerskipped_entity_handlerSkippedEntityHandlerAttributeErrorSetParamEntityParsing*XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONEr?   r@   r   s    r   rG   zExpatParser.reset  s    
	> -dl.F.F.H.H#59_F F FDL./DL+/3/DDL,-1-@DL** -dl.F.F.H.H7;H H HDL/3/ADL,-1-=DL*  """151J.+/+=(151J./3/F,"&! 	+((*** 150H-	040KDL-- 	 	 	D	 	**<	> 	> 	> s   E& &
E32E3c                 ,    | j         d S | j         j        S r   )r(   r)   r   s    r   r*   zExpatParser.getColumnNumber;  s    <4|--r   c                 ,    | j         dS | j         j        S r,   )r(   r.   r   s    r   r/   zExpatParser.getLineNumber@  s    <1|++r   c                 4    | j                                         S r   )r1   r2   r   s    r   r2   zExpatParser.getPublicIdE      |'')))r   c                 4    | j                                         S r   )r1   r5   r   s    r   r5   zExpatParser.getSystemIdH  r   r   c                 V    | j                             |t          |                     d S r   )rH   startElementAttributesImpl)r$   rX   attrss      r   r   zExpatParser.start_elementL  s)    ''nU.C.CDDDDDr   c                 :    | j                             |           d S r   )rH   
endElementrW   s     r   r   zExpatParser.end_elementO      %%d+++++r   c                 J   |                                 }t          |          dk    rd |f}n3t          |          dk    r|d         |d         f}nt          |          }i }i }|                                D ]\  }}|                                 }t          |          }	|	dk    r|}
d |f}nA|	dk    r$|d         d|d         }
|d         |d         f}n|d         }
t          |          }|||<   |
||<   | j                            |d t          ||                     d S )Nr-      r      :)splitlentupleitemsrH   startElementNSAttributesNSImpl)r$   rX   r   pairnewattrsqnamesanamerf   partslengthqnameapairs               r   r   zExpatParser.start_element_nsR  sI   zz||t99>>$<DDYY!^^7DG#DD ;;D#kkmm 	" 	"NUEKKMMEZZF{{u1#(888U1XX6a%(* ae#HUO!F5MM))$*:8V*L*L	N 	N 	N 	N 	Nr   c                     |                                 }t          |          dk    rd |f}n3t          |          dk    r|d         |d         f}nt          |          }| j                            |d            d S )Nr-   r   r   )r   r   r   rH   endElementNS)r$   rX   r   s      r   r   zExpatParser.end_element_nst  sv    zz||t99>>$<DDYY!^^7DG#DD;;D''d33333r   c                 <    | j                             ||           d S r   )rH   r   )r$   targetrq   s      r   processing_instructionz"ExpatParser.processing_instruction  s!    00>>>>>r   c                 :    | j                             |           d S r   )rH   r   )r$   rq   s     r   character_datazExpatParser.character_data  r   r   c                 <    | j                             ||           d S r   )rH   startPrefixMapping)r$   prefixuris      r   r   z ExpatParser.start_namespace_decl  s!    --fc:::::r   c                 :    | j                             |           d S r   )rH   endPrefixMapping)r$   r   s     r   r   zExpatParser.end_namespace_decl  s    ++F33333r   c                 >    | j                             |||           d S r   )r>   startDTD)r$   rX   sysidpubidhas_internal_subsets        r   r   zExpatParser.start_doctype_decl  s#    ''eU;;;;;r   c                 @    | j                             ||||           d S r   )_dtd_handlerunparsedEntityDecl)r$   rX   baser   r   notation_names         r   r   z ExpatParser.unparsed_entity_decl  s%    ,,T5%OOOOOr   c                 >    | j                             |||           d S r   )r   notationDecl)r$   rX   r   r   r   s        r   r   zExpatParser.notation_decl  s#    &&tUE:::::r   c                    | j         sdS | j                            ||          }t          j        || j                                        pd          }| j                            | j	        | j        f           | j	        
                    |          | _	        || _        	 t          j                            | |           n#  Y dS xY w| j        d         \  | _	        | _        | j        d= dS )Nr-    r   )rA   _ent_handlerresolveEntityr   rF   r1   r5   r@   appendr(   ExternalEntityParserCreater   r;   rJ   )r$   contextr   r   r   rM   s         r   r   zExpatParser.external_entity_ref  s    ! 	1"00>>.v/3|/G/G/I/I 02/13 3 	!!4<">???|>>wGG	'--dF;;;;	11'+'9"'=$t|r"qs     C Cc                 H    |rd|z   }| j                             |           d S )N%)rH   skippedEntity)r$   rX   is_pes      r   r   z"ExpatParser.skipped_entity_handler  s0     	t8D((.....r   N)r   r9   )F)#r   r   r   r6   r&   rJ   rP   rR   rY   r]   rc   rg   ru   rK   rx   rS   re   rG   r*   r/   r2   r5   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r8   r8   W   s	       ..	 	 	 	   7 7 7' ' '

N 
N 
N6 6 6<O O O$2 2 2 . . . ."	 	 	! ! !*J J J
6 6 6 #  #  # N. . .
, , ,
* * ** * *E E E, , , N  N  ND	4 	4 	4? ? ?, , ,; ; ;4 4 4< < <P P P; ; ;  ,/ / / / /r   r8   c                      t          | i |S r   )r8   )argskwargss     r   create_parserr     s    ''''r   __main__z:http://www.ibiblio.org/xml/examples/shakespeare/hamlet.xml)-r6   versionxml.sax._exceptionsxml.sax.handlerr   r   r   r   r   r	   r
   r   sysplatformSAXReaderNotAvailablexml.parsersr   rb   ImportErrorxml.saxr   r   r   r   r   _weakrefweakrefproxyr   r   Locatorr    r;   r8   r   r   xml.sax.saxutilsxmlprR   saxXMLGeneratorsetErrorHandlerErrorHandlerrJ   r   r   r   <module>r     s   
  ! ! ! ! B B B B B B B B 6 6 6 6 6 6 F F F F F F F F 4 4 4 4 4 4 H H H H H H H H 


<v

 =t
D
DDA!!!!!! 75.)) A##$94@@@A  = = =

 5t
<
<<=
 1 0 0 0 0 0 0 0 0 0)- 
OOO
 NNN}H        	 	 	 	 	 	 	 	
, , , , ,9$ , , ,HY/ Y/ Y/ Y/ Y/)-y/@ Y/ Y/ Y/z
( ( (
 zA(5577888cg**,,---GGHIIIII s   A1 1BB1 1B<;B<