res2df 1.3.8__tar.gz → 1.3.9__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.
- {res2df-1.3.8 → res2df-1.3.9}/.github/workflows/res2df.yml +1 -1
- {res2df-1.3.8 → res2df-1.3.9}/.github/workflows/style.yml +6 -6
- {res2df-1.3.8 → res2df-1.3.9}/.github/workflows/typing.yml +10 -6
- {res2df-1.3.8 → res2df-1.3.9}/.pre-commit-config.yaml +1 -1
- {res2df-1.3.8/src/res2df.egg-info → res2df-1.3.9}/PKG-INFO +3 -2
- {res2df-1.3.8 → res2df-1.3.9}/README.md +1 -1
- {res2df-1.3.8 → res2df-1.3.9}/pyproject.toml +1 -1
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/grid.py +3 -3
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/rft.py +1 -2
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/version.py +3 -3
- {res2df-1.3.8 → res2df-1.3.9/src/res2df.egg-info}/PKG-INFO +3 -2
- {res2df-1.3.8 → res2df-1.3.9}/tests/test_logging.py +12 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/test_vfp.py +63 -72
- {res2df-1.3.8 → res2df-1.3.9}/.github/workflows/codecov.yml +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/.github/workflows/publish.yml +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/.gitignore +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/CONTRIBUTING.md +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/LICENSE +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/SECURITY.md +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/ci/testkomodo.sh +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/_static/equinor-logo.png +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/_static/equinor-logo2.jpg +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/_static/equinor_logo.jpg +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/_static/equinor_logo_only.jpg +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/_templates/layout.html +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/conf.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/contribution.rst +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/csv2res.rst +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/glossary.rst +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/history.rst +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/index.rst +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/installation.rst +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/introduction.rst +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/res2csv.rst +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/compdat.csv +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/compdat.rst +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/equil-example.csv +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/equil.rst +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/fipnum.inc +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/fipreports-example.csv +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/fipreports-example.txt +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/fipreports.rst +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/grid.csv +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/grid.rst +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/gruptree.csv +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/gruptree.rst +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/gruptreenet.csv +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/images/injectoranalysis.png +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/images/multibranch-rftanalysis.png +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/nnc.csv +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/nnc.rst +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/outflow.csv +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/pillars-dyn1-stacked.csv +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/pillars-dyn1-unstacked.csv +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/pillars-example1.csv +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/pillars.rst +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/pvt.csv +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/pvt.rst +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/rft.rst +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/rft_columns.csv +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/satfunc.csv +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/satfunc.rst +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/summary.csv +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/summary.rst +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/trans-boundaries.csv +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/trans-group.csv +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/trans.rst +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/trans1.csv +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/wcon.csv +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/wcon.rst +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/well_connection_status.csv +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage/wellconnstatus.rst +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/docs/usage.rst +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/setup.cfg +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/__init__.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/__version__.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/common.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/compdat.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/constants.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/csv2res.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/equil.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/faults.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/fipreports.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/gruptree.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/hook_implementations/__init__.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/hook_implementations/forward_model_steps.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/inferdims.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/nnc.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/BRANPROP +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/COMPDAT +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/COMPLUMP +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/COMPSEGS +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/DENSITY +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/EQLDIMS +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/EQUIL +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/FAULTS +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/GRUPNET +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/GRUPTREE +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/NODEPROP +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/PBVD +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/PDVD +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/PVDG +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/PVDO +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/PVTG +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/PVTO +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/PVTW +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/ROCK +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/RSVD +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/RVVD +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/SGFN +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/SGOF +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/SGWFN +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/SLGOF +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/SOF2 +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/SOF3 +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/SWFN +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/SWOF +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/TABDIMS +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/VFPINJ +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/VFPPROD +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/WCONHIST +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/WCONINJE +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/WCONINJH +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/WCONPROD +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/WELOPEN +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/WELSEGS +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/WELSPECS +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/WLIST +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/WSEGAICD +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/WSEGSICD +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/WSEGVALV +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/__init__.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/readme +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/opmkeywords/runmetoupdate.sh +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/parameters.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/pillars.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/pvt.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/res2csv.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/res2csvlogger.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/resdatafiles.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/satfunc.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/summary.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/svg_color_keyword_names.txt +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/trans.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/vfp/__init__.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/vfp/_vfp.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/vfp/_vfpcommon.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/vfp/_vfpdefs.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/vfp/_vfpinj.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/vfp/_vfpprod.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/wcon.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/wellcompletiondata.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df/wellconnstatus.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df.egg-info/SOURCES.txt +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df.egg-info/dependency_links.txt +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df.egg-info/entry_points.txt +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df.egg-info/not-zip-safe +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df.egg-info/requires.txt +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/src/res2df.egg-info/top_level.txt +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/__init__.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/conftest.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/eightcells/EIGHTCELLS.DATA +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/eightcells/EIGHTCELLS.EGRID +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/eightcells/EIGHTCELLS.INIT +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/eightcells/EIGHTCELLS.INSPEC +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/eightcells/EIGHTCELLS.PRT +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/eightcells/EIGHTCELLS.RFT +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/eightcells/EIGHTCELLS.RSSPEC +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/eightcells/EIGHTCELLS.SMSPEC +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/eightcells/EIGHTCELLS.UNRST +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/eightcells/EIGHTCELLS.UNSMRY +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/eightcells/eightcells_duplicated_summary_vector/EIGHTCELLS_DUPES.DATA +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/eightcells/eightcells_duplicated_summary_vector/EIGHTCELLS_DUPES.SMSPEC +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/eightcells/eightcells_duplicated_summary_vector/EIGHTCELLS_DUPES.UNSMRY +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/eightcells/zones.lyr +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/fipreports/TEST1.PRT +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/include/grid/reek.faults +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/include/grid/reek.grid +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/include/grid/reek.multflt +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/include/grid/reek.multz +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/include/grid/reek.perm +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/include/grid/reek.poro +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/include/props/let-sgof.txt +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/include/props/let-swof.txt +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/include/props/reek.endpoints +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/include/props/reek.pvt +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/include/props/reek.swatinit +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/include/props/sgof.txt +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/include/props/swof.inc +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/include/props/swof.txt +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/include/regions/reek.eqlnum +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/include/regions/reek.fipnum +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/include/schedule/op6_aicd1_gp.sch +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/include/schedule/op6_icd1_gp.sch +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/include/schedule/op6_valve1_gp.sch +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/include/schedule/reek_history.sch +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/include/solution/reek.equil +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/include/summary/reek.smry +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/model/2_R001_REEK-0-OPMFLOW.PRT +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/model/2_R001_REEK-0.DATA +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/model/2_R001_REEK-0.ECLEND +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/model/2_R001_REEK-0.EGRID +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/model/2_R001_REEK-0.INIT +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/model/2_R001_REEK-0.LOG +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/model/2_R001_REEK-0.PRT +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/model/2_R001_REEK-0.RFT +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/model/2_R001_REEK-0.SMSPEC +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/model/2_R001_REEK-0.UNRST +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/model/2_R001_REEK-0.UNSMRY +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/reek/eclipse/model/zones.lyr +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/timesteps/SHORT_STEP.DATA +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/timesteps/SHORT_STEP.SMSPEC +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/timesteps/SHORT_STEP.UNSMRY +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/timesteps/SHORT_STEP_LONG.DATA +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/timesteps/SHORT_STEP_LONG.SMSPEC +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/timesteps/SHORT_STEP_LONG.UNSMRY +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/timesteps/SHORT_STEP_WITH_TIMESTEP.DATA +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/timesteps/SHORT_STEP_WITH_TIMESTEP.SMSPEC +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/timesteps/SHORT_STEP_WITH_TIMESTEP.UNSMRY +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/timesteps/SHORT_STEP_WITH_TIMESTEP_LONG.DATA +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/timesteps/SHORT_STEP_WITH_TIMESTEP_LONG.SMSPEC +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/data/timesteps/SHORT_STEP_WITH_TIMESTEP_LONG.UNSMRY +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/test_common.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/test_compdat.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/test_eclfiles.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/test_equil.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/test_ert_hooks.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/test_faults.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/test_fipreports.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/test_grid.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/test_gruptree.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/test_hook_implementations.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/test_inferdims.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/test_init.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/test_integration.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/test_nnc.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/test_parameters.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/test_pillars.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/test_pvt.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/test_rft.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/test_satfunc.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/test_summary.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/test_summary_restarts.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/test_trans.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/test_userapi.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/test_wcon.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/test_wellcompletiondata.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/test_wellconnstatus.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/test_welopen.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/test_wlist.py +0 -0
- {res2df-1.3.8 → res2df-1.3.9}/tests/test_zonemap.py +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
name: Style
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- master
|
|
7
|
+
- 'version-**'
|
|
8
|
+
pull_request:
|
|
9
9
|
|
|
10
10
|
concurrency:
|
|
11
11
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
@@ -20,7 +20,7 @@ jobs:
|
|
|
20
20
|
runs-on: ubuntu-latest
|
|
21
21
|
strategy:
|
|
22
22
|
matrix:
|
|
23
|
-
python-version: ['3.
|
|
23
|
+
python-version: ['3.13']
|
|
24
24
|
|
|
25
25
|
steps:
|
|
26
26
|
- uses: actions/checkout@v5
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
name: Typing
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- master
|
|
7
|
+
- 'version-**'
|
|
8
|
+
pull_request:
|
|
9
|
+
|
|
10
|
+
schedule:
|
|
11
|
+
# Run CI every night and check that tests are working with latest dependencies
|
|
12
|
+
- cron: '0 0 * * *'
|
|
9
13
|
|
|
10
14
|
concurrency:
|
|
11
15
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
@@ -20,7 +24,7 @@ jobs:
|
|
|
20
24
|
runs-on: ubuntu-latest
|
|
21
25
|
strategy:
|
|
22
26
|
matrix:
|
|
23
|
-
python-version: ['3.
|
|
27
|
+
python-version: ['3.13']
|
|
24
28
|
|
|
25
29
|
steps:
|
|
26
30
|
- uses: actions/checkout@v5
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: res2df
|
|
3
|
-
Version: 1.3.
|
|
3
|
+
Version: 1.3.9
|
|
4
4
|
Summary: Convert reservoir simulator input and output to DataFrames
|
|
5
5
|
Author-email: Håvard Berland <havb@equinor.com>
|
|
6
6
|
License: GNU GENERAL PUBLIC LICENSE
|
|
@@ -689,6 +689,7 @@ Classifier: Topic :: Software Development :: Libraries
|
|
|
689
689
|
Classifier: Topic :: Utilities
|
|
690
690
|
Classifier: Programming Language :: Python :: 3.11
|
|
691
691
|
Classifier: Programming Language :: Python :: 3.12
|
|
692
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
692
693
|
Classifier: Natural Language :: English
|
|
693
694
|
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
|
|
694
695
|
Requires-Python: >=3.11
|
|
@@ -733,7 +734,7 @@ Dynamic: license-file
|
|
|
733
734
|
[](https://github.com/equinor/res2df/actions/workflows/publish.yml)
|
|
734
735
|
[](https://pypi.org/project/res2df/)
|
|
735
736
|
[](https://codecov.io/gh/equinor/res2df)
|
|
736
|
-
[](https://www.python.org)
|
|
737
738
|
[](https://github.com/astral-sh/ruff)
|
|
738
739
|
[](https://www.gnu.org/licenses/gpl-3.0)
|
|
739
740
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[](https://github.com/equinor/res2df/actions/workflows/publish.yml)
|
|
2
2
|
[](https://pypi.org/project/res2df/)
|
|
3
3
|
[](https://codecov.io/gh/equinor/res2df)
|
|
4
|
-
[](https://www.python.org)
|
|
5
5
|
[](https://github.com/astral-sh/ruff)
|
|
6
6
|
[](https://www.gnu.org/licenses/gpl-3.0)
|
|
7
7
|
|
|
@@ -26,6 +26,7 @@ classifiers = [
|
|
|
26
26
|
"Topic :: Utilities",
|
|
27
27
|
"Programming Language :: Python :: 3.11",
|
|
28
28
|
"Programming Language :: Python :: 3.12",
|
|
29
|
+
"Programming Language :: Python :: 3.13",
|
|
29
30
|
"Natural Language :: English",
|
|
30
31
|
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
|
|
31
32
|
]
|
|
@@ -105,7 +106,6 @@ extra_checks = true
|
|
|
105
106
|
[[tool.mypy.overrides]]
|
|
106
107
|
module = [
|
|
107
108
|
"opm.*",
|
|
108
|
-
"resfo",
|
|
109
109
|
"pyarrow", # should be removed for pyarrow > 21.0.0
|
|
110
110
|
"resdata.*",
|
|
111
111
|
]
|
|
@@ -216,10 +216,10 @@ def rst2df(
|
|
|
216
216
|
# Filter the rst vectors once more, all of them
|
|
217
217
|
# might not be available at all timesteps:
|
|
218
218
|
present_rstvectors = []
|
|
219
|
-
for
|
|
219
|
+
for rst_vec in rstvectors:
|
|
220
220
|
try:
|
|
221
|
-
if resdatafiles.get_rstfile().iget_named_kw(
|
|
222
|
-
present_rstvectors.append(
|
|
221
|
+
if resdatafiles.get_rstfile().iget_named_kw(rst_vec, rstindex):
|
|
222
|
+
present_rstvectors.append(rst_vec)
|
|
223
223
|
except IndexError:
|
|
224
224
|
pass
|
|
225
225
|
logger.info(
|
|
@@ -406,8 +406,7 @@ def merge_icd_seg_conseg(
|
|
|
406
406
|
seg_data = pd.DataFrame()
|
|
407
407
|
if icd_data is None:
|
|
408
408
|
icd_data = pd.DataFrame()
|
|
409
|
-
|
|
410
|
-
if logger.level <= logging.DEBUG:
|
|
409
|
+
if logger.isEnabledFor(logging.DEBUG):
|
|
411
410
|
logger.debug("Writing connection data to con.csv")
|
|
412
411
|
con_data[list(CON_TOPOLOGY_COLS.intersection(con_data.columns))].to_csv(
|
|
413
412
|
"con.csv", index=False
|
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '1.3.
|
|
32
|
-
__version_tuple__ = version_tuple = (1, 3,
|
|
31
|
+
__version__ = version = '1.3.9'
|
|
32
|
+
__version_tuple__ = version_tuple = (1, 3, 9)
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'g6ce40defe'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: res2df
|
|
3
|
-
Version: 1.3.
|
|
3
|
+
Version: 1.3.9
|
|
4
4
|
Summary: Convert reservoir simulator input and output to DataFrames
|
|
5
5
|
Author-email: Håvard Berland <havb@equinor.com>
|
|
6
6
|
License: GNU GENERAL PUBLIC LICENSE
|
|
@@ -689,6 +689,7 @@ Classifier: Topic :: Software Development :: Libraries
|
|
|
689
689
|
Classifier: Topic :: Utilities
|
|
690
690
|
Classifier: Programming Language :: Python :: 3.11
|
|
691
691
|
Classifier: Programming Language :: Python :: 3.12
|
|
692
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
692
693
|
Classifier: Natural Language :: English
|
|
693
694
|
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
|
|
694
695
|
Requires-Python: >=3.11
|
|
@@ -733,7 +734,7 @@ Dynamic: license-file
|
|
|
733
734
|
[](https://github.com/equinor/res2df/actions/workflows/publish.yml)
|
|
734
735
|
[](https://pypi.org/project/res2df/)
|
|
735
736
|
[](https://codecov.io/gh/equinor/res2df)
|
|
736
|
-
[](https://www.python.org)
|
|
737
738
|
[](https://github.com/astral-sh/ruff)
|
|
738
739
|
[](https://www.gnu.org/licenses/gpl-3.0)
|
|
739
740
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import itertools
|
|
2
|
+
import logging
|
|
2
3
|
|
|
3
4
|
import pytest
|
|
4
5
|
|
|
@@ -14,6 +15,17 @@ except ImportError:
|
|
|
14
15
|
HAVE_OPM = False
|
|
15
16
|
|
|
16
17
|
|
|
18
|
+
@pytest.fixture(autouse=True)
|
|
19
|
+
def cleanup_loggers():
|
|
20
|
+
"""Clean up all logger handlers after each test
|
|
21
|
+
to avoid messing up the loggers for subsequent tests.
|
|
22
|
+
"""
|
|
23
|
+
yield
|
|
24
|
+
for name in list(logging.Logger.manager.loggerDict.keys()):
|
|
25
|
+
logger = logging.getLogger(name)
|
|
26
|
+
logger.handlers.clear()
|
|
27
|
+
|
|
28
|
+
|
|
17
29
|
def test_default_logger_levels_and_split(capsys):
|
|
18
30
|
"""Verify that the intended usage of this logger have expected results"""
|
|
19
31
|
|
|
@@ -1274,54 +1274,51 @@ def test_pyarrow2basic_data_vfpinjs_no(test_input, expected):
|
|
|
1274
1274
|
pd.testing.assert_frame_equal(df_vfp, expected[n])
|
|
1275
1275
|
|
|
1276
1276
|
|
|
1277
|
-
@pytest.fixture(
|
|
1277
|
+
@pytest.fixture(params=vfp._vfpprod.BASIC_DATA_KEYS)
|
|
1278
1278
|
def vfpprod_key(request):
|
|
1279
1279
|
yield request.param
|
|
1280
1280
|
|
|
1281
1281
|
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
basic_data_vfpprods = vfp.basic_data(deck, "VFPPROD")
|
|
1282
|
+
@pytest.mark.parametrize("test_input, dummy", VFPPROD_CASES)
|
|
1283
|
+
def test_basic_data_key_exceptions_vfpprods(vfpprod_key, test_input, dummy):
|
|
1284
|
+
"""Test exceptions for basic data format (not containing all
|
|
1285
|
+
required keywords) for VFPPROD"
|
|
1286
|
+
"""
|
|
1287
|
+
deck = ResdataFiles.str2deck(test_input)
|
|
1288
|
+
basic_data_vfpprods = vfp.basic_data(deck, "VFPPROD")
|
|
1290
1289
|
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1290
|
+
# Check if exception is raises if one key is missing
|
|
1291
|
+
basic_data_vfpprod_no_key = copy.deepcopy(basic_data_vfpprods[0])
|
|
1292
|
+
del basic_data_vfpprod_no_key[vfpprod_key]
|
|
1293
|
+
with pytest.raises(
|
|
1294
|
+
KeyError, match=f"{vfpprod_key} key is not in basic data dictionary VFPPROD"
|
|
1295
|
+
):
|
|
1296
|
+
vfp._vfpprod._check_basic_data(basic_data_vfpprod_no_key)
|
|
1298
1297
|
|
|
1299
1298
|
|
|
1300
|
-
@pytest.fixture(
|
|
1299
|
+
@pytest.fixture(params=VFPPROD_ARRAY_NAMES)
|
|
1301
1300
|
def vfpprod_array_name(request):
|
|
1302
1301
|
print("\n SETUP", request.param)
|
|
1303
1302
|
yield request.param
|
|
1304
|
-
# print("\n UNDO", request.param)
|
|
1305
1303
|
|
|
1306
1304
|
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
basic_data_vfpprods = vfp.basic_data(deck, "VFPPROD")
|
|
1305
|
+
@pytest.mark.parametrize("test_input, dummy", [VFPPROD_CASES[0]])
|
|
1306
|
+
def test_basic_data_array_dim_exceptions_vfpprods(
|
|
1307
|
+
vfpprod_array_name, test_input, dummy
|
|
1308
|
+
):
|
|
1309
|
+
"""Test exceptions for basic data format
|
|
1310
|
+
(inconsistency in array dimensions) for VFPPROD"
|
|
1311
|
+
"""
|
|
1312
|
+
deck = ResdataFiles.str2deck(test_input)
|
|
1313
|
+
basic_data_vfpprods = vfp.basic_data(deck, "VFPPROD")
|
|
1317
1314
|
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1315
|
+
# Check if exception is raises if array dimension is wrong
|
|
1316
|
+
basic_data_vfpprod_wrong_dim = copy.deepcopy(basic_data_vfpprods[0])
|
|
1317
|
+
basic_data_vfpprod_wrong_dim[vfpprod_array_name] = basic_data_vfpprod_wrong_dim[
|
|
1318
|
+
vfpprod_array_name
|
|
1319
|
+
][1:]
|
|
1320
|
+
with pytest.raises(ValueError):
|
|
1321
|
+
vfp._vfpprod._check_basic_data(basic_data_vfpprod_wrong_dim)
|
|
1325
1322
|
|
|
1326
1323
|
|
|
1327
1324
|
@pytest.mark.parametrize("test_input, expected", VFPPROD_CASES)
|
|
@@ -1339,53 +1336,47 @@ def test_basic_data_dims_vfpprods(test_input, expected):
|
|
|
1339
1336
|
vfp._vfpprod._check_basic_data(basic_data_vfpprod)
|
|
1340
1337
|
|
|
1341
1338
|
|
|
1342
|
-
@pytest.fixture(
|
|
1339
|
+
@pytest.fixture(params=vfp._vfpinj.BASIC_DATA_KEYS)
|
|
1343
1340
|
def vfpinj_key(request):
|
|
1344
1341
|
print("\n SETUP", request.param)
|
|
1345
1342
|
yield request.param
|
|
1346
|
-
# print("\n UNDO", request.param)
|
|
1347
1343
|
|
|
1348
1344
|
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
basic_data_vfpinjs = vfp.basic_data(deck, "VFPINJ")
|
|
1345
|
+
@pytest.mark.parametrize("test_input, dummy", VFPINJ_CASES)
|
|
1346
|
+
def test_basic_data_key_exceptions_vfpinjs(vfpinj_key, test_input, dummy):
|
|
1347
|
+
"""Test exceptions for basic data format (not containing all
|
|
1348
|
+
required keywords) for VFPINJ"
|
|
1349
|
+
"""
|
|
1350
|
+
deck = ResdataFiles.str2deck(test_input)
|
|
1351
|
+
basic_data_vfpinjs = vfp.basic_data(deck, "VFPINJ")
|
|
1357
1352
|
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1353
|
+
# Check if exception is raises if one key is missing
|
|
1354
|
+
basic_data_vfpinj_no_key = copy.deepcopy(basic_data_vfpinjs[0])
|
|
1355
|
+
del basic_data_vfpinj_no_key[vfpinj_key]
|
|
1356
|
+
with pytest.raises(
|
|
1357
|
+
KeyError, match=f"{vfpinj_key} key is not in basic data dictionary VFPINJ"
|
|
1358
|
+
):
|
|
1359
|
+
vfp._vfpinj._check_basic_data(basic_data_vfpinj_no_key)
|
|
1365
1360
|
|
|
1366
1361
|
|
|
1367
|
-
@pytest.fixture(
|
|
1362
|
+
@pytest.fixture(params=VFPINJ_ARRAY_NAMES)
|
|
1368
1363
|
def vfpinj_array_name(request):
|
|
1369
1364
|
print("\n SETUP", request.param)
|
|
1370
1365
|
yield request.param
|
|
1371
|
-
# print("\n UNDO", request.param)
|
|
1372
1366
|
|
|
1373
1367
|
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
][1:]
|
|
1390
|
-
with pytest.raises(ValueError):
|
|
1391
|
-
vfp._vfpinj._check_basic_data(basic_data_vfpinj_wrong_dim)
|
|
1368
|
+
@pytest.mark.parametrize("test_input, dummy", [VFPINJ_CASES[0]])
|
|
1369
|
+
def test_basic_data_array_dim_exceptions_vfpinjs(vfpinj_array_name, test_input, dummy):
|
|
1370
|
+
"""Test exceptions for basic data format
|
|
1371
|
+
(inconsistency in array dimensions) for VFPINJ"
|
|
1372
|
+
"""
|
|
1373
|
+
deck = ResdataFiles.str2deck(test_input)
|
|
1374
|
+
basic_data_vfpinjs = vfp.basic_data(deck, "VFPINJ")
|
|
1375
|
+
|
|
1376
|
+
# Check if exception is raises if array dimension if wrong
|
|
1377
|
+
basic_data_vfpinj_wrong_dim = copy.deepcopy(basic_data_vfpinjs[0])
|
|
1378
|
+
basic_data_vfpinj_wrong_dim[vfpinj_array_name] = basic_data_vfpinj_wrong_dim[
|
|
1379
|
+
vfpinj_array_name
|
|
1380
|
+
][1:]
|
|
1381
|
+
with pytest.raises(ValueError):
|
|
1382
|
+
vfp._vfpinj._check_basic_data(basic_data_vfpinj_wrong_dim)
|
|
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
|