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

259 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2025-03-10 12:31 +0000

1import http.client 2SoToUoVoWoXo

2import inspect 2SoToUoVoWoXo

3import warnings 2SoToUoVoWoXo

4from typing import Any, Dict, List, Optional, Sequence, Set, Tuple, Type, Union, cast 2SoToUoVoWoXo

5 

6from fastapi import routing 2SoToUoVoWoXo

7from fastapi._compat import ( 2SoToUoVoWoXo

8 GenerateJsonSchema, 

9 JsonSchemaValue, 

10 ModelField, 

11 Undefined, 

12 get_compat_model_name_map, 

13 get_definitions, 

14 get_schema_from_model_field, 

15 lenient_issubclass, 

16) 

17from fastapi.datastructures import DefaultPlaceholder 2SoToUoVoWoXo

18from fastapi.dependencies.models import Dependant 2SoToUoVoWoXo

19from fastapi.dependencies.utils import ( 2SoToUoVoWoXo

20 _get_flat_fields_from_params, 

21 get_flat_dependant, 

22 get_flat_params, 

23) 

24from fastapi.encoders import jsonable_encoder 2SoToUoVoWoXo

25from fastapi.openapi.constants import METHODS_WITH_BODY, REF_PREFIX, REF_TEMPLATE 2SoToUoVoWoXo

26from fastapi.openapi.models import OpenAPI 2SoToUoVoWoXo

27from fastapi.params import Body, ParamTypes 2SoToUoVoWoXo

28from fastapi.responses import Response 2SoToUoVoWoXo

29from fastapi.types import ModelNameMap 2SoToUoVoWoXo

30from fastapi.utils import ( 2SoToUoVoWoXo

31 deep_dict_update, 

32 generate_operation_id_for_path, 

33 is_body_allowed_for_status_code, 

34) 

35from starlette.responses import JSONResponse 2SoToUoVoWoXo

36from starlette.routing import BaseRoute 2SoToUoVoWoXo

37from starlette.status import HTTP_422_UNPROCESSABLE_ENTITY 2SoToUoVoWoXo

38from typing_extensions import Literal 2SoToUoVoWoXo

39 

40validation_error_definition = { 2SoToUoVoWoXo

41 "title": "ValidationError", 

42 "type": "object", 

43 "properties": { 

44 "loc": { 

45 "title": "Location", 

46 "type": "array", 

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

48 }, 

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

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

51 }, 

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

53} 

54 

55validation_error_response_definition = { 2SoToUoVoWoXo

56 "title": "HTTPValidationError", 

57 "type": "object", 

58 "properties": { 

59 "detail": { 

60 "title": "Detail", 

61 "type": "array", 

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

63 } 

64 }, 

65} 

66 

67status_code_ranges: Dict[str, str] = { 2SoToUoVoWoXo

68 "1XX": "Information", 

69 "2XX": "Success", 

70 "3XX": "Redirection", 

71 "4XX": "Client Error", 

72 "5XX": "Server Error", 

73 "DEFAULT": "Default Response", 

74} 

75 

76 

77def get_openapi_security_definitions( 2SoToUoVoWoXo

78 flat_dependant: Dependant, 

79) -> Tuple[Dict[str, Any], List[Dict[str, Any]]]: 

80 security_definitions = {} 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

81 operation_security = [] 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

82 for security_requirement in flat_dependant.security_requirements: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

83 security_definition = jsonable_encoder( 2HjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8j9j7cSc!jTc#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbkck#cUcdkVcekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFkGk(cWcHkXcIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9k!k,cYc#kZc$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcldl:c0cel1cflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlHl@c2cIl3c

84 security_requirement.security_scheme.model, 

85 by_alias=True, 

86 exclude_none=True, 

87 ) 

88 security_name = security_requirement.security_scheme.scheme_name 2HjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8j9j7cSc!jTc#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbkck#cUcdkVcekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFkGk(cWcHkXcIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9k!k,cYc#kZc$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcldl:c0cel1cflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlHl@c2cIl3c

89 security_definitions[security_name] = security_definition 2HjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8j9j7cSc!jTc#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbkck#cUcdkVcekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFkGk(cWcHkXcIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9k!k,cYc#kZc$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcldl:c0cel1cflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlHl@c2cIl3c

90 operation_security.append({security_name: security_requirement.scopes}) 2HjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8j9j7cSc!jTc#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbkck#cUcdkVcekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFkGk(cWcHkXcIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9k!k,cYc#kZc$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcldl:c0cel1cflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlHl@c2cIl3c

91 return security_definitions, operation_security 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

92 

93 

94def _get_openapi_operation_parameters( 2SoToUoVoWoXo

95 *, 

96 dependant: Dependant, 

97 schema_generator: GenerateJsonSchema, 

98 model_name_map: ModelNameMap, 

99 field_mapping: Dict[ 

100 Tuple[ModelField, Literal["validation", "serialization"]], JsonSchemaValue 

101 ], 

102 separate_input_output_schemas: bool = True, 

103) -> List[Dict[str, Any]]: 

104 parameters = [] 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

105 flat_dependant = get_flat_dependant(dependant, skip_repeats=True) 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

106 path_params = _get_flat_fields_from_params(flat_dependant.path_params) 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

107 query_params = _get_flat_fields_from_params(flat_dependant.query_params) 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

108 header_params = _get_flat_fields_from_params(flat_dependant.header_params) 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

109 cookie_params = _get_flat_fields_from_params(flat_dependant.cookie_params) 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

110 parameter_groups = [ 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

111 (ParamTypes.path, path_params), 

112 (ParamTypes.query, query_params), 

113 (ParamTypes.header, header_params), 

114 (ParamTypes.cookie, cookie_params), 

115 ] 

116 for param_type, param_group in parameter_groups: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

117 for param in param_group: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

118 field_info = param.field_info 2g Rbqfrf|ctfSb]d^da wfzfTb_dAfvjBfCfDfpjbbFfs W UbX VbWb@bGc[btbub{d|dJfvbwbLfMfNfOfPfQf]b}dRfSfTfUfWf~daeXfYfZft 0f1fbece2f3fJd4f5f6fwj7f(f)fheieje^b_b`b{bcbdbi Xb-f.fcd:fYbkeleb ?f]fZbme^fxj_f`f{fqjeb}fu 4 0b5 1b2b|bHc}bxbyboepecgzbAbegfggghgigjg~bqekglgmgngpgreseqgrgsgv tgugteuevgwgSdxgygzgyjAgIgJgzeAeBeacbcccdcfbgbk 3bNgOghdQg4bCeDec TgWg5bEeXgzjYgZg0g1grjhb3gw $ 6b% 7b8becIcfcBbCbGeHe7gDbEb9g!g#g$g%g'ggcIe(g)g*g+g-gJeKe.g/g:gx ;g=gLeMe?g@g1d[g]g^gAj_gchdhSeTeUehcicjckcibjbm 9bhhihmdkh!bVeWed nhqh#bXerhBjshthuhvhsjkbxhy - $b. %b'blcJcmcFbGbZe0eBhHbIbDhEhFhGhHhIhnc1eJhKhLhMhOh2e3ePhQhRhz ShTh4e5eUhVh!dWhXhYhCjZh7h8h#e$e%eocpcqcrclbmbo (b$h%hrd(h)b'e(ee +h.h*b)e/hDj:h;h=h?htjnb[hA [ +b] ,b-bscKctcJbKb+e,e`hLbMb|h}h~haibiciuc-edieifigiii.e/ejikiliB mini:e;eoipi,dqirisiEjtiBiCi^e_e`evcwcxcycobpbq .bGiHiwdJi/b{e|ef MiPi:b}eQiFjRiSiTiUiujqbWiC ~ ;bab=b?bzcLcAcNbObafbf0iPbQb2i3i4i5i6i7iBccf8i9i!i#i%idfef'i(i)iD *i+iffgf,i-i[d.i/i:iGj;i`i{imfnfofCcDcEcFcrbsb

119 # field_info = cast(Param, field_info) 

120 if not getattr(field_info, "include_in_schema", True): 2g Rbqfrf|ctfSb]d^da wfzfTb_dAfvjBfCfDfpjbbFfs W UbX VbWb@bGc[btbub{d|dJfvbwbLfMfNfOfPfQf]b}dRfSfTfUfWf~daeXfYfZft 0f1fbece2f3fJd4f5f6fwj7f(f)fheieje^b_b`b{bcbdbi Xb-f.fcd:fYbkeleb ?f]fZbme^fxj_f`f{fqjeb}fu 4 0b5 1b2b|bHc}bxbyboepecgzbAbegfggghgigjg~bqekglgmgngpgreseqgrgsgv tgugteuevgwgSdxgygzgyjAgIgJgzeAeBeacbcccdcfbgbk 3bNgOghdQg4bCeDec TgWg5bEeXgzjYgZg0g1grjhb3gw $ 6b% 7b8becIcfcBbCbGeHe7gDbEb9g!g#g$g%g'ggcIe(g)g*g+g-gJeKe.g/g:gx ;g=gLeMe?g@g1d[g]g^gAj_gchdhSeTeUehcicjckcibjbm 9bhhihmdkh!bVeWed nhqh#bXerhBjshthuhvhsjkbxhy - $b. %b'blcJcmcFbGbZe0eBhHbIbDhEhFhGhHhIhnc1eJhKhLhMhOh2e3ePhQhRhz ShTh4e5eUhVh!dWhXhYhCjZh7h8h#e$e%eocpcqcrclbmbo (b$h%hrd(h)b'e(ee +h.h*b)e/hDj:h;h=h?htjnb[hA [ +b] ,b-bscKctcJbKb+e,e`hLbMb|h}h~haibiciuc-edieifigiii.e/ejikiliB mini:e;eoipi,dqirisiEjtiBiCi^e_e`evcwcxcycobpbq .bGiHiwdJi/b{e|ef MiPi:b}eQiFjRiSiTiUiujqbWiC ~ ;bab=b?bzcLcAcNbObafbf0iPbQb2i3i4i5i6i7iBccf8i9i!i#i%idfef'i(i)iD *i+iffgf,i-i[d.i/i:iGj;i`i{imfnfofCcDcEcFcrbsb

121 continue 2vjwjxjyjzjAjBjCjDjEjFjGj

122 param_schema = get_schema_from_model_field( 2g Rbqfrf|ctfSb]d^da wfzfTb_dAfBfCfDfpjbbFfs W UbX VbWb@bGc[btbub{d|dJfvbwbLfMfNfOfPfQf]b}dRfSfTfUfWf~daeXfYfZft 0f1fbece2f3fJd4f5f6f7f(f)fheieje^b_b`b{bcbdbi Xb-f.fcd:fYbkeleb ?f]fZbme^f_f`f{fqjeb}fu 4 0b5 1b2b|bHc}bxbyboepecgzbAbegfggghgigjg~bqekglgmgngpgreseqgrgsgv tgugteuevgwgSdxgygzgAgIgJgzeAeBeacbcccdcfbgbk 3bNgOghdQg4bCeDec TgWg5bEeXgYgZg0g1grjhb3gw $ 6b% 7b8becIcfcBbCbGeHe7gDbEb9g!g#g$g%g'ggcIe(g)g*g+g-gJeKe.g/g:gx ;g=gLeMe?g@g1d[g]g^g_gchdhSeTeUehcicjckcibjbm 9bhhihmdkh!bVeWed nhqh#bXerhshthuhvhsjkbxhy - $b. %b'blcJcmcFbGbZe0eBhHbIbDhEhFhGhHhIhnc1eJhKhLhMhOh2e3ePhQhRhz ShTh4e5eUhVh!dWhXhYhZh7h8h#e$e%eocpcqcrclbmbo (b$h%hrd(h)b'e(ee +h.h*b)e/h:h;h=h?htjnb[hA [ +b] ,b-bscKctcJbKb+e,e`hLbMb|h}h~haibiciuc-edieifigiii.e/ejikiliB mini:e;eoipi,dqirisitiBiCi^e_e`evcwcxcycobpbq .bGiHiwdJi/b{e|ef MiPi:b}eQiRiSiTiUiujqbWiC ~ ;bab=b?bzcLcAcNbObafbf0iPbQb2i3i4i5i6i7iBccf8i9i!i#i%idfef'i(i)iD *i+iffgf,i-i[d.i/i:i;i`i{imfnfofCcDcEcFcrbsb

123 field=param, 

124 schema_generator=schema_generator, 

125 model_name_map=model_name_map, 

126 field_mapping=field_mapping, 

127 separate_input_output_schemas=separate_input_output_schemas, 

128 ) 

129 parameter = { 2g Rbqfrf|ctfSb]d^da wfzfTb_dAfBfCfDfpjbbFfs W UbX VbWb@bGc[btbub{d|dJfvbwbLfMfNfOfPfQf]b}dRfSfTfUfWf~daeXfYfZft 0f1fbece2f3fJd4f5f6f7f(f)fheieje^b_b`b{bcbdbi Xb-f.fcd:fYbkeleb ?f]fZbme^f_f`f{fqjeb}fu 4 0b5 1b2b|bHc}bxbyboepecgzbAbegfggghgigjg~bqekglgmgngpgreseqgrgsgv tgugteuevgwgSdxgygzgAgIgJgzeAeBeacbcccdcfbgbk 3bNgOghdQg4bCeDec TgWg5bEeXgYgZg0g1grjhb3gw $ 6b% 7b8becIcfcBbCbGeHe7gDbEb9g!g#g$g%g'ggcIe(g)g*g+g-gJeKe.g/g:gx ;g=gLeMe?g@g1d[g]g^g_gchdhSeTeUehcicjckcibjbm 9bhhihmdkh!bVeWed nhqh#bXerhshthuhvhsjkbxhy - $b. %b'blcJcmcFbGbZe0eBhHbIbDhEhFhGhHhIhnc1eJhKhLhMhOh2e3ePhQhRhz ShTh4e5eUhVh!dWhXhYhZh7h8h#e$e%eocpcqcrclbmbo (b$h%hrd(h)b'e(ee +h.h*b)e/h:h;h=h?htjnb[hA [ +b] ,b-bscKctcJbKb+e,e`hLbMb|h}h~haibiciuc-edieifigiii.e/ejikiliB mini:e;eoipi,dqirisitiBiCi^e_e`evcwcxcycobpbq .bGiHiwdJi/b{e|ef MiPi:b}eQiRiSiTiUiujqbWiC ~ ;bab=b?bzcLcAcNbObafbf0iPbQb2i3i4i5i6i7iBccf8i9i!i#i%idfef'i(i)iD *i+iffgf,i-i[d.i/i:i;i`i{imfnfofCcDcEcFcrbsb

130 "name": param.alias, 

131 "in": param_type.value, 

132 "required": param.required, 

133 "schema": param_schema, 

134 } 

135 if field_info.description: 2g Rbqfrf|ctfSb]d^da wfzfTb_dAfBfCfDfpjbbFfs W UbX VbWb@bGc[btbub{d|dJfvbwbLfMfNfOfPfQf]b}dRfSfTfUfWf~daeXfYfZft 0f1fbece2f3fJd4f5f6f7f(f)fheieje^b_b`b{bcbdbi Xb-f.fcd:fYbkeleb ?f]fZbme^f_f`f{fqjeb}fu 4 0b5 1b2b|bHc}bxbyboepecgzbAbegfggghgigjg~bqekglgmgngpgreseqgrgsgv tgugteuevgwgSdxgygzgAgIgJgzeAeBeacbcccdcfbgbk 3bNgOghdQg4bCeDec TgWg5bEeXgYgZg0g1grjhb3gw $ 6b% 7b8becIcfcBbCbGeHe7gDbEb9g!g#g$g%g'ggcIe(g)g*g+g-gJeKe.g/g:gx ;g=gLeMe?g@g1d[g]g^g_gchdhSeTeUehcicjckcibjbm 9bhhihmdkh!bVeWed nhqh#bXerhshthuhvhsjkbxhy - $b. %b'blcJcmcFbGbZe0eBhHbIbDhEhFhGhHhIhnc1eJhKhLhMhOh2e3ePhQhRhz ShTh4e5eUhVh!dWhXhYhZh7h8h#e$e%eocpcqcrclbmbo (b$h%hrd(h)b'e(ee +h.h*b)e/h:h;h=h?htjnb[hA [ +b] ,b-bscKctcJbKb+e,e`hLbMb|h}h~haibiciuc-edieifigiii.e/ejikiliB mini:e;eoipi,dqirisitiBiCi^e_e`evcwcxcycobpbq .bGiHiwdJi/b{e|ef MiPi:b}eQiRiSiTiUiujqbWiC ~ ;bab=b?bzcLcAcNbObafbf0iPbQb2i3i4i5i6i7iBccf8i9i!i#i%idfef'i(i)iD *i+iffgf,i-i[d.i/i:i;i`i{imfnfofCcDcEcFcrbsb

