+
    }¯³jXE  ã                   óö   € R t ^ RIHt ^ RIt^RIHt ^RIHt ^RI	Ht
 ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ]P&                  ! ]4      t ! R R	4      t ! R
 R4      t ! R R4      t]P2                  tR# )zÎBaked query extension.

Provides a creational pattern for the :class:`.query.Query` object which
allows the fully constructed object, Core select statement, and string
compiled result to be fully cached.


N)Úexc)Úutil)ÚQuery)ÚSession)Úfunc)Úliteral_columnc                   ó4   a € ] tR t^"t o RtRtR tR tRtV t	R# )ÚBakeryzÖCallable which returns a :class:`.BakedQuery`.

This object is returned by the class method
:meth:`.BakedQuery.bakery`.  It exists as an object
so that the "cache" can be easily inspected.

.. versionadded:: 1.2


c                ó   € Wn         W n        R # ©N©ÚclsÚcache)ÚselfÚcls_r   s   &&&ÚU/home/luca/screen-checking/.venv/lib/python3.14/site-packages/sqlalchemy/ext/baked.pyÚ__init__ÚBakery.__init__0   s   € ØŒØŽ
ó    c                ó:   € V P                  V P                  W4      # r   r   )r   Ú
initial_fnÚargss   &&*r   Ú__call__ÚBakery.__call__4   s   € Ø�x‰x˜Ÿ
™
 JÓ5Ð5r   )r   r   Nr   )
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú	__slots__r   r   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r	   r	   "   s    ø‡ € ñ	ð €Iò÷6ð 6r   r	   c                   ó¶   a € ] tR t^8t o RtRtRR lt]RR l4       tR t	RR lt
R tR tR	 tR
 tR tR tRR ltR tRR ltRR ltR tR tR tR tRtV tR# )Ú
BakedQueryz3A builder object for :class:`.query.Query` objects.c                ó`   € RV n         V P                  W#4       V.V n        R V n        Wn        R# )FN© )Ú
_cache_keyÚ_update_cache_keyÚstepsÚ_spoiledÚ_bakery)r   Úbakeryr   r   s   &&&&r   r   ÚBakedQuery.__init__=   s,   € ØˆŒØ×Ñ˜zÔ0Ø �\ˆŒ
ØˆŒØŽr   Nc                óD   € \        V \        P                  ! WR7      4      # )zCConstruct a new bakery.

:return: an instance of :class:`.Bakery`

)Ú
size_alert)r	   r   ÚLRUCache)r   ÚsizeÚ_size_alerts   &&&r   r-   ÚBakedQuery.bakeryD   s   € ô �cœ4Ÿ=š=¨ÔFÓGÐGr   c                óÒ   € \         P                  \         4      pV P                  Vn        \        V P                  4      Vn        V P
                  Vn        V P                  Vn        V# r   )r%   Ú__new__r(   Úlistr*   r,   r+   )r   Úb1s   & r   Ú_cloneÚBakedQuery._cloneN   sH   € Ü×Ñ¤
Ó+ˆØŸ™ˆŒÜ˜Ÿ
™
Ó#ˆŒØ—\‘\ˆŒ
Ø—m‘mˆŒØˆ	r   c                ó\   € V ;P                   VP                  3V,           ,          un         R # r   )r(   Ú__code__©r   Úfnr   s   &&&r   r)   ÚBakedQuery._update_cache_keyV   s   € Ø�Š˜BŸK™K˜>¨DÕ0Õ0�r   c                óx   € \        V\        4      '       d   V P                  ! V!   V # V P                  V4       V # r   )Ú
isinstanceÚtupleÚadd_criteria©r   Úothers   &&r   Ú__iadd__ÚBakedQuery.__iadd__Y   s9   € Ü�eœU×#Ò#Ø×Ò˜uÒ%ð ˆð ×Ñ˜eÔ$Øˆr   c                óp   € \        V\        4      '       d   V P                  ! V!  # V P                  V4      # r   )rA   rB   Úwith_criteriarD   s   &&r   Ú__add__ÚBakedQuery.__add__`   s1   € Ü�eœU×#Ò#Ø×%Ò% uÑ-Ð-à×%Ñ% eÓ,Ð,r   c                ó^   € V P                  W4       V P                  P                  V4       V # )z“Add a criteria function to this :class:`.BakedQuery`.

