Coverage for sqlmodel/main.py: 93%
353 statements
« prev ^ index » next coverage.py v7.6.8, created at 2024-12-02 00:02 +0000
« prev ^ index » next coverage.py v7.6.8, created at 2024-12-02 00:02 +0000
1import ipaddress 1fabcde
2import uuid 1fabcde
3import weakref 1fabcde
4from datetime import date, datetime, time, timedelta 1fabcde
5from decimal import Decimal 1fabcde
6from enum import Enum 1fabcde
7from pathlib import Path 1fabcde
8from typing import ( 1fabcde
9 TYPE_CHECKING,
10 AbstractSet,
11 Any,
12 Callable,
13 ClassVar,
14 Dict,
15 List,
16 Mapping,
17 Optional,
18 Sequence,
19 Set,
20 Tuple,
21 Type,
22 TypeVar,
23 Union,
24 cast,
25 overload,
26)
28from pydantic import BaseModel, EmailStr 1fabcde
29from pydantic.fields import FieldInfo as PydanticFieldInfo 1fabcde
30from sqlalchemy import ( 1fabcde
31 Boolean,
32 Column,
33 Date,
34 DateTime,
35 Float,
36 ForeignKey,
37 Integer,
38 Interval,
39 Numeric,
40 inspect,
41)
42from sqlalchemy import Enum as sa_Enum 1fabcde
43from sqlalchemy.orm import ( 1fabcde
44 Mapped,
45 RelationshipProperty,
46 declared_attr,
47 registry,
48 relationship,
49)
50from sqlalchemy.orm.attributes import set_attribute 1fabcde
51from sqlalchemy.orm.decl_api import DeclarativeMeta 1fabcde
52from sqlalchemy.orm.instrumentation import is_instrumented 1fabcde
53from sqlalchemy.sql.schema import MetaData 1fabcde
54from sqlalchemy.sql.sqltypes import LargeBinary, Time, Uuid 1fabcde
55from typing_extensions import Literal, TypeAlias, deprecated, get_origin 1fabcde
57from ._compat import ( # type: ignore[attr-defined] 1fabcde
58 IS_PYDANTIC_V2,
59 PYDANTIC_VERSION,
60 BaseConfig,
61 ModelField,
62 ModelMetaclass,
63 Representation,
64 SQLModelConfig,
65 Undefined,
66 UndefinedType,
67 _calculate_keys,
68 finish_init,
69 get_annotations,
70 get_config_value,
71 get_field_metadata,
72 get_model_fields,
73 get_relationship_to,
74 get_sa_type_from_field,
75 init_pydantic_private_attrs,
76 is_field_noneable,
77 is_table_model_class,
78 post_init_field_info,
79 set_config_value,
80 sqlmodel_init,
81 sqlmodel_validate,
82)
83from .sql.sqltypes import AutoString 1fabcde
85if TYPE_CHECKING: 1fabcde
86 from pydantic._internal._model_construction import ModelMetaclass as ModelMetaclass
87 from pydantic._internal._repr import Representation as Representation
88 from pydantic_core import PydanticUndefined as Undefined
89 from pydantic_core import PydanticUndefinedType as UndefinedType
91_T = TypeVar("_T") 1fabcde
92NoArgAnyCallable = Callable[[], Any] 1fabcde
93IncEx: TypeAlias = Union[ 1fabcde
94 Set[int],
95 Set[str],
96 Mapping[int, Union["IncEx", Literal[True]]],
97 Mapping[str, Union["IncEx", Literal[True]]],
98]
99OnDeleteType = Literal["CASCADE", "SET NULL", "RESTRICT"] 1fabcde
102def __dataclass_transform__( 1abcde
103 *,
104 eq_default: bool = True,
105 order_default: bool = False,
106 kw_only_default: bool = False,
107 field_descriptors: Tuple[Union[type, Callable[..., Any]], ...] = (()),
108) -> Callable[[_T], _T]:
109 return lambda a: a 1fabcde
112class FieldInfo(PydanticFieldInfo): 1fabcde
113 def __init__(self, default: Any = Undefined, **kwargs: Any) -> None: 1fabcde
114 primary_key = kwargs.pop("primary_key", False) 2f XexeyeakPkQk-k{kJkfmloEmroDoxo~lxmBl;l+l1lbk2l{cckdkeknl~j,k|k^l|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkgmmoFmsoEoyoamymwl=l,lHltjIl/cujvjwj}knjKk/k_l[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukhmnoGmtoFozobmzmxl?l-lLlEjMl:cFjGjHjblojLk;k`l]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkimooHmuoGoAocmAmyl@l.lPlPjQl;cQjRjSjelpjMk?k{l^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkjmpoImvoHoBodmBmzl[l/lTl5jUl=c6j7j8jhlqjNk[k|l_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkkmqoJmwoIoCoemCmAl]l:lXl.jYl?c/j:j;jklrjOk^k}l`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
115 nullable = kwargs.pop("nullable", Undefined) 2f XexeyeakPkQk-k{kJkfmloEmroDoxo~lxmBl;l+l1lbk2l{cckdkeknl~j,k|k^l|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkgmmoFmsoEoyoamymwl=l,lHltjIl/cujvjwj}knjKk/k_l[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukhmnoGmtoFozobmzmxl?l-lLlEjMl:cFjGjHjblojLk;k`l]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkimooHmuoGoAocmAmyl@l.lPlPjQl;cQjRjSjelpjMk?k{l^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkjmpoImvoHoBodmBmzl[l/lTl5jUl=c6j7j8jhlqjNk[k|l_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkkmqoJmwoIoCoemCmAl]l:lXl.jYl?c/j:j;jklrjOk^k}l`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
116 foreign_key = kwargs.pop("foreign_key", Undefined) 2f XexeyeakPkQk-k{kJkfmloEmroDoxo~lxmBl;l+l1lbk2l{cckdkeknl~j,k|k^l|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkgmmoFmsoEoyoamymwl=l,lHltjIl/cujvjwj}knjKk/k_l[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukhmnoGmtoFozobmzmxl?l-lLlEjMl:cFjGjHjblojLk;k`l]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkimooHmuoGoAocmAmyl@l.lPlPjQl;cQjRjSjelpjMk?k{l^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkjmpoImvoHoBodmBmzl[l/lTl5jUl=c6j7j8jhlqjNk[k|l_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkkmqoJmwoIoCoemCmAl]l:lXl.jYl?c/j:j;jklrjOk^k}l`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
117 ondelete = kwargs.pop("ondelete", Undefined) 2f XexeyeakPkQk-k{kJkfmloEmroDoxo~lxmBl;l+l1lbk2l{cckdkeknl~j,k|k^l|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkgmmoFmsoEoyoamymwl=l,lHltjIl/cujvjwj}knjKk/k_l[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukhmnoGmtoFozobmzmxl?l-lLlEjMl:cFjGjHjblojLk;k`l]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkimooHmuoGoAocmAmyl@l.lPlPjQl;cQjRjSjelpjMk?k{l^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkjmpoImvoHoBodmBmzl[l/lTl5jUl=c6j7j8jhlqjNk[k|l_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkkmqoJmwoIoCoemCmAl]l:lXl.jYl?c/j:j;jklrjOk^k}l`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
118 unique = kwargs.pop("unique", False) 2f XexeyeakPkQk-k{kJkfmloEmroDoxo~lxmBl;l+l1lbk2l{cckdkeknl~j,k|k^l|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkgmmoFmsoEoyoamymwl=l,lHltjIl/cujvjwj}knjKk/k_l[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukhmnoGmtoFozobmzmxl?l-lLlEjMl:cFjGjHjblojLk;k`l]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkimooHmuoGoAocmAmyl@l.lPlPjQl;cQjRjSjelpjMk?k{l^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkjmpoImvoHoBodmBmzl[l/lTl5jUl=c6j7j8jhlqjNk[k|l_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkkmqoJmwoIoCoemCmAl]l:lXl.jYl?c/j:j;jklrjOk^k}l`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
119 index = kwargs.pop("index", Undefined) 2f XexeyeakPkQk-k{kJkfmloEmroDoxo~lxmBl;l+l1lbk2l{cckdkeknl~j,k|k^l|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkgmmoFmsoEoyoamymwl=l,lHltjIl/cujvjwj}knjKk/k_l[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukhmnoGmtoFozobmzmxl?l-lLlEjMl:cFjGjHjblojLk;k`l]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkimooHmuoGoAocmAmyl@l.lPlPjQl;cQjRjSjelpjMk?k{l^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkjmpoImvoHoBodmBmzl[l/lTl5jUl=c6j7j8jhlqjNk[k|l_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkkmqoJmwoIoCoemCmAl]l:lXl.jYl?c/j:j;jklrjOk^k}l`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
120 sa_type = kwargs.pop("sa_type", Undefined) 2f XexeyeakPkQk-k{kJkfmloEmroDoxo~lxmBl;l+l1lbk2l{cckdkeknl~j,k|k^l|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkgmmoFmsoEoyoamymwl=l,lHltjIl/cujvjwj}knjKk/k_l[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukhmnoGmtoFozobmzmxl?l-lLlEjMl:cFjGjHjblojLk;k`l]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkimooHmuoGoAocmAmyl@l.lPlPjQl;cQjRjSjelpjMk?k{l^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkjmpoImvoHoBodmBmzl[l/lTl5jUl=c6j7j8jhlqjNk[k|l_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkkmqoJmwoIoCoemCmAl]l:lXl.jYl?c/j:j;jklrjOk^k}l`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
121 sa_column = kwargs.pop("sa_column", Undefined) 2f XexeyeakPkQk-k{kJkfmloEmroDoxo~lxmBl;l+l1lbk2l{cckdkeknl~j,k|k^l|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkgmmoFmsoEoyoamymwl=l,lHltjIl/cujvjwj}knjKk/k_l[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukhmnoGmtoFozobmzmxl?l-lLlEjMl:cFjGjHjblojLk;k`l]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkimooHmuoGoAocmAmyl@l.lPlPjQl;cQjRjSjelpjMk?k{l^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkjmpoImvoHoBodmBmzl[l/lTl5jUl=c6j7j8jhlqjNk[k|l_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkkmqoJmwoIoCoemCmAl]l:lXl.jYl?c/j:j;jklrjOk^k}l`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
122 sa_column_args = kwargs.pop("sa_column_args", Undefined) 2f XexeyeakPkQk-k{kJkfmloEmroDoxo~lxmBl;l+l1lbk2l{cckdkeknl~j,k|k^l|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkgmmoFmsoEoyoamymwl=l,lHltjIl/cujvjwj}knjKk/k_l[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukhmnoGmtoFozobmzmxl?l-lLlEjMl:cFjGjHjblojLk;k`l]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkimooHmuoGoAocmAmyl@l.lPlPjQl;cQjRjSjelpjMk?k{l^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkjmpoImvoHoBodmBmzl[l/lTl5jUl=c6j7j8jhlqjNk[k|l_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkkmqoJmwoIoCoemCmAl]l:lXl.jYl?c/j:j;jklrjOk^k}l`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
123 sa_column_kwargs = kwargs.pop("sa_column_kwargs", Undefined) 2f XexeyeakPkQk-k{kJkfmloEmroDoxo~lxmBl;l+l1lbk2l{cckdkeknl~j,k|k^l|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkgmmoFmsoEoyoamymwl=l,lHltjIl/cujvjwj}knjKk/k_l[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukhmnoGmtoFozobmzmxl?l-lLlEjMl:cFjGjHjblojLk;k`l]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkimooHmuoGoAocmAmyl@l.lPlPjQl;cQjRjSjelpjMk?k{l^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkjmpoImvoHoBodmBmzl[l/lTl5jUl=c6j7j8jhlqjNk[k|l_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkkmqoJmwoIoCoemCmAl]l:lXl.jYl?c/j:j;jklrjOk^k}l`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
124 if sa_column is not Undefined: 2f XexeyeakPkQk-k{kJkfmloEmroDoxo~lxmBl;l+l1lbk2l{cckdkeknl~j,k|k^l|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkgmmoFmsoEoyoamymwl=l,lHltjIl/cujvjwj}knjKk/k_l[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukhmnoGmtoFozobmzmxl?l-lLlEjMl:cFjGjHjblojLk;k`l]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkimooHmuoGoAocmAmyl@l.lPlPjQl;cQjRjSjelpjMk?k{l^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkjmpoImvoHoBodmBmzl[l/lTl5jUl=c6j7j8jhlqjNk[k|l_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkkmqoJmwoIoCoemCmAl]l:lXl.jYl?c/j:j;jklrjOk^k}l`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
125 if sa_column_args is not Undefined: 2JkfmloEmroDoxo~lxmBltkgmmoFmsoEoyoamymwlukhmnoGmtoFozobmzmxlvkimooHmuoGoAocmAmylwkjmpoImvoHoBodmBmzlxkkmqoJmwoIoCoemCmAl
126 raise RuntimeError( 2DoEoFoGoHoIo
127 "Passing sa_column_args is not supported when "
128 "also passing a sa_column"
129 )
130 if sa_column_kwargs is not Undefined: 2JkfmloEmroxo~lxmBltkgmmoFmsoyoamymwlukhmnoGmtozobmzmxlvkimooHmuoAocmAmylwkjmpoImvoBodmBmzlxkkmqoJmwoCoemCmAl
131 raise RuntimeError( 2xoyozoAoBoCo
132 "Passing sa_column_kwargs is not supported when "
133 "also passing a sa_column"
134 )
135 if primary_key is not Undefined: 2JkfmloEmro~lxmBltkgmmoFmsoamymwlukhmnoGmtobmzmxlvkimooHmuocmAmylwkjmpoImvodmBmzlxkkmqoJmwoemCmAl
136 raise RuntimeError( 2rosotouovowo
137 "Passing primary_key is not supported when "
138 "also passing a sa_column"
139 )
140 if nullable is not Undefined: 2JkfmloEm~lxmBltkgmmoFmamymwlukhmnoGmbmzmxlvkimooHmcmAmylwkjmpoImdmBmzlxkkmqoJmemCmAl
141 raise RuntimeError( 2lomonooopoqo
142 "Passing nullable is not supported when also passing a sa_column"
143 )
144 if foreign_key is not Undefined: 2JkfmEm~lxmBltkgmFmamymwlukhmGmbmzmxlvkimHmcmAmylwkjmImdmBmzlxkkmJmemCmAl
145 raise RuntimeError( 2Jktkukvkwkxk
146 "Passing foreign_key is not supported when "
147 "also passing a sa_column"
148 )
149 if ondelete is not Undefined: 2fmEm~lxmBlgmFmamymwlhmGmbmzmxlimHmcmAmyljmImdmBmzlkmJmemCmAl
150 raise RuntimeError( 2EmFmGmHmImJm
151 "Passing ondelete is not supported when also passing a sa_column"
152 )
153 if unique is not Undefined: 2fm~lxmBlgmamymwlhmbmzmxlimcmAmyljmdmBmzlkmemCmAl
154 raise RuntimeError( 2xmymzmAmBmCm
155 "Passing unique is not supported when also passing a sa_column"
156 )
157 if index is not Undefined: 2fm~lBlgmamwlhmbmxlimcmyljmdmzlkmemAl
158 raise RuntimeError( 2fmgmhmimjmkm
159 "Passing index is not supported when also passing a sa_column"
160 )
161 if sa_type is not Undefined: 2~lBlamwlbmxlcmyldmzlemAl
162 raise RuntimeError( 2~lambmcmdmem
163 "Passing sa_type is not supported when also passing a sa_column"
164 )
165 if ondelete is not Undefined: 2f XexeyeakPkQk-k{kJkBl;l+l1lbk2l{cckdkeknl~j,k|k^l|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkwl=l,lHltjIl/cujvjwj}knjKk/k_l[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukxl?l-lLlEjMl:cFjGjHjblojLk;k`l]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkyl@l.lPlPjQl;cQjRjSjelpjMk?k{l^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkzl[l/lTl5jUl=c6j7j8jhlqjNk[k|l_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkAl]l:lXl.jYl?c/j:j;jklrjOk^k}l`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
166 if foreign_key is Undefined: 2^l|cYc6cZc0c1c_l[c* Tb+ 2 , `l]c; = 4b5b? @ 3 4 [ ] {l^c~ abbb/b:b;bcbdbeb5 6 7 fbgbhb|l_cobpbqbgchcicrbsbtb8 9 ! ubvbwb}l`cDbEbFbBcCcDcGbHbIb# $ % JbKbLb
167 raise RuntimeError("ondelete can only be used with foreign_key") 2^l_l`l{l|l}l
168 super().__init__(default=default, **kwargs) 2f XexeyeakPkQk-k{kJkBl;l+l1lbk2l{cckdkeknl~j,k|k^l|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkwl=l,lHltjIl/cujvjwj}knjKk/k_l[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukxl?l-lLlEjMl:cFjGjHjblojLk;k`l]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkyl@l.lPlPjQl;cQjRjSjelpjMk?k{l^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkzl[l/lTl5jUl=c6j7j8jhlqjNk[k|l_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkAl]l:lXl.jYl?c/j:j;jklrjOk^k}l`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
169 self.primary_key = primary_key 2f XexeyeakPkQk-k{kJkBl;l+l1lbk2l{cckdkeknl~j,k|k^l|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkwl=l,lHltjIl/cujvjwj}knjKk/k_l[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukxl?l-lLlEjMl:cFjGjHjblojLk;k`l]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkyl@l.lPlPjQl;cQjRjSjelpjMk?k{l^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkzl[l/lTl5jUl=c6j7j8jhlqjNk[k|l_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkAl]l:lXl.jYl?c/j:j;jklrjOk^k}l`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
170 self.nullable = nullable 2f XexeyeakPkQk-k{kJkBl;l+l1lbk2l{cckdkeknl~j,k|k^l|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkwl=l,lHltjIl/cujvjwj}knjKk/k_l[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukxl?l-lLlEjMl:cFjGjHjblojLk;k`l]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkyl@l.lPlPjQl;cQjRjSjelpjMk?k{l^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkzl[l/lTl5jUl=c6j7j8jhlqjNk[k|l_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkAl]l:lXl.jYl?c/j:j;jklrjOk^k}l`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
171 self.foreign_key = foreign_key 2f XexeyeakPkQk-k{kJkBl;l+l1lbk2l{cckdkeknl~j,k|k^l|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkwl=l,lHltjIl/cujvjwj}knjKk/k_l[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukxl?l-lLlEjMl:cFjGjHjblojLk;k`l]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkyl@l.lPlPjQl;cQjRjSjelpjMk?k{l^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkzl[l/lTl5jUl=c6j7j8jhlqjNk[k|l_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkAl]l:lXl.jYl?c/j:j;jklrjOk^k}l`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
172 self.ondelete = ondelete 2f XexeyeakPkQk-k{kJkBl;l+l1lbk2l{cckdkeknl~j,k|k^l|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkwl=l,lHltjIl/cujvjwj}knjKk/k_l[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukxl?l-lLlEjMl:cFjGjHjblojLk;k`l]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkyl@l.lPlPjQl;cQjRjSjelpjMk?k{l^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkzl[l/lTl5jUl=c6j7j8jhlqjNk[k|l_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkAl]l:lXl.jYl?c/j:j;jklrjOk^k}l`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
173 self.unique = unique 2f XexeyeakPkQk-k{kJkBl;l+l1lbk2l{cckdkeknl~j,k|k^l|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkwl=l,lHltjIl/cujvjwj}knjKk/k_l[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukxl?l-lLlEjMl:cFjGjHjblojLk;k`l]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkyl@l.lPlPjQl;cQjRjSjelpjMk?k{l^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkzl[l/lTl5jUl=c6j7j8jhlqjNk[k|l_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkAl]l:lXl.jYl?c/j:j;jklrjOk^k}l`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
174 self.index = index 2f XexeyeakPkQk-k{kJkBl;l+l1lbk2l{cckdkeknl~j,k|k^l|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkwl=l,lHltjIl/cujvjwj}knjKk/k_l[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukxl?l-lLlEjMl:cFjGjHjblojLk;k`l]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkyl@l.lPlPjQl;cQjRjSjelpjMk?k{l^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkzl[l/lTl5jUl=c6j7j8jhlqjNk[k|l_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkAl]l:lXl.jYl?c/j:j;jklrjOk^k}l`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
175 self.sa_type = sa_type 2f XexeyeakPkQk-k{kJkBl;l+l1lbk2l{cckdkeknl~j,k|k^l|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkwl=l,lHltjIl/cujvjwj}knjKk/k_l[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukxl?l-lLlEjMl:cFjGjHjblojLk;k`l]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkyl@l.lPlPjQl;cQjRjSjelpjMk?k{l^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkzl[l/lTl5jUl=c6j7j8jhlqjNk[k|l_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkAl]l:lXl.jYl?c/j:j;jklrjOk^k}l`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
176 self.sa_column = sa_column 2f XexeyeakPkQk-k{kJkBl;l+l1lbk2l{cckdkeknl~j,k|k^l|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkwl=l,lHltjIl/cujvjwj}knjKk/k_l[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukxl?l-lLlEjMl:cFjGjHjblojLk;k`l]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkyl@l.lPlPjQl;cQjRjSjelpjMk?k{l^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkzl[l/lTl5jUl=c6j7j8jhlqjNk[k|l_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkAl]l:lXl.jYl?c/j:j;jklrjOk^k}l`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
177 self.sa_column_args = sa_column_args 2f XexeyeakPkQk-k{kJkBl;l+l1lbk2l{cckdkeknl~j,k|k^l|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkwl=l,lHltjIl/cujvjwj}knjKk/k_l[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukxl?l-lLlEjMl:cFjGjHjblojLk;k`l]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkyl@l.lPlPjQl;cQjRjSjelpjMk?k{l^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkzl[l/lTl5jUl=c6j7j8jhlqjNk[k|l_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkAl]l:lXl.jYl?c/j:j;jklrjOk^k}l`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
178 self.sa_column_kwargs = sa_column_kwargs 2f XexeyeakPkQk-k{kJkBl;l+l1lbk2l{cckdkeknl~j,k|k^l|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkwl=l,lHltjIl/cujvjwj}knjKk/k_l[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukxl?l-lLlEjMl:cFjGjHjblojLk;k`l]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkyl@l.lPlPjQl;cQjRjSjelpjMk?k{l^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkzl[l/lTl5jUl=c6j7j8jhlqjNk[k|l_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkAl]l:lXl.jYl?c/j:j;jklrjOk^k}l`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
181class RelationshipInfo(Representation): 1fabcde
182 def __init__( 1abcde
183 self,
184 *,
185 back_populates: Optional[str] = None,
186 cascade_delete: Optional[bool] = False,
187 passive_deletes: Optional[Union[bool, Literal["all"]]] = False,
188 link_model: Optional[Any] = None,
189 sa_relationship: Optional[RelationshipProperty] = None, # type: ignore
190 sa_relationship_args: Optional[Sequence[Any]] = None,
191 sa_relationship_kwargs: Optional[Mapping[str, Any]] = None,
192 ) -> None:
193 if sa_relationship is not None: 2;l+l{c|c2c3cMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c=l,l/c[cPbQbs t u g ( Kc) !cRbSb* Tb+ 2 , UbVb?l-l:c]cWbXbYbZbv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b@l.l;c^c!b#b$b%b'b(bB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b[l/l=c_c_b`b{b|b}b~bK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc]l:l?c`cpcqcrcsctcucT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
194 if sa_relationship_args is not None: 2;l+l{c=l,l/c?l-l:c@l.l;c[l/l=c]l:l?c
195 raise RuntimeError( 2;l=l?l@l[l]l
196 "Passing sa_relationship_args is not supported when "
197 "also passing a sa_relationship"
198 )
199 if sa_relationship_kwargs is not None: 2+l{c,l/c-l:c.l;c/l=c:l?c
200 raise RuntimeError( 2+l,l-l.l/l:l
201 "Passing sa_relationship_kwargs is not supported when "
202 "also passing a sa_relationship"
203 )
204 self.back_populates = back_populates 2{c|c2c3cMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c/c[cPbQbs t u g ( Kc) !cRbSb* Tb+ 2 , UbVb:c]cWbXbYbZbv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b;c^c!b#b$b%b'b(bB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b=c_c_b`b{b|b}b~bK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc?c`cpcqcrcsctcucT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
205 self.cascade_delete = cascade_delete 2{c|c2c3cMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c/c[cPbQbs t u g ( Kc) !cRbSb* Tb+ 2 , UbVb:c]cWbXbYbZbv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b;c^c!b#b$b%b'b(bB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b=c_c_b`b{b|b}b~bK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc?c`cpcqcrcsctcucT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
206 self.passive_deletes = passive_deletes 2{c|c2c3cMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c/c[cPbQbs t u g ( Kc) !cRbSb* Tb+ 2 , UbVb:c]cWbXbYbZbv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b;c^c!b#b$b%b'b(bB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b=c_c_b`b{b|b}b~bK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc?c`cpcqcrcsctcucT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
207 self.link_model = link_model 2{c|c2c3cMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c/c[cPbQbs t u g ( Kc) !cRbSb* Tb+ 2 , UbVb:c]cWbXbYbZbv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b;c^c!b#b$b%b'b(bB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b=c_c_b`b{b|b}b~bK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc?c`cpcqcrcsctcucT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
208 self.sa_relationship = sa_relationship 2{c|c2c3cMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c/c[cPbQbs t u g ( Kc) !cRbSb* Tb+ 2 , UbVb:c]cWbXbYbZbv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b;c^c!b#b$b%b'b(bB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b=c_c_b`b{b|b}b~bK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc?c`cpcqcrcsctcucT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
209 self.sa_relationship_args = sa_relationship_args 2{c|c2c3cMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c/c[cPbQbs t u g ( Kc) !cRbSb* Tb+ 2 , UbVb:c]cWbXbYbZbv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b;c^c!b#b$b%b'b(bB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b=c_c_b`b{b|b}b~bK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc?c`cpcqcrcsctcucT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
210 self.sa_relationship_kwargs = sa_relationship_kwargs 2{c|c2c3cMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c/c[cPbQbs t u g ( Kc) !cRbSb* Tb+ 2 , UbVb:c]cWbXbYbZbv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b;c^c!b#b$b%b'b(bB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b=c_c_b`b{b|b}b~bK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc?c`cpcqcrcsctcucT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
213# include sa_type, sa_column_args, sa_column_kwargs
214@overload 1fabcde
215def Field( 1abcde
216 default: Any = Undefined, 1fabcde
217 *,
218 default_factory: Optional[NoArgAnyCallable] = None, 1fabcde
219 alias: Optional[str] = None, 1fabcde
220 title: Optional[str] = None, 1fabcde
221 description: Optional[str] = None, 1fabcde
222 exclude: Union[ 1abcde
223 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any 1abcde
224 ] = None, 1fabcde
225 include: Union[ 1abcde
226 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any 1abcde
227 ] = None, 1fabcde
228 const: Optional[bool] = None, 1fabcde
229 gt: Optional[float] = None, 1fabcde
230 ge: Optional[float] = None, 1fabcde
231 lt: Optional[float] = None, 1fabcde
232 le: Optional[float] = None, 1fabcde
233 multiple_of: Optional[float] = None, 1fabcde
234 max_digits: Optional[int] = None, 1fabcde
235 decimal_places: Optional[int] = None, 1fabcde
236 min_items: Optional[int] = None, 1fabcde
237 max_items: Optional[int] = None, 1fabcde
238 unique_items: Optional[bool] = None, 1fabcde
239 min_length: Optional[int] = None, 1fabcde
240 max_length: Optional[int] = None, 1fabcde
241 allow_mutation: bool = True, 1fabcde
242 regex: Optional[str] = None, 1fabcde
243 discriminator: Optional[str] = None, 1fabcde
244 repr: bool = True, 1fabcde
245 primary_key: Union[bool, UndefinedType] = Undefined, 1fabcde
246 foreign_key: Any = Undefined, 1fabcde
247 unique: Union[bool, UndefinedType] = Undefined, 1fabcde
248 nullable: Union[bool, UndefinedType] = Undefined, 1fabcde
249 index: Union[bool, UndefinedType] = Undefined, 1fabcde
250 sa_type: Union[Type[Any], UndefinedType] = Undefined, 1fabcde
251 sa_column_args: Union[Sequence[Any], UndefinedType] = Undefined, 1fabcde
252 sa_column_kwargs: Union[Mapping[str, Any], UndefinedType] = Undefined, 1fabcde
253 schema_extra: Optional[Dict[str, Any]] = None, 1fabcde
254) -> Any: ... 1fabcde
257# When foreign_key is str, include ondelete
258# include sa_type, sa_column_args, sa_column_kwargs
259@overload 1fabcde
260def Field( 1abcde
261 default: Any = Undefined, 1fabcde
262 *,
263 default_factory: Optional[NoArgAnyCallable] = None, 1fabcde
264 alias: Optional[str] = None, 1fabcde
265 title: Optional[str] = None, 1fabcde
266 description: Optional[str] = None, 1fabcde
267 exclude: Union[ 1abcde
268 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any 1abcde
269 ] = None, 1fabcde
270 include: Union[ 1abcde
271 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any 1abcde
272 ] = None, 1fabcde
273 const: Optional[bool] = None, 1fabcde
274 gt: Optional[float] = None, 1fabcde
275 ge: Optional[float] = None, 1fabcde
276 lt: Optional[float] = None, 1fabcde
277 le: Optional[float] = None, 1fabcde
278 multiple_of: Optional[float] = None, 1fabcde
279 max_digits: Optional[int] = None, 1fabcde
280 decimal_places: Optional[int] = None, 1fabcde
281 min_items: Optional[int] = None, 1fabcde
282 max_items: Optional[int] = None, 1fabcde
283 unique_items: Optional[bool] = None, 1fabcde
284 min_length: Optional[int] = None, 1fabcde
285 max_length: Optional[int] = None, 1fabcde
286 allow_mutation: bool = True, 1fabcde
287 regex: Optional[str] = None, 1fabcde
288 discriminator: Optional[str] = None, 1fabcde
289 repr: bool = True, 1fabcde
290 primary_key: Union[bool, UndefinedType] = Undefined, 1fabcde
291 foreign_key: str, 1abcde
292 ondelete: Union[OnDeleteType, UndefinedType] = Undefined, 1fabcde
293 unique: Union[bool, UndefinedType] = Undefined, 1fabcde
294 nullable: Union[bool, UndefinedType] = Undefined, 1fabcde
295 index: Union[bool, UndefinedType] = Undefined, 1fabcde
296 sa_type: Union[Type[Any], UndefinedType] = Undefined, 1fabcde
297 sa_column_args: Union[Sequence[Any], UndefinedType] = Undefined, 1fabcde
298 sa_column_kwargs: Union[Mapping[str, Any], UndefinedType] = Undefined, 1fabcde
299 schema_extra: Optional[Dict[str, Any]] = None, 1fabcde
300) -> Any: ... 1fabcde
303# Include sa_column, don't include
304# primary_key
305# foreign_key
306# ondelete
307# unique
308# nullable
309# index
310# sa_type
311# sa_column_args
312# sa_column_kwargs
313@overload 1fabcde
314def Field( 1abcde
315 default: Any = Undefined, 1fabcde
316 *,
317 default_factory: Optional[NoArgAnyCallable] = None, 1fabcde
318 alias: Optional[str] = None, 1fabcde
319 title: Optional[str] = None, 1fabcde
320 description: Optional[str] = None, 1fabcde
321 exclude: Union[ 1abcde
322 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any 1abcde
323 ] = None, 1fabcde
324 include: Union[ 1abcde
325 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any 1abcde
326 ] = None, 1fabcde
327 const: Optional[bool] = None, 1fabcde
328 gt: Optional[float] = None, 1fabcde
329 ge: Optional[float] = None, 1fabcde
330 lt: Optional[float] = None, 1fabcde
331 le: Optional[float] = None, 1fabcde
332 multiple_of: Optional[float] = None, 1fabcde
333 max_digits: Optional[int] = None, 1fabcde
334 decimal_places: Optional[int] = None, 1fabcde
335 min_items: Optional[int] = None, 1fabcde
336 max_items: Optional[int] = None, 1fabcde
337 unique_items: Optional[bool] = None, 1fabcde
338 min_length: Optional[int] = None, 1fabcde
339 max_length: Optional[int] = None, 1fabcde
340 allow_mutation: bool = True, 1fabcde
341 regex: Optional[str] = None, 1fabcde
342 discriminator: Optional[str] = None, 1fabcde
343 repr: bool = True, 1fabcde
344 sa_column: Union[Column, UndefinedType] = Undefined, # type: ignore 1fabcde
345 schema_extra: Optional[Dict[str, Any]] = None, 1fabcde
346) -> Any: ... 1fabcde
349def Field( 1abcde
350 default: Any = Undefined,
351 *,
352 default_factory: Optional[NoArgAnyCallable] = None,
353 alias: Optional[str] = None,
354 title: Optional[str] = None,
355 description: Optional[str] = None,
356 exclude: Union[
357 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any
358 ] = None,
359 include: Union[
360 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any
361 ] = None,
362 const: Optional[bool] = None,
363 gt: Optional[float] = None,
364 ge: Optional[float] = None,
365 lt: Optional[float] = None,
366 le: Optional[float] = None,
367 multiple_of: Optional[float] = None,
368 max_digits: Optional[int] = None,
369 decimal_places: Optional[int] = None,
370 min_items: Optional[int] = None,
371 max_items: Optional[int] = None,
372 unique_items: Optional[bool] = None,
373 min_length: Optional[int] = None,
374 max_length: Optional[int] = None,
375 allow_mutation: bool = True,
376 regex: Optional[str] = None,
377 discriminator: Optional[str] = None,
378 repr: bool = True,
379 primary_key: Union[bool, UndefinedType] = Undefined,
380 foreign_key: Any = Undefined,
381 ondelete: Union[OnDeleteType, UndefinedType] = Undefined,
382 unique: Union[bool, UndefinedType] = Undefined,
383 nullable: Union[bool, UndefinedType] = Undefined,
384 index: Union[bool, UndefinedType] = Undefined,
385 sa_type: Union[Type[Any], UndefinedType] = Undefined,
386 sa_column: Union[Column, UndefinedType] = Undefined, # type: ignore
387 sa_column_args: Union[Sequence[Any], UndefinedType] = Undefined,
388 sa_column_kwargs: Union[Mapping[str, Any], UndefinedType] = Undefined,
389 schema_extra: Optional[Dict[str, Any]] = None,
390) -> Any:
391 current_schema_extra = schema_extra or {} 2f XexeyeakPkQk-k{kJkfmloEmroDoxo~lxmBl;l+l1lbk2l{cckdkeknl~j,k|k^l|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkgmmoFmsoEoyoamymwl=l,lHltjIl/cujvjwj}knjKk/k_l[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukhmnoGmtoFozobmzmxl?l-lLlEjMl:cFjGjHjblojLk;k`l]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkimooHmuoGoAocmAmyl@l.lPlPjQl;cQjRjSjelpjMk?k{l^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkjmpoImvoHoBodmBmzl[l/lTl5jUl=c6j7j8jhlqjNk[k|l_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkkmqoJmwoIoCoemCmAl]l:lXl.jYl?c/j:j;jklrjOk^k}l`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
392 field_info = FieldInfo( 2f XexeyeakPkQk-k{kJkfmloEmroDoxo~lxmBl;l+l1lbk2l{cckdkeknl~j,k|k^l|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkgmmoFmsoEoyoamymwl=l,lHltjIl/cujvjwj}knjKk/k_l[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukhmnoGmtoFozobmzmxl?l-lLlEjMl:cFjGjHjblojLk;k`l]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkimooHmuoGoAocmAmyl@l.lPlPjQl;cQjRjSjelpjMk?k{l^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkjmpoImvoHoBodmBmzl[l/lTl5jUl=c6j7j8jhlqjNk[k|l_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkkmqoJmwoIoCoemCmAl]l:lXl.jYl?c/j:j;jklrjOk^k}l`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
393 default,
394 default_factory=default_factory,
395 alias=alias,
396 title=title,
397 description=description,
398 exclude=exclude,
399 include=include,
400 const=const,
401 gt=gt,
402 ge=ge,
403 lt=lt,
404 le=le,
405 multiple_of=multiple_of,
406 max_digits=max_digits,
407 decimal_places=decimal_places,
408 min_items=min_items,
409 max_items=max_items,
410 unique_items=unique_items,
411 min_length=min_length,
412 max_length=max_length,
413 allow_mutation=allow_mutation,
414 regex=regex,
415 discriminator=discriminator,
416 repr=repr,
417 primary_key=primary_key,
418 foreign_key=foreign_key,
419 ondelete=ondelete,
420 unique=unique,
421 nullable=nullable,
422 index=index,
423 sa_type=sa_type,
424 sa_column=sa_column,
425 sa_column_args=sa_column_args,
426 sa_column_kwargs=sa_column_kwargs,
427 **current_schema_extra,
428 )
429 post_init_field_info(field_info) 2f XexeyeakPkQk-k{kJkBl;l+l1lbk2l{cckdkeknl~j,k|k^l|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkwl=l,lHltjIl/cujvjwj}knjKk/k_l[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukxl?l-lLlEjMl:cFjGjHjblojLk;k`l]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkyl@l.lPlPjQl;cQjRjSjelpjMk?k{l^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkzl[l/lTl5jUl=c6j7j8jhlqjNk[k|l_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkAl]l:lXl.jYl?c/j:j;jklrjOk^k}l`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
430 return field_info 2f XexeyeakPkQk-k{kJkBl;l+l1lbk2l{cckdkeknl~j,k|k^l|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkwl=l,lHltjIl/cujvjwj}knjKk/k_l[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukxl?l-lLlEjMl:cFjGjHjblojLk;k`l]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkyl@l.lPlPjQl;cQjRjSjelpjMk?k{l^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkzl[l/lTl5jUl=c6j7j8jhlqjNk[k|l_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkAl]l:lXl.jYl?c/j:j;jklrjOk^k}l`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
433@overload 1fabcde
434def Relationship( 1abcde
435 *,
436 back_populates: Optional[str] = None, 1fabcde
437 cascade_delete: Optional[bool] = False, 1fabcde
438 passive_deletes: Optional[Union[bool, Literal["all"]]] = False, 1fabcde
439 link_model: Optional[Any] = None, 1fabcde
440 sa_relationship_args: Optional[Sequence[Any]] = None, 1fabcde
441 sa_relationship_kwargs: Optional[Mapping[str, Any]] = None, 1fabcde
442) -> Any: ... 1fabcde
445@overload 1fabcde
446def Relationship( 1abcde
447 *,
448 back_populates: Optional[str] = None, 1fabcde
449 cascade_delete: Optional[bool] = False, 1fabcde
450 passive_deletes: Optional[Union[bool, Literal["all"]]] = False, 1fabcde
451 link_model: Optional[Any] = None, 1fabcde
452 sa_relationship: Optional[RelationshipProperty[Any]] = None, 1fabcde
453) -> Any: ... 1fabcde
456def Relationship( 1abcde
457 *,
458 back_populates: Optional[str] = None,
459 cascade_delete: Optional[bool] = False,
460 passive_deletes: Optional[Union[bool, Literal["all"]]] = False,
461 link_model: Optional[Any] = None,
462 sa_relationship: Optional[RelationshipProperty[Any]] = None,
463 sa_relationship_args: Optional[Sequence[Any]] = None,
464 sa_relationship_kwargs: Optional[Mapping[str, Any]] = None,
465) -> Any:
466 relationship_info = RelationshipInfo( 2;l+l{c|c2c3cMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c=l,l/c[cPbQbs t u g ( Kc) !cRbSb* Tb+ 2 , UbVb?l-l:c]cWbXbYbZbv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b@l.l;c^c!b#b$b%b'b(bB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b[l/l=c_c_b`b{b|b}b~bK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc]l:l?c`cpcqcrcsctcucT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
467 back_populates=back_populates,
468 cascade_delete=cascade_delete,
469 passive_deletes=passive_deletes,
470 link_model=link_model,
471 sa_relationship=sa_relationship,
472 sa_relationship_args=sa_relationship_args,
473 sa_relationship_kwargs=sa_relationship_kwargs,
474 )
475 return relationship_info 2{c|c2c3cMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c/c[cPbQbs t u g ( Kc) !cRbSb* Tb+ 2 , UbVb:c]cWbXbYbZbv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b;c^c!b#b$b%b'b(bB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b=c_c_b`b{b|b}b~bK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc?c`cpcqcrcsctcucT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
478@__dataclass_transform__(kw_only_default=True, field_descriptors=(Field, FieldInfo)) 1fabcde
479class SQLModelMetaclass(ModelMetaclass, DeclarativeMeta): 1fabcde
480 __sqlmodel_relationships__: Dict[str, RelationshipInfo] 1fabcde
481 model_config: SQLModelConfig 1fabcde
482 model_fields: Dict[str, FieldInfo] 1fabcde
483 __config__: Type[SQLModelConfig] 1fabcde
484 __fields__: Dict[str, ModelField] # type: ignore[assignment] 1fabcde
486 # Replicate SQLAlchemy
487 def __setattr__(cls, name: str, value: Any) -> None: 1fabcde
488 if is_table_model_class(cls): 2f XexeyeakPkQk-k{kJkBl1lbk2l{cckdkeknl~j,k|k|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#la MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwj}knjKk/k[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjblojLk;k]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjelpjMk?k^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jhlqjNk[k_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jklrjOk^k`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
489 DeclarativeMeta.__setattr__(cls, name, value) 2f XexeyeakPkQk-k{kJkBlbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkwltj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukxlEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkylPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkzl5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkAl.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
490 else:
491 super().__setattr__(name, value) 2f XexeyeakPkQk-k{kJkBl1lbk2l{cckdkeknl~j,k|k|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#la MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwj}knjKk/k[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjblojLk;k]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjelpjMk?k^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jhlqjNk[k_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jklrjOk^k`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
493 def __delattr__(cls, name: str) -> None: 1fabcde
494 if is_table_model_class(cls): 2f XexeyeakPkQk-k{kJkBl1lbk2l{cckdkeknl~j,k|k|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj#la MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwj}knjKk/k[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjblojLk;k]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjelpjMk?k^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jhlqjNk[k_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jklrjOk^k`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i!l
495 DeclarativeMeta.__delattr__(cls, name) 1fabcde
496 else:
497 super().__delattr__(name) 2f XexeyeakPkQk-k{kJkBl1lbk2l{cckdkeknl~j,k|k|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj#la MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwj}knjKk/k[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjblojLk;k]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjelpjMk?k^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jhlqjNk[k_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jklrjOk^k`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i!l
499 # From Pydantic
500 def __new__( 1abcde
501 cls,
502 name: str,
503 bases: Tuple[Type[Any], ...],
504 class_dict: Dict[str, Any],
505 **kwargs: Any,
506 ) -> Any:
507 relationships: Dict[str, RelationshipInfo] = {} 2f XexeyeakPkQk-k{kJkBl1lbk2l{cckdkeknl~j,k|k|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#la MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwj}knjKk/k[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjblojLk;k]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjelpjMk?k^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jhlqjNk[k_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jklrjOk^k`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
508 dict_for_pydantic = {} 2f XexeyeakPkQk-k{kJkBl1lbk2l{cckdkeknl~j,k|k|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#la MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwj}knjKk/k[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjblojLk;k]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjelpjMk?k^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jhlqjNk[k_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jklrjOk^k`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
509 original_annotations = get_annotations(class_dict) 2f XexeyeakPkQk-k{kJkBl1lbk2l{cckdkeknl~j,k|k|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#la MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwj}knjKk/k[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjblojLk;k]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjelpjMk?k^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jhlqjNk[k_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jklrjOk^k`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
510 pydantic_annotations = {} 2f XexeyeakPkQk-k{kJkBl1lbk2l{cckdkeknl~j,k|k|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#la MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwj}knjKk/k[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjblojLk;k]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjelpjMk?k^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jhlqjNk[k_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jklrjOk^k`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
511 relationship_annotations = {} 2f XexeyeakPkQk-k{kJkBl1lbk2l{cckdkeknl~j,k|k|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#la MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwj}knjKk/k[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjblojLk;k]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjelpjMk?k^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jhlqjNk[k_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jklrjOk^k`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
512 for k, v in class_dict.items(): 2f XexeyeakPkQk-k{kJkBl1lbk2l{cckdkeknl~j,k|k|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#la MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwj}knjKk/k[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjblojLk;k]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjelpjMk?k^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jhlqjNk[k_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jklrjOk^k`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
513 if isinstance(v, RelationshipInfo): 2f XexeyeakPkQk-k{kJkBl1lbk2l{cckdkeknl~j,k|k|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#la MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwj}knjKk/k[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjblojLk;k]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjelpjMk?k^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jhlqjNk[k_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jklrjOk^k`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
514 relationships[k] = v 2{c|c2c3cMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c/c[cPbQbs t u g ( Kc) !cRbSb* Tb+ 2 , UbVb:c]cWbXbYbZbv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b;c^c!b#b$b%b'b(bB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b=c_c_b`b{b|b}b~bK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc?c`cpcqcrcsctcucT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
515 else:
516 dict_for_pydantic[k] = v 2f XexeyeakPkQk-k{kJkBl1lbk2l{cckdkeknl~j,k|k|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#la MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwj}knjKk/k[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjblojLk;k]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjelpjMk?k^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jhlqjNk[k_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jklrjOk^k`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
517 for k, v in original_annotations.items(): 2f XexeyeakPkQk-k{kJkBl1lbk2l{cckdkeknl~j,k|k|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#la MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwj}knjKk/k[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjblojLk;k]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjelpjMk?k^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jhlqjNk[k_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jklrjOk^k`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
518 if k in relationships: 2f XexeyeakPkQk-k{kJkBl1lbk2l{cckdkeknl~j,k|k|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#la MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwj}knjKk/k[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjblojLk;k]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjelpjMk?k^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jhlqjNk[k_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jklrjOk^k`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
519 relationship_annotations[k] = v 2{c|c2c3cMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c/c[cPbQbs t u g ( Kc) !cRbSb* Tb+ 2 , UbVb:c]cWbXbYbZbv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b;c^c!b#b$b%b'b(bB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b=c_c_b`b{b|b}b~bK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc?c`cpcqcrcsctcucT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
520 else:
521 pydantic_annotations[k] = v 2f XexeyeakPkQk-k{kJkBl1lbk2l{cckdkeknl~j,k|k|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#la MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwj}knjKk/k[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjblojLk;k]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjelpjMk?k^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jhlqjNk[k_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jklrjOk^k`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
522 dict_used = { 2a MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwj}knjKk/k[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjblojLk;k]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjelpjMk?k^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jhlqjNk[k_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jklrjOk^k`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
523 **dict_for_pydantic,
524 "__weakref__": None,
525 "__sqlmodel_relationships__": relationships,
526 "__annotations__": pydantic_annotations,
527 }
528 # Duplicate logic from Pydantic to filter config kwargs because if they are
529 # passed directly including the registry Pydantic will pass them over to the
530 # superclass causing an error
531 allowed_config_kwargs: Set[str] = { 2f XexeyeakPkQk-k{kJkBl1lbk2l{cckdkeknl~j,k|k|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#la MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwj}knjKk/k[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjblojLk;k]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjelpjMk?k^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jhlqjNk[k_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jklrjOk^k`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
532 key
533 for key in dir(BaseConfig)
534 if not (
535 key.startswith("__") and key.endswith("__")
536 ) # skip dunder methods and attributes
537 }
538 config_kwargs = { 2f XexeyeakPkQk-k{kJkBl1lbk2l{cckdkeknl~j,k|k|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#la MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwj}knjKk/k[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjblojLk;k]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjelpjMk?k^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jhlqjNk[k_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jklrjOk^k`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
539 key: kwargs[key] for key in kwargs.keys() & allowed_config_kwargs
540 }
541 new_cls = super().__new__(cls, name, bases, dict_used, **config_kwargs) 2f XexeyeakPkQk-k{kJkBl1lbk2l{cckdkeknl~j,k|k|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#la MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwj}knjKk/k[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjblojLk;k]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjelpjMk?k^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jhlqjNk[k_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jklrjOk^k`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
542 new_cls.__annotations__ = { 2a MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwj}knjKk/k[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjblojLk;k]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjelpjMk?k^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jhlqjNk[k_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jklrjOk^k`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
543 **relationship_annotations,
544 **pydantic_annotations,
545 **new_cls.__annotations__,
546 }
548 def get_config(name: str) -> Any: 2f XexeyeakPkQk-k{kJkBl1lbk2l{cckdkeknl~j,k|k|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#la MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwj}knjKk/k[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjblojLk;k]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjelpjMk?k^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jhlqjNk[k_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jklrjOk^k`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
549 config_class_value = get_config_value( 2f XexeyeakPkQk-k{kJkBl1lbk2l{cckdkeknl~j,k|k|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#la MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwj}knjKk/k[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjblojLk;k]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjelpjMk?k^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jhlqjNk[k_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jklrjOk^k`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
550 model=new_cls, parameter=name, default=Undefined
551 )
552 if config_class_value is not Undefined: 2f XexeyeakPkQk-k{kJkBl1lbk2l{cckdkeknl~j,k|k|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#la MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwj}knjKk/k[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjblojLk;k]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjelpjMk?k^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jhlqjNk[k_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jklrjOk^k`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
553 return config_class_value 2Mf6e7e8e9e!e#e$e%e'e(e)e*e
554 kwarg_value = kwargs.get(name, Undefined) 2f XexeyeakPkQk-k{kJkBl1lbk2l{cckdkeknl~j,k|k|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#la MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwj}knjKk/k[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjblojLk;k]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjelpjMk?k^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jhlqjNk[k_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jklrjOk^k`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
555 if kwarg_value is not Undefined: 2f XexeyeakPkQk-k{kJkBl1lbk2l{cckdkeknl~j,k|k|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#la MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwj}knjKk/k[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjblojLk;k]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjelpjMk?k^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jhlqjNk[k_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jklrjOk^k`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
556 return kwarg_value 2f XexeyeakPkQk-k{kJkBlbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkwltj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukxlEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkylPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkzl5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkAl.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
557 return Undefined 2f XexeyeakPkQk-k{kJkBl1lbk2l{cckdkek~j,k|k|c3l4l5lfk'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#la MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwjnjKk/k[cJlKlClxjOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjojLk;k]cNlOlDlIj;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjpjMk?k^cRlSlElTjxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jqjNk[k_cVlWlFl9jghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jrjOk^k`cZl0lGl=j?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
559 config_table = get_config("table") 2f XexeyeakPkQk-k{kJkBl1lbk2l{cckdkeknl~j,k|k|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#la MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwj}knjKk/k[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjblojLk;k]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjelpjMk?k^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jhlqjNk[k_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jklrjOk^k`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
560 if config_table is True: 2f XexeyeakPkQk-k{kJkBl1lbk2l{cckdkeknl~j,k|k|c3l4l5lfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#la MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwj}knjKk/k[cJlKlClxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjblojLk;k]cNlOlDlIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjelpjMk?k^cRlSlElTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jhlqjNk[k_cVlWlFl9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jklrjOk^k`cZl0lGl=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
561 # If it was passed by kwargs, ensure it's also set in config
562 set_config_value(model=new_cls, parameter="table", value=config_table) 2f XexeyeakPkQk-k{kJkBlbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkwltj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukxlEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkylPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkzl5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkAl.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
563 for k, v in get_model_fields(new_cls).items(): 2f XexeyeakPkQk-k{kJkBlbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkwltj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukxlEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkylPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkzl5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkAl.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
564 col = get_column_from_field(v) 2f XexeyeakPkQk-k{kJkBlbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkwltj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukxlEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkylPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkzl5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkAl.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
565 setattr(new_cls, k, col) 2f XexeyeakPkQk-k{kJkBlbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkwltj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukxlEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkylPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkzl5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkAl.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
566 # Set a config flag to tell FastAPI that this should be read with a field
567 # in orm_mode instead of preemptively converting it to a dict.
568 # This could be done by reading new_cls.model_config['table'] in FastAPI, but
569 # that's very specific about SQLModel, so let's have another config that
570 # other future tools based on Pydantic can use.
571 set_config_value( 2f XexeyeakPkQk-k{kJkBlbk{cckdkek~j,k|k|cfk'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkwltj/cujvjwjnjKk/k[cxjOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukxlEj:cFjGjHjojLk;k]cIj;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkylPj;cQjRjSjpjMk?k^cTjxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkzl5j=c6j7j8jqjNk[k_c9jghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkAl.j?c/j:j;jrjOk^k`c=j?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
572 model=new_cls, parameter="read_from_attributes", value=True
573 )
574 # For compatibility with older versions
575 # TODO: remove this in the future
576 set_config_value(model=new_cls, parameter="read_with_orm_mode", value=True) 2f XexeyeakPkQk-k{kJkBlbk{cckdkek~j,k|k|cfk'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkwltj/cujvjwjnjKk/k[cxjOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukxlEj:cFjGjHjojLk;k]cIj;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkylPj;cQjRjSjpjMk?k^cTjxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkzl5j=c6j7j8jqjNk[k_c9jghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkAl.j?c/j:j;jrjOk^k`c=j?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
578 config_registry = get_config("registry") 2f XexeyeakPkQk-k{kJkBl1lbk2l{cckdkek~j,k|k|c3l4l5lfk'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#la MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwjnjKk/k[cJlKlClxjOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjojLk;k]cNlOlDlIj;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjpjMk?k^cRlSlElTjxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jqjNk[k_cVlWlFl9jghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jrjOk^k`cZl0lGl=j?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
579 if config_registry is not Undefined: 2f XexeyeakPkQk-k{kJkBl1lbk2l{cckdkek~j,k|k|c3l4l5lfk'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#la MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwjnjKk/k[cJlKlClxjOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjojLk;k]cNlOlDlIj;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjpjMk?k^cRlSlElTjxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jqjNk[k_cVlWlFl9jghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jrjOk^k`cZl0lGl=j?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
580 config_registry = cast(registry, config_registry) 1fabcde
581 # If it was passed by kwargs, ensure it's also set in config
582 set_config_value(model=new_cls, parameter="registry", value=config_table) 1fabcde
583 setattr(new_cls, "_sa_registry", config_registry) # noqa: B010 1fabcde
584 setattr(new_cls, "metadata", config_registry.metadata) # noqa: B010 1fabcde
585 setattr(new_cls, "__abstract__", True) # noqa: B010 1fabcde
586 return new_cls 2f XexeyeakPkQk-k{kJkBl1lbk2l{cckdkek~j,k|k|c3l4l5lfk'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#la MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwjnjKk/k[cJlKlClxjOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjojLk;k]cNlOlDlIj;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjpjMk?k^cRlSlElTjxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jqjNk[k_cVlWlFl9jghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jrjOk^k`cZl0lGl=j?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
588 # Override SQLAlchemy, allow both SQLAlchemy and plain Pydantic models
589 def __init__( 1abcde
590 cls, classname: str, bases: Tuple[type, ...], dict_: Dict[str, Any], **kw: Any
591 ) -> None:
592 # Only one of the base classes (or the current one) should be a table model
593 # this allows FastAPI cloning a SQLModel for the response_model without
594 # trying to create a new SQLAlchemy, for a new table, with the same name, that
595 # triggers an error
596 base_is_table = any(is_table_model_class(base) for base in bases) 2f XexeyeakPkQk-k{kJkBl1lbk2l{cckdkek~j,k|k|c3l4l5lfk'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#la MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwjnjKk/k[cJlKlClxjOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjojLk;k]cNlOlDlIj;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjpjMk?k^cRlSlElTjxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jqjNk[k_cVlWlFl9jghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jrjOk^k`cZl0lGl=j?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
597 if is_table_model_class(cls) and not base_is_table: 2f XexeyeakPkQk-k{kJkBl1lbk2l{cckdkek~j,k|k|c3l4l5lfk'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#la MdwdxdsjzkAkRk.ktkwlHltjIl/cujvjwjnjKk/k[cJlKlClxjOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6lb VdydzdDjBkCkSk:kukxlLlEjMl:cFjGjHjojLk;k]cNlOlDlIj;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7lc 4d5dAdBdCdDdOjDkEkUk=kvkylPlPjQl;cQjRjSjpjMk?k^cRlSlElTjxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8ld /d:dEdFdGdHd4jFkGkXk@kwkzlTl5jUl=c6j7j8jqjNk[k_cVlWlFl9jghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9le deeeIdJdKdLd-jHkIk0k]kxkAlXl.jYl?c/j:j;jrjOk^k`cZl0lGl=j?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
598 for rel_name, rel_info in cls.__sqlmodel_relationships__.items(): 2f XexeyeakPkQk-k{kJkBlbk{cckdkek~j,k|k|cfk'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkwltj/cujvjwjnjKk/k[cxjOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukxlEj:cFjGjHjojLk;k]cIj;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkylPj;cQjRjSjpjMk?k^cTjxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkzl5j=c6j7j8jqjNk[k_c9jghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkAl.j?c/j:j;jrjOk^k`c=j?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
599 if rel_info.sa_relationship: 2{c|c2c3cMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c/c[cPbQbs t u g ( Kc) !cRbSb* Tb+ 2 , UbVb:c]cWbXbYbZbv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b;c^c!b#b$b%b'b(bB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b=c_c_b`b{b|b}b~bK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc?c`cpcqcrcsctcucT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
600 # There's a SQLAlchemy relationship declared, that takes precedence
601 # over anything else, use that and continue with the next attribute
602 setattr(cls, rel_name, rel_info.sa_relationship) # Fix #315 2{c/c:c;c=c?c
603 continue 2{c/c:c;c=c?c
604 raw_ann = cls.__annotations__[rel_name] 2|c2c3cMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c[cPbQbs t u g ( Kc) !cRbSb* Tb+ 2 , UbVb]cWbXbYbZbv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b^c!b#b$b%b'b(bB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b_c_b`b{b|b}b~bK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc`cpcqcrcsctcucT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
605 origin = get_origin(raw_ann) 2|c2c3cMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c[cPbQbs t u g ( Kc) !cRbSb* Tb+ 2 , UbVb]cWbXbYbZbv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b^c!b#b$b%b'b(bB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b_c_b`b{b|b}b~bK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc`cpcqcrcsctcucT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
606 if origin is Mapped: 2|c2c3cMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c[cPbQbs t u g ( Kc) !cRbSb* Tb+ 2 , UbVb]cWbXbYbZbv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b^c!b#b$b%b'b(bB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b_c_b`b{b|b}b~bK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc`cpcqcrcsctcucT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
607 ann = raw_ann.__args__[0]
608 else:
609 ann = raw_ann 2|c2c3cMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c[cPbQbs t u g ( Kc) !cRbSb* Tb+ 2 , UbVb]cWbXbYbZbv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b^c!b#b$b%b'b(bB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b_c_b`b{b|b}b~bK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc`cpcqcrcsctcucT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
610 # Plain forward references, for models not yet defined, are not
611 # handled well by SQLAlchemy without Mapped, so, wrap the
612 # annotations in Mapped here
613 cls.__annotations__[rel_name] = Mapped[ann] # type: ignore[valid-type] 2|c2c3cMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c[cPbQbs t u g ( Kc) !cRbSb* Tb+ 2 , UbVb]cWbXbYbZbv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b^c!b#b$b%b'b(bB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b_c_b`b{b|b}b~bK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc`cpcqcrcsctcucT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
614 relationship_to = get_relationship_to( 2|c2c3cMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c[cPbQbs t u g ( Kc) !cRbSb* Tb+ 2 , UbVb]cWbXbYbZbv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b^c!b#b$b%b'b(bB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b_c_b`b{b|b}b~bK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc`cpcqcrcsctcucT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
615 name=rel_name, rel_info=rel_info, annotation=ann
616 )
617 rel_kwargs: Dict[str, Any] = {} 2|c2c3cMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c[cPbQbs t u g ( Kc) !cRbSb* Tb+ 2 , UbVb]cWbXbYbZbv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b^c!b#b$b%b'b(bB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b_c_b`b{b|b}b~bK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc`cpcqcrcsctcucT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
618 if rel_info.back_populates: 2|c2c3cMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c[cPbQbs t u g ( Kc) !cRbSb* Tb+ 2 , UbVb]cWbXbYbZbv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b^c!b#b$b%b'b(bB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b_c_b`b{b|b}b~bK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc`cpcqcrcsctcucT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
619 rel_kwargs["back_populates"] = rel_info.back_populates 2|c2c3cMbNbOb' WcXc@c4c5cYc6cZc0c1c7c8c[cPbQbs t u g ( ) !cRbSb* Tb+ 2 , UbVb]cWbXbYbZbv w x y z A h i - . / : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b^c!b#b$b%b'b(bB C D E F G H I J j k l ^ _ ` { | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b_c_b`b{b|b}b~bK L M N O P Q R S m n o ibjbkblbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc`cpcqcrcsctcucT U V W X Y Z 0 1 p q r xbybzbAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
620 if rel_info.cascade_delete: 2|c2c3cMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c[cPbQbs t u g ( Kc) !cRbSb* Tb+ 2 , UbVb]cWbXbYbZbv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b^c!b#b$b%b'b(bB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b_c_b`b{b|b}b~bK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc`cpcqcrcsctcucT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
621 rel_kwargs["cascade"] = "all, delete-orphan" 2Yc* ; = ~ abbbobpbqbDbEbFb
622 if rel_info.passive_deletes: 2|c2c3cMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c[cPbQbs t u g ( Kc) !cRbSb* Tb+ 2 , UbVb]cWbXbYbZbv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b^c!b#b$b%b'b(bB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b_c_b`b{b|b}b~bK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc`cpcqcrcsctcucT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
623 rel_kwargs["passive_deletes"] = rel_info.passive_deletes 2|cZc0c1c[c+ 2 , ]c? @ 3 4 [ ] ^ccbdbeb5 6 7 fbgbhb_crbsbtb8 9 ! ubvbwb`cGbHbIb# $ % JbKbLb
624 if rel_info.link_model: 2|c2c3cMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c[cPbQbs t u g ( Kc) !cRbSb* Tb+ 2 , UbVb]cWbXbYbZbv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b^c!b#b$b%b'b(bB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b_c_b`b{b|b}b~bK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc`cpcqcrcsctcucT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
625 ins = inspect(rel_info.link_model) 2Ob' u g z A h i H I J j k l Q R S m n o Z 0 1 p q r
626 local_table = getattr(ins, "local_table") # noqa: B009 2Ob' u g z A h i H I J j k l Q R S m n o Z 0 1 p q r
627 if local_table is None: 2Ob' u g z A h i H I J j k l Q R S m n o Z 0 1 p q r
628 raise RuntimeError(
629 "Couldn't find the secondary table for "
630 f"model {rel_info.link_model}"
631 )
632 rel_kwargs["secondary"] = local_table 2Ob' u g z A h i H I J j k l Q R S m n o Z 0 1 p q r
633 rel_args: List[Any] = [] 2|c2c3cMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c[cPbQbs t u g ( Kc) !cRbSb* Tb+ 2 , UbVb]cWbXbYbZbv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b^c!b#b$b%b'b(bB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b_c_b`b{b|b}b~bK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc`cpcqcrcsctcucT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
634 if rel_info.sa_relationship_args: 2|c2c3cMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c[cPbQbs t u g ( Kc) !cRbSb* Tb+ 2 , UbVb]cWbXbYbZbv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b^c!b#b$b%b'b(bB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b_c_b`b{b|b}b~bK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc`cpcqcrcsctcucT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
635 rel_args.extend(rel_info.sa_relationship_args)
636 if rel_info.sa_relationship_kwargs: 2|c2c3cMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c[cPbQbs t u g ( Kc) !cRbSb* Tb+ 2 , UbVb]cWbXbYbZbv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b^c!b#b$b%b'b(bB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b_c_b`b{b|b}b~bK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc`cpcqcrcsctcucT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
637 rel_kwargs.update(rel_info.sa_relationship_kwargs)
638 rel_value = relationship(relationship_to, *rel_args, **rel_kwargs) 2|c2c3cMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c[cPbQbs t u g ( Kc) !cRbSb* Tb+ 2 , UbVb]cWbXbYbZbv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b^c!b#b$b%b'b(bB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b_c_b`b{b|b}b~bK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc`cpcqcrcsctcucT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
639 setattr(cls, rel_name, rel_value) # Fix #315 2|c2c3cMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c[cPbQbs t u g ( Kc) !cRbSb* Tb+ 2 , UbVb]cWbXbYbZbv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b^c!b#b$b%b'b(bB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b_c_b`b{b|b}b~bK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc`cpcqcrcsctcucT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
640 # SQLAlchemy no longer uses dict_
641 # Ref: https://github.com/sqlalchemy/sqlalchemy/commit/428ea01f00a9cc7f85e435018565eb6da7af1b77
642 # Tag: 1.4.36
643 DeclarativeMeta.__init__(cls, classname, bases, dict_, **kw) 2f XexeyeakPkQk-k{kJkBlbk{cckdkek~j,k|k|cfk'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkwltj/cujvjwjnjKk/k[cxjOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukxlEj:cFjGjHjojLk;k]cIj;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkylPj;cQjRjSjpjMk?k^cTjxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkzl5j=c6j7j8jqjNk[k_c9jghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkAl.j?c/j:j;jrjOk^k`c=j?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
644 else:
645 ModelMetaclass.__init__(cls, classname, bases, dict_, **kw) 2f PkQk1l2l3l4l5lLf9i!i#i$iMbMfNfNbvewe*l#la zkAkHlIlJlKlClze+e,e-e.es 6eAet }c~c$l6lb BkCkLlMlNlOlDlTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEex y adbdcddd%l7lc DkEkPlQlRlSlElVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeE F G edfdgdhdidjd'l8ld FkGkTlUlVlWlFlYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeN O P kdldmdndodpd(l9le HkIkXlYlZl0lGl1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeW X Y qdrdsdtdudvd)l!l
648def get_sqlalchemy_type(field: Any) -> Any: 1fabcde
649 if IS_PYDANTIC_V2: 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
650 field_info = field 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
651 else:
652 field_info = field.field_info 2f XexeyePkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHdFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLdHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
653 sa_type = getattr(field_info, "sa_type", Undefined) # noqa: B009 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
654 if sa_type is not Undefined: 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
655 return sa_type
657 type_ = get_sa_type_from_field(field) 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
658 metadata = get_field_metadata(field) 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
660 # Check enums first as an enum can also be a str, needed by Pydantic/FastAPI
661 if issubclass(type_, Enum): 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
662 return sa_Enum(type_) 2f PkQka zkAkb BkCkc DkEkd FkGke HkIk
663 if issubclass( 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
664 type_,
665 (
666 str,
667 ipaddress.IPv4Address,
668 ipaddress.IPv4Network,
669 ipaddress.IPv6Address,
670 ipaddress.IPv6Network,
671 Path,
672 EmailStr,
673 ),
674 ):
675 max_length = getattr(metadata, "max_length", None) 2f Xexeye-kJkbk{cckdkek~j,k|cfk'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdRktktj/cujvjwjnjKk[cxjOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdSkukEj:cFjGjHjojLk]cIj;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdUkvkPj;cQjRjSjpjMk^cTjxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHdXkwk5j=c6j7j8jqjNk_c9jghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd0kxk.j?c/j:j;jrjOk`c=j?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
676 if max_length: 2f Xexeye-kJkbk{cckdkek~j,k|cfk'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdRktktj/cujvjwjnjKk[cxjOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdSkukEj:cFjGjHjojLk]cIj;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdUkvkPj;cQjRjSjpjMk^cTjxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHdXkwk5j=c6j7j8jqjNk_c9jghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd0kxk.j?c/j:j;jrjOk`c=j?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
677 return AutoString(length=max_length)
678 return AutoString 2f Xexeye-kJkbk{cckdkek~j,k|cfk'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdRktktj/cujvjwjnjKk[cxjOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdSkukEj:cFjGjHjojLk]cIj;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdUkvkPj;cQjRjSjpjMk^cTjxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHdXkwk5j=c6j7j8jqjNk_c9jghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd0kxk.j?c/j:j;jrjOk`c=j?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
679 if issubclass(type_, float): 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
680 return Float
681 if issubclass(type_, bool): 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
682 return Boolean 2Wc( - . ^ _ ` ibjbkbxbybzb
683 if issubclass(type_, int): 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
684 return Integer 2f Xexeye-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHdXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
685 if issubclass(type_, datetime): 2f XexeyeakPkQknlolpla MdwdxdsjzkAk}k~kalb VdydzdDjBkCkblcldlc 4d5dAdBdCdDdOjDkEkelflgld /d:dEdFdGdHd4jFkGkhliljle deeeIdJdKdLd-jHkIkklllml
686 return DateTime
687 if issubclass(type_, date): 2f XexeyeakPkQknlolpla MdwdxdsjzkAk}k~kalb VdydzdDjBkCkblcldlc 4d5dAdBdCdDdOjDkEkelflgld /d:dEdFdGdHd4jFkGkhliljle deeeIdJdKdLd-jHkIkklllml
688 return Date
689 if issubclass(type_, timedelta): 2f XexeyeakPkQknlolpla MdwdxdsjzkAk}k~kalb VdydzdDjBkCkblcldlc 4d5dAdBdCdDdOjDkEkelflgld /d:dEdFdGdHd4jFkGkhliljle deeeIdJdKdLd-jHkIkklllml
690 return Interval
691 if issubclass(type_, time): 2f XexeyeakPkQknlolpla MdwdxdsjzkAk}k~kalb VdydzdDjBkCkblcldlc 4d5dAdBdCdDdOjDkEkelflgld /d:dEdFdGdHd4jFkGkhliljle deeeIdJdKdLd-jHkIkklllml
692 return Time
693 if issubclass(type_, bytes): 2f XexeyeakPkQknlolpla MdwdxdsjzkAk}k~kalb VdydzdDjBkCkblcldlc 4d5dAdBdCdDdOjDkEkelflgld /d:dEdFdGdHd4jFkGkhliljle deeeIdJdKdLd-jHkIkklllml
694 return LargeBinary
695 if issubclass(type_, Decimal): 2f XexeyeakPkQknlolpla MdwdxdsjzkAk}k~kalb VdydzdDjBkCkblcldlc 4d5dAdBdCdDdOjDkEkelflgld /d:dEdFdGdHd4jFkGkhliljle deeeIdJdKdLd-jHkIkklllml
696 return Numeric( 2XeMdVd4d5d/d:ddeee
697 precision=getattr(metadata, "max_digits", None),
698 scale=getattr(metadata, "decimal_places", None),
699 )
700 if issubclass(type_, uuid.UUID): 2f xeyeakPkQknlolpla wdxdsjzkAk}k~kalb ydzdDjBkCkblcldlc AdBdCdDdOjDkEkelflgld EdFdGdHd4jFkGkhliljle IdJdKdLd-jHkIkklllml
701 return Uuid 2f xeyeakPkQka wdxdsjzkAkb ydzdDjBkCkc AdBdCdDdOjDkEkd EdFdGdHd4jFkGke IdJdKdLd-jHkIk
702 raise ValueError(f"{type_} has no matching SQLAlchemy type") 2nlolpl}k~kalblcldlelflglhliljlklllml
705def get_column_from_field(field: Any) -> Column: # type: ignore 1fabcde
706 if IS_PYDANTIC_V2: 2f XexeyeakPkQk-k{kJkBlbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkwltj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukxlEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkylPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkzl5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkAl.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
707 field_info = field 2f XexeyeakPkQk-k{kJkBlbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkwltj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukxlEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkylPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkzl5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkAl.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
708 else:
709 field_info = field.field_info 2f XexeyePkQk-k{kJkBlbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdzkAkRk.ktkwltj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdBkCkSk:kukxlEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdDkEkUk=kvkylPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHdFkGkXk@kwkzl5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLdHkIk0k]kxkAl.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
710 sa_column = getattr(field_info, "sa_column", Undefined) 2f XexeyeakPkQk-k{kJkBlbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkwltj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukxlEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkylPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkzl5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkAl.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
711 if isinstance(sa_column, Column): 2f XexeyeakPkQk-k{kJkBlbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktkwltj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukxlEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkylPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwkzl5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxkAl.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
712 return sa_column 2BlwlxlylzlAl
713 sa_type = get_sqlalchemy_type(field) 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
714 primary_key = getattr(field_info, "primary_key", Undefined) 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
715 if primary_key is Undefined: 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
716 primary_key = False 2f XexeyePkQk-k{kJkbk{cckdkek~j,k|cfk'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdzkAkRk.ktktj/cujvjwjnjKk[cxjOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdBkCkSk:kukEj:cFjGjHjojLk]cIj;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdDkEkUk=kvkPj;cQjRjSjpjMk^cTjxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHdFkGkXk@kwk5j=c6j7j8jqjNk_c9jghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLdHkIk0k]kxk.j?c/j:j;jrjOk`c=j?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
717 index = getattr(field_info, "index", Undefined) 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
718 if index is Undefined: 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
719 index = False 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
720 nullable = not primary_key and is_field_noneable(field) 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
721 # Override derived nullability if the nullable property is set explicitly
722 # on the field
723 field_nullable = getattr(field_info, "nullable", Undefined) # noqa: B009 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
724 if field_nullable is not Undefined: 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
725 assert not isinstance(field_nullable, UndefinedType) 2~j,k|knjKk/kojLk;kpjMk?kqjNk[krjOk^k
726 nullable = field_nullable 2~j,k|knjKk/kojLk;kpjMk?kqjNk[krjOk^k
727 args = [] 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
728 foreign_key = getattr(field_info, "foreign_key", Undefined) 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
729 if foreign_key is Undefined: 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
730 foreign_key = None 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
731 unique = getattr(field_info, "unique", Undefined) 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
732 if unique is Undefined: 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
733 unique = False 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
734 if foreign_key: 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
735 if field_info.ondelete == "SET NULL" and not nullable: 2{c|c2c3cykYeZe0e1e2e3e4e5eMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c/c[cPbQblkNdOdPdQdRdSdTdUds t u g ( Kc) !cRbSb* Tb+ 2 , UbVb:c]cWbXbYbZbmkWdXdYdZd0d1d2d3dv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b;c^c!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.dB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b=c_c_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebeceK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc?c`cpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteueT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
736 raise RuntimeError('ondelete="SET NULL" requires nullable=True') 2|c[c]c^c_c`c
737 assert isinstance(foreign_key, str) 2{c2c3cykYeZe0e1e2e3e4e5eMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c/cPbQblkNdOdPdQdRdSdTdUds t u g ( Kc) !cRbSb* Tb+ 2 , UbVb:cWbXbYbZbmkWdXdYdZd0d1d2d3dv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b;c!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.dB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b=c_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebeceK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc?cpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteueT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
738 ondelete = getattr(field_info, "ondelete", Undefined) 2{c2c3cykYeZe0e1e2e3e4e5eMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c/cPbQblkNdOdPdQdRdSdTdUds t u g ( Kc) !cRbSb* Tb+ 2 , UbVb:cWbXbYbZbmkWdXdYdZd0d1d2d3dv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b;c!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.dB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b=c_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebeceK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc?cpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteueT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
739 if ondelete is Undefined: 2{c2c3cykYeZe0e1e2e3e4e5eMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c/cPbQblkNdOdPdQdRdSdTdUds t u g ( Kc) !cRbSb* Tb+ 2 , UbVb:cWbXbYbZbmkWdXdYdZd0d1d2d3dv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b;c!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.dB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b=c_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebeceK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc?cpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteueT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
740 ondelete = None 2{c2c3cykYeZe0e1e2e3e4e5eMbNbOb' Wc9cXc@c4c5c7c8c/cPbQblkNdOdPdQdRdSdTdUds t u g ( Kc) !cRbSbUbVb:cWbXbYbZbmkWdXdYdZd0d1d2d3dv w x y z A h i - . LcMc/ : #c$c0b1b2b3b6b7b8b9b;c!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.dB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b=b?b@b[b]b^b=c_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebeceK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcjckclcmcncoc?cpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteueT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcEcFcGcHcIcJc
741 assert isinstance(ondelete, (str, type(None))) # for typing 2{c2c3cykYeZe0e1e2e3e4e5eMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c/cPbQblkNdOdPdQdRdSdTdUds t u g ( Kc) !cRbSb* Tb+ 2 , UbVb:cWbXbYbZbmkWdXdYdZd0d1d2d3dv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b;c!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.dB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b=c_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebeceK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc?cpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteueT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
742 args.append(ForeignKey(foreign_key, ondelete=ondelete)) 2{c2c3cykYeZe0e1e2e3e4e5eMbNbOb' Wc9cXc@c4c5cYc6cZc0c1c7c8c/cPbQblkNdOdPdQdRdSdTdUds t u g ( Kc) !cRbSb* Tb+ 2 , UbVb:cWbXbYbZbmkWdXdYdZd0d1d2d3dv w x y z A h i - . LcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9b;c!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.dB C D E F G H I J j k l ^ _ ` NcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b=c_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebeceK L M N O P Q R S m n o ibjbkbQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncoc?cpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteueT U V W X Y Z 0 1 p q r xbybzbTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJc
743 kwargs = { 2a MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
744 "primary_key": primary_key,
745 "nullable": nullable,
746 "index": index,
747 "unique": unique,
748 }
749 sa_default = Undefined 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
750 if field_info.default_factory: 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
751 sa_default = field_info.default_factory 2xeyeakwdxdsjydzdDjAdBdCdDdOjEdFdGdHd4jIdJdKdLd-j
752 elif field_info.default is not Undefined: 2f XexeyePkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHdFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLdHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
753 sa_default = field_info.default 2f Xexeye-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHdXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
754 if sa_default is not Undefined: 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
755 kwargs["default"] = sa_default 2f Xexeyeak-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-j0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
756 sa_column_args = getattr(field_info, "sa_column_args", Undefined) 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
757 if sa_column_args is not Undefined: 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
758 args.extend(list(cast(Sequence[Any], sa_column_args))) 2-kRkSkUkXk0k
759 sa_column_kwargs = getattr(field_info, "sa_column_kwargs", Undefined) 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
760 if sa_column_kwargs is not Undefined: 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
761 kwargs.update(cast(Dict[Any, Any], sa_column_kwargs)) 2{k.k:k=k@k]k
762 return Column(sa_type, *args, **kwargs) # type: ignore 2f XexeyeakPkQk-k{kJkbk{cckdkeknl~j,k|k|cfkolplvl'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja MdwdxdsjzkAkRk.ktktj/cujvjwj}knjKk/k[cxj~kalqlOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb VdydzdDjBkCkSk:kukEj:cFjGjHjblojLk;k]cIjcldlrl;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc 4d5dAdBdCdDdOjDkEkUk=kvkPj;cQjRjSjelpjMk?k^cTjflglslxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd /d:dEdFdGdHd4jFkGkXk@kwk5j=c6j7j8jhlqjNk[k_c9jiljltlghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he deeeIdJdKdLd-jHkIk0k]kxk.j?c/j:j;jklrjOk^k`c=jllmlul?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
765class_registry = weakref.WeakValueDictionary() # type: ignore 1fabcde
767default_registry = registry() 1fabcde
769_TSQLModel = TypeVar("_TSQLModel", bound="SQLModel") 1fabcde
772class SQLModel(BaseModel, metaclass=SQLModelMetaclass, registry=default_registry): 1fabcde
773 # SQLAlchemy needs to set weakref(s), Pydantic will set the other slots values
774 __slots__ = ("__weakref__",) 1fabcde
775 __tablename__: ClassVar[Union[str, Callable[..., str]]] 1fabcde
776 __sqlmodel_relationships__: ClassVar[Dict[str, RelationshipProperty[Any]]] 1fabcde
777 __name__: ClassVar[str] 1fabcde
778 metadata: ClassVar[MetaData] 1fabcde
779 __allow_unmapped__ = True # https://docs.sqlalchemy.org/en/20/changelog/migration_20.html#migration-20-step-six 1fabcde
781 if IS_PYDANTIC_V2: 1fabcde
782 model_config = SQLModelConfig(from_attributes=True) 1fabcde
783 else:
785 class Config: 1fabcde
786 orm_mode = True 1fabcde
788 def __new__(cls, *args: Any, **kwargs: Any) -> Any: 1fabcde
789 new_object = super().__new__(cls) 2'oKm(o)oOoLmMmDmNmOmPmQmRmSmXexeyeakPo2o3o1lbk2l{cckdkek~j3l4l5lfk'i(i2c3cYeZe0e1e2e3e4e5e)i*iTmUmVmWmXmYmLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#l*oZm+o,oQo0m1mlm2m3m4m5m6m7mMdwdxdsjJo4o5oHltjIl/cujvjwjnjJlKlClxjOfPfPbQbNdOdPdQdRdSdTdUdQfRf8m9m!m#m$m%mze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) RbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6l-o'm.o/oRo(m)mmm*m+m,m-m.m/m:o:m;o=oSo;m=mnm?m@m[m]m^m_mVdydzdDjKo6o7oLlEjMl:cFjGjHjojNlOlDlIj;f=fWbXbYbZbWdXdYdZd0d1d2d3d?f@f`m{m|m}m~manBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : 0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7l?obn@o[oTocndnomenfngnhninjn]okn^o_oUolnmnpmnnonpnqnrnsn`otn{o|oVounvnqmwnxnynznAnBn4d5dAdBdCdDdOjLo8o9oPlPjQl;cQjRjSjpjRlSlElTjxgygzgAg!b#b$b%b'b(b6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.dBgCgDgEgCnDnEnFnGnHnFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } )b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8l}oIn~oapWoJnKnrmLnMnNnOnPnQnbpRncpdpXoSnTnsmUnVnWnXnYnZnep0nfpgpYo1n2ntm3n4n5n6n7n8n/d:dEdFdGdHd4jMo!o#oTl5jUl=c6j7j8jqjVlWlFl9jghhhihjh_b`b{b|b}b~b;d=d?d@d[d]d^d_d`d{d|d}d~daebecekhlhmhnh9n!n#n$n%n'nLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnbacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9lhp(nipjpZo)n*num+n,n-n.n/n:nkp;nlpmp0o=n?nvm@n[n]n^n_n`nnp{noppp1o|n}nwm~naobocodoeodeeeIdJdKdLd-jNo$o%oXl.jYl?c/j:j;jrjZl0lGl=j?h@h[h]hpcqcrcsctcucfegeheiejekelemeneoepeqereseteue^h_h`h{hfogohoiojokoReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCbvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
790 # SQLAlchemy doesn't call __init__ on the base class when querying from DB
791 # Ref: https://docs.sqlalchemy.org/en/14/orm/constructors.html
792 # Set __fields_set__ here, that would have been set when calling __init__
793 # in the Pydantic model so that when SQLAlchemy sets attributes that are
794 # added (e.g. when querying from DB) to the __fields_set__, this already exists
795 init_pydantic_private_attrs(new_object) 2'oKm(o)oOoLmMmDmNmOmPmQmRmSmXexeyeakPo2o3o1lbk2l{cckdkek~j3l4l5lfk'i(i2c3cYeZe0e1e2e3e4e5e)i*iTmUmVmWmXmYmLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#l*oZm+o,oQo0m1mlm2m3m4m5m6m7mMdwdxdsjJo4o5oHltjIl/cujvjwjnjJlKlClxjOfPfPbQbNdOdPdQdRdSdTdUdQfRf8m9m!m#m$m%mze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) RbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6l-o'm.o/oRo(m)mmm*m+m,m-m.m/m:o:m;o=oSo;m=mnm?m@m[m]m^m_mVdydzdDjKo6o7oLlEjMl:cFjGjHjojNlOlDlIj;f=fWbXbYbZbWdXdYdZd0d1d2d3d?f@f`m{m|m}m~manBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : 0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7l?obn@o[oTocndnomenfngnhninjn]okn^o_oUolnmnpmnnonpnqnrnsn`otn{o|oVounvnqmwnxnynznAnBn4d5dAdBdCdDdOjLo8o9oPlPjQl;cQjRjSjpjRlSlElTjxgygzgAg!b#b$b%b'b(b6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.dBgCgDgEgCnDnEnFnGnHnFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } )b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8l}oIn~oapWoJnKnrmLnMnNnOnPnQnbpRncpdpXoSnTnsmUnVnWnXnYnZnep0nfpgpYo1n2ntm3n4n5n6n7n8n/d:dEdFdGdHd4jMo!o#oTl5jUl=c6j7j8jqjVlWlFl9jghhhihjh_b`b{b|b}b~b;d=d?d@d[d]d^d_d`d{d|d}d~daebecekhlhmhnh9n!n#n$n%n'nLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnbacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9lhp(nipjpZo)n*num+n,n-n.n/n:nkp;nlpmp0o=n?nvm@n[n]n^n_n`nnp{noppp1o|n}nwm~naobocodoeodeeeIdJdKdLd-jNo$o%oXl.jYl?c/j:j;jrjZl0lGl=j?h@h[h]hpcqcrcsctcucfegeheiejekelemeneoepeqereseteue^h_h`h{hfogohoiojokoReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCbvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
796 return new_object 2'oKm(o)oOoLmMmDmNmOmPmQmRmSmXexeyeakPo2o3o1lbk2l{cckdkek~j3l4l5lfk'i(i2c3cYeZe0e1e2e3e4e5e)i*iTmUmVmWmXmYmLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l#l*oZm+o,oQo0m1mlm2m3m4m5m6m7mMdwdxdsjJo4o5oHltjIl/cujvjwjnjJlKlClxjOfPfPbQbNdOdPdQdRdSdTdUdQfRf8m9m!m#m$m%mze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) RbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l6l-o'm.o/oRo(m)mmm*m+m,m-m.m/m:o:m;o=oSo;m=mnm?m@m[m]m^m_mVdydzdDjKo6o7oLlEjMl:cFjGjHjojNlOlDlIj;f=fWbXbYbZbWdXdYdZd0d1d2d3d?f@f`m{m|m}m~manBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : 0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l7l?obn@o[oTocndnomenfngnhninjn]okn^o_oUolnmnpmnnonpnqnrnsn`otn{o|oVounvnqmwnxnynznAnBn4d5dAdBdCdDdOjLo8o9oPlPjQl;cQjRjSjpjRlSlElTjxgygzgAg!b#b$b%b'b(b6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.dBgCgDgEgCnDnEnFnGnHnFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } )b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l8l}oIn~oapWoJnKnrmLnMnNnOnPnQnbpRncpdpXoSnTnsmUnVnWnXnYnZnep0nfpgpYo1n2ntm3n4n5n6n7n8n/d:dEdFdGdHd4jMo!o#oTl5jUl=c6j7j8jqjVlWlFl9jghhhihjh_b`b{b|b}b~b;d=d?d@d[d]d^d_d`d{d|d}d~daebecekhlhmhnh9n!n#n$n%n'nLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnbacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(l9lhp(nipjpZo)n*num+n,n-n.n/n:nkp;nlpmp0o=n?nvm@n[n]n^n_n`nnp{noppp1o|n}nwm~naobocodoeodeeeIdJdKdLd-jNo$o%oXl.jYl?c/j:j;jrjZl0lGl=j?h@h[h]hpcqcrcsctcucfegeheiejekelemeneoepeqereseteue^h_h`h{hfogohoiojokoReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCbvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l!l
798 def __init__(__pydantic_self__, **data: Any) -> None: 1fabcde
799 # Uses something other than `self` the first arg to allow "self" as a
800 # settable attribute
802 # SQLAlchemy does very dark black magic and modifies the __init__ method in
803 # sqlalchemy.orm.instrumentation._generate_init()
804 # so, to make SQLAlchemy work, it's needed to explicitly call __init__ to
805 # trigger all the SQLAlchemy logic, it doesn't work using cls.__new__, setting
806 # attributes obj.__dict__, etc. The __init__ method has to be called. But
807 # there are cases where calling all the default logic is not ideal, e.g.
808 # when calling Model.model_validate(), as the validation is done outside
809 # of instance creation.
810 # At the same time, __init__ is what users would normally call, by creating
811 # a new instance, which should have validation and all the default logic.
812 # So, to be able to set up the internal SQLAlchemy logic alone without
813 # executing the rest, and support things like Model.model_validate(), we
814 # use a contextvar to know if we should execute everything.
815 if finish_init.get(): 2'oKm(o)oOoLmMmDmNmOmPmQmRmSmXexeyeakPo2o1lbk2l{cckdkek~j3l4l5lfk'i(i2c3cYeZe0e1e2e3e4e5e)i*iTmUmVmWmXmYmLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l*oZm+o,oQo0m1mlm2m3m4m5m6m7mMdwdxdsjJo4oHltjIl/cujvjwjnjJlKlClxjOfPfPbQbNdOdPdQdRdSdTdUdQfRf8m9m!m#m$m%mze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) RbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l-o'm.o/oRo(m)mmm*m+m,m-m.m/m:o:m;o=oSo;m=mnm?m@m[m]m^m_mVdydzdDjKo6oLlEjMl:cFjGjHjojNlOlDlIj;f=fWbXbYbZbWdXdYdZd0d1d2d3d?f@f`m{m|m}m~manBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : 0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l?obn@o[oTocndnomenfngnhninjn]okn^o_oUolnmnpmnnonpnqnrnsn`otn{o|oVounvnqmwnxnynznAnBn4d5dAdBdCdDdOjLo8oPlPjQl;cQjRjSjpjRlSlElTjxgygzgAg!b#b$b%b'b(b6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.dBgCgDgEgCnDnEnFnGnHnFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } )b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l}oIn~oapWoJnKnrmLnMnNnOnPnQnbpRncpdpXoSnTnsmUnVnWnXnYnZnep0nfpgpYo1n2ntm3n4n5n6n7n8n/d:dEdFdGdHd4jMo!oTl5jUl=c6j7j8jqjVlWlFl9jghhhihjh_b`b{b|b}b~b;d=d?d@d[d]d^d_d`d{d|d}d~daebecekhlhmhnh9n!n#n$n%n'nLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnbacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(lhp(nipjpZo)n*num+n,n-n.n/n:nkp;nlpmp0o=n?nvm@n[n]n^n_n`nnp{noppp1o|n}nwm~naobocodoeodeeeIdJdKdLd-jNo$oXl.jYl?c/j:j;jrjZl0lGl=j?h@h[h]hpcqcrcsctcucfegeheiejekelemeneoepeqereseteue^h_h`h{hfogohoiojokoReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCbvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l
816 sqlmodel_init(self=__pydantic_self__, data=data) 2'oKm(o)oOoLmMmDmNmOmPmQmRmSmXexeyeakPo2o1lbk2l{cckdkek~j3l4l5lfk'i(i2c3cYeZe0e1e2e3e4e5e)i*iTmUmVmWmXmYmLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj*l*oZm+o,oQo0m1mlm2m3m4m5m6m7mMdwdxdsjJo4oHltjIl/cujvjwjnjJlKlClxjOfPfPbQbNdOdPdQdRdSdTdUdQfRf8m9m!m#m$m%mze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) RbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f$l-o'm.o/oRo(m)mmm*m+m,m-m.m/m:o:m;o=oSo;m=mnm?m@m[m]m^m_mVdydzdDjKo6oLlEjMl:cFjGjHjojNlOlDlIj;f=fWbXbYbZbWdXdYdZd0d1d2d3d?f@f`m{m|m}m~manBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : 0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg%l?obn@o[oTocndnomenfngnhninjn]okn^o_oUolnmnpmnnonpnqnrnsn`otn{o|oVounvnqmwnxnynznAnBn4d5dAdBdCdDdOjLo8oPlPjQl;cQjRjSjpjRlSlElTjxgygzgAg!b#b$b%b'b(b6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.dBgCgDgEgCnDnEnFnGnHnFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } )b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh'l}oIn~oapWoJnKnrmLnMnNnOnPnQnbpRncpdpXoSnTnsmUnVnWnXnYnZnep0nfpgpYo1n2ntm3n4n5n6n7n8n/d:dEdFdGdHd4jMo!oTl5jUl=c6j7j8jqjVlWlFl9jghhhihjh_b`b{b|b}b~b;d=d?d@d[d]d^d_d`d{d|d}d~daebecekhlhmhnh9n!n#n$n%n'nLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnbacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(lhp(nipjpZo)n*num+n,n-n.n/n:nkp;nlpmp0o=n?nvm@n[n]n^n_n`nnp{noppp1o|n}nwm~naobocodoeodeeeIdJdKdLd-jNo$oXl.jYl?c/j:j;jrjZl0lGl=j?h@h[h]hpcqcrcsctcucfegeheiejekelemeneoepeqereseteue^h_h`h{hfogohoiojokoReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCbvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i)l
818 def __setattr__(self, name: str, value: Any) -> None: 1fabcde
819 if name in {"_sa_instance_state"}: 2KmOoLmMmDmNmOmPmQmRmSmXexeyeak2o3obk{cckdkek~jfk'i(i2c3cYeZe0e1e2e3e4e5e)i*iTmUmVmWmXmYmLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj#lZmQo0m1mlm2m3m4m5m6m7mMdwdxdsj4o5otj/cujvjwjnjxjOfPfPbQbNdOdPdQdRdSdTdUdQfRf8m9m!m#m$m%mze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) RbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f6l'mRo(m)mmm*m+m,m-m.m/m:mSo;m=mnm?m@m[m]m^m_mVdydzdDj6o7oEj:cFjGjHjojIj;f=fWbXbYbZbWdXdYdZd0d1d2d3d?f@f`m{m|m}m~manBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : 0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg7lbnTocndnomenfngnhninjnknUolnmnpmnnonpnqnrnsntnVounvnqmwnxnynznAnBn4d5dAdBdCdDdOj8o9oPj;cQjRjSjpjTjxgygzgAg!b#b$b%b'b(b6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.dBgCgDgEgCnDnEnFnGnHnFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } )b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh8lInWoJnKnrmLnMnNnOnPnQnRnXoSnTnsmUnVnWnXnYnZn0nYo1n2ntm3n4n5n6n7n8n/d:dEdFdGdHd4j!o#o5j=c6j7j8jqj9jghhhihjh_b`b{b|b}b~b;d=d?d@d[d]d^d_d`d{d|d}d~daebecekhlhmhnh9n!n#n$n%n'nLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnbacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h9l(nZo)n*num+n,n-n.n/n:n;n0o=n?nvm@n[n]n^n_n`n{n1o|n}nwm~naobocodoeodeeeIdJdKdLd-j$o%o.j?c/j:j;jrj=j?h@h[h]hpcqcrcsctcucfegeheiejekelemeneoepeqereseteue^h_h`h{hfogohoiojokoReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCbvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i!l
820 self.__dict__[name] = value 2KmOoLmMmDmNmOmPmQmRmSmXexeyeakbk{cckdkek~jfk'i(i2c3cYeZe0e1e2e3e4e5e)i*iTmUmVmWmXmYmLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjZmQo0m1mlm2m3m4m5m6m7mMdwdxdsjtj/cujvjwjnjxjOfPfPbQbNdOdPdQdRdSdTdUdQfRf8m9m!m#m$m%mze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) RbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f'mRo(m)mmm*m+m,m-m.m/m:mSo;m=mnm?m@m[m]m^m_mVdydzdDjEj:cFjGjHjojIj;f=fWbXbYbZbWdXdYdZd0d1d2d3d?f@f`m{m|m}m~manBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : 0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgbnTocndnomenfngnhninjnknUolnmnpmnnonpnqnrnsntnVounvnqmwnxnynznAnBn4d5dAdBdCdDdOjPj;cQjRjSjpjTjxgygzgAg!b#b$b%b'b(b6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.dBgCgDgEgCnDnEnFnGnHnFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } )b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhInWoJnKnrmLnMnNnOnPnQnRnXoSnTnsmUnVnWnXnYnZn0nYo1n2ntm3n4n5n6n7n8n/d:dEdFdGdHd4j5j=c6j7j8jqj9jghhhihjh_b`b{b|b}b~b;d=d?d@d[d]d^d_d`d{d|d}d~daebecekhlhmhnh9n!n#n$n%n'nLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnbacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(nZo)n*num+n,n-n.n/n:n;n0o=n?nvm@n[n]n^n_n`n{n1o|n}nwm~naobocodoeodeeeIdJdKdLd-j.j?c/j:j;jrj=j?h@h[h]hpcqcrcsctcucfegeheiejekelemeneoepeqereseteue^h_h`h{hfogohoiojokoReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCbvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
821 return 2KmOoLmMmDmNmOmPmQmRmSmXexeyeakbk{cckdkek~jfk'i(i2c3cYeZe0e1e2e3e4e5e)i*iTmUmVmWmXmYmLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjZmQo0m1mlm2m3m4m5m6m7mMdwdxdsjtj/cujvjwjnjxjOfPfPbQbNdOdPdQdRdSdTdUdQfRf8m9m!m#m$m%mze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) RbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f'mRo(m)mmm*m+m,m-m.m/m:mSo;m=mnm?m@m[m]m^m_mVdydzdDjEj:cFjGjHjojIj;f=fWbXbYbZbWdXdYdZd0d1d2d3d?f@f`m{m|m}m~manBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : 0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgbnTocndnomenfngnhninjnknUolnmnpmnnonpnqnrnsntnVounvnqmwnxnynznAnBn4d5dAdBdCdDdOjPj;cQjRjSjpjTjxgygzgAg!b#b$b%b'b(b6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.dBgCgDgEgCnDnEnFnGnHnFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } )b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhInWoJnKnrmLnMnNnOnPnQnRnXoSnTnsmUnVnWnXnYnZn0nYo1n2ntm3n4n5n6n7n8n/d:dEdFdGdHd4j5j=c6j7j8jqj9jghhhihjh_b`b{b|b}b~b;d=d?d@d[d]d^d_d`d{d|d}d~daebecekhlhmhnh9n!n#n$n%n'nLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnbacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(nZo)n*num+n,n-n.n/n:n;n0o=n?nvm@n[n]n^n_n`n{n1o|n}nwm~naobocodoeodeeeIdJdKdLd-j.j?c/j:j;jrj=j?h@h[h]hpcqcrcsctcucfegeheiejekelemeneoepeqereseteue^h_h`h{hfogohoiojokoReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCbvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
822 else:
823 # Set in SQLAlchemy, before Pydantic to trigger events and updates
824 if is_table_model_class(self.__class__) and is_instrumented(self, name): # type: ignore[no-untyped-call] 2KmOoLmMmDmNmOmPmQmRmSmXexeyeak2o3obk{cckdkek~jfk'i(i2c3cYeZe0e1e2e3e4e5e)i*iTmUmVmWmXmYmLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj#lZmQo0m1mlm2m3m4m5m6m7mMdwdxdsj4o5otj/cujvjwjnjxjOfPfPbQbNdOdPdQdRdSdTdUdQfRf8m9m!m#m$m%mze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) RbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f6l'mRo(m)mmm*m+m,m-m.m/m:mSo;m=mnm?m@m[m]m^m_mVdydzdDj6o7oEj:cFjGjHjojIj;f=fWbXbYbZbWdXdYdZd0d1d2d3d?f@f`m{m|m}m~manBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : 0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg7lbnTocndnomenfngnhninjnknUolnmnpmnnonpnqnrnsntnVounvnqmwnxnynznAnBn4d5dAdBdCdDdOj8o9oPj;cQjRjSjpjTjxgygzgAg!b#b$b%b'b(b6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.dBgCgDgEgCnDnEnFnGnHnFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } )b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh8lInWoJnKnrmLnMnNnOnPnQnRnXoSnTnsmUnVnWnXnYnZn0nYo1n2ntm3n4n5n6n7n8n/d:dEdFdGdHd4j!o#o5j=c6j7j8jqj9jghhhihjh_b`b{b|b}b~b;d=d?d@d[d]d^d_d`d{d|d}d~daebecekhlhmhnh9n!n#n$n%n'nLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnbacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h9l(nZo)n*num+n,n-n.n/n:n;n0o=n?nvm@n[n]n^n_n`n{n1o|n}nwm~naobocodoeodeeeIdJdKdLd-j$o%o.j?c/j:j;jrj=j?h@h[h]hpcqcrcsctcucfegeheiejekelemeneoepeqereseteue^h_h`h{hfogohoiojokoReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCbvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i!l
825 set_attribute(self, name, value) 2KmOoLmMmDmNmOmPmQmRmSmXexeyeakbk{cckdkek~jfk'i(i2c3cYeZe0e1e2e3e4e5e)i*iTmUmVmWmXmYmLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjZmQo0m1mlm2m3m4m5m6m7mMdwdxdsjtj/cujvjwjnjxjOfPfPbQbNdOdPdQdRdSdTdUdQfRf8m9m!m#m$m%mze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) RbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f'mRo(m)mmm*m+m,m-m.m/m:mSo;m=mnm?m@m[m]m^m_mVdydzdDjEj:cFjGjHjojIj;f=fWbXbYbZbWdXdYdZd0d1d2d3d?f@f`m{m|m}m~manBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : 0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgbnTocndnomenfngnhninjnknUolnmnpmnnonpnqnrnsntnVounvnqmwnxnynznAnBn4d5dAdBdCdDdOjPj;cQjRjSjpjTjxgygzgAg!b#b$b%b'b(b6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.dBgCgDgEgCnDnEnFnGnHnFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } )b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhInWoJnKnrmLnMnNnOnPnQnRnXoSnTnsmUnVnWnXnYnZn0nYo1n2ntm3n4n5n6n7n8n/d:dEdFdGdHd4j5j=c6j7j8jqj9jghhhihjh_b`b{b|b}b~b;d=d?d@d[d]d^d_d`d{d|d}d~daebecekhlhmhnh9n!n#n$n%n'nLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnbacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(nZo)n*num+n,n-n.n/n:n;n0o=n?nvm@n[n]n^n_n`n{n1o|n}nwm~naobocodoeodeeeIdJdKdLd-j.j?c/j:j;jrj=j?h@h[h]hpcqcrcsctcucfegeheiejekelemeneoepeqereseteue^h_h`h{hfogohoiojokoReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCbvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
826 # Set in Pydantic model to trigger possible validation changes, only for
827 # non relationship values
828 if name not in self.__sqlmodel_relationships__: 2KmOoLmMmDmNmOmPmQmRmSmXexeyeak2o3obk{cckdkek~jfk'i(i2c3cYeZe0e1e2e3e4e5e)i*iTmUmVmWmXmYmLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj#lZmQo0m1mlm2m3m4m5m6m7mMdwdxdsj4o5otj/cujvjwjnjxjOfPfPbQbNdOdPdQdRdSdTdUdQfRf8m9m!m#m$m%mze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) RbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f6l'mRo(m)mmm*m+m,m-m.m/m:mSo;m=mnm?m@m[m]m^m_mVdydzdDj6o7oEj:cFjGjHjojIj;f=fWbXbYbZbWdXdYdZd0d1d2d3d?f@f`m{m|m}m~manBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : 0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg7lbnTocndnomenfngnhninjnknUolnmnpmnnonpnqnrnsntnVounvnqmwnxnynznAnBn4d5dAdBdCdDdOj8o9oPj;cQjRjSjpjTjxgygzgAg!b#b$b%b'b(b6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.dBgCgDgEgCnDnEnFnGnHnFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } )b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh8lInWoJnKnrmLnMnNnOnPnQnRnXoSnTnsmUnVnWnXnYnZn0nYo1n2ntm3n4n5n6n7n8n/d:dEdFdGdHd4j!o#o5j=c6j7j8jqj9jghhhihjh_b`b{b|b}b~b;d=d?d@d[d]d^d_d`d{d|d}d~daebecekhlhmhnh9n!n#n$n%n'nLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnbacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h9l(nZo)n*num+n,n-n.n/n:n;n0o=n?nvm@n[n]n^n_n`n{n1o|n}nwm~naobocodoeodeeeIdJdKdLd-j$o%o.j?c/j:j;jrj=j?h@h[h]hpcqcrcsctcucfegeheiejekelemeneoepeqereseteue^h_h`h{hfogohoiojokoReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCbvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i!l
829 super().__setattr__(name, value) 2KmOoLmMmDmNmOmPmQmRmSmXexeyeak2o3obk{cckdkek~jfk'i(i2c3cYeZe0e1e2e3e4e5e)i*iTmUmVmWmXmYmLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmj#lZmQo0m1mlm2m3m4m5m6m7mMdwdxdsj4o5otj/cujvjwjnjxjOfPfPbQbNdOdPdQdRdSdTdUdQfRf8m9m!m#m$m%mze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) RbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f6l'mRo(m)mmm*m+m,m-m.m/m:mSo;m=mnm?m@m[m]m^m_mVdydzdDj6o7oEj:cFjGjHjojIj;f=fWbXbYbZbWdXdYdZd0d1d2d3d?f@f`m{m|m}m~manBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : 0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwg7lbnTocndnomenfngnhninjnknUolnmnpmnnonpnqnrnsntnVounvnqmwnxnynznAnBn4d5dAdBdCdDdOj8o9oPj;cQjRjSjpjTjxgygzgAg!b#b$b%b'b(b6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.dBgCgDgEgCnDnEnFnGnHnFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } )b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfh8lInWoJnKnrmLnMnNnOnPnQnRnXoSnTnsmUnVnWnXnYnZn0nYo1n2ntm3n4n5n6n7n8n/d:dEdFdGdHd4j!o#o5j=c6j7j8jqj9jghhhihjh_b`b{b|b}b~b;d=d?d@d[d]d^d_d`d{d|d}d~daebecekhlhmhnh9n!n#n$n%n'nLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnbacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h9l(nZo)n*num+n,n-n.n/n:n;n0o=n?nvm@n[n]n^n_n`n{n1o|n}nwm~naobocodoeodeeeIdJdKdLd-j$o%o.j?c/j:j;jrj=j?h@h[h]hpcqcrcsctcucfegeheiejekelemeneoepeqereseteue^h_h`h{hfogohoiojokoReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCbvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i!l
831 def __repr_args__(self) -> Sequence[Tuple[Optional[str], Any]]: 1fabcde
832 # Don't show SQLAlchemy private attributes
833 return [ 2Cl2 Dl3 4 El5 6 7 Fl8 9 ! Gl# $ %
834 (k, v)
835 for k, v in super().__repr_args__()
836 if not (isinstance(k, str) and k.startswith("_sa_"))
837 ]
839 @declared_attr # type: ignore 1fabcde
840 def __tablename__(cls) -> str: 1fabcde
841 return cls.__name__.lower() 2f qpXexeyeakPkQk-k{kJkBlbk{cckdkek~j,k|k|cfk'i(i2c3cykYeZe0e1e2e3e4e5e_k`k)i*iLf9i!i#i$iMbMfNf%iNbvewe+i,igkhkik-i.i/i:iOb' Wc;ijk=i?i@i[i]i^ikk9cXc@c4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmja rpMdwdxdsjzkAkRk.ktkwltj/cujvjwjnjKk/k[cxjOfPfPbQblkNdOdPdQdRdSdTdUd3k4kQfRfze+e,e-e.es 6eAeDft }c~cSfTfyjzjAjUfVfWfXfu g ( YfBjZf0f1f2f3f4fCjKc) !cRbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fb sptpVdydzdDjBkCkSk:kukxlEj:cFjGjHjojLk;k]cIj;f=fWbXbYbZbmkWdXdYdZd0d1d2d3d5k6k?f@fTkBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]fJjKjLj^f_f`f{fz A h i - . |fMj}f~fagbgcgdgNjLcMc/ : #c$c0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgc upvpwp4d5dAdBdCdDdOjDkEkUk=kvkylPj;cQjRjSjpjMk?k^cTjxgygzgAg!b#b$b%b'b(bnkok6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d7k8k9k!kBgCgDgEgVkWkFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgUjVjWjXjYjZjJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSg0j1jTgUgVgWgXgYgZg0g1g2g3g4g2j3jNcOcPc{ | } %c'c(c)b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhd xpypzp/d:dEdFdGdHd4jFkGkXk@kwkzl5j=c6j7j8jqjNk[k_c9jghhhihjh_b`b{b|b}b~bpkqk;d=d?d@d[d]d^d_d`d{d|d}d~daebece#k$k%k'kkhlhmhnhYkZkLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrh!j#j$j%j'j(jshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBh)j*jChDhEhFhGhHhIhJhKhLhMhNh+j,jQcRcSclbmbnb)c*c+cacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=he ApBpCpdeeeIdJdKdLd-jHkIk0k]kxkAl.j?c/j:j;jrjOk^k`c=j?h@h[h]hpcqcrcsctcucrkskfegeheiejekelemeneoepeqereseteue(k)k*k+k^h_h`h{h1k2kReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~hai?j@j[j]j^j_jbicidieifigihiiiZ 0 1 p q r xbybzbjiki`j{jliminioipiqirisitiuiviwi|j}jTcUcVcAbBbCb,c-c.cvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
843 @classmethod 1fabcde
844 def model_validate( 1abcde
845 cls: Type[_TSQLModel],
846 obj: Any,
847 *,
848 strict: Union[bool, None] = None,
849 from_attributes: Union[bool, None] = None,
850 context: Union[Dict[str, Any], None] = None,
851 update: Union[Dict[str, Any], None] = None,
852 ) -> _TSQLModel:
853 return sqlmodel_validate( 2KmLmMmDmNmOmPmQmRmSm2o3oTmUmVmWmXmYmLf9i!i#i$iMbMfNfNbvewe#lZm0m1mlm2m3m4m5m6m7m4o5o8m9m!m#m$m%mze+e,e-e.es 6eAet }c~c6l'm(m)mmm*m+m,m-m.m/m:m;m=mnm?m@m[m]m^m_m6o7o`m{m|m}m~manBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEex y adbdcddd7lbncndnomenfngnhninjnknlnmnpmnnonpnqnrnsntnunvnqmwnxnynznAnBn8o9oCnDnEnFnGnHnFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeE F G edfdgdhdidjd8lInJnKnrmLnMnNnOnPnQnRnSnTnsmUnVnWnXnYnZn0n1n2ntm3n4n5n6n7n8n!o#o9n!n#n$n%n'nLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeN O P kdldmdndodpd9l(n)n*num+n,n-n.n/n:n;n=n?nvm@n[n]n^n_n`n{n|n}nwm~naobocodoeo$o%ofogohoiojokoReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeW X Y qdrdsdtdudvd!l
854 cls=cls,
855 obj=obj,
856 strict=strict,
857 from_attributes=from_attributes,
858 context=context,
859 update=update,
860 )
862 def model_dump( 1abcde
863 self,
864 *,
865 mode: Union[Literal["json", "python"], str] = "python",
866 include: Union[IncEx, None] = None,
867 exclude: Union[IncEx, None] = None,
868 context: Union[Dict[str, Any], None] = None,
869 by_alias: bool = False,
870 exclude_unset: bool = False,
871 exclude_defaults: bool = False,
872 exclude_none: bool = False,
873 round_trip: bool = False,
874 warnings: Union[bool, Literal["none", "warn", "error"]] = True,
875 serialize_as_any: bool = False,
876 ) -> Dict[str, Any]:
877 if PYDANTIC_VERSION >= "2.7.0": 2KmLmMmDmNmOmPmQmRmSmXexeyePo'i(i2c3cYeZe0e1e2e3e4e5e)i*iTmUmVmWmXmYmLf9i!i#i$iMbMfNf%iNbvewe+i,i-i.i/i:iOb' Wc;i=i?i@i[i]i^i9cXc4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjZm0m1mlm2m3m4m5m6m7mMdwdxdJoOfPfPbQbNdOdPdQdRdSdTdUdQfRf8m9m!m#m$m%mze+e,e-e.es 6eAeDft }c~cSfTfUfVfWfXfu g ( YfZf0f1f2f3f4fKc) RbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f'm(m)mmm*m+m,m-m.m/m:m;m=mnm?m@m[m]m^m_mVdydzdKo;f=fWbXbYbZbWdXdYdZd0d1d2d3d?f@f`m{m|m}m~manBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]f^f_f`f{fz A h i - . |f}f~fagbgcgdgLcMc/ : 0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgbncndnomenfngnhninjnknlnmnpmnnonpnqnrnsntnunvnqmwnxnynznAnBn4d5dAdBdCdDdLoxgygzgAg!b#b$b%b'b(b6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.dBgCgDgEgCnDnEnFnGnHnFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSgTgUgVgWgXgYgZg0g1g2g3g4gNcOcPc{ | } )b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhInJnKnrmLnMnNnOnPnQnRnSnTnsmUnVnWnXnYnZn0n1n2ntm3n4n5n6n7n8n/d:dEdFdGdHdMoghhhihjh_b`b{b|b}b~b;d=d?d@d[d]d^d_d`d{d|d}d~daebecekhlhmhnh9n!n#n$n%n'nLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrhshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBhChDhEhFhGhHhIhJhKhLhMhNhQcRcSclbmbnbacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(n)n*num+n,n-n.n/n:n;n=n?nvm@n[n]n^n_n`n{n|n}nwm~naobocodoeodeeeIdJdKdLdNo?h@h[h]hpcqcrcsctcucfegeheiejekelemeneoepeqereseteue^h_h`h{hfogohoiojokoReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~haibicidieifigihiiiZ 0 1 p q r xbybzbjikiliminioipiqirisitiuiviwiTcUcVcAbBbCbvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
878 extra_kwargs: Dict[str, Any] = { 2lmMdwdxdJoOfPfPbQbNdOdPdQdRdSdTdUdQfRfzes AeDft }c~cSfTfUfVfWfXfu g ( YfZf0f1f2f3f4fKc) RbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fmmnmVdydzdKo;f=fWbXbYbZbWdXdYdZd0d1d2d3d?f@fBeCev w DeEeEfx y adbdcddd[f]f^f_f`f{fz A h i - . |f}f~fagbgcgdgLcMc/ : 0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgompmqm4d5dAdBdCdDdLoxgygzgAg!b#b$b%b'b(b6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.dBgCgDgEgFeGeHeB C D IeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSgTgUgVgWgXgYgZg0g1g2g3g4gNcOcPc{ | } )b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhrmsmtm/d:dEdFdGdHdMoghhhihjh_b`b{b|b}b~b;d=d?d@d[d]d^d_d`d{d|d}d~daebecekhlhmhnhLeMeNeK L M OePeQeHfIfN O P kdldmdndodpdohphqhrhshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBhChDhEhFhGhHhIhJhKhLhMhNhQcRcSclbmbnbacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=humvmwmdeeeIdJdKdLdNo?h@h[h]hpcqcrcsctcucfegeheiejekelemeneoepeqereseteue^h_h`h{hReSeTeT U V UeVeWeJfKfW X Y qdrdsdtdudvd|h}h~haibicidieifigihiiiZ 0 1 p q r xbybzbjikiliminioipiqirisitiuiviwiTcUcVcAbBbCbvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
879 "context": context,
880 "serialize_as_any": serialize_as_any,
881 }
882 else:
883 extra_kwargs = {} 2KmLmMmDmNmOmPmQmRmSmXexeyePo'i(i2c3cYeZe0e1e2e3e4e5e)i*iTmUmVmWmXmYmLf9i!i#i$iMbMfNf%iNbvewe+i,i-i.i/i:iOb' Wc;i=i?i@i[i]i^i9cXc4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjZm0m1mlm2m3m4m5m6m7mMdwdxdJoOfPfPbQbNdOdPdQdRdSdTdUdQfRf8m9m!m#m$m%mze+e,e-e.es 6eAeDft }c~cSfTfUfVfWfXfu g ( YfZf0f1f2f3f4fKc) RbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f'm(m)mmm*m+m,m-m.m/m:m;m=mnm?m@m[m]m^m_mVdydzdKo;f=fWbXbYbZbWdXdYdZd0d1d2d3d?f@f`m{m|m}m~manBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]f^f_f`f{fz A h i - . |f}f~fagbgcgdgLcMc/ : 0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgbncndnomenfngnhninjnknlnmnpmnnonpnqnrnsntnunvnqmwnxnynznAnBn4d5dAdBdCdDdLoxgygzgAg!b#b$b%b'b(b6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.dBgCgDgEgCnDnEnFnGnHnFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSgTgUgVgWgXgYgZg0g1g2g3g4gNcOcPc{ | } )b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhInJnKnrmLnMnNnOnPnQnRnSnTnsmUnVnWnXnYnZn0n1n2ntm3n4n5n6n7n8n/d:dEdFdGdHdMoghhhihjh_b`b{b|b}b~b;d=d?d@d[d]d^d_d`d{d|d}d~daebecekhlhmhnh9n!n#n$n%n'nLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrhshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBhChDhEhFhGhHhIhJhKhLhMhNhQcRcSclbmbnbacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(n)n*num+n,n-n.n/n:n;n=n?nvm@n[n]n^n_n`n{n|n}nwm~naobocodoeodeeeIdJdKdLdNo?h@h[h]hpcqcrcsctcucfegeheiejekelemeneoepeqereseteue^h_h`h{hfogohoiojokoReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~haibicidieifigihiiiZ 0 1 p q r xbybzbjikiliminioipiqirisitiuiviwiTcUcVcAbBbCbvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
884 if IS_PYDANTIC_V2: 2KmLmMmDmNmOmPmQmRmSmXexeyePo'i(i2c3cYeZe0e1e2e3e4e5e)i*iTmUmVmWmXmYmLf9i!i#i$iMbMfNf%iNbvewe+i,i-i.i/i:iOb' Wc;i=i?i@i[i]i^i9cXc4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjZm0m1mlm2m3m4m5m6m7mMdwdxdJoOfPfPbQbNdOdPdQdRdSdTdUdQfRf8m9m!m#m$m%mze+e,e-e.es 6eAeDft }c~cSfTfUfVfWfXfu g ( YfZf0f1f2f3f4fKc) RbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f'm(m)mmm*m+m,m-m.m/m:m;m=mnm?m@m[m]m^m_mVdydzdKo;f=fWbXbYbZbWdXdYdZd0d1d2d3d?f@f`m{m|m}m~manBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]f^f_f`f{fz A h i - . |f}f~fagbgcgdgLcMc/ : 0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgbncndnomenfngnhninjnknlnmnpmnnonpnqnrnsntnunvnqmwnxnynznAnBn4d5dAdBdCdDdLoxgygzgAg!b#b$b%b'b(b6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.dBgCgDgEgCnDnEnFnGnHnFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSgTgUgVgWgXgYgZg0g1g2g3g4gNcOcPc{ | } )b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhInJnKnrmLnMnNnOnPnQnRnSnTnsmUnVnWnXnYnZn0n1n2ntm3n4n5n6n7n8n/d:dEdFdGdHdMoghhhihjh_b`b{b|b}b~b;d=d?d@d[d]d^d_d`d{d|d}d~daebecekhlhmhnh9n!n#n$n%n'nLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrhshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBhChDhEhFhGhHhIhJhKhLhMhNhQcRcSclbmbnbacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(n)n*num+n,n-n.n/n:n;n=n?nvm@n[n]n^n_n`n{n|n}nwm~naobocodoeodeeeIdJdKdLdNo?h@h[h]hpcqcrcsctcucfegeheiejekelemeneoepeqereseteue^h_h`h{hfogohoiojokoReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~haibicidieifigihiiiZ 0 1 p q r xbybzbjikiliminioipiqirisitiuiviwiTcUcVcAbBbCbvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
885 return super().model_dump( 2DmXexeyePo'i(i2c3cYeZe0e1e2e3e4e5e)i*iLfMbNf%iNbvewe+i,i-i.i/i:iOb' Wc;i=i?i@i[i]i^i9cXc4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjlmMdwdxdJoOfPfPbQbNdOdPdQdRdSdTdUdQfRfzes AeDft }c~cSfTfUfVfWfXfu g ( YfZf0f1f2f3f4fKc) RbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:fmmnmVdydzdKo;f=fWbXbYbZbWdXdYdZd0d1d2d3d?f@fBeCev w DeEeEfx y adbdcddd[f]f^f_f`f{fz A h i - . |f}f~fagbgcgdgLcMc/ : 0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgompmqm4d5dAdBdCdDdLoxgygzgAg!b#b$b%b'b(b6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.dBgCgDgEgFeGeHeB C D IeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSgTgUgVgWgXgYgZg0g1g2g3g4gNcOcPc{ | } )b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhrmsmtm/d:dEdFdGdHdMoghhhihjh_b`b{b|b}b~b;d=d?d@d[d]d^d_d`d{d|d}d~daebecekhlhmhnhLeMeNeK L M OePeQeHfIfN O P kdldmdndodpdohphqhrhshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBhChDhEhFhGhHhIhJhKhLhMhNhQcRcSclbmbnbacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=humvmwmdeeeIdJdKdLdNo?h@h[h]hpcqcrcsctcucfegeheiejekelemeneoepeqereseteue^h_h`h{hReSeTeT U V UeVeWeJfKfW X Y qdrdsdtdudvd|h}h~haibicidieifigihiiiZ 0 1 p q r xbybzbjikiliminioipiqirisitiuiviwiTcUcVcAbBbCbvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
886 mode=mode,
887 include=include,
888 exclude=exclude,
889 by_alias=by_alias,
890 exclude_unset=exclude_unset,
891 exclude_defaults=exclude_defaults,
892 exclude_none=exclude_none,
893 round_trip=round_trip,
894 warnings=warnings,
895 **extra_kwargs,
896 )
897 else:
898 return super().dict( 2KmLmMmDmNmOmPmQmRmSmXexeyePo'i(i2c3cYeZe0e1e2e3e4e5e)i*iTmUmVmWmXmYmLf9i!i#i$iMbMfNf%iNbvewe+i,i-i.i/i:iOb' Wc;i=i?i@i[i]i^i9cXc4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjZm0m1mlm2m3m4m5m6m7mMdwdxdJoOfPfPbQbNdOdPdQdRdSdTdUdQfRf8m9m!m#m$m%mze+e,e-e.es 6eAeDft }c~cSfTfUfVfWfXfu g ( YfZf0f1f2f3f4fKc) RbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f'm(m)mmm*m+m,m-m.m/m:m;m=mnm?m@m[m]m^m_mVdydzdKo;f=fWbXbYbZbWdXdYdZd0d1d2d3d?f@f`m{m|m}m~manBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]f^f_f`f{fz A h i - . |f}f~fagbgcgdgLcMc/ : 0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgbncndnomenfngnhninjnknlnmnpmnnonpnqnrnsntnunvnqmwnxnynznAnBn4d5dAdBdCdDdLoxgygzgAg!b#b$b%b'b(b6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.dBgCgDgEgCnDnEnFnGnHnFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSgTgUgVgWgXgYgZg0g1g2g3g4gNcOcPc{ | } )b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhInJnKnrmLnMnNnOnPnQnRnSnTnsmUnVnWnXnYnZn0n1n2ntm3n4n5n6n7n8n/d:dEdFdGdHdMoghhhihjh_b`b{b|b}b~b;d=d?d@d[d]d^d_d`d{d|d}d~daebecekhlhmhnh9n!n#n$n%n'nLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrhshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBhChDhEhFhGhHhIhJhKhLhMhNhQcRcSclbmbnbacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(n)n*num+n,n-n.n/n:n;n=n?nvm@n[n]n^n_n`n{n|n}nwm~naobocodoeodeeeIdJdKdLdNo?h@h[h]hpcqcrcsctcucfegeheiejekelemeneoepeqereseteue^h_h`h{hfogohoiojokoReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~haibicidieifigihiiiZ 0 1 p q r xbybzbjikiliminioipiqirisitiuiviwiTcUcVcAbBbCbvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
899 include=include,
900 exclude=exclude,
901 by_alias=by_alias,
902 exclude_unset=exclude_unset,
903 exclude_defaults=exclude_defaults,
904 exclude_none=exclude_none,
905 )
907 @deprecated( 1fabcde
908 """
909 🚨 `obj.dict()` was deprecated in SQLModel 0.0.14, you should
910 instead use `obj.model_dump()`.
911 """
912 )
913 def dict( 1abcde
914 self,
915 *,
916 include: Union[IncEx, None] = None,
917 exclude: Union[IncEx, None] = None,
918 by_alias: bool = False,
919 exclude_unset: bool = False,
920 exclude_defaults: bool = False,
921 exclude_none: bool = False,
922 ) -> Dict[str, Any]:
923 return self.model_dump( 2KmLmMmDmNmOmPmQmRmSmPoTmUmVmWmXmYmLf9i!i#i$iMbMfNf%iNbvewe' XcZm0m1mlm2m3m4m5m6m7mJo8m9m!m#m$m%mze+e,e-e.es 6eAeDft }c~cg ) 'm(m)mmm*m+m,m-m.m/m:m;m=mnm?m@m[m]m^m_mKo`m{m|m}m~manBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcdddh i / : bncndnomenfngnhninjnknlnmnpmnnonpnqnrnsntnunvnqmwnxnynznAnBnLoCnDnEnFnGnHnFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdj k l { | } InJnKnrmLnMnNnOnPnQnRnSnTnsmUnVnWnXnYnZn0n1n2ntm3n4n5n6n7n8nMo9n!n#n$n%n'nLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdm n o lbmbnb(n)n*num+n,n-n.n/n:n;n=n?nvm@n[n]n^n_n`n{n|n}nwm~naobocodoeoNofogohoiojokoReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvdp q r AbBbCb
924 include=include,
925 exclude=exclude,
926 by_alias=by_alias,
927 exclude_unset=exclude_unset,
928 exclude_defaults=exclude_defaults,
929 exclude_none=exclude_none,
930 )
932 @classmethod 1fabcde
933 @deprecated( 1fabcde
934 """
935 🚨 `obj.from_orm(data)` was deprecated in SQLModel 0.0.14, you should
936 instead use `obj.model_validate(data)`.
937 """
938 )
939 def from_orm( 1abcde
940 cls: Type[_TSQLModel], obj: Any, update: Optional[Dict[str, Any]] = None
941 ) -> _TSQLModel:
942 return cls.model_validate(obj, update=update) 2KmLmMmDmNmOmPmQmRmSm2oTmUmVmWmXmYmLf9i!i#i$iMbMfNfNbveweZm0m1mlm2m3m4m5m6m7m4o8m9m!m#m$m%mze+e,e-e.es 6eAet }c~c'm(m)mmm*m+m,m-m.m/m:m;m=mnm?m@m[m]m^m_m6o`m{m|m}m~manBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEex y adbdcdddbncndnomenfngnhninjnknlnmnpmnnonpnqnrnsntnunvnqmwnxnynznAnBn8oCnDnEnFnGnHnFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeE F G edfdgdhdidjdInJnKnrmLnMnNnOnPnQnRnSnTnsmUnVnWnXnYnZn0n1n2ntm3n4n5n6n7n8n!o9n!n#n$n%n'nLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeN O P kdldmdndodpd(n)n*num+n,n-n.n/n:n;n=n?nvm@n[n]n^n_n`n{n|n}nwm~naobocodoeo$ofogohoiojokoReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeW X Y qdrdsdtdudvd
944 @classmethod 1fabcde
945 @deprecated( 1fabcde
946 """
947 🚨 `obj.parse_obj(data)` was deprecated in SQLModel 0.0.14, you should
948 instead use `obj.model_validate(data)`.
949 """
950 )
951 def parse_obj( 1abcde
952 cls: Type[_TSQLModel], obj: Any, update: Optional[Dict[str, Any]] = None
953 ) -> _TSQLModel:
954 if not IS_PYDANTIC_V2: 23o5o7o9o#o%o
955 obj = cls._enforce_dict_if_root(obj) # type: ignore[attr-defined] # noqa 23o5o7o9o#o%o
956 return cls.model_validate(obj, update=update) 23o5o7o9o#o%o
958 # From Pydantic, override to only show keys from fields, omit SQLAlchemy attributes
959 @deprecated( 1fabcde
960 """
961 🚨 You should not access `obj._calculate_keys()` directly.
963 It is only useful for Pydantic v1.X, you should probably upgrade to
964 Pydantic v2.X.
965 """,
966 category=None,
967 )
968 def _calculate_keys( 1abcde
969 self,
970 include: Optional[Mapping[Union[int, str], Any]],
971 exclude: Optional[Mapping[Union[int, str], Any]],
972 exclude_unset: bool,
973 update: Optional[Dict[str, Any]] = None,
974 ) -> Optional[AbstractSet[str]]:
975 return _calculate_keys( 2KmLmMmDmNmOmPmQmRmSmXexeyePo'i(i2c3cYeZe0e1e2e3e4e5e)i*iTmUmVmWmXmYmLf9i!i#i$iMbMfNf%iNbvewe+i,i-i.i/i:iOb' Wc;i=i?i@i[i]i^i9cXc4c5cYc6cZc0c1c7c8c_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjZm0m1mlm2m3m4m5m6m7mMdwdxdJoOfPfPbQbNdOdPdQdRdSdTdUdQfRf8m9m!m#m$m%mze+e,e-e.es 6eAeDft }c~cSfTfUfVfWfXfu g ( YfZf0f1f2f3f4fKc) RbSb* Tb+ 2 , UbVb5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f'm(m)mmm*m+m,m-m.m/m:m;m=mnm?m@m[m]m^m_mVdydzdKo;f=fWbXbYbZbWdXdYdZd0d1d2d3d?f@f`m{m|m}m~manBeCe/e:e;e=e?e@e[e]ev w 7e8eDeEeEfx y adbdcddd[f]f^f_f`f{fz A h i - . |f}f~fagbgcgdgLcMc/ : 0b1b2b3b; = 4b5b? @ 3 4 [ ] 6b7b8b9begfggghgigjgkglgmgngogpgqgrgsgtgugvgwgbncndnomenfngnhninjnknlnmnpmnnonpnqnrnsntnunvnqmwnxnynznAnBn4d5dAdBdCdDdLoxgygzgAg!b#b$b%b'b(b6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.dBgCgDgEgCnDnEnFnGnHnFeGeHe^e_e`e{e|e}e~eafbfcfdfefB C D 9e!e#eIeJeKeFfGfE F G edfdgdhdidjdFgGgHgIgJgKgLgMgNgOgPgQgH I J j k l ^ _ ` RgSgTgUgVgWgXgYgZg0g1g2g3g4gNcOcPc{ | } )b*b+b,b-b.b~ abbb/b:b;bcbdbeb5 6 7 fbgbhb=b?b@b[b]b^b5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhInJnKnrmLnMnNnOnPnQnRnSnTnsmUnVnWnXnYnZn0n1n2ntm3n4n5n6n7n8n/d:dEdFdGdHdMoghhhihjh_b`b{b|b}b~b;d=d?d@d[d]d^d_d`d{d|d}d~daebecekhlhmhnh9n!n#n$n%n'nLeMeNeffgfhfifjfkflfmfnfofpfqfK L M $e%e'eOePeQeHfIfN O P kdldmdndodpdohphqhrhshthuhvhwhxhyhzhQ R S m n o ibjbkbAhBhChDhEhFhGhHhIhJhKhLhMhNhQcRcSclbmbnbacbcccdcecfcobpbqbgchcicrbsbtb8 9 ! ubvbwbjckclcmcncocOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h(n)n*num+n,n-n.n/n:n;n=n?nvm@n[n]n^n_n`n{n|n}nwm~naobocodoeodeeeIdJdKdLdNo?h@h[h]hpcqcrcsctcucfegeheiejekelemeneoepeqereseteue^h_h`h{hfogohoiojokoReSeTerfsftfufvfwfxfyfzfAfBfCfT U V (e)e*eUeVeWeJfKfW X Y qdrdsdtdudvd|h}h~haibicidieifigihiiiZ 0 1 p q r xbybzbjikiliminioipiqirisitiuiviwiTcUcVcAbBbCbvcwcxcyczcAcDbEbFbBcCcDcGbHbIb# $ % JbKbLbEcFcGcHcIcJcxiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i
976 self,
977 include=include,
978 exclude=exclude,
979 exclude_unset=exclude_unset,
980 update=update,
981 )
983 def sqlmodel_update( 1abcde
984 self: _TSQLModel,
985 obj: Union[Dict[str, Any], BaseModel],
986 *,
987 update: Union[Dict[str, Any], None] = None,
988 ) -> _TSQLModel:
989 use_update = (update or {}).copy() 2vewe}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvd
990 if isinstance(obj, dict): 2vewe}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvd
991 for key, value in {**obj, **use_update}.items(): 2vewe}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvd
992 if key in get_model_fields(self): 2vewe}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvd
993 setattr(self, key, value) 2vewe}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvd
994 elif isinstance(obj, BaseModel):
995 for key in get_model_fields(obj):
996 if key in use_update:
997 value = use_update.pop(key)
998 else:
999 value = getattr(obj, key)
1000 setattr(self, key, value)
1001 for remaining_key in use_update:
1002 if remaining_key in get_model_fields(self):
1003 value = use_update.pop(remaining_key)
1004 setattr(self, remaining_key, value)
1005 else:
1006 raise ValueError(
1007 "Can't use sqlmodel_update() with something that "
1008 f"is not a dict or SQLModel or Pydantic model: {obj}"
1009 )
1010 return self 2vewe}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvd