Ë
    r™ãjÈé  ã                  óò  — 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&l0m1Z1 dd'l0m2Z2 erBdd(l3m4Z4 dd)lm5Z5 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d0lBmCZC dd1l%mDZD dd2l)mEZE  ed3e¬4«      ZF ed5eG¬4«      ZH ej’                  «       ZJeeKeeeKef      f   ZL	 	 	 	 	 	 dPd6„ZM ejœ                  d7«      dQd8„«       ZO ej                   d9d:¬;«       ejœ                  d7«      	 dQ	 	 	 	 	 	 	 dRd<„«       «       ZQ	 	 	 	 	 	 	 	 	 	 dSd=„ZRd>d>d>d>d?ej^                  ej^                  d?d?d@œ		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dTdA„ZSd>d>d>d>d>d?ej^                  ej^                  d?d?dBœ
	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dUdC„ZT	 	 	 	 	 	 dVdD„ZU	 	 	 dWdE„ZVdF„ ZW	 	 	 	 dXdG„ZXdH„ ZYdI„ ZZdJ„ Z[dK„ Z\dL„ Z] G dM„ dN«      Z^dO„ Z_y>)Yzß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)Ú_ORMCompileState)ÚFromStatement)ÚQueryContext)Ú_SelectInLoader)Ú	_none_set)Ú	state_stré   )Úutil)Úresult_tuple)ÚChunkedIteratorResult)ÚFrozenResult)ÚSimpleResultMetaData)Úselect)ÚForUpdateArg)ÚSelectState)Ú
EMPTY_DICT)ÚTupleAny)ÚUnpack)Ú_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Šˆˆˆfd	„}t/        |¬
«      }ˆˆˆ ˆˆˆfd„}	‰j0                  j3                  dd«      rt         |	d«      «      Šˆfd„}	t5        ||	‰‰ ‰ j6                  j8                  ‰¬«      }
|
j:                  j=                  t?        |‰¬«      «      |
_        ‰j@                  rd„ }tC        «       |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)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.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)ÚhashÚsa_excÚInvalidRequestError)ÚobjÚdatatyper:   s    €€úa/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/sqlalchemy/orm/loading.pyÚ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)r=   Úid)r@   Ú_use_ids    €rB   rC   z,instances.<locals>._not_hashable.<locals>.go¤   s4   ø€ ñ ðÜ# C›yÐ(ô ˜#“w�øðÙúð
 #�Gøs   …
 ›)rE   )rA   r9   r:   rC   rF   s   ` ` @rB   Ú_not_hashablez instances.<locals>._not_hashable‹   s+   ú€ Ùõð  ˆIÙÜˆIàˆGôð  ˆIó    c                ó‚  •— | j                   rt        j                  d«      ‚dŠ‰j                  j                  D �cg c]w  }|j
                  sU|j                  s|j                  r= ‰|j                  j                  ‰j                  j                  |j                  ¬«      n|j
                  rt        nd ‘Œy c}S c c}w )Nú@Can't use the ORM yield_per feature in conjunction with unique()Tr8   )Ú
_yield_perr>   r?   Úcompile_stateÚ	_entitiesÚuse_id_for_hashÚ_non_hashable_valueÚ_null_column_typeÚcolumnÚtypeÚload_optionsÚ_legacy_uniquingrE   )ÚresultÚentrG   Ú_uniquing_is_activeÚcontexts     €€€rB   Ú_create_unique_filtersz)instances.<locals>._create_unique_filters¸   s¶   ø€ ð ×ÒÜ×,Ñ,ð/óð ð
 #Ðð ×,Ñ,×6Ñ6ö