This is equivalent to using the ``+=`` operator to
modify a :class:`.BakedQuery` in-place.

)r)   r*   Úappendr=   s   &&*r   rC   ÚBakedQuery.add_criteriaf   s)   € ð 	×Ñ˜rÔ(Ø�
‰
×Ñ˜"ÔØˆr   c                óF   € V P                  4       P                  ! V.VO5!  # )z³Add a criteria function to a :class:`.BakedQuery` cloned from this
one.

This is equivalent to using the ``+`` operator to
produce a new :class:`.BakedQuery` with modifications.

)r9   rC   r=   s   &&*r   rI   ÚBakedQuery.with_criteriaq   s    € ð �{‰{‹}×)Ò)¨"Ð4¨tÓ4Ð4r   c                ó   € \        W4      # )zÀReturn a :class:`_baked.Result` object for this
:class:`.BakedQuery`.

This is equivalent to calling the :class:`.BakedQuery` as a
Python callable, e.g. ``result = my_baked_query(session)``.

)ÚResult©r   Úsessions   &&r   Úfor_sessionÚBakedQuery.for_session{   s   € ô �dÓ$Ð$r   c                ó$   € V P                  V4      # r   )rU   rS   s   &&r   r   ÚBakedQuery.__call__…   s   € Ø×Ñ Ó(Ð(r   c                ó¾   € V'       gN   V P                   '       g<   V P                  4       pV;P                  R,          un        VP                  .V n        RV n         V # )a  Cancel any query caching that will occur on this BakedQuery object.

The BakedQuery can continue to be used normally, however additional
creational functions will not be cached; they will be called
on every invocation.

This is to support the case where a particular step in constructing
a baked query disqualifies the query from being cacheable, such
as a variant that relies upon some uncacheable value.

:param full: if False, only functions added to this
 :class:`.BakedQuery` object subsequent to the spoil step will be
 non-cached; the state of the :class:`.BakedQuery` up until
 this point will be pulled from the cache.   If True, then the
 entire :class:`_query.Query` object is built from scratch each
 time, with all creational functions being called on each
 invocation.

T)Ú_query_only)r+   r9   r(   Ú_retrieve_baked_queryr*   )r   ÚfullÚ_spoil_points   && r   ÚspoilÚBakedQuery.spoilˆ   sH   € ÷( ˜DŸMŸM˜MØŸ;™;›=ˆLØ×#Ò#Ð'7Õ7Õ#Ø&×<Ñ<Ð=ˆDŒJØˆŒØˆr   c                ó>   € V P                   VP                  3,           # )as  Return the key that actually goes into the cache dictionary for
this :class:`.BakedQuery`, taking into account the given
:class:`.Session`.

This basically means we also will include the session's query_class,
as the actual :class:`_query.Query` object is part of what's cached
and needs to match the type of :class:`_query.Query` that a later
session will want to use.

)r(   Ú
_query_clsrS   s   &&r   Ú_effective_keyÚBakedQuery._effective_key£   s   € ð �‰ '×"4Ñ"4Ð!6Õ6Ð6r   c                óL   € V P                  4       pVP                  WVR7       V# )z)Cloning version of _add_lazyload_options.)Ú
cache_path)r9   Ú_add_lazyload_options)r   ÚoptionsÚeffective_pathre   Úqs   &&&& r   Ú_with_lazyload_optionsÚ!BakedQuery._with_lazyload_options°   s%   € à�K‰K‹MˆØ	×Ñ ÀJÐÔOØˆr   c                ó^  aa€ RpV'       g   SpS Fv  pVP                   '       g   VP                  '       g   K)  VP                  4       pVf   V P                  RR7       KQ  V^,          '       d   Q R4       hWF^ ,          ,          pKx  	  V P	                  VV3R lVP
                  V4       R# )a  Used by per-state lazy loaders to add options to the
