From 093bb4cd19c7aad4c524b9084b3f23efe3fc47f3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebasti=C3=A1n=20Ram=C3=ADrez?= Date: Fri, 14 Dec 2018 14:27:02 +0400 Subject: [PATCH] :memo: Update docs, add first tutorials --- docs/img/tutorial/path-params/image01.png | Bin 0 -> 79109 bytes docs/img/tutorial/path-params/image02.png | Bin 0 -> 67289 bytes docs/index.md | 21 ++- docs/tutorial/first-steps.md | 138 ++++++++++++++ docs/tutorial/index.md | 1 - docs/tutorial/intro.md | 52 +++++ docs/tutorial/path-params.md | 112 +++++++++++ docs/tutorial/query-params.md | 177 ++++++++++++++++++ .../src/{tutorial14.py => all/tutorial001.py} | 0 .../src/{tutorial15.py => all/tutorial002.py} | 0 .../src/{tutorial16.py => all/tutorial003.py} | 0 .../src/{tutorial17.py => all/tutorial004.py} | 0 .../src/{tutorial18.py => all/tutorial005.py} | 0 .../src/{tutorial19.py => all/tutorial006.py} | 0 .../src/{tutorial20.py => all/tutorial007.py} | 0 .../src/{tutorial21.py => all/tutorial008.py} | 0 .../src/{tutorial22.py => all/tutorial009.py} | 0 .../src/{tutorial23.py => all/tutorial010.py} | 0 .../src/{tutorial24.py => all/tutorial011.py} | 0 .../src/{tutorial25.py => all/tutorial012.py} | 0 .../src/{tutorial26.py => all/tutorial013.py} | 0 .../src/{tutorial27.py => all/tutorial014.py} | 0 .../src/{tutorial28.py => all/tutorial015.py} | 0 .../src/{tutorial29.py => all/tutorial016.py} | 0 .../src/{tutorial30.py => all/tutorial017.py} | 0 .../src/{tutorial31.py => all/tutorial018.py} | 0 .../src/{tutorial32.py => all/tutorial019.py} | 0 .../src/{tutorial33.py => all/tutorial020.py} | 0 .../src/{tutorial34.py => all/tutorial021.py} | 0 .../src/{tutorial35.py => all/tutorial022.py} | 0 .../src/{tutorial36.py => all/tutorial023.py} | 0 .../src/{tutorial37.py => all/tutorial024.py} | 0 .../src/{tutorial38.py => all/tutorial025.py} | 0 .../src/{tutorial39.py => all/tutorial026.py} | 0 .../src/{tutorial40.py => all/tutorial027.py} | 0 .../src/{tutorial41.py => all/tutorial028.py} | 0 .../src/{tutorial42.py => all/tutorial029.py} | 0 .../src/{tutorial43.py => all/tutorial030.py} | 0 .../src/{tutorial44.py => all/tutorial031.py} | 0 .../src/{tutorial45.py => all/tutorial032.py} | 0 .../src/{tutorial46.py => all/tutorial033.py} | 0 .../src/{tutorial47.py => all/tutorial034.py} | 0 .../src/{tutorial48.py => all/tutorial035.py} | 0 .../src/{tutorial49.py => all/tutorial036.py} | 0 .../src/{tutorial50.py => all/tutorial037.py} | 0 .../src/{tutorial51.py => all/tutorial038.py} | 0 .../src/{tutorial52.py => all/tutorial039.py} | 0 .../src/{tutorial53.py => all/tutorial040.py} | 0 .../src/{tutorial54.py => all/tutorial041.py} | 0 .../src/{tutorial55.py => all/tutorial042.py} | 0 .../src/{tutorial56.py => all/tutorial043.py} | 0 .../src/{tutorial57.py => all/tutorial044.py} | 0 .../src/{tutorial58.py => all/tutorial045.py} | 0 .../src/{tutorial59.py => all/tutorial046.py} | 0 .../src/{tutorial60.py => all/tutorial047.py} | 0 .../src/{tutorial61.py => all/tutorial048.py} | 0 .../src/{tutorial62.py => all/tutorial049.py} | 0 .../src/{tutorial63.py => all/tutorial050.py} | 0 .../src/{tutorial64.py => all/tutorial051.py} | 0 .../src/{tutorial65.py => all/tutorial052.py} | 0 .../src/{tutorial66.py => all/tutorial053.py} | 0 .../src/{tutorial67.py => all/tutorial054.py} | 0 .../src/{tutorial68.py => all/tutorial055.py} | 0 .../src/{tutorial69.py => all/tutorial056.py} | 0 .../src/{tutorial70.py => all/tutorial057.py} | 0 .../src/{tutorial71.py => all/tutorial058.py} | 0 .../src/{tutorial72.py => all/tutorial059.py} | 0 .../src/{tutorial73.py => all/tutorial060.py} | 0 .../src/{tutorial74.py => all/tutorial061.py} | 0 .../src/{tutorial75.py => all/tutorial062.py} | 0 .../src/{tutorial76.py => all/tutorial063.py} | 0 .../src/{tutorial77.py => all/tutorial064.py} | 0 .../src/{tutorial78.py => all/tutorial065.py} | 0 .../src/{tutorial79.py => all/tutorial066.py} | 0 .../{tutorial10.py => body/tutorial001.py} | 0 .../{tutorial11.py => body/tutorial002.py} | 0 .../{tutorial12.py => body/tutorial003.py} | 0 .../{tutorial13.py => body/tutorial004.py} | 0 .../tutorial001.py} | 0 docs/tutorial/src/first-steps/tutorial002.py | 8 + docs/tutorial/src/first-steps/tutorial003.py | 8 + .../tutorial001.py} | 0 .../tutorial002.py} | 0 .../tutorial003.py} | 0 .../tutorial001.py} | 0 .../tutorial002.py} | 0 .../tutorial003.py} | 0 .../tutorial004.py} | 0 docs/tutorial/src/query-params/tutorial005.py | 11 ++ docs/tutorial/src/tutorial09.py | 17 -- 90 files changed, 518 insertions(+), 27 deletions(-) create mode 100644 docs/img/tutorial/path-params/image01.png create mode 100644 docs/img/tutorial/path-params/image02.png create mode 100644 docs/tutorial/first-steps.md delete mode 100644 docs/tutorial/index.md create mode 100644 docs/tutorial/intro.md create mode 100644 docs/tutorial/path-params.md create mode 100644 docs/tutorial/query-params.md rename docs/tutorial/src/{tutorial14.py => all/tutorial001.py} (100%) rename docs/tutorial/src/{tutorial15.py => all/tutorial002.py} (100%) rename docs/tutorial/src/{tutorial16.py => all/tutorial003.py} (100%) rename docs/tutorial/src/{tutorial17.py => all/tutorial004.py} (100%) rename docs/tutorial/src/{tutorial18.py => all/tutorial005.py} (100%) rename docs/tutorial/src/{tutorial19.py => all/tutorial006.py} (100%) rename docs/tutorial/src/{tutorial20.py => all/tutorial007.py} (100%) rename docs/tutorial/src/{tutorial21.py => all/tutorial008.py} (100%) rename docs/tutorial/src/{tutorial22.py => all/tutorial009.py} (100%) rename docs/tutorial/src/{tutorial23.py => all/tutorial010.py} (100%) rename docs/tutorial/src/{tutorial24.py => all/tutorial011.py} (100%) rename docs/tutorial/src/{tutorial25.py => all/tutorial012.py} (100%) rename docs/tutorial/src/{tutorial26.py => all/tutorial013.py} (100%) rename docs/tutorial/src/{tutorial27.py => all/tutorial014.py} (100%) rename docs/tutorial/src/{tutorial28.py => all/tutorial015.py} (100%) rename docs/tutorial/src/{tutorial29.py => all/tutorial016.py} (100%) rename docs/tutorial/src/{tutorial30.py => all/tutorial017.py} (100%) rename docs/tutorial/src/{tutorial31.py => all/tutorial018.py} (100%) rename docs/tutorial/src/{tutorial32.py => all/tutorial019.py} (100%) rename docs/tutorial/src/{tutorial33.py => all/tutorial020.py} (100%) rename docs/tutorial/src/{tutorial34.py => all/tutorial021.py} (100%) rename docs/tutorial/src/{tutorial35.py => all/tutorial022.py} (100%) rename docs/tutorial/src/{tutorial36.py => all/tutorial023.py} (100%) rename docs/tutorial/src/{tutorial37.py => all/tutorial024.py} (100%) rename docs/tutorial/src/{tutorial38.py => all/tutorial025.py} (100%) rename docs/tutorial/src/{tutorial39.py => all/tutorial026.py} (100%) rename docs/tutorial/src/{tutorial40.py => all/tutorial027.py} (100%) rename docs/tutorial/src/{tutorial41.py => all/tutorial028.py} (100%) rename docs/tutorial/src/{tutorial42.py => all/tutorial029.py} (100%) rename docs/tutorial/src/{tutorial43.py => all/tutorial030.py} (100%) rename docs/tutorial/src/{tutorial44.py => all/tutorial031.py} (100%) rename docs/tutorial/src/{tutorial45.py => all/tutorial032.py} (100%) rename docs/tutorial/src/{tutorial46.py => all/tutorial033.py} (100%) rename docs/tutorial/src/{tutorial47.py => all/tutorial034.py} (100%) rename docs/tutorial/src/{tutorial48.py => all/tutorial035.py} (100%) rename docs/tutorial/src/{tutorial49.py => all/tutorial036.py} (100%) rename docs/tutorial/src/{tutorial50.py => all/tutorial037.py} (100%) rename docs/tutorial/src/{tutorial51.py => all/tutorial038.py} (100%) rename docs/tutorial/src/{tutorial52.py => all/tutorial039.py} (100%) rename docs/tutorial/src/{tutorial53.py => all/tutorial040.py} (100%) rename docs/tutorial/src/{tutorial54.py => all/tutorial041.py} (100%) rename docs/tutorial/src/{tutorial55.py => all/tutorial042.py} (100%) rename docs/tutorial/src/{tutorial56.py => all/tutorial043.py} (100%) rename docs/tutorial/src/{tutorial57.py => all/tutorial044.py} (100%) rename docs/tutorial/src/{tutorial58.py => all/tutorial045.py} (100%) rename docs/tutorial/src/{tutorial59.py => all/tutorial046.py} (100%) rename docs/tutorial/src/{tutorial60.py => all/tutorial047.py} (100%) rename docs/tutorial/src/{tutorial61.py => all/tutorial048.py} (100%) rename docs/tutorial/src/{tutorial62.py => all/tutorial049.py} (100%) rename docs/tutorial/src/{tutorial63.py => all/tutorial050.py} (100%) rename docs/tutorial/src/{tutorial64.py => all/tutorial051.py} (100%) rename docs/tutorial/src/{tutorial65.py => all/tutorial052.py} (100%) rename docs/tutorial/src/{tutorial66.py => all/tutorial053.py} (100%) rename docs/tutorial/src/{tutorial67.py => all/tutorial054.py} (100%) rename docs/tutorial/src/{tutorial68.py => all/tutorial055.py} (100%) rename docs/tutorial/src/{tutorial69.py => all/tutorial056.py} (100%) rename docs/tutorial/src/{tutorial70.py => all/tutorial057.py} (100%) rename docs/tutorial/src/{tutorial71.py => all/tutorial058.py} (100%) rename docs/tutorial/src/{tutorial72.py => all/tutorial059.py} (100%) rename docs/tutorial/src/{tutorial73.py => all/tutorial060.py} (100%) rename docs/tutorial/src/{tutorial74.py => all/tutorial061.py} (100%) rename docs/tutorial/src/{tutorial75.py => all/tutorial062.py} (100%) rename docs/tutorial/src/{tutorial76.py => all/tutorial063.py} (100%) rename docs/tutorial/src/{tutorial77.py => all/tutorial064.py} (100%) rename docs/tutorial/src/{tutorial78.py => all/tutorial065.py} (100%) rename docs/tutorial/src/{tutorial79.py => all/tutorial066.py} (100%) rename docs/tutorial/src/{tutorial10.py => body/tutorial001.py} (100%) rename docs/tutorial/src/{tutorial11.py => body/tutorial002.py} (100%) rename docs/tutorial/src/{tutorial12.py => body/tutorial003.py} (100%) rename docs/tutorial/src/{tutorial13.py => body/tutorial004.py} (100%) rename docs/tutorial/src/{tutorial01.py => first-steps/tutorial001.py} (100%) create mode 100644 docs/tutorial/src/first-steps/tutorial002.py create mode 100644 docs/tutorial/src/first-steps/tutorial003.py rename docs/tutorial/src/{tutorial02.py => path-params/tutorial001.py} (100%) rename docs/tutorial/src/{tutorial03.py => path-params/tutorial002.py} (100%) rename docs/tutorial/src/{tutorial04.py => path-params/tutorial003.py} (100%) rename docs/tutorial/src/{tutorial05.py => query-params/tutorial001.py} (100%) rename docs/tutorial/src/{tutorial06.py => query-params/tutorial002.py} (100%) rename docs/tutorial/src/{tutorial07.py => query-params/tutorial003.py} (100%) rename docs/tutorial/src/{tutorial08.py => query-params/tutorial004.py} (100%) create mode 100644 docs/tutorial/src/query-params/tutorial005.py delete mode 100644 docs/tutorial/src/tutorial09.py diff --git a/docs/img/tutorial/path-params/image01.png b/docs/img/tutorial/path-params/image01.png new file mode 100644 index 0000000000000000000000000000000000000000..b5187c6c0fc026945b19236df7ac5b743684c431 GIT binary patch literal 79109 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 z z=e)gvfrhOf*P^U%0BGBso_H$XB{RqIsi>CIRE9;I$jcfEAzRqbi%^ox1mI3Gj6hlt zPnVT+W*e~ahiObZq`AZ>Bvxs2sdM=>u-+x}e4P#q>1Jd*D}5l-w;;opzyv;_fbeKY z>W3`Wa*|NsVkTtY2sDY_<>55JAXf$3SQqy16C?r-*nvJ~+w3?4N#Hbl0i0|Sq|bv( zbs-yGhol~Ou*)6sm%&$vMpjWf>Uu-KH*c?c`WJ6@r^k{`Xfulmf-yYpx)lZ=75#Ff z2y#GBfL7fYQS=yJ-Hh5*(DD@{kzVHfa=?)|T0HLgu%6oHpJ}WTp2Hm#n%_0hc!>OJ zB@U~ci>b7piokFex5bZY!QbdfBo|Uqzmz#Zv`2hUi*YSdQ}EVYTBEN z#i85f$)TyVnC2b?$F-Me4WG%53r(CX$fEUZ@vBnn{@{6pDMruGhCn zb?v7%%VEB{OGiVp-|El8r<^vJ=L<@t6EnD_u+^f!R|Y@7**})ePcs4n8ooFQY z&KL~wKWLXv{YY~^%YJ{NYhAYIN^t(@70nTNqup3g9A;;`32;10j9&ZzJK2WSUk;c4 z90ng5ceNE(8bj3E^c)L}zC8$Adu}@(ng#}#;v>5EKX+a3PG&HW^YFp6fcsJeUTl`! z?6#+bv5h9Kc+!`+xF&PmmnXHB0=L8xJE(($Z#s2Q7Z!|0B;-a0Uy`-K+`7xhlAcXX zwO0MzFV*rZ<@-v@%2?l1?4^+RDq2#BCmaAV2D0q6j$7-yZ__%b6>z@>WSP)PNg0Jy zR|UQd^P7p0qiw%m@vD9JAlfanpUJOw)&%fSYc+kEoE$MO+F4cX$EI;LBuPHF%$Mx* z-I->Nu39(Y%Qsi0zX1706KL*Elu1VfMEZ#NZ715-eZuKeyv_J0f6-|wH4hJ$nrUHG z1-#wC&uBeSRuIZ#oTFF`r^EuR^>9EoDp>d(Jq3-Nq4VcJDGe7yT?j z+eEnc zSHPPCGpu(sh7xKRiG|d!`eib0VOiaz?p^H#_+Ig5kZYa|mo}{Rw-(_+`qyRSlKwaL z-ZCuCC)g835?qpC!3i4NT?P^)xVw9BcMlfa-QC^Y-GaLe4uiY1B;83iHQi-;1u*(mmV=kBO4)DPCz5Y{oZ}DT9z2_MgF8lpm zDAHdVlBoZFB=o=K=_rtdDe9wcVU*|QPcgpUo=}ZaICV;)Kgo}Gv>1kW-P}hyR`W_o zqHhtZjc?%qqaj;}Hq^uAcK_)i4PHn&&KN7J=5W!KR(oM~E zG^-tst~H0%jK#f`xj(6@PSWdglom~_uqd@GYvW8)cuV4YTw`m}N}3H+VA$@=-QGT| z&c!KL)`R5>XF($835>)bU_W6FCD~_#q+QHZ4UbHYtC$r0M={cbuJ6dZZ4}N<*I=7Z zjXvdNOXzj>hA-KaZQn(KWR;GcNAVc2J=ZoWn%iiy?{0T&MuE%$$7zF|t30E-1ytHGLrN|!inB<>tJrD)T_)d!E}wkK)9U#yftU_nKdf>>Oa7pO@* zFev{U)+If9_aFs(R+tlkP-wjtvoqPUpy;5M%bYKCWtfodw^giO0g*p;hE`O!%n~1y zB>aO--bKCV`094wpgsD)S#H@J87-h)JN9qJR8FuWISAuq!2i6THf5mlEd1hOp!rA8B*#RfBm zno@^9ROgD!pci@oo8A~u=WF|ZR8G2gwTC%&Tt1Hz0PU&zILw#^eCiEfszipA`4k#p ztAU2k>%dlXt$T}@)6Ngl{OM@HAo>%Y@xr)o@IdyQv1A-+7cHQ;>D^)SzEIu0cuCB& zHKE@MV#dLe-NDlaoS}^5x)^5Da9&@H&fb>tD1&5UXBAXF`h-w#%VF{YR(I=I%Aa|f zq8vTW&AhkRQ*M{3F~U#lv|ZUQFa@LdG`weUQ~-;VQm=ar=bPmw2jn4&FX+Q*$n6Kp zjP^GYQ3J$VTU)4TXp`rUVtx+dCAN@BI8J1FPnV2^>gTL@fciqk*UJd*{3i$wF7|lI1|z zhKNz~)+eMue0RJu@ayYkSrszjJx z^WD5&rQvgvQ*j&7-`&Z^N+tY1hPX`P0u{HC0zWUvwRT<0R=87xX3Vk=R5fVHDb_I@ zv0vMBwy2Y8ywz+S5k&^{G!=<>=`)Slv6IEm{ZS6K*v%TkT^K=e`X~Q>>oru`vL58wsVUX@2=CW ztjSS?+=eHNYX*h}wI(rSBgH>`{A=4<14bksh zWQ$AiI@y~bahKueJ?7#stICtWC{}9iky2D9S$^M3EA0CtvC||Xr0y+k)O8Yi)0vc;&aLX zW0YyMSw5&bM&VQi>CMJw`+CstzL;*vZ10c>vlt0>9j2PpTskR|yVMz8S9{8fD!zwm zm@>JUwyA}fDc93~zvV>zyayP#0xX@5z4H;@Tw+_efVtE=;!#G1FJ=$a8h!^~ zOm&Evtp+bB)*hdzk<(+&RK6_hR30pxA682tE)rO@a7zDsZ$@q5=4oN_Szx&1-7Hyr z$&(I!4;VZdquHHH^VLEhYPW;#i}SA3^qswjH&Yt2G6?sjL+UJQo@ z$z;`l2>j<&xz^>0k+CL`UeE-wE?$;ku#Q0`Qi*fQm%L<8;}I-rZm6UcHy{60w#dnVbmgIw;+E5;ks7n-TN~vFpTrl+fn|5`4hHD5 zm+885vpedqD(qG!@;F>XmoE^N2+KpQCJr7xq&U`8_`RIfKXu$I+Air^Nn#5%9SOEW z)-{^Ck}3{Sm2vN^Is8)Xa<4l3?L?`jrXV*5a(%>T(zAEq40l7i-I!S!bg}lj$#G@w zDSh&MMy+D%t4JZgD_io96WH)ZHe79h9fTlw*mqKtPh|Pz&n7qWR94gJh%R6B)O<|* zU=9AZ33ou)-~MLdyzcLPDu?Sak6^M`4(t8BruQZ8*c*u7=L;yNRcG(?SHF2*;ViVn zOT6w%9`9GDk=SzhRFN16|DNrl>L7W&z9)0=|JNs_|EJmi7n-fN-EqQv?WDU9`}QiI zFq}>f0nd%PaZ6`;;D2G#4*DDL6M64>%tzx>W0PXIF5-qgat-mnhMV_etm&=IPBI(n zy&W{IkDjmM-~9g2$l|$zW5@gH4f%L6=l6dVfIyqUsQHc@BF*lVo9eEEgF}*S^1pXK z$^GZXng27Ip_K(g$H=gS4ml$ltb1fP=n?vJlyF$?3+z}~S0RkGzP_XT&*|IdFP*gI zf(Wd4(Xo|BLk(g{42dpf(X&R(?MN68@0Q#~ zAudv;gfs-1+Z!~-8SYmAPOker{Jt(MV>6rbBTlgPNk2Iito3)-h2wg|Ar_ff_hE1E zH2taSo?@D?sAXG=P{1(+&8`&68X2zl>)@jgGcO6F`0aV$(QKZAEDZZEtW~aCqE+1| zW2eHNM|-?i^w`5Iov9pF?r<#3j5`M~)VdLOYzZ9Bu+^UL^Wt&A3JQ{-tquTApQSbBeVFWv?y!cCbBVT3t64N*%Yk4Ym(NkKOaEZCgGVG`r&OJUKy_%r}QH5j-8e z!&6g9!^^YPsf%PDcE2m*Vk-MVpf-5obYl)yT0(0H=bchF}7lj|5bt5o-eb6guxb6Wz>9*^kG z4p0M};tCeC1qRK~=o&eFYnCuU;&}L$Xy~Bd_Sjg-kk99BdCnu_b!msR-T34`PUsUW z3fSl-%cD0Q7So}Qi97* zW}{KoCYvK{!(q!7y)pW|<0{N$^_SMQ*{6KxltejL?We#PQzfPLgOE=>h)GpK8VFy$ z8F6ph59c*qQ7=fId@G6CosyKdvEDWXt@M3((knc4fHq zoW$rScT1e-FDw53KTY=hG0Oy5THzmneC&cKb)LA0-V2dLh z3v&&~VQH23_9mqHGoO9wzIQtzbMq##u4qj`%O=p9;OS~44is$|(BA}rA%HaHTmYMDh5|2TjxR&G^4oObABIUa5E>FKyQPT)^<*q7UGtsjJzbYn&yZAP15Y} z3fKf@Y0ig>no-7p!Hwi{DG!7mt_~z%@>nx@&M+j{>D#F#->VEM?L|$qeY&>|bz)G< zEsw0N!*)mP9F}{+t~G)EE(&w6aPO^tZr4XJXOJgXOK`c11jsTm+D z6^8YlpSH&&mD|E4RgN2Dizy%F{PeP)m*|9!^i}8b?iJm^qqfS35%< zwYskWEHLw?)H+@J*Uu^%u6RWYtgdLGG+o=iA$FbBu082%+|*RA;8g(5Ml{y>?W}Cp zZT5=v!yynp|9)?^;UTxK-@@%9WaFW@`2b-r4S6P26Sd0>td9CK5TV_NNa_*O%~*Y)S~rM9i*h;1z! zSQJozp?<|Qt#_DH<}L`{H22iFAHcPDsv62X-g;}^g$o_K#EAzW6taT8wFS{+?$`qh z(z{MC#GifqHRJmRFF0&>-7xE_N8hB+=dfC7uB&@{oc z|AxuV&QAORR;L0Nkf8tX9M*nKb|(6_<{7CYOmY17i(iXf2IMOMul8m;|KDm3|DT$* zIXA<3w^tGTxGmLTRV@b}h#1f7bHaY=mi(@_2=tC0ZaXOGUiB07!7Iq;JcS8P1^)BP{6LfFFyrUfsm=dCuHe6E_6T!+)Ed4K#u@U2 zAH(_a&w_p$!fT2|2?YtHu_`>Kk4ermr2*=D64l)`P*7e-^&qcyZuu0wH}ToGT*gKBZC6f8!+%Whye zA@i|$_l;up6NQXvZ{l+Q$xg(ObPQ6IS+I1zZ_K9o*x?EORmt&)8-cSSfK2XpGV>F7 zttCzyU;~_Ia6SyA(H#4=4d~K9fs4G;9nCCfA>9KWMKLt%uFqXwlXbjRdCx-t_!*^M z_WqtJw8D7+!XVf^lroP-Yb}j7OEeZ-^iIB-Etm&-I_G4F-Suk4rP;EJDR;@0)_Y;+ z;6&Y@k0`YHK*WB`=%EEj0TXw&GWpffwycP)#Z7$>RGW8H@|CIY5EJod*G!Z35A@O2Tt~v&DregPHB4SQ)+#pEMh(7f_#h!F@d2BQw z8&s52Ntj2q?9s2uNSGxap^>_I{|7TEVLv-sz+7`bAu%dgq;u7QyCgf&LpB{sa7aCj z!!O-;W4pE%`;@y=I;*+Dx-CqlZ>B-+U5b5LzGpJLV@#9Xi51Ofyjd}0EVI_Y>L2(T zYbA9&iW=gYwCB6GY1j0V^KN=O#imT>yL)6Ztwq*3h9UiWB%37C0>gRX|41IC@I+YM zK?P-lWjDkbjk`}?Xu&|{Jv5!xh00a^9aLked$b{GSvo--rjUj!dt7bVDI!2}6j%Vx zdODG)g5%zYt2WNC8Kmv8F|J6;U~vgWQCT?Y_#DOV(Joyr!L~9%n<2wmODi^p0jLWp#DfTh~x}YWw>r$cD*`)ve@|~g`*prHAxdXV*0o$iZ z_*!ZefDDn85!FG-vK_e9MjQ4W|m2G_M^E&y%JBMo+c$c_WC?t_gQy(0ps z)|^$Xw{2C8e=&$QSJ9hzNE5R&oR)&?cLjmA^r4y7wLZ@l@L`DInSqfaF*L9)*V=F8sf*Aq_{fOIHIA@0FxkNaS8 zq_T^k{Ak9qKzIe|cf3}QcTCS=?x?x)S<=#7l0hdkg5eM8IX2x(hc6^ z*h}(V1xoSy#X6RF(ki;CnsryBQM}# zWo5yYrW-LN)qVv8Thc0sH>AeFp))uML_*ezwZeVQ)0%7HVzk1Qm#B~63@e7_?N}cH zXd2XVczTB|1QiO|*Ob?0h=@F${Soam0+IHTky(qc##PJKR&XM`PxG;rHdXoIt}4fUC5ys z^!KD^`KhWB($bg#6GmLq_qM4JKPs&mCSn-?Ewqm`+=K(&@o2739kW2JmW^6wAaCRP_eA}nH+>c=dKWpj*As}g$RPmNdmAhIUifkvp$;1 zU1^F2n&5WZDLULQmU7mgVG%l8Qv>2P%3Lby4Bw>>{H({H%6x<N#`uwg*DzI(8Qo!lv^{^*@PSyxw4H`L{O!;L`WruJnJ%Bm`j4T>?lV-J&f&y)!V+5ConD^l z`ybhaIbDlgaSbS-H$2?asY|4j-W7S(l!Gy{{pjz9nkv)jFs}n{Z52|AZE`IkyLC;F z1SwsN%Hd%Gf*^C;FB)@@fsPZ|HoC5deM)UtFzkK0H`e<$Vj7O`J}8{tq$f4px8VP* zT0B84^%*G#9-4Kv>AGMwvdv%L_PI8>L8d)gU|D!Hdj$tA;X{%Q!1JsX9jeA(?io}f z021pEdTs4`rVZAxT2hXY@$)u|^$#u^e=&CB+B~Y|y0t~MXg2p5`UlZ1s*9^8byEH= z+~|==*j9^>^uXp&bJ4-+Om9&_{>-#DEMlNp2`}y!rn5d|aWd{7wJSgHqrn8b>9Rs{ zv$CF0RU@WB!1~^8dH#Og_(NXU#NrQ>?5tA8HFb@oxmW$|bw7%6%aZr+&u#o^jm zFJjZ}+7|oV;!U|n$CsI%w^kbN9i-cV1Ail9+GKU4|V%I~b8O$di+XinV-J$2Z+zw8G-{l~2RiEC+@;pLdk0mPX zt3(}TnG-!omdpo*IxO*awJ^?K0{eU#mkvNNdx6580Z)s&G3vpzOyy>;9<&sd@(J+Zijyn8mzZ^{=~ zw8N{yiId)i%N83*y6?w45+rI)s}iQ?QACB|l2)9;!dL~Ol=Rjy7os&B!q!7c1U0k$lR4SBc+=QBw zm(;+n4(4sfhnP%e5Iko}7E=?@Rme66k;?e_-G?NB@^nF2oF@@L9holD0Yt2~AJdVHRU*(LQNd74ZiWd7vfnJ-JqiXz9Bleqb&WXrB z^*|}8{!;i|K~$T(`NKc;QsG2_F+cyQDy#HbH1zi;yHm#TKS}}=<0wU6A!KVH@V9_C zet~;SBSoijF~`8a5SK1kO#ja!_}?`qg&1Cbn!Lls+6r4BVdRG>ataD5zTf?y__(;5 zVUS>T)_#4eHlGxH`#xgm3w0U)X61aP5hJanQ)>L~_qTsYJo5?&yzS-}IzNlvd3jg` zM@Sgw`@&*_X)KLKG2w4QyH)DGn^D3r%%YCPKjJVDJU1~HpSStZJ5=X}YN8p} zwuI0ha?hVlOIVjzne3sjH->7dH7&@UmPvG%H#LkO!@#p;e4zNIv08?a|ySUCe+02M{hJT_~f9h zF(lR({I{d@cn3O#Z9Q~Yk_>tJ<~Wb^ZqhkFGCHubgR!y2CQIa`bI5VFjD$oT>-J}z z&#Ov(Ia8dxJwB|X)B6>I(0Gc6=M3VEL`eA>u?h-AC`*=CwVBOs+Otw%9FNMYBrit) zMi6ezmYP|9=aVuWPEl<1?#PP1JEAvZ>O&`%Q1a0im=|Mk!eLG&Ma-ypmHPLYLUqH)C?I_Z>Cpb1tG~8&B+Q?Q6#v^a3oDc1dk8gfrs!n0^ZC>9wAk5)a1+vDb zZYBa}KbUf`C8+8uHP1oPuTKmDWua0EuLuSQUpT|X*v+{T74?Kwhl#jp2|JVUU!T_!3oK7uwx zJSrsOn&m#&JQm<@hwzaKpOU;0dZQgKtYeKQxU=Y(ElRxvK896u%8EOOyETM6a*->o zMQW1j9yn_T>3F%XBJuz7hWn7{F#Zl{}Mi{2KDx)L8{axce|BZBIEaJOu=jz169*BR=HIJfG zr~fNUC?*OJ6#|C-!mZV~zaWP0a*9JlN!iQsB1n~r>UC-s$6x~)91aK;+Q?IWc-($W zwr2BEfqJcH%Ir4e{7h)9h+~|q2Spz5i)&l z3+3vF`gsueyt*;d`hEn82zZd{;3f#cnIh)yLXhiz%i_N0KZ%2G_?6#Du~W5SqD|McsdVK5ZBt%KjjSL-cGBa^+Z?O=N7aXg$SCf!NF z+il?rAA~Iys)yb4N9l(_AbGf;L}c{NuGjfO_`}mQG<#E)BooPe4yH~2oqDKiN3olL zk`3$m#K<+Hz9?3Yr*vdTD7CPjLYZi~L{|T?LCXi^!NWBJ`%TnHz@ybs{L{H@-un)5 zn>1bi7=@+lO}Z6l7pO3r!M=Qjq*z^2hFU8pkKM}cI)<&(>jaJstD{khE|O{zRxZ0^ z_En9~gmM1k>6}^SM_>CaJ-9?Fg;yRC8CRbIA0^JyZmi(T^8Mr8Ey#YTA@(ni2Gwzm z?Ze}Ujxt}LPS@MlgU6pzHM-$UhH=swt9Cd@Y!0BufJ58+rzFoEQa$OtZL%4()qe3x z`T;WQ6{rl}&L13S`p72pMOQUylrD^x_M~7%_K|fbxShmO>;Yfl#Fikiew{rHh#jaM zVt}gSg>gix-hDvly^U8PJAp&YWI(DV%abL~N1B$f7?X+Y&k%F?(e*$#{1GV!GcOKO zXqskeK_B*d_%^b>z`Nmb^s$*)my5MUug~@}(|ChM%&C~RBX{&=65VNn0|Oawb4X9E ztiZbY@f$a>sVOPD_G}~5G~3hhxs)fmL@vG>J zXYXFGxowDOxiIo;s{(Z{qQ2OohHvn()bj87 zpTMC?YOAt!Kdr22D3vHs#fq-JrzK;>@Z@&6QoCRnNo0mhw*%E0=K9XSHZZ7a1oX$W z3r>2q80m@Yj&BZ#N!miNP$*t!=1&m=n&FW(XHnxqg5oQv%iJ)wOg;+6`207*Wr(Cgk18+@V{AubswZ%v}06cp| z(#=6sO*eW%yrWDN2+YqefVh8Am`?#tb;qN#(C2I%m5Z>EPDcxa@NvmjEJLGx?3aSsO5+0eM0|#jw zC0-r)K|^U+{%k@9L}Z9Z3NPuHBB2$DG-vnvbpkSOY|gdCLfS582ZE_s|4HU#Ja3nY zJR`FMsCdT@EY5KF+{}?)K=(PdqW9w^*y3D67Eb1ht3wyF_&Zmjb_JXJBGcO`yIA{3 zb1?N*4EQ`AWGRqppKXi8??L!$Jxz;iaB{6yg!p0ylJKfD1!Ur`Sj>5+dv@E*ExxlF zZa%Gi`q{Vu-xdQK6{whJw|40q(h;Jr@9!~xVB1^c@=PJ0_LVPMH8QU)0J-;YrGvPj z<4c?wiX9ZcnB5v0Ynx5{aGqnYc4?BHwUv=+Vt2!LOg_bR1^(zWB3euAK-gdQR_$AP;*2o;Cl{c{?!7jD?P2F7 za!9&wkXO|nbu;rLCZ4e-hQ%?j3ev}cAYJFRFg}fM(53iGQK?@owyuyO_*qPZcbcGo zb@a3|6;2qP1vNX1Vi#`ehnrugYlBGTYLeQV{#lN^SVcmaPnZTY*gLek4krYOb)d1V zLuadDs_T#yfO8 zn6$cph0P9pFL;fIXf?z=ygz2Z_^gF)Z(6?&X3BIh@7q|)ZmRjjUe(4uD4d6uRN`t% zQ5U7^^ay<8+`^sGH*|G&^i}p|+ZMhsvnX+LVu;}W7oH3vWr>RKhCyy6C&#rdi7As2 zmS0lBpqCpNZKX5I0!v6cA`H&s2hFgnUJ}N{nrD|VR(Gm)-CrmVc`;;w*1L}zZK7l? z^WR#XOOZcCfJd7Zd}-5Umzc~KNrGZ-7c<6;3L(0`YB29JQ zm7j@a(p_45W=J=8Gj4MIYQ1qc1<8QkJnVKZ+F-X0zqBsHizkKpD-yiK^^-G6nj2kQ zNdiec3$|c^FyCgmCO6sB$Lx%mR|u-eQPcb(0R}$`Lwec4LRvU*34c zrVg6mSb|*FolnqRN0&}}k-YK^Fnd$mKx4^r%rQm$GNQu^tzG?jc0FyGnO2NhM|QU6 z?|2}ap{92#IPA$3)f4F!82jMz&Ro4eV&IkQPNeVV5JbWZEhDKiqa=Pv5}Bu6fol%C zgphI0a4mlr8r?8BX9VUZ?2 zzv?W$E}dlVWli21_k6MEp7r0KV~>ds)i!wAw_0c+GQvHAxK}(MPgSEct#5!Z+UsUL z?yv(#kDR6ER9D0{FNNC7i`uH5$d_j`H{dFo;g^*vU;(;Ab>nGi76dQ@yz5bV-i^oY z0B+;ajwSS@s4?2@J8U9z*8V{MO-;TRke;oxlFVhs29K+BV1%P|$5X{wt1A-q)9He^BoVOTqcS_A~iprkb!CU+KU1bUHOAG}ENP|R+sroL-rJ@zD%}c<$g>S{gvp2L zjivc)_7F2DfdJTSOwt^24r@C!`1w@}GNLmD3fXqAuLEGHb;tZJwBDPCE^Pbgqv}AO z@J4TS%p5k(m{~&ed+;;x*#~toe0IO%g}My&v8Sb9jnsAg%z8b+Q}C%Mh#a(kT>9hm z-J~F(n7_D* zvO5h*6gc26FkNoQiGWXMnQ!Ep107Si22)c8^w`AUP-MR`iUlTKXb*==OfgseoNox) zbVZTb7<(h7l_gySLy@$HGZ$gI%_eGA^Znf#lD#B^s)KgtE}mfx0jGKp1)m)B@Phc> z?4xlbGu+)sMe1N*Q)N^&Yb*q#e~VC<_xmsBF!)sVoc5e+nknBH7RGf~YVC!gZpMLW@M|o`%*=+ag^Z`# z#rDWZRbh@mQbpq}eXX7p=~6(qA;^)OYjPL><2Xa*Yt(TegO~gkF`%crtpH zy{Q-TJ`ET->M&WsMvK{I#8i0$fM3_jaPxqD%!tOk!c<9tDs)E`gW(uMienO6RZL_gMHp4(eMAU{ z^nn;Ia|4Sti5M%%J$FkCYMjqYB~{(|!XT)p@S2E{Q;Fo#PfVcYG;BXj59eq2Z%WKb zvn&Q$@!MsoQA}Ueq5fdoY-o>tBHx-4a4=#t zOMUZJKI1caOw{NQMt`)kJV|{cE6r^}TYkrFXjQh1Vd||d&T=MTGq*u5c+Q2n&KQ|2h?dQSE_*spxwA=VDXU7(&Qxjt=`uv<)#IJ1ZT)}-)mAxaN$p{ zt~!ltbSl*DLLJ!~wmhO&s|?2kXeW!68NpQQ%v}srzNftVEu4Wx2Xa_ed82?aF-ej= zh@lsYl-;}aFsKIYGyuDqVi*eiOiW3WT6{iCIVeFybN^sMMcq%#OmpslpY`&Hr1Ye6 zc4iCW-lcV8_(dM%ds88C98kXu(q7M}hX+Rktf`Q!Cu9d2cthL|lmEnQ`(q@32XG&9 z+nbeIRc!-_utN(!zQ)Iue}{P^R^=*>MOT*phQs@}@+`1X|K|eQ{rVfgy@J0H%9Nk| z$C)Q0{4_}_US9viR|9@N(7^o;4r8)8mIo5Nyd-nXo{+FD=ua4U!S4Im4H=mXfDi&1 znHKFe`rX^r6?FIheXxf$;UP!0BHv5r^1?TS*6cOrlYTR13;FL}xv`d>I{RN6ss9g? zsQklsLhj2H$-VQ_&WHKa7x>aQVrV_@*C5k~jXVG583V$`@Yww1D;0_tD%Jy!s4_9J zv6W2DZ?kG!;K^j$fl^ldG^|O84-g5{PwscqhrU5U@VQ15?H^uQ(EYs{(kd#0>tBa3 zFMCid2{k%m`d52^o+zimYImQju3Wzv85J16jyF-|r8&u^>@{ywS4WGgA=s}5cgkEl zr(i*OA~}MHp#xq6Cgd^?UqpJ&c(?B)bxc^HO*s!1%EoSg<_s<3Pk%)P1-~w!=K&K~ zu03Afn#iWbM85GGS0v1Xn|1LgdzkS*IgZ$4Nc91s zbt76)+Uu?Q=&V=Rd>iCRG(%TUl}S#g?i!6xq*#*kK3gB~z5i-~o;)l+zx#Iaa;g@sXAr z>QxBZqFxw`sA4mz)w)TceyY6OI+`17mHF;?_na#oMMGqfIi%UVnj^B4<5jay4pTruxTAL{1kl`k{6 zVk9WY4_~k+EvCMi2c2}#O)9Y&a9QL`?X+Svh2PA$&SY=vBARsN!(OMb`}uT{qhdd) zp>016>C(afROj-qYn>A}HTaaHvDHUsAm)J85L@>&xWJai3V2NAE|^DcxRY)=WnSVk zc&GkARloVv-VL;EKR!bZ6XKd5;2!($-^gEmCYAFC2?|yj<>gnx`j7}D-Gbv?1 zez0407qygncey_;Tk%J}0`ur!rhR=SJ@EQ`R2ILSVLT<*VRcCNkTR+U$cUGGOVk6# zqIwHrq0(>NVdlE{^-e{3a{d_zYHlujSMG&KWx$Z;W*^;Kw>qMW`-42>DK$^?KCnAz z4qA0VFqOLnIiw7`qx_r0`mB4qdYKt1G+XN~ZmLR6+|&uk@#2Yxi85d-NzvfM%9)(m z8Bv$_CpM`<=l$wH(Ib(2g}ceNLaNJ!I1fNhEM%n%bFvI`I@HW?v>W4=paHcUXuxbq zE@}Y0u&}ZZ(9v2JLG3eLzrCJ~g499}M~w@ZEP~PoZ)+}5t#$AAFnDf{NIY!V>1e`S zY^5+V0caiEyO2ZSs2ZG|1P$G=lwlqEhiK`Ucret`=sZMK%^R_HO#2m0r=OiNH#gs) zDyq*$UB!s9wVukRK2eBc?30x1^uYNcVRq)Fx!(mjy?l{-Lm}yH4aQJJ|JJGp%KWXE zpK@xUBGnCM#CDIMi7a`#m_)SmONT0DdvyZA zVI8J8fs|k@Kg`>rJ{?l%8UY7Z%xF(~o=RLj3RyGoFjjo0&?x6rOxHOsXi}R>c>Lz0 z!wW=}k0ZZ+AO*K;I%)TwmCBNbPP|u!S!(hs!Cs$pE{;!Hv`beXnWqx3URy4tY)M*3 zzu9d7JsXf<2Z{%;T%XmNsT-N$?eL1wH+TW3xX0L3$f6k8j65a1?bRl$-p9C9XGoW!ut6FF&9_gMJ4dpy z@R(XGxKI|Hyyg@3`|yDcyW+$1%)u-p5@q@Q{-t4n{*h_*&zIkHhZZ^KTWC|)LB_z+ zqD$J#HE-lfn;i+kFg$T{bDAu{5Qw#9hgJQDo70Qq)ih{)S1I2=`@YB97i%G-9piMr zo>H9>2DtOtduyL8L8jDhOq;%0Jd5^b`o$0bl`F{0+&uD?*g!Ab#3#0_?Z7o7cTODNA^f3NN_V!HSn(7RJeB4OOvZf{^2Fl>rP!DZQmIOJvcn1)GBlFm zZOQaeeLRtExGh^vv%bP4hheUt&vfr1*B4tgiUz@7dxv-LF;!qaW!egFlo6@yp&L9& zj@eGxNmoWpP^?o+9MPWjb%w34ucvc3Qu9N`ADyevB_}7( zsIQM7h$5S8^YGXnO$qAB?4A4z(O!%=MR8}D!CChN_Z*S)`Ebi}eo9@y&T~^VE{0OC zm-mNuP_Yq|2bUIkL%XGfpHp;#ERWW-ux29Qf(?1<8aP*Mm{3`CB8lhZbSA&=d^9Bj zcwC)cJ5ZkK&LZXzH)e(5I$k)iD+NyPb+|TcySUHUg?EiF-rTjbC>*q<(c+!At)<4# zjow={T&St3#j{%Aef3Au@AQEM`@Nt}=i9*b^-PH0en)?s-;*gNA)3Mj@C^=>+|fc3 zlASjU!+Af~7>J?=cN2zGipR2{3+&o>`h+~qM>|zd)mGzHoR&7in_NG-;SNRRvCiD9 z)aQ+SPrGnuMf4;{MDJEMs{Z;Ec`iDc*VF*h{ul=8`a5rm7AsDkyQGu>Q9U0uLUK1w z=<{v;bx)K9ucOu>W1r=xywIFTW4TNTt(fys2ZNk5-9TT1F2S>lAz5X%YuHQ*<r$DYZ#u-$1vF}2_T`7^j4akluGWJ zqW)|VLp&HoZwO_i-@Z|VWMDsi#BkkGh@sZRY2P+kOTZgR91-UKxHS;EGjQ1aB!dPu zHL5i|$Uk_pv2Ox8mxU+w43^Z;RWUayJW%SnV~BeAS$k2ali|8~t%tQ9_x z@fQC~cwl%p-ySU^bqS=G(Cqmh zkT9?l+D270Y_&K-O~t&lbO*Oy{f}8%{hdvb-FbG*o(!F+kf(BS-OTR6%HzP*JLMHp zpn*PiCa~Dgww!Y;7u346T^n|L&T2D7?HTL9-JK0H#t5QE1T-R=d_9U2y?yB8a>a5m z9Mo+oaDRWlmT!kRCe{#w$9z8j2;?$2qRzBG=5%s!ReV@Zv|QXRGCGJFYefcZM@80h zJ#;Q#lpbyLp#P~isvwvR$?Zf>+{ROk_WWB$Y{ zGx>@RsrHn9*41Gs6kS%j-bzZC(}1~LsXd%)RvB!iNvr;Y|Lk6HRYPPnj?z$4&~=1` zXINPt+^ZY=?6}YJnb7(zIY)H>EplonmLu8*6q7XH-^3ru-+46nMfJts%U^rm{Q(QVaiW^FpLTTJ(Mcg(dp)8odpKrE=g$X3Bt1b!^Da3sLRZkk z!_%u{p3bDz^ivHT9Row-JJSy`cgL6)RPY_mCM%HejP+hJs;Q#B{uPtSWc)@pqN6$$ zT2=GA_;|iuK&=VjtyDN{js%*}rnODQ4@LP@BTJ$Y6P7N6D(#B=PqlwWp!S>J$h!j0 z$f6OyI!O{J){nf$;YV|a_AiKmUR+k-LqqVf&~eqvbckZjjzcw$sKO8D8Aj|hj{t`398L0(erY_hf-*$H<$Et`oWIBI{d?2vx4x1 z5Px9=Czkr4FMk+)_{BB6tAF68mQy>kr#t@+&YfgOa^iY^2&xCQAn!UJ3oYGY9P3`} zgWFy{;`gcggMPF^tb`dpKQM{^0g0KvQBK^k*Sy%KchB{C{_2J)9*O`rhNS`3_R8BV z7#meS1E1$(jbos<%}4b-{I5moYVY*pS=12d)QXi#FzSM9EV+Xii#{CHhCS;k?c!ft zSIb#ZFZ7}`N&d>Vb1+WJ>qrz$fT!^cnhw0AMJg*shon*{R(M>fpIC`|1y?DlUtXrf zN<4WW%gIcME|d0BatBbm|JCt+Mxt4+fC8N{MZ5?(*Ca-CMQ)SXFE7Sv@^7Pxmv^t2;4A#ALE{%~Y{rBNcgYA4vXzZ`J&`ljK{I%Y+GcuL4uFFy- zeBo(T1oy9~+6T29-g?F`R!=DoC;64wJp_|ud>;E+r<$(}c;MFHQAe+^=;d19@qO+mEEAI%d|d~2di0EotTwtg6Kl7nvVmg6=Iyatq=9o- z^z~m}$Pd~JSlTHX6pQw6c=SU|U8RNk3!T(2U$_yzYu#!^e=~-5TY>-ij)*sY4VHd_ zeCx>XR~fOwq8ri6N;m0E$dqj91*}*VFpcL%m)qetgp@zO+X7t!y{2e4g+$Bd1R&~` zm7143C9ir9&1Lj2+sZgUbLfGuLc*sx)Lz-0@{@Kc&R?%t>T(p`Zu`Wa`K8(|OKYqt zbfRJ!*m_(Yk$e`8i(cjEw08IW3#t7V>n?v4x!tFL8PtZ zo)}rlEncfe_+%D0Vop*&bhs;VaoP^E`tnKKh4*45H~SCI zYDS`5vbtUT95DjcBW+0MBeYXyf{FV*qnH)rReZQtMFG%PFjeYYwCOxn-KSJVgra$Q&e{a3VE zetylKggh=u+82~(OAoNWr+^O>6c{K@}g+_!MuU6%&;wqucv4zO`_MnTQd?-1!p z$VO-49BFhJm=ZQVSbQ#FsC~>kNNf-wm~91qL4njv)VOLC2(M0E9r_5iC`FRCZ&c6U zacLvLm3!&aMcW`~z4j$xD&cP={=z!@;kmWuCope1jo<{dy6ndX&S&loZ?>qSVuRFx zCjamYN_3gF1?``Wkfe8IL6j}{Ggv(|IWzlATKWKn7Jq3stFv>TDchRA09@q1 zt31)Uaoo+k+C%LH-wi7HaLWvQMkVOZx%p`R$F^5g5ch#n$=t=wX~3^HApzsQgzYR{ z*pL&SA5stR`9kzwe==od@P(B6@fBf@Nay+CP}Qt*yl*oSXV24hOXGLMWbRJ?^31U1 z3QXj~hr8~F-wJaNK96?0=QxZ(N6r5X>r+2Ht$&y<<855Kd*d{tt=Be} z>#gu8X}SVeNgv6@U-}>Nf*2fXQQSZIV!?Un{`D3~ssG~Sxo5W-8E_eVg*IQ$mPd9n z2{*2Mr?6c}j)&?3bW+GQe~1OZ;K5I>EzXOz=K*BvPFE!7)1pm~_Q40$>leVz&TVIf zURbKL>1n(3dC_=0J-tp2Is7~Au56?pUS;agC0T#r%mxa2jJk7Q>>M!c*mD~)X$jdd zdm+{hiv-8zQF_e5%DlTGq z-3inMxbe|d%WcI#30w@`UVT5&hdv!Q`0BCg{$=7=He~K*?E6Vij#9^hP<;FbLSJ_a z0s>x;&`=JqMzUR=BS&2~PJrJ8O$lpQaHr0bx2)O^cTRg$uJPmGZi#0DgvA%DktmeY zaL*tDgZ1E7c{~z%ygA;k-_`~&zH zWVEy+&Pf@4gZIq03LtA_!=gScILV|1-SG-Ftv;;i!Tl2|$vB@k=bGY7-?y>? zUp^Pn?|8ts1=!hzs4<_+iPSIBs=o~RP^r@_z{b!ZAJ&E#@t-a3{zBWpHy7Zu)QR~} zTOivS=D%U+ADSZn^9WSY|HmQm<7@t0s5WoA+#Ds+UkfD$) z_WLN>%@#ic!iG%qQ$R-2dZ{5jwU}Q)*0~|zpD$zbe*Azi`tj4lW8~`Xrq+9$I>_^?7_&pD3fp9BnY^iArc#p{^Z-mt-<&@*SP4mgaa=XZr$3@8}OfWw{fDZdOZudJ&v^EUN>g1_T^4IKz8eM8qbu~ zRQJ7Nc)3K((To$ldCc8jYqh)7HDE&Oe1Ws;PdFJ^@T47ssJuOSdq>#>?Dw zbtfQCFr#a}+}_>aoJtd1?PY58gtKBs-;-2Q5U%Va}5OAEy0&P1&L)U?) z6@)^hjZ0yh91?~wDhf@_22E4_UroPt-0w!=gxNdOWVZ^I6uQV%1!#;)JA+#Lp^2kOkBx71S7Bk{9t-0a~$a3tR>kI)M84z6u@VKPaxW zu9r_{*Dp}nno76=hR$62Lo}Ki8awJ6(t7U1QSb5AvYooJ`me8{S2+sSJ$B9N&(?Un z_1u`rbUgnn&YyxvKA)RC3^%#T$lgnXlYT`O2_RsHRERT+3_p-^E5Np}a=`A&zEso|)03lzbPcA~c2ev=hd*kf`9d;PyX8X;hvl{% zZw=o_DqqHd+|OUK^Zd^k)hp2FhckiU4gQ71iQd+#rCWM0=X&)YV#m_^lbSrMFdjOq z{+!ch%CYS_nf%pT#dXdXqbE0=y5eVLiWF23kXB80TCvjx#nl6(C<*L_*%WRIt4iU& z{KK`+R3sf&X#&VZ!SN73-W2pqs8#T*g>cX%_x;9Yhiz1>GynMLlkunBe=wawj*A%| z31N_F!BUP_w4)FjRRoj19~OVinT)#vIwXA{pPehC!7kuYp;{nEI6_BFv>aPAF(&To zqNLv)RE|P-L^!%9sx6(Lp487H?3u2xYKdr**?PNr6N!K>NZB3aHqu_Yy%1y%vUUOm zgc3i04O6GTjl)qo+dY3uCmo#99(kPfE{(K+e#dKW?y9Eip%-2WV?jZG_}+eSlBkM3 zAuy6E$1N?l`s)32E)4A{pK7s=JGq3R;C~q9V;yvo$NiDHCim0d5|iz}mAy zrLM>&k_wfqXCz3#&!K2@|L16z8#w!NtOd_T5OuY@~&?$SW!*hrnJWs|2-(=XG z+NWB+R#O|R7r{$f;OuHW0!wgdRQG|czLhg)?DG|*HdLqLdma$K$d!zd%cr&8f)RY) za}=X4{NBE~BTbEJoJvv@4T{gYN>hX)Qz_|eTG}UHk*Z&Nt9uS)rfFntzc@ll&sTjF z59V#Cz!e)_=BTJt#0>Mf^Kk+k%0V7-(c&RnN%5|<<&5_FwI|552j6c6EBG-Jds&}w z;(MIl@H=~8-2>sf8ufy%BcEY=%ZY8Oyu$W!J+dSu1jc^;B;1Y9d`!T%?ycT=GF0}u+(qv=4(sW`yPD9)7(0Px2hvl-nJfnl&?(%3`y<(>b{7J1* z&v8<3sID)iw)$-<2SfdCVN@_LuT_;jKqcFtTln3 z4tP{8rsCWK*mBq}i7{=*lpfK5K?G-}^SChRSaKHT6e|Jyw_cLC z8VYDt*G|q9)lCB+rApM2BSbU>9&|WE*|5D%prY1ny2f^V`Ps^Z==Lfoeb?Y#T-K?) zd=HMD&~pu@d&<8oON`ugrnGw|n_nc}F^p*qsT`77I&n-^ozH>m2TZ3jv~ zs;9qHLV-|L!`nKL610sa0z^P&Ojo<Y>LIWDa~kO~5EM3l)D<9TfoN*%8aJPHiNQldJNWT>oxJ>HwNi2KVma1TeA z_1~N}CznHWF$;i=u@?ii=fi~>_ID#sL}RE6EgUDbP>UVTs1_bxXNfXFpO;sG?8t8L zbtEoi8w7d>Km{C!E6o(Br&&i zvn2C)Z9ZOaw*;z`q+*a}W%tawZG1icVFO93WvyA0Rq(<=oY3?8VdYlSX(vxm*UMUK z`z-ATyP&tx>0LEc*^KM2ukwegndc3#^mgeGTJ`B|^tnH1EBCqfzqN5xN%t#$@3?`- zxx2(JvZ2YBo}A&?i{qU=P$gItJxQF{UjBj5cVKrg(^vlU2X+ z5+`}0AISaF3OymvgZ}ZJA?J}Ynl!Iq8!Y6mWHcjPreyWmei?Fs?d4+c!C7WlLA{#1 z3s#~*_WSi@%iWelnqHlb<|k^aY}ZvNpZzSBR0pl-gOz$%wR*FQ>E|<+Zf^ggzz_$c zPUo%+wB0!0>~CmeCR=Q=EP{<`l9ho6ZX+zt3RTkNF3@LPm*7sUquP!Xu6)@tNOE77 z3Lg6KT`)oyB1ld;u{`!O5tuAMNrk#2Hj@iVl2O2^Df#dzt4)a}1i9no>|zW>)oDB` zf%XS~Z!sz~2a9aN8+bdoG{{ry?tfEhVTLKnM4^3oXQ+yL^K5L+WUmy#npSk|CNh?i4ds=AtK8qG3LO?5D5_phLT6FmRgrpmYz#V2G4 z58J?P2|IAhBd{N+SvF0#Bu-)?{8qIA$AG9e%&_@+d!kRMhp(qg)b zaai~}Kcg;B5)NBboO3A@)z3r3;`sH1R{RP2Hla#6!8Bxiae;yO<> zH@#PE6*if0Nc3<-c0k99LV?S?iEXVOA$=8`(_ORz5Lc7d| zuaT+hCg36oTL|w7&YnF(G!lNOTcG5nby&W!8z&0aD7?|23gw70{Jz#^{r)9}axtYh zeN$tIU38eX4>(5f?W1HU^+n*o`!Or>d1IYo)H-X#VeI_PAt)sp{`<_;Wk%MR z6as@h&Q7mJDnTnwJKvT7QsP=~up!f|=a$;V?Ts~s@-47OF3+CFPUw!}$gK&2ZUX+p29%EYnAfvf(djV~ zHq2ga>7xTe$*117)WJ(rb(+49;mA;5XDFL6>*=mXi0&}$Du$L@xeOi0szAxaKFqsq zYd&MLq$nvj&|<-Wi<9Tt^ApHmU0r56(U3|$*E4P%r+m_SxQs?P_G9hL)sx;N6j6%{ zM6#9jHi3utBj10xATCAH!_^2pcE+rvDI!n$4f}DGQyKXH=^efa066v1L!0FTfmU10k_-iYSJF@veUqErd^iL%kxXU7zP1T|v8 zpJEl2A??0Y_)FME8+o<}O>QTWV1Hg`TP?&UM)T#2T=~GRjd?iA3H_mI(^0K9YaTkT zJuuTX2xPltFq}x&lTpG(o)*|+^~|$bySX&!orETL0x+mGq+*>1up={X8B5|iw(Ako z%`sCUTx?MOx#?=dH?uRv@F!_KG>U zf|fn+ktG!Mz@1g>C^g!RLx3}QRAofOjJJM9rex_3jqyw$hqcSp(sRjOn5KI%qMmOdJ4dlqo;ZTlqm2SGo9)Wye6qEbcs3??R)7?mKwe>fc1}duW{t4TTgkKP3lb=er(=s zI9mCgG>FY@!{8#{5v2p9@blxgQTQ9uL{)PN*z|6)7qsgV3_aZ={GI2A6ngAjB=ltW z#kVGFOEI$UqKegw)yoOCKeV|}j``Oi4*c)~(We!Tb+xsoYn(q#$HPN#Ii8)?2HjR9 z99I(BlFzC&$$Xo7>!&wdA=hnjuh+DsUbm2^p7%IiW3+1w*V+@u6#`;R?-|<}AbcKg zql08fE41`DTh8kWBkzD;WMpJ$7#S(4s8V}2$XVMohS*35z~l+J_uX_fS~FZqQHPCA zcC$7dkONgEt7MXoZwgE?pZ_*S40A}XHU%SkblVlTq|v&3OVa$ce0`#{vBoG$%5kJd z>H2tP@bQf}3|`GIvS5k;KVb9chfRe7;*(T!T3Wb`jBa13mD9DlyClAVT(1nu%v}2c2lh@RRx_Q$YF5bRmTZ74w6Thgok3+^zo;g^cl79t01K=zF zq$k8^MEFmN$^X5p6E@iJa7>W|^5IF>gzHFbeW_*h!})S^)VBwotf{2B!`^%qAG1H< zRN9bl{}Nh}nr1R`r?AL9SnkB@eRUuk*J&Uo$?t%Qf75iJlq9vn6($4rODx{o{Yd+wAzB=>Yv0y8(Wf( znyo>QhjTJ!f8x*&W?R{6YimD~qJ99m9^wpx9SIEzNl8h}fXrcjW=C>54SKGYgxkb` zCvWvC&56#})=XF;KT#>EaPfFhdhdF`+lvm{PyNL=na^SgKL{^~@v&L&TND(K>kwNI z$;jvo!ZUSG%v!LeU5;~I^8=|z`jegwQYt~iiV z^s<7oastoMmbnix2%OlX>k0%DtQwxB}q|L6;ikt`i3E_fyn2MaBO(u$EZd*PUC? z1lZ0-Jf2)qFFv+)ncaUgt_*(c><;31NXAXy1F!M_q?XNTC*Z?A`Ep$$S`+{zzRmt% zWI-HxuKFj@^JC&>GWkhS%LGZ5?*vKr3b4*h-q;tmVg134TrrezFGnhN!=qbfzRJXf z*q?HkgSu+w+)V)by*f|s+qw{M3^2{T*f%!5r*(l}@`sxhXdu!s@Pr5@?^ir6A3Sin zOFib^rGLRm8>mmzsOM2kRu`MtYf98n;i=2HV`|NLoKD2KZLX^DxbZ2nWhAe-32h)|3?6>ugvNp?1A_>jUcJ(5b$TbN2HmZ_+9R9$J% z-P2nwx3v;Q0FpZILX9OxR22s4#gxm6!zdDj1qu?t~Gd6 zU0rapwCALE2TY>R?z2Jm{=7W782T4j{ctzo^NsH>g1nVl3 zPiuC0t;aGS!t0>Z7;S_wwIns8a3NwY>(<&y1D-wp8ttdL&7*~ulb<*GC0;!riM)Ts zCCYC#F6ck@SXFo4;s$<1G+J$Ozyz(*kB~ZV8rI*0bH;IHlq=^b)F=k3elz$rXuv<1 zTCP!(;;ITQDlA`ls_P|!oPnCR1Z>TE`fVim>WCBH6b%E8LjG{<#9eAdVT2@Qa(dnF z?$^UkX(N>L1y-mN9_Q`V4FNFuBzq2zHM@|c9}^wVu)CthO&CxuIZk>28u;QT@@of* z93h@g-A2nA<>^gj-}Cj_XBsD*qNE~8N>vnMgt%d#=_{ebR9Slx#06mTF)vU$09#RJJ8Wnq2m;s0_i7+n-bPwsu*0gyD;fBl>OM z7AAW5-dZ?YbUTSZd^&izqr=u_OGya2k@a!LblR=X|0=9E;?ek0Rn@WuXEvVEFOH@6 zSzR3yOW&OYOo9IbvNsgD*zfg4*P;K@zY6cAlTs>YFJ+aoGC#kRsXo`VMeXnJNBQ6& z-imR`X<+NfcBq26JX@s}STJNX&1pwT_ou{Kz~9nYQXYaB%^*4nmj!a(*7T-G`P;dQ zm*VH;WrojTKSj1ZO-DZ}bMG$GahvVo$M>OOM*D^CNeGB@8vgD#ZJz&eKFRZ&*(%i} zsd0?AWwXj$1(%DMrY@kcoNWk>{A|@$O`D?(Ojv5}P&FDJMFoQrK5TgXSH>8O6ajAB zC7Dj?(t$mahZAi5Mpq#Epn9I`mAdo31G}GvT8uDxaxhMC614LEw2^rNR>|l3FUhd< zdXpJ0nTF=>YN~~Tl~(=2kRuCaB2dKGjF+No@J7bQ9-F~f+|SoDt%qgh)b#WPd3oP; zY+Hk0o*%D%!!x0v8*hWQNeHk(FkIOYo3k6jvY|Y?<^JMwF~vTVGnV~|-#eD8NhzBq zn)hTo33Y!1F0-kCu!j*=v2(zeWBSxI;@on1rn}xjTAuU3)rI* z%`X(<_(fTFS$aBxjQyL|nZ$zn>^b!pLG@f@q3k}cdaPQL17|^f?rdaC-GRpiwZ~zB zaFnMhixZzWyWRmjEJwg$4LYjsCj1VP_^`Yh4G+%>RIm>* zYY<`u`Zj{2Hb@l8pX&@#KmN9EpbA;_Xa;t`80!jO)Mn9Rzr_kM3Ana&|`+#R{_SC{IT{;p!$hp^!DGQcq;PL&jo>#?m*S(8AI&Nl5(NiNl z-+JfnwMwab9iR1-#w^Mw!;j)RZ!SWLpNlQ~ca_9UhZ%<@6*LTh9xy&-kl1QQYFs~x z9$`)4Gm<)HF_Q_G4+&vyc%j2|DZLq=HElR~vmj7KBoXBsCPfsp)z-3(uho_{wLJ}! zYBv!4AroThwO;;hl_=tt$h8j$5f0e6-;q>#GX-i(Aa9N#slnRbrv!TxVsOdj!zP!q z72vtpy+(P&M*n@eSu1V6l+o8oQ1DGe$C+o@^qZIT((tCf{`sL9R3PRf90+Q)=VJJ> zN0FSZ==#egjIzJhigEWybajr;EF$*ZfR z4hx>7{$=<++E{gh_`R7|b)}29*rzS0?v^i6J}?Uc5q@hdQTi^9X;)k2`~qCL(1W?X z=)GRb3@^kXdd}oFbi2&2{iz;>=ZaNbN8Z4>a4Nq;Y<-;+g)5QgeMOefn+Z}KmvaLG z1BVdQRld}(9owSN9MM!KoeM2zfx$b?#}mnJy1j83uaB4n=u0D)E_~D_N}&T%LhFOI zF9uaR^TrwILPrFr-FGZsV)R8@jEPRWYK3ToYmPitU+;YJ^=#46b3FXb%}kU}!e-p> zW6&*Re!+vv2~Yd}zuaBVRV7CQeaBEyLC?s$rwcX^?X&Hs<0C9SHUJKhoNb-#*$W(WL3p+jo+t+hJZ8tdna+P}g zENe|Kal;#emFp8zI%CG{vWyT(dSX6!!;_P?s0mL3Dgt2k#_*~m!^26i5vEI>uzqhc zCsO)O%vb8X!F2=ov>+xCk;2U($G*dLJiEnm)K_Ln*(k)?Hx7W&36fWB!$krPDv(^Q zLb&-fbgIgSFCrp>nt_G{EnJh_f~bqg*vJ?*Sd^TSGG4V7BLC~3s&}Gc38E9>i;J3Q zBgtf(oGE<;m+b*`y>u2E4~zv7;n5V>2xxH7;f?Qg?|)>0$l7Hv4_Y`19-d5V8upeL zNg$ntP#2M#pZ8rBhzwPNgsEp56XIl`;ayLC*TI{9cT!FN(e>qCF!}!(8vTFz>OjF{ zq9Pr{%inzAh|Pbi68uO3^|@&EcWTRdP$KrC-{j!;7qM1L*9+gZW?>T+gLY}=>r zG4;@Khv<~XyRg_3oD%hs~n7^_8=e;xMNO6}}}!V(((@%;?^{TxF# ziz2RJl0zt>n=q$t1zp6F{Pm*ldMo0DyUGQMk|AwaV+GpbOLCpDCaWp9jdWva)k5OrkMTUG2uh7tk*!!lY55RH5}eH&FovY9Op{Ej0w9n+@> zFX;CPN^D#x7CdR0la>9UWI2FLhFVpjZD>OL=`86{{k?$hPVwQ3;wjIILGPS+xe`FQ zuHOuev*gpOSAAe%wZKU4&%H$LEaCAgDuW`nt%=xLEkog0h<)i@5rCRuIp9|}# z_GHcEvs2h7N0xXr(&UH)`iHo7>poFe{R#5b(CeXz9z|728@cye8>F*%P_3BCFvj!V zFk=urP!)Jadr83Wjk(MHo6j^8CiIxg?=Fw`Tg6~^gQy6dBu0^0 zIC%;E;YY6`~=dD=Lf#iYA8-xC>)Q3frrk zt%uhG@-2(s*7nm;vd7L{XGo|Wp=4+JU{Nu zpWix<1zxUJH3|rxG)^Dx4jN=1GrV$ggm;-r)QIZ>7G9sR&rG?t#@cNG%j$gh-aEZf z8-x#Pjj<>{Tw*b;)3~kne1o)@9RwR=c!KWjm-zEJh*&R^U7TCIFedr$AQi4@0F@sN zOvS-mJ6;ixKYKdtjViDnR{5GRXo{^*+|U!;5G$k*_32gf4__hYC|n^E?#7!^=%0h8 zuP^!=CO_($Y(49`ulKhTni~MgRX!-LxE%4%Z+Xjh>C^tJ*Nymje;TNu=l z42^zQf%HV}qCX7=LcCOvi|l^j2VTct3E?Rjzj}GYL+7rBhnze*7?nddjRS!nw>guO z_|nK$Gzty_4!rSVYD{-!QwC>u(~NNy7oW&ay`RPPan>_aPTK4>*E9q0W~5%BIj)8o}>gY>q(Vdkx*mP1fy> z1Ij4}r<=`|giryoyb1CaGHG3vafMeJDuq^9hZ1@0T{wd-rDCKgVFi~DKbW(jU4MRo zl%{Pc@_YPj=F>V2uMa{!JELY1smFB^b4Q=Ew)Pi##JRtD*@)o~mNg^1?o_9m2gEU<$;Z-J|-K%lM ziNfXbX$9|YZy(6gXOlDOMV4c@dMUSqnaW`mQTgd57XW)~Jqn3ZZ}V|U_+rt|ahe-O zQI;Fb0k0W6*;nl$a$Cp2`KZ|a+cG9}Qf}XvxlQUJ{$r{L1i z(aC9OB3d!u`>Dz$xmua%-TH{MC-d-3qG1IE#G8un6W)K7J%b?HZPSze3Yzr`M&q4n?kL!(V#$2P z!5c$d^DQ9NyDr$PnHc}p@a67=H1Tw}9jNguUT@g-^R)5^Qy4V?>TLGt3f1UTz=!x= za8Gfjzu#xW>ehHi8|b}GD~2@<5`Ny*F<_xdlI{h^LM77fIJzk)xHQ?@O_0*!$D|&k zpyKie0uoD50_^V}1BX^xe9Xsbl?ojZdDkw%7C0l;oB~HvJf}dm0yuZfNo|o!*L;sY z5anwZJNPKmgqA6gN+sbV?m1ZBax-D*Jeo1l8S5iPY3LY1Oo>nFw5{Cb>p@yd61LHj zQOMKneO!D`W5;4SO;0KGf;1CBMozSxA`l{kOz!vx)uvRpA%cmjirA@_Rj}jE^$o31 zgN5q4rtj797ph3La^=2CTd;PvbAsh@H&-O9_1wD9zxi(v zyImTMh~xYx=jWUTe+#-q#gp>_XOqt*51aDxRG}q*^fG1r%cw;KqOkR??)s}Morf^_ zpYOfe5^0>igz3WH8OCs3h^pzw?*iUIK6CL>db+Fm*eU1H&o~zg@tbfWfdWfa4T*X7 zLS%-EQA^1NBxc7Q=_`*XdG925#6hgW7C>iV=J@)mmGgk(6rU^OkxKpNHq)wiw%7_f zpC<;HGQ8xWJEb4dB8+CoAU^=8+ZTNhdwzc(+IpG|lbk`+gG1%^%0zGz&>+wRuU0Jo zReZ)4Urz{{^v~fe34Yf;RMCbXl~sFo|3)?SWZ<3rP7juuSl9iVl*L2khL{vXR(G` z5(*AJiI9=+^@cyDamx_XXanZY`qCvh3#N}XT7XM-nyK1fmEJ3rf(0^ic1z4HV@1egjKGvfi#vtPLTHo zQ#6M`+sJ?rH`_b~X5py-mX7N=*MDW825k@UIs{*N0PLFWkFXAcmT$La#prY}K(~2? zaX`1hFEzWZ8Mg-}jTiu>D*p}?lInZlMN3H-1aSgJ&3kDw=kIS62cyxb*AULXtno0x zgy&tj?ntsZr!@)SJFh*cmut5>YJ_+8TYY zn1%RPL~M{28D($VR8zEJ-lZa5vQbR9^%jm8429Op#w=+v@%QZ9Rnczd!9C{1jhmMD*M;BJid#ivnjf94U;HCRN zh4@#0awZEEo|EPPa28%K4v*%|5to|nyn#0UVa1aFA>_`#s9_8LT!mP*6shQG-a>85 z+*$XldfNNhw%Id>a#emgo}U}@eB?Rxc4M@PZTDYVa9-olu$u6D)SIA6O>frwb(82+ zvUp@R`cou^#?DKtyQm_js{e^zwQ7@*LT{Am{ z!BV-(o=zsku3$*zJ&;LZ=xw>=N>7L2bXBxB`(@nT3zfU>EUp~PF)HR z3{?vlas`7cCmfM$&KYGXq`SYLn_QgQrIznJw|jExRnx7#NB<(o8=LZB0uZzlE$iio z&vpqnteJugSvp_F@=3Y)YGTF0+R~NW{El$U#e8i0TB)8Ul`}o{bVIn)Sl)C|q5BIi%@1&($ay&|Ex%+E0?Uir&ibV?4UtUAcv00I{~UG@4X;6)!XDdm~>GY)f(nH zt6cR6eDuW)Xs}pFxR-=Ji){&fR97=T`5EgVwOyxi#Y-@*1o%+l^}v(kEtLJcn$6;J z(W61AP9XX8DGPZ4T5ID5UtV&(rvsLVmG`k7qco^dVPoXMqxEw@cu?2yUf$142j}My z)vrk6D_Cq7KR?Y{uBRG)4ECL>wN3}poO$03p3c0l6k?yrddLJM$arChPYGN81Oej!N_~rCIPLso+15gr_VJg026v+Zt05&Neol@t>o#9MKmM)xswDIY7 z_|itKlv*7_v^6Q;f)eB_Q^JV#bn2-5iD+UJ5C8MNJ0_rcXUs24axk~kKpX=ih!#EK zJW{k|`m2jJzH02ql8$Bve>T2CJ!n!3&;tcqSSTV;llt8D+dacgXIC8$;QjCWEY{0Zv{%_xU=v2}4 zWIKmB2Y1ToDG=+mbr%x%i?t`kKiWvqNI=3a+|JqS3M_Z9xbxN3@`BD~m?-caty>te zd5l19Rxi5#-Qz5@> zutVax;ztTMIe#gf(Mr=ggaw`KlN0}Gw%d?wA^)8*R}QY(M-0kzBDW995 z^Mdow5Spfrgn|!pvL$mTi^(z5C{qd~f;v&~e$U z({dB(ENbKBaG0OW5b?hng@D+p^Y0#LK^n5~OF4UIu+d zYNZ9Hm>#5{rE{X;ikDRIOeq=NwRdq>AM?X!4lI4N=xQKP;d~&19!y%42H$l_T-Q-k z-7S+!T>2CC=PvtVySMW->WSAm*03& zOfgS5^?*XDqn3AAIo+4;ho)nOPmdn#XFk|itC+nZSEq)`zVt3kZ8?0NR4O&rxW*}F zN~Kah%d=tTx?k2`SIwlTgZ;VIdWJbPF1FHpJq)eFsoo>|h!Wn$^?4repe#K~|EBjK z7qdXFx@tD|ZOx#PwYWJD!ag9M_t2c|uaLxt*WoBr-1_wameCqFsCvq8mx$XEQPF-r5DVa4ftL;?BWhd->Xa2GpuE)t9^@dVbx z;lkM=>`~8vm8dw$lctmX#e5!@Er=Y*_Z@mo(2DJ(Z*kzT>P2lM@vxNIjyvpaC zEhWWj{O?P4X{{Nr!YYg9-o3gZD`9u0pLa*xF?2T0;;UvGrLF1at|&b1yUS+;n#`kb ztL=7a1^f2+)sJE<HedibL-*{_M&w+GL^H(Ph58!yt`_79H}urf&NSelQpUM zi0{nj<<0$lTa#(g)vpiWf{g zAY8RfE08w)1uY*me*0!`O?=F&%%0qCP0iWuSx00DA^-P`LF!S;;YmdI9{5eL>jK8e zH52K13=mknKG7Guv2}VX_4uq=_i&-sGW?PCoJ=Y|ffVbZw+VOYF>!vZ%g{^`fkyFC>~2bP=?1n^-tV(MW?i#&*Ih zj?Iu0Ar2-{5cpM?oWg7i=gd>a!9j}S?fu-iT6;)r>wN+p!(_lYuLj)KxJaEU2dAcW zgKX~fL6j)=8@=Dch>;67UrA-MKM_FJR0s-48FX6VFrWUZ4qGmiDbb>!uq^KpCD`nH zJp7JX3)pX%<%_1%ki(SY8-b{kqN1$YVbvB^#~9qpcq)Wo$x6?WWJ85=iw|&;y^F1ukGEuUbKl1 zYBhG>nR28brC+vbn@xQ8UbxuaCi^ov%F^#?g~56Zm|s;E-(f_yz(tcw@!;yOBb!@| zosb}j8M&gXg`~+eOYuMwjBM&&tZc^hm zTrdQNYLzGjv7Z>UPB@Bgb4+v&<$Gk<_cvS;FJxZIg@M+=7Up>KqfNiu=^atDAF|qV`x4tJIKwwO*if=h=U@MrOG1_g~(*{xY@q=*M zk00k%9*#|W%93H2&kE*>H>z+NV>`X#E54qc(R@?gHVo34^Tqgzt6fxq(iuuMMvQ0A zpEbHKk1$y*Y+!Bpa>nE|DC%p+mD<}7-qCX%1k*~?lv#tzKcw-6{?Y@f`q3xWhkiH5 z1_msFfnl(NVgU@cqLcgEccn6(z?twfe_Pl*Iy{hoyGFG}hetLkovR$#aD`bh@qSy_ zxX}CPLYn|*p z&)jRTx%L|4u;Y7Xeq9Bc@*O5hy+2HVoarEYYIB)<&wK7+>5u`Z(QfE^?_nv=+X?vSB^k(+M*OtFG4q9X_ zyA-!?r3_7Z3UuwHkgeY-Zi|P2K$8YDeXmVlg8D%Zd4HSpSc+jVvOZ6rwm#0M-_OEg z-49nw)YZp3zDryDg4;X$BLcCoPr1t8(MrY4AF)Uzl^@)EC0!g$yTrLuK zG!w_6USVUk^(i&g#VLoH%_1go!~EVoL+PYqesK zk}>e)j&XWKOp=A+oagThec`;&fB(6=^Nsmv&h7XxVA9iIiRo| zbMoDTE(Txa?(xvMnIUZ&l>N&QXB+^F#Y4&$PKHSngebY44KCfU2(#a`zDCwRA0^QRcQgtAe3X z^)=w#6G9Xj`#8`AKvDeH`311(sw6PGrjzIG&G{D2elZmkEzw8PZTBqXmw!~krCptF z)nW}__+oD7{uB;vZ&$vqfOx+Xc1|TBTlDITaJ;Eq&sW_3=Lh9(+34kzE9|E!X*L@I zL*HUxjkV5kw>&))xz-`v;#aA;q@*I96$3&5=O*djfW_a|$eg+;o&6OobbFqKpW{OQ zHn%=vl9IYaCuxPoM%OReh9_4V;NODwJ*T9g)0_pZ$;OrMInc8@12uLzzskQw{Mjvu z`kJNTy%x_E%6{q4VrHCbV&OqcgK6}2wc|{M?V~jalZml3`D%}RRIXKuUmRUQ#*8$? zI$Kqq%H-WOKCnUF?{tqPn43T@0Tmt^Y7KKw9vHlK0}Rlt0MwL~4CD7_Hb6jrYf) zZ@XSi9_A;QDz69DV=d}p^?c!y?O=!CP>%=8EdI%4t1~IYI;A?3m4Himvvhw*iKz*s z5M%TqP?WhmUwRppv4AHUTQ1!8zvlljA-PTT@O1@I1xx21ANkLDI7vR1)~;ykf$MU= z!;!pGs~$8=lviF)TQ~n}={dJm-!vF5f4wkBD$=j6?r{w2zA9cP@?4~TyVqHZ%}*`p zgZhUx!X8*=Vol9IrHot_5Ln6)pWyf_)4<_-NEnUMua2h5Ni>|Z2qu-lWddfloaT5V z6&p8|WWt(z@^G}dt9iek=F81RDhg{-`0N>&n!s!PrJC-dp$0Q{h)TF2d$jeUG2QOT{SCy*wj^%2j_*X{Uh_a)>90#?*vua zk{MT_fIG*cGFkk!96UlsZB^YAG3}-2qho!__j&UoPAeuTnA&iN14$cmcj~&%RX{u1oa(fuOStdb~Ln6#f)9s@dh^8K4hW z9^ai7+i4Cg5HQwn8*q7ewMYPfbDt5&@hM_g%WC<;+8jgSp-Bdos-GDmp!d}v`V;4DZ zBBpL!Y`3D7WCZ>o<((o_Zk*8Dv1lnF5};qsPu!6hTg@3f*k$U75n2r62^&}&QSPq{ z6c7&B2%0`#vse?>_Vdxy<-Zs((IA`F_kuE7#c-`C9Ra<7n^eOXOj%ZzhCbe8XNQ@M zOwEfqz5_b8$Mg20%8S1b(lXLz(S2DFN=h^8&^o~|wF50iDmPcMD;#x>Pydg;H`07t zSCPL86>&LK1t{cU>=wB8#97cY)ye-w^sBDMO%)s?Hsn4R4d_q*QqW%<$bBEBN(rg5 z{G!6h_K#f4r)nI6)U4>FT z#AoD+bRh11-5bF1Zy%7WblOk(n)W){Ej>ImpZjhn>(q%kd=^_6){_7m_f))O@L?SH zcAgm4GxnSvfpD=L*!2;NQw}=iX0E*W87x`uf) z*+gel`P4{5N#MU_x4pf3Ns2ZDPpsb#?s^Sg4vZ?P2*`3cr0cBd$LT{FVA~<@`uLNN zBZgu!XFnRqZzPv1-9s3sZ_oQXvzBklBQ`e#g=eD?IBR|aeeunz+eOj@(#)bkUudPL z4!=NInvPxQzU)^V$$kcsD2IfzXx9#X>rk#L7`@>t;dUUechA!jI$>Ejq?~eKTJD`5 zY=Fx2i%|(L{#ocvGwu*_9est_8fYEJls8^Jb!;&qW(HQmSbVKBOLx1o75A?-PtRE6 zMKs?(*^UT~a5*rl@Zul9YjF}@>muI;B+t(13@lhgXvfM#3c=$lYH&M&n{JaQ!g*aA zFCBWlyEJNV{3}{Kp{K2A1sPZb9n@!(F6#Tx!>aFHWYLwG+HxoT6y3E~a&}4lskUZK z_1%tU2BjQz*Q^Yjx(fOOYG(6XW(16f%SFK(Dq3{iN{W;3@Boz^94N9zI31=h z5p?%x!-hp1&f~e`q6te8A5e(MIxVAuLkqLW;R=_&304;baguko^qOg98BvmdJR`iV zS;7&$rAZMGDD3?(XtfBjD>P?C$=W5weNpn!@jc9p7jQO?DAtrIwi5RYlm8l;*Gh7zlZ8Z zT8*45n;(~@xmj3;FM5VAvi?hv_?ls%1o?pVcBGb7o_FAgEZ)5TD#hxXtF4%eP4u)7 zkMYQbqg)&?e}xH@dugx`8cHwHu4k$huhL4u4c-tJ#@2Gg)m~|fPbJ){Ml8+B(ltq* z6IS`Ajm3UKl$_nN*{I#FqE!TR$IQNiWB=x|{y6r{)>p%HFByyc@BnXzrreOt_1qAT z#Z{60jk!Qa$GdLLX44Xe=JdRcLGX&1;b%w?#OtlZhO0zy*!evtH8sqmYwcr>YsldpsZ4=J8^tUjikiOSae4mJI(wXyk1v>pin#4N zVA4+Q)KTcFr?)mZCT`uJq?7lOl^WKrc8*3%M0I2j5F7J?r)K1DZOY<$rVSsOhjM6T zA;?)XuP9!Sle~Fa!2=%#Vu}4INeIRn%ZS-SCHH+_3RUy~=T%g|^_eYD=$=lfF{z@v zyEaKMB%*G+B9;yzC9KYu+u zHafbM;vu2hsP>QyEyt$4Iy^aP@SuP7?8{ZjCy<0&a7h-W^38)b`sGe>Si1}KE_~sw z=`QhmlA)Oc&85x;G-^Mp@|ERP{yjBb(#L3uaT}HX zOr^Tdfb~pv>x7W@*Ncg>W9va2CYFEzK{$ZOIaMmPueB6^R@yYO#`@H}f400)p{3kT zqgcUIC)>W`nfuN=N)>_OT++k1&x#dCS7K3M*SI)ryL~Myf9x(JmxK#@Y=V$~_X!|m zx8P7^D*Wg^SOgNe0s^%?tT&pnE;Qa;d{_2pUW1m~NjVF6$Bw0Tfz%>Hq|G`+4UC@l zUmIZO%lagf@)8JYkjpbh?JC40fp}v4!i%blh>*&kX*MwgU^nptXHYSiuLOp@CVcq_ z5i3l~GqGeK&AJuLx{Sj7od%)l5;Yp!?Ytbf&$=P54TV@KgH6N#S9)0lwAuq%kAqD$>4xCE9B@F)iXr+Ev z2GvDk!IDT{yT-H-C_9W}F6;ccBRu^N0N+g?@spufk6JrbS3V}`i;DkQxk)-+C@=Rl z84apB6GFTDDzI3mw?LH?8qYb9sn8t@Jn~Fc(xxX(y~rkyQbKml`hy2l*;}Id>@;k# zw=_=j`t>l4Kh{aEiwaI@C}r;pBCvdm77KP>h0EYSE<|lGJ8!NFKL#dIzrOfZJ&2|H lHR~VOfWtnWW}7^4c>Jn+8}%~F=saMBY3gef-G1=m{{Z(WP+tH5 literal 0 Hc-jL100001 diff --git a/docs/img/tutorial/path-params/image02.png b/docs/img/tutorial/path-params/image02.png new file mode 100644 index 0000000000000000000000000000000000000000..b86cf495b1514f24f906ba8743d8b5440798f663 GIT binary patch literal 67289 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 literal 0 Hc-jL100001 diff --git a/docs/index.md b/docs/index.md index 40df4afbe0..39d40509c1 100644 --- a/docs/index.md +++ b/docs/index.md @@ -20,6 +20,8 @@ **Documentation**: [https://fastapi.tiangolo.com](https://fastapi.tiangolo.com) +**Source**: [https://github.com/tiangolo/fastapi](https://github.com/tiangolo/fastapi) + --- FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.6+. @@ -97,11 +99,12 @@ async def read_root(): uvicorn main:app --debug ``` -**Note**: the command `uvicorn main:app` refers to: +!!! note + The command `uvicorn main:app` refers to: -* `main`: the file `main.py` (the Python "module"). -* `app`: the object created inside of `main.py` with the line `app = FastAPI()`. -* `--debug`: make the server restart after code changes. Only use for development. + * `main`: the file `main.py` (the Python "module"). + * `app`: the object created inside of `main.py` with the line `app = FastAPI()`. + * `--debug`: make the server restart after code changes. Only use for development. ### Check it @@ -214,7 +217,7 @@ item: Item * Validation of data: * Automatic and clear errors when the data is invalid. * Validation even for deeply nested JSON objects. -* Serialization of input data: from the network to Python, reading from: +* Serialization of input data: conversion of data coming from the network to Python data and types. Reading from: * JSON. * Forms. * Files. @@ -222,7 +225,7 @@ item: Item * Query parameters. * Cookies. * Headers. -* Serialization of output data: from Python to network (as JSON): +* Serialization of output data: converting from Python data and types to network data (as JSON): * Convert Python types (`str`, `int`, `float`, `bool`, `list`, etc). * `datetime` objects. * `UUID` objects. @@ -276,7 +279,7 @@ Try changing the line with: ![editor support](https://fastapi.tiangolo.com/img/vscode-completion.png) -For a more complete example including more features, [see the tutorial](tutorial). +For a more complete example including more features, [see the tutorial](). **Spoiler alert**: the tutorial, although very short, includes: @@ -293,7 +296,7 @@ For a more complete example including more features, [see the tutorial](tutorial Used by Pydantic: -* ujson - for faster JSON parsing. +* ujson - for faster JSON "parsing". * email_validator - for email validation. @@ -302,7 +305,7 @@ Used by Starlette: * requests - Required if you want to use the `TestClient`. * aiofiles - Required if you want to use `FileResponse` or `StaticFiles`. * jinja2 - Required if you want to use the default template configuration. -* python-multipart - Required if you want to support form parsing, with `request.form()`. +* python-multipart - Required if you want to support form "parsing", with `request.form()`. * itsdangerous - Required for `SessionMiddleware` support. * pyyaml - Required for `SchemaGenerator` support. * graphene - Required for `GraphQLApp` support. diff --git a/docs/tutorial/first-steps.md b/docs/tutorial/first-steps.md new file mode 100644 index 0000000000..a09a1442dd --- /dev/null +++ b/docs/tutorial/first-steps.md @@ -0,0 +1,138 @@ +The simplest FastAPI file could look like this: + +```Python +{!tutorial/src/first-steps/tutorial001.py!} +``` + +Copy that to a file `main.py`. + +Run the live server: + +```bash +uvicorn main:app --debug +``` + +!!! note + The command `uvicorn main:app` refers to: + + * `main`: the file `main.py` (the Python "module"). + * `app`: the object created inside of `main.py` with the line `app = FastAPI()`. + * `--debug`: make the server restart after code changes. Only use for development. + +You will see an output like: + +```hl_lines="4" +INFO: Started reloader process [17961] +INFO: Started server process [17962] +INFO: Waiting for application startup. +INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) +``` + +That last line shows the URL where your app is being served, in your local machine. + +### Check it + +Open your browser at http://127.0.0.1:8000. + +You will see the JSON response as: + +```JSON +{"hello": "world"} +``` + +### Interactive API docs + +Now go to http://127.0.0.1:8000/docs. + +You will see the automatic interactive API documentation (provided by Swagger UI): + +![Swagger UI](https://fastapi.tiangolo.com/img/index/index-01-swagger-ui-simple.png) + + +### Alternative API docs + +And now, go to http://127.0.0.1:8000/redoc. + +You will see the alternative automatic documentation (provided by ReDoc): + +![ReDoc](https://fastapi.tiangolo.com/img/index/index-02-redoc-simple.png) + +## Recap, step by step + +### Step 1: import `FastAPI` + +```Python hl_lines="1" +{!tutorial/src/first-steps/tutorial001.py!} +``` + +`FastAPI` is a Python class that provides all the functionality for your API. + +### Step 2: create a `FastAPI` "instance" + +```Python hl_lines="3" +{!tutorial/src/first-steps/tutorial001.py!} +``` + +Here the `app` variable will be an "instance" of the class `FastAPI`. + +This will be the main point of interaction to create all your API endpoints. + +This `app` is the same one referred by `uvicorn` in thet command: + +```bash +uvicorn main:app --debug +``` + +If you create your app like: + +```Python hl_lines="3" +{!tutorial/src/first-steps/tutorial002.py!} +``` + +And put it in a file `main.py`, then you would call `uvicorn` like: + +```bash +uvicorn main:my_awesome_api --debug +``` + +### Step 3: create an endpoint + +```Python hl_lines="6" +{!tutorial/src/first-steps/tutorial001.py!} +``` + +The `@app.get("/")` tells **FastAPI** that the function right below is an endpoint and that it should go to the path route `/`. + +### Step 4: define the endpoint function + +```Python hl_lines="7" +{!tutorial/src/first-steps/tutorial001.py!} +``` + +This is a Python function. + +It will be called by FastAPI whenever it receives a request to the URL "`/`". + +In this case, it is an `async` function. + +--- + +You could also define it as a normal function instead of `async def`: + +```Python hl_lines="7" +{!tutorial/src/first-steps/tutorial003.py!} +``` + +To know the difference, read the section about [Concurrency and `async` / `await`](/async/). + +### Step 5: return the content + +```Python hl_lines="8" +{!tutorial/src/first-steps/tutorial001.py!} +``` + +You can return a `dict`, `list`, singular values as `str`, `int`, etc. + +You can also return Pydantic models (you'll see more about that later). + +There are many other objects and models that will be automatically converted to JSON. diff --git a/docs/tutorial/index.md b/docs/tutorial/index.md deleted file mode 100644 index 39fe646c4e..0000000000 --- a/docs/tutorial/index.md +++ /dev/null @@ -1 +0,0 @@ -Sorry! Coming soon... come back in a couple days. \ No newline at end of file diff --git a/docs/tutorial/intro.md b/docs/tutorial/intro.md new file mode 100644 index 0000000000..a5fb9bfe11 --- /dev/null +++ b/docs/tutorial/intro.md @@ -0,0 +1,52 @@ +This tutorial shows you how to use **FastAPI** with all its features, step by step. + +Eeach section gradually builds on the previous ones, but it's structured to separate topics, so that you can go directly to any specific one to solve your specific API needs. + +It is also built to work as a future reference. So you can come back and see exactly what you need. + +And each section is very short, so you can go directly to what you need and get the information fast. + +## Run the code + +All the code blocks can be copied and used directly (they are actually tested Python files). + +To run any of the examples, copy the code to a file `main.py`, and start `uvicorn` with: + +```bash +uvicorn main:app --debug +``` + +It is **HIGHLY encouraged** that you write or copy the code, edit it and run it locally. + +Using it in your editor is what really shows you the benefits of FastAPI, seeing how little code you have to write, all the type checks, autocompletion, etc. + +--- + +## Install FastAPI + +The first step is to install FastAPI. + +For the tutorial, you might want to install it with all the optional dependencies and features: + +```bash +pip install fastapi[all] +``` + +...that also includes `uvicorn`, that you can use as the server that runs your code. + +!!! note + You can also install it part by part. + + This is what you would probably do once you want to deploy your application to production: + + ```bash + pip install fastapi + ``` + + Also install `uvicorn` to work as the server: + + ```bash + pip install uvicorn + ``` + + And the same for each of the optional dependencies that you want to use. diff --git a/docs/tutorial/path-params.md b/docs/tutorial/path-params.md new file mode 100644 index 0000000000..5a381581e2 --- /dev/null +++ b/docs/tutorial/path-params.md @@ -0,0 +1,112 @@ +You can declare path "parameters" or "variables" with the same syntax used by Python format strings: + +```Python hl_lines="6 7" +{!./tutorial/src/path-params/tutorial001.py!} +``` + +The value of the path parameter `item_id` will be passed to your function as the argument `item_id`. + +So, if you run this example and go to http://127.0.0.1:8000/items/foo, you will see a response of: + +```JSON +{"item_id":"foo"} +``` + +## Path parameters with types + +You can declare the type of a path parameter in the function, using standard Python type annotations: + +```Python hl_lines="7" +{!./tutorial/src/path-params/tutorial002.py!} +``` + +In this case, `item_id` is declared to be an `int`. + +!!! check + This will give you editor support inside of your function, with error checks, completion, etc. + +## Data "parsing" + +If you run this example and open your browser at http://127.0.0.1:8000/items/3, you will see a response of: + +```JSON +{"item_id":3} +``` + +!!! check + Notice that the value your function received (and returned) is `3`, as a Python `int`, not a string `"3"`. + + So, with that type declaration, **FastAPI** gives you automatic request "parsing". + +## Data validation + +But if you go to the browser at http://127.0.0.1:8000/items/foo, you will see a nice HTTP error of: + +```JSON +{ + "detail": [ + { + "loc": [ + "path", + "item_id" + ], + "msg": "value is not a valid integer", + "type": "type_error.integer" + } + ] +} +``` + +because the path parameter `item_id` had a value of `"foo"`, which is not an `int`. + +The same error would appear if you provided a `foat` instead of an int, as in: http://127.0.0.1:8000/items/4.2 + + +!!! check + So, with the same Python type declaration, **FastAPI** gives you data validation. + + Notice that the error also clearly states exactly the point where the validaton didn't pass. + + This is incredibly helpful while developing and debugging code that interacts with your API. + +## Documentation + +And when you open your browser at http://127.0.0.1:8000/docs, you will see an automatic, interactive, API documentation like: + + + +!!! check + Again, just with that same Python type declaration, **FastAPI** gives you automatic, interactive documentation (integrating Swagger UI). + + Notice that the path parameter is declared to be an integer. + +## Standards-based benefits, alternative documentation + +And because the generated schema is from the OpenAPI standard, there are many compatible tools. + +Because of this, **FastAPI** itself provides an alternative API documentation (using ReDoc): + + + +The same way, there are many compatible tools. Including code generation tools for many languages. + +## Pydantic + +All the data validation is performed under the hood by Pydantic, so you get all the benefits from it. And you know you are in good hands. + +You can use the same type declarations with `str`, `float`, `bool` and many other complex data types. + +These are explored in the next sections of the tutorial. + +## Recap + +With **FastAPI**, by using short, intuitive and standard Python type declarations, you get: + +* Editor support: error checks, autocompletion, etc. +* Data "parsing" +* Data validation +* API annotation and automatic documentation + +And you only have to declare them once. + +That's probably the main visible advantage of **FastAPI** compared to alternative frameworks (appart from the raw performance). \ No newline at end of file diff --git a/docs/tutorial/query-params.md b/docs/tutorial/query-params.md new file mode 100644 index 0000000000..e58fe2749f --- /dev/null +++ b/docs/tutorial/query-params.md @@ -0,0 +1,177 @@ +When you declare other function parameters that are not part of the path parameters, they are automatically interpreted as "query" parameters. + +```Python hl_lines="9" +{!./tutorial/src/query-params/tutorial001.py!} +``` + +The query is the set of key-value pairs that go after the `?` in a URL, separated by `&` characters. + +For example, in the url: + +``` +http://127.0.0.1:8000/items/?skip=0&limit=10 +``` + +...the query parameters are: + +* `skip`: with a value of `0` +* `limit`: with a value of `10` + +As they are part of the URL, they are "naturally" strings. + +But when you declare them with Python types (in the example above, as `int`), they are converted to that type and validated against it. + +All the same process that applied for path parameters also applies for query parameters: + +* Editor support (obviously) +* Data "parsing" +* Data validation +* Automatic documentation + +## Defaults + +As query parameters are not a fixed part of a path, they can be optional and can have default values. + +In the example above they have default values of `skip=0` and `limit=10`. + +So, going to the URL: + +``` +http://127.0.0.1:8000/items/ +``` + +would be the same as going to: + +``` +http://127.0.0.1:8000/items/?skip=0&limit=10 +``` + +But if you go to, for example: + +``` +http://127.0.0.1:8000/items/?skip=20 +``` + +The parameter values in your function will be: + +* `skip=20`: because you set it in the URL +* `limit=10`: because that was the default value + +## Optional parameters + +The same way, you can declare optional query parameters, by setting their default to `None`: + +```Python hl_lines="7" +{!./tutorial/src/query-params/tutorial002.py!} +``` + +In this case, the function parameter `q` will be optional, and will be `None` by default. + +!!! check + Also notice that **FastAPI** is smart enough to notice that the path parameter `item_id` is a path parameter and `q` is not, so, it's a query parameter. + +## Query parameter type conversion + +You can also declare `bool` types, and they will be converted: + +```Python hl_lines="7" +{!./tutorial/src/query-params/tutorial003.py!} +``` + +In this case, if you go to: + +``` +http://127.0.0.1:8000/items/?short=1 +``` + +or + +``` +http://127.0.0.1:8000/items/?short=True +``` + +or + +``` +http://127.0.0.1:8000/items/?short=true +``` + +or + +``` +http://127.0.0.1:8000/items/?short=on +``` + +or + +``` +http://127.0.0.1:8000/items/?short=yes +``` + +or any other case variation (uppercase, first letter in uppercase, etc), your function will see the parameter `short` with a `bool` value of `True`. Otherwise as `False`. + + +## Multiple path and query parameters + +You can declare multiple path parameters and query parameters at the same time, **FastAPI** knows which is which. + +And you don't have to declare them in any specific order. + +They will be detected by name: + +```Python hl_lines="6 8" +{!./tutorial/src/query-params/tutorial004.py!} +``` + +## Required query parameters + +When you declare a default value for non-path parameters (for now, we have only seen query parameters), then it is not required. + +If you don't want to add a specific value but just make it optional, set the default as `None`. + +But when you want to make a query parameter required, you can just do not declare any default value: + +```Python hl_lines="6 8" +{!./tutorial/src/query-params/tutorial005.py!} +``` + +Here the query parameter `needy` is a required query parameter of type `str`. + +If you open in your browser a URL like: + +``` +http://127.0.0.1:8000/users/2/items/foo-item +``` + +...without adding the required parameter `needy`, you will see an error like: + +```JSON +{ + "detail": [ + { + "loc": [ + "query", + "needy" + ], + "msg": "field required", + "type": "value_error.missing" + } + ] +} +``` + +As `needy` is a required parameter, you would need to set it in the URL: + +``` +http://127.0.0.1:8000/users/2/items/foo-item?needy=sooooneedy +``` + +...this would work: + +```JSON +{ + "item_id": "foo-item", + "owner_id": 2, + "needy": "sooooneedy" +} +``` \ No newline at end of file diff --git a/docs/tutorial/src/tutorial14.py b/docs/tutorial/src/all/tutorial001.py similarity index 100% rename from docs/tutorial/src/tutorial14.py rename to docs/tutorial/src/all/tutorial001.py diff --git a/docs/tutorial/src/tutorial15.py b/docs/tutorial/src/all/tutorial002.py similarity index 100% rename from docs/tutorial/src/tutorial15.py rename to docs/tutorial/src/all/tutorial002.py diff --git a/docs/tutorial/src/tutorial16.py b/docs/tutorial/src/all/tutorial003.py similarity index 100% rename from docs/tutorial/src/tutorial16.py rename to docs/tutorial/src/all/tutorial003.py diff --git a/docs/tutorial/src/tutorial17.py b/docs/tutorial/src/all/tutorial004.py similarity index 100% rename from docs/tutorial/src/tutorial17.py rename to docs/tutorial/src/all/tutorial004.py diff --git a/docs/tutorial/src/tutorial18.py b/docs/tutorial/src/all/tutorial005.py similarity index 100% rename from docs/tutorial/src/tutorial18.py rename to docs/tutorial/src/all/tutorial005.py diff --git a/docs/tutorial/src/tutorial19.py b/docs/tutorial/src/all/tutorial006.py similarity index 100% rename from docs/tutorial/src/tutorial19.py rename to docs/tutorial/src/all/tutorial006.py diff --git a/docs/tutorial/src/tutorial20.py b/docs/tutorial/src/all/tutorial007.py similarity index 100% rename from docs/tutorial/src/tutorial20.py rename to docs/tutorial/src/all/tutorial007.py diff --git a/docs/tutorial/src/tutorial21.py b/docs/tutorial/src/all/tutorial008.py similarity index 100% rename from docs/tutorial/src/tutorial21.py rename to docs/tutorial/src/all/tutorial008.py diff --git a/docs/tutorial/src/tutorial22.py b/docs/tutorial/src/all/tutorial009.py similarity index 100% rename from docs/tutorial/src/tutorial22.py rename to docs/tutorial/src/all/tutorial009.py diff --git a/docs/tutorial/src/tutorial23.py b/docs/tutorial/src/all/tutorial010.py similarity index 100% rename from docs/tutorial/src/tutorial23.py rename to docs/tutorial/src/all/tutorial010.py diff --git a/docs/tutorial/src/tutorial24.py b/docs/tutorial/src/all/tutorial011.py similarity index 100% rename from docs/tutorial/src/tutorial24.py rename to docs/tutorial/src/all/tutorial011.py diff --git a/docs/tutorial/src/tutorial25.py b/docs/tutorial/src/all/tutorial012.py similarity index 100% rename from docs/tutorial/src/tutorial25.py rename to docs/tutorial/src/all/tutorial012.py diff --git a/docs/tutorial/src/tutorial26.py b/docs/tutorial/src/all/tutorial013.py similarity index 100% rename from docs/tutorial/src/tutorial26.py rename to docs/tutorial/src/all/tutorial013.py diff --git a/docs/tutorial/src/tutorial27.py b/docs/tutorial/src/all/tutorial014.py similarity index 100% rename from docs/tutorial/src/tutorial27.py rename to docs/tutorial/src/all/tutorial014.py diff --git a/docs/tutorial/src/tutorial28.py b/docs/tutorial/src/all/tutorial015.py similarity index 100% rename from docs/tutorial/src/tutorial28.py rename to docs/tutorial/src/all/tutorial015.py diff --git a/docs/tutorial/src/tutorial29.py b/docs/tutorial/src/all/tutorial016.py similarity index 100% rename from docs/tutorial/src/tutorial29.py rename to docs/tutorial/src/all/tutorial016.py diff --git a/docs/tutorial/src/tutorial30.py b/docs/tutorial/src/all/tutorial017.py similarity index 100% rename from docs/tutorial/src/tutorial30.py rename to docs/tutorial/src/all/tutorial017.py diff --git a/docs/tutorial/src/tutorial31.py b/docs/tutorial/src/all/tutorial018.py similarity index 100% rename from docs/tutorial/src/tutorial31.py rename to docs/tutorial/src/all/tutorial018.py diff --git a/docs/tutorial/src/tutorial32.py b/docs/tutorial/src/all/tutorial019.py similarity index 100% rename from docs/tutorial/src/tutorial32.py rename to docs/tutorial/src/all/tutorial019.py diff --git a/docs/tutorial/src/tutorial33.py b/docs/tutorial/src/all/tutorial020.py similarity index 100% rename from docs/tutorial/src/tutorial33.py rename to docs/tutorial/src/all/tutorial020.py diff --git a/docs/tutorial/src/tutorial34.py b/docs/tutorial/src/all/tutorial021.py similarity index 100% rename from docs/tutorial/src/tutorial34.py rename to docs/tutorial/src/all/tutorial021.py diff --git a/docs/tutorial/src/tutorial35.py b/docs/tutorial/src/all/tutorial022.py similarity index 100% rename from docs/tutorial/src/tutorial35.py rename to docs/tutorial/src/all/tutorial022.py diff --git a/docs/tutorial/src/tutorial36.py b/docs/tutorial/src/all/tutorial023.py similarity index 100% rename from docs/tutorial/src/tutorial36.py rename to docs/tutorial/src/all/tutorial023.py diff --git a/docs/tutorial/src/tutorial37.py b/docs/tutorial/src/all/tutorial024.py similarity index 100% rename from docs/tutorial/src/tutorial37.py rename to docs/tutorial/src/all/tutorial024.py diff --git a/docs/tutorial/src/tutorial38.py b/docs/tutorial/src/all/tutorial025.py similarity index 100% rename from docs/tutorial/src/tutorial38.py rename to docs/tutorial/src/all/tutorial025.py diff --git a/docs/tutorial/src/tutorial39.py b/docs/tutorial/src/all/tutorial026.py similarity index 100% rename from docs/tutorial/src/tutorial39.py rename to docs/tutorial/src/all/tutorial026.py diff --git a/docs/tutorial/src/tutorial40.py b/docs/tutorial/src/all/tutorial027.py similarity index 100% rename from docs/tutorial/src/tutorial40.py rename to docs/tutorial/src/all/tutorial027.py diff --git a/docs/tutorial/src/tutorial41.py b/docs/tutorial/src/all/tutorial028.py similarity index 100% rename from docs/tutorial/src/tutorial41.py rename to docs/tutorial/src/all/tutorial028.py diff --git a/docs/tutorial/src/tutorial42.py b/docs/tutorial/src/all/tutorial029.py similarity index 100% rename from docs/tutorial/src/tutorial42.py rename to docs/tutorial/src/all/tutorial029.py diff --git a/docs/tutorial/src/tutorial43.py b/docs/tutorial/src/all/tutorial030.py similarity index 100% rename from docs/tutorial/src/tutorial43.py rename to docs/tutorial/src/all/tutorial030.py diff --git a/docs/tutorial/src/tutorial44.py b/docs/tutorial/src/all/tutorial031.py similarity index 100% rename from docs/tutorial/src/tutorial44.py rename to docs/tutorial/src/all/tutorial031.py diff --git a/docs/tutorial/src/tutorial45.py b/docs/tutorial/src/all/tutorial032.py similarity index 100% rename from docs/tutorial/src/tutorial45.py rename to docs/tutorial/src/all/tutorial032.py diff --git a/docs/tutorial/src/tutorial46.py b/docs/tutorial/src/all/tutorial033.py similarity index 100% rename from docs/tutorial/src/tutorial46.py rename to docs/tutorial/src/all/tutorial033.py diff --git a/docs/tutorial/src/tutorial47.py b/docs/tutorial/src/all/tutorial034.py similarity index 100% rename from docs/tutorial/src/tutorial47.py rename to docs/tutorial/src/all/tutorial034.py diff --git a/docs/tutorial/src/tutorial48.py b/docs/tutorial/src/all/tutorial035.py similarity index 100% rename from docs/tutorial/src/tutorial48.py rename to docs/tutorial/src/all/tutorial035.py diff --git a/docs/tutorial/src/tutorial49.py b/docs/tutorial/src/all/tutorial036.py similarity index 100% rename from docs/tutorial/src/tutorial49.py rename to docs/tutorial/src/all/tutorial036.py diff --git a/docs/tutorial/src/tutorial50.py b/docs/tutorial/src/all/tutorial037.py similarity index 100% rename from docs/tutorial/src/tutorial50.py rename to docs/tutorial/src/all/tutorial037.py diff --git a/docs/tutorial/src/tutorial51.py b/docs/tutorial/src/all/tutorial038.py similarity index 100% rename from docs/tutorial/src/tutorial51.py rename to docs/tutorial/src/all/tutorial038.py diff --git a/docs/tutorial/src/tutorial52.py b/docs/tutorial/src/all/tutorial039.py similarity index 100% rename from docs/tutorial/src/tutorial52.py rename to docs/tutorial/src/all/tutorial039.py diff --git a/docs/tutorial/src/tutorial53.py b/docs/tutorial/src/all/tutorial040.py similarity index 100% rename from docs/tutorial/src/tutorial53.py rename to docs/tutorial/src/all/tutorial040.py diff --git a/docs/tutorial/src/tutorial54.py b/docs/tutorial/src/all/tutorial041.py similarity index 100% rename from docs/tutorial/src/tutorial54.py rename to docs/tutorial/src/all/tutorial041.py diff --git a/docs/tutorial/src/tutorial55.py b/docs/tutorial/src/all/tutorial042.py similarity index 100% rename from docs/tutorial/src/tutorial55.py rename to docs/tutorial/src/all/tutorial042.py diff --git a/docs/tutorial/src/tutorial56.py b/docs/tutorial/src/all/tutorial043.py similarity index 100% rename from docs/tutorial/src/tutorial56.py rename to docs/tutorial/src/all/tutorial043.py diff --git a/docs/tutorial/src/tutorial57.py b/docs/tutorial/src/all/tutorial044.py similarity index 100% rename from docs/tutorial/src/tutorial57.py rename to docs/tutorial/src/all/tutorial044.py diff --git a/docs/tutorial/src/tutorial58.py b/docs/tutorial/src/all/tutorial045.py similarity index 100% rename from docs/tutorial/src/tutorial58.py rename to docs/tutorial/src/all/tutorial045.py diff --git a/docs/tutorial/src/tutorial59.py b/docs/tutorial/src/all/tutorial046.py similarity index 100% rename from docs/tutorial/src/tutorial59.py rename to docs/tutorial/src/all/tutorial046.py diff --git a/docs/tutorial/src/tutorial60.py b/docs/tutorial/src/all/tutorial047.py similarity index 100% rename from docs/tutorial/src/tutorial60.py rename to docs/tutorial/src/all/tutorial047.py diff --git a/docs/tutorial/src/tutorial61.py b/docs/tutorial/src/all/tutorial048.py similarity index 100% rename from docs/tutorial/src/tutorial61.py rename to docs/tutorial/src/all/tutorial048.py diff --git a/docs/tutorial/src/tutorial62.py b/docs/tutorial/src/all/tutorial049.py similarity index 100% rename from docs/tutorial/src/tutorial62.py rename to docs/tutorial/src/all/tutorial049.py diff --git a/docs/tutorial/src/tutorial63.py b/docs/tutorial/src/all/tutorial050.py similarity index 100% rename from docs/tutorial/src/tutorial63.py rename to docs/tutorial/src/all/tutorial050.py diff --git a/docs/tutorial/src/tutorial64.py b/docs/tutorial/src/all/tutorial051.py similarity index 100% rename from docs/tutorial/src/tutorial64.py rename to docs/tutorial/src/all/tutorial051.py diff --git a/docs/tutorial/src/tutorial65.py b/docs/tutorial/src/all/tutorial052.py similarity index 100% rename from docs/tutorial/src/tutorial65.py rename to docs/tutorial/src/all/tutorial052.py diff --git a/docs/tutorial/src/tutorial66.py b/docs/tutorial/src/all/tutorial053.py similarity index 100% rename from docs/tutorial/src/tutorial66.py rename to docs/tutorial/src/all/tutorial053.py diff --git a/docs/tutorial/src/tutorial67.py b/docs/tutorial/src/all/tutorial054.py similarity index 100% rename from docs/tutorial/src/tutorial67.py rename to docs/tutorial/src/all/tutorial054.py diff --git a/docs/tutorial/src/tutorial68.py b/docs/tutorial/src/all/tutorial055.py similarity index 100% rename from docs/tutorial/src/tutorial68.py rename to docs/tutorial/src/all/tutorial055.py diff --git a/docs/tutorial/src/tutorial69.py b/docs/tutorial/src/all/tutorial056.py similarity index 100% rename from docs/tutorial/src/tutorial69.py rename to docs/tutorial/src/all/tutorial056.py diff --git a/docs/tutorial/src/tutorial70.py b/docs/tutorial/src/all/tutorial057.py similarity index 100% rename from docs/tutorial/src/tutorial70.py rename to docs/tutorial/src/all/tutorial057.py diff --git a/docs/tutorial/src/tutorial71.py b/docs/tutorial/src/all/tutorial058.py similarity index 100% rename from docs/tutorial/src/tutorial71.py rename to docs/tutorial/src/all/tutorial058.py diff --git a/docs/tutorial/src/tutorial72.py b/docs/tutorial/src/all/tutorial059.py similarity index 100% rename from docs/tutorial/src/tutorial72.py rename to docs/tutorial/src/all/tutorial059.py diff --git a/docs/tutorial/src/tutorial73.py b/docs/tutorial/src/all/tutorial060.py similarity index 100% rename from docs/tutorial/src/tutorial73.py rename to docs/tutorial/src/all/tutorial060.py diff --git a/docs/tutorial/src/tutorial74.py b/docs/tutorial/src/all/tutorial061.py similarity index 100% rename from docs/tutorial/src/tutorial74.py rename to docs/tutorial/src/all/tutorial061.py diff --git a/docs/tutorial/src/tutorial75.py b/docs/tutorial/src/all/tutorial062.py similarity index 100% rename from docs/tutorial/src/tutorial75.py rename to docs/tutorial/src/all/tutorial062.py diff --git a/docs/tutorial/src/tutorial76.py b/docs/tutorial/src/all/tutorial063.py similarity index 100% rename from docs/tutorial/src/tutorial76.py rename to docs/tutorial/src/all/tutorial063.py diff --git a/docs/tutorial/src/tutorial77.py b/docs/tutorial/src/all/tutorial064.py similarity index 100% rename from docs/tutorial/src/tutorial77.py rename to docs/tutorial/src/all/tutorial064.py diff --git a/docs/tutorial/src/tutorial78.py b/docs/tutorial/src/all/tutorial065.py similarity index 100% rename from docs/tutorial/src/tutorial78.py rename to docs/tutorial/src/all/tutorial065.py diff --git a/docs/tutorial/src/tutorial79.py b/docs/tutorial/src/all/tutorial066.py similarity index 100% rename from docs/tutorial/src/tutorial79.py rename to docs/tutorial/src/all/tutorial066.py diff --git a/docs/tutorial/src/tutorial10.py b/docs/tutorial/src/body/tutorial001.py similarity index 100% rename from docs/tutorial/src/tutorial10.py rename to docs/tutorial/src/body/tutorial001.py diff --git a/docs/tutorial/src/tutorial11.py b/docs/tutorial/src/body/tutorial002.py similarity index 100% rename from docs/tutorial/src/tutorial11.py rename to docs/tutorial/src/body/tutorial002.py diff --git a/docs/tutorial/src/tutorial12.py b/docs/tutorial/src/body/tutorial003.py similarity index 100% rename from docs/tutorial/src/tutorial12.py rename to docs/tutorial/src/body/tutorial003.py diff --git a/docs/tutorial/src/tutorial13.py b/docs/tutorial/src/body/tutorial004.py similarity index 100% rename from docs/tutorial/src/tutorial13.py rename to docs/tutorial/src/body/tutorial004.py diff --git a/docs/tutorial/src/tutorial01.py b/docs/tutorial/src/first-steps/tutorial001.py similarity index 100% rename from docs/tutorial/src/tutorial01.py rename to docs/tutorial/src/first-steps/tutorial001.py diff --git a/docs/tutorial/src/first-steps/tutorial002.py b/docs/tutorial/src/first-steps/tutorial002.py new file mode 100644 index 0000000000..ca7d48cff9 --- /dev/null +++ b/docs/tutorial/src/first-steps/tutorial002.py @@ -0,0 +1,8 @@ +from fastapi import FastAPI + +my_awesome_api = FastAPI() + + +@my_awesome_api.get("/") +async def root(): + return {"message": "Hello World"} diff --git a/docs/tutorial/src/first-steps/tutorial003.py b/docs/tutorial/src/first-steps/tutorial003.py new file mode 100644 index 0000000000..e30b827eab --- /dev/null +++ b/docs/tutorial/src/first-steps/tutorial003.py @@ -0,0 +1,8 @@ +from fastapi import FastAPI + +app = FastAPI() + + +@app.get("/") +def root(): + return {"message": "Hello World"} diff --git a/docs/tutorial/src/tutorial02.py b/docs/tutorial/src/path-params/tutorial001.py similarity index 100% rename from docs/tutorial/src/tutorial02.py rename to docs/tutorial/src/path-params/tutorial001.py diff --git a/docs/tutorial/src/tutorial03.py b/docs/tutorial/src/path-params/tutorial002.py similarity index 100% rename from docs/tutorial/src/tutorial03.py rename to docs/tutorial/src/path-params/tutorial002.py diff --git a/docs/tutorial/src/tutorial04.py b/docs/tutorial/src/path-params/tutorial003.py similarity index 100% rename from docs/tutorial/src/tutorial04.py rename to docs/tutorial/src/path-params/tutorial003.py diff --git a/docs/tutorial/src/tutorial05.py b/docs/tutorial/src/query-params/tutorial001.py similarity index 100% rename from docs/tutorial/src/tutorial05.py rename to docs/tutorial/src/query-params/tutorial001.py diff --git a/docs/tutorial/src/tutorial06.py b/docs/tutorial/src/query-params/tutorial002.py similarity index 100% rename from docs/tutorial/src/tutorial06.py rename to docs/tutorial/src/query-params/tutorial002.py diff --git a/docs/tutorial/src/tutorial07.py b/docs/tutorial/src/query-params/tutorial003.py similarity index 100% rename from docs/tutorial/src/tutorial07.py rename to docs/tutorial/src/query-params/tutorial003.py diff --git a/docs/tutorial/src/tutorial08.py b/docs/tutorial/src/query-params/tutorial004.py similarity index 100% rename from docs/tutorial/src/tutorial08.py rename to docs/tutorial/src/query-params/tutorial004.py diff --git a/docs/tutorial/src/query-params/tutorial005.py b/docs/tutorial/src/query-params/tutorial005.py new file mode 100644 index 0000000000..62da63fc75 --- /dev/null +++ b/docs/tutorial/src/query-params/tutorial005.py @@ -0,0 +1,11 @@ +from fastapi import FastAPI + +app = FastAPI() + + +@app.get("/users/{user_id}/items/{item_id}") +async def read_user_item( + user_id: int, item_id: str, needy: str +): + item = {"item_id": item_id, "owner_id": user_id, "needy": needy} + return item diff --git a/docs/tutorial/src/tutorial09.py b/docs/tutorial/src/tutorial09.py deleted file mode 100644 index 125bce9c54..0000000000 --- a/docs/tutorial/src/tutorial09.py +++ /dev/null @@ -1,17 +0,0 @@ -from fastapi import FastAPI - -app = FastAPI() - - -@app.get("/users/{user_id}/items/{item_id}") -async def read_user_item( - user_id: int, item_id: str, needy: str, q: str = None, short: bool = False -): - item = {"item_id": item_id, "owner_id": user_id, "needy": needy} - if q: - item.update({"q": q}) - if not short: - item.update( - {"description": "This is an amazing item that has a long description"} - ) - return item -- 2.47.3