
f#]c           @  s  d  Z  d d l m Z d d l Z d d l Z d d l Z d d l Z d d l Z	 d d l
 m Z e j e  Z d e j j j f d     YZ d e j j j f d     YZ d	 e f d
     YZ d e f d     YZ d e j j j e f d     YZ d e f d     YZ g  a d   Z d   Z d e k rd d l Z d d l Z d d l j j  Z  d d l! Z! d d l" Z# d d l$ Z# d d l% Z% e Z& d Z' d e( e% j)  k  re% j) d Z' n  e* e' d  j+   Z, e! j!   Z- e! j!   Z. e j/ j0 j1 e j2 e,   Z/ e! j!   Z3 e! j!   Z4 e d e    Z5 e! j!   Z6 e5 j1 e j2 e,   e! j!   Z7 e! j!   Z8 e d e    Z5 e! j!   Z9 e5 j1 e j2 e,   e! j!   Z: e! j!   Z; e d e  j<  Z= e= j>   Z? e! j!   Z@ e= j1 e j2 e,   e! j!   ZA e! j!   ZB e# jC jD e,  ZE e! j!   ZF e&   ZG e# j jH eE eG  e! j!   ZI e! j!   ZJ e# jC jD e,  ZE e! j!   ZK e j/ jL jM   ZN e# j jH eE eN  e! j!   ZO eP d e. e- e3 e. e3 e- f  eP d e6 e4 e7 e6 e7 e4 f  eP d e9 e8 e: e9 e: e8 f  eP d e@ e; eA e@ eA e; f  eP d eF eB eI eF eI eB f  eP d eK eJ eO eK eO eJ f  n  d S(   s  This module contains support for processing XML using a SAX parser.

