Files
intellecton/venv/lib/python3.12/site-packages/jinja2/__pycache__/runtime.cpython-312.pyc
T

352 lines
48 KiB
Plaintext
Raw Normal View History

Ë
jÉ…ãórdZddlZddlZddlZddlmZddlmZddl m
Z
ddl m Z ddl m Z dd l
mZdd
l
mZdd lmZdd lmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZej<d«Zej<dej@dejBf¬«Z"ejFr#ddl$Z$ddl%Z&ddl'm(Z(Gdde&jR«Z*gd¢Z+gd¢Z,ded efd!„Z-d"ej\ejBd e/fd#„Z0d"ej\ejBd e/fd$„Z1 dHd%d&d'ejde/d(ejfe/ej@d)gejhe/ffd*ejdejfe/ejBfd+e5d,ejdejle/ejBfd-ejdejne/ejBfd d)fd.„Z8Gd/„d0«Z9d1e"d e"fd2„Z:ejnjvGd3„d)««Z<Gd4„d5«Z=Gd6„d7«Z>Gd8„d9e>«Z?Gd:„d;«Z@Gd<„d=«ZAdeAfd>ejdd?d@ej„eAd ej„eAfdA„ZCGdB„dCeA«ZDGdD„dEeA«ZEGdF„dGeA«ZFy)Iz;The runtime functions and state used by compiled templates.éN)Úabc)Úchain)Úescape)ÚMarkup)Úsoft_stré©Ú
auto_aiter)Ú
auto_await)ÚTemplateNotFound)ÚTemplateRuntimeError)ÚUndefinedError)Ú EvalContext)Ú_PassArg)Úconcat)Ú internalcode)Úmissing)Ú Namespace)Úobject_type_repr)Úpass_eval_contextÚF.)Úbound)Ú Environmentc óBeZdZ ddejedddedefdZy)ÚLoopRenderFuncÚreciterÚloop_render_funcÚdepthÚreturncóy©)Úselfrrrs úQ/home/antigravity/intellecton/venv/lib/python3.12/site-packages/jinja2/runtime.pyÚ__call__zLoopRenderFunc.__call__&sð
óN)r) Ú__name__Ú
__module__Ú __qualname__ÚIterablerÚintÚstrr&r#r'r%rr%s:ð
ñ  à—Z‘Z ‘]ð ð ðð  ð
ô  r'r)Ú LoopContextÚTemplateReferenceÚMacrorr
rrÚ markup_joinÚstr_joinÚidentityr rÚ Undefinedr)ÚAsyncLoopContextr
r Úxr có|S)zLReturns its argument. Useful for certain things in the
environment.
r#)r7s r%r4r4Fs ð
€Hr'ÚseqcóÐg}tt|«}|D]E}|j|«t|d«sŒ!t d«j t
||««cSt|«S)z?Concatenation that escapes if necessary and converts to string.Ú__html__Ú)ÚmaprÚappendÚhasattrrÚjoinrr)r9ÚbufÚiteratorÚargs r%r2r2Ms]à
€CÜ”8˜SÓ!€HØòØ
Ü 3˜
Õ ˜"“:—??¤5¨¨hÓ#7Ó  #r'có4ttt|««S)z3Simple args to string conversion and concatenation.)rr=r.)r9s r%r3r3Xsä ”#”c˜3“-Ó Ð r'Ú environmentrÚ
template_nameÚblocksÚContextÚvarsÚsharedÚglobalsÚlocalscóÊ|i}|r|}nt|xsdfi|¤Ž}|r3|r t|«}|j«D]\}} | tusŒ| ||<Œ|j|||||¬«S)z%Internal helper for context creation.r#)rK)ÚdictÚitemsrÚ
context_class)
rErFrGrIrJrKrLÚparentÚkeyÚvalues
r%Ú new_contextrT]s‰ð €|؈Ù
Øäg’m Ñ, tÑÙ
ñ ܘ&“\ˆ Ÿ,™, $‰JˆCØœGÒ#s’ ð × V˜]¨F¸Gð  ðr'cóHeZdZdZddZdedejfdZdefdZ y) r0zThe `self` in templates.r Ncó||_yr")Ú_TemplateReference__context)r$Úcontexts r%Ú__init__zTemplateReference.__init__}s Ø ˆr'Únamecód|jj|}t||j|d«S©Nr)rWrGÚBlockReference)r$rZrGs r%Ú __getitem__zTemplateReference.__getitem__€s+Ø×& ,ˆÜ˜d D§N¡N°F¸>r'cóbdt|«jd|jjdS) ú>)Útyper(rWrZ©r$s r%Ú__repr__zTemplateReference.__repr__„s-Ø”4˜“:×' ¯©×)<Ñ)<Ð(?¸Ar')rXrHr N)
r(r)r*Ú__doc__rYr.r+ÚAnyr^rer#r'r%r0r0zs/Ùð¯©óB˜Br'r0Ú dict_methodcó˜tj«dddtjfˆfd «}tjt
|«S)Nr$rHr có0|j««Sr")Úget_all)r$rhs €r%Úf_allz_dict_method_all.<locals>.f_all‰sø€á˜4Ÿ<™<*r')Ú functoolsÚwrapsr+rgÚcastr)rhrls` r%Ú_dict_method_allrpˆsCø€Ü‡__++¤!§%¡%ô
6‰6”! Ðr'có`eZdZdZ d dddej
eejfdejedej
eejdgejeffdejejeejff
d „Z ded
ejdgejefd ejd fd
Zd dedejd ejfdZded ejejdffdZded ejfdZd ej
eejffdZd ej
eejffdZedejdejfdejdejd ejejdffd«Zd dejej
eejfd dfdZeej2«Zeej4«Zeej6«Zded efdZded ejfdZd efdZy)!rHThe template context holds the variables of a template. It stores the
values passed to the template and also the names the template exports.
Creating instances is neither supported nor useful as it's created
automatically at various stages of the template evaluation and should not
be created by hand.
The context is immutable. Modifications on :attr:`parent` **must not**
happen and modifications on :attr:`vars` are allowed from generated
template code only. Template filters and global functions marked as
:func:`pass_context` get the active context passed as first argument
and are allowed to access the context read-only.
The template context supports read only dict operations (`get`,
`keys`, `values`, `items`, `iterkeys`, `itervalues`, `iteritems`,
`__getitem__`, `__contains__`). Additionally there is a :meth:`resolve`
method that doesn't fail with a `KeyError` but returns an
:class:`Undefined` object for missing variables.
NrErrQrZrGrKcó(||_i|_||_t|j|«|_t «|_||_|
t «n
t |«|_|j«Dcic] \}}||gŒ c}}|_
ycc}}wr") rQrIrErÚeval_ctxÚsetÚ
exported_varsrZÚ globals_keysrOrG)r$rErQrZrGrKÚvs r%rYzContext.__init__¥szðˆŒ Ø(*ˆŒ Ø(3ˆÔÜ# D×$4Ñ$4°dÓ;ˆŒ
Ü),«ˆÔ؈Œ Ø%, _œCœE¼#¸g»,ˆÔð
+1¯,©,«.×9¡$ ! Qq˜1˜#9ˆ ùÓ9sÁ6BÚcurrentr ©r]r5cóÐ |j|}|j|«dz}||t ||||«S#t$r$|jj d|dd¬«cYSwxYw)zRender a parent block.rú there is no parent block called úsuper©rZ)rGÚindexÚ LookupErrorrEÚ undefinedr])r$rZryrGr€s r%r~z
Context.superºsð Ø—[[ Ñ&ˆ—LL Ó)¨AÑ-ˆEØ 5ŠMô
˜d D¨&°%Ó8øô ò Ø×2°4°(¸<À7ðò
ð ús(8¸*A%Á$A%rRÚdefaultcó0 ||S#t$r|cYSwxYw)zÑLook up a variable by name, or return a default if the key is
not found.
:param key: The variable name to look up.
:param default: The value to return if the key is not found.
)ÚKeyError)r$rRs r%Úgetz Context.getÈs%ð Ø˜‘9Ð øÜò ØŠNð ús  r5cóp|j|«}|tur|jj|¬«S|S)aNLook up a variable by name, or return an :class:`Undefined`
object if the key is not found.
If you need to add custom behavior, override
:meth:`resolve_or_missing`, not this method. The various lookup
functions use that method, not this one.
:param key: The variable name to look up.
r)Úresolve_or_missingrrEr)r$rRÚrvs r%ÚresolvezContext.resolveÔs:ð×
$ 
)ˆà
‰=Ø×-°3Ð ˆ r'có‚||jvr|j|S||jvr|j|StS)aNLook up a variable by name, or return a ``missing`` sentinel
if the key is not found.
Override this method to add custom lookup behavior.
:meth:`resolve`, :meth:`get`, and :meth:`__getitem__` use this
method. Don't call this method directly.
:param key: The variable name to look up.
)rIrQr)r$rRs r%rˆzContext.resolve_or_missingås>ð $—) Ø—9‘9˜S $—+ Ø—;;˜ ˆr'có\|jDcic]}||j|Œc}Scc}w)z+Get a new dict with the exported variables.)rurI)r$rws r%Ú get_exportedzContext.get_exported÷s(à)-×);Ñ);Ö< A4—99˜Q<Ò<ùÒ<s)có¢|js |jS|js |jSt|jfi|j¤ŽS)z»Return the complete context as dict including the exported
variables. For optimizations reasons this might not return an
actual copy so be careful with using it.
)rIrQrNrds r%rkzContext.get_allûs>ð
yŠyØ—;‘;Ð Ø{Š{Ø—9‘9Ð ÜD—K- 4§9¡9Ñ-r'Ú
_Context__obj.ÚargsÚkwargscóž d}t|d«r+tj|j« |j}tj|«}|tjurQ|j d«r|j
|d«}|j d«r|j
|d«}|f|z}nE|tjur|jf|z}n"|tjur|jf|z}|jdd«|jdd« ||i|¤ŽS#t$r|jjd«cYSwxYw)zéCall the callable with the arguments and keyword arguments
provided but inject the active context or environment as first
argument if the callable has :func:`pass_context` or
:func:`pass_environment`.
Tr&
_loop_varsÚ _block_varszGvalue was undefined because a callable raised a StopIteration exception)
r?rÚfrom_objr&rXr†ÚderivedÚ eval_contextrsrEÚpopÚ
StopIterationr)Ú_Context__selfrrrÚ__traceback_hide__Úpass_args r%Úcallz Context.calls?ð Ø!%Ð ô
E˜ ×! %§.¡.Ó—N‘NˆEä×$ +ˆà ”x× z‰z˜Ÿ¨¨|Ñ(<Ó=Øz‰z˜-ÔŸ¨¨}Ñ(=Ó>Ø9˜#‰DØ
œ×
—O‘OÐÑ,‰DØ
œ×
×(¨4Ñ/ˆ
= 
< Ô Ù˜)  )øÜò Ø×ò
ð úsÄD%Ä%$E Å E rLc ót|j|ji|j«dd|«}|j|_|j
j
d|j
j«D««|S)z¹Internal helper function to create a derived context. This is
used in situations where the system needs a new context in the same
template that is independent.
TNc3ó<K|]\}}|t|«fŒy­wr")Úlist)Ú.0rwrxs r%ú <genexpr>z"Context.derived.<locals>.<genexpr>?sèø€ÒK©t¨q°!˜q¤$ q£'œlÑKùs)rTrErZrkrsrGÚupdaterO)r$rLrXs r%rzContext.derived6seô
Ø × Ñ ˜dŸi™i¨¨T¯\©\«^¸TÀ4Èó
ˆð Ÿ=™=ˆÔØ×ÑÑK°t·{±{×7HÑ7HÓ7JÔˆr'có>||jvxs||jvSr")rIrQ©r$rZs r%Ú __contains__zContext.__contains__FsØt—y Ò7 D¨D¯K©KÐ$7Ð7r'cóN|j|«}|tur t|«|S)zpLook up a variable by name with ``[]`` syntax, or raise a
``KeyError`` if the key is not found.
)rˆrr…)r$rRÚitems r%r^zContext.__getitem__Is*ð×& +ˆà ”7‰?ܘ3“-Ð àˆ r'cópdt|«jd|j«d|jdS)Nr`raz of rb)rcr(rkrZrds r%rezContext.__repr__Ts3Ø”4˜“:×' ¯©«Ð(:¸$¸t¿y¹y¸mÈ1ÐMr'r") r(r)r*rfr+ÚDictr.rgÚOptionalÚCallableÚIteratorÚMutableMappingrYÚUnionr~r†rˆrrkrrrrprNÚkeysÚvaluesrOÚboolr¦r^rer#r'r%rHrHskñð2=Añ
s˜AŸE™Ej‰j˜‰oð 
s˜AŸJ™J¨  {°A·J±J¸s±OÐ'CÑ  ˜A×,¨S°!·%±%¨ZÑ
:ð* ð 9Ø"#§*¡*¨i¨[¸!¿*¹*ÀS¹/Ð-IÑ"Jð 
Ð.Ñ /ó 

 Q§U¡Uð
°a·e±eó
ð˜3ð 1§7¡7¨1¯5©5°+Ð+=Ñ#>óð" ¨a¯e©eóð$=˜aŸf™f S¨!¯%©%  .˜Ÿ  Q§U¡U 
Ñ ð-àz‰z˜#˜qŸu™u˜*Ñ-ðu‰uð-ð—%%ð -ð
˜ Ð#Ñ $ò -óð-ñ^
˜aŸj™j¨¯©°°Q·U±U°
Ñ);Ñ
È ó
ñ ˜DŸI™IÓ &€DÙ
˜dŸk™kÓ
*€FÙ ˜TŸZ™ZÓ (€Eððó ˜sð  q§u¡uó ðN˜Nr'c
óÜeZdZdZdedddej ejdgejefde ddf
d „Z
e dejd
fd «Z
edefd «Zedefd
«Zy)r]z"One block on a template reference.rZrXrHÚstackrr Ncó<||_||_||_||_yr")rZÚ_contextÚ_stackÚ_depth)r$rZrXr´rs r%rYzBlockReference.__init__[s ðˆŒ ØˆŒ
؈Œ ؈ r'rzcó(|jdzt|j«k\r5|jjj d|j dd¬«St|j |j|j|jdz«S)zSuper the block.rr|r}r~r)r¸Úlenr·rErrZr]rds r%r~zBlockReference.supergsyð ;‰;˜‰?œc $§+¡+Ó —=‘=×2°4·9±9°-¸qÐðð
ô˜dŸi™i¨¯©¸¿ ¹ ÀTÇ[Á[ÐSTÁ_ÓUr'cƒó4K|jjj|j|j|j«2cgc3d{}|Œ 7Œ6ncc}wc}«}|jj
j r t|«S|S­wr")rErr¸rsÚ
autoescaper)r$r7r‰s r%Ú _async_callzBlockReference._async_callpstèø€à
]‰]×
&×
6˜dŸk™k¨$¯+©+Ñ6°t·}±}Ó ŠQÐ FøÑ FùÔ 
ˆð =‰=× !× ˜"“:Ð àˆ ùs6A BÁ
AÁA
ÁAÁA
ÁAÁA
ÁAÁ:BcóT|jjjr|j«S|jjj |j
|j |j««}|jjjr t|«S|Sr")
rEÚis_asyncr½rr¸rsr©r$r‰s r%r&zBlockReference.__call__{s}à =‰=× ×
]‰]×
&×
$ˆDK‰K˜Ÿ Ñ $ T§]¡]Ó 
ˆð =‰=× !× ˜"“:Ð àˆ r')r(r)r*rfr.r+ÚListr¬r­r-rYÚpropertyr¯r~rr&r#r'r%r]r]XÙ
àð
ðð
ðv‰va—jj ) ¨a¯j©j¸©oÐ!=Ñ
ð
ð
ð
ó
ððVq—wVóðVðð 3òóððð ˜#ò óñ r'r]c ó”eZdZUdZdZdZejee d<e
Z eje d<e
Z
eje d<e
Zeje d<e
Zeje d< d%d ej ed
ej$d d ejd
deddf
dZed ej edej*efd«Zedefd«ZdefdZedefd«Zedefd«Zedefd«Zedefd«Zedefd«ZdejfdZ edefd«Z!edejDejd ffd«Z#edejDejd ffd«Z$dedefdZ%dejdefd „Z&d&d!„Z'dejPejdffd"„Z)e*d ej ede+fd#„«Z,de+fd$„Z-y)'r/zeA wrapper iterable for dynamic ``for`` loops, with information
about the loop and iteration.
éÿÿÿÿNÚ_lengthÚ_afterÚ_currentÚ_beforeÚ_last_changed_valueÚiterablerr5ÚrecurserÚdepth0r cóh||_|j|«|_||_||_||_y)a@
:param iterable: Iterable to wrap.
:param undefined: :class:`Undefined` class to use for next and
previous items.
:param recurse: The function to render the loop body when the
loop is marked recursive.
:param depth0: Incremented when looping recursively.
N)Ú _iterableÚ _to_iteratorÚ _iteratorÚ
_undefinedÚ_recurserÌ)r$rs r%rYzLoopContext.__init__˜s2ðŒØ×*¨8ӌ،؈Œ
àˆ r'cót|«Sr")Úiter©s r%zLoopContext._to_iterator®s äHr'cój|j |jS t|j«|_|jS#t$rit |j
«}|j
|«|_t|«|jz|jtuz|_Y|jSwxYw)zšLength of the iterable.
If the iterable is a generator or otherwise does not have a
size, it is eagerly evaluated to get a size.
)
Ú TypeErrorr r€r©r$s r%ÚlengthzLoopContext.length²s™ð <‰<Ð —< ð UܘtŸ~™~Ó.ˆDŒLð |‰|Ðøô ò UܘDŸN™NÓ+ˆHØ.¨xÓ8ˆDŒNܘx›=¨4¯:©:Ñ¿¹ÌGÐ9SÑTˆD|‰|Ðð  UúsšAÁA$B2Â1B2có|jSr")rds r%Ú__len__zLoopContext.__len__Ås Ø{‰{Ðr'có |jdzS)zBHow many levels deep a recursive loop currently is, starting at 1.r)rds r%rzLoopContext.depthÈóð{‰{˜Q‰Ðr'có |jdzS)z-Current iteration of the loop, starting at 1.r©Úindex0rds r%r€zLoopContext.indexÍr'có4|j|jz
S)zrNumber of iterations from the end of the loop, ending at 0.
Requires calculating :attr:`length`.
©r€rds r%Ú revindex0zLoopContext.revindex0Òsð {‰{˜TŸZ™ZÑ'r'có4|j|jz
S)zrNumber of iterations from the end of the loop, ending at 1.
Requires calculating :attr:`length`.
©rds r%ÚrevindexzLoopContext.revindexÚsð {‰{˜TŸ[™[Ñ(r'có |jdk(S)z0Whether this is the first iteration of the loop.rrds r%ÚfirstzLoopContext.firstâsð{‰{˜Ðr'có”|jtur |jSt|jt«|_|jS)a Return the next element in the iterable, or :data:`missing`
if the iterable is exhausted. Only peeks one item ahead, caching
the result in :attr:`_last` for use in subsequent checks. The
cache is reset when :meth:`__next__` is called.
)rÚnextrÐrds r%Ú
_peek_nextzLoopContext._peek_nextçs6ð ;‰;œgÑ —; ä˜4Ÿ>™>¬7Ó3ˆŒ Ø{‰{Ðr'có.|j«tuS)zÞWhether this is the last iteration of the loop.
Causes the iterable to advance early. See
:func:`itertools.groupby` for issues this can cause.
The :func:`groupby` filter avoids that issue.
©rrds r%ÚlastzLoopContext.lastósðÓ ¤GÐ+r'cóT|jr|jd«S|jS)zZThe item in the previous iteration. Undefined during the
first iteration.
zthere is no previous item)rds r%ÚprevitemzLoopContext.previtemýs%ð
:Š:Ø—??Ð#>Ó |‰|Ðr'cóX|j«}|tur|jd«S|S)a The item in the next iteration. Undefined during the last
iteration.
Causes the iterable to advance early. See
:func:`itertools.groupby` for issues this can cause.
The :func:`jinja-filters.groupby` filter avoids that issue.
úthere is no next item©rs r%ÚnextitemzLoopContext.nextitems,ð_‰_Ó
ˆà
‰=Ø—??Ð#:Ó ˆ r'rcóR|s td«||jt|«zS)z¤Return a value from the given args, cycling through based on
the current :attr:`index0`.
:param args: One or more values to cycle through.
zno items for cycling given)r×)r$rs r%ÚcyclezLoopContext.cycles+ñ ÜÐ D—KK¤# d£)Ñ,r'rScó2|j|k7r||_yy)z¿Return ``True`` if previously called with a different value
(including when called for the first time).
:param value: One or more values to compare to the last call.
TF))r$rSs r%ÚchangedzLoopContext.changed"s ð × #  ,Ø',ˆ àr'có|Sr"r#rds r%Ú__iter__zLoopContext.__iter__.óØˆ r'cóâ|jtur|j}t|_nt|j«}|xjdz
c_|j
|_||_||fS©Nr)rs r%Ú__next__zLoopContext.__next__1sUØ ;‰;œgÑ ˆBÜ!ˆDd—n‘nÓ%ˆBà Š  Ø—}‘}ˆŒ ؈Œ
Ø4ˆxˆr'có€|j td«|j||j|j¬«S)zÄWhen iterating over nested data, render the body of the loop
recursively with the given inner iterable data.
The loop must have the ``recursive`` marker for this to work.
zCThe loop must have the 'recursive' marker to be called recursively.)r)r×rs r%r&zLoopContext.__call__=s=ð =‰=Ð ÜØð
ð}‰}˜X t§}¡}¸D¿J¹JˆGr'cóhdt|«jd|jd|jdS)Nr`raú/rb)rcr(r€rds r%rezLoopContext.__repr__Ks0Ø”4˜“:×' ¯©¨ °A°d·k±k°]À!ÐDr'r\)r r/).r(r)r*rfr+r-Ú__annotations__rrgr,rÚTyperYÚ staticmethodr­rr€ÚTuplerþrr.r&rer#r'r%r/r/Šñð
€Fà#€GˆQZ‰Z˜‰_Ó€FˆAE‰EÓØ€Hˆae‰eÓØ€GˆQU‰UÓØ!(ИŸÓ 15Øñ à—*‘*˜Q‘-ðð—6‘6˜+ÑðÐð
ð ð
ó
ð,ð˜qŸz™z¨!™}ð°·±¸A±òóððð˜òóðð$˜óððóðððóððð(˜3òðð)˜#òðð  óð ð
˜AŸE™Eó
ðð,ðð˜!Ÿ'™' !§%¡%¨Ð"4Ñóððð
˜!Ÿ'™' !§%¡%¨Ð"4Ñ
óð
ð -˜ - ó 
˜aŸe™eð
¨ó
óð
˜!Ÿ'™' !§%¡%¨Ð"6Ñ
ðð H §¡¨A¡ð H°3ò Hóð HðE˜Er'r/cóÒeZdZUejej
ed<edejeje
eje
fdeje
fd«Z e
defd«Ze
defd«Ze
defd«Zdej
fdZe
defd „«Ze
dejej
d
ffd «Zdd Zdej.ej
dffd
Zy)r6r cót|«Sr"r s r%zAsyncLoopContext._to_iteratorRsô˜#r'cƒó”K|j |jS t|j«|_|jS#t$rz|j2cgc3d{7}|Œ
6ncc}w}}|j |«|_t|«|j z|jtuz|_Y|jSwxYw­wr") rÅr×r€r)r$r7s r%zAsyncLoopContext.lengthXèø€à <‰<Ð —< ð UܘtŸ~™~Ó.ˆDŒLð |‰|Ðøô ò UØ)-¯©×8 AšÑ8ùÒ8ˆHÐ.¨xÓ8ˆDŒNܘx›=¨4¯:©:Ñ¿¹ÌGÐ9SÑTˆD|‰|Ðð  UüsLCœA CÁCÁA*ÁA(ÁA" Á A(Á$A*Á)ACÂ7
CÃCÃCcƒóPK|jƒd{|jz
S7Œ­wr"rds r%zAsyncLoopContext.revindex0fsèø€à—[‘[×  4§:¡:Ñ úó &$&cƒóPK|jƒd{|jz
S7Œ­wr"rds r%zAsyncLoopContext.revindexjsèø€à—[‘[×  4§;¡;Ñ úr
cƒóüK|jtur |jS |jj«ƒd{|_|jS7Œ#t$rt|_Y|jSwxYw­wr")rÚ __anext__ÚStopAsyncIterationrds r%zAsyncLoopContext._peek_nextnshèø€Ø ;‰;œgÑ —;‘;Ð ð "Ø $§¡× 8Ñ 8Ó :×:ˆDŒKð{‰{Ðð ;ùÜ!ˆD{‰{Ðð "üs9A<¢A¿AÁ AÁ A<ÁAÁA9Á+
A<Á8A9Á9A<cƒóJK|j«ƒd{tuS7Œ
­wr"rds r%zAsyncLoopContext.lastysèø€à—_&×&¬'Ð&ús #! #r5cƒótK|j«ƒd{}|tur|jd«S|S7Œ­w)Nròs r%zAsyncLoopContext.nextitem}s6èø€à—?‘?Ó
$ˆà
‰=Ø—?‘?Ð#:Ó ˆ ð %ús 86— 8có|Sr"r#rds r%Ú __aiter__zAsyncLoopContext.__aiter__†r'cƒóK|jtur|j}t|_n"|jj«ƒd{}|xjdz
c_|j
|_||_||fS7Œ5­w)rr
s r%r
zAsyncLoopContext.__anext__‰seèø€Ø ;‰;œgÑ ˆBÜ!ˆD—~‘~×1ˆBà Š  Ø—}‘}ˆŒ ؈Œ
Ø4ˆxˆð 2ús‚ABÁ
BÁ 6BN)r r6)r(r)r*r+Ú
AsyncIteratorrgrrr,rÚ
AsyncIterablerÏr-rrr
r#r'r%r6r6Os,ؘqŸu™uÑð—''˜!Ÿ*™* Q™-¨¯©¸Ñ);Ð
˜Ñ òð
ð ˜cò óð ððòððòð  !§%¡%ó ðð2˜Dòðð §¡¨¯©¨{Ð(:Ñ ;òóðóð
 §¡¨¯©Ð0BÐ)BÑ!Cô
r'r6cóneZdZdZ ddddej
defdedejed ed
ed ed ejefd
Z
e e dejdejdefd««ZdejejdedefdZdejejdedefdZdefdZy)r1zWraps a macro function.NrErÚfunc.rZÚ argumentsÚ catch_kwargsÚ
catch_varargsÚcallerÚdefault_autoescapec ó||_||_t|«|_||_||_||_||_||_d|v|_ |€:t|j«r|jd«}||_ y|j}||_ y)Nr)
Ú _environmentÚ_funcrºÚ_argument_countrZrrrrÚexplicit_callerÚcallabler¼Ú_default_autoescape) r$rErrZrrrrrs r%rYzMacro.__init__™sðÔØˆŒ
Ü" 9~ˆÔ؈Œ ØŒØÔØÔ؈Œ Ø'¨9ÐÔà Ð ˜ ×/Ø%0×%;Ñ%;¸DÓ%AÐ$6ˆÕ ð&1×%;Ñ%;Ð"à#5ˆÕ r'rrr c
ó&|r(t|dt«r|dj}|dd}n |j}t |d|j
«}t
|«}d}||j
k7rH|jt
|«dD],} |j|«}|dk(rd}|j|«Œ.n |j}|jrD|sB|jdd«} | €|jjdd¬«} |j| «|j r|j|«nL|rJd|vrt#d|j$d «t#d|j$d
t't)|«««|j*r|j||j
d«nGt
|«|j
kDr/t#d|j$d t
|j«d «|j-||«S#t$r
t}YŒwwxYw)
NrrFrTzNo caller definedrzmacro zX was invoked with two values for the special caller argument. This is most likely a bug.z takes no keyword argument z takes not more than z argument(s))Ú
isinstancerr#r r rr˜r…rr>r!rrrrr×rZrÚ_invoke)
r$rrrÚoffÚ found_callerrZrSrs
r%r&zMacro.__call__¶s#ñ& ”J˜t A™w¬ Ô˜a™×+ˆJؘ˜8‰Dà×1ˆJô˜Ð× 4Ñ 4Ð6ˆ Ü)‹nˆðˆ ð
$× Ÿ¤s¨9£~Ð'7Ð
(ð"ŸJ™J ,˜#Ø#'× Ñ  Õ
 ×/ˆ
;Š;™|Ø—Z‘Z ¨$Ó/ˆF؈~Ø×4Ð5HÈxÐXØ × Ñ ˜VÔ × Ò Ø × Ñ ˜VÕ
ؘ6ÑØ˜TŸY™Y˜Mð*CðCóðôؘŸ˜
Ð%@ÄÄdÈ6ÃlÓASÐ@VÐð
ð × Ò Ø × Ñ ˜T $×"6Ñ"6Ð"8Ð
Y˜×
ؘŸ˜
ð&ܘŸÓ ðð
ð
|‰|˜I 2øôI ò#“Eð$úsÂG=Ç=HÈHcƒóZK|j|Žƒd{}|r t|«S|S7Œ­wr")rr©r$rr‰s r%Ú
_async_invokezMacro._async_invokes0èø€Ø4—:‘:˜yÐ
á ܘ"“:Ð àˆ ð *ús +)+cóŽ|jjr|j||«S|j|Ž}|r t |«}|Sr")rr¿r+rrr*s r%r&z
Macro._invoke sEØ × Ñ × ×% Ó
ˆTZ‰Z˜Ð
á ܘˆˆ r'có€|jdnt|j«}dt|«jd|dS)NÚ anonymousr`rarb)rZÚreprrcr(s r%rezMacro.__repr__s:Ø"Ÿi™iÐ/‰{´T¸$¿)¹)³_ˆØ”4˜“:×' ¨¨aÐ0r'r")r(r)r*rfr+r.rYrrrgr&r+r&rer#r'r%r1r1sÙ04ñj‰j˜˜c˜Ñð 
—6‘6˜#‘;ð  ð
ððŸJ™J tÑ6ð:ØðJ3˜aŸe™eðJ3¨q¯u©uðJòJóðJ3ðX¨Q¯V©V°A·E±E©]ðÈðÐQTóð  §¡¨¯©¡ð ¸Dð ÀSó ð1˜1r'r1c óŠeZdZdZdZdedefdeje dejdeje deje ddf
d „Z
ede fd
«Zed ejd ejdd
fd«Zede dejfd«ZexZxZxZZexZxZxZZexZZexZZexZZ exZ!Z"exZ#Z$exZ%xZ&xZ'Z(exZ)xZ*Z+exZ,Z-dejde.fdZ/dejde.fdZ0de1fdZ2de fdZ3de1fdZ4dejjejfdZ6dejnejfdZ8de.fdZ9de fdZ:y)r5agThe default undefined type. This can be printed, iterated, and treated as
a boolean. Any other operation will raise an :exc:`UndefinedError`.
>>> foo = Undefined(name='foo')
>>> str(foo)
''
>>> not foo
True