ð ð ×+Ò+Ø×0Ò0°C×4IÒ4Iñ Ø—J‘J—O‘OØ"×/Ñ/×@Ñ@Ø!×3Ñ3õð ×.Ò.•R°Dñ	9ò
ð 	
ùò 
s   ½A<B<)rY   c              3  ó  •K  — 	 | }i ‰_         |r+‰
rt        j                  d«      ‚‰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 �Œjc c}w c c}w c c}}w ­w)NrJ   r   )Úpartialsr>   r?   Ú	fetchmanyÚ_raw_all_tuplesÚtupleÚlistÚpost_load_pathsÚitemsÚclearÚinvokeÚupdate)ÚsizeÚ	yield_perÚfetchÚprocÚrowÚrowsÚtop_level_post_loadsÚ
post_loadsÚpathÚ	post_loadrW   rX   ÚcursorÚis_top_levelÚprocessÚsingle_entitys             €€€€€€rB   Úchunkszinstances.<locals>.chunksÖ   s‡  øè ø€ ØØˆIà!ˆGÔáÙ&Ü ×4Ñ4ð7óð ð ×(Ñ(¨Ó3�áØà×.Ñ.Ó0�áØ˜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áØñi ùò( 4ùò :ùóùs>   ƒAE?ÁE/Á%E?Á-E9Á;E4Â
	E9ÂBE?Ä/AE?Å4E9Å9E?Úprebuffer_rowsc                ó   •— t        ‰«      S ©N)Úiter)re   Ú_prebuffereds    €rB   rs   zinstances.<locals>.chunks  s   ø€ Ü˜Ó%Ð%rH   )Úsource_supports_scalarsÚrawÚdynamic_yield_perrX   )Ú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 collections)r>   r?   )r@   s    rB   Úrequire_uniquez!instances.<locals>.require_unique)  s   € Ü×,Ñ,ð&óð rH   )#Ú
