Ë
    ðmxixä  ã                  óÚ  — d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z	 dd	lm
Z
 dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z  ddlm!Z! ddlmZ" ddlmZ ddl#m$Z$ ddl%m&Z& dd l%m'Z' dd!l%m(Z( dd"l)m*Z* ddl)mZ+ dd#l,m-Z- dd$l,m.Z. dd%l,m/Z/ dd&lm0Z0 erBdd'l1m2Z2 dd(lm3Z3 dd)l4m5Z5 dd*l6m7Z7 dd+l8m9Z9 dd,l:m;Z; dd-l<m=Z= dd.l>m?Z? dd/l@mAZA dd0l%mBZB dd1l)mCZC  ed2e¬3«      ZD ed4eE¬3«      ZF ejŽ                  «       ZHeeIeeeIef      f   ZJdOd5„ZK ej˜                  d6«      dPd7„«       ZM ejœ                  d8d9¬:«       ej˜                  d6«      	 dP	 	 	 	 	 	 	 dQd;„«       «       ZO	 	 	 	 	 	 	 	 	 	 dRd<„ZPd=d=d=d=d>ej`                  ej`                  d>d>d?œ		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dSd@„ZQd=d=d=d=d=d>ej`                  ej`                  d>d>dAœ
	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dTdB„ZR	 	 	 	 	 	 dUdC„ZS	 	 	 dVdD„ZTdE„ ZU	 	 	 	 dWdF„ZVdG„ ZWdH„ ZXdI„ ZYdJ„ ZZdK„ Z[ G dL„ dM«      Z\dN„ Z]y=)Xzßprivate module containing functions used to convert database
rows into object instances and associated state.

the functions here are called primarily by Query, Mapper,
as well as some of the attribute loading strategies.

é    )Úannotations)ÚAny)ÚDict)ÚIterable)ÚList)ÚMapping)ÚOptional)ÚSequence)ÚTuple)ÚTYPE_CHECKING)ÚTypeVar)ÚUnioné   )Ú
attributes)Úexc)Úpath_registry)Ú_DEFER_FOR_STATE)Ú_RAISE_FOR_STATE)Ú_SET_DEFERRED_EXPIRED)ÚPassiveFlag)ÚFromStatement)ÚORMCompileState)ÚQueryContext)ÚSelectInLoader)Ú	_none_set)Ú	state_stré   )Úutil)Úresult_tuple)ÚChunkedIteratorResult)ÚFrozenResult)ÚSimpleResultMetaData)Úselect)ÚForUpdateArg)ÚLABEL_STYLE_TABLENAME_PLUS_COL)ÚSelectState)Ú
EMPTY_DICT)Ú_IdentityKeyType)ÚLoaderCallableStatus)Ú	ORMOption)ÚMapper)ÚQuery)ÚSession)ÚInstanceState)ÚCursorResult)Ú_ExecuteOptions)ÚResult)ÚSelectÚ_T)ÚboundÚ_Oc                ó&  ‡ ‡‡‡‡‡— t        «       ‰_        ‰j                  rdŠ‰j                  j                  ‰_        n	dŠi ‰_        ‰j                  }|j
                  }‰j                  j                   xr3 t        |j                  «      dk(  xr |j                  d   j                  Š	 t        t        ‰j                  j                  D �cg c]  }|j                  ‰‰ «      ‘Œ c}Ž «      \  Š}}‰j                  r-‰j                  s‰j                   rt#        j$                  d«      ‚d„ }dddœd	„}‰j                  j                  D �	cg c]…  }	‰j                  r|nt|	j.                  sU|	j0                  s|	j2                  r= ||	j4                  j6                  ‰j                  j8                  |	j2                  ¬«      n|	j.                  rt:        nd‘Œ‡ }
}	t=        |
¬
«      }ˆˆ ˆˆˆfd„}‰j>                  jA                  dd«      rt         |d«      «      Šˆfd„}tC        ||‰‰ ‰ jD                  jF                  ¬«      }|jH                  jK                  tM        |‰¬«      «      |_$        ‰j                  jN                  rd„ }d|f|_(        ‰j                  r|j                  ‰j                  «       |S c c}w # t&        $ r> t)        j*                  «       5  ‰ j-                  «        ddd«       n# 1 sw Y   nxY wY �ŒÜw xY wc c}	w )a¤  Return a :class:`.Result` given an ORM query context.

    :param cursor: a :class:`.CursorResult`, generated by a statement
     which came from :class:`.ORMCompileState`

    :param context: a :class:`.QueryContext` object

    :return: a :class:`.Result` object representing ORM results

    .. versionchanged:: 1.4 The instances() function now uses
       :class:`.Result` objects and has an all new interface.

    FTr   r   zØCan't use yield_per with eager loaders that require uniquing or row buffering, e.g. joinedload() against collections or subqueryload().  Consider the selectinload() strategy for better flexibility in loading objects.Nc                ó,   — t        j                  d«      ‚)Nz@Can't use the ORM yield_per feature in conjunction with unique()©Úsa_excÚInvalidRequestError)Úentrys    úM/home/htdocs/ttos/venv/lib/python3.12/site-packages/sqlalchemy/orm/loading.pyÚ
_no_uniquezinstances.<locals>._no_uniqueˆ   s   € Ü×(Ñ(ØNó
ð 	
ó    )ÚlegacyÚ	uncertainc               ó>   ‡ ‡‡— |sˆ ˆfd„}|S ‰st         S dŠˆfd„}|S )Nc                ón   •— ‰r	 t        | «      S t        j                  d‰›d‰rdnd› d�«      ‚#  Y Œ$xY w)Nz=Can't apply uniqueness to row tuple containing value of type z; z the values returned appear to bezthis datatype producesz non-hashable values)Úhashr9   r:   )ÚobjÚdatatyper@   s    €€r<   Úgoz,instances.<locals>._not_hashable.<locals>.go�   sZ   ø€ ÙðÜ# C›yÐ(ô ×0Ñ0ðØ&˜\¨á$ñ ;à5ð,ð *ð-óð øðÙús   …
0 °4Fc                óJ   •— ‰s	 t        | «      S t        | «      S #  Y nxY wdŠŒ)NT)rC   Úid)rD   Ú_use_ids    €r<   rF   z,instances.<locals>._not_hashable.<locals>.go¦   s4   ø€ ñ ðÜ# C›yÐ(ô ˜#“w�øðÙúð
 #�Gøs   …
 ›)rH   )rE   r?   r@   rF   rI   s   ` ` @r<   Ú_not_hashablez instances.<locals>._not_hashable�   s+   ú€ Ùõð  ˆIÙÜˆIàˆGôð  ˆIr>   )Ú_unique_filtersc              3  óÔ  •K  — 	 | }i ‰
_         |r‰j                  |«      }|sy ‰j                  «       }‰r‰d   }|D �cg c]
  } ||«      ‘Œ }}n.|D ��cg c]!  }t        ‰D �cg c]
  } ||«      ‘Œ c}«      ‘Œ# }}}‰rÎ|r#t	        ‰
j
                  j                  «       «      }‰
j
                  rft	        ‰
j
                  j                  «       «      }‰
j
                  j                  «        |D ]  \  }}	|	j                  ‰
|«       Œ ‰
j
                  rŒf|r5‰
j
                  j                  «        ‰
j
                  j                  «       |–— |sy �ŒSc c}w c c}w c c}}w ­w)Nr   )
ÚpartialsÚ	fetchmanyÚ_raw_all_rowsÚtupleÚlistÚpost_load_pathsÚitemsÚclearÚinvokeÚupdate)ÚsizeÚ	yield_perÚfetchÚprocÚrowÚrowsÚtop_level_post_loadsÚ
post_loadsÚpathÚ	post_loadÚcontextÚcursorÚis_top_levelÚprocessÚsingle_entitys             €€€€€r<   Úchunkszinstances.<locals>.chunksÐ   sj  øè ø€ ØØˆIà!ˆGÔáØ×(Ñ(¨Ó3�áØà×,Ñ,Ó.�áØ˜q‘z�Ø-2Ö3 c™˜S�	Ð3�Ñ3ð GL÷Ø?B”E°Ö9¨™4 �9Ò9Õ:ð�ñ ñ Ùô ,0Ø×/Ñ/×5Ñ5Ó7ó,Ð(ð ×-Ò-Ü!% g×&=Ñ&=×&CÑ&CÓ&EÓ!F�JØ×+Ñ+×1Ñ1Ô3Ø+5ò 8™˜˜iØ!×(Ñ(¨°$Õ7ð8ð ×-Ó-ñ Ø×+Ñ+×1Ñ1Ô3Ø×+Ñ+×2Ñ2Ð3GÔHàŠJáØñ_ ùò 4ùò :ùóùs<   ƒ<E(¿EÁE(ÁE"Á$EÁ3	E"Á<BE(ÄAE(ÅE"Å"E(Úprebuffer_rowsc                ó   •— t        ‰«      S ©N)Úiter)rW   Ú_prebuffereds    €r<   rf   zinstances.<locals>.chunks  s   ø€ Ü˜Ó%Ð%r>   )Úsource_supports_scalarsÚrawÚdynamic_yield_per)ÚfilteredÚis_single_entityc                ó,   — t        j                  d«      ‚)Nz~The unique() method must be invoked on this Result, as it contains results that include joined eager loads against collectionsr8   )rD   s    r<   Úrequire_uniquez!instances.<locals>.require_unique  s   € Ü×,Ñ,ð&óð r>   ))Ú
_new_runidÚrunidÚtop_level_contextrR   Úcompile_stateÚ_has_mapper_entitiesÚload_optionsÚ_only_return_tuplesÚlenÚ	_entitiesÚsupports_single_entityrQ   ÚzipÚrow_processorrX   Úloaders_require_bufferingÚloaders_require_uniquingr9   r:   Ú	Exceptionr   Úsafe_reraiseÚcloseÚuse_id_for_hashÚ_non_hashable_valueÚ_null_column_typeÚcolumnÚtypeÚ_legacy_uniquingrH   r"   Úexecution_optionsÚgetr    ra   Ú_is_server_sideÚ_attributesÚunionÚdictÚmulti_row_eager_loadersÚ_unique_filter_state)rb   ra   rv   ro   Úquery_entityÚlabelsÚextrar=   rJ   ÚentÚunique_filtersÚrow_metadatarf   Úresultrr   rk   rc   rd   re   s   ``             @@@@r<   Ú	instancesr™   O   sé  ý€ ô “L€G„Mà× Ò ØˆØ")×";Ñ";×"KÑ"KˆÕàˆØ"$ˆÔà×)Ñ)€MØ×1Ñ1€Hà× Ñ ×4Ñ4Ð4ò 	>Ü�×'Ñ'Ó(¨AÑ-ò	>à×#Ñ# AÑ&×=Ñ=ð ðÜ#'Üð )0×(=Ñ(=×(GÑ(Göà$ð !×.Ñ.¨w¸Õ?òðó$
Ñ ˆ�&˜%ð ×ÒØ×-Ò-Ø×/Ò/ä×,Ñ,ð=óð ò
ð
 +0¸5ô )ðx ×(Ñ(×2Ñ2ö#ð" ð × Ò ñ ð ×+Ò+Ø×0Ò0°C×4IÒ4Iñ Ø—J‘J—O‘OØ"×/Ñ/×@Ñ@Ø!×3Ñ3õð ×.Ò.•R°Dñð€Nð ô( (Ø� ~ô€L÷0ð 0ðd × Ñ ×$Ñ$Ð%5°uÔ=ô ™F 4›LÓ)ˆô	&ô #ØØØ -ØØ Ÿ.™.×8Ñ8ô€Fð  ×+Ñ+×1Ñ1Ü�h°Ô?ó€FÔð
 ×Ñ×4Ò4ò	ð (,¨^Ð&<ˆÔ#à×ÒØ×Ñ˜×*Ñ*Ô+à€Mùòoøô$ ò Ü×ÑÓ ñ 	Ø�L‰LŒN÷	÷ 	ñ 	ýðüòhsD   Â."K ÃJ?Ã)AK ÅB
LÊ?K ËLË!K;Ë2	LË;L	Ì LÌ
Lzsqlalchemy.orm.contextc           	     ó@  — t         j                  j                  }|r| j                  «        |j                  j                  |d¬«      }| j                  }	 d| _        t        |j                  «      D ��cg c]  \  }}t        ||j                  «      r|‘Œ }	}}|j                  D �
cg c]  }
|
j                  ‘Œ }}
t        ||j                  D �
cg c]  }
|
j                  ‘Œ c}
«      }g }|j                  «       D ]k  }|	D ]M  }||   €Œ	| j                  t!        j"                  ||   «      t!        j$                  ||   «      |i i ¬«      ||<   ŒO |j'                   ||«      «       Œm |j)                  |«      || _        S c c}}w c c}
w c c}
w # || _        w xY w)az  Merge a :class:`_engine.FrozenResult` back into a :class:`_orm.Session`,
    returning a new :class:`_engine.Result` object with :term:`persistent`
    objects.

    See the section :ref:`do_orm_execute_re_executing` for an example.

    .. seealso::

        :ref:`do_orm_execute_re_executing`

        :meth:`_engine.Result.freeze`

        :class:`_engine.FrozenResult`

    F©r?   ©ÚloadÚ
_recursiveÚ_resolve_conflict_map)r   Ú	preloadedÚorm_contextÚ
_autoflushÚORMSelectCompileStateÚ_create_entities_collectionÚ	autoflushÚ	enumerater{   Ú
isinstanceÚ_MapperEntityÚ_label_namer   Ú_extra_entitiesÚrewrite_rowsÚ_merger   Úinstance_stateÚinstance_dictÚappendÚwith_new_rows)ÚsessionÚ	statementÚfrozen_resultr�   ÚquerycontextÚctxr¥   ÚiÚeÚmapped_entitiesr•   ÚkeysÚkeyed_tupler˜   Únewrows                  r<   Úmerge_frozen_resultr¼   ,  s�  € ô" —>‘>×-Ñ-€Láà×ÑÔà
×
,Ñ
,×
HÑ
HØ˜%ð Ió €Cð ×!Ñ!€Ið&Ø!ˆÔô " #§-¡-Ó0÷
á��1Ü˜!˜\×7Ñ7Ô8ò ð
ˆñ 
ð
 ,/¯=©=Ö9 C�—“Ð9ˆÐ9ä"Ø°#·-±-Ö@¨3�3×&Ó&Ò@ó
ˆð ˆØ#×0Ñ0Ó2ò 	/ˆFØ$ò �Ø˜!‘9Ñ(Ø '§¡Ü"×1Ñ1°&¸±)Ó<Ü"×0Ñ0°¸±Ó;Ø!Ø#%Ø.0ð !/ó !�F˜1’Iðð �M‰M™+ fÓ-Õ.ð	/ð ×*Ñ*¨6Ó2à%ˆÕùó7
ùò
 :ùò Aøð& &ˆÕús=   ÁF Á6"FÂF Â)F
Â<F ÃF
Ã%&F ÄA0F ÆF Æ	Fz:func:`_orm.merge_result`zyThe function as well as the method on :class:`_orm.Query` is superseded by the :func:`_orm.merge_frozen_result` function.)Úalternativec           
     ó  — t         j                  j                  }| j                  }|r|j	                  «        t        |t        «      r|}t        |j                  «      }nd}|j                  j                  | d¬«      }|j                  }	 d|_        | xr t        |j                  «      dk(  }|r{t        |j                  d   |j                  «      rK|D �	cg c]>  }	|j                  t!        j"                  |	«      t!        j$                  |	«      |i i ¬«      ‘Œ@ }
}	�nt'        |«      }
�nt)        |j                  «      D ��cg c]  \  }}t        ||j                  «      r|‘Œ }}}g }
|j                  D �cg c]  }|j*                  ‘Œ }}t-        ||j                  D �cg c]  }|j.                  ‘Œ c}«      }|D ]v  }t'        |«      }|D ]M  }||   €Œ	|j                  t!        j"                  ||   «      t!        j$                  ||   «      |i i ¬«      ||<   ŒO |
j1                   ||«      «       Œx |r|j3                  |
«      ||_        S t        |
«      ||_        S c c}	w c c}}w c c}w c c}w # ||_        w xY w)z Merge a result into the given :class:`.Query` object's Session.

    See :meth:`_orm.Query.merge_result` for top-level documentation on this
    function.

    NTr›   Fr   r   rœ   )r   r    r¡   r±   r¢   r§   r!   rj   Údatar£   r¤   r¥   rz   r{   r¨   r¬   r   r­   r®   rQ   r¦   r©   r   rª   r¯   r°   )ÚqueryÚiteratorr�   r´   r±   r³   rµ   r¥   re   Úinstancer˜   r¶   r·   r¸   r•   r¹   rº   r[   r»   s                      r<   Úmerge_resultrÃ   h  s~  € ô$ —>‘>×-Ñ-€Là�m‰m€GÙà×ÑÔô �(œLÔ)Ø ˆÜ˜×*Ñ*Ó+‰àˆà
×
,Ñ
,×
HÑ
HØ�dð Ió €Cð ×!Ñ!€Ið1&Ø!ˆÔØ)Ð)ÒE¬c°#·-±-Ó.@ÀAÑ.EˆáÜ˜#Ÿ-™-¨Ñ*¨L×,FÑ,FÔGð %-ö	ð !ð —N‘NÜ"×1Ñ1°(Ó;Ü"×0Ñ0°Ó:Ø!Ø#%Ø.0ð #õ ð	�ò 	ô ˜h›’ô & c§m¡mÓ4÷á�A�qÜ˜a ×!;Ñ!;Ô<ò ðˆOñ ð
 ˆFØ/2¯}©}Ö=¨�C—O“OÐ=ˆDÐ=ä&Ø°c·m±mÖD¨s�s×*Ó*ÒDóˆKð  ò 3�Ü˜c›�Ø(ò �AØ˜a‘yÑ,Ø$+§N¡NÜ&×5Ñ5°f¸Q±iÓ@Ü&×4Ñ4°V¸A±YÓ?Ø!%Ø')Ø24ð %3ó %˜˜qš	ðð —‘™k¨&Ó1Õ2ð3ñ Ø ×.Ñ.¨vÓ6ð &ˆÕô ˜“<à%ˆÕùòW	ùóùò >ùò Eøð* &ˆÕúsQ   ÂAI: ÃAI%Ä)I: Å"I*Å(I: Å;I0ÆI: Æ$I5
Æ7!I: ÇA2I: É
I: É%I: É:	Jc                óâ  — | j                   j                  |«      }|�§t        j                  |«      }|j                  r+|j
                  j                  |«      st        j                  S |j                  rM|t        j                  z  st        j                  S |t        j                  z  s|S 	 |j                  ||«       |S |S y# t        j                  $ r | j                  |g«       Y yw xY w)zqLook up the given key in the given session's identity map,
    check the object for expired state if found.

    N)Úidentity_mapr‹   r   r­   ÚinheritsÚmapperÚisaÚPASSIVE_CLASS_MISMATCHÚexpiredÚSQL_OKÚPASSIVE_NO_RESULTÚRELATED_OBJECT_OKÚ_load_expiredÚorm_excÚObjectDeletedErrorÚ_remove_newly_deleted)r±   rÇ   ÚkeyÚpassiverÂ   Ústates         r<   Úget_from_identityrÕ   Â  sÙ   € ð ×#Ñ#×'Ñ'¨Ó,€HØÐÜ×)Ñ)¨(Ó3ˆà�?Š? 5§<¡<×#3Ñ#3°FÔ#;Ü×4Ñ4Ð4ð �=Š=ØœZ×.Ñ.Ò.ä!×3Ñ3Ð3Øœz×;Ñ;Ò;ð
  �ðØ×#Ñ# E¨7Ô3ð ˆˆxˆàøô ×-Ñ-ò Ø×-Ñ-¨u¨gÔ6Ùðús   Â/C Ã%C.Ã-C.NF)	rx   Úrefresh_stateÚwith_for_updateÚonly_load_propsÚno_autoflushÚbind_argumentsrŠ   Úrequire_pk_colsÚis_user_refreshc       	        óT   — |�|d   }|d   }ndx}}t        | ||||||||||	|
|¬«      S )z.Load the given identity key from the database.Nr   r   ©
rx   rÖ   r×   rØ   Úidentity_tokenrÙ   rÚ   rŠ   rÛ   rÜ   )Úload_on_pk_identity)r±   r²   rÒ   rx   rÖ   r×   rØ   rÙ   rÚ   rŠ   rÛ   rÜ   Úidentrß   s                 r<   Úload_on_identrâ   è  sY   € ð  €Ø�A‘ˆØ˜Q™‰à!%Ð%ˆ�äØØØØ!Ø#Ø'Ø'Ø%Ø!Ø%Ø+Ø'Ø'ôð r>   rÞ   c       
   	     óÎ  — |}|j                  «       }|j                  rJ ‚|€t        j                  }|j                  t
        j                  u rt        j                  }n|j                  }|�ð|j                  d   }|j                  \  }}d|v ryt        |j                  |«      D ��ch c]  \  }}|€||   j                  ’Œ }}}t        j                  ||«      }t!        |«      t!        |«      k(  rt#        j$                  d«       t        j&                  |ddi«      f|_        t        ||j                  «      D ��ci c]  \  }}||   j                  |“Œ }}}nd}|�
d}||_        n"|j*                  �d}|j*                  |_        nd}|rÛ|rÙ|st-        j.                  d«      ‚|j0                  j2                  }|j5                  |«      D �ch c]+  }|j6                  |   j8                  j;                  «       r|’Œ- }}|r&t-        j<                  d|› d	|j0                  › d
�«      ‚|j0                  j>                  }|D ]$  }||   j@                  sŒ|jC                  |«      } n |r@|jD                  r4|d|jF                  jH                  iz  } |jJ                  |jD                  Ž }tM        |||||||¬«      \  }}||_        d|_'        |r|ddiz  }t"        jP                  jS                  |
d|i«      }
| jU                  |||
|	¬«      jW                  «       jY                  «       } 	 | j[                  «       S c c}}w c c}}w c c}w # t\        j^                  $ r Y yw xY w)z6Load the given primary key identity from the database.NÚplugin_subjectzofully NULL primary key identity cannot load any object.  This condition may raise an error in a future release.Ú
_orm_adaptTFz9refresh_state is required when require_pk_cols is presentz7Please flush pending primary key changes on attributes z for mapper z! before proceeding with a refreshÚ_current_path)Úversion_checkrØ   rÖ   rß   rÜ   r¢   Ú_sa_orm_load_options)ÚparamsrŠ   rÚ   )0Ú_cloneÚ_is_lambda_elementr   Údefault_load_optionsÚ_compile_optionsr&   Údefault_select_compile_optionsr   Údefault_compile_optionsÚ_propagate_attrsÚ_get_clauser}   Úprimary_keyrÒ   Úsql_utilÚadapt_criterion_to_nullrz   r   ÚwarnÚ_deep_annotateÚ_where_criteriaÚ_for_update_argr9   ÚArgumentErrorrÇ   Ú_primary_key_propkeysÚ
differenceÚattrsÚhistoryÚhas_changesr:   Ú_propsÚ_is_relationshiprŽ   rx   Ú	load_pathÚparentÚoptionsÚ_set_get_optionsÚ	_order_byr'   Ú
merge_withÚexecuteÚuniqueÚscalarsÚonerÏ   ÚNoResultFound)!r±   r²   Úprimary_key_identityrx   rÖ   r×   rØ   rß   rÙ   rÚ   rŠ   rÛ   rÜ   rÀ   ÚqÚcompile_optionsrÇ   rñ   Ú_get_paramsÚcolÚvalueÚnonesÚid_valrò   ré   rç   Úrefresh_state_prokeysrÒ   rþ   ÚmpÚpÚnew_compile_optionsr˜   s!                                    r<   rà   rà     s¿  € ð$ €EØ�‰‹€Aà×#Ò#Ð#Ð#àÐÜ#×8Ñ8ˆð 	×"Ñ"Ü×5Ñ5ñ	6ô *×AÑA‰à#×4Ñ4ˆàÐ'Ø×'Ñ'Ð(8Ñ9ˆà%+×%7Ñ%7Ñ"ˆ�kð Ð'Ñ'ô #& f×&8Ñ&8Ð:NÓ"O÷á�C˜Ø�=ð ˜CÑ ×$Ó$ðˆEñ ô #×:Ñ:¸;ÈÓNˆKä�5‹zœSÐ!5Ó6Ò6Ü—	‘	ðôô ×#Ñ# K°,ÀÐ1EÓFð
ˆÔô (+Ø$ f×&8Ñ&8ó(÷
á#�˜ð ˜Ñ$×(Ñ(¨&Ñ0ð
ˆò 
ð ˆàÐ"ØˆØ+ˆÕØ	×	Ñ	Ð	*ØˆØ!×1Ñ1ˆÕàˆá™?ÙÜ×&Ñ&ØKóð ð !.× 4Ñ 4× JÑ JÐð -×7Ñ7¸ÓHö
àØ×"Ñ" 3Ñ'×/Ñ/×;Ñ;Ô=ò ð
ˆð 
ñ
 ô ×,Ñ,ðà�-˜|¨M×,@Ñ,@Ð+Að B,ð,óð ðD ×!Ñ!×(Ñ(ˆØ ò 	ˆAØ�!‰u×%Ó%Ø"7×"=Ñ"=¸oÓ"N�Ùð	ñ
 ˜×3Ò3Ø˜O¨]×-DÑ-D×-KÑ-KÐLÑLˆØˆA�I‰I�}×1Ñ1Ð2ˆä(8ØØØ#Ø'Ø#Ø%Ø'ô)Ñ%Ð˜ð -€AÔØ€A„KáØ˜ uÐ-Ñ-ˆäŸ™×2Ñ2ØÐ2°LÐAóÐð 	�‰ØØØ/Ø)ð	 	ó 	
÷ 
‰‹ß	‰‹ð ðØ�z‰z‹|ÐùóSùó&
ùò2
øô| × Ñ ò Ùðús$   Â)L=Å MÇ0M	Ì-M ÍM$Í#M$c                óž   — i }i }	|r||	d<   |r||	d<   |r
||	d<   d|d<   |rt        |«      |d<   |r||	d<   |r||	d<   |	r||	z  }|r| |z  } | |fS )	NÚ_version_checkÚ_populate_existingÚ_refresh_stateTÚ_for_refresh_stateÚ_only_load_propsÚ_identity_tokenÚ_is_user_refresh)Ú	frozenset)
Úcompile_optÚload_optÚpopulate_existingrç   rØ   rÖ   rß   rÜ   r  rx   s
             r<   r  r  Ç  s—   € ð €OØ€LÙØ)6ˆÐ%Ñ&ÙØ->ˆÐ)Ñ*ÙØ)6ˆÐ%Ñ&Ø04ˆÐ,Ñ-ÙÜ.7¸Ó.HˆÐ*Ñ+ÙØ*8ˆÐ&Ñ'áØ+:ˆÐ'Ñ(ÙØ�LÑ ˆÙØ�Ñ&ˆà˜Ð Ð r>   c	           	     óœ  — |r|j                  |«      }
