Coverage for fastapi / _compat / v2.py: 100%

200 statements  

« prev     ^ index     » next       coverage.py v7.13.3, created at 2026-02-21 17:29 +0000

1import re 1abcd

2import warnings 1abcd

3from collections.abc import Sequence 1abcd

4from copy import copy 1abcd

5from dataclasses import dataclass, is_dataclass 1abcd

6from enum import Enum 1abcd

7from functools import lru_cache 1abcd

8from typing import ( 1abcd

9 Annotated, 

10 Any, 

11 Literal, 

12 Union, 

13 cast, 

14 get_args, 

15 get_origin, 

16) 

17 

18from fastapi._compat import lenient_issubclass, shared 1abcd

19from fastapi.openapi.constants import REF_TEMPLATE 1abcd

20from fastapi.types import IncEx, ModelNameMap, UnionType 1abcd

21from pydantic import BaseModel, ConfigDict, Field, TypeAdapter, create_model 1abcd

22from pydantic import PydanticSchemaGenerationError as PydanticSchemaGenerationError 1abcd

23from pydantic import PydanticUndefinedAnnotation as PydanticUndefinedAnnotation 1abcd

24from pydantic import ValidationError as ValidationError 1abcd

25from pydantic._internal._schema_generation_shared import ( # type: ignore[attr-defined] 1abcd

26 GetJsonSchemaHandler as GetJsonSchemaHandler, 

27) 

28from pydantic._internal._typing_extra import eval_type_lenient 1abcd

29from pydantic.fields import FieldInfo as FieldInfo 1abcd

30from pydantic.json_schema import GenerateJsonSchema as _GenerateJsonSchema 1abcd

31from pydantic.json_schema import JsonSchemaValue as JsonSchemaValue 1abcd

32from pydantic_core import CoreSchema as CoreSchema 1abcd

33from pydantic_core import PydanticUndefined 1abcd

34from pydantic_core import Url as Url 1abcd

35from pydantic_core.core_schema import ( 1abcd

36 with_info_plain_validator_function as with_info_plain_validator_function, 

37) 

38 

39RequiredParam = PydanticUndefined 1abcd

40Undefined = PydanticUndefined 1abcd

41evaluate_forwardref = eval_type_lenient 1abcd

42 

43 

44class GenerateJsonSchema(_GenerateJsonSchema): 1abcd

45 # TODO: remove when this is merged (or equivalent): https://github.com/pydantic/pydantic/pull/12841 

46 # and dropping support for any version of Pydantic before that one (so, in a very long time) 

47 def bytes_schema(self, schema: CoreSchema) -> JsonSchemaValue: 1abcd

48 json_schema = {"type": "string", "contentMediaType": "application/octet-stream"} 2dbebfb=cU ?cgb@chbib[cjbkblb]cV ^cmb_cnbob`cgchcic2d- 3djc4dkclc5d

49 bytes_mode = ( 2dbebfb=cU ?cgb@chbib[cjbkblb]cV ^cmb_cnbob`cgchcic2d- 3djc4dkclc5d

50 self._config.ser_json_bytes 

51 if self.mode == "serialization" 

52 else self._config.val_json_bytes 

53 ) 

54 if bytes_mode == "base64": 2dbebfb=cU ?cgb@chbib[cjbkblb]cV ^cmb_cnbob`cgchcic2d- 3djc4dkclc5d

55 json_schema["contentEncoding"] = "base64" 1UV-

56 self.update_with_validations(json_schema, schema, self.ValidationsMapping.bytes) 2dbebfb=cU ?cgb@chbib[cjbkblb]cV ^cmb_cnbob`cgchcic2d- 3djc4dkclc5d

57 return json_schema 2dbebfb=cU ?cgb@chbib[cjbkblb]cV ^cmb_cnbob`cgchcic2d- 3djc4dkclc5d

58 

59 

60# TODO: remove when dropping support for Pydantic < v2.12.3 

61_Attrs = { 1abcd

62 "default": ..., 

63 "default_factory": None, 

64 "alias": None, 

65 "alias_priority": None, 

66 "validation_alias": None, 

67 "serialization_alias": None, 

68 "title": None, 

69 "field_title_generator": None, 

70 "description": None, 

71 "examples": None, 

72 "exclude": None, 

73 "exclude_if": None, 

74 "discriminator": None, 

75 "deprecated": None, 

76 "json_schema_extra": None, 

77 "frozen": None, 

78 "validate_default": None, 

79 "repr": True, 

80 "init": None, 

81 "init_var": None, 

82 "kw_only": None, 

83} 

84 

85 

86# TODO: remove when dropping support for Pydantic < v2.12.3 

87def asdict(field_info: FieldInfo) -> dict[str, Any]: 1abcd

88 attributes = {} 2a {c6d|cW pb_d}c!h|h}hleBn(m)mfjHjIjAdBdgj*m~cajhjijJjjjkjKjljLjmjnjMjoj+mIoPe#b. Pisixee f g h i j k 7dqb`dCnDnEnFnGnHnInJnKnLnMn8hyemc,mF nc7e-mNn.mG s /m:mQi;miiK ti#h5e~huiRiCd:iocpcqc8dQe*edbebfb=c$h%h4hrc'hviwiaiscxiyizibitcAi(h)h5h9d*hReSeTe+eUeVeWe,erbsb$bJo/ KoLoMoNouc=m?m@m[m]m^m_m`m{mvcbj: me!d#d$dtbX adubbdvbcdddwcxcwb%bxbybzbAbyc4 5 6 ; zc= ? SiTiAc'b(bBbedY L M {dUiViWiU Cb|dDbEbFbGbHb[eXiYi?cgb@chbib}dZi~d0ize[cBc7 Ib)b*bOoJb@ [ CcDcEcFcGc%d+b,bN u 8 9 NjOjpjPjQjqjRjSj|m-bv .bHc/bae}mOnPnrjb fd'dgdZ Kbbehd+hcidineQn~mansjTjUjDdEdtjbnidcjujvjVjwjxjWjyjXjzjAjYjBjcnPoXe:b] 1iBiAel m n o p q r (dLbceRnSnTnUnVnWnXnYnZn0n1n9hBeIcdnH Jc8een2nfnI t gnhn2iinjiO Ci,h6eeiDi3iFd;iKcLcMc)dYe-ejbkblb]c-h.h6hNc/hEiFifiOcGiHiIigiPcJi:h;h7h*d=hZe0e1e.e2e3e4e/eMbNb;bQo^ RoSoToUoQcjnknlnmnnnonpnqnrnRcdj_ oe+d,d-dsnOb0 jdPbkdQbldmdScTcRb=bSbTbUbVbUc! # $ ` Vc{ | 4i5iWc?b@bWbnd1 P Q de6i7i8iV XbeeYbZb0b1b2b]e9i!i^cmb_cnbobfe#ige$iCe`cXc% 3b[b]bVo4b} ~ YcZc0c1c2c.d^b_bR w ' ( Zj0jCj1j2jDj3j4jtn`bx {b3c|bheun3n4nEjc d /dpe:dab4cDe;dkiKiLiKeWo#n$n5j+j,jieje6j%n=dFj7j8j-j9j!j.j#j/j$j%j:j'j'n$p9eod}b=i'iMey z A B C D E qe5cEeXoYoZo0o1o2o3o4o5o6o7ohiNeGd(n2 Hd;e)n8o*n3 J +n,n?i-n%i) (ili:eMi)i@ikeejIdJdKdre!e=egchcic2dmini?hLdoi*i+iNiMd,i-i.iOiNd/ipiqi@hseri#e$e%e?e'e(e)e@e6c7cpd%p~b'p(p)p*pOd.n/n:n;n=n?n@n[n]nPdGjacLeteueve8cbb?d9c@d!c[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTdccdc[i]iUdrdsd)c^dcb* + Fe^i_i`i- *cGe+c,c-c.c/c^e{i|i3djc4dkclcHe}iIe~iOe5dVd8b:ctdud+p;cecfcWdXdYdZd0dwevdwd, S 9b!b;j=j(j?j@j)j[j]j^nxdT yd1dzdJe_n9o!o*j

89 for attr in _Attrs: 2a {c6d|cW pb_d}c!h|h}hleBn(m)mfjHjIjAdBdgj*m~cajhjijJjjjkjKjljLjmjnjMjoj+mIoPe#b. Pisixee f g h i j k 7dqb`dCnDnEnFnGnHnInJnKnLnMn8hyemc,mF nc7e-mNn.mG s /m:mQi;miiK ti#h5e~huiRiCd:iocpcqc8dQe*edbebfb=c$h%h4hrc'hviwiaiscxiyizibitcAi(h)h5h9d*hReSeTe+eUeVeWe,erbsb$bJo/ KoLoMoNouc=m?m@m[m]m^m_m`m{mvcbj: me!d#d$dtbX adubbdvbcdddwcxcwb%bxbybzbAbyc4 5 6 ; zc= ? SiTiAc'b(bBbedY L M {dUiViWiU Cb|dDbEbFbGbHb[eXiYi?cgb@chbib}dZi~d0ize[cBc7 Ib)b*bOoJb@ [ CcDcEcFcGc%d+b,bN u 8 9 NjOjpjPjQjqjRjSj|m-bv .bHc/bae}mOnPnrjb fd'dgdZ Kbbehd+hcidineQn~mansjTjUjDdEdtjbnidcjujvjVjwjxjWjyjXjzjAjYjBjcnPoXe:b] 1iBiAel m n o p q r (dLbceRnSnTnUnVnWnXnYnZn0n1n9hBeIcdnH Jc8een2nfnI t gnhn2iinjiO Ci,h6eeiDi3iFd;iKcLcMc)dYe-ejbkblb]c-h.h6hNc/hEiFifiOcGiHiIigiPcJi:h;h7h*d=hZe0e1e.e2e3e4e/eMbNb;bQo^ RoSoToUoQcjnknlnmnnnonpnqnrnRcdj_ oe+d,d-dsnOb0 jdPbkdQbldmdScTcRb=bSbTbUbVbUc! # $ ` Vc{ | 4i5iWc?b@bWbnd1 P Q de6i7i8iV XbeeYbZb0b1b2b]e9i!i^cmb_cnbobfe#ige$iCe`cXc% 3b[b]bVo4b} ~ YcZc0c1c2c.d^b_bR w ' ( Zj0jCj1j2jDj3j4jtn`bx {b3c|bheun3n4nEjc d /dpe:dab4cDe;dkiKiLiKeWo#n$n5j+j,jieje6j%n=dFj7j8j-j9j!j.j#j/j$j%j:j'j'n$p9eod}b=i'iMey z A B C D E qe5cEeXoYoZo0o1o2o3o4o5o6o7ohiNeGd(n2 Hd;e)n8o*n3 J +n,n?i-n%i) (ili:eMi)i@ikeejIdJdKdre!e=egchcic2dmini?hLdoi*i+iNiMd,i-i.iOiNd/ipiqi@hseri#e$e%e?e'e(e)e@e6c7cpd%p~b'p(p)p*pOd.n/n:n;n=n?n@n[n]nPdGjacLeteueve8cbb?d9c@d!c[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTdccdc[i]iUdrdsd)c^dcb* + Fe^i_i`i- *cGe+c,c-c.c/c^e{i|i3djc4dkclcHe}iIe~iOe5dVd8b:ctdud+p;cecfcWdXdYdZd0dwevdwd, S 9b!b;j=j(j?j@j)j[j]j^nxdT yd1dzdJe_n9o!o*j

90 value = getattr(field_info, attr, Undefined) 2a {c6d|cW pb_d}c!h|h}hleBn(m)mfjHjIjAdBdgj*m~cajhjijJjjjkjKjljLjmjnjMjoj+mIoPe#b. Pisixee f g h i j k 7dqb`dCnDnEnFnGnHnInJnKnLnMn8hyemc,mF nc7e-mNn.mG s /m:mQi;miiK ti#h5e~huiRiCd:iocpcqc8dQe*edbebfb=c$h%h4hrc'hviwiaiscxiyizibitcAi(h)h5h9d*hReSeTe+eUeVeWe,erbsb$bJo/ KoLoMoNouc=m?m@m[m]m^m_m`m{mvcbj: me!d#d$dtbX adubbdvbcdddwcxcwb%bxbybzbAbyc4 5 6 ; zc= ? SiTiAc'b(bBbedY L M {dUiViWiU Cb|dDbEbFbGbHb[eXiYi?cgb@chbib}dZi~d0ize[cBc7 Ib)b*bOoJb@ [ CcDcEcFcGc%d+b,bN u 8 9 NjOjpjPjQjqjRjSj|m-bv .bHc/bae}mOnPnrjb fd'dgdZ Kbbehd+hcidineQn~mansjTjUjDdEdtjbnidcjujvjVjwjxjWjyjXjzjAjYjBjcnPoXe:b] 1iBiAel m n o p q r (dLbceRnSnTnUnVnWnXnYnZn0n1n9hBeIcdnH Jc8een2nfnI t gnhn2iinjiO Ci,h6eeiDi3iFd;iKcLcMc)dYe-ejbkblb]c-h.h6hNc/hEiFifiOcGiHiIigiPcJi:h;h7h*d=hZe0e1e.e2e3e4e/eMbNb;bQo^ RoSoToUoQcjnknlnmnnnonpnqnrnRcdj_ oe+d,d-dsnOb0 jdPbkdQbldmdScTcRb=bSbTbUbVbUc! # $ ` Vc{ | 4i5iWc?b@bWbnd1 P Q de6i7i8iV XbeeYbZb0b1b2b]e9i!i^cmb_cnbobfe#ige$iCe`cXc% 3b[b]bVo4b} ~ YcZc0c1c2c.d^b_bR w ' ( Zj0jCj1j2jDj3j4jtn`bx {b3c|bheun3n4nEjc d /dpe:dab4cDe;dkiKiLiKeWo#n$n5j+j,jieje6j%n=dFj7j8j-j9j!j.j#j/j$j%j:j'j'n$p9eod}b=i'iMey z A B C D E qe5cEeXoYoZo0o1o2o3o4o5o6o7ohiNeGd(n2 Hd;e)n8o*n3 J +n,n?i-n%i) (ili:eMi)i@ikeejIdJdKdre!e=egchcic2dmini?hLdoi*i+iNiMd,i-i.iOiNd/ipiqi@hseri#e$e%e?e'e(e)e@e6c7cpd%p~b'p(p)p*pOd.n/n:n;n=n?n@n[n]nPdGjacLeteueve8cbb?d9c@d!c[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTdccdc[i]iUdrdsd)c^dcb* + Fe^i_i`i- *cGe+c,c-c.c/c^e{i|i3djc4dkclcHe}iIe~iOe5dVd8b:ctdud+p;cecfcWdXdYdZd0dwevdwd, S 9b!b;j=j(j?j@j)j[j]j^nxdT yd1dzdJe_n9o!o*j

91 if value is not Undefined: 2a {c6d|cW pb_d}c!h|h}hleBn(m)mfjHjIjAdBdgj*m~cajhjijJjjjkjKjljLjmjnjMjoj+mIoPe#b. Pisixee f g h i j k 7dqb`dCnDnEnFnGnHnInJnKnLnMn8hyemc,mF nc7e-mNn.mG s /m:mQi;miiK ti#h5e~huiRiCd:iocpcqc8dQe*edbebfb=c$h%h4hrc'hviwiaiscxiyizibitcAi(h)h5h9d*hReSeTe+eUeVeWe,erbsb$bJo/ KoLoMoNouc=m?m@m[m]m^m_m`m{mvcbj: me!d#d$dtbX adubbdvbcdddwcxcwb%bxbybzbAbyc4 5 6 ; zc= ? SiTiAc'b(bBbedY L M {dUiViWiU Cb|dDbEbFbGbHb[eXiYi?cgb@chbib}dZi~d0ize[cBc7 Ib)b*bOoJb@ [ CcDcEcFcGc%d+b,bN u 8 9 NjOjpjPjQjqjRjSj|m-bv .bHc/bae}mOnPnrjb fd'dgdZ Kbbehd+hcidineQn~mansjTjUjDdEdtjbnidcjujvjVjwjxjWjyjXjzjAjYjBjcnPoXe:b] 1iBiAel m n o p q r (dLbceRnSnTnUnVnWnXnYnZn0n1n9hBeIcdnH Jc8een2nfnI t gnhn2iinjiO Ci,h6eeiDi3iFd;iKcLcMc)dYe-ejbkblb]c-h.h6hNc/hEiFifiOcGiHiIigiPcJi:h;h7h*d=hZe0e1e.e2e3e4e/eMbNb;bQo^ RoSoToUoQcjnknlnmnnnonpnqnrnRcdj_ oe+d,d-dsnOb0 jdPbkdQbldmdScTcRb=bSbTbUbVbUc! # $ ` Vc{ | 4i5iWc?b@bWbnd1 P Q de6i7i8iV XbeeYbZb0b1b2b]e9i!i^cmb_cnbobfe#ige$iCe`cXc% 3b[b]bVo4b} ~ YcZc0c1c2c.d^b_bR w ' ( Zj0jCj1j2jDj3j4jtn`bx {b3c|bheun3n4nEjc d /dpe:dab4cDe;dkiKiLiKeWo#n$n5j+j,jieje6j%n=dFj7j8j-j9j!j.j#j/j$j%j:j'j'n$p9eod}b=i'iMey z A B C D E qe5cEeXoYoZo0o1o2o3o4o5o6o7ohiNeGd(n2 Hd;e)n8o*n3 J +n,n?i-n%i) (ili:eMi)i@ikeejIdJdKdre!e=egchcic2dmini?hLdoi*i+iNiMd,i-i.iOiNd/ipiqi@hseri#e$e%e?e'e(e)e@e6c7cpd%p~b'p(p)p*pOd.n/n:n;n=n?n@n[n]nPdGjacLeteueve8cbb?d9c@d!c[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTdccdc[i]iUdrdsd)c^dcb* + Fe^i_i`i- *cGe+c,c-c.c/c^e{i|i3djc4dkclcHe}iIe~iOe5dVd8b:ctdud+p;cecfcWdXdYdZd0dwevdwd, S 9b!b;j=j(j?j@j)j[j]j^nxdT yd1dzdJe_n9o!o*j

92 attributes[attr] = value 2a {c6d|cW pb_d}c!h|h}hleBn(m)mfjHjIjAdBdgj*m~cajhjijJjjjkjKjljLjmjnjMjoj+mIoPe#b. Pisixee f g h i j k 7dqb`dCnDnEnFnGnHnInJnKnLnMn8hyemc,mF nc7e-mNn.mG s /m:mQi;miiK ti#h5e~huiRiCd:iocpcqc8dQe*edbebfb=c$h%h4hrc'hviwiaiscxiyizibitcAi(h)h5h9d*hReSeTe+eUeVeWe,erbsb$bJo/ KoLoMoNouc=m?m@m[m]m^m_m`m{mvcbj: me!d#d$dtbX adubbdvbcdddwcxcwb%bxbybzbAbyc4 5 6 ; zc= ? SiTiAc'b(bBbedY L M {dUiViWiU Cb|dDbEbFbGbHb[eXiYi?cgb@chbib}dZi~d0ize[cBc7 Ib)b*bOoJb@ [ CcDcEcFcGc%d+b,bN u 8 9 NjOjpjPjQjqjRjSj|m-bv .bHc/bae}mOnPnrjb fd'dgdZ Kbbehd+hcidineQn~mansjTjUjDdEdtjbnidcjujvjVjwjxjWjyjXjzjAjYjBjcnPoXe:b] 1iBiAel m n o p q r (dLbceRnSnTnUnVnWnXnYnZn0n1n9hBeIcdnH Jc8een2nfnI t gnhn2iinjiO Ci,h6eeiDi3iFd;iKcLcMc)dYe-ejbkblb]c-h.h6hNc/hEiFifiOcGiHiIigiPcJi:h;h7h*d=hZe0e1e.e2e3e4e/eMbNb;bQo^ RoSoToUoQcjnknlnmnnnonpnqnrnRcdj_ oe+d,d-dsnOb0 jdPbkdQbldmdScTcRb=bSbTbUbVbUc! # $ ` Vc{ | 4i5iWc?b@bWbnd1 P Q de6i7i8iV XbeeYbZb0b1b2b]e9i!i^cmb_cnbobfe#ige$iCe`cXc% 3b[b]bVo4b} ~ YcZc0c1c2c.d^b_bR w ' ( Zj0jCj1j2jDj3j4jtn`bx {b3c|bheun3n4nEjc d /dpe:dab4cDe;dkiKiLiKeWo#n$n5j+j,jieje6j%n=dFj7j8j-j9j!j.j#j/j$j%j:j'j'n$p9eod}b=i'iMey z A B C D E qe5cEeXoYoZo0o1o2o3o4o5o6o7ohiNeGd(n2 Hd;e)n8o*n3 J +n,n?i-n%i) (ili:eMi)i@ikeejIdJdKdre!e=egchcic2dmini?hLdoi*i+iNiMd,i-i.iOiNd/ipiqi@hseri#e$e%e?e'e(e)e@e6c7cpd%p~b'p(p)p*pOd.n/n:n;n=n?n@n[n]nPdGjacLeteueve8cbb?d9c@d!c[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTdccdc[i]iUdrdsd)c^dcb* + Fe^i_i`i- *cGe+c,c-c.c/c^e{i|i3djc4dkclcHe}iIe~iOe5dVd8b:ctdud+p;cecfcWdXdYdZd0dwevdwd, S 9b!b;j=j(j?j@j)j[j]j^nxdT yd1dzdJe_n9o!o*j

93 return { 2a {c6d|cW pb_d}c!h|h}hleBn(m)mfjHjIjAdBdgj*m~cajhjijJjjjkjKjljLjmjnjMjoj+mIoPe#b. Pisixee f g h i j k 7dqb`dCnDnEnFnGnHnInJnKnLnMn8hyemc,mF nc7e-mNn.mG s /m:mQi;miiK ti#h5e~huiRiCd:iocpcqc8dQe*edbebfb=c$h%h4hrc'hviwiaiscxiyizibitcAi(h)h5h9d*hReSeTe+eUeVeWe,erbsb$bJo/ KoLoMoNouc=m?m@m[m]m^m_m`m{mvcbj: me!d#d$dtbX adubbdvbcdddwcxcwb%bxbybzbAbyc4 5 6 ; zc= ? SiTiAc'b(bBbedY L M {dUiViWiU Cb|dDbEbFbGbHb[eXiYi?cgb@chbib}dZi~d0ize[cBc7 Ib)b*bOoJb@ [ CcDcEcFcGc%d+b,bN u 8 9 NjOjpjPjQjqjRjSj|m-bv .bHc/bae}mOnPnrjb fd'dgdZ Kbbehd+hcidineQn~mansjTjUjDdEdtjbnidcjujvjVjwjxjWjyjXjzjAjYjBjcnPoXe:b] 1iBiAel m n o p q r (dLbceRnSnTnUnVnWnXnYnZn0n1n9hBeIcdnH Jc8een2nfnI t gnhn2iinjiO Ci,h6eeiDi3iFd;iKcLcMc)dYe-ejbkblb]c-h.h6hNc/hEiFifiOcGiHiIigiPcJi:h;h7h*d=hZe0e1e.e2e3e4e/eMbNb;bQo^ RoSoToUoQcjnknlnmnnnonpnqnrnRcdj_ oe+d,d-dsnOb0 jdPbkdQbldmdScTcRb=bSbTbUbVbUc! # $ ` Vc{ | 4i5iWc?b@bWbnd1 P Q de6i7i8iV XbeeYbZb0b1b2b]e9i!i^cmb_cnbobfe#ige$iCe`cXc% 3b[b]bVo4b} ~ YcZc0c1c2c.d^b_bR w ' ( Zj0jCj1j2jDj3j4jtn`bx {b3c|bheun3n4nEjc d /dpe:dab4cDe;dkiKiLiKeWo#n$n5j+j,jieje6j%n=dFj7j8j-j9j!j.j#j/j$j%j:j'j'n$p9eod}b=i'iMey z A B C D E qe5cEeXoYoZo0o1o2o3o4o5o6o7ohiNeGd(n2 Hd;e)n8o*n3 J +n,n?i-n%i) (ili:eMi)i@ikeejIdJdKdre!e=egchcic2dmini?hLdoi*i+iNiMd,i-i.iOiNd/ipiqi@hseri#e$e%e?e'e(e)e@e6c7cpd%p~b'p(p)p*pOd.n/n:n;n=n?n@n[n]nPdGjacLeteueve8cbb?d9c@d!c[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTdccdc[i]iUdrdsd)c^dcb* + Fe^i_i`i- *cGe+c,c-c.c/c^e{i|i3djc4dkclcHe}iIe~iOe5dVd8b:ctdud+p;cecfcWdXdYdZd0dwevdwd, S 9b!b;j=j(j?j@j)j[j]j^nxdT yd1dzdJe_n9o!o*j

94 "annotation": field_info.annotation, 

95 "metadata": field_info.metadata, 

96 "attributes": attributes, 

97 } 

98 

99 

100@dataclass 1abcd

101class ModelField: 1abcd

102 field_info: FieldInfo 1abcd

103 name: str 1abcd

104 mode: Literal["validation", "serialization"] = "validation" 1abcd

105 config: ConfigDict | None = None 1abcd

106 

107 @property 1abcd

108 def alias(self) -> str: 1abcd

109 a = self.field_info.alias 2~D{c6d|cW Cgpb_d}c5n,p6n-p!h$m|h}hdf|eleaEAdbEBdgjcEdEZt~c#o0teE$o1tfEajhjijJjjjkjKjljLjmjnjMjoj%o2tgE'o3thEiEjEPe.pkEef4tlEmEnEoE#bpEqErEsE/pmz. :pnzoztEuEvE;pwEPi`n{nsixEe f g h i j k 7dpzqb`dyEzEDgAEBE5tCEqzDEEEFEGEffrzsztzuz8hHE=pmcIE6tgfvzF 7tnc7e8thfG s vnwzJExzEgKE9t!tLE#tMENE$t%tOEPEQE'tRESETE(t)tUEVE*t+t,tWE-tXEYE.t/tZE0E:t1E;t2E=t?t3E4E5E@t6E7E8E[t9E!E]t#E^t$E_t%E`t{t'E(E|t}t)E~tau*Ebucu+Edueu,Efugu-Ehuiu.E/E:E;EFg=E?Eyz@Ezzju[EkuAzBz]Elu^EmunuCzDz?pEzFzGzHz_EIz`EJzKz{Eou|E}E~EaFbFQicFiiti#h5e~huiRiGgdFeFHgfF(oocgFLzpupchFMzquqciF)o8djFruQekF*o*e@pNzlFOzwnPzmFQznF4hrcoFaiscpFbitcqF5h9drF+oResFsuSetFtuTeuF,o+etgRzvF-oUewFuuVexFvuWeyF.o,eSzTzUzzFVzAFBFrbsb$b/ WzXzucCFDFEFvcbj: mewu|n/o:oxu}n;o=o?oyu~n@oFFGFHFIFIgJFKFLFMFVhzutbX AuNFadYzOFub[pPFbdZzQFvb]pRFBuCuSFTFUFDuVFWFXFEuFuYFZFGuHuJg0F1FIuJu2F0z3FKu4F1z5F6F2zcdddwc7F8F^pxc9FLuao_p!F#Fwb%b$F[oMuNuxb%F`p{p|pOuPuQu'FybRuSu(Fzb)F]obo^oTuAb*FUu}pVu+Fyc,F~paq-F4 .Fbqcqdq/F5 :Feqfqgq;Fhq6 =Fiqjq?F; zcif3z= 4z5z? 6z7z@F[F]FSiWuXu_ojfTiYu`o{okfZulf^F_FKgWh_e8z0umf1unf2uof`F{F9z|FLg}F~FaGbGcGdGeGfGgGhGiG3uMgjGkGlGmG!z#znGoGNgAcpGkqqGOgrGPgsG'b(b$z%zBbedqgY L M tGuGQgvGwGRgxGyGSgzGAG4uTg{dBGCG5uUgUi6u7u|opfVi8u}o~oqfWi9u!uapbprfDGsf#utf$uufU %uCb|dDbEbFbGbHbEGVgFG'uWgGGXgHGYgIGJG(uKGLG[eaflqcoZgMGmq)u0gNGnq*uoq1gOGpqqq+urq2gPGsqtquqvqvfXi,uQGcpwfYi-u.udp3g/uxf:uyf;uzf=uRG?u4g@udoAfBf'zSGTGCf(zUGVG[uDf)zWG]u^uEf*zXG_u5g`uYG{u6g+zZG|uFf}u,z0G~uGf-z1GavHf.z2Gbv3GIf/zcv4GJf5G7gdv6G:zev7G8G;zKf=z9G?z!G#G$G@z%G[z'G(G]zwq^z)Gxq*G}dZifvgvhviv~djv0ikvlvmvnv+G_zovpv`z{zqv,G|zrv-GBc.G7 Ib)b*bsv/G8gtv:G9g}zJb@ ~zaA[ bAcA;G!gCc=GDc?GEc@GFc[GGc]Guvvvwvyqxvyv+bzqAqBqCqzvAv,bDqEqFqGqHqN u Iq8 Jq9 NjdAOj^G_GpjPjQjqjRjSj#g`GeoeABvCvDv{G-bv .bEvFvHc|G}G/bKqfAGvHvIvaerj~GaHfd'dgdZ $gKbbehd7nLq8nMq+h%mcidiLf}enebHDdcHEdtjdHeHJvidepKvfHfpLvgHcjujvjVjwjxjWjyjXjzjAjYjBjgpMvhHhpNviHjHkHXeNqlHMfOvmHnHoHpH:bqHrHsHtHOqgA] PqhAiAuHvHwHQqxH1ifogoBiyHl m n o p q r (djALbcezHAH%gBHCHPvDHkAEHFHGHHHNflAmAnAoA9hIHRqIcJHQvOfpAH RvJc8eSvPfI t xnqAKHrA'gLHTvUvMHVvNHOHWvXvPHQHRHYvSHTHUHZv0vVHWH1v2v3vXH4vYHZH5v6v0H1H7v2H8v3H9v!v4H5H6H#v7H8H9H$v!H#H%v$H'v%H(v'H)v*v(H)H+v,v*H-v.v+H/v:v,H;v=v-H?v@v.H[v]v/H:H;H=H(g?H@HsA[HtA^v]H_vuAvA^H`v_H{v|vwAxASqyAzAAABA`HCA{HDAEA|H}v}H~HaIbIcI2idIjiCi,h6eeiDi3i)geIfI*ggIipKchIFA~vLciIGAawMcjIjp)dkIbwYelIkp-eTqHAmIIAynJAnIKAoI6hNcpIfiOcqIgiPcrI7h*dsIlpZetIcw0euIdw1evImp.eugLAwInp2exIew3eyIfw4ezIop/eMANAOAAIPABICIMbNb;b^ QARAQcDIEIFIRcdj_ oegwhoppqphwiorpsptpiwjoupGIHIIIJI+gKILIMINIXhjwOb0 kwOIjdSAPIPbUqQIkdTARIQbVqSIlwmwTIUIVInwWIXIYIowpwZI0Iqwrw,g1I2Iswtw3IUA4Iuw5IVA6I7IWAldmdSc8I9IWqTc!IvwkoXq#I$IRb=b%IvpwwxwSb'IYqZq0qywzwAw(ITbBwCw)IUb*IwploxpDwVb+IEw1qFw,IUc-I2q3q.I! /I4q5q6q:I# ;I7q8q9q=I!q$ ?I#q$q@I` VcQfXA{ YAZA| 0A1A[I]I^I4iGwHwypRf5iIwzpApSfJwTf_I`I-gYh`e2AKwUfLwVfMwWf{I|I3A}I.g~IaJbJcJdJeJfJgJhJiJjJNw/gkJlJmJnJ4A5AoJpJ:gWcqJ%qrJ;gsJ=gtJ?b@b6A7AWbndrg1 P Q uJvJ?gwJxJ@gyJzJ[gAJBJOw]gdeCJDJPw^g6iQwRwBpXf7iSwCpDpYf8iTwUwEpFpZfEJ0fVw1fWw2fV XwXbeeYbZb0b1b2bFJ_gGJYw`gHJ{gIJ|gJJKJZwLJMJ]ebf'qmo}gNJ(q0w~gOJ)q1w*qahPJ+q,q2w-qbhQJ.q/q:q;q3f9i3wRJGp4f!i4w5wHpch6w5f7w6f8w7f9wSJ!wdh#wno8f9f8ATJUJ!f9AVJWJ$w#f!AXJ%w'w$f#AYJ(weh)wZJ*wfh$A0J+w%f,w%A1J-w'f'A2J.w(f(A3J/w4J)f)A:w5J*f6Jgh;w7J*A=w8J9J+A+f,A!J-A#J$J%J.A'J/A(J)J:A=q;A*J?q+Jfe#i?w@w[w]wge^w$i_w`w{w|w,J=A}w~w?A@Aax-J[Abx.JXc/J% 3b[b]bcx:Jhhdx;Jih]A4b} ^A_A~ `A{A=JjhYc?JZc@J0c[J1c]J2c^Jexfxgx@qhxix^b[q]q^q_qjxkx_b`q{q|q}q~qR w ar' br( Zj|A0j_J`JCj1j2jDj3j4jkh{Joo}Alxmxnx|J`bx {boxpx3c}J~J|bcr~AqxrxsxheEjaKbK/dpe:dablh4cDe;d9ndr!nerki'mKiLi,f~eKecKiedKje6jeKfKtx=dIpuxgKJpvxhKFj7j8j-j9j!j.j#j/j$j%j:j'jKpwxiKLpxxjKkKlK9efrmK-fyxnKoKpKqKodrKsKtKuKgraB}bhrbBcBvKwKxKiryK=ipoqo'izKy z A B C D E qedB5cEeAKBKmhCKDKzxEKeBFKGKHKIK.ffBgBhBiBhiJKjrGdKKAx/fjB2 BxHd;eCx:f3 J znkBLKlBnhMKDxExNKFxOKPKGxHxQKRKSKIxTKUKVKJxKxWKXKLxMxNxYKOxZK0KPxQx1K2KRx3KSx4KTxUx5K6K7KVx8K9K!KWx#K$KXx%KYx'KZx(K0x1x)K*K2x3x+K4x5x,K6x7x-K8x9x.K!x#x/K$x%x:K;K=K?Koh@K[KmB]KnB'x^K(xoBpB_K)x`K*x+xqBrBkrsBtBuBvB{KwB|KxByB}K,x~KaLbLcLdL?ieL%i(ili:eMi)i@iphfLgLqhhLMpIdiLzB-xJdjLAB.xKdkLNprelL/x!emLOp=elrBBnLCBAnDBoLEBpL?hLdqLNiMdrLOiNdsL@hsetLPp#euL:x$evL;x%ewLQp?evgFBxLRp'eyL=x(ezL?x)eALSp@eGBHBIBBLJBCLDL6c7cpd~bKBLBOdELFLGLPdGjacLe@xroTpUp[xsoVpWpXp]xtoYpHLILJLKLrhLLMLNLOLZh^x8cbb_xPL?dMBQL9cmrRL@dNBSL!cnrTL`x{xULVLWL|xXLYLZL}x~x0L1Laybysh2L3Lcydy4LOB5Ley6LPB7L8LQB[d]dQd9L!LorRd#Lfyuopr$L%L#cqd'LZpgyhy$c(Lqrrrsriyjyky)L%clymy*L'c+L0pvo1pny(c,Loytrpy-LSd.Lurvr/L5b:Lwrxryr;L6b=LzrArBr?LCr7b@LDrEr[LbcTd;fRBccSBTBdcUBVB]L^L_L[iqyry2p=f]isy3p4p?fty@f`L{Lth0h{eWBuy[fvy]fwy^f|L}LXB~LuhaMbMcMdMeMfMgMhMiMjMkMxyvhlMmMnMoMYBZBpMqMwhUdrMFrsMxhtMyhuMrdsd0B1B)c^dsgcb* + vMwMzhxMyMAhzMAMBhBMCMyyChFeDMEMzyDh^iAyBy5p_f_iCy6p7p`f`iDyEy8p9p{fFM|fFy}fGy~f- Hy*cGe+c,c-c.c/cGMEhHMIyFhIMGhJMHhKMLMJyMMNM^ecfGrwoIhOMHrKyJhPMIrLyJrKhQMKrLrMyMrLhRMNrOrPrQrag{iNySM!pbg|iOyPy#pMhQycgRydgSyegTyTMUyNhVyxofggg2BUMVMhg3BWMXMWyig4BYMXyYyjg5BZMZyOh0y0M1yPh6B1M2ykg3y7B2M4ylg8B3M5ymg9B4M6y5Mng!B7y6Mog7MQh8y8M#B9y9M!M$Bpg%B#M'B$M%M'M(B(M)B)M*M*BRr+B+MSr,MHe}i!y#y$y%yIe'y~i(y)y*y+y-M,B,y-y-B.B.y.M/B/y/MVd:M8b:ctdud:y;MRh;y=MSh:B;cec;B=Bfc?B@B?MThWd@MXd[MYd]MZd^M0d_M=y?y@yTr[y]yvdUrVrWrXr^y_ywdYrZr0r1r2r, S 3r9b4r!b;j[B=j`M{M(j?j@j)j[j]jUh|Myo]B`y{y|y}MxdT yd}y~y1d~MaNzd5r^BazbzczJe*jbN

110 return a if a is not None else self.name 2~D{c6d|cW Cgpb_d}c5n,p6n-p!h$m|h}hdf|eleaEAdbEBdgjcEdEZt~c#o0teE$o1tfEajhjijJjjjkjKjljLjmjnjMjoj%o2tgE'o3thEiEjEPe.pkEef4tlEmEnEoE#bpEqErEsE/pmz. :pnzoztEuEvE;pwEPi`n{nsixEe f g h i j k 7dpzqb`dyEzEDgAEBE5tCEqzDEEEFEGEffrzsztzuz8hHE=pmcIE6tgfvzF 7tnc7e8thfG s vnwzJExzEgKE9t!tLE#tMENE$t%tOEPEQE'tRESETE(t)tUEVE*t+t,tWE-tXEYE.t/tZE0E:t1E;t2E=t?t3E4E5E@t6E7E8E[t9E!E]t#E^t$E_t%E`t{t'E(E|t}t)E~tau*Ebucu+Edueu,Efugu-Ehuiu.E/E:E;EFg=E?Eyz@Ezzju[EkuAzBz]Elu^EmunuCzDz?pEzFzGzHz_EIz`EJzKz{Eou|E}E~EaFbFQicFiiti#h5e~huiRiGgdFeFHgfF(oocgFLzpupchFMzquqciF)o8djFruQekF*o*e@pNzlFOzwnPzmFQznF4hrcoFaiscpFbitcqF5h9drF+oResFsuSetFtuTeuF,o+etgRzvF-oUewFuuVexFvuWeyF.o,eSzTzUzzFVzAFBFrbsb$b/ WzXzucCFDFEFvcbj: mewu|n/o:oxu}n;o=o?oyu~n@oFFGFHFIFIgJFKFLFMFVhzutbX AuNFadYzOFub[pPFbdZzQFvb]pRFBuCuSFTFUFDuVFWFXFEuFuYFZFGuHuJg0F1FIuJu2F0z3FKu4F1z5F6F2zcdddwc7F8F^pxc9FLuao_p!F#Fwb%b$F[oMuNuxb%F`p{p|pOuPuQu'FybRuSu(Fzb)F]obo^oTuAb*FUu}pVu+Fyc,F~paq-F4 .Fbqcqdq/F5 :Feqfqgq;Fhq6 =Fiqjq?F; zcif3z= 4z5z? 6z7z@F[F]FSiWuXu_ojfTiYu`o{okfZulf^F_FKgWh_e8z0umf1unf2uof`F{F9z|FLg}F~FaGbGcGdGeGfGgGhGiG3uMgjGkGlGmG!z#znGoGNgAcpGkqqGOgrGPgsG'b(b$z%zBbedqgY L M tGuGQgvGwGRgxGyGSgzGAG4uTg{dBGCG5uUgUi6u7u|opfVi8u}o~oqfWi9u!uapbprfDGsf#utf$uufU %uCb|dDbEbFbGbHbEGVgFG'uWgGGXgHGYgIGJG(uKGLG[eaflqcoZgMGmq)u0gNGnq*uoq1gOGpqqq+urq2gPGsqtquqvqvfXi,uQGcpwfYi-u.udp3g/uxf:uyf;uzf=uRG?u4g@udoAfBf'zSGTGCf(zUGVG[uDf)zWG]u^uEf*zXG_u5g`uYG{u6g+zZG|uFf}u,z0G~uGf-z1GavHf.z2Gbv3GIf/zcv4GJf5G7gdv6G:zev7G8G;zKf=z9G?z!G#G$G@z%G[z'G(G]zwq^z)Gxq*G}dZifvgvhviv~djv0ikvlvmvnv+G_zovpv`z{zqv,G|zrv-GBc.G7 Ib)b*bsv/G8gtv:G9g}zJb@ ~zaA[ bAcA;G!gCc=GDc?GEc@GFc[GGc]Guvvvwvyqxvyv+bzqAqBqCqzvAv,bDqEqFqGqHqN u Iq8 Jq9 NjdAOj^G_GpjPjQjqjRjSj#g`GeoeABvCvDv{G-bv .bEvFvHc|G}G/bKqfAGvHvIvaerj~GaHfd'dgdZ $gKbbehd7nLq8nMq+h%mcidiLf}enebHDdcHEdtjdHeHJvidepKvfHfpLvgHcjujvjVjwjxjWjyjXjzjAjYjBjgpMvhHhpNviHjHkHXeNqlHMfOvmHnHoHpH:bqHrHsHtHOqgA] PqhAiAuHvHwHQqxH1ifogoBiyHl m n o p q r (djALbcezHAH%gBHCHPvDHkAEHFHGHHHNflAmAnAoA9hIHRqIcJHQvOfpAH RvJc8eSvPfI t xnqAKHrA'gLHTvUvMHVvNHOHWvXvPHQHRHYvSHTHUHZv0vVHWH1v2v3vXH4vYHZH5v6v0H1H7v2H8v3H9v!v4H5H6H#v7H8H9H$v!H#H%v$H'v%H(v'H)v*v(H)H+v,v*H-v.v+H/v:v,H;v=v-H?v@v.H[v]v/H:H;H=H(g?H@HsA[HtA^v]H_vuAvA^H`v_H{v|vwAxASqyAzAAABA`HCA{HDAEA|H}v}H~HaIbIcI2idIjiCi,h6eeiDi3i)geIfI*ggIipKchIFA~vLciIGAawMcjIjp)dkIbwYelIkp-eTqHAmIIAynJAnIKAoI6hNcpIfiOcqIgiPcrI7h*dsIlpZetIcw0euIdw1evImp.eugLAwInp2exIew3eyIfw4ezIop/eMANAOAAIPABICIMbNb;b^ QARAQcDIEIFIRcdj_ oegwhoppqphwiorpsptpiwjoupGIHIIIJI+gKILIMINIXhjwOb0 kwOIjdSAPIPbUqQIkdTARIQbVqSIlwmwTIUIVInwWIXIYIowpwZI0Iqwrw,g1I2Iswtw3IUA4Iuw5IVA6I7IWAldmdSc8I9IWqTc!IvwkoXq#I$IRb=b%IvpwwxwSb'IYqZq0qywzwAw(ITbBwCw)IUb*IwploxpDwVb+IEw1qFw,IUc-I2q3q.I! /I4q5q6q:I# ;I7q8q9q=I!q$ ?I#q$q@I` VcQfXA{ YAZA| 0A1A[I]I^I4iGwHwypRf5iIwzpApSfJwTf_I`I-gYh`e2AKwUfLwVfMwWf{I|I3A}I.g~IaJbJcJdJeJfJgJhJiJjJNw/gkJlJmJnJ4A5AoJpJ:gWcqJ%qrJ;gsJ=gtJ?b@b6A7AWbndrg1 P Q uJvJ?gwJxJ@gyJzJ[gAJBJOw]gdeCJDJPw^g6iQwRwBpXf7iSwCpDpYf8iTwUwEpFpZfEJ0fVw1fWw2fV XwXbeeYbZb0b1b2bFJ_gGJYw`gHJ{gIJ|gJJKJZwLJMJ]ebf'qmo}gNJ(q0w~gOJ)q1w*qahPJ+q,q2w-qbhQJ.q/q:q;q3f9i3wRJGp4f!i4w5wHpch6w5f7w6f8w7f9wSJ!wdh#wno8f9f8ATJUJ!f9AVJWJ$w#f!AXJ%w'w$f#AYJ(weh)wZJ*wfh$A0J+w%f,w%A1J-w'f'A2J.w(f(A3J/w4J)f)A:w5J*f6Jgh;w7J*A=w8J9J+A+f,A!J-A#J$J%J.A'J/A(J)J:A=q;A*J?q+Jfe#i?w@w[w]wge^w$i_w`w{w|w,J=A}w~w?A@Aax-J[Abx.JXc/J% 3b[b]bcx:Jhhdx;Jih]A4b} ^A_A~ `A{A=JjhYc?JZc@J0c[J1c]J2c^Jexfxgx@qhxix^b[q]q^q_qjxkx_b`q{q|q}q~qR w ar' br( Zj|A0j_J`JCj1j2jDj3j4jkh{Joo}Alxmxnx|J`bx {boxpx3c}J~J|bcr~AqxrxsxheEjaKbK/dpe:dablh4cDe;d9ndr!nerki'mKiLi,f~eKecKiedKje6jeKfKtx=dIpuxgKJpvxhKFj7j8j-j9j!j.j#j/j$j%j:j'jKpwxiKLpxxjKkKlK9efrmK-fyxnKoKpKqKodrKsKtKuKgraB}bhrbBcBvKwKxKiryK=ipoqo'izKy z A B C D E qedB5cEeAKBKmhCKDKzxEKeBFKGKHKIK.ffBgBhBiBhiJKjrGdKKAx/fjB2 BxHd;eCx:f3 J znkBLKlBnhMKDxExNKFxOKPKGxHxQKRKSKIxTKUKVKJxKxWKXKLxMxNxYKOxZK0KPxQx1K2KRx3KSx4KTxUx5K6K7KVx8K9K!KWx#K$KXx%KYx'KZx(K0x1x)K*K2x3x+K4x5x,K6x7x-K8x9x.K!x#x/K$x%x:K;K=K?Koh@K[KmB]KnB'x^K(xoBpB_K)x`K*x+xqBrBkrsBtBuBvB{KwB|KxByB}K,x~KaLbLcLdL?ieL%i(ili:eMi)i@iphfLgLqhhLMpIdiLzB-xJdjLAB.xKdkLNprelL/x!emLOp=elrBBnLCBAnDBoLEBpL?hLdqLNiMdrLOiNdsL@hsetLPp#euL:x$evL;x%ewLQp?evgFBxLRp'eyL=x(ezL?x)eALSp@eGBHBIBBLJBCLDL6c7cpd~bKBLBOdELFLGLPdGjacLe@xroTpUp[xsoVpWpXp]xtoYpHLILJLKLrhLLMLNLOLZh^x8cbb_xPL?dMBQL9cmrRL@dNBSL!cnrTL`x{xULVLWL|xXLYLZL}x~x0L1Laybysh2L3Lcydy4LOB5Ley6LPB7L8LQB[d]dQd9L!LorRd#Lfyuopr$L%L#cqd'LZpgyhy$c(Lqrrrsriyjyky)L%clymy*L'c+L0pvo1pny(c,Loytrpy-LSd.Lurvr/L5b:Lwrxryr;L6b=LzrArBr?LCr7b@LDrEr[LbcTd;fRBccSBTBdcUBVB]L^L_L[iqyry2p=f]isy3p4p?fty@f`L{Lth0h{eWBuy[fvy]fwy^f|L}LXB~LuhaMbMcMdMeMfMgMhMiMjMkMxyvhlMmMnMoMYBZBpMqMwhUdrMFrsMxhtMyhuMrdsd0B1B)c^dsgcb* + vMwMzhxMyMAhzMAMBhBMCMyyChFeDMEMzyDh^iAyBy5p_f_iCy6p7p`f`iDyEy8p9p{fFM|fFy}fGy~f- Hy*cGe+c,c-c.c/cGMEhHMIyFhIMGhJMHhKMLMJyMMNM^ecfGrwoIhOMHrKyJhPMIrLyJrKhQMKrLrMyMrLhRMNrOrPrQrag{iNySM!pbg|iOyPy#pMhQycgRydgSyegTyTMUyNhVyxofggg2BUMVMhg3BWMXMWyig4BYMXyYyjg5BZMZyOh0y0M1yPh6B1M2ykg3y7B2M4ylg8B3M5ymg9B4M6y5Mng!B7y6Mog7MQh8y8M#B9y9M!M$Bpg%B#M'B$M%M'M(B(M)B)M*M*BRr+B+MSr,MHe}i!y#y$y%yIe'y~i(y)y*y+y-M,B,y-y-B.B.y.M/B/y/MVd:M8b:ctdud:y;MRh;y=MSh:B;cec;B=Bfc?B@B?MThWd@MXd[MYd]MZd^M0d_M=y?y@yTr[y]yvdUrVrWrXr^y_ywdYrZr0r1r2r, S 3r9b4r!b;j[B=j`M{M(j?j@j)j[j]jUh|Myo]B`y{y|y}MxdT yd}y~y1d~MaNzd5r^BazbzczJe*jbN

111 

112 @property 1abcd

113 def validation_alias(self) -> str | None: 1abcd

114 va = self.field_info.validation_alias 2~D{c6d|cW Cg5n,p6n-p!h$m|h}hdf|eaEbEgjcEdEZt~c#o0teE$o1tfEajhjijJjjjkjKjljLjmjnjMjoj%o2tgE'o3thEiEjE.pkEef4tlEmEnEoE#bpEqErEsE/pmz. :pnzoztEuEvE;pwEPi`n{nsixexEe f g h i j k 7dpzqb`dyEzEDgAEBE5tCEqzDEEEFEGEffrzsztzuz8hyeHE=pmcIE6tgfvzF 7tnc7e8thfG s vnwzJExzEgKE9t!tLE#tMENE$t%tOEPEQE'tRESETE(t)tUEVE*t+t,tWE-tXEYE.t/tZE0E:t1E;t2E=t?t3E4E5E@t6E7E8E[t9E!E]t#E^t$E_t%E`t{t'E(E|t}t)E~tau*Ebucu+Edueu,Efugu-Ehuiu.E/E:E;EFg=E?Eyz@Ezzju[EkuAzBz]Elu^EmunuCzDz?pEzFzGzHz_EIz`EJzKz{Eou|E}E~EaFbFQicFiiK ti#h5e~huiRiGgdFEO1heFHgCdFO_BGO`B:i{B6r7rHO8rIO9r!rfF(ooc#rJO$r|B}BKOcN~BLOaCdNbCgFLzpupccCMOeNdCeCfCgChCiCNOfNOOjCgNhFMzquqckCPOhN%r'rQO(rRO)r*riF)o8d+rSO,rlCmCTOnCUOoCpCjFruQeqCVOrC-r.rWO/rXO:r;rkF*o*e=rYO?r@piNjNdzkNezlNmNNzdbnNfzoNlFpNqNZOrN0OsNtNOzebuN1OvNwnwNxNzoyNAozNANPzfbBNBoCNmFDNEN2OFN3OGNHNQz=cIN4OJN@r[r5O$h6O]r%hnF4hrc^r7O'hsCtC8Ovi9OuCwioFaiscvC!OxiwCxC#Oyi$OyCzipFbitczC%OAi_r`r'O(h(O{r)hqF5h9d|r)O*h}r~r*Oas+ObscsrF+oReds,OesACBC-OCC.ODCECsFsuSeFC/OGCHCIC:OJC;OKCLCtFtuTeMC=ONCfsgs?Ohs@OisjsuF,o+eks[OlstgRzmsns]Oos^OpsqsvF-oUers_OssOCPC`OQC{ORCSCwFuuVeTC|OUCVCWC}OXC~OYCZCxFvuWe0CaP1CtsusbPvscPwsxsyF.o,eysdPzsSzTzUzzFVzAFBFWzXzCFDFEFbj: !dwu|n/o:o#dxu}n;o=o$d?oyu~n@oFFGFHFIFIgJFKFLFMFzutbX AuNFadYzOFub[pPFbdZzQFvb]pRFBuCuSFTFUFDuVFWFXFEuFuYFZFGuHuJg0F1FIuJu2F0z3FKu4F1z5F6F2zcdddwc7F8F^pxc9FLuao_p!F#Fwb%b$F[oMuNuxb%F`p{p|pOuPuQu'FybRuSu(Fzb)F]obo^oTuAb*FUu}pVu+Fyc,F~paq-F4 .Fbqcqdq/F5 :Feqfqgq;Fhq6 =Fiqjq?F; zcif3z= 4z5z? 6z7z@F[F]FSiWuXu_ojfTiYu`o{okfZulf^F_FKg_e8z0umf1unf2uof`F{F9z|FLg}F~FaGbGcGdGeGfGgGhGiG3uMgjGkGlGmG!z#znGoGNgAcpGkqqGOgrGPgsG'b(b$z%zBbY L M tGuGQgvGwGRgxGyGSgzGAG4uTg{dBGCG5uUgUi6u7u|opfVi8u}o~oqfWi9u!uapbprfDGsf#utf$uufU %uCb|dDbEbFbGbHbEGVgFG'uWgGGXgHGYgIGJG(uKGLG[eaflqcoZgMGmq)u0gNGnq*uoq1gOGpqqq+urq2gPGsqtquqvqvfXi,uQGcpwfYi-u.udp3g/uxf:uyf;uzf=uRG?u4g@udoAfBf'zSGTGCf(zUGVG[uDf)zWG]u^uEf*zXG_u5g`uYG{u6g+zZG|uFf}u,z0G~uGf-z1GavHf.z2GbvwgePKNLNxgfP2CMNNN3GIf/zcv4GJf5G7gdv6G:zev7G8G;zKf?c=z9G?z!G#Ggb$G@z%G[z@c'G(Ghb]zwq^z)Gibxq*G}dZifvgvhviv~djv0ikvlvmvnvze+G_zovpv`z[c{zqv,G|zrv-GBc.G7 Ib)b*bsv/G8gtv:G9g}zJb@ ~zaA[ bAcA;G!gCc=GDc?GEc@GFc[GGc]Guvvvwv%dyqxvyv+bzqAqBqCqzvAv,bDqEqFqGqHqN u Iq8 Jq9 NjdAOj^G_GpjPjQjqjRjSj#g`GeoeABvCvDv{G-bv .bEvFvHc|G}G/bKqfAGvHvIvaerj~GaHfd'dgdZ $g7nLq8nMq+h%mcidiLf}ebHcHtjdHeHJvidepKvfHfpLvgHcjujvjVjwjxjWjyjXjzjAjYjBjgpMvhHhpNviHjHkHNqlHMfOvmHnHoHpH:bqHrHsHtHOqgA] PqhAiAuHvHwHQqxH1ifogoBiAeyHl m n o p q r (djALbcezHAH%gBHCHPvDHkAEHFHGHHHNflAmAnAoA9hBeIHRqIcJHQvOfpAH RvJc8eSvPfI t xnqAKHrA'gLHTvUvMHVvNHOHWvXvPHQHRHYvSHTHUHZv0vVHWH1v2v3vXH4vYHZH5v6v0H1H7v2H8v3H9v!v4H5H6H#v7H8H9H$v!H#H%v$H'v%H(v'H)v*v(H)H+v,v*H-v.v+H/v:v,H;v=v-H?v@v.H[v]v/H:H;H=H(g?H@HsA[HtA^v]H_vuAvA^H`v_H{v|vwAxASqyAzAAABA`HCA{HDAEA|H}v}H~HaIbIcI2idIjiO Ci,h6eeiDi3i)geIgP2hfI*gFdhP3CiP4C;i5CAsBsjPCskPDsEsgIipKcFslPGs6C7CmPON8CnP9CPN!ChIFA~vLc#CoPQN$C%C'C(C)C*CpPRNqP+CSNiIGAawMc,CrPTNHsIssPJstPKsLsjIjp)dMsuPNs-C.CvP/CwP:C;CkIbwYe=CxP?COsPsyPQszPRsSslIkp-eTsAPUsTqUNVNgzWNhzXNYNHAjbZNiz0NmI1N2NBP3NCP4N5NIAkb6NDP7Nyn8N9NCo!NDo#N$NJAlb%NEo'NnI(N)NEP*NFP+N,NKA]c-NGP.NVsWsHP-hIPXs.hoI6hNcYsJP/h@C[CKPEiLP]CFipIfiOc^CMPGi_C`CNPHiOP{CIiqIgiPc|CPPJiZs0sQP:hRP1s;hrI7h*d2sSP=h3s4sTP5sUP6s7ssIlpZe8sVP9s}C~CWPaDXPbDcDtIcw0edDYPeDfDgDZPhD0PiDjDuIdw1ekD1PlD!s#s2P$s3P%s'svImp.e(s4P)sugLA*s+s5P,s6P-s.swInp2e/s7P:smDnD8PoD9PpDqDxIew3erD!PsDtDuD#PvD$PwDxDyIfw4eyD%PzD;s=s'P?s(P@s[szIop/e]s)P^sMANAOAAIPABICIQARADIEIFIdj_ +dgwhoppqp,dhwiorpsp-dtpiwjoupGIHIIIJI+gKILIMINIjwOb0 kwOIjdSAPIPbUqQIkdTARIQbVqSIlwmwTIUIVInwWIXIYIowpwZI0Iqwrw,g1I2Iswtw3IUA4Iuw5IVA6I7IWAldmdSc8I9IWqTc!IvwkoXq#I$IRb=b%IvpwwxwSb'IYqZq0qywzwAw(ITbBwCw)IUb*IwploxpDwVb+IEw1qFw,IUc-I2q3q.I! /I4q5q6q:I# ;I7q8q9q=I!q$ ?I#q$q@I` VcQfXA{ YAZA| 0A1A[I]I^I4iGwHwypRf5iIwzpApSfJwTf_I`I-g`e2AKwUfLwVfMwWf{I|I3A}I.g~IaJbJcJdJeJfJgJhJiJjJNw/gkJlJmJnJ4A5AoJpJ:gWcqJ%qrJ;gsJ=gtJ?b@b6A7AWb1 P Q uJvJ?gwJxJ@gyJzJ[gAJBJOw]gdeCJDJPw^g6iQwRwBpXf7iSwCpDpYf8iTwUwEpFpZfEJ0fVw1fWw2fV XwXbeeYbZb0b1b2bFJ_gGJYw`gHJ{gIJ|gJJKJZwLJMJ]ebf'qmo}gNJ(q0w~gOJ)q1w*qahPJ+q,q2w-qbhQJ.q/q:q;q3f9i3wRJGp4f!i4w5wHpch6w5f7w6f8w7f9wSJ!wdh#wno8f9f8ATJUJ!f9AVJWJ$w#f!AXJ%w'w$f#AYJ(weh)wZJ*wfh$A0J+w%f,w%A1J-w'f'A2J.w(f(A3J/wyg*P/N:Nzg+PAD;N=N4J)f)A:w5J*f6Jgh;w7J*A=w8J9J+A+f^c,A!J-A#J$Jmb%J.A'J/A_c(J)Jnb:A=q;A*Job?q+Jfe#i?w@w[w]wge^w$i_w`w{w|wCe,J=A}w~w?A`c@Aax-J[Abx.JXc/J% 3b[b]bcx:Jhhdx;Jih]A4b} ^A_A~ `A{A=JjhYc?JZc@J0c[J1c]J2c^Jexfxgx.d@qhxix^b[q]q^q_qjxkx_b`q{q|q}q~qR w ar' br( Zj|A0j_J`JCj1j2jDj3j4jkh{Joo}Alxmxnx|J`bx {boxpx3c}J~J|bcr~AqxrxsxheEjaKbK/dpe:dablh9ndr!nerki'mKiLi,f~ecKdK6jeKfKtx=dIpuxgKJpvxhKFj7j8j-j9j!j.j#j/j$j%j:j'jKpwxiKLpxxjKkKlKfrmK-fyxnKoKpKqKodrKsKtKuKgraB}bhrbBcBvKwKxKiryK=ipoqo'iMezKy z A B C D E qedB5cEeAKBKmhCKDKzxEKeBFKGKHKIK.ffBgBhBiBhiNeJKjrGdKKAx/fjB2 BxHd;eCx:f3 J znkBLKlBnhMKDxExNKFxOKPKGxHxQKRKSKIxTKUKVKJxKxWKXKLxMxNxYKOxZK0KPxQx1K2KRx3KSx4KTxUx5K6K7KVx8K9K!KWx#K$KXx%KYx'KZx(K0x1x)K*K2x3x+K4x5x,K6x7x-K8x9x.K!x#x/K$x%x:K;K=K?Koh@K[KmB]KnB'x^K(xoBpB_K)x`K*x+xqBrBkrsBtBuBvB{KwB|KxByB}K,x~KaLbLcLdL?ieL%i) (ili:eMi)i@iphfL,P3hgLqhke-PBD.PCDejDD_s`s/P{s:P|s}shLMpId~s;PatEDFD=P?NGD?PHD@NIDiLzB-xJdJD@P[NKDLDMDNDODPD[P]N]PQD^NjLAB.xKdRD^P_Nbtct_Pdt`PetftkLNpregt{PhtSDTD|PUD}PVDWDlL/x!eXD~PYDitjtaQktbQltmtmLOp=entcQotlr`N{Njz|Nkz}N~NBBgcaOlzbOnLcOdOdQeOeQfOgOCBhchOfQiOAnjOkOFolOGomOnODBicoOHopOoLqOrOgQsOhQtOuOEB2dvOiQwOptqtjQmikQrtnipL?hLdstlQoiZD0DmQ*inQ1D+iqLNiMd2DoQ,i3D4DpQ-iqQ5D.irLOiNd6DrQ/ittutsQpitQvtqisL@hsewtuQrixtytvQztwQAtBttLPp#eCtxQDt7D8DyQ9DzQ!D#DuL:x$e$DAQ%D'D(DBQ)DCQ*D+DvL;x%e,DDQ-DEtFtEQGtFQHtItwLQp?eJtGQKtvgFBLtMtHQNtIQOtPtxLRp'eQtJQRt.D/DKQ:DLQ;D=DyL=x(e?DMQ@D[D]DNQ^DOQ_D`DzL?x)e{DPQ|DStTtQQUtRQVtWtALSp@eXtSQYtGBHBIBBLJBCLDLKBLBELFLGLGjacte@xroTpUpue[xsoVpWpveXp]xtoYpHLILJLKLrhLLMLNLOL^x8cbb_xPL?dMBQL9cmrRL@dNBSL!cnrTL`x{xULVLWL|xXLYLZL}x~x0L1Laybysh2L3Lcydy4LOB5Ley6LPB7L8LQB[d]dQd9L!LorRd#Lfyuopr$L%L#cqd'LZpgyhy$c(Lqrrrsriyjyky)L%clymy*L'c+L0pvo1pny(c,Loytrpy-LSd.Lurvr/L5b:Lwrxryr;L6b=LzrArBr?LCr7b@LDrEr[LbcTd;fRBccSBTBdcUBVB]L^L_L[iqyry2p=f]isy3p4p?fty@f`L{Lth{eWBuy[fvy]fwy^f|L}LXB~LuhaMbMcMdMeMfMgMhMiMjMkMxyvhlMmMnMoMYBZBpMqMwhUdrMFrsMxhtMyhuMrdsd0B1B)ccb* + vMwMzhxMyMAhzMAMBhBMCMyyChFeDMEMzyDh^iAyBy5p_f_iCy6p7p`f`iDyEy8p9p{fFM|fFy}fGy~f- Hy*cGe+c,c-c.c/cGMEhHMIyFhIMGhJMHhKMLMJyMMNM^ecfGrwoIhOMHrKyJhPMIrLyJrKhQMKrLrMyMrLhRMNrOrPrQrag{iNySM!pbg|iOyPy#pMhQycgRydgSyegTyTMUyNhVyxofggg2BUMVMhg3BWMXMWyig4BYMXyYyjg5BZMZyOh0y0M1yPh6B1M2ykg3y7B2M4ylg8B3M5ymg9B4M6yAgTQxOyOBgUQ}DzOAO5Mng!B7y6Mog7MQh8y8M#B9y9M!M$Bpg3d%B#M'B$M%Mjc'M(B(M)B4d)M*Mkc*BRr+B+MlcSr,MHe}i!y#y$y%yIe'y~i(y)y*y+yOe-M,B,y-y-B5d.B.y.M/B/y/MVd:M8b:ctdud:y;MRh;y=MSh:B;cec;B=Bfc?B@B?MThWd@MXd[MYd]MZd^M0d_M=y?y@yweTr[y]yvdUrVrWrXr^y_ywdYrZr0r1r2r, S 3r9b4r!b;j[B=j`M{M(j?j@j)j[j]jUh|Myo]B`y{y|y}MxdT yd}y~y1d~MaNzd5r^BazbzczJe*jbN

115 if isinstance(va, str) and va: 2~D{c6d|cW Cg5n,p6n-p!h$m|h}hdf|eaEbEgjcEdEZt~c#o0teE$o1tfEajhjijJjjjkjKjljLjmjnjMjoj%o2tgE'o3thEiEjE.pkEef4tlEmEnEoE#bpEqErEsE/pmz. :pnzoztEuEvE;pwEPi`n{nsixexEe f g h i j k 7dpzqb`dyEzEDgAEBE5tCEqzDEEEFEGEffrzsztzuz8hyeHE=pmcIE6tgfvzF 7tnc7e8thfG s vnwzJExzEgKE9t!tLE#tMENE$t%tOEPEQE'tRESETE(t)tUEVE*t+t,tWE-tXEYE.t/tZE0E:t1E;t2E=t?t3E4E5E@t6E7E8E[t9E!E]t#E^t$E_t%E`t{t'E(E|t}t)E~tau*Ebucu+Edueu,Efugu-Ehuiu.E/E:E;EFg=E?Eyz@Ezzju[EkuAzBz]Elu^EmunuCzDz?pEzFzGzHz_EIz`EJzKz{Eou|E}E~EaFbFQicFiiK ti#h5e~huiRiGgdFEO1heFHgCdFO_BGO`B:i{B6r7rHO8rIO9r!rfF(ooc#rJO$r|B}BKOcN~BLOaCdNbCgFLzpupccCMOeNdCeCfCgChCiCNOfNOOjCgNhFMzquqckCPOhN%r'rQO(rRO)r*riF)o8d+rSO,rlCmCTOnCUOoCpCjFruQeqCVOrC-r.rWO/rXO:r;rkF*o*e=rYO?r@piNjNdzkNezlNmNNzdbnNfzoNlFpNqNZOrN0OsNtNOzebuN1OvNwnwNxNzoyNAozNANPzfbBNBoCNmFDNEN2OFN3OGNHNQz=cIN4OJN@r[r5O$h6O]r%hnF4hrc^r7O'hsCtC8Ovi9OuCwioFaiscvC!OxiwCxC#Oyi$OyCzipFbitczC%OAi_r`r'O(h(O{r)hqF5h9d|r)O*h}r~r*Oas+ObscsrF+oReds,OesACBC-OCC.ODCECsFsuSeFC/OGCHCIC:OJC;OKCLCtFtuTeMC=ONCfsgs?Ohs@OisjsuF,o+eks[OlstgRzmsns]Oos^OpsqsvF-oUers_OssOCPC`OQC{ORCSCwFuuVeTC|OUCVCWC}OXC~OYCZCxFvuWe0CaP1CtsusbPvscPwsxsyF.o,eysdPzsSzTzUzzFVzAFBFWzXzCFDFEFbj: !dwu|n/o:o#dxu}n;o=o$d?oyu~n@oFFGFHFIFIgJFKFLFMFzutbX AuNFadYzOFub[pPFbdZzQFvb]pRFBuCuSFTFUFDuVFWFXFEuFuYFZFGuHuJg0F1FIuJu2F0z3FKu4F1z5F6F2zcdddwc7F8F^pxc9FLuao_p!F#Fwb%b$F[oMuNuxb%F`p{p|pOuPuQu'FybRuSu(Fzb)F]obo^oTuAb*FUu}pVu+Fyc,F~paq-F4 .Fbqcqdq/F5 :Feqfqgq;Fhq6 =Fiqjq?F; zcif3z= 4z5z? 6z7z@F[F]FSiWuXu_ojfTiYu`o{okfZulf^F_FKg_e8z0umf1unf2uof`F{F9z|FLg}F~FaGbGcGdGeGfGgGhGiG3uMgjGkGlGmG!z#znGoGNgAcpGkqqGOgrGPgsG'b(b$z%zBbY L M tGuGQgvGwGRgxGyGSgzGAG4uTg{dBGCG5uUgUi6u7u|opfVi8u}o~oqfWi9u!uapbprfDGsf#utf$uufU %uCb|dDbEbFbGbHbEGVgFG'uWgGGXgHGYgIGJG(uKGLG[eaflqcoZgMGmq)u0gNGnq*uoq1gOGpqqq+urq2gPGsqtquqvqvfXi,uQGcpwfYi-u.udp3g/uxf:uyf;uzf=uRG?u4g@udoAfBf'zSGTGCf(zUGVG[uDf)zWG]u^uEf*zXG_u5g`uYG{u6g+zZG|uFf}u,z0G~uGf-z1GavHf.z2GbvwgePKNLNxgfP2CMNNN3GIf/zcv4GJf5G7gdv6G:zev7G8G;zKf?c=z9G?z!G#Ggb$G@z%G[z@c'G(Ghb]zwq^z)Gibxq*G}dZifvgvhviv~djv0ikvlvmvnvze+G_zovpv`z[c{zqv,G|zrv-GBc.G7 Ib)b*bsv/G8gtv:G9g}zJb@ ~zaA[ bAcA;G!gCc=GDc?GEc@GFc[GGc]Guvvvwv%dyqxvyv+bzqAqBqCqzvAv,bDqEqFqGqHqN u Iq8 Jq9 NjdAOj^G_GpjPjQjqjRjSj#g`GeoeABvCvDv{G-bv .bEvFvHc|G}G/bKqfAGvHvIvaerj~GaHfd'dgdZ $g7nLq8nMq+h%mcidiLf}ebHcHtjdHeHJvidepKvfHfpLvgHcjujvjVjwjxjWjyjXjzjAjYjBjgpMvhHhpNviHjHkHNqlHMfOvmHnHoHpH:bqHrHsHtHOqgA] PqhAiAuHvHwHQqxH1ifogoBiAeyHl m n o p q r (djALbcezHAH%gBHCHPvDHkAEHFHGHHHNflAmAnAoA9hBeIHRqIcJHQvOfpAH RvJc8eSvPfI t xnqAKHrA'gLHTvUvMHVvNHOHWvXvPHQHRHYvSHTHUHZv0vVHWH1v2v3vXH4vYHZH5v6v0H1H7v2H8v3H9v!v4H5H6H#v7H8H9H$v!H#H%v$H'v%H(v'H)v*v(H)H+v,v*H-v.v+H/v:v,H;v=v-H?v@v.H[v]v/H:H;H=H(g?H@HsA[HtA^v]H_vuAvA^H`v_H{v|vwAxASqyAzAAABA`HCA{HDAEA|H}v}H~HaIbIcI2idIjiO Ci,h6eeiDi3i)geIgP2hfI*gFdhP3CiP4C;i5CAsBsjPCskPDsEsgIipKcFslPGs6C7CmPON8CnP9CPN!ChIFA~vLc#CoPQN$C%C'C(C)C*CpPRNqP+CSNiIGAawMc,CrPTNHsIssPJstPKsLsjIjp)dMsuPNs-C.CvP/CwP:C;CkIbwYe=CxP?COsPsyPQszPRsSslIkp-eTsAPUsTqUNVNgzWNhzXNYNHAjbZNiz0NmI1N2NBP3NCP4N5NIAkb6NDP7Nyn8N9NCo!NDo#N$NJAlb%NEo'NnI(N)NEP*NFP+N,NKA]c-NGP.NVsWsHP-hIPXs.hoI6hNcYsJP/h@C[CKPEiLP]CFipIfiOc^CMPGi_C`CNPHiOP{CIiqIgiPc|CPPJiZs0sQP:hRP1s;hrI7h*d2sSP=h3s4sTP5sUP6s7ssIlpZe8sVP9s}C~CWPaDXPbDcDtIcw0edDYPeDfDgDZPhD0PiDjDuIdw1ekD1PlD!s#s2P$s3P%s'svImp.e(s4P)sugLA*s+s5P,s6P-s.swInp2e/s7P:smDnD8PoD9PpDqDxIew3erD!PsDtDuD#PvD$PwDxDyIfw4eyD%PzD;s=s'P?s(P@s[szIop/e]s)P^sMANAOAAIPABICIQARADIEIFIdj_ +dgwhoppqp,dhwiorpsp-dtpiwjoupGIHIIIJI+gKILIMINIjwOb0 kwOIjdSAPIPbUqQIkdTARIQbVqSIlwmwTIUIVInwWIXIYIowpwZI0Iqwrw,g1I2Iswtw3IUA4Iuw5IVA6I7IWAldmdSc8I9IWqTc!IvwkoXq#I$IRb=b%IvpwwxwSb'IYqZq0qywzwAw(ITbBwCw)IUb*IwploxpDwVb+IEw1qFw,IUc-I2q3q.I! /I4q5q6q:I# ;I7q8q9q=I!q$ ?I#q$q@I` VcQfXA{ YAZA| 0A1A[I]I^I4iGwHwypRf5iIwzpApSfJwTf_I`I-g`e2AKwUfLwVfMwWf{I|I3A}I.g~IaJbJcJdJeJfJgJhJiJjJNw/gkJlJmJnJ4A5AoJpJ:gWcqJ%qrJ;gsJ=gtJ?b@b6A7AWb1 P Q uJvJ?gwJxJ@gyJzJ[gAJBJOw]gdeCJDJPw^g6iQwRwBpXf7iSwCpDpYf8iTwUwEpFpZfEJ0fVw1fWw2fV XwXbeeYbZb0b1b2bFJ_gGJYw`gHJ{gIJ|gJJKJZwLJMJ]ebf'qmo}gNJ(q0w~gOJ)q1w*qahPJ+q,q2w-qbhQJ.q/q:q;q3f9i3wRJGp4f!i4w5wHpch6w5f7w6f8w7f9wSJ!wdh#wno8f9f8ATJUJ!f9AVJWJ$w#f!AXJ%w'w$f#AYJ(weh)wZJ*wfh$A0J+w%f,w%A1J-w'f'A2J.w(f(A3J/wyg*P/N:Nzg+PAD;N=N4J)f)A:w5J*f6Jgh;w7J*A=w8J9J+A+f^c,A!J-A#J$Jmb%J.A'J/A_c(J)Jnb:A=q;A*Job?q+Jfe#i?w@w[w]wge^w$i_w`w{w|wCe,J=A}w~w?A`c@Aax-J[Abx.JXc/J% 3b[b]bcx:Jhhdx;Jih]A4b} ^A_A~ `A{A=JjhYc?JZc@J0c[J1c]J2c^Jexfxgx.d@qhxix^b[q]q^q_qjxkx_b`q{q|q}q~qR w ar' br( Zj|A0j_J`JCj1j2jDj3j4jkh{Joo}Alxmxnx|J`bx {boxpx3c}J~J|bcr~AqxrxsxheEjaKbK/dpe:dablh9ndr!nerki'mKiLi,f~ecKdK6jeKfKtx=dIpuxgKJpvxhKFj7j8j-j9j!j.j#j/j$j%j:j'jKpwxiKLpxxjKkKlKfrmK-fyxnKoKpKqKodrKsKtKuKgraB}bhrbBcBvKwKxKiryK=ipoqo'iMezKy z A B C D E qedB5cEeAKBKmhCKDKzxEKeBFKGKHKIK.ffBgBhBiBhiNeJKjrGdKKAx/fjB2 BxHd;eCx:f3 J znkBLKlBnhMKDxExNKFxOKPKGxHxQKRKSKIxTKUKVKJxKxWKXKLxMxNxYKOxZK0KPxQx1K2KRx3KSx4KTxUx5K6K7KVx8K9K!KWx#K$KXx%KYx'KZx(K0x1x)K*K2x3x+K4x5x,K6x7x-K8x9x.K!x#x/K$x%x:K;K=K?Koh@K[KmB]KnB'x^K(xoBpB_K)x`K*x+xqBrBkrsBtBuBvB{KwB|KxByB}K,x~KaLbLcLdL?ieL%i) (ili:eMi)i@iphfL,P3hgLqhke-PBD.PCDejDD_s`s/P{s:P|s}shLMpId~s;PatEDFD=P?NGD?PHD@NIDiLzB-xJdJD@P[NKDLDMDNDODPD[P]N]PQD^NjLAB.xKdRD^P_Nbtct_Pdt`PetftkLNpregt{PhtSDTD|PUD}PVDWDlL/x!eXD~PYDitjtaQktbQltmtmLOp=entcQotlr`N{Njz|Nkz}N~NBBgcaOlzbOnLcOdOdQeOeQfOgOCBhchOfQiOAnjOkOFolOGomOnODBicoOHopOoLqOrOgQsOhQtOuOEB2dvOiQwOptqtjQmikQrtnipL?hLdstlQoiZD0DmQ*inQ1D+iqLNiMd2DoQ,i3D4DpQ-iqQ5D.irLOiNd6DrQ/ittutsQpitQvtqisL@hsewtuQrixtytvQztwQAtBttLPp#eCtxQDt7D8DyQ9DzQ!D#DuL:x$e$DAQ%D'D(DBQ)DCQ*D+DvL;x%e,DDQ-DEtFtEQGtFQHtItwLQp?eJtGQKtvgFBLtMtHQNtIQOtPtxLRp'eQtJQRt.D/DKQ:DLQ;D=DyL=x(e?DMQ@D[D]DNQ^DOQ_D`DzL?x)e{DPQ|DStTtQQUtRQVtWtALSp@eXtSQYtGBHBIBBLJBCLDLKBLBELFLGLGjacte@xroTpUpue[xsoVpWpveXp]xtoYpHLILJLKLrhLLMLNLOL^x8cbb_xPL?dMBQL9cmrRL@dNBSL!cnrTL`x{xULVLWL|xXLYLZL}x~x0L1Laybysh2L3Lcydy4LOB5Ley6LPB7L8LQB[d]dQd9L!LorRd#Lfyuopr$L%L#cqd'LZpgyhy$c(Lqrrrsriyjyky)L%clymy*L'c+L0pvo1pny(c,Loytrpy-LSd.Lurvr/L5b:Lwrxryr;L6b=LzrArBr?LCr7b@LDrEr[LbcTd;fRBccSBTBdcUBVB]L^L_L[iqyry2p=f]isy3p4p?fty@f`L{Lth{eWBuy[fvy]fwy^f|L}LXB~LuhaMbMcMdMeMfMgMhMiMjMkMxyvhlMmMnMoMYBZBpMqMwhUdrMFrsMxhtMyhuMrdsd0B1B)ccb* + vMwMzhxMyMAhzMAMBhBMCMyyChFeDMEMzyDh^iAyBy5p_f_iCy6p7p`f`iDyEy8p9p{fFM|fFy}fGy~f- Hy*cGe+c,c-c.c/cGMEhHMIyFhIMGhJMHhKMLMJyMMNM^ecfGrwoIhOMHrKyJhPMIrLyJrKhQMKrLrMyMrLhRMNrOrPrQrag{iNySM!pbg|iOyPy#pMhQycgRydgSyegTyTMUyNhVyxofggg2BUMVMhg3BWMXMWyig4BYMXyYyjg5BZMZyOh0y0M1yPh6B1M2ykg3y7B2M4ylg8B3M5ymg9B4M6yAgTQxOyOBgUQ}DzOAO5Mng!B7y6Mog7MQh8y8M#B9y9M!M$Bpg3d%B#M'B$M%Mjc'M(B(M)B4d)M*Mkc*BRr+B+MlcSr,MHe}i!y#y$y%yIe'y~i(y)y*y+yOe-M,B,y-y-B5d.B.y.M/B/y/MVd:M8b:ctdud:y;MRh;y=MSh:B;cec;B=Bfc?B@B?MThWd@MXd[MYd]MZd^M0d_M=y?y@yweTr[y]yvdUrVrWrXr^y_ywdYrZr0r1r2r, S 3r9b4r!b;j[B=j`M{M(j?j@j)j[j]jUh|Myo]B`y{y|y}MxdT yd}y~y1d~MaNzd5r^BazbzczJe*jbN

116 return va 2~c;p`n{nsixee f g h i j k yeK EO1hCdFO_BGO`B:i{B6r7rHO8rIO9r!roc#rJO$r|B}BKOcN~BLOaCdNbCpccCMOeNdCeCfCgChCiCNOfNOOjCgNqckCPOhN%r'rQO(rRO)r*r8d+rSO,rlCmCTOnCUOoCpCQeqCVOrC-r.rWO/rXO:r;r*e=rYO?riNjNdzkNezlNmNdbnNfzoNpNqNZOrN0OsNtNebuN1OvNwNxNzoyNAozNANfbBNBoCNDNEN2OFN3OGNHN=cIN4OJN@r[r5O$h6O]r%hrc^r7O'hsCtC8Ovi9OuCwiscvC!OxiwCxC#Oyi$OyCzitczC%OAi_r`r'O(h(O{r)h9d|r)O*h}r~r*Oas+ObscsReds,OesACBC-OCC.ODCECSeFC/OGCHCIC:OJC;OKCLCTeMC=ONCfsgs?Ohs@Oisjs+eks[OlstgRzmsns]Oos^OpsqsUers_OssOCPC`OQC{ORCSCVeTC|OUCVCWC}OXC~OYCZCWe0CaP1CtsusbPvscPwsxs,eysdPzs!d#d$dX wbxbybzbAb'baflqcowgePKNLNxgfP2CMNNN?cgb@chbibze[c%d+b,bidQqfogoBiAel m n o p q r BeO gP2hFdhP3CiP4C;i5CAsBsjPCskPDsEsKcFslPGs6C7CmPON8CnP9CPN!CLc#CoPQN$C%C'C(C)C*CpPRNqP+CSNMc,CrPTNHsIssPJstPKsLs)dMsuPNs-C.CvP/CwP:C;CYe=CxP?COsPsyPQszPRsSs-eTsAPUsUNVNgzWNhzXNYNjbZNiz0N1N2NBP3NCP4N5Nkb6NDP7N8N9NCo!NDo#N$Nlb%NEo'N(N)NEP*NFP+N,N]c-NGP.NVsWsHP-hIPXs.hNcYsJP/h@C[CKPEiLP]CFiOc^CMPGi_C`CNPHiOP{CIiPc|CPPJiZs0sQP:hRP1s;h*d2sSP=h3s4sTP5sUP6s7sZe8sVP9s}C~CWPaDXPbDcD0edDYPeDfDgDZPhD0PiDjD1ekD1PlD!s#s2P$s3P%s's.e(s4P)sugLA*s+s5P,s6P-s.s2e/s7P:smDnD8PoD9PpDqD3erD!PsDtDuD#PvD$PwDxD4eyD%PzD;s=s'P?s(P@s[s/e]s)P^s+d,d-d0 RbSbTbUbVb?bbf'qmoyg*P/N:Nzg+PAD;N=N^cmb_cnbobCe`c.d^b_b=dirpoqo'iMey z A B C D E Ne) ,P3hke-PBD.PCDejDD_s`s/P{s:P|s}sId~s;PatEDFD=P?NGD?PHD@NIDJdJD@P[NKDLDMDNDODPD[P]N]PQD^NKdRD^P_Nbtct_Pdt`Petftregt{PhtSDTD|PUD}PVDWD!eXD~PYDitjtaQktbQltmt=entcQot`N{Njz|Nkz}N~NgcaOlzbOcOdOdQeOeQfOgOhchOfQiOjOkOFolOGomOnOicoOHopOqOrOgQsOhQtOuO2dvOiQwOptqtjQmikQrtniLdstlQoiZD0DmQ*inQ1D+iMd2DoQ,i3D4DpQ-iqQ5D.iNd6DrQ/ittutsQpitQvtqisewtuQrixtytvQztwQAtBt#eCtxQDt7D8DyQ9DzQ!D#D$e$DAQ%D'D(DBQ)DCQ*D+D%e,DDQ-DEtFtEQGtFQHtIt?eJtGQKtvgFBLtMtHQNtIQOtPt'eQtJQRt.D/DKQ:DLQ;D=D(e?DMQ@D[D]DNQ^DOQ_D`D)e{DPQ|DStTtQQUtRQVtWt@eXtSQYtteuevebb#c$c%c'c(crdcfGrwoAgTQxOyOBgUQ}DzOAO3djc4dkclcOe5dwevdwd

117 return None 2~D{c6d|cW Cg5n,p6n-p!h$m|h}hdf|eaEbEgjcEdEZt~c#o0teE$o1tfEajhjijJjjjkjKjljLjmjnjMjoj%o2tgE'o3thEiEjE.pkEef4tlEmEnEoE#bpEqErEsE/pmz. :pnzoztEuEvE;pwEPi`n{nsixE7dpzqb`dyEzEDgAEBE5tCEqzDEEEFEGEffrzsztzuz8hHE=pmcIE6tgfvzF 7tnc7e8thfG s vnwzJExzEgKE9t!tLE#tMENE$t%tOEPEQE'tRESETE(t)tUEVE*t+t,tWE-tXEYE.t/tZE0E:t1E;t2E=t?t3E4E5E@t6E7E8E[t9E!E]t#E^t$E_t%E`t{t'E(E|t}t)E~tau*Ebucu+Edueu,Efugu-Ehuiu.E/E:E;EFg=E?Eyz@Ezzju[EkuAzBz]Elu^EmunuCzDz?pEzFzGzHz_EIz`EJzKz{Eou|E}E~EaFbFQicFiiti#h5e~huiRiGgdFeFHgfF(oocgFLzpupchFMzquqciF)o8djFruQekF*o*e@pNzlFOzwnPzmFQznF4hrcoFaiscpFbitcqF5h9drF+oResFsuSetFtuTeuF,o+etgRzvF-oUewFuuVexFvuWeyF.o,eSzTzUzzFVzAFBFWzXzCFDFEFbj: wu|n/o:oxu}n;o=o?oyu~n@oFFGFHFIFIgJFKFLFMFzutbX AuNFadYzOFub[pPFbdZzQFvb]pRFBuCuSFTFUFDuVFWFXFEuFuYFZFGuHuJg0F1FIuJu2F0z3FKu4F1z5F6F2zcdddwc7F8F^pxc9FLuao_p!F#Fwb%b$F[oMuNuxb%F`p{p|pOuPuQu'FybRuSu(Fzb)F]obo^oTuAb*FUu}pVu+Fyc,F~paq-F4 .Fbqcqdq/F5 :Feqfqgq;Fhq6 =Fiqjq?F; zcif3z= 4z5z? 6z7z@F[F]FSiWuXu_ojfTiYu`o{okfZulf^F_FKg_e8z0umf1unf2uof`F{F9z|FLg}F~FaGbGcGdGeGfGgGhGiG3uMgjGkGlGmG!z#znGoGNgAcpGkqqGOgrGPgsG'b(b$z%zBbY L M tGuGQgvGwGRgxGyGSgzGAG4uTg{dBGCG5uUgUi6u7u|opfVi8u}o~oqfWi9u!uapbprfDGsf#utf$uufU %uCb|dDbEbFbGbHbEGVgFG'uWgGGXgHGYgIGJG(uKGLG[eaflqcoZgMGmq)u0gNGnq*uoq1gOGpqqq+urq2gPGsqtquqvqvfXi,uQGcpwfYi-u.udp3g/uxf:uyf;uzf=uRG?u4g@udoAfBf'zSGTGCf(zUGVG[uDf)zWG]u^uEf*zXG_u5g`uYG{u6g+zZG|uFf}u,z0G~uGf-z1GavHf.z2Gbv3GIf/zcv4GJf5G7gdv6G:zev7G8G;zKf=z9G?z!G#G$G@z%G[z'G(G]zwq^z)Gxq*G}dZifvgvhviv~djv0ikvlvmvnv+G_zovpv`z{zqv,G|zrv-GBc.G7 Ib)b*bsv/G8gtv:G9g}zJb@ ~zaA[ bAcA;G!gCc=GDc?GEc@GFc[GGc]GuvvvwvyqxvyvzqAqBqCqzvAvDqEqFqGqHqN u Iq8 Jq9 NjdAOj^G_GpjPjQjqjRjSj#g`GeoeABvCvDv{G-bv .bEvFvHc|G}G/bKqfAGvHvIvaerj~GaHfd'dgdZ $g7nLq8nMq+h%mcidiLf}ebHcHtjdHeHJvidepKvfHfpLvgHcjujvjVjwjxjWjyjXjzjAjYjBjgpMvhHhpNviHjHkHNqlHMfOvmHnHoHpH:bqHrHsHtHOqgA] PqhAiAuHvHwHQqxH1ifogoBiyH(djALbcezHAH%gBHCHPvDHkAEHFHGHHHNflAmAnAoA9hIHRqIcJHQvOfpAH RvJc8eSvPfI t xnqAKHrA'gLHTvUvMHVvNHOHWvXvPHQHRHYvSHTHUHZv0vVHWH1v2v3vXH4vYHZH5v6v0H1H7v2H8v3H9v!v4H5H6H#v7H8H9H$v!H#H%v$H'v%H(v'H)v*v(H)H+v,v*H-v.v+H/v:v,H;v=v-H?v@v.H[v]v/H:H;H=H(g?H@HsA[HtA^v]H_vuAvA^H`v_H{v|vwAxASqyAzAAABA`HCA{HDAEA|H}v}H~HaIbIcI2idIjiCi,h6eeiDi3i)geIfI*ggIipKchIFA~vLciIGAawMcjIjp)dkIbwYelIkp-eTqHAmIIAynJAnIKAoI6hNcpIfiOcqIgiPcrI7h*dsIlpZetIcw0euIdw1evImp.eugLAwInp2exIew3eyIfw4ezIop/eMANAOAAIPABICIQARADIEIFIdj_ gwhoppqphwiorpsptpiwjoupGIHIIIJI+gKILIMINIjwOb0 kwOIjdSAPIPbUqQIkdTARIQbVqSIlwmwTIUIVInwWIXIYIowpwZI0Iqwrw,g1I2Iswtw3IUA4Iuw5IVA6I7IWAldmdSc8I9IWqTc!IvwkoXq#I$IRb=b%IvpwwxwSb'IYqZq0qywzwAw(ITbBwCw)IUb*IwploxpDwVb+IEw1qFw,IUc-I2q3q.I! /I4q5q6q:I# ;I7q8q9q=I!q$ ?I#q$q@I` VcQfXA{ YAZA| 0A1A[I]I^I4iGwHwypRf5iIwzpApSfJwTf_I`I-g`e2AKwUfLwVfMwWf{I|I3A}I.g~IaJbJcJdJeJfJgJhJiJjJNw/gkJlJmJnJ4A5AoJpJ:gWcqJ%qrJ;gsJ=gtJ?b@b6A7AWb1 P Q uJvJ?gwJxJ@gyJzJ[gAJBJOw]gdeCJDJPw^g6iQwRwBpXf7iSwCpDpYf8iTwUwEpFpZfEJ0fVw1fWw2fV XwXbeeYbZb0b1b2bFJ_gGJYw`gHJ{gIJ|gJJKJZwLJMJ]ebf'qmo}gNJ(q0w~gOJ)q1w*qahPJ+q,q2w-qbhQJ.q/q:q;q3f9i3wRJGp4f!i4w5wHpch6w5f7w6f8w7f9wSJ!wdh#wno8f9f8ATJUJ!f9AVJWJ$w#f!AXJ%w'w$f#AYJ(weh)wZJ*wfh$A0J+w%f,w%A1J-w'f'A2J.w(f(A3J/w4J)f)A:w5J*f6Jgh;w7J*A=w8J9J+A+f,A!J-A#J$J%J.A'J/A(J)J:A=q;A*J?q+Jfe#i?w@w[w]wge^w$i_w`w{w|w,J=A}w~w?A@Aax-J[Abx.JXc/J% 3b[b]bcx:Jhhdx;Jih]A4b} ^A_A~ `A{A=JjhYc?JZc@J0c[J1c]J2c^Jexfxgx@qhxix[q]q^q_qjxkx`q{q|q}q~qR w ar' br( Zj|A0j_J`JCj1j2jDj3j4jkh{Joo}Alxmxnx|J`bx {boxpx3c}J~J|bcr~AqxrxsxheEjaKbK/dpe:dablh9ndr!nerki'mKiLi,f~ecKdK6jeKfKtx=dIpuxgKJpvxhKFj7j8j-j9j!j.j#j/j$j%j:j'jKpwxiKLpxxjKkKlKfrmK-fyxnKoKpKqKodrKsKtKuKgraB}bhrbBcBvKwKxKiryK=ipoqo'izKqedB5cEeAKBKmhCKDKzxEKeBFKGKHKIK.ffBgBhBiBhiJKjrGdKKAx/fjB2 BxHd;eCx:f3 J znkBLKlBnhMKDxExNKFxOKPKGxHxQKRKSKIxTKUKVKJxKxWKXKLxMxNxYKOxZK0KPxQx1K2KRx3KSx4KTxUx5K6K7KVx8K9K!KWx#K$KXx%KYx'KZx(K0x1x)K*K2x3x+K4x5x,K6x7x-K8x9x.K!x#x/K$x%x:K;K=K?Koh@K[KmB]KnB'x^K(xoBpB_K)x`K*x+xqBrBkrsBtBuBvB{KwB|KxByB}K,x~KaLbLcLdL?ieL%i(ili:eMi)i@iphfLgLqhhLMpIdiLzB-xJdjLAB.xKdkLNprelL/x!emLOp=elrBBnLCBAnDBoLEBpL?hLdqLNiMdrLOiNdsL@hsetLPp#euL:x$evL;x%ewLQp?evgFBxLRp'eyL=x(ezL?x)eALSp@eGBHBIBBLJBCLDLKBLBELFLGLGjac@xroTpUp[xsoVpWpXp]xtoYpHLILJLKLrhLLMLNLOL^x8cbb_xPL?dMBQL9cmrRL@dNBSL!cnrTL`x{xULVLWL|xXLYLZL}x~x0L1Laybysh2L3Lcydy4LOB5Ley6LPB7L8LQB[d]dQd9L!LorRd#Lfyuopr$L%L#cqd'LZpgyhy$c(Lqrrrsriyjyky)L%clymy*L'c+L0pvo1pny(c,Loytrpy-LSd.Lurvr/L5b:Lwrxryr;L6b=LzrArBr?LCr7b@LDrEr[LbcTd;fRBccSBTBdcUBVB]L^L_L[iqyry2p=f]isy3p4p?fty@f`L{Lth{eWBuy[fvy]fwy^f|L}LXB~LuhaMbMcMdMeMfMgMhMiMjMkMxyvhlMmMnMoMYBZBpMqMwhUdrMFrsMxhtMyhuMrdsd0B1B)ccb* + vMwMzhxMyMAhzMAMBhBMCMyyChFeDMEMzyDh^iAyBy5p_f_iCy6p7p`f`iDyEy8p9p{fFM|fFy}fGy~f- Hy*cGe+c,c-c.c/cGMEhHMIyFhIMGhJMHhKMLMJyMMNM^ecfGrwoIhOMHrKyJhPMIrLyJrKhQMKrLrMyMrLhRMNrOrPrQrag{iNySM!pbg|iOyPy#pMhQycgRydgSyegTyTMUyNhVyxofggg2BUMVMhg3BWMXMWyig4BYMXyYyjg5BZMZyOh0y0M1yPh6B1M2ykg3y7B2M4ylg8B3M5ymg9B4M6y5Mng!B7y6Mog7MQh8y8M#B9y9M!M$Bpg%B#M'B$M%M'M(B(M)B)M*M*BRr+B+MSr,MHe}i!y#y$y%yIe'y~i(y)y*y+y-M,B,y-y-B.B.y.M/B/y/MVd:M8b:ctdud:y;MRh;y=MSh:B;cec;B=Bfc?B@B?MThWd@MXd[MYd]MZd^M0d_M=y?y@yTr[y]yUrVrWrXr^y_yYrZr0r1r2r, S 3r9b4r!b;j[B=j`M{M(j?j@j)j[j]jUh|Myo]B`y{y|y}MxdT yd}y~y1d~MaNzd5r^BazbzczJe*jbN

118 

119 @property 1abcd

120 def serialization_alias(self) -> str | None: 1abcd

121 sa = self.field_info.serialization_alias 2|cW pb_d}c|eleAdBdPe. e f g h i j k qbF G s rbsb$b/ ucvcmeVhtbadubbdvb= ? Wh_e(bBbedqgY L M U CbDbEbFbGbHb7 Ib)b*bJb@ [ +b,bN u 8 9 v gdZ Kbbehd}eneDdEdXe] l m n o p q r LbH I t MbNb;b^ QcRcoeXhObjdPbkdQb{ | Yh`e@bWbndrg1 P Q V XbYbZb0b1b2b% 3b[b]b4b} ~ ^b_bR w ' ( x :dab4cDe;d~eKeieje9e}by z A B C D E 5c2 3 J 6c7cpd~bOdPdLeZh8c?d9c@d!cccdc0h{esd)c^dsgcb* + - *c+c,c-c.c/c8b:ctdud;cecfcvdwd, S 9b!bT

122 return sa or None 2|cW pb_d}c|eleAdBdPe. e f g h i j k qbF G s rbsb$b/ ucvcmeVhtbadubbdvb= ? Wh_e(bBbedqgY L M U CbDbEbFbGbHb7 Ib)b*bJb@ [ +b,bN u 8 9 v gdZ Kbbehd}eneDdEdXe] l m n o p q r LbH I t MbNb;b^ QcRcoeXhObjdPbkdQb{ | Yh`e@bWbndrg1 P Q V XbYbZb0b1b2b% 3b[b]b4b} ~ ^b_bR w ' ( x :dab4cDe;d~eKeieje9e}by z A B C D E 5c2 3 J 6c7cpd~bOdPdLeZh8c?d9c@d!cccdc0h{esd)c^dsgcb* + - *c+c,c-c.c/c8b:ctdud;cecfcvdwd, S 9b!bT

123 

124 @property 1abcd

125 def default(self) -> Any: 1abcd

126 return self.get_default() 25n,p6n-p$m|h}h(m#o0t$o1taj%o2t'o3t.pnzoz;p`n{n5tqz7t8twzxz9t!t#tjuBz?pGzHzIziiui|B}BcN~BaCdNbCLzpucCeNdCeCfCgChCiCfNjCgNMzqukChNlCmCnCoCpCruqCrCpNqNrNsNtNOzuNvNwNxNyNzNANPzBNCNsCtCviuCwiaivCxiwCxCyiyCzibizCAiACBCCCDCECsuFCGCHCICJCKCLCtuMCNCOCPCQCRCSCuuTCUCVCWCXCYCZCvu0C1Cbjwu|n/o:oxu}n;o=o?oyu~n@ozu[p]pBuCuLuao[oMuNu]obo^oTuWuXu_oYu`o{oZu0u1u2u3u6u7u|o8u}o~o9u!uapbp#u$u%ulqco,ucp-udp/u:u;u=u@u'z(z)z*z`u-z.zKNLNMNNN/zcvdv:z;z@z[zsvtvuvvvwvyqxvyvzqAqBqCqzvAvDqEqFqGqHqIqJqpjqjeoeABvCvDvKq7nLq8nMq%mcidi~mepKvfpLvcjgpMvhpNvNqhAiAQqfogoPvkARvSvqArATvUvVv^vvASqAABACAjiDi6C7CON8C9CPN!CFA~v#CQN$C%C'C(C)C*CRN+CSNGAaw,CTN-C.C/C:C;Cbw=C?C1N2N3N4N5NIA6N7N8N9N!N#N$NJA%N'N@C[CEi]CFifi^CGi_C`CHi{CIigi|CJi}C~CaDbDcDcwdDeDfDgDhDiDjDdwkDlDmDnDoDpDqDewrDsDtDuDvDwDxDfwyDzDdjgwhoppqphwiorpsptpiwjoupjwUqVqlwmwvwkovpwwxwwploxpDwGwHwypIwzpApJwKwLwMwNwQwRwBpSwCpDpTwUwEpFpVwWwXw'qmo3wGp4wHp6w7w8w9w#w8A9A!A#A)w'A(A/N:N;N=N)A:w;w*A+A.A/Acxdxexfxgx@qhxix[q]q^q_qjxkx`q{q|q}q~qarbrCjDjoo}Alxmxnxcr9ndr!ner'mKiLi#nIpuxJpvxFjKpwxLpxxfrbBcBirpoqozxeBBxCxkBlBDxExFx'xpBkruBvBwB%i)iEDFD?NGDHD@NIDzB-xJD[NKDLDMDNDODPD]NQD^NAB.xRD_NSDTDUDVDWD/xXDYDcOdOeOfOgOCBhOiOjOkOlOmOnODBoOpOZD0D*i1D+iNi2D,i3D4D-i5D.iOi6D/i7D8D9D!D#D:x$D%D'D(D)D*D+D;x,D-D.D/D:D;D=D=x?D@D[D]D^D_D`D?x{D|DGj@xroTpUp[xsoVpWpXp]xtoYp^xmrnr`x{xfyuoZpgyhy0pvo1pnyqyry2psy3p4ptyuyvywyxyAyBy5pCy6p7pDyEy8p9pFyGyHyGrwoNy!pOy#pQyRySyTyVy2B3B4B5B0y8B9BxOyOzOAO!B7y8y#B$B(B)B:y;y=y?y@yTr[y]yUrVrWrXr^y_yYrZr0r1r2r3r4r(j)jyo]B`y{y|y5r

127 

128 def __post_init__(self) -> None: 1abcd

129 with warnings.catch_warnings(): 2a {c6d|cW pb_d}c!h|h}hleBn(m)mfjHjIjAdBdgj*m~cajhjijJjjjkjKjljLjmjnjMjoj+mIoPe#b. Pisixee f g h i j k 7dqb`dCnDnEnFnGnHnInJnKnLnMn8hyemc,mF nc7e-mNn.mG s /m:mQi;miiK ti#h5e~huiRiCd:iocpcqc8dQe*edbebfb=c$h%h4hrc'hviwiaiscxiyizibitcAi(h)h5h9d*hReSeTe+eUeVeWe,erbsb$bJo/ KoLoMoNouc=m?m@m[m]m^m_m`m{mvcbj: me!d#d$dtbX adubbdvbcdddwcxcwb%bxbybzbAbyc4 5 6 ; zc= ? SiTiAc'b(bBbedY L M {dUiViWiU Cb|dDbEbFbGbHb[eXiYi?cgb@chbib}dZi~d0ize[cBc7 Ib)b*bOoJb@ [ CcDcEcFcGc%d+b,bN u 8 9 NjOjpjPjQjqjRjSj|m-bv .bHc/bae}mOnPnrjb fd'dgdZ Kbbehd+hcidineQn~mansjTjUjDdEdtjbnidcjujvjVjwjxjWjyjXjzjAjYjBjcnPoXe:b] 1iBiAel m n o p q r (dLbceRnSnTnUnVnWnXnYnZn0n1n9hBeIcdnH Jc8een2nfnI t gnhn2iinjiO Ci,h6eeiDi3iFd;iKcLcMc)dYe-ejbkblb]c-h.h6hNc/hEiFifiOcGiHiIigiPcJi:h;h7h*d=hZe0e1e.e2e3e4e/eMbNb;bQo^ RoSoToUoQcjnknlnmnnnonpnqnrnRcdj_ oe+d,d-dsnOb0 jdPbkdQbldmdScTcRb=bSbTbUbVbUc! # $ ` Vc{ | 4i5iWc?b@bWbnd1 P Q de6i7i8iV XbeeYbZb0b1b2b]e9i!i^cmb_cnbobfe#ige$iCe`cXc% 3b[b]bVo4b} ~ YcZc0c1c2c.d^b_bR w ' ( Zj0jCj1j2jDj3j4jtn`bx {b3c|bheun3n4nEjc d /dpe:dab4cDe;dkiKiLiKeWo#n$n5j+j,jieje6j%n=dFj7j8j-j9j!j.j#j/j$j%j:j'j'n$p9eod}b=i'iMey z A B C D E qe5cEeXoYoZo0o1o2o3o4o5o6o7ohiNeGd(n2 Hd;e)n8o*n3 J +n,n?i-n%i) (ili:eMi)i@ikeejIdJdKdre!e=egchcic2dmini?hLdoi*i+iNiMd,i-i.iOiNd/ipiqi@hseri#e$e%e?e'e(e)e@e6c7cpd%p~b'p(p)p*pOd.n/n:n;n=n?n@n[n]nPdGjacLeteueve8cbb?d9c@d!c[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTdccdc[i]iUdrdsd)c^dcb* + Fe^i_i`i- *cGe+c,c-c.c/c^e{i|i3djc4dkclcHe}iIe~iOe5dVd8b:ctdud+p;cecfcWdXdYdZd0dwevdwd, S 9b!b;j=j(j?j@j)j[j]j^nxdT yd1dzdJe_n9o!o*j

130 # Pydantic >= 2.12.0 warns about field specific metadata that is unused 

131 # (e.g. `TypeAdapter(Annotated[int, Field(alias='b')])`). In some cases, we 

132 # end up building the type adapter from a model field annotation so we 

133 # need to ignore the warning: 

134 if shared.PYDANTIC_VERSION_MINOR_TUPLE >= (2, 12): 2a {c6d|cW pb_d}c!h|h}hleBn(m)mfjHjIjAdBdgj*m~cajhjijJjjjkjKjljLjmjnjMjoj+mIoPe#b. Pisixee f g h i j k 7dqb`dCnDnEnFnGnHnInJnKnLnMn8hyemc,mF nc7e-mNn.mG s /m:mQi;miiK ti#h5e~huiRiCd:iocpcqc8dQe*edbebfb=c$h%h4hrc'hviwiaiscxiyizibitcAi(h)h5h9d*hReSeTe+eUeVeWe,erbsb$bJo/ KoLoMoNouc=m?m@m[m]m^m_m`m{mvcbj: me!d#d$dtbX adubbdvbcdddwcxcwb%bxbybzbAbyc4 5 6 ; zc= ? SiTiAc'b(bBbedY L M {dUiViWiU Cb|dDbEbFbGbHb[eXiYi?cgb@chbib}dZi~d0ize[cBc7 Ib)b*bOoJb@ [ CcDcEcFcGc%d+b,bN u 8 9 NjOjpjPjQjqjRjSj|m-bv .bHc/bae}mOnPnrjb fd'dgdZ Kbbehd+hcidineQn~mansjTjUjDdEdtjbnidcjujvjVjwjxjWjyjXjzjAjYjBjcnPoXe:b] 1iBiAel m n o p q r (dLbceRnSnTnUnVnWnXnYnZn0n1n9hBeIcdnH Jc8een2nfnI t gnhn2iinjiO Ci,h6eeiDi3iFd;iKcLcMc)dYe-ejbkblb]c-h.h6hNc/hEiFifiOcGiHiIigiPcJi:h;h7h*d=hZe0e1e.e2e3e4e/eMbNb;bQo^ RoSoToUoQcjnknlnmnnnonpnqnrnRcdj_ oe+d,d-dsnOb0 jdPbkdQbldmdScTcRb=bSbTbUbVbUc! # $ ` Vc{ | 4i5iWc?b@bWbnd1 P Q de6i7i8iV XbeeYbZb0b1b2b]e9i!i^cmb_cnbobfe#ige$iCe`cXc% 3b[b]bVo4b} ~ YcZc0c1c2c.d^b_bR w ' ( Zj0jCj1j2jDj3j4jtn`bx {b3c|bheun3n4nEjc d /dpe:dab4cDe;dkiKiLiKeWo#n$n5j+j,jieje6j%n=dFj7j8j-j9j!j.j#j/j$j%j:j'j'n$p9eod}b=i'iMey z A B C D E qe5cEeXoYoZo0o1o2o3o4o5o6o7ohiNeGd(n2 Hd;e)n8o*n3 J +n,n?i-n%i) (ili:eMi)i@ikeejIdJdKdre!e=egchcic2dmini?hLdoi*i+iNiMd,i-i.iOiNd/ipiqi@hseri#e$e%e?e'e(e)e@e6c7cpd%p~b'p(p)p*pOd.n/n:n;n=n?n@n[n]nPdGjacLeteueve8cbb?d9c@d!c[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTdccdc[i]iUdrdsd)c^dcb* + Fe^i_i`i- *cGe+c,c-c.c/c^e{i|i3djc4dkclcHe}iIe~iOe5dVd8b:ctdud+p;cecfcWdXdYdZd0dwevdwd, S 9b!b;j=j(j?j@j)j[j]j^nxdT yd1dzdJe_n9o!o*j

135 from pydantic.warnings import UnsupportedFieldAttributeWarning 2a {c6d|cW pb_d}c!h|h}hleBn(m)mfjHjIjAdBdgj*m~cajhjijJjjjkjKjljLjmjnjMjoj+mIoPe#b. Pisixee f g h i j k 7dqb`dCnDnEnFnGnHnInJnKnLnMn8hyemc,mF nc7e-mNn.mG s /m:mQi;miiK ti#h5e~huiRiCd:iocpcqc8dQe*edbebfb=c$h%h4hrc'hviwiaiscxiyizibitcAi(h)h5h9d*hReSeTe+eUeVeWe,erbsb$bJo/ KoLoMoNouc=m?m@m[m]m^m_m`m{mvcbj: me!d#d$dtbX adubbdvbcdddwcxcwb%bxbybzbAbyc4 5 6 ; zc= ? SiTiAc'b(bBbedY L M {dUiViWiU Cb|dDbEbFbGbHb[eXiYi?cgb@chbib}dZi~d0ize[cBc7 Ib)b*bOoJb@ [ CcDcEcFcGc%d+b,bN u 8 9 NjOjpjPjQjqjRjSj|m-bv .bHc/bae}mOnPnrjb fd'dgdZ Kbbehd+hcidineQn~mansjTjUjDdEdtjbnidcjujvjVjwjxjWjyjXjzjAjYjBjcnPoXe:b] 1iBiAel m n o p q r (dLbceRnSnTnUnVnWnXnYnZn0n1n9hBeIcdnH Jc8een2nfnI t gnhn2iinjiO Ci,h6eeiDi3iFd;iKcLcMc)dYe-ejbkblb]c-h.h6hNc/hEiFifiOcGiHiIigiPcJi:h;h7h*d=hZe0e1e.e2e3e4e/eMbNb;bQo^ RoSoToUoQcjnknlnmnnnonpnqnrnRcdj_ oe+d,d-dsnOb0 jdPbkdQbldmdScTcRb=bSbTbUbVbUc! # $ ` Vc{ | 4i5iWc?b@bWbnd1 P Q de6i7i8iV XbeeYbZb0b1b2b]e9i!i^cmb_cnbobfe#ige$iCe`cXc% 3b[b]bVo4b} ~ YcZc0c1c2c.d^b_bR w ' ( Zj0jCj1j2jDj3j4jtn`bx {b3c|bheun3n4nEj

136 

137 warnings.simplefilter( 2a {c6d|cW pb_d}c!h|h}hleBn(m)mfjHjIjAdBdgj*m~cajhjijJjjjkjKjljLjmjnjMjoj+mIoPe#b. Pisixee f g h i j k 7dqb`dCnDnEnFnGnHnInJnKnLnMn8hyemc,mF nc7e-mNn.mG s /m:mQi;miiK ti#h5e~huiRiCd:iocpcqc8dQe*edbebfb=c$h%h4hrc'hviwiaiscxiyizibitcAi(h)h5h9d*hReSeTe+eUeVeWe,erbsb$bJo/ KoLoMoNouc=m?m@m[m]m^m_m`m{mvcbj: me!d#d$dtbX adubbdvbcdddwcxcwb%bxbybzbAbyc4 5 6 ; zc= ? SiTiAc'b(bBbedY L M {dUiViWiU Cb|dDbEbFbGbHb[eXiYi?cgb@chbib}dZi~d0ize[cBc7 Ib)b*bOoJb@ [ CcDcEcFcGc%d+b,bN u 8 9 NjOjpjPjQjqjRjSj|m-bv .bHc/bae}mOnPnrjb fd'dgdZ Kbbehd+hcidineQn~mansjTjUjDdEdtjbnidcjujvjVjwjxjWjyjXjzjAjYjBjcnPoXe:b] 1iBiAel m n o p q r (dLbceRnSnTnUnVnWnXnYnZn0n1n9hBeIcdnH Jc8een2nfnI t gnhn2iinjiO Ci,h6eeiDi3iFd;iKcLcMc)dYe-ejbkblb]c-h.h6hNc/hEiFifiOcGiHiIigiPcJi:h;h7h*d=hZe0e1e.e2e3e4e/eMbNb;bQo^ RoSoToUoQcjnknlnmnnnonpnqnrnRcdj_ oe+d,d-dsnOb0 jdPbkdQbldmdScTcRb=bSbTbUbVbUc! # $ ` Vc{ | 4i5iWc?b@bWbnd1 P Q de6i7i8iV XbeeYbZb0b1b2b]e9i!i^cmb_cnbobfe#ige$iCe`cXc% 3b[b]bVo4b} ~ YcZc0c1c2c.d^b_bR w ' ( Zj0jCj1j2jDj3j4jtn`bx {b3c|bheun3n4nEj

138 "ignore", category=UnsupportedFieldAttributeWarning 

139 ) 

140 # TODO: remove after setting the min Pydantic to v2.12.3 

141 # that adds asdict(), and use self.field_info.asdict() instead 

142 field_dict = asdict(self.field_info) 2a {c6d|cW pb_d}c!h|h}hleBn(m)mfjHjIjAdBdgj*m~cajhjijJjjjkjKjljLjmjnjMjoj+mIoPe#b. Pisixee f g h i j k 7dqb`dCnDnEnFnGnHnInJnKnLnMn8hyemc,mF nc7e-mNn.mG s /m:mQi;miiK ti#h5e~huiRiCd:iocpcqc8dQe*edbebfb=c$h%h4hrc'hviwiaiscxiyizibitcAi(h)h5h9d*hReSeTe+eUeVeWe,erbsb$bJo/ KoLoMoNouc=m?m@m[m]m^m_m`m{mvcbj: me!d#d$dtbX adubbdvbcdddwcxcwb%bxbybzbAbyc4 5 6 ; zc= ? SiTiAc'b(bBbedY L M {dUiViWiU Cb|dDbEbFbGbHb[eXiYi?cgb@chbib}dZi~d0ize[cBc7 Ib)b*bOoJb@ [ CcDcEcFcGc%d+b,bN u 8 9 NjOjpjPjQjqjRjSj|m-bv .bHc/bae}mOnPnrjb fd'dgdZ Kbbehd+hcidineQn~mansjTjUjDdEdtjbnidcjujvjVjwjxjWjyjXjzjAjYjBjcnPoXe:b] 1iBiAel m n o p q r (dLbceRnSnTnUnVnWnXnYnZn0n1n9hBeIcdnH Jc8een2nfnI t gnhn2iinjiO Ci,h6eeiDi3iFd;iKcLcMc)dYe-ejbkblb]c-h.h6hNc/hEiFifiOcGiHiIigiPcJi:h;h7h*d=hZe0e1e.e2e3e4e/eMbNb;bQo^ RoSoToUoQcjnknlnmnnnonpnqnrnRcdj_ oe+d,d-dsnOb0 jdPbkdQbldmdScTcRb=bSbTbUbVbUc! # $ ` Vc{ | 4i5iWc?b@bWbnd1 P Q de6i7i8iV XbeeYbZb0b1b2b]e9i!i^cmb_cnbobfe#ige$iCe`cXc% 3b[b]bVo4b} ~ YcZc0c1c2c.d^b_bR w ' ( Zj0jCj1j2jDj3j4jtn`bx {b3c|bheun3n4nEjc d /dpe:dab4cDe;dkiKiLiKeWo#n$n5j+j,jieje6j%n=dFj7j8j-j9j!j.j#j/j$j%j:j'j'n$p9eod}b=i'iMey z A B C D E qe5cEeXoYoZo0o1o2o3o4o5o6o7ohiNeGd(n2 Hd;e)n8o*n3 J +n,n?i-n%i) (ili:eMi)i@ikeejIdJdKdre!e=egchcic2dmini?hLdoi*i+iNiMd,i-i.iOiNd/ipiqi@hseri#e$e%e?e'e(e)e@e6c7cpd%p~b'p(p)p*pOd.n/n:n;n=n?n@n[n]nPdGjacLeteueve8cbb?d9c@d!c[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTdccdc[i]iUdrdsd)c^dcb* + Fe^i_i`i- *cGe+c,c-c.c/c^e{i|i3djc4dkclcHe}iIe~iOe5dVd8b:ctdud+p;cecfcWdXdYdZd0dwevdwd, S 9b!b;j=j(j?j@j)j[j]j^nxdT yd1dzdJe_n9o!o*j

143 annotated_args = ( 2a {c6d|cW pb_d}c!h|h}hleBn(m)mfjHjIjAdBdgj*m~cajhjijJjjjkjKjljLjmjnjMjoj+mIoPe#b. Pisixee f g h i j k 7dqb`dCnDnEnFnGnHnInJnKnLnMn8hyemc,mF nc7e-mNn.mG s /m:mQi;miiK ti#h5e~huiRiCd:iocpcqc8dQe*edbebfb=c$h%h4hrc'hviwiaiscxiyizibitcAi(h)h5h9d*hReSeTe+eUeVeWe,erbsb$bJo/ KoLoMoNouc=m?m@m[m]m^m_m`m{mvcbj: me!d#d$dtbX adubbdvbcdddwcxcwb%bxbybzbAbyc4 5 6 ; zc= ? SiTiAc'b(bBbedY L M {dUiViWiU Cb|dDbEbFbGbHb[eXiYi?cgb@chbib}dZi~d0ize[cBc7 Ib)b*bOoJb@ [ CcDcEcFcGc%d+b,bN u 8 9 NjOjpjPjQjqjRjSj|m-bv .bHc/bae}mOnPnrjb fd'dgdZ Kbbehd+hcidineQn~mansjTjUjDdEdtjbnidcjujvjVjwjxjWjyjXjzjAjYjBjcnPoXe:b] 1iBiAel m n o p q r (dLbceRnSnTnUnVnWnXnYnZn0n1n9hBeIcdnH Jc8een2nfnI t gnhn2iinjiO Ci,h6eeiDi3iFd;iKcLcMc)dYe-ejbkblb]c-h.h6hNc/hEiFifiOcGiHiIigiPcJi:h;h7h*d=hZe0e1e.e2e3e4e/eMbNb;bQo^ RoSoToUoQcjnknlnmnnnonpnqnrnRcdj_ oe+d,d-dsnOb0 jdPbkdQbldmdScTcRb=bSbTbUbVbUc! # $ ` Vc{ | 4i5iWc?b@bWbnd1 P Q de6i7i8iV XbeeYbZb0b1b2b]e9i!i^cmb_cnbobfe#ige$iCe`cXc% 3b[b]bVo4b} ~ YcZc0c1c2c.d^b_bR w ' ( Zj0jCj1j2jDj3j4jtn`bx {b3c|bheun3n4nEjc d /dpe:dab4cDe;dkiKiLiKeWo#n$n5j+j,jieje6j%n=dFj7j8j-j9j!j.j#j/j$j%j:j'j'n$p9eod}b=i'iMey z A B C D E qe5cEeXoYoZo0o1o2o3o4o5o6o7ohiNeGd(n2 Hd;e)n8o*n3 J +n,n?i-n%i) (ili:eMi)i@ikeejIdJdKdre!e=egchcic2dmini?hLdoi*i+iNiMd,i-i.iOiNd/ipiqi@hseri#e$e%e?e'e(e)e@e6c7cpd%p~b'p(p)p*pOd.n/n:n;n=n?n@n[n]nPdGjacLeteueve8cbb?d9c@d!c[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTdccdc[i]iUdrdsd)c^dcb* + Fe^i_i`i- *cGe+c,c-c.c/c^e{i|i3djc4dkclcHe}iIe~iOe5dVd8b:ctdud+p;cecfcWdXdYdZd0dwevdwd, S 9b!b;j=j(j?j@j)j[j]j^nxdT yd1dzdJe_n9o!o*j

144 field_dict["annotation"], 

145 *field_dict["metadata"], 

146 # this FieldInfo needs to be created again so that it doesn't include 

147 # the old field info metadata and only the rest of the attributes 

148 Field(**field_dict["attributes"]), 

149 ) 

150 self._type_adapter: TypeAdapter[Any] = TypeAdapter( 2a {c6d|cW pb_d}c!h|h}hleBn(m)mfjHjIjAdBdgj*m~cajhjijJjjjkjKjljLjmjnjMjoj+mIoPe#b. Pisixee f g h i j k 7dqb`dCnDnEnFnGnHnInJnKnLnMn8hyemc,mF nc7e-mNn.mG s /m:mQi;miiK ti#h5e~huiRiCd:iocpcqc8dQe*edbebfb=c$h%h4hrc'hviwiaiscxiyizibitcAi(h)h5h9d*hReSeTe+eUeVeWe,erbsb$bJo/ KoLoMoNouc=m?m@m[m]m^m_m`m{mvcbj: me!d#d$dtbX adubbdvbcdddwcxcwb%bxbybzbAbyc4 5 6 ; zc= ? SiTiAc'b(bBbedY L M {dUiViWiU Cb|dDbEbFbGbHb[eXiYi?cgb@chbib}dZi~d0ize[cBc7 Ib)b*bOoJb@ [ CcDcEcFcGc%d+b,bN u 8 9 NjOjpjPjQjqjRjSj|m-bv .bHc/bae}mOnPnrjb fd'dgdZ Kbbehd+hcidineQn~mansjTjUjDdEdtjbnidcjujvjVjwjxjWjyjXjzjAjYjBjcnPoXe:b] 1iBiAel m n o p q r (dLbceRnSnTnUnVnWnXnYnZn0n1n9hBeIcdnH Jc8een2nfnI t gnhn2iinjiO Ci,h6eeiDi3iFd;iKcLcMc)dYe-ejbkblb]c-h.h6hNc/hEiFifiOcGiHiIigiPcJi:h;h7h*d=hZe0e1e.e2e3e4e/eMbNb;bQo^ RoSoToUoQcjnknlnmnnnonpnqnrnRcdj_ oe+d,d-dsnOb0 jdPbkdQbldmdScTcRb=bSbTbUbVbUc! # $ ` Vc{ | 4i5iWc?b@bWbnd1 P Q de6i7i8iV XbeeYbZb0b1b2b]e9i!i^cmb_cnbobfe#ige$iCe`cXc% 3b[b]bVo4b} ~ YcZc0c1c2c.d^b_bR w ' ( Zj0jCj1j2jDj3j4jtn`bx {b3c|bheun3n4nEjc d /dpe:dab4cDe;dkiKiLiKeWo#n$n5j+j,jieje6j%n=dFj7j8j-j9j!j.j#j/j$j%j:j'j'n$p9eod}b=i'iMey z A B C D E qe5cEeXoYoZo0o1o2o3o4o5o6o7ohiNeGd(n2 Hd;e)n8o*n3 J +n,n?i-n%i) (ili:eMi)i@ikeejIdJdKdre!e=egchcic2dmini?hLdoi*i+iNiMd,i-i.iOiNd/ipiqi@hseri#e$e%e?e'e(e)e@e6c7cpd%p~b'p(p)p*pOd.n/n:n;n=n?n@n[n]nPdGjacLeteueve8cbb?d9c@d!c[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTdccdc[i]iUdrdsd)c^dcb* + Fe^i_i`i- *cGe+c,c-c.c/c^e{i|i3djc4dkclcHe}iIe~iOe5dVd8b:ctdud+p;cecfcWdXdYdZd0dwevdwd, S 9b!b;j=j(j?j@j)j[j]j^nxdT yd1dzdJe_n9o!o*j

151 Annotated[annotated_args], 

152 config=self.config, 

153 ) 

154 

155 def get_default(self) -> Any: 1abcd

156 if self.field_info.is_required(): 25n,p6n-p$m|h}h(m#o0t$o1taj%o2t'o3t.pnzoz;p`n{n5tqz7t8twzxz9t!t#tjuBz?pGzHzIziiui|B}BcN~BaCdNbCLzpucCeNdCeCfCgChCiCfNjCgNMzqukChNlCmCnCoCpCruqCrCpNqNrNsNtNOzuNvNwNxNyNzNANPzBNCNsCtCviuCwiaivCxiwCxCyiyCzibizCAiACBCCCDCECsuFCGCHCICJCKCLCtuMCNCOCPCQCRCSCuuTCUCVCWCXCYCZCvu0C1Cbjwu|n/o:oxu}n;o=o?oyu~n@ozu[p]pBuCuLuao[oMuNu]obo^oTuWuXu_oYu`o{oZu0u1u2u3u6u7u|o8u}o~o9u!uapbp#u$u%ulqco,ucp-udp/u:u;u=u@u'z(z)z*z`u-z.zKNLNMNNN/zcvdv:z;z@z[zsvtvuvvvwvyqxvyvzqAqBqCqzvAvDqEqFqGqHqIqJqpjqjeoeABvCvDvKq7nLq8nMq%mcidi~mepKvfpLvcjgpMvhpNvNqhAiAQqfogoPvkARvSvqArATvUvVv^vvASqAABACAjiDi6C7CON8C9CPN!CFA~v#CQN$C%C'C(C)C*CRN+CSNGAaw,CTN-C.C/C:C;Cbw=C?C1N2N3N4N5NIA6N7N8N9N!N#N$NJA%N'N@C[CEi]CFifi^CGi_C`CHi{CIigi|CJi}C~CaDbDcDcwdDeDfDgDhDiDjDdwkDlDmDnDoDpDqDewrDsDtDuDvDwDxDfwyDzDdjgwhoppqphwiorpsptpiwjoupjwUqVqlwmwvwkovpwwxwwploxpDwGwHwypIwzpApJwKwLwMwNwQwRwBpSwCpDpTwUwEpFpVwWwXw'qmo3wGp4wHp6w7w8w9w#w8A9A!A#A)w'A(A/N:N;N=N)A:w;w*A+A.A/Acxdxexfxgx@qhxix[q]q^q_qjxkx`q{q|q}q~qarbrCjDjoo}Alxmxnxcr9ndr!ner'mKiLi#nIpuxJpvxFjKpwxLpxxfrbBcBirpoqozxeBBxCxkBlBDxExFx'xpBkruBvBwB%i)iEDFD?NGDHD@NIDzB-xJD[NKDLDMDNDODPD]NQD^NAB.xRD_NSDTDUDVDWD/xXDYDcOdOeOfOgOCBhOiOjOkOlOmOnODBoOpOZD0D*i1D+iNi2D,i3D4D-i5D.iOi6D/i7D8D9D!D#D:x$D%D'D(D)D*D+D;x,D-D.D/D:D;D=D=x?D@D[D]D^D_D`D?x{D|DGj@xroTpUp[xsoVpWpXp]xtoYp^xmrnr`x{xfyuoZpgyhy0pvo1pnyqyry2psy3p4ptyuyvywyxyAyBy5pCy6p7pDyEy8p9pFyGyHyGrwoNy!pOy#pQyRySyTyVy2B3B4B5B0y8B9BxOyOzOAO!B7y8y#B$B(B)B:y;y=y?y@yTr[y]yUrVrWrXr^y_yYrZr0r1r2r3r4r(j)jyo]B`y{y|y5r

157 return Undefined 2(m~m#n

158 return self.field_info.get_default(call_default_factory=True) 25n,p6n-p$m|h}h#o0t$o1taj%o2t'o3t.pnzoz;p`n{n5tqz7t8twzxz9t!t#tjuBz?pGzHzIziiui|B}BcN~BaCdNbCLzpucCeNdCeCfCgChCiCfNjCgNMzqukChNlCmCnCoCpCruqCrCpNqNrNsNtNOzuNvNwNxNyNzNANPzBNCNsCtCviuCwiaivCxiwCxCyiyCzibizCAiACBCCCDCECsuFCGCHCICJCKCLCtuMCNCOCPCQCRCSCuuTCUCVCWCXCYCZCvu0C1Cbjwu|n/o:oxu}n;o=o?oyu~n@ozu[p]pBuCuLuao[oMuNu]obo^oTuWuXu_oYu`o{oZu0u1u2u3u6u7u|o8u}o~o9u!uapbp#u$u%ulqco,ucp-udp/u:u;u=u@u'z(z)z*z`u-z.zKNLNMNNN/zcvdv:z;z@z[zsvtvuvvvwvyqxvyvzqAqBqCqzvAvDqEqFqGqHqIqJqpjqjeoeABvCvDvKq7nLq8nMq%mcidiepKvfpLvcjgpMvhpNvNqhAiAQqfogoPvkARvSvqArATvUvVv^vvASqAABACAjiDi6C7CON8C9CPN!CFA~v#CQN$C%C'C(C)C*CRN+CSNGAaw,CTN-C.C/C:C;Cbw=C?C1N2N3N4N5NIA6N7N8N9N!N#N$NJA%N'N@C[CEi]CFifi^CGi_C`CHi{CIigi|CJi}C~CaDbDcDcwdDeDfDgDhDiDjDdwkDlDmDnDoDpDqDewrDsDtDuDvDwDxDfwyDzDdjgwhoppqphwiorpsptpiwjoupjwUqVqlwmwvwkovpwwxwwploxpDwGwHwypIwzpApJwKwLwMwNwQwRwBpSwCpDpTwUwEpFpVwWwXw'qmo3wGp4wHp6w7w8w9w#w8A9A!A#A)w'A(A/N:N;N=N)A:w;w*A+A.A/Acxdxexfxgx@qhxix[q]q^q_qjxkx`q{q|q}q~qarbrCjDjoo}Alxmxnxcr9ndr!ner'mKiLiIpuxJpvxFjKpwxLpxxfrbBcBirpoqozxeBBxCxkBlBDxExFx'xpBkruBvBwB%i)iEDFD?NGDHD@NIDzB-xJD[NKDLDMDNDODPD]NQD^NAB.xRD_NSDTDUDVDWD/xXDYDcOdOeOfOgOCBhOiOjOkOlOmOnODBoOpOZD0D*i1D+iNi2D,i3D4D-i5D.iOi6D/i7D8D9D!D#D:x$D%D'D(D)D*D+D;x,D-D.D/D:D;D=D=x?D@D[D]D^D_D`D?x{D|DGj@xroTpUp[xsoVpWpXp]xtoYp^xmrnr`x{xfyuoZpgyhy0pvo1pnyqyry2psy3p4ptyuyvywyxyAyBy5pCy6p7pDyEy8p9pFyGyHyGrwoNy!pOy#pQyRySyTyVy2B3B4B5B0y8B9BxOyOzOAO!B7y8y#B$B(B)B:y;y=y?y@yTr[y]yUrVrWrXr^y_yYrZr0r1r2r3r4r(j)jyo]B`y{y|y5r

159 

160 def validate( 1abcd

161 self, 

162 value: Any, 

163 values: dict[str, Any] = {}, # noqa: B006 

164 *, 

165 loc: tuple[int | str, ...] = (), 

166 ) -> tuple[Any, list[dict[str, Any]]]: 

167 try: 2~D4V#R$R%R'R(R5V)R*R+R,R-R6VVQ7V5n,p6n-p!h$m|h}h.RaEBn)m/RbE:Rgj*m;R=R?R@RcE8VdEZt9V#o0teE$o1tfEajJjKjLjMj%o2tgE'o3thE[R+miEjE]RkE4tlEmEnEoEpEqErEsE/pmz:ptEuEvE;pwEPi`n{nsixEpz!VyEzEAEBE5tCEDEEEFEGErzsztzuz8hHE=pWQ#VXQIE6tvz7t8t-mNn.m/m:mvnJEKE9t!tLE#tMENE$t%tOEPEQE'tRESETE(t)tUEVE*t+t,tWE-tXEYE.t/tZE0E:t1E;t2E=t?t3E4E5E@t6E7E8E[t9E!E]t#E^t$E_t%E`t{t'E(E|t}t)E~tau*Ebucu+Edueu,Efugu-Ehuiu.E/E:E;E=E?E^R@Eju[Eku]Elu^EmunuCzDz?p_E`E{Eou|E}E~EaFbFQicF;mti#h~hRidFEOeFFO_BGO`B:i{B6r7rHO8rIO9r!rfF(o#rJO$r|B}BKO~BLOaCbCgFpucCMOdCeCfCgChCiCNOOOjChFqukCPO%r'rQO(rRO)r*riF)o+rSO,rlCmCTOnCUOoCpCjFruqCVOrC-r.rWO/rXO:r;rkF*o=rYO?r@pdzezfzlFZO0O1OwnzoAoBomF2O3O4O@r[r5O$h6O]r%hnF4h^r7O'hsCtC8Ovi9OuCwioFaivC!OxiwCxC#Oyi$OyCzipFbizC%OAi_r`r'O(h(O{r)hqF5h|r)O*h}r~r*Oas+ObscsrF+ods,OesACBC-OCC.ODCECsFsuFC/OGCHCIC:OJC;OKCLCtFtuMC=ONCfsgs?Ohs@OisjsuF,oks[OlsRzmsns]Oos^OpsqsvF-ors_OssOCPC`OQC{ORCSCwFuuTC|OUCVCWC}OXC~OYCZCxFvu0CaP1CtsusbPvscPwsxsyF.oysdPzszFAFBF_R`R{R|R}R~RaSbScSdSeSfSgSYQZQhSiSjSkSlSmSnSoS0Q1QpSqSrSsS2Q3QtSuSvSwSWzxSySXzzSASBSCSDSESFSGSHSISCFDF=m?m@m[m]m^m_mEF`m{mJSbjKSwu|n/o:oxu}n;o=o?oyu~n@oLSMSNSOSPSQSRSSSTSUSVSWSXSYSZS0S1S2S3S4S5SFFGFHFIFJFKFLFMF6Szu4Q$VAuNF5Q%VYzOF[pPFZzQF]pRFBuCuSFTFUFDuVFWFXFEuFuYFZFGuHu0F1FIuJu2F3FKu4F5F6F'V(V)V*V6Q7Q8Q9Q+V,V-V!Q#Q.V/V7F8F^p9FLuao_p!F#F$F[oMuNu%F`p{p|pOuPuQu'FRuSu(F)F]obo^oTu*FUu}pVu+F,F~paq-F.Fbqcqdq/F:Feqfqgq;Fhq=Fiqjq?F:V$Q%Q'Q;V=V(Q)Q?V*Q3z4z5z6z7z@F[F]FSiWuXu_oTiYu`o{oZu^F_F@V[V+Q,Q]V7S8S8z0u1u2u`F{F|F}F~FaGbGcGdGeGfGgGhGiG3ujGkGlGmGnGoGpGkqqGrGsG9S$z%z!S#S$S%S'S(S)S*S+S,StGuGvGwGxGyGzGAG4u^V-QBGCG5uUi6u7u|oVi8u}o~oWi9u!uapbpDG#u$u-S_V.S%u/S:S;S=S?SEGFG'uGGHGIGJG(uKGLGlqcoMGmq)uNGnq*uoqOGpqqq+urqPGsqtquqvqXi,uQGcpYi-u.udp/u:u;u=uRG?u@udoSGTGUGVG[uWG]u^uXG_u`uYG{uZG|u}u0G~u1Gav2GbvePfP2C3Gcv4G5Gdv6Gev7G8G9G!G#G$G%G'G(Gwq)Gxq*GZifvgvhvivjv0ikvlvmvnv+Govpvqv,Grv-G.G@S[S]S^S_S`Ssv/Gtv:G}z~zaAbAcA;G=G?G@G[G]GuvvvwvyqxvyvzqAqBqCqzvAvDqEqFqGqHq`V{S{V|SIqJqNjdAOj^G_GPjQjRjSj`GeoBvCvDv{G|m|V}Vv ~VaWEvFv|G}GbWcW.Q/Q:Q;QKqfA=Q?Q@Q}SGv[Q]QHvIv}m~GaHdW^QeW7nLq8nMq+h%mcidi~SbHQnanaTcHbTtjbncTdTeTfTdHfWeHJvgWepKvfHfpLvgHcjVjWjXjYjgpMvhHhpNviHgTcnjHkHhTlHOvmHnHoHpHqHrHsHtHOqgAPquHvHwHQqxH1ifogoBiyHjAhWzHAHBHCHPvDHEHFHGHHHlAmAnAoA9hIHRq_QiW`QJHQvpARvSven2nfngnhnxnKHLHTvUvMHVvNHOHWvXvPHQHRHYvSHTHUHZv0vVHWH1v2v3vXH4vYHZH5v6v0H1H7v2H8v3H9v!v4H5H6H#v7H8H9H$v!H#H%v$H'v%H(v'H)v*v(H)H+v,v*H-v.v+H/v:v,H;v=v-H?v@v.H[v]v/H:H;H=H?H@HiT[H^v]H_v^H`v_H{v|vwAxASq`H{H|H}v}H~HaIbIcI2idIinCi,hei3ieIgPfIhP3CiP4C;i5CAsBsjPCskPDsEsgIipFslPGs6C7CmP8CnP9C!ChI~v#CoP$C%C'C(C)C*CpPqP+CiIaw,CrPHsIssPJstPKsLsjIjpMsuPNs-C.CvP/CwP:C;CkIbw=CxP?COsPsyPQszPRsSslIkpTsAPUsTqgzhzizmIBPCPDPynCoDoEonIEPFPGPVsWsHP-hIPXs.hoI6hYsJP/h@C[CKPEiLP]CFipIfi^CMPGi_C`CNPHiOP{CIiqIgi|CPPJiZs0sQP:hRP1s;hrI7h2sSP=h3s4sTP5sUP6s7ssIlp8sVP9s}C~CWPaDXPbDcDtIcwdDYPeDfDgDZPhD0PiDjDuIdwkD1PlD!s#s2P$s3P%s'svImp(s4P)sLA*s+s5P,s6P-s.swInp/s7P:smDnD8PoD9PpDqDxIewrD!PsDtDuD#PvD$PwDxDyIfwyD%PzD;s=s'P?s(P@s[szIop]s)P^sAIBICIjTkTlTmTnToTpTqTrTsTtTuTvT{Q|QwTxTyTzTATBTCTDT}Q~QETFTGTHTaRbRITJTKTLTQAMTNTRAOTPTQTRTSTTTUTVTWTXTDIEIjnknlnmnnnonpnFIqnrnYTdjZTgwhoppqphwiorpsptpiwjoup0T1T2T3T4T5T6T7T8T9T!T#T$T%T'T(T)T*T+T,T-TGIHIIIJIKILIMINI.TsnjwcRjWkwOIdRkWSAPIUqQITARIVqSIlwmwTIUIVInwWIXIYIowpwZI0Iqwrw1I2Iswtw3I4Iuw5I6I7IlWmWnWoWeRfRgRhRpWqWrWiRjRsWtW8I9IWq!IvwkoXq#I$I%Ivpwwxw'IYqZq0qywzwAw(IBwCw)I*IwploxpDw+IEw1qFw,I-I2q3q.I/I4q5q6q:I;I7q8q9q=I!q?I#q$q@IuWkRlRmRvWwWnRoRxWpRXAYAZA0A1A[I]I^I4iGwHwyp5iIwzpApJw_I`IyWzWqRrRAW/T:T2AKwLwMw{I|I}I~IaJbJcJdJeJfJgJhJiJjJNwkJlJmJnJoJpJqJ%qrJsJtJ;T6A7A=T?T@T[T]T^T_T`T{T|TuJvJwJxJyJzJAJBJOwBWsRCJDJPw6iQwRwBp7iSwCpDp8iTwUwEpFpEJVwWw}TCW~TXwaUbUcUdUeUFJGJYwHJIJJJKJZwLJMJ'qmoNJ(q0wOJ)q1w*qPJ+q,q2w-qQJ.q/q:q;q9i3wRJGp!i4w5wHp6w7w8w9wSJ!w#wnoTJUJVJWJ$wXJ%w'wYJ(w)wZJ*w0J+w,w1J-w2J.w3J/w*P+PAD4J:w5J6J;w7J=w8J9J!J#J$J%J'J(J)J=q*J?q+J#i?w@w[w]w^w$i_w`w{w|w,J}w~wax-Jbx.J/JfUgUhUiUjUkUcx:Jdx;J]A^A_A`A{A=J?J@J[J]J^Jexfxgx@qhxix[q]q^q_qjxkx`q{q|q}q~qDWlUEWmUarbrZj|A0j_J`J1j2j3j4j{Joolxmxnx|JtnFWGWx HWIWoxpx}J~JJWKWtRuRvRwRcr~AxRyRzRnUqxARBRrxsxunaKbKLWCRMW9ndr!nerki'mKiLioUcKWo$npUdKqU6j%nrUsUtUuUeKNWfKtxOWIpuxgKJpvxhKFj-j.j/j:jKpwxiKLpxxjKvU'nkKlKwUmKyxnKoKpKqKrKsKtKuKgraBhrvKwKxKiryK=ipoqo'izKdBPWAKBKCKDKzxEKFKGKHKIKfBgBhBiBhiJKjrDRQWERKKAxjBBxCx)n8o*n+n,nznLKMKDxExNKFxOKPKGxHxQKRKSKIxTKUKVKJxKxWKXKLxMxNxYKOxZK0KPxQx1K2KRx3KSx4KTxUx5K6K7KVx8K9K!KWx#K$KXx%KYx'KZx(K0x1x)K*K2x3x+K4x5x,K6x7x-K8x9x.K!x#x/K$x%x:K;K=K?K@K[KxU]K'x^K(x_K)x`K*x+xqBrBkr{K|K}K,x~KaLbLcLdL?ieL-n(iliMi@ifL,PgL-PBD.PCDejDD_s`s/P{s:P|s}shLMp~s;PatEDFD=PGD?PHDIDiL-xJD@PKDLDMDNDODPD[P]PQDjL.xRD^Pbtct_Pdt`PetftkLNpgt{PhtSDTD|PUD}PVDWDlL/xXD~PYDitjtaQktbQltmtmLOpntcQotlrjzkzlznLdQeQfQAnFoGoHooLgQhQiQptqtjQmikQrtnipL?hstlQoiZD0DmQ*inQ1D+iqLNi2DoQ,i3D4DpQ-iqQ5D.irLOi6DrQ/ittutsQpitQvtqisL@hwtuQrixtytvQztwQAtBttLPpCtxQDt7D8DyQ9DzQ!D#DuL:x$DAQ%D'D(DBQ)DCQ*D+DvL;x,DDQ-DEtFtEQGtFQHtItwLQpJtGQKtFBLtMtHQNtIQOtPtxLRpQtJQRt.D/DKQ:DLQ;D=DyL=x?DMQ@D[D]DNQ^DOQ_D`DzL?x{DPQ|DStTtQQUtRQVtWtALSpXtSQYtBLCLDLyUzUAUBUCUDUEUFUGUHUIUJUKUFRGRLUMUNUOUPUQURUSUHRIRTUUUVUWUJRKRXUYUZU0UKB1U2ULB3U4U5U6U7U8U9U!U#U$UELFL.n/n:n;n=n?n@nGL[n]n%UGj'U@xroTpUp[xsoVpWpXp]xtoYp(U)U*U+U,U-U.U/U:U;U=U?U@U[U]U^U_U`U{U|U}UHLILJLKLLLMLNLOL~U^xLRRW_xPLMRSWMBQLmrRLNBSLnrTL`x{xULVLWL|xXLYLZL}x~x0L1Layby2L3Lcydy4L5Ley6L7L8LTWUWVWWWNRORPRQRXWYWZWRRSR0W1W9L!Lor#Lfyuopr$L%L'LZpgyhy(Lqrrrsriyjyky)Llymy*L+L0pvo1pny,Loytrpy-L.Lurvr/L:Lwrxryr;L=LzrArBr?LCr@LDrEr[L2WTRURVR3W4WWRXR5WYRRBSBTBUBVB]L^L_L[iqyry2p]isy3p4pty`L{L6W7WZR0R8WaVbVWBuyvywy|L}L~LaMbMcMdMeMfMgMhMiMjMkMxylMmMnMoMpMqMrMFrsMtMuMcV0B1BdVeVfVgVhViVjVkVlVmVvMwMxMyMzMAMBMCMyy9W1RDMEMzy^iAyBy5p_iCy6p7p`iDyEy8p9pFMFyGynV!WoVHypVqVrVsVtVGMHMIyIMJMKMLMJyMMNMGrwoOMHrKyPMIrLyJrQMKrLrMyMrRMNrOrPrQr{iNySM!p|iOyPy#pQyRySyTyTMUyVyxoUMVMWMXMWyYMXyYyZMZy0y0M1y1M2y3y2M4y3M5y4M6yTQUQ}D5M7y6M7M8y8M9y9M!M#M$M%M'M(M)M*MRr+MSr,M}i!y#y$y%y'y~i(y)y*y+y-M,y-y.y.M/y/M:MuVvVwVxVyVzV:y;M;y=M:B;B=B?B@B?M@M[M]M^M_M=y?y@yTr[y]yUrVrWrXr^y_yYrZr0r1r2r#WAV$WBV3r4r;j[B=j`M{M?j@j[j]j|Myo`y{y|y}M^n%W'WT (W)W}y~y~MaN*W+W2R3R4R5R5r^B6R7R8RCVaz9R!Rbzcz_nbN

168 return ( 2~D4V#R$R%R'R(R5V)R*R+R,R-R6V7V5n,p6n-p!h$m|h}h.RaEBn)m/RbE:Rgj*m;R=R?R@RcE8VdEZt9V#o0teE$o1tfEajJjKjLjMj%o2tgE'o3thE[R+miEjE]RkElEmEnEoEpEqErEsE/pmz:ptEuEvE;pwEPisixEpz!VyEzEAEBE5tCEDEEEFEGErzsztzuz8hHE=p#VIEvz7t8t-mNn.m/m:mvnJEKE9t!tLE#tMENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E8E9E!E#E$E%E'E(E)E*E+E,E-E.E/E:E;E=E?E^R@Eju[E]E^ECzDz?p_E`E{E|E}E~EaFbFQicF;mtiRidFEOeFFOGO:iHOIOfFJO|B}BKO~BLOaCbCgFpucCMOdCeCfCgChCiCNOOOjChFqukCPOQOROiFSOlCmCTOnCUOoCpCjFruqCVOrCWOXOkFYO@pdzezfzlFZO0O1OwnzoAoBomF2O3O4O5O6OnF7OsCtC8Ovi9OuCwioFaivC!OxiwCxC#Oyi$OyCzipFbizC%OAi'O(OqF)O*O+OrF,OACBC-OCC.ODCECsFsuFC/OGCHCIC:OJC;OKCLCtFtuMC=ONC?O@OuF[ORz]O^OvF_OOCPC`OQC{ORCSCwFuuTC|OUCVCWC}OXC~OYCZCxFvu0CaP1CbPcPyFdPzFAFBF_R`R{R|R}R~RaSbScSdSeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuSvSwSWzxSySXzzSASBSCSDSESFSGSHSISCFDF=m?m@m[m]m^m_mEF`m{mJSbjKSwu|n/o:oxu}n;o=o?oyu~n@oLSMSNSOSPSQSRSSSTSUSVSWSXSYSZS0S1S2S3S4S5SFFGFHFIFJFKFLFMF6Szu$VNF%VYzOF[pPFZzQF]pRFBuCuSFTFUFDuVFWFXFEuFuYFZFGuHu0F1FIuJu2F3FKu4F5F6F'V(V)V*V+V,V-V.V/V7F8F^p9FLuao_p!F#F$FMuNu%F`p{p|pOuPuQu'FRuSu(F)F]obo^oTu*FUu}pVu+F,F~paq-F.Fbqcqdq/F:Feqfqgq;Fhq=Fiqjq?F:V;V=V?V3z4z5z6z7z@F[F]FSiWuXuTiYuZu^F_F@V[V]V7S8S8z0u1u2u`F{F|F}F~FaGbGcGdGeGfGgGhGiG3ujGkGlGmGnGoGpGkqqGrGsG9S$z%z!S#S$S%S'S(S)S*S+S,StGuGvGwGxGyGzGAG^VBGCGUi6u7uVi8uWi9u!uDG#u$u-S_V.S%u/S:S;S=S?SEGFGGGHGIGJGKGLGlqMGmq)uNGnq*uoqOGpqqq+urqPGsqtquqvqXi,uQGYi-u/u:u;u=uRG?u@udoSGTGUGVGWGXG`uYGZG0G1G2GePfP3Gcv4G5Gdv6G7G8G9G!G#G$G%G'G(Gwq)Gxq*GZi0i+Govpvqv,Grv-G.G@S[S]S^S_S`Ssv/Gtv:G}z~zaAbAcA;G=G?G@G[G]GuvvvwvyqxvyvzqAqBqCqzvAvDqEqFqGqHq`V{S{V|SIqJqNjdAOj^G_GPjQjRjSj`GeoBvCvDv{G|m|V}Vv ~VaW|G}GbWcWKqfA}S}m~GaHdWeW7nLq8nMq+h%mcidi~SbHQnanaTcHbTtjbncTdTeTfTdHfWeHJvgWepKvfHfpLvgHcjVjWjXjYjgpMvhHhpNviHgTcnjHkHhTlHmHnHoHpHqHrHsHtHOqgAPquHvHwHQqxH1iBiyHjAhWzHAHBHCHPvDHEHFHGHHHlAmAnAoA9hIHRqiWJHpARvSven2nfngnhnxnKHLHTvUvMHVvNHOHPHQHRHSHTHUHVHWHXHYHZH0H1H2H3H4H5H6H7H8H9H!H#H$H%H'H(H)H*H+H,H-H.H/H:H;H=H?H@HiT[H^v]H^H_HwAxASq`H{H|H}H~HaIbIcI2idIinCi3ieIgPfIhPiP;ijPkPgIlP6C7CmP8CnP9C!ChI~v#CoP$C%C'C(C)C*CpPqP+CiIaw,CrPsPtPjIuP-C.CvP/CwP:C;CkIbw=CxP?CyPzPlIAPTqgzhzizmIBPCPDPynCoDoEonIEPFPGPHPIPoIJP@C[CKPEiLP]CFipIfi^CMPGi_C`CNPHiOP{CIiqIgi|CPPJiQPRPrISPTPUPsIVP}C~CWPaDXPbDcDtIcwdDYPeDfDgDZPhD0PiDjDuIdwkD1PlD2P3PvI4PLA5P6PwI7PmDnD8PoD9PpDqDxIewrD!PsDtDuD#PvD$PwDxDyIfwyD%PzD'P(PzI)PAIBICIjTkTlTmTnToTpTqTrTsTtTuTvTwTxTyTzTATBTCTDTETFTGTHTITJTKTLTQAMTNTRAOTPTQTRTSTTTUTVTWTXTDIEIjnknlnmnnnonpnFIqnrnYTdjZTgwhoppqphwiorpsptpiwjoup0T1T2T3T4T5T6T7T8T9T!T#T$T%T'T(T)T*T+T,T-TGIHIIIJIKILIMINI.TsnjwjWOIkWSAPIUqQITARIVqSIlwmwTIUIVInwWIXIYIowpwZI0Iqwrw1I2Iswtw3I4Iuw5I6I7IlWmWnWoWpWqWrWsWtW8I9IWq!IvwkoXq#I$I%Iwwxw'IYqZq0qywzwAw(IBwCw)I*IwploxpDw+IEw1qFw,I-I2q3q.I/I4q5q6q:I;I7q8q9q=I!q?I#q$q@IuWvWwWxWXAYAZA0A1A[I]I^I4iGwHw5iIwJw_I`IyWzWAW/T:T2AKwLwMw{I|I}I~IaJbJcJdJeJfJgJhJiJjJNwkJlJmJnJoJpJqJ%qrJsJtJ;T6A7A=T?T@T[T]T^T_T`T{T|TuJvJwJxJyJzJAJBJBWCJDJ6iQwRw7iSw8iTwUwEJVwWw}TCW~TXwaUbUcUdUeUFJGJHJIJJJKJLJMJ'qNJ(q0wOJ)q1w*qPJ+q,q2w-qQJ.q/q:q;q9i3wRJ!i4w6w7w8w9wSJ!w#wnoTJUJVJWJXJYJ)wZJ0J1J2J3J*P+P4J:w5J6J;w7J8J9J!J#J$J%J'J(J)J=q*J?q+J#i$i,J}w~wax-Jbx.J/JfUgUhUiUjUkUcx:Jdx;J]A^A_A`A{A=J?J@J[J]J^Jexfxgx@qhxix[q]q^q_qjxkx`q{q|q}q~qDWlUEWmUarbrZj|A0j_J`J1j2j3j4j{Joolxmxnx|JtnFWGWx HWIW}J~JJWKWcr~AnUunaKbKLWMW9ndr!nerki'mKiLioUcKWo$npUdKqU6j%nrUsUtUuUeKNWfKtxOWIpuxgKJpvxhKFj-j.j/j:jKpwxiKLpxxjKvU'nkKlKwUmKnKoKpKqKrKsKtKuKgraBhrvKwKxKiryK=i'izKdBPWAKBKCKDKzxEKFKGKHKIKfBgBhBiBhiJKjrQWKKjBBxCx)n8o*n+n,nznLKMKDxExNKFxOKPKQKRKSKTKUKVKWKXKYKZK0K1K2K3K4K5K6K7K8K9K!K#K$K%K'K(K)K*K+K,K-K.K/K:K;K=K?K@K[KxU]K'x^K_K`KqBrBkr{K|K}K~KaLbLcLdL?ieL-n(i@ifL,PgL-P.Pej/P:PhL;PEDFD=PGD?PHDIDiL-xJD@PKDLDMDNDODPD[P]PQDjL.xRD^P_P`PkL{PSDTD|PUD}PVDWDlL/xXD~PYDaQbQmLcQlrjzkzlznLdQeQfQAnFoGoHooLgQhQiQjQkQpLlQZD0DmQ*inQ1D+iqLNi2DoQ,i3D4DpQ-iqQ5D.irLOi6DrQ/isQtQsLuQvQwQtLxQ7D8DyQ9DzQ!D#DuL:x$DAQ%D'D(DBQ)DCQ*D+DvL;x,DDQ-DEQFQwLGQFBHQIQxLJQ.D/DKQ:DLQ;D=DyL=x?DMQ@D[D]DNQ^DOQ_D`DzL?x{DPQ|DQQRQALSQBLCLDLyUzUAUBUCUDUEUFUGUHUIUJUKULUMUNUOUPUQURUSUTUUUVUWUXUYUZU0UKB1U2ULB3U4U5U6U7U8U9U!U#U$UELFL.n/n:n;n=n?n@nGL[n]n%UGj'U@xroTpUp[xsoVpWpXp]xtoYp(U)U*U+U,U-U.U/U:U;U=U?U@U[U]U^U_U`U{U|U}UHLILJLKLLLMLNLOL~U^xRWPLSWMBQLmrRLNBSLnrTL`x{xULVLWL|xXLYLZL}x~x0L1Layby2L3Lcydy4L5Ley6L7L8LTWUWVWWWXWYWZW0W1W9L!Lor#Lfyuopr$L%L'Lgyhy(Lqrrrsriyjyky)Llymy*L+L0pvo1pny,Loytrpy-L.Lurvr/L:Lwrxryr;L=LzrArBr?LCr@LDrEr[L2W3W4W5WRBSBTBUBVB]L^L_L[iqyry]isyty`L{L6W7W8WaVbVWBuyvywy|L}L~LaMbMcMdMeMfMgMhMiMjMkMxylMmMnMoMpMqMrMFrsMtMuMcV0B1BdVeVfVgVhViVjVkVlVmVvMwMxMyMzMAMBMCM9WDMEM^iAyBy_iCy`iDyEyFMFyGynV!WoVHypVqVrVsVtVGMHMIMJMKMLMMMNMGrOMHrKyPMIrLyJrQMKrLrMyMrRMNrOrPrQr{iNySM|iOyQyRySyTyTMUyVyxoUMVMWMXMYMZM0y0M1M2M3M4MTQUQ5M7y6M7M8y8M9M!M#M$M%M'M(M)M*MRr+MSr,M}i~i-M,y-y.y.M/y/M:MuVvVwVxVyVzV:y;M;y=M:B;B=B?B@B?M@M[M]M^M_M=y?y@yTr[y]yUrVrWrXr^y_yYrZr0r1r2r#WAV$WBV3r4r;j[B=j`M{M?j@j[j]j|Myo`y{y|y}M^n%W'WT (W)W~MaN*W+W5r^BCV_nbN

169 self._type_adapter.validate_python(value, from_attributes=True), 

170 [], 

171 ) 

172 except ValidationError as exc: 2VQ5n6n!h$m4t:p`n{n=pWQXQ6t$t%t't(t)t*t+t,t-t.t/t:t;t=t?t@t[t]t^t_t`t{t|t}t~taubucudueufuguhuiukulumunuou#h~h_B`B{B6r7r8r9r!r(o#r$r%r'r(r)r*r)o+r,r-r.r/r:r;r*o=r?r@r[r$h]r%h4h^r'h_r`r(h{r)h5h|r*h}r~rasbscs+odsesfsgshsisjs,okslsmsnsospsqs-orssstsusvswsxs.oyszsYQZQ0Q1Q2Q3Q|n}n~n4QAu5Q6Q7Q8Q9Q!Q#Q^pao_p[o`p{p|pbo}p~paqbqcqdqeqfqgqhqiqjq$Q%Q'Q(Q)Q*Q_o`o{o+Q,Qkq4u-Q5u|o}o~oapbp'u(ucomqnqoqpqqqrqsqtquqvqcp.udpdo[u]u^u_u{u|u}u~uavbv2CevfvgvhvivjvkvlvmvnveoEvFv.Q/Q:Q;Q=Q?Q@QGv[Q]QHvIv^Q7n8n+h%mOvPqfogoRq_Q`QQvWvXvYvZv0v1v2v3v4v5v6v7v8v9v!v#v$v%v'v(v)v*v+v,v-v.v/v:v;v=v?v@v[v]v_v`v{v|v}v,hei3C4C5CAsBsCsDsEsipFsGsHsIsJsKsLsjpMsNsOsPsQsRsSskpTsUsVsWs-hXs.h6hYs/hZs0s:h1s;h7h2s=h3s4s5s6s7slp8s9s!s#s$s%s'smp(s)s*s+s,s-s.snp/s:s;s=s?s@s[sop]s^s{Q|Q}Q~QaRbRhoiojocRkwdReRfRgRhRiRjRWqkoXqvpYqZq0qlo1q2q3q4q5q6q7q8q9q!q#q$qkRlRmRnRoRpRypzpApqRrR%qOwsRPwBpCpDpEpFpYwZwmo(q)q*q+q,q-q.q/q:q;qGp5wHpno$w%w'w(w*w+w,w-w.w/wAD=w?w@w[w]w^w_w`w{w|woooxpxtRuRvRwRxRyRzRqxARBRrxsxCR9n!nki'myxhrpoqojrDRERAxGxHxIxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%x(x)x*x+x,xliMiBDCDDD_s`s{s|s}sMp~satbtctdtetftNpgthtitjtktltmtOpntotptqtmirtni?hstoittutpivtqi@hwtrixtytztAtBtPpCtDtEtFtGtHtItQpJtKtLtMtNtOtPtRpQtRtStTtUtVtWtSpXtYtFRGRHRIRJRKRrosotoLR_xMRNRORPRQRRRSRoruoprZpqrrrsrvotrurvrwrxryrzrArBrCrDrErTRURVRWRXRYR2p3p4pZR0RFryy1Rzy5p6p7p8p9pIyJywoHrIrJrKrLrMrNrOrPrQr!pPy#pxoWyXyYyZy1y2y3y4y5y6y}D9y!y#y$y%y'y(y)y*y+yyo}y~y2R3R4R5R6R7R8Raz9R!Rbzcz

173 return None, _regenerate_error_with_loc( 2VQ5n6n!h$m4t:p`n{n=pWQXQ6t$t%t't(t)t*t+t,t-t.t/t:t;t=t?t@t[t]t^t_t`t{t|t}t~taubucudueufuguhuiukulumunuou#h~h_B`B{B6r7r8r9r!r(o#r$r%r'r(r)r*r)o+r,r-r.r/r:r;r*o=r?r@r[r$h]r%h4h^r'h_r`r(h{r)h5h|r*h}r~rasbscs+odsesfsgshsisjs,okslsmsnsospsqs-orssstsusvswsxs.oyszsYQZQ0Q1Q2Q3Q|n}n~n4QAu5Q6Q7Q8Q9Q!Q#Q^pao_p[o`p{p|pbo}p~paqbqcqdqeqfqgqhqiqjq$Q%Q'Q(Q)Q*Q_o`o{o+Q,Qkq4u-Q5u|o}o~oapbp'u(ucomqnqoqpqqqrqsqtquqvqcp.udpdo[u]u^u_u{u|u}u~uavbv2CevfvgvhvivjvkvlvmvnveoEvFv.Q/Q:Q;Q=Q?Q@QGv[Q]QHvIv^Q7n8n+h%mOvPqfogoRq_Q`QQvWvXvYvZv0v1v2v3v4v5v6v7v8v9v!v#v$v%v'v(v)v*v+v,v-v.v/v:v;v=v?v@v[v]v_v`v{v|v}v,hei3C4C5CAsBsCsDsEsipFsGsHsIsJsKsLsjpMsNsOsPsQsRsSskpTsUsVsWs-hXs.h6hYs/hZs0s:h1s;h7h2s=h3s4s5s6s7slp8s9s!s#s$s%s'smp(s)s*s+s,s-s.snp/s:s;s=s?s@s[sop]s^s{Q|Q}Q~QaRbRhoiojocRkwdReRfRgRhRiRjRWqkoXqvpYqZq0qlo1q2q3q4q5q6q7q8q9q!q#q$qkRlRmRnRoRpRypzpApqRrR%qOwsRPwBpCpDpEpFpYwZwmo(q)q*q+q,q-q.q/q:q;qGp5wHpno$w%w'w(w*w+w,w-w.w/wAD=w?w@w[w]w^w_w`w{w|woooxpxtRuRvRwRxRyRzRqxARBRrxsxCR9n!nki'myxhrpoqojrDRERAxGxHxIxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%x(x)x*x+x,xliMiBDCDDD_s`s{s|s}sMp~satbtctdtetftNpgthtitjtktltmtOpntotptqtmirtni?hstoittutpivtqi@hwtrixtytztAtBtPpCtDtEtFtGtHtItQpJtKtLtMtNtOtPtRpQtRtStTtUtVtWtSpXtYtFRGRHRIRJRKRrosotoLR_xMRNRORPRQRRRSRoruoprZpqrrrsrvotrurvrwrxryrzrArBrCrDrErTRURVRWRXRYR2p3p4pZR0RFryy1Rzy5p6p7p8p9pIyJywoHrIrJrKrLrMrNrOrPrQr!pPy#pxoWyXyYyZy1y2y3y4y5y6y}D9y!y#y$y%y'y(y)y*y+yyo}y~y2R3R4R5R6R7R8Raz9R!Rbzcz

174 errors=exc.errors(include_url=False), loc_prefix=loc 

175 ) 

176 

177 def serialize( 1abcd

178 self, 

179 value: Any, 

180 *, 

181 mode: Literal["json", "python"] = "json", 

182 include: IncEx | None = None, 

183 exclude: IncEx | None = None, 

184 by_alias: bool = True, 

185 exclude_unset: bool = False, 

186 exclude_defaults: bool = False, 

187 exclude_none: bool = False, 

188 ) -> Any: 

189 # What calls this code passes a value that already called 

190 # self._type_adapter.validate_python(value) 

191 return self._type_adapter.dump_python( 2#R$R%R'R(R)R*R+R,R-R5n,p6n-p.R)m/R:R*m;R=R?R@R[R+m]Rmzpzrzsztzuzvz-m.m/m:m^RCzDz?p;m_R`R{R|R}R~RaSbScSdSeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuSvSwSWzxSySXzzSASBSCSDSESFSGSHSIS=m?m@m[m]m^m_m`m{mJSKSLSMSNSOSPSQSRSSSTSUSVSWSXSYSZS0S1S2S3S4S5S6SYz[pZz]p3z4z5z6z7z7S8S8z9S$z%z!S#S$S%S'S(S)S*S+S,S-S.S/S:S;S=S?S@S[S]S^S_S`S}z~zaAbAcAyqzqAqBqCqDqEqFqGqHq{S|SIqJqdA|mv KqfA}S}m7nLq8nMq~SanaTbTbncTdTeTfTgTcnhTgAjAlAmAnAoApAenfngnhniTwAxASqinjTkTlTmTnToTpTqTrTsTtTuTvTwTxTyTzTATBTCTDTETFTGTHTITJTKTLTQAMTNTRAOTPTQTRTSTTTUTVTWTXTjnknlnmnnnonpnqnrnYTZT0T1T2T3T4T5T6T7T8T9T!T#T$T%T'T(T)T*T+T,T-T.TsnSAUqTAVqXAYAZA0A1A/T:T2A;T6A7A=T?T@T[T]T^T_T`T{T|T}T~TaUbUcUdUeUfUgUhUiUjUkU]A^A_A`A{A@q[q]q^q_q`q{q|q}q~qlUmUarbr|Atnx cr~AnUun9ndr!neroU$npUqU%nrUsUtUuUvU'nwUaBdBfBgBhBiBjB)n*n+n,nxUqBrBkr-nyUzUAUBUCUDUEUFUGUHUIUJUKULUMUNUOUPUQURUSUTUUUVUWUXUYUZU0UKB1U2ULB3U4U5U6U7U8U9U!U#U$U.n/n:n;n=n?n@n[n]n%U'U(U)U*U+U,U-U.U/U:U;U=U?U@U[U]U^U_U`U{U|U}U~UMBmrNBnrRBSBTBUBVBaVbVWBcV0B1BdVeVfVgVhViVjVkVlVmVnVoVpVqVrVsVtVuVvVwVxVyVzV:B;B=B?B@BTrUrVrWrXrYrZr0r1r2rAVBV3r4r[B^nT 5r^BCV_n

192 value, 

193 mode=mode, 

194 include=include, 

195 exclude=exclude, 

196 by_alias=by_alias, 

197 exclude_unset=exclude_unset, 

198 exclude_defaults=exclude_defaults, 

199 exclude_none=exclude_none, 

200 ) 

201 

202 def __hash__(self) -> int: 1abcd

203 # Each ModelField is unique for our purposes, to allow making a dict from 

204 # ModelField to its JSON Schema. 

205 return id(self) 2{c6d|cW Cgpb_d}cdf|eleAdBd~cPeef#b. xee f g h i j k 7dqb`dDgffyemcgfF nc7ehfG s Eg[hFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: me!d#d$dIgVhtbX adubbdvbJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? jfkflfKgWh_emfnfofLgMgNgAcOgPg'b(bBbedqgY L M QgRgSgTg{dUgpfqfrfsftfufU Cb|dDbEbFbGbHbVgWgXgYg[eafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7g]hKf?cgb@chbib}d~dze[cBc7 Ib)b*b8g9gJb@ [ !gCcDcEcFcGc%d+b,bN u 8 9 #g-bv .bHc/baefd'dgdZ $gKbbehdLf}eneDdEdidXeMf:b] Ael m n o p q r (dLbce%gNfBeIcOfH Jc8ePfI t 'g^h(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe+d,d-d+gXhOb0 jdPbkdQb,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | RfSfTf-gYh`eUfVfWf.g/g:gWc;g=g?b@bWbndrg1 P Q ?g@g[g]gde^gXfYfZf0f1f2fV XbeeYbZb0b1b2b_g`g{g|g]ebf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh_h+f^cmb_cnbobfegeCe`cXc% 3b[b]bhhih4b} ~ jhYcZc0c1c2c.d^b_bR w ' ( kh`bx {b3c|bhe/dpe:dablh4cDe;d,f~eKeieje=d9e-fod}bMey z A B C D E qe5cEemh.fNeGd/f2 Hd;e:f3 J nh`hoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLeteueverhZh8cbb?d9c@d!csh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdc=f?f@fth0h{e[f]f^fuhvhwhUdxhyhrdsd)c^dsgcb* + zhAhBhChFeDh_f`f{f|f}f~f- *cGe+c,c-c.c/cEhFhGhHh^ecfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQh{hpg3djc4dkclcHeIeOe5dVd8b:ctdudRhSh;cecfcThWdXdYdZd0dwevdwd, S 9b!bUhxdT yd1dzdJe

206 

207 

208def _has_computed_fields(field: ModelField) -> bool: 1abcd

209 computed_fields = field._type_adapter.core_schema.get("schema", {}).get( 2Ads u Ddt w ieJ S

210 "computed_fields", [] 

211 ) 

212 return len(computed_fields) > 0 2Ads u Ddt w ieJ S

213 

214 

215def get_schema_from_model_field( 1abcd

216 *, 

217 field: ModelField, 

218 model_name_map: ModelNameMap, 

219 field_mapping: dict[ 

220 tuple[ModelField, Literal["validation", "serialization"]], JsonSchemaValue 

221 ], 

222 separate_input_output_schemas: bool = True, 

223) -> dict[str, Any]: 

224 override_mode: Literal["validation"] | None = ( 2{c6d|cW Cgpb_d}cdf|eleAdBd~cPeef#b. xee f g h i j k 7dqb`dDgffyemcgfF nc7ehfG s EgFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: me!d#d$dIgVhtbX adubbdvbJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? jfkflfKgWh_emfnfofLgMgNgAcOgPg'b(bBbedqgY L M QgRgSgTg{dUgpfqfrfsftfufU Cb|dDbEbFbGbHbVgWgXgYg[eafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7gKf?cgb@chbib}d~dze[cBc7 Ib)b*b8g9gJb@ [ !gCcDcEcFcGc%d+b,bN u 8 9 #g-bv .bHc/baefd'dgdZ $gKbbehdLf}eneDdEdidXeMf:b] Ael m n o p q r (dLbce%gNfBeIcOfH Jc8ePfI t 'g(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe+d,d-d+gXhOb0 jdPbkdQb,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | RfSfTf-gYh`eUfVfWf.g/g:gWc;g=g?b@bWbndrg1 P Q ?g@g[g]gde^gXfYfZf0f1f2fV XbeeYbZb0b1b2b_g`g{g|g]ebf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh+f^cmb_cnbobfegeCe`cXc% 3b[b]bhhih4b} ~ jhYcZc0c1c2c.d^b_bR w ' ( kh`bx {b3c|bhe/dpe:dablh4cDe;d,f~eKeieje=d9e-fod}bMey z A B C D E qe5cEemh.fNeGd/f2 Hd;e:f3 J nhoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLeteueverhZh8cbb?d9c@d!csh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdc=f?f@fth0h{e[f]f^fuhvhwhUdxhyhrdsd)c^dsgcb* + zhAhBhChFeDh_f`f{f|f}f~f- *cGe+c,c-c.c/cEhFhGhHh^ecfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQhpg3djc4dkclcHeIeOe5dVd8b:ctdudRhSh;cecfcThWdXdYdZd0dwevdwd, S 9b!bUhxdT yd1dzdJe

225 None 

226 if (separate_input_output_schemas or _has_computed_fields(field)) 

227 else "validation" 

228 ) 

229 field_alias = ( 2{c6d|cW Cgpb_d}cdf|eleAdBd~cPeef#b. xee f g h i j k 7dqb`dDgffyemcgfF nc7ehfG s EgFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: me!d#d$dIgVhtbX adubbdvbJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? jfkflfKgWh_emfnfofLgMgNgAcOgPg'b(bBbedqgY L M QgRgSgTg{dUgpfqfrfsftfufU Cb|dDbEbFbGbHbVgWgXgYg[eafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7gKf?cgb@chbib}d~dze[cBc7 Ib)b*b8g9gJb@ [ !gCcDcEcFcGc%d+b,bN u 8 9 #g-bv .bHc/baefd'dgdZ $gKbbehdLf}eneDdEdidXeMf:b] Ael m n o p q r (dLbce%gNfBeIcOfH Jc8ePfI t 'g(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe+d,d-d+gXhOb0 jdPbkdQb,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | RfSfTf-gYh`eUfVfWf.g/g:gWc;g=g?b@bWbndrg1 P Q ?g@g[g]gde^gXfYfZf0f1f2fV XbeeYbZb0b1b2b_g`g{g|g]ebf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh+f^cmb_cnbobfegeCe`cXc% 3b[b]bhhih4b} ~ jhYcZc0c1c2c.d^b_bR w ' ( kh`bx {b3c|bhe/dpe:dablh4cDe;d,f~eKeieje=d9e-fod}bMey z A B C D E qe5cEemh.fNeGd/f2 Hd;e:f3 J nhoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLeteueverhZh8cbb?d9c@d!csh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdc=f?f@fth0h{e[f]f^fuhvhwhUdxhyhrdsd)c^dsgcb* + zhAhBhChFeDh_f`f{f|f}f~f- *cGe+c,c-c.c/cEhFhGhHh^ecfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQhpg3djc4dkclcHeIeOe5dVd8b:ctdudRhSh;cecfcThWdXdYdZd0dwevdwd, S 9b!bUhxdT yd1dzdJe

230 (field.validation_alias or field.alias) 

231 if field.mode == "validation" 

232 else (field.serialization_alias or field.alias) 

233 ) 

234 

235 # This expects that GenerateJsonSchema was already used to generate the definitions 

236 json_schema = field_mapping[(field, override_mode or field.mode)] 2{c6d|cW Cgpb_d}cdf|eleAdBd~cPeef#b. xee f g h i j k 7dqb`dDgffyemcgfF nc7ehfG s EgFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: me!d#d$dIgVhtbX adubbdvbJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? jfkflfKgWh_emfnfofLgMgNgAcOgPg'b(bBbedqgY L M QgRgSgTg{dUgpfqfrfsftfufU Cb|dDbEbFbGbHbVgWgXgYg[eafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7gKf?cgb@chbib}d~dze[cBc7 Ib)b*b8g9gJb@ [ !gCcDcEcFcGc%d+b,bN u 8 9 #g-bv .bHc/baefd'dgdZ $gKbbehdLf}eneDdEdidXeMf:b] Ael m n o p q r (dLbce%gNfBeIcOfH Jc8ePfI t 'g(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe+d,d-d+gXhOb0 jdPbkdQb,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | RfSfTf-gYh`eUfVfWf.g/g:gWc;g=g?b@bWbndrg1 P Q ?g@g[g]gde^gXfYfZf0f1f2fV XbeeYbZb0b1b2b_g`g{g|g]ebf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh+f^cmb_cnbobfegeCe`cXc% 3b[b]bhhih4b} ~ jhYcZc0c1c2c.d^b_bR w ' ( kh`bx {b3c|bhe/dpe:dablh4cDe;d,f~eKeieje=d9e-fod}bMey z A B C D E qe5cEemh.fNeGd/f2 Hd;e:f3 J nhoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLeteueverhZh8cbb?d9c@d!csh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdc=f?f@fth0h{e[f]f^fuhvhwhUdxhyhrdsd)c^dsgcb* + zhAhBhChFeDh_f`f{f|f}f~f- *cGe+c,c-c.c/cEhFhGhHh^ecfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQhpg3djc4dkclcHeIeOe5dVd8b:ctdudRhSh;cecfcThWdXdYdZd0dwevdwd, S 9b!bUhxdT yd1dzdJe

237 if "$ref" not in json_schema: 2{c6d|cW Cgpb_d}cdf|eleAdBd~cPeef#b. xee f g h i j k 7dqb`dDgffyemcgfF nc7ehfG s EgFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: me!d#d$dIgVhtbX adubbdvbJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? jfkflfKgWh_emfnfofLgMgNgAcOgPg'b(bBbedqgY L M QgRgSgTg{dUgpfqfrfsftfufU Cb|dDbEbFbGbHbVgWgXgYg[eafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7gKf?cgb@chbib}d~dze[cBc7 Ib)b*b8g9gJb@ [ !gCcDcEcFcGc%d+b,bN u 8 9 #g-bv .bHc/baefd'dgdZ $gKbbehdLf}eneDdEdidXeMf:b] Ael m n o p q r (dLbce%gNfBeIcOfH Jc8ePfI t 'g(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe+d,d-d+gXhOb0 jdPbkdQb,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | RfSfTf-gYh`eUfVfWf.g/g:gWc;g=g?b@bWbndrg1 P Q ?g@g[g]gde^gXfYfZf0f1f2fV XbeeYbZb0b1b2b_g`g{g|g]ebf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh+f^cmb_cnbobfegeCe`cXc% 3b[b]bhhih4b} ~ jhYcZc0c1c2c.d^b_bR w ' ( kh`bx {b3c|bhe/dpe:dablh4cDe;d,f~eKeieje=d9e-fod}bMey z A B C D E qe5cEemh.fNeGd/f2 Hd;e:f3 J nhoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLeteueverhZh8cbb?d9c@d!csh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdc=f?f@fth0h{e[f]f^fuhvhwhUdxhyhrdsd)c^dsgcb* + zhAhBhChFeDh_f`f{f|f}f~f- *cGe+c,c-c.c/cEhFhGhHh^ecfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQhpg3djc4dkclcHeIeOe5dVd8b:ctdudRhSh;cecfcThWdXdYdZd0dwevdwd, S 9b!bUhxdT yd1dzdJe

238 # TODO remove when deprecating Pydantic v1 

239 # Ref: https://github.com/pydantic/pydantic/blob/d61792cc42c80b13b23e3ffa74bc37ec7c77f7d1/pydantic/schema.py#L207 

240 json_schema["title"] = field.field_info.title or field_alias.title().replace( 26d|cW Cg}cdf|eef#b. e f g h i j k qbDgffmcgfF nchfG s EgFg5eGg1hHgQe*eReSeTe+etgUeVeWe,erb/ uc: IgVhtbX adubbdvbJgwcxcwb%bxbybzbAbyc4 5 6 zcif= ? jfkflf_emfnfofLgMgNgAcOgPg'bBbedqgY L M QgRgSgTgUgpfqfrfsftfufCbVgWgXgYgafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7gKfBc7 8g9gJb@ [ !gCcDcEcFcGcN u 8 9 #g-bv .bHc/b'dgdZ $ghdLf}eMf:b] l m n o p q r Lb%gNfIcOfH JcPfI t 'g(g6e)g2h*gYe-eZe0e1e.eug2e3e4e/eMb^ Qc_ +gXhOb0 jdPbkdQb,gScTcRb=bSbTbUbVbUc! # $ VcQf{ | RfSfTf`eUfVfWf.g/g:gWc;g=g?bWbndrg1 P Q ?g@g[g]g^gXfYfZf0f1f2fXb_g`g{g|gbf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh+fXc% hhih4b} ~ jhYcZc0c1c2cR w ' ( kh`bx {b3c|bpe:dablh;d,f~e-fod}by z A B C D E 5cmh.fGd/f2 Hd:f3 J nhoh:eph3hqh!e=e#e$e%e?evg'e(e)e@e6c~bOdacrhZh8cbb?d9c@d!cshQdRd#cqd$c%c'c(cSd5b6b7bTd;fccdc=f?f@f{e[f]f^fuhvhwhUdxhyhrd)c^dsgcb* + zhAhBhChDh_f`f{f|f}f~f*cEhFhGhHhcfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQhpgVd8bRhSh;cecfcThWdXdYdZd0d, S 9b!bUhxdT yd1dzd

241 "_", " " 

242 ) 

243 return json_schema 2{c6d|cW Cgpb_d}cdf|eleAdBd~cPeef#b. xee f g h i j k 7dqb`dDgffyemcgfF nc7ehfG s EgFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: me!d#d$dIgVhtbX adubbdvbJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? jfkflfKgWh_emfnfofLgMgNgAcOgPg'b(bBbedqgY L M QgRgSgTg{dUgpfqfrfsftfufU Cb|dDbEbFbGbHbVgWgXgYg[eafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7gKf?cgb@chbib}d~dze[cBc7 Ib)b*b8g9gJb@ [ !gCcDcEcFcGc%d+b,bN u 8 9 #g-bv .bHc/baefd'dgdZ $gKbbehdLf}eneDdEdidXeMf:b] Ael m n o p q r (dLbce%gNfBeIcOfH Jc8ePfI t 'g(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe+d,d-d+gXhOb0 jdPbkdQb,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | RfSfTf-gYh`eUfVfWf.g/g:gWc;g=g?b@bWbndrg1 P Q ?g@g[g]gde^gXfYfZf0f1f2fV XbeeYbZb0b1b2b_g`g{g|g]ebf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh+f^cmb_cnbobfegeCe`cXc% 3b[b]bhhih4b} ~ jhYcZc0c1c2c.d^b_bR w ' ( kh`bx {b3c|bhe/dpe:dablh4cDe;d,f~eKeieje=d9e-fod}bMey z A B C D E qe5cEemh.fNeGd/f2 Hd;e:f3 J nhoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLeteueverhZh8cbb?d9c@d!csh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdc=f?f@fth0h{e[f]f^fuhvhwhUdxhyhrdsd)c^dsgcb* + zhAhBhChFeDh_f`f{f|f}f~f- *cGe+c,c-c.c/cEhFhGhHh^ecfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQhpg3djc4dkclcHeIeOe5dVd8b:ctdudRhSh;cecfcThWdXdYdZd0dwevdwd, S 9b!bUhxdT yd1dzdJe

244 

245 

246def get_definitions( 1abcd

247 *, 

248 fields: Sequence[ModelField], 

249 model_name_map: ModelNameMap, 

250 separate_input_output_schemas: bool = True, 

251) -> tuple[ 

252 dict[tuple[ModelField, Literal["validation", "serialization"]], JsonSchemaValue], 

253 dict[str, dict[str, Any]], 

254]: 

255 schema_generator = GenerateJsonSchema(ref_template=REF_TEMPLATE) 2{c6d^j_j|cW Cgpb_d}cdf|eleAd`jBd~c{jPeef#b. xee f g h i j k 7d|jqb`dDgffyemcgfF nc7ehf}jG s ~jEg[hFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: meakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkuk!dvkwkxkyk#d$dzkAkBkCkDkIgVhtbEkX adubbdvbFkGkHkIkJkJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? KkjfkflfLkMkNkOkPkQkRkKgWh_eSkmfnfofLgMgNgAcOgTkPgUk'b(bBbedqgVkY L M WkQgRgSgTg{dUgpfqfrfsftfufU XkYkZk0k1k2kCb|d3k4k5kDb6k7k8kEbFb9kGbHb!kVgWgXg#kYg[eafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7g]hKf?cgb@chbib}d~dze[cBc$k7 Ib)b*b8g%k9gJb@ [ !gCcDcEcFcGc'k(k%d+b,b)k*kN u +k8 9 ,k-k.k/k:k#g-bv .bHc/baefd'd;k=kgdZ $gKbbehdLf}eneDd?kEdid@kXeMf:b] Ael m n o p q r (d[kLbce%gNfBeIcOfH Jc8ePf]kI t ^k'g^h(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlol+dplqlrlsl,d-dtlulvlwlxl+gXhObyl0 jdPbkdQbzlAlBlClDl,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | ElRfSfTfFlGlHlIlJlKlLl-gYh`eMlUfVfWf.g/g:gWc;gNl=gOl?b@bWbndrgPl1 P Q Ql?g@g[g]gde^gXfYfZf0f1f2fV RlSlTlUlVlWlXbeeXlYlZlYb0l1l2lZb0b3l1b2b4l_g`g{g5l|g]ebf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh_h+f^cmb_cnbobfegeCe`cXc6l% 3b[b]bhh7lih4b} ~ jhYcZc0c1c2c8l9l.d^b_b!l#lR w $l' ( %l'l(l)l*lkh`bx {b3c|bhe/dpe+l,l:dablh4cDe;d,f~eKeie-lje=d.l9e-fod}bMey z A B C D E qe/l5cEemh.fNeGd/f2 Hd;e:f:l3 J ;lnh`hoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLe=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimtejmkmlmmmuevenmompmqmrmrhZh8csmbb?d9c@d!ctmumvmwmxmsh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdcym=f?f@fzmAmBmCmDmEmFmth0h{eGm[f]f^fuhvhwhUdxhHmyhImrdsd)c^dsgJmcb* + KmzhAhBhChFeDh_f`f{f|f}f~f- LmMmNmOmPmQm*cGeRmSmTm+cUmVmWm,c-cXm.c/cYmEhFhGhZmHh^ecfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQh{hpg3djc4dkclcHeIeOe5dVd0m8b:ctdudRh1mSh;cecfcThWdXdYdZd0d2m3mwevdwd4m5m, S 6m9b!b7m8m9m!m#mUhxdT yd1dzdJe

256 validation_fields = [field for field in fields if field.mode == "validation"] 2{c6d^j_j|cW Cgpb_d}cdf|eleAd`jBd~c{jPeef#b. xee f g h i j k 7d|jqb`dDgffyemcgfF nc7ehf}jG s ~jEg[hFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: meakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkuk!dvkwkxkyk#d$dzkAkBkCkDkIgVhtbEkX adubbdvbFkGkHkIkJkJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? KkjfkflfLkMkNkOkPkQkRkKgWh_eSkmfnfofLgMgNgAcOgTkPgUk'b(bBbedqgVkY L M WkQgRgSgTg{dUgpfqfrfsftfufU XkYkZk0k1k2kCb|d3k4k5kDb6k7k8kEbFb9kGbHb!kVgWgXg#kYg[eafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7g]hKf?cgb@chbib}d~dze[cBc$k7 Ib)b*b8g%k9gJb@ [ !gCcDcEcFcGc'k(k%d+b,b)k*kN u +k8 9 ,k-k.k/k:k#g-bv .bHc/baefd'd;k=kgdZ $gKbbehdLf}eneDd?kEdid@kXeMf:b] Ael m n o p q r (d[kLbce%gNfBeIcOfH Jc8ePf]kI t ^k'g^h(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlol+dplqlrlsl,d-dtlulvlwlxl+gXhObyl0 jdPbkdQbzlAlBlClDl,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | ElRfSfTfFlGlHlIlJlKlLl-gYh`eMlUfVfWf.g/g:gWc;gNl=gOl?b@bWbndrgPl1 P Q Ql?g@g[g]gde^gXfYfZf0f1f2fV RlSlTlUlVlWlXbeeXlYlZlYb0l1l2lZb0b3l1b2b4l_g`g{g5l|g]ebf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh_h+f^cmb_cnbobfegeCe`cXc6l% 3b[b]bhh7lih4b} ~ jhYcZc0c1c2c8l9l.d^b_b!l#lR w $l' ( %l'l(l)l*lkh`bx {b3c|bhe/dpe+l,l:dablh4cDe;d,f~eKeie-lje=d.l9e-fod}bMey z A B C D E qe/l5cEemh.fNeGd/f2 Hd;e:f:l3 J ;lnh`hoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLe=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimtejmkmlmmmuevenmompmqmrmrhZh8csmbb?d9c@d!ctmumvmwmxmsh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdcym=f?f@fzmAmBmCmDmEmFmth0h{eGm[f]f^fuhvhwhUdxhHmyhImrdsd)c^dsgJmcb* + KmzhAhBhChFeDh_f`f{f|f}f~f- LmMmNmOmPmQm*cGeRmSmTm+cUmVmWm,c-cXm.c/cYmEhFhGhZmHh^ecfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQh{hpg3djc4dkclcHeIeOe5dVd0m8b:ctdudRh1mSh;cecfcThWdXdYdZd0d2m3mwevdwd4m5m, S 6m9b!b7m8m9m!m#mUhxdT yd1dzdJe

257 serialization_fields = [field for field in fields if field.mode == "serialization"] 2{c6d^j_j|cW Cgpb_d}cdf|eleAd`jBd~c{jPeef#b. xee f g h i j k 7d|jqb`dDgffyemcgfF nc7ehf}jG s ~jEg[hFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: meakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkuk!dvkwkxkyk#d$dzkAkBkCkDkIgVhtbEkX adubbdvbFkGkHkIkJkJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? KkjfkflfLkMkNkOkPkQkRkKgWh_eSkmfnfofLgMgNgAcOgTkPgUk'b(bBbedqgVkY L M WkQgRgSgTg{dUgpfqfrfsftfufU XkYkZk0k1k2kCb|d3k4k5kDb6k7k8kEbFb9kGbHb!kVgWgXg#kYg[eafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7g]hKf?cgb@chbib}d~dze[cBc$k7 Ib)b*b8g%k9gJb@ [ !gCcDcEcFcGc'k(k%d+b,b)k*kN u +k8 9 ,k-k.k/k:k#g-bv .bHc/baefd'd;k=kgdZ $gKbbehdLf}eneDd?kEdid@kXeMf:b] Ael m n o p q r (d[kLbce%gNfBeIcOfH Jc8ePf]kI t ^k'g^h(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlol+dplqlrlsl,d-dtlulvlwlxl+gXhObyl0 jdPbkdQbzlAlBlClDl,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | ElRfSfTfFlGlHlIlJlKlLl-gYh`eMlUfVfWf.g/g:gWc;gNl=gOl?b@bWbndrgPl1 P Q Ql?g@g[g]gde^gXfYfZf0f1f2fV RlSlTlUlVlWlXbeeXlYlZlYb0l1l2lZb0b3l1b2b4l_g`g{g5l|g]ebf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh_h+f^cmb_cnbobfegeCe`cXc6l% 3b[b]bhh7lih4b} ~ jhYcZc0c1c2c8l9l.d^b_b!l#lR w $l' ( %l'l(l)l*lkh`bx {b3c|bhe/dpe+l,l:dablh4cDe;d,f~eKeie-lje=d.l9e-fod}bMey z A B C D E qe/l5cEemh.fNeGd/f2 Hd;e:f:l3 J ;lnh`hoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLe=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimtejmkmlmmmuevenmompmqmrmrhZh8csmbb?d9c@d!ctmumvmwmxmsh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdcym=f?f@fzmAmBmCmDmEmFmth0h{eGm[f]f^fuhvhwhUdxhHmyhImrdsd)c^dsgJmcb* + KmzhAhBhChFeDh_f`f{f|f}f~f- LmMmNmOmPmQm*cGeRmSmTm+cUmVmWm,c-cXm.c/cYmEhFhGhZmHh^ecfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQh{hpg3djc4dkclcHeIeOe5dVd0m8b:ctdudRh1mSh;cecfcThWdXdYdZd0d2m3mwevdwd4m5m, S 6m9b!b7m8m9m!m#mUhxdT yd1dzdJe

258 flat_validation_models = get_flat_models_from_fields( 2{c6d^j_j|cW Cgpb_d}cdf|eleAd`jBd~c{jPeef#b. xee f g h i j k 7d|jqb`dDgffyemcgfF nc7ehf}jG s ~jEg[hFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: meakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkuk!dvkwkxkyk#d$dzkAkBkCkDkIgVhtbEkX adubbdvbFkGkHkIkJkJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? KkjfkflfLkMkNkOkPkQkRkKgWh_eSkmfnfofLgMgNgAcOgTkPgUk'b(bBbedqgVkY L M WkQgRgSgTg{dUgpfqfrfsftfufU XkYkZk0k1k2kCb|d3k4k5kDb6k7k8kEbFb9kGbHb!kVgWgXg#kYg[eafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7g]hKf?cgb@chbib}d~dze[cBc$k7 Ib)b*b8g%k9gJb@ [ !gCcDcEcFcGc'k(k%d+b,b)k*kN u +k8 9 ,k-k.k/k:k#g-bv .bHc/baefd'd;k=kgdZ $gKbbehdLf}eneDd?kEdid@kXeMf:b] Ael m n o p q r (d[kLbce%gNfBeIcOfH Jc8ePf]kI t ^k'g^h(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlol+dplqlrlsl,d-dtlulvlwlxl+gXhObyl0 jdPbkdQbzlAlBlClDl,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | ElRfSfTfFlGlHlIlJlKlLl-gYh`eMlUfVfWf.g/g:gWc;gNl=gOl?b@bWbndrgPl1 P Q Ql?g@g[g]gde^gXfYfZf0f1f2fV RlSlTlUlVlWlXbeeXlYlZlYb0l1l2lZb0b3l1b2b4l_g`g{g5l|g]ebf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh_h+f^cmb_cnbobfegeCe`cXc6l% 3b[b]bhh7lih4b} ~ jhYcZc0c1c2c8l9l.d^b_b!l#lR w $l' ( %l'l(l)l*lkh`bx {b3c|bhe/dpe+l,l:dablh4cDe;d,f~eKeie-lje=d.l9e-fod}bMey z A B C D E qe/l5cEemh.fNeGd/f2 Hd;e:f:l3 J ;lnh`hoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLe=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimtejmkmlmmmuevenmompmqmrmrhZh8csmbb?d9c@d!ctmumvmwmxmsh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdcym=f?f@fzmAmBmCmDmEmFmth0h{eGm[f]f^fuhvhwhUdxhHmyhImrdsd)c^dsgJmcb* + KmzhAhBhChFeDh_f`f{f|f}f~f- LmMmNmOmPmQm*cGeRmSmTm+cUmVmWm,c-cXm.c/cYmEhFhGhZmHh^ecfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQh{hpg3djc4dkclcHeIeOe5dVd0m8b:ctdudRh1mSh;cecfcThWdXdYdZd0d2m3mwevdwd4m5m, S 6m9b!b7m8m9m!m#mUhxdT yd1dzdJe

259 validation_fields, known_models=set() 

260 ) 

261 flat_serialization_models = get_flat_models_from_fields( 2{c6d^j_j|cW Cgpb_d}cdf|eleAd`jBd~c{jPeef#b. xee f g h i j k 7d|jqb`dDgffyemcgfF nc7ehf}jG s ~jEg[hFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: meakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkuk!dvkwkxkyk#d$dzkAkBkCkDkIgVhtbEkX adubbdvbFkGkHkIkJkJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? KkjfkflfLkMkNkOkPkQkRkKgWh_eSkmfnfofLgMgNgAcOgTkPgUk'b(bBbedqgVkY L M WkQgRgSgTg{dUgpfqfrfsftfufU XkYkZk0k1k2kCb|d3k4k5kDb6k7k8kEbFb9kGbHb!kVgWgXg#kYg[eafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7g]hKf?cgb@chbib}d~dze[cBc$k7 Ib)b*b8g%k9gJb@ [ !gCcDcEcFcGc'k(k%d+b,b)k*kN u +k8 9 ,k-k.k/k:k#g-bv .bHc/baefd'd;k=kgdZ $gKbbehdLf}eneDd?kEdid@kXeMf:b] Ael m n o p q r (d[kLbce%gNfBeIcOfH Jc8ePf]kI t ^k'g^h(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlol+dplqlrlsl,d-dtlulvlwlxl+gXhObyl0 jdPbkdQbzlAlBlClDl,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | ElRfSfTfFlGlHlIlJlKlLl-gYh`eMlUfVfWf.g/g:gWc;gNl=gOl?b@bWbndrgPl1 P Q Ql?g@g[g]gde^gXfYfZf0f1f2fV RlSlTlUlVlWlXbeeXlYlZlYb0l1l2lZb0b3l1b2b4l_g`g{g5l|g]ebf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh_h+f^cmb_cnbobfegeCe`cXc6l% 3b[b]bhh7lih4b} ~ jhYcZc0c1c2c8l9l.d^b_b!l#lR w $l' ( %l'l(l)l*lkh`bx {b3c|bhe/dpe+l,l:dablh4cDe;d,f~eKeie-lje=d.l9e-fod}bMey z A B C D E qe/l5cEemh.fNeGd/f2 Hd;e:f:l3 J ;lnh`hoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLe=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimtejmkmlmmmuevenmompmqmrmrhZh8csmbb?d9c@d!ctmumvmwmxmsh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdcym=f?f@fzmAmBmCmDmEmFmth0h{eGm[f]f^fuhvhwhUdxhHmyhImrdsd)c^dsgJmcb* + KmzhAhBhChFeDh_f`f{f|f}f~f- LmMmNmOmPmQm*cGeRmSmTm+cUmVmWm,c-cXm.c/cYmEhFhGhZmHh^ecfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQh{hpg3djc4dkclcHeIeOe5dVd0m8b:ctdudRh1mSh;cecfcThWdXdYdZd0d2m3mwevdwd4m5m, S 6m9b!b7m8m9m!m#mUhxdT yd1dzdJe

262 serialization_fields, known_models=set() 

263 ) 

264 flat_validation_model_fields = [ 2{c6d^j_j|cW Cgpb_d}cdf|eleAd`jBd~c{jPeef#b. xee f g h i j k 7d|jqb`dDgffyemcgfF nc7ehf}jG s ~jEg[hFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: meakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkuk!dvkwkxkyk#d$dzkAkBkCkDkIgVhtbEkX adubbdvbFkGkHkIkJkJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? KkjfkflfLkMkNkOkPkQkRkKgWh_eSkmfnfofLgMgNgAcOgTkPgUk'b(bBbedqgVkY L M WkQgRgSgTg{dUgpfqfrfsftfufU XkYkZk0k1k2kCb|d3k4k5kDb6k7k8kEbFb9kGbHb!kVgWgXg#kYg[eafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7g]hKf?cgb@chbib}d~dze[cBc$k7 Ib)b*b8g%k9gJb@ [ !gCcDcEcFcGc'k(k%d+b,b)k*kN u +k8 9 ,k-k.k/k:k#g-bv .bHc/baefd'd;k=kgdZ $gKbbehdLf}eneDd?kEdid@kXeMf:b] Ael m n o p q r (d[kLbce%gNfBeIcOfH Jc8ePf]kI t ^k'g^h(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlol+dplqlrlsl,d-dtlulvlwlxl+gXhObyl0 jdPbkdQbzlAlBlClDl,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | ElRfSfTfFlGlHlIlJlKlLl-gYh`eMlUfVfWf.g/g:gWc;gNl=gOl?b@bWbndrgPl1 P Q Ql?g@g[g]gde^gXfYfZf0f1f2fV RlSlTlUlVlWlXbeeXlYlZlYb0l1l2lZb0b3l1b2b4l_g`g{g5l|g]ebf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh_h+f^cmb_cnbobfegeCe`cXc6l% 3b[b]bhh7lih4b} ~ jhYcZc0c1c2c8l9l.d^b_b!l#lR w $l' ( %l'l(l)l*lkh`bx {b3c|bhe/dpe+l,l:dablh4cDe;d,f~eKeie-lje=d.l9e-fod}bMey z A B C D E qe/l5cEemh.fNeGd/f2 Hd;e:f:l3 J ;lnh`hoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLe=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimtejmkmlmmmuevenmompmqmrmrhZh8csmbb?d9c@d!ctmumvmwmxmsh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdcym=f?f@fzmAmBmCmDmEmFmth0h{eGm[f]f^fuhvhwhUdxhHmyhImrdsd)c^dsgJmcb* + KmzhAhBhChFeDh_f`f{f|f}f~f- LmMmNmOmPmQm*cGeRmSmTm+cUmVmWm,c-cXm.c/cYmEhFhGhZmHh^ecfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQh{hpg3djc4dkclcHeIeOe5dVd0m8b:ctdudRh1mSh;cecfcThWdXdYdZd0d2m3mwevdwd4m5m, S 6m9b!b7m8m9m!m#mUhxdT yd1dzdJe

265 ModelField( 

266 field_info=FieldInfo(annotation=model), 

267 name=model.__name__, 

268 mode="validation", 

269 ) 

270 for model in flat_validation_models 

271 ] 

272 flat_serialization_model_fields = [ 2{c6d^j_j|cW Cgpb_d}cdf|eleAd`jBd~c{jPeef#b. xee f g h i j k 7d|jqb`dDgffyemcgfF nc7ehf}jG s ~jEg[hFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: meakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkuk!dvkwkxkyk#d$dzkAkBkCkDkIgVhtbEkX adubbdvbFkGkHkIkJkJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? KkjfkflfLkMkNkOkPkQkRkKgWh_eSkmfnfofLgMgNgAcOgTkPgUk'b(bBbedqgVkY L M WkQgRgSgTg{dUgpfqfrfsftfufU XkYkZk0k1k2kCb|d3k4k5kDb6k7k8kEbFb9kGbHb!kVgWgXg#kYg[eafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7g]hKf?cgb@chbib}d~dze[cBc$k7 Ib)b*b8g%k9gJb@ [ !gCcDcEcFcGc'k(k%d+b,b)k*kN u +k8 9 ,k-k.k/k:k#g-bv .bHc/baefd'd;k=kgdZ $gKbbehdLf}eneDd?kEdid@kXeMf:b] Ael m n o p q r (d[kLbce%gNfBeIcOfH Jc8ePf]kI t ^k'g^h(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlol+dplqlrlsl,d-dtlulvlwlxl+gXhObyl0 jdPbkdQbzlAlBlClDl,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | ElRfSfTfFlGlHlIlJlKlLl-gYh`eMlUfVfWf.g/g:gWc;gNl=gOl?b@bWbndrgPl1 P Q Ql?g@g[g]gde^gXfYfZf0f1f2fV RlSlTlUlVlWlXbeeXlYlZlYb0l1l2lZb0b3l1b2b4l_g`g{g5l|g]ebf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh_h+f^cmb_cnbobfegeCe`cXc6l% 3b[b]bhh7lih4b} ~ jhYcZc0c1c2c8l9l.d^b_b!l#lR w $l' ( %l'l(l)l*lkh`bx {b3c|bhe/dpe+l,l:dablh4cDe;d,f~eKeie-lje=d.l9e-fod}bMey z A B C D E qe/l5cEemh.fNeGd/f2 Hd;e:f:l3 J ;lnh`hoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLe=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimtejmkmlmmmuevenmompmqmrmrhZh8csmbb?d9c@d!ctmumvmwmxmsh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdcym=f?f@fzmAmBmCmDmEmFmth0h{eGm[f]f^fuhvhwhUdxhHmyhImrdsd)c^dsgJmcb* + KmzhAhBhChFeDh_f`f{f|f}f~f- LmMmNmOmPmQm*cGeRmSmTm+cUmVmWm,c-cXm.c/cYmEhFhGhZmHh^ecfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQh{hpg3djc4dkclcHeIeOe5dVd0m8b:ctdudRh1mSh;cecfcThWdXdYdZd0d2m3mwevdwd4m5m, S 6m9b!b7m8m9m!m#mUhxdT yd1dzdJe

273 ModelField( 

274 field_info=FieldInfo(annotation=model), 

275 name=model.__name__, 

276 mode="serialization", 

277 ) 

278 for model in flat_serialization_models 

279 ] 

280 flat_model_fields = flat_validation_model_fields + flat_serialization_model_fields 2{c6d^j_j|cW Cgpb_d}cdf|eleAd`jBd~c{jPeef#b. xee f g h i j k 7d|jqb`dDgffyemcgfF nc7ehf}jG s ~jEg[hFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: meakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkuk!dvkwkxkyk#d$dzkAkBkCkDkIgVhtbEkX adubbdvbFkGkHkIkJkJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? KkjfkflfLkMkNkOkPkQkRkKgWh_eSkmfnfofLgMgNgAcOgTkPgUk'b(bBbedqgVkY L M WkQgRgSgTg{dUgpfqfrfsftfufU XkYkZk0k1k2kCb|d3k4k5kDb6k7k8kEbFb9kGbHb!kVgWgXg#kYg[eafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7g]hKf?cgb@chbib}d~dze[cBc$k7 Ib)b*b8g%k9gJb@ [ !gCcDcEcFcGc'k(k%d+b,b)k*kN u +k8 9 ,k-k.k/k:k#g-bv .bHc/baefd'd;k=kgdZ $gKbbehdLf}eneDd?kEdid@kXeMf:b] Ael m n o p q r (d[kLbce%gNfBeIcOfH Jc8ePf]kI t ^k'g^h(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlol+dplqlrlsl,d-dtlulvlwlxl+gXhObyl0 jdPbkdQbzlAlBlClDl,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | ElRfSfTfFlGlHlIlJlKlLl-gYh`eMlUfVfWf.g/g:gWc;gNl=gOl?b@bWbndrgPl1 P Q Ql?g@g[g]gde^gXfYfZf0f1f2fV RlSlTlUlVlWlXbeeXlYlZlYb0l1l2lZb0b3l1b2b4l_g`g{g5l|g]ebf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh_h+f^cmb_cnbobfegeCe`cXc6l% 3b[b]bhh7lih4b} ~ jhYcZc0c1c2c8l9l.d^b_b!l#lR w $l' ( %l'l(l)l*lkh`bx {b3c|bhe/dpe+l,l:dablh4cDe;d,f~eKeie-lje=d.l9e-fod}bMey z A B C D E qe/l5cEemh.fNeGd/f2 Hd;e:f:l3 J ;lnh`hoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLe=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimtejmkmlmmmuevenmompmqmrmrhZh8csmbb?d9c@d!ctmumvmwmxmsh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdcym=f?f@fzmAmBmCmDmEmFmth0h{eGm[f]f^fuhvhwhUdxhHmyhImrdsd)c^dsgJmcb* + KmzhAhBhChFeDh_f`f{f|f}f~f- LmMmNmOmPmQm*cGeRmSmTm+cUmVmWm,c-cXm.c/cYmEhFhGhZmHh^ecfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQh{hpg3djc4dkclcHeIeOe5dVd0m8b:ctdudRh1mSh;cecfcThWdXdYdZd0d2m3mwevdwd4m5m, S 6m9b!b7m8m9m!m#mUhxdT yd1dzdJe

281 input_types = {f.field_info.annotation for f in fields} 2{c6d^j_j|cW Cgpb_d}cdf|eleAd`jBd~c{jPeef#b. xee f g h i j k 7d|jqb`dDgffyemcgfF nc7ehf}jG s ~jEg[hFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: meakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkuk!dvkwkxkyk#d$dzkAkBkCkDkIgVhtbEkX adubbdvbFkGkHkIkJkJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? KkjfkflfLkMkNkOkPkQkRkKgWh_eSkmfnfofLgMgNgAcOgTkPgUk'b(bBbedqgVkY L M WkQgRgSgTg{dUgpfqfrfsftfufU XkYkZk0k1k2kCb|d3k4k5kDb6k7k8kEbFb9kGbHb!kVgWgXg#kYg[eafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7g]hKf?cgb@chbib}d~dze[cBc$k7 Ib)b*b8g%k9gJb@ [ !gCcDcEcFcGc'k(k%d+b,b)k*kN u +k8 9 ,k-k.k/k:k#g-bv .bHc/baefd'd;k=kgdZ $gKbbehdLf}eneDd?kEdid@kXeMf:b] Ael m n o p q r (d[kLbce%gNfBeIcOfH Jc8ePf]kI t ^k'g^h(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlol+dplqlrlsl,d-dtlulvlwlxl+gXhObyl0 jdPbkdQbzlAlBlClDl,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | ElRfSfTfFlGlHlIlJlKlLl-gYh`eMlUfVfWf.g/g:gWc;gNl=gOl?b@bWbndrgPl1 P Q Ql?g@g[g]gde^gXfYfZf0f1f2fV RlSlTlUlVlWlXbeeXlYlZlYb0l1l2lZb0b3l1b2b4l_g`g{g5l|g]ebf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh_h+f^cmb_cnbobfegeCe`cXc6l% 3b[b]bhh7lih4b} ~ jhYcZc0c1c2c8l9l.d^b_b!l#lR w $l' ( %l'l(l)l*lkh`bx {b3c|bhe/dpe+l,l:dablh4cDe;d,f~eKeie-lje=d.l9e-fod}bMey z A B C D E qe/l5cEemh.fNeGd/f2 Hd;e:f:l3 J ;lnh`hoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLe=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimtejmkmlmmmuevenmompmqmrmrhZh8csmbb?d9c@d!ctmumvmwmxmsh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdcym=f?f@fzmAmBmCmDmEmFmth0h{eGm[f]f^fuhvhwhUdxhHmyhImrdsd)c^dsgJmcb* + KmzhAhBhChFeDh_f`f{f|f}f~f- LmMmNmOmPmQm*cGeRmSmTm+cUmVmWm,c-cXm.c/cYmEhFhGhZmHh^ecfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQh{hpg3djc4dkclcHeIeOe5dVd0m8b:ctdudRh1mSh;cecfcThWdXdYdZd0d2m3mwevdwd4m5m, S 6m9b!b7m8m9m!m#mUhxdT yd1dzdJe

282 unique_flat_model_fields = { 2{c6d^j_j|cW Cgpb_d}cdf|eleAd`jBd~c{jPeef#b. xee f g h i j k 7d|jqb`dDgffyemcgfF nc7ehf}jG s ~jEg[hFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: meakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkuk!dvkwkxkyk#d$dzkAkBkCkDkIgVhtbEkX adubbdvbFkGkHkIkJkJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? KkjfkflfLkMkNkOkPkQkRkKgWh_eSkmfnfofLgMgNgAcOgTkPgUk'b(bBbedqgVkY L M WkQgRgSgTg{dUgpfqfrfsftfufU XkYkZk0k1k2kCb|d3k4k5kDb6k7k8kEbFb9kGbHb!kVgWgXg#kYg[eafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7g]hKf?cgb@chbib}d~dze[cBc$k7 Ib)b*b8g%k9gJb@ [ !gCcDcEcFcGc'k(k%d+b,b)k*kN u +k8 9 ,k-k.k/k:k#g-bv .bHc/baefd'd;k=kgdZ $gKbbehdLf}eneDd?kEdid@kXeMf:b] Ael m n o p q r (d[kLbce%gNfBeIcOfH Jc8ePf]kI t ^k'g^h(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlol+dplqlrlsl,d-dtlulvlwlxl+gXhObyl0 jdPbkdQbzlAlBlClDl,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | ElRfSfTfFlGlHlIlJlKlLl-gYh`eMlUfVfWf.g/g:gWc;gNl=gOl?b@bWbndrgPl1 P Q Ql?g@g[g]gde^gXfYfZf0f1f2fV RlSlTlUlVlWlXbeeXlYlZlYb0l1l2lZb0b3l1b2b4l_g`g{g5l|g]ebf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh_h+f^cmb_cnbobfegeCe`cXc6l% 3b[b]bhh7lih4b} ~ jhYcZc0c1c2c8l9l.d^b_b!l#lR w $l' ( %l'l(l)l*lkh`bx {b3c|bhe/dpe+l,l:dablh4cDe;d,f~eKeie-lje=d.l9e-fod}bMey z A B C D E qe/l5cEemh.fNeGd/f2 Hd;e:f:l3 J ;lnh`hoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLe=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimtejmkmlmmmuevenmompmqmrmrhZh8csmbb?d9c@d!ctmumvmwmxmsh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdcym=f?f@fzmAmBmCmDmEmFmth0h{eGm[f]f^fuhvhwhUdxhHmyhImrdsd)c^dsgJmcb* + KmzhAhBhChFeDh_f`f{f|f}f~f- LmMmNmOmPmQm*cGeRmSmTm+cUmVmWm,c-cXm.c/cYmEhFhGhZmHh^ecfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQh{hpg3djc4dkclcHeIeOe5dVd0m8b:ctdudRh1mSh;cecfcThWdXdYdZd0d2m3mwevdwd4m5m, S 6m9b!b7m8m9m!m#mUhxdT yd1dzdJe

283 f for f in flat_model_fields if f.field_info.annotation not in input_types 

284 } 

285 inputs = [ 2{c6d^j_j|cW Cgpb_d}cdf|eleAd`jBd~c{jPeef#b. xee f g h i j k 7d|jqb`dDgffyemcgfF nc7ehf}jG s ~jEg[hFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: meakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkuk!dvkwkxkyk#d$dzkAkBkCkDkIgVhtbEkX adubbdvbFkGkHkIkJkJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? KkjfkflfLkMkNkOkPkQkRkKgWh_eSkmfnfofLgMgNgAcOgTkPgUk'b(bBbedqgVkY L M WkQgRgSgTg{dUgpfqfrfsftfufU XkYkZk0k1k2kCb|d3k4k5kDb6k7k8kEbFb9kGbHb!kVgWgXg#kYg[eafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7g]hKf?cgb@chbib}d~dze[cBc$k7 Ib)b*b8g%k9gJb@ [ !gCcDcEcFcGc'k(k%d+b,b)k*kN u +k8 9 ,k-k.k/k:k#g-bv .bHc/baefd'd;k=kgdZ $gKbbehdLf}eneDd?kEdid@kXeMf:b] Ael m n o p q r (d[kLbce%gNfBeIcOfH Jc8ePf]kI t ^k'g^h(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlol+dplqlrlsl,d-dtlulvlwlxl+gXhObyl0 jdPbkdQbzlAlBlClDl,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | ElRfSfTfFlGlHlIlJlKlLl-gYh`eMlUfVfWf.g/g:gWc;gNl=gOl?b@bWbndrgPl1 P Q Ql?g@g[g]gde^gXfYfZf0f1f2fV RlSlTlUlVlWlXbeeXlYlZlYb0l1l2lZb0b3l1b2b4l_g`g{g5l|g]ebf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh_h+f^cmb_cnbobfegeCe`cXc6l% 3b[b]bhh7lih4b} ~ jhYcZc0c1c2c8l9l.d^b_b!l#lR w $l' ( %l'l(l)l*lkh`bx {b3c|bhe/dpe+l,l:dablh4cDe;d,f~eKeie-lje=d.l9e-fod}bMey z A B C D E qe/l5cEemh.fNeGd/f2 Hd;e:f:l3 J ;lnh`hoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLe=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimtejmkmlmmmuevenmompmqmrmrhZh8csmbb?d9c@d!ctmumvmwmxmsh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdcym=f?f@fzmAmBmCmDmEmFmth0h{eGm[f]f^fuhvhwhUdxhHmyhImrdsd)c^dsgJmcb* + KmzhAhBhChFeDh_f`f{f|f}f~f- LmMmNmOmPmQm*cGeRmSmTm+cUmVmWm,c-cXm.c/cYmEhFhGhZmHh^ecfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQh{hpg3djc4dkclcHeIeOe5dVd0m8b:ctdudRh1mSh;cecfcThWdXdYdZd0d2m3mwevdwd4m5m, S 6m9b!b7m8m9m!m#mUhxdT yd1dzdJe

286 ( 

287 field, 

288 ( 

289 field.mode 

290 if (separate_input_output_schemas or _has_computed_fields(field)) 

291 else "validation" 

292 ), 

293 field._type_adapter.core_schema, 

294 ) 

295 for field in list(fields) + list(unique_flat_model_fields) 

296 ] 

297 field_mapping, definitions = schema_generator.generate_definitions(inputs=inputs) 2{c6d^j_j|cW Cgpb_d}cdf|eleAd`jBd~c{jPeef#b. xee f g h i j k 7d|jqb`dDgffyemcgfF nc7ehf}jG s ~jEg[hFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: meakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkuk!dvkwkxkyk#d$dzkAkBkCkDkIgVhtbEkX adubbdvbFkGkHkIkJkJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? KkjfkflfLkMkNkOkPkQkRkKgWh_eSkmfnfofLgMgNgAcOgTkPgUk'b(bBbedqgVkY L M WkQgRgSgTg{dUgpfqfrfsftfufU XkYkZk0k1k2kCb|d3k4k5kDb6k7k8kEbFb9kGbHb!kVgWgXg#kYg[eafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7g]hKf?cgb@chbib}d~dze[cBc$k7 Ib)b*b8g%k9gJb@ [ !gCcDcEcFcGc'k(k%d+b,b)k*kN u +k8 9 ,k-k.k/k:k#g-bv .bHc/baefd'd;k=kgdZ $gKbbehdLf}eneDd?kEdid@kXeMf:b] Ael m n o p q r (d[kLbce%gNfBeIcOfH Jc8ePf]kI t ^k'g^h(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlol+dplqlrlsl,d-dtlulvlwlxl+gXhObyl0 jdPbkdQbzlAlBlClDl,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | ElRfSfTfFlGlHlIlJlKlLl-gYh`eMlUfVfWf.g/g:gWc;gNl=gOl?b@bWbndrgPl1 P Q Ql?g@g[g]gde^gXfYfZf0f1f2fV RlSlTlUlVlWlXbeeXlYlZlYb0l1l2lZb0b3l1b2b4l_g`g{g5l|g]ebf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh_h+f^cmb_cnbobfegeCe`cXc6l% 3b[b]bhh7lih4b} ~ jhYcZc0c1c2c8l9l.d^b_b!l#lR w $l' ( %l'l(l)l*lkh`bx {b3c|bhe/dpe+l,l:dablh4cDe;d,f~eKeie-lje=d.l9e-fod}bMey z A B C D E qe/l5cEemh.fNeGd/f2 Hd;e:f:l3 J ;lnh`hoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLe=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimtejmkmlmmmuevenmompmqmrmrhZh8csmbb?d9c@d!ctmumvmwmxmsh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdcym=f?f@fzmAmBmCmDmEmFmth0h{eGm[f]f^fuhvhwhUdxhHmyhImrdsd)c^dsgJmcb* + KmzhAhBhChFeDh_f`f{f|f}f~f- LmMmNmOmPmQm*cGeRmSmTm+cUmVmWm,c-cXm.c/cYmEhFhGhZmHh^ecfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQh{hpg3djc4dkclcHeIeOe5dVd0m8b:ctdudRh1mSh;cecfcThWdXdYdZd0d2m3mwevdwd4m5m, S 6m9b!b7m8m9m!m#mUhxdT yd1dzdJe

298 for item_def in cast(dict[str, dict[str, Any]], definitions).values(): 2{c6d^j_j|cW Cgpb_d}cdf|eleAd`jBd~c{jPeef#b. xee f g h i j k 7d|jqb`dDgffyemcgfF nc7ehf}jG s ~jEg[hFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: meakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkuk!dvkwkxkyk#d$dzkAkBkCkDkIgVhtbEkX adubbdvbFkGkHkIkJkJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? KkjfkflfLkMkNkOkPkQkRkKgWh_eSkmfnfofLgMgNgAcOgTkPgUk'b(bBbedqgVkY L M WkQgRgSgTg{dUgpfqfrfsftfufU XkYkZk0k1k2kCb|d3k4k5kDb6k7k8kEbFb9kGbHb!kVgWgXg#kYg[eafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7g]hKf?cgb@chbib}d~dze[cBc$k7 Ib)b*b8g%k9gJb@ [ !gCcDcEcFcGc'k(k%d+b,b)k*kN u +k8 9 ,k-k.k/k:k#g-bv .bHc/baefd'd;k=kgdZ $gKbbehdLf}eneDd?kEdid@kXeMf:b] Ael m n o p q r (d[kLbce%gNfBeIcOfH Jc8ePf]kI t ^k'g^h(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlol+dplqlrlsl,d-dtlulvlwlxl+gXhObyl0 jdPbkdQbzlAlBlClDl,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | ElRfSfTfFlGlHlIlJlKlLl-gYh`eMlUfVfWf.g/g:gWc;gNl=gOl?b@bWbndrgPl1 P Q Ql?g@g[g]gde^gXfYfZf0f1f2fV RlSlTlUlVlWlXbeeXlYlZlYb0l1l2lZb0b3l1b2b4l_g`g{g5l|g]ebf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh_h+f^cmb_cnbobfegeCe`cXc6l% 3b[b]bhh7lih4b} ~ jhYcZc0c1c2c8l9l.d^b_b!l#lR w $l' ( %l'l(l)l*lkh`bx {b3c|bhe/dpe+l,l:dablh4cDe;d,f~eKeie-lje=d.l9e-fod}bMey z A B C D E qe/l5cEemh.fNeGd/f2 Hd;e:f:l3 J ;lnh`hoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLe=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimtejmkmlmmmuevenmompmqmrmrhZh8csmbb?d9c@d!ctmumvmwmxmsh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdcym=f?f@fzmAmBmCmDmEmFmth0h{eGm[f]f^fuhvhwhUdxhHmyhImrdsd)c^dsgJmcb* + KmzhAhBhChFeDh_f`f{f|f}f~f- LmMmNmOmPmQm*cGeRmSmTm+cUmVmWm,c-cXm.c/cYmEhFhGhZmHh^ecfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQh{hpg3djc4dkclcHeIeOe5dVd0m8b:ctdudRh1mSh;cecfcThWdXdYdZd0d2m3mwevdwd4m5m, S 6m9b!b7m8m9m!m#mUhxdT yd1dzdJe

299 if "description" in item_def: 2{c6d|cW pb_d}cleAdBd~cPe#b. xee f g h i j k 7dqb`dyemcF nc7eG s K Cdocpcqc8ddbebfb=crcsctc9drbsb$b/ ucvc: me!d#d$dtbX adubbdvbcdddwcxcwb%bxbybzbAbyc4 5 6 ; zc= ? KgWh_eAc'b(bBbedY L M {dU Cb|dDbEbFbGbHb[e?cgb@chbib}d~dze[cBc7 Ib)b*bJb@ [ CcDcEcFcGc%d+b,bN u 8 9 -bv .bHc/baefd'dgdZ KbbehdneDdEdidXe:b] Ael m n o p q r (dLbceBeIcH Jc8eI t O FdKcLcMc)djbkblb]cNcOcPc*dMbNb;b^ QcRc_ oe+d,d-dOb0 jdPbkdQbldmdScTcRb=bSbTbUbVbUc! # $ ` Vc{ | -gYh`eWc?b@bWbnd1 P Q deV XbeeYbZb0b1b2b]e^cmb_cnbobfegeCe`cXc% 3b[b]b4b} ~ YcZc0c1c2c.d^b_bR w ' ( `bx {b3c|bhe/dpe:dab4cDe;dKeieje=d9eod}bMey z A B C D E qe5cEeNeGd2 Hd;e3 J ) keIdJdKdregchcic2dLdMdNdse6c7cpd~bOdPdacLeteueve8cbb?d9c@d!c[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTdccdcth0h{eUdrdsd)c^dcb* + Fe- *cGe+c,c-c.c/c^e3djc4dkclcHeIeOe5dVd8b:ctdud;cecfcWdXdYdZd0dwevdwd, S 9b!bxdT yd1dzdJe

300 item_description = cast(str, item_def["description"]).split("\f")[0] 2qb7erbLb8eMb5c;e6c

301 item_def["description"] = item_description 2qb7erbLb8eMb5c;e6c

302 # definitions: dict[DefsRef, dict[str, Any]] 

303 # but mypy complains about general str in other places that are not declared as 

304 # DefsRef, although DefsRef is just str: 

305 # DefsRef = NewType('DefsRef', str) 

306 # So, a cast to simplify the types here 

307 return field_mapping, cast(dict[str, dict[str, Any]], definitions) 2{c6d^j_j|cW Cgpb_d}cdf|eleAd`jBd~c{jPeef#b. xee f g h i j k 7d|jqb`dDgffyemcgfF nc7ehf}jG s ~jEg[hFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: meakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkuk!dvkwkxkyk#d$dzkAkBkCkDkIgVhtbEkX adubbdvbFkGkHkIkJkJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? KkjfkflfLkMkNkOkPkQkRkKgWh_eSkmfnfofLgMgNgAcOgTkPgUk'b(bBbedqgVkY L M WkQgRgSgTg{dUgpfqfrfsftfufU XkYkZk0k1k2kCb|d3k4k5kDb6k7k8kEbFb9kGbHb!kVgWgXg#kYg[eafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7g]hKf?cgb@chbib}d~dze[cBc$k7 Ib)b*b8g%k9gJb@ [ !gCcDcEcFcGc'k(k%d+b,b)k*kN u +k8 9 ,k-k.k/k:k#g-bv .bHc/baefd'd;k=kgdZ $gKbbehdLf}eneDd?kEdid@kXeMf:b] Ael m n o p q r (d[kLbce%gNfBeIcOfH Jc8ePf]kI t ^k'g^h(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlol+dplqlrlsl,d-dtlulvlwlxl+gXhObyl0 jdPbkdQbzlAlBlClDl,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | ElRfSfTfFlGlHlIlJlKlLl-gYh`eMlUfVfWf.g/g:gWc;gNl=gOl?b@bWbndrgPl1 P Q Ql?g@g[g]gde^gXfYfZf0f1f2fV RlSlTlUlVlWlXbeeXlYlZlYb0l1l2lZb0b3l1b2b4l_g`g{g5l|g]ebf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh_h+f^cmb_cnbobfegeCe`cXc6l% 3b[b]bhh7lih4b} ~ jhYcZc0c1c2c8l9l.d^b_b!l#lR w $l' ( %l'l(l)l*lkh`bx {b3c|bhe/dpe+l,l:dablh4cDe;d,f~eKeie-lje=d.l9e-fod}bMey z A B C D E qe/l5cEemh.fNeGd/f2 Hd;e:f:l3 J ;lnh`hoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLe=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimtejmkmlmmmuevenmompmqmrmrhZh8csmbb?d9c@d!ctmumvmwmxmsh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdcym=f?f@fzmAmBmCmDmEmFmth0h{eGm[f]f^fuhvhwhUdxhHmyhImrdsd)c^dsgJmcb* + KmzhAhBhChFeDh_f`f{f|f}f~f- LmMmNmOmPmQm*cGeRmSmTm+cUmVmWm,c-cXm.c/cYmEhFhGhZmHh^ecfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQh{hpg3djc4dkclcHeIeOe5dVd0m8b:ctdudRh1mSh;cecfcThWdXdYdZd0d2m3mwevdwd4m5m, S 6m9b!b7m8m9m!m#mUhxdT yd1dzdJe

308 

309 

310def is_scalar_field(field: ModelField) -> bool: 1abcd

311 from fastapi import params 2a !h|h}hajhjijJjjjkjKjljLjmjnjMjojCnDnEnFnGnHnInJnKnLnMn5e~huiRibj: NjOjpjPjQjqjRjSjv OnPnrjb +hcidicjujvjVjwjxjWjyjXjzjAjYjBjRnSnTnUnVnWnXnYnZn0n1n6eeiDi3idj_ Zj0jCj1j2jDj3j4jx 3n4nEjc d kiKiLiFj7j8j-j9j!j.j#j/j$j%j:j'jXoYoZo0o1o2o3o4o5o6o7o:eMi)i@iGjac;j=j(j?j@j)j[j]jT 9o!o*j

312 

313 return shared.field_annotation_is_scalar( 2a !h|h}hajhjijJjjjkjKjljLjmjnjMjojCnDnEnFnGnHnInJnKnLnMn5e~huiRibj: NjOjpjPjQjqjRjSjv OnPnrjb +hcidicjujvjVjwjxjWjyjXjzjAjYjBjRnSnTnUnVnWnXnYnZn0n1n6eeiDi3idj_ Zj0jCj1j2jDj3j4jx 3n4nEjc d kiKiLiFj7j8j-j9j!j.j#j/j$j%j:j'jXoYoZo0o1o2o3o4o5o6o7o:eMi)i@iGjac;j=j(j?j@j)j[j]jT 9o!o*j

314 field.field_info.annotation 

315 ) and not isinstance(field.field_info, params.Body) 

316 

317 

318def copy_field_info(*, field_info: FieldInfo, annotation: Any) -> FieldInfo: 1abcd

319 cls = type(field_info) 2a !hBO|h}h8hiiK ti#h5e~huiRib +hCOcidi9hjiO Ci,h6eeiDi3ic d kiDOKiLihi%i) (ili:eMi)i@i

320 merged_field_info = cls.from_annotation(annotation) 2a !hBO|h}h8hiiK ti#h5e~huiRib +hCOcidi9hjiO Ci,h6eeiDi3ic d kiDOKiLihi%i) (ili:eMi)i@i

321 new_field_info = copy(field_info) 2a !hBO|h}h8hiiK ti#h5e~huiRib +hCOcidi9hjiO Ci,h6eeiDi3ic d kiDOKiLihi%i) (ili:eMi)i@i

322 new_field_info.metadata = merged_field_info.metadata 2a !hBO|h}h8hiiK ti#h5e~huiRib +hCOcidi9hjiO Ci,h6eeiDi3ic d kiDOKiLihi%i) (ili:eMi)i@i

323 new_field_info.annotation = merged_field_info.annotation 2a !hBO|h}h8hiiK ti#h5e~huiRib +hCOcidi9hjiO Ci,h6eeiDi3ic d kiDOKiLihi%i) (ili:eMi)i@i

324 return new_field_info 2a !hBO|h}h8hiiK ti#h5e~huiRib +hCOcidi9hjiO Ci,h6eeiDi3ic d kiDOKiLihi%i) (ili:eMi)i@i

325 

326 

327def serialize_sequence_value(*, field: ModelField, value: Any) -> Sequence[Any]: 1abcd

328 origin_type = get_origin(field.field_info.annotation) or field.field_info.annotation 2fjHjIj/p8hvn@pdzezfzwnzoAoBowqxqsjTjUjOq9hxnTqgzhzizynCoDoEo=q?q5j+j,jgrhiznlrjzkzlzAnFoGoHoRrSr

329 if origin_type is Union or origin_type is UnionType: # Handle optional sequences 2fjHjIj/p8hvn@pdzezfzwnzoAoBowqxqsjTjUjOq9hxnTqgzhzizynCoDoEo=q?q5j+j,jgrhiznlrjzkzlzAnFoGoHoRrSr

330 union_args = get_args(field.field_info.annotation) 2fjHjIjvnwnzoAoBosjTjUjxnynCoDoEo5j+j,jznAnFoGoHo

331 for union_arg in union_args: 2fjHjIjvnwnzoAoBosjTjUjxnynCoDoEo5j+j,jznAnFoGoHo

332 if union_arg is type(None): 2fjHjIjvnwnzoAoBosjTjUjxnynCoDoEo5j+j,jznAnFoGoHo

333 continue 2fjsj5j

334 origin_type = get_origin(union_arg) or union_arg 2fjHjIjvnwnzoAoBosjTjUjxnynCoDoEo5j+j,jznAnFoGoHo

335 break 2fjHjIjvnwnzoAoBosjTjUjxnynCoDoEo5j+j,jznAnFoGoHo

336 assert issubclass(origin_type, shared.sequence_types) # type: ignore[arg-type] 2fjHjIj/p8hvn@pdzezfzwnzoAoBowqxqsjTjUjOq9hxnTqgzhzizynCoDoEo=q?q5j+j,jgrhiznlrjzkzlzAnFoGoHoRrSr

337 return shared.sequence_annotation_to_type[origin_type](value) # type: ignore[no-any-return,index] 2fjHjIj/p8hvn@pdzezfzwnzoAoBowqxqsjTjUjOq9hxnTqgzhzizynCoDoEo=q?q5j+j,jgrhiznlrjzkzlzAnFoGoHoRrSr

338 

339 

340def get_missing_field_error(loc: tuple[int | str, ...]) -> dict[str, Any]: 1abcd

341 error = ValidationError.from_exception_data( 2$mZt#o$ohjijjjkjljmjnjoj%o'o.pyzzzAzEzFzJzKz6r7r8r9r!r(o#r$rDVEVFVGVHVIVJVKV%r'r(r)r*r)o+r,r-r.r/r:r;r*o=r?riNjNkNlNmNNznNoNDNENFNGNHNQzINJN@r[r$h]r%h4h^r'h_r`r(h{r)h5h|r*h}r~rasbscs+odsesfsgshsisjs,okslsmsnsospsqs-orssstsusvswsxs.oyszsSzTzUzVz/o:o;o=o?o@oDuEuFuGuHuIuJu0zKu1z2zLVOuPuQuRuSu]o^oUuVu9z!z#z)u*u+u?udo+z,z=z?z]z^z_zovpv`z{zqv|zrvrj%mJvepfpujvjwjxjyjzjAjBjgphpNqsAtAuAyAzADAEAAsBsCsDsEsipFsGsMVNVOVPVQVRVSVTVHsIsJsKsLsjpMsNsOsPsQsRsSskpTsUsUNVNWNXNYNHAZN0N(N)N*N+N,NKA-N.NVsWs-hXs.h6hYs/hZs0s:h1s;h7h2s=h3s4s5s6s7slp8s9s!s#s$s%s'smp(s)s*s+s,s-s.snp/s:s;s=s?s@s[sop]s^sMANAOAPAppqprpsptpupnwowpwqwrwswtwUAuwVAWAUVywzwAwBwCwwpxpEwFw3A4A5A0w1w2w!wno$A%A,A-A:A;A=A}w~w?A@Aax[AbxEj'mtxIpJp7j8j9j!j#j$j%j'jKpLpfrmBnBoBsBtBxByB_s`s{s|s}sMp~satVVWVXVYVZV0V1V2VbtctdtetftNpgthtitjtktltmtOpntot`N{N|N}N~NBBaObOqOrOsOtOuOEBvOwOptqtmirtni?hstoittutpivtqi@hwtrixtytztAtBtPpCtDtEtFtGtHtItQpJtKtLtMtNtOtPtRpQtRtStTtUtVtWtSpXtYtGBHBIBJBTpUpVpWpXpYp|x}x~xaybycydyOBeyPBQB3Viyjykylymy0p1poypyXBYBZBKyLyMyUyxo6B7B%B'B*B+B,B,y-y-B.B.y/B/y*j

342 "Field required", [{"type": "missing", "loc": loc, "input": {}}] 

343 ).errors(include_url=False)[0] 

344 error["input"] = None 2$mZt#o$ohjijjjkjljmjnjoj%o'o.pyzzzAzEzFzJzKz6r7r8r9r!r(o#r$rDVEVFVGVHVIVJVKV%r'r(r)r*r)o+r,r-r.r/r:r;r*o=r?riNjNkNlNmNNznNoNDNENFNGNHNQzINJN@r[r$h]r%h4h^r'h_r`r(h{r)h5h|r*h}r~rasbscs+odsesfsgshsisjs,okslsmsnsospsqs-orssstsusvswsxs.oyszsSzTzUzVz/o:o;o=o?o@oDuEuFuGuHuIuJu0zKu1z2zLVOuPuQuRuSu]o^oUuVu9z!z#z)u*u+u?udo+z,z=z?z]z^z_zovpv`z{zqv|zrvrj%mJvepfpujvjwjxjyjzjAjBjgphpNqsAtAuAyAzADAEAAsBsCsDsEsipFsGsMVNVOVPVQVRVSVTVHsIsJsKsLsjpMsNsOsPsQsRsSskpTsUsUNVNWNXNYNHAZN0N(N)N*N+N,NKA-N.NVsWs-hXs.h6hYs/hZs0s:h1s;h7h2s=h3s4s5s6s7slp8s9s!s#s$s%s'smp(s)s*s+s,s-s.snp/s:s;s=s?s@s[sop]s^sMANAOAPAppqprpsptpupnwowpwqwrwswtwUAuwVAWAUVywzwAwBwCwwpxpEwFw3A4A5A0w1w2w!wno$A%A,A-A:A;A=A}w~w?A@Aax[AbxEj'mtxIpJp7j8j9j!j#j$j%j'jKpLpfrmBnBoBsBtBxByB_s`s{s|s}sMp~satVVWVXVYVZV0V1V2VbtctdtetftNpgthtitjtktltmtOpntot`N{N|N}N~NBBaObOqOrOsOtOuOEBvOwOptqtmirtni?hstoittutpivtqi@hwtrixtytztAtBtPpCtDtEtFtGtHtItQpJtKtLtMtNtOtPtRpQtRtStTtUtVtWtSpXtYtGBHBIBJBTpUpVpWpXpYp|x}x~xaybycydyOBeyPBQB3Viyjykylymy0p1poypyXBYBZBKyLyMyUyxo6B7B%B'B*B+B,B,y-y-B.B.y/B/y*j

345 return error # type: ignore[return-value] 2$mZt#o$ohjijjjkjljmjnjoj%o'o.pyzzzAzEzFzJzKz6r7r8r9r!r(o#r$rDVEVFVGVHVIVJVKV%r'r(r)r*r)o+r,r-r.r/r:r;r*o=r?riNjNkNlNmNNznNoNDNENFNGNHNQzINJN@r[r$h]r%h4h^r'h_r`r(h{r)h5h|r*h}r~rasbscs+odsesfsgshsisjs,okslsmsnsospsqs-orssstsusvswsxs.oyszsSzTzUzVz/o:o;o=o?o@oDuEuFuGuHuIuJu0zKu1z2zLVOuPuQuRuSu]o^oUuVu9z!z#z)u*u+u?udo+z,z=z?z]z^z_zovpv`z{zqv|zrvrj%mJvepfpujvjwjxjyjzjAjBjgphpNqsAtAuAyAzADAEAAsBsCsDsEsipFsGsMVNVOVPVQVRVSVTVHsIsJsKsLsjpMsNsOsPsQsRsSskpTsUsUNVNWNXNYNHAZN0N(N)N*N+N,NKA-N.NVsWs-hXs.h6hYs/hZs0s:h1s;h7h2s=h3s4s5s6s7slp8s9s!s#s$s%s'smp(s)s*s+s,s-s.snp/s:s;s=s?s@s[sop]s^sMANAOAPAppqprpsptpupnwowpwqwrwswtwUAuwVAWAUVywzwAwBwCwwpxpEwFw3A4A5A0w1w2w!wno$A%A,A-A:A;A=A}w~w?A@Aax[AbxEj'mtxIpJp7j8j9j!j#j$j%j'jKpLpfrmBnBoBsBtBxByB_s`s{s|s}sMp~satVVWVXVYVZV0V1V2VbtctdtetftNpgthtitjtktltmtOpntot`N{N|N}N~NBBaObOqOrOsOtOuOEBvOwOptqtmirtni?hstoittutpivtqi@hwtrixtytztAtBtPpCtDtEtFtGtHtItQpJtKtLtMtNtOtPtRpQtRtStTtUtVtWtSpXtYtGBHBIBJBTpUpVpWpXpYp|x}x~xaybycydyOBeyPBQB3Viyjykylymy0p1poypyXBYBZBKyLyMyUyxo6B7B%B'B*B+B,B,y-y-B.B.y/B/y*j

346 

347 

348def create_body_model( 1abcd

349 *, fields: Sequence[ModelField], model_name: str 

350) -> type[BaseModel]: 

351 field_params = {f.name: (f.field_info.annotation, f.field_info) for f in fields} 2a gje f g h i j k 8h,miiK ti#hb tjl m n o p q r 9hdnjiO Ci,hc d 6jy z A B C D E hi(n%i) (ili

352 BodyModel: type[BaseModel] = create_model(model_name, **field_params) # type: ignore[call-overload] 2a gje f g h i j k 8h,miiK ti#hb tjl m n o p q r 9hdnjiO Ci,hc d 6jy z A B C D E hi(n%i) (ili

353 return BodyModel 2a gje f g h i j k 8h,miiK ti#hb tjl m n o p q r 9hdnjiO Ci,hc d 6jy z A B C D E hi(n%i) (ili

354 

355 

356def get_model_fields(model: type[BaseModel]) -> list[ModelField]: 1abcd

357 model_fields: list[ModelField] = [] 2{c6d|cW pb_d}cleAdBd~cPe#b. Pisixee f g h i j k 7dqb`dyemcF nc7eG s QiK Cd:iocpcqc8dQe*edbebfb=c$h%h4hrc'hviwiaiscxiyizibitcAi(h)h5h9d*hReSeTe+eUeVeWe,erbsb$b/ ucvc: me!d#d$dtbX adubbdvbcdddwcxcwb%bxbybzbAbyc4 5 6 ; zc= ? SiTiAc'b(bBbedY L M {dUiViWiU Cb|dDbEbFbGbHbXiYi?cgb@chbib}dZi~d0ize[cBc7 Ib)b*bJb@ [ CcDcEcFcGc%d+b,bN u 8 9 -bv .bHc/baefd'dgdZ KbbehdneDdEdidXe:b] 1iBiAel m n o p q r (dLbceBeIcH Jc8eI t 2iO Fd;iKcLcMc)dYe-ejbkblb]c-h.h6hNc/hEiFifiOcGiHiIigiPcJi:h;h7h*d=hZe0e1e.e2e3e4e/eMbNb;b^ QcRc_ oe+d,d-dOb0 jdPbkdQbldmdScTcRb=bSbTbUbVbUc! # $ ` Vc{ | 4i5iWc?b@bWbnd1 P Q de6i7i8iV XbeeYbZb0b1b2b9i!i^cmb_cnbobfe#ige$iCe`cXc% 3b[b]b4b} ~ YcZc0c1c2c.d^b_bR w ' ( `bx {b3c|bhe/dpe:dab4cDe;dKeieje=d9eod}b=i'iMey z A B C D E qe5cEeNeGd2 Hd;e3 J ?i) keejIdJdKdre!e=egchcic2dmini?hLdoi*i+iNiMd,i-i.iOiNd/ipiqi@hseri#e$e%e?e'e(e)e@e6c7cpd~bOdPdacLeteueve8cbb?d9c@d!c[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTdccdc[i]iUdrdsd)c^dcb* + Fe^i_i`i- *cGe+c,c-c.c/c{i|i3djc4dkclcHe}iIe~iOe5dVd8b:ctdud;cecfcWdXdYdZd0dwevdwd, S 9b!bxdT yd1dzdJe

358 for name, field_info in model.model_fields.items(): 2{c6d|cW pb_d}cleAdBd~cPe#b. Pisixee f g h i j k 7dqb`dyemcF nc7eG s QiK Cd:iocpcqc8dQe*edbebfb=c$h%h4hrc'hviwiaiscxiyizibitcAi(h)h5h9d*hReSeTe+eUeVeWe,erbsb$b/ ucvc: me!d#d$dtbX adubbdvbcdddwcxcwb%bxbybzbAbyc4 5 6 ; zc= ? SiTiAc'b(bBbedY L M {dUiViWiU Cb|dDbEbFbGbHbXiYi?cgb@chbib}dZi~d0ize[cBc7 Ib)b*bJb@ [ CcDcEcFcGc%d+b,bN u 8 9 -bv .bHc/baefd'dgdZ KbbehdneDdEdidXe:b] 1iBiAel m n o p q r (dLbceBeIcH Jc8eI t 2iO Fd;iKcLcMc)dYe-ejbkblb]c-h.h6hNc/hEiFifiOcGiHiIigiPcJi:h;h7h*d=hZe0e1e.e2e3e4e/eMbNb;b^ QcRc_ oe+d,d-dOb0 jdPbkdQbldmdScTcRb=bSbTbUbVbUc! # $ ` Vc{ | 4i5iWc?b@bWbnd1 P Q de6i7i8iV XbeeYbZb0b1b2b9i!i^cmb_cnbobfe#ige$iCe`cXc% 3b[b]b4b} ~ YcZc0c1c2c.d^b_bR w ' ( `bx {b3c|bhe/dpe:dab4cDe;dKeieje=d9eod}b=i'iMey z A B C D E qe5cEeNeGd2 Hd;e3 J ?i) keejIdJdKdre!e=egchcic2dmini?hLdoi*i+iNiMd,i-i.iOiNd/ipiqi@hseri#e$e%e?e'e(e)e@e6c7cpd~bOdPdacLeteueve8cbb?d9c@d!c[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTdccdc[i]iUdrdsd)c^dcb* + Fe^i_i`i- *cGe+c,c-c.c/c{i|i3djc4dkclcHe}iIe~iOe5dVd8b:ctdud;cecfcWdXdYdZd0dwevdwd, S 9b!bxdT yd1dzdJe

359 type_ = field_info.annotation 2{c|cW pb_d}cleAdBd~cPe#b. Pisixee f g h i j k 7dqb`dyemcF ncG s QiK Cd:iocpcqc8dQe*edbebfb=c$h%h4hrc'hviwiaiscxiyizibitcAi(h)h5h9d*hReSeTe+eUeVeWe,erbsb$b/ ucvc: me!d#d$dtbX adubbdvbcdddwcxcwb%bxbybzbAbyc4 5 6 ; zc= ? SiTiAc'b(bBbedY L M {dUiViWiU Cb|dDbEbFbGbHbXiYi?cgb@chbib}dZi~d0ize[cBc7 Ib)b*bJb@ [ CcDcEcFcGc%d+b,bN u 8 9 -bv .bHc/baefdgdZ KbbehdneDdEdidXe:b] 1iBiAel m n o p q r (dLbceBeIcH JcI t 2iO Fd;iKcLcMc)dYe-ejbkblb]c-h.h6hNc/hEiFifiOcGiHiIigiPcJi:h;h7h*d=hZe0e1e.e2e3e4e/eMbNb;b^ QcRc_ oe+d,d-dOb0 jdPbkdQbldmdScTcRb=bSbTbUbVbUc! # $ ` Vc{ | 4i5iWc?b@bWbnd1 P Q de6i7i8iV XbeeYbZb0b1b2b9i!i^cmb_cnbobfe#ige$iCe`cXc% 3b[b]b4b} ~ YcZc0c1c2c.d^b_bR w ' ( `bx {b3c|bhe/d:dab4cDe;dKeieje=d9eod}b=i'iMey z A B C D E qe5cEeNeGd2 Hd3 J ?i) keejIdJdKdre!e=egchcic2dmini?hLdoi*i+iNiMd,i-i.iOiNd/ipiqi@hseri#e$e%e?e'e(e)e@e6c7cpd~bOdPdacLeteueve8cbb?d9c@d!c[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTdccdc[i]iUdrdsd)c^dcb* + Fe^i_i`i- *cGe+c,c-c.c/c{i|i3djc4dkclcHe}iIe~iOe5dVd8b:ctdud;cecfcWdXdYdZd0dwevdwd, S 9b!bxdT yd1dzdJe

360 if lenient_issubclass(type_, (BaseModel, dict)) or is_dataclass(type_): 2{c|cW pb_d}cleAdBd~cPe#b. Pisixee f g h i j k 7dqb`dyemcF ncG s QiK Cd:iocpcqc8dQe*edbebfb=c$h%h4hrc'hviwiaiscxiyizibitcAi(h)h5h9d*hReSeTe+eUeVeWe,erbsb$b/ ucvc: me!d#d$dtbX adubbdvbcdddwcxcwb%bxbybzbAbyc4 5 6 ; zc= ? SiTiAc'b(bBbedY L M {dUiViWiU Cb|dDbEbFbGbHbXiYi?cgb@chbib}dZi~d0ize[cBc7 Ib)b*bJb@ [ CcDcEcFcGc%d+b,bN u 8 9 -bv .bHc/baefdgdZ KbbehdneDdEdidXe:b] 1iBiAel m n o p q r (dLbceBeIcH JcI t 2iO Fd;iKcLcMc)dYe-ejbkblb]c-h.h6hNc/hEiFifiOcGiHiIigiPcJi:h;h7h*d=hZe0e1e.e2e3e4e/eMbNb;b^ QcRc_ oe+d,d-dOb0 jdPbkdQbldmdScTcRb=bSbTbUbVbUc! # $ ` Vc{ | 4i5iWc?b@bWbnd1 P Q de6i7i8iV XbeeYbZb0b1b2b9i!i^cmb_cnbobfe#ige$iCe`cXc% 3b[b]b4b} ~ YcZc0c1c2c.d^b_bR w ' ( `bx {b3c|bhe/d:dab4cDe;dKeieje=d9eod}b=i'iMey z A B C D E qe5cEeNeGd2 Hd3 J ?i) keejIdJdKdre!e=egchcic2dmini?hLdoi*i+iNiMd,i-i.iOiNd/ipiqi@hseri#e$e%e?e'e(e)e@e6c7cpd~bOdPdacLeteueve8cbb?d9c@d!c[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTdccdc[i]iUdrdsd)c^dcb* + Fe^i_i`i- *cGe+c,c-c.c/c{i|i3djc4dkclcHe}iIe~iOe5dVd8b:ctdud;cecfcWdXdYdZd0dwevdwd, S 9b!bxdT yd1dzdJe

361 model_config = None 2~cPe. e f g h i j k qbF CdwbxbybzbAbidXe] l m n o p q r LbH FdRbSbTbUbVb=d9e}by z A B C D E 5c2 ke#c$c%c'c(c

362 else: 

363 model_config = model.model_config 2{c|cW pb_d}cleAdBd~c#b. Pisixee f g h i j k 7dqb`dyemcF ncG s QiK Cd:iocpcqc8dQe*edbebfb=c$h%h4hrc'hviwiaiscxiyizibitcAi(h)h5h9d*hReSeTe+eUeVeWe,erbsb$b/ ucvc: me!d#d$dtbX adubbdvbcdddwcxcwb%bxbybzbAbyc4 5 6 ; zc= ? SiTiAc'b(bBbedY L M {dUiViWiU Cb|dDbEbFbGbHbXiYi?cgb@chbib}dZi~d0ize[cBc7 Ib)b*bJb@ [ CcDcEcFcGc%d+b,bN u 8 9 -bv .bHc/baefdgdZ KbbehdneDdEdid:b] 1iBiAel m n o p q r (dLbceBeIcH JcI t 2iO Fd;iKcLcMc)dYe-ejbkblb]c-h.h6hNc/hEiFifiOcGiHiIigiPcJi:h;h7h*d=hZe0e1e.e2e3e4e/eMbNb;b^ QcRc_ oe+d,d-dOb0 jdPbkdQbldmdScTcRb=bSbTbUbVbUc! # $ ` Vc{ | 4i5iWc?b@bWbnd1 P Q de6i7i8iV XbeeYbZb0b1b2b9i!i^cmb_cnbobfe#ige$iCe`cXc% 3b[b]b4b} ~ YcZc0c1c2c.d^b_bR w ' ( `bx {b3c|bhe/d:dab4cDe;dKeieje=dod}b=i'iMey z A B C D E qe5cEeNeGd2 Hd3 J ?i) keejIdJdKdre!e=egchcic2dmini?hLdoi*i+iNiMd,i-i.iOiNd/ipiqi@hseri#e$e%e?e'e(e)e@e6c7cpd~bOdPdacLeteueve8cbb?d9c@d!c[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTdccdc[i]iUdrdsd)c^dcb* + Fe^i_i`i- *cGe+c,c-c.c/c{i|i3djc4dkclcHe}iIe~iOe5dVd8b:ctdud;cecfcWdXdYdZd0dwevdwd, S 9b!bxdT yd1dzdJe

364 model_fields.append( 2{c|cW pb_d}cleAdBd~cPe#b. Pisixee f g h i j k 7dqb`dyemcF ncG s QiK Cd:iocpcqc8dQe*edbebfb=c$h%h4hrc'hviwiaiscxiyizibitcAi(h)h5h9d*hReSeTe+eUeVeWe,erbsb$b/ ucvc: me!d#d$dtbX adubbdvbcdddwcxcwb%bxbybzbAbyc4 5 6 ; zc= ? SiTiAc'b(bBbedY L M {dUiViWiU Cb|dDbEbFbGbHbXiYi?cgb@chbib}dZi~d0ize[cBc7 Ib)b*bJb@ [ CcDcEcFcGc%d+b,bN u 8 9 -bv .bHc/baefdgdZ KbbehdneDdEdidXe:b] 1iBiAel m n o p q r (dLbceBeIcH JcI t 2iO Fd;iKcLcMc)dYe-ejbkblb]c-h.h6hNc/hEiFifiOcGiHiIigiPcJi:h;h7h*d=hZe0e1e.e2e3e4e/eMbNb;b^ QcRc_ oe+d,d-dOb0 jdPbkdQbldmdScTcRb=bSbTbUbVbUc! # $ ` Vc{ | 4i5iWc?b@bWbnd1 P Q de6i7i8iV XbeeYbZb0b1b2b9i!i^cmb_cnbobfe#ige$iCe`cXc% 3b[b]b4b} ~ YcZc0c1c2c.d^b_bR w ' ( `bx {b3c|bhe/d:dab4cDe;dKeieje=d9eod}b=i'iMey z A B C D E qe5cEeNeGd2 Hd3 J ?i) keejIdJdKdre!e=egchcic2dmini?hLdoi*i+iNiMd,i-i.iOiNd/ipiqi@hseri#e$e%e?e'e(e)e@e6c7cpd~bOdPdacLeteueve8cbb?d9c@d!c[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTdccdc[i]iUdrdsd)c^dcb* + Fe^i_i`i- *cGe+c,c-c.c/c{i|i3djc4dkclcHe}iIe~iOe5dVd8b:ctdud;cecfcWdXdYdZd0dwevdwd, S 9b!bxdT yd1dzdJe

365 ModelField( 

366 field_info=field_info, 

367 name=name, 

368 config=model_config, 

369 ) 

370 ) 

371 return model_fields 2{c6d|cW pb_d}cleAdBd~cPe#b. Pisixee f g h i j k 7dqb`dyemcF nc7eG s QiK Cd:iocpcqc8dQe*edbebfb=c$h%h4hrc'hviwiaiscxiyizibitcAi(h)h5h9d*hReSeTe+eUeVeWe,erbsb$b/ ucvc: me!d#d$dtbX adubbdvbcdddwcxcwb%bxbybzbAbyc4 5 6 ; zc= ? SiTiAc'b(bBbedY L M {dUiViWiU Cb|dDbEbFbGbHbXiYi?cgb@chbib}dZi~d0ize[cBc7 Ib)b*bJb@ [ CcDcEcFcGc%d+b,bN u 8 9 -bv .bHc/baefd'dgdZ KbbehdneDdEdidXe:b] 1iBiAel m n o p q r (dLbceBeIcH Jc8eI t 2iO Fd;iKcLcMc)dYe-ejbkblb]c-h.h6hNc/hEiFifiOcGiHiIigiPcJi:h;h7h*d=hZe0e1e.e2e3e4e/eMbNb;b^ QcRc_ oe+d,d-dOb0 jdPbkdQbldmdScTcRb=bSbTbUbVbUc! # $ ` Vc{ | 4i5iWc?b@bWbnd1 P Q de6i7i8iV XbeeYbZb0b1b2b9i!i^cmb_cnbobfe#ige$iCe`cXc% 3b[b]b4b} ~ YcZc0c1c2c.d^b_bR w ' ( `bx {b3c|bhe/dpe:dab4cDe;dKeieje=d9eod}b=i'iMey z A B C D E qe5cEeNeGd2 Hd;e3 J ?i) keejIdJdKdre!e=egchcic2dmini?hLdoi*i+iNiMd,i-i.iOiNd/ipiqi@hseri#e$e%e?e'e(e)e@e6c7cpd~bOdPdacLeteueve8cbb?d9c@d!c[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTdccdc[i]iUdrdsd)c^dcb* + Fe^i_i`i- *cGe+c,c-c.c/c{i|i3djc4dkclcHe}iIe~iOe5dVd8b:ctdud;cecfcWdXdYdZd0dwevdwd, S 9b!bxdT yd1dzdJe

372 

373 

374@lru_cache 1abcd

375def get_cached_model_fields(model: type[BaseModel]) -> list[ModelField]: 1abcd

376 return get_model_fields(model) 2PisiQi:iQe*e$h%h4h'hviwiaixiyizibiAi(h)h5h*hReSeTe+eUeVeWe,eSiTiUiViWiXiYiZi0i1iBi2i;iYe-e-h.h6h/hEiFifiGiHiIigiJi:h;h7h=hZe0e1e.e2e3e4e/e4i5i6i7i8i9i!i#i$i=i'i?iej!e=emini?hoi*i+iNi,i-i.iOi/ipiqi@hri#e$e%e?e'e(e)e@e[i]i^i_i`i{i|i}i~i

377 

378 

379# Duplicate of several schema functions from Pydantic v1 to make them compatible with 

380# Pydantic v2 and allow mixing the models 

381 

382TypeModelOrEnum = type["BaseModel"] | type[Enum] 1abcd

383TypeModelSet = set[TypeModelOrEnum] 1abcd

384 

385 

386def normalize_name(name: str) -> str: 1abcd

387 return re.sub(r"[^a-zA-Z0-9.\-_]", "_", name) 2{c6d|cW pb_d}cleAdBd~cPe#b. xee f g h i j k 7dqb`dyemcF nc7eG s K Cdocpcqc8ddbebfb=crcsctc9drbsb$b/ ucvc: me!d#d$dtbX adubbdvbcdddwcxcwb%bxbybzbAbyc4 5 6 ; zc= ? Ac'b(bBbedY L M {dU Cb|dDbEbFbGbHb[e?cgb@chbib}d~dze[cBc7 Ib)b*bJb@ [ CcDcEcFcGc%d+b,bN u 8 9 -bv .bHc/baefd'dgdZ KbbehdneDdEdidXe:b] Ael m n o p q r (dLbceBeIcH Jc8eI t O FdKcLcMc)djbkblb]cNcOcPc*dMbNb;b^ QcRc_ oe+d,d-dOb0 jdPbkdQbldmdScTcRb=bSbTbUbVbUc! # $ ` Vc{ | Wc?b@bWbnd1 P Q deV XbeeYbZb0b1b2b]e^cmb_cnbobfegeCe`cXc% 3b[b]b4b} ~ YcZc0c1c2c.d^b_bR w ' ( `bx {b3c|bhe/dpe:dab4cDe;dKeieje=d9eod}bMey z A B C D E qe5cEeNeGd2 Hd;e3 J ) keIdJdKdregchcic2dLdMdNdse6c7cpd~bOdPdacLeteueve8cbb?d9c@d!c[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTdccdcUdrdsd)c^dcb* + Fe- *cGe+c,c-c.c/c^e3djc4dkclcHeIeOe5dVd8b:ctdud;cecfcWdXdYdZd0dwevdwd, S 9b!bxdT yd1dzdJe

388 

389 

390def get_model_name_map(unique_models: TypeModelSet) -> dict[TypeModelOrEnum, str]: 1abcd

391 name_model_map = {} 2{c6d^j_j|cW Cgpb_d}cdf|eleAd`jBd~c{jPeef#b. xee f g h i j k 7d|jqb`dDgffyemcgfF nc7ehf}jG s ~jEg[hFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: meakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkuk!dvkwkxkyk#d$dzkAkBkCkDkIgVhtbEkX adubbdvbFkGkHkIkJkJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? KkjfkflfLkMkNkOkPkQkRkKgWh_eSkmfnfofLgMgNgAcOgTkPgUk'b(bBbedqgVkY L M WkQgRgSgTg{dUgpfqfrfsftfufU XkYkZk0k1k2kCb|d3k4k5kDb6k7k8kEbFb9kGbHb!kVgWgXg#kYg[eafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7g]hKf?cgb@chbib}d~dze[cBc$k7 Ib)b*b8g%k9gJb@ [ !gCcDcEcFcGc'k(k%d+b,b)k*kN u +k8 9 ,k-k.k/k:k#g-bv .bHc/baefd'd;k=kgdZ $gKbbehdLf}eneDd?kEdid@kXeMf:b] Ael m n o p q r (d[kLbce%gNfBeIcOfH Jc8ePf]kI t ^k'g^h(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlol+dplqlrlsl,d-dtlulvlwlxl+gXhObyl0 jdPbkdQbzlAlBlClDl,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | ElRfSfTfFlGlHlIlJlKlLl-gYh`eMlUfVfWf.g/g:gWc;gNl=gOl?b@bWbndrgPl1 P Q Ql?g@g[g]gde^gXfYfZf0f1f2fV RlSlTlUlVlWlXbeeXlYlZlYb0l1l2lZb0b3l1b2b4l_g`g{g5l|g]ebf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh_h+f^cmb_cnbobfegeCe`cXc6l% 3b[b]bhh7lih4b} ~ jhYcZc0c1c2c8l9l.d^b_b!l#lR w $l' ( %l'l(l)l*lkh`bx {b3c|bhe/dpe+l,l:dablh4cDe;d,f~eKeie-lje=d.l9e-fod}bMey z A B C D E qe/l5cEemh.fNeGd/f2 Hd;e:f:l3 J ;lnh`hoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLe=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimtejmkmlmmmuevenmompmqmrmrhZh8csmbb?d9c@d!ctmumvmwmxmsh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdcym=f?f@fzmAmBmCmDmEmFmth0h{eGm[f]f^fuhvhwhUdxhHmyhImrdsd)c^dsgJmcb* + KmzhAhBhChFeDh_f`f{f|f}f~f- LmMmNmOmPmQm*cGeRmSmTm+cUmVmWm,c-cXm.c/cYmEhFhGhZmHh^ecfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQh{hpg3djc4dkclcHeIeOe5dVd0m8b:ctdudRh1mSh;cecfcThWdXdYdZd0d2m3mwevdwd4m5m, S 6m9b!b7m8m9m!m#mUhxdT yd1dzdJe

392 for model in unique_models: 2{c6d^j_j|cW Cgpb_d}cdf|eleAd`jBd~c{jPeef#b. xee f g h i j k 7d|jqb`dDgffyemcgfF nc7ehf}jG s ~jEg[hFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: meakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkuk!dvkwkxkyk#d$dzkAkBkCkDkIgVhtbEkX adubbdvbFkGkHkIkJkJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? KkjfkflfLkMkNkOkPkQkRkKgWh_eSkmfnfofLgMgNgAcOgTkPgUk'b(bBbedqgVkY L M WkQgRgSgTg{dUgpfqfrfsftfufU XkYkZk0k1k2kCb|d3k4k5kDb6k7k8kEbFb9kGbHb!kVgWgXg#kYg[eafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7g]hKf?cgb@chbib}d~dze[cBc$k7 Ib)b*b8g%k9gJb@ [ !gCcDcEcFcGc'k(k%d+b,b)k*kN u +k8 9 ,k-k.k/k:k#g-bv .bHc/baefd'd;k=kgdZ $gKbbehdLf}eneDd?kEdid@kXeMf:b] Ael m n o p q r (d[kLbce%gNfBeIcOfH Jc8ePf]kI t ^k'g^h(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlol+dplqlrlsl,d-dtlulvlwlxl+gXhObyl0 jdPbkdQbzlAlBlClDl,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | ElRfSfTfFlGlHlIlJlKlLl-gYh`eMlUfVfWf.g/g:gWc;gNl=gOl?b@bWbndrgPl1 P Q Ql?g@g[g]gde^gXfYfZf0f1f2fV RlSlTlUlVlWlXbeeXlYlZlYb0l1l2lZb0b3l1b2b4l_g`g{g5l|g]ebf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh_h+f^cmb_cnbobfegeCe`cXc6l% 3b[b]bhh7lih4b} ~ jhYcZc0c1c2c8l9l.d^b_b!l#lR w $l' ( %l'l(l)l*lkh`bx {b3c|bhe/dpe+l,l:dablh4cDe;d,f~eKeie-lje=d.l9e-fod}bMey z A B C D E qe/l5cEemh.fNeGd/f2 Hd;e:f:l3 J ;lnh`hoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLe=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimtejmkmlmmmuevenmompmqmrmrhZh8csmbb?d9c@d!ctmumvmwmxmsh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdcym=f?f@fzmAmBmCmDmEmFmth0h{eGm[f]f^fuhvhwhUdxhHmyhImrdsd)c^dsgJmcb* + KmzhAhBhChFeDh_f`f{f|f}f~f- LmMmNmOmPmQm*cGeRmSmTm+cUmVmWm,c-cXm.c/cYmEhFhGhZmHh^ecfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQh{hpg3djc4dkclcHeIeOe5dVd0m8b:ctdudRh1mSh;cecfcThWdXdYdZd0d2m3mwevdwd4m5m, S 6m9b!b7m8m9m!m#mUhxdT yd1dzdJe

393 model_name = normalize_name(model.__name__) 2{c6d|cW pb_d}cleAdBd~cPe#b. xee f g h i j k 7dqb`dyemcF nc7eG s K Cdocpcqc8ddbebfb=crcsctc9drbsb$b/ ucvc: me!d#d$dtbX adubbdvbcdddwcxcwb%bxbybzbAbyc4 5 6 ; zc= ? Ac'b(bBbedY L M {dU Cb|dDbEbFbGbHb[e?cgb@chbib}d~dze[cBc7 Ib)b*bJb@ [ CcDcEcFcGc%d+b,bN u 8 9 -bv .bHc/baefd'dgdZ KbbehdneDdEdidXe:b] Ael m n o p q r (dLbceBeIcH Jc8eI t O FdKcLcMc)djbkblb]cNcOcPc*dMbNb;b^ QcRc_ oe+d,d-dOb0 jdPbkdQbldmdScTcRb=bSbTbUbVbUc! # $ ` Vc{ | Wc?b@bWbnd1 P Q deV XbeeYbZb0b1b2b]e^cmb_cnbobfegeCe`cXc% 3b[b]b4b} ~ YcZc0c1c2c.d^b_bR w ' ( `bx {b3c|bhe/dpe:dab4cDe;dKeieje=d9eod}bMey z A B C D E qe5cEeNeGd2 Hd;e3 J ) keIdJdKdregchcic2dLdMdNdse6c7cpd~bOdPdacLeteueve8cbb?d9c@d!c[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTdccdcUdrdsd)c^dcb* + Fe- *cGe+c,c-c.c/c^e3djc4dkclcHeIeOe5dVd8b:ctdud;cecfcWdXdYdZd0dwevdwd, S 9b!bxdT yd1dzdJe

394 name_model_map[model_name] = model 2{c6d|cW pb_d}cleAdBd~cPe#b. xee f g h i j k 7dqb`dyemcF nc7eG s K Cdocpcqc8ddbebfb=crcsctc9drbsb$b/ ucvc: me!d#d$dtbX adubbdvbcdddwcxcwb%bxbybzbAbyc4 5 6 ; zc= ? Ac'b(bBbedY L M {dU Cb|dDbEbFbGbHb[e?cgb@chbib}d~dze[cBc7 Ib)b*bJb@ [ CcDcEcFcGc%d+b,bN u 8 9 -bv .bHc/baefd'dgdZ KbbehdneDdEdidXe:b] Ael m n o p q r (dLbceBeIcH Jc8eI t O FdKcLcMc)djbkblb]cNcOcPc*dMbNb;b^ QcRc_ oe+d,d-dOb0 jdPbkdQbldmdScTcRb=bSbTbUbVbUc! # $ ` Vc{ | Wc?b@bWbnd1 P Q deV XbeeYbZb0b1b2b]e^cmb_cnbobfegeCe`cXc% 3b[b]b4b} ~ YcZc0c1c2c.d^b_bR w ' ( `bx {b3c|bhe/dpe:dab4cDe;dKeieje=d9eod}bMey z A B C D E qe5cEeNeGd2 Hd;e3 J ) keIdJdKdregchcic2dLdMdNdse6c7cpd~bOdPdacLeteueve8cbb?d9c@d!c[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTdccdcUdrdsd)c^dcb* + Fe- *cGe+c,c-c.c/c^e3djc4dkclcHeIeOe5dVd8b:ctdud;cecfcWdXdYdZd0dwevdwd, S 9b!bxdT yd1dzdJe

395 return {v: k for k, v in name_model_map.items()} 2{c6d^j_j|cW Cgpb_d}cdf|eleAd`jBd~c{jPeef#b. xee f g h i j k 7d|jqb`dDgffyemcgfF nc7ehf}jG s ~jEg[hFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: meakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkuk!dvkwkxkyk#d$dzkAkBkCkDkIgVhtbEkX adubbdvbFkGkHkIkJkJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? KkjfkflfLkMkNkOkPkQkRkKgWh_eSkmfnfofLgMgNgAcOgTkPgUk'b(bBbedqgVkY L M WkQgRgSgTg{dUgpfqfrfsftfufU XkYkZk0k1k2kCb|d3k4k5kDb6k7k8kEbFb9kGbHb!kVgWgXg#kYg[eafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7g]hKf?cgb@chbib}d~dze[cBc$k7 Ib)b*b8g%k9gJb@ [ !gCcDcEcFcGc'k(k%d+b,b)k*kN u +k8 9 ,k-k.k/k:k#g-bv .bHc/baefd'd;k=kgdZ $gKbbehdLf}eneDd?kEdid@kXeMf:b] Ael m n o p q r (d[kLbce%gNfBeIcOfH Jc8ePf]kI t ^k'g^h(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlol+dplqlrlsl,d-dtlulvlwlxl+gXhObyl0 jdPbkdQbzlAlBlClDl,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | ElRfSfTfFlGlHlIlJlKlLl-gYh`eMlUfVfWf.g/g:gWc;gNl=gOl?b@bWbndrgPl1 P Q Ql?g@g[g]gde^gXfYfZf0f1f2fV RlSlTlUlVlWlXbeeXlYlZlYb0l1l2lZb0b3l1b2b4l_g`g{g5l|g]ebf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh_h+f^cmb_cnbobfegeCe`cXc6l% 3b[b]bhh7lih4b} ~ jhYcZc0c1c2c8l9l.d^b_b!l#lR w $l' ( %l'l(l)l*lkh`bx {b3c|bhe/dpe+l,l:dablh4cDe;d,f~eKeie-lje=d.l9e-fod}bMey z A B C D E qe/l5cEemh.fNeGd/f2 Hd;e:f:l3 J ;lnh`hoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLe=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimtejmkmlmmmuevenmompmqmrmrhZh8csmbb?d9c@d!ctmumvmwmxmsh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdcym=f?f@fzmAmBmCmDmEmFmth0h{eGm[f]f^fuhvhwhUdxhHmyhImrdsd)c^dsgJmcb* + KmzhAhBhChFeDh_f`f{f|f}f~f- LmMmNmOmPmQm*cGeRmSmTm+cUmVmWm,c-cXm.c/cYmEhFhGhZmHh^ecfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQh{hpg3djc4dkclcHeIeOe5dVd0m8b:ctdudRh1mSh;cecfcThWdXdYdZd0d2m3mwevdwd4m5m, S 6m9b!b7m8m9m!m#mUhxdT yd1dzdJe

396 

397 

398def get_flat_models_from_model( 1abcd

399 model: type["BaseModel"], known_models: TypeModelSet | None = None 

400) -> TypeModelSet: 

401 known_models = known_models or set() 2{c6d|cW pb_d}cleAdBd~cPe#b. xee f g h i j k 7dqb`dyemcF nc7eG s K Cdocpcqc8ddbebfb=crcsctc9drbsb$b/ ucvc: me!d#d$dtbX adubbdvbcdddwcxcwb%bxbybzbAbyc4 5 6 ; zc= ? Ac'b(bBbedY L M {dU Cb|dDbEbFbGbHb?cgb@chbib}d~dze[cBc7 Ib)b*bJb@ [ CcDcEcFcGc%d+b,bN u 8 9 -bv .bHc/baefd'dgdZ KbbehdneDdEdidXe:b] Ael m n o p q r (dLbceBeIcH Jc8eI t O FdKcLcMc)djbkblb]cNcOcPc*dMbNb;b^ QcRc_ oe+d,d-dOb0 jdPbkdQbldmdScTcRb=bSbTbUbVbUc! # $ ` Vc{ | Wc?b@bWbnd1 P Q deV XbeeYbZb0b1b2b^cmb_cnbobfegeCe`cXc% 3b[b]b4b} ~ YcZc0c1c2c.d^b_bR w ' ( `bx {b3c|bhe/dpe:dab4cDe;dKeieje=d9eod}bMey z A B C D E qe5cEeNeGd2 Hd;e3 J ) keIdJdKdregchcic2dLdMdNdse6c7cpd~bOdPdacLeteueve8cbb?d9c@d!c[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTdccdcUdrdsd)c^dcb* + Fe- *cGe+c,c-c.c/c3djc4dkclcHeIeOe5dVd8b:ctdud;cecfcWdXdYdZd0dwevdwd, S 9b!bxdT yd1dzdJe

402 fields = get_model_fields(model) 2{c6d|cW pb_d}cleAdBd~cPe#b. xee f g h i j k 7dqb`dyemcF nc7eG s K Cdocpcqc8ddbebfb=crcsctc9drbsb$b/ ucvc: me!d#d$dtbX adubbdvbcdddwcxcwb%bxbybzbAbyc4 5 6 ; zc= ? Ac'b(bBbedY L M {dU Cb|dDbEbFbGbHb?cgb@chbib}d~dze[cBc7 Ib)b*bJb@ [ CcDcEcFcGc%d+b,bN u 8 9 -bv .bHc/baefd'dgdZ KbbehdneDdEdidXe:b] Ael m n o p q r (dLbceBeIcH Jc8eI t O FdKcLcMc)djbkblb]cNcOcPc*dMbNb;b^ QcRc_ oe+d,d-dOb0 jdPbkdQbldmdScTcRb=bSbTbUbVbUc! # $ ` Vc{ | Wc?b@bWbnd1 P Q deV XbeeYbZb0b1b2b^cmb_cnbobfegeCe`cXc% 3b[b]b4b} ~ YcZc0c1c2c.d^b_bR w ' ( `bx {b3c|bhe/dpe:dab4cDe;dKeieje=d9eod}bMey z A B C D E qe5cEeNeGd2 Hd;e3 J ) keIdJdKdregchcic2dLdMdNdse6c7cpd~bOdPdacLeteueve8cbb?d9c@d!c[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTdccdcUdrdsd)c^dcb* + Fe- *cGe+c,c-c.c/c3djc4dkclcHeIeOe5dVd8b:ctdud;cecfcWdXdYdZd0dwevdwd, S 9b!bxdT yd1dzdJe

403 get_flat_models_from_fields(fields, known_models=known_models) 2{c6d|cW pb_d}cleAdBd~cPe#b. xee f g h i j k 7dqb`dyemcF nc7eG s K Cdocpcqc8ddbebfb=crcsctc9drbsb$b/ ucvc: me!d#d$dtbX adubbdvbcdddwcxcwb%bxbybzbAbyc4 5 6 ; zc= ? Ac'b(bBbedY L M {dU Cb|dDbEbFbGbHb?cgb@chbib}d~dze[cBc7 Ib)b*bJb@ [ CcDcEcFcGc%d+b,bN u 8 9 -bv .bHc/baefd'dgdZ KbbehdneDdEdidXe:b] Ael m n o p q r (dLbceBeIcH Jc8eI t O FdKcLcMc)djbkblb]cNcOcPc*dMbNb;b^ QcRc_ oe+d,d-dOb0 jdPbkdQbldmdScTcRb=bSbTbUbVbUc! # $ ` Vc{ | Wc?b@bWbnd1 P Q deV XbeeYbZb0b1b2b^cmb_cnbobfegeCe`cXc% 3b[b]b4b} ~ YcZc0c1c2c.d^b_bR w ' ( `bx {b3c|bhe/dpe:dab4cDe;dKeieje=d9eod}bMey z A B C D E qe5cEeNeGd2 Hd;e3 J ) keIdJdKdregchcic2dLdMdNdse6c7cpd~bOdPdacLeteueve8cbb?d9c@d!c[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTdccdcUdrdsd)c^dcb* + Fe- *cGe+c,c-c.c/c3djc4dkclcHeIeOe5dVd8b:ctdud;cecfcWdXdYdZd0dwevdwd, S 9b!bxdT yd1dzdJe

404 return known_models 2{c6d|cW pb_d}cleAdBd~cPe#b. xee f g h i j k 7dqb`dyemcF nc7eG s K Cdocpcqc8ddbebfb=crcsctc9drbsb$b/ ucvc: me!d#d$dtbX adubbdvbcdddwcxcwb%bxbybzbAbyc4 5 6 ; zc= ? Ac'b(bBbedY L M {dU Cb|dDbEbFbGbHb?cgb@chbib}d~dze[cBc7 Ib)b*bJb@ [ CcDcEcFcGc%d+b,bN u 8 9 -bv .bHc/baefd'dgdZ KbbehdneDdEdidXe:b] Ael m n o p q r (dLbceBeIcH Jc8eI t O FdKcLcMc)djbkblb]cNcOcPc*dMbNb;b^ QcRc_ oe+d,d-dOb0 jdPbkdQbldmdScTcRb=bSbTbUbVbUc! # $ ` Vc{ | Wc?b@bWbnd1 P Q deV XbeeYbZb0b1b2b^cmb_cnbobfegeCe`cXc% 3b[b]b4b} ~ YcZc0c1c2c.d^b_bR w ' ( `bx {b3c|bhe/dpe:dab4cDe;dKeieje=d9eod}bMey z A B C D E qe5cEeNeGd2 Hd;e3 J ) keIdJdKdregchcic2dLdMdNdse6c7cpd~bOdPdacLeteueve8cbb?d9c@d!c[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTdccdcUdrdsd)c^dcb* + Fe- *cGe+c,c-c.c/c3djc4dkclcHeIeOe5dVd8b:ctdud;cecfcWdXdYdZd0dwevdwd, S 9b!bxdT yd1dzdJe

405 

406 

407def get_flat_models_from_annotation( 1abcd

408 annotation: Any, known_models: TypeModelSet 

409) -> TypeModelSet: 

410 origin = get_origin(annotation) 2{c6d|cW Cgpb_d}cdf|eleAdBd~cef#b. xee f g h i j k 7dqb`dDgffyemcgfF nchfG s Eg[hFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: me!d#d$dIgVhtbX adubbdvbJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? jfkflfKgWh_emfnfofLgMgNgAcOgPg'b(bBbedqgY L M QgRgSgTg{dUgpfqfrfsftfufU Cb|dDbEbFbGbHbVgWgXgYgafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7g]hKf?cgb@chbib}d~dze[cBc7 Ib)b*b8g9gJb@ [ !gCcDcEcFcGc%d+b,bN u 8 9 #g-bv .bHc/baefd'dgdZ $gKbbehdLf}eneDdEdidMf:b] Ael m n o p q r (dLbce%gNfBeIcOfH JcPfI t 'g^h(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe+d,d-d+gXhOb0 jdPbkdQb,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | RfSfTf-gYh`eUfVfWf.g/g:gWc;g=g?b@bWbndrg1 P Q ?g@g[g]gde^gXfYfZf0f1f2fV XbeeYbZb0b1b2b_g`g{g|gbf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh_h+f^cmb_cnbobfegeCe`cXc% 3b[b]bhhih4b} ~ jhYcZc0c1c2c.d^b_bR w ' ( kh`bx {b3c|bhe/dpe:dablh4cDe;d,f~eKeieje=d-fod}bMey z A B C D E qe5cEemh.fNeGd/f2 Hd:f3 J nh`hoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLeteueverhZh8cbb?d9c@d!csh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdc=f?f@fth0h{e[f]f^fuhvhwhUdxhyhrdsd)c^dsgcb* + zhAhBhChFeDh_f`f{f|f}f~f- *cGe+c,c-c.c/cEhFhGhHhcfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQh{hpg3djc4dkclcHeIeOe5dVd8b:ctdudRhSh;cecfcThWdXdYdZd0dwevdwd, S 9b!bUhxdT yd1dzdJe

411 if origin is not None: 2{c6d|cW Cgpb_d}cdf|eleAdBd~cef#b. xee f g h i j k 7dqb`dDgffyemcgfF nchfG s Eg[hFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: me!d#d$dIgVhtbX adubbdvbJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? jfkflfKgWh_emfnfofLgMgNgAcOgPg'b(bBbedqgY L M QgRgSgTg{dUgpfqfrfsftfufU Cb|dDbEbFbGbHbVgWgXgYgafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7g]hKf?cgb@chbib}d~dze[cBc7 Ib)b*b8g9gJb@ [ !gCcDcEcFcGc%d+b,bN u 8 9 #g-bv .bHc/baefd'dgdZ $gKbbehdLf}eneDdEdidMf:b] Ael m n o p q r (dLbce%gNfBeIcOfH JcPfI t 'g^h(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe+d,d-d+gXhOb0 jdPbkdQb,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | RfSfTf-gYh`eUfVfWf.g/g:gWc;g=g?b@bWbndrg1 P Q ?g@g[g]gde^gXfYfZf0f1f2fV XbeeYbZb0b1b2b_g`g{g|gbf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh_h+f^cmb_cnbobfegeCe`cXc% 3b[b]bhhih4b} ~ jhYcZc0c1c2c.d^b_bR w ' ( kh`bx {b3c|bhe/dpe:dablh4cDe;d,f~eKeieje=d-fod}bMey z A B C D E qe5cEemh.fNeGd/f2 Hd:f3 J nh`hoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLeteueverhZh8cbb?d9c@d!csh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdc=f?f@fth0h{e[f]f^fuhvhwhUdxhyhrdsd)c^dsgcb* + zhAhBhChFeDh_f`f{f|f}f~f- *cGe+c,c-c.c/cEhFhGhHhcfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQh{hpg3djc4dkclcHeIeOe5dVd8b:ctdudRhSh;cecfcThWdXdYdZd0dwevdwd, S 9b!bUhxdT yd1dzdJe

412 for arg in get_args(annotation): 2{c6dW pb}cdf|eBdef#b. e f g h i j k ffmcgfF nchfG s [hK 5eCdocpcqcQedbebfbrcsctcReSeTeUeVeWerbsb$b/ ucvc: !d#d$dtbX ubvbcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? jfkflf_emfnfofAc'b(bBbedqgY L M pfqfrfsftfufCbDbEbFbGbHbafvfwfxfyfzfAfBfCfDfEfFfGfHfwgxgIfJf]hKfgbhbibBc7 Ib)b*bJb@ [ CcDcEcFcGc%d+b,bN u 8 9 -bv .bHc/bfd'dZ KbhdLf}eEdMf:b] l m n o p q r NfIcOfH JcPfI t ^hO 6eFdKcLcMcYejbkblbNcOcPcZe0e1e2e3e4eMbNb;b^ QcRc_ +d,d-dOb0 PbQbldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | RfSfTf`eUfVfWfWc?b@bWbndrg1 P Q XfYfZf0f1f2fXbYbZb0b1b2bbf3f4f5f6f7f8f9f!f#f$f%f'f(fygzg)f*f_h+fmbnbobXc% 3b[b]b4b} ~ YcZc0c1c2c.d^b_bR w ' ( `bx {b3c|b/dpeab4c;d,f~eje-fod}by z A B C D E .fGd/f2 Hd:f3 J `h) :ekeIdJdKd!egchcicLdMdNd#e$e%e'e(e)e6c7cpd~bOdPdacteueve8cbb9c!c[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdc=f?f@f{e[f]f^fUdrdsd)c^dsgcb* + _f`f{f|f}f~f*c+c,c-c.c/ccfagbgcgdgegfggghgigjgkglgmgAgBgngog{hpgjckclcVd8b:ctdud;cecfcWdXdYdZd0dwevdwd, S 9b!bxdT yd1dzd

413 if lenient_issubclass(arg, (BaseModel, Enum)): 2{c6dW pb}cdf|eBdef#b. e f g h i j k ffmcgfF nchfG s [hK 5eCdocpcqcQedbebfbrcsctcReSeTeUeVeWerbsb$b/ ucvc: !d#d$dtbX ubvbcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? jfkflf_emfnfofAc'b(bBbedqgY L M pfqfrfsftfufCbDbEbFbGbHbafvfwfxfyfzfAfBfCfDfEfFfGfHfwgxgIfJf]hKfgbhbibBc7 Ib)b*bJb@ [ CcDcEcFcGc%d+b,bN u 8 9 -bv .bHc/bfd'dZ KbhdLf}eEdMf:b] l m n o p q r NfIcOfH JcPfI t ^hO 6eFdKcLcMcYejbkblbNcOcPcZe0e1e2e3e4eMbNb;b^ QcRc_ +d,d-dOb0 PbQbldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | RfSfTf`eUfVfWfWc?b@bWbndrg1 P Q XfYfZf0f1f2fXbYbZb0b1b2bbf3f4f5f6f7f8f9f!f#f$f%f'f(fygzg)f*f_h+fmbnbobXc% 3b[b]b4b} ~ YcZc0c1c2c.d^b_bR w ' ( `bx {b3c|b/dpeab4c;d,f~eje-fod}by z A B C D E .fGd/f2 Hd:f3 J `h) :ekeIdJdKd!egchcicLdMdNd#e$e%e'e(e)e6c7cpd~bOdPdacteueve8cbb9c!c[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdc=f?f@f{e[f]f^fUdrdsd)c^dsgcb* + _f`f{f|f}f~f*c+c,c-c.c/ccfagbgcgdgegfggghgigjgkglgmgAgBgngog{hpgjckclcVd8b:ctdud;cecfcWdXdYdZd0dwevdwd, S 9b!bxdT yd1dzd

414 if arg not in known_models: 26dW pb}ce f g h i j k mcF G s Cdrbsb$b/ ucvcX %b4 5 6 ; zcBbedY L M 7 N u 8 9 -bv .bHc/b'dZ Kbhdl m n o p q r IcH I t FdMbNb;b^ QcRc0 =b! # $ ` VcWbnd1 P Q % R w ' ( `bx {b3c|bpeab4c;dy z A B C D E Gd2 3 J ke6c7cpd~bOdPdbbqd5b6b7bbcTd)c^dcb* + 8b, S 9b!bxdT yd1dzd

415 known_models.add(arg) # type: ignore[arg-type] 26dW pb}ce f g h i j k mcF G s sb$b/ vcX %b4 5 6 ; zcBbedY L M N u -bv .bHc/b'dZ Kbhdl m n o p q r IcH I t Nb;b^ Rc0 =b! # $ ` VcWbnd1 P Q R w `bx {b3c|bpeab4c;dy z A B C D E Gd2 3 J 7cpd~bPdbbqd5b6b7bbcTd)c^dcb* + , S xdT yd1dzd

416 if lenient_issubclass(arg, BaseModel): 26dW pb}ce f g h i j k mcF G s sb$b/ vcX %b4 5 6 ; zcBbedY L M N u -bv .bHc/b'dZ Kbhdl m n o p q r IcH I t Nb;b^ Rc0 =b! # $ ` VcWbnd1 P Q R w `bx {b3c|bpeab4c;dy z A B C D E Gd2 3 J 7cpd~bPdbbqd5b6b7bbcTd)c^dcb* + , S xdT yd1dzd

417 get_flat_models_from_model(arg, known_models=known_models) 26dW pb}ce f g h i j k mcF G s sb$b/ X %b4 5 6 ; zcBbedY L M N u -bv .bHc/b'dZ Kbhdl m n o p q r IcH I t Nb;b^ 0 =b! # $ ` VcWbnd1 P Q R w `bx {b3c|bpeab4c;dy z A B C D E Gd2 3 J 7cpd~bbbqd5b6b7bbcTd)c^dcb* + , S xdT yd1dzd

418 else: 

419 get_flat_models_from_annotation(arg, known_models=known_models) 2{c6ddf|eBdef#b. ffgfnchfG s [hK 5eocpcqcQedbebfbrcsctcReSeTeUeVeWeuc: !d#d$dtbX ubvbcdddwcxcwb%bxbybzbAbyc4 5 6 ; if= ? jfkflf_emfnfofAc'b(bqgpfqfrfsftfufCbDbEbFbGbHbafvfwfxfyfzfAfBfCfDfEfFfGfHfwgxgIfJf]hKfgbhbibBc7 Ib)b*bJb@ [ CcDcEcFcGc%d+b,bN u 8 9 -bv .b/bfd'dLf}eEdMf:b] NfOfJcPfI t ^hO 6eKcLcMcYejbkblbNcOcPcZe0e1e2e3e4eQc_ +d,d-dOb0 PbQbldmdScTcRb=bSbTbUbVbUc! # $ ` Qf{ | RfSfTf`eUfVfWfWc?b@brgXfYfZf0f1f2fXbYbZb0b1b2bbf3f4f5f6f7f8f9f!f#f$f%f'f(fygzg)f*f_h+fmbnbobXc% 3b[b]b4b} ~ YcZc0c1c2c.d^b_bR w ' ( `bx {b|b/dpe,f~eje-fod}b.f/fHd:f3 J `h) :eIdJdKd!egchcicLdMdNd#e$e%e'e(e)eOdacteueve8cbb9c!c[d]dQdRd#cqd$c%c'c(cSd5b6b7bbc;fccdc=f?f@f{e[f]f^fUdrdsdsg_f`f{f|f}f~f*c+c,c-c.c/ccfagbgcgdgegfggghgigjgkglgmgAgBgngog{hpgjckclcVd8b:ctdud;cecfcWdXdYdZd0dwevdwd, S 9b!bxdT ydzd

420 return known_models 2{c6d|cW Cgpb_d}cdf|eleAdBd~cef#b. xee f g h i j k 7dqb`dDgffyemcgfF nchfG s Eg[hFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: me!d#d$dIgVhtbX adubbdvbJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? jfkflfKgWh_emfnfofLgMgNgAcOgPg'b(bBbedqgY L M QgRgSgTg{dUgpfqfrfsftfufU Cb|dDbEbFbGbHbVgWgXgYgafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7g]hKf?cgb@chbib}d~dze[cBc7 Ib)b*b8g9gJb@ [ !gCcDcEcFcGc%d+b,bN u 8 9 #g-bv .bHc/baefd'dgdZ $gKbbehdLf}eneDdEdidMf:b] Ael m n o p q r (dLbce%gNfBeIcOfH JcPfI t 'g^h(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe+d,d-d+gXhOb0 jdPbkdQb,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | RfSfTf-gYh`eUfVfWf.g/g:gWc;g=g?b@bWbndrg1 P Q ?g@g[g]gde^gXfYfZf0f1f2fV XbeeYbZb0b1b2b_g`g{g|gbf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh_h+f^cmb_cnbobfegeCe`cXc% 3b[b]bhhih4b} ~ jhYcZc0c1c2c.d^b_bR w ' ( kh`bx {b3c|bhe/dpe:dablh4cDe;d,f~eKeieje=d-fod}bMey z A B C D E qe5cEemh.fNeGd/f2 Hd:f3 J nh`hoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLeteueverhZh8cbb?d9c@d!csh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdc=f?f@fth0h{e[f]f^fuhvhwhUdxhyhrdsd)c^dsgcb* + zhAhBhChFeDh_f`f{f|f}f~f- *cGe+c,c-c.c/cEhFhGhHhcfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQh{hpg3djc4dkclcHeIeOe5dVd8b:ctdudRhSh;cecfcThWdXdYdZd0dwevdwd, S 9b!bUhxdT yd1dzdJe

421 

422 

423def get_flat_models_from_field( 1abcd

424 field: ModelField, known_models: TypeModelSet 

425) -> TypeModelSet: 

426 field_type = field.field_info.annotation 2{c6d|cW Cgpb_d}cdf|eleAdBd~cPeef#b. xee f g h i j k 7dqb`dDgffyemcgfF nc7ehfG s Eg[hFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: me!d#d$dIgVhtbX adubbdvbJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? jfkflfKgWh_emfnfofLgMgNgAcOgPg'b(bBbedqgY L M QgRgSgTg{dUgpfqfrfsftfufU Cb|dDbEbFbGbHbVgWgXgYg[eafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7g]hKf?cgb@chbib}d~dze[cBc7 Ib)b*b8g9gJb@ [ !gCcDcEcFcGc%d+b,bN u 8 9 #g-bv .bHc/baefd'dgdZ $gKbbehdLf}eneDdEdidXeMf:b] Ael m n o p q r (dLbce%gNfBeIcOfH Jc8ePfI t 'g^h(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe+d,d-d+gXhOb0 jdPbkdQb,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | RfSfTf-gYh`eUfVfWf.g/g:gWc;g=g?b@bWbndrg1 P Q ?g@g[g]gde^gXfYfZf0f1f2fV XbeeYbZb0b1b2b_g`g{g|g]ebf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh_h+f^cmb_cnbobfegeCe`cXc% 3b[b]bhhih4b} ~ jhYcZc0c1c2c.d^b_bR w ' ( kh`bx {b3c|bhe/dpe:dablh4cDe;d,f~eKeieje=d9e-fod}bMey z A B C D E qe5cEemh.fNeGd/f2 Hd;e:f3 J nh`hoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLeteueverhZh8cbb?d9c@d!csh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdc=f?f@fth0h{e[f]f^fuhvhwhUdxhyhrdsd)c^dsgcb* + zhAhBhChFeDh_f`f{f|f}f~f- *cGe+c,c-c.c/cEhFhGhHh^ecfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQh{hpg3djc4dkclcHeIeOe5dVd8b:ctdudRhSh;cecfcThWdXdYdZd0dwevdwd, S 9b!bUhxdT yd1dzdJe

427 if lenient_issubclass(field_type, BaseModel): 2{c6d|cW Cgpb_d}cdf|eleAdBd~cPeef#b. xee f g h i j k 7dqb`dDgffyemcgfF nc7ehfG s Eg[hFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: me!d#d$dIgVhtbX adubbdvbJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? jfkflfKgWh_emfnfofLgMgNgAcOgPg'b(bBbedqgY L M QgRgSgTg{dUgpfqfrfsftfufU Cb|dDbEbFbGbHbVgWgXgYg[eafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7g]hKf?cgb@chbib}d~dze[cBc7 Ib)b*b8g9gJb@ [ !gCcDcEcFcGc%d+b,bN u 8 9 #g-bv .bHc/baefd'dgdZ $gKbbehdLf}eneDdEdidXeMf:b] Ael m n o p q r (dLbce%gNfBeIcOfH Jc8ePfI t 'g^h(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe+d,d-d+gXhOb0 jdPbkdQb,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | RfSfTf-gYh`eUfVfWf.g/g:gWc;g=g?b@bWbndrg1 P Q ?g@g[g]gde^gXfYfZf0f1f2fV XbeeYbZb0b1b2b_g`g{g|g]ebf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh_h+f^cmb_cnbobfegeCe`cXc% 3b[b]bhhih4b} ~ jhYcZc0c1c2c.d^b_bR w ' ( kh`bx {b3c|bhe/dpe:dablh4cDe;d,f~eKeieje=d9e-fod}bMey z A B C D E qe5cEemh.fNeGd/f2 Hd;e:f3 J nh`hoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLeteueverhZh8cbb?d9c@d!csh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdc=f?f@fth0h{e[f]f^fuhvhwhUdxhyhrdsd)c^dsgcb* + zhAhBhChFeDh_f`f{f|f}f~f- *cGe+c,c-c.c/cEhFhGhHh^ecfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQh{hpg3djc4dkclcHeIeOe5dVd8b:ctdudRhSh;cecfcThWdXdYdZd0dwevdwd, S 9b!bUhxdT yd1dzdJe

428 if field_type in known_models: 2{c|cW pb_dleAdBd~cPe#b. xee f g h i j k 7dqb`dyeF nc7eG s K Cdocpcqc8ddbebfb=crcsctc9drbsb$b/ ucvc: me!d#d$dtbX adubbdvbcdddwcxcwbxbybzbAbyc4 5 6 ; = ? Ac'b(bY L M {dU Cb|dDbEbFbGbHb?cgb@chbib}d~dze[cBc7 Ib)b*bJb@ [ CcDcEcFcGc%d+b,bN u 8 9 aefdgdZ KbbeneDdEdidXe:b] Ael m n o p q r (dLbceBeH Jc8eI t O FdKcLcMc)djbkblb]cNcOcPc*dMbNb;b^ QcRc_ oe+d,d-dOb0 jdPbkdQbldmdScTcRbSbTbUbVbUc! # $ ` { | Wc?b@b1 P Q deV XbeeYbZb0b1b2b^cmb_cnbobfegeCe`cXc% 3b[b]b4b} ~ YcZc0c1c2c.d^b_bR w ' ( he/d:dab4cDeKeieje=d9eod}bMey z A B C D E qe5cEeNe2 Hd;e3 J ) keIdJdKdregchcic2dLdMdNdse6c7cpd~bOdPdacLeteueve8cbb?d9c@d!c[d]dQdRd#c$c%c'c(cSd5b6b7bbcccdcUdrdsdcb* + Fe- *cGe+c,c-c.c/c3djc4dkclcHeIeOe5dVd8b:ctdud;cecfcWdXdYdZd0dwevdwd, S 9b!bJe

429 return known_models 2pb_dAd~cPe#be f g h i j k 7dG s rbsb/ : = ? L M U DbEbFbGbHb7 Ib@ [ 8 9 KbbeDdidXe:bl m n o p q r (dI t MbNb^ _ { | P Q V YbZb0b1b2b% 3b} ~ ' ( 4cDeie=d9eody z A B C D E qe3 J 6c7c~bacccdc* + - +c,c-c.c/c8b:cecfc9b!b

430 known_models.add(field_type) 2{c|cW pb_dleAdBd~cPe#b. xee f g h i j k 7dqb`dyeF nc7eG s K Cdocpcqc8ddbebfb=crcsctc9drbsb$b/ ucvc: me!d#d$dtbX adubbdvbcdddwcxcwbxbybzbAbyc4 5 6 ; = ? Ac'b(bY L M {dU Cb|dDbEbFbGbHb?cgb@chbib}d~dze[cBc7 Ib)b*bJb@ [ CcDcEcFcGc%d+b,bN u 8 9 aefdgdZ KbbeneDdEdidXe:b] Ael m n o p q r (dLbceBeH Jc8eI t O FdKcLcMc)djbkblb]cNcOcPc*dMbNb;b^ QcRc_ oe+d,d-dOb0 jdPbkdQbldmdScTcRbSbTbUbVbUc! # $ ` { | Wc?b@b1 P Q deV XbeeYbZb0b1b2b^cmb_cnbobfegeCe`cXc% 3b[b]b4b} ~ YcZc0c1c2c.d^b_bR w ' ( he/d:dab4cDeKeieje=d9eod}bMey z A B C D E qe5cEeNe2 Hd;e3 J ) keIdJdKdregchcic2dLdMdNdse6c7cpd~bOdPdacLeteueve8cbb?d9c@d!c[d]dQdRd#c$c%c'c(cSd5b6b7bbcccdcUdrdsdcb* + Fe- *cGe+c,c-c.c/c3djc4dkclcHeIeOe5dVd8b:ctdud;cecfcWdXdYdZd0dwevdwd, S 9b!bJe

431 get_flat_models_from_model(field_type, known_models=known_models) 2{c|cW pb_dleAdBd~cPe#b. xee f g h i j k 7dqb`dyeF nc7eG s K Cdocpcqc8ddbebfb=crcsctc9drbsb$b/ ucvc: me!d#d$dtbX adubbdvbcdddwcxcwbxbybzbAbyc4 5 6 ; = ? Ac'b(bY L M {dU Cb|dDbEbFbGbHb?cgb@chbib}d~dze[cBc7 Ib)b*bJb@ [ CcDcEcFcGc%d+b,bN u 8 9 aefdgdZ KbbeneDdEdidXe:b] Ael m n o p q r (dLbceBeH Jc8eI t O FdKcLcMc)djbkblb]cNcOcPc*dMbNb;b^ QcRc_ oe+d,d-dOb0 jdPbkdQbldmdScTcRbSbTbUbVbUc! # $ ` { | Wc?b@b1 P Q deV XbeeYbZb0b1b2b^cmb_cnbobfegeCe`cXc% 3b[b]b4b} ~ YcZc0c1c2c.d^b_bR w ' ( he/d:dab4cDeKeieje=d9eod}bMey z A B C D E qe5cEeNe2 Hd;e3 J ) keIdJdKdregchcic2dLdMdNdse6c7cpd~bOdPdacLeteueve8cbb?d9c@d!c[d]dQdRd#c$c%c'c(cSd5b6b7bbcccdcUdrdsdcb* + Fe- *cGe+c,c-c.c/c3djc4dkclcHeIeOe5dVd8b:ctdud;cecfcWdXdYdZd0dwevdwd, S 9b!bJe

432 elif lenient_issubclass(field_type, Enum): 2{c6d|cW Cgpb_d}cdf|eleAdBd~cef#b. xee f g h i j k 7dqb`dDgffyemcgfF nchfG s Eg[hFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: me!d#d$dIgVhtbX adubbdvbJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? jfkflfKgWh_emfnfofLgMgNgAcOgPg'b(bBbedqgY L M QgRgSgTg{dUgpfqfrfsftfufU Cb|dDbEbFbGbHbVgWgXgYg[eafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7g]hKf?cgb@chbib}d~dze[cBc7 Ib)b*b8g9gJb@ [ !gCcDcEcFcGc%d+b,bN u 8 9 #g-bv .bHc/baefd'dgdZ $gKbbehdLf}eneDdEdidMf:b] Ael m n o p q r (dLbce%gNfBeIcOfH JcPfI t 'g^h(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe+d,d-d+gXhOb0 jdPbkdQb,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | RfSfTf-gYh`eUfVfWf.g/g:gWc;g=g?b@bWbndrg1 P Q ?g@g[g]gde^gXfYfZf0f1f2fV XbeeYbZb0b1b2b_g`g{g|g]ebf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh_h+f^cmb_cnbobfegeCe`cXc% 3b[b]bhhih4b} ~ jhYcZc0c1c2c.d^b_bR w ' ( kh`bx {b3c|bhe/dpe:dablh4cDe;d,f~eKeieje=d-fod}bMey z A B C D E qe5cEemh.fNeGd/f2 Hd:f3 J nh`hoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLeteueverhZh8cbb?d9c@d!csh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdc=f?f@fth0h{e[f]f^fuhvhwhUdxhyhrdsd)c^dsgcb* + zhAhBhChFeDh_f`f{f|f}f~f- *cGe+c,c-c.c/cEhFhGhHh^ecfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQh{hpg3djc4dkclcHeIeOe5dVd8b:ctdudRhSh;cecfcThWdXdYdZd0dwevdwd, S 9b!bUhxdT yd1dzdJe

433 known_models.add(field_type) 2F [eH ]e2 ^e

434 else: 

435 get_flat_models_from_annotation(field_type, known_models=known_models) 2{c6d|cW Cgpb_d}cdf|eleAdBd~cef#b. xee f g h i j k 7dqb`dDgffyemcgfF nchfG s Eg[hFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: me!d#d$dIgVhtbX adubbdvbJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? jfkflfKgWh_emfnfofLgMgNgAcOgPg'b(bBbedqgY L M QgRgSgTg{dUgpfqfrfsftfufU Cb|dDbEbFbGbHbVgWgXgYgafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7g]hKf?cgb@chbib}d~dze[cBc7 Ib)b*b8g9gJb@ [ !gCcDcEcFcGc%d+b,bN u 8 9 #g-bv .bHc/baefd'dgdZ $gKbbehdLf}eneDdEdidMf:b] Ael m n o p q r (dLbce%gNfBeIcOfH JcPfI t 'g^h(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe+d,d-d+gXhOb0 jdPbkdQb,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | RfSfTf-gYh`eUfVfWf.g/g:gWc;g=g?b@bWbndrg1 P Q ?g@g[g]gde^gXfYfZf0f1f2fV XbeeYbZb0b1b2b_g`g{g|gbf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh_h+f^cmb_cnbobfegeCe`cXc% 3b[b]bhhih4b} ~ jhYcZc0c1c2c.d^b_bR w ' ( kh`bx {b3c|bhe/dpe:dablh4cDe;d,f~eKeieje=d-fod}bMey z A B C D E qe5cEemh.fNeGd/f2 Hd:f3 J nh`hoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLeteueverhZh8cbb?d9c@d!csh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdc=f?f@fth0h{e[f]f^fuhvhwhUdxhyhrdsd)c^dsgcb* + zhAhBhChFeDh_f`f{f|f}f~f- *cGe+c,c-c.c/cEhFhGhHhcfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQh{hpg3djc4dkclcHeIeOe5dVd8b:ctdudRhSh;cecfcThWdXdYdZd0dwevdwd, S 9b!bUhxdT yd1dzdJe

436 return known_models 2{c6d|cW Cgpb_d}cdf|eleAdBd~cPeef#b. xee f g h i j k 7dqb`dDgffyemcgfF nc7ehfG s Eg[hFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: me!d#d$dIgVhtbX adubbdvbJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? jfkflfKgWh_emfnfofLgMgNgAcOgPg'b(bBbedqgY L M QgRgSgTg{dUgpfqfrfsftfufU Cb|dDbEbFbGbHbVgWgXgYg[eafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7g]hKf?cgb@chbib}d~dze[cBc7 Ib)b*b8g9gJb@ [ !gCcDcEcFcGc%d+b,bN u 8 9 #g-bv .bHc/baefd'dgdZ $gKbbehdLf}eneDdEdidXeMf:b] Ael m n o p q r (dLbce%gNfBeIcOfH Jc8ePfI t 'g^h(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe+d,d-d+gXhOb0 jdPbkdQb,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | RfSfTf-gYh`eUfVfWf.g/g:gWc;g=g?b@bWbndrg1 P Q ?g@g[g]gde^gXfYfZf0f1f2fV XbeeYbZb0b1b2b_g`g{g|g]ebf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh_h+f^cmb_cnbobfegeCe`cXc% 3b[b]bhhih4b} ~ jhYcZc0c1c2c.d^b_bR w ' ( kh`bx {b3c|bhe/dpe:dablh4cDe;d,f~eKeieje=d9e-fod}bMey z A B C D E qe5cEemh.fNeGd/f2 Hd;e:f3 J nh`hoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLeteueverhZh8cbb?d9c@d!csh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdc=f?f@fth0h{e[f]f^fuhvhwhUdxhyhrdsd)c^dsgcb* + zhAhBhChFeDh_f`f{f|f}f~f- *cGe+c,c-c.c/cEhFhGhHh^ecfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQh{hpg3djc4dkclcHeIeOe5dVd8b:ctdudRhSh;cecfcThWdXdYdZd0dwevdwd, S 9b!bUhxdT yd1dzdJe

437 

438 

439def get_flat_models_from_fields( 1abcd

440 fields: Sequence[ModelField], known_models: TypeModelSet 

441) -> TypeModelSet: 

442 for field in fields: 2{c6d^j_j|cW Cgpb_d}cdf|eleAd`jBd~c{jPeef#b. xee f g h i j k 7d|jqb`dDgffyemcgfF nc7ehf}jG s ~jEg[hFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: meakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkuk!dvkwkxkyk#d$dzkAkBkCkDkIgVhtbEkX adubbdvbFkGkHkIkJkJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? KkjfkflfLkMkNkOkPkQkRkKgWh_eSkmfnfofLgMgNgAcOgTkPgUk'b(bBbedqgVkY L M WkQgRgSgTg{dUgpfqfrfsftfufU XkYkZk0k1k2kCb|d3k4k5kDb6k7k8kEbFb9kGbHb!kVgWgXg#kYg[eafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7g]hKf?cgb@chbib}d~dze[cBc$k7 Ib)b*b8g%k9gJb@ [ !gCcDcEcFcGc'k(k%d+b,b)k*kN u +k8 9 ,k-k.k/k:k#g-bv .bHc/baefd'd;k=kgdZ $gKbbehdLf}eneDd?kEdid@kXeMf:b] Ael m n o p q r (d[kLbce%gNfBeIcOfH Jc8ePf]kI t ^k'g^h(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlol+dplqlrlsl,d-dtlulvlwlxl+gXhObyl0 jdPbkdQbzlAlBlClDl,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | ElRfSfTfFlGlHlIlJlKlLl-gYh`eMlUfVfWf.g/g:gWc;gNl=gOl?b@bWbndrgPl1 P Q Ql?g@g[g]gde^gXfYfZf0f1f2fV RlSlTlUlVlWlXbeeXlYlZlYb0l1l2lZb0b3l1b2b4l_g`g{g5l|g]ebf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh_h+f^cmb_cnbobfegeCe`cXc6l% 3b[b]bhh7lih4b} ~ jhYcZc0c1c2c8l9l.d^b_b!l#lR w $l' ( %l'l(l)l*lkh`bx {b3c|bhe/dpe+l,l:dablh4cDe;d,f~eKeie-lje=d.l9e-fod}bMey z A B C D E qe/l5cEemh.fNeGd/f2 Hd;e:f:l3 J ;lnh`hoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLe=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimtejmkmlmmmuevenmompmqmrmrhZh8csmbb?d9c@d!ctmumvmwmxmsh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdcym=f?f@fzmAmBmCmDmEmFmth0h{eGm[f]f^fuhvhwhUdxhHmyhImrdsd)c^dsgJmcb* + KmzhAhBhChFeDh_f`f{f|f}f~f- LmMmNmOmPmQm*cGeRmSmTm+cUmVmWm,c-cXm.c/cYmEhFhGhZmHh^ecfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQh{hpg3djc4dkclcHeIeOe5dVd0m8b:ctdudRh1mSh;cecfcThWdXdYdZd0d2m3mwevdwd4m5m, S 6m9b!b7m8m9m!m#mUhxdT yd1dzdJe

443 get_flat_models_from_field(field, known_models=known_models) 2{c6d|cW Cgpb_d}cdf|eleAdBd~cPeef#b. xee f g h i j k 7dqb`dDgffyemcgfF nc7ehfG s Eg[hFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: me!d#d$dIgVhtbX adubbdvbJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? jfkflfKgWh_emfnfofLgMgNgAcOgPg'b(bBbedqgY L M QgRgSgTg{dUgpfqfrfsftfufU Cb|dDbEbFbGbHbVgWgXgYg[eafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7g]hKf?cgb@chbib}d~dze[cBc7 Ib)b*b8g9gJb@ [ !gCcDcEcFcGc%d+b,bN u 8 9 #g-bv .bHc/baefd'dgdZ $gKbbehdLf}eneDdEdidXeMf:b] Ael m n o p q r (dLbce%gNfBeIcOfH Jc8ePfI t 'g^h(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe+d,d-d+gXhOb0 jdPbkdQb,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | RfSfTf-gYh`eUfVfWf.g/g:gWc;g=g?b@bWbndrg1 P Q ?g@g[g]gde^gXfYfZf0f1f2fV XbeeYbZb0b1b2b_g`g{g|g]ebf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh_h+f^cmb_cnbobfegeCe`cXc% 3b[b]bhhih4b} ~ jhYcZc0c1c2c.d^b_bR w ' ( kh`bx {b3c|bhe/dpe:dablh4cDe;d,f~eKeieje=d9e-fod}bMey z A B C D E qe5cEemh.fNeGd/f2 Hd;e:f3 J nh`hoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLeteueverhZh8cbb?d9c@d!csh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdc=f?f@fth0h{e[f]f^fuhvhwhUdxhyhrdsd)c^dsgcb* + zhAhBhChFeDh_f`f{f|f}f~f- *cGe+c,c-c.c/cEhFhGhHh^ecfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQh{hpg3djc4dkclcHeIeOe5dVd8b:ctdudRhSh;cecfcThWdXdYdZd0dwevdwd, S 9b!bUhxdT yd1dzdJe

444 return known_models 2{c6d^j_j|cW Cgpb_d}cdf|eleAd`jBd~c{jPeef#b. xee f g h i j k 7d|jqb`dDgffyemcgfF nc7ehf}jG s ~jEg[hFgK 5eGg1hHgCdocpcqc8dQe*edbebfb=crcsctc9dReSeTe+etgUeVeWe,erbsb$b/ ucvc: meakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkuk!dvkwkxkyk#d$dzkAkBkCkDkIgVhtbEkX adubbdvbFkGkHkIkJkJgcdddwcxcwb%bxbybzbAbyc4 5 6 ; zcif= ? KkjfkflfLkMkNkOkPkQkRkKgWh_eSkmfnfofLgMgNgAcOgTkPgUk'b(bBbedqgVkY L M WkQgRgSgTg{dUgpfqfrfsftfufU XkYkZk0k1k2kCb|d3k4k5kDb6k7k8kEbFb9kGbHb!kVgWgXg#kYg[eafZg0g1g2gvfwf3gxfyfzf4gAfBfCfDfEf5g6gFfGfHfwgxgIfJf7g]hKf?cgb@chbib}d~dze[cBc$k7 Ib)b*b8g%k9gJb@ [ !gCcDcEcFcGc'k(k%d+b,b)k*kN u +k8 9 ,k-k.k/k:k#g-bv .bHc/baefd'd;k=kgdZ $gKbbehdLf}eneDd?kEdid@kXeMf:b] Ael m n o p q r (d[kLbce%gNfBeIcOfH Jc8ePf]kI t ^k'g^h(gO 6e)g2h*gFdKcLcMc)dYe-ejbkblb]cNcOcPc*dZe0e1e.eug2e3e4e/eMbNb;b^ QcRc_ oe_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlol+dplqlrlsl,d-dtlulvlwlxl+gXhObyl0 jdPbkdQbzlAlBlClDl,gldmdScTcRb=bSbTbUbVbUc! # $ ` VcQf{ | ElRfSfTfFlGlHlIlJlKlLl-gYh`eMlUfVfWf.g/g:gWc;gNl=gOl?b@bWbndrgPl1 P Q Ql?g@g[g]gde^gXfYfZf0f1f2fV RlSlTlUlVlWlXbeeXlYlZlYb0l1l2lZb0b3l1b2b4l_g`g{g5l|g]ebf}g~gahbh3f4fch5f6f7fdh8f9f!f#f$fehfh%f'f(fygzg)f*fgh_h+f^cmb_cnbobfegeCe`cXc6l% 3b[b]bhh7lih4b} ~ jhYcZc0c1c2c8l9l.d^b_b!l#lR w $l' ( %l'l(l)l*lkh`bx {b3c|bhe/dpe+l,l:dablh4cDe;d,f~eKeie-lje=d.l9e-fod}bMey z A B C D E qe/l5cEemh.fNeGd/f2 Hd;e:f:l3 J ;lnh`hoh) :eph3hqhkeIdJdKdre!e=egchcic2dLdMdNdse#e$e%e?evg'e(e)e@e6c7cpd~bOdPdacLe=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimtejmkmlmmmuevenmompmqmrmrhZh8csmbb?d9c@d!ctmumvmwmxmsh[d]dQdRd#cqd$c%c'c(cSd5b6b7bbcTd;fccdcym=f?f@fzmAmBmCmDmEmFmth0h{eGm[f]f^fuhvhwhUdxhHmyhImrdsd)c^dsgJmcb* + KmzhAhBhChFeDh_f`f{f|f}f~f- LmMmNmOmPmQm*cGeRmSmTm+cUmVmWm,c-cXm.c/cYmEhFhGhZmHh^ecfIhJhKhLhagbgMhcgdgegNhfggghgigjgOhPhkglgmgAgBgngogQh{hpg3djc4dkclcHeIeOe5dVd0m8b:ctdudRh1mSh;cecfcThWdXdYdZd0d2m3mwevdwd4m5m, S 6m9b!b7m8m9m!m#mUhxdT yd1dzdJe

445 

446 

447def _regenerate_error_with_loc( 1abcd

448 *, errors: Sequence[Any], loc_prefix: tuple[str | int, ...] 

449) -> list[dict[str, Any]]: 

450 updated_loc_errors: list[Any] = [ 2VQ5n6n!h$m4t:p`n{n=pWQXQ6t$t%t't(t)t*t+t,t-t.t/t:t;t=t?t@t[t]t^t_t`t{t|t}t~taubucudueufuguhuiukulumunuou#h~h_B`B{B6r7r8r9r!r(o#r$r%r'r(r)r*r)o+r,r-r.r/r:r;r*o=r?r@r[r$h]r%h4h^r'h_r`r(h{r)h5h|r*h}r~rasbscs+odsesfsgshsisjs,okslsmsnsospsqs-orssstsusvswsxs.oyszsYQZQ0Q1Q2Q3Q|n}n~n4QAu5Q6Q7Q8Q9Q!Q#Q^pao_p[o`p{p|pbo}p~paqbqcqdqeqfqgqhqiqjq$Q%Q'Q(Q)Q*Q_o`o{o+Q,Qkq4u-Q5u|o}o~oapbp'u(ucomqnqoqpqqqrqsqtquqvqcp.udpdo[u]u^u_u{u|u}u~uavbv2CevfvgvhvivjvkvlvmvnveoEvFv.Q/Q:Q;Q=Q?Q@QGv[Q]QHvIv^Q7n8n+h%mOvPqfogoRq_Q`QQvWvXvYvZv0v1v2v3v4v5v6v7v8v9v!v#v$v%v'v(v)v*v+v,v-v.v/v:v;v=v?v@v[v]v_v`v{v|v}v,hei3C4C5CAsBsCsDsEsipFsGsHsIsJsKsLsjpMsNsOsPsQsRsSskpTsUsVsWs-hXs.h6hYs/hZs0s:h1s;h7h2s=h3s4s5s6s7slp8s9s!s#s$s%s'smp(s)s*s+s,s-s.snp/s:s;s=s?s@s[sop]s^s{Q|Q}Q~QaRbRhoiojocRkwdReRfRgRhRiRjRWqkoXqvpYqZq0qlo1q2q3q4q5q6q7q8q9q!q#q$qkRlRmRnRoRpRypzpApqRrR%qOwsRPwBpCpDpEpFpYwZwmo(q)q*q+q,q-q.q/q:q;qGp5wHpno$w%w'w(w*w+w,w-w.w/wAD=w?w@w[w]w^w_w`w{w|woooxpxtRuRvRwRxRyRzRqxARBRrxsxCR9n!nki'myxhrpoqojrDRERAxGxHxIxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%x(x)x*x+x,xliMiBDCDDD_s`s{s|s}sMp~satbtctdtetftNpgthtitjtktltmtOpntotptqtmirtni?hstoittutpivtqi@hwtrixtytztAtBtPpCtDtEtFtGtHtItQpJtKtLtMtNtOtPtRpQtRtStTtUtVtWtSpXtYtFRGRHRIRJRKRrosotoLR_xMRNRORPRQRRRSRoruoprZpqrrrsrvotrurvrwrxryrzrArBrCrDrErTRURVRWRXRYR2p3p4pZR0RFryy1Rzy5p6p7p8p9pIyJywoHrIrJrKrLrMrNrOrPrQr!pPy#pxoWyXyYyZy1y2y3y4y5y6y}D9y!y#y$y%y'y(y)y*y+yyo}y~y2R3R4R5R6R7R8Raz9R!Rbzcz

451 {**err, "loc": loc_prefix + err.get("loc", ())} for err in errors 

452 ] 

453 

454 return updated_loc_errors 2VQ5n6n!h$m4t:p`n{n=pWQXQ6t$t%t't(t)t*t+t,t-t.t/t:t;t=t?t@t[t]t^t_t`t{t|t}t~taubucudueufuguhuiukulumunuou#h~h_B`B{B6r7r8r9r!r(o#r$r%r'r(r)r*r)o+r,r-r.r/r:r;r*o=r?r@r[r$h]r%h4h^r'h_r`r(h{r)h5h|r*h}r~rasbscs+odsesfsgshsisjs,okslsmsnsospsqs-orssstsusvswsxs.oyszsYQZQ0Q1Q2Q3Q|n}n~n4QAu5Q6Q7Q8Q9Q!Q#Q^pao_p[o`p{p|pbo}p~paqbqcqdqeqfqgqhqiqjq$Q%Q'Q(Q)Q*Q_o`o{o+Q,Qkq4u-Q5u|o}o~oapbp'u(ucomqnqoqpqqqrqsqtquqvqcp.udpdo[u]u^u_u{u|u}u~uavbv2CevfvgvhvivjvkvlvmvnveoEvFv.Q/Q:Q;Q=Q?Q@QGv[Q]QHvIv^Q7n8n+h%mOvPqfogoRq_Q`QQvWvXvYvZv0v1v2v3v4v5v6v7v8v9v!v#v$v%v'v(v)v*v+v,v-v.v/v:v;v=v?v@v[v]v_v`v{v|v}v,hei3C4C5CAsBsCsDsEsipFsGsHsIsJsKsLsjpMsNsOsPsQsRsSskpTsUsVsWs-hXs.h6hYs/hZs0s:h1s;h7h2s=h3s4s5s6s7slp8s9s!s#s$s%s'smp(s)s*s+s,s-s.snp/s:s;s=s?s@s[sop]s^s{Q|Q}Q~QaRbRhoiojocRkwdReRfRgRhRiRjRWqkoXqvpYqZq0qlo1q2q3q4q5q6q7q8q9q!q#q$qkRlRmRnRoRpRypzpApqRrR%qOwsRPwBpCpDpEpFpYwZwmo(q)q*q+q,q-q.q/q:q;qGp5wHpno$w%w'w(w*w+w,w-w.w/wAD=w?w@w[w]w^w_w`w{w|woooxpxtRuRvRwRxRyRzRqxARBRrxsxCR9n!nki'myxhrpoqojrDRERAxGxHxIxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%x(x)x*x+x,xliMiBDCDDD_s`s{s|s}sMp~satbtctdtetftNpgthtitjtktltmtOpntotptqtmirtni?hstoittutpivtqi@hwtrixtytztAtBtPpCtDtEtFtGtHtItQpJtKtLtMtNtOtPtRpQtRtStTtUtVtWtSpXtYtFRGRHRIRJRKRrosotoLR_xMRNRORPRQRRRSRoruoprZpqrrrsrvotrurvrwrxryrzrArBrCrDrErTRURVRWRXRYR2p3p4pZR0RFryy1Rzy5p6p7p8p9pIyJywoHrIrJrKrLrMrNrOrPrQr!pPy#pxoWyXyYyZy1y2y3y4y5y6y}D9y!y#y$y%y'y(y)y*y+yyo}y~y2R3R4R5R6R7R8Raz9R!Rbzcz