In particular, it provides a L{base content handler class<BaseSAXHandler>}
that maintains namespace context and element state in a stack; and a L{base
element state class <SAXElementState>} which records the location of the
element in the stream.  These classes are extended for specific parsing needs
(e.g., L{pyxb.binding.saxer}).
i(   t   print_functionN(   t   sixt   TracingSAXHandlerc           B  se   e  Z d  Z e Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d   Z d   Z d	   Z RS(
   s=   A SAX handler class which prints each method invocation.
    c         C  s   t  d | f  d  S(   Ns   setDocumentLocator %s(   t   print(   t   selft   locator(    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyt   setDocumentLocator*   s    c         C  s   t  d  d  S(   Nt   startDocument(   R   (   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyR   -   s    c         C  s   t  d | | f  d  S(   Ns   startPrefixMapping %s %s(   R   (   R   t   prefixt   uri(    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyt   startPrefixMapping0   s    c         C  s   t  d | f  d  S(   Ns   endPrefixMapping %s(   R   (   R   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyt   endPrefixMapping3   s    c         C  s   t  d | | f  d  S(   Ns   startElementNS %s %s(   R   (   R   t   namet   qnamet   attrs(    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyt   startElementNS6   s    c         C  s   t  d | | f  d  S(   Ns   endElementNS %s %s(   R   (   R   R   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyt   endElementNS9   s    c         C  s   t  d | f  d  S(   Ns   characters %s(   R   (   R   t   content(    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyt
   characters<   s    c         C  s   t  d t |  f  d  S(   Ns   ignorableWhitespace len %d(   R   t   len(   R   t
   whitespace(    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyt   ignorableWhitespace?   s    c         C  s   t  d | | f  d  S(   Ns   processingInstruction %s %s(   R   (   R   t   targett   data(    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyt   processingInstructionB   s    (   t   __name__t
   __module__t   __doc__t   Falset   _TracingSAXHandler__traceR   R   R
   R   R   R   R   R   R   (    (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyR   #   s   								t   _NoopSAXHandlerc           B  s_   e  Z d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z RS(
   sx   A SAX handler class which doesn't do anything.  Used to get baseline
    performance parsing a particular document.
    c         C  s   d  S(   N(    (   R   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyR   J   s    c         C  s   d  S(   N(    (   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyR   M   s    c         C  s   d  S(   N(    (   R   R   R	   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyR
   P   s    c         C  s   d  S(   N(    (   R   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyR   S   s    c         C  s   d  S(   N(    (   R   R   R   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyR   V   s    c         C  s   d  S(   N(    (   R   R   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyR   Y   s    c         C  s   d  S(   N(    (   R   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyR   \   s    c         C  s   d  S(   N(    (   R   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyR   _   s    c         C  s   d  S(   N(    (   R   R   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyR   b   s    (   R   R   R   R   R   R
   R   R   R   R   R   R   (    (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyR   E   s   								t   SAXInformationItemc           B  s2   e  Z d  Z d Z d Z d Z d Z d d  Z RS(   sC   Class used to capture an item discovered in the body of an element.c         C  s(   | |  _  | |  _ | |  _ | |  _ d  S(   N(   t   locationt   itemt   maybe_elementt   element_decl(   R   R    R!   R"   R#   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyt   __init__x   s    			N(	   R   R   R   t   NoneR    R!   R"   R#   R$   (    (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyR   e   s   t   SAXElementStatec           B  s   e  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
 d	  Z RS(   sI   State corresponding to processing a given element with the SAX
    model.c         C  s   |  j  S(   sS   Reference to the C{xml.sxa.handler.ContentHandler} that is processing the document.(   t    _SAXElementState__contentHandler(   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyt   contentHandler   s    c         C  s   |  j  S(   sK   Reference to the SAXElementState of the element enclosing this
        one.(   t   _SAXElementState__parentState(   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyt   parentState   s    c         C  s   |  j  S(   s=   The L{pyxb.namespace.NamespaceContext} used for this binding.(   t"   _SAXElementState__namespaceContext(   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyt   namespaceContext   s    c         C  s   |  j  S(   sI   The L{expanded name<pyxb.namespace.ExpandedName>} of the
        element.(   t   _SAXElementState__expandedName(   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyt   expandedName   s    c         C  s   |  j  S(   sX   The L{location<pyxb.utils.utility.Location>} corresponding to the
        element event.(   t   _SAXElementState__location(   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyR       s    c         C  s   |  j  S(   s  An accumulation of content to be supplied to the content model when
        the element end is reached.

        This is a list, with each member being C{(content, element_use,
        maybe_element)}.  C{content} is text or a binding instance;
        C{element_use} is C{None} or the
        L{ElementDeclaration<pyxb.binding.content.ElementDeclaration>} instance used to create
        the content; and C{maybe_element} is C{True} iff the content is
        non-content text.(   t   _SAXElementState__content(   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyR      s    
c         K  sw   | j  d  |  _ | d |  _ | j  d  |  _ | j  d  |  _ |  j d  k	 sX t  |  j j   |  _ g  |  _	 d  S(   Nt   expanded_namet   namespace_contextt   parent_statet   content_handler(
   t   getR-   R+   R)   R'   R%   t   AssertionErrorR    R/   R0   (   R   t   kw(    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyR$      s    c         C  s    |  j  j t | | t   d S(   s   Add the given text as non-element content of the current element.
        @type content: C{unicode} or C{str}
        @return: C{self}
        N(   R0   t   appendR   R   (   R   R    R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyt   addTextContent   s    c         C  s#   |  j  j t | | t |   d S(   s=  Add the given binding instance as element content corresponding to
        the given use.

        @param element: Any L{binding instance<pyxb.binding.basis._TypeBinding_mixin>}.

        @param element_decl: The L{element
        use<pyxb.binding.content.ElementDeclaration>} in the containing complex type.
        N(   R0   R8   R   t   True(   R   R    t   elementR#   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyt   addElementContent   s    	N(   R   R   R   R(   R%   R'   R*   R)   R,   R+   R.   R-   R    R/   R   R0   R$   R9   R<   (    (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyR&   ~   s    									t   BaseSAXHandlerc           B  s   e  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 g  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  RS(   s   A SAX handler class that maintains a stack of enclosing elements and
    manages namespace declarations.

    This is the base for L{pyxb.utils.saxdom._DOMSAXHandler} and
    L{pyxb.binding.saxer.PyXBSAXHandler}.
    c         C  s   |  j  j |  j  S(   s>   Return the current location within the SAX-processed document.(   t!   _BaseSAXHandler__locationTemplatet   newLocationt   _BaseSAXHandler__locator(   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyR       s    c         C  s   |  j  S(   sQ   Return the namespace used to resolve unqualified names with no default namespace.(   t"   _BaseSAXHandler__fallbackNamespace(   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyt   fallbackNamespace   s    c         C  s   |  j  S(   s   Return the namespace context used for QName resolution within the
        current element.

        @return: An instance of L{pyxb.namespace.NamespaceContext}(   t!   _BaseSAXHandler__namespaceContext(   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyR,      s    c         C  s   |  j  S(   N(   t   _BaseSAXHandler__elementState(   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyt   elementState  s    c         C  s   |  j  S(   s   Return the binding object corresponding to the top-most
        element in the document

        @return: An instance of L{basis._TypeBinding_mixin} (most usually a
        L{basis.complexTypeDefinition}.(   t   _BaseSAXHandler__rootObject(   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyt
   rootObject	  s    c      	   C  sp   t  j j d |  j d |  j d |  j d t  |  _ d |  _	 |  j
 d |  d |  j  |  _ g  |  _ d |  _ |  S(   sw   Reset the state of the handler in preparation for processing a new
        document.

        @return: C{self}
        t   default_namespacet   target_namespacet   including_contextt   finalize_target_namespaceR4   R2   N(   t   pyxbt	   namespacet   NamespaceContextRA   t    _BaseSAXHandler__targetNamespacet!   _BaseSAXHandler__includingContextR   RC   R%   t%   _BaseSAXHandler__nextNamespaceContextt(   _BaseSAXHandler__elementStateConstructorRD   t"   _BaseSAXHandler__elementStateStackRF   (   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyt   reset  s    					c         K  s|   | j  d d  |  _ | j  d d  |  _ | j  d t  |  _ | j  d d  |  _ t j j	 j
 | j  d d   |  _ d S(   s  Create a new C{xml.sax.handler.ContentHandler} instance to maintain state relevant to elements.

        @keyword fallback_namespace: Optional namespace to use for unqualified
        names with no default namespace in scope.  Has no effect unless it is
        an absent namespace.

        @keyword element_state_constructor: Optional callable object that
        creates instances of L{SAXElementState} that hold element-specific
        information.  Defaults to L{SAXElementState}.

        @keyword target_namespace: Optional namespace to set as the target
        namespace.  If not provided, there is no target namespace (not even an
        absent one).  This is the appropriate situation when processing plain
        XML documents.

        @keyword location_base: An object to be recorded as the base of all
        L{pyxb.utils.utility.Location} instances associated with events and
        objects handled by the parser.
        RJ   t   fallback_namespacet   element_state_constructorRI   t   location_baseN(   t   popR%   RP   RA   R&   RR   RO   RL   t   utilst   utilityt   LocationR>   (   R   R7   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyR$   %  s
    c         C  s   | |  _  d S(   s   Save the locator object.N(   R@   (   R   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyR   ?  s    c         C  s   |  j    d S(   s   Process the start of a document.

        This resets this handler for a new document.
        @note: setDocumentLocator is invoked before startDocument
        N(   RT   (   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyR   C  s    c         C  sR   |  j  } | d  k rN |  j d  k	 s* t  t j j d |  j  } | |  _  n  | S(   Nt   parent_context(   RQ   R%   RC   R6   RL   RM   RN   (   R   t   ns_ctx(    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyt!   __getOrCreateNextNamespaceContextK  s    	c         C  s   |  j    j | |  d S(   s   Implement base class method.

        @note: For this to be invoked, the C{feature_namespaces} feature must
        be enabled in the SAX parser.N(   t0   _BaseSAXHandler__getOrCreateNextNamespaceContextt   processXMLNS(   R   R   R	   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyR
   S  s    c   	   	   C  s+  |  j    t j j | d |  j } t j j j |  } | d k	 rU |  j   } n	 |  j	 } | d k rv |  j
 } n	 | |  _
 d |  _	 | d k	 r | j | j | j    d |  j | j   d k	 s t  n  |  j } |  j j |  j  |  j d |  d | d | d |  |  _ } | | | | f S(   s    Process the start of an element.RU   RJ   R4   R1   R2   R3   N(   t!   _BaseSAXHandler__flushPendingTextRL   RM   t   ExpandedNameRA   RN   t   _TargetNamespaceAttributeR%   R_   RQ   RC   t   finalizeTargetNamespaceR5   t   uriTupleRP   t   targetNamespaceR6   RD   RS   R8   RR   (	   R   R   R   R   R1   t   tns_attrR]   R3   t
   this_state(    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyR   _  s(    
			%	c         C  sE   |  j    |  j } |  j j   } |  _ | j   |  _ d |  _ | S(   s%   Process the completion of an element.N(   Ra   RD   RS   RX   R,   RC   R%   RQ   (   R   R   R   Rh   R3   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyR     s    
		c         C  se   |  j  rO |  j } | d  k r- |  j   } n  |  j j | d j |  j    n  d  |  _ g  |  _  d  S(   Nt    (   t   _BaseSAXHandler__pendingTextt$   _BaseSAXHandler__pendingTextLocationR%   R    RD   R9   t   join(   R   R    (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyt   __flushPendingText  s    		"	c         C  s5   |  j  d k r! |  j   |  _  n  |  j j |  d S(   s   Save the text as contentN(   Rk   R%   R    Rj   R8   (   R   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyR     s    c         C  s   |  j  j |  d S(   s   Save whitespace as content too.N(   Rj   R8   (   R   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyR     s    c         C  s   |  j    d  S(   N(   Ra   (   R   R   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyR     s    N(!   R   R   R   R%   R>   R    RR   RB   RA   RQ   R,   RC   RP   R@   RE   RD   RS   RG   RF   RT   R$   R   R   R_   R
   R   R   Rj   Rk   Ra   R   R   R   (    (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyR=      s<   												*					t   _EntityResolverc           B  s   e  Z d  Z d   Z RS(   su   Dummy used to prevent the SAX parser from crashing when it sees
    processing instructions that we don't care about.c         C  s   t  j t j d   S(   NRi   (   t   iot   StringIOR   t   u(   R   t	   public_idt	   system_id(    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyt   resolveEntity  s    (   R   R   R   Rt   (    (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyRn     s   c         C  s%   |  d k r g  a n t |   a d S(   s  Provide list of modules to be used when creating parsers.

    C{xml.sax.make_parser()} takes as a parameter an optional list of modules
    which allow customization of the parser to be used.  Certain parsers have
    better support for Unicode than others.

    As an example, providing C{["drv_libxml2"]} causes the libxml2 parser to
    be used.

    The default behavior if this function is not called, or if it is called
    with an empty list or C{None}, is to provide no specific modules, which
    will result in the system default parser (probably expat).

    @param create_parser_modules: an iterable list of names of modules that
    provide a C{create_parser} function.  Pass C{None} to reset to the system
    default.  N(   R%   t   _CreateParserModulest   list(   t   create_parser_modules(    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyt   SetCreateParserModules  s    	c          K  s   |  j  d t  } |  j  d d  } | d k r? | |    } n  t j j t  } | j t j j j	 t
  | j t j j j t  | j |  y | j t    Wn t j j k
 r n X| S(   s  Extend C{xml.sax.make_parser} to configure the parser the way we
    need it:

      - C{feature_namespaces} is set to C{True} so we process xmlns
        directives properly
      - C{feature_namespace_prefixes} is set to C{False} so we don't get
        prefixes encoded into our names (probably redundant with the above but
        still...)

    All keywords not documented here (and C{fallback_namespace}, which is) are
    passed to the C{content_handler_constructor} if that must be invoked.

    @keyword content_handler: The content handler instance for the
    parser to use.  If not provided, an instance of C{content_handler_constructor}
    is created and used.
    @type content_handler: C{xml.sax.handler.ContentHandler}

    @keyword content_handler_constructor: A callable which produces an
    appropriate instance of (a subclass of) L{BaseSAXHandler}.  The default is
    L{BaseSAXHandler}.

    @keyword fallback_namespace: The namespace to use for lookups of
    unqualified names in absent namespaces; see
    L{pyxb.namespace.ExpandedName}.  This keyword is not used by this
    function, but is passed to the C{content_handler_constructor}.
    @type fallback_namespace: L{pyxb.namespace.Namespace}
    t   content_handler_constructorR4   N(   RX   R=   R%   t   xmlt   saxt   make_parserRu   t
   setFeaturet   handlert   feature_namespacesR:   t   feature_namespace_prefixesR   t   setContentHandlert   setEntityResolverRn   t   SAXNotSupportedException(   R7   Ry   R4   t   parser(    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyR|     s    t   __main__s)   examples/tmsxtvd/tmsdatadirect_sample.xmli   t   rbR4   Ry   s#   minidom read %f, parse %f, total %fs&   SAX+noop create %f, parse %f, total %fs$   SAX+ns create %f, parse %f, total %fs/   PyXB SAXDOM-based create %f, parse %f, total %fs$   LXML+SAX tree %f, parse %f, total %fs,   LXML+pulldom DOM tree %f, parse %f, total %f(Q   R   t
   __future__R    t   xml.saxRz   t   xml.sax.handlerRo   t   loggingt   pyxb.namespaceRL   t
   pyxb.utilsR   t	   getLoggerR   t   _logR{   R~   t   ContentHandlerR   R   t   objectR   R&   R=   Rn   Ru   Rx   R|   t   xml.dom.pulldomt   xml.dom.minidomt   pyxb.utils.saxdomRY   t   saxdomt   timet   lxml.saxt   lxmlt
   lxml.etreet   syst   Handlert   xml_fileR   t   argvt   opent   readt   xmldt   dt1t   dt2t   domt   minidomt   parset   BytesIOt   dt3t   snt1t   saxert   snt2t   snt3t   sbt1t   sbt2t   sbt3t   pdt1t   _DOMSAXHandlert   sdomert   getContentHandlert   ht   pdt2t   pdt3t   lst1t   etreet
   fromstringt   treet   lst2t   lsht   saxifyt   lst3t   ldt1t   ldt2t   pulldomt   SAX2DOMt   ldht   ldt3R   (    (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/utils/saxutils.pyt   <module>   s   " H"		+	#####