"lazy load" query from a parent query.

Creates a cache key based on given load path and query options;
if a repeatable cache key cannot be generated, the query is
"spoiled" so that it won't use caching.

NT)r\   z‘loader options with variable bound parameters not supported with baked queries.  Please use new-style select() statements for cached ORM queries.c                 óB   <€ V P                  S4      P                  ! S!  # r   )Ú_with_current_pathrg   )ri   rh   rg   s   &€€r   Ú<lambda>Ú2BakedQuery._add_lazyload_options.<locals>.<lambda>Ô   s   ø€ �a×*Ñ*¨>Ó:×BÒBÀGÒLr   r'   )Ú_is_legacy_optionÚ_is_compile_stateÚ_generate_cache_keyr^   rC   Úpath)r   rg   rh   re   ÚkeyÚoptÚcks   &ff&   r   rf   Ú BakedQuery._add_lazyload_options¶   s˜   ù€ ð ˆçØ'ˆJãˆCØ×$×$Ð$¨×(=×(=Ò(=Ø×,Ñ,Ó.�Ø’:Ø—J‘J D�JÖ)à! !Ÿuœuð ð'ó˜9ð ˜a�5•L’Cñ ð 	×ÑÝLØ�O‰OØö	
r   c                óþ   € V P                   P                  V P                  V4      R 4      pVf?   V P                  V4      pVP	                  R 4      V P                   V P                  V4      &   VP	                  V4      # r   )r,   Úgetrb   Ú	_as_queryÚwith_session)r   rT   Úquerys   && r   r[   Ú BakedQuery._retrieve_baked_queryÙ   sp   € Ø—‘× Ñ  ×!4Ñ!4°WÓ!=¸tÓDˆØŠ=Ø—N‘N 7Ó+ˆEØ9>×9KÑ9KØó:ˆD�L‰L˜×,Ñ,¨WÓ5Ñ6ð ×!Ñ! 'Ó*Ð*r   c                óÐ   € V P                  V4      pR Vn        VP                  4       pVP                  P                  '       d!   VV3V P
                  V P                  V4      &   W#3# r   )r{   rT   Ú_statement_20Ú_compile_optionsÚ_bake_okr,   rb   )r   rT   r}   Ú	statements   &&  r   Ú_bakeÚBakedQuery._bakeâ   sg   € Ø—‘˜wÓ'ˆØˆŒð ×'Ñ'Ó)ˆ	ð ×%Ñ%×.×.Ð.àØð:ˆD�L‰L˜×,Ñ,¨WÓ5Ñ6ð
 ÐÐr   c                ó  € \        V\        4      '       d   TpMX\        V\        4      '       d(   VP                  pVf   \        P
                  ! R4      hM\        R\        V4      ,          4      hV P                  V4      # )ah  Return the :class:`_query.Query` object for use as a subquery.

This method should be used within the lambda callable being used
to generate a step of an enclosing :class:`.BakedQuery`.   The
parameter should normally be the :class:`_query.Query` object that
is passed to the lambda::

    sub_bq = self.bakery(lambda s: s.query(User.name))
    sub_bq += lambda q: q.filter(User.id == Address.user_id).correlate(Address)

    main_bq = self.bakery(lambda s: s.query(Address))
    main_bq += lambda q: q.filter(sub_bq.to_query(q).exists())

In the case where the subquery is used in the first callable against
a :class:`.Session`, the :class:`.Session` is also accepted::

    sub_bq = self.bakery(lambda s: s.query(User.name))
    sub_bq += lambda q: q.filter(User.id == Address.user_id).correlate(Address)

    main_bq = self.bakery(
        lambda s: s.query(Address.id, sub_bq.to_query(q).scalar_subquery())
    )

:param query_or_session: a :class:`_query.Query` object or a class
 :class:`.Session` object, that is assumed to be within the context
 of an enclosing :class:`.BakedQuery` callable.


 .. versionadded:: 1.3


z1Given Query needs to be associated with a Sessionz)Query or Session object expected, got %r.)	rA   r   r   rT   Úsa_excÚArgumentErrorÚ	TypeErrorÚtyper{   )r   Úquery_or_sessionrT   s   && r   Úto_queryÚBakedQuery.to_queryû   s‚   € ôD Ð&¬×0Ò0Ø&‰GÜÐ(¬%×0Ò0Ø&×.Ñ.ˆGØŠÜ×*Ò*ØGóð ð ô
 Ø;ÜÐ'Ó(õ)óð ð �~‰~˜gÓ&Ð&r   c                ó|   € V P                   ^ ,          ! V4      pV P                   R,           F  pV! V4      pK  	  V# )é    :é   NN)r*   )r   rT   r}   Ústeps   &&  r   r{   ÚBakedQuery._as_query,  s8   € Ø—
‘
˜1–˜gÓ&ˆà—J‘J˜r—N�NˆDÙ˜“KŠEñ #ð ˆr   )r,   r(   r+   r*   )r*   r,   r(   r+   )r'   )éÈ   N)Fr   )r   r   r   r   r   r   r   Úclassmethodr-   r9   r)   rF   rJ   rC   rI   rU   r   r^   rb   rj   rf   r[   r„   rŒ   r{   r    r!   r"   s   @r   r%   r%   8   s   ø‡ € Ù=à<€Iôð óHó ðHòô1òò-ò	ò5ò%ò)ôò67ôô!
òF+ò ò2/'÷bð r   r%   c                   óˆ   a € ] tR tRt o RtRtR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tR tRtV tR# )rR   i5  a  Invokes a :class:`.BakedQuery` against a :class:`.Session`.

The :class:`_baked.Result` object is where the actual :class:`.query.Query`
object gets created, or retrieved from the cache,
against a target :class:`.Session`, and is then invoked for results.

c                ó:   € Wn         W n        / V n        . V n        R # r   ©ÚbqrT   Ú_paramsÚ_post_criteria)r   r˜   rT   s   &&&r   r   ÚResult.__init__@  s   € ØŒØŒØˆŒØ ˆÖr   c                óÚ   € \        V4      ^8X  d   VP                  V^ ,          4       M&\        V4      ^ 8”  d   \        P                  ! R4      hV P                  P                  V4       V # )z@Specify parameters to be replaced into the string SQL statement.zFparams() takes zero or one positional argument, which is a dictionary.)ÚlenÚupdater‡   rˆ   r™   )r   r   Úkws   &*,r   ÚparamsÚResult.paramsF  s[   € ô ˆt‹9˜Œ>Ø�I‰I�d˜1•gÕÜ�‹Y˜Œ]Ü×&Ò&ð)óð ð 	�‰×Ñ˜BÔØˆr   c                óL   € V'       d   V P                   P                  V4       V # r   )rš   Úextend)r   Úfnss   &&r   Ú_using_post_criteriaÚResult._using_post_criteriaS  s   € ßØ×Ñ×&Ñ& sÔ+Øˆr   c                ó&   € V P                  V.4      # )a|  Add a criteria function that will be applied post-cache.

This adds a function that will be run against the
:class:`_query.Query` object after it is retrieved from the
cache.    This currently includes **only** the
:meth:`_query.Query.params` and :meth:`_query.Query.execution_options`
methods.

.. warning::  :meth:`_baked.Result.with_post_criteria`
   functions are applied
   to the :class:`_query.Query`
   object **after** the query's SQL statement
   object has been retrieved from the cache.   Only
   :meth:`_query.Query.params` and
   :meth:`_query.Query.execution_options`
   methods should be used.


.. versionadded:: 1.2


)r¥   )r   r>   s   &&r   Úwith_post_criteriaÚResult.with_post_criteriaX  s   € ð. ×(Ñ(¨"¨Ó.Ð.r   c                ó¸   € V P                   P                  V P                  4      P                  V P                  4      pV P
                   F  pV! V4      pK  	  V# r   )r˜   r{   rT   r    r™   rš   )r   ri   r>   s   &  r   r{   ÚResult._as_queryq  sG   € Ø�G‰G×Ñ˜dŸl™lÓ+×2Ñ2°4·<±<Ó@ˆØ×%Ô%ˆBÙ�1“ŠAñ &àˆr   c                ó4   € \        V P                  4       4      # r   )Ústrr{   ©r   s   &r   Ú__str__ÚResult.__str__w  s   € Ü�4—>‘>Ó#Ó$Ð$r   c                ó>   € V P                  4       P                  4       # r   )Ú_iterÚ__iter__r®   s   &r   r³   ÚResult.__iter__z  s   € Ø�z‰z‹|×$Ñ$Ó&Ð&r   c                ó’  € V P                   pV P                  P                  '       d   VP                  '       d   V P	                  4       P                  4       # VP                  P                  VP                  V P                  4      R4      w  r#Vf   VP                  V P                  4      w  r#V P                  '       d   VP                  V P                  4      pMTpV P                   F  pV! V4      pK  	  VP                  p\        VP                  4      pVP                  RVP                   RVP                  /4       V P                  P#                  W6VR7      pVP$                  P                  RR4      '       d   VP'                  4       pVP$                  P                  RR4      '       d   VP)                  4       pV# )NÚ_sa_orm_load_optionsÚcompiled_cache)Úexecution_optionsÚis_single_entityFÚfiltered)NN)r˜   rT   Úenable_baked_queriesr+   r{   r²   r,   rz   rb   r„   r™   r    rš   ÚdictÚ_execution_optionsrž   Úload_optionsÚexecuteÚ_attributesÚscalarsÚunique)	r   r˜   r}   rƒ   ri   r>   r    r¸   Úresults	   &        r   r²   ÚResult._iter}  sj  € Ø�W‰Wˆà�|‰|×0×0Ð0°B·K·K°KØ—>‘>Ó#×)Ñ)Ó+Ð+àŸ:™:Ÿ>™>Ø×Ñ˜dŸl™lÓ+¨\ó
Ñˆð Š=Ø!Ÿx™x¨¯©Ó5ÑˆEà�<�<ˆ<Ø—‘˜TŸ\™\Ó*‰AàˆAØ×%Ô%ˆBÙ�1“ŠAñ &ð —‘ˆÜ  ×!5Ñ!5Ó6ÐØ× Ñ à&¨¯©Ø  "§*¡*ðô	
ð —‘×%Ñ%ØÐ1Bð &ó 
ˆð ×Ñ×!Ñ!Ð"4°e×<Ò<Ø—^‘^Ó%ˆFà×Ñ×!Ñ! *¨e×4Ò4Ø—]‘]“_ˆFàˆr   c                ó  a€ \         P                  ! \        R4      4      oV P                  P	                  V3R l4      pVP                  V P                  4      P                  V P                  4      P                  4       # )z®return the 'count'.

Equivalent to :meth:`_query.Query.count`.

Note this uses a subquery to ensure an accurate count regardless
of the structure of the original statement.

Ú*c                 ó&   <€ V P                  S4      # r   )Ú_legacy_from_self)ri   Úcols   &€r   ro   ÚResult.count.<locals>.<lambda>¯  s   ø€ ¨Q×-@Ñ-@ÀÔ-Er   )
r   Úcountr   r˜   rI   rU   rT   r    r™   Úscalar)r   r˜   rÉ   s   & @r   rË   ÚResult.count¤  sX   ø€ ô �jŠjœ¨Ó,Ó-ˆØ�W‰W×"Ñ"Ô#EÓFˆØ�~‰~˜dŸl™lÓ+×2Ñ2°4·<±<Ó@×GÑGÓIÐIr   c                ó²   €  V P                  4       p\        V\        P                  4      '       g   V# V^ ,          #   \        P
                   d     R# i ; i)z³Return the first element of the first result or None
if no rows present.  If multiple rows are returned,
raises MultipleResultsFound.

Equivalent to :meth:`_query.Query.scalar`.

N)ÚonerA   Úcollections_abcÚSequenceÚorm_excÚNoResultFound)r   Úrets   & r   rÌ   ÚResult.scalar²  sK   € ð	Ø—(‘(“*ˆCÜ˜c¤?×#;Ñ#;×<Ò<Ø�
Ø�q•6ˆMøÜ×$Ñ$ô 	Úð	ús   ‚1= ´= ½AÁAc                ó  € V P                   P                  R 4      pVP                  V P                  4      P	                  V P
                  4      P                  V P                  4      P                  4       P                  4       # )zBReturn the first row.

Equivalent to :meth:`_query.Query.first`.

c                 ó&   € V P                  ^ ^4      # )r�   )Úslice)ri   s   &r   ro   ÚResult.first.<locals>.<lambda>É  s   € ¨Q¯W©W°Q¸¬]r   )
r˜   rI   rU   rT   r    r™   r¥   rš   r²   Úfirst)r   r˜   s   & r   rÚ   ÚResult.firstÂ  s[   € ð �W‰W×"Ñ"Ñ#:Ó;ˆà�N‰N˜4Ÿ<™<Ó(ß‰V�D—L‘LÓ!ß!Ñ! $×"5Ñ"5Ó6ß‰U‹Wß‰U‹Wð	
r   c                ó>   € V P                  4       P                  4       # )z[Return exactly one result or raise an exception.

Equivalent to :meth:`_query.Query.one`.

)r²   rÏ   r®   s   &r   rÏ   Ú
Result.oneÒ  ó   € ð �z‰z‹|×ÑÓ!Ð!r   c                ó>   € V P                  4       P                  4       # )zwReturn one or zero results, or raise an exception for multiple
rows.

Equivalent to :meth:`_query.Query.one_or_none`.

)r²   Úone_or_noner®   s   &r   rà   ÚResult.one_or_noneÚ  s   € ð �z‰z‹|×'Ñ'Ó)Ð)r   c                ó>   € V P                  4       P                  4       # )z;Return all rows.

