coverage.py v7.6.10, - created at 2025-11-01 07:55 +0100 + created at 2025-11-03 18:18 +0100
diff --git a/codecipher/a1z52n62/__init__.py b/codecipher/a1z52n62/__init__.py index 899450c..a7a43aa 100644 --- a/codecipher/a1z52n62/__init__.py +++ b/codecipher/a1z52n62/__init__.py @@ -34,7 +34,7 @@ __copyright__: str = '(C) 2025, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.8' +__version__: str = '1.4.9' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/a1z52n62/decode.py b/codecipher/a1z52n62/decode.py index 26be5a4..29d98c2 100644 --- a/codecipher/a1z52n62/decode.py +++ b/codecipher/a1z52n62/decode.py @@ -27,7 +27,7 @@ __copyright__: str = '(C) 2025, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.8' +__version__: str = '1.4.9' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/a1z52n62/encode.py b/codecipher/a1z52n62/encode.py index d121123..f1617cc 100644 --- a/codecipher/a1z52n62/encode.py +++ b/codecipher/a1z52n62/encode.py @@ -27,7 +27,7 @@ __copyright__: str = '(C) 2025, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.8' +__version__: str = '1.4.9' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/atbs/__init__.py b/codecipher/atbs/__init__.py index 6301b4c..e807f88 100644 --- a/codecipher/atbs/__init__.py +++ b/codecipher/atbs/__init__.py @@ -34,7 +34,7 @@ __copyright__: str = '(C) 2025, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.8' +__version__: str = '1.4.9' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/atbs/decode.py b/codecipher/atbs/decode.py index 21f9a3e..9296915 100644 --- a/codecipher/atbs/decode.py +++ b/codecipher/atbs/decode.py @@ -34,7 +34,7 @@ __copyright__: str = '(C) 2025, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.8' +__version__: str = '1.4.9' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/atbs/encode.py b/codecipher/atbs/encode.py index 0305506..8117c34 100644 --- a/codecipher/atbs/encode.py +++ b/codecipher/atbs/encode.py @@ -34,7 +34,7 @@ __copyright__: str = '(C) 2025, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.8' +__version__: str = '1.4.9' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/atbs/lookup_table.py b/codecipher/atbs/lookup_table.py index 5b24e76..861e847 100644 --- a/codecipher/atbs/lookup_table.py +++ b/codecipher/atbs/lookup_table.py @@ -25,7 +25,7 @@ __copyright__: str = '(C) 2025, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.8' +__version__: str = '1.4.9' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/b64/__init__.py b/codecipher/b64/__init__.py index 5be2e31..2898d7b 100644 --- a/codecipher/b64/__init__.py +++ b/codecipher/b64/__init__.py @@ -34,7 +34,7 @@ __copyright__: str = '(C) 2025, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.8' +__version__: str = '1.4.9' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/b64/decode.py b/codecipher/b64/decode.py index b3117d8..2866de2 100644 --- a/codecipher/b64/decode.py +++ b/codecipher/b64/decode.py @@ -28,7 +28,7 @@ __copyright__: str = '(C) 2025, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.8' +__version__: str = '1.4.9' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/b64/encode.py b/codecipher/b64/encode.py index 7bf6ae5..6c20609 100644 --- a/codecipher/b64/encode.py +++ b/codecipher/b64/encode.py @@ -28,7 +28,7 @@ __copyright__: str = '(C) 2025, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.8' +__version__: str = '1.4.9' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/caesar/__init__.py b/codecipher/caesar/__init__.py index f299f48..e3c74bd 100644 --- a/codecipher/caesar/__init__.py +++ b/codecipher/caesar/__init__.py @@ -34,7 +34,7 @@ __copyright__: str = '(C) 2025, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.8' +__version__: str = '1.4.9' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/caesar/decode.py b/codecipher/caesar/decode.py index d64a273..bb34768 100644 --- a/codecipher/caesar/decode.py +++ b/codecipher/caesar/decode.py @@ -27,7 +27,7 @@ __copyright__: str = '(C) 2025, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.8' +__version__: str = '1.4.9' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/caesar/encode.py b/codecipher/caesar/encode.py index 69d50dd..7da63d0 100644 --- a/codecipher/caesar/encode.py +++ b/codecipher/caesar/encode.py @@ -27,7 +27,7 @@ __copyright__: str = '(C) 2025, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.8' +__version__: str = '1.4.9' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/vernam/__init__.py b/codecipher/vernam/__init__.py index 3822bae..bf2a717 100644 --- a/codecipher/vernam/__init__.py +++ b/codecipher/vernam/__init__.py @@ -34,7 +34,7 @@ __copyright__: str = '(C) 2025, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.8' +__version__: str = '1.4.9' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/vernam/decode.py b/codecipher/vernam/decode.py index 203ede9..719840e 100644 --- a/codecipher/vernam/decode.py +++ b/codecipher/vernam/decode.py @@ -27,7 +27,7 @@ __copyright__: str = '(C) 2025, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.8' +__version__: str = '1.4.9' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/vernam/encode.py b/codecipher/vernam/encode.py index efcbdfc..c005830 100644 --- a/codecipher/vernam/encode.py +++ b/codecipher/vernam/encode.py @@ -27,7 +27,7 @@ __copyright__: str = '(C) 2025, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.8' +__version__: str = '1.4.9' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/vigenere/__init__.py b/codecipher/vigenere/__init__.py index 2dd27c5..3ef8822 100644 --- a/codecipher/vigenere/__init__.py +++ b/codecipher/vigenere/__init__.py @@ -35,7 +35,7 @@ __copyright__: str = '(C) 2025, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.8' +__version__: str = '1.4.9' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/vigenere/decode.py b/codecipher/vigenere/decode.py index 9c108a3..72c86c5 100644 --- a/codecipher/vigenere/decode.py +++ b/codecipher/vigenere/decode.py @@ -34,7 +34,7 @@ __copyright__: str = '(C) 2025, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.8' +__version__: str = '1.4.9' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/vigenere/encode.py b/codecipher/vigenere/encode.py index 44890d2..3375e4b 100644 --- a/codecipher/vigenere/encode.py +++ b/codecipher/vigenere/encode.py @@ -34,7 +34,7 @@ __copyright__: str = '(C) 2025, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.8' +__version__: str = '1.4.9' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/vigenere/key_generator.py b/codecipher/vigenere/key_generator.py index 6bc47ab..bdc9a51 100644 --- a/codecipher/vigenere/key_generator.py +++ b/codecipher/vigenere/key_generator.py @@ -27,7 +27,7 @@ __copyright__: str = '(C) 2025, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.8' +__version__: str = '1.4.9' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/vigenere/lookup_table.py b/codecipher/vigenere/lookup_table.py index 30ff8db..658f190 100644 --- a/codecipher/vigenere/lookup_table.py +++ b/codecipher/vigenere/lookup_table.py @@ -26,7 +26,7 @@ __copyright__: str = '(C) 2025, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.8' +__version__: str = '1.4.9' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle index 364a3e0..2c46fc7 100644 Binary files a/docs/build/doctrees/environment.pickle and b/docs/build/doctrees/environment.pickle differ diff --git a/docs/build/html/_modules/codecipher/a1z52n62.html b/docs/build/html/_modules/codecipher/a1z52n62.html index 482c58d..b99e95f 100644 --- a/docs/build/html/_modules/codecipher/a1z52n62.html +++ b/docs/build/html/_modules/codecipher/a1z52n62.html @@ -72,7 +72,7 @@
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.8'
+__version__: str = '1.4.9'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'
diff --git a/docs/build/html/_modules/codecipher/a1z52n62/decode.html b/docs/build/html/_modules/codecipher/a1z52n62/decode.html
index 6fd78a9..0173374 100644
--- a/docs/build/html/_modules/codecipher/a1z52n62/decode.html
+++ b/docs/build/html/_modules/codecipher/a1z52n62/decode.html
@@ -66,7 +66,7 @@ Source code for codecipher.a1z52n62.decode
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.8'
+__version__: str = '1.4.9'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'
diff --git a/docs/build/html/_modules/codecipher/a1z52n62/encode.html b/docs/build/html/_modules/codecipher/a1z52n62/encode.html
index 9855019..0852b80 100644
--- a/docs/build/html/_modules/codecipher/a1z52n62/encode.html
+++ b/docs/build/html/_modules/codecipher/a1z52n62/encode.html
@@ -66,7 +66,7 @@ Source code for codecipher.a1z52n62.encode
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.8'
+__version__: str = '1.4.9'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'
diff --git a/docs/build/html/_modules/codecipher/atbs.html b/docs/build/html/_modules/codecipher/atbs.html
index e79f189..f7dadff 100644
--- a/docs/build/html/_modules/codecipher/atbs.html
+++ b/docs/build/html/_modules/codecipher/atbs.html
@@ -72,7 +72,7 @@ Source code for codecipher.atbs
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.8'
+__version__: str = '1.4.9'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'
diff --git a/docs/build/html/_modules/codecipher/atbs/decode.html b/docs/build/html/_modules/codecipher/atbs/decode.html
index f3457cd..658abc7 100644
--- a/docs/build/html/_modules/codecipher/atbs/decode.html
+++ b/docs/build/html/_modules/codecipher/atbs/decode.html
@@ -73,7 +73,7 @@ Source code for codecipher.atbs.decode
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.8'
+__version__: str = '1.4.9'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'
diff --git a/docs/build/html/_modules/codecipher/atbs/encode.html b/docs/build/html/_modules/codecipher/atbs/encode.html
index f23820c..8552582 100644
--- a/docs/build/html/_modules/codecipher/atbs/encode.html
+++ b/docs/build/html/_modules/codecipher/atbs/encode.html
@@ -73,7 +73,7 @@ Source code for codecipher.atbs.encode
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.8'
+__version__: str = '1.4.9'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'
diff --git a/docs/build/html/_modules/codecipher/b64.html b/docs/build/html/_modules/codecipher/b64.html
index 16c4c0c..b525353 100644
--- a/docs/build/html/_modules/codecipher/b64.html
+++ b/docs/build/html/_modules/codecipher/b64.html
@@ -72,7 +72,7 @@ Source code for codecipher.b64
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.8'
+__version__: str = '1.4.9'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'
diff --git a/docs/build/html/_modules/codecipher/b64/decode.html b/docs/build/html/_modules/codecipher/b64/decode.html
index 28dd00b..6a4beff 100644
--- a/docs/build/html/_modules/codecipher/b64/decode.html
+++ b/docs/build/html/_modules/codecipher/b64/decode.html
@@ -67,7 +67,7 @@ Source code for codecipher.b64.decode
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.8'
+__version__: str = '1.4.9'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'
diff --git a/docs/build/html/_modules/codecipher/b64/encode.html b/docs/build/html/_modules/codecipher/b64/encode.html
index 66cdf78..01e24a7 100644
--- a/docs/build/html/_modules/codecipher/b64/encode.html
+++ b/docs/build/html/_modules/codecipher/b64/encode.html
@@ -67,7 +67,7 @@ Source code for codecipher.b64.encode
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.8'
+__version__: str = '1.4.9'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'
diff --git a/docs/build/html/_modules/codecipher/caesar.html b/docs/build/html/_modules/codecipher/caesar.html
index c87a550..15d52e2 100644
--- a/docs/build/html/_modules/codecipher/caesar.html
+++ b/docs/build/html/_modules/codecipher/caesar.html
@@ -72,7 +72,7 @@ Source code for codecipher.caesar
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.8'
+__version__: str = '1.4.9'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'
diff --git a/docs/build/html/_modules/codecipher/caesar/decode.html b/docs/build/html/_modules/codecipher/caesar/decode.html
index f594e9f..8ea8621 100644
--- a/docs/build/html/_modules/codecipher/caesar/decode.html
+++ b/docs/build/html/_modules/codecipher/caesar/decode.html
@@ -66,7 +66,7 @@ Source code for codecipher.caesar.decode
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.8'
+__version__: str = '1.4.9'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'
diff --git a/docs/build/html/_modules/codecipher/caesar/encode.html b/docs/build/html/_modules/codecipher/caesar/encode.html
index fb6ce64..4003b25 100644
--- a/docs/build/html/_modules/codecipher/caesar/encode.html
+++ b/docs/build/html/_modules/codecipher/caesar/encode.html
@@ -66,7 +66,7 @@ Source code for codecipher.caesar.encode
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.8'
+__version__: str = '1.4.9'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'
diff --git a/docs/build/html/_modules/codecipher/vernam.html b/docs/build/html/_modules/codecipher/vernam.html
index 9d7ca98..4ddc0b5 100644
--- a/docs/build/html/_modules/codecipher/vernam.html
+++ b/docs/build/html/_modules/codecipher/vernam.html
@@ -72,7 +72,7 @@ Source code for codecipher.vernam
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.8'
+__version__: str = '1.4.9'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'
diff --git a/docs/build/html/_modules/codecipher/vernam/decode.html b/docs/build/html/_modules/codecipher/vernam/decode.html
index 45b7e89..87306ea 100644
--- a/docs/build/html/_modules/codecipher/vernam/decode.html
+++ b/docs/build/html/_modules/codecipher/vernam/decode.html
@@ -66,7 +66,7 @@ Source code for codecipher.vernam.decode
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.8'
+__version__: str = '1.4.9'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'
diff --git a/docs/build/html/_modules/codecipher/vernam/encode.html b/docs/build/html/_modules/codecipher/vernam/encode.html
index 55eb739..10349c8 100644
--- a/docs/build/html/_modules/codecipher/vernam/encode.html
+++ b/docs/build/html/_modules/codecipher/vernam/encode.html
@@ -66,7 +66,7 @@ Source code for codecipher.vernam.encode
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.8'
+__version__: str = '1.4.9'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'
diff --git a/docs/build/html/_modules/codecipher/vigenere.html b/docs/build/html/_modules/codecipher/vigenere.html
index 18d789d..f87b9cc 100644
--- a/docs/build/html/_modules/codecipher/vigenere.html
+++ b/docs/build/html/_modules/codecipher/vigenere.html
@@ -73,7 +73,7 @@ Source code for codecipher.vigenere
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.8'
+__version__: str = '1.4.9'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'
diff --git a/docs/build/html/_modules/codecipher/vigenere/decode.html b/docs/build/html/_modules/codecipher/vigenere/decode.html
index 0ef04f3..4306219 100644
--- a/docs/build/html/_modules/codecipher/vigenere/decode.html
+++ b/docs/build/html/_modules/codecipher/vigenere/decode.html
@@ -73,7 +73,7 @@ Source code for codecipher.vigenere.decode
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.8'
+__version__: str = '1.4.9'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'
diff --git a/docs/build/html/_modules/codecipher/vigenere/encode.html b/docs/build/html/_modules/codecipher/vigenere/encode.html
index 7585dc7..35e43f0 100644
--- a/docs/build/html/_modules/codecipher/vigenere/encode.html
+++ b/docs/build/html/_modules/codecipher/vigenere/encode.html
@@ -73,7 +73,7 @@ Source code for codecipher.vigenere.encode
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.8'
+__version__: str = '1.4.9'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'
diff --git a/docs/build/html/_modules/codecipher/vigenere/key_generator.html b/docs/build/html/_modules/codecipher/vigenere/key_generator.html
index 6c2286c..1133d6e 100644
--- a/docs/build/html/_modules/codecipher/vigenere/key_generator.html
+++ b/docs/build/html/_modules/codecipher/vigenere/key_generator.html
@@ -66,7 +66,7 @@ Source code for codecipher.vigenere.key_generator
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.8'
+__version__: str = '1.4.9'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'
diff --git a/docs/build/html/_modules/codecipher/vigenere/lookup_table.html b/docs/build/html/_modules/codecipher/vigenere/lookup_table.html
index aba76cc..a107605 100644
--- a/docs/build/html/_modules/codecipher/vigenere/lookup_table.html
+++ b/docs/build/html/_modules/codecipher/vigenere/lookup_table.html
@@ -65,7 +65,7 @@ Source code for codecipher.vigenere.lookup_table
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.8'
+__version__: str = '1.4.9'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'
diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv
index 28c94be..4302aa6 100644
Binary files a/docs/build/html/objects.inv and b/docs/build/html/objects.inv differ
diff --git a/docs/source/conf.py b/docs/source/conf.py
index e82b3ad..6800392 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -29,7 +29,7 @@
project: str = 'codecipher'
project_copyright: str = '2025, Vladimir Roncevic '
author: str = 'Vladimir Roncevic '
-version: str = '1.4.8'
+version: str = '1.4.9'
release: str = 'https://github.com/electux/codecipher/releases'
extensions: List[str] = ['sphinx.ext.autodoc', 'sphinx.ext.viewcode']
templates_path: List[str] = ['_templates']
diff --git a/setup.py b/setup.py
index faa4cea..ec11ec3 100644
--- a/setup.py
+++ b/setup.py
@@ -29,7 +29,7 @@
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.8'
+__version__: str = '1.4.9'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'
@@ -50,7 +50,7 @@
PYP_CLASSIFIERS: List[str] = SUPPORTED_PY_VERSIONS
setup(
name='codecipher',
- version='1.4.8',
+ version='1.4.9',
description='Python Cipher Utilities',
author='Vladimir Roncevic',
author_email='elektron.ronca@gmail.com',
diff --git a/tests/a1z52n62_test.py b/tests/a1z52n62_test.py
index 5fee0c4..7886844 100644
--- a/tests/a1z52n62_test.py
+++ b/tests/a1z52n62_test.py
@@ -36,7 +36,7 @@
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__: str = 'https://github.com/electux/codecipher/blob/dev/LICENSE'
-__version__: str = '1.4.8'
+__version__: str = '1.4.9'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'
diff --git a/tests/atbs_test.py b/tests/atbs_test.py
index 47ec2c6..844fce8 100644
--- a/tests/atbs_test.py
+++ b/tests/atbs_test.py
@@ -36,7 +36,7 @@
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__: str = 'https://github.com/electux/codecipher/blob/dev/LICENSE'
-__version__: str = '1.4.8'
+__version__: str = '1.4.9'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'
diff --git a/tests/b64_test.py b/tests/b64_test.py
index cb419dd..0626906 100644
--- a/tests/b64_test.py
+++ b/tests/b64_test.py
@@ -36,7 +36,7 @@
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__: str = 'https://github.com/electux/codecipher/blob/dev/LICENSE'
-__version__: str = '1.4.8'
+__version__: str = '1.4.9'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'
diff --git a/tests/caesar_test.py b/tests/caesar_test.py
index 3588751..2b11b5b 100644
--- a/tests/caesar_test.py
+++ b/tests/caesar_test.py
@@ -36,7 +36,7 @@
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__: str = 'https://github.com/electux/codecipher/blob/dev/LICENSE'
-__version__: str = '1.4.8'
+__version__: str = '1.4.9'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'
diff --git a/tests/codecipher_coverage.json b/tests/codecipher_coverage.json
index aa2784d..38d685f 100644
--- a/tests/codecipher_coverage.json
+++ b/tests/codecipher_coverage.json
@@ -1 +1 @@
-{"meta": {"format": 3, "version": "7.6.10", "timestamp": "2025-11-01T07:55:09.848059", "branch_coverage": false, "show_contexts": false}, "files": {"/data/dev/python/codecipher/github/codecipher/codecipher/__init__.py": {"executed_lines": [3], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [3], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/a1z52n62/__init__.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56, 62], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31], "functions": {"A1z52N62.__init__": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"A1z52N62": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/a1z52n62/decode.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 62, 64, 65, 77, 86, 87, 88, 89, 90, 91, 92, 94, 96, 98, 99], "summary": {"covered_lines": 30, "num_statements": 32, "percent_covered": 93.75, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": [], "functions": {"A1z52N62Decode.decode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "A1z52N62Decode.decode": {"executed_lines": [86, 87, 88, 89, 90, 91, 92, 94, 96, 98, 99], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"A1z52N62Decode": {"executed_lines": [62, 86, 87, 88, 89, 90, 91, 92, 94, 96, 98, 99], "summary": {"covered_lines": 12, "num_statements": 14, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/a1z52n62/encode.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 62, 64, 65, 77, 86, 87, 88, 89, 90, 91, 93, 95, 96, 98, 99], "summary": {"covered_lines": 30, "num_statements": 32, "percent_covered": 93.75, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": [], "functions": {"A1z52N62Encode.encode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "A1z52N62Encode.encode": {"executed_lines": [86, 87, 88, 89, 90, 91, 93, 95, 96, 98, 99], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"A1z52N62Encode": {"executed_lines": [62, 86, 87, 88, 89, 90, 91, 93, 95, 96, 98, 99], "summary": {"covered_lines": 12, "num_statements": 14, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/atbs/__init__.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56, 62], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31], "functions": {"AlephTawBetShin.__init__": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"AlephTawBetShin": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/atbs/decode.py": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 58, 60, 61, 69, 71, 72, 84, 93, 94, 95, 96, 97], "summary": {"covered_lines": 27, "num_statements": 29, "percent_covered": 93.10344827586206, "percent_covered_display": "93", "missing_lines": 2, "excluded_lines": 2}, "missing_lines": [81, 82], "excluded_lines": [29, 31], "functions": {"AlephTawBetShinDecode.decode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [81, 82], "excluded_lines": []}, "AlephTawBetShinDecode.decode": {"executed_lines": [93, 94, 95, 96, 97], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 58, 60, 61, 71, 72, 84], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"AlephTawBetShinDecode": {"executed_lines": [69, 93, 94, 95, 96, 97], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [81, 82], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 58, 60, 61, 71, 72, 84], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/atbs/encode.py": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 58, 60, 61, 69, 71, 72, 84, 93, 94, 95, 96, 97], "summary": {"covered_lines": 27, "num_statements": 29, "percent_covered": 93.10344827586206, "percent_covered_display": "93", "missing_lines": 2, "excluded_lines": 2}, "missing_lines": [81, 82], "excluded_lines": [29, 31], "functions": {"AlephTawBetShinEncode.encode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [81, 82], "excluded_lines": []}, "AlephTawBetShinEncode.encode": {"executed_lines": [93, 94, 95, 96, 97], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 58, 60, 61, 71, 72, 84], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"AlephTawBetShinEncode": {"executed_lines": [69, 93, 94, 95, 96, 97], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [81, 82], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 58, 60, 61, 71, 72, 84], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/atbs/lookup_table.py": {"executed_lines": [3, 22, 24, 25, 26, 27, 28, 29, 30, 31, 33], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [3, 22, 24, 25, 26, 27, 28, 29, 30, 31, 33], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 22, 24, 25, 26, 27, 28, 29, 30, 31, 33], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/b64/__init__.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56, 62], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31], "functions": {"B64.__init__": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"B64": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/b64/decode.py": {"executed_lines": [3, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 52, 54, 55, 63, 65, 66, 78, 87, 88], "summary": {"covered_lines": 22, "num_statements": 24, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [75, 76], "excluded_lines": [], "functions": {"B64Decode.decode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [75, 76], "excluded_lines": []}, "B64Decode.decode": {"executed_lines": [87, 88], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 52, 54, 55, 65, 66, 78], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"B64Decode": {"executed_lines": [63, 87, 88], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [75, 76], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 52, 54, 55, 65, 66, 78], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/b64/encode.py": {"executed_lines": [3, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 52, 54, 55, 63, 65, 66, 78, 87, 88], "summary": {"covered_lines": 22, "num_statements": 24, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [75, 76], "excluded_lines": [], "functions": {"B64Encode.encode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [75, 76], "excluded_lines": []}, "B64Encode.encode": {"executed_lines": [87, 88], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 52, 54, 55, 65, 66, 78], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"B64Encode": {"executed_lines": [63, 87, 88], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [75, 76], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 52, 54, 55, 65, 66, 78], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/caesar/__init__.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56, 62], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31], "functions": {"Caesar.__init__": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"Caesar": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/caesar/decode.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 62, 64, 65, 77, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 110], "summary": {"covered_lines": 39, "num_statements": 41, "percent_covered": 95.1219512195122, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": [], "functions": {"CaesarDecode.decode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "CaesarDecode.decode": {"executed_lines": [90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 110], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"CaesarDecode": {"executed_lines": [62, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 110], "summary": {"covered_lines": 21, "num_statements": 23, "percent_covered": 91.30434782608695, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/caesar/encode.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 62, 64, 65, 77, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 110], "summary": {"covered_lines": 39, "num_statements": 41, "percent_covered": 95.1219512195122, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": [], "functions": {"CaesarEncode.encode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "CaesarEncode.encode": {"executed_lines": [90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 110], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"CaesarEncode": {"executed_lines": [62, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 110], "summary": {"covered_lines": 21, "num_statements": 23, "percent_covered": 91.30434782608695, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vernam/__init__.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56, 62], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31], "functions": {"Vernam.__init__": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"Vernam": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vernam/decode.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 62, 64, 65, 77, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 103, 104], "summary": {"covered_lines": 34, "num_statements": 36, "percent_covered": 94.44444444444444, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": [], "functions": {"VernamDecode.decode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "VernamDecode.decode": {"executed_lines": [88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 103, 104], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"VernamDecode": {"executed_lines": [62, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 103, 104], "summary": {"covered_lines": 16, "num_statements": 18, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vernam/encode.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 62, 64, 65, 77, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 103, 104], "summary": {"covered_lines": 34, "num_statements": 36, "percent_covered": 94.44444444444444, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": [], "functions": {"VernamEncode.encode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "VernamEncode.encode": {"executed_lines": [88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 103, 104], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"VernamEncode": {"executed_lines": [62, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 103, 104], "summary": {"covered_lines": 16, "num_statements": 18, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vigenere/__init__.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 34, 35, 36, 37, 38, 39, 40, 41, 44, 45, 57, 63], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [30, 32], "functions": {"Vigenere.__init__": {"executed_lines": [63], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 34, 35, 36, 37, 38, 39, 40, 41, 44, 45, 57], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [30, 32]}}, "classes": {"Vigenere": {"executed_lines": [63], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 34, 35, 36, 37, 38, 39, 40, 41, 44, 45, 57], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [30, 32]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vigenere/decode.py": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 59, 61, 62, 70, 72, 73, 85, 99, 100, 101, 102, 103, 105, 118, 119, 120, 121, 122, 126, 129], "summary": {"covered_lines": 35, "num_statements": 37, "percent_covered": 94.5945945945946, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 2}, "missing_lines": [82, 83], "excluded_lines": [29, 31], "functions": {"VigenereDecode.decode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [82, 83], "excluded_lines": []}, "VigenereDecode._split_data_decode": {"executed_lines": [99, 100, 101, 102, 103], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VigenereDecode.decode": {"executed_lines": [118, 119, 120, 121, 122, 126, 129], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 59, 61, 62, 72, 73, 85, 105], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"VigenereDecode": {"executed_lines": [70, 99, 100, 101, 102, 103, 118, 119, 120, 121, 122, 126, 129], "summary": {"covered_lines": 13, "num_statements": 15, "percent_covered": 86.66666666666667, "percent_covered_display": "87", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [82, 83], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 59, 61, 62, 72, 73, 85, 105], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vigenere/encode.py": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 59, 61, 62, 70, 72, 73, 85, 99, 100, 101, 102, 103, 105, 118, 119, 120, 121, 122, 126, 129], "summary": {"covered_lines": 35, "num_statements": 37, "percent_covered": 94.5945945945946, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 2}, "missing_lines": [82, 83], "excluded_lines": [29, 31], "functions": {"VigenereEncode.encode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [82, 83], "excluded_lines": []}, "VigenereEncode._split_data_encode": {"executed_lines": [99, 100, 101, 102, 103], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VigenereEncode.encode": {"executed_lines": [118, 119, 120, 121, 122, 126, 129], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 59, 61, 62, 72, 73, 85, 105], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"VigenereEncode": {"executed_lines": [70, 99, 100, 101, 102, 103, 118, 119, 120, 121, 122, 126, 129], "summary": {"covered_lines": 13, "num_statements": 15, "percent_covered": 86.66666666666667, "percent_covered_display": "87", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [82, 83], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 59, 61, 62, 72, 73, 85, 105], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vigenere/key_generator.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 53, 54, 56, 57, 67, 68, 77, 78, 80, 81, 89, 91, 92, 101, 102, 104, 111, 112, 113, 114, 117, 118, 119], "summary": {"covered_lines": 35, "num_statements": 37, "percent_covered": 94.5945945945946, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [65, 115], "excluded_lines": [], "functions": {"KeyGenerator.data_len": {"executed_lines": [77, 78], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "KeyGenerator.key": {"executed_lines": [101, 102], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "KeyGenerator.generate_key": {"executed_lines": [111, 112, 113, 114, 117, 118, 119], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [115], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 53, 54, 56, 57, 67, 68, 80, 81, 91, 92, 104], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"KeyGenerator": {"executed_lines": [77, 78, 89, 101, 102, 111, 112, 113, 114, 117, 118, 119], "summary": {"covered_lines": 12, "num_statements": 14, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [65, 115], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 53, 54, 56, 57, 67, 68, 80, 81, 91, 92, 104], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vigenere/lookup_table.py": {"executed_lines": [3, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 53, 54, 55, 56, 57, 58], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [3, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 53, 54, 55, 56, 57, 58], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"LookUpTable": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 53, 54, 55, 56, 57, 58], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}}, "totals": {"covered_lines": 532, "num_statements": 558, "percent_covered": 95.3405017921147, "percent_covered_display": "95", "missing_lines": 26, "excluded_lines": 20}}
\ No newline at end of file
+{"meta": {"format": 3, "version": "7.6.10", "timestamp": "2025-11-03T18:18:05.336430", "branch_coverage": false, "show_contexts": false}, "files": {"/data/dev/python/codecipher/github/codecipher/codecipher/__init__.py": {"executed_lines": [3], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [3], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/a1z52n62/__init__.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56, 62], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31], "functions": {"A1z52N62.__init__": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"A1z52N62": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/a1z52n62/decode.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 62, 64, 65, 77, 86, 87, 88, 89, 90, 91, 92, 94, 96, 98, 99], "summary": {"covered_lines": 30, "num_statements": 32, "percent_covered": 93.75, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": [], "functions": {"A1z52N62Decode.decode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "A1z52N62Decode.decode": {"executed_lines": [86, 87, 88, 89, 90, 91, 92, 94, 96, 98, 99], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"A1z52N62Decode": {"executed_lines": [62, 86, 87, 88, 89, 90, 91, 92, 94, 96, 98, 99], "summary": {"covered_lines": 12, "num_statements": 14, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/a1z52n62/encode.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 62, 64, 65, 77, 86, 87, 88, 89, 90, 91, 93, 95, 96, 98, 99], "summary": {"covered_lines": 30, "num_statements": 32, "percent_covered": 93.75, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": [], "functions": {"A1z52N62Encode.encode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "A1z52N62Encode.encode": {"executed_lines": [86, 87, 88, 89, 90, 91, 93, 95, 96, 98, 99], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"A1z52N62Encode": {"executed_lines": [62, 86, 87, 88, 89, 90, 91, 93, 95, 96, 98, 99], "summary": {"covered_lines": 12, "num_statements": 14, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/atbs/__init__.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56, 62], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31], "functions": {"AlephTawBetShin.__init__": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"AlephTawBetShin": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/atbs/decode.py": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 58, 60, 61, 69, 71, 72, 84, 93, 94, 95, 96, 97], "summary": {"covered_lines": 27, "num_statements": 29, "percent_covered": 93.10344827586206, "percent_covered_display": "93", "missing_lines": 2, "excluded_lines": 2}, "missing_lines": [81, 82], "excluded_lines": [29, 31], "functions": {"AlephTawBetShinDecode.decode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [81, 82], "excluded_lines": []}, "AlephTawBetShinDecode.decode": {"executed_lines": [93, 94, 95, 96, 97], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 58, 60, 61, 71, 72, 84], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"AlephTawBetShinDecode": {"executed_lines": [69, 93, 94, 95, 96, 97], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [81, 82], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 58, 60, 61, 71, 72, 84], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/atbs/encode.py": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 58, 60, 61, 69, 71, 72, 84, 93, 94, 95, 96, 97], "summary": {"covered_lines": 27, "num_statements": 29, "percent_covered": 93.10344827586206, "percent_covered_display": "93", "missing_lines": 2, "excluded_lines": 2}, "missing_lines": [81, 82], "excluded_lines": [29, 31], "functions": {"AlephTawBetShinEncode.encode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [81, 82], "excluded_lines": []}, "AlephTawBetShinEncode.encode": {"executed_lines": [93, 94, 95, 96, 97], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 58, 60, 61, 71, 72, 84], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"AlephTawBetShinEncode": {"executed_lines": [69, 93, 94, 95, 96, 97], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [81, 82], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 58, 60, 61, 71, 72, 84], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/atbs/lookup_table.py": {"executed_lines": [3, 22, 24, 25, 26, 27, 28, 29, 30, 31, 33], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [3, 22, 24, 25, 26, 27, 28, 29, 30, 31, 33], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 22, 24, 25, 26, 27, 28, 29, 30, 31, 33], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/b64/__init__.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56, 62], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31], "functions": {"B64.__init__": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"B64": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/b64/decode.py": {"executed_lines": [3, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 52, 54, 55, 63, 65, 66, 78, 87, 88], "summary": {"covered_lines": 22, "num_statements": 24, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [75, 76], "excluded_lines": [], "functions": {"B64Decode.decode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [75, 76], "excluded_lines": []}, "B64Decode.decode": {"executed_lines": [87, 88], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 52, 54, 55, 65, 66, 78], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"B64Decode": {"executed_lines": [63, 87, 88], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [75, 76], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 52, 54, 55, 65, 66, 78], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/b64/encode.py": {"executed_lines": [3, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 52, 54, 55, 63, 65, 66, 78, 87, 88], "summary": {"covered_lines": 22, "num_statements": 24, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [75, 76], "excluded_lines": [], "functions": {"B64Encode.encode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [75, 76], "excluded_lines": []}, "B64Encode.encode": {"executed_lines": [87, 88], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 52, 54, 55, 65, 66, 78], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"B64Encode": {"executed_lines": [63, 87, 88], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [75, 76], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 52, 54, 55, 65, 66, 78], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/caesar/__init__.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56, 62], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31], "functions": {"Caesar.__init__": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"Caesar": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/caesar/decode.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 62, 64, 65, 77, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 110], "summary": {"covered_lines": 39, "num_statements": 41, "percent_covered": 95.1219512195122, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": [], "functions": {"CaesarDecode.decode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "CaesarDecode.decode": {"executed_lines": [90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 110], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"CaesarDecode": {"executed_lines": [62, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 110], "summary": {"covered_lines": 21, "num_statements": 23, "percent_covered": 91.30434782608695, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/caesar/encode.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 62, 64, 65, 77, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 110], "summary": {"covered_lines": 39, "num_statements": 41, "percent_covered": 95.1219512195122, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": [], "functions": {"CaesarEncode.encode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "CaesarEncode.encode": {"executed_lines": [90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 110], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"CaesarEncode": {"executed_lines": [62, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 110], "summary": {"covered_lines": 21, "num_statements": 23, "percent_covered": 91.30434782608695, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vernam/__init__.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56, 62], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31], "functions": {"Vernam.__init__": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"Vernam": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vernam/decode.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 62, 64, 65, 77, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 103, 104], "summary": {"covered_lines": 34, "num_statements": 36, "percent_covered": 94.44444444444444, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": [], "functions": {"VernamDecode.decode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "VernamDecode.decode": {"executed_lines": [88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 103, 104], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"VernamDecode": {"executed_lines": [62, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 103, 104], "summary": {"covered_lines": 16, "num_statements": 18, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vernam/encode.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 62, 64, 65, 77, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 103, 104], "summary": {"covered_lines": 34, "num_statements": 36, "percent_covered": 94.44444444444444, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": [], "functions": {"VernamEncode.encode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "VernamEncode.encode": {"executed_lines": [88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 103, 104], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"VernamEncode": {"executed_lines": [62, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 103, 104], "summary": {"covered_lines": 16, "num_statements": 18, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vigenere/__init__.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 34, 35, 36, 37, 38, 39, 40, 41, 44, 45, 57, 63], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [30, 32], "functions": {"Vigenere.__init__": {"executed_lines": [63], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 34, 35, 36, 37, 38, 39, 40, 41, 44, 45, 57], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [30, 32]}}, "classes": {"Vigenere": {"executed_lines": [63], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 34, 35, 36, 37, 38, 39, 40, 41, 44, 45, 57], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [30, 32]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vigenere/decode.py": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 59, 61, 62, 70, 72, 73, 85, 99, 100, 101, 102, 103, 105, 118, 119, 120, 121, 122, 126, 129], "summary": {"covered_lines": 35, "num_statements": 37, "percent_covered": 94.5945945945946, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 2}, "missing_lines": [82, 83], "excluded_lines": [29, 31], "functions": {"VigenereDecode.decode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [82, 83], "excluded_lines": []}, "VigenereDecode._split_data_decode": {"executed_lines": [99, 100, 101, 102, 103], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VigenereDecode.decode": {"executed_lines": [118, 119, 120, 121, 122, 126, 129], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 59, 61, 62, 72, 73, 85, 105], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"VigenereDecode": {"executed_lines": [70, 99, 100, 101, 102, 103, 118, 119, 120, 121, 122, 126, 129], "summary": {"covered_lines": 13, "num_statements": 15, "percent_covered": 86.66666666666667, "percent_covered_display": "87", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [82, 83], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 59, 61, 62, 72, 73, 85, 105], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vigenere/encode.py": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 59, 61, 62, 70, 72, 73, 85, 99, 100, 101, 102, 103, 105, 118, 119, 120, 121, 122, 126, 129], "summary": {"covered_lines": 35, "num_statements": 37, "percent_covered": 94.5945945945946, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 2}, "missing_lines": [82, 83], "excluded_lines": [29, 31], "functions": {"VigenereEncode.encode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [82, 83], "excluded_lines": []}, "VigenereEncode._split_data_encode": {"executed_lines": [99, 100, 101, 102, 103], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VigenereEncode.encode": {"executed_lines": [118, 119, 120, 121, 122, 126, 129], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 59, 61, 62, 72, 73, 85, 105], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"VigenereEncode": {"executed_lines": [70, 99, 100, 101, 102, 103, 118, 119, 120, 121, 122, 126, 129], "summary": {"covered_lines": 13, "num_statements": 15, "percent_covered": 86.66666666666667, "percent_covered_display": "87", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [82, 83], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 59, 61, 62, 72, 73, 85, 105], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vigenere/key_generator.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 53, 54, 56, 57, 67, 68, 77, 78, 80, 81, 89, 91, 92, 101, 102, 104, 111, 112, 113, 114, 117, 118, 119], "summary": {"covered_lines": 35, "num_statements": 37, "percent_covered": 94.5945945945946, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [65, 115], "excluded_lines": [], "functions": {"KeyGenerator.data_len": {"executed_lines": [77, 78], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "KeyGenerator.key": {"executed_lines": [101, 102], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "KeyGenerator.generate_key": {"executed_lines": [111, 112, 113, 114, 117, 118, 119], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [115], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 53, 54, 56, 57, 67, 68, 80, 81, 91, 92, 104], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"KeyGenerator": {"executed_lines": [77, 78, 89, 101, 102, 111, 112, 113, 114, 117, 118, 119], "summary": {"covered_lines": 12, "num_statements": 14, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [65, 115], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 53, 54, 56, 57, 67, 68, 80, 81, 91, 92, 104], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vigenere/lookup_table.py": {"executed_lines": [3, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 53, 54, 55, 56, 57, 58], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [3, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 53, 54, 55, 56, 57, 58], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"LookUpTable": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 53, 54, 55, 56, 57, 58], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}}, "totals": {"covered_lines": 532, "num_statements": 558, "percent_covered": 95.3405017921147, "percent_covered_display": "95", "missing_lines": 26, "excluded_lines": 20}}
\ No newline at end of file
diff --git a/tests/codecipher_coverage.xml b/tests/codecipher_coverage.xml
index 8f337c8..3778815 100644
--- a/tests/codecipher_coverage.xml
+++ b/tests/codecipher_coverage.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/tests/htmlcov/class_index.html b/tests/htmlcov/class_index.html
index 0ddaed4..0fd9c75 100644
--- a/tests/htmlcov/class_index.html
+++ b/tests/htmlcov/class_index.html
@@ -55,7 +55,7 @@
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
@@ -428,7 +428,7 @@
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
@@ -660,7 +660,7 @@
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
@@ -243,7 +243,7 @@
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
diff --git a/tests/htmlcov/z_094bd7de807a5f14_decode_py.html b/tests/htmlcov/z_094bd7de807a5f14_decode_py.html
index 7218067..f6a7049 100644
--- a/tests/htmlcov/z_094bd7de807a5f14_decode_py.html
+++ b/tests/htmlcov/z_094bd7de807a5f14_decode_py.html
@@ -65,7 +65,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
@@ -109,7 +109,7 @@
27__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
28__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
29__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
- 30__version__: str = '1.4.8'
+ 30__version__: str = '1.4.9'
31__maintainer__: str = 'Vladimir Roncevic'
32__email__: str = 'elektron.ronca@gmail.com'
33__status__: str = 'Updated'
@@ -199,7 +199,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
diff --git a/tests/htmlcov/z_094bd7de807a5f14_encode_py.html b/tests/htmlcov/z_094bd7de807a5f14_encode_py.html
index 4619c1c..8d77450 100644
--- a/tests/htmlcov/z_094bd7de807a5f14_encode_py.html
+++ b/tests/htmlcov/z_094bd7de807a5f14_encode_py.html
@@ -65,7 +65,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
@@ -109,7 +109,7 @@
27__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
28__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
29__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
- 30__version__: str = '1.4.8'
+ 30__version__: str = '1.4.9'
31__maintainer__: str = 'Vladimir Roncevic'
32__email__: str = 'elektron.ronca@gmail.com'
33__status__: str = 'Updated'
@@ -199,7 +199,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
diff --git a/tests/htmlcov/z_75799433d8182c47___init___py.html b/tests/htmlcov/z_75799433d8182c47___init___py.html
index f0c1251..819ff3c 100644
--- a/tests/htmlcov/z_75799433d8182c47___init___py.html
+++ b/tests/htmlcov/z_75799433d8182c47___init___py.html
@@ -65,7 +65,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
@@ -117,7 +117,7 @@
35__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
36__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
37__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
- 38__version__: str = '1.4.8'
+ 38__version__: str = '1.4.9'
39__maintainer__: str = 'Vladimir Roncevic'
40__email__: str = 'elektron.ronca@gmail.com'
41__status__: str = 'Updated'
@@ -152,7 +152,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
diff --git a/tests/htmlcov/z_75799433d8182c47_decode_py.html b/tests/htmlcov/z_75799433d8182c47_decode_py.html
index 79a39bd..afff84c 100644
--- a/tests/htmlcov/z_75799433d8182c47_decode_py.html
+++ b/tests/htmlcov/z_75799433d8182c47_decode_py.html
@@ -65,7 +65,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
@@ -116,7 +116,7 @@
34__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
35__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
36__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
- 37__version__: str = '1.4.8'
+ 37__version__: str = '1.4.9'
38__maintainer__: str = 'Vladimir Roncevic'
39__email__: str = 'elektron.ronca@gmail.com'
40__status__: str = 'Updated'
@@ -218,7 +218,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
diff --git a/tests/htmlcov/z_75799433d8182c47_encode_py.html b/tests/htmlcov/z_75799433d8182c47_encode_py.html
index a2cae74..85bd2f7 100644
--- a/tests/htmlcov/z_75799433d8182c47_encode_py.html
+++ b/tests/htmlcov/z_75799433d8182c47_encode_py.html
@@ -65,7 +65,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
@@ -116,7 +116,7 @@
34__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
35__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
36__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
- 37__version__: str = '1.4.8'
+ 37__version__: str = '1.4.9'
38__maintainer__: str = 'Vladimir Roncevic'
39__email__: str = 'elektron.ronca@gmail.com'
40__status__: str = 'Updated'
@@ -218,7 +218,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
diff --git a/tests/htmlcov/z_75799433d8182c47_key_generator_py.html b/tests/htmlcov/z_75799433d8182c47_key_generator_py.html
index ba0771d..cf6e57a 100644
--- a/tests/htmlcov/z_75799433d8182c47_key_generator_py.html
+++ b/tests/htmlcov/z_75799433d8182c47_key_generator_py.html
@@ -65,7 +65,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
@@ -109,7 +109,7 @@
27__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
28__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
29__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
- 30__version__: str = '1.4.8'
+ 30__version__: str = '1.4.9'
31__maintainer__: str = 'Vladimir Roncevic'
32__email__: str = 'elektron.ronca@gmail.com'
33__status__: str = 'Updated'
@@ -208,7 +208,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
diff --git a/tests/htmlcov/z_75799433d8182c47_lookup_table_py.html b/tests/htmlcov/z_75799433d8182c47_lookup_table_py.html
index 75d4f03..df9690f 100644
--- a/tests/htmlcov/z_75799433d8182c47_lookup_table_py.html
+++ b/tests/htmlcov/z_75799433d8182c47_lookup_table_py.html
@@ -65,7 +65,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
@@ -108,7 +108,7 @@
26__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
27__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
28__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
- 29__version__: str = '1.4.8'
+ 29__version__: str = '1.4.9'
30__maintainer__: str = 'Vladimir Roncevic'
31__email__: str = 'elektron.ronca@gmail.com'
32__status__: str = 'Updated'
@@ -147,7 +147,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
diff --git a/tests/htmlcov/z_7dc3960ecaf412e4___init___py.html b/tests/htmlcov/z_7dc3960ecaf412e4___init___py.html
index 917e7f6..4c59764 100644
--- a/tests/htmlcov/z_7dc3960ecaf412e4___init___py.html
+++ b/tests/htmlcov/z_7dc3960ecaf412e4___init___py.html
@@ -65,7 +65,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
@@ -107,7 +107,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
diff --git a/tests/htmlcov/z_8f54ab6b5b508ca0___init___py.html b/tests/htmlcov/z_8f54ab6b5b508ca0___init___py.html
index 4f24da8..d76aca2 100644
--- a/tests/htmlcov/z_8f54ab6b5b508ca0___init___py.html
+++ b/tests/htmlcov/z_8f54ab6b5b508ca0___init___py.html
@@ -65,7 +65,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
@@ -116,7 +116,7 @@
34__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
35__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
36__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
- 37__version__: str = '1.4.8'
+ 37__version__: str = '1.4.9'
38__maintainer__: str = 'Vladimir Roncevic'
39__email__: str = 'elektron.ronca@gmail.com'
40__status__: str = 'Updated'
@@ -151,7 +151,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
diff --git a/tests/htmlcov/z_8f54ab6b5b508ca0_decode_py.html b/tests/htmlcov/z_8f54ab6b5b508ca0_decode_py.html
index 24f7046..48f8f69 100644
--- a/tests/htmlcov/z_8f54ab6b5b508ca0_decode_py.html
+++ b/tests/htmlcov/z_8f54ab6b5b508ca0_decode_py.html
@@ -65,7 +65,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
@@ -110,7 +110,7 @@
28__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
29__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
30__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
- 31__version__: str = '1.4.8'
+ 31__version__: str = '1.4.9'
32__maintainer__: str = 'Vladimir Roncevic'
33__email__: str = 'elektron.ronca@gmail.com'
34__status__: str = 'Updated'
@@ -177,7 +177,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
diff --git a/tests/htmlcov/z_8f54ab6b5b508ca0_encode_py.html b/tests/htmlcov/z_8f54ab6b5b508ca0_encode_py.html
index bef1331..8636a52 100644
--- a/tests/htmlcov/z_8f54ab6b5b508ca0_encode_py.html
+++ b/tests/htmlcov/z_8f54ab6b5b508ca0_encode_py.html
@@ -65,7 +65,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
@@ -110,7 +110,7 @@
28__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
29__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
30__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
- 31__version__: str = '1.4.8'
+ 31__version__: str = '1.4.9'
32__maintainer__: str = 'Vladimir Roncevic'
33__email__: str = 'elektron.ronca@gmail.com'
34__status__: str = 'Updated'
@@ -177,7 +177,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
diff --git a/tests/htmlcov/z_96938f9400a5cdf6___init___py.html b/tests/htmlcov/z_96938f9400a5cdf6___init___py.html
index b7d9db0..46698d4 100644
--- a/tests/htmlcov/z_96938f9400a5cdf6___init___py.html
+++ b/tests/htmlcov/z_96938f9400a5cdf6___init___py.html
@@ -65,7 +65,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
@@ -116,7 +116,7 @@
34__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
35__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
36__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
- 37__version__: str = '1.4.8'
+ 37__version__: str = '1.4.9'
38__maintainer__: str = 'Vladimir Roncevic'
39__email__: str = 'elektron.ronca@gmail.com'
40__status__: str = 'Updated'
@@ -151,7 +151,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
diff --git a/tests/htmlcov/z_96938f9400a5cdf6_decode_py.html b/tests/htmlcov/z_96938f9400a5cdf6_decode_py.html
index c22a718..6a76306 100644
--- a/tests/htmlcov/z_96938f9400a5cdf6_decode_py.html
+++ b/tests/htmlcov/z_96938f9400a5cdf6_decode_py.html
@@ -65,7 +65,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
@@ -109,7 +109,7 @@
27__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
28__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
29__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
- 30__version__: str = '1.4.8'
+ 30__version__: str = '1.4.9'
31__maintainer__: str = 'Vladimir Roncevic'
32__email__: str = 'elektron.ronca@gmail.com'
33__status__: str = 'Updated'
@@ -188,7 +188,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
diff --git a/tests/htmlcov/z_96938f9400a5cdf6_encode_py.html b/tests/htmlcov/z_96938f9400a5cdf6_encode_py.html
index 1a5791e..56aa396 100644
--- a/tests/htmlcov/z_96938f9400a5cdf6_encode_py.html
+++ b/tests/htmlcov/z_96938f9400a5cdf6_encode_py.html
@@ -65,7 +65,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
@@ -109,7 +109,7 @@
27__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
28__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
29__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
- 30__version__: str = '1.4.8'
+ 30__version__: str = '1.4.9'
31__maintainer__: str = 'Vladimir Roncevic'
32__email__: str = 'elektron.ronca@gmail.com'
33__status__: str = 'Updated'
@@ -188,7 +188,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
diff --git a/tests/htmlcov/z_9927f90504198b80___init___py.html b/tests/htmlcov/z_9927f90504198b80___init___py.html
index db404a7..b5b303c 100644
--- a/tests/htmlcov/z_9927f90504198b80___init___py.html
+++ b/tests/htmlcov/z_9927f90504198b80___init___py.html
@@ -65,7 +65,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
@@ -116,7 +116,7 @@
34__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
35__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
36__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
- 37__version__: str = '1.4.8'
+ 37__version__: str = '1.4.9'
38__maintainer__: str = 'Vladimir Roncevic'
39__email__: str = 'elektron.ronca@gmail.com'
40__status__: str = 'Updated'
@@ -151,7 +151,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
diff --git a/tests/htmlcov/z_9927f90504198b80_decode_py.html b/tests/htmlcov/z_9927f90504198b80_decode_py.html
index 90c1414..e09298e 100644
--- a/tests/htmlcov/z_9927f90504198b80_decode_py.html
+++ b/tests/htmlcov/z_9927f90504198b80_decode_py.html
@@ -65,7 +65,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
@@ -116,7 +116,7 @@
34__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
35__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
36__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
- 37__version__: str = '1.4.8'
+ 37__version__: str = '1.4.9'
38__maintainer__: str = 'Vladimir Roncevic'
39__email__: str = 'elektron.ronca@gmail.com'
40__status__: str = 'Updated'
@@ -186,7 +186,7 @@
» next
coverage.py v7.6.10,
- created at 2025-11-01 07:55 +0100
+ created at 2025-11-03 18:18 +0100
34__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
35__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
36__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-37__version__: str = '1.4.8'
+37__version__: str = '1.4.9'
38__maintainer__: str = 'Vladimir Roncevic'
39__email__: str = 'elektron.ronca@gmail.com'
40__status__: str = 'Updated'
@@ -186,7 +186,7 @@25__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
26__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
27__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-28__version__: str = '1.4.8'
+28__version__: str = '1.4.9'
29__maintainer__: str = 'Vladimir Roncevic'
30__email__: str = 'elektron.ronca@gmail.com'
31__status__: str = 'Updated'
@@ -136,7 +136,7 @@34__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
35__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
36__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-37__version__: str = '1.4.8'
+37__version__: str = '1.4.9'
38__maintainer__: str = 'Vladimir Roncevic'
39__email__: str = 'elektron.ronca@gmail.com'
40__status__: str = 'Updated'
@@ -151,7 +151,7 @@27__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
28__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
29__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-30__version__: str = '1.4.8'
+30__version__: str = '1.4.9'
31__maintainer__: str = 'Vladimir Roncevic'
32__email__: str = 'elektron.ronca@gmail.com'
33__status__: str = 'Updated'
@@ -193,7 +193,7 @@27__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
28__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
29__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-30__version__: str = '1.4.8'
+30__version__: str = '1.4.9'
31__maintainer__: str = 'Vladimir Roncevic'
32__email__: str = 'elektron.ronca@gmail.com'
33__status__: str = 'Updated'
@@ -193,7 +193,7 @@