Coverage for sqlmodel/main.py: 93%
353 statements
« prev ^ index » next coverage.py v7.6.1, created at 2024-09-09 00:02 +0000
« prev ^ index » next coverage.py v7.6.1, created at 2024-09-09 00:02 +0000
1import 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, 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 = Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None] 1fabcde
94OnDeleteType = Literal["CASCADE", "SET NULL", "RESTRICT"] 1fabcde
97def __dataclass_transform__( 1abcde
98 *,
99 eq_default: bool = True,
100 order_default: bool = False,
101 kw_only_default: bool = False,
102 field_descriptors: Tuple[Union[type, Callable[..., Any]], ...] = (()),
103) -> Callable[[_T], _T]:
104 return lambda a: a 1fabcde
107class FieldInfo(PydanticFieldInfo): 1fabcde
108 def __init__(self, default: Any = Undefined, **kwargs: Any) -> None: 1fabcde
109 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
110 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
111 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
112 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
113 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
114 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
115 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
116 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
117 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
118 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
119 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
120 if sa_column_args is not Undefined: 2JkfmloEmroDoxo~lxmBltkgmmoFmsoEoyoamymwlukhmnoGmtoFozobmzmxlvkimooHmuoGoAocmAmylwkjmpoImvoHoBodmBmzlxkkmqoJmwoIoCoemCmAl
121 raise RuntimeError( 2DoEoFoGoHoIo
122 "Passing sa_column_args is not supported when "
123 "also passing a sa_column"
124 )
125 if sa_column_kwargs is not Undefined: 2JkfmloEmroxo~lxmBltkgmmoFmsoyoamymwlukhmnoGmtozobmzmxlvkimooHmuoAocmAmylwkjmpoImvoBodmBmzlxkkmqoJmwoCoemCmAl
126 raise RuntimeError( 2xoyozoAoBoCo
127 "Passing sa_column_kwargs is not supported when "
128 "also passing a sa_column"
129 )
130 if primary_key is not Undefined: 2JkfmloEmro~lxmBltkgmmoFmsoamymwlukhmnoGmtobmzmxlvkimooHmuocmAmylwkjmpoImvodmBmzlxkkmqoJmwoemCmAl
131 raise RuntimeError( 2rosotouovowo
132 "Passing primary_key is not supported when "
133 "also passing a sa_column"
134 )
135 if nullable is not Undefined: 2JkfmloEm~lxmBltkgmmoFmamymwlukhmnoGmbmzmxlvkimooHmcmAmylwkjmpoImdmBmzlxkkmqoJmemCmAl
136 raise RuntimeError( 2lomonooopoqo
137 "Passing nullable is not supported when also passing a sa_column"
138 )
139 if foreign_key is not Undefined: 2JkfmEm~lxmBltkgmFmamymwlukhmGmbmzmxlvkimHmcmAmylwkjmImdmBmzlxkkmJmemCmAl
140 raise RuntimeError( 2Jktkukvkwkxk
141 "Passing foreign_key is not supported when "
142 "also passing a sa_column"
143 )
144 if ondelete is not Undefined: 2fmEm~lxmBlgmFmamymwlhmGmbmzmxlimHmcmAmyljmImdmBmzlkmJmemCmAl
145 raise RuntimeError( 2EmFmGmHmImJm
146 "Passing ondelete is not supported when also passing a sa_column"
147 )
148 if unique is not Undefined: 2fm~lxmBlgmamymwlhmbmzmxlimcmAmyljmdmBmzlkmemCmAl
149 raise RuntimeError( 2xmymzmAmBmCm
150 "Passing unique is not supported when also passing a sa_column"
151 )
152 if index is not Undefined: 2fm~lBlgmamwlhmbmxlimcmyljmdmzlkmemAl
153 raise RuntimeError( 2fmgmhmimjmkm
154 "Passing index is not supported when also passing a sa_column"
155 )
156 if sa_type is not Undefined: 2~lBlamwlbmxlcmyldmzlemAl
157 raise RuntimeError( 2~lambmcmdmem
158 "Passing sa_type is not supported when also passing a sa_column"
159 )
160 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
161 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
162 raise RuntimeError("ondelete can only be used with foreign_key") 2^l_l`l{l|l}l
163 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
164 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
165 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
166 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
167 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
168 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
169 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
170 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
171 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
172 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
173 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
176class RelationshipInfo(Representation): 1fabcde
177 def __init__( 1abcde
178 self,
179 *,
180 back_populates: Optional[str] = None,
181 cascade_delete: Optional[bool] = False,
182 passive_deletes: Optional[Union[bool, Literal["all"]]] = False,
183 link_model: Optional[Any] = None,
184 sa_relationship: Optional[RelationshipProperty] = None, # type: ignore
185 sa_relationship_args: Optional[Sequence[Any]] = None,
186 sa_relationship_kwargs: Optional[Mapping[str, Any]] = None,
187 ) -> None:
188 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
189 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
190 raise RuntimeError( 2;l=l?l@l[l]l
191 "Passing sa_relationship_args is not supported when "
192 "also passing a sa_relationship"
193 )
194 if sa_relationship_kwargs is not None: 2+l{c,l/c-l:c.l;c/l=c:l?c
195 raise RuntimeError( 2+l,l-l.l/l:l
196 "Passing sa_relationship_kwargs is not supported when "
197 "also passing a sa_relationship"
198 )
199 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
200 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
201 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
202 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
203 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
204 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
205 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
208# include sa_type, sa_column_args, sa_column_kwargs
209@overload 1fabcde
210def Field( 1abcde
211 default: Any = Undefined, 1fabcde
212 *,
213 default_factory: Optional[NoArgAnyCallable] = None, 1fabcde
214 alias: Optional[str] = None, 1fabcde
215 title: Optional[str] = None, 1fabcde
216 description: Optional[str] = None, 1fabcde
217 exclude: Union[ 1abcde
218 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any 1abcde
219 ] = None, 1fabcde
220 include: Union[ 1abcde
221 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any 1abcde
222 ] = None, 1fabcde
223 const: Optional[bool] = None, 1fabcde
224 gt: Optional[float] = None, 1fabcde
225 ge: Optional[float] = None, 1fabcde
226 lt: Optional[float] = None, 1fabcde
227 le: Optional[float] = None, 1fabcde
228 multiple_of: Optional[float] = None, 1fabcde
229 max_digits: Optional[int] = None, 1fabcde
230 decimal_places: Optional[int] = None, 1fabcde
231 min_items: Optional[int] = None, 1fabcde
232 max_items: Optional[int] = None, 1fabcde
233 unique_items: Optional[bool] = None, 1fabcde
234 min_length: Optional[int] = None, 1fabcde
235 max_length: Optional[int] = None, 1fabcde
236 allow_mutation: bool = True, 1fabcde
237 regex: Optional[str] = None, 1fabcde
238 discriminator: Optional[str] = None, 1fabcde
239 repr: bool = True, 1fabcde
240 primary_key: Union[bool, UndefinedType] = Undefined, 1fabcde
241 foreign_key: Any = Undefined, 1fabcde
242 unique: Union[bool, UndefinedType] = Undefined, 1fabcde
243 nullable: Union[bool, UndefinedType] = Undefined, 1fabcde
244 index: Union[bool, UndefinedType] = Undefined, 1fabcde
245 sa_type: Union[Type[Any], UndefinedType] = Undefined, 1fabcde
246 sa_column_args: Union[Sequence[Any], UndefinedType] = Undefined, 1fabcde
247 sa_column_kwargs: Union[Mapping[str, Any], UndefinedType] = Undefined, 1fabcde
248 schema_extra: Optional[Dict[str, Any]] = None, 1fabcde
249) -> Any: ... 1fabcde
252# When foreign_key is str, include ondelete
253# include sa_type, sa_column_args, sa_column_kwargs
254@overload 1fabcde
255def Field( 1abcde
256 default: Any = Undefined, 1fabcde
257 *,
258 default_factory: Optional[NoArgAnyCallable] = None, 1fabcde
259 alias: Optional[str] = None, 1fabcde
260 title: Optional[str] = None, 1fabcde
261 description: Optional[str] = None, 1fabcde
262 exclude: Union[ 1abcde
263 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any 1abcde
264 ] = None, 1fabcde
265 include: Union[ 1abcde
266 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any 1abcde
267 ] = None, 1fabcde
268 const: Optional[bool] = None, 1fabcde
269 gt: Optional[float] = None, 1fabcde
270 ge: Optional[float] = None, 1fabcde
271 lt: Optional[float] = None, 1fabcde
272 le: Optional[float] = None, 1fabcde
273 multiple_of: Optional[float] = None, 1fabcde
274 max_digits: Optional[int] = None, 1fabcde
275 decimal_places: Optional[int] = None, 1fabcde
276 min_items: Optional[int] = None, 1fabcde
277 max_items: Optional[int] = None, 1fabcde
278 unique_items: Optional[bool] = None, 1fabcde
279 min_length: Optional[int] = None, 1fabcde
280 max_length: Optional[int] = None, 1fabcde
281 allow_mutation: bool = True, 1fabcde
282 regex: Optional[str] = None, 1fabcde
283 discriminator: Optional[str] = None, 1fabcde
284 repr: bool = True, 1fabcde
285 primary_key: Union[bool, UndefinedType] = Undefined, 1fabcde
286 foreign_key: str, 1abcde
287 ondelete: Union[OnDeleteType, UndefinedType] = Undefined, 1fabcde
288 unique: Union[bool, UndefinedType] = Undefined, 1fabcde
289 nullable: Union[bool, UndefinedType] = Undefined, 1fabcde
290 index: Union[bool, UndefinedType] = Undefined, 1fabcde
291 sa_type: Union[Type[Any], UndefinedType] = Undefined, 1fabcde
292 sa_column_args: Union[Sequence[Any], UndefinedType] = Undefined, 1fabcde
293 sa_column_kwargs: Union[Mapping[str, Any], UndefinedType] = Undefined, 1fabcde
294 schema_extra: Optional[Dict[str, Any]] = None, 1fabcde
295) -> Any: ... 1fabcde
298# Include sa_column, don't include
299# primary_key
300# foreign_key
301# ondelete
302# unique
303# nullable
304# index
305# sa_type
306# sa_column_args
307# sa_column_kwargs
308@overload 1fabcde
309def Field( 1abcde
310 default: Any = Undefined, 1fabcde
311 *,
312 default_factory: Optional[NoArgAnyCallable] = None, 1fabcde
313 alias: Optional[str] = None, 1fabcde
314 title: Optional[str] = None, 1fabcde
315 description: Optional[str] = None, 1fabcde
316 exclude: Union[ 1abcde
317 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any 1abcde
318 ] = None, 1fabcde
319 include: Union[ 1abcde
320 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any 1abcde
321 ] = None, 1fabcde
322 const: Optional[bool] = None, 1fabcde
323 gt: Optional[float] = None, 1fabcde
324 ge: Optional[float] = None, 1fabcde
325 lt: Optional[float] = None, 1fabcde
326 le: Optional[float] = None, 1fabcde
327 multiple_of: Optional[float] = None, 1fabcde
328 max_digits: Optional[int] = None, 1fabcde
329 decimal_places: Optional[int] = None, 1fabcde
330 min_items: Optional[int] = None, 1fabcde
331 max_items: Optional[int] = None, 1fabcde
332 unique_items: Optional[bool] = None, 1fabcde
333 min_length: Optional[int] = None, 1fabcde
334 max_length: Optional[int] = None, 1fabcde
335 allow_mutation: bool = True, 1fabcde
336 regex: Optional[str] = None, 1fabcde
337 discriminator: Optional[str] = None, 1fabcde
338 repr: bool = True, 1fabcde
339 sa_column: Union[Column, UndefinedType] = Undefined, # type: ignore 1fabcde
340 schema_extra: Optional[Dict[str, Any]] = None, 1fabcde
341) -> Any: ... 1fabcde
344def Field( 1abcde
345 default: Any = Undefined,
346 *,
347 default_factory: Optional[NoArgAnyCallable] = None,
348 alias: Optional[str] = None,
349 title: Optional[str] = None,
350 description: Optional[str] = None,
351 exclude: Union[
352 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any
353 ] = None,
354 include: Union[
355 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any
356 ] = None,
357 const: Optional[bool] = None,
358 gt: Optional[float] = None,
359 ge: Optional[float] = None,
360 lt: Optional[float] = None,
361 le: Optional[float] = None,
362 multiple_of: Optional[float] = None,
363 max_digits: Optional[int] = None,
364 decimal_places: Optional[int] = None,
365 min_items: Optional[int] = None,
366 max_items: Optional[int] = None,
367 unique_items: Optional[bool] = None,
368 min_length: Optional[int] = None,
369 max_length: Optional[int] = None,
370 allow_mutation: bool = True,
371 regex: Optional[str] = None,
372 discriminator: Optional[str] = None,
373 repr: bool = True,
374 primary_key: Union[bool, UndefinedType] = Undefined,
375 foreign_key: Any = Undefined,
376 ondelete: Union[OnDeleteType, UndefinedType] = Undefined,
377 unique: Union[bool, UndefinedType] = Undefined,
378 nullable: Union[bool, UndefinedType] = Undefined,
379 index: Union[bool, UndefinedType] = Undefined,
380 sa_type: Union[Type[Any], UndefinedType] = Undefined,
381 sa_column: Union[Column, UndefinedType] = Undefined, # type: ignore
382 sa_column_args: Union[Sequence[Any], UndefinedType] = Undefined,
383 sa_column_kwargs: Union[Mapping[str, Any], UndefinedType] = Undefined,
384 schema_extra: Optional[Dict[str, Any]] = None,
385) -> Any:
386 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
387 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
388 default,
389 default_factory=default_factory,
390 alias=alias,
391 title=title,
392 description=description,
393 exclude=exclude,
394 include=include,
395 const=const,
396 gt=gt,
397 ge=ge,
398 lt=lt,
399 le=le,
400 multiple_of=multiple_of,
401 max_digits=max_digits,
402 decimal_places=decimal_places,
403 min_items=min_items,
404 max_items=max_items,
405 unique_items=unique_items,
406 min_length=min_length,
407 max_length=max_length,
408 allow_mutation=allow_mutation,
409 regex=regex,
410 discriminator=discriminator,
411 repr=repr,
412 primary_key=primary_key,
413 foreign_key=foreign_key,
414 ondelete=ondelete,
415 unique=unique,
416 nullable=nullable,
417 index=index,
418 sa_type=sa_type,
419 sa_column=sa_column,
420 sa_column_args=sa_column_args,
421 sa_column_kwargs=sa_column_kwargs,
422 **current_schema_extra,
423 )
424 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
425 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
428@overload 1fabcde
429def Relationship( 1abcde
430 *,
431 back_populates: Optional[str] = None, 1fabcde
432 cascade_delete: Optional[bool] = False, 1fabcde
433 passive_deletes: Optional[Union[bool, Literal["all"]]] = False, 1fabcde
434 link_model: Optional[Any] = None, 1fabcde
435 sa_relationship_args: Optional[Sequence[Any]] = None, 1fabcde
436 sa_relationship_kwargs: Optional[Mapping[str, Any]] = None, 1fabcde
437) -> Any: ... 1fabcde
440@overload 1fabcde
441def Relationship( 1abcde
442 *,
443 back_populates: Optional[str] = None, 1fabcde
444 cascade_delete: Optional[bool] = False, 1fabcde
445 passive_deletes: Optional[Union[bool, Literal["all"]]] = False, 1fabcde
446 link_model: Optional[Any] = None, 1fabcde
447 sa_relationship: Optional[RelationshipProperty[Any]] = None, 1fabcde
448) -> Any: ... 1fabcde
451def Relationship( 1abcde
452 *,
453 back_populates: Optional[str] = None,
454 cascade_delete: Optional[bool] = False,
455 passive_deletes: Optional[Union[bool, Literal["all"]]] = False,
456 link_model: Optional[Any] = None,
457 sa_relationship: Optional[RelationshipProperty[Any]] = None,
458 sa_relationship_args: Optional[Sequence[Any]] = None,
459 sa_relationship_kwargs: Optional[Mapping[str, Any]] = None,
460) -> Any:
461 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
462 back_populates=back_populates,
463 cascade_delete=cascade_delete,
464 passive_deletes=passive_deletes,
465 link_model=link_model,
466 sa_relationship=sa_relationship,
467 sa_relationship_args=sa_relationship_args,
468 sa_relationship_kwargs=sa_relationship_kwargs,
469 )
470 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
473@__dataclass_transform__(kw_only_default=True, field_descriptors=(Field, FieldInfo)) 1fabcde
474class SQLModelMetaclass(ModelMetaclass, DeclarativeMeta): 1fabcde
475 __sqlmodel_relationships__: Dict[str, RelationshipInfo] 1fabcde
476 model_config: SQLModelConfig 1fabcde
477 model_fields: Dict[str, FieldInfo] 1fabcde
478 __config__: Type[SQLModelConfig] 1fabcde
479 __fields__: Dict[str, ModelField] # type: ignore[assignment] 1fabcde
481 # Replicate SQLAlchemy
482 def __setattr__(cls, name: str, value: Any) -> None: 1fabcde
483 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
484 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
485 else:
486 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
488 def __delattr__(cls, name: str) -> None: 1fabcde
489 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
490 DeclarativeMeta.__delattr__(cls, name) 1fabcde
491 else:
492 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
494 # From Pydantic
495 def __new__( 1abcde
496 cls,
497 name: str,
498 bases: Tuple[Type[Any], ...],
499 class_dict: Dict[str, Any],
500 **kwargs: Any,
501 ) -> Any:
502 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
503 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
504 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
505 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
506 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
507 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
508 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
509 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
510 else:
511 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
512 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
513 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
514 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
515 else:
516 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
517 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
518 **dict_for_pydantic,
519 "__weakref__": None,
520 "__sqlmodel_relationships__": relationships,
521 "__annotations__": pydantic_annotations,
522 }
523 # Duplicate logic from Pydantic to filter config kwargs because if they are
524 # passed directly including the registry Pydantic will pass them over to the
525 # superclass causing an error
526 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
527 key
528 for key in dir(BaseConfig)
529 if not (
530 key.startswith("__") and key.endswith("__")
531 ) # skip dunder methods and attributes
532 }
533 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
534 key: kwargs[key] for key in kwargs.keys() & allowed_config_kwargs
535 }
536 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
537 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
538 **relationship_annotations,
539 **pydantic_annotations,
540 **new_cls.__annotations__,
541 }
543 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
544 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
545 model=new_cls, parameter=name, default=Undefined
546 )
547 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
548 return config_class_value 2Mf6e7e8e9e!e#e$e%e'e(e)e*e
549 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
550 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
551 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
552 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
554 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
555 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
556 # If it was passed by kwargs, ensure it's also set in config
557 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
558 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
559 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
560 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
561 # Set a config flag to tell FastAPI that this should be read with a field
562 # in orm_mode instead of preemptively converting it to a dict.
563 # This could be done by reading new_cls.model_config['table'] in FastAPI, but
564 # that's very specific about SQLModel, so let's have another config that
565 # other future tools based on Pydantic can use.
566 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
567 model=new_cls, parameter="read_from_attributes", value=True
568 )
569 # For compatibility with older versions
570 # TODO: remove this in the future
571 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
573 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
574 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
575 config_registry = cast(registry, config_registry) 1fabcde
576 # If it was passed by kwargs, ensure it's also set in config
577 set_config_value(model=new_cls, parameter="registry", value=config_table) 1fabcde
578 setattr(new_cls, "_sa_registry", config_registry) # noqa: B010 1fabcde
579 setattr(new_cls, "metadata", config_registry.metadata) # noqa: B010 1fabcde
580 setattr(new_cls, "__abstract__", True) # noqa: B010 1fabcde
581 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
583 # Override SQLAlchemy, allow both SQLAlchemy and plain Pydantic models
584 def __init__( 1abcde
585 cls, classname: str, bases: Tuple[type, ...], dict_: Dict[str, Any], **kw: Any
586 ) -> None:
587 # Only one of the base classes (or the current one) should be a table model
588 # this allows FastAPI cloning a SQLModel for the response_model without
589 # trying to create a new SQLAlchemy, for a new table, with the same name, that
590 # triggers an error
591 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
592 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
593 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
594 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
595 # There's a SQLAlchemy relationship declared, that takes precedence
596 # over anything else, use that and continue with the next attribute
597 setattr(cls, rel_name, rel_info.sa_relationship) # Fix #315 2{c/c:c;c=c?c
598 continue 2{c/c:c;c=c?c
599 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
600 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
601 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
602 ann = raw_ann.__args__[0]
603 else:
604 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
605 # Plain forward references, for models not yet defined, are not
606 # handled well by SQLAlchemy without Mapped, so, wrap the
607 # annotations in Mapped here
608 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
609 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
610 name=rel_name, rel_info=rel_info, annotation=ann
611 )
612 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
613 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
614 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
615 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
616 rel_kwargs["cascade"] = "all, delete-orphan" 2Yc* ; = ~ abbbobpbqbDbEbFb
617 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
618 rel_kwargs["passive_deletes"] = rel_info.passive_deletes 2|cZc0c1c[c+ 2 , ]c? @ 3 4 [ ] ^ccbdbeb5 6 7 fbgbhb_crbsbtb8 9 ! ubvbwb`cGbHbIb# $ % JbKbLb
619 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
620 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
621 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
622 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
623 raise RuntimeError(
624 "Couldn't find the secondary table for "
625 f"model {rel_info.link_model}"
626 )
627 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
628 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
629 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
630 rel_args.extend(rel_info.sa_relationship_args)
631 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
632 rel_kwargs.update(rel_info.sa_relationship_kwargs)
633 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
634 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
635 # SQLAlchemy no longer uses dict_
636 # Ref: https://github.com/sqlalchemy/sqlalchemy/commit/428ea01f00a9cc7f85e435018565eb6da7af1b77
637 # Tag: 1.4.36
638 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
639 else:
640 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
643def get_sqlalchemy_type(field: Any) -> Any: 1fabcde
644 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
645 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
646 else:
647 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
648 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
649 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
650 return sa_type
652 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
653 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
655 # Check enums first as an enum can also be a str, needed by Pydantic/FastAPI
656 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
657 return sa_Enum(type_) 2f PkQka zkAkb BkCkc DkEkd FkGke HkIk
658 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
659 type_,
660 (
661 str,
662 ipaddress.IPv4Address,
663 ipaddress.IPv4Network,
664 ipaddress.IPv6Address,
665 ipaddress.IPv6Network,
666 Path,
667 EmailStr,
668 ),
669 ):
670 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
671 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
672 return AutoString(length=max_length)
673 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
674 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
675 return Float
676 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
677 return Boolean 2Wc( - . ^ _ ` ibjbkbxbybzb
678 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
679 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
680 if issubclass(type_, datetime): 2f XexeyeakPkQknlolpla MdwdxdsjzkAk}k~kalb VdydzdDjBkCkblcldlc 4d5dAdBdCdDdOjDkEkelflgld /d:dEdFdGdHd4jFkGkhliljle deeeIdJdKdLd-jHkIkklllml
681 return DateTime
682 if issubclass(type_, date): 2f XexeyeakPkQknlolpla MdwdxdsjzkAk}k~kalb VdydzdDjBkCkblcldlc 4d5dAdBdCdDdOjDkEkelflgld /d:dEdFdGdHd4jFkGkhliljle deeeIdJdKdLd-jHkIkklllml
683 return Date
684 if issubclass(type_, timedelta): 2f XexeyeakPkQknlolpla MdwdxdsjzkAk}k~kalb VdydzdDjBkCkblcldlc 4d5dAdBdCdDdOjDkEkelflgld /d:dEdFdGdHd4jFkGkhliljle deeeIdJdKdLd-jHkIkklllml
685 return Interval
686 if issubclass(type_, time): 2f XexeyeakPkQknlolpla MdwdxdsjzkAk}k~kalb VdydzdDjBkCkblcldlc 4d5dAdBdCdDdOjDkEkelflgld /d:dEdFdGdHd4jFkGkhliljle deeeIdJdKdLd-jHkIkklllml
687 return Time
688 if issubclass(type_, bytes): 2f XexeyeakPkQknlolpla MdwdxdsjzkAk}k~kalb VdydzdDjBkCkblcldlc 4d5dAdBdCdDdOjDkEkelflgld /d:dEdFdGdHd4jFkGkhliljle deeeIdJdKdLd-jHkIkklllml
689 return LargeBinary
690 if issubclass(type_, Decimal): 2f XexeyeakPkQknlolpla MdwdxdsjzkAk}k~kalb VdydzdDjBkCkblcldlc 4d5dAdBdCdDdOjDkEkelflgld /d:dEdFdGdHd4jFkGkhliljle deeeIdJdKdLd-jHkIkklllml
691 return Numeric( 2XeMdVd4d5d/d:ddeee
692 precision=getattr(metadata, "max_digits", None),
693 scale=getattr(metadata, "decimal_places", None),
694 )
695 if issubclass(type_, uuid.UUID): 2f xeyeakPkQknlolpla wdxdsjzkAk}k~kalb ydzdDjBkCkblcldlc AdBdCdDdOjDkEkelflgld EdFdGdHd4jFkGkhliljle IdJdKdLd-jHkIkklllml
696 return Uuid 2f xeyeakPkQka wdxdsjzkAkb ydzdDjBkCkc AdBdCdDdOjDkEkd EdFdGdHd4jFkGke IdJdKdLd-jHkIk
697 raise ValueError(f"{type_} has no matching SQLAlchemy type") 2nlolpl}k~kalblcldlelflglhliljlklllml
700def get_column_from_field(field: Any) -> Column: # type: ignore 1fabcde
701 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
702 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
703 else:
704 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
705 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
706 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
707 return sa_column 2BlwlxlylzlAl
708 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
709 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
710 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
711 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
712 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
713 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
714 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
715 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
716 # Override derived nullability if the nullable property is set explicitly
717 # on the field
718 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
719 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
720 assert not isinstance(field_nullable, UndefinedType) 2~j,k|knjKk/kojLk;kpjMk?kqjNk[krjOk^k
721 nullable = field_nullable 2~j,k|knjKk/kojLk;kpjMk?kqjNk[krjOk^k
722 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
723 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
724 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
725 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
726 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
727 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
728 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
729 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
730 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
731 raise RuntimeError('ondelete="SET NULL" requires nullable=True') 2|c[c]c^c_c`c
732 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
733 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
734 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
735 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
736 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
737 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
738 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
739 "primary_key": primary_key,
740 "nullable": nullable,
741 "index": index,
742 "unique": unique,
743 }
744 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
745 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
746 sa_default = field_info.default_factory 2xeyeakwdxdsjydzdDjAdBdCdDdOjEdFdGdHd4jIdJdKdLd-j
747 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
748 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
749 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
750 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
751 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
752 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
753 args.extend(list(cast(Sequence[Any], sa_column_args))) 2-kRkSkUkXk0k
754 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
755 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
756 kwargs.update(cast(Dict[Any, Any], sa_column_kwargs)) 2{k.k:k=k@k]k
757 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
760class_registry = weakref.WeakValueDictionary() # type: ignore 1fabcde
762default_registry = registry() 1fabcde
764_TSQLModel = TypeVar("_TSQLModel", bound="SQLModel") 1fabcde
767class SQLModel(BaseModel, metaclass=SQLModelMetaclass, registry=default_registry): 1fabcde
768 # SQLAlchemy needs to set weakref(s), Pydantic will set the other slots values
769 __slots__ = ("__weakref__",) 1fabcde
770 __tablename__: ClassVar[Union[str, Callable[..., str]]] 1fabcde
771 __sqlmodel_relationships__: ClassVar[Dict[str, RelationshipProperty[Any]]] 1fabcde
772 __name__: ClassVar[str] 1fabcde
773 metadata: ClassVar[MetaData] 1fabcde
774 __allow_unmapped__ = True # https://docs.sqlalchemy.org/en/20/changelog/migration_20.html#migration-20-step-six 1fabcde
776 if IS_PYDANTIC_V2: 1fabcde
777 model_config = SQLModelConfig(from_attributes=True) 1fabcde
778 else:
780 class Config: 1fabcde
781 orm_mode = True 1fabcde
783 def __new__(cls, *args: Any, **kwargs: Any) -> Any: 1fabcde
784 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
785 # SQLAlchemy doesn't call __init__ on the base class when querying from DB
786 # Ref: https://docs.sqlalchemy.org/en/14/orm/constructors.html
787 # Set __fields_set__ here, that would have been set when calling __init__
788 # in the Pydantic model so that when SQLAlchemy sets attributes that are
789 # added (e.g. when querying from DB) to the __fields_set__, this already exists
790 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
791 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
793 def __init__(__pydantic_self__, **data: Any) -> None: 1fabcde
794 # Uses something other than `self` the first arg to allow "self" as a
795 # settable attribute
797 # SQLAlchemy does very dark black magic and modifies the __init__ method in
798 # sqlalchemy.orm.instrumentation._generate_init()
799 # so, to make SQLAlchemy work, it's needed to explicitly call __init__ to
800 # trigger all the SQLAlchemy logic, it doesn't work using cls.__new__, setting
801 # attributes obj.__dict__, etc. The __init__ method has to be called. But
802 # there are cases where calling all the default logic is not ideal, e.g.
803 # when calling Model.model_validate(), as the validation is done outside
804 # of instance creation.
805 # At the same time, __init__ is what users would normally call, by creating
806 # a new instance, which should have validation and all the default logic.
807 # So, to be able to set up the internal SQLAlchemy logic alone without
808 # executing the rest, and support things like Model.model_validate(), we
809 # use a contextvar to know if we should execute everything.
810 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
811 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
813 def __setattr__(self, name: str, value: Any) -> None: 1fabcde
814 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
815 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
816 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
817 else:
818 # Set in SQLAlchemy, before Pydantic to trigger events and updates
819 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
820 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
821 # Set in Pydantic model to trigger possible validation changes, only for
822 # non relationship values
823 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
824 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
826 def __repr_args__(self) -> Sequence[Tuple[Optional[str], Any]]: 1fabcde
827 # Don't show SQLAlchemy private attributes
828 return [ 2Cl2 Dl3 4 El5 6 7 Fl8 9 ! Gl# $ %
829 (k, v)
830 for k, v in super().__repr_args__()
831 if not (isinstance(k, str) and k.startswith("_sa_"))
832 ]
834 @declared_attr # type: ignore 1fabcde
835 def __tablename__(cls) -> str: 1fabcde
836 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
838 @classmethod 1fabcde
839 def model_validate( 1abcde
840 cls: Type[_TSQLModel],
841 obj: Any,
842 *,
843 strict: Union[bool, None] = None,
844 from_attributes: Union[bool, None] = None,
845 context: Union[Dict[str, Any], None] = None,
846 update: Union[Dict[str, Any], None] = None,
847 ) -> _TSQLModel:
848 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
849 cls=cls,
850 obj=obj,
851 strict=strict,
852 from_attributes=from_attributes,
853 context=context,
854 update=update,
855 )
857 def model_dump( 1abcde
858 self,
859 *,
860 mode: Union[Literal["json", "python"], str] = "python",
861 include: IncEx = None,
862 exclude: IncEx = None,
863 context: Union[Dict[str, Any], None] = None,
864 by_alias: bool = False,
865 exclude_unset: bool = False,
866 exclude_defaults: bool = False,
867 exclude_none: bool = False,
868 round_trip: bool = False,
869 warnings: Union[bool, Literal["none", "warn", "error"]] = True,
870 serialize_as_any: bool = False,
871 ) -> Dict[str, Any]:
872 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
873 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
874 "context": context,
875 "serialize_as_any": serialize_as_any,
876 }
877 else:
878 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
879 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
880 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
881 mode=mode,
882 include=include,
883 exclude=exclude,
884 by_alias=by_alias,
885 exclude_unset=exclude_unset,
886 exclude_defaults=exclude_defaults,
887 exclude_none=exclude_none,
888 round_trip=round_trip,
889 warnings=warnings,
890 **extra_kwargs,
891 )
892 else:
893 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
894 include=include,
895 exclude=exclude,
896 by_alias=by_alias,
897 exclude_unset=exclude_unset,
898 exclude_defaults=exclude_defaults,
899 exclude_none=exclude_none,
900 )
902 @deprecated( 1fabcde
903 """
904 🚨 `obj.dict()` was deprecated in SQLModel 0.0.14, you should
905 instead use `obj.model_dump()`.
906 """
907 )
908 def dict( 1abcde
909 self,
910 *,
911 include: IncEx = None,
912 exclude: IncEx = None,
913 by_alias: bool = False,
914 exclude_unset: bool = False,
915 exclude_defaults: bool = False,
916 exclude_none: bool = False,
917 ) -> Dict[str, Any]:
918 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
919 include=include,
920 exclude=exclude,
921 by_alias=by_alias,
922 exclude_unset=exclude_unset,
923 exclude_defaults=exclude_defaults,
924 exclude_none=exclude_none,
925 )
927 @classmethod 1fabcde
928 @deprecated( 1fabcde
929 """
930 🚨 `obj.from_orm(data)` was deprecated in SQLModel 0.0.14, you should
931 instead use `obj.model_validate(data)`.
932 """
933 )
934 def from_orm( 1abcde
935 cls: Type[_TSQLModel], obj: Any, update: Optional[Dict[str, Any]] = None
936 ) -> _TSQLModel:
937 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
939 @classmethod 1fabcde
940 @deprecated( 1fabcde
941 """
942 🚨 `obj.parse_obj(data)` was deprecated in SQLModel 0.0.14, you should
943 instead use `obj.model_validate(data)`.
944 """
945 )
946 def parse_obj( 1abcde
947 cls: Type[_TSQLModel], obj: Any, update: Optional[Dict[str, Any]] = None
948 ) -> _TSQLModel:
949 if not IS_PYDANTIC_V2: 23o5o7o9o#o%o
950 obj = cls._enforce_dict_if_root(obj) # type: ignore[attr-defined] # noqa 23o5o7o9o#o%o
951 return cls.model_validate(obj, update=update) 23o5o7o9o#o%o
953 # From Pydantic, override to only show keys from fields, omit SQLAlchemy attributes
954 @deprecated( 1fabcde
955 """
956 🚨 You should not access `obj._calculate_keys()` directly.
958 It is only useful for Pydantic v1.X, you should probably upgrade to
959 Pydantic v2.X.
960 """,
961 category=None,
962 )
963 def _calculate_keys( 1abcde
964 self,
965 include: Optional[Mapping[Union[int, str], Any]],
966 exclude: Optional[Mapping[Union[int, str], Any]],
967 exclude_unset: bool,
968 update: Optional[Dict[str, Any]] = None,
969 ) -> Optional[AbstractSet[str]]:
970 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
971 self,
972 include=include,
973 exclude=exclude,
974 exclude_unset=exclude_unset,
975 update=update,
976 )
978 def sqlmodel_update( 1abcde
979 self: _TSQLModel,
980 obj: Union[Dict[str, Any], BaseModel],
981 *,
982 update: Union[Dict[str, Any], None] = None,
983 ) -> _TSQLModel:
984 use_update = (update or {}).copy() 2vewe}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvd
985 if isinstance(obj, dict): 2vewe}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvd
986 for key, value in {**obj, **use_update}.items(): 2vewe}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvd
987 if key in get_model_fields(self): 2vewe}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvd
988 setattr(self, key, value) 2vewe}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvd
989 elif isinstance(obj, BaseModel):
990 for key in get_model_fields(obj):
991 if key in use_update:
992 value = use_update.pop(key)
993 else:
994 value = getattr(obj, key)
995 setattr(self, key, value)
996 for remaining_key in use_update:
997 if remaining_key in get_model_fields(self):
998 value = use_update.pop(remaining_key)
999 setattr(self, remaining_key, value)
1000 else:
1001 raise ValueError(
1002 "Can't use sqlmodel_update() with something that "
1003 f"is not a dict or SQLModel or Pydantic model: {obj}"
1004 )
1005 return self 2vewe}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvd