Coverage for fastapi/_compat/v1.py: 100%
143 statements
« prev ^ index » next coverage.py v7.6.1, created at 2025-12-04 08:29 +0000
« prev ^ index » next coverage.py v7.6.1, created at 2025-12-04 08:29 +0000
1from copy import copy 1abcdef
2from dataclasses import dataclass, is_dataclass 1abcdef
3from enum import Enum 1abcdef
4from typing import ( 1abcdef
5 Any,
6 Callable,
7 Dict,
8 List,
9 Sequence,
10 Set,
11 Tuple,
12 Type,
13 Union,
14)
16from fastapi._compat import shared 1abcdef
17from fastapi.openapi.constants import REF_PREFIX as REF_PREFIX 1abcdef
18from fastapi.types import ModelNameMap 1abcdef
19from pydantic.version import VERSION as PYDANTIC_VERSION 1abcdef
20from typing_extensions import Literal 1abcdef
22PYDANTIC_VERSION_MINOR_TUPLE = tuple(int(x) for x in PYDANTIC_VERSION.split(".")[:2]) 1abcdef
23PYDANTIC_V2 = PYDANTIC_VERSION_MINOR_TUPLE[0] == 2 1abcdef
24# Keeping old "Required" functionality from Pydantic V1, without
25# shadowing typing.Required.
26RequiredParam: Any = Ellipsis 1abcdef
28if not PYDANTIC_V2: 1abcdef
29 from pydantic import BaseConfig as BaseConfig 1abcdef
30 from pydantic import BaseModel as BaseModel 1abcdef
31 from pydantic import ValidationError as ValidationError 1abcdef
32 from pydantic import create_model as create_model 1abcdef
33 from pydantic.class_validators import Validator as Validator 1abcdef
34 from pydantic.color import Color as Color 1abcdef
35 from pydantic.error_wrappers import ErrorWrapper as ErrorWrapper 1abcdef
36 from pydantic.errors import MissingError 1abcdef
37 from pydantic.fields import ( # type: ignore[attr-defined] 1abcdef
38 SHAPE_FROZENSET,
39 SHAPE_LIST,
40 SHAPE_SEQUENCE,
41 SHAPE_SET,
42 SHAPE_SINGLETON,
43 SHAPE_TUPLE,
44 SHAPE_TUPLE_ELLIPSIS,
45 )
46 from pydantic.fields import FieldInfo as FieldInfo 1abcdef
47 from pydantic.fields import ModelField as ModelField # type: ignore[attr-defined] 1abcdef
48 from pydantic.fields import Undefined as Undefined # type: ignore[attr-defined] 1abcdef
49 from pydantic.fields import ( # type: ignore[attr-defined] 1abcdef
50 UndefinedType as UndefinedType,
51 )
52 from pydantic.networks import AnyUrl as AnyUrl 1abcdef
53 from pydantic.networks import NameEmail as NameEmail 1abcdef
54 from pydantic.schema import TypeModelSet as TypeModelSet 1abcdef
55 from pydantic.schema import ( 1abcdef
56 field_schema,
57 model_process_schema,
58 )
59 from pydantic.schema import ( 1abcdef
60 get_annotation_from_field_info as get_annotation_from_field_info,
61 )
62 from pydantic.schema import get_flat_models_from_field as get_flat_models_from_field 1abcdef
63 from pydantic.schema import ( 1abcdef
64 get_flat_models_from_fields as get_flat_models_from_fields,
65 )
66 from pydantic.schema import get_model_name_map as get_model_name_map 1abcdef
67 from pydantic.types import SecretBytes as SecretBytes 1abcdef
68 from pydantic.types import SecretStr as SecretStr 1abcdef
69 from pydantic.typing import evaluate_forwardref as evaluate_forwardref 1abcdef
70 from pydantic.utils import lenient_issubclass as lenient_issubclass 1abcdef
73else:
74 from pydantic.v1 import BaseConfig as BaseConfig # type: ignore[assignment] 1abcdef
75 from pydantic.v1 import BaseModel as BaseModel # type: ignore[assignment] 1abcdef
76 from pydantic.v1 import ( # type: ignore[assignment] 1abcdef
77 ValidationError as ValidationError,
78 )
79 from pydantic.v1 import create_model as create_model # type: ignore[no-redef] 1abcdef
80 from pydantic.v1.class_validators import Validator as Validator 1abcdef
81 from pydantic.v1.color import Color as Color # type: ignore[assignment] 1abcdef
82 from pydantic.v1.error_wrappers import ErrorWrapper as ErrorWrapper 1abcdef
83 from pydantic.v1.errors import MissingError 1abcdef
84 from pydantic.v1.fields import ( 1abcdef
85 SHAPE_FROZENSET,
86 SHAPE_LIST,
87 SHAPE_SEQUENCE,
88 SHAPE_SET,
89 SHAPE_SINGLETON,
90 SHAPE_TUPLE,
91 SHAPE_TUPLE_ELLIPSIS,
92 )
93 from pydantic.v1.fields import FieldInfo as FieldInfo # type: ignore[assignment] 1abcdef
94 from pydantic.v1.fields import ModelField as ModelField 1abcdef
95 from pydantic.v1.fields import Undefined as Undefined 1abcdef
96 from pydantic.v1.fields import UndefinedType as UndefinedType 1abcdef
97 from pydantic.v1.networks import AnyUrl as AnyUrl 1abcdef
98 from pydantic.v1.networks import ( # type: ignore[assignment] 1abcdef
99 NameEmail as NameEmail,
100 )
101 from pydantic.v1.schema import TypeModelSet as TypeModelSet 1abcdef
102 from pydantic.v1.schema import ( 1abcdef
103 field_schema,
104 model_process_schema,
105 )
106 from pydantic.v1.schema import ( 1abcdef
107 get_annotation_from_field_info as get_annotation_from_field_info,
108 )
109 from pydantic.v1.schema import ( 1abcdef
110 get_flat_models_from_field as get_flat_models_from_field,
111 )
112 from pydantic.v1.schema import ( 1abcdef
113 get_flat_models_from_fields as get_flat_models_from_fields,
114 )
115 from pydantic.v1.schema import get_model_name_map as get_model_name_map 1abcdef
116 from pydantic.v1.types import ( # type: ignore[assignment] 1abcdef
117 SecretBytes as SecretBytes,
118 )
119 from pydantic.v1.types import ( # type: ignore[assignment] 1abcdef
120 SecretStr as SecretStr,
121 )
122 from pydantic.v1.typing import evaluate_forwardref as evaluate_forwardref 1abcdef
123 from pydantic.v1.utils import lenient_issubclass as lenient_issubclass 1abcdef
126GetJsonSchemaHandler = Any 1abcdef
127JsonSchemaValue = Dict[str, Any] 1abcdef
128CoreSchema = Any 1abcdef
129Url = AnyUrl 1abcdef
131sequence_shapes = { 1abcdef
132 SHAPE_LIST,
133 SHAPE_SET,
134 SHAPE_FROZENSET,
135 SHAPE_TUPLE,
136 SHAPE_SEQUENCE,
137 SHAPE_TUPLE_ELLIPSIS,
138}
139sequence_shape_to_type = { 1abcdef
140 SHAPE_LIST: list,
141 SHAPE_SET: set,
142 SHAPE_TUPLE: tuple,
143 SHAPE_SEQUENCE: list,
144 SHAPE_TUPLE_ELLIPSIS: list,
145}
148@dataclass 1abcdef
149class GenerateJsonSchema: 1abcdef
150 ref_template: str 1abcdef
153class PydanticSchemaGenerationError(Exception): 1abcdef
154 pass 1abcdef
157RequestErrorModel: Type[BaseModel] = create_model("Request") 1abcdef
160def with_info_plain_validator_function( 1abcdef
161 function: Callable[..., Any],
162 *,
163 ref: Union[str, None] = None,
164 metadata: Any = None,
165 serialization: Any = None,
166) -> Any:
167 return {} 2'L(L)L*L+L
170def get_model_definitions( 1abcdef
171 *,
172 flat_models: Set[Union[Type[BaseModel], Type[Enum]]],
173 model_name_map: Dict[Union[Type[BaseModel], Type[Enum]], str],
174) -> Dict[str, Any]:
175 definitions: Dict[str, Dict[str, Any]] = {} 2dbeb@kLqfbgbMhhbibNhOhjbMq[kkblb]kmbPhnbobNqpbq r s t u v w qb^k0g6 rbQhRhsbtbSh7 ub8 Th_kOqPq`kUh{kVhvbwbxbybzbWhXhYhAb9 BbCbDbEbg Qq|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlFbsltlGbHbulvlwlxlylZhIbzlJbKbLbMbNbAlBlClDlEl0hObPbQbRb1hRqSbSq2h3h4hFlGlHlIlJlKlLlTbUbTqVb5h6h7h8h9hMl!hNlWbXbYb#hOlZb$h%h'h(h0b)h*h+h,h-h.h/hPlQlRl1b2bSlTlUlUq3bVlWlVqXlYlWq4bZl:h! GgHgIg;h=h?h@h[h]h^h_h0lXq5b6b7b8b9b!bYq#b$b%b'b(b`h1l{h)b*b+bZq,b-b.b2l/b:b3l0q1q;b=b4l5l6l7l?b2q@b[b]b^b_b8l3q`b{b|h|b}b}h~h~b4q9lacbc!lccaidcec5qfcx y z A B C D gc#l1g# hcbiciicjcdi$ kc% ei$l6q7q%lfi'lgilcmcncocpchiiijiqc' rcsctcuch 8q(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}lvc~lamwcxcbmcmdmemfmkiycgmzcAcBcCcDchmimjmkmlmliEcFcGcHcmi9qIc!qnioipimmnmompmqmrmsmJcKc#qLcqirisitiuitmviumMcNcOcwivmPcxiyiziAiQcBiCiDiEiFiGiHiwmxmymRcSczmAmBm$qTcCmDm%qEmFm'qUcGmIi( JgKgLgJiKiLiMiNiOiPiQiHm(qVcWcXcYcZc0c)q1c2c3c4c5cRiImSi6c7c8c*q9c!c#cJm$c%cKm+q,q'c(cLmMmNmOm)c-q*c+c,c-c.cPm.q/c:cTi;c=cUiVi?c/qQm@c[cRm]cWi^c_c:q`cE F G H I J K {cSm2g) |cXiYi}c~cZi* ad+ 0iTm;q=qUm1iVm2ibdcdddedfdi , 3i4i5igd- hdidjdkd?qj @qWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%m'm(m)mld*m+mmdnd,m-m.m/m:m6iod;mpdqdrdsdtd=m?m@m[m]m7iudvdwdxd8i[qyd]q9i!i#i^m_m`m{m|m}m~mzdAd^qBd$i%i'i(i)ian*ibnCdDdEd+icnFd,i-i.i/iGd:i;i=i?i@i[i]idnenfnHdIdgnhnin_qJdjnkn`qlnmn{qKdnn^i. MgNgOg_i`i{i|i}i~iajbjon|qLdMdNdOdPdQd}qRdSdTdUdVdcjpndjWdXdYd~qZd0d1dqn2d3drnarbr4d5dsntnunvn6dcr7d8d9d!d#dwndr$d%dej'd(dfjgj)derxn*d+dyn,dhj-d.dfr/dL M N O P Q R :dzn3g/ ;dijjj=d?dkj: @d; ljAngrhrBnmjCnnj[d]d^d_d`dk = ojpjqj{d? |d}d~daeirl jrDnEnFnGnHnInJnKnLnMnNnOnPnQnRnSnTnUnVnWnXnbeYnZncede0n1n2n3n4nrjee5nfegeheieje6n7n8n9n!nsjkelemenetjkroelrujvjwj#n$n%n'n(n)n*npeqemrrexjyjzjAjBj+nCj,nseteueDj-nveEjFjGjHjweIjJjKjLjMjNjOj.n/n:nxeye;n=n?nnrze@n[nor]n^nprAe_nPj@ PgQgRgQjRjSjTjUjVjWjXj`nqrBeCeDeEeFeGerrHeIeJeKeLeYj{nZjMeNeOesrPeQeRe|nSeTe}ntrurUeVe~naobocoWevrXeYeZe0e1edowr2e3e0j4e5e1j2j6exreo7e8efo9e3j!e#eyr$eS T U V W X Y %ego4g[ 'e4j5j(e)e6j] *e^ 7jhozrArio8jjo9j+e,e-e.e/em _ !j#j$j:e` ;e=e?e@eBrn CrkolomonooopoqorosotouovowoxoyozoAoBoCoDoEo[eFoGo]e^eHoIoJoKoLo%j_eMo`e{e|e}e~eNoOoPoQoRo'jafbfcfdf(jDrefEr)j*j+jSoToUoVoWoXoYoffgfFrhf,j-j.j/j:jZo;j0oifjfkf=j1olf?j@j[j]jmf^j_j`j{j|j}j~j2o3o4onfof5o6o7oGrpf8o9oHr!o#oIrqf$oak{ SgTgUgbkckdkekfkgkhkik%oJrrfsftfufvfwfKrxfyfzfAfBfjk'okkCfDfEfLrFfGfHf(oIfJf)oMrNrKfLf*o+o,o-oMfOrNfOfPfQfRf.oPrSfTflkUfVfmknkWfQr/oXfYf:oZfok0f1fRr2fZ 0 1 2 3 4 5 3f;o5g| 4fpkqk5f6frk} 7f~ sk=oSrTr?otk@ouk8f9f!f#f$fo abvkwkxk%fbb'f(f)f*fUrp Vr[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplp+fmpnp,f-fopppqprpspyk.ftp/f:f;f=f?fupvpwpxpypzk@f[f]f^fAkWr_fXrBkCkDkzpApBpCpDpEpFp`f{fYr|fEkFkGkHkIkGpJkHp}f~fagKkIpbgLkMkNkOkcgPkQkRkSkTkUkVkJpKpLpdgegMpNpOpZrfgPpQp0rRpSp1rggTpWkcbVgWgXgXkYkZk0k1k2k3k4kUp2rhgigjgkglgmg3rngogpgqgrg5kVp6ksgtgug4rvgwgxgWpygzgXp5r6rAgBgYpZp0p1pCg7rDgEgFg
176 for model in flat_models: 2dbeb@kLqfbgbMhhbibNhOhjbMq[kkblb]kmbPhnbobNqpbq r s t u v w qb^k0g6 rbQhRhsbtbSh7 ub8 Th_kOqPq`kUh{kVhvbwbxbybzbWhXhYhAb9 BbCbDbEbg Qq|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlFbsltlGbHbulvlwlxlylZhIbzlJbKbLbMbNbAlBlClDlEl0hObPbQbRb1hRqSbSq2h3h4hFlGlHlIlJlKlLlTbUbTqVb5h6h7h8h9hMl!hNlWbXbYb#hOlZb$h%h'h(h0b)h*h+h,h-h.h/hPlQlRl1b2bSlTlUlUq3bVlWlVqXlYlWq4bZl:h! GgHgIg;h=h?h@h[h]h^h_h0lXq5b6b7b8b9b!bYq#b$b%b'b(b`h1l{h)b*b+bZq,b-b.b2l/b:b3l0q1q;b=b4l5l6l7l?b2q@b[b]b^b_b8l3q`b{b|h|b}b}h~h~b4q9lacbc!lccaidcec5qfcx y z A B C D gc#l1g# hcbiciicjcdi$ kc% ei$l6q7q%lfi'lgilcmcncocpchiiijiqc' rcsctcuch 8q(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}lvc~lamwcxcbmcmdmemfmkiycgmzcAcBcCcDchmimjmkmlmliEcFcGcHcmi9qIc!qnioipimmnmompmqmrmsmJcKc#qLcqirisitiuitmviumMcNcOcwivmPcxiyiziAiQcBiCiDiEiFiGiHiwmxmymRcSczmAmBm$qTcCmDm%qEmFm'qUcGmIi( JgKgLgJiKiLiMiNiOiPiQiHm(qVcWcXcYcZc0c)q1c2c3c4c5cRiImSi6c7c8c*q9c!c#cJm$c%cKm+q,q'c(cLmMmNmOm)c-q*c+c,c-c.cPm.q/c:cTi;c=cUiVi?c/qQm@c[cRm]cWi^c_c:q`cE F G H I J K {cSm2g) |cXiYi}c~cZi* ad+ 0iTm;q=qUm1iVm2ibdcdddedfdi , 3i4i5igd- hdidjdkd?qj @qWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%m'm(m)mld*m+mmdnd,m-m.m/m:m6iod;mpdqdrdsdtd=m?m@m[m]m7iudvdwdxd8i[qyd]q9i!i#i^m_m`m{m|m}m~mzdAd^qBd$i%i'i(i)ian*ibnCdDdEd+icnFd,i-i.i/iGd:i;i=i?i@i[i]idnenfnHdIdgnhnin_qJdjnkn`qlnmn{qKdnn^i. MgNgOg_i`i{i|i}i~iajbjon|qLdMdNdOdPdQd}qRdSdTdUdVdcjpndjWdXdYd~qZd0d1dqn2d3drnarbr4d5dsntnunvn6dcr7d8d9d!d#dwndr$d%dej'd(dfjgj)derxn*d+dyn,dhj-d.dfr/dL M N O P Q R :dzn3g/ ;dijjj=d?dkj: @d; ljAngrhrBnmjCnnj[d]d^d_d`dk = ojpjqj{d? |d}d~daeirl jrDnEnFnGnHnInJnKnLnMnNnOnPnQnRnSnTnUnVnWnXnbeYnZncede0n1n2n3n4nrjee5nfegeheieje6n7n8n9n!nsjkelemenetjkroelrujvjwj#n$n%n'n(n)n*npeqemrrexjyjzjAjBj+nCj,nseteueDj-nveEjFjGjHjweIjJjKjLjMjNjOj.n/n:nxeye;n=n?nnrze@n[nor]n^nprAe_nPj@ PgQgRgQjRjSjTjUjVjWjXj`nqrBeCeDeEeFeGerrHeIeJeKeLeYj{nZjMeNeOesrPeQeRe|nSeTe}ntrurUeVe~naobocoWevrXeYeZe0e1edowr2e3e0j4e5e1j2j6exreo7e8efo9e3j!e#eyr$eS T U V W X Y %ego4g[ 'e4j5j(e)e6j] *e^ 7jhozrArio8jjo9j+e,e-e.e/em _ !j#j$j:e` ;e=e?e@eBrn CrkolomonooopoqorosotouovowoxoyozoAoBoCoDoEo[eFoGo]e^eHoIoJoKoLo%j_eMo`e{e|e}e~eNoOoPoQoRo'jafbfcfdf(jDrefEr)j*j+jSoToUoVoWoXoYoffgfFrhf,j-j.j/j:jZo;j0oifjfkf=j1olf?j@j[j]jmf^j_j`j{j|j}j~j2o3o4onfof5o6o7oGrpf8o9oHr!o#oIrqf$oak{ SgTgUgbkckdkekfkgkhkik%oJrrfsftfufvfwfKrxfyfzfAfBfjk'okkCfDfEfLrFfGfHf(oIfJf)oMrNrKfLf*o+o,o-oMfOrNfOfPfQfRf.oPrSfTflkUfVfmknkWfQr/oXfYf:oZfok0f1fRr2fZ 0 1 2 3 4 5 3f;o5g| 4fpkqk5f6frk} 7f~ sk=oSrTr?otk@ouk8f9f!f#f$fo abvkwkxk%fbb'f(f)f*fUrp Vr[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplp+fmpnp,f-fopppqprpspyk.ftp/f:f;f=f?fupvpwpxpypzk@f[f]f^fAkWr_fXrBkCkDkzpApBpCpDpEpFp`f{fYr|fEkFkGkHkIkGpJkHp}f~fagKkIpbgLkMkNkOkcgPkQkRkSkTkUkVkJpKpLpdgegMpNpOpZrfgPpQp0rRpSp1rggTpWkcbVgWgXgXkYkZk0k1k2k3k4kUp2rhgigjgkglgmg3rngogpgqgrg5kVp6ksgtgug4rvgwgxgWpygzgXp5r6rAgBgYpZp0p1pCg7rDgEgFg
177 m_schema, m_definitions, m_nested_models = model_process_schema( 2dbebfbgbhbibjbkblbmbnbobpbq r s t u v w qb0g6 rbsbtb7 ub8 vbwbxbybzbAb9 BbCbDbEbg FbGbHbIbJbKbLbMbNbObPbQbRbSbTbUbVbWbXbYbZb0b1b2b3b4b! GgHgIg5b6b7b8b9b!b#b$b%b'b(b)b*b+b,b-b.b/b:b;b=b?b@b[b]b^b_b`b{b|b}b~bacbcccdcecfcx y z A B C D gc1g# hcicjc$ kc% lcmcncocpcqc' rcsctcuch vcwcxcyczcAcBcCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcRcScTcUc( JgKgLgVcWcXcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`cE F G H I J K {c2g) |c}c~c* ad+ bdcdddedfdi gd- hdidjdkdj ldmdndodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKd. MgNgOgLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/dL M N O P Q R :d3g/ ;d=d?d: @d; [d]d^d_d`dk {d? |d}d~dael becedeeefegeheiejekelemeneoepeqereseteuevewexeyezeAe@ PgQgRgBeCeDeEeFeGeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$eS T U V W X Y %e4g[ 'e(e)e] *e^ +e,e-e.e/em :e` ;e=e?e@en [e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqf{ SgTgUgrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2fZ 0 1 2 3 4 5 3f5g| 4f5f6f} 7f~ 8f9f!f#f$fo %fbb'f(f)f*fp +f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfgggcbVgWgXghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFg
178 model, model_name_map=model_name_map, ref_prefix=REF_PREFIX
179 )
180 definitions.update(m_definitions) 2dbebfbgbhbibjbkblbmbnbobpbq r s t u v w qb0g6 rbsbtb7 ub8 vbwbxbybzbAb9 BbCbDbEbg FbGbHbIbJbKbLbMbNbObPbQbRbSbTbUbVbWbXbYbZb0b1b2b3b4b! GgHgIg5b6b7b8b9b!b#b$b%b'b(b)b*b+b,b-b.b/b:b;b=b?b@b[b]b^b_b`b{b|b}b~bacbcccdcecfcx y z A B C D gc1g# hcicjc$ kc% lcmcncocpcqc' rcsctcuch vcwcxcyczcAcBcCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcRcScTcUc( JgKgLgVcWcXcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`cE F G H I J K {c2g) |c}c~c* ad+ bdcdddedfdi gd- hdidjdkdj ldmdndodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKd. MgNgOgLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/dL M N O P Q R :d3g/ ;d=d?d: @d; [d]d^d_d`dk {d? |d}d~dael becedeeefegeheiejekelemeneoepeqereseteuevewexeyezeAe@ PgQgRgBeCeDeEeFeGeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$eS T U V W X Y %e4g[ 'e(e)e] *e^ +e,e-e.e/em :e` ;e=e?e@en [e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqf{ SgTgUgrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2fZ 0 1 2 3 4 5 3f5g| 4f5f6f} 7f~ 8f9f!f#f$fo %fbb'f(f)f*fp +f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfgggcbVgWgXghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFg
181 model_name = model_name_map[model] 2dbebfbgbhbibjbkblbmbnbobpbq r s t u v w qb0g6 rbsbtb7 ub8 vbwbxbybzbAb9 BbCbDbEbg FbGbHbIbJbKbLbMbNbObPbQbRbSbTbUbVbWbXbYbZb0b1b2b3b4b! GgHgIg5b6b7b8b9b!b#b$b%b'b(b)b*b+b,b-b.b/b:b;b=b?b@b[b]b^b_b`b{b|b}b~bacbcccdcecfcx y z A B C D gc1g# hcicjc$ kc% lcmcncocpcqc' rcsctcuch vcwcxcyczcAcBcCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcRcScTcUc( JgKgLgVcWcXcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`cE F G H I J K {c2g) |c}c~c* ad+ bdcdddedfdi gd- hdidjdkdj ldmdndodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKd. MgNgOgLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/dL M N O P Q R :d3g/ ;d=d?d: @d; [d]d^d_d`dk {d? |d}d~dael becedeeefegeheiejekelemeneoepeqereseteuevewexeyezeAe@ PgQgRgBeCeDeEeFeGeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$eS T U V W X Y %e4g[ 'e(e)e] *e^ +e,e-e.e/em :e` ;e=e?e@en [e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqf{ SgTgUgrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2fZ 0 1 2 3 4 5 3f5g| 4f5f6f} 7f~ 8f9f!f#f$fo %fbb'f(f)f*fp +f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfgggcbVgWgXghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFg
182 definitions[model_name] = m_schema 2dbebfbgbhbibjbkblbmbnbobpbq r s t u v w qb0g6 rbsbtb7 ub8 vbwbxbybzbAb9 BbCbDbEbg FbGbHbIbJbKbLbMbNbObPbQbRbSbTbUbVbWbXbYbZb0b1b2b3b4b! GgHgIg5b6b7b8b9b!b#b$b%b'b(b)b*b+b,b-b.b/b:b;b=b?b@b[b]b^b_b`b{b|b}b~bacbcccdcecfcx y z A B C D gc1g# hcicjc$ kc% lcmcncocpcqc' rcsctcuch vcwcxcyczcAcBcCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcRcScTcUc( JgKgLgVcWcXcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`cE F G H I J K {c2g) |c}c~c* ad+ bdcdddedfdi gd- hdidjdkdj ldmdndodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKd. MgNgOgLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/dL M N O P Q R :d3g/ ;d=d?d: @d; [d]d^d_d`dk {d? |d}d~dael becedeeefegeheiejekelemeneoepeqereseteuevewexeyezeAe@ PgQgRgBeCeDeEeFeGeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$eS T U V W X Y %e4g[ 'e(e)e] *e^ +e,e-e.e/em :e` ;e=e?e@en [e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqf{ SgTgUgrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2fZ 0 1 2 3 4 5 3f5g| 4f5f6f} 7f~ 8f9f!f#f$fo %fbb'f(f)f*fp +f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfgggcbVgWgXghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFg
183 for m_schema in definitions.values(): 2dbeb@kLqfbgbMhhbibNhOhjbMq[kkblb]kmbPhnbobNqpbq r s t u v w qb^k0g6 rbQhRhsbtbSh7 ub8 Th_kOqPq`kUh{kVhvbwbxbybzbWhXhYhAb9 BbCbDbEbg Qq|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlFbsltlGbHbulvlwlxlylZhIbzlJbKbLbMbNbAlBlClDlEl0hObPbQbRb1hRqSbSq2h3h4hFlGlHlIlJlKlLlTbUbTqVb5h6h7h8h9hMl!hNlWbXbYb#hOlZb$h%h'h(h0b)h*h+h,h-h.h/hPlQlRl1b2bSlTlUlUq3bVlWlVqXlYlWq4bZl:h! GgHgIg;h=h?h@h[h]h^h_h0lXq5b6b7b8b9b!bYq#b$b%b'b(b`h1l{h)b*b+bZq,b-b.b2l/b:b3l0q1q;b=b4l5l6l7l?b2q@b[b]b^b_b8l3q`b{b|h|b}b}h~h~b4q9lacbc!lccaidcec5qfcx y z A B C D gc#l1g# hcbiciicjcdi$ kc% ei$l6q7q%lfi'lgilcmcncocpchiiijiqc' rcsctcuch 8q(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}lvc~lamwcxcbmcmdmemfmkiycgmzcAcBcCcDchmimjmkmlmliEcFcGcHcmi9qIc!qnioipimmnmompmqmrmsmJcKc#qLcqirisitiuitmviumMcNcOcwivmPcxiyiziAiQcBiCiDiEiFiGiHiwmxmymRcSczmAmBm$qTcCmDm%qEmFm'qUcGmIi( JgKgLgJiKiLiMiNiOiPiQiHm(qVcWcXcYcZc0c)q1c2c3c4c5cRiImSi6c7c8c*q9c!c#cJm$c%cKm+q,q'c(cLmMmNmOm)c-q*c+c,c-c.cPm.q/c:cTi;c=cUiVi?c/qQm@c[cRm]cWi^c_c:q`cE F G H I J K {cSm2g) |cXiYi}c~cZi* ad+ 0iTm;q=qUm1iVm2ibdcdddedfdi , 3i4i5igd- hdidjdkd?qj @qWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%m'm(m)mld*m+mmdnd,m-m.m/m:m6iod;mpdqdrdsdtd=m?m@m[m]m7iudvdwdxd8i[qyd]q9i!i#i^m_m`m{m|m}m~mzdAd^qBd$i%i'i(i)ian*ibnCdDdEd+icnFd,i-i.i/iGd:i;i=i?i@i[i]idnenfnHdIdgnhnin_qJdjnkn`qlnmn{qKdnn^i. MgNgOg_i`i{i|i}i~iajbjon|qLdMdNdOdPdQd}qRdSdTdUdVdcjpndjWdXdYd~qZd0d1dqn2d3drnarbr4d5dsntnunvn6dcr7d8d9d!d#dwndr$d%dej'd(dfjgj)derxn*d+dyn,dhj-d.dfr/dL M N O P Q R :dzn3g/ ;dijjj=d?dkj: @d; ljAngrhrBnmjCnnj[d]d^d_d`dk = ojpjqj{d? |d}d~daeirl jrDnEnFnGnHnInJnKnLnMnNnOnPnQnRnSnTnUnVnWnXnbeYnZncede0n1n2n3n4nrjee5nfegeheieje6n7n8n9n!nsjkelemenetjkroelrujvjwj#n$n%n'n(n)n*npeqemrrexjyjzjAjBj+nCj,nseteueDj-nveEjFjGjHjweIjJjKjLjMjNjOj.n/n:nxeye;n=n?nnrze@n[nor]n^nprAe_nPj@ PgQgRgQjRjSjTjUjVjWjXj`nqrBeCeDeEeFeGerrHeIeJeKeLeYj{nZjMeNeOesrPeQeRe|nSeTe}ntrurUeVe~naobocoWevrXeYeZe0e1edowr2e3e0j4e5e1j2j6exreo7e8efo9e3j!e#eyr$eS T U V W X Y %ego4g[ 'e4j5j(e)e6j] *e^ 7jhozrArio8jjo9j+e,e-e.e/em _ !j#j$j:e` ;e=e?e@eBrn CrkolomonooopoqorosotouovowoxoyozoAoBoCoDoEo[eFoGo]e^eHoIoJoKoLo%j_eMo`e{e|e}e~eNoOoPoQoRo'jafbfcfdf(jDrefEr)j*j+jSoToUoVoWoXoYoffgfFrhf,j-j.j/j:jZo;j0oifjfkf=j1olf?j@j[j]jmf^j_j`j{j|j}j~j2o3o4onfof5o6o7oGrpf8o9oHr!o#oIrqf$oak{ SgTgUgbkckdkekfkgkhkik%oJrrfsftfufvfwfKrxfyfzfAfBfjk'okkCfDfEfLrFfGfHf(oIfJf)oMrNrKfLf*o+o,o-oMfOrNfOfPfQfRf.oPrSfTflkUfVfmknkWfQr/oXfYf:oZfok0f1fRr2fZ 0 1 2 3 4 5 3f;o5g| 4fpkqk5f6frk} 7f~ sk=oSrTr?otk@ouk8f9f!f#f$fo abvkwkxk%fbb'f(f)f*fUrp Vr[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplp+fmpnp,f-fopppqprpspyk.ftp/f:f;f=f?fupvpwpxpypzk@f[f]f^fAkWr_fXrBkCkDkzpApBpCpDpEpFp`f{fYr|fEkFkGkHkIkGpJkHp}f~fagKkIpbgLkMkNkOkcgPkQkRkSkTkUkVkJpKpLpdgegMpNpOpZrfgPpQp0rRpSp1rggTpWkcbVgWgXgXkYkZk0k1k2k3k4kUp2rhgigjgkglgmg3rngogpgqgrg5kVp6ksgtgug4rvgwgxgWpygzgXp5r6rAgBgYpZp0p1pCg7rDgEgFg
184 if "description" in m_schema: 2dbebfbgbhbibjbkblbmbnbobpbq r s t u v w qb0g6 rbsbtb7 ub8 vbwbxbybzbAb9 BbCbDbEbg FbGbHbIbJbKbLbMbNbObPbQbRbSbTbUbVbWbXbYbZb0b1b2b3b4b! GgHgIg5b6b7b8b9b!b#b$b%b'b(b)b*b+b,b-b.b/b:b;b=b?b@b[b]b^b_b`b{b|b}b~bacbcccdcecfcx y z A B C D gc1g# hcicjc$ kc% lcmcncocpcqc' rcsctcuch vcwcxcyczcAcBcCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcRcScTcUc( JgKgLgVcWcXcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`cE F G H I J K {c2g) |c}c~c* ad+ bdcdddedfdi gd- hdidjdkdj ldmdndodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKd. MgNgOgLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/dL M N O P Q R :d3g/ ;d=d?d: @d; [d]d^d_d`dk {d? |d}d~dael becedeeefegeheiejekelemeneoepeqereseteuevewexeyezeAe@ PgQgRgBeCeDeEeFeGeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$eS T U V W X Y %e4g[ 'e(e)e] *e^ +e,e-e.e/em :e` ;e=e?e@en [e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqf{ SgTgUgrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2fZ 0 1 2 3 4 5 3f5g| 4f5f6f} 7f~ 8f9f!f#f$fo %fbb'f(f)f*fp +f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfgggcbVgWgXghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFg
185 m_schema["description"] = m_schema["description"].split("\f")[0] 20g6 7 8 9 ! 1g# $ % ' ( 2g) * + - . 3g/ : ; ? @ 4g[ ] ^ ` { 5g| } ~ bbcb
186 return definitions 2dbeb@kLqfbgbMhhbibNhOhjbMq[kkblb]kmbPhnbobNqpbq r s t u v w qb^k0g6 rbQhRhsbtbSh7 ub8 Th_kOqPq`kUh{kVhvbwbxbybzbWhXhYhAb9 BbCbDbEbg Qq|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlFbsltlGbHbulvlwlxlylZhIbzlJbKbLbMbNbAlBlClDlEl0hObPbQbRb1hRqSbSq2h3h4hFlGlHlIlJlKlLlTbUbTqVb5h6h7h8h9hMl!hNlWbXbYb#hOlZb$h%h'h(h0b)h*h+h,h-h.h/hPlQlRl1b2bSlTlUlUq3bVlWlVqXlYlWq4bZl:h! GgHgIg;h=h?h@h[h]h^h_h0lXq5b6b7b8b9b!bYq#b$b%b'b(b`h1l{h)b*b+bZq,b-b.b2l/b:b3l0q1q;b=b4l5l6l7l?b2q@b[b]b^b_b8l3q`b{b|h|b}b}h~h~b4q9lacbc!lccaidcec5qfcx y z A B C D gc#l1g# hcbiciicjcdi$ kc% ei$l6q7q%lfi'lgilcmcncocpchiiijiqc' rcsctcuch 8q(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}lvc~lamwcxcbmcmdmemfmkiycgmzcAcBcCcDchmimjmkmlmliEcFcGcHcmi9qIc!qnioipimmnmompmqmrmsmJcKc#qLcqirisitiuitmviumMcNcOcwivmPcxiyiziAiQcBiCiDiEiFiGiHiwmxmymRcSczmAmBm$qTcCmDm%qEmFm'qUcGmIi( JgKgLgJiKiLiMiNiOiPiQiHm(qVcWcXcYcZc0c)q1c2c3c4c5cRiImSi6c7c8c*q9c!c#cJm$c%cKm+q,q'c(cLmMmNmOm)c-q*c+c,c-c.cPm.q/c:cTi;c=cUiVi?c/qQm@c[cRm]cWi^c_c:q`cE F G H I J K {cSm2g) |cXiYi}c~cZi* ad+ 0iTm;q=qUm1iVm2ibdcdddedfdi , 3i4i5igd- hdidjdkd?qj @qWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%m'm(m)mld*m+mmdnd,m-m.m/m:m6iod;mpdqdrdsdtd=m?m@m[m]m7iudvdwdxd8i[qyd]q9i!i#i^m_m`m{m|m}m~mzdAd^qBd$i%i'i(i)ian*ibnCdDdEd+icnFd,i-i.i/iGd:i;i=i?i@i[i]idnenfnHdIdgnhnin_qJdjnkn`qlnmn{qKdnn^i. MgNgOg_i`i{i|i}i~iajbjon|qLdMdNdOdPdQd}qRdSdTdUdVdcjpndjWdXdYd~qZd0d1dqn2d3drnarbr4d5dsntnunvn6dcr7d8d9d!d#dwndr$d%dej'd(dfjgj)derxn*d+dyn,dhj-d.dfr/dL M N O P Q R :dzn3g/ ;dijjj=d?dkj: @d; ljAngrhrBnmjCnnj[d]d^d_d`dk = ojpjqj{d? |d}d~daeirl jrDnEnFnGnHnInJnKnLnMnNnOnPnQnRnSnTnUnVnWnXnbeYnZncede0n1n2n3n4nrjee5nfegeheieje6n7n8n9n!nsjkelemenetjkroelrujvjwj#n$n%n'n(n)n*npeqemrrexjyjzjAjBj+nCj,nseteueDj-nveEjFjGjHjweIjJjKjLjMjNjOj.n/n:nxeye;n=n?nnrze@n[nor]n^nprAe_nPj@ PgQgRgQjRjSjTjUjVjWjXj`nqrBeCeDeEeFeGerrHeIeJeKeLeYj{nZjMeNeOesrPeQeRe|nSeTe}ntrurUeVe~naobocoWevrXeYeZe0e1edowr2e3e0j4e5e1j2j6exreo7e8efo9e3j!e#eyr$eS T U V W X Y %ego4g[ 'e4j5j(e)e6j] *e^ 7jhozrArio8jjo9j+e,e-e.e/em _ !j#j$j:e` ;e=e?e@eBrn CrkolomonooopoqorosotouovowoxoyozoAoBoCoDoEo[eFoGo]e^eHoIoJoKoLo%j_eMo`e{e|e}e~eNoOoPoQoRo'jafbfcfdf(jDrefEr)j*j+jSoToUoVoWoXoYoffgfFrhf,j-j.j/j:jZo;j0oifjfkf=j1olf?j@j[j]jmf^j_j`j{j|j}j~j2o3o4onfof5o6o7oGrpf8o9oHr!o#oIrqf$oak{ SgTgUgbkckdkekfkgkhkik%oJrrfsftfufvfwfKrxfyfzfAfBfjk'okkCfDfEfLrFfGfHf(oIfJf)oMrNrKfLf*o+o,o-oMfOrNfOfPfQfRf.oPrSfTflkUfVfmknkWfQr/oXfYf:oZfok0f1fRr2fZ 0 1 2 3 4 5 3f;o5g| 4fpkqk5f6frk} 7f~ sk=oSrTr?otk@ouk8f9f!f#f$fo abvkwkxk%fbb'f(f)f*fUrp Vr[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplp+fmpnp,f-fopppqprpspyk.ftp/f:f;f=f?fupvpwpxpypzk@f[f]f^fAkWr_fXrBkCkDkzpApBpCpDpEpFp`f{fYr|fEkFkGkHkIkGpJkHp}f~fagKkIpbgLkMkNkOkcgPkQkRkSkTkUkVkJpKpLpdgegMpNpOpZrfgPpQp0rRpSp1rggTpWkcbVgWgXgXkYkZk0k1k2k3k4kUp2rhgigjgkglgmg3rngogpgqgrg5kVp6ksgtgug4rvgwgxgWpygzgXp5r6rAgBgYpZp0p1pCg7rDgEgFg
189def is_pv1_scalar_field(field: ModelField) -> bool: 1abcdef
190 from fastapi import params 2a 7k8k9k6g2p7g8g3p9g!g4p#g5p$g%g6p'g:s;s=s?s@s[s]s^g_g`gYg!kg 7p8p9p!p#p$p%p'p8r9r(gb #k$k%k)g(p*g+g)p,g-g*p.g+p/g:g,p;g^s_s`s{s|s}s~s{g|g}gZg'kh -p.p/p:p;p=p?p@p!r#r=gc [p]p^p~g$rahbh%rchdh'reh(rfhgh)rhh)t*t+t,t-t.t/t(k)k*k?g, _p`p{p|pj *r+r,r-r.r/r:r;ratbtihd }p~paqjh=rkhlh?rmhnh@roh[rphqh]rrh:t;t=t?t@t[t]t+k,k-k@g= bqcqdqeql ^r_r`r{r|r}r~rasctdtshe fqgqhqthbsuhvhcswhxhdsyheszhAhfsBh^t_t`t{t|t}t~t.k/k:k[g_ iqjqkqlqn gshsisjskslsmsnsetftChf mqnqoqosDhEhpsFhGhqsHhrsIhJhssKhaubucudueufugu;k=k?k]gabpqqqrqsqp tsusvswsxsyszsAsgthtLh
192 field_info = field.field_info 2a 7k8k9k6g2p7g8g3p9g!g4p#g5p$g%g6p'g:s;s=s?s@s[s]s^g_g`gYg!kg 7p8p9p!p#p$p%p'p8r9r(gb #k$k%k)g(p*g+g)p,g-g*p.g+p/g:g,p;g^s_s`s{s|s}s~s{g|g}gZg'kh -p.p/p:p;p=p?p@p!r#r=gc [p]p^p~g$rahbh%rchdh'reh(rfhgh)rhh)t*t+t,t-t.t/t(k)k*k?g, _p`p{p|pj *r+r,r-r.r/r:r;ratbtihd }p~paqjh=rkhlh?rmhnh@roh[rphqh]rrh:t;t=t?t@t[t]t+k,k-k@g= bqcqdqeql ^r_r`r{r|r}r~rasctdtshe fqgqhqthbsuhvhcswhxhdsyheszhAhfsBh^t_t`t{t|t}t~t.k/k:k[g_ iqjqkqlqn gshsisjskslsmsnsetftChf mqnqoqosDhEhpsFhGhqsHhrsIhJhssKhaubucudueufugu;k=k?k]gabpqqqrqsqp tsusvswsxsyszsAsgthtLh
193 if not ( 2a 7k8k9k6g2p7g8g3p9g!g4p#g5p$g%g6p'g:s;s=s?s@s[s]s^g_g`gYg!kg 7p8p9p!p#p$p%p'p8r9r(gb #k$k%k)g(p*g+g)p,g-g*p.g+p/g:g,p;g^s_s`s{s|s}s~s{g|g}gZg'kh -p.p/p:p;p=p?p@p!r#r=g
194 field.shape == SHAPE_SINGLETON
195 and not lenient_issubclass(field.type_, BaseModel)
196 and not lenient_issubclass(field.type_, dict)
197 and not shared.field_annotation_is_sequence(field.type_)
198 and not is_dataclass(field.type_)
199 and not isinstance(field_info, params.Body)
200 ):
201 return False 2a 6g:s;s=s?s@s[s]s^g_g`gYgb )g^s_s`s{s|s}s~s{g|g}gZgc ~g)t*t+t,t-t.t/t(k)k*k?gd jh:t;t=t?t@t[t]t+k,k-k@ge th^t_t`t{t|t}t~t.k/k:k[gf aubucudueufugu;k=k?k]g
202 if field.sub_fields: 2a 7k8k9k6g2p7g8g3p9g!g4p#g5p$g%g6p'g!kg 7p8p9p!p#p$p%p'p8r9r(gb #k$k%k)g(p*g+g)p,g-g*p.g+p/g:g,p;g'kh -p.p/p:p;p=p?p@p!r#r=gc [p]p^p~g$rahbh%rchdh'reh(rfhgh)rhh, _p`p{p|pj *r+r,r-r.r/r:r;ratbtihd }p~paqjh=rkhlh?rmhnh@roh[rphqh]rrh= bqcqdqeql ^r_r`r{r|r}r~rasctdtshe fqgqhqthbsuhvhcswhxhdsyheszhAhfsBh_ iqjqkqlqn gshsisjskslsmsnsetftChf mqnqoqosDhEhpsFhGhqsHhrsIhJhssKhabpqqqrqsqp tsusvswsxsyszsAsgthtLh
203 if not all(is_pv1_scalar_field(f) for f in field.sub_fields): 26g)g~gjhth
204 return False 26g)g~gjhth
205 return True 2a 7k8k9k6g2p7g8g3p9g!g4p#g5p$g%g6p'g!kg 7p8p9p!p#p$p%p'p8r9r(gb #k$k%k)g(p*g+g)p,g-g*p.g+p/g:g,p;g'kh -p.p/p:p;p=p?p@p!r#r=gc [p]p^p~g$rahbh%rchdh'reh(rfhgh)rhh, _p`p{p|pj *r+r,r-r.r/r:r;ratbtihd }p~paqjh=rkhlh?rmhnh@roh[rphqh]rrh= bqcqdqeql ^r_r`r{r|r}r~rasctdtshe fqgqhqthbsuhvhcswhxhdsyheszhAhfsBh_ iqjqkqlqn gshsisjskslsmsnsetftChf mqnqoqosDhEhpsFhGhqsHhrsIhJhssKhabpqqqrqsqp tsusvswsxsyszsAsgthtLh
208def is_pv1_scalar_sequence_field(field: ModelField) -> bool: 1abcdef
209 if (field.shape in sequence_shapes) and not lenient_issubclass( 2a ^g_g`gYgb {g|g}gZgc (k)k*k?gd +k,k-k@ge .k/k:k[gf ;k=k?k]g
210 field.type_, BaseModel
211 ):
212 if field.sub_fields is not None: 2a Ygb Zgc ?gd @ge [gf ]g
213 for sub_field in field.sub_fields: 2a Ygb Zgc ?gd @ge [gf ]g
214 if not is_pv1_scalar_field(sub_field): 2a Ygb Zgc ?gd @ge [gf ]g
215 return False 2YgZg?g@g[g]g
216 return True 1abcdef
217 if shared._annotation_is_sequence(field.type_): 2a ^g_g`gb {g|g}gc (k)k*kd +k,k-ke .k/k:kf ;k=k?k
218 return True 1abcdef
219 return False 2a ^g_g`gb {g|g}gc (k)k*kd +k,k-ke .k/k:kf ;k=k?k
222def _model_rebuild(model: Type[BaseModel]) -> None: 1abcdef
223 model.update_forward_refs() 1abcdef
226def _model_dump( 1abcdef
227 model: BaseModel, mode: Literal["json", "python"] = "json", **kwargs: Any
228) -> Any:
229 return model.dict(**kwargs) 2db,Leb@kfbgbMhhbibNhOh-L.L/LhAjb[kkb:LiA;L=Llb?L]k@LmbPhjAnbkAOxobPxQxRxhuiupbq r s t u v w qb^k6 [LrbQhRh]L^L_L`L{L|L}L~LaMbMcMsbtbdMShSx7 lAub8 Th_kmAeMnAoA`kUh{kVhfMpAqArAgMvbsAhMtAuAiMvAwAjMwbxbxAyAzAAAkMBAlMCADAEAFAGAmMHAnMIAybJAKALAMANAOAPAQARASATAUAzboMVAWAXApMYAZA0A1A2A3ATx4A5AWhXhYhAb9 qMrMsMtMuMvM6A7A8ABbCb9A!AwMxM#A$A%A'A(AyMDb)A*AzMAM+A,A-ABMCM.A/A:ADMEMFM;A=AUx?A@AVx[A]AGM^A_AHM`AIM{AJMEb!kg |kKM}kLM~kMMalNMblOMclPMdlQMelRMflSMglhliljlklllmlnlolplqlrlFbTMUMsltlGbVMWMHbXMYMulvlwlZM0Mxl1M2Myl3M4M5M6M7M8M9M!M#M$M|A}A~AaBbBcBdBeBfBgBhBiBjBZhIbzl%MJb'MKbkBLblBMbmBNbnBAlBlClDlEl0h(M)M*M+MOb,M-M.MoBpBPbQbqBRbrB1hsBSbtBWxuBvB2hXxwB3h4hFlGlHlIlJlKlLlTb/MUb:MVbxB5h6h7h8h9hMl!hNlWbyBzBXb;MYb#hOl=MZb?M@M$h%h'h(h0b[M)hYxABBB*hZxCB+h0xDBEB,h-h.h/hPlQlRl1b2bSlTlUl3bFBVlWlXl]MYl4bGBZl:h! ^M_M;h1xHBIB=h2xJB?h@h[h]h^h_h0l5b6b7b8b9b!bju#bku$b%b'bKB(bLB`h1l{hMB)b*bNBOB+bPBQB,bRB-bSB.bTB2l/b`Mlu:bmunuoupuqu3l{MUB|MVB3x;b4x=b4l5l6l5x7l?b}M~M@b6x7x[baNbNWBcN]bXB^bdN_b8l`b{b|h|b}b}h~heNfNgNYB~b9lachNZBiNjNbckN!llNccai0Bdc1B8xec9x!x#xrusufcx y z A B C D gc#l# mNhcbicinNoNpNqNrNsNtNuNvNwNxNicjcyNdi$x$ 2Bkc% ei$l3BzN4B5B%lfi'lgiAN6B7B8BBNlc9BCN!B#BDN$B%BENmcnc'B(B)B*BFN+BGN,B-B.B/B:BHN;BIN=Boc?B@B[B]B^B_B`B{B|B}B~BaCpcJNbCcCdCKNeCfCgChCiCjC%xkClChiiijiqc' LNMNNNONPNQNmCnCoCrcscpCqCRNSNrCsCtCuCvCTNtcwCxCUNVNyCzCACWNXNBCCCDCYNZN0NECFC'xGCHC(xICJC1NKCLC2NMC3NNC4Nuc'kh (l5N)l6N*l7N+l8N,l9N-l!N.l#N/l$N:l%N;l=l?l@l[l]l^l_l`l{l|l}lvc'N(N~lamwc)N*Nxc+N,Nbmcmdm-N.Nem/N:Nfm;N=N?N@N[N]N^N_N`N{NOCPCQCRCSCTCUCVCWCXCYCZC0Ckiycgm|Nzc}NAc1CBc2CCc3CDc4Chmimjmkmlmli~NaObOcOEcdOeOfO5C6CFcGc7CHc8Cmi9CIc!C)x#C$Cni*x%CoipimmnmompmqmrmsmJcgOKchOLc'CqirisitiuitmviumMc(C)CNciOOcwivmjOPckOlOxiyiziAiQcmOBi+x*C+CCi,x,CDi-x-C.CEiFiGiHiwmxmymRcSczmAmBmTc/CCmDmEmnOFmUc:CGmIi( oOpOJi.x;C=CKi/x?CLiMiNiOiPiQiHmVcWcXcYcZc0ctu1cuu2c3c4c@C5c[CRiImSi]C6c7c^C_C8c`C{C9c|C!c}C#c~CJm$cqOvu%cwuxuyuzuAuKmrOaDsObD:x'c;x(cLmMmNm=xOm)ctOuO*c?x@x+cvOwOcDxO,cdD-cyO.cPm/c:cTi;c=cUiVizOAOBOeD?cQm@cCOfDDOEO[cFORmGO]cWigD^chD[x_c]x^x_xBuCu`cE F G H I J K {cSm) HO|cXiYiIOJOKOLOMONOOOPOQOROSO}c~cTOZi`x* iDad+ 0iTmjDUOkDlDUm1iVm2iVOmDnDoDWObdpDXOqDrDYOsDtDZOcddduDvDwDxD0OyD1OzDADBDCDDD2OED3OFDedGDHDIDJDKDLDMDNDODPDQDRDfd4OSDTDUD5OVDWDXDYDZD0D{x1D2Di , 3i4i5igd- 6O7O8O9O!O#O3D4D5Dhdid6D7D$O%O8D9D!D#D$D'Ojd%D'D(O)O(D)D*D*O+O+D,D-D,O-O.O.D/D|x:D;D}x=D?D/O@D[D:O]D;O^D=Okd|pj Wm?OXm@OYm[OZm]O0m^O1m_O2m`O3m{O4m|O5m6m7m8m9m!m#m$m%m'm(m)mld}O~O*m+mmdaPbPndcPdP,m-m.mePfP/mgPhP:miPjPkPlPmPnPoPpPqPrP_D`D{D|D}D~DaEbEcEdEeEfEgE6iod;msPpdtPqdhErdiEsdjEtdkE=m?m@m[m]m7iuPvPwPxPudyPzPAPlEmEvdwdnExdoE8ipEydqE~xrEsE9iaytE!i#i^m_m`m{m|m}m~mzdBPAdCPBduE$i%i'i(i)ian*ibnCdvEwEDdDPEd+icnEPFdFPGP,i-i.i/iGdHP:ibyxEyE;icyzE=idyAEBE?i@i[i]idnenfnHdIdgnhninJdCEjnknlnIPmnKdDEnn^i. JPKP_ieyEEFE`ifyGE{i|i}i~iajbjonLdMdNdOdPdQdDuRdEuSdTdUdHEVdIEcjpndjJEWdXdKELEYdMENEZdOE0dPE1dQEqn2dLPFu3dGuHuIuJuKurnMPRENPSEgy4dhy5dsntnuniyvn6dOPPP7djyky8dQPRPTESP9dUE!dTP#dwn$d%dej'd(dfjgjUPVPWPVE)dxn*dXPWEYPZP+d0Pyn1P,dhjXE-dYEly.dmynyoyLuMu/dL M N O P Q R :dzn/ 2P;dijjj3P4P5P6P7P8P9P!P#P$P%P=d?d'Pkjpy: ZE@d; ljAn0E(P1E2EBnmjCnnj)P3E4E5E*P[d6E+P7E8E,P9E!E-P]d^d#E$E%E'E.P(E/P)E*E+E,E-E:P.E;P/E_d:E;E=E?E@E[E]E^E_E`E{E|E`d=P}E~EaF?PbFcFdFeFfFgFqyhFiFk = ojpjqj{d? @P[P]P^P_P`PjFkFlF|d}dmFnF{P|PoFpFqFrFsF}P~dtFuF~PaQvFwFxFbQcQyFzFAFdQeQfQBFCFryDFEFsyFFGFgQHFIFhQJFiQKFjQaeeql DnkQEnlQFnmQGnnQHnoQInpQJnqQKnrQLnsQMnNnOnPnQnRnSnTnUnVnWnXnbetQuQYnZncevQwQdexQyQ0n1n2nzQAQ3nBQCQ4nDQEQFQGQHQIQJQKQLQMQLFMFNFOFPFQFRFSFTFUFVFWFXFrjee5nNQfeOQgeYFheZFie0Fje1F6n7n8n9n!nsjPQQQRQSQkeTQUQVQ2F3Fleme4Fne5Ftj6Foe7Fty8F9Fujuy!Fvjwj#n$n%n'n(n)n*npeWQqeXQre#FxjyjzjAjBj+nCj,nse$F%FteYQueDj-nZQve0Q1QEjFjGjHjwe2QIjvy'F(FJjwy)FKjxy*F+FLjMjNjOj.n/n:nxeye;n=n?nze,F@n[n]n3Q^nAe-F_nPj@ 4Q5QQjyy.F/FRjzy:FSjTjUjVjWjXj`nBeCeDeEeFeGeNuHeOuIeJeKe;FLe=FYj{nZj?FMeNe@F[FOe]F^FPe_FQe`FRe{F|nSe6QPuTeQuRuSuTuUu}n7Q|F8Q}FAyUeByVe~naoboCycoWe9Q!QXeDyEyYe#Q$Q~F%QZeaG0e'Q1edo2e3e0j4e5e1j2j(Q)Q*QbG6eeo7e+QcG,Q-Q8e.Qfo/Q9e3jdG!eeGFy#eGyHyIyVuWu$eS T U V W X Y %ego[ :Q'e4j5j;Q=Q?Q@Q[Q]Q^Q_Q`Q{Q|Q(e)e}Q6jJy] fG*e^ 7jhogG~QhGiGio8jjo9jaRjGkGlGbR+emGcRnGoGdRpGqGeR,e-erGsGtGuGfRvGgRwGxGyGzGAGhRBGiRCG.eDGEGFGGGHGIGJGKGLGMGNGOG/ejRPGQGRGkRSGTGUGVGWGXGKyYGZGm _ !j#j$j:e` lRmRnRoRpRqR0G1G2G;e=e3G4GrRsR5G6G7G8G9GtR?e!G#GuRvR$G%G'GwRxR(G)G*GyRzRAR+G,GLy-G.GMy/G:GBR;G=GCR?GDR@GER@elqn koFRloGRmoHRnoIRooJRpoKRqoLRroMRsoNRtouovowoxoyozoAoBoCoDoEo[eORPRFoGo]eQRRR^eSRTRHoIoJoURVRKoWRXRLoYRZR0R1R2R3R4R5R6R7R[G]G^G_G`G{G|G}G~GaHbHcHdH%j_eMo8R`e9R{eeH|efH}egH~ehHNoOoPoQoRo'j!R#R$R%Raf'R(R)RiHjHbfcfkHdflH(jmHefnHNyoHpH)jOyqH*j+jSoToUoVoWoXoYoff*Rgf+RhfrH,j-j.j/j:jZo;j0oifsHtHjf,Rkf=j1o-Rlf.R/R?j@j[j]jmf:R^jPyuHvH_jQywH`jRyxHyH{j|j}j~j2o3o4onfof5o6o7opfzH8o9o!o;R#oqfAH$oak{ =R?RbkSyBHCHckTyDHdkekfkgkhkik%orfsftfufvfwfXuxfYuyfzfAfEHBfFHjk'okkGHCfDfHHIHEfJHKHFfLHGfMHHfNH(oIf@RZuJf0u1u2u3u4u)o[ROH]RPHUyKfVyLf*o+o,oWy-oMf^R_RNfXyYyOf`R{RQH|RPfRHQf}RRf.oSfTflkUfVfmknk~RaSbSSHWf/oXfcSTHdSeSYffS:ogSZfokUH0fVHZy1f0y1y2y5u6u2fZ 0 1 2 3 4 5 3f;o| hS4fpkqkiSjSkSlSmSnSoSpSqSrSsS5f6ftSrk3y} WH7f~ sk=oXHuSYHZH?otk@oukvS0H1H2HwS8f3HxS4H5HyS6H7HzS9f!f8H9H!H#HAS$HBS%H'H(H)H*HCS+HDS,H#f-H.H/H:H;H=H?H@H[H]H^H_H$fES`H{H|HFS}H~HaIbIcIdI4yeIfIo abvkwkxk%fbbGSHSISJSKSLSgIhIiI'f(fjIkIMSNSlImInIoIpIOS)fqIrIPSQSsItIuIRSSSvIwIxITSUSVSyIzI5yAIBI6yCIDIWSEIFIXSGIYSHIZS*fsqp [o0S]o1S^o2S_o3S`o4S{o5S|o6S}o7S~o8Sapbpcpdpepfpgphpipjpkplp+f9S!Smpnp,f#S$S-f%S'Sopppqp(S)Srp*S+Ssp,S-S.S/S:S;S=S?S@S[SIIJIKILIMINIOIPIQIRISITIUIyk.ftp]S/f^S:fVI;fWI=fXI?fYIupvpwpxpypzk_S`S{S|S@f}S~SaTZI0I[f]f1I^f2IAk3I_f4I7y5I6IBk8y7ICkDkzpApBpCpDpEpFp`fbT{fcT|f8IEkFkGkHkIkGpJkHp}f9I!I~fdTagKkIpeTbgfTgTLkMkNkOkcghTPk9y#I$IQk!y%IRk#y'I(ISkTkUkVkJpKpLpdgegMpNpOpfg)IPpQpRpiTSpgg*ITpWkcbjTkTXk$y+I,IYk%y-IZk0k1k2k3k4kUphgigjgkglgmg7ung8uogpgqg.Irg/I5kVp6k:Isgtg;I=Iug?I@Ivg[Iwg]Ixg^IWpyglT9uzg!u#u$u%u'uXpmT_InT`I'yAg(yBgYpZp0p)y1pCgoTpTDg*y+yEgqTrT{IsTFg|I
232def _get_model_config(model: BaseModel) -> Any: 1abcdef
233 return model.__config__ # type: ignore[attr-defined] 2iAOxPxSxmAnAoApAqArAsAtAuAvAwAxAyAzAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA0A5A6A7A8A9A!A#A$A%A'A(A)A*A+A,A-A.A/A:A;A=AUx?A@AVx[A]A^A_A`A{A|A}A~AaBbBcBdBeBfBgBhBiBjBFBGBKBLBlumunuoupuquUBVB3x4x5xXBZB8x9x$x3B4B5B6B7B8B9B!B#B$B%B'B(B)B*B+B,B-B.B/B:B;B=B?B@B[B]B^B_B`B{B|B}B~BaCbCcCdCeCfCgClCmCnCoCpCqCrCsCtCuCvCwCxCyCzCACBCCCDCECFC'xGCHC(xICJCKCLCMCNCOCPCQCRCSCTCUCVCWCXCYCZC0C/C:C@C[CvuwuxuyuzuAuaDbD:x;x=xdDfD[x]x`xjDkDlDmDnDoDpDqDrDsDtDuDvDwDxDyDzDADBDCDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXD2D3D4D5D6D7D8D9D!D#D$D%D'D(D)D*D+D,D-D.D/D|x:D;D}x=D?D@D[D]D^D_D`D{D|D}D~DaEbEcEdEeEfEgECEDEHEIEFuGuHuIuJuKuRESEgyhyiyUEWElymypy0E1E2E3E4E5E6E7E8E9E!E#E$E%E'E(E)E*E+E,E-E.E/E:E;E=E?E@E[E]E^E_E`E{E|E}E~EaFbFcFdFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzFAFBFCFryDFEFsyFFGFHFIFJFKFLFMFNFOFPFQFRFSFTFUFVFWFXF,F-F;F=FPuQuRuSuTuUu|F}FAyByCyaGcGFyGyJygGhGiGjGkGlGmGnGoGpGqGrGsGtGuGvGwGxGyGzGAGBGCGDGEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGZG0G1G2G3G4G5G6G7G8G9G!G#G$G%G'G(G)G*G+G,GLy-G.GMy/G:G;G=G?G@G[G]G^G_G`G{G|G}G~GaHbHcHdHzHAHEHFHZu0u1u2u3u4uOHPHUyVyWyRHTHZy0y3yXHYHZH0H1H2H3H4H5H6H7H8H9H!H#H$H%H'H(H)H*H+H,H-H.H/H:H;H=H?H@H[H]H^H_H`H{H|H}H~HaIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzI5yAIBI6yCIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUI)I*I.I/I9u!u#u$u%u'u_I`I'y(y)y|I
236def get_schema_from_model_field( 1abcdef
237 *,
238 field: ModelField,
239 model_name_map: ModelNameMap,
240 field_mapping: Dict[
241 Tuple[ModelField, Literal["validation", "serialization"]], JsonSchemaValue
242 ],
243 separate_input_output_schemas: bool = True,
244) -> Dict[str, Any]:
245 return field_schema( # type: ignore[no-any-return] 2dbebfbgbMhhbibNhOhjbkblbmbPhnbobpbq r s t u v w qb6 rbQhRhsbtbSh7 ub8 ThUhVhvbwbxbybzbWhXhYhAb9 BbCbDbEbg FbGbHbZhIbJbKbLbMbNb0hObPbQbRb1hSb2h3h4hTbUbVb5h6h7h8h9h!hWbXbYb#hZb$h%h'h(h0b)h*h+h,h-h.h/h1b2b3b4b:h! GgHgIg;h=h?h@h[h]h^h_h5b6b7b8b9b!b#b$b%b'b(b`h{h)b*b+b,b-b.b/b:b;b=b?b@b[b]b^b_b`b{b|h|b}b}h~h~bacbcccaidcecfcx y z A B C D gc# hcbiciicjcdi$ kc% eifigilcmcncocpchiiijiqc' rcsctcuch vcwcxckiyczcAcBcCcDcliEcFcGcHcmiIcnioipiJcKcLcqirisitiuiviMcNcOcwiPcxiyiziAiQcBiCiDiEiFiGiHiRcScTcUcIi( JgKgLgJiKiLiMiNiOiPiQiVcWcXcYcZc0c1c2c3c4c5cRiSi6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:cTi;c=cUiVi?c@c[c]cWi^c_c`cE F G H I J K {c) |cXiYi}c~cZi* ad+ 0i1i2ibdcdddedfdi , 3i4i5igd- hdidjdkdj ldmdnd6iodpdqdrdsdtd7iudvdwdxd8iyd9i!i#izdAdBd$i%i'i(i)i*iCdDdEd+iFd,i-i.i/iGd:i;i=i?i@i[i]iHdIdJdKd^i. MgNgOg_i`i{i|i}i~iajbjLdMdNdOdPdQdRdSdTdUdVdcjdjWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%dej'd(dfjgj)d*d+d,dhj-d.d/dL M N O P Q R :d/ ;dijjj=d?dkj: @d; ljmjnj[d]d^d_d`dk = ojpjqj{d? |d}d~dael becederjeefegeheiejesjkelemenetjoeujvjwjpeqerexjyjzjAjBjCjseteueDjveEjFjGjHjweIjJjKjLjMjNjOjxeyezeAePj@ PgQgRgQjRjSjTjUjVjWjXjBeCeDeEeFeGeHeIeJeKeLeYjZjMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e0j4e5e1j2j6e7e8e9e3j!e#e$eS T U V W X Y %e[ 'e4j5j(e)e6j] *e^ 7j8j9j+e,e-e.e/em _ !j#j$j:e` ;e=e?e@en [e]e^e%j_e`e{e|e}e~e'jafbfcfdf(jef)j*j+jffgfhf,j-j.j/j:j;jifjfkf=jlf?j@j[j]jmf^j_j`j{j|j}j~jnfofpfqfak{ SgTgUgbkckdkekfkgkhkikrfsftfufvfwfxfyfzfAfBfjkkkCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTflkUfVfmknkWfXfYfZfok0f1f2fZ 0 1 2 3 4 5 3f| 4fpkqk5f6frk} 7f~ sktkuk8f9f!f#f$fo abvkwkxk%fbb'f(f)f*fp +f,f-fyk.f/f:f;f=f?fzk@f[f]f^fAk_fBkCkDk`f{f|fEkFkGkHkIkJk}f~fagKkbgLkMkNkOkcgPkQkRkSkTkUkVkdgegfgggWkcbVgWgXgXkYkZk0k1k2k3k4khgigjgkglgmgngogpgqgrg5k6ksgtgugvgwgxgygzgAgBgCgDgEgFg
246 field, model_name_map=model_name_map, ref_prefix=REF_PREFIX
247 )[0]
250# def get_compat_model_name_map(fields: List[ModelField]) -> ModelNameMap:
251# models = get_flat_models_from_fields(fields, known_models=set())
252# return get_model_name_map(models) # type: ignore[no-any-return]
255def get_definitions( 1abcdef
256 *,
257 fields: List[ModelField],
258 model_name_map: ModelNameMap,
259 separate_input_output_schemas: bool = True,
260) -> Tuple[
261 Dict[Tuple[ModelField, Literal["validation", "serialization"]], JsonSchemaValue],
262 Dict[str, Dict[str, Any]],
263]:
264 models = get_flat_models_from_fields(fields, known_models=set()) 2dbeb@kLqfbgbMhhbibNhOhjbMq[kkblb]kmbPhnbobNqpbq r s t u v w qb^k6 rbQhRhsbtbSh7 ub8 Th_kOqPq`kUh{kVhvbwbxbybzbWhXhYhAb9 BbCbDbEbg Qq|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlFbsltlGbHbulvlwlxlylZhIbzlJbKbLbMbNbAlBlClDlEl0hObPbQbRb1hRqSbSq2h3h4hFlGlHlIlJlKlLlTbUbTqVb5h6h7h8h9hMl!hNlWbXbYb#hOlZb$h%h'h(h0b)h*h+h,h-h.h/hPlQlRl1b2bSlTlUlUq3bVlWlVqXlYlWq4bZl:h! GgHgIg;h=h?h@h[h]h^h_h0lXq5b6b7b8b9b!bYq#b$b%b'b(b`h1l{h)b*b+bZq,b-b.b2l/b:b3l0q1q;b=b4l5l6l7l?b2q@b[b]b^b_b8l3q`b{b|h|b}b}h~h~b4q9lacbc!lccaidcec5qfcx y z A B C D gc#l# hcbiciicjcdi$ kc% ei$l6q7q%lfi'lgilcmcncocpchiiijiqc' rcsctcuch 8q(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}lvc~lamwcxcbmcmdmemfmkiycgmzcAcBcCcDchmimjmkmlmliEcFcGcHcmi9qIc!qnioipimmnmompmqmrmsmJcKc#qLcqirisitiuitmviumMcNcOcwivmPcxiyiziAiQcBiCiDiEiFiGiHiwmxmymRcSczmAmBm$qTcCmDm%qEmFm'qUcGmIi( JgKgLgJiKiLiMiNiOiPiQiHm(qVcWcXcYcZc0c)q1c2c3c4c5cRiImSi6c7c8c*q9c!c#cJm$c%cKm+q,q'c(cLmMmNmOm)c-q*c+c,c-c.cPm.q/c:cTi;c=cUiVi?c/qQm@c[cRm]cWi^c_c:q`cE F G H I J K {cSm) |cXiYi}c~cZi* ad+ 0iTm;q=qUm1iVm2ibdcdddedfdi , 3i4i5igd- hdidjdkd?qj @qWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%m'm(m)mld*m+mmdnd,m-m.m/m:m6iod;mpdqdrdsdtd=m?m@m[m]m7iudvdwdxd8i[qyd]q9i!i#i^m_m`m{m|m}m~mzdAd^qBd$i%i'i(i)ian*ibnCdDdEd+icnFd,i-i.i/iGd:i;i=i?i@i[i]idnenfnHdIdgnhnin_qJdjnkn`qlnmn{qKdnn^i. MgNgOg_i`i{i|i}i~iajbjon|qLdMdNdOdPdQd}qRdSdTdUdVdcjpndjWdXdYd~qZd0d1dqn2d3drnarbr4d5dsntnunvn6dcr7d8d9d!d#dwndr$d%dej'd(dfjgj)derxn*d+dyn,dhj-d.dfr/dL M N O P Q R :dzn/ ;dijjj=d?dkj: @d; ljAngrhrBnmjCnnj[d]d^d_d`dk = ojpjqj{d? |d}d~daeirl jrDnEnFnGnHnInJnKnLnMnNnOnPnQnRnSnTnUnVnWnXnbeYnZncede0n1n2n3n4nrjee5nfegeheieje6n7n8n9n!nsjkelemenetjkroelrujvjwj#n$n%n'n(n)n*npeqemrrexjyjzjAjBj+nCj,nseteueDj-nveEjFjGjHjweIjJjKjLjMjNjOj.n/n:nxeye;n=n?nnrze@n[nor]n^nprAe_nPj@ PgQgRgQjRjSjTjUjVjWjXj`nqrBeCeDeEeFeGerrHeIeJeKeLeYj{nZjMeNeOesrPeQeRe|nSeTe}ntrurUeVe~naobocoWevrXeYeZe0e1edowr2e3e0j4e5e1j2j6exreo7e8efo9e3j!e#eyr$eS T U V W X Y %ego[ 'e4j5j(e)e6j] *e^ 7jhozrArio8jjo9j+e,e-e.e/em _ !j#j$j:e` ;e=e?e@eBrn CrkolomonooopoqorosotouovowoxoyozoAoBoCoDoEo[eFoGo]e^eHoIoJoKoLo%j_eMo`e{e|e}e~eNoOoPoQoRo'jafbfcfdf(jDrefEr)j*j+jSoToUoVoWoXoYoffgfFrhf,j-j.j/j:jZo;j0oifjfkf=j1olf?j@j[j]jmf^j_j`j{j|j}j~j2o3o4onfof5o6o7oGrpf8o9oHr!o#oIrqf$oak{ SgTgUgbkckdkekfkgkhkik%oJrrfsftfufvfwfKrxfyfzfAfBfjk'okkCfDfEfLrFfGfHf(oIfJf)oMrNrKfLf*o+o,o-oMfOrNfOfPfQfRf.oPrSfTflkUfVfmknkWfQr/oXfYf:oZfok0f1fRr2fZ 0 1 2 3 4 5 3f;o| 4fpkqk5f6frk} 7f~ sk=oSrTr?otk@ouk8f9f!f#f$fo abvkwkxk%fbb'f(f)f*fUrp Vr[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplp+fmpnp,f-fopppqprpspyk.ftp/f:f;f=f?fupvpwpxpypzk@f[f]f^fAkWr_fXrBkCkDkzpApBpCpDpEpFp`f{fYr|fEkFkGkHkIkGpJkHp}f~fagKkIpbgLkMkNkOkcgPkQkRkSkTkUkVkJpKpLpdgegMpNpOpZrfgPpQp0rRpSp1rggTpWkcbVgWgXgXkYkZk0k1k2k3k4kUp2rhgigjgkglgmg3rngogpgqgrg5kVp6ksgtgug4rvgwgxgWpygzgXp5r6rAgBgYpZp0p1pCg7rDgEgFg
265 return {}, get_model_definitions(flat_models=models, model_name_map=model_name_map) 2dbeb@kLqfbgbMhhbibNhOhjbMq[kkblb]kmbPhnbobNqpbq r s t u v w qb^k6 rbQhRhsbtbSh7 ub8 Th_kOqPq`kUh{kVhvbwbxbybzbWhXhYhAb9 BbCbDbEbg Qq|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlFbsltlGbHbulvlwlxlylZhIbzlJbKbLbMbNbAlBlClDlEl0hObPbQbRb1hRqSbSq2h3h4hFlGlHlIlJlKlLlTbUbTqVb5h6h7h8h9hMl!hNlWbXbYb#hOlZb$h%h'h(h0b)h*h+h,h-h.h/hPlQlRl1b2bSlTlUlUq3bVlWlVqXlYlWq4bZl:h! GgHgIg;h=h?h@h[h]h^h_h0lXq5b6b7b8b9b!bYq#b$b%b'b(b`h1l{h)b*b+bZq,b-b.b2l/b:b3l0q1q;b=b4l5l6l7l?b2q@b[b]b^b_b8l3q`b{b|h|b}b}h~h~b4q9lacbc!lccaidcec5qfcx y z A B C D gc#l# hcbiciicjcdi$ kc% ei$l6q7q%lfi'lgilcmcncocpchiiijiqc' rcsctcuch 8q(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}lvc~lamwcxcbmcmdmemfmkiycgmzcAcBcCcDchmimjmkmlmliEcFcGcHcmi9qIc!qnioipimmnmompmqmrmsmJcKc#qLcqirisitiuitmviumMcNcOcwivmPcxiyiziAiQcBiCiDiEiFiGiHiwmxmymRcSczmAmBm$qTcCmDm%qEmFm'qUcGmIi( JgKgLgJiKiLiMiNiOiPiQiHm(qVcWcXcYcZc0c)q1c2c3c4c5cRiImSi6c7c8c*q9c!c#cJm$c%cKm+q,q'c(cLmMmNmOm)c-q*c+c,c-c.cPm.q/c:cTi;c=cUiVi?c/qQm@c[cRm]cWi^c_c:q`cE F G H I J K {cSm) |cXiYi}c~cZi* ad+ 0iTm;q=qUm1iVm2ibdcdddedfdi , 3i4i5igd- hdidjdkd?qj @qWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%m'm(m)mld*m+mmdnd,m-m.m/m:m6iod;mpdqdrdsdtd=m?m@m[m]m7iudvdwdxd8i[qyd]q9i!i#i^m_m`m{m|m}m~mzdAd^qBd$i%i'i(i)ian*ibnCdDdEd+icnFd,i-i.i/iGd:i;i=i?i@i[i]idnenfnHdIdgnhnin_qJdjnkn`qlnmn{qKdnn^i. MgNgOg_i`i{i|i}i~iajbjon|qLdMdNdOdPdQd}qRdSdTdUdVdcjpndjWdXdYd~qZd0d1dqn2d3drnarbr4d5dsntnunvn6dcr7d8d9d!d#dwndr$d%dej'd(dfjgj)derxn*d+dyn,dhj-d.dfr/dL M N O P Q R :dzn/ ;dijjj=d?dkj: @d; ljAngrhrBnmjCnnj[d]d^d_d`dk = ojpjqj{d? |d}d~daeirl jrDnEnFnGnHnInJnKnLnMnNnOnPnQnRnSnTnUnVnWnXnbeYnZncede0n1n2n3n4nrjee5nfegeheieje6n7n8n9n!nsjkelemenetjkroelrujvjwj#n$n%n'n(n)n*npeqemrrexjyjzjAjBj+nCj,nseteueDj-nveEjFjGjHjweIjJjKjLjMjNjOj.n/n:nxeye;n=n?nnrze@n[nor]n^nprAe_nPj@ PgQgRgQjRjSjTjUjVjWjXj`nqrBeCeDeEeFeGerrHeIeJeKeLeYj{nZjMeNeOesrPeQeRe|nSeTe}ntrurUeVe~naobocoWevrXeYeZe0e1edowr2e3e0j4e5e1j2j6exreo7e8efo9e3j!e#eyr$eS T U V W X Y %ego[ 'e4j5j(e)e6j] *e^ 7jhozrArio8jjo9j+e,e-e.e/em _ !j#j$j:e` ;e=e?e@eBrn CrkolomonooopoqorosotouovowoxoyozoAoBoCoDoEo[eFoGo]e^eHoIoJoKoLo%j_eMo`e{e|e}e~eNoOoPoQoRo'jafbfcfdf(jDrefEr)j*j+jSoToUoVoWoXoYoffgfFrhf,j-j.j/j:jZo;j0oifjfkf=j1olf?j@j[j]jmf^j_j`j{j|j}j~j2o3o4onfof5o6o7oGrpf8o9oHr!o#oIrqf$oak{ SgTgUgbkckdkekfkgkhkik%oJrrfsftfufvfwfKrxfyfzfAfBfjk'okkCfDfEfLrFfGfHf(oIfJf)oMrNrKfLf*o+o,o-oMfOrNfOfPfQfRf.oPrSfTflkUfVfmknkWfQr/oXfYf:oZfok0f1fRr2fZ 0 1 2 3 4 5 3f;o| 4fpkqk5f6frk} 7f~ sk=oSrTr?otk@ouk8f9f!f#f$fo abvkwkxk%fbb'f(f)f*fUrp Vr[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplp+fmpnp,f-fopppqprpspyk.ftp/f:f;f=f?fupvpwpxpypzk@f[f]f^fAkWr_fXrBkCkDkzpApBpCpDpEpFp`f{fYr|fEkFkGkHkIkGpJkHp}f~fagKkIpbgLkMkNkOkcgPkQkRkSkTkUkVkJpKpLpdgegMpNpOpZrfgPpQp0rRpSp1rggTpWkcbVgWgXgXkYkZk0k1k2k3k4kUp2rhgigjgkglgmg3rngogpgqgrg5kVp6ksgtgug4rvgwgxgWpygzgXp5r6rAgBgYpZp0p1pCg7rDgEgFg
268def is_scalar_field(field: ModelField) -> bool: 1abcdef
269 return is_pv1_scalar_field(field) 2a 7k8k9k6g2p7g8g3p9g!g4p#g5p$g%g6p'g:s;s=s?s@s[s]s^g_g`gYg!kg 7p8p9p!p#p$p%p'p8r9r(gb #k$k%k)g(p*g+g)p,g-g*p.g+p/g:g,p;g^s_s`s{s|s}s~s{g|g}gZg'kh -p.p/p:p;p=p?p@p!r#r=gc [p]p^p~g$rahbh%rchdh'reh(rfhgh)rhh)t*t+t,t-t.t/t(k)k*k?g, _p`p{p|pj *r+r,r-r.r/r:r;ratbtihd }p~paqjh=rkhlh?rmhnh@roh[rphqh]rrh:t;t=t?t@t[t]t+k,k-k@g= bqcqdqeql ^r_r`r{r|r}r~rasctdtshe fqgqhqthbsuhvhcswhxhdsyheszhAhfsBh^t_t`t{t|t}t~t.k/k:k[g_ iqjqkqlqn gshsisjskslsmsnsetftChf mqnqoqosDhEhpsFhGhqsHhrsIhJhssKhaubucudueufugu;k=k?k]gabpqqqrqsqp tsusvswsxsyszsAsgthtLh
272def is_sequence_field(field: ModelField) -> bool: 1abcdef
273 return field.shape in sequence_shapes or shared._annotation_is_sequence(field.type_) 2tTuTvTwTxT7k(u8k9kyTzTATBT}I~IaJbJCTDTEThAFTGTHTITJTKTLTMTNTOT,y-y)u*u.ytqPT+uQTRT,uSTTT2p7g8g3p9g!g4p#g5p$g%g6p'g-uUTVT.uWTXTYTZT/u0T1TjA2T3T4T5TkA6T/y:uOxPx:ycJdJeJfJQxRxhugJhJiuiJ7T8T9T!T#T$T%T'T(T)T*T+T,TSxlA-T;u;y.T/T:T;T=T?T@T[T]T^T_T`T{T|T}T~TaUbUcUdUeUfUgUhUiUjUkUlUmUnUoUpUqUrUsUtUuUvUwUxUyUzUAUBUCUDUEUFUGUHUIUJUKULUMUNUOUPUQURUSUTUUUVUWUXUYUZU0U1U2U3U4U5U6U7U8U9U!U#U$U%U=u'U?u(U)U*U@u+U,U-U.U/U:U;U=U?U[u]u@U[U]U^U_U^u_u`U{U|U}U1A2A3ATx4A~UaVbVcVdVeVfVjJgV`uhV{uiVUxVxjVkVlV!kkJlJitjtmJnJktltmtoJpJntmVnVoVpVqVrVsVtVuVqJrJkBvVlBwVmBxVnByVzVAVBVCVDV|uEVFVGV}u~uHVIVavbvJVKVcvdvLVevMVfvNVgvOVPVhvQVoBpBqBRVSVTVivjvrBsBtBUVVVWVWxuBvBXVXxwBYVZV0V1V2VxB3V4V5V6Vkv7V8V9V!V#V$V%V'V(V)V*V+V,V-V.V/Vlvmv:V;V=V?V@VyBzB[V]V^V_V`V{V|V}V~VaWbWcWYxABBBdWZxCBeWfW0xDBEBgWhWiWjWkWlWmWnWoWpWqWrW1xHBIBsW2xJBtWuWvWnvwWovxWyWzWAWBWCWDWEWFWGWHWIWBssJCstJ=yuJ?y@y[yvJ]yDspvEs^yqv_yjuwJxJyJzJAJkuBJCJDJEJFJotptqtrtFsGs`yHsIsJWKWLWMWNWMBNBOBPBQBRBSBTBGJHJIJluJJKJmunuoupuqu3x4x7p5x8pOWPW9p!p#p$p%p'pQWRWSWTWUWVWLJMJ6x7xWBWW(gXWYWZW0W1W2W#krv$k%k3W4W5W6WNJOJPJQJ7W8W9WYB!W#W$W%W'W(W)W*W+W,W{y|ysvtv}yuq-Wuv.W/Wvv:W;W(p*g+g)p,g-g*p.g+p/g:g,p;gwv=W?Wxv@W[W]W^Wyv_W`W0B{W|W}W~W1BaX~yzv8x9xazRJSJTJUJ!x#xruVJWJsuXJbXcXdXeXfXgXhXiXjXkXlXmXnX$x2BoXAvbzpXqXrXsXtXuXvXwXxXyXzXAXBXCXDXEXFXGXHXIXJXKXLXMXNXOXPXQXRXSXTXUXVXWXXXYXZX0X1X2X3X4X5X6X7X8X9X!X#X$X%X'X(X)X*X+X,X-X.X/X:X;X=X?X@X[X]X^X_X`X{X|X}X~XaYbYcYdYeYfYgYhYBviYCvjYkYlYDvmYnYoYpYqYrYsYtYuYEvFvvYwYxYyYzYGvHvAYBYCYDYhCiCjC%xkCEYFYGYHYIYJYKYYJLYIvMYJvNY'x(xOYPYQY'kZJ0Jsttt1J2Jutvtwt3J4JxtRYSYTYUYVYWYXYYYZY5J6J1C0Y2C1Y3C2Y4C3Y4Y5Y6Y7Y8YKv9Y!Y#YLvMv$Y%YNvOv'Y(YPvQv)YRv*YSv+YTv,Y-YUv.Y5C6C7C/Y:Y;YVvWv8C9C!C=Y?Y@Y)x#C$C[Y*x%C]Y^Y_Y`Y{Y'C|Y}Y~YaZXvbZcZdZeZfZgZhZiZjZkZlZmZnZoZpZqZYvZvrZsZtZuZvZ(C)CwZxZyZzZAZBZCZDZEZFZGZHZ+x*C+CIZ,x,CJZKZ-x-C.CLZMZNZOZPZQZRZSZTZUZVZWZ.x;C=CXZ/x?CYZZZ0Z0v1Z1v2Z3Z4Z5Z6Z7Z8Z9Z!Z#Z$Z%ZJs7JKs8Jcz9Jdzezfz!JgzLs2vMshz3viztu#J$J%J'J(Juu)J*J+J,J-JytztAtBtNsOsjzPsQs'Z(Z)Z*Z+Z]C^C_C`C{C|C}C~C.J/J:Jvu;J=JwuxuyuzuAu:x;x-p=x.p,Z-Z/p:p;p=p?p@p.Z/Z:Z;Z=Z?Z@Z?J@J?x@xcD[Z=g]Z^Z_Z`Z{Z|Z[p4v]p^p}Z~Za0b0[J]J^J_Jc0d0e0eDf0g0h0i0j0k0l0m0n0o0kzlz5v6vmzvqp07vq0r08vs0t0$rahbh%rchdh'reh(rfhgh)rhh9vu0v0!vw0x0y0z0#vA0B0gDC0D0E0F0hDG0nz$v[x]xoz`J{J|J}J^x_xBu~JaKCubKH0I0J0K0L0M0N0O0P0Q0R0S0T0`xiDU0%vpzV0W0X0Y0Z000102030405060708090!0#0$0%0'0(0)0*0+0,0-0.0/0:0;0=0?0@0[0]0^0_0`0{0|0}0~0a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1A1B1C1D1E1F1G1H1I1J1K1L1M1N1'vO1(vP1Q1R1)vS1T1U1V1W1X1Y1Z101*v+v1121314151,v-v61718191YDZD0D{x1Dwqxqyq_p`p{p!1#1$1%1'1(1)1cK*1.v+1/v,1|x}x-1.1/1|pdKeKCtDtfKgKEtFtGthKiKHt:1;1=1?1@1[1]1^1_1jKkKhE`1iE{1jE|1kE}1~1a2b2c2d2:ve2f2g2;v=vh2i2?v@vj2k2[v]vl2^vm2_vn2`vo2p2{vq2lEmEnEr2s2t2|v}voEpEqEu2v2w2~xrEsEx2aytEy2z2A2B2C2uED2E2F2G2~vH2I2J2K2L2M2N2O2P2Q2R2S2T2U2V2W2awbwX2Y2Z20212vEwE2232425262728292!2#2$2%2byxEyE'2cyzE(2)2dyAEBE*2+2,2-2.2/2:2;2=2?2@2[2eyEEFE]2fyGE^2_2`2cw{2dw|2}2~2a3b3c3d3e3f3g3h3i3RslKSsmKqznKrzsztzoKuzTsewUsvzfwwzDupKqKrKsKtKEuuKvKwKxKyKItJtKtLtVsWsxzXsYsj3k3l3m3n3JEKELEMENEOEPEQEzKAKBKFuCKDKGuHuIuJuKugyhy*riy+ro3p3,r-r.r/r:r;rq3r3s3t3u3v3w3EKFKjykyTEx3ihy3z3A3B3C3D3}pgw~paqE3F3G3H3GKHKIKJKI3J3K3VEL3M3N3O3P3Q3R3S3T3U3yzzzhwiwAzzqV3jwW3X3kwY3Z3=rkhlh?rmhnh@roh[rphqh]rrhlw0313mw23334353nw6373XE8393!3#3YE$3BzowlymyCzKKLKMKNKnyoyLuOKPKMuQK%3'3(3)3*3+3,3-3.3/3:3;3=3pyZE?3pwDz@3[3]3^3_3`3{3|3}3~3a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z404142434445464748494!4#4$4%4'4(4)4*4+4,4qw-4rw.4/4:4sw;4=4?4@4[4]4^4_4`4twuw{4|4}4~4a5vwwwb5c5d5e5eFfFgFqyhFAqBqCqbqcqdqf5g5h5i5j5k5l5RKm5xwn5ywo5rysyp5q5r5eqSKTKMtNtUKVKOtPtQtWKXKRts5t5u5v5w5x5y5z5A5YKZKYFB5ZFC50FD51FE5F5G5H5I5J5zwK5L5M5AwBwN5O5CwDwP5Q5EwFwR5GwS5HwT5IwU5V5JwW52F3F4FX5Y5Z5KwLw5F6F7F051525ty8F9F35uy!F4555657585#F95!5#5$5Mw%5'5(5)5*5+5,5-5.5/5:5;5=5?5@5[5NwOw]5^5_5`5{5$F%F|5}5~5a6b6c6d6e6f6g6h6i6vy'F(Fj6wy)Fk6l6xy*F+Fm6n6o6p6q6r6s6t6u6v6w6x6yy.F/Fy6zy:Fz6A6B6PwC6QwD6E6F6G6H6I6J6K6L6M6N6O6Zs0K0s1KEz2KFzGzHz3KIz1sRw2sJzSwKzNu4K5K6K7K8KOu9K!K#K$K%KStTtUtVt3s4sLz5s6sP6Q6R6S6T6?F@F[F]F^F_F`F{F'K(K)KPu*K+KQuRuSuTuUuAyBy^rCy_rU6V6`r{r|r}r~rasW6X6Y6Z6061626,K-KDyEy~F36sh465666768696fqTwgqhq!6#6$6%6.K/K:K;K'6(6)6bG*6+6,6-6.6/6:6;6=6?6MzNzUwVwOzDq@6Ww[6]6Xw^6_6bsuhvhcswhxhdsyheszhAhfsBhYw`6{6Zw|6}6~6a70wb7c7dGd7e7f7g7eGh7Pz1wFyGyQz=K?K@K[KHyIyVu]K^KWu_Ki7j7k7l7m7n7o7p7q7r7s7t7u7JyfGv72wRzw7x7y7z7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z707172737475767778797!7#7$7%7'7(7)7*7+7,7-7.7/7:7;7=7?7@7[7]7^7_7`7{7|7}7~7a8b8c8d8e8f8g8h8i8j8k8l8m8n8o83wp84wq8r8s85wt8u8v8w8x8y8z8A8B86w7wC8D8E8F8G88w9wH8I8J8K8VGWGXGKyYGEqFqGqiqjqkqL8M8N8O8P8Q8R8`KS8!wT8#wU8LyMyV8W8X8lq{K|KWtXt}K~KYtZt0taLbL1tY8Z808182838485868cLdLeH78fH88gH98hH!8#8$8%8'8(8$w)8*8+8%w'w,8-8(w)w.8/8*w+w:8,w;8-w=8.w?8@8/w[8iHjHkH]8^8_8:w;wlHmHnH`8{8|8NyoHpH}8OyqH~8a9b9c9d9rHe9f9g9h9=wi9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9?w@wy9z9A9B9C9sHtHD9E9F9G9H9I9J9K9L9M9N9O9PyuHvHP9QywHQ9R9RyxHyHS9T9U9V9W9X9Y9Z909192939SyBHCH49TyDH596979[w89]w99!9#9$9%9'9(9)9*9+9,9-97seL8sfLSzgLTzUzVzhLWz9s^w!sXz_wYzXuiLjLkLlLmLYunLoLpLqLrL2t3t4t5t#s$sZz%s's.9/9:9;9=9GHHHIHJHKHLHMHNHsLtLuLZuvLwL0u1u2u3u4uUyVygsWyhs?9@9isjskslsmsns[9]9^9_9`9{9|9xLyLXyYyQH}9Ch~9a!b!c!d!e!mq`wnqoqf!g!h!i!zLALBLCLj!k!l!SHm!n!o!p!q!r!s!t!u!v!0z1z{w|w2zHqw!}wx!y!~wz!A!osDhEhpsFhGhqsHhrsIhJhssKhaxB!C!bxD!E!F!G!cxH!I!UHJ!K!L!M!VHN!3zdxZy0y4zDLELFLGL1y2y5uHLIL6uJLO!P!Q!R!S!T!U!V!W!X!Y!Z!0!3yWH1!ex5z2!3!4!5!6!7!8!9!!!#!$!%!'!(!)!*!+!,!-!.!/!:!;!=!?!@![!]!^!_!`!{!|!}!~!a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O#P#Q#R#S#T#U#fxV#gxW#X#Y#hxZ#0#1#2#3#4#5#6#7#ixjx8#9#!###$#kxlx%#'#(#)#bIcIdI4yeIIqJqKqpqqqrq*#+#,#-#.#/#:#KL;#mx=#nx?#5y6y@#[#]#sqLLML6t7tNLOL8t9t!tPLQL#t^#_#`#{#|#}#~#a$b$RLSLVIc$WId$XIe$YIf$g$h$i$j$k$oxl$m$n$pxqxo$p$rxsxq$r$txuxs$vxt$wxu$xxv$w$yxx$ZI0I1Iy$z$A$zxAx2I3I4IB$C$D$7y5I6IE$8y7IF$G$H$I$J$8IK$L$M$N$BxO$P$Q$R$S$T$U$V$W$X$Y$Z$0$1$2$3$CxDx4$5$6$7$8$9I!I9$!$#$$$%$'$($)$*$+$,$-$9y#I$I.$!y%I/$:$#y'I(I;$=$?$@$[$]$^$_$`${$|$}$$y+I,I~$%y-Ia%b%c%Exd%Fxe%f%g%h%i%j%k%l%m%n%o%p%(sTL)sUL6zVL7z8z9zWL!z*sGx+s#zHx$z7uXLYLZL0L1L8u2L3L4L5L6L$t%t't(t,s-s%z.s/sq%r%s%t%u%:I;I=I?I@I[I]I^I7L8L9L9u!L#L!u#u$u%u'u'y(yts)yusv%w%vswsxsyszsAsx%y%z%A%B%C%D%$L%L*y+y{IE%LhF%
276def is_scalar_sequence_field(field: ModelField) -> bool: 1abcdef
277 return is_pv1_scalar_sequence_field(field) 2a ^g_g`gYgb {g|g}gZgc (k)k*k?gd +k,k-k@ge .k/k:k[gf ;k=k?k]g
280def is_bytes_field(field: ModelField) -> bool: 1abcdef
281 return lenient_issubclass(field.type_, bytes) # type: ignore[no-any-return] 2,y-y)u*u.ytq/y:u:y;u;yBssJCstJ=yuJ?y@y[yvJ]yDspvEs^yqv_yFsGs`yHsIs{y|ysvtv}yuq~yzvazAvbzJs7JKs8Jcz9Jdzezfz!JgzLs2vMshz3vizNsOsjzPsQskzlz5v6vmzvqnz$voz%vpzRslKSsmKqznKrzsztzoKuzTsewUsvzfwwzVsWsxzXsYsyzzzhwiwAzzqBzowCzpwDzZs0K0s1KEz2KFzGzHz3KIz1sRw2sJzSwKz3s4sLz5s6sMzNzUwVwOzDqPz1wQz2wRz7seL8sfLSzgLTzUzVzhLWz9s^w!sXz_wYz#s$sZz%s's0z1z{w|w2zHq3zdx4zex5z(sTL)sUL6zVL7z8z9zWL!z*sGx+s#zHx$z,s-s%z.s/s
284def is_bytes_sequence_field(field: ModelField) -> bool: 1abcdef
285 return field.shape in sequence_shapes and lenient_issubclass(field.type_, bytes) 2}I~IaJbJ,y-y)u*u.ytq/y:u:ycJdJeJfJQxRxhugJhJiuiJ;u;ykJlJitjtmJnJktltmtoJpJntqJrJBsCs=y?y@y[y]yDspvEs^yqv_yjuwJxJyJzJAJkuBJCJDJEJFJotptqtrtFsGs`yHsIsGJHJIJluJJKJmunuoupuquLJMJ6x7xNJOJPJQJ{y|ysvtv}yuq~yzvazRJSJTJUJ!x#xruVJWJsuXJAvbzZJ0Jsttt1J2Jutvtwt3J4Jxt5J6JJsKsczdzezfzgzLs2vMshz3viztu#J$J%J'J(Juu)J*J+J,J-JytztAtBtNsOsjzPsQs.J/J:Jvu;J=JwuxuyuzuAu?J@J?x@x[J]J^J_Jkzlz5v6vmzvqnz$voz`J{J|J}J^x_xBu~JaKCubK%vpzwqxqyqdKeKCtDtfKgKEtFtGthKiKHtjKkKRsSsqzrzsztzuzTsewUsvzfwwzDupKqKrKsKtKEuuKvKwKxKyKItJtKtLtVsWsxzXsYszKAKBKFuCKDKGuHuIuJuKuEKFKjykyGKHKIKJKyzzzhwiwAzzqBzowCzKKLKMKNKnyoyLuOKPKMuQKpwDzAqBqCqSKTKMtNtUKVKOtPtQtWKXKRtYKZKZs0sEzFzGzHzIz1sRw2sJzSwKzNu4K5K6K7K8KOu9K!K#K$K%KStTtUtVt3s4sLz5s6s'K(K)KPu*K+KQuRuSuTuUu,K-KDyEy.K/K:K;KMzNzUwVwOzDqPz1wQz=K?K@K[KHyIyVu]K^KWu_K2wRzEqFqGq{K|KWtXt}K~KYtZt0taLbL1tcLdL7s8sSzTzUzVzWz9s^w!sXz_wYzXuiLjLkLlLmLYunLoLpLqLrL2t3t4t5t#s$sZz%s'ssLtLuLZuvLwL0u1u2u3u4uxLyLXyYyzLALBLCL0z1z{w|w2zHq3zdx4zDLELFLGL1y2y5uHLIL6uJLex5zIqJqKqLLML6t7tNLOL8t9t!tPLQL#tRLSL(s)s6z7z8z9z!z*sGx+s#zHx$z7uXLYLZL0L1L8u2L3L4L5L6L$t%t't(t,s-s%z.s/s7L8L9L9u!L#L!u#u$u%u'u$L%L*y+y
288def copy_field_info(*, field_info: FieldInfo, annotation: Any) -> FieldInfo: 1abcdef
289 return copy(field_info) 2a 7kG%8k9kb #kH%$k%kc [pI%]p^pwqi xqyq, _p`p{pd }pJ%~paqAqk BqCq= bqcqdqe fqK%gqhqEqm FqGq_ iqjqkqf mqL%nqoqIqo JqKqabpqqqrq
292def serialize_sequence_value(*, field: ModelField, value: Any) -> Sequence[Any]: 1abcdef
293 return sequence_shape_to_type[field.shape](value) # type: ignore[no-any-return] 2)u*u:u;upvqvsvtvzvAv2v3v5v6v$v%vewfwhwiwowpwRwSwUwVw1w2w^w_w{w|wdxexGxHx
296def get_missing_field_error(loc: Tuple[str, ...]) -> Dict[str, Any]: 1abcdef
297 missing_field_error = ErrorWrapper(MissingError(), loc=loc) 2(u'z(z+u,u7g8g9g!g#g$g%g'g-u.u/u=u?u@u[u]u^u_u)z*z`u{uitjtktltmtnt|u}u~uavbvcvdvevfvgvhv+zivjvkvlvmvnvovBsCsDsEsotptqtrtFsGsHsIs(grv,z-zuvvv*g+g,g-g.g/g:g;gwvxvyvBvCvDvEvFvGvHv.z/zIvJvstttutvtwtxtKvLvMvNvOvPvQvRvSvTvUv:zVvWvXvYvZv0v1vJsKsLsMsytztAtBtNsOsPsQs=g4v;z=z7v8vahbhchdhehfhghhh9v!v#v'v(v)v*v+v,v-v?z@z.v/vCtDtEtFtGtHt:v;v=v?v@v[v]v^v_v`v{v[z|v}v~vawbwcwdwRsSsTsUsItJtKtLtVsWsXsYsihgw]z^zjwkwkhlhmhnhohphqhrhlwmwnwqwrwswtwuwvwww_z`zxwywMtNtOtPtQtRtzwAwBwCwDwEwFwGwHwIwJw{zKwLwMwNwOwPwQwZs0s1s2sStTtUtVt3s4s5s6sshTw|z}zWwXwuhvhwhxhyhzhAhBhYwZw0w3w4w5w6w7w8w9w~zaA!w#wWtXtYtZt0t1t$w%w'w(w)w*w+w,w-w.w/wbA:w;w=w?w@w[w]w7s8s9s!s2t3t4t5t#s$s%s'sCh`wcAdA}w~wDhEhFhGhHhIhJhKhaxbxcxfxgxhxixjxkxlxeAfAmxnx6t7t8t9t!t#toxpxqxrxsxtxuxvxwxxxyxgAzxAxBxCxDxExFx(s)s*s+s$t%t't(t,s-s.s/sLh
298 new_error = ValidationError([missing_field_error], RequestErrorModel) 2(u'z(z+u,u7g8g9g!g#g$g%g'g-u.u/u=u?u@u[u]u^u_u)z*z`u{uitjtktltmtnt|u}u~uavbvcvdvevfvgvhv+zivjvkvlvmvnvovBsCsDsEsotptqtrtFsGsHsIs(grv,z-zuvvv*g+g,g-g.g/g:g;gwvxvyvBvCvDvEvFvGvHv.z/zIvJvstttutvtwtxtKvLvMvNvOvPvQvRvSvTvUv:zVvWvXvYvZv0v1vJsKsLsMsytztAtBtNsOsPsQs=g4v;z=z7v8vahbhchdhehfhghhh9v!v#v'v(v)v*v+v,v-v?z@z.v/vCtDtEtFtGtHt:v;v=v?v@v[v]v^v_v`v{v[z|v}v~vawbwcwdwRsSsTsUsItJtKtLtVsWsXsYsihgw]z^zjwkwkhlhmhnhohphqhrhlwmwnwqwrwswtwuwvwww_z`zxwywMtNtOtPtQtRtzwAwBwCwDwEwFwGwHwIwJw{zKwLwMwNwOwPwQwZs0s1s2sStTtUtVt3s4s5s6sshTw|z}zWwXwuhvhwhxhyhzhAhBhYwZw0w3w4w5w6w7w8w9w~zaA!w#wWtXtYtZt0t1t$w%w'w(w)w*w+w,w-w.w/wbA:w;w=w?w@w[w]w7s8s9s!s2t3t4t5t#s$s%s'sCh`wcAdA}w~wDhEhFhGhHhIhJhKhaxbxcxfxgxhxixjxkxlxeAfAmxnx6t7t8t9t!t#toxpxqxrxsxtxuxvxwxxxyxgAzxAxBxCxDxExFx(s)s*s+s$t%t't(t,s-s.s/sLh
299 return new_error.errors()[0] # type: ignore[return-value] 2(u'z(z+u,u7g8g9g!g#g$g%g'g-u.u/u=u?u@u[u]u^u_u)z*z`u{uitjtktltmtnt|u}u~uavbvcvdvevfvgvhv+zivjvkvlvmvnvovBsCsDsEsotptqtrtFsGsHsIs(grv,z-zuvvv*g+g,g-g.g/g:g;gwvxvyvBvCvDvEvFvGvHv.z/zIvJvstttutvtwtxtKvLvMvNvOvPvQvRvSvTvUv:zVvWvXvYvZv0v1vJsKsLsMsytztAtBtNsOsPsQs=g4v;z=z7v8vahbhchdhehfhghhh9v!v#v'v(v)v*v+v,v-v?z@z.v/vCtDtEtFtGtHt:v;v=v?v@v[v]v^v_v`v{v[z|v}v~vawbwcwdwRsSsTsUsItJtKtLtVsWsXsYsihgw]z^zjwkwkhlhmhnhohphqhrhlwmwnwqwrwswtwuwvwww_z`zxwywMtNtOtPtQtRtzwAwBwCwDwEwFwGwHwIwJw{zKwLwMwNwOwPwQwZs0s1s2sStTtUtVt3s4s5s6sshTw|z}zWwXwuhvhwhxhyhzhAhBhYwZw0w3w4w5w6w7w8w9w~zaA!w#wWtXtYtZt0t1t$w%w'w(w)w*w+w,w-w.w/wbA:w;w=w?w@w[w]w7s8s9s!s2t3t4t5t#s$s%s'sCh`wcAdA}w~wDhEhFhGhHhIhJhKhaxbxcxfxgxhxixjxkxlxeAfAmxnx6t7t8t9t!t#toxpxqxrxsxtxuxvxwxxxyxgAzxAxBxCxDxExFx(s)s*s+s$t%t't(t,s-s.s/sLh
302def create_body_model( 1abcdef
303 *, fields: Sequence[ModelField], model_name: str
304) -> Type[BaseModel]:
305 BodyModel = create_model(model_name) 2a tqq r s t u v w Ixb uqx y z A B C D Jxc vqE F G H I J K Kxwqi xqyqd zqL M N O P Q R LxAqk BqCqe DqS T U V W X Y MxEqm FqGqf HqZ 0 1 2 3 4 5 NxIqo JqKq
306 for f in fields: 2a tqq r s t u v w Ixb uqx y z A B C D Jxc vqE F G H I J K Kxwqi xqyqd zqL M N O P Q R LxAqk BqCqe DqS T U V W X Y MxEqm FqGqf HqZ 0 1 2 3 4 5 NxIqo JqKq
307 BodyModel.__fields__[f.name] = f # type: ignore[index] 2a tqq r s t u v w Ixb uqx y z A B C D Jxc vqE F G H I J K Kxwqi xqyqd zqL M N O P Q R LxAqk BqCqe DqS T U V W X Y MxEqm FqGqf HqZ 0 1 2 3 4 5 NxIqo JqKq
308 return BodyModel 2a tqq r s t u v w Ixb uqx y z A B C D Jxc vqE F G H I J K Kxwqi xqyqd zqL M N O P Q R LxAqk BqCqe DqS T U V W X Y MxEqm FqGqf HqZ 0 1 2 3 4 5 NxIqo JqKq
311def get_model_fields(model: Type[BaseModel]) -> List[ModelField]: 1abcdef
312 return list(model.__fields__.values()) # type: ignore[attr-defined] 2M%6ghuiuTxjJWxXxYxZx0x1x2xjukuN%)grusu%xYJ)x*x+x,x-x.x/xtuuuO%~gBuCu{xcK~xaybycydyeyfyDuEuP%jhLuMuqyRKtyuyvywyxyyyzyNuOuQ%thVuWuKy`KNyOyPyQyRySyTyXuYu5u6u4yKL7y8y9y!y#y$y%y7u8u