소스 검색

Remove .venv directory from git tracking

wangxq 1 개월 전
부모
커밋
a9601163ae
100개의 변경된 파일0개의 추가작업 그리고 4693개의 파일을 삭제
  1. 0 164
      .venv/Include/site/python3.12/greenlet/greenlet.h
  2. 0 1
      .venv/Lib/site-packages/ConfigUpdater-3.2.dist-info/INSTALLER
  3. 0 289
      .venv/Lib/site-packages/ConfigUpdater-3.2.dist-info/LICENSE.txt
  4. 0 289
      .venv/Lib/site-packages/ConfigUpdater-3.2.dist-info/METADATA
  5. 0 25
      .venv/Lib/site-packages/ConfigUpdater-3.2.dist-info/RECORD
  6. 0 6
      .venv/Lib/site-packages/ConfigUpdater-3.2.dist-info/WHEEL
  7. 0 1
      .venv/Lib/site-packages/ConfigUpdater-3.2.dist-info/top_level.txt
  8. 0 1
      .venv/Lib/site-packages/Deprecated-1.2.18.dist-info/INSTALLER
  9. 0 21
      .venv/Lib/site-packages/Deprecated-1.2.18.dist-info/LICENSE.rst
  10. 0 195
      .venv/Lib/site-packages/Deprecated-1.2.18.dist-info/METADATA
  11. 0 12
      .venv/Lib/site-packages/Deprecated-1.2.18.dist-info/RECORD
  12. 0 6
      .venv/Lib/site-packages/Deprecated-1.2.18.dist-info/WHEEL
  13. 0 1
      .venv/Lib/site-packages/Deprecated-1.2.18.dist-info/top_level.txt
  14. 0 1
      .venv/Lib/site-packages/Flask-2.2.5.dist-info/INSTALLER
  15. 0 28
      .venv/Lib/site-packages/Flask-2.2.5.dist-info/LICENSE.rst
  16. 0 123
      .venv/Lib/site-packages/Flask-2.2.5.dist-info/METADATA
  17. 0 53
      .venv/Lib/site-packages/Flask-2.2.5.dist-info/RECORD
  18. 0 5
      .venv/Lib/site-packages/Flask-2.2.5.dist-info/WHEEL
  19. 0 2
      .venv/Lib/site-packages/Flask-2.2.5.dist-info/entry_points.txt
  20. 0 1
      .venv/Lib/site-packages/Flask-2.2.5.dist-info/top_level.txt
  21. 0 1
      .venv/Lib/site-packages/Flask_AppBuilder-4.5.3.dist-info/INSTALLER
  22. 0 27
      .venv/Lib/site-packages/Flask_AppBuilder-4.5.3.dist-info/LICENSE
  23. 0 242
      .venv/Lib/site-packages/Flask_AppBuilder-4.5.3.dist-info/METADATA
  24. 0 336
      .venv/Lib/site-packages/Flask_AppBuilder-4.5.3.dist-info/RECORD
  25. 0 5
      .venv/Lib/site-packages/Flask_AppBuilder-4.5.3.dist-info/WHEEL
  26. 0 5
      .venv/Lib/site-packages/Flask_AppBuilder-4.5.3.dist-info/entry_points.txt
  27. 0 1
      .venv/Lib/site-packages/Flask_AppBuilder-4.5.3.dist-info/top_level.txt
  28. 0 1
      .venv/Lib/site-packages/Flask_Babel-2.0.0.dist-info/INSTALLER
  29. 0 31
      .venv/Lib/site-packages/Flask_Babel-2.0.0.dist-info/LICENSE
  30. 0 57
      .venv/Lib/site-packages/Flask_Babel-2.0.0.dist-info/METADATA
  31. 0 10
      .venv/Lib/site-packages/Flask_Babel-2.0.0.dist-info/RECORD
  32. 0 5
      .venv/Lib/site-packages/Flask_Babel-2.0.0.dist-info/WHEEL
  33. 0 1
      .venv/Lib/site-packages/Flask_Babel-2.0.0.dist-info/top_level.txt
  34. 0 1
      .venv/Lib/site-packages/Flask_Caching-2.3.1.dist-info/INSTALLER
  35. 0 69
      .venv/Lib/site-packages/Flask_Caching-2.3.1.dist-info/LICENSE
  36. 0 70
      .venv/Lib/site-packages/Flask_Caching-2.3.1.dist-info/METADATA
  37. 0 35
      .venv/Lib/site-packages/Flask_Caching-2.3.1.dist-info/RECORD
  38. 0 5
      .venv/Lib/site-packages/Flask_Caching-2.3.1.dist-info/WHEEL
  39. 0 1
      .venv/Lib/site-packages/Flask_Caching-2.3.1.dist-info/top_level.txt
  40. 0 1
      .venv/Lib/site-packages/Flask_JWT_Extended-4.7.1.dist-info/INSTALLER
  41. 0 21
      .venv/Lib/site-packages/Flask_JWT_Extended-4.7.1.dist-info/LICENSE
  42. 0 113
      .venv/Lib/site-packages/Flask_JWT_Extended-4.7.1.dist-info/METADATA
  43. 0 27
      .venv/Lib/site-packages/Flask_JWT_Extended-4.7.1.dist-info/RECORD
  44. 0 6
      .venv/Lib/site-packages/Flask_JWT_Extended-4.7.1.dist-info/WHEEL
  45. 0 1
      .venv/Lib/site-packages/Flask_JWT_Extended-4.7.1.dist-info/top_level.txt
  46. 0 1
      .venv/Lib/site-packages/Flask_Login-0.6.3.dist-info/INSTALLER
  47. 0 22
      .venv/Lib/site-packages/Flask_Login-0.6.3.dist-info/LICENSE
  48. 0 183
      .venv/Lib/site-packages/Flask_Login-0.6.3.dist-info/METADATA
  49. 0 22
      .venv/Lib/site-packages/Flask_Login-0.6.3.dist-info/RECORD
  50. 0 5
      .venv/Lib/site-packages/Flask_Login-0.6.3.dist-info/WHEEL
  51. 0 1
      .venv/Lib/site-packages/Flask_Login-0.6.3.dist-info/top_level.txt
  52. 0 1
      .venv/Lib/site-packages/Flask_SQLAlchemy-2.5.1.dist-info/INSTALLER
  53. 0 28
      .venv/Lib/site-packages/Flask_SQLAlchemy-2.5.1.dist-info/LICENSE.rst
  54. 0 94
      .venv/Lib/site-packages/Flask_SQLAlchemy-2.5.1.dist-info/METADATA
  55. 0 14
      .venv/Lib/site-packages/Flask_SQLAlchemy-2.5.1.dist-info/RECORD
  56. 0 6
      .venv/Lib/site-packages/Flask_SQLAlchemy-2.5.1.dist-info/WHEEL
  57. 0 1
      .venv/Lib/site-packages/Flask_SQLAlchemy-2.5.1.dist-info/top_level.txt
  58. 0 1
      .venv/Lib/site-packages/Mako-1.3.9.dist-info/INSTALLER
  59. 0 19
      .venv/Lib/site-packages/Mako-1.3.9.dist-info/LICENSE
  60. 0 87
      .venv/Lib/site-packages/Mako-1.3.9.dist-info/METADATA
  61. 0 74
      .venv/Lib/site-packages/Mako-1.3.9.dist-info/RECORD
  62. 0 5
      .venv/Lib/site-packages/Mako-1.3.9.dist-info/WHEEL
  63. 0 18
      .venv/Lib/site-packages/Mako-1.3.9.dist-info/entry_points.txt
  64. 0 1
      .venv/Lib/site-packages/Mako-1.3.9.dist-info/top_level.txt
  65. 0 1
      .venv/Lib/site-packages/MarkupSafe-3.0.2.dist-info/INSTALLER
  66. 0 28
      .venv/Lib/site-packages/MarkupSafe-3.0.2.dist-info/LICENSE.txt
  67. 0 92
      .venv/Lib/site-packages/MarkupSafe-3.0.2.dist-info/METADATA
  68. 0 14
      .venv/Lib/site-packages/MarkupSafe-3.0.2.dist-info/RECORD
  69. 0 5
      .venv/Lib/site-packages/MarkupSafe-3.0.2.dist-info/WHEEL
  70. 0 1
      .venv/Lib/site-packages/MarkupSafe-3.0.2.dist-info/top_level.txt
  71. 0 7
      .venv/Lib/site-packages/PyJWT-2.10.1.dist-info/AUTHORS.rst
  72. 0 1
      .venv/Lib/site-packages/PyJWT-2.10.1.dist-info/INSTALLER
  73. 0 21
      .venv/Lib/site-packages/PyJWT-2.10.1.dist-info/LICENSE
  74. 0 106
      .venv/Lib/site-packages/PyJWT-2.10.1.dist-info/METADATA
  75. 0 32
      .venv/Lib/site-packages/PyJWT-2.10.1.dist-info/RECORD
  76. 0 5
      .venv/Lib/site-packages/PyJWT-2.10.1.dist-info/WHEEL
  77. 0 1
      .venv/Lib/site-packages/PyJWT-2.10.1.dist-info/top_level.txt
  78. 0 1
      .venv/Lib/site-packages/PyYAML-6.0.2.dist-info/INSTALLER
  79. 0 20
      .venv/Lib/site-packages/PyYAML-6.0.2.dist-info/LICENSE
  80. 0 46
      .venv/Lib/site-packages/PyYAML-6.0.2.dist-info/METADATA
  81. 0 43
      .venv/Lib/site-packages/PyYAML-6.0.2.dist-info/RECORD
  82. 0 5
      .venv/Lib/site-packages/PyYAML-6.0.2.dist-info/WHEEL
  83. 0 2
      .venv/Lib/site-packages/PyYAML-6.0.2.dist-info/top_level.txt
  84. 0 1
      .venv/Lib/site-packages/SQLAlchemy-1.4.54.dist-info/INSTALLER
  85. 0 19
      .venv/Lib/site-packages/SQLAlchemy-1.4.54.dist-info/LICENSE
  86. 0 252
      .venv/Lib/site-packages/SQLAlchemy-1.4.54.dist-info/METADATA
  87. 0 487
      .venv/Lib/site-packages/SQLAlchemy-1.4.54.dist-info/RECORD
  88. 0 5
      .venv/Lib/site-packages/SQLAlchemy-1.4.54.dist-info/WHEEL
  89. 0 1
      .venv/Lib/site-packages/SQLAlchemy-1.4.54.dist-info/top_level.txt
  90. 0 1
      .venv/Lib/site-packages/SQLAlchemy_JSONField-1.0.2.dist-info/INSTALLER
  91. 0 201
      .venv/Lib/site-packages/SQLAlchemy_JSONField-1.0.2.dist-info/LICENSE
  92. 0 135
      .venv/Lib/site-packages/SQLAlchemy_JSONField-1.0.2.dist-info/METADATA
  93. 0 12
      .venv/Lib/site-packages/SQLAlchemy_JSONField-1.0.2.dist-info/RECORD
  94. 0 5
      .venv/Lib/site-packages/SQLAlchemy_JSONField-1.0.2.dist-info/WHEEL
  95. 0 1
      .venv/Lib/site-packages/SQLAlchemy_JSONField-1.0.2.dist-info/top_level.txt
  96. 0 1
      .venv/Lib/site-packages/SQLAlchemy_Utils-0.41.2.dist-info/INSTALLER
  97. 0 27
      .venv/Lib/site-packages/SQLAlchemy_Utils-0.41.2.dist-info/LICENSE
  98. 0 96
      .venv/Lib/site-packages/SQLAlchemy_Utils-0.41.2.dist-info/METADATA
  99. 0 134
      .venv/Lib/site-packages/SQLAlchemy_Utils-0.41.2.dist-info/RECORD
  100. 0 5
      .venv/Lib/site-packages/SQLAlchemy_Utils-0.41.2.dist-info/WHEEL

+ 0 - 164
.venv/Include/site/python3.12/greenlet/greenlet.h

@@ -1,164 +0,0 @@
-/* -*- indent-tabs-mode: nil; tab-width: 4; -*- */
-
-/* Greenlet object interface */
-
-#ifndef Py_GREENLETOBJECT_H
-#define Py_GREENLETOBJECT_H
-
-
-#include <Python.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* This is deprecated and undocumented. It does not change. */
-#define GREENLET_VERSION "1.0.0"
-
-#ifndef GREENLET_MODULE
-#define implementation_ptr_t void*
-#endif
-
-typedef struct _greenlet {
-    PyObject_HEAD
-    PyObject* weakreflist;
-    PyObject* dict;
-    implementation_ptr_t pimpl;
-} PyGreenlet;
-
-#define PyGreenlet_Check(op) (op && PyObject_TypeCheck(op, &PyGreenlet_Type))
-
-
-/* C API functions */
-
-/* Total number of symbols that are exported */
-#define PyGreenlet_API_pointers 12
-
-#define PyGreenlet_Type_NUM 0
-#define PyExc_GreenletError_NUM 1
-#define PyExc_GreenletExit_NUM 2
-
-#define PyGreenlet_New_NUM 3
-#define PyGreenlet_GetCurrent_NUM 4
-#define PyGreenlet_Throw_NUM 5
-#define PyGreenlet_Switch_NUM 6
-#define PyGreenlet_SetParent_NUM 7
-
-#define PyGreenlet_MAIN_NUM 8
-#define PyGreenlet_STARTED_NUM 9
-#define PyGreenlet_ACTIVE_NUM 10
-#define PyGreenlet_GET_PARENT_NUM 11
-
-#ifndef GREENLET_MODULE
-/* This section is used by modules that uses the greenlet C API */
-static void** _PyGreenlet_API = NULL;
-
-#    define PyGreenlet_Type \
-        (*(PyTypeObject*)_PyGreenlet_API[PyGreenlet_Type_NUM])
-
-#    define PyExc_GreenletError \
-        ((PyObject*)_PyGreenlet_API[PyExc_GreenletError_NUM])
-
-#    define PyExc_GreenletExit \
-        ((PyObject*)_PyGreenlet_API[PyExc_GreenletExit_NUM])
-
-/*
- * PyGreenlet_New(PyObject *args)
- *
- * greenlet.greenlet(run, parent=None)
- */
-#    define PyGreenlet_New                                        \
-        (*(PyGreenlet * (*)(PyObject * run, PyGreenlet * parent)) \
-             _PyGreenlet_API[PyGreenlet_New_NUM])
-
-/*
- * PyGreenlet_GetCurrent(void)
- *
- * greenlet.getcurrent()
- */
-#    define PyGreenlet_GetCurrent \
-        (*(PyGreenlet * (*)(void)) _PyGreenlet_API[PyGreenlet_GetCurrent_NUM])
-
-/*
- * PyGreenlet_Throw(
- *         PyGreenlet *greenlet,
- *         PyObject *typ,
- *         PyObject *val,
- *         PyObject *tb)
- *
- * g.throw(...)
- */
-#    define PyGreenlet_Throw                 \
-        (*(PyObject * (*)(PyGreenlet * self, \
-                          PyObject * typ,    \
-                          PyObject * val,    \
-                          PyObject * tb))    \
-             _PyGreenlet_API[PyGreenlet_Throw_NUM])
-
-/*
- * PyGreenlet_Switch(PyGreenlet *greenlet, PyObject *args)
- *
- * g.switch(*args, **kwargs)
- */
-#    define PyGreenlet_Switch                                              \
-        (*(PyObject *                                                      \
-           (*)(PyGreenlet * greenlet, PyObject * args, PyObject * kwargs)) \
-             _PyGreenlet_API[PyGreenlet_Switch_NUM])
-
-/*
- * PyGreenlet_SetParent(PyObject *greenlet, PyObject *new_parent)
- *
- * g.parent = new_parent
- */
-#    define PyGreenlet_SetParent                                 \
-        (*(int (*)(PyGreenlet * greenlet, PyGreenlet * nparent)) \
-             _PyGreenlet_API[PyGreenlet_SetParent_NUM])
-
-/*
- * PyGreenlet_GetParent(PyObject* greenlet)
- *
- * return greenlet.parent;
- *
- * This could return NULL even if there is no exception active.
- * If it does not return NULL, you are responsible for decrementing the
- * reference count.
- */
-#     define PyGreenlet_GetParent                                    \
-    (*(PyGreenlet* (*)(PyGreenlet*))                                 \
-     _PyGreenlet_API[PyGreenlet_GET_PARENT_NUM])
-
-/*
- * deprecated, undocumented alias.
- */
-#     define PyGreenlet_GET_PARENT PyGreenlet_GetParent
-
-#     define PyGreenlet_MAIN                                         \
-    (*(int (*)(PyGreenlet*))                                         \
-     _PyGreenlet_API[PyGreenlet_MAIN_NUM])
-
-#     define PyGreenlet_STARTED                                      \
-    (*(int (*)(PyGreenlet*))                                         \
-     _PyGreenlet_API[PyGreenlet_STARTED_NUM])
-
-#     define PyGreenlet_ACTIVE                                       \
-    (*(int (*)(PyGreenlet*))                                         \
-     _PyGreenlet_API[PyGreenlet_ACTIVE_NUM])
-
-
-
-
-/* Macro that imports greenlet and initializes C API */
-/* NOTE: This has actually moved to ``greenlet._greenlet._C_API``, but we
-   keep the older definition to be sure older code that might have a copy of
-   the header still works. */
-#    define PyGreenlet_Import()                                               \
-        {                                                                     \
-            _PyGreenlet_API = (void**)PyCapsule_Import("greenlet._C_API", 0); \
-        }
-
-#endif /* GREENLET_MODULE */
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_GREENLETOBJECT_H */

+ 0 - 1
.venv/Lib/site-packages/ConfigUpdater-3.2.dist-info/INSTALLER

@@ -1 +0,0 @@
-pip

+ 0 - 289
.venv/Lib/site-packages/ConfigUpdater-3.2.dist-info/LICENSE.txt