_new_runidÚrunidÚtop_level_contextr`   rL   Ú_has_mapper_entitiesrS   Ú_only_return_tuplesÚlenrM   Úsupports_single_entityr_   ÚzipÚrow_processorrf   Úloaders_require_bufferingÚloaders_require_uniquingr>   r?   Ú	Exceptionr   Úsafe_reraiseÚcloser"   Úexecution_optionsÚgetr    rX   Ú_is_server_sideÚ_attributesÚunionÚdictÚrequires_uniquingÚsetÚ_unique_filter_state)ro   rX   rL   r|   Úquery_entityÚlabelsÚextrarY   Úrow_metadatars   rU   r   rG   rx   rW   rp   rq   rr   s   ``          @@@@@@rB   Ú	instancesr›   P   sW  ÿ€ ô" “L€G„Mà× Ò ØˆØ")×";Ñ";×"KÑ"KˆÕàˆØ"$ˆÔà×)Ñ)€MØ×1Ñ1€Hà× Ñ ×4Ñ4Ð4ò 	>Ü�×'Ñ'Ó(¨AÑ-ò	>à×#Ñ# AÑ&×=Ñ=ð ðÜ!%Üð )0×(=Ñ(=×(GÑ(Göà$ð !×.Ñ.¨w¸Õ?òðó"
Ñˆ�˜ð ×ÒØ×-Ò-Ø×/Ò/ä×,Ñ,ð=óð ð +0¸5ô )ðV  Ðö
ô4 (Ø�Ð.Dô€L÷5ñ 5ðn × Ñ ×$Ñ$Ð%5°uÔ=ô ™F 4›LÓ)ˆô	&ô #ØØØ -ØØ Ÿ.™.×8Ñ8Øô€Fð  ×+Ñ+×1Ñ1Ü�h°Ô?ó€FÔð
 × Ò ò	ô (+£u¨nÐ&=ˆÔ#à×ÒØ×Ñ˜×*Ñ*Ô+à€MùòAøô$ ò Ü×ÑÓ ñ 	Ø�L‰LŒN÷	÷ 	ñ 	ýðús=   Â0"H( ÃH#Ã+AH( È#H( È(I/ÉIÉ	I/ÉI(	É$I/É.I/zsqlalchemy.orm.contextc           
     ó6  — t         j                  j                  }|r| j                  «        |j                  j                  |d¬«      }| j                  5  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)                  |«      cddd«       S c c}}w c c}	w c c}	w # 1 sw Y   y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©r9   N©ÚloadÚ
_recursiveÚ_resolve_conflict_map)r   Ú	preloadedÚorm_contextÚ
_autoflushÚ_ORMSelectCompileStateÚ_create_entities_collectionÚno_autoflushÚ	enumeraterM   Ú
isinstanceÚ_MapperEntityÚ_label_namer   Ú_extra_entitiesÚ_rewrite_rowsÚ_merger   Úinstance_stateÚinstance_dictÚappendÚwith_new_rows)ÚsessionÚ	statementÚfrozen_resultrŸ   ÚquerycontextÚctxÚiÚeÚmapped_entitiesrV   ÚkeysÚkeyed_tuplerU   Únewrows                 rB   Úmerge_frozen_resultr¾   8  s”  € ô" —>‘>×-Ñ-€Láà×ÑÔà
×
-Ñ
-×
IÑ
IØ˜%ð Jó €Cð 
×	Ñ	ñ 3ô " #§-¡-Ó0÷
á��1Ü˜!˜\×7Ñ7Ô8ò ð
ˆñ 
ð
 ,/¯=©=Ö9 C�—“Ð9ˆÐ9ä"Ø°#·-±-Ö@¨3�3×&Ó&Ò@ó
ˆð ˆØ#×1Ñ1Ó3ò 	/ˆFØ$ò �Ø˜!‘9Ñ(Ø '§¡Ü"×1Ñ1°&¸±)Ó<Ü"×0Ñ0°¸±Ó;Ø!Ø#%Ø.0ð !/ó !�F˜1’Iðð �M‰M™+ fÓ-Õ.ð	/ð ×*Ñ*¨6Ó2÷53ñ 3ùó
ùò
 :ùò A÷3ð 3ús=   ÁFÁ/"E?ÂFÂ"FÂ5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!   rw   Údatar¥   r¦   Ú	autoflushr…   rM   rª   r®   r   r¯   r°   r_   r¨   r«   r   r¬   r±   r²   )ÚqueryÚiteratorrŸ   r¶   r³   rµ   r·   rÂ   rr   ÚinstancerU   r¸   r¹   rº   rV   r»   r¼   ri   r½   s                      rB   Úmerge_resultrÆ   p  s~  € ô$ —>‘>×-Ñ-€Là�m‰m€GÙà×ÑÔô �(œLÔ)Ø ˆÜ˜×*Ñ*Ó+‰àˆà
×
-Ñ
-×
IÑ
IØ�dð Jó €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         rB   Ú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)	rS   Úrefresh_stateÚwith_for_updateÚonly_load_propsr§   Ú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   ©
rS   rÙ   rÚ   rÛ   Úidentity_tokenr§   rÜ   rŽ   rÝ   rÞ   )Ú_load_on_pk_identity)r³   r´   rÕ   rS   rÙ   rÚ   rÛ   r§   rÜ   rŽ   rÝ   rÞ   Úidentrá   s                 rB   Ú_load_on_identrä   ð  sY   € ð  €Ø�A‘ˆØ˜Q™‰à!%Ð%ˆ�äØØØØ!Ø#Ø'Ø'Ø%Ø!Ø%Ø+Ø'Ø'ôð rH   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«       |f|_        t        ||j                  «      D ��ci c]  \  }}||   j                  |“Œ }}}nd}|�
d}||_        n"|j(                  �d}|j(                  |_        nd}|rÛ|rÙ|st+        j,                  d«      ‚|j.                  j0                  }|j3                  |«      D �ch c]+  }|j4                  |   j6                  j9                  «       r|’Œ- }}|r&t+        j:                  d|› d|j.                  › d	�«      ‚|j.                  j<                  }|D ]$  }||   j>                  sŒ|jA                  |«      } n |r@|jB                  r4|d
|jD                  jF                  iz  } |jH                  |jB                  Ž }tK        |||||||¬«      \  }}||_        d|_&        |r|ddiz  }t"        jN                  jQ                  |
t#        jR                  |¬«      «      }
| 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.TFz9refresh_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_nullr…   r   ÚwarnÚ_where_criteriaÚ_for_update_argr>   ÚArgumentErrorrÊ   Ú_primary_key_propkeysÚ
differenceÚattrsÚhistoryÚhas_changesr?   Ú_propsÚ_is_relationshipr’   rS   Ú	load_pathÚparentÚoptionsÚ_set_get_optionsÚ	_order_byr&   Ú
merge_withÚimmutabledictÚexecuteÚuniqueÚscalarsÚonerÒ   ÚNoResultFound)!r³   r´   Úprimary_key_identityrS   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_optionsrU   s!                                    rB   râ   râ     s°  € ð$ €EØ�‰‹€Aà×#Ò#Ð#Ð#àÐÜ#×8Ñ8ˆð 	×"Ñ"Ü×5Ñ5ñ	6ô +×BÑB‰à#×4Ñ4ˆàÐ'Ø×'Ñ'Ð(8Ñ9ˆà#)×#5Ñ#5Ñ ˆ�[ð Ð'Ñ'ô #& f×&8Ñ&8Ð:NÓ"O÷á�C˜Ø�=ð ˜CÑ ×$Ó$ðˆEñ ô #×:Ñ:¸;ÈÓNˆKä�5‹zœSÐ!5Ó6Ò6Ü—	‘	ðôð )˜NˆÔô (+Ø$ 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ØÜ×Ñ°Ô=óÐð
 	�‰ØØØ/Ø)ð	 	ó 	
÷ 
‰‹ß	‰‹ð ðØ�z‰z‹|ÐùóQùó"
ùò2
øô~ × Ñ ò Ùðús$   Â)L9Ä*L?Æ<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  rS   s
             rB   r  r  Î  s—   € ð €OØ€LÙØ)6ˆÐ%Ñ&ÙØ->ˆÐ)Ñ*ÙØ)6ˆÐ%Ñ&Ø04ˆÐ,Ñ-ÙÜ.7¸Ó.HˆÐ*Ñ+ÙØ*8ˆÐ&Ñ'áØ+:ˆÐ'Ñ(ÙØ�LÑ ˆÙØ�Ñ&ˆà˜Ð Ð rH   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_propertiesr•   r   r…   Úis_aliased_classrÕ   ÚsetupÚpolymorphic_onÚcolumnsr±   )rL   rÊ   r—   rm   Úadapterr(  Úwith_polymorphicrÛ   Úpolymorphic_discriminatorÚkwÚpoly_propertiesÚquick_populatorsr*  r  Úpds                  rB   Ú_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ð 	.rH   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    rB   Ú_warn_for_runid_changedr:  '  s   € Ü‡I‚Iô !*¨%Õ 0ð	3õrH   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rv   )rÿ   )Ú.0ÚkrÊ   s     €rB   ú	<genexpr>z&_instance_processor.<locals>.<genexpr>]  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  )r@   r�   r�   Ú_validate_version_idÚclass_managerÚnew_instancerÕ   rá   Ú
session_idÚ_add_unpresentrS   r  Ú_populate_fullÚmanagerÚdispatchrŸ   r:  r³   ÚrefreshÚmodifiedÚ_commitÚ_commit_allÚ	add_stateÚunloadedr[   Ú_populate_partialÚinvoke_all_eagers)%ri   r×   rÅ   Údict_ÚisnewÚcurrentloadÚloaded_instanceÚidentitykeyÚeffective_populate_existingÚexisting_runidr[  Úto_loadrX   Úidentity_classrá   r°   r¯   Úis_not_primary_keyÚload_evtr  Úloaded_as_persistentrÊ   rÛ   Úpersistent_evtr$  Ú
populatorsrn   rI  Úpropagated_loader_optionsÚrefresh_evtÚrefresh_identity_keyrÙ   r�   rQ  Úsession_identity_maprè   Úversion_id_getters%               €€€€€€€€€€€€€€€€€€€€€€€€€rB   Ú	_instancez&_instance_processor.<locals>._instance3  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àˆrH   c                ó6   •— ‰ ‰| «      ‰f} ‰|d   «      s|S y )Nr   © )ri   rb  rf  rá   rg  rI  s     €€€€rB   Úensure_no_pkz)_instance_processor.<locals>.ensure_no_pkÖ  s/   ø€ àÙ" 3Ó'ØðˆKñ
 & k°!¡nÔ5Ø"Ð"àrH   );Ú_identity_classrL   r�   r   Ú	_prop_setÚintersectionr&   ró   r0  Ú_tuple_getterr   r±   rÕ   Ú_deferred_column_loaderr   r   Ú_raise_column_loaderÚ_getterÚcreate_row_processorr•   ra   r_   rl  Úcurrent_pathrm   r³   rÈ   r$  Úalways_refreshÚboolrO  rU  rŸ   rV  ri  r¯   r°   Úhash_keyr�   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Ê   rX   rU   rm   r1  rÛ   rÙ   r3  Ú_polymorphic_fromrL   Ú
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  rn   rI  rl  rm  rn  r�   rQ  ro  rè   rp  s7    ``   ``                          @@@@@@@@@@@@@@@@@@@@@rB   Ú_instance_processorrž  3  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ØØØ(Ø%Ø#ó�	ô ×+Ñ+ØØØ(×/Ñ/Ø(ØØ(õðô* ×%Ñ% g¨y¸/ÓJ€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  rL   rð   rî   r$  rŽ   r   Ú
_chunksizer³   r  r“   rÕ   r	  r
  Úall)rX   rm   Ú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                  €€€€€€rB   Ú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œ×9Ñ9Ð:ˆEØœO×6Ñ6Ð8Ð9ˆFØ�O‰O×#Ñ#ØÜð 27÷"á-˜E :ñ ,4˜Ÿ	™	 !™ Qš¸¿¹À1¹ÑEó"ôó÷ ‰f‹h—w‘w“y§¡¤ô ùó;ùóF"s   ‰)F%Ä<-F+)rÊ   rÉ   r…   Úbase_mapperró   r-  Ú_subclass_load_via_inÚ_subclass_load_via_in_mapper)rX   rm   ÚentityÚpolymorphic_fromr˜  Úpolymorphic_from_mapperÚnot_against_basemostrµ  r²  r³  rÊ   r  r´  s       `   @@@@@rB   rˆ  rˆ  ð  s—   ý€ ð �]‰]€Fð
 /×5Ñ5ÐØ2×;Ñ;À4ÐGÐä�6×%Ñ%×1Ñ1Ó2°aÑ7€Hà×ÒÑ"6Ø%+×%AÑ%AØÐ$ó&
