Coverage for sqlmodel/_compat.py: 93%
296 statements
« prev ^ index » next coverage.py v7.6.12, created at 2025-03-07 05:42 +0000
« prev ^ index » next coverage.py v7.6.12, created at 2025-03-07 05:42 +0000
1import types 1Mabcdef
2from contextlib import contextmanager 1Mabcdef
3from contextvars import ContextVar 1Mabcdef
4from dataclasses import dataclass 1Mabcdef
5from typing import ( 1Mabcdef
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 1Mabcdef
22from pydantic import BaseModel 1Mabcdef
23from pydantic.fields import FieldInfo 1Mabcdef
24from typing_extensions import Annotated, get_args, get_origin 1Mabcdef
26# Reassign variable to make it reexported for mypy
27PYDANTIC_VERSION = P_VERSION 1Mabcdef
28PYDANTIC_MINOR_VERSION = tuple(int(i) for i in P_VERSION.split(".")[:2]) 1Mabcdef
29IS_PYDANTIC_V2 = PYDANTIC_MINOR_VERSION[0] == 2 1Mabcdef
32if TYPE_CHECKING: 1Mabcdef
33 from .main import RelationshipInfo, SQLModel
35UnionType = getattr(types, "UnionType", Union) 1Mabcdef
36NoneType = type(None) 1Mabcdef
37T = TypeVar("T") 1Mabcdef
38InstanceOrType = Union[T, Type[T]] 1Mabcdef
39_TSQLModel = TypeVar("_TSQLModel", bound="SQLModel") 1Mabcdef
42class FakeMetadata: 1Mabcdef
43 max_length: Optional[int] = None 1Mabcdef
44 max_digits: Optional[int] = None 1Mabcdef
45 decimal_places: Optional[int] = None 1Mabcdef
48@dataclass 1Mabcdef
49class ObjectWithUpdateWrapper: 1abcdef
50 obj: Any 1Mabcdef
51 update: Dict[str, Any] 1Mabcdef
53 def __getattribute__(self, __name: str) -> Any: 1Mabcdef
54 update = super().__getattribute__("update") 2edicjckclcmcncocpcqc%c'c(c)c*c+c
55 obj = super().__getattribute__("obj") 2edicjckclcmcncocpcqc%c'c(c)c*c+c
56 if __name in update: 2edicjckclcmcncocpcqc%c'c(c)c*c+c
57 return update[__name] 2edicjckclcmcncocpcqc%c'c(c)c*c+c
58 return getattr(obj, __name) 2edicjckclcmcncocpcqc%c'c(c)c*c+c
61def _is_union_type(t: Any) -> bool: 1Mabcdef
62 return t is UnionType or t is Union 2M if_k`k4o$oHpYp`llf.l/l:l^pcm5o_pJm;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfYo)oIpZpPlefLkMkNk`p{l6o{pKmOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8fZo-oJp0pQlffUkVkWk|p|l7o}pLmXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgug0o=oKp1pRlgf3k4k5k~p}l8oaqMm6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzh1o|oLp2pSlhf*k+k,kbq~l9ocqNm-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEi2ogpMp3p^ljfTlUlVldqam!oeqOmWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJj3oppNp4p_lkf7l8l9lfqbm#ogqPm!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
65finish_init: ContextVar[bool] = ContextVar("finish_init", default=True) 1Mabcdef
68@contextmanager 1Mabcdef
69def partial_init() -> Generator[None, None, None]: 1Mabcdef
70 token = finish_init.set(False) 2LoMoNoOoPoQoRoSoToUoVoWoXoae@e[e]e^eK beL ceed-m.m/m:m;m=m?m@m[m]m^m_m`mSdseteueveg Tdh Udic{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnVdWdwexeyezeAeBeCeDei o XdYdj p Zd0djckcqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r 4d5d6dl s t 7d8d9dlcmcncRnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!n#n$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v %d'd(dn w x )d*d+docpcqc+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D /d:d;dz E F =d?d@d%c'c(ciojokolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H _d`d{dB I J |d}d~d)c*c+c
71 yield 2LoMoNoOoPoQoRoSoToUoVoWoXoae@e[e]e^eK beL ceed-m.m/m:m;m=m?m@m[m]m^m_m`mSdseteueveg Tdh Udic{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnVdWdwexeyezeAeBeCeDei o XdYdj p Zd0djckcqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r 4d5d6dl s t 7d8d9dlcmcncRnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!n#n$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v %d'd(dn w x )d*d+docpcqc+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D /d:d;dz E F =d?d@d%c'c(ciojokolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H _d`d{dB I J |d}d~d)c*c+c
72 finish_init.reset(token) 2LoMoNoOoPoQoRoSoToUoVoWoXoae@e[e]e^eK beL ceed-m.m/m:m;m=m?m@m[m]m^m_m`mSdseteueveg Tdh Udic{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnVdWdwexeyezeAeBeCeDei o XdYdj p Zd0djckcqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r 4d5d6dl s t 7d8d9dlcmcncRnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!n#n$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v %d'd(dn w x )d*d+docpcqc+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D /d:d;dz E F =d?d@d%c'c(ciojokolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H _d`d{dB I J |d}d~d)c*c+c
75if IS_PYDANTIC_V2: 1Mabcdef
76 from annotated_types import MaxLen 1Mabcdef
77 from pydantic import ConfigDict as BaseConfig 1Mabcdef
78 from pydantic._internal._fields import PydanticMetadata 1Mabcdef
79 from pydantic._internal._model_construction import ModelMetaclass 1Mabcdef
80 from pydantic._internal._repr import Representation as Representation 1Mabcdef
81 from pydantic_core import PydanticUndefined as Undefined 1Mabcdef
82 from pydantic_core import PydanticUndefinedType as UndefinedType 1Mabcdef
84 # Dummy for types, to make it importable
85 class ModelField: 1Mabcdef
86 pass 1Mabcdef
88 class SQLModelConfig(BaseConfig, total=False): 1Mabcdef
89 table: Optional[bool] 1Mabcdef
90 registry: Optional[Any] 1Mabcdef
92 def get_config_value( 1abcdef
93 *, model: InstanceOrType["SQLModel"], parameter: str, default: Any = None
94 ) -> Any:
95 return model.model_config.get(parameter, default) 2M if_k`k4ohqiq$oHpYperGq`l'qlf.l/l:l^pcm5o_pJmRqSq1q;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOl(qa _emfnfYojqkq)oIpZpfrCqPl8qefLkMkNk`p{l6o{pKmHqIqTqOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f)qb `e7f8fZolqmq-oJp0pgrDqQl9qffUkVkWk|p|l7o}pLmJqKqUqXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqg*qc {e|ergsgtgug0onqoq=oKp1phrEqRl!qgf3k4k5k~p}l8oaqMmLqMqVq6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvh+qd }e~ewhxhyhzh1opqqq|oLp2pirFqSl#qhf*k+k,kbq~l9ocqNmNqOqWq-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAi,qe afbfBiCiDiEi2orqsqgpMp3pjrPq^l-qjfTlUlVldqam!oeqOmXqYq2qWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFj.qf cfdfGjHjIjJj3otquqppNp4pkrQq_l/qkf7l8l9lfqbm#ogqPmZq0q3q!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk:q
97 def set_config_value( 1abcdef
98 *,
99 model: InstanceOrType["SQLModel"],
100 parameter: str,
101 value: Any,
102 ) -> None:
103 model.model_config[parameter] = value # type: ignore[literal-required] 2M if_k`k4ohqiq$oHpYper`llf.l/l:l^pcm5o_pJm;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfYojqkq)oIpZpfrPlefLkMkNk`p{l6o{pKmOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8fZolqmq-oJp0pgrQlffUkVkWk|p|l7o}pLmXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgug0onqoq=oKp1phrRlgf3k4k5k~p}l8oaqMm6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzh1opqqq|oLp2pirSlhf*k+k,kbq~l9ocqNm-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEi2orqsqgpMp3pjr^ljfTlUlVldqam!oeqOmWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJj3otquqppNp4pkr_lkf7l8l9lfqbm#ogqPm!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
105 def get_model_fields(model: InstanceOrType[BaseModel]) -> Dict[str, "FieldInfo"]: 1Mabcdef
106 return model.model_fields 2M if_k`k4ohqiq$oHpYper`llf.l/l:l^pcm5o_pJm;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfYojqkq)oIpZpfrPlefLkMkNk`p{l6o{pKmOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8fZolqmq-oJp0pgrQlffUkVkWk|p|l7o}pLmXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgug0onqoq=oKp1phrRlgf3k4k5k~p}l8oaqMm6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzh1opqqq|oLp2pirSlhf*k+k,kbq~l9ocqNm-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEi2orqsqgpMp3pjr^ljfTlUlVldqam!oeqOmWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJj3otquqppNp4pkr_lkf7l8l9lfqbm#ogqPm!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
108 def get_fields_set( 1abcdef
109 object: InstanceOrType["SQLModel"],
110 ) -> Union[Set[str], Callable[[BaseModel], Set[str]]]:
111 return object.model_fields_set 2GqCqDqEqFqPqQq
113 def init_pydantic_private_attrs(new_object: InstanceOrType["SQLModel"]) -> None: 1Mabcdef
114 object.__setattr__(new_object, "__pydantic_fields_set__", set()) 2|qLoDrEr5pJoKoImMoNoOoPoQoRoif_k`k4o;q8pvqGq`l'qlf.l/l:lcmRqSq1q;l{k|k,c-c}k~kalblcldlelflglhlSoToUoVoWoXoae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOl(q=q-mlrmrypQmRmkm.m/m:m;m=m?m_emfnfYo4qOpwqCqPl8qefLkMkNk{lHqIqTqOkofpfN O qfrfsftfufvfwfxfyfzf@m[m]m^m_m`mSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f)q?q{mnrorzpSmTmlm|m}m~manbncn@qdnprqrApUmVmmmenfngnhninjn`e7f8fZo5qPpxqDqQl9qffUkVkWk|lJqKqUqXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-fknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqg*q[qqnrrsrBpWmXmnmrnsntnunvnwn]qxntrurCpYmZmomynznAnBnCnDn^qEnvrwrDp0m1mpmFnGnHnInJnKn{e|ergsgtgug0o6qQpyqEqRl!qgf3k4k5k}lLqMqVq6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvh+q_qRnxryrEp2m3mqmSnTnUnVnWnXn`qYnzrArFp4m5mrmZn0n1n2n3n4n{q5nBrCrGp6m7msm6n7n8n9n!n#n}e~ewhxhyhzh1o7qRpzqFqSl#qhf*k+k,k~lNqOqWq-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXh$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAi,q}q+nFrGrSp8m9mCm,n-n.n/n:n;n~q=nHrIrTp!m#mDm?n@n[n]n^n_nar`nJrKrUp$m%mEm{n|n}n~naoboafbfBiCiDiEi2o$q6pAqPq^l-qjfTlUlVlamXqYq2qWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2icodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFj.qbrioLrMrVp'm(mFmjokolomonooocrpoNrOrWp)m*mGmqorosotouovodrwoPrQrXp+m,mHmxoyozoAoBoCocfdfGjHjIjJj3o%q7pBqQq_l/qkf7l8l9lbmZq0q3q!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk:q
115 object.__setattr__(new_object, "__pydantic_extra__", None) 2|qLoDrEr5pJoKoImMoNoOoPoQoRoif_k`k4o;q8pvqGq`l'qlf.l/l:lcmRqSq1q;l{k|k,c-c}k~kalblcldlelflglhlSoToUoVoWoXoae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOl(q=q-mlrmrypQmRmkm.m/m:m;m=m?m_emfnfYo4qOpwqCqPl8qefLkMkNk{lHqIqTqOkofpfN O qfrfsftfufvfwfxfyfzf@m[m]m^m_m`mSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f)q?q{mnrorzpSmTmlm|m}m~manbncn@qdnprqrApUmVmmmenfngnhninjn`e7f8fZo5qPpxqDqQl9qffUkVkWk|lJqKqUqXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-fknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqg*q[qqnrrsrBpWmXmnmrnsntnunvnwn]qxntrurCpYmZmomynznAnBnCnDn^qEnvrwrDp0m1mpmFnGnHnInJnKn{e|ergsgtgug0o6qQpyqEqRl!qgf3k4k5k}lLqMqVq6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvh+q_qRnxryrEp2m3mqmSnTnUnVnWnXn`qYnzrArFp4m5mrmZn0n1n2n3n4n{q5nBrCrGp6m7msm6n7n8n9n!n#n}e~ewhxhyhzh1o7qRpzqFqSl#qhf*k+k,k~lNqOqWq-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXh$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAi,q}q+nFrGrSp8m9mCm,n-n.n/n:n;n~q=nHrIrTp!m#mDm?n@n[n]n^n_nar`nJrKrUp$m%mEm{n|n}n~naoboafbfBiCiDiEi2o$q6pAqPq^l-qjfTlUlVlamXqYq2qWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2icodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFj.qbrioLrMrVp'm(mFmjokolomonooocrpoNrOrWp)m*mGmqorosotouovodrwoPrQrXp+m,mHmxoyozoAoBoCocfdfGjHjIjJj3o%q7pBqQq_l/qkf7l8l9lbmZq0q3q!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk:q
116 object.__setattr__(new_object, "__pydantic_private__", None) 2|qLoDrEr5pJoKoImMoNoOoPoQoRoif_k`k4o;q8pvqGq`l'qlf.l/l:lcmRqSq1q;l{k|k,c-c}k~kalblcldlelflglhlSoToUoVoWoXoae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOl(q=q-mlrmrypQmRmkm.m/m:m;m=m?m_emfnfYo4qOpwqCqPl8qefLkMkNk{lHqIqTqOkofpfN O qfrfsftfufvfwfxfyfzf@m[m]m^m_m`mSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f)q?q{mnrorzpSmTmlm|m}m~manbncn@qdnprqrApUmVmmmenfngnhninjn`e7f8fZo5qPpxqDqQl9qffUkVkWk|lJqKqUqXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-fknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqg*q[qqnrrsrBpWmXmnmrnsntnunvnwn]qxntrurCpYmZmomynznAnBnCnDn^qEnvrwrDp0m1mpmFnGnHnInJnKn{e|ergsgtgug0o6qQpyqEqRl!qgf3k4k5k}lLqMqVq6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvh+q_qRnxryrEp2m3mqmSnTnUnVnWnXn`qYnzrArFp4m5mrmZn0n1n2n3n4n{q5nBrCrGp6m7msm6n7n8n9n!n#n}e~ewhxhyhzh1o7qRpzqFqSl#qhf*k+k,k~lNqOqWq-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXh$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAi,q}q+nFrGrSp8m9mCm,n-n.n/n:n;n~q=nHrIrTp!m#mDm?n@n[n]n^n_nar`nJrKrUp$m%mEm{n|n}n~naoboafbfBiCiDiEi2o$q6pAqPq^l-qjfTlUlVlamXqYq2qWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2icodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFj.qbrioLrMrVp'm(mFmjokolomonooocrpoNrOrWp)m*mGmqorosotouovodrwoPrQrXp+m,mHmxoyozoAoBoCocfdfGjHjIjJj3o%q7pBqQq_l/qkf7l8l9lbmZq0q3q!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk:q
118 def get_annotations(class_dict: Dict[str, Any]) -> Dict[str, Any]: 1Mabcdef
119 return class_dict.get("__annotations__", {}) 2M if_k`k4ohqiq$oHpYperGq`l'qlf.l/l:l^pcm5o_pJmRqSq1q;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOl(qa _emfnfYojqkq)oIpZpfrCqPl8qefLkMkNk`p{l6o{pKmHqIqTqOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f)qb `e7f8fZolqmq-oJp0pgrDqQl9qffUkVkWk|p|l7o}pLmJqKqUqXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqg*qc {e|ergsgtgug0onqoq=oKp1phrEqRl!qgf3k4k5k~p}l8oaqMmLqMqVq6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvh+qd }e~ewhxhyhzh1opqqq|oLp2pirFqSl#qhf*k+k,kbq~l9ocqNmNqOqWq-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAi,qe afbfBiCiDiEi2orqsqgpMp3pjrPq^l-qjfTlUlVldqam!oeqOmXqYq2qWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFj.qf cfdfGjHjIjJj3otquqppNp4pkrQq_l/qkf7l8l9lfqbm#ogqPmZq0q3q!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk:q
121 def is_table_model_class(cls: Type[Any]) -> bool: 1Mabcdef
122 config = getattr(cls, "model_config", {}) 2M |qLoDrEr5pJoKoImMoNoOoPoQoRoif_k`k4o;q8pvqhqiq$oHpYperGq`l'qlf.l/l:l^pcm5o_pJmRqSq1q;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlSoToUoVoWoXoae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOl(qa =q-mlrmrypQmRmkm.m/m:m;m=m?m_emfnfYo4qOpwqjqkq)oIpZpfrCqPl8qefLkMkNk`p{l6o{pKmHqIqTqOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzf@m[m]m^m_m`mSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f)qb ?q{mnrorzpSmTmlm|m}m~manbncn@qdnprqrApUmVmmmenfngnhninjn`e7f8fZo5qPpxqlqmq-oJp0pgrDqQl9qffUkVkWk|p|l7o}pLmJqKqUqXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqg*qc [qqnrrsrBpWmXmnmrnsntnunvnwn]qxntrurCpYmZmomynznAnBnCnDn^qEnvrwrDp0m1mpmFnGnHnInJnKn{e|ergsgtgug0o6qQpyqnqoq=oKp1phrEqRl!qgf3k4k5k~p}l8oaqMmLqMqVq6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{oLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvh+qd _qRnxryrEp2m3mqmSnTnUnVnWnXn`qYnzrArFp4m5mrmZn0n1n2n3n4n{q5nBrCrGp6m7msm6n7n8n9n!n#n}e~ewhxhyhzh1o7qRpzqpqqq|oLp2pirFqSl#qhf*k+k,kbq~l9ocqNmNqOqWq-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAi,qe }q+nFrGrSp8m9mCm,n-n.n/n:n;n~q=nHrIrTp!m#mDm?n@n[n]n^n_nar`nJrKrUp$m%mEm{n|n}n~naoboafbfBiCiDiEi2o$q6pAqrqsqgpMp3pjrPq^l-qjfTlUlVldqam!oeqOmXqYq2qWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpopcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFj.qf brioLrMrVp'm(mFmjokolomonooocrpoNrOrWp)m*mGmqorosotouovodrwoPrQrXp+m,mHmxoyozoAoBoCocfdfGjHjIjJj3o%q7pBqtquqppNp4pkrQq_l/qkf7l8l9lfqbm#ogqPmZq0q3q!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxpDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk:q
123 if config: 2M |qLoDrEr5pJoKoImMoNoOoPoQoRoif_k`k4o;q8pvqhqiq$oHpYperGq`l'qlf.l/l:l^pcm5o_pJmRqSq1q;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlSoToUoVoWoXoae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOl(qa =q-mlrmrypQmRmkm.m/m:m;m=m?m_emfnfYo4qOpwqjqkq)oIpZpfrCqPl8qefLkMkNk`p{l6o{pKmHqIqTqOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzf@m[m]m^m_m`mSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f)qb ?q{mnrorzpSmTmlm|m}m~manbncn@qdnprqrApUmVmmmenfngnhninjn`e7f8fZo5qPpxqlqmq-oJp0pgrDqQl9qffUkVkWk|p|l7o}pLmJqKqUqXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqg*qc [qqnrrsrBpWmXmnmrnsntnunvnwn]qxntrurCpYmZmomynznAnBnCnDn^qEnvrwrDp0m1mpmFnGnHnInJnKn{e|ergsgtgug0o6qQpyqnqoq=oKp1phrEqRl!qgf3k4k5k~p}l8oaqMmLqMqVq6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{oLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvh+qd _qRnxryrEp2m3mqmSnTnUnVnWnXn`qYnzrArFp4m5mrmZn0n1n2n3n4n{q5nBrCrGp6m7msm6n7n8n9n!n#n}e~ewhxhyhzh1o7qRpzqpqqq|oLp2pirFqSl#qhf*k+k,kbq~l9ocqNmNqOqWq-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAi,qe }q+nFrGrSp8m9mCm,n-n.n/n:n;n~q=nHrIrTp!m#mDm?n@n[n]n^n_nar`nJrKrUp$m%mEm{n|n}n~naoboafbfBiCiDiEi2o$q6pAqrqsqgpMp3pjrPq^l-qjfTlUlVldqam!oeqOmXqYq2qWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpopcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFj.qf brioLrMrVp'm(mFmjokolomonooocrpoNrOrWp)m*mGmqorosotouovodrwoPrQrXp+m,mHmxoyozoAoBoCocfdfGjHjIjJj3o%q7pBqtquqppNp4pkrQq_l/qkf7l8l9lfqbm#ogqPmZq0q3q!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxpDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk:q
124 return config.get("table", False) or False 2M |qLoDrEr5pJoKoImMoNoOoPoQoRoif_k`k4o;q8pvqhqiq$oHpYperGq`l'qlf.l/l:l^pcm5o_pJmRqSq1q;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlSoToUoVoWoXoae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOl(qa =q-mlrmrypQmRmkm.m/m:m;m=m?m_emfnfYo4qOpwqjqkq)oIpZpfrCqPl8qefLkMkNk`p{l6o{pKmHqIqTqOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzf@m[m]m^m_m`mSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f)qb ?q{mnrorzpSmTmlm|m}m~manbncn@qdnprqrApUmVmmmenfngnhninjn`e7f8fZo5qPpxqlqmq-oJp0pgrDqQl9qffUkVkWk|p|l7o}pLmJqKqUqXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqg*qc [qqnrrsrBpWmXmnmrnsntnunvnwn]qxntrurCpYmZmomynznAnBnCnDn^qEnvrwrDp0m1mpmFnGnHnInJnKn{e|ergsgtgug0o6qQpyqnqoq=oKp1phrEqRl!qgf3k4k5k~p}l8oaqMmLqMqVq6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{oLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvh+qd _qRnxryrEp2m3mqmSnTnUnVnWnXn`qYnzrArFp4m5mrmZn0n1n2n3n4n{q5nBrCrGp6m7msm6n7n8n9n!n#n}e~ewhxhyhzh1o7qRpzqpqqq|oLp2pirFqSl#qhf*k+k,kbq~l9ocqNmNqOqWq-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAi,qe }q+nFrGrSp8m9mCm,n-n.n/n:n;n~q=nHrIrTp!m#mDm?n@n[n]n^n_nar`nJrKrUp$m%mEm{n|n}n~naoboafbfBiCiDiEi2o$q6pAqrqsqgpMp3pjrPq^l-qjfTlUlVldqam!oeqOmXqYq2qWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpopcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFj.qf brioLrMrVp'm(mFmjokolomonooocrpoNrOrWp)m*mGmqorosotouovodrwoPrQrXp+m,mHmxoyozoAoBoCocfdfGjHjIjJj3o%q7pBqtquqppNp4pkrQq_l/qkf7l8l9lfqbm#ogqPmZq0q3q!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxpDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk:q
125 return False 1Mabcdef
127 def get_relationship_to( 1abcdef
128 name: str,
129 rel_info: "RelationshipInfo",
130 annotation: Any,
131 ) -> Any:
132 origin = get_origin(annotation) 2Jm,c-cK L QdRdtd.c/cdm:c;c=c?c@c[c]c^c_cKmN O g h ldmd`cP Q emR S T U V W X Y Z Lm0 hb1 2 i o j p ndudodvd{c|c3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sbMm' tbub( ) * k q r l s t pdwdxdqdydzd}c~cad+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQbNm] RbSb^ _ ` m u v n w x rdAdBdsdCdDdbdcddd{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'bOm(brcsc)b*b+by C D z E F EdIdJdFdKdLdfdgdhd,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOcPm^bPcQc_b`b{bA G H B I J GdMdNdHdOdPdidjdkd|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c
133 use_annotation = annotation 2Jm,c-cK L QdRdtd.c/cdm:c;c=c?c@c[c]c^c_cKmN O g h ldmd`cP Q emR S T U V W X Y Z Lm0 hb1 2 i o j p ndudodvd{c|c3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sbMm' tbub( ) * k q r l s t pdwdxdqdydzd}c~cad+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQbNm] RbSb^ _ ` m u v n w x rdAdBdsdCdDdbdcddd{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'bOm(brcsc)b*b+by C D z E F EdIdJdFdKdLdfdgdhd,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOcPm^bPcQc_b`b{bA G H B I J GdMdNdHdOdPdidjdkd|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c
134 # Direct relationships (e.g. 'Team' or Team) have None as an origin
135 if origin is None: 2Jm,c-cK L QdRdtd.c/cdm:c;c=c?c@c[c]c^c_cKmN O g h ldmd`cP Q emR S T U V W X Y Z Lm0 hb1 2 i o j p ndudodvd{c|c3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sbMm' tbub( ) * k q r l s t pdwdxdqdydzd}c~cad+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQbNm] RbSb^ _ ` m u v n w x rdAdBdsdCdDdbdcddd{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'bOm(brcsc)b*b+by C D z E F EdIdJdFdKdLdfdgdhd,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOcPm^bPcQc_b`b{bA G H B I J GdMdNdHdOdPdidjdkd|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c
136 if isinstance(use_annotation, ForwardRef): 2Jm,c-cK L QdRdtd.c/cdm:c;c=c?c@c[c]c^c_cKmN O g h ldmd`cP Q emR S T U V W X Y Z Lm0 hb1 2 i o j p ndudodvd{c|c3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sbMm' tbub( ) * k q r l s t pdwdxdqdydzd}c~cad+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQbNm] RbSb^ _ ` m u v n w x rdAdBdsdCdDdbdcddd{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'bOm(brcsc)b*b+by C D z E F EdIdJdFdKdLdfdgdhd,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOcPm^bPcQc_b`b{bA G H B I J GdMdNdHdOdPdidjdkd|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c
137 use_annotation = use_annotation.__forward_arg__ 2Jm,c-cK L QdRd.c/cdm:c;c=c?c@c[c]c^c_cKmN O g h ldmdP Q emR S T U V W X Y Z Lm0 1 2 i j ndod3 4 fm5 6 7 8 9 ! # $ % Mm' ( ) * k l pdqd+ , gm- . / : ; = ? @ [ Nm] ^ _ ` m n rdsd{ | hm} ~ abbbcbdbebfbgbOm(b)b*b+by z EdFd,b-bim.b/b:b;b=b?b@b[b]bPm^b_b`b{bA B GdHd|b}bjm~bacbcccdcecfcgchc
138 else:
139 return use_annotation 2Jm,c-cK L QdRdtd.c/cdm:c;c=c?c@c[c]c^c_cKmN O g h ldmd`cP Q emR S T U V W X Y Z Lm0 hb1 2 i o j p ndudodvd{c|c3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sbMm' tbub( ) * k q r l s t pdwdxdqdydzd}c~cad+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQbNm] RbSb^ _ ` m u v n w x rdAdBdsdCdDdbdcddd{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'bOm(brcsc)b*b+by C D z E F EdIdJdFdKdLdfdgdhd,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOcPm^bPcQc_b`b{bA G H B I J GdMdNdHdOdPdidjdkd|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c
140 # If Union (e.g. Optional), get the real field
141 elif _is_union_type(origin): 2Jm,c-cK L QdRdtd.c/cdm:c;c=c?c@c[c]c^c_cKmN O g h ldmd`cP Q emR S T U V W X Y Z Lm0 hb1 2 i o j p ndudodvd{c|c3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sbMm' tbub( ) * k q r l s t pdwdxdqdydzd}c~cad+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQbNm] RbSb^ _ ` m u v n w x rdAdBdsdCdDdbdcddd{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'bOm(brcsc)b*b+by C D z E F EdIdJdFdKdLdfdgdhd,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOcPm^bPcQc_b`b{bA G H B I J GdMdNdHdOdPdidjdkd|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c
142 use_annotation = get_args(annotation) 2,c-cK L .c/cdm:c;c=c?c@c[c]c^c_cN O g h P Q emR S T U V W X Y Z 0 hb1 2 i o j p 3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb' tbub( ) * k q r l s t + vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb] RbSb^ _ ` m u v n w x { TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b(brcsc)b*b+by C D z E F ,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc^bPcQc_b`b{bA G H B I J |bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c
143 if len(use_annotation) > 2: 2,c-cK L .c/cdm:c;c=c?c@c[c]c^c_cN O g h P Q emR S T U V W X Y Z 0 hb1 2 i o j p 3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb' tbub( ) * k q r l s t + vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb] RbSb^ _ ` m u v n w x { TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b(brcsc)b*b+by C D z E F ,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc^bPcQc_b`b{bA G H B I J |bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c
144 raise ValueError(
145 "Cannot have a (non-optional) union as a SQLAlchemy field"
146 )
147 arg1, arg2 = use_annotation 2,c-cK L .c/cdm:c;c=c?c@c[c]c^c_cN O g h P Q emR S T U V W X Y Z 0 hb1 2 i o j p 3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb' tbub( ) * k q r l s t + vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb] RbSb^ _ ` m u v n w x { TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b(brcsc)b*b+by C D z E F ,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc^bPcQc_b`b{bA G H B I J |bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c
148 if arg1 is NoneType and arg2 is not NoneType: 2,c-cK L .c/cdm:c;c=c?c@c[c]c^c_cN O g h P Q emR S T U V W X Y Z 0 hb1 2 i o j p 3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb' tbub( ) * k q r l s t + vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb] RbSb^ _ ` m u v n w x { TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b(brcsc)b*b+by C D z E F ,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc^bPcQc_b`b{bA G H B I J |bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c
149 use_annotation = arg2
150 elif arg2 is NoneType and arg1 is not NoneType: 2,c-cK L .c/cdm:c;c=c?c@c[c]c^c_cN O g h P Q emR S T U V W X Y Z 0 hb1 2 i o j p 3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb' tbub( ) * k q r l s t + vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb] RbSb^ _ ` m u v n w x { TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b(brcsc)b*b+by C D z E F ,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc^bPcQc_b`b{bA G H B I J |bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c
151 use_annotation = arg1 2,c-cK L .c/cdm:c;c=c?c@c[c]c^c_cN O g h P Q emR S T U V W X Y Z 0 hb1 2 i o j p 3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb' tbub( ) * k q r l s t + vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb] RbSb^ _ ` m u v n w x { TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b(brcsc)b*b+by C D z E F ,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc^bPcQc_b`b{bA G H B I J |bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c
152 else:
153 raise ValueError(
154 "Cannot have a Union of None and None as a SQLAlchemy field"
155 )
157 # If a list, then also get the real field
158 elif origin is list: 2Jm,c-cK L QdRdtd.c/cdm:c;c=c?c@c[c]c^c_cKmN O g h ldmd`cP Q emR S T U V W X Y Z Lm0 hb1 2 i o j p ndudodvd{c|c3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sbMm' tbub( ) * k q r l s t pdwdxdqdydzd}c~cad+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQbNm] RbSb^ _ ` m u v n w x rdAdBdsdCdDdbdcddd{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'bOm(brcsc)b*b+by C D z E F EdIdJdFdKdLdfdgdhd,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOcPm^bPcQc_b`b{bA G H B I J GdMdNdHdOdPdidjdkd|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c
159 use_annotation = get_args(annotation)[0] 2Jm,c-cK L QdRdtd.c/cdm:c;c=c?c@c[c]c^c_cKmN O g h ldmd`cP Q emR S T U V W X Y Z Lm0 hb1 2 i o j p ndudodvd{c|c3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sbMm' tbub( ) * k q r l s t pdwdxdqdydzd}c~cad+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQbNm] RbSb^ _ ` m u v n w x rdAdBdsdCdDdbdcddd{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'bOm(brcsc)b*b+by C D z E F EdIdJdFdKdLdfdgdhd,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOcPm^bPcQc_b`b{bA G H B I J GdMdNdHdOdPdidjdkd|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c
161 return get_relationship_to( 2Jm,c-cK L QdRdtd.c/cdm:c;c=c?c@c[c]c^c_cKmN O g h ldmd`cP Q emR S T U V W X Y Z Lm0 hb1 2 i o j p ndudodvd{c|c3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sbMm' tbub( ) * k q r l s t pdwdxdqdydzd}c~cad+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQbNm] RbSb^ _ ` m u v n w x rdAdBdsdCdDdbdcddd{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'bOm(brcsc)b*b+by C D z E F EdIdJdFdKdLdfdgdhd,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOcPm^bPcQc_b`b{bA G H B I J GdMdNdHdOdPdidjdkd|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c
162 name=name, rel_info=rel_info, annotation=use_annotation
163 )
165 def is_field_noneable(field: "FieldInfo") -> bool: 1Mabcdef
166 if getattr(field, "nullable", Undefined) is not Undefined: 2M if_k`khqiq$oHpYp`llf.l/l:lcm5oJm;l{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfjqkq)oIpZpPlefLkMkNk{l6oKmOkofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8flqmq-oJp0pQlffUkVkWk|l7oLmXk9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgugnqoq=oKp1pRlgf3k4k5k}l8oMm6kvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzhpqqq|oLp2pSlhf*k+k,k~l9oNm-kAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEirqsqgpMp3p^ljfTlUlVlam!oOmWlFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJjtquqppNp4p_lkf7l8l9lbm#oPm!lKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
167 return field.nullable # type: ignore 2cm5o{l6o|l7o}l8o~l9oam!obm#o
168 origin = get_origin(field.annotation) 2M if_k`khqiq$oHpYp`llf.l/l:l5oJm;l{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfjqkq)oIpZpPlefLkMkNk6oKmOkofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8flqmq-oJp0pQlffUkVkWk7oLmXk9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgugnqoq=oKp1pRlgf3k4k5k8oMm6kvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzhpqqq|oLp2pSlhf*k+k,k9oNm-kAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEirqsqgpMp3p^ljfTlUlVl!oOmWlFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJjtquqppNp4p_lkf7l8l9l#oPm!lKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
169 if origin is not None and _is_union_type(origin): 2M if_k`khqiq$oHpYp`llf.l/l:l5oJm;l{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfjqkq)oIpZpPlefLkMkNk6oKmOkofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8flqmq-oJp0pQlffUkVkWk7oLmXk9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgugnqoq=oKp1pRlgf3k4k5k8oMm6kvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzhpqqq|oLp2pSlhf*k+k,k9oNm-kAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEirqsqgpMp3p^ljfTlUlVl!oOmWlFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJjtquqppNp4p_lkf7l8l9l#oPm!lKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
170 args = get_args(field.annotation) 2M if_k`k$oHp`llf.l/l:l5oJm;l{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnf)oIpPlefLkMkNk6oKmOkofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8f-oJpQlffUkVkWk7oLmXk9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgug=oKpRlgf3k4k5k8oMm6kvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzh|oLpSlhf*k+k,k9oNm-kAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEigpMp^ljfTlUlVl!oOmWlFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJjppNp_lkf7l8l9l#oPm!lKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
171 if any(arg is NoneType for arg in args): 2M if_k`k$oHp`llf.l/l:l5oJm;l{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnf)oIpPlefLkMkNk6oKmOkofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8f-oJpQlffUkVkWk7oLmXk9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgug=oKpRlgf3k4k5k8oMm6kvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzh|oLpSlhf*k+k,k9oNm-kAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEigpMp^ljfTlUlVl!oOmWlFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJjppNp_lkf7l8l9l#oPm!lKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
172 return True 2M if_k`k$oHp`llf.l/l:l5oJm;l{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnf)oIpPlefLkMkNk6oKmOkofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8f-oJpQlffUkVkWk7oLmXk9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgug=oKpRlgf3k4k5k8oMm6kvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzh|oLpSlhf*k+k,k9oNm-kAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEigpMp^ljfTlUlVl!oOmWlFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJjppNp_lkf7l8l9l#oPm!lKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
173 if not field.is_required(): 2M if_k`khqiq$oYp`llf.l/l:l5oJm;l{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfjqkq)oZpPlefLkMkNk6oKmOkofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8flqmq-o0pQlffUkVkWk7oLmXk9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgugnqoq=o1pRlgf3k4k5k8oMm6kvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzhpqqq|o2pSlhf*k+k,k9oNm-kAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEirqsqgp3p^ljfTlUlVl!oOmWlFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJjtquqpp4p_lkf7l8l9l#oPm!lKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
174 if field.default is Undefined: 2if5otd_e6o`c`e7o{c|c{e|e8o}c~cad}e~e9obdcdddafbf!ofdgdhdcfdf#oidjdkd
175 return False
176 if field.annotation is None or field.annotation is NoneType: # type: ignore[comparison-overlap] 2if5otd_e6o`c`e7o{c|c{e|e8o}c~cad}e~e9obdcdddafbf!ofdgdhdcfdf#oidjdkd
177 return True
178 return False 2if5otd_e6o`c`e7o{c|c{e|e8o}c~cad}e~e9obdcdddafbf!ofdgdhdcfdf#oidjdkd
179 return False 2M if_k`khqiq$oYp`llf.l/l:l5oJm;l{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfjqkq)oZpPlefLkMkNk6oKmOkofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8flqmq-o0pQlffUkVkWk7oLmXk9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgugnqoq=o1pRlgf3k4k5k8oMm6kvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzhpqqq|o2pSlhf*k+k,k9oNm-kAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEirqsqgp3p^ljfTlUlVl!oOmWlFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJjtquqpp4p_lkf7l8l9l#oPm!lKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
181 def get_sa_type_from_type_annotation(annotation: Any) -> Any: 1Mabcdef
182 # Resolve Optional fields
183 if annotation is None: 2M if_k`k4ohqiq$oHpYp`llf.l/l:l^pcm5o_pJm;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfYojqkq)oIpZpPlefLkMkNk`p{l6o{pKmOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8fZolqmq-oJp0pQlffUkVkWk|p|l7o}pLmXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgug0onqoq=oKp1pRlgf3k4k5k~p}l8oaqMm6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzh1opqqq|oLp2pSlhf*k+k,kbq~l9ocqNm-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEi2orqsqgpMp3p^ljfTlUlVldqam!oeqOmWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJj3otquqppNp4p_lkf7l8l9lfqbm#ogqPm!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
184 raise ValueError("Missing field type")
185 origin = get_origin(annotation) 2M if_k`k4ohqiq$oHpYp`llf.l/l:l^pcm5o_pJm;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfYojqkq)oIpZpPlefLkMkNk`p{l6o{pKmOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8fZolqmq-oJp0pQlffUkVkWk|p|l7o}pLmXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgug0onqoq=oKp1pRlgf3k4k5k~p}l8oaqMm6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzh1opqqq|oLp2pSlhf*k+k,kbq~l9ocqNm-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEi2orqsqgpMp3p^ljfTlUlVldqam!oeqOmWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJj3otquqppNp4p_lkf7l8l9lfqbm#ogqPm!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
186 if origin is None: 2M if_k`k4ohqiq$oHpYp`llf.l/l:l^pcm5o_pJm;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfYojqkq)oIpZpPlefLkMkNk`p{l6o{pKmOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8fZolqmq-oJp0pQlffUkVkWk|p|l7o}pLmXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgug0onqoq=oKp1pRlgf3k4k5k~p}l8oaqMm6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzh1opqqq|oLp2pSlhf*k+k,kbq~l9ocqNm-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEi2orqsqgpMp3p^ljfTlUlVldqam!oeqOmWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJj3otquqppNp4p_lkf7l8l9lfqbm#ogqPm!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
187 return annotation 2M if_k`k4ohqiq$oHpYp`llf.l/l:l^pcm5o_pJm;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfYojqkq)oIpZpPlefLkMkNk`p{l6o{pKmOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8fZolqmq-oJp0pQlffUkVkWk|p|l7o}pLmXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgug0onqoq=oKp1pRlgf3k4k5k~p}l8oaqMm6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzh1opqqq|oLp2pSlhf*k+k,kbq~l9ocqNm-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEi2orqsqgpMp3p^ljfTlUlVldqam!oeqOmWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJj3otquqppNp4p_lkf7l8l9lfqbm#ogqPm!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
188 elif origin is Annotated: 2M if_k`k4o$oHpYp`llf.l/l:l^pcm5o_pJm;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfYo)oIpZpPlefLkMkNk`p{l6o{pKmOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8fZo-oJp0pQlffUkVkWk|p|l7o}pLmXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgug0o=oKp1pRlgf3k4k5k~p}l8oaqMm6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzh1o|oLp2pSlhf*k+k,kbq~l9ocqNm-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEi2ogpMp3p^ljfTlUlVldqam!oeqOmWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJj3oppNp4p_lkf7l8l9lfqbm#ogqPm!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
189 return get_sa_type_from_type_annotation(get_args(annotation)[0]) 24oYoZo0o1o2o3o
190 if _is_union_type(origin): 2M if_k`k4o$oHpYp`llf.l/l:l^pcm5o_pJm;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfYo)oIpZpPlefLkMkNk`p{l6o{pKmOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8fZo-oJp0pQlffUkVkWk|p|l7o}pLmXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgug0o=oKp1pRlgf3k4k5k~p}l8oaqMm6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzh1o|oLp2pSlhf*k+k,kbq~l9ocqNm-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEi2ogpMp3p^ljfTlUlVldqam!oeqOmWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJj3oppNp4p_lkf7l8l9lfqbm#ogqPm!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
191 bases = get_args(annotation) 2M if_k`k4o$oHpYp`llf.l/l:l^pcm5o_pJm;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfYo)oIpZpPlefLkMkNk`p{l6o{pKmOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8fZo-oJp0pQlffUkVkWk|p|l7o}pLmXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgug0o=oKp1pRlgf3k4k5k~p}l8oaqMm6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzh1o|oLp2pSlhf*k+k,kbq~l9ocqNm-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEi2ogpMp3p^ljfTlUlVldqam!oeqOmWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJj3oppNp4p_lkf7l8l9lfqbm#ogqPm!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
192 if len(bases) > 2: 2M if_k`k4o$oHpYp`llf.l/l:l^pcm5o_pJm;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfYo)oIpZpPlefLkMkNk`p{l6o{pKmOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8fZo-oJp0pQlffUkVkWk|p|l7o}pLmXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgug0o=oKp1pRlgf3k4k5k~p}l8oaqMm6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzh1o|oLp2pSlhf*k+k,kbq~l9ocqNm-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEi2ogpMp3p^ljfTlUlVldqam!oeqOmWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJj3oppNp4p_lkf7l8l9lfqbm#ogqPm!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
193 raise ValueError(
194 "Cannot have a (non-optional) union as a SQLAlchemy field"
195 )
196 # Non optional unions are not allowed
197 if bases[0] is not NoneType and bases[1] is not NoneType: 2M if_k`k4o$oHpYp`llf.l/l:l^pcm5o_pJm;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfYo)oIpZpPlefLkMkNk`p{l6o{pKmOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8fZo-oJp0pQlffUkVkWk|p|l7o}pLmXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgug0o=oKp1pRlgf3k4k5k~p}l8oaqMm6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzh1o|oLp2pSlhf*k+k,kbq~l9ocqNm-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEi2ogpMp3p^ljfTlUlVldqam!oeqOmWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJj3oppNp4p_lkf7l8l9lfqbm#ogqPm!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
198 raise ValueError( 2#p'p*p-p:p?p]p
199 "Cannot have a (non-optional) union as a SQLAlchemy field"
200 )
201 # Optional unions are allowed
202 use_type = bases[0] if bases[0] is not NoneType else bases[1] 2M if_k`k4o$oHpYp`llf.l/l:l^pcm5o_pJm;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfYo)oIpZpPlefLkMkNk`p{l6o{pKmOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8fZo-oJp0pQlffUkVkWk|p|l7o}pLmXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgug0o=oKp1pRlgf3k4k5k~p}l8oaqMm6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzh1o|oLp2pSlhf*k+k,kbq~l9ocqNm-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEi2ogpMp3p^ljfTlUlVldqam!oeqOmWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJj3oppNp4p_lkf7l8l9lfqbm#ogqPm!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
203 return get_sa_type_from_type_annotation(use_type) 2M if_k`k4o$oHpYp`llf.l/l:l^pcm5o_pJm;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfYo)oIpZpPlefLkMkNk`p{l6o{pKmOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8fZo-oJp0pQlffUkVkWk|p|l7o}pLmXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgug0o=oKp1pRlgf3k4k5k~p}l8oaqMm6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzh1o|oLp2pSlhf*k+k,kbq~l9ocqNm-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEi2ogpMp3p^ljfTlUlVldqam!oeqOmWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJj3oppNp4p_lkf7l8l9lfqbm#ogqPm!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
204 return origin 29p!p$p%p(p)p+p,p.p/p;p=p@p[p
206 def get_sa_type_from_field(field: Any) -> Any: 1Mabcdef
207 type_: Any = field.annotation 2M if_k`k4ohqiq$oHpYp`llf.l/l:l^pcm5o_pJm;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfYojqkq)oIpZpPlefLkMkNk`p{l6o{pKmOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8fZolqmq-oJp0pQlffUkVkWk|p|l7o}pLmXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgug0onqoq=oKp1pRlgf3k4k5k~p}l8oaqMm6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzh1opqqq|oLp2pSlhf*k+k,kbq~l9ocqNm-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEi2orqsqgpMp3p^ljfTlUlVldqam!oeqOmWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJj3otquqppNp4p_lkf7l8l9lfqbm#ogqPm!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
208 return get_sa_type_from_type_annotation(type_) 2M if_k`k4ohqiq$oHpYp`llf.l/l:l^pcm5o_pJm;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfYojqkq)oIpZpPlefLkMkNk`p{l6o{pKmOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8fZolqmq-oJp0pQlffUkVkWk|p|l7o}pLmXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgug0onqoq=oKp1pRlgf3k4k5k~p}l8oaqMm6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzh1opqqq|oLp2pSlhf*k+k,kbq~l9ocqNm-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEi2orqsqgpMp3p^ljfTlUlVldqam!oeqOmWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJj3otquqppNp4p_lkf7l8l9lfqbm#ogqPm!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
210 def get_field_metadata(field: Any) -> Any: 1Mabcdef
211 for meta in field.metadata: 2M if_k`k4ohqiq$oHpYp`llf.l/l:l^pcm5o_pJm;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfYojqkq)oIpZpPlefLkMkNk`p{l6o{pKmOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8fZolqmq-oJp0pQlffUkVkWk|p|l7o}pLmXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgug0onqoq=oKp1pRlgf3k4k5k~p}l8oaqMm6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzh1opqqq|oLp2pSlhf*k+k,kbq~l9ocqNm-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEi2orqsqgpMp3p^ljfTlUlVldqam!oeqOmWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJj3otquqppNp4p_lkf7l8l9lfqbm#ogqPm!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
212 if isinstance(meta, (PydanticMetadata, MaxLen)): 2if_e`e{e|e}e~eafbfcfdf
213 return meta 2if_e`e{e|e}e~eafbfcfdf
214 return FakeMetadata() 2M if_k`k4ohqiq$oHpYp`llf.l/l:l^pcm5o_pJm;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfYojqkq)oIpZpPlefLkMkNk`p{l6o{pKmOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8fZolqmq-oJp0pQlffUkVkWk|p|l7o}pLmXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgug0onqoq=oKp1pRlgf3k4k5k~p}l8oaqMm6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzh1opqqq|oLp2pSlhf*k+k,kbq~l9ocqNm-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEi2orqsqgpMp3p^ljfTlUlVldqam!oeqOmWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJj3otquqppNp4p_lkf7l8l9lfqbm#ogqPm!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
216 def post_init_field_info(field_info: FieldInfo) -> None: 1Mabcdef
217 return None 2M if_k`k4ohqiq$oHpYperYrZrGq`l'qlf.l/l:l^pcm5o_p0rJmRqSq1q;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfYojqkq)oIpZpfr1r2rCqPl8qefLkMkNk`p{l6o{p3rKmHqIqTqOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8fZolqmq-oJp0pgr4r5rDqQl9qffUkVkWk|p|l7o}p6rLmJqKqUqXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgug0onqoq=oKp1phr7r8rEqRl!qgf3k4k5k~p}l8oaq9rMmLqMqVq6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzh1opqqq|oLp2pir!r#rFqSl#qhf*k+k,kbq~l9ocq$rNmNqOqWq-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEi2orqsqgpMp3pjr%r'rPq^l-qjfTlUlVldqam!oeq(rOmXqYq2qWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJj3otquqppNp4pkr)r*rQq_l/qkf7l8l9lfqbm#ogq+rPmZq0q3q!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
219 # Dummy to make it importable
220 def _calculate_keys( 1abcdef
221 self: "SQLModel", 1abcdef
222 include: Optional[Mapping[Union[int, str], Any]], 1abcdef
223 exclude: Optional[Mapping[Union[int, str], Any]], 1abcdef
224 exclude_unset: bool, 1abcdef
225 update: Optional[Dict[str, Any]] = None, 1Mabcdef
226 ) -> Optional[AbstractSet[str]]: # pragma: no cover 1Mabcdef
227 return None
229 def sqlmodel_table_construct( 1abcdef
230 *,
231 self_instance: _TSQLModel,
232 values: Dict[str, Any],
233 _fields_set: Union[Set[str], None] = None,
234 ) -> _TSQLModel:
235 # Copy from Pydantic's BaseModel.construct()
236 # Ref: https://github.com/pydantic/pydantic/blob/v2.5.2/pydantic/main.py#L198
237 # Modified to not include everything, only the model fields, and to
238 # set relationships
239 # SQLModel override to get class SQLAlchemy __dict__ attributes and
240 # set them back in after creating the object
241 # new_obj = cls.__new__(cls)
242 cls = type(self_instance) 25pJoKoImif_k`k4o`llf.l/l:lcm;l{k|k,c-c}k~kalblcldlelflglhl2eiljlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlypQmRmkm_emfnfYoPlefLkMkNk{lOkofpfN O qfrfsftfufvfwfxfyfzfdeAfBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fzpSmTmlmApUmVmmm`e7f8fZoQlffUkVkWk|lXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-feefe.f/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgBpWmXmnmCpYmZmomDp0m1mpm{e|ergsgtgug0oRlgf3k4k5k}l6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSggeheieTgUgVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhEp2m3mqmFp4m5mrmGp6m7msm}e~ewhxhyhzh1oSlhf*k+k,k~l-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhjekeleYhZh0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiSp8m9mCmTp!m#mDmUp$m%mEmafbfBiCiDiEi2o^ljfTlUlVlamWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2imeneoe3i4i5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjVp'm(mFmWp)m*mGmXp+m,mHmcfdfGjHjIjJj3o_lkf7l8l9lbm!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jpeqere8j9j!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
243 old_dict = self_instance.__dict__.copy() 25pJoKoImif_k`k4o`llf.l/l:lcm;l{k|k,c-c}k~kalblcldlelflglhl2eiljlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlypQmRmkm_emfnfYoPlefLkMkNk{lOkofpfN O qfrfsftfufvfwfxfyfzfdeAfBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fzpSmTmlmApUmVmmm`e7f8fZoQlffUkVkWk|lXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-feefe.f/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgBpWmXmnmCpYmZmomDp0m1mpm{e|ergsgtgug0oRlgf3k4k5k}l6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSggeheieTgUgVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhEp2m3mqmFp4m5mrmGp6m7msm}e~ewhxhyhzh1oSlhf*k+k,k~l-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhjekeleYhZh0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiSp8m9mCmTp!m#mDmUp$m%mEmafbfBiCiDiEi2o^ljfTlUlVlamWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2imeneoe3i4i5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjVp'm(mFmWp)m*mGmXp+m,mHmcfdfGjHjIjJj3o_lkf7l8l9lbm!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jpeqere8j9j!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
244 # End SQLModel override
246 fields_values: Dict[str, Any] = {} 25pJoKoImif_k`k4o`llf.l/l:lcm;l{k|k,c-c}k~kalblcldlelflglhl2eiljlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlypQmRmkm_emfnfYoPlefLkMkNk{lOkofpfN O qfrfsftfufvfwfxfyfzfdeAfBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fzpSmTmlmApUmVmmm`e7f8fZoQlffUkVkWk|lXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-feefe.f/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgBpWmXmnmCpYmZmomDp0m1mpm{e|ergsgtgug0oRlgf3k4k5k}l6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSggeheieTgUgVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhEp2m3mqmFp4m5mrmGp6m7msm}e~ewhxhyhzh1oSlhf*k+k,k~l-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhjekeleYhZh0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiSp8m9mCmTp!m#mDmUp$m%mEmafbfBiCiDiEi2o^ljfTlUlVlamWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2imeneoe3i4i5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjVp'm(mFmWp)m*mGmXp+m,mHmcfdfGjHjIjJj3o_lkf7l8l9lbm!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jpeqere8j9j!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
247 defaults: Dict[ 2ypQmRmkm_emfnfYoPlefLkMkNk{lOkofpfN O qfrfsftfufvfwfxfyfzfdeAfBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fzpSmTmlmApUmVmmm`e7f8fZoQlffUkVkWk|lXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-feefe.f/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgBpWmXmnmCpYmZmomDp0m1mpm{e|ergsgtgug0oRlgf3k4k5k}l6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSggeheieTgUgVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhEp2m3mqmFp4m5mrmGp6m7msm}e~ewhxhyhzh1oSlhf*k+k,k~l-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhjekeleYhZh0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiSp8m9mCmTp!m#mDmUp$m%mEmafbfBiCiDiEi2o^ljfTlUlVlamWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2imeneoe3i4i5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjVp'm(mFmWp)m*mGmXp+m,mHmcfdfGjHjIjJj3o_lkf7l8l9lbm!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jpeqere8j9j!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
248 str, Any
249 ] = {} # keeping this separate from `fields_values` helps us compute `_fields_set`
250 for name, field in cls.model_fields.items(): 25pJoKoImif_k`k4o`llf.l/l:lcm;l{k|k,c-c}k~kalblcldlelflglhl2eiljlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlypQmRmkm_emfnfYoPlefLkMkNk{lOkofpfN O qfrfsftfufvfwfxfyfzfdeAfBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fzpSmTmlmApUmVmmm`e7f8fZoQlffUkVkWk|lXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-feefe.f/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgBpWmXmnmCpYmZmomDp0m1mpm{e|ergsgtgug0oRlgf3k4k5k}l6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSggeheieTgUgVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhEp2m3mqmFp4m5mrmGp6m7msm}e~ewhxhyhzh1oSlhf*k+k,k~l-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhjekeleYhZh0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiSp8m9mCmTp!m#mDmUp$m%mEmafbfBiCiDiEi2o^ljfTlUlVlamWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2imeneoe3i4i5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjVp'm(mFmWp)m*mGmXp+m,mHmcfdfGjHjIjJj3o_lkf7l8l9lbm!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jpeqere8j9j!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
251 if field.alias and field.alias in values: 25pJoKoImif_k`k4o`llf.l/l:lcm;l{k|k,c-c}k~kalblcldlelflglhl2eiljlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlypQmRmkm_emfnfYoPlefLkMkNk{lOkofpfN O qfrfsftfufvfwfxfyfzfdeAfBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fzpSmTmlmApUmVmmm`e7f8fZoQlffUkVkWk|lXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-feefe.f/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgBpWmXmnmCpYmZmomDp0m1mpm{e|ergsgtgug0oRlgf3k4k5k}l6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSggeheieTgUgVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhEp2m3mqmFp4m5mrmGp6m7msm}e~ewhxhyhzh1oSlhf*k+k,k~l-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhjekeleYhZh0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiSp8m9mCmTp!m#mDmUp$m%mEmafbfBiCiDiEi2o^ljfTlUlVlamWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2imeneoe3i4i5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjVp'm(mFmWp)m*mGmXp+m,mHmcfdfGjHjIjJj3o_lkf7l8l9lbm!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jpeqere8j9j!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
252 fields_values[name] = values.pop(field.alias)
253 elif name in values: 25pJoKoImif_k`k4o`llf.l/l:lcm;l{k|k,c-c}k~kalblcldlelflglhl2eiljlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlypQmRmkm_emfnfYoPlefLkMkNk{lOkofpfN O qfrfsftfufvfwfxfyfzfdeAfBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fzpSmTmlmApUmVmmm`e7f8fZoQlffUkVkWk|lXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-feefe.f/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgBpWmXmnmCpYmZmomDp0m1mpm{e|ergsgtgug0oRlgf3k4k5k}l6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSggeheieTgUgVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhEp2m3mqmFp4m5mrmGp6m7msm}e~ewhxhyhzh1oSlhf*k+k,k~l-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhjekeleYhZh0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiSp8m9mCmTp!m#mDmUp$m%mEmafbfBiCiDiEi2o^ljfTlUlVlamWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2imeneoe3i4i5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjVp'm(mFmWp)m*mGmXp+m,mHmcfdfGjHjIjJj3o_lkf7l8l9lbm!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jpeqere8j9j!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
254 fields_values[name] = values.pop(name) 25pJoKoImif_k`klf.l/l:lcm;l{k|k,c-c}k~kalblcldlelflglhl2eiljlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlypQmRmkm_emfnfefLkMkNk{lOkofpfN O qfrfsftfufvfwfxfyfzfdeAfBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fzpSmTmlmApUmVmmm`e7f8fffUkVkWk|lXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-feefe.f/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgBpWmXmnmCpYmZmomDp0m1mpm{e|ergsgtguggf3k4k5k}l6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSggeheieTgUgVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhEp2m3mqmFp4m5mrmGp6m7msm}e~ewhxhyhzhhf*k+k,k~l-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhjekeleYhZh0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiSp8m9mCmTp!m#mDmUp$m%mEmafbfBiCiDiEijfTlUlVlamWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2imeneoe3i4i5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjVp'm(mFmWp)m*mGmXp+m,mHmcfdfGjHjIjJjkf7l8l9lbm!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jpeqere8j9j!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
255 elif not field.is_required(): 25pJoKoImif_k`k4o`llf.l/l:l;l{k|k,c-c}k~kalblcldlelflglhl2eiljlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlypQmRmkm_emfnfYoPlefLkMkNkOkofpfN O qfrfsftfufvfwfxfyfzfdeAfBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fzpSmTmlmApUmVmmm`e7f8fZoQlffUkVkWkXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-feefe.f/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgBpWmXmnmCpYmZmomDp0m1mpm{e|ergsgtgug0oRlgf3k4k5k6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSggeheieTgUgVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhEp2m3mqmFp4m5mrmGp6m7msm}e~ewhxhyhzh1oSlhf*k+k,k-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhjekeleYhZh0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiSp8m9mCmTp!m#mDmUp$m%mEmafbfBiCiDiEi2o^ljfTlUlVlWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2imeneoe3i4i5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjVp'm(mFmWp)m*mGmXp+m,mHmcfdfGjHjIjJj3o_lkf7l8l9l!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jpeqere8j9j!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
256 defaults[name] = field.get_default(call_default_factory=True) 25pJoKoImif_k`k4o`llf.l/l:l;l{k|k,c-c}k~kalblcldlelflglhl2eiljlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlypQmRmkm_emfnfYoPlefLkMkNkOkofpfN O qfrfsftfufvfwfxfyfzfdeAfBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fzpSmTmlmApUmVmmm`e7f8fZoQlffUkVkWkXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-feefe.f/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgBpWmXmnmCpYmZmomDp0m1mpm{e|ergsgtgug0oRlgf3k4k5k6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSggeheieTgUgVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhEp2m3mqmFp4m5mrmGp6m7msm}e~ewhxhyhzh1oSlhf*k+k,k-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhjekeleYhZh0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiSp8m9mCmTp!m#mDmUp$m%mEmafbfBiCiDiEi2o^ljfTlUlVlWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2imeneoe3i4i5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjVp'm(mFmWp)m*mGmXp+m,mHmcfdfGjHjIjJj3o_lkf7l8l9l!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jpeqere8j9j!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
257 if _fields_set is None: 25pJoKoImif_k`k4o`llf.l/l:lcm;l{k|k,c-c}k~kalblcldlelflglhl2eiljlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlypQmRmkm_emfnfYoPlefLkMkNk{lOkofpfN O qfrfsftfufvfwfxfyfzfdeAfBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fzpSmTmlmApUmVmmm`e7f8fZoQlffUkVkWk|lXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-feefe.f/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgBpWmXmnmCpYmZmomDp0m1mpm{e|ergsgtgug0oRlgf3k4k5k}l6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSggeheieTgUgVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhEp2m3mqmFp4m5mrmGp6m7msm}e~ewhxhyhzh1oSlhf*k+k,k~l-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhjekeleYhZh0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiSp8m9mCmTp!m#mDmUp$m%mEmafbfBiCiDiEi2o^ljfTlUlVlamWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2imeneoe3i4i5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjVp'm(mFmWp)m*mGmXp+m,mHmcfdfGjHjIjJj3o_lkf7l8l9lbm!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jpeqere8j9j!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
258 _fields_set = set(fields_values.keys()) 25pJoKoImif_k`k4o`llf.l/l:lcm;l{k|k,c-c}k~kalblcldlelflglhl2eiljlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlypQmRmkm_emfnfYoPlefLkMkNk{lOkofpfN O qfrfsftfufvfwfxfyfzfdeAfBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fzpSmTmlmApUmVmmm`e7f8fZoQlffUkVkWk|lXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-feefe.f/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgBpWmXmnmCpYmZmomDp0m1mpm{e|ergsgtgug0oRlgf3k4k5k}l6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSggeheieTgUgVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhEp2m3mqmFp4m5mrmGp6m7msm}e~ewhxhyhzh1oSlhf*k+k,k~l-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhjekeleYhZh0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiSp8m9mCmTp!m#mDmUp$m%mEmafbfBiCiDiEi2o^ljfTlUlVlamWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2imeneoe3i4i5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjVp'm(mFmWp)m*mGmXp+m,mHmcfdfGjHjIjJj3o_lkf7l8l9lbm!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jpeqere8j9j!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
259 fields_values.update(defaults) 25pJoKoImif_k`k4o`llf.l/l:lcm;l{k|k,c-c}k~kalblcldlelflglhl2eiljlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlypQmRmkm_emfnfYoPlefLkMkNk{lOkofpfN O qfrfsftfufvfwfxfyfzfdeAfBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fzpSmTmlmApUmVmmm`e7f8fZoQlffUkVkWk|lXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-feefe.f/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgBpWmXmnmCpYmZmomDp0m1mpm{e|ergsgtgug0oRlgf3k4k5k}l6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSggeheieTgUgVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhEp2m3mqmFp4m5mrmGp6m7msm}e~ewhxhyhzh1oSlhf*k+k,k~l-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhjekeleYhZh0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiSp8m9mCmTp!m#mDmUp$m%mEmafbfBiCiDiEi2o^ljfTlUlVlamWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2imeneoe3i4i5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjVp'm(mFmWp)m*mGmXp+m,mHmcfdfGjHjIjJj3o_lkf7l8l9lbm!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jpeqere8j9j!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
261 _extra: Union[Dict[str, Any], None] = None 25pJoKoImif_k`k4o`llf.l/l:lcm;l{k|k,c-c}k~kalblcldlelflglhl2eiljlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlypQmRmkm_emfnfYoPlefLkMkNk{lOkofpfN O qfrfsftfufvfwfxfyfzfdeAfBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fzpSmTmlmApUmVmmm`e7f8fZoQlffUkVkWk|lXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-feefe.f/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgBpWmXmnmCpYmZmomDp0m1mpm{e|ergsgtgug0oRlgf3k4k5k}l6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSggeheieTgUgVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhEp2m3mqmFp4m5mrmGp6m7msm}e~ewhxhyhzh1oSlhf*k+k,k~l-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhjekeleYhZh0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiSp8m9mCmTp!m#mDmUp$m%mEmafbfBiCiDiEi2o^ljfTlUlVlamWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2imeneoe3i4i5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjVp'm(mFmWp)m*mGmXp+m,mHmcfdfGjHjIjJj3o_lkf7l8l9lbm!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jpeqere8j9j!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
262 if cls.model_config.get("extra") == "allow": 25pJoKoImif_k`k4o`llf.l/l:lcm;l{k|k,c-c}k~kalblcldlelflglhl2eiljlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlypQmRmkm_emfnfYoPlefLkMkNk{lOkofpfN O qfrfsftfufvfwfxfyfzfdeAfBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fzpSmTmlmApUmVmmm`e7f8fZoQlffUkVkWk|lXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-feefe.f/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgBpWmXmnmCpYmZmomDp0m1mpm{e|ergsgtgug0oRlgf3k4k5k}l6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSggeheieTgUgVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhEp2m3mqmFp4m5mrmGp6m7msm}e~ewhxhyhzh1oSlhf*k+k,k~l-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhjekeleYhZh0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiSp8m9mCmTp!m#mDmUp$m%mEmafbfBiCiDiEi2o^ljfTlUlVlamWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2imeneoe3i4i5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjVp'm(mFmWp)m*mGmXp+m,mHmcfdfGjHjIjJj3o_lkf7l8l9lbm!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jpeqere8j9j!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
263 _extra = {}
264 for k, v in values.items():
265 _extra[k] = v
266 # SQLModel override, do not include everything, only the model fields
267 # else:
268 # fields_values.update(values)
269 # End SQLModel override
270 # SQLModel override
271 # Do not set __dict__, instead use setattr to trigger SQLAlchemy
272 # object.__setattr__(new_obj, "__dict__", fields_values)
273 # instrumentation
274 for key, value in {**old_dict, **fields_values}.items(): 25pJoKoImif_k`k4o`llf.l/l:lcm;l{k|k,c-c}k~kalblcldlelflglhl2eiljlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlypQmRmkm_emfnfYoPlefLkMkNk{lOkofpfN O qfrfsftfufvfwfxfyfzfdeAfBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fzpSmTmlmApUmVmmm`e7f8fZoQlffUkVkWk|lXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-feefe.f/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgBpWmXmnmCpYmZmomDp0m1mpm{e|ergsgtgug0oRlgf3k4k5k}l6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSggeheieTgUgVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhEp2m3mqmFp4m5mrmGp6m7msm}e~ewhxhyhzh1oSlhf*k+k,k~l-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhjekeleYhZh0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiSp8m9mCmTp!m#mDmUp$m%mEmafbfBiCiDiEi2o^ljfTlUlVlamWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2imeneoe3i4i5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjVp'm(mFmWp)m*mGmXp+m,mHmcfdfGjHjIjJj3o_lkf7l8l9lbm!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jpeqere8j9j!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
275 setattr(self_instance, key, value) 25pJoKoImif_k`k4o`llf.l/l:lcm;l{k|k,c-c}k~kalblcldlelflglhl2eiljlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlypQmRmkm_emfnfYoPlefLkMkNk{lOkofpfN O qfrfsftfufvfwfxfyfzfdeAfBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fzpSmTmlmApUmVmmm`e7f8fZoQlffUkVkWk|lXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-feefe.f/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgBpWmXmnmCpYmZmomDp0m1mpm{e|ergsgtgug0oRlgf3k4k5k}l6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSggeheieTgUgVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhEp2m3mqmFp4m5mrmGp6m7msm}e~ewhxhyhzh1oSlhf*k+k,k~l-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhjekeleYhZh0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiSp8m9mCmTp!m#mDmUp$m%mEmafbfBiCiDiEi2o^ljfTlUlVlamWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2imeneoe3i4i5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjVp'm(mFmWp)m*mGmXp+m,mHmcfdfGjHjIjJj3o_lkf7l8l9lbm!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jpeqere8j9j!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
276 # End SQLModel override
277 object.__setattr__(self_instance, "__pydantic_fields_set__", _fields_set) 25pJoKoImif_k`k4o`llf.l/l:lcm;l{k|k,c-c}k~kalblcldlelflglhl2eiljlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlypQmRmkm_emfnfYoPlefLkMkNk{lOkofpfN O qfrfsftfufvfwfxfyfzfdeAfBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fzpSmTmlmApUmVmmm`e7f8fZoQlffUkVkWk|lXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-feefe.f/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgBpWmXmnmCpYmZmomDp0m1mpm{e|ergsgtgug0oRlgf3k4k5k}l6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSggeheieTgUgVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhEp2m3mqmFp4m5mrmGp6m7msm}e~ewhxhyhzh1oSlhf*k+k,k~l-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhjekeleYhZh0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiSp8m9mCmTp!m#mDmUp$m%mEmafbfBiCiDiEi2o^ljfTlUlVlamWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2imeneoe3i4i5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjVp'm(mFmWp)m*mGmXp+m,mHmcfdfGjHjIjJj3o_lkf7l8l9lbm!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jpeqere8j9j!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
278 if not cls.__pydantic_root_model__: 25pJoKoImif_k`k4o`llf.l/l:lcm;l{k|k,c-c}k~kalblcldlelflglhl2eiljlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlypQmRmkm_emfnfYoPlefLkMkNk{lOkofpfN O qfrfsftfufvfwfxfyfzfdeAfBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fzpSmTmlmApUmVmmm`e7f8fZoQlffUkVkWk|lXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-feefe.f/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgBpWmXmnmCpYmZmomDp0m1mpm{e|ergsgtgug0oRlgf3k4k5k}l6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSggeheieTgUgVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhEp2m3mqmFp4m5mrmGp6m7msm}e~ewhxhyhzh1oSlhf*k+k,k~l-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhjekeleYhZh0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiSp8m9mCmTp!m#mDmUp$m%mEmafbfBiCiDiEi2o^ljfTlUlVlamWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2imeneoe3i4i5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjVp'm(mFmWp)m*mGmXp+m,mHmcfdfGjHjIjJj3o_lkf7l8l9lbm!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jpeqere8j9j!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
279 object.__setattr__(self_instance, "__pydantic_extra__", _extra) 25pJoKoImif_k`k4o`llf.l/l:lcm;l{k|k,c-c}k~kalblcldlelflglhl2eiljlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlypQmRmkm_emfnfYoPlefLkMkNk{lOkofpfN O qfrfsftfufvfwfxfyfzfdeAfBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fzpSmTmlmApUmVmmm`e7f8fZoQlffUkVkWk|lXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-feefe.f/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgBpWmXmnmCpYmZmomDp0m1mpm{e|ergsgtgug0oRlgf3k4k5k}l6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSggeheieTgUgVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhEp2m3mqmFp4m5mrmGp6m7msm}e~ewhxhyhzh1oSlhf*k+k,k~l-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhjekeleYhZh0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiSp8m9mCmTp!m#mDmUp$m%mEmafbfBiCiDiEi2o^ljfTlUlVlamWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2imeneoe3i4i5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjVp'm(mFmWp)m*mGmXp+m,mHmcfdfGjHjIjJj3o_lkf7l8l9lbm!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jpeqere8j9j!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
281 if cls.__pydantic_post_init__: 25pJoKoImif_k`k4o`llf.l/l:lcm;l{k|k,c-c}k~kalblcldlelflglhl2eiljlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlypQmRmkm_emfnfYoPlefLkMkNk{lOkofpfN O qfrfsftfufvfwfxfyfzfdeAfBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fzpSmTmlmApUmVmmm`e7f8fZoQlffUkVkWk|lXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-feefe.f/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgBpWmXmnmCpYmZmomDp0m1mpm{e|ergsgtgug0oRlgf3k4k5k}l6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSggeheieTgUgVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhEp2m3mqmFp4m5mrmGp6m7msm}e~ewhxhyhzh1oSlhf*k+k,k~l-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhjekeleYhZh0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiSp8m9mCmTp!m#mDmUp$m%mEmafbfBiCiDiEi2o^ljfTlUlVlamWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2imeneoe3i4i5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjVp'm(mFmWp)m*mGmXp+m,mHmcfdfGjHjIjJj3o_lkf7l8l9lbm!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jpeqere8j9j!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
282 self_instance.model_post_init(None)
283 elif not cls.__pydantic_root_model__: 25pJoKoImif_k`k4o`llf.l/l:lcm;l{k|k,c-c}k~kalblcldlelflglhl2eiljlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlypQmRmkm_emfnfYoPlefLkMkNk{lOkofpfN O qfrfsftfufvfwfxfyfzfdeAfBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fzpSmTmlmApUmVmmm`e7f8fZoQlffUkVkWk|lXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-feefe.f/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgBpWmXmnmCpYmZmomDp0m1mpm{e|ergsgtgug0oRlgf3k4k5k}l6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSggeheieTgUgVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhEp2m3mqmFp4m5mrmGp6m7msm}e~ewhxhyhzh1oSlhf*k+k,k~l-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhjekeleYhZh0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiSp8m9mCmTp!m#mDmUp$m%mEmafbfBiCiDiEi2o^ljfTlUlVlamWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2imeneoe3i4i5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjVp'm(mFmWp)m*mGmXp+m,mHmcfdfGjHjIjJj3o_lkf7l8l9lbm!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jpeqere8j9j!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
284 # Note: if there are any private attributes, cls.__pydantic_post_init__ would exist
285 # Since it doesn't, that means that `__pydantic_private__` should be set to None
286 object.__setattr__(self_instance, "__pydantic_private__", None) 25pJoKoImif_k`k4o`llf.l/l:lcm;l{k|k,c-c}k~kalblcldlelflglhl2eiljlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlypQmRmkm_emfnfYoPlefLkMkNk{lOkofpfN O qfrfsftfufvfwfxfyfzfdeAfBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fzpSmTmlmApUmVmmm`e7f8fZoQlffUkVkWk|lXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-feefe.f/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgBpWmXmnmCpYmZmomDp0m1mpm{e|ergsgtgug0oRlgf3k4k5k}l6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSggeheieTgUgVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhEp2m3mqmFp4m5mrmGp6m7msm}e~ewhxhyhzh1oSlhf*k+k,k~l-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhjekeleYhZh0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiSp8m9mCmTp!m#mDmUp$m%mEmafbfBiCiDiEi2o^ljfTlUlVlamWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2imeneoe3i4i5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjVp'm(mFmWp)m*mGmXp+m,mHmcfdfGjHjIjJj3o_lkf7l8l9lbm!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jpeqere8j9j!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
287 # SQLModel override, set relationships
288 # Get and set any relationship objects
289 for key in self_instance.__sqlmodel_relationships__: 25pJoKoImif_k`k4o`llf.l/l:lcm;l{k|k,c-c}k~kalblcldlelflglhl2eiljlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlypQmRmkm_emfnfYoPlefLkMkNk{lOkofpfN O qfrfsftfufvfwfxfyfzfdeAfBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fzpSmTmlmApUmVmmm`e7f8fZoQlffUkVkWk|lXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-feefe.f/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgBpWmXmnmCpYmZmomDp0m1mpm{e|ergsgtgug0oRlgf3k4k5k}l6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSggeheieTgUgVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhEp2m3mqmFp4m5mrmGp6m7msm}e~ewhxhyhzh1oSlhf*k+k,k~l-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhjekeleYhZh0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiSp8m9mCmTp!m#mDmUp$m%mEmafbfBiCiDiEi2o^ljfTlUlVlamWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2imeneoe3i4i5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjVp'm(mFmWp)m*mGmXp+m,mHmcfdfGjHjIjJj3o_lkf7l8l9lbm!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jpeqere8j9j!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
290 value = values.get(key, Undefined) 2lf,c-cQdRdtd.c/c:c;c=c?c@c[c]c^c_cefN O ldmd`cP Q R S T U V W X Y Z ff0 hb1 2 ndudodvd{c|c3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sbgf' tbub( ) * pdwdxdqdydzd}c~cad+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQbhf] RbSb^ _ ` rdAdBdsdCdDdbdcddd{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'bjf(brcsc)b*b+bEdIdJdFdKdLdfdgdhd,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOckf^bPcQc_b`b{bGdMdNdHdOdPdidjdkd|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c
291 if value is not Undefined: 2lf,c-cQdRdtd.c/c:c;c=c?c@c[c]c^c_cefN O ldmd`cP Q R S T U V W X Y Z ff0 hb1 2 ndudodvd{c|c3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sbgf' tbub( ) * pdwdxdqdydzd}c~cad+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQbhf] RbSb^ _ ` rdAdBdsdCdDdbdcddd{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'bjf(brcsc)b*b+bEdIdJdFdKdLdfdgdhd,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOckf^bPcQc_b`b{bGdMdNdHdOdPdidjdkd|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c
292 setattr(self_instance, key, value) 2lf,c-cQdRdtd.c/c:c;c=c?c@c[c]c^c_cefN O ldmd`cP Q R S T U V W X Y Z ff0 hb1 2 ndudodvd{c|c3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sbgf' tbub( ) * pdwdxdqdydzd}c~cad+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQbhf] RbSb^ _ ` rdAdBdsdCdDdbdcddd{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'bjf(brcsc)b*b+bEdIdJdFdKdLdfdgdhd,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOckf^bPcQc_b`b{bGdMdNdHdOdPdidjdkd|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c
293 # End SQLModel override
294 return self_instance 25pJoKoImif_k`k4o`llf.l/l:lcm;l{k|k,c-c}k~kalblcldlelflglhl2eiljlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlypQmRmkm_emfnfYoPlefLkMkNk{lOkofpfN O qfrfsftfufvfwfxfyfzfdeAfBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fzpSmTmlmApUmVmmm`e7f8fZoQlffUkVkWk|lXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-feefe.f/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgBpWmXmnmCpYmZmomDp0m1mpm{e|ergsgtgug0oRlgf3k4k5k}l6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSggeheieTgUgVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhEp2m3mqmFp4m5mrmGp6m7msm}e~ewhxhyhzh1oSlhf*k+k,k~l-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhjekeleYhZh0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiSp8m9mCmTp!m#mDmUp$m%mEmafbfBiCiDiEi2o^ljfTlUlVlamWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2imeneoe3i4i5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjVp'm(mFmWp)m*mGmXp+m,mHmcfdfGjHjIjJj3o_lkf7l8l9lbm!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jpeqere8j9j!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
296 def sqlmodel_validate( 1abcdef
297 cls: Type[_TSQLModel],
298 obj: Any,
299 *,
300 strict: Union[bool, None] = None,
301 from_attributes: Union[bool, None] = None,
302 context: Union[Dict[str, Any], None] = None,
303 update: Union[Dict[str, Any], None] = None,
304 ) -> _TSQLModel:
305 if not is_table_model_class(cls): 2LoMoNoOoPoQoRo8pvqSoToUoVoWoXoae@e[e]e^eK beL ceed(q-m.m/m:m;m=m?mOpwq@m[m]m^m_m`mSdseteueveg Tdh Udic)q{m|m}m~manbncndnenfngnhninjnPpxqknlnmnnnonpnVdWdwexeyezeAeBeCeDei o XdYdj p Zd0djckc*qqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnQpyqLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r 4d5d6dl s t 7d8d9dlcmcnc+qRnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!n#nRpzq$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v %d'd(dn w x )d*d+docpcqc,q+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobo6pAqcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D /d:d;dz E F =d?d@d%c'c(c.qiojokolomonooopoqorosotouovowoxoyozoAoBoCo7pBqDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H _d`d{dB I J |d}d~d)c*c+c:q
306 new_obj: _TSQLModel = cls.__new__(cls) 28pvq(qOpwq)qPpxq*qQpyq+qRpzq,q6pAq.q7pBq:q
307 else:
308 # If table, create the new instance normally to make SQLAlchemy create
309 # the _sa_instance_state attribute
310 # The wrapper of this function should use with _partial_init()
311 with partial_init(): 2LoMoNoOoPoQoRoSoToUoVoWoXoae@e[e]e^eK beL ceed-m.m/m:m;m=m?m@m[m]m^m_m`mSdseteueveg Tdh Udic{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnVdWdwexeyezeAeBeCeDei o XdYdj p Zd0djckcqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r 4d5d6dl s t 7d8d9dlcmcncRnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!n#n$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v %d'd(dn w x )d*d+docpcqc+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D /d:d;dz E F =d?d@d%c'c(ciojokolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H _d`d{dB I J |d}d~d)c*c+c
312 new_obj = cls() 2LoMoNoOoPoQoRoSoToUoVoWoXoae@e[e]e^eK beL ceed-m.m/m:m;m=m?m@m[m]m^m_m`mSdseteueveg Tdh Udic{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnVdWdwexeyezeAeBeCeDei o XdYdj p Zd0djckcqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r 4d5d6dl s t 7d8d9dlcmcncRnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!n#n$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v %d'd(dn w x )d*d+docpcqc+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D /d:d;dz E F =d?d@d%c'c(ciojokolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H _d`d{dB I J |d}d~d)c*c+c
313 # SQLModel Override to get class SQLAlchemy __dict__ attributes and
314 # set them back in after creating the object
315 old_dict = new_obj.__dict__.copy() 2LoMoNoOoPoQoRo8pvqSoToUoVoWoXoae@e[e]e^eK beL ceed(q-m.m/m:m;m=m?mOpwq@m[m]m^m_m`mSdseteueveg Tdh Udic)q{m|m}m~manbncndnenfngnhninjnPpxqknlnmnnnonpnVdWdwexeyezeAeBeCeDei o XdYdj p Zd0djckc*qqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnQpyqLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r 4d5d6dl s t 7d8d9dlcmcnc+qRnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!n#nRpzq$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v %d'd(dn w x )d*d+docpcqc,q+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobo6pAqcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D /d:d;dz E F =d?d@d%c'c(c.qiojokolomonooopoqorosotouovowoxoyozoAoBoCo7pBqDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H _d`d{dB I J |d}d~d)c*c+c:q
316 use_obj = obj 2LoMoNoOoPoQoRo8pvqSoToUoVoWoXoae@e[e]e^eK beL ceed(q-m.m/m:m;m=m?mOpwq@m[m]m^m_m`mSdseteueveg Tdh Udic)q{m|m}m~manbncndnenfngnhninjnPpxqknlnmnnnonpnVdWdwexeyezeAeBeCeDei o XdYdj p Zd0djckc*qqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnQpyqLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r 4d5d6dl s t 7d8d9dlcmcnc+qRnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!n#nRpzq$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v %d'd(dn w x )d*d+docpcqc,q+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobo6pAqcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D /d:d;dz E F =d?d@d%c'c(c.qiojokolomonooopoqorosotouovowoxoyozoAoBoCo7pBqDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H _d`d{dB I J |d}d~d)c*c+c:q
317 if isinstance(obj, dict) and update: 2LoMoNoOoPoQoRo8pvqSoToUoVoWoXoae@e[e]e^eK beL ceed(q-m.m/m:m;m=m?mOpwq@m[m]m^m_m`mSdseteueveg Tdh Udic)q{m|m}m~manbncndnenfngnhninjnPpxqknlnmnnnonpnVdWdwexeyezeAeBeCeDei o XdYdj p Zd0djckc*qqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnQpyqLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r 4d5d6dl s t 7d8d9dlcmcnc+qRnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!n#nRpzq$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v %d'd(dn w x )d*d+docpcqc,q+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobo6pAqcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D /d:d;dz E F =d?d@d%c'c(c.qiojokolomonooopoqorosotouovowoxoyozoAoBoCo7pBqDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H _d`d{dB I J |d}d~d)c*c+c:q
318 use_obj = {**obj, **update}
319 elif update: 2LoMoNoOoPoQoRo8pvqSoToUoVoWoXoae@e[e]e^eK beL ceed(q-m.m/m:m;m=m?mOpwq@m[m]m^m_m`mSdseteueveg Tdh Udic)q{m|m}m~manbncndnenfngnhninjnPpxqknlnmnnnonpnVdWdwexeyezeAeBeCeDei o XdYdj p Zd0djckc*qqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnQpyqLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r 4d5d6dl s t 7d8d9dlcmcnc+qRnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!n#nRpzq$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v %d'd(dn w x )d*d+docpcqc,q+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobo6pAqcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D /d:d;dz E F =d?d@d%c'c(c.qiojokolomonooopoqorosotouovowoxoyozoAoBoCo7pBqDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H _d`d{dB I J |d}d~d)c*c+c:q
320 use_obj = ObjectWithUpdateWrapper(obj=obj, update=update) 2edicjckclcmcncocpcqc%c'c(c)c*c+c
321 cls.__pydantic_validator__.validate_python( 2LoMoNoOoPoQoRo8pvqSoToUoVoWoXoae@e[e]e^eK beL ceed(q-m.m/m:m;m=m?mOpwq@m[m]m^m_m`mSdseteueveg Tdh Udic)q{m|m}m~manbncndnenfngnhninjnPpxqknlnmnnnonpnVdWdwexeyezeAeBeCeDei o XdYdj p Zd0djckc*qqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnQpyqLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r 4d5d6dl s t 7d8d9dlcmcnc+qRnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!n#nRpzq$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v %d'd(dn w x )d*d+docpcqc,q+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobo6pAqcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D /d:d;dz E F =d?d@d%c'c(c.qiojokolomonooopoqorosotouovowoxoyozoAoBoCo7pBqDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H _d`d{dB I J |d}d~d)c*c+c:q
322 use_obj,
323 strict=strict,
324 from_attributes=from_attributes,
325 context=context,
326 self_instance=new_obj,
327 )
328 # Capture fields set to restore it later
329 fields_set = new_obj.__pydantic_fields_set__.copy() 2LoMoNoOoPoQoRo8pvqSoToUoVoWoXoae@e[e]e^eK beL ceed(q-m.m/m:m;m=m?mOpwq@m[m]m^m_m`mSdseteueveg Tdh Udic)q{m|m}m~manbncndnenfngnhninjnPpxqknlnmnnnonpnVdWdwexeyezeAeBeCeDei o XdYdj p Zd0djckc*qqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnQpyqLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r 4d5d6dl s t 7d8d9dlcmcnc+qRnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!n#nRpzq$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v %d'd(dn w x )d*d+docpcqc,q+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobo6pAqcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D /d:d;dz E F =d?d@d%c'c(c.qiojokolomonooopoqorosotouovowoxoyozoAoBoCo7pBqDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H _d`d{dB I J |d}d~d)c*c+c:q
330 if not is_table_model_class(cls): 2LoMoNoOoPoQoRo8pvqSoToUoVoWoXoae@e[e]e^eK beL ceed(q-m.m/m:m;m=m?mOpwq@m[m]m^m_m`mSdseteueveg Tdh Udic)q{m|m}m~manbncndnenfngnhninjnPpxqknlnmnnnonpnVdWdwexeyezeAeBeCeDei o XdYdj p Zd0djckc*qqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnQpyqLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r 4d5d6dl s t 7d8d9dlcmcnc+qRnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!n#nRpzq$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v %d'd(dn w x )d*d+docpcqc,q+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobo6pAqcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D /d:d;dz E F =d?d@d%c'c(c.qiojokolomonooopoqorosotouovowoxoyozoAoBoCo7pBqDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H _d`d{dB I J |d}d~d)c*c+c:q
331 # If not table, normal Pydantic code, set __dict__
332 new_obj.__dict__ = {**old_dict, **new_obj.__dict__} 28pvq(qOpwq)qPpxq*qQpyq+qRpzq,q6pAq.q7pBq:q
333 else:
334 # Do not set __dict__, instead use setattr to trigger SQLAlchemy
335 # instrumentation
336 for key, value in {**old_dict, **new_obj.__dict__}.items(): 2LoMoNoOoPoQoRoSoToUoVoWoXoae@e[e]e^eK beL ceed-m.m/m:m;m=m?m@m[m]m^m_m`mSdseteueveg Tdh Udic{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnVdWdwexeyezeAeBeCeDei o XdYdj p Zd0djckcqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r 4d5d6dl s t 7d8d9dlcmcncRnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!n#n$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v %d'd(dn w x )d*d+docpcqc+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D /d:d;dz E F =d?d@d%c'c(ciojokolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H _d`d{dB I J |d}d~d)c*c+c
337 setattr(new_obj, key, value) 2LoMoNoOoPoQoRoSoToUoVoWoXoae@e[e]e^eK beL ceed-m.m/m:m;m=m?m@m[m]m^m_m`mSdseteueveg Tdh Udic{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnVdWdwexeyezeAeBeCeDei o XdYdj p Zd0djckcqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r 4d5d6dl s t 7d8d9dlcmcncRnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!n#n$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v %d'd(dn w x )d*d+docpcqc+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D /d:d;dz E F =d?d@d%c'c(ciojokolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H _d`d{dB I J |d}d~d)c*c+c
338 # Restore fields set
339 object.__setattr__(new_obj, "__pydantic_fields_set__", fields_set) 2LoMoNoOoPoQoRo8pvqSoToUoVoWoXoae@e[e]e^eK beL ceed(q-m.m/m:m;m=m?mOpwq@m[m]m^m_m`mSdseteueveg Tdh Udic)q{m|m}m~manbncndnenfngnhninjnPpxqknlnmnnnonpnVdWdwexeyezeAeBeCeDei o XdYdj p Zd0djckc*qqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnQpyqLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r 4d5d6dl s t 7d8d9dlcmcnc+qRnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!n#nRpzq$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v %d'd(dn w x )d*d+docpcqc,q+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobo6pAqcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D /d:d;dz E F =d?d@d%c'c(c.qiojokolomonooopoqorosotouovowoxoyozoAoBoCo7pBqDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H _d`d{dB I J |d}d~d)c*c+c:q
340 # Get and set any relationship objects
341 if is_table_model_class(cls): 2LoMoNoOoPoQoRo8pvqSoToUoVoWoXoae@e[e]e^eK beL ceed(q-m.m/m:m;m=m?mOpwq@m[m]m^m_m`mSdseteueveg Tdh Udic)q{m|m}m~manbncndnenfngnhninjnPpxqknlnmnnnonpnVdWdwexeyezeAeBeCeDei o XdYdj p Zd0djckc*qqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnQpyqLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r 4d5d6dl s t 7d8d9dlcmcnc+qRnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!n#nRpzq$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v %d'd(dn w x )d*d+docpcqc,q+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobo6pAqcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D /d:d;dz E F =d?d@d%c'c(c.qiojokolomonooopoqorosotouovowoxoyozoAoBoCo7pBqDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H _d`d{dB I J |d}d~d)c*c+c:q
342 for key in new_obj.__sqlmodel_relationships__: 2LoMoNoOoPoQoRoSoToUoVoWoXoae@e[e]e^eK beL ceed-m.m/m:m;m=m?m@m[m]m^m_m`mSdseteueveg Tdh Udic{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnVdWdwexeyezeAeBeCeDei o XdYdj p Zd0djckcqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r 4d5d6dl s t 7d8d9dlcmcncRnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!n#n$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v %d'd(dn w x )d*d+docpcqc+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D /d:d;dz E F =d?d@d%c'c(ciojokolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H _d`d{dB I J |d}d~d)c*c+c
343 value = getattr(use_obj, key, Undefined) 1KLghiojpkqrlstmuvnwxyCDzEFAGHBIJ
344 if value is not Undefined: 1KLghiojpkqrlstmuvnwxyCDzEFAGHBIJ
345 setattr(new_obj, key, value)
346 return new_obj 2LoMoNoOoPoQoRo8pvqSoToUoVoWoXoae@e[e]e^eK beL ceed(q-m.m/m:m;m=m?mOpwq@m[m]m^m_m`mSdseteueveg Tdh Udic)q{m|m}m~manbncndnenfngnhninjnPpxqknlnmnnnonpnVdWdwexeyezeAeBeCeDei o XdYdj p Zd0djckc*qqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnQpyqLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r 4d5d6dl s t 7d8d9dlcmcnc+qRnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!n#nRpzq$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v %d'd(dn w x )d*d+docpcqc,q+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobo6pAqcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D /d:d;dz E F =d?d@d%c'c(c.qiojokolomonooopoqorosotouovowoxoyozoAoBoCo7pBqDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H _d`d{dB I J |d}d~d)c*c+c:q
348 def sqlmodel_init(*, self: "SQLModel", data: Dict[str, Any]) -> None: 1Mabcdef
349 old_dict = self.__dict__.copy() 2|qLoDrEr5pJoKoImMoNoOoPoQoRoif_k`k4o;q8pGq`l'qlf.l/l:lcmRqSq1q;l{k|k,c-c}k~kalblcldlelflglhlSoToUoVoWoXoae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOl=q-mlrmrypQmRmkm.m/m:m;m=m?m_emfnfYo4qOpCqPl8qefLkMkNk{lHqIqTqOkofpfN O qfrfsftfufvfwfxfyfzf@m[m]m^m_m`mSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f?q{mnrorzpSmTmlm|m}m~manbncn@qdnprqrApUmVmmmenfngnhninjn`e7f8fZo5qPpDqQl9qffUkVkWk|lJqKqUqXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-fknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqg[qqnrrsrBpWmXmnmrnsntnunvnwn]qxntrurCpYmZmomynznAnBnCnDn^qEnvrwrDp0m1mpmFnGnHnInJnKn{e|ergsgtgug0o6qQpEqRl!qgf3k4k5k}lLqMqVq6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvh_qRnxryrEp2m3mqmSnTnUnVnWnXn`qYnzrArFp4m5mrmZn0n1n2n3n4n{q5nBrCrGp6m7msm6n7n8n9n!n#n}e~ewhxhyhzh1o7qRpFqSl#qhf*k+k,k~lNqOqWq-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXh$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAi}q+nFrGrSp8m9mCm,n-n.n/n:n;n~q=nHrIrTp!m#mDm?n@n[n]n^n_nar`nJrKrUp$m%mEm{n|n}n~naoboafbfBiCiDiEi2o$q6pPq^l-qjfTlUlVlamXqYq2qWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2icodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjbrioLrMrVp'm(mFmjokolomonooocrpoNrOrWp)m*mGmqorosotouovodrwoPrQrXp+m,mHmxoyozoAoBoCocfdfGjHjIjJj3o%q7pQq_l/qkf7l8l9lbmZq0q3q!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
350 if not is_table_model_class(self.__class__): 2|qLoDrEr5pJoKoImMoNoOoPoQoRoif_k`k4o;q8pGq`l'qlf.l/l:lcmRqSq1q;l{k|k,c-c}k~kalblcldlelflglhlSoToUoVoWoXoae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOl=q-mlrmrypQmRmkm.m/m:m;m=m?m_emfnfYo4qOpCqPl8qefLkMkNk{lHqIqTqOkofpfN O qfrfsftfufvfwfxfyfzf@m[m]m^m_m`mSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f?q{mnrorzpSmTmlm|m}m~manbncn@qdnprqrApUmVmmmenfngnhninjn`e7f8fZo5qPpDqQl9qffUkVkWk|lJqKqUqXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-fknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqg[qqnrrsrBpWmXmnmrnsntnunvnwn]qxntrurCpYmZmomynznAnBnCnDn^qEnvrwrDp0m1mpmFnGnHnInJnKn{e|ergsgtgug0o6qQpEqRl!qgf3k4k5k}lLqMqVq6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvh_qRnxryrEp2m3mqmSnTnUnVnWnXn`qYnzrArFp4m5mrmZn0n1n2n3n4n{q5nBrCrGp6m7msm6n7n8n9n!n#n}e~ewhxhyhzh1o7qRpFqSl#qhf*k+k,k~lNqOqWq-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXh$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAi}q+nFrGrSp8m9mCm,n-n.n/n:n;n~q=nHrIrTp!m#mDm?n@n[n]n^n_nar`nJrKrUp$m%mEm{n|n}n~naoboafbfBiCiDiEi2o$q6pPq^l-qjfTlUlVlamXqYq2qWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2icodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjbrioLrMrVp'm(mFmjokolomonooocrpoNrOrWp)m*mGmqorosotouovodrwoPrQrXp+m,mHmxoyozoAoBoCocfdfGjHjIjJj3o%q7pQq_l/qkf7l8l9lbmZq0q3q!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
351 self.__pydantic_validator__.validate_python( 2|qLoDrErImMoNoOoPoQoRo;q8pGq'qRqSq1qSoToUoVoWoXoae@e[e]e^eK beL ceed=q-mlrmrkm.m/m:m;m=m?m4qOpCq8qHqIqTq@m[m]m^m_m`mSdseteueveg Tdh Udic?q{mnrorlm|m}m~manbncn@qdnprqrmmenfngnhninjn5qPpDq9qJqKqUqknlnmnnnonpnVdWdwexeyezeAeBeCeDei o XdYdj p Zd0djckc[qqnrrsrnmrnsntnunvnwn]qxntruromynznAnBnCnDn^qEnvrwrpmFnGnHnInJnKn6qQpEq!qLqMqVqLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r 4d5d6dl s t 7d8d9dlcmcnc_qRnxryrqmSnTnUnVnWnXn`qYnzrArrmZn0n1n2n3n4n{q5nBrCrsm6n7n8n9n!n#n7qRpFq#qNqOqWq$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v %d'd(dn w x )d*d+docpcqc}q+nFrGrCm,n-n.n/n:n;n~q=nHrIrDm?n@n[n]n^n_nar`nJrKrEm{n|n}n~naobo$q6pPq-qXqYq2qcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D /d:d;dz E F =d?d@d%c'c(cbrioLrMrFmjokolomonooocrpoNrOrGmqorosotouovodrwoPrQrHmxoyozoAoBoCo%q7pQq/qZq0q3qDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H _d`d{dB I J |d}d~d)c*c+c
352 data,
353 self_instance=self,
354 )
355 else:
356 sqlmodel_table_construct( 25pJoKoImif_k`k4o`llf.l/l:lcm;l{k|k,c-c}k~kalblcldlelflglhl2eiljlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlypQmRmkm_emfnfYoPlefLkMkNk{lOkofpfN O qfrfsftfufvfwfxfyfzfdeAfBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fzpSmTmlmApUmVmmm`e7f8fZoQlffUkVkWk|lXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-feefe.f/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgBpWmXmnmCpYmZmomDp0m1mpm{e|ergsgtgug0oRlgf3k4k5k}l6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSggeheieTgUgVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhEp2m3mqmFp4m5mrmGp6m7msm}e~ewhxhyhzh1oSlhf*k+k,k~l-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhjekeleYhZh0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiSp8m9mCmTp!m#mDmUp$m%mEmafbfBiCiDiEi2o^ljfTlUlVlamWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2imeneoe3i4i5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjVp'm(mFmWp)m*mGmXp+m,mHmcfdfGjHjIjJj3o_lkf7l8l9lbm!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jpeqere8j9j!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
357 self_instance=self,
358 values=data,
359 )
360 object.__setattr__( 2|qLo5pJoKoImMoNoOoPoQoRoif_k`k4o;q8pGq`llf.l/l:lcmRqSq1q;l{k|k,c-c}k~kalblcldlelflglhlSoToUoVoWoXoae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOl=q-mypQmRmkm.m/m:m;m=m?m_emfnfYo4qOpCqPlefLkMkNk{lHqIqTqOkofpfN O qfrfsftfufvfwfxfyfzf@m[m]m^m_m`mSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f?q{mzpSmTmlm|m}m~manbncn@qdnApUmVmmmenfngnhninjn`e7f8fZo5qPpDqQlffUkVkWk|lJqKqUqXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-fknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqg[qqnBpWmXmnmrnsntnunvnwn]qxnCpYmZmomynznAnBnCnDn^qEnDp0m1mpmFnGnHnInJnKn{e|ergsgtgug0o6qQpEqRlgf3k4k5k}lLqMqVq6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvh_qRnEp2m3mqmSnTnUnVnWnXn`qYnFp4m5mrmZn0n1n2n3n4n{q5nGp6m7msm6n7n8n9n!n#n}e~ewhxhyhzh1o7qRpFqSlhf*k+k,k~lNqOqWq-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXh$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAi}q+nSp8m9mCm,n-n.n/n:n;n~q=nTp!m#mDm?n@n[n]n^n_nar`nUp$m%mEm{n|n}n~naoboafbfBiCiDiEi2o$q6pPq^ljfTlUlVlamXqYq2qWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2icodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjbrioVp'm(mFmjokolomonooocrpoWp)m*mGmqorosotouovodrwoXp+m,mHmxoyozoAoBoCocfdfGjHjIjJj3o%q7pQq_lkf7l8l9lbmZq0q3q!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
361 self,
362 "__dict__",
363 {**old_dict, **self.__dict__},
364 )
366else:
367 from pydantic import BaseConfig as BaseConfig # type: ignore[assignment] 1Mabcdef
368 from pydantic.errors import ConfigError 1Mabcdef
369 from pydantic.fields import ( # type: ignore[attr-defined, no-redef] 1Mabcdef
370 SHAPE_SINGLETON,
371 ModelField,
372 )
373 from pydantic.fields import ( # type: ignore[attr-defined, no-redef] 1Mabcdef
374 Undefined as Undefined, # noqa
375 )
376 from pydantic.fields import ( # type: ignore[attr-defined, no-redef] 1Mabcdef
377 UndefinedType as UndefinedType,
378 )
379 from pydantic.main import ( # type: ignore[no-redef] 1Mabcdef
380 ModelMetaclass as ModelMetaclass,
381 )
382 from pydantic.main import validate_model 1Mabcdef
383 from pydantic.typing import resolve_annotations 1Mabcdef
384 from pydantic.utils import ROOT_KEY, ValueItems 1Mabcdef
385 from pydantic.utils import ( # type: ignore[no-redef] 1Mabcdef
386 Representation as Representation,
387 )
389 class SQLModelConfig(BaseConfig): # type: ignore[no-redef] 1Mabcdef
390 table: Optional[bool] = None # type: ignore[misc] 1Mabcdef
391 registry: Optional[Any] = None # type: ignore[misc] 1Mabcdef
393 def get_config_value( 1abcdef
394 *, model: InstanceOrType["SQLModel"], parameter: str, default: Any = None
395 ) -> Any:
396 return getattr(model.__config__, parameter, default) # type: ignore[union-attr] 2M if_k`khqiq$oHpYperGq`l'qlf.l/l:l^pcm5o_pJmRqSq1q;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlVra _emfnfjqkq)oIpZpfrCqPl8qefLkMkNk`p{l6o{pKmHqIqTqOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fRrb `e7f8flqmq-oJp0pgrDqQl9qffUkVkWk|p|l7o}pLmJqKqUqXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgSrc {e|ergsgtgugnqoq=oKp1phrEqRl!qgf3k4k5k~p}l8oaqMmLqMqVq6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhTrd }e~ewhxhyhzhpqqq|oLp2pirFqSl#qhf*k+k,kbq~l9ocqNmNqOqWq-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiUre afbfBiCiDiEirqsqgpMp3pjrPq^l-qjfTlUlVldqam!oeqOmXqYq2qWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjWrf cfdfGjHjIjJjtquqppNp4pkrQq_l/qkf7l8l9lfqbm#ogqPmZq0q3q!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkXr
398 def set_config_value( 1abcdef
399 *,
400 model: InstanceOrType["SQLModel"],
401 parameter: str,
402 value: Any,
403 ) -> None:
404 setattr(model.__config__, parameter, value) # type: ignore 2M if_k`khqiq$oHpYper`llf.l/l:l^pcm5o_pJm;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfjqkq)oIpZpfrPlefLkMkNk`p{l6o{pKmOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8flqmq-oJp0pgrQlffUkVkWk|p|l7o}pLmXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgugnqoq=oKp1phrRlgf3k4k5k~p}l8oaqMm6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzhpqqq|oLp2pirSlhf*k+k,kbq~l9ocqNm-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEirqsqgpMp3pjr^ljfTlUlVldqam!oeqOmWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJjtquqppNp4pkr_lkf7l8l9lfqbm#ogqPm!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
406 def get_model_fields(model: InstanceOrType[BaseModel]) -> Dict[str, "FieldInfo"]: 1Mabcdef
407 return model.__fields__ # type: ignore 2M if_k`khqiq$oHpYper`llf.l/l:l^pcm5o_pJm;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfjqkq)oIpZpfrPlefLkMkNk`p{l6o{pKmOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8flqmq-oJp0pgrQlffUkVkWk|p|l7o}pLmXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgugnqoq=oKp1phrRlgf3k4k5k~p}l8oaqMm6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzhpqqq|oLp2pirSlhf*k+k,kbq~l9ocqNm-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEirqsqgpMp3pjr^ljfTlUlVldqam!oeqOmWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJjtquqppNp4pkr_lkf7l8l9lfqbm#ogqPm!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
409 def get_fields_set( 1abcdef
410 object: InstanceOrType["SQLModel"],
411 ) -> Union[Set[str], Callable[[BaseModel], Set[str]]]:
412 return object.__fields_set__ 2GqCqDqEqFqPqQq
414 def init_pydantic_private_attrs(new_object: InstanceOrType["SQLModel"]) -> None: 1Mabcdef
415 object.__setattr__(new_object, "__fields_set__", set()) 2|qLoDrEr5pJoKoImMoNoOoPoQoRoif_k`k;q8pvqGq`l'qlf.l/l:lcmRqSq1q;l{k|k,c-c}k~kalblcldlelflglhlSoToUoVoWoXoae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlVr=q-mlrmrypQmRmkm.m/m:m;m=m?m_emfnf4qOpwqCqPl8qefLkMkNk{lHqIqTqOkofpfN O qfrfsftfufvfwfxfyfzf@m[m]m^m_m`mSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fRr?q{mnrorzpSmTmlm|m}m~manbncn@qdnprqrApUmVmmmenfngnhninjn`e7f8f5qPpxqDqQl9qffUkVkWk|lJqKqUqXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-fknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgSr[qqnrrsrBpWmXmnmrnsntnunvnwn]qxntrurCpYmZmomynznAnBnCnDn^qEnvrwrDp0m1mpmFnGnHnInJnKn{e|ergsgtgug6qQpyqEqRl!qgf3k4k5k}lLqMqVq6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhTr_qRnxryrEp2m3mqmSnTnUnVnWnXn`qYnzrArFp4m5mrmZn0n1n2n3n4n{q5nBrCrGp6m7msm6n7n8n9n!n#n}e~ewhxhyhzh7qRpzqFqSl#qhf*k+k,k~lNqOqWq-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXh$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiUr}q+nFrGrSp8m9mCm,n-n.n/n:n;n~q=nHrIrTp!m#mDm?n@n[n]n^n_nar`nJrKrUp$m%mEm{n|n}n~naoboafbfBiCiDiEi$q6pAqPq^l-qjfTlUlVlamXqYq2qWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2icodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjWrbrioLrMrVp'm(mFmjokolomonooocrpoNrOrWp)m*mGmqorosotouovodrwoPrQrXp+m,mHmxoyozoAoBoCocfdfGjHjIjJj%q7pBqQq_l/qkf7l8l9lbmZq0q3q!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkXr
417 def get_annotations(class_dict: Dict[str, Any]) -> Dict[str, Any]: 1Mabcdef
418 return resolve_annotations( # type: ignore[no-any-return] 2M if_k`khqiq$oHpYperGq`l'qlf.l/l:l^pcm5o_pJmRqSq1q;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlVra _emfnfjqkq)oIpZpfrCqPl8qefLkMkNk`p{l6o{pKmHqIqTqOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fRrb `e7f8flqmq-oJp0pgrDqQl9qffUkVkWk|p|l7o}pLmJqKqUqXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgSrc {e|ergsgtgugnqoq=oKp1phrEqRl!qgf3k4k5k~p}l8oaqMmLqMqVq6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhTrd }e~ewhxhyhzhpqqq|oLp2pirFqSl#qhf*k+k,kbq~l9ocqNmNqOqWq-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiUre afbfBiCiDiEirqsqgpMp3pjrPq^l-qjfTlUlVldqam!oeqOmXqYq2qWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjWrf cfdfGjHjIjJjtquqppNp4pkrQq_l/qkf7l8l9lfqbm#ogqPmZq0q3q!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkXr
419 class_dict.get("__annotations__", {}),
420 class_dict.get("__module__", None),
421 )
423 def is_table_model_class(cls: Type[Any]) -> bool: 1Mabcdef
424 config = getattr(cls, "__config__", None) 2M |qLoDrEr5pJoKoImMoNoOoPoQoRoif_k`k;q8phqiq$oHpYperGq`l'qlf.l/l:l^pcm5o_pJmRqSq1q;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlSoToUoVoWoXoae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlVra =q-mlrmrypQmRmkm.m/m:m;m=m?m_emfnf4qOpjqkq)oIpZpfrCqPl8qefLkMkNk`p{l6o{pKmHqIqTqOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzf@m[m]m^m_m`mSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fRrb ?q{mnrorzpSmTmlm|m}m~manbncn@qdnprqrApUmVmmmenfngnhninjn`e7f8f5qPplqmq-oJp0pgrDqQl9qffUkVkWk|p|l7o}pLmJqKqUqXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgSrc [qqnrrsrBpWmXmnmrnsntnunvnwn]qxntrurCpYmZmomynznAnBnCnDn^qEnvrwrDp0m1mpmFnGnHnInJnKn{e|ergsgtgug6qQpnqoq=oKp1phrEqRl!qgf3k4k5k~p}l8oaqMmLqMqVq6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{oLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhTrd _qRnxryrEp2m3mqmSnTnUnVnWnXn`qYnzrArFp4m5mrmZn0n1n2n3n4n{q5nBrCrGp6m7msm6n7n8n9n!n#n}e~ewhxhyhzh7qRppqqq|oLp2pirFqSl#qhf*k+k,kbq~l9ocqNmNqOqWq-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiUre }q+nFrGrSp8m9mCm,n-n.n/n:n;n~q=nHrIrTp!m#mDm?n@n[n]n^n_nar`nJrKrUp$m%mEm{n|n}n~naoboafbfBiCiDiEi$q6prqsqgpMp3pjrPq^l-qjfTlUlVldqam!oeqOmXqYq2qWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpopcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjWrf brioLrMrVp'm(mFmjokolomonooocrpoNrOrWp)m*mGmqorosotouovodrwoPrQrXp+m,mHmxoyozoAoBoCocfdfGjHjIjJj%q7ptquqppNp4pkrQq_l/qkf7l8l9lfqbm#ogqPmZq0q3q!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxpDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkXr
425 if config: 2M |qLoDrEr5pJoKoImMoNoOoPoQoRoif_k`k;q8phqiq$oHpYperGq`l'qlf.l/l:l^pcm5o_pJmRqSq1q;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlSoToUoVoWoXoae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlVra =q-mlrmrypQmRmkm.m/m:m;m=m?m_emfnf4qOpjqkq)oIpZpfrCqPl8qefLkMkNk`p{l6o{pKmHqIqTqOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzf@m[m]m^m_m`mSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fRrb ?q{mnrorzpSmTmlm|m}m~manbncn@qdnprqrApUmVmmmenfngnhninjn`e7f8f5qPplqmq-oJp0pgrDqQl9qffUkVkWk|p|l7o}pLmJqKqUqXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgSrc [qqnrrsrBpWmXmnmrnsntnunvnwn]qxntrurCpYmZmomynznAnBnCnDn^qEnvrwrDp0m1mpmFnGnHnInJnKn{e|ergsgtgug6qQpnqoq=oKp1phrEqRl!qgf3k4k5k~p}l8oaqMmLqMqVq6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{oLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhTrd _qRnxryrEp2m3mqmSnTnUnVnWnXn`qYnzrArFp4m5mrmZn0n1n2n3n4n{q5nBrCrGp6m7msm6n7n8n9n!n#n}e~ewhxhyhzh7qRppqqq|oLp2pirFqSl#qhf*k+k,kbq~l9ocqNmNqOqWq-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiUre }q+nFrGrSp8m9mCm,n-n.n/n:n;n~q=nHrIrTp!m#mDm?n@n[n]n^n_nar`nJrKrUp$m%mEm{n|n}n~naoboafbfBiCiDiEi$q6prqsqgpMp3pjrPq^l-qjfTlUlVldqam!oeqOmXqYq2qWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpopcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjWrf brioLrMrVp'm(mFmjokolomonooocrpoNrOrWp)m*mGmqorosotouovodrwoPrQrXp+m,mHmxoyozoAoBoCocfdfGjHjIjJj%q7ptquqppNp4pkrQq_l/qkf7l8l9lfqbm#ogqPmZq0q3q!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxpDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkXr
426 return getattr(config, "table", False) 2M |qLoDrEr5pJoKoImMoNoOoPoQoRoif_k`k;q8phqiq$oHpYperGq`l'qlf.l/l:l^pcm5o_pJmRqSq1q;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlSoToUoVoWoXoae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlVra =q-mlrmrypQmRmkm.m/m:m;m=m?m_emfnf4qOpjqkq)oIpZpfrCqPl8qefLkMkNk`p{l6o{pKmHqIqTqOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzf@m[m]m^m_m`mSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fRrb ?q{mnrorzpSmTmlm|m}m~manbncn@qdnprqrApUmVmmmenfngnhninjn`e7f8f5qPplqmq-oJp0pgrDqQl9qffUkVkWk|p|l7o}pLmJqKqUqXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgSrc [qqnrrsrBpWmXmnmrnsntnunvnwn]qxntrurCpYmZmomynznAnBnCnDn^qEnvrwrDp0m1mpmFnGnHnInJnKn{e|ergsgtgug6qQpnqoq=oKp1phrEqRl!qgf3k4k5k~p}l8oaqMmLqMqVq6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{oLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhTrd _qRnxryrEp2m3mqmSnTnUnVnWnXn`qYnzrArFp4m5mrmZn0n1n2n3n4n{q5nBrCrGp6m7msm6n7n8n9n!n#n}e~ewhxhyhzh7qRppqqq|oLp2pirFqSl#qhf*k+k,kbq~l9ocqNmNqOqWq-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiUre }q+nFrGrSp8m9mCm,n-n.n/n:n;n~q=nHrIrTp!m#mDm?n@n[n]n^n_nar`nJrKrUp$m%mEm{n|n}n~naoboafbfBiCiDiEi$q6prqsqgpMp3pjrPq^l-qjfTlUlVldqam!oeqOmXqYq2qWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpopcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjWrf brioLrMrVp'm(mFmjokolomonooocrpoNrOrWp)m*mGmqorosotouovodrwoPrQrXp+m,mHmxoyozoAoBoCocfdfGjHjIjJj%q7ptquqppNp4pkrQq_l/qkf7l8l9lfqbm#ogqPmZq0q3q!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxpDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkXr
427 return False
429 def get_relationship_to( 1abcdef
430 name: str,
431 rel_info: "RelationshipInfo",
432 annotation: Any,
433 ) -> Any:
434 temp_field = ModelField.infer( # type: ignore[attr-defined] 2Jm,c-cK L QdRdtd.c/cdm:c;c=c?c@c[c]c^c_cKmN O g h ldmd`cP Q emR S T U V W X Y Z Lm0 hb1 2 i o j p ndudodvd{c|c3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sbMm' tbub( ) * k q r l s t pdwdxdqdydzd}c~cad+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQbNm] RbSb^ _ ` m u v n w x rdAdBdsdCdDdbdcddd{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'bOm(brcsc)b*b+by C D z E F EdIdJdFdKdLdfdgdhd,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOcPm^bPcQc_b`b{bA G H B I J GdMdNdHdOdPdidjdkd|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c
435 name=name,
436 value=rel_info,
437 annotation=annotation,
438 class_validators=None,
439 config=SQLModelConfig,
440 )
441 relationship_to = temp_field.type_ 2Jm,c-cK L QdRdtd.c/cdm:c;c=c?c@c[c]c^c_cKmN O g h ldmd`cP Q emR S T U V W X Y Z Lm0 hb1 2 i o j p ndudodvd{c|c3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sbMm' tbub( ) * k q r l s t pdwdxdqdydzd}c~cad+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQbNm] RbSb^ _ ` m u v n w x rdAdBdsdCdDdbdcddd{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'bOm(brcsc)b*b+by C D z E F EdIdJdFdKdLdfdgdhd,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOcPm^bPcQc_b`b{bA G H B I J GdMdNdHdOdPdidjdkd|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c
442 if isinstance(temp_field.type_, ForwardRef): 2Jm,c-cK L QdRdtd.c/cdm:c;c=c?c@c[c]c^c_cKmN O g h ldmd`cP Q emR S T U V W X Y Z Lm0 hb1 2 i o j p ndudodvd{c|c3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sbMm' tbub( ) * k q r l s t pdwdxdqdydzd}c~cad+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQbNm] RbSb^ _ ` m u v n w x rdAdBdsdCdDdbdcddd{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'bOm(brcsc)b*b+by C D z E F EdIdJdFdKdLdfdgdhd,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOcPm^bPcQc_b`b{bA G H B I J GdMdNdHdOdPdidjdkd|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c
443 relationship_to = temp_field.type_.__forward_arg__ 2Jm,c-cK L QdRdtd.c/cdm:c;c=c?c@c[c]c^c_cKmN O g h ldmd`cP Q emR S T U V W X Y Z Lm0 hb1 2 i o j p ndudodvd{c|c3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sbMm' tbub( ) * k q r l s t pdwdxdqdydzd}c~cad+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQbNm] RbSb^ _ ` m u v n w x rdAdBdsdCdDdbdcddd{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'bOm(brcsc)b*b+by C D z E F EdIdJdFdKdLdfdgdhd,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOcPm^bPcQc_b`b{bA G H B I J GdMdNdHdOdPdidjdkd|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c
444 return relationship_to 2Jm,c-cK L QdRdtd.c/cdm:c;c=c?c@c[c]c^c_cKmN O g h ldmd`cP Q emR S T U V W X Y Z Lm0 hb1 2 i o j p ndudodvd{c|c3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sbMm' tbub( ) * k q r l s t pdwdxdqdydzd}c~cad+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQbNm] RbSb^ _ ` m u v n w x rdAdBdsdCdDdbdcddd{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'bOm(brcsc)b*b+by C D z E F EdIdJdFdKdLdfdgdhd,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOcPm^bPcQc_b`b{bA G H B I J GdMdNdHdOdPdidjdkd|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c
446 def is_field_noneable(field: "FieldInfo") -> bool: 1Mabcdef
447 if not field.required: # type: ignore[attr-defined] 2M if_k`khqiq$oHpYp`llf.l/l:lcm5oJm;l{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfjqkq)oIpZpPlefLkMkNk{l6oKmOkofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8flqmq-oJp0pQlffUkVkWk|l7oLmXk9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgugnqoq=oKp1pRlgf3k4k5k}l8oMm6kvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzhpqqq|oLp2pSlhf*k+k,k~l9oNm-kAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEirqsqgpMp3p^ljfTlUlVlam!oOmWlFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJjtquqppNp4p_lkf7l8l9lbm#oPm!lKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
448 # Taken from [Pydantic](https://github.com/samuelcolvin/pydantic/blob/v1.8.2/pydantic/fields.py#L946-L947)
449 return field.allow_none and ( # type: ignore[attr-defined] 2M if_k`k$oHp`llf.l/l:lcm5oJm;l{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnf)oIpPlefLkMkNk{l6oKmOkofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8f-oJpQlffUkVkWk|l7oLmXk9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgug=oKpRlgf3k4k5k}l8oMm6kvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzh|oLpSlhf*k+k,k~l9oNm-kAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEigpMp^ljfTlUlVlam!oOmWlFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJjppNp_lkf7l8l9lbm#oPm!lKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
450 field.shape != SHAPE_SINGLETON or not field.sub_fields # type: ignore[attr-defined]
451 )
452 return field.allow_none # type: ignore[no-any-return, attr-defined] 2M if_k`khqiq$oYp`llf.l/l:l5oJm;l{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfjqkq)oZpPlefLkMkNk6oKmOkofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8flqmq-o0pQlffUkVkWk7oLmXk9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgugnqoq=o1pRlgf3k4k5k8oMm6kvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzhpqqq|o2pSlhf*k+k,k9oNm-kAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEirqsqgp3p^ljfTlUlVl!oOmWlFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJjtquqpp4p_lkf7l8l9l#oPm!lKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
454 def get_sa_type_from_field(field: Any) -> Any: 1Mabcdef
455 if isinstance(field.type_, type) and field.shape == SHAPE_SINGLETON: 2M if_k`khqiq$oHpYp`llf.l/l:l^pcm5o_pJm;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfjqkq)oIpZpPlefLkMkNk`p{l6o{pKmOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8flqmq-oJp0pQlffUkVkWk|p|l7o}pLmXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgugnqoq=oKp1pRlgf3k4k5k~p}l8oaqMm6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzhpqqq|oLp2pSlhf*k+k,kbq~l9ocqNm-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEirqsqgpMp3p^ljfTlUlVldqam!oeqOmWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJjtquqppNp4p_lkf7l8l9lfqbm#ogqPm!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
456 return field.type_ 2M if_k`khqiq$oHpYp`llf.l/l:l^pcm5o_pJm;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfjqkq)oIpZpPlefLkMkNk`p{l6o{pKmOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8flqmq-oJp0pQlffUkVkWk|p|l7o}pLmXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgugnqoq=oKp1pRlgf3k4k5k~p}l8oaqMm6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzhpqqq|oLp2pSlhf*k+k,kbq~l9ocqNm-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEirqsqgpMp3p^ljfTlUlVldqam!oeqOmWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJjtquqppNp4p_lkf7l8l9lfqbm#ogqPm!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
457 raise ValueError(f"The field {field.name} has no matching SQLAlchemy type") 29p!p#p$p%p'p(p)p*p+p,p-p.p/p:p;p=p?p@p[p]p
459 def get_field_metadata(field: Any) -> Any: 1Mabcdef
460 metadata = FakeMetadata() 2M if_k`khqiq$oHpYp`llf.l/l:l^pcm5o_pJm;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfjqkq)oIpZpPlefLkMkNk`p{l6o{pKmOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8flqmq-oJp0pQlffUkVkWk|p|l7o}pLmXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgugnqoq=oKp1pRlgf3k4k5k~p}l8oaqMm6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzhpqqq|oLp2pSlhf*k+k,kbq~l9ocqNm-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEirqsqgpMp3p^ljfTlUlVldqam!oeqOmWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJjtquqppNp4p_lkf7l8l9lfqbm#ogqPm!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
461 metadata.max_length = field.field_info.max_length 2M if_k`khqiq$oHpYp`llf.l/l:l^pcm5o_pJm;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfjqkq)oIpZpPlefLkMkNk`p{l6o{pKmOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8flqmq-oJp0pQlffUkVkWk|p|l7o}pLmXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgugnqoq=oKp1pRlgf3k4k5k~p}l8oaqMm6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzhpqqq|oLp2pSlhf*k+k,kbq~l9ocqNm-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEirqsqgpMp3p^ljfTlUlVldqam!oeqOmWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJjtquqppNp4p_lkf7l8l9lfqbm#ogqPm!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
462 metadata.max_digits = getattr(field.type_, "max_digits", None) 2M if_k`khqiq$oHpYp`llf.l/l:l^pcm5o_pJm;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfjqkq)oIpZpPlefLkMkNk`p{l6o{pKmOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8flqmq-oJp0pQlffUkVkWk|p|l7o}pLmXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgugnqoq=oKp1pRlgf3k4k5k~p}l8oaqMm6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzhpqqq|oLp2pSlhf*k+k,kbq~l9ocqNm-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEirqsqgpMp3p^ljfTlUlVldqam!oeqOmWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJjtquqppNp4p_lkf7l8l9lfqbm#ogqPm!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
463 metadata.decimal_places = getattr(field.type_, "decimal_places", None) 2M if_k`khqiq$oHpYp`llf.l/l:l^pcm5o_pJm;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfjqkq)oIpZpPlefLkMkNk`p{l6o{pKmOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8flqmq-oJp0pQlffUkVkWk|p|l7o}pLmXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgugnqoq=oKp1pRlgf3k4k5k~p}l8oaqMm6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzhpqqq|oLp2pSlhf*k+k,kbq~l9ocqNm-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEirqsqgpMp3p^ljfTlUlVldqam!oeqOmWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJjtquqppNp4p_lkf7l8l9lfqbm#ogqPm!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
464 return metadata 2M if_k`khqiq$oHpYp`llf.l/l:l^pcm5o_pJm;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfjqkq)oIpZpPlefLkMkNk`p{l6o{pKmOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8flqmq-oJp0pQlffUkVkWk|p|l7o}pLmXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgugnqoq=oKp1pRlgf3k4k5k~p}l8oaqMm6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzhpqqq|oLp2pSlhf*k+k,kbq~l9ocqNm-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEirqsqgpMp3p^ljfTlUlVldqam!oeqOmWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJjtquqppNp4p_lkf7l8l9lfqbm#ogqPm!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
466 def post_init_field_info(field_info: FieldInfo) -> None: 1Mabcdef
467 field_info._validate() # type: ignore[attr-defined] 2M if_k`khqiq$oHpYperYrZrGq`l'qlf.l/l:l^pcm5o_p0rJmRqSq1q;l9p!p#p{k|k,c-c%o}k~kalblcldlelfl'o(oglhlae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/cdm:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOla _emfnfjqkq)oIpZpfr1r2rCqPl8qefLkMkNk`p{l6o{p3rKmHqIqTqOk$p%p'pofpfN O *oqfrfsftfufvfwfxf+o,oyfzfSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q emR S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fb `e7f8flqmq-oJp0pgr4r5rDqQl9qffUkVkWk|p|l7o}p6rLmJqKqUqXk(p)p*p9f!f0 hb1 2 .o#f$f%f'f(f)f*f+f/o:o,f-f;oVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jbfmtm5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgc {e|ergsgtgugnqoq=oKp1phr7r8rEqRl!qgf3k4k5k~p}l8oaq9rMmLqMqVq6k+p,p-pvgwgxgyg' tbub( ) * ?o@ozgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOg[o]o^o_oPgQgRgSg`o{o1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbybgmumvm- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhd }e~ewhxhyhzhpqqq|oLp2pir!r#rFqSl#qhf*k+k,kbq~l9ocq$rNmNqOqWq-k.p/p:pAhBhChDh] RbSb^ _ ` }o~oEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThapbpcpdpUhVhWhXhepfp!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWbhmwmxm} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAie afbfBiCiDiEirqsqgpMp3pjr%r'rPq^l-qjfTlUlVldqam!oeq(rOmXqYq2qWl;p=p?pFiGiHiIi(brcsc)b*b+bhpipJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYijpkplpmpZi0i1i2inpop,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwcimymzm.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjf cfdfGjHjIjJjtquqppNp4pkr)r*rQq_l/qkf7l8l9lfqbm#ogq+rPmZq0q3q!l@p[p]pKjLjMjNj^bPcQc_b`b{bqprpOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jsptpupvp4j5j6j7jwpxp[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUcjmAmBm~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
469 def _calculate_keys( 1abcdef
470 self: "SQLModel",
471 include: Optional[Mapping[Union[int, str], Any]],
472 exclude: Optional[Mapping[Union[int, str], Any]],
473 exclude_unset: bool,
474 update: Optional[Dict[str, Any]] = None,
475 ) -> Optional[AbstractSet[str]]:
476 if include is None and exclude is None and not exclude_unset: 2LoJoKoImMoNoOoPoQoRoif_k`k;q{k|k,c-c}k~kalblcldlelflglhlSoToUoVoWoXoae@e[e]e^eK 2ebeilL ceedjlklllmlnlolQdRdtdplqlrlsltlulvl.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOl-mQmRmkm.m/m:m;m=m?m_emfnf4qofpfN O qfrfsftfufvfwfxfyfzf@m[m]m^m_m`mSdseteueveg deTdAfh UdicBfCfDfEfFfGfldmd`cHfIfJfKfLfMfNfP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f{mSmTmlm|m}m~manbncndnUmVmmmenfngnhninjn`e7f8f5q9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-fknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:f;f=f?f@fndudodvd{c|c[f]f^f_f`f{f|f3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgqnWmXmnmrnsntnunvnwnxnYmZmomynznAnBnCnDnEn0m1mpmFnGnHnInJnKn{e|ergsgtgug6qvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYgZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g9g!g#g$g%g'g(g)g*g+g,g-g+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhRn2m3mqmSnTnUnVnWnXnYn4m5mrmZn0n1n2n3n4n5n6m7msm6n7n8n9n!n#n}e~ewhxhyhzh7qAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXh$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h'h(h)h*h+h,h-h.h/h:h;h=h{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAi+n8m9mCm,n-n.n/n:n;n=n!m#mDm?n@n[n]n^n_n`n$m%mEm{n|n}n~naoboafbfBiCiDiEi$qFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2icodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8i9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i,i-i.i/i:i;i=i?i@i[i]i^i,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjio'm(mFmjokolomonooopo)m*mGmqorosotouovowo+m,mHmxoyozoAoBoCocfdfGjHjIjJj%qKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j;j=j?j@j[j]j^j_j`j{j|j}j|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
477 # Original in Pydantic:
478 # return None
479 # Updated to not return SQLAlchemy attributes
480 # Do not include relationships as that would easily lead to infinite
481 # recursion, or traversing the whole database
482 return ( 2-mQmRmkm.m/m:m;m=m?m_emfnf4qofpfN O qfrfsftfufvfwfxfyfzf@m[m]m^m_m`mSdseteueveg deTdAfh UdicBfCfDfEfFfGfldmd`cHfIfJfKfLfMfNfP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f{mSmTmlm|m}m~manbncndnUmVmmmenfngnhninjn`e7f8f5q9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-fknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:f;f=f?f@fndudodvd{c|c[f]f^f_f`f{f|f3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgqnWmXmnmrnsntnunvnwnxnYmZmomynznAnBnCnDnEn0m1mpmFnGnHnInJnKn{e|ergsgtgug6qvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYgZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g9g!g#g$g%g'g(g)g*g+g,g-g+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhRn2m3mqmSnTnUnVnWnXnYn4m5mrmZn0n1n2n3n4n5n6m7msm6n7n8n9n!n#n}e~ewhxhyhzh7qAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXh$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h'h(h)h*h+h,h-h.h/h:h;h=h{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAi+n8m9mCm,n-n.n/n:n;n=n!m#mDm?n@n[n]n^n_n`n$m%mEm{n|n}n~naoboafbfBiCiDiEi$qFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2icodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8i9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i,i-i.i/i:i;i=i?i@i[i]i^i,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjio'm(mFmjokolomonooopo)m*mGmqorosotouovowo+m,mHmxoyozoAoBoCocfdfGjHjIjJj%qKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j;j=j?j@j[j]j^j_j`j{j|j}j|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
483 self.__fields__.keys() # noqa
484 ) # | self.__sqlmodel_relationships__.keys()
486 keys: AbstractSet[str]
487 if exclude_unset: 2ImaeK beL ceedkmSdg Tdh UdiclmmmVdWdi o XdYdj p Zd0djckcnmompm1d2d3dk q r 4d5d6dl s t 7d8d9dlcmcncqmrmsm!d#d$dm u v %d'd(dn w x )d*d+docpcqcCmDmEm,d-d.dy C D /d:d;dz E F =d?d@d%c'c(cFmGmHm[d]d^dA G H _d`d{dB I J |d}d~d)c*c+c
488 keys = self.__fields_set__.copy() # noqa 2ImaeK beL ceedkmSdg Tdh UdiclmmmVdWdi o XdYdj p Zd0djckcnmompm1d2d3dk q r 4d5d6dl s t 7d8d9dlcmcncqmrmsm!d#d$dm u v %d'd(dn w x )d*d+docpcqcCmDmEm,d-d.dy C D /d:d;dz E F =d?d@d%c'c(cFmGmHm[d]d^dA G H _d`d{dB I J |d}d~d)c*c+c
489 else:
490 # Original in Pydantic:
491 # keys = self.__dict__.keys()
492 # Updated to not return SQLAlchemy attributes
493 # Do not include relationships as that would easily lead to infinite
494 # recursion, or traversing the whole database
495 keys = (
496 self.__fields__.keys() # noqa
497 ) # | self.__sqlmodel_relationships__.keys()
498 if include is not None: 2ImaeK beL ceedkmSdg Tdh UdiclmmmVdWdi o XdYdj p Zd0djckcnmompm1d2d3dk q r 4d5d6dl s t 7d8d9dlcmcncqmrmsm!d#d$dm u v %d'd(dn w x )d*d+docpcqcCmDmEm,d-d.dy C D /d:d;dz E F =d?d@d%c'c(cFmGmHm[d]d^dA G H _d`d{dB I J |d}d~d)c*c+c
499 keys &= include.keys()
501 if update: 2ImaeK beL ceedkmSdg Tdh UdiclmmmVdWdi o XdYdj p Zd0djckcnmompm1d2d3dk q r 4d5d6dl s t 7d8d9dlcmcncqmrmsm!d#d$dm u v %d'd(dn w x )d*d+docpcqcCmDmEm,d-d.dy C D /d:d;dz E F =d?d@d%c'c(cFmGmHm[d]d^dA G H _d`d{dB I J |d}d~d)c*c+c
502 keys -= update.keys()
504 if exclude: 2ImaeK beL ceedkmSdg Tdh UdiclmmmVdWdi o XdYdj p Zd0djckcnmompm1d2d3dk q r 4d5d6dl s t 7d8d9dlcmcncqmrmsm!d#d$dm u v %d'd(dn w x )d*d+docpcqcCmDmEm,d-d.dy C D /d:d;dz E F =d?d@d%c'c(cFmGmHm[d]d^dA G H _d`d{dB I J |d}d~d)c*c+c
505 keys -= {k for k, v in exclude.items() if ValueItems.is_true(v)}
507 return keys 2ImaeK beL ceedkmSdg Tdh UdiclmmmVdWdi o XdYdj p Zd0djckcnmompm1d2d3dk q r 4d5d6dl s t 7d8d9dlcmcncqmrmsm!d#d$dm u v %d'd(dn w x )d*d+docpcqcCmDmEm,d-d.dy C D /d:d;dz E F =d?d@d%c'c(cFmGmHm[d]d^dA G H _d`d{dB I J |d}d~d)c*c+c
509 def sqlmodel_validate( 1abcdef
510 cls: Type[_TSQLModel],
511 obj: Any,
512 *,
513 strict: Union[bool, None] = None,
514 from_attributes: Union[bool, None] = None,
515 context: Union[Dict[str, Any], None] = None,
516 update: Union[Dict[str, Any], None] = None,
517 ) -> _TSQLModel:
518 # This was SQLModel's original from_orm() for Pydantic v1
519 # Duplicated from Pydantic
520 if not cls.__config__.orm_mode: # type: ignore[attr-defined] # noqa 2LoJoKoImMoNoOoPoQoRo8pvqSoToUoVoWoXoae@e[e]e^eK 2ebeL ceed-mQmRmkm.m/m:m;m=m?mOpwq@m[m]m^m_m`mSdseteueveg deTdh Udic{mSmTmlm|m}m~manbncndnUmVmmmenfngnhninjnPpxqknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYdj p Zd0djckcqnWmXmnmrnsntnunvnwnxnYmZmomynznAnBnCnDnEn0m1mpmFnGnHnInJnKnQpyqLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dl s t 7d8d9dlcmcncRn2m3mqmSnTnUnVnWnXnYn4m5mrmZn0n1n2n3n4n5n6m7msm6n7n8n9n!n#nRpzq$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dn w x )d*d+docpcqc+n8m9mCm,n-n.n/n:n;n=n!m#mDm?n@n[n]n^n_n`n$m%mEm{n|n}n~naobo6pAqcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;dz E F =d?d@d%c'c(cio'm(mFmjokolomonooopo)m*mGmqorosotouovowo+m,mHmxoyozoAoBoCo7pBqDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{dB I J |d}d~d)c*c+c
521 raise ConfigError(
522 "You must have the config attribute orm_mode=True to use from_orm"
523 )
524 if not isinstance(obj, Mapping): 2LoJoKoImMoNoOoPoQoRo8pvqSoToUoVoWoXoae@e[e]e^eK 2ebeL ceed-mQmRmkm.m/m:m;m=m?mOpwq@m[m]m^m_m`mSdseteueveg deTdh Udic{mSmTmlm|m}m~manbncndnUmVmmmenfngnhninjnPpxqknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYdj p Zd0djckcqnWmXmnmrnsntnunvnwnxnYmZmomynznAnBnCnDnEn0m1mpmFnGnHnInJnKnQpyqLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dl s t 7d8d9dlcmcncRn2m3mqmSnTnUnVnWnXnYn4m5mrmZn0n1n2n3n4n5n6m7msm6n7n8n9n!n#nRpzq$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dn w x )d*d+docpcqc+n8m9mCm,n-n.n/n:n;n=n!m#mDm?n@n[n]n^n_n`n$m%mEm{n|n}n~naobo6pAqcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;dz E F =d?d@d%c'c(cio'm(mFmjokolomonooopo)m*mGmqorosotouovowo+m,mHmxoyozoAoBoCo7pBqDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{dB I J |d}d~d)c*c+c
525 obj = ( 2-mQmRmkm.m/m:m;m=m?mOp@m[m]m^m_m`mSdseteueveg deTdh Udic{mSmTmlm|m}m~manbncndnUmVmmmenfngnhninjnPpknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYdj p Zd0djckcqnWmXmnmrnsntnunvnwnxnYmZmomynznAnBnCnDnEn0m1mpmFnGnHnInJnKnQpLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dl s t 7d8d9dlcmcncRn2m3mqmSnTnUnVnWnXnYn4m5mrmZn0n1n2n3n4n5n6m7msm6n7n8n9n!n#nRp$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dn w x )d*d+docpcqc+n8m9mCm,n-n.n/n:n;n=n!m#mDm?n@n[n]n^n_n`n$m%mEm{n|n}n~naobo6pcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;dz E F =d?d@d%c'c(cio'm(mFmjokolomonooopo)m*mGmqorosotouovowo+m,mHmxoyozoAoBoCo7pDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{dB I J |d}d~d)c*c+c
526 {ROOT_KEY: obj}
527 if cls.__custom_root_type__ # type: ignore[attr-defined] # noqa
528 else cls._decompose_class(obj) # type: ignore[attr-defined] # noqa
529 )
530 # SQLModel, support update dict
531 if update is not None: 2LoJoKoImMoNoOoPoQoRo8pvqSoToUoVoWoXoae@e[e]e^eK 2ebeL ceed-mQmRmkm.m/m:m;m=m?mOpwq@m[m]m^m_m`mSdseteueveg deTdh Udic{mSmTmlm|m}m~manbncndnUmVmmmenfngnhninjnPpxqknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYdj p Zd0djckcqnWmXmnmrnsntnunvnwnxnYmZmomynznAnBnCnDnEn0m1mpmFnGnHnInJnKnQpyqLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dl s t 7d8d9dlcmcncRn2m3mqmSnTnUnVnWnXnYn4m5mrmZn0n1n2n3n4n5n6m7msm6n7n8n9n!n#nRpzq$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dn w x )d*d+docpcqc+n8m9mCm,n-n.n/n:n;n=n!m#mDm?n@n[n]n^n_n`n$m%mEm{n|n}n~naobo6pAqcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;dz E F =d?d@d%c'c(cio'm(mFmjokolomonooopo)m*mGmqorosotouovowo+m,mHmxoyozoAoBoCo7pBqDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{dB I J |d}d~d)c*c+c
532 obj = {**obj, **update} 2edicjckclcmcncocpcqc%c'c(c)c*c+c
533 # End SQLModel support dict
534 if not getattr(cls.__config__, "table", False): # noqa 2LoJoKoImMoNoOoPoQoRo8pvqSoToUoVoWoXoae@e[e]e^eK 2ebeL ceed-mQmRmkm.m/m:m;m=m?mOpwq@m[m]m^m_m`mSdseteueveg deTdh Udic{mSmTmlm|m}m~manbncndnUmVmmmenfngnhninjnPpxqknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYdj p Zd0djckcqnWmXmnmrnsntnunvnwnxnYmZmomynznAnBnCnDnEn0m1mpmFnGnHnInJnKnQpyqLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dl s t 7d8d9dlcmcncRn2m3mqmSnTnUnVnWnXnYn4m5mrmZn0n1n2n3n4n5n6m7msm6n7n8n9n!n#nRpzq$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dn w x )d*d+docpcqc+n8m9mCm,n-n.n/n:n;n=n!m#mDm?n@n[n]n^n_n`n$m%mEm{n|n}n~naobo6pAqcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;dz E F =d?d@d%c'c(cio'm(mFmjokolomonooopo)m*mGmqorosotouovowo+m,mHmxoyozoAoBoCo7pBqDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{dB I J |d}d~d)c*c+c
535 # If not table, normal Pydantic code
536 m: _TSQLModel = cls.__new__(cls) 2LoJoKoImMoNoOoPoQoRo8pvqSoToUoVoWoXoae@e[e]e^eK beL ceed-mQmRmkm.m/m:m;m=m?mOpwq@m[m]m^m_m`mSdseteueveg Tdh Udic{mSmTmlm|m}m~manbncndnUmVmmmenfngnhninjnPpxqknlnmnnnonpnVdWdwexeyezeAeBeCeDei o XdYdj p Zd0djckcqnWmXmnmrnsntnunvnwnxnYmZmomynznAnBnCnDnEn0m1mpmFnGnHnInJnKnQpyqLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r 4d5d6dl s t 7d8d9dlcmcncRn2m3mqmSnTnUnVnWnXnYn4m5mrmZn0n1n2n3n4n5n6m7msm6n7n8n9n!n#nRpzq$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v %d'd(dn w x )d*d+docpcqc+n8m9mCm,n-n.n/n:n;n=n!m#mDm?n@n[n]n^n_n`n$m%mEm{n|n}n~naobo6pAqcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D /d:d;dz E F =d?d@d%c'c(cio'm(mFmjokolomonooopo)m*mGmqorosotouovowo+m,mHmxoyozoAoBoCo7pBqDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H _d`d{dB I J |d}d~d)c*c+c
537 else:
538 # If table, create the new instance normally to make SQLAlchemy create
539 # the _sa_instance_state attribute
540 m = cls() 2LoMoNoOoPoQoRoSoToUoVoWoXoae@e[e]e^eK 2ebeL ceed-m.m/m:m;m=m?m@m[m]m^m_m`mSdseteueveg deTdh Udic{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYdj p Zd0djckcqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dl s t 7d8d9dlcmcncRnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!n#n$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dn w x )d*d+docpcqc+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;dz E F =d?d@d%c'c(ciojokolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{dB I J |d}d~d)c*c+c
541 values, fields_set, validation_error = validate_model(cls, obj) 2LoJoKoImMoNoOoPoQoRo8pvqSoToUoVoWoXoae@e[e]e^eK 2ebeL ceed-mQmRmkm.m/m:m;m=m?mOpwq@m[m]m^m_m`mSdseteueveg deTdh Udic{mSmTmlm|m}m~manbncndnUmVmmmenfngnhninjnPpxqknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYdj p Zd0djckcqnWmXmnmrnsntnunvnwnxnYmZmomynznAnBnCnDnEn0m1mpmFnGnHnInJnKnQpyqLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dl s t 7d8d9dlcmcncRn2m3mqmSnTnUnVnWnXnYn4m5mrmZn0n1n2n3n4n5n6m7msm6n7n8n9n!n#nRpzq$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dn w x )d*d+docpcqc+n8m9mCm,n-n.n/n:n;n=n!m#mDm?n@n[n]n^n_n`n$m%mEm{n|n}n~naobo6pAqcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;dz E F =d?d@d%c'c(cio'm(mFmjokolomonooopo)m*mGmqorosotouovowo+m,mHmxoyozoAoBoCo7pBqDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{dB I J |d}d~d)c*c+c
542 if validation_error: 2LoJoKoImMoNoOoPoQoRo8pvqSoToUoVoWoXoae@e[e]e^eK 2ebeL ceed-mQmRmkm.m/m:m;m=m?mOpwq@m[m]m^m_m`mSdseteueveg deTdh Udic{mSmTmlm|m}m~manbncndnUmVmmmenfngnhninjnPpxqknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYdj p Zd0djckcqnWmXmnmrnsntnunvnwnxnYmZmomynznAnBnCnDnEn0m1mpmFnGnHnInJnKnQpyqLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dl s t 7d8d9dlcmcncRn2m3mqmSnTnUnVnWnXnYn4m5mrmZn0n1n2n3n4n5n6m7msm6n7n8n9n!n#nRpzq$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dn w x )d*d+docpcqc+n8m9mCm,n-n.n/n:n;n=n!m#mDm?n@n[n]n^n_n`n$m%mEm{n|n}n~naobo6pAqcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;dz E F =d?d@d%c'c(cio'm(mFmjokolomonooopo)m*mGmqorosotouovowo+m,mHmxoyozoAoBoCo7pBqDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{dB I J |d}d~d)c*c+c
543 raise validation_error
544 # Updated to trigger SQLAlchemy internal handling
545 if not getattr(cls.__config__, "table", False): # noqa 2LoJoKoImMoNoOoPoQoRo8pvqSoToUoVoWoXoae@e[e]e^eK 2ebeL ceed-mQmRmkm.m/m:m;m=m?mOpwq@m[m]m^m_m`mSdseteueveg deTdh Udic{mSmTmlm|m}m~manbncndnUmVmmmenfngnhninjnPpxqknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYdj p Zd0djckcqnWmXmnmrnsntnunvnwnxnYmZmomynznAnBnCnDnEn0m1mpmFnGnHnInJnKnQpyqLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dl s t 7d8d9dlcmcncRn2m3mqmSnTnUnVnWnXnYn4m5mrmZn0n1n2n3n4n5n6m7msm6n7n8n9n!n#nRpzq$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dn w x )d*d+docpcqc+n8m9mCm,n-n.n/n:n;n=n!m#mDm?n@n[n]n^n_n`n$m%mEm{n|n}n~naobo6pAqcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;dz E F =d?d@d%c'c(cio'm(mFmjokolomonooopo)m*mGmqorosotouovowo+m,mHmxoyozoAoBoCo7pBqDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{dB I J |d}d~d)c*c+c
546 object.__setattr__(m, "__dict__", values) 2LoJoKoImMoNoOoPoQoRo8pvqSoToUoVoWoXoae@e[e]e^eK beL ceed-mQmRmkm.m/m:m;m=m?mOpwq@m[m]m^m_m`mSdseteueveg Tdh Udic{mSmTmlm|m}m~manbncndnUmVmmmenfngnhninjnPpxqknlnmnnnonpnVdWdwexeyezeAeBeCeDei o XdYdj p Zd0djckcqnWmXmnmrnsntnunvnwnxnYmZmomynznAnBnCnDnEn0m1mpmFnGnHnInJnKnQpyqLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r 4d5d6dl s t 7d8d9dlcmcncRn2m3mqmSnTnUnVnWnXnYn4m5mrmZn0n1n2n3n4n5n6m7msm6n7n8n9n!n#nRpzq$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v %d'd(dn w x )d*d+docpcqc+n8m9mCm,n-n.n/n:n;n=n!m#mDm?n@n[n]n^n_n`n$m%mEm{n|n}n~naobo6pAqcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D /d:d;dz E F =d?d@d%c'c(cio'm(mFmjokolomonooopo)m*mGmqorosotouovowo+m,mHmxoyozoAoBoCo7pBqDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H _d`d{dB I J |d}d~d)c*c+c
547 else:
548 for key, value in values.items(): 2LoMoNoOoPoQoRoSoToUoVoWoXoae@e[e]e^eK 2ebeL ceed-m.m/m:m;m=m?m@m[m]m^m_m`mSdseteueveg deTdh Udic{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYdj p Zd0djckcqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dl s t 7d8d9dlcmcncRnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!n#n$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dn w x )d*d+docpcqc+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;dz E F =d?d@d%c'c(ciojokolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{dB I J |d}d~d)c*c+c
549 setattr(m, key, value) 2LoMoNoOoPoQoRoSoToUoVoWoXoae@e[e]e^eK 2ebeL ceed-m.m/m:m;m=m?m@m[m]m^m_m`mSdseteueveg deTdh Udic{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYdj p Zd0djckcqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dl s t 7d8d9dlcmcncRnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!n#n$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dn w x )d*d+docpcqc+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;dz E F =d?d@d%c'c(ciojokolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{dB I J |d}d~d)c*c+c
550 # Continue with standard Pydantic logic
551 object.__setattr__(m, "__fields_set__", fields_set) 2LoJoKoImMoNoOoPoQoRo8pvqSoToUoVoWoXoae@e[e]e^eK 2ebeL ceed-mQmRmkm.m/m:m;m=m?mOpwq@m[m]m^m_m`mSdseteueveg deTdh Udic{mSmTmlm|m}m~manbncndnUmVmmmenfngnhninjnPpxqknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYdj p Zd0djckcqnWmXmnmrnsntnunvnwnxnYmZmomynznAnBnCnDnEn0m1mpmFnGnHnInJnKnQpyqLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dl s t 7d8d9dlcmcncRn2m3mqmSnTnUnVnWnXnYn4m5mrmZn0n1n2n3n4n5n6m7msm6n7n8n9n!n#nRpzq$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dn w x )d*d+docpcqc+n8m9mCm,n-n.n/n:n;n=n!m#mDm?n@n[n]n^n_n`n$m%mEm{n|n}n~naobo6pAqcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;dz E F =d?d@d%c'c(cio'm(mFmjokolomonooopo)m*mGmqorosotouovowo+m,mHmxoyozoAoBoCo7pBqDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{dB I J |d}d~d)c*c+c
552 m._init_private_attributes() # type: ignore[attr-defined] # noqa 2LoJoKoImMoNoOoPoQoRo8pvqSoToUoVoWoXoae@e[e]e^eK 2ebeL ceed-mQmRmkm.m/m:m;m=m?mOpwq@m[m]m^m_m`mSdseteueveg deTdh Udic{mSmTmlm|m}m~manbncndnUmVmmmenfngnhninjnPpxqknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYdj p Zd0djckcqnWmXmnmrnsntnunvnwnxnYmZmomynznAnBnCnDnEn0m1mpmFnGnHnInJnKnQpyqLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dl s t 7d8d9dlcmcncRn2m3mqmSnTnUnVnWnXnYn4m5mrmZn0n1n2n3n4n5n6m7msm6n7n8n9n!n#nRpzq$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dn w x )d*d+docpcqc+n8m9mCm,n-n.n/n:n;n=n!m#mDm?n@n[n]n^n_n`n$m%mEm{n|n}n~naobo6pAqcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;dz E F =d?d@d%c'c(cio'm(mFmjokolomonooopo)m*mGmqorosotouovowo+m,mHmxoyozoAoBoCo7pBqDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{dB I J |d}d~d)c*c+c
553 return m 2LoJoKoImMoNoOoPoQoRo8pvqSoToUoVoWoXoae@e[e]e^eK 2ebeL ceed-mQmRmkm.m/m:m;m=m?mOpwq@m[m]m^m_m`mSdseteueveg deTdh Udic{mSmTmlm|m}m~manbncndnUmVmmmenfngnhninjnPpxqknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYdj p Zd0djckcqnWmXmnmrnsntnunvnwnxnYmZmomynznAnBnCnDnEn0m1mpmFnGnHnInJnKnQpyqLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dl s t 7d8d9dlcmcncRn2m3mqmSnTnUnVnWnXnYn4m5mrmZn0n1n2n3n4n5n6m7msm6n7n8n9n!n#nRpzq$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dn w x )d*d+docpcqc+n8m9mCm,n-n.n/n:n;n=n!m#mDm?n@n[n]n^n_n`n$m%mEm{n|n}n~naobo6pAqcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;dz E F =d?d@d%c'c(cio'm(mFmjokolomonooopo)m*mGmqorosotouovowo+m,mHmxoyozoAoBoCo7pBqDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{dB I J |d}d~d)c*c+c
555 def sqlmodel_init(*, self: "SQLModel", data: Dict[str, Any]) -> None: 1Mabcdef
556 values, fields_set, validation_error = validate_model(self.__class__, data) 2|qLoDrEr5pJoKoImMoNoOoPoQoRoif_k`k;q8pGq`l'qlf.l/l:lcmRqSq1q;l{k|k,c-c}k~kalblcldlelflglhlSoToUoVoWoXoae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlVr=q-mlrmrypQmRmkm.m/m:m;m=m?m_emfnf4qOpCqPl8qefLkMkNk{lHqIqTqOkofpfN O qfrfsftfufvfwfxfyfzf@m[m]m^m_m`mSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fRr?q{mnrorzpSmTmlm|m}m~manbncn@qdnprqrApUmVmmmenfngnhninjn`e7f8f5qPpDqQl9qffUkVkWk|lJqKqUqXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-fknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgSr[qqnrrsrBpWmXmnmrnsntnunvnwn]qxntrurCpYmZmomynznAnBnCnDn^qEnvrwrDp0m1mpmFnGnHnInJnKn{e|ergsgtgug6qQpEqRl!qgf3k4k5k}lLqMqVq6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhTr_qRnxryrEp2m3mqmSnTnUnVnWnXn`qYnzrArFp4m5mrmZn0n1n2n3n4n{q5nBrCrGp6m7msm6n7n8n9n!n#n}e~ewhxhyhzh7qRpFqSl#qhf*k+k,k~lNqOqWq-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXh$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiUr}q+nFrGrSp8m9mCm,n-n.n/n:n;n~q=nHrIrTp!m#mDm?n@n[n]n^n_nar`nJrKrUp$m%mEm{n|n}n~naoboafbfBiCiDiEi$q6pPq^l-qjfTlUlVlamXqYq2qWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2icodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjWrbrioLrMrVp'm(mFmjokolomonooocrpoNrOrWp)m*mGmqorosotouovodrwoPrQrXp+m,mHmxoyozoAoBoCocfdfGjHjIjJj%q7pQq_l/qkf7l8l9lbmZq0q3q!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkXr
557 # Only raise errors if not a SQLModel model
558 if ( 2=q-mlrmrypQmRmkm.m/m:m;m=m?m_emfnf4qOpCqPl8qefLkMkNk{lHqIqTqOkofpfN O qfrfsftfufvfwfxfyfzf@m[m]m^m_m`mSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fRr?q{mnrorzpSmTmlm|m}m~manbncn@qdnprqrApUmVmmmenfngnhninjn`e7f8f5qPpDqQl9qffUkVkWk|lJqKqUqXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-fknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgSr[qqnrrsrBpWmXmnmrnsntnunvnwn]qxntrurCpYmZmomynznAnBnCnDn^qEnvrwrDp0m1mpmFnGnHnInJnKn{e|ergsgtgug6qQpEqRl!qgf3k4k5k}lLqMqVq6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhTr_qRnxryrEp2m3mqmSnTnUnVnWnXn`qYnzrArFp4m5mrmZn0n1n2n3n4n{q5nBrCrGp6m7msm6n7n8n9n!n#n}e~ewhxhyhzh7qRpFqSl#qhf*k+k,k~lNqOqWq-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXh$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiUr
559 not is_table_model_class(self.__class__) # noqa
560 and validation_error
561 ):
562 raise validation_error 2DrEr'qRqSqVrlrmr8qHqIqRrnrorprqr9qJqKqSrrrsrtrurvrwr!qLqMqTrxryrzrArBrCr#qNqOqUrFrGrHrIrJrKr-qXqYqWrLrMrNrOrPrQr/qZq0qXr
563 if not is_table_model_class(self.__class__): 2|qLo5pJoKoImMoNoOoPoQoRoif_k`k;q8pGq`llf.l/l:lcmRqSq1q;l{k|k,c-c}k~kalblcldlelflglhlSoToUoVoWoXoae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlVr=q-mypQmRmkm.m/m:m;m=m?m_emfnf4qOpCqPlefLkMkNk{lHqIqTqOkofpfN O qfrfsftfufvfwfxfyfzf@m[m]m^m_m`mSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fRr?q{mzpSmTmlm|m}m~manbncn@qdnApUmVmmmenfngnhninjn`e7f8f5qPpDqQlffUkVkWk|lJqKqUqXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-fknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgSr[qqnBpWmXmnmrnsntnunvnwn]qxnCpYmZmomynznAnBnCnDn^qEnDp0m1mpmFnGnHnInJnKn{e|ergsgtgug6qQpEqRlgf3k4k5k}lLqMqVq6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhTr_qRnEp2m3mqmSnTnUnVnWnXn`qYnFp4m5mrmZn0n1n2n3n4n{q5nGp6m7msm6n7n8n9n!n#n}e~ewhxhyhzh7qRpFqSlhf*k+k,k~lNqOqWq-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXh$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiUr}q+nSp8m9mCm,n-n.n/n:n;n~q=nTp!m#mDm?n@n[n]n^n_nar`nUp$m%mEm{n|n}n~naoboafbfBiCiDiEi$q6pPq^ljfTlUlVlamXqYq2qWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2icodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjWrbrioVp'm(mFmjokolomonooocrpoWp)m*mGmqorosotouovodrwoXp+m,mHmxoyozoAoBoCocfdfGjHjIjJj%q7pQq_lkf7l8l9lbmZq0q3q!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkXr
564 object.__setattr__(self, "__dict__", values) 2|qLoImMoNoOoPoQoRo;q8pGqRqSq1qSoToUoVoWoXoae@e[e]e^eK beL ceedVr=q-mkm.m/m:m;m=m?m4qOpCqHqIqTq@m[m]m^m_m`mSdseteueveg Tdh UdicRr?q{mlm|m}m~manbncn@qdnmmenfngnhninjn5qPpDqJqKqUqknlnmnnnonpnVdWdwexeyezeAeBeCeDei o XdYdj p Zd0djckcSr[qqnnmrnsntnunvnwn]qxnomynznAnBnCnDn^qEnpmFnGnHnInJnKn6qQpEqLqMqVqLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r 4d5d6dl s t 7d8d9dlcmcncTr_qRnqmSnTnUnVnWnXn`qYnrmZn0n1n2n3n4n{q5nsm6n7n8n9n!n#n7qRpFqNqOqWq$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v %d'd(dn w x )d*d+docpcqcUr}q+nCm,n-n.n/n:n;n~q=nDm?n@n[n]n^n_nar`nEm{n|n}n~naobo$q6pPqXqYq2qcodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D /d:d;dz E F =d?d@d%c'c(cWrbrioFmjokolomonooocrpoGmqorosotouovodrwoHmxoyozoAoBoCo%q7pQqZq0q3qDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H _d`d{dB I J |d}d~d)c*c+cXr
565 else:
566 # Do not set values as in Pydantic, pass them through setattr, so
567 # SQLAlchemy can handle them
568 for key, value in values.items(): 2Lo5pJoKoImMoNoOoPoQoRoif_k`k`llf.l/l:lcm;l{k|k,c-c}k~kalblcldlelflglhlSoToUoVoWoXoae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOl-mypQmRmkm.m/m:m;m=m?m_emfnfPlefLkMkNk{lOkofpfN O qfrfsftfufvfwfxfyfzf@m[m]m^m_m`mSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f{mzpSmTmlm|m}m~manbncndnApUmVmmmenfngnhninjn`e7f8fQlffUkVkWk|lXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-fknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgqnBpWmXmnmrnsntnunvnwnxnCpYmZmomynznAnBnCnDnEnDp0m1mpmFnGnHnInJnKn{e|ergsgtgugRlgf3k4k5k}l6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhRnEp2m3mqmSnTnUnVnWnXnYnFp4m5mrmZn0n1n2n3n4n5nGp6m7msm6n7n8n9n!n#n}e~ewhxhyhzhSlhf*k+k,k~l-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXh$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAi+nSp8m9mCm,n-n.n/n:n;n=nTp!m#mDm?n@n[n]n^n_n`nUp$m%mEm{n|n}n~naoboafbfBiCiDiEi^ljfTlUlVlamWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2icodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjioVp'm(mFmjokolomonooopoWp)m*mGmqorosotouovowoXp+m,mHmxoyozoAoBoCocfdfGjHjIjJj_lkf7l8l9lbm!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
569 setattr(self, key, value) 2Lo5pJoKoImMoNoOoPoQoRoif_k`k`llf.l/l:lcm;l{k|k,c-c}k~kalblcldlelflglhlSoToUoVoWoXoae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOl-mypQmRmkm.m/m:m;m=m?m_emfnfPlefLkMkNk{lOkofpfN O qfrfsftfufvfwfxfyfzf@m[m]m^m_m`mSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f{mzpSmTmlm|m}m~manbncndnApUmVmmmenfngnhninjn`e7f8fQlffUkVkWk|lXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-fknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgqnBpWmXmnmrnsntnunvnwnxnCpYmZmomynznAnBnCnDnEnDp0m1mpmFnGnHnInJnKn{e|ergsgtgugRlgf3k4k5k}l6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhRnEp2m3mqmSnTnUnVnWnXnYnFp4m5mrmZn0n1n2n3n4n5nGp6m7msm6n7n8n9n!n#n}e~ewhxhyhzhSlhf*k+k,k~l-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXh$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAi+nSp8m9mCm,n-n.n/n:n;n=nTp!m#mDm?n@n[n]n^n_n`nUp$m%mEm{n|n}n~naoboafbfBiCiDiEi^ljfTlUlVlamWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2icodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjioVp'm(mFmjokolomonooopoWp)m*mGmqorosotouovowoXp+m,mHmxoyozoAoBoCocfdfGjHjIjJj_lkf7l8l9lbm!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
570 object.__setattr__(self, "__fields_set__", fields_set) 2|qLo5pJoKoImMoNoOoPoQoRoif_k`k;q8pGq`llf.l/l:lcmRqSq1q;l{k|k,c-c}k~kalblcldlelflglhlSoToUoVoWoXoae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlVr=q-mypQmRmkm.m/m:m;m=m?m_emfnf4qOpCqPlefLkMkNk{lHqIqTqOkofpfN O qfrfsftfufvfwfxfyfzf@m[m]m^m_m`mSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fRr?q{mzpSmTmlm|m}m~manbncn@qdnApUmVmmmenfngnhninjn`e7f8f5qPpDqQlffUkVkWk|lJqKqUqXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-fknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgSr[qqnBpWmXmnmrnsntnunvnwn]qxnCpYmZmomynznAnBnCnDn^qEnDp0m1mpmFnGnHnInJnKn{e|ergsgtgug6qQpEqRlgf3k4k5k}lLqMqVq6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhTr_qRnEp2m3mqmSnTnUnVnWnXn`qYnFp4m5mrmZn0n1n2n3n4n{q5nGp6m7msm6n7n8n9n!n#n}e~ewhxhyhzh7qRpFqSlhf*k+k,k~lNqOqWq-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXh$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiUr}q+nSp8m9mCm,n-n.n/n:n;n~q=nTp!m#mDm?n@n[n]n^n_nar`nUp$m%mEm{n|n}n~naoboafbfBiCiDiEi$q6pPq^ljfTlUlVlamXqYq2qWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2icodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjWrbrioVp'm(mFmjokolomonooocrpoWp)m*mGmqorosotouovodrwoXp+m,mHmxoyozoAoBoCocfdfGjHjIjJj%q7pQq_lkf7l8l9lbmZq0q3q!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkXr
571 non_pydantic_keys = data.keys() - values.keys() 2|qLo5pJoKoImMoNoOoPoQoRoif_k`k;q8pGq`llf.l/l:lcmRqSq1q;l{k|k,c-c}k~kalblcldlelflglhlSoToUoVoWoXoae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlVr=q-mypQmRmkm.m/m:m;m=m?m_emfnf4qOpCqPlefLkMkNk{lHqIqTqOkofpfN O qfrfsftfufvfwfxfyfzf@m[m]m^m_m`mSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fRr?q{mzpSmTmlm|m}m~manbncn@qdnApUmVmmmenfngnhninjn`e7f8f5qPpDqQlffUkVkWk|lJqKqUqXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-fknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgSr[qqnBpWmXmnmrnsntnunvnwn]qxnCpYmZmomynznAnBnCnDn^qEnDp0m1mpmFnGnHnInJnKn{e|ergsgtgug6qQpEqRlgf3k4k5k}lLqMqVq6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhTr_qRnEp2m3mqmSnTnUnVnWnXn`qYnFp4m5mrmZn0n1n2n3n4n{q5nGp6m7msm6n7n8n9n!n#n}e~ewhxhyhzh7qRpFqSlhf*k+k,k~lNqOqWq-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXh$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiUr}q+nSp8m9mCm,n-n.n/n:n;n~q=nTp!m#mDm?n@n[n]n^n_nar`nUp$m%mEm{n|n}n~naoboafbfBiCiDiEi$q6pPq^ljfTlUlVlamXqYq2qWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2icodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjWrbrioVp'm(mFmjokolomonooocrpoWp)m*mGmqorosotouovodrwoXp+m,mHmxoyozoAoBoCocfdfGjHjIjJj%q7pQq_lkf7l8l9lbmZq0q3q!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkXr
573 if is_table_model_class(self.__class__): 2|qLo5pJoKoImMoNoOoPoQoRoif_k`k;q8pGq`llf.l/l:lcmRqSq1q;l{k|k,c-c}k~kalblcldlelflglhlSoToUoVoWoXoae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlVr=q-mypQmRmkm.m/m:m;m=m?m_emfnf4qOpCqPlefLkMkNk{lHqIqTqOkofpfN O qfrfsftfufvfwfxfyfzf@m[m]m^m_m`mSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6fRr?q{mzpSmTmlm|m}m~manbncn@qdnApUmVmmmenfngnhninjn`e7f8f5qPpDqQlffUkVkWk|lJqKqUqXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-fknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgSr[qqnBpWmXmnmrnsntnunvnwn]qxnCpYmZmomynznAnBnCnDn^qEnDp0m1mpmFnGnHnInJnKn{e|ergsgtgug6qQpEqRlgf3k4k5k}lLqMqVq6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhTr_qRnEp2m3mqmSnTnUnVnWnXn`qYnFp4m5mrmZn0n1n2n3n4n{q5nGp6m7msm6n7n8n9n!n#n}e~ewhxhyhzh7qRpFqSlhf*k+k,k~lNqOqWq-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXh$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiUr}q+nSp8m9mCm,n-n.n/n:n;n~q=nTp!m#mDm?n@n[n]n^n_nar`nUp$m%mEm{n|n}n~naoboafbfBiCiDiEi$q6pPq^ljfTlUlVlamXqYq2qWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2icodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjWrbrioVp'm(mFmjokolomonooocrpoWp)m*mGmqorosotouovodrwoXp+m,mHmxoyozoAoBoCocfdfGjHjIjJj%q7pQq_lkf7l8l9lbmZq0q3q!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkXr
574 for key in non_pydantic_keys: 2Lo5pJoKoImMoNoOoPoQoRoif_k`k`llf.l/l:lcm;l{k|k,c-c}k~kalblcldlelflglhlSoToUoVoWoXoae@e[e]e^eK 2ebeilL ceedjlkl=l?l@lllmlnlolQdRdtdpl[lqlrlsltlulvl]l.c/c:c;c=c?c@c[c]c^c_cwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOl-mypQmRmkm.m/m:m;m=m?m_emfnfPlefLkMkNk{lOkofpfN O qfrfsftfufvfwfxfyfzf@m[m]m^m_m`mSdseteueveg deTdAfh UdicBfCfPkQkRkDfEfFfGfldmd`cHfSkIfJfKfLfMfNfTkP Q R S T U V W X Y Z OfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f{mzpSmTmlm|m}m~manbncndnApUmVmmmenfngnhninjn`e7f8fQlffUkVkWk|lXk9f!f0 hb1 2 #f$f%f'f(f)f*f+f,f-fknlnmnnnonpnVdWdwexeyezeAeBeCeDei o eefeXdYd.fj p Zd0djckc/f:fYkZk0k;f=f?f@fndudodvd{c|c[f1k]f^f_f`f{f|f2k3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sb}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgqnBpWmXmnmrnsntnunvnwnxnCpYmZmomynznAnBnCnDnEnDp0m1mpmFnGnHnInJnKn{e|ergsgtgugRlgf3k4k5k}l6kvgwgxgyg' tbub( ) * zgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgLnMnNnOnPnQn1d2d3dEeFeGeHeIeJeKeLeMeNeOePek q r geheie4d5d6dTgUgl s t 7d8d9dlcmcncVgWgXgYg7k8k9k!k#k$kZg0g1g2g3g4g5g6gpdwdxdqdydzd}c~cad7g8g%k'k9g!g#g$g%g'g(g)g*g+g,g-g(k)k+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQb.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhRnEp2m3mqmSnTnUnVnWnXnYnFp4m5mrmZn0n1n2n3n4n5nGp6m7msm6n7n8n9n!n#n}e~ewhxhyhzhSlhf*k+k,k~l-kAhBhChDh] RbSb^ _ ` EhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXh$n%n'n(n)n*n!d#d$dQeReSeTeUeVeWeXeYeZe0e1em u v jekele%d'd(dYhZhn w x )d*d+docpcqc0h1h2h3h.k/k:k;k=k?k4h5h6h7h8h9h!h#hrdAdBdsdCdDdbdcddd$h%h@k[k'h(h)h*h+h,h-h.h/h:h;h=h]k^k{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'b?h@h[h]h^h_h`h{h|h}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAi+nSp8m9mCm,n-n.n/n:n;n=nTp!m#mDm?n@n[n]n^n_n`nUp$m%mEm{n|n}n~naoboafbfBiCiDiEi^ljfTlUlVlamWlFiGiHiIi(brcsc)b*b+bJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2icodoeofogoho,d-d.d3e4e5e6e7e8e9e!e#e$e%e'ey C D meneoe/d:d;d3i4iz E F =d?d@d%c'c(c5i6i7i8iXlYlZl0l1l2l9i!i#i$i%i'i(i)iEdIdJdFdKdLdfdgdhd*i+i3l4l,i-i.i/i:i;i=i?i@i[i]i^i5l6l,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOc_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjioVp'm(mFmjokolomonooopoWp)m*mGmqorosotouovowoXp+m,mHmxoyozoAoBoCocfdfGjHjIjJj_lkf7l8l9lbm!lKjLjMjNj^bPcQc_b`b{bOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7jDoEoFoGoHoIo[d]d^d(e)e*e+e,e-e.e/e:e;e=e?eA G H peqere_d`d{d8j9jB I J |d}d~d)c*c+c!j#j$j%j#l$l%l'l(l)l'j(j)j*j+j,j-j.jGdMdNdHdOdPdidjdkd/j:j*l+l;j=j?j@j[j]j^j_j`j{j|j}j,l-l|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk
575 if key in self.__sqlmodel_relationships__: 2lf,c-cQdRdtd.c/c:c;c=c?c@c[c]c^c_cefN O ldmd`cP Q R S T U V W X Y Z ff0 hb1 2 ndudodvd{c|c3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sbgf' tbub( ) * pdwdxdqdydzd}c~cad+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQbhf] RbSb^ _ ` rdAdBdsdCdDdbdcddd{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'bjf(brcsc)b*b+bEdIdJdFdKdLdfdgdhd,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOckf^bPcQc_b`b{bGdMdNdHdOdPdidjdkd|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c
576 setattr(self, key, data[key]) 2lf,c-cQdRdtd.c/c:c;c=c?c@c[c]c^c_cefN O ldmd`cP Q R S T U V W X Y Z ff0 hb1 2 ndudodvd{c|c3 ib4 jb5 kb6 lb7 mb8 nb9 ob! pb# qb$ rb% sbgf' tbub( ) * pdwdxdqdydzd}c~cad+ vbwb, xbyb- zbAb. BbCb/ DbEb: FbGb; HbIb= JbKb? LbMb@ NbOb[ PbQbhf] RbSb^ _ ` rdAdBdsdCdDdbdcddd{ TbUb| VbWb} XbYb~ Zb0bab1b2bbb3b4bcb5b6bdb7b8beb9b!bfb#b$bgb%b'bjf(brcsc)b*b+bEdIdJdFdKdLdfdgdhd,btcuc-bvcwc.bxcyc/bzcAc:bBcCc;bDcEc=bFcGc?bHcIc@bJcKc[bLcMc]bNcOckf^bPcQc_b`b{bGdMdNdHdOdPdidjdkd|bRcSc}bTcUc~bVcWcacXcYcbcZc0ccc1c2cdc3c4cec5c6cfc7c8cgc9c!chc#c$c