Coverage for sqlmodel/main.py: 94%

361 statements  

« prev     ^ index     » next       coverage.py v7.11.0, created at 2025-10-27 00:03 +0000

1from __future__ import annotations 1daefbghicj

2 

3import ipaddress 1daefbghicj

4import uuid 1daefbghicj

5import weakref 1daefbghicj

6from datetime import date, datetime, time, timedelta 1daefbghicj

7from decimal import Decimal 1daefbghicj

8from enum import Enum 1daefbghicj

9from pathlib import Path 1daefbghicj

10from typing import ( 1daefbghicj

11 TYPE_CHECKING, 

12 AbstractSet, 

13 Any, 

14 Callable, 

15 ClassVar, 

16 Dict, 

17 List, 

18 Mapping, 

19 Optional, 

20 Sequence, 

21 Set, 

22 Tuple, 

23 Type, 

24 TypeVar, 

25 Union, 

26 cast, 

27 overload, 

28) 

29 

30from pydantic import BaseModel, EmailStr 1daefbghicj

31from pydantic.fields import FieldInfo as PydanticFieldInfo 1daefbghicj

32from sqlalchemy import ( 1daefbghicj

33 Boolean, 

34 Column, 

35 Date, 

36 DateTime, 

37 Float, 

38 ForeignKey, 

39 Integer, 

40 Interval, 

41 Numeric, 

42 inspect, 

43) 

44from sqlalchemy import Enum as sa_Enum 1daefbghicj

45from sqlalchemy.orm import ( 1daefbghicj

46 Mapped, 

47 RelationshipProperty, 

48 declared_attr, 

49 registry, 

50 relationship, 

51) 

52from sqlalchemy.orm.attributes import set_attribute 1daefbghicj

53from sqlalchemy.orm.decl_api import DeclarativeMeta 1daefbghicj

54from sqlalchemy.orm.instrumentation import is_instrumented 1daefbghicj

55from sqlalchemy.sql.schema import MetaData 1daefbghicj

56from sqlalchemy.sql.sqltypes import LargeBinary, Time, Uuid 1daefbghicj

57from typing_extensions import Literal, TypeAlias, deprecated, get_origin 1daefbghicj

58 

59from ._compat import ( # type: ignore[attr-defined] 1daefbghicj

60 IS_PYDANTIC_V2, 

61 PYDANTIC_MINOR_VERSION, 

62 BaseConfig, 

63 ModelField, 

64 ModelMetaclass, 

65 Representation, 

66 SQLModelConfig, 

67 Undefined, 

68 UndefinedType, 

69 _calculate_keys, 

70 finish_init, 

71 get_annotations, 

72 get_config_value, 

73 get_field_metadata, 

74 get_model_fields, 

75 get_relationship_to, 

76 get_sa_type_from_field, 

77 init_pydantic_private_attrs, 

78 is_field_noneable, 

79 is_table_model_class, 

80 post_init_field_info, 

81 set_config_value, 

82 sqlmodel_init, 

83 sqlmodel_validate, 

84) 

85from .sql.sqltypes import AutoString 1daefbghicj

86 

87if TYPE_CHECKING: 1daefbghicj

88 from pydantic._internal._model_construction import ModelMetaclass as ModelMetaclass 

89 from pydantic._internal._repr import Representation as Representation 

90 from pydantic_core import PydanticUndefined as Undefined 

91 from pydantic_core import PydanticUndefinedType as UndefinedType 

92 

93_T = TypeVar("_T") 1daefbghicj

94NoArgAnyCallable = Callable[[], Any] 1daefbghicj

95IncEx: TypeAlias = Union[ 1daefbghicj

96 Set[int], 

97 Set[str], 

98 Mapping[int, Union["IncEx", bool]], 

99 Mapping[str, Union["IncEx", bool]], 

100] 

101OnDeleteType = Literal["CASCADE", "SET NULL", "RESTRICT"] 1daefbghicj

102 

103 

104def __dataclass_transform__( 1daefbghicj

105 *, 

106 eq_default: bool = True, 

107 order_default: bool = False, 

108 kw_only_default: bool = False, 

109 field_descriptors: Tuple[Union[type, Callable[..., Any]], ...] = (()), 

110) -> Callable[[_T], _T]: 

111 return lambda a: a 1daefbghicj

112 

113 

114class FieldInfo(PydanticFieldInfo): # type: ignore[misc] 1daefbghicj

115 # mypy - ignore that PydanticFieldInfo is @final 

116 def __init__(self, default: Any = Undefined, **kwargs: Any) -> None: 1daefbghicj

117 primary_key = kwargs.pop("primary_key", False) 2d ViWiHiIiJiKinuou+urv|t9ykzazuzUzKzNy,y,v4wUwuwdtvw5fetftgtRv*rSusv;w(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t!ylzbzvzVzLzOy-y-v5wVwywttzw6futvtwtSv+rTuuv=w)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t#ymzczwzWzMzPy.y%v6wWw]v,r^vPf-r.r/rzv@qruav?w7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t$ynzdzxzXzNzQy/y'v7wXw{vbs|vQfcsdsesCversucv@w8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu%yozezyzYzOzRy:y.v8wYwCwJtDw9fKtLtMtTvos0uwv[w:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t'ypzfzzzZzPzSy;y(v9wZwawpsbwRfqsrsssFvorvuiv]w!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu(yqzgzAz0zQzTy=y/v!w0wGwZtHw#f0t1t2tUvIs5uyv^w[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)yrzhzBz1zRzUy?y)v#w1wewJsfwSfKsLsMsIvCryumv_w$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*yszizCz2zSzVy@y*v$w2wiw2sjwTf3s4s5sLvQrzuov`w%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+ytzjzDz3zTzWy[y+v%w3wmw.snwUf/s:s;sOv4rAuqv{w'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

118 nullable = kwargs.pop("nullable", Undefined) 2d ViWiHiIiJiKinuou+urv|t9ykzazuzUzKzNy,y,v4wUwuwdtvw5fetftgtRv*rSusv;w(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t!ylzbzvzVzLzOy-y-v5wVwywttzw6futvtwtSv+rTuuv=w)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t#ymzczwzWzMzPy.y%v6wWw]v,r^vPf-r.r/rzv@qruav?w7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t$ynzdzxzXzNzQy/y'v7wXw{vbs|vQfcsdsesCversucv@w8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu%yozezyzYzOzRy:y.v8wYwCwJtDw9fKtLtMtTvos0uwv[w:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t'ypzfzzzZzPzSy;y(v9wZwawpsbwRfqsrsssFvorvuiv]w!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu(yqzgzAz0zQzTy=y/v!w0wGwZtHw#f0t1t2tUvIs5uyv^w[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)yrzhzBz1zRzUy?y)v#w1wewJsfwSfKsLsMsIvCryumv_w$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*yszizCz2zSzVy@y*v$w2wiw2sjwTf3s4s5sLvQrzuov`w%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+ytzjzDz3zTzWy[y+v%w3wmw.snwUf/s:s;sOv4rAuqv{w'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

119 foreign_key = kwargs.pop("foreign_key", Undefined) 2d ViWiHiIiJiKinuou+urv|t9ykzazuzUzKzNy,y,v4wUwuwdtvw5fetftgtRv*rSusv;w(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t!ylzbzvzVzLzOy-y-v5wVwywttzw6futvtwtSv+rTuuv=w)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t#ymzczwzWzMzPy.y%v6wWw]v,r^vPf-r.r/rzv@qruav?w7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t$ynzdzxzXzNzQy/y'v7wXw{vbs|vQfcsdsesCversucv@w8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu%yozezyzYzOzRy:y.v8wYwCwJtDw9fKtLtMtTvos0uwv[w:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t'ypzfzzzZzPzSy;y(v9wZwawpsbwRfqsrsssFvorvuiv]w!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu(yqzgzAz0zQzTy=y/v!w0wGwZtHw#f0t1t2tUvIs5uyv^w[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)yrzhzBz1zRzUy?y)v#w1wewJsfwSfKsLsMsIvCryumv_w$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*yszizCz2zSzVy@y*v$w2wiw2sjwTf3s4s5sLvQrzuov`w%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+ytzjzDz3zTzWy[y+v%w3wmw.snwUf/s:s;sOv4rAuqv{w'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

120 ondelete = kwargs.pop("ondelete", Undefined) 2d ViWiHiIiJiKinuou+urv|t9ykzazuzUzKzNy,y,v4wUwuwdtvw5fetftgtRv*rSusv;w(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t!ylzbzvzVzLzOy-y-v5wVwywttzw6futvtwtSv+rTuuv=w)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t#ymzczwzWzMzPy.y%v6wWw]v,r^vPf-r.r/rzv@qruav?w7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t$ynzdzxzXzNzQy/y'v7wXw{vbs|vQfcsdsesCversucv@w8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu%yozezyzYzOzRy:y.v8wYwCwJtDw9fKtLtMtTvos0uwv[w:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t'ypzfzzzZzPzSy;y(v9wZwawpsbwRfqsrsssFvorvuiv]w!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu(yqzgzAz0zQzTy=y/v!w0wGwZtHw#f0t1t2tUvIs5uyv^w[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)yrzhzBz1zRzUy?y)v#w1wewJsfwSfKsLsMsIvCryumv_w$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*yszizCz2zSzVy@y*v$w2wiw2sjwTf3s4s5sLvQrzuov`w%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+ytzjzDz3zTzWy[y+v%w3wmw.snwUf/s:s;sOv4rAuqv{w'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

121 unique = kwargs.pop("unique", False) 2d ViWiHiIiJiKinuou+urv|t9ykzazuzUzKzNy,y,v4wUwuwdtvw5fetftgtRv*rSusv;w(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t!ylzbzvzVzLzOy-y-v5wVwywttzw6futvtwtSv+rTuuv=w)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t#ymzczwzWzMzPy.y%v6wWw]v,r^vPf-r.r/rzv@qruav?w7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t$ynzdzxzXzNzQy/y'v7wXw{vbs|vQfcsdsesCversucv@w8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu%yozezyzYzOzRy:y.v8wYwCwJtDw9fKtLtMtTvos0uwv[w:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t'ypzfzzzZzPzSy;y(v9wZwawpsbwRfqsrsssFvorvuiv]w!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu(yqzgzAz0zQzTy=y/v!w0wGwZtHw#f0t1t2tUvIs5uyv^w[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)yrzhzBz1zRzUy?y)v#w1wewJsfwSfKsLsMsIvCryumv_w$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*yszizCz2zSzVy@y*v$w2wiw2sjwTf3s4s5sLvQrzuov`w%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+ytzjzDz3zTzWy[y+v%w3wmw.snwUf/s:s;sOv4rAuqv{w'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

122 index = kwargs.pop("index", Undefined) 2d ViWiHiIiJiKinuou+urv|t9ykzazuzUzKzNy,y,v4wUwuwdtvw5fetftgtRv*rSusv;w(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t!ylzbzvzVzLzOy-y-v5wVwywttzw6futvtwtSv+rTuuv=w)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t#ymzczwzWzMzPy.y%v6wWw]v,r^vPf-r.r/rzv@qruav?w7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t$ynzdzxzXzNzQy/y'v7wXw{vbs|vQfcsdsesCversucv@w8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu%yozezyzYzOzRy:y.v8wYwCwJtDw9fKtLtMtTvos0uwv[w:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t'ypzfzzzZzPzSy;y(v9wZwawpsbwRfqsrsssFvorvuiv]w!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu(yqzgzAz0zQzTy=y/v!w0wGwZtHw#f0t1t2tUvIs5uyv^w[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)yrzhzBz1zRzUy?y)v#w1wewJsfwSfKsLsMsIvCryumv_w$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*yszizCz2zSzVy@y*v$w2wiw2sjwTf3s4s5sLvQrzuov`w%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+ytzjzDz3zTzWy[y+v%w3wmw.snwUf/s:s;sOv4rAuqv{w'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

123 sa_type = kwargs.pop("sa_type", Undefined) 2d ViWiHiIiJiKinuou+urv|t9ykzazuzUzKzNy,y,v4wUwuwdtvw5fetftgtRv*rSusv;w(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t!ylzbzvzVzLzOy-y-v5wVwywttzw6futvtwtSv+rTuuv=w)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t#ymzczwzWzMzPy.y%v6wWw]v,r^vPf-r.r/rzv@qruav?w7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t$ynzdzxzXzNzQy/y'v7wXw{vbs|vQfcsdsesCversucv@w8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu%yozezyzYzOzRy:y.v8wYwCwJtDw9fKtLtMtTvos0uwv[w:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t'ypzfzzzZzPzSy;y(v9wZwawpsbwRfqsrsssFvorvuiv]w!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu(yqzgzAz0zQzTy=y/v!w0wGwZtHw#f0t1t2tUvIs5uyv^w[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)yrzhzBz1zRzUy?y)v#w1wewJsfwSfKsLsMsIvCryumv_w$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*yszizCz2zSzVy@y*v$w2wiw2sjwTf3s4s5sLvQrzuov`w%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+ytzjzDz3zTzWy[y+v%w3wmw.snwUf/s:s;sOv4rAuqv{w'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

124 sa_column = kwargs.pop("sa_column", Undefined) 2d ViWiHiIiJiKinuou+urv|t9ykzazuzUzKzNy,y,v4wUwuwdtvw5fetftgtRv*rSusv;w(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t!ylzbzvzVzLzOy-y-v5wVwywttzw6futvtwtSv+rTuuv=w)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t#ymzczwzWzMzPy.y%v6wWw]v,r^vPf-r.r/rzv@qruav?w7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t$ynzdzxzXzNzQy/y'v7wXw{vbs|vQfcsdsesCversucv@w8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu%yozezyzYzOzRy:y.v8wYwCwJtDw9fKtLtMtTvos0uwv[w:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t'ypzfzzzZzPzSy;y(v9wZwawpsbwRfqsrsssFvorvuiv]w!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu(yqzgzAz0zQzTy=y/v!w0wGwZtHw#f0t1t2tUvIs5uyv^w[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)yrzhzBz1zRzUy?y)v#w1wewJsfwSfKsLsMsIvCryumv_w$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*yszizCz2zSzVy@y*v$w2wiw2sjwTf3s4s5sLvQrzuov`w%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+ytzjzDz3zTzWy[y+v%w3wmw.snwUf/s:s;sOv4rAuqv{w'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

125 sa_column_args = kwargs.pop("sa_column_args", Undefined) 2d ViWiHiIiJiKinuou+urv|t9ykzazuzUzKzNy,y,v4wUwuwdtvw5fetftgtRv*rSusv;w(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t!ylzbzvzVzLzOy-y-v5wVwywttzw6futvtwtSv+rTuuv=w)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t#ymzczwzWzMzPy.y%v6wWw]v,r^vPf-r.r/rzv@qruav?w7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t$ynzdzxzXzNzQy/y'v7wXw{vbs|vQfcsdsesCversucv@w8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu%yozezyzYzOzRy:y.v8wYwCwJtDw9fKtLtMtTvos0uwv[w:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t'ypzfzzzZzPzSy;y(v9wZwawpsbwRfqsrsssFvorvuiv]w!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu(yqzgzAz0zQzTy=y/v!w0wGwZtHw#f0t1t2tUvIs5uyv^w[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)yrzhzBz1zRzUy?y)v#w1wewJsfwSfKsLsMsIvCryumv_w$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*yszizCz2zSzVy@y*v$w2wiw2sjwTf3s4s5sLvQrzuov`w%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+ytzjzDz3zTzWy[y+v%w3wmw.snwUf/s:s;sOv4rAuqv{w'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

126 sa_column_kwargs = kwargs.pop("sa_column_kwargs", Undefined) 2d ViWiHiIiJiKinuou+urv|t9ykzazuzUzKzNy,y,v4wUwuwdtvw5fetftgtRv*rSusv;w(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t!ylzbzvzVzLzOy-y-v5wVwywttzw6futvtwtSv+rTuuv=w)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t#ymzczwzWzMzPy.y%v6wWw]v,r^vPf-r.r/rzv@qruav?w7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t$ynzdzxzXzNzQy/y'v7wXw{vbs|vQfcsdsesCversucv@w8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu%yozezyzYzOzRy:y.v8wYwCwJtDw9fKtLtMtTvos0uwv[w:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t'ypzfzzzZzPzSy;y(v9wZwawpsbwRfqsrsssFvorvuiv]w!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu(yqzgzAz0zQzTy=y/v!w0wGwZtHw#f0t1t2tUvIs5uyv^w[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)yrzhzBz1zRzUy?y)v#w1wewJsfwSfKsLsMsIvCryumv_w$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*yszizCz2zSzVy@y*v$w2wiw2sjwTf3s4s5sLvQrzuov`w%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+ytzjzDz3zTzWy[y+v%w3wmw.snwUf/s:s;sOv4rAuqv{w'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

127 if sa_column is not Undefined: 2d ViWiHiIiJiKinuou+urv|t9ykzazuzUzKzNy,y,v4wUwuwdtvw5fetftgtRv*rSusv;w(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t!ylzbzvzVzLzOy-y-v5wVwywttzw6futvtwtSv+rTuuv=w)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t#ymzczwzWzMzPy.y%v6wWw]v,r^vPf-r.r/rzv@qruav?w7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t$ynzdzxzXzNzQy/y'v7wXw{vbs|vQfcsdsesCversucv@w8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu%yozezyzYzOzRy:y.v8wYwCwJtDw9fKtLtMtTvos0uwv[w:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t'ypzfzzzZzPzSy;y(v9wZwawpsbwRfqsrsssFvorvuiv]w!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu(yqzgzAz0zQzTy=y/v!w0wGwZtHw#f0t1t2tUvIs5uyv^w[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)yrzhzBz1zRzUy?y)v#w1wewJsfwSfKsLsMsIvCryumv_w$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*yszizCz2zSzVy@y*v$w2wiw2sjwTf3s4s5sLvQrzuov`w%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+ytzjzDz3zTzWy[y+v%w3wmw.snwUf/s:s;sOv4rAuqv{w'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

128 if sa_column_args is not Undefined: 2|t9ykzazuzUzKzNy,y,v}t!ylzbzvzVzLzOy-y-v.t#ymzczwzWzMzPy.y%v/t$ynzdzxzXzNzQy/y'vdu%yozezyzYzOzRy:y.v:t'ypzfzzzZzPzSy;y(vgu(yqzgzAz0zQzTy=y/v;t)yrzhzBz1zRzUy?y)v=t*yszizCz2zSzVy@y*v?t+ytzjzDz3zTzWy[y+v

129 raise RuntimeError( 2UzVzWzXzYzZz0z1z2z3z

130 "Passing sa_column_args is not supported when " 

131 "also passing a sa_column" 

132 ) 

133 if sa_column_kwargs is not Undefined: 2|t9ykzazuzKzNy,y,v}t!ylzbzvzLzOy-y-v.t#ymzczwzMzPy.y%v/t$ynzdzxzNzQy/y'vdu%yozezyzOzRy:y.v:t'ypzfzzzPzSy;y(vgu(yqzgzAzQzTy=y/v;t)yrzhzBzRzUy?y)v=t*yszizCzSzVy@y*v?t+ytzjzDzTzWy[y+v

134 raise RuntimeError( 2KzLzMzNzOzPzQzRzSzTz

135 "Passing sa_column_kwargs is not supported when " 

136 "also passing a sa_column" 

137 ) 

138 if primary_key is not Undefined: 2|t9ykzazuzNy,y,v}t!ylzbzvzOy-y-v.t#ymzczwzPy.y%v/t$ynzdzxzQy/y'vdu%yozezyzRy:y.v:t'ypzfzzzSy;y(vgu(yqzgzAzTy=y/v;t)yrzhzBzUy?y)v=t*yszizCzVy@y*v?t+ytzjzDzWy[y+v

139 raise RuntimeError( 2uzvzwzxzyzzzAzBzCzDz

140 "Passing primary_key is not supported when also passing a sa_column" 

141 ) 

142 if nullable is not Undefined: 2|t9ykzazNy,y,v}t!ylzbzOy-y-v.t#ymzczPy.y%v/t$ynzdzQy/y'vdu%yozezRy:y.v:t'ypzfzSy;y(vgu(yqzgzTy=y/v;t)yrzhzUy?y)v=t*yszizVy@y*v?t+ytzjzWy[y+v

143 raise RuntimeError( 2kzlzmznzozpzqzrzsztz

144 "Passing nullable is not supported when also passing a sa_column" 

145 ) 

146 if foreign_key is not Undefined: 2|t9yazNy,y,v}t!ybzOy-y-v.t#yczPy.y%v/t$ydzQy/y'vdu%yezRy:y.v:t'yfzSy;y(vgu(ygzTy=y/v;t)yhzUy?y)v=t*yizVy@y*v?t+yjzWy[y+v

147 raise RuntimeError( 2|t}t.t/tdu:tgu;t=t?t

148 "Passing foreign_key is not supported when also passing a sa_column" 

149 ) 

150 if ondelete is not Undefined: 29yazNy,y,v!ybzOy-y-v#yczPy.y%v$ydzQy/y'v%yezRy:y.v'yfzSy;y(v(ygzTy=y/v)yhzUy?y)v*yizVy@y*v+yjzWy[y+v

151 raise RuntimeError( 2azbzczdzezfzgzhzizjz

152 "Passing ondelete is not supported when also passing a sa_column" 

153 ) 

154 if unique is not Undefined: 29yNy,y,v!yOy-y-v#yPy.y%v$yQy/y'v%yRy:y.v'ySy;y(v(yTy=y/v)yUy?y)v*yVy@y*v+yWy[y+v

155 raise RuntimeError( 2,y-y.y/y:y;y=y?y@y[y

156 "Passing unique is not supported when also passing a sa_column" 

157 ) 

158 if index is not Undefined: 29yNy,v!yOy-v#yPy%v$yQy'v%yRy.v'ySy(v(yTy/v)yUy)v*yVy*v+yWy+v

159 raise RuntimeError( 29y!y#y$y%y'y(y)y*y+y

160 "Passing index is not supported when also passing a sa_column" 

161 ) 

162 if sa_type is not Undefined: 2Ny,vOy-vPy%vQy'vRy.vSy(vTy/vUy)vVy*vWy+v

163 raise RuntimeError( 2NyOyPyQyRySyTyUyVyWy

164 "Passing sa_type is not supported when also passing a sa_column" 

165 ) 

166 if ondelete is not Undefined: 2d ViWiHiIiJiKinuou+urv|t,v4wUwuwdtvw5fetftgtRv*rSusv;w(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t-v5wVwywttzw6futvtwtSv+rTuuv=w)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t%v6wWw]v,r^vPf-r.r/rzv@qruav?w7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t'v7wXw{vbs|vQfcsdsesCversucv@w8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu.v8wYwCwJtDw9fKtLtMtTvos0uwv[w:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t(v9wZwawpsbwRfqsrsssFvorvuiv]w!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu/v!w0wGwZtHw#f0t1t2tUvIs5uyv^w[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)v#w1wewJsfwSfKsLsMsIvCryumv_w$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*v$w2wiw2sjwTf3s4s5sLvQrzuov`w%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+v%w3wmw.snwUf/s:s;sOv4rAuqv{w'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

167 if foreign_key is Undefined: 2;w(f~daebe0e1e2ecedeee-d.d/dfegehe=w)foepeqe+e,e-eresete:d;d=duevewe?w7fJbKbLbHcIcJcMbNbObjbkblbPbQbRb@w8fUbVbYcZcWbXbmbnbYbZb[w:fDeEeFe~eafbfGeHeIe?d@d[dJeKeLe]w!f6b7b8b,c-c.c9b!b#bobpbqb$b%b'b^w[fOelfPe]dQe_w$f,b-b.bedfdgd/b:b;brbsbtb=b?b@b`w%f_b`b{bzdAdBd|b}b~bubvbwbacbccc{w'fgchcicUdVdWdjckclcxbybzbmcncoc

168 raise RuntimeError("ondelete can only be used with foreign_key") 2;w=w?w@w[w]w^w_w`w{w

169 super().__init__(default=default, **kwargs) 2d ViWiHiIiJiKinuou+urv|t,v4wUwuwdtvw5fetftgtRv*rSusv;w(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t-v5wVwywttzw6futvtwtSv+rTuuv=w)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t%v6wWw]v,r^vPf-r.r/rzv@qruav?w7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t'v7wXw{vbs|vQfcsdsesCversucv@w8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu.v8wYwCwJtDw9fKtLtMtTvos0uwv[w:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t(v9wZwawpsbwRfqsrsssFvorvuiv]w!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu/v!w0wGwZtHw#f0t1t2tUvIs5uyv^w[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)v#w1wewJsfwSfKsLsMsIvCryumv_w$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*v$w2wiw2sjwTf3s4s5sLvQrzuov`w%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+v%w3wmw.snwUf/s:s;sOv4rAuqv{w'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

170 self.primary_key = primary_key 2d ViWiHiIiJiKinuou+urv|t,v4wUwuwdtvw5fetftgtRv*rSusv;w(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t-v5wVwywttzw6futvtwtSv+rTuuv=w)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t%v6wWw]v,r^vPf-r.r/rzv@qruav?w7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t'v7wXw{vbs|vQfcsdsesCversucv@w8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu.v8wYwCwJtDw9fKtLtMtTvos0uwv[w:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t(v9wZwawpsbwRfqsrsssFvorvuiv]w!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu/v!w0wGwZtHw#f0t1t2tUvIs5uyv^w[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)v#w1wewJsfwSfKsLsMsIvCryumv_w$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*v$w2wiw2sjwTf3s4s5sLvQrzuov`w%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+v%w3wmw.snwUf/s:s;sOv4rAuqv{w'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

171 self.nullable = nullable 2d ViWiHiIiJiKinuou+urv|t,v4wUwuwdtvw5fetftgtRv*rSusv;w(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t-v5wVwywttzw6futvtwtSv+rTuuv=w)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t%v6wWw]v,r^vPf-r.r/rzv@qruav?w7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t'v7wXw{vbs|vQfcsdsesCversucv@w8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu.v8wYwCwJtDw9fKtLtMtTvos0uwv[w:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t(v9wZwawpsbwRfqsrsssFvorvuiv]w!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu/v!w0wGwZtHw#f0t1t2tUvIs5uyv^w[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)v#w1wewJsfwSfKsLsMsIvCryumv_w$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*v$w2wiw2sjwTf3s4s5sLvQrzuov`w%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+v%w3wmw.snwUf/s:s;sOv4rAuqv{w'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