Ñ"ˆˆ:‘{ð &,×%HÑ%HÑ"ˆˆ:�{÷/'ñ /'ðb €NrH   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  rkt        |«      t        |j                  «      k  r| j                  s|s||_        |d   D ]  \  }	}
|	|vsŒ |
|«      ||	<   Œ |d   D ]  \  }	} ||||«       Œ y |d   D ]  \  }	} ||||«       Œ y )NrB  rD  rA  rE  )r�   ÚpopÚexpired_attributesÚaddr  r…   rl  )rX   ri   r×   r^  r_  r  ra  r$  rk  rÕ   r–  Úset_callableÚ	populators                rB   rS  rS  8  sƒ  € ñ à—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Ò	%ô& ˆy‹>œC §¡Ó0Ò0Ø×-Ò-Ñ5Fà'ˆEŒOð & gÑ.ò 	)‰KˆC�Ø˜%ÒÙ# C›[��c’
ð	)ð
 )¨Ñ4ò 	)‰NˆC�Ù�e˜U CÕ(ñ	)ð )¨Ñ4ò 	)‰NˆC�Ù�e˜U CÕ(ñ	)rH   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  )r[   r¾  r¿  rÀ  )rX   ri   r×   r^  r_  r  r[  rk  rÕ   r–  re  rÂ  rÁ  s                rB   r\  r\  „  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Õ(ð)ð €NrH   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^  ri   r–  s        rB   rN  rN  ©  sv   € Ø×'Ñ'Øˆu�f×+Ñ+óá	�‹òô ×$Ò$ô ˜%Õ Ø×0Ñ0Ø˜5 &×"7Ñ"7õñ �s•ðó

ð 
	
ðrH   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  rX   rÊ   rm   r—   rU   s     €€€€€€rB   Ú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)r>   r?   rŽ  )
ri   rË  rq  rb  rt  r–  Úinstance_fnrÊ   Úpolymorphic_instancesr/  s
       €€€€€€rB   Úpolymorphic_instancez:_decorate_polymorphic_switch.<locals>.polymorphic_instanceê  s°   ø€ Ù˜s›ˆØÐ$Ø-¨mÑ<ˆIÙÙ  “~Ð%Ø˜eÑ#Ù*¨3Ó/�áÜ ×4Ò4ò (Ú*Ø"×2Ñ2°=ÓAÙ"ð	óð ð  á" 3Ó'Ð'á& sÓ+ˆKáÜ×0Ò0ò *ª>ð;óð ð rH   )r/  r0  r   ÚPopulateDictr{  )rÏ  rX   r—   rÊ   rU   rm   r3  r1  rt  rÍ  rÑ  r–  rÐ  r/  s   `````` ``  @@@rB   r�  r�  º  sx   ÿú€ ð !Ð,Ø2‰à×.Ñ.ˆØÐØÐáØ Ÿ™¨Ñ8ˆ÷ñ ô. !×-Ñ-Ð.GÓHÐà�^‰^˜NÓ+€F÷$ñ $ðL  ÐrH   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 rv   )rÔ  r   ÚOrderedDictr§  rÕ  )Úselfs    rB   Ú__init__z_PostLoad.__init__  s    € ØˆŒÜ×&Ñ&Ó(ˆŒØˆ�rH   c                ó"   — || j                   |<   y rv   )r§  )rØ  r×   Ú	overwrites      rB   rZ  z_PostLoad.add_state  s   € ð
 'ˆ�‰�EÒrH   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 rv   )r§  r   ÚPathRegistryÚcoercerÔ  Úvaluesra   rT  rÊ   rË   rÕ  rb   )rØ  rX   rm   Úeffective_contextÚtokenÚlimit_to_mapperrJ  Úargr4  r×   rÛ  r§  s               rB   rc   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 rv   )r`   r�   rm   rÕ  )ÚclsrX   rm   rÛ   Úpls        rB   rŠ  z_PostLoad.for_context;  s/   € à×$Ñ$×(Ñ(¨¯©Ó3ˆØˆ>™oØ*ˆBŒLØˆ	rH   c                ó€   — |j                   |j                  v xr% ||j                  |j                      j                  v S rv   )rm   r`   rÔ  )rØ  rX   rm   rÕ   s       rB   r‡  z_PostLoad.path_existsB  s>   € ð �I‰I˜×0Ñ0Ð0ò BØ�w×.Ñ.¨t¯y©yÑ9×AÑAÐAð	
