-
Notifications
You must be signed in to change notification settings - Fork 0
/
openapi.json
1812 lines (1812 loc) · 140 KB
/
openapi.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
{
"openapi": "3.1.0",
"info": {
"title": "fastapi-boilerplate",
"summary": "This backend project is FastAPI template.\n This project serves as the backend, which aims to provide a robust and\n reliable system to its users.\n This backend application plays a crucial role in providing the\n functionality for user authentication, real-time monitoring,\n data processing, and advanced alerting system. It is designed to ensure\n the scalability and maintainability of the mobile app,\n making it a vital part of the overall solution.\n ",
"description": "**FastAPI**, **SQLAlchemy** and **Redis** helps you\n do awesome stuff. \ud83d\ude80\n \n\n<img src=\"data:image/png;base64,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KDk5OUyYMGGvx8+aNYuHH36Y3/72t7zxxhvccMMNAKxYsYLTTjuNrKwsHn/8cZYuXcrcuXO58MILeemll/jd73632+N8+9vfprKyku9///ssXLiQ+fPnc/7553PyySdTWlp6wD/X3XffzS233MLxxx/Pa6+9xuLFi3nttdcYP3483//+95k/fz7gF5G56qqr2Lx5M48++iiff/45H374IbfffjslJSUMGjSI+fPn8/vf/x6Aiy66iKVLl7J06VKuu+66Ax6nSBWKas9jQb3Xcipfikm7FEzRruyuFf2T9W2glB+duXGoqWl1L8dnKmJ+O8oUeEt0ysrn1qp6FhSXNdnWAfz9Z//vhAlkpllbCyGSmQKyQwGuOmoUH23c1vT1zlpeX7GF6kic/MzUSO8Q++873/kOeXnJu/UhGo3yz3/+kx07dnD22WcTCu29FdCqVau44447+OlPf9r4OWstt912G9u3b2fu3LlMnTq18WsTJkxgzpw53H777dxwww0UFhaycOFCZs+eTe/evbnzzjsbVysff/xxioqK+POf/3xAP1ckEuHBBx+kb9++vP76642puOPGjePuu+/mhBNO4A9/+APPPPMMruuyfv16hg4duttq6JFHHtn451GjRjFgwAAAevToIaudXZA1ho/qPdbFPZR1sDoF7lCF6LISkbEbg5pqPwW3pSq4ClbEPLa6hn6h5K+T0ykjfPCDL6iojzT9RaUYVpjHYQf17NhBCSEAOHFUf7plNB9Ybq6s5ZGPVnTgiERnWbVqFZ988kmTH53BWsusWbO4//77uf/++5k6dSo//vGPycnJ4X//939b/Ti33nrrbv8djUZZvHgxI0aM4PDDD9/ta3l5eVxyySUALFu2DIAXXngB8Cvv7pomC3D11Vfvlp67P+rr61m5ciWHHHLIHntAG4otNYwhEAiQnZ3NmjVr+OlPf0osFjug7y3SjzEG11r+UhYlbjVWNZt3lnIsX65m2WYWNIQAEtsXIBTQif6sqXC+KFQ84qfg+id700dZxXZX8WKVi7GmybodyaRDVz6NtWyvifD84g2YZp4XZS2XHTqc3IxO7QIjRJfVr1s23zxsBPe/t6zJS7NnLU9/uo4rpo6iW2ZQ9miksblz53L00Uc3+bXOet3vu+++xj+PHz+e66+/nptuuokhQ4a0+jF2bfMCEI/H2blzJ/X1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GDGCX//613z88ccdj3vxxRc555xzWLFiBZdddhkLFixg4sSJPPbYY8ycOZMDB+J/xo304YhQEbBRJtm+YWQeS5FvW5RnubPsXVJmPi2lKMvLYmhRbmx/2BfibgG21zaxraaBsWUFaZ+4RQHPrdrOO1v3dfuYoOcwirz2wDFxRFwXCDlx9gAfqZA+2mUT8RNiJaQlYdp6AfbWN3PBL1/inzdeQFF236v5qUVYu7eWqqZQ3KMuKEaX5lOU7U/7z3Qmee655zoFU+2amtyzL2b16tW8/PLLKKUYM2bMQR//0UcfMWLECJYtW0Z5eTmtra34fD5eeukllixZwtVXX81DDz2E3x/7nP7rv/4rs2bN4qGHHuKWW27Btm02b95MY2MjDz74INdffz0A1157LRs2bKC8vLzT661bt45jjjmGV199laFDhwJw4YUXUlFRwX333ce8efMYMWIEANdffz3RaJQnnniCCy64oOM7s0mcAAAgAElEQVQ5brzxRk477TTmz5/P9773PcrKyjruq6ysZPr06SxdupRBgwYBcMEFF3DCCSdwzz33MG/ePHJyctBas3LlSq6++moeeeQRlFJcd911bNy4sVPyp5tvvhmfz8fixYuZNGkSANdccw0///nP+cEPfsCjjz7KD3/4w8P+PRnuobDoZzsUei2qHTHbIA0jkwgcl+OnvwdXJuFK2rJbv8dmfFkBSzbsitu/1yIs37Yv7UuRCFDbHOLf/vIOkWiCwEogL8vPfXO/RH52AK1TFxD2VPDZUzNZTg+991TPrFkKXl65kSff/gTdTWD14c4aFixbw23nTE5h61Ln1bU7Ex57C+GEYf263VtruM/rr7/O66+/3tvN6GT79u18/PHHOI7D+vXr+fGPf9wxk9gefHUnGAzy6quvdgSJgUAAgF/+8pc4jsM111zTEXgC9OvXj1NPPZVHH32UjRs3UlFRgcfjQSnFG2+8wTe+8Q2CwSAej4exY8d2eb28vDyWLl3aKSgdPXo0F1xwAc8//zxLlixhxIgRvPbaa6xcuZLx48dzzjnndHqOiooKLrroIn75y1/y2GOPceutt3a6//777+/03o8//ngmTZrEtm3bqKur61hS6/F4eO+996ipqaG4uBjLshg9enTHz73yyiusW7eO2bNndwSeEFvafMkll3DnnXfy3nvvHfQYG+4maHIti2kBi5eb+sYqMyMTCJ0jpS/+3Tg4QaE4tSgHr7Jw4zFMWvApwPFDSllge4hG4+z8FGHFtv1cc2JFspqQEgp4eW0lWw80JpyDU6L5ykkTGFNegqP79O6LPkuAa2dN5p1129lSU5t4ZlqE+xZ9wozh/TntmPL4j0lTIrBk4+6Es8XZfh/Th5S4cnO7kdh9993HD37wgy7/vnfv3k6zb6l0xx13cMcddwCxBGoej4e77767Sw3QRIqKijpmGj9v4cKFADz77LMsXry4031r164FYM+ePVRUVDBp0iTKysp44okneOWVV3j00Uf58pe/3GlPaDu/399pP2W7c889l+eff56VK1cC8OabbwJw5ZVXdtrX2e7kk0/ml7/8Je+//36X++Jl+B00aBBbtmwhGo0CsWN1xhln8OKLL1JSUsLDDz/MvHnz8Pv9HZ/Jl19+GYgtY7777rs7PV9dXR3RaJSGhoYur2WkG0XAUpyR4+HlRid23e5DOTaMvkp1TJrErlnmnD1cSoSgZfG10qy2/d7uWgEJSQw+FXDswCK8tqLte7GLT3fXAG6MyQ9dYyjCPa98hE5UegIoL8zjkinj0GICz3SlAI/Hy4/nnMbNf3iRunAkYRBW1xLmP557j1f+9VxyA+5cb3+4RISGUCRW4zOBHL+HSQOLTeBpHLUbbriB008/HYDy8nJGjhxJ//79e+z577///rj/7vF4KCwsBCA/P58PP/yQhx56iIceeojLLruMoUOHcu2113Lbbbd1m1W8XXvw3tLSckjtal+ye6SUUvz5z3/m97//PQ888ADXX389t99+O1deeSU//elPO832vvzyyx2B6Bfl55tySemuvYbhFQV+7tnXSp37+p+G0YXWsYDBsmxAEK1j83ht/QrTvzg4waKfR9HP73NtfJXU9XElOVkUB7zEe+sK2FRVT8TRrjwwh0KL8Lt31rN6T23iBzma08YMJz/L78bBB+MwiBZGl5VwxYkTweluGZOwYts+Hli8krDTN7I9KKWobmqlqqk10QMYkp9N0Ocxp7lx1KZOncqcOXOYM2cOM2bM6LHAs312cuvWrUjbnvjP3yKRSKelqP369eMnP/kJO3bs4Gc/+xmO43DXXXexdOnSQ3q9DRs2AHTst2wP/hIFo+2zr1/Mjns4CgoK+N73vsf27dv5/e9/T2lpKQ8++CAPP/ww8NkxuO++++IeAxHhySefPOLXN9zBUhYKxVC/xVBf+9K7zOVowREh6kBU9/BNBC2g9GefIePQCRoRTTTgI1IxmoaLL+PAtVdz4JvzqL98DuFJE3Dyc1ECkqjMm/E5wsigH59tYSsLq5vShb0laTOfACXBAKP75VNZ39zluidATXOYt7bs5dRR6bk8MaqFBW+uxulm1jPb7+OiaWMJRZ20DbKNz4SjmrknTeL9rbt5f9uuhI/TWnPXP1dy8vB+nD3m4HvU0sHyrfto7iZD9fjyQgJe25znhmudccYZLFy4kK1btx7WLGNWVhY333wzhYWFzJs3j5UrV3LGGWd03N/c3Ex1dTW5uZ1r3P76178GYNq0aQAdge3TTz/dZckrwF/+8hcglqyoJ3z9619n8uTJnHDCCR3Zbk855RQAXnjhhbjLrY0+QqnY7KeG4wI2n4R0bLVOhs4ceSzh9JGVjCupTsrzv1NZzvLtZVjKbDs5VO1ButZRIgOOoeXis4jmF8WWhysHtILSUsIVFahQiNxnF+LdsAGtY79PMcc5Dg2iOCUvgBer7ePuvuOU1ODT57E4dVQ5SzbuJl54FnEcfvfOurQNPn/15ho2VjUmvF8pxZzjxzOwIJdIH5kBy3SK2O/11vNP5luPLeRASyjhYyUS5paF7/LKwBJKcwOpa2SSPPXhZnSC89gGThjWz2S5NVztuuuu44UXXuDuu+9mzJgxnWZUW1tbWb9+PRMnTkQpxcKFCxkwYEBH4AixsidAx9Lcdk1NTZx33nk8/vjjTJ8+HYDHH3+czZs3M2zYMGbOnAnArFmzGDduHKtXr+bBBx/kxhtv7HiOZ599lrfffpuxY8dy+eWXH9H7e+ONN2hsbOS8887r+LcdO3YQjUYJBmP1d0899VTGjx/PsmXL+Otf/8qll17a6TnWr19Pbm5ul4y+RhpSClEwI9vD72tawNM3toEcLkfguLJqfvPl18jyRXt266vEYqSGFh8X/ukC1lQVu7Cr71IK0IIz8hiavnw+OpgDCLEpThVbmymAaMTrpeGiC8l5+VUCn642gWdCFkFLOL8kB0SDct+sJyQ5+AS4cOJQ7nvtE5pCXZMOiSgWrd/FgeYQhWlWmmL7gUZ+uvhTwoky3CpFrsfm0unjCKfx0mKjKxGhtCCXm849iXv/tpRwguVMAny0s5p/f/ZtfnXVqfjSOAvs7rpm3t6yL+HCrdyAz3WDSI4WaluiaC0UZHvx2uZTmOnOPPPMjgy0Q4YM4YorriA3N5edO3eyaNEi+vfvz/r161FKsXjxYv7nf/6Hk046qaNm6JIlSxg1ahRnnnlmp+fNysoCYoHd7Nmz0Vrz9NNPEwwG+c1vftOx1DU7O5tHHnmESy+9lO9+97s8/vjjTJs2jZUrV7Js2TLKysp48MEHj/j9ffLJJ3z3u99l3LhxzJo1i8rKSv7xj39QUlLC1VdfDYDP5+O+++7jqquuYs6cORx33HGcdNJJhMNh3nrrLVavXs38+fM7BcZG+hLRnBL0kO/xUNfbjekltoK6Vi9N2ovX0fTkKkQBtAO1ET8h5+D7wI3PKIRoMJumL52F7kjYpjr95/OdZ/H7abjgfDw7d2EfqDUzzHEJ44J+jsv1o1waeEIKgs/JA4sYnB9k3b7aOB1XYU99M9tqGtMu+Hz2k61sPdBEwn0UUc2pkysoyEr/GS+jKxHh7PEj+XDzbhZ+uDZxFkERnvpoK3Mmj2D2xKNLJtKbPqysojrBfk8FVPTLo6Kfe5KUNLQ6LFi6k437WhARyvP93HLuEIJ+0zlol5OTg1KK0tLSuPd7vV7y8vLiZndt1x50tZcy6Y5lWdi2HTfLa7sBAwYAR554x+v1kpWVhccT/6stKyuLp556itdee40HHniAJ598knA4zLBhw5g7dy7XXnttx/6YW2+9lfLycubPn8/bb79NeXk5t99+OzfddFOXzLM5OTksWbKE3/72t/ziF79gz549XHzxxdx1112MGzeu02NnzpzJypUrmT9/Pr/97W959913GTp0KLfccgs33XRTp3qcABMmTGDdunUUFHQtS+b3+7Ftu2Mv6TXXXIPH42H+/Pk88sgjFBYWcv3113PLLbd0OqbnnXceK1eu5Oc//zlPP/00Dz/8MFlZWcyaNYsbbriBb3zjG4d/8A1XsrAZ7RdOzPbwcnPmllzZfiCfC35/AYMKEq9WOxq763PYXJOLUtK2utkERgejBcKjjyFaVHSImUcFLIvQxAlkLV2KUkkPYdKPhtOKglgunvUEUJKCndFzH3uNJz7YFL8Bls2jV8zg2pPGpM3sYHVTiFPnP8/qXdUJQk9FYZaf31x3CYXZJvjssxTsr2/me48/x+76xm730gzIz+a1717oqgDtcNz+wvvc9fJHsWUccfzwrGP5/2Yfn+JWddXQ6vDa2hpe+rSGhtbOHa3zJxRz1Yk9lzHVMLTWTJ06lZ07d7Jp06Yuez4No7eJCIhmQXWIG3e3otFt31Xp0uMSxntt3qvIw6+sLq0WrWkJh7ng5vtYuXE7VjdrarUIIoqeXotmI7FVokpiq0ZN4HlIHO3QePllhI8ZcWiBksSW5Hp27aXo8T8gcvjHWUT4l/Nm8v/+7euxsnBxpsF3hyJMXL6V6qhOo/JEbdGIIzx/7EDOK8pGWe4dbE9JWDxrVHnCjrloh1fW7kxFM3qEo4UFy9awak+8mdz2BzmcNWEEpTlHnrHQSAMCZfk53Dr7VLK83Y/A7apv4Y4XPyCahnt/RWDx+l0JA0+UYubI3l1yG9XCJ5WN3LFwC0+/t79L4AmwfGviMjGGYRh9kii0CKcEPQQQ0FZsyikDWUphW+C1pEdvlhVb2qs+VxLEODiPZaML8mP7Ow+FArRC5+US9aXXasmkE0Arirw2E4L+2CCTi6Uk+DxlRP9uX+j9HdXsqGlMi/TUda1hfvXOOpTuZvmKZXHhcWOIdpMF1+gbHK2ZPKSM8ydXQHeBpQh/+3gLv1+xPlF5UFcSETbsr2NTdeKi85aCSQMKE96fbNtrWrnzH1v52Ss72FsfTvi4IcXmy8owjMyirNgfg72KIV6VqcluAZLbx0yj73W3sGwVm5g61EhEFFiZm7H54IQ5pTmU+2wU7p31hBQFnxX9C5gyOHEGsC01Dby+aXdajBj96s217KhpSHidUQJzpo9jSHG+uRZlCC3Ct2dNYcKQsm4viiFH86MXPmD1ngMpbN3RUjy/ajt7GuLXJVTAKcP7U54fTG2zgNrmKM+8v587/7GVzftbiHYzml9e4OOK6fH3NhrGkVJK8bWvfY3vfOc7HfsuDcNNRATbsijw2FxT5ItNMqXNUsKe01EfUkusrmRP3UQjAhJLy9qr7zHdRKNRVHMzhzxJ13baWq0hiDppMWGVMgr8luKbgwrx2rYra3t+Xkp263pti7lTRvHe9mrifThF4MXVlcydOgrbxRfFDfvquPvVD9HdnPC5HpvLjx+HQmEuRJnD4/PyvS+dxLcX/AXtS/CxEmFfXRP/9/n3+fM3TjvoUl03aAxH+NvHWxNe5EUpvn/GJFKZSNbRwvItdTy8OHGd1Xa2pThlVD7XzRqQgpYZmUYpxfe///3eboZhJPTZoL7iigI/91WFqI5aiJVZ/RMRITugCNrNSXn+2tYAEUd1u+fU6ExrjXfbdiJDhxziTwhg4d2wARVpRVmZWTooPsUwv8XkYHock5T0fhVwZsUAcrN8NLaEuoZkollRWU19a9jVWW9/s3wdDaFo4gdoYerowRQFswg73TzuKCnAdvFG4kOR7Lq3XdMS9LwvztRXlBXzvS/P4hcvv0WiRdkCPLtyKw++voofnHls0tt4tPbUNbNybz3x1goroCwvyGmjylO2auGTykb+8v5+tlTFz7z7eRMHBfnKtP4MNcttDcPIdAoGeW3G+zwsdSKkaOGba5TntfL0FS9Skt2alN7Brvoglz11LtXNAVPv+hDZlgf/p5/SfNIJ4LVJfE7q2H2iQDv4V69HqfTuA/c4EU4rysVGg8uX3EKKgk+AESV5DCrIYU1LKO79Ow408s7WfZw3bnCqmnTIBNhV18z/vrcpbie8g6VYvrmSy+Y/ldT2WCq2UftwqMOchfV6knvy2srCk+QLtDfJdTV9Xk+XoEsQLMvC6Wa/rxLhgcWfctHEYYx2efbbxRt209Aa/zMrwMSBReQFEpfi6AkC7KkL89zHVSxdX9vtYxVQXuBnztRSThiel9R2GYZhpA+FQrgo38PS5kj6JLvtAY4oBuY1Mjy/Aa/t9Ox7b+ta5fgiDC+oo6rZVDg4ZAo8B+rI+/tzNFx0IWJD3CKsYgGCcjTBRYuwd++Om6U2k9korigNEjuI7pey4DPb6+HL4wayZm9trCLvF4QjDr9+ex1njB6I3+Ouk0pr4b9eep/ttQdfrtEcjYLTV2ppHcoV+miW7nRJmn4Uz+UWKnFW2DYC7K1v5sJfvsyK/3Mx+VleV+53bok4PPXRFnSiQNr2cG7FgKTv/X/50xqefHcvEefg58ecqaVceGwJHrP0yTAMo4MADg4X5/n48d5WmiRzErdYSvP+rn781+tTOLasKimv8c6Oct6uLMdrOWRUZH8UBEApvOvWkf8PRe3Fs79wrwI0iEJZkL1kKb5330VZ3liZlAw5fw9OmJbr58Rcf9osp09Z8Glbissmj+DhN9fS1Op0CTNENC+s2cm2mgbXzQZt2F/HXz+tPGhQ0aEPbIJWgK0kKZfQqLQfoi8cJ5E+kAjh0H/3G6vq+Z+ln3LHeVOS2J4jt2p3Da9v3ht3v6cCCgNevjRmUFJe29HCii31LPy4ih018WdeO7VHwej+2RxojvKHt/ckpU2GYRjJdOGxJZTmJGfPliK2VWSQV7gw18uTdZG2/n3fD0IVse7FQyuOxVY9n/VWEBQKvx3bk2gcGoVqi9Nt7DVrKdy/n9CkSYSHD0PnBgGF1dCAd/sOfCs/xbtnH1juHKzvNRI79y4pzcFvp8esJ6Qw+ITYEr3pQ/qxeH1l3PtbIxEWrd/pquAzqoVH31zL/vrkbFJ3JS1MHTaAb54xDecg9cA00iOxtqUUz763hkWfbkAyZDmFiPCzxSs5eXg/zk5SEHc0nvpwM5Fo/L3LguKMY8oZVdqzS1tFYGdtK396Zx8rdzYe1s+t29PMuj0Z9Dk1DKNPmVlRmLTgMzaPpPAoxbWFXv7e4NAqmTJLFysxYxObLevp4EWQvrFwq7cojYWN7K8hsGgRQcuDx2sTsTwQCqElisJCWbbJcNtJ7FgELYtLSoJts8G93KRDlNLgM+CxOadiAIs37oI4S/mUCM98uIXvnDzWNSMbn+6q4eE313yWpjsDZPu9fP/sExnYvzBpk7jqC/GlaBjVr4jtVQdYv/9An5g9PhQNoQg//Md7zBpVjj/J+2wPhxbh5bU7USJxv1Ntj82XJwzB14Ntbg47PLF8H8s21RGOZs7nzTAMI9kUgMSyP5yQ42Wkt5VVYdXnZz3bJXOZpsLKjBg+SdqPn21ZCLFzMhrVICFilYFi+TXMUtsvkNg2ry8V+RkW8KIsUKLS4lxM6RSTAGePGUjQF39kT4A3t+xl+bb9rhhEEmDBW2sJRfvKHs5DoIXzJx3DsPIitBZEknPTTuebiJDt8/D9L51IADJnFFGElTurufUf77rmPBNg8fpdrN5dk/DXUJTtZ+bIsh79Na3Z3czaPc0m8DQMw0gCZVkopchRFnML/G2d18z4sjVBSxpQnX9PSsUC0fZ/M7/DL1BCtm3xzQEFeJXVNjucHisHU9tKEcaXFXLysNKEo22hqMPPl3zqiqn1HQca+ctHW1AuaEuqWAounj6WxlAURySlt7CjGT2wH984bVqmDMYCENWa/3l9Lf9cd/C6lakQdTQ/fv79xEuuleLMY8oYVBDs0Y7L1KG53H3pCGZVFBDwpscF1DAMI50opcBSzC2wKbP7/n5Pw/i8vtabPy7o49zCILQNLKWLlC67VUrh99p886QKXt+8l9ZwJO7jlmzYxf7GVvrnZqWyeR1EhKgWrn9qGdVNrX3uZO2OZdv88I8v9XYzOpZYZArlRLh14QqOH1JCSU6gVy8iq3Yf4IPKqoTnfY7fy7dOGoPH6vm9M15b8a2ZAzh/QhF/+WA/725p6NHnNwzDyHRKYLjPy1cKffyiKtyejai3m3XUpCNDqmEkILrjDFFf3P+VVgS05qqyfKI42JJeS79TGnxC7NicO3Ywg/Kz2bi/Lu5j9jeF+NO7G/n+GRNT27g2Sik+rKzin+t3Z8ySlHZRrdnV2NyrAbei741OHYwAq/bW8v1n3+E3V52Kz+69q8if3ttI2Em89HV8WSGnjx6Q1DYMKgxw05mDeXdLPX/7oIodB1q7fbylYFZFIedNKGJggT+pbTMMw0hnCnDQXJ7n4ZGqMBHalt+maQCqUHi9VuZ1HIzDEtv2BVlttckFHdtvmm5EQEG5z8uXirJQYoGVXgMvKQ8+hdjMybljB/FgVX3c4M7RmoeXrear00dRmhPASvEFUYtw32srcTTYnpQfIiOD/eWT7Xx5wla+ctyIlL+2FmFHbRNPfLA58ayzUsw5dhhA0seYFXD88DymDcvlxZU1/PWD/YQS7AfVAkvWHuDNDbVcNqUfX5pQhKcXA3jDMAzXUgJic3zQ4uRgmCWNUXBPvrvD5vV5GDGoP++v3oKITvMZLSNplICymFwxrG27c3LKCSadxN7K9cNKGZnlR6vY39PpzfTKzCcKvjVjDL9bvp6mUPylt1sONPP8qu1cc2JFStsH0BJ2+NZJo7nxlDEpf20js4mAZSm0SEoHXYTYjP8f393AzobEs4z5AS+XtgWfqWqdpRQXTCpm2rBcXlhZzeK1tegEwXHEEf733b28sbGW2ceWcOLI/PQvHWsYhtGjLOy2yZJ7y7I5Z0s9DWnWeW0nKGzg6gtO5e+LVxB1zPSnEZ/SisLcLE6ZPLatgkWaDlJYUGhbzC0OICJYKr2W3EIvBJ/tJgwo4vyxg3nmo81xV0po7fDn9zfxL9OPwWen9gQJ+j2c48K6i4aRLApoDEV46sMtiBO/tqcCvjZtFCNKera256Hqn+dj3snlnDg8nyfe3cum/S0JH1t5IMQjS3fyzpZ6LptaypCiQApbahiGkQaUYnKWxcSAh7da41/33U617fScPnYkZ50wieeXfYjHtum8NkdimX2NzBCrK9TlHx0Rvn7+KfQryIvNHqbbdCHE3pYIF/ULMjjgSdtZ/t5rtQjfPnkMkuDAKRGWbdrDonU7U9www8hMC1duY/WeAwkvxcGAnxtPHd/r+6DHDsjmP2cP44fnDe02K64IfLCtgR8/u4VfvbErcfZewzCMDKQAjwXfKfJBmla4UpaFZVlYKH5x89cZM3wAjhMGiW3hgrZERApzy5Qbse9/EWLf+1pwnDCXn3UiP5p3OXbbOZOWgZsI/b0e7h5Z0nuzhz2g19qulGL60FLG9s9j7Z46vljKXoCQo7n75Q85ZUQZOQFvuo1PGEZaEGB/Qwt3vPAB0W7Kq5w0tIRhRbmuSOdtKcWEgUHuuWQkr62t4cVPaxIGl44W3lhfy+BCP+dOKE5xSw3DMNzLEri8wMvjtR7+2eyOWtNHRpGbE+Sv93yf3z6/lD+99AZVtfU4Tmx2yww9ZhZLxfo2Po/NkLISbpxzJheedgIajZ2uy23bXFgSpNxrI6JI18BISS/Xs3hx9Q4u+tWrRJz4F71AIMDfrzk9pctgt1Q38NNFn9ASSecLsZGugn4PPzpnMmV52Sl7zceWr2feE2+BE38Ptt/r4Z/Xn8cpI8tS1qbDsacuzK+X7WLj3paEAXRxjpefX3lMiltmGIbhXloclCierAsxd1tzbD2cCwYYPyOM89q8PzqHgLITtk0jKC0ICktBVX0jn2zYxt7qutj+vnSc5TKOjMRmvJWyGFxezKSRQ8jNykIrwRYNVuJ5N9GaXRGHY5dvpTqqcU3SiLYVwlmiWTxlCMfn+gALZaXned3rs7ZnjxnIxIFFfLB9f9z7Q6EQP1+6mtNGlePzJD8dmwB3vvgBj727EZO32+gtOT4v986enpLXao04/Pqd9SgnEv+MV4ozRw9gxoj+KWnPkSjL93HreUPZsLeZ+1/aEbdUzIB8Xy+0zDAMw70sZYOC8/N8TMpq5ZOQ056Brreb1qHeERzaspMmaJeFAkt1TASV5OdyxrQJKWuj4X426hAGIYRaxyEsuCofkULHtisOLGRabhYgaRt4ggsOrceymHf8MZDgIIoIL6zezt8/3Z6SUFBrYdmWvbGRk/ZF4+Zmbim+Ld64KyXnu4jw2PJ1vLl5Tzevp7jmhNEpL3l0uDyWYmx5kAe/OoqvTOtHftZnY2tZXouLjyvtxdYZhmG4V66tmD8gm2Bs6rO3m9PJAUfY0tq2f1M0Zl7AOGxykJNGYv0hUCyvC9Gs3bQJWhAsSjwe/nVQIVYf+AD0evAJcPlxI5hUXpj4cifC/KWrEPniztCeJSI0hMI0RNx00hmZqKo5THMokrCkSE8QoCEU4YHFnya8MCulmDGsH2eMHpC0dvS0bJ+HLx9bzP2Xj+SiySWcO7GI/75sFBVlqVvGbBiGkU6UwClBLycG2zPFQvvyxd7WJJqn66I4CFpULAA1jMNxkMHzsHbQWtOqhT/vqSPO4qle8lnfbG7/PEb4PYhSaT3rCS4JPvvnZvHtGWOw7MTLapdv3cvTH25O+nhcwoQrhpFCAiS7XJkittdza3V9wscEvB5+ePYkCrP9yW1MD1NKke2zuXxaP/7lhDKKgr2+w8AwDMO1BIXG4T/7BQjQvgrHBV1EsQDh/1W1sqUljJCeJWEMd/MoEKVZVt/C0gNN7tnriYCyGea3uXVIPigntsQ8zbngyhJz8aShDM7PTjg6EXY0P/j7cvbUNyetDUopCrJ85HRTvsEwUqE4y0duwJvUpa4b9tVx50vdZ7idMrCIM0cPTFobDMMwDHewsDgp6OGKfC9KrNh0aK9zQNk0avjP/RFatMJRgojGSTLGPA4AACAASURBVNf6MIZraNGxmxL2hDX/samKqPrc7H9vEwWO5sZBBZT7vNjK29st6hGuibIG5Af5wVmT8HUz2lBZ18LjKzYktR22sjh+cAko1euliswtM28oxawR/WP/n0QPvrGa6ub42W0BArbFd0+dQNBnZg0NwzD6MqUUlmXjUTa39QuQbcWy4PY6ZYGKTYA+URfl+p3NhBxiW1IcOfhevjTXywUp+jQhludFtFAfES5buZv3G0NtnbGOHlmvGxaw+Vp5PqKsWMItdzTrqLiqV/nNk8bwhxUbeWfr3rj3i9b84vVVXDhhKGPLCpJy/JWC28+bQnVziB21jUl4BcPo3qiSfG46LblZ+t7bXsX/vr+p2z09Z/3/7d15fFTV/f/x17l3lmwkEEhYRdYgKgoCglaUIkrdq7iVutSq3bSr39b6tf261aVqtZutdan6q6372rogoogrSFFEEFBEkX0nezJz7/n9cWeGBMiCZJJJ8n4+jGSSOzdnJpOZ85nzOZ/PsL5MHTkwWeFbREQ6OgMDIiF+2iOHGzZWYTFkyouAxfLwtjgfVW7luuIoE7vmkm0tmAxJEU4Ha4MAtA0K/plM+KWnTTD3qfQtT20s57rPNvFptZcRj/MUCzkG/rpfT4pCbkb0WG8pbd7nsy4LPPzfTzjn/81quNCK4/KtsYO5d9qRGJO+P42Y56Ptn9IWXMcQStN+AwtU1sQ47d4ZvLRsLTRQ0c0xhld+eAJHDumdUc/FIiKSXp4fo8KDSSsq+G91HKzFmBA2I9JwAeuTXVPDeNdjbNcc9s8Jk9vOC7A0pMj4jM1xE0mgrfdqbPF5pdJQmzkhQouxvsdW37KkyuPVzeUsrqyhNqNmOhawGGs5vUcX/rV/T4xxcTvQYzyjgk8Az1pOvHM60z/6YrcZ1wbIz8ni+e8cm9F9B0Uy1ePvreCcf75GTe3uU26NMZw5ciD/+takjG+vIiIiLcvzfSxxHtnmcc7KymBlMZH+mhGsCd44jVVjysuCccV9CHWcyTkAvmFyXoi/92mbgn+jVlSz2euABZ6sCd5I8Q3G2GB1P6PmOhZjfbKMyxtj9uWgHINrwh1q5TPj/lJdY7j2hNHkZUd3+zxnge1VNXzn4dfZWF7d2sMTaddWbi3nin+/23DgCfQuyOXWU8cr8BQR6YSCrLIQpxaEmdYtjMHNnMATAD8IFiJZ2Jw8LA7WdYN/MYl/O8CHY8Bawm20RGSxWOu23e1P14cBSO4ldoLHUkYtwwE2xHUDuzMqN4xDCD/jBrh3Mi74BDi4b3dOG7EvtqHJr7Us2ljG/XOWdfS95iItxlq47ZWFfLKlouFjjMPF40voW5DbiiMTEZFM4RiD6zhkGYdriyL0dDNsomVMMHt1DGRnQ04uQSRh6XAFcNs06DdkRsXjlpa4U+sGnZn05oqF/lmGc3vlYgHHcXBNRoZrX1pG3pqI63DjSWMpKe7W4DHGi3P9S+/x4dotDe8PFREgqJj31qfruOftJRi/4TSa0fv04NIjD8isDBQREWl1Ftg3GuL/emZnblVZYyArC/JyE0GpXrykfevqOjx9UD+6h8IZFRO3pIwMPgF6F+TwoyOHB/sMdiNIv43xg0ffpDrmte7gRNqZDeXVnP/ga1TUxhtM3nDdEP97zMH0yMtq1bGJiEjmcQgqnp7fLczxeWGMT2auLBoD0axgBdTaOh9tPTCRPWQt5/TM4+CcCEHLx44ZfmZs8GmtZdqYwUwc0rORTbaWtz9bz91vLdHqp0gDPN9y+6sL+XRLaYPHGONw3H59mDK8n/qKiYgIyTafEcdyTc8I+U5QhTNjZWVBbh7JsLmDztulgzLW5+CcKP83sAcewaJaJrTaTYeMDT6NMXTNjvKHqYfTNafhlRjPt1z5n3d5e8WGVhydSPvxzAef8YdZHzacNWUMfbvmctc3JpAT7li9pERE5MsxOFhjMMYwKjvMLb2yiGB3VJvNpEDUmDopuDmAIeiXpxVQyWTJx6gl2zHcNqSQwrCDSwgDmA4afWZs8AnBm1b79+rKt8cNwWmkv01FzOPXz81ja2VN6w1OpB3YWF7NtdPfozrecK6UYww/PnJ/eufnKPAUEREgiOVCjoNrQoDhm4VRTsgPg/WCCVomToyNgUgUcrPrFJRR9CkZyhqM9XGt5Ud9u/GVrjkYHIxjgrgnA//EWkJGB58QTIxvOPFQRvUtbPh3YC2vfrKOq5//L7VeJm5IEGl9lbVxfvjYWyxYs4WGXnwNcNTgnvx44oFKXRcRkd1zIIThD32y6R8OkViWaetR7Z41kJ2TKEKEYk/JXNZircMRBVlcM7B7Yr2z4z9g20XwGXYNN58yDttYqWHrc/ecj3nxoy9ab3AiGez/zV3GIwtWNFqlsEt2lD+d/hVCjlFfTxER2S0Xh7Dr0C8S4o+9swi2pGXoa4abGFc0sQfUJNqwJNIbRTJJt5DDLUN7EnFdHNfpFHOxjA8+Idj/OXFob3597EhCbsNDrq6p5dLH3mbR2q2tODqRzDP38w1c/eL7GL/hTIBIyOW64w5h/17dlG4rIiKNMgT7Kr+W7/KzHlHCmR7HGQNZUchJ7AHN9PFK5+JbclzDH4b04JC8CJD4G8vUN3VaULsIPiFYAb1yykgO6dudhpoQWuCLrWVc+vjbrTs4kQxSURvn/H++zvrSioZfa43hhP334YdHHaieniIi0iwWCDuGm3pn8ZUcJ/iCl8FRnXUhOztIwU0W6/XrtGMRaW3JxyBwao88zu6Zh8WQmX2M0qPdBJ8A0ZDLH08/nF75OY0eN/uTNXzvkTeojnt6o0s6DWst5TUxLnhwFsvWN7L6bwz9C/O47oQxCjxFRKTZHAyOCREyIf7QJ4cBrs3szBljd/QBzctL7FVNjjeDxy0dlwGsz+Ru2fyxpJiwEyLkOLSzkGyvtLtbOm5AMdcedwghN9TgMb613PvOMv7fnI+VZiGdhgVuf3Uhjy34vNHiQflZEe6YehgH9O7WeoMTEZEOwziGEVkOd/bLJWLaw4qNqdMHNHFZsWcTNIFOC2spirrcMqQHXUNOg9mcHVm7Cz4Bzh07lDNHDmj0eSPueVz2zFxeWLwS0J+QdFzJx/aD737CjS8vBNvIRMAYLh5fwtf236dVxiYiIh2UcZjcJcytvXMIY8noGDS54pmVFaTgwo4sR78VZoipli978OEbbJu2s0lWXt2TDzKzBU+msFDgGh45sC8jcrM7bWzSLoPPaNjlz2cczuj+RY0eV15dy0+efIdPN5fpDS7psAww57MN/PLZuVTVxho99mv79eP/jjsEt5G+uSIiIk2xFiyW73WPck5+Mhstw6fThkQV3NwgGPUtOGmcIaaq7Hrg+Xv2gYdpo/szngyWfbtnY/Y9sPHkg0PqMNYnjOWKfbszIT+KwbbPIKwFGGvb747rt1es5/i/vsi26tqGDzKGg3oX8sL3v0afgsb3ioq0R59sKuWEO6ezbMO2Ro/rnpPF6z85ieG9urbSyEREpKPyrcVai2ctFb7HGZ9X8UplHJvJaYSWxIKehepqqKgIPk9XAOobCkNwYe8CQo21C9wtyz5ZLt/Ia+0QJbgv7tgao8Lb0+taSj2fu9dupda4KuqUYsGH7/bO588lRRjHYH1wnM7RWmVn7Tr4BHj8/RV88x+zqI3FGzzGGMOpBw/kwXOPIivkZvbmeJFmstZSGfM48a4ZvPbxahr6UzYE/Txf/N4UDhvYs3UHKSIiHZsFz8b5rMbjxM8qWBLzg9TLdK4otgTrQ00NlJfvCEpben5oLQfmRHhzzD7kue4eXdVgMW28NuZ/ieXLzypjjJj7GZVpGE+7ZAHf56vdsnlsRB+6OA4R16Ezbzpu9yu+Jx/Yn0uOGE4o1HABImstTy74jEsfe5uYb5UJIO2eBbZXxzj7vleY9fGaBgNPgHA4xBWTD2LcgOLWG6CIiHQOJghS+kVC3LdPLgPDTlBlNtMlq+Dm5qYn8Nz5x9k9+8iEvZN7Oub28Gtvddbn8K7Z/OOAXnR1DcYk3+novNp98BkJufz2lEM55YB9Gn3iMNbn/jlLufr5/+K3xuZykTTyPJ+fPz2H5xZ93mSBoYvGlfA/Rx/cKVM7REQk/UJOiKjrMj7H5c4+2YSBkPUTaZeZWonIBPPG7JygDYtlx3jTME80xuzxR1v7UmNWBArY1J7iftEw9wzvRZ9wGMcJEXb2bAW8I2r3wSdA2HG47bTxjO7Xo8H3EoKerpZbXlnIDS+9F3ytfWccSyeUfMT+9Mm3uW/ussZX8Y1hwqBeXHX8aEKZnv4kIiLtlknMvjwMR+WF+Ee/XKLGBKt3GbCC16TkCigGfCfzU4YlwwWFmnqEHR7ZvxdDsxx2rHfqsdUhgk+A/t3yeOCco9i3ez6N/WLjnseNL3/Aba8sxNMKqLQz1TGPa16Yz11vL8XzGns32XBw3x48dsEkivOyWm18IiLSeRksIWP4etcQ1xRnkZNKMcz06qfJPqA5wYrVTt1D9lpG3/YWZqHTBlipKsGG3mGHB4f34tD8rERWd2d6EDSuwwSfAAf07sY/zjmKrtmRRh/2VbUxrvjPPB6av7zVxibSEv48exHXTH+P2njDJegMUJQX5f5pE+iZrwrPIiLSOhwnhOuEiDphflycxTU9o0GbET9TU28TUn1AsyEv8bqZSsPdG36dwNPrJB9gjE/nirgTDIDFGJ87Soo4tjAX1xgcE8IYpdsmNVylp506YnAv/nLm4XzrwdeIeQ3X6aqNx/nBo29RXhPj+0fsj7b/SqYKCqVZbpzxPjfMWIBt5EXcAPnZEf553iRG9uveamMUERFJsgRtH7/fI4sqH27YGKMaj8xf80gUIbIWKqta4HQhKn3LrK2VRDtJKu/6mjgelsz/XaeB9ckzDn8fXsxJPXKJW5+w66IIo75232qlIX95fTH/88wcqmvjDQagBsiOhLn5lEO56LBhREKuHh6SUay1VMU8bnt1Ib+Z/j418UZaChEEnneeeQRnjx7ceoMUERHZibVgjcX3fP5nTSV3bo1RY8B4FuuQ9uqye8VaqK6Cisodq597UxHXZnracQsyAA4Yn04RdNkdnxS4DrcP6c55vbqmQm/jdMIgvAkdMvgMMiUst7z8Ab/8z7zGq4EC0XCIa487hF9MPrh1BiiyB37+9Bxuf20RntdEt2fH4e9nT+Bb40s6w9O9iIi0A3HrYX2f69fXcO2GGNZ4YNzMr4pqLdRUQ3lF8LkDnSKYkj1irI/FAd/jn/v35KziAowDjtJsG+ReffXVV7f1IFqaATAm6Gto4fVP19PYW06e7/P68nVUxzwmDu2dEeWtRSpq4/zo8bf425tLiDcSeBogKxLmd6eM46LDh+EYo5dHERHJDNZgDIzPDZFlLHMq48RItOSwJnPjOWPADQWVb+PxYBqp+aEkWcBYDNAt5HD/sGJOLy4I2to5DpqJNaxDBp8QPJe5juErg3qxobySD9ZsxW9kkdfzLW9+up4tFTVMGNyLSEjvWEjb2VpZyw8efYP7536M10Shhkg4xC8mjeDnRx9MyHH0dCciIhnDGIPBEDKGI7uECFmYXRHD911S/RAzlTEQCoFxIBbL7GBZWpcB4j5dQmH+VlLEGT3zCblu6vEuDeuQabc7i/s+P33yHf78+kdNpuAaYzjrkCHceebhFGRHWmmEIjtsrqjmnH/MZvriz5veImIcrjv+EC6ffDBhV/sKREQkM1kLMd/DN5b7N9fw47VV1FoTBHbtKQVXcYUAxnrkGJfHDuzNMYXZ+NYQcbVw1RydIvhMFm351XPz+NPsxY2mMAJgHI7bvx9/Of1w9u3eJfhSK4xTOq9kteUP1mzhuw+/wZzPN2IbeaMkmWp7+dEj+OUxI1UsS0REMp5vLQ5Qa30e3lrD/6ytYqMHYNpHcdSqSqisU4TIEqTlSudQ5/c+JDvMvfsVcURB0BvWYBKL+Ho8NKVTBJ9JMc/nyn+/y22vLcb3Gq6CC8EKaK8u2Tz3vSmM7NdDDyVJKwvMWraGs+5/hU3lVY0/NgE3HObqY0dyxbEHB/sLRERE2gnf97HW8mpFnFM/L6McwDeZHchZG6zQVu20AqrX4M7DBxyf4VkRHj+oL4OjIcLGBKm2ehw0W6cKPi1BAHrLyx/wq+fnYaxtMgDtU5DLdccfwnmHluA4yuKWlmWBWNznjtcXccPLH7C5rIrGHpUGsMZw55lH8O3xJYRc7fEUEZH2xVqfuOeDgf9WeVywspwl8eT+zwx+VbOJ/1VXQ4VScDuHZGEsC9YysSCbu/brxaCsUKL7jqPAcw91quAzyfMtf31jMb98di4VtQ33TQwYsiMuvz52FJceeQBdssKtMkbpHLZW1nDTywu49ZWF+L6lqUZghTlRfj/1MKaNHoKbye8Qi4iINEON5/F5bZwfrK5mZrkXpN9m+subb6Em0Qc0+bqtAKRjsgaDhwucWZzPHSVF5LqGsHH1O/+SOmXwaW3w7tpD8z7hOw+/3owANFgFnbJfP564cDI5kVArjFI6um1VNRx7xwvM+2ITzfkzzImGeOT8oznxwP6pPaIiIiLtlcUS84KJfZnv8+1VVTxVFm8nk/rECmh5RbAy5nS66XTnYCEEXDewkJ/s040w4AER18X6frDq2S4er5mjUwafSdZanl34ORc9/AabKqp3bCRukOGgvt358+mH8ZVBPRPL7XrASfNZa/GB5z5cyU+fnsOnG7c3fSXjsE/XHP7fORM5amhvBZ0iItJhBNNQi28tNb7PbZtquX5DDXF84jiZ/U6rtVBdBRVVBG1j2npA0nJ88B36RAy3Di1mao88wk4i0LSJ+b/N8FZBGapTB59J/125ifP++RqL121tMgA1QE40zPUnjuHiw/bTKqg0mwW2V9Xyx9cWccOM96mNNV70CgBjGLdvMf845yiGFhe0wihFRERan289rDU4xvLUtlouWV3Det/HZvrcvm4AaoN9rApI2jlrcaxhRG6Yv+3Xi0Pzo/i+xTgGx7SHssyZTcEnQenv9WVVfOvB13hp2Vrwm2jFAoRDISYMKubeaUcxoDCvFUYp7d2Ha7Zy0UOzmbdqM15T7X4Ax3E4/eAB3HHGVyjMjaqqrYiIdFjWWiw+1jeAZWVNLeesifFWZW3QCzST1e0Dau2Oqr1aGWs/ktFQYiX+Gz3z+WNJEYWuE9QbAsDRXKwFKPisY0N5Fde8MJ9731lGTazpfaAYh6E9uvDrKaOYNnYIjlE1XNlVVSzOfe8s47cvL2DltopmpHcHq+s/PPIA/veYkeSryJWIiHQaQVUD6/tsivvcsLGav2ypptY3uAY8bOYGo6k+oHW+polhO+AHxWwxFLiGX+9byCX7dCWKg3EcLDbxa9QvsyUo+NyJtXDjjPe5Ycb7VNTEmnWdkOtyzpjB3HDiWHrmZ+tdEQGCFfWVWyu47Km3eXrhSnzfb9b18rMi3HbaeC4cPyzNIxQREclg1sPzfZ4s9fnRmgrWeT5k8j7QVApuZfILWvlsFyyOD/vnRnjowN7slxXCNUHgKS1PwedueL7l9eXrOPv+mawvq6ap9hcQPA/uW9iFG04ayxmjBhLSA7ZTq4l73D9nGde++B5rt1c04xEEGENJUT6PXTCZA/t005sYIiLSqfnYIH6zlk9qYly2tpr/lMWCftiO29bD21VySp3sA5osQuSzIxVXMkjQu9PxLZfs253/3acbPcNuYqXTKPhMEwWfDbDAp5tK+eHjbzFj6eqgGXIzRMMhzho1kJ999SAO6luY+rqecjq21B+Rtcz9fCO/nfkBzyxcid+M/cMAYdfhtIMG8NtTDqV/tzxVURYREanD8+NU+JZ7tsS4dWM1a2NABsafwI4V0MqqHQGpXtYzjAUP9ssN838DenBqUQ5hY3Az8U2NDkbBZxOqYx7Xv/Qet81eQmVVVfOuZAw98nL41TEHccH4EvKzIukdpGSEzRXV/OX1xdw6azGlVc1p3RO8FhXk5fCryQfxw6MOIOLqXTYREREg1QPbGIPnx/GswTEeiyp9vr26ivdrfPxky4vgwDYcbR2eBYcdKbiW4LJkgOCxEsFwcvccfl9STM+Ii7XBexmOgs+0U/DZDDHPZ/bytfz4iTksWrel2UGF4zgc1LeQn086iG+MHpz+gUqbiPs+/5j7MbfNWsSHazY3/4rGYdy+Rdx26jgO3bdIqdoiIiJN8LFYP852D+7dUsvvNtWwIW6wZGCbE99CTSIANSRasei1vk1Yi8FifcuwnCyuG9yd4wtzyXLANa5WpluRgs898MW2Cv7333N5/L3PqIk33aPRANYYskIuU4b15ZfHjmRM/x4KMjqImOfzxqfruH76+8xevo6Y5wdPbE1czwC50Qjnjh3MVceNpmeX7NYYroiISLvnWz+xBmBxgPer4vzvuipmVVhi+HiZFHwCYKEqWYQow1ZoOxPfp2soxFnFefy6Xw/65Dh4BAvSjublrUrB5x7yreWZhZ/zrX++RmlV7R5d1zGGb44ezJ1nH0lORMv67dn6smouePBVpi9Zjb+Hf0IF2RGeuugYvjq0T5pGJyIi0kHZIADFMVhrcSxYx/L01jg/XlPBqpjFGAdrkrU6TNuvallbvwhRctqQaSu1HUadO9gG9/dBeWHuP6AvB+eEAYuxBnCwxqrAYytT8PklWGDZhm1c9fx/eXrhyub1BE0wQFGXHM4ZM5jvH7E/g3vk63mnnfCsZen6bfzxtUU89v4KtlZUN6+KLYAx5EbCTBs9iF9PGUW/bnlt/looIiLS3llrgw88VsXgns3V3LklxqbkspbNkHYn1k8EoJXBmFT9No2CXrH4lqHZYX7avxtn9MimaziEa1wVdWxjCj73gm8t972zjJtnLuDjjaU0965MpuP2yMvmkiOGM230YAZ270LIMfqDyDAWiHs+Szds5/45y/jrm0uorI1hbNPptZDY++s6DC8u4P++NpozRg1M84hFREQ6F+v7eEE/E0L4zK30uW59Ja9WxKnAZEbw6SfarlRVQWUlmLqrc7T96mxHYAnuV9+hKGQ5uagL/zeoB30jTrDdFoOrwo5tTsHnXrLAutJKfvvyAu56+2Oqamr26PrGCSrjnnxAPy4/+mCGFhekZ6Dypby3ahO3v7qQ/3y0hm0VVc1+gyEpLzuLnx21Pz+ZeCDdcqJpGqWIiIikWKj1PRZUx/nhmirmVMYShX4yLAW37pxCK6F7J5Fea4zl1O553F7Skz7REC5BGrZkDgWfe6nunTfr47X8ftaHPP/RKrxmFCSqyzguxXlRJg3tzbTRg5k8rB9ZYRdrrVZDW0nyjcfymhgvLP6Ch+d/ymvL17G5shaa2a+TxDkikTAnDO/HL44+iEMHFKe+LiIiImlmwccDa9kah1mVcW7dUMW8ap94JsypbKIIUWVFog1LBoypnYtaOLYwhx/268rhBVlEHRuk2GbKyrekKPhsYTHP55/zPuHqF9/ji82l+E1fpT5jCDmGkX0K+eWxozhqcC8Kc6OJPen640kHay0+sKm8mleWrubGGe+zaP02fB/Yo7cQgqJSg4vy+e1JYzl5xABcvaCIiIi0CeuDb/yg5aYPD26t5vZNNSyv8alNzKmMJagB1BZ1IKsqd+wBTfYrNRmwOpuJ6qYmJ+8n35LlGA7Pz+JH/btxSmFuatZmHYOjOzIjKfhMA99aNlfUcP+cZfxm+nuU1sSa1Ru0LgO4jkPPLtl8fcS+/ODIA9ivZ4EqcrWwuO+zZP12bp25gJeWrGZDeRW+37z9nPUYQ1FuFjecOJapIwfQNTuiNwtEREQyiOd7lHvw79Ia/rSllrkVXhDzGUMiZ7N1B1S3CBEo6GyMBYxPao+sheMLc/hR/258JT+LXNcJfoVqm5LxFHymSdCCyvLhuq3c9eYSHp6/gs2VNdg9SN+ERHEiDLnRMBNL+nDi8H5MKunDPt3yyA67qZ+l56vG1b2PKmrirNxazowlq3h28SreWL6WmpjXrB6dOzOOS+/8bKYdMojvHjE8qF7cwmMXERGRvWetxfo+GEuZZ5lREeeeLbW8XeFRav3EvtDWHFDif1VVwSpoakpu6v3TqVmbnAyDtRSHXSYUZPOdPvkc2S2HiEkEna4JUmwl4yn4bCWfbynjimff5d8fraK8as+KEiUZwDohIi6cfMA+nD5yEF8d2ptuOVHCroOf2B+qP71A8DwV3CexuM+mimpeXbaGh+Z/wvNL1gTPZ7635wEngDF0yY4ydUR/bjr5UIq7ZLf8DRAREZG0sb6PNbCgMs5V66t5uTxGjQ9+IgY11g36haZ7YmUtVFdBeUX9r3farTuWoHixC77FNZYujuXM4nz+Z99uDM3Owlpfq5ztlILPVmKtpcbz+XDtVu55aykPz/+U7dW1GOvveYonYIxDOOTQMz+XUb27cuSQXhwzrB/De3UlrDLSANR6PgtWbWbWJ2uZuXQ1C9eXsrGskrjn7XHVWki2yHEoysvi3LFD+Pb4Eob0yCfiOkqxFRERaYd8a7HWp9Z6LKu2TC+Pc9/WWpbWBNVTrdMK6bjJFdDqKqioShQh6szTcwu+IWTgkC4RvtO3KxMKshiU5eJYB+No3tWeKfhsRclVOGstH6zZwl1vLeHZRV+wemv5lwqGYEdAZIyhMDtMSVE+k0r6MHFoH4b0yKdft1xcU7/SV0f4c93dvRX3fD7fUs6yjdt5ddkaZn28luWbS9laHQ/2VezFQ90YGNijgFNH7Mu3x5cwvGfX1O9ST4AiIiLtk0+iRQc2eE3HYavn8cS2Wp4tizGvymOdl9hkiAP4YOsUBWrpOUBlZfABwc/wbQddAU1uiErMzfzgPnWNpX8kxLiCbL5RnMexhV3Icm2qTSokC3B2xPukc1Dw2cbKa2L8YdaHXPvie9T6PsZ+iWI3dZjk/w1khRwGFnbh6wcN4PzEKl2y/ng6MgAAHzlJREFUYJFvbbstXlR37L61LFq7lX/O+4TH3vuUNdsrqfaC+xH2tFZtfUFgb4g6DjeeNIbvHrE/OZHQ3t8AERERyVjWB2t8HOuxxbP8aVOMv2+pYVXcBsGqcTEWrOMRBKQtrKoykYKbCM46YvBpLeAm+nN6uFhG5mdz6T7d+EZRHlHjYwlqmyi9tmNR8JkBLLC+tJKXlqzmnreXMO+LTVTF/ODZrwUYIOQ69MzPYWD3fIYVdeHgvj0Y1a87g7p3IS8aJicSyti2IHHfUhP32FZZw/LNZXywejP/XbmRpZvK+GxzGRvLqvCtj99Sj2RjyI2E+MrAnnx7/DCO2a8vhTnRFjq5iIiIZDJrbSIjzWIT8d92z7K01ueF7bU8X1rL4lqosl6wLzGxepooCpFYGd2LSUlyD2hFJfWq8Fqb/hTgtKhTSCl5P3k+BWGXETkRTivK4ejueQzKipDt1L8rXdMWPXAknRR8Zohk+qbnW2YvX8d97yxl1idrWV9WTa3n7fWKKNRpj1QnXSE/K8Twnl3Zr2c39utZwIDCPPoW5FLcJZsu0TBZYZeI6xByHMKus0uAuvPDZ+cU1Ka+H/ctcc8n5vvE4j5V8Thl1THWlVaxensFq7ZVsHRjKUvWbWXhmi2U1yarBVtM4sm+Je4XawxZ4RC9umRxzLC+nD+2hPEDi3GcoO+WUmtFREQ6H4ut017SYLBs8yyLq2K8UB7j2dIYq2I+232Lb10sQTVdrNn7FctkCm4q6GxPwaet808wWYsYh4KQYXhulJO75zKpRx77Z4WIOsn7LVGxVm0cOjQFnxkq7vtsqazhhcWr+Mfcj3ljxXpqPItJtGppyV9asp0LxhByHUKuS8h1cbF0zw7RtyCXPgXZ9M7PpUeXLLpmR+meEyUnEiInEiI7HCInHCIadlOrrAAxL1i5rY7FqYp5VNbGg49YjE3lNWyrqmFTeTVrSitYs72K9WVVbKmqJWYd4p5HzPPwPG/HXowWv82A4xJ2HI4d1pvzDy3h6GF9KMiKZOwqsIiIiLStuB8L3pT2ocbAyuo4r1d4vFge59Vyj62eBcfZ0Zfyy6rbBzQ5XW8P85O6qWi+R9+sCEd3y+Wk4jzG5UUojoQIAR7gAq6r1c3ORMFnhkptw7aW8to4H2/Yzsxla3hxyWrmfr6B8pqgiE6drdppYRL7RzFmx3t/1scxEHVdXDdYEXWMIZR4QnSMSbU5gWB107eWWNwn7vvUel7wvJTop2USqS3Bf+m7Nan7yjgUZIU4fGBvJpf05uhhfRhaXEB2yA2KCKE33ERERGT3fB+M8YMcLGtT8aC1lrVxy7yqOPMq4syv9llW4/F53CfmQ1CTI5miG+x5TGW2ObDLkt/u+oC21cpnqt+mSU5Q60+WEhWBurgu+0RcDsiNMLJLFod2yWJklywKQyY1pwzKOgVzPgs4rd1fVdqUgs92pjrusXJLGU8v+JyH3vuUz7eUU1pVg5cBv8aGng7bemQGcBxD1+wsBnTPY9ohgznloH3Zp1seEbWlERERkb1k/R11OnwMDh6WoM3eghr4T2mM96s9Pqrx2Ra3VFmoNhZrTbLCUbBS6jjsMqOyiQA0lYJL2wShqRVNS8iBqHHJcdwglTYnzBEFWZxa3IX+UZdwIkb1cXGwGOOoN6cACj7bLWuhKhZnfVkV767cyANzlvHqx2uojft40CJ7RNur5B5OF+iSHWFySR++MXoIY/v3oCgvm2jIbT9bJkRERKTdSBYrqt9IJPgsbj3KrKHMM2yIxVlW4/FyeZwPqz1WxizbfZ+YX6eNS90U27pFiKyp0wd053yt3eVv7WFOl00cnwwRDOQ40NV16RMNMa5LlAnd8xgUjdA7bMgPWbKcEK7jJJeFE1czQdVg1JdTdlDw2Y7VfSqxwPqyKuZ+toF3PtvAvJUbWbJhO5sqaqiOxYOU2RaqnptJUn1OseRGwnTPzWJ4zwLG9O/BofsWc9jAYrrnZimNVkRERFrJjuCzXk/QZA2exNQ7GY9V+pYt8Tjr4rAm5rMmZlkX91kd91gXs2yKW7Z6QXBaVVVDrLycuLXErcFPpvEGZyRRKKNegdl63zfBKqsxEAZCxpDrGkLG0NU1dI+4dI+G6RtxKQ6H6Btx6Rt16RkJ0TsrTFHIJZQofhQswhp8A05ym5YFa2yq5pKpe/tFUPDZ4dQNSCtq4rz56TpmfbyG/67azJL1W9lY5RH3feLxWPCk0QL9MFtD3Uq9jjG4oTAhx9ArN8TwXt04uHd3puzfj3H7FpMVDjaua++miIiIZDLr+4mij4nUXWNSNT/c1GqhB8ahIhZnizWsrvXZ6lm2VtdQ7Vu2xXwqfEulFxSljFmCFVQg5FgiBqKOQ9QxFLjBvz2iLgWRMN1cQ2HIoTjkEHUd8D0wLtY6BAnEQWGgZOV/xziaXMleUfDZgQX71IMni6pYnG2VtWyurGHZ+m0sWr+NZRtLWbGpjGUbtrG5KoYPiX0HiWtbu0siR0vbXWIIyVYwJvhwsRTlRhnUvYCSnvmUFOVzQK9uDO6RT/fcLLpmR8gKu8E7iYknbREREZH2wMfi2GQBHpOoSxS8hR7834dEiZ5k+mqy9lDwfbMj1dcEK5JBg1KSy6+JLi0mkQqbnOMlPk+2N2HHmm3dxdqg56YFH4yzo12fyJeh4LOTSP2aU3n4wRNKaXUtm8trWF9WyartFSzfWMryTWWs2l7B9hqP7VU1lFfHKKuupTIWI+YFlWt3edpp6lG08955wDWGsOuQEwnTJStMXlaELtEIhdku+3TNY0BhHoO65zOgex7Fedl0y4nSJSucqqabfGcwuFl6IhQRERERyWQKPqVBvrXUej5VMQ/P8ymribGxrJqtVTVsqqhm9bYKtlfVUlodo6ymlspaj6pYrN45ssNh8iIh8rIi5GeF6ZYToW9BLoW5UQpzohTlZZMbDVJos8Mhwm6QVluX0mdFRERERNo/BZ/SqN3WTNupz1RzH0L1Viet3WW1UkGmiIiIiEjHpeBTRERERERE0k6dXkVERERERCTtFHyKiIiIiIhI2in4FBERERERkbRT8CkiIiIiIiJpp+BTRERERERE0k7Bp4iIiIiIiKSdgk8RERERERFJOwWfIiIiIiIiknYKPkVERERERCTtFHyKiIiIiIhI2in4FBERERERkbRT8CkiIiIiIiJpp+BTRERERERE0k7Bp4iIiIiIiKSdgk8RERERERFJOwWfIiIiIiIiknYKPkVERERERCTtFHyKiIiIiIhI2in4FBERERERkbRT8CkiIiIiIiJpp+BTRERERERE0k7Bp4iIiIiIiKSdgk8RERERERFJOwWfIiIiIiIiknYKPkVERERERCTtFHyKiIiIiIhI2in4FBERERERkbRT8CkiIiIiIiJpp+BTRERERERE0k7Bp4iIiIiIiKSdgk8RERERERFJOwWfIiIiIiIiknYKPkVERERERCTtFHyKiIiIiIhI2oXaegDSNhYsWMA///lPYrEYRx99NCeeeGJbD0lERERERDowY621bT0I+XIqKyvZuHEjpaWl1NbWApCbm0u3bt3o3r07oVDD7y1cffXVXHPNNanLu3sYVFZW8vrrr7Nq1SpKSkoYN24ckUik5W+IiIiISIaprq5mw4YNlJaWUlNTA0C3bt0oLCwkPz8fx1ECocie0spnO1RZWcktt9zCAw88wLZt2ygvLycWiwGQnZ1Nfn4+BQUF/OpXv+Lcc8/90j/nN7/5Db/97W/xfR/HcXj00UeZOnVqS90MERERkYz097//nRtuuIEtW7bUm2cl51iTJ0/mxhtvpGfPnm08UpH2RW/ZtDMPPvggw4cP5+qrr2bFihVs3bo19YQIUFVVxfr161m2bBnnnXceBx10EHPmzPlSP2vu3Ln4vg+A7/t89tlnLXETRERERDLSmjVr+OpXv8qFF17I8uXLd5lnlZaW8sUXX3DfffcxbNgwZsyY0YajFWl/FHy2E/F4nMsvv5xzzz2XlStXAuA4DoWFhQwbNoxvfvObTJs2jQMOOIDu3bunUkEWLlzI+PHjWb169R7/zAkTJhAOh4FgRXW//fZruRvUBr7//e9jjCE3N5fZs2e39XBEREQkg9TW1nLKKacwa9YsAIwxFBUVcemll/KXv/yF6667jiOOOIK8vDwAtm/fzrXXXtuGIxZpf5R2207ccccd3HrrranLubm5/P73v+fEE0+kuLi43r6DjRs3Mm/ePK666ireffddAFauXEnfvn336Gf+/Oc/5/jjj6eiooIePXowfPjwlrkxbeTOO+8EgrTl2bNnc+SRR7bxiERERCRT/PWvf2XevHmpy9dffz0/+MEPKCgoSH3tiiuuYMWKFfzhD3/gz3/+c1sMU6RdU/DZDrzxxhtcfvnlqRTYXr168dxzz3HIIYfs9viioiKOO+44Jk2axK233so999zzpfYk5OTkMHbs2L0au4iIiEh78OKLL6Y+nzRpEldcccUux7iuy5AhQ/jTn/7E1KlTqaioaM0hirR7Cj4znLWWq6++OlVlzRjDE0880WDgWVc0GuXKK6/kyiuvTPcwRURERNq1JUuWpD4fPXp0k8dPnDgxjaMR6ZgUfGa4tWvX8uabb6YuX3jhhRx++OFtOKKmrVu3junTpzN79mwqKyuJRqOUlJTwta99rVlBc2NeeeUVnnrqKTZt2kS3bt046qijOO6448jPz2+h0YuIiEhn17179xY9XywW4+233+aVV15h6dKlAPTp04fx48czZcqULz2PKS8v5x//+AdvvfUW4XCYSZMmceaZZ7ZKa7xYLMaLL77I66+/zhdffAHA8OHDGTduHBMmTCAnJ+dLnXfDhg3cc889LFy4kN69e3PCCSdw9NFHt+TQpS1ZyWjnn3++BVIfr732Wouc96qrrqp33t1Zvny57dGjhwXs0KFD7aZNmxo956pVq+xll11mI5FIvXPX/ZgyZYr94IMPGj3PL3/5SwvYLl262I8//thaa+38+fPtuHHjdnvOgQMH2unTp1vf9+udp7a21g4YMKDBsez8ceqpp+7BPSgiIiIdyeDBg1NzgmnTprXYeZ955hlbUlLS4PyjsLDQ3nHHHbampqbBc3z00Uc2NzfXAvYb3/iGtTaYG40ZM2aX8z3xxBN2+/btdtCgQRawruvaZ599tlljXb58uS0sLLSAzcvLs2vXrt3lmPLycvuXv/wlNZ7dfey///726aeftvF4vMGfNXPmTOs4jgXsDTfcYK219vnnn7c5OTm7nG/VqlXNGr9kPlW7zWDJd7PqGjNmTKv9/O3bt7Np0yYAPv74YzZv3tzosRMnTuR3v/sdtbW1DR43ffp0Dj30UF5++eUGj/nggw8AKCsrY9GiRfznP//h8MMPb7BlzIoVKzj11FN3+f769ev3qD3M4sWLm32siIiIdCwDBgxIff7oo4+mVij3xpVXXsnUqVNZtmxZg8ds2bKFH/7wh0yZMiW1zWpnpaWlqf2ly5Ytw/d9zjnnnHoFkpLKysqIRqN06dIFAM/z+Nvf/tas8d58881s2bIFCOahdYstAVRXV3PCCSdw6aWXNrrfdfHixZx++umN/txt27al6pk8//zzLFu2jLPOOovKyspdji0vL2/W+CXzKe02g33++eepP0qAiy+++EunMKTTxo0bmThxIp988gkAPXv25Ne//jVHHXUUhYWFlJeXM2fOHG6++WY+/PBDqqurueiii5gzZ06ThZBeeOEFnnzySaqrqznssMO48MILGTlyJNu2bePZZ5/lj3/8IxBUsD355JNZtGgRRUVFAPTr148LL7yQjRs3AvDss8+mzltSUrJL65hDDz20xe4TERERaV9OOOEEZs6cCQQt7saNG8cf//hHzjrrLKLR6B6f74477uCmm27C930cx+Fb3/oWZ599NgcccAAQvLH/yCOPcP/991NVVcWsWbO47bbbdlvoqK7KykomT57M4sWLycvL45JLLmHs2LGsXr2a119/nQMPPJBoNMrpp5/OggULAHjuuedYunQpw4YNa/C8W7Zs4f77709dvvbaa8nOzk5drq2t5eKLL2b27NlYa4lEIvz0pz/l1FNPZZ999qG6upolS5Zw77338uSTTxKPx7nkkkvo2bMnU6dObfQ2rVu3jilTplBWVkZRURE///nPGTRoEB999BGLFy+mT58+Td3d0l609dKrNOyFF16ol3Lw2GOPtdi5m5N2O3/+/HrHLF26dLfHJdNkAVtUVGRXrFix2+PWr1+fSgEB7BlnnGE9z9vluOOPP77ez3Ucx06dOtVWVlbucuztt9+eStkA7MMPP9zgba57zuuuu67B40RERKTzqaqqssOHD98l5fPoo4+2CxcubDQtdmdLliyx2dnZqXP86Ec/2u2cx/d9e80116SOy8rKsqtXr97luDlz5uwyruzsbPvoo482OIYNGzbU2wp19dVXNzrmuvPOvLy8XVJm//Wvf9Ub53PPPdfguaZNm5Y6dty4cbs95oknntjlNvXt27fBeaR0DEq7zWAbNmyod3nfffdto5E0bPny5fX6j953330NjrO4uJi7776bUChYcJ81axbr169v8mdcfPHF/Otf/6r37lvSJZdcUm8FM9nXVERERGRPZGVl8eKLLzJ06NB6X585cyajR49mzJgxPPfcc1hrGz2PTXQqqKqqAuCYY47hlltuqdeTPckYwxVXXJEqJlldXc0f/vCHZo33+uuv54wzzmjw+0VFRfVWHKdPn47neQ0eX7fVzOjRo3cZb90U2gsuuIDjjz++0bElzZ07l7lz5zZ4bF133313vfRn6XgUfGawuim3AIMHD26jkTTs+eefJx6PA0GFsxNOOAFjTIPHDx8+PLV/YOvWrbsE2Dvbd999ufnmmxus2hYOhykpKUld3pM9niIiIiJ19e/fn7feeouLL7643tdra2tZuHAhp5xyCscccwwzZsxo8BzxeDyV7go0WX02HA5z0kknpS6/8cYbqblVQ4YOHcoFF1zQ1M2pFyAuXLiwwXlXTU0NTz/9dOry17/+9XrzuU2bNtWrrXHOOec0+nMHDBjA5MmTgSAYf/zxx5sc6wUXXMBxxx3X5HHSvin4lL1Stw3M+PHjmzy+oKCArKwsIHhy/vDDDxs9fuDAgU2WHz/wwANTn8disSbHICIiItKQHj16cNddd/HRRx8xevToevs9Pc9j5syZHHvssVx++eVUV1fvcv2qqqpUHQyAcePGNfkz6+7F3LJlS6PFGwFefvllunbt2uR5J02alFrBLC8v54EHHtjtcS+99BKff/45AKFQaJfg8tlnn03d1nA43Ky2f3XnhXVXVXend+/e9TLppONSwSHZK2vXrk197jgOCxcubPI6ddNVkikpeyM3N3evzyEiIiJS13777cdbb73FggULuPvuu7nvvvvqrUj+7ne/Y8WKFTz66KP1rvf+++/XezN806ZNTc6Ptm7dijEGay3xeHyX7Led9e/fv1m3oU+fPpx00kk888wzQJAO+6Mf/aheAUvf9+ul+p533nn06NGj3nneeOON1OclJSXNmu+Fw+HU52VlZY0eG41GcV23yXNK+6fgM4PV/aMFeOeddxrNr28Ldfds3nvvvdx7771f+voiIiIimSQSiTB27FjGjh3Ld7/7XS677LJUtVfP83jsscd4+OGHOfvss1PX2Tmra9KkSXv0M6urqxvdm7mnbr75Zp577jni8Tjl5eXMnz+fI444IvX9bdu2pdrKOI7D6aefvss56tbUWLRoEQcddNAejSEej1NdXZ3KfpPOS2m3Gay4uLje5Y8++qiNRtKw3aWb7IlevXq10EhERERE0mf06NHMmDGDiy66qN5+yJ1TWZN9Mr+snJycVHHGljBw4ECGDx+eurxzCuyyZctYtWoVEGST7a6nfGO93psjGo0q8BRAK58ZbefA7LHHHuOyyy5ro9E07bTTTuPMM89s9vHRaJQpU6akcUQiIiIiLSccDvPnP/+ZxYsXp+pevPbaa41e584772zW/sykYcOGtWhf93A4zPjx41Opso8//ji/+c1vUt+/4YYbUp+fcMIJqX7pDSkpKeHaa69t9s93XbdZe0Slc1DwmcEGDhxITk4OlZWVAMyZM4e1a9fSu3fvNh7ZDv369UttUB86dChnnXVWG49IREREJH0ikQjHHHNMKvjcuX7FzgUYTzzxRPr27dtq49udSy+9lLvvvhuApUuX8s477zB+/HhWrVrFv//9byAoNHTTTTft9voTJ07koYceAoLVUc335MtS2m0Gy8vL43vf+169r82cObONRrN7PXv2TH2+bt26NhyJiIiISOvYeWtUXWPHjq13edOmTekeTpNGjBhRr+rujTfeCMALL7yQ+tqYMWMa7NVeN6Cu20ZGZE8p+Mxwv/jFL+q1GrnpppvYvn17G46ovoEDB6Y+r1sJTURERKSjqlvtdefKsNFotN7WqbfeeqvVxtUQYwwXXXRR6vIHH3zA9u3beeWVV1JfmzhxYoPXr5s26/s+s2bNSscwpRNQ8JnhiouLOfbYY1OXFy1axLRp0ygvL2/W9ZcsWcJpp53GkiVL0jK+E088MfX58uXL+etf/1qvlUomqRvEJzfWi4iIiKxdu5ZPP/20WceWl5czY8aM1OUJEybU+344HK7Xg/yee+5JbaFqS1/5yldSnRS++OILPv30U15++eXU988999wGrztmzBgGDx6cunznnXemb6DSoSn4zHDGGG6//fZ6G89ffPFFpkyZwpo1axq97mWXXcZhhx3GU089tUvZ75YyYcKEesHxL37xC2bPnt3k9ZYtW8bzzz+fljE15Oijj059/sADDzQ7gBcREZGO7fzzz2fUqFFMmzat0fnVli1bmDx5Mp988knqazsXW3Rdl5/+9Kepy/Pnz+fcc8+ltra2yXE89dRTaZufDBs2jEGDBgHgeR5Tp05NpQQffvjh7Lfffo1e/5vf/Gbq8yeffJJbb721Xt/T3SktLeW5557by5FLR6KCQ+1Av379eOaZZzjttNMoKyvD933eeustRowYwde+9jVGjBjBgAEDsNayZs0aPvjgA55//vl6ewya24x4T7muy+9//3sOO+wwtm/fTnl5OVOmTOG0007j2GOPZdCgQal32RYvXsySJUt4++23mTNnDv3792fy5MlEIpG0jG1n3/rWt3jqqaeAoEXMd77zHb73ve9hreWdd95h69atDW60FxERkY7riy++oLS0lIceeognn3ySSZMmMXr0aIYMGUI0GqWyspL58+fz1FNPpYJTx3H45je/ydSpU3c53/HHH89FF13EPffcAwTB2rhx4zj11FMZNWpUKlV37dq1rFixgnnz5jFjxgw2b97MK6+8wle/+tUWv42O43DDDTekxrtixQogWOi47LLLcJzG16R+8pOf8Oyzz/L+++8Ti8W4/PLLeemllzj22GMZM2YM0WgU3/dZtWoVixcv5v3332f69Onk5ubudasW6UCstBtLliyxvXv3tkCzP/Ly8uyVV165y7muuuqqesftzvz58+sds3Tp0gbHNnPmTJufn79HYxs+fLiNx+O7nOv4449PHTNx4sQm75cbb7wxdfzJJ5/c4HE1NTV28ODBDY5n2LBhTf4sERER6Xiuv/56G41Gmz2HCYfD9qSTTrI1NTUNnrO0tNSOHDnSuq7b7PMaY+y8efN2OdecOXOanLc1V58+feqdq7Cw0K5cubJZ1127dq0dOnSoNcY0+zbts88+uz3XE088kTpmwIABdtu2bXt1u6R9UNptOzJs2DDee+897rjjDvLy8po8/mc/+xn//e9/d9uLaeDAgalmv3XTKOrq2rVrqtfTsGHDdtlQX9ekSZN45513OO+885q1knnBBRfw+OOP47ruLt8bNWoU4XAY13Xrpco2ZMCAAWRnZwM02oYmEonwwAMPNFjufMSIEU3+LBEREel4fvGLXzB9+nS+/vWvpzK2GnLIIYfwyCOP8NhjjzU65+nSpQtvv/029957b7My0IYNG8Y999yz2/lIQUFBqohRMnX2y7r00ktT27mi0SgXXHBBs1vB9OrVizfffJOrr766ybmo67occ8wx3HXXXbv9flFRUWoeOHDgQKLR6B7cCmmvjLUZWh1GGlVZWcm7777LvHnzWL58ObFYDGMMJSUljB07lgkTJjSZPpEuq1at4o033mDBggWp1N+cnBxGjBjBkCFD6m14bwvJ/Qdz586lvLycwsJCjjjiCE466aQ2G5OIiIhkhvXr1/Puu++ydOlSli1bhu/7QPDm+Pjx4xk1ahTGmD06Z01NDfPmzWPu3LksXrw49fUDDzyQ/v37M3LkyHodBNqD7du388477/Duu++mer5HIhEGDx7MAQccwMiRI+u15BMBBZ8iIiIiIiLSCpR2KyIiIiIiImmn4FNERERERETSTsGniIiIiIiIpJ2CTxEREREREUk7BZ8iIiIiIiKSdgo+RUREREREJO0UfIqIiIiIiEjaKfgUERERERGRtFPwKSIiIiIiImmn4FNERERERETSTsGniIiIiIiIpJ2CTxEREREREUk7BZ8iIiIiIiKSdgo+RUREREREJO0UfIqIiIiIiEjaKfgUERERERGRtFPwKSIiIiIiImmn4FNERERERETS7v8DIsOB9nk8XH0AAAAASUVORK5CYII=\"/>",
"contact": {
"name": "Juan Pablo Cadena Aguilar",
"url": "https://www.github.com/jpcadena",
"email": "jpcadena@espol.edu.ec"
},
"license": {
"name": "MIT",
"identifier": "MIT"
},
"version": "1.0"
},
"servers": [
{
"url": "http://localhost/",
"description": "Development environment"
}
],
"paths": {
"/api/v1/auth/login": {
"post": {
"tags": [
"auth"
],
"summary": "Login",
"description": "Endpoint to handle user login with OAuth2 authentication using\n request form.\n## Parameter:\n- `user:` **Request body with username and password**\n- `type:` **OAuth2PasswordRequestForm**\n## Response:\n- `return:` **Token information with access token, its type and\n refresh token**\n- `rtype:` **TokenResponse**",
"operationId": "login",
"requestBody": {
"content": {
"application/x-www-form-urlencoded": {
"schema": {
"$ref": "#/components/schemas/Body_auth-login"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TokenResponse"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/auth/refresh": {
"post": {
"tags": [
"auth"
],
"summary": "Refresh Token",
"description": "Generates a refresh token for the current user and saves it to the\n database\n ## Response:\n- `return:` **Token information with access token, its type and\n refresh token**\n- `rtype:` **TokenResponse**",
"operationId": "refresh_token",
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TokenResponse"
}
}
}
}
},
"security": [
{
"JWT": []
}
]
}
},
"/api/v1/auth/validate-token": {
"post": {
"tags": [
"auth"
],
"summary": "Validate Token",
"description": "Endpoint to validate an access token.\n## Response:\n- `return:` **The authenticated user instance**\n- `rtype:` **UserAuth**",
"operationId": "validate_token",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserAuth"
}
}
}
}
},
"security": [
{
"JWT": []
}
]
}
},
"/api/v1/auth/recover-password/{email}": {
"post": {
"tags": [
"auth"
],
"summary": "Recover Password",
"description": "Endpoint to handle password recovery.\n## Parameter:\n- `email:` **Path parameter that references the email used to recover\n the password**\n- `type:` **EmailStr**\n## Response:\n- `return:` **Message object**\n- `rtype:` **Msg**",
"operationId": "recover_password",
"parameters": [
{
"name": "email",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "email",
"title": "Email",
"description": "The email used to recover the password"
},
"description": "The email used to recover the password",
"examples": {
"normal": {
"summary": "A normal example",
"description": "A **normal** email object that works correctly.",
"value": "example@mail.com"
},
"invalid": {
"summary": "Invalid data is rejected with an error",
"value": 123
}
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Msg"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/auth/reset-password": {
"post": {
"tags": [
"auth"
],
"summary": "Reset Password",
"description": "Endpoint to handle password reset.\n## Parameter:\n- `token_reset_password:` **Body Object with token and new password**\n- `type:` **TokenResetPassword**\n## Response:\n- `return:` **Message object**\n- `rtype:` **Msg**",
"operationId": "reset_password",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TokenResetPassword",
"title": "Body object",
"description": "Object with access token and new password"
},
"examples": {
"normal": {
"summary": "A normal example",
"description": "A **normal** token payload object that works correctly.",
"value": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9",
"password": "Hk7pH9*35Fu&3U"
}
},
"invalid": {
"summary": "Invalid data is rejected with an error",
"value": {
"token": "123",
"password": "abc123"
}
}
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Msg"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/auth/logout": {
"post": {
"tags": [
"auth"
],
"summary": "Logout",
"description": "Add the user's token to the blacklist database\n## Parameters:\n- `:param authorization:` **The access bearer token as authorization string\nin the header**\n- `:type authorization:` **str**\n ## Response:\n- `return:` **Message object**\n- `rtype:` **Msg**",
"operationId": "logout",
"security": [
{
"JWT": []
}
],
"parameters": [
{
"name": "authorization",
"in": "header",
"required": true,
"schema": {
"type": "string",
"minLength": 30,
"title": "Authorization",
"description": "The access bearer token as authorization string in the header"
},
"description": "The access bearer token as authorization string in the header",
"examples": {
"normal": {
"summary": "A normal example",
"description": "A **normal** authorization token object that works correctly.",
"value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VybmFtZTozYTBiMDdlZS1hYTY4LTRhOGQtYTg2OS01MjlhYzRhNTUzMmIiLCJuYXRpb25hbGl0aWVzIjpbIkVDVSJdLCJlbWFpbCI6ImV4YW1wbGVAbWFpbC5jb20iLCJuaWNrbmFtZSI6ImV4YW1wbGUiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJleGFtcGxlIiwiZ2l2ZW5fbmFtZSI6IlNvbWUiLCJmYW1pbHlfbmFtZSI6IkV4YW1wbGUiLCJtaWRkbGVfbmFtZSI6Ik9uZSIsImdlbmRlciI6Im1hbGUiLCJiaXJ0aGRhdGUiOiIyMDA0LTEyLTMxIiwidXBkYXRlZF9hdCI6IjIwMjQtMTAtMDZUMTU6MjI6MzcuMDEyODE3IiwicGhvbmVfbnVtYmVyIjoiKzU5Mzk4NzY1NDMyMSIsImFkZHJlc3MiOnsic3RyZWV0X2FkZHJlc3MiOiJVcmRlc2EgTm9ydGUgbXogQTEgdiA5OSIsImxvY2FsaXR5IjoiR3VheWFxdWlsIiwicmVnaW9uIjoiR3VheWFzIiwiY291bnRyeSI6IkVjdWFkb3IiLCJwb3N0YWxfY29kZSI6IjA5MDUwNSJ9LCJleHAiOjE3MjgyNDc5NTcsIm5iZiI6MTcyODI0NjE1NiwiaWF0IjoxNzI4MjQ2MTU3fQ.eh3ZIqFjbeSQ20pJQv9_y_sFPPAUsbBfuvofF_d3M3s"
},
"invalid": {
"summary": "Invalid data is rejected with an error",
"value": "123"
}
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Msg"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/user": {
"get": {
"tags": [
"user"
],
"summary": "Get Users",
"description": "Retrieve all users' basic information from the system using\n pagination.\n## Parameters:\n- `:param skip:` **Offset from where to start returning users**\n- `:type skip:` **NonNegativeInt**\n- `:param limit:` **Limit the number of results from query**\n- `:type limit:` **PositiveInt**\n## Response:\n- `:return:` **List of Users retrieved from database**\n- `:rtype:` **UsersResponse**",
"operationId": "get_users",
"security": [
{
"JWT": []
}
],
"parameters": [
{
"name": "skip",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"minimum": 0,
"title": "Skip",
"description": "Skip users",
"default": 0
},
"description": "Skip users",
"examples": {
"normal": {
"summary": "A normal example",
"description": "A **normal** skip query parameter that works correctly.",
"value": 0
},
"converted": {
"summary": "An example with converted data",
"description": "FastAPI can convert skip `strings` to actual `numbers` automatically",
"value": "20"
},
"invalid": {
"summary": "Invalid data is rejected with an error",
"value": -1
}
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "integer",
"maximum": 100,
"minimum": 1,
"exclusiveMinimum": 0
},
{
"type": "null"
}
],
"title": "Limit",
"description": "Limit pagination",
"default": 100
},
"description": "Limit pagination",
"examples": {
"normal": {
"summary": "A normal example",
"description": "A **normal** limit query parameter that works correctly.",
"value": 1
},
"converted": {
"summary": "An example with converted data",
"description": "FastAPI can convert limit `strings` to actual `numbers` automatically",
"value": "5"
},
"invalid": {
"summary": "Invalid data is rejected with an error",
"value": -1
}
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UsersResponse"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"post": {
"tags": [
"user"
],
"summary": "Create User",
"description": "Register new user into the system.\n## Parameter:\n- `:param user:` **Body Object for user creation.**\n- `:type user:` **UserCreate**\n## Response:\n- `:return:` **User created with its data**\n- `:rtype:` **UserCreateResponse**",
"operationId": "create_user",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserCreate",
"title": "User data",
"description": "User data to create"
},
"examples": {
"normal": {
"summary": "A normal example",
"description": "A **normal** user create object that works correctly.",
"value": {
"username": "username",
"email": "example@mail.com",
"first_name": "Some",
"middle_name": "One",
"last_name": "Example",
"password": "Hk7pH9*35Fu&3U",
"gender": "male",
"birthdate": "2004-12-31",
"phone_number": "+593987654321",
"address": {
"street_address": "Urdesa Norte mz A1 v 99",
"locality": "Guayaquil",
"region": "Guayas",
"country": "Ecuador",
"postal_code": "090505"
}
}
},
"converted": {
"summary": "An example with converted data",
"description": "FastAPI can convert phone number `strings` to actual `numbers` automatically",
"value": {
"username": "username",
"email": "example@mail.com",
"first_name": "Some",
"middle_name": "One",
"last_name": "Example",
"password": "Hk7pH9*35Fu&3U",
"gender": "male",
"birthdate": "2004-12-31",
"phone_number": "593987654321",
"address": {
"street_address": "Urdesa Norte mz A1 v 99",
"locality": "Guayaquil",
"region": "Guayas",
"country": "Ecuador",
"postal_code": "090505"
}
}
},
"invalid": {
"summary": "Invalid data is rejected with an error",
"value": {
"username": "username",
"email": "username",
"first_name": "Some",
"middle_name": "One",
"last_name": "Example",
"password": "miclave123",
"gender": "male",
"birthdate": "0095-12-31",
"phone_number": "5939876a4321",
"address": {
"street_address": "True",
"locality": "123",
"region": "Andes",
"country": "New York",
"postal_code": "999999"
}
}
}
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserCreateResponse"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/user/me": {
"get": {
"tags": [
"user"
],
"summary": "Get User Me",
"description": "Retrieve the current user's information.\n## Response:\n- `:return:` **Response object for current user**\n- `:rtype:` **UserResponse**",
"operationId": "get_user_me",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserResponse"
}
}
}
}
},
"security": [
{
"JWT": []
}
]
}
},
"/api/v1/user/{user_id}": {
"get": {
"tags": [
"user"
],
"summary": "Get User By Id",
"description": "Retrieve an existing user's information given their user ID.\n## Parameter:\n- `:param user_id:` **Unique identifier of the user to be retrieved**\n- `:type user_id:` **UUID4**\n## Response:\n- `:return:` **Found user with the given ID.**\n- `:rtype:` **UserResponse**",
"operationId": "get_user_by_id",
"security": [
{
"JWT": []
}
],
"parameters": [
{
"name": "user_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid4",
"title": "User ID",
"description": "ID of the User to be searched"
},
"description": "ID of the User to be searched",
"example": "339af47c-4b22-41a8-8bea-bd43905f0348"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserResponse"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"put": {
"tags": [
"user"
],
"summary": "Update User",
"description": "Update an existing user's information given their user ID and new\n information.\n## Parameters:\n- `:param user_id:` **Unique identifier of the user to be updated**\n- `:type user_id:` **UUID4**\n- `:param user_in:` **New user data to update that can include:\n username, email, first_name, middle_name, last_name, password,\n gender, birthdate, phone_number, city and country.**\n- `:type user_in:` **UserUpdate**\n## Response:\n- `:return:` **Updated user with the given ID and its data**\n- `:rtype:` **UserUpdateResponse**",
"operationId": "update_user",
"security": [
{
"JWT": []
}
],
"parameters": [
{
"name": "user_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid4",
"title": "User ID",
"description": "ID of the User to be searched"
},
"description": "ID of the User to be searched",
"example": "d7889a03-87c3-4df0-9fcc-c6f505468b66"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserUpdate",
"title": "User data",
"description": "New user data to update"
},
"examples": {
"normal": {
"summary": "A normal example",
"description": "A **normal** user update object that works correctly.",
"value": {
"username": "username",
"email": "example@mail.com",
"first_name": "Some",
"middle_name": "One",
"last_name": "Example",
"password": "Hk7pH9*35Fu&3U",
"gender": "male",
"birthdate": "2004-12-31",
"phone_number": "593987654321",
"address": {
"street_address": "Urdesa Norte mz A1 v 99",
"locality": "Guayaquil"
}
}
},
"converted": {
"summary": "An example with converted data",
"description": "FastAPI can convert phone numbers `strings` to actual `numbers` automatically",
"value": {
"username": "username",
"email": "example@mail.com",
"first_name": "Some",
"middle_name": "One",
"last_name": "Example",
"password": "Hk7pH9*35Fu&3U",
"gender": "male",
"birthdate": "2004-12-31",
"phone_number": "593987654321",
"address": {
"street_address": "Urdesa Norte mz A1 v 99",
"locality": "Guayaquil"
}
}
},
"invalid": {
"summary": "Invalid data is rejected with an error",
"value": {
"username": "username",
"email": "username",
"first_name": "Some",
"middle_name": "One",
"last_name": "Example",
"password": "miclave123",
"gender": "male",
"birthdate": "0095-12-31",
"phone_number": "59398x54321",
"address": {
"street_address": "True",
"locality": "123"
}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserUpdateResponse"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"delete": {
"tags": [
"user"
],
"summary": "Delete User",
"description": "Delete an existing user given their user ID.\n## Parameter:\n- `:param user_id:` **Unique identifier of the user to be deleted**\n- `:type user_id:` **UUID4**\n## Response:\n- `:return:` **Json Response object with the deleted information**\n- `:rtype:` **Response**",
"operationId": "delete_user",
"security": [
{
"JWT": []
}
],
"parameters": [
{
"name": "user_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid4",
"title": "User ID",
"description": "ID of the User to be searched"
},
"description": "ID of the User to be searched",
"example": "bfa4943e-b8b3-446b-9989-25e8561a2c01"
}
],
"responses": {
"204": {
"description": "Successful Response"
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/": {
"get": {
"summary": "Redirect To Docs",
"description": "Redirects the user to the /docs endpoint for API documentation.\n## Response:\n- `return:` **The redirected response**\n- `rtype:` **RedirectResponse**",
"operationId": "redirect_to_docs",
"responses": {
"307": {
"description": "Successful Response"
}
}
}
},
"/health": {
"get": {
"summary": "Check Health",
"description": "Check the health of the application backend.\n\n## Response:\n- `return:` **The ORJSON response**\n- `rtype:` **ORJSONResponse**",
"operationId": "check_health",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {},
"example": [
{
"status": "healthy"
}
]
}
}
},
"503": {
"description": "Service Unavailable",
"content": {
"application/json": {
"example": [
{
"status": "unhealthy"
}
]
}
}
}
}
}
}
},
"components": {
"schemas": {
"Address": {
"properties": {
"street_address": {
"type": "string",
"minLength": 3,
"title": "Street Address",
"description": "Full street address component, which may include house number, street name, Post Office Box, and multi-line extended street address information. This field may contain multiple lines, separated by newlines."
},
"locality": {
"type": "string",
"maxLength": 85,
"minLength": 3,
"title": "Locality (City)",
"description": "City or locality component."
},
"region": {
"type": "string",
"maxLength": 35,
"minLength": 4,
"title": "Region (State/Province)",
"description": "State, province, prefecture, or region component.",
"default": "Guayas"
},
"country": {
"type": "string",
"maxLength": 60,
"minLength": 4,
"title": "Country",
"description": "Country name component.",
"default": "Ecuador"
},
"postal_code": {
"anyOf": [
{
"type": "string",
"maxLength": 6,
"minLength": 6,
"pattern": "^(0[1-9]|1[0-9]|2[0-4])[0-9]{4}$"
},
{
"type": "null"
}
],
"title": "Postal Code",
"description": "Postal code should be a 6-digit number."
}
},
"type": "object",
"required": [
"street_address",
"locality"
],
"title": "Address",
"description": "Schema for representing the Address for JWT.",
"country": "Ecuador",
"locality": "Guayaquil",
"postal_code": "090312",
"region": "Guayas",
"street_address": "Blvd 9 de Octubre"
},
"Body_auth-login": {
"properties": {
"grant_type": {
"anyOf": [
{
"type": "string",
"pattern": "password"
},
{
"type": "null"
}
],
"title": "Grant Type"
},
"username": {
"type": "string",
"title": "Username"
},
"password": {
"type": "string",
"title": "Password"
},
"scope": {
"type": "string",
"title": "Scope",
"default": ""
},
"client_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Client Id"
},
"client_secret": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Client Secret"
}
},
"type": "object",
"required": [
"username",
"password"
],
"title": "Body_auth-login"
},
"Gender": {
"type": "string",
"enum": [
"male",
"female",
"other"
],
"title": "Gender",
"description": "Enum representing different gender options"
},
"HTTPValidationError": {
"properties": {
"detail": {
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
},
"Msg": {
"properties": {
"msg": {
"type": "string",
"title": "Message",
"description": "Message to display"
}
},
"type": "object",
"required": [
"msg"
],
"title": "Msg",
"description": "Schema for representing a message.",
"example": {
"msg": "Hello, World!!!"
}
},
"TokenResetPassword": {
"properties": {
"token": {
"type": "string",
"minLength": 30,
"title": "Token",
"description": "Access token"
},
"password": {
"type": "string",
"maxLength": 14,
"minLength": 8,
"title": "New password",
"description": "New password to reset"
}
},
"type": "object",
"required": [
"token",
"password"
],
"title": "TokenResetPassword",
"description": "Token Reset Password for Request based on Pydantic Base Model.",
"example": {
"password": "Hk7pH9*35Fu&3U",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"
}
},
"TokenResponse": {
"properties": {
"access_token": {
"type": "string",
"minLength": 30,
"title": "Token",
"description": "Access token"
},