summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraktersnurra <gustaf.rydholm@gmail.com>2021-01-24 22:14:17 +0100
committeraktersnurra <gustaf.rydholm@gmail.com>2021-01-24 22:14:17 +0100
commit4a54d7e690897dd6e6c719fb908fd371a44c2952 (patch)
tree04722ac94b9c3960baa5db7939d7ef01dbf535a6
parentd691b548cd0b6fc4ea184d64261f633789fee021 (diff)
Many updates, cool stuff on the way.
-rw-r--r--.flake84
-rw-r--r--README.md68
-rw-r--r--poetry.lock495
-rw-r--r--pyproject.toml14
-rw-r--r--src/notebooks/00-testing-stuff-out.ipynb312
-rw-r--r--src/notebooks/02c-image-patches.ipynb65
-rw-r--r--src/notebooks/04a-look-at-iam-lines.ipynb295
-rw-r--r--src/notebooks/06-try-transformer-model-predictions.ipynb (renamed from src/notebooks/Untitled.ipynb)0
-rw-r--r--src/notebooks/07-look-at-lexicon.ipynb1119
-rw-r--r--src/notebooks/07-try-gtn.ipynb155
-rw-r--r--src/notebooks/g1.pngbin0 -> 8590 bytes
-rw-r--r--src/notebooks/g2.pngbin0 -> 5247 bytes
-rw-r--r--src/notebooks/intersect.pngbin0 -> 7953 bytes
-rw-r--r--src/tasks/build_transitions.py263
-rw-r--r--src/tasks/make_wordpieces.py114
-rw-r--r--src/text_recognizer/datasets/__init__.py3
-rw-r--r--src/text_recognizer/datasets/iam_preprocessor.py196
-rw-r--r--src/text_recognizer/datasets/transforms.py45
-rw-r--r--src/text_recognizer/models/__init__.py2
-rw-r--r--src/text_recognizer/models/base.py2
-rw-r--r--src/text_recognizer/models/transformer_model.py12
-rw-r--r--src/text_recognizer/models/vqvae_model.py80
-rw-r--r--src/text_recognizer/networks/__init__.py8
-rw-r--r--src/text_recognizer/networks/cnn.py101
-rw-r--r--src/text_recognizer/networks/cnn_transformer.py15
-rw-r--r--src/text_recognizer/networks/metrics.py33
-rw-r--r--src/text_recognizer/networks/transducer/__init__.py2
-rw-r--r--src/text_recognizer/networks/transducer/tds_conv.py205
-rw-r--r--src/text_recognizer/networks/util.py9
-rw-r--r--src/text_recognizer/networks/vq_transformer.py150
-rw-r--r--src/text_recognizer/networks/vqvae/__init__.py4
-rw-r--r--src/text_recognizer/networks/vqvae/decoder.py133
-rw-r--r--src/text_recognizer/networks/vqvae/encoder.py125
-rw-r--r--src/text_recognizer/networks/vqvae/vector_quantizer.py2
-rw-r--r--src/text_recognizer/networks/vqvae/vqvae.py74
-rw-r--r--src/text_recognizer/weights/VQVAEModel_IamLinesDataset_VQVAE_weights.ptbin0 -> 21687018 bytes
-rw-r--r--src/training/run_experiment.py7
-rw-r--r--src/training/trainer/callbacks/__init__.py8
-rw-r--r--src/training/trainer/callbacks/wandb_callbacks.py58
-rw-r--r--src/training/trainer/train.py94
40 files changed, 3541 insertions, 731 deletions
diff --git a/.flake8 b/.flake8
index 8e1c0eb..eff48a6 100644
--- a/.flake8
+++ b/.flake8
@@ -1,9 +1,9 @@
[flake8]
select = ANN,B,B9,BLK,C,D,DAR,E,F,I,S,W
-ignore = E203,E501,W503,ANN101,ANN002,ANN003,F401,D202,S404,D107,S607,S603,S310,S106
+ignore = E203,E501,W503,ANN101,ANN002,ANN003,F401,D202,S404,D107,S607,S603,S310,S106,S311
max-line-length = 120
max-complexity = 10
application-import-names = text_recognizer,tests
import-order-style = google
docstring-convention = google
-per-file-ignores = tests/*:S101,tests/*:S106,src/text_recognizer/datasets/*:S110,src/training/callbacks/*:B006
+per-file-ignores = tests/*:S101,tests/*:S106,src/text_recognizer/datasets/*:S110,src/training/callbacks/*:B006,src/tasks/build_transitions.py:C901
diff --git a/README.md b/README.md
index 0330372..a589c92 100644
--- a/README.md
+++ b/README.md
@@ -1,64 +1,28 @@
# Text Recognizer
-Implementing the text recognizer project from the course ["Full Stack Deep Learning Course"](https://fullstackdeeplearning.com/march2019) in PyTorch in order to learn best practices when building a deep learning project. I have expanded on this project by adding additional feature and ideas given by Claudio Jolowicz in ["Hypermodern Python"](https://cjolowicz.github.io/posts/hypermodern-python-01-setup/).
+Implementing the text recognizer project from the course ["Full Stack Deep Learning Course"](https://fullstackdeeplearning.com/march2019) (FSDL) in PyTorch in order to learn best practices when building a deep learning project. I have expanded on this project by adding additional feature and ideas given by Claudio Jolowicz in ["Hypermodern Python"](https://cjolowicz.github.io/posts/hypermodern-python-01-setup/).
## Setup
TBC
-## Todo
-- [x] subsampling
-- [x] Be able to run experiments
-- [x] Train models
-- [x] Fix input size in base model
-- [x] Fix s.t. the best weights are saved
-- [x] Implement total training time
-- [x] Fix tqdm and logging output
-- [x] Fix basic test to load model
-- [x] Fix loading previous experiments
-- [x] Able to set verbosity level on the logger to terminal output
-- [x] Implement Callbacks for training
- - [x] Implement early stopping
- - [x] Implement wandb
- - [x] Implement lr scheduler as a callback
- - [x] Implement save checkpoint callback
- - [x] Implement TQDM progress bar (Low priority)
-- [ ] Check that dataset exists, otherwise download it form the web. Do this in run_experiment.py.
-- [x] Create repr func for data loaders
-- [ ] Be able to restart with lr scheduler (May skip this)
-- [ ] Implement population based training
-- [x] Implement Bayesian hyperparameter search (with W&B maybe)
-- [x] Try to fix shell cmd security issues S404, S602
-- [x] Change prepare_experiment.py to print statements st it can be run with tasks/prepare_sample_experiments.sh | parallel -j1
-- [x] Fix caption in WandbImageLogger
-- [x] Rename val_accuracy in metric
-- [x] Start implementing callback list stuff in train.py
-- [x] Fix s.t. callbacks can be loaded in run_experiment.py
-- [x] Lift out Emnist dataset out of Emnist dataloaders
-- [x] Finish Emnist line dataset
-- [x] SentenceGenerator
-- [x] Write a Emnist line data loader
-- [x] Implement ctc line model
- - [x] Implement CNN encoder (ResNet style)
- - [x] Implement the RNN + output layer
- - [x] Construct/implement the CTC loss
-- [x] Sweep base config yaml file
-- [x] sweep.py
-- [x] sweep.yaml
-- [x] Fix dataset splits.
-- [x] Implement predict on image
-- [x] CTC decoder
-- [x] IAM dataset
-- [x] IAM Lines dataset
-- [x] IAM paragraphs dataset
-- [ ] CNN + Transformer (!!)
-- [ ] CNN + GPT
-- [ ] fix nosec problem
-- [x] common Dataset class
-- [x] Fix CTC blank stuff and varying length
-- [x] Metric Learning for backbone training
+
+
+## Todo
+- [ ] create wordpieces
+ - [x] make_wordpieces.py
+ - [x] build_transitions.py
+ - [ ] transform that encodes iam targets to wordpieces
+ - [ ] transducer loss function
+- [ ] Predictive coding
+ - https://arxiv.org/pdf/1807.03748.pdf
+ - https://arxiv.org/pdf/1904.05862.pdf
+ - https://arxiv.org/pdf/1910.05453.pdf
+ - https://blog.evjang.com/2016/11/tutorial-categorical-variational.html
+ - [ ]
+
## Run Sweeps
Run the following commands to execute hyperparameter search with W&B:
diff --git a/poetry.lock b/poetry.lock
index c0c061c..7f715d8 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -15,7 +15,7 @@ python-versions = "*"
version = "1.4.4"
[[package]]
-category = "dev"
+category = "main"
description = "Disable App Nap on OS X 10.9"
marker = "sys_platform == \"darwin\" or platform_system == \"Darwin\" or python_version >= \"3.3\" and sys_platform == \"darwin\""
name = "appnope"
@@ -24,7 +24,7 @@ python-versions = "*"
version = "0.1.0"
[[package]]
-category = "dev"
+category = "main"
description = "The secure Argon2 password hashing algorithm."
name = "argon2-cffi"
optional = false
@@ -41,7 +41,7 @@ docs = ["sphinx"]
tests = ["coverage (>=5.0.2)", "hypothesis", "pytest"]
[[package]]
-category = "dev"
+category = "main"
description = "Async generators and context managers for Python 3.5+"
name = "async-generator"
optional = false
@@ -83,7 +83,7 @@ version = "2.9.0"
pytz = ">=2015.7"
[[package]]
-category = "dev"
+category = "main"
description = "Specifications for callback functions passed in to an API"
name = "backcall"
optional = false
@@ -126,7 +126,7 @@ typed-ast = ">=1.4.0"
d = ["aiohttp (>=3.3.2)", "aiohttp-cors"]
[[package]]
-category = "dev"
+category = "main"
description = "An easy safelist-based HTML-sanitizing tool."
name = "bleach"
optional = false
@@ -166,7 +166,7 @@ python-versions = "*"
version = "2020.11.8"
[[package]]
-category = "dev"
+category = "main"
description = "Foreign Function Interface for Python calling C code."
name = "cffi"
optional = false
@@ -245,8 +245,8 @@ category = "main"
description = "A utility for ensuring Google-style docstrings stay up to date with the source code."
name = "darglint"
optional = false
-python-versions = ">=3.5,<4.0"
-version = "1.5.5"
+python-versions = ">=3.6,<4.0"
+version = "1.5.6"
[[package]]
category = "main"
@@ -257,7 +257,7 @@ python-versions = "*"
version = "0.6"
[[package]]
-category = "dev"
+category = "main"
description = "Decorators for Humans"
name = "decorator"
optional = false
@@ -277,17 +277,17 @@ category = "main"
description = "Deserialize to objects while staying DRY"
name = "desert"
optional = false
-python-versions = "*"
-version = "2020.1.6"
+python-versions = ">=3.6"
+version = "2020.11.18"
[package.dependencies]
attrs = "*"
-dataclasses = "*"
marshmallow = ">=3.0"
typing-inspect = "*"
[package.extras]
-dev = ["coverage", "cuvner", "pytest", "tox", "versioneer", "black", "pylint", "pex", "bump2version", "docutils", "check-manifest", "readme-renderer", "pygments", "isort", "mypy", "pytest-sphinx", "towncrier", "marshmallow-union", "marshmallow-enum", "twine", "wheel"]
+dev = ["coverage", "cuvner", "marshmallow-enum", "marshmallow-union", "pytest", "pytest-cov", "pytest-sphinx", "pytest-travis-fold", "tox", "importlib-metadata", "versioneer", "black", "pylint", "pex", "bump2version", "docutils", "check-manifest", "readme-renderer", "pygments", "isort", "mypy", "towncrier", "twine", "wheel"]
+test = ["coverage", "cuvner", "marshmallow-enum", "marshmallow-union", "pytest", "pytest-cov", "pytest-sphinx", "pytest-travis-fold", "tox", "importlib-metadata"]
[[package]]
category = "main"
@@ -330,10 +330,10 @@ description = "A new flavour of deep learning operations"
name = "einops"
optional = false
python-versions = "*"
-version = "0.2.0"
+version = "0.3.0"
[[package]]
-category = "dev"
+category = "main"
description = "Discover and load entry points from installed packages."
name = "entrypoints"
optional = false
@@ -353,10 +353,6 @@ mccabe = ">=0.6.0,<0.7.0"
pycodestyle = ">=2.6.0a1,<2.7.0"
pyflakes = ">=2.2.0,<2.3.0"
-[package.dependencies.importlib-metadata]
-python = "<3.8"
-version = "*"
-
[[package]]
category = "main"
description = "Flake8 Type Annotation Checks"
@@ -368,10 +364,6 @@ version = "2.4.1"
[package.dependencies]
flake8 = ">=3.7,<3.9"
-[package.dependencies.typed-ast]
-python = "<3.8"
-version = ">=1.4,<2.0"
-
[[package]]
category = "dev"
description = "Automated security testing with bandit and flake8."
@@ -493,34 +485,25 @@ six = ">=1.7"
test = ["mock (>=2.0.0)", "pytest (<5.0)"]
[[package]]
-category = "main"
-description = "GraphQL client for Python"
-name = "gql"
+category = "dev"
+description = "Simple Python interface for Graphviz"
+name = "graphviz"
optional = false
-python-versions = "*"
-version = "0.2.0"
+python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*"
+version = "0.16"
-[package.dependencies]
-graphql-core = ">=0.5.0,<2"
-promise = ">=2.0,<3"
-requests = ">=2.12,<3"
-six = ">=1.10.0"
+[package.extras]
+dev = ["tox (>=3)", "flake8", "pep8-naming", "wheel", "twine"]
+docs = ["sphinx (>=1.8)", "sphinx-rtd-theme"]
+test = ["mock (>=3)", "pytest (>=4)", "pytest-mock (>=2)", "pytest-cov"]
[[package]]
category = "main"
-description = "GraphQL implementation for Python"
-name = "graphql-core"
+description = "Automatic differentiation with WFSTs"
+name = "gtn"
optional = false
-python-versions = "*"
-version = "1.1"
-
-[package.dependencies]
-promise = ">=2.0"
-six = ">=1.10.0"
-
-[package.extras]
-gevent = ["gevent (1.1rc1)"]
-test = ["pytest (3.0.2)", "pytest-django (2.9.1)", "pytest-cov (2.3.1)", "coveralls", "gevent (1.1rc1)", "six (>=1.10.0)", "pytest-benchmark (3.0.0)", "pytest-mock (1.2)"]
+python-versions = ">=3.5"
+version = "0.0.0"
[[package]]
category = "main"
@@ -551,36 +534,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
version = "1.2.0"
[[package]]
-category = "dev"
-description = "A library to calculate python dependency graphs."
-marker = "python_version == \"3.7\""
-name = "importlab"
-optional = false
-python-versions = ">=2.7.0"
-version = "0.5.1"
-
-[package.dependencies]
-networkx = "*"
-six = "*"
-
-[[package]]
category = "main"
-description = "Read metadata from Python packages"
-marker = "python_version < \"3.8\""
-name = "importlib-metadata"
-optional = false
-python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
-version = "2.0.0"
-
-[package.dependencies]
-zipp = ">=0.5"
-
-[package.extras]
-docs = ["sphinx", "rst.linker"]
-testing = ["packaging", "pep517", "importlib-resources (>=1.3)"]
-
-[[package]]
-category = "dev"
description = "IPython Kernel for Jupyter"
name = "ipykernel"
optional = false
@@ -598,7 +552,7 @@ traitlets = ">=4.1.0"
test = ["pytest (!=5.3.4)", "pytest-cov", "flaky", "nose"]
[[package]]
-category = "dev"
+category = "main"
description = "IPython: Productive Interactive Computing"
name = "ipython"
optional = false
@@ -630,7 +584,7 @@ qtconsole = ["qtconsole"]
test = ["nose (>=0.10.1)", "requests", "testpath", "pygments", "nbformat", "ipykernel", "numpy (>=1.14)"]
[[package]]
-category = "dev"
+category = "main"
description = "Vestigial utilities from IPython"
name = "ipython-genutils"
optional = false
@@ -659,7 +613,7 @@ version = ">=4.0.0"
test = ["pytest (>=3.6.0)", "pytest-cov", "mock"]
[[package]]
-category = "dev"
+category = "main"
description = "An autocompletion tool for Python that can be used for text editors."
name = "jedi"
optional = false
@@ -696,7 +650,7 @@ python-versions = ">=3.6"
version = "0.17.0"
[[package]]
-category = "dev"
+category = "main"
description = "An implementation of JSON Schema validation for Python"
name = "jsonschema"
optional = false
@@ -709,10 +663,6 @@ pyrsistent = ">=0.14.0"
setuptools = "*"
six = ">=1.11.0"
-[package.dependencies.importlib-metadata]
-python = "<3.8"
-version = "*"
-
[package.extras]
format = ["idna", "jsonpointer (>1.13)", "rfc3987", "strict-rfc3339", "webcolors"]
format_nongpl = ["idna", "jsonpointer (>1.13)", "webcolors", "rfc3986-validator (>0.1.0)", "rfc3339-validator"]
@@ -734,7 +684,7 @@ notebook = "*"
qtconsole = "*"
[[package]]
-category = "dev"
+category = "main"
description = "Jupyter protocol implementation and client libraries"
name = "jupyter-client"
optional = false
@@ -770,19 +720,19 @@ pygments = "*"
test = ["pexpect"]
[[package]]
-category = "dev"
+category = "main"
description = "Jupyter core package. A base package on which Jupyter projects rely."
name = "jupyter-core"
optional = false
-python-versions = "!=3.0,!=3.1,!=3.2,!=3.3,!=3.4,>=2.7"
-version = "4.6.3"
+python-versions = ">=3.6"
+version = "4.7.0"
[package.dependencies]
pywin32 = ">=1.0"
traitlets = "*"
[[package]]
-category = "dev"
+category = "main"
description = "Pygments theme using JupyterLab CSS variables"
name = "jupyterlab-pygments"
optional = false
@@ -794,6 +744,21 @@ pygments = ">=2.4.1,<3"
[[package]]
category = "main"
+description = "Select and install a Jupyter notebook theme"
+name = "jupyterthemes"
+optional = false
+python-versions = "*"
+version = "0.20.0"
+
+[package.dependencies]
+ipython = ">=5.4.1"
+jupyter-core = "*"
+lesscpy = ">=0.11.2"
+matplotlib = ">=1.4.3"
+notebook = ">=5.6.0"
+
+[[package]]
+category = "main"
description = "A fast implementation of the Cassowary constraint solver"
name = "kiwisolver"
optional = false
@@ -802,6 +767,18 @@ version = "1.3.1"
[[package]]
category = "main"
+description = "Python LESS compiler"
+name = "lesscpy"
+optional = false
+python-versions = "*"
+version = "0.14.0"
+
+[package.dependencies]
+ply = "*"
+six = "*"
+
+[[package]]
+category = "main"
description = "Python logging made (stupidly) simple"
name = "loguru"
optional = false
@@ -862,7 +839,7 @@ python-versions = "*"
version = "0.6.1"
[[package]]
-category = "dev"
+category = "main"
description = "The fastest markdown parser in pure Python"
name = "mistune"
optional = false
@@ -902,7 +879,7 @@ python-versions = "*"
version = "0.4.3"
[[package]]
-category = "dev"
+category = "main"
description = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor."
name = "nbclient"
optional = false
@@ -922,7 +899,7 @@ sphinx = ["Sphinx (>=1.7)", "sphinx-book-theme", "mock", "moto", "myst-parser"]
test = ["codecov", "coverage", "ipython", "ipykernel", "ipywidgets", "pytest (>=4.1)", "pytest-cov (>=2.6.1)", "check-manifest", "flake8", "mypy", "tox", "bumpversion", "xmltodict", "pip (>=18.1)", "wheel (>=0.31.0)", "setuptools (>=38.6.0)", "twine (>=1.11.0)", "black"]
[[package]]
-category = "dev"
+category = "main"
description = "Converting Jupyter Notebooks"
name = "nbconvert"
optional = false
@@ -952,7 +929,7 @@ test = ["pytest", "pytest-cov", "pytest-dependency", "ipykernel", "ipywidgets (>
webpdf = ["pyppeteer (0.2.2)"]
[[package]]
-category = "dev"
+category = "main"
description = "The Jupyter Notebook format"
name = "nbformat"
optional = false
@@ -970,7 +947,7 @@ fast = ["fastjsonschema"]
test = ["fastjsonschema", "testpath", "pytest", "pytest-cov"]
[[package]]
-category = "dev"
+category = "main"
description = "Patch asyncio to allow nested event loops"
name = "nest-asyncio"
optional = false
@@ -978,40 +955,6 @@ python-versions = ">=3.5"
version = "1.4.3"
[[package]]
-category = "dev"
-description = "Python package for creating and manipulating graphs and networks"
-marker = "python_version == \"3.7\""
-name = "networkx"
-optional = false
-python-versions = ">=3.6"
-version = "2.5"
-
-[package.dependencies]
-decorator = ">=4.3.0"
-
-[package.extras]
-all = ["numpy", "scipy", "pandas", "matplotlib", "pygraphviz", "pydot", "pyyaml", "lxml", "pytest"]
-gdal = ["gdal"]
-lxml = ["lxml"]
-matplotlib = ["matplotlib"]
-numpy = ["numpy"]
-pandas = ["pandas"]
-pydot = ["pydot"]
-pygraphviz = ["pygraphviz"]
-pytest = ["pytest"]
-pyyaml = ["pyyaml"]
-scipy = ["scipy"]
-
-[[package]]
-category = "dev"
-description = "Ninja is a small build system with a focus on speed"
-marker = "python_version == \"3.7\""
-name = "ninja"
-optional = false
-python-versions = "*"
-version = "1.10.0.post2"
-
-[[package]]
category = "main"
description = "Natural Language Toolkit"
name = "nltk"
@@ -1034,7 +977,7 @@ tgrep = ["pyparsing"]
twitter = ["twython"]
[[package]]
-category = "dev"
+category = "main"
description = "A web-based notebook environment for interactive computing"
name = "notebook"
optional = false
@@ -1070,7 +1013,7 @@ python-versions = ">=3.6"
version = "1.19.4"
[[package]]
-category = "main"
+category = "dev"
description = "Python Bindings for the NVIDIA Management Library"
name = "nvidia-ml-py3"
optional = false
@@ -1110,7 +1053,7 @@ pyparsing = ">=2.0.2"
six = "*"
[[package]]
-category = "dev"
+category = "main"
description = "Utilities for writing pandoc filters in python"
name = "pandocfilters"
optional = false
@@ -1118,9 +1061,8 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
version = "1.4.3"
[[package]]
-category = "dev"
+category = "main"
description = "A Python Parser"
-marker = "python_version >= \"3.3\""
name = "parso"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
@@ -1154,7 +1096,7 @@ python-versions = ">=2.6"
version = "5.5.1"
[[package]]
-category = "dev"
+category = "main"
description = "Pexpect allows easy control of interactive console applications."
marker = "python_version >= \"3.3\" and sys_platform != \"win32\" or sys_platform != \"win32\""
name = "pexpect"
@@ -1166,7 +1108,7 @@ version = "4.8.0"
ptyprocess = ">=0.5"
[[package]]
-category = "dev"
+category = "main"
description = "Tiny 'shelve'-like database with concurrency support"
name = "pickleshare"
optional = false
@@ -1189,16 +1131,19 @@ optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
version = "0.13.1"
-[package.dependencies]
-[package.dependencies.importlib-metadata]
-python = "<3.8"
-version = ">=0.12"
-
[package.extras]
dev = ["pre-commit", "tox"]
[[package]]
-category = "dev"
+category = "main"
+description = "Python Lex & Yacc"
+name = "ply"
+optional = false
+python-versions = "*"
+version = "3.11"
+
+[[package]]
+category = "main"
description = "Python client for the Prometheus monitoring system."
name = "prometheus-client"
optional = false
@@ -1223,7 +1168,7 @@ six = "*"
test = ["pytest (>=2.7.3)", "pytest-cov", "coveralls", "futures", "pytest-benchmark", "mock"]
[[package]]
-category = "dev"
+category = "main"
description = "Library for building powerful interactive command lines in Python"
name = "prompt-toolkit"
optional = false
@@ -1235,6 +1180,17 @@ wcwidth = "*"
[[package]]
category = "main"
+description = "Protocol Buffers"
+name = "protobuf"
+optional = false
+python-versions = "*"
+version = "3.14.0"
+
+[package.dependencies]
+six = ">=1.9"
+
+[[package]]
+category = "main"
description = "Cross-platform lib for process and system monitoring in Python."
name = "psutil"
optional = false
@@ -1245,9 +1201,9 @@ version = "5.7.3"
test = ["ipaddress", "mock", "unittest2", "enum34", "pywin32", "wmi"]
[[package]]
-category = "dev"
+category = "main"
description = "Run a subprocess in a pseudo terminal"
-marker = "python_version >= \"3.3\" and sys_platform != \"win32\" or os_name != \"nt\""
+marker = "python_version >= \"3.3\" and sys_platform != \"win32\" or sys_platform != \"win32\" or os_name != \"nt\" or python_version >= \"3.3\" and sys_platform != \"win32\" and (python_version >= \"3.3\" and sys_platform != \"win32\" or sys_platform != \"win32\")"
name = "ptyprocess"
optional = false
python-versions = "*"
@@ -1270,7 +1226,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
version = "2.6.0"
[[package]]
-category = "dev"
+category = "main"
description = "C parser in Python"
name = "pycparser"
optional = false
@@ -1313,7 +1269,7 @@ python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
version = "2.4.7"
[[package]]
-category = "dev"
+category = "main"
description = "Persistent/Functional/Immutable data structures"
name = "pyrsistent"
optional = false
@@ -1338,10 +1294,6 @@ pluggy = ">=0.12,<1.0"
py = ">=1.5.0"
wcwidth = "*"
-[package.dependencies.importlib-metadata]
-python = "<3.8"
-version = ">=0.12"
-
[package.extras]
checkqa-mypy = ["mypy (v0.761)"]
testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"]
@@ -1399,14 +1351,6 @@ setuptools = "*"
[[package]]
category = "main"
-description = "PyTorch extension for fast block sparse matrices computation, drop in replacement for torch.nn.Linear."
-name = "pytorch-block-sparse"
-optional = false
-python-versions = "*"
-version = "0.1.2"
-
-[[package]]
-category = "main"
description = "The easiest way to use deep metric learning in your application. Modular, flexible, and extensible. Written in PyTorch."
name = "pytorch-metric-learning"
optional = false
@@ -1426,23 +1370,6 @@ with-hooks = ["record-keeper (>=0.9.29)", "faiss-gpu (>=1.6.3)", "tensorboard"]
with-hooks-cpu = ["record-keeper (>=0.9.29)", "faiss-cpu (>=1.6.3)", "tensorboard"]
[[package]]
-category = "dev"
-description = "Python type inferencer"
-marker = "python_version == \"3.7\""
-name = "pytype"
-optional = false
-python-versions = "<3.9,>=3.6"
-version = "2020.11.12"
-
-[package.dependencies]
-attrs = "*"
-importlab = ">=0.5.1"
-ninja = ">=1.10.0.post2"
-pyyaml = ">=3.11"
-six = "*"
-typed_ast = "*"
-
-[[package]]
category = "main"
description = "World timezone definitions, modern and historical"
name = "pytz"
@@ -1451,7 +1378,7 @@ python-versions = "*"
version = "2020.4"
[[package]]
-category = "dev"
+category = "main"
description = "Python for Window Extensions"
marker = "sys_platform == \"win32\""
name = "pywin32"
@@ -1460,7 +1387,7 @@ python-versions = "*"
version = "300"
[[package]]
-category = "dev"
+category = "main"
description = "Python bindings for the winpty library"
marker = "os_name == \"nt\""
name = "pywinpty"
@@ -1477,7 +1404,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
version = "5.3.1"
[[package]]
-category = "dev"
+category = "main"
description = "Python bindings for 0MQ"
name = "pyzmq"
optional = false
@@ -1610,7 +1537,7 @@ version = "1.5.4"
numpy = ">=1.14.5"
[[package]]
-category = "dev"
+category = "main"
description = "Send file to trash natively under Mac OS X, Windows and Linux."
name = "send2trash"
optional = false
@@ -1619,11 +1546,19 @@ version = "1.5.0"
[[package]]
category = "main"
+description = "SentencePiece python wrapper"
+name = "sentencepiece"
+optional = false
+python-versions = "*"
+version = "0.1.95"
+
+[[package]]
+category = "main"
description = "Python client for Sentry (https://sentry.io)"
name = "sentry-sdk"
optional = false
python-versions = "*"
-version = "0.19.3"
+version = "0.19.4"
[package.dependencies]
certifi = "*"
@@ -1817,10 +1752,6 @@ version = "3.2.2"
[package.dependencies]
pbr = ">=2.0.0,<2.1.0 || >2.1.0"
-[package.dependencies.importlib-metadata]
-python = "<3.8"
-version = ">=1.7.0"
-
[[package]]
category = "main"
description = "A backport of the subprocess module from Python 3 for use on 2.x."
@@ -1830,7 +1761,7 @@ python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4"
version = "3.5.4"
[[package]]
-category = "dev"
+category = "main"
description = "Tornado websocket backend for the Xterm.js Javascript terminal emulator library."
name = "terminado"
optional = false
@@ -1843,7 +1774,7 @@ pywinpty = ">=0.5"
tornado = ">=4"
[[package]]
-category = "dev"
+category = "main"
description = "Test utilities for code working with files and commands"
name = "testpath"
optional = false
@@ -1908,7 +1839,7 @@ torch = "1.7.0"
scipy = ["scipy"]
[[package]]
-category = "dev"
+category = "main"
description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed."
name = "tornado"
optional = false
@@ -1920,14 +1851,14 @@ category = "main"
description = "Fast, Extensible Progress Meter"
name = "tqdm"
optional = false
-python-versions = ">=2.6, !=3.0.*, !=3.1.*"
-version = "4.52.0"
+python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7"
+version = "4.53.0"
[package.extras]
dev = ["py-make (>=0.1.0)", "twine", "argopt", "pydoc-markdown", "wheel"]
[[package]]
-category = "dev"
+category = "main"
description = "Traitlets Python configuration system"
name = "traitlets"
optional = false
@@ -1941,7 +1872,7 @@ ipython-genutils = "*"
test = ["pytest"]
[[package]]
-category = "main"
+category = "dev"
description = "a fork of Python 2 and 3 ast modules with type comment support"
name = "typed-ast"
optional = false
@@ -1999,28 +1930,29 @@ description = "A CLI and library for interacting with the Weights and Biases API
name = "wandb"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-version = "0.9.7"
+version = "0.10.12"
[package.dependencies]
Click = ">=7.0"
GitPython = ">=1.0.0"
-PyYAML = ">=3.10"
+PyYAML = "*"
configparser = ">=3.8.1"
docker-pycreds = ">=0.4.0"
-gql = "0.2.0"
-nvidia-ml-py3 = ">=7.352.0"
+promise = ">=2.0,<3"
+protobuf = ">=3.12.0"
psutil = ">=5.0.0"
python-dateutil = ">=2.6.1"
-requests = ">=2.0.0"
+requests = ">=2.0.0,<3"
sentry-sdk = ">=0.4.0"
shortuuid = ">=0.5.0"
-six = ">=1.10.0"
+six = ">=1.13.0"
subprocess32 = ">=3.5.3"
watchdog = ">=0.8.3"
[package.extras]
aws = ["boto3"]
gcp = ["google-cloud-storage"]
+grpc = ["grpcio (1.27.2)"]
kubeflow = ["kubernetes", "minio", "google-cloud-storage", "sh"]
[[package]]
@@ -2029,7 +1961,7 @@ description = "Filesystem events monitoring"
name = "watchdog"
optional = false
python-versions = "*"
-version = "0.10.3"
+version = "0.10.4"
[package.dependencies]
pathtools = ">=0.1.1"
@@ -2046,7 +1978,7 @@ python-versions = "*"
version = "0.2.5"
[[package]]
-category = "dev"
+category = "main"
description = "Character encoding aliases for legacy web content"
name = "webencodings"
optional = false
@@ -2092,23 +2024,10 @@ all = ["six", "pytest", "pytest-cov", "codecov", "scikit-build", "cmake", "ninja
optional = ["pygments", "colorama"]
tests = ["pytest", "pytest-cov", "codecov", "scikit-build", "cmake", "ninja", "pybind11"]
-[[package]]
-category = "main"
-description = "Backport of pathlib-compatible object wrapper for zip files"
-marker = "python_version < \"3.8\""
-name = "zipp"
-optional = false
-python-versions = ">=3.6"
-version = "3.4.0"
-
-[package.extras]
-docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"]
-testing = ["pytest (>=3.5,<3.7.3 || >3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "jaraco.test (>=3.2.0)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"]
-
[metadata]
-content-hash = "9e2ebd8ad14a53756cf4d2b967e4dfb52d1c70caa0a6df6b5e42600237337631"
+content-hash = "1f194d7de179e9676ef1f8e51b83ff15c001627803008ef8225e8e14ab3acab0"
lock-version = "1.0"
-python-versions = "^3.7"
+python-versions = "^3.8"
[metadata.files]
alabaster = [
@@ -2281,8 +2200,8 @@ cycler = [
{file = "cycler-0.10.0.tar.gz", hash = "sha256:cd7b2d1018258d7247a71425e9f26463dfb444d411c39569972f4ce586b0c9d8"},
]
darglint = [
- {file = "darglint-1.5.5-py3-none-any.whl", hash = "sha256:cd882c812f28ee3b5577259bfd8d6d25962386dd87fc1f3756eac24370aaa060"},
- {file = "darglint-1.5.5.tar.gz", hash = "sha256:2f12ce2ef3d8189279a8f2eb4c53fd215dbacae50e37765542a91310400a9cd6"},
+ {file = "darglint-1.5.6-py3-none-any.whl", hash = "sha256:6fcef385e646c4da9ea6fc547e28c77a33ae0cba4806b8585ae18a490a797e82"},
+ {file = "darglint-1.5.6.tar.gz", hash = "sha256:98acb4064bae73ec02146cb123dd3c930bd5272e562ad4d19c59857443632dd1"},
]
dataclasses = [
{file = "dataclasses-0.6-py3-none-any.whl", hash = "sha256:454a69d788c7fda44efd71e259be79577822f5e3f53f029a22d08004e951dc9f"},
@@ -2297,8 +2216,8 @@ defusedxml = [
{file = "defusedxml-0.6.0.tar.gz", hash = "sha256:f684034d135af4c6cbb949b8a4d2ed61634515257a67299e5f940fbaa34377f5"},
]
desert = [
- {file = "desert-2020.1.6-py2.py3-none-any.whl", hash = "sha256:190ab1c690472ab1c1ef7614f9a73171c1e911cef42d7b45a67f9b7d6900763d"},
- {file = "desert-2020.1.6.tar.gz", hash = "sha256:e64cd61e16607bb3096ab1b1763c9f229ebcf8b3f871f4db52fb803e1c000385"},
+ {file = "desert-2020.11.18-py3-none-any.whl", hash = "sha256:6392702be7952fb9c8bbc775425fa929c1eab5c06552c2890e82a24964eeb084"},
+ {file = "desert-2020.11.18.tar.gz", hash = "sha256:d7b7fb521dc84eec955a766ed7e37349f998cf047f37fd9596cb09737d63c62d"},
]
docker-pycreds = [
{file = "docker-pycreds-0.4.0.tar.gz", hash = "sha256:6ce3270bcaf404cc4c3e27e4b6c70d3521deae82fb508767870fdbf772d584d4"},
@@ -2313,8 +2232,8 @@ dparse = [
{file = "dparse-0.5.1.tar.gz", hash = "sha256:a1b5f169102e1c894f9a7d5ccf6f9402a836a5d24be80a986c7ce9eaed78f367"},
]
einops = [
- {file = "einops-0.2.0-py2.py3-none-any.whl", hash = "sha256:96b1bac57ddb591cccb927d24934d7601c3cdf3343a79a43d316a118d66e1043"},
- {file = "einops-0.2.0.tar.gz", hash = "sha256:165ee28bcb60e5c2cbb801b5c78e181548ff8daa7c8fcabae5b251e55f7fe614"},
+ {file = "einops-0.3.0-py2.py3-none-any.whl", hash = "sha256:a91c6190ceff7d513d74ca9fd701dfa6a1ffcdd98ea0ced14350197c07f75c73"},
+ {file = "einops-0.3.0.tar.gz", hash = "sha256:a3b0935a4556f012cd5fa1851373f63366890a3f6698d117afea55fd2a40c1fc"},
]
entrypoints = [
{file = "entrypoints-0.3-py2.py3-none-any.whl", hash = "sha256:589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19"},
@@ -2364,11 +2283,12 @@ gitpython = [
gpustat = [
{file = "gpustat-0.6.0.tar.gz", hash = "sha256:f69135080b2668b662822633312c2180002c10111597af9631bb02e042755b6c"},
]
-gql = [
- {file = "gql-0.2.0.tar.gz", hash = "sha256:ad0f0b8226428d727c8e1d1cac4e521d83ed024d814921bd55b8adb997dadf4b"},
+graphviz = [
+ {file = "graphviz-0.16-py2.py3-none-any.whl", hash = "sha256:3cad5517c961090dfc679df6402a57de62d97703e2880a1a46147bb0dc1639eb"},
+ {file = "graphviz-0.16.zip", hash = "sha256:d2d25af1c199cad567ce4806f0449cb74eb30cf451fd7597251e1da099ac6e57"},
]
-graphql-core = [
- {file = "graphql-core-1.1.tar.gz", hash = "sha256:63bb8593aeeadb0a53e14207b910027fe51158d017927fad87326dac806185ee"},
+gtn = [
+ {file = "gtn-0.0.0.tar.gz", hash = "sha256:72fece9ca51df161c1274e570d6f5f933e76f4cac9d8d6dd543a3fe0383f7268"},
]
h5py = [
{file = "h5py-2.10.0-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:ecf4d0b56ee394a0984de15bceeb97cbe1fe485f1ac205121293fc44dcf3f31f"},
@@ -2409,13 +2329,6 @@ imagesize = [
{file = "imagesize-1.2.0-py2.py3-none-any.whl", hash = "sha256:6965f19a6a2039c7d48bca7dba2473069ff854c36ae6f19d2cde309d998228a1"},
{file = "imagesize-1.2.0.tar.gz", hash = "sha256:b1f6b5a4eab1f73479a50fb79fcf729514a900c341d8503d62a62dbc4127a2b1"},
]
-importlab = [
- {file = "importlab-0.5.1.tar.gz", hash = "sha256:d855350d19dc10a17aabd2fe6f4b428ff1a936071f692fbf686a73694d26a51c"},
-]
-importlib-metadata = [
- {file = "importlib_metadata-2.0.0-py2.py3-none-any.whl", hash = "sha256:cefa1a2f919b866c5beb7c9f7b0ebb4061f30a8a9bf16d609b000e2dfaceb9c3"},
- {file = "importlib_metadata-2.0.0.tar.gz", hash = "sha256:77a540690e24b0305878c37ffd421785a6f7e53c8b5720d211b211de8d0e95da"},
-]
ipykernel = [
{file = "ipykernel-5.3.4-py3-none-any.whl", hash = "sha256:d6fbba26dba3cebd411382bc484f7bc2caa98427ae0ddb4ab37fe8bfeb5c7dd3"},
{file = "ipykernel-5.3.4.tar.gz", hash = "sha256:9b2652af1607986a1b231c62302d070bc0534f564c393a5d9d130db9abbbe89d"},
@@ -2462,13 +2375,17 @@ jupyter-console = [
{file = "jupyter_console-6.2.0.tar.gz", hash = "sha256:7f6194f4f4692d292da3f501c7f343ccd5e36c6a1becf7b7515e23e66d6bf1e9"},
]
jupyter-core = [
- {file = "jupyter_core-4.6.3-py2.py3-none-any.whl", hash = "sha256:a4ee613c060fe5697d913416fc9d553599c05e4492d58fac1192c9a6844abb21"},
- {file = "jupyter_core-4.6.3.tar.gz", hash = "sha256:394fd5dd787e7c8861741880bdf8a00ce39f95de5d18e579c74b882522219e7e"},
+ {file = "jupyter_core-4.7.0-py3-none-any.whl", hash = "sha256:0a451c9b295e4db772bdd8d06f2f1eb31caeec0e81fbb77ba37d4a3024e3b315"},
+ {file = "jupyter_core-4.7.0.tar.gz", hash = "sha256:aa1f9496ab3abe72da4efe0daab0cb2233997914581f9a071e07498c6add8ed3"},
]
jupyterlab-pygments = [
{file = "jupyterlab_pygments-0.1.2-py2.py3-none-any.whl", hash = "sha256:abfb880fd1561987efaefcb2d2ac75145d2a5d0139b1876d5be806e32f630008"},
{file = "jupyterlab_pygments-0.1.2.tar.gz", hash = "sha256:cfcda0873626150932f438eccf0f8bf22bfa92345b814890ab360d666b254146"},
]
+jupyterthemes = [
+ {file = "jupyterthemes-0.20.0-py2.py3-none-any.whl", hash = "sha256:4bd42fc88a06e3afabbe70c2ee25e6467147512993a3cbd9bec57ae3fd2e2fb1"},
+ {file = "jupyterthemes-0.20.0.tar.gz", hash = "sha256:2a8ebc0c84b212ab99b9f1757fc0582a3f53930d3a75b2492d91a7c8b36ab41e"},
+]
kiwisolver = [
{file = "kiwisolver-1.3.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:fd34fbbfbc40628200730bc1febe30631347103fc8d3d4fa012c21ab9c11eca9"},
{file = "kiwisolver-1.3.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:d3155d828dec1d43283bd24d3d3e0d9c7c350cdfcc0bd06c0ad1209c1bbc36d0"},
@@ -2503,6 +2420,10 @@ kiwisolver = [
{file = "kiwisolver-1.3.1-pp36-pypy36_pp73-win32.whl", hash = "sha256:401a2e9afa8588589775fe34fc22d918ae839aaaf0c0e96441c0fdbce6d8ebe6"},
{file = "kiwisolver-1.3.1.tar.gz", hash = "sha256:950a199911a8d94683a6b10321f9345d5a3a8433ec58b217ace979e18f16e248"},
]
+lesscpy = [
+ {file = "lesscpy-0.14.0-py2.py3-none-any.whl", hash = "sha256:b0f2f853ee1dfb0891b147b57028057d5389510e079581e7b533d07dc0d95d3e"},
+ {file = "lesscpy-0.14.0.tar.gz", hash = "sha256:7b664f60818a16afa8cc9f1dd6d9b17f944e0ce94e50787d76f81bc7a8648cce"},
+]
loguru = [
{file = "loguru-0.5.3-py3-none-any.whl", hash = "sha256:f8087ac396b5ee5f67c963b495d615ebbceac2796379599820e324419d53667c"},
{file = "loguru-0.5.3.tar.gz", hash = "sha256:b28e72ac7a98be3d28ad28570299a393dfcd32e5e3f6a353dec94675767b6319"},
@@ -2621,23 +2542,6 @@ nest-asyncio = [
{file = "nest_asyncio-1.4.3-py3-none-any.whl", hash = "sha256:dbe032f3e9ff7f120e76be22bf6e7958e867aed1743e6894b8a9585fe8495cc9"},
{file = "nest_asyncio-1.4.3.tar.gz", hash = "sha256:eaa09ef1353ebefae19162ad423eef7a12166bcc63866f8bff8f3635353cd9fa"},
]
-networkx = [
- {file = "networkx-2.5-py3-none-any.whl", hash = "sha256:8c5812e9f798d37c50570d15c4a69d5710a18d77bafc903ee9c5fba7454c616c"},
- {file = "networkx-2.5.tar.gz", hash = "sha256:7978955423fbc9639c10498878be59caf99b44dc304c2286162fd24b458c1602"},
-]
-ninja = [
- {file = "ninja-1.10.0.post2-py2-none-macosx_10_6_x86_64.whl", hash = "sha256:a1a9d9455623a3f45557fff6eb5abb3e70910dde28cfb9239e3ca14249149f55"},
- {file = "ninja-1.10.0.post2-py2-none-manylinux1_i686.whl", hash = "sha256:99c6102ae9a8981afe4d06f92508dbeab1e28ec89783fb703411166f4e13c9ee"},
- {file = "ninja-1.10.0.post2-py2-none-manylinux1_x86_64.whl", hash = "sha256:4252ce532304841e47478bb61710fcf9940cf2c91731303490762b6e4f23fd2b"},
- {file = "ninja-1.10.0.post2-py2-none-win32.whl", hash = "sha256:24acc95359308d11243386cf9f076bdc95f438ef6a4e0e357e7c122c5e02816d"},
- {file = "ninja-1.10.0.post2-py2-none-win_amd64.whl", hash = "sha256:16fc1bea52a36a91a0e80c3b221d2c1bc9bcf04d0564da9344e349b8c5efd5c6"},
- {file = "ninja-1.10.0.post2-py3-none-macosx_10_6_x86_64.whl", hash = "sha256:1d9ed3b5fdeb646516f54bec92453dcb3000d6771c2fea56451444c988a23e29"},
- {file = "ninja-1.10.0.post2-py3-none-manylinux1_i686.whl", hash = "sha256:5c3a8cb54aaaf5d4f692d65121ef47b3e43dea123a6563153d9d97631c0adf4f"},
- {file = "ninja-1.10.0.post2-py3-none-manylinux1_x86_64.whl", hash = "sha256:fb1ae96811a9b73773014b8a21d710b89d7d5f765427a5e2541e7fb9d530fdd5"},
- {file = "ninja-1.10.0.post2-py3-none-win32.whl", hash = "sha256:06a72090f5c5516e57f12699644179504a77585bed6d5f8be9e67219a398ec80"},
- {file = "ninja-1.10.0.post2-py3-none-win_amd64.whl", hash = "sha256:c6059bd04ad235e2326b39bc71bb7989de8d565084b5f269557704747b2910fa"},
- {file = "ninja-1.10.0.post2.tar.gz", hash = "sha256:621fd73513a9bef0cb82e8c531a29ef96580b4d6e797f833cce167054ad812f8"},
-]
nltk = [
{file = "nltk-3.5.zip", hash = "sha256:845365449cd8c5f9731f7cb9f8bd6fd0767553b9d53af9eb1b3abf7700936b35"},
]
@@ -2775,6 +2679,10 @@ pluggy = [
{file = "pluggy-0.13.1-py2.py3-none-any.whl", hash = "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"},
{file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"},
]
+ply = [
+ {file = "ply-3.11-py2.py3-none-any.whl", hash = "sha256:096f9b8350b65ebd2fd1346b12452efe5b9607f7482813ffca50c22722a807ce"},
+ {file = "ply-3.11.tar.gz", hash = "sha256:00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3"},
+]
prometheus-client = [
{file = "prometheus_client-0.9.0-py2.py3-none-any.whl", hash = "sha256:b08c34c328e1bf5961f0b4352668e6c8f145b4a087e09b7296ef62cbe4693d35"},
{file = "prometheus_client-0.9.0.tar.gz", hash = "sha256:9da7b32f02439d8c04f7777021c304ed51d9ec180604700c1ba72a4d44dceb03"},
@@ -2786,6 +2694,26 @@ prompt-toolkit = [
{file = "prompt_toolkit-3.0.8-py3-none-any.whl", hash = "sha256:7debb9a521e0b1ee7d2fe96ee4bd60ef03c6492784de0547337ca4433e46aa63"},
{file = "prompt_toolkit-3.0.8.tar.gz", hash = "sha256:25c95d2ac813909f813c93fde734b6e44406d1477a9faef7c915ff37d39c0a8c"},
]
+protobuf = [
+ {file = "protobuf-3.14.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:629b03fd3caae7f815b0c66b41273f6b1900a579e2ccb41ef4493a4f5fb84f3a"},
+ {file = "protobuf-3.14.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:5b7a637212cc9b2bcf85dd828b1178d19efdf74dbfe1ddf8cd1b8e01fdaaa7f5"},
+ {file = "protobuf-3.14.0-cp35-cp35m-macosx_10_9_intel.whl", hash = "sha256:43b554b9e73a07ba84ed6cf25db0ff88b1e06be610b37656e292e3cbb5437472"},
+ {file = "protobuf-3.14.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:5e9806a43232a1fa0c9cf5da8dc06f6910d53e4390be1fa06f06454d888a9142"},
+ {file = "protobuf-3.14.0-cp35-cp35m-win32.whl", hash = "sha256:1c51fda1bbc9634246e7be6016d860be01747354ed7015ebe38acf4452f470d2"},
+ {file = "protobuf-3.14.0-cp35-cp35m-win_amd64.whl", hash = "sha256:4b74301b30513b1a7494d3055d95c714b560fbb630d8fb9956b6f27992c9f980"},
+ {file = "protobuf-3.14.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:86a75477addde4918e9a1904e5c6af8d7b691f2a3f65587d73b16100fbe4c3b2"},
+ {file = "protobuf-3.14.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:ecc33531a213eee22ad60e0e2aaea6c8ba0021f0cce35dbf0ab03dee6e2a23a1"},
+ {file = "protobuf-3.14.0-cp36-cp36m-win32.whl", hash = "sha256:72230ed56f026dd664c21d73c5db73ebba50d924d7ba6b7c0d81a121e390406e"},
+ {file = "protobuf-3.14.0-cp36-cp36m-win_amd64.whl", hash = "sha256:0fc96785262042e4863b3f3b5c429d4636f10d90061e1840fce1baaf59b1a836"},
+ {file = "protobuf-3.14.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:4e75105c9dfe13719b7293f75bd53033108f4ba03d44e71db0ec2a0e8401eafd"},
+ {file = "protobuf-3.14.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:2a7e2fe101a7ace75e9327b9c946d247749e564a267b0515cf41dfe450b69bac"},
+ {file = "protobuf-3.14.0-cp37-cp37m-win32.whl", hash = "sha256:b0d5d35faeb07e22a1ddf8dce620860c8fe145426c02d1a0ae2688c6e8ede36d"},
+ {file = "protobuf-3.14.0-cp37-cp37m-win_amd64.whl", hash = "sha256:8971c421dbd7aad930c9bd2694122f332350b6ccb5202a8b7b06f3f1a5c41ed5"},
+ {file = "protobuf-3.14.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9616f0b65a30851e62f1713336c931fcd32c057202b7ff2cfbfca0fc7d5e3043"},
+ {file = "protobuf-3.14.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:22bcd2e284b3b1d969c12e84dc9b9a71701ec82d8ce975fdda19712e1cfd4e00"},
+ {file = "protobuf-3.14.0-py2.py3-none-any.whl", hash = "sha256:0e247612fadda953047f53301a7b0407cb0c3cb4ae25a6fde661597a04039b3c"},
+ {file = "protobuf-3.14.0.tar.gz", hash = "sha256:1d63eb389347293d8915fb47bee0951c7b5dab522a4a60118b9a18f33e21f8ce"},
+]
psutil = [
{file = "psutil-5.7.3-cp27-none-win32.whl", hash = "sha256:1cd6a0c9fb35ece2ccf2d1dd733c1e165b342604c67454fd56a4c12e0a106787"},
{file = "psutil-5.7.3-cp27-none-win_amd64.whl", hash = "sha256:e02c31b2990dcd2431f4524b93491941df39f99619b0d312dfe1d4d530b08b4b"},
@@ -2853,22 +2781,10 @@ python-dateutil = [
python-levenshtein = [
{file = "python-Levenshtein-0.12.0.tar.gz", hash = "sha256:033a11de5e3d19ea25c9302d11224e1a1898fe5abd23c61c7c360c25195e3eb1"},
]
-pytorch-block-sparse = [
- {file = "pytorch_block_sparse-0.1.2.tar.gz", hash = "sha256:ca4a5c1dde96ac01c007f209067b2bbaee311a8699eba1eef712faef7f97df1f"},
-]
pytorch-metric-learning = [
{file = "pytorch-metric-learning-0.9.94.tar.gz", hash = "sha256:523ab08ee10745edc6512cc32b62b4ba0c858906cfd5a2e9e5c9bfa1a6b7daa2"},
{file = "pytorch_metric_learning-0.9.94-py3-none-any.whl", hash = "sha256:3719c380c3b8d90f599c3c7e9fe7410d025b091d389ef7769044a1437096dbcc"},
]
-pytype = [
- {file = "pytype-2020.11.12-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:ea77133d694584caadd7d5e1769797b3a65f5759a18a1ccac6770bed37221b83"},
- {file = "pytype-2020.11.12-cp36-cp36m-manylinux2014_x86_64.whl", hash = "sha256:a711a477e45a13737623a89c87cb43d8edca35c3e27dfb0a511bbd1a6e76da30"},
- {file = "pytype-2020.11.12-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:79933e2229e9b8f8f0de6ab2625a33ed38dd6d74598e49ab74f178fe7c53e0de"},
- {file = "pytype-2020.11.12-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:10acd00450af59abd13b4dee7f1d6ba275f7e4b969e339e4ee611c886c1b9fed"},
- {file = "pytype-2020.11.12-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:0b3f38d1a4e10db09227905c4d8dfecd4d0923d8dc423c9ba6d95ea30f156964"},
- {file = "pytype-2020.11.12-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:3d1c2b684232e6e9e9a5f5e62080cc12f2fbd87a693a16eb67ad2c95d8671a05"},
- {file = "pytype-2020.11.12.tar.gz", hash = "sha256:66f694abee3eea5a1c7f8ca040324f8b13b1ed01e308ba898bf36775b0a4c944"},
-]
pytz = [
{file = "pytz-2020.4-py2.py3-none-any.whl", hash = "sha256:5c55e189b682d420be27c6995ba6edce0c0a77dd67bfbe2ae6607134d5851ffd"},
{file = "pytz-2020.4.tar.gz", hash = "sha256:3e6b7dd2d1e0a59084bcee14a17af60c5c562cdc16d828e8eba2e683d3a7e268"},
@@ -3054,9 +2970,50 @@ send2trash = [
{file = "Send2Trash-1.5.0-py3-none-any.whl", hash = "sha256:f1691922577b6fa12821234aeb57599d887c4900b9ca537948d2dac34aea888b"},
{file = "Send2Trash-1.5.0.tar.gz", hash = "sha256:60001cc07d707fe247c94f74ca6ac0d3255aabcb930529690897ca2a39db28b2"},
]
+sentencepiece = [
+ {file = "sentencepiece-0.1.95-cp35-cp35m-macosx_10_6_x86_64.whl", hash = "sha256:21cfec2ec80eb6f603fb92b0416479272f3ec30cfd511b8525a964e2f1cf82a6"},
+ {file = "sentencepiece-0.1.95-cp35-cp35m-manylinux2014_aarch64.whl", hash = "sha256:f05663139279718421084d618131a24cffc068860873531ebfe38a73085cbd2e"},
+ {file = "sentencepiece-0.1.95-cp35-cp35m-manylinux2014_i686.whl", hash = "sha256:43acdb01466de8189b899de153b96eb50e0ea3b77608c1d4f4f8f0c6f343fe45"},
+ {file = "sentencepiece-0.1.95-cp35-cp35m-manylinux2014_ppc64le.whl", hash = "sha256:243ce7c067ba15e5883ab772117b144a8fa1f5827c466a664c9f52d173f6e375"},
+ {file = "sentencepiece-0.1.95-cp35-cp35m-manylinux2014_s390x.whl", hash = "sha256:8613286b537056e6d2029e306719e33d4e09c369a1741490e4e18f2a6a797996"},
+ {file = "sentencepiece-0.1.95-cp35-cp35m-manylinux2014_x86_64.whl", hash = "sha256:c510e0d26760d51b31f2fb05e1638419a1590df8783300d79e898f2bb93975a8"},
+ {file = "sentencepiece-0.1.95-cp36-cp36m-macosx_10_6_x86_64.whl", hash = "sha256:94f866601203b78095d9f219995820ff4606d67281895a6c79d5c1ffe75575ac"},
+ {file = "sentencepiece-0.1.95-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:d789bcdce025b377a45830d3962d041b1acf7e416e5451bef081bd6a9c758dfd"},
+ {file = "sentencepiece-0.1.95-cp36-cp36m-manylinux2014_i686.whl", hash = "sha256:53951098eddfc25a5fa0cd9be748c9346db3c2be0b6c74a8ac6663acbde2b639"},
+ {file = "sentencepiece-0.1.95-cp36-cp36m-manylinux2014_ppc64le.whl", hash = "sha256:f5b6ab735d30eb1801998d4c413592149f9414d9aa300d90a28e8769792d2a5b"},
+ {file = "sentencepiece-0.1.95-cp36-cp36m-manylinux2014_s390x.whl", hash = "sha256:60715ef703af2410e5f5cac89d8123f1a0a8dbce1406a2ceaecf805eb0c0cfd9"},
+ {file = "sentencepiece-0.1.95-cp36-cp36m-manylinux2014_x86_64.whl", hash = "sha256:d880e8f70822fe98b4f584814f5cccebf9e72aea7b44acc1a26731780fac03f7"},
+ {file = "sentencepiece-0.1.95-cp36-cp36m-win32.whl", hash = "sha256:d89c04aeedab0d5c25de8fc6302d58ec6fb135e2670449376c7d0301d7963680"},
+ {file = "sentencepiece-0.1.95-cp36-cp36m-win_amd64.whl", hash = "sha256:8e2f6096899a32246a0c65ea7f24a01ff32ea49563ef013b348acb7bca5831d5"},
+ {file = "sentencepiece-0.1.95-cp37-cp37m-macosx_10_6_x86_64.whl", hash = "sha256:438ee23faf095a9ebcc97debad2b07c0647ff6a306ed4d430146c3f80c7f6354"},
+ {file = "sentencepiece-0.1.95-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:48fd95e0bf082a432cff5d4b7e5fa6d5fdaf87fb2de210aa91f90086c89464a2"},
+ {file = "sentencepiece-0.1.95-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:163d869ce8dd7a9ed11187756272e8c73cd1caae1f47a701e5d70ad80485a655"},
+ {file = "sentencepiece-0.1.95-cp37-cp37m-manylinux2014_ppc64le.whl", hash = "sha256:087373b148b82854a3c03a9ad57d58a8ff5366b2f6d718bca27f262c102439ce"},
+ {file = "sentencepiece-0.1.95-cp37-cp37m-manylinux2014_s390x.whl", hash = "sha256:fa8ee7411f31a7e7e1b4ed48de958e63befdba3465d7c7d9bd5a87235f7e5bd1"},
+ {file = "sentencepiece-0.1.95-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:ad2866aebdf702b0d6a992b2b3b46c2de3739ca8a92bce17f24cf51c29fa4f3e"},
+ {file = "sentencepiece-0.1.95-cp37-cp37m-win32.whl", hash = "sha256:7f7929c7741ea276d44c1e7966a1347943fab2089a55bc32fc42ba3c71a6e2e1"},
+ {file = "sentencepiece-0.1.95-cp37-cp37m-win_amd64.whl", hash = "sha256:c2add7d87c30898661de5b9e492bd99c5b184c731dec3c7dd3d2c956e4003446"},
+ {file = "sentencepiece-0.1.95-cp38-cp38-macosx_10_6_x86_64.whl", hash = "sha256:453f9cf531b5ea694472a5f0a4dc727bfb4f383c8a80a9b5261db6d3a59d4018"},
+ {file = "sentencepiece-0.1.95-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:5ff761f322a1b34d691d8b1d87c735d8de725ce3458d879d9d0c319e285e7169"},
+ {file = "sentencepiece-0.1.95-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:bc7324da0209b632be107123f40505e2400e6aa49e39b49a35d081c36e6cee1b"},
+ {file = "sentencepiece-0.1.95-cp38-cp38-manylinux2014_ppc64le.whl", hash = "sha256:5e177f6e40b074e08d3c0c2a1a862fbc94897d9c3439c7752a03a4f61197a743"},
+ {file = "sentencepiece-0.1.95-cp38-cp38-manylinux2014_s390x.whl", hash = "sha256:5cac1dcacc2c6bea397188daa549f194ca2bc4d0a7005633ecd03b165e1ad16f"},
+ {file = "sentencepiece-0.1.95-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:77dff55aa8f74e36f7fd7df861723574630327fdfff0ca18fdbb4fe031c9ecbe"},
+ {file = "sentencepiece-0.1.95-cp38-cp38-win32.whl", hash = "sha256:e3cf28e56f49edb9ac021e247399671b8099e516ecd8091ee8ad5d35716e16e3"},
+ {file = "sentencepiece-0.1.95-cp38-cp38-win_amd64.whl", hash = "sha256:6365bb9b7a17573e1ed9a277eafad6b5a489100840149297b2f399294ca11817"},
+ {file = "sentencepiece-0.1.95-cp39-cp39-macosx_10_6_x86_64.whl", hash = "sha256:58a1013c2a676e16647c64505b9e8cd7e7e5fb9f2d92ec91f2d2a5f777632a69"},
+ {file = "sentencepiece-0.1.95-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:10e8119175e35075d05dad49c2903903229c7b1331b872fff5ad6a85d369152c"},
+ {file = "sentencepiece-0.1.95-cp39-cp39-manylinux2014_i686.whl", hash = "sha256:99ba407001cc45b76e56e03f63eb27e011fe614c3a38e2c0ed5818bb88e050f6"},
+ {file = "sentencepiece-0.1.95-cp39-cp39-manylinux2014_ppc64le.whl", hash = "sha256:fa52e8a438f500e07c81c068fe128f9c4e677331eff0b17b28c55585aa7c112a"},
+ {file = "sentencepiece-0.1.95-cp39-cp39-manylinux2014_s390x.whl", hash = "sha256:26676ecc4985902cf4af5d597df3d2c4f32f58ed3e23db20c47950f6065089d7"},
+ {file = "sentencepiece-0.1.95-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:03ac268fa1f5f2adcb083f40becd63b5bbbe2c13dec2cd46222688f8477827c5"},
+ {file = "sentencepiece-0.1.95-cp39-cp39-win32.whl", hash = "sha256:4749b187c91e796fe52b82abef3c05a60d82065088844c0fe45d5c221ddc097a"},
+ {file = "sentencepiece-0.1.95-cp39-cp39-win_amd64.whl", hash = "sha256:d3410cffb275c319c61977ae3a8729ab224d330bdf69d66cf5f6c55a4deb3d9a"},
+ {file = "sentencepiece-0.1.95.tar.gz", hash = "sha256:8dd6e3e110f4c3f85a46e4a2ae1b6f7cf020b907fab50eac22beccf1680e0ea5"},
+]
sentry-sdk = [
- {file = "sentry-sdk-0.19.3.tar.gz", hash = "sha256:fd48f627945511c140546939b4d73815be4860cd1d2b9149577d7f6563e7bd60"},
- {file = "sentry_sdk-0.19.3-py2.py3-none-any.whl", hash = "sha256:81d7a5d8ca0b13a16666e8280127b004565aa988bfeec6481e98a8601804b215"},
+ {file = "sentry-sdk-0.19.4.tar.gz", hash = "sha256:1052f0ed084e532f66cb3e4ba617960d820152aee8b93fc6c05bd53861768c1c"},
+ {file = "sentry_sdk-0.19.4-py2.py3-none-any.whl", hash = "sha256:4c42910a55a6b1fe694d5e4790d5188d105d77b5a6346c1c64cbea8c06c0e8b7"},
]
shortuuid = [
{file = "shortuuid-1.0.1-py3-none-any.whl", hash = "sha256:492c7402ff91beb1342a5898bd61ea953985bf24a41cd9f247409aa2e03c8f77"},
@@ -3198,8 +3155,8 @@ tornado = [
{file = "tornado-6.1.tar.gz", hash = "sha256:33c6e81d7bd55b468d2e793517c909b139960b6c790a60b7991b9b6b76fb9791"},
]
tqdm = [
- {file = "tqdm-4.52.0-py2.py3-none-any.whl", hash = "sha256:80d9d5165d678dbd027dd102dfb99f71bf05f333b61fb761dbba13b4ab719ead"},
- {file = "tqdm-4.52.0.tar.gz", hash = "sha256:18d6a615aedd09ec8456d9524489dab330af4bd5c2a14a76eb3f9a0e14471afe"},
+ {file = "tqdm-4.53.0-py2.py3-none-any.whl", hash = "sha256:5ff3f5232b19fa4c5531641e480b7fad4598819f708a32eb815e6ea41c5fa313"},
+ {file = "tqdm-4.53.0.tar.gz", hash = "sha256:3d3f1470d26642e88bd3f73353cb6ff4c51ef7d5d7efef763238f4bc1f7e4e81"},
]
traitlets = [
{file = "traitlets-5.0.5-py3-none-any.whl", hash = "sha256:69ff3f9d5351f31a7ad80443c2674b7099df13cc41fc5fa6e2f6d3b0330b0426"},
@@ -3247,11 +3204,11 @@ urllib3 = [
{file = "urllib3-1.26.2.tar.gz", hash = "sha256:19188f96923873c92ccb987120ec4acaa12f0461fa9ce5d3d0772bc965a39e08"},
]
wandb = [
- {file = "wandb-0.9.7-py2.py3-none-any.whl", hash = "sha256:21d6f17c868c5de6b400c878962c1933f0574f1088f981b99f393cfeb80410b0"},
- {file = "wandb-0.9.7.tar.gz", hash = "sha256:b07a4cc7c317528273bd10ba903fd3fe851cab995d4ddaa7491b55e292f1c87d"},
+ {file = "wandb-0.10.12-py2.py3-none-any.whl", hash = "sha256:b3bf35840fd4048d85730e698f10b0fafb7bae05025ee2243793f30300e3f3d8"},
+ {file = "wandb-0.10.12.tar.gz", hash = "sha256:052dd5f59ab1a655a82253bc4603678fe06e0136be097dc1964f1a0c5bd64116"},
]
watchdog = [
- {file = "watchdog-0.10.3.tar.gz", hash = "sha256:4214e1379d128b0588021880ccaf40317ee156d4603ac388b9adcf29165e0c04"},
+ {file = "watchdog-0.10.4.tar.gz", hash = "sha256:e38bffc89b15bafe2a131f0e1c74924cf07dcec020c2e0a26cccd208831fcd43"},
]
wcwidth = [
{file = "wcwidth-0.2.5-py2.py3-none-any.whl", hash = "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"},
@@ -3273,7 +3230,3 @@ xdoctest = [
{file = "xdoctest-0.12.0-py2.py3-none-any.whl", hash = "sha256:82424d2cc4b6d6b96b7b7134c81e97a4594c536547c1954533128a6a26cf1cb2"},
{file = "xdoctest-0.12.0.tar.gz", hash = "sha256:2d985d8d78d4444079d3b072965327ab06a5e6dcb4882f3561d7596eb4da6b13"},
]
-zipp = [
- {file = "zipp-3.4.0-py3-none-any.whl", hash = "sha256:102c24ef8f171fd729d46599845e95c7ab894a4cf45f5de11a44cc7444fb1108"},
- {file = "zipp-3.4.0.tar.gz", hash = "sha256:ed5eee1974372595f9e416cc7bbeeb12335201d8081ca8a0743c954d4446e5cb"},
-]
diff --git a/pyproject.toml b/pyproject.toml
index c977270..4c674bc 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -10,7 +10,7 @@ repository = "https://github.com/aktersnurra/text-recognizer"
keywords = ["text recognizer, deep learning, pytorch"]
[tool.poetry.dependencies]
-python = "^3.7"
+python = "^3.8"
click = "^7.1.2"
flake8-annotations = "^2.1.0"
flake8-docstrings = "^1.5.0"
@@ -30,14 +30,16 @@ tqdm = "^4.46.1"
pytest = "^5.4.3"
opencv-python = "^4.3.0"
nltk = "^3.5"
-einops = "^0.2.0"
-wandb = "^0.9.6"
torch-summary = "^1.4.2"
python-Levenshtein = "^0.12.0"
defusedxml = "^0.6.0"
-pytorch-block-sparse = "^0.1.2"
pytorch-metric-learning = "^0.9.92"
omegaconf = "^2.0.2"
+jupyterthemes = "^0.20.0"
+wandb = "^0.10.12"
+einops = "^0.3.0"
+gtn = "^0.0.0"
+sentencepiece = "^0.1.95"
[tool.poetry.dev-dependencies]
pytest = "^5.4.2"
@@ -59,7 +61,8 @@ sphinx = "^3.0.4"
jupyter = "^1.0.0"
gpustat = "^0.6.0"
redlock-py = "^1.0.8"
-wandb = "^0.9.4"
+wandb = "^0.10.11"
+graphviz = "^0.16"
[tool.coverage.report]
fail_under = 50
@@ -71,6 +74,7 @@ create-emnist-support-files = "text_recognizer.tests.support.create_emnist_suppo
create-emnist-lines-datasets = "text_recognizer.datasets.emnist_lines_dataset:create_datasets"
create-iam-paragraphs = "text_recognizer.datasets.iam_paragraphs_dataset:main"
prepare-experiments = "training.prepare_experiments:run_cli"
+run-experiment = "training.run_experiment:run_cli"
diff --git a/src/notebooks/00-testing-stuff-out.ipynb b/src/notebooks/00-testing-stuff-out.ipynb
index b5fdbe0..0e4b298 100644
--- a/src/notebooks/00-testing-stuff-out.ipynb
+++ b/src/notebooks/00-testing-stuff-out.ipynb
@@ -16,6 +16,7 @@
"import torch.nn.functional as F\n",
"import torch\n",
"from torch import nn\n",
+ "from torchsummary import summary\n",
"from importlib.util import find_spec\n",
"if find_spec(\"text_recognizer\") is None:\n",
" import sys\n",
@@ -24,73 +25,76 @@
},
{
"cell_type": "code",
- "execution_count": 2,
+ "execution_count": 53,
"metadata": {},
"outputs": [],
"source": [
- "from text_recognizer.networks import CTCTransformer"
+ "from text_recognizer.networks import CNN"
]
},
{
"cell_type": "code",
- "execution_count": 9,
+ "execution_count": 63,
"metadata": {},
"outputs": [],
"source": [
- "model = CTCTransformer(\n",
- " num_encoder_layers=2,\n",
- " hidden_dim=256,\n",
- " vocab_size=56,\n",
- " num_heads=8,\n",
- " adaptive_pool_dim=[None, 1],\n",
- " expansion_dim=2048,\n",
- " dropout_rate=0.1,\n",
- " max_len=256,\n",
- " patch_size=(28, 32),\n",
- " stride=(1, 28),\n",
- " activation=\"gelu\",\n",
- " backbone=\"WideResidualNetwork\",\n",
- "backbone_args={\n",
- " \"in_channels\": 1,\n",
- " \"in_planes\": 64,\n",
- " \"num_classes\": 80,\n",
- " \"depth\": 10,\n",
- " \"width_factor\": 1,\n",
- " \"dropout_rate\": 0.1,\n",
- " \"num_layers\": 4,\n",
- " \"num_stages\": [64, 128, 256, 256],\n",
- " \"activation\": \"elu\",\n",
- " \"use_decoder\": False,\n",
- "},\n",
- " )"
+ "cnn = CNN()"
]
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 79,
"metadata": {},
"outputs": [],
- "source": []
+ "source": [
+ "i = nn.Sequential(nn.Conv2d(1,1,1,1))"
+ ]
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 81,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Sequential(\n",
+ " (0): Sequential(\n",
+ " (0): Conv2d(1, 1, kernel_size=(1, 1), stride=(1, 1))\n",
+ " )\n",
+ " (1): Sequential(\n",
+ " (0): Conv2d(1, 1, kernel_size=(1, 1), stride=(1, 1))\n",
+ " )\n",
+ ")"
+ ]
+ },
+ "execution_count": 81,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "nn.Sequential(i,i)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 64,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "torch.Size([2, 128, 1, 59])"
+ ]
+ },
+ "execution_count": 64,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "backbone: WideResidualNetwork\n",
- " backbone_args:\n",
- " in_channels: 1\n",
- " in_planes: 64\n",
- " num_classes: 80\n",
- " depth: 10\n",
- " width_factor: 1\n",
- " dropout_rate: 0.1\n",
- " num_layers: 4 \n",
- " num_stages: [64, 128, 256, 256]\n",
- " activation: elu\n",
- " use_decoder: false\n",
- " n"
+ "cnn(t).shape"
]
},
{
@@ -99,80 +103,236 @@
"metadata": {},
"outputs": [],
"source": [
+ "from text_recognizer.networks.vqvae import Encoder, Decoder, VQVAE"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "vqvae = VQVAE(1, [32, 128, 128, 256], [4, 4, 4, 4], [2, 2, [1, 2], [1, 2]], 2, 32, 256, [[6, 119], [7, 238]])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"t = torch.randn(2, 1, 28, 952)"
]
},
{
"cell_type": "code",
- "execution_count": 3,
+ "execution_count": 23,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "x, l = vqvae(t)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
- "torch.Size([56, 952])"
+ "29.5"
]
},
- "execution_count": 3,
+ "execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
- "t.view(-1, 952).shape"
+ "5 * 59 / 10"
]
},
{
"cell_type": "code",
- "execution_count": 14,
+ "execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
- "torch.Size([119, 2, 56])"
+ "torch.Size([2, 1, 28, 952])"
]
},
- "execution_count": 14,
+ "execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
- "model(t).shape"
+ "x.shape"
]
},
{
"cell_type": "code",
- "execution_count": 8,
+ "execution_count": 26,
"metadata": {},
"outputs": [
{
- "ename": "RuntimeError",
- "evalue": "Failed to run torchsummary. See above stack traces for more details. Executed layers up to: [WideResidualNetwork: 1-1, Sequential: 2-1, Conv2d: 3-1, Sequential: 3-2, WideBlock: 4-1, Sequential: 3-3, WideBlock: 4-2, Sequential: 3-4, WideBlock: 4-3, Sequential: 3-5, WideBlock: 4-4, AdaptiveAvgPool2d: 1-2, Encoder: 1-3, EncoderLayer: 3-6, MultiHeadAttention: 4-5, _IntraLayerConnection: 4-6, _ConvolutionalLayer: 4-7, _IntraLayerConnection: 4-8, EncoderLayer: 3-7, MultiHeadAttention: 4-9, _IntraLayerConnection: 4-10, _ConvolutionalLayer: 4-11, _IntraLayerConnection: 4-12, LayerNorm: 2-2, Linear: 2-3, GLU: 2-4]",
- "output_type": "error",
- "traceback": [
- "\u001b[0;31m----------------------------------------------------------------\u001b[0m",
- "\u001b[0;31mRuntimeError\u001b[0m Traceback (most recent call last)",
- "\u001b[0;32m~/.pyenv/versions/3.8.2/envs/text-recognizer/lib/python3.8/site-packages/torchsummary/torchsummary.py\u001b[0m in \u001b[0;36msummary\u001b[0;34m(model, input_data, batch_dim, branching, col_names, col_width, depth, device, dtypes, verbose, *args, **kwargs)\u001b[0m\n\u001b[1;32m 123\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mtorch\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mno_grad\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 124\u001b[0;31m \u001b[0m_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmodel\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mto\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdevice\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# type: ignore[misc]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 125\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mException\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;32m~/.pyenv/versions/3.8.2/envs/text-recognizer/lib/python3.8/site-packages/torch/nn/modules/module.py\u001b[0m in \u001b[0;36m_call_impl\u001b[0;34m(self, *input, **kwargs)\u001b[0m\n\u001b[1;32m 726\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 727\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mforward\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0minput\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 728\u001b[0m for hook in itertools.chain(\n",
- "\u001b[0;32m~/Documents/projects/quest-for-general-artifical-intelligence/projects/text-recognizer/src/text_recognizer/networks/ctc_transformer.py\u001b[0m in \u001b[0;36mforward\u001b[0;34m(self, x, trg)\u001b[0m\n\u001b[1;32m 109\u001b[0m \u001b[0mcontext\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcontext_representation\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mimage_features\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 110\u001b[0;31m \u001b[0mlogits\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhead\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcontext\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 111\u001b[0m \u001b[0mlogits\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mrearrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlogits\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"b t y -> t b y\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;32m~/.pyenv/versions/3.8.2/envs/text-recognizer/lib/python3.8/site-packages/torch/nn/modules/module.py\u001b[0m in \u001b[0;36m_call_impl\u001b[0;34m(self, *input, **kwargs)\u001b[0m\n\u001b[1;32m 726\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 727\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mforward\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0minput\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 728\u001b[0m for hook in itertools.chain(\n",
- "\u001b[0;32m~/.pyenv/versions/3.8.2/envs/text-recognizer/lib/python3.8/site-packages/torch/nn/modules/container.py\u001b[0m in \u001b[0;36mforward\u001b[0;34m(self, input)\u001b[0m\n\u001b[1;32m 116\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mmodule\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 117\u001b[0;31m \u001b[0minput\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmodule\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minput\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 118\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0minput\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;32m~/.pyenv/versions/3.8.2/envs/text-recognizer/lib/python3.8/site-packages/torch/nn/modules/module.py\u001b[0m in \u001b[0;36m_call_impl\u001b[0;34m(self, *input, **kwargs)\u001b[0m\n\u001b[1;32m 726\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 727\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mforward\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0minput\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 728\u001b[0m for hook in itertools.chain(\n",
- "\u001b[0;32m~/.pyenv/versions/3.8.2/envs/text-recognizer/lib/python3.8/site-packages/torch/nn/modules/linear.py\u001b[0m in \u001b[0;36mforward\u001b[0;34m(self, input)\u001b[0m\n\u001b[1;32m 92\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mforward\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minput\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mTensor\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m->\u001b[0m \u001b[0mTensor\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 93\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mF\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlinear\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minput\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mweight\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbias\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 94\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;32m~/.pyenv/versions/3.8.2/envs/text-recognizer/lib/python3.8/site-packages/torch/nn/functional.py\u001b[0m in \u001b[0;36mlinear\u001b[0;34m(input, weight, bias)\u001b[0m\n\u001b[1;32m 1691\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1692\u001b[0;31m \u001b[0moutput\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0minput\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmatmul\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mweight\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mt\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1693\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mbias\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;31mRuntimeError\u001b[0m: mat1 and mat2 shapes cannot be multiplied (238x128 and 256x56)",
- "\nThe above exception was the direct cause of the following exception:\n",
- "\u001b[0;31mRuntimeError\u001b[0m Traceback (most recent call last)",
- "\u001b[0;32m<ipython-input-8-85c5209ae40a>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0msummary\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmodel\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m28\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m952\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdevice\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"cpu\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdepth\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m3\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
- "\u001b[0;32m~/.pyenv/versions/3.8.2/envs/text-recognizer/lib/python3.8/site-packages/torchsummary/torchsummary.py\u001b[0m in \u001b[0;36msummary\u001b[0;34m(model, input_data, batch_dim, branching, col_names, col_width, depth, device, dtypes, verbose, *args, **kwargs)\u001b[0m\n\u001b[1;32m 125\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mException\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 126\u001b[0m \u001b[0mexecuted_layers\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mlayer\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mlayer\u001b[0m \u001b[0;32min\u001b[0m \u001b[0msummary_list\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mlayer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexecuted\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 127\u001b[0;31m raise RuntimeError(\n\u001b[0m\u001b[1;32m 128\u001b[0m \u001b[0;34m\"Failed to run torchsummary. See above stack traces for more details. \"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 129\u001b[0m \u001b[0;34m\"Executed layers up to: {}\"\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mexecuted_layers\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;31mRuntimeError\u001b[0m: Failed to run torchsummary. See above stack traces for more details. Executed layers up to: [WideResidualNetwork: 1-1, Sequential: 2-1, Conv2d: 3-1, Sequential: 3-2, WideBlock: 4-1, Sequential: 3-3, WideBlock: 4-2, Sequential: 3-4, WideBlock: 4-3, Sequential: 3-5, WideBlock: 4-4, AdaptiveAvgPool2d: 1-2, Encoder: 1-3, EncoderLayer: 3-6, MultiHeadAttention: 4-5, _IntraLayerConnection: 4-6, _ConvolutionalLayer: 4-7, _IntraLayerConnection: 4-8, EncoderLayer: 3-7, MultiHeadAttention: 4-9, _IntraLayerConnection: 4-10, _ConvolutionalLayer: 4-11, _IntraLayerConnection: 4-12, LayerNorm: 2-2, Linear: 2-3, GLU: 2-4]"
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "===============================================================================================\n",
+ "Layer (type:depth-idx) Output Shape Param #\n",
+ "===============================================================================================\n",
+ "├─Encoder: 1-1 [-1, 32, 5, 59] --\n",
+ "| └─Sequential: 2-1 [-1, 32, 5, 59] --\n",
+ "| | └─Sequential: 3-1 [-1, 32, 14, 476] 544\n",
+ "| | └─Sequential: 3-2 [-1, 128, 7, 238] 65,664\n",
+ "| | └─Sequential: 3-3 [-1, 128, 6, 119] 262,272\n",
+ "| | └─Sequential: 3-4 [-1, 256, 5, 59] 524,544\n",
+ "| | └─_ResidualBlock: 3-5 [-1, 256, 5, 59] 655,360\n",
+ "| | └─_ResidualBlock: 3-6 [-1, 256, 5, 59] 655,360\n",
+ "| | └─Conv2d: 3-7 [-1, 32, 5, 59] 8,224\n",
+ "| └─VectorQuantizer: 2-2 [-1, 32, 5, 59] --\n",
+ "├─Decoder: 1-2 [-1, 1, 28, 952] --\n",
+ "| └─Sequential: 2-3 [-1, 1, 28, 952] --\n",
+ "| └─Sequential: 2-4 [-1, 256, 5, 59] --\n",
+ "| └─Sequential: 2 [] --\n",
+ "| | └─Sequential: 3-8 [-1, 256, 5, 59] (recursive)\n",
+ "| └─Sequential: 2 [] --\n",
+ "| | └─Conv2d: 3-9 [-1, 256, 5, 59] 8,448\n",
+ "| | └─_ResidualBlock: 3-10 [-1, 256, 5, 59] 655,360\n",
+ "| | └─_ResidualBlock: 3-11 [-1, 256, 5, 59] 655,360\n",
+ "| └─Sequential: 2-5 [-1, 1, 28, 952] --\n",
+ "| └─Sequential: 2 [] --\n",
+ "| | └─Sequential: 3-12 [-1, 1, 28, 952] (recursive)\n",
+ "| └─Sequential: 2 [] --\n",
+ "| | └─Sequential: 3-13 [-1, 128, 6, 118] 524,416\n",
+ "| | └─Upsample: 3-14 [-1, 128, 6, 119] --\n",
+ "| | └─Sequential: 3-15 [-1, 128, 7, 238] 262,272\n",
+ "| | └─Upsample: 3-16 [-1, 128, 7, 238] --\n",
+ "| | └─Sequential: 3-17 [-1, 32, 14, 476] 65,568\n",
+ "| | └─ConvTranspose2d: 3-18 [-1, 1, 28, 952] 513\n",
+ "| | └─Tanh: 3-19 [-1, 1, 28, 952] --\n",
+ "===============================================================================================\n",
+ "Total params: 4,343,905\n",
+ "Trainable params: 4,343,905\n",
+ "Non-trainable params: 0\n",
+ "Total mult-adds (G): 1.76\n",
+ "===============================================================================================\n",
+ "Input size (MB): 0.10\n",
+ "Forward/backward pass size (MB): 9.32\n",
+ "Params size (MB): 16.57\n",
+ "Estimated Total Size (MB): 26.00\n",
+ "===============================================================================================\n"
]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "===============================================================================================\n",
+ "Layer (type:depth-idx) Output Shape Param #\n",
+ "===============================================================================================\n",
+ "├─Encoder: 1-1 [-1, 32, 5, 59] --\n",
+ "| └─Sequential: 2-1 [-1, 32, 5, 59] --\n",
+ "| | └─Sequential: 3-1 [-1, 32, 14, 476] 544\n",
+ "| | └─Sequential: 3-2 [-1, 128, 7, 238] 65,664\n",
+ "| | └─Sequential: 3-3 [-1, 128, 6, 119] 262,272\n",
+ "| | └─Sequential: 3-4 [-1, 256, 5, 59] 524,544\n",
+ "| | └─_ResidualBlock: 3-5 [-1, 256, 5, 59] 655,360\n",
+ "| | └─_ResidualBlock: 3-6 [-1, 256, 5, 59] 655,360\n",
+ "| | └─Conv2d: 3-7 [-1, 32, 5, 59] 8,224\n",
+ "| └─VectorQuantizer: 2-2 [-1, 32, 5, 59] --\n",
+ "├─Decoder: 1-2 [-1, 1, 28, 952] --\n",
+ "| └─Sequential: 2-3 [-1, 1, 28, 952] --\n",
+ "| └─Sequential: 2-4 [-1, 256, 5, 59] --\n",
+ "| └─Sequential: 2 [] --\n",
+ "| | └─Sequential: 3-8 [-1, 256, 5, 59] (recursive)\n",
+ "| └─Sequential: 2 [] --\n",
+ "| | └─Conv2d: 3-9 [-1, 256, 5, 59] 8,448\n",
+ "| | └─_ResidualBlock: 3-10 [-1, 256, 5, 59] 655,360\n",
+ "| | └─_ResidualBlock: 3-11 [-1, 256, 5, 59] 655,360\n",
+ "| └─Sequential: 2-5 [-1, 1, 28, 952] --\n",
+ "| └─Sequential: 2 [] --\n",
+ "| | └─Sequential: 3-12 [-1, 1, 28, 952] (recursive)\n",
+ "| └─Sequential: 2 [] --\n",
+ "| | └─Sequential: 3-13 [-1, 128, 6, 118] 524,416\n",
+ "| | └─Upsample: 3-14 [-1, 128, 6, 119] --\n",
+ "| | └─Sequential: 3-15 [-1, 128, 7, 238] 262,272\n",
+ "| | └─Upsample: 3-16 [-1, 128, 7, 238] --\n",
+ "| | └─Sequential: 3-17 [-1, 32, 14, 476] 65,568\n",
+ "| | └─ConvTranspose2d: 3-18 [-1, 1, 28, 952] 513\n",
+ "| | └─Tanh: 3-19 [-1, 1, 28, 952] --\n",
+ "===============================================================================================\n",
+ "Total params: 4,343,905\n",
+ "Trainable params: 4,343,905\n",
+ "Non-trainable params: 0\n",
+ "Total mult-adds (G): 1.76\n",
+ "===============================================================================================\n",
+ "Input size (MB): 0.10\n",
+ "Forward/backward pass size (MB): 9.32\n",
+ "Params size (MB): 16.57\n",
+ "Estimated Total Size (MB): 26.00\n",
+ "==============================================================================================="
+ ]
+ },
+ "execution_count": 26,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "summary(vqvae, (1, 28, 952), device=\"cpu\", depth=3)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 94,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "up = nn.Upsample([4, 59])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 107,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "torch.Size([2, 32, 4, 59])"
+ ]
+ },
+ "execution_count": 107,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "up(tt).shape"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 104,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "torch.Size([2, 32, 1, 59])"
+ ]
+ },
+ "execution_count": 104,
+ "metadata": {},
+ "output_type": "execute_result"
}
],
"source": [
- "summary(model, (1, 28, 952), device=\"cpu\", depth=3)"
+ "tt.shape"
]
},
{
diff --git a/src/notebooks/02c-image-patches.ipynb b/src/notebooks/02c-image-patches.ipynb
index ee9a800..fedea91 100644
--- a/src/notebooks/02c-image-patches.ipynb
+++ b/src/notebooks/02c-image-patches.ipynb
@@ -48,8 +48,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
- "2021-01-04 19:10:11.431 | DEBUG | text_recognizer.datasets.emnist_lines_dataset:_generate_data:159 - Generating data...\n",
- "2021-01-04 19:10:17.812 | DEBUG | text_recognizer.datasets.emnist_lines_dataset:_load_data:152 - EmnistLinesDataset loading data from HDF5...\n"
+ "2021-01-10 17:44:25.666 | DEBUG | text_recognizer.datasets.emnist_lines_dataset:_load_data:153 - EmnistLinesDataset loading data from HDF5...\n"
]
}
],
@@ -210,7 +209,7 @@
},
{
"cell_type": "code",
- "execution_count": 7,
+ "execution_count": 31,
"metadata": {},
"outputs": [],
"source": [
@@ -219,17 +218,17 @@
},
{
"cell_type": "code",
- "execution_count": 8,
+ "execution_count": 23,
"metadata": {},
"outputs": [],
"source": [
"from einops.layers.torch import Rearrange\n",
- "slide = nn.Sequential(nn.Unfold(kernel_size=(28, 64), stride=(1, 54)), Rearrange(\"b (c h w) t -> b t c h w\", h=28, w=64, c=1))"
+ "slide = nn.Sequential(nn.Unfold(kernel_size=(28, 46), stride=(1, 46)), Rearrange(\"b (c h w) t -> b t c h w\", h=28, w=46, c=1))"
]
},
{
"cell_type": "code",
- "execution_count": 9,
+ "execution_count": 24,
"metadata": {},
"outputs": [],
"source": [
@@ -238,7 +237,7 @@
},
{
"cell_type": "code",
- "execution_count": 10,
+ "execution_count": 32,
"metadata": {},
"outputs": [],
"source": [
@@ -247,17 +246,27 @@
},
{
"cell_type": "code",
- "execution_count": 23,
+ "execution_count": 33,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "torch.Size([1, 1, 28, 952])"
+ ]
+ },
+ "execution_count": 33,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "p=28\n",
- "x = rearrange(data, 'b c (h p1) (w p2) -> b (h w) (p1 p2 c)', p1 = p, p2 = p)"
+ "data.shape"
]
},
{
"cell_type": "code",
- "execution_count": 13,
+ "execution_count": 34,
"metadata": {},
"outputs": [],
"source": [
@@ -266,7 +275,7 @@
},
{
"cell_type": "code",
- "execution_count": 25,
+ "execution_count": 35,
"metadata": {},
"outputs": [
{
@@ -275,7 +284,7 @@
"torch.Size([1, 34, 784])"
]
},
- "execution_count": 25,
+ "execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
@@ -286,7 +295,7 @@
},
{
"cell_type": "code",
- "execution_count": 31,
+ "execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
@@ -296,7 +305,7 @@
},
{
"cell_type": "code",
- "execution_count": 14,
+ "execution_count": 36,
"metadata": {},
"outputs": [],
"source": [
@@ -305,16 +314,16 @@
},
{
"cell_type": "code",
- "execution_count": 15,
+ "execution_count": 37,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
- "torch.Size([17, 1, 28, 64])"
+ "torch.Size([20, 1, 28, 46])"
]
},
- "execution_count": 15,
+ "execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
@@ -325,14 +334,14 @@
},
{
"cell_type": "code",
- "execution_count": 17,
+ "execution_count": 38,
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
- "image/png": "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\n",
+ "image/png": "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AAAAAECc2tvcuWF846S1a9ea7Bvl+WZ6WU1pfQO0wiZgWXzTL9/gOOtxfbPhffv2mXzPPfeYnNVc1Ddi883Djj76aJPPOOMMk88//3yTsxqz+uZXnTt3NvnCCy802TexPOmkk1Lb9E3RfPNR38Ty6aefNnnevHmpbf7617822e8H/j0588wzTf7a176W2qZv1jZw4MDUbQr5pqBZt584caLJK1eubPv51Vfj/scGijV3Lva3g/H7kq+Jm2++OXWfyy+/3OTDDjus6GP4xp8PPfRQ6jY/+clPTPZNU33jP1+rHcU3CvX7lp/HfFNl32BWSs91vjZ9k9VZs2aZfN9996W26RvI+mal9WggO2rUKJMvuOACk7Pm9Fga2TaCb5Dv940GNbOOQqVzV6l5S0rPXdXOW1J67mrWeas9fBPawv11+/btjR5O2T766CNzPOMbr3/hC19I3eeFF14wmX8ZLP+yGsBWey7jP/+l6s9lspqRFzuXuf/++4s+Xkfp1KmTadLrP++yjgUacX4VK/+Z55se++bO/tg01ubO/lzUH0NPmjQpdR9/nvf666+b7P/Bk3L+cY3YNMdeCQAAAAAAgIpx4QcAAAAAACCnuPADAAAAAACQU9H3+PHr5/xa2W3btplczjr3Uusu/d/9mr9zzz03dZ+pU23Ted/7xvfOePzxx03esmVLapt+HWqfPn1MnjBhQtExjBkzxuQnn3wy9Ri+14Bf53rKKacUzf72Wfx71tLSYvJvfvMbk7N6/KxevbroNv3ffU+LrOfue6D49Z/Nsj63o/j14r7nkV8vfskll5js+2JI6d4Yvh+UryP/vn7ve99LbXPZsmUmN+OaXCk97meeecbkH/3oRyb/6le/Sm1j5MiRJvu13X5N9IABA0zeunVrapu+10g99OjRw+TLLrvM5NGjR5fchq/nz3/+820///jHP65idPXVpUuXVO+QQr6nkpTum/b973/f5I0bN9ZmcA3m55z21HK185ZUuqdPpfOWlJ678jJvlcMft82ZM6ft56w5JxZ79+41xzO+H8ppp52Wus+IESNM9v0x8vw+H6qy3tNqz2XKOT6t9FzGn0NIxc9l/DFILDp37qwjjjiiLfvzq6weP/U4v9qxY4fJsda2P74477zzTPafX81i0KBBJvu+TL6Pk5TuWblgwQKTs463mg1ntgAAAAAAADnFhR8AAAAAAICc4sIPAAAAAABATkXf48fzayT9Ws32rKHs0sW+DEceeaTJp59+usk333xzahtDhw412ffOWLFihcm+l0bWel2/HnfSpEkmT58+3eSzzjrLZL9mePHixanH6Nu3r8kXXnihyX/xF39h8pAhQ0z2/RKylOrp85//+Z8m+3WxUun3ddeuXUUf85133kndx/dyKMWPwT+mlO4tVNivKOt5xaSwlspZP+738RkzZph86aWXmux7afgakNI9px566CGTn332WZP9uur169enthnruupCkydPTv3Ov35+n/7Od75j8ptvvmmyX6ctpftYfelLXzJ52rRpJn/961832fewkKS/+qu/Mtn3N6kF38PH9/jxPYCy+LmqcP8tZx6Lhe+plDWv/+IXvzD53XffNTnWmvA9pYYNG2ayn3Oy+sGVUu28JaXnrmrnLSk9d8X6HjXC5s2b234up29jR9m3b5/pCeF7qBX2GfnYuHHjTF64cKHJWccVyJ8Yz2X8eYxU/Fwm6xguBiEEM7ZSvY6k+pxfFc5jUnZvoRgMHz7cZN/zp1l7/PjjCf+8/L4tSXPnzjX55ZdfNjnW97ASfOMHAAAAAAAgp7jwAwAAAAAAkFNc+AEAAAAAAMippuvxUwu+n0PPnj1N7tWrl8mnnnqqyUcffXRqm36tq18H6Nfe+sc47LDDUtv0fSsmTJhgsu974deT+zWoWcaOHWvy1KlTTR48eLDJ3bp1K7lNz/ek8OPas2ePyVlrm/0aXZ/96+/HPWXKlNQ2x4wZU3Sbnl97v2bNmtRtZs+ebXJh3xXfByI2lfb48XXk18+WkvV6+N4Yfg26f81jf03L5deXS+n+WrfffrvJS5cuNdnXzbp161Lb9P21fO+rESNGmHzyySeb7PufSNI///M/m7xgwYLUbSrl50s/L40aNaro/bN69jRrz5QkSUzfpFdffdX8febMman7+Nvs37+/PoOrgH9PJenYY481+corrzTZ91l45JFHTF65cmVqmx988EHRcVQ7b0mle/ocKvNWvaxevbrtZ3/8EJN169aZefmWW24xf/fzqSR985vfNNnvr4899pjJMdQu4pP1GVftuUxWz55S5zIx6ty5s3nu/vwqqydgtedXWXUa4zFH1vt3/vnnF73N1q1bTY6179pRRx1lsj9e9T2vsnoX3XfffSZv3LixNoOL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\n",
"text/plain": [
"<Figure size 1440x1440 with 5 Axes>"
]
@@ -361,7 +370,19 @@
"cell_type": "code",
"execution_count": 18,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "ename": "ImportError",
+ "evalue": "cannot import name 'fetch_data_loaders' from 'text_recognizer.datasets.util' (/home/akternurra/Documents/projects/quest-for-general-artifical-intelligence/projects/text-recognizer/src/text_recognizer/datasets/util.py)",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)",
+ "\u001b[0;32m<ipython-input-18-5d40384147e9>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mtext_recognizer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdatasets\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mutil\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mfetch_data_loaders\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
+ "\u001b[0;31mImportError\u001b[0m: cannot import name 'fetch_data_loaders' from 'text_recognizer.datasets.util' (/home/akternurra/Documents/projects/quest-for-general-artifical-intelligence/projects/text-recognizer/src/text_recognizer/datasets/util.py)"
+ ]
+ }
+ ],
"source": [
"from text_recognizer.datasets.util import fetch_data_loaders"
]
diff --git a/src/notebooks/04a-look-at-iam-lines.ipynb b/src/notebooks/04a-look-at-iam-lines.ipynb
index 036604d..de59a85 100644
--- a/src/notebooks/04a-look-at-iam-lines.ipynb
+++ b/src/notebooks/04a-look-at-iam-lines.ipynb
@@ -33,19 +33,48 @@
},
{
"cell_type": "code",
- "execution_count": 3,
+ "execution_count": 60,
"metadata": {},
"outputs": [],
"source": [
- "transform = [{\"type\": \"ToTensor\", \"args\": None}, \n",
- " {\"type\": \"ApplyContrast\", \"args\": {\"low\": 0.0, \"high\": 0.15}},\n",
+ "transform = [{\"type\": \"ToPILImage\", \"args\": None}, \n",
+ " #{\"type\": \"RandomResizeCrop\", \"args\": None}, \n",
+ " {\"type\": \"RandomRotation\", \"args\": {\"degrees\": 0.8, \"fill\": 0}}, \n",
+ " {\"type\": \"ColorJitter\", \"args\": {\"brightness\": 0.5, \"contrast\": 0.5, \"saturation\": 0.5, \"hue\": 0.5}}, \n",
+ " {\"type\": \"ToTensor\", \"args\": None}, \n",
+ " {\"type\": \"Normalize\", \"args\": {\"mean\": [0.912], \"std\": 0.168}},\n",
" #{\"type\": \"RandomAffine\", \"args\": {\"degrees\": [-0.25, 0.25], \"scale\": [0.98, 1.0]}}\n",
" ]"
]
},
{
"cell_type": "code",
- "execution_count": 4,
+ "execution_count": 61,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "[{'type': 'ToPILImage', 'args': None},\n",
+ " {'type': 'RandomRotation', 'args': {'degrees': 0.8, 'fill': 0}},\n",
+ " {'type': 'ColorJitter',\n",
+ " 'args': {'brightness': 0.5, 'contrast': 0.5, 'saturation': 0.5, 'hue': 0.5}},\n",
+ " {'type': 'ToTensor', 'args': None},\n",
+ " {'type': 'Normalize', 'args': {'mean': [0.912], 'std': 0.168}}]"
+ ]
+ },
+ "execution_count": 61,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "transform"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 62,
"metadata": {},
"outputs": [
{
@@ -69,7 +98,7 @@
},
{
"cell_type": "code",
- "execution_count": 5,
+ "execution_count": 63,
"metadata": {
"scrolled": true
},
@@ -80,7 +109,7 @@
"(28, 952)"
]
},
- "execution_count": 5,
+ "execution_count": 63,
"metadata": {},
"output_type": "execute_result"
}
@@ -91,7 +120,7 @@
},
{
"cell_type": "code",
- "execution_count": 6,
+ "execution_count": 64,
"metadata": {},
"outputs": [
{
@@ -100,7 +129,7 @@
"(97, 54)"
]
},
- "execution_count": 6,
+ "execution_count": 64,
"metadata": {},
"output_type": "execute_result"
}
@@ -111,7 +140,16 @@
},
{
"cell_type": "code",
- "execution_count": 7,
+ "execution_count": 65,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from torchvision.transforms import ToPILImage"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 66,
"metadata": {},
"outputs": [],
"source": [
@@ -123,7 +161,7 @@
},
{
"cell_type": "code",
- "execution_count": 8,
+ "execution_count": 69,
"metadata": {},
"outputs": [
{
@@ -144,7 +182,7 @@
},
{
"data": {
- "image/png": "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kJOTg8lkYtu2bbz00kv09PQwbdo0d96drq4uVq1aRWBgID/96U85cuQILS0tnDx5ksrKSp566ikGBwfx9vamoqKCrKws9u3bx7lz5zhw4AAAH3zwAenp6SxZsoQtW7bQ3NxMUVERxcXFlJWVUV1d7bEh8vX19WRlZWGz2di4cSOHDh1yv1ZUVER4eDizZ892B6yAq77VBy5bsai0tHTEb4RtNhvZ2dlXdUgff/xxampquHTpEv7+/syZM4fKykqeeOIJfve737n3t9vtrFu3jqKiIqZOneru5NwqMTExdHZ2cuDAgcuS9m7duhWLxcJbb71FTU0NGRkZ3HXXXezevdvdobHZbERERODr60t+fj5Lly5l/vz5HDlyhJKSErZs2cLkyZNZvnw5r7zyivu+WrZsGfPmzcPHx4ff/e53ZGVl0dvbi91uZ9GiRWzdupXvf//7ZGRkcO+993L48GFycnKYMmUK27dv5/z589TW1l7WsWptbeWdd97hL3/5CxEREZSXl4/b9AaLxUJcXBx33XUXv/zlL92jTG5Eeno6a9euJS4ujv7+fvLy8nj66acB2L59O11dXRw5cmTUoE1cXBypqanu0U9f//rXCQ0NJSYmhsbGRmJjY5k0aRI+Pj6UlJTw6quvemQlHKUU//AP/0Bqaio9PT0EBgZiNpsJDw9n8+bNpKens337drKzswkMDCQ9PZ2vfOUrGI1GHn300VFHJK1fv57Vq1fT0NBATU0NNpuN73//+7zxxhtorVm2bBlz5swhNjaWuLg4vva1r/Hee+994nu8Zs0ali1bhtlsZs+ePXz1q1/F29ubuXPnkpycTEFBAa+88sp15U26ERaLhdWrV/PAAw8QGBjI4OAgJ0+e5K233uLMmTMePddohnKGeSIxekpKCnfffTfr1q3Dx8eH119/nd/85jeXjUgxm83MmDGD5ORkWlpaaGhooKqqivb2dmJjY9m2bRv3338/O3fu5K9//etVI/fuvfde7r//fnx9fTl+/DivvPLKuI1+Audn74MPPsiWLVsIDw/n5Zdf5tSpUzI9TgghhBBighpz0GbBggUkJyfz8ccfc+HChav+g9zX10dVVRWVlZXu144cOUJWVhZKKbTWDA4OUlFRwdmzZzEYDLS1tdHS0oLJZKKpqYnjx4+PqWM4XFBQECtXrmTbtm0cPXqUZ599luLi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\n",
+ "image/png": "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\n",
"text/plain": [
"<Figure size 1440x1440 with 1 Axes>"
]
@@ -154,7 +192,7 @@
},
{
"data": {
- "image/png": "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\n",
+ "image/png": "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JYXXXnuNPXv2MDAwcMH5+tiG6oMejebxeEhISKCvr8+IzLPWpyev1++FSUlJ1NfX09bWNikBSq/Trv+R1qd/J/SkzuZlkmlpaeTk5NDa2kpeXh7Tpk3j6NGjRkSffl/Pycmht7c37N8IvbwuyOoJi6O1WRAEQRAEQfjrImrRxul0EhMTw/r167nllls4evQoX/va1xgdHTUe/nUHYNGiRaxdu5b//M//pL+/n7i4OFasWMHnP/95YmNjaW5u5h/+4R+or683HA39n/5WVn/41n92OByMj48bYem6aGEVMMxbhut1FRQU4HA46OjooKOjg/HxcXw+H1u2bGHt2rWsW7eOpqYmmpqaLnCuQjlskea4CYbe32uvvZa9e/dy8OBB2tvbcblcFBYW8rnPfY5jx44xa9YsTp8+zcjICHFxcSQmJk4QEYJdL72NYG+QT506xdKlS1myZAknTpzgwIEDE66Hw+EgOTmZjRs3Ul9fz/3338/4+DjDw8O0trYa46W/TU9JSeHaa6/lnnvuIS0tjd7eXh566CHeeecdfD4f2dnZOJ1Ourq6GB0dNQSqSCOHzLaPjo4aeZTefvttKisrAf/1X7NmDbm5uWiaxsDAAEopli1bxne+8x0SEhKoqalhz549PPPMM/zwhz+koKCAs2fPsnbtWm666Sby8vJ45JFHmDVrFkNDQ6xfv57e3l6OHTtm2Ltq1Sqefvppzp07x9DQkLEN+gMPPMDXv/51WlpaLpgfdnMqVP+dTif5+fnccccdfPOb3+SOO+5g7ty5tLa28swzz7Bnz54JEQ3FxcVcddVVXH311aSmppKbm2vkwgEYHR2lvb2dxsZGbrnlFp588klDrEpISCAhIQGHw8EDDzzAE088QX19/YQ8U8HmcrRRJ7qTmpmZyUMPPURraysvvvgiqamppKWlcezYMQDKysq46667yM3N5c033+T5558nOzubu+++m0cffZSGhgbmzJnDxo0bmTt3Lv39/VRUVHDixIkJURq6YHP99dezffv2CyJIrAKJ3XfebsmM9bj+T985aHh4eEIiZesYhBOE9Pr0ROzJycl89rOfZWxszOjj9ddfz89+9jND1A037tbfs7Ky+OIXv8iaNWsYHR1l586dxMbG8pWvfIUvfvGLnDp1Kmiklflea73PxMfHc9VVV3HrrbdSUlLCq6++ytatW6mr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\n",
"text/plain": [
"<Figure size 1440x1440 with 1 Axes>"
]
@@ -164,7 +202,7 @@
},
{
"data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAABG0AAABCCAYAAADt2ys3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAABGlElEQVR4nO3dd1hc1534//eZgaF3REf0jhBIqCMhJNRty7Ic+Svb8brFsVO+2d865evdJJvEzu4m2d3ESTaxEzu25bausuRY1WogJJCEhABRJJAA0XvvcH9/zDABCVBDxc7n9Tw8D8xt55577jD3M+d8jtI0DSGEEEIIIYQQQghxZ9Hd7gIIIYQQQgghhBBCiMtJ0EYIIYQQQgghhBDiDiRBGyGEEEIIIYQQQog7kARthBBCCCGEEEIIIe5AErQRQgghhBBCCCGEuANJ0EYIIYQQQgghhBDiDiRBGyGEuEMppV5XSr0wyXJNKRV6lfv6iVLqrakr3dRQSpUppVJvdzluBqXUQaXUkzew/Rml1NKpK9GNU0otVUpVXue2jyqlDt+EMgWa7gWLCZb/s1Lqlevct41S6lOlVJtS6oMbK6kQQgghxLUb9wOOEEL8PVBKPQo8qWla0u0uixCX0jQt5naX4ctA07R/u4HN7wc8ATdN0wanqEhCCCGEEFdNetoIIW6Zib4JF0L8jdwnl7uNdRIAnL2egI1cRyGEEEJMBQnaCCFuiGl4y3NKqQKlVItS6jWllLVp2VKlVKVS6gdKqVrgNaWUlVLqN0qpatPPb5RSVqb13ZVSf1VKtSqlmpVS6Uop3ZWOY1p+l1Iqx7TtEaVU3Khl/kqpj5VSDUqpJqXU75VSUcBLwAKlVKdSqtW07lrTMTqUUlVKqe9OcN7lSqnZpt8fMg3PiDH9/YRS6hPT75Od72XDRSYb8qSU+p5Sqsa0n8evcF2ClFKHTOexF3C/ZPl8Uz21KqVOjx6GYxrW8+9KqWNKqXal1DallOs1bPu8UirDdOw9Sin3Ucu/aqq7JqXUv1zhHMYML7q0vkx19X+VUueVUo1KqV+Nai86pdQPTceqV0ptUUo5mZaNDKf5B6VUhWnbCcsyUZtQSrmY2muDqU3+VSnlN8E+QpRS+03n3aiUelsp5TxqeZky3ie5QJdSykKNGjpmOp//p5QqNe3j/ZFropSyVkq9ZXq9VSl1XCnlOVndXmk7pZSrMt5j1aZz++SSbZ811WuNUuqxUa87meq6wVT3Pxy5JuMc/0Wl1EVTG8tWSi0etewnSqkPTeVrBx5VSs1VSp0wrV+nlPrvS3b50HjXU40aGjjq2j9lOrcaNfE9/lPgx8ADyvge8cRVtqsnlFIVwP4rXQMhhBBCiCuRoI0QYio8BKwCQoBw4IejlnkBrhi/sX4K+BdgPhAPzATmjlr/WaASmIZxSMI/A9qVjqOUSgD+AnwdcANeBrYrY8BED/wVKAcCAV/gfzVNKwSeBo5qmmavaZqz6RivAl/XNM0BiGXiB69DwFLT78nAeWDJqL8PmX6f7HyvmlJqNfBdYAUQBlwpD8w7QDbGYM3zwD+M2pcv8BnwAsZr813gI6XUtFHbPwI8DngDg8Bvr2HbB4HHAA/AYFoHpVQ08Efgq4APxms1bpDjGmwAEoFZwHpTmQEeNf2kAMGAPfD7S7ZNAiKA5cCPlTGQN56J2oQOeA1j254O9IxzjBEK+HeM5x0F+AM/uWSdzcA6wHmcnh3fBu7F2LZ8gBbgf0zL/gFwMu3TDWO77pmgHKNNtt2bgC0Qg/E6/nrUdl6m7XyBJ4D/UUq5mJb9zrQs2FTWRzC2hfEcx3hfuGJsrx+oUYFYjNfzQ8AZeBt4EXhR0zRHjO8B71+yv6u9nmBsF2HASuAHapy8Spqm/Svwb8B7pveIV7m6dpWM8RqvmuT4QgghhBBXRYI2Qoip8HtN0y5qmtYM/Bzjw+eIYeBfNU3r0zStB2Pg5WeaptVrmtYA/BTjQzzAAMYgQYCmaQOapqVrmqZdxXGeAl7WNC1L07QhTdPeAPowBkvmYnzI/Z6maV2apvVqmjZZMtQBIFop5ahpWoumaScnWO8QxoczgMUYH8hH/h4dtJnsfK/FJuA1TdPyNU3r4vIHfjOl1HRgDvAjU72nAZ+OWuVhYIemaTs0TRvWNG0vcAJYO2qdN0cd60fAJlMA7Gq2fU3TtLOm6/0+xgdzMOYH+aumaWmapvWZ9jt8HXUx2i80TWvWNK0C+A1/axMPAf+tadp5TdM6geeA/6PGDln5qaZpPZqmnQZOYwyqjWfcNqFpWpOmaR9pmtataVoHxjaZPN4ONE0r0TRtr+l6NAD/Pc66vzW17/ECLk8D/6JpWqWp7n4C3G86nwGMQZdQU/vP1jStfcIaG3tel22nlPIG1gBPm853QNO0Q5ds9zPT6zuATiDC1D7+D/CcpmkdmqaVAf/FBO1d07S3THU4qGnafwFWGIMuI45qmvaJqZ31mI4bqpRy1zStU9O0zEt2ebXXc2TdLk3T8jAG3jZPsu5oV9OufmLa99UEzoQQQgghJiVBGyHEVLg46vdyjEGSEQ2apvWO+tvHtM546/8KKAH2KOOQl/93lccJAJ41DfFoVcahTv6m5f5A+TXkpNiIMQBRrozDixZMsN4hYLHpAVePMTixSCkViLGnQc5VnO+18OHy859s3RZTwGW89QOAr1xSX0kYA2YjLj2WJcZeO1ezbe2o37sx9ka47BxM5Wua5DyuxkRtYrx6t8DYg+tK5bzUuG1CKWWrlHrZNFSmHUgDnE3BizGUUp5Kqf9VxuFV7cBbXDJk7ZJzuVQAsHVUnRcCQ6bzeRPYDfyvacjPL5VSlpPsa8RE2/kDzZqmtUywXdMl99NI3bljbCeX1rvveDtRSn1XKVWojDMztWK8b0bXyaX18QTGHnZFpqFcd12y/Gqv56X7vpZ78mra1WTXUQghhBDimkjQRggxFfxH/T4dqB71t3bJutUYH0AvW9/07fyzmqYFA/cA/6SUWn4Vx7kI/FzTNOdRP7aapr1rWjZdjZ8U9NKyoWnacU3T1mMcEvIJlw/BGFmvBOOD4beBNFPPhlqMvX4Oa5o20oNkwvMFujAOQQFAKeU13rFMarj8/Cdb10UpZTfB+hcx9qQZXV92mqb9x6h1Lj3WANB4ldte1TkopWwx9vSYyJj6wTgs51ITtYnx6n0QqLuKco4xSZt4FmPPkHmaccjOyPA4Nc5u/g1je5thWvfhcda7rD2OchFYc0m9W2uaVmXq8fJTTdOigYXAXRiHJV3pvCba7iLgqkbl3LlKjRjbyaX1XnXpiqb8Nd/H2IPMRTMOT2xjbJ2MqQ9N085pmrYZ43X4BfDhJW38Wkz2njWZq2lXk11HIYQQQohrIkEbIcRU+KZSyk8ZE6P+C/DeJOu+C/xQKTVNGRPU/hhjr4ORZMKhSimF8QFuiLHDZyY6zp+Bp5VS85SRnVJqnVLKATiGMVjwH6bXrZVSi0zb1QF+SimD6fgGZUwq7KRp2gDQzuTDdw4B3+JvQ6EOXvL3pOeLcQhHjFIq3pTL4yeTHOt9jMlYo03Bjn+daEVN08oxDln6qemckoC7R63yFnC3UmqVUkpvqpOlamwS3YdHHetnwIeapg1d5bYT+RC4SymVZKrznzH5/6Ec4D5Tj5ZQjD0tLvU9ZUwI7A98h7+1iXeB/08ZEzLb87fcJNc0C9AV2oQDxhwwraY2OeE1Ma3bCbQpY16g711LOTAmzf65UirAVK5pSqn1pt9TlFIzTD182jEGToZNy36ilDo4wbmNu52maTXATuAPprq1VEotGW8fo5nax/umcjqYyvpP/K29j+aAMdjRAFgopX4MOE62f6XUw0qpaaaAaKvp5esdXvcjU7uKwZhzZ7L3rNGmpF0JIYQQQlwtCdoIIabCO8AejMl4SzEmqZ3ICxgDCrlAHnBy1PphwOcYH26PAn/QNO3AlY6jadoJ4GsYE4K2YBxi9ahp2RDGgEUoUIEx0fEDpv3tB84AtUqpRtNrXwXKTENYnsaYw2IihzA+fKZN8Pek56tp2lmMgYvPgXPAhLl2NE3biTFny37T+V1pZpoHgXlAM8ZgwpZR+7qIMcnrP2N8aL6IMYgw+n/Cm8DrGHsPWQP/9xq2negczgDfxHgdazBeq8pJNvk10I8xuPYGxmS0l9qGMeFyDsYEya+aXv+L6RzSgAtAL8ZeUddjojbxG8AGYw+TTGDXJPv4KcZkyW2mcn58jWV4EdiOcehgh+l480zLvDAGxNoxDps6hPHcwdijJGOCfU623VcxBnGKgHrgH6+ynN/G2EPqPMb2/A7Ga3Gp3Rjr6yzGIUa9XHlY0WrgjFKqE2N9/J8byBtzCON9tA/4T03T9lzldlPZroQQQgghrkhpmvTiFUJcP6VUGfCkpmmffxmOI4xTbQNvaZr2yu0uy2SUUhoQZhqqJsahlMoBlmuadqO5g74UlDHn1AXAUnrHCCGEEOKLYLwcD0IIIYT4EtA0Lf52l0EIIYQQQlw/CdoIIYQQQkwxpdRDwMvjLGoApsnr8rq8/nf9ermmaTHjvC6EEJeR4VFCCCGEEEIIIYQQdyBJRCyEEEIIIYQQQghxB7qm4VGmpI/iBtjY2NDTc72TXQghhBBCCCGEEOJLqFHTtMuGVEpOm1vAy8uLhIQEkpOTsba25nvf+x4DAwO3u1hCCCGEEEIIIYS4M5SP96IEbW4BPz8/YmJiqKur48CBAwwOyiyjQgghhBBCCCGEmJzktLnJ3N3dCQsLw9PTk/T0dHJycpDkz7eGl5cXzs7Ot/SYTk5OJCYmsmHDBgIDA9Hr9bf0+EIIIYQQQgghvjwkaHOTRUZGEh0djU6n48SJE7e7OF84Dg4OuLm5YW1tfU3b+fn5MX/+fAIDA29OwSbg7e3N3XffzeOPP46Xlxc6ndxiQoibx8rKCltb29tdDCGEEEIIcZPIE+VNZGFhwcKFC/Hz86O8fNzhaeIK5s2bx5o1awgICLjqbaytrXniiSfYuHEjYWFhN7F0Y1lYWODp6Ul8fDwDAwNkZWV9aXMXWVjIyMq/FwaDARsbGywtLW93UcQlrKysCAoKIjo6+poD2+Lm0ev1ErAXQgghxJSRJ6+baNGiRcybN4/Kykr27Nlzu4vzhfSd73wHg8FAU1MTxcXFV1xfp9PxrW99i9TUVLZs2cKxY8duQSmNEhMTSU1NRafTsXfv3i/1MLj58+dz6tQpurq6bndRxE324IMPEhYWRlpaGrt3777dxRGjPPzwwyxatAgrKytyc3P5xS9+cbuLJDD+L2hoaOD8+fO3uyhCCCGE+BKQoM1NlJKSQllZGQcOHLiqgIP4G71ez7x589A0jZdeeons7OwrbmNvb8/GjRtZt24d77zzDjt27KC6uvoWlBbCw8O55557WLBgAYWFhbz00ku35Li3mq2tLX/5y1/o6enhRz/6kQRtvsR0Oh3f/va3qa6uxtLSUnpy3GG+/e1vExUVRVdXFwUFBRw/fvx2F0kAv/jFL4iOjmZ4eJj8/Hw++OADcnJybnexhBBCCPEFJv13b5LExETi4+M5f/48hYWFX+peFzeDhYUF69atY2BggMLCQpqamiZd38vLiw0bNvD1r3+dsrIyPvvsM+rq6m5ZvSckJBAUFER1dTUffPDBl3KGsMDAQH7961/j4eHBtm3baGtru91FEjeJg4MDzzzzDEopqqurOXToEOfOnbvpx/35z39+y/NQfdHodDo2bdqEr68vxcXFHD9+nFOnTk1ZzrQ1a9bw0EMPERwcPCX7+3uh1+v5x3/8R5ycnPjoo4/IzMwkMDCQb3zjG7e7aEIIIYT4gpOgzU2yePFiWlpaKCoqoqam5nYX5wvF0tISPz8/5syZQ05ODi0tLQwNDU24fmBgIKmpqaxbt47u7m5effVVampqblngJCYmhtTUVPr6+ti/fz+nT5++Jce9laKjo9m8eTMzZ87k8OHDHDt2jO7u7ttdLHETuLm5kZyczLJlyygrK6Orq4v8/HwuXrx4046plCIxMREvLy8MBsNNO84XncFgIC4ujtTUVNra2igvLyc3N5e8vLwp6fW2cOFCQkNDcXR0xNHRcQpKfOOsra2JiYm53cWYlJWVFQkJCSxatIjTp09z9OhRtm3bxqFDh/Dw8GDlypW3u4hCCCGE+AKbsuFR/v7+GAwG6urqsLW1Zfr06VhYWNDf309OTg7Dw8NTdag7mk6nw8vLi7i4OAoKCigrK5OH22tkbW1NZGQkLi4upKWl0dHRMeG6Hh4ezJs3j6VLl+Lj40N6ejoZGRm3pIeNUgo/Pz82bNiAj48Phw4dIj09nebm5pt+7FspNDSUFStWsGzZMtra2tixYwe1tbV/N/f03xMbGxtCQkJYvHixedhNT08P9fX19PX13bTj6nQ6Fi1aRFlZGT09PTftOF90tra2rFixAhsbG06dOkVZWRm1tbW0trbe8L69vb2ZOXMmHR0dlJWV0d7efuMFvkE2NjZMnz6dJUuWcObMmUnXdXZ2xsvLi5aWFurq6m5RCY1sbGxYtGgR3d3dHDt2jIsXL9Ld3Y2FhQUzZsxg6dKlX/o8Z0IIIYS4eaYsaLN06VKcnZ05deoUnp6eLF26FCsrK4aHh/npT39KfX39pL0lJmIwGNDpdAwPD9Pf33/N2yulsLa2xtramoGBAbq7u2/qw6bBYGDRokV4eHiwZcsWGhsbxyy3srLC0tISKysrdDodQ0ND9Pb2SmBnFFtbW+Li4qitrSUrK4ve3l7A+GA3EggEYw6bhQsXsnz5ckJDQ80Jn2/FB2OdToeDgwOrV6/mgQceYO/evezfv5+zZ8+Ou/5IOx45ly8KNzc37r77blavXo2dnR27d+8mMzPzdhdL3CSenp7ExcURHBzM22+/PWF7nmo6nY7w8HA+/vhjGXY3ASsrK3MA47PPPuPQoUNTFuCytbUlOTkZe3t7jhw5ckf0FrS0tMTf35+FCxcSGxt7xfX9/PxYvHgxeXl5tzRoY2lpiYeHB/Hx8ezatYv8/HxzgLOuro6MjAzuu+8+bGxs5P+8EEIIIa7LlARtdDody5cvx97ens2bN6NpGhUVFZSUlPDoo4/S1NTEiy++SH19/ZjtlFKTPmArpQgLC8PFxYXW1laKiorGDHnR6XQopQDQNO2yYIxSCkdHR2bOnMmsWbPMSYHHeyi4UllG1hk53kSBHzs7OzZu3EhFRQVnzpyhvb3dvJ3BYCAyMpLAwEAiIiKwt7enoaGBkydPcvjw4UmPPdX0ev24dXY9lFLodLop25+DgwNz587lyJEjDA0Nmffv5uaGh4cHBQUFAKxYsYLHH38cb29vqqqqOHr0KIcOHbrh419tGVetWsV3v/tdampqePXVV8f9Jnhk6teRIQcnTpz4wuS70ev1PPXUU6xatQqlFGlpabz33nu3u1h/t0a/192s/UdFRREVFcX58+f55JNPbspxxqPT6ejr6+Po0aPyYDsOpRSxsbE8+eSTNDc38/LLL09ZO7CwsCApKYknn3ySV1999bL/07dLQEAAq1evJjk5mbfeeuuK6w8MDNyW4cjTp09n7dq16HQ63n333THL6urqOHjwIN/5zneIi4sjOzubgYGBW1o+IYQQQnzx3XDQxsLCgpiYGGxsbIiKiuLixYu8/fbbvPnmm9jb2xMfH09ISAhWVlZjttPr9SxZsoS0tLQJe+AsX76cBx98EB8fH7q7uyktLeV73/ueeXlqaiozZszA2tqa4uJiPvzwwzHbx8TEcNddd5GamoqtrS2hoaF84xvf4MCBA5cltp09ezaFhYWT5gWIjo4mPDyc3t5edu7cednywMBAnnrqKebNm8df//pXUlJSKC8vZ3h4mODgYB544AHs7e2pra3lxIkTFBUVUVxcTFFR0RXreSpZW1vzzDPPcP78efbt20dnZ+d178vV1ZWZM2cSGxtLRUUFu3btuqFhFIGBgaxYsQIXFxc+/fRThoaGmDVrFnfddRcLFizAYDCwZcsWWltbuf/++2lpaaGnp4eTJ0/yu9/97rqPey2mT5/OqlWrePrpp3F0dOSf//mfqaqqGnfd73//+yQlJeHl5UV/fz8nT57km9/85i0p54167rnnWLZsGQCZmZls3br1lrdVYWRvb09ISAiWlpZkZ2fflMDNsmXLSE5OZnBwkDfffHPK9z8ROzs7Fi9ezHvvvXddvSn/HixcuJB169bh5eXFf/3Xf03p9beysuKf/umf2LJlCzt37pySoVZTYePGjSQmJpKWlsbWrVuvuH5xcfFtmaVxZDj0p59+Ou7y4eFhWltbv3C9LIUQQghx57jhoI21tTUPPfQQc+bMoaamhp07d3Ls2DHgbzk/du3aNebDuKOjI8uWLWPFihXY2trS0tJCd3c3jY2NVFZWYmFhwa9+9St0Oh179uyhubmZiIgIlixZAsC8efOYNWsWISEh2NnZYTAYCA0NHRO0SUxMZNmyZQQFBfHRRx/R3d3NL3/5S/R6vfkb62nTpvHwww+zZMkS7O3tqaio4LXXXrus10tSUhKLFi0iODgYJycnent7mT59On/605/MH579/PxISUlhxYoVNDc3ExkZiYWFBR0dHeh0Ojw9PfHz8+OHP/whWVlZ9PX1MTQ0dF1Dxm6Eh4cHd999N+Hh4fzpT3+6oW+1/f39SU5OZt26deTk5BAdHU1XVxfZ2dm0tLQAxqBedHQ0TzzxBDt27ODEiROTzgQVGhrKggULOHnyJIWFhQwPD/Pggw/i4ODAsWPH6OrqYtmyZQwNDVFaWkpQUBDnz5/n5MmT130e4wkMDCQhIQEPDw+qqqrYuXMnQ0NDrFixgtTUVKKjo+ns7CQtLY39+/eP6b1lMBiIjY3liSeeYHh4mLNnzzI4OIhSivT09AmPqdfriYqKYu3atVhZWbF161by8/MvW2/+/Pncf//9REdHc+7cOb7zne/c0LlGR0cze/ZsPDw8GBwcpKmpCU9PTxYsWIC7uzs5OTlkZGRc1bTr18rGxoaVK1cyf/58/uM//kOGxlwiJCSERYsWsWDBAnx9fenu7iY9PZ0333xzynOOLF68mIGBAQ4fPkxhYeGU7nsymqbR2dlJdnb2F6YX2tVwcnJi1qxZzJgxg9raWnbu3Dlpfq6JhIaGsnr1avz8/NiyZQtZWVlTVsbAwEB+/OMfk5uby9atWy8L4Ov1eu655x50Oh0HDhy4Zfm6HnvsMXx8fNi3bx9vvPHGLTnm9Zg3bx5Lliyho6NjwqDN0NAQdXV1nDlzRnrZCCGEEOK63HDQxtLSktmzZ2NpacmHH37I3r17qaiowNnZmZSUFCwsLEhLSzN/GJw2bRoJCQksWbIEBwcHlixZQnd3N9XV1ZSUlODo6MjChQuJiYnhlVdeISsrCysrK9zc3KitrWXFihVs2rSJvLw8tm7dio2NDZGRkbi7u5vLtGLFClJSUlBKsW/fPo4dO8bmzZupq6ujuLiYtrY2AgMDWbRoEVZWVlRWVpKYmIiHhwf29vbm/YwMz/r6179Oc3MzBw4coKCgAIPBQFhYGE888QTvvPMO3d3dBAQEEBcXR29vLy+99BJFRUV0dXUxPDzMtGnTmDt3Lr6+vmRmZt7WB1Nra2umT59ObW0tfX19Y76xtbW1JTo6mqCgILZu3XrZA5RSiqCgIAwGA+Xl5cTFxREbG0tubi7vvfceCxYsYMGCBfT395Ofn09zczOWlpbEx8dTW1uLh4cH1tbWE5YtJCSEGTNmYG9vzwcffMDQ0BBPPfUUfn5+7Ny5k1OnThEZGcmaNWvIzMykvb0dTdPIz8/n+PHjU1I/vr6+5h5cIwHFkQev7u5uc6CwrKyMWbNmsWvXLrq6usz16OrqSmJiIo899hhVVVUMDw8TExNDV1cX6enp7Nu377Jj+vn5ERwcjKOjozn3ga+vr3lI3eiAVGRkJBs2bGDOnDn4+Pjg5OREcnLydQ8Lmz17NmvWrMHW1pa+vj7s7Oy45557yM3NxcrKisbGRj777DMyMjJuygO1jY0N69evp6enh7CwMIqKim6o59elkpOTSUxMZNq0aVRXV/Pb3/52yvZ9s0VHR7NhwwY8PT2pra3l6NGjdHR0sHbtWvR6Pdu3b6esrGxKjvXoo4/i4uJinhlsdDA5OTkZb29venp6uHDhArm5uVNyzBG9vb3k5eXdUPvavHkzISEh5mT46enpU17OqzVz5kzmzJlDZGQkVlZW5t6oBoOBgwcPUllZeU37W716Ne7u7pw6dYq0tLQpe/CPjY1lzZo1ALz88st0dnaa38c8PT2ZNWsWycnJ2NnZmXN4paenU1paetXHCAgIwNvbm4aGhqveLj4+nlmzZlFaWsrRo0fv6MTUoaGhODs7k5aWNm4PUxcXF2JjY2+4fQshhBDi79sNBW1GZhoJCgoiLy/PPNNPeHg44eHhzJ07l88++4zc3Fx6e3txdnYmIiKCOXPm4OLiQkFBAYWFhfT399PW1kZ/fz9hYWEsX76c/Px8Tpw4gYWFBWFhYTg7O1NQUEBwcDCRkZHs3buX4uJiXF1dcXBwoL6+nvDwcBYsWMC6devo6+vj8OHD5Obm4unpib+/P59++ik1NTVERUUxf/58oqKi6Ovrw8vLi/Lycg4ePEhJSYn5/JRSJCQkEBgYyMGDBzly5AgVFRVYWlrS2dnJE088QXR0NNbW1sybN8+cb2Xfvn3U1taa91NTU4ONjQ2rV68mKSmJnTt33paZd9zc3AgLC8PR0ZFTp06NCdh4eXmRkJDA0qVLcXBwYPv27eYPmfb29vj5+TFjxgz0ej2ZmZm4u7sTFhaGpaUlu3fvpry8nISEBMLCwjh8+LC5Z5WFhQUhISGcP38eb29vvvKVr1BUVMSpU6eor6/Hw8ODgIAAampqCAkJwcvLi66uLnOgIiUlhdbWVurq6rC0tMTLy4vz58+zY8cO5s6dS319PZWVleaePTfC39+ftWvXEhoaSltbG5mZmXR0dDBnzhyWLFmCXq+nuLiYkpISbGxsaG5uJj09fcyHcXd3dxYsWICfnx8DAwM4OTnR1tbG0aNH2bdvHw0NDWOOmZiYyOLFi4mJicHCwoKBgQG2b9/O1772NYKCgvDx8eHkyZPodDrCwsJYvXo1AQEB2Nvb09nZydmzZy/b59XQ6/V4e3uzbNkyrKysOH36NDqdjsTERPz9/SkqKsLe3p5du3aRk5Mzae+o62Vra0twcDDe3t58/PHHtLS0TMmDjVKKadOmsXDhQlJSUvD29sbZ2ZkZM2Zw8ODBcR/m9Xo9fn5+DA8PU11dfct7wI1n1apVhISEUFxczKFDh6iqqqK/v5+7776boKCgMQHmkfaRkJCAg4MD7e3tFBUVXTGhrFLK/L5ZVFREYWEhLS0tGAwGZsyYgZeXFyEhIbi6umJlZYW/vz8tLS1TNv23o6Mjrq6uNxR8Wr16NfHx8eb3nOnTp7N69erbErSZPn06a9aswd/fn7q6OoqKiujv7ycgIICwsDAqKyvNObp6e3uvmDB3xYoVxMbGUlJSwv79+6/pPvT09CQwMBAPDw+6u7vNvT00TcPf3585c+Ywffp0PvroozEBlcDAQGbPnk1cXBwDAwMcPHiQ8PBwHB0dsbOzu+Jx9Xo9Pj4+RERE4OLiQn9//2Xvz/7+/uYvW6ytrenv76e4uJgTJ06wePFiOjs7yc/P58KFC1d9vrdabGysOSA10ZcGdnZ2eHp6sm/fPpk5SgghhBDX7YaCNg4ODsTHx+Po6EhWVhaWlpYkJCQQERGBr68vfX19vPXWW1RXV6NpGiEhISxYsIDo6GgqKys5ePAgx48fNz8gBQcHk5SUhL29Pdu3b0en0zFv3jyCg4Npb28nIyMDf39/enp6sLOzw93dHU3TzIkHw8LCeOaZZwgNDWXr1q3U19fj7u7OokWLaGtr44MPPgCM3xwvWrQICwsLampq6O/v5+DBg2zdunXMbE86nY7Y2FiGh4cpLCw0B2IGBwepra1lcHCQ+Ph4czBqeHiYI0eOjAnYAOYpVKurq3nooYc4cuQIbW1ttzxw4+vrS1xcHABnzpwxH9/Ly4u5c+eyfPlywsPDAeO5g7Fn1EigLTg4mKysLKqrq/Hx8cHFxQWDwUBzczPBwcEEBATg7OxMW1ububeEXq8nICCAxsZG3NzcmDVrFnFxcdjb21NUVERYWBhOTk50d3fj5uaGpaUlNTU1VFVV4eLiQnBwMPv378fd3R1fX1/c3d3ZsWMHaWlpzJ8/n5KSkusKWlzK3t6e1NRUkpOTycvLY+/eveTm5uLj40N4eDhubm7Y2dmxY8cOzp8/z4IFCygsLBwT5HN0dDQHK0eCAF1dXRw6dIh9+/aNWReMvXJSUlJYtWoVPj4+VFVV8Yc//IFt27axceNGDAYDlpaW6PV6nJ2dSU5OJikpif7+fi5evEh1dTW7d++moKAAT09PHBwcsLe3p7e3l9bWVrq7u7GxsUEpRU9PD52dneZ7zWAwMG/ePMLCwtizZw85OTlERkbi4OBAc3MzdnZ2tLa2smfPngnz9dwoV1dXZs+eTV9fH2lpaZSXl99Q0MbBwQFvb28cHBwIDw9nw4YN6PV6amtrGRoaIjY2lhkzZox5mLe2tsbV1ZXp06eTkJBAV1cXZ8+epbm5mfr6+tua32PJkiVUVlaSlZVFdnY2rq6ueHt709vbS2lpqfkes7W1JTIyktTUVGbOnImNjQ2dnZ14eHjQ1tY2aUBEp9OxePFiLCwsyMnJobKyEjs7O0JDQ7nnnntQSlFeXk5XVxfTp0/H39+f2NjYKQnaODs74+Hhga2t7ZjXHR0dcXJyQqfT0dbWNuE10Ov1+Pv7c++991JaWsrp06extrYmISGBmJiYGy7f9YiMjGTOnDlUVVWxfft2cnJyAJg1axZPPvkk8+fPx9/fn76+Pmpra3Fzc6OlpYWGhgZz29fpdDg6OuLr68v999/P8PAwJ06cGDcA5+TkhMFgMH/xMcLHx4fZs2cTGRmJi4sLTU1NdHV1UV9fT1NTE7GxsQQHB1NdXc1nn31m3s7Dw4OlS5cyc+ZMOjs72bVrFxkZGdx///3Y2dmNe3+GhobS09NDT08PFhYWeHt7mxPu19TUcPHiRXPQRimFg4MDSUlJJCYm4ujoiK2tLUopQkJCaGxsZObMmXz++ecUFhbeEdOOTyQpKQlra2tOnz5NRUXFZctHelk1Nzeb24EQQgghxPW44aBNXFwc7e3tVFRU8Mgjj5i70Z85c4Zt27aNyckRExNDYmIilpaWpKenXzZ1sKurK2FhYRQWFpKbm8u3vvUt4uPjKSoq4sCBA5w4cYK8vDyWLFnCAw88gJOTE3v27CEvL4+QkBB8fX0JCQmhvr6e2tpawsPDWbt2LQB//OMfOX36NIsWLWLmzJnmh+TKykpeeeUV8vLyGB4exsLCAgsLC5RSWFlZ4eHhgaWlJeHh4dTX11NXV4eVlRWRkZHU1dXh5uZGb28vbW1tNDc3k5GRMW5dNTY2sn37dn72s58RERFBTk7OLU9M6OXlRUREBA0NDWRnZ2MwGDAYDKxevZrFixdja2vL8ePHmT9/PjY2NhgMBlJTU1m1ahVubm5s2bLFHPgqKyujubmZhIQEvvrVr5pnSKqrqxtzXkop7OzsWLhwIbm5uVRXV+Pr68sjjzxCaWkpLi4uvPLKK5SWlhIVFUVXVxfV1dXo9XoiIiKwtbXFycmJOXPm0NPTQ25urjl30cDAAPn5+Tc8W4iFhQWRkZE8/fTTnDp1ir1795Kfn4+fnx+bNm1iw4YNdHR0mL85HxgYwN3dnY8//ti8D71ez4wZM1i1ahXz589nYGCAQ4cO8dJLL5GdnW2eRczCwgK9Xo+FhQVLliwhKioKg8FASUkJn332GVu3bsXS0hInJycqKyvp6enBxsaGGTNmsHLlSpRSVFVVUVBQwOnTpzl79izTpk1jzZo1xMfHEx4ezoULFzhx4gRlZWVMnz4dnU5HVVUVp0+fprGxEU3TcHJy4p577qGoqIi0tDTCw8NJSUkhIiKC3NxcQkJC+PDDDzlz5syUDlcabSSg2tDQwNmzZ6/4TbTBYMDKyso809Cl909ERAQPP/wwkZGReHl5UV9fzyuvvEJtbS2LFy8mLi5uTG4tS0tLAgMDSUlJYcOGDXh7e1NQUMB9993H2bNn2b17N+np6bclOe7INMJ79uyhrKwMV1dXkpKSWL9+PU1NTbz77rs0NTWZZ6R77rnniIyM5MMPP6S8vBxvb29CQkLYvHkzv//978fNpTJybyYlJZGZmUlBQQGdnZ3Exsby6KOPEh8fz3/+53+yd+9e+vr6iIuLY+HChcycOfOyROwjbVopZb4u1tbWWFgY/8UMDAyMGT5iZWVFXFwcSqkxQ/usra2ZPXs2iYmJGAwGjhw5woEDB8atIxsbGx566CHc3d350Y9+RHt7O7Nnz6a3t/eWTVV+qZGE4wUFBWMe1F1cXPD39ycmJoa6ujrOnTuHjY0NGzduNOeTaW5uRq/X4+TkREJCAps3byY0NJRXXnmFc+fOjTmOpaUlVlZWzJo1i2nTplFbW0taWpp5+d13382sWbOoqanhyJEjtLe3c/fdd7No0SLS0tKIjIyku7v7sjwsKSkprF27lq6uLrZt28apU6dwdnYmICCAhoYG+vv70el05v8dIzPMlZaWUlFRgZOTE4sXL2ZoaIidO3dy4MCBMfepXq8nPDyczZs3U1hYyJ49exgeHiY6Opo5c+aY3yMPHz58XcHi0W2uv7//pt27tra2REREUFxcTF5e3rjruLq6AvD555/flDIIIYQQ4u/HDQVtnJyciI2NJS0tjdLSUtzd3c3f2o/37e6BAwfMQ6XGm4XG2toaf39/HBwceO+997C2tubjjz9m586dFBcXY2VlxezZsxkaGsLf39/cbb+goICysjKeeeYZXFxcaGxsJDY2lvPnz3Po0KEx04XOmDEDd3d3iouLeeedd8wPBCPJiWNjY4mKisLJyQkXFxc6OjpwdXXl4YcfZuHChbS3t2Nvb09fXx+ffPIJGRkZfPOb30QpRU5OzmW9KUa0trby+eef861vfYukpCTOnTt3y4M2er0eOzs7czLmlJQUli5dSmhoKEVFRezevRtvb282bdrEgw8+yMKFC/Hz86OgoIAXXnjhsgSYGRkZ2NrakpCQQEtLCy+99BLHjh0bk3OhpaWFr3zlK+a/Q0NDiY+Px9fXl7Nnz455+BsJaAwODjI0NERmZiZ//etf8fX1NU/XPvoBbmRGsRtNjmlpacmqVavQNI2PPvqI/v5+1q9fT2pqKvHx8bzzzjtkZWWRk5ODs7Ozed3RZQ8LC2PFihUsWbIEg8HA4cOH2bx5szkQoZQyD9EZmfL9nnvuwdPTk6qqKjIzM80JsOfOnUtvby/Z2dmcPXsWOzs75s6dy5w5c/j1r3/NW2+9RVNTEzExMTz77LMkJyejlMLNzY3+/n66urpYs2YNsbGx9Pb2Mjg4iKOjI3/5y1/Yvn07zc3NLF26lMTERP73f/+XdevWER8fz7Rp0ygoKCA3N5eIiAj+/Oc/39Q8DI6OjgQFBbFr164rrquUYvny5axcuRIPDw8++eQTcwBxhLe3NwsXLsTb25vGxkb+/d//nePHj7N48WIiIyMZGBgY8/C7YMECNm/eTHx8PMXFxfz85z8nLS2N1atXk5qayqJFixgcHOTQoUMopW7Z8AalFPPmzcPR0RELCwu8vLywsLBgcHCQF198kZMnT5rLkpyczJNPPklERATPP/88H330kbk31dy5c7nvvvv413/9V7773e9edhwnJyc2bdrE0NAQb731Fp2dnURHR7N69WpmzZrFn//8Z/7617+a14+OjjYPPb20vEFBQcyYMQNLS0vef/99lFJs3LiR2NhY+vv7ycnJGTMD0MqVK7Gysrrs/XL9+vVs3ryZsLAw2tvb0ev1kwZt7r33XrZv387AwACpqanExsbS1NTEK6+8cn2Vf4MqKiro7+83Bw7AWD/PPfccDQ0NfPDBB6SlpVFWVoZer+fChQts3LiR3bt309zcTFBQEKmpqcTExKBpGsXFxRw5cmRMAGOkB+qKFSuwt7fHw8ODsrKyMUGb1NRUjh8/zo4dO8jPz8fa2prw8HDi4uJwdHTE2tqawsLCyxKdr1mzhurqajIyMujt7eWpp55iyZIluLq68vHHH6PT6fDy8iIpKYnk5GRCQkLo6uqipaWFoKAgHBwcOH78OK+//vq49aPX6wkODsbKyorf/va3VFVV4efnh8FgYPbs2SxZsoTXXnvtuhI2g7H9xMXF0dfXR3p6+oRt50Y99thjABQWFk7Yk+1WTz0uhBBCiC+v6w7a+Pv7M2/ePHx9fXn++efJyMgwP3RONOzn4sWLkyZhLC0tZcuWLSQnJ1NcXMwbb7xBV1cXDzzwAP/2b/+GnZ0dvb292NnZcfToUV5++WXOnDmDk5MTCxcu5J577uFPf/oTn332GSdOnDD3Krj0GH19fcycORNnZ2fuu+8+wPitWHNzM+Xl5VRWVpKbm2sOUrz//vusWrUKV1dXGhsb2blzJwcPHmR4eBhN08wPicXFxSQlJRESEkJ5eTkdHR2Ulpaau/ePJJYdGhq6LePbz58/T15eHk899RRHjhzB1dWVbdu28cILL5Cfn8/w8DC2trZ89atf5fHHHycjI4Pf/va3HD9+fNxrmp2dzalTp8wPtCP1MZmSkhLOnz8PcNm6GRkZpKenU11dbX7thz/84Zj9j/bnP/95SoaYjTyI2Nra8uCDD+Lq6opOp+PcuXM8++yzHD58GE3T0DTN3HOlvLx8zD6Ki4t5/vnn+fjjj3nsscdYu3YtBw4coK2tDb1ej42NDXq9ntbWVg4ePEhnZydubm4MDw9TWVlpzsl05swZHn/8cZqamjhx4gTnz59n2rRpdHV10dXVRXBwMD/+8Y8JCQnBwcHBPESqv7+fb37zm7S1tdHb28uFCxd4//332bZtG2DsaRYVFYW3tzfDw8N4eXlhbW3Ns88+S3V1NZ9//jlHjhwB4JFHHmHr1q23ZPje8PDwhHk6RhK43nvvvSQmJqJpGtbW1lhaWjJ//vwxQZv169dz//33Y2NjQ05ODhYWFlhbWxMdHc2CBQuwsrLirbfeGjPE5Mknn8TBwYE//elPvPnmmwwPD3Pvvfdy991309DQQF9fH7GxsYSGhrJp0yY++eQT3n77bdrb2wkICCA+Ph4fHx96enp48803pywPjqZpZGRk0Nraip+fH0ePHiUrK8t8H4zcNyEhISQlJeHh4cGPfvQjPv30U/M1W7VqFevXr2fhwoXmXEyvv/66OaDq4uLCrFmzmD9/Ph999JE5EDNv3jwiIyPZsmULb7/9NgBxcXGsXr2apUuXEhwcTFVVFYmJifT29rJ8+XJmzpxJUFAQNjY25hndUlNTyczM5O2336awsHDMvb5hwwYiIyPZt2+f+XrodDpWrVpFUlISPT09VFRUcOHCBfPQndjYWOzs7HB1dcXR0REHBwd8fX3Nubh+8IMfkJuby7Zt225bLxuAQ4cOsXbtWqKioli+fDlHjx7l+9//PgDPPfccFRUV5ms0NDREeno6GRkZBAUF8Q//8A94enpSU1PDm2++yXe/+11efPFFc94bd3d3Zs6cSXR0NO3t7Xz66adYWFgQFxd32b3q5uZGe3u7eciUTqfDzc0NGxsb3N3d6ejoGDMUGIxtxsHBgeHhYZKSknBwcKCmpoZf/vKX3H///cyaNYuEhAQ6OztpaGhgz549PP/88zQ0NBASEkJaWhqHDx+edDheX18fH374IRs3bmTFihV8/vnnDAwM0N/fj5OTE8PDw3z88cfXNavhSK/IHTt28Pbbb9/U96/58+ezd+/eMTl3lFLMnj0bnU5nTrqv1+uxtbXF3t6e3//+95LXRgghhBDX5bqDNr6+vkRFRdHe3k5mZuZVP7BM9qGlvr6eXbt2mWdiGJnNIi8vj6GhIfR6PTU1NZSUlDAwMEBLSwuapuHp6cn69eupq6vjhRdeoLW11Tyl9qUOHz5Me3s7EREReHp6YmNjQ11dHTt27KC3t5eBgQEGBwcZGBgwb3/69GlKSkrQ6/UMDQ3R09MzZt/p6ek0NTVx5swZ7OzsSEhIYNOmTbi4uNDV1WWe/cLJyQmAd95557bkyjh//jzvvvsupaWlODs7U19fb04IPHI+3d3dPP3001haWtLT00N7e/uE11bTtOt6UJ3ow/RI7qPRyyfb/1R9KO/r6+O9997D2dmZgYEBMjMzOXnyJCdPnqSjo2PMcfR6PV1dXZfl9Bipi6KiIv77v/+bU6dOkZKSgqZpVFZWUlFRQWlpKWfPnqWnp4cXXnjB3Jumvr6e0NBQ/Pz8WLhwIdHR0bz88svmYzQ3N/Phhx+ah/10dHRw+PBhTp06xenTpxkYGODuu+8mOzubPXv2cPz4caqqqujr6zM/pL/++uu4urpSWVnJxYsXsbW1ZeHChXh4ePDpp5/S0NBg7vn14osvMjQ0dNODNm1tbZSWlrJu3ToMBgOFhYVYWFjg5uaGl5cX06dPx9fXl8HBQXbt2sXRo0eZM2cO995772VBs4ULFxIVFcWFCxdQSuHn58cjjzyCwWBgeHiYrKwsXn31VfP7z5o1a3B3d6egoICKigrmzZvH3LlzSU1N5ejRo3z66acopZg5cyYzZszg1KlTdHZ28uijjxIXF4e/vz8Gg4H29nZzr4pPPvlkyu5rTdMoKCggKCiI4OBgTpw4cdl758hQEnt7e/z9/Zk7dy5RUVHExMSYE/w2NTXR0NDA+++/z8DAABERETQ1NWFvb2/OFXbw4EEGBgbMeU6Gh4epqqoiKirKnCR7aGiIixcvmu+HsLAw5s2bR11dHa2trXR2dmJtbW1+r/va175GR0cHHR0dl93DDzzwgHkWvZFz0uv1PPDAAwQFBeHq6kpFRQWaprF582Y2b95Me3s7DQ0NtLa20tvba26v1dXV9PT08Nprr1FTU0Nvb+9tSfI+QtM0GhsbzUN9s7Ky8Pf3p7q6mr6+vsvKpmkaixcvNgf+s7OzaWxsJCEhAb1eT2FhId7e3syaNYuIiAjz0OKsrCz6+vrYtGkTtra2FBQUjNlvRUUF69evZ/78+TQ2NjJt2jQ8PT359a9/zenTp3F1db0sMHL48GGmT59uTq6bm5tLcXExnZ2dlJSUsGzZMqqqqjh37hxDQ0MMDAzw/vvvU1paSnZ2NrW1tXR3d1+x/oeHhzl48CB33XUXFy5cML+XHT58mKSkJFatWkV4eLh51r3du3fzySefXLHu161bR01NDeXl5fj5+bFy5UpzLrupCJaM9HhcuXIl7u7uuLm5sWDBAuLj4+nu7qampoYFCxaQnJyMpmlcuHCBqqoqrK2tWbp0KR4eHvzqV7+6o/P0CCGEEOLOdN1Bm2nTppm7ZU/VlJxDQ0N0dnZelkOjrKyMxsZGlFJ0d3ePSbjo7e3N3LlziYmJYffu3dTV1U36oN/d3U1+fj4XL17Ezs4OS0tL80P4RB/s+vr6xp3Oc8SxY8fM6wwODrJnzx6ys7MJCgrC0dERS0tLwPhg8uabb9LQ0HBbHiwGBgaoqakhLS0NKysruru7aW1tHVMWTdPG9HS5lW7XlKhDQ0Pk5eXxu9/9DjAGExoaGsYddjXywDiR/v5+qqur2bt3r3kIYGdnJx0dHbS3t9PZ2UlAQAAzZ86kqqqKTz75hMbGRqKjo5k5cyYuLi7s3r2bI0eOmL8JHxoaoqGhgVdffRV7e3sGBwdpaWmhvr6elpYWlFIcOHCAwsJCqqqqaGxsvOyezM/Px2AwmHvs6HQ69u/fj52dHRUVFWPq/mbMFDWesrIy3njjDTZv3sySJUtYtmwZAwMD9Pb2mgOGR48e5fjx45SXl2NtbY2Li4s5kDsiJSXFPAzn6NGj1NfXs3LlSnQ6HbW1tWRlZZGZmTlmBpuCggKampoIDQ3lvvvuQ6fTYWVlxY4dOzh06BAXLlwgKioKd3d3c+LnmJgYfHx86OrqIjMz0xyMS0lJYfbs2ezevfu6gzaurq7mb+d7e3vNPUoCAwNxc3Mbd5va2lrzULZVq1aRmJhIe3s7lZWVnDlzhtDQUObMmUNeXh4zZ87EwcHBnKPI19cXb29vTp48SVdXF2AMmtbX1zNjxgwefPBBc5soKSnh2LFjeHl5sWjRIgICAnBzc+P999+nra2N5cuXY2dnR3FxMR988AEdHR2Ul5dP+H565MgR0tLSxrzPKKUIDAxk+vTpFBYWkpeXR0lJCU1NTdTX1+Pr60tHRwcXLlygs7OT4eFhHB0dzXmfmpqarntIzXji4uIoLS011814fHx8CAsLw9vbm5qaGhoaGggLCyMiIgILCwvzFwfnzp0zD3kaSbrr7u5OQECA+T7Ny8ujqalpTO4rS0tLvva1r+Hn54emaZw7d46MjAwqKyvND/6aptHU1ERzczM+Pj7mOv3DH/7AsmXL8Pb2RtM0zpw5w1tvvUVOTg7Nzc20t7dfdn26urrYs2ePuUdrY2Oj+Ti9vb2kp6fT1dU1Jujw/vvv09HRQVNT04T5Y0JCQrC0tKS5uZnm5mZiYmKIjo4218XQ0JA5WW9SUhKPPPIIbW1t+Pv709jYaP7/OZGRHi7Tpk0jMzMTJycnNmzYwOrVq2lqaiIzM5Oqqqob7glnbW1NTEwMy5Yto7i4GCcnJzRNo66ujo6ODhYtWsTatWspLi429zjq7OxEr9eTk5PD5s2bWb58uXnGwYCAAIKDg81tXQghhBBiItcdtLGzszPPOHKzjRfIGTGS3HFgYGDM8IDr3d/1GD1t69DQEMXFxYDxYcfZ2RmDwQBg/vB8Ow0ODk7JbEtfJpqm0dbWxrFjx664bktLyxU//A8NDVFTUzNuToORD/7Tp0/nwIED5OXlUVlZSVNTEy0tLdjb23P06FHKy8vHBAqHh4cnvNc0TaOsrGzSYQmXBhOGh4evON3wzdbW1kZWVpZ51i13d3f6+vro6OigubnZPPNMQUEBmqaZv60eGYo4IiUlBTc3N4qLi9m/fz91dXW0tbVhZ2dHfX29uY5HKy8vZ8eOHYSHh6PT6Whvb6e9vZ29e/dy8eJFhoaGcHNzIzg42DxDWk9PDydPnuTChQuUl5dTW1tLU1MTjo6OPPPMM0yfPp3W1tbrCmJPmzaNxMREoqKi6O3txdbWFjs7O6qqqiYMonV2dpKdnY2FhQWhoaEMDw+b66uxsRG9Xs+SJUtwcnIiPDycixcv0tzcTG9vLzY2Nri5uZGdnW3eX3NzM8eOHcPOzo6IiAgGBwc5efIkubm55OfnM23aNPr7+/Hz86OwsJCjR4+iaRr29vbmGYIuzXs1npHkyr29vRgMBtzc3IiMjDTPtHb48GFKS0upr6+nsbGR+vp680xnI4HnkWTzIzmbpoKFhQU+Pj74+fnh4OAw7oxAo3l4eJCYmEh8fDyVlZU0NjYSHByMUoozZ86Ql5dnnjJ70aJFpKamUllZSW9vLxYWFtjY2FBQUEBtbS0lJSXmnm5WVlaUl5dTWFg4JmBz9OhRTp48OaYMRUVF5vf00f/7jh07Rnd3N/7+/oAxIDd6aOBEw48u7cE22njvZ1czFG2kB1dvby8tLS1ERUXh4ODAvn37zPdld3c3p0+fZtu2bbi4uNDZ2Ymzs/NlQfLQ0FBzHY7Q6XQkJyfT1NREa2srAQEBJCQkYGlpSVRUFEFBQVf8Mudq6HQ6bG1t6e/vZ8+ePXR0dNDb20tXVxdWVlYsW7aMnp4ec9C9ra0NGxsbPD09aWpqore3F39/f7y8vDAYDERERODs7DzurGBCCCGEEKNdV9DGzs4Oe3t7Ojs7zXlsbpeR3jJZWVnmnBx3ivr6eurr6293McQUGvm2+HqNPGCPJAIdmXWsubmZEydOTGFJvxh6e3svm8FmIt7e3uYhIyM9Ctzd3UlISKC3t5cTJ06YgwaTBbBGvPvuu7i5uWEwGMZ9IB0aGmJwcNA8S87BgwfJysq6bDacc+fOYWtrS1xcHE1NTeZktNdCr9fj4uJCVFQUmqbR3t5OSUmJeZjeREpKSib8lj48PJzm5mY8PT05fvw4+/btMwc4RoYhjk6YC5CVlUVJSQlRUVH09PSMCeq0tbWNe6yrCdSMNjoJvZWVFT4+PiQnJ3P48GG2b99OaWnpZUnau7u78fPzIyYmhubmZs6ePUtZWRmOjo40NTXd8PAXGxsbfH19mT9/PoGBgWRkZFzxC4CROrSyssLX1xdnZ2c0TePIkSMcPnzYfJ6ZmZmkpaURHR2No6Mj9fX1VFdXk5uby759+y7bb19fH/n5+Wzbtg1PT0/Onz9PeXn5uL24JnvPyM/PvyzR8O3g4OBAdHQ0Pj4+DA0N0d3dzZEjR3jjjTfMvWb7+/spKSnhN7/5DWCcaTIsLAwLCws6OjqwtbVFr9ezYsUKtm7dSm1tLWC8b0aGjxUUFJhnSHRwcKCoqIiUlBR8fHzQ6/U3fB6aptHf38/hw4f54IMPzEF1Jycn5s2bR0xMDFu3buXChQu4u7szbdo0nJ2diYqKws/Pj9LSUrq7u4mIiMDe3h5LS0tOnTplzvEmhBBCCDGR6wraJCQkEBAQQE1NDQcPHpziIl2bCxcumIeYCHGn0zSN3t5eKisrycjIuGVDkb4MhoeHKSsrG5O/4/777ycgIIAjR46Qm5t7zfucrP4///zzK07XOzQ0RE5ODm+88QZ+fn7MmDGDgYGBSXssjKegoICCggLzEL2pcPz4cWpraxkcHLzs4X0k+fSluZnAWCe3Khjf0dFBfn6+OVAxkdzcXHJzc3nooYdYvXo1d911F21tbXh5eZGdnX1DvSj0ej0xMTFs2rQJLy8vXnzxRXNus8mcPn2a8+fPs3//fmxsbMjMzJxw3V/96lfXVKbh4eE77kuI6/XWW2+xf/9+AgMDsbCwGDPL1UQcHBwYGBjAysqKyMhIwDjb3KpVq9i/f785aOPk5MRTTz1lTmi+ceNGXF1dqa6uRq/XT2mPWktLS2xsbPjwww/HtI22tjZyc3PJyclh5cqVhISE4OjoiE6no7W1lfPnz1NUVER+fj7z589nzZo1VFZW8vnnn48JigohhBBCTERdyzeUSikN4NFHHyUmJobz58/zxz/+8aYVTgghJvP6668ze/ZsfvKTn/DRRx/d7uKIWyAiIoJly5axevVqrK2tee6558jPz7/m3k0jkpOTSUlJwcXFhT//+c93RO8UYRz26O/vT1lZGenp6cTExPCDH/yAn/70p+YeX97e3vzP//wPubm5zJgxgwsXLpCZmWnOgzVVXF1dCQ8PJzw8nC1btoy7jl6v59lnn8XLy4u+vj6amprIzc1lz549KKX4xje+wcMPP8znn39ORUWFuZebfIYSQgghxCjZmqYlXvridfW0GemyPPJtlxBC3A4Gg4H9+/dP6QOauLOdO3eOCxcusGXLFpRSl83mdy1mz57N3Llzqays5Be/+MWkCefFrZWeno5Op2N4eNg8m9rXv/71y4bODQ8PExcXx6uvvsqJEydobm6+4fw1l7K3t8fb23vS/Q4NDfHiiy+i0+nQNG3M7IpKKVavXs3g4CBJSUlUVFSQnp4+YQBICCGEEGK06+pp4+HhgaWlJd3d3WNmZBFCiFspNDSUgYEBGhsbJ53pR4jxPPPMM5SVlXHixAlJ0P4FZGlpSVBQEEopamtr6ezsnPKADRg/84SHh2NpacmBAweueXulFN/+9rdJTEykvLzc3BtIct4JIYQQ4hLj9rS5rqCNEEII8UU2f/58QkNDOXHixJjkyEJcysbGBicnJ3Q63Zip6q9FREQE/v7+tLS0cPHiRQnYCCGEEGI8Uzc8SgghhPgiCwoKorCwUIb5iivq6emhp6fnhvZRXFxMcXHxFJVICCGEEH9PJGgjhBDi787IrD4yrE4IIYQQQtzJZHiUEEIIIYQQQgghxO01JcOjGgGZpkUIIYQQQgghhBBi6gSM9+I19bQRQgghhBBCCCGEELeG7nYXQAghhBBCCCGEEEJcToI2QgghhBBCCCGEEHcgCdoIIYQQQgghhBBC3IEkaCOEEEIIIYQQQghxB5KgjRBCCCGEEEIIIcQdSII2QgghhBBCCCGEEHcgCdoIIYQQQgghhBBC3IEkaCOEEEIIIYQQQghxB5KgjRBCCCGEEEIIIcQd6P8HRBlZpXw4WeIAAAAASUVORK5CYII=\n",
+ "image/png": "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\n",
"text/plain": [
"<Figure size 1440x1440 with 1 Axes>"
]
@@ -174,7 +212,7 @@
},
{
"data": {
- "image/png": "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\n",
+ "image/png": "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\n",
"text/plain": [
"<Figure size 1440x1440 with 1 Axes>"
]
@@ -184,7 +222,7 @@
},
{
"data": {
- "image/png": "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\n",
+ "image/png": "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\n",
"text/plain": [
"<Figure size 1440x1440 with 1 Axes>"
]
@@ -194,7 +232,7 @@
},
{
"data": {
- "image/png": "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\n",
+ "image/png": "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\n",
"text/plain": [
"<Figure size 1440x1440 with 1 Axes>"
]
@@ -204,7 +242,7 @@
},
{
"data": {
- "image/png": "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\n",
+ "image/png": "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s2YNmqYxbdo0Zs6cyYwZM5g2bRpOp5OCggLS09PZvn0769at6/bepKamMn36dN577z3Wrl1LdHQ0brebkJAQZs6cyf3338/f/vY3iouLGT9+PKmpqezZs4ebbrqJadOm8bOf/Yw777yTcePGcfLkSbZs2cItt9xiRMw4nU6qq6s5ePAg69atM1Ld7rvvPubOncvAgQMB6OzsZMyYMVxyySXs2bPnnLZPFwRBEARBEAThq6Xfos2rr75KcnIy3/rWt7jpppt4+eWXyc7OJiwsjKioKCoqKtiyZQvr169HKcXTTz9tONqrVq1i9+7dtLa2EhwcTG5uLt/73vdYs2YNzc3NREREEBwczOzZs/nss88oKytD0zTeeustdu/ezbhx43A6nbz++us0NjYycOBABgwYwMKFC7nhhht4/fXXqaio6FIAV/913Z9IoGkaZWVltLa24nK5GDVqFAkJCezZs4eioiJefvllXnzxRYYMGUJHRwfl5eVUVVXR0NBAQkIC1113HXfffTfHjh3jpZdeorq6mj/84Q+MHj2ad955h+joaGbPns2cOXP4xS9+gc1mIywszEgR60+xXrfbTUBAABEREUYNIF00uv7667HZbNTW1tLW1kZxcTG///3vSU5Opra2lszMTKZPn87gwYO599576ejoYP369QQFBfGTn/yEN954w4gWMKd9ZGZmMnbsWA4dOkR5ebmxa1FoaKixq89ll13G8uXLu0Re6ZEIOtOmTWPBggUMHTqU/fv38+677xoiT2/odUb0vzs6OsjJyeH73/++kUY0a9Ysvve97/HTn/6UlStXEhQURHR0NKmpqdx6663MmTOH3bt3Ex4ezuOPP05kZCRbt27lvffeQ9M0MjIyUEpx9OhR7HY7U6ZMwWazcfXVV3dJtdOLxTocDo4dO8bNN9/MW2+9ZURnXHXVVQwZMoSgoCAuueQS3njjDd555x1aW1v7JFa5XC5+8Ytf8PTTT/OjH/2I6upqnnnmGeN+l8tFSkoKCQkJZGZmYrPZuO+++1i/fj3t7e0kJSVRU1PDvn37+Oijj7j22mv5+c9/TlVVFcHBwbS0tDBs2DBuuukm/vCHPxjr3t/uR/rc62siNDSURx55hCeffJI33niDZ599lr179+J0Ovna175GaGgoDQ0NdHR0GKJIQUEBdXV1REdHk5CQwM9//nO++OIL1q1bx5YtW+jo6CA4OJgVK1YwZMgQamtraW1tNbaMt9lsJCQkkJeXR1BQEFdccQVLly6lpqaGEydOMG/ePMaPH09CQgItLS3s2rWLbdu20djY2GXnJitFRUU4HA6Cg4O7PJuOjg6GDBlipKMNGDCAefPmcfz4ca666ipcLhfl5eW0tbXx97//3ahtZe6jsrKS5557jj179pCTk0NjYyM/+clPuP7665kwYQIdHR08+OCDHDt2jI6ODqKjo5k2bRoDBw6ks7PTiIibMmUKwcHBREZG8sILL+B0OklJSWHr1q1MmTKFuLg4duzYQU1NDY8//jgPPfRQlwLbnZ2dVFdXs2TJEtavX092djYtLS2G6PplFgsXBEEQBEEQBOHc6bdo09bWxrPPPsuaNWtISUlhwIABZGRkcOLECfbt20dzc7PhsIWEhPDpp5+Sn5/Ptm3bKC0tNWputLe385Of/MRwqAsKCjh+/DiHDh2itbW1S22N5uZmY6tip9NpFH0NCQlh9OjRpKamsmHDBt57770uv6rr9OQod3Z28vbbbxv3paamYrPZWL9+PR0dHRQWFjJ//nzefPNN2tvbmTRpEhMmTGD8+PHk5uYyf/58NmzYwKeffoqmaaxYsYK4uDh+8IMfcOTIEWJiYoiPjycoKIiysjKCg4N54IEHjN2JCgoKutjjT2DSnbDw8HCcTid1dXXExMRwxx130NLSwlNPPcXkyZNZunQpDoeDX/7yl2RmZvKHP/yBzZs3M2XKFHJzc/njH/9ITEwMt956K5GRkfziF79g48aNNDU1GY6rw+FZFpGRkUaEUH19PRMmTKC8vJza2lp2797NgAEDGDx4MGvXrqWtrY2hQ4dyww03kJaWxtGjR/n000/Jzc0lOjqaO++8k3Xr1hkpIHox2L5E3JhrhURERLB48WJ+//vfG+JAR0cHlZWVFBUVccsttxg1UVwuF9HR0SQnJ5OUlISmadx8881s2bKFnJwcSkpKaGpqIi4ujl//+te8+eabvP7665SUlBjpOfquTLpDvnr1atavXw9ATU0N9fX1PPfcc8TExFBUVMSpU6dwOp2cPn2a7373u7z33ntd1rKvMVvTyZxOJ6NGjeLMmTPk5eUZz0YpZQgGzz33HC+99BL5+fk0NzeTl5dHfHw8J0+epLa2lsbGRh599FECAgKoqanB7Xazf/9+6urqSEhIIDo6ml27dhnCmr/nYD7udruprKxkwYIFBAUFUVVVZYiEmqbR2tpKW1ubMVZ9TB0dHdTV1dHY2MjXv/513G43LS0tNDU1Ge96YmIiHR0dvPrqqxw+fJjw8HCuuuoqkpKSOH36NK2trVx99dXMmjWLffv2sWPHDg4fPszo0aONtLOqqioaGxtpa2ujpaWl12LYeXl5DBs2jKFDh3bZnenTTz+lra2N8ePHM3LkSCoqKnjyySf5y1/+QllZGW+88QYbN27k1KlTNDY2+qwB5Ha7aWpq4osvvjC+W1auXMnWrVsJDAwkNzeXM2fOGEWis7Oz6ezsJDw83IjyKi8v589//jOjRo3C7XazZs0aWltbjQilqVOnGrW4Ojs7OXHiBBMmTGDr1q2MGDGC5ORkHA4H8fHxKKW49dZbCQsL4+TJk5SXl3PmzBny8/N7nCNBEARBEARBEC4s/RZtNE0znKPi4mKioqJwu93U1dVRX1/fxclra2szomIqKiq6FPDs6Ojg+PHjvPHGG9hsNhobG6mtraWurq7L7lJ62khbWxvt7e2Gs6+UorS0lC+++ILs7GwaGxspKSkhLi4OgIaGhi6RI/5QSlFTU2NEGxQUFNDc3IzL5aKjo4OVK1cSExPDiRMncLvdnD59mh07dlBYWEh7ezsvvPAC5eXllJWVERcXx+bNmzlx4gQHDhwwbMjJySEpKYmbb76ZnJwcRowYwcaNG6mpqfE5v/7mXScgIICMjAy+853v0NTUxJYtWygoKKCpqYmhQ4dy5ZVXcu+999LQ0EB9fT2RkZGGWOJ0Omlra+Po0aPs3LmTrVu3dtupRu9r0KBBlJWV8e6775KdnY3T6TSc4ra2NmOXrpycHBYtWsTAgQMpLi5mzJgxRjRRUFAQmZmZxMbGMnv2bPLy8ti3b58RBWF9FubxmnfB0jQNh8NBZGQkMTExRoQGYKTTrVq1ipMnT1JZWUlTUxOzZs3C6XTidDqZNWsW6enplJSU0NnZSVJSklHYddiwYQwcOJCNGzdSWlpKY2OjscZ0sUSfH12o0COJbDYbn332GWFhYTQ3Nxtbjb///vtMnjyZWbNmUVlZyZkzZ/pU60cf8+TJkykqKuLIkSNG37o44HQ6ycnJQSlFa2srNpuNhx56iOPHjxvpQPpz1ucHYPPmzQQHB+NwOHjvvfdoamrq0RZfuN1ucnNzuxX5tabCWcepRwnl5eV1O69pGtXV1fzsZz+jrKyMmpoawsPDjfTIoqIidu7cydSpUxk3bpwhRiQnJ9PQ0MCGDRsoKSmhtbW1T7Ws9PXU1NREQUEBdrudyy67jNzcXGpqamhoaGD37t2cOnWKsLAwWlpaqK6u5pe//CUVFRWG4NLY2NhlfObt5fVx6cXZAQoKCqioqMButxvPST9XVFREXV0ddrudqqoqKioqaGlp4cCBA5w+fRqbzUZVVZWRvjh58mSqqqrIzc2lpKQEm83Go48+SnJyMkVFRcTExJCamsqkSZNYunQpTqeTgQMHUlRURF5eHvX19V3sFwRBEARBEATh4qRfoo3umCmlaG9vp729ncrKSuMcdN3KtqOjg6NHj3ZLsdCvb29vJysry/jszwH0ZYdSivr6eurr6wGP2BAYGMiiRYs4cOCAIfL05sCZ03g0TePMmTOGU+5yudi/f3+XsZWWluJwOAxnbPPmzYY9HR0dvPvuu5w8edLou7GxkX379uFyuYzUGr2IqNlpMm/Zbca6C5PT6SQ/P9/YdWbPnj0cO3YMgDNnzrBlyxZcLhdBQUEUFhZy8uRJOjs7aWlpISwsjKamJmPb5w8//NAQn/S+zKSkpFBUVMSOHTs4cuQIgDFXmZmZhIaG4nA4utQWKSkpob29nebmZhobG4mLiyMzM5MRI0ZQUVFBdnY2ubm5tLe3Y7fbCQ8PJzQ0lLa2NmM7eF/pLHqam1KKpqYm42/zWti3bx8lJSV0dHRQW1tLc3MzDoeDlpYWCgoKWLhwIUFBQSQmJhoRXwMHDmTevHkAZGVlGUKHOXpCt0cXb6y2lZSUdHtmRUVF7N27l7S0NEJDQ/tcnFkXK0NCQigtLTUKzFrFgObmZuNzR0cHmzZt6rb1u3mLZ8AocBsYGMixY8d6FTN9ndffF70It3XXMv1eX/eB/4iehoYGPvzwQ+O7IjAwkMrKSlpbW40C54WFheTm5pKWloZSira2NioqKiguLja+B/S+etq+XI92crvdRj2tsLCwLs+oqqqKqqqqLutu9erVtLW1GWu0p3nyNXb9O9N6Tv+e0EU0pRSVlZW43W5qamqM7yN9beTk5Bi1mXJycow2dVFO33kqISGB3Nxc6urqSE9Pp7y8nBMnTlBYWEhnZ6fPqERBEARBEARBEC4uzirSxuqUWbfLtTpxVhHGer955xfzMXN/5ggQqwAEnjoq48aNY/HixRw+fNhwrn05VGbhyFwrxe12dxOCdAfIPA59Vxpr23V1ddTV1Rm26decOHGCU6dOERkZyR133MFf/vKXbr9y+3P+9OP63La1tbFz504jAkOv+6M/hy+++IJdu3YBGBFLdrudTz75hLCwMNrb22lqauJnP/sZL774Yo+/tsfFxVFYWMipU6e6CFvgKZYbGRmJy+Vi3LhxbNq0yYiGCA8PJywsjNjYWAYPHkxcXBxRUVGUlJTgdDqJiYkhKioKu91OdHQ0AQEBVFRUUFFR0SWlxbqO3G43jY2NZGVlMWjQIEMs0Z+P0+mkqKjIuH/nzp0kJSURFBREdnY2bW1tTJ8+HYfDYQhMNTU1fP3rX+fEiROcOXPGSL0z22CNIDE78r7Wtr7tfXh4uJHa1B+UUhw7dozi4mJDXNKPW+fEOk9WcceMHiHVVxv8iTbQ/V33dU1vx6znzaKwXpfJ/O7l5+dTWFjIhg0bjON66pm1fd0+vT39b+v5qqoqqqurfdpp/V4yC0Pma8zfT76+H3uaC7Nt5nVlvdbcdnt7Oy0tLcYW7vo1nZ2dhvCjaZpRLH7Lli3cfvvtNDY2GkWbexPGBUEQBEEQBEG4OOiXaKM7J9DdCbM6SWbHo7eoGfOv1tbdnsz9KaWw2+3d2rDZbMTExPDwww/z2muvceLECaPYptnh91VPRC+aa45KMI/TPNbenDHzeOx2u9EnQGhoKBkZGUyePNlnCod1VxvrcbMz2NjY6DO9yBwRYh632+2mvLzcaF8XUE6dOmWkaJidY/3v4uJiSkpK/PYVGxtLUVERq1at4syZMwBG5MzChQu59NJLaW9v5/nnn+edd97hgQce4PLLL6e2tpampiba29spLCxk7dq1RsSPr3VlLhBbWFjI008/3c1e65oDaGlp4eTJk8bnt99+mzVr1hjrIjQ0lJiYGFpaWnjwwQdpaWnpMcXH/NnXmtbXjcPhICkpibvvvpu77rrLiGzyh3Xdd3Z2smbNmi7n/IlH8M81bLfbDZHR/D6a59IsOvX0Xvbm0JsFFvPcW9OmrLhcrm7vsHnN+RNv9b/1CCizKKqPxdd9Ztusgog+b/7EUn/Rb77mAnx/9/kbp7lt8xo2i0xmO8zfZS6Xi3/84x9d0sHM6XzmlD695tPatWtxOBw+i40LgiAIgiAIgnDxonpzSMzYbDZN35nE6jD5cgJ9HTM7J7qTaT5njmDwVeDT6vAppRg0aBBXXnklERER/PnPf+4WrWF1XM1pLmb7++LE9JYOYRZtdCIjI5k6dSrLly/ngQceoKyszLDRl1Dla67MtvvqzzrXev9Wh9VutxMaGkpoaCjFxcV+x6i37Q/r9t1muwYNGoTdbjdqvFide6tI5us592aTPj7zvbpNvmz39Wx1sW/UqFFkZWUZW1/DP8Uu6/rwlR5lfi4BAQGkp6fz8ssvs2rVKlasWEFDQ0OXe8y2m98l/Zx+3BpxYbVD79u6BnpaU+eKdZ2Z59s8/2ab9XO+ML8vviJMekq1As8c6rWa+pLuo/fjK9rF2r55nfqzvyesz8yML1HNfM4c0WQVqMzClVnINrdpjX602Wx0dnZ2Wb+apnVL1xIEQRAEQRAE4YKxT9O0adaD/RZtAgICujmGZkfO7Dj0JNro11jPWSNcfEXdmCNZQkJCGDp0KFOmTOGdd97x6YToTrDb7dkZyZcz6ctR9kdfhBvd8QoODubaa69l3rx5vPLKK+zcudMoymqdD2sb/sQBq4hjrmVittGfgKHPnzVywVz8uafx9eRc62M3j6EnEci63XRfI0HMgp9VOPCFP3FAH7d1pyHz+tDHYE2VM88XQGJiIgsXLuSb3/wm69ev59lnnzW26ra2DV2dc18RZtZzZgHJvD76ugvX2d7XE76erXWd9hR9Al2jb6ztWdeiVTTTI5t0QcJ83Nq/r3eiN1HIfJ2v74i+fBf4Ewz93Wdu09e9+nlrhJPL5cLhcHQTF83tmaN7RLQRBEEQBEEQhIuK8yPamJ0ra6i/L4fSF1bBB7rXygAMJ9nsuFgFi8DAQEJCQggICKCqqqpH+30JCH1x4qz9msfRk+PlcDi45ZZbSElJIS8vj48++ojm5mZjfnSxxVrQVe9Pt9fXr+5mW/1FZpiFBfNxcySQVYiAvkcVWG3RRaC+il96n2YRrz/rUe/XnwhotqO356tjdXZDQ0OZOXMm1dXVFBcX09jY2KXujd1uJzk5mSVLljBlyhScTiebN282trg322V9Fma7fNlvHZ/umPeENQqup7bN9/gTR3ujtzQs3W7r2K3CVV/Wrn6f+ZxVsNT/NqeKWb9DrGvAHAHW23eXFV8Cpj+sYpb5Hn/r0ipQ6df6Sk3Tv0/9pYFa105nZ6eINoIgCIIgCIJw8eBTtOl3IWKrE9nTcavoYMZ6TP/sz1E0/7psPuZyuWhubu4SKWEWg6xt+Prb1+ee7vU3Bitz585lyJAhlJSUsHPnzi5bLOuOrFlE8ZUuZu3XV92Mnmz3Fe1gdvJ8tWN2hP1FSZidbWv0hj97fK0FsxPbl8iDnrA639ZzOj3VHjGvMX19lZeXM3ToUMaNG0dYWBgBAQHG+aCgIGMXrcOHD5OXl8fevXuNGkLWvs3jMdvhS7jwJTj0NnZf76D1XbDOp3XMVjHWX399xVekl6/ID3O75udoFnnN58wipr/3xGyDOQLOKub5s9WKde3obZmFEvN3ma90Mn/fT/6EZP2YdW1bz5vFYF/j8jXHgiAIgiAIgiBc3PRbtLGmspj/4W+NmjE7M+Zj/n5ttv5txZ+I8VXQXwcnNTWVmTNnUlFRwcGDB436MdZ5MB8z16sw9+vPwdTxFU2jH7c6cD211Vs/Vpv8iSO9tdMXEa+v+IrmsEak+Itm8HXcKn50dHSQl5dHdHQ0AwcOJD4+nrCwMOx2Ow6HA4fDQXNzMwcOHODAgQMUFRX1Gg3jb71boyaswkBPWCPAfLXtrx1/ApGv9ejLVl/Pzrr2fI25L+KEVRg0n/dlo7m/nlKQrNf6i+zxZa8/zHb5W+PmSKHevut8CXnQfW1YbfP1XvqK3BMEQRAEQRAE4eKn36KNjtmJ8nfOWiDT6iyYU62sv7iba4n4wp/DqJQy7vV3j9VWf/RVxLDeExISwtKlSwH44osvOHr0aLdf383Xmx31nvBX1NRfpIHD4TCcWqtz56tGih7x4ytlxUxvDqcVfxEC5qgDqzNuTp/xl/ZkLeTb0/M1p4RZU3p8RRuZ73U6nezYsYMvvvgCm81GYGAgwcHB2O12Ojs7aW5uNsbi6xn6Es3MY7MWkLaKE9Y1Y0376qlPs/PvKyrKGh3ia/xm/Im2PUW9gO/6Vfp/PdUh8nV/b9FH5vnxJ3z1FEHk65w59ch6vblNqyjr6/vIl6hi7duXvT29k7pw5U/QMactflVCtyAIgiAIgiAI506/RBt/UQH9ud8syvhq23zcKlKYnRF/ER49OSS9/WJudpr8OfK9tRMYGMisWbOYP38+3//+9ykuLu5ia0/1YsxpSb5+9fd1r+606wWWgW7Opb8+rYKJvzFZsRZRNvfblygaq23mYsTWZ+vreZrTyfzZrJ/rafcifzVTehPS2tvbja2TrX37WofmqBPr9b6ioXzVejobR7svImBv53srlqzbqK9Z85qyjs1cR6mnd0g/djZFwnW7fX2/+FsHep/+olt6EpbMffZFyPTXVm/fX2abetqq3Hy9dQ3pz6g/77ogCIIgCIIgCBeWfhUiVkpVAgVfnjmCIAiCIAiCIAiCIAj/dqRqmpZgPdgv0UYQBEEQBEEQBEEQBEH4avBdeVMQBEEQBEEQBEEQBEG4oIhoIwiCIAiCIAiCIAiCcBEioo0gCIIgCIIgCIIgCMJFiIg2giAIgiAIgiAIgiAIFyEi2giCIAiCIAiCIAiCIFyEiGgjCIIgCIIgCIIgCIJwESKijSAIgiAIgiAIgiAIwkWIiDaCIAiCIAiCIAiCIAgXISLaCIIgCIIgCIIgCIIgXIT8f5ok+rb3sFTXAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 1440x1440 with 1 Axes>"
]
@@ -214,7 +252,7 @@
},
{
"data": {
- "image/png": "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\n",
+ "image/png": "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\n",
"text/plain": [
"<Figure size 1440x1440 with 1 Axes>"
]
@@ -224,7 +262,7 @@
},
{
"data": {
- "image/png": "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\n",
+ "image/png": "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\n",
"text/plain": [
"<Figure size 1440x1440 with 1 Axes>"
]
@@ -234,7 +272,7 @@
},
{
"data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAABG0AAABCCAYAAADt2ys3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAA8cUlEQVR4nO3deXxU5b348c+TycwkIZOd7AkBspKdLUDCviiKCi5Ir/u11qX6a3tvr8u9V6+9t62t11ur0mqrrbbXCqJWQRAh7GsgQCB7gCRkJQuQfc/k/P6YydwACZAQAur3/XrN65XMOXOe55w5Z5Lznef7fZSmaQghhBBCCCGEEEKIG4vd9e6AEEIIIYQQQgghhLiYBG2EEEIIIYQQQgghbkAStBFCCCGEEEIIIYS4AUnQRgghhBBCCCGEEOIGJEEbIYQQQgghhBBCiBuQBG2EEEIIIYQQQgghbkAStBFCfKsopTSlVOgQXvewUmrPteiTdftD6tcg29ihlPr+tWzjgvbmKKXKh/jaYKVUs1JKN9z9Gk7X+ry4Ghcef6VUjlJqzgi1PVMpVTASbVnbu+bXjxBCCCHEjUiCNkIIMcxGOnhyrSilTimlFlyLbWuaVqppmrOmaeZrsf3vIk3TojVN23Ettn1h0ETTtN2apkVco7a+FdePEEIIIcRwkKCNEEKI8yil7K9z+0opJX+fbgDX+1wQQgghhPiuk3+KhRDXhHWUxgtKqVylVJ1S6n2llEOf5UuUUkeVUvVKqX1Kqbg+y6Ks37bXW1M+bu+z7AOl1DtKqVSlVJNSaqdSaswAfTAqpV5TSpUqpaqtr3O8dLfVSqVUg1IqXyk13/rkPUqpwxes+E9KqbX9bOAXwExgpTX9Z2WfxQuUUies+/U7pZTq87p/VErlWY/Vpkvsk4NS6kOl1FnrdtKVUj59VhmjlNprPTablVJefV57u/V41luPb1SfZaeUUs8ppTKBFqXUKiAY+NK6H89e4qD9s1KqRil1Win1SJ/nb1VKZSilGpVSZUqpl/ssC7GO3rC3/r5DKfULpdReoBUYZ01NKrLuS7FS6r6B+nBBfx6xHssm6+sf77NsjlKq/BJ99lRKrbP2+SAw/hLt/EUp9c/WnwOs+/ND6+/jlVLnlFJ2Sil3pdR6pVSt9f1dr5QK7LOdK9pPpZSj9fyvU0rlAlMuWH5KKbVAKeWvlGpTSnn0WZaolDqjlNJbfx/wfOvdD6XUCeCEUmqXddEx67lwr7o4NeuUUuqnSqlMZbl+PlbnX+/PWo91pVLq+2qAdCd1Da4fa1tPWV/bpJT6L+v7s8/6Pq9RShn6f5eFEEIIIa4zTdPkIQ95yGPYH8ApIBsIAjyAvcDPrcsSgRogCdABD1nXNwJ64CTwr4ABmAc0ARHW135g/X2Wdf03gD192tWAUOvPrwPrrO2bgC+BVwbo78NAN/ATax/uBRqsrzUC54CoPutnAHcNsK0dwPcveE4D1gNuWIIhtcDN1mV3WPc5CrAH/h3YN8C2H7fuh5P12E0CXPq0WwiEA47W339lXRYOtAALrfv3rLVNQ5/366j1/XLs89yCS7zHc6zH7D+t27wFS8DFvc/yWCxfEMQB1cBS67IQ6zGx79P3UiDaegxcgcY+77sfEH2F596tWIItCpht7dPEK+zzamANMAqIASroc35d0M4/Al9af/4H67H/uM+ytdafPYG7rO+ZCfgE+MK6bNSV7ifwK2A3lnMyCMv1VX7BNbfA+vM24LE+y/4beOdKzjfr+5Jqbcexz3OhF7z3F7Z9EPC3vi4PeMK67GagyvreOgEfXri9a3n9WF+7FnCx9qED2AqMw3Ke5QIPXe/PTHnIQx7ykIc85CGP/h4y0kYIcS2t1DStTNO0c8AvgO9Zn/8B8AdN0w5ommbWNO0vWG6kplkfzliCDZ2apm3DcrP2vT7b3aBp2i5N0zqAfwOmK6WC+jZs/Rb+B8BPNE07p2laE/BLYMUl+lsD/FbTtC5N0z4GCoBbre18DNxv3XY0lqDD+kEej19pmlavaVopsB1IsD7/BJZgUp6mad3Wfiao/kfbdGEJAoRaj91hTdMa+yx/X9O045qmtWEJPvS2cS+W45aqaVoX8BqWwM6MPq990/p+tQ1in7qA/7Qes6+AZiACQNO0HZqmZWma1qNpWiawCksQZSAfaJqWYz0G3UAPEKOUctQ07bSmaTlX0iFN0zZomlaoWewENmMZvXHJPitLUeS7gJc0TWvRNC0b+MslmtoJpChLKtcs4FUg2bpstnU5mqad1TTtM03TWq3n4S8uOA5Xup/LgV9Yz+cy4M1L9O0jrNeM9VpYYX0Orux8e8XazmDOhTc1Tau0Xu9f8n/n3nIs52WOpmmtwMuD2GZfV3P9vKppWqP12GYDmzVNK9I0rQHYiCWQLIQQQghxw5GgjRDiWirr83MJlm/hAcYA/2xNc6hXStVjGTngb32UaZrWc8FrA/rbrqZpzVhGwfhzvtFYvtU/3KeNr63PD6RC0zRtgD7/BfgH6w3wA8AaazBnMKr6/NyKJTgFluPxRp9+nsMySiSAi/0vsAlYbU01ebU35eUybfhb9wcA6/EtY4DjOghnrTfKF7WplEpSSm23pgU1YLm59upvIxe2r2laC5ZA0xPAaaXUBqVU5JV0SCm1WCmVZk1PqscymqZvuwP1eTSWkRoXnrf90jStEMvopQQsQaH1QKVSKoI+QRullJNS6g9KqRKlVCOwC3BTSukGuZ/+V9o34DMswUw/LAGlHiyjdODKzrehnAuXOvf6bm8o277U9q9kf6r7/NzWz+/OCCGEEELcgCRoI4S4lvqOfgkGKq0/l2EZMeDW5+Gkadoq6zpB6vxCtMFY0lQu2q5SyhlLOkYl5zuD5WYsuk8brpqmXermLKBvnYy+fdY0LQ3oxHJz/g9YgicD0S6xrD9lwOMXHA9HTdP2XbRhy+iQn2maNgHLKJklwINX0EYllptbwDb6Iojzj+uF/R7sflzoIyzpaUGaprkC72C5mR7Iee1pmrZJ07SFWFKG8oF3L9egUsqIJWDxGuCjaZob8NVl2u1Vi2WEz4Xn7aXsBO7GkmZWYf39IcAdS7oZwD9jGX2UpGmaC5YgCr19GsR+nr7SvmmaVodlhNG9WM7X1X0Ckldyvl3te39hvwP7/B400IpDbPuKrx8hhBBCiG8aCdoIIa6lHyqlAq0FUf8NS4oRWG5Kn7COxFBKqVHKUrTWBBzA8i36s0opvVJqDnAbllojvW5RSqVYi4f+F5BmTRexsY4keRd4XSnlDbZisTddor/ewP+ztnsPlhoZX/VZ/ldgJdCladqeS2ynGku9jCv1DvCCNe0KpZSrtf2LKKXmKqVirak8jVhSfXr6W/cCa4BblVLzrSNz/hlLStqlbmwHux8XMgHnNE1rV0pNxRI8uCJKKR+l1B1KqVHWfjZj3U/1f0WMQ/p5qQFLDaJaoFsptRhYdCVtapbpx/8OvGwdHTMBSwDmUnYCT2MZPQOWeixPY6mD0zuduQlLALHeei38x5XsZz/WYDlP3JWlkPEzl+nbR1gCenfzf6lRMIjzrY+rORfWAI8oS4FxJ+DFYW5rKPsjhBBCCPGNIEEbIcS19BGWb/uLsBRp/TmApmmHgMewBEDqsBQRfdi6rBNLkGYxltEyvwce1DQt/4Lt/geWNIhJWGvN9OM567bTrGkpW7DWWxnAASDM2u4vgLs1TTvbZ/n/YilO++Fl9vsN4G7rTDaXqjsCgKZpnwO/xpLy1Iil5sbiAVb3BT7FErDJwxI0uNSon942CrAcp7ew7N9twG3W4z2QV4B/t6ad/PRybfTjKeA/lVJNwEtYbt6vlB3wT1hGCJ3Dkm70pHVZEJbUoIoLX2StGfP/rG3VYQkUrRtEu09jSZWpwlL0+v3LrL8TS1CmN2izB0ta3q4+6/wWS/2gM0AaljS9Xpfazwv9DMt+F2O5ri73vq/Dcj5XaZp2rPfJQZ5vvV4G/mI9F5ZfZt3zaJq2EUv9ne1Yr0frooHSC6/l9TMoSqmZSqnmPr//q1JqY5/fNyql/nU42hJCCCGE6I86v3yDEEIMD6XUKSwzwGwZ5u1+gGXWmn8fzu1eYduOWIoVT9Q07cRIty8slFL/DtRqmvaH690XMXjKMtV8NmC8oLaQEEIIIYS4gP317oAQQnyDPAmkS8Dm+tI07efXuw9icJRSy7CkGjphGRXzpQRshBBCCCEuT4I2QghxBawjhxSw9Pr2RIhvpMexpJuZsaSUPXVdezPMlFL3Af2N/Kql/xnr5Hl5Xp7/7jxfomladD/PCyHEFZH0KCGEEEIIIYQQQogbkBQiFkIIIYQQQgghhLgBDSo9Siklw3K+gRwdHens7MRsNl9+ZSGEEEIIIYQQQoy0M5qmXZRmKSNtvuWWL1/OU089xfjx4693V4QQQgghhBBCCNG/kv6elKDNCEhISOD+++9n3LhxI9quUorY2FgqKytpbm4e0bZHmqurK5GRkde7G0IIIYQQQgghxLCRoM01FhISwrRp05gyZQpeXl4j1q6dnR0+Pj54eHhQUFBAQ0PDgOsGBwczY8YMkpOTR6x/w8nZ2ZnQ0FBmzpxJQEDANW/PwcEBT0/Pq9pGcHAwOp1umHokxNUJDQ0lIiICd3f3690VIYQQQgghRB8StLnGEhMTiYiIAMBgMIxYu3q9nri4OM6ePUtxcTEtLS39rmcymYiLi2PWrFkkJiaOWP+GU0BAAHFxcYSGhl72pvNqgyUuLi74+/vj6+s75G0opZg1axYODg5D3oYQQ+Xu7o6/vz9ubm6255KTk5k4cSLe3t7Xr2M3KKPReEVB2lGjRuHm5oZerx+BXgkhhBBCiO+Kb33Qxs7ODgcHh+vyj7TBYCA4OJi2tjbS09Pp6ekZsbaNRiPz589n8+bNtLa29ruOTqdj8uTJjBkzhvLycr7++usR699wsbe3Jz4+nvDwcI4ePUp2dna/6ymlcHZ25vHHH8dkMg25vcTERCZPnoxSakivV0rh5OTEkiVLcHR0HHI/hIVOp8PR0RGTycSoUaPkhvkyjEYjc+bM4b777mP69OmA5XMqMjISBweH61qs3N7eHqPR2O+1pdfrcXBwwM5uZP9k6fV6QkJCmD9//iXXMxgMxMbGMmnSpPOCYUIIIYQQQlytQc0e9U0UEBDAww8/THp6Ops3bx7RwMl9991HXV0dx48fp6KigszMzBFrW6fTERgYyP79+we8EYuOjubJJ59k+/bt7Nmzh1OnTo1Y/4bLjBkzSElJobm5mVWrVg24nouLC6+88goBAQFXdWPv4eGB2WweMDh0OS4uLrzwwgt8+umnAwbTxJWLjY3ljjvuYPr06dTW1rJ69Wo2bNhwvbt1w3r88ceJioqip6eH9vZ27OzsuOuuuzhw4AC7d+/m7Nmz16VfdnZ2JCcnExsby9///ncqKytty5RSzJs3j4kTJ/Lxxx9TVFQ0Yv265ZZbmD59+iU/Gx0cHFi8eDEzZszgl7/8JXV1dSPWPyGEEEII8e33rQ7aBAYGkpSUxOjRo0lNTR3RgA1AREQEn376KRkZGWjayM2WHhISwvLlyy8bpHrhhRfYs2cPqamplJT0W6j6hrdkyRI6OzvZvXv3gOuEhoby0EMPcfbsWc6cOUNnZ+eQ2vrJT35CTU0NBw4cGNLrw8PDeeyxx5g9ezYvvfTSkPsBluLWAEePHh3yNr7JDAYDjz76KHfffTeurq6kp6ezbt06Nm/efL27dsN68cUX8fT0RK/Xc/jwYd599110Oh3z5s3jpz/96SXrXl1Ljo6OTJ06lblz5/Kb3/yGpqYm2zInJycWLlzI6NGj+d3vfnfesmvtmWeeITQ0lKysLD744IN+13FxcSEhIYH77ruP+++/n/b29hHrnxBCCCGE+G74VgdtQkJCmDhxIsXFxSM+7P++++6jsrKS+vr6EW/byckJb29v3n333X6DRUajkRUrVlBTU8PXX39NaWnpiAaVhktKSgqOjo7s2bOHPXv29LtOSEgIEyZMoKGhAR8fn4tuCgfTloODAyUlJZSWlg769d7e3kycOJGYmBheeeUVurq6Br2NXhMnTsTJyYmqqqohb+ObzN/fn0ceeYTQ0FD0ej2rVq1i+/btnDhx4rqm99yo9Ho9Tz75JD09PTg7O5Odnc3+/ftxcnLilltuYfPmzbS1tV2Xvrm4uBAZGUlKSgrvvPMOTU1N530WOTo6Mm/ePP7rv/7romXX0q233kpsbCy7d+9mw4YNdHd397uev78/t912G+vWraOjo2NE+iaEEEIIIb5bvrVBm1mzZjFhwgSKi4vZu3fviLatlGLatGl8+OGHVFdXj2jbY8aMISIigtra2n6H6bu6ujJt2jRmzpzJn//8Z8rKyq5qxMf1tGDBAiorKyksLBwwEOPv78/48ePp6uri2LFjVFVVDenGb+bMmRw8eJCCgoIhHa/o6Gji4uLIzc1lz549V3XzOXr0aKqqqkb83LoRREdHs3jxYpKSkujp6WHNmjVs27aNkpKSAYttf5e5ubmxePFiEhMTaWxsZMOGDeTl5VFfX4+/vz8mk4mvvvpqwKDEteTp6Ul0dDRRUVGkpqZeFIR0c3MjKiqKqqoqzpw5MyJ9UkoRGBjIrFmzyMnJISMjg3PnzvW7bnR0NNOmTaO5uZnt27d/IwPfQgghhBDixjfsVR09PDxwdXUd7s0OSlBQEFOmTMHR0ZEDBw6Qm5s7Ym3b2dkRGBiIs7MzRUVFIzqcHyypQKGhoRw8ePC8500mE0FBQSQmJjJ//nyam5s5ePDgdfuG/WoopYiIiCA4OJicnBzKysr6XS8iIoLY2Fi8vb05e/YsBw8eHPSNlZ2dHeHh4Xh4eJCfn09tbe2g+xsQEEB0dDTOzs5s3LhxSNvoy8HBgZaWlhE/t6630NBQFi5cyMKFCzEYDOzcuZP169dz4sQJCdj0w83NjUmTJrF06VLs7OzIy8tj9+7d5Ofno2kavr6+5OXlUVFRMeKpo2B5P8PDw2lvb7/o8woso3CCgoIumfo43Ozs7JgxYwZms5m0tLQB00YDAwOJi4tj9OjR7N27d8DPICGEEEIIIa7WsI60GT16NJMnT6arq4usrKyrHglgNBpts4n09PTQ3d1tCzI4OTmh1+vp6Oi4qI5AbyrLkSNHbMV/XVxccHJyQimF2WymtbWV5ubmq+pffwwGA7NmzaK4uHjEv712dHQkODgYk8nE9u3bbc+7uroSEhLCuHHjiI2NJTw8nJUrVw75Rs3BwYHOzs7rcqMHliLLS5cupaamhmPHjvV7njk7O7N06VIiIyMpKysjNzeX48ePD7ote3t7br/9dnJzc4cc4EpOTiY4OJjCwkK2bNkypG30db2O+/Xk5ubG0qVLWbhwIU5OTuzfv5/XX3/9enfrhuXk5ERcXBy33347/v7+rFu3jj//+c+2UWJ6vR6l1IBphdeal5cXERER2NvbX/KaaG9vH7E+6nQ6PD09mTFjBuvWrSMvL4+mpibs7OwwGo04ODjQ0dGBwWAgOTkZX19f8vPzh+WaFkIIIYQQYiDDFrRRSvFP//RPJCcnYzQaOXjwID/+8Y8vWWPCzs4OTdP6Hf2g0+mIjY0lMjISvV5PS0sLVVVV7Nu3j+7ubpKSkggJCSEvL4/09HRbOzqdjlmzZvGXv/yFtLQ0wBLMuPXWW201UGpra9m1a9c1mWXGaDQyb948Vq9ePeJFKadOnYqbmxvl5eWA5fja2dnZvmlvb2+nurqakpKSId1o9G4vISGB/Px8GhoarktKgF6vJyUlhVdeeaXftAmlFDfddBPJycmUl5ezc+dOjh07hk6no6enZ1B9NhqNTJs2bchFRnU6HTNmzKC2tpZNmzYN+vX9OXv2rC2ApJT61qdl2NnZcf/993P77bfj4ODAxo0b+Y//+I/r3a0blk6nIyUlhWXLlhEVFcVHH33E22+/fd465eXlts+JkWZvb8/TTz9NSUkJqampA87MVFpaOqT6UUPl4eHBgw8+yJEjR9i/fz+dnZ3odDrc3d2JjIwkOjqaoqIixo0bR3h4ONu2bZOZyoQQQgghxDU3bEGb5ORkJk+ezNq1a+nq6iIxMZGXX36ZF198sd/1dTodN998M1VVVeTl5Z03/bFOp+Oll14iLCyM3NxcamtrcXZ2ZtKkSdx333088cQT/OhHPyIqKoq6ujo2bdpku4l7+eWXycjIsNVH8PHx4c4778TZ2Zk//elP3H777bS0tFyzmVKUUuj1erZt2zbiRVGnTZuG2Wzm4MGDODg4sGTJEhYuXMgXX3zBwYMHmTFjBlOnTuX9998f9LZNJhMLFizgzjvvJCYmhtTUVNasWcOhQ4euwZ4MzMPDgwceeIDjx49z9OjRi6bNVkoRFxfHD3/4Q3bt2kVGRgYGg4Gnn34aTdPYtWsXOTk5V1QI2NfXl/vvv5/U1NQhj5p68cUX6e7uJi0tjfz8/CFt40L79u0DwM/Pj+Dg4CHPZvVNcdNNN/HMM89w+vRpVq5cyV//+tfr3aUb2vPPP8/NN99McXExzz//vC14faP45S9/SV5eHrt27aKwsPB6dwew1AJbtGgRixcvZvv27fz617+mq6uLlpYWzp49S35+Pu+++y6LFy8mJSWF1157jWPHjl3vbgshhBBCiO+AYQvaPPPMM6SlpbFp0yYKCwuJjo7mueeeu2i98PBwZs+ejaurK6NHjyY0NJS1a9eyY8cOSktL8fX15de//jWZmZn85Cc/sc0Y4uXlxdSpU5k2bRqvvfYaQUFBfPDBB3R2duLv78+//Mu/sHnzZsLDw3nvvfcoKysjKSmJBQsW0Nrayu9+9zt++tOf0tXVxdatW8nKyhquXbfx9vZm7ty5HD58uN/RDwaDgWXLlpGTk8OJEyeGdbaR5557jrlz51JXV4enpyeOjo7k5eXx7LPP0tbWRmxsLOPGjaOmpobs7GwAXnrpJWpqakhNTb3kzVNycjI/+MEP6OjowM3NjaysLP76178OWxBiMJydnZk9eza/+c1vbKkeoaGhTJ8+3Vbo95FHHmHv3r14enpy3333oZQiJyeHU6dOsXjxYsLDw9m9ezenT58esB13d3diYmKIiori6aefHnLQJjIykjfffJP09PTLruvg4MC9995LZWUle/fuvSggdSF/f3+SkpL6Ddp4eHgQFxfHtGnTGDduHB4eHpSWlrJ27Vp27tw5pH3pKyEhgSVLllBRUUF6errtnBpuSimef/55KisrefXVV89L+xP/x2AwcMcdd7Bs2TKio6NZv349n3/++Q01Jbxer+ehhx6io6OD7du33zB1YCIjI1m8eDELFiwgLS2NiooKDhw4QFZWFk1NTfT09KDX65kxYwb33Xcfq1atumH6LoQQQgghvv2uOmhjb29PdHQ0Pj4+/M///A9FRUW0tbVRX19PY2MjN998M5s3byY4OJjY2FhcXFwoKiqipKSE6dOnM3bsWFpaWujs7CQmJoZly5aRnZ3NJ598Qm1tLcHBwUyaNIng4GDa29tpaGjg4YcfZtWqVWzcuJFRo0YxY8YMoqKiMBqN7N69m7q6OmbMmMGUKVMwGAwUFBTw1FNPUVZWxoEDBygpKbmqKZcH4u7uTnx8PL///e/p6elh+fLlBAQEcPToUdLT04mPjycuLo6Kigrs7Ia3BrSvry/Nzc2cPn2azMxMMjIyaGpqso0oCg8Px9nZmXPnznHPPfcQHx+PwWAgLCyM7OzsfoM2kyZNIjk52XZ86+rq2LVrF5999hmFhYXDWrNnwoQJJCUl4erqSnNzM05OTpSWlvLll1/aRiwFBwcze/ZsCgsLyczMpLu7m+9///vEx8cTHBxMSEgIKSkptLS04OnpiaurK/v27WP79u00NTXR1taGo6MjS5YsYdSoUZfsz/jx45k2bRrZ2dlDqmVjZ2fHo48+Sl5eHlVVVRedb4sXL2bHjh22bQcHB7NixQoaGxsJDAzE3v7Sl+ZNN91EWFjYee/b3LlzCQoKwtfXl4CAALy8vMjKyuLNN9/EYDCwZMkSYmNjqaurs9V6Gsp+hYWFsWzZMkwmE15eXrS1tV2ToI2TkxOPPfYYRqORl156iYMHD454yuHV6E0lnDVrFt7e3rS3t1NQUMDevXuHLTXJ1dWV0NBQUlJSiI+PJyoqik2bNvHll1+Sl5dHd3c3dnZ2JCYmkpGRcd3qITk6OhIXF0dsbCxvv/02lZWVN8z07H5+fpjNZv7+97+zdetW2tvbaW9vp6mpydZHJycn7rrrLtLS0khPT6exsfE691oIIYQQQnxXXHXQxmAwsHjxYjIzMykqKrKNDujs7KSmpoaoqCi2bNlCcnIyHh4e1NfXo9PpiI6OxtXVlU8++YRjx47R2NhIVFQUkydPZt26dTg4OHDTTTcxZswYDAYDtbW11NTUMGvWLFpbW9m0aRMnT54kIiICOzs7dDodUVFRvPLKK7S1tRETE0NYWBhnz57FycmJ48ePc/z4cYqKiq7JFNejRo3C19cXHx8fenp6WLFiBX5+foSGhtLT00NLSwujR4/GxcWFyspKW8DDZDLh7++Pu7v7kNMYAgIC8PPzY/fu3Rw7dozS0lKKiorOW6d3KvCamhrq6+vJysrC19eX0aNHDxhAioyMJCUlheDgYI4fP86mTZvIysoiJydnWAM2ISEh3HbbbYwaNYry8nKKi4sZNWoUcXFxFBcXU1BQQHt7O76+vkRHR3Ps2DF8fX2ZM2cO8fHx+Pn54eHhQUBAAG1tbezbt4/Ro0eza9cuUlNTycnJsdUa+vrrrxk1ahQGg4ExY8bg5+dHYWGhbUanmJgYWyDSxcWF9evXD2mflFLMnz+fd955x1Z3x9XVlaioKHx9fZk7dy6lpaUUFhYSEhLC9OnT0el0pKenM2/evPOCNgaDAX9/f+Lj4zl16pSt3lNXVxcnT55k8uTJjB492rb+uHHjGDVqFFu2bCEvL88WUAkMDKSrq2vIqYEGg4HAwEDuvvtu6urqOHToEPHx8Tg6Ova7vru7OzqdbkjTNbu5uZGSksIdd9zB+vXrSU9Pp76+fkj9Hm7+/v50dXVddhYwnU7HLbfcgqZpFBYWotfr8fHxYebMmaxateqK23N1dSUoKIiwsDAcHBxIT0/n1KlThISEEB0dzbhx43BxccHDw4Ps7Gy++uor8vPzaWlpwWQykZSUhL+/P5mZmZcM2owePRqj0Uhra6ttmmtfX19cXFyoqKgY0gxd/v7+uLi44OLiwsyZM9myZQsnTpzAbDbj7u6OUopz586hlGLcuHEUFxePeGDJZDLR2NjIjh07+q2v4+fnR3JyMs3NzWzdupUzZ85c8vPP09PTVrR4pKYqF0IIIYQQ315XFbTR6/X4+fkxe/Zsfvvb3573T73ZbKaxsREvLy/bjBytra3Y2dnh6uqKt7c35eXlrF279rwgilKKgIAA5s2bx/jx42lqauLo0aPk5+fj4eFBdHQ0OTk5tpv48ePH4+npydmzZxk/fjz5+fm4uLgQERFBUFAQ9fX1NDU1sW7duqvZ1cvy9PTE398fvV7PzJkzSU5OZufOnfj4+ODj48OYMWOoqanBYDDg5OSEl5cXmqYRHBxMdHQ0PT09QwraKKWYPHkyer2ePXv2cPjw4YvW8ff3Jzg4mODgYDo7O8nIyOBvf/sbDz30ENXV1QOm4bi7u2M0GikpKeHzzz9n9erVg+7flZg6dSoTJkxg//797Nixg+PHj2M0GklKSiIqKoqSkhLc3d0JCwvD29ubpqYmFi1axKRJkwCoq6vDaDTagmOnT58mLCyMnTt3curUKYKCgvD39ychIYFNmzZRVlaGm5sb48aNIygoyFZstLOzk5kzZ+Lh4YGzszM1NTVDTi9RSuHv78+xY8fQ6/WEh4cTHBzMxIkT8fPzIyIiAjc3N8LDw5kyZQphYWGkpqbS1NSEn58fOp3Oti2TycTMmTMJDw+ntbWVxMRE3NzcKC4uxtXVlejoaBwcHGwpJzExMbS1tfHxxx+f994ePXrUVqNjKEwmEykpKYSHh/Pmm2/agmFOTk4EBQVhMpnIzc0FLLMDTZgwAbPZPOgbV1dXVxITE1m+fDmOjo6sXr36qqY3d3JywmQyodfrr2qEi8lkYsyYMYSGhtLc3Exubi6VlZUDrq/T6UhISGDt2rVs2LDBNiowPj6er7/+mrq6usu2GRgYaGszOjoaDw8PfHx8OHjwIOHh4YwZMwadTse5c+doampi7dq1tvTM4OBgxo4dy+zZs8nMzBywYPXo0aPx9va2XVuVlZXY29sTGBhIYmIizs7OFBcXc/LkSVutsCsVGhpKZGQkbm5uhISE8OmnnxIVFYW9vT1jxoyhs7PTFlR0dXVFKTWo7V8tFxcXNE2jurq634CNu7s70dHRJCYmsmXLFnJycgDL+6LT6WhsbDzvfRw/fjyBgYG4uLjQ3NzM0aNHr+h9FkIIIYQQYiBXFbRxd3dn1qxZuLm5sXXrVtu3j3Z2duj1ehwcHLC3t2fatGkEBwfj7+9Pa2srJ06cYNWqVezcuRM7OzucnJwAy833kSNHiIuLo7m5mQMHDvDFF19QXV1NTEwM3/ve96iurqagoIA77rgDs9ls+6c7JyeH4OBg3NzcmDZtGhEREfj6+lJQUEBqaipGoxGw3Ez3jiwxm83DVlfGw8MDf39/AO6++27ee+89Dhw4wPjx43F2dqa6uprDhw9z//3384//+I9kZmailCIkJASTycR77703pHZ7R3QcOXJkwJvxefPmERQURE1NDVu3brV9y+/u7k5NTc2AQZvGxkZOnTrFyZMnWb9+PQaDwXbj1zvzV+9U7FcjOTmZrKwstm3bZpuWW9M027f9vbN/9Y5ASU5OJikpicrKSqqrq9E0jcbGRoqKimhsbCQnJwdvb2+cnJyIjY1l2rRpREVF8e6779LT08OXX37J9773PdsIgujoaHx9fTl79iwRERHExcVRVlZGWloazs7OaJqGUoru7m66urquOK2jubn5vNoyHh4eFBUVcfz4cby8vCgtLeXBBx/E19eX9PR08vPz+elPf4qfn59tpI1erycwMJDFixezcuVKcnNz+cEPfkBxcTFubm7cc8897Nix47xZbGpqaoiMjCQqKuq8IN7VzMSj0+nw8/NjyZIl/PWvf+Xo0aO2gExUVBR33303YWFhPPXUUxiNRmbOnMmUKVMoKSlh7969tvdRKUV7e/uAoykMBgOJiYnce++9JCcns3LlSoqKiq5q9MW4ceOYOHEiTk5OvPPOO0Pahl6vJy4ujgceeIC2tjYaGhoICgrio48+Qill26++gRFN0zh9+jT29vYYjUbOnDlDYWEhwcHBREREXDZI6+bmxh133IGXlxfl5eVs2bKF8ePH8+STTzJ//nxOnTrF4cOHKS8vZ/bs2RQVFfHFF18AlppDM2fOJCYmhhMnTvDJJ59gb29vm22s9zPaycmJlJQU5syZQ2FhIdu2baO6uhpvb29WrFhBWFgYdXV1LFq0iC+//JI1a9YM6riNGTOGOXPm4OrqypEjR/je975HaGgozs7Ots+kr7/+moaGhkGNPhouYWFhnDt3rt9glL29PZMnTyYxMZHi4mL27dtnG1W2ZMkSnJ2dycjIYOvWrYAlOPjQQw9hNptxcHBA0zTMZjO7du3C3t4evV6PXq+np6eHjo6Oa5KiK4QQQgghvn2uKmjj7+/PPffcYysO2vstqY+PDwkJCQQFBbFt2zZmzZpFfn4+RqORlpYW0tLS6O7uJjk5mYCAAHx8fOjq6qKyspJPPvmEl19++bx2AgICSE5OZtasWTz99NPs3buXGTNm4OTkRHFxMYWFhbi7u3PPPffw3nvv0d7ezt69ewkICGDKlCk899xzpKWlYWdnh4uLC56enuh0OkpLS/nss8+u5hDYGI1GWwrLq6++ypYtW1i4cCEREREcPnyYXbt2AfDYY4/xgx/8gLCwMCZOnEhFRQX/+7//axuhMFhKKWJiYvjZz342YNCmpqaGtLQ0srKyzhtxVFZWhp+f34A3xEeOHGHmzJksX74cX19ftmzZgtlspqenB3d3d7q7uykrK7vqeiY1NTX4+/tjMplsz5nNZvbv309iYiJ33303CxYsYMaMGXh4eNDQ0MDevXvZu3cvn3zyCcuXL8fT05OVK1fS2dnJmjVruP3223nrrbdQSnH8+HH+8pe/cOjQIZRSvPnmmwQHB9Pc3ExhYSE7d+7kj3/8IwAPPvgg8fHxxMfHA5CUlERjYyOjRo0iNzeXffv2UVJSckX75eDgwPr166murubLL7/k3XffpaqqiieeeIKsrCzuvfde/P39aWhowM/Pj7fffpvAwEA++OADW62bpKQkli1bRlZWFvv27eONN97AyckJHx8fSkpKePfdd22Brl4ZGRn4+/vz4x//mAcffHBYpgSPiIhg/vz5nD179ryUMWdnZ6ZPn05ERITtGM6bN48HHniA3bt3s2nTJlug9N5778XV1ZXPPvtswBEvycnJzJkzh6CgICoqKnj99devuu+33HILs2fPvqiI8ZVOl67X64mPj+fHP/4x7733Hunp6URGRjJ79mxuu+02jEYjJpOJNWvW2AKNAN3d3WzYsIF//dd/xcHBgc7OTnp6ejhw4MAVjar705/+RElJCV988QW7du3C3d2dhx9+mK6uLtasWUNqaio6nY5Zs2bZAmdgqUV18803M2bMGAoKCnj11VcBSyCnN22qt7D7nXfeSV5eHs8//7ztnAsPD2fFihV4eXnx7rvvsnz5ciorK/tNB+v9zB/oOMbGxtrqKHl6elJRUcGHH35ISkoK7u7uANTX11+zUXxXoqioqN+i5JGRkUyaNAknJye2bt3KokWL8PLyAv5vlsCgoCDb748++iguLi5kZWXh5+dHQEAAPT09KKWYMGECkyZNYurUqdTW1rJhw4Zv/axvQgghhBBieKjB3NAppWwrR0ZGcuutt3LnnXfy6aefkpiYiMFgoLW1lcbGRsrLy9m3bx9paWm2f+yjo6NtU4N3dXWRl5fH4cOHyczMpLm5GbD8839hn5YuXcqiRYuoqanhZz/7mW3kQ+/6vezt7YmPjycvL882giYgIIDly5djMpmora2luLiYo0eP2v5JH676CcHBwcyYMYNbb70Ve3t7NE3j1KlTfPTRR+Tm5p7XTu8N7IQJE8jOzmbNmjVDurF2dHRkwYIFJCQk8Prrr9uO4YV6b5p7R8b07Qf0f8x7Xzd+/HgSExOJiYnBx8eHlpYWysvLKSoq4ujRo5SWll51UCAhIYHXXnuN3bt38/nnn5OZmYlOp2P+/Pk8+uijvP/++yQnJ3PHHXfg7u7Oxx9/zPPPP09PTw89PT08+eSTJCQksHr1anbu3ElPT49tVEHv/vWOjlm3bh0+Pj4cPnyYzz//nK1bt553XH73u9+RmZnJ9u3bKSoqumjkxGDOl74jG3r72vv8888/T0tLC5MnT8bOzo6cnBwOHDjAvHnziImJ4eDBg2RlZZGdnU1xcTFgCWT99re/pbi4mNTUVPLz83F0dCQ+Ph4vLy8qKirIy8ujra2NiRMn8thjj+Hj48OyZcuu6v0BS/BoyZIlGAwGPvroI8aMGUNKSgqapmEwGPDw8KC2tpbm5mYeeugh3nvvPQ4dOoS7uzsLFy7Ezc2NyspKJk+ezNNPP91vGt/999/P9OnTKS8v59y5cyxcuNAWiBiq2267jQceeID29nZ++ctf2mY8e/zxx1m0aBFZWVl88cUXF6XBJSUlERQUhNlspr6+nmeffZbf/va37N69Gy8vL+bMmcOSJUtITEykvb2dt956i08++cSWCuPo6Eh0dDTR0dFMnTqVsLAw3n77bdauXTvg9dZLKcWPfvQjEhMT2b59O62trYwbN46wsDAaGxt54YUXbAGgW2+9lUWLFrF+/XpSU1OZPXs2hw8fxtfXF4Di4mLbub948WKeeeYZlFK0trbS3d3NO++8w65du84bPTZ//nx+9atfsXHjRqZOncru3btZtWoVxcXFaJqGg4MDixcvZsaMGURGRlJfX09tbS21tbWUlpbaRvQ9/vjjREZGcvjwYT766CPbfr/44oskJiaSn5/Ppk2bbNdsX3fddRcLFiygvr6ev/3tb/0GhvV6PZMmTWLmzJl4eXlx8uRJ9u/fP6gg8qUCdz/72c/w9fXFbDZjMpkoLi62/f1ZtGgR06dPp76+ntdffx07Ozs2bdpkG3WYm5tLeno6bW1tJCcnM3bsWJycnDhy5AibNm1i7969KKWIjY0lKyvruhWIFkIIIYQQN5TDmqZNvvDJIY+0GTt2LJGRkRw7dowPPviA1atXo5Sy3Zx2dXXR1tZ23j+j+fn5lJSU8Pe//x2Ajo4OOjo6Lkor6CsyMpL4+HhaW1t56623bOv1t353dzfZ2dl0dnballdUVPCnP/0JOzs7zGYzXV1dl0zPGKrKyko2bNjAjh07bMGCrq4uGhsbL2orPDycRYsWsXbtWrZs2TLkoIderyckJITt27dfsrhy36BFX5c7BpqmUVJSQlVVFdu2bcPe3t6WDtXZ2UlHR8ewjOLIy8vj7bff5qabbmLWrFlkZmZiNpvZs2cPCxcuZOHChbi4uLBlyxbS09NJTU09LyUrKyvLlpLQu08XpmyZTCaeffZZAgMD+eKLL1i7di3Hjx8/77gsWbKE4uJiDhw4QHFx8VWnfQ30+u7ubn7/+9+jaRqrVq1CKWW7DjIyMoiNjSU/P5+mpiY6OjrO6+MvfvELurq6aGlpoaenx5bqEh0dzR133GGbFcvR0REvLy9aWlouujF1dXUlNjaW2267jeLiYj788MMBA369jh07Rnd3N8899xzvvPMOJ0+eJC0tjb1791JRUYGTkxNjx44lJiaGpqYmpk6dSkJCAjU1NWzZsoXdu3czYcIE5syZw9y5c2lqarKNEFJK8eMf/5iJEyfywQcfUF1dTUJCAtXV1Vd1/AFmz56NpmkcPHiQ8vJyoqOjeeqppwBsKZwuLi62fixdupSJEydSXV3NoUOH6Orq4vvf/z5paWk0NDTw6KOPMmrUKBoaGvj888/ZuXMnK1aswGw2s3TpUlvqS0NDA5WVlXz++eds3LiRF198kdjYWE6fPn3ZUTa9/U1OTubOO++kqqqKQ4cO8W//9m+YzWbbDFq9U7mfOXOGpqYmbr75Zvbs2UNLS4ttNFjfc8fHxweTyURNTQ0bN25kw4YN1NfXX/TZYDAY8PX1JSUlhdTUVGpra21Fob29vXF2dmbSpEl0dXVx6NAhMjIyyM7OprS0lO7ubrq7u5k9ezYxMTGsX7+ePXv22Gaxmjx5MnPnzmXr1q1s3LiRnJyciz6HJk2ahJ+fH8eOHWPdunV4e3uTnJzMwYMHbSlFzs7OTJgwgQceeICPP/7YVjeqb0HuK3Gpz6/6+noMBgO5ubls2bKFzs5O27HatWsXgYGBLFiwgP/+7//Gzc2NyMhIPvzwQ06fPo2joyMTJ04EIDMzk5aWFqKjoykrK8PJyYkHHniAyZMnExQURHZ2Nm5ubnh5eVFQUMCqVasoKCgY1H4IIYQQQohvryEFbUJCQhgzZgyaplFQUHDFhRY7Ozvp7Owc1Ow1SUlJODk5UVBQcEUFVC+sUWM2m0ekEGR3dzdNTU1XVDB17ty5VFZWUlpaetmb5Utpa2sjNTWVmpqaa1Yfoauri66urqvqZ38CAwNZsWIFSil0Oh3e3t5ERUWh0+mYNGkShw8fprW1lQ8//BCj0YidnR2tra1UVVVdVNg2NzeX8vLySwaulFLY29vz2WefsW7dOgoLCy+q5dPY2EheXt41PZ69+qbR9NXa2kpGRka/wT7gohSVjo4OCgoKqK+vx8PDA6PRiLe3N3q9nurq6osCol5eXiQkJDB79myOHDlCTk7OFdV1am9v5/jx46xcuRIPDw/q6uqoqKjg9OnTtLS02IqylpeXExMTQ0lJCUVFRZSUlFBWVkZFRQXt7e22EVJ9A1pKKeLj41m9ejUZGRl0dHTg4ODAuHHjrvRwDsjFxYWGhgZ0Oh333HMPU6dOpbCwkLS0NH74wx8yatQogoODWbZsGfHx8TQ1NbF161aqqqpsaXuenp74+PgAcPbsWdLT0ykrK6O5uRmDwYDZbKasrIzKykpiYmKIjo5m9OjR1NfX09LSgsFgwGAwUFBQYBs1dTl5eXm88cYbODg40NbWRlVV1UV1VwwGA87Ozri7uxMUFMSBAwdoaWlB07R+z19fX1/27NnDkSNHOHDgQL8pQQCFhYW89957BAcHYzKZbDNl5ebmsn//fkwmE05OThw6dIiDBw9SXV1NXV0dLS0t2NnZ2YIZGRkZ5OXl2T4Te0f87du3j40bN1JQUGBLyeorLCzMljK7YMECJk+eTEdHB5mZmbb96g0SOjs7k5uby5QpU2w1robLV199hdFopK6u7qJj1draapsJq6urC6PRSEhIyHkzi506dYrCwkJqamqYM2cOXl5eTJ8+nTFjxtDU1MTJkydxcHCgoaGBoqIipk6diqenJ4GBgRK0EUIIIYQQNkMK2owZMwZPT0/OnDkz5Gmqr5SdnR35+flkZGRc03ZGglIKPz8/wsPD2bZtGxUVFVe1va6uLlu6xzeN2Wy23eT1zlqze/duysrKzruhP3bs2GW3de7cuQGDIL06OjrYtWsXZWVlFBQU9HtTW1RUhL29/ZCnxB4ug5na2mw221JTevXWbKqpqblo/d40m6KiIvbs2TOoc7CpqclWm6m/ftTV1VFXV8cXX3xhS0Xs+76cOXOGDRs24O/vf97NuqZp7Nu3jx07dthmoOst/Hq1ysvLCQoKIiIigvb2dkpLS9myZQtZWVncc889eHh4EBERQWtrK46OjrZ6M72jWRwcHNiyZQuenp5UVVVRUFBAXl6eLRBsZ2fH119/DWA7lqNGjcJkMtlGPfXWYDp8+PAVBxXq6urYs2fPJddpaGggPz+f+vp6Tp8+fdlC07m5uZw7d47jx4/3e270qqio4OOPPyY8PBxHR0caGxvPS30yGo3Y29uTk5NDRUXFRSN1zGazLVWpbzs9PT1UVVWxbt068vLyBpxCvHekpl6vZ/z48cTHx7Njx47zgo8dHR1UVVVRWlpKUlISdnZ2FBYWXvVnal+XC5ycOnXKNuOUUorg4GCcnJyoq6uzBeV7l5eVldHW1kZNTQ3l5eVUVVVRVlZGcXExtbW1tqBccHAw3t7ejBs3jqKiomHbFyGEEEII8c01pJo2y5YtY+LEiZw5c4Y33njjmnUOYPLkyZw5c6bf6Vi/afR6PbfffjuTJk3ijTfeGNZvhb/JwsPDATh9+vRVTe0sLs3b25v58+fj4uLCH/7wh+vdnRExf/58FixYwOjRozl69CgrV660LXvkkUeIjo6mo6OD7Oxsjhw5MiwjHHx9fYmMjMTR0ZHi4mKOHz8uNUsGYeLEiYwdOxYXFxdMJhM33XQTb731Ftu3bz9vVJjRaGTevHk888wz/PznPz+vNtqNJiYmBmdnZ06ePHnRSMG+QkJCmDJlCmfOnLmocLYQQgghhPjW67emzZCCNitWrCAhIYHTp09f86DNt4VSChcXF9544w3efvttjh07Zvs2X4hrzd7enmeeeYampiZ27NjByZMnr3eXhLikkJAQli1bRnJyMunp6axcufKi0Tn29vZ8/fXX3H///f1O2/1tp9frUUphNpv7rVsmhBBCCCG+UYavELGvry9dXV0XTTUsBjZ69Ghuu+028vPzOXz48FUXuRViMJYuXYrZbCY7O1sCNuIb4dSpU7z++usDTvtuMBiYMWMGBoNhhHt243jiiSdwc3Pj0KFDbNy48Xp3RwghhBBCXANDCto4ODiQn59PamrqcPfnW8tkMhEdHc0LL7wgARsx4sLCwvj88885ceLE9e6KEFfNZDKRmJjIT37yE95///0bNi3qWvvjH/9om068r5SUFMaPH4+fnx9ubm6YzWa6u7upq6vjgw8+GFTdLCGEEEIIcX0NKWjT0dFBa2urBB+uUEREBAkJCezcufOKZuoRYriVlZXR2NgoKRTiG8VoNJKYmEhzczP5+fn4+Pgwfvx44uLiSEpKIj09nQ0bNlw0E9x3RUdHB6dOncLOzu6858eNG8fYsWMxm80UFxdz+vRpjh49Snd393c2wCWEEEII8U01pKBNfX39d/af5KFwdXXF2dn5srPBCHGtpKWlybfr4hvHbDZTVVVFfHw8gYGBjB07Fi8vL+zt7cnMzGTz5s2XnAnru6C/2mhHjhyhqKiIrq4uGhoaaGxspLKyst/X63Q6kpOTKS4upqqqqt+Z9YQQQgghxPUzpKBNZWUlZ8+eHe6+fCuZTCY6OzspKioa1ulohRgMqWMjvom6u7spKSmxBWv0ej0NDQ1UVlaSmZkpddUGkJ2dfcXr9hbJNxqNKKWuYa+EEEIIIcRQDGn2qJCQENrb27+Ts3UMVmhoKB0dHZSVlV3vrgghhBBCCCGEEOLGNHxTfgshhBBCCCGEEEKIYTMsU36fAUqGpz9CCCGEEEIIIYQQAhjT35ODGmkjhBBCCCGEEEIIIUaG3eVXEUIIIYQQQgghhBAjTYI2QgghhBBCCCGEEDcgCdoIIYQQQgghhBBC3IAkaCOEEEIIIYQQQghxA5KgjRBCCCGEEEIIIcQNSII2QgghhBBCCCGEEDcgCdoIIYQQQgghhBBC3IAkaCOEEEIIIYQQQghxA5KgjRBCCCGEEEIIIcQN6P8DHbtYLyW/EhUAAAAASUVORK5CYII=\n",
+ "image/png": "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\n",
"text/plain": [
"<Figure size 1440x1440 with 1 Axes>"
]
@@ -258,7 +296,7 @@
},
{
"cell_type": "code",
- "execution_count": 10,
+ "execution_count": 68,
"metadata": {},
"outputs": [],
"source": [
@@ -267,218 +305,34 @@
},
{
"cell_type": "code",
- "execution_count": 41,
- "metadata": {},
- "outputs": [],
- "source": [
- "data1 = torch.stack((data, data))"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 42,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "torch.Size([2, 1, 28, 952])"
- ]
- },
- "execution_count": 42,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "data1.shape"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 32,
- "metadata": {},
- "outputs": [],
- "source": [
- "patches = sliding_window(data.unsqueeze(0), (28, 32), (1, 28))"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 52,
- "metadata": {},
- "outputs": [],
- "source": [
- "patches = sliding_window(data1, (28, 32), (1, 28))"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 53,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "torch.Size([2, 33, 1, 28, 32])"
- ]
- },
- "execution_count": 53,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "patches.shape"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 48,
- "metadata": {},
- "outputs": [],
- "source": [
- "patches = patches[1]"
- ]
- },
- {
- "cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": 9,
- "metadata": {},
- "outputs": [],
- "source": [
- "from einops import rearrange"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 54,
- "metadata": {},
- "outputs": [],
- "source": [
- "p = rearrange(patches, \"b t c h w -> (b t) c h w\")"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 56,
- "metadata": {},
- "outputs": [],
- "source": [
- "patches = rearrange(p, \"(b t) c h w -> b c h (t w)\", b=2)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 57,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "torch.Size([2, 1, 28, 1056])"
- ]
- },
- "execution_count": 57,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "patches.shape"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 58,
- "metadata": {
- "scrolled": true
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "torch.Size([66, 1, 28, 32])"
- ]
- },
- "execution_count": 58,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "p.shape"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 11,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "torch.Size([1, 28, 952])"
- ]
- },
- "execution_count": 11,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
"source": [
"data.shape"
]
},
{
"cell_type": "code",
- "execution_count": 37,
+ "execution_count": null,
"metadata": {},
"outputs": [],
"source": [
- "p=7\n",
- "x = rearrange(data.unsqueeze(0), 'b c (h p1) (w p2) -> b (h w) (p1 p2 c)', p1 = 28, p2 = p)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 42,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "torch.Size([1, 136, 196])"
- ]
- },
- "execution_count": 42,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "x.shape"
+ "patches = sliding_window(data.unsqueeze(0), (28, 46), (1, 46))"
]
},
{
"cell_type": "code",
- "execution_count": 39,
+ "execution_count": null,
"metadata": {},
"outputs": [],
"source": [
- "patches = rearrange(x, 'b t (h w) -> b t h w', h = 28, w = p)"
+ "patches.shape"
]
},
{
"cell_type": "code",
- "execution_count": 28,
+ "execution_count": null,
"metadata": {},
"outputs": [],
"source": [
@@ -487,26 +341,13 @@
},
{
"cell_type": "code",
- "execution_count": 49,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAABH4AAABmCAYAAAC9f1b8AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAACAuUlEQVR4nO39aWxcaXrnC/5PxIl93xdGcCdFUrtSylRKqqxcqrKy7OqqMjywrw03PECj3WjMAPeiB43rnkH3fOkPPWPgoqd7gG4UYOP2tY1xueyyq+x0ZblcmalUKrVTEiVSFPcl9n3fI858kJ63ghIlcQ+Sen8AIYqiIs554pz3vO/z/p//I0iSBA6Hw+FwOBwOh8PhcDgczuFD1ukD4HA4HA6Hw+FwOBwOh8Ph7A488cPhcDgcDofD4XA4HA6Hc0jhiR8Oh8PhcDgcDofD4XA4nEMKT/xwOBwOh8PhcDgcDofD4RxSeOKHw+FwOBwOh8PhcDgcDueQwhM/HA6Hw+FwOBwOh8PhcDiHlG0lfgRB+EgQhMeCIMwJgvCHO3VQnFfDY98ZeNw7A497Z+Bx7xw89p2Bx70z8Lh3Dh77zsDj3hl43DsHj33nESRJ2tp/FAQ5gBkA3wQQAHALwO9IkjS1c4fHWQ8e+87A494ZeNw7A4975+Cx7ww87p2Bx71z8Nh3Bh73zsDj3jl47PcH4jb+75sA5iRJWgAAQRD+AsD3ALzwAxQEYWtZJg4kSRLa/rqp2PO4b4uEJEmOp9/zuO8dW47709/Z1diLogiVSgVJklCtVtFsNnfz7faUtrFm38X9kMPHms6wr8eawwwfazoGH2s6Ax9rOgQfazoGH2s6Q3vc17CdUq8uAKttfw88/dkaBEH4A0EQbguCcHsb78VZyytjz+O+Yyy3fc/jvndsKu7A3sReJpNBLpfD5XLh9OnTOHHiBEwm0269XafZN3F/TeBjTWfYl2PNawaP+97Cx5rOwMeazsPjvrfwsaYzLL/oH7aj+NkQkiT9AMAPAJ6920t43DsDj3vn2O3YK5VK9Pf3w2azwWq1wuv1olgsIhgMIpVK7fTbHRj4Nd8ZeNw7B499Z+Bx7ww87p2Dx74z8Lh3Bh733Wc7iZ8gAH/b331Pf8bZfXjsOwOPe2fYF3FXKpUYHBzEwMAA9Ho9rFYr0uk0bt8+tBsT+yLuryk89p2Bx70z8Lh3Dh77zsDj3hl43DsHj/0+YDulXrcADAmC0CcIghLA/wTgpztzWJxXwGPfGfZl3BUKBXp6enD06FH09PTAbDZDr9dDLpd3+tB2in0Rd0EQoNVqYTKZIIoicrkccrkc6vX6Xh/KXrEv4n6YUavVMJvNMJvNz/7TjsVeq9XCYrFAr9dDJttWI8/XAX7NdwYe987BY98ZeNw7A4975+Cx3wdsWfEjSVJDEIT/K4CfA5AD+BNJkiZ37Mg4L4THvjPs17ibTCZ897vfxdjYGCYnJ3Hr1i3k83msrKygUCh0+vC2zX6JuyiKcLvdGBgYwMrKCqamppDJZA5FjNdjv8T9sCIIAux2O3w+H2QyGb766iv2bzsVe5lMBrfbDa/Xi0wmg7m5OVQqlZ07iUMGv+Y7A4975+Cx7ww87p2Bx71z8NjvD7bl8SNJ0j8A+IcdOhbOJuCx7wz7Ke5kNKzRaOB2u9HT04NEIgG9Xo9Go3GYFD8dj7tMJoMoilCr1dBqtQCAfD6PfD6PRqOxpdcUBAFyuRyCIEAmk0EQBLRaLdTrdUjS/iht7nTcDyv0mZPiRxCE535nu7Gn8YEUP41GAwqFArVaDZIk7ZtrbCcQBAGCIOzIeR2Ea56uHwCHpqPgQYj7YYXHvjPwuHcGHvfOsd9jT/PydlqtFlqtVoeOaOfZdXNnDoezO3g8HoyMjMDpdKK3txc2mw1GoxFqtRoKhYKXdewQOp0OVqsVVquVJX1yuRzm5uaQz+dRLBa39LpGoxEjIyMwGo2w2Wwwm80IBoP44osvkM1md/IUOPsIURRhsVigVqsxNDSEU6dOQSaT4Wc/+9mOvYdSqYTFYoFGo8Ho6CiOHj2KcDiMSqWCTCaDVCqFXC63Y+/XSeRyOaxWKzQaDfL5PDKZzKFKaq2H1WqF2+1GvV5HMBjc8hjE4XA4HA7nCU6nE36/HzKZjCV7IpEIgsHgoZlX8MQPh3NAcTgcOH36NOx2O7xeL0wmE3Q6HZRKJZRK5boqAs7mUavVcDqdsFqtUKvVEAQBhUIBq6ur21pw6XQ6jI6Owu12o7e3F36/H/fv38f4+DhP/BxiRFGEyWSCXq9HT08Pjhw5suPqPEr8mEwm9PX1YXR0FHq9HqFQCFqtFpVK5VAlfkwmE/NJymazh2aC9iIMBgN6e3tRKpWQTCZ54ofD4XA4nG1isVhw5MgRiKKIZrOJZrOJRqOBUCh0aOYVPPHD4RxQ1Go1U/lks1k0m83XYrd7r9FqtfB6vTAajSgWi1hdXUUqldqy9FOn00Gr1cJqtUKn00GlUiGbzaJWqyEUCh1ms2gOnpixO51O2Gw2qFQq5PP5HVfnqVQqeDweWK1WyOVy5HI5ZLNZpNNpZDIZVKvVLR+7y+WCTqdDOp1GPB7v2Hij0+lgsVggiiJ0Oh3kcjkrmTzsmM1mDAwMIJfLYXZ2ttOHw+FwOBzOvsVoNMLpdEIul6NcLqNer6NUKiGXy62Zw9C6SiaTIZ/Pb3mutJ/hiR8O54BiNpsxNDQEhUKBlZUVZDIZxGIxSJL02iyA9gKbzYY33ngDSqUSS0tLePToERYXF7fk7SMIAlwuF3p6emCz2eBwOKDX6zE3N4fl5WW+e/8aoNVqcfz4cfT09KBarSIQCOz4e5hMJpw9exZOpxOVSgXLy8tYWlrC3Nwc0un0ln2ptFotLly4gN7eXoyPj+Py5csdS1S6XC6cPXsWcrkcyWQSpVLpUPmavQhBENDX14dvfvObiMfjuHv37q5cQxwOh8PhHAb8fj8+/PBDKJVKhEIh5HI5LC8vY3Jycs0cxmKxYGhoCK1WC/Pz86jX64duPcUTP5wdQxAEKBQKyOVyZoYlSRKazSZXoewQ7TFWKpVsoVMsFpHNZlEoFFCr1dBoNA6VGVknUSqVMBqNEEURlUqFJWc2e02TIkGv18PhcMBgMEAmk6HRaKBQKCAej2/LLJqzvyGzZbVazUqTYrHYcztO24GuMbVaDaPRCLPZjFAohGw2i1wuh3K5vKUdLFEUoVQqYTAYYLVaWcKyk5MhpVIJk8kEmUyGTCaDRqNxqJ8zgiBApVJBFEVotVpotVqoVKpDNSHlcPY7tAiUy+UQRXFNk4ZGo8HmXrsxHsnlchgMBjQaDdTr9V17Hw7nsKBUKiGKIgwGA+x2O5RKJcrlMgRBYNYNwJM5Tvu6SpIk1Ot11Gq1Q7eG5Ykfzo6h1Wpx+vRpuFwuZLNZJBIJlMtlBAIBrmLYIVQqFU6ePAmPxwOHw4EHDx6g1WohGAwin88jHA5jeXkZlUoFpVKp04d7KFAqlbBarZAkCfF4HDMzMygWi5vqpqNUKmG326HVavHmm2/i61//OvL5PB48eIBMJoP5+XmsrKywpB3n8GG32+HxeODxeNDb24uuri7MzMzg6tWrO/KZC4IAt9sNt9uNvr4+9Pb2wmw2Y3x8HFeuXEGhUEC5XN7Sa/f29uLcuXMwm80YGxtjZuSdNJBXqVQwm81otVpIJpNYXl5GqVQ6tAlvvV6PCxcuwOfzwWKx4Pbt24jH44fGq4nD2e+IogibzQaNRgOv14uenh7odDp4vV7odDosLCzg8ePHrAQzn8/v6Pt7vV7823/7b/Ho0SPMzMwgnU5jenqaz/U4nHVQqVQ4d+4c+vr64Ha74XQ6IZPJUK/XodPpEI/HWQJoYGAAFosFer0es7OzKBaLmJiYQCKRQDqd5okfDmc9lEolBgcHMTw8zBIQ2WwW8XicJ352CKVSycxaC4UCSxak02lUKhVEo1Gsrq4emha/+wGFQgG9Xo9Go4FcLodgMLjp1xBFEWazGWazGcPDw3jzzTexuLiIK1euYGVlBcFgELFYbBeOnrNfMBqN8Pv98Hg8zCy8VCrh0aNHO1IuJQgCLBYLuru74ff74Xa7odPpkMlkMDk5ua2Ji9vtxttvvw2j0QiLxQKVSgWNRrPtY94OdF/WajXkcjlEo9GOHs9uo1arMTY2hhMnTiAUCmF2dpaVuHE4nN1HJpPBYDAwjy1Kho+OjsJiseDmzZsAgGg0ikAgsOOJH5vNht/5nd/BL3/5S8jlcgQCASwuLvIxgMNZB4VCgcHBQZw7d46poFutFmq1GlQqFVPdy+VyeL1edHV1MSPnbDaL+fl5xOPxTp/GjsMTP5xto1arodfrYbVaYTQaodFoUK/XEY1Gkc/nUavVOn2IhwYqFbJYLMjlclhdXUWlUkGxWEStVkM+nz9UmelOIZfL0dXVBbPZDIfDgXg8jkqlsmXFhEajwfDwMNxuNxQKBebn57G8vIxYLMaUcZzDiyAIrMOW0WhEOp1GtVrdUTN2QRBgtVoxMDAAk8mEeDyORCKxZUWIQqFAV1cXTCYTurq60Gw2WTcwURQ7cs2Kogifz7fmviyXy6hUKnt+LHuF3W6Hz+eDw+FAf38/vF4vIpEIVldXkclkOnrucrmcKSDy+fyh2xnlcIAnSXuHwwGdTofh4WHY7XaWXFcqlUilUshkMlhcXMTS0hIb33eaarWKubk5zM/PY35+Hslkks+vOZxnMJlM8Pl8MBgMsNlskMvlrByz2WxieXkZ4XAYgUAAzWYTKpUKVqsVbrcboVAIwWAQhULhUBo7Azzxw9kBzGYzent7YbPZ4HK5YLFYUC6XMT09zdzTOTuDXC6Hw+FAT08PFhYWcOfOHRSLRVbe0Gw2D22pw15CEtHjx4+jXq9jbm6OdUbaCmazGR988AGGh4exuLiIy5cvIxgM4tGjR0gkEry86zWgq6sLb7/9NhqNBubn55HNZhEIBHbsfpXJZOjr68PXvvY1FAoFzM7OIpPJIBKJbGkxrtFocP78eYyOjkIURdTrdaZ6kyQJ6XR6z8cajUaDt99+GydPnkQoFMLMzAzy+TwKhcKeHsdeMjAwgO9973twOBw4d+4c3G437t+/jzt37jBPt06hUqkwPDwMr9eL+fl55HI5PpZxDh0ejwcXLlyAzWbD2bNn4fV6oVarodPpUCgUcPfuXUSjUdy6dQvXrl1DrVbblfsyn8/jiy++wJUrV/Dll1+i0Wgc2sUph7NVurq68J3vfAcWiwUGgwFKpZJ5o1arVdy4cQN37txh96nJZEJPTw+OHj2KaDSKhw8fHuq1K0/8cLaNUqmE2WyGwWBgpliNRgOVSoXvRuwQoihCpVJBp9NBFEVmPFYul7laZBeQyWTQ6XSwWq1IpVKIRCKs5fpmUCgUTFJKbdxrtRpisRiSySTK5TK/Rw4xgiBAFEWIogi1Wg2NRoNyuYxcLrejZTpUp67RaKDValEqlZDJZNg1thlkMhkUCgVb2Oj1ekiShFarhWazydSFpVJpz9QdMpmMxdBgMMBkMiEajaJQKKBQKBzKCZooipDJZDAajXC5XLBarRAEgSkPS6VSx9Q+ZGyrVquhVquZgSY3muYcFmhMVSgUMJvNsFqtsFqtrGSb5mCVSgXpdBrxeBzpdBqlUmnXkp/1eh2RSATpdHpLDSY4nMMM3a9GoxFGoxEGgwEqlYo1HCqXyygUCsjn80y5TI0SZDIZM0vfahOMgwJP/HC2jd1ux+nTp6HRaNBsNhEOh3e0Uw3nianfmTNnYDAY0Gq1MDs7i1gsxtU9uwQtuJxOJ8LhMG7fvo1MJoNUKrXh1xAEAQMDAzh+/DhsNhurHZ6cnMTVq1dRLBa599UhR6VSoaenByaTCU6nE/V6HZlMBhMTE1hcXEQmk9mRe1ir1eLEiROwWCyoVCpIJBK4desWwuEwEonEpl7LYrHA7/dDr9dDJpMhkUhAq9VCr9ejUCjg1q1bCAQCSCaTe+YlRjtyRqMROp2OlcktLy+jUCgcOo8LURThdrthNBoxMjKCkydPQpIkfPnllwgEArhz505Hk11WqxV9fX1QKpUQBGHLnQ45nP2KRqPBxYsXMTAwALvdjp6eHmi1WjbPXVxcxOTkJFKpFMbHxxGNRpFKpXZ1TMxms/j5z3+OWCzG7zUOpw2lUok33ngDw8PD0Ov1AIByuQy9Xg+DwYBgMIipqSmWpAWerKvGxsag0WgQjUaRzWaxuLh46NdVPPHD2TZ6vR4+nw8KhYLtwpbLZf5g2kHMZjNGRkag1WpRLpdZG+jDPkB1CkEQoNFoYDAY0Gw2sbS0tKUyL6fTiaNHj0Kj0aDVaiGTySAUCmF+fp4bcL8GUBcYl8vFDMJLpRJWV1exsLCwY+9Dfjx6vR7NZhP5fB7Ly8tYXV3d9GtpNBp4PB7Wrr1UKkGhUEAmk7F7YXp6eseOfaPHRIkQlUrF4nhYzY1lMhlMJhPsdjvcbjd8Ph/y+Tzm5uZw584dhEKhjo79Op0OXV1dEEUR2WyWqY/4M59zWFAoFMzAWaPRQK/XQ6FQQKFQQJIkJBIJ1vVncnJy0wn2rVCpVDA1NbXr78PhHDTkcjm6u7tx+vRpptqp1+uQyWRQqVSoVCqYn59HKpViputGoxFDQ0OQyWQIh8OIRCJIpVKHfl3FEz+cLaFUKtHf3w+73Y6uri620zE3N4dkMolwOHzob569hBY+CoUCd+/eRTAYRDAY5MmDHcZgMMDj8cBoNEIulyOZTG7aMFulUrFF+NDQEHw+H/O8ymQyWF1d5ffGawIlZHp6eqBQKLC6uopIJLLjMmJqR9pqtbC4uIhQKLTlEkK1Wg2n0wmtVstk0qVSCaVSCdlstiPlRVqtFn6/HxqNBpFIhJmoHlY/GaVSiYGBAdZiltRhwWAQ0Wi040l/KvMCgFwuh3Q6zRsLcA4FDocDQ0NDsFgsGBgYYOawCoUC9Xod09PTKBaLmJ6exvLyMnK53KE2l+dw9jPUNIO8Zs1mM+r1OhQKBZrNJmZmZlAoFBAKhRAKhVAul6FUKmG1WlkZe61WQzweRzKZ3NGGG/sVnvjhbAmtVot33nkHJ0+eRCqVQigUQiaTwc2bN1lCgicldg6DwYCBgQE0m038+Mc/xtWrV9FsNg/twqdTOBwOXLhwAUajEaIoYnV1ddPybZ1OhzNnzsDv92NkZARjY2OYn5/HlStXMD09jVqtdugfLJwnqNVqHDlyBEePHsXc3BwePHjAymJ2Ep1Oh7Nnz2Jqagp3795FJBLZ8mJEr9ezsoZSqYR6vY5EIsHaE+90i+KNYDabcfToUQiCgB/96EcYHx9Ho9E4tP5YarUa586dw6VLl5BOp3Hv3j3EYjFMTU1hfn4erVaro2OIKIpMwRaPx7G8vIxWq8UT2pwDT09PD377t38bdrsdHo8HJpNpjZ/i1atX8fjxY8RiMaysrKDRaPC5LofTIdxuN7797W/D7Xaz5kK1Wg3VahXZbBYff/wxrl+/jmaziXq9DlEU4XK54HQ6YTKZ0Gw2USqVmEL6dXiOHdjEj1wuh1KpZAZrfODdG0RRhFKphF6vZ8af1Moyk8mgWCzy3Y8dRKVSrdldlSQJ1WqVx3iXUCqVsFgsMBqNqFQqKBaLL91dJ/NeMp8VRREWiwV2ux12u51JTOm1uKfP6wGZeut0OtZRotFoIJPJ7ErnI7oOq9UqUqkUcrncpp6JgiBAp9NBpVLBbDZDq9VCrVYzI2cypC4UCnuWbBYEASqVCgqFgpkv0u7cYSzvAsBMtU0mE3vGJhIJRKNRxOPxXTWO3SwymQwA+AYE58BD459arYbD4YDdbofVaoVKpWKG6vF4HKlUCslkkpWL1Gq1Q79I5HA2C5n+A0Amk9m191CpVLBYLHA6nbDb7VCr1WyOkE6n2Vf7ZpUgCFAqldBqtQCedMqjdethbBKxHgc28WM2m9HT04NWq4Xl5WWk0+lOH9Jrgc1mYzJYu93OzD9v3bqFYrG4azf564hCoUBfXx9cLhc8Hg/S6TTvArXLmM1mnDlzBmq1Gj/+8Y9x584dNsFbD1EU4fV6YTAYYLPZ4Ha7YbVa8fbbb8PtdiMQCODy5csIhULI5XJ7fDacTuHxeDA6OgqLxQKVSoV8Po9AIICJiQmUSqUdTwA2m01ks1ksLS3h7t27LNm4UdRqNS5cuIDh4WE4HA50dXUxA1OSSM/NzaFare5Z0kUURYyMjMDv98NmsyGdTqNSqRzapA/wZPfy5MmTsNvtcLlckMlkWFlZwd///d8jk8kgGo12+hABPEn6yGQyyOVylgDicA4qKpUKFy9exNjYGPr7+3HkyBGoVCoUi0Xk83mMj4/j448/RiaTQSQS4UkfDucFCIKAwcFBHD9+HHK5HH/2Z3+24+8hl8sxMjKC4eFhDAwM4MyZMzAajQiFQojFYpifn8fnn3/OrBWe/b80x4nH47h27Rqq1eprlUN4ZeJHEIQ/AfAdADFJko49/ZkVwA8B9AJYAvBbkiTtadQ0Gg1cLhdarda+mQztBZ2OvUajQVdXF8xmMzQaDQCw+snDPCHvRNxlMhmsVit8Ph/0ej1rRfg6JX72Ou5kbKtUKpHL5TAzM/PS35fL5Szp4/V6mSdHT08P7HY7VldXsbS0hFgsduDaQ3Z6rDnIGAwGdHd3Q6/XQxRFVCoVZLNZRCKRV96/W4m7JEmsrfBW/NVEUUR3dzdOnjzJFCelUol1z0qn00gmk3uq7KAJWl9fH/MZKhaLu3YM++F61+l06O3thd1uZ+bamUwGjx8/7kiJ3Yugtu070b59P8T9dYXH/gmiKKKnpwdnzpxh6gGZTMaUAKFQCLdu3dqxzRse987A4777CIKARCKBn/zkJ6y71tOf71js5XI5XC4XhoeH0dPTA6/XC61Wi0gkgkKhgEgkgvv3768rRJDJZNBqtTCZTIhEIlhdXX2t1lTAxhQ//zuA/y+A/6PtZ38I4JeSJP0nQRD+8Onf/9edP7y1KBQKDA8Pw+12sx1VAPD7/Ugmk6y9YqflWjKZDAaDgcndaAJHE9Z6vc6+UqnUmgWhQqFgEtNmswm1Wv1s95dtx16lUsFqtUKpVEKlUkGpVLLkzatuAKPRiL6+PqjVaszPz2NiYgIzMzPPTcbNZjMrdTGbzVCr1RAEgcWhXC6z9tbhcPggeJ7s+TVPg9vQ0BAkSUIwGEQul0O5XN7Nt91v7HrcZTIZq/d1Op3I5XJM3v0i7HY7fD4fk5pqNBp2H4miiFwuB6VSiVAohNnZ2Y6a4lIdczab3WzyqSPj/GHAYDDA7/dDFEVEo1GUy2VEIpGNJmQ2HfdyuYypqSnE4/FNjaV6vR5Op5MpaLu6ulAoFLC6uopsNsvq3rPZ7J7vblPi2+/3M3+bfD6/mztzHb/ezWYzxsbGoNfrEQ6Hsby8jLm5uX1XSlWv11EqlVCr1Xbi2Doe99eY1zr2NO5ZLBaMjo6it7cXSqUS2WwW5XIZ165dw/z8PPPm20Fe67h3EB73XUKtVqO7uxtGoxG9vb04f/48/st/+S/tv7Lt2Ot0Ovh8PhgMBpw4cQLHjx+HUqnE4uIiGo0Gbty4gcePHyMQCLxwrluv17G6uopSqYRoNPpa2sS8MvEjSdIXgiD0PvPj7wF49+n3/wPA59iDm0etVuP8+fN466234HQ6MTAwwDrvlEolfPLJJ5ibm+t44kcul8Nut8NisTAlgFwuR61WY0ZS+XwehUIBlUplzQWqUqnQ09MDs9kMs9kMuVyOpaWl9pffduy1Wi36+vpgMBhgsVhgMpmwsrKCVCr1yocbmWy2Wi18+umnuHnzJjPNasdut+PkyZMwGo04cuQILBYLk4fXajUkEgkUi0V8+eWXiEQiByHxs+fXvCiK6O3txalTp7C0tITbt28/V6/6GrDrcZfL5ejp6cHg4CCcTidSqRQzc3wRbrcb77zzDhQKBarVKjN4pAVyKpUCACwtLeHevXuoVqsdkYUbjUb09PSgXq8zw7tN0JFx/jBgNpsxPDyMcrmMiYkJLC4ubkaJs+m4FwoFXL9+HcFgcFNjqclkwrFjx+BwODA6OorBwUFMT09jdnYW8Xgcjx8/xvLyMiRJ2vPrVy6Xw+12Y3h4GKlUCjdv3ty00fom6fj17nA4cO7cOcjlcvzoRz/CxMQElpeXOz6neZZarYZsNotGo7ETiZ+Ox/015rWOvd1ux6VLl+B2u3H27FkcP34cqVQKS0tLiEaj+Pjjj1kjjR1O/LzWce8gPO67hF6vx5kzZ+Dz+XDp0iX09PTgj//4j9t/ZduxN5lMOHPmDNxuNy5evIg33ngDoVAI165dQzQaxaeffor79++vuyYlarUaZmdnWZMEnvjZOC5JksJPv48AcL3oFwVB+AMAf7DF9wHwKyNnrVYLo9EIi8XCdtepvlylUsFgMDCVyct8OV6GTCaDWq2GTCZj7t6tVgv1ev2VE2qVSgW9Xg+VSgWHwwGbzQa9Xs9er131I5PJoFAo4HK5oFarUSgUmFrAZrOxXVjgOTn1hmLfHneSzJOJlVKphMPhgMViYYmfVqsFn8+HTCaDbDa7xoNCEAQYDAZmVkqLyFKptEbFQBI6hUIBk8nEDEJpEa3RaJjhl1wuP2j+AJuO+3Yhw1alUolWq4VsNotsNrvvFgG7zK6PNTKZDHq9Hjabjd2LlUqFjR9kuCqXy5nZttlshiRJaDabTA5O6j6NRoNCoQBJkpDP5/fMfJ4MheVyOTQaDRQKBTweD3p7e1GpVNj4Ui6XN+oxs+lrXiaTwWQyoVwuv3YG5O3jn0ajQavVQqPRYD4R1Wp1o0mZTcddoVCw99gIoiiyMkWn0wmbzQZJkpDNZpHP51mZl1KphMlkAvCknIyME6lr424oURQKBXQ6HYxGI2QyGTOzr1aruz327em8hpDJZDAajdBoNDCbzWwymsvl2KbWftsYqdfrLMlNn4koilCpVKwBwSbGvI7EnQOgA/Oa/QCZxpvNZrjdbrjdbqhUKpbQXF1dRTQaZb6KuwC/5jsDj/sOQ89q8s3p6uqCXC5HJpN5dn6w5bHGYDBAp9PB4/Ggq6sLTqcTgiAglUohkUggHA4jFottWFn/uned3ra5syRJkiAIL5yVSJL0AwA/AICX/d7L0Ov18Pl8sNls6O/vR29vLxYXF/HZZ58BAI4cOQKn0wmPx4Pf+I3fQDKZxOeff46VlZVNv5dOp8PAwABrZVsul1EqlRCJRF456fR4PLh48SKMRiO8Xi/MZjPy+TzzRqALjS5imUyGU6dOQZIk3LhxA1euXIHRaMTXvvY1jIyMwGAwoFAo4L/9t/+27vu9LPbtcfd4PNI//+f/HFeuXMGNGzdgs9nw/vvvw+/3w2w2s85ctNvx93//97h9+zZ7LZVKhTfffBNDQ0NQKpWYmZlBoVB4rt5Zo9Hg5MmTrGzGYrGg0Wjg4cOHqFQqzDSvVquxDjEHzfcE2Hjct3q9tyOXy6FQKJDL5TA1NYV0Oo1CobDdlz2Q7NZYI5fL0dfXh7feeoupHDKZDFPt2Gw2dj8ODAzAarUilUohGAyiVCphcXER2WwWly5dwnvvvYdarYaJiQnE43HMzMzs2QPGbrdjaGgIRqMRo6OjcDgccLlc6OnpQT6fx/Xr1xEKhfDgwQPcvXt3U8e10WvearVKH3zwAR4+fIjHjx/vuwXrbqJWq3HixAk2OUkmk0in01hdXcXKysqGNg+eZaNxl8vl0vLy8oY2O6iEymg04ujRo/jggw+g1+sRCAQwMzODWCyGUCiERqOB0dFRnDx5kt4PtVqNlX5ls1kkEokd/4ydTifOnTsHo9EIAHj48CFWV1f3tNxpL+Y1hFqtxte//nUcO3YMdrsdwWAQ+Xwejx8/xuPHjzumFnwZyWQSDx48YMlt4Mk42dvbi2q1ysbEzbKXceesZS/nNZ1ELpfD5/PB4/Hg1KlT+Oijj2C1WpHJZDA9PY27d+/iRz/6EVtQ7jb8mu8MPO7bRxAEHD9+HO+99x6cTifOnz8Pu92OiYkJ/PVf//ULy7I3M9bI5XKcOXMGb731FtxuN86dOwedTofx8XFcuXIFkUgEd+/eRS6Xe60MmrfDVhM/UUEQPJIkhQVB8ACI7eRBPQu1WLZarSxRUa1WMTc3B0mS4HA4YDQaodVq0d/fD6PRiJs3b27otZ81J2xv50w+HaS8eFHih7xrjEYjuru7YbVa4XK5YDAY2K5BO+QLolAoYDAYoFAosLy8zNp2e71e9Pf3Q6fTIZ1OP3uMm469Wq3GyMgIpqenmRrA5/Ohv7+fJaFIRZVKpXD9+nXWOleSJIiiCJfLhcHBQeRyOUQikef8QgRBgEKhgMPhgN/vh0KhYC2Mk8kkMpkMrFYr8zaqVqusROaAsKfXvCAITCUmCAKq1SqL42ZegzjAC/BdjTvd22azGS6XC4VCAZlMBslkErVajak4XC4XzGYzBgYG4PV6MTU1hcePHyObzbJ7vNFowOVyIZ/PI5VKsW6DFPv1jFB34nOha0Sr1TL1BnVDovsxl8shHo9DoVAgFApBJpNtJPGz6dgrFAp0dXU9W576WkAlvn6/Hzqdjpmx09d6CIKw3jWw6bi3Wq2Xvkf7+7SbG9psNvh8Pmg0GszNzbGkTrlchkwmg81mg8ViYc+C9q5adH/sdGKTGggYjUaUy2XE43Hk8/m9SH7s6RhPiKIIn8+Ho0ePotlssvEjlUrt6ET22fFnO2PPel3jNBoNrFYrarUaAoHAZl5uz5+t633fDsVmPz83n72vt3isHbnmOwkp2B0OBzweD7q7u2E2m9lzPxAIYHJycrcXka9d3PcJPO7bpN3Yn/wxx8bGmP2K2WzGnTt3MDMz8+zG/pZiL4oi3G43RkdH4XQ6mQ/Xl19+iUePHiEej2NxcfFQNxfaabaa+PkpgN8H8J+e/vmTHTuidbBYLDhz5gysVisqlQomJycxMzODxcVFlkiYmJiA3+/H2NgYJEmCSqV65etqNBr09PSwziuiKEKv16O7uxtarZaVI8XjcWi1WuRyOSQSiTWLb6VSiVOnTqG3txcGgwEymQzZbBYLCwsolUosC0m18JIkwel0olAoQKfTwev1QqfTwe/348MPP2S79JQMun///rMT3k3HnnZqBwYG8NFHH6G3txdWqxVyuRyzs7OIRqOQyWQsudXX14evf/3ryOfziEaja0rXUqkUpqenkc1mmeLH4/FgYGAAer0ebrcbarUasVgMgUCALR5IAVUqldjOSjKZPCj+PsAeXvMmkwl+vx9GoxGtVov5L21mgUVGa3q9npWakIz5gJWK7VrcHQ4H22WnB1e5XEZ/fz+bFJZKJVbCKQgCxsfHcevWLUSjUSwvL6PRaLB71m63o1aroVgsIhaLMTNu4InXzvHjx2E0GlGpVFAul5HP57f9wNJoNHjjjTfQ19cHk8kEh8MBnU7HytZqtRqCwSASiQR7GC8vL2/0Wtp07EulEu7cuYNoNHpQ7usdgyYofX19SCaTmJubQzqdfu7zVSqVsNvt0Gg0sNls0Gg0uHPnTnviZtvXvFqthtPphFqthsPhgNVqZR26ZDIZRkdH0d3dDZPJhGAwyMZ/kmqPjIwAwHMJn1arBbfbDZvNxlRD5XIZ4XB4W9exIAisTJJKL3Q6He7cuYP5+Xnmu7XL7Om8hpDJZDCbzfB4PJibm8PVq1eRTCZ3tFupXq9Hf38/NBoNK5srFouIRqM75l1CvlbFYhFzc3NIJBIb/a+7HneKsV6vZwlyKimk8l2lUglJkpDL5VCpVBAIBDA9Pb2vNqcoYavRaNgcgZR3lUoFkUhks/dhR675TiKKIoaGhnDp0iV4PB5mb3DlyhXcvXsXS0tLe1Gm/NrFfZ/A474N7HY766BF48+pU6cwOjqKVquFO3fuoFQq4auvvsLKysqzz5ZNx95qteK73/0uzp07h8HBQdTrddy4cQPFYpHNDYrF4kFb03ScjbRz///hiSGTXRCEAID/J558cH8pCMK/ALAM4Ld28yDtdjvOnz8Pk8mE+fl5LC8vY3Jykn3oMzMzEAQB3/72t3Hp0iVWa/4qdDodjh07BrfbDY1Gw3wxKBHkcrlgs9nY7lU8HsfDhw/XJH5UKhUuXLiADz74AIlEAgsLC0in07hy5QpmZmbYxBn41Y6M3+9HrVZjKiWZTIaenh4MDQ2x5IlKpcK/+3f/Dg8ePEC9Xsd2Yt9qtVCr1TA8PIyjR4/CYrHAbrdDoVBgamoKV65cgc1mw9jYGDQaDYaHh9Hb24tgMIjx8XHIZDK4XC44HA48evSIxYASUl1dXfjggw+Yn0+z2UQ8HsdXX30Fi8WC73//++jv70e1WkWhUEAikcDDhw8RCoXQarX2+wLxxNNY79k1b7FYcOrUKRgMBrRaLSwuLiIWi21qx1uj0WB0dBRerxeRSATBYBCFQgHlcvmgDJK7Hnen04mPPvoIXq8Xo6OjcLlczJi5Wq0y341EIoHFxUUkk0lcu3YNCwsLzPtLp9PhzJkz8Hg8cDqdrIwxFAphdXWV3f9msxnvvvsuent72W5+IBBALBbb1oJZq9XiG9/4Bt5//33UajWm1KBjb09CXbt2DRMTE+zYX8R2xhoyGX4d66cVCgW8Xi8GBweRzWZZyeCzShylUgm/3w+r1co6xjy9Bnbsmtdqtejt7YXFYsGxY8cwNDSEXC6HxcVFAMDbb7+N0dFRhMNhZj5ut9vR29vL6vWbzSZbwDcaDVQqFchkMnR1dUGr1SKVSjEzdPIF2iqkmLXZbPB4PPD7/ZDL5YhGo7h169Zum0vv+RjfDpXe+Xw+3L9/H5988gkrD98pjEYjzpw5A7vdjnQ6jWw2i1gshnQ6vWOJH+qMlMlk8NVXX23o/+xV3GUyGRwOB0sqUuc0KktXq9UwGAxoNBoIBALIZDK4evUq5ufn91XihzYJLRYLM1BdWlpaUwa+wfuwo9d8JxFFEaOjo/jwww/RaDSQTqeRTqfxy1/+Ej//+c+ZN9su8drGvdPwuG8fu92OM2fOwOFw4NKlS+jq6mLjajAYxN/93d9hZmYGn3zySXup75aveYfDgX/xL/4F21idnZ3F3/zN32B1dRUPHz7E4uLiQVhD7js20tXrd17wTx/s8LE8Bxmw6XQ6qNVqKBQKZLNZBINBpNNp1Ov1NYuYWq3GfBRo17tSqaBYLEIQBCiVSsjlctZm3Wg0Qi6Xs2RFqVRiuz5qtRqNRoOV2zzr/q3RaGC322E0GqFSqVAul5HL5dhkqlAooFarsZ0kuVwOvV7PdnvVajVEUWQPGTKmJpPOQqGA7373u9DpdLh9+zby+bxvq7GXJAmNRgMmk4m1cc9kMmg2m4jFYkgmkwCAXC6HZrMJpVIJvV7PFAQA0Gg02CKGYkwTJqvVyj4fMnxWKpXweDwwGAysNXY2m0U6nWa7UwdkcTghSRJZ0+/6NQ/8qtxQp9OhUCggnU6zz0sul7P24TKZDHK5HI1GA/F4HOVyGUqlEhqNBiaTCWazGSaTiZUsiqL4Qmn7PmTX405lj1qtFgBY+WGtVmO74jKZDKlUCrFYDJlMhrUwJkg2TqWbdN+bTCa4XC4olUqoVCq43W4YDAYolUoYDAbI5XIUi0WI4sZFl1TOpVKpmJG01WqF1+uFxWJBtVqFKIqQJIkpIZPJJMLhMMLhMAqFwoYmtJIkbXmsAbCvFkrrQQb+9Pm3GzFLkgS5XM7GfHrGvMyPjBRhFosFwJPriDo3FotFNs5RYwKDwcAUkF/72tcwNDQEmUyG3/zN39zWNS8IAiwWC+sI2dXVxa5DUoDR2K3X61ksFAoFJEli12qlUmG7dYFAgCV2kskka3pAz0etVotqtQq5XL6FT2LtsRsMBrhcLlbKDWCvnhN7PsYDT+YQVMIuCAIymQwz6H5Vcl6j0UCn06HVajED+fWg8niHwwGNRsPmIzSObLe5giiKsNvt0Ol0MJvNKJfLKJfLz31mZCSuUCiYujoSiaBWq+1Y3EmxTa8viiK7vhUKBfr6+uB2u2E0GqFUKgGAdcmkxhXAE+Pq9vG1WCx2dFe5fe5K9zOpfuRyOXQ6Hex2Oyu33yAdueY7iUqlgtVqhclkgslkgiiKyOVyWFhYQDKZ3FBX2x3gtYv7fmG3405WHXRP0j1LczxqhlCtVpHP59FoNPas8cdWoKZKtHZVqVTw+/0sCWM2m2E0GtFoNBCJRJjBciwWg81mQy6Xo4TMlq95arxSrVYRiUQQjUYRj8eRSCTWfc6o1WoolUrU63VUKhWeEHoB2zZ33i2olavdbkd3dzeMRiMEQcDU1BQuX76Mcrn83CBdqVSQSqUgSRJGRkZgNBoxPz+PR48eQRRFeDwe6PV69PT0oL+/ny2YA4EAotEootEojEYjhoeHWSt1MlimXQGakPb09OA3fuM3YLFYUCqVmET05s2bKBQKLNtJk3yDwYDTp0/D6/WyDjvkj1AoFDA4OIg333wTmUwGv/jFLxAIBHD37l08ePBg210FqPPQ0aNHcfr0aYRCIfzTP/0TIpEIbty4gcnJSdZdjOTaDocDWq0WBoMB1WoVuVwO165dw+zsLJsYnT17Fr29vbDZbNDpdKjVaohEIkilUnA4HPi93/s9NJtNVvawuLiI+fl5VCqVTXnVvG6YzWYcO3YMKpUKP/7xj3H79m12vet0Onz961/H8PAw63KXSqXwwx/+ENPT06zO1mq14siRI3A4HKjX64jH48yTg/MEURSh0+mg1WpZwiYcDrMd34cPHyIYDLKHSKPReM6wVKlUor+/H0ePHkWhUMDc3BwajQbOnDmDEydOwOv1oru7my2YBUFAV1cXzGbzmqTTRo93aGgIfr8fvb29OHfuHMxmM0ZHR+F2u1mSu1gsYmJiApFIBJOTk7h+/ToKhQJiMV7ODjxRw/T09MBgMODIkSPo7+9HrVZjyVW1Wg2VSoVSqYREIoFSqYT79++/0LfI4/Hg9OnTMBgMaDabWFhYwNLSEpaWlth9KwgCTp06hW9961vQarWwWCxQqVRwOp1wOp07cl/K5XJcuHAB77//PvNbUalU8Hg8cDgcaLVaOHXqFHseZDIZ1Ot12O12tFotphK7e/cufvKTnyCfz6NSqaBer7NJKi0uZTIZxsbGcPbsWZZM2A6iKOLIkSM4f/48Go0GVldX2TEeVrq7u/Htb38bJpMJzWYT169fx9zc3IYSDN3d3Th16hSKxSJu3ry57r0tl8vx9ttv48MPP0Sz2WSfN3UaLZVK207YGQwGfPe738WxY8eQSqUwMzOzbgMCvV6Ps2fPwuFwwGw2w2azPdvqd9uYzWacPn2abXBRZ1HaaHO73bBarYjH45idnUUmk8Ht27exuLgImUzGlJLf+ta3MDw8jK6uLpw/fx6ZTIaZ9XcCuVwOl8sFo9GIkZERXLx4kSV9KpUKrFYr7HY7IpEI7t+/j2Aw2JHj3O94PB58+9vfhsfjweDgIGq1GmZmZvDHf/zHCIfDiEQinT5EzgFGr9djcHAQBoMBx44dQ09PD+vUCDzZWC+VSpibm8ONGzeQy+UQjUaZOf5+Q6/Xs3HnjTfeYN20uru7odPpmL3JxMQEbt68iXA4jKtXryIYDO5Y0kUURVgsFoyPj+PBgwcIBAK4desWksnkc+tiMm13uVxIJpNYWFjYi0TugWTfJn4EQWA7Ynq9HnK5nE1eQqHQuv+n2WyiUqlALpfDaDSi2WwikUgwEyq9Xg+z2Qyn0wm/38/KIEqlEtLpNCKRCCqVCpuIU0tbMjKkxR/wq5vcYrFgcnISqVSKedaUy2UIgsDURdThqru7G93d3Ugmk0ypRAtC2o2oVqtIJBJYXl5GOBxGOp3eEYm7JEnMU4L8A1ZWVphCSaVSoVAosAm8SqVi5oGVSgWJRALRaJS1cFWpVMzIlHYSybS5UCigq6sL3d3dKJVKTC0Rj8cRDAb3XYeS/QTt7lksFoiiiFKphHA4zK5htVoNj8eD/v5+tiNJCUu63mjX32AwMJUJTWxf9J70J5lFduozomPZ7Uw9xZN2oOk+z+VyyOVyyGazWF5extzc3Etfh8Yam83GlB7Akw43SqUSvb29GBwcRLVaRSgUQrlcZoty+sw2CrVKp05dJ06cYIscjUYD4MluNZkKJxIJBINBzMzM8AfgUyhxQWMyGelXKhXE43HU63Xm+0EK0Hw+z0py20t3Ca1WC7fbDa1WyxQYVHJBSR9RFGGz2TA4OAitVsvGTFJk7ETiR6FQwOVy4ciRI1CpVOw9aLFNY0Cr1cLy8jLbkVOr1czEXxAEZLNZTE9Pr0m60P0CgEmr/X4/1Go188Nr/731Spyf/Rza1YdksE6eG8lk8iD6kW0KvV6P3t5emEwmxGIx1jTh2bGXYkXxkslkbEMpn89DrVY/ZxJOu7VOpxNHjhxBoVBAsVhkqkBRFKFQKF6pAG1/b3qP9vdRq9Xw+/0YGRnBo0ePWHljs9lkamn6PZvNBpfLxZKd200WUiyefQ+LxcKSPEajkZmX01yy1WphZmYG5XIZq6urmJ6eZq9ntVrx9ttvs/mn1WoFgB051q1A80itVssSZhS7XC6HarUKg8EAs9mMarXaseN8FXv1XH/Re9P8v6+vj20A1+t1pNNpzMzMvHBNwdl7OnmtbIf2JkTd3d0YGhqCVquFzWZjrceLxSJqtRqmp6fRarVYtcVu0v7ceHa8by+Tam9CIggCVCoVUylTMyCLxQKn07lmfkEl5JFIhK0nd/LY5XI5stksFhcXEQ6HkUgkntuApbk8Ka9Jrb8T7/8sL5rPbOT3dpv2ecLL1nD7NvEjiiIGBwdx+vRpaDQaTE1NoVwuv/RGqVarLImhUqnYrjo9xMfGxuD3+9FqtRAOh5mMXKlUYnR0FMePH2eTB1EUsbS0xNz95+fnUSqV2MKOOnPRoosmYwMDA2i1WixTSt0DZDIZYrEYk6qtrq7CZDLh/fffR09PD3Q6HZaWlrC6uoqpqSlMT08jHo/vyMWj1Wpx4sQJKBQKLC4uYnZ2FpOTk1hZWWHxbB+0ZDIZS17p9Xp27FNTU8hms0zi73a72W45xcVqtUKhUCCZTOLv//7vmQqoWCwyNRbneQRBgMlkgk6ng8PhYKVz1JXJ4/FgdHSUTUap7IKuvyNHjjCfDIVCAblczhZgmUwGi4uLbOLfDu2EktrLYDAglUrh0aNHe+6ST+VpgiDsWlcoKocxGAzw+XxwOp0wGo24fPkyHjx4gHw+zxLA1M79ZVAnJ5/PB71eD5vNhnq9zsovpqam8MUXX7CdC5LOkv/OZhJsMpkMFouFyW2pxDIajaJcLmN+fh63bt1CoVDA8vIyS5LvVynxXkMlUG63GxcvXoTVakWj0cD8/DxbAFCZqiiKMBqN8Pv9MJvN6OnpgSAIyOVyCIfDa8rZ9Ho9fD4flEolVlZWWMKit7d3jdL0yJEjaDQaLCFEilK1Wr3tSYrFYsGHH37I2mmTpJySS5TcqdfrzAsqn88zGXe1WsXNmzextLSExcXF58xNqXECNVKIx+OQyWRQKpVrEgjkVVetVhEIBJgCrV0BIpPJ4PP54Ha72QaIUqlk41CpVMKDBw+QTCY3YxB84KBdU61Wi7t37+LevXuIxWLPJbtcLhcGBgZYUl+j0aC3txejo6NIJpNMsUKNJKxWKy5dugSXywW32435+Xkkk0ncvHkT+XweIyMjGBgYQCqVemHimZoyGAwGWK1W9Pf3QyaTIRqNolgssjJjo9HIFEvJZJJ1cunp6cHg4CD0ej0r95YkCaFQCIVCAclkctsGujqdDsePH4fBYGCli1QSQN3g/H4/BgcHoVKpcPnyZab0WVlZYRt/7dRqNZbsD4VCmJ2dZU069hqtVgur1Qq9Xo+LFy9iYGAAjUYDU1NTrAwzn8/jyJEjOHv27L7skkrPLIPBgFKphGQyuafPI5lMhsHBQXR3d2NgYABHjx6F2WzGzMwMrl69isePH/NuQPsIo9EIr9cLAAiHw88t8PczZrMZZ8+ehd1uhyRJmJ2dRbFYRCKRQKvVYs/6VquF8+fPI5fLsWqS3UKj0bAy3+7ubrhcLrYp0Gg0WMKGGvnIZDL09/fDbrezpj1kuUKKOJPJhFqtxjbKbt26hfHxcWSzWRSLxR09flK03rlzB/fu3UOhUHjuuUHNWajcmOYz21WzKhSKNXMnmj89WxKqVCphMpmgVCqZjUyxWEQoFNrzDVe73Q6n0wlBEPDw4cMX/t6+TfzI5XL09/fjzTffRCQSwcTEBNLp9CsTP5lMBlqtFgqFAmq1ek3iZ3R0FGNjY5iZmcHU1BQajQZL/Bw5cgRHjhyBJEnM6+NnP/sZLl++vG5WtD1RQkbSBoMB/f39UCgUOH78OLq6uthxFAoFfPbZZ1hYWGAdgbq7u/Fbv/VbOHnyJJuMLCws4NGjR5iamtqxJIlGo8Hx48eRSqWwuLiIubk5PHr0CMvLy+w9FAoFzGYzLBYLS/xoNBo2oaLED8VAFEXWWi+RSKBYLEKSJNhsNhiNRty6dQuff/45arUau2l40ufFUNcRu93OOv6Qf4LP58Pp06fx/e9/H3K5HPfv30c4HGZlQmq1GsPDw6xjVKlUWrOQpMQP+Xu0o9Fo4PP52C5FV1cXM1DfywkRJb78fj9kMtmuJn7MZjO8Xi8zptNoNLh//z5++MMfrrlWN3K9kpKDZLDULYc6Oj169Agff/wxTCYTLly4ALfbzZSHG/XcIWgS3dXVBY/Hw+7Vx48fIxAI4IsvvsBf/MVfIJ/Pb/o8Djv0uff09KC3txdvv/027HY7bt68ye6n27dvswWeIAgYGRlhJWGUnA8EAojH42s+NzJcBYCHDx9iaWmJeYpQ1wt6GJP3Eqk9Kdmx3cSP2WzGd77zHchkMlSrVfa5i6KIZrMJjUbDvKsajQZThdFkSZIk3Lp1C7/4xS/WVfz5fD584xvfYArEeDzOSrwo8SMIAvr6+vDee+8hn8/j+vXrTF26XuLn5MmT7HlLpd2ktHr48CFisdihvna1Wi26u7uhUCgQDAbx5Zdfrnu/ulwuvPnmm7BYLOjr62MJTKfTiWg0isnJSdb9MZPJwGKx4Nd//dcxMjKC6elpzMzMIBAI4ObNm8jlcnC5XGyC/KLrjhI/Ho8Hw8PDePfddyGKIqamphAOh5liiLpMNRoNJJNJTE9PQ61W44MPPkBPTw+cTie6urqQTqfx+eefIxwOI5VKMS+p7aDT6fDWW2/B7XbD6XQiEongyy+/RDabRSaTYd4+5Ptw5coV/OVf/uWa+dyz13m9Xsf8/Dyy2SwikQgWFhbWfW7uBVqtFl1dXbDb7bhw4QJOnz6N8fFx/OxnP0MymcSjR4+YX+LIyMi+9LSg68jtdiOZTDI12F4hl8sxMDCACxcuoLu7G0ePHoVSqcQvf/lL/PSnP2W+fZz9AVltAE8W/Qcp8WOxWPDGG2/A6XTi9u3bmJmZwdLSEq5du4Z6vY6xsTH4fD4MDg7i4sWLKBQKuHPnzitV5duBEj5msxlvv/02jh8/DqVSCZ1Oh3q9jk8//RQPHz5EIBBAIpFgJdcjIyPo6urC6OgoGo0GHj58iEgkwrxba7UaZmdnkUqlcOvWLdy7d4+t9XaSYrGIW7duMduT9YycrVYrLl68CJvNxprXZLPZHfGvI7W0JEnMB5hsIQjaoKcSfqPRiGg0ikQisaeJH0EQ4HA4MDo6CplMdrASP+S7QWoZnU4HSZIQj8fXret7FpqAiqLIdtZpomQ0GqHX61mJEnl3tFotZhxN8s9yucweUutdzLVaDel0GnK5nHk1VCoVVntN5SP5fJ5NsmOxGLLZLORyObxeL5voUiaxVCqh2WzC6XSyzKkkSQiHw9uOK02w6SHndrvX/JvH44HZbIZOp0Oz2WR1p9RSnG44MoakEgWTycTOmzoiZTIZZr7N1QYbQxAEVhaoUqmYsbjD4cDAwACMRiMr+wuHw1hdXWVJufbXqFQqa3bV6NocHBxkSaFms8nkz1arlakaFAoFM/DuRKkXdbTbbqb+ZZAqisyWi8Uii8tmkjAkvScDc1rI5PN5ZLNZrK6uIhaLsV0RGmOUSiV7gJTL5U0/KOkBRL5bzWYTS0tLmJubYyrG/bbrux8QBIGZoOr1ehQKBQiCgHg8jmg0yrobtV/3zWaTfQFYM5EgpRd1BiLFC/mi6XQ6puDT6/VQKBRrxlH6nspjtztJoRJRet32L0r4kNqHngOk3CAPHzpXmhiKoshKRa1WK3K5HPL5PJvMUEK5UqnAbDajr68Per2e+RpptVrmC6TRaNi1K5fL4XA4YDKZ2LOaZOipVAq5XI4ZbR9m2uNBnxU1nVAoFGyHmBKI9FwolUrQarXMd6lYLCKfzzNvia6uLsjlcpRKJaRSKQSDQeTzeTidTlitVjidTuj1eqZUXg+5XA6n04n+/n6YTCZWgkb3i9vtRm9vL1QqFSvBpw00URTXzAeohDaRSCCXy6FcLkOhUGx7nKL4JZNJtrNO/kJUzkYJR0pU0U73ixYpZOQuiiIzZu/UdajVatmmTL1eZ6UUlECpVqtoNpuo1WpsJ5wM0qkUo1qtMkXoTkEqQo1GwxqbRKPR53bB6bno8XiYimNhYWHHjuNltDfI8Pv98Pv9a65jGmdKpdJrYT1ASVqyA1AoFEyF36nzp2MhNTSVzDudTkiShK6uLshkso4f50ah5zqZONPzlMZpGgMdDgeq1SrrCms2m5kKdyfGGkEQYLPZ2JrXZrNBr9ez5LxKpWJzUqvViuHhYZhMJlYKTgrlVqvFFOP1ep2ZVNP8IRQKMU9XKu3V6XSsIZNer4cgCJicnNzyudTrdayurrL7lspeycif2spTKX42m0Uymdy0spCOnZrjULk/NcWgrqW0fgKerI0pp0C+R6T4kclkzMs3FottqHpgJyD10avWUPsu8UOGm+SJY7PZ8OjRI4yPj7+y9THJj0nKRi3ZR0dH4XA40N3dDa/XC7vdjqNHj7KSjGq1ipmZGdy/f59J/vP5fLsr+XNks1k8fPgQDocDNpsNPp+PJW9qtRqi0ShCoRDm5+dx586dNZnC0dFRvP/++6yVaLlcZu1Vm80m3nnnHbz55pts4PjzP//zbcW01Wqt6TomiiK++c1volarsfewWCwYGBhgJW6RSISVwbTveFksFgwNDcHj8WBoaAh9fX1QKpWoVCqsNfDk5OS6juucFyOTyWC329Hf388y1wBw9uxZvPHGGwiHw7h27RoymQzu3r3LDBzffPNN1smJ3PXv378Pt9uNr33ta7BarTh//jx8Ph/y+TxmZ2fZxJY8IN58803o9XrcuHED9+7dY7uIe4kgCPD7/bh48SJEUcQPf/jDXXkfuVyOvr4+XLx4ESqVCouLi6xEdDP4/X689dZb8Hq98Pv90Ol0CIfDePz4MUKhEH76059icXERhUKBLe7Ij6deryMYDLKk0EZpT96SAq9YLOInP/kJbty4sW4pH+cJgiDA6/XijTfeYDJsKm+6f/8+S460Q8oYURSfS0RoNBpcunSJlQ7Q73g8HubD1dvby7zp6LOj5BJ97rlcjpVtbvf8KPlIk7p6vc4mQ9SSvVwuo1KpIBqNIhAIwGq1QqvVsp0y4FdjvNlsxvHjx+H1ehEMBvHgwQNkMhm2Czs7O4toNAqTyYS33noLLpcLxWIRKysrkCSJqRf1ej2beFJ5I5V66XQ6eL1eCIKA+/fv4+7du1hcXHwtPKkoHtSNFHii7jlz5gysVitOnTrFmkEUi0U0Gg3EYjGWvNNqtUilUlhYWMDMzAw+/PBD/LN/9s/YpJPmHpcvX4bT6cT7778Pl8uFvr4++P1+ptpaD6VSiTfeeAPf/OY3sbq6ivHxcaTTaab4+bVf+zW8++67kMvl+PLLL7G6ugqHw4F//a//NWq1GpaXl5kvw8zMDOr1OusISpsO201GkJ/WvXv3sLy8zJJgtLFBO6BUSmi329HT04NcLodIJLJu4qnRaDBFW6c3rrxeL771rW9Bp9NhYWEB09PTmJ2dxcOHD9l9DDwZQwKBAARBwNDQEHw+H3w+H3p6ehCNRvEXf/EXO6qgpdKz3t5edHV1YXFxEX/1V3+FaDTKfsdsNuPkyZOwWCwYGxtDd3c3M2jdySTUi7BYLHjnnXfgdrvx9a9/HW+++SZSqRQmJiaQSqXw8OFDrK6urknsH2aMRiPzl+vu7obVasX09DQuX77cMcUTKdrI8uLEiRNsM75er8Pv9yOfz2NychKff/75ns9JN0uj0UA+n2froUajweYNjUYDKysrTC15/PhxCIIAt9uNY8eOIRKJYHFxcUeuRVEU8dZbb+HSpUtMVNBsNpFOpxEIBNgGs1arxalTp/DRRx+xMZHi32w2sbKygqtXr0IQBPT398NqtUIulzO/1itXrmBmZoZtmur1egwPD8NisWB0dBRHjx6FTCbDv/yX/3LL55LNZvHzn/8cpVKJdeumucnRo0cxODgIAOyZ9/DhQ4yPjzPPzo2iUqkwMDAAh8OBvr4+jI2NodlsIhKJoFAo4MGDB6xqgprkDA8Ps2YCpAgvFApsY+Ob3/wmqtUqfvzjH+Ozzz7bcgw2iiAIsNvtGBoaOniJH6VSyUzsaEeKuum8qMMHPeQpY0nteAEwrx/afRBFkf2sVqtBqVSyBxG1G4/FYsjlcsxYqt38lib/jUYD6XSaZaupNIf+T6PRYLXsKysrqFQqa0yzvF4v89MhxQEpLajdJD2UNtGic10kSWKTR1LyUOvhRqPBMs/0PqRUoqwvABY3nU4Hi8UCi8XCsvVU20jt3NPpNCRJ2pCZcHsJ3evwAH4RpPihTDNhMBig0WhYFpu+0uk0SqUSiyVl5akTDkk5m80mdDodfD4fstksstksawdOflY2mw1arRaSJLEd073eXaFW5Xa7fVMtzrfyPqT6azQarM56s5MKip3VamWGmuQLlEgkEA6H1xhG0rggiiJarRZrF7/ZONMOL40Z1GY7Go1CkqQ1JrzrnXs7u2XiLZfL1yRJ9stOnUqlgsFgQK1WQyqVQqFQQCaTQSaTWTfBTxM2uo/aP0NS0nV3d7NNBgBMhWe1WuFwOCBJErLZ7BrfHSrnodIvUt5sF5rk0bVM70Hlh81mk7XbLhQKrI017U5SWYzBYIDdbmfm136/H+l0miV9KElBk1uFQsFKEEOhEFKpFGQyGduZI4PIRqPBVEnUHpbuRXp20+YIKTRedJ70tV+ura1Au8NyuXxN2ZTb7YbNZoPf74fP51vTurZarbLPkCa3lFCkUvNarYb5+XnmrVQoFOBwOOB2u+H3+9mYRfOVdmj+pFarYbVa4XK5EI/H2biWzWaZWs5ms7HrtlQqweFwwOv1MtNkGg9pgb3TUDI1lUohEAisew+XSiWWCCU1Fe1Ov+w1O5lAp3uh3e/v0aNHiEQiTDXVnhil5wnNnU0mE7tvab4JrDVo387noVAo4Ha74fV64fP52EZS+3uo1WrY7XZYrVamDtfpdM/FnX6//Tok9dtWoNfTaDSw2+1wu91sc7a9iUsmk9mTBNR+gRRQpHa22+2IxWId6fK6nnmw1+tFT08P8vk825wmpUooFGItutcz0e2kKu/Z46Cxg8qsqXkIrWPbn8GkStRqtayZznYgg2NSqvh8PtRqNSSTSbZhGI/Hmf0JAOZ1WSgUoNFo2AY+KTPpGiF1JwC2jkwkEojFYmsapZhMJthsNni9XvT19W37+mo0GmsaNJG3Ll0zvb29zM+NOrOSb1t7M4tneTZn0N6EiZ6VpNIidSipA2kOSI1WjEYj6xxJwhPywG00GjAYDNuKwWage+pVa6h9l/gxm82sThJ4sqsYCoVeKAuWy+Vs4Uo+GzKZDKlUCuVymZm7abValpBwOBxwOp0sq5lKpdgOjyiK7HWoNpzkXzRRbzQa0Gg0CAQCiEQiePDgAYAnDyy6udPpNJMfNxoNyOVyWCwWaLVaDA8P4+zZs5AkCY8ePWJy7MXFReadQ9J4ANuehGSzWXz88cdYWlpiGV/qDEHv0b4jl0gkkM/ncezYMZw4cQJGoxFf//rX0dfXxxI/arUa8/PziEajzEm9q6sLFy5cgMvlYpI7WnwAYAMdScGpExjVZC4sLLzW9dYKhYKZNw8ODkKhUODx48dMSTIxMYFKpcK6o5DLfqFQwMLCAu7fv8+M5NLpND7++GPcunULbrcbPp8PAOB0OtmEiFqAkzLl0aNHbMLeiW461IFltxM/ZrMZPp8Pi4uL+OKLLxCLxbCysrKp16FSK4VCgbm5OZRKJVy7dg2ffPIJ0un0c9LOZrOJbDbLWriTyd9maDabCIVC0Ol0GB0dRU9PDwDgww8/hNfrRTKZRCAQYJ9du49Fu6yadi1I+bGTE2C1Wo3BwUG220WTh/3QnalWq7ESWqPRyBLWL6JUKrGSSkp6k28bNQsYHByERqNhJbHd3d3Ma6PRaKBSqSAQCCCXy2F1dRWLi4swm81455134HK5kMlksLq6uu1zI9XqwsIClpeX4fF48N5778FsNiMcDmN+fp6VfVWrVYyPj2Nubg7Hjx/HqVOnYLFY8N3vfhdnz55lJuXAEzXBxMQE84QrFovsehkdHcVbb73FdvVJPUReY6QcpA5hrVaLlbVR7ChBRIbFtVqNlR3TOEQLdYVCwZ6tlLQLh8MHdsOAEj5msxm//du/jYsXL7LkT6vVwvz8PO7du8c6cIqiiP7+fpjNZpZcyefzOH78OGu0QIsP6uJ18uRJjIyMwG6349y5czCZTIhGo5iensbKyspzyiqPx4Nz587BYrHAZDIhEAhgeXkZs7OzqFQqOHnyJBwOB06fPs3mZHa7nS0sPv/8c/YsSSQS7Hm0G5RKJaZQfZkye2JignVy/Y3f+A1MTk4iEonsS1WZKIro7e2F0+lEX18fK7una4HKe9uh0gqTyYTe3l4YjUZkMhkEAgEEg0E2f3Q6nXC5XExdt1WMRiO+8Y1vIJVKYWVlhSkFyLPMarWir68P58+fh8FgQCAQwNzcHObn55+by1qtVvT29rIyPLlczpTymy0FJFWnx+NhpYjUgYhKU65evYrl5eXXruW91+vFRx99xDoe1et1KJXKbScbNosgCLBarTAYDOju7sbFixdhMBiQTqfx85//nCWKyWPP4/HA6XTi+PHjzAuOyoNpo3lmZmZXDZI3Sj6fx9TUFJtfj4yMMLP7YrHINnXNZjMz/p2bm0MwGNyRzVaPx4OPPvoITqeTeUhGo1Hcvn2bWTgUCgUMDg7izJkzcDgc0Ov1aDabiEajuHHjBjKZDB4/frxGjU7znv7+fkxOTuLatWtIp9OIx+MAwIQadrsdp06dgsvlYlULO3F90TVjsVjgcrlw4sQJlkwulUoIBAL48ssv2XgEYE03NSoFJqjUXKfTMQUsbXrJ5XIEg0FMTU2hXq8jk8mgUqkgEokwg+6xsTFYLBYMDg6yZi73799Ho9GA0+lkc6dEIrHGXmW3IYXr2NjYK8Ui+y7xQ3XqLpcLgUAAS0tLiMViL0380K4CdbppNptYXV1FPB5nBsTU9SKXyzGDKlpIRSIRJJNJlvhxu92sdTIphSwWC+RyOfMEyeVyzAB3dXX1hd1H2s2gyWuot7cXx44dQyaTwSeffIKJiQkEAgEsLi5Cq9WyUjfKRm53gpLL5fDZZ59heXmZdRMbHR1lOzAymQzxePy5Tk7UjcNgMOCtt97CG2+8wWpWy+UyZmZmkEgkcPToUdbW/cyZM/D5fOx82tu6ksqEdh8UCgWTLIdCIYTD4dc28SMIAht82rsIXb9+HRMTE5ibm8PMzAwEQcC5c+fQ3d3NWgFXq1Wsrq5iYmKCvV4ul8Onn34KmUyG8+fPQ6VSQavVwul0suTj8PAwlpaWcOfOHda6PBwOd6wNIXn87GZLWvL48Xg8WFhYwM2bN1lpymYgWa9cLsfy8jIKhQLu3r2Ly5cvr2uySQpAMg8mz5fNvG+z2UQ8HodcLkd3dzd8Ph+0Wi3y+Ty6u7tZaQcpidqNYqnUjGTItGuz0zufarUaQ0NDqFQqqFQqSKfTzO+r01DiR6lUMo8TjUbzwt+nBz5NfEwmE/P00ev1GBoaYhJfq9UKQRBYDXgkEsHS0hJKpRLr5Hj//n3cuXMHPT09ePfdd+F0OhEKhTA+Pr7tSV+1WsXS0hJu376Ne/fu4eTJk/j2t78Nh8PBksLArxRjt2/fxvz8PPPwcTgczBuG1Je5XA6ffPIJHj9+jPn5eQQCAfYsEgQBg4OD+P73vw+9Xs8mTeRZQOqgfD6PhYUFPHz4cI16lGrRKQFHxu4AmP8d+R7Qc1mtVqPRaGBpaQmJRAIrKyusPPog0r5L+uu//uvQarWsHDuRSODWrVu4f/8+Mxk2Go1snkPdqyRJYmO51+tlny8l6MbGxjA2NgaNRsM2xSgRuF7XEYfDgffffx92u50lhmlTSiaT4Tvf+Q4uXboEs9m8pkxcJpPh3r17uHbtGvL5PJaWlnbdmJWSii+jUCiwFvOjo6N48803oVAo8Mknn+zqsW0VuVwOv9+PI0eOwO12Mz+4Z9vOt0MbaVarFadPn4bP58NXX33FDFmr1SrrZjk0NASZTLatxI9er8eFCxdw+fJlTE5OMrN7KjUYGBjA0NAQTp8+DbVajampKVy/fh2pVOq5xI/ZbGZzUY1GA4VCgYmJCSwtLW0p8UMLH1KfkbqNNiBu376NhYWFfaEQ2UucTifeeecd2O12TE1NIRQKbbuSYCvQusrtdmN4eBgXLlyARqPBxx9/zLoazs3NQaPRMNUj+dCQKpV8VdVqNVNw7YfET6FQYF0Djx49ivPnz7MkT7FYZF0Sc7kcotEoGyd3KgnpcDjwve99D0NDQ5iensb8/DwikQhu3rzJkjRUgk3NTSjxk0gkMD4+jmg0irt372J1dZXZeWi1WrhcLvT09ODmzZv49NNPUSgU2D1kNBqZkf/Y2Bgzf96p0jzarPX7/cxwmhKYNEf76quv1jSDUKvVcLlcrKT42cQPJarGxsZw4cIFyGQyhEIhNl/59NNP1zwb6XV1Oh1OnjwJn8/H8gOxWAyPHj1CLpfDuXPn4PF40Gg0kMlk1myU7TY0xlMntpexLxI/tOijUg96ANAOoVarxejo6JrSFpqckvM2dagIh8OoVqsIBoNMIk3/jyaeVHdZqVRYG3basSDjv1arxSbyZNIEgMmqaceRpNavepBQhybygEgkEkilUkgmk0ilUsz7gBaU1PWFjnc7NJtNpFIpJlVrz2TSe6xnqJnJZPDgwQOYzWYmYaPdREo2ZDIZ5qlEfhL1ep1NaJ+toSaFDyV4aAeaEm+vK5IkMUNxMscmlQZNAGnwokVoLpfDjRs3kEql1jUPo1KIdDqNpaUlGI1GpnAgbxEqS6Ja1r2eEFEpCJmiJxKJXZmQKBQKZsRGJqXbMZGlBT0lf4xGI1Mmrvd69Xqd7aJQKR7JUzcKyU2pVntiYgI6nY51DyAjTVJJ0L1O44dMJmPXEakmdtoImsblYrHIyuj2w8KcYpdIJGA0GuF0OqFQKGC325nZ4rPHSnJgartutVpZ+S6dI0m2SW5OSs/FxUU8ePAA+Xwei4uL7L5+1uCZSjS3G6NarbbGBLH9PUh9RRsWVCZIx3v37l1YrVY2qW7/DBcWFhCJRNjrKpVK1iWEFKBkottoNBAMBrG6uopCoYDV1VVmCP1skpMWqoIgYGZmBkqlEvPz8wgGgyiXy0in0+xZTIpZkvtTkwR63YNKMpnErVu3sLS0xBKRVKqbzWaxsrKCZDLJrstarcY8IqirV/uOqkwmY+pkkpeXSiUsLi6ycY+e03TNk2qUSsdkMhnm5uaYWW+j0UAgEGBlenRPlMtlNteiHeKlpSU2r6DxnL4kSWLzKpozbRcad+k9SNFG88ZarYZSqYSlpSUUi0VWeqTRaHDy5EnE43Gm+N4vUAkMGY3S/Ikk/KQSI3NTpVIJr9fLfP7o+qnX66yxSU9PD4xGI44ePYrjx49DLpfjRz/60ZaPkZLCkiRBo9HAYrGgt7cXpVIJo6OjOHLkCMxmM1N809zZZDLhyJEjAMBUvR6Ph9k6mM1maDQarK6ubqpEhNouazQadHV1weVyQaPRIJ1Oo1KpsPJVGmdfl6QPLQT1ej1cLhcrvc1mswgEAusaJhsMBthsNiiVSmYon8lkkEgkmCfqq+bpNNdSKBRsY5mUiHK5HD09PaxleDwehyRJzLS8UqlAq9WyRKBarWadV8k+QiaTMWuMV0EJoo387lZRq9WsjJwsL2q1GvL5PCuTopJ8Up/QemwnkiNU+tTV1QVBENj6lDbc3G43tFottFotlEolent72dp2amoKzWYTs7OzWF1dZY2NJEla4wdF8xiqYGk3Q5bL5Uin05DJZGxzKJ/Ps+6y24EqZQAgnU5DpVIhEAgwD95isYilpaXn1uBUFqZUKplfD82BlEolenp6WOkjnRP50sXj8ReOEwqFAk6nEz6fj82tFAoF/H4/KpUKdDoduzbpOJ+1qKHNZ8pzkOk6VRfRvAf4lRUL+QCSkpx8e2kjkzYjdToda7TwMvZF4kcmkzEFA5lDUXcpaj/6u7/7u+wBT51IyISKuhskEglcu3aNZV5TqRSrxyOo5ezg4CCMRiOOHDmC7u5ulqWjDgX0ZywWQz6fZ5LZ9gk1fRAbSVioVCqcOHECR48ehUqlwsTEBGKxGCYnJzE7O7smGbW0tLTGnGm7g0OlUsHc3Bxb5JVKJSwsLKx5uNLEsp25uTn84Ac/gFKphNvthslkYvJ6KhdpNpu4fv06/vZv/xYGgwHnzp2D1+uFSqVCb28vW0DUajXm00SlSZRooAXQ66r2AZ6U49BuBz0sqAuR0WjEyZMn8f7777OHb6VSweTkJP78z/+cLUbXQ5IkLCwsIBwOw+l0Qi6Xw+PxAABrO3779m0sLy93RPqu0WgwOjoKm80GhUKBycnJXak7JyWh2WxGq9XCw4cPmbHzVqDEkUwmw+3bt9lk5EWJlGKxiAcPHrDxi5LM7TsRr4KUJIlEAqVSCblcjnUUsFgsTJkHgMm5S6XSGrkqteOen59n9/BOQgmWSCSCQCCw7rjSCSRJQiQSwcTEBPr7+3Hp0iU4HA4EAgFWlvqs4pFqv8kja3BwELOzsxgfH4coihgbG4PdbockSUx5NzU1hWAwiFu3buGTTz5BpVJhC2gaLwGwiQhJgbeb+CkUCrhy5coatVm7OrNQKCCVSmF6enqNCfjjx4/xX//rf2US+vaNlVarhWKxyK4TkjL/5m/+Jk6dOsWUtlR2RImMr776CrVajZ3vs5MyQRDgcrkwMjKCRCKBH/7wh0in01hcXEQoFGLPg3YvHzo2mvhQwuwgd7B79OgR/uiP/ojNa+j8aLFPjSdoolcsFvHVV19BqVTi3Llz+OCDD5ifYKPRYL481OmESoS++uorZtRNPgZnz55lajVKMsViMRQKBfzN3/wNm9uQ5025XGal4ZIkIRqNIhwOI5PJ4PLly2zyXS6XoVKpWBclKm2lbqmkIiK10nZQq9U4cuQIWyDSe5AaKpFIIB6P47PPPmPlmtRy91/9q3+FXC6HP/mTP8GXX365Q5/o9qGNSPL2IT8QanZCZfU6nY6V8LVfM8FgENlsFpVKhZV8kJ/dmTNncPbsWYiiiH//7//9lo+xWq1ibm6OLSqpBAMA3nrrLRw/fhwrKyv4/PPPkUwmEQ6H2Rz/zJkz0Ol0bBFKY6BCoUBvby8sFstLTcfXg+adDocD/f396O/vZ5uW5I1lMBg61q20UygUCoyNjTH1FXlyzc3N4YsvvmAleu10d3fjnXfeYeby1Jr8s88+Y+bur1LX6PV6HDt2jHWoFUURlUoFsVgMcrkc3/zmN/H2229jdXUV165dQyqVwv3797G8vMySVNR90Gw2w+FwoLe3lzVQaDabePDgAb788stXbtxZLBa43W7MzMzsSEyfhZqykCee1WqFXq9HLpfD/Pw8NBoN3nvvPeTzefz3//7f8ctf/pI93ygJvt33P3LkCN588004HA4ATzYUVldXMTMzA1EUcf78eSiVSvh8Pqb6BIBwOIyf/exnzAw5n8+z5zXwpIHJN77xDYiiiKmpKdy8eRNTU1NsE4DKjiORCGZmZtg4bzKZEAwG2bN8O2g0GoyMjCAUCmFmZgaxWAzVahVqtRrBYJBtUJB3LUFdMW02G9577z2MjY0hm80yL0x6Tk5PT+PGjRvIZrPMduVlnXH1ej1OnTqF48ePY3Z2FrOzs9Bqtfjggw+gVCoRDAbZ3PfTTz9lG4HtiKLIGizYbDb09vZCo9HA7XbDaDQyUUn7Wo8Sh/Qz2uhbWFiAyWTCu+++C5/PB5fLhfn5+VeW2O2LxA+1e6XaT5lMtqaDDZlAqlQqNkGiHW5SyJAfQCqVYlk2Kqt4FpqMVKtVlpxobwFPQavX62zSTJOWrZwb7cSRVLtcLjO1BbmAE3TeOwkllIiNDjhk9NXexi+dTiMcDq97Y5hMJgwNDbEBn9QltANNGVdajL7o83kdoc+Irt14PM52YMlMlia3lUoF5XIZ+Xwey8vLr5QSUhJAq9WyBSYZvSWTSWbY2QlITWE2mwE8UZntRt05taYmc89MJrMtxQAp1zYKLdy2C71vJpPBysoKax1O50ctNNdrQU6TbCr12o1JcHv78P2WyK1Wq+xalyQJcrmc+dnU6/XnOiG0J6VJXt7eQY+SG/SMqFQqrN11OBxmiohnoU0D2sXZjpkpQR5S7e/RnnyhDQryfiHK5fKGpOakPtTr9fB4PPD5fCwRUKvVkMvlmFfei3x3SD1FO1u08AuFQojH48wz73WB2sNulFarxZ6Z7W3RaQOs3fS5PXkUiURQqVTgcrlQq9WYSkOpVEKn0zHPQlKYxOPxdecHNDcpFousC2kmk0EkElnzudF8R6vVQq/Xw2g0svkClYCSMf12oHkjjYGUrKJ5IyUc6V4lxQeVPNP/2whUrt6+kUibgJRg3Qnaxxy6b2UyGfR6PfOlIKNkUivm83mm3qB5Kn1+VOILPCn3cbvdr+z48ioajQbz0JQkiflUkXeG0+lkx0Fqe/qcyLBXpVKxUv9GowFRFNm5kZJJoVC8dGFPfpE6nY61ASflf6vVYgb2dC20d6d9HSCbBrfbDbPZzOYFtAlAJu3klyOXy1mixW63sw3xYDAIk8mEWq323LVD/7/dKFev17MGNbSmotcWRZFtGFATHVpsA79SgOv1evaspUU8VYEAWHPfkqFxO7RZQPYS251TCoLwnIqC7k1KKCsUCjbe0D1JG7ekSKQmCzs1XtA5mkwmFpP2sYMaL9D6mpoake1AIBDAwsLCmtekNQe9LqmD4vE4UzjT81ulUq0xPib1eSwW2xHbCLLAIIWLXC5HKpWCSqVCLBZb00nw2XMg6wzyQ6WmE81mk3nM0phJvpyvUn9SYt5kMrG27XTNKpVKVlpLc0K6x9oNtck6hvxWvV7vmsRPLpeDKIps/UcNMcrl8poOoDRGUqMZ2th/kQignX2R+JHJZPB6vTh27BgMBgPrIDE+Po5bt24xGV37rmR7S1ya3NKARgmbF5FKpdhkJxQKrRk0aJecPDnaHxpbwWAwsA/Y7/fD6/Xi1q1b+MUvfsEW+PsdKhWjneIX7U6Xy2Xcv38fi4uLa+TXNOFq70Cy31sz7jVksFYoFBCLxbC6usqksu1d0GhCU6/XN2xQSZ0TaMfN7/fj2rVr+Id/+AfWradTUFc8p9PJzOh2A4VCwbpwZTIZlpnfD2qUrVAoFLC0tASlUolYLMZk3O0m9MCvSilpPKPdkd2aANNu8H5L6kqShHw+zyZcn376KZxOJ3Q6Hd577z08evQIU1NTaxajVLJF3ZJoF/7cuXMQBIGpJcLhML766isUCgXcuXMHwWDwpb505XIZjx8/RrFYRCwWY6UbO0kul2MeH8lkkiWttkpfXx/OnTsHp9OJ/v5+mEwmhEIhLC4uIpVK4dq1a6xk9EVJLL1ej/7+fvYsn5+fx/LyMpOQbzcR8DqxsLCAjz/+mCkHW60Wbty4wTwO6RlB5QUkkVer1fD7/fB4PMhkMpidnWVlmVS6+KK5TqlUwuXLl/H48eM1ZYMvmixLkgSj0cg639FijhY+//k//+cdiYXJZILH42Hv0a6CokSKQqHAkSNH4PP52GSdmn+8CpL36/V6pvyTJAmZTAbVahWzs7OYnp7ekUR6vV7HvXv3EAwGMTIygg8++AA2mw2//uu/zkrYaAFA88dgMIi5uTlWekXPAUqgkH0CfcbbTfwkEgn86Z/+KXQ6HVtY2+125jdXLBaZ2oQWunTswWAQtVoNwWAQ6XSalWFRSRr5qb3xxhtIJpOYn59fd35CHmNHjx6F1Wpla4epqSn84z/+I3u+iaLIyt9eN8WPKIoYGBjA+fPnodVqsbi4yDxMVldXmZ+pTqfDG2+8AZ/PB6PRyBKMgiCwbsR6vR6lUum5Zwgpz0wmE5xOJ+tkScoc8rDxeDzMG4yU3VQSDABnz55l3a10Oh3kcjmy2SzGx8cxMzODiYkJ6PV6HD16FE6nE5VKBa1WCxqNBmfPnsXRo0eZGpHWGpRA3YkkCzW4aU/2UgUInWsqlWKdXCcmJqDVanHs2DHWZWloaAjvvvsuwuEwpqend2TuKUkS82f1+/3sszhz5gx6e3uZQqRareL27dtYXV1dUzq0tLS05vXkcjnrVGU2m9nmKJXtG41GnD59mnVGjUQirOyTSpETiQSKxeKOzDErlQpmZ2eRzWbZ5ngwGIRcLn/pfIHKDdttJEgRms1m8eDBA4TDYVbuu9GNSrlczpLYPp+PWXQsLy+zhhbFYpHNE+v1Ousq3t5BjDz5qMEIld3TMZF/cCAQYOqfcrnMRBs01tP90N3dDZfLhfv37+PevXuvVJDvi8QPuXb39vZCkiT2gJqdnd2WCd2LoPpD4Ek5025Cbd1cLhdrK5nP53Hjxo2OqSw2Cy2aXjUxr9Vqz2WPORuDJpKUlJiamtqx19bpdHA6nejq6sLw8DC6u7vxj//4j/j88887XipBPg0mkwmJRAJLS0u7MjmjrLzJZEIkEmG+KwfVV6p9V3cnukLtFPV6fU0b+/0EKSxarRbztXn//fdx6tQp5qPRDikeqRSMGgMMDw+zttfFYhHLy8uYmJhg5QWvSl7WajU22aDd7p1OxFG3PvLKeVbNulm8Xi++9rWvsVattMh79OgRYrEYxsfHX/m5U+cuq9XKuveQMmo/+awcBChum4HKiH0+HzweD7LZLJaWlja8CVOr1TAxMbGmicCLoDG8XV0zMDDAdvP1ej3+9E//dFPH/yLo+WY0GtHX18eURlqtli3SADCVSb1e31QChMxAbTYbTpw4gYsXL6LVajEz0EqlgpmZmR15bjUaDczPz2N+fh4qlQoqlQp2ux29vb2w2+3M1DyTyeCrr77CysoKZmZmMD4+vuZZ5nK50NXVxRp0UAcc2jXfDvl8Hr/4xS/g9XrhcrmYsoN2/slHo7e3l22wqlQqzM/P47PPPkM8HsfNmzextLTEyrPIEJZMyIeHhxGLxVjr9fXo6urC22+/zbqBKhQKXL58Gb/4xS+g1+sxNjbGlCqU1HydEj9yuRxerxdjY2PI5XLM9zQYDCIej7PusGT8fPLkSabEo2cFGYNTJ9JnE6UajQYDAwPweDzM1DubzWJqaop5mE5NTbHFbldXFxYXF7G8vIxYLMbGnqGhIQwODgL4VUXCzMwMotEoUxNRcxy9Xs+8vFQqFYaHh5kqot0nlTZHNztOrodOp8PZs2fZe5B6tlarMcVqoVB4zj6gVqvh/fffh8lkQldXF/NZm5ub27HED5XqqlQq5r1DCbZUKsU+i5mZGVy+fPmlcw1qluRyuWAwGNhGAI0dlMgn+5P22DYajQ2pTTZDvV5HIBBY8/cXNVJqh5SAlPwmpQ8Za3/xxRcbeo49Cym/NBoN7HY75HI5wuEwJicnmUdVrVaDUqnEkSNHoFAo4PV64XA41iilenp64HA42NhESR7qxPj48WPk83nMzc2tG1NBEDA8PIy+vj6msrRYLIhGo/jss89eua7paOKHsnI6nY51mKKdJMpSHnT0ej1zpidZPZl8cji7DU36aOKYSqXYw2I/yJ6pG1GhUGC+DLtBuVzG4uIiKymh2lt+Hx5OvF4vvF7vuskOg8GAnp4eVnpA7dhpB4eMr4lms4lAIMB202kiQerTWCzGOndsZBFNUuj2XcmdhnbGstks23FPJpNbTvRSKVEul8PCwgKUSiWmp6dZcmkj502qM1EUWckqHR9nb6AdynQ6vSPeUuvRbv5LvhxarRbhcJgtINVq9ba7fjUaDcTjcahUKmasGQ6HoVKpWLJBFEVotVpmD0BKIPK0iMViL3x98vfS6/UYGBiA2+1mCQxSreTzeUSj0V15jiQSCdy+fRtmsxkzMzOsDCAej6NYLGJmZgbxeBzpdPq5969Wq0yRpFQqkUwm4fF40N3dve3ED0HNKGq1GjObpp3nQqHASl0pwU3d6ahMkY6TFjbk97KysoJsNsv8edaDFmB6vR6SJOHhw4eoVCpYWVlhC/NUKsWUUZSQ2g9znr2EkiZU9lkul9HV1cX8ewYGBmAwGNBoNJh6MxQKQafT4cKFC7DZbMxiQ6vVore3l22g0dqNzLTJoLlYLGJlZYV5lbR3F6VNfoVCwcpMqWsjzcloAU1rJTqHXC6HqakplEolLC8vs427RCIBSZJgsVhgt9tZiZJMJoPVaoXb7cb8/Py24lipVPD48WPm5UNeYcCTznTZbBalUgl9fX2sURAtzsngPBQKYXZ29oWl0FuBxvNUKoVAIIBr165hdnaWbfRQk4V8Ps/itBFoY4vMqilxTOPeRuc6nYKuVyq/EgSBNdxIJBJbfvYUCgVMTEwwlS0AtiFoMBiYnxUlLyuVChYWFrC8vMzKhFUqFWs6lc/n2XhO3faSySQrq3s2ByKTyZgptMPhYN20SSkUi8U29Cx6ZeJHEAQ/gP8DgAuABOAHkiT9fwRBsAL4IYBeAEsAfkuSpE311NPpdBgcHGQGdPRwJnnTQVHEvAyn04m33noLGo2GDaqrq6ubvvEFQfifdyrunE1x9CDHXhAE+Hw+XLp0CYIgYGFhAdVqFcvLy/tiEpTL5XD16lXI5XJWAvj0uHY07slkEp9//jmTfNLA3WnF037kIF/vwJOH48mTJ/H973+fdSKin7f7dIiiCL/fD7PZDJ/Ph7Nnz8Lr9eLevXtrlKC1Wg3j4+N4+PDhGgNkggysSe78KsrlMiYnJ9mOatt96ASAnYh7LpfD/fv32Q4tKR+2ustYqVSQTqeRz+cxPj6OUqmE+fl5PHz4kJUTvoparcYmOeQrkU6n90O55YEe4zeDJElIpVKsS9tujH9kPEnlfAqFYo1XQ/t7byfuVGa1tLQEURRZCRfdo4IgwGQyoa+vD6IoYnV1lSV6aOf+ZSWpRqMRvb29rMV9f38/xsfH8emnn7LOSLRBuRuJn7m5OfzJn/wJOy+5XM78O6h0ihJZz84nSTUvk8mwtLQEmUyGK1eu4I/+6I9o/NrWWEObR9S5aHFxcY2fSi6Xw+LiIgqFAmZmZljHS1oU0XhB3mjBYBALCwtQqVTMZ6bdz2I9yAg4HA7jxz/+MRYWFthmDjUwUalU8Pl88Pv9yOVy+yHJvKdjDV07ZHheKpVw6tQpVtp1/Phx1Go1XL58GV988QUWFhZw//59uN1uHD16FCdPnmT+OhaLhc0jh4eHMTo6inK5zFqYX79+HdevX2c+hFRSRJCXal9fH/R6PbLZLPr6+lAqlTAzM4PFxUWsrKyw5wu9BqHRaJDNZuFwONZ4Xa6srCCfz7NSZLPZjNHRUVQqFfyH//AfmI/lduKezWbxySef4OLFi8zMeWRkhHmLPR3L2NxAqVRCFEWUSiUkk0lEo1HcuXOHxWcnn3nkVxkKhTA1NcXK8dotUeieeBU0P6KSJPL4oWYzk5OTGB8fZ8qWDbJj85qNolKpmGfww4cPcePGDSwsLOD69eub9tZrJ5FI4C//8i9ht9vR09ODnp4e5vuj1+uZr0+xWEQoFEKpVMLc3BzzUSS/nw8//BAnT55EJBJhFgNU8k7lies9n9u7mI+OjuLcuXPI5/P48ssvWSXDjiR+ADQA/N8kSRoXBMEA4I4gCL8A8H8G8EtJkv6TIAh/COAPAfyvmwkiZeXajbxIQkfO1QcdMpmi7Cs9LLew6P6/7FTcOZviEQ5o7Glxq9VqYTQaUa/XEY1G1+y4dRryLFqHHY07+V5wNsSBvN7boZ0V8smin7XvdpOHAS2SALBJTztUwrBTZtUvMdd3CoIwhh2IO5kB7hTkFSAIAvPjoT83upii8yZD0GcSvZ3kwI7xW4GSB7sFzeM2WEa75biTkfPLko7lcpn5n4VCoZcqfJ6FTDipNTXwK4VKPp9ft2PLTvKqc3sZ7YbxVK4zPDyM73znO2g2m/iP//E/bnusab+OyLsxnU6zjpfUvIRKtl50nDTPp/GqXq8zNcjLrlMqQSkUCkgkEms+W0rC0/wim80yv6EOs6djDY2xjUaDGetT23HyWgPAlGT0pVQqWfzI10ShUDA/OpPJBIPBAADMU4cM39dbeJLaM5PJsNeh8YGer9lslpnsrvfsos7N7dc2Pb+pSqRUKkGj0QB4knz5N//m32BkZAS/+7u/i5mZmS3Hvb0hCPm+tidJaIPpWaPr9vPKZrO74n1I92GtVtv2HKXdDJ+agJAgg96DujRvgh2b12wU8mAqlUpIpVJIp9OIxWJbbtJE1Ot11lmM/KjaVaXkY0ueQXTNt1cykDqOuluGw2HWmXkjSiRSY7Vv5tF7bPTzf2XiR5KkMIDw0+/zgiA8AtAF4HsA3n36a/8DwOfY5IeoVCqZ7w05/EciEdy8eZPJnQ46mUwGjx8/BgA8ePAA8XicmUtvkh2LO2dTtHAAY087XQaDAR6PB1qtFvF4nBm8xePx/V7mdCDjfkg40HFvtVq4f/8+stnsmkQPeQQQtHCkpEYgEGAdFztEGfs07oFAAP/0T/8EQRBQKBTYRH4zY0itVkM0GmWTZZpQ7gOfLT7WdI5djTuVhchksk2bh3u9XrzzzjtotVq4cuUKEokEotEoAoEA6vX6gbIikCQJoVAIf/d3f0eqhB0fa5rNJjOUb/dZ2WxZBZWTUkJgPcinjRI6L0roNZtNTE1NsSTUbibqNsiejTWNRgMLCwu4evUqjEYj3njjDYiiiEwmwzxUf/SjHyGXyzHfKFJFkVff4uIiRFHE6dOnUa1WEQ6HUSwW8fDhQ9y6dQu5XA7T09OsycGLkviBQAB/9md/xgzBlUolM6wl011SS7woqUCePe1+cM1mE6VSCZIkYWFhAeVyGRaLBZFIBHa7HaIoIpFIUCJpW3FvtVqYnp5GOp2Gw+FAJBJhSWHqrpjNZpnxcS6XYyWlVPKz36Eum2Q0PD09DQDsHLa4dt3zeU0oFMLHH3/MVFfVapU1PNgO1WoVq6urLGnz4MEDlvADwBSY5CPXaDSe8yir1Wq4d+8eVlZWWNk1JbFfBZU3ZzIZZnxdrVaZ1QB1WnwVm/L4EQShF8BpADcAuJ4mhQAggielYOv9nz8A8Afr/Ru1cjaZTKzUI5vNYmFh4VAkfYAnEw+Suc7MzGyode4L2LG4czaFEpuI/X6JuyiKzJDSarWy1skLCwuYmZnp9OFthE3FHdg/sT8EHPi4r6ysYGVlhf1dEAS4XC643W72s1arxWqj9wla7NO4b6TV6atoNBrb9nXZJfhY0zl2Ne61Wm3LiVyLxYKRkRHk83n85Cc/we3bt7f0OvuFZwzBd3ysabVazKB0O5TL5Q2pFZeXl7G8vPzS36GE1z5qOLBnY02z2UQkEsHs7CyGh4dx4cIFqNVqllSLRCL4yU9+su6YTD5d8XicdWMk9UKxWEQgEMD09DRL0r1KTZ1KpXD16tXNnsIaWq3WSzvQxmIxxGIxZjZOXTjVajUl/LYVd0mS2D1EZr1ms5m9Bxkel0olLC4ubkpduF9ob28eCoVY4meb7Pm8hs5hp2k0Gmwe9CIV46toNpvPzU83SqvVYhsYqVSKiUo2y4YTP4Ig6AH8NYD/RZKkXLvPgSRJkiAI66aZJEn6AYAfPH2NNb9Dkrj2HcDDBplrUWZ6G+xY3DmbYgDAP99o7PdL3FUqFbq7u+H3+yGTyVid/X4p8doAm4r703/bF7E/BBy6sYZagbZPBtq9JvYJq4ct7gcEPtZ0jn011iiVSvT398NqtcJisWBmZoaVkRwy+FjTGfZsrKGNDfJSK5fLUCgUiEQirCPjixQQlUoF9+/fRz6fh1qthlarZWoH6oxEBrT7QLG5BlIGlUolVur9NGG0Y2MNdfxMp9OspJwUMVTqw2HwsWafsaHEjyAICjxJ+vy5JEk/fvrjqCAIHkmSwoIgeABsOr1JEimqG6VE0GGi3UF8OwPkTsadsylSBzH2Op0Op0+fxtGjR3Hv3j188cUXTH56QDiQcT8MHNa453K553Ym94HnQzuZp38eqrgfAPhY0yH2W9y1Wi3ee+89nDp1CktLS/jyyy+RzWZ3rdtkB8k8/XNfxP01Ys/Gmnq9jqmpKczMzEAURfzVX/0VADBzcCq1Wo9cLoePP/6YGbMLgsD8X6gTZbPZZD4j+4lyuYyZmRkmJCBz452Me6FQwNTU1BojeYqFJEn73UZhr8k8/ZOPNfuEV2ZZhCd3zx8DeCRJ0v/W9k8/BfD7T7//fQA/2fSbPzU+VigUzIxtv2WPtwvtKu9g54dtx52zKaJt3+/72FObTJ1Ox9pwVqtVpNNp5HK5g9TF6kDF/ZByqOJOXRLav/aBsfB6HKq4HwD4WNN5Ohp3ajSi0+mg1Wqh1WpZ5ypqG31I4df73rKnYw0Z/pLZdiKRYEbD5I2zHq1WC8ViEZlMhhkuU1dHauVN3az22zOU1pIvWXdtO+7t70HdxdpjwhM/68LHmn2C8KqbVhCESwCuAHiAJ8ZkAPB/x5Oavb8E0A1gGU9as73UBOBZ2dbg4CB+7/d+D263my1MFxcX8cknn7y0lvM15T52KO6cTVEGMIMtxL4Tce/t7cXo6CjMZjOOHz8Oq9WKy5cv49NPP2Uu/Qck+bPluAP8mt8mfKzpDGUA/yfwuO81fKzpHPtirHG73Thy5AiMRiNGR0fhdDpx7949fPrppyiVSigWi4ct+cPHms7Ax5rOsS/GmtcQPtZ0hjuSJJ1d7x820tXrSwAvMt/5YDtHRW3QqONQJpPZdKeQ1wVJkk61/XVbcedsiqlnbp59HXuz2Yz+/n5otVrWgjKTySCZTB6UhA9xoOJ+mOBjTceYkiTpH55+z+O+d/CxpkPsl7FGp9PB7/dDr9dDEATkcjlks1mkUqnD6tfBx5rOwMeaDrFfxprXED7W7DM21dVrVw5AFCGXyxGPx/Ho0SOkUqkXtvPjcDgvR6fTwe12s/aWuVwOq6urPJnK4XA4HM46qFQqWK1WKBQKBAIB1uJ6v/mXcDgcDoezHTqa+JHL5czYeWVlBdeuXUOz2TxoygQOZ18gCAKMRiMGBweRSCTwt3/7t5iamuI1xxwOh8PhvACNRgOXy4VWq4XPP/8ck5OTaDabh628i8PhcDivOR1N/EiSxBzQG40GarXavjMK43D2OzKZDFqtFiqVCmq1GuVyGeVyGaVS6bDK1DkcDofD2RGoS1Gz2eTtmDkcDodzaOlo4oc6XlUqFa7y4XC2iFarxfnz5+H1eqFQKHDz5k3WuYHD4XA4HM6LKZfLCAaDaDabL2xxzeFwOBzOQafjih8q7eKlKBzO1lAoFPB6vRgcHEQ0GsXq6ioymQyq1WqnD43D4XA4nH1NvV5HLpdDq9Xi5V0cDofDObR0NPHTaDSQz+chiiKq1Sov8+JwtoAgCJDL5VAqlSgWi1heXkahUOBydQ6Hw+FwXkE2m8Xjx4/RarWQz+c7fTgcDofD4ewKHU/8UDkKVydwOFtDEAQolUoolUrk83nMzs6iUqlwFR2Hw+FwOK8glUohk8kAAH9ucjgcDufQ0tHET7PZRKFQgEwm4+oEDmeTiKIIlUoFlUqFXC6HSCSCbDaLer3OJ68cDofD4WwAsh3gcDgcDucw09HET7FYxNzcHNRqNdLpdCcPhcM5cFgsFnR3dwMAxsfHce3aNeTzeW6UzuFwOBwOh8PhcDgcRsdLvTKZDFQqFVf8cDibRKlUwmg0ol6vY2lpCclkstOHxOFwOBwOh8PhcDicfUZHEz/VahXxeByiKKJYLHbyUDicA0c+n8fy8jJarRZvQcvhcDgcDofD4XA4nHXpaOKnVqshFosBAO/oxeFsklwuxzqQ8PuHw+FwOBwOh8PhcDjr0dHED8AXrBzOduD3D4fD4XA4HA6Hw+FwXsZeJ34SAIpP/zzI2LG359Czzf/P4751thP7BIBldOa4dxp+zXcGHvfOwMeazsGv+c7A494Z+FjTOfg13xl43DvDQRxrDkPcgX10zQt7rRgQBOG2JEln9/RNd5iDeA4H8Zif5aCew0E97nYO4jkcxGN+loN4DgfxmJ/loJ7DQT3udg7iORzEY36Wg3gOB/GYn+WgnsNBPe52DuI5HMRjfpaDeA4H8Zif5SCew0E85vXYT+ch6/QBcDgcDofD4XA4HA6Hw+Fwdgee+OFwOBwOh8PhcDgcDofDOaR0IvHzgw68505zEM/hIB7zsxzUcziox93OQTyHg3jMz3IQz+EgHvOzHNRzOKjH3c5BPIeDeMzPchDP4SAe87Mc1HM4qMfdzkE8h4N4zM9yEM/hIB7zsxzEcziIx7we++Y89tzjh8PhcDgcDofD4XA4HA6HszfwUi8Oh8PhcDgcDofD4XA4nEMKT/xwOBwOh8PhcDgcDofD4RxS9jTxIwjCR4IgPBYEYU4QhD/cy/feKoIg+AVB+EwQhClBECYFQfifn/7cKgjCLwRBmH36p6XTx/oieNw7A497ZziIcQd47DsFj3tn4HHvDIch7gCPfafgce8MPO6dg8e+M/C47xKSJO3JFwA5gHkA/QCUAO4DGNur99/GcXsAnHn6vQHADIAxAP9vAH/49Od/COD/1elj5XHfP1887jzuPPYHI/Y87jzuPO4HJ+489jzuPO487jz2hzv2PO6797WXip83AcxJkrQgSVINwF8A+N4evv+WkCQpLEnS+NPv8wAeAejCk2P/H09/7X8A+H5HDvDV8Lh3Bh73znAg4w7w2HcKHvfOwOPeGQ5B3AEe+07B494ZeNw7B499Z+Bx3yX2MvHTBWC17e+Bpz87MAiC0AvgNIAbAFySJIWf/lMEgKtTx/UKeNw7A497ZzjwcQd47DsFj3tn4HHvDAc07gCPfafgce8MPO6dg8e+M/C47xLc3HmDCIKgB/DXAP4XSZJy7f8mPdFuSR05sEMOj3tn4HHvHDz2nYHHvTPwuHcGHvfOwWPfGXjcOwOPe+fgse8M+znue5n4CQLwt/3d9/Rn+x5BEBR48gH+uSRJP37646ggCJ6n/+4BEOvU8b0CHvfOwOPeGQ5s3AEe+07B494ZeNw7wwGPO8Bj3yl43DsDj3vn4LHvDDzuu8ReJn5uARgSBKFPEAQlgP8JwE/38P23hCAIAoA/BvBIkqT/re2ffgrg959+//sAfrLXx7ZBeNw7A497ZziQcQd47DsFj3tn4HHvDIcg7gCPfafgce8MPO6dg8e+M/C47xbS3rpd/xqeOFzPA/h/7OV7b+OYL+GJJGsCwL2nX78GwAbglwBmAfwTAGunj5XHfX998bjzuPPYd/6YeNz35xePO487j/3Biz2PO4/76xR3Hnse98MWd+HpgXI4HA6Hw+FwOBwOh8PhcA4Z3NyZw+FwOBwOh8PhcDgcDueQwhM/HA6Hw+FwOBwOh8PhcDiHFJ744XA4HA6Hw+FwOBwOh8M5pPDED4fD4XA4HA6Hw+FwOBzOIYUnfjgcDofD4XA4HA6Hw+FwDik88cPhcDgcDofD4XA4HA6Hc0jhiR8Oh8PhcDgcDofD4XA4nEPK/x8NWu5anbGPrAAAAABJRU5ErkJggg==\n",
- "text/plain": [
- "<Figure size 1440x1440 with 12 Axes>"
- ]
- },
- "metadata": {
- "needs_background": "light"
- },
- "output_type": "display_data"
- }
- ],
+ "outputs": [],
"source": [
"fig = plt.figure(figsize=(20, 20))\n",
- "for i in range(12):\n",
- " ax = fig.add_subplot(1, 12, i + 1)\n",
+ "for i in range(6):\n",
+ " ax = fig.add_subplot(1, 6, i + 1)\n",
" ax.imshow(patches[i].squeeze(0), cmap='gray')"
]
},
diff --git a/src/notebooks/Untitled.ipynb b/src/notebooks/06-try-transformer-model-predictions.ipynb
index d39e111..d39e111 100644
--- a/src/notebooks/Untitled.ipynb
+++ b/src/notebooks/06-try-transformer-model-predictions.ipynb
diff --git a/src/notebooks/07-look-at-lexicon.ipynb b/src/notebooks/07-look-at-lexicon.ipynb
new file mode 100644
index 0000000..b7a5a0e
--- /dev/null
+++ b/src/notebooks/07-look-at-lexicon.ipynb
@@ -0,0 +1,1119 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The autoreload extension is already loaded. To reload it, use:\n",
+ " %reload_ext autoreload\n"
+ ]
+ }
+ ],
+ "source": [
+ "%load_ext autoreload\n",
+ "%autoreload 2\n",
+ "\n",
+ "%matplotlib inline\n",
+ "import matplotlib.pyplot as plt\n",
+ "from pathlib import Path\n",
+ "import numpy as np\n",
+ "from PIL import Image\n",
+ "import torch.nn.functional as F\n",
+ "import torch\n",
+ "from torch import nn\n",
+ "from torchsummary import summary\n",
+ "from importlib.util import find_spec\n",
+ "if find_spec(\"text_recognizer\") is None:\n",
+ " import sys\n",
+ " sys.path.append('..')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "path = Path(\"../\").resolve().parent / \"data\" / \"processed\" / \"iam_lines\" / \"iamdb_1kwp_lex_1000.txt\""
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "PosixPath('/home/akternurra/Documents/projects/quest-for-general-artifical-intelligence/projects/text-recognizer/data/processed/iam_lines/iamdb_1kwp_lex_1000.txt')"
+ ]
+ },
+ "execution_count": 16,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "path"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "with open(path, \"r\") as f:\n",
+ " lex = (line.strip().split() for line in f)\n",
+ " lex = {line[0]: line[1:] for line in lex}\n",
+ " #print(len(lex))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'!': ['▁', '!'],\n",
+ " '\"': ['▁', '\"'],\n",
+ " '&': ['▁', '&'],\n",
+ " \"'\": ['▁', \"'\"],\n",
+ " \"'30s\": ['▁', \"'\", '3', '0', 's'],\n",
+ " \"'61\": ['▁', \"'\", '6', '1'],\n",
+ " \"'d\": ['▁', \"'\", 'd'],\n",
+ " \"'ll\": ['▁', \"'\", 'll'],\n",
+ " \"'m\": ['▁', \"'\", 'm'],\n",
+ " \"'re\": ['▁', \"'\", 're'],\n",
+ " \"'s\": ['▁', \"'\", 's'],\n",
+ " \"'ve\": ['▁', \"'\", 've'],\n",
+ " '(': ['▁', '('],\n",
+ " ')': ['▁', ')'],\n",
+ " '*': ['▁', '*'],\n",
+ " '+2.8': ['▁', '+', '2', '.', '8'],\n",
+ " '+3.6': ['▁', '+', '3', '.', '6'],\n",
+ " ',': ['▁', ','],\n",
+ " '-': ['▁', '-'],\n",
+ " '-2.6': ['▁', '-', '2', '.', '6'],\n",
+ " '-5.4': ['▁', '-', '5', '.', '4'],\n",
+ " '.': ['▁', '.'],\n",
+ " '...': ['▁', '.', '.', '.'],\n",
+ " '0m': ['▁', '0', 'm'],\n",
+ " '1': ['▁', '1'],\n",
+ " '1,157': ['▁', '1', ',', '1', '5', '7'],\n",
+ " '1,400': ['▁', '1', ',', '4', '0', '0'],\n",
+ " '1,500': ['▁', '1', ',', '5', '0', '0'],\n",
+ " '1-2': ['▁', '1', '-', '2'],\n",
+ " '1.8': ['▁', '1', '.', '8'],\n",
+ " '1/2': ['▁', '1', '/', '2'],\n",
+ " '1/2-in.-long': ['▁', '1', '/', '2', '-', 'in', '.', '-', 'long'],\n",
+ " '1/4': ['▁', '1', '/', '4'],\n",
+ " '10': ['▁', '10'],\n",
+ " '10,000': ['▁', '10', ',', '0', '0', '0'],\n",
+ " '100': ['▁', '10', '0'],\n",
+ " '100,000,000': ['▁', '10', '0', ',', '0', '00,000'],\n",
+ " '104': ['▁', '10', '4'],\n",
+ " '11': ['▁', '1', '1'],\n",
+ " '12': ['▁', '1', '2'],\n",
+ " '12,000-word': ['▁', '1', '2', ',', '0', '0', '0', '-', 'word'],\n",
+ " '125': ['▁', '1', '2', '5'],\n",
+ " '13': ['▁', '1', '3'],\n",
+ " '13,000': ['▁', '1', '3', ',', '0', '0', '0'],\n",
+ " '14': ['▁', '1', '4'],\n",
+ " '15': ['▁', '1', '5'],\n",
+ " '15,000,000': ['▁', '1', '5', ',', '0', '00,000'],\n",
+ " '15-17': ['▁', '1', '5', '-', '1', '7'],\n",
+ " '15-nation': ['▁', '1', '5', '-', 'n', 'ation'],\n",
+ " '15-year-olds': ['▁', '1', '5', '-', 'year', '-', 'old', 's'],\n",
+ " '150,000,000': ['▁', '1', '5', '0', ',', '0', '00,000'],\n",
+ " '16': ['▁', '1', '6'],\n",
+ " '16,000': ['▁', '1', '6', ',', '0', '0', '0'],\n",
+ " '160': ['▁', '1', '6', '0'],\n",
+ " '163,000,000': ['▁', '1', '6', '3', ',', '0', '00,000'],\n",
+ " '167': ['▁', '1', '6', '7'],\n",
+ " '17': ['▁', '1', '7'],\n",
+ " '18': ['▁', '1', '8'],\n",
+ " '18.1': ['▁', '1', '8', '.', '1'],\n",
+ " '1830': ['▁', '1', '8', '3', '0'],\n",
+ " \"1830's\": ['▁', '1', '8', '3', '0', \"'\", 's'],\n",
+ " '1834': ['▁', '1', '8', '3', '4'],\n",
+ " '1897': ['▁', '1', '8', '9', '7'],\n",
+ " '19': ['▁', '1', '9'],\n",
+ " '19.5': ['▁', '1', '9', '.', '5'],\n",
+ " '1910': ['▁', '1', '9', '10'],\n",
+ " '1913': ['▁', '1', '9', '1', '3'],\n",
+ " '1914': ['▁', '1', '9', '1', '4'],\n",
+ " '1914-18': ['▁', '1', '9', '1', '4', '-', '1', '8'],\n",
+ " '1918': ['▁', '1', '9', '1', '8'],\n",
+ " '1920': ['▁', '1', '9', '2', '0'],\n",
+ " '1930': ['▁', '1', '9', '3', '0'],\n",
+ " '1931': ['▁', '1', '9', '3', '1'],\n",
+ " '1932': ['▁', '1', '9', '3', '2'],\n",
+ " '1934': ['▁', '1', '9', '3', '4'],\n",
+ " '1936': ['▁', '1', '9', '3', '6'],\n",
+ " '1939': ['▁', '1', '9', '3', '9'],\n",
+ " '1943': ['▁', '1', '9', '4', '3'],\n",
+ " '1944': ['▁', '1', '9', '4', '4'],\n",
+ " '1950': ['▁', '1', '9', '5', '0'],\n",
+ " '1951': ['▁', '1', '9', '5', '1'],\n",
+ " '1952': ['▁', '1', '9', '5', '2'],\n",
+ " '1953': ['▁', '1', '9', '5', '3'],\n",
+ " '1954': ['▁', '1', '9', '5', '4'],\n",
+ " '1956': ['▁', '1', '9', '5', '6'],\n",
+ " '1957': ['▁', '1', '9', '5', '7'],\n",
+ " '1958': ['▁', '1', '9', '5', '8'],\n",
+ " '1959': ['▁', '1', '9', '5', '9'],\n",
+ " '1960': ['▁', '1960'],\n",
+ " '1960s': ['▁', '1960', 's'],\n",
+ " '1961': ['▁', '1', '9', '6', '1'],\n",
+ " '1963': ['▁', '1', '9', '6', '3'],\n",
+ " '19th': ['▁', '1', '9', 'th'],\n",
+ " '1superceded': ['▁', '1', 'superceded'],\n",
+ " \"1tho'\": ['▁', '1', 'tho', \"'\"],\n",
+ " '2': ['▁', '2'],\n",
+ " '2,000': ['▁', '2', ',', '0', '0', '0'],\n",
+ " '2,415,000,000': ['▁', '2', ',', '4', '1', '5', ',', '0', '00,000'],\n",
+ " '20': ['▁', '2', '0'],\n",
+ " '20-month-old': ['▁', '2', '0', '-', 'month', '-', 'old'],\n",
+ " '200': ['▁', '2', '0', '0'],\n",
+ " '20th-century': ['▁', '2', '0', 'th', '-', 'cent', 'ur', 'y'],\n",
+ " '21': ['▁', '2', '1'],\n",
+ " '210million': ['▁', '2', '10', 'million'],\n",
+ " '22': ['▁', '2', '2'],\n",
+ " '23.1': ['▁', '2', '3', '.', '1'],\n",
+ " '24': ['▁', '2', '4'],\n",
+ " '24-strong': ['▁', '2', '4', '-', 'strong'],\n",
+ " '25': ['▁', '2', '5'],\n",
+ " '27': ['▁', '2', '7'],\n",
+ " '28.5': ['▁', '2', '8', '.', '5'],\n",
+ " '280,000': ['▁', '2', '8', '0', ',', '0', '0', '0'],\n",
+ " '287': ['▁', '2', '8', '7'],\n",
+ " '288': ['▁', '2', '8', '8'],\n",
+ " '2bhoys': ['▁', '2', 'b', 'ho', 'y', 's'],\n",
+ " '2ole': ['▁', '2', 'o', 'le'],\n",
+ " '2pianna': ['▁', '2', 'p', 'i', 'an', 'n', 'a'],\n",
+ " '2skint': ['▁', '2', 's', 'k', 'in', 't'],\n",
+ " '3': ['▁', '3'],\n",
+ " '3,000': ['▁', '3', ',', '0', '0', '0'],\n",
+ " '3.6': ['▁', '3', '.', '6'],\n",
+ " '3/0': ['▁', '3', '/', '0'],\n",
+ " '3/4': ['▁', '3', '/', '4'],\n",
+ " '30': ['▁', '3', '0'],\n",
+ " '30-day': ['▁', '3', '0', '-', 'day'],\n",
+ " '30-minute': ['▁', '3', '0', '-', 'minute'],\n",
+ " '300,000': ['▁', '3', '00,000'],\n",
+ " '32': ['▁', '3', '2'],\n",
+ " '33': ['▁', '3', '3'],\n",
+ " '34': ['▁', '3', '4'],\n",
+ " '35': ['▁', '3', '5'],\n",
+ " '357million': ['▁', '3', '5', '7', 'million'],\n",
+ " '36': ['▁', '3', '6'],\n",
+ " '37,000,000': ['▁', '3', '7', ',', '0', '00,000'],\n",
+ " '37.2': ['▁', '3', '7', '.', '2'],\n",
+ " '38': ['▁', '3', '8'],\n",
+ " '4': ['▁', '4'],\n",
+ " '4.8': ['▁', '4', '.', '8'],\n",
+ " '40': ['▁', '4', '0'],\n",
+ " '400': ['▁', '4', '0', '0'],\n",
+ " '400,000': ['▁', '4', '00,000'],\n",
+ " '420000': ['▁', '4', '2', '0', '0', '0', '0'],\n",
+ " '43': ['▁', '4', '3'],\n",
+ " '450': ['▁', '4', '5', '0'],\n",
+ " '5': ['▁', '5'],\n",
+ " '5,000': ['▁', '5', ',', '0', '0', '0'],\n",
+ " '5.30': ['▁', '5', '.', '3', '0'],\n",
+ " '5/8': ['▁', '5', '/', '8'],\n",
+ " '50': ['▁', '5', '0'],\n",
+ " '50,000': ['▁', '5', '0', ',', '0', '0', '0'],\n",
+ " '500': ['▁', '5', '0', '0'],\n",
+ " '53-year-old': ['▁', '5', '3', '-', 'year', '-', 'old'],\n",
+ " '55': ['▁', '5', '5'],\n",
+ " '550,000': ['▁', '5', '5', '0', ',', '0', '0', '0'],\n",
+ " '58': ['▁', '5', '8'],\n",
+ " '6': ['▁', '6'],\n",
+ " '6,000': ['▁', '6', ',', '0', '0', '0'],\n",
+ " '60': ['▁', '6', '0'],\n",
+ " '600': ['▁', '6', '0', '0'],\n",
+ " '600,000': ['▁', '6', '00,000'],\n",
+ " '61-year-old': ['▁', '6', '1', '-', 'year', '-', 'old'],\n",
+ " '68': ['▁', '6', '8'],\n",
+ " '6al': ['▁', '6', 'al'],\n",
+ " '6tic': ['▁', '6', 'tic'],\n",
+ " '7.30': ['▁', '7', '.', '3', '0'],\n",
+ " '7.42': ['▁', '7', '.', '4', '2'],\n",
+ " '70': ['▁', '7', '0'],\n",
+ " '70,000,000': ['▁', '7', '0', ',', '0', '00,000'],\n",
+ " '707': ['▁', '7', '0', '7'],\n",
+ " '73': ['▁', '7', '3'],\n",
+ " '750': ['▁', '7', '5', '0'],\n",
+ " '8': ['▁', '8'],\n",
+ " '8,000,000': ['▁', '8', ',', '0', '00,000'],\n",
+ " '8.25': ['▁', '8', '.', '2', '5'],\n",
+ " '8.4': ['▁', '8', '.', '4'],\n",
+ " '80': ['▁', '8', '0'],\n",
+ " '800': ['▁', '8', '0', '0'],\n",
+ " '800,000': ['▁', '8', '00,000'],\n",
+ " '86': ['▁', '8', '6'],\n",
+ " '88': ['▁', '8', '8'],\n",
+ " '88-year-old': ['▁', '8', '8', '-', 'year', '-', 'old'],\n",
+ " '89': ['▁', '8', '9'],\n",
+ " '89-year-old': ['▁', '8', '9', '-', 'year', '-', 'old'],\n",
+ " '9.30': ['▁', '9', '.', '3', '0'],\n",
+ " '9.40': ['▁', '9', '.', '4', '0'],\n",
+ " '90-day': ['▁', '9', '0', '-', 'day'],\n",
+ " '90-minute': ['▁', '9', '0', '-', 'minute'],\n",
+ " '91': ['▁', '9', '1'],\n",
+ " '950': ['▁', '9', '5', '0'],\n",
+ " '97.5': ['▁', '9', '7', '.', '5'],\n",
+ " ':': ['▁', ':'],\n",
+ " ';': ['▁', ';'],\n",
+ " '?': ['▁', '?'],\n",
+ " 'a': ['▁', 'a'],\n",
+ " 'abandon': ['▁', 'a', 'b', 'and', 'on'],\n",
+ " 'abandoned': ['▁', 'a', 'b', 'and', 'on', 'ed'],\n",
+ " 'abandoning': ['▁', 'a', 'b', 'and', 'on', 'ing'],\n",
+ " 'abashed': ['▁', 'a', 'bas', 'he', 'd'],\n",
+ " 'ability': ['▁', 'a', 'b', 'il', 'ity'],\n",
+ " 'able': ['▁', 'able'],\n",
+ " 'able-bodied': ['▁', 'able', '-', 'bo', 'die', 'd'],\n",
+ " 'abolish': ['▁', 'a', 'bo', 'l', 'ish'],\n",
+ " 'abolished': ['▁', 'a', 'bo', 'l', 'ish', 'ed'],\n",
+ " 'abolition': ['▁', 'a', 'bo', 'li', 'tion'],\n",
+ " 'abortion': ['▁', 'a', 'b', 'or', 'tion'],\n",
+ " 'abou': ['▁', 'a', 'bo', 'u'],\n",
+ " 'about': ['▁', 'about'],\n",
+ " 'about-': ['▁', 'about', '-'],\n",
+ " 'above': ['▁', 'a', 'bo', 've'],\n",
+ " 'abreast': ['▁', 'a', 'br', 'east'],\n",
+ " 'abroad': ['▁', 'a', 'b', 'ro', 'ad'],\n",
+ " 'absence': ['▁', 'a', 'b', 's', 'ence'],\n",
+ " 'absent': ['▁', 'a', 'b', 's', 'ent'],\n",
+ " 'absolutely': ['▁', 'a', 'b', 'solut', 'e', 'ly'],\n",
+ " 'abstraction': ['▁', 'a', 'b', 's', 'tr', 'action'],\n",
+ " 'abundance': ['▁', 'a', 'b', 'un', 'd', 'ance'],\n",
+ " 'ac-': ['▁', 'ac', '-'],\n",
+ " 'academic': ['▁', 'ac', 'a', 'de', 'm', 'ic'],\n",
+ " 'accent': ['▁', 'ac', 'cent'],\n",
+ " 'accents': ['▁', 'ac', 'cent', 's'],\n",
+ " 'accept': ['▁', 'accept'],\n",
+ " 'acceptable': ['▁', 'accept', 'able'],\n",
+ " 'accepted': ['▁', 'accept', 'ed'],\n",
+ " 'accepting': ['▁', 'accept', 'ing'],\n",
+ " 'accessories': ['▁', 'ac', 'ce', 's', 'so', 'ries'],\n",
+ " 'accident': ['▁', 'ac', 'c', 'id', 'ent'],\n",
+ " 'accidental': ['▁', 'ac', 'c', 'id', 'ent', 'al'],\n",
+ " 'accommodate': ['▁', 'ac', 'com', 'mo', 'date'],\n",
+ " 'accommodation': ['▁', 'ac', 'com', 'mo', 'd', 'ation'],\n",
+ " 'accompanied': ['▁', 'ac', 'com', 'pan', 'i', 'ed'],\n",
+ " 'accompanist': ['▁', 'ac', 'com', 'pan', 'is', 't'],\n",
+ " 'accompany': ['▁', 'ac', 'com', 'p', 'any'],\n",
+ " 'accomplished': ['▁', 'ac', 'com', 'p', 'l', 'ish', 'ed'],\n",
+ " 'accomplishments': ['▁', 'ac', 'com', 'p', 'l', 'ish', 'ment', 's'],\n",
+ " 'according': ['▁', 'ac', 'c', 'or', 'd', 'ing'],\n",
+ " 'account': ['▁', 'ac', 'count'],\n",
+ " 'accountancy': ['▁', 'ac', 'count', 'an', 'c', 'y'],\n",
+ " 'accra': ['▁', 'ac', 'c', 'ra'],\n",
+ " \"accra's\": ['▁', 'ac', 'c', 'ra', \"'\", 's'],\n",
+ " 'accuracy': ['▁', 'ac', 'cur', 'ac', 'y'],\n",
+ " 'accurate': ['▁', 'ac', 'cur', 'ate'],\n",
+ " 'accurately': ['▁', 'ac', 'cur', 'ate', 'ly'],\n",
+ " 'accused': ['▁', 'ac', 'c', 'used'],\n",
+ " 'achieved': ['▁', 'a', 'ch', 'i', 'e', 'v', 'ed'],\n",
+ " 'achievement': ['▁', 'a', 'ch', 'i', 'e', 've', 'ment'],\n",
+ " 'acquaintance': ['▁', 'ac', 'q', 'u', 'a', 'in', 't', 'ance'],\n",
+ " 'acquaintances': ['▁', 'ac', 'q', 'u', 'a', 'in', 't', 'ance', 's'],\n",
+ " 'acres': ['▁', 'ac', 're', 's'],\n",
+ " 'across': ['▁', 'a', 'cross'],\n",
+ " 'act': ['▁', 'act'],\n",
+ " 'acting': ['▁', 'act', 'ing'],\n",
+ " 'action': ['▁', 'action'],\n",
+ " 'actions': ['▁', 'action', 's'],\n",
+ " 'active': ['▁', 'act', 'ive'],\n",
+ " 'activists': ['▁', 'act', 'i', 'vi', 'st', 's'],\n",
+ " 'activities': ['▁', 'act', 'i', 'v', 'it', 'ies'],\n",
+ " 'activity': ['▁', 'act', 'i', 'v', 'ity'],\n",
+ " 'acton': ['▁', 'act', 'on'],\n",
+ " 'actor': ['▁', 'act', 'or'],\n",
+ " 'actress': ['▁', 'act', 're', 's', 's'],\n",
+ " 'acts': ['▁', 'act', 's'],\n",
+ " 'actual': ['▁', 'act', 'ual'],\n",
+ " 'actually': ['▁', 'act', 'ual', 'ly'],\n",
+ " 'adamafio': ['▁', 'ad', 'a', 'ma', 'f', 'i', 'o'],\n",
+ " 'adaptation': ['▁', 'ad', 'ap', 't', 'ation'],\n",
+ " 'adapted': ['▁', 'ad', 'ap', 'ted'],\n",
+ " 'adapting': ['▁', 'ad', 'ap', 't', 'ing'],\n",
+ " 'add': ['▁', 'ad', 'd'],\n",
+ " 'added': ['▁', 'ad', 'd', 'ed'],\n",
+ " 'adding': ['▁', 'adding'],\n",
+ " 'addition': ['▁', 'ad', 'd', 'it', 'ion'],\n",
+ " 'additions': ['▁', 'ad', 'd', 'it', 'ion', 's'],\n",
+ " 'address': ['▁', 'ad', 'dr', 'es', 's'],\n",
+ " 'addressed': ['▁', 'ad', 'dr', 'es', 's', 'ed'],\n",
+ " 'addresses': ['▁', 'ad', 'dr', 'es', 'se', 's'],\n",
+ " 'addressing': ['▁', 'ad', 'dr', 'es', 's', 'ing'],\n",
+ " 'adenauer': ['▁', 'adenauer'],\n",
+ " \"adenauer's\": ['▁', 'adenauer', \"'\", 's'],\n",
+ " 'adequate': ['▁', 'ad', 'equa', 'te'],\n",
+ " 'adhem': ['▁', 'ad', 'he', 'm'],\n",
+ " 'adjust': ['▁', 'ad', 'just'],\n",
+ " 'adjustment': ['▁', 'ad', 'just', 'ment'],\n",
+ " 'administration': ['▁', 'ad', 'ministr', 'ation'],\n",
+ " \"administration's\": ['▁', 'ad', 'ministr', 'ation', \"'\", 's'],\n",
+ " 'administrative': ['▁', 'ad', 'ministr', 'at', 'ive'],\n",
+ " 'admiralty': ['▁', 'ad', 'm', 'i', 'r', 'al', 'ty'],\n",
+ " 'admire': ['▁', 'ad', 'm', 'i', 're'],\n",
+ " 'admit': ['▁', 'ad', 'm', 'it'],\n",
+ " 'admitted': ['▁', 'ad', 'm', 'it', 'ted'],\n",
+ " 'admitting': ['▁', 'ad', 'm', 'it', 't', 'ing'],\n",
+ " 'adopted': ['▁', 'a', 'do', 'p', 'ted'],\n",
+ " 'adopting': ['▁', 'a', 'do', 'p', 't', 'ing'],\n",
+ " 'adoption': ['▁', 'a', 'do', 'p', 'tion'],\n",
+ " 'adult': ['▁', 'ad', 'ul', 't'],\n",
+ " 'advance': ['▁', 'ad', 'v', 'ance'],\n",
+ " 'advanced': ['▁', 'ad', 'v', 'ance', 'd'],\n",
+ " 'advancing': ['▁', 'ad', 'v', 'an', 'c', 'ing'],\n",
+ " 'advantage': ['▁', 'advantage'],\n",
+ " 'advantages': ['▁', 'advantage', 's'],\n",
+ " 'advertisement': ['▁', 'ad', 'ver', 't', 'is', 'e', 'ment'],\n",
+ " 'advertisements': ['▁', 'ad', 'ver', 't', 'is', 'ements'],\n",
+ " 'advice': ['▁', 'advi', 'ce'],\n",
+ " 'advisability': ['▁', 'advi', 's', 'a', 'b', 'il', 'ity'],\n",
+ " 'advise': ['▁', 'advise'],\n",
+ " 'advised': ['▁', 'advise', 'd'],\n",
+ " 'advisers': ['▁', 'advise', 'r', 's'],\n",
+ " 'advocate': ['▁', 'ad', 'v', 'o', 'c', 'ate'],\n",
+ " 'af-': ['▁', 'a', 'f', '-'],\n",
+ " 'affairs': ['▁', 'a', 'f', 'f', 'air', 's'],\n",
+ " 'affected': ['▁', 'a', 'f', 'fe', 'c', 'ted'],\n",
+ " 'affection': ['▁', 'a', 'f', 'fe', 'c', 'tion'],\n",
+ " 'affilia-': ['▁', 'a', 'f', 'f', 'il', 'i', 'a', '-'],\n",
+ " 'affiliations': ['▁', 'a', 'f', 'f', 'il', 'i', 'ation', 's'],\n",
+ " 'affluence': ['▁', 'a', 'f', 'f', 'l', 'u', 'ence'],\n",
+ " 'affluent': ['▁', 'a', 'f', 'f', 'l', 'u', 'ent'],\n",
+ " 'afford': ['▁', 'a', 'f', 'for', 'd'],\n",
+ " 'afraid': ['▁', 'a', 'fr', 'a', 'id'],\n",
+ " 'africa': ['▁', 'africa'],\n",
+ " \"africa's\": ['▁', 'africa', \"'\", 's'],\n",
+ " 'african': ['▁', 'african'],\n",
+ " 'africans': ['▁', 'african', 's'],\n",
+ " 'after': ['▁', 'after'],\n",
+ " 'afternoon': ['▁', 'after', 'no', 'on'],\n",
+ " 'afterwards': ['▁', 'after', 'ward', 's'],\n",
+ " 'again': ['▁', 'again'],\n",
+ " 'against': ['▁', 'against'],\n",
+ " 'age': ['▁', 'age'],\n",
+ " 'age-structure': ['▁', 'age', '-', 's', 'tru', 'c', 'ture'],\n",
+ " 'aged': ['▁', 'aged'],\n",
+ " 'ageing': ['▁', 'age', 'ing'],\n",
+ " 'agent': ['▁', 'a', 'g', 'ent'],\n",
+ " 'agents': ['▁', 'a', 'g', 'ent', 's'],\n",
+ " 'ages': ['▁', 'age', 's'],\n",
+ " 'agitation': ['▁', 'a', 'g', 'it', 'ation'],\n",
+ " 'ago': ['▁', 'a', 'go'],\n",
+ " 'agree': ['▁', 'agree'],\n",
+ " 'agreed': ['▁', 'agree', 'd'],\n",
+ " 'agreement': ['▁', 'agree', 'ment'],\n",
+ " 'agreements': ['▁', 'agree', 'ment', 's'],\n",
+ " 'agriculture': ['▁', 'a', 'gr', 'ic', 'ul', 'ture'],\n",
+ " 'ahead': ['▁', 'a', 'head'],\n",
+ " 'aid': ['▁', 'a', 'id'],\n",
+ " 'aide': ['▁', 'a', 'i', 'de'],\n",
+ " 'aided': ['▁', 'a', 'id', 'ed'],\n",
+ " 'aides': ['▁', 'a', 'id', 'es'],\n",
+ " 'aim': ['▁', 'a', 'im'],\n",
+ " 'aimed': ['▁', 'a', 'im', 'ed'],\n",
+ " 'aiming': ['▁', 'a', 'im', 'ing'],\n",
+ " 'air': ['▁', 'air'],\n",
+ " 'aircraft': ['▁', 'air', 'craft'],\n",
+ " 'aired': ['▁', 'air', 'ed'],\n",
+ " \"airliner's\": ['▁', 'air', 'line', 'r', \"'\", 's'],\n",
+ " 'airmen': ['▁', 'air', 'men'],\n",
+ " 'airport': ['▁', 'air', 'port'],\n",
+ " 'akin': ['▁', 'a', 'k', 'in'],\n",
+ " \"aladdin's\": ['▁', 'al', 'ad', 'd', 'in', \"'\", 's'],\n",
+ " 'alan': ['▁', 'al', 'an'],\n",
+ " 'alarm': ['▁', 'al', 'arm'],\n",
+ " 'alarmed': ['▁', 'al', 'arm', 'ed'],\n",
+ " 'alas': ['▁', 'al', 'as'],\n",
+ " 'alcoholic': ['▁', 'al', 'co', 'ho', 'li', 'c'],\n",
+ " 'algeria': ['▁', 'al', 'g', 'er', 'i', 'a'],\n",
+ " 'alike': ['▁', 'a', 'like'],\n",
+ " 'alive': ['▁', 'a', 'live'],\n",
+ " 'all': ['▁', 'all'],\n",
+ " 'all-regular': ['▁', 'all', '-', 'regular'],\n",
+ " 'alleged': ['▁', 'al', 'leg', 'ed'],\n",
+ " 'allen': ['▁', 'all', 'en'],\n",
+ " 'alleviation': ['▁', 'alleviation'],\n",
+ " 'alley': ['▁', 'al', 'le', 'y'],\n",
+ " 'alliance': ['▁', 'all', 'i', 'ance'],\n",
+ " 'alliances': ['▁', 'all', 'i', 'ance', 's'],\n",
+ " 'allied': ['▁', 'all', 'i', 'ed'],\n",
+ " 'allies': ['▁', 'all', 'ies'],\n",
+ " 'allow': ['▁', 'allow'],\n",
+ " 'allowance': ['▁', 'allow', 'ance'],\n",
+ " 'allowances': ['▁', 'allow', 'ance', 's'],\n",
+ " 'allowed': ['▁', 'allow', 'ed'],\n",
+ " 'allowing': ['▁', 'allow', 'ing'],\n",
+ " 'ally': ['▁', 'al', 'ly'],\n",
+ " 'almost': ['▁', 'al', 'most'],\n",
+ " 'alone': ['▁', 'al', 'one'],\n",
+ " 'along': ['▁', 'a', 'long'],\n",
+ " 'alongside': ['▁', 'a', 'long', 'side'],\n",
+ " 'aloud': ['▁', 'a', 'lo', 'ud'],\n",
+ " 'already': ['▁', 'al', 'read', 'y'],\n",
+ " 'also': ['▁', 'also'],\n",
+ " 'alter': ['▁', 'al', 'ter'],\n",
+ " 'alternative': ['▁', 'al', 'ter', 'n', 'at', 'ive'],\n",
+ " 'alternatively': ['▁', 'al', 'ter', 'n', 'at', 'ive', 'ly'],\n",
+ " 'alternatives': ['▁', 'al', 'ter', 'n', 'at', 'ive', 's'],\n",
+ " 'although': ['▁', 'al', 'though'],\n",
+ " 'altogether': ['▁', 'al', 'together'],\n",
+ " 'altos': ['▁', 'al', 'to', 's'],\n",
+ " 'always': ['▁', 'always'],\n",
+ " 'am': ['▁', 'am'],\n",
+ " 'amateur': ['▁', 'am', 'ate', 'ur'],\n",
+ " 'amazed': ['▁', 'a', 'ma', 'z', 'ed'],\n",
+ " 'amazing': ['▁', 'a', 'ma', 'z', 'ing'],\n",
+ " 'ambassador': ['▁', 'am', 'bas', 's', 'ad', 'or'],\n",
+ " 'amber': ['▁', 'a', 'mber'],\n",
+ " 'ambition': ['▁', 'am', 'b', 'it', 'ion'],\n",
+ " 'ambitious': ['▁', 'am', 'b', 'it', 'i', 'ous'],\n",
+ " 'ambulance': ['▁', 'am', 'b', 'ul', 'ance'],\n",
+ " 'ambulances': ['▁', 'am', 'b', 'ul', 'ance', 's'],\n",
+ " 'america': ['▁', 'america'],\n",
+ " \"america's\": ['▁', 'america', \"'\", 's'],\n",
+ " 'american': ['▁', 'american'],\n",
+ " 'american-born': ['▁', 'american', '-', 'b', 'or', 'n'],\n",
+ " 'americans': ['▁', 'american', 's'],\n",
+ " 'amid': ['▁', 'am', 'id'],\n",
+ " 'ammunition': ['▁', 'am', 'm', 'un', 'it', 'ion'],\n",
+ " 'among': ['▁', 'among'],\n",
+ " 'amount': ['▁', 'a', 'mo', 'un', 't'],\n",
+ " 'ample': ['▁', 'amp', 'le'],\n",
+ " 'amusement': ['▁', 'am', 'use', 'ment'],\n",
+ " 'amusing': ['▁', 'am', 'us', 'ing'],\n",
+ " 'an': ['▁', 'an'],\n",
+ " 'analogy': ['▁', 'an', 'a', 'lo', 'g', 'y'],\n",
+ " 'analysed': ['▁', 'an', 'a', 'ly', 's', 'ed'],\n",
+ " 'anchor': ['▁', 'an', 'ch', 'or'],\n",
+ " 'ancient': ['▁', 'an', 'c', 'i', 'ent'],\n",
+ " 'and': ['▁', 'and'],\n",
+ " 'andrei': ['▁', 'and', 're', 'i'],\n",
+ " 'andrew': ['▁', 'and', 're', 'w'],\n",
+ " 'anecdotal': ['▁', 'an', 'e', 'c', 'do', 't', 'al'],\n",
+ " 'angel': ['▁', 'ang', 'el'],\n",
+ " 'angeles': ['▁', 'ang', 'el', 'es'],\n",
+ " 'angelo': ['▁', 'ang', 'e', 'lo'],\n",
+ " 'anger': ['▁', 'ang', 'er'],\n",
+ " 'anglais': ['▁', 'ang', 'la', 'is'],\n",
+ " 'angle': ['▁', 'ang', 'le'],\n",
+ " 'anglesey': ['▁', 'anglesey'],\n",
+ " \"anglesey's\": ['▁', 'anglesey', \"'\", 's'],\n",
+ " 'anglesey-road': ['▁', 'anglesey', '-', 'ro', 'ad'],\n",
+ " 'angola': ['▁', 'an', 'go', 'la'],\n",
+ " 'angrily': ['▁', 'an', 'gr', 'i', 'ly'],\n",
+ " 'angry': ['▁', 'ang', 'ry'],\n",
+ " 'ann': ['▁', 'an', 'n'],\n",
+ " 'anna': ['▁', 'an', 'n', 'a'],\n",
+ " 'announced': ['▁', 'an', 'no', 'un', 'c', 'ed'],\n",
+ " 'announcement': ['▁', 'an', 'no', 'un', 'ce', 'ment'],\n",
+ " 'announcing': ['▁', 'an', 'no', 'un', 'c', 'ing'],\n",
+ " 'annoyed': ['▁', 'an', 'no', 'y', 'ed'],\n",
+ " 'annual': ['▁', 'an', 'n', 'ual'],\n",
+ " 'another': ['▁', 'another'],\n",
+ " 'answer': ['▁', 'answer'],\n",
+ " 'answered': ['▁', 'answer', 'ed'],\n",
+ " 'answering': ['▁', 'answer', 'ing'],\n",
+ " 'antagonism': ['▁', 'ant', 'a', 'g', 'on', 'is', 'm'],\n",
+ " 'anthony': ['▁', 'an', 'th', 'on', 'y'],\n",
+ " 'anti-apartheid': ['▁', 'ant', 'i', '-', 'a', 'part', 'he', 'id'],\n",
+ " 'anti-bomb': ['▁', 'ant', 'i', '-', 'bomb'],\n",
+ " 'anti-german': ['▁', 'ant', 'i', '-', 'german'],\n",
+ " 'anti-nato': ['▁', 'ant', 'i', '-', 'nato'],\n",
+ " 'anti-negro': ['▁', 'ant', 'i', '-', 'negro'],\n",
+ " 'anti-nuclear': ['▁', 'ant', 'i', '-', 'nuclear'],\n",
+ " 'anti-soviet': ['▁', 'ant', 'i', '-', 'soviet'],\n",
+ " 'anti-tory': ['▁', 'ant', 'i', '-', 'tory'],\n",
+ " 'anticipation': ['▁', 'an', 'tic', 'ip', 'ation'],\n",
+ " 'antonioni': ['▁', 'ant', 'on', 'ion', 'i'],\n",
+ " \"antonioni's\": ['▁', 'ant', 'on', 'ion', 'i', \"'\", 's'],\n",
+ " 'any': ['▁', 'any'],\n",
+ " 'any-': ['▁', 'any', '-'],\n",
+ " 'anybody': ['▁', 'any', 'body'],\n",
+ " \"anybody's\": ['▁', 'any', 'body', \"'\", 's'],\n",
+ " 'anyone': ['▁', 'any', 'one'],\n",
+ " 'anything': ['▁', 'any', 'thing'],\n",
+ " 'anyway': ['▁', 'any', 'way'],\n",
+ " 'apart': ['▁', 'a', 'part'],\n",
+ " 'apartheid': ['▁', 'a', 'part', 'he', 'id'],\n",
+ " 'apathetic': ['▁', 'a', 'pa', 'the', 'tic'],\n",
+ " 'apathy': ['▁', 'a', 'pa', 'th', 'y'],\n",
+ " 'apex': ['▁', 'ap', 'ex'],\n",
+ " 'apocalypse': ['▁', 'a', 'po', 'c', 'a', 'ly', 'p', 'se'],\n",
+ " 'apologising': ['▁', 'a', 'po', 'lo', 'g', 'is', 'ing'],\n",
+ " 'appalled': ['▁', 'app', 'all', 'ed'],\n",
+ " 'appalling': ['▁', 'app', 'all', 'ing'],\n",
+ " 'apparatus': ['▁', 'app', 'ar', 'at', 'us'],\n",
+ " 'apparent': ['▁', 'app', 'ar', 'ent'],\n",
+ " 'apparently': ['▁', 'app', 'ar', 'ent', 'ly'],\n",
+ " 'appeal': ['▁', 'appeal'],\n",
+ " 'appealing': ['▁', 'appeal', 'ing'],\n",
+ " 'appeals': ['▁', 'appeal', 's'],\n",
+ " 'appear': ['▁', 'appear'],\n",
+ " 'appearance': ['▁', 'appear', 'ance'],\n",
+ " 'appeared': ['▁', 'appear', 'ed'],\n",
+ " 'appears': ['▁', 'appear', 's'],\n",
+ " 'appeasement': ['▁', 'app', 'e', 'a', 'se', 'ment'],\n",
+ " 'applauding': ['▁', 'app', 'la', 'ud', 'ing'],\n",
+ " 'appliances': ['▁', 'app', 'li', 'ance', 's'],\n",
+ " 'application': ['▁', 'app', 'li', 'c', 'ation'],\n",
+ " 'applications': ['▁', 'app', 'li', 'c', 'ation', 's'],\n",
+ " 'applied': ['▁', 'app', 'li', 'ed'],\n",
+ " 'apply': ['▁', 'app', 'ly'],\n",
+ " 'appointed': ['▁', 'ap', 'point', 'ed'],\n",
+ " 'appointment': ['▁', 'ap', 'point', 'ment'],\n",
+ " 'appreciable': ['▁', 'app', 're', 'c', 'i', 'able'],\n",
+ " 'appreciably': ['▁', 'app', 're', 'c', 'i', 'ably'],\n",
+ " 'appreciated': ['▁', 'app', 're', 'c', 'i', 'at', 'ed'],\n",
+ " 'appreciation': ['▁', 'app', 're', 'c', 'i', 'ation'],\n",
+ " 'apprenticeships': ['▁', 'app', 'r', 'ent', 'i', 'ce', 'ship', 's'],\n",
+ " 'approach': ['▁', 'ap', 'pro', 'a', 'ch'],\n",
+ " 'approached': ['▁', 'ap', 'pro', 'a', 'ch', 'ed'],\n",
+ " 'approaches': ['▁', 'ap', 'pro', 'a', 'che', 's'],\n",
+ " 'appropriate': ['▁', 'ap', 'pro', 'pri', 'ate'],\n",
+ " 'appropriated': ['▁', 'ap', 'pro', 'pri', 'at', 'ed'],\n",
+ " 'approval': ['▁', 'ap', 'pro', 'val'],\n",
+ " 'approximately': ['▁', 'ap', 'pro', 'x', 'im', 'ate', 'ly'],\n",
+ " 'april': ['▁', 'a', 'pri', 'l'],\n",
+ " 'archbishop': ['▁', 'ar', 'ch', 'b', 'is', 'hop'],\n",
+ " 'arches': ['▁', 'ar', 'che', 's'],\n",
+ " 'archipelago': ['▁', 'ar', 'ch', 'i', 'pe', 'la', 'go'],\n",
+ " 'architect': ['▁', 'ar', 'ch', 'it', 'e', 'c', 't'],\n",
+ " 'architecture': ['▁', 'ar', 'ch', 'it', 'e', 'c', 'ture'],\n",
+ " 'are': ['▁', 'are'],\n",
+ " 'area': ['▁', 'are', 'a'],\n",
+ " 'areas': ['▁', 'are', 'as'],\n",
+ " \"aren't\": ['▁', 'are', 'n', \"'\", 't'],\n",
+ " 'arguably': ['▁', 'ar', 'gu', 'ably'],\n",
+ " 'argued': ['▁', 'ar', 'gu', 'ed'],\n",
+ " 'argues': ['▁', 'ar', 'gu', 'es'],\n",
+ " 'arguing': ['▁', 'ar', 'gu', 'ing'],\n",
+ " 'argument': ['▁', 'ar', 'gu', 'ment'],\n",
+ " 'arguments': ['▁', 'ar', 'gu', 'ment', 's'],\n",
+ " 'arise': ['▁', 'a', 'rise'],\n",
+ " 'arises': ['▁', 'a', 'rise', 's'],\n",
+ " 'arm': ['▁', 'arm'],\n",
+ " 'armament': ['▁', 'arm', 'a', 'ment'],\n",
+ " 'armaments': ['▁', 'arm', 'a', 'ment', 's'],\n",
+ " 'armed': ['▁', 'arm', 'ed'],\n",
+ " 'armoured': ['▁', 'arm', 'our', 'ed'],\n",
+ " 'arms': ['▁', 'arm', 's'],\n",
+ " \"arms'\": ['▁', 'arm', 's', \"'\"],\n",
+ " 'army': ['▁', 'arm', 'y'],\n",
+ " 'arnold': ['▁', 'ar', 'n', 'old'],\n",
+ " 'arose': ['▁', 'a', 'ro', 'se'],\n",
+ " 'around': ['▁', 'a', 'round'],\n",
+ " 'aroused': ['▁', 'ar', 'ous', 'ed'],\n",
+ " 'arrange': ['▁', 'ar', 'range'],\n",
+ " 'arranged': ['▁', 'ar', 'range', 'd'],\n",
+ " 'arrangement': ['▁', 'ar', 'range', 'ment'],\n",
+ " 'arrangements': ['▁', 'ar', 'range', 'ment', 's'],\n",
+ " 'arranging': ['▁', 'ar', 'r', 'ang', 'ing'],\n",
+ " 'arrears': ['▁', 'ar', 're', 'ar', 's'],\n",
+ " 'arrested': ['▁', 'ar', 'rest', 'ed'],\n",
+ " 'arrival': ['▁', 'ar', 'r', 'i', 'val'],\n",
+ " 'arrive': ['▁', 'ar', 'r', 'ive'],\n",
+ " 'arrived': ['▁', 'arrived'],\n",
+ " 'arrives': ['▁', 'ar', 'r', 'ive', 's'],\n",
+ " 'arrogant': ['▁', 'ar', 'ro', 'g', 'ant'],\n",
+ " 'art': ['▁', 'ar', 't'],\n",
+ " 'arthur': ['▁', 'ar', 'th', 'ur'],\n",
+ " 'article': ['▁', 'ar', 'tic', 'le'],\n",
+ " 'articles': ['▁', 'ar', 'tic', 'le', 's'],\n",
+ " 'articulation': ['▁', 'ar', 'tic', 'ul', 'ation'],\n",
+ " 'artistic': ['▁', 'ar', 'tist', 'ic'],\n",
+ " 'artistically': ['▁', 'ar', 'tist', 'ical', 'ly'],\n",
+ " 'artistry': ['▁', 'ar', 'tist', 'ry'],\n",
+ " 'artists': ['▁', 'ar', 'tist', 's'],\n",
+ " 'as': ['▁', 'as'],\n",
+ " 'ascents': ['▁', 'as', 'cent', 's'],\n",
+ " 'ash': ['▁', 'as', 'h'],\n",
+ " 'ashen': ['▁', 'as', 'he', 'n'],\n",
+ " 'ask': ['▁', 'as', 'k'],\n",
+ " 'asked': ['▁', 'asked'],\n",
+ " 'asking': ['▁', 'asking'],\n",
+ " 'aspect': ['▁', 'a', 'spect'],\n",
+ " 'aspects': ['▁', 'a', 'spect', 's'],\n",
+ " 'aspiring': ['▁', 'as', 'p', 'i', 'r', 'ing'],\n",
+ " 'assault': ['▁', 'as', 's', 'a', 'ul', 't'],\n",
+ " 'assembler': ['▁', 'as', 'se', 'm', 'bl', 'er'],\n",
+ " 'assembly': ['▁', 'as', 'se', 'm', 'b', 'ly'],\n",
+ " 'assess': ['▁', 'as', 'se', 's', 's'],\n",
+ " 'assessment': ['▁', 'as', 'se', 's', 's', 'ment'],\n",
+ " 'assistance': ['▁', 'as', 's', 'istance'],\n",
+ " 'assistant': ['▁', 'as', 's', 'is', 't', 'ant'],\n",
+ " 'assistants': ['▁', 'as', 's', 'is', 't', 'ant', 's'],\n",
+ " 'associate': ['▁', 'associat', 'e'],\n",
+ " 'associated': ['▁', 'associat', 'ed'],\n",
+ " 'associates': ['▁', 'associat', 'es'],\n",
+ " 'association': ['▁', 'associat', 'ion'],\n",
+ " 'assortment': ['▁', 'as', 's', 'or', 't', 'ment'],\n",
+ " 'assumption': ['▁', 'assumption'],\n",
+ " 'assurance': ['▁', 'as', 's', 'ur', 'ance'],\n",
+ " 'astronaut': ['▁', 'as', 'tr', 'on', 'a', 'u', 't'],\n",
+ " 'astute': ['▁', 'a', 'st', 'u', 'te'],\n",
+ " 'at': ['▁', 'at'],\n",
+ " 'ately': ['▁', 'ate', 'ly'],\n",
+ " 'atkinson': ['▁', 'at', 'k', 'in', 's', 'on'],\n",
+ " 'atlantic': ['▁', 'at', 'l', 'an', 'tic'],\n",
+ " 'atmosphere': ['▁', 'atmospher', 'e'],\n",
+ " 'atmospheric': ['▁', 'atmospher', 'ic'],\n",
+ " 'atomic': ['▁', 'a', 'to', 'm', 'ic'],\n",
+ " 'atoms': ['▁', 'a', 'to', 'm', 's'],\n",
+ " 'attach': ['▁', 'at', 't', 'a', 'ch'],\n",
+ " 'attached': ['▁', 'at', 't', 'a', 'ch', 'ed'],\n",
+ " 'attack': ['▁', 'at', 't', 'a', 'ck'],\n",
+ " 'attacked': ['▁', 'at', 't', 'a', 'ck', 'ed'],\n",
+ " 'attacks': ['▁', 'at', 't', 'a', 'ck', 's'],\n",
+ " 'attainable': ['▁', 'at', 'tain', 'able'],\n",
+ " 'attempt': ['▁', 'attempt'],\n",
+ " 'attempted': ['▁', 'attempt', 'ed'],\n",
+ " 'attempting': ['▁', 'attempt', 'ing'],\n",
+ " 'attempts': ['▁', 'attempt', 's'],\n",
+ " 'atten-': ['▁', 'at', 'ten', '-'],\n",
+ " 'attend': ['▁', 'at', 't', 'end'],\n",
+ " 'attendance': ['▁', 'at', 't', 'end', 'ance'],\n",
+ " 'attended': ['▁', 'at', 't', 'end', 'ed'],\n",
+ " 'attending': ['▁', 'at', 't', 'end', 'ing'],\n",
+ " 'attention': ['▁', 'at', 'ten', 'tion'],\n",
+ " 'attitude': ['▁', 'at', 't', 'it', 'u', 'de'],\n",
+ " 'attitudes': ['▁', 'at', 't', 'it', 'ud', 'es'],\n",
+ " 'attracted': ['▁', 'at', 'tr', 'act', 'ed'],\n",
+ " 'attractive': ['▁', 'at', 'tr', 'act', 'ive'],\n",
+ " 'aubrey': ['▁', 'a', 'u', 'b', 're', 'y'],\n",
+ " 'audacity': ['▁', 'a', 'ud', 'ac', 'ity'],\n",
+ " 'auden': ['▁', 'a', 'ud', 'en'],\n",
+ " 'audience': ['▁', 'a', 'ud', 'i', 'ence'],\n",
+ " 'audio-tv': ['▁', 'a', 'ud', 'i', 'o', '-', 't', 'v'],\n",
+ " 'audited': ['▁', 'a', 'ud', 'it', 'ed'],\n",
+ " 'august': ['▁', 'a', 'ug', 'u', 'st'],\n",
+ " 'auntie': ['▁', 'a', 'un', 't', 'i', 'e'],\n",
+ " 'austerity': ['▁', 'a', 'u', 'ster', 'ity'],\n",
+ " 'australia': ['▁', 'a', 'us', 'tr', 'al', 'i', 'a'],\n",
+ " 'austria': ['▁', 'a', 'us', 'tri', 'a'],\n",
+ " 'austrian': ['▁', 'a', 'us', 'tri', 'an'],\n",
+ " 'authentic': ['▁', 'a', 'u', 'then', 'tic'],\n",
+ " 'author': ['▁', 'author'],\n",
+ " 'authorised': ['▁', 'author', 'is', 'ed'],\n",
+ " 'authorities': ['▁', 'author', 'it', 'ies'],\n",
+ " 'authority': ['▁', 'author', 'ity'],\n",
+ " 'automatically': ['▁', 'a', 'u', 'to', 'm', 'at', 'ical', 'ly'],\n",
+ " 'automation': ['▁', 'a', 'u', 'to', 'm', 'ation'],\n",
+ " 'autumn': ['▁', 'a', 'u', 't', 'um', 'n'],\n",
+ " 'available': ['▁', 'a', 'v', 'a', 'il', 'able'],\n",
+ " 'avenue': ['▁', 'a', 've', 'n', 'ue'],\n",
+ " 'average': ['▁', 'a', 'ver', 'age'],\n",
+ " 'averages': ['▁', 'a', 'ver', 'age', 's'],\n",
+ " 'avert': ['▁', 'a', 'ver', 't'],\n",
+ " 'aviation': ['▁', 'a', 'vi', 'ation'],\n",
+ " 'avoid': ['▁', 'a', 'v', 'o', 'id'],\n",
+ " 'avoided': ['▁', 'a', 'v', 'o', 'id', 'ed'],\n",
+ " 'avon': ['▁', 'a', 'v', 'on'],\n",
+ " 'awake': ['▁', 'a', 'w', 'a', 'ke'],\n",
+ " 'awarded': ['▁', 'a', 'ward', 'ed'],\n",
+ " 'awards': ['▁', 'a', 'ward', 's'],\n",
+ " 'aware': ['▁', 'a', 'w', 'are'],\n",
+ " 'awareness': ['▁', 'a', 'w', 'are', 'ness'],\n",
+ " 'away': ['▁', 'a', 'way'],\n",
+ " 'awful': ['▁', 'a', 'w', 'ful'],\n",
+ " 'awfully': ['▁', 'a', 'w', 'ful', 'ly'],\n",
+ " 'b': ['▁', 'b'],\n",
+ " 'b.': ['▁', 'b', '.'],\n",
+ " 'b.b.c.': ['▁', 'b', '.', 'b', '.', 'c', '.'],\n",
+ " 'babe': ['▁', 'b', 'a', 'be'],\n",
+ " 'babel': ['▁', 'b', 'a', 'be', 'l'],\n",
+ " 'bably': ['▁', 'b', 'ably'],\n",
+ " 'baby': ['▁', 'b', 'a', 'by'],\n",
+ " \"baby's\": ['▁', 'b', 'a', 'by', \"'\", 's'],\n",
+ " 'back': ['▁', 'back'],\n",
+ " 'backbone': ['▁', 'back', 'b', 'one'],\n",
+ " 'backed': ['▁', 'back', 'ed'],\n",
+ " 'backers': ['▁', 'back', 'ers'],\n",
+ " 'background': ['▁', 'back', 'ground'],\n",
+ " 'backing': ['▁', 'back', 'ing'],\n",
+ " 'backstage': ['▁', 'back', 'st', 'age'],\n",
+ " 'backward': ['▁', 'back', 'ward'],\n",
+ " 'bad': ['▁', 'b', 'ad'],\n",
+ " 'badly': ['▁', 'b', 'ad', 'ly'],\n",
+ " 'baffled': ['▁', 'b', 'a', 'f', 'f', 'led'],\n",
+ " 'bag': ['▁', 'b', 'a', 'g'],\n",
+ " 'bagaya': ['▁', 'b', 'a', 'gay', 'a'],\n",
+ " 'baker': ['▁', 'b', 'a', 'k', 'er'],\n",
+ " 'balance': ['▁', 'b', 'al', 'ance'],\n",
+ " 'balance-sheet': ['▁', 'b', 'al', 'ance', '-', 'she', 'e', 't'],\n",
+ " 'balances': ['▁', 'b', 'al', 'ance', 's'],\n",
+ " 'bald': ['▁', 'b', 'al', 'd'],\n",
+ " 'ball': ['▁', 'b', 'all'],\n",
+ " 'balloon': ['▁', 'b', 'all', 'o', 'on'],\n",
+ " 'ballyhoo': ['▁', 'b', 'al', 'ly', 'ho', 'o'],\n",
+ " 'baltic': ['▁', 'b', 'al', 'tic'],\n",
+ " 'ban': ['▁', 'b', 'an'],\n",
+ " 'ban-': ['▁', 'b', 'an', '-'],\n",
+ " 'ban-the-': ['▁', 'b', 'an', '-', 'the', '-'],\n",
+ " 'ban-the-bomb': ['▁', 'b', 'an', '-', 'the', '-', 'bomb'],\n",
+ " 'bank': ['▁', 'bank'],\n",
+ " \"bank's\": ['▁', 'bank', \"'\", 's'],\n",
+ " 'banking': ['▁', 'bank', 'ing'],\n",
+ " 'bankrupt': ['▁', 'bank', 'r', 'up', 't'],\n",
+ " 'banks': ['▁', 'bank', 's'],\n",
+ " \"banks'\": ['▁', 'bank', 's', \"'\"],\n",
+ " 'banned': ['▁', 'b', 'an', 'n', 'ed'],\n",
+ " 'banzie': ['▁', 'b', 'an', 'z', 'i', 'e'],\n",
+ " 'bar': ['▁', 'b', 'ar'],\n",
+ " 'barb': ['▁', 'b', 'ar', 'b'],\n",
+ " 'barbara': ['▁', 'b', 'ar', 'b', 'ar', 'a'],\n",
+ " 'barbarously': ['▁', 'b', 'ar', 'b', 'ar', 'ous', 'ly'],\n",
+ " 'barclay': ['▁', 'b', 'ar', 'clay'],\n",
+ " 'bare': ['▁', 'b', 'are'],\n",
+ " 'bargain': ['▁', 'b', 'ar', 'g', 'a', 'in'],\n",
+ " 'bargaining': ['▁', 'b', 'ar', 'g', 'a', 'in', 'ing'],\n",
+ " 'bark': ['▁', 'b', 'ar', 'k'],\n",
+ " 'barrier': ['▁', 'b', 'ar', 'r', 'i', 'er'],\n",
+ " 'barriers': ['▁', 'b', 'ar', 'r', 'i', 'ers'],\n",
+ " 'barry': ['▁', 'b', 'a', 'rry'],\n",
+ " 'base': ['▁', 'base'],\n",
+ " 'based': ['▁', 'bas', 'ed'],\n",
+ " 'bases': ['▁', 'base', 's'],\n",
+ " 'basic': ['▁', 'bas', 'ic'],\n",
+ " 'basin': ['▁', 'bas', 'in'],\n",
+ " 'basing': ['▁', 'bas', 'ing'],\n",
+ " 'basis': ['▁', 'bas', 'is'],\n",
+ " 'baskerville': ['▁', 'bas', 'k', 'er', 'v', 'il', 'le'],\n",
+ " 'basses': ['▁', 'bas', 'se', 's'],\n",
+ " 'basting': ['▁', 'bas', 't', 'ing'],\n",
+ " 'bathing': ['▁', 'b', 'a', 'thing'],\n",
+ " 'bats': ['▁', 'b', 'at', 's'],\n",
+ " 'batsman': ['▁', 'b', 'at', 's', 'man'],\n",
+ " 'battalions': ['▁', 'b', 'at', 't', 'al', 'ion', 's'],\n",
+ " 'batting': ['▁', 'b', 'at', 't', 'ing'],\n",
+ " 'battle': ['▁', 'b', 'a', 'ttle'],\n",
+ " 'bavaria': ['▁', 'b', 'a', 'v', 'ar', 'i', 'a'],\n",
+ " 'bavarian': ['▁', 'b', 'a', 'v', 'ar', 'i', 'an'],\n",
+ " 'bavarians': ['▁', 'b', 'a', 'v', 'ar', 'i', 'an', 's'],\n",
+ " 'bay': ['▁', 'b', 'a', 'y'],\n",
+ " 'be': ['▁', 'be'],\n",
+ " 'beach': ['▁', 'b', 'each'],\n",
+ " 'beaches': ['▁', 'b', 'each', 'es'],\n",
+ " 'beacon': ['▁', 'be', 'a', 'con'],\n",
+ " 'beaks': ['▁', 'be', 'a', 'k', 's'],\n",
+ " 'bean': ['▁', 'be', 'an'],\n",
+ " 'bear': ['▁', 'be', 'ar'],\n",
+ " 'bearer': ['▁', 'be', 'are', 'r'],\n",
+ " 'bears': ['▁', 'be', 'ar', 's'],\n",
+ " 'beastly': ['▁', 'b', 'east', 'ly'],\n",
+ " 'beasts': ['▁', 'b', 'east', 's'],\n",
+ " 'beaten': ['▁', 'be', 'a', 'ten'],\n",
+ " 'beautiful': ['▁', 'be', 'a', 'u', 't', 'i', 'ful'],\n",
+ " 'beautifully': ['▁', 'be', 'a', 'u', 't', 'i', 'ful', 'ly'],\n",
+ " 'beauty': ['▁', 'be', 'a', 'u', 'ty'],\n",
+ " 'became': ['▁', 'be', 'came'],\n",
+ " 'because': ['▁', 'because'],\n",
+ " 'beckoning': ['▁', 'be', 'ck', 'on', 'ing'],\n",
+ " 'become': ['▁', 'be', 'come'],\n",
+ " 'becomes': ['▁', 'be', 'come', 's'],\n",
+ " 'becoming': ['▁', 'be', 'com', 'ing'],\n",
+ " 'bed': ['▁', 'b', 'ed'],\n",
+ " 'bedlam': ['▁', 'b', 'ed', 'la', 'm'],\n",
+ " 'beds': ['▁', 'b', 'ed', 's'],\n",
+ " 'bedspreads': ['▁', 'b', 'ed', 's', 'p', 'read', 's'],\n",
+ " 'beech': ['▁', 'be', 'e', 'ch'],\n",
+ " 'been': ['▁', 'been'],\n",
+ " 'before': ['▁', 'before'],\n",
+ " 'befriended': ['▁', 'be', 'friend', 'ed'],\n",
+ " 'began': ['▁', 'be', 'g', 'an'],\n",
+ " 'begin': ['▁', 'be', 'g', 'in'],\n",
+ " 'beginner': ['▁', 'be', 'g', 'in', 'n', 'er'],\n",
+ " 'beginning': ['▁', 'be', 'g', 'in', 'n', 'ing'],\n",
+ " 'begins': ['▁', 'be', 'g', 'in', 's'],\n",
+ " 'begun': ['▁', 'be', 'g', 'un'],\n",
+ " 'behan': ['▁', 'be', 'h', 'an'],\n",
+ " 'behave': ['▁', 'be', 'have'],\n",
+ " 'behaviour': ['▁', 'be', 'h', 'a', 'vi', 'our'],\n",
+ " 'behind': ['▁', 'behind'],\n",
+ " 'beier': ['▁', 'be', 'i', 'er'],\n",
+ " 'being': ['▁', 'being'],\n",
+ " 'belgian': ['▁', 'be', 'l', 'g', 'i', 'an'],\n",
+ " 'belgium': ['▁', 'be', 'l', 'giu', 'm'],\n",
+ " 'belgrade': ['▁', 'be', 'l', 'gr', 'a', 'de'],\n",
+ " 'belief': ['▁', 'be', 'li', 'e', 'f'],\n",
+ " 'believe': ['▁', 'believe'],\n",
+ " 'believed': ['▁', 'believed'],\n",
+ " 'believes': ['▁', 'believe', 's'],\n",
+ " 'bell': ['▁', 'be', 'll'],\n",
+ " \"bell's\": ['▁', 'be', 'll', \"'\", 's'],\n",
+ " 'belmondo': ['▁', 'be', 'l', 'mon', 'do'],\n",
+ " 'belonged': ['▁', 'be', 'long', 'ed'],\n",
+ " 'belongs': ['▁', 'be', 'long', 's'],\n",
+ " 'below': ['▁', 'be', 'low'],\n",
+ " 'belt': ['▁', 'be', 'l', 't'],\n",
+ " 'ben': ['▁', 'be', 'n'],\n",
+ " 'bench': ['▁', 'be', 'n', 'ch'],\n",
+ " 'benches': ['▁', 'be', 'n', 'che', 's'],\n",
+ " 'bend': ['▁', 'b', 'end'],\n",
+ " 'bending': ['▁', 'b', 'end', 'ing'],\n",
+ " 'benefits': ['▁', 'be', 'ne', 'f', 'its'],\n",
+ " 'bent': ['▁', 'b', 'ent'],\n",
+ " 'ber': ['▁', 'be', 'r'],\n",
+ " 'berlin': ['▁', 'berlin'],\n",
+ " \"berlin's\": ['▁', 'berlin', \"'\", 's'],\n",
+ " 'bernhard': ['▁', 'be', 'r', 'n', 'hard'],\n",
+ " 'berry': ['▁', 'be', 'rry'],\n",
+ " 'bertrand': ['▁', 'bert', 'r', 'and'],\n",
+ " 'beset': ['▁', 'be', 'set'],\n",
+ " 'beside': ['▁', 'be', 'side'],\n",
+ " 'best': ['▁', 'best'],\n",
+ " 'best-seller': ['▁', 'best', '-', 's', 'ell', 'er'],\n",
+ " 'bet': ['▁', 'be', 't'],\n",
+ " 'betjeman': ['▁', 'be', 't', 'je', 'man'],\n",
+ " 'betrayal': ['▁', 'be', 'tr', 'a', 'y', 'al'],\n",
+ " 'betrayed': ['▁', 'be', 'tr', 'a', 'y', 'ed'],\n",
+ " 'better': ['▁', 'better'],\n",
+ " 'better-': ['▁', 'better', '-'],\n",
+ " \"betti's\": ['▁', 'be', 't', 't', 'i', \"'\", 's'],\n",
+ " 'between': ['▁', 'between'],\n",
+ " 'bevel': ['▁', 'be', 've', 'l'],\n",
+ " 'bevelled': ['▁', 'be', 'v', 'ell', 'ed'],\n",
+ " 'beware': ['▁', 'be', 'w', 'are'],\n",
+ " 'bewildered': ['▁', 'be', 'w', 'il', 'd', 'er', 'ed'],\n",
+ " 'beyond': ['▁', 'beyond'],\n",
+ " 'bidet': ['▁', 'b', 'i', 'de', 't'],\n",
+ " 'big': ['▁', 'big'],\n",
+ " 'bigger': ['▁', 'big', 'g', 'er'],\n",
+ " 'biggest': ['▁', 'big', 'g', 'est'],\n",
+ " 'bill': ['▁', 'b', 'ill'],\n",
+ " 'bills': ['▁', 'b', 'ill', 's'],\n",
+ " 'binding': ['▁', 'b', 'in', 'd', 'ing'],\n",
+ " 'biological': ['▁', 'b', 'i', 'o', 'lo', 'g', 'ical'],\n",
+ " 'bird': ['▁', 'b', 'i', 'r', 'd'],\n",
+ " 'birds': ['▁', 'b', 'i', 'r', 'd', 's'],\n",
+ " 'bishop': ['▁', 'b', 'is', 'hop'],\n",
+ " 'bit': ['▁', 'b', 'it'],\n",
+ " 'bite': ['▁', 'b', 'it', 'e'],\n",
+ " 'bits': ['▁', 'b', 'its'],\n",
+ " 'bitter-sweet': ['▁', 'b', 'it', 'ter', '-', 's', 'we', 'e', 't'],\n",
+ " 'bitterest': ['▁', 'b', 'it', 'ter', 'est'],\n",
+ " 'bitterly': ['▁', 'b', 'it', 'ter', 'ly'],\n",
+ " 'bituminized': ['▁', 'b', 'it', 'um', 'in', 'i', 'z', 'ed'],\n",
+ " 'black': ['▁', 'bl', 'a', 'ck'],\n",
+ " 'black-': ['▁', 'bl', 'a', 'ck', '-'],\n",
+ " 'black-listed': ['▁', 'bl', 'a', 'ck', '-', 'li', 'st', 'ed'],\n",
+ " 'blackbird': ['▁', 'bl', 'a', 'ck', 'b', 'i', 'r', 'd'],\n",
+ " 'blacks': ['▁', 'bl', 'a', 'ck', 's'],\n",
+ " 'blame': ['▁', 'bl', 'a', 'me'],\n",
+ " 'blamed': ['▁', 'bl', 'am', 'ed'],\n",
+ " 'blander': ['▁', 'bl', 'and', 'er'],\n",
+ " 'blank': ['▁', 'bl', 'an', 'k'],\n",
+ " 'blend': ['▁', 'bl', 'end'],\n",
+ " 'blight': ['▁', 'b', 'light'],\n",
+ " 'blind': ['▁', 'bl', 'in', 'd'],\n",
+ " 'blinked': ['▁', 'bl', 'in', 'k', 'ed'],\n",
+ " 'block': ['▁', 'block'],\n",
+ " 'blocks': ['▁', 'block', 's'],\n",
+ " 'bloem-': ['▁', 'b', 'lo', 'e', 'm', '-'],\n",
+ " 'blond': ['▁', 'bl', 'on', 'd'],\n",
+ " 'blood': ['▁', 'b', 'lo', 'od'],\n",
+ " 'bloodstained': ['▁', 'b', 'lo', 'od', 's', 'tain', 'ed'],\n",
+ " 'bloody': ['▁', 'b', 'lo', 'od', 'y'],\n",
+ " 'blouse': ['▁', 'b', 'lo', 'use'],\n",
+ " 'blouses': ['▁', 'bl', 'ous', 'es'],\n",
+ " 'blow': ['▁', 'b', 'low'],\n",
+ " 'blowflies': ['▁', 'b', 'low', 'f', 'l', 'ies'],\n",
+ " 'blown': ['▁', 'bl', 'own'],\n",
+ " 'blue': ['▁', 'bl', 'ue'],\n",
+ " 'blunt': ['▁', 'bl', 'un', 't'],\n",
+ " 'bluntly': ['▁', 'bl', 'un', 't', 'ly'],\n",
+ " 'bluster': ['▁', 'bl', 'u', 'ster'],\n",
+ " 'board': ['▁', 'board'],\n",
+ " 'boat': ['▁', 'bo', 'at'],\n",
+ " 'boat-train': ['▁', 'bo', 'at', '-', 'train'],\n",
+ " 'bobby': ['▁', 'bo', 'b', 'by'],\n",
+ " 'bodies': ['▁', 'bo', 'd', 'ies'],\n",
+ " 'body': ['▁', 'body'],\n",
+ " 'boeing': ['▁', 'bo', 'e', 'ing'],\n",
+ " 'bogy': ['▁', 'bo', 'g', 'y'],\n",
+ " 'boiled': ['▁', 'bo', 'il', 'ed'],\n",
+ " 'boils': ['▁', 'bo', 'il', 's'],\n",
+ " 'bold': ['▁', 'b', 'old'],\n",
+ " 'boldly': ['▁', 'b', 'old', 'ly'],\n",
+ " 'bolt': ['▁', 'bo', 'l', 't'],\n",
+ " 'bolted': ['▁', 'bo', 'l', 'ted'],\n",
+ " 'bomb': ['▁', 'bomb'],\n",
+ " 'bombay': ['▁', 'bomb', 'a', 'y'],\n",
+ " 'bombed': ['▁', 'bomb', 'ed'],\n",
+ " 'bombers': ['▁', 'bomb', 'ers'],\n",
+ " 'bonded': ['▁', 'b', 'on', 'd', 'ed'],\n",
+ " 'bone': ['▁', 'b', 'one'],\n",
+ " 'bones': ['▁', 'b', 'one', 's'],\n",
+ " 'bonn': ['▁', 'b', 'on', 'n'],\n",
+ " \"bonn's\": ['▁', 'b', 'on', 'n', \"'\", 's'],\n",
+ " 'book': ['▁', 'book'],\n",
+ " 'booklet': ['▁', 'book', 'le', 't'],\n",
+ " 'books': ['▁', 'book', 's'],\n",
+ " 'booming': ['▁', 'bo', 'o', 'm', 'ing'],\n",
+ " 'border': ['▁', 'b', 'order'],\n",
+ " 'bore': ['▁', 'bo', 're'],\n",
+ " 'bored': ['▁', 'b', 'or', 'ed'],\n",
+ " 'boredom': ['▁', 'bo', 're', 'do', 'm'],\n",
+ " 'bores': ['▁', 'bo', 're', 's'],\n",
+ " 'born': ['▁', 'b', 'or', 'n'],\n",
+ " 'borough': ['▁', 'bo', 'rough'],\n",
+ " 'borrow': ['▁', 'b', 'or', 'ro', 'w'],\n",
+ " 'borstal': ['▁', 'b', 'or', 'st', 'al'],\n",
+ " 'bosoms': ['▁', 'bo', 'so', 'm', 's'],\n",
+ " 'bossed': ['▁', 'bo', 's', 's', 'ed'],\n",
+ " 'bosses': ['▁', 'bo', 's', 'se', 's'],\n",
+ " 'both': ['▁', 'both'],\n",
+ " 'bottle': ['▁', 'bo', 'ttle'],\n",
+ " 'bottom': ['▁', 'bo', 't', 'to', 'm'],\n",
+ " 'bought': ['▁', 'bo', 'ug', 'h', 't'],\n",
+ " 'boun': ['▁', 'bo', 'un'],\n",
+ " 'bound': ['▁', 'b', 'ound'],\n",
+ " 'boutiques': ['▁', 'b', 'out', 'i', 'q', 'ue', 's'],\n",
+ " 'bow': ['▁', 'bo', 'w'],\n",
+ " 'bow-street': ['▁', 'bo', 'w', '-', 'st', 're', 'e', 't'],\n",
+ " 'bowed': ['▁', 'bo', 'w', 'ed'],\n",
+ " 'bowing': ['▁', 'bo', 'w', 'ing'],\n",
+ " 'bows': ['▁', 'bo', 'w', 's'],\n",
+ " 'box': ['▁', 'bo', 'x'],\n",
+ " 'boxes': ['▁', 'bo', 'x', 'es'],\n",
+ " 'boxing': ['▁', 'bo', 'x', 'ing'],\n",
+ " 'boy': ['▁', 'bo', 'y'],\n",
+ " 'boycotted': ['▁', 'bo', 'y', 'cott', 'ed'],\n",
+ " 'boycotting': ['▁', 'bo', 'y', 'cott', 'ing'],\n",
+ " 'boyd-orr': ['▁', 'bo', 'y', 'd', '-', 'or', 'r'],\n",
+ " 'boyle': ['▁', 'bo', 'y', 'le'],\n",
+ " 'boys': ['▁', 'bo', 'y', 's'],\n",
+ " 'braces': ['▁', 'br', 'a', 'ce', 's'],\n",
+ " 'brain': ['▁', 'b', 'rain'],\n",
+ " 'brain-activity': ['▁', 'b', 'rain', '-', 'act', 'i', 'v', 'ity'],\n",
+ " 'brain-children': ['▁', 'b', 'rain', '-', 'children'],\n",
+ " 'brains': ['▁', 'b', 'rain', 's'],\n",
+ " 'brandy': ['▁', 'br', 'and', 'y'],\n",
+ " 'brash': ['▁', 'br', 'as', 'h'],\n",
+ " 'brass': ['▁', 'br', 'as', 's'],\n",
+ " 'brauchitsch': ['▁', 'br', 'a', 'u', 'ch', 'its', 'ch'],\n",
+ " 'breach': ['▁', 'br', 'each'],\n",
+ " 'bread-and-butter': ['▁', 'b', 'read', '-', 'and', '-', 'but', 'ter'],\n",
+ " 'break': ['▁', 'b', 're', 'a', 'k'],\n",
+ " 'breaking': ['▁', 'b', 're', 'a', 'k', 'ing'],\n",
+ " 'breaks': ['▁', 'b', 're', 'a', 'k', 's'],\n",
+ " 'breath': ['▁', 'b', 're', 'a', 'th'],\n",
+ " 'breathing': ['▁', 'b', 're', 'a', 'thing'],\n",
+ " 'breathless': ['▁', 'b', 're', 'a', 'th', 'less'],\n",
+ " 'breeding': ['▁', 'b', 're', 'ed', 'ing'],\n",
+ " 'breezily': ['▁', 'b', 're', 'e', 'z', 'i', 'ly'],\n",
+ " 'brehm': ['▁', 'b', 're', 'h', 'm'],\n",
+ " 'brella': ['▁', 'br', 'ell', 'a'],\n",
+ " 'brenda': ['▁', 'br', 'end', 'a'],\n",
+ " 'brendan': ['▁', 'br', 'end', 'an'],\n",
+ " \"brendan's\": ['▁', 'br', 'end', 'an', \"'\", 's'],\n",
+ " 'brentano': ['▁', 'br', 'ent', 'a', 'no'],\n",
+ " 'brezhnev': ['▁', 'b', 're', 'z', 'h', 'ne', 'v'],\n",
+ " 'brian': ['▁', 'br', 'i', 'an'],\n",
+ " 'bridal': ['▁', 'br', 'id', 'al'],\n",
+ " 'bride': ['▁', 'br', 'i', 'de'],\n",
+ " 'brief': ['▁', 'brief'],\n",
+ " 'brief-': ['▁', 'brief', '-'],\n",
+ " 'briefcase': ['▁', 'brief', 'case'],\n",
+ " 'briefing': ['▁', 'brief', 'ing'],\n",
+ " 'brigadiers': ['▁', 'br', 'i', 'g', 'ad', 'i', 'ers'],\n",
+ " 'bright': ['▁', 'b', 'right'],\n",
+ " 'brighter': ['▁', 'b', 'right', 'er'],\n",
+ " 'brightly': ['▁', 'b', 'right', 'ly'],\n",
+ " \"brighton's\": ['▁', 'b', 'right', 'on', \"'\", 's'],\n",
+ " 'brilliant': ['▁', 'br', 'ill', 'i', 'ant'],\n",
+ " 'brilliantly': ['▁', 'br', 'ill', 'i', 'ant', 'ly'],\n",
+ " 'bring': ['▁', 'br', 'ing'],\n",
+ " 'brings': ['▁', 'br', 'ing', 's'],\n",
+ " 'bristled': ['▁', 'br', 'is', 't', 'led'],\n",
+ " 'bristol': ['▁', 'br', 'is', 'to', 'l'],\n",
+ " 'britain': ['▁', 'britain'],\n",
+ " \"britain's\": ['▁', 'britain', \"'\", 's'],\n",
+ " 'british': ['▁', 'british'],\n",
+ " 'british-owned': ['▁', 'british', '-', 'own', 'ed'],\n",
+ " 'britishers': ['▁', 'british', 'ers'],\n",
+ " 'brittle': ['▁', 'br', 'i', 'ttle'],\n",
+ " 'broad': ['▁', 'b', 'ro', 'ad'],\n",
+ " 'broadcast': ['▁', 'b', 'ro', 'ad', 'c', 'a', 'st'],\n",
+ " 'broadcasting': ['▁', 'b', 'ro', 'ad', 'c', 'a', 'st', 'ing'],\n",
+ " 'broke': ['▁', 'b', 'ro', 'ke'],\n",
+ " 'broken': ['▁', 'b', 'ro', 'k', 'en'],\n",
+ " 'bronx': ['▁', 'br', 'on', 'x'],\n",
+ " \"brook's\": ['▁', 'b', 'ro', 'o', 'k', \"'\", 's'],\n",
+ " 'brother': ['▁', 'brother'],\n",
+ " 'brother-': ['▁', 'brother', '-'],\n",
+ " 'brother-in-law': ['▁', 'brother', '-', 'in', '-', 'law'],\n",
+ " 'brought': ['▁', 'brought'],\n",
+ " 'brown': ['▁', 'brown'],\n",
+ " \"brown's\": ['▁', 'brown', \"'\", 's'],\n",
+ " 'bru\"cke': ['▁', 'br', 'u', '\"', 'ck', 'e'],\n",
+ " 'bruce': ['▁', 'br', 'u', 'ce'],\n",
+ " 'bruno': ['▁', 'br', 'un', 'o'],\n",
+ " 'brunswick': ['▁', 'br', 'un', 's', 'w', 'i', 'ck'],\n",
+ " 'brussels': ['▁', 'br', 'us', 's', 'el', 's'],\n",
+ " 'brutal': ['▁', 'br', 'u', 't', 'al'],\n",
+ " 'bryan': ['▁', 'br', 'y', 'an'],\n",
+ " 'bu\"ckerei': ['▁', 'b', 'u', '\"', 'ck', 'e', 're', 'i'],\n",
+ " 'buck': ['▁', 'b', 'u', 'ck'],\n",
+ " 'buckingham': ['▁', 'b', 'u', 'ck', 'ing', 'h', 'am'],\n",
+ " 'buckley': ['▁', 'b', 'u', 'ck', 'le', 'y'],\n",
+ " 'budge': ['▁', 'b', 'ud', 'g', 'e'],\n",
+ " 'budgerigar': ['▁', 'b', 'ud', 'g', 'er', 'i', 'g', 'ar'],\n",
+ " 'budget': ['▁', 'budget'],\n",
+ " 'budgetary': ['▁', 'budget', 'ary'],\n",
+ " 'budgette': ['▁', 'budget', 'te'],\n",
+ " 'buganda': ['▁', 'b', 'ug', 'and', 'a'],\n",
+ " 'build': ['▁', 'b', 'u', 'il', 'd'],\n",
+ " 'building': ['▁', 'building'],\n",
+ " ...}"
+ ]
+ },
+ "execution_count": 29,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "lex"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/src/notebooks/07-try-gtn.ipynb b/src/notebooks/07-try-gtn.ipynb
new file mode 100644
index 0000000..d366dec
--- /dev/null
+++ b/src/notebooks/07-try-gtn.ipynb
@@ -0,0 +1,155 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import gtn\n",
+ "from IPython.display import display, Image"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "1"
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Make some graphs:\n",
+ "g1 = gtn.Graph()\n",
+ "g1.add_node(True) # Add a start node\n",
+ "g1.add_node() # Add an internal node\n",
+ "g1.add_node(False, True) # Add an accepting node\n",
+ "\n",
+ "\n",
+ "# Add arcs with (src node, dst node, label):\n",
+ "g1.add_arc(0, 1, 1)\n",
+ "g1.add_arc(0, 1, 2)\n",
+ "g1.add_arc(1, 2, 1)\n",
+ "g1.add_arc(1, 2, 0)\n",
+ "\n",
+ "\n",
+ "g2 = gtn.Graph()\n",
+ "g2.add_node(True, True)\n",
+ "g2.add_arc(0, 0, 1)\n",
+ "g2.add_arc(0, 0, 0)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<IPython.core.display.Image object>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<IPython.core.display.Image object>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "gtn.draw(g1, \"g1.png\")\n",
+ "gtn.draw(g2, \"g2.png\")\n",
+ "display(Image(\"g1.png\"), Image(\"g2.png\"))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<IPython.core.display.Image object>"
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "intersect = gtn.intersect(g1, g2)\n",
+ "gtn.draw(intersect, \"intersect.png\")\n",
+ "Image(\"intersect.png\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "[1.0, 0.0, 1.0, 0.0]\n"
+ ]
+ }
+ ],
+ "source": [
+ "score = gtn.viterbi_score(intersect)\n",
+ "gtn.backward(score)\n",
+ "\n",
+ "# print gradients of arc weights \n",
+ "print(g1.grad().weights_to_list()) "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/src/notebooks/g1.png b/src/notebooks/g1.png
new file mode 100644
index 0000000..09dd49e
--- /dev/null
+++ b/src/notebooks/g1.png
Binary files differ
diff --git a/src/notebooks/g2.png b/src/notebooks/g2.png
new file mode 100644
index 0000000..a3cf21e
--- /dev/null
+++ b/src/notebooks/g2.png
Binary files differ
diff --git a/src/notebooks/intersect.png b/src/notebooks/intersect.png
new file mode 100644
index 0000000..63b7f2f
--- /dev/null
+++ b/src/notebooks/intersect.png
Binary files differ
diff --git a/src/tasks/build_transitions.py b/src/tasks/build_transitions.py
new file mode 100644
index 0000000..b12c9bc
--- /dev/null
+++ b/src/tasks/build_transitions.py
@@ -0,0 +1,263 @@
+"""Builds transition graph.
+
+Most code stolen from here:
+
+ https://github.com/facebookresearch/gtn_applications/blob/master/scripts/build_transitions.py
+
+"""
+
+import collections
+import itertools
+from pathlib import Path
+from typing import Dict, List, Optional
+
+import click
+import gtn
+from loguru import logger
+
+
+START_IDX = -1
+END_IDX = -2
+WORDSEP = "_"
+
+
+def build_graph(ngrams: List, disable_backoff: bool = False) -> gtn.Graph:
+ """Returns a gtn Graph based on the ngrams."""
+ graph = gtn.Graph(False)
+ ngram = len(ngrams)
+ state_to_node = {}
+
+ def get_node(state: Optional[List]) -> gtn.node:
+ node = state_to_node.get(state, None)
+
+ if node is not None:
+ return node
+
+ start = state == tuple([START_IDX]) if ngram > 1 else True
+ end = state == tuple([END_IDX]) if ngram > 1 else True
+ node = graph.add_node(start, end)
+ state_to_node[state] = node
+
+ if not disable_backoff and not end:
+ # Add back off when adding node.
+ for n in range(1, len(state) + 1):
+ backoff_node = state_to_node.get(state[n:], None)
+
+ # Epsilon transition to the back-off state.
+ if backoff_node is not None:
+ graph.add_arc(node, backoff_node, gtn.epsilon)
+ break
+ return node
+
+ for grams in ngrams:
+ for gram in grams:
+ istate, ostate = gram[:-1], gram[len(gram) - ngram + 1 :]
+ inode = get_node(istate)
+
+ if END_IDX not in gram[1:] and gram[1:] not in state_to_node:
+ raise ValueError(
+ "Ill formed counts: if (x, y_1, ..., y_{n-1}) is above"
+ "the n-gram threshold, then (y_1, ..., y_{n-1}) must be"
+ "above the (n-1)-gram threshold"
+ )
+
+ if END_IDX in ostate:
+ # Merge all state having </s> into one as final graph generated
+ # will be similar.
+ ostate = tuple([END_IDX])
+
+ onode = get_node(ostate)
+ # p(gram[-1] | gram[:-1])
+ graph.add_arc(
+ inode, onode, gtn.epsilon if gram[-1] == END_IDX else gram[-1]
+ )
+ return graph
+
+
+def count_ngrams(lines: List, ngram: List, tokens_to_index: Dict) -> List:
+ """Counts the number of ngrams."""
+ counts = [collections.Counter() for _ in range(ngram)]
+ for line in lines:
+ # Prepend implicit start token.
+ token_line = [START_IDX]
+ for t in line:
+ token_line.append(tokens_to_index[t])
+ token_line.append(END_IDX)
+ for n, counter in enumerate(counts):
+ start_offset = n == 0
+ end_offset = ngram == 1
+ for e in range(n + start_offset, len(token_line) - end_offset):
+ counter[tuple(token_line[e - n : e + 1])] += 1
+
+ return counts
+
+
+def prune_ngrams(ngrams: List, prune: List) -> List:
+ """Prunes ngrams."""
+ pruned_ngrams = []
+ for n, grams in enumerate(ngrams):
+ grams = grams.most_common()
+ pruned_grams = [gram for gram, c in grams if c > prune[n]]
+ pruned_ngrams.append(pruned_grams)
+ return pruned_ngrams
+
+
+def add_blank_grams(pruned_ngrams: List, num_tokens: int, blank: str) -> List:
+ """Adds blank token to grams."""
+ all_grams = [gram for grams in pruned_ngrams for gram in grams]
+ maxorder = len(pruned_ngrams)
+ blank_grams = {}
+ if blank == "forced":
+ pruned_ngrams = [pruned_ngrams[0] if i == 0 else [] for i in range(maxorder)]
+ pruned_ngrams[0].append(tuple([num_tokens]))
+ blank_grams[tuple([num_tokens])] = True
+
+ for gram in all_grams:
+ # Iterate over all possibilities by using a vector of 0s, 1s to
+ # denote whether a blank is being used at each position.
+ if blank == "optional":
+ # Given a gram ab.. if order n, we have n + 1 positions
+ # available whether to use blank or not.
+ onehot_vectors = itertools.product([0, 1], repeat=len(gram) + 1)
+ elif blank == "forced":
+ # Must include a blank token in between.
+ onehot_vectors = [[1] * (len(gram) + 1)]
+ else:
+ raise ValueError(
+ "Invalid value specificed for blank. Must be in |optional|forced|none|"
+ )
+
+ for j in onehot_vectors:
+ new_array = []
+ for idx, oz in enumerate(j[:-1]):
+ if oz == 1 and gram[idx] != START_IDX:
+ new_array.append(num_tokens)
+ new_array.append(gram[idx])
+ if j[-1] == 1 and gram[-1] != END_IDX:
+ new_array.append(num_tokens)
+ for n in range(maxorder):
+ for e in range(n, len(new_array)):
+ cur_gram = tuple(new_array[e - n : e + 1])
+ if num_tokens in cur_gram and cur_gram not in blank_grams:
+ pruned_ngrams[n].append(cur_gram)
+ blank_grams[cur_gram] = True
+
+ return pruned_ngrams
+
+
+def add_self_loops(pruned_ngrams: List) -> List:
+ """Adds self loops to the ngrams."""
+ maxorder = len(pruned_ngrams)
+
+ # Use dict for fast search.
+ all_grams = set([gram for grams in pruned_ngrams for gram in grams])
+ for o in range(1, maxorder):
+ for gram in pruned_ngrams[o - 1]:
+ # Repeat one of the tokens.
+ for pos in range(len(gram)):
+ if gram[pos] == START_IDX or gram[pos] == END_IDX:
+ continue
+ new_gram = gram[:pos] + (gram[pos],) + gram[pos:]
+
+ if new_gram not in all_grams:
+ pruned_ngrams[o].append(new_gram)
+ all_grams.add(new_gram)
+ return pruned_ngrams
+
+
+def parse_lines(lines: List, lexicon: Path) -> List:
+ """Parses lines with a lexicon."""
+ with open(lexicon, "r") as f:
+ lex = (line.strip().split() for line in f)
+ lex = {line[0]: line[1:] for line in lex}
+ print(len(lex))
+ return [[t for w in line.split(WORDSEP) for t in lex[w]] for line in lines]
+
+
+@click.command()
+@click.option("--data_dir", type=str, default=None, help="Path to dataset root.")
+@click.option(
+ "--tokens", type=str, help="Path to token list (in order used with training)."
+)
+@click.option("--lexicon", type=str, default=None, help="Path to lexicon")
+@click.option(
+ "--prune",
+ nargs=2,
+ type=int,
+ help="Threshold values for prune unigrams, bigrams, etc.",
+)
+@click.option(
+ "--blank",
+ default=click.Choice(["none", "optional", "forced"]),
+ help="Specifies the usage of blank token"
+ "'none' - do not use blank token "
+ "'optional' - allow an optional blank inbetween tokens"
+ "'forced' - force a blank inbetween tokens (also referred to as garbage token)",
+)
+@click.option("--self_loops", is_flag=True, help="Add self loops for tokens")
+@click.option("--disable_backoff", is_flag=True, help="Disable backoff transitions")
+@click.option("--save_path", default=None, help="Path to save transition graph.")
+def cli(
+ data_dir: str,
+ tokens: str,
+ lexicon: str,
+ prune: List[int],
+ blank: str,
+ self_loops: bool,
+ disable_backoff: bool,
+ save_path: str,
+) -> None:
+ """CLI for creating the transitions."""
+ logger.info(f"Building {len(prune)}-gram transition models.")
+
+ if data_dir is None:
+ data_dir = (
+ Path(__file__).resolve().parents[2] / "data" / "processed" / "iam_lines"
+ )
+ logger.debug(f"Using data dir: {data_dir}")
+ if not data_dir.exists():
+ raise RuntimeError(f"Could not locate iamdb directory at {data_dir}")
+ else:
+ data_dir = Path(data_dir)
+
+ # Build table of counts and the back-off if below threshold.
+ with open(data_dir / "train.txt", "r") as f:
+ lines = [line.strip() for line in f]
+
+ with open(data_dir / tokens, "r") as f:
+ tokens = [line.strip() for line in f]
+
+ if lexicon is not None:
+ lexicon = data_dir / lexicon
+ lines = parse_lines(lines, lexicon)
+
+ tokens_to_idx = {t: e for e, t in enumerate(tokens)}
+
+ ngram = len(prune)
+
+ logger.info("Counting data...")
+ ngrams = count_ngrams(lines, ngram, tokens_to_idx)
+
+ pruned_ngrams = prune_ngrams(ngrams, prune)
+
+ for n in range(ngram):
+ logger.info(f"Kept {len(pruned_ngrams[n])} of {len(ngrams[n])} {n + 1}-grams")
+
+ if blank == "none":
+ pruned_ngrams = add_blank_grams(pruned_ngrams, len(tokens_to_idx), blank)
+
+ if self_loops:
+ pruned_ngrams = add_self_loops(pruned_ngrams)
+
+ logger.info("Building graph from pruned ngrams...")
+ graph = build_graph(pruned_ngrams, disable_backoff)
+ logger.info(f"Graph has {graph.num_arcs()} arcs and {graph.num_nodes()} nodes.")
+
+ save_path = str(data_dir / save_path)
+
+ logger.info(f"Saving graph to {save_path}")
+ gtn.save(save_path, graph)
+
+
+if __name__ == "__main__":
+ cli()
diff --git a/src/tasks/make_wordpieces.py b/src/tasks/make_wordpieces.py
new file mode 100644
index 0000000..f605920
--- /dev/null
+++ b/src/tasks/make_wordpieces.py
@@ -0,0 +1,114 @@
+"""Creates word pieces from a text file.
+
+Most code stolen from:
+
+ https://github.com/facebookresearch/gtn_applications/blob/master/scripts/make_wordpieces.py
+
+"""
+import io
+from pathlib import Path
+from typing import List, Optional, Union
+
+import click
+from loguru import logger
+import sentencepiece as spm
+
+from text_recognizer.datasets.iam_preprocessor import load_metadata
+
+
+def iamdb_pieces(
+ data_dir: Path, text_file: str, num_pieces: int, output_prefix: str
+) -> None:
+ """Creates word pieces from the iamdb train text."""
+ # Load training text.
+ with open(data_dir / text_file, "r") as f:
+ text = [line.strip() for line in f]
+
+ sp = train_spm_model(
+ iter(text),
+ num_pieces + 1, # To account for <unk>
+ user_symbols=["/"], # added so token is in the output set
+ )
+
+ vocab = sorted(set(w for t in text for w in t.split("_") if w))
+ if "move" not in vocab:
+ raise RuntimeError("`MOVE` not in vocab")
+
+ save_pieces(sp, num_pieces, data_dir, output_prefix, vocab)
+
+
+def train_spm_model(
+ sentences: iter, vocab_size: int, user_symbols: Union[str, List[str]] = ""
+) -> spm.SentencePieceProcessor:
+ """Trains the sentence piece model."""
+ model = io.BytesIO()
+ spm.SentencePieceTrainer.train(
+ sentence_iterator=sentences,
+ model_writer=model,
+ vocab_size=vocab_size,
+ bos_id=-1,
+ eos_id=-1,
+ character_coverage=1.0,
+ user_defined_symbols=user_symbols,
+ )
+ sp = spm.SentencePieceProcessor(model_proto=model.getvalue())
+ return sp
+
+
+def save_pieces(
+ sp: spm.SentencePieceProcessor,
+ num_pieces: int,
+ data_dir: Path,
+ output_prefix: str,
+ vocab: set,
+) -> None:
+ """Saves word pieces to disk."""
+ logger.info(f"Generating word piece list of size {num_pieces}.")
+ pieces = [sp.id_to_piece(i) for i in range(1, num_pieces + 1)]
+ logger.info(f"Encoding vocabulary of size {len(vocab)}.")
+ encoded_vocab = [sp.encode_as_pieces(v) for v in vocab]
+
+ # Save pieces to file.
+ with open(data_dir / f"{output_prefix}_tokens_{num_pieces}.txt", "w") as f:
+ f.write("\n".join(pieces))
+
+ # Save lexicon to a file.
+ with open(data_dir / f"{output_prefix}_lex_{num_pieces}.txt", "w") as f:
+ for v, p in zip(vocab, encoded_vocab):
+ f.write(f"{v} {' '.join(p)}\n")
+
+
+@click.command()
+@click.option("--data_dir", type=str, default=None, help="Path to processed iam dir.")
+@click.option(
+ "--text_file", type=str, default=None, help="Name of sentence piece training text."
+)
+@click.option(
+ "--output_prefix",
+ type=str,
+ default="word_pieces",
+ help="Prefix name to store tokens and lexicon.",
+)
+@click.option("--num_pieces", type=int, default=1000, help="Number of word pieces.")
+def cli(
+ data_dir: Optional[str],
+ text_file: Optional[str],
+ output_prefix: Optional[str],
+ num_pieces: Optional[int],
+) -> None:
+ """CLI for training the sentence piece model."""
+ if data_dir is None:
+ data_dir = (
+ Path(__file__).resolve().parents[2] / "data" / "processed" / "iam_lines"
+ )
+ logger.debug(f"Using data dir: {data_dir}")
+ if not data_dir.exists():
+ raise RuntimeError(f"Could not locate iamdb directory at {data_dir}")
+ else:
+ data_dir = Path(data_dir)
+
+ iamdb_pieces(data_dir, text_file, num_pieces, output_prefix)
+
+
+if __name__ == "__main__":
+ cli()
diff --git a/src/text_recognizer/datasets/__init__.py b/src/text_recognizer/datasets/__init__.py
index d8372e3..a6c1c59 100644
--- a/src/text_recognizer/datasets/__init__.py
+++ b/src/text_recognizer/datasets/__init__.py
@@ -8,6 +8,7 @@ from .emnist_lines_dataset import (
from .iam_dataset import IamDataset
from .iam_lines_dataset import IamLinesDataset
from .iam_paragraphs_dataset import IamParagraphsDataset
+from .iam_preprocessor import load_metadata, Preprocessor
from .transforms import AddTokens, Transpose
from .util import (
_download_raw_dataset,
@@ -29,8 +30,10 @@ __all__ = [
"EmnistMapper",
"EmnistLinesDataset",
"get_samples_by_character",
+ "load_metadata",
"IamDataset",
"IamLinesDataset",
"IamParagraphsDataset",
+ "Preprocessor",
"Transpose",
]
diff --git a/src/text_recognizer/datasets/iam_preprocessor.py b/src/text_recognizer/datasets/iam_preprocessor.py
new file mode 100644
index 0000000..5a5136c
--- /dev/null
+++ b/src/text_recognizer/datasets/iam_preprocessor.py
@@ -0,0 +1,196 @@
+"""Preprocessor for extracting word letters from the IAM dataset.
+
+The code is mostly stolen from:
+
+ https://github.com/facebookresearch/gtn_applications/blob/master/datasets/iamdb.py
+
+"""
+
+import collections
+import itertools
+from pathlib import Path
+import re
+from typing import List, Optional, Union
+
+import click
+from loguru import logger
+import torch
+
+
+def load_metadata(
+ data_dir: Path, wordsep: str, use_words: bool = False
+) -> collections.defaultdict:
+ """Loads IAM metadata and returns it as a dictionary."""
+ forms = collections.defaultdict(list)
+ filename = "words.txt" if use_words else "lines.txt"
+
+ with open(data_dir / "ascii" / filename, "r") as f:
+ lines = (line.strip().split() for line in f if line[0] != "#")
+ for line in lines:
+ # Skip word segmentation errors.
+ if use_words and line[1] == "err":
+ continue
+ text = " ".join(line[8:])
+
+ # Remove garbage tokens:
+ text = text.replace("#", "")
+
+ # Swap word sep form | to wordsep
+ text = re.sub(r"\|+|\s", wordsep, text).strip(wordsep)
+ form_key = "-".join(line[0].split("-")[:2])
+ line_key = "-".join(line[0].split("-")[:3])
+ box_idx = 4 - use_words
+ box = tuple(int(val) for val in line[box_idx : box_idx + 4])
+ forms[form_key].append({"key": line_key, "box": box, "text": text})
+ return forms
+
+
+class Preprocessor:
+ """A preprocessor for the IAM dataset."""
+
+ # TODO: add lower case only to when generating...
+
+ def __init__(
+ self,
+ data_dir: Union[str, Path],
+ num_features: int,
+ tokens_path: Optional[Union[str, Path]] = None,
+ lexicon_path: Optional[Union[str, Path]] = None,
+ use_words: bool = False,
+ prepend_wordsep: bool = False,
+ ) -> None:
+ self.wordsep = "_"
+ self._use_word = use_words
+ self._prepend_wordsep = prepend_wordsep
+
+ self.data_dir = Path(data_dir)
+
+ self.forms = load_metadata(self.data_dir, self.wordsep, use_words=use_words)
+
+ # Load the set of graphemes:
+ graphemes = set()
+ for _, form in self.forms.items():
+ for line in form:
+ graphemes.update(line["text"].lower())
+ self.graphemes = sorted(graphemes)
+
+ # Build the token-to-index and index-to-token maps.
+ if tokens_path is not None:
+ with open(tokens_path, "r") as f:
+ self.tokens = [line.strip() for line in f]
+ else:
+ self.tokens = self.graphemes
+
+ if lexicon_path is not None:
+ with open(lexicon_path, "r") as f:
+ lexicon = (line.strip().split() for line in f)
+ lexicon = {line[0]: line[1:] for line in lexicon}
+ self.lexicon = lexicon
+ else:
+ self.lexicon = None
+
+ self.graphemes_to_index = {t: i for i, t in enumerate(self.graphemes)}
+ self.tokens_to_index = {t: i for i, t in enumerate(self.tokens)}
+ self.num_features = num_features
+ self.text = []
+
+ @property
+ def num_tokens(self) -> int:
+ """Returns the number or tokens."""
+ return len(self.tokens)
+
+ @property
+ def use_words(self) -> bool:
+ """If words are used."""
+ return self._use_word
+
+ def extract_train_text(self) -> None:
+ """Extracts training text."""
+ keys = []
+ with open(self.data_dir / "task" / "trainset.txt") as f:
+ keys.extend((line.strip() for line in f))
+
+ for _, examples in self.forms.items():
+ for example in examples:
+ if example["key"] not in keys:
+ continue
+ self.text.append(example["text"].lower())
+
+ def to_index(self, line: str) -> torch.LongTensor:
+ """Converts text to a tensor of indices."""
+ token_to_index = self.graphemes_to_index
+ if self.lexicon is not None:
+ if len(line) > 0:
+ # If the word is not found in the lexicon, fall back to letters.
+ line = [
+ t
+ for w in line.split(self.wordsep)
+ for t in self.lexicon.get(w, self.wordsep + w)
+ ]
+ token_to_index = self.tokens_to_index
+ if self._prepend_wordsep:
+ line = itertools.chain([self.wordsep], line)
+ return torch.LongTensor([token_to_index[t] for t in line])
+
+ def to_text(self, indices: List[int]) -> str:
+ """Converts indices to text."""
+ # Roughly the inverse of `to_index`
+ encoding = self.graphemes
+ if self.lexicon is not None:
+ encoding = self.tokens
+ return self._post_process(encoding[i] for i in indices)
+
+ def tokens_to_text(self, indices: List[int]) -> str:
+ """Converts tokens to text."""
+ return self._post_process(self.tokens[i] for i in indices)
+
+ def _post_process(self, indices: List[int]) -> str:
+ """A list join."""
+ return "".join(indices).strip(self.wordsep)
+
+
+@click.command()
+@click.option("--data_dir", type=str, default=None, help="Path to iam dataset")
+@click.option(
+ "--use_words", is_flag=True, help="Load word segmented dataset instead of lines"
+)
+@click.option(
+ "--save_text", type=str, default=None, help="Path to save parsed train text"
+)
+@click.option("--save_tokens", type=str, default=None, help="Path to save tokens")
+def cli(
+ data_dir: Optional[str],
+ use_words: bool,
+ save_text: Optional[str],
+ save_tokens: Optional[str],
+) -> None:
+ """CLI for extracting text data from the iam dataset."""
+ if data_dir is None:
+ data_dir = (
+ Path(__file__).resolve().parents[3] / "data" / "raw" / "iam" / "iamdb"
+ )
+ logger.debug(f"Using data dir: {data_dir}")
+ if not data_dir.exists():
+ raise RuntimeError(f"Could not locate iamdb directory at {data_dir}")
+ else:
+ data_dir = Path(data_dir)
+
+ preprocessor = Preprocessor(data_dir, 64, use_words=use_words)
+ preprocessor.extract_train_text()
+
+ processed_dir = data_dir.parents[2] / "processed" / "iam_lines"
+ logger.debug(f"Saving processed files at: {processed_dir}")
+
+ if save_text is not None:
+ logger.info("Saving training text")
+ with open(processed_dir / save_text, "w") as f:
+ f.write("\n".join(t for t in preprocessor.text))
+
+ if save_tokens is not None:
+ logger.info("Saving tokens")
+ with open(processed_dir / save_tokens, "w") as f:
+ f.write("\n".join(preprocessor.tokens))
+
+
+if __name__ == "__main__":
+ cli()
diff --git a/src/text_recognizer/datasets/transforms.py b/src/text_recognizer/datasets/transforms.py
index 8956b01..60987e0 100644
--- a/src/text_recognizer/datasets/transforms.py
+++ b/src/text_recognizer/datasets/transforms.py
@@ -1,14 +1,57 @@
"""Transforms for PyTorch datasets."""
+import random
+
import numpy as np
from PIL import Image
import torch
from torch import Tensor
import torch.nn.functional as F
-from torchvision.transforms import Compose, RandomAffine, RandomHorizontalFlip, ToTensor
+from torchvision import transforms
+from torchvision.transforms import (
+ ColorJitter,
+ Compose,
+ Normalize,
+ RandomAffine,
+ RandomHorizontalFlip,
+ RandomRotation,
+ ToPILImage,
+ ToTensor,
+)
from text_recognizer.datasets.util import EmnistMapper
+class RandomResizeCrop:
+ """Image transform with random resize and crop applied.
+
+ Stolen from
+
+ https://github.com/facebookresearch/gtn_applications/blob/master/datasets/iamdb.py
+
+ """
+
+ def __init__(self, jitter: int = 10, ratio: float = 0.5) -> None:
+ self.jitter = jitter
+ self.ratio = ratio
+
+ def __call__(self, img: np.ndarray) -> np.ndarray:
+ """Applies random crop and rotation to an image."""
+ w, h = img.size
+
+ # pad with white:
+ img = transforms.functional.pad(img, self.jitter, fill=255)
+
+ # crop at random (x, y):
+ x = self.jitter + random.randint(-self.jitter, self.jitter)
+ y = self.jitter + random.randint(-self.jitter, self.jitter)
+
+ # randomize aspect ratio:
+ size_w = w * random.uniform(1 - self.ratio, 1 + self.ratio)
+ size = (h, int(size_w))
+ img = transforms.functional.resized_crop(img, y, x, h, w, size)
+ return img
+
+
class Transpose:
"""Transposes the EMNIST image to the correct orientation."""
diff --git a/src/text_recognizer/models/__init__.py b/src/text_recognizer/models/__init__.py
index eb5dbce..7647d7e 100644
--- a/src/text_recognizer/models/__init__.py
+++ b/src/text_recognizer/models/__init__.py
@@ -5,6 +5,7 @@ from .crnn_model import CRNNModel
from .ctc_transformer_model import CTCTransformerModel
from .segmentation_model import SegmentationModel
from .transformer_model import TransformerModel
+from .vqvae_model import VQVAEModel
__all__ = [
"CharacterModel",
@@ -13,4 +14,5 @@ __all__ = [
"Model",
"SegmentationModel",
"TransformerModel",
+ "VQVAEModel",
]
diff --git a/src/text_recognizer/models/base.py b/src/text_recognizer/models/base.py
index f2cd4b8..70f4cdb 100644
--- a/src/text_recognizer/models/base.py
+++ b/src/text_recognizer/models/base.py
@@ -332,7 +332,7 @@ class Model(ABC):
def summary(
self,
input_shape: Optional[Union[List, Tuple]] = None,
- depth: int = 4,
+ depth: int = 3,
device: Optional[str] = None,
) -> None:
"""Prints a summary of the network architecture."""
diff --git a/src/text_recognizer/models/transformer_model.py b/src/text_recognizer/models/transformer_model.py
index 12e497f..3f63053 100644
--- a/src/text_recognizer/models/transformer_model.py
+++ b/src/text_recognizer/models/transformer_model.py
@@ -6,9 +6,9 @@ import torch
from torch import nn
from torch import Tensor
from torch.utils.data import Dataset
-from torchvision.transforms import ToTensor
from text_recognizer.datasets import EmnistMapper
+import text_recognizer.datasets.transforms as transforms
from text_recognizer.models.base import Model
from text_recognizer.networks import greedy_decoder
@@ -60,13 +60,19 @@ class TransformerModel(Model):
eos_token=self.eos_token,
lower=self.lower,
)
- self.tensor_transform = ToTensor()
-
+ self.tensor_transform = transforms.Compose(
+ [transforms.ToTensor(), transforms.Normalize(mean=[0.912], std=[0.168])]
+ )
self.softmax = nn.Softmax(dim=2)
@torch.no_grad()
def _generate_sentence(self, image: Tensor) -> Tuple[List, float]:
src = self.network.extract_image_features(image)
+
+ # Added for vqvae transformer.
+ if isinstance(src, Tuple):
+ src = src[0]
+
memory = self.network.encoder(src)
confidence_of_predictions = []
diff --git a/src/text_recognizer/models/vqvae_model.py b/src/text_recognizer/models/vqvae_model.py
new file mode 100644
index 0000000..70f6f1f
--- /dev/null
+++ b/src/text_recognizer/models/vqvae_model.py
@@ -0,0 +1,80 @@
+"""Defines the VQVAEModel class."""
+from typing import Callable, Dict, Optional, Tuple, Type, Union
+
+import numpy as np
+import torch
+from torch import nn
+from torch.utils.data import Dataset
+from torchvision.transforms import ToTensor
+
+from text_recognizer.datasets import EmnistMapper
+from text_recognizer.models.base import Model
+
+
+class VQVAEModel(Model):
+ """Model for reconstructing images from codebook."""
+
+ def __init__(
+ self,
+ network_fn: Type[nn.Module],
+ dataset: Type[Dataset],
+ network_args: Optional[Dict] = None,
+ dataset_args: Optional[Dict] = None,
+ metrics: Optional[Dict] = None,
+ criterion: Optional[Callable] = None,
+ criterion_args: Optional[Dict] = None,
+ optimizer: Optional[Callable] = None,
+ optimizer_args: Optional[Dict] = None,
+ lr_scheduler: Optional[Callable] = None,
+ lr_scheduler_args: Optional[Dict] = None,
+ swa_args: Optional[Dict] = None,
+ device: Optional[str] = None,
+ ) -> None:
+ """Initializes the CharacterModel."""
+
+ super().__init__(
+ network_fn,
+ dataset,
+ network_args,
+ dataset_args,
+ metrics,
+ criterion,
+ criterion_args,
+ optimizer,
+ optimizer_args,
+ lr_scheduler,
+ lr_scheduler_args,
+ swa_args,
+ device,
+ )
+ self.pad_token = dataset_args["args"]["pad_token"]
+ if self._mapper is None:
+ self._mapper = EmnistMapper(pad_token=self.pad_token,)
+ self.tensor_transform = ToTensor()
+ self.softmax = nn.Softmax(dim=0)
+
+ @torch.no_grad()
+ def predict_on_image(self, image: Union[np.ndarray, torch.Tensor]) -> torch.Tensor:
+ """Reconstruction of image.
+
+ Args:
+ image (Union[np.ndarray, torch.Tensor]): An image containing a character.
+
+ Returns:
+ Tuple[str, float]: The predicted character and the confidence in the prediction.
+
+ """
+ self.eval()
+
+ if image.dtype == np.uint8:
+ # Converts an image with range [0, 255] with to Pytorch Tensor with range [0, 1].
+ image = self.tensor_transform(image)
+ if image.dtype == torch.uint8:
+ # If the image is an unscaled tensor.
+ image = image.type("torch.FloatTensor") / 255
+
+ # Put the image tensor on the device the model weights are on.
+ image = image.to(self.device)
+ image_reconstructed, _ = self.forward(image)
+
+ return image_reconstructed
diff --git a/src/text_recognizer/networks/__init__.py b/src/text_recognizer/networks/__init__.py
index 2b624bb..bac5d28 100644
--- a/src/text_recognizer/networks/__init__.py
+++ b/src/text_recognizer/networks/__init__.py
@@ -1,4 +1,5 @@
"""Network modules."""
+from .cnn import CNN
from .cnn_transformer import CNNTransformer
from .crnn import ConvolutionalRecurrentNetwork
from .ctc import greedy_decoder
@@ -7,15 +8,19 @@ from .lenet import LeNet
from .metrics import accuracy, cer, wer
from .mlp import MLP
from .residual_network import ResidualNetwork, ResidualNetworkEncoder
+from .transducer import TDS2d
from .transformer import Transformer
from .unet import UNet
from .util import sliding_window
from .vit import ViT
+from .vq_transformer import VQTransformer
+from .vqvae import VQVAE
from .wide_resnet import WideResidualNetwork
__all__ = [
"accuracy",
"cer",
+ "CNN",
"CNNTransformer",
"ConvolutionalRecurrentNetwork",
"DenseNet",
@@ -27,8 +32,11 @@ __all__ = [
"ResidualNetworkEncoder",
"sliding_window",
"UNet",
+ "TDS2d",
"Transformer",
"ViT",
+ "VQTransformer",
+ "VQVAE",
"wer",
"WideResidualNetwork",
]
diff --git a/src/text_recognizer/networks/cnn.py b/src/text_recognizer/networks/cnn.py
new file mode 100644
index 0000000..1807bb9
--- /dev/null
+++ b/src/text_recognizer/networks/cnn.py
@@ -0,0 +1,101 @@
+"""Implementation of a simple backbone cnn network."""
+from typing import Callable, Dict, Optional, Tuple
+
+from einops.layers.torch import Rearrange
+import torch
+from torch import nn
+
+from text_recognizer.networks.util import activation_function
+
+
+class CNN(nn.Module):
+ """LeNet network for character prediction."""
+
+ def __init__(
+ self,
+ channels: Tuple[int, ...] = (1, 32, 64, 128),
+ kernel_sizes: Tuple[int, ...] = (4, 4, 4),
+ strides: Tuple[int, ...] = (2, 2, 2),
+ max_pool_kernel: int = 2,
+ dropout_rate: float = 0.2,
+ activation: Optional[str] = "relu",
+ ) -> None:
+ """Initialization of the LeNet network.
+
+ Args:
+ channels (Tuple[int, ...]): Channels in the convolutional layers. Defaults to (1, 32, 64).
+ kernel_sizes (Tuple[int, ...]): Kernel sizes in the convolutional layers. Defaults to (3, 3, 2).
+ strides (Tuple[int, ...]): Stride length of the convolutional filter. Defaults to (2, 2, 2).
+ max_pool_kernel (int): 2D max pooling kernel. Defaults to 2.
+ dropout_rate (float): The dropout rate. Defaults to 0.2.
+ activation (Optional[str]): The name of non-linear activation function. Defaults to relu.
+
+ Raises:
+ RuntimeError: if the number of hyperparameters does not match in length.
+
+ """
+ super().__init__()
+
+ if len(channels) - 1 != len(kernel_sizes) and len(kernel_sizes) != len(strides):
+ raise RuntimeError("The number of the hyperparameters does not match.")
+
+ self.cnn = self._build_network(
+ channels, kernel_sizes, strides, max_pool_kernel, dropout_rate, activation,
+ )
+
+ def _build_network(
+ self,
+ channels: Tuple[int, ...],
+ kernel_sizes: Tuple[int, ...],
+ strides: Tuple[int, ...],
+ max_pool_kernel: int,
+ dropout_rate: float,
+ activation: str,
+ ) -> nn.Sequential:
+ # Load activation function.
+ activation_fn = activation_function(activation)
+
+ channels = list(channels)
+ in_channels = channels.pop(0)
+ configuration = zip(channels, kernel_sizes, strides)
+
+ modules = nn.ModuleList([])
+
+ for i, (out_channels, kernel_size, stride) in enumerate(configuration):
+ # Add max pool to reduce output size.
+ if i == len(channels) // 2:
+ modules.append(nn.MaxPool2d(max_pool_kernel))
+ if i == 0:
+ modules.append(
+ nn.Conv2d(
+ in_channels, out_channels, kernel_size, stride=stride, padding=1
+ )
+ )
+ else:
+ modules.append(
+ nn.Sequential(
+ activation_fn,
+ nn.BatchNorm2d(in_channels),
+ nn.Conv2d(
+ in_channels,
+ out_channels,
+ kernel_size,
+ stride=stride,
+ padding=1,
+ ),
+ )
+ )
+
+ if dropout_rate:
+ modules.append(nn.Dropout2d(p=dropout_rate))
+
+ in_channels = out_channels
+
+ return nn.Sequential(*modules)
+
+ def forward(self, x: torch.Tensor) -> torch.Tensor:
+ """The feedforward pass."""
+ # If batch dimenstion is missing, it needs to be added.
+ if len(x.shape) < 4:
+ x = x[(None,) * (4 - len(x.shape))]
+ return self.cnn(x)
diff --git a/src/text_recognizer/networks/cnn_transformer.py b/src/text_recognizer/networks/cnn_transformer.py
index 43e5403..7133c26 100644
--- a/src/text_recognizer/networks/cnn_transformer.py
+++ b/src/text_recognizer/networks/cnn_transformer.py
@@ -29,14 +29,22 @@ class CNNTransformer(nn.Module):
backbone: str,
backbone_args: Optional[Dict] = None,
activation: str = "gelu",
+ pool_kernel: Optional[Tuple[int, int]] = None,
) -> None:
super().__init__()
self.trg_pad_index = trg_pad_index
self.vocab_size = vocab_size
self.backbone = configure_backbone(backbone, backbone_args)
+
+ if pool_kernel is not None:
+ self.max_pool = nn.MaxPool2d(pool_kernel, stride=2)
+ else:
+ self.max_pool = None
+
self.character_embedding = nn.Embedding(self.vocab_size, hidden_dim)
self.src_position_embedding = nn.Parameter(torch.randn(1, max_len, hidden_dim))
+ self.pos_dropout = nn.Dropout(p=dropout_rate)
self.trg_position_encoding = PositionalEncoding(hidden_dim, dropout_rate)
nn.init.normal_(self.character_embedding.weight, std=0.02)
@@ -98,18 +106,23 @@ class CNNTransformer(nn.Module):
# If batch dimension is missing, it needs to be added.
if len(src.shape) < 4:
src = src[(None,) * (4 - len(src.shape))]
+
src = self.backbone(src)
+ if self.max_pool is not None:
+ src = self.max_pool(src)
+
if self.adaptive_pool is not None:
src = rearrange(src, "b c h w -> b w c h")
src = self.adaptive_pool(src)
src = src.squeeze(3)
else:
- src = rearrange(src, "b c h w -> b (w h) c")
+ src = rearrange(src, "b c h w -> b (h w) c")
b, t, _ = src.shape
src += self.src_position_embedding[:, :t]
+ src = self.pos_dropout(src)
return src
diff --git a/src/text_recognizer/networks/metrics.py b/src/text_recognizer/networks/metrics.py
index ffad792..2605731 100644
--- a/src/text_recognizer/networks/metrics.py
+++ b/src/text_recognizer/networks/metrics.py
@@ -1,4 +1,7 @@
"""Utility functions for models."""
+from typing import Optional
+
+from einops import rearrange
import Levenshtein as Lev
import torch
from torch import Tensor
@@ -32,22 +35,33 @@ def accuracy(outputs: Tensor, labels: Tensor, pad_index: int = 53) -> float:
return acc
-def cer(outputs: Tensor, targets: Tensor) -> float:
+def cer(
+ outputs: Tensor,
+ targets: Tensor,
+ batch_size: Optional[int] = None,
+ blank_label: Optional[int] = int,
+) -> float:
"""Computes the character error rate.
Args:
outputs (Tensor): The output from the network.
targets (Tensor): Ground truth labels.
+ batch_size (Optional[int]): Batch size if target and output has been flattend.
+ blank_label (Optional[int]): The blank character to be ignored. Defaults to 79.
Returns:
float: The cer for the batch.
"""
+ if len(outputs.shape) == 2 and len(targets.shape) == 1 and batch_size is not None:
+ targets = rearrange(targets, "(b t) -> b t", b=batch_size)
+ outputs = rearrange(outputs, "(b t) v -> t b v", b=batch_size)
+
target_lengths = torch.full(
size=(outputs.shape[1],), fill_value=targets.shape[1], dtype=torch.long,
)
decoded_predictions, decoded_targets = greedy_decoder(
- outputs, targets, target_lengths
+ outputs, targets, target_lengths, blank_label=blank_label,
)
lev_dist = 0
@@ -63,22 +77,33 @@ def cer(outputs: Tensor, targets: Tensor) -> float:
return lev_dist / len(decoded_predictions)
-def wer(outputs: Tensor, targets: Tensor) -> float:
+def wer(
+ outputs: Tensor,
+ targets: Tensor,
+ batch_size: Optional[int] = None,
+ blank_label: Optional[int] = int,
+) -> float:
"""Computes the Word error rate.
Args:
outputs (Tensor): The output from the network.
targets (Tensor): Ground truth labels.
+ batch_size (optional[int]): Batch size if target and output has been flattend.
+ blank_label (Optional[int]): The blank character to be ignored. Defaults to 79.
Returns:
float: The wer for the batch.
"""
+ if len(outputs.shape) == 2 and len(targets.shape) == 1 and batch_size is not None:
+ targets = rearrange(targets, "(b t) -> b t", b=batch_size)
+ outputs = rearrange(outputs, "(b t) v -> t b v", b=batch_size)
+
target_lengths = torch.full(
size=(outputs.shape[1],), fill_value=targets.shape[1], dtype=torch.long,
)
decoded_predictions, decoded_targets = greedy_decoder(
- outputs, targets, target_lengths
+ outputs, targets, target_lengths, blank_label=blank_label,
)
lev_dist = 0
diff --git a/src/text_recognizer/networks/transducer/__init__.py b/src/text_recognizer/networks/transducer/__init__.py
new file mode 100644
index 0000000..fdd6662
--- /dev/null
+++ b/src/text_recognizer/networks/transducer/__init__.py
@@ -0,0 +1,2 @@
+"""Transducer modules."""
+from .tds_conv import TDS2d
diff --git a/src/text_recognizer/networks/transducer/tds_conv.py b/src/text_recognizer/networks/transducer/tds_conv.py
new file mode 100644
index 0000000..018caf2
--- /dev/null
+++ b/src/text_recognizer/networks/transducer/tds_conv.py
@@ -0,0 +1,205 @@
+"""Time-Depth Separable Convolutions.
+
+References:
+ https://arxiv.org/abs/1904.02619
+ https://arxiv.org/pdf/2010.01003.pdf
+
+Code stolen from:
+ https://github.com/facebookresearch/gtn_applications
+
+
+"""
+from typing import List, Tuple
+
+from einops import rearrange
+import gtn
+import numpy as np
+import torch
+from torch import nn
+from torch import Tensor
+
+
+class TDSBlock2d(nn.Module):
+ """Internal block of a 2D TDSC network."""
+
+ def __init__(
+ self,
+ in_channels: int,
+ img_depth: int,
+ kernel_size: Tuple[int],
+ dropout_rate: float,
+ ) -> None:
+ super().__init__()
+
+ self.in_channels = in_channels
+ self.img_depth = img_depth
+ self.kernel_size = kernel_size
+ self.dropout_rate = dropout_rate
+ self.fc_dim = in_channels * img_depth
+
+ # Network placeholders.
+ self.conv = None
+ self.mlp = None
+ self.instance_norm = None
+
+ self._build_block()
+
+ def _build_block(self) -> None:
+ # Convolutional block.
+ self.conv = nn.Sequential(
+ nn.Conv3d(
+ in_channels=self.in_channels,
+ out_channels=self.in_channels,
+ kernel_size=(1, self.kernel_size[0], self.kernel_size[1]),
+ padding=(0, self.kernel_size[0] // 2, self.kernel_size[1] // 2),
+ ),
+ nn.ReLU(inplace=True),
+ nn.Dropout(self.dropout_rate),
+ )
+
+ # MLP block.
+ self.mlp = nn.Sequential(
+ nn.Linear(self.fc_dim, self.fc_dim),
+ nn.ReLU(inplace=True),
+ nn.Dropout(self.dropout_rate),
+ nn.Linear(self.fc_dim, self.fc_dim),
+ nn.Dropout(self.dropout_rate),
+ )
+
+ # Instance norm.
+ self.instance_norm = nn.ModuleList(
+ [
+ nn.InstanceNorm2d(self.fc_dim, affine=True),
+ nn.InstanceNorm2d(self.fc_dim, affine=True),
+ ]
+ )
+
+ def forward(self, x: Tensor) -> Tensor:
+ """Forward pass.
+
+ Args:
+ x (Tensor): Input tensor.
+
+ Shape:
+ - x: :math: `(B, CD, H, W)`
+
+ Returns:
+ Tensor: Output tensor.
+
+ """
+ B, CD, H, W = x.shape
+ C, D = self.in_channels, self.img_depth
+ residual = x
+ x = rearrange(x, "b (c d) h w -> b c d h w", c=C, d=D)
+ x = self.conv(x)
+ x = rearrange(x, "b c d h w -> b (c d) h w")
+ x += residual
+
+ x = self.instance_norm[0](x)
+
+ x = self.mlp(x.transpose(1, 3)).transpose(1, 3) + x
+ x + self.instance_norm[1](x)
+
+ # Output shape: [B, CD, H, W]
+ return x
+
+
+class TDS2d(nn.Module):
+ """TDS Netowrk.
+
+ Structure is the following:
+ Downsample layer -> TDS2d group -> ... -> Linear output layer
+
+
+ """
+
+ def __init__(
+ self,
+ input_dim: int,
+ output_dim: int,
+ depth: int,
+ tds_groups: Tuple[int],
+ kernel_size: Tuple[int],
+ dropout_rate: float,
+ in_channels: int = 1,
+ ) -> None:
+ super().__init__()
+
+ self.in_channels = in_channels
+ self.input_dim = input_dim
+ self.output_dim = output_dim
+ self.depth = depth
+ self.tds_groups = tds_groups
+ self.kernel_size = kernel_size
+ self.dropout_rate = dropout_rate
+
+ self.tds = None
+ self.fc = None
+
+ def _build_network(self) -> None:
+
+ modules = []
+ stride_h = np.prod([grp["stride"][0] for grp in self.tds_groups])
+ if self.input_dim % stride_h:
+ raise RuntimeError(
+ f"Image height not divisible by total stride {stride_h}."
+ )
+
+ for tds_group in self.tds_groups:
+ # Add downsample layer.
+ out_channels = self.depth * tds_group["channels"]
+ modules.extend(
+ [
+ nn.Conv2d(
+ in_channels=self.in_channels,
+ out_channels=out_channels,
+ kernel_size=self.kernel_size,
+ padding=(self.kernel_size[0] // 2, self.kernel_size[1] // 2),
+ stride=tds_group["stride"],
+ ),
+ nn.ReLU(inplace=True),
+ nn.Dropout(self.dropout_rate),
+ nn.InstanceNorm2d(out_channels, affine=True),
+ ]
+ )
+
+ for _ in range(tds_group["num_blocks"]):
+ modules.append(
+ TDSBlock2d(
+ tds_group["channels"],
+ self.depth,
+ self.kernel_size,
+ self.dropout_rate,
+ )
+ )
+
+ self.in_channels = out_channels
+
+ self.tds = nn.Sequential(*modules)
+ self.fc = nn.Linear(
+ self.in_channels * self.input_dim // stride_h, self.output_dim
+ )
+
+ def forward(self, x: Tensor) -> Tensor:
+ """Forward pass.
+
+ Args:
+ x (Tensor): Input tensor.
+
+ Shape:
+ - x: :math: `(B, H, W)`
+
+ Returns:
+ Tensor: Output tensor.
+
+ """
+ B, H, W = x.shape
+ x = rearrange(
+ x, "b (h1 h2) w -> b h1 h2 w", h1=self.in_channels, h2=H // self.in_channels
+ )
+ x = self.tds(x)
+
+ # x shape: [B, C, H, W]
+ x = rearrange(x, "b c h w -> b w (c h)")
+
+ return self.fc(x)
diff --git a/src/text_recognizer/networks/util.py b/src/text_recognizer/networks/util.py
index 711a952..131a6b4 100644
--- a/src/text_recognizer/networks/util.py
+++ b/src/text_recognizer/networks/util.py
@@ -65,13 +65,18 @@ def configure_backbone(backbone: str, backbone_args: Dict) -> Type[nn.Module]:
network_args = state_dict["network_args"]
weights = state_dict["model_state"]
+ freeze = False
+ if "freeze" in backbone_args and backbone_args["freeze"] is True:
+ backbone_args.pop("freeze")
+ freeze = True
+ network_args = backbone_args
+
# Initializes the network with trained weights.
backbone = backbone_(**network_args)
backbone.load_state_dict(weights)
- if "freeze" in backbone_args and backbone_args["freeze"] is True:
+ if freeze:
for params in backbone.parameters():
params.requires_grad = False
-
else:
backbone_ = getattr(network_module, backbone)
backbone = backbone_(**backbone_args)
diff --git a/src/text_recognizer/networks/vq_transformer.py b/src/text_recognizer/networks/vq_transformer.py
new file mode 100644
index 0000000..c673d96
--- /dev/null
+++ b/src/text_recognizer/networks/vq_transformer.py
@@ -0,0 +1,150 @@
+"""A VQ-Transformer for image to text recognition."""
+from typing import Dict, Optional, Tuple
+
+from einops import rearrange, repeat
+import torch
+from torch import nn
+from torch import Tensor
+
+from text_recognizer.networks.transformer import PositionalEncoding, Transformer
+from text_recognizer.networks.util import activation_function
+from text_recognizer.networks.util import configure_backbone
+from text_recognizer.networks.vqvae.encoder import _ResidualBlock
+
+
+class VQTransformer(nn.Module):
+ """VQ+Transfomer for image to character sequence prediction."""
+
+ def __init__(
+ self,
+ num_encoder_layers: int,
+ num_decoder_layers: int,
+ hidden_dim: int,
+ vocab_size: int,
+ num_heads: int,
+ adaptive_pool_dim: Tuple,
+ expansion_dim: int,
+ dropout_rate: float,
+ trg_pad_index: int,
+ max_len: int,
+ backbone: str,
+ backbone_args: Optional[Dict] = None,
+ activation: str = "gelu",
+ ) -> None:
+ super().__init__()
+
+ # Configure vector quantized backbone.
+ self.backbone = configure_backbone(backbone, backbone_args)
+ self.conv = nn.Sequential(
+ nn.Conv2d(hidden_dim, hidden_dim, kernel_size=3, stride=2),
+ nn.ReLU(inplace=True),
+ )
+
+ # Configure embeddings for Transformer network.
+ self.trg_pad_index = trg_pad_index
+ self.vocab_size = vocab_size
+ self.character_embedding = nn.Embedding(self.vocab_size, hidden_dim)
+ self.src_position_embedding = nn.Parameter(torch.randn(1, max_len, hidden_dim))
+ self.trg_position_encoding = PositionalEncoding(hidden_dim, dropout_rate)
+ nn.init.normal_(self.character_embedding.weight, std=0.02)
+
+ self.adaptive_pool = (
+ nn.AdaptiveAvgPool2d((adaptive_pool_dim)) if adaptive_pool_dim else None
+ )
+
+ self.transformer = Transformer(
+ num_encoder_layers,
+ num_decoder_layers,
+ hidden_dim,
+ num_heads,
+ expansion_dim,
+ dropout_rate,
+ activation,
+ )
+
+ self.head = nn.Sequential(nn.Linear(hidden_dim, vocab_size),)
+
+ def _create_trg_mask(self, trg: Tensor) -> Tensor:
+ # Move this outside the transformer.
+ trg_pad_mask = (trg != self.trg_pad_index)[:, None, None]
+ trg_len = trg.shape[1]
+ trg_sub_mask = torch.tril(
+ torch.ones((trg_len, trg_len), device=trg.device)
+ ).bool()
+ trg_mask = trg_pad_mask & trg_sub_mask
+ return trg_mask
+
+ def encoder(self, src: Tensor) -> Tensor:
+ """Forward pass with the encoder of the transformer."""
+ return self.transformer.encoder(src)
+
+ def decoder(self, trg: Tensor, memory: Tensor, trg_mask: Tensor) -> Tensor:
+ """Forward pass with the decoder of the transformer + classification head."""
+ return self.head(
+ self.transformer.decoder(trg=trg, memory=memory, trg_mask=trg_mask)
+ )
+
+ def extract_image_features(self, src: Tensor) -> Tuple[Tensor, Tensor]:
+ """Extracts image features with a backbone neural network.
+
+ It seem like the winning idea was to swap channels and width dimension and collapse
+ the height dimension. The transformer is learning like a baby with this implementation!!! :D
+ Ohhhh, the joy I am experiencing right now!! Bring in the beers! :D :D :D
+
+ Args:
+ src (Tensor): Input tensor.
+
+ Returns:
+ Tensor: The input src to the transformer and the vq loss.
+
+ """
+ # If batch dimension is missing, it needs to be added.
+ if len(src.shape) < 4:
+ src = src[(None,) * (4 - len(src.shape))]
+ src, vq_loss = self.backbone.encode(src)
+ # src = self.backbone.decoder.res_block(src)
+ src = self.conv(src)
+
+ if self.adaptive_pool is not None:
+ src = rearrange(src, "b c h w -> b w c h")
+ src = self.adaptive_pool(src)
+ src = src.squeeze(3)
+ else:
+ src = rearrange(src, "b c h w -> b (w h) c")
+
+ b, t, _ = src.shape
+
+ src += self.src_position_embedding[:, :t]
+
+ return src, vq_loss
+
+ def target_embedding(self, trg: Tensor) -> Tensor:
+ """Encodes target tensor with embedding and postion.
+
+ Args:
+ trg (Tensor): Target tensor.
+
+ Returns:
+ Tensor: Encoded target tensor.
+
+ """
+ trg = self.character_embedding(trg.long())
+ trg = self.trg_position_encoding(trg)
+ return trg
+
+ def decode_image_features(
+ self, image_features: Tensor, trg: Optional[Tensor] = None
+ ) -> Tensor:
+ """Takes images features from the backbone and decodes them with the transformer."""
+ trg_mask = self._create_trg_mask(trg)
+ trg = self.target_embedding(trg)
+ out = self.transformer(image_features, trg, trg_mask=trg_mask)
+
+ logits = self.head(out)
+ return logits
+
+ def forward(self, x: Tensor, trg: Optional[Tensor] = None) -> Tensor:
+ """Forward pass with CNN transfomer."""
+ image_features, vq_loss = self.extract_image_features(x)
+ logits = self.decode_image_features(image_features, trg)
+ return logits, vq_loss
diff --git a/src/text_recognizer/networks/vqvae/__init__.py b/src/text_recognizer/networks/vqvae/__init__.py
index e1f05fa..763953c 100644
--- a/src/text_recognizer/networks/vqvae/__init__.py
+++ b/src/text_recognizer/networks/vqvae/__init__.py
@@ -1 +1,5 @@
"""VQ-VAE module."""
+from .decoder import Decoder
+from .encoder import Encoder
+from .vector_quantizer import VectorQuantizer
+from .vqvae import VQVAE
diff --git a/src/text_recognizer/networks/vqvae/decoder.py b/src/text_recognizer/networks/vqvae/decoder.py
new file mode 100644
index 0000000..8847aba
--- /dev/null
+++ b/src/text_recognizer/networks/vqvae/decoder.py
@@ -0,0 +1,133 @@
+"""CNN decoder for the VQ-VAE."""
+
+from typing import List, Optional, Tuple, Type
+
+import torch
+from torch import nn
+from torch import Tensor
+
+from text_recognizer.networks.util import activation_function
+from text_recognizer.networks.vqvae.encoder import _ResidualBlock
+
+
+class Decoder(nn.Module):
+ """A CNN encoder network."""
+
+ def __init__(
+ self,
+ channels: List[int],
+ kernel_sizes: List[int],
+ strides: List[int],
+ num_residual_layers: int,
+ embedding_dim: int,
+ upsampling: Optional[List[List[int]]] = None,
+ activation: str = "leaky_relu",
+ dropout_rate: float = 0.0,
+ ) -> None:
+ super().__init__()
+
+ if dropout_rate:
+ if activation == "selu":
+ dropout = nn.AlphaDropout(p=dropout_rate)
+ else:
+ dropout = nn.Dropout(p=dropout_rate)
+ else:
+ dropout = None
+
+ self.upsampling = upsampling
+
+ self.res_block = nn.ModuleList([])
+ self.upsampling_block = nn.ModuleList([])
+
+ self.embedding_dim = embedding_dim
+ activation = activation_function(activation)
+
+ # Configure encoder.
+ self.decoder = self._build_decoder(
+ channels, kernel_sizes, strides, num_residual_layers, activation, dropout,
+ )
+
+ def _build_decompression_block(
+ self,
+ in_channels: int,
+ channels: int,
+ kernel_sizes: List[int],
+ strides: List[int],
+ activation: Type[nn.Module],
+ dropout: Optional[Type[nn.Module]],
+ ) -> nn.ModuleList:
+ modules = nn.ModuleList([])
+ configuration = zip(channels, kernel_sizes, strides)
+ for i, (out_channels, kernel_size, stride) in enumerate(configuration):
+ modules.append(
+ nn.Sequential(
+ nn.ConvTranspose2d(
+ in_channels,
+ out_channels,
+ kernel_size,
+ stride=stride,
+ padding=1,
+ ),
+ activation,
+ )
+ )
+
+ if i < len(self.upsampling):
+ modules.append(nn.Upsample(size=self.upsampling[i]),)
+
+ if dropout is not None:
+ modules.append(dropout)
+
+ in_channels = out_channels
+
+ modules.extend(
+ nn.Sequential(
+ nn.ConvTranspose2d(
+ in_channels, 1, kernel_size=kernel_size, stride=stride, padding=1
+ ),
+ nn.Tanh(),
+ )
+ )
+
+ return modules
+
+ def _build_decoder(
+ self,
+ channels: int,
+ kernel_sizes: List[int],
+ strides: List[int],
+ num_residual_layers: int,
+ activation: Type[nn.Module],
+ dropout: Optional[Type[nn.Module]],
+ ) -> nn.Sequential:
+
+ self.res_block.append(
+ nn.Conv2d(self.embedding_dim, channels[0], kernel_size=1, stride=1,)
+ )
+
+ # Bottleneck module.
+ self.res_block.extend(
+ nn.ModuleList(
+ [
+ _ResidualBlock(channels[0], channels[0], dropout)
+ for i in range(num_residual_layers)
+ ]
+ )
+ )
+
+ # Decompression module
+ self.upsampling_block.extend(
+ self._build_decompression_block(
+ channels[0], channels[1:], kernel_sizes, strides, activation, dropout
+ )
+ )
+
+ self.res_block = nn.Sequential(*self.res_block)
+ self.upsampling_block = nn.Sequential(*self.upsampling_block)
+
+ return nn.Sequential(self.res_block, self.upsampling_block)
+
+ def forward(self, z_q: Tensor) -> Tensor:
+ """Reconstruct input from given codes."""
+ x_reconstruction = self.decoder(z_q)
+ return x_reconstruction
diff --git a/src/text_recognizer/networks/vqvae/encoder.py b/src/text_recognizer/networks/vqvae/encoder.py
index 60c4c43..d3adac5 100644
--- a/src/text_recognizer/networks/vqvae/encoder.py
+++ b/src/text_recognizer/networks/vqvae/encoder.py
@@ -1,6 +1,5 @@
"""CNN encoder for the VQ-VAE."""
-
-from typing import List, Optional, Type
+from typing import List, Optional, Tuple, Type
import torch
from torch import nn
@@ -12,16 +11,12 @@ from text_recognizer.networks.vqvae.vector_quantizer import VectorQuantizer
class _ResidualBlock(nn.Module):
def __init__(
- self,
- in_channels: int,
- out_channels: int,
- activation: Type[nn.Module],
- dropout: Optional[Type[nn.Module]],
+ self, in_channels: int, out_channels: int, dropout: Optional[Type[nn.Module]],
) -> None:
super().__init__()
self.block = [
nn.Conv2d(in_channels, out_channels, kernel_size=3, padding=1, bias=False),
- activation,
+ nn.ReLU(inplace=True),
nn.Conv2d(out_channels, out_channels, kernel_size=1, bias=False),
]
@@ -42,23 +37,111 @@ class Encoder(nn.Module):
self,
in_channels: int,
channels: List[int],
+ kernel_sizes: List[int],
+ strides: List[int],
num_residual_layers: int,
embedding_dim: int,
num_embeddings: int,
beta: float = 0.25,
- activation: str = "elu",
+ activation: str = "leaky_relu",
dropout_rate: float = 0.0,
) -> None:
super().__init__()
- pass
- # if dropout_rate:
- # if activation == "selu":
- # dropout = nn.AlphaDropout(p=dropout_rate)
- # else:
- # dropout = nn.Dropout(p=dropout_rate)
- # else:
- # dropout = None
-
- def _build_encoder(self) -> nn.Sequential:
- # TODO: Continue to implement encoder.
- pass
+
+ if dropout_rate:
+ if activation == "selu":
+ dropout = nn.AlphaDropout(p=dropout_rate)
+ else:
+ dropout = nn.Dropout(p=dropout_rate)
+ else:
+ dropout = None
+
+ self.embedding_dim = embedding_dim
+ self.num_embeddings = num_embeddings
+ self.beta = beta
+ activation = activation_function(activation)
+
+ # Configure encoder.
+ self.encoder = self._build_encoder(
+ in_channels,
+ channels,
+ kernel_sizes,
+ strides,
+ num_residual_layers,
+ activation,
+ dropout,
+ )
+
+ # Configure Vector Quantizer.
+ self.vector_quantizer = VectorQuantizer(
+ self.num_embeddings, self.embedding_dim, self.beta
+ )
+
+ def _build_compression_block(
+ self,
+ in_channels: int,
+ channels: int,
+ kernel_sizes: List[int],
+ strides: List[int],
+ activation: Type[nn.Module],
+ dropout: Optional[Type[nn.Module]],
+ ) -> nn.ModuleList:
+ modules = nn.ModuleList([])
+ configuration = zip(channels, kernel_sizes, strides)
+ for out_channels, kernel_size, stride in configuration:
+ modules.append(
+ nn.Sequential(
+ nn.Conv2d(
+ in_channels, out_channels, kernel_size, stride=stride, padding=1
+ ),
+ activation,
+ )
+ )
+
+ if dropout is not None:
+ modules.append(dropout)
+
+ in_channels = out_channels
+
+ return modules
+
+ def _build_encoder(
+ self,
+ in_channels: int,
+ channels: int,
+ kernel_sizes: List[int],
+ strides: List[int],
+ num_residual_layers: int,
+ activation: Type[nn.Module],
+ dropout: Optional[Type[nn.Module]],
+ ) -> nn.Sequential:
+ encoder = nn.ModuleList([])
+
+ # compression module
+ encoder.extend(
+ self._build_compression_block(
+ in_channels, channels, kernel_sizes, strides, activation, dropout
+ )
+ )
+
+ # Bottleneck module.
+ encoder.extend(
+ nn.ModuleList(
+ [
+ _ResidualBlock(channels[-1], channels[-1], dropout)
+ for i in range(num_residual_layers)
+ ]
+ )
+ )
+
+ encoder.append(
+ nn.Conv2d(channels[-1], self.embedding_dim, kernel_size=1, stride=1,)
+ )
+
+ return nn.Sequential(*encoder)
+
+ def forward(self, x: Tensor) -> Tuple[Tensor, Tensor]:
+ """Encodes input into a discrete representation."""
+ z_e = self.encoder(x)
+ z_q, vq_loss = self.vector_quantizer(z_e)
+ return z_q, vq_loss
diff --git a/src/text_recognizer/networks/vqvae/vector_quantizer.py b/src/text_recognizer/networks/vqvae/vector_quantizer.py
index 25e5583..f92c7ee 100644
--- a/src/text_recognizer/networks/vqvae/vector_quantizer.py
+++ b/src/text_recognizer/networks/vqvae/vector_quantizer.py
@@ -26,7 +26,7 @@ class VectorQuantizer(nn.Module):
self.embedding = nn.Embedding(self.K, self.D)
# Initialize the codebook.
- self.embedding.weight.uniform_(-1 / self.K, 1 / self.K)
+ nn.init.uniform_(self.embedding.weight, -1 / self.K, 1 / self.K)
def discretization_bottleneck(self, latent: Tensor) -> Tensor:
"""Computes the code nearest to the latent representation.
diff --git a/src/text_recognizer/networks/vqvae/vqvae.py b/src/text_recognizer/networks/vqvae/vqvae.py
new file mode 100644
index 0000000..50448b4
--- /dev/null
+++ b/src/text_recognizer/networks/vqvae/vqvae.py
@@ -0,0 +1,74 @@
+"""The VQ-VAE."""
+
+from typing import List, Optional, Tuple, Type
+
+import torch
+from torch import nn
+from torch import Tensor
+
+from text_recognizer.networks.vqvae import Decoder, Encoder
+
+
+class VQVAE(nn.Module):
+ """Vector Quantized Variational AutoEncoder."""
+
+ def __init__(
+ self,
+ in_channels: int,
+ channels: List[int],
+ kernel_sizes: List[int],
+ strides: List[int],
+ num_residual_layers: int,
+ embedding_dim: int,
+ num_embeddings: int,
+ upsampling: Optional[List[List[int]]] = None,
+ beta: float = 0.25,
+ activation: str = "leaky_relu",
+ dropout_rate: float = 0.0,
+ ) -> None:
+ super().__init__()
+
+ # configure encoder.
+ self.encoder = Encoder(
+ in_channels,
+ channels,
+ kernel_sizes,
+ strides,
+ num_residual_layers,
+ embedding_dim,
+ num_embeddings,
+ beta,
+ activation,
+ dropout_rate,
+ )
+
+ # Configure decoder.
+ channels.reverse()
+ kernel_sizes.reverse()
+ strides.reverse()
+ self.decoder = Decoder(
+ channels,
+ kernel_sizes,
+ strides,
+ num_residual_layers,
+ embedding_dim,
+ upsampling,
+ activation,
+ dropout_rate,
+ )
+
+ def encode(self, x: Tensor) -> Tuple[Tensor, Tensor]:
+ """Encodes input to a latent code."""
+ return self.encoder(x)
+
+ def decode(self, z_q: Tensor) -> Tensor:
+ """Reconstructs input from latent codes."""
+ return self.decoder(z_q)
+
+ def forward(self, x: Tensor) -> Tuple[Tensor, Tensor]:
+ """Compresses and decompresses input."""
+ if len(x.shape) < 4:
+ x = x[(None,) * (4 - len(x.shape))]
+ z_q, vq_loss = self.encode(x)
+ x_reconstruction = self.decode(z_q)
+ return x_reconstruction, vq_loss
diff --git a/src/text_recognizer/weights/VQVAEModel_IamLinesDataset_VQVAE_weights.pt b/src/text_recognizer/weights/VQVAEModel_IamLinesDataset_VQVAE_weights.pt
new file mode 100644
index 0000000..b5295c2
--- /dev/null
+++ b/src/text_recognizer/weights/VQVAEModel_IamLinesDataset_VQVAE_weights.pt
Binary files differ
diff --git a/src/training/run_experiment.py b/src/training/run_experiment.py
index 2c9a196..faafea6 100644
--- a/src/training/run_experiment.py
+++ b/src/training/run_experiment.py
@@ -296,7 +296,12 @@ def run_experiment(
# Run inference over test set.
if test:
logger.info("Loading checkpoint with the best weights.")
- model.load_from_checkpoint(model_dir / "best.pt")
+ if "checkpoint" in experiment_config["train_args"]:
+ model.load_from_checkpoint(
+ model_dir / experiment_config["train_args"]["checkpoint"]
+ )
+ else:
+ model.load_from_checkpoint(model_dir / "best.pt")
logger.info("Running inference on test set.")
if experiment_config["criterion"]["type"] == "EmbeddingLoss":
diff --git a/src/training/trainer/callbacks/__init__.py b/src/training/trainer/callbacks/__init__.py
index 95ec142..80c4177 100644
--- a/src/training/trainer/callbacks/__init__.py
+++ b/src/training/trainer/callbacks/__init__.py
@@ -7,7 +7,12 @@ from .lr_schedulers import (
SWA,
)
from .progress_bar import ProgressBar
-from .wandb_callbacks import WandbCallback, WandbImageLogger, WandbSegmentationLogger
+from .wandb_callbacks import (
+ WandbCallback,
+ WandbImageLogger,
+ WandbReconstructionLogger,
+ WandbSegmentationLogger,
+)
__all__ = [
"Callback",
@@ -17,6 +22,7 @@ __all__ = [
"LRScheduler",
"WandbCallback",
"WandbImageLogger",
+ "WandbReconstructionLogger",
"WandbSegmentationLogger",
"ProgressBar",
"SWA",
diff --git a/src/training/trainer/callbacks/wandb_callbacks.py b/src/training/trainer/callbacks/wandb_callbacks.py
index 20414df..552a4f4 100644
--- a/src/training/trainer/callbacks/wandb_callbacks.py
+++ b/src/training/trainer/callbacks/wandb_callbacks.py
@@ -201,3 +201,61 @@ class WandbSegmentationLogger(Callback):
)
wandb.log({f"{self.caption}": images}, commit=False)
+
+
+class WandbReconstructionLogger(Callback):
+ """Custom W&B callback for image reconstructions logging."""
+
+ def __init__(
+ self, example_indices: Optional[List] = None, num_examples: int = 4,
+ ) -> None:
+ """Initializes the WandbImageLogger with the model to train.
+
+ Args:
+ example_indices (Optional[List]): Indices for validation images. Defaults to None.
+ num_examples (int): Number of random samples to take if example_indices are not specified. Defaults to 4.
+
+ """
+
+ super().__init__()
+ self.caption = None
+ self.example_indices = example_indices
+ self.test_sample_indices = None
+ self.num_examples = num_examples
+
+ def set_model(self, model: Type[Model]) -> None:
+ """Sets the model and extracts validation images from the dataset."""
+ self.model = model
+ self.caption = "Validation Reconstructions Examples"
+ if self.example_indices is None:
+ self.example_indices = np.random.randint(
+ 0, len(self.model.val_dataset), self.num_examples
+ )
+ self.images = self.model.val_dataset.dataset.data[self.example_indices]
+
+ def on_test_begin(self) -> None:
+ """Get samples from test dataset."""
+ self.caption = "Test Reconstructions Examples"
+ if self.test_sample_indices is None:
+ self.test_sample_indices = np.random.randint(
+ 0, len(self.model.test_dataset), self.num_examples
+ )
+ self.images = self.model.test_dataset.data[self.test_sample_indices]
+
+ def on_test_end(self) -> None:
+ """Log test images."""
+ self.on_epoch_end(0, {})
+
+ def on_epoch_end(self, epoch: int, logs: Dict) -> None:
+ """Get network predictions on validation images."""
+ images = []
+ for image in self.images:
+ reconstructed_image = (
+ self.model.predict_on_image(image).detach().squeeze(0).cpu().numpy()
+ )
+ images.append(image)
+ images.append(reconstructed_image)
+
+ wandb.log(
+ {f"{self.caption}": [wandb.Image(image) for image in images]}, commit=False,
+ )
diff --git a/src/training/trainer/train.py b/src/training/trainer/train.py
index 40a25da..b770c94 100644
--- a/src/training/trainer/train.py
+++ b/src/training/trainer/train.py
@@ -12,7 +12,7 @@ import torch
from torch import Tensor
from torch.optim.swa_utils import update_bn
from training.trainer.callbacks import Callback, CallbackList, LRScheduler, SWA
-from training.trainer.util import log_val_metric, RunningAverage
+from training.trainer.util import log_val_metric
import wandb
from text_recognizer.models import Model
@@ -30,8 +30,6 @@ warnings.filterwarnings("ignore")
class Trainer:
"""Trainer for training PyTorch models."""
- # TODO: proper add teardown?
-
def __init__(
self,
max_epochs: int,
@@ -46,7 +44,7 @@ class Trainer:
max_epochs (int): The maximum number of epochs in the training loop.
callbacks (CallbackList): List of callbacks to be called.
transformer_model (bool): Transformer model flag, modifies the input to the model. Default is False.
- max_norm (float): Max norm for gradient clipping. Defaults to 0.0.
+ max_norm (float): Max norm for gradient cl:ipping. Defaults to 0.0.
freeze_backbone (Optional[int]): How many epochs to freeze the backbone for. Used when training
Transformers. Default is None.
@@ -79,35 +77,32 @@ class Trainer:
self.callbacks = CallbackList(self.model, self.callbacks)
def compute_metrics(
- self,
- output: Tensor,
- targets: Tensor,
- loss: Tensor,
- loss_avg: Type[RunningAverage],
+ self, output: Tensor, targets: Tensor, loss: Tensor, batch_size: int
) -> Dict:
"""Computes metrics for output and target pairs."""
# Compute metrics.
loss = loss.detach().float().item()
- loss_avg.update(loss)
output = output.detach()
targets = targets.detach()
if self.model.metrics is not None:
- metrics = {
- metric: self.model.metrics[metric](output, targets)
- for metric in self.model.metrics
- }
+ metrics = {}
+ for metric in self.model.metrics:
+ if metric == "cer" or metric == "wer":
+ metrics[metric] = self.model.metrics[metric](
+ output,
+ targets,
+ batch_size,
+ self.model.mapper(self.model.pad_token),
+ )
+ else:
+ metrics[metric] = self.model.metrics[metric](output, targets)
else:
metrics = {}
metrics["loss"] = loss
return metrics
- def training_step(
- self,
- batch: int,
- samples: Tuple[Tensor, Tensor],
- loss_avg: Type[RunningAverage],
- ) -> Dict:
+ def training_step(self, batch: int, samples: Tuple[Tensor, Tensor],) -> Dict:
"""Performs the training step."""
# Pass the tensor to the device for computation.
data, targets = samples
@@ -116,25 +111,43 @@ class Trainer:
targets.to(self.model.device),
)
+ batch_size = data.shape[0]
+
+ # Placeholder for uxiliary loss.
+ aux_loss = None
+
# Forward pass.
# Get the network prediction.
if self.transformer_model:
if self.freeze_backbone is not None and batch < self.freeze_backbone:
with torch.no_grad():
image_features = self.model.network.extract_image_features(data)
+
+ if isinstance(image_features, Tuple):
+ image_features, _ = image_features
+
output = self.model.network.decode_image_features(
image_features, targets[:, :-1]
)
else:
output = self.model.network.forward(data, targets[:, :-1])
+ if isinstance(output, Tuple):
+ output, aux_loss = output
output = rearrange(output, "b t v -> (b t) v")
targets = rearrange(targets[:, 1:], "b t -> (b t)").long()
else:
output = self.model.forward(data)
+ if isinstance(output, Tuple):
+ output, aux_loss = output
+ targets = data
+
# Compute the loss.
loss = self.model.criterion(output, targets)
+ if aux_loss is not None:
+ loss += aux_loss
+
# Backward pass.
# Clear the previous gradients.
for p in self.model.network.parameters():
@@ -151,7 +164,7 @@ class Trainer:
# Perform updates using calculated gradients.
self.model.optimizer.step()
- metrics = self.compute_metrics(output, targets, loss, loss_avg)
+ metrics = self.compute_metrics(output, targets, loss, batch_size)
return metrics
@@ -160,22 +173,15 @@ class Trainer:
# Set model to traning mode.
self.model.train()
- # Running average for the loss.
- loss_avg = RunningAverage()
-
for batch, samples in enumerate(self.model.train_dataloader()):
self.callbacks.on_train_batch_begin(batch)
- metrics = self.training_step(batch, samples, loss_avg)
+ metrics = self.training_step(batch, samples)
self.callbacks.on_train_batch_end(batch, logs=metrics)
@torch.no_grad()
- def validation_step(
- self,
- batch: int,
- samples: Tuple[Tensor, Tensor],
- loss_avg: Type[RunningAverage],
- ) -> Dict:
+ def validation_step(self, batch: int, samples: Tuple[Tensor, Tensor],) -> Dict:
"""Performs the validation step."""
+
# Pass the tensor to the device for computation.
data, targets = samples
data, targets = (
@@ -183,21 +189,35 @@ class Trainer:
targets.to(self.model.device),
)
+ batch_size = data.shape[0]
+
+ # Placeholder for uxiliary loss.
+ aux_loss = None
+
# Forward pass.
# Get the network prediction.
# Use SWA if available and using test dataset.
if self.transformer_model:
output = self.model.network.forward(data, targets[:, :-1])
+ if isinstance(output, Tuple):
+ output, aux_loss = output
output = rearrange(output, "b t v -> (b t) v")
targets = rearrange(targets[:, 1:], "b t -> (b t)").long()
else:
output = self.model.forward(data)
+ if isinstance(output, Tuple):
+ output, aux_loss = output
+ targets = data
+
# Compute the loss.
loss = self.model.criterion(output, targets)
+ if aux_loss is not None:
+ loss += aux_loss
+
# Compute metrics.
- metrics = self.compute_metrics(output, targets, loss, loss_avg)
+ metrics = self.compute_metrics(output, targets, loss, batch_size)
return metrics
@@ -206,15 +226,12 @@ class Trainer:
# Set model to eval mode.
self.model.eval()
- # Running average for the loss.
- loss_avg = RunningAverage()
-
# Summary for the current eval loop.
summary = []
for batch, samples in enumerate(self.model.val_dataloader()):
self.callbacks.on_validation_batch_begin(batch)
- metrics = self.validation_step(batch, samples, loss_avg)
+ metrics = self.validation_step(batch, samples)
self.callbacks.on_validation_batch_end(batch, logs=metrics)
summary.append(metrics)
@@ -287,14 +304,11 @@ class Trainer:
# Check if SWA network is available.
self.model.use_swa_model()
- # Running average for the loss.
- loss_avg = RunningAverage()
-
# Summary for the current test loop.
summary = []
for batch, samples in enumerate(self.model.test_dataloader()):
- metrics = self.validation_step(batch, samples, loss_avg)
+ metrics = self.validation_step(batch, samples)
summary.append(metrics)
self.callbacks.on_test_end()