136 parameter["description"] = field_info.description 2JdSd1d!d,d[d

137 openapi_examples = getattr(field_info, "openapi_examples", None) 2g Rbqfrf|ctfSb]d^da wfzfTb_dAfBfCfDfpjbbFfs W UbX VbWb@bGc[btbub{d|dJfvbwbLfMfNfOfPfQf]b}dRfSfTfUfWf~daeXfYfZft 0f1fbece2f3fJd4f5f6f7f(f)fheieje^b_b`b{bcbdbi Xb-f.fcd:fYbkeleb ?f]fZbme^f_f`f{fqjeb}fu 4 0b5 1b2b|bHc}bxbyboepecgzbAbegfggghgigjg~bqekglgmgngpgreseqgrgsgv tgugteuevgwgSdxgygzgAgIgJgzeAeBeacbcccdcfbgbk 3bNgOghdQg4bCeDec TgWg5bEeXgYgZg0g1grjhb3gw $ 6b% 7b8becIcfcBbCbGeHe7gDbEb9g!g#g$g%g'ggcIe(g)g*g+g-gJeKe.g/g:gx ;g=gLeMe?g@g1d[g]g^g_gchdhSeTeUehcicjckcibjbm 9bhhihmdkh!bVeWed nhqh#bXerhshthuhvhsjkbxhy - $b. %b'blcJcmcFbGbZe0eBhHbIbDhEhFhGhHhIhnc1eJhKhLhMhOh2e3ePhQhRhz ShTh4e5eUhVh!dWhXhYhZh7h8h#e$e%eocpcqcrclbmbo (b$h%hrd(h)b'e(ee +h.h*b)e/h:h;h=h?htjnb[hA [ +b] ,b-bscKctcJbKb+e,e`hLbMb|h}h~haibiciuc-edieifigiii.e/ejikiliB mini:e;eoipi,dqirisitiBiCi^e_e`evcwcxcycobpbq .bGiHiwdJi/b{e|ef MiPi:b}eQiRiSiTiUiujqbWiC ~ ;bab=b?bzcLcAcNbObafbf0iPbQb2i3i4i5i6i7iBccf8i9i!i#i%idfef'i(i)iD *i+iffgf,i-i[d.i/i:i;i`i{imfnfofCcDcEcFcrbsb

138 example = getattr(field_info, "example", None) 2g Rbqfrf|ctfSb]d^da wfzfTb_dAfBfCfDfpjbbFfs W UbX VbWb@bGc[btbub{d|dJfvbwbLfMfNfOfPfQf]b}dRfSfTfUfWf~daeXfYfZft 0f1fbece2f3fJd4f5f6f7f(f)fheieje^b_b`b{bcbdbi Xb-f.fcd:fYbkeleb ?f]fZbme^f_f`f{fqjeb}fu 4 0b5 1b2b|bHc}bxbyboepecgzbAbegfggghgigjg~bqekglgmgngpgreseqgrgsgv tgugteuevgwgSdxgygzgAgIgJgzeAeBeacbcccdcfbgbk 3bNgOghdQg4bCeDec TgWg5bEeXgYgZg0g1grjhb3gw $ 6b% 7b8becIcfcBbCbGeHe7gDbEb9g!g#g$g%g'ggcIe(g)g*g+g-gJeKe.g/g:gx ;g=gLeMe?g@g1d[g]g^g_gchdhSeTeUehcicjckcibjbm 9bhhihmdkh!bVeWed nhqh#bXerhshthuhvhsjkbxhy - $b. %b'blcJcmcFbGbZe0eBhHbIbDhEhFhGhHhIhnc1eJhKhLhMhOh2e3ePhQhRhz ShTh4e5eUhVh!dWhXhYhZh7h8h#e$e%eocpcqcrclbmbo (b$h%hrd(h)b'e(ee +h.h*b)e/h:h;h=h?htjnb[hA [ +b] ,b-bscKctcJbKb+e,e`hLbMb|h}h~haibiciuc-edieifigiii.e/ejikiliB mini:e;eoipi,dqirisitiBiCi^e_e`evcwcxcycobpbq .bGiHiwdJi/b{e|ef MiPi:b}eQiRiSiTiUiujqbWiC ~ ;bab=b?bzcLcAcNbObafbf0iPbQb2i3i4i5i6i7iBccf8i9i!i#i%idfef'i(i)iD *i+iffgf,i-i[d.i/i:i;i`i{imfnfofCcDcEcFcrbsb

139 if openapi_examples: 2g Rbqfrf|ctfSb]d^da wfzfTb_dAfBfCfDfpjbbFfs W UbX VbWb@bGc[btbub{d|dJfvbwbLfMfNfOfPfQf]b}dRfSfTfUfWf~daeXfYfZft 0f1fbece2f3fJd4f5f6f7f(f)fheieje^b_b`b{bcbdbi Xb-f.fcd:fYbkeleb ?f]fZbme^f_f`f{fqjeb}fu 4 0b5 1b2b|bHc}bxbyboepecgzbAbegfggghgigjg~bqekglgmgngpgreseqgrgsgv tgugteuevgwgSdxgygzgAgIgJgzeAeBeacbcccdcfbgbk 3bNgOghdQg4bCeDec TgWg5bEeXgYgZg0g1grjhb3gw $ 6b% 7b8becIcfcBbCbGeHe7gDbEb9g!g#g$g%g'ggcIe(g)g*g+g-gJeKe.g/g:gx ;g=gLeMe?g@g1d[g]g^g_gchdhSeTeUehcicjckcibjbm 9bhhihmdkh!bVeWed nhqh#bXerhshthuhvhsjkbxhy - $b. %b'blcJcmcFbGbZe0eBhHbIbDhEhFhGhHhIhnc1eJhKhLhMhOh2e3ePhQhRhz ShTh4e5eUhVh!dWhXhYhZh7h8h#e$e%eocpcqcrclbmbo (b$h%hrd(h)b'e(ee +h.h*b)e/h:h;h=h?htjnb[hA [ +b] ,b-bscKctcJbKb+e,e`hLbMb|h}h~haibiciuc-edieifigiii.e/ejikiliB mini:e;eoipi,dqirisitiBiCi^e_e`evcwcxcycobpbq .bGiHiwdJi/b{e|ef MiPi:b}eQiRiSiTiUiujqbWiC ~ ;bab=b?bzcLcAcNbObafbf0iPbQb2i3i4i5i6i7iBccf8i9i!i#i%idfef'i(i)iD *i+iffgf,i-i[d.i/i:i;i`i{imfnfofCcDcEcFcrbsb

140 parameter["examples"] = jsonable_encoder(openapi_examples) 2TbZb5b#b*b:b

141 elif example != Undefined: 2g Rbqfrf|ctfSb]d^da wfzf_dAfBfCfDfpjbbFfs W UbX VbWb@bGc[btbub{d|dJfvbwbLfMfNfOfPfQf]b}dRfSfTfUfWf~daeXfYfZft 0f1fbece2f3fJd4f5f6f7f(f)fheieje^b_b`b{bcbdbi Xb-f.fcd:fYbkeleb ?f]fme^f_f`f{fqjeb}fu 4 0b5 1b2b|bHc}bxbyboepecgzbAbegfggghgigjg~bqekglgmgngpgreseqgrgsgv tgugteuevgwgSdxgygzgAgIgJgzeAeBeacbcccdcfbgbk 3bNgOghdQg4bCeDec TgWgEeXgYgZg0g1grjhb3gw $ 6b% 7b8becIcfcBbCbGeHe7gDbEb9g!g#g$g%g'ggcIe(g)g*g+g-gJeKe.g/g:gx ;g=gLeMe?g@g1d[g]g^g_gchdhSeTeUehcicjckcibjbm 9bhhihmdkh!bVeWed nhqhXerhshthuhvhsjkbxhy - $b. %b'blcJcmcFbGbZe0eBhHbIbDhEhFhGhHhIhnc1eJhKhLhMhOh2e3ePhQhRhz ShTh4e5eUhVh!dWhXhYhZh7h8h#e$e%eocpcqcrclbmbo (b$h%hrd(h)b'e(ee +h.h)e/h:h;h=h?htjnb[hA [ +b] ,b-bscKctcJbKb+e,e`hLbMb|h}h~haibiciuc-edieifigiii.e/ejikiliB mini:e;eoipi,dqirisitiBiCi^e_e`evcwcxcycobpbq .bGiHiwdJi/b{e|ef MiPi}eQiRiSiTiUiujqbWiC ~ ;bab=b?bzcLcAcNbObafbf0iPbQb2i3i4i5i6i7iBccf8i9i!i#i%idfef'i(i)iD *i+iffgf,i-i[d.i/i:i;i`i{imfnfofCcDcEcFcrbsb

142 parameter["example"] = jsonable_encoder(example) 2bb{d|d~daebeceeboepereseteuehbGeHeJeKeLeMekbZe0e2e3e4e5enb+e,e.e/e:e;eqbafbfdfefffgf

143 if getattr(field_info, "deprecated", None): 2g Rbqfrf|ctfSb]d^da wfzfTb_dAfBfCfDfpjbbFfs W UbX VbWb@bGc[btbub{d|dJfvbwbLfMfNfOfPfQf]b}dRfSfTfUfWf~daeXfYfZft 0f1fbece2f3fJd4f5f6f7f(f)fheieje^b_b`b{bcbdbi Xb-f.fcd:fYbkeleb ?f]fZbme^f_f`f{fqjeb}fu 4 0b5 1b2b|bHc}bxbyboepecgzbAbegfggghgigjg~bqekglgmgngpgreseqgrgsgv tgugteuevgwgSdxgygzgAgIgJgzeAeBeacbcccdcfbgbk 3bNgOghdQg4bCeDec TgWg5bEeXgYgZg0g1grjhb3gw $ 6b% 7b8becIcfcBbCbGeHe7gDbEb9g!g#g$g%g'ggcIe(g)g*g+g-gJeKe.g/g:gx ;g=gLeMe?g@g1d[g]g^g_gchdhSeTeUehcicjckcibjbm 9bhhihmdkh!bVeWed nhqh#bXerhshthuhvhsjkbxhy - $b. %b'blcJcmcFbGbZe0eBhHbIbDhEhFhGhHhIhnc1eJhKhLhMhOh2e3ePhQhRhz ShTh4e5eUhVh!dWhXhYhZh7h8h#e$e%eocpcqcrclbmbo (b$h%hrd(h)b'e(ee +h.h*b)e/h:h;h=h?htjnb[hA [ +b] ,b-bscKctcJbKb+e,e`hLbMb|h}h~haibiciuc-edieifigiii.e/ejikiliB mini:e;eoipi,dqirisitiBiCi^e_e`evcwcxcycobpbq .bGiHiwdJi/b{e|ef MiPi:b}eQiRiSiTiUiujqbWiC ~ ;bab=b?bzcLcAcNbObafbf0iPbQb2i3i4i5i6i7iBccf8i9i!i#i%idfef'i(i)iD *i+iffgf,i-i[d.i/i:i;i`i{imfnfofCcDcEcFcrbsb

144 parameter["deprecated"] = True 2JdSd1d!d,d[d

145 parameters.append(parameter) 2g Rbqfrf|ctfSb]d^da wfzfTb_dAfBfCfDfpjbbFfs W UbX VbWb@bGc[btbub{d|dJfvbwbLfMfNfOfPfQf]b}dRfSfTfUfWf~daeXfYfZft 0f1fbece2f3fJd4f5f6f7f(f)fheieje^b_b`b{bcbdbi Xb-f.fcd:fYbkeleb ?f]fZbme^f_f`f{fqjeb}fu 4 0b5 1b2b|bHc}bxbyboepecgzbAbegfggghgigjg~bqekglgmgngpgreseqgrgsgv tgugteuevgwgSdxgygzgAgIgJgzeAeBeacbcccdcfbgbk 3bNgOghdQg4bCeDec TgWg5bEeXgYgZg0g1grjhb3gw $ 6b% 7b8becIcfcBbCbGeHe7gDbEb9g!g#g$g%g'ggcIe(g)g*g+g-gJeKe.g/g:gx ;g=gLeMe?g@g1d[g]g^g_gchdhSeTeUehcicjckcibjbm 9bhhihmdkh!bVeWed nhqh#bXerhshthuhvhsjkbxhy - $b. %b'blcJcmcFbGbZe0eBhHbIbDhEhFhGhHhIhnc1eJhKhLhMhOh2e3ePhQhRhz ShTh4e5eUhVh!dWhXhYhZh7h8h#e$e%eocpcqcrclbmbo (b$h%hrd(h)b'e(ee +h.h*b)e/h:h;h=h?htjnb[hA [ +b] ,b-bscKctcJbKb+e,e`hLbMb|h}h~haibiciuc-edieifigiii.e/ejikiliB mini:e;eoipi,dqirisitiBiCi^e_e`evcwcxcycobpbq .bGiHiwdJi/b{e|ef MiPi:b}eQiRiSiTiUiujqbWiC ~ ;bab=b?bzcLcAcNbObafbf0iPbQb2i3i4i5i6i7iBccf8i9i!i#i%idfef'i(i)iD *i+iffgf,i-i[d.i/i:i;i`i{imfnfofCcDcEcFcrbsb

146 return parameters 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

147 

148 

149def get_openapi_operation_request_body( 2SoToUoVoWoXo

150 *, 

151 body_field: Optional[ModelField], 

152 schema_generator: GenerateJsonSchema, 

153 model_name_map: ModelNameMap, 

154 field_mapping: Dict[ 

155 Tuple[ModelField, Literal["validation", "serialization"]], JsonSchemaValue 

156 ], 

157 separate_input_output_schemas: bool = True, 

158) -> Optional[Dict[str, Any]]: 

159 if not body_field: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

160 return None 2hnAog RbqfBdCdrf|cDdin1lmm2ltfSb]d^djna wfzfTb_dnmE F omAfvjBfCfDfpj3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfW UbX VbpmqmrmsmWbtbubkn{d|dJflnmniojonnuoGo4lvbwbLfMfNfOfPfonQf_l}d5ltmpn~cRfSfTfUfWf~daeXfYfZfJlKl`lMcqnrnumvmwmxmym{l0f1fbece2f3fJd4f5f6fwj7fdeee(fsn)fheieje9j7cSc!jadbdcbdbtnzmunvnwnBoi Xb-fKdLd.fcdMdxn6lAm7l:fYbkeleynb ?f]fZbmeBmG H Cm^fxj_f`f{fqj8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}f4 0b5 1bDmEmFmGm2bxbybznoepecgAnBnkoloCnvoHo9lzbAbegfggghgigDnjg|lqe!lHmEnedkglgmgngpgreseqgrgsgLlMl}lNcFnGnImJmKmLmMm~ltgugteuevgwgSdxgygzgyjAgveweIgHnJgzeAeBeck#cUcdkfdgdfbgbInNmJnKnLnCok 3bNgTdUdOghdVdMn#lOm$lQg4bCeDeNnc TgWg5bEePmI J QmXgzjYgZg0g1grj%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3g$ 6b% 7bRmSmTmUm8bBbCbOnGeHe7gPnQnmonoRnwoIo'lDbEb9g!g#g$g%gSn'gamIe(lVmTnjd(g)g*g+g-gJeKe.g/g:gNlOlbmOcUnVnWmXmYmZm0mcm;g=gLeMe?g@g1d[g]g^gAj_gNeOechWndhSeTeUeGk(cWcHkkdldibjbXn1mYnZn0nDom 9bhh2d3dihmd4d1n)l2m*lkh!bVeWe2nd nhqh#bXe3mK L 4mrhBjshthuhvhsj+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxh- $b. %b5m6m7m8m'bFbGb3nZe0eBh4n5noopo6nxoJo,lHbIbDhEhFhGhHh7nIhdm1e-l9m8nodJhKhLhMhOh2e3ePhQhRhPlQlemPc9n!n!m#m$m%m'mfmShTh4e5eUhVh!dWhXhYhCjZh6e7e7h#n8h#e$e%e!k,cYc#kpdqdlbmb$n(m%n'n(nEoo (b$h#d$d%hrd%d)n.l)m/l(h)b'e(e*ne +h.h*b)e*mM N +m/hDj:h;h=h?htj:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[h[ +b] ,b,m-m.m/m-bJbKb+n+e,e`h,n-nqoro.nyoKo;lLbMb|h}h~haibi/ncigm-e=l:m:ntddieifigiii.e/ejikiliRlSlhmQc;n=n;m=m?m@m[mimmini:e;eoipi,dqirisiEjti=e?eBi?nCi^e_e`edl:c0celudvdobpb@n]m[n]n^nFoq .bGi-d.dHiwd/d_n?l^m@lJi/b{e|e`nf MiPi:b}e_mO P `mQiFjRiSiTiUiuj[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWi~ ;bab=b{m|m}m~m?bNbOb{nafbf0i|n}nsoto~nzoLo]lPbQb2i3i4i5i6iao7ijmcf^lanboyd8i9i!i#i%idfef'i(i)iTlUlkmRccodobncndnenfnlm*i+iffgf,i-i[d.i/i:iGj;ihfif`ieo{imfnfofHl@c2cIlzdAdrbsbfogngoho

