\dddlZddlmZddlmZdZedzZedzZdZGd d e Z Gd d e Z dd Z ddefdZ dZdS)N) ElementTree)urljoinz!{http://www.w3.org/2001/XInclude}includefallbackceZdZdS)FatalIncludeErrorN__name__ __module__ __qualname__)..\python\lib\xml\etree\ElementInclude.pyr r CDrr ceZdZdS)LimitedRecursiveIncludeErrorNr rrrrrGrrrc4|dkrOt|d5}tj|}dddn #1swxYwYnB|sd}t|d|5}|}dddn #1swxYwY|S)NxmlrbzUTF-8r)encoding)openrparsegetrootread)hrefrrfiledatas rdefault_loaderr!Ws ~~ $   5$T**2244D 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 H $h / / / 499;;D                Ks#'A  AA,B  BBc|d}n|dkrtd|zt|dr|}|t}t ||||t dS)Nrz;expected non-negative depth or None for 'max_depth', got %rr) ValueErrorhasattrrr!_includeset)elemloaderbase_url max_depths rrrtsv QVYbbccctY||~~ ~ T68Y66666rcNd}|t|kr||}|jtkr|d}|rt ||}|dd}|dkr||vrt d|z|dkrt d|z|||||} | t d|d|tj| } t| |||d z || ||j r| j pd |j z| _ | ||<n|d kr}||||d } | t d|d||j r | |j z } |r||d z } | j pd | z| _ n|j pd | z|_ ||=t d |z|jtkrt d|jzt||||||d z }|t|k dSdS)Nrrrrzrecursive include of %sz5maximum xinclude depth reached when including file %sz cannot load z as rtextrz)unknown parse type in xi:include tag (%r)z0xi:fallback tag must be child of xi:include (%r))lentagXINCLUDE_INCLUDEgetrr raddcopyr&removetailr.XINCLUDE_FALLBACK) r(r)r*r+ _parent_hrefsierrnoder.s rr&r&s A c$ii-- G 5$ $ $55==D /x..EE'5))E~~=((+,E,LMMM>>6ORVVXXX!!$'''vdE**<++26$$>yvtY]MJJJ$$T***6;!%bAF :DIQ&vdE155+<+<==<++26$$>6#AFND9!9D!%bD 8DII!%bD 8DIG'?%GU' ' '#BQUJ  Q)] C C C Qg c$ii------r)N)r4r-r urllib.parserXINCLUDEr1r7DEFAULT_MAX_INCLUSION_DEPTH SyntaxErrorr rr!rr&rrrr@sf  .i'z)               #4      :1 7 7 7 766666r