172 self.foreign_key = foreign_key 2d ViWiHiIiJiKinuou+urv|t,v4wUwuwdtvw5fetftgtRv*rSusv;w(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t-v5wVwywttzw6futvtwtSv+rTuuv=w)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t%v6wWw]v,r^vPf-r.r/rzv@qruav?w7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t'v7wXw{vbs|vQfcsdsesCversucv@w8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu.v8wYwCwJtDw9fKtLtMtTvos0uwv[w:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t(v9wZwawpsbwRfqsrsssFvorvuiv]w!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu/v!w0wGwZtHw#f0t1t2tUvIs5uyv^w[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)v#w1wewJsfwSfKsLsMsIvCryumv_w$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*v$w2wiw2sjwTf3s4s5sLvQrzuov`w%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+v%w3wmw.snwUf/s:s;sOv4rAuqv{w'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

173 self.ondelete = ondelete 2d ViWiHiIiJiKinuou+urv|t,v4wUwuwdtvw5fetftgtRv*rSusv;w(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t-v5wVwywttzw6futvtwtSv+rTuuv=w)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t%v6wWw]v,r^vPf-r.r/rzv@qruav?w7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t'v7wXw{vbs|vQfcsdsesCversucv@w8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu.v8wYwCwJtDw9fKtLtMtTvos0uwv[w:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t(v9wZwawpsbwRfqsrsssFvorvuiv]w!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu/v!w0wGwZtHw#f0t1t2tUvIs5uyv^w[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)v#w1wewJsfwSfKsLsMsIvCryumv_w$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*v$w2wiw2sjwTf3s4s5sLvQrzuov`w%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+v%w3wmw.snwUf/s:s;sOv4rAuqv{w'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

174 self.unique = unique 2d ViWiHiIiJiKinuou+urv|t,v4wUwuwdtvw5fetftgtRv*rSusv;w(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t-v5wVwywttzw6futvtwtSv+rTuuv=w)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t%v6wWw]v,r^vPf-r.r/rzv@qruav?w7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t'v7wXw{vbs|vQfcsdsesCversucv@w8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu.v8wYwCwJtDw9fKtLtMtTvos0uwv[w:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t(v9wZwawpsbwRfqsrsssFvorvuiv]w!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu/v!w0wGwZtHw#f0t1t2tUvIs5uyv^w[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)v#w1wewJsfwSfKsLsMsIvCryumv_w$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*v$w2wiw2sjwTf3s4s5sLvQrzuov`w%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+v%w3wmw.snwUf/s:s;sOv4rAuqv{w'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

175 self.index = index 2d ViWiHiIiJiKinuou+urv|t,v4wUwuwdtvw5fetftgtRv*rSusv;w(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t-v5wVwywttzw6futvtwtSv+rTuuv=w)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t%v6wWw]v,r^vPf-r.r/rzv@qruav?w7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t'v7wXw{vbs|vQfcsdsesCversucv@w8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu.v8wYwCwJtDw9fKtLtMtTvos0uwv[w:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t(v9wZwawpsbwRfqsrsssFvorvuiv]w!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu/v!w0wGwZtHw#f0t1t2tUvIs5uyv^w[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)v#w1wewJsfwSfKsLsMsIvCryumv_w$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*v$w2wiw2sjwTf3s4s5sLvQrzuov`w%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+v%w3wmw.snwUf/s:s;sOv4rAuqv{w'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

176 self.sa_type = sa_type 2d ViWiHiIiJiKinuou+urv|t,v4wUwuwdtvw5fetftgtRv*rSusv;w(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t-v5wVwywttzw6futvtwtSv+rTuuv=w)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t%v6wWw]v,r^vPf-r.r/rzv@qruav?w7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t'v7wXw{vbs|vQfcsdsesCversucv@w8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu.v8wYwCwJtDw9fKtLtMtTvos0uwv[w:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t(v9wZwawpsbwRfqsrsssFvorvuiv]w!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu/v!w0wGwZtHw#f0t1t2tUvIs5uyv^w[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)v#w1wewJsfwSfKsLsMsIvCryumv_w$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*v$w2wiw2sjwTf3s4s5sLvQrzuov`w%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+v%w3wmw.snwUf/s:s;sOv4rAuqv{w'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

177 self.sa_column = sa_column 2d ViWiHiIiJiKinuou+urv|t,v4wUwuwdtvw5fetftgtRv*rSusv;w(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t-v5wVwywttzw6futvtwtSv+rTuuv=w)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t%v6wWw]v,r^vPf-r.r/rzv@qruav?w7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t'v7wXw{vbs|vQfcsdsesCversucv@w8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu.v8wYwCwJtDw9fKtLtMtTvos0uwv[w:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t(v9wZwawpsbwRfqsrsssFvorvuiv]w!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu/v!w0wGwZtHw#f0t1t2tUvIs5uyv^w[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)v#w1wewJsfwSfKsLsMsIvCryumv_w$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*v$w2wiw2sjwTf3s4s5sLvQrzuov`w%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+v%w3wmw.snwUf/s:s;sOv4rAuqv{w'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

178 self.sa_column_args = sa_column_args 2d ViWiHiIiJiKinuou+urv|t,v4wUwuwdtvw5fetftgtRv*rSusv;w(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t-v5wVwywttzw6futvtwtSv+rTuuv=w)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t%v6wWw]v,r^vPf-r.r/rzv@qruav?w7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t'v7wXw{vbs|vQfcsdsesCversucv@w8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu.v8wYwCwJtDw9fKtLtMtTvos0uwv[w:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t(v9wZwawpsbwRfqsrsssFvorvuiv]w!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu/v!w0wGwZtHw#f0t1t2tUvIs5uyv^w[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)v#w1wewJsfwSfKsLsMsIvCryumv_w$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*v$w2wiw2sjwTf3s4s5sLvQrzuov`w%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+v%w3wmw.snwUf/s:s;sOv4rAuqv{w'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

179 self.sa_column_kwargs = sa_column_kwargs 2d ViWiHiIiJiKinuou+urv|t,v4wUwuwdtvw5fetftgtRv*rSusv;w(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t-v5wVwywttzw6futvtwtSv+rTuuv=w)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t%v6wWw]v,r^vPf-r.r/rzv@qruav?w7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t'v7wXw{vbs|vQfcsdsesCversucv@w8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu.v8wYwCwJtDw9fKtLtMtTvos0uwv[w:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t(v9wZwawpsbwRfqsrsssFvorvuiv]w!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu/v!w0wGwZtHw#f0t1t2tUvIs5uyv^w[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)v#w1wewJsfwSfKsLsMsIvCryumv_w$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*v$w2wiw2sjwTf3s4s5sLvQrzuov`w%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+v%w3wmw.snwUf/s:s;sOv4rAuqv{w'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

180 

181 

182class RelationshipInfo(Representation): 1daefbghicj

183 def __init__( 1daefbghicj

184 self, 

185 *, 

186 back_populates: Optional[str] = None, 

187 cascade_delete: Optional[bool] = False, 

188 passive_deletes: Optional[Union[bool, Literal["all"]]] = False, 

189 link_model: Optional[Any] = None, 

190 sa_relationship: Optional[RelationshipProperty] = None, # type: ignore 

191 sa_relationship_args: Optional[Sequence[Any]] = None, 

192 sa_relationship_kwargs: Optional[Mapping[str, Any]] = None, 

193 ) -> None: 

194 if sa_relationship is not None: 2d 4wUw5f(fReSeTeS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea 5wVw6f)f9e!e#eY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee 6wWwPf7fvcwcxck l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf 7wXwQf8fQcRcq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb 8wYw9f:f@e[e]e4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg 9wZwRf!f7c8c9cu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch !w0w#f[fif! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi #w1wSf$f]c^c_cA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc $w2wTf%fndodpdG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj %w3wUf'fIdJdKdM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

195 if sa_relationship_args is not None: 24wUw5f5wVw6f6wWwPf7wXwQf8wYw9f9wZwRf!w0w#f#w1wSf$w2wTf%w3wUf

196 raise RuntimeError( 24w5w6w7w8w9w!w#w$w%w

197 "Passing sa_relationship_args is not supported when " 

198 "also passing a sa_relationship" 

199 ) 

200 if sa_relationship_kwargs is not None: 2Uw5fVw6fWwPfXwQfYw9fZwRf0w#f1wSf2wTf3wUf

201 raise RuntimeError( 2UwVwWwXwYwZw0w1w2w3w

202 "Passing sa_relationship_kwargs is not supported when " 

203 "also passing a sa_relationship" 

204 ) 

205 self.back_populates = back_populates 2d 5f(fReSeTeS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea 6f)f9e!e#eY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee Pf7fvcwcxck l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf Qf8fQcRcq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb 9f:f@e[e]e4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg Rf!f7c8c9cu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch #f[fif! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi Sf$f]c^c_cA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc Tf%fndodpdG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj Uf'fIdJdKdM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

206 self.cascade_delete = cascade_delete 2d 5f(fReSeTeS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea 6f)f9e!e#eY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee Pf7fvcwcxck l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf Qf8fQcRcq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb 9f:f@e[e]e4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg Rf!f7c8c9cu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch #f[fif! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi Sf$f]c^c_cA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc Tf%fndodpdG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj Uf'fIdJdKdM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

207 self.passive_deletes = passive_deletes 2d 5f(fReSeTeS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea 6f)f9e!e#eY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee Pf7fvcwcxck l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf Qf8fQcRcq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb 9f:f@e[e]e4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg Rf!f7c8c9cu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch #f[fif! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi Sf$f]c^c_cA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc Tf%fndodpdG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj Uf'fIdJdKdM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

208 self.link_model = link_model 2d 5f(fReSeTeS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea 6f)f9e!e#eY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee Pf7fvcwcxck l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf Qf8fQcRcq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb 9f:f@e[e]e4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg Rf!f7c8c9cu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch #f[fif! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi Sf$f]c^c_cA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc Tf%fndodpdG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj Uf'fIdJdKdM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

209 self.sa_relationship = sa_relationship 2d 5f(fReSeTeS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea 6f)f9e!e#eY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee Pf7fvcwcxck l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf Qf8fQcRcq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb 9f:f@e[e]e4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg Rf!f7c8c9cu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch #f[fif! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi Sf$f]c^c_cA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc Tf%fndodpdG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj Uf'fIdJdKdM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

210 self.sa_relationship_args = sa_relationship_args 2d 5f(fReSeTeS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea 6f)f9e!e#eY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee Pf7fvcwcxck l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf Qf8fQcRcq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb 9f:f@e[e]e4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg Rf!f7c8c9cu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch #f[fif! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi Sf$f]c^c_cA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc Tf%fndodpdG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj Uf'fIdJdKdM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

211 self.sa_relationship_kwargs = sa_relationship_kwargs 2d 5f(fReSeTeS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea 6f)f9e!e#eY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee Pf7fvcwcxck l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf Qf8fQcRcq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb 9f:f@e[e]e4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg Rf!f7c8c9cu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch #f[fif! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi Sf$f]c^c_cA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc Tf%fndodpdG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj Uf'fIdJdKdM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

212 

213 

214# include sa_type, sa_column_args, sa_column_kwargs 

215@overload 1daefbghicj

216def Field( 1daefbghicj

217 default: Any = Undefined, 1daefbghicj

218 *, 

219 default_factory: Optional[NoArgAnyCallable] = None, 1daefbghicj

220 alias: Optional[str] = None, 1daefbghicj

221 title: Optional[str] = None, 1daefbghicj

222 description: Optional[str] = None, 1daefbghicj

223 exclude: Union[ 1abc

224 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any 

225 ] = None, 1daefbghicj

226 include: Union[ 1abc

227 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any 

228 ] = None, 1daefbghicj

229 const: Optional[bool] = None, 1daefbghicj

230 gt: Optional[float] = None, 1daefbghicj

231 ge: Optional[float] = None, 1daefbghicj

232 lt: Optional[float] = None, 1daefbghicj

233 le: Optional[float] = None, 1daefbghicj

234 multiple_of: Optional[float] = None, 1daefbghicj

235 max_digits: Optional[int] = None, 1daefbghicj

236 decimal_places: Optional[int] = None, 1daefbghicj

237 min_items: Optional[int] = None, 1daefbghicj

238 max_items: Optional[int] = None, 1daefbghicj

239 unique_items: Optional[bool] = None, 1daefbghicj

240 min_length: Optional[int] = None, 1daefbghicj

241 max_length: Optional[int] = None, 1daefbghicj

242 allow_mutation: bool = True, 1daefbghicj

243 regex: Optional[str] = None, 1daefbghicj

244 discriminator: Optional[str] = None, 1daefbghicj

245 repr: bool = True, 1daefbghicj

246 primary_key: Union[bool, UndefinedType] = Undefined, 1daefbghicj

247 foreign_key: Any = Undefined, 1daefbghicj

248 unique: Union[bool, UndefinedType] = Undefined, 1daefbghicj

249 nullable: Union[bool, UndefinedType] = Undefined, 1daefbghicj

250 index: Union[bool, UndefinedType] = Undefined, 1daefbghicj

251 sa_type: Union[Type[Any], UndefinedType] = Undefined, 1daefbghicj

252 sa_column_args: Union[Sequence[Any], UndefinedType] = Undefined, 1daefbghicj

253 sa_column_kwargs: Union[Mapping[str, Any], UndefinedType] = Undefined, 1daefbghicj

254 schema_extra: Optional[Dict[str, Any]] = None, 1daefbghicj

255) -> Any: ... 1abc

256 

257 

258# When foreign_key is str, include ondelete 

259# include sa_type, sa_column_args, sa_column_kwargs 

260@overload 1daefbghicj

261def Field( 1daefbghicj

262 default: Any = Undefined, 1daefbghicj

263 *, 

264 default_factory: Optional[NoArgAnyCallable] = None, 1daefbghicj

265 alias: Optional[str] = None, 1daefbghicj

266 title: Optional[str] = None, 1daefbghicj

267 description: Optional[str] = None, 1daefbghicj

268 exclude: Union[ 1abc

269 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any 

270 ] = None, 1daefbghicj

271 include: Union[ 1abc

272 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any 

273 ] = None, 1daefbghicj

274 const: Optional[bool] = None, 1daefbghicj

275 gt: Optional[float] = None, 1daefbghicj

276 ge: Optional[float] = None, 1daefbghicj

277 lt: Optional[float] = None, 1daefbghicj

278 le: Optional[float] = None, 1daefbghicj

279 multiple_of: Optional[float] = None, 1daefbghicj

280 max_digits: Optional[int] = None, 1daefbghicj

281 decimal_places: Optional[int] = None, 1daefbghicj

282 min_items: Optional[int] = None, 1daefbghicj

283 max_items: Optional[int] = None, 1daefbghicj

284 unique_items: Optional[bool] = None, 1daefbghicj

285 min_length: Optional[int] = None, 1daefbghicj

286 max_length: Optional[int] = None, 1daefbghicj

287 allow_mutation: bool = True, 1daefbghicj

288 regex: Optional[str] = None, 1daefbghicj

289 discriminator: Optional[str] = None, 1daefbghicj

290 repr: bool = True, 1daefbghicj

291 primary_key: Union[bool, UndefinedType] = Undefined, 1daefbghicj

292 foreign_key: str, 1abc

293 ondelete: Union[OnDeleteType, UndefinedType] = Undefined, 1daefbghicj

294 unique: Union[bool, UndefinedType] = Undefined, 1daefbghicj

295 nullable: Union[bool, UndefinedType] = Undefined, 1daefbghicj

296 index: Union[bool, UndefinedType] = Undefined, 1daefbghicj

297 sa_type: Union[Type[Any], UndefinedType] = Undefined, 1daefbghicj

298 sa_column_args: Union[Sequence[Any], UndefinedType] = Undefined, 1daefbghicj

299 sa_column_kwargs: Union[Mapping[str, Any], UndefinedType] = Undefined, 1daefbghicj

300 schema_extra: Optional[Dict[str, Any]] = None, 1daefbghicj

301) -> Any: ... 1abc

302 

303 

304# Include sa_column, don't include 

305# primary_key 

306# foreign_key 

307# ondelete 

308# unique 

309# nullable 

310# index 

311# sa_type 

312# sa_column_args 

313# sa_column_kwargs 

314@overload 1daefbghicj

315def Field( 1daefbghicj

316 default: Any = Undefined, 1daefbghicj

317 *, 

318 default_factory: Optional[NoArgAnyCallable] = None, 1daefbghicj

319 alias: Optional[str] = None, 1daefbghicj

320 title: Optional[str] = None, 1daefbghicj

321 description: Optional[str] = None, 1daefbghicj

322 exclude: Union[ 1abc

323 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any 

324 ] = None, 1daefbghicj

325 include: Union[ 1abc

326 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any 

327 ] = None, 1daefbghicj

328 const: Optional[bool] = None, 1daefbghicj

329 gt: Optional[float] = None, 1daefbghicj

330 ge: Optional[float] = None, 1daefbghicj

331 lt: Optional[float] = None, 1daefbghicj

332 le: Optional[float] = None, 1daefbghicj

333 multiple_of: Optional[float] = None, 1daefbghicj

334 max_digits: Optional[int] = None, 1daefbghicj

335 decimal_places: Optional[int] = None, 1daefbghicj

336 min_items: Optional[int] = None, 1daefbghicj

337 max_items: Optional[int] = None, 1daefbghicj

338 unique_items: Optional[bool] = None, 1daefbghicj

339 min_length: Optional[int] = None, 1daefbghicj

340 max_length: Optional[int] = None, 1daefbghicj

341 allow_mutation: bool = True, 1daefbghicj

342 regex: Optional[str] = None, 1daefbghicj

343 discriminator: Optional[str] = None, 1daefbghicj

344 repr: bool = True, 1daefbghicj

345 sa_column: Union[Column[Any], UndefinedType] = Undefined, 1daefbghicj

346 schema_extra: Optional[Dict[str, Any]] = None, 1daefbghicj

347) -> Any: ... 1abc

348 

349 

350def Field( 1daefbghicj

351 default: Any = Undefined, 

352 *, 

353 default_factory: Optional[NoArgAnyCallable] = None, 

354 alias: Optional[str] = None, 

355 title: Optional[str] = None, 

356 description: Optional[str] = None, 

357 exclude: Union[ 

358 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any 

359 ] = None, 

360 include: Union[ 

361 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any 

362 ] = None, 

363 const: Optional[bool] = None, 

364 gt: Optional[float] = None, 

365 ge: Optional[float] = None, 

366 lt: Optional[float] = None, 

367 le: Optional[float] = None, 

368 multiple_of: Optional[float] = None, 

369 max_digits: Optional[int] = None, 

370 decimal_places: Optional[int] = None, 

371 min_items: Optional[int] = None, 

372 max_items: Optional[int] = None, 

373 unique_items: Optional[bool] = None, 

374 min_length: Optional[int] = None, 

375 max_length: Optional[int] = None, 

376 allow_mutation: bool = True, 

377 regex: Optional[str] = None, 

378 discriminator: Optional[str] = None, 

379 repr: bool = True, 

380 primary_key: Union[bool, UndefinedType] = Undefined, 

381 foreign_key: Any = Undefined, 

382 ondelete: Union[OnDeleteType, UndefinedType] = Undefined, 

383 unique: Union[bool, UndefinedType] = Undefined, 

384 nullable: Union[bool, UndefinedType] = Undefined, 

385 index: Union[bool, UndefinedType] = Undefined, 

386 sa_type: Union[Type[Any], UndefinedType] = Undefined, 

387 sa_column: Union[Column, UndefinedType] = Undefined, # type: ignore 

388 sa_column_args: Union[Sequence[Any], UndefinedType] = Undefined, 

389 sa_column_kwargs: Union[Mapping[str, Any], UndefinedType] = Undefined, 

390 schema_extra: Optional[Dict[str, Any]] = None, 

391) -> Any: 

392 current_schema_extra = schema_extra or {} 2d ViWiHiIiJiKinuou+urv|t9ykzazuzUzKzNy,y,v4wUwuwdtvw5fetftgtRv*rSusv;w(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t!ylzbzvzVzLzOy-y-v5wVwywttzw6futvtwtSv+rTuuv=w)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t#ymzczwzWzMzPy.y%v6wWw]v,r^vPf-r.r/rzv@qruav?w7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t$ynzdzxzXzNzQy/y'v7wXw{vbs|vQfcsdsesCversucv@w8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu%yozezyzYzOzRy:y.v8wYwCwJtDw9fKtLtMtTvos0uwv[w:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t'ypzfzzzZzPzSy;y(v9wZwawpsbwRfqsrsssFvorvuiv]w!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu(yqzgzAz0zQzTy=y/v!w0wGwZtHw#f0t1t2tUvIs5uyv^w[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)yrzhzBz1zRzUy?y)v#w1wewJsfwSfKsLsMsIvCryumv_w$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*yszizCz2zSzVy@y*v$w2wiw2sjwTf3s4s5sLvQrzuov`w%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+ytzjzDz3zTzWy[y+v%w3wmw.snwUf/s:s;sOv4rAuqv{w'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

393 field_info = FieldInfo( 2d ViWiHiIiJiKinuou+urv|t9ykzazuzUzKzNy,y,v4wUwuwdtvw5fetftgtRv*rSusv;w(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t!ylzbzvzVzLzOy-y-v5wVwywttzw6futvtwtSv+rTuuv=w)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t#ymzczwzWzMzPy.y%v6wWw]v,r^vPf-r.r/rzv@qruav?w7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t$ynzdzxzXzNzQy/y'v7wXw{vbs|vQfcsdsesCversucv@w8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu%yozezyzYzOzRy:y.v8wYwCwJtDw9fKtLtMtTvos0uwv[w:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t'ypzfzzzZzPzSy;y(v9wZwawpsbwRfqsrsssFvorvuiv]w!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu(yqzgzAz0zQzTy=y/v!w0wGwZtHw#f0t1t2tUvIs5uyv^w[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)yrzhzBz1zRzUy?y)v#w1wewJsfwSfKsLsMsIvCryumv_w$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*yszizCz2zSzVy@y*v$w2wiw2sjwTf3s4s5sLvQrzuov`w%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+ytzjzDz3zTzWy[y+v%w3wmw.snwUf/s:s;sOv4rAuqv{w'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

394 default, 

395 default_factory=default_factory, 

396 alias=alias, 

397 title=title, 

398 description=description, 

399 exclude=exclude, 

400 include=include, 

401 const=const, 

402 gt=gt, 

403 ge=ge, 

404 lt=lt, 

405 le=le, 

406 multiple_of=multiple_of, 

407 max_digits=max_digits, 

408 decimal_places=decimal_places, 

409 min_items=min_items, 

410 max_items=max_items, 

411 unique_items=unique_items, 

412 min_length=min_length, 

413 max_length=max_length, 

414 allow_mutation=allow_mutation, 

415 regex=regex, 

416 discriminator=discriminator, 

417 repr=repr, 

418 primary_key=primary_key, 

419 foreign_key=foreign_key, 

420 ondelete=ondelete, 

421 unique=unique, 

422 nullable=nullable, 

423 index=index, 

424 sa_type=sa_type, 

425 sa_column=sa_column, 

426 sa_column_args=sa_column_args, 

427 sa_column_kwargs=sa_column_kwargs, 

428 **current_schema_extra, 

429 ) 

430 post_init_field_info(field_info) 2d ViWiHiIiJiKinuou+urv|t,v4wUwuwdtvw5fetftgtRv*rSusv;w(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t-v5wVwywttzw6futvtwtSv+rTuuv=w)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t%v6wWw]v,r^vPf-r.r/rzv@qruav?w7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t'v7wXw{vbs|vQfcsdsesCversucv@w8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu.v8wYwCwJtDw9fKtLtMtTvos0uwv[w:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t(v9wZwawpsbwRfqsrsssFvorvuiv]w!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu/v!w0wGwZtHw#f0t1t2tUvIs5uyv^w[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)v#w1wewJsfwSfKsLsMsIvCryumv_w$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*v$w2wiw2sjwTf3s4s5sLvQrzuov`w%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+v%w3wmw.snwUf/s:s;sOv4rAuqv{w'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

431 return field_info 2d ViWiHiIiJiKinuou+urv|t,v4wUwuwdtvw5fetftgtRv*rSusv;w(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t-v5wVwywttzw6futvtwtSv+rTuuv=w)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t%v6wWw]v,r^vPf-r.r/rzv@qruav?w7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t'v7wXw{vbs|vQfcsdsesCversucv@w8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu.v8wYwCwJtDw9fKtLtMtTvos0uwv[w:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t(v9wZwawpsbwRfqsrsssFvorvuiv]w!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu/v!w0wGwZtHw#f0t1t2tUvIs5uyv^w[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)v#w1wewJsfwSfKsLsMsIvCryumv_w$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*v$w2wiw2sjwTf3s4s5sLvQrzuov`w%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+v%w3wmw.snwUf/s:s;sOv4rAuqv{w'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

432 

433 

434@overload 1daefbghicj

435def Relationship( 1daefbghicj

436 *, 

437 back_populates: Optional[str] = None, 1daefbghicj

438 cascade_delete: Optional[bool] = False, 1daefbghicj

439 passive_deletes: Optional[Union[bool, Literal["all"]]] = False, 1daefbghicj

440 link_model: Optional[Any] = None, 1daefbghicj

441 sa_relationship_args: Optional[Sequence[Any]] = None, 1daefbghicj

442 sa_relationship_kwargs: Optional[Mapping[str, Any]] = None, 1daefbghicj

443) -> Any: ... 1abc

444 

445 

446@overload 1daefbghicj

447def Relationship( 1daefbghicj

448 *, 

449 back_populates: Optional[str] = None, 1daefbghicj

450 cascade_delete: Optional[bool] = False, 1daefbghicj

451 passive_deletes: Optional[Union[bool, Literal["all"]]] = False, 1daefbghicj

452 link_model: Optional[Any] = None, 1daefbghicj

453 sa_relationship: Optional[RelationshipProperty[Any]] = None, 1daefbghicj

454) -> Any: ... 1abc

455 

456 

457def Relationship( 1daefbghicj

458 *, 

459 back_populates: Optional[str] = None, 

460 cascade_delete: Optional[bool] = False, 

461 passive_deletes: Optional[Union[bool, Literal["all"]]] = False, 

462 link_model: Optional[Any] = None, 

463 sa_relationship: Optional[RelationshipProperty[Any]] = None, 

464 sa_relationship_args: Optional[Sequence[Any]] = None, 

465 sa_relationship_kwargs: Optional[Mapping[str, Any]] = None, 

466) -> Any: 

467 relationship_info = RelationshipInfo( 2d 4wUw5f(fReSeTeS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea 5wVw6f)f9e!e#eY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee 6wWwPf7fvcwcxck l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf 7wXwQf8fQcRcq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb 8wYw9f:f@e[e]e4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg 9wZwRf!f7c8c9cu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch !w0w#f[fif! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi #w1wSf$f]c^c_cA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc $w2wTf%fndodpdG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj %w3wUf'fIdJdKdM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

468 back_populates=back_populates, 

469 cascade_delete=cascade_delete, 

470 passive_deletes=passive_deletes, 

471 link_model=link_model, 

472 sa_relationship=sa_relationship, 

473 sa_relationship_args=sa_relationship_args, 

474 sa_relationship_kwargs=sa_relationship_kwargs, 

475 ) 

476 return relationship_info 2d 5f(fReSeTeS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea 6f)f9e!e#eY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee Pf7fvcwcxck l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf Qf8fQcRcq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb 9f:f@e[e]e4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg Rf!f7c8c9cu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch #f[fif! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi Sf$f]c^c_cA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc Tf%fndodpdG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj Uf'fIdJdKdM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

477 

478 

479@__dataclass_transform__(kw_only_default=True, field_descriptors=(Field, FieldInfo)) 1daefbghicj

480class SQLModelMetaclass(ModelMetaclass, DeclarativeMeta): 1daefbghicj

481 __sqlmodel_relationships__: Dict[str, RelationshipInfo] 1daefbghicj

482 model_config: SQLModelConfig 1daefbghicj

483 model_fields: ClassVar[Dict[str, FieldInfo]] 1daefbghicj

484 __config__: Type[SQLModelConfig] 1daefbghicj

485 __fields__: Dict[str, ModelField] # type: ignore[assignment] 1daefbghicj

486 

487 # Replicate SQLAlchemy 

488 def __setattr__(cls, name: str, value: Any) -> None: 1daefbghicj

