Coverage for fastapi / openapi / utils.py: 100%

277 statements  

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

1import copy 2IkLkJkKk

2import http.client 2IkLkJkKk

3import inspect 2IkLkJkKk

4import warnings 2IkLkJkKk

5from collections.abc import Sequence 2IkLkJkKk

6from typing import Any, Literal, cast 2IkLkJkKk

7 

8from fastapi import routing 2IkLkJkKk

9from fastapi._compat import ( 2IkLkJkKk

10 ModelField, 

11 Undefined, 

12 get_definitions, 

13 get_flat_models_from_fields, 

14 get_model_name_map, 

15 get_schema_from_model_field, 

16 lenient_issubclass, 

17) 

18from fastapi.datastructures import DefaultPlaceholder 2IkLkJkKk

19from fastapi.dependencies.models import Dependant 2IkLkJkKk

20from fastapi.dependencies.utils import ( 2IkLkJkKk

21 _get_flat_fields_from_params, 

22 get_flat_dependant, 

23 get_flat_params, 

24 get_validation_alias, 

25) 

26from fastapi.encoders import jsonable_encoder 2IkLkJkKk

27from fastapi.exceptions import FastAPIDeprecationWarning 2IkLkJkKk

28from fastapi.openapi.constants import METHODS_WITH_BODY, REF_PREFIX 2IkLkJkKk

29from fastapi.openapi.models import OpenAPI 2IkLkJkKk

30from fastapi.params import Body, ParamTypes 2IkLkJkKk

31from fastapi.responses import Response 2IkLkJkKk

32from fastapi.types import ModelNameMap 2IkLkJkKk

33from fastapi.utils import ( 2IkLkJkKk

34 deep_dict_update, 

35 generate_operation_id_for_path, 

36 is_body_allowed_for_status_code, 

37) 

38from pydantic import BaseModel 2IkLkJkKk

39from starlette.responses import JSONResponse 2IkLkJkKk

40from starlette.routing import BaseRoute 2IkLkJkKk

41 

42validation_error_definition = { 2IkLkJkKk

43 "title": "ValidationError", 

44 "type": "object", 

45 "properties": { 

46 "loc": { 

47 "title": "Location", 

48 "type": "array", 

49 "items": {"anyOf": [{"type": "string"}, {"type": "integer"}]}, 

50 }, 

51 "msg": {"title": "Message", "type": "string"}, 

52 "type": {"title": "Error Type", "type": "string"}, 

53 "input": {"title": "Input"}, 

54 "ctx": {"title": "Context", "type": "object"}, 

55 }, 

56 "required": ["loc", "msg", "type"], 

57} 

58 

59validation_error_response_definition = { 2IkLkJkKk

60 "title": "HTTPValidationError", 

61 "type": "object", 

62 "properties": { 

63 "detail": { 

64 "title": "Detail", 

65 "type": "array", 

66 "items": {"$ref": REF_PREFIX + "ValidationError"}, 

67 } 

68 }, 

69} 

70 

71status_code_ranges: dict[str, str] = { 2IkLkJkKk

72 "1XX": "Information", 

73 "2XX": "Success", 

74 "3XX": "Redirection", 

75 "4XX": "Client Error", 

76 "5XX": "Server Error", 

77 "DEFAULT": "Default Response", 

78} 

79 

80 

81def get_openapi_security_definitions( 2IkLkJkKk

82 flat_dependant: Dependant, 

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

84 security_definitions = {} 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

85 # Use a dict to merge scopes for same security scheme 

86 operation_security_dict: dict[str, list[str]] = {} 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

87 for security_dependency in flat_dependant._security_dependencies: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

88 security_definition = jsonable_encoder( 2FhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6h7h8h9h!h+b6b3b#h$h7b%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidieifigihi/b8b4biiji9bkiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLiMiNiOiPi?b!b5bQiRi#b

89 security_dependency._security_scheme.model, 

90 by_alias=True, 

91 exclude_none=True, 

92 ) 

93 security_name = security_dependency._security_scheme.scheme_name 2FhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6h7h8h9h!h+b6b3b#h$h7b%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidieifigihi/b8b4biiji9bkiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLiMiNiOiPi?b!b5bQiRi#b

94 security_definitions[security_name] = security_definition 2FhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6h7h8h9h!h+b6b3b#h$h7b%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidieifigihi/b8b4biiji9bkiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLiMiNiOiPi?b!b5bQiRi#b

95 # Merge scopes for the same security scheme 

96 if security_name not in operation_security_dict: 2FhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6h7h8h9h!h+b6b3b#h$h7b%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidieifigihi/b8b4biiji9bkiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLiMiNiOiPi?b!b5bQiRi#b

97 operation_security_dict[security_name] = [] 2FhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6h7h8h9h!h+b6b3b#h$h7b%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidieifigihi/b8b4biiji9bkiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLiMiNiOiPi?b!b5bQiRi#b

98 for scope in security_dependency.oauth_scopes or []: 2FhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6h7h8h9h!h+b6b3b#h$h7b%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidieifigihi/b8b4biiji9bkiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLiMiNiOiPi?b!b5bQiRi#b

99 if scope not in operation_security_dict[security_name]: 2whxh3byhzh4bAhBh5b

100 operation_security_dict[security_name].append(scope) 2whxh3byhzh4bAhBh5b

101 operation_security = [ 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

102 {name: scopes} for name, scopes in operation_security_dict.items() 

103 ] 

104 return security_definitions, operation_security 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

105 

106 

107def _get_openapi_operation_parameters( 2IkLkJkKk

108 *, 

109 dependant: Dependant, 

110 model_name_map: ModelNameMap, 

111 field_mapping: dict[ 

112 tuple[ModelField, Literal["validation", "serialization"]], dict[str, Any] 

113 ], 

114 separate_input_output_schemas: bool = True, 

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

116 parameters = [] 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

117 flat_dependant = get_flat_dependant(dependant, skip_repeats=True) 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

118 path_params = _get_flat_fields_from_params(flat_dependant.path_params) 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

119 query_params = _get_flat_fields_from_params(flat_dependant.query_params) 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

120 header_params = _get_flat_fields_from_params(flat_dependant.header_params) 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

121 cookie_params = _get_flat_fields_from_params(flat_dependant.cookie_params) 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

122 parameter_groups = [ 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

123 (ParamTypes.path, path_params), 

124 (ParamTypes.query, query_params), 

125 (ParamTypes.header, header_params), 

126 (ParamTypes.cookie, cookie_params), 

127 ] 

128 default_convert_underscores = True 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

129 if len(flat_dependant.header_params) == 1: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

130 first_field = flat_dependant.header_params[0] 2K Chpc@b[b]b^br Z _b`bjcucvcwcR Dhrc{b|b}b~bw 2 acbclczcAcBcY EhtcccdcecfcB 5 gchcncEcFcGc

131 if lenient_issubclass(first_field.field_info.annotation, BaseModel): 2K Chpc@b[b]b^br Z _b`bjcucvcwcR Dhrc{b|b}b~bw 2 acbclczcAcBcY EhtcccdcecfcB 5 gchcncEcFcGc

132 default_convert_underscores = getattr( 2@b[b]b^b_b`bjc{b|b}b~bacbclcccdcecfcgchcnc

133 first_field.field_info, "convert_underscores", True 

134 ) 

135 for param_type, param_group in parameter_groups: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

136 for param in param_group: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

137 field_info = param.field_info 2d * vdydicAd+ JcKca BdCdLcK McDdChEdFdpcGdthNcOc@b[b]b^bHdPcQcRcScr Jdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcKd! LdMdNdOdPdQdgbRdSdhbWcUdVdWdXdYd_b`bjcucvcwck 2d3d4d5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dib`d{d3c4c5ckhjbkblbmbnb0 1 |d. e / }dbekcde: 8c9cb eefe!cR #cgeDhheiercjeuh$c%c{b|b}b~bke'c(c)c*cw mel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ ,c-cne% oepeqeresetezbueveAb.cxeyezeAeBeacbclczcAcBcm FeGeHeIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eBb9e!e[c]c^clhCbDbEbFbGb3 4 #e? f @ $e(emc*e[ {c|cc +e,e}cY ~c-eEh.e/etc:evhadbdccdcecfc;ecdddedfdB ?en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( hdid@e) [e]e^e_e`e{eSb|e}eTbjdafbfcfdfefgchcncEcFcGco ifjfkflfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKfUbMfNfqdrdsdmhVbWbXbYbZb6 7 Of_

138 # field_info = cast(Param, field_info) 

139 if not getattr(field_info, "include_in_schema", True): 2d * vdydicAd+ JcKca BdCdLcK McDdChEdFdpcGdthNcOc@b[b]b^bHdPcQcRcScr Jdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcKd! LdMdNdOdPdQdgbRdSdhbWcUdVdWdXdYd_b`bjcucvcwck 2d3d4d5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dib`d{d3c4c5ckhjbkblbmbnb0 1 |d. e / }dbekcde: 8c9cb eefe!cR #cgeDhheiercjeuh$c%c{b|b}b~bke'c(c)c*cw mel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ ,c-cne% oepeqeresetezbueveAb.cxeyezeAeBeacbclczcAcBcm FeGeHeIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eBb9e!e[c]c^clhCbDbEbFbGb3 4 #e? f @ $e(emc*e[ {c|cc +e,e}cY ~c-eEh.e/etc:evhadbdccdcecfc;ecdddedfdB ?en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( hdid@e) [e]e^e_e`e{eSb|e}eTbjdafbfcfdfefgchcncEcFcGco ifjfkflfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKfUbMfNfqdrdsdmhVbWbXbYbZb6 7 Of_

140 continue 2ChSiDhTiEhUi

141 param_schema = get_schema_from_model_field( 2d * vdydicAd+ JcKca BdCdLcK McDdEdFdpcGdthNcOc@b[b]b^bHdPcQcRcScr Jdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcKd! LdMdNdOdPdQdgbRdSdhbWcUdVdWdXdYd_b`bjcucvcwck 2d3d4d5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]d^dib`d{d3c4c5ckhjbkblbmbnb0 1 |d. e / }dbekcde: 8c9cb eefe!cR #cgeheiercjeuh$c%c{b|b}b~bke'c(c)c*cw mel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ ,c-cne% oepeqeresetezbueveAb.cxeyezeAeBeacbclczcAcBcm FeGeHeIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6e7eBb9e!e[c]c^clhCbDbEbFbGb3 4 #e? f @ $e(emc*e[ {c|cc +e,e}cY ~c-e.e/etc:evhadbdccdcecfc;ecdddedfdB ?en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( hdid@e) [e]e^e_e`e{eSb|e}eTbjdafbfcfdfefgchcncEcFcGco ifjfkflfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfKfUbMfNfqdrdsdmhVbWbXbYbZb6 7 Of_

142 field=param, 

143 model_name_map=model_name_map, 

144 field_mapping=field_mapping, 

145 separate_input_output_schemas=separate_input_output_schemas, 

146 ) 

147 name = get_validation_alias(param) 2d * vdydicAd+ JcKca BdCdLcK McDdEdFdpcGdthNcOc@b[b]b^bHdPcQcRcScr Jdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcKd! LdMdNdOdPdQdgbRdSdhbWcUdVdWdXdYd_b`bjcucvcwck 2d3d4d5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]d^dib`d{d3c4c5ckhjbkblbmbnb0 1 |d. e / }dbekcde: 8c9cb eefe!cR #cgeheiercjeuh$c%c{b|b}b~bke'c(c)c*cw mel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ ,c-cne% oepeqeresetezbueveAb.cxeyezeAeBeacbclczcAcBcm FeGeHeIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6e7eBb9e!e[c]c^clhCbDbEbFbGb3 4 #e? f @ $e(emc*e[ {c|cc +e,e}cY ~c-e.e/etc:evhadbdccdcecfc;ecdddedfdB ?en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( hdid@e) [e]e^e_e`e{eSb|e}eTbjdafbfcfdfefgchcncEcFcGco ifjfkflfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfKfUbMfNfqdrdsdmhVbWbXbYbZb6 7 Of_

148 convert_underscores = getattr( 2d * vdydicAd+ JcKca BdCdLcK McDdEdFdpcGdthNcOc@b[b]b^bHdPcQcRcScr Jdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcKd! LdMdNdOdPdQdgbRdSdhbWcUdVdWdXdYd_b`bjcucvcwck 2d3d4d5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]d^dib`d{d3c4c5ckhjbkblbmbnb0 1 |d. e / }dbekcde: 8c9cb eefe!cR #cgeheiercjeuh$c%c{b|b}b~bke'c(c)c*cw mel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ ,c-cne% oepeqeresetezbueveAb.cxeyezeAeBeacbclczcAcBcm FeGeHeIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6e7eBb9e!e[c]c^clhCbDbEbFbGb3 4 #e? f @ $e(emc*e[ {c|cc +e,e}cY ~c-e.e/etc:evhadbdccdcecfc;ecdddedfdB ?en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( hdid@e) [e]e^e_e`e{eSb|e}eTbjdafbfcfdfefgchcncEcFcGco ifjfkflfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfKfUbMfNfqdrdsdmhVbWbXbYbZb6 7 Of_

149 param.field_info, 

150 "convert_underscores", 

151 default_convert_underscores, 

152 ) 

153 if ( 

154 param_type == ParamTypes.header 

155 and name == param.name 

156 and convert_underscores 

157 ): 

158 name = param.name.replace("_", "-") 2K pc@b[b]b^br _b`bR rc{b|b}b~bw acbcY tcccdcecfcB gchc

159 

160 parameter = { 2d * vdydicAd+ JcKca BdCdLcK McDdEdFdpcGdthNcOc@b[b]b^bHdPcQcRcScr Jdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcKd! LdMdNdOdPdQdgbRdSdhbWcUdVdWdXdYd_b`bjcucvcwck 2d3d4d5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]d^dib`d{d3c4c5ckhjbkblbmbnb0 1 |d. e / }dbekcde: 8c9cb eefe!cR #cgeheiercjeuh$c%c{b|b}b~bke'c(c)c*cw mel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ ,c-cne% oepeqeresetezbueveAb.cxeyezeAeBeacbclczcAcBcm FeGeHeIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6e7eBb9e!e[c]c^clhCbDbEbFbGb3 4 #e? f @ $e(emc*e[ {c|cc +e,e}cY ~c-e.e/etc:evhadbdccdcecfc;ecdddedfdB ?en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( hdid@e) [e]e^e_e`e{eSb|e}eTbjdafbfcfdfefgchcncEcFcGco ifjfkflfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfKfUbMfNfqdrdsdmhVbWbXbYbZb6 7 Of_

161 "name": name, 

162 "in": param_type.value, 

163 "required": param.field_info.is_required(), 

164 "schema": param_schema, 

165 } 

166 if field_info.description: 2d * vdydicAd+ JcKca BdCdLcK McDdEdFdpcGdthNcOc@b[b]b^bHdPcQcRcScr Jdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcKd! LdMdNdOdPdQdgbRdSdhbWcUdVdWdXdYd_b`bjcucvcwck 2d3d4d5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]d^dib`d{d3c4c5ckhjbkblbmbnb0 1 |d. e / }dbekcde: 8c9cb eefe!cR #cgeheiercjeuh$c%c{b|b}b~bke'c(c)c*cw mel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ ,c-cne% oepeqeresetezbueveAb.cxeyezeAeBeacbclczcAcBcm FeGeHeIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6e7eBb9e!e[c]c^clhCbDbEbFbGb3 4 #e? f @ $e(emc*e[ {c|cc +e,e}cY ~c-e.e/etc:evhadbdccdcecfc;ecdddedfdB ?en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( hdid@e) [e]e^e_e`e{eSb|e}eTbjdafbfcfdfefgchcncEcFcGco ifjfkflfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfKfUbMfNfqdrdsdmhVbWbXbYbZb6 7 Of_

167 parameter["description"] = field_info.description 22cyc@cDcpdIc

168 openapi_examples = getattr(field_info, "openapi_examples", None) 2d * vdydicAd+ JcKca BdCdLcK McDdEdFdpcGdthNcOc@b[b]b^bHdPcQcRcScr Jdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcKd! LdMdNdOdPdQdgbRdSdhbWcUdVdWdXdYd_b`bjcucvcwck 2d3d4d5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]d^dib`d{d3c4c5ckhjbkblbmbnb0 1 |d. e / }dbekcde: 8c9cb eefe!cR #cgeheiercjeuh$c%c{b|b}b~bke'c(c)c*cw mel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ ,c-cne% oepeqeresetezbueveAb.cxeyezeAeBeacbclczcAcBcm FeGeHeIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6e7eBb9e!e[c]c^clhCbDbEbFbGb3 4 #e? f @ $e(emc*e[ {c|cc +e,e}cY ~c-e.e/etc:evhadbdccdcecfc;ecdddedfdB ?en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( hdid@e) [e]e^e_e`e{eSb|e}eTbjdafbfcfdfefgchcncEcFcGco ifjfkflfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfKfUbMfNfqdrdsdmhVbWbXbYbZb6 7 Of_

169 example = getattr(field_info, "example", None) 2d * vdydicAd+ JcKca BdCdLcK McDdEdFdpcGdthNcOc@b[b]b^bHdPcQcRcScr Jdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcKd! LdMdNdOdPdQdgbRdSdhbWcUdVdWdXdYd_b`bjcucvcwck 2d3d4d5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]d^dib`d{d3c4c5ckhjbkblbmbnb0 1 |d. e / }dbekcde: 8c9cb eefe!cR #cgeheiercjeuh$c%c{b|b}b~bke'c(c)c*cw mel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ ,c-cne% oepeqeresetezbueveAb.cxeyezeAeBeacbclczcAcBcm FeGeHeIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6e7eBb9e!e[c]c^clhCbDbEbFbGb3 4 #e? f @ $e(emc*e[ {c|cc +e,e}cY ~c-e.e/etc:evhadbdccdcecfc;ecdddedfdB ?en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( hdid@e) [e]e^e_e`e{eSb|e}eTbjdafbfcfdfefgchcncEcFcGco ifjfkflfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfKfUbMfNfqdrdsdmhVbWbXbYbZb6 7 Of_

170 if openapi_examples: 2d * vdydicAd+ JcKca BdCdLcK McDdEdFdpcGdthNcOc@b[b]b^bHdPcQcRcScr Jdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcKd! LdMdNdOdPdQdgbRdSdhbWcUdVdWdXdYd_b`bjcucvcwck 2d3d4d5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]d^dib`d{d3c4c5ckhjbkblbmbnb0 1 |d. e / }dbekcde: 8c9cb eefe!cR #cgeheiercjeuh$c%c{b|b}b~bke'c(c)c*cw mel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ ,c-cne% oepeqeresetezbueveAb.cxeyezeAeBeacbclczcAcBcm FeGeHeIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6e7eBb9e!e[c]c^clhCbDbEbFbGb3 4 #e? f @ $e(emc*e[ {c|cc +e,e}cY ~c-e.e/etc:evhadbdccdcecfc;ecdddedfdB ?en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( hdid@e) [e]e^e_e`e{eSb|e}eTbjdafbfcfdfefgchcncEcFcGco ifjfkflfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfKfUbMfNfqdrdsdmhVbWbXbYbZb6 7 Of_

171 parameter["examples"] = jsonable_encoder(openapi_examples) 1KRY

172 elif example != Undefined: 2d * vdydicAd+ JcKca BdCdLcMcDdEdFdpcGdthNcOc@b[b]b^bHdPcQcRcScr Jdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcKd! LdMdNdOdPdQdgbRdSdhbWcUdVdWdXdYd_b`bjcucvcwck 2d3d4d5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]d^dib`d{d3c4c5ckhjbkblbmbnb0 1 |d. e / }dbekcde: 8c9cb eefe!c#cgeheiercjeuh$c%c{b|b}b~bke'c(c)c*cw mel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ ,c-cne% oepeqeresetezbueveAb.cxeyezeAeBeacbclczcAcBcm FeGeHeIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6e7eBb9e!e[c]c^clhCbDbEbFbGb3 4 #e? f @ $e(emc*e[ {c|cc +e,e}c~c-e.e/etc:evhadbdccdcecfc;ecdddedfdB ?en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( hdid@e) [e]e^e_e`e{eSb|e}eTbjdafbfcfdfefgchcncEcFcGco ifjfkflfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfKfUbMfNfqdrdsdmhVbWbXbYbZb6 7 Of_

173 parameter["example"] = jsonable_encoder(example) 2NcOc@b[b]b^bPcQcRcScr UcVc_b`bjc0c1c$c%c{b|b}b~b'c(c)c*cw ,c-cacbclc=c?cadbdccdcecfccdddedfdB hdidgchcncndod

174 if getattr(field_info, "deprecated", None): 2d * vdydicAd+ JcKca BdCdLcK McDdEdFdpcGdthNcOc@b[b]b^bHdPcQcRcScr Jdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcKd! LdMdNdOdPdQdgbRdSdhbWcUdVdWdXdYd_b`bjcucvcwck 2d3d4d5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]d^dib`d{d3c4c5ckhjbkblbmbnb0 1 |d. e / }dbekcde: 8c9cb eefe!cR #cgeheiercjeuh$c%c{b|b}b~bke'c(c)c*cw mel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ ,c-cne% oepeqeresetezbueveAb.cxeyezeAeBeacbclczcAcBcm FeGeHeIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6e7eBb9e!e[c]c^clhCbDbEbFbGb3 4 #e? f @ $e(emc*e[ {c|cc +e,e}cY ~c-e.e/etc:evhadbdccdcecfc;ecdddedfdB ?en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( hdid@e) [e]e^e_e`e{eSb|e}eTbjdafbfcfdfefgchcncEcFcGco ifjfkflfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfKfUbMfNfqdrdsdmhVbWbXbYbZb6 7 Of_

175 parameter["deprecated"] = True 2ycDcIc

176 parameters.append(parameter) 2d * vdydicAd+ JcKca BdCdLcK McDdEdFdpcGdthNcOc@b[b]b^bHdPcQcRcScr Jdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcKd! LdMdNdOdPdQdgbRdSdhbWcUdVdWdXdYd_b`bjcucvcwck 2d3d4d5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]d^dib`d{d3c4c5ckhjbkblbmbnb0 1 |d. e / }dbekcde: 8c9cb eefe!cR #cgeheiercjeuh$c%c{b|b}b~bke'c(c)c*cw mel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ ,c-cne% oepeqeresetezbueveAb.cxeyezeAeBeacbclczcAcBcm FeGeHeIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6e7eBb9e!e[c]c^clhCbDbEbFbGb3 4 #e? f @ $e(emc*e[ {c|cc +e,e}cY ~c-e.e/etc:evhadbdccdcecfc;ecdddedfdB ?en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( hdid@e) [e]e^e_e`e{eSb|e}eTbjdafbfcfdfefgchcncEcFcGco ifjfkflfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfKfUbMfNfqdrdsdmhVbWbXbYbZb6 7 Of_

177 return parameters 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

178 

179 

180def get_openapi_operation_request_body( 2IkLkJkKk

181 *, 

182 body_field: ModelField | None, 

183 model_name_map: ModelNameMap, 

184 field_mapping: dict[ 

185 tuple[ModelField, Literal["validation", "serialization"]], dict[str, Any] 

186 ], 

187 separate_input_output_schemas: bool = True, 

188) -> dict[str, Any] | None: 

189 if not body_field: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

