From 8a0d4c79c18e6bd219b965b9d50578c139e7efd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Ram=C3=ADrez?= Date: Fri, 4 Mar 2022 14:02:18 -0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Add=20support=20for=20custom=20`gen?= =?UTF-8?q?erate=5Funique=5Fid=5Ffunction`=20and=20docs=20for=20generating?= =?UTF-8?q?=20clients=20(#4650)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/en/docs/advanced/generate-clients.md | 267 +++ .../img/tutorial/generate-clients/image01.png | Bin 0 -> 78022 bytes .../img/tutorial/generate-clients/image02.png | Bin 0 -> 59828 bytes .../img/tutorial/generate-clients/image03.png | Bin 0 -> 61043 bytes .../img/tutorial/generate-clients/image04.png | Bin 0 -> 53853 bytes .../img/tutorial/generate-clients/image05.png | Bin 0 -> 31091 bytes .../img/tutorial/generate-clients/image06.png | Bin 0 -> 43434 bytes .../img/tutorial/generate-clients/image07.png | Bin 0 -> 49947 bytes .../img/tutorial/generate-clients/image08.png | Bin 0 -> 30019 bytes docs/en/mkdocs.yml | 1 + docs_src/generate_clients/tutorial001.py | 28 + docs_src/generate_clients/tutorial001_py39.py | 26 + docs_src/generate_clients/tutorial002.py | 38 + docs_src/generate_clients/tutorial002_py39.py | 36 + docs_src/generate_clients/tutorial003.py | 44 + docs_src/generate_clients/tutorial003_py39.py | 42 + docs_src/generate_clients/tutorial004.py | 15 + fastapi/applications.py | 114 +- fastapi/openapi/utils.py | 41 +- fastapi/routing.py | 117 +- fastapi/utils.py | 24 +- tests/test_generate_unique_id_function.py | 1617 +++++++++++++++++ .../test_include_router_defaults_overrides.py | 8 +- .../test_generate_clients/__init__.py | 0 .../test_generate_clients/test_tutorial003.py | 188 ++ 25 files changed, 2536 insertions(+), 70 deletions(-) create mode 100644 docs/en/docs/advanced/generate-clients.md create mode 100644 docs/en/docs/img/tutorial/generate-clients/image01.png create mode 100644 docs/en/docs/img/tutorial/generate-clients/image02.png create mode 100644 docs/en/docs/img/tutorial/generate-clients/image03.png create mode 100644 docs/en/docs/img/tutorial/generate-clients/image04.png create mode 100644 docs/en/docs/img/tutorial/generate-clients/image05.png create mode 100644 docs/en/docs/img/tutorial/generate-clients/image06.png create mode 100644 docs/en/docs/img/tutorial/generate-clients/image07.png create mode 100644 docs/en/docs/img/tutorial/generate-clients/image08.png create mode 100644 docs_src/generate_clients/tutorial001.py create mode 100644 docs_src/generate_clients/tutorial001_py39.py create mode 100644 docs_src/generate_clients/tutorial002.py create mode 100644 docs_src/generate_clients/tutorial002_py39.py create mode 100644 docs_src/generate_clients/tutorial003.py create mode 100644 docs_src/generate_clients/tutorial003_py39.py create mode 100644 docs_src/generate_clients/tutorial004.py create mode 100644 tests/test_generate_unique_id_function.py create mode 100644 tests/test_tutorial/test_generate_clients/__init__.py create mode 100644 tests/test_tutorial/test_generate_clients/test_tutorial003.py diff --git a/docs/en/docs/advanced/generate-clients.md b/docs/en/docs/advanced/generate-clients.md new file mode 100644 index 000000000..f31a248d0 --- /dev/null +++ b/docs/en/docs/advanced/generate-clients.md @@ -0,0 +1,267 @@ +# Generate Clients + +As **FastAPI** is based on the OpenAPI specification, you get automatic compatibility with many tools, including the automatic API docs (provided by Swagger UI). + +One particular advantage that is not necessarily obvious is that you can **generate clients** (sometimes called **SDKs** ) for your API, for many different **programming languages**. + +## OpenAPI Client Generators + +There are many tools to generate clients from **OpenAPI**. + +A common tool is OpenAPI Generator. + +If you are building a **frontend**, a very interesting alternative is openapi-typescript-codegen. + +## Generate a TypeScript Frontend Client + +Let's start with a simple FastAPI application: + +=== "Python 3.6 and above" + + ```Python hl_lines="9-11 14-15 18 19 23" + {!> ../../../docs_src/generate_clients/tutorial001.py!} + ``` + +=== "Python 3.9 and above" + + ```Python hl_lines="7-9 12-13 16-17 21" + {!> ../../../docs_src/generate_clients/tutorial001_py39.py!} + ``` + +Notice that the *path operations* define the models they use for request payload and response payload, using the models `Item` and `ResponseMessage`. + +### API Docs + +If you go to the API docs, you will see that it has the **schemas** for the data to be sent in requests and received in responses: + + + +You can see those schemas because they were declared with the models in the app. + +That information is available in the app's **OpenAPI schema**, and then shown in the API docs (by Swagger UI). + +And that same information from the models that is included in OpenAPI is what can be used to **generate the client code**. + +### Generate a TypeScript Client + +Now that we have the app with the models, we can generate the client code for the frontend. + +#### Install `openapi-typescript-codegen` + +You can install `openapi-typescript-codegen` in your frontend code with: + +
+ +```console +$ npm install openapi-typescript-codegen --save-dev + +---> 100% +``` + +
+ +#### Generate Client Code + +To generate the client code you can use the command line application `openapi` that would now be installed. + +Because it is installed in the local project, you probably wouldn't be able to call that command directly, but you would put it on your `package.json` file. + +It could look like this: + +```JSON hl_lines="7" +{ + "name": "frontend-app", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "generate-client": "openapi --input http://localhost:8000/openapi.json --output ./src/client --client axios" + }, + "author": "", + "license": "", + "devDependencies": { + "openapi-typescript-codegen": "^0.20.1", + "typescript": "^4.6.2" + } +} +``` + +After having that NPM `generate-client` script there, you can run it with: + +
+ +```console +$ npm run generate-client + +frontend-app@1.0.0 generate-client /home/user/code/frontend-app +> openapi --input http://localhost:8000/openapi.json --output ./src/client --client axios +``` + +
+ +That command will generate code in `./src/client` and will use `axios` (the frontend HTTP library) internally. + +### Try Out the Client Code + +Now you can import and use the client code, it could look like this, notice that you get autocompletion for the methods: + + + +You will also get autocompletion for the payload to send: + + + +!!! tip + Notice the autocompletion for `name` and `price`, that was defined in the FastAPI application, in the `Item` model. + +You will have inline errors for the data that you send: + + + +The response object will also have autocompletion: + + + +## FastAPI App with Tags + +In many cases your FastAPI app will be bigger, and you will probably use tags to separate different groups of *path operations*. + +For example, you could have a section for **items** and another section for **users**, and they could be separated by tags: + + +=== "Python 3.6 and above" + + ```Python hl_lines="23 28 36" + {!> ../../../docs_src/generate_clients/tutorial002.py!} + ``` + +=== "Python 3.9 and above" + + ```Python hl_lines="21 26 34" + {!> ../../../docs_src/generate_clients/tutorial002_py39.py!} + ``` + +### Generate a TypeScript Client with Tags + +If you generate a client for a FastAPI app using tags, it will normally also separate the client code based on the tags. + +This way you will be able to have things ordered and grouped correctly for the client code: + + + +In this case you have: + +* `ItemsService` +* `UsersService` + +### Client Method Names + +Right now the generated method names like `createItemItemsPost` don't look very clean: + +```TypeScript +ItemsService.createItemItemsPost({name: "Plumbus", price: 5}) +``` + +...that's because the client generator uses the OpenAPI internal **operation ID** for each *path operation*. + +OpenAPI requires that each operation ID is unique across all the *path operations*, so FastAPI uses the **function name**, the **path**, and the **HTTP method/operation** to generate that operation ID, because that way it can make sure that the operation IDs are unique. + +But I'll show you how to improve that next. 🤓 + +## Custom Operation IDs and Better Method Names + +You can **modify** the way these operation IDs are **generated** to make them simpler and have **simpler method names** in the clients. + +In this case you will have to ensure that each operation ID is **unique** in some other way. + +For example, you could make sure that each *path operation* has a tag, and then generate the operation ID based on the **tag** and the *path operation* **name** (the function name). + +### Custom Generate Unique ID Function + +FastAPI uses a **unique ID** for each *path operation*, it is used for the **operation ID** and also for the names of any needed custom models, for requests or responses. + +You can customize that function. It takes an `APIRoute` and outputs a string. + +For example, here it is using the first tag (you will probably have only one tag) and the *path operation* name (the function name). + +You can then pass that custom function to **FastAPI** as the `generate_unique_id_function` parameter: + +=== "Python 3.6 and above" + + ```Python hl_lines="8-9 12" + {!> ../../../docs_src/generate_clients/tutorial003.py!} + ``` + +=== "Python 3.9 and above" + + ```Python hl_lines="6-7 10" + {!> ../../../docs_src/generate_clients/tutorial003_py39.py!} + ``` + +### Generate a TypeScript Client with Custom Operation IDs + +Now if you generate the client again, you will see that it has the improved method names: + + + +As you see, the method names now have the tag and then the function name, now they don't include information from the URL path and the HTTP operation. + +### Preprocess the OpenAPI Specification for the Client Generator + +The generated code still has some **duplicated information**. + +We already know that this method is related to the **items** because that word is in the `ItemsService` (taken from the tag), but we still have the tag name prefixed in the method name too. 😕 + +We will probably still want to keep it for OpenAPI in general, as that will ensure that the operation IDs are **unique**. + +But for the generated client we could **modify** the OpenAPI operation IDs right before generating the clients, just to make those method names nicer and **cleaner**. + +We could download the OpenAPI JSON to a file `openapi.json` and then we could **remove that prefixed tag** with a script like this: + +```Python +{!../../../docs_src/generate_clients/tutorial004.py!} +``` + +With that, the operation IDs would be renamed from things like `items-get_items` to just `get_items`, that way the client generator can generate simpler method names. + +### Generate a TypeScript Client with the Preprocessed OpenAPI + +Now as the end result is in a file `openapi.json`, you would modify the `package.json` to use that local file, for example: + +```JSON hl_lines="7" +{ + "name": "frontend-app", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "generate-client": "openapi --input ./openapi.json --output ./src/client --client axios" + }, + "author": "", + "license": "", + "devDependencies": { + "openapi-typescript-codegen": "^0.20.1", + "typescript": "^4.6.2" + } +} +``` + +After generating the new client, you would now have **clean method names**, with all the **autocompletion**, **inline errors**, etc: + + + +## Benefits + +When using the automatically generated clients you would **autocompletion** for: + +* Methods. +* Request payloads in the body, query parameters, etc. +* Response payloads. + +You would also have **inline errors** for everything. + +And whenever you update the backend code, and **regenerate** the frontend, it would have any new *path operations* available as methods, the old ones removed, and any other change would be reflected on the generated code. 🤓 + +This also means that if something changed it will be **reflected** on the client code automatically. And if you **build** the client it will error out if you have any **mismatch** in the data used. + +So, you would **detect many errors** very early in the development cycle instead of having to wait for the errors to show up to your final users in production and then trying to debug where the problem is. ✨ diff --git a/docs/en/docs/img/tutorial/generate-clients/image01.png b/docs/en/docs/img/tutorial/generate-clients/image01.png new file mode 100644 index 0000000000000000000000000000000000000000..f23d57773c8f4274b03750a231ca28700c17cd26 GIT binary patch literal 78022 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 literal 0 HcmV?d00001 diff --git a/docs/en/docs/img/tutorial/generate-clients/image02.png b/docs/en/docs/img/tutorial/generate-clients/image02.png new file mode 100644 index 0000000000000000000000000000000000000000..f991352eb319968b48d250dbce616f4fefee4a7a GIT binary patch literal 59828 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

^JVTJ_UZf80nR0bkG);Q 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%0DBXpx8 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 literal 0 HcmV?d00001 diff --git a/docs/en/docs/img/tutorial/generate-clients/image03.png b/docs/en/docs/img/tutorial/generate-clients/image03.png new file mode 100644 index 0000000000000000000000000000000000000000..e2514b0481a81262a307361c7e77a4464056f7b3 GIT binary patch literal 61043 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 G`~L<2+%|&% literal 0 HcmV?d00001 diff --git a/docs/en/docs/img/tutorial/generate-clients/image04.png b/docs/en/docs/img/tutorial/generate-clients/image04.png new file mode 100644 index 0000000000000000000000000000000000000000..777a695bbb1e3484f63594007e3fead45890c6c6 GIT binary patch literal 53853 zcmZs@byOTtx8_~AL(l{WF2UX1-QC^Y-4X}{cXxLPt_=i&ySux)+eh9zcYQN==CAHL zefm_b-Dg!jdq2P3p$c;1NborD001CKN{A={0E8d_fJ4H9e~c*j*6x11KsXCYs=&g+ zE^o?jd>npq5!G-}wl{NeH*_)ulr3CcTuhyee@wsu03jeLBBTk49LI>|Zf2an05`rZP!bT!gmpV@YKIA1LTW0{UZ)J_Yi=v{vOm*WYKuU*;VeJPP3|0*Od{($HG z6tk(%AisjfebSn`hNj!N5^3|sNA!HXgCT%2mcw%trxdELTycC{aTkQ8z3fd^7etb) zU;fYme1TMQT)+1O;zUZ%+04#@B*~813ubHz0oU}wPWil$uggv}H9uxt@EClr?6*;D zcoXT&CRAoQ-REuE^o2?eP+om|gQ^zOU!=f>@bPv0Xb)e%%&4T+M;vuGN9k~S`s~lP z5g;Tq2PkGPbSRgjFQpEH_*VZmeDBCsO21t6ej@;2SA7+w65;>E@LTqG{174 zQ{J7jzw%d0*?4DrAL&qk(dglbGv0@1fh#U-WFVxNt&%&NqDvKuDCn)BlcY_*EbGIKX zn^ZU5yZ*(4j=2%hRN+USE^37p8Z0aY%fW8-#iCwAG(cgmiM(-^^-?hE~`M?l?7`-`6 zJ$@HSw7y`lwJ*D4qsiAhkeWXCN*4Y6Ppn8>twG9~+zhq6-ds#hbXdTF-vVf5WhyUa zTRS(X>5_((Rr$nh@|RE6+gS|UQKWVo%aHsYg#<8h%HWy)4FF{G<%KY8v(O=X2T>@McQ3 zNfrsOk3q^B$0}shWvU7|(F#Anxx8AV6!ws~2(o1iYY*eN=zm)=9OV8Ky<1B2l1cR1 z*N|kvY4b30HXD_+Y8%mII_VBFhI$}{7J_~C!j7VnZEbycZJ41tVoQ43_32()492+@ z69fk&E!Z+!JlO}Rq{F7pvpBFuAsXmY;4N3LqfggZu)_bqak@R&;e$~Dh4Rt99<;Z* zIVZyAmQvIB_*|D?=?mTv6M{U88>q?AQ08c!xg!BG!!`HmFrup*)?uG%*cj&15F4GT zY=7t8vh>Awl{kaq5T`FR7OaRYH-D^&`~S2lb|I%#WWjtUC59_jA}$?S>8)v7l9;C` z)CeDK+%>zE8;Q=3G11$!4vi-P0N)%?C=IKVEu}vAZz4MPAH}iX3Ure(XuVT?*N2bE zOMM#GwUe?TUJj0*fq{LGS5Vpp{Eh0g;FXItW`#c=1jpl<{)A4TeSp7&NeP{NyR*^GbVM58(l-Ur*$e4t<+g7&iAk=iHP3E8LNs zu#Zf){p$F3pZ?|W^;ec0#XzP!Ex(0C7LXpgH;2Upm_=HZ@SfKs$+@`C!cFeg)6yI1 z>Kh3UpMPMql;q#<$El4ZFq}%4@Dt;|-(nZ#)n#y-Ud~zap7t}zru%5`E1x9eNp-XN z9aoP0t5BSOP<^> zCy5jQ1s<*DM->y@4Qu-AhXXSX1#pEmU34;xZfZlK)2cPyA>+~WoxST(?V2)*m%H>< z92}CsA3GjgA5X@2rFAdx=fiQu#%)8e5AAHO8xX_n0P+c zlV43e@LBjeUN+;GM1fDVdic;(l-_5$$?V3C!wSTQAQM?I8a()=_)@~?i)dB zIvHM9S$<3Qw(^VN7&dl0ZH-|65D*icSccZtAq@e3yl9f9!d~UKcBq`0iSxE#2Wj&M zlzVL4cW#wnlHD7B9Z+^x11NWgVpqM!h7gXwsuP0!ww`0`Dk)hFghU4Of{twR;&7WZ z1fw9sY}X$Dft92NKEa#TTw!lyRXzk6%5bzB{-&A7@6&oS7*>K42vUBAVT%iGifg;G zJ{}Fd3md5_u%bUcVO-TfC(VPA&wkWuT(PdKmL&_&cjG^rwa=K6UoHAQxEfhmwbtbx z4x0&MqsKGYKPv_UiR9A+TL*?B^C4_Lgw6!YfP?O50N^%wZliPJqORUmFlYl0gaW54 z`04X?<39@N-?Vq;p8traoA_?~HIn~_!uoG5^*K0ZMhDAG)k8lCQ5Xbl_!tl0H>pQbNMTBW5!Nst{~$HbP^MFFG$T zD4V?t3<&%)F+JV0`|D!~!{BFoL#9*?gaiHXg1VUl$T^6Q+jHE77M0L?hze*i#Sc2y zoWPMUHjU#W2r&fi<}fD!5GDNC;Q$=xNkI`DHF<%P(N)f<`^7JTn%id`_Lw$0j^Xmn zxAi)((pwL~;qW7jX3c3ZaKSat3ycstHnO+aCURN{?~mK^Q$fH=W2b(`R_-t%Y-x=8 z-_Q=vHxGrSbUXhbS&KV64Y8+&mSMZ@JkWB6=s4R;1AnSGn%61&>60wG)BKGtQCOKU z-m1^$8Z9l$I+CiRf6qW0xix!)izy?RNnUMxL`qk=IX-EaBvh~8PFAAuj(k#;#EH9& zS~yO>l;TcOi*_DHk*;{;`KDQ6btN&41agPtk&;4V28}iM>&?TQm=&TB70sY*c&pbC zd#wPxz&%crLvu2ygG*E+?tW)v$r-i#iTZEB>Xz#Cu)O@zXDZ)i#Xk-i4h9`>cbwd7 zzkmRH=BpF4DMqh?v2m`q>G#1 z)K0zrs)GmQ9dAi1kAi=u;pmPnm0NZmJehn*WS1^SKE=tBzLzItr)ytw?(c|NQlf+d zFeHzDat=o?y}J4OY0H+XfY*lI9CVd;e9n`00KKDr`N0mRQ+-%hYJSgK!rk|wVXZWx zQW5HL)Lw;!3AjeL)-}sDlXT13TN&u7uE;8zbM0>k57!yEefKLS;a<00zR+oYhV5w(@Uiz4~~=g2WZS|T(CtR zr8@keT34b%;Aq?aWk74csQf0b`f6q(Nd4Brh; z{)*;Fn>IHp8}s!bTcxO{apUsH{@!BF|MC14H{Qj}vq#t=|L%IPnEvJ1EObj(+;ct@ zVX+05{Pi+U{75^M@=*#Pgp0@L{W=^TddHiV$#qq>p-5_OobHy^WUuzxP@1g0dwfbs zoL8LSZ{G8lq!^g>{M*1%qVG$548}5 zD2^6PSBK?-!rgvp=r#JKIFHw6O+QkvV(oFKCn3>%zpk#di014h%=PUjq>A44lku`l zwI3**Z!H@d0Df*Z(L-I=IlBZFvDN*ag~A2`2>CcjKT=#Hz0gkwt*WJ>{hlM|AoO_{ z-#o_e*?3nJLDi5km(m^v$Ux2r9LSAP2E5GOtZIF+s^{0OlRD)03Uvp=dmn9#c1pGW9vG#)(? z@-rjNJUc?+G8Oj3Ry!QHwdL3fs0x1$%CnF2FS#wsH3ZM`siryX!x=B+<-!fqleb%2 zD;j^Ax>CwT44@etC^;H%KHyUzIlJIHn|ajb^~ujF;`RJ{d$wWdz?}0b;B0105UZ72 z51BkW3yWymlz-(u-sqnSBPGu>TT*o%nk(tqODUwOZzBzeXELJUzovfe#LV(hUB}h$0 zXO0@zlTB- zb{`n9#SX)UpWBqplmm+73yir`qC2_qCHdnD{gJKFVn-2%|8OH^YyCd4XZWd*D8DfQq#eHZEKY^?cncZ z?jYvrQu;!QP|ykU^&oRYjVcM1agV+#6)kkGBI)6^`h?MzE5Wk5;B zH^vc<$B+6#{q=<{3<#a%OdsTM&#M3USZ0Dj9)$73Yni^pSBPq~&B#UnkvLdgpBa>c-L-{ zXP^0QAUz7e03utr{PH1^U=l*>-frB}GtSzL-@+Si8-6P37=BcU^bTOJp9q@<$33Zp216=;y9PM=ElelZGz1t|7? z-E4>fu2%#*Hq-xCiYRmQm}??rmns37_sjYcZ(dWAiBNoYG*b7@NnSt*6--LcC-}Fn zG62y*6H5Ek80L>4MDc;+LM{9VN@EOp~O+K2}|Ab;1( zMyM)J4M|Hmx(dSP`fCS!f8H)YD55XS<`X;SY?2)MbLtAyJTy|_<6zRpJ`aaT0Z}sJ zcy3iGL^~{3QDRp;S+Z{Ki1(V>yI~Zw% zcE5rbrYnrdSX=$My;6U%Sz8g@aQ}sS85fIBIyOFFUdfut-`Tm-{~hertm5lm*;e;m z8xg-sd>15Fio$A~sVcEUrbm>JcIl98zsUv_x2^o4jDx%)->yFNn*~q3?ZxjfI2;wV zI2yQ+SLxylIQNgUf#neLIQn3tPG=i5umG`nlX)%XMeZ0*hM>Tmbte3hZ@M%^%{ z^d+ITD2QKK&ege69RN^bI>^op02F4n(8x{7b=H$(iqSHi-i);`*Vs{Xp?q%~qxntG z6{FNzAWBl&bWg1k_I=v-+!mG+-VgsYT(2WZI&QuL%l|wJ`Uys_Y8F^8FgveDb^`hWi zRfYOdoN`nrqRHAy;ojTC>2VMk5I14pWc$9*h^1~<5VGpe>faqPcoShQ*m8>%SYVy% zj(07tt~Rh2;=!zwS*cY>U-i}BQMmASWBobmYf9U*#VG&hM7YE#=sr>(zEs6lnYW(Y zhpEjrOZ^2a?b51Z;*DBidCbBP6*q0zy()b!2$_JbTBbtde661ap&mM^GA@3;k?9Mt zgmAB8!po&1KmT&N;H)wk%8MvQV#k6F8ZfM}^)e2v@m%^k>-QJUA50pDI9+yJd}7r+$Xm5mk`L!o z*3F-66^QYy(@hrb`}_+qEjd2lj51`>!+9b1YY`zh!`;boDRQb|X(SHUTOongjEZ~L z-Z*Dm^~7j`*~J!1TyIQ6!J$B5ao=ozk9Y#%PoRCJg#H;UVKEP$X31}GzWaAkM~E%W z6ub{7itkFj^J=v;`!jbC&gNqr9-1g3KWk9fvS7Qf$|URtF-WA?S=(3+pOCy#WV$xR#6@?O)M_X1pM_CRIj~Mfv(Gp!_SYK z=R0@z+#Is?W;rLv!aKNgY)Z<_F)dDL!BzMZy)D;6HPL9qp-XCn`WMgp?#L7jxAoC@ zM1l$)eA!ZDlY+o|jqEwLC##@{Wbb2-%3=<(BU<0acCfKI0ES|R2zkd63XNLf(F7QtafX_I;6T#YMnQ^ zOuBgZ=OcYIL9^PVN%xlCO#bq?$uOWoOHP|b({VcwW%v9T->x)X4N5H_m06O(T^$xm z{wLxxWX~9?l7DhRn8anwbXg}uTvIz88iqtgtP|C*BE~MSJtnlrk2G2d@n|ZCMhOH{vVs?VE@N@`#ZS~ojTQP==wHM zqEw3x9i8|`DdV6x@ZTpseo)!^-*5lfNV)!B8vn~N`fneJA755|9@ZM{)$8iI?w{oZ z``Y~*@4vjJ|79lqD|M6=j#!nQ7jWAC%HAt)f)6g-FIzRYTk&u(6SY2yreZ7Z{SlQ+ zYz|X2>g_amTV6z5*wE0H#l_8F>t?VdLU8S`%}Pb7c7yIX{jKG-1m5NOwEjJEx#M}> zz0TZcFn~07zT11YhVomLEWhW->YMt~oJ6<5S-s-@eq;;3{RlF5B$pSU_RiQ7)r_;@ z2lwylXQPQE5T(79i(dTy!gkwS3<$SncG9fxv?8S)OGRsNbSy8p(qm*lf6}bkTxgV^ zHiId8eIqnnI_!jrI>?>g@DWaB`a|nDoC;QXf1ia`N!VFrv@19WVdLfz-KMLykC2C* zvHQp0hM-!hu3RKP@vMxRg!J+dO&tYyQWt4v6rx z0V+Fj%`21cdUc4a?JKyr$A{Ksm)q6ZC`0eDwkB4+<9E>DpZMi(za0FgV(MY?KswQN zuz0A{zznOC4|ja-oDGI^%*om;2IL@sN$w5ILlVr)70P<*@yCMu=>* zdvkSJjr(*9e@z8j^y{fB& zjXdSTP4K&Ie(XKZO}13tn+FZUItzwp?NGPTJZo;Q&Y*Lwrf=T9!4&B zJj-FRIFn9NpC-fQIW!=W4Znb}5btB$j1nR^cC(iU9x(VhZTf zfyrO=^UX>4+65QJQE)FQ5-|@Cv_slc@84{Bk_>!?Jk6cEu zSbI~yHI1Eltv-;1%mokzB*sIig9Fp{Pj{7I#H#mTbY)P-N#f9-A%KElUhf+^y?I>& zKtZV@rQc2-N#9w^TSA}y8$@vZ)zc5&Z)9$tk=^f3y|1*iW-l_Z-S0huG6|ZfLZ&3V z7#wmTFoB(pKoq>_vKloF9F*Op{a7ds8DMxLu+59K#$Z~TpZ~@DmqCvxtA577<&hTd9sw-Tl`1>j%;+Lzq z&tS)HyBCt(1EAA|(8f723{OePm)qiRXGxNLb;zIJQk*g4CUB<96eS<>8LoUY4>VcR zcV`zw#RG}Z%?kSL5F~be?2crzQ3L(hi@*iu;=Psg`FT8Z*e%zrlFCzCuw=(*y>4iH z{K>1!L{Ej74-ZwO*u{m7p;J*`ja(JnC;^V9&h^|aR{K0)Ne1f1S4;4SJeFQ zz#^dJw@iSy;fTXJ(rn^cK>UBR02RFfZ+Pk2UrN6>bC8g49Azepy7rRmhRa71>8@j) zw1Iear|8`9%3ilhs&Y#1&h&`9($tBcMX2xZcg^N^2;-MGU2`Gl)BGV5i?~+i>Phmi zG*rfh{hwLihgOmWTL8q{q6-q{4D$V*oxpFy6-8@@6ilO#+b8@_IBf(J`lXPyc8Oj<(IpzS(LQhb$C+= zVdj;40MVyt=<0JHUWKE_ikh03rY{O7;ennBBK@O!_Zu6U%;1?h`UI9lDOW+RSWcttwOn zC@7Hkvi1_cmtVu?#CTFopWZ3_XS0`aVrB{YpJ!_G#z(ED@-gcdiJvl-lvcrG!2Q(X zLjLtzy<;Z1t9o1Dk7FR7~qF8vG^ReE4iI% z8r`@vtjg7Ng|p97W7S0tI5?@v0D~<~@7#uo_qRT7VzXCG-Xn(y^-3euYvCYOT=P#cM>Qp)ot`()QsNI9~l z7125o_Rj(9t`t6y)!UyD&^FiS3lxv~Qk5dh!}ex*m_yC?d{ZYN$C}lO-h=5~!l2MI z{Pk5kGJ<|VojkDFe05vEX#2J+y~fmk!Zd^F=_rD%mm0eDwU{N^Z1h| zs-hv43yKr~JZs#uq!J(<2*hEc&!>yR`&N~~^IXx{D^Ik;YyPS$TM$HUQ#R6n+qz)G#`1kidJd}2hq2-@B{ zssTdyrflC0P^Y(gBzI_b%g9g^H_nAy@D4i){}&Ix09@QSv<_oX`LDn;{AN>j_wiE_GHM?rU^GpK|?iMWaCrY8v6J0+D{&or-nlY|!2*`Y?YyGC zEC!B-ZTNWMz1aj)MWOPSnA^k05IH5!HM^CQG{mLqxftIa)W)?5oQOM&GG zIa~|A&9Bl`6<|j@OiLnP@F!6Mz%O6d#oTuTnAiMVC_q33OE-$H3?Ou7%KO{cNKQjh zzK4;h;VQham9nritQnA54inr= za=r(RwNig;WwWh~Q{-YLrjN}*c5zPAOl5zOl^hJ2X0G+IGJzvR@W8Iq8Pb}Zscnm* zQl=Xpk|0Rej5>8*k4CeY8LGXS$I+6#EKP^b;-)kaP$F}R`G7B4WF*U!4plF!L=;vR za@3Oa1rE}zm?d(dwZq4@F%ncW5n>DBcs4cgjPZU^d*i};_F}L5VTY&GzyBemwh|3H zk9%IR|B{|zv};#IY}sP|p*Ze!uZ>tFN*-=3$Z#rU_UO+hha}ZAHFfb>_uS>jZ8{&- zv(9EOE$ok$IxhcaqQk7V@j4r}7i57e3ld9uC{vTBis&NH^3QgJ&xTuDPJqg7^)3!w z7R~K_Oak&*nUBTFGAdSAmnx=e54(!<*Uyg!Ns(B=kHWXD$OPNyZ+IA;`**QD-Oa~V z;>lj03hB{J_b_KPq*MEBifEG6LE44k@EmBZ<-v3T2h+#DPoB^9NAN<9uIY5B6Z{+~ zY9QzYhsLJf96b3MI!4dKFyhfE|{pV=jT|u<$UNl&R z4AvrC(I%F(4h=8i^at703MIHUPK+4j<`MLtCK_BmvsC(J$+gAq%1Ntsmax}RQOi(b5f@; zT%kFfA>t3saJWbZ{+e>5hwt_kIpdUCqYJ=Fsgq%O&NLM&3Q+MpaeYH%??(A+ z;$#%S)g_6}yrP~Z3kLe|L=)wTQIS^Q3&YMGPDrE2k9-HGp2s7vi`+WfZl03+nx$MJ zbX|p1G{AGjz)H6!Vgf%~H|C*cmx4uhL$xJoimhfdzsqVhCT!(6ogCGdaf1f5mXDjD zxzh;qw-m*;@~1cZpWL}R|CINCe@Iub|Gqo5)P~ebyeH|g`Kg+&0@vkOZSTkaa2T$F z@r}HTx_^V)@egJFr5M^7`!<&#(?8!I$$NUL_`W%Wg>N~NB^E@5WUN)!!4 zvv*FUDk}fgk$ZH&V@%f+@3|VDj8gFjWB|P~xbSS2Wa5x%XyQ<-n*bH>=&W;`lDXJ7 zdI`EQQUPt*pPC8GButi0PL6EC&aIhQ9K6nACQ}g)84`#N2jYe-OiblZ1o|PiLQc-Z zg^-$BgfW(fIL9jNLI-Sd3&3C z;qRMb$);WsYnSd#NfmDH$77W5&1vO%!)#5}VghJIiJ7rOZM;8&3?{yO6vMk9@%BOt zzY~%%QBI_|uFlg#J)FG0QT=HIGoe(I@Df$U(=k$GGoF4H6W}jyj{SKiq=yCsra6XMqDvC1EQ%1zS_@B=?V~@h;S zraCpZ9pkw#OCH^{M!CgVbktfJU)Qu+i4mM4s@AjGh`uaiGI0iEKyp@v9)wI+M+rjbW^?Vb?FbOJOrguafimF{Tru|=7@Tei6i=5T z*^$RefmtB&jKo038yc0b6=c3m$SUu-%zL!*lL|}3kU3n+*@b%wn<3kptffpAWDXw4 zLWFqx+UbkziDF4!Usn9SWYTFr8U_q-gC=7tJKW2pq3nALr2`EB(zFcF)+ zmb!sEx`u(>`0$GYKcd(or%_v@>`LO_ zwxG|d#MUP^$7Q)?J$e3qvPA<3W8#Tv9-ee=3{3MX);4By<87}r*H7yHar6Vl*4|nc zrOK2@D;fzwrcJc{zV72TRe#L_-b>DXXcGyc9NEvljUQSUKlvr*!E(CW1^FM2ItZ!K zvNDd7Y|07x$*6_b7+kPczwf~p8g$hX69qpo=u$crhE2UBfE~7LdDgXLikhR|W970g z3-TYxI!acaz+jN8tdb)KDS3Tkymey&rRRSXn!`tO>ctz@!bI} zKFas0puZB+ZV305%%qRG-ULsk=l~EA5kDOG?PbksPtP^@S2mub{ru!qaC@=JR~)a~ zpYHFf@z6}2H><=q!F;)Se6L%OF%nnk;Z^T$M+>WE>3s{RfI`Qemm{P95YJ@!o4px6kE=%shTTn^`juKxTkm;6``nq+CL}In~N)9 z%sJ|C1*2BKyTHqr>hPQN-$2lF6>iIYUz4Vtd&+>lHBsr*4k{XnjHYBi@64HI5ylcG z9t|7R0`U+^UVPkVsz^mg!ehF>L(o97zpUv>?7FNpS-HwLlo3Q$kKsd%41K%zk`GOe z*Xm`*A0r96F7n1t%ac}v-FgwqRs#ytTpGv|l?GaSu#xQ|Qq?Y-tTS7z8LqUB|Cu_BsaKE|{&&0m~tc-Xcs1cwOg zBYU>@e#eNSIgnha$u9^gd*B*M~sjD-J8K4t%T+&1BosuJePnt*}yY>sYc^iA4E$n2ido znt5DRf|R9|k`k_3MX5oyy4mU(s*_V_p6|?%C`>9vx$5hQ&0-aWy>;|BKJ7k;N0F<9e7SRWqNm^ygGN&V{-WdDEkS@7c{l>@oi zsFLc4ctdGtrS|!~35mn`dRI+)n<1)HHD(`WcK#n$W@g|2;gjHC=jvI!tv0vN@nrbH ztyV5MXez8_rM%V_)D87rVJ1FD=pPsduEo+4O$F4=@!~LfwbLrI2-kcU z2)P86tu65n6GSLjT7JAsOW>fG828XrX`i5;mt_fW7h0i)@}oTe27!(Iabfn6DqL9j zXH|2-TsSmTgY;ujUYDdb5|`UW;>mRl{Fj2FtYN5$K-WK7v6Ih-4l~zY^oYGN0rPJN zPpkLpyJ1pyeV{xFbtFM5wq?eZyidDa3C-W2JJsfU4DoD52*R+>56u!qlFs8z;xEnhb28=0pqqC5>9%~ zEjc)vex1GfQ{}_x8}Bm5`RH9qDEhFQj(2%FZnYkI)*GZL&7X>{(iK!*nW5_YM!?_` ztqZTB>8gnTt*pL}8g6*PvO&!~2KseyC%zD5cK&2opr77$LQb>P zHmZ4J)1&_!@A=_F_)S->yO6lcuJ10JN>*m=)A(D~*$q-S<9!e~^uyzF9!`7B`gzT* zu7Uu*{MiYk9jj1+AA);l?ow?F_=h5&Etk0)4vVt`PE#{{Fpd)Ar za1VO5(c9DCX3E;kAIqU%HK)e9%RTcARY3+w2{*+WL%aTFoHZMSO07Q6=J%#9#R#zL z_#L&l*g;XTnyX1`RUi0^xQV8H!E`zaD~%w@VS(hXsxlu}{E2Sahdn(2yy>tBtLbx= zF3))NgvZ{V>}f<3oSKeu1d(c*+%|RNJw#(q<252kFKu z=*Mi|H<2DOm^>E-W}8cA!fj@p6x6K`l{ z<~G5~vr{S;53alyV$)N^9z2?nBv`rgE}KWDvZ_#n)%Z{du)>Y3zkb@kYhmo&Q$(Tw zGqpQP;4WYZGTTwk=46!%Ulr86PYCWt3V*lPH#8I+{y~X{QX5_NjMR}sms!WuU^N@f z(#<#s`eC;}U8tBtz|OvLC+izlrd({tM#cFjT0c=D=4{;nT9;p3F z_q)EH<;zP!zyzXed6F&HsD=Qgmd8$F*zidrLhFJ0UJ%G9Z^GGflhMkOB$L%zu6Q`7 zYB5)$Hqd@;h)9(d)Y^Q63A#cVPeNcu_^T?(`2SOp02?r|5=@WXo9fT^*7IXhlLm96 z_mNjxiP3JZ*0fr5F7m!o3s2|9kYCAlzU&94NT=5j2`dev09Dm{fPNbyG(gDil3i~g z&{x(uy>?fWb$vBA>V(y^P?_8&Yq%9SVFIQZuq^osHdbP~ZWlF`qwRF1Wq_v6QMN(Z|#8rWEP=3iO+UkEk>_)?sH}MG*oxJxTvCx@9K1!6s?R6 zyA>!*32ch3)57n)X8_n$Tf_s^-DI>tw>{=IefKzn$~XbRy!)nvcDjYU#sU zye`eK?Z|Ew57>{_r++3sy+~qL9tqkD5mTT__}#eV2YQs%Rn!F^|A_FZFaDHm_AmGr z!6XBDIjj9LZz&xZ$iAPpEtY!rDjOv^ev|y3tI064HUy8s$I_h5wCpmg`|GLMtLksd zW7xCy(QSAbvQLXb0|oq$L1`YnKH%QCKU-|FjymeediPMvB-40$!a_dH(1852n}kXV zTxhvk7L$!PAGFP@tb^Rk`RhjS2JC~D5fIBlf%IT%ywAKLp}o& z2-#IB&O)$&!2Hx4GlSdFkQz}zo)Bt7O+MuZ6V^UdI>rS@Pb`}0t*MnB|EGI=Ob+id zl;OO_PaWk0XKiM;zqI@4mjvB-TdbLG%)qTy&-?yXrw;S^fR^hWNvKtgE5X*}SbhL{ zVehYbM?ZWQVc4t^H$4~ufS3Ehr|Om=TQVN)e53DTR>EytOa_O;6=y?b^=B5kQ}=np z0gQYTPsW^+57r$2$HRJ_`71CHM5)e(_w$}Hs%YK(3_d(4Fx{SPkpI3N7p^Rdd7i#O zo{PcEmj(cKcsX1)8$JP4OhfCpYEJJ5Y|{qNM9+B^{F^Hwg+`a*t&+=9U46#K%1uBr@Z%!?bCwzf*x#QzqN>tFqA5N; zoqru~1F#{azW}a9igCzNPwg5Y4EEmL@csOcZxW_Q1sRo~SWPQ<}KO?9)63!#vw1Xs7624nqQ#@pGe^K@YB4s(a5PCo`f6Sm@Y_TF;4w z6*uX}XYAZl%fXuS3_i@!$mAGWf^OvWN0SSRA!}~MJDBmZvTK+Xf2@)=ZBGhd<%vtMODRVR;5?Df@u)&JPawq+}=7Ra%S_iGq0gu>AXC zu{du?yU{Ig`0D&Ce>N#N5H?@pS$WFUIDrgT{_Izo1_djbJik0dIuwP>p=n|P$`ilG z4h&3s?0a7KTsXV0%1^dw2$xhm;B2%oBBX?E#wHIsLcA|sEQQG3U$HKUqXz&h&8yLS zbwSfD>SDV_4d$63rE>GuFvmJJTHC`Hb@lV2Ss(KJ?sq+vHcGpE^%IwwCol_BgPXq^)8+}E&6pAuk&X6<{o;H{}CYOV-A1-y4lm~ZTh-- zNI}d`LEQQBD7@)v(Q7?9#MGGNRg|iY8aot>{MQ;QwV#z6pV*J2 zc=_xy@4_!13>I=nr(zhDEWa;h$?(dZYOLI!&uTwH374u?pIX2HhV2J`bDt{2O~LB*V(w3!m#^GqiwSJa zf**Y?Li}+50gOJN7t%QWQ$|^=@SowBxz%ibFArR8*<7wtV^6i^pLo6R7-n<)S60W? zuz)05-Kd60zfZ9xeLYSOnIGC!=p9acjG%hf^k_ix{a%siX7-~Q`vyHbh$sk0js|PK zMK+e@_MC}oMPia4vC}hpqPlvag?Yb=d~6o9Lfv^h)p?e#!!j0DnNjY|seYeEXLU=T zAwE{0C|1s`>}Z$|Jz$Qq;%OvIFuHUc-fesE1bVjD;c@+KonJ<`Q_|p0j}L0LowO)l z;*=lzjaPTRvxN1)^5v=Xj~hpjA2M2I5_Ve%0O(RNQ;kjgJ9TdLS!+T-lfvO$mgt>f z`zO)>eC?=VXBFP=Uxg6XR7>t2-R`*O1=wY~KfHycQg8`y)aJRv1>H&XNg^ zqtKm$VS<}ic&!&}Ps6OMZ~8-|x%@9Xd24UaeL7=yAAU~N>vc)-T-!S2;Nr6P{Or)t zPlINYUDMYbzVIv+AK}=9pv8LUYjJE)H22L;NPhA97-2_VS2o}1?^C~P1^V=|mYA@* z?d|IG&L{WahjQ_OLngLI_PwX?{n-@!dXyTO;wTIVi{9DQDVLiWKkS-NSMjFC$1*;r z+}|;BY^_M0AB(MptI^715ULzjNGLvNP zEzOKd@}al#PMTqokyk@8-%>0+vsPpAq^^^4gSrL>b=i|{z=nZ@8tbSc-8oA=5jaMJnL7I8myDQfC*6!lg)N6NKz=t zaT~u5dSq2*n85K!*&cW;YPVSNOb=&qFs!e4)0$;bPyF0Vwma(+4W_H|B}J>_ucS0y zfWGsmQ}efR@ll*3CqG*oD8i3F4#>@}J`JMV@8!J!#ST+{OC94g79ZE8(`h}C+>GWh zQ-%-!g^{Z!MHO9)#@3V`V(Q^n^cDD9RMo5O+cozkC(m+$%%`i_%o#O-8X8iA48niO#k?beqgma=b#t=p=D5eEY}75T2kT4sHFAA!RFfZ|n* zZOI(|-7oLcmF^jjxLwK+K(_&`4jwq57mZ?0@GG9VGB-4AY%RQHQwYd0H=7Jx_m3_Z z1BU=44@~TJ*SOBE5LoFQ*wu4~bqO-Y_~^%0`O8mlWxu{3sh>KCy-yaHhWVVWCjuFv z(z)s+fCaic$l&(>qwAfcBW=QO(auDZOfccZ&cwDgvF&7H+w9o3Ik9cqwkNi&+w=YI zS?k<&&-t&{>h5<{)mv51^X$EA*DfM)gkXjI#gp&$CdQHd>AF;;LubJZT6XG-34@gg z!pFwY$Yx6J@D$MNesL6=LYa`?VsjQdsVbR!DT94{K_Iy|+P&7)7lrBIdGLy)Zxne@Y4#1g2+W82t*RkB>l(n{ zb~o} zm=EyvUG~K?+MA8|8#KG-@hsXi2iPm!85~UlL%MY{$1r_qZ}$SfD;q&~?YWw$`|3_U zleHn}fWBD^x10?LDGUYQy>#W>?n6ru8vB%i?GfWxx#fMK@y+x%x^>W@XD1`<|&6=Zh`g5!eqAlyYQ$f--aM9nLlM~D9075 z!edVP>AG^u4+X&QiqKa6?nEbSBu%C&a^|p(LiBH0de$>$WdmPXc^NB0_FFteP&5bQ z1&^aMisc4N?yvs<%K&j*II5I+A1=}%#R~kJS!chLIS04R1&?LHE_=J%}HtRjp~qw z%z^1NEX=JcbJInzZ;fp3f<<^V7hB}nu>=Y>O8SKP61RkTT4xIp7oTEKAU}g`>zvoW zj76mYGS*(0Z7EHPs^=P{xakq?oAgK>EQdoG`N}`bE827XC^>nZB}b{wiMq`RnG zMba(SoAp`@i43O{dAtA1M8hX;@p;zVcwteZkzaUuQFOItXDig2vQoKp!bdiqRbybn z8^=4Nj)Gv`0xYUCw zP4$qKfu%vj#_H%$;w}C2^&&LNg|9V9fDkHK53Jc>Q*@ahv_I$9RGkd3#`&gx0>v(5sxx@ ztPCAi&4n)98lAbS8P$<%t7q^{Xz0!6=iyDbLl!T>`t2{JL)eIMc=)f;w24$Cq}MKr zEg0`ZGurUh+8W-pywY+RC}^EGLB$(B2sp^}#jdE1FQ%^M?mBkzBD13oC8*FAn&t*2 zC|wV@QgcGVTP*o>A78E3v|yx2Xv{fP7A`&TOA9zt&zt z0#>I`3&AVt9xRoVA&DtmM~ld_Do6n{bA!_~@zDM>9a_GdilGL7S|%k$3n5E~Ry<7Ee-Z8#=0pV4&(O_j}Ii-o;443gCPz|VW{{HtM4Ej0h2A?VX` zR#(z;CBFBi?z736lc8joAFrO!T>5*z+OiEWBxORVMhY3Frsr-p?SfKBMD~;4b6)&u zwUCk?Yny(MB$=@7u#~g1(U%XG4VPHE*@?s5SJ;UwlvnrEyRKX-?4QKP zZ(tnVA6Sf0O%pTFij=k>YMkt^ZYC56^nvVbBxeX1e4rFvYM66C2T0p?bwnA_k4hDD zPV$p&#Uj|zIZF}3KM{1bMD6!2rUjq?H}(p`l`+18KgrDOA$?#w)az!j#_0k44H0OUn7qTaBx*V31qYmMo~J4ClCnmY z^-Uo1S7j@?0e&?uiAB;KX5jvN>v>$xOxRTBjR{ws)JYil{)&-AL}ruOPC9UuZ=c#e zaTGamSS){7>>1`TxvgW}W9z#v5^JiSl+L{l%wf;1f_n19eA)H3WijqTo>2_Gx)#1q zhO0>h6x6TH&Wg**#XtP1ZdEx27kecJ@$blPiH6qE*A(F_X`R6FXLMRRuXsrH<9l_m z)45GbJ-^M)3+`&!ZQ)9`K9&1S@jjhIHD#skO)m=My!JdfIdw9``)K>J;afx*9lM4) z?WM`{bs#3vUHWaBICNz)OU)l}|52RKh{8gZM*_tM%dsbMuGWY(HkZBr>LcluON1hH zM@;8h?fpQs59m0_Jq);#S3VZ3pRr1SP+tEKy6L-mK`iZ8bt&~32WS4SCBDsX-oG8@ zHBK?@3X{;!za?0q9IKRJYNXf2!hEO_jJ9yJ9Mc(0Uh4e##v^*i`aYiR*y#YBgGTWe z0svU?(^#|{wU|_A6pM&oroTMcND>ZxRu4GXTYe)Vnm)m(mRlT*cEeQqz=ITX( z1hHb89YcvEK$>XCkRH3U$`#P%YJM)|V2zleukI=^cf$~@TRbVx0;Dt6QY=xdUwL_1 zb)u@$$R&uBt8;mthLt1?tZ|b7C!^YU9M37QXo;lW1qR2vCXxU!n&!Mr3b_Lb%*<_` zo%ETWVI8PcM@4~^%6qVY#MVBbIroJq&oDI48QB;;;Rwa}@b|q%BwHnMGk3^|ah<9I z+0>}mL>VW$ms8T=+TJ3&AAW)+Xh$%EXf2~J< zcPjTaIHq(-pD00cH`M(2RrCNvQ@ zcZQNn%dIToKHbDWqYGRv6s!(QZ_8r}s$28pM%~?L!24Q|R2c&bN0Q5d%PQj!1N>Pe zF16F?%bor0KtO}G4GIfR(IN(ka#rKxf6YnusApoDuCcX$8n}$+z)g+R%q&c->By|1 zfG0LfvpSDhOKU&Q^tKG*YYkN}&g>YQd%j;f&WyN|rUBmG+M*O?0aXwHS|*Qfyc^oo zP7Mt!mEfElN_uDo}(AjAZ7K#rd1KINlic0DDz1!GJa3y1t#!d(-x9rm1Q~_^Cx$g{fAL{4F0o>^8; zFS?w;lOmt@R7`)m^t?IyjYr%CwAFvx?<#fn;rHHC0Z=b|$L#SJWB`Zj9sN#NH0wBk z`qgD34D~OeXxHFD-Rv|u6yvb7_e~kwg;Z&YJ6K++&{JU~;2bAx`jR?qttXjJ!R;2_ zKvhrMDpu4D5O;Tp zsW{(c1EUK+b>~11)zg;3s{gF(FiLJ{bT-Z}DR?uH5{$n=P{!f7=`4B6aiL~3qum2L zDr>vb?R!W4uvM}Z`h=#ddghIcB~r&x*-`-&(0-=n`Uv+}n0cPs91P(;kabV<;ZvUJ z{qKg<9p*1jBzg;rbabuB-;rr`v)pD=NrQlGSI26Owp`qgqE<2_t^mtp7^|c0T zZT32!F0XlO+4K0UbSF!&pDV9%nru&@04muN-FF`FN9U&k=Rqu*~1 zBXV*G6cq6R2|2qpc5}>|HK|;Er$NsZgYYl3>Wymd)_Y}MSV3COP$iB zTtLLoIPmd@R6PR=cz}1^Va}|G=ec)t8m-51SNbB{gC_fBa!z-+I{u<5PiHC&0JLvf zK&e4TyGXbXb~xU-O=VlvJD#{4Q&A+nCqE;w%`K_qBcZk5rHg)%7881u`g&M$2 zNG&%|vx#QS?;WR2e+$C>Zed7`r@4N==d1zgnqxl~!B1RLx4H7t(KHnmQe1bgl1}ON zeJtL&&#QVSL2aZI=)E@bZ5mA+*6EVjiw$NK#S`53;rFDfuDsA0I?C&Fw_s2FGN3BE zb#%(YeY6a*`9Z2^V-M!@w(&XmyRY_b-as_3-^OLQ%NaPEbZ3#OZD_ilUz?tRhQ+Y z!8)byXIvv9@PNIG_zyfY9ouQ(;P^gQ?VZSE_G-8Qq3_DW6i2*tpoz*J5KfEOE>2X`WG8bin9hG@v zBoKen{2WzJ$&l|DYM3O zq@p*C*kH1vDXn3YecM#cx#F8=eX05OoEktb)n!-j{Kk=?P?E*5qaS{WNeUYo#l;0D_j*6;6|$le3_VuQRWnFS0Qpm!Yw?9yf6IDfT?-JSFhDIF3jo+of=>UaL=j z0s6JVZWIxwJ?=RcW%4e9xt~;-F5eAOopj?x)7$n_TuVp%uZAOXeMEirtVuf-Ut?H1 zc~QjK=%Qk=`LTQf_fFg2@q~e1DWDe0%kF7jh-zQ@x{oF`p;#0pJpUItT0${|c&Oi_ z`to6}Eb)sBG4|mkN(M=#Sn@WlEHUuVj4^e~rH*6rJ))u=oC;Z$!c`%w4Z>3<^^XS~ zIvg&tpSL!@vc6PkixPYfIbd=tm+crr9HXK$J1Pce?X0ENk(n>96NyTpPlexr^);2& zDBdYP@qd5Id?NJy{3*t#p@(`sdRr&49E8Pe>`?0~fLRq`Xcu7`LkC@4c${jXXVgoi z)l02FFTG+ObH7LpDQ`wCBNdgEmiI@AvZS0% zJAz=8zOa#UQ*K)-aaN&(dOxM=v!W@#5+zjifws%O+ju*p1;qrmZZlOd_-V3DH^im7 zp+Pv%$24HA=~S1-#N7M^?zgA((RcXuFSY>FH!=J9_r0KadKMPpg2<;A793@->g+Bm zAh5e88rinD_oi0Aq*-ZoqHlItp)Ex7;;;3~ldWxCuNdQSXJN@w+172+^;1* zuUcwgfcfFm$Muc_ska^z&8N>Vk0q~gkKZsVWE2w)MK3f_Gp5X!OjegC-9g9r|Ii;l z_@0^#t08>_^^3o~Fz|YZ_v;oK&lch>)m{=`XC@5b5+XQWJhY?iBL9cKDPaXBKEgH2 zZwrg?H`}ief7|j{9@?WLhdoS~pa8!en4zLw+?zHMk!z6LDju#F;hO^2J{;XF+UWg& zo@i-qLHq>YLI0vEVtKRGWndSQJ@KblFtqKcC<_-A1wSmNqEdue<#u>XBD>${qLc)-2Ju!dNL znOAu;c}+C7b1Ed8!R_|+XB3i{snx)jloBSQy$1v6CZG-RnR(dxQ^zN@o&4w3JVOln0FUJGcVMi^Qd%dm<8e0~ z25LR$web8cxA^JL(&Xo^f&3u^HCxtT0zUb~&tBGbSb~ypeuB<#l=obBGtymX27B`x zShdJqO+!EGR?_0$mha*uMw>b<@GFNDlx^dY`)^#7RL{aQU}c4@aQsh_c!@>A;$@&n zy{ZxeL%7=^y%=Nu>vk1{_@T9m`iw=kQUKhksS`KDZepEC;ZCFHQgdlcemgHQcg5Xt z0J;0))|!DN+E43vfT#E>K@4qa{8r$AuCVZ zUN1THo>4D-@(~hY;838AoR@KPZ@2N`B=F8P@otJGU;q)c#KsXP=fg896gvfh*~@N} ztq}abIS#gAiz24s@_jRDSZYT5%hsAQBvoSep}?Cg@l6!-g%)w`p>twNf(y$#H7YIl z!1k$!Vih~MS20ih*y%0?V>=Fa3rGNB&@_CXZQ2tY;h*ndfKj@Nbk95i)r>fO4&$K{ z!dB2BXuDIHC~yFg_i2Qayz)z3)0tcsr_*_2+R@QKVV_IYacZ5tw{4Qd5L#QIDvx{d z#gX}+!I-^3=u6%>g3=bf20K-o>>Zv8b}WL)XxMKY-;=1VVh0rzPPgdgAw!bb%t;E@ zCV=VLiLe0FEN#|9M`JHiE%l$nUKq9Swh{(WoRAxO_S0{yF0wz^-CMD0iv0qBE@!Pt zs&!EaOV=s%x5>2V?#u-Qx5uIWui1MeU~G?TNYl#S0Ad(F?Co&?N*gP8qPCXAB}#Kr z8=ga-#!DjE1(gcDl9Al+Q#C^@ni8xTdRjxfQ>k6eYDY8V$aVr}fjQbu7S4boS7;pk z-%xp@|7#=>pC>O#cmF|*eA_hI9B>09wPf!9hC)&@e?4wj=`t7aTPDK6AY5 z0M@cYhOTC+os{vpM*~_lVNj=hgdRq!jxgTKeHr7l<|rT~`>Ajij9*7}3tQ1?>O#hX ztrh5j5Q$2XrO~i2!BDX&xfenE?ICi`OTE&dNEglfBWp#rk6QUA+D6@-xFQ!z={E5n zOvnHBNXRgO&((m$!$m1h>A_%Tizs9cr7J&l+Utn-5&zdVN0&RB+1av+NKt`Wbo~C9 zxV7Es0=)9L8&k1$dhA=eRGE0<}wk4 zDXMV*U6R_()crBO)d|p7ocosU!tY;wtk=2nZcwHatO6VvsE^w`M1QtxYdqy)ZC7t zdTh0lLbis%ZzU-e*;F~081QZO?zJ5#dVH0|VXPl?Hp+mFyPWV^bb z)L28=cI1snR5pL0yvpHK&Dvw#tOpP-mFKAL* zID|IzdT(07MGmIeV+s0fwWY7a=LCZ7pN*L3I)N{pm5vQJY1Ryea&AWtfn2VPNnX%G zkTCFCz0d><((Z3r1q>ij6GQ!Or;po|sO3wGXxph79rH<*K=*$WhZ+CB8C^1aab%{R zcGvEs68lyibG~PO^8lTuf@w!h{!>@*d*VusEaRV*2d@`wn9BgIh<%u6c{1lt@{bs$ z(r?K5_Hp?8NvcLe1wTlB-6pu>u);_^>bf6`;%wOSu$C2vymC`t3Dg+bsDjt3F!X0Y zO9rU@FD*c4W)T4+78ryrt{GTCyD!08I14R2kzxt4_$$^nGk9&8URo8Db z5@BC|*tt8gRoFSbtxIPEFF!1zf6`npj{HIb5O%mxw6Ct#webRmd7vKA_z+fIcw))+ zig;iUBI7vPoJ^QE?o9W#*4crt9i=YX(XjEfcq)|ZcYcrQp4tK;=mY&7ZHcQMG%o}D zKuFR?Q|}+443T%H%8;QoExk8+>-E8UOYwZBjana(w~ygQsBSwmqAOvnjVcmwfXn5o zI_us7+@;-bVXmoUh#6FdZTC%9I)lZv{fZuR>yfe`6QRGnh-=uo)(5|(Etva=Xo$77 z67U{tbIL=q(H#!;4e=HOK-P+8ve6uMY(#;oF`ibRiLPff3z}8%lGb>3VvI2*AnF(}LXC3jQ zXs|@Gmf_#k?@!DY<}2vQ!+C*ZvI4UbD2*Ev3Qm_BGNF2Z*e`~A>Y`EVT7*egYQUC| zdsb&^C;fl(li+Ouxtan9CWpI!gd^}-{I&&s0AsOH+roeXyLg<(=nC=pif#Fyollp9j zW*gjO1ilL68T_AgC<%*&M8sbe;B7X+CD`3@)OU6>G@ui_WjK?qO~!Kt&F{&mMZy?w zl^j1pba*OgO}3hxFY`w_Udb<&9Z2a=zFKg9r@ZOSV6256`pUoed$LFBd@G?l)eBO5ZmFn|@HkO@1cqtTHIPJw4oB zZ_YWV-bqSLc|X4ixH@{zAt=NoCoVbz5)vUocTd>K6FJc>)1FAH3Y*CdufOH?i*AWw z>!;TQvW1#ye7+3fzvD#Q&mXhsbAqXY$FODS)zyb+x>@J5T06=}NJ`3jJ6?K+sjUw zND+^$E#Fnas^I^Gud5YgwM^;PECmUJ0r)Ok7r4NOkt$acA#y0Eu$O0PU2&*Gi>gwB zl|oX5nhvE6+uOssrBMK9A8Q}Kb$=-YqC{(6px1MP=KYQob(WD=Bw43xvgzbm4pm>;M ztZ_by_=%|$%)DM|=WAS@V3!Hd912B1R;_j9=>g=7Ic;C>c-59S3z7{W5)D0!6^3To4>e|U$aXRKgM&sZmB4_wr1$DwRQZyq;wpG_Jg%l*0)0>@cH*m3t0g93Ou zFy(Vj3C-TE)|V{M{v5=C7fc|lP>!LLqkz_Gn5<1SUdnN|YNppztFSRt_W-s#U^j;O z4B40q2gVscarPPGM5&0&cP5~wtf>#jS7wDGDa8SP&#FXkDh2VrAlHUs&Evoi&CgnP zHx_GX+#^C@aKkm|EH;eb?{X35ObAF%y1;GD^ml8EYG(&o%pMP}w&E4G7GhAM{|evc zayt8?aK+4+IJR%s!tMPKpMK0p)g%+i3{xnM)Z}XU$Op8e*RN}hc&f|4I0cp*?0s#p z@~EGK=yu|Ua#6JEa%A7E^RHqj%R%NW$_|Ch;uHU=u(*(NPtE>uwwM5(m%Z7XNC0*1_eS}_OD~6 zVMWq+cgJH*jg{K$%jomS`|%9V!8`fF4KI*iiN@1@Fe+KLn^0R?jT5_ybBD-e7Grn4 zkyjn1f&i$94Mb(1282uzZ;MGa?WWlIbFHM9n$@g2;#ii^?B7VFJv$NowH^w^ftJOb z-c*|!wjb{&G%lFB=m>S`+lLKho!o$1u*0!Y7%|%aiZ;la$xIGlU$81qCe0s#`-aO+ z7JYL5dvI}{(eZ3$Lxf`VK$*oF4(T!85I0!*+`MG0@r3DvEWL1(K)QD#$-LgFAqR|n zp4ueBnW|9BWLEd8mM5yj3kseLk^tbIGr4((YYh(s=QgA1i8IpY4A^HL+#F0l;4wt<&Cp8 zYjuHx%Uz9cU({=IqZQ6^1fpUAzf-Up_oME63)T=5LK*WfMD49I(no!rdt(RM3gW%7 z-;>G0WkSMXXLo78rZ3vo_B-UpHs%+dU;kml)C>^3v4OZ?yu#hx?~(@Ze_NKsM%1D+ z6DZLmh~&V;;xOp{>(zJU^p_Ffb1?^9v&-om1rJm)fklF{ABhk7Q;D+Vj!h0Z!q#+I zHbRq6VqV1e5WGZB_o>H%M5|zvNoTD-6p=@8>ZG6yj*w%T+p_0$-*K{3=ls&Rk`~|P z8+P{0njIM{A^3|4>wpKClEo>clk~&I?9^BE#u#|2|47Gobr_+?#O5(q;J4nqk?yCs zC6$r4$>UVmacP77;5JkJ(;$4>2I8_ljY03Uli`<CIgJ!&#?XF#wPnv^KkaoH>lOz({+v#|}4&SAMmYNvQ~rsAJ9Swqy87fF?h> z5G-#6ox+S2noKFl-T4?6I@O*725V*p`sS6P@WN&@hx_pY<-~^+yNIdmCO--aCp>-oZWuCcR#anar%?|BrBsX5kG?yAKhL z=UiXY6djaT&;QU^VFj^o;S`sUAL5#~{ZBF>Cz;znFSS-&6a=>TDw3VNRN2#<#cWkJ zyty94(99}=3X;dZ@~pjftf|*QlcyYWsB?cj)9CY7&T?1eHZy2vTzHQ_F8KWx0vy1!hf#xS*x zZ}NzHg>M!98hN~GhiugO)U>p-D*RlyshUik&Zto;B{_HGzY5ps41d*}1^Lms`@gHC zk)5x|MfHF5g>P^1_mrxX2h zp;_Pys}LyxHFHwzbg@>H$smblqH&is-$!t%$Bb+XVD~pVV0|I;_?VNV&@F$bZN0fn zv_CE3LJXq4a_!JPxrl#tX_-To)r|r@j7d(q?rddhK}A(sSh?xExF^$S>XJk?PyhKZ zvxByIWJLVbt#$-HLhi?&Np>UImHw!Sq6`V2n?||4T{3=_-`>q_fU;Y`zD;)bVvZ08 zTc%&>1>5FEtP+LtR^~5l9a^;fJb`-eV84ZrqR@P@>Uj#Z_KYhp-=(^pwk6xtC>_wO7-iV)6f?i2n@;v|??lZch*h=*GNeW~}&uIR^E)gp?~I{ir--iVA$ zUGND^Nv}x3iixV*!*}YA2D7n&@*v3d;OK(F=QFVIsLSYr&ZH=rB!o7u6A>-9>R$^t z-Ztl%MR^|uR)dXa}v?hD`{K6PDR-Q9&RuK{{n!r+3^vZy}8U0hA zEKp$Y>OsY3u0EOlNPe1mE{LnmPwRDacl_kXc<0YTjoS@$?=H?NBpzjbmKM}qD%|HsN*7ItkE^O^B zth-;us8@0|pk9L{Js?yZkhA`KJL!Da+~ruuWf*sR;US;$f5R&$*2AQOFLmaaO!nV+ zv|cF$>efUyDyomoON8Tp{0g+@v+Zhj9{MhljKm~z@4RPPmT)!OD|^O`w$Yv`P7#oj zOq|5zI0m-d`*wHNTgX@r;bXpAxyjq-p<&0&pMj5tZcjk1E}_s49>uBjlU@oZVMWg+ zVA3B*PwrN4<2Ia6S-(L4LrN6v{?urQd$vPL3@+^sQI-Q8};cIpR-;E=0^DeeDP8{-YWCo1#<{el>^8m9k9+CJTXPiw{}x@)^ZmRWR@)%(gUvkYm6!+ zmZUI<1+k-3Np+*-1pcbZQc146)NFg4+1vC=c+{W^wGUwFGP8Hnk{U{pCTn?#!r{z+ z&*<~oT8B6+G6TQTB<^bV=YVEv&_r4NyeEtppEK46@DIZP1Vz3>2n>Vm*?+OU3lt^z zAJG4kyjBxY$Ngh@NTH#)t4!de!K3OY$W8m%T$7J9YR#etrm&6^QS6JvICA8*-*Gn@~ zv!DQpRG=MzKaXRtE<{xH)zqG{*gqtI6&l`#7o_Pk=}$CvNCs=h z4vT-@i^XiM-5V1QOx{QjuZWe(Oibti2?V%g5e zi1(qtH15nqEcR0mw{92!pZ{~Vmt0^kK26)^J_t~Ti0yq4rMdEq(EK!XQk|mTtj_zZLK@ECKRF&OO>V7&E!9P z>hAs4;5I+x8`smdY;MlZFg0j~L1pwX+GD-P^L!rPpu%W?`+#^bQFu}P7n!+3_>k46 z50!&8#;6`F78A6?>(L6AEkq-kic(X(R^=C39bN+vF=XMxPG-535pMGl2(RtcOR;J* z0Lcp_@lK24De73KZy^DTLWi?y|6YJ&TL%+<=)|<3U&63wJmswB?chS{$TgK zK?G%uRaa|CltLFCk@eh{GDMatol36!6FRobj zbdcI1`!K@m>(uh^ymj0jj{=9BpayZ{fw?Va7%w%v=!rQBPOY zN;+Bt2)_R7@xRFG+2Hxtsf2}5hIh(^!J9qcB|h70HLE+EB5bO`SbI|cbXfRHN$tp- z(s5G0Uv!ka(;sf_Z$7GzIH_`i_O@6)sF;xd1=o;E>Ar>G=5M|N^uSGp;|gitA9cKe zK2+65YL|A2v$OW=g4yD}VJ9NAsuVPdqY6>aFI(;wRs099CbMEOV_>#8(EO(g|HE~I z+LVORr6lgWT$(z^sxz$Mxmg^008#^>J3vi*EDS_cY#hBUTJr}8Y zw%y9cjab&ua5uJ^zz(g^=|)4g%6L^jIkhdPW|`qd{~w0B6B~ZXym**t3gWDzXx1wY zL`Zk<-vaARMv$x4CucE_xdtJsJXS&6ys-Jh-M8gN7n|)`3UF%d%@PsfxA`9Khn$AB z#)>SS@=SC_BoNw$=Eo7O-F}-bL?&x_#|#EQo;zza1|IEf=NN6`^2r}6g6P=otE^+z zyQvp~h!NjhNoaE*7p6DB&z%ZC8G{HGRZ@a zA24p?od$Ox9jw2hk^p}HdAerIj(xFaQu*X)U8_jJe!g5UU3PRG#tOa~`A{_+MZ6&S z(c$_K@tunIlu3oGGh}u$-ZM};-GnDAr*_C?t?y)teUwDeC6#_t-p+DkKIDrZ z0ZC+9Mvu`aLvrrCgZy%LQ`D)^ht2g7$m|pWQD^t%`0Zzf9qnW!AxTMtWn;D%Cc3%d}a?)K6edq zovu>bdfDYwOS_2uYt^bJUtA8NNztG)*JiEvuL!OTdM^S6?L+O zk>a`L-*|7AuTuf_?H1oYI2Ew5unaH|(%y&UOdQ%NUk5+nhq4#AqXZ}FhXO+LIW;i; z{^PaJvcQ|ZVXr~S{pK+KZ0)fU1DT|!BYb}4ALHh-8u@&}AU6w=LHYUO*uc;aBk%lH z5Cg2-XYmjf&>Ax69oKCIG3*I`<3(f$7r;1GQ%-Kz$Wx}Sf+ES%(}Tll*z`80H@feY z*=+$9tj!k1Q2QWAghBc7?4sT||F!9GT1?GE?Y=gPE(#sDKOoBdKZq1vR3k-nV&8!0X@r%_R>B&VWr ziRFef^!3?81}m=kOLuM-Jh)wLxtJQ|Gd&+s1*Q4WQB6AYdeSA9>SJ@9{&U-81Cq+q|nd#gnvIS8eAm>lIlNHcr zKO=@Ya?)W*Hj|OSSVoN%V9h;ZQ)sq1bH9eKstI?UX&Ut{o8^U|&;@*O-OGmhUKvVB zZPI@=gX0LObH=Ve(+tyx*ZFlMEVY!MUSZzu7Xyi9Px2l15a)zX}xwsyXolL1RTRo-I%VJZziKVm#%+Z9y zRKjcZ+Cj*QFxu*o6QBgip>7W&`m@f|J1GLKx%yrH`lX`Pv2K>jOH#f>ImcorUx=Zu zMX5CzE;9H0m98nUcRDm1^E%U?wEPxDq0r=*O>fte5SF^us~a7lAmx2W*|a%@BJz(60zbqDWgc?5TMKlch`%&MT0xiHTo?(c zBk|E3Ob!gEsbuu0h`866`t>hs>AA^Uul7}+j{N<38xfnAGS_sAN|H~)O5GAR*9Z^K zKWU4(Do=dB9veOa2_nQ3lTkFAONc~_bytDJ3}j@lCj~=BC+G*O06Ej$V=Hw>>!H|? zJwJWx!FX^JBIb;jl~UH-j|I@t%MGbfYaE`q7-g*(Pm9acqLWGR)iSmzn57zBlZ^mL zuF9bwsMn0Lc0eM~gZS^A6&ZC7Kt|k$3 z^krA3CP*I8dl_RYqz=xflR5Kl8TDfxRsG@n3vs>k zqEpZKd|r96lv~``))0Ha{{(f>{L)u@_6JAm@3^KtHEDc~b-R3Au@t}snxydmOEr61 zpZCUW1^5^$q6I~u`>8XXWTT=j{Wv%c#|K4`4xy?8TdrE| z`Zuc;UbAzxx`SI?p9D?EJXJ6pU?e|@`DJ1-a{p;r&~kcMH>hd;s${JdM`CBj&(6-q z<8QQO6R8MJv_`H?4SC3}8O_o$@VxHdLhsBxOY;)^M_zxG23600un+)fmP`l@8R?2# z55f~W=*Va2C2O;Sok}nmzYUFqNlQwD!1)VWT6iby=P%fH_Q41O3uYr;QOrfGl+e~4 z1uB|K6OxGwotaFQ?o+)8B&3G?q*1!|7Pz?ssl5pko{q4O`7O0%dk(g57NR`zv>< zvqmugxA$YwE8sZunH_}aL^Tgr2g7_m_(pJMdmvZ63x)17ubxWo1rB{=p(K4q1(#w@ zm*zdVyWt<5H1ybvFH=o9n{>RsFFiZ0`;?k+83%A9kMO?N`7<+_?#xp~P0AqPYC(TI z-^${uP_JidJjd#U{anQ@rQRR!Jx0vX%FN(wc9&7RRZPzO#g3`w6ahg+M#e=} zWZid&_;h^s!cml-r7!E*l1LsFR+MdxbZVlz6_c5ucw%g@AyPs7IisA`LcF&AtBHiG zqnSmrc@yi7Gc#Huv`JX{}9jHj0%E;LmD56rp=>lV?o$o{vm!}`-gHL z?;aFeg+BG(-H+`rc}B~qYS<5qS-P$#CfE(_eC2{D+^)G5rg|>s0;7rk$P(+1&T|}K zU5*eJrgBJTJzY6`ZC)x-H6G$^x1~O^`2@O|%Ty+13zPdRJ-zi*5Vxt8v%e{Av|6mO z?MDBhC%#zR@AEA~-$29U#4Y*e&;koTS!R0)>kviwA#lzL@;x+r3NFY?i&y+( zZDuoQ>E^qQtm8}?Kc~`lAj>f}tfffkyt6S& z)de2=gQzn2Mm@LHoflDa7;}&#EX;yLFKFNCTX7tMA0>?G{s65-Kj&zrny?2j;{wR!~ubT5)tc;?(tEATsNb#ONuQ<09(6|=mzTlsA%fc1$Ea~|iJuNAqw~7Sk<2W0gq9YX?9Ep-g(=036u*TU zOh??N%WHC+R9adkoW$@;7SavP(WZ@TMq@p($!J&i6H@6jc?TO`P)YG>)MRNsXCynh zaHw?IH`CIZ{qfk8U|ls^%;`8{aJm|{;=Li}o6E<|<{2r2a#IF3y%@&M^unoldyn|3 zQ4e&`U5|PQ^`pf+R{FS3TJ54e299ksbe3%f{ofUg;z$lYCX zxzGZHX{VpeM!H&Qw8#};awADCovW(yae)k(@}MW{cAm^-^vaF;+Hw5e;WW@eW2TUA|!_@jMVlRxv|A&`(2%_7PW7%Y_5Mn z`TZZCc5;V?uUTP^Tq4dyede-P!URR<>Ei*G&UE)gG%<1ggH2L$oo zt+HK{hScp%fTsHemd55}-p|Q#SGv_XP1b#oE zc;BKx@glay2n%M>dtPD}9*$_KK5M_4Q&mbNb(CIkzP>*rIPc7v;`?PN{pN=vM$HuI zLzm^BgqOcbdnAQ*qqx35g8!SdvxRP5%&LB!4xE9)b)o#t+Ip&)p3fPAM@;;?bsJQU znOK5|-RbIIT59d$B3DdF?U3&5^LDd;c%)q2V-{G)y3A#{(kIXMq5*a4o3+;pxdq}v zjV`X?a;3JR&>7{W6y4S}F+tWKH0r5|-FvStw$=mN8mkq?EK15pbIXsMPFH8g`$L4- z3omb4#e{TBz>;t);%}-(RU$CTu7cp&rA0X2Ky3$22_02ku*XKAp>?q?|0-xrqQud&vbjETnXU)R~x3 zAo-g>DLnJ~fC6Y7vl-FDXxb31ta~()4<1TrUDxV&$4RQ=H+m30Gf3=Nb#@ocLO(G` z_>&gGVt<>+dwkWLfRjfqt>^8^pQ5Q6q|RC4MVLZ*J8T3kX=q|%Q%B65mVRlR#DnJ> zWwy(n#qY2Y>DFz-W{IRt@WPX-3als7P;dzo?EeLU>Ppwo{uG%A0X9F}2^$rH@k{yR zgQ2Ree#)#)f|ly-$!y&Iwes$>q4bjz?DQhhCC-09Pqx+PUiC$jzFejFhjn(VOkbcl z7S@)Tj3l^c$ShQx&j{t?uHTWC8(oDI*rfRcPoCbWv6-3r@v_V);tr3dNk&7UNSZL5 zQ(5iu`_x8hkW_Yhi`ny@VOEgjWLEew&-j)c>pw`;#}{`Lc$nZU=_Sq|;LZk;C9dWE z7k(tM*gyM!-Pzzlj3-)`pKy&V25&jUeXvrOD)%acmrRyRXhXIr9p&;1@U$0H#LJWI zIdP3x>FBqQ+2&9Ugce)*e~dY#a+)Q{yPOxVIR4YCPpu@aGNE9)A5_^}HGceof@uNE z(qC{5-M^x9aY<8nI&Vn<C{{kSYN}u_Cj5JTUPVq0n&=uh6=I(5hx%78vBO{d{k&z?j=A@BDM64X$4GR>Zx^z z-}>BV04qB+rst{YPe9x~_rD^rvcrmEFs~3(S6QaXcqj1UxlChE4uFH zv^}GwUP;Zz`(R51p`Z05=!FCdvXouYY1D7+9ju+0(?%c?!`Bn!i*02G&4bEi z{}okt*K~dZPxMgo78Pb#`DFF83nBZ%TuL_DBz>k3{YUbiI$LU40zQik>APIxRu$cd>|y!sfylT|A75125y`I^Weg^*0~sDx z_U>mhsK4g^2n^2UAOoP;-W8o2&8(tst}sTn@?_asWPO(MAkbGS`&Mo5a`iTpeZpPdBUXTj4WQZiqr+JF~rlY2XSv zFWPfQ#@0mZHks`4w(whJY56cEO*O5BOTDYNLoD#>+$MgecqoTfg+Z!RdMmBlI+edD zewuR{SIVOi8VTT}e!Rf6C0g(l)RP*-*Tp#`%zvoV>62@tdwdkAN)OO1+9Cx*!(<6y zXr^U6p>b$M+5Tj5ph}~$V;;MvzdS#&CI3azfM&D{goKxgSs+X5xt$)9mpAJ}Bf7Sm zdR6_2wy*Hl&2#0cffG$Ht0dY|(Dn%aRzXcG4_XYpUID` z2r_q3KI_&TO7!4lYnzuX6(vcTwQS}JU;~HhZp6nE zL0%S`PHw3nFKBBgLsm((`x1+JG4ZHk_;AMk9~JDFTT!vlX_Vu!Xe)sqJN&;XMpCi@ zp>bk9fKQ&beyod=Z=ASflfo%RnkjA`vO|>yNpQRbNFSqgjsNNG6kJ}#Zy$5Z_Xi?2)zQ0f-46&}H zvK_j=wh zz-syX0582ts>f|J%h)wT(=Cy7?Xl2GXMgC(1W?=0$*Lb{yE^(Jlh%7XsDBi`Nu{=;n14BvvoVeKE?zx2b5)jCf^RmyIj#E~B}h&83q}T!6&rCQIB;iRo%-4VA$z zv$e76@ZEkFu7%LN(vo73T>dGzni2YKE43nZm$TvypSPyAz`396i(v>t#B|Od6(@qP z0&!5i1Q)No2EEf#sH7HZICK3#!+bA`bKYKaoUKhRI{0%=!N5EbAtv5bd0=d+(}VU| zL6)9Z6-krrU}syU3@~TqWe5WRpbPf+fbDX=qC*+VQZB4)K*dVv3?bCRZt#>yp}Jsj z6m0Xcg8jK;B{fk)X>$bj;#>R;vT~=cBk3>UXSKKp-CqTzSMn?f1Ih_`BW07H$Ix}{ z6N4NJrwW|2cbm>?pM8{6Da&|sPAJhTY1;*9rmeHK#lxr;ypKW~z-rpV^gmOoCIm3|(Q z^p6|rVE_mDwpdqBPRVwELN*k(1 z$v=BjNmuT(_r&#y+|_0g5zh$)G>g%;{L)i4-z}^&(vs zZlxa7!A0sNvqgw(tZYMN=~2BbUT>nFaLA)Z*Jf?mZx|Qrwo9JxGu1YQmbh|2qUV3} z7?PYo3@c6maHku`;j%(b|Wxrx6~i(%j_#<(FLMuW9O5lX5iXbPg>-L<0(n41xs1%HA{Pm z2xuE9($g+}ihSdYR<`QWp;@zoTACLc676=1-`JYMgcHumDE1xS7a;fe#dKGKqJUvG3iG%2W`*=%_UY^)V5CnfRmIKY>4muYu!KYadsQ!VrlcH0l1Hp4 zlBL&hc?&&q9hx0+i1tz;V73$&;7W}_^9um@+9gm1{vxKOqw@*XBhSB0g{Fi^&9L9= z`;?D$R~^-rH7Rz+X@u4Eqwh)hf!@m(hyupyQ5W1r8-(!UlYc)V5|U^~g|h&tA7|Fy z@S)Llxm(DnPu{#!E_?N8f@WBp1mj9(*R>bLeRTUiqO(U$WY?GLrAzMFRTG}`@eZAd z12Hy`9e*-EhRyLrapb85*QEE_S)HCLfnFqif3{8cbVa3}Ab>3)iO2lg-*jO6u0GEe z=@dU^vCm^swN8Nz3^0wE>#?vGw zk}9=HTpDG+5Kc9`eo+@zBv(yU4xu&KPTkim3jt<1onP9LeLfHDbdrmI~z{#dATQ4)Ol`eXnXL9WH#eT zWJr=Gyh#soKSK?)$1mI3noDN_9e^L6_D>}6tMX1AAgxBKa&VgsjTni8A@s+2Z;=;5 z`_OW02_El+h4QJacbiXMIG1gdu!}vHB7EG+dBlO;ify8n4=g!++}?+s$n+7)q_-ZN zxHm2*H~BZ%(RwjH-)AbC3QtE0Sx>qLLQ<34rt1<nWbN7*UxMO6Q3UFGFsO5e=77O_}8JI~pO(ok?r zOEJy${=~@4*4Gj~t*iHr(;9!FQ&gB!x$yomEjzzRZ(O+Zl=6cLBPtd7ZJ2FTE!fWG7aLjU=DC zpj(h^c1H4;_eOsC{sG3ATY1+NY4MUO=;2D##6QZCDw^(sWv+W4vMw9oFvYOriRIxZ z=BBRG&nP1F7D_?L=jhUG)}p>tKGbaHd6MJWEM6DW)_arq8#jh7dogL1H*T(wq4`kU z!Q4Lv_qo?hIbBo8XK-eTSS^P5X=n1r+lPQ<*I*YSeMgK0Nk^5Qmr}+&LQ^lljEM#%R~|+{KITAM(m9RZ^3|&)2jHoBEF`X+ zf|AUoMyC_%ZZ^k|)W$U@wuN<9hsVob<{sN7TrRg*VbznqdnE_JsPi(@c?q9zKu;*2 zlyr;3b$6stbRoohQL>7JHyY-z@Hh+3<{IvxiFGFA$P}MyWK9!|c^sPV)~!oj#(=hY zZD7z2Xgv3Pb)?SjGFi`f(YhG*^4*lg;e$Zu*Oqg2nLFkMs(nt#6bZu=F5@4ERzI-y z^e*hZEBF02BNEtiuNy7PQQbGnZW&|VW($OHHj9vMJ@TQ!1H31|Gnyf1e^#!t$~iWB zyfUV*N|efF9lu!BQ{bm4QaNRM(p<||1x?XsJHw#QZn9@ijQI%@(EjF;(3lmU;0;XV zItc?(lmZQwz+&p(Jcm>{GnE(TwT+PSWTeVqXU-vgcvd|x0WI3wroUg(caCw}^lOfk z@S{w(gHw<4T=z1T6&Eu_{O;Fsz;f8kTb~8uY&;q$(fi!0eOeJtx__ld&u}W0uQ=u1 z6wLQN>gJan2br-g9AdPAg!c;pvZ#4x?`~Z+KG*ZW!+h!z7!+u{!h6t+c{B;qW)h0u zZ*wn^?E9eOC$nutPmYC%uT~U^H0<8fJLt@hs7fb>v)6HR=Cp0D3L&KLjgq0oY?@B~ zTXZqQTDm_;mwy>VFZcNmJ?Z&%dwD|l_MvXwWu1t-i%ubQYQV_L2VmAi?`4j8RoM-W z9*LmcW=;t+D1OY9OF@bn*C?rx{)MeHScx7bC|tPZ^s-0nzP&v-mov=yWF|XTf{zyRwah4aqz!oA83$WYnex*tI z&e{{r20J%$VEOHV7;O)b!c;S)zv&C8NqGyL;qxQEIC5fZhk!>t5sMg_Wd(-By3E7M zlhv~($X21+YnJK7;|DnaP;0kv*qzz6ndil(kfBa(om^#@oJ7WTHOjPu*mr#*VAAn{ zrNUHp9X&M;q;tb~59IuQ+kSQ-u%eNDJ=xfeUqtj$(&C%bhl;=S(r-qaD%Nrlx;)Zj z`dMnF#n6+A7YAnf8BH?3m~YIf>k*m@@WbxFX$_D3EZ;hwt)(!rcNe+7al=|z~t9XjjM!kw`L(b8|3lrM1!)t%uuAZTFbjBwz24hlu-XK zxW4DS)z4~1=KN*-Po1cf7AHsYv}Z_(BCXBOe4E@Wmx1d(2`=?Y_pmtw657Q$Vc|Es zpcEMiizR!Na=3=zfj`8~_k_<2=Sbd|$%j58if-w?Jwc^SG}b>Fozd>%g-);D7}tC5 zH0}oW3ka=Mz4-y(XD8~!@?@CJ7=}hvMr2zRq#Yx4@O-0a7UVCr_k}e@bxo``J50^T z&}_N-r>(J55~k6S?}dcwQ7i^uveum#NebmKJ^O9-fMvqB1IFtIM-+8Ow)g-lZ%3h~ ziiB<}lJ#k=Akcb=3n6VKj(|iB$D8t~HSU;FXV&M!axeMw6pyApX3F&}LAz38rnbQFkYR`BpB2NC5?coMx}gKR+y6X}y22?w&AHSSS5R+Enm>rFcj zaeYK9d?}=thz&uKHB}SWOgvpEX0EEmXl8%SVa2hXkG~u{Y#^52D!NQQWa_Rc5 zoLKEiGFut6sC?0jf_7=Dganev8{10It^$*6kv1m|u~EA&;i$5zIUVwg+t8Ljt(+RB zu!-7bjt%zqHF7g0Y9`EIGLkCU;VmE$9^rlMQ6DrGEuHc@np^%)E`X=E-b<&3kJ8L_ z#W@2Vt1cfS?W<7#aZEdn6v#fIW)a_@Y5A0WoL^fT-rMH2(R_jL+!=j}V{jLeimF7v zNi#ohyz&qSFR*f%2sGa9iB|Bbo%;ePax^G%Yda1Y+YqC=`LjHq(aUAR9po+)=lcx} zwZMw#hgJyGlK7FIT)Ylr?mZk8MkfLz%8od+pvu8G4?Mci$H((tpSl-91&D|^@9M24 z`Sz1YIp6}w;DB+SJ*T%@YogIy^aG`5S(KTK8ECXU7}lAxcwZenv!UT>Or#Q;a0J`m zmGf~>P{Tob7eAxizpT`Z#U+NMh+et2kv=K&FKF#Ldk1DN%>p{CgB+B>M_Se@d%4D zdma32^gf@l;oQcLY@bOMjW&&;o~(T(y5A)-JVnZfvxCgi+Ot+P8y4vp(2g!{c&;cF z!U~cgoRrXL1iN2oT9(wF^3WTf99jxLv3$q_qQhf`rD^=&qs)&6qHXIGL}u6Lk9S> zB1J46z>qvAeQBWa@W(AGM|GT5EJ!QF7D!Fa5D3N4<;mxU^j%jbu*JJjc zx^w{>-WBCb(MEg)STJ3lqyES+!ONojRUEI`J zP;}RSf?|IP9VK0dr-kWOI0RsKzGGM8$Aqb^xenFvluBb}jVCW=S*%y>^l=ElXwy3H zfsA=7o9F4udbDf9zn<#oOnzfF+A?=F=y+frp#NoIpVDAN*YR$PTbQTR>WwpE3d@@! zfpCj1(Y)-iS!!N}_q{q&DpL#2Wycu5i_SCW3jq0qk~Z}dYjOU73F`x8%8bZ3E6%{_ zRQc{Y!hYI~TR@g)6KJx_V*Kp41aQufsINXof`VB^MX+Utg`gNHse_<=R5s4<{1NhIVN>@fH8-=&pHGxZ@gTw=nwnC@*m8X^tKl`VD+@QCCB?(ae?FP>oy=(^FMa z-2NJKbbaMs@5LeRyo@ETu~tLREOX2hDMT;HJBA)LW9l3?cYE=Pvlz5L+;CBlBSp{4 zc3`vMQg|@^KCGtMaV9)h3$B+a@cI7EZch160S5=tW;$QeGF_(q?89i&pCrG&xX7@> zvSVaTV}Ja{`PtB2rLtx%A8dP9-umHrX?)MZc~R*SB>8m5sV&y84$im>Ql~vXwNQ7v z-n36eWFjs!kn^A;Y$ec37WzyzgPMsctZc1TX7-D!J=rN-T>;Sq*UF+I76hM0q||VZ zjRf?`+jPFDtqU9{Udb+{lk&IYqjwD&Ixe+r7B6m;@S9R!?(oN|ouD=lub!z|+b8k# z8W`nfh5}WLyh$7iYL4@(;0B0ItF9Kgb>pxH=PDZ`&J>@33m$-Y#Hp&U`kRkmQzsQL zz;>|aL3cETElNw&kqMK>6Om0?TwF&df=hMzf_$mF^sP;FAEuVVk)|1oUDu>1f$?<* zgHhTJL$*g@$>7Je``vzgiQ<~UY!D5zFLvS6*i}kb0EeR+FzK=BFFK2toG4C(;5kpe zC1^@ovxQK{dYyni7FV$F+)6aOdux-NVXzk${uR`C_I?9*FtCRcS+~7|K;Av8`z6`8 z87nQ4*GX9m4D{3>25i_j#HPtvvF6u;tojOmT+AFgtv*9)nltGbB^Q`E-=eM%z!aSKO{B_Ccs1#^3_zZ6U z@eA&!?~}&eH6))Q=j%x<*KZy-;)Fy3_&D9ZTJ)LfUfjBVpp>R(HLsuR`u(^x*|AEZ-@}O~>Y` zO-!Mc`RVQs_kCHzvh|-CrpP|*yA+LdVnGJyegf|hv*M>tUCZ^se3IN^qoU!{l8bP< z>j+aiv-C4Y>>aYMFQqRB)i|s9Z`L~21yNo&ZtTsz4?*y)^}8Qm}#i+Np%~~HxP|{yof|{eakd~-d_tDza4Y!EUc>`Hg%yu z@(+Jd-EFa~E6AQ>l~#2_ZhfSffu54Cbm}wfS&g{5btcPA|2ixn?u|DbOqwCTCwiO! znGu>!l<-48Vm{(KZa2f$+6a67_$+Yi-In3+s7((sq(6aBe7l{zlpP%JYIRi(A564I z549u|Jo$Gn)<18zjog*=%}bJA>crMVHwr0`!*gc!VGs+)o1`1mHs+!#Pd{78;}39? z1ry!4^nK4&$&dusS*;g2wZtI!*qnp7An)%b@j2a}a;ju^nw2;`yE`5EM+e@y%BM`& zFZCfjY?I@lIHvQhFJWavZ5reDHL}vINBw8!jii6H^1dua4{MLO7-K zF=o4mDBu+Kdg*K!t~5nYi}hG{N$fqdSDOoH#to>ne7V1-C*U*JNpROc>Ng`95OmPG z*25oqW--4V#Yijvm2cAjaeBMhZITkIIpF1K0^`pDw)GW}QX*96%rjrdf!S7;zMzBSb^7 z9Cz_uxt8m~YL2_NGb9PX*PufigU#ht8Yd39Nw=1#CkM2|YuHcCB{k)Hwe9>VN>TCj z<-Xpi%tL9eBVsb(Q5UuQOL668U-n)XdCgvt?rGu!%n#(74>xjPR&@hpNpJOZuD4XT zsT!Mo4r8w%MIC2(+MRgeL^9r2x#3|b1|9wnyZX(U5Gq|3@-tNl+94Nf$;1gak1w4m zMP|(`TUnBek$rB10+Y53OD0HJd z9fqP3kAQ#l6BhTk9_VC(Rfh2*lAc@yo5O}im2@$Z@re6;1XPmUG-y+g zqxzkv?FgEU1Dq*v05@oS9tnbB8oFy6(@bh*%TR6+PL$ap*5Z=rw4*>MBSqgL+aOdO z=;8cXT>PO08QK&QkN;`ONAR|zNAVO*E&W~$kmxBIz&AYjB zsK9ro_DOBFyBVP_W-(s9xfxKz)XrfLP;i-&PQV${EB9_~BlzhH98Al8-ZqzoG}cSj*O8gG*nCp5Y?bdS)u00i zd6JM)sQi9lhhlD1Vd_W+SZ-VDmCGwB7V*LVxb2`g;Y-q@+nDE^fDrKb?oB!hw37DH z({X4P2^g4uyVv6nsF&rx3jZIc)GfJn1^9LGtD&1;!SK^sYd1+1gm@=W4m&1)D1Ef z`YS*4VnVBX%x5FI6I+GE9sUr*dbp3Hwh^>ya=qefJ*QzRASnuM5Jx5bScvS}AR_1X z66Z|FZJBs-T))6)y(bI(^{M`-T~u2{p;zSH>|>F95GV{H0gQcgHHLr_QS@-)cfmw! zAdu}4U+w)|pR#t71jy#K|NVBZ9c+;xfbvW0%t1;0K1j4{c~|b1vj>NDtqV;HeuzJp zkyBT1GJYGWHfMq7e?yQ|0KkSs)*&bJbME{nwBA4NhF2Td;!;3^ld-h*8cWEfkfS?E znBb#VijDPSCwVVj)21POsTLoIY^7q~sEy8MoJp`u+FJ-Mxx#L!ZqrBp3pI3Pf4q1F z4DradMqy2JU&QUlHgd2&Y#piZN~|eUPg9!T`GJ-2z@{yNAi^iDojvFM#x?bwmbsvX z%B}4GgdzJup#FakLk?@SK8`13i#5BsAU^c&Wk?GR3z#S{K6ZmX;)MBv?oRWrH z=;aayvmsJJTg1G;0yM^_BbA?O+IGh(jX~sq@U!nvUYM&vC_#T#Xhe66>t_yD z$Ml9%9iQI`v?bW?a3*ySTz9txT^maVPKP&N(W9F3>E(-+z}%@H#94D?4wY;>i$>Kk z%Q$rDzV&xBq%C+ZE|)b8HRv<#*|s4)B-xrF+}}L7`PhymjufleNX=!(K>G{BN|czp zieY5FHK5PF(C3`mtMF~pli^FZqMmyL8$0)(Y-v?PB9TU=n3=y%$p%7H;Clb@snJk4>2h(1X4q&%OChRvvM1u(vU9p3gBc2w%WNfI=aT%^u(k`PPjshbsX zMH@(}{xEj<5!iF^7rLS0NKz*`FFkt0vF>G%)%fYp&0WvN3bCVH=b)*O&nxd;v24;G z%%XIq9!zcbA1{8ahQ-{>AfSXzK7eTEyul~*+I?+LcXchHi;mJ}&nj&ve@53=0lg~m zF^v`ripZU>(nj9?-+eciM-LUOc;1`2abVFeeGh8Fma!^soS7TH1l5+q7iO>KxF?#9kpW6+zm z`|@=~x$c$fHGGc9*(*~|li&|YZryf2gg-%)t(n0KH22Mn=U5;WF)_*}_>7al@2Y1l zTJHY&_U*t@)K6m3coWIHKKo%(7?_M}<9f9w!E!IVNB@W-LCUO+NHriZ0kwLN*NwlV zrBlJl5eh-~nm>@Uz1W)|68U>uxyk;DwWVL)Mvj6lg?3C~h;=!&;Q>Rjxa4=8N2<~C zu1nDYcNBj`=d;e!9s**a4#lTHT~(D^Nv#RZa1f0O$*p3nt&#fA(#{gx^J#VEuT|sY z2w&0+0D6+{1HUeKe3ud#!w6(B<4_;+nZwrGNS5qkb5DOWgx5Ep!A-ENjNe%;cFWV({IgSeVGFDa6Edg8QdmPmdCaa|Eh-ErU zY#F0m&J^0wjG?ustL7M22Cx?cj*ugBo>VPyuPyy&^fBL@?pU{4ptdzNph z$BZ!GdTTK7M6z}G!&^AiclCh>RxZby8*Q`Wu=vpYy%{@u%6!E$Ij2OqC!YY(Zb^jK z{HqS2Fs9Z`HBNf%{>3V1N_uu2Ut3om#p-hTKY9<&HtqzLLiscKOLR<`Yb{tbMo20b zm+=_M<_0dbyOf>*Ms6hra#}&^PkY;nB>Bn?FD|ooE&d$?nyJQ=lT~sUl36`o$*Hnc zYf}FRI5{9o&7Il^l_{gM3J4^5mShn)_R;=5^93L_92KDg#L-?4Gpn?x_<(h`0s$WT zX3kXLY7v`fVX=MX5do@bX`M&>J{e7nfSlN6S`PMvq{s1qZ5Esyhx*BEzFtD$KGXTKB2{R*i@H<%w69Yy;;S`L zAe)qNU-Ff#&20JfNCL=V`7sD|xbr|m*HXYeGGi&_H^#>JOE{=MRULnu$P?*maxDX4 zb&@&rlQ6)&*IyjyHP&wKGhF1zlb*Muca4?=q1}O1Mzk?pNw=U^zBIP)%NrN!s6ev03HQN~V`#-aD)P!=dx^1Na)D zyx?fb>=MI@UX2{O+n&1PJu@Tms@kVrMypG-XO;cqQKNp13L(k^+xKM0nT}R61M?E~ zWKfY8M){*wx(Eix8yNi5)PzIJ#ej|rd6rtfZ)%V@W8pp*+4i3dMXw{|jP-z3AzwVD^hwJX1WEurS6f&OY* z;s;fMzhCb%c_11{4Mq<61?|0@5=nMQts|5ISxq2CO{Wi1EZP3|VSI-Q?DF$s|H}!*2&cB5wQmZlP z*;jYl7rR3Ky$c-5An8TfpMuuGx9?c{8SiE{?usY+7Uj>mYE@RQGA=0xH$86UM&5r} z^2sGj1qcF3vvFsileYBpsE%2=8Colz#4q=?xD>4D2N&vWI>!2@kyYP0KQgb+^g8$_ zLmQ{V+ibCaJ|(&bhK^>x9ok@gl)0eu{i5>7+{N1j#sV*^TT6O$e0iz?apXdK?Z9#J z&(qRX9`}6%Vv5O-XPPrH_f`F23V|;Bz{htx=BAJc$mdrMA)12P7oUYd& z-wPm7``S+&&zU^tT$3F;HP8QhHTQGzoi1WapxompUe_yJgg%C!N6^$GA8k`l7u2ws zZo|+v^gk~&e>?Bc5!*0O#hfX(@>RTvV$)9aO}~4pfl-fJXgbQNgTyl>v0he(BSa#g z$WdcH_QIbr#aX5B-TmpMuLb{EkFhpEIGA*vjQo&ZITB-fSkXk^)WT zcrjDv%46&8pBMYJ_blzB*W@y? zSTjV`-KblhRd4XhC-Bv*If~9J`D6|y6ciPp636~(4oGdh$9=BZ8>3LQmo%_Z3#wr~ z9pFWiKcrf@+UD}bU9fz1v!Y7Y1w?#^b=V0eQpKN`$*RpO2o6zpm09&_sHCMcvT(O= z_>$~t({*gDs1S-l%?IU%@Yj$`jd^waok0EFk;#P-mE+C^s5CLgK_;|rh}2}ZsxHj{ zfl@qvdyLjuJ*P&%KoF4_(pZJwIF7cgYm+}Xl@iimS8_&=lfCKdk7LbyOgCH#OFs3^ z)&d>EEg^=g<9ujoLJm7Y$7GDD{7jEk6x5%ia63N@cTd<`#vM&-Vwm88spj08R9v!e z^Q$C`EuZKkE6|vcQ|WdFnOe0UZl`&Jp6`rCr4Uau10K9ncv>6xeRxI+=N*^%nwG~_ z<)}xoD_t3P#kVrA{w3HpJ&c4ZSLkAaYO<<T#*pBR@FzA;tFY_&6RZ5wqqF2!y{VFE1KtOMWYg=s%xBTZQx%zV#;Q_7r#1H0Pk9 z{|qckW+vAtZ^6jt zq6DzUtAF@yT!xHaCNI(%SvGCVVfA7tErIhbH2c)J>f(hd;*B4 zN$8*rf3@2r6VH0~>H+rWhDI{orASbxQUo!_^c^^|Oi?f`4L!`rxY-i!eCe8GnNEr< zrU7m?Oewf{Ms~OoC(8BrN7qaalTBI?AovZ_%+(cYC_a0A2Yb>qm$9eAIB#z zOq{@VMzkR02G+CW7J%nmg5!(BKD)geArru}i%TelJ)>dk{xm``4qC`=>y5iR>=_3ikYv1o5UFm!sB!V%7q}2z&_bK(~MWD6{lGbCx?jF()LwVe0`Xk<8;1l zeT<~5+xA1TOxzM;*!~c%jWu)2OMgrvsiX)1uskZ^W?T~b$EC`w1Eq!VzL(?88k^U&4Y3yGd1y_)^5k7FfGT?JzQ~yP_^J<}fXq(5;1_fB(+Z`#09#f1DCvEHRV#-H3=TXbt@>6dL^n3JlwY>M7_IlE5!2yeO%& zFPcopQCK!-7JN1XSqK$rdos`~Pv_Ts3elv#4+}Wl{*W*cR)(HySB_ifY@*32O=cw$ z2hM)w0E^JsITm{jq_`+5F=aspcdA2}imTEyaJH7t!%LsB1zt6qv|40w;7@5>J8bMx z#NX@XrO`Vh-6Mtzp)v+4#?U48jWjNIunKT%TK&V@SpQ9`DOvo{0VH1o2uP2tRZl6Z z1sdO^J;ulW$&Q^BxWrqA}GDkjLNZ zLo9c-sl1Lq#sYZQT#Vyg3971X*@S3~{-q^MoKI;1D&2dVIatf2TZC<+R!V63n@o?J zH+zUAV^`kywqX%&b>Okdm*_Qbd=J{xT7e?r=pg|OW2vXs!LqZ~(|#nf2ZL@nvgb_7 zn6CIKa#6k^P=ZvF_#M(EB!_rN?a^KDq~rtS)}XUEY#WgadV>Zhx0%W9{E%^6=rhci zHGz5>OpKG{Q(Lc9F0PuPdLJDr;q#&tus25X99_g>d6w+*1Jq0?Nqe@hRK!?uUR#?W zb*#de&1I9DiRwuwrJGIs#Y-gv5y)~phmyu}k5+Y;nLZr_cC+kC-y#;ytd)H3{=cuF zG!;ghp47&y7HPMB9~__Jr4puM=MM5)6`}U|nA&t7;U!*o^O_E&b)w#KOw%4hn+y#}17|*@*^^bJ2jA`%(-L&2B3OtPLIh zWsuE)%Zd~bR*Q{=9;IxnFm@L|(srRJs%wzhqr5}?ZM1>Q%hEW#%o#TK>#P_CFU1;O zgHmtoi?UUdJ!Y$|3Q|P3_DGf;!XU&a-b(-A(AFH3j21s;r%zz zuqx?aprPUutGazp5S-(-$STS0Rdjty%R&6J3ytnSG)VR9eZ>MLmP%o?XB6zJxPzm& z74*Mbp@0%h4Skn)fBZy8OI$?yZj)2`1p|0x#evK*i!&Xx_wD&gwdT%MIYT1zV=}vm z%a^tG8$C?YXT#-CCjnfZ=O$Vp^1hU8irJ5^z&lkVqJ)~Gq10BR09g{-q`Mx3xQ_Cn zYM-mH5YrY<{&N0i^^MCsAh7ow(I9d-j;!m-tM|XX_+3lzk}I7Ds!Qp!^d#}PxLdjD z4SXwR84=W=9vLyHzO>e;Hrqio z^1b==)y&j&^{({8{Gsj=n+0w<;mq&j<~t$ld6Nyy=;I zQ51e~Yj9ja|I7BrgcY~%XF2)~o#HKX^coJ%B8|0V=>EARd=>>4ZDhLHP|77aL0`Yy z9O72pkwCp_>{lvBq!PkhEX=5u^<+{xf^i)O@5f=rBku2;M3;G4x!>6>3Xqc(y=@PYp5UdVY*SZ-FYw zFFr=US$>-`64IMmiM3EQ438p|&~J?2Oo)h#T!U7J%23s6tGo(o%>rWBHs4>)^wvYbcuKatG4#Up&?%k({-zzw4I=aabLzC2`T7ciQk7qiFt5nngq!5+uNGMZy(NW37 zAsMd&vyi%PABz8f;t&78Uc79}upT+T?OYV?L~<`S7L7DLFwt35qMNVhwwmT6|K(6p zcY0leg#(HcMM@6&%~Z_*_V>0Tf(wvCPK&P*dCn&MAyjw&&!(^J+|A?Hou6}Of?ez@ z)?JhB(oZ*e?q42Jll;5?#pSJe3vPr>*_?m3X@37o$)wwSbMNksoNy*sB}v<;@Bglf zqwkcs1q+|t%6Y|~-P!W$uDq|!m7;%79*8FIvq)4Bsw$ThxW75ocBgdqm8ofOV?Nz% zGkNB<7P+pyc<;km&*t4GTm_FMw=Ng+n>jt?A+|w=b6pGiSz*8~+~TnV+NW9Wh<+6ECOnoIgp& zjyZ|{S93njCx7YZm*>%@z!K5#{Jc-OnpzG;I z?q6;d+!93vS64kx`SVZwd(qq{Ka=$>g-tS?N$C+bZbfl%? zb<6o}Vjj*)HK)w{XKg(GZrz)2@3u@V6o0(`UVh;seb8QpyVX9|O(f3rvB&kMModeM zlomXnw&|worw#|r^mQi!rwTqbeRJjN{txS2>(y3vd2(B)j~wyHE4px>GD&rrzC@G-XBS5*Gw**p$aDkt1#w486HVa$# z09rfNU0wTQThZQFg_6_@g222AY`N{oPFdHKmiQ<*-d*_OneBhl_C0lXS-!6?PfTr} zvs2PZFQch2rEzNnJxG3VF2AC>HPtyOv|?%js$D7bVg{41lE>T>N1 z;r=Vk7OB5j;{pt=ANpw)N?!UYzt8OTaq%vjqH{CQ$))yLoS*(4=NXS~Z*i^KUL`x5 z<Dx115936t*+kj?8Cldn|JfFP8a;zdwi2>ZoK>@ofFQ_?(ZyI5a8jG^0iCWpfYBC z!O5+rmXlbn_j7y__}IJZNz&{CS3{F+|Ng_R!9?|1m7|`hm>#H7x4fmT z95mJcHG8+I>b2-Ji}YXe`{g=c+P`|e&L;WSvYFjpR=rivC3nv5J{vJ*SM||vKKst@ zth*+(T`<4z*B9P$qnCW^Www7g(H42%)BTI2_3PY?YcKP+aA+02ittZjcsc_XHS2tseEl` zPT8Xi4-13$NorhJJ$c*N$c?_eiE9}cfUJE#pGBMg`Q}*A ztZ?#2=+E2dXJkb)TQ0Fv6sn%tS=#mF;rl)2H?#l$o}a&V&Z>w9uTGhC%{E?j?xAP! zbSt7F~I~UpKmT%MnKx zzhmoBb9dvfx3nVg6BMh)OT_+{Geq9*ayTxBjqS7DX=hUqwc0w3Lq}&P!it%@8`*acEd4n{Q7@OTx~{z5W@lBeE9=l zv+e`1omT-IE#YTpXlQ2!3xl{ez^ow0hoTC|g{k^b05pvlWpGt6vtd@E7=~39)CCAD k38{h^jpiGWFvzUc3_oVx-}Wx2$qp0{p00i_>zopr01oKCxc~qF literal 0 HcmV?d00001 diff --git a/docs/en/docs/img/tutorial/generate-clients/image05.png b/docs/en/docs/img/tutorial/generate-clients/image05.png new file mode 100644 index 0000000000000000000000000000000000000000..e1e53179dcc2b244f2fbe62dced312a3c1ae5160 GIT binary patch literal 31091 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 literal 0 HcmV?d00001 diff --git a/docs/en/docs/img/tutorial/generate-clients/image06.png b/docs/en/docs/img/tutorial/generate-clients/image06.png new file mode 100644 index 0000000000000000000000000000000000000000..0e9a100ea4e8bac7a85e54915286a602e0d9c5e2 GIT binary patch literal 43434 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 O6l7KJ None: self._debug: bool = debug + self.title = title + self.description = description + self.version = version + self.terms_of_service = terms_of_service + self.contact = contact + self.license_info = license_info + self.openapi_url = openapi_url + self.openapi_tags = openapi_tags + self.root_path_in_servers = root_path_in_servers + self.docs_url = docs_url + self.redoc_url = redoc_url + self.swagger_ui_oauth2_redirect_url = swagger_ui_oauth2_redirect_url + self.swagger_ui_init_oauth = swagger_ui_init_oauth + self.swagger_ui_parameters = swagger_ui_parameters + self.servers = servers or [] + self.extra = extra + self.openapi_version = "3.0.2" + self.openapi_schema: Optional[Dict[str, Any]] = None + if self.openapi_url: + assert self.title, "A title must be provided for OpenAPI, e.g.: 'My API'" + assert self.version, "A version must be provided for OpenAPI, e.g.: '2.1.0'" + # TODO: remove when discarding the openapi_prefix parameter + if openapi_prefix: + logger.warning( + '"openapi_prefix" has been deprecated in favor of "root_path", which ' + "follows more closely the ASGI standard, is simpler, and more " + "automatic. Check the docs at " + "https://fastapi.tiangolo.com/advanced/sub-applications/" + ) + self.root_path = root_path or openapi_prefix self.state: State = State() + self.dependency_overrides: Dict[Callable[..., Any], Callable[..., Any]] = {} self.router: routing.APIRouter = routing.APIRouter( routes=routes, dependency_overrides_provider=self, @@ -83,6 +118,7 @@ class FastAPI(Starlette): deprecated=deprecated, include_in_schema=include_in_schema, responses=responses, + generate_unique_id_function=generate_unique_id_function, ) self.exception_handlers: Dict[ Union[int, Type[Exception]], @@ -99,40 +135,6 @@ class FastAPI(Starlette): [] if middleware is None else list(middleware) ) self.middleware_stack: ASGIApp = self.build_middleware_stack() - - self.title = title - self.description = description - self.version = version - self.terms_of_service = terms_of_service - self.contact = contact - self.license_info = license_info - self.servers = servers or [] - self.openapi_url = openapi_url - self.openapi_tags = openapi_tags - # TODO: remove when discarding the openapi_prefix parameter - if openapi_prefix: - logger.warning( - '"openapi_prefix" has been deprecated in favor of "root_path", which ' - "follows more closely the ASGI standard, is simpler, and more " - "automatic. Check the docs at " - "https://fastapi.tiangolo.com/advanced/sub-applications/" - ) - self.root_path = root_path or openapi_prefix - self.root_path_in_servers = root_path_in_servers - self.docs_url = docs_url - self.redoc_url = redoc_url - self.swagger_ui_oauth2_redirect_url = swagger_ui_oauth2_redirect_url - self.swagger_ui_init_oauth = swagger_ui_init_oauth - self.swagger_ui_parameters = swagger_ui_parameters - self.extra = extra - self.dependency_overrides: Dict[Callable[..., Any], Callable[..., Any]] = {} - - self.openapi_version = "3.0.2" - - if self.openapi_url: - assert self.title, "A title must be provided for OpenAPI, e.g.: 'My API'" - assert self.version, "A version must be provided for OpenAPI, e.g.: '2.1.0'" - self.openapi_schema: Optional[Dict[str, Any]] = None self.setup() def build_middleware_stack(self) -> ASGIApp: @@ -286,6 +288,9 @@ class FastAPI(Starlette): ), name: Optional[str] = None, openapi_extra: Optional[Dict[str, Any]] = None, + generate_unique_id_function: Callable[[routing.APIRoute], str] = Default( + generate_unique_id + ), ) -> None: self.router.add_api_route( path, @@ -311,6 +316,7 @@ class FastAPI(Starlette): response_class=response_class, name=name, openapi_extra=openapi_extra, + generate_unique_id_function=generate_unique_id_function, ) def api_route( @@ -338,6 +344,9 @@ class FastAPI(Starlette): response_class: Type[Response] = Default(JSONResponse), name: Optional[str] = None, openapi_extra: Optional[Dict[str, Any]] = None, + generate_unique_id_function: Callable[[routing.APIRoute], str] = Default( + generate_unique_id + ), ) -> Callable[[DecoratedCallable], DecoratedCallable]: def decorator(func: DecoratedCallable) -> DecoratedCallable: self.router.add_api_route( @@ -364,6 +373,7 @@ class FastAPI(Starlette): response_class=response_class, name=name, openapi_extra=openapi_extra, + generate_unique_id_function=generate_unique_id_function, ) return func @@ -395,6 +405,9 @@ class FastAPI(Starlette): include_in_schema: bool = True, default_response_class: Type[Response] = Default(JSONResponse), callbacks: Optional[List[BaseRoute]] = None, + generate_unique_id_function: Callable[[routing.APIRoute], str] = Default( + generate_unique_id + ), ) -> None: self.router.include_router( router, @@ -406,6 +419,7 @@ class FastAPI(Starlette): include_in_schema=include_in_schema, default_response_class=default_response_class, callbacks=callbacks, + generate_unique_id_function=generate_unique_id_function, ) def get( @@ -433,6 +447,9 @@ class FastAPI(Starlette): name: Optional[str] = None, callbacks: Optional[List[BaseRoute]] = None, openapi_extra: Optional[Dict[str, Any]] = None, + generate_unique_id_function: Callable[[routing.APIRoute], str] = Default( + generate_unique_id + ), ) -> Callable[[DecoratedCallable], DecoratedCallable]: return self.router.get( path, @@ -457,6 +474,7 @@ class FastAPI(Starlette): name=name, callbacks=callbacks, openapi_extra=openapi_extra, + generate_unique_id_function=generate_unique_id_function, ) def put( @@ -484,6 +502,9 @@ class FastAPI(Starlette): name: Optional[str] = None, callbacks: Optional[List[BaseRoute]] = None, openapi_extra: Optional[Dict[str, Any]] = None, + generate_unique_id_function: Callable[[routing.APIRoute], str] = Default( + generate_unique_id + ), ) -> Callable[[DecoratedCallable], DecoratedCallable]: return self.router.put( path, @@ -508,6 +529,7 @@ class FastAPI(Starlette): name=name, callbacks=callbacks, openapi_extra=openapi_extra, + generate_unique_id_function=generate_unique_id_function, ) def post( @@ -535,6 +557,9 @@ class FastAPI(Starlette): name: Optional[str] = None, callbacks: Optional[List[BaseRoute]] = None, openapi_extra: Optional[Dict[str, Any]] = None, + generate_unique_id_function: Callable[[routing.APIRoute], str] = Default( + generate_unique_id + ), ) -> Callable[[DecoratedCallable], DecoratedCallable]: return self.router.post( path, @@ -559,6 +584,7 @@ class FastAPI(Starlette): name=name, callbacks=callbacks, openapi_extra=openapi_extra, + generate_unique_id_function=generate_unique_id_function, ) def delete( @@ -586,6 +612,9 @@ class FastAPI(Starlette): name: Optional[str] = None, callbacks: Optional[List[BaseRoute]] = None, openapi_extra: Optional[Dict[str, Any]] = None, + generate_unique_id_function: Callable[[routing.APIRoute], str] = Default( + generate_unique_id + ), ) -> Callable[[DecoratedCallable], DecoratedCallable]: return self.router.delete( path, @@ -610,6 +639,7 @@ class FastAPI(Starlette): name=name, callbacks=callbacks, openapi_extra=openapi_extra, + generate_unique_id_function=generate_unique_id_function, ) def options( @@ -637,6 +667,9 @@ class FastAPI(Starlette): name: Optional[str] = None, callbacks: Optional[List[BaseRoute]] = None, openapi_extra: Optional[Dict[str, Any]] = None, + generate_unique_id_function: Callable[[routing.APIRoute], str] = Default( + generate_unique_id + ), ) -> Callable[[DecoratedCallable], DecoratedCallable]: return self.router.options( path, @@ -661,6 +694,7 @@ class FastAPI(Starlette): name=name, callbacks=callbacks, openapi_extra=openapi_extra, + generate_unique_id_function=generate_unique_id_function, ) def head( @@ -688,6 +722,9 @@ class FastAPI(Starlette): name: Optional[str] = None, callbacks: Optional[List[BaseRoute]] = None, openapi_extra: Optional[Dict[str, Any]] = None, + generate_unique_id_function: Callable[[routing.APIRoute], str] = Default( + generate_unique_id + ), ) -> Callable[[DecoratedCallable], DecoratedCallable]: return self.router.head( path, @@ -712,6 +749,7 @@ class FastAPI(Starlette): name=name, callbacks=callbacks, openapi_extra=openapi_extra, + generate_unique_id_function=generate_unique_id_function, ) def patch( @@ -739,6 +777,9 @@ class FastAPI(Starlette): name: Optional[str] = None, callbacks: Optional[List[BaseRoute]] = None, openapi_extra: Optional[Dict[str, Any]] = None, + generate_unique_id_function: Callable[[routing.APIRoute], str] = Default( + generate_unique_id + ), ) -> Callable[[DecoratedCallable], DecoratedCallable]: return self.router.patch( path, @@ -763,6 +804,7 @@ class FastAPI(Starlette): name=name, callbacks=callbacks, openapi_extra=openapi_extra, + generate_unique_id_function=generate_unique_id_function, ) def trace( @@ -790,6 +832,9 @@ class FastAPI(Starlette): name: Optional[str] = None, callbacks: Optional[List[BaseRoute]] = None, openapi_extra: Optional[Dict[str, Any]] = None, + generate_unique_id_function: Callable[[routing.APIRoute], str] = Default( + generate_unique_id + ), ) -> Callable[[DecoratedCallable], DecoratedCallable]: return self.router.trace( path, @@ -814,4 +859,5 @@ class FastAPI(Starlette): name=name, callbacks=callbacks, openapi_extra=openapi_extra, + generate_unique_id_function=generate_unique_id_function, ) diff --git a/fastapi/openapi/utils.py b/fastapi/openapi/utils.py index aff76b15e..58a748d04 100644 --- a/fastapi/openapi/utils.py +++ b/fastapi/openapi/utils.py @@ -1,5 +1,6 @@ import http.client import inspect +import warnings from enum import Enum from typing import Any, Dict, List, Optional, Sequence, Set, Tuple, Type, Union, cast @@ -140,7 +141,15 @@ def get_openapi_operation_request_body( return request_body_oai -def generate_operation_id(*, route: routing.APIRoute, method: str) -> str: +def generate_operation_id( + *, route: routing.APIRoute, method: str +) -> str: # pragma: nocover + warnings.warn( + "fastapi.openapi.utils.generate_operation_id() was deprecated, " + "it is not used internally, and will be removed soon", + DeprecationWarning, + stacklevel=2, + ) if route.operation_id: return route.operation_id path: str = route.path_format @@ -154,7 +163,7 @@ def generate_operation_summary(*, route: routing.APIRoute, method: str) -> str: def get_openapi_operation_metadata( - *, route: routing.APIRoute, method: str + *, route: routing.APIRoute, method: str, operation_ids: Set[str] ) -> Dict[str, Any]: operation: Dict[str, Any] = {} if route.tags: @@ -162,14 +171,25 @@ def get_openapi_operation_metadata( operation["summary"] = generate_operation_summary(route=route, method=method) if route.description: operation["description"] = route.description - operation["operationId"] = generate_operation_id(route=route, method=method) + operation_id = route.operation_id or route.unique_id + if operation_id in operation_ids: + message = ( + f"Duplicate Operation ID {operation_id} for function " + + f"{route.endpoint.__name__}" + ) + file_name = getattr(route.endpoint, "__globals__", {}).get("__file__") + if file_name: + message += f" at {file_name}" + warnings.warn(message) + operation_ids.add(operation_id) + operation["operationId"] = operation_id if route.deprecated: operation["deprecated"] = route.deprecated return operation def get_openapi_path( - *, route: routing.APIRoute, model_name_map: Dict[type, str] + *, route: routing.APIRoute, model_name_map: Dict[type, str], operation_ids: Set[str] ) -> Tuple[Dict[str, Any], Dict[str, Any], Dict[str, Any]]: path = {} security_schemes: Dict[str, Any] = {} @@ -183,7 +203,9 @@ def get_openapi_path( route_response_media_type: Optional[str] = current_response_class.media_type if route.include_in_schema: for method in route.methods: - operation = get_openapi_operation_metadata(route=route, method=method) + operation = get_openapi_operation_metadata( + route=route, method=method, operation_ids=operation_ids + ) parameters: List[Dict[str, Any]] = [] flat_dependant = get_flat_dependant(route.dependant, skip_repeats=True) security_definitions, operation_security = get_openapi_security_definitions( @@ -217,7 +239,9 @@ def get_openapi_path( cb_security_schemes, cb_definitions, ) = get_openapi_path( - route=callback, model_name_map=model_name_map + route=callback, + model_name_map=model_name_map, + operation_ids=operation_ids, ) callbacks[callback.name] = {callback.path: cb_path} operation["callbacks"] = callbacks @@ -384,6 +408,7 @@ def get_openapi( output["servers"] = servers components: Dict[str, Dict[str, Any]] = {} paths: Dict[str, Dict[str, Any]] = {} + operation_ids: Set[str] = set() flat_models = get_flat_models_from_routes(routes) model_name_map = get_model_name_map(flat_models) definitions = get_model_definitions( @@ -391,7 +416,9 @@ def get_openapi( ) for route in routes: if isinstance(route, routing.APIRoute): - result = get_openapi_path(route=route, model_name_map=model_name_map) + result = get_openapi_path( + route=route, model_name_map=model_name_map, operation_ids=operation_ids + ) if result: path, security_schemes, path_definitions = result if path: diff --git a/fastapi/routing.py b/fastapi/routing.py index 7dae04521..0f416ac42 100644 --- a/fastapi/routing.py +++ b/fastapi/routing.py @@ -34,7 +34,7 @@ from fastapi.types import DecoratedCallable from fastapi.utils import ( create_cloned_field, create_response_field, - generate_operation_id_for_path, + generate_unique_id, get_value_or_default, ) from pydantic import BaseModel @@ -335,21 +335,47 @@ class APIRoute(routing.Route): dependency_overrides_provider: Optional[Any] = None, callbacks: Optional[List[BaseRoute]] = None, openapi_extra: Optional[Dict[str, Any]] = None, + generate_unique_id_function: Union[ + Callable[["APIRoute"], str], DefaultPlaceholder + ] = Default(generate_unique_id), ) -> None: - # normalise enums e.g. http.HTTPStatus - if isinstance(status_code, IntEnum): - status_code = int(status_code) self.path = path self.endpoint = endpoint + self.response_model = response_model + self.summary = summary + self.response_description = response_description + self.deprecated = deprecated + self.operation_id = operation_id + self.response_model_include = response_model_include + self.response_model_exclude = response_model_exclude + self.response_model_by_alias = response_model_by_alias + self.response_model_exclude_unset = response_model_exclude_unset + self.response_model_exclude_defaults = response_model_exclude_defaults + self.response_model_exclude_none = response_model_exclude_none + self.include_in_schema = include_in_schema + self.response_class = response_class + self.dependency_overrides_provider = dependency_overrides_provider + self.callbacks = callbacks + self.openapi_extra = openapi_extra + self.generate_unique_id_function = generate_unique_id_function + self.tags = tags or [] + self.responses = responses or {} self.name = get_name(endpoint) if name is None else name self.path_regex, self.path_format, self.param_convertors = compile_path(path) if methods is None: methods = ["GET"] self.methods: Set[str] = set([method.upper() for method in methods]) - self.unique_id = generate_operation_id_for_path( - name=self.name, path=self.path_format, method=list(methods)[0] - ) - self.response_model = response_model + if isinstance(generate_unique_id_function, DefaultPlaceholder): + current_generate_unique_id: Callable[ + ["APIRoute"], str + ] = generate_unique_id_function.value + else: + current_generate_unique_id = generate_unique_id_function + self.unique_id = self.operation_id or current_generate_unique_id(self) + # normalize enums e.g. http.HTTPStatus + if isinstance(status_code, IntEnum): + status_code = int(status_code) + self.status_code = status_code if self.response_model: assert ( status_code not in STATUS_CODES_WITH_NO_BODY @@ -371,19 +397,14 @@ class APIRoute(routing.Route): else: self.response_field = None # type: ignore self.secure_cloned_response_field = None - self.status_code = status_code - self.tags = tags or [] if dependencies: self.dependencies = list(dependencies) else: self.dependencies = [] - self.summary = summary self.description = description or inspect.cleandoc(self.endpoint.__doc__ or "") # if a "form feed" character (page break) is found in the description text, # truncate description text to the content preceding the first "form feed" self.description = self.description.split("\f")[0] - self.response_description = response_description - self.responses = responses or {} response_fields = {} for additional_status_code, response in self.responses.items(): assert isinstance(response, dict), "An additional response must be a dict" @@ -399,16 +420,6 @@ class APIRoute(routing.Route): self.response_fields: Dict[Union[int, str], ModelField] = response_fields else: self.response_fields = {} - self.deprecated = deprecated - self.operation_id = operation_id - self.response_model_include = response_model_include - self.response_model_exclude = response_model_exclude - self.response_model_by_alias = response_model_by_alias - self.response_model_exclude_unset = response_model_exclude_unset - self.response_model_exclude_defaults = response_model_exclude_defaults - self.response_model_exclude_none = response_model_exclude_none - self.include_in_schema = include_in_schema - self.response_class = response_class assert callable(endpoint), "An endpoint must be a callable" self.dependant = get_dependant(path=self.path_format, call=self.endpoint) @@ -418,10 +429,7 @@ class APIRoute(routing.Route): get_parameterless_sub_dependant(depends=depends, path=self.path_format), ) self.body_field = get_body_field(dependant=self.dependant, name=self.unique_id) - self.dependency_overrides_provider = dependency_overrides_provider - self.callbacks = callbacks self.app = request_response(self.get_route_handler()) - self.openapi_extra = openapi_extra def get_route_handler(self) -> Callable[[Request], Coroutine[Any, Any, Response]]: return get_request_handler( @@ -465,6 +473,9 @@ class APIRouter(routing.Router): on_shutdown: Optional[Sequence[Callable[[], Any]]] = None, deprecated: Optional[bool] = None, include_in_schema: bool = True, + generate_unique_id_function: Callable[[APIRoute], str] = Default( + generate_unique_id + ), ) -> None: super().__init__( routes=routes, # type: ignore # in Starlette @@ -488,6 +499,7 @@ class APIRouter(routing.Router): self.dependency_overrides_provider = dependency_overrides_provider self.route_class = route_class self.default_response_class = default_response_class + self.generate_unique_id_function = generate_unique_id_function def add_api_route( self, @@ -519,6 +531,9 @@ class APIRouter(routing.Router): route_class_override: Optional[Type[APIRoute]] = None, callbacks: Optional[List[BaseRoute]] = None, openapi_extra: Optional[Dict[str, Any]] = None, + generate_unique_id_function: Union[ + Callable[[APIRoute], str], DefaultPlaceholder + ] = Default(generate_unique_id), ) -> None: route_class = route_class_override or self.route_class responses = responses or {} @@ -535,6 +550,9 @@ class APIRouter(routing.Router): current_callbacks = self.callbacks.copy() if callbacks: current_callbacks.extend(callbacks) + current_generate_unique_id = get_value_or_default( + generate_unique_id_function, self.generate_unique_id_function + ) route = route_class( self.prefix + path, endpoint=endpoint, @@ -561,6 +579,7 @@ class APIRouter(routing.Router): dependency_overrides_provider=self.dependency_overrides_provider, callbacks=current_callbacks, openapi_extra=openapi_extra, + generate_unique_id_function=current_generate_unique_id, ) self.routes.append(route) @@ -590,6 +609,9 @@ class APIRouter(routing.Router): name: Optional[str] = None, callbacks: Optional[List[BaseRoute]] = None, openapi_extra: Optional[Dict[str, Any]] = None, + generate_unique_id_function: Callable[[APIRoute], str] = Default( + generate_unique_id + ), ) -> Callable[[DecoratedCallable], DecoratedCallable]: def decorator(func: DecoratedCallable) -> DecoratedCallable: self.add_api_route( @@ -617,6 +639,7 @@ class APIRouter(routing.Router): name=name, callbacks=callbacks, openapi_extra=openapi_extra, + generate_unique_id_function=generate_unique_id_function, ) return func @@ -654,6 +677,9 @@ class APIRouter(routing.Router): callbacks: Optional[List[BaseRoute]] = None, deprecated: Optional[bool] = None, include_in_schema: bool = True, + generate_unique_id_function: Callable[[APIRoute], str] = Default( + generate_unique_id + ), ) -> None: if prefix: assert prefix.startswith("/"), "A path prefix must start with '/'" @@ -694,6 +720,12 @@ class APIRouter(routing.Router): current_callbacks.extend(callbacks) if route.callbacks: current_callbacks.extend(route.callbacks) + current_generate_unique_id = get_value_or_default( + route.generate_unique_id_function, + router.generate_unique_id_function, + generate_unique_id_function, + self.generate_unique_id_function, + ) self.add_api_route( prefix + route.path, route.endpoint, @@ -722,6 +754,7 @@ class APIRouter(routing.Router): route_class_override=type(route), callbacks=current_callbacks, openapi_extra=route.openapi_extra, + generate_unique_id_function=current_generate_unique_id, ) elif isinstance(route, routing.Route): methods = list(route.methods or []) # type: ignore # in Starlette @@ -770,6 +803,9 @@ class APIRouter(routing.Router): name: Optional[str] = None, callbacks: Optional[List[BaseRoute]] = None, openapi_extra: Optional[Dict[str, Any]] = None, + generate_unique_id_function: Callable[[APIRoute], str] = Default( + generate_unique_id + ), ) -> Callable[[DecoratedCallable], DecoratedCallable]: return self.api_route( path=path, @@ -795,6 +831,7 @@ class APIRouter(routing.Router): name=name, callbacks=callbacks, openapi_extra=openapi_extra, + generate_unique_id_function=generate_unique_id_function, ) def put( @@ -822,6 +859,9 @@ class APIRouter(routing.Router): name: Optional[str] = None, callbacks: Optional[List[BaseRoute]] = None, openapi_extra: Optional[Dict[str, Any]] = None, + generate_unique_id_function: Callable[[APIRoute], str] = Default( + generate_unique_id + ), ) -> Callable[[DecoratedCallable], DecoratedCallable]: return self.api_route( path=path, @@ -847,6 +887,7 @@ class APIRouter(routing.Router): name=name, callbacks=callbacks, openapi_extra=openapi_extra, + generate_unique_id_function=generate_unique_id_function, ) def post( @@ -874,6 +915,9 @@ class APIRouter(routing.Router): name: Optional[str] = None, callbacks: Optional[List[BaseRoute]] = None, openapi_extra: Optional[Dict[str, Any]] = None, + generate_unique_id_function: Callable[[APIRoute], str] = Default( + generate_unique_id + ), ) -> Callable[[DecoratedCallable], DecoratedCallable]: return self.api_route( path=path, @@ -899,6 +943,7 @@ class APIRouter(routing.Router): name=name, callbacks=callbacks, openapi_extra=openapi_extra, + generate_unique_id_function=generate_unique_id_function, ) def delete( @@ -926,6 +971,9 @@ class APIRouter(routing.Router): name: Optional[str] = None, callbacks: Optional[List[BaseRoute]] = None, openapi_extra: Optional[Dict[str, Any]] = None, + generate_unique_id_function: Callable[[APIRoute], str] = Default( + generate_unique_id + ), ) -> Callable[[DecoratedCallable], DecoratedCallable]: return self.api_route( path=path, @@ -951,6 +999,7 @@ class APIRouter(routing.Router): name=name, callbacks=callbacks, openapi_extra=openapi_extra, + generate_unique_id_function=generate_unique_id_function, ) def options( @@ -978,6 +1027,9 @@ class APIRouter(routing.Router): name: Optional[str] = None, callbacks: Optional[List[BaseRoute]] = None, openapi_extra: Optional[Dict[str, Any]] = None, + generate_unique_id_function: Callable[[APIRoute], str] = Default( + generate_unique_id + ), ) -> Callable[[DecoratedCallable], DecoratedCallable]: return self.api_route( path=path, @@ -1003,6 +1055,7 @@ class APIRouter(routing.Router): name=name, callbacks=callbacks, openapi_extra=openapi_extra, + generate_unique_id_function=generate_unique_id_function, ) def head( @@ -1030,6 +1083,9 @@ class APIRouter(routing.Router): name: Optional[str] = None, callbacks: Optional[List[BaseRoute]] = None, openapi_extra: Optional[Dict[str, Any]] = None, + generate_unique_id_function: Callable[[APIRoute], str] = Default( + generate_unique_id + ), ) -> Callable[[DecoratedCallable], DecoratedCallable]: return self.api_route( path=path, @@ -1055,6 +1111,7 @@ class APIRouter(routing.Router): name=name, callbacks=callbacks, openapi_extra=openapi_extra, + generate_unique_id_function=generate_unique_id_function, ) def patch( @@ -1082,6 +1139,9 @@ class APIRouter(routing.Router): name: Optional[str] = None, callbacks: Optional[List[BaseRoute]] = None, openapi_extra: Optional[Dict[str, Any]] = None, + generate_unique_id_function: Callable[[APIRoute], str] = Default( + generate_unique_id + ), ) -> Callable[[DecoratedCallable], DecoratedCallable]: return self.api_route( path=path, @@ -1107,6 +1167,7 @@ class APIRouter(routing.Router): name=name, callbacks=callbacks, openapi_extra=openapi_extra, + generate_unique_id_function=generate_unique_id_function, ) def trace( @@ -1134,6 +1195,9 @@ class APIRouter(routing.Router): name: Optional[str] = None, callbacks: Optional[List[BaseRoute]] = None, openapi_extra: Optional[Dict[str, Any]] = None, + generate_unique_id_function: Callable[[APIRoute], str] = Default( + generate_unique_id + ), ) -> Callable[[DecoratedCallable], DecoratedCallable]: return self.api_route( @@ -1160,4 +1224,5 @@ class APIRouter(routing.Router): name=name, callbacks=callbacks, openapi_extra=openapi_extra, + generate_unique_id_function=generate_unique_id_function, ) diff --git a/fastapi/utils.py b/fastapi/utils.py index 8913d85b2..b9301499a 100644 --- a/fastapi/utils.py +++ b/fastapi/utils.py @@ -1,8 +1,9 @@ import functools import re +import warnings from dataclasses import is_dataclass from enum import Enum -from typing import Any, Dict, Optional, Set, Type, Union, cast +from typing import TYPE_CHECKING, Any, Dict, Optional, Set, Type, Union, cast import fastapi from fastapi.datastructures import DefaultPlaceholder, DefaultType @@ -13,6 +14,9 @@ from pydantic.fields import FieldInfo, ModelField, UndefinedType from pydantic.schema import model_process_schema from pydantic.utils import lenient_issubclass +if TYPE_CHECKING: # pragma: nocover + from .routing import APIRoute + def get_model_definitions( *, @@ -119,13 +123,29 @@ def create_cloned_field( return new_field -def generate_operation_id_for_path(*, name: str, path: str, method: str) -> str: +def generate_operation_id_for_path( + *, name: str, path: str, method: str +) -> str: # pragma: nocover + warnings.warn( + "fastapi.utils.generate_operation_id_for_path() was deprecated, " + "it is not used internally, and will be removed soon", + DeprecationWarning, + stacklevel=2, + ) operation_id = name + path operation_id = re.sub("[^0-9a-zA-Z_]", "_", operation_id) operation_id = operation_id + "_" + method.lower() return operation_id +def generate_unique_id(route: "APIRoute") -> str: + operation_id = route.name + route.path_format + operation_id = re.sub("[^0-9a-zA-Z_]", "_", operation_id) + assert route.methods + operation_id = operation_id + "_" + list(route.methods)[0].lower() + return operation_id + + def deep_dict_update(main_dict: Dict[Any, Any], update_dict: Dict[Any, Any]) -> None: for key in update_dict: if ( diff --git a/tests/test_generate_unique_id_function.py b/tests/test_generate_unique_id_function.py new file mode 100644 index 000000000..ffc0e3844 --- /dev/null +++ b/tests/test_generate_unique_id_function.py @@ -0,0 +1,1617 @@ +import warnings +from typing import List + +from fastapi import APIRouter, FastAPI +from fastapi.routing import APIRoute +from fastapi.testclient import TestClient +from pydantic import BaseModel + + +def custom_generate_unique_id(route: APIRoute): + return f"foo_{route.name}" + + +def custom_generate_unique_id2(route: APIRoute): + return f"bar_{route.name}" + + +def custom_generate_unique_id3(route: APIRoute): + return f"baz_{route.name}" + + +class Item(BaseModel): + name: str + price: float + + +class Message(BaseModel): + title: str + description: str + + +def test_top_level_generate_unique_id(): + app = FastAPI(generate_unique_id_function=custom_generate_unique_id) + router = APIRouter() + + @app.post("/", response_model=List[Item], responses={404: {"model": List[Message]}}) + def post_root(item1: Item, item2: Item): + return item1, item2 # pragma: nocover + + @router.post( + "/router", response_model=List[Item], responses={404: {"model": List[Message]}} + ) + def post_router(item1: Item, item2: Item): + return item1, item2 # pragma: nocover + + app.include_router(router) + client = TestClient(app) + response = client.get("/openapi.json") + data = response.json() + assert data == { + "openapi": "3.0.2", + "info": {"title": "FastAPI", "version": "0.1.0"}, + "paths": { + "/": { + "post": { + "summary": "Post Root", + "operationId": "foo_post_root", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_foo_post_root" + } + } + }, + "required": True, + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "title": "Response Foo Post Root", + "type": "array", + "items": {"$ref": "#/components/schemas/Item"}, + } + } + }, + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "title": "Response 404 Foo Post Root", + "type": "array", + "items": { + "$ref": "#/components/schemas/Message" + }, + } + } + }, + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + }, + }, + } + }, + "/router": { + "post": { + "summary": "Post Router", + "operationId": "foo_post_router", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_foo_post_router" + } + } + }, + "required": True, + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "title": "Response Foo Post Router", + "type": "array", + "items": {"$ref": "#/components/schemas/Item"}, + } + } + }, + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "title": "Response 404 Foo Post Router", + "type": "array", + "items": { + "$ref": "#/components/schemas/Message" + }, + } + } + }, + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + }, + }, + } + }, + }, + "components": { + "schemas": { + "Body_foo_post_root": { + "title": "Body_foo_post_root", + "required": ["item1", "item2"], + "type": "object", + "properties": { + "item1": {"$ref": "#/components/schemas/Item"}, + "item2": {"$ref": "#/components/schemas/Item"}, + }, + }, + "Body_foo_post_router": { + "title": "Body_foo_post_router", + "required": ["item1", "item2"], + "type": "object", + "properties": { + "item1": {"$ref": "#/components/schemas/Item"}, + "item2": {"$ref": "#/components/schemas/Item"}, + }, + }, + "HTTPValidationError": { + "title": "HTTPValidationError", + "type": "object", + "properties": { + "detail": { + "title": "Detail", + "type": "array", + "items": {"$ref": "#/components/schemas/ValidationError"}, + } + }, + }, + "Item": { + "title": "Item", + "required": ["name", "price"], + "type": "object", + "properties": { + "name": {"title": "Name", "type": "string"}, + "price": {"title": "Price", "type": "number"}, + }, + }, + "Message": { + "title": "Message", + "required": ["title", "description"], + "type": "object", + "properties": { + "title": {"title": "Title", "type": "string"}, + "description": {"title": "Description", "type": "string"}, + }, + }, + "ValidationError": { + "title": "ValidationError", + "required": ["loc", "msg", "type"], + "type": "object", + "properties": { + "loc": { + "title": "Location", + "type": "array", + "items": {"type": "string"}, + }, + "msg": {"title": "Message", "type": "string"}, + "type": {"title": "Error Type", "type": "string"}, + }, + }, + } + }, + } + + +def test_router_overrides_generate_unique_id(): + app = FastAPI(generate_unique_id_function=custom_generate_unique_id) + router = APIRouter(generate_unique_id_function=custom_generate_unique_id2) + + @app.post("/", response_model=List[Item], responses={404: {"model": List[Message]}}) + def post_root(item1: Item, item2: Item): + return item1, item2 # pragma: nocover + + @router.post( + "/router", response_model=List[Item], responses={404: {"model": List[Message]}} + ) + def post_router(item1: Item, item2: Item): + return item1, item2 # pragma: nocover + + app.include_router(router) + client = TestClient(app) + response = client.get("/openapi.json") + data = response.json() + assert data == { + "openapi": "3.0.2", + "info": {"title": "FastAPI", "version": "0.1.0"}, + "paths": { + "/": { + "post": { + "summary": "Post Root", + "operationId": "foo_post_root", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_foo_post_root" + } + } + }, + "required": True, + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "title": "Response Foo Post Root", + "type": "array", + "items": {"$ref": "#/components/schemas/Item"}, + } + } + }, + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "title": "Response 404 Foo Post Root", + "type": "array", + "items": { + "$ref": "#/components/schemas/Message" + }, + } + } + }, + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + }, + }, + } + }, + "/router": { + "post": { + "summary": "Post Router", + "operationId": "bar_post_router", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_bar_post_router" + } + } + }, + "required": True, + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "title": "Response Bar Post Router", + "type": "array", + "items": {"$ref": "#/components/schemas/Item"}, + } + } + }, + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "title": "Response 404 Bar Post Router", + "type": "array", + "items": { + "$ref": "#/components/schemas/Message" + }, + } + } + }, + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + }, + }, + } + }, + }, + "components": { + "schemas": { + "Body_bar_post_router": { + "title": "Body_bar_post_router", + "required": ["item1", "item2"], + "type": "object", + "properties": { + "item1": {"$ref": "#/components/schemas/Item"}, + "item2": {"$ref": "#/components/schemas/Item"}, + }, + }, + "Body_foo_post_root": { + "title": "Body_foo_post_root", + "required": ["item1", "item2"], + "type": "object", + "properties": { + "item1": {"$ref": "#/components/schemas/Item"}, + "item2": {"$ref": "#/components/schemas/Item"}, + }, + }, + "HTTPValidationError": { + "title": "HTTPValidationError", + "type": "object", + "properties": { + "detail": { + "title": "Detail", + "type": "array", + "items": {"$ref": "#/components/schemas/ValidationError"}, + } + }, + }, + "Item": { + "title": "Item", + "required": ["name", "price"], + "type": "object", + "properties": { + "name": {"title": "Name", "type": "string"}, + "price": {"title": "Price", "type": "number"}, + }, + }, + "Message": { + "title": "Message", + "required": ["title", "description"], + "type": "object", + "properties": { + "title": {"title": "Title", "type": "string"}, + "description": {"title": "Description", "type": "string"}, + }, + }, + "ValidationError": { + "title": "ValidationError", + "required": ["loc", "msg", "type"], + "type": "object", + "properties": { + "loc": { + "title": "Location", + "type": "array", + "items": {"type": "string"}, + }, + "msg": {"title": "Message", "type": "string"}, + "type": {"title": "Error Type", "type": "string"}, + }, + }, + } + }, + } + + +def test_router_include_overrides_generate_unique_id(): + app = FastAPI(generate_unique_id_function=custom_generate_unique_id) + router = APIRouter(generate_unique_id_function=custom_generate_unique_id2) + + @app.post("/", response_model=List[Item], responses={404: {"model": List[Message]}}) + def post_root(item1: Item, item2: Item): + return item1, item2 # pragma: nocover + + @router.post( + "/router", response_model=List[Item], responses={404: {"model": List[Message]}} + ) + def post_router(item1: Item, item2: Item): + return item1, item2 # pragma: nocover + + app.include_router(router, generate_unique_id_function=custom_generate_unique_id3) + client = TestClient(app) + response = client.get("/openapi.json") + data = response.json() + assert data == { + "openapi": "3.0.2", + "info": {"title": "FastAPI", "version": "0.1.0"}, + "paths": { + "/": { + "post": { + "summary": "Post Root", + "operationId": "foo_post_root", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_foo_post_root" + } + } + }, + "required": True, + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "title": "Response Foo Post Root", + "type": "array", + "items": {"$ref": "#/components/schemas/Item"}, + } + } + }, + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "title": "Response 404 Foo Post Root", + "type": "array", + "items": { + "$ref": "#/components/schemas/Message" + }, + } + } + }, + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + }, + }, + } + }, + "/router": { + "post": { + "summary": "Post Router", + "operationId": "bar_post_router", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_bar_post_router" + } + } + }, + "required": True, + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "title": "Response Bar Post Router", + "type": "array", + "items": {"$ref": "#/components/schemas/Item"}, + } + } + }, + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "title": "Response 404 Bar Post Router", + "type": "array", + "items": { + "$ref": "#/components/schemas/Message" + }, + } + } + }, + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + }, + }, + } + }, + }, + "components": { + "schemas": { + "Body_bar_post_router": { + "title": "Body_bar_post_router", + "required": ["item1", "item2"], + "type": "object", + "properties": { + "item1": {"$ref": "#/components/schemas/Item"}, + "item2": {"$ref": "#/components/schemas/Item"}, + }, + }, + "Body_foo_post_root": { + "title": "Body_foo_post_root", + "required": ["item1", "item2"], + "type": "object", + "properties": { + "item1": {"$ref": "#/components/schemas/Item"}, + "item2": {"$ref": "#/components/schemas/Item"}, + }, + }, + "HTTPValidationError": { + "title": "HTTPValidationError", + "type": "object", + "properties": { + "detail": { + "title": "Detail", + "type": "array", + "items": {"$ref": "#/components/schemas/ValidationError"}, + } + }, + }, + "Item": { + "title": "Item", + "required": ["name", "price"], + "type": "object", + "properties": { + "name": {"title": "Name", "type": "string"}, + "price": {"title": "Price", "type": "number"}, + }, + }, + "Message": { + "title": "Message", + "required": ["title", "description"], + "type": "object", + "properties": { + "title": {"title": "Title", "type": "string"}, + "description": {"title": "Description", "type": "string"}, + }, + }, + "ValidationError": { + "title": "ValidationError", + "required": ["loc", "msg", "type"], + "type": "object", + "properties": { + "loc": { + "title": "Location", + "type": "array", + "items": {"type": "string"}, + }, + "msg": {"title": "Message", "type": "string"}, + "type": {"title": "Error Type", "type": "string"}, + }, + }, + } + }, + } + + +def test_subrouter_top_level_include_overrides_generate_unique_id(): + app = FastAPI(generate_unique_id_function=custom_generate_unique_id) + router = APIRouter() + sub_router = APIRouter(generate_unique_id_function=custom_generate_unique_id2) + + @app.post("/", response_model=List[Item], responses={404: {"model": List[Message]}}) + def post_root(item1: Item, item2: Item): + return item1, item2 # pragma: nocover + + @router.post( + "/router", response_model=List[Item], responses={404: {"model": List[Message]}} + ) + def post_router(item1: Item, item2: Item): + return item1, item2 # pragma: nocover + + @sub_router.post( + "/subrouter", + response_model=List[Item], + responses={404: {"model": List[Message]}}, + ) + def post_subrouter(item1: Item, item2: Item): + return item1, item2 # pragma: nocover + + router.include_router(sub_router) + app.include_router(router, generate_unique_id_function=custom_generate_unique_id3) + client = TestClient(app) + response = client.get("/openapi.json") + data = response.json() + assert data == { + "openapi": "3.0.2", + "info": {"title": "FastAPI", "version": "0.1.0"}, + "paths": { + "/": { + "post": { + "summary": "Post Root", + "operationId": "foo_post_root", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_foo_post_root" + } + } + }, + "required": True, + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "title": "Response Foo Post Root", + "type": "array", + "items": {"$ref": "#/components/schemas/Item"}, + } + } + }, + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "title": "Response 404 Foo Post Root", + "type": "array", + "items": { + "$ref": "#/components/schemas/Message" + }, + } + } + }, + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + }, + }, + } + }, + "/router": { + "post": { + "summary": "Post Router", + "operationId": "baz_post_router", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_baz_post_router" + } + } + }, + "required": True, + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "title": "Response Baz Post Router", + "type": "array", + "items": {"$ref": "#/components/schemas/Item"}, + } + } + }, + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "title": "Response 404 Baz Post Router", + "type": "array", + "items": { + "$ref": "#/components/schemas/Message" + }, + } + } + }, + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + }, + }, + } + }, + "/subrouter": { + "post": { + "summary": "Post Subrouter", + "operationId": "bar_post_subrouter", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_bar_post_subrouter" + } + } + }, + "required": True, + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "title": "Response Bar Post Subrouter", + "type": "array", + "items": {"$ref": "#/components/schemas/Item"}, + } + } + }, + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "title": "Response 404 Bar Post Subrouter", + "type": "array", + "items": { + "$ref": "#/components/schemas/Message" + }, + } + } + }, + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + }, + }, + } + }, + }, + "components": { + "schemas": { + "Body_bar_post_subrouter": { + "title": "Body_bar_post_subrouter", + "required": ["item1", "item2"], + "type": "object", + "properties": { + "item1": {"$ref": "#/components/schemas/Item"}, + "item2": {"$ref": "#/components/schemas/Item"}, + }, + }, + "Body_baz_post_router": { + "title": "Body_baz_post_router", + "required": ["item1", "item2"], + "type": "object", + "properties": { + "item1": {"$ref": "#/components/schemas/Item"}, + "item2": {"$ref": "#/components/schemas/Item"}, + }, + }, + "Body_foo_post_root": { + "title": "Body_foo_post_root", + "required": ["item1", "item2"], + "type": "object", + "properties": { + "item1": {"$ref": "#/components/schemas/Item"}, + "item2": {"$ref": "#/components/schemas/Item"}, + }, + }, + "HTTPValidationError": { + "title": "HTTPValidationError", + "type": "object", + "properties": { + "detail": { + "title": "Detail", + "type": "array", + "items": {"$ref": "#/components/schemas/ValidationError"}, + } + }, + }, + "Item": { + "title": "Item", + "required": ["name", "price"], + "type": "object", + "properties": { + "name": {"title": "Name", "type": "string"}, + "price": {"title": "Price", "type": "number"}, + }, + }, + "Message": { + "title": "Message", + "required": ["title", "description"], + "type": "object", + "properties": { + "title": {"title": "Title", "type": "string"}, + "description": {"title": "Description", "type": "string"}, + }, + }, + "ValidationError": { + "title": "ValidationError", + "required": ["loc", "msg", "type"], + "type": "object", + "properties": { + "loc": { + "title": "Location", + "type": "array", + "items": {"type": "string"}, + }, + "msg": {"title": "Message", "type": "string"}, + "type": {"title": "Error Type", "type": "string"}, + }, + }, + } + }, + } + + +def test_router_path_operation_overrides_generate_unique_id(): + app = FastAPI(generate_unique_id_function=custom_generate_unique_id) + router = APIRouter(generate_unique_id_function=custom_generate_unique_id2) + + @app.post("/", response_model=List[Item], responses={404: {"model": List[Message]}}) + def post_root(item1: Item, item2: Item): + return item1, item2 # pragma: nocover + + @router.post( + "/router", + response_model=List[Item], + responses={404: {"model": List[Message]}}, + generate_unique_id_function=custom_generate_unique_id3, + ) + def post_router(item1: Item, item2: Item): + return item1, item2 # pragma: nocover + + app.include_router(router) + client = TestClient(app) + response = client.get("/openapi.json") + data = response.json() + assert data == { + "openapi": "3.0.2", + "info": {"title": "FastAPI", "version": "0.1.0"}, + "paths": { + "/": { + "post": { + "summary": "Post Root", + "operationId": "foo_post_root", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_foo_post_root" + } + } + }, + "required": True, + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "title": "Response Foo Post Root", + "type": "array", + "items": {"$ref": "#/components/schemas/Item"}, + } + } + }, + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "title": "Response 404 Foo Post Root", + "type": "array", + "items": { + "$ref": "#/components/schemas/Message" + }, + } + } + }, + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + }, + }, + } + }, + "/router": { + "post": { + "summary": "Post Router", + "operationId": "baz_post_router", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_baz_post_router" + } + } + }, + "required": True, + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "title": "Response Baz Post Router", + "type": "array", + "items": {"$ref": "#/components/schemas/Item"}, + } + } + }, + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "title": "Response 404 Baz Post Router", + "type": "array", + "items": { + "$ref": "#/components/schemas/Message" + }, + } + } + }, + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + }, + }, + } + }, + }, + "components": { + "schemas": { + "Body_baz_post_router": { + "title": "Body_baz_post_router", + "required": ["item1", "item2"], + "type": "object", + "properties": { + "item1": {"$ref": "#/components/schemas/Item"}, + "item2": {"$ref": "#/components/schemas/Item"}, + }, + }, + "Body_foo_post_root": { + "title": "Body_foo_post_root", + "required": ["item1", "item2"], + "type": "object", + "properties": { + "item1": {"$ref": "#/components/schemas/Item"}, + "item2": {"$ref": "#/components/schemas/Item"}, + }, + }, + "HTTPValidationError": { + "title": "HTTPValidationError", + "type": "object", + "properties": { + "detail": { + "title": "Detail", + "type": "array", + "items": {"$ref": "#/components/schemas/ValidationError"}, + } + }, + }, + "Item": { + "title": "Item", + "required": ["name", "price"], + "type": "object", + "properties": { + "name": {"title": "Name", "type": "string"}, + "price": {"title": "Price", "type": "number"}, + }, + }, + "Message": { + "title": "Message", + "required": ["title", "description"], + "type": "object", + "properties": { + "title": {"title": "Title", "type": "string"}, + "description": {"title": "Description", "type": "string"}, + }, + }, + "ValidationError": { + "title": "ValidationError", + "required": ["loc", "msg", "type"], + "type": "object", + "properties": { + "loc": { + "title": "Location", + "type": "array", + "items": {"type": "string"}, + }, + "msg": {"title": "Message", "type": "string"}, + "type": {"title": "Error Type", "type": "string"}, + }, + }, + } + }, + } + + +def test_app_path_operation_overrides_generate_unique_id(): + app = FastAPI(generate_unique_id_function=custom_generate_unique_id) + router = APIRouter(generate_unique_id_function=custom_generate_unique_id2) + + @app.post( + "/", + response_model=List[Item], + responses={404: {"model": List[Message]}}, + generate_unique_id_function=custom_generate_unique_id3, + ) + def post_root(item1: Item, item2: Item): + return item1, item2 # pragma: nocover + + @router.post( + "/router", + response_model=List[Item], + responses={404: {"model": List[Message]}}, + ) + def post_router(item1: Item, item2: Item): + return item1, item2 # pragma: nocover + + app.include_router(router) + client = TestClient(app) + response = client.get("/openapi.json") + data = response.json() + assert data == { + "openapi": "3.0.2", + "info": {"title": "FastAPI", "version": "0.1.0"}, + "paths": { + "/": { + "post": { + "summary": "Post Root", + "operationId": "baz_post_root", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_baz_post_root" + } + } + }, + "required": True, + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "title": "Response Baz Post Root", + "type": "array", + "items": {"$ref": "#/components/schemas/Item"}, + } + } + }, + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "title": "Response 404 Baz Post Root", + "type": "array", + "items": { + "$ref": "#/components/schemas/Message" + }, + } + } + }, + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + }, + }, + } + }, + "/router": { + "post": { + "summary": "Post Router", + "operationId": "bar_post_router", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_bar_post_router" + } + } + }, + "required": True, + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "title": "Response Bar Post Router", + "type": "array", + "items": {"$ref": "#/components/schemas/Item"}, + } + } + }, + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "title": "Response 404 Bar Post Router", + "type": "array", + "items": { + "$ref": "#/components/schemas/Message" + }, + } + } + }, + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + }, + }, + } + }, + }, + "components": { + "schemas": { + "Body_bar_post_router": { + "title": "Body_bar_post_router", + "required": ["item1", "item2"], + "type": "object", + "properties": { + "item1": {"$ref": "#/components/schemas/Item"}, + "item2": {"$ref": "#/components/schemas/Item"}, + }, + }, + "Body_baz_post_root": { + "title": "Body_baz_post_root", + "required": ["item1", "item2"], + "type": "object", + "properties": { + "item1": {"$ref": "#/components/schemas/Item"}, + "item2": {"$ref": "#/components/schemas/Item"}, + }, + }, + "HTTPValidationError": { + "title": "HTTPValidationError", + "type": "object", + "properties": { + "detail": { + "title": "Detail", + "type": "array", + "items": {"$ref": "#/components/schemas/ValidationError"}, + } + }, + }, + "Item": { + "title": "Item", + "required": ["name", "price"], + "type": "object", + "properties": { + "name": {"title": "Name", "type": "string"}, + "price": {"title": "Price", "type": "number"}, + }, + }, + "Message": { + "title": "Message", + "required": ["title", "description"], + "type": "object", + "properties": { + "title": {"title": "Title", "type": "string"}, + "description": {"title": "Description", "type": "string"}, + }, + }, + "ValidationError": { + "title": "ValidationError", + "required": ["loc", "msg", "type"], + "type": "object", + "properties": { + "loc": { + "title": "Location", + "type": "array", + "items": {"type": "string"}, + }, + "msg": {"title": "Message", "type": "string"}, + "type": {"title": "Error Type", "type": "string"}, + }, + }, + } + }, + } + + +def test_callback_override_generate_unique_id(): + app = FastAPI(generate_unique_id_function=custom_generate_unique_id) + callback_router = APIRouter(generate_unique_id_function=custom_generate_unique_id2) + + @callback_router.post( + "/post-callback", + response_model=List[Item], + responses={404: {"model": List[Message]}}, + generate_unique_id_function=custom_generate_unique_id3, + ) + def post_callback(item1: Item, item2: Item): + return item1, item2 # pragma: nocover + + @app.post( + "/", + response_model=List[Item], + responses={404: {"model": List[Message]}}, + generate_unique_id_function=custom_generate_unique_id3, + callbacks=callback_router.routes, + ) + def post_root(item1: Item, item2: Item): + return item1, item2 # pragma: nocover + + @app.post( + "/tocallback", + response_model=List[Item], + responses={404: {"model": List[Message]}}, + ) + def post_with_callback(item1: Item, item2: Item): + return item1, item2 # pragma: nocover + + client = TestClient(app) + response = client.get("/openapi.json") + data = response.json() + assert data == { + "openapi": "3.0.2", + "info": {"title": "FastAPI", "version": "0.1.0"}, + "paths": { + "/": { + "post": { + "summary": "Post Root", + "operationId": "baz_post_root", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_baz_post_root" + } + } + }, + "required": True, + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "title": "Response Baz Post Root", + "type": "array", + "items": {"$ref": "#/components/schemas/Item"}, + } + } + }, + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "title": "Response 404 Baz Post Root", + "type": "array", + "items": { + "$ref": "#/components/schemas/Message" + }, + } + } + }, + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + }, + }, + "callbacks": { + "post_callback": { + "/post-callback": { + "post": { + "summary": "Post Callback", + "operationId": "baz_post_callback", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_baz_post_callback" + } + } + }, + "required": True, + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "title": "Response Baz Post Callback", + "type": "array", + "items": { + "$ref": "#/components/schemas/Item" + }, + } + } + }, + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "title": "Response 404 Baz Post Callback", + "type": "array", + "items": { + "$ref": "#/components/schemas/Message" + }, + } + } + }, + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + }, + }, + } + } + } + }, + } + }, + "/tocallback": { + "post": { + "summary": "Post With Callback", + "operationId": "foo_post_with_callback", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_foo_post_with_callback" + } + } + }, + "required": True, + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "title": "Response Foo Post With Callback", + "type": "array", + "items": {"$ref": "#/components/schemas/Item"}, + } + } + }, + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "title": "Response 404 Foo Post With Callback", + "type": "array", + "items": { + "$ref": "#/components/schemas/Message" + }, + } + } + }, + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + }, + }, + } + }, + }, + "components": { + "schemas": { + "Body_baz_post_callback": { + "title": "Body_baz_post_callback", + "required": ["item1", "item2"], + "type": "object", + "properties": { + "item1": {"$ref": "#/components/schemas/Item"}, + "item2": {"$ref": "#/components/schemas/Item"}, + }, + }, + "Body_baz_post_root": { + "title": "Body_baz_post_root", + "required": ["item1", "item2"], + "type": "object", + "properties": { + "item1": {"$ref": "#/components/schemas/Item"}, + "item2": {"$ref": "#/components/schemas/Item"}, + }, + }, + "Body_foo_post_with_callback": { + "title": "Body_foo_post_with_callback", + "required": ["item1", "item2"], + "type": "object", + "properties": { + "item1": {"$ref": "#/components/schemas/Item"}, + "item2": {"$ref": "#/components/schemas/Item"}, + }, + }, + "HTTPValidationError": { + "title": "HTTPValidationError", + "type": "object", + "properties": { + "detail": { + "title": "Detail", + "type": "array", + "items": {"$ref": "#/components/schemas/ValidationError"}, + } + }, + }, + "Item": { + "title": "Item", + "required": ["name", "price"], + "type": "object", + "properties": { + "name": {"title": "Name", "type": "string"}, + "price": {"title": "Price", "type": "number"}, + }, + }, + "Message": { + "title": "Message", + "required": ["title", "description"], + "type": "object", + "properties": { + "title": {"title": "Title", "type": "string"}, + "description": {"title": "Description", "type": "string"}, + }, + }, + "ValidationError": { + "title": "ValidationError", + "required": ["loc", "msg", "type"], + "type": "object", + "properties": { + "loc": { + "title": "Location", + "type": "array", + "items": {"type": "string"}, + }, + "msg": {"title": "Message", "type": "string"}, + "type": {"title": "Error Type", "type": "string"}, + }, + }, + } + }, + } + + +def test_warn_duplicate_operation_id(): + def broken_operation_id(route: APIRoute): + return "foo" + + app = FastAPI(generate_unique_id_function=broken_operation_id) + + @app.post("/") + def post_root(item1: Item): + return item1 # pragma: nocover + + @app.post("/second") + def post_second(item1: Item): + return item1 # pragma: nocover + + @app.post("/third") + def post_third(item1: Item): + return item1 # pragma: nocover + + client = TestClient(app) + with warnings.catch_warnings(record=True) as w: + warnings.simplefilter("always") + client.get("/openapi.json") + assert len(w) == 2 + assert issubclass(w[-1].category, UserWarning) + assert "Duplicate Operation ID" in str(w[-1].message) diff --git a/tests/test_include_router_defaults_overrides.py b/tests/test_include_router_defaults_overrides.py index c46cb6701..5dd7e7098 100644 --- a/tests/test_include_router_defaults_overrides.py +++ b/tests/test_include_router_defaults_overrides.py @@ -1,3 +1,5 @@ +import warnings + import pytest from fastapi import APIRouter, Depends, FastAPI, Response from fastapi.responses import JSONResponse @@ -343,7 +345,11 @@ client = TestClient(app) def test_openapi(): client = TestClient(app) - response = client.get("/openapi.json") + with warnings.catch_warnings(record=True) as w: + warnings.simplefilter("always") + response = client.get("/openapi.json") + assert issubclass(w[-1].category, UserWarning) + assert "Duplicate Operation ID" in str(w[-1].message) assert response.json() == openapi_schema diff --git a/tests/test_tutorial/test_generate_clients/__init__.py b/tests/test_tutorial/test_generate_clients/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/test_tutorial/test_generate_clients/test_tutorial003.py b/tests/test_tutorial/test_generate_clients/test_tutorial003.py new file mode 100644 index 000000000..d79123163 --- /dev/null +++ b/tests/test_tutorial/test_generate_clients/test_tutorial003.py @@ -0,0 +1,188 @@ +from fastapi.testclient import TestClient + +from docs_src.generate_clients.tutorial003 import app + +client = TestClient(app) + +openapi_schema = { + "openapi": "3.0.2", + "info": {"title": "FastAPI", "version": "0.1.0"}, + "paths": { + "/items/": { + "get": { + "tags": ["items"], + "summary": "Get Items", + "operationId": "items-get_items", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "title": "Response Items-Get Items", + "type": "array", + "items": {"$ref": "#/components/schemas/Item"}, + } + } + }, + } + }, + }, + "post": { + "tags": ["items"], + "summary": "Create Item", + "operationId": "items-create_item", + "requestBody": { + "content": { + "application/json": { + "schema": {"$ref": "#/components/schemas/Item"} + } + }, + "required": True, + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResponseMessage" + } + } + }, + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + }, + }, + }, + }, + "/users/": { + "post": { + "tags": ["users"], + "summary": "Create User", + "operationId": "users-create_user", + "requestBody": { + "content": { + "application/json": { + "schema": {"$ref": "#/components/schemas/User"} + } + }, + "required": True, + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResponseMessage" + } + } + }, + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + }, + }, + } + }, + }, + "components": { + "schemas": { + "HTTPValidationError": { + "title": "HTTPValidationError", + "type": "object", + "properties": { + "detail": { + "title": "Detail", + "type": "array", + "items": {"$ref": "#/components/schemas/ValidationError"}, + } + }, + }, + "Item": { + "title": "Item", + "required": ["name", "price"], + "type": "object", + "properties": { + "name": {"title": "Name", "type": "string"}, + "price": {"title": "Price", "type": "number"}, + }, + }, + "ResponseMessage": { + "title": "ResponseMessage", + "required": ["message"], + "type": "object", + "properties": {"message": {"title": "Message", "type": "string"}}, + }, + "User": { + "title": "User", + "required": ["username", "email"], + "type": "object", + "properties": { + "username": {"title": "Username", "type": "string"}, + "email": {"title": "Email", "type": "string"}, + }, + }, + "ValidationError": { + "title": "ValidationError", + "required": ["loc", "msg", "type"], + "type": "object", + "properties": { + "loc": { + "title": "Location", + "type": "array", + "items": {"type": "string"}, + }, + "msg": {"title": "Message", "type": "string"}, + "type": {"title": "Error Type", "type": "string"}, + }, + }, + } + }, +} + + +def test_openapi(): + with client: + response = client.get("/openapi.json") + + assert response.json() == openapi_schema + + +def test_post_items(): + response = client.post("/items/", json={"name": "Foo", "price": 5}) + assert response.status_code == 200, response.text + assert response.json() == {"message": "Item received"} + + +def test_post_users(): + response = client.post( + "/users/", json={"username": "Foo", "email": "foo@example.com"} + ) + assert response.status_code == 200, response.text + assert response.json() == {"message": "User received"} + + +def test_get_items(): + response = client.get("/items/") + assert response.status_code == 200, response.text + assert response.json() == [ + {"name": "Plumbus", "price": 3}, + {"name": "Portal Gun", "price": 9001}, + ]