@@ -1,289 +0,0 @@
-ConfigUpdater is licensed under the MIT license; see below for details.
-
-ConfigUpdater includes code derived from the Python standard library, which is
-licensed under the Python license, a permissive open source license.
-The copyright and license are included at the bottom of this file for compliance
-with Python's terms.
-
-----------------------------------------------------------------------
-
-The MIT License (MIT)
-
-Copyright (c) 2018 Florian Wilhelm
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
-----------------------------------------------------------------------
-
-Copyright (c) 2001-present Python Software Foundation; All Rights Reserved
-
-A. HISTORY OF THE SOFTWARE
-==========================
-
-Python was created in the early 1990s by Guido van Rossum at Stichting
-Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands
-as a successor of a language called ABC.  Guido remains Python's
-principal author, although it includes many contributions from others.
-
-In 1995, Guido continued his work on Python at the Corporation for
-National Research Initiatives (CNRI, see http://www.cnri.reston.va.us)
-in Reston, Virginia where he released several versions of the
-software.
-
-In May 2000, Guido and the Python core development team moved to
-BeOpen.com to form the BeOpen PythonLabs team.  In October of the same
-year, the PythonLabs team moved to Digital Creations, which became
-Zope Corporation.  In 2001, the Python Software Foundation (PSF, see
-https://www.python.org/psf/) was formed, a non-profit organization
-created specifically to own Python-related Intellectual Property.
-Zope Corporation was a sponsoring member of the PSF.
-
-All Python releases are Open Source (see http://www.opensource.org for
-the Open Source Definition).  Historically, most, but not all, Python
-releases have also been GPL-compatible; the table below summarizes
-the various releases.
-
-    Release         Derived     Year        Owner       GPL-
-                    from                                compatible? (1)
-
-    0.9.0 thru 1.2              1991-1995   CWI         yes
-    1.3 thru 1.5.2  1.2         1995-1999   CNRI        yes
-    1.6             1.5.2       2000        CNRI        no
-    2.0             1.6         2000        BeOpen.com  no
-    1.6.1           1.6         2001        CNRI        yes (2)
-    2.1             2.0+1.6.1   2001        PSF         no
-    2.0.1           2.0+1.6.1   2001        PSF         yes
-    2.1.1           2.1+2.0.1   2001        PSF         yes
-    2.1.2           2.1.1       2002        PSF         yes
-    2.1.3           2.1.2       2002        PSF         yes
-    2.2 and above   2.1.1       2001-now    PSF         yes
-
-Footnotes:
-
-(1) GPL-compatible doesn't mean that we're distributing Python under
-    the GPL.  All Python licenses, unlike the GPL, let you distribute
-    a modified version without making your changes open source.  The
-    GPL-compatible licenses make it possible to combine Python with
-    other software that is released under the GPL; the others don't.
-
-(2) According to Richard Stallman, 1.6.1 is not GPL-compatible,
-    because its license has a choice of law clause.  According to
-    CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1
-    is "not incompatible" with the GPL.
-
-Thanks to the many outside volunteers who have worked under Guido's
-direction to make these releases possible.
-
-
-B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON
-===============================================================
-
-PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
---------------------------------------------
-
-1. This LICENSE AGREEMENT is between the Python Software Foundation
-("PSF"), and the Individual or Organization ("Licensee") accessing and
-otherwise using this software ("Python") in source or binary form and
-its associated documentation.
-
-2. Subject to the terms and conditions of this License Agreement, PSF hereby
-grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce,
-analyze, test, perform and/or display publicly, prepare derivative works,
-distribute, and otherwise use Python alone or in any derivative version,
-provided, however, that PSF's License Agreement and PSF's notice of copyright,
-i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Python Software Foundation;
-All Rights Reserved" are retained in Python alone or in any derivative version
-prepared by Licensee.
-
-3. In the event Licensee prepares a derivative work that is based on
-or incorporates Python or any part thereof, and wants to make
-the derivative work available to others as provided herein, then
-Licensee hereby agrees to include in any such work a brief summary of
-the changes made to Python.
-
-4. PSF is making Python available to Licensee on an "AS IS"
-basis.  PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
-IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
-DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
-FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
-INFRINGE ANY THIRD PARTY RIGHTS.
-
-5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
-FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
-A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
-OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
-
-6. This License Agreement will automatically terminate upon a material
-breach of its terms and conditions.
-
-7. Nothing in this License Agreement shall be deemed to create any
-relationship of agency, partnership, or joint venture between PSF and
-Licensee.  This License Agreement does not grant permission to use PSF
-trademarks or trade name in a trademark sense to endorse or promote
-products or services of Licensee, or any third party.
-
-8. By copying, installing or otherwise using Python, Licensee
-agrees to be bound by the terms and conditions of this License
-Agreement.
-
-
-BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0
--------------------------------------------
-
-BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
-
-1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an
-office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
-Individual or Organization ("Licensee") accessing and otherwise using
-this software in source or binary form and its associated
-documentation ("the Software").
-
-2. Subject to the terms and conditions of this BeOpen Python License
-Agreement, BeOpen hereby grants Licensee a non-exclusive,
-royalty-free, world-wide license to reproduce, analyze, test, perform
-and/or display publicly, prepare derivative works, distribute, and
-otherwise use the Software alone or in any derivative version,
-provided, however, that the BeOpen Python License is retained in the
-Software, alone or in any derivative version prepared by Licensee.
-
-3. BeOpen is making the Software available to Licensee on an "AS IS"
-basis.  BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
-IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
-DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
-FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
-INFRINGE ANY THIRD PARTY RIGHTS.
-
-4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
-SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
-AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
-DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
-
-5. This License Agreement will automatically terminate upon a material
-breach of its terms and conditions.
-
-6. This License Agreement shall be governed by and interpreted in all
-respects by the law of the State of California, excluding conflict of
-law provisions.  Nothing in this License Agreement shall be deemed to
-create any relationship of agency, partnership, or joint venture
-between BeOpen and Licensee.  This License Agreement does not grant
-permission to use BeOpen trademarks or trade names in a trademark
-sense to endorse or promote products or services of Licensee, or any
-third party.  As an exception, the "BeOpen Python" logos available at
-http://www.pythonlabs.com/logos.html may be used according to the
-permissions granted on that web page.
-
-7. By copying, installing or otherwise using the software, Licensee
-agrees to be bound by the terms and conditions of this License
-Agreement.
-
-
-CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1
----------------------------------------
-
-1. This LICENSE AGREEMENT is between the Corporation for National
-Research Initiatives, having an office at 1895 Preston White Drive,
-Reston, VA 20191 ("CNRI"), and the Individual or Organization
-("Licensee") accessing and otherwise using Python 1.6.1 software in
-source or binary form and its associated documentation.
-
-2. Subject to the terms and conditions of this License Agreement, CNRI
-hereby grants Licensee a nonexclusive, royalty-free, world-wide
-license to reproduce, analyze, test, perform and/or display publicly,
-prepare derivative works, distribute, and otherwise use Python 1.6.1
-alone or in any derivative version, provided, however, that CNRI's
-License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)
-1995-2001 Corporation for National Research Initiatives; All Rights
-Reserved" are retained in Python 1.6.1 alone or in any derivative
-version prepared by Licensee.  Alternately, in lieu of CNRI's License
-Agreement, Licensee may substitute the following text (omitting the
-quotes): "Python 1.6.1 is made available subject to the terms and
-conditions in CNRI's License Agreement.  This Agreement together with
-Python 1.6.1 may be located on the Internet using the following
-unique, persistent identifier (known as a handle): 1895.22/1013.  This
-Agreement may also be obtained from a proxy server on the Internet
-using the following URL: http://hdl.handle.net/1895.22/1013".
-
-3. In the event Licensee prepares a derivative work that is based on
-or incorporates Python 1.6.1 or any part thereof, and wants to make
-the derivative work available to others as provided herein, then
-Licensee hereby agrees to include in any such work a brief summary of
-the changes made to Python 1.6.1.
-
-4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
-basis.  CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
-IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
-DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
-FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
-INFRINGE ANY THIRD PARTY RIGHTS.
-
-5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
-1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
-A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
-OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
-
-6. This License Agreement will automatically terminate upon a material
-breach of its terms and conditions.
-
-7. This License Agreement shall be governed by the federal
-intellectual property law of the United States, including without
-limitation the federal copyright law, and, to the extent such
-U.S. federal law does not apply, by the law of the Commonwealth of
-Virginia, excluding Virginia's conflict of law provisions.
-Notwithstanding the foregoing, with regard to derivative works based
-on Python 1.6.1 that incorporate non-separable material that was
-previously distributed under the GNU General Public License (GPL), the
-law of the Commonwealth of Virginia shall govern this License
-Agreement only as to issues arising under or with respect to
-Paragraphs 4, 5, and 7 of this License Agreement.  Nothing in this
-License Agreement shall be deemed to create any relationship of
-agency, partnership, or joint venture between CNRI and Licensee.  This
-License Agreement does not grant permission to use CNRI trademarks or
-trade name in a trademark sense to endorse or promote products or
-services of Licensee, or any third party.
-
-8. By clicking on the "ACCEPT" button where indicated, or by copying,
-installing or otherwise using Python 1.6.1, Licensee agrees to be
-bound by the terms and conditions of this License Agreement.
-
-        ACCEPT
-
-
-CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2
---------------------------------------------------
-
-Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
-The Netherlands.  All rights reserved.
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation, and that the name of Stichting Mathematisch
-Centrum or CWI not be used in advertising or publicity pertaining to
-distribution of the software without specific, written prior
-permission.
-
-STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
-THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
-FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
-FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
-OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

+ 0 - 289
.venv/Lib/site-packages/ConfigUpdater-3.2.dist-info/METADATA

@@ -1,289 +0,0 @@
-Metadata-Version: 2.1
-Name: ConfigUpdater
-Version: 3.2
-Summary: Parser like ConfigParser but for updating configuration files
-Home-page: https://github.com/pyscaffold/configupdater
-Author: Florian Wilhelm
-Author-email: florian.wilhelm@gmail.com
-License: MIT
-Project-URL: Documentation, https://configupdater.readthedocs.io/
-Project-URL: Source, https://github.com/pyscaffold/configupdater/
-Project-URL: Tracker, https://github.com/pyscaffold/configupdater/issues
-Project-URL: Changelog, https://configupdater.readthedocs.io/en/latest/changelog.html
-Project-URL: Download, https://pypi.org/project/configupdater/#files
-Project-URL: Conda-Forge, https://anaconda.org/conda-forge/configupdater
-Platform: any
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3 :: Only
-Classifier: Programming Language :: Python :: 3.6
-Classifier: Programming Language :: Python :: 3.7
-Classifier: Programming Language :: Python :: 3.8
-Classifier: Topic :: Software Development :: Libraries :: Python Modules
-Classifier: Operating System :: OS Independent
-Classifier: License :: OSI Approved :: MIT License
-Classifier: Intended Audience :: Developers
-Classifier: Operating System :: POSIX :: Linux
-Classifier: Operating System :: Unix
-Classifier: Operating System :: MacOS
-Classifier: Operating System :: Microsoft :: Windows
-Requires-Python: >=3.6
-Description-Content-Type: text/x-rst; charset=UTF-8
-License-File: LICENSE.txt
-Requires-Dist: importlib-metadata ; python_version < "3.8"
-Provides-Extra: testing
-Requires-Dist: sphinx ; extra == 'testing'
-Requires-Dist: flake8 ; extra == 'testing'
-Requires-Dist: pytest ; extra == 'testing'
-Requires-Dist: pytest-cov ; extra == 'testing'
-Requires-Dist: pytest-xdist ; extra == 'testing'
-Requires-Dist: pytest-randomly ; extra == 'testing'
-
-.. image:: https://api.cirrus-ci.com/github/pyscaffold/configupdater.svg?branch=main
-    :alt: Built Status
-    :target: https://cirrus-ci.com/github/pyscaffold/configupdater
-.. image:: https://readthedocs.org/projects/pyscaffold/badge/?version=latest
-    :alt: ReadTheDocs
-    :target: https://configupdater.readthedocs.io/
-.. image:: https://img.shields.io/coveralls/github/pyscaffold/configupdater/main.svg
-    :alt: Coveralls
-    :target: https://coveralls.io/r/pyscaffold/configupdater
-.. image:: https://img.shields.io/pypi/v/configupdater.svg
-    :alt: PyPI-Server
-    :target: https://pypi.org/project/configupdater/
-.. image:: https://img.shields.io/conda/vn/conda-forge/configupdater.svg
-    :alt: Conda-Forge
-    :target: https://anaconda.org/conda-forge/configupdater
-.. image:: https://static.pepy.tech/badge/configupdater/month
-    :alt: Monthly Downloads
-    :target: https://pepy.tech/project/configupdater
-.. image:: https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=ff69b4
-    :alt: Sponsor me
-    :target: https://github.com/sponsors/FlorianWilhelm
-
-|
-
-.. image:: https://configupdater.readthedocs.io/en/latest/_images/banner-640x323.png
-    :height: 323px
-    :width: 640px
-    :scale: 60 %
-    :alt: Config Updater
-    :align: center
-
-|
-
-The sole purpose of `ConfigUpdater`_ is to easily update an INI config file
-with no changes to the original file except the intended ones. This means
-comments, the ordering of sections and key/value-pairs as wells as their
-cases are kept as in the original file. Thus ConfigUpdater provides
-complementary functionality to Python's `ConfigParser`_ which is primarily
-meant for reading config files and writing *new* ones.
-
-Features
-========
-
-The key differences to `ConfigParser`_ are:
-
-* minimal invasive changes in the update configuration file,
-* proper handling of comments,
-* only a single config file can be updated at a time,
-* the original case of sections and keys are kept,
-* control over the position of a new section/key
-
-Following features are **deliberately not** implemented:
-
-* interpolation of values,
-* propagation of parameters from the default section,
-* conversions of values,
-* passing key/value-pairs with ``default`` argument,
-* non-strict mode allowing duplicate sections and keys.
-
-Usage
-=====
-
-First install the package with either::
-
-    pip install configupdater
-
-or::
-
-    conda install -c conda-forge configupdater
-
-Now we can simply do::
-
-    from configupdater import ConfigUpdater
-
-    updater = ConfigUpdater()
-    updater.read("setup.cfg")
-
-which would read the file ``setup.cfg`` that is found in many projects.
-
-To change the value of an existing key we can simply do::
-
-    updater["metadata"]["author"].value = "Alan Turing"
-
-At any point we can print the current state of the configuration file with::
-
-    print(updater)
-
-To update the read-in file just call ``updater.update_file()`` or ``updater.write(open('filename','w'))``
-to write the changed configuration file to another destination. Before actually writing,
-ConfigUpdater will automatically check that the updated configuration file is still valid by
-parsing it with the help of ConfigParser.
-
-Many of ConfigParser's methods still exists and it's best to look them up in the `module reference`_.
-Let's look at some examples.
-
-Adding and removing options
----------------------------
-
-Let's say we have the following configuration in a string::
-
-    cfg = """
-    [metadata]
-    author = Ada Lovelace
-    summary = The Analytical Engine
-    """
-
-We can add an *license* option, i.e. a key/value pair, in the same way we would do with ConfigParser::
-
-    updater = ConfigUpdater()
-    updater.read_string(cfg)
-    updater["metadata"]["license"] = "MIT"
-
-A simple ``print(updater)`` will give show you that the new option was appended to the end::
-
-    [metadata]
-    author = Ada Lovelace
-    summary = The Analytical Engine
-    license = MIT
-
-Since the license is really important to us let's say we want to add it before the ``summary``
-and even add a short comment before it::
-
-    updater = ConfigUpdater()
-    updater.read_string(cfg)
-    (updater["metadata"]["summary"].add_before
-                                   .comment("Ada would have loved MIT")
-                                   .option("license", "MIT"))
-
-which would result in::
-
-    [metadata]
-    author = Ada Lovelace
-    # Ada would have loved MIT
-    license = MIT
-    summary = Analytical Engine calculating the Bernoulli numbers
-
-Using ``add_after`` would give the same result and looks like::
-
-    updater = ConfigUpdater()
-    updater.read_string(cfg)
-    (updater["metadata"]["author"].add_after
-                                  .comment("Ada would have loved MIT")
-                                  .option("license", "MIT"))
-
-Let's say we want to rename `summary` to the more common `description`::
-
-    updater = ConfigUpdater()
-    updater.read_string(cfg)
-    updater["metadata"]["summary"].key = "description"
-
-If we wanted no summary at all, we could just do ``del updater["metadata"]["summary"]``.
-
-
-Adding and removing sections
-----------------------------
-
-Adding and remove sections just works like adding and removing options but on a higher level.
-Sticking to our *Ada Lovelace* example, let's say we want to add a section ``options`` just
-before ``metadata`` with a comment and two new lines to separate it from ``metadata``::
-
-    updater = ConfigUpdater()
-    updater.read_string(cfg)
-    (updater["metadata"].add_before
-                        .section("options")
-                        .comment("Some specific project options")
-                        .space(2))
-
-As expected, this results in::
-
-    [options]
-    # Some specific project options
-
-
-    [metadata]
-    author = Ada Lovelace
-    summary = The Analytical Engine
-
-We could now fill the new section with options like we learnt before. If we wanted to rename
-an existing section we could do this with the help of the ``name`` attribute::
-
-    updater["metadata"].name = "MetaData"
-
-Sometimes it might be useful to inject a new section not in a programmatic way but more declarative.
-Let's assume we have thus defined our new section in a multi-line string::
-
-    sphinx_sect_str = """
-    [build_sphinx]
-    source_dir = docs
-    build_dir = docs/_build
-    """
-
-With the help of two ConfigUpdater objects we can easily inject this section into our example::
-
-    sphinx = ConfigUpdater()
-    sphinx.read_string(sphinx_sect_str)
-    sphinx_sect = sphinx["build_sphinx"]
-
-    updater = ConfigUpdater()
-    updater.read_string(cfg)
-
-    (updater["metadata"].add_after
-                        .space()
-                        .section(sphinx_sect.detach()))
-
-The ``detach`` method will remove the ``build_sphinx`` section from the first object
-and add it to the second object. This results in::
-
-    [metadata]
-    author = Ada Lovelace
-    summary = The Analytical Engine
-
-    [build_sphinx]
-    source_dir = docs
-    build_dir = docs/_build
-
-Alternatively, if you want to preserve ``build_sphinx`` in both
-``ConfigUpdater`` objects (i.e., prevent it from being removed from the first
-while still adding a copy to the second), you call also rely on stdlib's
-``copy.deepcopy`` function instead of ``detach``::
-
-    from copy import deepcopy
-
-    (updater["metadata"].add_after
-                        .space()
-                        .section(deepcopy(sphinx_sect)))
-
-This technique can be used for all objects inside ConfigUpdater: sections,
-options, comments and blank spaces.
-
-Shallow copies are discouraged in the context of ConfigUpdater because each
-configuration block keeps a reference to its container to allow easy document
-editing. When doing editions (such as adding or changing options and comments)
-based on a shallow copy, the results can be unreliable and unexpected.
-
-For more examples on how the API of ConfigUpdater works it's best to take a look into the
-`unit tests`_ and read the references.
-
-
-Notes
-=====
-
-ConfigUpdater is mainly developed for `PyScaffold`_.
-
-.. _ConfigParser: https://docs.python.org/3/library/configparser.html
-.. _ConfigUpdater: https://configupdater.readthedocs.io/
-.. _PyScaffold: https://pyscaffold.org/
-.. _module reference: https://configupdater.readthedocs.io/en/latest/api.html#configupdater.configupdater.ConfigUpdater
-.. _unit tests: https://github.com/pyscaffold/configupdater/blob/main/tests/test_configupdater.py

+ 0 - 25
.venv/Lib/site-packages/ConfigUpdater-3.2.dist-info/RECORD

@@ -1,25 +0,0 @@
-ConfigUpdater-3.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
-ConfigUpdater-3.2.dist-info/LICENSE.txt,sha256=t_IAs6aOhF6A7JaCD91OZ7bNsZ2IjmavMoFtQDXtRBY,14402
-ConfigUpdater-3.2.dist-info/METADATA,sha256=RtCiOgP7C9rZ9wUdyWux1ni6FxM9yDIiMSxMsnypoaI,10278
-ConfigUpdater-3.2.dist-info/RECORD,,
-ConfigUpdater-3.2.dist-info/WHEEL,sha256=-G_t0oGuE7UD0DrSpVZnq1hHMBV9DD2XkS5v7XpmTnk,110
-ConfigUpdater-3.2.dist-info/top_level.txt,sha256=DTEzHw73sxgej5KdJQXYvs7wGjJr83B2mlKCydOrcWo,14
-configupdater/__init__.py,sha256=1fc8RP_7xBGK7mJ4U63-euPYF5ix-vghCZLMepb4hNg,790
-configupdater/__pycache__/__init__.cpython-312.pyc,,
-configupdater/__pycache__/block.cpython-312.pyc,,
-configupdater/__pycache__/builder.cpython-312.pyc,,
-configupdater/__pycache__/configupdater.cpython-312.pyc,,
-configupdater/__pycache__/container.cpython-312.pyc,,
-configupdater/__pycache__/document.cpython-312.pyc,,
-configupdater/__pycache__/option.cpython-312.pyc,,
-configupdater/__pycache__/parser.cpython-312.pyc,,
-configupdater/__pycache__/section.cpython-312.pyc,,
-configupdater/block.py,sha256=jMhfXSffCcVKJRh9k5BUmxVID-8XWl2DD9q8Z4QAJ3k,6266
-configupdater/builder.py,sha256=-FX_s1AonAVSq1TGUDqNJPl_U0mNzDTHuHGl68laB2o,3548
-configupdater/configupdater.py,sha256=Vtrw-EsB7TMcTpTsWIlnrj-llPRYNkraLqXfbhwGtrE,7273
-configupdater/container.py,sha256=bNWjIX42mehgIXzmVQX9g0YNgpkC-HUUpjnkyIXxKCA,2856
-configupdater/document.py,sha256=CaYr4t1mzcetsGFkuwIJBmzPCJ6aQLvusUomLZ_LjDc,14094
-configupdater/option.py,sha256=tMuTL71WcMJ4JARWa59i0D2VIRXG42idoo7ft8OtyRM,8801
-configupdater/parser.py,sha256=_9GMybwQUjYM7oUsPl-j-4FTtUzqqa8OGyNE9FBk1IE,24004
-configupdater/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
-configupdater/section.py,sha256=SmtYoPRs8InPmJJjy5Z2_9deMF_XXy72RvMO3LS9yV0,11293

+ 0 - 6
.venv/Lib/site-packages/ConfigUpdater-3.2.dist-info/WHEEL

@@ -1,6 +0,0 @@
-Wheel-Version: 1.0
-Generator: bdist_wheel (0.42.0)
-Root-Is-Purelib: true
-Tag: py2-none-any
-Tag: py3-none-any
-

+ 0 - 1
.venv/Lib/site-packages/ConfigUpdater-3.2.dist-info/top_level.txt

@@ -1 +0,0 @@
-configupdater

+ 0 - 1
.venv/Lib/site-packages/Deprecated-1.2.18.dist-info/INSTALLER

@@ -1 +0,0 @@
-pip

+ 0 - 21
.venv/Lib/site-packages/Deprecated-1.2.18.dist-info/LICENSE.rst

@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2017 Laurent LAPORTE
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.

+ 0 - 195
.venv/Lib/site-packages/Deprecated-1.2.18.dist-info/METADATA

@@ -1,195 +0,0 @@
-Metadata-Version: 2.2
-Name: Deprecated
-Version: 1.2.18
-Summary: Python @deprecated decorator to deprecate old python classes, functions or methods.
-Home-page: https://github.com/laurent-laporte-pro/deprecated
-Author: Laurent LAPORTE
-Author-email: laurent.laporte.pro@gmail.com
-License: MIT
-Project-URL: Documentation, https://deprecated.readthedocs.io/en/latest/
-Project-URL: Source, https://github.com/laurent-laporte-pro/deprecated
-Project-URL: Bug Tracker, https://github.com/laurent-laporte-pro/deprecated/issues
-Keywords: deprecate,deprecated,deprecation,warning,warn,decorator
-Platform: any
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: Environment :: Web Environment
-Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved :: MIT License
-Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.4
-Classifier: Programming Language :: Python :: 3.5
-Classifier: Programming Language :: Python :: 3.6
-Classifier: Programming Language :: Python :: 3.7
-Classifier: Programming Language :: Python :: 3.8
-Classifier: Programming Language :: Python :: 3.9
-Classifier: Programming Language :: Python :: 3.10
-Classifier: Programming Language :: Python :: 3.11
-Classifier: Programming Language :: Python :: 3.12
-Classifier: Topic :: Software Development :: Libraries :: Python Modules
-Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
-Description-Content-Type: text/x-rst
-License-File: LICENSE.rst
-Requires-Dist: wrapt<2,>=1.10
-Provides-Extra: dev
-Requires-Dist: tox; extra == "dev"
-Requires-Dist: PyTest; extra == "dev"
-Requires-Dist: PyTest-Cov; extra == "dev"
-Requires-Dist: bump2version<1; extra == "dev"
-Requires-Dist: setuptools; python_version >= "3.12" and extra == "dev"
-Dynamic: author
-Dynamic: author-email
-Dynamic: classifier
-Dynamic: description
-Dynamic: description-content-type
-Dynamic: home-page
-Dynamic: keywords
-Dynamic: license
-Dynamic: platform
-Dynamic: project-url
-Dynamic: provides-extra
-Dynamic: requires-dist
-Dynamic: requires-python
-Dynamic: summary
-
-
-Deprecated Library
-------------------
-
-Deprecated is Easy to Use
-`````````````````````````
-
-If you need to mark a function or a method as deprecated,
-you can use the ``@deprecated`` decorator:
-
-Save in a hello.py:
-
-.. code:: python
-
-    from deprecated import deprecated
-
-
-    @deprecated(version='1.2.1', reason="You should use another function")
-    def some_old_function(x, y):
-        return x + y
-
-
-    class SomeClass(object):
-        @deprecated(version='1.3.0', reason="This method is deprecated")
-        def some_old_method(self, x, y):
-            return x + y
-
-
-    some_old_function(12, 34)
-    obj = SomeClass()
-    obj.some_old_method(5, 8)
-
-
-And Easy to Setup
-`````````````````
-
-And run it:
-
-.. code:: bash
-
-    $ pip install Deprecated
-    $ python hello.py
-    hello.py:15: DeprecationWarning: Call to deprecated function (or staticmethod) some_old_function.
-    (You should use another function) -- Deprecated since version 1.2.0.
-      some_old_function(12, 34)
-    hello.py:17: DeprecationWarning: Call to deprecated method some_old_method.
-    (This method is deprecated) -- Deprecated since version 1.3.0.
-      obj.some_old_method(5, 8)
-
-
-You can document your code
-``````````````````````````
-
-Have you ever wonder how to document that some functions, classes, methods, etc. are deprecated?
-This is now possible with the integrated Sphinx directives:
-
-For instance, in hello_sphinx.py:
-
-.. code:: python
-
-    from deprecated.sphinx import deprecated
-    from deprecated.sphinx import versionadded
-    from deprecated.sphinx import versionchanged
-
-
-    @versionadded(version='1.0', reason="This function is new")
-    def function_one():
-        '''This is the function one'''
-
-
-    @versionchanged(version='1.0', reason="This function is modified")
-    def function_two():
-        '''This is the function two'''
-
-
-    @deprecated(version='1.0', reason="This function will be removed soon")
-    def function_three():
-        '''This is the function three'''
-
-
-    function_one()
-    function_two()
-    function_three()  # warns
-
-    help(function_one)
-    help(function_two)
-    help(function_three)
-
-
-The result it immediate
-```````````````````````
-
-Run it:
-
-.. code:: bash
-
-    $ python hello_sphinx.py
-
-    hello_sphinx.py:23: DeprecationWarning: Call to deprecated function (or staticmethod) function_three.
-    (This function will be removed soon) -- Deprecated since version 1.0.
-      function_three()  # warns
-
-    Help on function function_one in module __main__:
-
-    function_one()
-        This is the function one
-
-        .. versionadded:: 1.0
-           This function is new
-
-    Help on function function_two in module __main__:
-
-    function_two()
-        This is the function two
-
-        .. versionchanged:: 1.0
-           This function is modified
-
-    Help on function function_three in module __main__:
-
-    function_three()
-        This is the function three
-
-        .. deprecated:: 1.0
-           This function will be removed soon
-
-
-Links
-`````
-
-* `Python package index (PyPi) <https://pypi.org/project/Deprecated/>`_
-* `GitHub website <https://github.com/laurent-laporte-pro/deprecated>`_
-* `Read The Docs <https://readthedocs.org/projects/deprecated>`_
-* `EBook on Lulu.com <http://www.lulu.com/commerce/index.php?fBuyContent=21305117>`_
-* `StackOverFlow Q&A <https://stackoverflow.com/a/40301488/1513933>`_
-* `Development version
-  <https://github.com/laurent-laporte-pro/deprecated/zipball/master#egg=Deprecated-dev>`_
-

+ 0 - 12
.venv/Lib/site-packages/Deprecated-1.2.18.dist-info/RECORD

@@ -1,12 +0,0 @@
-Deprecated-1.2.18.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
-Deprecated-1.2.18.dist-info/LICENSE.rst,sha256=HoPt0VvkGbXVveNy4yXlJ_9PmRX1SOfHUxS0H2aZ6Dw,1081
-Deprecated-1.2.18.dist-info/METADATA,sha256=4CrUw5Bl8_NsBuZYe0Nw-mIwQnVpT1CnmBYU9BqOuq8,5725
-Deprecated-1.2.18.dist-info/RECORD,,
-Deprecated-1.2.18.dist-info/WHEEL,sha256=9Hm2OB-j1QcCUq9Jguht7ayGIIZBRTdOXD1qg9cCgPM,109
-Deprecated-1.2.18.dist-info/top_level.txt,sha256=nHbOYawKPQQE5lQl-toUB1JBRJjUyn_m_Mb8RVJ0RjA,11
-deprecated/__init__.py,sha256=yZNbmDKXF4PLtp_Ikdb_9ObJLkHuFSUHvqidFTKKGFM,351
-deprecated/__pycache__/__init__.cpython-312.pyc,,
-deprecated/__pycache__/classic.cpython-312.pyc,,
-deprecated/__pycache__/sphinx.cpython-312.pyc,,
-deprecated/classic.py,sha256=7WXOt4Vf1NhrUznm8ypjS50CMyAdZwrGT58Lhb8fW14,10609
-deprecated/sphinx.py,sha256=cOKnXbDyFAwDr5O7HBEpgQrx-J-qfp57sfdK_LabDxs,11109

+ 0 - 6
.venv/Lib/site-packages/Deprecated-1.2.18.dist-info/WHEEL

@@ -1,6 +0,0 @@
-Wheel-Version: 1.0
-Generator: setuptools (75.8.0)
-Root-Is-Purelib: true
-Tag: py2-none-any
-Tag: py3-none-any
-

+ 0 - 1
.venv/Lib/site-packages/Deprecated-1.2.18.dist-info/top_level.txt

@@ -1 +0,0 @@
-deprecated

+ 0 - 1
.venv/Lib/site-packages/Flask-2.2.5.dist-info/INSTALLER

@@ -1 +0,0 @@
-pip

+ 0 - 28
.venv/Lib/site-packages/Flask-2.2.5.dist-info/LICENSE.rst

@@ -1,28 +0,0 @@
-Copyright 2010 Pallets
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-1.  Redistributions of source code must retain the above copyright
-    notice, this list of conditions and the following disclaimer.
-
-2.  Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in the
-    documentation and/or other materials provided with the distribution.
-
-3.  Neither the name of the copyright holder nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
-TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

+ 0 - 123
.venv/Lib/site-packages/Flask-2.2.5.dist-info/METADATA

@@ -1,123 +0,0 @@
-Metadata-Version: 2.1
-Name: Flask
-Version: 2.2.5
-Summary: A simple framework for building complex web applications.
-Home-page: https://palletsprojects.com/p/flask
-Author: Armin Ronacher
-Author-email: armin.ronacher@active-4.com
-Maintainer: Pallets
-Maintainer-email: contact@palletsprojects.com
-License: BSD-3-Clause
-Project-URL: Donate, https://palletsprojects.com/donate
-Project-URL: Documentation, https://flask.palletsprojects.com/
-Project-URL: Changes, https://flask.palletsprojects.com/changes/
-Project-URL: Source Code, https://github.com/pallets/flask/
-Project-URL: Issue Tracker, https://github.com/pallets/flask/issues/
-Project-URL: Twitter, https://twitter.com/PalletsTeam
-Project-URL: Chat, https://discord.gg/pallets
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: Environment :: Web Environment
-Classifier: Framework :: Flask
-Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved :: BSD License
-Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python
-Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
-Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
-Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
-Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
-Requires-Python: >=3.7
-Description-Content-Type: text/x-rst
-License-File: LICENSE.rst
-Requires-Dist: Werkzeug (>=2.2.2)
-Requires-Dist: Jinja2 (>=3.0)
-Requires-Dist: itsdangerous (>=2.0)
-Requires-Dist: click (>=8.0)
-Requires-Dist: importlib-metadata (>=3.6.0) ; python_version < "3.10"
-Provides-Extra: async
-Requires-Dist: asgiref (>=3.2) ; extra == 'async'
-Provides-Extra: dotenv
-Requires-Dist: python-dotenv ; extra == 'dotenv'
-
-Flask
-=====
-
-Flask is a lightweight `WSGI`_ web application framework. It is designed
-to make getting started quick and easy, with the ability to scale up to
-complex applications. It began as a simple wrapper around `Werkzeug`_
-and `Jinja`_ and has become one of the most popular Python web
-application frameworks.
-
-Flask offers suggestions, but doesn't enforce any dependencies or
-project layout. It is up to the developer to choose the tools and
-libraries they want to use. There are many extensions provided by the
-community that make adding new functionality easy.
-
-.. _WSGI: https://wsgi.readthedocs.io/
-.. _Werkzeug: https://werkzeug.palletsprojects.com/
-.. _Jinja: https://jinja.palletsprojects.com/
-
-
-Installing
-----------
-
-Install and update using `pip`_:
-
-.. code-block:: text
-
-    $ pip install -U Flask
-
-.. _pip: https://pip.pypa.io/en/stable/getting-started/
-
-
-A Simple Example
-----------------
-
-.. code-block:: python
-
-    # save this as app.py
-    from flask import Flask
-
-    app = Flask(__name__)
-
-    @app.route("/")
-    def hello():
-        return "Hello, World!"
-
-.. code-block:: text
-
-    $ flask run
-      * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
-
-
-Contributing
-------------
-
-For guidance on setting up a development environment and how to make a
-contribution to Flask, see the `contributing guidelines`_.
-
-.. _contributing guidelines: https://github.com/pallets/flask/blob/main/CONTRIBUTING.rst
-
-
-Donate
-------
-
-The Pallets organization develops and supports Flask and the libraries
-it uses. In order to grow the community of contributors and users, and
-allow the maintainers to devote more time to the projects, `please
-donate today`_.
-
-.. _please donate today: https://palletsprojects.com/donate
-
-
-Links
------
-
--   Documentation: https://flask.palletsprojects.com/
--   Changes: https://flask.palletsprojects.com/changes/
--   PyPI Releases: https://pypi.org/project/Flask/
--   Source Code: https://github.com/pallets/flask/
--   Issue Tracker: https://github.com/pallets/flask/issues/
--   Website: https://palletsprojects.com/p/flask/
--   Twitter: https://twitter.com/PalletsTeam
--   Chat: https://discord.gg/pallets

+ 0 - 53
.venv/Lib/site-packages/Flask-2.2.5.dist-info/RECORD

@@ -1,53 +0,0 @@
-../../Scripts/flask.exe,sha256=cSL-iGkdv6hwFvUONbA-l-ngSYY92xhNs6MXZi2385U,108416
-Flask-2.2.5.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
-Flask-2.2.5.dist-info/LICENSE.rst,sha256=SJqOEQhQntmKN7uYPhHg9-HTHwvY-Zp5yESOf_N9B-o,1475
-Flask-2.2.5.dist-info/METADATA,sha256=rZTjr5v4M7HB-zC-w2Y0ZU96OYSGBb-Hm15jlLJhs3g,3889
-Flask-2.2.5.dist-info/RECORD,,
-Flask-2.2.5.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
-Flask-2.2.5.dist-info/entry_points.txt,sha256=s3MqQpduU25y4dq3ftBYD6bMVdVnbMpZP-sUNw0zw0k,41
-Flask-2.2.5.dist-info/top_level.txt,sha256=dvi65F6AeGWVU0TBpYiC04yM60-FX1gJFkK31IKQr5c,6
-flask/__init__.py,sha256=GJgAILDWhW_DQljuoJ4pk9zBUy70zPPu-VZ6kLyiVI4,2890
-flask/__main__.py,sha256=bYt9eEaoRQWdejEHFD8REx9jxVEdZptECFsV7F49Ink,30
-flask/__pycache__/__init__.cpython-312.pyc,,
-flask/__pycache__/__main__.cpython-312.pyc,,
-flask/__pycache__/app.cpython-312.pyc,,
-flask/__pycache__/blueprints.cpython-312.pyc,,
-flask/__pycache__/cli.cpython-312.pyc,,
-flask/__pycache__/config.cpython-312.pyc,,
-flask/__pycache__/ctx.cpython-312.pyc,,
-flask/__pycache__/debughelpers.cpython-312.pyc,,
-flask/__pycache__/globals.cpython-312.pyc,,
-flask/__pycache__/helpers.cpython-312.pyc,,
-flask/__pycache__/logging.cpython-312.pyc,,
-flask/__pycache__/scaffold.cpython-312.pyc,,
-flask/__pycache__/sessions.cpython-312.pyc,,
-flask/__pycache__/signals.cpython-312.pyc,,
-flask/__pycache__/templating.cpython-312.pyc,,
-flask/__pycache__/testing.cpython-312.pyc,,
-flask/__pycache__/typing.cpython-312.pyc,,
-flask/__pycache__/views.cpython-312.pyc,,
-flask/__pycache__/wrappers.cpython-312.pyc,,
-flask/app.py,sha256=ue4tEeDnr3m-eSEwz7OJ1_wafSYl3fl6eo-NLFgNNJQ,99141
-flask/blueprints.py,sha256=fenhKP_Sh5eU6qtWeHacg1GVeun4pQzK2vq8sNDd1hY,27266
-flask/cli.py,sha256=pLmnWObe_G4_ZAFQdh7kgwqPMxRXm4oUhaUSBpJMeq4,33532
-flask/config.py,sha256=Ubo_juzSYsAKqD2vD3vm6mjsPo3EOJDdSEzYq8lKTJI,12585
-flask/ctx.py,sha256=bGEQQuF2_cHqZ3ZNMeMeEG8HOLJkDlL88u2BBxCrRao,14829
-flask/debughelpers.py,sha256=_RvAL3TW5lqMJeCVWtTU6rSDJC7jnRaBL6OEkVmooyU,5511
-flask/globals.py,sha256=EX0XdX73BTWdVF0UHDSNet2ER3kI6sKveo3_o5IOs98,3187
-flask/helpers.py,sha256=XTHRgLlyxeEzR988q63-4OY8RswTscR-5exFxK10CLU,25280
-flask/json/__init__.py,sha256=TOwldHT3_kFaXHlORKi9yCWt7dbPNB0ovdHHQWlSRzY,11175
-flask/json/__pycache__/__init__.cpython-312.pyc,,
-flask/json/__pycache__/provider.cpython-312.pyc,,
-flask/json/__pycache__/tag.cpython-312.pyc,,
-flask/json/provider.py,sha256=jXCNypf11PN4ngQjEt6LnSdCWQ1yHIAkNLHlXQlCB-A,10674
-flask/json/tag.py,sha256=fys3HBLssWHuMAIJuTcf2K0bCtosePBKXIWASZEEjnU,8857
-flask/logging.py,sha256=WYng0bLTRS_CJrocGcCLJpibHf1lygHE_pg-KoUIQ4w,2293
-flask/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
-flask/scaffold.py,sha256=EKx-Tr5BXLzeKKvq3ZAi_2oUQVZuC4OJSJTocyDXsSo,35958
-flask/sessions.py,sha256=adWCRnJYETJcjjhlcvUgZR5S0DMqKQctS0nzkY9g9Us,15927
-flask/signals.py,sha256=H7QwDciK-dtBxinjKpexpglP0E6k0MJILiFWTItfmqU,2136
-flask/templating.py,sha256=1P4OzvSnA2fsJTYgQT3G4owVKsuOz8XddCiR6jMHGJ0,7419
-flask/testing.py,sha256=JtHRQY7mIH39SM4S51svAr8e7Xk87dqMb30Z6Dyv9TA,10706
-flask/typing.py,sha256=KgxegTF9v9WvuongeF8LooIvpZPauzGrq9ZXf3gBlYc,2969
-flask/views.py,sha256=LulttWL4owVFlgwrJi8GCNM4inC3xbs2IBlY31bdCS4,6765
-flask/wrappers.py,sha256=el3tn1LgSUV0eNGgYMjKICT5I7qGJgbpIhvci4nrwQ8,5702

+ 0 - 5
.venv/Lib/site-packages/Flask-2.2.5.dist-info/WHEEL

@@ -1,5 +0,0 @@
-Wheel-Version: 1.0
-Generator: bdist_wheel (0.40.0)
-Root-Is-Purelib: true
-Tag: py3-none-any
-

+ 0 - 2
.venv/Lib/site-packages/Flask-2.2.5.dist-info/entry_points.txt

@@ -1,2 +0,0 @@
-[console_scripts]
-flask = flask.cli:main

+ 0 - 1
.venv/Lib/site-packages/Flask-2.2.5.dist-info/top_level.txt

@@ -1 +0,0 @@
-flask

+ 0 - 1
.venv/Lib/site-packages/Flask_AppBuilder-4.5.3.dist-info/INSTALLER

@@ -1 +0,0 @@
-pip

+ 0 - 27
.venv/Lib/site-packages/Flask_AppBuilder-4.5.3.dist-info/LICENSE

@@ -1,27 +0,0 @@
-Copyright (c) 2013, Daniel Vaz Gaspar
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
-* Redistributions of source code must retain the above copyright notice, this
-  list of conditions and the following disclaimer.
-
-* Redistributions in binary form must reproduce the above copyright notice, this
-  list of conditions and the following disclaimer in the documentation and/or
-  other materials provided with the distribution.
-
-* Neither the name of the {organization} nor the names of its
-  contributors may be used to endorse or promote products derived from
-  this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

+ 0 - 242
.venv/Lib/site-packages/Flask_AppBuilder-4.5.3.dist-info/METADATA

@@ -1,242 +0,0 @@
-Metadata-Version: 2.1
-Name: Flask-AppBuilder
-Version: 4.5.3
-Summary: Simple and rapid application development framework, built on top of Flask. includes detailed security, auto CRUD generation for your models, google charts and much more.
-Home-page: https://github.com/dpgaspar/flask-appbuilder/
-Author: Daniel Vaz Gaspar
-Author-email: danielvazgaspar@gmail.com
-License: BSD
-Platform: any
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: Environment :: Web Environment
-Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved :: BSD License
-Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python :: 3.8
-Classifier: Programming Language :: Python :: 3.9
-Classifier: Programming Language :: Python :: 3.10
-Classifier: Programming Language :: Python :: 3.11
-Classifier: Programming Language :: Python :: 3.12
-Classifier: Topic :: Software Development :: Libraries :: Python Modules
-Requires-Python: ~=3.7
-Description-Content-Type: text/x-rst
-License-File: LICENSE
-Requires-Dist: apispec[yaml] <7,>=6.0.0
-Requires-Dist: colorama <1,>=0.3.9
-Requires-Dist: click <9,>=8
-Requires-Dist: email-validator >=1.0.5
-Requires-Dist: Flask <3.0.0,>=2
-Requires-Dist: Flask-Babel <3,>=1
-Requires-Dist: Flask-Limiter <4,>3
-Requires-Dist: Flask-Login <0.7,>=0.3
-Requires-Dist: Flask-SQLAlchemy <3,>=2.4
-Requires-Dist: Flask-WTF <2,>=0.14.2
-Requires-Dist: Flask-JWT-Extended <5.0.0,>=4.0.0
-Requires-Dist: jsonschema <5,>=3
-Requires-Dist: marshmallow <4,>=3.18.0
-Requires-Dist: marshmallow-sqlalchemy <0.29.0,>=0.22.0
-Requires-Dist: python-dateutil <3,>=2.3
-Requires-Dist: prison <1.0.0,>=0.2.1
-Requires-Dist: PyJWT <3.0.0,>=2.0.0
-Requires-Dist: SQLAlchemy <1.5
-Requires-Dist: sqlalchemy-utils <1,>=0.32.21
-Requires-Dist: WTForms <4
-Requires-Dist: werkzeug <4
-Provides-Extra: jmespath
-Requires-Dist: jmespath >=0.9.5 ; extra == 'jmespath'
-Provides-Extra: oauth
-Requires-Dist: Authlib <2.0.0,>=0.14 ; extra == 'oauth'
-Provides-Extra: openid
-Requires-Dist: Flask-OpenID <2,>=1.2.5 ; extra == 'openid'
-Provides-Extra: talisman
-Requires-Dist: flask-talisman <2.0,>=1.0.0 ; extra == 'talisman'
-
-Flask App Builder
-=================
-
-.. image:: https://github.com/dpgaspar/Flask-AppBuilder/workflows/Python/badge.svg
-        :target: https://github.com/dpgaspar/Flask-AppBuilder/actions
-
-.. image:: https://img.shields.io/pypi/v/Flask-AppBuilder.svg
-        :alt: PyPI
-        :target: https://pypi.org/project/Flask-AppBuilder/
-
-.. image:: https://img.shields.io/badge/pyversions-3.8%2C%203.9%2C%203.10%2C%203.11%2C%203.12-blue.svg
-        :target: https://www.python.org/
-
-.. image:: https://codecov.io/github/dpgaspar/Flask-AppBuilder/coverage.svg?branch=master
-        :target: https://codecov.io/github/dpgaspar/Flask-AppBuilder
-
-.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
-    :target: https://github.com/psf/black
-
-
-Simple and rapid application development framework, built on top of `Flask <http://flask.pocoo.org/>`_.
-includes detailed security, auto CRUD generation for your models, google charts and much more.
-
-Extensive configuration of all functionality, easily integrate with normal Flask/Jinja2 development.
-
-- Documentation: `Documentation <http://flask-appbuilder.readthedocs.org/en/latest/>`_
-
-- Mailing list: `Google group <https://groups.google.com/forum/#!forum/flask-appbuilder>`_
-
-- Chat: `Gitter <https://gitter.im/dpgaspar/Flask-AppBuilder>`_
-
-- Examples: `examples <https://github.com/dpgaspar/Flask-AppBuilder/tree/master/examples>`_
-
-Checkout installation video on `YouTube <http://youtu.be/xvum4vfwldg>`_
-
-Quick how to `Demo from the docs <http://flaskappbuilder.pythonanywhere.com/>`_ (login has guest/welcome).
-
-Change Log
-----------
-
-`Versions <https://github.com/dpgaspar/Flask-AppBuilder/tree/master/CHANGELOG.rst>`_ for further detail on what changed.
-
-Fixes, Bugs and contributions
------------------------------
-
-You're welcome to report bugs, propose new features, or even better contribute to this project.
-
-`Issues, bugs and new features <https://github.com/dpgaspar/Flask-AppBuilder/issues/new>`_
-
-`Contribute <https://github.com/dpgaspar/Flask-AppBuilder/fork>`_
-
-Includes:
----------
-
-  - Database
-      - SQLAlchemy, multiple database support: sqlite, MySQL, ORACLE, MSSQL, DB2 etc.
-      - Partial support for MongoDB using MongoEngine.
-      - Multiple database connections support (Vertical partitioning).
-      - Easy mixin audit to models (created/changed by user, and timestamps).
-  - Security
-      - Automatic permissions lookup, based on exposed methods. It will grant all permissions to the Admin Role.
-      - Inserts on the Database all the detailed permissions possible on your application.
-      - Public (no authentication needed) and Private permissions.
-      - Role based permissions.
-      - Authentication support for OAuth, OpenID, Database, LDAP and REMOTE_USER environ var.
-      - Support for self user registration.
-  - Views and Widgets
-      - Automatic menu generation.
-      - Automatic CRUD generation.
-      - Multiple actions on db records.
-      - Big variety of filters for your lists.
-      - Various view widgets: lists, master-detail, list of thumbnails etc
-      - Select2, Datepicker, DateTimePicker
-      - Related Select2 fields.
-      - Google charts with automatic group by or direct values and filters.
-      - AddOn system, write your own and contribute.
-  - CRUD REST API
-      - Automatic CRUD RESTful APIs.
-      - Internationalization
-      - Integration with flask-jwt-extended extension to protect your endpoints.
-      - Metadata for dynamic rendering.
-      - Selectable columns and metadata keys.
-      - Automatic and configurable data validation.
-  - Forms
-      - Automatic, Add, Edit and Show from Database Models
-      - Labels and descriptions for each field.
-      - Automatic base validators from model's definition.
-      - Custom validators, extra fields, custom filters for related dropdown lists.
-      - Image and File support for upload and database field association. It will handle everything for you.
-      - Field sets for Form's (Django style).
-  - i18n
-      - Support for multi-language via Babel
-  - Bootstrap 3.1.1 CSS and js, with Select2 and DatePicker
-  - Font-Awesome icons, for menu icons and actions.
-
-
-Some pictures
--------------
-
-Login page (with AUTH_DB)
-
-.. image:: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/login_db.png
-    :width: 480px
-    :target: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/login_db.png
-
-
-Login page (with AUTH_OAUTH)
-
-.. image:: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/login_oauth.png
-    :width: 480px
-    :target: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/login_oauth.png
-
-
-Security
-
-.. image:: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/security.png
-    :width: 480px
-    :target: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/security.png
-
-
-Lists:
-
-List contacts example
-
-.. image:: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/contact_list.png
-    :width: 480px
-    :target: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/contact_list.png
-
-
-List Group example with search
-
-.. image:: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/group_list.png
-    :width: 480px
-    :target: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/group_list.png
-
-
-
-Charts:
-
-Group by pie chart
-
-.. image:: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/grouped_chart.png
-    :width: 480px
-    :target: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/grouped_chart.png
-
-Direct time chart
-
-.. image:: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/direct_chart.png
-    :width: 480px
-    :target: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/chart_time1.png
-
-Group by time chart
-
-.. image:: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/chart_time2.png
-    :width: 480px
-    :target: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/chart_time2.png
-
-
-Projects/Organizations using FAB
---------------------------------
-
-If you would like to share your project, or let everyone know that you're using FAB
-on your organization please submit a PR or send me an email with the details.
-
-Projects:
-
-- `Superset <https://github.com/apache/incubator-superset>`_ - a data exploration platform designed to be visual, intuitive, and interactive
-
-- `Airflow <https://github.com/apache/airflow>`_ - a platform to programmatically author, schedule, and monitor workflows.
-
-
-Organizations:
-
-- Miniclip
-- EuroBIC
-- `On Beat Digital <https://onbeat.digital/>`_
-
-
-Depends on:
------------
-
-- flask
-- click
-- colorama
-- flask-sqlalchemy
-- flask-login
-- flask-openid
-- flask-wtform
-- flask-Babel

+ 0 - 336
.venv/Lib/site-packages/Flask_AppBuilder-4.5.3.dist-info/RECORD

@@ -1,336 +0,0 @@
-../../Scripts/fabmanager.exe,sha256=riUwssnG_GYIqXF7M5P0U6f9WC_C8AwPY2Tu0ICImQ4,108429
-Flask_AppBuilder-4.5.3.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
-Flask_AppBuilder-4.5.3.dist-info/LICENSE,sha256=pZ-ajm1I_0h91a1peoZFSemkiFE8kK1H_xmV_cxlQlY,1493
-Flask_AppBuilder-4.5.3.dist-info/METADATA,sha256=gR9vJMbxurVZUILsGHgxMWpnAmEO33a3TrE_PuLPmbU,8862
-Flask_AppBuilder-4.5.3.dist-info/RECORD,,
-Flask_AppBuilder-4.5.3.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
-Flask_AppBuilder-4.5.3.dist-info/entry_points.txt,sha256=3DOZUyqiwUVz_vRVOuT8E5vMa_O9dpGKpey9lSpAyb4,109
-Flask_AppBuilder-4.5.3.dist-info/top_level.txt,sha256=Dy4t809z2TNdpjQhDUMEXU8Hc61x1e6WRNaC7hG6r8M,17
-flask_appbuilder/__init__.py,sha256=eiWzoyyhwP5G8GhNhCY_ksxZbOkBw167VBdtSYB347M,734
-flask_appbuilder/__pycache__/__init__.cpython-312.pyc,,
-flask_appbuilder/__pycache__/_compat.cpython-312.pyc,,
-flask_appbuilder/__pycache__/actions.cpython-312.pyc,,
-flask_appbuilder/__pycache__/base.cpython-312.pyc,,
-flask_appbuilder/__pycache__/basemanager.cpython-312.pyc,,
-flask_appbuilder/__pycache__/baseviews.cpython-312.pyc,,
-flask_appbuilder/__pycache__/cli.cpython-312.pyc,,
-flask_appbuilder/__pycache__/console.cpython-312.pyc,,
-flask_appbuilder/__pycache__/const.cpython-312.pyc,,
-flask_appbuilder/__pycache__/exceptions.cpython-312.pyc,,
-flask_appbuilder/__pycache__/fields.cpython-312.pyc,,
-flask_appbuilder/__pycache__/fieldwidgets.cpython-312.pyc,,
-flask_appbuilder/__pycache__/filemanager.cpython-312.pyc,,
-flask_appbuilder/__pycache__/filters.cpython-312.pyc,,
-flask_appbuilder/__pycache__/forms.cpython-312.pyc,,
-flask_appbuilder/__pycache__/hooks.cpython-312.pyc,,
-flask_appbuilder/__pycache__/menu.cpython-312.pyc,,
-flask_appbuilder/__pycache__/messages.cpython-312.pyc,,
-flask_appbuilder/__pycache__/upload.cpython-312.pyc,,
-flask_appbuilder/__pycache__/urltools.cpython-312.pyc,,
-flask_appbuilder/__pycache__/validators.cpython-312.pyc,,
-flask_appbuilder/__pycache__/views.cpython-312.pyc,,
-flask_appbuilder/__pycache__/widgets.cpython-312.pyc,,
-flask_appbuilder/_compat.py,sha256=Ac71GIwVHe9Pq7i2qDsrGUgL63Vz5oeC4rjhWw0kd6g,1969
-flask_appbuilder/actions.py,sha256=-TqIH159BKCB-ezHJifbubApk2nxjospNYfH_7IgBJ8,1177
-flask_appbuilder/api/__init__.py,sha256=6495xUocWEpoe-pT22hXXmETtc90aKqEwTBoxF9o698,76738
-flask_appbuilder/api/__pycache__/__init__.cpython-312.pyc,,
-flask_appbuilder/api/__pycache__/convert.cpython-312.pyc,,
-flask_appbuilder/api/__pycache__/manager.cpython-312.pyc,,
-flask_appbuilder/api/__pycache__/schemas.cpython-312.pyc,,
-flask_appbuilder/api/convert.py,sha256=UITMjuhRAdgcC9nibk0JRmfdzu-cMww2GQgzOjhmdL8,9871
-flask_appbuilder/api/manager.py,sha256=GOJfbACRlP4a1kxk5VvReM8CyUEHCAGPBm6wS9-ybBE,3366
-flask_appbuilder/api/schemas.py,sha256=Z-Jor8w52iDuQ_tfWf10TPFGQq6HK95AXd1XK3-7oBg,4906
-flask_appbuilder/babel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
-flask_appbuilder/babel/__pycache__/__init__.cpython-312.pyc,,
-flask_appbuilder/babel/__pycache__/manager.cpython-312.pyc,,
-flask_appbuilder/babel/__pycache__/views.cpython-312.pyc,,
-flask_appbuilder/babel/manager.py,sha256=jemmBQWSV7i0XSxDjDAa29YZJ2n2EcSdoP-KPkbJ12w,2310
-flask_appbuilder/babel/views.py,sha256=LWM2xbw-eekTEBCdgB49GkYaEOk95Po5TKF2-Jsyp14,506
-flask_appbuilder/base.py,sha256=DTXq4uwn8X8_W21Uu6acyJ9xoVvEmcWAabtSFLDA3Sg,26023
-flask_appbuilder/basemanager.py,sha256=MdgZ52RhUBxKWRBxp4a2u41cUy9u7FBYWVHo6FW_RG0,342
-flask_appbuilder/baseviews.py,sha256=27-0bobq0F1EuT2FCltO6ysJqTi7O8yviF7Cd4CJ7r8,49021
-flask_appbuilder/charts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
-flask_appbuilder/charts/__pycache__/__init__.cpython-312.pyc,,
-flask_appbuilder/charts/__pycache__/jsontools.cpython-312.pyc,,
-flask_appbuilder/charts/__pycache__/views.cpython-312.pyc,,
-flask_appbuilder/charts/__pycache__/widgets.cpython-312.pyc,,
-flask_appbuilder/charts/jsontools.py,sha256=ftlXJd_LP_YFMdtvVPbm54E3de0QbEyHJOZwo9gt6nY,1315
-flask_appbuilder/charts/views.py,sha256=6yumuHzdbZF8UwGLtX0h7-dqqg4ZVP2DPOacL0JRNlE,17437
-flask_appbuilder/charts/widgets.py,sha256=o-VafcXlbiCVbopxxphDUA0Q4WNhxEwY_d5cRlIzk9I,382
-flask_appbuilder/cli.py,sha256=Pk0gCPruiZrJg7B5GL7J2tsqEDpqLMMW3Gpp6bakSt8,14981
-flask_appbuilder/console.py,sha256=FNCcFrTJASbVu1Cz-plbOw25FXVdz9bsQPr98XjlaQo,14071
-flask_appbuilder/const.py,sha256=Z_BzT99JmOHy0yHfzs2x4R6l98e04mHq3ANm6Gp5o3A,8641
-flask_appbuilder/exceptions.py,sha256=GZqxq152x-iJWoQs3Wr5Sjwdk2cYnmKV11e5rw4K3os,1382
-flask_appbuilder/fields.py,sha256=GyM_EjpP0HL1cpqhVjWludv3uj1VdKImM-kj5fazDk8,9328
-flask_appbuilder/fieldwidgets.py,sha256=XPQPzBsNsTOi848nK2lsQG0knkZzx9kLvujspqL83Qs,6058
-flask_appbuilder/filemanager.py,sha256=WyAMepEMoDQ11MsW9CMSK0h3L8t9rDEz9aRJGMh7JWQ,8452
-flask_appbuilder/filters.py,sha256=dBBO8p5UwzMkRANWkf9PVAVzWqxqwQXlhErdR8yJrNk,6164
-flask_appbuilder/forms.py,sha256=KSm34jXwACLxfRerNBWBx9QTr8qgV-fzC4WScMtqS7o,11025
-flask_appbuilder/hooks.py,sha256=WScmGkHUjVsQgxli01fXZ97E0_5toxi8MMcATgrXKDg,3003
-flask_appbuilder/menu.py,sha256=SZZSGPoT8t1lOB4z8B2_0_Rx19XGfB3c1XtKQCyQaDg,7636
-flask_appbuilder/messages.py,sha256=Q5KXDSZUKV7O26n7BxR6AMDgtoANJZmVGgCyrvTkbK8,290
-flask_appbuilder/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
-flask_appbuilder/models/__pycache__/__init__.cpython-312.pyc,,
-flask_appbuilder/models/__pycache__/base.cpython-312.pyc,,
-flask_appbuilder/models/__pycache__/decorators.cpython-312.pyc,,
-flask_appbuilder/models/__pycache__/filters.cpython-312.pyc,,
-flask_appbuilder/models/__pycache__/group.cpython-312.pyc,,
-flask_appbuilder/models/__pycache__/mixins.cpython-312.pyc,,
-flask_appbuilder/models/base.py,sha256=lo_USLR1VWpsTGtQ57D1irtcdWzdJ6lR9nP6W6EUbVE,9580
-flask_appbuilder/models/decorators.py,sha256=GKPLyW1Q1aN6VPe9JUqvzh-YBUEP7ltKmtgc2pLrEf4,794
-flask_appbuilder/models/filters.py,sha256=5JTF5KLOsJxz9yYmiv-nEFDO-vxeDhqKU7ZIx7h9hB8,10262
-flask_appbuilder/models/generic/__init__.py,sha256=gU8gN5UYdgSpQ33SHiPm862T5ejcOIUxFEp2Vg1MEeA,12948
-flask_appbuilder/models/generic/__pycache__/__init__.cpython-312.pyc,,
-flask_appbuilder/models/generic/__pycache__/filters.cpython-312.pyc,,
-flask_appbuilder/models/generic/__pycache__/interface.cpython-312.pyc,,
-flask_appbuilder/models/generic/filters.py,sha256=TtjPUF3UsdIu0Zkgv7xyVMCN68pUValL68vroYrqjF8,2641
-flask_appbuilder/models/generic/interface.py,sha256=CDxMomzeMEiow7CY2SxjBFmkBKgBM2w06htfsK8MjTs,2247
-flask_appbuilder/models/group.py,sha256=x3wxx7yj5j4bYwS-z3HHvVWTDTyv6GQyZ8ncJSXwCuE,10808
-flask_appbuilder/models/mixins.py,sha256=bWfuSJDZaP_zpz7SSXDSj37AtiQGK73ItC-lWhsMPok,2593
-flask_appbuilder/models/mongoengine/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
-flask_appbuilder/models/mongoengine/__pycache__/__init__.cpython-312.pyc,,
-flask_appbuilder/models/mongoengine/__pycache__/fields.cpython-312.pyc,,
-flask_appbuilder/models/mongoengine/__pycache__/filters.cpython-312.pyc,,
-flask_appbuilder/models/mongoengine/__pycache__/interface.cpython-312.pyc,,
-flask_appbuilder/models/mongoengine/fields.py,sha256=EzvBbz8IKI8Ud6hMtsQtG3OiG1a8M9m0tE0DBS0QAkA,1757
-flask_appbuilder/models/mongoengine/filters.py,sha256=IU70HBbaskfmSDisgKZZq3uWM_oIGll9HyrgEio2UIQ,4176
-flask_appbuilder/models/mongoengine/interface.py,sha256=IH-_I25xuZWJhr4oMz2qhZp0S_XVDEkqrUfvDNW5BJs,9952
-flask_appbuilder/models/sqla/__init__.py,sha256=8BWIo3Tw1Ync8Enhbaj4EgkLB2vnMSxDQX6Vq0YRogk,4073
-flask_appbuilder/models/sqla/__pycache__/__init__.cpython-312.pyc,,
-flask_appbuilder/models/sqla/__pycache__/filters.cpython-312.pyc,,
-flask_appbuilder/models/sqla/__pycache__/interface.cpython-312.pyc,,
-flask_appbuilder/models/sqla/filters.py,sha256=mMgtPbSLsPsBl5q_frrKmduj3HvjtgLECtY7yuwvARY,11046
-flask_appbuilder/models/sqla/interface.py,sha256=FYOGQ-bjtmx43XBmSnRfK4nnE643w_9cabhzJuG4H28,39115
-flask_appbuilder/security/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
-flask_appbuilder/security/__pycache__/__init__.cpython-312.pyc,,
-flask_appbuilder/security/__pycache__/api.cpython-312.pyc,,
-flask_appbuilder/security/__pycache__/decorators.cpython-312.pyc,,
-flask_appbuilder/security/__pycache__/forms.cpython-312.pyc,,
-flask_appbuilder/security/__pycache__/manager.cpython-312.pyc,,
-flask_appbuilder/security/__pycache__/registerviews.cpython-312.pyc,,
-flask_appbuilder/security/__pycache__/schemas.cpython-312.pyc,,
-flask_appbuilder/security/__pycache__/utils.cpython-312.pyc,,
-flask_appbuilder/security/__pycache__/views.cpython-312.pyc,,
-flask_appbuilder/security/api.py,sha256=8porfOv5xpM3IOiCPPmrqYY5z7P2qOPqJD-2UABXxSQ,5219
-flask_appbuilder/security/decorators.py,sha256=awI42SQR892OuPnerMSTcpa-K82Mc2ukp8eB19ynUGs,11020
-flask_appbuilder/security/forms.py,sha256=BDgkJ8PfbrRqXuo2nHdFU1WqioKulFkG0aWX9IfK1BU,4162
-flask_appbuilder/security/manager.py,sha256=nYRHAxcog1yW2i4k4KZ3JzZPYpLZlFZRemub9ZKh3Cg,79918
-flask_appbuilder/security/mongoengine/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
-flask_appbuilder/security/mongoengine/__pycache__/__init__.cpython-312.pyc,,
-flask_appbuilder/security/mongoengine/__pycache__/manager.cpython-312.pyc,,
-flask_appbuilder/security/mongoengine/__pycache__/models.cpython-312.pyc,,
-flask_appbuilder/security/mongoengine/manager.py,sha256=A_GC6Ap6JOjs7LnoyNWUuw6ah5O0IYfyZeZc6qa6Oz4,15221
-flask_appbuilder/security/mongoengine/models.py,sha256=9BlQMB2jyAcCfory5fVM9HjZsF2Jh3x7qSTa9pKSOTU,3219
-flask_appbuilder/security/registerviews.py,sha256=zI_EXc-GG2CJBUg1Ds8vqQqVBx2n73Z5TWGzhfXNboE,10519
-flask_appbuilder/security/schemas.py,sha256=keManyd6dh-FXBXGkuvVHLWh-BSYoJytv8pTZ2wTHhY,1359
-flask_appbuilder/security/sqla/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
-flask_appbuilder/security/sqla/__pycache__/__init__.cpython-312.pyc,,
-flask_appbuilder/security/sqla/__pycache__/manager.cpython-312.pyc,,
-flask_appbuilder/security/sqla/__pycache__/models.cpython-312.pyc,,
-flask_appbuilder/security/sqla/apis/__init__.py,sha256=rbQV6bmZirUhCM5R_Bh2MLFVnc-nHHCLvbxVznW3750,435
-flask_appbuilder/security/sqla/apis/__pycache__/__init__.cpython-312.pyc,,
-flask_appbuilder/security/sqla/apis/permission/__init__.py,sha256=QmBYWNu9LIk0k-qrcYmcSnN3YW6QGK4pky_Ux3V6Vjg,45
-flask_appbuilder/security/sqla/apis/permission/__pycache__/__init__.cpython-312.pyc,,
-flask_appbuilder/security/sqla/apis/permission/__pycache__/api.cpython-312.pyc,,
-flask_appbuilder/security/sqla/apis/permission/api.py,sha256=Kh-LZ4v4G3y06y-XJyclKj1kjOF4d4HLfTqAK5KY99s,624
-flask_appbuilder/security/sqla/apis/permission_view_menu/__init__.py,sha256=OyBP6HjYzOpSqr63drKLXaqEngIdqPRLueUDJos-UPY,53
-flask_appbuilder/security/sqla/apis/permission_view_menu/__pycache__/__init__.cpython-312.pyc,,
-flask_appbuilder/security/sqla/apis/permission_view_menu/__pycache__/api.cpython-312.pyc,,
-flask_appbuilder/security/sqla/apis/permission_view_menu/api.py,sha256=mthU1QIYTsw0tCWu_M2gr7usEicAVO1izu62wvgSW_0,647
-flask_appbuilder/security/sqla/apis/role/__init__.py,sha256=naG_84Y_PUaV8jvm5AeLJcLxywf_onzcnd5TbLjZuXc,39
-flask_appbuilder/security/sqla/apis/role/__pycache__/__init__.cpython-312.pyc,,
-flask_appbuilder/security/sqla/apis/role/__pycache__/api.cpython-312.pyc,,
-flask_appbuilder/security/sqla/apis/role/__pycache__/schema.cpython-312.pyc,,
-flask_appbuilder/security/sqla/apis/role/api.py,sha256=3JJyKRVsGYNnVv1ks9OGaKPZlCeT_rQ4CXXewYZVRro,5053
-flask_appbuilder/security/sqla/apis/role/schema.py,sha256=iyTKF2_rj8W1UScSu0BH5azADWpBEf_epVhF6pkUXdQ,390
-flask_appbuilder/security/sqla/apis/user/__init__.py,sha256=8llQQbFTBj7oaHzMRV-Wd5iBFNOjqAhy1-x3_Ae1gf0,39
-flask_appbuilder/security/sqla/apis/user/__pycache__/__init__.cpython-312.pyc,,
-flask_appbuilder/security/sqla/apis/user/__pycache__/api.cpython-312.pyc,,
-flask_appbuilder/security/sqla/apis/user/__pycache__/schema.cpython-312.pyc,,
-flask_appbuilder/security/sqla/apis/user/__pycache__/validator.cpython-312.pyc,,
-flask_appbuilder/security/sqla/apis/user/api.py,sha256=4GBxSqSFze6Re1lsBDHzDlcahqN5We22a6sirAH5w_k,6695
-flask_appbuilder/security/sqla/apis/user/schema.py,sha256=pqil9485M0v-r4It42oEYGrDrEgt3WmQ4cLSlrt4q20,2481
-flask_appbuilder/security/sqla/apis/user/validator.py,sha256=mZ1dHl7X0BSzmafJjzHrPuJWuu1sFLUhZQGjMzE2F6Y,1095
-flask_appbuilder/security/sqla/apis/view_menu/__init__.py,sha256=YPSc8M1MMrcfLg633cJtKY0UPMTQT96V0fcY0GWQ8a0,43
-flask_appbuilder/security/sqla/apis/view_menu/__pycache__/__init__.cpython-312.pyc,,
-flask_appbuilder/security/sqla/apis/view_menu/__pycache__/api.cpython-312.pyc,,
-flask_appbuilder/security/sqla/apis/view_menu/api.py,sha256=g0-OBjpwcF8Pm52QHHOqNENT-2D6WZOs7VA3vvM96Xo,569
-flask_appbuilder/security/sqla/manager.py,sha256=BgPGzXVWp2SQTYwPKlSa1k9fqnE8bMPobmZ2ulGGNOg,26476
-flask_appbuilder/security/sqla/models.py,sha256=ACxsW3oj7Vhh9PnD2jg9g6lJ_DxVCUVboAnaVvs4zL0,5532
-flask_appbuilder/security/utils.py,sha256=0PwDO-mB76RLPYlV9tCksChIMRq3zQgwLwiVMJ8jeiU,247
-flask_appbuilder/security/views.py,sha256=0XN1fzDnyKcQ1bQQMyqLTyR8uSRz7fxGIj-4m6HNvzI,26394
-flask_appbuilder/static/.DS_Store,sha256=y0F1REGYdjEP6mkLEXwRfq1bfqn3irXPxwg2W-1pSu0,6148
-flask_appbuilder/static/appbuilder/.DS_Store,sha256=bAUT2QH2kkh-tMDe3K_1snJM8v2MCWWnXUkv2VZeAa4,6148
-flask_appbuilder/static/appbuilder/css/ab.css,sha256=3aeitulGDxslqqEfB0XPFgUYN87Y3SAJYg7zBlJklnc,643
-flask_appbuilder/static/appbuilder/css/bootstrap-datepicker/bootstrap-datepicker3.min.css,sha256=bZRrQVK1rYvxccX8WACyWguD6Ba0h4h_Qs6vmJP2Pws,21102
-flask_appbuilder/static/appbuilder/css/bootstrap.min.css,sha256=bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd-tIvLhE,121457
-flask_appbuilder/static/appbuilder/css/bootstrap.min.css.map,sha256=eLWMnr_ULsLGG8T99Gpd-ZjmzZB8dzB2oKbo9Whrr8M,540434
-flask_appbuilder/static/appbuilder/css/flags/flags16.css,sha256=rIM9XGcQ0BxJPOuKTzXajC4niQoS4cAa1wmN4-8kB28,10904
-flask_appbuilder/static/appbuilder/css/fontawesome/all.min.css,sha256=Z1K5uhUaJXA7Ll0XrZ_0JhX4lAtZFpT6jkKrEDT0drU,101894
-flask_appbuilder/static/appbuilder/css/fontawesome/brands.min.css,sha256=TXCTfrlEOGerSO77rgj5Fvyzf9g0O4ne2lXoR8uS4II,18594
-flask_appbuilder/static/appbuilder/css/fontawesome/fontawesome.min.css,sha256=zgORubRsz5iTQajy0X9EdrJBq1vNm70B2ZW4YKdRy3s,80761
-flask_appbuilder/static/appbuilder/css/fontawesome/regular.min.css,sha256=AKdJTilWP0HA1p1q_DnHgnJmR3uc56QTFroCEUE1NCs,580
-flask_appbuilder/static/appbuilder/css/fontawesome/solid.min.css,sha256=PWjOYKvQnR-QNLq3ts8OC0_uUzdQ2NkfEulijXY8Xfo,572
-flask_appbuilder/static/appbuilder/css/fontawesome/svg-with-js.min.css,sha256=BmRf_TpWkrGebpxG24nKIy25TXuzr7WmOOqtWPhfaNw,16771
-flask_appbuilder/static/appbuilder/css/fontawesome/v4-font-face.min.css,sha256=3qx38sFUtiOKkZc7eAT97tB7BHy4UtkjNS8Kirug-lA,1736
-flask_appbuilder/static/appbuilder/css/fontawesome/v4-shims.min.css,sha256=CBrGmsHCYkijL0yBH22hDEe9MvZYhXdAiOjeZm9OkS8,27593
-flask_appbuilder/static/appbuilder/css/fontawesome/v5-font-face.min.css,sha256=zGrY1du3JRHqYLHQdYES159Q-372nQNFC_IpetFsksY,794
-flask_appbuilder/static/appbuilder/css/images/flags16.png,sha256=4J5H4u1HssdXva0oOR4tEDhcWmXjd3ubK3zvzicaTk8,51306
-flask_appbuilder/static/appbuilder/css/select2/select2-bootstrap.min.css,sha256=nbyata2PJRjImhByQzik2ot6gSHSU4Cqdz5bNYL2zcU,16792
-flask_appbuilder/static/appbuilder/css/select2/select2.min.css,sha256=FdatTf20PQr_rWg-cAKfl6j4_IY3oohFAJ7gVC3M34E,14966
-flask_appbuilder/static/appbuilder/css/swagger/swagger-ui.css,sha256=wk7P_WP8eX03vtHGjqAwR5rRx6MGOP-2taJVnqmLxDE,151211
-flask_appbuilder/static/appbuilder/css/themes/amelia.css,sha256=kPkKJh9Kz2u6naJn3pH4VFgGpgr1DNzNOy2liHeU4Wk,105250
-flask_appbuilder/static/appbuilder/css/themes/cerulean.css,sha256=UKmB9_useaL9IPo4IS517peuQEt05x_Z0vSG14-lCBc,120090
-flask_appbuilder/static/appbuilder/css/themes/cosmo.css,sha256=VguXHGaX2jwxjvlWXG3zwWh_i3d8w1XCi2jVqTRmG7I,119768
-flask_appbuilder/static/appbuilder/css/themes/cyborg.css,sha256=zxEHfLTlVC7lgREqDvri8javBIniGsbVmfSgAwx0wfE,119799
-flask_appbuilder/static/appbuilder/css/themes/darkly.css,sha256=3ENdQmzAZ_ZJ_5vCIpqVRiaOQQwGDT0qDyLL_b0D-GY,121625
-flask_appbuilder/static/appbuilder/css/themes/flatly.css,sha256=YWVGaarRFEqNTJPYf4VPJj4lutdGawVsrfm-tXi9qbw,121354
-flask_appbuilder/static/appbuilder/css/themes/journal.css,sha256=wLEIsTem6YGp3_G0iNqqLKhYzkiBzPN9ZBoZpU2PuY4,118666
-flask_appbuilder/static/appbuilder/css/themes/lumen.css,sha256=Tg2t3ds9B3CEkYurKyNc2E8wV5IoJjPgo0pq7meOeHE,124431
-flask_appbuilder/static/appbuilder/css/themes/paper.css,sha256=l26I8blnp0qRoSufU5_wAxzYwkj8Egy_Q40h9sPMrVM,132318
-flask_appbuilder/static/appbuilder/css/themes/readable.css,sha256=PA0eUEGv1KU0FsZUIa2nJacxxLbtyqRgavDy8FGFhDg,118678
-flask_appbuilder/static/appbuilder/css/themes/sandstone.css,sha256=dWyyHDaAx6lROKdA9KzmLzBe9LsF2hnwCZk2auGcfe4,118965
-flask_appbuilder/static/appbuilder/css/themes/simplex.css,sha256=Uu16KAlMrzFZBn_2FYxhVWnwHarllrNh2cvf8w4YNZc,120186
-flask_appbuilder/static/appbuilder/css/themes/slate.css,sha256=Orf6npZE1_7-IlImB13cRpXmY4UkoF4POi_A4SFTcJg,129014
-flask_appbuilder/static/appbuilder/css/themes/solar.css,sha256=myOylmHaqDfIsXzix87RHS8ROCq2po3cAyCl_pxIMKE,125030
-flask_appbuilder/static/appbuilder/css/themes/spacelab.css,sha256=_BGJbByPB6l_Z75eYlhuECuDOE4AGGh4RGpH7MYEwJI,121499
-flask_appbuilder/static/appbuilder/css/themes/superhero.css,sha256=_YJAsKpKyctRvT1UDptVCWpLhg-hY1bYRkzXgXtnY44,120731
-flask_appbuilder/static/appbuilder/css/themes/united.css,sha256=ltLC53c-9nQc0ELY92pXXop0iDkRo4LeF9_FQ_JnXH0,117016
-flask_appbuilder/static/appbuilder/css/themes/yeti.css,sha256=EWnz2eP0uYQgePSFe305auRVJm2K6j7KBENXMlMQzDU,121865
-flask_appbuilder/static/appbuilder/css/webfonts/fa-brands-400.ttf,sha256=sdHBsBLhp2IcyE_R5cHbq5IBL0DfdCPoeasvpJNSD-4,186124
-flask_appbuilder/static/appbuilder/css/webfonts/fa-brands-400.woff2,sha256=xhKHwvqYY7X7WETGg6ForGUgyU2CK7Q9Xq41w6KoIWY,107656
-flask_appbuilder/static/appbuilder/css/webfonts/fa-regular-400.ttf,sha256=17Gf4gEQGwirE0T_1HLVnOZSrTw_tfGUw-NaopCOZ0o,62320
-flask_appbuilder/static/appbuilder/css/webfonts/fa-regular-400.woff2,sha256=XaMTsEZ_fBsY2YFnKyNGGt0x461BmIwwEBvaq7B05EY,25236
-flask_appbuilder/static/appbuilder/css/webfonts/fa-solid-900.ttf,sha256=5Pan6dGnwLSWjZy51CLo2c3KIp9_866sf5bkuqJcdoA,397420
-flask_appbuilder/static/appbuilder/css/webfonts/fa-solid-900.woff2,sha256=jwZUD9d_Hv_h4tqOoQzsSjgt2pzG7wXYFuHW3kRAcvI,150516
-flask_appbuilder/static/appbuilder/css/webfonts/fa-v4compatibility.ttf,sha256=Lds7QRSpy1ZeSbCvIcw6yIzQQ760m-MouPV6Y0mJ4Kw,10140
-flask_appbuilder/static/appbuilder/css/webfonts/fa-v4compatibility.woff2,sha256=9GcVydMAR_jepOsl7YafeR6wacaw9hAjgsMqVq7q37s,4568
-flask_appbuilder/static/appbuilder/fonts/glyphicons-halflings-regular.eot,sha256=E2NNqH2eI_jD7ZEIzhck0YOjmtBy5z4bPYy_ZG0tBAc,20127
-flask_appbuilder/static/appbuilder/fonts/glyphicons-halflings-regular.svg,sha256=QvYGWdJlwaPDD5-kKry7Vr1KU69Ng9MW1t16NpA8Q-U,108738
-flask_appbuilder/static/appbuilder/fonts/glyphicons-halflings-regular.ttf,sha256=45UEQJN1fYKvyxOJV9BqHqk2G9zwtELQahioBRr1dFY,45404
-flask_appbuilder/static/appbuilder/fonts/glyphicons-halflings-regular.woff,sha256=omOU9-3hAMoRjv8u2ghZYnWpg5uVnCJuFUOVV6WoB0I,23424
-flask_appbuilder/static/appbuilder/fonts/glyphicons-halflings-regular.woff2,sha256=_hhdEaSWdokNR7t4MxKgzaWkTEA5IUCU55V7TAQO8Rw,18028
-flask_appbuilder/static/appbuilder/img/aol.png,sha256=CPiVUhcQlOq_8lAC3Y16BEKs2sLfOnZBZNf_cSPeWOE,2483
-flask_appbuilder/static/appbuilder/img/fab.png,sha256=MeZfyBLCdtgsJdGdPYKd3QFiDhJby6oLp1sVP1NbF4Q,2591
-flask_appbuilder/static/appbuilder/img/flickr.png,sha256=hGfZT_eUDA04ADKe-ABedCxrpoiT6KGSHUiU_-7jg88,1595
-flask_appbuilder/static/appbuilder/img/glyphicons-halflings-white.png,sha256=8ODZWpyKvN-r9GNI4tQoWCm7BJH19q8OBa9Sv_tjJMQ,8777
-flask_appbuilder/static/appbuilder/img/glyphicons-halflings.png,sha256=2Z4_oyxkEDLwgUmRSyjC3GrPLsYvcJh_Ilnqu_p_wN4,12799
-flask_appbuilder/static/appbuilder/img/google.png,sha256=Mb27xYlpbku_ieGoanh6dKZAnm2gi2cDzFA0lduwHXU,2558
-flask_appbuilder/static/appbuilder/img/myopenid.png,sha256=MpsN-TRci120VuCyN4q76sOAKAU11e5pxuv2BxK27y4,2882
-flask_appbuilder/static/appbuilder/img/yahoo.png,sha256=QJfPXaWRgaq8PCVb4Z2vMORUzDJGKE7dhViTKvJXMyk,2842
-flask_appbuilder/static/appbuilder/js/ab.js,sha256=X-SKsBQKViDV4I0l_XWYfKto0diPp1qBwXn9XXaaLbo,3380
-flask_appbuilder/static/appbuilder/js/ab_actions.js,sha256=gSh55Vh0fOLLUJPxzCJaegAtJFVgvzvd0duPXRy3pjA,4228
-flask_appbuilder/static/appbuilder/js/ab_filters.js,sha256=iPw-tVct4pLuCAF38vEdk7vbzL5aSC1RVYs0Sv4XKms,5275
-flask_appbuilder/static/appbuilder/js/ab_keep_tab.js,sha256=8MOjHJICM0UiMmB_B8r2pFFZ2Mka3BT2d90eL5SKBFM,1526
-flask_appbuilder/static/appbuilder/js/bootstrap-datepicker/bootstrap-datepicker.min.js,sha256=iZp9dyOMJKPFdn1UMra9ZMhPZAlSGZUzdhqqEgijE-Q,33871
-flask_appbuilder/static/appbuilder/js/bootstrap.min.js,sha256=nuL8_2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL-1ev4,39680
-flask_appbuilder/static/appbuilder/js/google_charts.js,sha256=WWPcbKY75OwEWXxnfXEY55cx788X92ZdaAGH_mvjCgI,46151
-flask_appbuilder/static/appbuilder/js/jquery-latest.js,sha256=_xUj-3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej_m4,89501
-flask_appbuilder/static/appbuilder/js/popper.min.js,sha256=_ijcOLwFf26xEYAjW75FizKVo5tnTYiQddPZoLUHHZ8,21233
-flask_appbuilder/static/appbuilder/js/select2/select2.min.js,sha256=AFAYEOkzB6iIKnTYZOdUf9FFje6lOTYdwRJKwTN5mks,70851
-flask_appbuilder/static/appbuilder/js/swagger-ui-bundle.js,sha256=KlVjBlJL7SymaOxa4ZsdvU2c2qNHlckGOhxEspqcYJc,1385226
-flask_appbuilder/templates/appbuilder/_formhelpers.html,sha256=XVS_zN1ZrWLqDhnmH1oqhieF1F5uGMi1K7bCm__wsno,360
-flask_appbuilder/templates/appbuilder/base.html,sha256=HUMYeU_KKCy4LiA0KrdoXQm56MoiORgQV6ERwQbbgkY,28
-flask_appbuilder/templates/appbuilder/baselayout.html,sha256=EF_tMzYkKAIexehvoXol2sj62XK1Z8HLCz_bOvghzwc,874
-flask_appbuilder/templates/appbuilder/baselib.html,sha256=PsEx5l4GFexaXIWT5OQUvStKG_U1J7DJREkbO_aUk_U,4588
-flask_appbuilder/templates/appbuilder/flash.html,sha256=omg3axewTG3DWQgkLxORg7MPQLwvfbelzTJ-PJs7RRI,486
-flask_appbuilder/templates/appbuilder/footer.html,sha256=fxT9fn7iPczCYAZVYWmpL6xferrnOHK7MyR_nKRON3o,143
-flask_appbuilder/templates/appbuilder/general/alert.html,sha256=odj2dNzbopclSI7jVXwODnrqY185ASYTyShL442iox8,444
-flask_appbuilder/templates/appbuilder/general/charts/chart.html,sha256=vZTsnv3YmEU-JSlKlIc7CTR5uJvOzsryOq-YsAXnSYo,778
-flask_appbuilder/templates/appbuilder/general/charts/chart_time.html,sha256=vMGotm_VFaWYyJGk4zZ1tPM4WdTylvNtWN2kBwttp20,890
-flask_appbuilder/templates/appbuilder/general/charts/jsonchart.html,sha256=w09kwbAsGFG0WFvQ_3JouVVAkX4LhNZx3MabPi4GvQ4,670
-flask_appbuilder/templates/appbuilder/general/confirm.html,sha256=tA-hAsBh91vEPeW2W5D0hY0bX-jSI61JyZwOiUElwGI,717
-flask_appbuilder/templates/appbuilder/general/lib.html,sha256=2R_EAl1PwhPws_YhkK9BV785Kw21tlD8YjH8LfmPUSk,14587
-flask_appbuilder/templates/appbuilder/general/model/add.html,sha256=MhOXEx-gqV8CPKhq2jh8T4iqVgSbWdw9SgiMffCKcpA,271
-flask_appbuilder/templates/appbuilder/general/model/edit.html,sha256=oQ2xBDDGqp_ifxYJANcAqxovdEO3FODCVQrLT2b-OmY,1181
-flask_appbuilder/templates/appbuilder/general/model/edit_cascade.html,sha256=HFTJczks4TdkIhkap785poJBI_TTynaKLogoNdJEh4w,813
-flask_appbuilder/templates/appbuilder/general/model/left_master_detail.html,sha256=i6ObZ1lY1QpOEUnmQb-fv1cD-MEUyZ-vd9dy5eaqen4,653
-flask_appbuilder/templates/appbuilder/general/model/list.html,sha256=fBEQb_J_ttJI80D0C1M9jI0G9w25ckoSk7xOazmT5Zc,496
-flask_appbuilder/templates/appbuilder/general/model/multiple_views.html,sha256=u4R0GrHeVPRCbQPwDKBdOBf0jVsAvWkINK4J0UrdpvY,517
-flask_appbuilder/templates/appbuilder/general/model/search.html,sha256=vxS_74SuBr-9DQtJMpRnveO3pXtn5Yl2hlF_DDmTDww,501
-flask_appbuilder/templates/appbuilder/general/model/show.html,sha256=Z6V02x3BJKIhb_emhXGARL_g94-F1nEWkV4JruUioeo,1207
-flask_appbuilder/templates/appbuilder/general/model/show_cascade.html,sha256=okkMqAiZaqPyvKeGKwLTYPaGn44mzT-xh4bQiytFA3k,784
-flask_appbuilder/templates/appbuilder/general/security/activation.html,sha256=xERW3RMRr12xKUX6zRpye9bAXhfe3RiW-hyzo4Wtbeg,216
-flask_appbuilder/templates/appbuilder/general/security/login_db.html,sha256=MnchMZLJhkqZGPkPErn2AXbiYQURWTzLpBeWfZNVH90,2949
-flask_appbuilder/templates/appbuilder/general/security/login_ldap.html,sha256=wr3VKEp6etfcsLf1sgIqReeXaIyHOns1p-4R_zumgGQ,1996
-flask_appbuilder/templates/appbuilder/general/security/login_oauth.html,sha256=-XwSh9NBm3rpd_kryjRThF_mqQTFPgiJu_zOnYGAGtM,1595
-flask_appbuilder/templates/appbuilder/general/security/login_oid.html,sha256=ruHkiRAoO6579NxHdN2ZZGbaG26j35pcjnntvrboNLc,6396
-flask_appbuilder/templates/appbuilder/general/security/register_mail.html,sha256=o40VoLzyETkSM7lW5el2Hff-gIAh3i5jMlW0d2Ay-4M,230
-flask_appbuilder/templates/appbuilder/general/security/register_oauth.html,sha256=Zl-ORB_dCbphWaXYigEGSVIBU6ZrcNwAGDPrUUXSVo4,1057
-flask_appbuilder/templates/appbuilder/general/widgets/base_list.html,sha256=Fv7FyPoLPanYh_zmFosQnibJb0jTJ4QwToqKAkBCHqU,1153
-flask_appbuilder/templates/appbuilder/general/widgets/chart.html,sha256=Zge0HeDD-MUm_YbSP1oSAbJtw0WmO87W-0te9_iqZxA,2981
-flask_appbuilder/templates/appbuilder/general/widgets/direct_chart.html,sha256=Q8VX97abYdtcZOWIym053M29wTpXbbTWsUoDLwQbnpc,2613
-flask_appbuilder/templates/appbuilder/general/widgets/form.html,sha256=ZApB1T0AoYQVhMzQ_MKeUX1mToablQW514NvnaBLUc4,2016
-flask_appbuilder/templates/appbuilder/general/widgets/form_horizontal.html,sha256=ccOK-8aUBmM1m4fvUSfTDaZaSpxFQUA99i1Av7o72vQ,1382
-flask_appbuilder/templates/appbuilder/general/widgets/form_inline.html,sha256=4-SZuL53_omJOukHvxQAkK7H6lM0ojXrPoEoQ2HsIeI,1326
-flask_appbuilder/templates/appbuilder/general/widgets/form_vertical.html,sha256=vKaK9jS7c_ZdfONzOQDbpsdWxU7mt7ZwsAhnW5lC0ZQ,1328
-flask_appbuilder/templates/appbuilder/general/widgets/group_form_list.html,sha256=eceh1r4br9UF_fkxfASR-MHv1b83RVHSmOwbpxHiQWg,247
-flask_appbuilder/templates/appbuilder/general/widgets/list.html,sha256=Kg-tSP5CI5x1bbyWPc76PLoRgcbWmTeLyBHdCB69tmI,2745
-flask_appbuilder/templates/appbuilder/general/widgets/list_block.html,sha256=g3xOphl51AQR4BsY4bvzULFLP8xNYx974z3JSCzvYtk,1331
-flask_appbuilder/templates/appbuilder/general/widgets/list_carousel.html,sha256=PHpItuC_EVplduO9PNpc2id90FJlsAymrqfIOy1WgOo,2038
-flask_appbuilder/templates/appbuilder/general/widgets/list_item.html,sha256=g4LHtP3Ay1_9fF1yIybkrMXlPyyILhNGHe485uByw-U,1317
-flask_appbuilder/templates/appbuilder/general/widgets/list_link.html,sha256=UnljuAk0cAvDnkjPPGOBMqKvYF1n26aARfmh7gm8kzE,2843
-flask_appbuilder/templates/appbuilder/general/widgets/list_master.html,sha256=91W3oiuvcmqysm-uyUxHk9TdqXSe58RVmVksZeXYF8s,572
-flask_appbuilder/templates/appbuilder/general/widgets/list_thumbnail.html,sha256=_oG8PjsNGBXpBFayWfZwBTGf7I8fKCfvYsgIwmFhKAw,1167
-flask_appbuilder/templates/appbuilder/general/widgets/multiple_chart.html,sha256=eb1DK3zuF43XYvRk99ELw5hBhs6ZV20GgmnXF5h14DA,1631
-flask_appbuilder/templates/appbuilder/general/widgets/roles/list.html,sha256=-_LLPbwlzLZnP4R4w-h7scFwwip2Y_iJ7p6UZQu8qBg,3249
-flask_appbuilder/templates/appbuilder/general/widgets/roles/show.html,sha256=PYQxFZXOqfbARAuPLNjZlafCXo7BbHno2hxRaWHqJCg,2132
-flask_appbuilder/templates/appbuilder/general/widgets/search.html,sha256=NsmI-irzl9lHFpBSEiQ4SrwTpBVrO8dERZ9Zunx0ccA,1087
-flask_appbuilder/templates/appbuilder/general/widgets/show.html,sha256=ur1bgNTjg8SgoqbVNfOq8XKF606dduG7-PDP6FWGNYo,1738
-flask_appbuilder/templates/appbuilder/general/widgets/show_block.html,sha256=ZylOUshZQ9octVj2-XjRjMAH53CSmbfZ7Rs5N9-75MY,1833
-flask_appbuilder/templates/appbuilder/general/widgets/show_vertical.html,sha256=pOqaFmvNndW0r1zkrwzNS9_LPM5bLztLWr7MAl1LCyY,1544
-flask_appbuilder/templates/appbuilder/index.html,sha256=NJKAjcqL9C7mTbwR_bAD3dkAOJTGcJBfPQlSMDhcu-0,145
-flask_appbuilder/templates/appbuilder/init.html,sha256=Y81Y7FQtmW-jODm2d8viwInaNaAIUiKtAbK_y4oRnLg,3048
-flask_appbuilder/templates/appbuilder/navbar.html,sha256=FA57fvVai2a4rfolvsdwP7B61P_GyfLjdOHykUdE3gc,1299
-flask_appbuilder/templates/appbuilder/navbar_menu.html,sha256=yA0FVS-hZs-2CnZvhX3vm21gK4mDyPvJ3FDJwp-wyhw,1247
-flask_appbuilder/templates/appbuilder/navbar_right.html,sha256=lT8BgKYMXumMlWKcQYE0xAvk-2-pssI0j_dX5ZI4cN0,1564
-flask_appbuilder/templates/appbuilder/swagger/swagger.html,sha256=R8OgoPVCFQA22yx6tiI3Pqp6o93kd3rpIblbCKfjWu8,896
-flask_appbuilder/translations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
-flask_appbuilder/translations/__pycache__/__init__.cpython-312.pyc,,
-flask_appbuilder/translations/__pycache__/__init__.cpython-38.pyc,sha256=oHWvaBjpr3aLQnfEfD-soJ49YBAXW0zqVTX00etQSxA,181
-flask_appbuilder/translations/de/LC_MESSAGES/messages.mo,sha256=iavCGbOdPhfvqHeMGjidesCcncDYYLJsw7TkxIoDWLU,9681
-flask_appbuilder/translations/de/LC_MESSAGES/messages.po,sha256=NCd_qi-PBkQoSb6udJ0QOIhLSB6oAmovw-gbiwDk3Nc,26578
-flask_appbuilder/translations/el/LC_MESSAGES/messages.mo,sha256=LXr_WkihKj4Kzs8SVNTDoJnrOKZS6b3HGrsHivmuxdg,11017
-flask_appbuilder/translations/el/LC_MESSAGES/messages.po,sha256=Wh4wezTVlsYs7ndqUk2P1NukL0-Ci6Y-bi4rufPkssU,22936
-flask_appbuilder/translations/es/LC_MESSAGES/messages.mo,sha256=f58Vl0A6lngb_JPk-MGjwJHBMHiWc2krlZm1OcukbPk,8468
-flask_appbuilder/translations/es/LC_MESSAGES/messages.po,sha256=ve9Y8p1PzizY5kd3ROacELV78kRAPNsKkNGKPvvDbg4,20079
-flask_appbuilder/translations/fa/LC_MESSAGES/messages.mo,sha256=WJJg4gaR71uH7KDDwu-x6jDSCISWr0mGZWMlK-UsZX8,12017
-flask_appbuilder/translations/fa/LC_MESSAGES/messages.po,sha256=zUMPkOLASFn51Fz4zY88t0iOErbUQiew3t2m-dVru_M,27607
-flask_appbuilder/translations/fr/LC_MESSAGES/messages.mo,sha256=XdsRh8eobO5pwmWw9OpMYjL0YM66hmhEVaS7x1BrnQ8,8504
-flask_appbuilder/translations/fr/LC_MESSAGES/messages.po,sha256=4AV4ueGdKTJIU7MA68vPea_g9ZU2aJZoLQt7Ra1BhPg,20065
-flask_appbuilder/translations/it/LC_MESSAGES/messages.mo,sha256=T7JAnLQc4ww_9BSEssovwkojmXz_MmS4zQkapefQWuw,9121
-flask_appbuilder/translations/it/LC_MESSAGES/messages.po,sha256=PDIirc9Kf3so84xrC5MWmSZt3RpwE__EYqaMDs5a9sE,24545
-flask_appbuilder/translations/ja_JP/LC_MESSAGES/messages.mo,sha256=Yvs2hZ8PbYhv5_I2NEQtAeYzvdGUhVngkZOwAJNji0U,9412
-flask_appbuilder/translations/ja_JP/LC_MESSAGES/messages.po,sha256=DLXJUwApP6cc1tPm9SVuSOBn1wIs7lDjV2sLp6PC-Ww,20790
-flask_appbuilder/translations/ko/LC_MESSAGES/messages.mo,sha256=_hcH6yP4mzlVYKbk5HJSK8bnLsY7w_IhuRS7M63x_zo,9513
-flask_appbuilder/translations/ko/LC_MESSAGES/messages.po,sha256=WUn5YfX8aWfAsven5RUqbwafN2EAI6u4_eIyucN_LGA,39930
-flask_appbuilder/translations/nl/LC_MESSAGES/messages.mo,sha256=p1h8_BqijMFXRaACAgB_9RIvWArTrhFV4RMYXk0J-G0,8252
-flask_appbuilder/translations/nl/LC_MESSAGES/messages.po,sha256=vyTNgbYKJmwMW1hsxfZfrrWW-pROqidvRsMSiaxZ-hc,19648
-flask_appbuilder/translations/pl/LC_MESSAGES/messages.mo,sha256=6jqC0VJIvAvYHghzZpYT9OqgRA__Ej25Mk5mwjsYDW4,8136
-flask_appbuilder/translations/pl/LC_MESSAGES/messages.po,sha256=A1S4jbKbP9ztqMpJfp4iCzpGyYE2rz9BXZm5V59Bw8o,20115
-flask_appbuilder/translations/pt/LC_MESSAGES/messages.mo,sha256=-gqhdBzwygGmLocm5kWwoSIprMOF5bpiYNZHcb8yz7c,8441
-flask_appbuilder/translations/pt/LC_MESSAGES/messages.po,sha256=qVyiB8TA1TO8vjHvCvP8QZAf7bsgMDLIuML7EubVuE8,20002
-flask_appbuilder/translations/pt/LC_MESSAGES/messages.po~,sha256=zwUQE2GP-L3VaKum4KqqFWh2Md8DSMp-Kq7f7PO5y0A,20509
-flask_appbuilder/translations/pt_BR/LC_MESSAGES/messages.mo,sha256=YT8fgL_bJDNf0ghQ5KyEdpgbtwh3po6tZzvct7RVlmk,8336
-flask_appbuilder/translations/pt_BR/LC_MESSAGES/messages.po,sha256=Og1Efwv409W0fZUFUSJeJ4Vdgt-3mKYQQs0TovaBjFc,20517
-flask_appbuilder/translations/ru/LC_MESSAGES/messages.mo,sha256=wcG3qhjMmIgG4qD4ViH20Hx4dxg5CvFyJ-1GQqUIigg,10674
-flask_appbuilder/translations/ru/LC_MESSAGES/messages.po,sha256=uG6zOAFH3NuS1DAkKj6bf7l0qMIS8dvxx6jfDdvf5W8,22035
-flask_appbuilder/translations/sl/LC_MESSAGES/messages.mo,sha256=zgKVl6OjSSxtloIoVN7RDXLt31BkWW4VUJQMcrl5aSY,9682
-flask_appbuilder/translations/sl/LC_MESSAGES/messages.po,sha256=28IkADoqJB1owFqKL-psyAmA_lDn7Uh_6BdcymdX2IU,20841
-flask_appbuilder/translations/tr/LC_MESSAGES/messages.mo,sha256=nJlekRpNIOBYx3q6BHrSyR-01qn7UERrORB-sBVAFJ0,10336
-flask_appbuilder/translations/tr/LC_MESSAGES/messages.po,sha256=q3hv2AMKpaMpI2CXentUvQa1VBm6wfABqGLnk3sCfgw,40132
-flask_appbuilder/translations/zh/LC_MESSAGES/messages.mo,sha256=LOspp0B_RAVWHmtqzvmFHrgxds6pmZjPrRpS_D8jkME,7528
-flask_appbuilder/translations/zh/LC_MESSAGES/messages.po,sha256=3allp8Aa1eUVZXi-ezhmbOPNR5JO57qajtwbrWkltnM,19095
-flask_appbuilder/translations/zh_HK/LC_MESSAGES/messages.mo,sha256=s4S4s1yNeGRmfPlpd7NuAf4UqkxeKakXFUsirvn0c14,7493
-flask_appbuilder/translations/zh_HK/LC_MESSAGES/messages.po,sha256=G3K0jpHUZNYQXMazLBVpUB8tDVrDWzeo6oumWTzwYxs,19104
-flask_appbuilder/upload.py,sha256=q59R4G2U_89SY3Sv4lfoqyppCAOWbR0s9zVJhX2fchM,7537
-flask_appbuilder/urltools.py,sha256=QduNelzv4XSbEq7YoJTNXon3Kv6Rqk5LhOEDbH5wtcE,3178
-flask_appbuilder/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
-flask_appbuilder/utils/__pycache__/__init__.cpython-312.pyc,,
-flask_appbuilder/utils/__pycache__/base.cpython-312.pyc,,
-flask_appbuilder/utils/__pycache__/limit.cpython-312.pyc,,
-flask_appbuilder/utils/base.py,sha256=4NyIWvhfqFQri7EALfNUt2RUX6NaAiz1oGaf36si01I,2284
-flask_appbuilder/utils/limit.py,sha256=oCmJluV-fSvCG9DlPg0Od9Sfkyl5jP22pRGunmE5SSA,734
-flask_appbuilder/validators.py,sha256=dqaK10Qc-TWrHh6tIuZWeSN5bthIsNJeblhdL_GjEOM,3364
-flask_appbuilder/views.py,sha256=O3u6hSjRcekWO7DcdG47r1QkzWT5wGwuZDo9k8BMyYc,31378
-flask_appbuilder/widgets.py,sha256=eZKMxOU1qmYnSM01CTWZUNI_CtTKUCbCeGQO-xFOV38,4815

+ 0 - 5
.venv/Lib/site-packages/Flask_AppBuilder-4.5.3.dist-info/WHEEL

@@ -1,5 +0,0 @@
-Wheel-Version: 1.0
-Generator: bdist_wheel (0.42.0)
-Root-Is-Purelib: true
-Tag: py3-none-any
-

+ 0 - 5
.venv/Lib/site-packages/Flask_AppBuilder-4.5.3.dist-info/entry_points.txt

@@ -1,5 +0,0 @@
-[console_scripts]
-fabmanager = flask_appbuilder.console:cli
-
-[flask.commands]
-fab = flask_appbuilder.cli:fab

+ 0 - 1
.venv/Lib/site-packages/Flask_AppBuilder-4.5.3.dist-info/top_level.txt

@@ -1 +0,0 @@
-flask_appbuilder

+ 0 - 1
.venv/Lib/site-packages/Flask_Babel-2.0.0.dist-info/INSTALLER

@@ -1 +0,0 @@
-pip

+ 0 - 31
.venv/Lib/site-packages/Flask_Babel-2.0.0.dist-info/LICENSE

@@ -1,31 +0,0 @@
-Copyright (c) 2010 by Armin Ronacher.
-
-Some rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-* Redistributions of source code must retain the above copyright
-  notice, this list of conditions and the following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-  copyright notice, this list of conditions and the following
-  disclaimer in the documentation and/or other materials provided
-  with the distribution.
-
-* The names of the contributors may not be used to endorse or
-  promote products derived from this software without specific
-  prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

+ 0 - 57
.venv/Lib/site-packages/Flask_Babel-2.0.0.dist-info/METADATA

@@ -1,57 +0,0 @@
-Metadata-Version: 2.1
-Name: Flask-Babel
-Version: 2.0.0
-Summary: Adds i18n/l10n support to Flask applications
-Home-page: http://github.com/python-babel/flask-babel
-Author: Armin Ronacher
-Author-email: armin.ronacher@active-4.com
-Maintainer: Tyler Kennedy
-Maintainer-email: tk@tkte.ch
-License: BSD
-Platform: UNKNOWN
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: Environment :: Web Environment
-Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved :: BSD License
-Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python :: 3.5
-Classifier: Programming Language :: Python :: 3.6
-Classifier: Programming Language :: Python :: 3.7
-Classifier: Programming Language :: Python :: 3.8
-Classifier: Programming Language :: Python :: 3.9
-Classifier: Programming Language :: Python :: Implementation :: CPython
-Classifier: Programming Language :: Python :: Implementation :: PyPy
-Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
-Classifier: Topic :: Software Development :: Libraries :: Python Modules
-Description-Content-Type: text/markdown
-Requires-Dist: pytz
-Requires-Dist: Flask
-Requires-Dist: Babel (>=2.3)
-Requires-Dist: Jinja2 (>=2.5)
-Provides-Extra: dev
-Requires-Dist: pytest ; extra == 'dev'
-Requires-Dist: pytest-mock ; extra == 'dev'
-Requires-Dist: bumpversion ; extra == 'dev'
-Requires-Dist: ghp-import ; extra == 'dev'
-Requires-Dist: sphinx ; extra == 'dev'
-Requires-Dist: Pallets-Sphinx-Themes ; extra == 'dev'
-
-# Flask Babel
-
-![Tests](https://github.com/python-babel/flask-babel/workflows/Tests/badge.svg?branch=master)
-[![PyPI](https://img.shields.io/pypi/v/flask-babel.svg?maxAge=2592000)](https://pypi.python.org/pypi/Flask-Babel)
-
-Implements i18n and l10n support for Flask.  This is based on the Python
-[babel][] module as well as [pytz][] both of which are installed automatically
-for you if you install this library.
-
-# Documention
-
-The latest documentation is available [here][docs].
-
-[babel]: https://github.com/python-babel/babel
-[pytz]: https://pypi.python.org/pypi/pytz/
-[docs]: https://flask-babel.tkte.ch/
-[semver]: https://semver.org/
-
-

+ 0 - 10
.venv/Lib/site-packages/Flask_Babel-2.0.0.dist-info/RECORD

@@ -1,10 +0,0 @@
-Flask_Babel-2.0.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
-Flask_Babel-2.0.0.dist-info/LICENSE,sha256=pSYQCnBHI3Ngo5S6T3CugBtQ_5uMm55z53lUgKWfa34,1457
-Flask_Babel-2.0.0.dist-info/METADATA,sha256=PAc5Px_xpOvXOxW8pLJ7Hr5BlDu8sEECZZkGTXShwRo,2145
-Flask_Babel-2.0.0.dist-info/RECORD,,
-Flask_Babel-2.0.0.dist-info/WHEEL,sha256=EVRjI69F5qVjm_YgqcTXPnTAv3BfSUr0WVAHuSP3Xoo,92
-Flask_Babel-2.0.0.dist-info/top_level.txt,sha256=2CI1eTvkPSxyDsmIAjCSzvyC9vye6AnqevE4ByOoGpg,12
-flask_babel/__init__.py,sha256=pVPkON7P5p2JBIUJwkZb1uaGvrT81hlaf-MkcwTn88c,24625
-flask_babel/__pycache__/__init__.cpython-312.pyc,,
-flask_babel/__pycache__/speaklater.cpython-312.pyc,,
-flask_babel/speaklater.py,sha256=moGrHeg_M-c5sqUdmudwnKZ55-FH-Uh4iktpjiHGSpo,1669

+ 0 - 5
.venv/Lib/site-packages/Flask_Babel-2.0.0.dist-info/WHEEL

@@ -1,5 +0,0 @@
-Wheel-Version: 1.0
-Generator: bdist_wheel (0.35.1)
-Root-Is-Purelib: true
-Tag: py3-none-any
-

+ 0 - 1
.venv/Lib/site-packages/Flask_Babel-2.0.0.dist-info/top_level.txt

@@ -1 +0,0 @@
-flask_babel

+ 0 - 1
.venv/Lib/site-packages/Flask_Caching-2.3.1.dist-info/INSTALLER

@@ -1 +0,0 @@
-pip

+ 0 - 69
.venv/Lib/site-packages/Flask_Caching-2.3.1.dist-info/LICENSE

@@ -1,69 +0,0 @@
-Copyright (c) 2010 by Thadeus Burgess.
-Copyright (c) 2016 by Peter Justin.
-
-Some rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-* Redistributions of source code must retain the above copyright
-  notice, this list of conditions and the following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-  copyright notice, this list of conditions and the following
-  disclaimer in the documentation and/or other materials provided
-  with the distribution.
-
-* The names of the contributors may not be used to endorse or
-  promote products derived from this software without specific
-  prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-The "cache" module from werkzeug is licensed under a BSD-3 Clause license as is
-stated below:
-
-Copyright (c) 2017, Pallets Team
-
-All rights reserved.
-
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-* Redistributions of source code must retain the above copyright notice,
-  this list of conditions and the following disclaimer.
-
-* Redistributions in binary form must reproduce the above copyright
-  notice, this list of conditions and the following disclaimer in the
-  documentation and/or other materials provided with the distribution.
-
-* Neither the name of the copyright holder nor the names of its
-  contributors may be used to endorse or promote products derived from
-  this software without specific prior written permission.
-
-THIS SOFTWARE AND DOCUMENTATION IS PROVIDED BY THE COPYRIGHT HOLDERS AND
-CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
-BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
-FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-THIS SOFTWARE AND DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.

+ 0 - 70
.venv/Lib/site-packages/Flask_Caching-2.3.1.dist-info/METADATA

@@ -1,70 +0,0 @@
-Metadata-Version: 2.2
-Name: Flask-Caching
-Version: 2.3.1
-Summary: Adds caching support to Flask applications.
-Home-page: https://github.com/pallets-eco/flask-caching
-Author: Peter Justin
-Author-email: peter.justin@outlook.com
-Maintainer: Pallets
-Maintainer-email: contact@palletsprojects.com
-License: BSD
-Project-URL: Donate, https://palletsprojects.com/donate
-Project-URL: Documentation, https://flask-caching.readthedocs.io
-Project-URL: Changes, https://flask-caching.readthedocs.io/en/latest/changelog.html
-Project-URL: Source Code, https://github.com/pallets-eco/flask-caching
-Project-URL: Issue Tracker, https://github.com/pallets-eco/flask-caching/issues
-Project-URL: Twitter, https://twitter.com/PalletsTeam
-Project-URL: Chat, https://discord.gg/pallets
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved :: BSD License
-Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python
-Requires-Python: >=3.8
-Description-Content-Type: text/x-rst
-License-File: LICENSE
-Requires-Dist: cachelib>=0.9.0
-Requires-Dist: Flask
-Dynamic: requires-dist
-
-Flask-Caching
-=============
-
-A fork of the `Flask-cache`_ extension which adds easy cache support to Flask.
-
-.. _Flask-cache: https://github.com/thadeusb/flask-cache
-
-
-Installing
-----------
-
-Install and update using `pip`_:
-
-.. code-block:: text
-
-    $ pip install -U flask-caching
-
-.. _pip: https://pip.pypa.io/en/stable/getting-started/
-
-
-Donate
-------
-
-The Pallets organization develops and supports Flask and the libraries
-it uses. In order to grow the community of contributors and users, and
-allow the maintainers to devote more time to the projects, `please
-donate today`_.
-
-.. _please donate today: https://palletsprojects.com/donate
-
-
-Links
------
-
--   Documentation: https://flask-caching.readthedocs.io
--   Changes: https://flask-caching.readthedocs.io/en/latest/changelog.html
--   PyPI Releases: https://pypi.org/project/Flask-Caching/
--   Source Code: https://github.com/pallets-eco/flask-caching
--   Issue Tracker: https://github.com/pallets-eco/flask-caching/issues
--   Twitter: https://twitter.com/PalletsTeam
--   Chat: https://discord.gg/pallets

+ 0 - 35
.venv/Lib/site-packages/Flask_Caching-2.3.1.dist-info/RECORD

@@ -1,35 +0,0 @@
-Flask_Caching-2.3.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
-Flask_Caching-2.3.1.dist-info/LICENSE,sha256=HzxEX6om6zLZApEihRDi2FlL0f4VRj9dcMh9RPOIcv0,3119
-Flask_Caching-2.3.1.dist-info/METADATA,sha256=ra9QOl_xhrZM8XfXXOcJe1yaH7R15ZHswI_uUeH8MWQ,2222
-Flask_Caching-2.3.1.dist-info/RECORD,,
-Flask_Caching-2.3.1.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
-Flask_Caching-2.3.1.dist-info/top_level.txt,sha256=n9GtsdkLGBvDxN57lvIn4ZGnnQn3rkZVwus4MmBwA4I,14
-flask_caching/__init__.py,sha256=-bnIg2mojIJ0ru0E7Y2SibxRgHNQC0stALaucMvlCpA,41968
-flask_caching/__pycache__/__init__.cpython-312.pyc,,
-flask_caching/__pycache__/jinja2ext.cpython-312.pyc,,
-flask_caching/__pycache__/utils.cpython-312.pyc,,
-flask_caching/backends/__init__.py,sha256=LhJsthVtpbA7ph6ENLs3s7ZvnnHnyVZ5MxRujB1ghUU,2215
-flask_caching/backends/__pycache__/__init__.cpython-312.pyc,,
-flask_caching/backends/__pycache__/base.cpython-312.pyc,,
-flask_caching/backends/__pycache__/filesystemcache.cpython-312.pyc,,
-flask_caching/backends/__pycache__/memcache.cpython-312.pyc,,
-flask_caching/backends/__pycache__/nullcache.cpython-312.pyc,,
-flask_caching/backends/__pycache__/rediscache.cpython-312.pyc,,
-flask_caching/backends/__pycache__/simplecache.cpython-312.pyc,,
-flask_caching/backends/__pycache__/uwsgicache.cpython-312.pyc,,
-flask_caching/backends/base.py,sha256=HuE_nzle0QO97mpeloz5TyJjGubenGJz2WGy3eW60Io,1501
-flask_caching/backends/filesystemcache.py,sha256=FCrdIAmNRgVkOF19G4Ng8bKvo3tCpQX34CPGrltJVro,2680
-flask_caching/backends/memcache.py,sha256=1nEpOMkBZ740oZw1JP6AF1lFqt13ACa9n21XgPOQGMo,7634
-flask_caching/backends/nullcache.py,sha256=zxC631MkXN4uUvyQwAaRG_udVTcgxwNWMhgQTcfnZyg,626
-flask_caching/backends/rediscache.py,sha256=NMwP8M81uWRqf_ODBq5waXdt1VI3LQybWhR4fRJI3bE,9344
-flask_caching/backends/simplecache.py,sha256=qUAS764SApzG6eSWz0629zrhG7-4LKpSYx1WFTpS-R4,2066
-flask_caching/backends/uwsgicache.py,sha256=gP0gKvaJ8l7q3Yn7F2P4w2kBWu_vkgOGhOgkBVeQUM8,455
-flask_caching/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
-flask_caching/contrib/__pycache__/__init__.cpython-312.pyc,,
-flask_caching/contrib/__pycache__/googlecloudstoragecache.cpython-312.pyc,,
-flask_caching/contrib/__pycache__/uwsgicache.cpython-312.pyc,,
-flask_caching/contrib/googlecloudstoragecache.py,sha256=fCgBHQ3qld9vYSbL3OBN-4HOntkCi1byyh8fPio4IcM,7527
-flask_caching/contrib/uwsgicache.py,sha256=G8pW-B8C2G_h4Df4HRgieO-nWLMYvUO7y22tB-oh0t0,2296
-flask_caching/jinja2ext.py,sha256=02O2p5d_5qhwh0DP-PlOSbLZV1ujGS_JIczPnNcfxaU,2920
-flask_caching/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
-flask_caching/utils.py,sha256=CDTgTzNDSExyeKt3fZdxm-01c8A5nJKL85nunzjkP0k,3238

+ 0 - 5
.venv/Lib/site-packages/Flask_Caching-2.3.1.dist-info/WHEEL

@@ -1,5 +0,0 @@
-Wheel-Version: 1.0
-Generator: setuptools (75.8.0)
-Root-Is-Purelib: true
-Tag: py3-none-any
-

+ 0 - 1
.venv/Lib/site-packages/Flask_Caching-2.3.1.dist-info/top_level.txt

@@ -1 +0,0 @@
-flask_caching

+ 0 - 1
.venv/Lib/site-packages/Flask_JWT_Extended-4.7.1.dist-info/INSTALLER

@@ -1 +0,0 @@
-pip

+ 0 - 21
.venv/Lib/site-packages/Flask_JWT_Extended-4.7.1.dist-info/LICENSE

@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2016 Lily Acadia Gilbert
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.

+ 0 - 113
.venv/Lib/site-packages/Flask_JWT_Extended-4.7.1.dist-info/METADATA

@@ -1,113 +0,0 @@
-Metadata-Version: 2.1
-Name: Flask-JWT-Extended
-Version: 4.7.1
-Summary: Extended JWT integration with Flask
-Home-page: https://github.com/vimalloc/flask-jwt-extended
-Author: Lily Acadia Gilbert
-Author-email: lily.gilbert@hey.com
-License: MIT
-Keywords: flask,jwt,json web token
-Platform: any
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: Environment :: Web Environment
-Classifier: Framework :: Flask
-Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved :: MIT License
-Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3 :: Only
-Classifier: Programming Language :: Python :: 3.6
-Classifier: Programming Language :: Python :: 3.7
-Classifier: Programming Language :: Python :: 3.8
-Classifier: Programming Language :: Python :: 3.9
-Classifier: Programming Language :: Python :: 3.10
-Classifier: Programming Language :: Python :: 3.11
-Classifier: Programming Language :: Python :: 3.12
-Classifier: Programming Language :: Python :: Implementation :: CPython
-Classifier: Programming Language :: Python :: Implementation :: PyPy
-Classifier: Topic :: Software Development :: Libraries :: Python Modules
-Requires-Python: >=3.9,<4
-Description-Content-Type: text/markdown
-License-File: LICENSE
-Requires-Dist: Werkzeug>=0.14
-Requires-Dist: Flask<4.0,>=2.0
-Requires-Dist: PyJWT<3.0,>=2.0
-Provides-Extra: asymmetric-crypto
-Requires-Dist: cryptography>=3.3.1; extra == "asymmetric-crypto"
-
-# Flask-JWT-Extended
-
-### Features
-
-Flask-JWT-Extended not only adds support for using JSON Web Tokens (JWT) to Flask for protecting routes,
-but also many helpful (and **optional**) features built in to make working with JSON Web Tokens
-easier. These include:
-
--   Adding custom claims to JSON Web Tokens
--   Automatic user loading (`current_user`).
--   Custom claims validation on received tokens
--   [Refresh tokens](https://auth0.com/blog/refresh-tokens-what-are-they-and-when-to-use-them/)
--   First class support for fresh tokens for making sensitive changes.
--   Token revoking/blocklisting
--   Storing tokens in cookies and CSRF protection
-
-### Usage
-
-[View the documentation online](https://flask-jwt-extended.readthedocs.io/en/stable/)
-
-### Upgrading from 3.x.x to 4.0.0
-
-[View the changes](https://flask-jwt-extended.readthedocs.io/en/stable/v4_upgrade_guide/)
-
-### Changelog
-
-You can view the changelog [here](https://github.com/vimalloc/flask-jwt-extended/releases).
-This project follows [semantic versioning](https://semver.org/).
-
-### Chatting
-
-Come chat with the community or ask questions at https://discord.gg/EJBsbFd
-
-### Contributing
-
-Before making any changes, make sure to install the development requirements
-and setup the git hooks which will automatically lint and format your changes.
-
-```bash
-pip install -r requirements.txt
-pre-commit install
-```
-
-We require 100% code coverage in our unit tests. You can run the tests locally
-with `tox` which ensures that all tests pass, tests provide complete code coverage,
-documentation builds, and style guide are adhered to
-
-```bash
-tox
-```
-
-A subset of checks can also be ran by adding an argument to tox. The available
-arguments are:
-
--   py37, py38, py39, py310, py311, py312, pypy3
-    -   Run unit tests on the given python version
--   mypy
-    -   Run mypy type checking
--   coverage
-    -   Run a code coverage check
--   docs
-    -   Ensure documentation builds and there are no broken links
--   style
-    -   Ensure style guide is adhered to
-
-```bash
-tox -e py38
-```
-
-We also require features to be well documented. You can generate a local copy
-of the documentation by going to the `docs` directory and running:
-
-```bash
-make clean && make html && open _build/html/index.html
-```

+ 0 - 27
.venv/Lib/site-packages/Flask_JWT_Extended-4.7.1.dist-info/RECORD

@@ -1,27 +0,0 @@
-Flask_JWT_Extended-4.7.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
-Flask_JWT_Extended-4.7.1.dist-info/LICENSE,sha256=IZ7JSdUnG3ZAFNkV8wskplpL1tTu-ImxNFJM2Zfci5g,1076
-Flask_JWT_Extended-4.7.1.dist-info/METADATA,sha256=GuhF8kzZOl9nKVkGgeRx5X7KEa6FiNpv9xjRWZgiz9I,3812
-Flask_JWT_Extended-4.7.1.dist-info/RECORD,,
-Flask_JWT_Extended-4.7.1.dist-info/WHEEL,sha256=pxeNX5JdtCe58PUSYP9upmc7jdRPgvT0Gm9kb1SHlVw,109
-Flask_JWT_Extended-4.7.1.dist-info/top_level.txt,sha256=ScNvc4cNmrFFSnAe_rENqiMpfhog1M2HkaUaydRBbUU,19
-flask_jwt_extended/__init__.py,sha256=q3b7uG1tp7jXv9L2WokVrh920M7J8mRGRQKaCc2KbNo,1179
-flask_jwt_extended/__pycache__/__init__.cpython-312.pyc,,
-flask_jwt_extended/__pycache__/config.cpython-312.pyc,,
-flask_jwt_extended/__pycache__/default_callbacks.cpython-312.pyc,,
-flask_jwt_extended/__pycache__/exceptions.cpython-312.pyc,,
-flask_jwt_extended/__pycache__/internal_utils.cpython-312.pyc,,
-flask_jwt_extended/__pycache__/jwt_manager.cpython-312.pyc,,
-flask_jwt_extended/__pycache__/tokens.cpython-312.pyc,,
-flask_jwt_extended/__pycache__/typing.cpython-312.pyc,,
-flask_jwt_extended/__pycache__/utils.cpython-312.pyc,,
-flask_jwt_extended/__pycache__/view_decorators.cpython-312.pyc,,
-flask_jwt_extended/config.py,sha256=8hvI2WEUPcDRFumnWACjPQSNm5Sn10RfVzagP4Tv46g,10083
-flask_jwt_extended/default_callbacks.py,sha256=S-zUiOS5nMiC4n3URpUpGf9LfNA5bT2kWHVJdp14Ngs,5273
-flask_jwt_extended/exceptions.py,sha256=kleki6CySt5u-BiAwJ-uskWb8rySnXHLC-w-YvMqyk4,2400
-flask_jwt_extended/internal_utils.py,sha256=XDnS8GLQ2oaZka5FbfiuE9KBgxAmmHssuKR3mLDP1Jk,3350
-flask_jwt_extended/jwt_manager.py,sha256=OjTJhl2xPVq3Z0FH874NNtHR4VeOl2y75dnQLdPL8GM,23989
-flask_jwt_extended/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
-flask_jwt_extended/tokens.py,sha256=GOreSqdqx1rAg3nV_DMn2ltqAngLpu2281zx6Y6V2M4,3131
-flask_jwt_extended/typing.py,sha256=l4nGV2_ARq2_BUK6CjnrOp5i43qXJ3yqLPy8YOs1soA,170
-flask_jwt_extended/utils.py,sha256=iA6Fk-S4DDmRruKNCwkB6KK70cuPWKOTVb8vsKUq2P4,15964
-flask_jwt_extended/view_decorators.py,sha256=gtDCZ4-3e6eldJREMukIjD9SzoYa1bScKdInUtPIhIs,13583

+ 0 - 6
.venv/Lib/site-packages/Flask_JWT_Extended-4.7.1.dist-info/WHEEL

@@ -1,6 +0,0 @@
-Wheel-Version: 1.0
-Generator: setuptools (75.6.0)
-Root-Is-Purelib: true
-Tag: py2-none-any
-Tag: py3-none-any
-

+ 0 - 1
.venv/Lib/site-packages/Flask_JWT_Extended-4.7.1.dist-info/top_level.txt

@@ -1 +0,0 @@
-flask_jwt_extended

+ 0 - 1
.venv/Lib/site-packages/Flask_Login-0.6.3.dist-info/INSTALLER

@@ -1 +0,0 @@
-pip

+ 0 - 22
.venv/Lib/site-packages/Flask_Login-0.6.3.dist-info/LICENSE

@@ -1,22 +0,0 @@
-Copyright (c) 2011 Matthew Frazier
-
-Permission is hereby granted, free of charge, to any person
-obtaining a copy of this software and associated documentation
-files (the "Software"), to deal in the Software without
-restriction, including without limitation the rights to use,
-copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following
-conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.

+ 0 - 183
.venv/Lib/site-packages/Flask_Login-0.6.3.dist-info/METADATA

@@ -1,183 +0,0 @@
-Metadata-Version: 2.1
-Name: Flask-Login
-Version: 0.6.3
-Summary: User authentication and session management for Flask.
-Home-page: https://github.com/maxcountryman/flask-login
-Author: Matthew Frazier
-Author-email: leafstormrush@gmail.com
-Maintainer: Max Countryman
-License: MIT
-Project-URL: Documentation, https://flask-login.readthedocs.io/
-Project-URL: Changes, https://github.com/maxcountryman/flask-login/blob/main/CHANGES.md
-Project-URL: Source Code, https://github.com/maxcountryman/flask-login
-Project-URL: Issue Tracker, https://github.com/maxcountryman/flask-login/issues
-Classifier: Development Status :: 4 - Beta
-Classifier: Environment :: Web Environment
-Classifier: Framework :: Flask
-Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved :: MIT License
-Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python
-Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
-Classifier: Topic :: Software Development :: Libraries :: Python Modules
-Requires-Python: >=3.7
-Description-Content-Type: text/markdown
-License-File: LICENSE
-Requires-Dist: Flask >=1.0.4
-Requires-Dist: Werkzeug >=1.0.1
-
-# Flask-Login
-
-![Tests](https://github.com/maxcountryman/flask-login/workflows/Tests/badge.svg)
-[![coverage](https://coveralls.io/repos/maxcountryman/flask-login/badge.svg?branch=main&service=github)](https://coveralls.io/github/maxcountryman/flask-login?branch=main)
-[![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg)](LICENSE)
-
-Flask-Login provides user session management for Flask. It handles the common
-tasks of logging in, logging out, and remembering your users' sessions over
-extended periods of time.
-
-Flask-Login is not bound to any particular database system or permissions
-model. The only requirement is that your user objects implement a few methods,
-and that you provide a callback to the extension capable of loading users from
-their ID.
-
-## Installation
-
-Install the extension with pip:
-
-```sh
-$ pip install flask-login
-```
-
-## Usage
-
-Once installed, the Flask-Login is easy to use. Let's walk through setting up
-a basic application. Also please note that this is a very basic guide: we will
-be taking shortcuts here that you should never take in a real application.
-
-To begin we'll set up a Flask app:
-
-```python
-import flask
-
-app = flask.Flask(__name__)
-app.secret_key = 'super secret string'  # Change this!
-```
-
-Flask-Login works via a login manager. To kick things off, we'll set up the
-login manager by instantiating it and telling it about our Flask app:
-
-```python
-import flask_login
-
-login_manager = flask_login.LoginManager()
-
-login_manager.init_app(app)
-```
-
-To keep things simple we're going to use a dictionary to represent a database
-of users. In a real application, this would be an actual persistence layer.
-However it's important to point out this is a feature of Flask-Login: it
-doesn't care how your data is stored so long as you tell it how to retrieve it!
-
-```python
-# Our mock database.
-users = {'foo@bar.tld': {'password': 'secret'}}
-```
-
-We also need to tell Flask-Login how to load a user from a Flask request and
-from its session. To do this we need to define our user object, a
-`user_loader` callback, and a `request_loader` callback.
-
-```python
-class User(flask_login.UserMixin):
-    pass
-
-
-@login_manager.user_loader
-def user_loader(email):
-    if email not in users:
-        return
-
-    user = User()
-    user.id = email
-    return user
-
-
-@login_manager.request_loader
-def request_loader(request):
-    email = request.form.get('email')
-    if email not in users:
-        return
-
-    user = User()
-    user.id = email
-    return user
-```
-
-Now we're ready to define our views. We can start with a login view, which will
-populate the session with authentication bits. After that we can define a view
-that requires authentication.
-
-```python
-@app.route('/login', methods=['GET', 'POST'])
-def login():
-    if flask.request.method == 'GET':
-        return '''
-               <form action='login' method='POST'>
-                <input type='text' name='email' id='email' placeholder='email'/>
-                <input type='password' name='password' id='password' placeholder='password'/>
-                <input type='submit' name='submit'/>
-               </form>
-               '''
-
-    email = flask.request.form['email']
-    if email in users and flask.request.form['password'] == users[email]['password']:
-        user = User()
-        user.id = email
-        flask_login.login_user(user)
-        return flask.redirect(flask.url_for('protected'))
-
-    return 'Bad login'
-
-
-@app.route('/protected')
-@flask_login.login_required
-def protected():
-    return 'Logged in as: ' + flask_login.current_user.id
-```
-
-Finally we can define a view to clear the session and log users out:
-
-```python
-@app.route('/logout')
-def logout():
-    flask_login.logout_user()
-    return 'Logged out'
-```
-
-We now have a basic working application that makes use of session-based
-authentication. To round things off, we should provide a callback for login
-failures:
-
-```python
-@login_manager.unauthorized_handler
-def unauthorized_handler():
-    return 'Unauthorized', 401
-```
-
-Documentation for Flask-Login is available on [ReadTheDocs](https://flask-login.readthedocs.io/en/latest/).
-For complete understanding of available configuration, please refer to the [source code](https://github.com/maxcountryman/flask-login).
-
-
-## Contributing
-
-We welcome contributions! If you would like to hack on Flask-Login, please
-follow these steps:
-
-1. Fork this repository
-2. Make your changes
-3. Install the dev requirements with `pip install -r requirements/dev.txt`
-4. Submit a pull request after running `tox` (ensure it does not error!)
-
-Please give us adequate time to review your submission. Thanks!

+ 0 - 22
.venv/Lib/site-packages/Flask_Login-0.6.3.dist-info/RECORD

@@ -1,22 +0,0 @@
-Flask_Login-0.6.3.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
-Flask_Login-0.6.3.dist-info/LICENSE,sha256=ep37nF2iBO0TcPO2LBPimSoS2h2nB_R-FWiX7rQ0Tls,1059
-Flask_Login-0.6.3.dist-info/METADATA,sha256=AUSHR5Po6-Cwmz1KBrAZbTzR-iVVFvtb2NQKYl7UuAU,5799
-Flask_Login-0.6.3.dist-info/RECORD,,
-Flask_Login-0.6.3.dist-info/WHEEL,sha256=Xo9-1PvkuimrydujYJAjF7pCkriuXBpUPEjma1nZyJ0,92
-Flask_Login-0.6.3.dist-info/top_level.txt,sha256=OuXmIpiFnXLvW-iBbW2km7ZIy5EZvwSBnYaOC3Kt7j8,12
-flask_login/__about__.py,sha256=Kkp5e9mV9G7vK_FqZof-g9RFmyyBzq1gge5aKXgvilE,389
-flask_login/__init__.py,sha256=wYQiQCikT_Ndp3PhOD-1gRTGCrUPIE-FrjQUrT9aVAg,2681
-flask_login/__pycache__/__about__.cpython-312.pyc,,
-flask_login/__pycache__/__init__.cpython-312.pyc,,
-flask_login/__pycache__/config.cpython-312.pyc,,
-flask_login/__pycache__/login_manager.cpython-312.pyc,,
-flask_login/__pycache__/mixins.cpython-312.pyc,,
-flask_login/__pycache__/signals.cpython-312.pyc,,
-flask_login/__pycache__/test_client.cpython-312.pyc,,
-flask_login/__pycache__/utils.cpython-312.pyc,,
-flask_login/config.py,sha256=YAocv18La7YGQyNY5aT7rU1GQIZnX6pvchwqx3kA9p8,1813
-flask_login/login_manager.py,sha256=h20F_iv3mqc6rIJ4-V6_XookzOUl8Rcpasua-dCByQY,20073
-flask_login/mixins.py,sha256=gPd7otMRljxw0eUhUMbHsnEBc_jK2cYdxg5KFLuJcoI,1528
-flask_login/signals.py,sha256=xCMoFHKU1RTVt1NY-Gfl0OiVKpiyNt6YJw_PsgkjY3w,2464
-flask_login/test_client.py,sha256=6mrjiBRLGJpgvvFlLypXPTBLiMp0BAN-Ft-uogqC81g,517
-flask_login/utils.py,sha256=Y1wxjCVxpYohBaQJ0ADLypQ-VvBNycwG-gVXFF7k99I,14021

+ 0 - 5
.venv/Lib/site-packages/Flask_Login-0.6.3.dist-info/WHEEL

@@ -1,5 +0,0 @@
-Wheel-Version: 1.0
-Generator: bdist_wheel (0.41.3)
-Root-Is-Purelib: true
-Tag: py3-none-any
-

+ 0 - 1
.venv/Lib/site-packages/Flask_Login-0.6.3.dist-info/top_level.txt

@@ -1 +0,0 @@
-flask_login

+ 0 - 1
.venv/Lib/site-packages/Flask_SQLAlchemy-2.5.1.dist-info/INSTALLER

@@ -1 +0,0 @@
-pip

+ 0 - 28
.venv/Lib/site-packages/Flask_SQLAlchemy-2.5.1.dist-info/LICENSE.rst

@@ -1,28 +0,0 @@
-Copyright 2010 Pallets
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-1.  Redistributions of source code must retain the above copyright
-    notice, this list of conditions and the following disclaimer.
-
-2.  Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in the
-    documentation and/or other materials provided with the distribution.
-
-3.  Neither the name of the copyright holder nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
-TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

+ 0 - 94
.venv/Lib/site-packages/Flask_SQLAlchemy-2.5.1.dist-info/METADATA

@@ -1,94 +0,0 @@
-Metadata-Version: 2.1
-Name: Flask-SQLAlchemy
-Version: 2.5.1
-Summary: Adds SQLAlchemy support to your Flask application.
-Home-page: https://github.com/pallets/flask-sqlalchemy
-Author: Armin Ronacher
-Author-email: armin.ronacher@active-4.com
-Maintainer: Pallets
-Maintainer-email: contact@palletsprojects.com
-License: BSD-3-Clause
-Project-URL: Documentation, https://flask-sqlalchemy.palletsprojects.com/
-Project-URL: Code, https://github.com/pallets/flask-sqlalchemy
-Project-URL: Issue tracker, https://github.com/pallets/flask-sqlalchemy/issues
-Platform: UNKNOWN
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: Environment :: Web Environment
-Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved :: BSD License
-Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.4
-Classifier: Programming Language :: Python :: 3.5
-Classifier: Programming Language :: Python :: 3.6
-Classifier: Programming Language :: Python :: 3.7
-Classifier: Programming Language :: Python :: Implementation :: CPython
-Classifier: Programming Language :: Python :: Implementation :: PyPy
-Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
-Classifier: Topic :: Software Development :: Libraries :: Python Modules
-Requires-Python: >= 2.7, != 3.0.*, != 3.1.*, != 3.2.*, != 3.3.*
-Requires-Dist: Flask (>=0.10)
-Requires-Dist: SQLAlchemy (>=0.8.0)
-
-Flask-SQLAlchemy
-================
-
-Flask-SQLAlchemy is an extension for `Flask`_ that adds support for
-`SQLAlchemy`_ to your application. It aims to simplify using SQLAlchemy
-with Flask by providing useful defaults and extra helpers that make it
-easier to accomplish common tasks.
-
-
-Installing
-----------
-
-Install and update using `pip`_:
-
-.. code-block:: text
-
-  $ pip install -U Flask-SQLAlchemy
-
-
-A Simple Example
-----------------
-
-.. code-block:: python
-
-    from flask import Flask
-    from flask_sqlalchemy import SQLAlchemy
-
-    app = Flask(__name__)
-    app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///example.sqlite"
-    db = SQLAlchemy(app)
-
-
-    class User(db.Model):
-        id = db.Column(db.Integer, primary_key=True)
-        username = db.Column(db.String, unique=True, nullable=False)
-        email = db.Column(db.String, unique=True, nullable=False)
-
-
-    db.session.add(User(name="Flask", email="example@example.com"))
-    db.session.commit()
-
-    users = User.query.all()
-
-
-Links
------
-
--   Documentation: https://flask-sqlalchemy.palletsprojects.com/
--   Releases: https://pypi.org/project/Flask-SQLAlchemy/
--   Code: https://github.com/pallets/flask-sqlalchemy
--   Issue tracker: https://github.com/pallets/flask-sqlalchemy/issues
--   Test status: https://travis-ci.org/pallets/flask-sqlalchemy
--   Test coverage: https://codecov.io/gh/pallets/flask-sqlalchemy
-
-.. _Flask: https://palletsprojects.com/p/flask/
-.. _SQLAlchemy: https://www.sqlalchemy.org
-.. _pip: https://pip.pypa.io/en/stable/quickstart/
-
-

+ 0 - 14
.venv/Lib/site-packages/Flask_SQLAlchemy-2.5.1.dist-info/RECORD

@@ -1,14 +0,0 @@
-Flask_SQLAlchemy-2.5.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
-Flask_SQLAlchemy-2.5.1.dist-info/LICENSE.rst,sha256=SJqOEQhQntmKN7uYPhHg9-HTHwvY-Zp5yESOf_N9B-o,1475
-Flask_SQLAlchemy-2.5.1.dist-info/METADATA,sha256=vVCeMtTM_xOrUVoVyemeNaTUI5L9iXa16NsiMDDOgFU,3128
-Flask_SQLAlchemy-2.5.1.dist-info/RECORD,,
-Flask_SQLAlchemy-2.5.1.dist-info/WHEEL,sha256=Z-nyYpwrcSqxfdux5Mbn_DQ525iP7J2DG3JgGvOYyTQ,110
-Flask_SQLAlchemy-2.5.1.dist-info/top_level.txt,sha256=w2K4fNNoTh4HItoFfz2FRQShSeLcvHYrzU_sZov21QU,17
-flask_sqlalchemy/__init__.py,sha256=IaupgTRkQnY05KPLYvfiNnJdrmwoyfsxaiyGtrEYfO4,40738
-flask_sqlalchemy/__pycache__/__init__.cpython-312.pyc,,
-flask_sqlalchemy/__pycache__/_compat.cpython-312.pyc,,
-flask_sqlalchemy/__pycache__/model.cpython-312.pyc,,
-flask_sqlalchemy/__pycache__/utils.cpython-312.pyc,,
-flask_sqlalchemy/_compat.py,sha256=yua0ZSgVWwi56QpEgwaPInzkNQ9PFb7YQdvEk3dImXo,821
-flask_sqlalchemy/model.py,sha256=bd2mIv9LA1A2MZkQObgnMUCSrxNvyqplaSkCxyxKNxY,4988
-flask_sqlalchemy/utils.py,sha256=4eHqAbYElnJ3NbSAHhuINckoAHDABoxjleMJD0iKgyg,1390

+ 0 - 6
.venv/Lib/site-packages/Flask_SQLAlchemy-2.5.1.dist-info/WHEEL

@@ -1,6 +0,0 @@
-Wheel-Version: 1.0
-Generator: bdist_wheel (0.36.2)
-Root-Is-Purelib: true
-Tag: py2-none-any
-Tag: py3-none-any
-

+ 0 - 1
.venv/Lib/site-packages/Flask_SQLAlchemy-2.5.1.dist-info/top_level.txt

@@ -1 +0,0 @@
-flask_sqlalchemy

+ 0 - 1
.venv/Lib/site-packages/Mako-1.3.9.dist-info/INSTALLER

@@ -1 +0,0 @@
-pip

+ 0 - 19
.venv/Lib/site-packages/Mako-1.3.9.dist-info/LICENSE

@@ -1,19 +0,0 @@
-Copyright 2006-2025 the Mako authors and contributors <see AUTHORS file>.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.

+ 0 - 87
.venv/Lib/site-packages/Mako-1.3.9.dist-info/METADATA

@@ -1,87 +0,0 @@
-Metadata-Version: 2.2
-Name: Mako
-Version: 1.3.9
-Summary: A super-fast templating language that borrows the best ideas from the existing templating languages.
-Home-page: https://www.makotemplates.org/
-Author: Mike Bayer
-Author-email: mike@zzzcomputing.com
-License: MIT
-Project-URL: Documentation, https://docs.makotemplates.org
-Project-URL: Issue Tracker, https://github.com/sqlalchemy/mako
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: License :: OSI Approved :: MIT License
-Classifier: Environment :: Web Environment
-Classifier: Intended Audience :: Developers
-Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.8
-Classifier: Programming Language :: Python :: 3.9
-Classifier: Programming Language :: Python :: 3.10
-Classifier: Programming Language :: Python :: 3.11
-Classifier: Programming Language :: Python :: 3.12
-Classifier: Programming Language :: Python :: Implementation :: CPython
-Classifier: Programming Language :: Python :: Implementation :: PyPy
-Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
-Requires-Python: >=3.8
-Description-Content-Type: text/x-rst
-License-File: LICENSE
-Requires-Dist: MarkupSafe>=0.9.2
-Provides-Extra: testing
-Requires-Dist: pytest; extra == "testing"
-Provides-Extra: babel
-Requires-Dist: Babel; extra == "babel"
-Provides-Extra: lingua
-Requires-Dist: lingua; extra == "lingua"
-
-=========================
-Mako Templates for Python
-=========================
-
-Mako is a template library written in Python. It provides a familiar, non-XML 
-syntax which compiles into Python modules for maximum performance. Mako's 
-syntax and API borrows from the best ideas of many others, including Django
-templates, Cheetah, Myghty, and Genshi. Conceptually, Mako is an embedded 
-Python (i.e. Python Server Page) language, which refines the familiar ideas
-of componentized layout and inheritance to produce one of the most 
-straightforward and flexible models available, while also maintaining close 
-ties to Python calling and scoping semantics.
-
-Nutshell
-========
-
-::
-
-    <%inherit file="base.html"/>
-    <%
-        rows = [[v for v in range(0,10)] for row in range(0,10)]
-    %>
-    <table>
-        % for row in rows:
-            ${makerow(row)}
-        % endfor
-    </table>
-
-    <%def name="makerow(row)">
-        <tr>
-        % for name in row:
-            <td>${name}</td>\
-        % endfor
-        </tr>
-    </%def>
-
-Philosophy
-===========
-
-Python is a great scripting language. Don't reinvent the wheel...your templates can handle it !
-
-Documentation
-==============
-
-See documentation for Mako at https://docs.makotemplates.org/en/latest/
-
-License
-========
-
-Mako is licensed under an MIT-style license (see LICENSE).
-Other incorporated projects may be licensed under different licenses.
-All licenses allow for non-commercial and commercial use.

+ 0 - 74
.venv/Lib/site-packages/Mako-1.3.9.dist-info/RECORD

@@ -1,74 +0,0 @@
-../../Scripts/mako-render.exe,sha256=-EYkgYDd_nstDgATkKXA90mJmc8yPKPexIzQYxVekqE,108421
-Mako-1.3.9.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
-Mako-1.3.9.dist-info/LICENSE,sha256=aNcGTlPj_6jp9CCp5gS9LiBZ2cMwSS-m69TrPUgRFok,1098
-Mako-1.3.9.dist-info/METADATA,sha256=gImMYAE3i8pGSGz0W39Ch2SiUkYphuu5CDwgs2cviNA,2896
-Mako-1.3.9.dist-info/RECORD,,
-Mako-1.3.9.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
-Mako-1.3.9.dist-info/entry_points.txt,sha256=LsKkUsOsJQYbJ2M72hZCm968wi5K8Ywb5uFxCuN8Obk,512
-Mako-1.3.9.dist-info/top_level.txt,sha256=LItdH8cDPetpUu8rUyBG3DObS6h9Gcpr9j_WLj2S-R0,5
-mako/__init__.py,sha256=0Umu9OqA4gU1dLRLTcAPieeVTbYoSlzmUeZk9FMt0N8,242
-mako/__pycache__/__init__.cpython-312.pyc,,
-mako/__pycache__/_ast_util.cpython-312.pyc,,
-mako/__pycache__/ast.cpython-312.pyc,,
-mako/__pycache__/cache.cpython-312.pyc,,
-mako/__pycache__/cmd.cpython-312.pyc,,
-mako/__pycache__/codegen.cpython-312.pyc,,
-mako/__pycache__/compat.cpython-312.pyc,,
-mako/__pycache__/exceptions.cpython-312.pyc,,
-mako/__pycache__/filters.cpython-312.pyc,,
-mako/__pycache__/lexer.cpython-312.pyc,,
-mako/__pycache__/lookup.cpython-312.pyc,,
-mako/__pycache__/parsetree.cpython-312.pyc,,
-mako/__pycache__/pygen.cpython-312.pyc,,
-mako/__pycache__/pyparser.cpython-312.pyc,,
-mako/__pycache__/runtime.cpython-312.pyc,,
-mako/__pycache__/template.cpython-312.pyc,,
-mako/__pycache__/util.cpython-312.pyc,,
-mako/_ast_util.py,sha256=hCbfnnizWEa3xRCA-uVyShC2HohSpmVvexz5as_lHc8,20247
-mako/ast.py,sha256=xYrdSiJFbf1CxJ9tU9pcPEWK0BYfwF2aDNDNLQG9PqQ,6642
-mako/cache.py,sha256=kA6FKGl5NeTBnSTcnhoPkSaeJ0JeYpF6GM8qzEZGSts,7680
-mako/cmd.py,sha256=Y2Y6VxNCYwO2Y8EXOdLTf5tpYgfdoondV6Ehlbh8a84,2813
-mako/codegen.py,sha256=N49EH57CcTUfKGzI8V7GFBrAEoFhRo9lkdXBzpFYzBY,47736
-mako/compat.py,sha256=owGbObdoF0C-6rCCs6Vnk3YGHv0bf0PpTja55Woxqb4,1820
-mako/exceptions.py,sha256=87Djuoi1IS5zyVFml1Z5zpCP1IoI7UMOH3h4ejt3x3g,12530
-mako/ext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
-mako/ext/__pycache__/__init__.cpython-312.pyc,,
-mako/ext/__pycache__/autohandler.cpython-312.pyc,,
-mako/ext/__pycache__/babelplugin.cpython-312.pyc,,
-mako/ext/__pycache__/beaker_cache.cpython-312.pyc,,
-mako/ext/__pycache__/extract.cpython-312.pyc,,
-mako/ext/__pycache__/linguaplugin.cpython-312.pyc,,
-mako/ext/__pycache__/preprocessors.cpython-312.pyc,,
-mako/ext/__pycache__/pygmentplugin.cpython-312.pyc,,
-mako/ext/__pycache__/turbogears.cpython-312.pyc,,
-mako/ext/autohandler.py,sha256=QuhNiPSF1LZ53awQ1Qfpwu1Zi9RGOmrtCDnwCLgQzeE,1885
-mako/ext/babelplugin.py,sha256=mmt5fG3pcYII1QsrLEV3wH1ltj-C7uKl8vBIpAjxsKY,2091
-mako/ext/beaker_cache.py,sha256=4quuJQuXRKKUyF6kM43LQhJT1J2z1KSglRZVDW-7c1I,2578
-mako/ext/extract.py,sha256=ZUeaRL2jWcUlrpnhXFXJB0CUJfvQVGBF9tJr5nKJAWI,4659
-mako/ext/linguaplugin.py,sha256=sUZalJSI_XeON9aRBb2hds-ilVQaxHKlfCg_nAl7EuU,1935
-mako/ext/preprocessors.py,sha256=HYG45idRJUwJkDpswEELL8lPFLisQzgDhW5EHpTDGkI,576
-mako/ext/pygmentplugin.py,sha256=TnpJDyQeWTTGHZraMDpw8FB3PNzbmXhaZcjyIBudyi0,4753
-mako/ext/turbogears.py,sha256=egv8hradAnnSJwxtmW8uXAsqPUzX8cZZCXclmO_8hMA,2141
-mako/filters.py,sha256=IBXyGOby4eFE3UGvNLhJlzbe1FfwJ2dcEr1-gKO_Ljc,4658
-mako/lexer.py,sha256=GMq8yf0dEn04-xw2EVDEzaOLXMSVVQz9HyUbfwKnZKg,16321
-mako/lookup.py,sha256=4ALORJiL0wIdDvK1okW8rbjq2jL5F_TNASekDFQSULY,12428
-mako/parsetree.py,sha256=-wmyX_mklAoKhc-7Psx0U15EKpNSd8oGRXFmvk2JQWo,19021
-mako/pygen.py,sha256=689_jR0GG_8Am62Dmlm5h59VY6eyZAU3GroodqEDnZ0,10416
-mako/pyparser.py,sha256=3XNxTFQMLJCrRLQdtT5aKLOMU2faRiKfdmadS47vNm8,7478
-mako/runtime.py,sha256=ZsUEN22nX3d3dECQujF69mBKDQS6yVv2nvz_0eTvFGg,27804
-mako/template.py,sha256=Vn5nLoBY-YzSQJKvRPFGb4fiPyZryA5Q-8mWutv0b9A,23563
-mako/testing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
-mako/testing/__pycache__/__init__.cpython-312.pyc,,
-mako/testing/__pycache__/_config.cpython-312.pyc,,
-mako/testing/__pycache__/assertions.cpython-312.pyc,,
-mako/testing/__pycache__/config.cpython-312.pyc,,
-mako/testing/__pycache__/exclusions.cpython-312.pyc,,
-mako/testing/__pycache__/fixtures.cpython-312.pyc,,
-mako/testing/__pycache__/helpers.cpython-312.pyc,,
-mako/testing/_config.py,sha256=k-qpnsnbXUoN-ykMN5BRpg84i1x0p6UsAddKQnrIytU,3566
-mako/testing/assertions.py,sha256=pfbGl84QlW7QWGg3_lo3wP8XnBAVo9AjzNp2ajmn7FA,5161
-mako/testing/config.py,sha256=wmYVZfzGvOK3mJUZpzmgO8-iIgvaCH41Woi4yDpxq6E,323
-mako/testing/exclusions.py,sha256=_t6ADKdatk3f18tOfHV_ZY6u_ZwQsKphZ2MXJVSAOcI,1553
-mako/testing/fixtures.py,sha256=nEp7wTusf7E0n3Q-BHJW2s_t1vx0KB9poadQ1BmIJzE,3044
-mako/testing/helpers.py,sha256=z4HAactwlht4ut1cbvxKt1QLb3yLPk1U7cnh5BwVUlc,1623
-mako/util.py,sha256=SNYeX2_PmajQJIR3-S1Yqxxylz8lwS65rC8YbCdTkUU,10638

+ 0 - 5
.venv/Lib/site-packages/Mako-1.3.9.dist-info/WHEEL

@@ -1,5 +0,0 @@
-Wheel-Version: 1.0
-Generator: setuptools (75.8.0)
-Root-Is-Purelib: true
-Tag: py3-none-any
-

+ 0 - 18
.venv/Lib/site-packages/Mako-1.3.9.dist-info/entry_points.txt

@@ -1,18 +0,0 @@
-[babel.extractors]
-mako = mako.ext.babelplugin:extract [babel]
-
-[console_scripts]
-mako-render = mako.cmd:cmdline
-
-[lingua.extractors]
-mako = mako.ext.linguaplugin:LinguaMakoExtractor [lingua]
-
-[pygments.lexers]
-css+mako = mako.ext.pygmentplugin:MakoCssLexer
-html+mako = mako.ext.pygmentplugin:MakoHtmlLexer
-js+mako = mako.ext.pygmentplugin:MakoJavascriptLexer
-mako = mako.ext.pygmentplugin:MakoLexer
-xml+mako = mako.ext.pygmentplugin:MakoXmlLexer
-
-[python.templating.engines]
-mako = mako.ext.turbogears:TGPlugin

+ 0 - 1
.venv/Lib/site-packages/Mako-1.3.9.dist-info/top_level.txt

@@ -1 +0,0 @@
-mako

+ 0 - 1
.venv/Lib/site-packages/MarkupSafe-3.0.2.dist-info/INSTALLER

@@ -1 +0,0 @@
-pip

+ 0 - 28
.venv/Lib/site-packages/MarkupSafe-3.0.2.dist-info/LICENSE.txt

@@ -1,28 +0,0 @@
-Copyright 2010 Pallets
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-1.  Redistributions of source code must retain the above copyright
-    notice, this list of conditions and the following disclaimer.
-
-2.  Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in the
-    documentation and/or other materials provided with the distribution.
-
-3.  Neither the name of the copyright holder nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
-TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

+ 0 - 92
.venv/Lib/site-packages/MarkupSafe-3.0.2.dist-info/METADATA

@@ -1,92 +0,0 @@
-Metadata-Version: 2.1
-Name: MarkupSafe
-Version: 3.0.2
-Summary: Safely add untrusted strings to HTML/XML markup.
-Maintainer-email: Pallets <contact@palletsprojects.com>
-License: Copyright 2010 Pallets
-        
-        Redistribution and use in source and binary forms, with or without
-        modification, are permitted provided that the following conditions are
-        met:
-        
-        1.  Redistributions of source code must retain the above copyright
-            notice, this list of conditions and the following disclaimer.
-        
-        2.  Redistributions in binary form must reproduce the above copyright
-            notice, this list of conditions and the following disclaimer in the
-            documentation and/or other materials provided with the distribution.
-        
-        3.  Neither the name of the copyright holder nor the names of its
-            contributors may be used to endorse or promote products derived from
-            this software without specific prior written permission.
-        
-        THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-        "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-        LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-        PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-        HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-        SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
-        TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-        PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-        LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-        NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-        SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-        
-Project-URL: Donate, https://palletsprojects.com/donate
-Project-URL: Documentation, https://markupsafe.palletsprojects.com/
-Project-URL: Changes, https://markupsafe.palletsprojects.com/changes/
-Project-URL: Source, https://github.com/pallets/markupsafe/
-Project-URL: Chat, https://discord.gg/pallets
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: Environment :: Web Environment
-Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved :: BSD License
-Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python
-Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
-Classifier: Topic :: Text Processing :: Markup :: HTML
-Classifier: Typing :: Typed
-Requires-Python: >=3.9
-Description-Content-Type: text/markdown
-License-File: LICENSE.txt
-
-# MarkupSafe
-
-MarkupSafe implements a text object that escapes characters so it is
-safe to use in HTML and XML. Characters that have special meanings are
-replaced so that they display as the actual characters. This mitigates
-injection attacks, meaning untrusted user input can safely be displayed
-on a page.
-
-
-## Examples
-
-```pycon
->>> from markupsafe import Markup, escape
-
->>> # escape replaces special characters and wraps in Markup
->>> escape("<script>alert(document.cookie);</script>")
-Markup('&lt;script&gt;alert(document.cookie);&lt;/script&gt;')
-
->>> # wrap in Markup to mark text "safe" and prevent escaping
->>> Markup("<strong>Hello</strong>")
-Markup('<strong>hello</strong>')
-
->>> escape(Markup("<strong>Hello</strong>"))
-Markup('<strong>hello</strong>')
-
->>> # Markup is a str subclass
->>> # methods and operators escape their arguments
->>> template = Markup("Hello <em>{name}</em>")
->>> template.format(name='"World"')
-Markup('Hello <em>&#34;World&#34;</em>')
-```
-
-## Donate
-
-The Pallets organization develops and supports MarkupSafe and other
-popular packages. In order to grow the community of contributors and
-users, and allow the maintainers to devote more time to the projects,
-[please donate today][].
-
-[please donate today]: https://palletsprojects.com/donate

+ 0 - 14
.venv/Lib/site-packages/MarkupSafe-3.0.2.dist-info/RECORD

@@ -1,14 +0,0 @@
-MarkupSafe-3.0.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
-MarkupSafe-3.0.2.dist-info/LICENSE.txt,sha256=RjHsDbX9kKVH4zaBcmTGeYIUM4FG-KyUtKV_lu6MnsQ,1503
-MarkupSafe-3.0.2.dist-info/METADATA,sha256=nhoabjupBG41j_JxPCJ3ylgrZ6Fx8oMCFbiLF9Kafqc,4067
-MarkupSafe-3.0.2.dist-info/RECORD,,
-MarkupSafe-3.0.2.dist-info/WHEEL,sha256=62QJgqtUFevqILau0n0UncooEMoOyVCKVQitJpcuCig,101
-MarkupSafe-3.0.2.dist-info/top_level.txt,sha256=qy0Plje5IJuvsCBjejJyhDCjEAdcDLK_2agVcex8Z6U,11
-markupsafe/__init__.py,sha256=pREerPwvinB62tNCMOwqxBS2YHV6R52Wcq1d-rB4Z5o,13609
-markupsafe/__pycache__/__init__.cpython-312.pyc,,
-markupsafe/__pycache__/_native.cpython-312.pyc,,
-markupsafe/_native.py,sha256=2ptkJ40yCcp9kq3L1NqpgjfpZB-obniYKFFKUOkHh4Q,218
-markupsafe/_speedups.c,sha256=SglUjn40ti9YgQAO--OgkSyv9tXq9vvaHyVhQows4Ok,4353
-markupsafe/_speedups.cp312-win_amd64.pyd,sha256=sC88mCi7HJOQhbSSrdMPZfdCvi_VBfOzwkVuQ7V6T3M,13312
-markupsafe/_speedups.pyi,sha256=LSDmXYOefH4HVpAXuL8sl7AttLw0oXh1njVoVZp2wqQ,42
-markupsafe/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0

+ 0 - 5
.venv/Lib/site-packages/MarkupSafe-3.0.2.dist-info/WHEEL

@@ -1,5 +0,0 @@
-Wheel-Version: 1.0
-Generator: setuptools (75.2.0)
-Root-Is-Purelib: false
-Tag: cp312-cp312-win_amd64
-

+ 0 - 1
.venv/Lib/site-packages/MarkupSafe-3.0.2.dist-info/top_level.txt

@@ -1 +0,0 @@
-markupsafe

+ 0 - 7
.venv/Lib/site-packages/PyJWT-2.10.1.dist-info/AUTHORS.rst

@@ -1,7 +0,0 @@
-Authors
-=======
-
-``pyjwt`` is currently written and maintained by `Jose Padilla <https://github.com/jpadilla>`_.
-Originally written and maintained by `Jeff Lindsay <https://github.com/progrium>`_.
-
-A full list of contributors can be found on GitHub’s `overview <https://github.com/jpadilla/pyjwt/graphs/contributors>`_.

+ 0 - 1
.venv/Lib/site-packages/PyJWT-2.10.1.dist-info/INSTALLER

@@ -1 +0,0 @@
-pip

+ 0 - 21
.venv/Lib/site-packages/PyJWT-2.10.1.dist-info/LICENSE

@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2015-2022 José Padilla
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.

+ 0 - 106
.venv/Lib/site-packages/PyJWT-2.10.1.dist-info/METADATA

@@ -1,106 +0,0 @@
-Metadata-Version: 2.1
-Name: PyJWT
-Version: 2.10.1
-Summary: JSON Web Token implementation in Python
-Author-email: Jose Padilla <hello@jpadilla.com>
-License: MIT
-Project-URL: Homepage, https://github.com/jpadilla/pyjwt
-Keywords: json,jwt,security,signing,token,web
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved :: MIT License
-Classifier: Natural Language :: English
-Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3 :: Only
-Classifier: Programming Language :: Python :: 3.9
-Classifier: Programming Language :: Python :: 3.10
-Classifier: Programming Language :: Python :: 3.11
-Classifier: Programming Language :: Python :: 3.12
-Classifier: Programming Language :: Python :: 3.13
-Classifier: Topic :: Utilities
-Requires-Python: >=3.9
-Description-Content-Type: text/x-rst
-License-File: LICENSE
-License-File: AUTHORS.rst
-Provides-Extra: crypto
-Requires-Dist: cryptography>=3.4.0; extra == "crypto"
-Provides-Extra: dev
-Requires-Dist: coverage[toml]==5.0.4; extra == "dev"
-Requires-Dist: cryptography>=3.4.0; extra == "dev"
-Requires-Dist: pre-commit; extra == "dev"
-Requires-Dist: pytest<7.0.0,>=6.0.0; extra == "dev"
-Requires-Dist: sphinx; extra == "dev"
-Requires-Dist: sphinx-rtd-theme; extra == "dev"
-Requires-Dist: zope.interface; extra == "dev"
-Provides-Extra: docs
-Requires-Dist: sphinx; extra == "docs"
-Requires-Dist: sphinx-rtd-theme; extra == "docs"
-Requires-Dist: zope.interface; extra == "docs"
-Provides-Extra: tests
-Requires-Dist: coverage[toml]==5.0.4; extra == "tests"
-Requires-Dist: pytest<7.0.0,>=6.0.0; extra == "tests"
-
-PyJWT
-=====
-
-.. image:: https://github.com/jpadilla/pyjwt/workflows/CI/badge.svg
-   :target: https://github.com/jpadilla/pyjwt/actions?query=workflow%3ACI
-
-.. image:: https://img.shields.io/pypi/v/pyjwt.svg
-   :target: https://pypi.python.org/pypi/pyjwt
-
-.. image:: https://codecov.io/gh/jpadilla/pyjwt/branch/master/graph/badge.svg
-   :target: https://codecov.io/gh/jpadilla/pyjwt
-
-.. image:: https://readthedocs.org/projects/pyjwt/badge/?version=stable
-   :target: https://pyjwt.readthedocs.io/en/stable/
-
-A Python implementation of `RFC 7519 <https://tools.ietf.org/html/rfc7519>`_. Original implementation was written by `@progrium <https://github.com/progrium>`_.
-
-Sponsor
--------
-
-.. |auth0-logo| image:: https://github.com/user-attachments/assets/ee98379e-ee76-4bcb-943a-e25c4ea6d174
-   :width: 160px
-
-+--------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| |auth0-logo| | If you want to quickly add secure token-based authentication to Python projects, feel free to check Auth0's Python SDK and free plan at `auth0.com/signup <https://auth0.com/signup?utm_source=external_sites&utm_medium=pyjwt&utm_campaign=devn_signup>`_. |
-+--------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-Installing
-----------
-
-Install with **pip**:
-
-.. code-block:: console
-
-    $ pip install PyJWT
-
-
-Usage
------
-
-.. code-block:: pycon
-
-    >>> import jwt
-    >>> encoded = jwt.encode({"some": "payload"}, "secret", algorithm="HS256")
-    >>> print(encoded)
-    eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzb21lIjoicGF5bG9hZCJ9.4twFt5NiznN84AWoo1d7KO1T_yoc0Z6XOpOVswacPZg
-    >>> jwt.decode(encoded, "secret", algorithms=["HS256"])
-    {'some': 'payload'}
-
-Documentation
--------------
-
-View the full docs online at https://pyjwt.readthedocs.io/en/stable/
-
-
-Tests
------
-
-You can run tests from the project root after cloning with:
-
-.. code-block:: console
-
-    $ tox

+ 0 - 32
.venv/Lib/site-packages/PyJWT-2.10.1.dist-info/RECORD

@@ -1,32 +0,0 @@
-PyJWT-2.10.1.dist-info/AUTHORS.rst,sha256=klzkNGECnu2_VY7At89_xLBF3vUSDruXk3xwgUBxzwc,322
-PyJWT-2.10.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
-PyJWT-2.10.1.dist-info/LICENSE,sha256=eXp6ICMdTEM-nxkR2xcx0GtYKLmPSZgZoDT3wPVvXOU,1085
-PyJWT-2.10.1.dist-info/METADATA,sha256=EkewF6D6KU8SGaaQzVYfxUUU1P_gs_dp1pYTkoYvAx8,3990
-PyJWT-2.10.1.dist-info/RECORD,,
-PyJWT-2.10.1.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
-PyJWT-2.10.1.dist-info/top_level.txt,sha256=RP5DHNyJbMq2ka0FmfTgoSaQzh7e3r5XuCWCO8a00k8,4
-jwt/__init__.py,sha256=VB2vFKuboTjcDGeZ8r-UqK_dz3NsQSQEqySSICby8Xg,1711
-jwt/__pycache__/__init__.cpython-312.pyc,,
-jwt/__pycache__/algorithms.cpython-312.pyc,,
-jwt/__pycache__/api_jwk.cpython-312.pyc,,
-jwt/__pycache__/api_jws.cpython-312.pyc,,
-jwt/__pycache__/api_jwt.cpython-312.pyc,,
-jwt/__pycache__/exceptions.cpython-312.pyc,,
-jwt/__pycache__/help.cpython-312.pyc,,
-jwt/__pycache__/jwk_set_cache.cpython-312.pyc,,
-jwt/__pycache__/jwks_client.cpython-312.pyc,,
-jwt/__pycache__/types.cpython-312.pyc,,
-jwt/__pycache__/utils.cpython-312.pyc,,
-jwt/__pycache__/warnings.cpython-312.pyc,,
-jwt/algorithms.py,sha256=cKr-XEioe0mBtqJMCaHEswqVOA1Z8Purt5Sb3Bi-5BE,30409
-jwt/api_jwk.py,sha256=6F1r7rmm8V5qEnBKA_xMjS9R7VoANe1_BL1oD2FrAjE,4451
-jwt/api_jws.py,sha256=aM8vzqQf6mRrAw7bRy-Moj_pjWsKSVQyYK896AfMjJU,11762
-jwt/api_jwt.py,sha256=OGT4hok1l5A6FH_KdcrU5g6u6EQ8B7em0r9kGM9SYgA,14512
-jwt/exceptions.py,sha256=bUIOJ-v9tjopTLS-FYOTc3kFx5WP5IZt7ksN_HE1G9Q,1211
-jwt/help.py,sha256=vFdNzjQoAch04XCMYpCkyB2blaqHAGAqQrtf9nSPkdk,1808
-jwt/jwk_set_cache.py,sha256=hBKmN-giU7-G37L_XKgc_OZu2ah4wdbj1ZNG_GkoSE8,959
-jwt/jwks_client.py,sha256=p9b-IbQqo2tEge9Zit3oSPBFNePqwho96VLbnUrHUWs,4259
-jwt/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
-jwt/types.py,sha256=VnhGv_VFu5a7_mrPoSCB7HaNLrJdhM8Sq1sSfEg0gLU,99
-jwt/utils.py,sha256=hxOjvDBheBYhz-RIPiEz7Q88dSUSTMzEdKE_Ww2VdJw,3640
-jwt/warnings.py,sha256=50XWOnyNsIaqzUJTk6XHNiIDykiL763GYA92MjTKmok,59

+ 0 - 5
.venv/Lib/site-packages/PyJWT-2.10.1.dist-info/WHEEL

@@ -1,5 +0,0 @@
-Wheel-Version: 1.0
-Generator: setuptools (75.6.0)
-Root-Is-Purelib: true
-Tag: py3-none-any
-

+ 0 - 1
.venv/Lib/site-packages/PyJWT-2.10.1.dist-info/top_level.txt

@@ -1 +0,0 @@
-jwt

+ 0 - 1
.venv/Lib/site-packages/PyYAML-6.0.2.dist-info/INSTALLER

@@ -1 +0,0 @@
-pip

+ 0 - 20
.venv/Lib/site-packages/PyYAML-6.0.2.dist-info/LICENSE

@@ -1,20 +0,0 @@
-Copyright (c) 2017-2021 Ingy döt Net
-Copyright (c) 2006-2016 Kirill Simonov
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.

+ 0 - 46
.venv/Lib/site-packages/PyYAML-6.0.2.dist-info/METADATA

@@ -1,46 +0,0 @@
-Metadata-Version: 2.1
-Name: PyYAML
-Version: 6.0.2
-Summary: YAML parser and emitter for Python
-Home-page: https://pyyaml.org/
-Download-URL: https://pypi.org/project/PyYAML/
-Author: Kirill Simonov
-Author-email: xi@resolvent.net
-License: MIT
-Project-URL: Bug Tracker, https://github.com/yaml/pyyaml/issues
-Project-URL: CI, https://github.com/yaml/pyyaml/actions
-Project-URL: Documentation, https://pyyaml.org/wiki/PyYAMLDocumentation
-Project-URL: Mailing lists, http://lists.sourceforge.net/lists/listinfo/yaml-core
-Project-URL: Source Code, https://github.com/yaml/pyyaml
-Platform: Any
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved :: MIT License
-Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Cython
-Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.8
-Classifier: Programming Language :: Python :: 3.9
-Classifier: Programming Language :: Python :: 3.10
-Classifier: Programming Language :: Python :: 3.11
-Classifier: Programming Language :: Python :: 3.12
-Classifier: Programming Language :: Python :: 3.13
-Classifier: Programming Language :: Python :: Implementation :: CPython
-Classifier: Programming Language :: Python :: Implementation :: PyPy
-Classifier: Topic :: Software Development :: Libraries :: Python Modules
-Classifier: Topic :: Text Processing :: Markup
-Requires-Python: >=3.8
-License-File: LICENSE
-
-YAML is a data serialization format designed for human readability
-and interaction with scripting languages.  PyYAML is a YAML parser
-and emitter for Python.
-
-PyYAML features a complete YAML 1.1 parser, Unicode support, pickle
-support, capable extension API, and sensible error messages.  PyYAML
-supports standard YAML tags and provides Python-specific tags that
-allow to represent an arbitrary Python object.
-
-PyYAML is applicable for a broad range of tasks from complex
-configuration files to object serialization and persistence.

+ 0 - 43
.venv/Lib/site-packages/PyYAML-6.0.2.dist-info/RECORD

@@ -1,43 +0,0 @@
-PyYAML-6.0.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
-PyYAML-6.0.2.dist-info/LICENSE,sha256=jTko-dxEkP1jVwfLiOsmvXZBAqcoKVQwfT5RZ6V36KQ,1101
-PyYAML-6.0.2.dist-info/METADATA,sha256=9lwXqTOrXPts-jI2Lo5UwuaAYo0hiRA0BZqjch0WjAk,2106
-PyYAML-6.0.2.dist-info/RECORD,,
-PyYAML-6.0.2.dist-info/WHEEL,sha256=c7SWG1_hRvc9HXHEkmWlTu1Jr4WpzRucfzqTP-_8q0s,102
-PyYAML-6.0.2.dist-info/top_level.txt,sha256=rpj0IVMTisAjh_1vG3Ccf9v5jpCQwAz6cD1IVU5ZdhQ,11
-_yaml/__init__.py,sha256=04Ae_5osxahpJHa3XBZUAf4wi6XX32gR8D6X6p64GEA,1402
-_yaml/__pycache__/__init__.cpython-312.pyc,,
-yaml/__init__.py,sha256=N35S01HMesFTe0aRRMWkPj0Pa8IEbHpE9FK7cr5Bdtw,12311
-yaml/__pycache__/__init__.cpython-312.pyc,,
-yaml/__pycache__/composer.cpython-312.pyc,,
-yaml/__pycache__/constructor.cpython-312.pyc,,
-yaml/__pycache__/cyaml.cpython-312.pyc,,
-yaml/__pycache__/dumper.cpython-312.pyc,,
-yaml/__pycache__/emitter.cpython-312.pyc,,
-yaml/__pycache__/error.cpython-312.pyc,,
-yaml/__pycache__/events.cpython-312.pyc,,
-yaml/__pycache__/loader.cpython-312.pyc,,
-yaml/__pycache__/nodes.cpython-312.pyc,,
-yaml/__pycache__/parser.cpython-312.pyc,,
-yaml/__pycache__/reader.cpython-312.pyc,,
-yaml/__pycache__/representer.cpython-312.pyc,,
-yaml/__pycache__/resolver.cpython-312.pyc,,
-yaml/__pycache__/scanner.cpython-312.pyc,,
-yaml/__pycache__/serializer.cpython-312.pyc,,
-yaml/__pycache__/tokens.cpython-312.pyc,,
-yaml/_yaml.cp312-win_amd64.pyd,sha256=Bx7e_LEQx7cnd1_A9_nClp3X77g-_Lw1aoAAtYZbwWk,263680
-yaml/composer.py,sha256=_Ko30Wr6eDWUeUpauUGT3Lcg9QPBnOPVlTnIMRGJ9FM,4883
-yaml/constructor.py,sha256=kNgkfaeLUkwQYY_Q6Ff1Tz2XVw_pG1xVE9Ak7z-viLA,28639
-yaml/cyaml.py,sha256=6ZrAG9fAYvdVe2FK_w0hmXoG7ZYsoYUwapG8CiC72H0,3851
-yaml/dumper.py,sha256=PLctZlYwZLp7XmeUdwRuv4nYOZ2UBnDIUy8-lKfLF-o,2837
-yaml/emitter.py,sha256=jghtaU7eFwg31bG0B7RZea_29Adi9CKmXq_QjgQpCkQ,43006
-yaml/error.py,sha256=Ah9z-toHJUbE9j-M8YpxgSRM5CgLCcwVzJgLLRF2Fxo,2533
-yaml/events.py,sha256=50_TksgQiE4up-lKo_V-nBy-tAIxkIPQxY5qDhKCeHw,2445
-yaml/loader.py,sha256=UVa-zIqmkFSCIYq_PgSGm4NSJttHY2Rf_zQ4_b1fHN0,2061
-yaml/nodes.py,sha256=gPKNj8pKCdh2d4gr3gIYINnPOaOxGhJAUiYhGRnPE84,1440
-yaml/parser.py,sha256=ilWp5vvgoHFGzvOZDItFoGjD6D42nhlZrZyjAwa0oJo,25495
-yaml/reader.py,sha256=0dmzirOiDG4Xo41RnuQS7K9rkY3xjHiVasfDMNTqCNw,6794
-yaml/representer.py,sha256=IuWP-cAW9sHKEnS0gCqSa894k1Bg4cgTxaDwIcbRQ-Y,14190
-yaml/resolver.py,sha256=9L-VYfm4mWHxUD1Vg4X7rjDRK_7VZd6b92wzq7Y2IKY,9004
-yaml/scanner.py,sha256=YEM3iLZSaQwXcQRg2l2R4MdT0zGP2F9eHkKGKnHyWQY,51279
-yaml/serializer.py,sha256=ChuFgmhU01hj4xgI8GaKv6vfM2Bujwa9i7d2FAHj7cA,4165
-yaml/tokens.py,sha256=lTQIzSVw8Mg9wv459-TjiOQe6wVziqaRlqX2_89rp54,2573

+ 0 - 5
.venv/Lib/site-packages/PyYAML-6.0.2.dist-info/WHEEL

@@ -1,5 +0,0 @@
-Wheel-Version: 1.0
-Generator: bdist_wheel (0.44.0)
-Root-Is-Purelib: false
-Tag: cp312-cp312-win_amd64
-

+ 0 - 2
.venv/Lib/site-packages/PyYAML-6.0.2.dist-info/top_level.txt

@@ -1,2 +0,0 @@
-_yaml
-yaml

+ 0 - 1
.venv/Lib/site-packages/SQLAlchemy-1.4.54.dist-info/INSTALLER

@@ -1 +0,0 @@
-pip

+ 0 - 19
.venv/Lib/site-packages/SQLAlchemy-1.4.54.dist-info/LICENSE

@@ -1,19 +0,0 @@
-Copyright 2005-2024 SQLAlchemy authors and contributors <see AUTHORS file>.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.

+ 0 - 252
.venv/Lib/site-packages/SQLAlchemy-1.4.54.dist-info/METADATA

@@ -1,252 +0,0 @@
-Metadata-Version: 2.1
-Name: SQLAlchemy
-Version: 1.4.54
-Summary: Database Abstraction Library
-Home-page: https://www.sqlalchemy.org
-Author: Mike Bayer
-Author-email: mike_mp@zzzcomputing.com
-License: MIT
-Project-URL: Documentation, https://docs.sqlalchemy.org
-Project-URL: Issue Tracker, https://github.com/sqlalchemy/sqlalchemy/
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved :: MIT License
-Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.6
-Classifier: Programming Language :: Python :: 3.7
-Classifier: Programming Language :: Python :: 3.8
-Classifier: Programming Language :: Python :: 3.9
-Classifier: Programming Language :: Python :: 3.10
-Classifier: Programming Language :: Python :: 3.11
-Classifier: Programming Language :: Python :: 3.12
-Classifier: Programming Language :: Python :: Implementation :: CPython
-Classifier: Programming Language :: Python :: Implementation :: PyPy
-Classifier: Topic :: Database :: Front-Ends
-Requires-Python: !=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7
-Description-Content-Type: text/x-rst
-License-File: LICENSE
-Requires-Dist: importlib-metadata ; python_version < "3.8"
-Requires-Dist: greenlet !=0.4.17 ; python_version >= "3" and (platform_machine == "aarch64" or (platform_machine == "ppc64le" or (platform_machine == "x86_64" or (platform_machine == "amd64" or (platform_machine == "AMD64" or (platform_machine == "win32" or platform_machine == "WIN32"))))))
-Provides-Extra: aiomysql
-Requires-Dist: greenlet !=0.4.17 ; (python_version >= "3") and extra == 'aiomysql'
-Requires-Dist: aiomysql >=0.2.0 ; (python_version >= "3") and extra == 'aiomysql'
-Provides-Extra: aiosqlite
-Requires-Dist: typing-extensions !=3.10.0.1 ; extra == 'aiosqlite'
-Requires-Dist: greenlet !=0.4.17 ; (python_version >= "3") and extra == 'aiosqlite'
-Requires-Dist: aiosqlite ; (python_version >= "3") and extra == 'aiosqlite'
-Provides-Extra: asyncio
-Requires-Dist: greenlet !=0.4.17 ; (python_version >= "3") and extra == 'asyncio'
-Provides-Extra: asyncmy
-Requires-Dist: greenlet !=0.4.17 ; (python_version >= "3") and extra == 'asyncmy'
-Requires-Dist: asyncmy !=0.2.4,>=0.2.3 ; (python_version >= "3") and extra == 'asyncmy'
-Provides-Extra: mariadb-connector
-Requires-Dist: mariadb !=1.1.2,>=1.0.1 ; (python_version >= "3") and extra == 'mariadb-connector'
-Provides-Extra: mariadb_connector
-Requires-Dist: mariadb !=1.1.2,>=1.0.1 ; (python_version >= "3") and extra == 'mariadb_connector'
-Provides-Extra: mssql
-Requires-Dist: pyodbc ; extra == 'mssql'
-Provides-Extra: mssql-pymssql
-Requires-Dist: pymssql ; extra == 'mssql-pymssql'
-Provides-Extra: mssql-pyodbc
-Requires-Dist: pyodbc ; extra == 'mssql-pyodbc'
-Provides-Extra: mssql_pymssql
-Requires-Dist: pymssql ; extra == 'mssql_pymssql'
-Provides-Extra: mssql_pyodbc
-Requires-Dist: pyodbc ; extra == 'mssql_pyodbc'
-Provides-Extra: mypy
-Requires-Dist: sqlalchemy2-stubs ; extra == 'mypy'
-Requires-Dist: mypy >=0.910 ; (python_version >= "3") and extra == 'mypy'
-Provides-Extra: mysql
-Provides-Extra: mysql-connector
-Requires-Dist: mysql-connector-python ; extra == 'mysql-connector'
-Requires-Dist: mysqlclient <2,>=1.4.0 ; (python_version < "3") and extra == 'mysql'
-Requires-Dist: mysqlclient >=1.4.0 ; (python_version >= "3") and extra == 'mysql'
-Provides-Extra: mysql_connector
-Requires-Dist: mysql-connector-python ; extra == 'mysql_connector'
-Provides-Extra: oracle
-Requires-Dist: cx-oracle <8,>=7 ; (python_version < "3") and extra == 'oracle'
-Requires-Dist: cx-oracle >=7 ; (python_version >= "3") and extra == 'oracle'
-Provides-Extra: postgresql
-Requires-Dist: psycopg2 >=2.7 ; extra == 'postgresql'
-Provides-Extra: postgresql-asyncpg
-Requires-Dist: greenlet !=0.4.17 ; (python_version >= "3") and extra == 'postgresql-asyncpg'
-Requires-Dist: asyncpg ; (python_version >= "3") and extra == 'postgresql-asyncpg'
-Provides-Extra: postgresql-pg8000
-Requires-Dist: pg8000 !=1.29.0,>=1.16.6 ; (python_version >= "3") and extra == 'postgresql-pg8000'
-Provides-Extra: postgresql_asyncpg
-Requires-Dist: greenlet !=0.4.17 ; (python_version >= "3") and extra == 'postgresql_asyncpg'
-Requires-Dist: asyncpg ; (python_version >= "3") and extra == 'postgresql_asyncpg'
-Provides-Extra: postgresql_pg8000
-Requires-Dist: pg8000 !=1.29.0,>=1.16.6 ; (python_version >= "3") and extra == 'postgresql_pg8000'
-Provides-Extra: postgresql_psycopg2binary
-Requires-Dist: psycopg2-binary ; extra == 'postgresql_psycopg2binary'
-Provides-Extra: postgresql_psycopg2cffi
-Requires-Dist: psycopg2cffi ; extra == 'postgresql_psycopg2cffi'
-Provides-Extra: pymysql
-Requires-Dist: pymysql <1 ; (python_version < "3") and extra == 'pymysql'
-Requires-Dist: pymysql ; (python_version >= "3") and extra == 'pymysql'
-Provides-Extra: sqlcipher
-Requires-Dist: sqlcipher3-binary ; (python_version >= "3") and extra == 'sqlcipher'
-
-SQLAlchemy
-==========
-
-|PyPI| |Python| |Downloads|
-
-.. |PyPI| image:: https://img.shields.io/pypi/v/sqlalchemy
-    :target: https://pypi.org/project/sqlalchemy
-    :alt: PyPI
-
-.. |Python| image:: https://img.shields.io/pypi/pyversions/sqlalchemy
-    :target: https://pypi.org/project/sqlalchemy
-    :alt: PyPI - Python Version
-
-.. |Downloads| image:: https://img.shields.io/pypi/dm/sqlalchemy
-    :target: https://pypi.org/project/sqlalchemy
-    :alt: PyPI - Downloads
-
-
-The Python SQL Toolkit and Object Relational Mapper
-
-Introduction
--------------
-
-SQLAlchemy is the Python SQL toolkit and Object Relational Mapper
-that gives application developers the full power and
-flexibility of SQL. SQLAlchemy provides a full suite
-of well known enterprise-level persistence patterns,
-designed for efficient and high-performing database
-access, adapted into a simple and Pythonic domain
-language.
-
-Major SQLAlchemy features include:
-
-* An industrial strength ORM, built
-  from the core on the identity map, unit of work,
-  and data mapper patterns.   These patterns
-  allow transparent persistence of objects
-  using a declarative configuration system.
-  Domain models
-  can be constructed and manipulated naturally,
-  and changes are synchronized with the
-  current transaction automatically.
-* A relationally-oriented query system, exposing
-  the full range of SQL's capabilities
-  explicitly, including joins, subqueries,
-  correlation, and most everything else,
-  in terms of the object model.
-  Writing queries with the ORM uses the same
-  techniques of relational composition you use
-  when writing SQL.  While you can drop into
-  literal SQL at any time, it's virtually never
-  needed.
-* A comprehensive and flexible system
-  of eager loading for related collections and objects.
-  Collections are cached within a session,
-  and can be loaded on individual access, all
-  at once using joins, or by query per collection
-  across the full result set.
-* A Core SQL construction system and DBAPI
-  interaction layer.  The SQLAlchemy Core is
-  separate from the ORM and is a full database
-  abstraction layer in its own right, and includes
-  an extensible Python-based SQL expression
-  language, schema metadata, connection pooling,
-  type coercion, and custom types.
-* All primary and foreign key constraints are
-  assumed to be composite and natural.  Surrogate
-  integer primary keys are of course still the
-  norm, but SQLAlchemy never assumes or hardcodes
-  to this model.
-* Database introspection and generation.  Database
-  schemas can be "reflected" in one step into
-  Python structures representing database metadata;
-  those same structures can then generate
-  CREATE statements right back out - all within
-  the Core, independent of the ORM.
-
-SQLAlchemy's philosophy:
-
-* SQL databases behave less and less like object
-  collections the more size and performance start to
-  matter; object collections behave less and less like
-  tables and rows the more abstraction starts to matter.
-  SQLAlchemy aims to accommodate both of these
-  principles.
-* An ORM doesn't need to hide the "R".   A relational
-  database provides rich, set-based functionality
-  that should be fully exposed.   SQLAlchemy's
-  ORM provides an open-ended set of patterns
-  that allow a developer to construct a custom
-  mediation layer between a domain model and
-  a relational schema, turning the so-called
-  "object relational impedance" issue into
-  a distant memory.
-* The developer, in all cases, makes all decisions
-  regarding the design, structure, and naming conventions
-  of both the object model as well as the relational
-  schema.   SQLAlchemy only provides the means
-  to automate the execution of these decisions.
-* With SQLAlchemy, there's no such thing as
-  "the ORM generated a bad query" - you
-  retain full control over the structure of
-  queries, including how joins are organized,
-  how subqueries and correlation is used, what
-  columns are requested.  Everything SQLAlchemy
-  does is ultimately the result of a developer-
-  initiated decision.
-* Don't use an ORM if the problem doesn't need one.
-  SQLAlchemy consists of a Core and separate ORM
-  component.   The Core offers a full SQL expression
-  language that allows Pythonic construction
-  of SQL constructs that render directly to SQL
-  strings for a target database, returning
-  result sets that are essentially enhanced DBAPI
-  cursors.
-* Transactions should be the norm.  With SQLAlchemy's
-  ORM, nothing goes to permanent storage until
-  commit() is called.  SQLAlchemy encourages applications
-  to create a consistent means of delineating
-  the start and end of a series of operations.
-* Never render a literal value in a SQL statement.
-  Bound parameters are used to the greatest degree
-  possible, allowing query optimizers to cache
-  query plans effectively and making SQL injection
-  attacks a non-issue.
-
-Documentation
--------------
-
-Latest documentation is at:
-
-https://www.sqlalchemy.org/docs/
-
-Installation / Requirements
----------------------------
-
-Full documentation for installation is at
-`Installation <https://www.sqlalchemy.org/docs/intro.html#installation>`_.
-
-Getting Help / Development / Bug reporting
-------------------------------------------
-
-Please refer to the `SQLAlchemy Community Guide <https://www.sqlalchemy.org/support.html>`_.
-
-Code of Conduct
----------------
-
-Above all, SQLAlchemy places great emphasis on polite, thoughtful, and
-constructive communication between users and developers.
-Please see our current Code of Conduct at
-`Code of Conduct <https://www.sqlalchemy.org/codeofconduct.html>`_.
-
-License
--------
-
-SQLAlchemy is distributed under the `MIT license
-<https://www.opensource.org/licenses/mit-license.php>`_.
-

+ 0 - 487
.venv/Lib/site-packages/SQLAlchemy-1.4.54.dist-info/RECORD

@@ -1,487 +0,0 @@
-SQLAlchemy-1.4.54.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
-SQLAlchemy-1.4.54.dist-info/LICENSE,sha256=eYQKk6tEYK_iQW6ePf95YIdsg66dK-JwXoOhBNSXQOs,1119
-SQLAlchemy-1.4.54.dist-info/METADATA,sha256=HyqQjLLrnMMu0aAXxuD1PyvnSSWPrcRe3UL9FYYA80U,11060
-SQLAlchemy-1.4.54.dist-info/RECORD,,
-SQLAlchemy-1.4.54.dist-info/WHEEL,sha256=Z9NC-OvRBktQLUujjZiuac9jF_06CqbjTb-FqrCClNs,101
-SQLAlchemy-1.4.54.dist-info/top_level.txt,sha256=rp-ZgB7D8G11ivXON5VGPjupT1voYmWqkciDt5Uaw_Q,11
-sqlalchemy/__init__.py,sha256=UtCx0vF-ehbxC9yCJJy5SxtyZe4JzwdoZXYxFs_glT8,4261
-sqlalchemy/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy/__pycache__/events.cpython-312.pyc,,
-sqlalchemy/__pycache__/exc.cpython-312.pyc,,
-sqlalchemy/__pycache__/inspection.cpython-312.pyc,,
-sqlalchemy/__pycache__/log.cpython-312.pyc,,
-sqlalchemy/__pycache__/processors.cpython-312.pyc,,
-sqlalchemy/__pycache__/schema.cpython-312.pyc,,
-sqlalchemy/__pycache__/types.cpython-312.pyc,,
-sqlalchemy/cimmutabledict.cp312-win_amd64.pyd,sha256=vcTZd5kZtpEhK8J7mxuyGrNZKcuFKQR6YT-1t4tX4CU,15360
-sqlalchemy/connectors/__init__.py,sha256=K2d8Gy5kSYwJCZLL2T-RhVF3KT3dbOVqBnslTw2_j94,289
-sqlalchemy/connectors/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy/connectors/__pycache__/mxodbc.cpython-312.pyc,,
-sqlalchemy/connectors/__pycache__/pyodbc.cpython-312.pyc,,
-sqlalchemy/connectors/mxodbc.py,sha256=1huxJ31iHvvNNusX5puRCJGOT7lJk5xadUGhHnuTyVA,5950
-sqlalchemy/connectors/pyodbc.py,sha256=x-4HPpbfC2NJGBJYXvOq0d9-mtOIkzHSKec4ScYsvhw,7048
-sqlalchemy/cprocessors.cp312-win_amd64.pyd,sha256=JcLSYrBYUhfibauvO7xe3CquZRTJHt2_WOWAYTqxpKI,17408
-sqlalchemy/cresultproxy.cp312-win_amd64.pyd,sha256=69lonusBGjcfLxhrQ2MpaEFZx_JDDckKvSh1Jb2xo7A,21504
-sqlalchemy/databases/__init__.py,sha256=FVre1sXBUNIc7YP3Qz5dyx6Yx15zh8Ift2aqN-xCEno,1048
-sqlalchemy/databases/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy/dialects/__init__.py,sha256=4TNFHKkLGWl7C_wukiJCr_U5QIyahk2_HKlvUHsWDCM,2157
-sqlalchemy/dialects/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy/dialects/firebird/__init__.py,sha256=X_sdaMgJJfjQbZPKJjIc3WRyONqjdQjcpY6UGMdkK3A,1203
-sqlalchemy/dialects/firebird/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy/dialects/firebird/__pycache__/base.cpython-312.pyc,,
-sqlalchemy/dialects/firebird/__pycache__/fdb.cpython-312.pyc,,
-sqlalchemy/dialects/firebird/__pycache__/kinterbasdb.cpython-312.pyc,,
-sqlalchemy/dialects/firebird/base.py,sha256=-xCAFboMi_xpC3OWuR9opLMalp8uMl6iiVYU4nVPNmU,32169
-sqlalchemy/dialects/firebird/fdb.py,sha256=VAeJMTOjNtOaKbZXbvwoZJJYr7kWU69Max85AhkXrLA,4237
-sqlalchemy/dialects/firebird/kinterbasdb.py,sha256=-0bJDUkh5s0SfIP9JSD8ThdrDSPe_QXnmL4S9UWAk00,6690
-sqlalchemy/dialects/mssql/__init__.py,sha256=bZXj_jZR74IvADFP7w3DZte06Tm0UcWG3bwr-w5q0XI,1882
-sqlalchemy/dialects/mssql/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy/dialects/mssql/__pycache__/base.cpython-312.pyc,,
-sqlalchemy/dialects/mssql/__pycache__/information_schema.cpython-312.pyc,,
-sqlalchemy/dialects/mssql/__pycache__/json.cpython-312.pyc,,
-sqlalchemy/dialects/mssql/__pycache__/mxodbc.cpython-312.pyc,,
-sqlalchemy/dialects/mssql/__pycache__/provision.cpython-312.pyc,,
-sqlalchemy/dialects/mssql/__pycache__/pymssql.cpython-312.pyc,,
-sqlalchemy/dialects/mssql/__pycache__/pyodbc.cpython-312.pyc,,
-sqlalchemy/dialects/mssql/base.py,sha256=tdJ4u0O4ogjFB3qt6I6KOuEX11zUVzI9oEWyFZeHFGw,121964
-sqlalchemy/dialects/mssql/information_schema.py,sha256=u9L136i0xN1bIISl15XHGFQMtTdBWCsacs6VxU7wJY8,7832
-sqlalchemy/dialects/mssql/json.py,sha256=rtcY7mmua_FNImJYtnAbjAjVZrNp7ge499XndGbc9sU,4932
-sqlalchemy/dialects/mssql/mxodbc.py,sha256=TjVuBJmaTgHesi4wkJptTnGkprunCyuj0xJsgy35_qw,4967
-sqlalchemy/dialects/mssql/provision.py,sha256=EjBx1-aGEafANd0-7sYkeH726I-GTlHK11JGgQuUwm8,4863
-sqlalchemy/dialects/mssql/pymssql.py,sha256=lK5hj3FxpFYZD1AVwa7aw0cBCkR7GCfSlH1j6sl_hG0,3992
-sqlalchemy/dialects/mssql/pyodbc.py,sha256=Y2arSuYYwJFQS_9KwfWW4eTzMKleANpVQf9hI7q14fs,25134
-sqlalchemy/dialects/mysql/__init__.py,sha256=nVu8XxL0FnscIqIQZFLv4i4SeZLvs8Di_cDPq89qV18,2302
-sqlalchemy/dialects/mysql/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy/dialects/mysql/__pycache__/aiomysql.cpython-312.pyc,,
-sqlalchemy/dialects/mysql/__pycache__/asyncmy.cpython-312.pyc,,
-sqlalchemy/dialects/mysql/__pycache__/base.cpython-312.pyc,,
-sqlalchemy/dialects/mysql/__pycache__/cymysql.cpython-312.pyc,,
-sqlalchemy/dialects/mysql/__pycache__/dml.cpython-312.pyc,,
-sqlalchemy/dialects/mysql/__pycache__/enumerated.cpython-312.pyc,,
-sqlalchemy/dialects/mysql/__pycache__/expression.cpython-312.pyc,,
-sqlalchemy/dialects/mysql/__pycache__/json.cpython-312.pyc,,
-sqlalchemy/dialects/mysql/__pycache__/mariadb.cpython-312.pyc,,
-sqlalchemy/dialects/mysql/__pycache__/mariadbconnector.cpython-312.pyc,,
-sqlalchemy/dialects/mysql/__pycache__/mysqlconnector.cpython-312.pyc,,
-sqlalchemy/dialects/mysql/__pycache__/mysqldb.cpython-312.pyc,,
-sqlalchemy/dialects/mysql/__pycache__/oursql.cpython-312.pyc,,
-sqlalchemy/dialects/mysql/__pycache__/provision.cpython-312.pyc,,
-sqlalchemy/dialects/mysql/__pycache__/pymysql.cpython-312.pyc,,
-sqlalchemy/dialects/mysql/__pycache__/pyodbc.cpython-312.pyc,,
-sqlalchemy/dialects/mysql/__pycache__/reflection.cpython-312.pyc,,
-sqlalchemy/dialects/mysql/__pycache__/reserved_words.cpython-312.pyc,,
-sqlalchemy/dialects/mysql/__pycache__/types.cpython-312.pyc,,
-sqlalchemy/dialects/mysql/aiomysql.py,sha256=K43oikZQ1nVnxQWDnr5OebLSsLnmv5TIOcmy7P1nh1I,9855
-sqlalchemy/dialects/mysql/asyncmy.py,sha256=GDRdIePQJ8sCLMA31f0htdzTSPn5vTrgYUm78EOg2Qw,9994
-sqlalchemy/dialects/mysql/base.py,sha256=zKv-MkVbqorLUUjpb7viVLvR_RmmUSuAyszQZd_18Fc,118690
-sqlalchemy/dialects/mysql/cymysql.py,sha256=Lvd_T57Qx2vgWlDGCjxzg1Bmb-0zS8sNuPd6l_hufgs,2362
-sqlalchemy/dialects/mysql/dml.py,sha256=-Hv4dmYjhdkUPvPtxqIZGHVis_avMvUvwf-RUE3zgC8,6649
-sqlalchemy/dialects/mysql/enumerated.py,sha256=27Nxf-WqyqPyy6cqSjCJGPYH6WfSrf_w7I6TzOPABH4,9636
-sqlalchemy/dialects/mysql/expression.py,sha256=0oxkRHi4Kt2SzL7EfYubi2VbPy7Yau8mfKGiDxwPgHo,4126
-sqlalchemy/dialects/mysql/json.py,sha256=6qA1M6UI7-yHtASEHYYaT_eKuHphcVgggqY9YLVzrVg,2406
-sqlalchemy/dialects/mysql/mariadb.py,sha256=9qsr2m8XTywadOfTIsAz4PciqeLi8S3AoxV783Xc25s,862
-sqlalchemy/dialects/mysql/mariadbconnector.py,sha256=XYnIZ1BjwQKrlLqyyOzPljoSXftq4DM-3eAIZyhjBAw,7812
-sqlalchemy/dialects/mysql/mysqlconnector.py,sha256=Bvs-vCzJH4sg9TrWEcsFTEbKCNBk5EsgFEYxX7CMQaQ,7939
-sqlalchemy/dialects/mysql/mysqldb.py,sha256=ei8wYczTQ7c7F-DwTebnv9CBZ_I0pjHuh2xNBA-fLnw,10353
-sqlalchemy/dialects/mysql/oursql.py,sha256=0dbrs-W34xj19MtKH2G2iqo3A965HY_UwA5yTC2lPB0,8805
-sqlalchemy/dialects/mysql/provision.py,sha256=xxd65FlRsO7toxtI8uSC-5i1Qb3NtPFz3cwjr3bc_NM,2981
-sqlalchemy/dialects/mysql/pymysql.py,sha256=WdO6WGVRbMYr_MeYCcw4Fi8ltmDbmZV09799HLZvkmU,4570
-sqlalchemy/dialects/mysql/pyodbc.py,sha256=PcSO-rMJfSfYnfczgJ95LnfJSDOSzaPoQTb7gTCof10,4435
-sqlalchemy/dialects/mysql/reflection.py,sha256=IPxKYnhSNxWSNYu72TfIuAMqfiWTijXT2uxz82TIRxA,19441
-sqlalchemy/dialects/mysql/reserved_words.py,sha256=TDycSLdOzvAr0xFCBWi-X6_bx2f7uMfystAbirSIJqs,9677
-sqlalchemy/dialects/mysql/types.py,sha256=rC-YHYNdiJaM3z8Xmj9wBoYIkfK5lWAWcyMyqHCLpI4,25448
-sqlalchemy/dialects/oracle/__init__.py,sha256=tBVZoR8rL40oNoVCHxZjpj4hNN-Gts_E94KYsYjyQYM,1296
-sqlalchemy/dialects/oracle/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy/dialects/oracle/__pycache__/base.cpython-312.pyc,,
-sqlalchemy/dialects/oracle/__pycache__/cx_oracle.cpython-312.pyc,,
-sqlalchemy/dialects/oracle/__pycache__/provision.cpython-312.pyc,,
-sqlalchemy/dialects/oracle/base.py,sha256=t5M6Gdrrs68K47GtgKq1IWqoHu0yMGFcoKt3HYC6Dmw,90074
-sqlalchemy/dialects/oracle/cx_oracle.py,sha256=t6zcYeJGvI2SpOorR4CCBrMKceuagM9R_qfPTXebkzg,57307
-sqlalchemy/dialects/oracle/provision.py,sha256=u3Kqizap94rDlRVcqhvgAaGUaTM3pb0MpeAOQkA0vWM,6221
-sqlalchemy/dialects/postgresql/__init__.py,sha256=_DYbzuo5PKl4b6GwqEVQ_hchqYwmSALirsTKZ_jMAs0,2680
-sqlalchemy/dialects/postgresql/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy/dialects/postgresql/__pycache__/array.cpython-312.pyc,,
-sqlalchemy/dialects/postgresql/__pycache__/asyncpg.cpython-312.pyc,,
-sqlalchemy/dialects/postgresql/__pycache__/base.cpython-312.pyc,,
-sqlalchemy/dialects/postgresql/__pycache__/dml.cpython-312.pyc,,
-sqlalchemy/dialects/postgresql/__pycache__/ext.cpython-312.pyc,,
-sqlalchemy/dialects/postgresql/__pycache__/hstore.cpython-312.pyc,,
-sqlalchemy/dialects/postgresql/__pycache__/json.cpython-312.pyc,,
-sqlalchemy/dialects/postgresql/__pycache__/pg8000.cpython-312.pyc,,
-sqlalchemy/dialects/postgresql/__pycache__/provision.cpython-312.pyc,,
-sqlalchemy/dialects/postgresql/__pycache__/psycopg2.cpython-312.pyc,,
-sqlalchemy/dialects/postgresql/__pycache__/psycopg2cffi.cpython-312.pyc,,
-sqlalchemy/dialects/postgresql/__pycache__/pygresql.cpython-312.pyc,,
-sqlalchemy/dialects/postgresql/__pycache__/pypostgresql.cpython-312.pyc,,
-sqlalchemy/dialects/postgresql/__pycache__/ranges.cpython-312.pyc,,
-sqlalchemy/dialects/postgresql/array.py,sha256=LrB0EDsaWydA-zlZzNpRPoXt-_XKcOiOCQ1YHB3AkvQ,14644
-sqlalchemy/dialects/postgresql/asyncpg.py,sha256=1Qxi-Tgy9gQEGMRP8Ofr4AHrn_BTSg1Ft3N6bN8JFEg,37486
-sqlalchemy/dialects/postgresql/base.py,sha256=PwEmSsZv4UfYPuvFdeMOhJqQxHMkrltVZFOczP_yTzI,168483
-sqlalchemy/dialects/postgresql/dml.py,sha256=-1ROBEqNAYHFre3PX6lJg0gtLF2a5z6FH1xsMkeP7mE,9843
-sqlalchemy/dialects/postgresql/ext.py,sha256=kFzc6O5iARavKlgC6hFDBDBBm3jXnQVCvHP3vi7488k,8943
-sqlalchemy/dialects/postgresql/hstore.py,sha256=RYYm4nclQMZrHdt63WA6GmF9V52BW3J0os21fYXPz8I,13341
-sqlalchemy/dialects/postgresql/json.py,sha256=IUJ-onxYDC6XOxss0IxL7-ledSDvn19LWKNdt67Z4F8,11151
-sqlalchemy/dialects/postgresql/pg8000.py,sha256=QFKnH500rE01AYf2EPcNJWZ_ci9n2a_0pr_bEcTxdDE,17647
-sqlalchemy/dialects/postgresql/provision.py,sha256=QdXNL98xgdRtXwb2O8T4pF32a9Y0cdy3dUM5qDDIhkE,4702
-sqlalchemy/dialects/postgresql/psycopg2.py,sha256=8WDxwIdbPibMQl-pcK02LvAG3xOWfSLWpPYUlq5aIOo,41435
-sqlalchemy/dialects/postgresql/psycopg2cffi.py,sha256=giSm085aj9aM3NK4oh2E8y6UWal5Vs5mTXZdiRwCylE,1768
-sqlalchemy/dialects/postgresql/pygresql.py,sha256=-zMIW-SF89IMJtBOy_PNFK7FUPeVJl7lF2WVHVbDmR4,8872
-sqlalchemy/dialects/postgresql/pypostgresql.py,sha256=E1MpLQCEi0JgkvM6VyC7MRcclRANGsQgQBVvj5ij07s,3828
-sqlalchemy/dialects/postgresql/ranges.py,sha256=Zut_mC1D3VFlc3kzTNgc67-A6VNTKy6HadfjuAnwUYM,4934
-sqlalchemy/dialects/sqlite/__init__.py,sha256=34LaCZTmR9rbYgU37O8joORC2ohgs6xbIBDDserZxyY,1265
-sqlalchemy/dialects/sqlite/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy/dialects/sqlite/__pycache__/aiosqlite.cpython-312.pyc,,
-sqlalchemy/dialects/sqlite/__pycache__/base.cpython-312.pyc,,
-sqlalchemy/dialects/sqlite/__pycache__/dml.cpython-312.pyc,,
-sqlalchemy/dialects/sqlite/__pycache__/json.cpython-312.pyc,,
-sqlalchemy/dialects/sqlite/__pycache__/provision.cpython-312.pyc,,
-sqlalchemy/dialects/sqlite/__pycache__/pysqlcipher.cpython-312.pyc,,
-sqlalchemy/dialects/sqlite/__pycache__/pysqlite.cpython-312.pyc,,
-sqlalchemy/dialects/sqlite/aiosqlite.py,sha256=PuOctboFJRciZFPimYJUqIaydEr9pNVRD-OTsnUb_w8,10575
-sqlalchemy/dialects/sqlite/base.py,sha256=WcYfZjQyq6Bhq9cEKAagpu4hF8rfVYYOstdxQmuB7TI,93814
-sqlalchemy/dialects/sqlite/dml.py,sha256=pWp7BKFnSY7VvHA9Li-JkobH7bEd2KZ5EZ2MJcBfUII,7091
-sqlalchemy/dialects/sqlite/json.py,sha256=8p_zKEQzvno2mNCA6UBv51TTFaMiN9XQZC5clOpU-js,2852
-sqlalchemy/dialects/sqlite/provision.py,sha256=q9PMou0DUFVWAfGn_spd6oykwZT-OWNfJU0JHhNEfWM,5073
-sqlalchemy/dialects/sqlite/pysqlcipher.py,sha256=JLy_z0y1HdtLas5hDG6aM7TLo2EqzNRWHr7UWajbBdo,5778
-sqlalchemy/dialects/sqlite/pysqlite.py,sha256=kOzRw7c-SWQrU3OXHUbnwtc4ieml1ps3O2uVc_mzze0,25122
-sqlalchemy/dialects/sybase/__init__.py,sha256=X_p0ZaaGzBhdR-pmzFUssGLiZdv0ruwqHUuDf1BeUJk,1440
-sqlalchemy/dialects/sybase/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy/dialects/sybase/__pycache__/base.cpython-312.pyc,,
-sqlalchemy/dialects/sybase/__pycache__/mxodbc.cpython-312.pyc,,
-sqlalchemy/dialects/sybase/__pycache__/pyodbc.cpython-312.pyc,,
-sqlalchemy/dialects/sybase/__pycache__/pysybase.cpython-312.pyc,,
-sqlalchemy/dialects/sybase/base.py,sha256=p8XJZF-CJAPdnNY_t__R4nQUiw9P8Fib2vyVWKasQ0Y,33530
-sqlalchemy/dialects/sybase/mxodbc.py,sha256=498ILIhXfYOTvAQLliGCaCuY_aC_ZtDYoXifJET4xaY,982
-sqlalchemy/dialects/sybase/pyodbc.py,sha256=FVFVHylV6guS7wRAqgjO5DTjZJzwujP58l1nxUJOnc8,2328
-sqlalchemy/dialects/sybase/pysybase.py,sha256=TlX8JmHZzEBpAcq6tcv3QtG7thT4b7_btypQA_Rk0Gk,3485
-sqlalchemy/engine/__init__.py,sha256=DjGpk4lIVc8rLJIwyfdjDBiEFFTzN5PPizVoeYjgvRE,2170
-sqlalchemy/engine/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy/engine/__pycache__/base.cpython-312.pyc,,
-sqlalchemy/engine/__pycache__/characteristics.cpython-312.pyc,,
-sqlalchemy/engine/__pycache__/create.cpython-312.pyc,,
-sqlalchemy/engine/__pycache__/cursor.cpython-312.pyc,,
-sqlalchemy/engine/__pycache__/default.cpython-312.pyc,,
-sqlalchemy/engine/__pycache__/events.cpython-312.pyc,,
-sqlalchemy/engine/__pycache__/interfaces.cpython-312.pyc,,
-sqlalchemy/engine/__pycache__/mock.cpython-312.pyc,,
-sqlalchemy/engine/__pycache__/reflection.cpython-312.pyc,,
-sqlalchemy/engine/__pycache__/result.cpython-312.pyc,,
-sqlalchemy/engine/__pycache__/row.cpython-312.pyc,,
-sqlalchemy/engine/__pycache__/strategies.cpython-312.pyc,,
-sqlalchemy/engine/__pycache__/url.cpython-312.pyc,,
-sqlalchemy/engine/__pycache__/util.cpython-312.pyc,,
-sqlalchemy/engine/base.py,sha256=u1e8j5nsEOF4P3LQgZwKwe_yo9tfrM3evQ7jSSjcC10,128774
-sqlalchemy/engine/characteristics.py,sha256=4B00Sqy-D2YmSMssjumsqroMwa1B4qu3IhpaaKn4CKQ,2125
-sqlalchemy/engine/create.py,sha256=u7g6dtIlQPsfxy1zXRRgBE1NaiBi6U6ArssRzZB76no,31368
-sqlalchemy/engine/cursor.py,sha256=cVE3PykuhwJsRBFogoH0TWsnckCuWRSbpgkeYLcU1nc,70721
-sqlalchemy/engine/default.py,sha256=pXKVdEaTXGWNnVt7gwEm2U_p0iSdWBweRkXsohXM4_M,68964
-sqlalchemy/engine/events.py,sha256=M-e9wv-kmxy9SBP5AZtXpU49Yi-dpI-D7DyfO86B1OE,34246
-sqlalchemy/engine/interfaces.py,sha256=k5jF4i28nU2lVwvWjIvSkuT7WVvXYt3rb99iXsyQzJE,60708
-sqlalchemy/engine/mock.py,sha256=L94_yma877EZB88GgKTkC3rdDbXct9J6SHoDfG1Ww4g,3744
-sqlalchemy/engine/reflection.py,sha256=55lU1s7LmPrDE36Dr0-BgzajaUhDzWTrAn5gN1LksFs,40090
-sqlalchemy/engine/result.py,sha256=Z5k4QVPLlZ4JILOokQhzGdmK5UWydoULAGb11kpZfEk,62574
-sqlalchemy/engine/row.py,sha256=40FFfdMYvXEpMxOZ42yVLnt9g43lCRHCMXolrWAGe_E,19433
-sqlalchemy/engine/strategies.py,sha256=gWtOViR59VFny5B_rdJzk9JAxotBF7apO2N8AsqlS04,431
-sqlalchemy/engine/url.py,sha256=d1DRB7oaClKNtIfDhtPCXoZdNNUgQk5E1Y5y-d6rTcA,27978
-sqlalchemy/engine/util.py,sha256=IN0MUNonCMyKGvN5JytCb5iKQpSoE4yJft0OnRdDXRs,8695
-sqlalchemy/event/__init__.py,sha256=OnQV_ms79aCEHEL79QoCyqf7hqZi4ncq0Y5kd3nvjz4,534
-sqlalchemy/event/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy/event/__pycache__/api.cpython-312.pyc,,
-sqlalchemy/event/__pycache__/attr.cpython-312.pyc,,
-sqlalchemy/event/__pycache__/base.cpython-312.pyc,,
-sqlalchemy/event/__pycache__/legacy.cpython-312.pyc,,
-sqlalchemy/event/__pycache__/registry.cpython-312.pyc,,
-sqlalchemy/event/api.py,sha256=EVJjM9UylK7FzconVmOcDNWJuk4Lf1Oq336_lQ1vqj4,8262
-sqlalchemy/event/attr.py,sha256=bDsTo6d3QNed0Hw7Mt0iKEo_eMyaRHXaGs8IVGPCaRI,14951
-sqlalchemy/event/base.py,sha256=brPneg4Jonst1n_cWFh3uEnSzOMbETA2pkSTH2Qnc4A,11281
-sqlalchemy/event/legacy.py,sha256=n7mDWrZs4_hyYG7BJiYf_ZeQOzWtln0SE8C86TGlVts,6788
-sqlalchemy/event/registry.py,sha256=2MSfbdANVqKfiNacHO9rjhxWjbg0OaLFuOx7XgFJbDs,8783
-sqlalchemy/events.py,sha256=EvU_nwGKiDnj6QhVGcfVg3bQx72gjjgwthOsud3KNHw,470
-sqlalchemy/exc.py,sha256=Osh-j-L-KTZW0DCVwJ4xWzhWBftFP2RBQBqT5YW0-PA,21838
-sqlalchemy/ext/__init__.py,sha256=YbMQmRS_9HxRyWM-KA_F76WOss1_Em1ZcrnQDIDXoOc,333
-sqlalchemy/ext/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy/ext/__pycache__/associationproxy.cpython-312.pyc,,
-sqlalchemy/ext/__pycache__/automap.cpython-312.pyc,,
-sqlalchemy/ext/__pycache__/baked.cpython-312.pyc,,
-sqlalchemy/ext/__pycache__/compiler.cpython-312.pyc,,
-sqlalchemy/ext/__pycache__/horizontal_shard.cpython-312.pyc,,
-sqlalchemy/ext/__pycache__/hybrid.cpython-312.pyc,,
-sqlalchemy/ext/__pycache__/indexable.cpython-312.pyc,,
-sqlalchemy/ext/__pycache__/instrumentation.cpython-312.pyc,,
-sqlalchemy/ext/__pycache__/mutable.cpython-312.pyc,,
-sqlalchemy/ext/__pycache__/orderinglist.cpython-312.pyc,,
-sqlalchemy/ext/__pycache__/serializer.cpython-312.pyc,,
-sqlalchemy/ext/associationproxy.py,sha256=fLPiTYSE5sQNb7bHkFF_w38Jwrv6LsJtuwuvAo0SKBE,52766
-sqlalchemy/ext/asyncio/__init__.py,sha256=CcG8Lt3HKcuHKOKV63E13uRXeVrBH52oVbVe2sveiLg,845
-sqlalchemy/ext/asyncio/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy/ext/asyncio/__pycache__/base.cpython-312.pyc,,
-sqlalchemy/ext/asyncio/__pycache__/engine.cpython-312.pyc,,
-sqlalchemy/ext/asyncio/__pycache__/events.cpython-312.pyc,,
-sqlalchemy/ext/asyncio/__pycache__/exc.cpython-312.pyc,,
-sqlalchemy/ext/asyncio/__pycache__/result.cpython-312.pyc,,
-sqlalchemy/ext/asyncio/__pycache__/scoping.cpython-312.pyc,,
-sqlalchemy/ext/asyncio/__pycache__/session.cpython-312.pyc,,
-sqlalchemy/ext/asyncio/base.py,sha256=Ib_kxVocjRs2zAmVLOd-itDIbS1rkCfeoxbMT5KY3Tg,2615
-sqlalchemy/ext/asyncio/engine.py,sha256=hLQueuKl4OqGtjoXEU09wjlQVIjRVd7K9YERxHu_D98,27485
-sqlalchemy/ext/asyncio/events.py,sha256=K8HjPpKE6PCxE8engEnmT-zpjwB4zKZlXDez7Gt-mb8,1467
-sqlalchemy/ext/asyncio/exc.py,sha256=0awLfUB4PhEPVVTKYluyor1tW91GPZZnvdQ-GGSOmJY,660
-sqlalchemy/ext/asyncio/result.py,sha256=_idiPW8h9gsenPGTc7VRUe5u2JgSJiHTwYABmYrGHZY,21321
-sqlalchemy/ext/asyncio/scoping.py,sha256=Mjz_uVIqRgzAG64OWnCiIOyRgDKg6OIPo3HIDb5wqE0,3067
-sqlalchemy/ext/asyncio/session.py,sha256=p-75lMea8fiWLlJ-I9MGqO3oinu0mGIgCZwfOFUBpdA,25044
-sqlalchemy/ext/automap.py,sha256=3N1zrka6ccMNHhAqbpbfb269FyOenENo-RD7yN0ghcY,47016
-sqlalchemy/ext/baked.py,sha256=h8PXuUw_Gh07BZrspF9svLli0X6v6BaPPAxh8A4PCuc,20606
-sqlalchemy/ext/compiler.py,sha256=6_UEvEE9eOr7HNGJu5DyTohiViOsccRmA1ShC3CFA10,23242
-sqlalchemy/ext/declarative/__init__.py,sha256=ClT1sXwX29AImka1Wlzkcf-0AjM8hqVxEaiSLRsbies,1906
-sqlalchemy/ext/declarative/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy/ext/declarative/__pycache__/extensions.cpython-312.pyc,,
-sqlalchemy/ext/declarative/extensions.py,sha256=pf8WRK2J7Nop_qEUC3ATts2rU9Srd-sXGq1J2Bsc28A,17004
-sqlalchemy/ext/horizontal_shard.py,sha256=j_JEfHMAdAHSq2X4rvwJ5sATs6M5PIRjSBXZ8-kj7Nw,9178
-sqlalchemy/ext/hybrid.py,sha256=-o6lN4mUtB7d3wk4ZafD1N0TQxxkrzdlOUU0f3Kxi7A,43145
-sqlalchemy/ext/indexable.py,sha256=N90II0RM9sD7nWs7SGWWl37yOvit-dGLzXJFbEenBz8,11611
-sqlalchemy/ext/instrumentation.py,sha256=szdWev2Ayv7rOJgw_7bhg207kTduCxrqz3OEx52gB08,15051
-sqlalchemy/ext/mutable.py,sha256=NmKzxp-rhj6HSVGFc5Oo7g9R_xetNjx-xYsD4pdAR00,33458
-sqlalchemy/ext/mypy/__init__.py,sha256=aqT8_9sNwzC8PIaEZ4zkCYGBvYPaDD3eCgJtJuk3g6A,247
-sqlalchemy/ext/mypy/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy/ext/mypy/__pycache__/apply.cpython-312.pyc,,
-sqlalchemy/ext/mypy/__pycache__/decl_class.cpython-312.pyc,,
-sqlalchemy/ext/mypy/__pycache__/infer.cpython-312.pyc,,
-sqlalchemy/ext/mypy/__pycache__/names.cpython-312.pyc,,
-sqlalchemy/ext/mypy/__pycache__/plugin.cpython-312.pyc,,
-sqlalchemy/ext/mypy/__pycache__/util.cpython-312.pyc,,
-sqlalchemy/ext/mypy/apply.py,sha256=MR9aSm7HDYim9jNZ6XLU6rmCX8GLB8rZPm8Ld4V6-BY,10893
-sqlalchemy/ext/mypy/decl_class.py,sha256=K2QQX8GOe8hY2tK92xRQlgZD591SAmxWeQtNsc8TzZo,18084
-sqlalchemy/ext/mypy/infer.py,sha256=jZy0iZohAjYdmRsihfnE1NoUa83HtV4u0EQ5OSvP0LY,18806
-sqlalchemy/ext/mypy/names.py,sha256=TWTu7p3Z4fd-kdhACJTh3tCUBPSFhJFnrGSqmxSuwG0,8408
-sqlalchemy/ext/mypy/plugin.py,sha256=lL-S-SnLi6B1SFAfaaQ_K6PCFn681KrUoqkiRWW7xhk,9802
-sqlalchemy/ext/mypy/util.py,sha256=j9lcaqzlwUG-5FHdzdfV2nIJkIqMJMiznGUxPgEEaCY,9245
-sqlalchemy/ext/orderinglist.py,sha256=WdEd7ehySOy2-UDjemStNq8hXZ926vB2dHI6XI05JsE,14263
-sqlalchemy/ext/serializer.py,sha256=jEWD5zI54UcK6nHqmd7LO1ea4LF-eyuzV4BhCg_GNk8,10535
-sqlalchemy/future/__init__.py,sha256=D7ZPBiVcBGXSlBZiiTOp26Yr2CU9NlIwwzIgvQtiw1s,539
-sqlalchemy/future/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy/future/__pycache__/engine.cpython-312.pyc,,
-sqlalchemy/future/engine.py,sha256=Ms5QUjfCpNUAaWunObLbBO7iQb-OEOZMxJHzm0Zpkns,16840
-sqlalchemy/future/orm/__init__.py,sha256=Jm9f1aFMpqTYjavfLX6qO4x6n6rOWkz7zQ0LOWJSKrk,295
-sqlalchemy/future/orm/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy/inspection.py,sha256=hMiu7Z-H_wqR2f0ZA2XNwnJ_59HygXqwXSHmL7k77es,3136
-sqlalchemy/log.py,sha256=qa1OWmCcjFyQ95xFEYpU2xR2AywhV4mjKvjRZgj0ciA,7373
-sqlalchemy/orm/__init__.py,sha256=Kt75lS7-XHtTg42-7LGvxZO2w0hUhVxMlyesmd9SfGE,11308
-sqlalchemy/orm/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy/orm/__pycache__/attributes.cpython-312.pyc,,
-sqlalchemy/orm/__pycache__/base.cpython-312.pyc,,
-sqlalchemy/orm/__pycache__/clsregistry.cpython-312.pyc,,
-sqlalchemy/orm/__pycache__/collections.cpython-312.pyc,,
-sqlalchemy/orm/__pycache__/context.cpython-312.pyc,,
-sqlalchemy/orm/__pycache__/decl_api.cpython-312.pyc,,
-sqlalchemy/orm/__pycache__/decl_base.cpython-312.pyc,,
-sqlalchemy/orm/__pycache__/dependency.cpython-312.pyc,,
-sqlalchemy/orm/__pycache__/descriptor_props.cpython-312.pyc,,
-sqlalchemy/orm/__pycache__/dynamic.cpython-312.pyc,,
-sqlalchemy/orm/__pycache__/evaluator.cpython-312.pyc,,
-sqlalchemy/orm/__pycache__/events.cpython-312.pyc,,
-sqlalchemy/orm/__pycache__/exc.cpython-312.pyc,,
-sqlalchemy/orm/__pycache__/identity.cpython-312.pyc,,
-sqlalchemy/orm/__pycache__/instrumentation.cpython-312.pyc,,
-sqlalchemy/orm/__pycache__/interfaces.cpython-312.pyc,,
-sqlalchemy/orm/__pycache__/loading.cpython-312.pyc,,
-sqlalchemy/orm/__pycache__/mapper.cpython-312.pyc,,
-sqlalchemy/orm/__pycache__/path_registry.cpython-312.pyc,,
-sqlalchemy/orm/__pycache__/persistence.cpython-312.pyc,,
-sqlalchemy/orm/__pycache__/properties.cpython-312.pyc,,
-sqlalchemy/orm/__pycache__/query.cpython-312.pyc,,
-sqlalchemy/orm/__pycache__/relationships.cpython-312.pyc,,
-sqlalchemy/orm/__pycache__/scoping.cpython-312.pyc,,
-sqlalchemy/orm/__pycache__/session.cpython-312.pyc,,
-sqlalchemy/orm/__pycache__/state.cpython-312.pyc,,
-sqlalchemy/orm/__pycache__/strategies.cpython-312.pyc,,
-sqlalchemy/orm/__pycache__/strategy_options.cpython-312.pyc,,
-sqlalchemy/orm/__pycache__/sync.cpython-312.pyc,,
-sqlalchemy/orm/__pycache__/unitofwork.cpython-312.pyc,,
-sqlalchemy/orm/__pycache__/util.cpython-312.pyc,,
-sqlalchemy/orm/attributes.py,sha256=1Msa2CGtvhiiTqGm3GB1KA9nViUWC_rSYgVBmzlU7BA,80060
-sqlalchemy/orm/base.py,sha256=GrgjzLVUFN00t1P_987h2MJPgKcoM_ppvQKgkOepJo4,15816
-sqlalchemy/orm/clsregistry.py,sha256=X3uBP_MsK7grzi8Hax_SAU_8M1WfsnyeBoK0pYZlZiA,13740
-sqlalchemy/orm/collections.py,sha256=vavHNr7oPmuVrn9CxpBOysWbdxuK9buoSLUjxZgqWjQ,56429
-sqlalchemy/orm/context.py,sha256=5gg1vKtLHyUEbf8QCRkAtKwUofJOpruet3LiJY4nK_4,114392
-sqlalchemy/orm/decl_api.py,sha256=pesEyV5UDn6dVuNIHju6sa3QerG2ijtv-SqUpaBWWzI,36619
-sqlalchemy/orm/decl_base.py,sha256=oLh5gWLyz6yHf-E9PBjvd2OmUU_h74pT4uOKE3eVIG4,45949
-sqlalchemy/orm/dependency.py,sha256=8ZjWbSQlN9hCNbK7Agw22B_H_eRaWX_IAwWKg_cf7RE,48277
-sqlalchemy/orm/descriptor_props.py,sha256=kqoW4zYBfmNCkb4aAQLBS-RC1vSscoves3agEYMQwyU,26732
-sqlalchemy/orm/dynamic.py,sha256=PFJ13bXrnjIIxZ_LinWdtQuMhdOiwpWM4yeh8WtC85A,16506
-sqlalchemy/orm/evaluator.py,sha256=PA5ApecF2oNjD_wnp8c87R-7J61m5rv012Z-9OE6TOo,8217
-sqlalchemy/orm/events.py,sha256=yvcFafjVVacVtsOiKi6RkZ-gScUstIw6KyOepNm5K5w,115173
-sqlalchemy/orm/exc.py,sha256=vBpWM79Bqe90qv-lTSuaAgHoO9v3Bu0QyYbfNuwda_U,6736
-sqlalchemy/orm/identity.py,sha256=t2PC5yy1P0IkOw6-BQuQERyQCaN7mzunxyS1ZAIA-N4,7487
-sqlalchemy/orm/instrumentation.py,sha256=S3DmrATcilp15IIE2t6C98QfPRxVj6Wf4qh2HsiCyzs,21044
-sqlalchemy/orm/interfaces.py,sha256=M2lGg19wlz9NvqMt4gFiZsnvwyKV90zkRC1mVIv0y1Y,33362
-sqlalchemy/orm/loading.py,sha256=hMXtEMElCZam1a8NKuKnh4Zw4vMup_ZZP6J_jKgr9aI,50782
-sqlalchemy/orm/mapper.py,sha256=xC2asLPQ6QhgPLi17mliWqIcS4BCqHTxtR6kmPP3YAM,148083
-sqlalchemy/orm/path_registry.py,sha256=sV28WNialuz90R0hXDabhnls5Tk7HZ8N-my6ENIKIKc,16911
-sqlalchemy/orm/persistence.py,sha256=LTlcaHKVzjMGBZ_T6WImu1OFcWJ7JV7sXY4psmZ17uk,86767
-sqlalchemy/orm/properties.py,sha256=6kwBVSPnCZgc6eJApEARJBmvNTFwkdecKznKtEHExv0,15217
-sqlalchemy/orm/query.py,sha256=ZxO3ygcbPevMo3VVXe-sugdG4QimSCGU2WS5mYfYi00,129468
-sqlalchemy/orm/relationships.py,sha256=3rN8zrYtiybk51KRVLz_H1svHPmhA6hD5rydWe0yBMA,147702
-sqlalchemy/orm/scoping.py,sha256=jgG2jLVVgdn-ip24nZLZwpltGFM4j3NIpvf1zDDnc_w,7485
-sqlalchemy/orm/session.py,sha256=qZVJqDr8l7uRxrBknuVdVGmc9ua4B5GYscUUcEgS9Ho,167046
-sqlalchemy/orm/state.py,sha256=48JNjLt4LXf81O_ax4tgsZV8PedlGVutPy5B5caPkFk,34549
-sqlalchemy/orm/strategies.py,sha256=1qN81UADel7zufLxqTwmeJR5vj8MVFDxmL2bTFQlIfY,111482
-sqlalchemy/orm/strategy_options.py,sha256=jSRkzm0Tmext4kwg3KnZM4dhMTxiE6LKhgNfWp3CL6w,70318
-sqlalchemy/orm/sync.py,sha256=pb-qbMqDFVPwZ4XBjK9kvX39U7HG2XY-FmLl-CRGSVU,5991
-sqlalchemy/orm/unitofwork.py,sha256=5JFnMsr1P50WTSUzdUB9Srv7pF0qI4zWk6m4hOEnAxc,27874
-sqlalchemy/orm/util.py,sha256=kIbDzejzAxfxrpNsLLNnndCXcfT4aNcWnzouShzKOBw,78436
-sqlalchemy/pool/__init__.py,sha256=47INNdDtseDMxv0V9i3JmDcCxlapDXhlxbiecUxm2dM,1648
-sqlalchemy/pool/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy/pool/__pycache__/base.cpython-312.pyc,,
-sqlalchemy/pool/__pycache__/dbapi_proxy.cpython-312.pyc,,
-sqlalchemy/pool/__pycache__/events.cpython-312.pyc,,
-sqlalchemy/pool/__pycache__/impl.cpython-312.pyc,,
-sqlalchemy/pool/base.py,sha256=yCzrXGUcng1TN9Of55GyLAhf9MA5FNEo4sQMMdkfSdQ,41694
-sqlalchemy/pool/dbapi_proxy.py,sha256=QnTkYiB_j2C-IXEH0EqnTB3H8385-2p3C00kUv1JxKs,4365
-sqlalchemy/pool/events.py,sha256=v5_s9IEOJ5qGCA33M_VfKVLaZAhQY1vLjdT4CT3Q0Js,11978
-sqlalchemy/pool/impl.py,sha256=_yikhSf2A2daR4tZNSmRzuqml66nU7hS7ZuZP323fXw,16291
-sqlalchemy/processors.py,sha256=7SahX6wVuZ1S8dco5I_fInho1S-KqXyDBrFuUlJE6kc,5910
-sqlalchemy/schema.py,sha256=LZlIvwhyK5KGG4HuDKrjhh7W2szT6tiqJn3iyegjLAA,2472
-sqlalchemy/sql/__init__.py,sha256=TNdf3uhM-4Ob7VSXSrflUpn_UFpsVg14ff26nj04QGw,4811
-sqlalchemy/sql/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy/sql/__pycache__/annotation.cpython-312.pyc,,
-sqlalchemy/sql/__pycache__/base.cpython-312.pyc,,
-sqlalchemy/sql/__pycache__/coercions.cpython-312.pyc,,
-sqlalchemy/sql/__pycache__/compiler.cpython-312.pyc,,
-sqlalchemy/sql/__pycache__/crud.cpython-312.pyc,,
-sqlalchemy/sql/__pycache__/ddl.cpython-312.pyc,,
-sqlalchemy/sql/__pycache__/default_comparator.cpython-312.pyc,,
-sqlalchemy/sql/__pycache__/dml.cpython-312.pyc,,
-sqlalchemy/sql/__pycache__/elements.cpython-312.pyc,,
-sqlalchemy/sql/__pycache__/events.cpython-312.pyc,,
-sqlalchemy/sql/__pycache__/expression.cpython-312.pyc,,
-sqlalchemy/sql/__pycache__/functions.cpython-312.pyc,,
-sqlalchemy/sql/__pycache__/lambdas.cpython-312.pyc,,
-sqlalchemy/sql/__pycache__/naming.cpython-312.pyc,,
-sqlalchemy/sql/__pycache__/operators.cpython-312.pyc,,
-sqlalchemy/sql/__pycache__/roles.cpython-312.pyc,,
-sqlalchemy/sql/__pycache__/schema.cpython-312.pyc,,
-sqlalchemy/sql/__pycache__/selectable.cpython-312.pyc,,
-sqlalchemy/sql/__pycache__/sqltypes.cpython-312.pyc,,
-sqlalchemy/sql/__pycache__/traversals.cpython-312.pyc,,
-sqlalchemy/sql/__pycache__/type_api.cpython-312.pyc,,
-sqlalchemy/sql/__pycache__/util.cpython-312.pyc,,
-sqlalchemy/sql/__pycache__/visitors.cpython-312.pyc,,
-sqlalchemy/sql/annotation.py,sha256=S-WvpETG-ZL5Un8M8GgJzWqjqjNpRcMKGt3YNUodB_E,12393
-sqlalchemy/sql/base.py,sha256=N2WiInPEShs-doglLgdtbZ_RFBdzM9wNAhQ2A1rrA0I,57601
-sqlalchemy/sql/coercions.py,sha256=6JsiRKs1Gab8SisDe5BV_2I8P0jc63ixmL_WhihLO8k,35817
-sqlalchemy/sql/compiler.py,sha256=101b10CuU0Ba4OFeMFBX_Li-EYFwSNEvbElblkppX4A,199177
-sqlalchemy/sql/crud.py,sha256=7sk9_r-OjSAuD4VL8Juj948rGC2h-nSs1mw0_Lf06JA,37260
-sqlalchemy/sql/ddl.py,sha256=7RiTK-pE_tUOEuD_OGw1P1QCOHbyjhN77d31t4xI9hE,45623
-sqlalchemy/sql/default_comparator.py,sha256=AVoqQmX9DhdgxRhQuzb7Gsyr_Fwr_Qh8P4WU_X3QR5U,11501
-sqlalchemy/sql/dml.py,sha256=MV8SXCgwsz6bx0j4cN86YVkwN-YLN4b2ecD7c4PYzt0,56184
-sqlalchemy/sql/elements.py,sha256=onp9ZtP6dsVAYS-uLDgm-cEgcIQvPvxAos5xDV-6UOY,188157
-sqlalchemy/sql/events.py,sha256=bFVWFCKCV-AoBTeNYDm618uiizu0H0pk2zaOYwEJcTc,13563
-sqlalchemy/sql/expression.py,sha256=x2AA58XOJ6T7vjOMTTa56SUOPGiM8K9tCaFDZ7bC0zc,9106
-sqlalchemy/sql/functions.py,sha256=xDQNhi6OdvDlM4YKllSMPrDeZZkbz3rBejfa5nZXFWg,50650
-sqlalchemy/sql/lambdas.py,sha256=c7ay_8cPoBHI--tyOsG2p5IVubXQ6qFRZL-4qbcJsms,46363
-sqlalchemy/sql/naming.py,sha256=hUr64m0tNY-zRAtWOlagdu9kt2MX4z9blsj6nHhvHy4,6989
-sqlalchemy/sql/operators.py,sha256=L1dohiQTRujGai6NGJMHCN1WnIE2csEXbM1kMWQAhT0,51618
-sqlalchemy/sql/roles.py,sha256=ooCuZuGZGR6X6y44gTybnydlkSoQbNkq5MWCz2-CCeU,5877
-sqlalchemy/sql/schema.py,sha256=k6FWh-p7-EgRuLDhbDc1Ckq5bbMOyqXbpC0sin59tIc,201034
-sqlalchemy/sql/selectable.py,sha256=l2LQR5NfhTA0_2_5Tqaz5UJe6ZBSpUmZ_PU3olpaezs,244630
-sqlalchemy/sql/sqltypes.py,sha256=XgtcTPCziC3ruXH-_nMHGV2dZAF9IPEb85ZIoviVWAw,118353
-sqlalchemy/sql/traversals.py,sha256=eOjLJFpc44MDJ1pdLrLbrddNbRroWJrWbwwBWk594ss,54915
-sqlalchemy/sql/type_api.py,sha256=52akaESzgPFp33tsBA89qSKx9BqBMMHzvCh34cyoDJU,73737
-sqlalchemy/sql/util.py,sha256=vRHJnQiDrbcJs3ayZ1Z7640kYyCa44nZgn3iTTLYog4,37087
-sqlalchemy/sql/visitors.py,sha256=2eoXxY76WVHQngYT09AWlTxYhPD79-lnUMiRaq0tpTY,28181
-sqlalchemy/testing/__init__.py,sha256=y3aBbdILfX1EHZRGbNA8Xwzyz1zcwO959hSArHjqyI8,3074
-sqlalchemy/testing/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy/testing/__pycache__/assertions.cpython-312.pyc,,
-sqlalchemy/testing/__pycache__/assertsql.cpython-312.pyc,,
-sqlalchemy/testing/__pycache__/asyncio.cpython-312.pyc,,
-sqlalchemy/testing/__pycache__/config.cpython-312.pyc,,
-sqlalchemy/testing/__pycache__/engines.cpython-312.pyc,,
-sqlalchemy/testing/__pycache__/entities.cpython-312.pyc,,
-sqlalchemy/testing/__pycache__/exclusions.cpython-312.pyc,,
-sqlalchemy/testing/__pycache__/fixtures.cpython-312.pyc,,
-sqlalchemy/testing/__pycache__/mock.cpython-312.pyc,,
-sqlalchemy/testing/__pycache__/pickleable.cpython-312.pyc,,
-sqlalchemy/testing/__pycache__/profiling.cpython-312.pyc,,
-sqlalchemy/testing/__pycache__/provision.cpython-312.pyc,,
-sqlalchemy/testing/__pycache__/requirements.cpython-312.pyc,,
-sqlalchemy/testing/__pycache__/schema.cpython-312.pyc,,
-sqlalchemy/testing/__pycache__/util.cpython-312.pyc,,
-sqlalchemy/testing/__pycache__/warnings.cpython-312.pyc,,
-sqlalchemy/testing/assertions.py,sha256=S7-0gU7pZHC99CZwMYFNnqbRg834Y-jgs1wAgjo_IRs,30053
-sqlalchemy/testing/assertsql.py,sha256=6JWVJkxrTf1n8ay6AibqF9emTUNXm9GAy0c0bW746wI,15421
-sqlalchemy/testing/asyncio.py,sha256=UF69_JxZwEdwdT7R0bjPxoECqP1ti12fATaoSxGzUAM,3799
-sqlalchemy/testing/config.py,sha256=H1MOE_deR9vVinXEYvW5hCRgKXUfZWwKGWrIBbzXZHc,9995
-sqlalchemy/testing/engines.py,sha256=aN2IiVwAXwVAtFvAPv1oeyxHXr-mQlu-Y8_03Wumsdg,13857
-sqlalchemy/testing/entities.py,sha256=jqJwOpK9L67SI8iW_hrNgmlesPbz5DH79kMOLK2yIUA,3364
-sqlalchemy/testing/exclusions.py,sha256=68YS8DsZaPQgcxgp607ZWY6jdrFJ0pqnDZ8Kw1oOFGs,13777
-sqlalchemy/testing/fixtures.py,sha256=qYLlb5VMP-RKgxJQzRM-CUsI0tw0SNx8RjGz4Rh4ud8,31902
-sqlalchemy/testing/mock.py,sha256=WxFitkGzk0bT4T4VJSc-CsEgs9Ug0H9WGGfU55UAar4,926
-sqlalchemy/testing/pickleable.py,sha256=2W45K35EstWORy5Ci82W-ClYI8URO6X5x2MpXrFSTe8,3037
-sqlalchemy/testing/plugin/__init__.py,sha256=bbtVIt7LzVnUCcVxHWRH2owOQD067bQwwhyMf_whqHs,253
-sqlalchemy/testing/plugin/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy/testing/plugin/__pycache__/bootstrap.cpython-312.pyc,,
-sqlalchemy/testing/plugin/__pycache__/plugin_base.cpython-312.pyc,,
-sqlalchemy/testing/plugin/__pycache__/pytestplugin.cpython-312.pyc,,
-sqlalchemy/testing/plugin/__pycache__/reinvent_fixtures_py2k.cpython-312.pyc,,
-sqlalchemy/testing/plugin/bootstrap.py,sha256=iKztIbiLNt4D-DiPf6SNkNFOTYfR3btFDKmiUHL5th8,2009
-sqlalchemy/testing/plugin/plugin_base.py,sha256=u9U2X_aaIKK6dlWfW3yiK0QsDXaoA7XgoK2GXt6SoZI,22336
-sqlalchemy/testing/plugin/pytestplugin.py,sha256=mX-deWUGYCGHMOWbT57QVhDd9EqGTbQNmIcL2md3lXs,27210
-sqlalchemy/testing/plugin/reinvent_fixtures_py2k.py,sha256=wGSbmYHcaSGV-zx6T1PmN4sgI9RDy8aOXKtXqEVFa70,3667
-sqlalchemy/testing/profiling.py,sha256=MbvZLlelNQNVzjp4wenbB0gCpQtccycn_2uHbuZkKdc,10988
-sqlalchemy/testing/provision.py,sha256=nFnJlDgCHDAwgTE0oNP79ct1Y3ZhgIiSwKCKq7zyeXY,12740
-sqlalchemy/testing/requirements.py,sha256=5Rh12U-lRmYEJXd3jKA0Vd-WkqbHq85e0oYDC1XQrWU,46187
-sqlalchemy/testing/schema.py,sha256=xMwJNVGholmF9lAEORgZeNnZeKHLdW77cyo-wBLiPnA,6762
-sqlalchemy/testing/suite/__init__.py,sha256=YvTEqUNHaBlgLgWDAWn79mQrUR4VBGUHtprywJlmDT8,741
-sqlalchemy/testing/suite/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy/testing/suite/__pycache__/test_cte.cpython-312.pyc,,
-sqlalchemy/testing/suite/__pycache__/test_ddl.cpython-312.pyc,,
-sqlalchemy/testing/suite/__pycache__/test_deprecations.cpython-312.pyc,,
-sqlalchemy/testing/suite/__pycache__/test_dialect.cpython-312.pyc,,
-sqlalchemy/testing/suite/__pycache__/test_insert.cpython-312.pyc,,
-sqlalchemy/testing/suite/__pycache__/test_reflection.cpython-312.pyc,,
-sqlalchemy/testing/suite/__pycache__/test_results.cpython-312.pyc,,
-sqlalchemy/testing/suite/__pycache__/test_rowcount.cpython-312.pyc,,
-sqlalchemy/testing/suite/__pycache__/test_select.cpython-312.pyc,,
-sqlalchemy/testing/suite/__pycache__/test_sequence.cpython-312.pyc,,
-sqlalchemy/testing/suite/__pycache__/test_types.cpython-312.pyc,,
-sqlalchemy/testing/suite/__pycache__/test_unicode_ddl.cpython-312.pyc,,
-sqlalchemy/testing/suite/__pycache__/test_update_delete.cpython-312.pyc,,
-sqlalchemy/testing/suite/test_cte.py,sha256=SrAhjOHj6k8ol8D1VEl0uhVoCp6eAz2dj8JZjitmJ9Y,6639
-sqlalchemy/testing/suite/test_ddl.py,sha256=qWyRqN3rTHZBWNEO92zhzU8MLN7BFwTp89-Jjy7apnI,12395
-sqlalchemy/testing/suite/test_deprecations.py,sha256=oKHv_njcX8ldeCudU09dOYo7LeR1yQ75OkXmb8HJ37o,5465
-sqlalchemy/testing/suite/test_dialect.py,sha256=215qgc-mnk_WhBWv-VHmBRxJ6tBE2ij2V9dwdwNULC0,13590
-sqlalchemy/testing/suite/test_insert.py,sha256=bhWQoqbgBoib11lwMVUU33XLkNFlI_FC62Ou_3QKF74,11756
-sqlalchemy/testing/suite/test_reflection.py,sha256=ykKN8avBrgqi3ZEJEhDAfDQpmEAX9CHwX5Ia9mtVmV4,63564
-sqlalchemy/testing/suite/test_results.py,sha256=Hg6MJejMoU1EGOT-9PzmZlUm3cWBP0s004ByHLwmpBw,14665
-sqlalchemy/testing/suite/test_rowcount.py,sha256=a4V54SO3uClAOKm_p2-o1Zyc5c7klnyl1BIjO3Ig44k,5299
-sqlalchemy/testing/suite/test_select.py,sha256=qdCJhCFSgEK5_AgAuD9n5Qq6FB4iaqYk7CzwWBLqBzQ,59007
-sqlalchemy/testing/suite/test_sequence.py,sha256=LZZQUdHf-lVdBPbyugJSL610KaHJgNu-3WqqY7ms8KE,8970
-sqlalchemy/testing/suite/test_types.py,sha256=9PaCKGq2CAFipr8CNxiTI05G6h53FyXcg8VcRp6KmmY,49843
-sqlalchemy/testing/suite/test_unicode_ddl.py,sha256=nSoXv1vIGUSh-o5zbz3iJE7g5-xNCL9jRZkvABuntHM,7203
-sqlalchemy/testing/suite/test_update_delete.py,sha256=uUtlGIORY26awXYTH850_qd567xgWOCvLAfVIQMH1Y8,1947
-sqlalchemy/testing/util.py,sha256=iPWRq0vLA4RPMe_KjLxh32kDFCssaDsWbXas2c7T0N8,14526
-sqlalchemy/testing/warnings.py,sha256=cbwerJdsmswuYWDsCLrd_GJ0xjFZEYebPFBYZWi7GBo,2557
-sqlalchemy/types.py,sha256=IfR_klREt3NNcdWb_oqRqHuNjpDfFjLBQHWJY70WJ7M,3114
-sqlalchemy/util/__init__.py,sha256=0G2Cv_YwYxOiwnjrkJOu37-Cyr4NffMpLxODqvUH5nE,6631
-sqlalchemy/util/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy/util/__pycache__/_collections.cpython-312.pyc,,
-sqlalchemy/util/__pycache__/_compat_py3k.cpython-312.pyc,,
-sqlalchemy/util/__pycache__/_concurrency_py3k.cpython-312.pyc,,
-sqlalchemy/util/__pycache__/_preloaded.cpython-312.pyc,,
-sqlalchemy/util/__pycache__/compat.cpython-312.pyc,,
-sqlalchemy/util/__pycache__/concurrency.cpython-312.pyc,,
-sqlalchemy/util/__pycache__/deprecations.cpython-312.pyc,,
-sqlalchemy/util/__pycache__/langhelpers.cpython-312.pyc,,
-sqlalchemy/util/__pycache__/queue.cpython-312.pyc,,
-sqlalchemy/util/__pycache__/tool_support.cpython-312.pyc,,
-sqlalchemy/util/__pycache__/topological.cpython-312.pyc,,
-sqlalchemy/util/_collections.py,sha256=xUMn7KXt1gowHB0ZAweJxv62xHS5TvkFulTPiRZ9cTQ,30228
-sqlalchemy/util/_compat_py3k.py,sha256=moJ9Fj6id3-jkNrPwihseuIP4cCOJUsaRoWewPymzWc,2262
-sqlalchemy/util/_concurrency_py3k.py,sha256=9THJTJwCaqC6_n0pfr00nDWwultOFm5Ekat4hybFyNQ,6743
-sqlalchemy/util/_preloaded.py,sha256=al9NQZNCkxMvK6Ivssdh4Dcg5GwiVie7v_sDVnNqz_0,2464
-sqlalchemy/util/compat.py,sha256=AcVx5dKkCHQSb-7XRE-ig7EahctGwDZO_0MGAhxfebs,19020
-sqlalchemy/util/concurrency.py,sha256=SD3lE-QrpWYEsB6Oxp4cIQHFKENgShCLrJQ0U6Cewi0,2351
-sqlalchemy/util/deprecations.py,sha256=r-Hu5n5__01WCPddYAVFS4h-D-L5HWbUMe3obs4YreY,14158
-sqlalchemy/util/langhelpers.py,sha256=QqkypXF8x3mzTCSq6S4jwoB8gn2acVIW1AeOldiYmfc,58233
-sqlalchemy/util/queue.py,sha256=SsCqzH75kS_eWc8JHJ_c_BA4CItu7XrPCt-xg3PEdxk,9584
-sqlalchemy/util/tool_support.py,sha256=DuurikYgDUIIxk3gubUKl6rs-etXt3eeHaZ4ZkIyJXQ,6336
-sqlalchemy/util/topological.py,sha256=KqMx43y9Smm6wL3BbJJHRHKsJsTtvDgw6iLc_QaFbeQ,2959

+ 0 - 5
.venv/Lib/site-packages/SQLAlchemy-1.4.54.dist-info/WHEEL

@@ -1,5 +0,0 @@
-Wheel-Version: 1.0
-Generator: setuptools (74.1.2)
-Root-Is-Purelib: false
-Tag: cp312-cp312-win_amd64
-

+ 0 - 1
.venv/Lib/site-packages/SQLAlchemy-1.4.54.dist-info/top_level.txt

@@ -1 +0,0 @@
-sqlalchemy

+ 0 - 1
.venv/Lib/site-packages/SQLAlchemy_JSONField-1.0.2.dist-info/INSTALLER

@@ -1 +0,0 @@
-pip

+ 0 - 201
.venv/Lib/site-packages/SQLAlchemy_JSONField-1.0.2.dist-info/LICENSE

@@ -1,201 +0,0 @@
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "{}"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright 2016-2022 Alexey Stepanov aka penguinolog
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.

+ 0 - 135
.venv/Lib/site-packages/SQLAlchemy_JSONField-1.0.2.dist-info/METADATA

@@ -1,135 +0,0 @@
-Metadata-Version: 2.1
-Name: SQLAlchemy-JSONField
-Version: 1.0.2
-Summary: SQLALchemy JSONField implementation for storing dicts at SQL
-Author-email: Alexey Stepanov <penguinolog@gmail.com>
-License: Apache-2.0
-Project-URL: Repository, https://github.com/penguinolog/sqlalchemy_jsonfield
-Project-URL: Bug Tracker, https://github.com/penguinolog/sqlalchemy_jsonfield/issues
-Keywords: sql,sqlalchemy,json,jsonfield,development
-Classifier: Development Status :: 4 - Beta
-Classifier: Intended Audience :: Developers
-Classifier: Topic :: Software Development :: Libraries :: Python Modules
-Classifier: License :: OSI Approved :: Apache Software License
-Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.7
-Classifier: Programming Language :: Python :: 3.8
-Classifier: Programming Language :: Python :: 3.9
-Classifier: Programming Language :: Python :: 3.10
-Classifier: Programming Language :: Python :: 3.11
-Classifier: Programming Language :: Python :: 3.12
-Classifier: Programming Language :: Python :: Implementation :: CPython
-Classifier: Programming Language :: Python :: Implementation :: PyPy
-Requires-Python: >=3.7.0
-Description-Content-Type: text/x-rst
-License-File: LICENSE
-Requires-Dist: sqlalchemy
-
-SQLAlchemy-JSONField
-====================
-
-.. image:: https://github.com/penguinolog/sqlalchemy_jsonfield/workflows/Python%20package/badge.svg
-    :target: https://github.com/penguinolog/sqlalchemy_jsonfield/actions
-.. image:: https://img.shields.io/pypi/v/sqlalchemy_jsonfield.svg
-    :target: https://pypi.python.org/pypi/sqlalchemy_jsonfield
-.. image:: https://img.shields.io/pypi/pyversions/sqlalchemy_jsonfield.svg
-    :target: https://pypi.python.org/pypi/sqlalchemy_jsonfield
-.. image:: https://img.shields.io/pypi/status/sqlalchemy_jsonfield.svg
-    :target: https://pypi.python.org/pypi/sqlalchemy_jsonfield
-.. image:: https://img.shields.io/github/license/penguinolog/sqlalchemy_jsonfield.svg
-    :target: https://raw.githubusercontent.com/penguinolog/sqlalchemy_jsonfield/master/LICENSE
-.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
-    :target: https://github.com/ambv/black
-
-SQLALchemy JSONField implementation for storing dicts at SQL independently from JSON type support.
-
-Why?
-----
-
-SqlAlchemy provides JSON field support for several database types (PostgreSQL and MySQL for now)
-and semi-working dict <-> JSON <-> VARCHAR example, but...
-In real scenarios we have tests on sqlite, production on MySQL/MariaDB/Percona/PostgreSQL
-and some of them (modern Oracle MySQL & PostgreSQL) support JSON,
-some of them (SQLite, Percona & MariaDB) requires data conversion to Text (not VARCHAR).
-
-As addition, we have different levels of Unicode support on database and connector side,
-so we may be interested to switch JSON encoding between deployments.
-
-.. note:: SQLite 3.9 supports JSON natively and SQLAlchemy can handle this.
-
-Solution:
----------
-
-SQLALchemy JSONField has API with suport for automatic switch between native JSON and JSON encoded data,
-and encoding to JSON string can be enforced.
-
-Pros:
------
-
-* Free software: Apache license
-* Open Source: https://github.com/penguinolog/sqlalchemy_jsonfield
-* Self-documented code: docstrings with types in comments
-* Uses native JSON by default, but allows to specify different library.
-* Support multiple Python versions
-
-Usage
-=====
-Direct usage with MariaDB (example extracted from functional tests):
-
-.. code-block:: python
-
-  import sqlalchemy_jsonfield
-
-  class ExampleTable(Base):
-      __tablename__ = table_name
-      id = sqlalchemy.Column(sqlalchemy.Integer, primary_key=True)
-      row_name = sqlalchemy.Column(
-          sqlalchemy.Unicode(64),
-          unique=True,
-      )
-      json_record = sqlalchemy.Column(
-          sqlalchemy_jsonfield.JSONField(
-              # MariaDB does not support JSON for now
-              enforce_string=True,
-              # MariaDB connector requires additional parameters for correct UTF-8
-              enforce_unicode=False
-          ),
-          nullable=False
-      )
-
-Usage with alternate JSON library:
-
-.. code-block:: python
-
-  import sqlalchemy_jsonfield
-  import ujson
-
-  class ExampleTable(Base):
-      __tablename__ = table_name
-      id = sqlalchemy.Column(sqlalchemy.Integer, primary_key=True)
-      row_name = sqlalchemy.Column(
-          sqlalchemy.Unicode(64),
-          unique=True,
-      )
-      json_record = sqlalchemy.Column(
-          sqlalchemy_jsonfield.JSONField(
-              enforce_string=True,
-              enforce_unicode=False,
-              json=ujson,  # Use ujson instead of standard json.
-          ),
-          nullable=False
-      )
-
-Usage on PostgreSQL/Oracle MySQL(modern version)/SQLite(testing) environments allows to set `enforce_string=False`
-and use native JSON fields.
-
-Testing
-=======
-The main test mechanism for the package `sqlalchemy_jsonfield` is using `tox`.
-Available environments can be collected via `tox -l`
-
-CI systems
-==========
-For code checking several CI systems is used in parallel:
-
-1. `GitHub actions: <https://github.com/penguinolog/sqlalchemy_jsonfield/actions>`_ is used for checking: PEP8, pylint, bandit, installation possibility and unit tests.

+ 0 - 12
.venv/Lib/site-packages/SQLAlchemy_JSONField-1.0.2.dist-info/RECORD

@@ -1,12 +0,0 @@
-SQLAlchemy_JSONField-1.0.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
-SQLAlchemy_JSONField-1.0.2.dist-info/LICENSE,sha256=QUMgEaFGDhNsuWC0H2NcmeOSplC1YGyj7tGX2MLJqH8,11366
-SQLAlchemy_JSONField-1.0.2.dist-info/METADATA,sha256=-RgBvyvxj4DcjNlaNlTMjpknuJTMNiqEIq5vFGeVDrQ,5204
-SQLAlchemy_JSONField-1.0.2.dist-info/RECORD,,
-SQLAlchemy_JSONField-1.0.2.dist-info/WHEEL,sha256=Xo9-1PvkuimrydujYJAjF7pCkriuXBpUPEjma1nZyJ0,92
-SQLAlchemy_JSONField-1.0.2.dist-info/top_level.txt,sha256=NdmVTqdzw1LTTDSmyG9U2ne8IcIJkCM_viIH5mAFz2k,21
-sqlalchemy_jsonfield/__init__.py,sha256=uRT3gQRuKqFv62ULaIrmIIpYEZiMKlL2z30iGxAyRsw,1298
-sqlalchemy_jsonfield/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy_jsonfield/__pycache__/_version.cpython-312.pyc,,
-sqlalchemy_jsonfield/__pycache__/jsonfield.cpython-312.pyc,,
-sqlalchemy_jsonfield/_version.py,sha256=BGgbj7AHZwtVw29XgDIjcG5woR-f3jQy2X-ArcRT22E,411
-sqlalchemy_jsonfield/jsonfield.py,sha256=_6Is-gp-4YJk2GAbt5F6hzZnOXifjyatPhEKCg5y1Gw,5682

+ 0 - 5
.venv/Lib/site-packages/SQLAlchemy_JSONField-1.0.2.dist-info/WHEEL

@@ -1,5 +0,0 @@
-Wheel-Version: 1.0
-Generator: bdist_wheel (0.41.3)
-Root-Is-Purelib: true
-Tag: py3-none-any
-

+ 0 - 1
.venv/Lib/site-packages/SQLAlchemy_JSONField-1.0.2.dist-info/top_level.txt

@@ -1 +0,0 @@
-sqlalchemy_jsonfield

+ 0 - 1
.venv/Lib/site-packages/SQLAlchemy_Utils-0.41.2.dist-info/INSTALLER

@@ -1 +0,0 @@
-pip

+ 0 - 27
.venv/Lib/site-packages/SQLAlchemy_Utils-0.41.2.dist-info/LICENSE

@@ -1,27 +0,0 @@
-Copyright (c) 2012, Konsta Vesterinen
-
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-* Redistributions of source code must retain the above copyright notice, this
-  list of conditions and the following disclaimer.
-
-* Redistributions in binary form must reproduce the above copyright notice,
-  this list of conditions and the following disclaimer in the documentation
-  and/or other materials provided with the distribution.
-
-* The names of the contributors may not be used to endorse or promote products
-  derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

+ 0 - 96
.venv/Lib/site-packages/SQLAlchemy_Utils-0.41.2.dist-info/METADATA

@@ -1,96 +0,0 @@
-Metadata-Version: 2.1
-Name: SQLAlchemy-Utils
-Version: 0.41.2
-Summary: Various utility functions for SQLAlchemy.
-Home-page: https://github.com/kvesteri/sqlalchemy-utils
-Author: Konsta Vesterinen, Ryan Leckey, Janne Vanhala, Vesa Uimonen
-Author-email: konsta@fastmonkeys.com
-License: BSD
-Platform: any
-Classifier: Environment :: Web Environment
-Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved :: BSD License
-Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.7
-Classifier: Programming Language :: Python :: 3.8
-Classifier: Programming Language :: Python :: 3.9
-Classifier: Programming Language :: Python :: 3.10
-Classifier: Programming Language :: Python :: 3.11
-Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
-Classifier: Topic :: Software Development :: Libraries :: Python Modules
-Requires-Python: >=3.7
-License-File: LICENSE
-Requires-Dist: SQLAlchemy >=1.3
-Requires-Dist: importlib-metadata ; python_version < "3.8"
-Provides-Extra: arrow
-Requires-Dist: arrow >=0.3.4 ; extra == 'arrow'
-Provides-Extra: babel
-Requires-Dist: Babel >=1.3 ; extra == 'babel'
-Provides-Extra: color
-Requires-Dist: colour >=0.0.4 ; extra == 'color'
-Provides-Extra: encrypted
-Requires-Dist: cryptography >=0.6 ; extra == 'encrypted'
-Provides-Extra: intervals
-Requires-Dist: intervals >=0.7.1 ; extra == 'intervals'
-Provides-Extra: password
-Requires-Dist: passlib <2.0,>=1.6 ; extra == 'password'
-Provides-Extra: pendulum
-Requires-Dist: pendulum >=2.0.5 ; extra == 'pendulum'
-Provides-Extra: phone
-Requires-Dist: phonenumbers >=5.9.2 ; extra == 'phone'
-Provides-Extra: test
-Requires-Dist: pytest ==7.4.4 ; extra == 'test'
-Requires-Dist: Pygments >=1.2 ; extra == 'test'
-Requires-Dist: Jinja2 >=2.3 ; extra == 'test'
-Requires-Dist: docutils >=0.10 ; extra == 'test'
-Requires-Dist: flexmock >=0.9.7 ; extra == 'test'
-Requires-Dist: psycopg >=3.1.8 ; extra == 'test'
-Requires-Dist: psycopg2 >=2.5.1 ; extra == 'test'
-Requires-Dist: psycopg2cffi >=2.8.1 ; extra == 'test'
-Requires-Dist: pg8000 >=1.12.4 ; extra == 'test'
-Requires-Dist: pytz >=2014.2 ; extra == 'test'
-Requires-Dist: python-dateutil >=2.6 ; extra == 'test'
-Requires-Dist: pymysql ; extra == 'test'
-Requires-Dist: flake8 >=2.4.0 ; extra == 'test'
-Requires-Dist: isort >=4.2.2 ; extra == 'test'
-Requires-Dist: pyodbc ; extra == 'test'
-Requires-Dist: backports.zoneinfo ; (python_version < "3.9") and extra == 'test'
-Provides-Extra: test_all
-Requires-Dist: Babel >=1.3 ; extra == 'test_all'
-Requires-Dist: Jinja2 >=2.3 ; extra == 'test_all'
-Requires-Dist: Pygments >=1.2 ; extra == 'test_all'
-Requires-Dist: arrow >=0.3.4 ; extra == 'test_all'
-Requires-Dist: colour >=0.0.4 ; extra == 'test_all'
-Requires-Dist: cryptography >=0.6 ; extra == 'test_all'
-Requires-Dist: docutils >=0.10 ; extra == 'test_all'
-Requires-Dist: flake8 >=2.4.0 ; extra == 'test_all'
-Requires-Dist: flexmock >=0.9.7 ; extra == 'test_all'
-Requires-Dist: furl >=0.4.1 ; extra == 'test_all'
-Requires-Dist: intervals >=0.7.1 ; extra == 'test_all'
-Requires-Dist: isort >=4.2.2 ; extra == 'test_all'
-Requires-Dist: passlib <2.0,>=1.6 ; extra == 'test_all'
-Requires-Dist: pendulum >=2.0.5 ; extra == 'test_all'
-Requires-Dist: pg8000 >=1.12.4 ; extra == 'test_all'
-Requires-Dist: phonenumbers >=5.9.2 ; extra == 'test_all'
-Requires-Dist: psycopg2 >=2.5.1 ; extra == 'test_all'
-Requires-Dist: psycopg2cffi >=2.8.1 ; extra == 'test_all'
-Requires-Dist: psycopg >=3.1.8 ; extra == 'test_all'
-Requires-Dist: pymysql ; extra == 'test_all'
-Requires-Dist: pyodbc ; extra == 'test_all'
-Requires-Dist: pytest ==7.4.4 ; extra == 'test_all'
-Requires-Dist: python-dateutil ; extra == 'test_all'
-Requires-Dist: python-dateutil >=2.6 ; extra == 'test_all'
-Requires-Dist: pytz >=2014.2 ; extra == 'test_all'
-Requires-Dist: backports.zoneinfo ; (python_version < "3.9") and extra == 'test_all'
-Provides-Extra: timezone
-Requires-Dist: python-dateutil ; extra == 'timezone'
-Provides-Extra: url
-Requires-Dist: furl >=0.4.1 ; extra == 'url'
-
-
-SQLAlchemy-Utils
-----------------
-
-Various utility functions and custom data types for SQLAlchemy.

+ 0 - 134
.venv/Lib/site-packages/SQLAlchemy_Utils-0.41.2.dist-info/RECORD

@@ -1,134 +0,0 @@
-SQLAlchemy_Utils-0.41.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
-SQLAlchemy_Utils-0.41.2.dist-info/LICENSE,sha256=aKpRvWCrOmo-gm2RyB2KhgP4FtG6tTWi_xi_fWmqmwo,1437
-SQLAlchemy_Utils-0.41.2.dist-info/METADATA,sha256=Oa5EKUeSQem6qDguiTjQhh85jmYr1pZnDzX4Z4p7dKQ,4201
-SQLAlchemy_Utils-0.41.2.dist-info/RECORD,,
-SQLAlchemy_Utils-0.41.2.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
-SQLAlchemy_Utils-0.41.2.dist-info/top_level.txt,sha256=C1ORFCU1fhRUCHEe-ZcUkfSkafW8gtZgCEAFeXZeaLc,17
-sqlalchemy_utils/__init__.py,sha256=_h7wBBWLH4F4sLMqghPSbPx1y6bT96hlxMTonRO06WY,2363
-sqlalchemy_utils/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy_utils/__pycache__/aggregates.cpython-312.pyc,,
-sqlalchemy_utils/__pycache__/asserts.cpython-312.pyc,,
-sqlalchemy_utils/__pycache__/compat.cpython-312.pyc,,
-sqlalchemy_utils/__pycache__/exceptions.cpython-312.pyc,,
-sqlalchemy_utils/__pycache__/expressions.cpython-312.pyc,,
-sqlalchemy_utils/__pycache__/generic.cpython-312.pyc,,
-sqlalchemy_utils/__pycache__/i18n.cpython-312.pyc,,
-sqlalchemy_utils/__pycache__/listeners.cpython-312.pyc,,
-sqlalchemy_utils/__pycache__/models.cpython-312.pyc,,
-sqlalchemy_utils/__pycache__/observer.cpython-312.pyc,,
-sqlalchemy_utils/__pycache__/operators.cpython-312.pyc,,
-sqlalchemy_utils/__pycache__/path.cpython-312.pyc,,
-sqlalchemy_utils/__pycache__/proxy_dict.cpython-312.pyc,,
-sqlalchemy_utils/__pycache__/query_chain.cpython-312.pyc,,
-sqlalchemy_utils/__pycache__/utils.cpython-312.pyc,,
-sqlalchemy_utils/__pycache__/view.cpython-312.pyc,,
-sqlalchemy_utils/aggregates.py,sha256=sdzDxpQDZgHmHMuEJ82vzMh8DDQEw7_vqaLBeRwn9ik,15420
-sqlalchemy_utils/asserts.py,sha256=w37lkU4hgzlLkr3GalUMkGVRFrB4E65gi8vVeDNW5tE,5376
-sqlalchemy_utils/compat.py,sha256=BYEgwN_tu-1yfjYSjVJEtK2R_WC57R7okXHoCv6aD4k,2241
-sqlalchemy_utils/exceptions.py,sha256=iZW-TQSZDtCge4pzDDpYug4tKmpEM8coaplYiPJ8UPw,229
-sqlalchemy_utils/expressions.py,sha256=ab-7JXJbuf9nNaSIEHGeUK9mkI__UpLrsAxgXYHZjCA,1610
-sqlalchemy_utils/functions/__init__.py,sha256=R6TU8WdVGFrYOcA_76rW8CH8AvZeBR_SL6pJFdHa0g8,950
-sqlalchemy_utils/functions/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy_utils/functions/__pycache__/database.cpython-312.pyc,,
-sqlalchemy_utils/functions/__pycache__/foreign_keys.cpython-312.pyc,,
-sqlalchemy_utils/functions/__pycache__/mock.cpython-312.pyc,,
-sqlalchemy_utils/functions/__pycache__/orm.cpython-312.pyc,,
-sqlalchemy_utils/functions/__pycache__/render.cpython-312.pyc,,
-sqlalchemy_utils/functions/__pycache__/sort_query.cpython-312.pyc,,
-sqlalchemy_utils/functions/database.py,sha256=w0Wc9sqM_7EqmA3Gmyq2OFVVhsHutoQvUB_Ccd9Zccs,19986
-sqlalchemy_utils/functions/foreign_keys.py,sha256=oHVJoB037tpa-xc3eVnhJPKT6YhkTDETVgQ5RIdIchg,10440
-sqlalchemy_utils/functions/mock.py,sha256=g8PrPh7W2NFIyklSzKoL4s2cErvJXrAxMzGfvdif_48,3145
-sqlalchemy_utils/functions/orm.py,sha256=sg9PfWFefRLGeMT_B8vcVDdLmn5EJjuUj9ImW-MNGqM,24628
-sqlalchemy_utils/functions/render.py,sha256=aCAtzQicivrCMbCvaT-CdHhQvztr2yzAVFXHImzakH8,2057
-sqlalchemy_utils/functions/sort_query.py,sha256=4O2vMDAwrPA2FsOY62xTirVmhqsfaDBGkRV_ReM7F4A,2332
-sqlalchemy_utils/generic.py,sha256=Q0uHiwI0rNP68kuNE8jlRwiAhzf6-mTvJ388D1l_7I4,7150
-sqlalchemy_utils/i18n.py,sha256=bPJziNDTzIaSdNZntlgL0MlI3frQgf8M-yvyjmS_XoQ,3905
-sqlalchemy_utils/listeners.py,sha256=p1nxzGnEWNspueH27iFG21D9_O-PX95wIWbgiNx5pHM,7805
-sqlalchemy_utils/models.py,sha256=z87KGdLmwSRGeQBzEJ4w3jj5eEL3heEZPIfQYRPYniw,2877
-sqlalchemy_utils/observer.py,sha256=11E_n4NwgRcqes0N6A1G8MKCTCGcznSvla2VkJdREPE,12220
-sqlalchemy_utils/operators.py,sha256=nItfRvJbYcreLjCkJd7t1zckfidkvoiF-tMXNVUJz04,1966
-sqlalchemy_utils/path.py,sha256=ulyUFuG5BAHIKr_ttJoa2s5NTzUKH27YYPrMLsy1Pew,4121
-sqlalchemy_utils/primitives/__init__.py,sha256=Ubo8i8HJr2TIcA94y0I822FninJyxKSmHY676wZWT14,185
-sqlalchemy_utils/primitives/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy_utils/primitives/__pycache__/country.cpython-312.pyc,,
-sqlalchemy_utils/primitives/__pycache__/currency.cpython-312.pyc,,
-sqlalchemy_utils/primitives/__pycache__/ltree.cpython-312.pyc,,
-sqlalchemy_utils/primitives/__pycache__/weekday.cpython-312.pyc,,
-sqlalchemy_utils/primitives/__pycache__/weekdays.cpython-312.pyc,,
-sqlalchemy_utils/primitives/country.py,sha256=U8eayWirlksN2ZnCTLE4PFYnLU5DSnxs51m4FU2rVFM,2740
-sqlalchemy_utils/primitives/currency.py,sha256=RdI-TIxhO90VCmzxnuOAd9ZvHkuw2XrzFJPvD5ZgfE8,2733
-sqlalchemy_utils/primitives/ltree.py,sha256=4Hs6xjZKdNVMLiVppSCA37RoidfOQZWi7FlUWPuujHA,5261
-sqlalchemy_utils/primitives/weekday.py,sha256=AMAe1km6iOKLlHghWUr8enj8J2jWNvf5Dox4LrneJJg,1259
-sqlalchemy_utils/primitives/weekdays.py,sha256=K4tIOHv6EvYR3IUwCEqKT1DEiVgsBMpOty8xRym0Kcc,1764
-sqlalchemy_utils/proxy_dict.py,sha256=t0-VwgrTcAAsUhOFCE2JdIhTy5Yv-71GebhwQC3xNIU,2369
-sqlalchemy_utils/query_chain.py,sha256=GN6pWesgac5LtPTvUSecbciR9XbfBAG6qxdQiNFA38s,3963
-sqlalchemy_utils/relationships/__init__.py,sha256=vyGb2Opfv-ZM0pw5JOpv9kdWr4_Q2foSHSp8Ho_cBik,3587
-sqlalchemy_utils/relationships/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy_utils/relationships/__pycache__/chained_join.cpython-312.pyc,,
-sqlalchemy_utils/relationships/chained_join.py,sha256=VUMZh5gwGf8qypkM-ZzNz3OtHY7mP7Hi0QoijQM6OpA,880
-sqlalchemy_utils/types/__init__.py,sha256=LUMa5FZq7dFuzatd_Dl993hPHc8lQXSnHX4QlW0wG7E,1919
-sqlalchemy_utils/types/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy_utils/types/__pycache__/arrow.cpython-312.pyc,,
-sqlalchemy_utils/types/__pycache__/bit.cpython-312.pyc,,
-sqlalchemy_utils/types/__pycache__/choice.cpython-312.pyc,,
-sqlalchemy_utils/types/__pycache__/color.cpython-312.pyc,,
-sqlalchemy_utils/types/__pycache__/country.cpython-312.pyc,,
-sqlalchemy_utils/types/__pycache__/currency.cpython-312.pyc,,
-sqlalchemy_utils/types/__pycache__/email.cpython-312.pyc,,
-sqlalchemy_utils/types/__pycache__/ip_address.cpython-312.pyc,,
-sqlalchemy_utils/types/__pycache__/json.cpython-312.pyc,,
-sqlalchemy_utils/types/__pycache__/locale.cpython-312.pyc,,
-sqlalchemy_utils/types/__pycache__/ltree.cpython-312.pyc,,
-sqlalchemy_utils/types/__pycache__/password.cpython-312.pyc,,
-sqlalchemy_utils/types/__pycache__/pg_composite.cpython-312.pyc,,
-sqlalchemy_utils/types/__pycache__/phone_number.cpython-312.pyc,,
-sqlalchemy_utils/types/__pycache__/range.cpython-312.pyc,,
-sqlalchemy_utils/types/__pycache__/scalar_coercible.cpython-312.pyc,,
-sqlalchemy_utils/types/__pycache__/scalar_list.cpython-312.pyc,,
-sqlalchemy_utils/types/__pycache__/timezone.cpython-312.pyc,,
-sqlalchemy_utils/types/__pycache__/ts_vector.cpython-312.pyc,,
-sqlalchemy_utils/types/__pycache__/url.cpython-312.pyc,,
-sqlalchemy_utils/types/__pycache__/uuid.cpython-312.pyc,,
-sqlalchemy_utils/types/__pycache__/weekdays.cpython-312.pyc,,
-sqlalchemy_utils/types/arrow.py,sha256=zpklt2Bh2rFPyjI2HBjMWWmbm83o6iiksp4yj9j1z-g,1535
-sqlalchemy_utils/types/bit.py,sha256=V9TU63GCuPJGAjlDskK15kBwi2F2y_E9On34QQAY1Zs,756
-sqlalchemy_utils/types/choice.py,sha256=3GNGs0qNgO3eR0xOlYEhbMjumTKGjMB1wAi-p5UuI5k,5882
-sqlalchemy_utils/types/color.py,sha256=X5ogyU5s21wJYFhE9v_SttyYElV1BlnNFaZ2M0kTvJk,2121
-sqlalchemy_utils/types/country.py,sha256=VQpj_5zL04u1mW6g9HKPp5pQlZoHmSXwW--wjj7DGtY,1579
-sqlalchemy_utils/types/currency.py,sha256=7jab_GdPTZvaYjvsWwh8pyMj69iU2lpUwDsJy4_3YTo,1933
-sqlalchemy_utils/types/email.py,sha256=93fleQPJrvdxZH9pjdPXtYnci96qwTIwdx3sJbvZNWk,1259
-sqlalchemy_utils/types/encrypted/__init__.py,sha256=54Yf-Bd-HekcoRTJnHc5q0YVbAlJh8XMcPctgKTJGJo,28
-sqlalchemy_utils/types/encrypted/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy_utils/types/encrypted/__pycache__/encrypted_type.cpython-312.pyc,,
-sqlalchemy_utils/types/encrypted/__pycache__/padding.cpython-312.pyc,,
-sqlalchemy_utils/types/encrypted/encrypted_type.py,sha256=dUGIEqg1Jq5QPT0D1JXqaDSGD227J8rvnshO7-eEl1A,16913
-sqlalchemy_utils/types/encrypted/padding.py,sha256=roNnoiCelBV-N1-UpOrBHZpL9tA7pkokcPeSNUrhfA8,4483
-sqlalchemy_utils/types/enriched_datetime/__init__.py,sha256=OmaPAmpYTRsySUrf5V6YboLtq5cGMzjSkixzXg0g3fs,196
-sqlalchemy_utils/types/enriched_datetime/__pycache__/__init__.cpython-312.pyc,,
-sqlalchemy_utils/types/enriched_datetime/__pycache__/arrow_datetime.cpython-312.pyc,,
-sqlalchemy_utils/types/enriched_datetime/__pycache__/enriched_date_type.cpython-312.pyc,,
-sqlalchemy_utils/types/enriched_datetime/__pycache__/enriched_datetime_type.cpython-312.pyc,,
-sqlalchemy_utils/types/enriched_datetime/__pycache__/pendulum_date.cpython-312.pyc,,
-sqlalchemy_utils/types/enriched_datetime/__pycache__/pendulum_datetime.cpython-312.pyc,,
-sqlalchemy_utils/types/enriched_datetime/arrow_datetime.py,sha256=FsBohjRv800aIRIt-HCs_Hy7yV_MXYfS6fGzc9VdP2k,1038
-sqlalchemy_utils/types/enriched_datetime/enriched_date_type.py,sha256=ZcqeUk_2MqQR91pHvh0r4-bZmdeFnf49zVEIcSRnspQ,1367
-sqlalchemy_utils/types/enriched_datetime/enriched_datetime_type.py,sha256=N4BNnx4dqwbdltgxxm3GMNXvd744E2rSuTG-Iu2IKs8,1446
-sqlalchemy_utils/types/enriched_datetime/pendulum_date.py,sha256=4gWAowdqxXWxkci5iKG6UrtYdAQ7ZbM4S4Br4Su7clA,868
-sqlalchemy_utils/types/enriched_datetime/pendulum_datetime.py,sha256=FWGq--aTUDEOsjcmvSOYf3mpvQuwtUua4UFO2guJ8As,1451
-sqlalchemy_utils/types/ip_address.py,sha256=d0W5H9ICIchWfGi76hkwOCZVVBsUiFS5ZE3HzJoHZwU,1327
-sqlalchemy_utils/types/json.py,sha256=R_B-GkUwsqjsN0ncat9siWiTgITb-AS9LfLYZa5ilgQ,2123
-sqlalchemy_utils/types/locale.py,sha256=4wJJ--wNUz_4Zj7u1-QSSRk_1VaF9fN6AjEmq-EL7sM,1797
-sqlalchemy_utils/types/ltree.py,sha256=uS5Ry3GdXQzcXmYE57kCq_Orq22j_vIUSDtZLDi5UgA,3386
-sqlalchemy_utils/types/password.py,sha256=GxfkBcnndSy-ihmqoECAY2YsgGJUpqGYzILg3x9gSD4,7875
-sqlalchemy_utils/types/pg_composite.py,sha256=k6iPw3znq6U2fVhCUNykSTN4lrGpx5evxEwAfKcDQxA,10524
-sqlalchemy_utils/types/phone_number.py,sha256=RTUiZbpw06e8Rt_N6Smgkh-lSNa27GidXysYx3ODFQ8,6707
-sqlalchemy_utils/types/range.py,sha256=_nMDA-xL9rhYJby1gdLshZ8E9q2aR_rYd_8-3OrIT2A,12002
-sqlalchemy_utils/types/scalar_coercible.py,sha256=cIG3kQKMPy6tktOQmexFZ_iDYzWzz3ky_x4jRZ38VFU,192
-sqlalchemy_utils/types/scalar_list.py,sha256=ioi-hEIz6lC4E8ohQ_4SCTqvWYIHiNGxugzB3g1CeS8,2701
-sqlalchemy_utils/types/timezone.py,sha256=RvtXS8OVoQvLvJVKpN5YjID7FcURwMJ9Vouh-lxO2Bk,3408
-sqlalchemy_utils/types/ts_vector.py,sha256=WSOOGr8FXUIVe0HXhP-CSFAtCLDCyF07gMimfXQx8Rs,3148
-sqlalchemy_utils/types/url.py,sha256=Gwa05HTM1ZKOBVWVk4AZ2WcydaQTAbwwANO8jp-SFmQ,1525
-sqlalchemy_utils/types/uuid.py,sha256=NDkGm_NOcKyluKYT_tKgIWJX6WIk2kY8em-Md8a7Zc4,3297
-sqlalchemy_utils/types/weekdays.py,sha256=u0AEc_sNnRNFKBYBfupby-7j7iBC3CWo5S2JDVC8mDE,2129
-sqlalchemy_utils/utils.py,sha256=xFL2j2MxNiaKGFMrXOZsK8wMmqMItgtgSEgCExzsaIQ,452
-sqlalchemy_utils/view.py,sha256=KFXVps8dlTNizyjUyiR97w5fv6VUugVJ1SmY3pLy-9A,7020

+ 0 - 5
.venv/Lib/site-packages/SQLAlchemy_Utils-0.41.2.dist-info/WHEEL

@@ -1,5 +0,0 @@
-Wheel-Version: 1.0
-Generator: bdist_wheel (0.43.0)
-Root-Is-Purelib: true
-Tag: py3-none-any
-

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.