n|j                  }
i }|j                  | j                  d|«       |xr t	        |«      dk(  xr |d   j
                  }|
D ].  }|r|j                  |vrŒ |j                  | |||f||||dœ|	¤Ž Œ0 |�5||j                  ur&|r|j                  |   }n|}|j                  |«       y y y )NÚmemoized_setupsr   éÿÿÿÿ)rØ   Úcolumn_collectionÚmemoized_populatorsÚcheck_for_adapt)Ú_iterate_polymorphic_propertiesÚ_polymorphic_propertiesÚsetr   rz   Úis_aliased_classrÒ   ÚsetupÚpolymorphic_onÚcolumnsr¯   )rv   rÇ   r’   r_   Úadapterr'  Úwith_polymorphicrØ   Úpolymorphic_discriminatorÚkwÚpoly_propertiesÚquick_populatorsr)  r  Úpds                  r<   Ú_setup_entity_queryr8  é  s  € ñ Ø ×@Ñ@Øó
‰ð !×8Ñ8ˆàÐà‡H�Hˆ]×%Ñ%Ð'8Ð:JÔKð ÒN¤# d£)¨q¡.ÒN°T¸"±X×5NÑ5N€Oà ò 
ˆÙ˜uŸy™y°Ñ?ØØˆ�‰ØØØØð	
	
ð
 ,Ø/Ø 0Ø+ñ
	
ð ó
	
ð
ð  	"Ð-Ø%¨V×-BÑ-BÑBáØ—‘Ð!:Ñ;‰Bà*ˆBØ× Ñ  Õ$ð Cð 	.r>   c                óH   — t        j                  dt        | «      ›d�«       y )NzLoading context for aW   has changed within a load/refresh handler, suggesting a row refresh operation took place. If this event handler is expected to be emitting row refresh operations within an existing load or refresh operation, set restore_load_context=True when establishing the listener to ensure the context remains unchanged when the event handler completes.)r   rõ   r   )rÔ   s    r<   Ú_warn_for_runid_changedr:     s   € Ü‡I‚Iô !*¨%Õ 0ð	3õr>   c
                óð  ‡‡‡‡‡"‡#‡$‡%‡&‡'‡(‡)‡*‡+‡,‡-‡.‡/‡0‡1‡2‡3‡4‡5‡6— ‰j                   Š"‰j                  }
d‰f}|j                  |
j                  |d«      }|�€á‰j                  }‰�|j                  ˆfd„‰D «       «      }|j                  ‰j                  dt        «      }g }g g g g g g dœ}‰€<‰j                  }|r|D �cg c]  }|j                  |   ‘Œ }}|j                  |«      Š.ndŠ.||‰.dœ}|D �]$  }||v �r||   }|t        u r+|d   j                  |j                  |j                  f«       ŒA|t        u r!|d   j                  |j                  d	f«       Œj|t        u r+|d   j                  |j                  |j                   f«       Œ�d}|r#|j                  |   }|�|j#                  |d	«      }|s|j#                  |d	«      }|r!|d
   j                  |j                  |f«       Œû|j%                  ‰| |‰|||«       �Œ|j                  |«       �Œ' |j'                  |