489 if is_table_model_class(cls): 2d ViWiHiIiJiKinuou+urv|t,vuwdtvw5fetftgtRv*rSusv(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwa %i'iLiMiNiOipuqu.utv}t-vywttzw6futvtwtSv+rTuuv)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwe -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/rzv@qruav7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesCversucv8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb _i`iPiQiRiSituuu;uvvdu.vCwJtDw9fKtLtMtTvos0uwv:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssFvorvuiv!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh mjTiUiwuxu@uxvgu/vGwZtHw#f0t1t2tUvIs5uyv[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsIvCryumv$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sLvQrzuov%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;sOv4rAuqv'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

490 DeclarativeMeta.__setattr__(cls, name, value) 2d ViWiHiIiJiKinuou+urv|t,vdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t-vtt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t%v,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t'vbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu.vJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t(vpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu/vZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)vJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*v2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+v.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

491 else: 

492 super().__setattr__(name, value) 2d ViWiHiIiJiKinuou+urv|t,vuwdtvw5fetftgtRv*rSusv(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwa %i'iLiMiNiOipuqu.utv}t-vywttzw6futvtwtSv+rTuuv)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwe -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/rzv@qruav7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesCversucv8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb _i`iPiQiRiSituuu;uvvdu.vCwJtDw9fKtLtMtTvos0uwv:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssFvorvuiv!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh mjTiUiwuxu@uxvgu/vGwZtHw#f0t1t2tUvIs5uyv[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsIvCryumv$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sLvQrzuov%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;sOv4rAuqv'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

493 

494 def __delattr__(cls, name: str) -> None: 1daefbghicj

495 if is_table_model_class(cls): 2d a e -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/rzv@qruav7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesCversucv8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb g khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssFvorvuiv!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh i ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsIvCryumv$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sLvQrzuov%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;sOv4rAuqv'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

496 DeclarativeMeta.__delattr__(cls, name) 1daefbghicj

497 else: 

498 super().__delattr__(name) 2e -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/rzv@qruav7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesCversucv8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssFvorvuiv!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsIvCryumv$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sLvQrzuov%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;sOv4rAuqv'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

499 

500 # From Pydantic 

501 def __new__( 1daefbghicj

502 cls, 

503 name: str, 

504 bases: Tuple[Type[Any], ...], 

505 class_dict: Dict[str, Any], 

506 **kwargs: Any, 

507 ) -> Any: 

508 relationships: Dict[str, RelationshipInfo] = {} 2d ViWiHiIiJiKinuou+urv|t,vuwdtvw5fetftgtRv*rSusv(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwa %i'iLiMiNiOipuqu.utv}t-vywttzw6futvtwtSv+rTuuv)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwe -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/rzv@qruav7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesCversucv8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb _i`iPiQiRiSituuu;uvvdu.vCwJtDw9fKtLtMtTvos0uwv:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssFvorvuiv!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh mjTiUiwuxu@uxvgu/vGwZtHw#f0t1t2tUvIs5uyv[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsIvCryumv$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sLvQrzuov%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;sOv4rAuqv'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

509 dict_for_pydantic = {} 2d ViWiHiIiJiKinuou+urv|t,vuwdtvw5fetftgtRv*rSusv(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwa %i'iLiMiNiOipuqu.utv}t-vywttzw6futvtwtSv+rTuuv)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwe -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/rzv@qruav7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesCversucv8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb _i`iPiQiRiSituuu;uvvdu.vCwJtDw9fKtLtMtTvos0uwv:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssFvorvuiv!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh mjTiUiwuxu@uxvgu/vGwZtHw#f0t1t2tUvIs5uyv[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsIvCryumv$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sLvQrzuov%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;sOv4rAuqv'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

510 original_annotations = get_annotations(class_dict) 2d ViWiHiIiJiKinuou+urv|t,vuwdtvw5fetftgtRv*rSusv(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwa %i'iLiMiNiOipuqu.utv}t-vywttzw6futvtwtSv+rTuuv)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwe -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/rzv@qruav7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesCversucv8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb _i`iPiQiRiSituuu;uvvdu.vCwJtDw9fKtLtMtTvos0uwv:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssFvorvuiv!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh mjTiUiwuxu@uxvgu/vGwZtHw#f0t1t2tUvIs5uyv[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsIvCryumv$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sLvQrzuov%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;sOv4rAuqv'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

511 pydantic_annotations = {} 2d ViWiHiIiJiKinuou+urv|t,vuwdtvw5fetftgtRv*rSusv(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwa %i'iLiMiNiOipuqu.utv}t-vywttzw6futvtwtSv+rTuuv)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwe -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/rzv@qruav7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesCversucv8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb _i`iPiQiRiSituuu;uvvdu.vCwJtDw9fKtLtMtTvos0uwv:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssFvorvuiv!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh mjTiUiwuxu@uxvgu/vGwZtHw#f0t1t2tUvIs5uyv[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsIvCryumv$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sLvQrzuov%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;sOv4rAuqv'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

512 relationship_annotations = {} 2d ViWiHiIiJiKinuou+urv|t,vuwdtvw5fetftgtRv*rSusv(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwa %i'iLiMiNiOipuqu.utv}t-vywttzw6futvtwtSv+rTuuv)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwe -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/rzv@qruav7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesCversucv8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb _i`iPiQiRiSituuu;uvvdu.vCwJtDw9fKtLtMtTvos0uwv:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssFvorvuiv!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh mjTiUiwuxu@uxvgu/vGwZtHw#f0t1t2tUvIs5uyv[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsIvCryumv$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sLvQrzuov%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;sOv4rAuqv'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

513 for k, v in class_dict.items(): 2d ViWiHiIiJiKinuou+urv|t,vuwdtvw5fetftgtRv*rSusv(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwa %i'iLiMiNiOipuqu.utv}t-vywttzw6futvtwtSv+rTuuv)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwe -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/rzv@qruav7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesCversucv8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb _i`iPiQiRiSituuu;uvvdu.vCwJtDw9fKtLtMtTvos0uwv:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssFvorvuiv!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh mjTiUiwuxu@uxvgu/vGwZtHw#f0t1t2tUvIs5uyv[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsIvCryumv$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sLvQrzuov%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;sOv4rAuqv'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

514 if isinstance(v, RelationshipInfo): 2d ViWiHiIiJiKinuou+urv|t,vuwdtvw5fetftgtRv*rSusv(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwa %i'iLiMiNiOipuqu.utv}t-vywttzw6futvtwtSv+rTuuv)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwe -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/rzv@qruav7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesCversucv8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb _i`iPiQiRiSituuu;uvvdu.vCwJtDw9fKtLtMtTvos0uwv:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssFvorvuiv!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh mjTiUiwuxu@uxvgu/vGwZtHw#f0t1t2tUvIs5uyv[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsIvCryumv$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sLvQrzuov%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;sOv4rAuqv'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

515 relationships[k] = v 2d 5f(fReSeTeS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea 6f)f9e!e#eY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee Pf7fvcwcxck l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf Qf8fQcRcq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb 9f:f@e[e]e4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg Rf!f7c8c9cu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch #f[fif! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi Sf$f]c^c_cA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc Tf%fndodpdG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj Uf'fIdJdKdM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

516 else: 

517 dict_for_pydantic[k] = v 2d ViWiHiIiJiKinuou+urv|t,vuwdtvw5fetftgtRv*rSusv(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwa %i'iLiMiNiOipuqu.utv}t-vywttzw6futvtwtSv+rTuuv)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwe -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/rzv@qruav7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesCversucv8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb _i`iPiQiRiSituuu;uvvdu.vCwJtDw9fKtLtMtTvos0uwv:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssFvorvuiv!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh mjTiUiwuxu@uxvgu/vGwZtHw#f0t1t2tUvIs5uyv[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsIvCryumv$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sLvQrzuov%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;sOv4rAuqv'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

518 for k, v in original_annotations.items(): 2d ViWiHiIiJiKinuou+urv|t,vuwdtvw5fetftgtRv*rSusv(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwa %i'iLiMiNiOipuqu.utv}t-vywttzw6futvtwtSv+rTuuv)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwe -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/rzv@qruav7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesCversucv8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb _i`iPiQiRiSituuu;uvvdu.vCwJtDw9fKtLtMtTvos0uwv:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssFvorvuiv!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh mjTiUiwuxu@uxvgu/vGwZtHw#f0t1t2tUvIs5uyv[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsIvCryumv$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sLvQrzuov%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;sOv4rAuqv'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

519 if k in relationships: 2d ViWiHiIiJiKinuou+urv|t,vuwdtvw5fetftgtRv*rSusv(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwa %i'iLiMiNiOipuqu.utv}t-vywttzw6futvtwtSv+rTuuv)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwe -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/rzv@qruav7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesCversucv8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb _i`iPiQiRiSituuu;uvvdu.vCwJtDw9fKtLtMtTvos0uwv:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssFvorvuiv!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh mjTiUiwuxu@uxvgu/vGwZtHw#f0t1t2tUvIs5uyv[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsIvCryumv$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sLvQrzuov%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;sOv4rAuqv'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

520 relationship_annotations[k] = v 2d 5f(fReSeTeS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea 6f)f9e!e#eY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee Pf7fvcwcxck l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf Qf8fQcRcq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb 9f:f@e[e]e4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg Rf!f7c8c9cu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch #f[fif! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi Sf$f]c^c_cA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc Tf%fndodpdG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj Uf'fIdJdKdM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

521 else: 

522 pydantic_annotations[k] = v 2d ViWiHiIiJiKinuou+urv|t,vuwdtvw5fetftgtRv*rSusv(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwa %i'iLiMiNiOipuqu.utv}t-vywttzw6futvtwtSv+rTuuv)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwe -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/rzv@qruav7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesCversucv8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb _i`iPiQiRiSituuu;uvvdu.vCwJtDw9fKtLtMtTvos0uwv:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssFvorvuiv!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh mjTiUiwuxu@uxvgu/vGwZtHw#f0t1t2tUvIs5uyv[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsIvCryumv$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sLvQrzuov%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;sOv4rAuqv'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

523 dict_used = { 2d ViWiHiIiJiKinuou+urv|t,vuwdtvw5fetftgtRv*rSusv(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwa %i'iLiMiNiOipuqu.utv}t-vywttzw6futvtwtSv+rTuuv)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwe -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/rzv@qruav7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesCversucv8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb _i`iPiQiRiSituuu;uvvdu.vCwJtDw9fKtLtMtTvos0uwv:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssFvorvuiv!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh mjTiUiwuxu@uxvgu/vGwZtHw#f0t1t2tUvIs5uyv[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsIvCryumv$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sLvQrzuov%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;sOv4rAuqv'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

524 **dict_for_pydantic, 

525 "__weakref__": None, 

526 "__sqlmodel_relationships__": relationships, 

527 "__annotations__": pydantic_annotations, 

528 } 

529 # Duplicate logic from Pydantic to filter config kwargs because if they are 

530 # passed directly including the registry Pydantic will pass them over to the 

531 # superclass causing an error 

532 allowed_config_kwargs: Set[str] = { 2d ViWiHiIiJiKinuou+urv|t,vuwdtvw5fetftgtRv*rSusv(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwa %i'iLiMiNiOipuqu.utv}t-vywttzw6futvtwtSv+rTuuv)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwe -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/rzv@qruav7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesCversucv8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb _i`iPiQiRiSituuu;uvvdu.vCwJtDw9fKtLtMtTvos0uwv:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssFvorvuiv!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh mjTiUiwuxu@uxvgu/vGwZtHw#f0t1t2tUvIs5uyv[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsIvCryumv$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sLvQrzuov%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;sOv4rAuqv'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

533 key 

534 for key in dir(BaseConfig) 

535 if not ( 

536 key.startswith("__") and key.endswith("__") 

537 ) # skip dunder methods and attributes 

538 } 

539 config_kwargs = { 2d ViWiHiIiJiKinuou+urv|t,vuwdtvw5fetftgtRv*rSusv(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwa %i'iLiMiNiOipuqu.utv}t-vywttzw6futvtwtSv+rTuuv)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwe -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/rzv@qruav7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesCversucv8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb _i`iPiQiRiSituuu;uvvdu.vCwJtDw9fKtLtMtTvos0uwv:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssFvorvuiv!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh mjTiUiwuxu@uxvgu/vGwZtHw#f0t1t2tUvIs5uyv[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsIvCryumv$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sLvQrzuov%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;sOv4rAuqv'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

540 key: kwargs[key] for key in kwargs.keys() & allowed_config_kwargs 

541 } 

542 new_cls = super().__new__(cls, name, bases, dict_used, **config_kwargs) 2d ViWiHiIiJiKinuou+urv|t,vuwdtvw5fetftgtRv*rSusv(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwa %i'iLiMiNiOipuqu.utv}t-vywttzw6futvtwtSv+rTuuv)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwe -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/rzv@qruav7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesCversucv8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb _i`iPiQiRiSituuu;uvvdu.vCwJtDw9fKtLtMtTvos0uwv:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssFvorvuiv!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh mjTiUiwuxu@uxvgu/vGwZtHw#f0t1t2tUvIs5uyv[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsIvCryumv$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sLvQrzuov%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;sOv4rAuqv'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

543 new_cls.__annotations__ = { 2d ViWiHiIiJiKinuou+urv|t,vuwdtvw5fetftgtRv*rSusv(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwa %i'iLiMiNiOipuqu.utv}t-vywttzw6futvtwtSv+rTuuv)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwe -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/rzv@qruav7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesCversucv8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb _i`iPiQiRiSituuu;uvvdu.vCwJtDw9fKtLtMtTvos0uwv:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssFvorvuiv!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh mjTiUiwuxu@uxvgu/vGwZtHw#f0t1t2tUvIs5uyv[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsIvCryumv$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sLvQrzuov%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;sOv4rAuqv'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

544 **relationship_annotations, 

545 **pydantic_annotations, 

546 **new_cls.__annotations__, 

547 } 

548 

549 def get_config(name: str) -> Any: 2d ViWiHiIiJiKinuou+urv|t,vuwdtvw5fetftgtRv*rSusv(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwa %i'iLiMiNiOipuqu.utv}t-vywttzw6futvtwtSv+rTuuv)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwe -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/rzv@qruav7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesCversucv8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb _i`iPiQiRiSituuu;uvvdu.vCwJtDw9fKtLtMtTvos0uwv:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssFvorvuiv!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh mjTiUiwuxu@uxvgu/vGwZtHw#f0t1t2tUvIs5uyv[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsIvCryumv$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sLvQrzuov%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;sOv4rAuqv'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

550 config_class_value = get_config_value( 2d ViWiHiIiJiKinuou+urv|t,vuwdtvw5fetftgtRv*rSusv(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwa %i'iLiMiNiOipuqu.utv}t-vywttzw6futvtwtSv+rTuuv)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwe -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/rzv@qruav7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesCversucv8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb _i`iPiQiRiSituuu;uvvdu.vCwJtDw9fKtLtMtTvos0uwv:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssFvorvuiv!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh mjTiUiwuxu@uxvgu/vGwZtHw#f0t1t2tUvIs5uyv[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsIvCryumv$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sLvQrzuov%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;sOv4rAuqv'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

551 model=new_cls, parameter=name, default=Undefined 

552 ) 

553 if config_class_value is not Undefined: 2d ViWiHiIiJiKinuou+urv|t,vuwdtvw5fetftgtRv*rSusv(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwa %i'iLiMiNiOipuqu.utv}t-vywttzw6futvtwtSv+rTuuv)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwe -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/rzv@qruav7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesCversucv8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb _i`iPiQiRiSituuu;uvvdu.vCwJtDw9fKtLtMtTvos0uwv:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssFvorvuiv!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh mjTiUiwuxu@uxvgu/vGwZtHw#f0t1t2tUvIs5uyv[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsIvCryumv$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sLvQrzuov%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;sOv4rAuqv'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

554 return config_class_value 2vjwjxjyjzjAjBjCjDjEj

555 kwarg_value = kwargs.get(name, Undefined) 2d ViWiHiIiJiKinuou+urv|t,vuwdtvw5fetftgtRv*rSusv(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwa %i'iLiMiNiOipuqu.utv}t-vywttzw6futvtwtSv+rTuuv)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwe -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/rzv@qruav7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesCversucv8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb _i`iPiQiRiSituuu;uvvdu.vCwJtDw9fKtLtMtTvos0uwv:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssFvorvuiv!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh mjTiUiwuxu@uxvgu/vGwZtHw#f0t1t2tUvIs5uyv[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsIvCryumv$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sLvQrzuov%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;sOv4rAuqv'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

556 if kwarg_value is not Undefined: 2d ViWiHiIiJiKinuou+urv|t,vuwdtvw5fetftgtRv*rSusv(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwa %i'iLiMiNiOipuqu.utv}t-vywttzw6futvtwtSv+rTuuv)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwe -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/rzv@qruav7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesCversucv8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb _i`iPiQiRiSituuu;uvvdu.vCwJtDw9fKtLtMtTvos0uwv:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssFvorvuiv!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh mjTiUiwuxu@uxvgu/vGwZtHw#f0t1t2tUvIs5uyv[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsIvCryumv$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sLvQrzuov%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;sOv4rAuqv'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

557 return kwarg_value 2d ViWiHiIiJiKinuou+urv|t,vdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t-vtt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t%v,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t'vbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu.vJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t(vpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu/vZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)vJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*v2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+v.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

558 return Undefined 2d ViWiHiIiJiKinuou+urv|t,vuwdtvw5fetftgt*rSusv(fwwxwqwhtitReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwa %i'iLiMiNiOipuqu.utv}t-vywttzw6futvtwt+rTuuv)fAwBwrwxtyt9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwe -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/r@qruav7f_v`v:v:r;rvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesersucv8f}v~v;vfsgsQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb _i`iPiQiRiSituuu;uvvdu.vCwJtDw9fKtLtMtos0uwv:fEwFwswNtOt@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssorvuiv!fcwdw=vtsus7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh mjTiUiwuxu@uxvgu/vGwZtHw#f0t1t2tIs5uyv[fIwJwtw3t4tif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsCryumv$fgwhw?vNsOs]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sQrzuov%fkwlw@v6s7sndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;s4rAuqv'fowpw[v=s?sIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

559 

560 config_table = get_config("table") 2d ViWiHiIiJiKinuou+urv|t,vuwdtvw5fetftgtRv*rSusv(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwa %i'iLiMiNiOipuqu.utv}t-vywttzw6futvtwtSv+rTuuv)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwe -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/rzv@qruav7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesCversucv8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb _i`iPiQiRiSituuu;uvvdu.vCwJtDw9fKtLtMtTvos0uwv:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssFvorvuiv!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh mjTiUiwuxu@uxvgu/vGwZtHw#f0t1t2tUvIs5uyv[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsIvCryumv$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sLvQrzuov%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;sOv4rAuqv'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

561 if config_table is True: 2d ViWiHiIiJiKinuou+urv|t,vuwdtvw5fetftgtRv*rSusv(fwwxwqwhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwa %i'iLiMiNiOipuqu.utv}t-vywttzw6futvtwtSv+rTuuv)fAwBwrwxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwe -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/rzv@qruav7f_v`v:v:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesCversucv8f}v~v;vfsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb _i`iPiQiRiSituuu;uvvdu.vCwJtDw9fKtLtMtTvos0uwv:fEwFwswNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssFvorvuiv!fcwdw=vtsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh mjTiUiwuxu@uxvgu/vGwZtHw#f0t1t2tUvIs5uyv[fIwJwtw3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsIvCryumv$fgwhw?vNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sLvQrzuov%fkwlw@v6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;sOv4rAuqv'fowpw[v=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

562 # If it was passed by kwargs, ensure it's also set in config 

563 set_config_value(model=new_cls, parameter="table", value=config_table) 2d ViWiHiIiJiKinuou+urv|t,vdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t-vtt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t%v,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t'vbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu.vJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t(vpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu/vZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)vJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*v2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+v.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

564 for k, v in get_model_fields(new_cls).items(): 2d ViWiHiIiJiKinuou+urv|t,vdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t-vtt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t%v,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t'vbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu.vJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t(vpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu/vZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)vJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*v2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+v.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

565 col = get_column_from_field(v) 2d ViWiHiIiJiKinuou+urv|t,vdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t-vtt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t%v,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t'vbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu.vJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t(vpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu/vZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)vJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*v2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+v.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

566 setattr(new_cls, k, col) 2d ViWiHiIiJiKinuou+urv|t,vdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t-vtt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t%v,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t'vbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu.vJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t(vpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu/vZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)vJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*v2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+v.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

567 # Set a config flag to tell FastAPI that this should be read with a field 

568 # in orm_mode instead of preemptively converting it to a dict. 

569 # This could be done by reading new_cls.model_config['table'] in FastAPI, but 

570 # that's very specific about SQLModel, so let's have another config that 

571 # other future tools based on Pydantic can use. 

572 set_config_value( 2d ViWiHiIiJiKinuou+urv|t,vdt5fetftgt*rSusv(fhtitReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t-vtt6futvtwt+rTuuv)fxtyt9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t%v,rPf-r.r/r@qruav7f:r;rvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t'vbsQfcsdsesersucv8ffsgsQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu.vJt9fKtLtMtos0uwv:fNtOt@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t(vpsRfqsrsssorvuiv!ftsus7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu/vZt#f0t1t2tIs5uyv[f3t4tif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)vJsSfKsLsMsCryumv$fNsOs]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*v2sTf3s4s5sQrzuov%f6s7sndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+v.sUf/s:s;s4rAuqv'f=s?sIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

573 model=new_cls, parameter="read_from_attributes", value=True 

574 ) 

575 # For compatibility with older versions 

576 # TODO: remove this in the future 

577 set_config_value(model=new_cls, parameter="read_with_orm_mode", value=True) 2d ViWiHiIiJiKinuou+urv|t,vdt5fetftgt*rSusv(fhtitReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t-vtt6futvtwt+rTuuv)fxtyt9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t%v,rPf-r.r/r@qruav7f:r;rvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t'vbsQfcsdsesersucv8ffsgsQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu.vJt9fKtLtMtos0uwv:fNtOt@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t(vpsRfqsrsssorvuiv!ftsus7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu/vZt#f0t1t2tIs5uyv[f3t4tif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)vJsSfKsLsMsCryumv$fNsOs]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*v2sTf3s4s5sQrzuov%f6s7sndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+v.sUf/s:s;s4rAuqv'f=s?sIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

578 

579 config_registry = get_config("registry") 2d ViWiHiIiJiKinuou+urv|t,vuwdtvw5fetftgt*rSusv(fwwxwqwhtitReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwa %i'iLiMiNiOipuqu.utv}t-vywttzw6futvtwt+rTuuv)fAwBwrwxtyt9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwe -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/r@qruav7f_v`v:v:r;rvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesersucv8f}v~v;vfsgsQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb _i`iPiQiRiSituuu;uvvdu.vCwJtDw9fKtLtMtos0uwv:fEwFwswNtOt@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssorvuiv!fcwdw=vtsus7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh mjTiUiwuxu@uxvgu/vGwZtHw#f0t1t2tIs5uyv[fIwJwtw3t4tif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsCryumv$fgwhw?vNsOs]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sQrzuov%fkwlw@v6s7sndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;s4rAuqv'fowpw[v=s?sIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

580 if config_registry is not Undefined: 2d ViWiHiIiJiKinuou+urv|t,vuwdtvw5fetftgt*rSusv(fwwxwqwhtitReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwa %i'iLiMiNiOipuqu.utv}t-vywttzw6futvtwt+rTuuv)fAwBwrwxtyt9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwe -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/r@qruav7f_v`v:v:r;rvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesersucv8f}v~v;vfsgsQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb _i`iPiQiRiSituuu;uvvdu.vCwJtDw9fKtLtMtos0uwv:fEwFwswNtOt@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssorvuiv!fcwdw=vtsus7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh mjTiUiwuxu@uxvgu/vGwZtHw#f0t1t2tIs5uyv[fIwJwtw3t4tif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsCryumv$fgwhw?vNsOs]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sQrzuov%fkwlw@v6s7sndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;s4rAuqv'fowpw[v=s?sIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

581 config_registry = cast(registry, config_registry) 1daefbghicj

582 # If it was passed by kwargs, ensure it's also set in config 

583 set_config_value(model=new_cls, parameter="registry", value=config_table) 1daefbghicj

584 setattr(new_cls, "_sa_registry", config_registry) # noqa: B010 1daefbghicj

585 setattr(new_cls, "metadata", config_registry.metadata) # noqa: B010 1daefbghicj

586 setattr(new_cls, "__abstract__", True) # noqa: B010 1daefbghicj

587 return new_cls 2d ViWiHiIiJiKinuou+urv|t,vuwdtvw5fetftgt*rSusv(fwwxwqwhtitReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwa %i'iLiMiNiOipuqu.utv}t-vywttzw6futvtwt+rTuuv)fAwBwrwxtyt9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwe -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/r@qruav7f_v`v:v:r;rvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesersucv8f}v~v;vfsgsQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb _i`iPiQiRiSituuu;uvvdu.vCwJtDw9fKtLtMtos0uwv:fEwFwswNtOt@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssorvuiv!fcwdw=vtsus7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh mjTiUiwuxu@uxvgu/vGwZtHw#f0t1t2tIs5uyv[fIwJwtw3t4tif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsCryumv$fgwhw?vNsOs]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sQrzuov%fkwlw@v6s7sndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;s4rAuqv'fowpw[v=s?sIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

588 

589 # Override SQLAlchemy, allow both SQLAlchemy and plain Pydantic models 

590 def __init__( 1daefbghicj

591 cls, classname: str, bases: Tuple[type, ...], dict_: Dict[str, Any], **kw: Any 

592 ) -> None: 

593 # Only one of the base classes (or the current one) should be a table model 

594 # this allows FastAPI cloning a SQLModel for the response_model without 

595 # trying to create a new SQLAlchemy, for a new table, with the same name, that 

596 # triggers an error 

597 base_is_table = any(is_table_model_class(base) for base in bases) 2d ViWiHiIiJiKinuou+urv|t,vuwdtvw5fetftgt*rSusv(fwwxwqwhtitReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwa %i'iLiMiNiOipuqu.utv}t-vywttzw6futvtwt+rTuuv)fAwBwrwxtyt9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwe -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/r@qruav7f_v`v:v:r;rvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesersucv8f}v~v;vfsgsQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb _i`iPiQiRiSituuu;uvvdu.vCwJtDw9fKtLtMtos0uwv:fEwFwswNtOt@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssorvuiv!fcwdw=vtsus7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh mjTiUiwuxu@uxvgu/vGwZtHw#f0t1t2tIs5uyv[fIwJwtw3t4tif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsCryumv$fgwhw?vNsOs]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sQrzuov%fkwlw@v6s7sndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;s4rAuqv'fowpw[v=s?sIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

598 if is_table_model_class(cls) and not base_is_table: 2d ViWiHiIiJiKinuou+urv|t,vuwdtvw5fetftgt*rSusv(fwwxwqwhtitReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwa %i'iLiMiNiOipuqu.utv}t-vywttzw6futvtwt+rTuuv)fAwBwrwxtyt9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwe -g.g*f+f,f-f?q~tauBu~u.t%v]v,r^vPf-r.r/r@qruav7f_v`v:v:r;rvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKwf bh.f/fdrbucuEubv/t'v{vbs|vQfcsdsesersucv8f}v~v;vfsgsQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLwb _i`iPiQiRiSituuu;uvvdu.vCwJtDw9fKtLtMtos0uwv:fEwFwswNtOt@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSwg khlh;f=f?f@fnreufuGuhv:t(vawpsbwRfqsrsssorvuiv!fcwdw=vtsus7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwh mjTiUiwuxu@uxvgu/vGwZtHw#f0t1t2tIs5uyv[fIwJwtw3t4tif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTwi ChDh]f^f_f`fBrhuiuJulv;t)vewJsfwSfKsLsMsCryumv$fgwhw?vNsOs]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwc UhVh{f|f}f~fPrjukuMunv=t*viw2sjwTf3s4s5sQrzuov%fkwlw@v6s7sndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwj $h%hagbgcgdg3rlumuPupv?t+vmw.snwUf/s:s;s4rAuqv'fowpw[v=s?sIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

599 for rel_name, rel_info in cls.__sqlmodel_relationships__.items(): 2d ViWiHiIiJiKinuou+urv|t,vdt5fetftgt*rSusv(fhtitReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t-vtt6futvtwt+rTuuv)fxtyt9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t%v,rPf-r.r/r@qruav7f:r;rvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t'vbsQfcsdsesersucv8ffsgsQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu.vJt9fKtLtMtos0uwv:fNtOt@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t(vpsRfqsrsssorvuiv!ftsus7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu/vZt#f0t1t2tIs5uyv[f3t4tif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)vJsSfKsLsMsCryumv$fNsOs]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*v2sTf3s4s5sQrzuov%f6s7sndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+v.sUf/s:s;s4rAuqv'f=s?sIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

600 if rel_info.sa_relationship: 2d 5f(fReSeTeS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea 6f)f9e!e#eY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee Pf7fvcwcxck l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf Qf8fQcRcq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb 9f:f@e[e]e4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg Rf!f7c8c9cu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch #f[fif! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi Sf$f]c^c_cA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc Tf%fndodpdG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj Uf'fIdJdKdM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

601 # There's a SQLAlchemy relationship declared, that takes precedence 

602 # over anything else, use that and continue with the next attribute 

603 setattr(cls, rel_name, rel_info.sa_relationship) # Fix #315 25f6fPfQf9fRf#fSfTfUf

604 continue 25f6fPfQf9fRf#fSfTfUf

605 raw_ann = cls.__annotations__[rel_name] 2d (fReSeTeS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea )f9e!e#eY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee 7fvcwcxck l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf 8fQcRcq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb :f@e[e]e4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg !f7c8c9cu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch [fif! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi $f]c^c_cA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc %fndodpdG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj 'fIdJdKdM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

606 origin: Any = get_origin(raw_ann) 2d (fReSeTeS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea )f9e!e#eY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee 7fvcwcxck l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf 8fQcRcq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb :f@e[e]e4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg !f7c8c9cu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch [fif! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi $f]c^c_cA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc %fndodpdG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj 'fIdJdKdM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

607 if origin is Mapped: 2d (fReSeTeS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea )f9e!e#eY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee 7fvcwcxck l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf 8fQcRcq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb :f@e[e]e4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg !f7c8c9cu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch [fif! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi $f]c^c_cA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc %fndodpdG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj 'fIdJdKdM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

608 ann = raw_ann.__args__[0] 

609 else: 

610 ann = raw_ann 2d (fReSeTeS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea )f9e!e#eY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee 7fvcwcxck l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf 8fQcRcq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb :f@e[e]e4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg !f7c8c9cu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch [fif! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi $f]c^c_cA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc %fndodpdG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj 'fIdJdKdM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

611 # Plain forward references, for models not yet defined, are not 

612 # handled well by SQLAlchemy without Mapped, so, wrap the 

613 # annotations in Mapped here 

614 cls.__annotations__[rel_name] = Mapped[ann] # type: ignore[valid-type] 2d (fReSeTeS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea )f9e!e#eY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee 7fvcwcxck l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf 8fQcRcq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb :f@e[e]e4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg !f7c8c9cu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch [fif! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi $f]c^c_cA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc %fndodpdG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj 'fIdJdKdM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

615 relationship_to = get_relationship_to( 2d (fReSeTeS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea )f9e!e#eY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee 7fvcwcxck l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf 8fQcRcq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb :f@e[e]e4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg !f7c8c9cu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch [fif! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi $f]c^c_cA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc %fndodpdG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj 'fIdJdKdM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

616 name=rel_name, rel_info=rel_info, annotation=ann 

617 ) 

618 rel_kwargs: Dict[str, Any] = {} 2d (fReSeTeS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea )f9e!e#eY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee 7fvcwcxck l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf 8fQcRcq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb :f@e[e]e4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg !f7c8c9cu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch [fif! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi $f]c^c_cA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc %fndodpdG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj 'fIdJdKdM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

619 if rel_info.back_populates: 2d (fReSeTeS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea )f9e!e#eY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee 7fvcwcxck l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf 8fQcRcq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb :f@e[e]e4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg !f7c8c9cu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch [fif! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi $f]c^c_cA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc %fndodpdG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj 'fIdJdKdM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

620 rel_kwargs["back_populates"] = rel_info.back_populates 2d (fReSeTeS T U V W X pcqcrcAbBbCb^d_d`d{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea )f9e!e#eY Z 0 1 2 3 sctcucDbEbFbiejekelemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee 7fvcwcxck l m n o p $ % ' ( ) * GbHbIbyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf 8fQcRcq r s t + , - . SbTbScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb :f@e[e]e4 5 6 7 8 9 4c5c6c0b1b2bxeyezeAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg !f7c8c9cu v w x y z / : ; = ? @ 3b4b5b!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch [fif! # [c(bMeNe4fjfkfOelfPe]dQemfnfi $f]c^c_cA B C D E F [ ] ^ _ ` { )b*b+b`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc %fndodpdG H I J K L | } ~ abbbcb[b]b^bqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj 'fIdJdKdM N O P Q R dbebfbgbhbibdcecfcLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

621 if rel_info.cascade_delete: 2d (fReSeTeS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea )f9e!e#eY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee 7fvcwcxck l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf 8fQcRcq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb :f@e[e]e4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg !f7c8c9cu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch [fif! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi $f]c^c_cA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc %fndodpdG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj 'fIdJdKdM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

622 rel_kwargs["cascade"] = "all, delete-orphan" 2~daebeoepeqeJbKbLbUbVbDeEeFe6b7b8bOe,b-b.b_b`b{bgchcic

623 if rel_info.passive_deletes: 2d (fReSeTeS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea )f9e!e#eY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee 7fvcwcxck l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf 8fQcRcq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb :f@e[e]e4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg !f7c8c9cu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch [fif! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi $f]c^c_cA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc %fndodpdG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj 'fIdJdKdM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

624 rel_kwargs["passive_deletes"] = rel_info.passive_deletes 2(fcedeee-d.d/dfegehe)fresete:d;d=duevewe7fMbNbObjbkblbPbQbRb8fWbXbmbnbYbZb:fGeHeIe?d@d[dJeKeLe!f9b!b#bobpbqb$b%b'b[fPe]dQe$f/b:b;brbsbtb=b?b@b%f|b}b~bubvbwbacbccc'fjckclcxbybzbmcncoc

625 if rel_info.link_model: 2d (fReSeTeS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea )f9e!e#eY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee 7fvcwcxck l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf 8fQcRcq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb :f@e[e]e4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg !f7c8c9cu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch [fif! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi $f]c^c_cA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc %fndodpdG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj 'fIdJdKdM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

626 ins = inspect(rel_info.link_model) 2pcqcrcAbBbCbsctcucDbEbFb$ % ' ( ) * + , - . 4c5c6c0b1b2b/ : ; = ? @ [c(b[ ] ^ _ ` { | } ~ abbbcbdbebfbgbhbib

627 local_table = getattr(ins, "local_table") # noqa: B009 2pcqcrcAbBbCbsctcucDbEbFb$ % ' ( ) * + , - . 4c5c6c0b1b2b/ : ; = ? @ [c(b[ ] ^ _ ` { | } ~ abbbcbdbebfbgbhbib

628 if local_table is None: 2pcqcrcAbBbCbsctcucDbEbFb$ % ' ( ) * + , - . 4c5c6c0b1b2b/ : ; = ? @ [c(b[ ] ^ _ ` { | } ~ abbbcbdbebfbgbhbib

629 raise RuntimeError( 

630 "Couldn't find the secondary table for " 

631 f"model {rel_info.link_model}" 

632 ) 

633 rel_kwargs["secondary"] = local_table 2pcqcrcAbBbCbsctcucDbEbFb$ % ' ( ) * + , - . 4c5c6c0b1b2b/ : ; = ? @ [c(b[ ] ^ _ ` { | } ~ abbbcbdbebfbgbhbib

634 rel_args: List[Any] = [] 2d (fReSeTeS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea )f9e!e#eY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee 7fvcwcxck l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf 8fQcRcq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb :f@e[e]e4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg !f7c8c9cu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch [fif! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi $f]c^c_cA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc %fndodpdG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj 'fIdJdKdM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

635 if rel_info.sa_relationship_args: 2d (fReSeTeS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea )f9e!e#eY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee 7fvcwcxck l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf 8fQcRcq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb :f@e[e]e4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg !f7c8c9cu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch [fif! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi $f]c^c_cA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc %fndodpdG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj 'fIdJdKdM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

636 rel_args.extend(rel_info.sa_relationship_args) 

637 if rel_info.sa_relationship_kwargs: 2d (fReSeTeS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea )f9e!e#eY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee 7fvcwcxck l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf 8fQcRcq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb :f@e[e]e4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg !f7c8c9cu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch [fif! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi $f]c^c_cA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc %fndodpdG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj 'fIdJdKdM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

638 rel_kwargs.update(rel_info.sa_relationship_kwargs) 

639 rel_value = relationship(relationship_to, *rel_args, **rel_kwargs) 2d (fReSeTeS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea )f9e!e#eY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee 7fvcwcxck l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf 8fQcRcq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb :f@e[e]e4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg !f7c8c9cu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch [fif! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi $f]c^c_cA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc %fndodpdG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj 'fIdJdKdM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

640 setattr(cls, rel_name, rel_value) # Fix #315 2d (fReSeTeS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea )f9e!e#eY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee 7fvcwcxck l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf 8fQcRcq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb :f@e[e]e4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg !f7c8c9cu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch [fif! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi $f]c^c_cA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc %fndodpdG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj 'fIdJdKdM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

641 # SQLAlchemy no longer uses dict_ 

642 # Ref: https://github.com/sqlalchemy/sqlalchemy/commit/428ea01f00a9cc7f85e435018565eb6da7af1b77 

643 # Tag: 1.4.36 

644 DeclarativeMeta.__init__(cls, classname, bases, dict_, **kw) 2d ViWiHiIiJiKinuou+urv|t,vdt5fetftgt*rSusv(fhtitReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t-vtt6futvtwt+rTuuv)fxtyt9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t%v,rPf-r.r/r@qruav7f:r;rvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t'vbsQfcsdsesersucv8ffsgsQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu.vJt9fKtLtMtos0uwv:fNtOt@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t(vpsRfqsrsssorvuiv!ftsus7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu/vZt#f0t1t2tIs5uyv[f3t4tif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)vJsSfKsLsMsCryumv$fNsOs]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*v2sTf3s4s5sQrzuov%f6s7sndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+v.sUf/s:s;s4rAuqv'f=s?sIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

645 else: 

646 ModelMetaclass.__init__(cls, classname, bases, dict_, **kw) 2d nuouuwvwwwxwqw,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hV W X ~haibicidieiQwa puquywzwAwBwrw/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijiki1 2 3 liminioipiqiRwe ~tau]v^v_v`v:vCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m hgigjgn o p kglgmgngogpgKwf bucu{v|v}v~v;vFuqgrgfrgrhrirjrkrlrmrq r sgtgs t ugvgwgxgLwb tuuuCwDwEwFwsw=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwi7 8 9 xiyiziAiBiCiSwg eufuawbwcwdw=vHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w BgCgDgx y z EgFgGgHgIgJgMwh wuxuGwHwIwJwtwDi$l%l'l(l! EjEi# FiGiTwi huiuewfwgwhw?vKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C NgOgPgD E F QgRgSgTgUgVgNwc jukuiwjwkwlw@vNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I Zg0g1gJ K L 2g3g4g5g6g7gOwj lumumwnwowpw[vQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O #g$g%gP Q R 'g(g)g*g+g,gPw

647 

648 

649def get_sqlalchemy_type(field: Any) -> Any: 1daefbghicj

650 if IS_PYDANTIC_V2: 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

651 field_info = field 2e -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#li ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

652 else: 

653 field_info = field.field_info 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=q

654 sa_type = getattr(field_info, "sa_type", Undefined) # noqa: B009 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

655 if sa_type is not Undefined: 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

656 return sa_type 

657 

658 type_ = get_sa_type_from_field(field) 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

659 metadata = get_field_metadata(field) 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

660 

661 # Check enums first as an enum can also be a str, needed by Pydantic/FastAPI 

662 if issubclass(type_, Enum): 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

663 return sa_Enum(type_) 2d nuoua puque ~tauf bucub tuuug eufuh wuxui huiuc jukuj lumu

664 if issubclass( 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

665 type_, 

666 ( 

667 str, 

668 ipaddress.IPv4Address, 

669 ipaddress.IPv4Network, 

670 ipaddress.IPv6Address, 

671 ipaddress.IPv6Network, 

672 Path, 

673 EmailStr, 

674 ), 

675 ): 

676 max_length = getattr(metadata, "max_length", None) 2d ViWiHiIiJiKi+u|tdt5fetftgt*rSu(fhtitReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOi.u}ttt6futvtwt+rTu)fxtyt9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-fBu.t,rPf-r.r/r@qru7f:r;rvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fEu/tbsQfcsdsesersu8ffsgsQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSi;uduJt9fKtLtMtos0u:fNtOt@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fGu:tpsRfqsrsssorvu!ftsus7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUi@uguZt#f0t1t2tIs5u[f3t4tif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fJu;tJsSfKsLsMsCryu$fNsOs]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fMu=t2sTf3s4s5sQrzu%f6s7sndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdgPu?t.sUf/s:s;s4rAu'f=s?sIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

677 if max_length: 2d ViWiHiIiJiKi+u|tdt5fetftgt*rSu(fhtitReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOi.u}ttt6futvtwt+rTu)fxtyt9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-fBu.t,rPf-r.r/r@qru7f:r;rvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fEu/tbsQfcsdsesersu8ffsgsQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSi;uduJt9fKtLtMtos0u:fNtOt@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fGu:tpsRfqsrsssorvu!ftsus7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUi@uguZt#f0t1t2tIs5u[f3t4tif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fJu;tJsSfKsLsMsCryu$fNsOs]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fMu=t2sTf3s4s5sQrzu%f6s7sndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdgPu?t.sUf/s:s;s4rAu'f=s?sIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

678 return AutoString(length=max_length) 

679 return AutoString 2d ViWiHiIiJiKi+u|tdt5fetftgt*rSu(fhtitReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOi.u}ttt6futvtwt+rTu)fxtyt9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-fBu.t,rPf-r.r/r@qru7f:r;rvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fEu/tbsQfcsdsesersu8ffsgsQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSi;uduJt9fKtLtMtos0u:fNtOt@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fGu:tpsRfqsrsssorvu!ftsus7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUi@uguZt#f0t1t2tIs5u[f3t4tif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fJu;tJsSfKsLsMsCryu$fNsOs]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fMu=t2sTf3s4s5sQrzu%f6s7sndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdgPu?t.sUf/s:s;s4rAu'f=s?sIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

680 if issubclass(type_, float): 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

681 return Float 

682 if issubclass(type_, bool): 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

683 return Boolean 2^d_d`diejekeGbHbIbSbTbxeyeze3b4b5bMe)b*b+b[b]b^bdcecfc

684 if issubclass(type_, int): 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

685 return Integer 2d ViWiHiIiJiKi+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOi.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-fBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSi;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUi@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdgPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

686 if issubclass(type_, datetime): 2d ViWiHiIiJiKinuouRva %i'iLiMiNiOipuquSve -g.g*f+f,f-f?q~tauzvAvBvf bh.f/fdrbucuCvDvEvb _i`iPiQiRiSituuuTvg khlh;f=f?f@fnreufuFvGvHvh mjTiUiwuxuUvi ChDh]f^f_f`fBrhuiuIvJvKvc UhVh{f|f}f~fPrjukuLvMvNvj $h%hagbgcgdg3rlumuOvPvQv

687 return DateTime 

688 if issubclass(type_, date): 2d ViWiHiIiJiKinuouRva %i'iLiMiNiOipuquSve -g.g*f+f,f-f?q~tauzvAvBvf bh.f/fdrbucuCvDvEvb _i`iPiQiRiSituuuTvg khlh;f=f?f@fnreufuFvGvHvh mjTiUiwuxuUvi ChDh]f^f_f`fBrhuiuIvJvKvc UhVh{f|f}f~fPrjukuLvMvNvj $h%hagbgcgdg3rlumuOvPvQv

689 return Date 

690 if issubclass(type_, timedelta): 2d ViWiHiIiJiKinuouRva %i'iLiMiNiOipuquSve -g.g*f+f,f-f?q~tauzvAvBvf bh.f/fdrbucuCvDvEvb _i`iPiQiRiSituuuTvg khlh;f=f?f@fnreufuFvGvHvh mjTiUiwuxuUvi ChDh]f^f_f`fBrhuiuIvJvKvc UhVh{f|f}f~fPrjukuLvMvNvj $h%hagbgcgdg3rlumuOvPvQv

691 return Interval 

692 if issubclass(type_, time): 2d ViWiHiIiJiKinuouRva %i'iLiMiNiOipuquSve -g.g*f+f,f-f?q~tauzvAvBvf bh.f/fdrbucuCvDvEvb _i`iPiQiRiSituuuTvg khlh;f=f?f@fnreufuFvGvHvh mjTiUiwuxuUvi ChDh]f^f_f`fBrhuiuIvJvKvc UhVh{f|f}f~fPrjukuLvMvNvj $h%hagbgcgdg3rlumuOvPvQv

693 return Time 

694 if issubclass(type_, bytes): 2d ViWiHiIiJiKinuouRva %i'iLiMiNiOipuquSve -g.g*f+f,f-f?q~tauzvAvBvf bh.f/fdrbucuCvDvEvb _i`iPiQiRiSituuuTvg khlh;f=f?f@fnreufuFvGvHvh mjTiUiwuxuUvi ChDh]f^f_f`fBrhuiuIvJvKvc UhVh{f|f}f~fPrjukuLvMvNvj $h%hagbgcgdg3rlumuOvPvQv

695 return LargeBinary 

696 if issubclass(type_, Decimal): 2d ViWiHiIiJiKinuouRva %i'iLiMiNiOipuquSve -g.g*f+f,f-f?q~tauzvAvBvf bh.f/fdrbucuCvDvEvb _i`iPiQiRiSituuuTvg khlh;f=f?f@fnreufuFvGvHvh mjTiUiwuxuUvi ChDh]f^f_f`fBrhuiuIvJvKvc UhVh{f|f}f~fPrjukuLvMvNvj $h%hagbgcgdg3rlumuOvPvQv

697 return Numeric( 2ViWi%i'i-g.gbh_i`ikhlhmjChDhUhVh$h%h

698 precision=getattr(metadata, "max_digits", None), 

699 scale=getattr(metadata, "decimal_places", None), 

700 ) 

701 if issubclass(type_, uuid.UUID): 2d HiIiJiKinuouRva LiMiNiOipuquSve *f+f,f-f?q~tauzvAvBvf .f/fdrbucuCvDvEvb PiQiRiSituuuTvg ;f=f?f@fnreufuFvGvHvh TiUiwuxuUvi ]f^f_f`fBrhuiuIvJvKvc {f|f}f~fPrjukuLvMvNvj agbgcgdg3rlumuOvPvQv

702 return Uuid 2d HiIiJiKinuoua LiMiNiOipuque *f+f,f-f?q~tauf .f/fdrbucub PiQiRiSituuug ;f=f?f@fnreufuh TiUiwuxui ]f^f_f`fBrhuiuc {f|f}f~fPrjukuj agbgcgdg3rlumu

703 raise ValueError(f"{type_} has no matching SQLAlchemy type") 2RvSvzvAvBvCvDvEvTvFvGvHvUvIvJvKvLvMvNvOvPvQv

704 

705 

706def get_column_from_field(field: Any) -> Column: # type: ignore 1daefbghicj

707 if IS_PYDANTIC_V2: 2d ViWiHiIiJiKinuou+urv|t,vdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t-vtt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t%v,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t'vbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu.vJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t(vpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu/vZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)vJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*v2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+v.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

708 field_info = field 2e -g.g*f+f,f-f?q~tauBu~u.t%v,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t'vbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kg khlh;f=f?f@fnreufuGuhv:t(vpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#li ChDh]f^f_f`fBrhuiuJulv;t)vJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*v2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+v.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

709 else: 

710 field_info = field.field_info 2d ViWiHiIiJiKinuou+urv|t,vdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t-vtt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pb _i`iPiQiRiSituuu;uvvdu.vJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqh mjTiUiwuxu@uxvgu/vZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=q

711 sa_column = getattr(field_info, "sa_column", Undefined) 2d ViWiHiIiJiKinuou+urv|t,vdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t-vtt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t%v,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t'vbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu.vJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t(vpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu/vZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)vJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*v2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+v.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

712 if isinstance(sa_column, Column): 2d ViWiHiIiJiKinuou+urv|t,vdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}t-vtt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t%v,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/t'vbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvdu.vJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:t(vpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvgu/vZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;t)vJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t*v2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t+v.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

713 return sa_column 2,v-v%v'v.v(v/v)v*v+v

714 sa_type = get_sqlalchemy_type(field) 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

715 primary_key = getattr(field_info, "primary_key", Undefined) 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

716 if primary_key is Undefined: 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

717 primary_key = False 2d ViWiHiIiJiKinuou+urv|tdt5fetftgt*rSu(fhtitReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwt+rTu)fxtyt9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f~tauBu~u.t,rPf-r.r/r@qru7f:r;rvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fbucuEubv/tbsQfcsdsesersu8ffsgsQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtos0u:fNtOt@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@feufuGuhv:tpsRfqsrsssorvu!ftsus7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tIs5u[f3t4tif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fhuiuJulv;tJsSfKsLsMsCryu$fNsOs]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fjukuMunv=t2sTf3s4s5sQrzu%f6s7sndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdglumuPupv?t.sUf/s:s;s4rAu'f=s?sIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

718 index = getattr(field_info, "index", Undefined) 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

719 if index is Undefined: 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

720 index = False 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

721 nullable = not primary_key and is_field_noneable(field) 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

722 # Override derived nullability if the nullable property is set explicitly 

723 # on the field 

724 field_nullable = getattr(field_info, "nullable", Undefined) # noqa: B009 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

725 if field_nullable is not Undefined: 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

726 assert not isinstance(field_nullable, UndefinedType) 2*rSusv+rTuuv@qruaversucvos0uwvorvuivIs5uyvCryumvQrzuov4rAuqv

727 nullable = field_nullable 2*rSusv+rTuuv@qruaversucvos0uwvorvuivIs5uyvCryumvQrzuov4rAuqv

728 args = [] 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

729 foreign_key = getattr(field_info, "foreign_key", Undefined) 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

730 if foreign_key is Undefined: 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

731 foreign_key = None 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

732 unique = getattr(field_info, "unique", Undefined) 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

733 if unique is Undefined: 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

734 unique = False 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

735 if foreign_key: 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

736 if field_info.ondelete == "SET NULL" and not nullable: 2d 5f(fReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$iS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea 6f)f9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^iY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee Pf7fvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahk l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf Qf8fQcRc$tchdhehfhghhhihjhq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb 9f:f@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjlj4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg Rf!f7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBhu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch #f[fif{tnjojpjqjrjsjtjuj! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi Sf$f]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc Tf%fndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#hG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj Uf'fIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]hM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

737 raise RuntimeError('ondelete="SET NULL" requires nullable=True') 2(f)f7f8f:f!f[f$f%f'f

738 assert isinstance(foreign_key, str) 2d 5fReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$iS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea 6f9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^iY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee Pfvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahk l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf QfQcRc$tchdhehfhghhhihjhq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb 9f@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjlj4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg Rf7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBhu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch #fif{tnjojpjqjrjsjtjuj! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi Sf]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc Tfndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#hG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj UfIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]hM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

739 ondelete = getattr(field_info, "ondelete", Undefined) 2d 5fReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$iS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea 6f9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^iY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee Pfvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahk l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf QfQcRc$tchdhehfhghhhihjhq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb 9f@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjlj4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg Rf7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBhu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch #fif{tnjojpjqjrjsjtjuj! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi Sf]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc Tfndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#hG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj UfIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]hM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

740 if ondelete is Undefined: 2d 5fReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$iS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea 6f9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^iY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee Pfvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahk l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf QfQcRc$tchdhehfhghhhihjhq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb 9f@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjlj4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg Rf7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBhu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch #fif{tnjojpjqjrjsjtjuj! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi Sf]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc Tfndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#hG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj UfIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]hM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

741 ondelete = None 2d 5fReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$iS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe3e4e5e6e7e8ea 6f9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^iY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*e.e/e:e;e=e?ee Pfvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahk l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcKcLcMcNcOcPcf QfQcRc$tchdhehfhghhhihjhq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXc0c1c2c3cb 9f@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjlj4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}ecfdfefffgfhfg Rf7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBhu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c/c:c;c=c?c@ch #fif{tnjojpjqjrjsjtjuj! # [c(bMexfNe4fjfkfmfnfi Sf]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcdddhdidjdkdldmdc Tfndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#hG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdydCdDdEdFdGdHdj UfIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]hM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdXdYdZd0d1d2d

742 assert isinstance(ondelete, (str, type(None))) # for typing 2d 5fReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$iS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea 6f9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^iY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee Pfvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahk l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf QfQcRc$tchdhehfhghhhihjhq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb 9f@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjlj4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg Rf7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBhu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch #fif{tnjojpjqjrjsjtjuj! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi Sf]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc Tfndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#hG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj UfIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]hM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

743 args.append(ForeignKey(foreign_key, ondelete=ondelete)) 2d 5fReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$iS T U V W X pcqcrcAbBbCb^d_d`dofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8ea 6f9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^iY Z 0 1 2 3 sctcucDbEbFbiejekerfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?ee Pfvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahk l m n o p $ % ' ( ) * GbHbIb3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPcf QfQcRc$tchdhehfhghhhihjhq r s t + , - . SbTb6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3cb 9f@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjlj4 5 6 7 8 9 4c5c6c0b1b2bxeyezeufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfg Rf7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBhu v w x y z / : ; = ? @ 3b4b5b8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@ch #fif{tnjojpjqjrjsjtjuj! # [c(bMexfNe4fjfkfOelfPe]dQemfnfi Sf]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThA B C D E F [ ] ^ _ ` { )b*b+b#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdc Tfndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#hG H I J K L | } ~ abbbcb[b]b^b'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHdj UfIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]hM N O P Q R dbebfbgbhbibdcecfc*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d

744 kwargs = { 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

745 "primary_key": primary_key, 

746 "nullable": nullable, 

747 "index": index, 

748 "unique": unique, 

749 } 

750 sa_default = Undefined 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

751 if field_info.default_factory: 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

752 sa_default = field_info.default_factory 2HiIiJiKiLiMiNiOi*f+f,f-f?q.f/fdrPiQiRiSi;f=f?f@fnrTiUi]f^f_f`fBr{f|f}f~fPragbgcgdg3r

753 elif field_info.default is not Undefined: 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@feufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdglumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

754 sa_default = field_info.default 2d ViWiHiIiJiKi+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOi.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-fBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSi;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUi@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdgPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

755 if sa_default is not Undefined: 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

756 kwargs["default"] = sa_default 2d ViWiHiIiJiKi+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOi.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?qBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSi;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnrGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUi@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

757 sa_column_args = getattr(field_info, "sa_column_args", Undefined) 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

758 if sa_column_args is not Undefined: 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

759 args.extend(list(cast(Sequence[Any], sa_column_args))) 2+u.uBuEu;uGu@uJuMuPu

760 sa_column_kwargs = getattr(field_info, "sa_column_kwargs", Undefined) 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

761 if sa_column_kwargs is not Undefined: 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

762 kwargs.update(cast(Dict[Any, Any], sa_column_kwargs)) 2rvtv~ubvvvhvxvlvnvpv

763 return Column(sa_type, *args, **kwargs) # type: ignore 2d ViWiHiIiJiKinuou+urv|tdt5fetftgtRv*rSusv(fhtit1v2v3vReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa %i'iLiMiNiOipuqu.utv}ttt6futvtwtSv+rTuuv)fxtyt4v5v6v9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe -g.g*f+f,f-f?q~tauBu~u.t,rPf-r.r/rzv@qruav7f:r;rAvBvVvvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf bh.f/fdrbucuEubv/tbsQfcsdsesCversucv8ffsgsDvEvWvQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb _i`iPiQiRiSituuu;uvvduJt9fKtLtMtTvos0uwv:fNtOt7v8v9v@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg khlh;f=f?f@fnreufuGuhv:tpsRfqsrsssFvorvuiv!ftsusGvHvXv7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh mjTiUiwuxu@uxvguZt#f0t1t2tUvIs5uyv[f3t4t!v#v$vif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi ChDh]f^f_f`fBrhuiuJulv;tJsSfKsLsMsIvCryumv$fNsOsJvKvYv]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc UhVh{f|f}f~fPrjukuMunv=t2sTf3s4s5sLvQrzuov%f6s7sMvNvZvndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj $h%hagbgcgdg3rlumuPupv?t.sUf/s:s;sOv4rAuqv'f=s?sPvQv0vIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

764 

765 

766class_registry = weakref.WeakValueDictionary() # type: ignore 1daefbghicj

767 

768default_registry = registry() 1daefbghicj

769 

770_TSQLModel = TypeVar("_TSQLModel", bound="SQLModel") 1daefbghicj

771 

772 

773class SQLModel(BaseModel, metaclass=SQLModelMetaclass, registry=default_registry): 1daefbghicj

774 # SQLAlchemy needs to set weakref(s), Pydantic will set the other slots values 

775 __slots__ = ("__weakref__",) 1daefbghicj

776 __tablename__: ClassVar[Union[str, Callable[..., str]]] 1daefbghicj

777 __sqlmodel_relationships__: ClassVar[Dict[str, RelationshipProperty[Any]]] 1daefbghicj

778 __name__: ClassVar[str] 1daefbghicj

779 metadata: ClassVar[MetaData] 1daefbghicj

780 __allow_unmapped__ = True # https://docs.sqlalchemy.org/en/20/changelog/migration_20.html#migration-20-step-six 1daefbghicj

781 

782 if IS_PYDANTIC_V2: 1daefbghicj

783 model_config = SQLModelConfig(from_attributes=True) 1efgicj

784 else: 

785 

786 class Config: 1dabh

787 orm_mode = True 1dabh

788 

789 def __new__(cls, *args: Any, **kwargs: Any) -> Any: 1daefbghicj

790 new_object = super().__new__(cls) 2DCoxECFCLBpxqx'wrxsxtxuxvxwxGCxxHCICMByxzx(wAxBxCxDxExFxJCGxKCLCNBHxIx)wJxKxLxMxNxOxViWiHiIiJiKi4zvCwCuwdtvw5fetftgt*rwwxwqwhtit]y^yReSeTeXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$isotouovoPxQxRxSxTxUx^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwMCVxNCOCOBWxXx*wYxZx0x1x2x3xPC4xQCRCPB5x6x+w7x8x9x!x#x$xSC%xTCUCQB'x(x,w)x*x+x,x-x.x%i'iLiMiNiOi5zxCyCywttzw6futvtwt+rAwBwrwxtyt_y`y9e!e#e(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i|o}o~oap/x:x;x=x?x@xfigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemene$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwVC8zWCXCRBSBTB|w9z!z#z$z%z'zYC(zZC0CUBVBWB}w)z*z+z,z-z.z1C/z2C3CXBYBZB~w:z;z=z?z@z[z-g.g*f+f,f-f?qEzjCpC]v,r^vPf-r.r/r@q_v`v:v:r;rXyYyvcwcxc/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gah3j4j5j6j]z^z_z`z{z|zegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKw4C}z5C6C0B1B2Bax~zaAbAcAdAeA7CfA8C9C3B4B5BbxgAhAiAjAkAlAbh.f/fdrFzkCqC{vbs|vQfcsdseser}v~v;vfsgsZy0yQcRcchdhehfhghhhihjhKkLkmAnAoApAqArAqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLw!C[x#C$C6B]x^x-w_x`x{x|x}x~x%Cay'C(C7Bbycy.wdyeyfygyhyiy)Cjy*C+C8Bkyly/wmynyoypyqyry_i`iPiQiRiSi6zzCACCwJtDw9fKtLtMtosEwFwswNtOt{y|y@e[e]e{i|i}i~iajbjcjdjejfjgjhjijjjkjlj%p'p(p)psytyuyvywyxyrisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSw,CsA-C.C9B!B#BcxtAuAvAwAxAyA/CzA:C;C$B%B'BdxAABACADAEAFA=CGA?C@C(B)B*BexHAIAJAKALAMAkhlh;f=f?f@fnrGzlCrCawpsbwRfqsrsssorcwdw=vtsus1y2y7c8c9cmhnhohphqhrhshthuhvhwhxhyhzhAhBh_k`k{k|kNAOAPAQARASAygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$c%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMw[Cyy]C^C+BzyAy:wByCyDyEyFyGymjTiUi7zBCCCGwZtHw#f0t1t2tIsIwJwtw3t4t}y~yifnjojpjqjrjsjtjujSqTqHyIyJyKyLyMyDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNejfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTw_CTA`C{C,B-B.BfxUAVAWAXAYAZA|C0A}C~C/B:B;Bgx1A2A3A4A5A6AaD7AbDcD=B?B@Bhx8A9A!A#A$A%AChDh]f^f_f`fBrHzmCsCewJsfwSfKsLsMsCrgwhw?vNsOs3y4y]c^c_cEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh)l*l+l,l'A(A)A*A+A,AKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|c}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwdD-AeDfD[B]B^Bix.A/A:A;A=A?AgD@AhDiD_B`B{Bjx[A]A^A_A`A{AjD|AkDlD|B}B~Bkx}A~AaBbBcBdBUhVh{f|f}f~fPrIznCtCiw2sjwTf3s4s5sQrkwlw@v6s7s5y6yndodpdWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#hXmYmZm0meBfBgBhBiBjBWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdtdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwmDkBnDoDaCbCcClxlBmBnBoBpBqBpDrBqDrDdCeCfCmxsBtBuBvBwBxBsDyBtDuDgChCiCnxzBABBBCBDBEB$h%hagbgcgdg3rJzoCuCmw.snwUf/s:s;s4rowpw[v=s?s7y8yIdJdKd'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]hEnFnGnHnFBGBHBIBJBKB8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

791 # SQLAlchemy doesn't call __init__ on the base class when querying from DB 

792 # Ref: https://docs.sqlalchemy.org/en/14/orm/constructors.html 

793 # Set __fields_set__ here, that would have been set when calling __init__ 

794 # in the Pydantic model so that when SQLAlchemy sets attributes that are 

795 # added (e.g. when querying from DB) to the __fields_set__, this already exists 

796 init_pydantic_private_attrs(new_object) 2DCoxECFCLBpxqx'wrxsxtxuxvxwxGCxxHCICMByxzx(wAxBxCxDxExFxJCGxKCLCNBHxIx)wJxKxLxMxNxOxViWiHiIiJiKi4zvCwCuwdtvw5fetftgt*rwwxwqwhtit]y^yReSeTeXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$isotouovoPxQxRxSxTxUx^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwMCVxNCOCOBWxXx*wYxZx0x1x2x3xPC4xQCRCPB5x6x+w7x8x9x!x#x$xSC%xTCUCQB'x(x,w)x*x+x,x-x.x%i'iLiMiNiOi5zxCyCywttzw6futvtwt+rAwBwrwxtyt_y`y9e!e#e(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i|o}o~oap/x:x;x=x?x@xfigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemene$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwVC8zWCXCRBSBTB|w9z!z#z$z%z'zYC(zZC0CUBVBWB}w)z*z+z,z-z.z1C/z2C3CXBYBZB~w:z;z=z?z@z[z-g.g*f+f,f-f?qEzjCpC]v,r^vPf-r.r/r@q_v`v:v:r;rXyYyvcwcxc/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gah3j4j5j6j]z^z_z`z{z|zegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKw4C}z5C6C0B1B2Bax~zaAbAcAdAeA7CfA8C9C3B4B5BbxgAhAiAjAkAlAbh.f/fdrFzkCqC{vbs|vQfcsdseser}v~v;vfsgsZy0yQcRcchdhehfhghhhihjhKkLkmAnAoApAqArAqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLw!C[x#C$C6B]x^x-w_x`x{x|x}x~x%Cay'C(C7Bbycy.wdyeyfygyhyiy)Cjy*C+C8Bkyly/wmynyoypyqyry_i`iPiQiRiSi6zzCACCwJtDw9fKtLtMtosEwFwswNtOt{y|y@e[e]e{i|i}i~iajbjcjdjejfjgjhjijjjkjlj%p'p(p)psytyuyvywyxyrisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSw,CsA-C.C9B!B#BcxtAuAvAwAxAyA/CzA:C;C$B%B'BdxAABACADAEAFA=CGA?C@C(B)B*BexHAIAJAKALAMAkhlh;f=f?f@fnrGzlCrCawpsbwRfqsrsssorcwdw=vtsus1y2y7c8c9cmhnhohphqhrhshthuhvhwhxhyhzhAhBh_k`k{k|kNAOAPAQARASAygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$c%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMw[Cyy]C^C+BzyAy:wByCyDyEyFyGymjTiUi7zBCCCGwZtHw#f0t1t2tIsIwJwtw3t4t}y~yifnjojpjqjrjsjtjujSqTqHyIyJyKyLyMyDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNejfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTw_CTA`C{C,B-B.BfxUAVAWAXAYAZA|C0A}C~C/B:B;Bgx1A2A3A4A5A6AaD7AbDcD=B?B@Bhx8A9A!A#A$A%AChDh]f^f_f`fBrHzmCsCewJsfwSfKsLsMsCrgwhw?vNsOs3y4y]c^c_cEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh)l*l+l,l'A(A)A*A+A,AKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|c}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwdD-AeDfD[B]B^Bix.A/A:A;A=A?AgD@AhDiD_B`B{Bjx[A]A^A_A`A{AjD|AkDlD|B}B~Bkx}A~AaBbBcBdBUhVh{f|f}f~fPrIznCtCiw2sjwTf3s4s5sQrkwlw@v6s7s5y6yndodpdWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#hXmYmZm0meBfBgBhBiBjBWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdtdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwmDkBnDoDaCbCcClxlBmBnBoBpBqBpDrBqDrDdCeCfCmxsBtBuBvBwBxBsDyBtDuDgChCiCnxzBABBBCBDBEB$h%hagbgcgdg3rJzoCuCmw.snwUf/s:s;s4rowpw[v=s?s7y8yIdJdKd'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]hEnFnGnHnFBGBHBIBJBKB8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

797 return new_object 2DCoxECFCLBpxqx'wrxsxtxuxvxwxGCxxHCICMByxzx(wAxBxCxDxExFxJCGxKCLCNBHxIx)wJxKxLxMxNxOxViWiHiIiJiKi4zvCwCuwdtvw5fetftgt*rwwxwqwhtit]y^yReSeTeXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$isotouovoPxQxRxSxTxUx^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwMCVxNCOCOBWxXx*wYxZx0x1x2x3xPC4xQCRCPB5x6x+w7x8x9x!x#x$xSC%xTCUCQB'x(x,w)x*x+x,x-x.x%i'iLiMiNiOi5zxCyCywttzw6futvtwt+rAwBwrwxtyt_y`y9e!e#e(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i|o}o~oap/x:x;x=x?x@xfigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemene$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwVC8zWCXCRBSBTB|w9z!z#z$z%z'zYC(zZC0CUBVBWB}w)z*z+z,z-z.z1C/z2C3CXBYBZB~w:z;z=z?z@z[z-g.g*f+f,f-f?qEzjCpC]v,r^vPf-r.r/r@q_v`v:v:r;rXyYyvcwcxc/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gah3j4j5j6j]z^z_z`z{z|zegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKw4C}z5C6C0B1B2Bax~zaAbAcAdAeA7CfA8C9C3B4B5BbxgAhAiAjAkAlAbh.f/fdrFzkCqC{vbs|vQfcsdseser}v~v;vfsgsZy0yQcRcchdhehfhghhhihjhKkLkmAnAoApAqArAqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLw!C[x#C$C6B]x^x-w_x`x{x|x}x~x%Cay'C(C7Bbycy.wdyeyfygyhyiy)Cjy*C+C8Bkyly/wmynyoypyqyry_i`iPiQiRiSi6zzCACCwJtDw9fKtLtMtosEwFwswNtOt{y|y@e[e]e{i|i}i~iajbjcjdjejfjgjhjijjjkjlj%p'p(p)psytyuyvywyxyrisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSw,CsA-C.C9B!B#BcxtAuAvAwAxAyA/CzA:C;C$B%B'BdxAABACADAEAFA=CGA?C@C(B)B*BexHAIAJAKALAMAkhlh;f=f?f@fnrGzlCrCawpsbwRfqsrsssorcwdw=vtsus1y2y7c8c9cmhnhohphqhrhshthuhvhwhxhyhzhAhBh_k`k{k|kNAOAPAQARASAygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$c%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMw[Cyy]C^C+BzyAy:wByCyDyEyFyGymjTiUi7zBCCCGwZtHw#f0t1t2tIsIwJwtw3t4t}y~yifnjojpjqjrjsjtjujSqTqHyIyJyKyLyMyDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNejfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTw_CTA`C{C,B-B.BfxUAVAWAXAYAZA|C0A}C~C/B:B;Bgx1A2A3A4A5A6AaD7AbDcD=B?B@Bhx8A9A!A#A$A%AChDh]f^f_f`fBrHzmCsCewJsfwSfKsLsMsCrgwhw?vNsOs3y4y]c^c_cEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh)l*l+l,l'A(A)A*A+A,AKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|c}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNwdD-AeDfD[B]B^Bix.A/A:A;A=A?AgD@AhDiD_B`B{Bjx[A]A^A_A`A{AjD|AkDlD|B}B~Bkx}A~AaBbBcBdBUhVh{f|f}f~fPrIznCtCiw2sjwTf3s4s5sQrkwlw@v6s7s5y6yndodpdWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#hXmYmZm0meBfBgBhBiBjBWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdtdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwmDkBnDoDaCbCcClxlBmBnBoBpBqBpDrBqDrDdCeCfCmxsBtBuBvBwBxBsDyBtDuDgChCiCnxzBABBBCBDBEB$h%hagbgcgdg3rJzoCuCmw.snwUf/s:s;s4rowpw[v=s?s7y8yIdJdKd'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]hEnFnGnHnFBGBHBIBJBKB8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

798 

799 def __init__(__pydantic_self__, **data: Any) -> None: 1daefbghicj

800 # Uses something other than `self` the first arg to allow "self" as a 

801 # settable attribute 

802 

803 # SQLAlchemy does very dark black magic and modifies the __init__ method in 

804 # sqlalchemy.orm.instrumentation._generate_init() 

805 # so, to make SQLAlchemy work, it's needed to explicitly call __init__ to 

806 # trigger all the SQLAlchemy logic, it doesn't work using cls.__new__, setting 

807 # attributes obj.__dict__, etc. The __init__ method has to be called. But 

808 # there are cases where calling all the default logic is not ideal, e.g. 

809 # when calling Model.model_validate(), as the validation is done outside 

810 # of instance creation. 

811 # At the same time, __init__ is what users would normally call, by creating 

812 # a new instance, which should have validation and all the default logic. 

813 # So, to be able to set up the internal SQLAlchemy logic alone without 

814 # executing the rest, and support things like Model.model_validate(), we 

815 # use a contextvar to know if we should execute everything. 

816 if finish_init.get(): 2DCoxECFCLBpxqx'wrxsxtxuxvxwxGCxxHCICMByxzx(wAxBxCxDxExFxJCGxKCLCNBHxIx)wJxKxLxMxNxOxViWiHiIiJiKi4zvCuwdtvw5fetftgt*rwwxwqwhtit]y^yReSeTeXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$isotouovoPxQxRxSxTxUx^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwMCVxNCOCOBWxXx*wYxZx0x1x2x3xPC4xQCRCPB5x6x+w7x8x9x!x#x$xSC%xTCUCQB'x(x,w)x*x+x,x-x.x%i'iLiMiNiOi5zxCywttzw6futvtwt+rAwBwrwxtyt_y`y9e!e#e(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i|o}o~oap/x:x;x=x?x@xfigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemene$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwVC8zWCXCRBSBTB|w9z!z#z$z%z'zYC(zZC0CUBVBWB}w)z*z+z,z-z.z1C/z2C3CXBYBZB~w:z;z=z?z@z[z-g.g*f+f,f-f?qEzjC]v,r^vPf-r.r/r@q_v`v:v:r;rXyYyvcwcxc/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gah3j4j5j6j]z^z_z`z{z|zegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJk4C}z5C6C0B1B2Bax~zaAbAcAdAeA7CfA8C9C3B4B5BbxgAhAiAjAkAlAbh.f/fdrFzkC{vbs|vQfcsdseser}v~v;vfsgsZy0yQcRcchdhehfhghhhihjhKkLkmAnAoApAqArAqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k!C[x#C$C6B]x^x-w_x`x{x|x}x~x%Cay'C(C7Bbycy.wdyeyfygyhyiy)Cjy*C+C8Bkyly/wmynyoypyqyry_i`iPiQiRiSi6zzCCwJtDw9fKtLtMtosEwFwswNtOt{y|y@e[e]e{i|i}i~iajbjcjdjejfjgjhjijjjkjlj%p'p(p)psytyuyvywyxyrisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSw,CsA-C.C9B!B#BcxtAuAvAwAxAyA/CzA:C;C$B%B'BdxAABACADAEAFA=CGA?C@C(B)B*BexHAIAJAKALAMAkhlh;f=f?f@fnrGzlCawpsbwRfqsrsssorcwdw=vtsus1y2y7c8c9cmhnhohphqhrhshthuhvhwhxhyhzhAhBh_k`k{k|kNAOAPAQARASAygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$c%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l[Cyy]C^C+BzyAy:wByCyDyEyFyGymjTiUi7zBCGwZtHw#f0t1t2tIsIwJwtw3t4t}y~yifnjojpjqjrjsjtjujSqTqHyIyJyKyLyMyDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNejfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTw_CTA`C{C,B-B.BfxUAVAWAXAYAZA|C0A}C~C/B:B;Bgx1A2A3A4A5A6AaD7AbDcD=B?B@Bhx8A9A!A#A$A%AChDh]f^f_f`fBrHzmCewJsfwSfKsLsMsCrgwhw?vNsOs3y4y]c^c_cEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh)l*l+l,l'A(A)A*A+A,AKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|c}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmdD-AeDfD[B]B^Bix.A/A:A;A=A?AgD@AhDiD_B`B{Bjx[A]A^A_A`A{AjD|AkDlD|B}B~Bkx}A~AaBbBcBdBUhVh{f|f}f~fPrIznCiw2sjwTf3s4s5sQrkwlw@v6s7s5y6yndodpdWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#hXmYmZm0meBfBgBhBiBjBWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdtdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnmDkBnDoDaCbCcClxlBmBnBoBpBqBpDrBqDrDdCeCfCmxsBtBuBvBwBxBsDyBtDuDgChCiCnxzBABBBCBDBEB$h%hagbgcgdg3rJzoCmw.snwUf/s:s;s4rowpw[v=s?s7y8yIdJdKd'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]hEnFnGnHnFBGBHBIBJBKB8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

817 sqlmodel_init(self=__pydantic_self__, data=data) 2DCoxECFCLBpxqx'wrxsxtxuxvxwxGCxxHCICMByxzx(wAxBxCxDxExFxJCGxKCLCNBHxIx)wJxKxLxMxNxOxViWiHiIiJiKi4zvCuwdtvw5fetftgt*rwwxwqwhtit]y^yReSeTeXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$isotouovoPxQxRxSxTxUx^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oQwMCVxNCOCOBWxXx*wYxZx0x1x2x3xPC4xQCRCPB5x6x+w7x8x9x!x#x$xSC%xTCUCQB'x(x,w)x*x+x,x-x.x%i'iLiMiNiOi5zxCywttzw6futvtwt+rAwBwrwxtyt_y`y9e!e#e(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i|o}o~oap/x:x;x=x?x@xfigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemene$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pRwVC8zWCXCRBSBTB|w9z!z#z$z%z'zYC(zZC0CUBVBWB}w)z*z+z,z-z.z1C/z2C3CXBYBZB~w:z;z=z?z@z[z-g.g*f+f,f-f?qEzjC]v,r^vPf-r.r/r@q_v`v:v:r;rXyYyvcwcxc/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gah3j4j5j6j]z^z_z`z{z|zegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJk4C}z5C6C0B1B2Bax~zaAbAcAdAeA7CfA8C9C3B4B5BbxgAhAiAjAkAlAbh.f/fdrFzkC{vbs|vQfcsdseser}v~v;vfsgsZy0yQcRcchdhehfhghhhihjhKkLkmAnAoApAqArAqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k!C[x#C$C6B]x^x-w_x`x{x|x}x~x%Cay'C(C7Bbycy.wdyeyfygyhyiy)Cjy*C+C8Bkyly/wmynyoypyqyry_i`iPiQiRiSi6zzCCwJtDw9fKtLtMtosEwFwswNtOt{y|y@e[e]e{i|i}i~iajbjcjdjejfjgjhjijjjkjlj%p'p(p)psytyuyvywyxyrisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSw,CsA-C.C9B!B#BcxtAuAvAwAxAyA/CzA:C;C$B%B'BdxAABACADAEAFA=CGA?C@C(B)B*BexHAIAJAKALAMAkhlh;f=f?f@fnrGzlCawpsbwRfqsrsssorcwdw=vtsus1y2y7c8c9cmhnhohphqhrhshthuhvhwhxhyhzhAhBh_k`k{k|kNAOAPAQARASAygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$c%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l[Cyy]C^C+BzyAy:wByCyDyEyFyGymjTiUi7zBCGwZtHw#f0t1t2tIsIwJwtw3t4t}y~yifnjojpjqjrjsjtjujSqTqHyIyJyKyLyMyDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNejfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTw_CTA`C{C,B-B.BfxUAVAWAXAYAZA|C0A}C~C/B:B;Bgx1A2A3A4A5A6AaD7AbDcD=B?B@Bhx8A9A!A#A$A%AChDh]f^f_f`fBrHzmCewJsfwSfKsLsMsCrgwhw?vNsOs3y4y]c^c_cEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh)l*l+l,l'A(A)A*A+A,AKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|c}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmdD-AeDfD[B]B^Bix.A/A:A;A=A?AgD@AhDiD_B`B{Bjx[A]A^A_A`A{AjD|AkDlD|B}B~Bkx}A~AaBbBcBdBUhVh{f|f}f~fPrIznCiw2sjwTf3s4s5sQrkwlw@v6s7s5y6yndodpdWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#hXmYmZm0meBfBgBhBiBjBWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdtdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnmDkBnDoDaCbCcClxlBmBnBoBpBqBpDrBqDrDdCeCfCmxsBtBuBvBwBxBsDyBtDuDgChCiCnxzBABBBCBDBEB$h%hagbgcgdg3rJzoCmw.snwUf/s:s;s4rowpw[v=s?s7y8yIdJdKd'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]hEnFnGnHnFBGBHBIBJBKB8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

818 

819 def __setattr__(self, name: str, value: Any) -> None: 1daefbghicj

820 if name in {"_sa_instance_state"}: 2oxLBpxqx'wrxsxtxuxvxwxxxMByxzx(wAxBxCxDxExFxGxNBHxIx)wJxKxLxMxNxOxViWiHiIiJiKidt5fetftgt*rhtit]y^yReSeTeXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$isotouovoPxQxRxSxTxUx^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oVxOBWxXx*wYxZx0x1x2x3x4xPB5x6x+w7x8x9x!x#x$x%xQB'x(x,w)x*x+x,x-x.x%i'iLiMiNiOitt6futvtwt+rxtyt_y`y9e!e#e(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i|o}o~oap/x:x;x=x?x@xfigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemene$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$p8zRBSBTB|w9z!z#z$z%z'z(zUBVBWB}w)z*z+z,z-z.z/zXBYBZB~w:z;z=z?z@z[z-g.g*f+f,f-f?qjCpC,rPf-r.r/r@q:r;rXyYyvcwcxc/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gah3j4j5j6j]z^z_z`z{z|zegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKw}z0B1B2Bax~zaAbAcAdAeAfA3B4B5BbxgAhAiAjAkAlAbh.f/fdrkCqCbsQfcsdseserfsgsZy0yQcRcchdhehfhghhhihjhKkLkmAnAoApAqArAqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLw[x6B]x^x-w_x`x{x|x}x~xay7Bbycy.wdyeyfygyhyiyjy8Bkyly/wmynyoypyqyry_i`iPiQiRiSiJt9fKtLtMtosNtOt{y|y@e[e]e{i|i}i~iajbjcjdjejfjgjhjijjjkjlj%p'p(p)psytyuyvywyxyrisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqsA9B!B#BcxtAuAvAwAxAyAzA$B%B'BdxAABACADAEAFAGA(B)B*BexHAIAJAKALAMAkhlh;f=f?f@fnrlCrCpsRfqsrsssortsus1y2y7c8c9cmhnhohphqhrhshthuhvhwhxhyhzhAhBh_k`k{k|kNAOAPAQARASAygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$c%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwyy+BzyAy:wByCyDyEyFyGymjTiUiZt#f0t1t2tIs3t4t}y~yifnjojpjqjrjsjtjujSqTqHyIyJyKyLyMyDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNejfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTA,B-B.BfxUAVAWAXAYAZA0A/B:B;Bgx1A2A3A4A5A6A7A=B?B@Bhx8A9A!A#A$A%AChDh]f^f_f`fBrmCsCJsSfKsLsMsCrNsOs3y4y]c^c_cEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh)l*l+l,l'A(A)A*A+A,AKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|c}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNw-A[B]B^Bix.A/A:A;A=A?A@A_B`B{Bjx[A]A^A_A`A{A|A|B}B~Bkx}A~AaBbBcBdBUhVh{f|f}f~fPrnCtC2sTf3s4s5sQr6s7s5y6yndodpdWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#hXmYmZm0meBfBgBhBiBjBWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdtdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwkBaCbCcClxlBmBnBoBpBqBrBdCeCfCmxsBtBuBvBwBxByBgChCiCnxzBABBBCBDBEB$h%hagbgcgdg3roCuC.sUf/s:s;s4r=s?s7y8yIdJdKd'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]hEnFnGnHnFBGBHBIBJBKB8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

821 self.__dict__[name] = value 2oxLBpxqx'wrxsxtxuxvxwxxxMByxzx(wAxBxCxDxExFxGxNBHxIx)wJxKxLxMxNxOxViWiHiIiJiKidt5fetftgt*rhtit]y^yReSeTeXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$isotouovoPxQxRxSxTxUx^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oVxOBWxXx*wYxZx0x1x2x3x4xPB5x6x+w7x8x9x!x#x$x%xQB'x(x,w)x*x+x,x-x.x%i'iLiMiNiOitt6futvtwt+rxtyt_y`y9e!e#e(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i|o}o~oap/x:x;x=x?x@xfigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemene$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$p8zRBSBTB|w9z!z#z$z%z'z(zUBVBWB}w)z*z+z,z-z.z/zXBYBZB~w:z;z=z?z@z[z-g.g*f+f,f-f?q,rPf-r.r/r@q:r;rXyYyvcwcxc/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gah3j4j5j6j]z^z_z`z{z|zegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJk}z0B1B2Bax~zaAbAcAdAeAfA3B4B5BbxgAhAiAjAkAlAbh.f/fdrbsQfcsdseserfsgsZy0yQcRcchdhehfhghhhihjhKkLkmAnAoApAqArAqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k[x6B]x^x-w_x`x{x|x}x~xay7Bbycy.wdyeyfygyhyiyjy8Bkyly/wmynyoypyqyry_i`iPiQiRiSiJt9fKtLtMtosNtOt{y|y@e[e]e{i|i}i~iajbjcjdjejfjgjhjijjjkjlj%p'p(p)psytyuyvywyxyrisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqsA9B!B#BcxtAuAvAwAxAyAzA$B%B'BdxAABACADAEAFAGA(B)B*BexHAIAJAKALAMAkhlh;f=f?f@fnrpsRfqsrsssortsus1y2y7c8c9cmhnhohphqhrhshthuhvhwhxhyhzhAhBh_k`k{k|kNAOAPAQARASAygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$c%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lyy+BzyAy:wByCyDyEyFyGymjTiUiZt#f0t1t2tIs3t4t}y~yifnjojpjqjrjsjtjujSqTqHyIyJyKyLyMyDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNejfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTA,B-B.BfxUAVAWAXAYAZA0A/B:B;Bgx1A2A3A4A5A6A7A=B?B@Bhx8A9A!A#A$A%AChDh]f^f_f`fBrJsSfKsLsMsCrNsOs3y4y]c^c_cEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh)l*l+l,l'A(A)A*A+A,AKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|c}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWm-A[B]B^Bix.A/A:A;A=A?A@A_B`B{Bjx[A]A^A_A`A{A|A|B}B~Bkx}A~AaBbBcBdBUhVh{f|f}f~fPr2sTf3s4s5sQr6s7s5y6yndodpdWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#hXmYmZm0meBfBgBhBiBjBWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdtdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnkBaCbCcClxlBmBnBoBpBqBrBdCeCfCmxsBtBuBvBwBxByBgChCiCnxzBABBBCBDBEB$h%hagbgcgdg3r.sUf/s:s;s4r=s?s7y8yIdJdKd'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]hEnFnGnHnFBGBHBIBJBKB8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

822 return 2oxLBpxqx'wrxsxtxuxvxwxxxMByxzx(wAxBxCxDxExFxGxNBHxIx)wJxKxLxMxNxOxViWiHiIiJiKidt5fetftgt*rhtit]y^yReSeTeXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$isotouovoPxQxRxSxTxUx^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oVxOBWxXx*wYxZx0x1x2x3x4xPB5x6x+w7x8x9x!x#x$x%xQB'x(x,w)x*x+x,x-x.x%i'iLiMiNiOitt6futvtwt+rxtyt_y`y9e!e#e(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i|o}o~oap/x:x;x=x?x@xfigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemene$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$p8zRBSBTB|w9z!z#z$z%z'z(zUBVBWB}w)z*z+z,z-z.z/zXBYBZB~w:z;z=z?z@z[z-g.g*f+f,f-f?q,rPf-r.r/r@q:r;rXyYyvcwcxc/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gah3j4j5j6j]z^z_z`z{z|zegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJk}z0B1B2Bax~zaAbAcAdAeAfA3B4B5BbxgAhAiAjAkAlAbh.f/fdrbsQfcsdseserfsgsZy0yQcRcchdhehfhghhhihjhKkLkmAnAoApAqArAqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k[x6B]x^x-w_x`x{x|x}x~xay7Bbycy.wdyeyfygyhyiyjy8Bkyly/wmynyoypyqyry_i`iPiQiRiSiJt9fKtLtMtosNtOt{y|y@e[e]e{i|i}i~iajbjcjdjejfjgjhjijjjkjlj%p'p(p)psytyuyvywyxyrisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqsA9B!B#BcxtAuAvAwAxAyAzA$B%B'BdxAABACADAEAFAGA(B)B*BexHAIAJAKALAMAkhlh;f=f?f@fnrpsRfqsrsssortsus1y2y7c8c9cmhnhohphqhrhshthuhvhwhxhyhzhAhBh_k`k{k|kNAOAPAQARASAygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$c%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lyy+BzyAy:wByCyDyEyFyGymjTiUiZt#f0t1t2tIs3t4t}y~yifnjojpjqjrjsjtjujSqTqHyIyJyKyLyMyDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNejfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTA,B-B.BfxUAVAWAXAYAZA0A/B:B;Bgx1A2A3A4A5A6A7A=B?B@Bhx8A9A!A#A$A%AChDh]f^f_f`fBrJsSfKsLsMsCrNsOs3y4y]c^c_cEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh)l*l+l,l'A(A)A*A+A,AKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|c}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWm-A[B]B^Bix.A/A:A;A=A?A@A_B`B{Bjx[A]A^A_A`A{A|A|B}B~Bkx}A~AaBbBcBdBUhVh{f|f}f~fPr2sTf3s4s5sQr6s7s5y6yndodpdWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#hXmYmZm0meBfBgBhBiBjBWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdtdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnkBaCbCcClxlBmBnBoBpBqBrBdCeCfCmxsBtBuBvBwBxByBgChCiCnxzBABBBCBDBEB$h%hagbgcgdg3r.sUf/s:s;s4r=s?s7y8yIdJdKd'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]hEnFnGnHnFBGBHBIBJBKB8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

823 else: 

824 # Set in SQLAlchemy, before Pydantic to trigger events and updates 

825 if is_table_model_class(self.__class__) and is_instrumented(self, name): # type: ignore[no-untyped-call] 2oxLBpxqx'wrxsxtxuxvxwxxxMByxzx(wAxBxCxDxExFxGxNBHxIx)wJxKxLxMxNxOxViWiHiIiJiKidt5fetftgt*rhtit]y^yReSeTeXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$isotouovoPxQxRxSxTxUx^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oVxOBWxXx*wYxZx0x1x2x3x4xPB5x6x+w7x8x9x!x#x$x%xQB'x(x,w)x*x+x,x-x.x%i'iLiMiNiOitt6futvtwt+rxtyt_y`y9e!e#e(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i|o}o~oap/x:x;x=x?x@xfigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemene$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$p8zRBSBTB|w9z!z#z$z%z'z(zUBVBWB}w)z*z+z,z-z.z/zXBYBZB~w:z;z=z?z@z[z-g.g*f+f,f-f?qjCpC,rPf-r.r/r@q:r;rXyYyvcwcxc/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gah3j4j5j6j]z^z_z`z{z|zegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKw}z0B1B2Bax~zaAbAcAdAeAfA3B4B5BbxgAhAiAjAkAlAbh.f/fdrkCqCbsQfcsdseserfsgsZy0yQcRcchdhehfhghhhihjhKkLkmAnAoApAqArAqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLw[x6B]x^x-w_x`x{x|x}x~xay7Bbycy.wdyeyfygyhyiyjy8Bkyly/wmynyoypyqyry_i`iPiQiRiSiJt9fKtLtMtosNtOt{y|y@e[e]e{i|i}i~iajbjcjdjejfjgjhjijjjkjlj%p'p(p)psytyuyvywyxyrisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqsA9B!B#BcxtAuAvAwAxAyAzA$B%B'BdxAABACADAEAFAGA(B)B*BexHAIAJAKALAMAkhlh;f=f?f@fnrlCrCpsRfqsrsssortsus1y2y7c8c9cmhnhohphqhrhshthuhvhwhxhyhzhAhBh_k`k{k|kNAOAPAQARASAygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$c%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwyy+BzyAy:wByCyDyEyFyGymjTiUiZt#f0t1t2tIs3t4t}y~yifnjojpjqjrjsjtjujSqTqHyIyJyKyLyMyDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNejfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTA,B-B.BfxUAVAWAXAYAZA0A/B:B;Bgx1A2A3A4A5A6A7A=B?B@Bhx8A9A!A#A$A%AChDh]f^f_f`fBrmCsCJsSfKsLsMsCrNsOs3y4y]c^c_cEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh)l*l+l,l'A(A)A*A+A,AKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|c}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNw-A[B]B^Bix.A/A:A;A=A?A@A_B`B{Bjx[A]A^A_A`A{A|A|B}B~Bkx}A~AaBbBcBdBUhVh{f|f}f~fPrnCtC2sTf3s4s5sQr6s7s5y6yndodpdWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#hXmYmZm0meBfBgBhBiBjBWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdtdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwkBaCbCcClxlBmBnBoBpBqBrBdCeCfCmxsBtBuBvBwBxByBgChCiCnxzBABBBCBDBEB$h%hagbgcgdg3roCuC.sUf/s:s;s4r=s?s7y8yIdJdKd'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]hEnFnGnHnFBGBHBIBJBKB8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

826 set_attribute(self, name, value) 2oxLBpxqx'wrxsxtxuxvxwxxxMByxzx(wAxBxCxDxExFxGxNBHxIx)wJxKxLxMxNxOxViWiHiIiJiKidt5fetftgt*rhtit]y^yReSeTeXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$isotouovoPxQxRxSxTxUx^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oVxOBWxXx*wYxZx0x1x2x3x4xPB5x6x+w7x8x9x!x#x$x%xQB'x(x,w)x*x+x,x-x.x%i'iLiMiNiOitt6futvtwt+rxtyt_y`y9e!e#e(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i|o}o~oap/x:x;x=x?x@xfigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemene$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$p8zRBSBTB|w9z!z#z$z%z'z(zUBVBWB}w)z*z+z,z-z.z/zXBYBZB~w:z;z=z?z@z[z-g.g*f+f,f-f?q,rPf-r.r/r@q:r;rXyYyvcwcxc/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gah3j4j5j6j]z^z_z`z{z|zegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJk}z0B1B2Bax~zaAbAcAdAeAfA3B4B5BbxgAhAiAjAkAlAbh.f/fdrbsQfcsdseserfsgsZy0yQcRcchdhehfhghhhihjhKkLkmAnAoApAqArAqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k[x6B]x^x-w_x`x{x|x}x~xay7Bbycy.wdyeyfygyhyiyjy8Bkyly/wmynyoypyqyry_i`iPiQiRiSiJt9fKtLtMtosNtOt{y|y@e[e]e{i|i}i~iajbjcjdjejfjgjhjijjjkjlj%p'p(p)psytyuyvywyxyrisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqsA9B!B#BcxtAuAvAwAxAyAzA$B%B'BdxAABACADAEAFAGA(B)B*BexHAIAJAKALAMAkhlh;f=f?f@fnrpsRfqsrsssortsus1y2y7c8c9cmhnhohphqhrhshthuhvhwhxhyhzhAhBh_k`k{k|kNAOAPAQARASAygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$c%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lyy+BzyAy:wByCyDyEyFyGymjTiUiZt#f0t1t2tIs3t4t}y~yifnjojpjqjrjsjtjujSqTqHyIyJyKyLyMyDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNejfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTA,B-B.BfxUAVAWAXAYAZA0A/B:B;Bgx1A2A3A4A5A6A7A=B?B@Bhx8A9A!A#A$A%AChDh]f^f_f`fBrJsSfKsLsMsCrNsOs3y4y]c^c_cEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh)l*l+l,l'A(A)A*A+A,AKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|c}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWm-A[B]B^Bix.A/A:A;A=A?A@A_B`B{Bjx[A]A^A_A`A{A|A|B}B~Bkx}A~AaBbBcBdBUhVh{f|f}f~fPr2sTf3s4s5sQr6s7s5y6yndodpdWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#hXmYmZm0meBfBgBhBiBjBWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdtdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnkBaCbCcClxlBmBnBoBpBqBrBdCeCfCmxsBtBuBvBwBxByBgChCiCnxzBABBBCBDBEB$h%hagbgcgdg3r.sUf/s:s;s4r=s?s7y8yIdJdKd'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]hEnFnGnHnFBGBHBIBJBKB8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

827 # Set in Pydantic model to trigger possible validation changes, only for 

828 # non relationship values 

829 if name not in self.__sqlmodel_relationships__: 2oxLBpxqx'wrxsxtxuxvxwxxxMByxzx(wAxBxCxDxExFxGxNBHxIx)wJxKxLxMxNxOxViWiHiIiJiKidt5fetftgt*rhtit]y^yReSeTeXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$isotouovoPxQxRxSxTxUx^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oVxOBWxXx*wYxZx0x1x2x3x4xPB5x6x+w7x8x9x!x#x$x%xQB'x(x,w)x*x+x,x-x.x%i'iLiMiNiOitt6futvtwt+rxtyt_y`y9e!e#e(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i|o}o~oap/x:x;x=x?x@xfigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemene$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$p8zRBSBTB|w9z!z#z$z%z'z(zUBVBWB}w)z*z+z,z-z.z/zXBYBZB~w:z;z=z?z@z[z-g.g*f+f,f-f?qjCpC,rPf-r.r/r@q:r;rXyYyvcwcxc/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gah3j4j5j6j]z^z_z`z{z|zegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKw}z0B1B2Bax~zaAbAcAdAeAfA3B4B5BbxgAhAiAjAkAlAbh.f/fdrkCqCbsQfcsdseserfsgsZy0yQcRcchdhehfhghhhihjhKkLkmAnAoApAqArAqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLw[x6B]x^x-w_x`x{x|x}x~xay7Bbycy.wdyeyfygyhyiyjy8Bkyly/wmynyoypyqyry_i`iPiQiRiSiJt9fKtLtMtosNtOt{y|y@e[e]e{i|i}i~iajbjcjdjejfjgjhjijjjkjlj%p'p(p)psytyuyvywyxyrisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqsA9B!B#BcxtAuAvAwAxAyAzA$B%B'BdxAABACADAEAFAGA(B)B*BexHAIAJAKALAMAkhlh;f=f?f@fnrlCrCpsRfqsrsssortsus1y2y7c8c9cmhnhohphqhrhshthuhvhwhxhyhzhAhBh_k`k{k|kNAOAPAQARASAygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$c%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwyy+BzyAy:wByCyDyEyFyGymjTiUiZt#f0t1t2tIs3t4t}y~yifnjojpjqjrjsjtjujSqTqHyIyJyKyLyMyDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNejfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTA,B-B.BfxUAVAWAXAYAZA0A/B:B;Bgx1A2A3A4A5A6A7A=B?B@Bhx8A9A!A#A$A%AChDh]f^f_f`fBrmCsCJsSfKsLsMsCrNsOs3y4y]c^c_cEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh)l*l+l,l'A(A)A*A+A,AKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|c}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNw-A[B]B^Bix.A/A:A;A=A?A@A_B`B{Bjx[A]A^A_A`A{A|A|B}B~Bkx}A~AaBbBcBdBUhVh{f|f}f~fPrnCtC2sTf3s4s5sQr6s7s5y6yndodpdWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#hXmYmZm0meBfBgBhBiBjBWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdtdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwkBaCbCcClxlBmBnBoBpBqBrBdCeCfCmxsBtBuBvBwBxByBgChCiCnxzBABBBCBDBEB$h%hagbgcgdg3roCuC.sUf/s:s;s4r=s?s7y8yIdJdKd'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]hEnFnGnHnFBGBHBIBJBKB8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

830 super().__setattr__(name, value) 2oxLBpxqx'wrxsxtxuxvxwxxxMByxzx(wAxBxCxDxExFxGxNBHxIx)wJxKxLxMxNxOxViWiHiIiJiKidt5fetftgt*rhtit]y^yReSeTeXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$isotouovoPxQxRxSxTxUx^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oVxOBWxXx*wYxZx0x1x2x3x4xPB5x6x+w7x8x9x!x#x$x%xQB'x(x,w)x*x+x,x-x.x%i'iLiMiNiOitt6futvtwt+rxtyt_y`y9e!e#e(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i|o}o~oap/x:x;x=x?x@xfigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemene$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$p8zRBSBTB|w9z!z#z$z%z'z(zUBVBWB}w)z*z+z,z-z.z/zXBYBZB~w:z;z=z?z@z[z-g.g*f+f,f-f?qjCpC,rPf-r.r/r@q:r;rXyYyvcwcxc/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gah3j4j5j6j]z^z_z`z{z|zegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKw}z0B1B2Bax~zaAbAcAdAeAfA3B4B5BbxgAhAiAjAkAlAbh.f/fdrkCqCbsQfcsdseserfsgsZy0yQcRcchdhehfhghhhihjhKkLkmAnAoApAqArAqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kLw[x6B]x^x-w_x`x{x|x}x~xay7Bbycy.wdyeyfygyhyiyjy8Bkyly/wmynyoypyqyry_i`iPiQiRiSiJt9fKtLtMtosNtOt{y|y@e[e]e{i|i}i~iajbjcjdjejfjgjhjijjjkjlj%p'p(p)psytyuyvywyxyrisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqsA9B!B#BcxtAuAvAwAxAyAzA$B%B'BdxAABACADAEAFAGA(B)B*BexHAIAJAKALAMAkhlh;f=f?f@fnrlCrCpsRfqsrsssortsus1y2y7c8c9cmhnhohphqhrhshthuhvhwhxhyhzhAhBh_k`k{k|kNAOAPAQARASAygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$c%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lMwyy+BzyAy:wByCyDyEyFyGymjTiUiZt#f0t1t2tIs3t4t}y~yifnjojpjqjrjsjtjujSqTqHyIyJyKyLyMyDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNejfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qTA,B-B.BfxUAVAWAXAYAZA0A/B:B;Bgx1A2A3A4A5A6A7A=B?B@Bhx8A9A!A#A$A%AChDh]f^f_f`fBrmCsCJsSfKsLsMsCrNsOs3y4y]c^c_cEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh)l*l+l,l'A(A)A*A+A,AKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|c}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmNw-A[B]B^Bix.A/A:A;A=A?A@A_B`B{Bjx[A]A^A_A`A{A|A|B}B~Bkx}A~AaBbBcBdBUhVh{f|f}f~fPrnCtC2sTf3s4s5sQr6s7s5y6yndodpdWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#hXmYmZm0meBfBgBhBiBjBWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdtdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnOwkBaCbCcClxlBmBnBoBpBqBrBdCeCfCmxsBtBuBvBwBxByBgChCiCnxzBABBBCBDBEB$h%hagbgcgdg3roCuC.sUf/s:s;s4r=s?s7y8yIdJdKd'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]hEnFnGnHnFBGBHBIBJBKB8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokoPw

831 

832 def __repr_args__(self) -> Sequence[Tuple[Optional[str], Any]]: 1daefbghicj

833 # Don't show SQLAlchemy private attributes 

834 return [ 2qw-d.d/drw:d;d=d:vjbkblb;vmbnbsw?d@d[d=vobpbqbtw]d?vrbsbtb@vubvbwb[vxbybzb

835 (k, v) 

836 for k, v in super().__repr_args__() 

837 if not (isinstance(k, str) and k.startswith("_sa_")) 

838 ] 

839 

840 @declared_attr # type: ignore 1daefbghicj

841 def __tablename__(cls) -> str: 1daefbghicj

842 return cls.__name__.lower() 2d vDwDxDViWiHiIiJiKinuou+urv|t,vdt5fetftgt*rSusv(fhtitReSeTe@t[tXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i[u]u^u_usotouovo,u-u^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozojtktltmtntotAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoptqtKoLoMoNoOoPoQoRoSoToUoVortstofpfqf{d|d}dVfWfXfUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oa yDzDAD%i'iLiMiNiOipuqu.utv}t-vtt6futvtwt+rTuuv)fxtyt9e!e#e]t^t(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i`u{u|u}u|o}o~oap/u:ufigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepztAtBtCtDtEtfpgphpipjpkplpmpsctcucDbEbFbiejekenpopFtGtppqprpsptpupvpwpxpypzpApHtItrfsftflemeneYfZf0f$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$pe BDCDDD-g.g*f+f,f-f?q~tauBu~u.t%v,rPf-r.r/r@qruav7f:r;rvcwcxc!t#t/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahUuVuWuXu3j4j5j6jCuDuegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m =r?r@rhgigjg7j8jn o p kglgmgngogpg9j!j#j$j[r]r^r_r`r{r%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j|r}r:j;j=j?j@j[j]j^j_j`j{j|j~ras3d4d5dyczcAcyfzfAfBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkf EDFDbh.f/fdrbucuEubv/t'vbsQfcsdsesersucv8ffsgsQcRc$tchdhehfhghhhihjhYuZuKkLkFuqgrgfrgrhrirjrkrlrmrq r hsissgtgMks t ugvgwgxgNkOkjskslsPkQkRkSk+ , - . SbTbTkmsUkVkWkXkYkZkns6d7dScTcBfCfUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kb GDHDID_i`iPiQiRiSituuu;uvvdu.vJt9fKtLtMtos0uwv:fNtOt@e[e]e_t`t{i|i}i~iajbjcjdjejfjgjhjijjjkjljdvevfvgv%p'p(p)p=u?urisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-pPtQtRtStTtUt.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^pVtWt_p`p{p|p}p~paqbqcqdqeqfqXtYtufvfwfAeBeCe1f2f3f^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqg JDKDLDkhlh;f=f?f@fnreufuGuhv:t(vpsRfqsrsssorvuiv!ftsus7c8c9c%t'tmhnhohphqhrhshthuhvhwhxhyhzhAhBh1u2u3u4u_k`k{k|kHuIuygzgAgprqrrrsrtrurvrwrxryrzrAru v w vswsxsBgCgDg}k~kx y z EgFgGgHgIgJgalblcldlyszsAsBsCsDselflglhliljlklll/ : ; = ? @ 3b4b5bmlnlEsFsolplqlrlsltlulvlwlxlylzlGsHs8d9d!d!c#c$cDfEfFf%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lh MDmjTiUiwuxu@uxvgu/vZt#f0t1t2tIs5uyv[f3t4tif{tnjojpjqjrjsjtjujjvkvSqTqDi$l%l'l(l! EjEiro# FiGiUqVq5t6t7tWqXqYqZq[c(bMe0q8t1q2q3q4q5q6q9txfNe4fjfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qi NDODPDChDh]f^f_f`fBrhuiuJulv;t)vJsSfKsLsMsCryumv$fNsOs]c^c_c(t)tEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh6u7u8u9u)l*l+l,lKuLuKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C PsQsRsNgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=lSsTsUsVsWsXs?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}lYsZs~lambmcmdmemfmgmhmimjmkm0s1s#d$d%d`c{c|cGfHfIf}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmc QDRDSDUhVh{f|f}f~fPrjukuMunv=t*v2sTf3s4s5sQrzuov%f6s7sndodpd*t+tWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h!u#u$u%uXmYmZm0mNuOuWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I 8s9s!sZg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m#s$s%s's(s)s7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*s+s*m+m,m-m.m/m:m;m=m?m@m[m,s-s'd(d)dqdrdsdJfKfLftdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnj TDUDVD$h%hagbgcgdg3rlumuPupv?t+v.sUf/s:s;s4rAuqv'f=s?sIdJdKd,t-t'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h'u(u)u*uEnFnGnHnQuRu8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O @s[s]s#g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNn^s_s`s{s|s}sOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXn~satYnZn0n1n2n3n4n5n6n7n8n9nbtct*d+d,dLdMdNdMfNfOfOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

843 

844 @classmethod 1daefbghicj

845 def model_validate( # type: ignore[override] 1daefbghicj

846 cls: Type[_TSQLModel], 

847 obj: Any, 

848 *, 

849 strict: Union[bool, None] = None, 

850 from_attributes: Union[bool, None] = None, 

851 context: Union[Dict[str, Any], None] = None, 

852 update: Union[Dict[str, Any], None] = None, 

853 ) -> _TSQLModel: 

854 return sqlmodel_validate( 2oxpxqx'wrxsxtxuxvxwxxxyxzx(wAxBxCxDxExFxGxHxIx)wJxKxLxMxNxOxvCwCPxQxRxSxTxUx^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hV W X ~haibicidieiVxWxXx*wYxZx0x1x2x3x4x5x6x+w7x8x9x!x#x$x%x'x(x,w)x*x+x,x-x.xxCyC/x:x;x=x?x@xfigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijiki1 2 3 liminioipiqi8z9z!z#z$z%z'z(z)z*z+z,z-z.z/z:z;z=z?z@z[zjCpC]z^z_z`z{z|zegfggg[q]q^q_q`q{q|q}q~qarbrcrk l m hgigjgn o p kglgmgngogpgKw}z~zaAbAcAdAeAfAgAhAiAjAkAlAkCqCmAnAoApAqArAqgrgfrgrhrirjrkrlrmrq r sgtgs t ugvgwgxgLw[x]x^x-w_x`x{x|x}x~xaybycy.wdyeyfygyhyiyjykyly/wmynyoypyqyryzCACsytyuyvywyxyrisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwi7 8 9 xiyiziAiBiCisAtAuAvAwAxAyAzAAABACADAEAFAGAHAIAJAKALAMAlCrCNAOAPAQARASAygzgAgprqrrrsrtrurvrwrxryrzrAru v w BgCgDgx y z EgFgGgHgIgJgMwyyzyAy:wByCyDyEyFyGyBCCCHyIyJyKyLyMyDi$l%l'l(l! EjEi# FiGiTAUAVAWAXAYAZA0A1A2A3A4A5A6A7A8A9A!A#A$A%AmCsC'A(A)A*A+A,AKgLgMgDrErFrGrHrIrJrKrLrMrNrOrA B C NgOgPgD E F QgRgSgTgUgVgNw-A.A/A:A;A=A?A@A[A]A^A_A`A{A|A}A~AaBbBcBdBnCtCeBfBgBhBiBjBWgXgYgRrSrTrUrVrWrXrYrZr0r1r2rG H I Zg0g1gJ K L 2g3g4g5g6g7gOwkBlBmBnBoBpBqBrBsBtBuBvBwBxByBzBABBBCBDBEBoCuCFBGBHBIBJBKB8g9g!g5r6r7r8r9r!r#r$r%r'r(r)rM N O #g$g%gP Q R 'g(g)g*g+g,gPw

855 cls=cls, 

856 obj=obj, 

857 strict=strict, 

858 from_attributes=from_attributes, 

859 context=context, 

860 update=update, 

861 ) 

862 

863 def model_dump( 1daefbghicj

864 self, 

865 *, 

866 mode: Union[Literal["json", "python"], str] = "python", 

867 include: Union[IncEx, None] = None, 

868 exclude: Union[IncEx, None] = None, 

869 context: Union[Any, None] = None, # v2.7 

870 by_alias: Union[bool, None] = None, 

871 exclude_unset: bool = False, 

872 exclude_defaults: bool = False, 

873 exclude_none: bool = False, 

874 exclude_computed_fields: bool = False, # v2.12 

875 round_trip: bool = False, 

876 warnings: Union[bool, Literal["none", "warn", "error"]] = True, 

877 fallback: Union[Callable[[Any], Any], None] = None, # v2.11 

878 serialize_as_any: bool = False, # v2.7 

879 ) -> Dict[str, Any]: 

880 if PYDANTIC_MINOR_VERSION < (2, 11): 2oxpxqx'wrxsxtxuxvxwxxxyxzx(wAxBxCxDxExFxGxHxIx)wJxKxLxMxNxOxViWiHiIiJiKi4z]y^yReSeTeXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$isotouovoPxQxRxSxTxUx^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozoAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoKoLoMoNoOoPoQoRoSoToUoVoofpfqf{d|d}dUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oVxWxXx*wYxZx0x1x2x3x4x5x6x+w7x8x9x!x#x$x%x'x(x,w)x*x+x,x-x.x%i'iLiMiNiOi5z_y`y9e!e#e(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i|o}o~oap/x:x;x=x?x@xfigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepfpgphpipjpkplpmpsctcucDbEbFbiejekenpopppqprpsptpupvpwpxpypzpAprfsftflemene$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$p|w}w~w-g.g*f+f,f-fEzXyYyvcwcxc/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gah3j4j5j6jegfgggk l m hgigjg7j8jn o p kglgmgngogpg9j!j#j$j%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j:j;j=j?j@j[j]j^j_j`j{j|j3d4d5dyczcAcBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkaxbxbh.f/fFzZy0yQcRcchdhehfhghhhihjhKkLkqgrgq r sgtgMks t ugvgwgxgNkOkPkQkRkSk+ , - . SbTbTkUkVkWkXkYkZk6d7dScTcUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k[x]x^x-w_x`x{x|x}x~xaybycy.wdyeyfygyhyiyjykyly/wmynyoypyqyry_i`iPiQiRiSi6z{y|y@e[e]e{i|i}i~iajbjcjdjejfjgjhjijjjkjlj%p'p(p)psytyuyvywyxyrisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-p.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^p_p`p{p|p}p~paqbqcqdqeqfqufvfwfAeBeCe^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqcxdxexkhlh;f=f?f@fGz1y2y7c8c9cmhnhohphqhrhshthuhvhwhxhyhzhAhBh_k`k{k|kygzgAgu v w BgCgDg}k~kx y z EgFgGgHgIgJgalblcldlelflglhliljlklll/ : ; = ? @ 3b4b5bmlnlolplqlrlsltlulvlwlxlylzl8d9d!d!c#c$c%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lyyzyAy:wByCyDyEyFyGymjTiUi7z}y~yifnjojpjqjrjsjtjujSqTqHyIyJyKyLyMyDi$l%l'l(l! EjEiro# FiGiUqVqWqXqYqZq[c(bMe0q1q2q3q4q5q6qxfNejfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qfxgxhxChDh]f^f_f`fHz3y4y]c^c_cEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh)l*l+l,lKgLgMgA B C NgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=l?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}l~lambmcmdmemfmgmhmimjmkm#d$d%d`c{c|c}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmixjxkxUhVh{f|f}f~fIz5y6yndodpdWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#hXmYmZm0mWgXgYgG H I Zg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*m+m,m-m.m/m:m;m=m?m@m[m'd(d)dqdrdsdtdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnlxmxnx$h%hagbgcgdgJz7y8yIdJdKd'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]hEnFnGnHn8g9g!gM N O #g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNnOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXnYnZn0n1n2n3n4n5n6n7n8n9n*d+d,dLdMdNdOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

881 by_alias = by_alias or False 2oxpxqx'wrxsxtxuxvxwxxxyxzx(wAxBxCxDxExFxGxHxIx)wJxKxLxMxNxOxViWiHiIiJiKi4z]y^yReSeTeXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$isotouovoPxQxRxSxTxUx^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozoAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoKoLoMoNoOoPoQoRoSoToUoVoofpfqf{d|d}dUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oVxWxXx*wYxZx0x1x2x3x4x5x6x+w7x8x9x!x#x$x%x'x(x,w)x*x+x,x-x.x%i'iLiMiNiOi5z_y`y9e!e#e(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i|o}o~oap/x:x;x=x?x@xfigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepfpgphpipjpkplpmpsctcucDbEbFbiejekenpopppqprpsptpupvpwpxpypzpAprfsftflemene$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$p[x]x^x-w_x`x{x|x}x~xaybycy.wdyeyfygyhyiyjykyly/wmynyoypyqyry_i`iPiQiRiSi6z{y|y@e[e]e{i|i}i~iajbjcjdjejfjgjhjijjjkjlj%p'p(p)psytyuyvywyxyrisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-p.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^p_p`p{p|p}p~paqbqcqdqeqfqufvfwfAeBeCe^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqyyzyAy:wByCyDyEyFyGymjTiUi7z}y~yifnjojpjqjrjsjtjujSqTqHyIyJyKyLyMyDi$l%l'l(l! EjEiro# FiGiUqVqWqXqYqZq[c(bMe0q1q2q3q4q5q6qxfNejfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=q

882 extra_kwargs: Dict[str, Any] = {} 2oxpxqx'wrxsxtxuxvxwxxxyxzx(wAxBxCxDxExFxGxHxIx)wJxKxLxMxNxOxViWiHiIiJiKi4z]y^yReSeTeXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$isotouovoPxQxRxSxTxUx^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozoAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoKoLoMoNoOoPoQoRoSoToUoVoofpfqf{d|d}dUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oVxWxXx*wYxZx0x1x2x3x4x5x6x+w7x8x9x!x#x$x%x'x(x,w)x*x+x,x-x.x%i'iLiMiNiOi5z_y`y9e!e#e(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i|o}o~oap/x:x;x=x?x@xfigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepfpgphpipjpkplpmpsctcucDbEbFbiejekenpopppqprpsptpupvpwpxpypzpAprfsftflemene$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$p|w}w~w-g.g*f+f,f-fEzXyYyvcwcxc/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gah3j4j5j6jegfgggk l m hgigjg7j8jn o p kglgmgngogpg9j!j#j$j%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j:j;j=j?j@j[j]j^j_j`j{j|j3d4d5dyczcAcBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkaxbxbh.f/fFzZy0yQcRcchdhehfhghhhihjhKkLkqgrgq r sgtgMks t ugvgwgxgNkOkPkQkRkSk+ , - . SbTbTkUkVkWkXkYkZk6d7dScTcUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k[x]x^x-w_x`x{x|x}x~xaybycy.wdyeyfygyhyiyjykyly/wmynyoypyqyry_i`iPiQiRiSi6z{y|y@e[e]e{i|i}i~iajbjcjdjejfjgjhjijjjkjlj%p'p(p)psytyuyvywyxyrisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-p.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^p_p`p{p|p}p~paqbqcqdqeqfqufvfwfAeBeCe^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqcxdxexkhlh;f=f?f@fGz1y2y7c8c9cmhnhohphqhrhshthuhvhwhxhyhzhAhBh_k`k{k|kygzgAgu v w BgCgDg}k~kx y z EgFgGgHgIgJgalblcldlelflglhliljlklll/ : ; = ? @ 3b4b5bmlnlolplqlrlsltlulvlwlxlylzl8d9d!d!c#c$c%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lyyzyAy:wByCyDyEyFyGymjTiUi7z}y~yifnjojpjqjrjsjtjujSqTqHyIyJyKyLyMyDi$l%l'l(l! EjEiro# FiGiUqVqWqXqYqZq[c(bMe0q1q2q3q4q5q6qxfNejfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qfxgxhxChDh]f^f_f`fHz3y4y]c^c_cEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh)l*l+l,lKgLgMgA B C NgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=l?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}l~lambmcmdmemfmgmhmimjmkm#d$d%d`c{c|c}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmixjxkxUhVh{f|f}f~fIz5y6yndodpdWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#hXmYmZm0mWgXgYgG H I Zg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*m+m,m-m.m/m:m;m=m?m@m[m'd(d)dqdrdsdtdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnlxmxnx$h%hagbgcgdgJz7y8yIdJdKd'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]hEnFnGnHn8g9g!gM N O #g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNnOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXnYnZn0n1n2n3n4n5n6n7n8n9n*d+d,dLdMdNdOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

883 if PYDANTIC_MINOR_VERSION >= (2, 7): 2oxpxqx'wrxsxtxuxvxwxxxyxzx(wAxBxCxDxExFxGxHxIx)wJxKxLxMxNxOxViWiHiIiJiKi4z]y^yReSeTeXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$isotouovoPxQxRxSxTxUx^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozoAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoKoLoMoNoOoPoQoRoSoToUoVoofpfqf{d|d}dUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oVxWxXx*wYxZx0x1x2x3x4x5x6x+w7x8x9x!x#x$x%x'x(x,w)x*x+x,x-x.x%i'iLiMiNiOi5z_y`y9e!e#e(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i|o}o~oap/x:x;x=x?x@xfigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepfpgphpipjpkplpmpsctcucDbEbFbiejekenpopppqprpsptpupvpwpxpypzpAprfsftflemene$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$p|w}w~w-g.g*f+f,f-fEzXyYyvcwcxc/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gah3j4j5j6jegfgggk l m hgigjg7j8jn o p kglgmgngogpg9j!j#j$j%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j:j;j=j?j@j[j]j^j_j`j{j|j3d4d5dyczcAcBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkaxbxbh.f/fFzZy0yQcRcchdhehfhghhhihjhKkLkqgrgq r sgtgMks t ugvgwgxgNkOkPkQkRkSk+ , - . SbTbTkUkVkWkXkYkZk6d7dScTcUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k[x]x^x-w_x`x{x|x}x~xaybycy.wdyeyfygyhyiyjykyly/wmynyoypyqyry_i`iPiQiRiSi6z{y|y@e[e]e{i|i}i~iajbjcjdjejfjgjhjijjjkjlj%p'p(p)psytyuyvywyxyrisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-p.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^p_p`p{p|p}p~paqbqcqdqeqfqufvfwfAeBeCe^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqcxdxexkhlh;f=f?f@fGz1y2y7c8c9cmhnhohphqhrhshthuhvhwhxhyhzhAhBh_k`k{k|kygzgAgu v w BgCgDg}k~kx y z EgFgGgHgIgJgalblcldlelflglhliljlklll/ : ; = ? @ 3b4b5bmlnlolplqlrlsltlulvlwlxlylzl8d9d!d!c#c$c%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lyyzyAy:wByCyDyEyFyGymjTiUi7z}y~yifnjojpjqjrjsjtjujSqTqHyIyJyKyLyMyDi$l%l'l(l! EjEiro# FiGiUqVqWqXqYqZq[c(bMe0q1q2q3q4q5q6qxfNejfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qfxgxhxChDh]f^f_f`fHz3y4y]c^c_cEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh)l*l+l,lKgLgMgA B C NgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=l?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}l~lambmcmdmemfmgmhmimjmkm#d$d%d`c{c|c}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmixjxkxUhVh{f|f}f~fIz5y6yndodpdWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#hXmYmZm0mWgXgYgG H I Zg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*m+m,m-m.m/m:m;m=m?m@m[m'd(d)dqdrdsdtdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnlxmxnx$h%hagbgcgdgJz7y8yIdJdKd'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]hEnFnGnHn8g9g!gM N O #g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNnOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXnYnZn0n1n2n3n4n5n6n7n8n9n*d+d,dLdMdNdOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

884 extra_kwargs["context"] = context 2|w}w~w-g.g*f+f,f-fEzXyYyvcwcxc/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gah3j4j5j6jegfgggk l m hgigjg7j8jn o p kglgmgngogpg9j!j#j$j%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j:j;j=j?j@j[j]j^j_j`j{j|j3d4d5dyczcAcBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkaxbxbh.f/fFzZy0yQcRcchdhehfhghhhihjhKkLkqgrgq r sgtgMks t ugvgwgxgNkOkPkQkRkSk+ , - . SbTbTkUkVkWkXkYkZk6d7dScTcUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kcxdxexkhlh;f=f?f@fGz1y2y7c8c9cmhnhohphqhrhshthuhvhwhxhyhzhAhBh_k`k{k|kygzgAgu v w BgCgDg}k~kx y z EgFgGgHgIgJgalblcldlelflglhliljlklll/ : ; = ? @ 3b4b5bmlnlolplqlrlsltlulvlwlxlylzl8d9d!d!c#c$c%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lfxgxhxChDh]f^f_f`fHz3y4y]c^c_cEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh)l*l+l,lKgLgMgA B C NgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=l?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}l~lambmcmdmemfmgmhmimjmkm#d$d%d`c{c|c}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmixjxkxUhVh{f|f}f~fIz5y6yndodpdWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#hXmYmZm0mWgXgYgG H I Zg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*m+m,m-m.m/m:m;m=m?m@m[m'd(d)dqdrdsdtdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnlxmxnx$h%hagbgcgdgJz7y8yIdJdKd'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]hEnFnGnHn8g9g!gM N O #g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNnOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXnYnZn0n1n2n3n4n5n6n7n8n9n*d+d,dLdMdNdOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

885 extra_kwargs["serialize_as_any"] = serialize_as_any 2|w}w~w-g.g*f+f,f-fEzXyYyvcwcxc/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gah3j4j5j6jegfgggk l m hgigjg7j8jn o p kglgmgngogpg9j!j#j$j%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j:j;j=j?j@j[j]j^j_j`j{j|j3d4d5dyczcAcBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkaxbxbh.f/fFzZy0yQcRcchdhehfhghhhihjhKkLkqgrgq r sgtgMks t ugvgwgxgNkOkPkQkRkSk+ , - . SbTbTkUkVkWkXkYkZk6d7dScTcUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kcxdxexkhlh;f=f?f@fGz1y2y7c8c9cmhnhohphqhrhshthuhvhwhxhyhzhAhBh_k`k{k|kygzgAgu v w BgCgDg}k~kx y z EgFgGgHgIgJgalblcldlelflglhliljlklll/ : ; = ? @ 3b4b5bmlnlolplqlrlsltlulvlwlxlylzl8d9d!d!c#c$c%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lfxgxhxChDh]f^f_f`fHz3y4y]c^c_cEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh)l*l+l,lKgLgMgA B C NgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=l?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}l~lambmcmdmemfmgmhmimjmkm#d$d%d`c{c|c}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmixjxkxUhVh{f|f}f~fIz5y6yndodpdWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#hXmYmZm0mWgXgYgG H I Zg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*m+m,m-m.m/m:m;m=m?m@m[m'd(d)dqdrdsdtdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnlxmxnx$h%hagbgcgdgJz7y8yIdJdKd'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]hEnFnGnHn8g9g!gM N O #g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNnOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXnYnZn0n1n2n3n4n5n6n7n8n9n*d+d,dLdMdNdOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

886 if PYDANTIC_MINOR_VERSION >= (2, 11): 2oxpxqx'wrxsxtxuxvxwxxxyxzx(wAxBxCxDxExFxGxHxIx)wJxKxLxMxNxOxViWiHiIiJiKi4z]y^yReSeTeXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$isotouovoPxQxRxSxTxUx^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozoAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoKoLoMoNoOoPoQoRoSoToUoVoofpfqf{d|d}dUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oVxWxXx*wYxZx0x1x2x3x4x5x6x+w7x8x9x!x#x$x%x'x(x,w)x*x+x,x-x.x%i'iLiMiNiOi5z_y`y9e!e#e(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i|o}o~oap/x:x;x=x?x@xfigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepfpgphpipjpkplpmpsctcucDbEbFbiejekenpopppqprpsptpupvpwpxpypzpAprfsftflemene$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$p|w}w~w-g.g*f+f,f-fEzXyYyvcwcxc/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gah3j4j5j6jegfgggk l m hgigjg7j8jn o p kglgmgngogpg9j!j#j$j%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j:j;j=j?j@j[j]j^j_j`j{j|j3d4d5dyczcAcBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkaxbxbh.f/fFzZy0yQcRcchdhehfhghhhihjhKkLkqgrgq r sgtgMks t ugvgwgxgNkOkPkQkRkSk+ , - . SbTbTkUkVkWkXkYkZk6d7dScTcUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k[x]x^x-w_x`x{x|x}x~xaybycy.wdyeyfygyhyiyjykyly/wmynyoypyqyry_i`iPiQiRiSi6z{y|y@e[e]e{i|i}i~iajbjcjdjejfjgjhjijjjkjlj%p'p(p)psytyuyvywyxyrisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-p.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^p_p`p{p|p}p~paqbqcqdqeqfqufvfwfAeBeCe^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqcxdxexkhlh;f=f?f@fGz1y2y7c8c9cmhnhohphqhrhshthuhvhwhxhyhzhAhBh_k`k{k|kygzgAgu v w BgCgDg}k~kx y z EgFgGgHgIgJgalblcldlelflglhliljlklll/ : ; = ? @ 3b4b5bmlnlolplqlrlsltlulvlwlxlylzl8d9d!d!c#c$c%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lyyzyAy:wByCyDyEyFyGymjTiUi7z}y~yifnjojpjqjrjsjtjujSqTqHyIyJyKyLyMyDi$l%l'l(l! EjEiro# FiGiUqVqWqXqYqZq[c(bMe0q1q2q3q4q5q6qxfNejfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qfxgxhxChDh]f^f_f`fHz3y4y]c^c_cEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh)l*l+l,lKgLgMgA B C NgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=l?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}l~lambmcmdmemfmgmhmimjmkm#d$d%d`c{c|c}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmixjxkxUhVh{f|f}f~fIz5y6yndodpdWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#hXmYmZm0mWgXgYgG H I Zg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*m+m,m-m.m/m:m;m=m?m@m[m'd(d)dqdrdsdtdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnlxmxnx$h%hagbgcgdgJz7y8yIdJdKd'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]hEnFnGnHn8g9g!gM N O #g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNnOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXnYnZn0n1n2n3n4n5n6n7n8n9n*d+d,dLdMdNdOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

887 extra_kwargs["fallback"] = fallback 2|w}w~w-g.g*f+f,f-fEzXyYyvcwcxc/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gah3j4j5j6jegfgggk l m hgigjg7j8jn o p kglgmgngogpg9j!j#j$j%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j:j;j=j?j@j[j]j^j_j`j{j|j3d4d5dyczcAcBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkaxbxbh.f/fFzZy0yQcRcchdhehfhghhhihjhKkLkqgrgq r sgtgMks t ugvgwgxgNkOkPkQkRkSk+ , - . SbTbTkUkVkWkXkYkZk6d7dScTcUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kcxdxexkhlh;f=f?f@fGz1y2y7c8c9cmhnhohphqhrhshthuhvhwhxhyhzhAhBh_k`k{k|kygzgAgu v w BgCgDg}k~kx y z EgFgGgHgIgJgalblcldlelflglhliljlklll/ : ; = ? @ 3b4b5bmlnlolplqlrlsltlulvlwlxlylzl8d9d!d!c#c$c%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lfxgxhxChDh]f^f_f`fHz3y4y]c^c_cEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh)l*l+l,lKgLgMgA B C NgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=l?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}l~lambmcmdmemfmgmhmimjmkm#d$d%d`c{c|c}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmixjxkxUhVh{f|f}f~fIz5y6yndodpdWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#hXmYmZm0mWgXgYgG H I Zg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*m+m,m-m.m/m:m;m=m?m@m[m'd(d)dqdrdsdtdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnlxmxnx$h%hagbgcgdgJz7y8yIdJdKd'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]hEnFnGnHn8g9g!gM N O #g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNnOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXnYnZn0n1n2n3n4n5n6n7n8n9n*d+d,dLdMdNdOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

888 if PYDANTIC_MINOR_VERSION >= (2, 12): 2oxpxqx'wrxsxtxuxvxwxxxyxzx(wAxBxCxDxExFxGxHxIx)wJxKxLxMxNxOxViWiHiIiJiKi4z]y^yReSeTeXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$isotouovoPxQxRxSxTxUx^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozoAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoKoLoMoNoOoPoQoRoSoToUoVoofpfqf{d|d}dUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oVxWxXx*wYxZx0x1x2x3x4x5x6x+w7x8x9x!x#x$x%x'x(x,w)x*x+x,x-x.x%i'iLiMiNiOi5z_y`y9e!e#e(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i|o}o~oap/x:x;x=x?x@xfigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepfpgphpipjpkplpmpsctcucDbEbFbiejekenpopppqprpsptpupvpwpxpypzpAprfsftflemene$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$p|w}w~w-g.g*f+f,f-fEzXyYyvcwcxc/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gah3j4j5j6jegfgggk l m hgigjg7j8jn o p kglgmgngogpg9j!j#j$j%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j:j;j=j?j@j[j]j^j_j`j{j|j3d4d5dyczcAcBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkaxbxbh.f/fFzZy0yQcRcchdhehfhghhhihjhKkLkqgrgq r sgtgMks t ugvgwgxgNkOkPkQkRkSk+ , - . SbTbTkUkVkWkXkYkZk6d7dScTcUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k[x]x^x-w_x`x{x|x}x~xaybycy.wdyeyfygyhyiyjykyly/wmynyoypyqyry_i`iPiQiRiSi6z{y|y@e[e]e{i|i}i~iajbjcjdjejfjgjhjijjjkjlj%p'p(p)psytyuyvywyxyrisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-p.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^p_p`p{p|p}p~paqbqcqdqeqfqufvfwfAeBeCe^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqcxdxexkhlh;f=f?f@fGz1y2y7c8c9cmhnhohphqhrhshthuhvhwhxhyhzhAhBh_k`k{k|kygzgAgu v w BgCgDg}k~kx y z EgFgGgHgIgJgalblcldlelflglhliljlklll/ : ; = ? @ 3b4b5bmlnlolplqlrlsltlulvlwlxlylzl8d9d!d!c#c$c%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lyyzyAy:wByCyDyEyFyGymjTiUi7z}y~yifnjojpjqjrjsjtjujSqTqHyIyJyKyLyMyDi$l%l'l(l! EjEiro# FiGiUqVqWqXqYqZq[c(bMe0q1q2q3q4q5q6qxfNejfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qfxgxhxChDh]f^f_f`fHz3y4y]c^c_cEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh)l*l+l,lKgLgMgA B C NgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=l?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}l~lambmcmdmemfmgmhmimjmkm#d$d%d`c{c|c}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmixjxkxUhVh{f|f}f~fIz5y6yndodpdWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#hXmYmZm0mWgXgYgG H I Zg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*m+m,m-m.m/m:m;m=m?m@m[m'd(d)dqdrdsdtdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnlxmxnx$h%hagbgcgdgJz7y8yIdJdKd'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]hEnFnGnHn8g9g!gM N O #g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNnOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXnYnZn0n1n2n3n4n5n6n7n8n9n*d+d,dLdMdNdOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

889 extra_kwargs["exclude_computed_fields"] = exclude_computed_fields 2|w}w~w-g.g*f+f,f-fEzXyYyvcwcxc/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gah3j4j5j6jegfgggk l m hgigjg7j8jn o p kglgmgngogpg9j!j#j$j%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j:j;j=j?j@j[j]j^j_j`j{j|j3d4d5dyczcAcBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkaxbxbh.f/fFzZy0yQcRcchdhehfhghhhihjhKkLkqgrgq r sgtgMks t ugvgwgxgNkOkPkQkRkSk+ , - . SbTbTkUkVkWkXkYkZk6d7dScTcUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kcxdxexkhlh;f=f?f@fGz1y2y7c8c9cmhnhohphqhrhshthuhvhwhxhyhzhAhBh_k`k{k|kygzgAgu v w BgCgDg}k~kx y z EgFgGgHgIgJgalblcldlelflglhliljlklll/ : ; = ? @ 3b4b5bmlnlolplqlrlsltlulvlwlxlylzl8d9d!d!c#c$c%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lfxgxhxChDh]f^f_f`fHz3y4y]c^c_cEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh)l*l+l,lKgLgMgA B C NgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=l?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}l~lambmcmdmemfmgmhmimjmkm#d$d%d`c{c|c}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmixjxkxUhVh{f|f}f~fIz5y6yndodpdWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#hXmYmZm0mWgXgYgG H I Zg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*m+m,m-m.m/m:m;m=m?m@m[m'd(d)dqdrdsdtdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnlxmxnx$h%hagbgcgdgJz7y8yIdJdKd'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]hEnFnGnHn8g9g!gM N O #g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNnOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXnYnZn0n1n2n3n4n5n6n7n8n9n*d+d,dLdMdNdOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

890 if IS_PYDANTIC_V2: 2oxpxqx'wrxsxtxuxvxwxxxyxzx(wAxBxCxDxExFxGxHxIx)wJxKxLxMxNxOxViWiHiIiJiKi4z]y^yReSeTeXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$isotouovoPxQxRxSxTxUx^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozoAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoKoLoMoNoOoPoQoRoSoToUoVoofpfqf{d|d}dUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oVxWxXx*wYxZx0x1x2x3x4x5x6x+w7x8x9x!x#x$x%x'x(x,w)x*x+x,x-x.x%i'iLiMiNiOi5z_y`y9e!e#e(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i|o}o~oap/x:x;x=x?x@xfigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepfpgphpipjpkplpmpsctcucDbEbFbiejekenpopppqprpsptpupvpwpxpypzpAprfsftflemene$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$p|w}w~w-g.g*f+f,f-fEzXyYyvcwcxc/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gah3j4j5j6jegfgggk l m hgigjg7j8jn o p kglgmgngogpg9j!j#j$j%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j:j;j=j?j@j[j]j^j_j`j{j|j3d4d5dyczcAcBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkaxbxbh.f/fFzZy0yQcRcchdhehfhghhhihjhKkLkqgrgq r sgtgMks t ugvgwgxgNkOkPkQkRkSk+ , - . SbTbTkUkVkWkXkYkZk6d7dScTcUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k[x]x^x-w_x`x{x|x}x~xaybycy.wdyeyfygyhyiyjykyly/wmynyoypyqyry_i`iPiQiRiSi6z{y|y@e[e]e{i|i}i~iajbjcjdjejfjgjhjijjjkjlj%p'p(p)psytyuyvywyxyrisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-p.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^p_p`p{p|p}p~paqbqcqdqeqfqufvfwfAeBeCe^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqcxdxexkhlh;f=f?f@fGz1y2y7c8c9cmhnhohphqhrhshthuhvhwhxhyhzhAhBh_k`k{k|kygzgAgu v w BgCgDg}k~kx y z EgFgGgHgIgJgalblcldlelflglhliljlklll/ : ; = ? @ 3b4b5bmlnlolplqlrlsltlulvlwlxlylzl8d9d!d!c#c$c%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lyyzyAy:wByCyDyEyFyGymjTiUi7z}y~yifnjojpjqjrjsjtjujSqTqHyIyJyKyLyMyDi$l%l'l(l! EjEiro# FiGiUqVqWqXqYqZq[c(bMe0q1q2q3q4q5q6qxfNejfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=qfxgxhxChDh]f^f_f`fHz3y4y]c^c_cEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh)l*l+l,lKgLgMgA B C NgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=l?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}l~lambmcmdmemfmgmhmimjmkm#d$d%d`c{c|c}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmixjxkxUhVh{f|f}f~fIz5y6yndodpdWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#hXmYmZm0mWgXgYgG H I Zg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*m+m,m-m.m/m:m;m=m?m@m[m'd(d)dqdrdsdtdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnlxmxnx$h%hagbgcgdgJz7y8yIdJdKd'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]hEnFnGnHn8g9g!gM N O #g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNnOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXnYnZn0n1n2n3n4n5n6n7n8n9n*d+d,dLdMdNdOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

891 return super().model_dump( 2|w}w~w-g.g*f+f,f-fEzXyYyvcwcxc/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gah3j4j5j6jegfgggk l m hgigjg7j8jn o p kglgmgngogpg9j!j#j$j%j'j(j)j*j+j,j-j$ % ' ( ) * GbHbIb.j/j:j;j=j?j@j[j]j^j_j`j{j|j3d4d5dyczcAcBcCcDcEcFcGcJbKbLbHcIcJcMbNbObjbkblbPbQbRbKcLcMcNcOcPc}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkaxbxbh.f/fFzZy0yQcRcchdhehfhghhhihjhKkLkqgrgq r sgtgMks t ugvgwgxgNkOkPkQkRkSk+ , - . SbTbTkUkVkWkXkYkZk6d7dScTcUcVcWcXcUbVbYcZcWbXbmbnbYbZb0c1c2c3c0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+kcxdxexkhlh;f=f?f@fGz1y2y7c8c9cmhnhohphqhrhshthuhvhwhxhyhzhAhBh_k`k{k|kygzgAgu v w BgCgDg}k~kx y z EgFgGgHgIgJgalblcldlelflglhliljlklll/ : ; = ? @ 3b4b5bmlnlolplqlrlsltlulvlwlxlylzl8d9d!d!c#c$c%c'c(c)c*c+c6b7b8b,c-c.c9b!b#bobpbqb$b%b'b/c:c;c=c?c@cAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#lfxgxhxChDh]f^f_f`fHz3y4y]c^c_cEhFhGhHhIhJhKhLhMhNhOhPhQhRhShTh)l*l+l,lKgLgMgA B C NgOgPg-l.lD E F QgRgSgTgUgVg/l:l;l=l?l@l[l]l^l_l`l{l[ ] ^ _ ` { )b*b+b|l}l~lambmcmdmemfmgmhmimjmkm#d$d%d`c{c|c}c~cadbdcddd,b-b.bedfdgd/b:b;brbsbtb=b?b@bhdidjdkdldmdlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmixjxkxUhVh{f|f}f~fIz5y6yndodpdWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#hXmYmZm0mWgXgYgG H I Zg0g1g1m2mJ K L 2g3g4g5g6g7g3m4m5m6m7m8m9m!m#m$m%m'm| } ~ abbbcb[b]b^b(m)m*m+m,m-m.m/m:m;m=m?m@m[m'd(d)dqdrdsdtdudvdwdxdyd_b`b{bzdAdBd|b}b~bubvbwbacbcccCdDdEdFdGdHd]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnlxmxnx$h%hagbgcgdgJz7y8yIdJdKd'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]hEnFnGnHn8g9g!gM N O #g$g%gInJnP Q R 'g(g)g*g+g,gKnLnMnNnOnPnQnRnSnTnUnVndbebfbgbhbibdcecfcWnXnYnZn0n1n2n3n4n5n6n7n8n9n*d+d,dLdMdNdOdPdQdRdSdTdgchcicUdVdWdjckclcxbybzbmcncocXdYdZd0d1d2d!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojoko

892 mode=mode, 

893 include=include, 

894 exclude=exclude, 

895 by_alias=by_alias, 

896 exclude_unset=exclude_unset, 

897 exclude_defaults=exclude_defaults, 

898 exclude_none=exclude_none, 

899 round_trip=round_trip, 

900 warnings=warnings, 

901 **extra_kwargs, 

902 ) 

903 else: 

904 return super().dict( 2oxpxqx'wrxsxtxuxvxwxxxyxzx(wAxBxCxDxExFxGxHxIx)wJxKxLxMxNxOxViWiHiIiJiKi4z]y^yReSeTeXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$isotouovoPxQxRxSxTxUx^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozoAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoKoLoMoNoOoPoQoRoSoToUoVoofpfqf{d|d}dUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oVxWxXx*wYxZx0x1x2x3x4x5x6x+w7x8x9x!x#x$x%x'x(x,w)x*x+x,x-x.x%i'iLiMiNiOi5z_y`y9e!e#e(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i|o}o~oap/x:x;x=x?x@xfigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepfpgphpipjpkplpmpsctcucDbEbFbiejekenpopppqprpsptpupvpwpxpypzpAprfsftflemene$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$p[x]x^x-w_x`x{x|x}x~xaybycy.wdyeyfygyhyiyjykyly/wmynyoypyqyry_i`iPiQiRiSi6z{y|y@e[e]e{i|i}i~iajbjcjdjejfjgjhjijjjkjlj%p'p(p)psytyuyvywyxyrisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-p.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^p_p`p{p|p}p~paqbqcqdqeqfqufvfwfAeBeCe^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqyyzyAy:wByCyDyEyFyGymjTiUi7z}y~yifnjojpjqjrjsjtjujSqTqHyIyJyKyLyMyDi$l%l'l(l! EjEiro# FiGiUqVqWqXqYqZq[c(bMe0q1q2q3q4q5q6qxfNejfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=q

905 include=include, 

906 exclude=exclude, 

907 by_alias=by_alias or False, 

908 exclude_unset=exclude_unset, 

909 exclude_defaults=exclude_defaults, 

910 exclude_none=exclude_none, 

911 ) 

912 

913 @deprecated( 1daefbghicj

914 """ 

915 🚨 `obj.dict()` was deprecated in SQLModel 0.0.14, you should 

916 instead use `obj.model_dump()`. 

917 """ 

918 ) 

919 def dict( 1daefbghicj

920 self, 

921 *, 

922 include: Union[IncEx, None] = None, 

923 exclude: Union[IncEx, None] = None, 

924 by_alias: bool = False, 

925 exclude_unset: bool = False, 

926 exclude_defaults: bool = False, 

927 exclude_none: bool = False, 

928 ) -> Dict[str, Any]: 

929 return self.model_dump( 2oxpxqx'wrxsxtxuxvxwxxxyxzx(wAxBxCxDxExFxGxHxIx)wJxKxLxMxNxOx4zPxQxRxSxTxUx^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiAbBbCb{d|d}dVxWxXx*wYxZx0x1x2x3x4x5x6x+w7x8x9x!x#x$x%x'x(x,w)x*x+x,x-x.x5z/x:x;x=x?x@xfigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqiDbEbFblemeneEzFz[x]x^x-w_x`x{x|x}x~xaybycy.wdyeyfygyhyiyjykyly/wmynyoypyqyry6zsytyuyvywyxyrisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi0b1b2bAeBeCeGzyyzyAy:wByCyDyEyFyGy7zHyIyJyKyLyMyDi$l%l'l(l! EjEiro# FiGi(bNeHzIzJz

930 include=include, 

931 exclude=exclude, 

932 by_alias=by_alias, 

933 exclude_unset=exclude_unset, 

934 exclude_defaults=exclude_defaults, 

935 exclude_none=exclude_none, 

936 ) 

937 

938 @classmethod 1daefbghicj

939 @deprecated( 1daefbghicj

940 """ 

941 🚨 `obj.from_orm(data)` was deprecated in SQLModel 0.0.14, you should 

942 instead use `obj.model_validate(data)`. 

943 """ 

944 ) 

945 def from_orm( 1daefbghicj

946 cls: Type[_TSQLModel], obj: Any, update: Optional[Dict[str, Any]] = None 

947 ) -> _TSQLModel: 

948 return cls.model_validate(obj, update=update) 2oxpxqx'wrxsxtxuxvxwxxxyxzx(wAxBxCxDxExFxGxHxIx)wJxKxLxMxNxOxvCPxQxRxSxTxUx^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hV W X ~haibicidieiVxWxXx*wYxZx0x1x2x3x4x5x6x+w7x8x9x!x#x$x%x'x(x,w)x*x+x,x-x.xxC/x:x;x=x?x@xfigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijiki1 2 3 liminioipiqijCkC[x]x^x-w_x`x{x|x}x~xaybycy.wdyeyfygyhyiyjykyly/wmynyoypyqyryzCsytyuyvywyxyrisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwi7 8 9 xiyiziAiBiCilCyyzyAy:wByCyDyEyFyGyBCHyIyJyKyLyMyDi$l%l'l(l! EjEi# FiGimCnCoC

949 

950 @classmethod 1daefbghicj

951 @deprecated( 1daefbghicj

952 """ 

953 🚨 `obj.parse_obj(data)` was deprecated in SQLModel 0.0.14, you should 

954 instead use `obj.model_validate(data)`. 

955 """ 

956 ) 

957 def parse_obj( 1daefbghicj

958 cls: Type[_TSQLModel], obj: Any, update: Optional[Dict[str, Any]] = None 

959 ) -> _TSQLModel: 

960 if not IS_PYDANTIC_V2: 2wCyCpCqCACrCCCsCtCuC

961 obj = cls._enforce_dict_if_root(obj) # type: ignore[attr-defined] # noqa 2wCyCACCC

962 return cls.model_validate(obj, update=update) 2wCyCpCqCACrCCCsCtCuC

963 

964 # From Pydantic, override to only show keys from fields, omit SQLAlchemy attributes 

965 @deprecated( 1daefbghicj

966 """ 

967 🚨 You should not access `obj._calculate_keys()` directly. 

968 

969 It is only useful for Pydantic v1.X, you should probably upgrade to 

970 Pydantic v2.X. 

971 """, 

972 category=None, 

973 ) 

974 def _calculate_keys( 1daefbghicj

975 self, 

976 include: Optional[Mapping[Union[int, str], Any]], 

977 exclude: Optional[Mapping[Union[int, str], Any]], 

978 exclude_unset: bool, 

979 update: Optional[Dict[str, Any]] = None, 

980 ) -> Optional[AbstractSet[str]]: 

981 return _calculate_keys( 2oxpxqx'wrxsxtxuxvxwxxxyxzx(wAxBxCxDxExFxGxHxIx)wJxKxLxMxNxOxViWiHiIiJiKi4z]y^yReSeTeXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$isotouovoPxQxRxSxTxUx^h_h`hFjGjHjIjJjKjLjMjNjOjPjQjS T U vjwjxj{h|h}hlomoV W X ~haibicidieiwoxoyozoAoBoCoDoEoFoGoHopcqcrcAbBbCb^d_d`dIoJoKoLoMoNoOoPoQoRoSoToUoVoofpfqf{d|d}dUeVeWeXeYeZe~daebe0e1e2ecedeee-d.d/dfegehe3e4e5e6e7e8eWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{oVxWxXx*wYxZx0x1x2x3x4x5x6x+w7x8x9x!x#x$x%x'x(x,w)x*x+x,x-x.x%i'iLiMiNiOi5z_y`y9e!e#e(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i|o}o~oap/x:x;x=x?x@xfigihiRjSjTjUjVjWjXjYjZj0j1j2jY Z 0 yjzjAjiijikinooo1 2 3 liminioipiqibpcpdpepfpgphpipjpkplpmpsctcucDbEbFbiejekenpopppqprpsptpupvpwpxpypzpAprfsftflemene$e%e'e(e)e*eoepeqe+e,e-eresete:d;d=duevewe.e/e:e;e=e?eBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$p[x]x^x-w_x`x{x|x}x~xaybycy.wdyeyfygyhyiyjykyly/wmynyoypyqyry_i`iPiQiRiSi6z{y|y@e[e]e{i|i}i~iajbjcjdjejfjgjhjijjjkjlj%p'p(p)psytyuyvywyxyrisiti,k-k.k/k:k;k=k?k@k[k]k^k4 5 6 BjCjDjuiviwipoqo7 8 9 xiyiziAiBiCi*p+p,p-p.p/p:p;p=p?p@p[p4c5c6c0b1b2bxeyeze]p^p_p`p{p|p}p~paqbqcqdqeqfqufvfwfAeBeCe^e_e`e{e|e}eDeEeFe~eafbfGeHeIe?d@d[dJeKeLecfdfefffgfhfgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqyyzyAy:wByCyDyEyFyGymjTiUi7z}y~yifnjojpjqjrjsjtjujSqTqHyIyJyKyLyMyDi$l%l'l(l! EjEiro# FiGiUqVqWqXqYqZq[c(bMe0q1q2q3q4q5q6qxfNejfkfOelfPe]dQemfnf7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=q

982 self, 

983 include=include, 

984 exclude=exclude, 

985 exclude_unset=exclude_unset, 

986 update=update, 

987 ) 

988 

989 def sqlmodel_update( 1daefbghicj

990 self: _TSQLModel, 

991 obj: Union[Dict[str, Any], BaseModel], 

992 *, 

993 update: Union[Dict[str, Any], None] = None, 

994 ) -> _TSQLModel: 

995 use_update = (update or {}).copy() 2'w(w)w^h_h`hS T U {h|h}hV W X ~haibicidiei*w+w,wfigihiY Z 0 iijiki1 2 3 liminioipiqi|w}w~wegfgggk l m hgigjgn o p kglgmgngogpgaxbxqgrgq r sgtgs t ugvgwgxg-w.w/wrisiti4 5 6 uiviwi7 8 9 xiyiziAiBiCicxdxexygzgAgu v w BgCgDgx y z EgFgGgHgIgJg:wDi! Ei# FiGifxgxhxKgLgMgA B C NgOgPgD E F QgRgSgTgUgVgixjxkxWgXgYgG H I Zg0g1gJ K L 2g3g4g5g6g7glxmxnx8g9g!gM N O #g$g%gP Q R 'g(g)g*g+g,g

996 if isinstance(obj, dict): 2'w(w)w^h_h`hS T U {h|h}hV W X ~haibicidiei*w+w,wfigihiY Z 0 iijiki1 2 3 liminioipiqi|w}w~wegfgggk l m hgigjgn o p kglgmgngogpgaxbxqgrgq r sgtgs t ugvgwgxg-w.w/wrisiti4 5 6 uiviwi7 8 9 xiyiziAiBiCicxdxexygzgAgu v w BgCgDgx y z EgFgGgHgIgJg:wDi! Ei# FiGifxgxhxKgLgMgA B C NgOgPgD E F QgRgSgTgUgVgixjxkxWgXgYgG H I Zg0g1gJ K L 2g3g4g5g6g7glxmxnx8g9g!gM N O #g$g%gP Q R 'g(g)g*g+g,g

997 for key, value in {**obj, **use_update}.items(): 2'w(w)w^h_h`hS T U {h|h}hV W X ~haibicidiei*w+w,wfigihiY Z 0 iijiki1 2 3 liminioipiqi|w}w~wegfgggk l m hgigjgn o p kglgmgngogpgaxbxqgrgq r sgtgs t ugvgwgxg-w.w/wrisiti4 5 6 uiviwi7 8 9 xiyiziAiBiCicxdxexygzgAgu v w BgCgDgx y z EgFgGgHgIgJg:wDi! Ei# FiGifxgxhxKgLgMgA B C NgOgPgD E F QgRgSgTgUgVgixjxkxWgXgYgG H I Zg0g1gJ K L 2g3g4g5g6g7glxmxnx8g9g!gM N O #g$g%gP Q R 'g(g)g*g+g,g

998 if key in get_model_fields(self): 2'w(w)w^h_h`hS T U {h|h}hV W X ~haibicidiei*w+w,wfigihiY Z 0 iijiki1 2 3 liminioipiqi|w}w~wegfgggk l m hgigjgn o p kglgmgngogpgaxbxqgrgq r sgtgs t ugvgwgxg-w.w/wrisiti4 5 6 uiviwi7 8 9 xiyiziAiBiCicxdxexygzgAgu v w BgCgDgx y z EgFgGgHgIgJg:wDi! Ei# FiGifxgxhxKgLgMgA B C NgOgPgD E F QgRgSgTgUgVgixjxkxWgXgYgG H I Zg0g1gJ K L 2g3g4g5g6g7glxmxnx8g9g!gM N O #g$g%gP Q R 'g(g)g*g+g,g

999 setattr(self, key, value) 2'w(w)w^h_h`hS T U {h|h}hV W X ~haibicidiei*w+w,wfigihiY Z 0 iijiki1 2 3 liminioipiqi|w}w~wegfgggk l m hgigjgn o p kglgmgngogpgaxbxqgrgq r sgtgs t ugvgwgxg-w.w/wrisiti4 5 6 uiviwi7 8 9 xiyiziAiBiCicxdxexygzgAgu v w BgCgDgx y z EgFgGgHgIgJg:wDi! Ei# FiGifxgxhxKgLgMgA B C NgOgPgD E F QgRgSgTgUgVgixjxkxWgXgYgG H I Zg0g1gJ K L 2g3g4g5g6g7glxmxnx8g9g!gM N O #g$g%gP Q R 'g(g)g*g+g,g

1000 elif isinstance(obj, BaseModel): 

1001 for key in get_model_fields(obj): 

1002 if key in use_update: 

1003 value = use_update.pop(key) 

1004 else: 

1005 value = getattr(obj, key) 

1006 setattr(self, key, value) 

1007 for remaining_key in use_update: 

1008 if remaining_key in get_model_fields(self): 

1009 value = use_update.pop(remaining_key) 

1010 setattr(self, remaining_key, value) 

1011 else: 

1012 raise ValueError( 

1013 "Can't use sqlmodel_update() with something that " 

1014 f"is not a dict or SQLModel or Pydantic model: {obj}" 

1015 ) 

1016 return self 2'w(w)w^h_h`hS T U {h|h}hV W X ~haibicidiei*w+w,wfigihiY Z 0 iijiki1 2 3 liminioipiqi|w}w~wegfgggk l m hgigjgn o p kglgmgngogpgaxbxqgrgq r sgtgs t ugvgwgxg-w.w/wrisiti4 5 6 uiviwi7 8 9 xiyiziAiBiCicxdxexygzgAgu v w BgCgDgx y z EgFgGgHgIgJg:wDi! Ei# FiGifxgxhxKgLgMgA B C NgOgPgD E F QgRgSgTgUgVgixjxkxWgXgYgG H I Zg0g1gJ K L 2g3g4g5g6g7glxmxnx8g9g!gM N O #g$g%gP Q R 'g(g)g*g+g,g