Files
proxmox/venv/lib/python3.12/site-packages/jinja2/__pycache__/compiler.cpython-312.pyc

562 lines
102 KiB
Plaintext
Raw Normal View History

<EFBFBD>
<0E>Hi<48>!<00><00> <00>dZddlZddlmZddlmZddlmZddl m
Z
ddl m Z ddlmZdd lmZd
d lmZd
d lmZd
d lmZd
dlmZd
dlmZd
dlmZd
dlmZd
dlmZd
dlmZd
dlmZd
dlm Z d
dl!m"Z"ejFr
ddl$Z%d
dl&m'Z'ejPdejRdejTf<00><1A>Z+dddddd d!d"d#<23>Z,d$e+d%e+fd&<26>Z-d'e.d%ejRd(ej^d)gdffd*<2A>Z0d'e.d%ejRd(ejbd)gdffd+<2B>Z2 dFd,ejfd-d.d/ejhe.d0ejhe.d1ejhejjd2e6d3e6d%ejhe.fd4<64>Z7d5ejTd%e6fd6<64>Z8d7ejrejtd8ejre.d%ejve.fd9<64>Z<Gd:<3A>d;<3B>Z=Gd<<3C>d)<29>Z>Gd=<3D>d>e?<3F>Z@Gd?<3F>d@e"<22>ZAGdA<64>dBe"<22>ZBGdC<64>dDeC<65>ZDGdE<64>d(e"<22>ZEy)Gz0Compiles nodes from the parser into Python code.<2E>N)<01>contextmanager)<01>update_wrapper)<01>StringIO)<01>chain)<01> iskeyword)<01>escape)<01>Markup<75>)<01>nodes)<01>TemplateAssertionError)<01>Symbols)<01>VAR_LOAD_ALIAS)<01>VAR_LOAD_PARAMETER)<01>VAR_LOAD_RESOLVE)<01>VAR_LOAD_UNDEFINED)<01> EvalContext)<01> Optimizer)<01>_PassArg)<01>concat)<01> NodeVisitor)<01> Environment<6E>F.)<01>boundz==z!=<3D>>z>=<3D><z<=<3D>inznot in)<08>eq<65>ne<6E>gt<67>gteq<65>lt<6C>lteqr<00>notin<69>f<>returnc
<00><><00><00>dddtjdddtjdtjf
<EFBFBD>fd<08> }t |<01><00>S) N<>self<6C> CodeGenerator<6F>node<64>frame<6D>Frame<6D>kwargsr%c<00><><00><01>|j<00>S|jjs=|jj||j<00>}||k7r|j||<02>S<00>|||fi|<03><01>S<00>N)<04> optimizer<65>eval_ctx<74>volatile<6C>visit)r'r)r*r,<00>new_noder$s <20><>Q/home/intlc/projects/proxmox/venv/lib/python3.12/site-packages/jinja2/compiler.py<70>new_funczoptimizeconst.<locals>.new_func.sb<00><><00> <10>><3E>><3E> %<25>e<EFBFBD>n<EFBFBD>n<EFBFBD>.E<>.E<><1B>~<7E>~<7E>+<2B>+<2B>D<EFBFBD>%<25>.<2E>.<2E>A<>H<EFBFBD><17>4<EFBFBD><1F><1B>z<EFBFBD>z<EFBFBD>(<28>E<EFBFBD>2<>2<><10><14>t<EFBFBD>U<EFBFBD>-<2D>f<EFBFBD>-<2D>-<2D>)r <00>Expr<70>t<>Anyr)r$r5s` r4<00> optimizeconstr:-sK<00><><00>
.<2E><1D>
.<2E>%*<2A>Z<EFBFBD>Z<EFBFBD>
.<2E>8?<3F>
.<2E>KL<4B>5<EFBFBD>5<EFBFBD>
.<2E>
<EFBFBD><15><15>
.<2E> <1A>(<28>A<EFBFBD> &<26>&r6<00>opr(r+c <00>Z<00><00>tdddtjdtddf<08>fd<06> <0C>}|S)Nr'r(r)r*r%c<00><><00><01>|jjrw<72>|jjvr_|jd<01><03>d<02><03>|j |j
|<02>|jd<02>|j |j |<02>n^|jd<03>|j |j
|<02>|jd<04><03>d<04><03>|j |j |<02>|jd<05>y)Nz environment.call_binop(context, <20>, <20>(<28> <20>))<07> environment<6E> sandboxed<65>intercepted_binops<70>writer2<00>left<66>right<68>r'r)r*r;s <20>r4<00>visitorz_make_binop.<locals>.visitor>s<><00><><00> <11> <1C> <1C> &<26> &<26>2<EFBFBD><14>1A<31>1A<31>1T<31>1T<31>+T<> <10>J<EFBFBD>J<EFBFBD>9<>"<22><16>r<EFBFBD>B<> C<> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>y<EFBFBD>y<EFBFBD>%<25> (<28> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD> <1C> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>z<EFBFBD>z<EFBFBD>5<EFBFBD> )<29> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>y<EFBFBD>y<EFBFBD>%<25> (<28> <10>J<EFBFBD>J<EFBFBD><11>2<EFBFBD>$<24>a<EFBFBD>y<EFBFBD> !<21> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>z<EFBFBD>z<EFBFBD>5<EFBFBD> )<29> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD>r6)r:r <00>BinExprr+<00>r;rIs` r4<00> _make_binoprL=s<<00><><00><12><18>o<EFBFBD><18>U<EFBFBD>]<5D>]<5D><18>5<EFBFBD><18>T<EFBFBD><18><13><18> <13>Nr6c <00>Z<00><00>tdddtjdtddf<08>fd<06> <0C>}|S)Nr'r(r)r*r%c<00>H<00><01>|jjrJ<72>|jjvr2|jd<01><03>d<02><03>|j |j
|<02>n0|jd<03>z<00>|j |j
|<02>|jd<04>y)Nzenvironment.call_unop(context, r>r?rA)rBrC<00>intercepted_unopsrEr2r)rHs <20>r4rIz_make_unop.<locals>.visitorUs|<00><><00> <11> <1C> <1C> &<26> &<26>2<EFBFBD><14>1A<31>1A<31>1S<31>1S<31>+S<> <10>J<EFBFBD>J<EFBFBD>8<><12><06>b<EFBFBD>A<> B<> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>y<EFBFBD>y<EFBFBD>%<25> (<28> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>R<EFBFBD>x<EFBFBD> <20> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>y<EFBFBD>y<EFBFBD>%<25> (<28> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD>r6)r:r <00> UnaryExprr+rKs` r4<00>
_make_unoprQRs><00><><00><13>
<18>o<EFBFBD>
<18>U<EFBFBD>_<EFBFBD>_<EFBFBD>
<18>U<EFBFBD>
<18>t<EFBFBD>
<18><13>
<18> <13>Nr6r)rBr<00>name<6D>filename<6D>stream<61>
defer_init<EFBFBD> optimizedc<00><><00>t|tj<00>s td<01><00>|j ||||||<06>}|j |<00>|<04>|j j<00>Sy)z+Generate the python source for a node tree.z Can't compile non template nodesN)<08>
isinstancer <00>Template<74> TypeError<6F>code_generator_classr2rT<00>getvalue)r)rBrRrSrTrUrV<00> generators r4<00>generater^esf<00><00> <16>d<EFBFBD>E<EFBFBD>N<EFBFBD>N<EFBFBD> +<2B><17>:<3A>;<3B>;<3B><1B>0<>0<><13>T<EFBFBD>8<EFBFBD>V<EFBFBD>Z<EFBFBD><19><06>I<EFBFBD><0E>O<EFBFBD>O<EFBFBD>D<EFBFBD><19> <0A>~<7E><18><1F><1F>(<28>(<28>*<2A>*<2A> r6<00>valuec<00>T<00>|<00>|tus|turyt|<00>ttt
t ttthvryt|<00>tttthvrtd<02>|D<00><00>St|<00>tur td<03>|j!<00>D<00><00>Sy)z)Does the node have a safe representation?Tc3<00>2K<00>|]}t|<01><00><01><00>y<00>wr.<00><01> has_safe_repr)<02>.0<EFBFBD>vs r4<00> <genexpr>z has_safe_repr.<locals>.<genexpr><3E>s<00><00><><00>3<><01>=<3D><11>#<23>3<>s<00>c3<00>RK<00>|]\}}t|<01>xr t|<02><00><01><00>!y<00>wr.rb<00>rd<00>kres r4rfz has_safe_repr.<locals>.<genexpr><3E>s&<00><00><><00>S<>T<EFBFBD>Q<EFBFBD><01>=<3D><11>#<23>8<> <0A>a<EFBFBD>(8<>8<>S<>s<00>%'F)<11>NotImplemented<65>Ellipsis<69>type<70>bool<6F>int<6E>float<61>complex<65>range<67>strr <00>tuple<6C>list<73>set<65> frozenset<65>all<6C>dict<63>items<6D>r_s r4rcrc}s<><00><00> <0C>}<7D><05><1E>/<2F>5<EFBFBD>H<EFBFBD>3D<33><13> <0B>E<EFBFBD>{<7B>t<EFBFBD>S<EFBFBD>%<25><17>%<25><13>f<EFBFBD>E<>E<><13> <0B>E<EFBFBD>{<7B>u<EFBFBD>d<EFBFBD>C<EFBFBD><19>3<>3<><12>3<>U<EFBFBD>3<>3<>3<> <0B>E<EFBFBD>{<7B>d<EFBFBD><1A><12>S<>U<EFBFBD>[<5B>[<5B>]<5D>S<>S<>S<> r6r <00>namesc<00><><00>t|<01>} |D]}|j|<03><00> |jS#t$rY|jSwxYw)z<>Check if the names passed are accessed undeclared. The return value
is a set of all the undeclared names from the sequence of names found.
)<04>UndeclaredNameVisitorr2<00> VisitorExit<69>
undeclared)r r{rIr)s r4<00>find_undeclaredr<64><00>s\<00><00> $<24>E<EFBFBD>*<2A>G<EFBFBD> <0A><19> <20>D<EFBFBD> <13>M<EFBFBD>M<EFBFBD>$<24> <1F> <20> <13> <1D> <1D><1D><> <17> <0A> <0C> <12> <1D> <1D><1D> <0A>s<00>2<00> A <03>A c<00>b<00>eZdZdejej ejfddfd<04>Zy)<05>MacroRefr)r%Nc<00><<00>||_d|_d|_d|_y<00>NF)r)<00>accesses_caller<65>accesses_kwargs<67>accesses_varargs<67>r'r)s r4<00>__init__zMacroRef.__init__<5F>s!<00><00><18><04> <09>$<24><04><1C>$<24><04><1C> %<25><04>r6) <09>__name__<5F>
__module__<EFBFBD> __qualname__r8<00>Unionr <00>Macro<72> CallBlockr<6B><00>r6r4r<>r<><00>s+<00><00>&<26>Q<EFBFBD>W<EFBFBD>W<EFBFBD>U<EFBFBD>[<5B>[<5B>%<25>/<2F>/<2F>%A<>B<>&<26>t<EFBFBD>&r6r<>c <00><><00>eZdZdZ d dedej ddej eddfd<07>Zd d<08>Z dd e
ddfd
<EFBFBD>Z d d <0B>Z e Z y)r+z&Holds compile time information for us.Nr0<00>parent<6E>levelr%c<00>V<00>||_||_|<02>'t|<03><01>|_d|_d|_d|_nOt|j|<03><01>|_|j|_|j
|_|j |_d|_d|_d|_ d|_
d|_ y)N<>r<>F) r0r<>r <00>symbols<6C>require_output_check<63>buffer<65>block<63>toplevel<65> rootlevel<65>
loop_frame<EFBFBD> block_frame<6D>
soft_frame)r'r0r<>r<>s r4r<>zFrame.__init__<5F>s<><00><00> !<21><04> <0A><1D><04> <0B> <11>><3E>"<22><15>/<2F>D<EFBFBD>L<EFBFBD>).<2E>D<EFBFBD> %<25> ,0<>D<EFBFBD>K<EFBFBD>+/<2F>D<EFBFBD>J<EFBFBD>#<23>6<EFBFBD>><3E>><3E><15>?<3F>D<EFBFBD>L<EFBFBD>(.<2E>(C<>(C<>D<EFBFBD> %<25> <20>-<2D>-<2D>D<EFBFBD>K<EFBFBD><1F><1C><1C>D<EFBFBD>J<EFBFBD><1E><04> <0A>
<1F><04><0E> <20><04><0F> <20><04><18>
 <20><04>r6c<00><><00>tj|j<00>}|jj |j<00>|j
j <00>|_|S)z!Create a copy of the current one.)<07>object<63>__new__<5F> __class__<5F>__dict__<5F>updater<65><00>copy<70>r'<00>rvs r4r<>z
Frame.copy<70>sC<00><00> <13>^<5E>^<5E>D<EFBFBD>N<EFBFBD>N<EFBFBD> +<2B><02>
<EFBFBD> <0B> <0B><1A><1A>4<EFBFBD>=<3D>=<3D>)<29><19>\<5C>\<5C>&<26>&<26>(<28><02>
<EFBFBD><11> r6<00>isolatedc<00><><00>|r.t|j|jjdz<00><02>St|j|<00>S)zReturn an inner frame.r
r<>)r+r0r<>r<>)r'r<>s r4<00>innerz Frame.inner<65>s6<00><00> <13><18><14><1D><1D>d<EFBFBD>l<EFBFBD>l<EFBFBD>.@<40>.@<40>1<EFBFBD>.D<>E<> E<><14>T<EFBFBD>]<5D>]<5D>D<EFBFBD>)<29>)r6c<00>B<00>|j<00>}d|_d|_|S)a&Return a soft frame. A soft frame may not be modified as
standalone thing as it shares the resources with the frame it
was created of, but it's not a rootlevel frame any longer.
This is only used to implement if-statements and conditional
expressions.
FT)r<>r<>r<>r<>s r4<00>softz
Frame.soft<66>s"<00><00><12>Y<EFBFBD>Y<EFBFBD>[<5B><02><1C><02> <0C><1C><02> <0A><11> r6)NN)r%zte.Self<6C>F)r<>r<>r<><00>__doc__rr8<00>Optionalrnr<>r<>rmr<>r<><00>__copy__r<5F>r6r4r+r+<00>sn<00><00>0<>
'+<2B>!%<25> 1 <20><1D>1 <20><12>
<EFBFBD>
<EFBFBD>7<EFBFBD>#<23>1 <20><11>z<EFBFBD>z<EFBFBD>#<23><EFBFBD> 1 <20>
<0E> 1 <20>f<12>*<2A>d<EFBFBD>*<2A>w<EFBFBD>*<2A> <12><14>Hr6c<00><00>eZdZdZy)r~z?Exception used by the `UndeclaredNameVisitor` to signal a stop.N<>r<>r<>r<>r<>r<>r6r4r~r~<00>s<00><00>Ir6r~c<00><><00>eZdZdZd d<04>Zdej ddfd<06>Zdejddfd<07>Z dejddfd<08>Z y)
<EFBFBD>DependencyFinderVisitorz.A visitor that collects filter and test calls.r%Nc<00>@<00>t<00>|_t<00>|_yr.)ru<00>filters<72>tests<74>r's r4r<>z DependencyFinderVisitor.__init__<5F>s<00><00>#&<26>5<EFBFBD><04> <0C>!$<24><15><04>
r6r)c<00>p<00>|j|<01>|jj|j<00>yr.)<04> generic_visitr<74><00>addrRr<>s r4<00> visit_Filterz$DependencyFinderVisitor.visit_Filters&<00><00> <0C><1A><1A>4<EFBFBD> <20> <0C> <0C> <0C><18><18><14><19><19>#r6c<00>p<00>|j|<01>|jj|j<00>yr.)r<>r<>r<>rRr<>s r4<00>
visit_Testz"DependencyFinderVisitor.visit_Tests$<00><00> <0C><1A><1A>4<EFBFBD> <20> <0C>
<EFBFBD>
<EFBFBD><0E><0E>t<EFBFBD>y<EFBFBD>y<EFBFBD>!r6c<00><00>y)zStop visiting at blocks.Nr<4E>r<>s r4<00> visit_Blockz#DependencyFinderVisitor.visit_Block <00><00>r6<00>r%N) r<>r<>r<>r<>r<>r <00>Filterr<72><00>Testr<74><00>Blockr<6B>r<>r6r4r<>r<><00>sO<00><00>8<>'<27>$<24><15><1C><1C>$<24>$<24>$<24>"<22>u<EFBFBD>z<EFBFBD>z<EFBFBD>"<22>d<EFBFBD>"<22>'<27><05> <0B> <0B>'<27><04>'r6r<>c<00><><00>eZdZdZdej
eddfd<05>Zdejddfd<07>Z
dejddfd<08>Z y) r}z<>A visitor that checks if a name is accessed without being
declared. This is different from the frame visitor as it will
not stop at closure frames.
r{r%Nc<00>B<00>t|<01>|_t<00>|_yr.)rur{r)r'r{s r4r<>zUndeclaredNameVisitor.__init__s<00><00><18><15>Z<EFBFBD><04>
<EFBFBD>&)<29>e<EFBFBD><04>r6r)c<00>.<00>|jdk(ra|j|jvrI|jj |j<00>|j|jk(r
t <00><00>y|jj |j<00>y)N<>load)<07>ctxrRr{rr<>r~<00>discardr<64>s r4<00>
visit_Namez UndeclaredNameVisitor.visit_Namesh<00><00> <0F>8<EFBFBD>8<EFBFBD>v<EFBFBD> <1D>$<24>)<29>)<29>t<EFBFBD>z<EFBFBD>z<EFBFBD>"9<> <10>O<EFBFBD>O<EFBFBD> <1F> <1F><04> <09> <09> *<2A><13><EFBFBD><EFBFBD>$<24>*<2A>*<2A>,<2C>!<21>m<EFBFBD>#<23>-<2D> <11>J<EFBFBD>J<EFBFBD> <1E> <1E>t<EFBFBD>y<EFBFBD>y<EFBFBD> )r6c<00><00>y)zStop visiting a blocks.Nr<4E>r<>s r4r<>z!UndeclaredNameVisitor.visit_Block!r<>r6) r<>r<>r<>r<>r8<00>Iterablerrr<>r <00>Namer<65>r<>r<>r<>r6r4r}r}sP<00><00><08>
,<2C>a<EFBFBD>j<EFBFBD>j<EFBFBD><13>o<EFBFBD>,<2C>$<24>,<2C>*<2A>u<EFBFBD>z<EFBFBD>z<EFBFBD>*<2A>d<EFBFBD>*<2A>&<26><05> <0B> <0B>&<26><04>&r6r}c<00><00>eZdZdZy)<03> CompilerExitz<74>Raised if the compiler encountered a situation where it just
doesn't make sense to further process the code. Any block that
raises such an exception is not further processed.
Nr<4E>r<>r6r4r<>r<>%s<00><00>r6r<>c<00>Z<00>eZdZU d<>dddejedejedejej deded dfd
<EFBFBD>Ze d efd <0B><04>Z
d ed e d dfd<0F>Z d efd<10>Z ded dfd<12>Z d<>deded dfd<14>Zd<>d<15>Zd<>de d dfd<17>Zd<>dedejej(d dfd<19>Zded dfd<1A>Z d<>dededejej(d dfd<1C>Zdej0ej(ded dfd<1E>Zded dfd <20>Z d<>dedejej(d!e d dfd"<22>Zd<>dejej(d!e d dfd#<23>Z d<>dej:ej<ej>ej@fded$ejejBeejDfd dfd%<25>Z#dej0ej(d dfd&<26>Z$ded dfd'<27>Z%d<>ded(ed dfd)<29>Z&d<>d*ed+ed efd,<2C>Z'ded efd-<2D>Z(dej:ejRejTfded ejVee,ffd.<2E>Z-d/e,ded dfd0<64>Z.dej(d efd1<64>Z/ded efd2<64>Z0d<30>d3<64>Z1ded dfd4<64>Z2d<32>d5<64>Z3d6ed dfd7<64>Z4d6ed dfd8<64>Z5d<35>d9<64>Z6d efd:<3A>Z7d efd;<3B>Z8ded efd<<3C>Z9d6ed efd=<3D>Z:d<>d><3E>Z;ded dfd?<3F>Z< d<>dejzdejed dfd@<40>Z>dej~ded dfdA<64>Z@dej<>ded dfdB<64>ZBdej<>ded dfdC<64>ZDdej:ej<>ej<>fded dfdD<64>ZGdej<>ded dfdE<64>ZHdej<>ded dfdF<64>ZIdej<>ded dfdG<64>ZKdej<>ded dfdH<64>ZMdejRded dfdI<64>ZNdejTded dfdJ<64>ZOdej<>ded dfdK<64>ZQdej<>ded dfdL<64>ZSdej<>ded dfdM<64>ZUGdN<64>dOej<><00>ZWeXdPejDd ejDfdQ<64><04>ZYdZZejeWe[dR<d eWfdS<64>Z\dTej0ejDd efdU<64>Z]dej<>dedVeWd efdW<64>Z_dej<>dedVeWd dfdX<64>Z`dej<>dedVeWd dfdY<64>Zadej<>ded dfdZ<64>Zcdej<>ded dfd[<5B>Zedej<>ded dfd\<5C>Zgdej<>ded dfd]<5D>Zidej<>ded dfd^<5E>Zkdej<>ded dfd_<64>Zmdej<>ded dfd`<60>ZodejVded dfda<64>Zpdej<>ded dfdb<64>Zrdej<>ded dfdc<64>Zteudd<64>Zveude<64>Zweudf<64>Zxeudg<64>Zyeudh<64>Zzeudi<64>Z{eudj<64>Z|eudk<64>Z}eudl<64>Z~edd<64>Z<>ede<64>Z<>edm<64>Z<>e<EFBFBD>de<13>jded dfdn<64><04>Z<>e<EFBFBD>de<13>j ded dfdo<64><04>Z<>de<13>jded dfdp<64>Z<>e<EFBFBD>de<13>jded dfdq<64><04>Z<>e<EFBFBD>de<13>jded dfdr<64><04>Z<>de<13>jded dfds<64>Z<>e<EFBFBD>dej:ej>ej@fdedted e<03>j"dfdu<64><04>Z<>e<EFBFBD>dej>ded dfdv<64><04>Z<>e<EFBFBD>dej@ded dfdw<64><04>Z<>e<EFBFBD>de<13>j*ded dfdx<64><04>Z<>e<EFBFBD> d<>dej<dedyed dfdz<64><05>Z<>de<13>j0ded dfd{<7B>Z<>de<13>j4ded dfd|<7C>Z<>de<13>j8ded dfd}<7D>Z<>de<13>j<ded dfd~<7E>Z<>de<13>j@ded dfd<64>Z<>de<13>jDded dfd<><64>Z<>de<13>jHded dfd<><64>Z<>de<13>jLded dfd<><64>Z<>de<13>jPded dfd<><64>Z<>de<13>jTded dfd<><64>Z<>de<13>jXded dfd<><64>Z<>de<13>j\ded dfd<><64>Z<>de<13>j`ded dfd<><64>Z<>de<13>jdded dfd<><64>Z<>de<13>jhded dfd<><64>Z<>y)<29>r(NrBrrRrSrTrUrVr%c<00><><00>|<04>
t<00>}||_||_||_||_d|_||_d|_|rt|<01>|_i|_ i|_
d|_ d|_ d|_ i|_i|_g|_d|_d|_d|_d|_d|_d|_g|_g|_dg|_y)NFrr
T<>context)rrBrRrSrT<00>created_block_contextrUr/r<00>import_aliases<65>blocks<6B>extends_so_far<61>has_known_extends<64> code_linenor<6F>r<><00>
debug_info<EFBFBD>_write_debug_info<66>
_new_lines<EFBFBD>
_last_line<EFBFBD> _first_write<74>_last_identifier<65> _indentation<6F> _assign_stack<63>_param_def_block<63>_context_reference_stack)r'rBrRrSrTrUrVs r4r<>zCodeGenerator.__init__-s<><00><00> <12>><3E><1D>Z<EFBFBD>F<EFBFBD>&<26><04><18><18><04> <09> <20><04> <0A><1C><04> <0B>%*<2A><04>"<22>$<24><04><0F>04<30><04><0E> <14>&<26>{<7B>3<>D<EFBFBD>N<EFBFBD>13<31><04><1B>13<31><04> <0B> <20><04><1B>
"'<27><04><1E><1D><04><18>(*<2A><04>
<EFBFBD>)+<2B><04> <0C>68<36><04><0F>26<32><04><1E><1C><04><0F><1C><04><0F>!<21><04><19>!"<22><04><1D><1E><04><19>24<32><04><1A>57<35><04><1D>*3<> <0B><04>%r6c<00><00>|jduSr.)r/r<>s r4rVzCodeGenerator.optimizedvs<00><00><13>~<7E>~<7E>T<EFBFBD>)<29>)r6<00>msg<73>linenoz te.NoReturnc<00>F<00>t|||j|j<00><00>)z*Fail with a :exc:`TemplateAssertionError`.)r rRrS)r'r<>r<>s r4<00>failzCodeGenerator.fail|s<00><00>$<24>S<EFBFBD>&<26>$<24>)<29>)<29>T<EFBFBD>]<5D>]<5D>K<>Kr6c<00>J<00>|xjdz c_d|j<00><00>S)zGet a new unique identifier.r
<00>t_)r<>r<>s r4<00>temporary_identifierz"CodeGenerator.temporary_identifier<65>s'<00><00> <0C><1D><1D><11>"<22><1D><13>D<EFBFBD>)<29>)<29>*<2A>+<2B>+r6r*c<00>j<00>|j<00>|_|j|j<00>d<01><02>y)z7Enable buffering for the frame from that point onwards.z = []N)r<>r<><00> writeline<6E>r'r*s r4r<>zCodeGenerator.buffer<65>s)<00><00><1B>0<>0<>2<><05> <0C> <0C><0E><0E>%<25>,<2C>,<2C><1E>u<EFBFBD>-<2D>.r6<00>force_unescapedc<00> <00>|s<>|jjr<>|jd<01>|j<00>|jd|j<00>d<03><03>|j <00>|jd<04>|j<00>|jd|j<00>d<06><03>|j <00>y|jj r |jd|j<00>d<03><03>y|jd|j<00>d<06><03>y)z(Return the buffer contents of the frame.zif context.eval_ctx.autoescape:zreturn Markup(concat(<28>))<29>else:zreturn concat(rAN)r0r1r<><00>indentr<74><00>outdent<6E>
autoescape)r'r*r<>s r4<00>return_buffer_contentsz$CodeGenerator.return_buffer_contents<74>s<><00><00><1F><14>~<7E>~<7E>&<26>&<26><14><0E><0E>@<40>A<><14> <0B> <0B> <0A><14><0E><0E>!6<>u<EFBFBD>|<7C>|<7C>n<EFBFBD>B<EFBFBD>G<>H<><14> <0C> <0C><0E><14><0E><0E>w<EFBFBD>'<27><14> <0B> <0B> <0A><14><0E><0E><1E><05> <0C> <0C>~<7E>Q<EFBFBD>?<3F>@<40><14> <0C> <0C><0E><16><16><1E><1E>*<2A>*<2A><14><0E><0E>!6<>u<EFBFBD>|<7C>|<7C>n<EFBFBD>B<EFBFBD>G<>H<><16> <0C><0E><0E><1E><05> <0C> <0C>~<7E>Q<EFBFBD>7<>8r6c<00>.<00>|xjdz c_y)zIndent by one.r
N<>r<>r<>s r4r<>zCodeGenerator.indent<6E>s<00><00> <0C><19><19>Q<EFBFBD><1E>r6<00>stepc<00>.<00>|xj|zc_y)zOutdent by step.Nr<4E>)r'r<>s r4r<>zCodeGenerator.outdent<6E>s<00><00> <0C><19><19>T<EFBFBD>!<21>r6r)c<00><><00>|j<00>|jd|<02>y|j|j<00>d<03>|<02>y)z%Yield or write into the frame buffer.N<>yield <20>.append()r<>r<>)r'r*r)s r4<00> start_writezCodeGenerator.start_write<74>s3<00><00> <10><<3C><<3C> <1F> <10>N<EFBFBD>N<EFBFBD>8<EFBFBD>T<EFBFBD> *<2A> <10>N<EFBFBD>N<EFBFBD>e<EFBFBD>l<EFBFBD>l<EFBFBD>^<5E>8<EFBFBD>4<>d<EFBFBD> ;r6c<00>@<00>|j<00>|jd<02>yy)z1End the writing process started by `start_write`.NrA)r<>rEr<>s r4<00> end_writezCodeGenerator.end_write<74>s<00><00> <10><<3C><<3C> #<23> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD> $r6<00>sc<00>l<00>|j||<03>|j|<01>|j|<02>y)z4Simple shortcut for start_write + write + end_write.N)r<>rEr)r'rr*r)s r4<00> simple_writezCodeGenerator.simple_write<74>s+<00><00> <0A><18><18><15><04>%<25> <0C>
<EFBFBD>
<EFBFBD>1<EFBFBD> <0A> <0C><0E><0E>u<EFBFBD>r6r c<00>x<00> |jd<01>|D]}|j||<02><00>y#t$rYywxYw)z<>Visit a list of nodes as block in a frame. If the current frame
is no buffer a dummy ``if 0: yield None`` is written automatically.
<20>passN)r<>r2r<>)r'r r*r)s r4<00>
blockvisitzCodeGenerator.blockvisit<69>sB<00><00> <11> <10>N<EFBFBD>N<EFBFBD>6<EFBFBD> "<22><1D> (<28><04><14>
<EFBFBD>
<EFBFBD>4<EFBFBD><15>'<27> (<28><><1B> <11> <10> <11>s <00>*-<00> 9<03>9<03>xc<00><><00>|jr<>|js<>|jjd|jz<00>|xj|jz c_|j
<00>8|j j|j
|jf<02>d|_d|_|jjd|jz<00>d|_|jj|<01>y)z&Write a string into the output stream.<2E>
NFz r) r<>r<>rTrEr<>r<>r<><00>appendr<64>)r'rs r4rEzCodeGenerator.write<74>s<><00><00> <0F>?<3F>?<3F><17>$<24>$<24><14> <0B> <0B>!<21>!<21>$<24><14><1F><1F>"8<>9<><14> <20> <20>D<EFBFBD>O<EFBFBD>O<EFBFBD>3<> <20><17>)<29>)<29>5<><18>O<EFBFBD>O<EFBFBD>*<2A>*<2A>D<EFBFBD>,B<>,B<>D<EFBFBD>DT<44>DT<44>+U<>V<>-1<>D<EFBFBD>*<2A> %<25>D<EFBFBD> <1D> <10>K<EFBFBD>K<EFBFBD> <1D> <1D>f<EFBFBD>t<EFBFBD>'8<>'8<>8<> 9<><1F>D<EFBFBD>O<EFBFBD> <0C> <0B> <0B><19><19>!<21>r6<00>extrac<00>J<00>|j||<03>|j|<01>y)z!Combination of newline and write.N)<02>newlinerE)r'rr)r s r4r<>zCodeGenerator.writeline<6E>s<00><00> <0A> <0C> <0C>T<EFBFBD>5<EFBFBD>!<21> <0C>
<EFBFBD>
<EFBFBD>1<EFBFBD> r6c<00><><00>t|jd|z<00>|_|<01>=|j|jk7r#|j|_|j|_yyy)z/Add one or more newlines before the next write.r
N)<05>maxr<78>r<>r<>r<>)r'r)r s r4rzCodeGenerator.newline<6E>sL<00><00><1D>d<EFBFBD>o<EFBFBD>o<EFBFBD>q<EFBFBD>5<EFBFBD>y<EFBFBD>9<><04><0F> <0F> <1B><04> <0B> <0B>t<EFBFBD><EFBFBD><EFBFBD> ><3E>%)<29>[<5B>[<5B>D<EFBFBD> "<22>"<22>k<EFBFBD>k<EFBFBD>D<EFBFBD>O<EFBFBD>!?<3F> r6<00> extra_kwargsc<00><><00>td<01>td<02>|jD<00>|xsd<03>D<00><00>}|jD]%}|j d<04>|j ||<02><00>'|se|jD]%}|j d<04>|j ||<02><00>'|<03>/|j <00>D]\}}|j d|<07>d|<08><00><04><00>|jr-|j d<07>|j |j|<02>|<04>r|j<00>|j d<08>n|j d <09>|jD]M}|j |j<00>d
<EFBFBD><02>|j |j|<02>|j d<04><00>O|<03>/|j <00>D]\}}|j |<07>d
|<08>d<04><04><00>|j<00>?|j d <0B>|j |j|<02>|j d <0C>y|j d <0A>y|j<00>.|j d<0E>|j |j|<02>yy)a+Writes a function call to the stream for the current node.
A leading comma is added automatically. The extra keyword
arguments may not include python keywords otherwise a syntax
error could occur. The extra keyword arguments should be given
as python dict.
c3<00>bK<00>|]'}ttjt|<01><00><00><01><00>)y<00>wr.)<04>is_python_keywordr8<00>castrr)rdris r4rfz*CodeGenerator.signature.<locals>.<genexpr><3E>s'<00><00><><00>
<EFBFBD><11> <1E>a<EFBFBD>f<EFBFBD>f<EFBFBD>S<EFBFBD>!<21>n<EFBFBD> -<2D>
<EFBFBD>s<00>-/c3<00>4K<00>|]}|j<00><01><00>y<00>wr.)<01>key<65>rdrs r4rfz*CodeGenerator.signature.<locals>.<genexpr><3E>s<00><00><><00>7<>a<EFBFBD>A<EFBFBD>E<EFBFBD>E<EFBFBD>7<><37><00>r<>r>N<>=z, *z
, **dict({z, **{<7B>: z}, **rA<00>}z, **) <0B>anyrr,<00>argsrEr2ry<00>dyn_args<67>
dyn_kwargsrr_) r'r)r*r<00>kwarg_workaround<6E>arg<72>kwargrr_s r4<00> signaturezCodeGenerator.signature<72>s
<00><00><1F>
<EFBFBD><1A>7<>4<EFBFBD>;<3B>;<3B>7<><1C>9K<39><12>L<>
<EFBFBD>
<EFBFBD><18>
<18>9<EFBFBD>9<EFBFBD> #<23>C<EFBFBD> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD> <1C> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>E<EFBFBD> "<22> #<23> <20><1D><1B><1B> )<29><05><14>
<EFBFBD>
<EFBFBD>4<EFBFBD> <20><14>
<EFBFBD>
<EFBFBD>5<EFBFBD>%<25>(<28> )<29><1C>'<27>".<2E>"4<>"4<>"6<>3<>J<EFBFBD>C<EFBFBD><15><18>J<EFBFBD>J<EFBFBD><12>C<EFBFBD>5<EFBFBD><01>%<25><17>1<>2<>3<> <0F>=<3D>=<3D> <10>J<EFBFBD>J<EFBFBD>u<EFBFBD> <1D> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>}<7D>}<7D>e<EFBFBD> ,<2C> <1B><13><EFBFBD><EFBFBD>*<2A><14>
<EFBFBD>
<EFBFBD><<3C>(<28><14>
<EFBFBD>
<EFBFBD>7<EFBFBD>#<23><1D><1B><1B> !<21><05><14>
<EFBFBD>
<EFBFBD>e<EFBFBD>i<EFBFBD>i<EFBFBD>]<5D>"<22>-<2D>.<2E><14>
<EFBFBD>
<EFBFBD>5<EFBFBD>;<3B>;<3B><05>.<2E><14>
<EFBFBD>
<EFBFBD>4<EFBFBD> <20> !<21><1C>'<27>".<2E>"4<>"4<>"6<>6<>J<EFBFBD>C<EFBFBD><15><18>J<EFBFBD>J<EFBFBD>#<23><17><02>5<EFBFBD>'<27><12>4<>5<>6<><13><EFBFBD><EFBFBD>*<2A><14>
<EFBFBD>
<EFBFBD>7<EFBFBD>#<23><14>
<EFBFBD>
<EFBFBD>4<EFBFBD>?<3F>?<3F>E<EFBFBD>2<><14>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F><14>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F> <11>_<EFBFBD>_<EFBFBD> (<28> <10>J<EFBFBD>J<EFBFBD>v<EFBFBD> <1E> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD><EFBFBD><EFBFBD><05> .<2E>)r6c
<00><><00>t<00>}|D]}|j|<03><00>|j|jdf|j|jdffD<00>]\}}}t |<05>D]<5D>}||vr|j <00>||<|j d<03>|j<00>|j ||<00>d|<06>d|<07>d<06><06>|j<00>|j d<07>|j<00>|j d<08>|j d ||<00>d
<EFBFBD><03>|j<00>|j d |d d <00>d|<07>d<0F><05>|j<00>|j<00><00><><00><01>y )a<>Find all filter and test names used in the template and
assign them to variables in the compiled namespace. Checking
that the names are registered with the environment is done when
compiling the Filter and Test nodes. If the node is in an If or
CondExpr node, the check is done at runtime instead.
.. versionchanged:: 3.0
Filters and tests in If and CondExpr nodes are checked at
runtime instead of compile time.
r<>r<><00>try:z = environment.<2E>[<5B>]zexcept KeyError:z @internalcode<64>def z
(*unused):zraise TemplateRuntimeError("No N<><4E><EFBFBD><EFBFBD><EFBFBD><EFBFBD> named z found.")) r<>r2r<>r<><00>sortedr<64>r<>r<>r<>)r'r rIr)<00>id_mapr{<00>
dependencyrRs r4<00>pull_dependencieszCodeGenerator.pull_dependenciess\<00><00>*<2A>+<2B><07><19> <20>D<EFBFBD> <13>M<EFBFBD>M<EFBFBD>$<24> <1F> <20><12>\<5C>\<5C>7<EFBFBD>?<3F>?<3F>I<EFBFBD> 6<><14>
<EFBFBD>
<EFBFBD><17> <0A> <0A><17> <0E>*
<EFBFBD> <1F> %<25>F<EFBFBD>E<EFBFBD>:<3A><1F>u<EFBFBD> <0A> <1F><04><17>v<EFBFBD>%<25>#'<27>#<<3C>#<<3C>#><3E>F<EFBFBD>4<EFBFBD>L<EFBFBD><15><0E><0E>v<EFBFBD>&<26><14> <0B> <0B> <0A><14><0E><0E>&<26><14>,<2C><1E><EFBFBD>z<EFBFBD>l<EFBFBD>!<21>D<EFBFBD>8<EFBFBD>ST<53>U<>V<><14> <0C> <0C><0E><14><0E><0E>1<>2<><14> <0B> <0B> <0A><14><0E><0E><EFBFBD>/<2F><14><0E><0E><14>f<EFBFBD>T<EFBFBD>l<EFBFBD>^<5E>:<3A>><3E>?<3F><14> <0B> <0B> <0A><14><0E><0E>5<>j<EFBFBD><13>"<22>o<EFBFBD>5F<35><1D>d<EFBFBD>X<EFBFBD>Y<EFBFBD>0<><12><15> <0C> <0C><0E><14> <0C> <0C><0E>) <1F> r6c <00><><00>g}|jjj<00>D]<5D>\}\}}|tk(r<01>|tk(r)|j |<03>d|j <00><00>d|<05>d<03><06><00>E|tk(r|j |<03>d|<05><00><03><00>e|tk(r|j|<03><00><>td<04><00>|r$|j dj|<02><00>d<05><02>yy)N<> = r?rAzunknown load instruction<6F>
= missing) r<><00>loadsryrrr<><00>get_resolve_funcrrr <00>NotImplementedError<6F>join)r'r*<00>undefs<66>target<65>action<6F>params r4<00> enter_framezCodeGenerator.enter_frameHs<><00><00><13><06>',<2C>}<7D>}<7D>':<3A>':<3A>'@<40>'@<40>'B<>
F<01> #<23>F<EFBFBD>O<EFBFBD>V<EFBFBD>U<EFBFBD><15>+<2B>+<2B><14><17>+<2B>+<2B><14><0E><0E>&<26><18><13>T<EFBFBD>-B<>-B<>-D<>,E<>Q<EFBFBD>u<EFBFBD>i<EFBFBD>q<EFBFBD>Q<>R<><17>><3E>)<29><14><0E><0E>&<26><18><13>U<EFBFBD>G<EFBFBD>4<>5<><17>-<2D>-<2D><16> <0A> <0A>f<EFBFBD>%<25>)<29>*D<>E<>E<>
F<01> <12> <10>N<EFBFBD>N<EFBFBD>e<EFBFBD>j<EFBFBD>j<EFBFBD><16>0<>1<><1A><<3C> =<3D> r6<00>with_python_scopec<00><><00>|sUg}|jjD]}|j|<04><00>|r$|jdj |<03><00>d<02><02>yyy)Nr1r2)r<>r3r r<>r6)r'r*r<r7r8s r4<00> leave_framezCodeGenerator.leave_frameXsY<00><00> <20><17>F<EFBFBD><1F>-<2D>-<2D>-<2D>-<2D> &<26><06><16> <0A> <0A>f<EFBFBD>%<25> &<26><15><14><0E><0E>%<25>*<2A>*<2A>V<EFBFBD>"4<>!5<>Z<EFBFBD>@<40>A<><16> !r6<00> async_value<75>
sync_valuec<00>6<00>|jjr|S|Sr.)rB<00>is_async)r'r?r@s r4<00> choose_asynczCodeGenerator.choose_async`s<00><00>"<22>.<2E>.<2E>7<>7<>{<7B>G<>Z<EFBFBD>Gr6c<00>,<00>|j<00><00>d|<01><00>S)Nr))rC)r'rRs r4<00>funczCodeGenerator.funccs<00><00><16>#<23>#<23>%<25>&<26>d<EFBFBD>4<EFBFBD>&<26>1<>1r6c
<00><><00>|j<00>}|jj|<01>t|<01>}d}t <00>}g}t |j <00>D]s\}}|jdk(r|}|jdvr|j|j<00>|j|jj|j<00><00><00>ut|jd<04>} d| vrZ|<04>' |j|t|j <00>z
n*|j|jj%d<02><00>d|_d| vr5d|vr1|j|jj%d<07><00>d|_d| vr5d|vr1|j|jj%d<08><00>d|_d |_|jj|<01>|j/|j1d
<EFBFBD><00>d d j3|<06><00>d <0A>|<01>|j5<00>|j7|<02>|j9|<02>|j;|<02>t |j <00>D]<5D>\}}|jj|j<00>}
|j/d|
<EFBFBD>d<0F><03>|j5<00> |j|t|j <00>z
} |j/|
<EFBFBD>d<10><02>|j=| |<02>|j?|
<EFBFBD>|jA<00><00><>|jC<00>|jE|j|<02>|jG|d<06><14>|jI|d<06><15>|jA<00>||fS#t$r |j!d|j"<00>Y<00><02>vwxYw#t$r1|j/|
<EFBFBD>d|j<00>d|j<00>d<13><06>Y<00><>wxYw)z/Dump the function def of a macro or call block.N<>caller)r,<00>varargs)rGr,rHzhWhen defining macros or call blocks the special "caller" argument must be omitted or be given a default.Tr,rHF<>macror?r><00>):<3A>if <20> is missing:r1z = undefined("parameter z was not provided", name=rA)r<><00>r<)%r<>r<><00> analyze_noder<65>ru<00> enumeraterrRr<>r <00>refr<66><00>body<64>defaults<74>len<65>
IndexErrorr<EFBFBD>r<><00>declare_parameterr<72>r<>r<>r<>r<>rEr6r<>r<>r;<00>push_parameter_definitionsr2<00>mark_parameter_storedr<64><00>pop_parameter_definitionsrr<>r>) r'r)r*<00> macro_ref<65>explicit_caller<65>skip_special_paramsr<00>idxr"rrP<00>defaults r4<00>
macro_bodyzCodeGenerator.macro_bodyfsb<00><00><16> <0B> <0B> <0A><05> <0A> <0A> <0A>"<22>"<22>4<EFBFBD>(<28><1C>T<EFBFBD>N<EFBFBD> <09><1E><0F>!<21>e<EFBFBD><1B><11><04>!<21>$<24>)<29>)<29>,<2C> 5<>H<EFBFBD>C<EFBFBD><13><12>x<EFBFBD>x<EFBFBD>8<EFBFBD>#<23>"%<25><0F><12>x<EFBFBD>x<EFBFBD>0<>0<>#<23>'<27>'<27><03><08><08>1<> <10>K<EFBFBD>K<EFBFBD><05> <0A> <0A>)<29>)<29>#<23>(<28>(<28>3<> 4<>  5<>%<25>T<EFBFBD>Y<EFBFBD>Y<EFBFBD>0O<30>P<>
<EFBFBD> <13>z<EFBFBD> !<21><1F>*<2A><16><18>M<EFBFBD>M<EFBFBD>/<2F>C<EFBFBD><04> <09> <09>N<EFBFBD>"B<>C<><15> <0B> <0B>E<EFBFBD>M<EFBFBD>M<EFBFBD>;<3B>;<3B>H<EFBFBD>E<>F<>(,<2C>I<EFBFBD> %<25> <13>z<EFBFBD> !<21>h<EFBFBD>6I<36>&I<> <10>K<EFBFBD>K<EFBFBD><05> <0A> <0A>7<>7<><08>A<> B<>(,<2C>I<EFBFBD> %<25> <14>
<EFBFBD> "<22>y<EFBFBD>8K<38>'K<> <10>K<EFBFBD>K<EFBFBD><05> <0A> <0A>7<>7<> <09>B<> C<>)-<2D>I<EFBFBD> &<26>&+<2B><05>"<22> <0A> <0A> <0A>"<22>"<22>4<EFBFBD>(<28> <0C><0E><0E>$<24>)<29>)<29>G<EFBFBD>,<2C>-<2D>Q<EFBFBD>t<EFBFBD>y<EFBFBD>y<EFBFBD><14><EFBFBD>.?<3F>r<EFBFBD>B<>D<EFBFBD>I<> <0C> <0B> <0B> <0A> <0C> <0B> <0B>E<EFBFBD><1A> <0C><18><18><15><1F> <0C>'<27>'<27><05>.<2E>!<21>$<24>)<29>)<29>,<2C> <1B>H<EFBFBD>C<EFBFBD><13><17>-<2D>-<2D>#<23>#<23>C<EFBFBD>H<EFBFBD>H<EFBFBD>-<2D>C<EFBFBD> <10>N<EFBFBD>N<EFBFBD>S<EFBFBD><13><05>\<5C>2<> 3<> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD> +<2B><1E>-<2D>-<2D><03>c<EFBFBD>$<24>)<29>)<29>n<EFBFBD>(<<3C>=<3D><07><15><0E><0E>#<23><15>c<EFBFBD>{<7B>+<2B><14>
<EFBFBD>
<EFBFBD>7<EFBFBD>E<EFBFBD>*<2A> <10> &<26> &<26>s<EFBFBD> +<2B> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD> <1B> <0A>&<26>&<26>(<28> <0C><0F><0F><04> <09> <09>5<EFBFBD>)<29> <0C>#<23>#<23>E<EFBFBD>4<EFBFBD>#<23>@<40> <0C><18><18><15>$<24><18>7<> <0C> <0C> <0C><0E><14>i<EFBFBD><1F><1F><>e"<22><16><18>I<EFBFBD>I<EFBFBD>1<><1D> <0B> <0B> <16><16><>B<1E> <12><14><0E><0E><1A>e<EFBFBD>3<>C<EFBFBD>H<EFBFBD>H<EFBFBD><<3C>@<1D> <20>X<EFBFBD>X<EFBFBD>L<EFBFBD><01>+<2B><12> <12>s$<00>-%N <00>7%N7<02> %N4<03>3N4<03>77O1<05>0O1rYc <00>V<00>djd<02>|jjD<00><00>}t|jdd<04>}t |jj<00>dk(r|dz }|j d|<04>d|<03>d |j <00>d|j<00>d|j<00>d
<EFBFBD> <0B>y) z<Dump the macro definition for the def created by macro_body.r>c3<00>FK<00>|]}t|j<00><00><01><00>y<00>wr.)<02>reprrRrs r4rfz*CodeGenerator.macro_def.<locals>.<genexpr><3E>s<00><00><><00>H<>q<EFBFBD>d<EFBFBD>1<EFBFBD>6<EFBFBD>6<EFBFBD>l<EFBFBD>H<>s<00>!rRNr
<00>,zMacro(environment, macro, z, (z), z, context.eval_ctx.autoescape)) r6r)r<00>getattrrSrEr<>r<>r<>)r'rYr*<00> arg_tuplerRs r4<00> macro_defzCodeGenerator.macro_def<65>s<><00><00><18>I<EFBFBD>I<EFBFBD>H<>I<EFBFBD>N<EFBFBD>N<EFBFBD>4G<34>4G<34>H<>H<> <09><16>y<EFBFBD>~<7E>~<7E>v<EFBFBD>t<EFBFBD>4<><04> <0E>y<EFBFBD>~<7E>~<7E>"<22>"<22> #<23>q<EFBFBD> (<28> <15><13> <1C>I<EFBFBD> <0C>
<EFBFBD>
<EFBFBD>(<28><14><08><03>I<EFBFBD>;<3B>?<10><19>)<29>)<29>,<2C>B<EFBFBD>y<EFBFBD>/I<>/I<>.L<>M<10><19>)<29>)<29>,<2C>,J<> L<01>
r6c<00>^<00>d|j<00><00>}|j<00>|<02>d|j<00><02>}|S)z.Return a human readable position for the node.zline <20> in )r<>rR)r'r)r<>s r4<00>positionzCodeGenerator.position<6F>s5<00><00><14>T<EFBFBD>[<5B>[<5B>M<EFBFBD> "<22><02> <0F>9<EFBFBD>9<EFBFBD> <20><16>4<EFBFBD>t<EFBFBD>D<EFBFBD>I<EFBFBD>I<EFBFBD>=<3D>)<29>B<EFBFBD><11> r6c<00><><00>djd<02>|jj<00>j<00>D<00><00>}d|<02>d<04>S)Nr>c3<00>0K<00>|]\}}|<01>d|<02><00><03><01><00>y<01>w<01>rNr<4E>)rdrRr8s r4rfz3CodeGenerator.dump_local_context.<locals>.<genexpr><3E>s'<00><00><><00>
<EFBFBD><1C><04>f<EFBFBD><14>h<EFBFBD>b<EFBFBD><16><08> !<21>
<EFBFBD><EFBFBD><00><01>{r)r6r<><00> dump_storesry)r'r*<00>items_kvs r4<00>dump_local_contextz CodeGenerator.dump_local_context<78>sD<00><00><17>9<EFBFBD>9<EFBFBD>
<EFBFBD> %<25> <0A> <0A> 9<> 9<> ;<3B> A<> A<> C<>
<EFBFBD>
<EFBFBD><08><14>H<EFBFBD>:<3A>R<EFBFBD> <20> r6c<00><><00>|jd<01>|jd<02>|jd<03>|jd<04>|jd<05>y)z<>Writes a common preamble that is used by root and block functions.
Primarily this sets up common local helpers and enforces a generator
through a dead branch.
z$resolve = context.resolve_or_missingz!undefined = environment.undefinedzconcat = environment.concatzcond_expr_undefined = Undefinedzif 0: yield NoneN<65>r<>r<>s r4<00> write_commonszCodeGenerator.write_commons<6E>sG<00><00>
<0A><0E><0E>=<3D>><3E> <0C><0E><0E>:<3A>;<3B> <0C><0E><0E>4<>5<> <0A><0E><0E>8<>9<> <0C><0E><0E>)<29>*r6c<00>j<00>|jj|jj<00><00>y)aQPushes all parameter targets from the given frame into a local
stack that permits tracking of yet to be assigned parameters. In
particular this enables the optimization from `visit_Name` to skip
undefined expressions for parameters in macros as macros can reference
otherwise unbound parameters.
N)r<>r r<><00>dump_param_targetsr<73>s r4rVz(CodeGenerator.push_parameter_definitions<6E>s%<00><00> <0A><1D><1D>$<24>$<24>U<EFBFBD>]<5D>]<5D>%E<>%E<>%G<>Hr6c<00>8<00>|jj<00>y)z+Pops the current parameter definitions set.N)r<><00>popr<70>s r4rXz'CodeGenerator.pop_parameter_definitions<6E>s<00><00> <0C><1D><1D>!<21>!<21>#r6r8c<00>Z<00>|jr|jdj|<01>yy)z<>Marks a parameter in the current parameter definitions as stored.
This will skip the enforced undefined checks.
r*N)r<>r<><00>r'r8s r4rWz#CodeGenerator.mark_parameter_stored<65>s+<00><00> <10> <20> <20> <10> !<21> !<21>"<22> %<25> -<2D> -<2D>f<EFBFBD> 5<> !r6c<00>:<00>|jj|<01>yr.)r<>r rys r4<00>push_context_referencez$CodeGenerator.push_context_reference<63>s<00><00> <0C>%<25>%<25>,<2C>,<2C>V<EFBFBD>4r6c<00>8<00>|jj<00>yr.)r<>rwr<>s r4<00>pop_context_referencez#CodeGenerator.pop_context_reference<63>s<00><00> <0C>%<25>%<25>)<29>)<29>+r6c<00> <00>|jdS)Nr*<00>r<>r<>s r4<00>get_context_refzCodeGenerator.get_context_ref<65>s<00><00><13>,<2C>,<2C>R<EFBFBD>0<>0r6c<00>6<00>|jd}|dk(ry|<01>d<04>S)Nr*r<><00>resolvez.resolverrys r4r4zCodeGenerator.get_resolve_func<6E>s*<00><00><15>.<2E>.<2E>r<EFBFBD>2<><06> <11>Y<EFBFBD> <1E><1C><18><18><18>"<22>"r6c<00>L<00>|j<00><00>d|j|<01><00>d<02>S)Nz .derived(rA)r<>rpr<>s r4<00>derive_contextzCodeGenerator.derive_contexts,<00><00><16>&<26>&<26>(<28>)<29><19>4<EFBFBD>3J<33>3J<33>5<EFBFBD>3Q<33>2R<32>RS<52>T<>Tr6c<00>><00>|jsy||jdvS)z4Checks if a given target is an undeclared parameter.Fr*)r<>rys r4<00>parameter_is_undeclaredz%CodeGenerator.parameter_is_undeclareds$<00><00><13>$<24>$<24><18><15><14>.<2E>.<2E>r<EFBFBD>2<>2<>2r6c<00>J<00>|jjt<00><00>y)z+Pushes a new layer for assignment tracking.N)r<>r rur<>s r4<00>push_assign_trackingz"CodeGenerator.push_assign_tracking s<00><00> <0C><1A><1A>!<21>!<21>#<23>%<25>(r6c<00>x<00>|jj<00>}|js|js |jr|sy|D<00>cgc] }|dddk7s<01> |<03><02>}}t |<02>dk(r<>t t|<02><00>}|jj|<05>}|jr|jd|<05>d|<06><00><04>y|jr|jd|<05>d|<06><00><04>y|jd|<05>d|<06><00><04>n<>|jr|jd<08>n/|jr|jd <09>n|jd
<EFBFBD>tt|<02><00>D]I\}}|r|jd <0B>|jj|<05>}|j|<05>d |<06><00><03><00>K|jd <0A>|jsu|jsh|ret |<04>dk(r|jd|d<00>d<10><03>yd jtt t|<04><00><00>}|jd|<08>d<12><03>yyyycc}w)zoPops the topmost level for assignment tracking and updates the
context variables if necessary.
Nr
<00>_z _loop_vars[<5B>] = z _block_vars[<5B> context.vars[z_loop_vars.update({z_block_vars.update({<7B>context.vars.update({r>r<00>})<29>context.exported_vars.add(rrAzcontext.exported_vars.update((r<>)r<>rwr<>r<>r<>rS<00>next<78>iterr<72>rPr<>rOr,rEr6<00>mapra) r'r*<00>varsr<00> public_namesrRrPr\<00> names_strs r4<00>pop_assign_trackingz!CodeGenerator.pop_assign_trackings<><00><00><14>!<21>!<21>%<25>%<25>'<27><04><15>!<21>!<21><19>$<24>$<24><19>N<EFBFBD>N<EFBFBD><17> <12>#'<27>8<>a<EFBFBD>1<EFBFBD>R<EFBFBD>a<EFBFBD>5<EFBFBD>C<EFBFBD><<3C><01>8<> <0C>8<> <0E>t<EFBFBD>9<EFBFBD><01>><3E><17><04>T<EFBFBD>
<EFBFBD>#<23>D<EFBFBD><17>-<2D>-<2D>#<23>#<23>D<EFBFBD>)<29>C<EFBFBD><14><1F><1F><14><0E><0E><1B>T<EFBFBD>H<EFBFBD>D<EFBFBD><13><05>><3E>?<3F><16><14> <20> <20><14><0E><0E><1C>d<EFBFBD>X<EFBFBD>T<EFBFBD>#<23><15>?<3F>@<40><16> <10>N<EFBFBD>N<EFBFBD>]<5D>4<EFBFBD>(<28>$<24>s<EFBFBD>e<EFBFBD><<3C> =<3D><14><1F><1F><14><0E><0E>4<>5<><16>"<22>"<22><14><0E><0E>5<>6<><14><0E><0E>6<>7<>&<26>v<EFBFBD>d<EFBFBD>|<7C>4<> /<2F> <09><03>T<EFBFBD><16><18>J<EFBFBD>J<EFBFBD>t<EFBFBD>$<24><1B>m<EFBFBD>m<EFBFBD>'<27>'<27><04>-<2D><03><14>
<EFBFBD>
<EFBFBD>d<EFBFBD>X<EFBFBD>R<EFBFBD><03>u<EFBFBD>-<2D>.<2E>  /<2F>
<11>J<EFBFBD>J<EFBFBD>t<EFBFBD> <1C><14> <20> <20><15>)9<>)9<>l<EFBFBD><12><<3C> <20>A<EFBFBD>%<25><14><0E><0E>!;<3B>L<EFBFBD><11>O<EFBFBD>;N<>a<EFBFBD>P<>Q<> <20>I<EFBFBD>I<EFBFBD>c<EFBFBD>$<24><06>|<7C>0D<30>&E<>F<> <09><14><0E><0E>!?<3F> <09>{<7B>"<22>M<>N<> ?K<01>)9<> <20><>19s <00> H7<04>H7c <00> <00>|<02>Jd<01><00>t|j|j<00>}ddlm}ddlm}|jj rt||z<00>}n t|<05>}|jddj|<06>z<00>|jrdnd}|jtj<00>du}|jtj<00>D]]} | j|j vr*|j#d | j<00>d
<EFBFBD>| j$<00>| |j | j<<00>_|jtj&<00>D]<5D>}
|
j(|j*vs<01>|
j(} |j-<00>x|j*| <} d | vr0| j/d d<02>\} }|jd | <0A>d |<0E>d| <0C><00><06><00>{|jd| <0B>d| <0C><00><04><00><>|jd|j<00><02><02>|j|j1d<11><00>d|<07>d<13>d<02><14>|j3<00>|j5<00>t7|<03>}dt9|j:d<16>vr/|j<j?d<15>}|j|<0F>d<17><02>|j<jA|<01>dx|_!|_"|xr |jF |_$|r|jd<19>|jK|<02>|jM|j:<00>|jO|j:|<02>|jQ|d<18><1A>|jS<00>|<08>r|jFs!|j3<00>|jd<1B>|j3<00>|jj s|jd<1C>n<>|jd<1D>|jd<1E>|j3<00>|jd<1F>|j3<00>|jd <20>|jS<00>|jS<00>|jd!<21>|jSd|jF z<00>|j jU<00>D<00>]<5D>\}} |j|j1d"|z<00><00>d|<07>d<13>| d<02>|j3<00>|j5<00>t7|<03>}d|_+t9| j:d#<23>}d|vr/|j<j?d<15>}|j|<0F>d<17><02>d$|vr5|j<j?d$<24>}|j|<0F>d%|<10>d&|<10>d'<27><06>|j<jA| <09>||_,|jd(<28>|jK|<11>|jM| j:<00>|jO| j:|<11>|jQ|d<18><1A>|jS<00><00><01><>djd)<29>|j D<00><00>}|jd*|<13>d+<2B>d<02><14>d,jd-<2D>|jZD<00><00>}|jd.|<14><02><02>y)/Nzno root frame allowedr
)<01>async_exported)<01>exportedzfrom jinja2.runtime import r><00>z, environment=environmentzblock z defined twice<63>.zfrom z import z as zimport zname = <20>rootz(context, missing=missingrJ)r r'r<>z = TemplateReference(context)Tzparent_template = NonerM<00>if parent_template is not None:z4yield from parent_template.root_render_func(context)z0agen = parent_template.root_render_func(context)r&zasync for event in agen:z yield eventzfinally: await agen.aclose()<29>block_)r'<00>superr<72>z = context.super(z, block_rAz_block_vars = {}c3<00>*K<00>|] }|<01>d|<01><00><03><01><00> y<01>w)z: block_Nr<4E>rs r4rfz/CodeGenerator.visit_Template.<locals>.<genexpr><3E>s<00><00><><00>!K<>!<21>Q<EFBFBD>E<EFBFBD><18>!<21><13>"5<>!K<>s<00>z
blocks = {r<00>&c3<00>0K<00>|]\}}|<01>d|<02><00><03><01><00>y<01>w)rNr<4E>rhs r4rfz/CodeGenerator.visit_Template.<locals>.<genexpr><3E>s<00><00><><00>G<>t<EFBFBD>q<EFBFBD>!<21>1<EFBFBD>#<23>Q<EFBFBD>q<EFBFBD>c<EFBFBD>
<EFBFBD>G<>rlz debug_info = ).rrBrR<00>runtimer<65>r<>rBr,r<>r6rU<00>findr <00>Extends<64>find_allr<6C>r<>r<>r<><00> ImportedName<6D>
importnamer<EFBFBD>r<><00>rsplitrEr<>rsr+r<>rQr<>rUrNr<>r<>r<>r<>r;r/rr>r<>ryr<>r<>r<>)r'r)r*r0r<>r<><00>exported_names<65>envenv<6E> have_extendsr<73><00>import_<74>imp<6D>alias<61>module<6C>objrPrRr<>r<00> blocks_kv_str<74> debug_kv_strs r4<00>visit_TemplatezCodeGenerator.visit_Template=s<00><00><15>}<7D>5<>5<>5<>}<7D><1E>t<EFBFBD>/<2F>/<2F><14><19><19>;<3B><08>+<2B>%<25> <0F> <1B> <1B> $<24> $<24>#<23>H<EFBFBD>~<7E>$=<3D>><3E>N<EFBFBD>#<23>H<EFBFBD>-<2D>N<EFBFBD> <0C><0E><0E>4<>t<EFBFBD>y<EFBFBD>y<EFBFBD><1E>7P<37>P<>Q<><1C><EFBFBD><EFBFBD><12>,G<><06><1C>y<EFBFBD>y<EFBFBD><15><1D><1D>/<2F>t<EFBFBD>;<3B> <0C><1A>]<5D>]<5D>5<EFBFBD>;<3B>;<3B>/<2F> ,<2C>E<EFBFBD><14>z<EFBFBD>z<EFBFBD>T<EFBFBD>[<5B>[<5B>(<28><14> <09> <09>F<EFBFBD>5<EFBFBD>:<3A>:<3A>.<2E><0E>?<3F><15><1C><1C>N<>&+<2B>D<EFBFBD>K<EFBFBD>K<EFBFBD><05>
<EFBFBD>
<EFBFBD> #<23> ,<2C> <1C>}<7D>}<7D>U<EFBFBD>%7<>%7<>8<> ?<3F>G<EFBFBD><16>!<21>!<21><14>)<<3C>)<<3C><<3C><1D>(<28>(<28><03>37<33>3L<33>3L<33>3N<33>N<><04>#<23>#<23>C<EFBFBD>(<28>5<EFBFBD><16>#<23>:<3A>"%<25>*<2A>*<2A>S<EFBFBD>!<21>"4<>K<EFBFBD>F<EFBFBD>C<EFBFBD><18>N<EFBFBD>N<EFBFBD>U<EFBFBD>6<EFBFBD>(<28>(<28>3<EFBFBD>%<25>t<EFBFBD>E<EFBFBD>7<EFBFBD>#K<>L<><18>N<EFBFBD>N<EFBFBD>W<EFBFBD>S<EFBFBD>E<EFBFBD><14>e<EFBFBD>W<EFBFBD>#=<3D>><3E> ?<3F> <0A><0E><0E><17><14><19><19> <0A>.<2E>/<2F> <0A><0E><0E><13>y<EFBFBD>y<EFBFBD><16> <20>!<21>!:<3A>6<EFBFBD>(<28>"<22> E<>Q<EFBFBD> <17>
<EFBFBD> <0A> <0B> <0B> <0A> <0C><1A><1A><1C><16>h<EFBFBD><0F><05> <11>_<EFBFBD>T<EFBFBD>Y<EFBFBD>Y<EFBFBD> <09>:<3A> :<3A><17>-<2D>-<2D>1<>1<>&<26>9<>C<EFBFBD> <10>N<EFBFBD>N<EFBFBD>c<EFBFBD>U<EFBFBD>"?<3F>@<40> A<> <0A> <0A> <0A>"<22>"<22>4<EFBFBD>(<28>+/<2F>/<2F><05><0E><15><1F>%1<>%P<>$<24>:P<>:P<>6P<36><05>"<22> <17> <10>N<EFBFBD>N<EFBFBD>3<> 4<> <0C><18><18><15><1F> <0C><1E><1E>t<EFBFBD>y<EFBFBD>y<EFBFBD>)<29> <0C><0F><0F><04> <09> <09>5<EFBFBD>)<29> <0C><18><18><15>$<24><18>7<> <0C> <0C> <0C><0E> <18><17>)<29>)<29><14> <0B> <0B> <0A><14><0E><0E>@<40>A<> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD><17>#<23>#<23>,<2C>,<2C><14><0E><0E>U<>V<><14><0E><0E>Q<>R<><14><0E><0E>v<EFBFBD>&<26><14> <0B> <0B> <0A><14><0E><0E>9<>:<3A><14> <0B> <0B> <0A><14><0E><0E>}<7D>-<2D><14> <0C> <0C><0E><14> <0C> <0C><0E><14><0E><0E>=<3D>><3E> <10>L<EFBFBD>L<EFBFBD><11>$<24>"8<>"8<>8<>9<> :<3A> <20>;<3B>;<3B>,<2C>,<2C>.<2E> <1B>K<EFBFBD>D<EFBFBD>%<25> <10>N<EFBFBD>N<EFBFBD><17>9<EFBFBD>9<EFBFBD>X<EFBFBD><04>_<EFBFBD>-<2D>.<2E>.G<><06>x<EFBFBD>r<EFBFBD>R<><15><11> <0E>
<11>K<EFBFBD>K<EFBFBD>M<EFBFBD> <10> <1E> <1E> <20> <20><08>/<2F>K<EFBFBD>&*<2A>K<EFBFBD> #<23>(<28><15><1A><1A>5F<35>G<>J<EFBFBD><15><1A>#<23>!<21>)<29>)<29>;<3B>;<3B>F<EFBFBD>C<><03><14><0E><0E>#<23><15>&C<>D<>E<><16>*<2A>$<24>!<21>)<29>)<29>;<3B>;<3B>G<EFBFBD>D<><03><14><0E><0E>#<23><15>&7<><04>x<EFBFBD>x<EFBFBD><04>v<EFBFBD>Q<EFBFBD>O<>P<> <17> <1F> <1F> ,<2C> ,<2C>U<EFBFBD> 3<> $<24>K<EFBFBD> <1D> <10>N<EFBFBD>N<EFBFBD>-<2D> .<2E> <10> <1C> <1C>[<5B> )<29> <10> "<22> "<22>5<EFBFBD>:<3A>:<3A> .<2E> <10>O<EFBFBD>O<EFBFBD>E<EFBFBD>J<EFBFBD>J<EFBFBD> <0B> 4<> <10> <1C> <1C>[<5B>D<EFBFBD> <1C> A<> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD>7 <1B>:<1D> <09> <09>!K<>t<EFBFBD>{<7B>{<7B>!K<>K<> <0A> <0C><0E><0E><1B>]<5D>O<EFBFBD>2<EFBFBD>6<>a<EFBFBD><0E>@<40><1A>x<EFBFBD>x<EFBFBD>G<>t<EFBFBD><EFBFBD><EFBFBD>G<>G<> <0C> <0C><0E><0E><1D>|<7C>&6<>7<>8r6c<00><00>d}|jrB|jry|jdkDr&|jd<03>|j <00>|dz }|j
r|j |<02>}n|j<00>}|jr`|jd|j<00>d<06>|<01>|j <00>|jd|j<00>d<08>|<01>|j<00>|jjs0|j<00>$|jd |j<00>d
|<04>d <0B>|<01>n<>|jd |j<00>d
|<04>d <0B><05>|jd <0A>|j <00>|j|j<00><00>d<0E>|<01>|j <00>|jd|<02>|j<00>|j<00>|jd|jdd<12><00><00><02>|j|<03>y)z.Call a block and register it for the template.rN<>if parent_template is None:r
zif len(context.blocks[z]) <= 1:z+raise TemplateRuntimeError("Required block z not found")zyield from context.blocks[z][0](rAzgen = context.blocks[r&<00>for event in gen:<3A>event<6E> finally: <20>await gen.aclose()<29> gen.close())r<>r<>r<>r<>r<><00>scopedr<64>r<><00>requiredrRr<>rBrBr<>rCr)r'r)r*r<>r<>s r4r<>zCodeGenerator.visit_Block<63>s<><00><00><11><05> <10>><3E>><3E><14>%<25>%<25><16><13>"<22>"<22>Q<EFBFBD>&<26><14><0E><0E><<3C>=<3D><14> <0B> <0B> <0A><15><11>
<EFBFBD><05> <0F>;<3B>;<3B><1A>)<29>)<29>%<25>0<>G<EFBFBD><1A>*<2A>*<2A>,<2C>G<EFBFBD> <0F>=<3D>=<3D> <10>N<EFBFBD>N<EFBFBD>3<>D<EFBFBD>I<EFBFBD>I<EFBFBD>=<3D><08>I<>4<EFBFBD> P<> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD> <10>N<EFBFBD>N<EFBFBD>=<3D>d<EFBFBD>i<EFBFBD>i<EFBFBD>]<5D>,<2C>W<><14> <0E> <11>L<EFBFBD>L<EFBFBD>N<EFBFBD><13><1F><1F>(<28>(<28>U<EFBFBD>\<5C>\<5C>-A<> <10>N<EFBFBD>N<EFBFBD>,<2C>T<EFBFBD>Y<EFBFBD>Y<EFBFBD>M<EFBFBD><15>w<EFBFBD>i<EFBFBD>q<EFBFBD>I<>4<EFBFBD> <0E> <11>N<EFBFBD>N<EFBFBD>2<>4<EFBFBD>9<EFBFBD>9<EFBFBD>-<2D>u<EFBFBD>W<EFBFBD>I<EFBFBD>Q<EFBFBD>O<> P<> <10>N<EFBFBD>N<EFBFBD>6<EFBFBD> "<22> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD> <10>N<EFBFBD>N<EFBFBD><17>$<24>$<24>&<26>'<27>'8<>9<><14> <0E> <11>K<EFBFBD>K<EFBFBD>M<EFBFBD> <10> <1D> <1D>g<EFBFBD>u<EFBFBD> -<2D> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD> <10>N<EFBFBD>N<EFBFBD><1B>D<EFBFBD>-<2D>-<2D>.B<>M<EFBFBD>R<>S<>T<> <0E> <0A> <0C> <0C>U<EFBFBD>r6c<00><><00>|js|jd|j<00>|jdkDrd|js!|j d<03>|j <00>|j d<04>|jr
t<00><00>|j<00>|j d|<01>|j|j|<02>|jd|j<00>d<07><03>|j d<08>|j <00>|j d <09>|j<00>|jrd
|_|xjd z c_y ) zCalls the extender.z,cannot use extend from a non top-level scoperr<>z5raise TemplateRuntimeError("extended multiple times")z+parent_template = environment.get_template(r>rAz9for name, parent_block in parent_template.blocks.items():z8context.blocks.setdefault(name, []).append(parent_block)Tr
N)r<>r<>r<>r<>r<>r<>r<>r<>r<>r2<00>templaterErRr<><00>r'r)r*s r4<00> visit_ExtendszCodeGenerator.visit_Extends<64>s<00><00><14>~<7E>~<7E> <10>I<EFBFBD>I<EFBFBD>D<>d<EFBFBD>k<EFBFBD>k<EFBFBD> R<>
<10> <1E> <1E><11> "<22>
<18>)<29>)<29><14><0E><0E>@<40>A<><14> <0B> <0B> <0A> <10>N<EFBFBD>N<EFBFBD>R<> S<><14>%<25>%<25>"<22>n<EFBFBD>$<24><14> <0C> <0C><0E> <0C><0E><0E>D<>d<EFBFBD>K<> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>=<3D>=<3D>%<25>(<28> <0C>
<EFBFBD>
<EFBFBD>R<EFBFBD><04> <09> <09>}<7D>A<EFBFBD>&<26>'<27> <0C><0E><0E>R<>S<> <0C> <0B> <0B> <0A> <0C><0E><0E>Q<>R<> <0C> <0C> <0C><0E>
<11>?<3F>?<3F>%)<29>D<EFBFBD> "<22> <0A><1B><1B>q<EFBFBD> <20>r6c<00><><00><00><02>|jr!<21>jd<01><00>j<00>d}t|jt
j <00>rTt|jjt<00>rd}nct|jjttf<02>r9d}n6t|jt
jt
jf<02>rd}<03>jd|<03>d<06>|<01><00>j|j<00><02><00>jd<07>j<00>d<08><03>|jrs<72>j!<00><00>jd <09><00>j<00><00>jd
<EFBFBD><00>j!<00><00>jd <0B><00>j<00>d<16><02>fd <0A> }|j"r<><72>jd<0E>j%<00><02><00>d<0F><03><00>jd<01><00>j<00><00>j<00>j'<00><00>d<10><02>|<04><00>j!<00><00>jd<11>j'dd<13><00><00><02>n@<40>j(j*r<19>jd<14>|<04>n<11>jd<15>|jr<11>j!<00>y y )zHandles includes.r&<00>get_or_select_template<74> get_template<74>select_templateztemplate = environment.r?r>rAzexcept TemplateNotFound:rr<>Nc<00>j<00><02><00>j<00><00>jd<01><00><00>j<00>y)Nr<4E>)r<>rr<>)r*r's<00><>r4<00> loop_bodyz.CodeGenerator.visit_Include.<locals>.loop_body-s%<00><><00> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD> <10> <1D> <1D>g<EFBFBD>u<EFBFBD> -<2D> <10>L<EFBFBD>L<EFBFBD>Nr6zNgen = template.root_render_func(template.new_context(context.get_all(), True, r<>r<>r<>r<>r<>zGfor event in (await template._get_default_module_async())._body_stream:z6yield from template._get_default_module()._body_streamr<6D>)<16>ignore_missingr<67>r<>rXr<>r <00>Constr_rrrsrt<00>Tuple<6C>Listr2rErRr<><00> with_contextrprCrBrB)r'r)r*<00> func_namer<65>s` ` r4<00> visit_IncludezCodeGenerator.visit_Includes<00><><00> <0F> <1E> <1E> <10>N<EFBFBD>N<EFBFBD>6<EFBFBD> "<22> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD>,<2C> <09> <15>d<EFBFBD>m<EFBFBD>m<EFBFBD>U<EFBFBD>[<5B>[<5B> 1<><19>$<24>-<2D>-<2D>-<2D>-<2D>s<EFBFBD>3<>*<2A> <09><1B>D<EFBFBD>M<EFBFBD>M<EFBFBD>/<2F>/<2F>%<25><14><1D>?<3F>-<2D> <09> <17><04> <0A> <0A><05> <0B> <0B>U<EFBFBD>Z<EFBFBD>Z<EFBFBD>'@<40> A<>)<29>I<EFBFBD> <0C><0E><0E>0<><19> <0B>1<EFBFBD>=<3D>t<EFBFBD>D<> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>=<3D>=<3D>%<25>(<28> <0C>
<EFBFBD>
<EFBFBD>R<EFBFBD><04> <09> <09>}<7D>A<EFBFBD>&<26>'<27> <0F> <1E> <1E> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD> <10>N<EFBFBD>N<EFBFBD>5<> 6<> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD> <10>N<EFBFBD>N<EFBFBD>6<EFBFBD> "<22> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD> <10>N<EFBFBD>N<EFBFBD>7<EFBFBD> #<23> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD> <1B>
<10> <1C> <1C> <10>N<EFBFBD>N<EFBFBD><14><18>+<2B>+<2B>E<EFBFBD>2<>3<>2<EFBFBD>7<> <0E>
<11>N<EFBFBD>N<EFBFBD>6<EFBFBD> "<22> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD> <10>N<EFBFBD>N<EFBFBD>d<EFBFBD>/<2F>/<2F>1<>2<>2C<32>D<> E<> <15>K<EFBFBD> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD> <10>N<EFBFBD>N<EFBFBD><1B>D<EFBFBD>-<2D>-<2D>.B<>M<EFBFBD>R<>S<>T<> <0E><12> <1D> <1D> &<26> &<26> <10>N<EFBFBD>N<EFBFBD>!<21> <0E> <16>K<EFBFBD> <10>N<EFBFBD>N<EFBFBD>S<> T<> <0F> <1E> <1E> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD> r6c<00><><00>|j|jd<01><00>d<02><02>|j|j|<02>|jd|j<00>d<04><03>|j
r;d|jd<06><00><00>}|j|<03>d|j |<02><00>d<08><04>y|jd |jd<06><00>d
<EFBFBD><03>y) N<>await zenvironment.get_template(r>z).<2E> make_module<6C>_asyncz(context.get_all(), True, rA<00>_get_default_modulez (context))rErCr2r<>rRr<>rp)r'r)r*<00>f_names r4<00>_import_commonzCodeGenerator._import_commonLs<><00><00> <0A>
<EFBFBD>
<EFBFBD>d<EFBFBD>'<27>'<27><08>1<>2<>2K<32>L<>M<> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>=<3D>=<3D>%<25>(<28> <0C>
<EFBFBD>
<EFBFBD>R<EFBFBD><04> <09> <09>}<7D>B<EFBFBD>'<27>(<28> <0F> <1C> <1C>"<22>4<EFBFBD>#4<>#4<>X<EFBFBD>#><3E>"?<3F>@<40>F<EFBFBD> <10>J<EFBFBD>J<EFBFBD><19>(<28>4<>T<EFBFBD>5L<35>5L<35>U<EFBFBD>5S<35>4T<34>TU<54>V<> <0E> <11>J<EFBFBD>J<EFBFBD>,<2C>T<EFBFBD>-><3E>-><3E>x<EFBFBD>-H<>,I<><19>S<> Tr6c<00>~<00>|j|jj|j<00><00>d<01>|<01>|jr|j d|j<00>d<03><03>|j ||<02>|jr<|jjd<04>s |jd|j<00>d<06><03>yyy)zVisit regular imports.r1r<>r<>r<><00>context.exported_vars.discard(rAN)r<>r<>rPr8r<>rEr<><00>
startswithr<EFBFBD>s r4<00> visit_ImportzCodeGenerator.visit_Import[s<><00><00> <0C><0E><0E>%<25>-<2D>-<2D>+<2B>+<2B>D<EFBFBD>K<EFBFBD>K<EFBFBD>8<>9<><13>=<3D>t<EFBFBD>D<> <10>><3E>><3E> <10>J<EFBFBD>J<EFBFBD><1D>t<EFBFBD>{<7B>{<7B>o<EFBFBD>T<EFBFBD>:<3A> ;<3B> <0C><1B><1B>D<EFBFBD>%<25>(<28> <10>><3E>><3E>$<24>+<2B>+<2B>"8<>"8<><13>"=<3D> <10>N<EFBFBD>N<EFBFBD>;<3B>D<EFBFBD>K<EFBFBD>K<EFBFBD>?<3F>!<21>L<> M<>#><3E>>r6c <00><><00><02>|j|<01>|jd<01>|j|<01><02>g}g}|jD<00>]H}t |t
<00>r|\}}n|}|j <00>jj|<06><00>d|<05>d<03><04>|j d<04>jj|<06><00>d<05><03>|j<00>|j|<01>jdd<07>jdd <09>}d
|<07>d |<05><02>}|j <00>jj|<06><00>d |<08>d |<05>d<0E><06>|j<00><00>js<02><01>|j|<06>|jd<0F>r<02><01>8|j|<06><00><01>K|rst!|<03>dk(r6|d}|j d|<05>d<13>jj|<05><00><00><04>n/dj#<00>fd<15>|D<00><00>} |j d| <09>d<17><03>|r\t!|<04>dk(r|j d|d<00>d<0E><03>ydj#t%t&|<04><00>}
|j d|
<EFBFBD>d<1A><03>yy)zVisit named imports.zincluded_template = z = getattr(included_template, z
, missing)rKrLrmz{{rz}}z9the template {included_template.__name__!r} (imported on z%) does not export the requested name z = undefined(fz, name=rAr<>r
rr<>r<>r>c3<00>^<00>K<00>|]$}|<01>d<00>jj|<01><00><00><03><01><00>&y<01>wrk)r<>rP)rdrRr*s <20>r4rfz1CodeGenerator.visit_FromImport.<locals>.<genexpr><3E>s1<00><><00><><00>%<12>?C<>t<EFBFBD>h<EFBFBD>b<EFBFBD><15><1D><1D>!2<>!2<>4<EFBFBD>!8<> 9<>:<3A>%<12>s<00>*-r<>r<>r<>z)context.exported_vars.difference_update((r<>N)rrEr<>r{rXrsr<>r<>rPr<>rh<00>replacer<65>r<>r r<>rSr6r<>ra) r'r)r*<00> var_names<65>discarded_namesrRr<>rh<00>message<67>names_kvr<76>s ` r4<00>visit_FromImportzCodeGenerator.visit_FromImportfsT<00><><00> <0C> <0C> <0C>T<EFBFBD><1A> <0C>
<EFBFBD>
<EFBFBD>)<29>*<2A> <0C><1B><1B>D<EFBFBD>%<25>(<28><16> <09><1C><0F><18>J<EFBFBD>J<EFBFBD> 2<>D<EFBFBD><19>$<24><05>&<26>"<22> <0B><04>e<EFBFBD><1C><05> <10>N<EFBFBD>N<EFBFBD><18>=<3D>=<3D>$<24>$<24>U<EFBFBD>+<2B>,<2C>-/<2F>/3<>h<EFBFBD>j<EFBFBD>B<01> <0E> <11>N<EFBFBD>N<EFBFBD>S<EFBFBD><15><1D><1D>!2<>!2<>5<EFBFBD>!9<> :<3A>,<2C>G<> H<> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD>
<1C>}<7D>}<7D>T<EFBFBD>*<2A>2<>2<>3<EFBFBD><04>=<3D>E<>E<>c<EFBFBD>4<EFBFBD>P<>H<EFBFBD>!<21>!)<29>
<EFBFBD>+7<>7;<3B>h<EFBFBD>@<01> <14>
<11>N<EFBFBD>N<EFBFBD><18>=<3D>=<3D>$<24>$<24>U<EFBFBD>+<2B>,<2C>N<EFBFBD>7<EFBFBD>+<2B>W<EFBFBD>T<EFBFBD>H<EFBFBD>TU<54>V<> <0E> <11>L<EFBFBD>L<EFBFBD>N<EFBFBD><14>~<7E>~<7E><19> <20> <20><15>'<27><1C>'<27>'<27><03>,<2C>#<23>*<2A>*<2A>5<EFBFBD>1<>9 2<>< <15><12>9<EFBFBD>~<7E><11>"<22> <20><11>|<7C><04><14><0E><0E><1D>t<EFBFBD>h<EFBFBD>d<EFBFBD>5<EFBFBD>=<3D>=<3D>;L<>;L<>T<EFBFBD>;R<>:S<>T<>U<><1F>9<EFBFBD>9<EFBFBD>%<12>GP<47>%<12><12><08><15><0E><0E>!7<><08>z<EFBFBD><13>E<>F<> <1A><12>?<3F>#<23>q<EFBFBD>(<28><14><0E><0E>!?<3F><0F>PQ<50>@R<>?U<>UV<55>W<>X<> <20>I<EFBFBD>I<EFBFBD>c<EFBFBD>$<24><0F>&@<40>A<> <09><14><0E><0E>?<3F> <09>{<7B>"<22>M<><12> r6c<00>"<00>|j<00>}d|_|j<00>}|j<00>}|jxsOdt|j d<03><04>d<05>vxs/t d<06>|j tj<00>D<00><00>}d}|r|jjd<02>}|jj|d<07><08>|jr|jj|d <09><08>|j<00>r<>|j<00>}|jj|d
<EFBFBD><08>|j|j!|<08><00>d <0B>|j<00>|j#<00>|j%|<04>|j|j'd d <0A><00>|j)|j*|<03>|j-d<0E>|j-|j'dd<10><00>|j-d<11>|j#<00>|jd|j<00>|j)|j|<04>|j-d<11>|j#<00>|jd<13>|j)|j*|<03>|j/d<14>|j1|d<01><15>|jrV|j|j!d<02><00>d<16>|<01>|j#<00>|j3|<03>|j2|_|r|j|<07>d<17><02>|j tj4<00>D]>} | j6dk(s<01>| j8dk(s<01>#|j;d| j<<00><00>@|jr$|j<00>}
|j|
<EFBFBD>d<1A><02>|j|j'd d <0A>|<01>|j)|j*|<03>|r(|j-d|<07>d|j'd<1C><00>d<1D><05>n|j-d<0E>|jr|j-<08>d<1E><02>|jr|j-d<1F>nn|j>j@r|s|j-d <20>|j)|jB|<02>|j>j@r|s|j-d!<21>|jr|j-d!<21>|jr|j-d"<22>n|j-|rd#nd<11>|j#<00>|j%|<03>|jd$<24>|jE|jF|<03>|jr|j
<EFBFBD>d%<25><02>|j/<00>|j1||jxr |j <00><15>|jrs|jd
<EFBFBD>d<11><03>|j#<00>|j%|<05>|jE|j|<05>|j1|<05>|j/<00>|jr<>|jI|<03>|j/<00>|jK||<01>|j-|j'd&<26><00>d'<27><02>|j>j@r|j-d <20>|j)|jB|<02>|j>j@r|j-d!<21>|j-d(<28>|jM|<02>|jNr3|jNd)jQ|jjR<00>yy)*NT<4E>loop)rQ)<01>only)r<>c3<00>4K<00>|]}|j<00><01><00>y<00>wr.)r<>)rdr<>s r4rfz*CodeGenerator.visit_For.<locals>.<genexpr><3E>s<00><00><><00>H<>E<EFBFBD>5<EFBFBD><<3C><<3C>H<>rrQ)<01>
for_branch<EFBFBD>else<73>testz(fiter):z
async for zfor rgzauto_aiter(fiter)<29>fiter<65>:rKr<><00>rMz%(reciter, loop_render_func, depth=0):r2<00>storez8Can't assign to special loop variable in for-loop targetz = 1r><00>Asyncz LoopContext(r?<00>reciterz auto_aiter(rAz&, undefined, loop_render_func, depth):z , undefined):z_loop_vars = {}z = 0r<30>zloop(z, loop)r*)*r<>r<><00> recursiver<65><00>iter_child_nodesrr<>r r<>r<>rUrN<00>else_r<5F>r<>r<>rEr<>r;rCr2r8rEr<>r>r<>r<>r<>rRr<>r<>rBrBr<>rrQr<>r<>rr<><00>difference_update<74>stores) r'r)r*r<><00>
test_frame<EFBFBD>
else_frame<EFBFBD> extended_loop<6F>loop_ref<65>loop_filter_funcrR<00>iteration_indicators r4<00> visit_ForzCodeGenerator.visit_For<6F>s<><00><00><1A>[<5B>[<5B>]<5D>
<EFBFBD> $<24>
<EFBFBD><1D><1A>[<5B>[<5B>]<5D>
<EFBFBD><1A>[<5B>[<5B>]<5D>
<EFBFBD> <11>N<EFBFBD>N<EFBFBD> I<01><15><1E>t<EFBFBD>4<>4<>)<29>4<>D<>i<EFBFBD>P<>Q<01> I<01><13>H<>T<EFBFBD>]<5D>]<5D>5<EFBFBD>;<3B>;<3B>-G<>H<>H<> <16><18><08> <18>!<21>)<29>)<29>;<3B>;<3B>F<EFBFBD>C<>H<EFBFBD><12><1A><1A>'<27>'<27><04><16>'<27>@<40> <0F>:<3A>:<3A> <16> <1E> <1E> +<2B> +<2B>D<EFBFBD>V<EFBFBD> +<2B> D<> <0F>9<EFBFBD>9<EFBFBD>#<23>8<>8<>:<3A> <1C> <16> <1E> <1E> +<2B> +<2B>D<EFBFBD>V<EFBFBD> +<2B> D<> <10>N<EFBFBD>N<EFBFBD>d<EFBFBD>i<EFBFBD>i<EFBFBD>(8<>9<>:<3A>(<28>C<>T<EFBFBD>Y<EFBFBD>Y<EFBFBD> O<> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD> <10> <1C> <1C>Z<EFBFBD> (<28> <10>N<EFBFBD>N<EFBFBD>4<EFBFBD>,<2C>,<2C>\<5C>6<EFBFBD>B<> C<> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>{<7B>{<7B>J<EFBFBD> /<2F> <10>J<EFBFBD>J<EFBFBD>v<EFBFBD> <1E> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>(<28>(<28>)<<3C>g<EFBFBD>F<> G<> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD> <10>N<EFBFBD>N<EFBFBD>5<EFBFBD>$<24>)<29>)<29> ,<2C> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>y<EFBFBD>y<EFBFBD>*<2A> -<2D> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD> <10>N<EFBFBD>N<EFBFBD>8<EFBFBD> $<24> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>{<7B>{<7B>J<EFBFBD> /<2F> <10>L<EFBFBD>L<EFBFBD><11>O<EFBFBD> <10> <1C> <1C>Z<EFBFBD>4<EFBFBD> <1C> @<40>
<10>><3E>><3E> <10>N<EFBFBD>N<EFBFBD><17>9<EFBFBD>9<EFBFBD>V<EFBFBD>$<24>%<25>%J<>K<>T<EFBFBD> <0E> <11>K<EFBFBD>K<EFBFBD>M<EFBFBD> <10>K<EFBFBD>K<EFBFBD>
<EFBFBD> #<23>!+<2B> 1<> 1<>J<EFBFBD> <1D> <19> <10>N<EFBFBD>N<EFBFBD>h<EFBFBD>Z<EFBFBD>z<EFBFBD>2<> 3<><18>M<EFBFBD>M<EFBFBD>%<25>*<2A>*<2A>-<2D> <12>D<EFBFBD><13>x<EFBFBD>x<EFBFBD>7<EFBFBD>"<22>t<EFBFBD>y<EFBFBD>y<EFBFBD>F<EFBFBD>':<3A><14> <09> <09>N<><18>K<EFBFBD>K<EFBFBD><12> <12> <10>:<3A>:<3A>"&<26>";<3B>";<3B>"=<3D> <1F> <10>N<EFBFBD>N<EFBFBD>1<>2<>$<24>7<> 8<> <0C><0E><0E>t<EFBFBD>(<28>(<28><1C>v<EFBFBD>><3E><04>E<> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>;<3B>;<3B>
<EFBFBD>+<2B> <18> <10>J<EFBFBD>J<EFBFBD><12>H<EFBFBD>:<3A>T<EFBFBD>$<24>*;<3B>*;<3B>G<EFBFBD>*D<>)E<>\<5C>R<> S<> <10>J<EFBFBD>J<EFBFBD>v<EFBFBD> <1E> <0F>9<EFBFBD>9<EFBFBD> <10>J<EFBFBD>J<EFBFBD>*<2A>+<2B>1<EFBFBD>-<2D> .<2E> <0F>><3E>><3E> <10>J<EFBFBD>J<EFBFBD>y<EFBFBD> !<21><13><1F><1F>(<28>(<28><1D><14>
<EFBFBD>
<EFBFBD>=<3D>)<29> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>y<EFBFBD>y<EFBFBD>%<25> (<28><13><1F><1F>(<28>(<28><1D><14>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F> <0F>9<EFBFBD>9<EFBFBD> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD> <0F>><3E>><3E> <10>J<EFBFBD>J<EFBFBD>?<3F> @<40> <10>J<EFBFBD>J<EFBFBD>-<2D><EFBFBD>S<EFBFBD> A<> <0C> <0B> <0B> <0A> <0C><18><18><1A>$<24> <0C><0E><0E>(<28>)<29> <0C><0F><0F><04> <09> <09>:<3A>.<2E> <0F>:<3A>:<3A> <10>N<EFBFBD>N<EFBFBD>1<>2<>$<24>7<> 8<> <0C> <0C> <0C><0E> <0C><18><18> <16>$<24>.<2E>.<2E>*K<><14><1A><1A>^<5E> <19>
<EFBFBD> <10>:<3A>:<3A> <10>N<EFBFBD>N<EFBFBD>S<EFBFBD>!4<> 5<>Q<EFBFBD>7<> 8<> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD> <10> <1C> <1C>Z<EFBFBD> (<28> <10>O<EFBFBD>O<EFBFBD>D<EFBFBD>J<EFBFBD>J<EFBFBD>
<EFBFBD> 3<> <10> <1C> <1C>Z<EFBFBD> (<28> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD> <10>><3E>><3E> <10> '<27> '<27>
<EFBFBD> 3<> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD> <10> <1C> <1C>U<EFBFBD>D<EFBFBD> )<29> <10>J<EFBFBD>J<EFBFBD>$<24>+<2B>+<2B>H<EFBFBD>5<>6<>e<EFBFBD><<3C> =<3D><13><1F><1F>(<28>(<28><14>
<EFBFBD>
<EFBFBD>=<3D>)<29> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>y<EFBFBD>y<EFBFBD>%<25> (<28><13><1F><1F>(<28>(<28><14>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F> <10>J<EFBFBD>J<EFBFBD>y<EFBFBD> !<21> <10>N<EFBFBD>N<EFBFBD>5<EFBFBD> !<21> <10> <1D> <1D> <10> <1E> <1E>r<EFBFBD> "<22> 4<> 4<>Z<EFBFBD>5G<35>5G<35>5N<35>5N<35> O<> r6c<00><><00>|j<00>}|jd|<01>|j|j|<03>|j d<02>|j <00>|j |j|<03>|j<00>|jD]}}|jd|<04>|j|j|<03>|j d<02>|j <00>|j |j|<03>|j<00><00>|jrN|jd<04>|j <00>|j |j|<03>|j<00>yy)NrKr<>zelif r<>) r<>r<>r2r<>rEr<>rrQr<><00>elif_r<5F>)r'r)r*<00>if_framer<65>s r4<00>visit_IfzCodeGenerator.visit_If(s<><00><00><18>:<3A>:<3A><<3C><08> <0C><0E><0E>u<EFBFBD>d<EFBFBD>#<23> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>9<EFBFBD>9<EFBFBD>h<EFBFBD>'<27> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F> <0C> <0B> <0B> <0A> <0C><0F><0F><04> <09> <09>8<EFBFBD>,<2C> <0C> <0C> <0C><0E><19>Z<EFBFBD>Z<EFBFBD> <1B>E<EFBFBD> <10>N<EFBFBD>N<EFBFBD>7<EFBFBD>E<EFBFBD> *<2A> <10>J<EFBFBD>J<EFBFBD>u<EFBFBD>z<EFBFBD>z<EFBFBD>8<EFBFBD> ,<2C> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD> <10>O<EFBFBD>O<EFBFBD>E<EFBFBD>J<EFBFBD>J<EFBFBD><08> 1<> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD>  <1B> <10>:<3A>:<3A> <10>N<EFBFBD>N<EFBFBD>7<EFBFBD> #<23> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD> <10>O<EFBFBD>O<EFBFBD>D<EFBFBD>J<EFBFBD>J<EFBFBD><08> 1<> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD> r6c<00><><00>|j||<02>\}}|j<00>|jrY|jj d<01>s|j d|j<00>d<03><03>|j d|j<00>d<05><03>|j |jj|j<00><00>d<06><02>|j||<03>y)Nr<4E>r<>rAr<>r<>r1)
r^rr<>rRr<>rEr<>r<>rPre)r'r)r*<00> macro_framerYs r4<00> visit_MacrozCodeGenerator.visit_Macro=s<><00><00>!%<25><1F><1F><14>u<EFBFBD>!=<3D><1E> <0B>Y<EFBFBD> <0C> <0C> <0C><0E> <10>><3E>><3E><17>9<EFBFBD>9<EFBFBD>'<27>'<27><03>,<2C><14>
<EFBFBD>
<EFBFBD>7<><04> <09> <09>}<7D>A<EFBFBD>F<>G<> <10>N<EFBFBD>N<EFBFBD>]<5D>4<EFBFBD>9<EFBFBD>9<EFBFBD>-<2D>t<EFBFBD><<3C> =<3D> <0C>
<EFBFBD>
<EFBFBD>e<EFBFBD>m<EFBFBD>m<EFBFBD>'<27>'<27><04> <09> <09>2<>3<>3<EFBFBD>7<>8<> <0C><0E><0E>y<EFBFBD>+<2B>.r6c<00><><00>|j||<02>\}}|jd<01>|j||<03>|j||<01>|j |j
|d<02><03>|j |<02>y)Nz caller = T)<01>forward_caller)r^r<>rer<><00>
visit_Call<EFBFBD>callr)r'r)r*<00>
call_framerYs r4<00>visit_CallBlockzCodeGenerator.visit_CallBlockGsc<00><00> $<24><0F><0F><04>e<EFBFBD> <<3C><1D>
<EFBFBD>I<EFBFBD> <0C><0E><0E>{<7B>#<23> <0C><0E><0E>y<EFBFBD>*<2A>-<2D> <0C><18><18><15><04>%<25> <0C><0F><0F><04> <09> <09>5<EFBFBD><14><0F>><3E> <0C><0E><0E>u<EFBFBD>r6c<00>v<00>|j<00>}|jj|<01>|j|<03>|j |<03>|j |j |<03>|j||<01>|j|j|<03>|j|<02>|j|<03>yr.) r<>r<>rNr;r<>rrQr<>r<><00>filterrr>)r'r)r*<00> filter_frames r4<00>visit_FilterBlockzCodeGenerator.visit_FilterBlockOs<><00><00><1C>{<7B>{<7B>}<7D> <0C><14><1C><1C>)<29>)<29>$<24>/<2F> <0C><18><18><1C>&<26> <0C> <0B> <0B>L<EFBFBD>!<21> <0C><0F><0F><04> <09> <09><<3C>0<> <0C><18><18><15><04>%<25> <0C><19><19>$<24>+<2B>+<2B>|<7C>4<> <0C><0E><0E>u<EFBFBD><1D> <0C><18><18><1C>&r6c<00><><00>|j<00>}|jj|<01>|j|<03>t |j
|j <00>D]J\}}|j<00>|j||<03>|jd<01>|j||<02><00>L|j|j|<03>|j|<03>y)Nr1) r<>r<>rNr;<00>zip<69>targets<74>valuesrr2rErrQr>)r'r)r*<00>
with_framer8<00>exprs r4<00>
visit_WithzCodeGenerator.visit_WithZs<><00><00><1A>[<5B>[<5B>]<5D>
<EFBFBD><12><1A><1A>'<27>'<27><04>-<2D> <0C><18><18><1A>$<24><1F><04> <0C> <0C>d<EFBFBD>k<EFBFBD>k<EFBFBD>:<3A> $<24>L<EFBFBD>F<EFBFBD>D<EFBFBD> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD> <10>J<EFBFBD>J<EFBFBD>v<EFBFBD>z<EFBFBD> *<2A> <10>J<EFBFBD>J<EFBFBD>u<EFBFBD> <1D> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>U<EFBFBD> #<23>  $<24>
<0A><0F><0F><04> <09> <09>:<3A>.<2E> <0C><18><18><1A>$r6c<00>^<00>|j|<01>|j|j|<02>yr.)rr2r)r<>s r4<00>visit_ExprStmtzCodeGenerator.visit_ExprStmtfs <00><00> <0C> <0C> <0C>T<EFBFBD><1A> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>9<EFBFBD>9<EFBFBD>e<EFBFBD>$r6c<00>t<00>eZdZUejej
defed<ejeed<y)<05>CodeGenerator._FinalizeInfo.<2E>const<73>srcN)r<>r<>r<>r8r<><00>Callablerr<00>__annotations__r<5F>r6r4<00> _FinalizeInforjs,<00><00><10>z<EFBFBD>z<EFBFBD>!<21>*<2A>*<2A>S<EFBFBD>#<23>X<EFBFBD>.<2E>/<2F>/<2F> <0E>Z<EFBFBD>Z<EFBFBD><03>_<EFBFBD>r6rr_c<00><00>t|<00>S)z<>The default finalize function if the environment isn't
configured with one. Or, if the environment has one, this is
called on that function's output for constants.
)rrrzs r4<00>_default_finalizezCodeGenerator._default_finalizens<00><00> <13>5<EFBFBD>z<EFBFBD>r6<00> _finalizec<00>b<00><00><04><05><00>j<00> <0C>jS<00>jx}<01>d}<02>jjr<>d}<02>jj<00>tj
dtj dtjdijt j<00><05><00>}d}|<03>(dtjdtjf<04><04>fd<08> }n4|<02>|<03>d <09>}|dk(r(dtjdtjf<04><04><05>fd
<EFBFBD> }<01>j||<02><00>_<00>jS) a<>Build the finalize function to be used on constants and at
runtime. Cached so it's only created once for all output nodes.
Returns a ``namedtuple`` with the following attributes:
``const``
A function to finalize constant data at compile time.
``src``
Source code to output around nodes to be evaluated at
runtime.
Nzenvironment.finalize(r<><00>context.eval_ctxrBr_r%c<00> <00><02><00><00>|<00><00>Sr.r<>)r_r]<00> env_finalizes <20><>r4<00>finalizez.CodeGenerator._make_finalize.<locals>.finalize<7A>s<00><><00>"<22><<3C><05>#6<>7<>7r6r>c<00>6<00><03><00><00><02>j|<00><00>Sr.)rB)r_r]r"r's <20><><EFBFBD>r4r#z.CodeGenerator._make_finalize.<locals>.finalize<7A>s<00><><00>&<26>|<7C>D<EFBFBD>4D<34>4D<34>e<EFBFBD>'L<>M<>Mr6) rrrBr#rr<><00> eval_context<78>get<65>from_objr8r9r)r'r#r<00>pass_argr]r"s` @@r4<00>_make_finalizezCodeGenerator._make_finalizexs<00><><00> <10>><3E>><3E> %<25><17>><3E>><3E> !<21>"<22>3<>3<>3<><08>7<EFBFBD><12><03> <0F> <1B> <1B> $<24> $<24>)<29>C<EFBFBD><1F>+<2B>+<2B>4<>4<>L<EFBFBD><18> <20> <20>)<29><18>%<25>%<25>'9<><18>$<24>$<24>m<EFBFBD><0E><12>c<EFBFBD><18>!<21>!<21>,<2C>/<2F><0E> <15><1C>H<EFBFBD><17><1F>8<>A<EFBFBD>E<EFBFBD>E<EFBFBD>8<>a<EFBFBD>e<EFBFBD>e<EFBFBD>8<><1D><05>h<EFBFBD>Z<EFBFBD>r<EFBFBD>*<2A><03><1B>}<7D>,<2C>N<01><01><05><05>N<01>!<21>%<25>%<25>N<01><1E>+<2B>+<2B>H<EFBFBD>c<EFBFBD>:<3A><04><0E><13>~<7E>~<7E>r6<00>groupc<00>*<00>tt|<01><00>S)z<>Given a group of constant values converted from ``Output``
child nodes, produce a string to write to the template module
source.
)rar)r'r*s r4<00>_output_const_reprz CodeGenerator._output_const_repr<70>s<00><00>
<14>F<EFBFBD>5<EFBFBD>M<EFBFBD>"<22>"r6r#c<00><><00>|j|j<00>}|jjr t|<04>}t |t
j <00>r t|<04>S|j|<04>S)aCTry to optimize a child of an ``Output`` node by trying to
convert it to constant, finalized data at compile time.
If :exc:`Impossible` is raised, the node is not constant and
will be evaluated at runtime. Any other exception will also be
evaluated at runtime for easier debugging.
) <09>as_constr0r<>rrXr <00> TemplateDatarrr)r'r)r*r#rs r4<00>_output_child_to_constz$CodeGenerator._output_child_to_const<73>sW<00><00><15> <0A> <0A>e<EFBFBD>n<EFBFBD>n<EFBFBD>-<2D><05> <10>><3E>><3E> $<24> $<24><1A>5<EFBFBD>M<EFBFBD>E<EFBFBD> <16>d<EFBFBD>E<EFBFBD>.<2E>.<2E> /<2F><16>u<EFBFBD>:<3A> <1D><17>~<7E>~<7E>e<EFBFBD>$<24>$r6c<00><00>|jjr|jd<01>n9|jjr|jd<02>n|jd<03>|j<00>|j|j<00>yy)zXOutput extra source code before visiting a child of an
``Output`` node.
z1(escape if context.eval_ctx.autoescape else str)(zescape(zstr(N)r0r1rEr<>r<00>r'r)r*r#s r4<00>_output_child_prezCodeGenerator._output_child_pre<72>sb<00><00> <11>><3E>><3E> "<22> "<22> <10>J<EFBFBD>J<EFBFBD>J<> K<> <12>^<5E>^<5E> &<26> &<26> <10>J<EFBFBD>J<EFBFBD>y<EFBFBD> !<21> <10>J<EFBFBD>J<EFBFBD>v<EFBFBD> <1E> <13><<3C><<3C> #<23> <10>J<EFBFBD>J<EFBFBD>x<EFBFBD>|<7C>|<7C> $<24> $r6c<00>b<00>|jd<01>|j<00>|jd<01>yy)zWOutput extra source code after visiting a child of an
``Output`` node.
rAN)rErr2s r4<00>_output_child_postz CodeGenerator._output_child_post<73>s)<00><00> <0A>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F> <13><<3C><<3C> #<23> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD> $r6c<00>~<00>|jr.|jry|jd<01>|j<00>|j <00>}g}|j
D]<5D>} |j s.t|t
j<00>st j<00><00>|j|||<03>}|r(t|dt<00>r|dj|<06><00>{|j|g<01><00><>|j<00>[t|<04>dk(r|j|j<00>d<04><02>n|j|j<00>d<05><02>|j<00>|D]<5D>}t|t<00>rG|j!|<07>}|j<00>|jd|z<00><00>E|j|dz<00><00>Z|j<00>|jd|<07>n|j#|<07>|j%|||<03>|j'||<02>|j)|||<03>|j<00><01><>|j+d<07><00><>|j<00>1|j-<00>|jt|<04>dk(rdnd <09>|jr|j-<00>yy#t
jtf$r|j|<05>Y<00><02>bwxYw)
Nr<EFBFBD>r*r
r<>z .extend((r<>rbrAr<>)r<>r<>r<>r<>r)r rrXr/<00>
Impossibler0<00> Exceptionr rtr<>rSr,rr3r2r5rEr<>) r'r)r*r#rQ<00>childr<00>item<65>vals r4<00> visit_OutputzCodeGenerator.visit_Output<75>sH<00><00> <10> %<25> %<25><13>%<25>%<25><16> <10>N<EFBFBD>N<EFBFBD>8<> 9<> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD><17>&<26>&<26>(<28><08>;=<3D><04>
<1A>Z<EFBFBD>Z<EFBFBD> %<25>E<EFBFBD> <19><1D>N<EFBFBD>N<EFBFBD>"<22>%<25><15>);<3B>);<3B><<3C><1F>*<2A>*<2A>,<2C>,<2C><1C>3<>3<>E<EFBFBD>5<EFBFBD>(<28>K<><05><14>
<EFBFBD>4<EFBFBD><02>8<EFBFBD>T<EFBFBD>2<><14>R<EFBFBD><08><0F><0F><05>&<26><14> <0B> <0B>U<EFBFBD>G<EFBFBD>$<24>/ %<25>2 <11><<3C><<3C> #<23><12>4<EFBFBD>y<EFBFBD>A<EFBFBD>~<7E><14><0E><0E>%<25>,<2C>,<2C><1E>x<EFBFBD>8<>9<><14><0E><0E>%<25>,<2C>,<2C><1E>y<EFBFBD>9<>:<3A> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD><18> $<24>D<EFBFBD><19>$<24><04>%<25><1A>-<2D>-<2D>d<EFBFBD>3<><03><18><<3C><<3C>'<27><18>N<EFBFBD>N<EFBFBD>8<EFBFBD>c<EFBFBD>><3E>2<><18>N<EFBFBD>N<EFBFBD>3<EFBFBD><13>9<EFBFBD>-<2D><18><<3C><<3C>'<27><18>N<EFBFBD>N<EFBFBD>8<EFBFBD>T<EFBFBD>2<><18>L<EFBFBD>L<EFBFBD><14>&<26><15>&<26>&<26>t<EFBFBD>U<EFBFBD>H<EFBFBD>=<3D><14>
<EFBFBD>
<EFBFBD>4<EFBFBD><15>'<27><14>'<27>'<27><04>e<EFBFBD>X<EFBFBD>><3E><18><<3C><<3C>+<2B><18>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD>+ $<24>. <11><<3C><<3C> #<23> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD> <10>N<EFBFBD>N<EFBFBD>#<23>d<EFBFBD>)<29>q<EFBFBD>.<2E>3<EFBFBD>d<EFBFBD> ;<3B> <10> %<25> %<25> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD> &<26><>_<1A>$<24>$<24>i<EFBFBD>0<> <19><15> <0B> <0B>E<EFBFBD>"<22><18>  <19>s<00>A J<02>*J<<05>;J<c<00><><00>|j<00>t<00>}|jtj<00>D]<5D>}|j
|vr<01>|j |j
<00>|jj|j
<00>}|jd|<05>d<02><03>|j<00>|jd<03>|j<00><00><>|j|<01>|j|j|<02>|jd<04>|j|j |<02>|j#|<02>y)Nzif not isinstance(z , Namespace):zMraise TemplateRuntimeError("cannot assign attribute on non-namespace object")r1)r<>rur<>r <00>NSRefrRr<>r<>rPr<>r<>r<>rr2r8rEr)r<>)r'r)r*<00> seen_refs<66>nsrefrPs r4<00> visit_AssignzCodeGenerator.visit_Assign.s<><00><00> <0C>!<21>!<21>#<23> !$<24><05> <09><19>]<5D>]<5D>5<EFBFBD>;<3B>;<3B>/<2F> <1B>E<EFBFBD><14>z<EFBFBD>z<EFBFBD>Y<EFBFBD>&<26><19> <15>M<EFBFBD>M<EFBFBD>%<25>*<2A>*<2A> %<25><17>-<2D>-<2D>#<23>#<23>E<EFBFBD>J<EFBFBD>J<EFBFBD>/<2F>C<EFBFBD> <10>N<EFBFBD>N<EFBFBD>/<2F><03>u<EFBFBD>M<EFBFBD>B<> C<> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD> <10>N<EFBFBD>N<EFBFBD>F<01> <0E> <11>L<EFBFBD>L<EFBFBD>N<EFBFBD> <1B> <0A> <0C> <0C>T<EFBFBD><1A> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>;<3B>;<3B><05>&<26> <0C>
<EFBFBD>
<EFBFBD>5<EFBFBD><19> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>9<EFBFBD>9<EFBFBD>e<EFBFBD>$<24> <0C> <20> <20><15>'r6c<00>v<00>|j<00>|j<00>}d|_|jj |<01>|j |<03>|j |<03>|j|j|<03>|j|<01>|j|j|<02>|jd<02>|j<00>|j|j|<03>n|jd|j <00>d<04><03>|jd<04>|j|<02>|j!|<03>y)NFz9 = (Markup if context.eval_ctx.autoescape else identity)(<28>concat(rA)r<>r<>r<>r<>rNr;r<>rrQrr2r8rEr r<>r<>r>)r'r)r*r<>s r4<00>visit_AssignBlockzCodeGenerator.visit_AssignBlockMs<><00><00> <0C>!<21>!<21>#<23><1B>k<EFBFBD>k<EFBFBD>m<EFBFBD> <0B>,1<> <0B>(<28><13><1B><1B>(<28>(<28><14>.<2E> <0C><18><18><1B>%<25> <0C> <0B> <0B>K<EFBFBD> <20> <0C><0F><0F><04> <09> <09>;<3B>/<2F> <0C> <0C> <0C>T<EFBFBD><1A> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>;<3B>;<3B><05>&<26> <0C>
<EFBFBD>
<EFBFBD>N<>O<> <0F>;<3B>;<3B> "<22> <10> <1D> <1D>d<EFBFBD>k<EFBFBD>k<EFBFBD>;<3B> 7<> <10>J<EFBFBD>J<EFBFBD><17><1B>!3<>!3<> 4<>A<EFBFBD>6<> 7<> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F> <0C> <20> <20><15>'<27> <0C><18><18><1B>%r6c <00><00>|jdk(rX|js|js |jr4|jr(|jdj |j <00>|jj|j <00>}|jdk(r`|jj|<03>}|<04>|dtk(r|j|<03>r&|jd|j <00>d|<03>d|<03>d<08><07>y|j|<03>y) Nr<4E>r*r<>rz(undefined(name=z) if z is missing else rA) r<>r<>r<>r<>r<>r<>rRr<>rP<00> find_loadrr<>rE)r'r)r*rPr<>s r4r<>zCodeGenerator.visit_Namees<><00><00> <0F>8<EFBFBD>8<EFBFBD>w<EFBFBD> <1E> <11>N<EFBFBD>N<EFBFBD>e<EFBFBD>.<2E>.<2E>%<25>2C<32>2C<32><13>!<21>!<21><14>"<22>"<22>2<EFBFBD>&<26>*<2A>*<2A>4<EFBFBD>9<EFBFBD>9<EFBFBD>5<><13>m<EFBFBD>m<EFBFBD><1F><1F><04> <09> <09>*<2A><03>
<10>8<EFBFBD>8<EFBFBD>v<EFBFBD> <1D><18>=<3D>=<3D>*<2A>*<2A>3<EFBFBD>/<2F>D<EFBFBD><14> <20><18><11>G<EFBFBD>1<>1<><1C>4<>4<>S<EFBFBD>9<><14>
<EFBFBD>
<EFBFBD>&<26>t<EFBFBD>y<EFBFBD>y<EFBFBD>m<EFBFBD>5<EFBFBD><13><05>=N<>s<EFBFBD>e<EFBFBD>ST<53>U<><12><17> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD>r6c<00><><00>|jj|j<00>}|j|<03>d|j<00>d<02><04>y)Nr'r()r<>rPrRr<><00>attr)r'r)r*rPs r4<00> visit_NSRefzCodeGenerator.visit_NSRef~s9<00><00>
<14>m<EFBFBD>m<EFBFBD><1F><1F><04> <09> <09>*<2A><03> <0C><0E><0E>#<23><15>a<EFBFBD><04> <09> <09>}<7D>A<EFBFBD>.<2E>/r6c<00><><00>|j|j<00>}t|t<00>r|j t |<03><00>y|j t |<03><00>yr.)r.r0rXrorErrra)r'r)r*r;s r4<00> visit_ConstzCodeGenerator.visit_Const<73>s><00><00><12>m<EFBFBD>m<EFBFBD>E<EFBFBD>N<EFBFBD>N<EFBFBD>+<2B><03> <15>c<EFBFBD>5<EFBFBD> !<21> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>3<EFBFBD>x<EFBFBD> <20> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>C<EFBFBD>y<EFBFBD> !r6c<00><><00> |jt|j|j<00><00><00>y#tj
$r"|jd|j <00>d<02><03>YywxYw<01>Nz6(Markup if context.eval_ctx.autoescape else identity)(rA)rErar.r0r r7<00>datar<61>s r4<00>visit_TemplateDataz CodeGenerator.visit_TemplateData<74>sW<00><00> <0E> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>D<EFBFBD>M<EFBFBD>M<EFBFBD>%<25>.<2E>.<2E>9<>:<3A> ;<3B><><14><1F><1F> <0E> <10>J<EFBFBD>J<EFBFBD>H<><14><19><19> <0A>UV<55>W<> <0E> <0E>s<00>36<00>2A+<03>*A+c<00><><00>|jd<01>d}t|j<00>D]*\}}|r|jd<03>|j||<02><00>,|j|dk(rd<05>yd<06>y)Nr?r*r>rz,)rA<00>rErOryr2<00>r'r)r*r\r:s r4<00> visit_TuplezCodeGenerator.visit_Tuple<6C>sd<00><00> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F><10><03>"<22>4<EFBFBD>:<3A>:<3A>.<2E> $<24>I<EFBFBD>C<EFBFBD><14><12><14>
<EFBFBD>
<EFBFBD>4<EFBFBD> <20> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>U<EFBFBD> #<23> $<24> <0A>
<EFBFBD>
<EFBFBD>3<EFBFBD>!<21>8<EFBFBD>4<EFBFBD>-<2D><13>-r6c<00><><00>|jd<01>t|j<00>D]*\}}|r|jd<02>|j||<02><00>,|jd<03>y)Nr'r>r(rQrRs r4<00>
visit_ListzCodeGenerator.visit_List<73>sS<00><00> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F>"<22>4<EFBFBD>:<3A>:<3A>.<2E> $<24>I<EFBFBD>C<EFBFBD><14><12><14>
<EFBFBD>
<EFBFBD>4<EFBFBD> <20> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>U<EFBFBD> #<23> $<24> <0A>
<EFBFBD>
<EFBFBD>3<EFBFBD>r6c<00>:<00>|jd<01>t|j<00>D]a\}}|r|jd<02>|j|j|<02>|jd<03>|j|j
|<02><00>c|jd<04>y)Nrmr>rr)rErOryr2rr_rRs r4<00>
visit_DictzCodeGenerator.visit_Dict<63>su<00><00> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F>"<22>4<EFBFBD>:<3A>:<3A>.<2E> *<2A>I<EFBFBD>C<EFBFBD><14><12><14>
<EFBFBD>
<EFBFBD>4<EFBFBD> <20> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>x<EFBFBD>x<EFBFBD><15> '<27> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD> <1C> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>z<EFBFBD>z<EFBFBD>5<EFBFBD> )<29>  *<2A> <0A>
<EFBFBD>
<EFBFBD>3<EFBFBD>r6<00>+<2B>-<2D>*<2A>/z//z**<2A>%<25>and<6E>orznot c<00><00>|jjrd}n|jjrd}nd}|j|<03>d<04><02>|jD]%}|j ||<02>|jd<05><00>'|jd<06>y)Nz8(markup_join if context.eval_ctx.volatile else str_join)<29> markup_join<69>str_joinz((r>r<>)r0r1r<>rEr r2)r'r)r*r<>r"s r4<00> visit_ConcatzCodeGenerator.visit_Concat<61>sy<00><00> <10>><3E>><3E> "<22> "<22>R<>I<EFBFBD> <12>^<5E>^<5E> &<26> &<26>%<25>I<EFBFBD>"<22>I<EFBFBD> <0C>
<EFBFBD>
<EFBFBD>i<EFBFBD>[<5B><02>#<23>$<24><17>:<3A>:<3A> <1D>C<EFBFBD> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>E<EFBFBD> "<22> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD> <1C> <1D> <0A>
<EFBFBD>
<EFBFBD>4<EFBFBD>r6c<00><><00>|jd<01>|j|j|<02>|jD]}|j||<02><00>|jd<02>y)Nr?rA)rEr2r<00>opsrHs r4<00> visit_ComparezCodeGenerator.visit_Compare<72>sK<00><00> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>9<EFBFBD>9<EFBFBD>e<EFBFBD>$<24><16>(<28>(<28> "<22>B<EFBFBD> <10>J<EFBFBD>J<EFBFBD>r<EFBFBD>5<EFBFBD> !<21> "<22> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD>r6c<00><><00>|jdt|j<00>d<01><03>|j|j|<02>y)Nr@)rE<00> operatorsr;r2rr<>s r4<00> visit_OperandzCodeGenerator.visit_Operand<6E>s3<00><00> <0C>
<EFBFBD>
<EFBFBD>Q<EFBFBD>y<EFBFBD><14><17><17>)<29>*<2A>!<21>,<2C>-<2D> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>9<EFBFBD>9<EFBFBD>e<EFBFBD>$r6c<00>:<00>|jjr|jd<01>|jd<02>|j|j|<02>|jd|j
<00>d<04><03>|jjr|jd<05>yy)N<>(await auto_await(zenvironment.getattr(r>rAr<>)rBrBrEr2r)rHr<>s r4<00> visit_GetattrzCodeGenerator.visit_Getattr<74>sv<00><00> <0F> <1B> <1B> $<24> $<24> <10>J<EFBFBD>J<EFBFBD>+<2B> ,<2C> <0C>
<EFBFBD>
<EFBFBD>)<29>*<2A> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>9<EFBFBD>9<EFBFBD>e<EFBFBD>$<24> <0C>
<EFBFBD>
<EFBFBD>R<EFBFBD><04> <09> <09>}<7D>A<EFBFBD>&<26>'<27> <0F> <1B> <1B> $<24> $<24> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD> <1C> %r6c<00>v<00>t|jtj<00>r[|j |j
|<02>|j d<01>|j |j|<02>|j d<02>y|jjr|j d<03>|j d<04>|j |j
|<02>|j d<05>|j |j|<02>|j d<06>|jjr|j d<07>yy)Nr'r(rjzenvironment.getitem(r>rAr<>) rXr"r <00>Slicer2r)rErBrBr<>s r4<00> visit_GetitemzCodeGenerator.visit_Getitem<65>s<><00><00> <16>d<EFBFBD>h<EFBFBD>h<EFBFBD><05> <0B> <0B> ,<2C> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>y<EFBFBD>y<EFBFBD>%<25> (<28> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>x<EFBFBD>x<EFBFBD><15> '<27> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD><13><1F><1F>(<28>(<28><14>
<EFBFBD>
<EFBFBD>/<2F>0<> <10>J<EFBFBD>J<EFBFBD>-<2D> .<2E> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>y<EFBFBD>y<EFBFBD>%<25> (<28> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD> <1C> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>x<EFBFBD>x<EFBFBD><15> '<27> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD><13><1F><1F>(<28>(<28><14>
<EFBFBD>
<EFBFBD>4<EFBFBD> <20>)r6c<00>:<00>|j<00>|j|j|<02>|jd<01>|j<00>|j|j|<02>|j<00>.|jd<01>|j|j|<02>yy)Nr<4E>)<05>startr2rE<00>stopr<70>r<>s r4<00> visit_SlicezCodeGenerator.visit_Slice<63>sq<00><00> <0F>:<3A>:<3A> !<21> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>z<EFBFBD>z<EFBFBD>5<EFBFBD> )<29> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F> <0F>9<EFBFBD>9<EFBFBD> <20> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>y<EFBFBD>y<EFBFBD>%<25> (<28> <0F>9<EFBFBD>9<EFBFBD> <20> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>y<EFBFBD>y<EFBFBD>%<25> (<28> !r6<00> is_filterc#<00><>K<00>|jjr|jd<01>|r[|j|j|j<00>d<02><02>|jjj |j<00>}nZ|j|j |j<00>d<02><02>|jj j |j<00>}|<04>?|js3|rdnd}|jd|<05>d|j<00>d<07>|j<00>tjdtjd tjd
ij tj|<04><00>}|<06>|j|<06>d <0B><02>d<00><01>|j||<02>|jd <0C>|jjr|jd <0A>yy<00>w)Nrjr?r r<>zNo r+r<>r<>r rBr>rAr<>)rBrBrEr<>rRr&r<>r<>r<>r<>rr<>r%r'r$)r'r)r*rsrE<00> type_namer(s r4<00>_filter_test_commonz!CodeGenerator._filter_test_commons<><00><00><><00> <10> <1B> <1B> $<24> $<24> <10>J<EFBFBD>J<EFBFBD>+<2B> ,<2C> <14> <10>J<EFBFBD>J<EFBFBD>$<24>,<2C>,<2C>t<EFBFBD>y<EFBFBD>y<EFBFBD>1<>2<>!<21>4<> 5<><17>#<23>#<23>+<2B>+<2B>/<2F>/<2F><04> <09> <09>:<3A>D<EFBFBD> <10>J<EFBFBD>J<EFBFBD>$<24>*<2A>*<2A>T<EFBFBD>Y<EFBFBD>Y<EFBFBD>/<2F>0<><01>2<> 3<><17>#<23>#<23>)<29>)<29>-<2D>-<2D>d<EFBFBD>i<EFBFBD>i<EFBFBD>8<>D<EFBFBD>
<10><<3C><05> 0<> 0<>$-<2D><08>6<EFBFBD>I<EFBFBD> <10>I<EFBFBD>I<EFBFBD><03>I<EFBFBD>;<3B>g<EFBFBD>d<EFBFBD>i<EFBFBD>i<EFBFBD>]<5D>!<21><<3C>d<EFBFBD>k<EFBFBD>k<EFBFBD> J<> <15> <1C> <1C>i<EFBFBD> <14> !<21> !<21>#5<> <14> <20> <20>-<2D>
<EFBFBD> <0E>#<23> <14> <1D> <1D>d<EFBFBD> #<23>
<EFBFBD> <11> <14> <1F> <10>J<EFBFBD>J<EFBFBD>(<28><1A>2<EFBFBD><EFBFBD> '<27> <0E> <0C><0E><0E>t<EFBFBD>U<EFBFBD>#<23> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F> <0F> <1B> <1B> $<24> $<24> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD> <1C> %<25>s<00>GGc<00><><00>|j||d<01>5|j<00>|j|j|<02>n<>|jjr-|j d|j <00>d|j <00>d<04><05>nU|jjr |j d|j <00>d<04><03>n|j d|j <00>d<07><03>ddd<00>y#1swYyxYw)NTz(Markup(concat(z.)) if context.eval_ctx.autoescape else concat(r<>zMarkup(concat(rCrA)rvr)r2r0r1rEr<>r<>r<>s r4r<>zCodeGenerator.visit_Filter,s<><00><00> <11> %<25> %<25>d<EFBFBD>E<EFBFBD>4<EFBFBD> 8<> 6<><14>y<EFBFBD>y<EFBFBD>$<24><14>
<EFBFBD>
<EFBFBD>4<EFBFBD>9<EFBFBD>9<EFBFBD>e<EFBFBD>,<2C><16><1E><1E>(<28>(<28><14>
<EFBFBD>
<EFBFBD>%<25>e<EFBFBD>l<EFBFBD>l<EFBFBD>^<5E>4C<01>CH<43><<3C><<3C>.<2E>PR<50>T<01><12><17><1E><1E>*<2A>*<2A><14>
<EFBFBD>
<EFBFBD>^<5E>E<EFBFBD>L<EFBFBD>L<EFBFBD>><3E><12><<3C>=<3D><14>
<EFBFBD>
<EFBFBD>W<EFBFBD>U<EFBFBD>\<5C>\<5C>N<EFBFBD>!<21>4<>5<> 6<> 6<> 6<>s <00>CC<03>C(c<00><><00>|j||d<01>5|j|j|<02>ddd<00>y#1swYyxYwr<>)rvr2r)r<>s r4r<>zCodeGenerator.visit_Test=s;<00><00> <11> %<25> %<25>d<EFBFBD>E<EFBFBD>5<EFBFBD> 9<> )<29> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>y<EFBFBD>y<EFBFBD>%<25> (<28> )<29> )<29> )<29>s <00>:<03>Ac<00>@<00><00><01><02><00>j<00><00>d<06><02><01>fd<01> }<03>jd<02><00>j<00>j<00><02><00>jd<03><00>j<00>j<00><02><00>jd<04>|<03><00>jd<05>y)Nc<00><><00><03><00>j<00><1D>j<00>j<00><00>y<00>jd<01>j<00><01><00>d<02><03>y)Nz1cond_expr_undefined("the inline if-expression on z6 evaluated to false and no else section was defined."))<04>expr2r2rErh)r*r)r's<00><><EFBFBD>r4<00> write_expr2z1CodeGenerator.visit_CondExpr.<locals>.write_expr2FsL<00><><00><13>z<EFBFBD>z<EFBFBD>%<25><14>
<EFBFBD>
<EFBFBD>4<EFBFBD>:<3A>:<3A>u<EFBFBD>-<2D><16> <10>J<EFBFBD>J<EFBFBD><14><18>M<EFBFBD>M<EFBFBD>$<24>'<27>(<28>)*<2A>+<2B> r6r?z if z else rAr<>)r<>rEr2<00>expr1r<31>)r'r)r*r|s``` r4<00>visit_CondExprzCodeGenerator.visit_CondExprBsl<00><><00><15>
<EFBFBD>
<EFBFBD> <0C><05> <0E> <0A>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>:<3A>:<3A>u<EFBFBD>%<25> <0C>
<EFBFBD>
<EFBFBD>6<EFBFBD><1A> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>9<EFBFBD>9<EFBFBD>e<EFBFBD>$<24> <0C>
<EFBFBD>
<EFBFBD>8<EFBFBD><1C><13> <0A> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD>r6rc<00>8<00>|jjr|jd<01>|jjr|jd<02>n|jd<03>|j |j
|<02>|rddind}|j rddini}|jrddini}|r|j|fi|<06><01>n|s|r t|fi|<06><01>}|j|||<04>|jd<07>|jjr|jd<08>yy) Nrjzenvironment.call(context, z context.call(rG<00>
_loop_vars<EFBFBD> _block_varsrAr<>) rBrBrErCr2r)r<>r<>r<>rxr$)r'r)r*rr<00> loop_kwargs<67> block_kwargss r4rzCodeGenerator.visit_CallYs<><00><00> <10> <1B> <1B> $<24> $<24> <10>J<EFBFBD>J<EFBFBD>+<2B> ,<2C> <0F> <1B> <1B> %<25> %<25> <10>J<EFBFBD>J<EFBFBD>3<> 4<> <10>J<EFBFBD>J<EFBFBD><EFBFBD> '<27> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>9<EFBFBD>9<EFBFBD>e<EFBFBD>$<24>/=<3D><08>(<28>+<2B>4<EFBFBD> <0C>6;<3B>6F<36>6F<36>|<7C>\<5C>2<>B<EFBFBD> <0B>9><3E>9J<39>9J<39> <0A>}<7D>5<>PR<50> <0C> <17> <1F>L<EFBFBD> <1F> <1F> <0B> <<3C>|<7C> <<3C> <18>L<EFBFBD><1F> <0B><<3C>|<7C><<3C>L<EFBFBD> <0C><0E><0E>t<EFBFBD>U<EFBFBD>L<EFBFBD>1<> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F> <0F> <1B> <1B> $<24> $<24> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD> <1C> %r6c<00>x<00>|j|jdz<00>|j|j|<02>y)Nr)rErr2r_r<>s r4<00> visit_KeywordzCodeGenerator.visit_Keywordps(<00><00> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>8<EFBFBD>8<EFBFBD>c<EFBFBD>><3E>"<22> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>:<3A>:<3A>u<EFBFBD>%r6c<00><><00>|jd<01>|j|j|<02>|jd<02>y)NzMarkup(rA<00>rEr2rr<>s r4<00>visit_MarkSafezCodeGenerator.visit_MarkSafevs+<00><00> <0C>
<EFBFBD>
<EFBFBD>9<EFBFBD><1D> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>9<EFBFBD>9<EFBFBD>e<EFBFBD>$<24> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD>r6c<00><><00>|jd<01>|j|j|<02>|jd<02>yrMr<>r<>s r4<00>visit_MarkSafeIfAutoescapez(CodeGenerator.visit_MarkSafeIfAutoescape{s.<00><00> <0A>
<EFBFBD>
<EFBFBD>K<>L<> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>9<EFBFBD>9<EFBFBD>e<EFBFBD>$<24> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD>r6c<00>@<00>|jd|jz<00>y)Nz environment.<2E>rErRr<>s r4<00>visit_EnvironmentAttributez(CodeGenerator.visit_EnvironmentAttribute<74>s<00><00> <0A>
<EFBFBD>
<EFBFBD>><3E>D<EFBFBD>I<EFBFBD>I<EFBFBD>-<2D>.r6c<00>Z<00>|jd|j<00>d|j<00><00><04>y)Nzenvironment.extensions[z].)rE<00>
identifierrRr<>s r4<00>visit_ExtensionAttributez&CodeGenerator.visit_ExtensionAttribute<74>s'<00><00> <0A>
<EFBFBD>
<EFBFBD>,<2C>T<EFBFBD>_<EFBFBD>_<EFBFBD>,?<3F>r<EFBFBD>$<24>)<29>)<29><1B>M<>Nr6c<00>T<00>|j|j|j<00>yr.)rEr<>r<>r<>s r4<00>visit_ImportedNamez CodeGenerator.visit_ImportedName<6D>s<00><00> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>&<26>&<26>t<EFBFBD><EFBFBD><EFBFBD>7<>8r6c<00>:<00>|j|j<00>yr.r<>r<>s r4<00>visit_InternalNamez CodeGenerator.visit_InternalName<6D>s<00><00> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>9<EFBFBD>9<EFBFBD>r6c<00>&<00>|jd<01>y)Nr<4E>)rEr<>s r4<00>visit_ContextReferencez$CodeGenerator.visit_ContextReference<63>s<00><00> <0A>
<EFBFBD>
<EFBFBD>9<EFBFBD>r6c<00>D<00>|j|j|<02><00>yr.)rEr<>r<>s r4<00>visit_DerivedContextReferencez+CodeGenerator.visit_DerivedContextReference<63>s<00><00> <0A>
<EFBFBD>
<EFBFBD>4<EFBFBD>&<26>&<26>u<EFBFBD>-<2D>.r6c<00>(<00>|jd|<01>y)N<>continuerrr<>s r4<00>visit_ContinuezCodeGenerator.visit_Continue<75>s<00><00> <0C><0E><0E>z<EFBFBD>4<EFBFBD>(r6c<00>(<00>|jd|<01>y)N<>breakrrr<>s r4<00> visit_BreakzCodeGenerator.visit_Break<61>s<00><00> <0C><0E><0E>w<EFBFBD><04>%r6c<00><><00>|j<00>}|jj|<01>|j|<03>|j |j
|<03>|j |<03>yr.)r<>r<>rNr;rrQr>)r'r)r*<00> scope_frames r4<00> visit_ScopezCodeGenerator.visit_Scope<70>sO<00><00><1B>k<EFBFBD>k<EFBFBD>m<EFBFBD> <0B><13><1B><1B>(<28>(<28><14>.<2E> <0C><18><18><1B>%<25> <0C><0F><0F><04> <09> <09>;<3B>/<2F> <0C><18><18><1B>%r6c<00><><00>|j<00>}|j|<03>d|j|<02><00><00><03>|j|<03>d<02><02>|j|j|<02>|j |<03>|j d<03><04>}|jj|<01>|j|<04>|j|j|<04>|j|<04>|j<00>y)Nr1z.vars = T)r<>)r<>r<>r<>r2r<>r{r<>r<>rNr;rrQr>r})r'r)r*r<>r<>s r4<00>visit_OverlayScopez CodeGenerator.visit_OverlayScope<70>s<><00><00><12>'<27>'<27>)<29><03> <0C><0E><0E>#<23><15>c<EFBFBD>$<24>"5<>"5<>e<EFBFBD>"<<3C>!=<3D>><3E>?<3F> <0C><0E><0E>#<23><15>h<EFBFBD>'<27>(<28> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD><<3C><<3C><15>'<27> <0C>#<23>#<23>C<EFBFBD>(<28><1B>k<EFBFBD>k<EFBFBD>4<EFBFBD>k<EFBFBD>0<> <0B><13><1B><1B>(<28>(<28><14>.<2E> <0C><18><18><1B>%<25> <0C><0F><0F><04> <09> <09>;<3B>/<2F> <0C><18><18><1B>%<25> <0C>"<22>"<22>$r6c<00>~<00>|jD]<5D>}|jd|j<00>d<02><03>|j|j|<02> |jj |j <00>}t|j |j|<04><00><>y#tj$rd|j _
Y<00><>wxYw)Nzcontext.eval_ctx.r1T) <0B>optionsr<73>rr2r_r.r0<00>setattrr r7r1)r'r)r*<00>keywordr;s r4<00>visit_EvalContextModifierz'CodeGenerator.visit_EvalContextModifier<65>s<><00><00><1C>|<7C>|<7C> :<3A>G<EFBFBD> <10>N<EFBFBD>N<EFBFBD>.<2E>w<EFBFBD>{<7B>{<7B>m<EFBFBD>3<EFBFBD>?<3F> @<40> <10>J<EFBFBD>J<EFBFBD>w<EFBFBD>}<7D>}<7D>e<EFBFBD> ,<2C> :<3A><1D>m<EFBFBD>m<EFBFBD>,<2C>,<2C>U<EFBFBD>^<5E>^<5E><<3C><03><18><05><0E><0E><07> <0B> <0B>S<EFBFBD>9<> :<3A><>
<19>#<23>#<23> /<2F>*.<2E><05><0E><0E>'<27> /<2F>s<00> %B<02>$B<<05>;B<c<00>J<00>|j<00>}|jj<00>}|j|<03>d<01><02>|j ||<02>|j
D]}|j ||<02><00>|jj|<04>|jd|<03>d<03><03>y)Nz = context.eval_ctx.save()zcontext.eval_ctx.revert(rA)r<>r0<00>saver<65>r<>rQr2<00>revert)r'r)r*<00> old_ctx_name<6D> saved_ctxr9s r4<00>visit_ScopedEvalContextModifierz-CodeGenerator.visit_ScopedEvalContextModifier<65>s<><00><00><1C>0<>0<>2<> <0C><19>N<EFBFBD>N<EFBFBD>'<27>'<27>)<29> <09> <0C><0E><0E>,<2C><1E>'A<>B<>C<> <0C>&<26>&<26>t<EFBFBD>U<EFBFBD>3<><19>Y<EFBFBD>Y<EFBFBD> %<25>E<EFBFBD> <10>J<EFBFBD>J<EFBFBD>u<EFBFBD>e<EFBFBD> $<24> %<25> <0A><0E><0E><1D><1D>i<EFBFBD>(<28> <0C><0E><0E>1<>,<2C><1E>q<EFBFBD>A<>Br6<00>NFTr<54>r<>)r
r.)Nr)zasync r<>)<29>r<EFBFBD>r<>r<>r8r<>rr<00>TextIOrmr<><00>propertyrVrnr<>r<>r+r<>r<>r<>r<>r <00>Noder<65>rrr<>rrEr<>rr<><00>Callr<6C>r<><00>Mappingr9r$r/r;r>rCrEr<>r<>r<>r<>r^rerhrprsrVrXrWr{r}r<>r4r<>r<>r<>r<>rYr<>r<>r<>r<>r<><00>Includer<65><00>Import<72>
FromImportr<EFBFBD>r<>r<><00>Forr<72><00>Ifr<66>rr<00> FilterBlockr <00>Withr<00>ExprStmtr<00>
NamedTupler<00> staticmethodrrrr)r,r7r0r3r5<00>Outputr<<00>AssignrA<00> AssignBlockrDr<>r<>r>rIr<>rKr/rOrSr<>rU<00>DictrWrL<00> visit_Add<64> visit_Sub<75> visit_Mul<75> visit_Div<69>visit_FloorDiv<69> visit_Pow<6F> visit_Mod<6F> visit_And<6E>visit_OrrQ<00> visit_Pos<6F> visit_Neg<65> visit_Notr:<00>Concatrb<00>Comparere<00>Operandrh<00>Getattrrk<00>Getitemrnrmrrr<00>Iteratorrvr<>r<><00>CondExprr~r<00>Keywordr<64><00>MarkSafer<65><00>MarkSafeIfAutoescaper<65><00>EnvironmentAttributer<65><00>ExtensionAttributer<65>r<>r<><00> InternalNamer<65><00>ContextReferencer<65><00>DerivedContextReferencer<65><00>Continuer<65><00>Breakr<6B><00>Scoper<65><00> OverlayScoper<65><00>EvalContextModifierr<72><00>ScopedEvalContextModifierr<72>r<>r6r4r(r(,s<> <00><00> (,<2C> <20><1E>G4<>"<22>G4<><10>j<EFBFBD>j<EFBFBD><13>o<EFBFBD>G4<><14>*<2A>*<2A>S<EFBFBD>/<2F> G4<>
<12>
<EFBFBD>
<EFBFBD>1<EFBFBD>8<EFBFBD>8<EFBFBD>$<24> G4<> <19> G4<><18>G4<>
<0E>G4<>R<0E>*<2A>4<EFBFBD>*<2A><0E>*<2A>
L<01><03>L<01>S<EFBFBD>L<01>]<5D>L<01>,<2C>c<EFBFBD>,<2C>
/<2F>E<EFBFBD>/<2F>d<EFBFBD>/<2F> 5:<3A>9<><1A>9<>-1<>9<> <0A>9<>(<1F>"<22>C<EFBFBD>"<22><04>"<22><<3C><15><<3C>a<EFBFBD>j<EFBFBD>j<EFBFBD><15><1A><1A>.D<><<3C>PT<50><<3C><1C>u<EFBFBD><1C><14><1C> DH<01><1E><14><1E>"<22><1E>*+<2B>*<2A>*<2A>U<EFBFBD>Z<EFBFBD>Z<EFBFBD>*@<40><1E> <0A><1E> <11><01>
<EFBFBD>
<EFBFBD>5<EFBFBD>:<3A>:<3A> 6<> <11>u<EFBFBD> <11><14> <11> <1D>s<EFBFBD> <1D>t<EFBFBD> <1D>IJ<01><16><14><16><1D>J<EFBFBD>J<EFBFBD>u<EFBFBD>z<EFBFBD>z<EFBFBD>2<><16>BE<42><16> <0A><16>*<2A>A<EFBFBD>J<EFBFBD>J<EFBFBD>u<EFBFBD>z<EFBFBD>z<EFBFBD>2<>*<2A>#<23>*<2A>d<EFBFBD>*<2A>;?<3F> 7/<2F><0F>g<EFBFBD>g<EFBFBD>e<EFBFBD>j<EFBFBD>j<EFBFBD>%<25>,<2C>,<2C><05>
<EFBFBD>
<EFBFBD>:<3A>;<3B>7/<2F><15>7/<2F><18>j<EFBFBD>j<EFBFBD><11><19><19>3<EFBFBD><01><05><05>:<3A>!6<>7<> 7/<2F>
<0E> 7/<2F>r,<1F>q<EFBFBD>z<EFBFBD>z<EFBFBD>%<25>*<2A>*<2A>'=<3D>,<1F>$<24>,<1F>\><3E><15>><3E>4<EFBFBD>><3E> B<01><15>B<01>4<EFBFBD>B<01>D<EFBFBD>B<01>H<01><03>H<01>C<EFBFBD>H<01>QT<51>H<01>2<><13>2<><13>2<>Q <20><15>G<EFBFBD>G<EFBFBD>E<EFBFBD>K<EFBFBD>K<EFBFBD><15><1F><1F>8<>9<>Q <20>BG<42>Q <20>
<EFBFBD><17><17><15><08><1F> !<21>Q <20>f

<EFBFBD>8<EFBFBD>

<EFBFBD>E<EFBFBD>

<EFBFBD>d<EFBFBD>

<EFBFBD><12>U<EFBFBD>Z<EFBFBD>Z<EFBFBD><12>C<EFBFBD><12>!<21><05>!<21>#<23>!<21> +<2B>I<01><05>I<01>$<24>I<01>$<24>6<>C<EFBFBD>6<>D<EFBFBD>6<>5<>S<EFBFBD>5<>T<EFBFBD>5<>,<2C>1<><13>1<>#<23>#<23>#<23> U<01>E<EFBFBD>U<01>c<EFBFBD>U<01>3<>c<EFBFBD>3<>d<EFBFBD>3<> )<29>)O<01><15>)O<01>4<EFBFBD>)O<01>\@D<01>x9<><19>N<EFBFBD>N<EFBFBD>x9<>+,<2C>:<3A>:<3A>e<EFBFBD>+<<3C>x9<> <0A>x9<>t/<1C><05> <0B> <0B>/<1C>E<EFBFBD>/<1C>d<EFBFBD>/<1C>b(!<21>%<25>-<2D>-<2D>(!<21><05>(!<21>$<24>(!<21>T8<1B>%<25>-<2D>-<2D>8<1B><05>8<1B>$<24>8<1B>t U<01><15>G<EFBFBD>G<EFBFBD>E<EFBFBD>L<EFBFBD>L<EFBFBD>%<25>*:<3A>*:<3A>:<3A>;<3B> U<01>DI<44> U<01> <0A> U<01> N<01><15><1C><1C> N<01>e<EFBFBD> N<01><04> N<01>5<12>U<EFBFBD>%5<>%5<>5<12>e<EFBFBD>5<12><04>5<12>nIP<01>e<EFBFBD>i<EFBFBD>i<EFBFBD>IP<01><05>IP<01>$<24>IP<01>V<1B>U<EFBFBD>X<EFBFBD>X<EFBFBD><1B>e<EFBFBD><1B><04><1B>*/<2F><05> <0B> <0B>/<2F>E<EFBFBD>/<2F>d<EFBFBD>/<2F><1E>E<EFBFBD>O<EFBFBD>O<EFBFBD><1E>E<EFBFBD><1E>d<EFBFBD><1E> '<27>e<EFBFBD>&7<>&7<> '<27><05> '<27>$<24> '<27>
%<25>u<EFBFBD>z<EFBFBD>z<EFBFBD>
%<25>%<25>
%<25>D<EFBFBD>
%<25>%<25>5<EFBFBD>><3E>><3E>%<25>%<25>%<25>D<EFBFBD>%<25><1D><01> <0C> <0C><1D><12><1A><11><15><15><1A>1<EFBFBD>5<EFBFBD>5<EFBFBD><1A><12><1A>,0<>I<EFBFBD>q<EFBFBD>z<EFBFBD>z<EFBFBD>-<2D>(<28>/<2F>.<1E> <0A>.<1E>`#<23><01>
<EFBFBD>
<EFBFBD>1<EFBFBD>5<EFBFBD>5<EFBFBD>(9<>#<23>c<EFBFBD>#<23>%<25><19>J<EFBFBD>J<EFBFBD>%<25>',<2C>%<25>8E<38>%<25> <0C>%<25>*%<25><19>J<EFBFBD>J<EFBFBD>%<25>',<2C>%<25>8E<38>%<25> <0A>%<25> <1C><19>J<EFBFBD>J<EFBFBD> <1C>',<2C> <1C>8E<38> <1C> <0A> <1C>M<1B><15><1C><1C>M<1B>e<EFBFBD>M<1B><04>M<1B>^(<28><15><1C><1C>(<28>e<EFBFBD>(<28><04>(<28>>&<26>e<EFBFBD>&7<>&7<>&<26><05>&<26>$<24>&<26>0<18>u<EFBFBD>z<EFBFBD>z<EFBFBD><18>%<25><18>D<EFBFBD><18>20<><05> <0B> <0B>0<>E<EFBFBD>0<>d<EFBFBD>0<>"<22><05> <0B> <0B>"<22>E<EFBFBD>"<22>d<EFBFBD>"<22><0E>u<EFBFBD>'9<>'9<><0E>%<25><0E>D<EFBFBD><0E>.<2E><05> <0B> <0B>.<2E>E<EFBFBD>.<2E>d<EFBFBD>.<2E><18>u<EFBFBD>z<EFBFBD>z<EFBFBD><18>%<25><18>D<EFBFBD><18><18>u<EFBFBD>z<EFBFBD>z<EFBFBD><18>%<25><18>D<EFBFBD><18><1C>C<EFBFBD> <20>I<EFBFBD><1B>C<EFBFBD> <20>I<EFBFBD><1B>C<EFBFBD> <20>I<EFBFBD><1B>C<EFBFBD> <20>I<EFBFBD> <20><14>&<26>N<EFBFBD><1B>D<EFBFBD>!<21>I<EFBFBD><1B>C<EFBFBD> <20>I<EFBFBD><1B>E<EFBFBD>"<22>I<EFBFBD><1A>4<EFBFBD> <20>H<EFBFBD><1A>3<EFBFBD><0F>I<EFBFBD><1A>3<EFBFBD><0F>I<EFBFBD><1A>6<EFBFBD>"<22>I<EFBFBD><12> <19><15><1C><1C> <19>e<EFBFBD> <19><04> <19><13> <19><13><18>%<25>-<2D>-<2D><18><05><18>$<24><18><13><18>%<25>%<25>-<2D>-<2D>%<25><05>%<25>$<24>%<25><13> <1D>%<25>-<2D>-<2D> <1D><05> <1D>$<24> <1D><13> <1D><13>!<21>%<25>-<2D>-<2D>!<21><05>!<21>$<24>!<21><13>!<21>()<29><05> <0B> <0B>)<29>E<EFBFBD>)<29>d<EFBFBD>)<29><14>'<1D><15>G<EFBFBD>G<EFBFBD>E<EFBFBD>L<EFBFBD>L<EFBFBD>%<25>*<2A>*<2A>4<>5<>'<1D>>C<>'<1D>PT<50>'<1D>
<EFBFBD><1A><1A>D<EFBFBD> <19>'<1D><14>'<1D>R<13>6<><15><1C><1C>6<>e<EFBFBD>6<><04>6<><13>6<> <13>)<29>u<EFBFBD>z<EFBFBD>z<EFBFBD>)<29>%<25>)<29>D<EFBFBD>)<29><13>)<29><13><18>5<EFBFBD>><3E>><3E><18>%<25><18>D<EFBFBD><18><13><18>,<13>EJ<45><1D><19>J<EFBFBD>J<EFBFBD><1D>',<2C><1D>>B<><1D> <0A><1D><13><1D>,&<26>%<25>-<2D>-<2D>&<26><05>&<26>$<24>&<26> <18>5<EFBFBD>><3E>><3E><18>%<25><18>D<EFBFBD><18>
<18><19>.<2E>.<2E><18>7<<3C><18> <0A><18>/<2F><19>.<2E>.<2E>/<2F>7<<3C>/<2F> <0A>/<2F>
O<01><19>,<2C>,<2C>O<01>5:<3A>O<01> <0A>O<01>
9<>u<EFBFBD>'9<>'9<>9<>%<25>9<>D<EFBFBD>9<><1E>u<EFBFBD>'9<>'9<><1E>%<25><1E>D<EFBFBD><1E><1E><19>*<2A>*<2A><1E>38<33><1E> <0A><1E>
/<2F><19>1<>1<>/<2F>:?<3F>/<2F> <0A>/<2F>
)<29>5<EFBFBD>><3E>><3E>)<29>%<25>)<29>D<EFBFBD>)<29>&<26><05> <0B> <0B>&<26>E<EFBFBD>&<26>d<EFBFBD>&<26>&<26><05> <0B> <0B>&<26>E<EFBFBD>&<26>d<EFBFBD>&<26> %<25>u<EFBFBD>'9<>'9<> %<25>%<25> %<25>D<EFBFBD> %<25> :<3A><19>-<2D>-<2D> :<3A>6;<3B> :<3A> <0A> :<3A>
C<01><19>3<>3<>
C<01><A<>
C<01> <0A>
Cr6r<>)Fr<46><00>typingr8<00>
contextlibr<00> functoolsr<00>ior<00> itertoolsrr<>rr<00>
markupsaferr r<>r <00>
exceptionsr <00>
idtrackingr rrrrrr/r<00>utilsrrrIr<00> TYPE_CHECKING<4E>typing_extensions<6E>terBr<00>TypeVarrr9rrgr:rrrJrLrPrQrYr<>r<>rmr^rcr<>r<><00>Setr<74>r<>r+<00> RuntimeErrorr~r<>r}r8r<>r(r<>r6r4<00><module>r<>s2<00><01>6<><12>%<25>$<24><17><1B>2<><1D><1D><13>.<2E><1F>&<26>*<2A>(<28>*<2A><1E> <20><1B><19> <20><04>?<3F>?<3F>"<22>(<28> <0A>A<EFBFBD>I<EFBFBD>I<EFBFBD>c<EFBFBD><11><1A><1A>C<EFBFBD><11><15><15>J<EFBFBD>/<2F>0<><01> <0F>
<0E>
<0A> <10>
<0A> <10>
<0E> <15> <02> <09> '<27>Q<EFBFBD> '<27>1<EFBFBD> '<27> <13>C<EFBFBD><13>A<EFBFBD>J<EFBFBD>J<EFBFBD><0F><15><1D><1D><07>'P<>RV<52>'V<>W<><13>*<13> <0B><13><06>Z<EFBFBD>Z<EFBFBD><1F>%<25>/<2F>/<2F>7<EFBFBD>;<3B>T<EFBFBD>A<>B<><13>0$(<28><1C><1A><10>
<0F>.<2E>.<2E><10><1E><10> <0C>*<2A>*<2A>S<EFBFBD>/<2F><10><10>j<EFBFBD>j<EFBFBD><13>o<EFBFBD> <10>
<0E>J<EFBFBD>J<EFBFBD>q<EFBFBD>x<EFBFBD>x<EFBFBD> <20> <10> <15> <10><14><10><07>Z<EFBFBD>Z<EFBFBD><03>_<EFBFBD><10>0<11><11><15><15><11>4<EFBFBD><11>" <1E> <0C>:<3A>:<3A>e<EFBFBD>j<EFBFBD>j<EFBFBD> !<21> <1E>*+<2B>*<2A>*<2A>S<EFBFBD>/<2F> <1E><06>U<EFBFBD>U<EFBFBD>3<EFBFBD>Z<EFBFBD> <1E>&<26>&<26>P<14>P<14>fJ<01>,<2C>J<01>'<27>k<EFBFBD>'<27>&&<26>K<EFBFBD>&<26>,<08>9<EFBFBD><08>bC<01>K<EFBFBD>bCr6