j                  ||«       |d   }|j)                  «       D ��ci c]  \  }}|t+        |«      “Œ c}}Š,|d   D ]  }|j%                  ‰| |‰||‰,«       Œ ‰j,                  Š/‰j                  j.                  j0                  r‰j                  j.                  |z   n|Š(‰j2                  j4                  Š4‰j6                  xs ‰j8                  Š+t;        ‰j<                  j>                  j@                  «      Š't;        ‰j<                  j>                  jB                  «      Š0t;        ‰j2                  j>                  jD                  «      Š*‰*r ‰j2                  j>                  jD                  Š)t        jF                  Š%t        jH                  Š$‰j2                  jJ                  Š3‰jL                  Š2‰jN                  Š#‰jP                  Š5‰5r3‰jR                  }|�#|r|j                  |   }|j#                  |«      Š6ndŠ6‰�s|	��d|j0                  f}|‰j                  v r9‰j                  |   jT                  dk(  r‰j                  |   jV                  d   }nd}‰jY                  ||	«      }|r˜||	ur”‰�J ‚|jZ                  r/g }|}|r,||	ur(|j                  |«       |j\                  }|r	||	urŒ$n|g}|D ]M  }t^        ja                  ‰‰(|«      rŒtc        ‰|||	|«      }t^        je                  ‰‰(|jf                  |||«       ŒO t^        ji                  ‰‰(‰«      Š-‰r ‰j                  Š1‰1€‰jk                  ‰«      Š1ndŠ1|d   Š.‰jl                  rtn        jp                  Š&ntn        j
                  Š&ˆˆ"ˆ#ˆ$ˆ%ˆ&ˆ'ˆ(ˆ)ˆˆˆ*ˆ+ˆ,ˆ-ˆ.ˆ/ˆ0ˆ1ˆˆ2ˆ3ˆ4ˆ5ˆ6fd„} ‰jr                  r|	s‰sˆ"ˆ#ˆ&ˆ.fd„}!tu        | ‰| ‰|||||!«	      } | S c c}w c c}}w )z]Produce a mapper level row processor callable
    which processes rows into mapped instances.ÚgettersNc              3  ó<   •K  — | ]  }‰j                   |   –— Œ y ­wri   )rÿ   )Ú.0ÚkrÇ   s     €r<   ú	<genexpr>z&_instance_processor.<locals>.<genexpr>V  s   øè ø€ ò 'Ø%&�—‘˜aÕ ñ'ùs   ƒr%  )ÚnewÚquickÚdeferredÚexpireÚexistingÚeager)Úcached_populatorsÚtodoÚprimary_key_getterrA  rD  FrB  rG  rH  Úloader))Úselectinload_polymorphicTÚentitiesrI  c                óÚ  •— ‰r.‰}|j                  «       } ‰|«      }|j                  ‰ k7  }d}d}n»‰ ‰| «      ‰f}‰"j                  |«      }|�: ‰|«      } ‰|«      }|j                  ‰ k7  }| }d}‰#rw‰$ru|sst        ‰||| ‰$«       nc ‰|d   «      ry d}d}d}‰j                  j                  «       } ‰|«      } ‰|«      }||_        ‰|_        ‰!|_        ‰"j                  ||«       ‰}‰|u rd}|s|�r9|r‰s|s‰|_
        ‰|_        t        ‰| |||‰||‰«	       |rú|j                  }	|rr‰r@|j                  j                  j                  |‰«       |j                  |	k7  rt!        |«       ‰rq ‰‰j"                  |«       |j                  |	k7  rOt!        |«       nC‰rA|j                  j                  j%                  |‰‰«       |j                  ‰ k7  rt!        |«       |s|j&                  r)‰r‰r|j)                  |‰«       n|j+                  |‰"«       ‰r‰j-                  |d«       |S |j.                  }
|‰j0                  v}|r|
s‰d   rut3        ‰| |||‰|
‰«      }|ra‰rM|j                  }	|j                  j                  j%                  |‰|«       |j                  |	k7  rt!        |«       |j)                  ||«       ‰r‰j4                  r‰j-                  |d«       |S )NTFr   rF  )rD   rt   r‹   Ú_validate_version_idÚclass_managerÚnew_instancerÒ   rß   Ú
session_idÚ_add_unpresentrx   r  Ú_populate_fullÚmanagerÚdispatchr�   r:  r±   ÚrefreshÚmodifiedÚ_commitÚ_commit_allÚ	add_stateÚunloadedrM   Ú_populate_partialÚinvoke_all_eagers)%r[   rÔ   rÂ   Údict_ÚisnewÚcurrentloadÚloaded_instanceÚidentitykeyÚeffective_populate_existingÚexisting_runidr[  Úto_loadra   Úidentity_classrß   r®   r­   Úis_not_primary_keyÚload_evtr  Úloaded_as_persistentrÇ   rØ   Úpersistent_evtr#  Ú
populatorsr`   rI  Úpropagated_loader_optionsÚrefresh_evtÚrefresh_identity_keyrÖ   rt   rQ  Úsession_identity_maprç   Úversion_id_getters%               €€€€€€€€€€€€€€€€€€€€€€€€€r<   Ú	_instancez&_instance_processor.<locals>._instance,  s  ø€ áà!ˆEØ—y‘y“{ˆHÙ! (Ó+ˆEØ—K‘K 5Ñ(ˆEØˆKØ#‰Oð
 Ù" 3Ó'ØðˆKð ,×/Ñ/°Ó<ˆHàÐ#á& xÓ0�Ù% hÓ/�àŸ™ uÑ,�Ø"'˜i�Ø"'�á Ñ%6¹{Ü(Ø  u¨cÐ3Dõñ & k°!¡nÔ5Øà�Ø"�Ø"&�à!×/Ñ/×<Ñ<Ó>�á% hÓ/�Ù& xÓ0�Ø'�”	Ø'5�Ô$ð $.�Ô Ø$×3Ñ3°E¸;ÔGà&7Ð#Ø˜EÑ!Ø*.Ð'ñ
 Ò5ñ Ù)Ñ1Là%>�Ô"Ø"+�”äØØØØØØØØ+Øô
ñ ð "'§¡�á"ÙØŸ™×.Ñ.×3Ñ3°E¸7ÔCØ Ÿ;™;¨.Ò8Ü3°EÔ:Ù%Ù,¨W¯_©_¸eÔDØ Ÿ;™;¨.Ò8Ü3°EÕ:Ù Ø—M‘M×*Ñ*×2Ñ2Ø˜w¨ôð —{‘{ eÒ+Ü/°Ô6á.°%·.².Ù$©ØŸ™ e¨_Õ=à×)Ñ)¨%Ð1EÔFáØ×#Ñ# E¨4Ô0ðJ ˆð? —~‘~ˆHØ ×!1Ñ!1Ð1ˆEá™H¨
°7Ò(;ô
 ,ØØØØØØØØó	�ñ Ù"Ø).¯©˜ØŸ™×.Ñ.×6Ñ6°u¸gÀwÔOØ Ÿ;™;¨.Ò8Ü3°EÔ:à—M‘M %¨Ô1á˜W×6Ò6Ø×#Ñ# E¨5Ô1àˆr>   c                ó6   •— ‰ ‰| «      ‰f} ‰|d   «      s|S y )Nr   © )r[   rb  rf  rß   rg  rI  s     €€€€r<   Úensure_no_pkz)_instance_processor.<locals>.ensure_no_pkÏ  s/   ø€ àÙ" 3Ó'ØðˆKñ
 & k°!¡nÔ5Ø"Ð"àr>   );Ú_identity_classrv   r‹   r   Ú	_prop_setÚintersectionr'   rò   r0  Ú_tuple_getterr   r¯   rÒ   Ú_deferred_column_loaderr   r   Ú_raise_column_loaderÚ_getterÚcreate_row_processorr,  rS   rQ   rl  Úcurrent_pathr_   r±   rÅ   r#  Úalways_refreshÚboolrO  rU  r�   rV  ri  r­   r®   Úhash_keyrt   rß   rç   Úversion_id_colÚstrategyÚ
local_optsÚ_should_selectin_loadÚ	is_mapperrÆ   ÚPostLoadÚpath_existsÚ_load_subclass_via_inÚcallable_for_pathrÇ   Úfor_contextÚ_identity_key_from_stateÚallow_partial_pksr   Ú
issupersetÚpolymorphic_mapÚ_decorate_polymorphic_switch)7r’   rÇ   ra   r˜   r_   r1  rØ   rÖ   r3  Ú_polymorphic_fromrv   Ú
getter_keyr<  Úpropsr6  rH  rG  Úpk_colsÚcÚpropr  ÚgetterÚadapted_colrÒ   r  r�  Úoption_entitiesÚselectin_load_viaÚ_load_supersÚ_endmost_mapperÚ_selectinload_entityÚ	callable_rq  rt  rf  rß   r®   r­   rg  rh  r  ri  rj  r#  rk  r`   rI  rl  rm  rn  rt   rQ  ro  rç   rp  s7    ``   ``                          @@@@@@@@@@@@@@@@@@@@@r<   Ú_instance_processorrž  ,  sX  ÿÿÿø€ ð* ×+Ñ+€NØ×)Ñ)€Mð ˜VÐ$€JØ�h‰h�}×/Ñ/°¸TÓB€Gà�ð × Ñ ˆØÐ&Ø×&Ñ&ó 'Ø*9ô'ó ˆEð  Ÿ8™8Ø×ÑÐ 1´:ó
Ðð ˆàØØØØØñ
Ðð Ð à×(Ñ(ˆGáØ7>Ö?°!˜7Ÿ?™?¨1Ó-Ð?�Ð?Ø!'×!5Ñ!5°gÓ!>Ñà!%Ðð "3ØØ"4ñ
ˆð
 ó @	"ˆDØÐ'Ò'à& tÑ,�ØÔ*Ñ*Ø% eÑ,×3Ñ3ØŸ™ 4×#?Ñ#?Ð@õð Ô1Ñ1ð & hÑ/×6Ñ6¸¿¹À%Ð7HÕIØÔ,Ñ,Ø% eÑ,×3Ñ3ØŸ™ 4×#<Ñ#<Ð=õð "�FÙð* '.§o¡o°cÑ&:˜Ø&Ð2Ø%+§^¡^°KÀÓ%G˜FÙ!Ø!'§¡°°UÓ!;˜ÙØ)¨'Ñ2×9Ñ9¸4¿8¹8ÀVÐ:LÕMð
 ×1Ñ1Ø#Ø(Ø Ø"Ø"Ø#Ø-öð —‘˜DÖ!ðA@	"ðD 	�‰�×)Ñ)¨:°wÔ?àÐ 3Ñ4Ðà5F×5LÑ5LÓ5N×O¡z s¨E�#”t˜E“{Ñ"ÓO€JØ˜‘ò 
ˆØ×!Ñ!Ø�\ 4¨°¸À*õ	
ð
ð
 !(× AÑ AÐð × Ñ ×-Ñ-×2Ò2ð 	×Ñ×*Ñ*¨TÒ1àð ð #Ÿ?™?×7Ñ7Ðà×1Ñ1ÒJ°V×5JÑ5JÐÜ�F×(Ñ(×1Ñ1×6Ñ6Ó7€HÜ�v×+Ñ+×4Ñ4×<Ñ<Ó=€KÜ˜'Ÿ/™/×2Ñ2×GÑGÓH€NÙØ&Ÿ™×7Ñ7×LÑLÐÜ×.Ñ.€NÜ×,Ñ,€MØ—‘×)Ñ)€JØ�M‰M€EØ×+Ñ+€Nà×)Ñ)€MÙØ×.Ñ.ˆØÐ%ÙØ!(§¡°Ñ!@�Ø &§¡¨~Ó >Ñà $ÐâÐ.Ñ:Ø˜Ÿ™Ð#ˆà�'×$Ñ$Ñ$¨×);Ñ);¸CÑ)@×)IÑ)Ið N
ò *
ð &×0Ñ0°Ñ5×@Ñ@ÀÑL‰Oà"ˆOØ"×8Ñ8ØØó
Ðñ
 Ð!2Ð:KÑ!Kð #Ð*Ð*Ð*à ×*Ò*Ø!�Ø"3�á#Ø'Ð/@Ñ@à ×'Ñ'¨Ô8Ø&5×&>Ñ&>�Oñ	 $Ø'Ð/@Ó@ð
 !2Ð2�à(4ò Ð$Ü×'Ñ'Ø˜YÐ(<ôð Ü1ØØØ(Ø%Ø#ó�	ô ×*Ñ*ØØØ(×/Ñ/Ø(ØØ(õðô* ×$Ñ$ W¨i¸ÓI€IáØ,×0Ñ0ÐØÐ'ð $*×#BÑ#BØó$Ñ ð  $Ðà$Ð%9Ñ:Ðà×ÒÜ&×1Ñ1Ñä&×3Ñ3Ð÷^÷ ^÷ ^ô ^ð@ ×ÒÑ&7Á÷		ô 1ØØØØØØØ%ØØó

ˆ	ð Ðùòs @ùó` Ps   Â>W-ÉW2c                ó   ‡‡‡	‡
‡‡— |j                   Š
|j                   }|j                  d u}t        ‰
j                  j                  «      dk(  Š|j
                  s|r‰
j                  ||«      \  ŠŠ	Šn‰
j                  \  ŠŠ	Šˆˆ	ˆ
ˆˆˆfd„}|S )Nr   c                ób  •— ‰s4|D ��cg c]$  \  }}|j                   j                  ‰«      r||f‘Œ& }}}|sy | j                  }|j                  r#‰j	                  |«      }‰j	                  |«      }	n‰}‰}	|f|j
                  z   |	fz   }
 ‰j                  |
Ž }| j                  j                  |_	        |xj                  d|j                  iz  c_	        | j                  r|j                  d¬«      }|r®|dt        j                   }|t        j                  d  }| j                  j                  |t!        |D ��cg c](  \  }}‰r|j"                  d   d   n|j"                  d   ‘Œ* c}}¬«      «      j%                  «       j'                  «       j)                  «        |rŒ­y y c c}}w c c}}w )Nræ   T)r#  r   r   )Úprimary_keys)rÇ   Ú+_would_selectin_load_only_from_given_mapperrÀ   r  Ú_prepend_pathÚ_with_optionsr  rv   rï   rí   r#  rŠ   r   Ú
_chunksizer±   r  r�   rÒ   r  r	  Úall)ra   r_   ÚstatesÚ	load_onlyÚeffective_entityÚsÚvÚ
orig_queryÚenable_opt_lclÚdisable_opt_lclr  Úq2ÚchunkrÔ   Ú
load_attrsÚdisable_optÚ
enable_optrÇ   r˜  r  Úzero_idxs                  €€€€€€r<   Údo_loadz&_load_subclass_via_in.<locals>.do_loadý  sœ  ø€ Ùð #÷á�A�qØ—8‘8×GÑGÈÔOð �A’ðˆFñ ñ Øà—]‘]ˆ
à�;Š;Ø'×5Ñ5°dÓ;ˆNØ)×7Ñ7¸Ó=‰Oà'ˆNØ)ˆOàÐ 
× 8Ñ 8Ñ8¸OÐ;MÑMð 	ð ˆQ�Y‰Y˜Ð ˆà%×3Ñ3×KÑKˆÔØ
×Ò °·±Ð=Ñ=Õà×$Ò$Ø×%Ñ%¸Ð%Ó=ˆBáØ˜1œ~×8Ñ8Ð9ˆEØœN×5Ñ5Ð7Ð8ˆFØ�O‰O×#Ñ#ØÜð 27÷"á-˜E :ñ ,4˜Ÿ	™	 !™ Qš¸¿¹À1¹ÑEó"ôó÷ ‰f‹h—w‘w“y§¡¤ô ùó;ùóF"s   ‰)F%Ä<-F+)rÇ   rÆ   rz   Úbase_mapperrò   r-  Ú_subclass_load_via_inÚ_subclass_load_via_in_mapper)ra   r_   ÚentityÚpolymorphic_fromr˜  Úpolymorphic_from_mapperÚnot_against_basemostrµ  r²  r³  rÇ   r  r´  s       `   @@@@@r<   rˆ  rˆ  é  s—   ý€ ð �]‰]€Fð
 /×5Ñ5ÐØ2×;Ñ;À4ÐGÐä�6×%Ñ%×1Ñ1Ó2°aÑ7€Hà×ÒÑ"6Ø%+×%AÑ%AØÐ$ó&
Ñ"ˆˆ:‘{ð &,×%HÑ%HÑ"ˆˆ:�{÷/'ñ /'ðb €Nr>   c	                ó$  — |r¬| j                   |_         |d   D ]  \  }	}
 |
|«      ||	<   Œ |r>|d   D ]5  \  }	}|j                  |	d «       |sŒ|j                  j                  |	«       Œ7 n+|d   D ]#  \  }	}|sŒ	|j                  j                  |	«       Œ% |d   D ]  \  }	} ||||«       Œ y ||j                  k7  r<||_        |d   D ]  \  }	}
|	|vsŒ |
|«      ||	<   Œ |d   D ]  \  }	} ||||«       Œ y |d   D ]  \  }	} ||||«       Œ y )NrB  rD  rA  rE  )rt   ÚpopÚexpired_attributesÚaddr  )ra   r[   rÔ   r^  r_  r  ra  r#  rk  rÒ   r–  Úset_callableÚ	populators                r<   rS  rS  1  sb  € ñ à—m‘mˆŒà% gÑ.ò 	%‰KˆC�Ù ›ˆE�#ŠJð	%áØ%/°Ñ%9ò 6Ñ!��\Ø—	‘	˜#˜tÔ$ÚØ×,Ñ,×0Ñ0°Õ5ñ6ð
 &0°Ñ%9ò 6Ñ!��\ÚØ×,Ñ,×0Ñ0°Õ5ð6ð )¨Ñ/ò 	)‰NˆC�Ù�e˜U CÕ(ñ	)ð 
