Coverage for sqlmodel/_compat.py: 93%
295 statements
« prev ^ index » next coverage.py v7.6.1, created at 2024-09-09 00:02 +0000
« prev ^ index » next coverage.py v7.6.1, created at 2024-09-09 00:02 +0000
1import types 1Fabcde
2from contextlib import contextmanager 1Fabcde
3from contextvars import ContextVar 1Fabcde
4from dataclasses import dataclass 1Fabcde
5from typing import ( 1Fabcde
6 TYPE_CHECKING,
7 AbstractSet,
8 Any,
9 Callable,
10 Dict,
11 ForwardRef,
12 Generator,
13 Mapping,
14 Optional,
15 Set,
16 Type,
17 TypeVar,
18 Union,
19)
21from pydantic import VERSION as P_VERSION 1Fabcde
22from pydantic import BaseModel 1Fabcde
23from pydantic.fields import FieldInfo 1Fabcde
24from typing_extensions import Annotated, get_args, get_origin 1Fabcde
26# Reassign variable to make it reexported for mypy
27PYDANTIC_VERSION = P_VERSION 1Fabcde
28IS_PYDANTIC_V2 = PYDANTIC_VERSION.startswith("2.") 1Fabcde
31if TYPE_CHECKING: 1Fabcde
32 from .main import RelationshipInfo, SQLModel
34UnionType = getattr(types, "UnionType", Union) 1Fabcde
35NoneType = type(None) 1Fabcde
36T = TypeVar("T") 1Fabcde
37InstanceOrType = Union[T, Type[T]] 1Fabcde
38_TSQLModel = TypeVar("_TSQLModel", bound="SQLModel") 1Fabcde
41class FakeMetadata: 1Fabcde
42 max_length: Optional[int] = None 1Fabcde
43 max_digits: Optional[int] = None 1Fabcde
44 decimal_places: Optional[int] = None 1Fabcde
47@dataclass 1Fabcde
48class ObjectWithUpdateWrapper: 1abcde
49 obj: Any 1Fabcde
50 update: Dict[str, Any] 1Fabcde
52 def __getattribute__(self, __name: str) -> Any: 1Fabcde
53 update = super().__getattribute__("update") 2Sc:b;b=b?b@b[b]b^b_btcucvc
54 obj = super().__getattribute__("obj") 2Sc:b;b=b?b@b[b]b^b_btcucvc
55 if __name in update: 2Sc:b;b=b?b@b[b]b^b_btcucvc
56 return update[__name] 2Sc:b;b=b?b@b[b]b^b_btcucvc
57 return getattr(obj, __name) 2Sc:b;b=b?b@b[b]b^b_btcucvc
60def _is_union_type(t: Any) -> bool: 1Fabcde
61 return t is UnionType or t is Union 2F ne^i_i}lfm2m(m)jpe6j7j8jfn/j~lgnmk9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqere^ljm3m)mOjjeKiLiMihn*jaminnkNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$e_lnm4m*mPjkeTiUiVijn+jbmknokWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyf`lsm5m+mQjle2i3i4iln,jcmmnpk5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDg{lBm6m,mRjme)i*i+inn-jdmonqk,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIh|lKm7m-m(joeSjTjUjpn.jemqnrkVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
64finish_init: ContextVar[bool] = ContextVar("finish_init", default=True) 1Fabcde
67@contextmanager 1Fabcde
68def partial_init() -> Generator[None, None, None]: 1Fabcde
69 token = finish_init.set(False) 2*l+l,l-l.l/l:l;l=l?l@l[l]lwd|d}d~daeD xdE ydScQkRkSkTkUkVkWkXkYkZk0k1k2k:cLdMdNdOdf ;cg =c:b3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n [c]ci o ^c_c;b=b:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q }c~cadk r s bdcddd?b@b[bnlolplqlrlsltlulvlwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u hdidjdm v w kdldmd]b^b_bOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A qdrdsdy B C tdudvdtcucvc
70 yield 2*l+l,l-l.l/l:l;l=l?l@l[l]lwd|d}d~daeD xdE ydScQkRkSkTkUkVkWkXkYkZk0k1k2k:cLdMdNdOdf ;cg =c:b3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n [c]ci o ^c_c;b=b:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q }c~cadk r s bdcddd?b@b[bnlolplqlrlsltlulvlwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u hdidjdm v w kdldmd]b^b_bOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A qdrdsdy B C tdudvdtcucvc
71 finish_init.reset(token) 2*l+l,l-l.l/l:l;l=l?l@l[l]lwd|d}d~daeD xdE ydScQkRkSkTkUkVkWkXkYkZk0k1k2k:cLdMdNdOdf ;cg =c:b3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n [c]ci o ^c_c;b=b:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q }c~cadk r s bdcddd?b@b[bnlolplqlrlsltlulvlwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u hdidjdm v w kdldmd]b^b_bOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A qdrdsdy B C tdudvdtcucvc
74if IS_PYDANTIC_V2: 1Fabcde
75 from annotated_types import MaxLen 1Fabcde
76 from pydantic import ConfigDict as BaseConfig 1Fabcde
77 from pydantic._internal._fields import PydanticMetadata 1Fabcde
78 from pydantic._internal._model_construction import ModelMetaclass 1Fabcde
79 from pydantic._internal._repr import Representation as Representation 1Fabcde
80 from pydantic_core import PydanticUndefined as Undefined 1Fabcde
81 from pydantic_core import PydanticUndefinedType as UndefinedType 1Fabcde
83 # Dummy for types, to make it importable
84 class ModelField: 1Fabcde
85 pass 1Fabcde
87 class SQLModelConfig(BaseConfig, total=False): 1Fabcde
88 table: Optional[bool] 1Fabcde
89 registry: Optional[Any] 1Fabcde
91 def get_config_value( 1abcde
92 *, model: InstanceOrType["SQLModel"], parameter: str, default: Any = None
93 ) -> Any:
94 return model.model_config.get(parameter, default) 2F ne^i_i}lrnsnfm2m(mboNn)j)npe6j7j8jfn/j~lgnmkXnYn5n9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNj*na beqere^ltnunjm3m)mcoJnOj#njeKiLiMihn*jaminnkOnPnZnNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e+nb ce#e$e_lvnwnnm4m*mdoKnPj$nkeTiUiVijn+jbmknokQnRn0nWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfuf,nc deeevfwfxfyf`lxnynsm5m+meoLnQj%nle2i3i4iln,jcmmnpkSnTn1n5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzg-nd fegeAgBgCgDg{lznAnBm6m,mfoMnRj'nme)i*i+inn-jdmonqkUnVn2n,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh.ne heieFhGhHhIh|lBnCnKm7m-mgoWn(j/noeSjTjUjpn.jemqnrk3n4n6nVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi:n
96 def set_config_value( 1abcde
97 *,
98 model: InstanceOrType["SQLModel"],
99 parameter: str,
100 value: Any,
101 ) -> None:
102 model.model_config[parameter] = value # type: ignore[literal-required] 2F ne^i_i}lrnsnfm2m(mbo)jpe6j7j8jfn/j~lgnmk9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqere^ltnunjm3m)mcoOjjeKiLiMihn*jaminnkNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$e_lvnwnnm4m*mdoPjkeTiUiVijn+jbmknokWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyf`lxnynsm5m+meoQjle2i3i4iln,jcmmnpk5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDg{lznAnBm6m,mfoRjme)i*i+inn-jdmonqk,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIh|lBnCnKm7m-mgo(joeSjTjUjpn.jemqnrkVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
104 def get_model_fields(model: InstanceOrType[BaseModel]) -> Dict[str, "FieldInfo"]: 1Fabcde
105 return model.model_fields 2F ne^i_i}lrnsnfm2m(mbo)jpe6j7j8jfn/j~lgnmk9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqere^ltnunjm3m)mcoOjjeKiLiMihn*jaminnkNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$e_lvnwnnm4m*mdoPjkeTiUiVijn+jbmknokWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyf`lxnynsm5m+meoQjle2i3i4iln,jcmmnpk5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDg{lznAnBm6m,mfoRjme)i*i+inn-jdmonqk,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIh|lBnCnKm7m-mgo(joeSjTjUjpn.jemqnrkVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
107 def get_fields_set( 1abcde
108 object: InstanceOrType["SQLModel"],
109 ) -> Union[Set[str], Callable[[BaseModel], Set[str]]]:
110 return object.model_fields_set 2NnJnKnLnMnWn
112 def init_pydantic_private_attrs(new_object: InstanceOrType["SQLModel"]) -> None: 1Fabcde
113 object.__setattr__(new_object, "__pydantic_fields_set__", set()) 2|n*lzoAo.m(l)llk+l,l-l.l/l:lne^i_i}l;n:mDnNn)j)npe6j7j8j/jXnYn5n9j`i{iwcxc|i}i~iajbjcjdjejfjgj;l=l?l@l[l]lwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNj*n=nQkhoioTmsktk]jRkSkTkUkVkWkbeqere^l7n8mEnJnOj#njeKiLiMi*jOnPnZnNiseteG H uevewexeyezeAeBeCeDeXkYkZk0k1k2k:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e+n?n3kjokoUmukvk^j4k5k6k7k8k9k@n!klomoVmwkxk_j#k$k%k'k(k)kce#e$e_l8n9mFnKnPj$nkeTiUiVi+jQnRn0nWi%e'eT abU V (e)e*e+e,e-e.e/e:e;e*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfuf,n[n:knoooWmykzk`j;k=k?k@k[k]k]n^kpoqoXmAkBk{j_k`k{k|k}k~k^nalrosoYmCkDk|jblcldlelflgldeeevfwfxfyf`l9n!mGnLnQj%nle2i3i4i,jSnTn1n5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzg-n_nnltouoZmEkFk}jolplqlrlsltl`nulvowo0mGkHk~jvlwlxlylzlAl{nBlxoyo1mIkJkakClDlElFlGlHlfegeAgBgCgDg{l!n#mHnMnRj'nme)i*i+i-jUnVn2n,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh.n}nOlBoCo$mKkLkikPlQlRlSlTlUl~nVlDoEo%mMkNkjkWlXlYlZl0l1lao2lFoGo'mOkPkkk3l4l5l6l7l8lheieFhGhHhIh|l(n/mInWn(j/noeSjTjUj.j3n4n6nVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi:n
114 object.__setattr__(new_object, "__pydantic_extra__", None) 2|n*lzoAo.m(l)llk+l,l-l.l/l:lne^i_i}l;n:mDnNn)j)npe6j7j8j/jXnYn5n9j`i{iwcxc|i}i~iajbjcjdjejfjgj;l=l?l@l[l]lwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNj*n=nQkhoioTmsktk]jRkSkTkUkVkWkbeqere^l7n8mEnJnOj#njeKiLiMi*jOnPnZnNiseteG H uevewexeyezeAeBeCeDeXkYkZk0k1k2k:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e+n?n3kjokoUmukvk^j4k5k6k7k8k9k@n!klomoVmwkxk_j#k$k%k'k(k)kce#e$e_l8n9mFnKnPj$nkeTiUiVi+jQnRn0nWi%e'eT abU V (e)e*e+e,e-e.e/e:e;e*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfuf,n[n:knoooWmykzk`j;k=k?k@k[k]k]n^kpoqoXmAkBk{j_k`k{k|k}k~k^nalrosoYmCkDk|jblcldlelflgldeeevfwfxfyf`l9n!mGnLnQj%nle2i3i4i,jSnTn1n5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzg-n_nnltouoZmEkFk}jolplqlrlsltl`nulvowo0mGkHk~jvlwlxlylzlAl{nBlxoyo1mIkJkakClDlElFlGlHlfegeAgBgCgDg{l!n#mHnMnRj'nme)i*i+i-jUnVn2n,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh.n}nOlBoCo$mKkLkikPlQlRlSlTlUl~nVlDoEo%mMkNkjkWlXlYlZl0l1lao2lFoGo'mOkPkkk3l4l5l6l7l8lheieFhGhHhIh|l(n/mInWn(j/noeSjTjUj.j3n4n6nVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi:n
115 object.__setattr__(new_object, "__pydantic_private__", None) 2|n*lzoAo.m(l)llk+l,l-l.l/l:lne^i_i}l;n:mDnNn)j)npe6j7j8j/jXnYn5n9j`i{iwcxc|i}i~iajbjcjdjejfjgj;l=l?l@l[l]lwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNj*n=nQkhoioTmsktk]jRkSkTkUkVkWkbeqere^l7n8mEnJnOj#njeKiLiMi*jOnPnZnNiseteG H uevewexeyezeAeBeCeDeXkYkZk0k1k2k:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e+n?n3kjokoUmukvk^j4k5k6k7k8k9k@n!klomoVmwkxk_j#k$k%k'k(k)kce#e$e_l8n9mFnKnPj$nkeTiUiVi+jQnRn0nWi%e'eT abU V (e)e*e+e,e-e.e/e:e;e*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfuf,n[n:knoooWmykzk`j;k=k?k@k[k]k]n^kpoqoXmAkBk{j_k`k{k|k}k~k^nalrosoYmCkDk|jblcldlelflgldeeevfwfxfyf`l9n!mGnLnQj%nle2i3i4i,jSnTn1n5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzg-n_nnltouoZmEkFk}jolplqlrlsltl`nulvowo0mGkHk~jvlwlxlylzlAl{nBlxoyo1mIkJkakClDlElFlGlHlfegeAgBgCgDg{l!n#mHnMnRj'nme)i*i+i-jUnVn2n,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh.n}nOlBoCo$mKkLkikPlQlRlSlTlUl~nVlDoEo%mMkNkjkWlXlYlZl0l1lao2lFoGo'mOkPkkk3l4l5l6l7l8lheieFhGhHhIh|l(n/mInWn(j/noeSjTjUj.j3n4n6nVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi:n
117 def get_annotations(class_dict: Dict[str, Any]) -> Dict[str, Any]: 1Fabcde
118 return class_dict.get("__annotations__", {}) 2F ne^i_i}lrnsnfm2m(mboNn)j)npe6j7j8jfn/j~lgnmkXnYn5n9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNj*na beqere^ltnunjm3m)mcoJnOj#njeKiLiMihn*jaminnkOnPnZnNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e+nb ce#e$e_lvnwnnm4m*mdoKnPj$nkeTiUiVijn+jbmknokQnRn0nWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfuf,nc deeevfwfxfyf`lxnynsm5m+meoLnQj%nle2i3i4iln,jcmmnpkSnTn1n5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzg-nd fegeAgBgCgDg{lznAnBm6m,mfoMnRj'nme)i*i+inn-jdmonqkUnVn2n,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh.ne heieFhGhHhIh|lBnCnKm7m-mgoWn(j/noeSjTjUjpn.jemqnrk3n4n6nVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi:n
120 def is_table_model_class(cls: Type[Any]) -> bool: 1Fabcde
121 config = getattr(cls, "model_config", {}) 2F |n*lzoAo.m(l)llk+l,l-l.l/l:lne^i_i}l;n:mDnrnsnfm2m(mboNn)j)npe6j7j8jfn/j~lgnmkXnYn5n9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgj;l=l?l@l[l]lwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNj*na =nQkhoioTmsktk]jRkSkTkUkVkWkbeqere^l7n8mEntnunjm3m)mcoJnOj#njeKiLiMihn*jaminnkOnPnZnNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDeXkYkZk0k1k2k:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e+nb ?n3kjokoUmukvk^j4k5k6k7k8k9k@n!klomoVmwkxk_j#k$k%k'k(k)kce#e$e_l8n9mFnvnwnnm4m*mdoKnPj$nkeTiUiVijn+jbmknokQnRn0nWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfuf,nc [n:knoooWmykzk`j;k=k?k@k[k]k]n^kpoqoXmAkBk{j_k`k{k|k}k~k^nalrosoYmCkDk|jblcldlelflgldeeevfwfxfyf`l9n!mGnxnynsm5m+meoLnQj%nle2i3i4iln,jcmmnpkSnTn1n5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAmhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzg-nd _nnltouoZmEkFk}jolplqlrlsltl`nulvowo0mGkHk~jvlwlxlylzlAl{nBlxoyo1mIkJkakClDlElFlGlHlfegeAgBgCgDg{l!n#mHnznAnBm6m,mfoMnRj'nme)i*i+inn-jdmonqkUnVn2n,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh.ne }nOlBoCo$mKkLkikPlQlRlSlTlUl~nVlDoEo%mMkNkjkWlXlYlZl0l1lao2lFoGo'mOkPkkk3l4l5l6l7l8lheieFhGhHhIh|l(n/mInBnCnKm7m-mgoWn(j/noeSjTjUjpn.jemqnrk3n4n6nVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSm9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi:n
122 if config: 2F |n*lzoAo.m(l)llk+l,l-l.l/l:lne^i_i}l;n:mDnrnsnfm2m(mboNn)j)npe6j7j8jfn/j~lgnmkXnYn5n9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgj;l=l?l@l[l]lwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNj*na =nQkhoioTmsktk]jRkSkTkUkVkWkbeqere^l7n8mEntnunjm3m)mcoJnOj#njeKiLiMihn*jaminnkOnPnZnNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDeXkYkZk0k1k2k:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e+nb ?n3kjokoUmukvk^j4k5k6k7k8k9k@n!klomoVmwkxk_j#k$k%k'k(k)kce#e$e_l8n9mFnvnwnnm4m*mdoKnPj$nkeTiUiVijn+jbmknokQnRn0nWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfuf,nc [n:knoooWmykzk`j;k=k?k@k[k]k]n^kpoqoXmAkBk{j_k`k{k|k}k~k^nalrosoYmCkDk|jblcldlelflgldeeevfwfxfyf`l9n!mGnxnynsm5m+meoLnQj%nle2i3i4iln,jcmmnpkSnTn1n5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAmhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzg-nd _nnltouoZmEkFk}jolplqlrlsltl`nulvowo0mGkHk~jvlwlxlylzlAl{nBlxoyo1mIkJkakClDlElFlGlHlfegeAgBgCgDg{l!n#mHnznAnBm6m,mfoMnRj'nme)i*i+inn-jdmonqkUnVn2n,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh.ne }nOlBoCo$mKkLkikPlQlRlSlTlUl~nVlDoEo%mMkNkjkWlXlYlZl0l1lao2lFoGo'mOkPkkk3l4l5l6l7l8lheieFhGhHhIh|l(n/mInBnCnKm7m-mgoWn(j/noeSjTjUjpn.jemqnrk3n4n6nVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSm9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi:n
123 return config.get("table", False) or False 2F |n*lzoAo.m(l)llk+l,l-l.l/l:lne^i_i}l;n:mDnrnsnfm2m(mboNn)j)npe6j7j8jfn/j~lgnmkXnYn5n9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgj;l=l?l@l[l]lwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNj*na =nQkhoioTmsktk]jRkSkTkUkVkWkbeqere^l7n8mEntnunjm3m)mcoJnOj#njeKiLiMihn*jaminnkOnPnZnNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDeXkYkZk0k1k2k:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e+nb ?n3kjokoUmukvk^j4k5k6k7k8k9k@n!klomoVmwkxk_j#k$k%k'k(k)kce#e$e_l8n9mFnvnwnnm4m*mdoKnPj$nkeTiUiVijn+jbmknokQnRn0nWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfuf,nc [n:knoooWmykzk`j;k=k?k@k[k]k]n^kpoqoXmAkBk{j_k`k{k|k}k~k^nalrosoYmCkDk|jblcldlelflgldeeevfwfxfyf`l9n!mGnxnynsm5m+meoLnQj%nle2i3i4iln,jcmmnpkSnTn1n5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAmhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzg-nd _nnltouoZmEkFk}jolplqlrlsltl`nulvowo0mGkHk~jvlwlxlylzlAl{nBlxoyo1mIkJkakClDlElFlGlHlfegeAgBgCgDg{l!n#mHnznAnBm6m,mfoMnRj'nme)i*i+inn-jdmonqkUnVn2n,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh.ne }nOlBoCo$mKkLkikPlQlRlSlTlUl~nVlDoEo%mMkNkjkWlXlYlZl0l1lao2lFoGo'mOkPkkk3l4l5l6l7l8lheieFhGhHhIh|l(n/mInBnCnKm7m-mgoWn(j/noeSjTjUjpn.jemqnrk3n4n6nVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSm9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi:n
124 return False 1Fabcde
126 def get_relationship_to( 1abcde
127 name: str,
128 rel_info: "RelationshipInfo",
129 annotation: Any,
130 ) -> Any:
131 origin = get_origin(annotation) 2mkwcxcD E .c/c4cyczc:jAcBcCcDcEcFcGcHcIcnkG H f g WcXcJcI J ;jK L M N O P Q R S okT abU V h n i o Yc5cZc6cKcLcW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbpk7 mbnb8 9 ! j p q k r s 0c7c8c1c9c!cMcNcOc# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJbqk/ KbLb: ; = l t u m v w 2c#c$c3c%c'cPcQcRc? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7brk8b`b{b9b!b#bx z A y B C (c*c+c)c,c-cTcUcVc$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc
132 use_annotation = annotation 2mkwcxcD E .c/c4cyczc:jAcBcCcDcEcFcGcHcIcnkG H f g WcXcJcI J ;jK L M N O P Q R S okT abU V h n i o Yc5cZc6cKcLcW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbpk7 mbnb8 9 ! j p q k r s 0c7c8c1c9c!cMcNcOc# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJbqk/ KbLb: ; = l t u m v w 2c#c$c3c%c'cPcQcRc? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7brk8b`b{b9b!b#bx z A y B C (c*c+c)c,c-cTcUcVc$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc
133 # Direct relationships (e.g. 'Team' or Team) have None as an origin
134 if origin is None: 2mkwcxcD E .c/c4cyczc:jAcBcCcDcEcFcGcHcIcnkG H f g WcXcJcI J ;jK L M N O P Q R S okT abU V h n i o Yc5cZc6cKcLcW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbpk7 mbnb8 9 ! j p q k r s 0c7c8c1c9c!cMcNcOc# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJbqk/ KbLb: ; = l t u m v w 2c#c$c3c%c'cPcQcRc? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7brk8b`b{b9b!b#bx z A y B C (c*c+c)c,c-cTcUcVc$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc
135 if isinstance(use_annotation, ForwardRef): 2mkwcxcD E .c/c4cyczc:jAcBcCcDcEcFcGcHcIcnkG H f g WcXcJcI J ;jK L M N O P Q R S okT abU V h n i o Yc5cZc6cKcLcW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbpk7 mbnb8 9 ! j p q k r s 0c7c8c1c9c!cMcNcOc# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJbqk/ KbLb: ; = l t u m v w 2c#c$c3c%c'cPcQcRc? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7brk8b`b{b9b!b#bx z A y B C (c*c+c)c,c-cTcUcVc$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc
136 use_annotation = use_annotation.__forward_arg__ 2mkwcxcD E .c/cyczc:jAcBcCcDcEcFcGcHcIcnkG H f g WcXcI J ;jK L M N O P Q R S okT U V h i YcZcW X =jY Z 0 1 2 3 4 5 6 pk7 8 9 ! j k 0c1c# $ ?j% ' ( ) * + , - . qk/ : ; = l m 2c3c? @ @j[ ] ^ _ ` { | } ~ rk8b9b!b#bx y (c)c$b%b[j'b(b)b*b+b,b-b.b/b
137 else:
138 return use_annotation 2mkwcxcD E .c/c4cyczc:jAcBcCcDcEcFcGcHcIcnkG H f g WcXcJcI J ;jK L M N O P Q R S okT abU V h n i o Yc5cZc6cKcLcW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbpk7 mbnb8 9 ! j p q k r s 0c7c8c1c9c!cMcNcOc# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJbqk/ KbLb: ; = l t u m v w 2c#c$c3c%c'cPcQcRc? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7brk8b`b{b9b!b#bx z A y B C (c*c+c)c,c-cTcUcVc$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc
139 # If Union (e.g. Optional), get the real field
140 elif _is_union_type(origin): 2mkwcxcD E .c/c4cyczc:jAcBcCcDcEcFcGcHcIcnkG H f g WcXcJcI J ;jK L M N O P Q R S okT abU V h n i o Yc5cZc6cKcLcW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbpk7 mbnb8 9 ! j p q k r s 0c7c8c1c9c!cMcNcOc# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJbqk/ KbLb: ; = l t u m v w 2c#c$c3c%c'cPcQcRc? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7brk8b`b{b9b!b#bx z A y B C (c*c+c)c,c-cTcUcVc$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc
141 use_annotation = get_args(annotation) 2wcxcD E yczc:jAcBcCcDcEcFcGcHcIcG H f g I J ;jK L M N O P Q R S T abU V h n i o W bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lb7 mbnb8 9 ! j p q k r s # obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb/ KbLb: ; = l t u m v w ? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b8b`b{b9b!b#bx z A y B C $b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc
142 if len(use_annotation) > 2: 2wcxcD E yczc:jAcBcCcDcEcFcGcHcIcG H f g I J ;jK L M N O P Q R S T abU V h n i o W bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lb7 mbnb8 9 ! j p q k r s # obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb/ KbLb: ; = l t u m v w ? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b8b`b{b9b!b#bx z A y B C $b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc
143 raise ValueError(
144 "Cannot have a (non-optional) union as a SQLAlchemy field"
145 )
146 arg1, arg2 = use_annotation 2wcxcD E yczc:jAcBcCcDcEcFcGcHcIcG H f g I J ;jK L M N O P Q R S T abU V h n i o W bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lb7 mbnb8 9 ! j p q k r s # obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb/ KbLb: ; = l t u m v w ? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b8b`b{b9b!b#bx z A y B C $b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc
147 if arg1 is NoneType and arg2 is not NoneType: 2wcxcD E yczc:jAcBcCcDcEcFcGcHcIcG H f g I J ;jK L M N O P Q R S T abU V h n i o W bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lb7 mbnb8 9 ! j p q k r s # obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb/ KbLb: ; = l t u m v w ? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b8b`b{b9b!b#bx z A y B C $b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc
148 use_annotation = arg2
149 elif arg2 is NoneType and arg1 is not NoneType: 2wcxcD E yczc:jAcBcCcDcEcFcGcHcIcG H f g I J ;jK L M N O P Q R S T abU V h n i o W bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lb7 mbnb8 9 ! j p q k r s # obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb/ KbLb: ; = l t u m v w ? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b8b`b{b9b!b#bx z A y B C $b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc
150 use_annotation = arg1 2wcxcD E yczc:jAcBcCcDcEcFcGcHcIcG H f g I J ;jK L M N O P Q R S T abU V h n i o W bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lb7 mbnb8 9 ! j p q k r s # obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb/ KbLb: ; = l t u m v w ? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b8b`b{b9b!b#bx z A y B C $b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc
151 else:
152 raise ValueError(
153 "Cannot have a Union of None and None as a SQLAlchemy field"
154 )
156 # If a list, then also get the real field
157 elif origin is list: 2mkwcxcD E .c/c4cyczc:jAcBcCcDcEcFcGcHcIcnkG H f g WcXcJcI J ;jK L M N O P Q R S okT abU V h n i o Yc5cZc6cKcLcW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbpk7 mbnb8 9 ! j p q k r s 0c7c8c1c9c!cMcNcOc# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJbqk/ KbLb: ; = l t u m v w 2c#c$c3c%c'cPcQcRc? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7brk8b`b{b9b!b#bx z A y B C (c*c+c)c,c-cTcUcVc$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc
158 use_annotation = get_args(annotation)[0] 2mkwcxcD E .c/c4cyczc:jAcBcCcDcEcFcGcHcIcnkG H f g WcXcJcI J ;jK L M N O P Q R S okT abU V h n i o Yc5cZc6cKcLcW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbpk7 mbnb8 9 ! j p q k r s 0c7c8c1c9c!cMcNcOc# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJbqk/ KbLb: ; = l t u m v w 2c#c$c3c%c'cPcQcRc? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7brk8b`b{b9b!b#bx z A y B C (c*c+c)c,c-cTcUcVc$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc
160 return get_relationship_to( 2mkwcxcD E .c/c4cyczc:jAcBcCcDcEcFcGcHcIcnkG H f g WcXcJcI J ;jK L M N O P Q R S okT abU V h n i o Yc5cZc6cKcLcW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbpk7 mbnb8 9 ! j p q k r s 0c7c8c1c9c!cMcNcOc# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJbqk/ KbLb: ; = l t u m v w 2c#c$c3c%c'cPcQcRc? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7brk8b`b{b9b!b#bx z A y B C (c*c+c)c,c-cTcUcVc$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc
161 name=name, rel_info=rel_info, annotation=use_annotation
162 )
164 def is_field_noneable(field: "FieldInfo") -> bool: 1Fabcde
165 if getattr(field, "nullable", Undefined) is not Undefined: 2F ne^i_irnsnfm2m(m)jpe6j7j8j/j~lmk9j`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqeretnunjm3m)mOjjeKiLiMi*jamnkNiseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$evnwnnm4m*mPjkeTiUiVi+jbmokWi%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyfxnynsm5m+mQjle2i3i4i,jcmpk5izfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDgznAnBm6m,mRjme)i*i+i-jdmqk,iEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIhBnCnKm7m-m(joeSjTjUj.jemrkVjJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
166 return field.nullable # type: ignore 2/j~l*jam+jbm,jcm-jdm.jem
167 origin = get_origin(field.annotation) 2F ne^i_irnsnfm2m(m)jpe6j7j8j~lmk9j`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqeretnunjm3m)mOjjeKiLiMiamnkNiseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$evnwnnm4m*mPjkeTiUiVibmokWi%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyfxnynsm5m+mQjle2i3i4icmpk5izfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDgznAnBm6m,mRjme)i*i+idmqk,iEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIhBnCnKm7m-m(joeSjTjUjemrkVjJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
168 if origin is not None and _is_union_type(origin): 2F ne^i_irnsnfm2m(m)jpe6j7j8j~lmk9j`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqeretnunjm3m)mOjjeKiLiMiamnkNiseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$evnwnnm4m*mPjkeTiUiVibmokWi%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyfxnynsm5m+mQjle2i3i4icmpk5izfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDgznAnBm6m,mRjme)i*i+idmqk,iEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIhBnCnKm7m-m(joeSjTjUjemrkVjJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
169 args = get_args(field.annotation) 2F ne^i_ifm2m)jpe6j7j8j~lmk9j`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqerejm3mOjjeKiLiMiamnkNiseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$enm4mPjkeTiUiVibmokWi%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyfsm5mQjle2i3i4icmpk5izfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDgBm6mRjme)i*i+idmqk,iEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIhKm7m(joeSjTjUjemrkVjJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
170 if any(arg is NoneType for arg in args): 2F ne^i_ifm2m)jpe6j7j8j~lmk9j`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqerejm3mOjjeKiLiMiamnkNiseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$enm4mPjkeTiUiVibmokWi%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyfsm5mQjle2i3i4icmpk5izfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDgBm6mRjme)i*i+idmqk,iEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIhKm7m(joeSjTjUjemrkVjJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
171 return True 2F ne^i_ifm2m)jpe6j7j8j~lmk9j`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqerejm3mOjjeKiLiMiamnkNiseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$enm4mPjkeTiUiVibmokWi%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyfsm5mQjle2i3i4icmpk5izfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDgBm6mRjme)i*i+idmqk,iEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIhKm7m(joeSjTjUjemrkVjJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
172 if not field.is_required(): 2F ne^i_irnsnfm(m)jpe6j7j8j~lmk9j`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqeretnunjm)mOjjeKiLiMiamnkNiseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$evnwnnm*mPjkeTiUiVibmokWi%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyfxnynsm+mQjle2i3i4icmpk5izfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDgznAnBm,mRjme)i*i+idmqk,iEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIhBnCnKm-m(joeSjTjUjemrkVjJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
173 if field.default is Undefined: 2ne~l4cbeamJccebmKcLcdeeecmMcNcOcfegedmPcQcRcheieemTcUcVc
174 return False
175 if field.annotation is None or field.annotation is NoneType: # type: ignore[comparison-overlap] 2ne~l4cbeamJccebmKcLcdeeecmMcNcOcfegedmPcQcRcheieemTcUcVc
176 return True
177 return False 2ne~l4cbeamJccebmKcLcdeeecmMcNcOcfegedmPcQcRcheieemTcUcVc
178 return False 2F ne^i_irnsnfm(m)jpe6j7j8j~lmk9j`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqeretnunjm)mOjjeKiLiMiamnkNiseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$evnwnnm*mPjkeTiUiVibmokWi%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyfxnynsm+mQjle2i3i4icmpk5izfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDgznAnBm,mRjme)i*i+idmqk,iEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIhBnCnKm-m(joeSjTjUjemrkVjJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
180 def get_sa_type_from_type_annotation(annotation: Any) -> Any: 1Fabcde
181 # Resolve Optional fields
182 if annotation is None: 2F ne^i_i}lrnsnfm2m(m)jpe6j7j8jfn/j~lgnmk9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqere^ltnunjm3m)mOjjeKiLiMihn*jaminnkNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$e_lvnwnnm4m*mPjkeTiUiVijn+jbmknokWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyf`lxnynsm5m+mQjle2i3i4iln,jcmmnpk5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDg{lznAnBm6m,mRjme)i*i+inn-jdmonqk,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIh|lBnCnKm7m-m(joeSjTjUjpn.jemqnrkVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
183 raise ValueError("Missing field type")
184 origin = get_origin(annotation) 2F ne^i_i}lrnsnfm2m(m)jpe6j7j8jfn/j~lgnmk9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqere^ltnunjm3m)mOjjeKiLiMihn*jaminnkNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$e_lvnwnnm4m*mPjkeTiUiVijn+jbmknokWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyf`lxnynsm5m+mQjle2i3i4iln,jcmmnpk5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDg{lznAnBm6m,mRjme)i*i+inn-jdmonqk,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIh|lBnCnKm7m-m(joeSjTjUjpn.jemqnrkVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
185 if origin is None: 2F ne^i_i}lrnsnfm2m(m)jpe6j7j8jfn/j~lgnmk9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqere^ltnunjm3m)mOjjeKiLiMihn*jaminnkNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$e_lvnwnnm4m*mPjkeTiUiVijn+jbmknokWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyf`lxnynsm5m+mQjle2i3i4iln,jcmmnpk5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDg{lznAnBm6m,mRjme)i*i+inn-jdmonqk,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIh|lBnCnKm7m-m(joeSjTjUjpn.jemqnrkVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
186 return annotation 2F ne^i_i}lrnsnfm2m(m)jpe6j7j8jfn/j~lgnmk9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqere^ltnunjm3m)mOjjeKiLiMihn*jaminnkNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$e_lvnwnnm4m*mPjkeTiUiVijn+jbmknokWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyf`lxnynsm5m+mQjle2i3i4iln,jcmmnpk5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDg{lznAnBm6m,mRjme)i*i+inn-jdmonqk,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIh|lBnCnKm7m-m(joeSjTjUjpn.jemqnrkVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
187 elif origin is Annotated: 2F ne^i_i}lfm2m(m)jpe6j7j8jfn/j~lgnmk9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqere^ljm3m)mOjjeKiLiMihn*jaminnkNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$e_lnm4m*mPjkeTiUiVijn+jbmknokWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyf`lsm5m+mQjle2i3i4iln,jcmmnpk5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDg{lBm6m,mRjme)i*i+inn-jdmonqk,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIh|lKm7m-m(joeSjTjUjpn.jemqnrkVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
188 return get_sa_type_from_type_annotation(get_args(annotation)[0]) 2}l^l_l`l{l|l
189 if _is_union_type(origin): 2F ne^i_i}lfm2m(m)jpe6j7j8jfn/j~lgnmk9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqere^ljm3m)mOjjeKiLiMihn*jaminnkNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$e_lnm4m*mPjkeTiUiVijn+jbmknokWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyf`lsm5m+mQjle2i3i4iln,jcmmnpk5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDg{lBm6m,mRjme)i*i+inn-jdmonqk,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIh|lKm7m-m(joeSjTjUjpn.jemqnrkVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
190 bases = get_args(annotation) 2F ne^i_i}lfm2m(m)jpe6j7j8jfn/j~lgnmk9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqere^ljm3m)mOjjeKiLiMihn*jaminnkNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$e_lnm4m*mPjkeTiUiVijn+jbmknokWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyf`lsm5m+mQjle2i3i4iln,jcmmnpk5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDg{lBm6m,mRjme)i*i+inn-jdmonqk,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIh|lKm7m-m(joeSjTjUjpn.jemqnrkVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
191 if len(bases) > 2: 2F ne^i_i}lfm2m(m)jpe6j7j8jfn/j~lgnmk9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqere^ljm3m)mOjjeKiLiMihn*jaminnkNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$e_lnm4m*mPjkeTiUiVijn+jbmknokWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyf`lsm5m+mQjle2i3i4iln,jcmmnpk5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDg{lBm6m,mRjme)i*i+inn-jdmonqk,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIh|lKm7m-m(joeSjTjUjpn.jemqnrkVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
192 raise ValueError(
193 "Cannot have a (non-optional) union as a SQLAlchemy field"
194 )
195 # Non optional unions are not allowed
196 if bases[0] is not NoneType and bases[1] is not NoneType: 2F ne^i_i}lfm2m(m)jpe6j7j8jfn/j~lgnmk9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqere^ljm3m)mOjjeKiLiMihn*jaminnkNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$e_lnm4m*mPjkeTiUiVijn+jbmknokWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyf`lsm5m+mQjle2i3i4iln,jcmmnpk5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDg{lBm6m,mRjme)i*i+inn-jdmonqk,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIh|lKm7m-m(joeSjTjUjpn.jemqnrkVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
197 raise ValueError( 2?m]m`m}mbnen
198 "Cannot have a (non-optional) union as a SQLAlchemy field"
199 )
200 # Optional unions are allowed
201 use_type = bases[0] if bases[0] is not NoneType else bases[1] 2F ne^i_i}lfm2m(m)jpe6j7j8jfn/j~lgnmk9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqere^ljm3m)mOjjeKiLiMihn*jaminnkNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$e_lnm4m*mPjkeTiUiVijn+jbmknokWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyf`lsm5m+mQjle2i3i4iln,jcmmnpk5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDg{lBm6m,mRjme)i*i+inn-jdmonqk,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIh|lKm7m-m(joeSjTjUjpn.jemqnrkVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
202 return get_sa_type_from_type_annotation(use_type) 2F ne^i_i}lfm2m(m)jpe6j7j8jfn/j~lgnmk9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqere^ljm3m)mOjjeKiLiMihn*jaminnkNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$e_lnm4m*mPjkeTiUiVijn+jbmknokWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyf`lsm5m+mQjle2i3i4iln,jcmmnpk5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDg{lBm6m,mRjme)i*i+inn-jdmonqk,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIh|lKm7m-m(joeSjTjUjpn.jemqnrkVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
203 return origin 2;m=m@m[m^m_m{m|m~mancndn
205 def get_sa_type_from_field(field: Any) -> Any: 1Fabcde
206 type_: Any = field.annotation 2F ne^i_i}lrnsnfm2m(m)jpe6j7j8jfn/j~lgnmk9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqere^ltnunjm3m)mOjjeKiLiMihn*jaminnkNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$e_lvnwnnm4m*mPjkeTiUiVijn+jbmknokWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyf`lxnynsm5m+mQjle2i3i4iln,jcmmnpk5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDg{lznAnBm6m,mRjme)i*i+inn-jdmonqk,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIh|lBnCnKm7m-m(joeSjTjUjpn.jemqnrkVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
207 return get_sa_type_from_type_annotation(type_) 2F ne^i_i}lrnsnfm2m(m)jpe6j7j8jfn/j~lgnmk9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqere^ltnunjm3m)mOjjeKiLiMihn*jaminnkNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$e_lvnwnnm4m*mPjkeTiUiVijn+jbmknokWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyf`lxnynsm5m+mQjle2i3i4iln,jcmmnpk5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDg{lznAnBm6m,mRjme)i*i+inn-jdmonqk,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIh|lBnCnKm7m-m(joeSjTjUjpn.jemqnrkVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
209 def get_field_metadata(field: Any) -> Any: 1Fabcde
210 for meta in field.metadata: 2F ne^i_i}lrnsnfm2m(m)jpe6j7j8jfn/j~lgnmk9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqere^ltnunjm3m)mOjjeKiLiMihn*jaminnkNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$e_lvnwnnm4m*mPjkeTiUiVijn+jbmknokWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyf`lxnynsm5m+mQjle2i3i4iln,jcmmnpk5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDg{lznAnBm6m,mRjme)i*i+inn-jdmonqk,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIh|lBnCnKm7m-m(joeSjTjUjpn.jemqnrkVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
211 if isinstance(meta, (PydanticMetadata, MaxLen)): 2nebecedeeefegeheie
212 return meta 2nebecedeeefegeheie
213 return FakeMetadata() 2F ne^i_i}lrnsnfm2m(m)jpe6j7j8jfn/j~lgnmk9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqere^ltnunjm3m)mOjjeKiLiMihn*jaminnkNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$e_lvnwnnm4m*mPjkeTiUiVijn+jbmknokWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyf`lxnynsm5m+mQjle2i3i4iln,jcmmnpk5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDg{lznAnBm6m,mRjme)i*i+inn-jdmonqk,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIh|lBnCnKm7m-m(joeSjTjUjpn.jemqnrkVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
215 def post_init_field_info(field_info: FieldInfo) -> None: 1Fabcde
216 return None 2F ne^i_i}lrnsnfm2m(mboNoOoNn)j)npe6j7j8jfn/j~lgnPomkXnYn5n9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqere^ltnunjm3m)mcoQoRoJnOj#njeKiLiMihn*jaminSonkOnPnZnNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$e_lvnwnnm4m*mdoToUoKnPj$nkeTiUiVijn+jbmknVookQnRn0nWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyf`lxnynsm5m+meoWoXoLnQj%nle2i3i4iln,jcmmnYopkSnTn1n5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDg{lznAnBm6m,mfoZo0oMnRj'nme)i*i+inn-jdmon1oqkUnVn2n,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIh|lBnCnKm7m-mgo2o3oWn(j/noeSjTjUjpn.jemqn4ork3n4n6nVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
218 # Dummy to make it importable
219 def _calculate_keys( 1abcde
220 self: "SQLModel", 1abcde
221 include: Optional[Mapping[Union[int, str], Any]], 1abcde
222 exclude: Optional[Mapping[Union[int, str], Any]], 1abcde
223 exclude_unset: bool, 1abcde
224 update: Optional[Dict[str, Any]] = None, 1Fabcde
225 ) -> Optional[AbstractSet[str]]: # pragma: no cover 1Fabcde
226 return None
228 def sqlmodel_table_construct( 1abcde
229 *,
230 self_instance: _TSQLModel,
231 values: Dict[str, Any],
232 _fields_set: Union[Set[str], None] = None,
233 ) -> _TSQLModel:
234 # Copy from Pydantic's BaseModel.construct()
235 # Ref: https://github.com/pydantic/pydantic/blob/v2.5.2/pydantic/main.py#L198
236 # Modified to not include everything, only the model fields, and to
237 # set relationships
238 # SQLModel override to get class SQLAlchemy __dict__ attributes and
239 # set them back in after creating the object
240 # new_obj = cls.__new__(cls)
241 cls = type(self_instance) 2.m(l)llkne^i_i}l)jpe6j7j8j/j9j`i{iwcxc|i}i~iajbjcjdjejfjgj.dhjijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjTmsktk]jbeqere^lOjjeKiLiMi*jNiseteG H uevewexeyezeAeBeCeDezdEeFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eUmukvk^jVmwkxk_jce#e$e_lPjkeTiUiVi+jWi%e'eT abU V (e)e*e+e,e-e.e/e:e;eAdBd=e?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufWmykzk`jXmAkBk{jYmCkDk|jdeeevfwfxfyf`lQjle2i3i4i,j5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfCdDdEdXfYfZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgZmEkFk}j0mGkHk~j1mIkJkakfegeAgBgCgDg{lRjme)i*i+i-j,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gFdGdHd2g3g4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh$mKkLkik%mMkNkjk'mOkPkkkheieFhGhHhIh|l(joeSjTjUj.jVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hIdJdKd7h8h9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
242 old_dict = self_instance.__dict__.copy() 2.m(l)llkne^i_i}l)jpe6j7j8j/j9j`i{iwcxc|i}i~iajbjcjdjejfjgj.dhjijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjTmsktk]jbeqere^lOjjeKiLiMi*jNiseteG H uevewexeyezeAeBeCeDezdEeFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eUmukvk^jVmwkxk_jce#e$e_lPjkeTiUiVi+jWi%e'eT abU V (e)e*e+e,e-e.e/e:e;eAdBd=e?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufWmykzk`jXmAkBk{jYmCkDk|jdeeevfwfxfyf`lQjle2i3i4i,j5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfCdDdEdXfYfZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgZmEkFk}j0mGkHk~j1mIkJkakfegeAgBgCgDg{lRjme)i*i+i-j,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gFdGdHd2g3g4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh$mKkLkik%mMkNkjk'mOkPkkkheieFhGhHhIh|l(joeSjTjUj.jVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hIdJdKd7h8h9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
243 # End SQLModel override
245 fields_values: Dict[str, Any] = {} 2.m(l)llkne^i_i}l)jpe6j7j8j/j9j`i{iwcxc|i}i~iajbjcjdjejfjgj.dhjijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjTmsktk]jbeqere^lOjjeKiLiMi*jNiseteG H uevewexeyezeAeBeCeDezdEeFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eUmukvk^jVmwkxk_jce#e$e_lPjkeTiUiVi+jWi%e'eT abU V (e)e*e+e,e-e.e/e:e;eAdBd=e?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufWmykzk`jXmAkBk{jYmCkDk|jdeeevfwfxfyf`lQjle2i3i4i,j5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfCdDdEdXfYfZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgZmEkFk}j0mGkHk~j1mIkJkakfegeAgBgCgDg{lRjme)i*i+i-j,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gFdGdHd2g3g4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh$mKkLkik%mMkNkjk'mOkPkkkheieFhGhHhIh|l(joeSjTjUj.jVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hIdJdKd7h8h9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
246 defaults: Dict[ 2Tmsktk]jbeqere^lOjjeKiLiMi*jNiseteG H uevewexeyezeAeBeCeDezdEeFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eUmukvk^jVmwkxk_jce#e$e_lPjkeTiUiVi+jWi%e'eT abU V (e)e*e+e,e-e.e/e:e;eAdBd=e?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufWmykzk`jXmAkBk{jYmCkDk|jdeeevfwfxfyf`lQjle2i3i4i,j5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfCdDdEdXfYfZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgZmEkFk}j0mGkHk~j1mIkJkakfegeAgBgCgDg{lRjme)i*i+i-j,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gFdGdHd2g3g4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh$mKkLkik%mMkNkjk'mOkPkkkheieFhGhHhIh|l(joeSjTjUj.jVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hIdJdKd7h8h9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
247 str, Any
248 ] = {} # keeping this separate from `fields_values` helps us compute `_fields_set`
249 for name, field in cls.model_fields.items(): 2.m(l)llkne^i_i}l)jpe6j7j8j/j9j`i{iwcxc|i}i~iajbjcjdjejfjgj.dhjijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjTmsktk]jbeqere^lOjjeKiLiMi*jNiseteG H uevewexeyezeAeBeCeDezdEeFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eUmukvk^jVmwkxk_jce#e$e_lPjkeTiUiVi+jWi%e'eT abU V (e)e*e+e,e-e.e/e:e;eAdBd=e?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufWmykzk`jXmAkBk{jYmCkDk|jdeeevfwfxfyf`lQjle2i3i4i,j5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfCdDdEdXfYfZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgZmEkFk}j0mGkHk~j1mIkJkakfegeAgBgCgDg{lRjme)i*i+i-j,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gFdGdHd2g3g4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh$mKkLkik%mMkNkjk'mOkPkkkheieFhGhHhIh|l(joeSjTjUj.jVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hIdJdKd7h8h9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
250 if field.alias and field.alias in values: 2.m(l)llkne^i_i}l)jpe6j7j8j/j9j`i{iwcxc|i}i~iajbjcjdjejfjgj.dhjijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjTmsktk]jbeqere^lOjjeKiLiMi*jNiseteG H uevewexeyezeAeBeCeDezdEeFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eUmukvk^jVmwkxk_jce#e$e_lPjkeTiUiVi+jWi%e'eT abU V (e)e*e+e,e-e.e/e:e;eAdBd=e?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufWmykzk`jXmAkBk{jYmCkDk|jdeeevfwfxfyf`lQjle2i3i4i,j5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfCdDdEdXfYfZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgZmEkFk}j0mGkHk~j1mIkJkakfegeAgBgCgDg{lRjme)i*i+i-j,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gFdGdHd2g3g4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh$mKkLkik%mMkNkjk'mOkPkkkheieFhGhHhIh|l(joeSjTjUj.jVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hIdJdKd7h8h9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
251 fields_values[name] = values.pop(field.alias)
252 elif name in values: 2.m(l)llkne^i_i}l)jpe6j7j8j/j9j`i{iwcxc|i}i~iajbjcjdjejfjgj.dhjijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjTmsktk]jbeqere^lOjjeKiLiMi*jNiseteG H uevewexeyezeAeBeCeDezdEeFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eUmukvk^jVmwkxk_jce#e$e_lPjkeTiUiVi+jWi%e'eT abU V (e)e*e+e,e-e.e/e:e;eAdBd=e?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufWmykzk`jXmAkBk{jYmCkDk|jdeeevfwfxfyf`lQjle2i3i4i,j5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfCdDdEdXfYfZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgZmEkFk}j0mGkHk~j1mIkJkakfegeAgBgCgDg{lRjme)i*i+i-j,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gFdGdHd2g3g4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh$mKkLkik%mMkNkjk'mOkPkkkheieFhGhHhIh|l(joeSjTjUj.jVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hIdJdKd7h8h9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
253 fields_values[name] = values.pop(name) 2.m(l)llkne^i_ipe6j7j8j/j9j`i{iwcxc|i}i~iajbjcjdjejfjgj.dhjijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjTmsktk]jbeqerejeKiLiMi*jNiseteG H uevewexeyezeAeBeCeDezdEeFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eUmukvk^jVmwkxk_jce#e$ekeTiUiVi+jWi%e'eT abU V (e)e*e+e,e-e.e/e:e;eAdBd=e?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufWmykzk`jXmAkBk{jYmCkDk|jdeeevfwfxfyfle2i3i4i,j5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfCdDdEdXfYfZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgZmEkFk}j0mGkHk~j1mIkJkakfegeAgBgCgDgme)i*i+i-j,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gFdGdHd2g3g4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh$mKkLkik%mMkNkjk'mOkPkkkheieFhGhHhIhoeSjTjUj.jVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hIdJdKd7h8h9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
254 elif not field.is_required(): 2.m(l)llkne^i_i}l)jpe6j7j8j9j`i{iwcxc|i}i~iajbjcjdjejfjgj.dhjijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjTmsktk]jbeqere^lOjjeKiLiMiNiseteG H uevewexeyezeAeBeCeDezdEeFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eUmukvk^jVmwkxk_jce#e$e_lPjkeTiUiViWi%e'eT abU V (e)e*e+e,e-e.e/e:e;eAdBd=e?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufWmykzk`jXmAkBk{jYmCkDk|jdeeevfwfxfyf`lQjle2i3i4i5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfCdDdEdXfYfZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgZmEkFk}j0mGkHk~j1mIkJkakfegeAgBgCgDg{lRjme)i*i+i,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gFdGdHd2g3g4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh$mKkLkik%mMkNkjk'mOkPkkkheieFhGhHhIh|l(joeSjTjUjVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hIdJdKd7h8h9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
255 defaults[name] = field.get_default(call_default_factory=True) 2.m(l)llkne^i_i}l)jpe6j7j8j9j`i{iwcxc|i}i~iajbjcjdjejfjgj.dhjijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjTmsktk]jbeqere^lOjjeKiLiMiNiseteG H uevewexeyezeAeBeCeDezdEeFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eUmukvk^jVmwkxk_jce#e$e_lPjkeTiUiViWi%e'eT abU V (e)e*e+e,e-e.e/e:e;eAdBd=e?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufWmykzk`jXmAkBk{jYmCkDk|jdeeevfwfxfyf`lQjle2i3i4i5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfCdDdEdXfYfZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgZmEkFk}j0mGkHk~j1mIkJkakfegeAgBgCgDg{lRjme)i*i+i,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gFdGdHd2g3g4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh$mKkLkik%mMkNkjk'mOkPkkkheieFhGhHhIh|l(joeSjTjUjVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hIdJdKd7h8h9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
256 if _fields_set is None: 2.m(l)llkne^i_i}l)jpe6j7j8j/j9j`i{iwcxc|i}i~iajbjcjdjejfjgj.dhjijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjTmsktk]jbeqere^lOjjeKiLiMi*jNiseteG H uevewexeyezeAeBeCeDezdEeFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eUmukvk^jVmwkxk_jce#e$e_lPjkeTiUiVi+jWi%e'eT abU V (e)e*e+e,e-e.e/e:e;eAdBd=e?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufWmykzk`jXmAkBk{jYmCkDk|jdeeevfwfxfyf`lQjle2i3i4i,j5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfCdDdEdXfYfZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgZmEkFk}j0mGkHk~j1mIkJkakfegeAgBgCgDg{lRjme)i*i+i-j,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gFdGdHd2g3g4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh$mKkLkik%mMkNkjk'mOkPkkkheieFhGhHhIh|l(joeSjTjUj.jVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hIdJdKd7h8h9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
257 _fields_set = set(fields_values.keys()) 2.m(l)llkne^i_i}l)jpe6j7j8j/j9j`i{iwcxc|i}i~iajbjcjdjejfjgj.dhjijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjTmsktk]jbeqere^lOjjeKiLiMi*jNiseteG H uevewexeyezeAeBeCeDezdEeFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eUmukvk^jVmwkxk_jce#e$e_lPjkeTiUiVi+jWi%e'eT abU V (e)e*e+e,e-e.e/e:e;eAdBd=e?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufWmykzk`jXmAkBk{jYmCkDk|jdeeevfwfxfyf`lQjle2i3i4i,j5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfCdDdEdXfYfZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgZmEkFk}j0mGkHk~j1mIkJkakfegeAgBgCgDg{lRjme)i*i+i-j,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gFdGdHd2g3g4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh$mKkLkik%mMkNkjk'mOkPkkkheieFhGhHhIh|l(joeSjTjUj.jVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hIdJdKd7h8h9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
258 fields_values.update(defaults) 2.m(l)llkne^i_i}l)jpe6j7j8j/j9j`i{iwcxc|i}i~iajbjcjdjejfjgj.dhjijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjTmsktk]jbeqere^lOjjeKiLiMi*jNiseteG H uevewexeyezeAeBeCeDezdEeFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eUmukvk^jVmwkxk_jce#e$e_lPjkeTiUiVi+jWi%e'eT abU V (e)e*e+e,e-e.e/e:e;eAdBd=e?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufWmykzk`jXmAkBk{jYmCkDk|jdeeevfwfxfyf`lQjle2i3i4i,j5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfCdDdEdXfYfZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgZmEkFk}j0mGkHk~j1mIkJkakfegeAgBgCgDg{lRjme)i*i+i-j,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gFdGdHd2g3g4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh$mKkLkik%mMkNkjk'mOkPkkkheieFhGhHhIh|l(joeSjTjUj.jVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hIdJdKd7h8h9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
260 _extra: Union[Dict[str, Any], None] = None 2.m(l)llkne^i_i}l)jpe6j7j8j/j9j`i{iwcxc|i}i~iajbjcjdjejfjgj.dhjijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjTmsktk]jbeqere^lOjjeKiLiMi*jNiseteG H uevewexeyezeAeBeCeDezdEeFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eUmukvk^jVmwkxk_jce#e$e_lPjkeTiUiVi+jWi%e'eT abU V (e)e*e+e,e-e.e/e:e;eAdBd=e?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufWmykzk`jXmAkBk{jYmCkDk|jdeeevfwfxfyf`lQjle2i3i4i,j5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfCdDdEdXfYfZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgZmEkFk}j0mGkHk~j1mIkJkakfegeAgBgCgDg{lRjme)i*i+i-j,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gFdGdHd2g3g4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh$mKkLkik%mMkNkjk'mOkPkkkheieFhGhHhIh|l(joeSjTjUj.jVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hIdJdKd7h8h9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
261 if cls.model_config.get("extra") == "allow": 2.m(l)llkne^i_i}l)jpe6j7j8j/j9j`i{iwcxc|i}i~iajbjcjdjejfjgj.dhjijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjTmsktk]jbeqere^lOjjeKiLiMi*jNiseteG H uevewexeyezeAeBeCeDezdEeFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eUmukvk^jVmwkxk_jce#e$e_lPjkeTiUiVi+jWi%e'eT abU V (e)e*e+e,e-e.e/e:e;eAdBd=e?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufWmykzk`jXmAkBk{jYmCkDk|jdeeevfwfxfyf`lQjle2i3i4i,j5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfCdDdEdXfYfZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgZmEkFk}j0mGkHk~j1mIkJkakfegeAgBgCgDg{lRjme)i*i+i-j,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gFdGdHd2g3g4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh$mKkLkik%mMkNkjk'mOkPkkkheieFhGhHhIh|l(joeSjTjUj.jVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hIdJdKd7h8h9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
262 _extra = {}
263 for k, v in values.items():
264 _extra[k] = v
265 # SQLModel override, do not include everything, only the model fields
266 # else:
267 # fields_values.update(values)
268 # End SQLModel override
269 # SQLModel override
270 # Do not set __dict__, instead use setattr to trigger SQLAlchemy
271 # object.__setattr__(new_obj, "__dict__", fields_values)
272 # instrumentation
273 for key, value in {**old_dict, **fields_values}.items(): 2.m(l)llkne^i_i}l)jpe6j7j8j/j9j`i{iwcxc|i}i~iajbjcjdjejfjgj.dhjijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjTmsktk]jbeqere^lOjjeKiLiMi*jNiseteG H uevewexeyezeAeBeCeDezdEeFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eUmukvk^jVmwkxk_jce#e$e_lPjkeTiUiVi+jWi%e'eT abU V (e)e*e+e,e-e.e/e:e;eAdBd=e?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufWmykzk`jXmAkBk{jYmCkDk|jdeeevfwfxfyf`lQjle2i3i4i,j5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfCdDdEdXfYfZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgZmEkFk}j0mGkHk~j1mIkJkakfegeAgBgCgDg{lRjme)i*i+i-j,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gFdGdHd2g3g4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh$mKkLkik%mMkNkjk'mOkPkkkheieFhGhHhIh|l(joeSjTjUj.jVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hIdJdKd7h8h9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
274 setattr(self_instance, key, value) 2.m(l)llkne^i_i}l)jpe6j7j8j/j9j`i{iwcxc|i}i~iajbjcjdjejfjgj.dhjijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjTmsktk]jbeqere^lOjjeKiLiMi*jNiseteG H uevewexeyezeAeBeCeDezdEeFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eUmukvk^jVmwkxk_jce#e$e_lPjkeTiUiVi+jWi%e'eT abU V (e)e*e+e,e-e.e/e:e;eAdBd=e?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufWmykzk`jXmAkBk{jYmCkDk|jdeeevfwfxfyf`lQjle2i3i4i,j5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfCdDdEdXfYfZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgZmEkFk}j0mGkHk~j1mIkJkakfegeAgBgCgDg{lRjme)i*i+i-j,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gFdGdHd2g3g4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh$mKkLkik%mMkNkjk'mOkPkkkheieFhGhHhIh|l(joeSjTjUj.jVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hIdJdKd7h8h9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
275 # End SQLModel override
276 object.__setattr__(self_instance, "__pydantic_fields_set__", _fields_set) 2.m(l)llkne^i_i}l)jpe6j7j8j/j9j`i{iwcxc|i}i~iajbjcjdjejfjgj.dhjijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjTmsktk]jbeqere^lOjjeKiLiMi*jNiseteG H uevewexeyezeAeBeCeDezdEeFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eUmukvk^jVmwkxk_jce#e$e_lPjkeTiUiVi+jWi%e'eT abU V (e)e*e+e,e-e.e/e:e;eAdBd=e?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufWmykzk`jXmAkBk{jYmCkDk|jdeeevfwfxfyf`lQjle2i3i4i,j5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfCdDdEdXfYfZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgZmEkFk}j0mGkHk~j1mIkJkakfegeAgBgCgDg{lRjme)i*i+i-j,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gFdGdHd2g3g4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh$mKkLkik%mMkNkjk'mOkPkkkheieFhGhHhIh|l(joeSjTjUj.jVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hIdJdKd7h8h9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
277 if not cls.__pydantic_root_model__: 2.m(l)llkne^i_i}l)jpe6j7j8j/j9j`i{iwcxc|i}i~iajbjcjdjejfjgj.dhjijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjTmsktk]jbeqere^lOjjeKiLiMi*jNiseteG H uevewexeyezeAeBeCeDezdEeFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eUmukvk^jVmwkxk_jce#e$e_lPjkeTiUiVi+jWi%e'eT abU V (e)e*e+e,e-e.e/e:e;eAdBd=e?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufWmykzk`jXmAkBk{jYmCkDk|jdeeevfwfxfyf`lQjle2i3i4i,j5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfCdDdEdXfYfZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgZmEkFk}j0mGkHk~j1mIkJkakfegeAgBgCgDg{lRjme)i*i+i-j,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gFdGdHd2g3g4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh$mKkLkik%mMkNkjk'mOkPkkkheieFhGhHhIh|l(joeSjTjUj.jVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hIdJdKd7h8h9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
278 object.__setattr__(self_instance, "__pydantic_extra__", _extra) 2.m(l)llkne^i_i}l)jpe6j7j8j/j9j`i{iwcxc|i}i~iajbjcjdjejfjgj.dhjijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjTmsktk]jbeqere^lOjjeKiLiMi*jNiseteG H uevewexeyezeAeBeCeDezdEeFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eUmukvk^jVmwkxk_jce#e$e_lPjkeTiUiVi+jWi%e'eT abU V (e)e*e+e,e-e.e/e:e;eAdBd=e?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufWmykzk`jXmAkBk{jYmCkDk|jdeeevfwfxfyf`lQjle2i3i4i,j5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfCdDdEdXfYfZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgZmEkFk}j0mGkHk~j1mIkJkakfegeAgBgCgDg{lRjme)i*i+i-j,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gFdGdHd2g3g4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh$mKkLkik%mMkNkjk'mOkPkkkheieFhGhHhIh|l(joeSjTjUj.jVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hIdJdKd7h8h9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
280 if cls.__pydantic_post_init__: 2.m(l)llkne^i_i}l)jpe6j7j8j/j9j`i{iwcxc|i}i~iajbjcjdjejfjgj.dhjijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjTmsktk]jbeqere^lOjjeKiLiMi*jNiseteG H uevewexeyezeAeBeCeDezdEeFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eUmukvk^jVmwkxk_jce#e$e_lPjkeTiUiVi+jWi%e'eT abU V (e)e*e+e,e-e.e/e:e;eAdBd=e?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufWmykzk`jXmAkBk{jYmCkDk|jdeeevfwfxfyf`lQjle2i3i4i,j5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfCdDdEdXfYfZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgZmEkFk}j0mGkHk~j1mIkJkakfegeAgBgCgDg{lRjme)i*i+i-j,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gFdGdHd2g3g4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh$mKkLkik%mMkNkjk'mOkPkkkheieFhGhHhIh|l(joeSjTjUj.jVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hIdJdKd7h8h9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
281 self_instance.model_post_init(None)
282 elif not cls.__pydantic_root_model__: 2.m(l)llkne^i_i}l)jpe6j7j8j/j9j`i{iwcxc|i}i~iajbjcjdjejfjgj.dhjijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjTmsktk]jbeqere^lOjjeKiLiMi*jNiseteG H uevewexeyezeAeBeCeDezdEeFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eUmukvk^jVmwkxk_jce#e$e_lPjkeTiUiVi+jWi%e'eT abU V (e)e*e+e,e-e.e/e:e;eAdBd=e?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufWmykzk`jXmAkBk{jYmCkDk|jdeeevfwfxfyf`lQjle2i3i4i,j5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfCdDdEdXfYfZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgZmEkFk}j0mGkHk~j1mIkJkakfegeAgBgCgDg{lRjme)i*i+i-j,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gFdGdHd2g3g4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh$mKkLkik%mMkNkjk'mOkPkkkheieFhGhHhIh|l(joeSjTjUj.jVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hIdJdKd7h8h9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
283 # Note: if there are any private attributes, cls.__pydantic_post_init__ would exist
284 # Since it doesn't, that means that `__pydantic_private__` should be set to None
285 object.__setattr__(self_instance, "__pydantic_private__", None) 2.m(l)llkne^i_i}l)jpe6j7j8j/j9j`i{iwcxc|i}i~iajbjcjdjejfjgj.dhjijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjTmsktk]jbeqere^lOjjeKiLiMi*jNiseteG H uevewexeyezeAeBeCeDezdEeFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eUmukvk^jVmwkxk_jce#e$e_lPjkeTiUiVi+jWi%e'eT abU V (e)e*e+e,e-e.e/e:e;eAdBd=e?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufWmykzk`jXmAkBk{jYmCkDk|jdeeevfwfxfyf`lQjle2i3i4i,j5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfCdDdEdXfYfZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgZmEkFk}j0mGkHk~j1mIkJkakfegeAgBgCgDg{lRjme)i*i+i-j,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gFdGdHd2g3g4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh$mKkLkik%mMkNkjk'mOkPkkkheieFhGhHhIh|l(joeSjTjUj.jVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hIdJdKd7h8h9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
286 # SQLModel override, set relationships
287 # Get and set any relationship objects
288 for key in self_instance.__sqlmodel_relationships__: 2.m(l)llkne^i_i}l)jpe6j7j8j/j9j`i{iwcxc|i}i~iajbjcjdjejfjgj.dhjijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjTmsktk]jbeqere^lOjjeKiLiMi*jNiseteG H uevewexeyezeAeBeCeDezdEeFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eUmukvk^jVmwkxk_jce#e$e_lPjkeTiUiVi+jWi%e'eT abU V (e)e*e+e,e-e.e/e:e;eAdBd=e?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufWmykzk`jXmAkBk{jYmCkDk|jdeeevfwfxfyf`lQjle2i3i4i,j5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfCdDdEdXfYfZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgZmEkFk}j0mGkHk~j1mIkJkakfegeAgBgCgDg{lRjme)i*i+i-j,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gFdGdHd2g3g4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh$mKkLkik%mMkNkjk'mOkPkkkheieFhGhHhIh|l(joeSjTjUj.jVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hIdJdKd7h8h9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
289 value = values.get(key, Undefined) 2pewcxc.c/c4cyczcAcBcCcDcEcFcGcHcIcjeG H WcXcJcI J K L M N O P Q R S keT abU V Yc5cZc6cKcLcW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lble7 mbnb8 9 ! 0c7c8c1c9c!cMcNcOc# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJbme/ KbLb: ; = 2c#c$c3c%c'cPcQcRc? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7boe8b`b{b9b!b#b(c*c+c)c,c-cTcUcVc$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc
290 if value is not Undefined: 2pewcxc.c/c4cyczcAcBcCcDcEcFcGcHcIcjeG H WcXcJcI J K L M N O P Q R S keT abU V Yc5cZc6cKcLcW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lble7 mbnb8 9 ! 0c7c8c1c9c!cMcNcOc# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJbme/ KbLb: ; = 2c#c$c3c%c'cPcQcRc? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7boe8b`b{b9b!b#b(c*c+c)c,c-cTcUcVc$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc
291 setattr(self_instance, key, value) 2pewcxc.c/c4cyczcAcBcCcDcEcFcGcHcIcjeG H WcXcJcI J K L M N O P Q R S keT abU V Yc5cZc6cKcLcW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lble7 mbnb8 9 ! 0c7c8c1c9c!cMcNcOc# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJbme/ KbLb: ; = 2c#c$c3c%c'cPcQcRc? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7boe8b`b{b9b!b#b(c*c+c)c,c-cTcUcVc$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc
292 # End SQLModel override
293 return self_instance 2.m(l)llkne^i_i}l)jpe6j7j8j/j9j`i{iwcxc|i}i~iajbjcjdjejfjgj.dhjijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjTmsktk]jbeqere^lOjjeKiLiMi*jNiseteG H uevewexeyezeAeBeCeDezdEeFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eUmukvk^jVmwkxk_jce#e$e_lPjkeTiUiVi+jWi%e'eT abU V (e)e*e+e,e-e.e/e:e;eAdBd=e?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufWmykzk`jXmAkBk{jYmCkDk|jdeeevfwfxfyf`lQjle2i3i4i,j5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfCdDdEdXfYfZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgZmEkFk}j0mGkHk~j1mIkJkakfegeAgBgCgDg{lRjme)i*i+i-j,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gFdGdHd2g3g4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh$mKkLkik%mMkNkjk'mOkPkkkheieFhGhHhIh|l(joeSjTjUj.jVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hIdJdKd7h8h9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
295 def sqlmodel_validate( 1abcde
296 cls: Type[_TSQLModel],
297 obj: Any,
298 *,
299 strict: Union[bool, None] = None,
300 from_attributes: Union[bool, None] = None,
301 context: Union[Dict[str, Any], None] = None,
302 update: Union[Dict[str, Any], None] = None,
303 ) -> _TSQLModel:
304 if not is_table_model_class(cls): 2*l+l,l-l.l/l:l:mDn;l=l?l@l[l]lwd|d}d~daeD xdE ydSc*nQkRkSkTkUkVkWk8mEnXkYkZk0k1k2k:cLdMdNdOdf ;cg =c:b+n3k4k5k6k7k8k9k!k#k$k%k'k(k)k9mFn*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n [c]ci o ^c_c;b=b,n:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflgl!mGnhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q }c~cadk r s bdcddd?b@b[b-nnlolplqlrlsltlulvlwlxlylzlAlBlClDlElFlGlHl#mHnIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u hdidjdm v w kdldmd]b^b_b.nOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l/mIn9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A qdrdsdy B C tdudvdtcucvc:n
305 new_obj: _TSQLModel = cls.__new__(cls) 2:mDn*n8mEn+n9mFn,n!mGn-n#mHn.n/mIn:n
306 else:
307 # If table, create the new instance normally to make SQLAlchemy create
308 # the _sa_instance_state attribute
309 # The wrapper of this function should use with _partial_init()
310 with partial_init(): 2*l+l,l-l.l/l:l;l=l?l@l[l]lwd|d}d~daeD xdE ydScQkRkSkTkUkVkWkXkYkZk0k1k2k:cLdMdNdOdf ;cg =c:b3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n [c]ci o ^c_c;b=b:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q }c~cadk r s bdcddd?b@b[bnlolplqlrlsltlulvlwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u hdidjdm v w kdldmd]b^b_bOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A qdrdsdy B C tdudvdtcucvc
311 new_obj = cls() 2*l+l,l-l.l/l:l;l=l?l@l[l]lwd|d}d~daeD xdE ydScQkRkSkTkUkVkWkXkYkZk0k1k2k:cLdMdNdOdf ;cg =c:b3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n [c]ci o ^c_c;b=b:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q }c~cadk r s bdcddd?b@b[bnlolplqlrlsltlulvlwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u hdidjdm v w kdldmd]b^b_bOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A qdrdsdy B C tdudvdtcucvc
312 # SQLModel Override to get class SQLAlchemy __dict__ attributes and
313 # set them back in after creating the object
314 old_dict = new_obj.__dict__.copy() 2*l+l,l-l.l/l:l:mDn;l=l?l@l[l]lwd|d}d~daeD xdE ydSc*nQkRkSkTkUkVkWk8mEnXkYkZk0k1k2k:cLdMdNdOdf ;cg =c:b+n3k4k5k6k7k8k9k!k#k$k%k'k(k)k9mFn*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n [c]ci o ^c_c;b=b,n:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflgl!mGnhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q }c~cadk r s bdcddd?b@b[b-nnlolplqlrlsltlulvlwlxlylzlAlBlClDlElFlGlHl#mHnIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u hdidjdm v w kdldmd]b^b_b.nOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l/mIn9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A qdrdsdy B C tdudvdtcucvc:n
315 use_obj = obj 2*l+l,l-l.l/l:l:mDn;l=l?l@l[l]lwd|d}d~daeD xdE ydSc*nQkRkSkTkUkVkWk8mEnXkYkZk0k1k2k:cLdMdNdOdf ;cg =c:b+n3k4k5k6k7k8k9k!k#k$k%k'k(k)k9mFn*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n [c]ci o ^c_c;b=b,n:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflgl!mGnhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q }c~cadk r s bdcddd?b@b[b-nnlolplqlrlsltlulvlwlxlylzlAlBlClDlElFlGlHl#mHnIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u hdidjdm v w kdldmd]b^b_b.nOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l/mIn9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A qdrdsdy B C tdudvdtcucvc:n
316 if isinstance(obj, dict) and update: 2*l+l,l-l.l/l:l:mDn;l=l?l@l[l]lwd|d}d~daeD xdE ydSc*nQkRkSkTkUkVkWk8mEnXkYkZk0k1k2k:cLdMdNdOdf ;cg =c:b+n3k4k5k6k7k8k9k!k#k$k%k'k(k)k9mFn*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n [c]ci o ^c_c;b=b,n:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflgl!mGnhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q }c~cadk r s bdcddd?b@b[b-nnlolplqlrlsltlulvlwlxlylzlAlBlClDlElFlGlHl#mHnIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u hdidjdm v w kdldmd]b^b_b.nOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l/mIn9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A qdrdsdy B C tdudvdtcucvc:n
317 use_obj = {**obj, **update}
318 elif update: 2*l+l,l-l.l/l:l:mDn;l=l?l@l[l]lwd|d}d~daeD xdE ydSc*nQkRkSkTkUkVkWk8mEnXkYkZk0k1k2k:cLdMdNdOdf ;cg =c:b+n3k4k5k6k7k8k9k!k#k$k%k'k(k)k9mFn*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n [c]ci o ^c_c;b=b,n:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflgl!mGnhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q }c~cadk r s bdcddd?b@b[b-nnlolplqlrlsltlulvlwlxlylzlAlBlClDlElFlGlHl#mHnIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u hdidjdm v w kdldmd]b^b_b.nOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l/mIn9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A qdrdsdy B C tdudvdtcucvc:n
319 use_obj = ObjectWithUpdateWrapper(obj=obj, update=update) 2Sc:b;b=b?b@b[b]b^b_btcucvc
320 cls.__pydantic_validator__.validate_python( 2*l+l,l-l.l/l:l:mDn;l=l?l@l[l]lwd|d}d~daeD xdE ydSc*nQkRkSkTkUkVkWk8mEnXkYkZk0k1k2k:cLdMdNdOdf ;cg =c:b+n3k4k5k6k7k8k9k!k#k$k%k'k(k)k9mFn*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n [c]ci o ^c_c;b=b,n:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflgl!mGnhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q }c~cadk r s bdcddd?b@b[b-nnlolplqlrlsltlulvlwlxlylzlAlBlClDlElFlGlHl#mHnIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u hdidjdm v w kdldmd]b^b_b.nOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l/mIn9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A qdrdsdy B C tdudvdtcucvc:n
321 use_obj,
322 strict=strict,
323 from_attributes=from_attributes,
324 context=context,
325 self_instance=new_obj,
326 )
327 # Capture fields set to restore it later
328 fields_set = new_obj.__pydantic_fields_set__.copy() 2*l+l,l-l.l/l:l:mDn;l=l?l@l[l]lwd|d}d~daeD xdE ydSc*nQkRkSkTkUkVkWk8mEnXkYkZk0k1k2k:cLdMdNdOdf ;cg =c:b+n3k4k5k6k7k8k9k!k#k$k%k'k(k)k9mFn*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n [c]ci o ^c_c;b=b,n:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflgl!mGnhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q }c~cadk r s bdcddd?b@b[b-nnlolplqlrlsltlulvlwlxlylzlAlBlClDlElFlGlHl#mHnIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u hdidjdm v w kdldmd]b^b_b.nOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l/mIn9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A qdrdsdy B C tdudvdtcucvc:n
329 if not is_table_model_class(cls): 2*l+l,l-l.l/l:l:mDn;l=l?l@l[l]lwd|d}d~daeD xdE ydSc*nQkRkSkTkUkVkWk8mEnXkYkZk0k1k2k:cLdMdNdOdf ;cg =c:b+n3k4k5k6k7k8k9k!k#k$k%k'k(k)k9mFn*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n [c]ci o ^c_c;b=b,n:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflgl!mGnhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q }c~cadk r s bdcddd?b@b[b-nnlolplqlrlsltlulvlwlxlylzlAlBlClDlElFlGlHl#mHnIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u hdidjdm v w kdldmd]b^b_b.nOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l/mIn9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A qdrdsdy B C tdudvdtcucvc:n
330 # If not table, normal Pydantic code, set __dict__
331 new_obj.__dict__ = {**old_dict, **new_obj.__dict__} 2:mDn*n8mEn+n9mFn,n!mGn-n#mHn.n/mIn:n
332 else:
333 # Do not set __dict__, instead use setattr to trigger SQLAlchemy
334 # instrumentation
335 for key, value in {**old_dict, **new_obj.__dict__}.items(): 2*l+l,l-l.l/l:l;l=l?l@l[l]lwd|d}d~daeD xdE ydScQkRkSkTkUkVkWkXkYkZk0k1k2k:cLdMdNdOdf ;cg =c:b3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n [c]ci o ^c_c;b=b:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q }c~cadk r s bdcddd?b@b[bnlolplqlrlsltlulvlwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u hdidjdm v w kdldmd]b^b_bOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A qdrdsdy B C tdudvdtcucvc
336 setattr(new_obj, key, value) 2*l+l,l-l.l/l:l;l=l?l@l[l]lwd|d}d~daeD xdE ydScQkRkSkTkUkVkWkXkYkZk0k1k2k:cLdMdNdOdf ;cg =c:b3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n [c]ci o ^c_c;b=b:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q }c~cadk r s bdcddd?b@b[bnlolplqlrlsltlulvlwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u hdidjdm v w kdldmd]b^b_bOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A qdrdsdy B C tdudvdtcucvc
337 # Restore fields set
338 object.__setattr__(new_obj, "__pydantic_fields_set__", fields_set) 2*l+l,l-l.l/l:l:mDn;l=l?l@l[l]lwd|d}d~daeD xdE ydSc*nQkRkSkTkUkVkWk8mEnXkYkZk0k1k2k:cLdMdNdOdf ;cg =c:b+n3k4k5k6k7k8k9k!k#k$k%k'k(k)k9mFn*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n [c]ci o ^c_c;b=b,n:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflgl!mGnhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q }c~cadk r s bdcddd?b@b[b-nnlolplqlrlsltlulvlwlxlylzlAlBlClDlElFlGlHl#mHnIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u hdidjdm v w kdldmd]b^b_b.nOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l/mIn9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A qdrdsdy B C tdudvdtcucvc:n
339 # Get and set any relationship objects
340 if is_table_model_class(cls): 2*l+l,l-l.l/l:l:mDn;l=l?l@l[l]lwd|d}d~daeD xdE ydSc*nQkRkSkTkUkVkWk8mEnXkYkZk0k1k2k:cLdMdNdOdf ;cg =c:b+n3k4k5k6k7k8k9k!k#k$k%k'k(k)k9mFn*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n [c]ci o ^c_c;b=b,n:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflgl!mGnhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q }c~cadk r s bdcddd?b@b[b-nnlolplqlrlsltlulvlwlxlylzlAlBlClDlElFlGlHl#mHnIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u hdidjdm v w kdldmd]b^b_b.nOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l/mIn9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A qdrdsdy B C tdudvdtcucvc:n
341 for key in new_obj.__sqlmodel_relationships__: 2*l+l,l-l.l/l:l;l=l?l@l[l]lwd|d}d~daeD xdE ydScQkRkSkTkUkVkWkXkYkZk0k1k2k:cLdMdNdOdf ;cg =c:b3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n [c]ci o ^c_c;b=b:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q }c~cadk r s bdcddd?b@b[bnlolplqlrlsltlulvlwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u hdidjdm v w kdldmd]b^b_bOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A qdrdsdy B C tdudvdtcucvc
342 value = getattr(use_obj, key, Undefined) 1DEfghniojpqkrsltumvwxzAyBC
343 if value is not Undefined: 1DEfghniojpqkrsltumvwxzAyBC
344 setattr(new_obj, key, value)
345 return new_obj 2*l+l,l-l.l/l:l:mDn;l=l?l@l[l]lwd|d}d~daeD xdE ydSc*nQkRkSkTkUkVkWk8mEnXkYkZk0k1k2k:cLdMdNdOdf ;cg =c:b+n3k4k5k6k7k8k9k!k#k$k%k'k(k)k9mFn*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n [c]ci o ^c_c;b=b,n:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflgl!mGnhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q }c~cadk r s bdcddd?b@b[b-nnlolplqlrlsltlulvlwlxlylzlAlBlClDlElFlGlHl#mHnIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u hdidjdm v w kdldmd]b^b_b.nOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l/mIn9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A qdrdsdy B C tdudvdtcucvc:n
347 def sqlmodel_init(*, self: "SQLModel", data: Dict[str, Any]) -> None: 1Fabcde
348 old_dict = self.__dict__.copy() 2|n*lzoAo.m(l)llk+l,l-l.l/l:lne^i_i}l;n:mNn)j)npe6j7j8j/jXnYn5n9j`i{iwcxc|i}i~iajbjcjdjejfjgj;l=l?l@l[l]lwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNj=nQkhoioTmsktk]jRkSkTkUkVkWkbeqere^l7n8mJnOj#njeKiLiMi*jOnPnZnNiseteG H uevewexeyezeAeBeCeDeXkYkZk0k1k2k:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e?n3kjokoUmukvk^j4k5k6k7k8k9k@n!klomoVmwkxk_j#k$k%k'k(k)kce#e$e_l8n9mKnPj$nkeTiUiVi+jQnRn0nWi%e'eT abU V (e)e*e+e,e-e.e/e:e;e*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfuf[n:knoooWmykzk`j;k=k?k@k[k]k]n^kpoqoXmAkBk{j_k`k{k|k}k~k^nalrosoYmCkDk|jblcldlelflgldeeevfwfxfyf`l9n!mLnQj%nle2i3i4i,jSnTn1n5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzg_nnltouoZmEkFk}jolplqlrlsltl`nulvowo0mGkHk~jvlwlxlylzlAl{nBlxoyo1mIkJkakClDlElFlGlHlfegeAgBgCgDg{l!n#mMnRj'nme)i*i+i-jUnVn2n,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh}nOlBoCo$mKkLkikPlQlRlSlTlUl~nVlDoEo%mMkNkjkWlXlYlZl0l1lao2lFoGo'mOkPkkk3l4l5l6l7l8lheieFhGhHhIh|l(n/mWn(j/noeSjTjUj.j3n4n6nVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
349 if not is_table_model_class(self.__class__): 2|n*lzoAo.m(l)llk+l,l-l.l/l:lne^i_i}l;n:mNn)j)npe6j7j8j/jXnYn5n9j`i{iwcxc|i}i~iajbjcjdjejfjgj;l=l?l@l[l]lwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNj=nQkhoioTmsktk]jRkSkTkUkVkWkbeqere^l7n8mJnOj#njeKiLiMi*jOnPnZnNiseteG H uevewexeyezeAeBeCeDeXkYkZk0k1k2k:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e?n3kjokoUmukvk^j4k5k6k7k8k9k@n!klomoVmwkxk_j#k$k%k'k(k)kce#e$e_l8n9mKnPj$nkeTiUiVi+jQnRn0nWi%e'eT abU V (e)e*e+e,e-e.e/e:e;e*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfuf[n:knoooWmykzk`j;k=k?k@k[k]k]n^kpoqoXmAkBk{j_k`k{k|k}k~k^nalrosoYmCkDk|jblcldlelflgldeeevfwfxfyf`l9n!mLnQj%nle2i3i4i,jSnTn1n5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzg_nnltouoZmEkFk}jolplqlrlsltl`nulvowo0mGkHk~jvlwlxlylzlAl{nBlxoyo1mIkJkakClDlElFlGlHlfegeAgBgCgDg{l!n#mMnRj'nme)i*i+i-jUnVn2n,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh}nOlBoCo$mKkLkikPlQlRlSlTlUl~nVlDoEo%mMkNkjkWlXlYlZl0l1lao2lFoGo'mOkPkkk3l4l5l6l7l8lheieFhGhHhIh|l(n/mWn(j/noeSjTjUj.j3n4n6nVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
350 self.__pydantic_validator__.validate_python( 2|n*lzoAolk+l,l-l.l/l:l;n:mNn)nXnYn5n;l=l?l@l[l]lwd|d}d~daeD xdE ydSc=nQkhoio]jRkSkTkUkVkWk7n8mJn#nOnPnZnXkYkZk0k1k2k:cLdMdNdOdf ;cg =c:b?n3kjoko^j4k5k6k7k8k9k@n!klomo_j#k$k%k'k(k)k8n9mKn$nQnRn0n*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n [c]ci o ^c_c;b=b[n:knooo`j;k=k?k@k[k]k]n^kpoqo{j_k`k{k|k}k~k^nalroso|jblcldlelflgl9n!mLn%nSnTn1nhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q }c~cadk r s bdcddd?b@b[b_nnltouo}jolplqlrlsltl`nulvowo~jvlwlxlylzlAl{nBlxoyoakClDlElFlGlHl!n#mMn'nUnVn2nIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u hdidjdm v w kdldmd]b^b_b}nOlBoCoikPlQlRlSlTlUl~nVlDoEojkWlXlYlZl0l1lao2lFoGokk3l4l5l6l7l8l(n/mWn/n3n4n6n9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A qdrdsdy B C tdudvdtcucvc
351 data,
352 self_instance=self,
353 )
354 else:
355 sqlmodel_table_construct( 2.m(l)llkne^i_i}l)jpe6j7j8j/j9j`i{iwcxc|i}i~iajbjcjdjejfjgj.dhjijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjTmsktk]jbeqere^lOjjeKiLiMi*jNiseteG H uevewexeyezeAeBeCeDezdEeFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eUmukvk^jVmwkxk_jce#e$e_lPjkeTiUiVi+jWi%e'eT abU V (e)e*e+e,e-e.e/e:e;eAdBd=e?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufWmykzk`jXmAkBk{jYmCkDk|jdeeevfwfxfyf`lQjle2i3i4i,j5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfCdDdEdXfYfZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgZmEkFk}j0mGkHk~j1mIkJkakfegeAgBgCgDg{lRjme)i*i+i-j,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gFdGdHd2g3g4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh$mKkLkik%mMkNkjk'mOkPkkkheieFhGhHhIh|l(joeSjTjUj.jVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hIdJdKd7h8h9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
356 self_instance=self,
357 values=data,
358 )
359 object.__setattr__( 2|n*l.m(l)llk+l,l-l.l/l:lne^i_i}l;n:mNn)jpe6j7j8j/jXnYn5n9j`i{iwcxc|i}i~iajbjcjdjejfjgj;l=l?l@l[l]lwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNj=nQkTmsktk]jRkSkTkUkVkWkbeqere^l7n8mJnOjjeKiLiMi*jOnPnZnNiseteG H uevewexeyezeAeBeCeDeXkYkZk0k1k2k:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e?n3kUmukvk^j4k5k6k7k8k9k@n!kVmwkxk_j#k$k%k'k(k)kce#e$e_l8n9mKnPjkeTiUiVi+jQnRn0nWi%e'eT abU V (e)e*e+e,e-e.e/e:e;e*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfuf[n:kWmykzk`j;k=k?k@k[k]k]n^kXmAkBk{j_k`k{k|k}k~k^nalYmCkDk|jblcldlelflgldeeevfwfxfyf`l9n!mLnQjle2i3i4i,jSnTn1n5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzg_nnlZmEkFk}jolplqlrlsltl`nul0mGkHk~jvlwlxlylzlAl{nBl1mIkJkakClDlElFlGlHlfegeAgBgCgDg{l!n#mMnRjme)i*i+i-jUnVn2n,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEh}nOl$mKkLkikPlQlRlSlTlUl~nVl%mMkNkjkWlXlYlZl0l1lao2l'mOkPkkk3l4l5l6l7l8lheieFhGhHhIh|l(n/mWn(joeSjTjUj.j3n4n6nVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
360 self,
361 "__dict__",
362 {**old_dict, **self.__dict__},
363 )
365else:
366 from pydantic import BaseConfig as BaseConfig # type: ignore[assignment] 1Fabcde
367 from pydantic.errors import ConfigError 1Fabcde
368 from pydantic.fields import ( # type: ignore[attr-defined, no-redef] 1Fabcde
369 SHAPE_SINGLETON,
370 ModelField,
371 )
372 from pydantic.fields import ( # type: ignore[attr-defined, no-redef] 1Fabcde
373 Undefined as Undefined, # noqa
374 )
375 from pydantic.fields import ( # type: ignore[attr-defined, no-redef] 1Fabcde
376 UndefinedType as UndefinedType,
377 )
378 from pydantic.main import ( # type: ignore[no-redef] 1Fabcde
379 ModelMetaclass as ModelMetaclass,
380 )
381 from pydantic.main import validate_model 1Fabcde
382 from pydantic.typing import resolve_annotations 1Fabcde
383 from pydantic.utils import ROOT_KEY, ValueItems 1Fabcde
384 from pydantic.utils import ( # type: ignore[no-redef] 1Fabcde
385 Representation as Representation,
386 )
388 class SQLModelConfig(BaseConfig): # type: ignore[no-redef] 1Fabcde
389 table: Optional[bool] = None # type: ignore[misc] 1Fabcde
390 registry: Optional[Any] = None # type: ignore[misc] 1Fabcde
392 def get_config_value( 1abcde
393 *, model: InstanceOrType["SQLModel"], parameter: str, default: Any = None
394 ) -> Any:
395 return getattr(model.__config__, parameter, default) # type: ignore[union-attr] 2F ne^i_irnsnfm2m(mboNn)j)npe6j7j8jfn/j~lgnmkXnYn5n9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjLoa beqeretnunjm3m)mcoJnOj#njeKiLiMihn*jaminnkOnPnZnNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eHob ce#e$evnwnnm4m*mdoKnPj$nkeTiUiVijn+jbmknokQnRn0nWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufIoc deeevfwfxfyfxnynsm5m+meoLnQj%nle2i3i4iln,jcmmnpkSnTn1n5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgJod fegeAgBgCgDgznAnBm6m,mfoMnRj'nme)i*i+inn-jdmonqkUnVn2n,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhKoe heieFhGhHhIhBnCnKm7m-mgoWn(j/noeSjTjUjpn.jemqnrk3n4n6nVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJiMo
397 def set_config_value( 1abcde
398 *,
399 model: InstanceOrType["SQLModel"],
400 parameter: str,
401 value: Any,
402 ) -> None:
403 setattr(model.__config__, parameter, value) # type: ignore 2F ne^i_irnsnfm2m(mbo)jpe6j7j8jfn/j~lgnmk9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqeretnunjm3m)mcoOjjeKiLiMihn*jaminnkNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$evnwnnm4m*mdoPjkeTiUiVijn+jbmknokWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyfxnynsm5m+meoQjle2i3i4iln,jcmmnpk5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDgznAnBm6m,mfoRjme)i*i+inn-jdmonqk,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIhBnCnKm7m-mgo(joeSjTjUjpn.jemqnrkVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
405 def get_model_fields(model: InstanceOrType[BaseModel]) -> Dict[str, "FieldInfo"]: 1Fabcde
406 return model.__fields__ # type: ignore 2F ne^i_irnsnfm2m(mbo)jpe6j7j8jfn/j~lgnmk9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqeretnunjm3m)mcoOjjeKiLiMihn*jaminnkNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$evnwnnm4m*mdoPjkeTiUiVijn+jbmknokWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyfxnynsm5m+meoQjle2i3i4iln,jcmmnpk5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDgznAnBm6m,mfoRjme)i*i+inn-jdmonqk,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIhBnCnKm7m-mgo(joeSjTjUjpn.jemqnrkVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
408 def get_fields_set( 1abcde
409 object: InstanceOrType["SQLModel"],
410 ) -> Union[Set[str], Callable[[BaseModel], Set[str]]]:
411 return object.__fields_set__ 2NnJnKnLnMnWn
413 def init_pydantic_private_attrs(new_object: InstanceOrType["SQLModel"]) -> None: 1Fabcde
414 object.__setattr__(new_object, "__fields_set__", set()) 2|n*lzoAo.m(l)llk+l,l-l.l/l:lne^i_i;n:mDnNn)j)npe6j7j8j/jXnYn5n9j`i{iwcxc|i}i~iajbjcjdjejfjgj;l=l?l@l[l]lwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjLo=nQkhoioTmsktk]jRkSkTkUkVkWkbeqere7n8mEnJnOj#njeKiLiMi*jOnPnZnNiseteG H uevewexeyezeAeBeCeDeXkYkZk0k1k2k:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eHo?n3kjokoUmukvk^j4k5k6k7k8k9k@n!klomoVmwkxk_j#k$k%k'k(k)kce#e$e8n9mFnKnPj$nkeTiUiVi+jQnRn0nWi%e'eT abU V (e)e*e+e,e-e.e/e:e;e*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufIo[n:knoooWmykzk`j;k=k?k@k[k]k]n^kpoqoXmAkBk{j_k`k{k|k}k~k^nalrosoYmCkDk|jblcldlelflgldeeevfwfxfyf9n!mGnLnQj%nle2i3i4i,jSnTn1n5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgJo_nnltouoZmEkFk}jolplqlrlsltl`nulvowo0mGkHk~jvlwlxlylzlAl{nBlxoyo1mIkJkakClDlElFlGlHlfegeAgBgCgDg!n#mHnMnRj'nme)i*i+i-jUnVn2n,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhKo}nOlBoCo$mKkLkikPlQlRlSlTlUl~nVlDoEo%mMkNkjkWlXlYlZl0l1lao2lFoGo'mOkPkkk3l4l5l6l7l8lheieFhGhHhIh(n/mInWn(j/noeSjTjUj.j3n4n6nVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJiMo
416 def get_annotations(class_dict: Dict[str, Any]) -> Dict[str, Any]: 1Fabcde
417 return resolve_annotations( # type: ignore[no-any-return] 2F ne^i_irnsnfm2m(mboNn)j)npe6j7j8jfn/j~lgnmkXnYn5n9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjLoa beqeretnunjm3m)mcoJnOj#njeKiLiMihn*jaminnkOnPnZnNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eHob ce#e$evnwnnm4m*mdoKnPj$nkeTiUiVijn+jbmknokQnRn0nWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufIoc deeevfwfxfyfxnynsm5m+meoLnQj%nle2i3i4iln,jcmmnpkSnTn1n5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgJod fegeAgBgCgDgznAnBm6m,mfoMnRj'nme)i*i+inn-jdmonqkUnVn2n,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhKoe heieFhGhHhIhBnCnKm7m-mgoWn(j/noeSjTjUjpn.jemqnrk3n4n6nVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJiMo
418 class_dict.get("__annotations__", {}),
419 class_dict.get("__module__", None),
420 )
422 def is_table_model_class(cls: Type[Any]) -> bool: 1Fabcde
423 config = getattr(cls, "__config__", None) 2F |n*lzoAo.m(l)llk+l,l-l.l/l:lne^i_i;n:mrnsnfm2m(mboNn)j)npe6j7j8jfn/j~lgnmkXnYn5n9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgj;l=l?l@l[l]lwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjLoa =nQkhoioTmsktk]jRkSkTkUkVkWkbeqere7n8mtnunjm3m)mcoJnOj#njeKiLiMihn*jaminnkOnPnZnNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDeXkYkZk0k1k2k:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eHob ?n3kjokoUmukvk^j4k5k6k7k8k9k@n!klomoVmwkxk_j#k$k%k'k(k)kce#e$e8n9mvnwnnm4m*mdoKnPj$nkeTiUiVijn+jbmknokQnRn0nWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufIoc [n:knoooWmykzk`j;k=k?k@k[k]k]n^kpoqoXmAkBk{j_k`k{k|k}k~k^nalrosoYmCkDk|jblcldlelflgldeeevfwfxfyf9n!mxnynsm5m+meoLnQj%nle2i3i4iln,jcmmnpkSnTn1n5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAmhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgJod _nnltouoZmEkFk}jolplqlrlsltl`nulvowo0mGkHk~jvlwlxlylzlAl{nBlxoyo1mIkJkakClDlElFlGlHlfegeAgBgCgDg!n#mznAnBm6m,mfoMnRj'nme)i*i+inn-jdmonqkUnVn2n,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhKoe }nOlBoCo$mKkLkikPlQlRlSlTlUl~nVlDoEo%mMkNkjkWlXlYlZl0l1lao2lFoGo'mOkPkkk3l4l5l6l7l8lheieFhGhHhIh(n/mBnCnKm7m-mgoWn(j/noeSjTjUjpn.jemqnrk3n4n6nVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSm9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJiMo
424 if config: 2F |n*lzoAo.m(l)llk+l,l-l.l/l:lne^i_i;n:mrnsnfm2m(mboNn)j)npe6j7j8jfn/j~lgnmkXnYn5n9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgj;l=l?l@l[l]lwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjLoa =nQkhoioTmsktk]jRkSkTkUkVkWkbeqere7n8mtnunjm3m)mcoJnOj#njeKiLiMihn*jaminnkOnPnZnNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDeXkYkZk0k1k2k:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eHob ?n3kjokoUmukvk^j4k5k6k7k8k9k@n!klomoVmwkxk_j#k$k%k'k(k)kce#e$e8n9mvnwnnm4m*mdoKnPj$nkeTiUiVijn+jbmknokQnRn0nWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufIoc [n:knoooWmykzk`j;k=k?k@k[k]k]n^kpoqoXmAkBk{j_k`k{k|k}k~k^nalrosoYmCkDk|jblcldlelflgldeeevfwfxfyf9n!mxnynsm5m+meoLnQj%nle2i3i4iln,jcmmnpkSnTn1n5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAmhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgJod _nnltouoZmEkFk}jolplqlrlsltl`nulvowo0mGkHk~jvlwlxlylzlAl{nBlxoyo1mIkJkakClDlElFlGlHlfegeAgBgCgDg!n#mznAnBm6m,mfoMnRj'nme)i*i+inn-jdmonqkUnVn2n,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhKoe }nOlBoCo$mKkLkikPlQlRlSlTlUl~nVlDoEo%mMkNkjkWlXlYlZl0l1lao2lFoGo'mOkPkkk3l4l5l6l7l8lheieFhGhHhIh(n/mBnCnKm7m-mgoWn(j/noeSjTjUjpn.jemqnrk3n4n6nVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSm9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJiMo
425 return getattr(config, "table", False) 2F |n*lzoAo.m(l)llk+l,l-l.l/l:lne^i_i;n:mrnsnfm2m(mboNn)j)npe6j7j8jfn/j~lgnmkXnYn5n9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgj;l=l?l@l[l]lwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjLoa =nQkhoioTmsktk]jRkSkTkUkVkWkbeqere7n8mtnunjm3m)mcoJnOj#njeKiLiMihn*jaminnkOnPnZnNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDeXkYkZk0k1k2k:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eHob ?n3kjokoUmukvk^j4k5k6k7k8k9k@n!klomoVmwkxk_j#k$k%k'k(k)kce#e$e8n9mvnwnnm4m*mdoKnPj$nkeTiUiVijn+jbmknokQnRn0nWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufIoc [n:knoooWmykzk`j;k=k?k@k[k]k]n^kpoqoXmAkBk{j_k`k{k|k}k~k^nalrosoYmCkDk|jblcldlelflgldeeevfwfxfyf9n!mxnynsm5m+meoLnQj%nle2i3i4iln,jcmmnpkSnTn1n5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAmhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgJod _nnltouoZmEkFk}jolplqlrlsltl`nulvowo0mGkHk~jvlwlxlylzlAl{nBlxoyo1mIkJkakClDlElFlGlHlfegeAgBgCgDg!n#mznAnBm6m,mfoMnRj'nme)i*i+inn-jdmonqkUnVn2n,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhKoe }nOlBoCo$mKkLkikPlQlRlSlTlUl~nVlDoEo%mMkNkjkWlXlYlZl0l1lao2lFoGo'mOkPkkk3l4l5l6l7l8lheieFhGhHhIh(n/mBnCnKm7m-mgoWn(j/noeSjTjUjpn.jemqnrk3n4n6nVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSm9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJiMo
426 return False
428 def get_relationship_to( 1abcde
429 name: str,
430 rel_info: "RelationshipInfo",
431 annotation: Any,
432 ) -> Any:
433 temp_field = ModelField.infer( # type: ignore[attr-defined] 2mkwcxcD E .c/c4cyczc:jAcBcCcDcEcFcGcHcIcnkG H f g WcXcJcI J ;jK L M N O P Q R S okT abU V h n i o Yc5cZc6cKcLcW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbpk7 mbnb8 9 ! j p q k r s 0c7c8c1c9c!cMcNcOc# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJbqk/ KbLb: ; = l t u m v w 2c#c$c3c%c'cPcQcRc? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7brk8b`b{b9b!b#bx z A y B C (c*c+c)c,c-cTcUcVc$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc
434 name=name,
435 value=rel_info,
436 annotation=annotation,
437 class_validators=None,
438 config=SQLModelConfig,
439 )
440 relationship_to = temp_field.type_ 2mkwcxcD E .c/c4cyczc:jAcBcCcDcEcFcGcHcIcnkG H f g WcXcJcI J ;jK L M N O P Q R S okT abU V h n i o Yc5cZc6cKcLcW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbpk7 mbnb8 9 ! j p q k r s 0c7c8c1c9c!cMcNcOc# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJbqk/ KbLb: ; = l t u m v w 2c#c$c3c%c'cPcQcRc? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7brk8b`b{b9b!b#bx z A y B C (c*c+c)c,c-cTcUcVc$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc
441 if isinstance(temp_field.type_, ForwardRef): 2mkwcxcD E .c/c4cyczc:jAcBcCcDcEcFcGcHcIcnkG H f g WcXcJcI J ;jK L M N O P Q R S okT abU V h n i o Yc5cZc6cKcLcW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbpk7 mbnb8 9 ! j p q k r s 0c7c8c1c9c!cMcNcOc# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJbqk/ KbLb: ; = l t u m v w 2c#c$c3c%c'cPcQcRc? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7brk8b`b{b9b!b#bx z A y B C (c*c+c)c,c-cTcUcVc$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc
442 relationship_to = temp_field.type_.__forward_arg__ 2mkwcxcD E .c/c4cyczc:jAcBcCcDcEcFcGcHcIcnkG H f g WcXcJcI J ;jK L M N O P Q R S okT abU V h n i o Yc5cZc6cKcLcW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbpk7 mbnb8 9 ! j p q k r s 0c7c8c1c9c!cMcNcOc# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJbqk/ KbLb: ; = l t u m v w 2c#c$c3c%c'cPcQcRc? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7brk8b`b{b9b!b#bx z A y B C (c*c+c)c,c-cTcUcVc$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc
443 return relationship_to 2mkwcxcD E .c/c4cyczc:jAcBcCcDcEcFcGcHcIcnkG H f g WcXcJcI J ;jK L M N O P Q R S okT abU V h n i o Yc5cZc6cKcLcW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbpk7 mbnb8 9 ! j p q k r s 0c7c8c1c9c!cMcNcOc# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJbqk/ KbLb: ; = l t u m v w 2c#c$c3c%c'cPcQcRc? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7brk8b`b{b9b!b#bx z A y B C (c*c+c)c,c-cTcUcVc$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc
445 def is_field_noneable(field: "FieldInfo") -> bool: 1Fabcde
446 if not field.required: # type: ignore[attr-defined] 2F ne^i_irnsnfm2m(m)jpe6j7j8j/j~lmk9j`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqeretnunjm3m)mOjjeKiLiMi*jamnkNiseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$evnwnnm4m*mPjkeTiUiVi+jbmokWi%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyfxnynsm5m+mQjle2i3i4i,jcmpk5izfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDgznAnBm6m,mRjme)i*i+i-jdmqk,iEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIhBnCnKm7m-m(joeSjTjUj.jemrkVjJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
447 # Taken from [Pydantic](https://github.com/samuelcolvin/pydantic/blob/v1.8.2/pydantic/fields.py#L946-L947)
448 return field.allow_none and ( # type: ignore[attr-defined] 2F ne^i_ifm2m)jpe6j7j8j/j~lmk9j`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqerejm3mOjjeKiLiMi*jamnkNiseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$enm4mPjkeTiUiVi+jbmokWi%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyfsm5mQjle2i3i4i,jcmpk5izfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDgBm6mRjme)i*i+i-jdmqk,iEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIhKm7m(joeSjTjUj.jemrkVjJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
449 field.shape != SHAPE_SINGLETON or not field.sub_fields # type: ignore[attr-defined]
450 )
451 return field.allow_none # type: ignore[no-any-return, attr-defined] 2F ne^i_irnsnfm(m)jpe6j7j8j~lmk9j`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqeretnunjm)mOjjeKiLiMiamnkNiseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$evnwnnm*mPjkeTiUiVibmokWi%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyfxnynsm+mQjle2i3i4icmpk5izfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDgznAnBm,mRjme)i*i+idmqk,iEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIhBnCnKm-m(joeSjTjUjemrkVjJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
453 def get_sa_type_from_field(field: Any) -> Any: 1Fabcde
454 if isinstance(field.type_, type) and field.shape == SHAPE_SINGLETON: 2F ne^i_irnsnfm2m(m)jpe6j7j8jfn/j~lgnmk9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqeretnunjm3m)mOjjeKiLiMihn*jaminnkNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$evnwnnm4m*mPjkeTiUiVijn+jbmknokWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyfxnynsm5m+mQjle2i3i4iln,jcmmnpk5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDgznAnBm6m,mRjme)i*i+inn-jdmonqk,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIhBnCnKm7m-m(joeSjTjUjpn.jemqnrkVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
455 return field.type_ 2F ne^i_irnsnfm2m(m)jpe6j7j8jfn/j~lgnmk9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqeretnunjm3m)mOjjeKiLiMihn*jaminnkNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$evnwnnm4m*mPjkeTiUiVijn+jbmknokWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyfxnynsm5m+mQjle2i3i4iln,jcmmnpk5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDgznAnBm6m,mRjme)i*i+inn-jdmonqk,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIhBnCnKm7m-m(joeSjTjUjpn.jemqnrkVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
456 raise ValueError(f"The field {field.name} has no matching SQLAlchemy type") 2;m=m?m@m[m]m^m_m`m{m|m}m~manbncndnen
458 def get_field_metadata(field: Any) -> Any: 1Fabcde
459 metadata = FakeMetadata() 2F ne^i_irnsnfm2m(m)jpe6j7j8jfn/j~lgnmk9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqeretnunjm3m)mOjjeKiLiMihn*jaminnkNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$evnwnnm4m*mPjkeTiUiVijn+jbmknokWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyfxnynsm5m+mQjle2i3i4iln,jcmmnpk5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDgznAnBm6m,mRjme)i*i+inn-jdmonqk,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIhBnCnKm7m-m(joeSjTjUjpn.jemqnrkVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
460 metadata.max_length = field.field_info.max_length 2F ne^i_irnsnfm2m(m)jpe6j7j8jfn/j~lgnmk9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqeretnunjm3m)mOjjeKiLiMihn*jaminnkNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$evnwnnm4m*mPjkeTiUiVijn+jbmknokWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyfxnynsm5m+mQjle2i3i4iln,jcmmnpk5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDgznAnBm6m,mRjme)i*i+inn-jdmonqk,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIhBnCnKm7m-m(joeSjTjUjpn.jemqnrkVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
461 metadata.max_digits = getattr(field.type_, "max_digits", None) 2F ne^i_irnsnfm2m(m)jpe6j7j8jfn/j~lgnmk9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqeretnunjm3m)mOjjeKiLiMihn*jaminnkNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$evnwnnm4m*mPjkeTiUiVijn+jbmknokWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyfxnynsm5m+mQjle2i3i4iln,jcmmnpk5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDgznAnBm6m,mRjme)i*i+inn-jdmonqk,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIhBnCnKm7m-m(joeSjTjUjpn.jemqnrkVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
462 metadata.decimal_places = getattr(field.type_, "decimal_places", None) 2F ne^i_irnsnfm2m(m)jpe6j7j8jfn/j~lgnmk9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqeretnunjm3m)mOjjeKiLiMihn*jaminnkNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$evnwnnm4m*mPjkeTiUiVijn+jbmknokWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyfxnynsm5m+mQjle2i3i4iln,jcmmnpk5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDgznAnBm6m,mRjme)i*i+inn-jdmonqk,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIhBnCnKm7m-m(joeSjTjUjpn.jemqnrkVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
463 return metadata 2F ne^i_irnsnfm2m(m)jpe6j7j8jfn/j~lgnmk9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqeretnunjm3m)mOjjeKiLiMihn*jaminnkNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$evnwnnm4m*mPjkeTiUiVijn+jbmknokWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyfxnynsm5m+mQjle2i3i4iln,jcmmnpk5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDgznAnBm6m,mRjme)i*i+inn-jdmonqk,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIhBnCnKm7m-m(joeSjTjUjpn.jemqnrkVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
465 def post_init_field_info(field_info: FieldInfo) -> None: 1Fabcde
466 field_info._validate() # type: ignore[attr-defined] 2F ne^i_irnsnfm2m(mboNoOoNn)j)npe6j7j8jfn/j~lgnPomkXnYn5n9j;m=m?m`i{iwcxcgm|i}i~iajbjcjdjejhmimfjgjwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczc:jAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNja beqeretnunjm3m)mcoQoRoJnOj#njeKiLiMihn*jaminSonkOnPnZnNi@m[m]mseteG H kmuevewexeyezeAeBelmmmCeDe:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J ;jK L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eb ce#e$evnwnnm4m*mdoToUoKnPj$nkeTiUiVijn+jbmknVookQnRn0nWi^m_m`m%e'eT abU V om(e)e*e+e,e-e.e/epmqm:e;erm?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cb=jbkY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufc deeevfwfxfyfxnynsm5m+meoWoXoLnQj%nle2i3i4iln,jcmmnYopkSnTn1n5i{m|m}mzfAfBfCf7 mbnb8 9 ! tmumDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfvmwmxmymTfUfVfWfzmAm`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb?jckdk% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgd fegeAgBgCgDgznAnBm6m,mfoZo0oMnRj'nme)i*i+inn-jdmon1oqkUnVn2n,i~manbnEgFgGgHg/ KbLb: ; = CmDmIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgEmFmGmHmYgZg0g1gImJmedfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb@jekfk[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhe heieFhGhHhIhBnCnKm7m-mgo2o3oWn(j/noeSjTjUjpn.jemqn4ork3n4n6nVjcndnenJhKhLhMh8b`b{b9b!b#bLmMmNhOhPhQhRhShThUhVhWhXhYhZh0h1h2hNmOmPmQm3h4h5h6hRmSmndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac[jgkhk'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
468 def _calculate_keys( 1abcde
469 self: "SQLModel",
470 include: Optional[Mapping[Union[int, str], Any]],
471 exclude: Optional[Mapping[Union[int, str], Any]],
472 exclude_unset: bool,
473 update: Optional[Dict[str, Any]] = None,
474 ) -> Optional[AbstractSet[str]]:
475 if include is None and exclude is None and not exclude_unset: 2*l(l)llk+l,l-l.l/l:lne^i_i;n`i{iwcxc|i}i~iajbjcjdjejfjgj;l=l?l@l[l]lwd|d}d~daeD .dxdhjE ydScijjjkjljmjnj.c/c4cojpjqjrjsjtjujyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjQksktk]jRkSkTkUkVkWkbeqere7nseteG H uevewexeyezeAeBeCeDeXkYkZk0k1k2k:cLdMdNdOdf zd;cEeg =c:bFeGeHeIeJeKeWcXcJcLeMeNeOePeQeReI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e3kukvk^j4k5k6k7k8k9k!kwkxk_j#k$k%k'k(k)kce#e$e8n%e'eT abU V (e)e*e+e,e-e.e/e:e;e*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@e[e]e^e_eYc5cZc6cKcLc`e{e|e}e~eafbfW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfuf:kykzk`j;k=k?k@k[k]k^kAkBk{j_k`k{k|k}k~kalCkDk|jblcldlelflgldeeevfwfxfyf9nzfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f%f'f(f)f*f+f,f-f.f/f:f;f# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgnlEkFk}jolplqlrlsltlulGkHk~jvlwlxlylzlAlBlIkJkakClDlElFlGlHlfegeAgBgCgDg!nEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g+g,g-g.g/g:g;g=g?g@g[g]g? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhOlKkLkikPlQlRlSlTlUlVlMkNkjkWlXlYlZl0l1l2lOkPkkk3l4l5l6l7l8lheieFhGhHhIh(nJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$h%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h:h;h=h?h@h[h]h^h_h`h{h|h$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
476 # Original in Pydantic:
477 # return None
478 # Updated to not return SQLAlchemy attributes
479 # Do not include relationships as that would easily lead to infinite
480 # recursion, or traversing the whole database
481 return ( 2Qksktk]jRkSkTkUkVkWkbeqere7nseteG H uevewexeyezeAeBeCeDeXkYkZk0k1k2k:cLdMdNdOdf zd;cEeg =c:bFeGeHeIeJeKeWcXcJcLeMeNeOePeQeReI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e3kukvk^j4k5k6k7k8k9k!kwkxk_j#k$k%k'k(k)kce#e$e8n%e'eT abU V (e)e*e+e,e-e.e/e:e;e*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@e[e]e^e_eYc5cZc6cKcLc`e{e|e}e~eafbfW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfuf:kykzk`j;k=k?k@k[k]k^kAkBk{j_k`k{k|k}k~kalCkDk|jblcldlelflgldeeevfwfxfyf9nzfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f%f'f(f)f*f+f,f-f.f/f:f;f# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgnlEkFk}jolplqlrlsltlulGkHk~jvlwlxlylzlAlBlIkJkakClDlElFlGlHlfegeAgBgCgDg!nEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g+g,g-g.g/g:g;g=g?g@g[g]g? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhOlKkLkikPlQlRlSlTlUlVlMkNkjkWlXlYlZl0l1l2lOkPkkk3l4l5l6l7l8lheieFhGhHhIh(nJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$h%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h:h;h=h?h@h[h]h^h_h`h{h|h$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
482 self.__fields__.keys() # noqa
483 ) # | self.__sqlmodel_relationships__.keys()
485 keys: AbstractSet[str]
486 if exclude_unset: 2lkwdD xdE ydSc]j:cf ;cg =c:b^j_j?c@ch n [c]ci o ^c_c;b=b`j{j|j`c{c|cj p q }c~cadk r s bdcddd?b@b[b}j~jakedfdgdl t u hdidjdm v w kdldmd]b^b_bikjkkkndodpdx z A qdrdsdy B C tdudvdtcucvc
487 keys = self.__fields_set__.copy() # noqa 2lkwdD xdE ydSc]j:cf ;cg =c:b^j_j?c@ch n [c]ci o ^c_c;b=b`j{j|j`c{c|cj p q }c~cadk r s bdcddd?b@b[b}j~jakedfdgdl t u hdidjdm v w kdldmd]b^b_bikjkkkndodpdx z A qdrdsdy B C tdudvdtcucvc
488 else:
489 # Original in Pydantic:
490 # keys = self.__dict__.keys()
491 # Updated to not return SQLAlchemy attributes
492 # Do not include relationships as that would easily lead to infinite
493 # recursion, or traversing the whole database
494 keys = (
495 self.__fields__.keys() # noqa
496 ) # | self.__sqlmodel_relationships__.keys()
497 if include is not None: 2lkwdD xdE ydSc]j:cf ;cg =c:b^j_j?c@ch n [c]ci o ^c_c;b=b`j{j|j`c{c|cj p q }c~cadk r s bdcddd?b@b[b}j~jakedfdgdl t u hdidjdm v w kdldmd]b^b_bikjkkkndodpdx z A qdrdsdy B C tdudvdtcucvc
498 keys &= include.keys()
500 if update: 2lkwdD xdE ydSc]j:cf ;cg =c:b^j_j?c@ch n [c]ci o ^c_c;b=b`j{j|j`c{c|cj p q }c~cadk r s bdcddd?b@b[b}j~jakedfdgdl t u hdidjdm v w kdldmd]b^b_bikjkkkndodpdx z A qdrdsdy B C tdudvdtcucvc
501 keys -= update.keys()
503 if exclude: 2lkwdD xdE ydSc]j:cf ;cg =c:b^j_j?c@ch n [c]ci o ^c_c;b=b`j{j|j`c{c|cj p q }c~cadk r s bdcddd?b@b[b}j~jakedfdgdl t u hdidjdm v w kdldmd]b^b_bikjkkkndodpdx z A qdrdsdy B C tdudvdtcucvc
504 keys -= {k for k, v in exclude.items() if ValueItems.is_true(v)}
506 return keys 2lkwdD xdE ydSc]j:cf ;cg =c:b^j_j?c@ch n [c]ci o ^c_c;b=b`j{j|j`c{c|cj p q }c~cadk r s bdcddd?b@b[b}j~jakedfdgdl t u hdidjdm v w kdldmd]b^b_bikjkkkndodpdx z A qdrdsdy B C tdudvdtcucvc
508 def sqlmodel_validate( 1abcde
509 cls: Type[_TSQLModel],
510 obj: Any,
511 *,
512 strict: Union[bool, None] = None,
513 from_attributes: Union[bool, None] = None,
514 context: Union[Dict[str, Any], None] = None,
515 update: Union[Dict[str, Any], None] = None,
516 ) -> _TSQLModel:
517 # This was SQLModel's original from_orm() for Pydantic v1
518 # Duplicated from Pydantic
519 if not cls.__config__.orm_mode: # type: ignore[attr-defined] # noqa 2*l(l)llk+l,l-l.l/l:l:mDn;l=l?l@l[l]lwd|d}d~daeD .dxdE ydScQksktk]jRkSkTkUkVkWk8mEnXkYkZk0k1k2k:cLdMdNdOdf zd;cg =c:b3kukvk^j4k5k6k7k8k9k!kwkxk_j#k$k%k'k(k)k9mFn*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]ci o ^c_c;b=b:kykzk`j;k=k?k@k[k]k^kAkBk{j_k`k{k|k}k~kalCkDk|jblcldlelflgl!mGnhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadk r s bdcddd?b@b[bnlEkFk}jolplqlrlsltlulGkHk~jvlwlxlylzlAlBlIkJkakClDlElFlGlHl#mHnIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjdm v w kdldmd]b^b_bOlKkLkikPlQlRlSlTlUlVlMkNkjkWlXlYlZl0l1l2lOkPkkk3l4l5l6l7l8l/mIn9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsdy B C tdudvdtcucvc
520 raise ConfigError(
521 "You must have the config attribute orm_mode=True to use from_orm"
522 )
523 if not isinstance(obj, Mapping): 2*l(l)llk+l,l-l.l/l:l:mDn;l=l?l@l[l]lwd|d}d~daeD .dxdE ydScQksktk]jRkSkTkUkVkWk8mEnXkYkZk0k1k2k:cLdMdNdOdf zd;cg =c:b3kukvk^j4k5k6k7k8k9k!kwkxk_j#k$k%k'k(k)k9mFn*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]ci o ^c_c;b=b:kykzk`j;k=k?k@k[k]k^kAkBk{j_k`k{k|k}k~kalCkDk|jblcldlelflgl!mGnhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadk r s bdcddd?b@b[bnlEkFk}jolplqlrlsltlulGkHk~jvlwlxlylzlAlBlIkJkakClDlElFlGlHl#mHnIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjdm v w kdldmd]b^b_bOlKkLkikPlQlRlSlTlUlVlMkNkjkWlXlYlZl0l1l2lOkPkkk3l4l5l6l7l8l/mIn9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsdy B C tdudvdtcucvc
524 obj = ( 2Qksktk]jRkSkTkUkVkWk8mXkYkZk0k1k2k:cLdMdNdOdf zd;cg =c:b3kukvk^j4k5k6k7k8k9k!kwkxk_j#k$k%k'k(k)k9m*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]ci o ^c_c;b=b:kykzk`j;k=k?k@k[k]k^kAkBk{j_k`k{k|k}k~kalCkDk|jblcldlelflgl!mhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadk r s bdcddd?b@b[bnlEkFk}jolplqlrlsltlulGkHk~jvlwlxlylzlAlBlIkJkakClDlElFlGlHl#mIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjdm v w kdldmd]b^b_bOlKkLkikPlQlRlSlTlUlVlMkNkjkWlXlYlZl0l1l2lOkPkkk3l4l5l6l7l8l/m9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsdy B C tdudvdtcucvc
525 {ROOT_KEY: obj}
526 if cls.__custom_root_type__ # type: ignore[attr-defined] # noqa
527 else cls._decompose_class(obj) # type: ignore[attr-defined] # noqa
528 )
529 # SQLModel, support update dict
530 if update is not None: 2*l(l)llk+l,l-l.l/l:l:mDn;l=l?l@l[l]lwd|d}d~daeD .dxdE ydScQksktk]jRkSkTkUkVkWk8mEnXkYkZk0k1k2k:cLdMdNdOdf zd;cg =c:b3kukvk^j4k5k6k7k8k9k!kwkxk_j#k$k%k'k(k)k9mFn*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]ci o ^c_c;b=b:kykzk`j;k=k?k@k[k]k^kAkBk{j_k`k{k|k}k~kalCkDk|jblcldlelflgl!mGnhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadk r s bdcddd?b@b[bnlEkFk}jolplqlrlsltlulGkHk~jvlwlxlylzlAlBlIkJkakClDlElFlGlHl#mHnIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjdm v w kdldmd]b^b_bOlKkLkikPlQlRlSlTlUlVlMkNkjkWlXlYlZl0l1l2lOkPkkk3l4l5l6l7l8l/mIn9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsdy B C tdudvdtcucvc
531 obj = {**obj, **update} 2Sc:b;b=b?b@b[b]b^b_btcucvc
532 # End SQLModel support dict
533 if not getattr(cls.__config__, "table", False): # noqa 2*l(l)llk+l,l-l.l/l:l:mDn;l=l?l@l[l]lwd|d}d~daeD .dxdE ydScQksktk]jRkSkTkUkVkWk8mEnXkYkZk0k1k2k:cLdMdNdOdf zd;cg =c:b3kukvk^j4k5k6k7k8k9k!kwkxk_j#k$k%k'k(k)k9mFn*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]ci o ^c_c;b=b:kykzk`j;k=k?k@k[k]k^kAkBk{j_k`k{k|k}k~kalCkDk|jblcldlelflgl!mGnhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadk r s bdcddd?b@b[bnlEkFk}jolplqlrlsltlulGkHk~jvlwlxlylzlAlBlIkJkakClDlElFlGlHl#mHnIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjdm v w kdldmd]b^b_bOlKkLkikPlQlRlSlTlUlVlMkNkjkWlXlYlZl0l1l2lOkPkkk3l4l5l6l7l8l/mIn9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsdy B C tdudvdtcucvc
534 # If not table, normal Pydantic code
535 m: _TSQLModel = cls.__new__(cls) 2*l(l)llk+l,l-l.l/l:l:mDn;l=l?l@l[l]lwd|d}d~daeD xdE ydScQksktk]jRkSkTkUkVkWk8mEnXkYkZk0k1k2k:cLdMdNdOdf ;cg =c:b3kukvk^j4k5k6k7k8k9k!kwkxk_j#k$k%k'k(k)k9mFn*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n [c]ci o ^c_c;b=b:kykzk`j;k=k?k@k[k]k^kAkBk{j_k`k{k|k}k~kalCkDk|jblcldlelflgl!mGnhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q }c~cadk r s bdcddd?b@b[bnlEkFk}jolplqlrlsltlulGkHk~jvlwlxlylzlAlBlIkJkakClDlElFlGlHl#mHnIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u hdidjdm v w kdldmd]b^b_bOlKkLkikPlQlRlSlTlUlVlMkNkjkWlXlYlZl0l1l2lOkPkkk3l4l5l6l7l8l/mIn9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A qdrdsdy B C tdudvdtcucvc
536 else:
537 # If table, create the new instance normally to make SQLAlchemy create
538 # the _sa_instance_state attribute
539 m = cls() 2*l+l,l-l.l/l:l;l=l?l@l[l]lwd|d}d~daeD .dxdE ydScQkRkSkTkUkVkWkXkYkZk0k1k2k:cLdMdNdOdf zd;cg =c:b3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]ci o ^c_c;b=b:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadk r s bdcddd?b@b[bnlolplqlrlsltlulvlwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjdm v w kdldmd]b^b_bOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsdy B C tdudvdtcucvc
540 values, fields_set, validation_error = validate_model(cls, obj) 2*l(l)llk+l,l-l.l/l:l:mDn;l=l?l@l[l]lwd|d}d~daeD .dxdE ydScQksktk]jRkSkTkUkVkWk8mEnXkYkZk0k1k2k:cLdMdNdOdf zd;cg =c:b3kukvk^j4k5k6k7k8k9k!kwkxk_j#k$k%k'k(k)k9mFn*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]ci o ^c_c;b=b:kykzk`j;k=k?k@k[k]k^kAkBk{j_k`k{k|k}k~kalCkDk|jblcldlelflgl!mGnhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadk r s bdcddd?b@b[bnlEkFk}jolplqlrlsltlulGkHk~jvlwlxlylzlAlBlIkJkakClDlElFlGlHl#mHnIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjdm v w kdldmd]b^b_bOlKkLkikPlQlRlSlTlUlVlMkNkjkWlXlYlZl0l1l2lOkPkkk3l4l5l6l7l8l/mIn9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsdy B C tdudvdtcucvc
541 if validation_error: 2*l(l)llk+l,l-l.l/l:l:mDn;l=l?l@l[l]lwd|d}d~daeD .dxdE ydScQksktk]jRkSkTkUkVkWk8mEnXkYkZk0k1k2k:cLdMdNdOdf zd;cg =c:b3kukvk^j4k5k6k7k8k9k!kwkxk_j#k$k%k'k(k)k9mFn*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]ci o ^c_c;b=b:kykzk`j;k=k?k@k[k]k^kAkBk{j_k`k{k|k}k~kalCkDk|jblcldlelflgl!mGnhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadk r s bdcddd?b@b[bnlEkFk}jolplqlrlsltlulGkHk~jvlwlxlylzlAlBlIkJkakClDlElFlGlHl#mHnIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjdm v w kdldmd]b^b_bOlKkLkikPlQlRlSlTlUlVlMkNkjkWlXlYlZl0l1l2lOkPkkk3l4l5l6l7l8l/mIn9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsdy B C tdudvdtcucvc
542 raise validation_error
543 # Updated to trigger SQLAlchemy internal handling
544 if not getattr(cls.__config__, "table", False): # noqa 2*l(l)llk+l,l-l.l/l:l:mDn;l=l?l@l[l]lwd|d}d~daeD .dxdE ydScQksktk]jRkSkTkUkVkWk8mEnXkYkZk0k1k2k:cLdMdNdOdf zd;cg =c:b3kukvk^j4k5k6k7k8k9k!kwkxk_j#k$k%k'k(k)k9mFn*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]ci o ^c_c;b=b:kykzk`j;k=k?k@k[k]k^kAkBk{j_k`k{k|k}k~kalCkDk|jblcldlelflgl!mGnhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadk r s bdcddd?b@b[bnlEkFk}jolplqlrlsltlulGkHk~jvlwlxlylzlAlBlIkJkakClDlElFlGlHl#mHnIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjdm v w kdldmd]b^b_bOlKkLkikPlQlRlSlTlUlVlMkNkjkWlXlYlZl0l1l2lOkPkkk3l4l5l6l7l8l/mIn9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsdy B C tdudvdtcucvc
545 object.__setattr__(m, "__dict__", values) 2*l(l)llk+l,l-l.l/l:l:mDn;l=l?l@l[l]lwd|d}d~daeD xdE ydScQksktk]jRkSkTkUkVkWk8mEnXkYkZk0k1k2k:cLdMdNdOdf ;cg =c:b3kukvk^j4k5k6k7k8k9k!kwkxk_j#k$k%k'k(k)k9mFn*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n [c]ci o ^c_c;b=b:kykzk`j;k=k?k@k[k]k^kAkBk{j_k`k{k|k}k~kalCkDk|jblcldlelflgl!mGnhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q }c~cadk r s bdcddd?b@b[bnlEkFk}jolplqlrlsltlulGkHk~jvlwlxlylzlAlBlIkJkakClDlElFlGlHl#mHnIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u hdidjdm v w kdldmd]b^b_bOlKkLkikPlQlRlSlTlUlVlMkNkjkWlXlYlZl0l1l2lOkPkkk3l4l5l6l7l8l/mIn9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A qdrdsdy B C tdudvdtcucvc
546 else:
547 for key, value in values.items(): 2*l+l,l-l.l/l:l;l=l?l@l[l]lwd|d}d~daeD .dxdE ydScQkRkSkTkUkVkWkXkYkZk0k1k2k:cLdMdNdOdf zd;cg =c:b3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]ci o ^c_c;b=b:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadk r s bdcddd?b@b[bnlolplqlrlsltlulvlwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjdm v w kdldmd]b^b_bOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsdy B C tdudvdtcucvc
548 setattr(m, key, value) 2*l+l,l-l.l/l:l;l=l?l@l[l]lwd|d}d~daeD .dxdE ydScQkRkSkTkUkVkWkXkYkZk0k1k2k:cLdMdNdOdf zd;cg =c:b3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]ci o ^c_c;b=b:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadk r s bdcddd?b@b[bnlolplqlrlsltlulvlwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjdm v w kdldmd]b^b_bOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsdy B C tdudvdtcucvc
549 # Continue with standard Pydantic logic
550 object.__setattr__(m, "__fields_set__", fields_set) 2*l(l)llk+l,l-l.l/l:l:mDn;l=l?l@l[l]lwd|d}d~daeD .dxdE ydScQksktk]jRkSkTkUkVkWk8mEnXkYkZk0k1k2k:cLdMdNdOdf zd;cg =c:b3kukvk^j4k5k6k7k8k9k!kwkxk_j#k$k%k'k(k)k9mFn*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]ci o ^c_c;b=b:kykzk`j;k=k?k@k[k]k^kAkBk{j_k`k{k|k}k~kalCkDk|jblcldlelflgl!mGnhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadk r s bdcddd?b@b[bnlEkFk}jolplqlrlsltlulGkHk~jvlwlxlylzlAlBlIkJkakClDlElFlGlHl#mHnIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjdm v w kdldmd]b^b_bOlKkLkikPlQlRlSlTlUlVlMkNkjkWlXlYlZl0l1l2lOkPkkk3l4l5l6l7l8l/mIn9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsdy B C tdudvdtcucvc
551 m._init_private_attributes() # type: ignore[attr-defined] # noqa 2*l(l)llk+l,l-l.l/l:l:mDn;l=l?l@l[l]lwd|d}d~daeD .dxdE ydScQksktk]jRkSkTkUkVkWk8mEnXkYkZk0k1k2k:cLdMdNdOdf zd;cg =c:b3kukvk^j4k5k6k7k8k9k!kwkxk_j#k$k%k'k(k)k9mFn*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]ci o ^c_c;b=b:kykzk`j;k=k?k@k[k]k^kAkBk{j_k`k{k|k}k~kalCkDk|jblcldlelflgl!mGnhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadk r s bdcddd?b@b[bnlEkFk}jolplqlrlsltlulGkHk~jvlwlxlylzlAlBlIkJkakClDlElFlGlHl#mHnIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjdm v w kdldmd]b^b_bOlKkLkikPlQlRlSlTlUlVlMkNkjkWlXlYlZl0l1l2lOkPkkk3l4l5l6l7l8l/mIn9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsdy B C tdudvdtcucvc
552 return m 2*l(l)llk+l,l-l.l/l:l:mDn;l=l?l@l[l]lwd|d}d~daeD .dxdE ydScQksktk]jRkSkTkUkVkWk8mEnXkYkZk0k1k2k:cLdMdNdOdf zd;cg =c:b3kukvk^j4k5k6k7k8k9k!kwkxk_j#k$k%k'k(k)k9mFn*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]ci o ^c_c;b=b:kykzk`j;k=k?k@k[k]k^kAkBk{j_k`k{k|k}k~kalCkDk|jblcldlelflgl!mGnhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadk r s bdcddd?b@b[bnlEkFk}jolplqlrlsltlulGkHk~jvlwlxlylzlAlBlIkJkakClDlElFlGlHl#mHnIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjdm v w kdldmd]b^b_bOlKkLkikPlQlRlSlTlUlVlMkNkjkWlXlYlZl0l1l2lOkPkkk3l4l5l6l7l8l/mIn9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsdy B C tdudvdtcucvc
554 def sqlmodel_init(*, self: "SQLModel", data: Dict[str, Any]) -> None: 1Fabcde
555 values, fields_set, validation_error = validate_model(self.__class__, data) 2|n*lzoAo.m(l)llk+l,l-l.l/l:lne^i_i;n:mNn)j)npe6j7j8j/jXnYn5n9j`i{iwcxc|i}i~iajbjcjdjejfjgj;l=l?l@l[l]lwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjLo=nQkhoioTmsktk]jRkSkTkUkVkWkbeqere7n8mJnOj#njeKiLiMi*jOnPnZnNiseteG H uevewexeyezeAeBeCeDeXkYkZk0k1k2k:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eHo?n3kjokoUmukvk^j4k5k6k7k8k9k@n!klomoVmwkxk_j#k$k%k'k(k)kce#e$e8n9mKnPj$nkeTiUiVi+jQnRn0nWi%e'eT abU V (e)e*e+e,e-e.e/e:e;e*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufIo[n:knoooWmykzk`j;k=k?k@k[k]k]n^kpoqoXmAkBk{j_k`k{k|k}k~k^nalrosoYmCkDk|jblcldlelflgldeeevfwfxfyf9n!mLnQj%nle2i3i4i,jSnTn1n5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgJo_nnltouoZmEkFk}jolplqlrlsltl`nulvowo0mGkHk~jvlwlxlylzlAl{nBlxoyo1mIkJkakClDlElFlGlHlfegeAgBgCgDg!n#mMnRj'nme)i*i+i-jUnVn2n,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhKo}nOlBoCo$mKkLkikPlQlRlSlTlUl~nVlDoEo%mMkNkjkWlXlYlZl0l1lao2lFoGo'mOkPkkk3l4l5l6l7l8lheieFhGhHhIh(n/mWn(j/noeSjTjUj.j3n4n6nVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJiMo
556 # Only raise errors if not a SQLModel model
557 if ( 2=nQkhoioTmsktk]jRkSkTkUkVkWkbeqere7n8mJnOj#njeKiLiMi*jOnPnZnNiseteG H uevewexeyezeAeBeCeDeXkYkZk0k1k2k:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eHo?n3kjokoUmukvk^j4k5k6k7k8k9k@n!klomoVmwkxk_j#k$k%k'k(k)kce#e$e8n9mKnPj$nkeTiUiVi+jQnRn0nWi%e'eT abU V (e)e*e+e,e-e.e/e:e;e*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufIo[n:knoooWmykzk`j;k=k?k@k[k]k]n^kpoqoXmAkBk{j_k`k{k|k}k~k^nalrosoYmCkDk|jblcldlelflgldeeevfwfxfyf9n!mLnQj%nle2i3i4i,jSnTn1n5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgJo_nnltouoZmEkFk}jolplqlrlsltl`nulvowo0mGkHk~jvlwlxlylzlAl{nBlxoyo1mIkJkakClDlElFlGlHlfegeAgBgCgDg!n#mMnRj'nme)i*i+i-jUnVn2n,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhKo
558 not is_table_model_class(self.__class__) # noqa
559 and validation_error
560 ):
561 raise validation_error 2zoAo)nXnYnLohoio#nOnPnHojokolomo$nQnRnIonooopoqoroso%nSnTnJotouovowoxoyo'nUnVnKoBoCoDoEoFoGo/n3n4nMo
562 if not is_table_model_class(self.__class__): 2|n*l.m(l)llk+l,l-l.l/l:lne^i_i;n:mNn)jpe6j7j8j/jXnYn5n9j`i{iwcxc|i}i~iajbjcjdjejfjgj;l=l?l@l[l]lwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjLo=nQkTmsktk]jRkSkTkUkVkWkbeqere7n8mJnOjjeKiLiMi*jOnPnZnNiseteG H uevewexeyezeAeBeCeDeXkYkZk0k1k2k:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eHo?n3kUmukvk^j4k5k6k7k8k9k@n!kVmwkxk_j#k$k%k'k(k)kce#e$e8n9mKnPjkeTiUiVi+jQnRn0nWi%e'eT abU V (e)e*e+e,e-e.e/e:e;e*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufIo[n:kWmykzk`j;k=k?k@k[k]k]n^kXmAkBk{j_k`k{k|k}k~k^nalYmCkDk|jblcldlelflgldeeevfwfxfyf9n!mLnQjle2i3i4i,jSnTn1n5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgJo_nnlZmEkFk}jolplqlrlsltl`nul0mGkHk~jvlwlxlylzlAl{nBl1mIkJkakClDlElFlGlHlfegeAgBgCgDg!n#mMnRjme)i*i+i-jUnVn2n,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhKo}nOl$mKkLkikPlQlRlSlTlUl~nVl%mMkNkjkWlXlYlZl0l1lao2l'mOkPkkk3l4l5l6l7l8lheieFhGhHhIh(n/mWn(joeSjTjUj.j3n4n6nVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJiMo
563 object.__setattr__(self, "__dict__", values) 2|n*llk+l,l-l.l/l:l;n:mNnXnYn5n;l=l?l@l[l]lwd|d}d~daeD xdE ydScLo=nQk]jRkSkTkUkVkWk7n8mJnOnPnZnXkYkZk0k1k2k:cLdMdNdOdf ;cg =c:bHo?n3k^j4k5k6k7k8k9k@n!k_j#k$k%k'k(k)k8n9mKnQnRn0n*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n [c]ci o ^c_c;b=bIo[n:k`j;k=k?k@k[k]k]n^k{j_k`k{k|k}k~k^nal|jblcldlelflgl9n!mLnSnTn1nhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q }c~cadk r s bdcddd?b@b[bJo_nnl}jolplqlrlsltl`nul~jvlwlxlylzlAl{nBlakClDlElFlGlHl!n#mMnUnVn2nIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u hdidjdm v w kdldmd]b^b_bKo}nOlikPlQlRlSlTlUl~nVljkWlXlYlZl0l1lao2lkk3l4l5l6l7l8l(n/mWn3n4n6n9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A qdrdsdy B C tdudvdtcucvcMo
564 else:
565 # Do not set values as in Pydantic, pass them through setattr, so
566 # SQLAlchemy can handle them
567 for key, value in values.items(): 2*l.m(l)llk+l,l-l.l/l:lne^i_i)jpe6j7j8j/j9j`i{iwcxc|i}i~iajbjcjdjejfjgj;l=l?l@l[l]lwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjQkTmsktk]jRkSkTkUkVkWkbeqereOjjeKiLiMi*jNiseteG H uevewexeyezeAeBeCeDeXkYkZk0k1k2k:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e3kUmukvk^j4k5k6k7k8k9k!kVmwkxk_j#k$k%k'k(k)kce#e$ePjkeTiUiVi+jWi%e'eT abU V (e)e*e+e,e-e.e/e:e;e*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfuf:kWmykzk`j;k=k?k@k[k]k^kXmAkBk{j_k`k{k|k}k~kalYmCkDk|jblcldlelflgldeeevfwfxfyfQjle2i3i4i,j5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgnlZmEkFk}jolplqlrlsltlul0mGkHk~jvlwlxlylzlAlBl1mIkJkakClDlElFlGlHlfegeAgBgCgDgRjme)i*i+i-j,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhOl$mKkLkikPlQlRlSlTlUlVl%mMkNkjkWlXlYlZl0l1l2l'mOkPkkk3l4l5l6l7l8lheieFhGhHhIh(joeSjTjUj.jVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
568 setattr(self, key, value) 2*l.m(l)llk+l,l-l.l/l:lne^i_i)jpe6j7j8j/j9j`i{iwcxc|i}i~iajbjcjdjejfjgj;l=l?l@l[l]lwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjQkTmsktk]jRkSkTkUkVkWkbeqereOjjeKiLiMi*jNiseteG H uevewexeyezeAeBeCeDeXkYkZk0k1k2k:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e3kUmukvk^j4k5k6k7k8k9k!kVmwkxk_j#k$k%k'k(k)kce#e$ePjkeTiUiVi+jWi%e'eT abU V (e)e*e+e,e-e.e/e:e;e*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfuf:kWmykzk`j;k=k?k@k[k]k^kXmAkBk{j_k`k{k|k}k~kalYmCkDk|jblcldlelflgldeeevfwfxfyfQjle2i3i4i,j5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgnlZmEkFk}jolplqlrlsltlul0mGkHk~jvlwlxlylzlAlBl1mIkJkakClDlElFlGlHlfegeAgBgCgDgRjme)i*i+i-j,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhOl$mKkLkikPlQlRlSlTlUlVl%mMkNkjkWlXlYlZl0l1l2l'mOkPkkk3l4l5l6l7l8lheieFhGhHhIh(joeSjTjUj.jVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
569 object.__setattr__(self, "__fields_set__", fields_set) 2|n*l.m(l)llk+l,l-l.l/l:lne^i_i;n:mNn)jpe6j7j8j/jXnYn5n9j`i{iwcxc|i}i~iajbjcjdjejfjgj;l=l?l@l[l]lwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjLo=nQkTmsktk]jRkSkTkUkVkWkbeqere7n8mJnOjjeKiLiMi*jOnPnZnNiseteG H uevewexeyezeAeBeCeDeXkYkZk0k1k2k:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eHo?n3kUmukvk^j4k5k6k7k8k9k@n!kVmwkxk_j#k$k%k'k(k)kce#e$e8n9mKnPjkeTiUiVi+jQnRn0nWi%e'eT abU V (e)e*e+e,e-e.e/e:e;e*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufIo[n:kWmykzk`j;k=k?k@k[k]k]n^kXmAkBk{j_k`k{k|k}k~k^nalYmCkDk|jblcldlelflgldeeevfwfxfyf9n!mLnQjle2i3i4i,jSnTn1n5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgJo_nnlZmEkFk}jolplqlrlsltl`nul0mGkHk~jvlwlxlylzlAl{nBl1mIkJkakClDlElFlGlHlfegeAgBgCgDg!n#mMnRjme)i*i+i-jUnVn2n,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhKo}nOl$mKkLkikPlQlRlSlTlUl~nVl%mMkNkjkWlXlYlZl0l1lao2l'mOkPkkk3l4l5l6l7l8lheieFhGhHhIh(n/mWn(joeSjTjUj.j3n4n6nVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJiMo
570 non_pydantic_keys = data.keys() - values.keys() 2|n*l.m(l)llk+l,l-l.l/l:lne^i_i;n:mNn)jpe6j7j8j/jXnYn5n9j`i{iwcxc|i}i~iajbjcjdjejfjgj;l=l?l@l[l]lwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjLo=nQkTmsktk]jRkSkTkUkVkWkbeqere7n8mJnOjjeKiLiMi*jOnPnZnNiseteG H uevewexeyezeAeBeCeDeXkYkZk0k1k2k:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eHo?n3kUmukvk^j4k5k6k7k8k9k@n!kVmwkxk_j#k$k%k'k(k)kce#e$e8n9mKnPjkeTiUiVi+jQnRn0nWi%e'eT abU V (e)e*e+e,e-e.e/e:e;e*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufIo[n:kWmykzk`j;k=k?k@k[k]k]n^kXmAkBk{j_k`k{k|k}k~k^nalYmCkDk|jblcldlelflgldeeevfwfxfyf9n!mLnQjle2i3i4i,jSnTn1n5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgJo_nnlZmEkFk}jolplqlrlsltl`nul0mGkHk~jvlwlxlylzlAl{nBl1mIkJkakClDlElFlGlHlfegeAgBgCgDg!n#mMnRjme)i*i+i-jUnVn2n,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhKo}nOl$mKkLkikPlQlRlSlTlUl~nVl%mMkNkjkWlXlYlZl0l1lao2l'mOkPkkk3l4l5l6l7l8lheieFhGhHhIh(n/mWn(joeSjTjUj.j3n4n6nVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJiMo
572 if is_table_model_class(self.__class__): 2|n*l.m(l)llk+l,l-l.l/l:lne^i_i;n:mNn)jpe6j7j8j/jXnYn5n9j`i{iwcxc|i}i~iajbjcjdjejfjgj;l=l?l@l[l]lwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjLo=nQkTmsktk]jRkSkTkUkVkWkbeqere7n8mJnOjjeKiLiMi*jOnPnZnNiseteG H uevewexeyezeAeBeCeDeXkYkZk0k1k2k:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!eHo?n3kUmukvk^j4k5k6k7k8k9k@n!kVmwkxk_j#k$k%k'k(k)kce#e$e8n9mKnPjkeTiUiVi+jQnRn0nWi%e'eT abU V (e)e*e+e,e-e.e/e:e;e*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufIo[n:kWmykzk`j;k=k?k@k[k]k]n^kXmAkBk{j_k`k{k|k}k~k^nalYmCkDk|jblcldlelflgldeeevfwfxfyf9n!mLnQjle2i3i4i,jSnTn1n5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgJo_nnlZmEkFk}jolplqlrlsltl`nul0mGkHk~jvlwlxlylzlAl{nBl1mIkJkakClDlElFlGlHlfegeAgBgCgDg!n#mMnRjme)i*i+i-jUnVn2n,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhKo}nOl$mKkLkikPlQlRlSlTlUl~nVl%mMkNkjkWlXlYlZl0l1lao2l'mOkPkkk3l4l5l6l7l8lheieFhGhHhIh(n/mWn(joeSjTjUj.j3n4n6nVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJiMo
573 for key in non_pydantic_keys: 2*l.m(l)llk+l,l-l.l/l:lne^i_i)jpe6j7j8j/j9j`i{iwcxc|i}i~iajbjcjdjejfjgj;l=l?l@l[l]lwd|d}d~daeD .dxdhjE ydScijjj!j#j$jkjljmjnj.c/c4coj%jpjqjrjsjtjuj'jyczcAcBcCcDcEcFcGcHcIcvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjQkTmsktk]jRkSkTkUkVkWkbeqereOjjeKiLiMi*jNiseteG H uevewexeyezeAeBeCeDeXkYkZk0k1k2k:cLdMdNdOdf zd;cEeg =c:bFeGeOiPiQiHeIeJeKeWcXcJcLeRiMeNeOePeQeReSiI J K L M N O P Q R S SeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e3kUmukvk^j4k5k6k7k8k9k!kVmwkxk_j#k$k%k'k(k)kce#e$ePjkeTiUiVi+jWi%e'eT abU V (e)e*e+e,e-e.e/e:e;e*k+k,k-k.k/k?c@cPdQdRdSdTdUdVdWdh n AdBd[c]c=ei o ^c_c;b=b?e@eXiYiZi[e]e^e_eYc5cZc6cKcLc`e0i{e|e}e~eafbf1iW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lbcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfuf:kWmykzk`j;k=k?k@k[k]k^kXmAkBk{j_k`k{k|k}k~kalYmCkDk|jblcldlelflgldeeevfwfxfyfQjle2i3i4i,j5izfAfBfCf7 mbnb8 9 ! DfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfhliljlklllml`c{c|cXdYdZd0d1d2d3d4d5d6d7d8dj p q CdDdEd}c~cadXfYfk r s bdcddd?b@b[bZf0f1f2f6i7i8i9i!i#i3f4f5f6f7f8f9f!f0c7c8c1c9c!cMcNcOc#f$f$i%i%f'f(f)f*f+f,f-f.f/f:f;f'i(i# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJb=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgnlZmEkFk}jolplqlrlsltlul0mGkHk~jvlwlxlylzlAlBl1mIkJkakClDlElFlGlHlfegeAgBgCgDgRjme)i*i+i-j,iEgFgGgHg/ KbLb: ; = IgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1gIlJlKlLlMlNledfdgd9d!d#d$d%d'd(d)d*d+d,d-dl t u FdGdHdhdidjd2g3gm v w kdldmd]b^b_b4g5g6g7g-i.i/i:i;i=i8g9g!g#g$g%g'g(g2c#c$c3c%c'cPcQcRc)g*g?i@i+g,g-g.g/g:g;g=g?g@g[g]g[i]i? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7b^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhOl$mKkLkikPlQlRlSlTlUlVl%mMkNkjkWlXlYlZl0l1l2l'mOkPkkk3l4l5l6l7l8lheieFhGhHhIh(joeSjTjUj.jVjJhKhLhMh8b`b{b9b!b#bNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h9l!l#l$l%l'lndodpd/d:d;d=d?d@d[d]d^d_d`d{dx z A IdJdKdqdrdsd7h8hy B C tdudvdtcucvc9h!h#h$hWjXjYjZj0j1j%h'h(h)h*h+h,h-h(c*c+c)c,c-cTcUcVc.h/h2j3j:h;h=h?h@h[h]h^h_h`h{h|h4j5j$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJi
574 if key in self.__sqlmodel_relationships__: 2pewcxc.c/c4cyczcAcBcCcDcEcFcGcHcIcjeG H WcXcJcI J K L M N O P Q R S keT abU V Yc5cZc6cKcLcW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lble7 mbnb8 9 ! 0c7c8c1c9c!cMcNcOc# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJbme/ KbLb: ; = 2c#c$c3c%c'cPcQcRc? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7boe8b`b{b9b!b#b(c*c+c)c,c-cTcUcVc$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc
575 setattr(self, key, data[key]) 2pewcxc.c/c4cyczcAcBcCcDcEcFcGcHcIcjeG H WcXcJcI J K L M N O P Q R S keT abU V Yc5cZc6cKcLcW bbX cbY dbZ eb0 fb1 gb2 hb3 ib4 jb5 kb6 lble7 mbnb8 9 ! 0c7c8c1c9c!cMcNcOc# obpb$ qbrb% sbtb' ubvb( wbxb) ybzb* AbBb+ CbDb, EbFb- GbHb. IbJbme/ KbLb: ; = 2c#c$c3c%c'cPcQcRc? MbNb@ ObPb[ QbRb] SbTb^ UbVb_ WbXb` YbZb{ 0b1b| 2b3b} 4b5b~ 6b7boe8b`b{b9b!b#b(c*c+c)c,c-cTcUcVc$b|b}b%b~bac'bbccc(bdcec)bfcgc*bhcic+bjckc,blcmc-bncoc.bpcqc/brcsc