161 assert isinstance(body_field, ModelField) 2pf~isfSbufQ h R S T U V [cvfxfyfTbE F Efbb4c5c6cs GfHf@bGc[bIftbubKfvbwb]b~cVft McFdGdHdId8faj9fdeee!f#f$f%f'ffege^b_b`b{b7cScadbdcbdb*f+fTc,fbj/fYb;fY j Z 0 1 2 3 ]c=f@f[fZbG H |feb8c9c!cu ~fag|bHc}bbgxbybdgzbAb~bedogv NcOdPdQdRdBgcjCgveweDgEgFgGgHgxeyeacbcccdc#cUcfdgdfbgbKgLgVcMgdjPg4bRg6 l 7 8 9 ! # ^cSgUgVg5bI J ej2ghb$c%c'cw 4g5gecIcfc6gBbCb8gDbEbgcjd,gx OcXdYdZd0d`gfj{gNeOe|g}g~gahbhPeQeRehcicjckc(cWckdldibjbehfhXcghgjjh!blh' n ( ) * + , _cmhohph#bK L hjwhkb)c*c+cy yhzhlcJcmcAhFbGbChHbIbncodNhz Pc6d7d8d9d0hij1h6e7e2h3h4h5h6h8e9e!eocpcqcrc,cYcpdqdlbmb9h!hZc#hjj'h)b)h/ p : ; = ? @ `c*h,h-h*bM N kj@hnb-c.c/cA ]h^hscKctc_hJbKb{hLbMbuctdhiB Qc(d)d*d+duiljvi=e?ewixiyiziAi@e[e]evcwcxcyc:c0cudvdobpbDiEi1cFimjIi/bKi^ r _ ` { | } {cLiNiOi:bO P njViqb;c=c?cC XiYizcLcAcZiNbOb1iPbQbBcyd$iD Rc;d=d?d@d=ioj?ihfif@i[i]i^i_ijfkflfCcDcEcFc@c2czdAdrbsb|i}i3c

162 body_schema = get_schema_from_model_field( 2pf~isfSbufQ h R S T U V [cvfxfyfTbE F Efbb4c5c6cs GfHf@bGc[bIftbubKfvbwb]b~cVft McFdGdHdId8faj9fdeee!f#f$f%f'ffege^b_b`b{b7cScadbdcbdb*f+fTc,fbj/fYb;fY j Z 0 1 2 3 ]c=f@f[fZbG H |feb8c9c!cu ~fag|bHc}bbgxbybdgzbAb~bedogv NcOdPdQdRdBgcjCgveweDgEgFgGgHgxeyeacbcccdc#cUcfdgdfbgbKgLgVcMgdjPg4bRg6 l 7 8 9 ! # ^cSgUgVg5bI J ej2ghb$c%c'cw 4g5gecIcfc6gBbCb8gDbEbgcjd,gx OcXdYdZd0d`gfj{gNeOe|g}g~gahbhPeQeRehcicjckc(cWckdldibjbehfhXcghgjjh!blh' n ( ) * + , _cmhohph#bK L hjwhkb)c*c+cy yhzhlcJcmcAhFbGbChHbIbncodNhz Pc6d7d8d9d0hij1h6e7e2h3h4h5h6h8e9e!eocpcqcrc,cYcpdqdlbmb9h!hZc#hjj'h)b)h/ p : ; = ? @ `c*h,h-h*bM N kj@hnb-c.c/cA ]h^hscKctc_hJbKb{hLbMbuctdhiB Qc(d)d*d+duiljvi=e?ewixiyiziAi@e[e]evcwcxcyc:c0cudvdobpbDiEi1cFimjIi/bKi^ r _ ` { | } {cLiNiOi:bO P njViqb;c=c?cC XiYizcLcAcZiNbOb1iPbQbBcyd$iD Rc;d=d?d@d=ioj?ihfif@i[i]i^i_ijfkflfCcDcEcFc@c2czdAdrbsb|i}i3c

163 field=body_field, 

164 schema_generator=schema_generator, 

165 model_name_map=model_name_map, 

166 field_mapping=field_mapping, 

167 separate_input_output_schemas=separate_input_output_schemas, 

168 ) 

169 field_info = cast(Body, body_field.field_info) 2pf~isfSbufQ h R S T U V [cvfxfyfTbE F Efbb4c5c6cs GfHf@bGc[bIftbubKfvbwb]b~cVft McFdGdHdId8faj9fdeee!f#f$f%f'ffege^b_b`b{b7cScadbdcbdb*f+fTc,fbj/fYb;fY j Z 0 1 2 3 ]c=f@f[fZbG H |feb8c9c!cu ~fag|bHc}bbgxbybdgzbAb~bedogv NcOdPdQdRdBgcjCgveweDgEgFgGgHgxeyeacbcccdc#cUcfdgdfbgbKgLgVcMgdjPg4bRg6 l 7 8 9 ! # ^cSgUgVg5bI J ej2ghb$c%c'cw 4g5gecIcfc6gBbCb8gDbEbgcjd,gx OcXdYdZd0d`gfj{gNeOe|g}g~gahbhPeQeRehcicjckc(cWckdldibjbehfhXcghgjjh!blh' n ( ) * + , _cmhohph#bK L hjwhkb)c*c+cy yhzhlcJcmcAhFbGbChHbIbncodNhz Pc6d7d8d9d0hij1h6e7e2h3h4h5h6h8e9e!eocpcqcrc,cYcpdqdlbmb9h!hZc#hjj'h)b)h/ p : ; = ? @ `c*h,h-h*bM N kj@hnb-c.c/cA ]h^hscKctc_hJbKb{hLbMbuctdhiB Qc(d)d*d+duiljvi=e?ewixiyiziAi@e[e]evcwcxcyc:c0cudvdobpbDiEi1cFimjIi/bKi^ r _ ` { | } {cLiNiOi:bO P njViqb;c=c?cC XiYizcLcAcZiNbOb1iPbQbBcyd$iD Rc;d=d?d@d=ioj?ihfif@i[i]i^i_ijfkflfCcDcEcFc@c2czdAdrbsb|i}i3c

170 request_media_type = field_info.media_type 2pf~isfSbufQ h R S T U V [cvfxfyfTbE F Efbb4c5c6cs GfHf@bGc[bIftbubKfvbwb]b~cVft McFdGdHdId8faj9fdeee!f#f$f%f'ffege^b_b`b{b7cScadbdcbdb*f+fTc,fbj/fYb;fY j Z 0 1 2 3 ]c=f@f[fZbG H |feb8c9c!cu ~fag|bHc}bbgxbybdgzbAb~bedogv NcOdPdQdRdBgcjCgveweDgEgFgGgHgxeyeacbcccdc#cUcfdgdfbgbKgLgVcMgdjPg4bRg6 l 7 8 9 ! # ^cSgUgVg5bI J ej2ghb$c%c'cw 4g5gecIcfc6gBbCb8gDbEbgcjd,gx OcXdYdZd0d`gfj{gNeOe|g}g~gahbhPeQeRehcicjckc(cWckdldibjbehfhXcghgjjh!blh' n ( ) * + , _cmhohph#bK L hjwhkb)c*c+cy yhzhlcJcmcAhFbGbChHbIbncodNhz Pc6d7d8d9d0hij1h6e7e2h3h4h5h6h8e9e!eocpcqcrc,cYcpdqdlbmb9h!hZc#hjj'h)b)h/ p : ; = ? @ `c*h,h-h*bM N kj@hnb-c.c/cA ]h^hscKctc_hJbKb{hLbMbuctdhiB Qc(d)d*d+duiljvi=e?ewixiyiziAi@e[e]evcwcxcyc:c0cudvdobpbDiEi1cFimjIi/bKi^ r _ ` { | } {cLiNiOi:bO P njViqb;c=c?cC XiYizcLcAcZiNbOb1iPbQbBcyd$iD Rc;d=d?d@d=ioj?ihfif@i[i]i^i_ijfkflfCcDcEcFc@c2czdAdrbsb|i}i3c

171 required = body_field.required 2pf~isfSbufQ h R S T U V [cvfxfyfTbE F Efbb4c5c6cs GfHf@bGc[bIftbubKfvbwb]b~cVft McFdGdHdId8faj9fdeee!f#f$f%f'ffege^b_b`b{b7cScadbdcbdb*f+fTc,fbj/fYb;fY j Z 0 1 2 3 ]c=f@f[fZbG H |feb8c9c!cu ~fag|bHc}bbgxbybdgzbAb~bedogv NcOdPdQdRdBgcjCgveweDgEgFgGgHgxeyeacbcccdc#cUcfdgdfbgbKgLgVcMgdjPg4bRg6 l 7 8 9 ! # ^cSgUgVg5bI J ej2ghb$c%c'cw 4g5gecIcfc6gBbCb8gDbEbgcjd,gx OcXdYdZd0d`gfj{gNeOe|g}g~gahbhPeQeRehcicjckc(cWckdldibjbehfhXcghgjjh!blh' n ( ) * + , _cmhohph#bK L hjwhkb)c*c+cy yhzhlcJcmcAhFbGbChHbIbncodNhz Pc6d7d8d9d0hij1h6e7e2h3h4h5h6h8e9e!eocpcqcrc,cYcpdqdlbmb9h!hZc#hjj'h)b)h/ p : ; = ? @ `c*h,h-h*bM N kj@hnb-c.c/cA ]h^hscKctc_hJbKb{hLbMbuctdhiB Qc(d)d*d+duiljvi=e?ewixiyiziAi@e[e]evcwcxcyc:c0cudvdobpbDiEi1cFimjIi/bKi^ r _ ` { | } {cLiNiOi:bO P njViqb;c=c?cC XiYizcLcAcZiNbOb1iPbQbBcyd$iD Rc;d=d?d@d=ioj?ihfif@i[i]i^i_ijfkflfCcDcEcFc@c2czdAdrbsb|i}i3c

172 request_body_oai: Dict[str, Any] = {} 2pf~isfSbufQ h R S T U V [cvfxfyfTbE F Efbb4c5c6cs GfHf@bGc[bIftbubKfvbwb]b~cVft McFdGdHdId8faj9fdeee!f#f$f%f'ffege^b_b`b{b7cScadbdcbdb*f+fTc,fbj/fYb;fY j Z 0 1 2 3 ]c=f@f[fZbG H |feb8c9c!cu ~fag|bHc}bbgxbybdgzbAb~bedogv NcOdPdQdRdBgcjCgveweDgEgFgGgHgxeyeacbcccdc#cUcfdgdfbgbKgLgVcMgdjPg4bRg6 l 7 8 9 ! # ^cSgUgVg5bI J ej2ghb$c%c'cw 4g5gecIcfc6gBbCb8gDbEbgcjd,gx OcXdYdZd0d`gfj{gNeOe|g}g~gahbhPeQeRehcicjckc(cWckdldibjbehfhXcghgjjh!blh' n ( ) * + , _cmhohph#bK L hjwhkb)c*c+cy yhzhlcJcmcAhFbGbChHbIbncodNhz Pc6d7d8d9d0hij1h6e7e2h3h4h5h6h8e9e!eocpcqcrc,cYcpdqdlbmb9h!hZc#hjj'h)b)h/ p : ; = ? @ `c*h,h-h*bM N kj@hnb-c.c/cA ]h^hscKctc_hJbKb{hLbMbuctdhiB Qc(d)d*d+duiljvi=e?ewixiyiziAi@e[e]evcwcxcyc:c0cudvdobpbDiEi1cFimjIi/bKi^ r _ ` { | } {cLiNiOi:bO P njViqb;c=c?cC XiYizcLcAcZiNbOb1iPbQbBcyd$iD Rc;d=d?d@d=ioj?ihfif@i[i]i^i_ijfkflfCcDcEcFc@c2czdAdrbsb|i}i3c

173 if required: 2pf~isfSbufQ h R S T U V [cvfxfyfTbE F Efbb4c5c6cs GfHf@bGc[bIftbubKfvbwb]b~cVft McFdGdHdId8faj9fdeee!f#f$f%f'ffege^b_b`b{b7cScadbdcbdb*f+fTc,fbj/fYb;fY j Z 0 1 2 3 ]c=f@f[fZbG H |feb8c9c!cu ~fag|bHc}bbgxbybdgzbAb~bedogv NcOdPdQdRdBgcjCgveweDgEgFgGgHgxeyeacbcccdc#cUcfdgdfbgbKgLgVcMgdjPg4bRg6 l 7 8 9 ! # ^cSgUgVg5bI J ej2ghb$c%c'cw 4g5gecIcfc6gBbCb8gDbEbgcjd,gx OcXdYdZd0d`gfj{gNeOe|g}g~gahbhPeQeRehcicjckc(cWckdldibjbehfhXcghgjjh!blh' n ( ) * + , _cmhohph#bK L hjwhkb)c*c+cy yhzhlcJcmcAhFbGbChHbIbncodNhz Pc6d7d8d9d0hij1h6e7e2h3h4h5h6h8e9e!eocpcqcrc,cYcpdqdlbmb9h!hZc#hjj'h)b)h/ p : ; = ? @ `c*h,h-h*bM N kj@hnb-c.c/cA ]h^hscKctc_hJbKb{hLbMbuctdhiB Qc(d)d*d+duiljvi=e?ewixiyiziAi@e[e]evcwcxcyc:c0cudvdobpbDiEi1cFimjIi/bKi^ r _ ` { | } {cLiNiOi:bO P njViqb;c=c?cC XiYizcLcAcZiNbOb1iPbQbBcyd$iD Rc;d=d?d@d=ioj?ihfif@i[i]i^i_ijfkflfCcDcEcFc@c2czdAdrbsb|i}i3c

174 request_body_oai["required"] = required 2pfsfSbufQ h R S T U V [cvfxfyfTbE F Efbb4c5c6cs GfHf@b[bIftbubKfvbwb]b~cVft McFdGdHdId8f9fdeee!f#f$f%f'ffege^b_b`b{b7cScadbdcbdb*f+fTc,f/fYb;fY j Z 0 1 2 3 ]c=f@f[fZbG H |feb8c9c!cu ~fag|b}bbgxbybdgzbAb~bedogv NcOdPdQdRdBgCgveweDgEgFgGgHgxeyeacbcccdc#cUcfdgdfbgbKgLgVcMgPg4bRg6 l 7 8 9 ! # ^cSgUgVg5bI J 2ghb$c%c'cw 4g5gecfc6gBbCb8gDbEbgcjd,gx OcXdYdZd0d`g{gNeOe|g}g~gahbhPeQeRehcicjckc(cWckdldibjbehfhXcghjh!blh' n ( ) * + , _cmhohph#bK L whkb)c*c+cy yhzhlcmcAhFbGbChHbIbncodNhz Pc6d7d8d9d0h1h6e7e2h3h4h5h6h8e9e!eocpcqcrc,cYcpdqdlbmb9h!hZc#h'h)b)h/ p : ; = ? @ `c*h,h-h*bM N @hnb-c.c/cA ]h^hsctc_hJbKb{hLbMbuctdhiB Qc(d)d*d+duivi=e?ewixiyiziAi@e[e]evcwcxcyc:c0cudvdobpbDiEi1cFiIi/bKi^ r _ ` { | } {cLiNiOi:bO P Viqb;c=c?cC XiYizcAcZiNbOb1iPbQbBcyd$iD Rc;d=d?d@d=i?ihfif@i[i]i^i_ijfkflfCcDcEcFc@c2czdAdrbsb|i}i3c

175 request_media_content: Dict[str, Any] = {"schema": body_schema} 2pf~isfSbufQ h R S T U V [cvfxfyfTbE F Efbb4c5c6cs GfHf@bGc[bIftbubKfvbwb]b~cVft McFdGdHdId8faj9fdeee!f#f$f%f'ffege^b_b`b{b7cScadbdcbdb*f+fTc,fbj/fYb;fY j Z 0 1 2 3 ]c=f@f[fZbG H |feb8c9c!cu ~fag|bHc}bbgxbybdgzbAb~bedogv NcOdPdQdRdBgcjCgveweDgEgFgGgHgxeyeacbcccdc#cUcfdgdfbgbKgLgVcMgdjPg4bRg6 l 7 8 9 ! # ^cSgUgVg5bI J ej2ghb$c%c'cw 4g5gecIcfc6gBbCb8gDbEbgcjd,gx OcXdYdZd0d`gfj{gNeOe|g}g~gahbhPeQeRehcicjckc(cWckdldibjbehfhXcghgjjh!blh' n ( ) * + , _cmhohph#bK L hjwhkb)c*c+cy yhzhlcJcmcAhFbGbChHbIbncodNhz Pc6d7d8d9d0hij1h6e7e2h3h4h5h6h8e9e!eocpcqcrc,cYcpdqdlbmb9h!hZc#hjj'h)b)h/ p : ; = ? @ `c*h,h-h*bM N kj@hnb-c.c/cA ]h^hscKctc_hJbKb{hLbMbuctdhiB Qc(d)d*d+duiljvi=e?ewixiyiziAi@e[e]evcwcxcyc:c0cudvdobpbDiEi1cFimjIi/bKi^ r _ ` { | } {cLiNiOi:bO P njViqb;c=c?cC XiYizcLcAcZiNbOb1iPbQbBcyd$iD Rc;d=d?d@d=ioj?ihfif@i[i]i^i_ijfkflfCcDcEcFc@c2czdAdrbsb|i}i3c

176 if field_info.openapi_examples: 2pf~isfSbufQ h R S T U V [cvfxfyfTbE F Efbb4c5c6cs GfHf@bGc[bIftbubKfvbwb]b~cVft McFdGdHdId8faj9fdeee!f#f$f%f'ffege^b_b`b{b7cScadbdcbdb*f+fTc,fbj/fYb;fY j Z 0 1 2 3 ]c=f@f[fZbG H |feb8c9c!cu ~fag|bHc}bbgxbybdgzbAb~bedogv NcOdPdQdRdBgcjCgveweDgEgFgGgHgxeyeacbcccdc#cUcfdgdfbgbKgLgVcMgdjPg4bRg6 l 7 8 9 ! # ^cSgUgVg5bI J ej2ghb$c%c'cw 4g5gecIcfc6gBbCb8gDbEbgcjd,gx OcXdYdZd0d`gfj{gNeOe|g}g~gahbhPeQeRehcicjckc(cWckdldibjbehfhXcghgjjh!blh' n ( ) * + , _cmhohph#bK L hjwhkb)c*c+cy yhzhlcJcmcAhFbGbChHbIbncodNhz Pc6d7d8d9d0hij1h6e7e2h3h4h5h6h8e9e!eocpcqcrc,cYcpdqdlbmb9h!hZc#hjj'h)b)h/ p : ; = ? @ `c*h,h-h*bM N kj@hnb-c.c/cA ]h^hscKctc_hJbKb{hLbMbuctdhiB Qc(d)d*d+duiljvi=e?ewixiyiziAi@e[e]evcwcxcyc:c0cudvdobpbDiEi1cFimjIi/bKi^ r _ ` { | } {cLiNiOi:bO P njViqb;c=c?cC XiYizcLcAcZiNbOb1iPbQbBcyd$iD Rc;d=d?d@d=ioj?ihfif@i[i]i^i_ijfkflfCcDcEcFc@c2czdAdrbsb|i}i3c

177 request_media_content["examples"] = jsonable_encoder( 2Tb{bZbdc5bkc#brc*byc:bFc

178 field_info.openapi_examples 

179 ) 

180 elif field_info.example != Undefined: 2pf~isfSbufQ h R S T U V [cvfxfyfE F Efbb4c5c6cs GfHf@bGc[bIftbubKfvbwb]b~cVft McFdGdHdId8faj9fdeee!f#f$f%f'ffege^b_b`b7cScadbdcbdb*f+fTc,fbj/fYb;fY j Z 0 1 2 3 ]c=f@f[fG H |feb8c9c!cu ~fag|bHc}bbgxbybdgzbAb~bedogv NcOdPdQdRdBgcjCgveweDgEgFgGgHgxeyeacbccc#cUcfdgdfbgbKgLgVcMgdjPg4bRg6 l 7 8 9 ! # ^cSgUgVgI J ej2ghb$c%c'cw 4g5gecIcfc6gBbCb8gDbEbgcjd,gx OcXdYdZd0d`gfj{gNeOe|g}g~gahbhPeQeRehcicjc(cWckdldibjbehfhXcghgjjh!blh' n ( ) * + , _cmhohphK L hjwhkb)c*c+cy yhzhlcJcmcAhFbGbChHbIbncodNhz Pc6d7d8d9d0hij1h6e7e2h3h4h5h6h8e9e!eocpcqc,cYcpdqdlbmb9h!hZc#hjj'h)b)h/ p : ; = ? @ `c*h,h-hM N kj@hnb-c.c/cA ]h^hscKctc_hJbKb{hLbMbuctdhiB Qc(d)d*d+duiljvi=e?ewixiyiziAi@e[e]evcwcxc:c0cudvdobpbDiEi1cFimjIi/bKi^ r _ ` { | } {cLiNiOiO P njViqb;c=c?cC XiYizcLcAcZiNbOb1iPbQbBcyd$iD Rc;d=d?d@d=ioj?ihfif@i[i]i^i_ijfkflfCcDcEc@c2czdAdrbsb|i}i3c

181 request_media_content["example"] = jsonable_encoder(field_info.example) 2bbebhbkbnbqb

182 request_body_oai["content"] = {request_media_type: request_media_content} 2pf~isfSbufQ h R S T U V [cvfxfyfTbE F Efbb4c5c6cs GfHf@bGc[bIftbubKfvbwb]b~cVft McFdGdHdId8faj9fdeee!f#f$f%f'ffege^b_b`b{b7cScadbdcbdb*f+fTc,fbj/fYb;fY j Z 0 1 2 3 ]c=f@f[fZbG H |feb8c9c!cu ~fag|bHc}bbgxbybdgzbAb~bedogv NcOdPdQdRdBgcjCgveweDgEgFgGgHgxeyeacbcccdc#cUcfdgdfbgbKgLgVcMgdjPg4bRg6 l 7 8 9 ! # ^cSgUgVg5bI J ej2ghb$c%c'cw 4g5gecIcfc6gBbCb8gDbEbgcjd,gx OcXdYdZd0d`gfj{gNeOe|g}g~gahbhPeQeRehcicjckc(cWckdldibjbehfhXcghgjjh!blh' n ( ) * + , _cmhohph#bK L hjwhkb)c*c+cy yhzhlcJcmcAhFbGbChHbIbncodNhz Pc6d7d8d9d0hij1h6e7e2h3h4h5h6h8e9e!eocpcqcrc,cYcpdqdlbmb9h!hZc#hjj'h)b)h/ p : ; = ? @ `c*h,h-h*bM N kj@hnb-c.c/cA ]h^hscKctc_hJbKb{hLbMbuctdhiB Qc(d)d*d+duiljvi=e?ewixiyiziAi@e[e]evcwcxcyc:c0cudvdobpbDiEi1cFimjIi/bKi^ r _ ` { | } {cLiNiOi:bO P njViqb;c=c?cC XiYizcLcAcZiNbOb1iPbQbBcyd$iD Rc;d=d?d@d=ioj?ihfif@i[i]i^i_ijfkflfCcDcEcFc@c2czdAdrbsb|i}i3c

183 return request_body_oai 2pf~isfSbufQ h R S T U V [cvfxfyfTbE F Efbb4c5c6cs GfHf@bGc[bIftbubKfvbwb]b~cVft McFdGdHdId8faj9fdeee!f#f$f%f'ffege^b_b`b{b7cScadbdcbdb*f+fTc,fbj/fYb;fY j Z 0 1 2 3 ]c=f@f[fZbG H |feb8c9c!cu ~fag|bHc}bbgxbybdgzbAb~bedogv NcOdPdQdRdBgcjCgveweDgEgFgGgHgxeyeacbcccdc#cUcfdgdfbgbKgLgVcMgdjPg4bRg6 l 7 8 9 ! # ^cSgUgVg5bI J ej2ghb$c%c'cw 4g5gecIcfc6gBbCb8gDbEbgcjd,gx OcXdYdZd0d`gfj{gNeOe|g}g~gahbhPeQeRehcicjckc(cWckdldibjbehfhXcghgjjh!blh' n ( ) * + , _cmhohph#bK L hjwhkb)c*c+cy yhzhlcJcmcAhFbGbChHbIbncodNhz Pc6d7d8d9d0hij1h6e7e2h3h4h5h6h8e9e!eocpcqcrc,cYcpdqdlbmb9h!hZc#hjj'h)b)h/ p : ; = ? @ `c*h,h-h*bM N kj@hnb-c.c/cA ]h^hscKctc_hJbKb{hLbMbuctdhiB Qc(d)d*d+duiljvi=e?ewixiyiziAi@e[e]evcwcxcyc:c0cudvdobpbDiEi1cFimjIi/bKi^ r _ ` { | } {cLiNiOi:bO P njViqb;c=c?cC XiYizcLcAcZiNbOb1iPbQbBcyd$iD Rc;d=d?d@d=ioj?ihfif@i[i]i^i_ijfkflfCcDcEcFc@c2czdAdrbsb|i}i3c

184 

185 

186def generate_operation_id( 2SoToUoVoWoXo

187 *, route: routing.APIRoute, method: str 2SoToUoVoWoXo

188) -> str: # pragma: nocover 2SoToUoVoWoXo

189 warnings.warn( 

190 "fastapi.openapi.utils.generate_operation_id() was deprecated, " 

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

192 DeprecationWarning, 

193 stacklevel=2, 

194 ) 

195 if route.operation_id: 

196 return route.operation_id 

197 path: str = route.path_format 

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

199 

200 

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

202 if route.summary: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

203 return route.summary 2FdGdHdIdOdPdQdRdXdYdZd0d6d7d8d9d(d)d*d+d;d=d?d@d

204 return route.name.replace("_", " ").title() 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt Mcqnrnumvmwmxmym{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnImJmKmLmMm~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnWmXmYmZm0mcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n!m#m$m%m'mfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n;m=m?m@m[mimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodobncndnenfnlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

205 

206 

207def get_openapi_operation_metadata( 2SoToUoVoWoXo

208 *, route: routing.APIRoute, method: str, operation_ids: Set[str] 

209) -> Dict[str, Any]: 

210 operation: Dict[str, Any] = {} 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

211 if route.tags: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

212 operation["tags"] = route.tags 2a Wb~c`lym{lb 2bed}lMm~lc 8bjdbm0mcmd 'bodem'mfme -btdhm[mimf ?bydkmfnlm

213 operation["summary"] = generate_operation_summary(route=route, method=method) 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

214 if route.description: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

215 operation["description"] = route.description 2s t McFdGdHdIdTcu v NcOdPdQdRdVcw x OcXdYdZd0dXcy z Pc6d7d8d9dZcA B Qc(d)d*d+d1cC D Rc;d=d?d@d3c

216 operation_id = route.operation_id or route.unique_id 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

217 if operation_id in operation_ids: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

218 message = ( 2[ca ]cb ^cc _cd `ce {cf

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

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

221 ) 

222 file_name = getattr(route.endpoint, "__globals__", {}).get("__file__") 2[ca ]cb ^cc _cd `ce {cf

223 if file_name: 2[ca ]cb ^cc _cd `ce {cf

224 message += f" at {file_name}" 2[ca ]cb ^cc _cd `ce {cf

225 warnings.warn(message, stacklevel=1) 2[ca ]cb ^cc _cd `ce {cf

226 operation_ids.add(operation_id) 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

227 operation["operationId"] = operation_id 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

228 if route.deprecated: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

229 operation["deprecated"] = route.deprecated 2a {lb ~lc cmd fme imf lm

230 return operation 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

231 

232 

233def get_openapi_path( 2SoToUoVoWoXo

234 *, 

235 route: routing.APIRoute, 

236 operation_ids: Set[str], 

237 schema_generator: GenerateJsonSchema, 

238 model_name_map: ModelNameMap, 

239 field_mapping: Dict[ 

240 Tuple[ModelField, Literal["validation", "serialization"]], JsonSchemaValue 

241 ], 

242 separate_input_output_schemas: bool = True, 

243) -> Tuple[Dict[str, Any], Dict[str, Any], Dict[str, Any]]: 

244 path = {} 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

245 security_schemes: Dict[str, Any] = {} 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

246 definitions: Dict[str, Any] = {} 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

247 assert route.methods is not None, "Methods must be a list" 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

248 if isinstance(route.response_class, DefaultPlaceholder): 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

249 current_response_class: Type[Response] = route.response_class.value 2pf~ihnAog qfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJfnnKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi -fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgCndg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok NgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gRn8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom hh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh6nCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo $h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h.n{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq Gi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i~n1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

250 else: 

251 current_response_class = route.response_class 2g RbBda Ed}clnmniojouoGoi XbKdb NdddAnBnkolovoHok 3bTdc WdidPnQnmonowoIom 9b2dd 5dnd4n5noopoxoJoo (b#de 'dsd,n-nqoroyoKoq .b-df :dxd|n}nsotozoLo

252 assert current_response_class, "A response class is needed to generate OpenAPI" 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

253 route_response_media_type: Optional[str] = current_response_class.media_type 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

254 if route.include_in_schema: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

255 for method in route.methods: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

256 operation = get_openapi_operation_metadata( 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

257 route=route, method=method, operation_ids=operation_ids 

258 ) 

259 parameters: List[Dict[str, Any]] = [] 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

260 flat_dependant = get_flat_dependant(route.dependant, skip_repeats=True) 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

261 security_definitions, operation_security = get_openapi_security_definitions( 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

262 flat_dependant=flat_dependant 

263 ) 

264 if operation_security: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

265 operation.setdefault("security", []).extend(operation_security) 2HjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8j9j7cSc!jTc#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbkck#cUcdkVcekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFkGk(cWcHkXcIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9k!k,cYc#kZc$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcldl:c0cel1cflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlHl@c2cIl3c

266 if security_definitions: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

267 security_schemes.update(security_definitions) 2HjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8j9j7cSc!jTc#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbkck#cUcdkVcekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFkGk(cWcHkXcIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9k!k,cYc#kZc$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcldl:c0cel1cflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlHl@c2cIl3c

268 operation_parameters = _get_openapi_operation_parameters( 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

269 dependant=route.dependant, 

270 schema_generator=schema_generator, 

271 model_name_map=model_name_map, 

272 field_mapping=field_mapping, 

273 separate_input_output_schemas=separate_input_output_schemas, 

274 ) 

275 parameters.extend(operation_parameters) 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

276 if parameters: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

277 all_parameters = { 2g Rbqfrf|ctfSb]d^da wfzfTb_dAfBfCfDfpjbbFfs W UbX VbWb@bGc[btbub{d|dJfvbwbLfMfNfOfPfQf]b}dRfSfTfUfWf~daeXfYfZft 0f1fbece2f3fJd4f5f6f7f(f)fheieje^b_b`b{bcbdbi Xb-f.fcd:fYbkeleb ?f]fZbme^f_f`f{fqjeb}fu 4 0b5 1b2b|bHc}bxbyboepecgzbAbegfggghgigjg~bqekglgmgngpgreseqgrgsgv tgugteuevgwgSdxgygzgAgIgJgzeAeBeacbcccdcfbgbk 3bNgOghdQg4bCeDec TgWg5bEeXgYgZg0g1grjhb3gw $ 6b% 7b8becIcfcBbCbGeHe7gDbEb9g!g#g$g%g'ggcIe(g)g*g+g-gJeKe.g/g:gx ;g=gLeMe?g@g1d[g]g^g_gchdhSeTeUehcicjckcibjbm 9bhhihmdkh!bVeWed nhqh#bXerhshthuhvhsjkbxhy - $b. %b'blcJcmcFbGbZe0eBhHbIbDhEhFhGhHhIhnc1eJhKhLhMhOh2e3ePhQhRhz ShTh4e5eUhVh!dWhXhYhZh7h8h#e$e%eocpcqcrclbmbo (b$h%hrd(h)b'e(ee +h.h*b)e/h:h;h=h?htjnb[hA [ +b] ,b-bscKctcJbKb+e,e`hLbMb|h}h~haibiciuc-edieifigiii.e/ejikiliB mini:e;eoipi,dqirisitiBiCi^e_e`evcwcxcycobpbq .bGiHiwdJi/b{e|ef MiPi:b}eQiRiSiTiUiujqbWiC ~ ;bab=b?bzcLcAcNbObafbf0iPbQb2i3i4i5i6i7iBccf8i9i!i#i%idfef'i(i)iD *i+iffgf,i-i[d.i/i:i;i`i{imfnfofCcDcEcFcrbsb

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

279 } 

280 required_parameters = { 2g Rbqfrf|ctfSb]d^da wfzfTb_dAfBfCfDfpjbbFfs W UbX VbWb@bGc[btbub{d|dJfvbwbLfMfNfOfPfQf]b}dRfSfTfUfWf~daeXfYfZft 0f1fbece2f3fJd4f5f6f7f(f)fheieje^b_b`b{bcbdbi Xb-f.fcd:fYbkeleb ?f]fZbme^f_f`f{fqjeb}fu 4 0b5 1b2b|bHc}bxbyboepecgzbAbegfggghgigjg~bqekglgmgngpgreseqgrgsgv tgugteuevgwgSdxgygzgAgIgJgzeAeBeacbcccdcfbgbk 3bNgOghdQg4bCeDec TgWg5bEeXgYgZg0g1grjhb3gw $ 6b% 7b8becIcfcBbCbGeHe7gDbEb9g!g#g$g%g'ggcIe(g)g*g+g-gJeKe.g/g:gx ;g=gLeMe?g@g1d[g]g^g_gchdhSeTeUehcicjckcibjbm 9bhhihmdkh!bVeWed nhqh#bXerhshthuhvhsjkbxhy - $b. %b'blcJcmcFbGbZe0eBhHbIbDhEhFhGhHhIhnc1eJhKhLhMhOh2e3ePhQhRhz ShTh4e5eUhVh!dWhXhYhZh7h8h#e$e%eocpcqcrclbmbo (b$h%hrd(h)b'e(ee +h.h*b)e/h:h;h=h?htjnb[hA [ +b] ,b-bscKctcJbKb+e,e`hLbMb|h}h~haibiciuc-edieifigiii.e/ejikiliB mini:e;eoipi,dqirisitiBiCi^e_e`evcwcxcycobpbq .bGiHiwdJi/b{e|ef MiPi:b}eQiRiSiTiUiujqbWiC ~ ;bab=b?bzcLcAcNbObafbf0iPbQb2i3i4i5i6i7iBccf8i9i!i#i%idfef'i(i)iD *i+iffgf,i-i[d.i/i:i;i`i{imfnfofCcDcEcFcrbsb

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

282 for param in parameters 

283 if param.get("required") 

284 } 

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

286 # over non-required definitions 

287 all_parameters.update(required_parameters) 2g Rbqfrf|ctfSb]d^da wfzfTb_dAfBfCfDfpjbbFfs W UbX VbWb@bGc[btbub{d|dJfvbwbLfMfNfOfPfQf]b}dRfSfTfUfWf~daeXfYfZft 0f1fbece2f3fJd4f5f6f7f(f)fheieje^b_b`b{bcbdbi Xb-f.fcd:fYbkeleb ?f]fZbme^f_f`f{fqjeb}fu 4 0b5 1b2b|bHc}bxbyboepecgzbAbegfggghgigjg~bqekglgmgngpgreseqgrgsgv tgugteuevgwgSdxgygzgAgIgJgzeAeBeacbcccdcfbgbk 3bNgOghdQg4bCeDec TgWg5bEeXgYgZg0g1grjhb3gw $ 6b% 7b8becIcfcBbCbGeHe7gDbEb9g!g#g$g%g'ggcIe(g)g*g+g-gJeKe.g/g:gx ;g=gLeMe?g@g1d[g]g^g_gchdhSeTeUehcicjckcibjbm 9bhhihmdkh!bVeWed nhqh#bXerhshthuhvhsjkbxhy - $b. %b'blcJcmcFbGbZe0eBhHbIbDhEhFhGhHhIhnc1eJhKhLhMhOh2e3ePhQhRhz ShTh4e5eUhVh!dWhXhYhZh7h8h#e$e%eocpcqcrclbmbo (b$h%hrd(h)b'e(ee +h.h*b)e/h:h;h=h?htjnb[hA [ +b] ,b-bscKctcJbKb+e,e`hLbMb|h}h~haibiciuc-edieifigiii.e/ejikiliB mini:e;eoipi,dqirisitiBiCi^e_e`evcwcxcycobpbq .bGiHiwdJi/b{e|ef MiPi:b}eQiRiSiTiUiujqbWiC ~ ;bab=b?bzcLcAcNbObafbf0iPbQb2i3i4i5i6i7iBccf8i9i!i#i%idfef'i(i)iD *i+iffgf,i-i[d.i/i:i;i`i{imfnfofCcDcEcFcrbsb

288 operation["parameters"] = list(all_parameters.values()) 2g Rbqfrf|ctfSb]d^da wfzfTb_dAfBfCfDfpjbbFfs W UbX VbWb@bGc[btbub{d|dJfvbwbLfMfNfOfPfQf]b}dRfSfTfUfWf~daeXfYfZft 0f1fbece2f3fJd4f5f6f7f(f)fheieje^b_b`b{bcbdbi Xb-f.fcd:fYbkeleb ?f]fZbme^f_f`f{fqjeb}fu 4 0b5 1b2b|bHc}bxbyboepecgzbAbegfggghgigjg~bqekglgmgngpgreseqgrgsgv tgugteuevgwgSdxgygzgAgIgJgzeAeBeacbcccdcfbgbk 3bNgOghdQg4bCeDec TgWg5bEeXgYgZg0g1grjhb3gw $ 6b% 7b8becIcfcBbCbGeHe7gDbEb9g!g#g$g%g'ggcIe(g)g*g+g-gJeKe.g/g:gx ;g=gLeMe?g@g1d[g]g^g_gchdhSeTeUehcicjckcibjbm 9bhhihmdkh!bVeWed nhqh#bXerhshthuhvhsjkbxhy - $b. %b'blcJcmcFbGbZe0eBhHbIbDhEhFhGhHhIhnc1eJhKhLhMhOh2e3ePhQhRhz ShTh4e5eUhVh!dWhXhYhZh7h8h#e$e%eocpcqcrclbmbo (b$h%hrd(h)b'e(ee +h.h*b)e/h:h;h=h?htjnb[hA [ +b] ,b-bscKctcJbKb+e,e`hLbMb|h}h~haibiciuc-edieifigiii.e/ejikiliB mini:e;eoipi,dqirisitiBiCi^e_e`evcwcxcycobpbq .bGiHiwdJi/b{e|ef MiPi:b}eQiRiSiTiUiujqbWiC ~ ;bab=b?bzcLcAcNbObafbf0iPbQb2i3i4i5i6i7iBccf8i9i!i#i%idfef'i(i)iD *i+iffgf,i-i[d.i/i:i;i`i{imfnfofCcDcEcFcrbsb

289 if method in METHODS_WITH_BODY: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

290 request_body_oai = get_openapi_operation_request_body( 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

291 body_field=route.body_field, 

292 schema_generator=schema_generator, 

293 model_name_map=model_name_map, 

294 field_mapping=field_mapping, 

295 separate_input_output_schemas=separate_input_output_schemas, 

296 ) 

297 if request_body_oai: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

298 operation["requestBody"] = request_body_oai 2pf~isfSbufQ h R S T U V [cvfxfyfTbE F Efbb4c5c6cs GfHf@bGc[bIftbubKfvbwb]b~cVft McFdGdHdId8faj9fdeee!f#f$f%f'ffege^b_b`b{b7cScadbdcbdb*f+fTc,fbj/fYb;fY j Z 0 1 2 3 ]c=f@f[fZbG H |feb8c9c!cu ~fag|bHc}bbgxbybdgzbAb~bedogv NcOdPdQdRdBgcjCgveweDgEgFgGgHgxeyeacbcccdc#cUcfdgdfbgbKgLgVcMgdjPg4bRg6 l 7 8 9 ! # ^cSgUgVg5bI J ej2ghb$c%c'cw 4g5gecIcfc6gBbCb8gDbEbgcjd,gx OcXdYdZd0d`gfj{gNeOe|g}g~gahbhPeQeRehcicjckc(cWckdldibjbehfhXcghgjjh!blh' n ( ) * + , _cmhohph#bK L hjwhkb)c*c+cy yhzhlcJcmcAhFbGbChHbIbncodNhz Pc6d7d8d9d0hij1h6e7e2h3h4h5h6h8e9e!eocpcqcrc,cYcpdqdlbmb9h!hZc#hjj'h)b)h/ p : ; = ? @ `c*h,h-h*bM N kj@hnb-c.c/cA ]h^hscKctc_hJbKb{hLbMbuctdhiB Qc(d)d*d+duiljvi=e?ewixiyiziAi@e[e]evcwcxcyc:c0cudvdobpbDiEi1cFimjIi/bKi^ r _ ` { | } {cLiNiOi:bO P njViqb;c=c?cC XiYizcLcAcZiNbOb1iPbQbBcyd$iD Rc;d=d?d@d=ioj?ihfif@i[i]i^i_ijfkflfCcDcEcFc@c2czdAdrbsb|i}i3c

299 if route.callbacks: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

300 callbacks = {} 1ghastijbuvklcwxmndyzopeABqrfCD

301 for callback in route.callbacks: 1ghastijbuvklcwxmndyzopeABqrfCD

302 if isinstance(callback, routing.APIRoute): 1ghastijbuvklcwxmndyzopeABqrfCD

303 ( 1ghastijbuvklcwxmndyzopeABqrfCD

304 cb_path, 

305 cb_security_schemes, 

306 cb_definitions, 

307 ) = get_openapi_path( 

308 route=callback, 

309 operation_ids=operation_ids, 

310 schema_generator=schema_generator, 

311 model_name_map=model_name_map, 

312 field_mapping=field_mapping, 

313 separate_input_output_schemas=separate_input_output_schemas, 

314 ) 

315 callbacks[callback.name] = {callback.path: cb_path} 1ghastijbuvklcwxmndyzopeABqrfCD

316 operation["callbacks"] = callbacks 1ghastijbuvklcwxmndyzopeABqrfCD

317 if route.status_code is not None: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

318 status_code = str(route.status_code) 2|cpj}cGocdqjddHohdrjidIomdsjndJordtjsdKowdujxdLo

319 else: 

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

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

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

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

324 # responses in Starlette 

325 response_signature = inspect.signature(current_response_class.__init__) 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{f|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1g2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?h@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

326 status_code_param = response_signature.parameters.get("status_code") 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{f|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1g2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?h@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

327 if status_code_param is not None: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{f|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1g2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?h@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

328 if isinstance(status_code_param.default, int): 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{f|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1g2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?h@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

329 status_code = str(status_code_param.default) 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{f|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1g2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?h@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

330 operation.setdefault("responses", {}).setdefault(status_code, {})[ 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

331 "description" 

332 ] = route.response_description 

333 if route_response_media_type and is_body_allowed_for_status_code( 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

334 route.status_code 

335 ): 

336 response_schema = {"type": "string"} 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{f|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCndg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1g2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRn8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?h@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.n{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~n1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

337 if lenient_issubclass(current_response_class, JSONResponse): 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{f|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCndg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1g2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRn8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?h@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.n{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~n1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

338 if route.response_field: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmnnnKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{f|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnCndg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1g2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnRn8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5n6nCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?h@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-n.n{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}n~n1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

339 response_schema = get_schema_from_model_field( 2|cDd1l2l]d^dQ h R S T U V E F 3lVls W UbX Vbtbub4lvbwb}d5ltm~ct FdGdHdIdfegeheiejeScadbdcbdbcdMd6l7lkeleY j Z 0 1 2 3 G H 8lWlu 4 0b5 1bxbyb9lzbAbqe!lHmedv OdPdQdRdxeyezeAeBeUcfdgdfbgbhdVd#l$lCeDe6 l 7 8 9 ! # I J %lXlw $ 6b% 7bBbCb'lDbEbIe(lVmjdx XdYdZd0dPeQeReSeTeUeWckdldibjbmd4d)l*lVeWe' n ( ) * + , K L +lYly - $b. %bFbGb,lHbIb1e-l9modz 6d7d8d9d8e9e!e#e$e%eYcpdqdlbmbrd%d.l/l'e(e/ p : ; = ? @ M N :lZlA [ +b] ,bJbKb;lLbMb-e=l:mtdB (d)d*d+d@e[e]e^e_e`e0cudvdobpbwd/d?l@l{e|e^ r _ ` { | } O P [l0lC ~ ;bab=bNbOb]lPbQbcf^lanydD ;d=d?d@djfkflfmfnfof2czdAdrbsb

340 field=route.response_field, 

341 schema_generator=schema_generator, 

342 model_name_map=model_name_map, 

343 field_mapping=field_mapping, 

344 separate_input_output_schemas=separate_input_output_schemas, 

345 ) 

346 else: 

347 response_schema = {} 2pf~ihnAog RbqfBdCdrf|cinsfmmtfSbuf[cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfEfEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfpmqmrmsmWbHf@bGc[bIfkn{d|dJflnmnnnKfLfMfNfOfPfonQf_l]bpnRfSfTfUfVfWf~daeXfYfZfJlKl`lt Mcqnrnumvmwmxmym{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'f(fsn)f^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdxn/fAm:fYb;f]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{f|fNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~fDmEmFmGm2bag|bHc}bbgznoepecgAnBnCndgegfggghgigDnjg|l~bEnkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnImJmKmLmMm~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgIgHnJgacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdMnPgOmQg4bRg^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1g2gWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4gRmSmTmUm8b5gecIcfc6gOnGeHe7gPnQnRn8g9g!g#g$g%gSn'gamgcTn(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnWmXmYmZm0mcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhchWndhhcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd1njh2mkh!blh_c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhwh5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh5m6m7m8m'bzhlcJcmcAh3nZe0eBh4n5n6nChDhEhFhGhHh7nIhdmnc8nJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n!m#m$m%m'mfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h7h#n8hocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd)n'h)m(h)b)h`c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?h@h'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h,m-m.m/m-b^hscKctc_h+n+e,e`h,n-n.n{h|h}h~haibi/ncigmuc:ndieifigihiii.e/ejikiliRlSlhmB Qc;n=n;m=m?m@m[mimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAiBi?nCivcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd_nIi^mJi/bKi{c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiVi:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi{m|m}m~m?bYizcLcAcZi{nafbf0i|n}n~n1i2i3i4i5i6iao7ijmBcbo8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodobncndnenfnlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_i`ieo{iCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

348 operation.setdefault("responses", {}).setdefault( 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{f|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCndg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1g2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRn8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?h@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.n{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~n1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

349 status_code, {} 

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

351 "schema" 

352 ] = response_schema 

353 if route.responses: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

354 operation_responses = operation.setdefault("responses", {}) 2Aog RbBdCdDdQ h R S T U V a E F Ed}c`dW UbX VbWbBoi XbKdLdMdY j Z 0 1 2 3 b G H Ndddne4 0b5 1b2bCok 3bTdUdVd6 l 7 8 9 ! # c I J WdidFe$ 6b% 7b8bDom 9b2d3d4d' n ( ) * + , d K L 5dndYe- $b. %b'bEoo (b#d$d%d/ p : ; = ? @ e M N 'dsd*e[ +b] ,b-bFoq .b-d.d/d^ r _ ` { | } f O P :dxd~e~ ;bab=b?b

355 for ( 2Aog RbBdCdDdQ h R S T U V a E F Ed}c`dW UbX VbWbBoi XbKdLdMdY j Z 0 1 2 3 b G H Ndddne4 0b5 1b2bCok 3bTdUdVd6 l 7 8 9 ! # c I J WdidFe$ 6b% 7b8bDom 9b2d3d4d' n ( ) * + , d K L 5dndYe- $b. %b'bEoo (b#d$d%d/ p : ; = ? @ e M N 'dsd*e[ +b] ,b-bFoq .b-d.d/d^ r _ ` { | } f O P :dxd~e~ ;bab=b?b

356 additional_status_code, 

357 additional_response, 

358 ) in route.responses.items(): 

359 process_response = additional_response.copy() 2Aog RbBdCdDdQ h R S T U V a E F Ed}c`dW UbX VbWbBoi XbKdLdMdY j Z 0 1 2 3 b G H Ndddne4 0b5 1b2bCok 3bTdUdVd6 l 7 8 9 ! # c I J WdidFe$ 6b% 7b8bDom 9b2d3d4d' n ( ) * + , d K L 5dndYe- $b. %b'bEoo (b#d$d%d/ p : ; = ? @ e M N 'dsd*e[ +b] ,b-bFoq .b-d.d/d^ r _ ` { | } f O P :dxd~e~ ;bab=b?b

360 process_response.pop("model", None) 2Aog RbBdCdDdQ h R S T U V a E F Ed}c`dW UbX VbWbBoi XbKdLdMdY j Z 0 1 2 3 b G H Ndddne4 0b5 1b2bCok 3bTdUdVd6 l 7 8 9 ! # c I J WdidFe$ 6b% 7b8bDom 9b2d3d4d' n ( ) * + , d K L 5dndYe- $b. %b'bEoo (b#d$d%d/ p : ; = ? @ e M N 'dsd*e[ +b] ,b-bFoq .b-d.d/d^ r _ ` { | } f O P :dxd~e~ ;bab=b?b

361 status_code_key = str(additional_status_code).upper() 2Aog RbBdCdDdQ h R S T U V a E F Ed}c`dW UbX VbWbBoi XbKdLdMdY j Z 0 1 2 3 b G H Ndddne4 0b5 1b2bCok 3bTdUdVd6 l 7 8 9 ! # c I J WdidFe$ 6b% 7b8bDom 9b2d3d4d' n ( ) * + , d K L 5dndYe- $b. %b'bEoo (b#d$d%d/ p : ; = ? @ e M N 'dsd*e[ +b] ,b-bFoq .b-d.d/d^ r _ ` { | } f O P :dxd~e~ ;bab=b?b

362 if status_code_key == "DEFAULT": 2Aog RbBdCdDdQ h R S T U V a E F Ed}c`dW UbX VbWbBoi XbKdLdMdY j Z 0 1 2 3 b G H Ndddne4 0b5 1b2bCok 3bTdUdVd6 l 7 8 9 ! # c I J WdidFe$ 6b% 7b8bDom 9b2d3d4d' n ( ) * + , d K L 5dndYe- $b. %b'bEoo (b#d$d%d/ p : ; = ? @ e M N 'dsd*e[ +b] ,b-bFoq .b-d.d/d^ r _ ` { | } f O P :dxd~e~ ;bab=b?b

363 status_code_key = "default" 2CdLdUd3d$d.d

364 openapi_response = operation_responses.setdefault( 2Aog RbBdCdDdQ h R S T U V a E F Ed}c`dW UbX VbWbBoi XbKdLdMdY j Z 0 1 2 3 b G H Ndddne4 0b5 1b2bCok 3bTdUdVd6 l 7 8 9 ! # c I J WdidFe$ 6b% 7b8bDom 9b2d3d4d' n ( ) * + , d K L 5dndYe- $b. %b'bEoo (b#d$d%d/ p : ; = ? @ e M N 'dsd*e[ +b] ,b-bFoq .b-d.d/d^ r _ ` { | } f O P :dxd~e~ ;bab=b?b

365 status_code_key, {} 

366 ) 

367 assert isinstance(process_response, dict), ( 2Aog RbBdCdDdQ h R S T U V a E F Ed}c`dW UbX VbWbBoi XbKdLdMdY j Z 0 1 2 3 b G H Ndddne4 0b5 1b2bCok 3bTdUdVd6 l 7 8 9 ! # c I J WdidFe$ 6b% 7b8bDom 9b2d3d4d' n ( ) * + , d K L 5dndYe- $b. %b'bEoo (b#d$d%d/ p : ; = ? @ e M N 'dsd*e[ +b] ,b-bFoq .b-d.d/d^ r _ ` { | } f O P :dxd~e~ ;bab=b?b

368 "An additional response must be a dict" 

369 ) 

370 field = route.response_fields.get(additional_status_code) 2Aog RbBdCdDdQ h R S T U V a E F Ed}c`dW UbX VbWbBoi XbKdLdMdY j Z 0 1 2 3 b G H Ndddne4 0b5 1b2bCok 3bTdUdVd6 l 7 8 9 ! # c I J WdidFe$ 6b% 7b8bDom 9b2d3d4d' n ( ) * + , d K L 5dndYe- $b. %b'bEoo (b#d$d%d/ p : ; = ? @ e M N 'dsd*e[ +b] ,b-bFoq .b-d.d/d^ r _ ` { | } f O P :dxd~e~ ;bab=b?b

371 additional_field_schema: Optional[Dict[str, Any]] = None 2Aog RbBdCdDdQ h R S T U V a E F Ed}c`dW UbX VbWbBoi XbKdLdMdY j Z 0 1 2 3 b G H Ndddne4 0b5 1b2bCok 3bTdUdVd6 l 7 8 9 ! # c I J WdidFe$ 6b% 7b8bDom 9b2d3d4d' n ( ) * + , d K L 5dndYe- $b. %b'bEoo (b#d$d%d/ p : ; = ? @ e M N 'dsd*e[ +b] ,b-bFoq .b-d.d/d^ r _ ` { | } f O P :dxd~e~ ;bab=b?b

372 if field: 2Aog RbBdCdDdQ h R S T U V a E F Ed}c`dW UbX VbWbBoi XbKdLdMdY j Z 0 1 2 3 b G H Ndddne4 0b5 1b2bCok 3bTdUdVd6 l 7 8 9 ! # c I J WdidFe$ 6b% 7b8bDom 9b2d3d4d' n ( ) * + , d K L 5dndYe- $b. %b'bEoo (b#d$d%d/ p : ; = ? @ e M N 'dsd*e[ +b] ,b-bFoq .b-d.d/d^ r _ ` { | } f O P :dxd~e~ ;bab=b?b

373 additional_field_schema = get_schema_from_model_field( 2g RbBdCdDdQ h R S T U V E F Ed}c`dW X i XbKdLdMdY j Z 0 1 2 3 G H Ndddne4 5 k 3bTdUdVd6 l 7 8 9 ! # I J WdidFe$ % m 9b2d3d4d' n ( ) * + , K L 5dndYe- . o (b#d$d%d/ p : ; = ? @ M N 'dsd*e[ ] q .b-d.d/d^ r _ ` { | } O P :dxd~e~ ab

374 field=field, 

375 schema_generator=schema_generator, 

376 model_name_map=model_name_map, 

377 field_mapping=field_mapping, 

378 separate_input_output_schemas=separate_input_output_schemas, 

379 ) 

380 media_type = route_response_media_type or "application/json" 2g RbBdCdDdQ h R S T U V E F Ed}c`dW X i XbKdLdMdY j Z 0 1 2 3 G H Ndddne4 5 k 3bTdUdVd6 l 7 8 9 ! # I J WdidFe$ % m 9b2d3d4d' n ( ) * + , K L 5dndYe- . o (b#d$d%d/ p : ; = ? @ M N 'dsd*e[ ] q .b-d.d/d^ r _ ` { | } O P :dxd~e~ ab

381 additional_schema = ( 2g RbBdCdDdQ h R S T U V E F Ed}c`dW X i XbKdLdMdY j Z 0 1 2 3 G H Ndddne4 5 k 3bTdUdVd6 l 7 8 9 ! # I J WdidFe$ % m 9b2d3d4d' n ( ) * + , K L 5dndYe- . o (b#d$d%d/ p : ; = ? @ M N 'dsd*e[ ] q .b-d.d/d^ r _ ` { | } O P :dxd~e~ ab

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

383 .setdefault(media_type, {}) 

384 .setdefault("schema", {}) 

385 ) 

386 deep_dict_update(additional_schema, additional_field_schema) 2g RbBdCdDdQ h R S T U V E F Ed}c`dW X i XbKdLdMdY j Z 0 1 2 3 G H Ndddne4 5 k 3bTdUdVd6 l 7 8 9 ! # I J WdidFe$ % m 9b2d3d4d' n ( ) * + , K L 5dndYe- . o (b#d$d%d/ p : ; = ? @ M N 'dsd*e[ ] q .b-d.d/d^ r _ ` { | } O P :dxd~e~ ab

387 status_text: Optional[str] = status_code_ranges.get( 2Aog RbBdCdDdQ h R S T U V a E F Ed}c`dW UbX VbWbBoi XbKdLdMdY j Z 0 1 2 3 b G H Ndddne4 0b5 1b2bCok 3bTdUdVd6 l 7 8 9 ! # c I J WdidFe$ 6b% 7b8bDom 9b2d3d4d' n ( ) * + , d K L 5dndYe- $b. %b'bEoo (b#d$d%d/ p : ; = ? @ e M N 'dsd*e[ +b] ,b-bFoq .b-d.d/d^ r _ ` { | } f O P :dxd~e~ ;bab=b?b

388 str(additional_status_code).upper() 

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

390 description = ( 2g RbBdCdDdQ h R S T U V a E F Ed}c`dW UbX VbWbi XbKdLdMdY j Z 0 1 2 3 b G H Ndddne4 0b5 1b2bk 3bTdUdVd6 l 7 8 9 ! # c I J WdidFe$ 6b% 7b8bm 9b2d3d4d' n ( ) * + , d K L 5dndYe- $b. %b'bo (b#d$d%d/ p : ; = ? @ e M N 'dsd*e[ +b] ,b-bq .b-d.d/d^ r _ ` { | } f O P :dxd~e~ ;bab=b?b

391 process_response.get("description") 

392 or openapi_response.get("description") 

393 or status_text 

394 or "Additional Response" 

395 ) 

396 deep_dict_update(openapi_response, process_response) 2g RbBdCdDdQ h R S T U V a E F Ed}c`dW UbX VbWbi XbKdLdMdY j Z 0 1 2 3 b G H Ndddne4 0b5 1b2bk 3bTdUdVd6 l 7 8 9 ! # c I J WdidFe$ 6b% 7b8bm 9b2d3d4d' n ( ) * + , d K L 5dndYe- $b. %b'bo (b#d$d%d/ p : ; = ? @ e M N 'dsd*e[ +b] ,b-bq .b-d.d/d^ r _ ` { | } f O P :dxd~e~ ;bab=b?b

397 openapi_response["description"] = description 2g RbBdCdDdQ h R S T U V a E F Ed}c`dW UbX VbWbi XbKdLdMdY j Z 0 1 2 3 b G H Ndddne4 0b5 1b2bk 3bTdUdVd6 l 7 8 9 ! # c I J WdidFe$ 6b% 7b8bm 9b2d3d4d' n ( ) * + , d K L 5dndYe- $b. %b'bo (b#d$d%d/ p : ; = ? @ e M N 'dsd*e[ +b] ,b-bq .b-d.d/d^ r _ ` { | } f O P :dxd~e~ ;bab=b?b

398 http422 = str(HTTP_422_UNPROCESSABLE_ENTITY) 2pf~ihng RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwni Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnk 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nm 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(no (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

399 all_route_params = get_flat_params(route.dependant) 2pf~ihng RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwni Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnk 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nm 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(no (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

400 if (all_route_params or route.body_field) and not any( 2pf~ihng RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwni Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnk 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nm 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(no (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

401 status in operation["responses"] 

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

403 ): 

404 operation["responses"][http422] = { 2pf~ig qfrf|csftfSb]d^dufQ h R S T U V [cvfa wfxfyfzfTb_dE F AfvjBfCfDfpjEfbb4c5c6cFfs GfW UbX VbWbHf@bGc[bIftbub{d|dJfKfvbwbLfMfNfOfPfQf]b}d~cRfSfTfUfVfWf~daeXfYfZft McFdGdHdId0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(f)fheieje^b_b`b{b7cScadbdcbdb*f+fTc,fbji -f.fcd/f:fYbkele;fY j Z 0 1 2 3 ]c=fb ?f@f[f]fZbmeG H ^fxj_f`f{fqj|feb8c9c!c}fu ~f4 0b5 1b2bag|bHc}bbgxbyboepecgdgzbAbegfggghgigjg~bqeedkglgmgngogpgreseqgrgsgv NcOdPdQdRdtgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgJgzeAeBeacbcccdc#cUcfdgdfbgbKgLgVcMgdjk NgOghdPgQg4bCeDeRg6 l 7 8 9 ! # ^cSgc TgUgVgWg5bEeI J XgzjYgejZg0g1grj2ghb$c%c'c3gw 4g$ 6b% 7b8b5gecIcfc6gBbCbGeHe7g8gDbEb9g!g#g$g%g'ggcIejd(g)g*g+g,g-gJeKe.g/g:gx OcXdYdZd0d;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechdhReSeTeUehcicjckc(cWckdldibjbehfhXcghgjm hhihmdjhkh!bVeWelh' n ( ) * + , _cmhd nhohphqh#bXeK L rhBjshhjthuhvhsjwhkb)c*c+cxhy yh- $b. %b'bzhlcJcmcAhFbGbZe0eBhChHbIbDhEhFhGhHhIhnc1eodJhKhLhMhNhOh2e3ePhQhRhz Pc6d7d8d9dShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h8h!e#e$e%eocpcqcrc,cYcpdqdlbmb9h!hZc#hjjo $h%hrd'h(h)b'e(e)h/ p : ; = ? @ `c*he +h,h-h.h*b)eM N /hDj:hkj;h=h?htj@hnb-c.c/c[hA ]h[ +b] ,b-b^hscKctc_hJbKb+e,e`h{hLbMb|h}h~haibiciuc-etddieifigihiii.e/ejikiliB Qc(d)d*d+dmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBiCi]e^e_e`evcwcxcyc:c0cudvdobpbDiEi1cFimjq GiHiwdIiJi/b{e|eKi^ r _ ` { | } {cLif MiNiOiPi:b}eO P QiFjRinjSiTiUiujViqb;c=c?cWiC Xi~ ;bab=b?bYizcLcAcZiNbObafbf0i1iPbQb2i3i4i5i6i7iBccfyd8i9i!i#i$i%idfef'i(i)iD Rc;d=d?d@d*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`i{ilfmfnfofCcDcEcFc@c2czdAdrbsb|i}i3c

405 "description": "Validation Error", 

406 "content": { 

407 "application/json": { 

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

409 } 

410 }, 

411 } 

412 if "ValidationError" not in definitions: 2pf~ig qfrf|csftfSb]d^dufQ h R S T U V [cvfa wfxfyfzfTb_dE F AfvjBfCfDfpjEfbb4c5c6cFfs GfW UbX VbWbHf@bGc[bIftbub{d|dJfKfvbwbLfMfNfOfPfQf]b}d~cRfSfTfUfVfWf~daeXfYfZft McFdGdHdId0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(f)fheieje^b_b`b{b7cScadbdcbdb*f+fTc,fbji -f.fcd/f:fYbkele;fY j Z 0 1 2 3 ]c=fb ?f@f[f]fZbmeG H ^fxj_f`f{fqj|feb8c9c!c}fu ~f4 0b5 1b2bag|bHc}bbgxbyboepecgdgzbAbegfggghgigjg~bqeedkglgmgngogpgreseqgrgsgv NcOdPdQdRdtgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgJgzeAeBeacbcccdc#cUcfdgdfbgbKgLgVcMgdjk NgOghdPgQg4bCeDeRg6 l 7 8 9 ! # ^cSgc TgUgVgWg5bEeI J XgzjYgejZg0g1grj2ghb$c%c'c3gw 4g$ 6b% 7b8b5gecIcfc6gBbCbGeHe7g8gDbEb9g!g#g$g%g'ggcIejd(g)g*g+g,g-gJeKe.g/g:gx OcXdYdZd0d;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechdhReSeTeUehcicjckc(cWckdldibjbehfhXcghgjm hhihmdjhkh!bVeWelh' n ( ) * + , _cmhd nhohphqh#bXeK L rhBjshhjthuhvhsjwhkb)c*c+cxhy yh- $b. %b'bzhlcJcmcAhFbGbZe0eBhChHbIbDhEhFhGhHhIhnc1eodJhKhLhMhNhOh2e3ePhQhRhz Pc6d7d8d9dShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h8h!e#e$e%eocpcqcrc,cYcpdqdlbmb9h!hZc#hjjo $h%hrd'h(h)b'e(e)h/ p : ; = ? @ `c*he +h,h-h.h*b)eM N /hDj:hkj;h=h?htj@hnb-c.c/c[hA ]h[ +b] ,b-b^hscKctc_hJbKb+e,e`h{hLbMb|h}h~haibiciuc-etddieifigihiii.e/ejikiliB Qc(d)d*d+dmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBiCi]e^e_e`evcwcxcyc:c0cudvdobpbDiEi1cFimjq GiHiwdIiJi/b{e|eKi^ r _ ` { | } {cLif MiNiOiPi:b}eO P QiFjRinjSiTiUiujViqb;c=c?cWiC Xi~ ;bab=b?bYizcLcAcZiNbObafbf0i1iPbQb2i3i4i5i6i7iBccfyd8i9i!i#i$i%idfef'i(i)iD Rc;d=d?d@d*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`i{ilfmfnfofCcDcEcFc@c2czdAdrbsb|i}i3c

413 definitions.update( 2pf~ig qfrf|csftfSb]d^dufQ h R S T U V [cvfa wfxfyfzfTb_dE F AfvjBfCfDfpjEfbb4c5c6cFfs GfW UbX VbWbHf@bGc[bIftbub{d|dJfKfvbwbLfMfNfOfPfQf]b}d~cRfSfTfUfVfWf~daeXfYfZft McFdGdHdId0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(f)fheieje^b_b`b{b7cScadbdcbdb*f+fTc,fbji -f.fcd/f:fYbkele;fY j Z 0 1 2 3 ]c=fb ?f@f[f]fZbmeG H ^fxj_f`f{fqj|feb8c9c!c}fu ~f4 0b5 1b2bag|bHc}bbgxbyboepecgdgzbAbegfggghgigjg~bqeedkglgmgngogpgreseqgrgsgv NcOdPdQdRdtgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgJgzeAeBeacbcccdc#cUcfdgdfbgbKgLgVcMgdjk NgOghdPgQg4bCeDeRg6 l 7 8 9 ! # ^cSgc TgUgVgWg5bEeI J XgzjYgejZg0g1grj2ghb$c%c'c3gw 4g$ 6b% 7b8b5gecIcfc6gBbCbGeHe7g8gDbEb9g!g#g$g%g'ggcIejd(g)g*g+g,g-gJeKe.g/g:gx OcXdYdZd0d;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechdhReSeTeUehcicjckc(cWckdldibjbehfhXcghgjm hhihmdjhkh!bVeWelh' n ( ) * + , _cmhd nhohphqh#bXeK L rhBjshhjthuhvhsjwhkb)c*c+cxhy yh- $b. %b'bzhlcJcmcAhFbGbZe0eBhChHbIbDhEhFhGhHhIhnc1eodJhKhLhMhNhOh2e3ePhQhRhz Pc6d7d8d9dShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h8h!e#e$e%eocpcqcrc,cYcpdqdlbmb9h!hZc#hjjo $h%hrd'h(h)b'e(e)h/ p : ; = ? @ `c*he +h,h-h.h*b)eM N /hDj:hkj;h=h?htj@hnb-c.c/c[hA ]h[ +b] ,b-b^hscKctc_hJbKb+e,e`h{hLbMb|h}h~haibiciuc-etddieifigihiii.e/ejikiliB Qc(d)d*d+dmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBiCi]e^e_e`evcwcxcyc:c0cudvdobpbDiEi1cFimjq GiHiwdIiJi/b{e|eKi^ r _ ` { | } {cLif MiNiOiPi:b}eO P QiFjRinjSiTiUiujViqb;c=c?cWiC Xi~ ;bab=b?bYizcLcAcZiNbObafbf0i1iPbQb2i3i4i5i6i7iBccfyd8i9i!i#i$i%idfef'i(i)iD Rc;d=d?d@d*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`i{ilfmfnfofCcDcEcFc@c2czdAdrbsb|i}i3c

414 { 

415 "ValidationError": validation_error_definition, 

416 "HTTPValidationError": validation_error_response_definition, 

417 } 

418 ) 

419 if route.openapi_extra: 2pf~ihng RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwni Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnk 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nm 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(no (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

420 deep_dict_update(operation, route.openapi_extra) 2_dnmumvmwmxmmeBmImJmKmLmEePmWmXmYmZmXe3m!m#m$m%m)e*m;m=m?m@m}e_mbncndnen

421 path[method.lower()] = operation 2pf~ihng RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwni Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnk 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nm 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(no (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

422 return path, security_schemes, definitions 2pf~ihng RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwni Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnk 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nm 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(no (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

423 

424 

425def get_fields_from_routes( 2SoToUoVoWoXo

426 routes: Sequence[BaseRoute], 

427) -> List[ModelField]: 

428 body_fields_from_routes: List[ModelField] = [] 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

429 responses_from_routes: List[ModelField] = [] 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

430 request_fields_from_routes: List[ModelField] = [] 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

431 callback_flat_models: List[ModelField] = [] 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

432 for route in routes: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

433 if getattr(route, "include_in_schema", None) and isinstance( 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

434 route, routing.APIRoute 

435 ): 

436 if route.body_field: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

437 assert isinstance(route.body_field, ModelField), ( 2pf~isfSbufQ h R S T U V [cvfxfyfTbE F Efbb4c5c6cs GfHf@bGc[bIftbubKfvbwb]b~cVft McFdGdHdId8faj9fdeee!f#f$f%f'ffege^b_b`b{b7cScadbdcbdb*f+fTc,fbj/fYb;fY j Z 0 1 2 3 ]c=f@f[fZbG H |feb8c9c!cu ~fag|bHc}bbgxbybdgzbAb~bedogv NcOdPdQdRdBgcjCgveweDgEgFgGgHgxeyeacbcccdc#cUcfdgdfbgbKgLgVcMgdjPg4bRg6 l 7 8 9 ! # ^cSgUgVg5bI J ej2ghb$c%c'cw 4g5gecIcfc6gBbCb8gDbEbgcjd,gx OcXdYdZd0d`gfj{gNeOe|g}g~gahbhPeQeRehcicjckc(cWckdldibjbehfhXcghgjjh!blh' n ( ) * + , _cmhohph#bK L hjwhkb)c*c+cy yhzhlcJcmcAhFbGbChHbIbncodNhz Pc6d7d8d9d0hij1h6e7e2h3h4h5h6h8e9e!eocpcqcrc,cYcpdqdlbmb9h!hZc#hjj'h)b)h/ p : ; = ? @ `c*h,h-h*bM N kj@hnb-c.c/cA ]h^hscKctc_hJbKb{hLbMbuctdhiB Qc(d)d*d+duiljvi=e?ewixiyiziAi@e[e]evcwcxcyc:c0cudvdobpbDiEi1cFimjIi/bKi^ r _ ` { | } {cLiNiOi:bO P njViqb;c=c?cC XiYizcLcAcZiNbOb1iPbQbBcyd$iD Rc;d=d?d@d=ioj?ihfif@i[i]i^i_ijfkflfCcDcEcFc@c2czdAdrbsb|i}i3c

438 "A request body must be a Pydantic Field" 

439 ) 

440 body_fields_from_routes.append(route.body_field) 2pf~isfSbufQ h R S T U V [cvfxfyfTbE F Efbb4c5c6cs GfHf@bGc[bIftbubKfvbwb]b~cVft McFdGdHdId8faj9fdeee!f#f$f%f'ffege^b_b`b{b7cScadbdcbdb*f+fTc,fbj/fYb;fY j Z 0 1 2 3 ]c=f@f[fZbG H |feb8c9c!cu ~fag|bHc}bbgxbybdgzbAb~bedogv NcOdPdQdRdBgcjCgveweDgEgFgGgHgxeyeacbcccdc#cUcfdgdfbgbKgLgVcMgdjPg4bRg6 l 7 8 9 ! # ^cSgUgVg5bI J ej2ghb$c%c'cw 4g5gecIcfc6gBbCb8gDbEbgcjd,gx OcXdYdZd0d`gfj{gNeOe|g}g~gahbhPeQeRehcicjckc(cWckdldibjbehfhXcghgjjh!blh' n ( ) * + , _cmhohph#bK L hjwhkb)c*c+cy yhzhlcJcmcAhFbGbChHbIbncodNhz Pc6d7d8d9d0hij1h6e7e2h3h4h5h6h8e9e!eocpcqcrc,cYcpdqdlbmb9h!hZc#hjj'h)b)h/ p : ; = ? @ `c*h,h-h*bM N kj@hnb-c.c/cA ]h^hscKctc_hJbKb{hLbMbuctdhiB Qc(d)d*d+duiljvi=e?ewixiyiziAi@e[e]evcwcxcyc:c0cudvdobpbDiEi1cFimjIi/bKi^ r _ ` { | } {cLiNiOi:bO P njViqb;c=c?cC XiYizcLcAcZiNbOb1iPbQbBcyd$iD Rc;d=d?d@d=ioj?ihfif@i[i]i^i_ijfkflfCcDcEcFc@c2czdAdrbsb|i}i3c

441 if route.response_field: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

442 responses_from_routes.append(route.response_field) 2|cDd1l2l]d^dQ h R S T U V E F 3lVls W UbX Vbtbub4lvbwb}d5ltm~ct FdGdHdIdfegeheiejeScadbdcbdbcdMd6l7lkeleY j Z 0 1 2 3 G H 8lWlu 4 0b5 1bxbyb9lzbAbqe!lHmedv OdPdQdRdxeyezeAeBeUcfdgdfbgbhdVd#l$lCeDe6 l 7 8 9 ! # I J %lXlw $ 6b% 7bBbCb'lDbEbIe(lVmjdx XdYdZd0dPeQeReSeTeUeWckdldibjbmd4d)l*lVeWe' n ( ) * + , K L +lYly - $b. %bFbGb,lHbIb1e-l9modz 6d7d8d9d8e9e!e#e$e%eYcpdqdlbmbrd%d.l/l'e(e/ p : ; = ? @ M N :lZlA [ +b] ,bJbKb;lLbMb-e=l:mtdB (d)d*d+d@e[e]e^e_e`e0cudvdobpbwd/d?l@l{e|e^ r _ ` { | } O P [l0lC ~ ;bab=bNbOb]lPbQbcf^lanydD ;d=d?d@djfkflfmfnfof2czdAdrbsb

443 if route.response_fields: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

444 responses_from_routes.extend(route.response_fields.values()) 2g RbBdCdDdQ h R S T U V E F Ed}c`dW X i XbKdLdMdY j Z 0 1 2 3 G H Ndddne4 5 k 3bTdUdVd6 l 7 8 9 ! # I J WdidFe$ % m 9b2d3d4d' n ( ) * + , K L 5dndYe- . o (b#d$d%d/ p : ; = ? @ M N 'dsd*e[ ] q .b-d.d/d^ r _ ` { | } O P :dxd~e~ ab

445 if route.callbacks: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

446 callback_flat_models.extend(get_fields_from_routes(route.callbacks)) 1ghastijbuvklcwxmndyzopeABqrfCD

447 params = get_flat_params(route.dependant) 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

448 request_fields_from_routes.extend(params) 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

449 

450 flat_models = callback_flat_models + list( 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

451 body_fields_from_routes + responses_from_routes + request_fields_from_routes 

452 ) 

453 return flat_models 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

454 

455 

456def get_openapi( 2SoToUoVoWoXo

457 *, 

458 title: str, 

459 version: str, 

460 openapi_version: str = "3.1.0", 

461 summary: Optional[str] = None, 

462 description: Optional[str] = None, 

463 routes: Sequence[BaseRoute], 

464 webhooks: Optional[Sequence[BaseRoute]] = None, 

465 tags: Optional[List[Dict[str, Any]]] = None, 

466 servers: Optional[List[Dict[str, Union[str, Any]]]] = None, 

467 terms_of_service: Optional[str] = None, 

468 contact: Optional[Dict[str, Union[str, Any]]] = None, 

469 license_info: Optional[Dict[str, Union[str, Any]]] = None, 

470 separate_input_output_schemas: bool = True, 

471) -> Dict[str, Any]: 

472 info: Dict[str, Any] = {"title": title, "version": version} 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

473 if summary: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

474 info["summary"] = summary 2_lJlKl|lLlMlamNlOldmPlQlgmRlSljmTlUl

475 if description: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

476 info["description"] = description 2_lJlKl|lLlMlamNlOldmPlQlgmRlSljmTlUl

477 if terms_of_service: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

478 info["termsOfService"] = terms_of_service 2JlKlLlMlNlOlPlQlRlSlTlUl

479 if contact: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

480 info["contact"] = contact 2JlKlLlMlNlOlPlQlRlSlTlUl

481 if license_info: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

482 info["license"] = license_info 2JlKlLlMlNlOlPlQlRlSlTlUl

483 output: Dict[str, Any] = {"openapi": openapi_version, "info": info} 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

484 if servers: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

485 output["servers"] = servers 2mmompmqmrmsmzmAmCmDmEmFmGmNmOmQmRmSmTmUm1m2m4m5m6m7m8m(m)m+m,m-m.m/m]m^m`m{m|m}m~mgn

486 components: Dict[str, Dict[str, Any]] = {} 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

487 paths: Dict[str, Dict[str, Any]] = {} 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

488 webhook_paths: Dict[str, Dict[str, Any]] = {} 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

489 operation_ids: Set[str] = set() 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

490 all_fields = get_fields_from_routes(list(routes or []) + list(webhooks or [])) 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

491 model_name_map = get_compat_model_name_map(all_fields) 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

492 schema_generator = GenerateJsonSchema(ref_template=REF_TEMPLATE) 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

493 field_mapping, definitions = get_definitions( 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

494 fields=all_fields, 

495 schema_generator=schema_generator, 

496 model_name_map=model_name_map, 

497 separate_input_output_schemas=separate_input_output_schemas, 

498 ) 

499 for route in routes or []: 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

500 if isinstance(route, routing.APIRoute): 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

501 result = get_openapi_path( 2pf~ihnAog RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+f,fbjwnBoi Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgMgdjLnCok 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhghgj0nDom 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!h#hjj(nEoo (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEiFimj^nFoq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i

502 route=route, 

503 operation_ids=operation_ids, 

504 schema_generator=schema_generator, 

505 model_name_map=model_name_map, 

506 field_mapping=field_mapping, 

507 separate_input_output_schemas=separate_input_output_schemas, 

508 ) 

509 if result: 2pf~ihng RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+f,fbjwni Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgMgdjLnk 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhghgj0nm 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!h#hjj(no (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEiFimj^nq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i

510 path, security_schemes, path_definitions = result 2pf~ihng RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+f,fbjwni Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgMgdjLnk 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhghgj0nm 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!h#hjj(no (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEiFimj^nq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i

511 if path: 2pf~ihng RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+f,fbjwni Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgMgdjLnk 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhghgj0nm 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!h#hjj(no (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEiFimj^nq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i

512 paths.setdefault(route.path_format, {}).update(path) 2pf~ihng RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+f,fbjwni Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgMgdjLnk 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhghgj0nm 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!n6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!h#hjj(no (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=n(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEiFimj^nq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD Rccodo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i

513 if security_schemes: 2pf~ihng RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+f,fbjwni Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgMgdjLnk 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhghgj0nm 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!h#hjj(no (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEiFimj^nq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i

514 components.setdefault("securitySchemes", {}).update( 2HjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8j9j7cSc!j#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbkck#cUcdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFkGk(cWcHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9k!k,cYc#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcldl:c0celflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlHl@c2cIl

515 security_schemes 

516 ) 

517 if path_definitions: 2pf~ihng RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+f,fbjwni Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgMgdjLnk 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhghgj0nm 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!h#hjj(no (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEiFimj^nq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i

518 definitions.update(path_definitions) 2pf~ig qfrf|csftfSb]d^dufQ h R S T U V [cvfa wfxfyfzfTb_dE F AfvjBfCfDfpjEfbb4c5c6cFfs GfW UbX VbWbHf@bGc[bIftbub{d|dJfKfvbwbLfMfNfOfPfQf]b}d~cRfSfTfUfVfWf~daeXfYfZft FdGdHdId0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(f)fheieje^b_b`b{b7cScadbdcbdb*f+f,fbji -f.fcd/f:fYbkele;fY j Z 0 1 2 3 ]c=fb ?f@f[f]fZbmeG H ^fxj_f`f{fqj|feb8c9c!c}fu ~f4 0b5 1b2bag|bHc}bbgxbyboepecgdgzbAbegfggghgigjg~bqeedkglgmgngogpgreseqgrgsgv OdPdQdRdtgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgJgzeAeBeacbcccdc#cUcfdgdfbgbKgLgMgdjk NgOghdPgQg4bCeDeRg6 l 7 8 9 ! # ^cSgc TgUgVgWg5bEeI J XgzjYgejZg0g1grj2ghb$c%c'c3gw 4g$ 6b% 7b8b5gecIcfc6gBbCbGeHe7g8gDbEb9g!g#g$g%g'ggcIejd(g)g*g+g,g-gJeKe.g/g:gx XdYdZd0d;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechdhReSeTeUehcicjckc(cWckdldibjbehfhghgjm hhihmdjhkh!bVeWelh' n ( ) * + , _cmhd nhohphqh#bXeK L rhBjshhjthuhvhsjwhkb)c*c+cxhy yh- $b. %b'bzhlcJcmcAhFbGbZe0eBhChHbIbDhEhFhGhHhIhnc1eodJhKhLhMhNhOh2e3ePhQhRhz 6d7d8d9dShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h8h!e#e$e%eocpcqcrc,cYcpdqdlbmb9h!h#hjjo $h%hrd'h(h)b'e(e)h/ p : ; = ? @ `c*he +h,h-h.h*b)eM N /hDj:hkj;h=h?htj@hnb-c.c/c[hA ]h[ +b] ,b-b^hscKctc_hJbKb+e,e`h{hLbMb|h}h~haibiciuc-etddieifigihiii.e/ejikiliB (d)d*d+dmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBiCi]e^e_e`evcwcxcyc:c0cudvdobpbDiEiFimjq GiHiwdIiJi/b{e|eKi^ r _ ` { | } {cLif MiNiOiPi:b}eO P QiFjRinjSiTiUiujViqb;c=c?cWiC Xi~ ;bab=b?bYizcLcAcZiNbObafbf0i1iPbQb2i3i4i5i6i7iBccfyd8i9i!i#i$i%idfef'i(i)iD ;d=d?d@d*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`i{ilfmfnfofCcDcEcFc@c2czdAdrbsb|i}i

519 for webhook in webhooks or []: 2pf~ihng RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwni Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnk 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nm 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(no (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

520 if isinstance(webhook, routing.APIRoute): 2McTcNcVcOcXcPcZcQc1cRc3c

521 result = get_openapi_path( 2McTcNcVcOcXcPcZcQc1cRc3c

522 route=webhook, 

523 operation_ids=operation_ids, 

524 schema_generator=schema_generator, 

525 model_name_map=model_name_map, 

526 field_mapping=field_mapping, 

527 separate_input_output_schemas=separate_input_output_schemas, 

528 ) 

529 if result: 2McTcNcVcOcXcPcZcQc1cRc3c

530 path, security_schemes, path_definitions = result 2McTcNcVcOcXcPcZcQc1cRc3c

531 if path: 2McTcNcVcOcXcPcZcQc1cRc3c

532 webhook_paths.setdefault(webhook.path_format, {}).update(path) 2McTcNcVcOcXcPcZcQc1cRc3c

533 if security_schemes: 2McTcNcVcOcXcPcZcQc1cRc3c

534 components.setdefault("securitySchemes", {}).update( 2TcVcXcZc1c3c

535 security_schemes 

536 ) 

537 if path_definitions: 2McTcNcVcOcXcPcZcQc1cRc3c

538 definitions.update(path_definitions) 2McTcNcVcOcXcPcZcQc1cRc3c

539 if definitions: 2pf~ihng RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwni Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnk 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nm 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(no (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

540 components["schemas"] = {k: definitions[k] for k in sorted(definitions)} 2pf~ig RbqfBdCdrf|cDd1lsf2ltfSb]d^dufQ h R S T U V [cvfa wfxfyfzfTb_dE F AfvjBfCfDfpjEf3lEd}cVl`dbb4c5c6cFfs GfW UbX VbWbHf@bGc[bIftbub{d|dJfKf4lvbwbLfMfNfOfPfQf]b}d5l~cRfSfTfUfVfWf~daeXfYfZft McFdGdHdId0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(f)fheieje^b_b`b{b7cScadbdcbdb*f+fTc,fbji Xb-fKdLd.fcdMd6l/f7l:fYbkele;fY j Z 0 1 2 3 ]c=fb ?f@f[f]fZbmeG H ^fxj_f`f{fqj|f8lNdddWlneeb8c9c!c}fu ~f4 0b5 1b2bag|bHc}bbgxbyboepecgdg9lzbAbegfggghgigjg~bqe!ledkglgmgngogpgreseqgrgsgv NcOdPdQdRdtgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgJgzeAeBeacbcccdc#cUcfdgdfbgbKgLgVcMgdjk 3bNgTdUdOghdVd#lPg$lQg4bCeDeRg6 l 7 8 9 ! # ^cSgc TgUgVgWg5bEeI J XgzjYgejZg0g1grj2g%lWdidXlFehb$c%c'c3gw 4g$ 6b% 7b8b5gecIcfc6gBbCbGeHe7g8g'lDbEb9g!g#g$g%g'ggcIe(ljd(g)g*g+g,g-gJeKe.g/g:gx OcXdYdZd0d;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechdhReSeTeUehcicjckc(cWckdldibjbehfhXcghgjm 9bhh2d3dihmd4d)ljh*lkh!bVeWelh' n ( ) * + , _cmhd nhohphqh#bXeK L rhBjshhjthuhvhsjwh+l5dndYlYekb)c*c+cxhy yh- $b. %b'bzhlcJcmcAhFbGbZe0eBhCh,lHbIbDhEhFhGhHhIhnc1e-lodJhKhLhMhNhOh2e3ePhQhRhz Pc6d7d8d9dShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h8h!e#e$e%eocpcqcrc,cYcpdqdlbmb9h!hZc#hjjo (b$h#d$d%hrd%d.l'h/l(h)b'e(e)h/ p : ; = ? @ `c*he +h,h-h.h*b)eM N /hDj:hkj;h=h?htj@h:l'dsdZl*enb-c.c/c[hA ]h[ +b] ,b-b^hscKctc_hJbKb+e,e`h{h;lLbMb|h}h~haibiciuc-e=ltddieifigihiii.e/ejikiliB Qc(d)d*d+dmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBiCi]e^e_e`evcwcxcyc:c0cudvdobpbDiEi1cFimjq .bGi-d.dHiwd/d?lIi@lJi/b{e|eKi^ r _ ` { | } {cLif MiNiOiPi:b}eO P QiFjRinjSiTiUiujVi[l:dxd0l~eqb;c=c?cWiC Xi~ ;bab=b?bYizcLcAcZiNbObafbf0i1i]lPbQb2i3i4i5i6i7iBccf^lyd8i9i!i#i$i%idfef'i(i)iD Rc;d=d?d@d*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`i{ilfmfnfofCcDcEcFc@c2czdAdrbsb|i}i3c

541 if components: 2pf~ihng RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwni Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnk 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nm 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(no (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

542 output["components"] = components 2pf~ig RbqfBdCdrf|cDd1lsf2ltfSb]d^dufQ h R S T U V [cvfa wfxfyfzfTb_dE F AfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbWbHf@bGc[bIftbub{d|dJfKf4lvbwbLfMfNfOfPfQf]b}d5l~cRfSfTfUfVfWf~daeXfYfZft McFdGdHdId0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(f)fheieje^b_b`b{b9j7cSc!jadbdcbdb*f+fTc,fbji Xb-fKdLd.fcdMd6l/f7l:fYbkele;fY j Z 0 1 2 3 ]c=fb ?f@f[f]fZbmeG H ^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1b2bag|bHc}bbgxbyboepecgdg9lzbAbegfggghgigjg~bqe!ledkglgmgngogpgreseqgrgsgv NcOdPdQdRdtgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgJgzeAeBeacbcccdcck#cUcdkfdgdfbgbKgLgVcMgdjk 3bNgTdUdOghdVd#lPg$lQg4bCeDeRg6 l 7 8 9 ! # ^cSgc TgUgVgWg5bEeI J XgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7b8b5gecIcfc6gBbCbGeHe7g8g'lDbEb9g!g#g$g%g'ggcIe(ljd(g)g*g+g,g-gJeKe.g/g:gx OcXdYdZd0d;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechdhReSeTeUehcicjckcGk(cWcHkkdldibjbehfhXcghgjm 9bhh2d3dihmd4d)ljh*lkh!bVeWelh' n ( ) * + , _cmhd nhohphqh#bXeK L rhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b'bzhlcJcmcAhFbGbZe0eBhCh,lHbIbDhEhFhGhHhIhnc1e-lodJhKhLhMhNhOh2e3ePhQhRhz Pc6d7d8d9dShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb9h!hZc#hjjo (b$h#d$d%hrd%d.l'h/l(h)b'e(e)h/ p : ; = ? @ `c*he +h,h-h.h*b)eM N /hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b-b^hscKctc_hJbKb+e,e`h{h;lLbMb|h}h~haibiciuc-e=ltddieifigihiii.e/ejikiliB Qc(d)d*d+dmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBiCi]e^e_e`evcwcxcycdl:c0celudvdobpbDiEi1cFimjq .bGi-d.dHiwd/d?lIi@lJi/b{e|eKi^ r _ ` { | } {cLif MiNiOiPi:b}eO P QiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b?bYizcLcAcZiNbObafbf0i1i]lPbQb2i3i4i5i6i7iBccf^lyd8i9i!i#i$i%idfef'i(i)iD Rc;d=d?d@d*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`i{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsb|i}i3c

543 output["paths"] = paths 2pf~ihng RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwni Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnk 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nm 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(no (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

544 if webhook_paths: 2pf~ihng RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwni Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnk 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nm 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(no (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

545 output["webhooks"] = webhook_paths 2McTcNcVcOcXcPcZcQc1cRc3c

546 if tags: 2pf~ihng RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwni Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnk 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nm 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(no (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c

547 output["tags"] = tags 2`l}lbmemhmkm

548 return jsonable_encoder(OpenAPI(**output), by_alias=True, exclude_none=True) # type: ignore 2pf~ihng RbqfBdCdrf|cDdin1lsfmm2ltfSb]d^dufQ h R S T U V [cjnvfa wfxfyfzfTb_dnmE F omAfvjBfCfDfpjEf3lEd}cVl`dbbHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j4c2j3j5c6c4j5j6j7j8jFfs GfW UbX VbpmqmrmsmWbHf@bGc[bIftbubkn{d|dJflnmniojonnuoGoKf4lvbwbLfMfNfOfPfonQf_l]b}d5ltmpn~cRfSfTfUfVfWf~daeXfYfZfJlKl`lt McqnrnMoFdGdumvmwmxmymHdId{l0f1fbece2f3fJd4f5f6fwj7f8faj9fdeee!f#f$f%f'ffege(fsn)fheieje^b_b`b{b9j7cSc!jadbdcbdbtnzmunvn*f+fTc,fbjwni Xb-fKdLd.fcdMdxn6l/fAm7l:fYbkele;fY j Z 0 1 2 3 ]cyn=fb ?f@f[f]fZbmeBmG H Cm^fxj_f`f{fqj|f8lNdddWlneeb#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j8c`j{j9c!c|j}j~jakbk}fu ~f4 0b5 1bDmEmFmGm2bag|bHc}bbgxbybznoepecgAnBnkoloCnvoHodg9lzbAbegfggghgigDnjg|l~bqe!lHmEnedkglgmgngogpgreseqgrgsgLlMl}lv NcFnGnNoOdPdImJmKmLmMmQdRd~ltgugteuevgwgSdxgygzgyjAgBgcjCgveweDgEgFgGgHgxeyeIgHnJgzeAeBeacbcccdcck#cUcdkfdgdfbgbInNmJnKnKgLgVcMgdjLnk 3bNgTdUdOghdVdMn#lPgOm$lQg4bCeDeRg6 l 7 8 9 ! # ^cNnSgc TgUgVgWg5bEePmI J QmXgzjYgejZg0g1grj2g%lWdidXlFehbekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkyk$czkAk%c'cBkCkDkEkFk3gw 4g$ 6b% 7bRmSmTmUm8b5gecIcfc6gBbCbOnGeHe7gPnQnmonoRnwoIo8g'lDbEb9g!g#g$g%gSn'gamgcIe(lVmTnjd(g)g*g+g,g-gJeKe.g/g:gNlOlbmx OcUnVnOoXdYdWmXmYmZm0mZd0dcm;g=gLeMe?g@g1d[g]g^gAj_g`gfj{gNeOe|g}g~gahbhPeQechWndhReSeTeUehcicjckcGk(cWcHkkdldibjbXn1mYnZnehfhXcghgj0nm 9bhh2d3dihmd4d1n)ljh2m*lkh!bVeWelh' n ( ) * + , _c2nmhd nhohphqh#bXe3mK L 4mrhBjshhjthuhvhsjwh+l5dndYlYekbIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k)c3k4k*c+c5k6k7k8k9kxhy yh- $b. %b5m6m7m8m'bzhlcJcmcAhFbGb3nZe0eBh4n5noopo6nxoJoCh,lHbIbDhEhFhGhHh7nIhdmnc1e-l9m8nodJhKhLhMhNhOh2e3ePhQhRhPlQlemz Pc9n!nPo6d7d!m#m$m%m'm8d9dfmShTh4e5eUhVh!dWhXhYhCjZh0hij1h6e7e2h3h4h5h6h8e9e7h#n8h!e#e$e%eocpcqcrc!k,cYc#kpdqdlbmb$n(m%n'n9h!hZc#hjj(no (b$h#d$d%hrd%d)n.l'h)m/l(h)b'e(e)h/ p : ; = ? @ `c*n*he +h,h-h.h*b)e*mM N +m/hDj:hkj;h=h?htj@h:l'dsdZl*enb$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k-c{k|k.c/c}k~kalblcl[hA ]h[ +b] ,b,m-m.m/m-b^hscKctc_hJbKb+n+e,e`h,n-nqoro.nyoKo{h;lLbMb|h}h~haibi/ncigmuc-e=l:m:ntddieifigihiii.e/ejikiliRlSlhmB Qc;n=nQo(d)d;m=m?m@m[m*d+dimmini:e;eoipi,dqirisiEjtiuiljvi=e?ewixiyiziAi@e[eBi?nCi]e^e_e`evcwcxcycdl:c0celudvdobpb@n]m[n]nDiEi1cFimj^nq .bGi-d.dHiwd/d_n?lIi^m@lJi/b{e|eKi^ r _ ` { | } {c`nLif MiNiOiPi:b}e_mO P `mQiFjRinjSiTiUiujVi[l:dxd0l~eqbflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl;cAlBl=c?cClDlElFlGlWiC Xi~ ;bab=b{m|m}m~m?bYizcLcAcZiNbOb{nafbf0i|n}nsoto~nzoLo1i]lPbQb2i3i4i5i6iao7ijmBccf^lanboyd8i9i!i#i$i%idfef'i(i)iTlUlkmD RccodoRo;d=dbncndnenfn?d@dlm*i+iffgf,i-i[d.i/i:iGj;i=ioj?ihfif@i[i]i^i_ijfkf`ieo{ilfmfnfofCcDcEcFcHl@c2cIlzdAdrbsbfogngoho|i}i3c