�e—o‘oÒ	%ð $ˆŒð & gÑ.ò 	)‰KˆC�Ø˜%ÒÙ# C›[��c’
ð	)ð
 )¨Ñ4ò 	)‰NˆC�Ù�e˜U CÕ(ñ	)ð )¨Ñ4ò 	)‰NˆC�Ù�e˜U CÕ(ñ	)r>   c                óð  — |sK|r|d   D ]  \  }}	||v sŒ |	|«      ||<   Œ | j                   |   }
|d   D ]  \  }}||
v sŒ ||||«       Œ nŒ|}
|
| j                   |<   |d   D ]  \  }}	||
v sŒ |	|«      ||<   Œ |d   D ]:  \  }}||
v sŒ|j                  |d «       |sŒ |j                  j                  |«       Œ< |d   D ]  \  }}||
v sŒ ||||«       Œ |d   D ]  \  }}||vsŒ ||||«       Œ |
S )NrB  rE  rD  rA  rF  )rM   r¾  r¿  rÀ  )ra   r[   rÔ   r^  r_  r  r[  rk  rÒ   r–  re  rÂ  rÁ  s                r<   r\  r\  j  s_  € ñ Ùà)¨'Ñ2ò -‘��VØ˜(’?Ù!'¨£�E˜#’Jð-ð ×"Ñ" 5Ñ)ˆØ(¨Ñ4ò 	-‰NˆC�Ø�gŠ~Ù˜% ¨Õ,ñ	-ð ˆØ")ˆ×Ñ˜Ñà% gÑ.ò 	)‰KˆC�Ø�gŠ~Ù# C›[��c’
ð	)ð ",¨HÑ!5ò 	6ÑˆC�Ø�gŠ~Ø—	‘	˜#˜tÔ$ÚØ×,Ñ,×0Ñ0°Õ5ð		6ð
 )¨Ñ/ò 	-‰NˆC�Ø�gŠ~Ù˜% ¨Õ,ð	-ð % WÑ-ò )‰ˆˆYØ�hÒÙ�e˜U CÕ(ð)ð €Nr>   c           
     óâ   — | j                  ||| j                  «       ||«      k7  rIt        j                  dt	        |«      ›d| j                  ||| j                  «      ›d ||«      ›d�«      ‚y )Nz
Instance 'z' has version id 'z3' which does not match database-loaded version id 'z'.)Ú_get_state_attr_by_columnr�  rÏ   ÚStaleDataErrorr   )rÇ   rÔ   r^  r[   r–  s        r<   rN  rN  �  sv   € Ø×'Ñ'Øˆu�f×+Ñ+óá	�‹òô ×$Ò$ô ˜%Õ Ø×0Ñ0Ø˜5 &×"7Ñ"7õñ �s•ðó

ð 
	
ðr>   c	                óÜ   ‡ ‡‡‡‡‡‡‡‡‡‡— |�|Šn‰j                   Š‰€‰ S ‰r‰j                  ‰   Šˆˆˆˆˆˆfd„}	t        j                  |	«      Š‰j	                  ‰«      Šˆˆˆ ˆˆˆfd„}
|
S )Nc           	     ó¬   •— 	 ‰j                   |    }|‰u ry |j                  ‰«      syt        ‰|‰‰‰‰‰¬«      S # t        $ r t	        d| z  «      ‚w xY w)NF)r�  z*No such polymorphic_identity %r is defined)rŽ  rÈ   rž  ÚKeyErrorÚAssertionError)ÚdiscriminatorÚ
sub_mapperr1  ra   rÇ   r_   r’   r˜   s     €€€€€€r<   Úconfigure_subclass_mapperz?_decorate_polymorphic_switch.<locals>.configure_subclass_mapperµ  s|   ø€ ð	Ø×/Ñ/°Ñ>ˆJð ˜VÑ#ØØ—^‘^ FÔ+Øä&ØØØØØØØ"(ôð øô ò 	Ü Ø<¸}ÑLóð ð	ús	   ƒ; »Ac           
     ó  •—  ‰| «      }|�T‰|   }|r || «      S |du r9 ‰| «      }|r.t        j                  d|›d‰	›d‰j                  |   ›d‰›�«      ‚y  ‰| «      S  ‰| «      }|rt        j                  d|›d‰	›d�«      ‚y )NFzRow with identity key zG can't be loaded into an object; the polymorphic discriminator column 'z' refers to z-, which is not a sub-mapper of the requested z	' is NULL)r9   r:   rŽ  )