Equivalent to :meth:`_query.Query.all`.

)r²   Úallr®   s   &r   rã   Ú
Result.allã  rÞ   r   c                ó’   € V P                   P                  ^ ,          ! V P                  4      pVP                  WP                  4      # )zPRetrieve an object based on identity.

Equivalent to :meth:`_query.Query.get`.

)r˜   r*   rT   Ú	_get_implÚ_load_on_pk_identity)r   Úidentr}   s   && r   rz   Ú
Result.getë  s4   € ð —‘—‘˜aÖ  §¡Ó.ˆØ�‰˜u×&?Ñ&?Ó@Ð@r   c                óÈ  a aaaa€ VP                   ^ ,          P                  R,          oSP                  w  ooVVVVV 3R lpS P                  pVP	                  4       pV;P
                  S3,          un        TP                  T\        ;QJ d    . R S 4       F  NK  	  5M! R S 4       4      4      p\        SSP                  4       UUu/ uF  w  rxSV,          P                  VbK  	  p	pp\        VP                  S P                  4      P                  ! R/ V	B 4      p
\        V
4      pV^8”  d   \         P"                  ! 4       hV'       d
   V
^ ,          # R# u uppi )z6Load the given primary key identity from the database.Úparententityc                 ó”  <€ SpV P                  4       pVP                  4        R Vn        R S
9   dW   \        S	P                  S
4       UUu0 uF  w  r4Ve   K  SV,          P
                  kK   	  ppp\        P                  ! W4      p\        P                  ! VRR/4      3Vn	        SP                   F  pV! V4      pK  	  V# u uppi )NÚ