rH   c                óØ   — |j                   |j                  v r|j                  |j                      }n#t        «       x}|j                  |j                   <   ||||||f|j                  |<   y rv   )rm   r`   r†  rÔ  )	rå  rX   rm   râ  rá  Úloader_callablerã  r4  ræ  s	            rB   r‰  z_PostLoad.callable_for_pathI  sg   € ð �9‰9˜×/Ñ/Ñ/Ø×(Ñ(¨¯©Ñ3‰Bä6?³kÐAˆB�×(Ñ(¨¯©Ñ3àØØØØØð
ˆ�
‰
�5ÒrH   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__rÙ  rZ  rc   ÚclassmethodrŠ  r‡  r‰  rs  rH   rB   r†  r†    sU   „ Ù>à0€Iòò
'òð. ñó ðð ñ
ó ð
ð ñ
ó ñ
rH   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        | «      |	|||¬«      }|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¿  r>   r?   r‹  r   ÚissubsetrŒ  r�  r   Úwarn_limitedr#   rÓ   )rÊ   r×   Úattribute_namesrÖ   r³   r§   r´   ÚstmtÚhas_keyÚidentity_keyr  Úpk_attrsrU   s                rB   Ú_load_scalar_attributesrý  [  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‹ØØØ'Ø!ô€Fñ �6�>Ü×(Ñ(¨Ó/Ð/ð "€wùòC
s   Ã2 G,)ro   zCursorResult[Unpack[TupleAny]]rX   r   ÚreturnzResult[Unpack[TupleAny]])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]rS   úOptional[Sequence[ORMOption]]rÙ   úOptional[InstanceState[Any]]rÚ   úOptional[ForUpdateArg]rÛ   úOptional[Iterable[str]]r§   r  rÜ   úMapping[str, Any]rŽ   r1   rÝ   r  rÞ   r  )r³   r.   r´   rÿ  r  zOptional[Tuple[Any, ...]]rS   r   rÙ   r  rÚ   r  rÛ   r  rá   zOptional[Any]r§   r  rÜ   r  rŽ   r1   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   rX   r   r   r   Ú
strategiesr   r   r   r   r>   Úenginer   Úengine.resultr    r!   r"   Úsqlr#   rô   Úsql.selectabler$   r%   r&   Úutil.typingr'   r(   Ú_typingr)   r*   Ú
interfacesr+   rÊ   r,   rÃ   r-   r³   r.   r×   r/   Úengine.cursorr0   Úengine.interfacesr1   r2   r3   r4   Úobjectr6   Úcounterr€   ÚstrÚ_PopulatorDictr›   Úpreload_moduler¾   Úbecame_legacy_20rÆ   rØ   rä   râ   r  r8  r:  rž  rˆ  rS  r\  rN  r�  r†  rý  rs  rH   rB   ú<module>r     s¡  ðñõ #å Ý Ý Ý Ý Ý Ý Ý Ý  Ý Ý å Ý Ý Ý "Ý "Ý 'Ý Ý %Ý "Ý !Ý 'Ý Ý Ý Ý Ý !Ý 1Ý (Ý 0Ý Ý "Ý )Ý (Ý Ý "Ý  áÝ)Ý*Ý%ÝÝÝ Ý$Ý,Ý3Ý&ÝáˆT˜Ô€ÙˆT˜Ô €ØˆT�\‰\‹^€
ð �c˜4  c¨3 h¡Ñ0Ð0Ñ1€ðeØ*ðeØ5AðeàóeðP €×ÑÐ-Ó.ò43ó /ð43ðn €×ÑØðFôð
 €×ÑÐ-Ó.ð ðQ&ØðQ&àLðQ&ð ðQ&ð (ò	Q&ó /óðQ&ðh#Øð#àð#ð 
ð#ð ð	#ð
 /ó#ðV 37Ø26Ø.2Ø/3ØØ(,¯©Ø)-¯©Ø!Ø!ñ$Øð$à+ð$ð 
$ð$ð
 0ð$ð 0ð$ð ,ð$ð -ð$ð ð$ð &ð$ð 'ð$ð ð$ð ó$ðX 37Ø26Ø.2Ø/3Ø$(ØØ(,¯©Ø)-¯©Ø!Ø!ñtØðtà+ðtð 4ðtð
 0ðtð 0ðtð ,ðtð -ðtð "ðtð ðtð &ðtð 'ðtð ðtð ótðt ØØØØØó!ðR ØØ"ó4%òn	ð& ØØ"ØózòzEòPF)òX"òJ
ò"V ÷rE
ñ E
óPU0rH   