r[   rË  rq  rb  rt  r–  Úinstance_fnrÇ   Úpolymorphic_instancesr/  s
       €€€€€€r<   Úpolymorphic_instancez:_decorate_polymorphic_switch.<locals>.polymorphic_instanceÐ  s°   ø€ Ù˜s›ˆØÐ$Ø-¨mÑ<ˆIÙÙ  “~Ð%Ø˜eÑ#Ù*¨3Ó/�áÜ ×4Ò4ò (Ú*Ø"×2Ñ2°=ÓAÙ"ð	óð ð  á" 3Ó'Ð'á& sÓ+ˆKáÜ×0Ò0ò *ª>ð;óð ð r>   )r/  r0  r   ÚPopulateDictr{  )rÏ  ra   r’   rÇ   r˜   r_   r3  r1  rt  rÍ  rÑ  r–  rÐ  r/  s   `````` ``  @@@r<   r�  r�     sx   ÿú€ ð !Ð,Ø2‰à×.Ñ.ˆØÐØÐáØ Ÿ™¨Ñ8ˆ÷ñ ô. !×-Ñ-Ð.GÓHÐà�^‰^˜NÓ+€F÷$ñ $ðL  Ðr>   c                  óV   — e Zd ZdZdZd„ Zd„ Zd„ Zed„ «       Z	ed„ «       Z
ed„ «       Zy	)
r†  z4Track loaders and states for "post load" operations.)Úloadersr§  Ú	load_keysc                óR   — i | _         t        j                  «       | _        d | _        y ri   )rÔ  r   ÚOrderedDictr§  rÕ  )Úselfs    r<   Ú__init__zPostLoad.__init__þ  s    € ØˆŒÜ×&Ñ&Ó(ˆŒØˆ�r>   c                ó"   — || j                   |<   y ri   )r§  )rØ  rÔ   Ú	overwrites      r<   rZ  zPostLoad.add_state  s   € ð
 'ˆ�‰�EÒr>   c                óÆ  — | j                   sy t        j                  j                  |«      }| j                  j                  «       D ]x  \  }}}}}}| j                   j                  «       D �	�
cg c].  \  }	}
|	j                  j                  j                  |«      r|	|
f‘Œ0 }}	}
|sŒ` ||||| j                  g|¢­i |¤Ž Œz | j                   j                  «        y c c}
}	w ri   )r§  r   ÚPathRegistryÚcoercerÔ  ÚvaluesrS   rT  rÇ   rÈ   rÕ  rT   )rØ  ra   r_   Úeffective_contextÚtokenÚlimit_to_mapperrJ  Úargr4  rÔ   rÛ  r§  s               r<   rU   zPostLoad.invoke
  sã   € Ø�{Š{ØÜ×)Ñ)×0Ñ0°Ó6ˆð �\‰\× Ñ Ó"ò	ñ 
ØØØØØØð )-¯©×(9Ñ(9Ó(;÷á$�E˜9Ø—=‘=×'Ñ'×+Ñ+¨OÔ<ð ˜	Ò"ðˆFñ ò
 ÙØ% t¨V°T·^±^ðØFIòØMOóð	ð" 	�‰×ÑÕùós   Á.3Cc                óf   — |j                   j                  |j                  «      }|�	|r||_        |S ri   )rR   r‹   r_   rÕ  )Úclsra   r_   rØ   Úpls        r<   rŠ  zPostLoad.for_context!  s/   € à×$Ñ$×(Ñ(¨¯©Ó3ˆØˆ>™oØ*ˆBŒLØˆ	r>   c                ó€   — |j                   |j                  v xr% ||j                  |j                      j                  v S ri   )r_   rR   rÔ  )rØ  ra   r_   rÒ   s       r<   r‡  zPostLoad.path_exists(  s>   € ð �I‰I˜×0Ñ0Ð0ò BØ�w×.Ñ.¨t¯y©yÑ9×AÑAÐAð	
r>   c                óØ   — |j                   |j                  v r|j                  |j                      }n#t        «       x}|j                  |j                   <   ||||||f|j                  |<   y ri   )r_   rR   r†  rÔ  )	rå  ra   r_   râ  rá  Úloader_callablerã  r4  ræ  s	            r<   r‰  zPostLoad.callable_for_path/  sg   € ð �9‰9˜×/Ñ/Ñ/Ø×(Ñ(¨¯©Ñ3‰Bä6>³jÐ@ˆB�×(Ñ(¨¯©Ñ3àØØØØØð
ˆ�
‰
�5Òr>   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__rÙ  rZ  rU   ÚclassmethodrŠ  r‡  r‰  rs  r>   r<   r†  r†  ù  sU   „ Ù>à0€Iòò
'òð. ñó ðð ñ
ó ð
ð ñ
ó ñ
r>   r†  c                ó  — |j                   }|s!t        j                  dt        |«      z  «      ‚t	        |t
        j                  z  «      }|r)|j                  | j                  j                  «       «      }| j                  r=| j                  s1| j                  ||«      }|�t        | |«      }t        ||d|||¬«      S t	        |j                  «      }|r|j                  }	n}| j                   D �
cg c]  }
| j"                  |
   j                  ‘Œ }}
|j$                  j                  |«      r!t'        j(                  dt        |«      z  «      ‚| j+                  |«      }	t-        j.                  |	«      r| j0                  rt-        j2                  |	«      r t5        j6                  dt        |«      «       yt        |t9        | «      j;                  t<        «      |	|||¬«      }|r|€t        j>                  |«      ‚yyc c}
w )z4initiate a column-based attribute refresh operation.zQInstance %s is not bound to a Session; attribute refresh operation cannot proceedN)rØ   rÖ   rÙ   z_Instance %s cannot be refreshed - it's not  persistent and does not contain a full primary key.zwInstance %s to be refreshed doesn't contain a full primary key - can't be refreshed (and shouldn't be expired, either).)rÖ   rØ   rÙ   ) r±   rÏ   ÚDetachedInstanceErrorr   r  r   ÚNO_AUTOFLUSHrw  rü   r¹   rÆ   ÚconcreteÚ_optimized_get_statementr   râ   rÒ   rò   Ú_columntopropertyr¿  r9   r:   r‹  r   ÚissubsetrŒ  r�  r   Úwarn_limitedr#   Úset_label_styler%   rÐ   )rÇ   rÔ   Úattribute_namesrÓ   r±   rÙ   r²   ÚstmtÚhas_keyÚidentity_keyr  Úpk_attrsr˜   s                r<   Úload_scalar_attributesrþ  A  sû  € ð �m‰m€GÙÜ×+Ñ+ð9Ü<EÀeÓ<LñNó
ð 	
ô
 ˜¤*×"9Ñ"9Ñ9Ó:€Lñ Ø)×6Ñ6°v·|±|×7HÑ7HÓ7JÓKˆà‡‚˜vŸšð ×3Ñ3°E¸?ÓKˆ	ØÐ ô ! ¨Ó3ˆDä ØØØØ /Ø#Ø)ôð ô �5—9‘9‹o€GáØ—y‘y‰ð :@×9KÑ9Kö
Ø25ˆF×$Ñ$ SÑ)×-Ó-ð
ˆð 
ð ×#Ñ#×0Ñ0°Ô:Ü×,Ñ,ð.ä09¸%Ó0@ñAóð ð
 ×6Ñ6°uÓ=ˆô 	×Ñ˜<Ô(°×1IÒ1IÜ	×	Ñ	˜lÔ	+Ü×Ñð2ô �eÓô		
ð 	äØÜˆv‹×&Ñ&Ô'EÓFØØØ'Ø!ô€Fñ �6�>Ü×(Ñ(¨Ó/Ð/ð "€wùòC
s   Ã2 G?)rb   zCursorResult[Any]ra   r   ÚreturnzResult[Any])T)rÀ   z
Query[Any]rÁ   z>Union[FrozenResult, Iterable[Sequence[Any]], Iterable[object]]r�   r  rÿ  z"Union[FrozenResult, Iterable[Any]])
r±   r-   rÇ   z
Mapper[_O]rÒ   z_IdentityKeyType[_O]rÓ   r   rÿ  z)Union[LoaderCallableStatus, Optional[_O]])r±   r-   r²   úUnion[Select, FromStatement]rÒ   zOptional[_IdentityKeyType]rx   úOptional[Sequence[ORMOption]]rÖ   úOptional[InstanceState[Any]]r×   úOptional[ForUpdateArg]rØ   úOptional[Iterable[str]]rÙ   r  rÚ   úMapping[str, Any]rŠ   r0   rÛ   r  rÜ   r  )r±   r-   r²   r   r  zOptional[Tuple[Any, ...]]rx   r  rÖ   r  r×   r  rØ   r  rß   zOptional[Any]rÙ   r  rÚ   r  rŠ   r0   rÛ   r  rÜ   r  )NNNNNN)NNN)NNNN)^rí  Ú
__future__r   Útypingr   r   r   r   r   r	   r
   r   r   r   r   Ú r   r   rÏ   r   Úbaser   r   r   r   ra   r   r   r   Ú
strategiesr   r   r   r   r9   Úenginer   Úengine.resultr    r!   r"   Úsqlr#   ró   Úsql.selectabler$   r%   r&   r'   Ú_typingr(   r)   Ú
interfacesr*   rÇ   r+   rÀ   r,   r±   r-   rÔ   r.   Úengine.cursorr/   Úengine.interfacesr0   r1   r2   r3   Úobjectr5   Úcounterrs   ÚstrÚ_PopulatorDictr™   Úpreload_moduler¼   Úbecame_legacy_20rÃ   rÕ   râ   rà   r  r8  r:  rž  rˆ  rS  r\  rN  r�  r†  rþ  rs  r>   r<   ú<module>r     s‚  ðñõ #å Ý Ý Ý Ý Ý Ý Ý Ý  Ý Ý å Ý Ý Ý "Ý "Ý 'Ý Ý "Ý $Ý !Ý &Ý Ý Ý Ý Ý !Ý 1Ý (Ý 0Ý Ý "Ý )Ý ;Ý (Ý áÝ)Ý*Ý%ÝÝÝ Ý$Ý,Ý3Ý&ÝáˆT˜Ô€ÙˆT˜Ô €ØˆT�\‰\‹^€
ð �c˜4  c¨3 h¡Ñ0Ð0Ñ1€óZðz €×ÑÐ-Ó.ò8&ó /ð8&ðv €×ÑØðFôð
 €×ÑÐ-Ó.ð ðQ&ØðQ&àLðQ&ð ðQ&ð (ò	Q&ó /óðQ&ðh#Øð#àð#ð 
ð#ð ð	#ð
 /ó#ðV 37Ø26Ø.2Ø/3ØØ(,¯©Ø)-¯©Ø!Ø!ñ$Øð$à+ð$ð 
$ð$ð
 0ð$ð 0ð$ð ,ð$ð -ð$ð ð$ð &ð$ð 'ð$ð ð$ð ó$ðX 37Ø26Ø.2Ø/3Ø$(ØØ(,¯©Ø)-¯©Ø!Ø!ñuØðuà+ðuð 4ðuð
 0ðuð 0ðuð ,ðuð -ðuð "ðuð ðuð &ðuð 'ðuð ðuð óuðv ØØØØØó!ðR ØØ"ó4%òn	ð& ØØ"ØózòzEòP3)òr"òJ
ò"V ÷rE
ñ E
óPU0r>   