190 return None 2Tjzkd * vdwdxdPfydic4izdUj5iaj6iAd+ JcVjKca BdCdLcK Mcbjp q cjDdChEdFdpcGdthNcOc@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddj7hs , t - 8hejfjgjhjZ 8 9 WjUcVcKdXjYjijtkZjwkCk!i! 0jLdMdNdOdPdQdRd1jSd[iWc#ijj2jTdXcYcqhUdVdWdXdYd_b`bjcucvcwcZcViWi3j4j]i$b5j6jkjljmjxcnj^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dSfTf8j_d`d9j{d3c4c5ckh9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|d'jAke / }d~daeXfbekc$ice(j%ipj'ide: 8c)j9cb eefe!cR #cqju v rjgeDhheiercjeuh$c%c{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjeix ; y = fitjujvjwj2 # $ *j,c-cne+j,jxjuk-jxkDk+i% .joepeqereseteue/jve_i.c,iyj:jwe/c:crhxeyezeAeBeacbclczcAcBc;cXiYi;j=j`i%b?j@jzjAjBjCcCj{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7e0f1f]j8e9e^j!e[c]c^clhgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#e}jBkf @ $e%e'e5f(emc-i)e~j.iEj/i*e[ {cak|cc +e,e}cY ~cFjz A Gj-eEh.e/etc:evhadbdccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjMiC ] D ^ NiIjJjKjLj5 ' ( bkhdid@eckdkMjvkekykEk?i) fk[e]e^e_e`e{e|egk}e|ijd@iNjhk~ekdldshafbfcfdfefgchcncEcFcGcmdZi0iikjk}i'bkklkOjPjQjHcRj~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf8f9fnkLfMfokNfqdrdsdmhOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf

191 assert isinstance(body_field, ModelField) 2%f`g'f+ (fE g F G H I J oc)f*f+fK ,fp q {g-f.f/f:f;f=f|g}g?f@f[f]f^fr (b)b*bj _f`f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 ag! gbhbRfTdXcYcbgZck $bZdnhxc0d1dcg~gdgSfTfegfggghgib_dUfVfWfjbkblbmbnb+b6b3b6c7c0 1 ig. jgkglg7bmgahng: ogL h M N O P Q qcpgqgrgR sgu v bhtgugvgwgxgygchdhzgAgBgCgDgw ,b-b.bl EgFgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ Kg% zbAbZfwe/c:cLg;cm %bCeohCcDeEeMgehNg0f1fOgPgQgRgBb8e2f3f4fCbDbEbFbGb/b8b4b_c`c3 4 Sg? TgUgVg9bWgfhXg[ YgS i T U V W X scZg0g1gY 2gz A gh3g4g5g6g7g8ghhih9g!g#g$g%gB :b;b=bn 'g(g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( -g) SbTb7f~ekdld.gmdo 'bffphHcgfhf/gjh:g8f9f;g=g?g@gUbLf!f#f$fVbWbXbYbZb?b!b5btdud6 7 [g_ ]g^g_g#b

192 body_schema = get_schema_from_model_field( 2%f`g'f+ (fE g F G H I J oc)f*f+fK ,fp q {g-f.f/f:f;f=f|g}g?f@f[f]f^fr (b)b*bj _f`f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 ag! gbhbRfTdXcYcbgZck $bZdnhxc0d1dcg~gdgSfTfegfggghgib_dUfVfWfjbkblbmbnb+b6b3b6c7c0 1 ig. jgkglg7bmgahng: ogL h M N O P Q qcpgqgrgR sgu v bhtgugvgwgxgygchdhzgAgBgCgDgw ,b-b.bl EgFgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ Kg% zbAbZfwe/c:cLg;cm %bCeohCcDeEeMgehNg0f1fOgPgQgRgBb8e2f3f4fCbDbEbFbGb/b8b4b_c`c3 4 Sg? TgUgVg9bWgfhXg[ YgS i T U V W X scZg0g1gY 2gz A gh3g4g5g6g7g8ghhih9g!g#g$g%gB :b;b=bn 'g(g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( -g) SbTb7f~ekdld.gmdo 'bffphHcgfhf/gjh:g8f9f;g=g?g@gUbLf!f#f$fVbWbXbYbZb?b!b5btdud6 7 [g_ ]g^g_g#b

193 field=body_field, 

194 model_name_map=model_name_map, 

195 field_mapping=field_mapping, 

196 separate_input_output_schemas=separate_input_output_schemas, 

197 ) 

198 field_info = cast(Body, body_field.field_info) 2%f`g'f+ (fE g F G H I J oc)f*f+fK ,fp q {g-f.f/f:f;f=f|g}g?f@f[f]f^fr (b)b*bj _f`f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 ag! gbhbRfTdXcYcbgZck $bZdnhxc0d1dcg~gdgSfTfegfggghgib_dUfVfWfjbkblbmbnb+b6b3b6c7c0 1 ig. jgkglg7bmgahng: ogL h M N O P Q qcpgqgrgR sgu v bhtgugvgwgxgygchdhzgAgBgCgDgw ,b-b.bl EgFgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ Kg% zbAbZfwe/c:cLg;cm %bCeohCcDeEeMgehNg0f1fOgPgQgRgBb8e2f3f4fCbDbEbFbGb/b8b4b_c`c3 4 Sg? TgUgVg9bWgfhXg[ YgS i T U V W X scZg0g1gY 2gz A gh3g4g5g6g7g8ghhih9g!g#g$g%gB :b;b=bn 'g(g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( -g) SbTb7f~ekdld.gmdo 'bffphHcgfhf/gjh:g8f9f;g=g?g@gUbLf!f#f$fVbWbXbYbZb?b!b5btdud6 7 [g_ ]g^g_g#b

199 request_media_type = field_info.media_type 2%f`g'f+ (fE g F G H I J oc)f*f+fK ,fp q {g-f.f/f:f;f=f|g}g?f@f[f]f^fr (b)b*bj _f`f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 ag! gbhbRfTdXcYcbgZck $bZdnhxc0d1dcg~gdgSfTfegfggghgib_dUfVfWfjbkblbmbnb+b6b3b6c7c0 1 ig. jgkglg7bmgahng: ogL h M N O P Q qcpgqgrgR sgu v bhtgugvgwgxgygchdhzgAgBgCgDgw ,b-b.bl EgFgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ Kg% zbAbZfwe/c:cLg;cm %bCeohCcDeEeMgehNg0f1fOgPgQgRgBb8e2f3f4fCbDbEbFbGb/b8b4b_c`c3 4 Sg? TgUgVg9bWgfhXg[ YgS i T U V W X scZg0g1gY 2gz A gh3g4g5g6g7g8ghhih9g!g#g$g%gB :b;b=bn 'g(g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( -g) SbTb7f~ekdld.gmdo 'bffphHcgfhf/gjh:g8f9f;g=g?g@gUbLf!f#f$fVbWbXbYbZb?b!b5btdud6 7 [g_ ]g^g_g#b

200 required = body_field.field_info.is_required() 2%f`g'f+ (fE g F G H I J oc)f*f+fK ,fp q {g-f.f/f:f;f=f|g}g?f@f[f]f^fr (b)b*bj _f`f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 ag! gbhbRfTdXcYcbgZck $bZdnhxc0d1dcg~gdgSfTfegfggghgib_dUfVfWfjbkblbmbnb+b6b3b6c7c0 1 ig. jgkglg7bmgahng: ogL h M N O P Q qcpgqgrgR sgu v bhtgugvgwgxgygchdhzgAgBgCgDgw ,b-b.bl EgFgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ Kg% zbAbZfwe/c:cLg;cm %bCeohCcDeEeMgehNg0f1fOgPgQgRgBb8e2f3f4fCbDbEbFbGb/b8b4b_c`c3 4 Sg? TgUgVg9bWgfhXg[ YgS i T U V W X scZg0g1gY 2gz A gh3g4g5g6g7g8ghhih9g!g#g$g%gB :b;b=bn 'g(g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( -g) SbTb7f~ekdld.gmdo 'bffphHcgfhf/gjh:g8f9f;g=g?g@gUbLf!f#f$fVbWbXbYbZb?b!b5btdud6 7 [g_ ]g^g_g#b

201 request_body_oai: dict[str, Any] = {} 2%f`g'f+ (fE g F G H I J oc)f*f+fK ,fp q {g-f.f/f:f;f=f|g}g?f@f[f]f^fr (b)b*bj _f`f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 ag! gbhbRfTdXcYcbgZck $bZdnhxc0d1dcg~gdgSfTfegfggghgib_dUfVfWfjbkblbmbnb+b6b3b6c7c0 1 ig. jgkglg7bmgahng: ogL h M N O P Q qcpgqgrgR sgu v bhtgugvgwgxgygchdhzgAgBgCgDgw ,b-b.bl EgFgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ Kg% zbAbZfwe/c:cLg;cm %bCeohCcDeEeMgehNg0f1fOgPgQgRgBb8e2f3f4fCbDbEbFbGb/b8b4b_c`c3 4 Sg? TgUgVg9bWgfhXg[ YgS i T U V W X scZg0g1gY 2gz A gh3g4g5g6g7g8ghhih9g!g#g$g%gB :b;b=bn 'g(g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( -g) SbTb7f~ekdld.gmdo 'bffphHcgfhf/gjh:g8f9f;g=g?g@gUbLf!f#f$fVbWbXbYbZb?b!b5btdud6 7 [g_ ]g^g_g#b

202 if required: 2%f`g'f+ (fE g F G H I J oc)f*f+fK ,fp q {g-f.f/f:f;f=f|g}g?f@f[f]f^fr (b)b*bj _f`f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 ag! gbhbRfTdXcYcbgZck $bZdnhxc0d1dcg~gdgSfTfegfggghgib_dUfVfWfjbkblbmbnb+b6b3b6c7c0 1 ig. jgkglg7bmgahng: ogL h M N O P Q qcpgqgrgR sgu v bhtgugvgwgxgygchdhzgAgBgCgDgw ,b-b.bl EgFgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ Kg% zbAbZfwe/c:cLg;cm %bCeohCcDeEeMgehNg0f1fOgPgQgRgBb8e2f3f4fCbDbEbFbGb/b8b4b_c`c3 4 Sg? TgUgVg9bWgfhXg[ YgS i T U V W X scZg0g1gY 2gz A gh3g4g5g6g7g8ghhih9g!g#g$g%gB :b;b=bn 'g(g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( -g) SbTb7f~ekdld.gmdo 'bffphHcgfhf/gjh:g8f9f;g=g?g@gUbLf!f#f$fVbWbXbYbZb?b!b5btdud6 7 [g_ ]g^g_g#b

203 request_body_oai["required"] = required 2%f'f+ (fE g F G H I J oc)f*f+fK ,fp q -f.f/f:f;f=f?f@f[f]f^fr (b)b*bj _f`f{f` { | } ~ abbbcbdbebfb|f}f~f8 9 ag! gbhbRfTdXcYcbgZck $bZdnhxc0d1dcgdgSfTfegfggghgib_dUfVfWfjbkblbmbnb+b6b3b6c7c0 1 ig. jgkglg7bmgng: ogL h M N O P Q qcpgqgrgR sgu v tgugvgwgxgygzgAgBgCgDgw ,b-b.bl EgFgGgobpbqbrbsbtbubvbwbxbybHgIgJg# $ Kg% zbAbZfwe/c:cLg;cm %bCeohCcDeEeMgNg0f1fOgPgQgRgBb8e2f3f4fCbDbEbFbGb/b8b4b_c`c3 4 Sg? TgUgVg9bWgXg[ YgS i T U V W X scZg0g1gY 2gz A 3g4g5g6g7g8g9g!g#g$g%gB :b;b=bn 'g(g)gHbIbJbKbLbMbNbObPbQbRb*g+g,g' ( -g) SbTb7f~ekdld.gmdo 'bffphHcgfhf/g:g8f9f;g=g?g@gUbLf!f#f$fVbWbXbYbZb?b!b5btdud6 7 [g_ ]g^g_g#b

204 request_media_content: dict[str, Any] = {"schema": body_schema} 2%f`g'f+ (fE g F G H I J oc)f*f+fK ,fp q {g-f.f/f:f;f=f|g}g?f@f[f]f^fr (b)b*bj _f`f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 ag! gbhbRfTdXcYcbgZck $bZdnhxc0d1dcg~gdgSfTfegfggghgib_dUfVfWfjbkblbmbnb+b6b3b6c7c0 1 ig. jgkglg7bmgahng: ogL h M N O P Q qcpgqgrgR sgu v bhtgugvgwgxgygchdhzgAgBgCgDgw ,b-b.bl EgFgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ Kg% zbAbZfwe/c:cLg;cm %bCeohCcDeEeMgehNg0f1fOgPgQgRgBb8e2f3f4fCbDbEbFbGb/b8b4b_c`c3 4 Sg? TgUgVg9bWgfhXg[ YgS i T U V W X scZg0g1gY 2gz A gh3g4g5g6g7g8ghhih9g!g#g$g%gB :b;b=bn 'g(g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( -g) SbTb7f~ekdld.gmdo 'bffphHcgfhf/gjh:g8f9f;g=g?g@gUbLf!f#f$fVbWbXbYbZb?b!b5btdud6 7 [g_ ]g^g_g#b

205 if field_info.openapi_examples: 2%f`g'f+ (fE g F G H I J oc)f*f+fK ,fp q {g-f.f/f:f;f=f|g}g?f@f[f]f^fr (b)b*bj _f`f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 ag! gbhbRfTdXcYcbgZck $bZdnhxc0d1dcg~gdgSfTfegfggghgib_dUfVfWfjbkblbmbnb+b6b3b6c7c0 1 ig. jgkglg7bmgahng: ogL h M N O P Q qcpgqgrgR sgu v bhtgugvgwgxgygchdhzgAgBgCgDgw ,b-b.bl EgFgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ Kg% zbAbZfwe/c:cLg;cm %bCeohCcDeEeMgehNg0f1fOgPgQgRgBb8e2f3f4fCbDbEbFbGb/b8b4b_c`c3 4 Sg? TgUgVg9bWgfhXg[ YgS i T U V W X scZg0g1gY 2gz A gh3g4g5g6g7g8ghhih9g!g#g$g%gB :b;b=bn 'g(g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( -g) SbTb7f~ekdld.gmdo 'bffphHcgfhf/gjh:g8f9f;g=g?g@gUbLf!f#f$fVbWbXbYbZb?b!b5btdud6 7 [g_ ]g^g_g#b

206 request_media_content["examples"] = jsonable_encoder( 2K nbR GbY Zb

207 field_info.openapi_examples 

208 ) 

209 elif field_info.example != Undefined: 2%f`g'f+ (fE g F G H I J oc)f*f+f,fp q {g-f.f/f:f;f=f|g}g?f@f[f]f^fr (b)b*bj _f`f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 ag! gbhbRfTdXcYcbgZck $bZdnhxc0d1dcg~gdgSfTfegfggghgib_dUfVfWfjbkblbmb+b6b3b6c7c0 1 ig. jgkglg7bmgahng: ogL h M N O P Q qcpgqgrgsgu v bhtgugvgwgxgygchdhzgAgBgCgDgw ,b-b.bl EgFgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ Kg% zbAbZfwe/c:cLg;cm %bCeohCcDeEeMgehNg0f1fOgPgQgRgBb8e2f3f4fCbDbEbFb/b8b4b_c`c3 4 Sg? TgUgVg9bWgfhXg[ YgS i T U V W X scZg0g1g2gz A gh3g4g5g6g7g8ghhih9g!g#g$g%gB :b;b=bn 'g(g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( -g) SbTb7f~ekdld.gmdo 'bffphHcgfhf/gjh:g8f9f;g=g?g@gUbLf!f#f$fVbWbXbYb?b!b5btdud6 7 [g_ ]g^g_g#b

210 request_media_content["example"] = jsonable_encoder(field_info.example) 1rwB

211 request_body_oai["content"] = {request_media_type: request_media_content} 2%f`g'f+ (fE g F G H I J oc)f*f+fK ,fp q {g-f.f/f:f;f=f|g}g?f@f[f]f^fr (b)b*bj _f`f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 ag! gbhbRfTdXcYcbgZck $bZdnhxc0d1dcg~gdgSfTfegfggghgib_dUfVfWfjbkblbmbnb+b6b3b6c7c0 1 ig. jgkglg7bmgahng: ogL h M N O P Q qcpgqgrgR sgu v bhtgugvgwgxgygchdhzgAgBgCgDgw ,b-b.bl EgFgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ Kg% zbAbZfwe/c:cLg;cm %bCeohCcDeEeMgehNg0f1fOgPgQgRgBb8e2f3f4fCbDbEbFbGb/b8b4b_c`c3 4 Sg? TgUgVg9bWgfhXg[ YgS i T U V W X scZg0g1gY 2gz A gh3g4g5g6g7g8ghhih9g!g#g$g%gB :b;b=bn 'g(g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( -g) SbTb7f~ekdld.gmdo 'bffphHcgfhf/gjh:g8f9f;g=g?g@gUbLf!f#f$fVbWbXbYbZb?b!b5btdud6 7 [g_ ]g^g_g#b

212 return request_body_oai 2%f`g'f+ (fE g F G H I J oc)f*f+fK ,fp q {g-f.f/f:f;f=f|g}g?f@f[f]f^fr (b)b*bj _f`f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 ag! gbhbRfTdXcYcbgZck $bZdnhxc0d1dcg~gdgSfTfegfggghgib_dUfVfWfjbkblbmbnb+b6b3b6c7c0 1 ig. jgkglg7bmgahng: ogL h M N O P Q qcpgqgrgR sgu v bhtgugvgwgxgygchdhzgAgBgCgDgw ,b-b.bl EgFgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ Kg% zbAbZfwe/c:cLg;cm %bCeohCcDeEeMgehNg0f1fOgPgQgRgBb8e2f3f4fCbDbEbFbGb/b8b4b_c`c3 4 Sg? TgUgVg9bWgfhXg[ YgS i T U V W X scZg0g1gY 2gz A gh3g4g5g6g7g8ghhih9g!g#g$g%gB :b;b=bn 'g(g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( -g) SbTb7f~ekdld.gmdo 'bffphHcgfhf/gjh:g8f9f;g=g?g@gUbLf!f#f$fVbWbXbYbZb?b!b5btdud6 7 [g_ ]g^g_g#b

213 

214 

215def generate_operation_id( 2IkLkJkKk

216 *, route: routing.APIRoute, method: str 2IkJkKk

217) -> str: # pragma: nocover 2IkJkKk

218 warnings.warn( 

219 message="fastapi.openapi.utils.generate_operation_id() was deprecated, " 

220 "it is not used internally, and will be removed soon", 

221 category=FastAPIDeprecationWarning, 

222 stacklevel=2, 

223 ) 

224 if route.operation_id: 

225 return route.operation_id 

226 path: str = route.path_format 

227 return generate_operation_id_for_path(name=route.name, path=path, method=method) 

228 

229 

230def generate_operation_summary(*, route: routing.APIRoute, method: str) -> str: 2IkLkJkKk

231 if route.summary: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

232 return route.summary 2Zd0d1dCeDeEeffgfhf

233 return route.name.replace("_", " ").title() 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jkjljmjnhxcnj^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jzjAjBjohCcCj{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkOjPjQjphHcRj~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

234 

235 

236def get_openapi_operation_metadata( 2IkLkJkKk

237 *, route: routing.APIRoute, method: str, operation_ids: set[str] 

238) -> dict[str, Any]: 

239 operation: dict[str, Any] = {} 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

240 if route.tags: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

241 operation["tags"] = route.tags 2a Z XcYc]ixcnj^ib 2 /c:c`iCcCj{ic 5 kdld}iHcRj~i

242 operation["summary"] = generate_operation_summary(route=route, method=method) 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

243 if route.description: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

244 operation["description"] = route.description 2j k $bZd0d1d7bl m %bCeDeEe9bn o 'bffgfhf#b

245 operation_id = route.operation_id or route.unique_id 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

246 if operation_id in operation_ids: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

247 message = ( 2oca qcb scc

248 f"Duplicate Operation ID {operation_id} for function " 

249 + f"{route.endpoint.__name__}" 

250 ) 

251 file_name = getattr(route.endpoint, "__globals__", {}).get("__file__") 2oca qcb scc

252 if file_name: 2oca qcb scc

253 message += f" at {file_name}" 2oca qcb scc

254 warnings.warn(message, stacklevel=1) 2oca qcb scc

255 operation_ids.add(operation_id) 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

256 operation["operationId"] = operation_id 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

257 if route.deprecated: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

258 operation["deprecated"] = route.deprecated 2a ^ib {ic ~i

259 return operation 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

260 

261 

262def get_openapi_path( 2IkLkJkKk

263 *, 

264 route: routing.APIRoute, 

265 operation_ids: set[str], 

266 model_name_map: ModelNameMap, 

267 field_mapping: dict[ 

268 tuple[ModelField, Literal["validation", "serialization"]], dict[str, Any] 

269 ], 

270 separate_input_output_schemas: bool = True, 

271) -> tuple[dict[str, Any], dict[str, Any], dict[str, Any]]: 

272 path = {} 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

273 security_schemes: dict[str, Any] = {} 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

274 definitions: dict[str, Any] = {} 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

275 assert route.methods is not None, "Methods must be a list" 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

276 if isinstance(route.response_class, DefaultPlaceholder): 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

277 current_response_class: type[Response] = route.response_class.value 2%f`gTjzkd vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdijZjag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cnexj-jKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eMjek-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

278 else: 

279 current_response_class = route.response_class 2d * wda IdTcXjYjijtkwkCke / ~db le+c+j,jxjukxkDkf @ %ec =egdckdkMjvkykEk

280 assert current_response_class, "A response class is needed to generate OpenAPI" 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

281 route_response_media_type: str | None = current_response_class.media_type 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

282 if route.include_in_schema: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

283 for method in route.methods: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

284 operation = get_openapi_operation_metadata( 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

285 route=route, method=method, operation_ids=operation_ids 

286 ) 

287 parameters: list[dict[str, Any]] = [] 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

288 flat_dependant = get_flat_dependant(route.dependant, skip_repeats=True) 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

289 security_definitions, operation_security = get_openapi_security_definitions( 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

290 flat_dependant=flat_dependant 

291 ) 

292 if operation_security: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

293 operation.setdefault("security", []).extend(operation_security) 2FhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6h7h8h9h!h+b6b3b#h$h7b%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidieifigihi/b8b4biiji9bkiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLiMiNiOiPi?b!b5bQiRi#b

294 if security_definitions: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

295 security_schemes.update(security_definitions) 2FhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6h7h8h9h!h+b6b3b#h$h7b%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidieifigihi/b8b4biiji9bkiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLiMiNiOiPi?b!b5bQiRi#b

296 operation_parameters = _get_openapi_operation_parameters( 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

297 dependant=route.dependant, 

298 model_name_map=model_name_map, 

299 field_mapping=field_mapping, 

300 separate_input_output_schemas=separate_input_output_schemas, 

301 ) 

302 parameters.extend(operation_parameters) 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

303 if parameters: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

304 all_parameters = { 2d * vdydicAd+ JcKca BdCdLcK McDdEdFdpcGdthNcOc@b[b]b^bHdPcQcRcScr Jdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcKd! LdMdNdOdPdQdgbRdSdhbWcUdVdWdXdYd_b`bjcucvcwck 2d3d4d5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]d^dib`d{d3c4c5ckhjbkblbmbnb0 1 |d. e / }dbekcde: 8c9cb eefe!cR #cgeheiercjeuh$c%c{b|b}b~bke'c(c)c*cw mel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ ,c-cne% oepeqeresetezbueveAb.cxeyezeAeBeacbclczcAcBcm FeGeHeIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6e7eBb9e!e[c]c^clhCbDbEbFbGb3 4 #e? f @ $e(emc*e[ {c|cc +e,e}cY ~c-e.e/etc:evhadbdccdcecfc;ecdddedfdB ?en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( hdid@e) [e]e^e_e`e{eSb|e}eTbjdafbfcfdfefgchcncEcFcGco ifjfkflfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfKfUbMfNfqdrdsdmhVbWbXbYbZb6 7 Of_

305 (param["in"], param["name"]): param for param in parameters 

306 } 

307 required_parameters = { 2d * vdydicAd+ JcKca BdCdLcK McDdEdFdpcGdthNcOc@b[b]b^bHdPcQcRcScr Jdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcKd! LdMdNdOdPdQdgbRdSdhbWcUdVdWdXdYd_b`bjcucvcwck 2d3d4d5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]d^dib`d{d3c4c5ckhjbkblbmbnb0 1 |d. e / }dbekcde: 8c9cb eefe!cR #cgeheiercjeuh$c%c{b|b}b~bke'c(c)c*cw mel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ ,c-cne% oepeqeresetezbueveAb.cxeyezeAeBeacbclczcAcBcm FeGeHeIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6e7eBb9e!e[c]c^clhCbDbEbFbGb3 4 #e? f @ $e(emc*e[ {c|cc +e,e}cY ~c-e.e/etc:evhadbdccdcecfc;ecdddedfdB ?en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( hdid@e) [e]e^e_e`e{eSb|e}eTbjdafbfcfdfefgchcncEcFcGco ifjfkflfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfKfUbMfNfqdrdsdmhVbWbXbYbZb6 7 Of_

308 (param["in"], param["name"]): param 

309 for param in parameters 

310 if param.get("required") 

311 } 

312 # Make sure required definitions of the same parameter take precedence 

313 # over non-required definitions 

314 all_parameters.update(required_parameters) 2d * vdydicAd+ JcKca BdCdLcK McDdEdFdpcGdthNcOc@b[b]b^bHdPcQcRcScr Jdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcKd! LdMdNdOdPdQdgbRdSdhbWcUdVdWdXdYd_b`bjcucvcwck 2d3d4d5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]d^dib`d{d3c4c5ckhjbkblbmbnb0 1 |d. e / }dbekcde: 8c9cb eefe!cR #cgeheiercjeuh$c%c{b|b}b~bke'c(c)c*cw mel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ ,c-cne% oepeqeresetezbueveAb.cxeyezeAeBeacbclczcAcBcm FeGeHeIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6e7eBb9e!e[c]c^clhCbDbEbFbGb3 4 #e? f @ $e(emc*e[ {c|cc +e,e}cY ~c-e.e/etc:evhadbdccdcecfc;ecdddedfdB ?en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( hdid@e) [e]e^e_e`e{eSb|e}eTbjdafbfcfdfefgchcncEcFcGco ifjfkflfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfKfUbMfNfqdrdsdmhVbWbXbYbZb6 7 Of_

315 operation["parameters"] = list(all_parameters.values()) 2d * vdydicAd+ JcKca BdCdLcK McDdEdFdpcGdthNcOc@b[b]b^bHdPcQcRcScr Jdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcKd! LdMdNdOdPdQdgbRdSdhbWcUdVdWdXdYd_b`bjcucvcwck 2d3d4d5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]d^dib`d{d3c4c5ckhjbkblbmbnb0 1 |d. e / }dbekcde: 8c9cb eefe!cR #cgeheiercjeuh$c%c{b|b}b~bke'c(c)c*cw mel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ ,c-cne% oepeqeresetezbueveAb.cxeyezeAeBeacbclczcAcBcm FeGeHeIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6e7eBb9e!e[c]c^clhCbDbEbFbGb3 4 #e? f @ $e(emc*e[ {c|cc +e,e}cY ~c-e.e/etc:evhadbdccdcecfc;ecdddedfdB ?en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( hdid@e) [e]e^e_e`e{eSb|e}eTbjdafbfcfdfefgchcncEcFcGco ifjfkflfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfKfUbMfNfqdrdsdmhVbWbXbYbZb6 7 Of_

316 if method in METHODS_WITH_BODY: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

317 request_body_oai = get_openapi_operation_request_body( 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

318 body_field=route.body_field, 

319 model_name_map=model_name_map, 

320 field_mapping=field_mapping, 

321 separate_input_output_schemas=separate_input_output_schemas, 

322 ) 

323 if request_body_oai: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

324 operation["requestBody"] = request_body_oai 2%f`g'f+ (fE g F G H I J oc)f*f+fK ,fp q {g-f.f/f:f;f=f|g}g?f@f[f]f^fr (b)b*bj _f`f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 ag! gbhbRfTdXcYcbgZck $bZdnhxc0d1dcg~gdgSfTfegfggghgib_dUfVfWfjbkblbmbnb+b6b3b6c7c0 1 ig. jgkglg7bmgahng: ogL h M N O P Q qcpgqgrgR sgu v bhtgugvgwgxgygchdhzgAgBgCgDgw ,b-b.bl EgFgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ Kg% zbAbZfwe/c:cLg;cm %bCeohCcDeEeMgehNg0f1fOgPgQgRgBb8e2f3f4fCbDbEbFbGb/b8b4b_c`c3 4 Sg? TgUgVg9bWgfhXg[ YgS i T U V W X scZg0g1gY 2gz A gh3g4g5g6g7g8ghhih9g!g#g$g%gB :b;b=bn 'g(g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( -g) SbTb7f~ekdld.gmdo 'bffphHcgfhf/gjh:g8f9f;g=g?g@gUbLf!f#f$fVbWbXbYbZb?b!b5btdud6 7 [g_ ]g^g_g#b

325 if route.callbacks: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

326 callbacks = {} 1dgajkehblmficno

327 for callback in route.callbacks: 1dgajkehblmficno

328 if isinstance(callback, routing.APIRoute): 1dgajkehblmficno

329 ( 1dgajkehblmficno

330 cb_path, 

331 cb_security_schemes, 

332 cb_definitions, 

333 ) = get_openapi_path( 

334 route=callback, 

335 operation_ids=operation_ids, 

336 model_name_map=model_name_map, 

337 field_mapping=field_mapping, 

338 separate_input_output_schemas=separate_input_output_schemas, 

339 ) 

340 callbacks[callback.name] = {callback.path: cb_path} 1dgajkehblmficno

341 operation["callbacks"] = callbacks 1dgajkehblmficno

342 if route.status_code is not None: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

343 status_code = str(route.status_code) 2icthTcCknhkhkcuh+cDkohlhmcvhgdEkphmh

344 else: 

345 # It would probably make more sense for all response classes to have an 

346 # explicit default status_code, and to extract it from them, instead of 

347 # doing this inspection tricks, that would probably be in the future 

348 # TODO: probably make status_code a default class attribute for all 

349 # responses in Starlette 

350 response_signature = inspect.signature(current_response_class.__init__) 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGd-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5cjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjetgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^cCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:e3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekyk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

351 status_code_param = response_signature.parameters.get("status_code") 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGd-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5cjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjetgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^cCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:e3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekyk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

352 if status_code_param is not None: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGd-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5cjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjetgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^cCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:e3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekyk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

353 if isinstance(status_code_param.default, int): 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGd-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5cjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjetgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^cCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:e3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekyk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

354 status_code = str(status_code_param.default) 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGd-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5cjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjetgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^cCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:e3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekyk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

355 operation.setdefault("responses", {}).setdefault(status_code, {})[ 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

356 "description" 

357 ] = route.response_description 

358 if route_response_media_type and is_body_allowed_for_status_code( 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

359 route.status_code 

360 ): 

361 response_schema = {"type": "string"} 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGd-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjetgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:e3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkek-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

362 if lenient_issubclass(current_response_class, JSONResponse): 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGd-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjetgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:e3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkek-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

363 if route.response_field: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGd-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijZjag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjetgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxj-jKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:e3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjek-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

364 response_schema = get_schema_from_model_field( 2ic4izd5i6iJcE g F G H I J KcLcp q 7i1i8i9idjj s , t - 8 9 !i! RfWc#ijjTdXcYcZck Zdnhxc0d1d_dUfVfWf3c4c5c6b3b6c7c0 1 . kc$ice%i'i8cL h M N O P Q 9c!cu v (i2i)i*isjl x ; y = # $ +i% Zf.c,iyjwe/c:c;cm CeohCcDeEe8e2f3f4f[c]c^c8b4b_c`c3 4 ? mc-i)e.i/i{cS i T U V W X |c}cz A :i3i;i=iHjn C ] D ^ ' ( ?i) 7fjd@iNj~ekdldmdo ffphHcgfhfLf!f#f$fqdrdsd!b5btdud6 7 _

365 field=route.response_field, 

366 model_name_map=model_name_map, 

367 field_mapping=field_mapping, 

368 separate_input_output_schemas=separate_input_output_schemas, 

369 ) 

370 else: 

371 response_schema = {} 2%f`gTjzkd * vdwdxdPfydicUj'fajAd+ (focVj)fa Bd*f+fCdK ,fMcbjp q cjDdChEd{gFdpcGd-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcScIdTc1iQfr FhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJdj 7h_f8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~fWjUcVcKdXjYjijZjag0jLdMdNdOdPdQdgbRd1jSd[ihb2jqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jkjljmjxcnj^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j`d9j{dkhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|digjgkglg7bmgah'jAke / }d~daeXfbekc(jngpjde: ogqc)jpgb eeqgrgfeR sg#cqju v rjgeDhhebhiercjetgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*cle+c2iYfw %h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimel eiEgfitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg*j,c-cne+j,jxj-jKg.joepeqeresetezbue/jve_iAb:jrhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jzjAjBjCcCj{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j9e^j!elhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSgTgUgVg9bWgfh}jBkf @ $e%e'e5f(emc~jXgEj*e[ YgscakZgc +e0g1g,eY 2g~cFjz A Gj-eEh.egh/etc:e3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd=egd3i6fB kiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?en Mi'gNiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,gbkhdid@eckdkMjek-gfk[e]e^e_e`e{eSb|egk}e|iTbhkshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkOjPjQjHcRj~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkMfokNfmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g]g^g_g#b

372 operation.setdefault("responses", {}).setdefault( 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGd-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjetgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:e3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkek-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

373 status_code, {} 

374 ).setdefault("content", {}).setdefault(route_response_media_type, {})[ 

375 "schema" 

376 ] = response_schema 

377 if route.responses: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

378 operation_responses = operation.setdefault("responses", {}) 2zkd * wdxdPfzdE g F G H I J a p q IdTcQfs , t - Z qhAke / ~daeXfceL h M N O P Q b u v le+cYfx ; y = 2 rhBkf @ %e'e5f)eS i T U V W X c z A =egd6fC ] D ^ 5 sh

379 for ( 2zkd * wdxdPfzdE g F G H I J a p q IdTcQfs , t - Z qhAke / ~daeXfceL h M N O P Q b u v le+cYfx ; y = 2 rhBkf @ %e'e5f)eS i T U V W X c z A =egd6fC ] D ^ 5 sh

380 additional_status_code, 

381 additional_response, 

382 ) in route.responses.items(): 

383 process_response = copy.deepcopy(additional_response) 2zkd * wdxdPfzdE g F G H I J a p q IdTcQfs , t - Z qhAke / ~daeXfceL h M N O P Q b u v le+cYfx ; y = 2 rhBkf @ %e'e5f)eS i T U V W X c z A =egd6fC ] D ^ 5 sh

384 process_response.pop("model", None) 2zkd * wdxdPfzdE g F G H I J a p q IdTcQfs , t - Z qhAke / ~daeXfceL h M N O P Q b u v le+cYfx ; y = 2 rhBkf @ %e'e5f)eS i T U V W X c z A =egd6fC ] D ^ 5 sh

385 status_code_key = str(additional_status_code).upper() 2zkd * wdxdPfzdE g F G H I J a p q IdTcQfs , t - Z qhAke / ~daeXfceL h M N O P Q b u v le+cYfx ; y = 2 rhBkf @ %e'e5f)eS i T U V W X c z A =egd6fC ] D ^ 5 sh

386 if status_code_key == "DEFAULT": 2zkd * wdxdPfzdE g F G H I J a p q IdTcQfs , t - Z qhAke / ~daeXfceL h M N O P Q b u v le+cYfx ; y = 2 rhBkf @ %e'e5f)eS i T U V W X c z A =egd6fC ] D ^ 5 sh

387 status_code_key = "default" 2xdae'e

388 openapi_response = operation_responses.setdefault( 2zkd * wdxdPfzdE g F G H I J a p q IdTcQfs , t - Z qhAke / ~daeXfceL h M N O P Q b u v le+cYfx ; y = 2 rhBkf @ %e'e5f)eS i T U V W X c z A =egd6fC ] D ^ 5 sh

389 status_code_key, {} 

390 ) 

391 assert isinstance(process_response, dict), ( 2zkd * wdxdPfzdE g F G H I J a p q IdTcQfs , t - Z qhAke / ~daeXfceL h M N O P Q b u v le+cYfx ; y = 2 rhBkf @ %e'e5f)eS i T U V W X c z A =egd6fC ] D ^ 5 sh

392 "An additional response must be a dict" 

393 ) 

394 field = route.response_fields.get(additional_status_code) 2zkd * wdxdPfzdE g F G H I J a p q IdTcQfs , t - Z qhAke / ~daeXfceL h M N O P Q b u v le+cYfx ; y = 2 rhBkf @ %e'e5f)eS i T U V W X c z A =egd6fC ] D ^ 5 sh

395 additional_field_schema: dict[str, Any] | None = None 2zkd * wdxdPfzdE g F G H I J a p q IdTcQfs , t - Z qhAke / ~daeXfceL h M N O P Q b u v le+cYfx ; y = 2 rhBkf @ %e'e5f)eS i T U V W X c z A =egd6fC ] D ^ 5 sh

396 if field: 2zkd * wdxdPfzdE g F G H I J a p q IdTcQfs , t - Z qhAke / ~daeXfceL h M N O P Q b u v le+cYfx ; y = 2 rhBkf @ %e'e5f)eS i T U V W X c z A =egd6fC ] D ^ 5 sh

397 additional_field_schema = get_schema_from_model_field( 2d * wdxdPfzdE g F G H I J p q IdTcQfs t e / ~daeXfceL h M N O P Q u v le+cYfx y f @ %e'e5f)eS i T U V W X z A =egd6fC D

398 field=field, 

399 model_name_map=model_name_map, 

400 field_mapping=field_mapping, 

401 separate_input_output_schemas=separate_input_output_schemas, 

402 ) 

403 media_type = route_response_media_type or "application/json" 2d * wdxdPfzdE g F G H I J p q IdTcQfs t e / ~daeXfceL h M N O P Q u v le+cYfx y f @ %e'e5f)eS i T U V W X z A =egd6fC D

404 additional_schema = ( 2d * wdxdPfzdE g F G H I J p q IdTcQfs t e / ~daeXfceL h M N O P Q u v le+cYfx y f @ %e'e5f)eS i T U V W X z A =egd6fC D

405 process_response.setdefault("content", {}) 

406 .setdefault(media_type, {}) 

407 .setdefault("schema", {}) 

408 ) 

409 deep_dict_update(additional_schema, additional_field_schema) 2d * wdxdPfzdE g F G H I J p q IdTcQfs t e / ~daeXfceL h M N O P Q u v le+cYfx y f @ %e'e5f)eS i T U V W X z A =egd6fC D

410 status_text: str | None = status_code_ranges.get( 2zkd * wdxdPfzdE g F G H I J a p q IdTcQfs , t - Z qhAke / ~daeXfceL h M N O P Q b u v le+cYfx ; y = 2 rhBkf @ %e'e5f)eS i T U V W X c z A =egd6fC ] D ^ 5 sh

411 str(additional_status_code).upper() 

412 ) or http.client.responses.get(int(additional_status_code)) 

413 description = ( 2d * wdxdPfzdE g F G H I J a p q IdTcQfs , t - Z qhe / ~daeXfceL h M N O P Q b u v le+cYfx ; y = 2 rhf @ %e'e5f)eS i T U V W X c z A =egd6fC ] D ^ 5 sh

414 process_response.get("description") 

415 or openapi_response.get("description") 

416 or status_text 

417 or "Additional Response" 

418 ) 

419 deep_dict_update(openapi_response, process_response) 2d * wdxdPfzdE g F G H I J a p q IdTcQfs , t - Z qhe / ~daeXfceL h M N O P Q b u v le+cYfx ; y = 2 rhf @ %e'e5f)eS i T U V W X c z A =egd6fC ] D ^ 5 sh

420 openapi_response["description"] = description 2d * wdxdPfzdE g F G H I J a p q IdTcQfs , t - Z qhe / ~daeXfceL h M N O P Q b u v le+cYfx ; y = 2 rhf @ %e'e5f)eS i T U V W X c z A =egd6fC ] D ^ 5 sh

421 http422 = "422" 2%f`gTjd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'je / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

422 all_route_params = get_flat_params(route.dependant) 2%f`gTjd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'je / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

423 if (all_route_params or route.body_field) and not any( 2%f`gTjd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'je / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

424 status in operation["responses"] 

425 for status in [http422, "4XX", "default"] 

426 ): 

427 operation["responses"][http422] = { 2%f`gd vdydic'fAd+ Jc(fE g F G H I J ocKc)fa Bd*f+fCdLcK ,fMcp q DdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcScr (b)b*bJdj _fs , t - Z `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 UcVcKdag! LdMdNdOdPdQdgbRdSdhbRfWcTdXcYcUdVdWdXdbgYd_b`bjcucvcwcZck $bZdnhxc0d1d2d3d4d5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib_dUfVfWf`d{d3c4c5ckhjbkblbmbnb+b6b3b6c7c0 1 |dig. jgkglg7bmgahe }dbekcngde: 8cogL h M N O P Q qc9cpgb eeqgrgfe!cR sg#cu v geDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*cw ,b-b.bmel Egx ; y = 2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ ,c-cneKg% oepeqeresetezbueveAbZf.cwe/c:cxeyezeAeLgBeacbclczcAcBc;cm %bCeohCcDeEeFeGeHeIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb8e2f3f4f9e!e[c]c^clhCbDbEbFbGb/b8b4b_c`c3 4 #eSg? TgUgVg9bWgfhf $e(emcXg*e[ {cYgS i T U V W X sc|cZgc +e0g1g,e}cY 2g~cz A -eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfdB :b;b=b?en 'gC ] D ^ 5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( hdid@e-g) [e]e^e_e`e{eSb|e}eTb7fjd~ekdldafbfcfdf.gefgchcncEcFcGcmdo 'bffphHcgfhfifjfkflfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbLf!f#f$fMfNfqdrdsdmhVbWbXbYbZb?b!b5btdud6 7 Of[g_ ]g^g_g#b

428 "description": "Validation Error", 

429 "content": { 

430 "application/json": { 

431 "schema": {"$ref": REF_PREFIX + "HTTPValidationError"} 

432 } 

433 }, 

434 } 

435 if "ValidationError" not in definitions: 2%f`gd vdydic'fAd+ Jc(fE g F G H I J ocKc)fa Bd*f+fCdLcK ,fMcp q DdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcScr (b)b*bJdj _fs , t - Z `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 UcVcKdag! LdMdNdOdPdQdgbRdSdhbRfWcTdXcYcUdVdWdXdbgYd_b`bjcucvcwcZck $bZdnhxc0d1d2d3d4d5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib_dUfVfWf`d{d3c4c5ckhjbkblbmbnb+b6b3b6c7c0 1 |dig. jgkglg7bmgahe }dbekcngde: 8cogL h M N O P Q qc9cpgb eeqgrgfe!cR sg#cu v geDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*cw ,b-b.bmel Egx ; y = 2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ ,c-cneKg% oepeqeresetezbueveAbZf.cwe/c:cxeyezeAeLgBeacbclczcAcBc;cm %bCeohCcDeEeFeGeHeIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb8e2f3f4f9e!e[c]c^clhCbDbEbFbGb/b8b4b_c`c3 4 #eSg? TgUgVg9bWgfhf $e(emcXg*e[ {cYgS i T U V W X sc|cZgc +e0g1g,e}cY 2g~cz A -eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfdB :b;b=b?en 'gC ] D ^ 5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( hdid@e-g) [e]e^e_e`e{eSb|e}eTb7fjd~ekdldafbfcfdf.gefgchcncEcFcGcmdo 'bffphHcgfhfifjfkflfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbLf!f#f$fMfNfqdrdsdmhVbWbXbYbZb?b!b5btdud6 7 Of[g_ ]g^g_g#b

436 definitions.update( 2%f`gd vdydic'fAd+ Jc(fE g F G H I J ocKc)fa Bd*f+fCdLcK ,fMcp q DdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcScr (b)b*bJdj _fs , t - Z `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 UcVcKdag! LdMdNdOdPdQdgbRdSdhbRfWcTdXcYcUdVdWdXdbgYd_b`bjcucvcwcZck $bZdnhxc0d1d2d3d4d5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib_dUfVfWf`d{d3c4c5ckhjbkblbmbnb+b6b3b6c7c0 1 |dig. jgkglg7bmgahe }dbekcngde: 8cogL h M N O P Q qc9cpgb eeqgrgfe!cR sg#cu v geDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*cw ,b-b.bmel Egx ; y = 2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ ,c-cneKg% oepeqeresetezbueveAbZf.cwe/c:cxeyezeAeLgBeacbclczcAcBc;cm %bCeohCcDeEeFeGeHeIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb8e2f3f4f9e!e[c]c^clhCbDbEbFbGb/b8b4b_c`c3 4 #eSg? TgUgVg9bWgfhf $e(emcXg*e[ {cYgS i T U V W X sc|cZgc +e0g1g,e}cY 2g~cz A -eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfdB :b;b=b?en 'gC ] D ^ 5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( hdid@e-g) [e]e^e_e`e{eSb|e}eTb7fjd~ekdldafbfcfdf.gefgchcncEcFcGcmdo 'bffphHcgfhfifjfkflfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbLf!f#f$fMfNfqdrdsdmhVbWbXbYbZb?b!b5btdud6 7 Of[g_ ]g^g_g#b

437 { 

438 "ValidationError": validation_error_definition, 

439 "HTTPValidationError": validation_error_response_definition, 

440 } 

441 ) 

442 if route.openapi_extra: 2%f`gTjd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'je / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

443 deep_dict_update(operation, route.openapi_extra) 2Mcbjkjljmj#cqjzjAjBj~cFjOjPjQj

444 path[method.lower()] = operation 2%f`gTjd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'je / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

445 return path, security_schemes, definitions 2%f`gTjd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'je / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

446 

447 

448def get_fields_from_routes( 2IkLkJkKk

449 routes: Sequence[BaseRoute], 

450) -> list[ModelField]: 

451 body_fields_from_routes: list[ModelField] = [] 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

452 responses_from_routes: list[ModelField] = [] 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

453 request_fields_from_routes: list[ModelField] = [] 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

454 callback_flat_models: list[ModelField] = [] 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

455 for route in routes: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

456 if getattr(route, "include_in_schema", None) and isinstance( 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

457 route, routing.APIRoute 

458 ): 

459 if route.body_field: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

460 assert isinstance(route.body_field, ModelField), ( 2%f`g'f+ (fE g F G H I J oc)f*f+fK ,fp q {g-f.f/f:f;f=f|g}g?f@f[f]f^fr (b)b*bj _f`f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 ag! gbhbRfTdXcYcbgZck $bZdnhxc0d1dcg~gdgSfTfegfggghgib_dUfVfWfjbkblbmbnb+b6b3b6c7c0 1 ig. jgkglg7bmgahng: ogL h M N O P Q qcpgqgrgR sgu v bhtgugvgwgxgygchdhzgAgBgCgDgw ,b-b.bl EgFgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ Kg% zbAbZfwe/c:cLg;cm %bCeohCcDeEeMgehNg0f1fOgPgQgRgBb8e2f3f4fCbDbEbFbGb/b8b4b_c`c3 4 Sg? TgUgVg9bWgfhXg[ YgS i T U V W X scZg0g1gY 2gz A gh3g4g5g6g7g8ghhih9g!g#g$g%gB :b;b=bn 'g(g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( -g) SbTb7f~ekdld.gmdo 'bffphHcgfhf/gjh:g8f9f;g=g?g@gUbLf!f#f$fVbWbXbYbZb?b!b5btdud6 7 [g_ ]g^g_g#b

461 "A request body must be a Pydantic Field" 

462 ) 

463 body_fields_from_routes.append(route.body_field) 2%f`g'f+ (fE g F G H I J oc)f*f+fK ,fp q {g-f.f/f:f;f=f|g}g?f@f[f]f^fr (b)b*bj _f`f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 ag! gbhbRfTdXcYcbgZck $bZdnhxc0d1dcg~gdgSfTfegfggghgib_dUfVfWfjbkblbmbnb+b6b3b6c7c0 1 ig. jgkglg7bmgahng: ogL h M N O P Q qcpgqgrgR sgu v bhtgugvgwgxgygchdhzgAgBgCgDgw ,b-b.bl EgFgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ Kg% zbAbZfwe/c:cLg;cm %bCeohCcDeEeMgehNg0f1fOgPgQgRgBb8e2f3f4fCbDbEbFbGb/b8b4b_c`c3 4 Sg? TgUgVg9bWgfhXg[ YgS i T U V W X scZg0g1gY 2gz A gh3g4g5g6g7g8ghhih9g!g#g$g%gB :b;b=bn 'g(g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( -g) SbTb7f~ekdld.gmdo 'bffphHcgfhf/gjh:g8f9f;g=g?g@gUbLf!f#f$fVbWbXbYbZb?b!b5btdud6 7 [g_ ]g^g_g#b

464 if route.response_field: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

465 responses_from_routes.append(route.response_field) 2ic4izd5i6iJcE g F G H I J KcLcp q 7i1i8i9idjj s , t - 8 9 !i! RfWc#ijjTdXcYcZck Zdnhxc0d1d_dUfVfWf3c4c5c6b3b6c7c0 1 . kc$ice%i'i8cL h M N O P Q 9c!cu v (i2i)i*isjl x ; y = # $ +i% Zf.c,iyjwe/c:c;cm CeohCcDeEe8e2f3f4f[c]c^c8b4b_c`c3 4 ? mc-i)e.i/i{cS i T U V W X |c}cz A :i3i;i=iHjn C ] D ^ ' ( ?i) 7fjd@iNj~ekdldmdo ffphHcgfhfLf!f#f$fqdrdsd!b5btdud6 7 _

466 if route.response_fields: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

467 responses_from_routes.extend(route.response_fields.values()) 2d * wdxdPfzdE g F G H I J p q IdTcQfs t e / ~daeXfceL h M N O P Q u v le+cYfx y f @ %e'e5f)eS i T U V W X z A =egd6fC D

468 if route.callbacks: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

469 callback_flat_models.extend(get_fields_from_routes(route.callbacks)) 1dgajkehblmficno

470 params = get_flat_params(route.dependant) 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

471 request_fields_from_routes.extend(params) 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g#b

472 

473 flat_models = callback_flat_models + list( 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

474 body_fields_from_routes + responses_from_routes + request_fields_from_routes 

475 ) 

476 return flat_models 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

477 

478 

479def get_openapi( 2IkLkJkKk

480 *, 

481 title: str, 

482 version: str, 

483 openapi_version: str = "3.1.0", 

484 summary: str | None = None, 

485 description: str | None = None, 

486 routes: Sequence[BaseRoute], 

487 webhooks: Sequence[BaseRoute] | None = None, 

488 tags: list[dict[str, Any]] | None = None, 

489 servers: list[dict[str, str | Any]] | None = None, 

490 terms_of_service: str | None = None, 

491 contact: dict[str, str | Any] | None = None, 

492 license_info: dict[str, str | Any] | None = None, 

493 separate_input_output_schemas: bool = True, 

494 external_docs: dict[str, Any] | None = None, 

495) -> dict[str, Any]: 

496 info: dict[str, Any] = {"title": title, "version": version} 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

497 if summary: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

498 info["summary"] = summary 2[iViWi_iXiYi|iZi0i

499 if description: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

500 info["description"] = description 2[iViWi_iXiYi|iZi0i

501 if terms_of_service: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

502 info["termsOfService"] = terms_of_service 2ViWiXiYiZi0i

503 if contact: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

504 info["contact"] = contact 2ViWiXiYiZi0i

505 if license_info: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

506 info["license"] = license_info 2ViWiXiYiZi0i

507 output: dict[str, Any] = {"openapi": openapi_version, "info": info} 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

508 if servers: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

509 output["servers"] = servers 2ajcjejfjgjhjojpjrjtjujvjwjDjEjGjIjJjKjLjSj

510 components: dict[str, dict[str, Any]] = {} 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

511 paths: dict[str, dict[str, Any]] = {} 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

512 webhook_paths: dict[str, dict[str, Any]] = {} 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

513 operation_ids: set[str] = set() 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

514 all_fields = get_fields_from_routes(list(routes or []) + list(webhooks or [])) 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

515 flat_models = get_flat_models_from_fields(all_fields, known_models=set()) 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

516 model_name_map = get_model_name_map(flat_models) 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

517 field_mapping, definitions = get_definitions( 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

518 fields=all_fields, 

519 model_name_map=model_name_map, 

520 separate_input_output_schemas=separate_input_output_schemas, 

521 ) 

522 for route in routes or []: 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

523 if isinstance(route, routing.APIRoute): 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

524 result = get_openapi_path( 2%f`gTjzkd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglgmgah'jAke / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVgWgfh}jBkf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g

525 route=route, 

526 operation_ids=operation_ids, 

527 model_name_map=model_name_map, 

528 field_mapping=field_mapping, 

529 separate_input_output_schemas=separate_input_output_schemas, 

530 ) 

531 if result: 2%f`gTjd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglgmgah'je / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVgWgfh}jf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g

532 path, security_schemes, path_definitions = result 2%f`gTjd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglgmgah'je / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVgWgfh}jf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g

533 if path: 2%f`gTjd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglgmgah'je / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVgWgfh}jf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g

534 paths.setdefault(route.path_format, {}).update(path) 2%f`gTjd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglgmgah'je / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVgWgfh}jf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g

535 if security_schemes: 2%f`gTjd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglgmgah'je / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVgWgfh}jf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g

536 components.setdefault("securitySchemes", {}).update( 2FhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6h7h8h9h!h+b6b3b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidieifigihi/b8b4biijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLiMiNiOiPi?b!b5bQiRi

537 security_schemes 

538 ) 

539 if path_definitions: 2%f`gTjd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]ik $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 #joj$j%j|dig. jgkglgmgah'je / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`im %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 `jDj{j|j#eSg? TgUgVgWgfh}jf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}io 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 qkSjrkskOf[g_ ]g^g_g

540 definitions.update(path_definitions) 2%f`gd vdydic'fAd+ Jc(fE g F G H I J ocKc)fa Bd*f+fCdLcK ,fMcp q DdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcScr (b)b*bJdj _fs , t - Z `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 UcVcKdag! LdMdNdOdPdQdgbRdSdhbRfWcTdXcYcUdVdWdXdbgYd_b`bjcucvcwcZck Zdnhxc0d1d2d3d4d5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib_dUfVfWf`d{d3c4c5ckhjbkblbmbnb+b6b3b6c7c0 1 |dig. jgkglgmgahe }dbekcngde: 8cogL h M N O P Q qc9cpgb eeqgrgfe!cR sg#cu v geDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*cw ,b-b.bmel Egx ; y = 2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ ,c-cneKg% oepeqeresetezbueveAbZf.cwe/c:cxeyezeAeLgBeacbclczcAcBc;cm CeohCcDeEeFeGeHeIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb8e2f3f4f9e!e[c]c^clhCbDbEbFbGb/b8b4b_c`c3 4 #eSg? TgUgVgWgfhf $e(emcXg*e[ {cYgS i T U V W X sc|cZgc +e0g1g,e}cY 2g~cz A -eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfdB :b;b=b?en 'gC ] D ^ 5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( hdid@e-g) [e]e^e_e`e{eSb|e}eTb7fjd~ekdldafbfcfdf.gefgchcncEcFcGcmdo ffphHcgfhfifjfkflfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbLf!f#f$fMfNfqdrdsdmhVbWbXbYbZb?b!b5btdud6 7 Of[g_ ]g^g_g

541 for webhook in webhooks or []: 2%f`gTjd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'je / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

542 if isinstance(webhook, routing.APIRoute): 2$b7b%b9b'b#b

543 result = get_openapi_path( 2$b7b%b9b'b#b

544 route=webhook, 

545 operation_ids=operation_ids, 

546 model_name_map=model_name_map, 

547 field_mapping=field_mapping, 

548 separate_input_output_schemas=separate_input_output_schemas, 

549 ) 

550 if result: 2$b7b%b9b'b#b

551 path, security_schemes, path_definitions = result 2$b7b%b9b'b#b

552 if path: 2$b7b%b9b'b#b

553 webhook_paths.setdefault(webhook.path_format, {}).update(path) 2$b7b%b9b'b#b

554 if security_schemes: 2$b7b%b9b'b#b

555 components.setdefault("securitySchemes", {}).update( 27b9b#b

556 security_schemes 

557 ) 

558 if path_definitions: 2$b7b%b9b'b#b

559 definitions.update(path_definitions) 2$b7b%b9b'b#b

560 if definitions: 2%f`gTjd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'je / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

561 components["schemas"] = {k: definitions[k] for k in sorted(definitions)} 2%f`gd * vdwdxdPfydic4izd5i'f6iAd+ Jc(fE g F G H I J ocKc)fa Bd*f+fCdLcK ,fMcp q DdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9i(b)b*bJdj _fs , t - Z `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 UcVcKdag!i! LdMdNdOdPdQdgbRdSdhbRfWc#iTdXcYcUdVdWdXdbgYd_b`bjcucvcwcZck $bZdnhxc0d1d2d3d4d5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib_dUfVfWf`d{d3c4c5ckhjbkblbmbnb+b6b3b6c7c0 1 |dig. jgkglg7bmgahe / }d~daeXfbekc$ice%ing'ide: 8cogL h M N O P Q qc9cpgb eeqgrgfe!cR sg#cu v geDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i,b-b.bmel Egx ; y = 2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ ,c-cneKg+i% oepeqeresetezbueveAbZf.c,iwe/c:cxeyezeAeLgBeacbclczcAcBc;cm %bCeohCcDeEeFeGeHeIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb8e2f3f4f9e!e[c]c^clhCbDbEbFbGb/b8b4b_c`c3 4 #eSg? TgUgVg9bWgfhf @ $e%e'e5f(emc-i)e.iXg/i*e[ {cYgS i T U V W X sc|cZgc +e0g1g,e}cY 2g~cz A -eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =i:b;b=b?en 'gC ] D ^ 5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( hdid@e-g?i) [e]e^e_e`e{eSb|e}eTb7fjd@i~ekdldafbfcfdf.gefgchcncEcFcGcmdo 'bffphHcgfhfifjfkflfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbLf!f#f$fMfNfqdrdsdmhVbWbXbYbZb?b!b5btdud6 7 Of[g_ ]g^g_g#b

562 if components: 2%f`gTjd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'je / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

563 output["components"] = components 2%f`gd * vdwdxdPfydic4izd5i'f6iAd+ Jc(fE g F G H I J ocKc)fa Bd*f+fCdLcK ,fMcp q DdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJdj 7h_fs , t - 8hZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 UcVcKdag!i! LdMdNdOdPdQdgbRdSdhbRfWc#iTdXcYcUdVdWdXdbgYd_b`bjcucvcwcZck $bZdnhxc0d1d2d3d4d5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib_dUfVfWf`d{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c0 1 |dig. jgkglg7bmgahe / }d~daeXfbekc$ice%ing'ide: 8cogL h M N O P Q qc9cpgb eeqgrgfe!cR sg#cu v geDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimel eiEgx ; y = fi2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ ,c-cneKg+i% oepeqeresetezbueveAbZf.c,iwe/c:cxeyezeAeLgBeacbclczcAcBc;cm %bCeohCcDeEeFeGeHeIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb8e2f3f4f9e!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c3 4 #eSg? TgUgVg9bWgfhf @ $e%e'e5f(emc-i)e.iXg/i*e[ {cYgS i T U V W X sc|cZgc +e0g1g,e}cY 2g~cz A -eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?en Mi'gC ] D ^ Ni5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( hdid@e-g?i) [e]e^e_e`e{eSb|e}eTb7fjd@i~ekdldafbfcfdf.gefgchcncEcFcGcmdo 'bffphHcgfhfifjfkflfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbLf!f#f$fMfNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdud6 7 Of[g_ ]g^g_g#b

564 output["paths"] = paths 2%f`gTjd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'je / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

565 if webhook_paths: 2%f`gTjd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'je / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

566 output["webhooks"] = webhook_paths 2$b7b%b9b'b#b

567 if tags: 2%f`gTjd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'je / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

568 output["tags"] = tags 2]i`i}i

569 if external_docs: 2%f`gTjd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'je / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b

570 output["externalDocs"] = external_docs 2ickcmc

571 return jsonable_encoder(OpenAPI(**output), by_alias=True, exclude_none=True) # type: ignore 2%f`gTjd * vdwdxdPfydic4izdUj5i'faj6iAd+ Jc(fE g F G H I J ocVjKc)fa Bd*f+fCdLcK ,fMcbjp q cjDdChEd{gFdpcGdth-f.f/f:f;fNcOc=f|g}g?f@f[f]f^f@b[b]b^bHdPcQcRcSc7iIdTc1iQf8ir 9iFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh(b0h1hwhxh)b*b2h3h4h5h6hJddjj 7h_fs , t - 8hejfjgjhjZ `f{f` { | 0b} ~ abbbcbdbebfb|f}f~f8 9 WjUcVcKdXjYjijtkZjwkCkag!i! 0jLdMdNdOdPdQdgbRd1jSd[ihbRfWc#ijj2jTdXcYcqhUdVdWdXdbgYd_b`bjcucvcwcZcViWi3j4j]iMkk $b5j6jFkZdkjljmjnhxcnj0d1d^i2d3d4d7j5d6d7d8d9d!d#d0c1c$d%d'd(d)d*d+d,d-d.d/d:d;d=d2c?dyc@d[d]dSi^dcg~gdgSfTfegfggghgib8j_dUfVfWf`d9j{d3c4c5ckhjbkblbmbnb9h!h+b6b3b#h$h6c7c!j0 1 Nk#joj$j%j|dig. jgkglg7bmgah'je / }d~daeXfbekc$ice(j%ingpj'ide: 8cogL h M N O P Q qc)j9cpgb eeqgrgfe!cR sg#cqju v rjgeDhhebhiercjeuhtgugvgwgxg$c%cygchdhzgAgBgCgDg{b|b}b~bke'c(c)c*c(ile+c2iYf)iw *i%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h_h`h{h,b|h}hyhzh-b.b~haibicidimesjl eiEgx ; y = fitjujvjwj2 FgGgobpbqb1brbsbtbubvbwbxbybHgIgJg# $ *j,c-cne+j,jxjuk-jxkDkKg+i% .joepeqeresetezbue/jve_iAbZf.c,iyj:jwe/c:crhxeyezeAeLgBeacbclczcAcBc;cXiYi;j=j`iOkm %b?j@jGkCezjAjBjohCcCjDeEe{iFeGeHe[jIeJeKeLeMeNeOe=c?cPeQeReSeTeUeVeWeXeYeZe0e1e2e@c3eDc4e5e6eTi7eMgehNg0f1fOgPgQgRgBb]j8e2f3f4f9e^j!e[c]c^clhCbDbEbFbGbgihi/b8b4biiji_c`c_j3 4 Pk`jDj{j|j#eSg? TgUgVg9bWgfh}jf @ $e%e'e5f(emc-i)e~j.iXgEj/i*e[ {cYgS i T U V W X scak|cZgc +e0g1g,e}cY 2g~cFjz A Gj-eEh.egh/etc:evh3g4g5g6g7gadbd8ghhih9g!g#g$g%gccdcecfc;ecdddedfd:i=egd3i6f;iB =ikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEi:bFiGiAhBh;b=bHiIiJiKiLi?eHjn Mi'gC ] D ^ NiIjJjKjLj5 (g)gHbIbJb2bKbLbMbNbObPbQbRb*g+g,g' ( bkhdid@eckdkMjvkekykEk-g?i) fk[e]e^e_e`e{eSb|egk}e|iTb7fjd@iNjhk~ekdldshafbfcfdf.gefgchcncEcFcGcmdZi0iikjk}iQko 'bkklkHkffOjPjQjphHcRjgfhf~iifjfkfmklfmfnfofpfqfrfndodsftfufvfwfxfyfzfAfBfCfDfEfFfpdGfIcHfIfJfUiKf/gjh:g8f9f;g=g?g@gUbnkLf!f#f$fMfokNfqdrdsdmhVbWbXbYbZbOiPi?b!b5bQiRitdudpk6 7 RkqkSjrkskOf[g_ ]g^g_g#b