reflex 0.8.0a6__tar.gz → 0.8.0.post1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of reflex might be problematic. Click here for more details.
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/PKG-INFO +2 -2
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/pyproject.toml +2 -2
- reflex-0.8.0.post1/reflex/.templates/web/vite-plugin-safari-cachebust.js +160 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/web/vite.config.js +2 -1
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/config.py +7 -36
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/constants/installer.py +1 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/environment.py +70 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/utils/exec.py +8 -3
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/utils/misc.py +1 -2
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/utils/processes.py +11 -2
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/.gitignore +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/LICENSE +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/README.md +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/apps/blank/assets/favicon.ico +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/apps/blank/code/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/apps/blank/code/blank.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/jinja/app/rxconfig.py.jinja2 +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/jinja/custom_components/README.md.jinja2 +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/jinja/custom_components/__init__.py.jinja2 +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/jinja/custom_components/demo_app.py.jinja2 +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/jinja/custom_components/pyproject.toml.jinja2 +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/jinja/custom_components/src.py.jinja2 +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/jinja/web/package.json.jinja2 +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/jinja/web/pages/_app.js.jinja2 +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/jinja/web/pages/_document.js.jinja2 +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/jinja/web/pages/component.js.jinja2 +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/jinja/web/pages/index.js.jinja2 +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/jinja/web/pages/macros.js.jinja2 +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/jinja/web/pages/stateful_components.js.jinja2 +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/jinja/web/pages/utils.js.jinja2 +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/jinja/web/styles/styles.css.jinja2 +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/jinja/web/utils/context.js.jinja2 +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/jinja/web/utils/theme.js.jinja2 +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/web/.gitignore +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/web/app/entry.client.js +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/web/app/routes.js +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/web/components/shiki/code.js +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/web/jsconfig.json +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/web/postcss.config.js +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/web/react-router.config.js +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/web/styles/__reflex_style_reset.css +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/web/utils/client_side_routing.js +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/web/utils/helpers/dataeditor.js +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/web/utils/helpers/debounce.js +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/web/utils/helpers/paste.js +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/web/utils/helpers/range.js +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/web/utils/helpers/throttle.js +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/web/utils/react-theme.js +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/web/utils/state.js +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/__init__.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/__main__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/admin.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/app.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/app_mixins/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/app_mixins/lifespan.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/app_mixins/middleware.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/app_mixins/mixin.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/assets.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/base.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/compiler/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/compiler/compiler.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/compiler/templates.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/compiler/utils.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/__init__.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/base/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/base/__init__.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/base/app_wrap.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/base/app_wrap.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/base/bare.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/base/body.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/base/body.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/base/document.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/base/document.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/base/error_boundary.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/base/error_boundary.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/base/fragment.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/base/fragment.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/base/link.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/base/link.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/base/meta.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/base/meta.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/base/script.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/base/script.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/base/strict_mode.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/base/strict_mode.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/component.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/core/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/core/__init__.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/core/auto_scroll.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/core/auto_scroll.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/core/banner.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/core/banner.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/core/breakpoints.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/core/client_side_routing.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/core/client_side_routing.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/core/clipboard.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/core/clipboard.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/core/colors.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/core/cond.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/core/debounce.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/core/debounce.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/core/foreach.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/core/helmet.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/core/helmet.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/core/html.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/core/html.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/core/layout/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/core/match.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/core/responsive.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/core/sticky.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/core/sticky.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/core/upload.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/core/upload.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/datadisplay/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/datadisplay/__init__.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/datadisplay/code.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/datadisplay/code.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/datadisplay/dataeditor.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/datadisplay/dataeditor.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/datadisplay/logo.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/datadisplay/shiki_code_block.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/datadisplay/shiki_code_block.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/dynamic.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/el/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/el/__init__.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/el/constants/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/el/constants/html.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/el/constants/react.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/el/constants/reflex.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/el/element.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/el/element.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/el/elements/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/el/elements/__init__.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/el/elements/base.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/el/elements/base.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/el/elements/forms.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/el/elements/forms.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/el/elements/inline.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/el/elements/inline.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/el/elements/media.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/el/elements/media.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/el/elements/metadata.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/el/elements/metadata.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/el/elements/other.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/el/elements/other.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/el/elements/scripts.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/el/elements/scripts.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/el/elements/sectioning.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/el/elements/sectioning.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/el/elements/tables.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/el/elements/tables.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/el/elements/typography.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/el/elements/typography.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/field.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/gridjs/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/gridjs/datatable.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/gridjs/datatable.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/literals.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/lucide/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/lucide/icon.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/lucide/icon.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/markdown/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/markdown/markdown.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/markdown/markdown.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/moment/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/moment/moment.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/moment/moment.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/plotly/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/plotly/plotly.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/plotly/plotly.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/props.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/__init__.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/primitives/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/primitives/__init__.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/primitives/accordion.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/primitives/accordion.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/primitives/base.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/primitives/base.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/primitives/drawer.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/primitives/drawer.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/primitives/form.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/primitives/form.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/primitives/progress.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/primitives/progress.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/primitives/slider.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/primitives/slider.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/__init__.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/base.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/base.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/color_mode.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/color_mode.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/__init__.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/alert_dialog.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/alert_dialog.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/aspect_ratio.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/aspect_ratio.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/avatar.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/avatar.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/badge.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/badge.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/button.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/button.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/callout.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/callout.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/card.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/card.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/checkbox.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/checkbox.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/checkbox_cards.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/checkbox_cards.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/checkbox_group.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/checkbox_group.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/context_menu.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/context_menu.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/data_list.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/data_list.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/dialog.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/dialog.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/dropdown_menu.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/dropdown_menu.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/hover_card.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/hover_card.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/icon_button.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/icon_button.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/inset.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/inset.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/popover.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/popover.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/progress.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/progress.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/radio.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/radio.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/radio_cards.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/radio_cards.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/radio_group.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/radio_group.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/scroll_area.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/scroll_area.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/segmented_control.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/segmented_control.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/select.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/select.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/separator.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/separator.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/skeleton.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/skeleton.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/slider.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/slider.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/spinner.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/spinner.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/switch.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/switch.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/table.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/table.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/tabs.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/tabs.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/text_area.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/text_area.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/text_field.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/text_field.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/tooltip.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/components/tooltip.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/layout/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/layout/__init__.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/layout/base.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/layout/base.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/layout/box.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/layout/box.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/layout/center.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/layout/center.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/layout/container.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/layout/container.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/layout/flex.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/layout/flex.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/layout/grid.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/layout/grid.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/layout/list.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/layout/list.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/layout/section.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/layout/section.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/layout/spacer.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/layout/spacer.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/layout/stack.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/layout/stack.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/typography/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/typography/__init__.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/typography/base.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/typography/blockquote.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/typography/blockquote.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/typography/code.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/typography/code.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/typography/heading.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/typography/heading.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/typography/link.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/typography/link.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/typography/text.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/radix/themes/typography/text.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/react_player/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/react_player/audio.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/react_player/audio.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/react_player/react_player.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/react_player/react_player.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/react_player/video.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/react_player/video.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/recharts/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/recharts/__init__.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/recharts/cartesian.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/recharts/cartesian.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/recharts/charts.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/recharts/charts.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/recharts/general.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/recharts/general.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/recharts/polar.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/recharts/polar.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/recharts/recharts.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/recharts/recharts.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/sonner/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/sonner/toast.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/sonner/toast.pyi +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/tags/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/tags/cond_tag.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/tags/iter_tag.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/tags/match_tag.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/tags/tag.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/components/tags/tagless.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/constants/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/constants/base.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/constants/colors.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/constants/compiler.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/constants/config.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/constants/custom_components.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/constants/event.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/constants/route.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/constants/state.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/constants/utils.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/custom_components/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/custom_components/custom_components.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/event.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/experimental/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/experimental/client_state.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/experimental/hooks.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/istate/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/istate/data.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/istate/dynamic.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/istate/manager.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/istate/proxy.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/istate/storage.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/istate/wrappers.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/middleware/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/middleware/hydrate_middleware.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/middleware/middleware.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/model.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/page.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/plugins/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/plugins/base.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/plugins/shared_tailwind.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/plugins/sitemap.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/plugins/tailwind_v3.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/plugins/tailwind_v4.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/py.typed +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/reflex.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/route.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/state.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/style.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/testing.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/utils/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/utils/build.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/utils/codespaces.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/utils/compat.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/utils/console.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/utils/decorator.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/utils/exceptions.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/utils/export.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/utils/format.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/utils/imports.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/utils/lazy_loader.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/utils/net.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/utils/path_ops.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/utils/prerequisites.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/utils/pyi_generator.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/utils/redir.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/utils/registry.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/utils/serializers.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/utils/telemetry.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/utils/types.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/vars/__init__.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/vars/base.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/vars/datetime.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/vars/dep_tracking.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/vars/function.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/vars/number.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/vars/object.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/vars/sequence.py +0 -0
- {reflex-0.8.0a6 → reflex-0.8.0.post1}/scripts/hatch_build.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: reflex
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.0.post1
|
|
4
4
|
Summary: Web apps in pure Python.
|
|
5
5
|
Project-URL: homepage, https://reflex.dev
|
|
6
6
|
Project-URL: repository, https://github.com/reflex-dev/reflex
|
|
@@ -21,7 +21,7 @@ Requires-Python: <4.0,>=3.10
|
|
|
21
21
|
Requires-Dist: alembic<2.0,>=1.15.2
|
|
22
22
|
Requires-Dist: click>=8.2
|
|
23
23
|
Requires-Dist: fastapi>=0.115.0
|
|
24
|
-
Requires-Dist: granian[reload]>=2.
|
|
24
|
+
Requires-Dist: granian[reload]>=2.4.0
|
|
25
25
|
Requires-Dist: httpx<1.0,>=0.28.0
|
|
26
26
|
Requires-Dist: jinja2<4.0,>=3.1.2
|
|
27
27
|
Requires-Dist: packaging<26,>=24.2
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "reflex"
|
|
3
|
-
version = "0.8.
|
|
3
|
+
version = "0.8.0post1"
|
|
4
4
|
description = "Web apps in pure Python."
|
|
5
5
|
license.text = "Apache-2.0"
|
|
6
6
|
authors = [
|
|
@@ -22,7 +22,7 @@ requires-python = ">=3.10,<4.0"
|
|
|
22
22
|
dependencies = [
|
|
23
23
|
"alembic >=1.15.2,<2.0",
|
|
24
24
|
"fastapi >=0.115.0",
|
|
25
|
-
"granian[reload] >=2.
|
|
25
|
+
"granian[reload] >=2.4.0",
|
|
26
26
|
"httpx >=0.28.0,<1.0",
|
|
27
27
|
"jinja2 >=3.1.2,<4.0",
|
|
28
28
|
"packaging >=24.2,<26",
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/* vite-plugin-safari-cachebust.js
|
|
2
|
+
*
|
|
3
|
+
* Rewrite modulepreload <link> tags and ESM imports to include a cache-busting
|
|
4
|
+
* query parameter for Safari browser.
|
|
5
|
+
*
|
|
6
|
+
* https://github.com/remix-run/react-router/issues/12761
|
|
7
|
+
*
|
|
8
|
+
* The issue seems to be Safari over-aggressive caching of ESM imports (and modulepreload)
|
|
9
|
+
* which does not respect the cache-control headers sent by the server. This approach
|
|
10
|
+
* allows hot reload to work in Safari when adding routes or changing dependencies.
|
|
11
|
+
*
|
|
12
|
+
* No equivalent transformation is needed for production builds, as the
|
|
13
|
+
* output already contains the file hash in the name.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @typedef {import('vite').Plugin} Plugin
|
|
18
|
+
* @typedef {import('vite').ViteDevServer} ViteDevServer
|
|
19
|
+
* @typedef {import('http').IncomingMessage} IncomingMessage
|
|
20
|
+
* @typedef {import('http').ServerResponse} ServerResponse
|
|
21
|
+
* @typedef {import('connect').NextHandleFunction} NextHandleFunction
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
const pluginName = "vite-plugin-safari-cachebust";
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Creates a Vite plugin that adds cache-busting for Safari browsers
|
|
28
|
+
* @returns {Plugin} The Vite plugin
|
|
29
|
+
*/
|
|
30
|
+
export default function safariCacheBustPlugin() {
|
|
31
|
+
return {
|
|
32
|
+
name: pluginName,
|
|
33
|
+
/**
|
|
34
|
+
* Configure the dev server with the Safari middleware
|
|
35
|
+
* @param {ViteDevServer} server - The Vite dev server instance
|
|
36
|
+
*/
|
|
37
|
+
configureServer(server) {
|
|
38
|
+
server.middlewares.use(createSafariMiddleware());
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Determines if the user agent is Safari
|
|
45
|
+
* @param {string} ua - The user agent string
|
|
46
|
+
* @returns {boolean} True if the browser is Safari
|
|
47
|
+
*/
|
|
48
|
+
function isSafari(ua) {
|
|
49
|
+
return /Safari/.test(ua) && !/Chrome/.test(ua);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Creates a middleware that adds cache-busting for Safari browsers
|
|
54
|
+
* @returns {NextHandleFunction} The middleware function
|
|
55
|
+
*/
|
|
56
|
+
function createSafariMiddleware() {
|
|
57
|
+
// Set when a log message for rewriting n links has been emitted.
|
|
58
|
+
let _have_logged_n = -1;
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Rewrites module import links in HTML content with cache-busting parameters
|
|
62
|
+
* @param {string} html - The HTML content to process
|
|
63
|
+
* @returns {string} The processed HTML content
|
|
64
|
+
*/
|
|
65
|
+
function rewriteModuleImports(html) {
|
|
66
|
+
const currentTimestamp = new Date().getTime();
|
|
67
|
+
const parts = html.split(/(<link\s+rel="modulepreload"[^>]*>)/g);
|
|
68
|
+
/** @type {[string, string][]} */
|
|
69
|
+
const replacements = parts
|
|
70
|
+
.map((chunk) => {
|
|
71
|
+
const match = chunk.match(
|
|
72
|
+
/<link\s+rel="modulepreload"\s+href="([^"]+)"(.*?)\/?>/,
|
|
73
|
+
);
|
|
74
|
+
if (!match) return;
|
|
75
|
+
|
|
76
|
+
const [fullMatch, href, rest] = match;
|
|
77
|
+
if (/^(https?:)?\/\//.test(href)) return;
|
|
78
|
+
|
|
79
|
+
try {
|
|
80
|
+
const newHref = href.includes("?")
|
|
81
|
+
? `${href}&__reflex_ts=${currentTimestamp}`
|
|
82
|
+
: `${href}?__reflex_ts=${currentTimestamp}`;
|
|
83
|
+
return [href, newHref];
|
|
84
|
+
} catch {
|
|
85
|
+
// no worries;
|
|
86
|
+
}
|
|
87
|
+
})
|
|
88
|
+
.filter(Boolean);
|
|
89
|
+
if (replacements.length && _have_logged_n !== replacements.length) {
|
|
90
|
+
_have_logged_n = replacements.length;
|
|
91
|
+
console.debug(
|
|
92
|
+
`[${pluginName}] Rewrote ${replacements.length} modulepreload links with __reflex_ts param.`,
|
|
93
|
+
);
|
|
94
|
+
}
|
|
95
|
+
return replacements.reduce((accumulator, [target, replacement]) => {
|
|
96
|
+
return accumulator.split(target).join(replacement);
|
|
97
|
+
}, html);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Middleware function to handle Safari cache busting
|
|
102
|
+
* @param {IncomingMessage} req - The incoming request
|
|
103
|
+
* @param {ServerResponse} res - The server response
|
|
104
|
+
* @param {(err?: any) => void} next - The next middleware function
|
|
105
|
+
* @returns {void}
|
|
106
|
+
*/
|
|
107
|
+
return function safariCacheBustMiddleware(req, res, next) {
|
|
108
|
+
const ua = req.headers["user-agent"] || "";
|
|
109
|
+
// Remove our special cache bust query param to avoid affecting lower middleware layers.
|
|
110
|
+
if (
|
|
111
|
+
req.url &&
|
|
112
|
+
(req.url.includes("?__reflex_ts=") || req.url.includes("&__reflex_ts="))
|
|
113
|
+
) {
|
|
114
|
+
req.url = req.url.replace(/(\?|&)__reflex_ts=\d+/, "");
|
|
115
|
+
return next();
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// Only apply this middleware for Safari browsers.
|
|
119
|
+
if (!isSafari(ua)) return next();
|
|
120
|
+
|
|
121
|
+
// Only transform requests that want HTML.
|
|
122
|
+
const header_accept = req.headers["accept"] || "";
|
|
123
|
+
if (
|
|
124
|
+
typeof header_accept !== "string" ||
|
|
125
|
+
!header_accept.includes("text/html")
|
|
126
|
+
) {
|
|
127
|
+
return next();
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
let buffer = "";
|
|
131
|
+
const _end = res.end.bind(res);
|
|
132
|
+
|
|
133
|
+
res.setHeader("x-modified-by", "vite-plugin-safari-cachebust");
|
|
134
|
+
/**
|
|
135
|
+
* Overridden write method to collect chunks
|
|
136
|
+
* @param {any} chunk - The chunk to write
|
|
137
|
+
* @param {...any} args - Additional arguments
|
|
138
|
+
* @returns {boolean} Result of the write operation
|
|
139
|
+
*/
|
|
140
|
+
res.write = function (chunk, ...args) {
|
|
141
|
+
buffer += chunk instanceof Buffer ? chunk.toString("utf-8") : chunk;
|
|
142
|
+
return true;
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Overridden end method to process and send the final response
|
|
147
|
+
* @param {any} chunk - The final chunk to write
|
|
148
|
+
* @param {...any} args - Additional arguments
|
|
149
|
+
* @returns {ServerResponse<IncomingMessage>} The server response
|
|
150
|
+
*/
|
|
151
|
+
res.end = function (chunk, ...args) {
|
|
152
|
+
if (chunk) {
|
|
153
|
+
buffer += chunk instanceof Buffer ? chunk.toString("utf-8") : chunk;
|
|
154
|
+
}
|
|
155
|
+
buffer = rewriteModuleImports(buffer);
|
|
156
|
+
return _end(buffer, ...args);
|
|
157
|
+
};
|
|
158
|
+
return next();
|
|
159
|
+
};
|
|
160
|
+
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { fileURLToPath, URL } from "url";
|
|
2
2
|
import { reactRouter } from "@react-router/dev/vite";
|
|
3
3
|
import { defineConfig } from "vite";
|
|
4
|
+
import safariCacheBustPlugin from "./vite-plugin-safari-cachebust";
|
|
4
5
|
|
|
5
6
|
export default defineConfig((config) => ({
|
|
6
|
-
plugins: [reactRouter()],
|
|
7
|
+
plugins: [reactRouter(), safariCacheBustPlugin()],
|
|
7
8
|
build: {
|
|
8
9
|
rollupOptions: {
|
|
9
10
|
jsx: {},
|
|
@@ -19,7 +19,12 @@ from reflex.base import Base
|
|
|
19
19
|
from reflex.constants.base import LogLevel
|
|
20
20
|
from reflex.environment import EnvironmentVariables as EnvironmentVariables
|
|
21
21
|
from reflex.environment import EnvVar as EnvVar
|
|
22
|
-
from reflex.environment import
|
|
22
|
+
from reflex.environment import (
|
|
23
|
+
ExistingPath,
|
|
24
|
+
_load_dotenv_from_files,
|
|
25
|
+
_paths_from_env_files,
|
|
26
|
+
interpret_env_var_value,
|
|
27
|
+
)
|
|
23
28
|
from reflex.environment import env_var as env_var
|
|
24
29
|
from reflex.environment import environment as environment
|
|
25
30
|
from reflex.plugins import Plugin
|
|
@@ -27,40 +32,6 @@ from reflex.utils import console
|
|
|
27
32
|
from reflex.utils.exceptions import ConfigError
|
|
28
33
|
from reflex.utils.types import true_type_for_pydantic_field
|
|
29
34
|
|
|
30
|
-
try:
|
|
31
|
-
from dotenv import load_dotenv
|
|
32
|
-
except ImportError:
|
|
33
|
-
load_dotenv = None
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
def _load_dotenv_from_str(env_files: str) -> None:
|
|
37
|
-
if not env_files:
|
|
38
|
-
return
|
|
39
|
-
|
|
40
|
-
if load_dotenv is None:
|
|
41
|
-
console.error(
|
|
42
|
-
"""The `python-dotenv` package is required to load environment variables from a file. Run `pip install "python-dotenv>=1.1.0"`."""
|
|
43
|
-
)
|
|
44
|
-
return
|
|
45
|
-
|
|
46
|
-
# load env files in reverse order if they exist
|
|
47
|
-
for env_file_path in [
|
|
48
|
-
Path(p) for s in reversed(env_files.split(os.pathsep)) if (p := s.strip())
|
|
49
|
-
]:
|
|
50
|
-
if env_file_path.exists():
|
|
51
|
-
load_dotenv(env_file_path, override=True)
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
def _load_dotenv_from_env():
|
|
55
|
-
"""Load environment variables from paths specified in REFLEX_ENV_FILE."""
|
|
56
|
-
env_env_file = os.environ.get("REFLEX_ENV_FILE")
|
|
57
|
-
if env_env_file:
|
|
58
|
-
_load_dotenv_from_str(env_env_file)
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
# Load the env files at import time if they are set in the ENV_FILE environment variable.
|
|
62
|
-
_load_dotenv_from_env()
|
|
63
|
-
|
|
64
35
|
|
|
65
36
|
class DBConfig(Base):
|
|
66
37
|
"""Database config."""
|
|
@@ -358,7 +329,7 @@ class Config(Base):
|
|
|
358
329
|
The updated config values.
|
|
359
330
|
"""
|
|
360
331
|
if self.env_file:
|
|
361
|
-
|
|
332
|
+
_load_dotenv_from_files(_paths_from_env_files(self.env_file))
|
|
362
333
|
|
|
363
334
|
updated_values = {}
|
|
364
335
|
# Iterate over the fields.
|
|
@@ -606,3 +606,73 @@ class EnvironmentVariables:
|
|
|
606
606
|
|
|
607
607
|
|
|
608
608
|
environment = EnvironmentVariables()
|
|
609
|
+
|
|
610
|
+
try:
|
|
611
|
+
from dotenv import load_dotenv
|
|
612
|
+
except ImportError:
|
|
613
|
+
load_dotenv = None
|
|
614
|
+
|
|
615
|
+
|
|
616
|
+
def _paths_from_env_files(env_files: str) -> list[Path]:
|
|
617
|
+
"""Convert a string of paths separated by os.pathsep into a list of Path objects.
|
|
618
|
+
|
|
619
|
+
Args:
|
|
620
|
+
env_files: The string of paths.
|
|
621
|
+
|
|
622
|
+
Returns:
|
|
623
|
+
A list of Path objects.
|
|
624
|
+
"""
|
|
625
|
+
# load env files in reverse order
|
|
626
|
+
return list(
|
|
627
|
+
reversed(
|
|
628
|
+
[
|
|
629
|
+
Path(path)
|
|
630
|
+
for path_element in env_files.split(os.pathsep)
|
|
631
|
+
if (path := path_element.strip())
|
|
632
|
+
]
|
|
633
|
+
)
|
|
634
|
+
)
|
|
635
|
+
|
|
636
|
+
|
|
637
|
+
def _load_dotenv_from_files(files: list[Path]):
|
|
638
|
+
"""Load environment variables from a list of files.
|
|
639
|
+
|
|
640
|
+
Args:
|
|
641
|
+
files: A list of Path objects representing the environment variable files.
|
|
642
|
+
"""
|
|
643
|
+
from reflex.utils import console
|
|
644
|
+
|
|
645
|
+
if not files:
|
|
646
|
+
return
|
|
647
|
+
|
|
648
|
+
if load_dotenv is None:
|
|
649
|
+
console.error(
|
|
650
|
+
"""The `python-dotenv` package is required to load environment variables from a file. Run `pip install "python-dotenv>=1.1.0"`."""
|
|
651
|
+
)
|
|
652
|
+
return
|
|
653
|
+
|
|
654
|
+
for env_file in files:
|
|
655
|
+
if env_file.exists():
|
|
656
|
+
load_dotenv(env_file, override=True)
|
|
657
|
+
|
|
658
|
+
|
|
659
|
+
def _paths_from_environment() -> list[Path]:
|
|
660
|
+
"""Get the paths from the REFLEX_ENV_FILE environment variable.
|
|
661
|
+
|
|
662
|
+
Returns:
|
|
663
|
+
A list of Path objects.
|
|
664
|
+
"""
|
|
665
|
+
env_files = os.environ.get("REFLEX_ENV_FILE")
|
|
666
|
+
if not env_files:
|
|
667
|
+
return []
|
|
668
|
+
|
|
669
|
+
return _paths_from_env_files(env_files)
|
|
670
|
+
|
|
671
|
+
|
|
672
|
+
def _load_dotenv_from_env():
|
|
673
|
+
"""Load environment variables from paths specified in REFLEX_ENV_FILE."""
|
|
674
|
+
_load_dotenv_from_files(_paths_from_environment())
|
|
675
|
+
|
|
676
|
+
|
|
677
|
+
# Load the env files at import time if they are set in the ENV_FILE environment variable.
|
|
678
|
+
_load_dotenv_from_env()
|
|
@@ -519,9 +519,11 @@ def run_granian_backend(host: str, port: int, loglevel: LogLevel):
|
|
|
519
519
|
|
|
520
520
|
from granian.constants import Interfaces
|
|
521
521
|
from granian.log import LogLevels
|
|
522
|
-
from granian.server import
|
|
522
|
+
from granian.server import Server as Granian
|
|
523
523
|
|
|
524
|
-
|
|
524
|
+
from reflex.environment import _paths_from_environment
|
|
525
|
+
|
|
526
|
+
granian_app = Granian(
|
|
525
527
|
target=get_app_instance_from_file(),
|
|
526
528
|
factory=True,
|
|
527
529
|
address=host,
|
|
@@ -533,8 +535,11 @@ def run_granian_backend(host: str, port: int, loglevel: LogLevel):
|
|
|
533
535
|
reload_ignore_worker_failure=True,
|
|
534
536
|
reload_ignore_patterns=HOTRELOAD_IGNORE_PATTERNS,
|
|
535
537
|
reload_tick=100,
|
|
538
|
+
env_files=_paths_from_environment() or None,
|
|
536
539
|
workers_kill_timeout=2,
|
|
537
|
-
)
|
|
540
|
+
)
|
|
541
|
+
|
|
542
|
+
granian_app.serve()
|
|
538
543
|
|
|
539
544
|
|
|
540
545
|
def run_backend_prod(
|
|
@@ -31,14 +31,13 @@ def get_module_path(module_name: str) -> Path | None:
|
|
|
31
31
|
for i, part in enumerate(parts):
|
|
32
32
|
potential_file = current_path / (part + ".py")
|
|
33
33
|
potential_dir = current_path / part
|
|
34
|
-
potential_init = current_path / part / "__init__.py"
|
|
35
34
|
|
|
36
35
|
if potential_file.is_file():
|
|
37
36
|
# We encountered a file, but we can't continue deeper
|
|
38
37
|
if i == len(parts) - 1:
|
|
39
38
|
return potential_file
|
|
40
39
|
return None # Can't continue deeper
|
|
41
|
-
if potential_dir.is_dir()
|
|
40
|
+
if potential_dir.is_dir():
|
|
42
41
|
# It's a package, so we can continue deeper
|
|
43
42
|
current_path = potential_dir
|
|
44
43
|
else:
|
|
@@ -15,6 +15,7 @@ from pathlib import Path
|
|
|
15
15
|
from typing import Any, Literal, overload
|
|
16
16
|
|
|
17
17
|
import click
|
|
18
|
+
import rich.markup
|
|
18
19
|
from redis.exceptions import RedisError
|
|
19
20
|
from rich.progress import Progress
|
|
20
21
|
|
|
@@ -61,8 +62,16 @@ def is_process_on_port(port: int) -> bool:
|
|
|
61
62
|
Returns:
|
|
62
63
|
Whether a process is running on the given port.
|
|
63
64
|
"""
|
|
65
|
+
# Test IPv4 localhost (127.0.0.1)
|
|
64
66
|
with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as sock:
|
|
65
|
-
|
|
67
|
+
ipv4_result = sock.connect_ex(("127.0.0.1", port)) == 0
|
|
68
|
+
|
|
69
|
+
# Test IPv6 localhost (::1)
|
|
70
|
+
with closing(socket.socket(socket.AF_INET6, socket.SOCK_STREAM)) as sock:
|
|
71
|
+
ipv6_result = sock.connect_ex(("::1", port)) == 0
|
|
72
|
+
|
|
73
|
+
# Port is in use if either IPv4 or IPv6 is listening
|
|
74
|
+
return ipv4_result or ipv6_result
|
|
66
75
|
|
|
67
76
|
|
|
68
77
|
def change_port(port: int, _type: str) -> int:
|
|
@@ -273,7 +282,7 @@ def stream_logs(
|
|
|
273
282
|
return
|
|
274
283
|
try:
|
|
275
284
|
for line in process.stdout:
|
|
276
|
-
console.debug(line, end="", progress=progress)
|
|
285
|
+
console.debug(rich.markup.escape(line), end="", progress=progress)
|
|
277
286
|
logs.append(line)
|
|
278
287
|
yield line
|
|
279
288
|
except ValueError:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/jinja/custom_components/README.md.jinja2
RENAMED
|
File without changes
|
{reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/jinja/custom_components/__init__.py.jinja2
RENAMED
|
File without changes
|
{reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/jinja/custom_components/demo_app.py.jinja2
RENAMED
|
File without changes
|
|
File without changes
|
{reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/jinja/custom_components/src.py.jinja2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/jinja/web/pages/custom_component.js.jinja2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reflex-0.8.0a6 → reflex-0.8.0.post1}/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|