_orm_adaptT)r9   Ú_get_conditionÚ	_order_byÚzipÚprimary_keyru   Úsql_utilÚadapt_criterion_to_nullÚ_deep_annotateÚ_where_criteriarš   )r}   Ú_lcl_get_clauseri   rÉ   ÚvalueÚnonesr>   Ú_get_clauseÚ_get_paramsÚmapperÚprimary_key_identityr   s   &      €€€€€r   ÚsetupÚ*Result._load_on_pk_identity.<locals>.setupü  s×   ø€ Ø)ˆOØ—‘“ˆAØ×ÑÔØˆAŒKð Ð+Ô+ô '*Ø×*Ñ*Ð,@ô'ôñ'™
˜ð ô	 )�K Õ$×(Ô(ñ'ð ñ ô #+×"BÒ"BØ#ó#�ô ×'Ò'¨¸,ÈÐ9MÓNð!ˆAÔð ×)Ô)�Ù�q“E’ñ *àˆHùó%s   ÁCÁCc              3   ó(   "  € T F  qR J x € K
  	  R # 5ir   r'   )Ú.0Úelems   & r   Ú	<genexpr>Ú.Result._load_on_pk_identity.<locals>.<genexpr>%  s   é € ÐGÑ2F¨$ �Ó2Fùs   ‚Nr'   )Ú_raw_columnsÚ_annotationsrù   r˜   r9   r(   rI   rB   rð   rñ   ru   r7   rU   rT   r    r�   rÒ   ÚMultipleResultsFound)r   rT   r}   rü   rŸ   rý   r˜   Úid_valrñ   r    rÃ   Úlrù   rú   rû   s   f&&f,       @@@r   rç   ÚResult._load_on_pk_identityõ  s7  ü€ ð ×#Ñ# AÕ&×3Ñ3°NÕCˆà#)×#5Ñ#5Ñ ˆ�[÷	ñ 	ð@ �W‰Wˆð
 �Y‰Y‹[ˆØ
�Š˜+˜Õ'�à×ÑØ—5”5ÑGÑ2FÓG—5‘5ÑGÑ2FÓGÓGó
ˆô (+Ø$ f×&8Ñ&8ô(ô
ñ(Ñ#�ð ˜Õ$×(Ñ(¨&Ò0ñ(ð 	ñ 
ô �b—n‘n T§\¡\Ó2×9Ò9ÑC¸FÑCÓDˆÜ�‹KˆØˆqŒ5Ü×.Ò.Ó0Ð0ßØ˜!•9Ðáùó
s   ÃE)r™   rš   r˜   rT   Nr—   )r   r   r   r   r   r   r   r    r¥   r¨   r{   r¯   r³   r²   rË   rÌ   rÚ   rÏ   rà   rã   rz   rç   r    r!   r"   s   @r   rR   rR   5  sk   ø‡ € ñð =€Iò!òòò
/ò2ò%ò'ò%òNJòò 
ò "ò*ò"òA÷Að Ar   rR   )r   Úcollections.abcÚabcrÐ   ÚloggingÚ r   r‡   r   ÚormrÒ   Ú	orm.queryr   Úorm.sessionr   Úsqlr   r   rò   Ú	getLoggerr   Úlogr	   r%   rR   r-   r'   r   r   Ú<module>r     sk   ðñõ *Û å Ý Ý  Ý Ý !Ý Ý  Ý "à×Ò˜Ó!€÷6ñ 6÷,zñ z÷zAñ AðH 
×	Ñ	‚r   