omdev 0.0.0.dev233__tar.gz → 0.0.0.dev235__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.
- {omdev-0.0.0.dev233/omdev.egg-info → omdev-0.0.0.dev235}/PKG-INFO +2 -2
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/.manifests.json +1 -1
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cmake.py +0 -5
- {omdev-0.0.0.dev233/omdev → omdev-0.0.0.dev235/omdev/packaging}/revisions.py +1 -1
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/pyproject/pkg.py +1 -1
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/scripts/pyproject.py +2 -2
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tools/git/cli.py +21 -6
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tools/git/messages.py +26 -6
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235/omdev.egg-info}/PKG-INFO +2 -2
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev.egg-info/SOURCES.txt +2 -2
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev.egg-info/requires.txt +1 -1
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/pyproject.toml +2 -2
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/LICENSE +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/MANIFEST.in +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/README.rst +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/__about__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/amalg/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/amalg/__main__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/amalg/gen.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/amalg/imports.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/amalg/main.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/amalg/manifests.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/amalg/resources.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/amalg/srcfiles.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/amalg/strip.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/amalg/types.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/amalg/typing.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/antlr/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/antlr/consts.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/antlr/gen.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/bracepy.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cache/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cache/compute/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cache/compute/cache.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cache/compute/contexts.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cache/compute/currents.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cache/compute/fns.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cache/compute/resolvers.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cache/compute/storage.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cache/compute/types.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cache/data/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cache/data/actions.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cache/data/cache.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cache/data/consts.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cache/data/defaults.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cache/data/manifests.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cache/data/specs.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cc/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cc/__main__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cc/cdeps.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cc/cdeps.toml +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cc/cli.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cexts/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cexts/_boilerplate.cc +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cexts/_distutils/LICENSE +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cexts/_distutils/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cexts/_distutils/build_ext.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cexts/_distutils/compilers/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cexts/_distutils/compilers/ccompiler.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cexts/_distutils/compilers/options.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cexts/_distutils/compilers/unixccompiler.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cexts/_distutils/dir_util.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cexts/_distutils/errors.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cexts/_distutils/extension.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cexts/_distutils/file_util.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cexts/_distutils/modified.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cexts/_distutils/spawn.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cexts/_distutils/sysconfig.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cexts/_distutils/util.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cexts/_distutils/version.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cexts/build.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cexts/cmake.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cexts/importhook.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cexts/magic.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cexts/scan.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ci/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ci/__main__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ci/cache.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ci/ci.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ci/cli.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ci/compose.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ci/consts.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ci/docker/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ci/docker/buildcaching.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ci/docker/cache.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ci/docker/cacheserved.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ci/docker/cmds.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ci/docker/dataserver.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ci/docker/imagepulling.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ci/docker/inject.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ci/docker/packing.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ci/docker/repositories.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ci/docker/utils.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ci/github/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ci/github/api.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ci/github/bootstrap.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ci/github/cache.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ci/github/cli.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ci/github/client.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ci/github/env.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ci/github/inject.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ci/inject.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ci/requirements.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ci/shell.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ci/utils.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/classdot.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cli/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cli/__main__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cli/_pathhack.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cli/clicli.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cli/install.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cli/main.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cli/managers.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/cli/types.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/clipboard/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/clipboard/clipboard.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/clipboard/darwin_cf.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/clipboard/linux_x11.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/dataserver/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/dataserver/handlers.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/dataserver/http.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/dataserver/routes.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/dataserver/server.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/dataserver/targets.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/findimports.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/git/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/git/revisions.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/git/shallow.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/git/status.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/home/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/home/paths.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/home/secrets.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/imgur.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/interp/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/interp/__main__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/interp/cli.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/interp/default.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/interp/inject.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/interp/inspect.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/interp/providers/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/interp/providers/base.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/interp/providers/inject.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/interp/providers/running.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/interp/providers/standalone.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/interp/providers/system.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/interp/pyenv/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/interp/pyenv/inject.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/interp/pyenv/install.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/interp/pyenv/provider.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/interp/pyenv/pyenv.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/interp/resolvers.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/interp/types.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/interp/uv/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/interp/uv/inject.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/interp/uv/provider.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/interp/uv/uv.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/interp/venvs.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/magic/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/magic/__main__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/magic/cli.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/magic/find.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/magic/magic.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/magic/prepare.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/magic/styles.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/manifests/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/manifests/__main__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/manifests/build.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/manifests/main.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/mypy/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/mypy/debug.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/oci/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/oci/building.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/oci/compression.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/oci/data.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/oci/datarefs.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/oci/dataserver.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/oci/loading.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/oci/media.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/oci/pack/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/oci/pack/packing.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/oci/pack/repositories.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/oci/pack/unpacking.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/oci/repositories.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/oci/tars.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/packaging/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/packaging/marshal.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/packaging/names.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/packaging/requires.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/packaging/specifiers.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/packaging/versions.py +0 -0
- {omdev-0.0.0.dev233/omdev → omdev-0.0.0.dev235/omdev/packaging}/wheelfile.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/pip.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/precheck/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/precheck/__main__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/precheck/base.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/precheck/git.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/precheck/lite.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/precheck/main.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/precheck/manifests.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/precheck/scripts.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ptk/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ptk/apps/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/ptk/apps/ncdu.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/pycharm/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/pycharm/__main__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/pycharm/cli.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/pyproject/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/pyproject/__main__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/pyproject/cexts.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/pyproject/cli.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/pyproject/configs.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/pyproject/inject.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/pyproject/reqs.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/pyproject/resources/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/pyproject/resources/docker-dev.sh +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/pyproject/resources/python.sh +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/pyproject/venvs.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/scripts/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/scripts/bumpversion.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/scripts/ci.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/scripts/execrss.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/scripts/exectime.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/scripts/importtrace.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/scripts/interp.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/scripts/slowcat.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/scripts/tmpexec.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tagstrings.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tokens/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tokens/all.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tokens/tokenizert.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tokens/utils.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tools/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tools/cloc.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tools/doc.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tools/docker.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tools/git/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tools/git/__main__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tools/importscan.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tools/json/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tools/json/__main__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tools/json/cli.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tools/json/formats.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tools/json/io.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tools/json/parsing.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tools/json/processing.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tools/json/rendering.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tools/linehisto.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tools/mkenv.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tools/mkrelimp.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tools/notebook.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tools/pawk/__init__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tools/pawk/__main__.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tools/pawk/pawk.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tools/pip.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tools/prof.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tools/qr.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev/tools/sqlrepl.py +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev.egg-info/dependency_links.txt +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev.egg-info/entry_points.txt +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/omdev.egg-info/top_level.txt +0 -0
- {omdev-0.0.0.dev233 → omdev-0.0.0.dev235}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: omdev
|
|
3
|
-
Version: 0.0.0.
|
|
3
|
+
Version: 0.0.0.dev235
|
|
4
4
|
Summary: omdev
|
|
5
5
|
Author: wrmsr
|
|
6
6
|
License: BSD-3-Clause
|
|
@@ -12,7 +12,7 @@ Classifier: Operating System :: OS Independent
|
|
|
12
12
|
Classifier: Operating System :: POSIX
|
|
13
13
|
Requires-Python: >=3.12
|
|
14
14
|
License-File: LICENSE
|
|
15
|
-
Requires-Dist: omlish==0.0.0.
|
|
15
|
+
Requires-Dist: omlish==0.0.0.dev235
|
|
16
16
|
Provides-Extra: all
|
|
17
17
|
Requires-Dist: black~=25.1; extra == "all"
|
|
18
18
|
Requires-Dist: pycparser~=2.22; extra == "all"
|
|
@@ -291,7 +291,7 @@
|
|
|
291
291
|
"module": ".tools.git.messages",
|
|
292
292
|
"attr": "_TIMESTAMP_GIT_MESSAGE_GENERATOR_MANIFEST",
|
|
293
293
|
"file": "omdev/tools/git/messages.py",
|
|
294
|
-
"line":
|
|
294
|
+
"line": 74,
|
|
295
295
|
"value": {
|
|
296
296
|
"$.tools.git.messages.GitMessageGeneratorManifest": {
|
|
297
297
|
"mod_name": "omdev.tools.git.messages",
|
|
@@ -45,7 +45,6 @@ class Target(abc.ABC):
|
|
|
45
45
|
|
|
46
46
|
@dc.dataclass(frozen=True)
|
|
47
47
|
class Library(Target):
|
|
48
|
-
|
|
49
48
|
@property
|
|
50
49
|
def command_name(self) -> str:
|
|
51
50
|
return 'add_library'
|
|
@@ -53,7 +52,6 @@ class Library(Target):
|
|
|
53
52
|
|
|
54
53
|
@dc.dataclass(frozen=True)
|
|
55
54
|
class StaticLibrary(Library):
|
|
56
|
-
|
|
57
55
|
@property
|
|
58
56
|
def command_extra(self) -> ta.Sequence[str]:
|
|
59
57
|
return ['STATIC']
|
|
@@ -61,7 +59,6 @@ class StaticLibrary(Library):
|
|
|
61
59
|
|
|
62
60
|
@dc.dataclass(frozen=True)
|
|
63
61
|
class ModuleLibrary(Library):
|
|
64
|
-
|
|
65
62
|
@property
|
|
66
63
|
def command_extra(self) -> ta.Sequence[str]:
|
|
67
64
|
return ['MODULE']
|
|
@@ -69,14 +66,12 @@ class ModuleLibrary(Library):
|
|
|
69
66
|
|
|
70
67
|
@dc.dataclass(frozen=True)
|
|
71
68
|
class Executable(Target):
|
|
72
|
-
|
|
73
69
|
@property
|
|
74
70
|
def command_name(self) -> str:
|
|
75
71
|
return 'add_executable'
|
|
76
72
|
|
|
77
73
|
|
|
78
74
|
class CmakeGen:
|
|
79
|
-
|
|
80
75
|
def __init__(
|
|
81
76
|
self,
|
|
82
77
|
out: ta.TextIO,
|
|
@@ -17,7 +17,7 @@ from omlish.lite.check import check
|
|
|
17
17
|
from omlish.lite.logs import log
|
|
18
18
|
from omlish.logs.standard import configure_standard_logging
|
|
19
19
|
|
|
20
|
-
from
|
|
20
|
+
from ..git.revisions import get_git_revision
|
|
21
21
|
from .wheelfile import WheelFile
|
|
22
22
|
|
|
23
23
|
|
|
@@ -624,7 +624,7 @@ def canonicalize_version(
|
|
|
624
624
|
|
|
625
625
|
|
|
626
626
|
########################################
|
|
627
|
-
# ../../wheelfile.py
|
|
627
|
+
# ../../packaging/wheelfile.py
|
|
628
628
|
# https://github.com/pypa/wheel/blob/7bb46d7727e6e89fe56b3c78297b3af2672bbbe2/src/wheel/wheelfile.py
|
|
629
629
|
# MIT License
|
|
630
630
|
#
|
|
@@ -7236,7 +7236,7 @@ class Pyenv:
|
|
|
7236
7236
|
|
|
7237
7237
|
|
|
7238
7238
|
########################################
|
|
7239
|
-
# ../../revisions.py
|
|
7239
|
+
# ../../packaging/revisions.py
|
|
7240
7240
|
"""
|
|
7241
7241
|
TODO:
|
|
7242
7242
|
- omlish-lite, move to pyproject/
|
|
@@ -15,8 +15,10 @@ from omlish.logs import all as logs
|
|
|
15
15
|
|
|
16
16
|
from ...git.status import GitStatusItem
|
|
17
17
|
from ...git.status import get_git_status
|
|
18
|
+
from .messages import GitMessageGenerator
|
|
18
19
|
from .messages import TimestampGitMessageGenerator
|
|
19
20
|
from .messages import load_message_generator_manifests
|
|
21
|
+
from .messages import load_message_generator_manifests_map
|
|
20
22
|
|
|
21
23
|
|
|
22
24
|
##
|
|
@@ -189,7 +191,9 @@ class Cli(ap.Cli):
|
|
|
189
191
|
|
|
190
192
|
@ap.cmd(
|
|
191
193
|
ap.arg('-m', '--message', nargs='?'),
|
|
192
|
-
ap.arg('--
|
|
194
|
+
ap.arg('-g', '--message-generator', nargs='?'),
|
|
195
|
+
ap.arg('--time-fmt', default=GitMessageGenerator.GenerateCommitMessageArgs.DEFAULT_TIME_FMT),
|
|
196
|
+
ap.arg('--dry-run', action='store_true'),
|
|
193
197
|
ap.arg('dir', nargs='*'),
|
|
194
198
|
aliases=['acp'],
|
|
195
199
|
)
|
|
@@ -198,16 +202,27 @@ class Cli(ap.Cli):
|
|
|
198
202
|
st = get_git_status(cwd=cwd)
|
|
199
203
|
|
|
200
204
|
if st.has_dirty:
|
|
201
|
-
|
|
205
|
+
if not self.args.dry_run:
|
|
206
|
+
subprocess.check_call(['git', 'add', '.'], cwd=cwd)
|
|
202
207
|
|
|
203
208
|
if st.has_staged or st.has_dirty:
|
|
204
209
|
if self.args.message is not None:
|
|
205
210
|
msg = self.args.message
|
|
206
211
|
else:
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
212
|
+
mg_cls: type[GitMessageGenerator] = TimestampGitMessageGenerator
|
|
213
|
+
if (mg_name := self.args.message_generator) is not None:
|
|
214
|
+
mg_cls = load_message_generator_manifests_map()[mg_name].get_cls()
|
|
215
|
+
mg = mg_cls()
|
|
216
|
+
msg = mg.generate_commit_message(GitMessageGenerator.GenerateCommitMessageArgs(
|
|
217
|
+
cwd=cwd,
|
|
218
|
+
time_fmt=self.args.time_fmt,
|
|
219
|
+
))
|
|
220
|
+
|
|
221
|
+
if not self.args.dry_run:
|
|
222
|
+
subprocess.check_call(['git', 'commit', '-m', msg], cwd=cwd)
|
|
223
|
+
|
|
224
|
+
if not self.args.dry_run:
|
|
225
|
+
subprocess.check_call(['git', 'push'], cwd=cwd)
|
|
211
226
|
|
|
212
227
|
if not self.args.dir:
|
|
213
228
|
run(None)
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import abc
|
|
2
2
|
import dataclasses as dc
|
|
3
|
+
import importlib
|
|
3
4
|
import os
|
|
4
5
|
import typing as ta
|
|
5
6
|
|
|
6
7
|
from omlish import cached
|
|
8
|
+
from omlish import check
|
|
7
9
|
from omlish import lang
|
|
8
10
|
from omlish.manifests import load as manifest_load
|
|
9
11
|
|
|
@@ -12,8 +14,15 @@ from omlish.manifests import load as manifest_load
|
|
|
12
14
|
|
|
13
15
|
|
|
14
16
|
class GitMessageGenerator(abc.ABC):
|
|
17
|
+
@dc.dataclass(frozen=True, kw_only=True)
|
|
18
|
+
class GenerateCommitMessageArgs:
|
|
19
|
+
cwd: str | None = None
|
|
20
|
+
|
|
21
|
+
DEFAULT_TIME_FMT: ta.ClassVar[str] = '%Y-%m-%dT%H:%M:%SZ'
|
|
22
|
+
time_fmt: str = DEFAULT_TIME_FMT
|
|
23
|
+
|
|
15
24
|
@abc.abstractmethod
|
|
16
|
-
def generate_commit_message(self) -> str:
|
|
25
|
+
def generate_commit_message(self, args: GenerateCommitMessageArgs) -> str:
|
|
17
26
|
raise NotImplementedError
|
|
18
27
|
|
|
19
28
|
|
|
@@ -27,6 +36,10 @@ class GitMessageGeneratorManifest:
|
|
|
27
36
|
name: str
|
|
28
37
|
aliases: ta.Collection[str] | None = None
|
|
29
38
|
|
|
39
|
+
def get_cls(self) -> type[GitMessageGenerator]:
|
|
40
|
+
mod = importlib.import_module(self.mod_name)
|
|
41
|
+
return check.issubclass(getattr(mod, self.attr_name), GitMessageGenerator)
|
|
42
|
+
|
|
30
43
|
|
|
31
44
|
@cached.function
|
|
32
45
|
def load_message_generator_manifests() -> ta.Sequence[GitMessageGeneratorManifest]:
|
|
@@ -36,16 +49,23 @@ def load_message_generator_manifests() -> ta.Sequence[GitMessageGeneratorManifes
|
|
|
36
49
|
return [mf.value for mf in mfs]
|
|
37
50
|
|
|
38
51
|
|
|
52
|
+
@cached.function
|
|
53
|
+
def load_message_generator_manifests_map() -> ta.Mapping[str, GitMessageGeneratorManifest]:
|
|
54
|
+
dct: dict[str, GitMessageGeneratorManifest] = {}
|
|
55
|
+
for m in load_message_generator_manifests():
|
|
56
|
+
for n in (m.name, *(m.aliases or ())):
|
|
57
|
+
check.not_in(n, dct)
|
|
58
|
+
dct[n] = m
|
|
59
|
+
return dct
|
|
60
|
+
|
|
61
|
+
|
|
39
62
|
##
|
|
40
63
|
|
|
41
64
|
|
|
42
65
|
@dc.dataclass(frozen=True)
|
|
43
66
|
class TimestampGitMessageGenerator(GitMessageGenerator):
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
def generate_commit_message(self) -> str:
|
|
48
|
-
return lang.utcnow().strftime(self.time_fmt)
|
|
67
|
+
def generate_commit_message(self, args: GitMessageGenerator.GenerateCommitMessageArgs) -> str:
|
|
68
|
+
return lang.utcnow().strftime(args.time_fmt)
|
|
49
69
|
|
|
50
70
|
|
|
51
71
|
#
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: omdev
|
|
3
|
-
Version: 0.0.0.
|
|
3
|
+
Version: 0.0.0.dev235
|
|
4
4
|
Summary: omdev
|
|
5
5
|
Author: wrmsr
|
|
6
6
|
License: BSD-3-Clause
|
|
@@ -12,7 +12,7 @@ Classifier: Operating System :: OS Independent
|
|
|
12
12
|
Classifier: Operating System :: POSIX
|
|
13
13
|
Requires-Python: >=3.12
|
|
14
14
|
License-File: LICENSE
|
|
15
|
-
Requires-Dist: omlish==0.0.0.
|
|
15
|
+
Requires-Dist: omlish==0.0.0.dev235
|
|
16
16
|
Provides-Extra: all
|
|
17
17
|
Requires-Dist: black~=25.1; extra == "all"
|
|
18
18
|
Requires-Dist: pycparser~=2.22; extra == "all"
|
|
@@ -11,9 +11,7 @@ omdev/cmake.py
|
|
|
11
11
|
omdev/findimports.py
|
|
12
12
|
omdev/imgur.py
|
|
13
13
|
omdev/pip.py
|
|
14
|
-
omdev/revisions.py
|
|
15
14
|
omdev/tagstrings.py
|
|
16
|
-
omdev/wheelfile.py
|
|
17
15
|
omdev.egg-info/PKG-INFO
|
|
18
16
|
omdev.egg-info/SOURCES.txt
|
|
19
17
|
omdev.egg-info/dependency_links.txt
|
|
@@ -188,8 +186,10 @@ omdev/packaging/__init__.py
|
|
|
188
186
|
omdev/packaging/marshal.py
|
|
189
187
|
omdev/packaging/names.py
|
|
190
188
|
omdev/packaging/requires.py
|
|
189
|
+
omdev/packaging/revisions.py
|
|
191
190
|
omdev/packaging/specifiers.py
|
|
192
191
|
omdev/packaging/versions.py
|
|
192
|
+
omdev/packaging/wheelfile.py
|
|
193
193
|
omdev/precheck/__init__.py
|
|
194
194
|
omdev/precheck/__main__.py
|
|
195
195
|
omdev/precheck/base.py
|
|
@@ -12,7 +12,7 @@ authors = [
|
|
|
12
12
|
urls = {source = 'https://github.com/wrmsr/omlish'}
|
|
13
13
|
license = {text = 'BSD-3-Clause'}
|
|
14
14
|
requires-python = '>=3.12'
|
|
15
|
-
version = '0.0.0.
|
|
15
|
+
version = '0.0.0.dev235'
|
|
16
16
|
classifiers = [
|
|
17
17
|
'License :: OSI Approved :: BSD License',
|
|
18
18
|
'Development Status :: 2 - Pre-Alpha',
|
|
@@ -22,7 +22,7 @@ classifiers = [
|
|
|
22
22
|
]
|
|
23
23
|
description = 'omdev'
|
|
24
24
|
dependencies = [
|
|
25
|
-
'omlish == 0.0.0.
|
|
25
|
+
'omlish == 0.0.0.dev235',
|
|
26
26
|
]
|
|
27
27
|
|
|
28
28
|
[project.optional-dependencies]
|
|
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
|
|
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
|
|
File without changes
|