[
  {
    "path": ".gitignore",
    "content": "# Byte-compiled / optimized / DLL files\n__pycache__/\n*.py[cod]\n*$py.class\n\n# C extensions\n*.so\n\n# Distribution / packaging\n.Python\nbuild/\ndevelop-eggs/\ndist/\ndownloads/\neggs/\n.eggs/\n# lib/\nlib64/\nparts/\nsdist/\nvar/\nwheels/\npip-wheel-metadata/\nshare/python-wheels/\n*.egg-info/\n.installed.cfg\n*.egg\nMANIFEST\n\n# PyInstaller\n#  Usually these files are written by a python script from a template\n#  before PyInstaller builds the exe, so as to inject date/other infos into it.\n*.manifest\n*.spec\n\n# Installer logs\npip-log.txt\npip-delete-this-directory.txt\n\n# Unit test / coverage reports\nhtmlcov/\n.tox/\n.nox/\n.coverage\n.coverage.*\n.cache\nnosetests.xml\ncoverage.xml\n*.cover\n*.py,cover\n.hypothesis/\n.pytest_cache/\n\n# Translations\n*.mo\n*.pot\n\n# Django stuff:\n*.log\nlocal_settings.py\ndb.sqlite3\ndb.sqlite3-journal\n\n# Flask stuff:\ninstance/\n.webassets-cache\n\n# Scrapy stuff:\n.scrapy\n\n# Sphinx documentation\ndocs/_build/\n\n# PyBuilder\ntarget/\n\n# Jupyter Notebook\n.ipynb_checkpoints\n\n# IPython\nprofile_default/\nipython_config.py\n\n# pyenv\n.python-version\n\n# pipenv\n#   According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.\n#   However, in case of collaboration, if having platform-specific dependencies or dependencies\n#   having no cross-platform support, pipenv may install dependencies that don't work, or not\n#   install all needed dependencies.\n#Pipfile.lock\n\n# PEP 582; used by e.g. github.com/David-OConnor/pyflow\n__pypackages__/\n\n# Celery stuff\ncelerybeat-schedule\ncelerybeat.pid\n\n# SageMath parsed files\n*.sage.py\n\n# Environments\n.env\n.venv\nenv/\nvenv/\nENV/\nenv.bak/\nvenv.bak/\n\n# Spyder project settings\n.spyderproject\n.spyproject\n\n# Rope project settings\n.ropeproject\n\n# mkdocs documentation\n/site\n\n# mypy\n.mypy_cache/\n.dmypy.json\ndmypy.json\n\n# Pyre type checker\n.pyre/\n\nnotebooks/**\n!notebooks/LaTeX_OCR*.ipynb\n.ipynb_checkpoints/\n**/dataset/data/**\nwandb/\npix2tex/model/checkpoints/**\n!pix2tex/model/checkpoints/*.py\n!**/.gitkeep\n.vscode\n.DS_Store\ntest/*\n\n"
  },
  {
    "path": ".readthedocs.yaml",
    "content": "# .readthedocs.yaml\n# Read the Docs configuration file\n# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details\n\n# Required\nversion: 2\n\n# Set the version of Python and other tools you might need\nbuild:\n  os: ubuntu-20.04\n  tools:\n    python: \"3.9\"\n\n# Build documentation in the docs/ directory with Sphinx\nsphinx:\n   configuration: docs/conf.py\n\n# If using Sphinx, optionally build your docs in additional formats such as PDF\n# formats:\n#    - pdf\n\n# Optionally declare the Python requirements required to build your docs\npython:\n   install:\n    - requirements: docs/requirements.txt\n    - method: pip\n      path: .\n      extra_requirements:\n        - all\n"
  },
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) 2021 Lukas Blecher\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "MANIFEST.in",
    "content": "exclude **\\*.pth \n"
  },
  {
    "path": "README.md",
    "content": "# pix2tex - LaTeX OCR\n\n[![GitHub](https://img.shields.io/github/license/lukas-blecher/LaTeX-OCR)](https://github.com/lukas-blecher/LaTeX-OCR) [![Documentation Status](https://readthedocs.org/projects/pix2tex/badge/?version=latest)](https://pix2tex.readthedocs.io/en/latest/?badge=latest) [![PyPI](https://img.shields.io/pypi/v/pix2tex?logo=pypi)](https://pypi.org/project/pix2tex) [![PyPI - Downloads](https://img.shields.io/pypi/dm/pix2tex?logo=pypi)](https://pypi.org/project/pix2tex) [![GitHub all releases](https://img.shields.io/github/downloads/lukas-blecher/LaTeX-OCR/total?color=blue&logo=github)](https://github.com/lukas-blecher/LaTeX-OCR/releases) [![Docker Pulls](https://img.shields.io/docker/pulls/lukasblecher/pix2tex?logo=docker)](https://hub.docker.com/r/lukasblecher/pix2tex) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/lukas-blecher/LaTeX-OCR/blob/main/notebooks/LaTeX_OCR_test.ipynb) [![Hugging Face Spaces](https://img.shields.io/badge/🤗%20Hugging%20Face-Spaces-blue)](https://huggingface.co/spaces/lukbl/LaTeX-OCR)\n\nThe goal of this project is to create a learning based system that takes an image of a math formula and returns corresponding LaTeX code. \n\n![header](https://user-images.githubusercontent.com/55287601/109183599-69431f00-778e-11eb-9809-d42b9451e018.png)\n\n## Using the model\nTo run the model you need Python 3.7+\n\nIf you don't have PyTorch installed. Follow their instructions [here](https://pytorch.org/get-started/locally/).\n\nInstall the package `pix2tex`: \n\n```\npip install \"pix2tex[gui]\"\n```\n\nModel checkpoints will be downloaded automatically.\n\nThere are three ways to get a prediction from an image. \n1. You can use the command line tool by calling `pix2tex`. Here you can parse already existing images from the disk and images in your clipboard.\n\n2. Thanks to [@katie-lim](https://github.com/katie-lim), you can use a nice user interface as a quick way to get the model prediction. Just call the GUI with `latexocr`. From here you can take a screenshot and the predicted latex code is rendered using [MathJax](https://www.mathjax.org/) and copied to your clipboard.\n\n    Under linux, it is possible to use the GUI with `gnome-screenshot` (which comes with multiple monitor support). For other Wayland compositers, `grim` and `slurp` will be used for wlroots-based Wayland compositers and `spectacle` for KDE Plasma. Note that `gnome-screenshot` is not compatible with wlroots or Qt based compositers. Since `gnome-screenshot` will be preferred when available, you may have to set the environment variable `SCREENSHOT_TOOL` to `grim` or `spectacle` in these cases (other available values are `gnome-screenshot` and `pil`).\n\n    ![demo](https://user-images.githubusercontent.com/55287601/117812740-77b7b780-b262-11eb-81f6-fc19766ae2ae.gif)\n\n    If the model is unsure about the what's in the image it might output a different prediction every time you click \"Retry\". With the `temperature` parameter you can control this behavior (low temperature will produce the same result).\n\n3. You can use an API. This has additional dependencies. Install via `pip install -U \"pix2tex[api]\"` and run\n    ```bash\n    python -m pix2tex.api.run\n    ```\n    to start a [Streamlit](https://streamlit.io/) demo that connects to the API at port 8502. There is also a docker image  available for the API: https://hub.docker.com/r/lukasblecher/pix2tex [![Docker Image Size (latest by date)](https://img.shields.io/docker/image-size/lukasblecher/pix2tex?logo=docker)](https://hub.docker.com/r/lukasblecher/pix2tex)\n\n    ```\n    docker pull lukasblecher/pix2tex:api\n    docker run --rm -p 8502:8502 lukasblecher/pix2tex:api\n    ```\n    To also run the streamlit demo run\n    ```\n    docker run --rm -it -p 8501:8501 --entrypoint python lukasblecher/pix2tex:api pix2tex/api/run.py\n    ```\n    and navigate to http://localhost:8501/\n\n4. Use from within Python\n    ```python\n    from PIL import Image\n    from pix2tex.cli import LatexOCR\n    \n    img = Image.open('path/to/image.png')\n    model = LatexOCR()\n    print(model(img))\n    ```\n\nThe model works best with images of smaller resolution. That's why I added a preprocessing step where another neural network predicts the optimal resolution of the input image. This model will automatically resize the custom image to best resemble the training data and thus increase performance of images found in the wild. Still it's not perfect and might not be able to handle huge images optimally, so don't zoom in all the way before taking a picture. \n\nAlways double check the result carefully. You can try to redo the prediction with an other resolution if the answer was wrong.\n\n**Want to use the package?**\n\nI'm trying to compile a documentation right now. \n\nVisit here: https://pix2tex.readthedocs.io/ \n\n\n## Training the model [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/lukas-blecher/LaTeX-OCR/blob/main/notebooks/LaTeX_OCR_training.ipynb)\n\nInstall a couple of dependencies `pip install \"pix2tex[train]\"`.\n1. First we need to combine the images with their ground truth labels. I wrote a dataset class (which needs further improving) that saves the relative paths to the images with the LaTeX code they were rendered with. To generate the dataset pickle file run \n\n```\npython -m pix2tex.dataset.dataset --equations path_to_textfile --images path_to_images --out dataset.pkl\n```\nTo use your own tokenizer pass it via `--tokenizer` (See below).\n\nYou can find my generated training data on the [Google Drive](https://drive.google.com/drive/folders/13CA4vAmOmD_I_dSbvLp-Lf0s6KiaNfuO) as well (formulae.zip - images, math.txt - labels). Repeat the step for the validation and test data. All use the same label text file.\n\n2. Edit the `data` (and `valdata`) entry in the config file to the newly generated `.pkl` file. Change other hyperparameters if you want to. See `pix2tex/model/settings/config.yaml` for a template.\n3. Now for the actual training run \n```\npython -m pix2tex.train --config path_to_config_file\n```\n\nIf you want to use your own data you might be interested in creating your own tokenizer with\n```\npython -m pix2tex.dataset.dataset --equations path_to_textfile --vocab-size 8000 --out tokenizer.json\n```\nDon't forget to update the path to the tokenizer in the config file and set `num_tokens` to your vocabulary size.\n\n## Model\nThe model consist of a ViT [[1](#References)] encoder with a ResNet backbone and a Transformer [[2](#References)] decoder.\n\n### Performance\n| BLEU score | normed edit distance | token accuracy |\n| ---------- | -------------------- | -------------- |\n| 0.88       | 0.10                 | 0.60           |\n\n## Data\nWe need paired data for the network to learn. Luckily there is a lot of LaTeX code on the internet, e.g. [wikipedia](https://www.wikipedia.org), [arXiv](https://www.arxiv.org). We also use the formulae from the [im2latex-100k](https://zenodo.org/record/56198#.V2px0jXT6eA) [[3](#References)] dataset.\nAll of it can be found [here](https://drive.google.com/drive/folders/13CA4vAmOmD_I_dSbvLp-Lf0s6KiaNfuO)\n\n### Dataset Requirements\nIn order to render the math in many different fonts we use  XeLaTeX, generate a PDF and finally convert it to a PNG. For the last step we need to use some third party tools: \n* [XeLaTeX](https://www.ctan.org/pkg/xetex)\n* [ImageMagick](https://imagemagick.org/) with [Ghostscript](https://www.ghostscript.com/index.html). (for converting pdf to png)\n* [Node.js](https://nodejs.org/) to run [KaTeX](https://github.com/KaTeX/KaTeX) (for normalizing Latex code)\n* Python 3.7+ & dependencies (specified in `setup.py`)\n\n### Fonts\nLatin Modern Math, GFSNeohellenicMath.otf, Asana Math, XITS Math, Cambria Math\n\n\n## TODO\n- [x] add more evaluation metrics\n- [x] create a GUI\n- [ ] add beam search\n- [ ] support handwritten formulae (kinda done, see training colab notebook)\n- [ ] reduce model size (distillation)\n- [ ] find optimal hyperparameters\n- [ ] tweak model structure\n- [ ] fix data scraping and scrape more data\n- [ ] trace the model ([#2](https://github.com/lukas-blecher/LaTeX-OCR/issues/2))\n\n\n## Contribution\nContributions of any kind are welcome.\n\n## Acknowledgment\nCode taken and modified from [lucidrains](https://github.com/lucidrains), [rwightman](https://github.com/rwightman/pytorch-image-models), [im2markup](https://github.com/harvardnlp/im2markup), [arxiv_leaks](https://github.com/soskek/arxiv_leaks), [pkra: Mathjax](https://github.com/pkra/MathJax-single-file), [harupy: snipping tool](https://github.com/harupy/snipping-tool)\n\n## References\n[1] [An Image is Worth 16x16 Words](https://arxiv.org/abs/2010.11929)\n\n[2] [Attention Is All You Need](https://arxiv.org/abs/1706.03762)\n\n[3] [Image-to-Markup Generation with Coarse-to-Fine Attention](https://arxiv.org/abs/1609.04938v2)\n"
  },
  {
    "path": "docker/api.dockerfile",
    "content": "FROM python:3.8-slim\nRUN pip install torch>=1.7.1\nWORKDIR /latexocr\nADD pix2tex /latexocr/pix2tex/\nADD setup.py /latexocr/\nADD README.md /latexocr/\nRUN pip install -e .[api]\nRUN python -m pix2tex.model.checkpoints.get_latest_checkpoint\n\nENTRYPOINT [\"uvicorn\", \"pix2tex.api.app:app\", \"--host\", \"0.0.0.0\", \"--port\", \"8502\"]\n"
  },
  {
    "path": "docker/build-api.sh",
    "content": "# cd into proj. root\ncd $(dirname $0)\ncd ..\ndocker build -t lukasblecher/pix2tex:api -f docker/api.dockerfile .\n"
  },
  {
    "path": "docs/Makefile",
    "content": "# Minimal makefile for Sphinx documentation\n#\n\n# You can set these variables from the command line, and also\n# from the environment for the first two.\nSPHINXOPTS    ?=\nSPHINXBUILD   ?= sphinx-build\nSOURCEDIR     = .\nBUILDDIR      = _build\n\n# Put it first so that \"make\" without argument is like \"make help\".\nhelp:\n\t@$(SPHINXBUILD) -M help \"$(SOURCEDIR)\" \"$(BUILDDIR)\" $(SPHINXOPTS) $(O)\n\n.PHONY: help Makefile\n\n# Catch-all target: route all unknown targets to Sphinx using the new\n# \"make mode\" option.  $(O) is meant as a shortcut for $(SPHINXOPTS).\n%: Makefile\n\t@$(SPHINXBUILD) -M $@ \"$(SOURCEDIR)\" \"$(BUILDDIR)\" $(SPHINXOPTS) $(O)\n"
  },
  {
    "path": "docs/conf.py",
    "content": "# Configuration file for the Sphinx documentation builder.\n#\n# This file only contains a selection of the most common options. For a full\n# list see the documentation:\n# https://www.sphinx-doc.org/en/master/usage/configuration.html\n\n# -- Path setup --------------------------------------------------------------\n\n# If extensions (or modules to document with autodoc) are in another directory,\n# add these directories to sys.path here. If the directory is relative to the\n# documentation root, use os.path.abspath to make it absolute, like shown here.\n#\n# import os\n# import sys\n# sys.path.insert(0, os.path.abspath('.'))\n\n\n# -- Project information -----------------------------------------------------\n\nproject = 'LaTeX-OCR'\ncopyright = '2022, Lukas Blecher'\nauthor = 'Lukas Blecher'\n\n\n# -- General configuration ---------------------------------------------------\n\n# Add any Sphinx extension module names here, as strings. They can be\n# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom\n# ones.\nextensions = ['myst_parser', 'sphinx.ext.autodoc']\n\n# Add any paths that contain templates here, relative to this directory.\ntemplates_path = ['_templates']\n\n# List of patterns, relative to source directory, that match files and\n# directories to ignore when looking for source files.\n# This pattern also affects html_static_path and html_extra_path.\nexclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']\n\nautoclass_content = 'both'\n# -- Options for HTML output -------------------------------------------------\n\n# Add any paths that contain custom static files (such as style sheets) here,\n# relative to this directory. They are copied after the builtin static files,\n# so a file named \"default.css\" will overwrite the builtin \"default.css\".\nhtml_static_path = ['_static']\n"
  },
  {
    "path": "docs/index.rst",
    "content": ".. LaTeX-OCR documentation master file, created by\n   sphinx-quickstart on Sun May  1 16:39:27 2022.\n   You can adapt this file completely to your liking, but it should at least\n   contain the root `toctree` directive.\n\nWelcome to LaTeX-OCR's documentation!\n=====================================\n\n.. |ico| image:: https://img.shields.io/badge/LaTeX--OCR-visit-a?style=social&logo=github\n   :target: https://github.com/lukas-blecher/LaTeX-OCR\nThis is the documentation for LaTeX-OCR |ico|. The goal of this project is to find a corresponding LaTeX code for a given image of an equation.\n\n\n.. toctree::\n   :maxdepth: 2\n   :caption: Contents:\n\n   installation\n   pix2tex\n\n\nIndices and tables\n==================\n\n* :ref:`genindex`\n* :ref:`modindex`\n* :ref:`search`\n"
  },
  {
    "path": "docs/installation.md",
    "content": "Installation\n============\n\nPython package\n--------------\n\nTo run the model you need Python 3.7+\n\nIf you don't have PyTorch installed. Follow their instructions [here](https://pytorch.org/get-started/locally/).\n\nInstall the package `pix2tex`: \n\n```\npip install pix2tex[gui]\n```\n\nModel checkpoints will be downloaded automatically when first running the script.\n\nTo install\n- with GUI dependencies use tag `[gui]`.\n- with training dependencies use tag `[train]`.\n- with api dependencies use tag `[api]`.\n- all dependencies use tag `[all]`.\n\nDocker\n------\n\nThe API can be used from a docker container, available on [DockerHub](https://hub.docker.com/r/lukasblecher/pix2tex)\n```\ndocker pull lukasblecher/pix2tex:api\ndocker run -p 8502:8502 lukasblecher/pix2tex:api\n```\nThis starts the API which is available at port 8502.\n\nTo use the [Streamlit](https://streamlit.io/) demo run instead\n```\ndocker run -it -p 8501:8501 --entrypoint python lukasblecher/pix2tex:api pix2tex/api/run.py\n```\nand navigate to [http://localhost:8501/](http://localhost:8501/)\n"
  },
  {
    "path": "docs/make.bat",
    "content": "@ECHO OFF\n\npushd %~dp0\n\nREM Command file for Sphinx documentation\n\nif \"%SPHINXBUILD%\" == \"\" (\n\tset SPHINXBUILD=sphinx-build\n)\nset SOURCEDIR=.\nset BUILDDIR=_build\n\n%SPHINXBUILD% >NUL 2>NUL\nif errorlevel 9009 (\n\techo.\n\techo.The 'sphinx-build' command was not found. Make sure you have Sphinx\n\techo.installed, then set the SPHINXBUILD environment variable to point\n\techo.to the full path of the 'sphinx-build' executable. Alternatively you\n\techo.may add the Sphinx directory to PATH.\n\techo.\n\techo.If you don't have Sphinx installed, grab it from\n\techo.https://www.sphinx-doc.org/\n\texit /b 1\n)\n\nif \"%1\" == \"\" goto help\n\n%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%\ngoto end\n\n:help\n%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%\n\n:end\npopd\n"
  },
  {
    "path": "docs/pix2tex.rst",
    "content": "pix2tex\n=======\n\npix2tex.cli package\n-------------------\n\n.. automodule:: pix2tex.cli\n   :members:\n   :no-undoc-members:\n   :show-inheritance:\n\n\npix2tex.gui package\n-------------------\n\n.. automodule:: pix2tex.gui\n   :members:\n   :no-undoc-members:\n   :show-inheritance:\n\npix2tex.api package\n-------------------\n\nSubmodules\n~~~~~~~~~~\n\npix2tex.api.app module\n~~~~~~~~~~~~~~~~~~~~~~\n\n.. automodule:: pix2tex.api.app\n   :members:\n   :no-undoc-members:\n   :show-inheritance:\n\n\npix2tex.api.streamlit module\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. automodule:: pix2tex.api.streamlit\n   :members:\n   :no-undoc-members:\n   :show-inheritance:\n\npix2tex.dataset package\n-----------------------\n\nSubmodules\n~~~~~~~~~~\n\npix2tex.dataset.arxiv module\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. automodule:: pix2tex.dataset.arxiv\n   :members:\n   :no-undoc-members:\n   :show-inheritance:\n\npix2tex.dataset.dataset module\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. automodule:: pix2tex.dataset.dataset\n   :members:\n   :no-undoc-members:\n   :show-inheritance:\n\npix2tex.dataset.demacro module\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. automodule:: pix2tex.dataset.demacro\n   :members:\n   :no-undoc-members:\n   :show-inheritance:\n\npix2tex.dataset.extract\\_latex module\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. automodule:: pix2tex.dataset.extract_latex\n   :members:\n   :no-undoc-members:\n   :show-inheritance:\n\npix2tex.dataset.latex2png module\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. automodule:: pix2tex.dataset.latex2png\n   :members:\n   :no-undoc-members:\n   :show-inheritance:\n\npix2tex.dataset.render module\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. automodule:: pix2tex.dataset.render\n   :members:\n   :no-undoc-members:\n   :show-inheritance:\n\npix2tex.dataset.scraping module\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. automodule:: pix2tex.dataset.scraping\n   :members:\n   :no-undoc-members:\n   :show-inheritance:\n\npix2tex.models package\n----------------------\n\npix2tex.models.hybrid module\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. automodule:: pix2tex.models.hybrid\n   :members:\n   :no-undoc-members:\n   :show-inheritance:\n\npix2tex.models.vit module\n~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. automodule:: pix2tex.models.vit\n   :members:\n   :no-undoc-members:\n   :show-inheritance:\n\npix2tex.utils package\n---------------------\n\npix2tex.utils.utils module\n~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. automodule:: pix2tex.utils.utils\n   :members:\n   :no-undoc-members:\n   :show-inheritance:\n"
  },
  {
    "path": "docs/requirements.txt",
    "content": "myst_parser\ntorch>=1.7.1\n"
  },
  {
    "path": "notebooks/LaTeX_OCR_test.ipynb",
    "content": "{\n  \"nbformat\": 4,\n  \"nbformat_minor\": 0,\n  \"metadata\": {\n    \"colab\": {\n      \"name\": \"LaTeX OCR test.ipynb\",\n      \"provenance\": [],\n      \"collapsed_sections\": []\n    },\n    \"kernelspec\": {\n      \"name\": \"python3\",\n      \"display_name\": \"Python 3\"\n    },\n    \"language_info\": {\n      \"name\": \"python\"\n    }\n  },\n  \"cells\": [\n    {\n      \"cell_type\": \"markdown\",\n      \"source\": [\n        \"# LaTeX OCR\\n\",\n        \"In this colab you can convert an image of an equation into LaTeX code.\\n\",\n        \"## How?\\n\",\n        \"Execute the cell titled \\\"Setup\\\". The first time an error will show up. Simply execute the cell again. Everything should be fine now.\\n\",\n        \"\\n\",\n        \"Next, execute the cell below and upload the image(s).\\n\",\n        \"\\n\",\n        \"> Note: You can probably also run this project locally and with a GUI. Follow the steps on [GitHub](https://github.com/lukas-blecher/LaTeX-OCR)\"\n      ],\n      \"metadata\": {\n        \"id\": \"aaAqi3wku23I\"\n      }\n    },\n    {\n      \"cell_type\": \"code\",\n      \"execution_count\": null,\n      \"metadata\": {\n        \"cellView\": \"form\",\n        \"id\": \"DQM_PKeCuzWR\"\n      },\n      \"outputs\": [],\n      \"source\": [\n        \"#@title Setup\\n\",\n        \"%reload_ext autoreload\\n\",\n        \"%autoreload\\n\",\n        \"import PIL\\n\",\n        \"!pip install Pillow -U -qq\\n\",\n        \"if int(PIL.__version__[0]) < 9:\\n\",\n        \"    print('Mandatory restart: Execute this cell again!')\\n\",\n        \"    import os\\n\",\n        \"    os.kill(os.getpid(), 9)\\n\",\n        \"!pip install pix2tex -qq\\n\",\n        \"!pip install opencv-python-headless==4.1.2.30 -U -qq\\n\",\n        \"\\n\",\n        \"def upload_files():\\n\",\n        \"  from google.colab import files\\n\",\n        \"  from io import BytesIO\\n\",\n        \"  uploaded = files.upload()\\n\",\n        \"  return [(name, BytesIO(b)) for name, b in uploaded.items()]\\n\",\n        \"\\n\",\n        \"from pix2tex import cli as pix2tex\\n\",\n        \"from PIL import Image\\n\",\n        \"model = pix2tex.LatexOCR()\\n\",\n        \"\\n\",\n        \"from IPython.display import HTML, Math\\n\",\n        \"display(HTML(\\\"<script src='https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.3/\\\"\\n\",\n        \"             \\\"latest.js?config=default'></script>\\\"))\\n\",\n        \"table = r'\\\\begin{array} {l|l} %s  \\\\end{array}'\"\n      ]\n    },\n    {\n      \"cell_type\": \"code\",\n      \"source\": [\n        \"imgs = upload_files()\\n\",\n        \"predictions = []\\n\",\n        \"for name, f in imgs:\\n\",\n        \"    img = Image.open(f)\\n\",\n        \"    math = model(img)\\n\",\n        \"    print(math)\\n\",\n        \"    predictions.append('\\\\\\\\mathrm{%s} & \\\\\\\\displaystyle{%s}'%(name, math))\\n\",\n        \"Math(table%'\\\\\\\\\\\\\\\\'.join(predictions))\"\n      ],\n      \"metadata\": {\n        \"id\": \"CjrR3O07u3uH\"\n      },\n      \"execution_count\": null,\n      \"outputs\": []\n    },\n    {\n      \"cell_type\": \"code\",\n      \"source\": [\n        \"\"\n      ],\n      \"metadata\": {\n        \"id\": \"ZqCH-4XoCkMO\"\n      },\n      \"execution_count\": null,\n      \"outputs\": []\n    }\n  ]\n}"
  },
  {
    "path": "notebooks/LaTeX_OCR_training.ipynb",
    "content": "{\n  \"nbformat\": 4,\n  \"nbformat_minor\": 0,\n  \"metadata\": {\n    \"colab\": {\n      \"name\": \"LaTeX-OCR training.ipynb\",\n      \"provenance\": [],\n      \"collapsed_sections\": []\n    },\n    \"kernelspec\": {\n      \"name\": \"python3\",\n      \"display_name\": \"Python 3\"\n    },\n    \"language_info\": {\n      \"name\": \"python\"\n    },\n    \"accelerator\": \"GPU\"\n  },\n  \"cells\": [\n    {\n      \"cell_type\": \"markdown\",\n      \"source\": [\n        \"# Train a LaTeX OCR model\\n\",\n        \"In this brief notebook I show how you can finetune/train an OCR model.\\n\",\n        \"\\n\",\n        \"I've opted to mix in handwritten data into the regular pdf LaTeX images. For that I started out with the released pretrained model and continued training on the slightly larger corpus.\"\n      ],\n      \"metadata\": {\n        \"id\": \"YtR1GhYwnLnu\"\n      }\n    },\n    {\n      \"cell_type\": \"code\",\n      \"metadata\": {\n        \"id\": \"r396ah-Q3EQc\"\n      },\n      \"source\": [\n        \"!pip install pix2tex[train] -qq\"\n      ],\n      \"execution_count\": null,\n      \"outputs\": []\n    },\n    {\n      \"cell_type\": \"code\",\n      \"metadata\": {\n        \"id\": \"dZ4PLwkb3RIs\"\n      },\n      \"source\": [\n        \"import os\\n\",\n        \"!mkdir -p LaTeX-OCR\\n\",\n        \"os.chdir('LaTeX-OCR')\"\n      ],\n      \"execution_count\": null,\n      \"outputs\": []\n    },\n    {\n      \"cell_type\": \"code\",\n      \"metadata\": {\n        \"id\": \"cUsTlxXV3Mot\"\n      },\n      \"source\": [\n        \"!pip install gpustat -q\\n\",\n        \"!pip install opencv-python-headless==4.1.2.30 -U -q\\n\",\n        \"!pip install --upgrade --no-cache-dir gdown -q\"\n      ],\n      \"execution_count\": null,\n      \"outputs\": []\n    },\n    {\n      \"cell_type\": \"code\",\n      \"source\": [\n        \"# check what GPU we have\\n\",\n        \"!gpustat\"\n      ],\n      \"metadata\": {\n        \"id\": \"uhLzh5vyaCaL\"\n      },\n      \"execution_count\": null,\n      \"outputs\": []\n    },\n    {\n      \"cell_type\": \"code\",\n      \"metadata\": {\n        \"id\": \"aAz37dDU21zu\"\n      },\n      \"source\": [\n        \"!mkdir -p dataset/data\\n\",\n        \"!mkdir images\\n\",\n        \"# Google Drive ids\\n\",\n        \"# handwritten: 13vjxGYrFCuYnwgDIUqkxsNGKk__D_sOM\\n\",\n        \"# pdf - images: 176PKaCUDWmTJdQwc-OfkO0y8t4gLsIvQ\\n\",\n        \"# pdf - math: 1QUjX6PFWPa-HBWdcY-7bA5TRVUnbyS1D\\n\",\n        \"!gdown -O dataset/data/crohme.zip --id 13vjxGYrFCuYnwgDIUqkxsNGKk__D_sOM\\n\",\n        \"!gdown -O dataset/data/pdf.zip --id 176PKaCUDWmTJdQwc-OfkO0y8t4gLsIvQ\\n\",\n        \"!gdown -O dataset/data/pdfmath.txt --id 1QUjX6PFWPa-HBWdcY-7bA5TRVUnbyS1D\\n\",\n        \"os.chdir('dataset/data')\\n\",\n        \"!unzip -q crohme.zip \\n\",\n        \"!unzip -q pdf.zip \\n\",\n        \"# split handwritten data into val set and train set\\n\",\n        \"os.chdir('images')\\n\",\n        \"!mkdir ../valimages\\n\",\n        \"!ls | shuf -n 1000 | xargs -i mv {} ../valimages\\n\",\n        \"os.chdir('../../..')\"\n      ],\n      \"execution_count\": null,\n      \"outputs\": []\n    },\n    {\n      \"cell_type\": \"markdown\",\n      \"source\": [\n        \"Now we generate the datasets. We can string multiple datasets together to get one large lookup table. The only thing saved in these pkl files are image sizes, image location and the ground truth latex code. That way we can serve batches of images with the same dimensionality.\"\n      ],\n      \"metadata\": {\n        \"id\": \"2BMuIqRIqG-8\"\n      }\n    },\n    {\n      \"cell_type\": \"code\",\n      \"source\": [\n        \"!python -m pix2tex.dataset.dataset -i dataset/data/images dataset/data/train -e dataset/data/CROHME_math.txt dataset/data/pdfmath.txt -o dataset/data/train.pkl\"\n      ],\n      \"metadata\": {\n        \"id\": \"1JebcEarl-g6\"\n      },\n      \"execution_count\": null,\n      \"outputs\": []\n    },\n    {\n      \"cell_type\": \"code\",\n      \"source\": [\n        \"!python -m pix2tex.dataset.dataset -i dataset/data/valimages dataset/data/val -e dataset/data/CROHME_math.txt dataset/data/pdfmath.txt -o dataset/data/val.pkl\"\n      ],\n      \"metadata\": {\n        \"id\": \"x_Orutb37xHD\"\n      },\n      \"execution_count\": null,\n      \"outputs\": []\n    },\n    {\n      \"cell_type\": \"code\",\n      \"source\": [\n        \"# download the weights we want to fine tune\\n\",\n        \"!curl -L -o weights.pth https://github.com/lukas-blecher/LaTeX-OCR/releases/download/v0.0.1/weights.pth\"\n      ],\n      \"metadata\": {\n        \"id\": \"I3iOyEEBbw58\"\n      },\n      \"execution_count\": null,\n      \"outputs\": []\n    },\n    {\n      \"cell_type\": \"code\",\n      \"source\": [\n        \"# If using wandb\\n\",\n        \"!pip install -q wandb \\n\",\n        \"# you can cancel this if you don't wan't to use it or don't have a W&B acc.\\n\",\n        \"#!wandb login\"\n      ],\n      \"metadata\": {\n        \"id\": \"vow2NnpHmWt0\"\n      },\n      \"execution_count\": null,\n      \"outputs\": []\n    },\n    {\n      \"cell_type\": \"code\",\n      \"source\": [\n        \"# generate colab specific config (set 'debug' to true if wandb is not used)\\n\",\n        \"!echo {backbone_layers: [2, 3, 7], betas: [0.9, 0.999], batchsize: 10, bos_token: 1, channels: 1, data: dataset/data/train.pkl, debug: true, decoder_args: {'attn_on_attn': true, 'cross_attend': true, 'ff_glu': true, 'rel_pos_bias': false, 'use_scalenorm': false}, dim: 256, encoder_depth: 4, eos_token: 2, epochs: 50, gamma: 0.9995, heads: 8, id: null, load_chkpt: 'weights.pth', lr: 0.001, lr_step: 30, max_height: 192, max_seq_len: 512, max_width: 672, min_height: 32, min_width: 32, model_path: checkpoints, name: mixed, num_layers: 4, num_tokens: 8000, optimizer: Adam, output_path: outputs, pad: false, pad_token: 0, patch_size: 16, sample_freq: 2000, save_freq: 1, scheduler: StepLR, seed: 42, temperature: 0.2, test_samples: 5, testbatchsize: 20, tokenizer: dataset/tokenizer.json, valbatches: 100, valdata: dataset/data/val.pkl} > colab.yaml\"\n      ],\n      \"metadata\": {\n        \"id\": \"OnsNCLp84QSY\"\n      },\n      \"execution_count\": null,\n      \"outputs\": []\n    },\n    {\n      \"cell_type\": \"code\",\n      \"metadata\": {\n        \"id\": \"c8NU5j2k3z36\"\n      },\n      \"source\": [\n        \"!python -m pix2tex.train --config colab.yaml\"\n      ],\n      \"execution_count\": null,\n      \"outputs\": []\n    },\n    {\n      \"cell_type\": \"code\",\n      \"source\": [\n        \"\"\n      ],\n      \"metadata\": {\n        \"id\": \"g3DU9KxubWgq\"\n      },\n      \"execution_count\": null,\n      \"outputs\": []\n    }\n  ]\n}"
  },
  {
    "path": "pix2tex/__init__.py",
    "content": "import os\nos.environ['FOR_DISABLE_CONSOLE_CTRL_HANDLER'] = '1'\n"
  },
  {
    "path": "pix2tex/__main__.py",
    "content": "#!/usr/bin/env python\ndef main():\n    from argparse import ArgumentParser\n\n    parser = ArgumentParser()\n    parser.add_argument('-t', '--temperature', type=float, default=.333, help='Softmax sampling frequency')\n    parser.add_argument('-c', '--config', type=str, default='settings/config.yaml', help='path to config file')\n    parser.add_argument('-m', '--checkpoint', type=str, default='checkpoints/weights.pth', help='path to weights file')\n    parser.add_argument('--no-cuda', action='store_true', help='Compute on CPU')\n    parser.add_argument('--no-resize', action='store_true', help='Resize the image beforehand')\n\n    parser.add_argument('-s', '--show', action='store_true', help='Show the rendered predicted latex code (cli only)')\n    parser.add_argument('-k', '--katex', action='store_true', help='Render the latex code in the browser (cli only)')\n\n    parser.add_argument('--gui', action='store_true', help='Use GUI (gui only)')\n\n    parser.add_argument('file', nargs='*', type=str, default=None, help='Predict LaTeX code from image file instead of clipboard (cli only)')\n    arguments = parser.parse_args()\n\n    import os\n    import sys\n\n    name = os.path.split(sys.argv[0])[-1]\n    if arguments.gui or name in ['pix2tex_gui', 'latexocr']:\n        from .gui import main\n    else:\n        from .cli import main\n    main(arguments)\n\n\nif __name__ == '__main__':\n    main()\n"
  },
  {
    "path": "pix2tex/api/__init__.py",
    "content": ""
  },
  {
    "path": "pix2tex/api/app.py",
    "content": "# Adapted from https://github.com/kingyiusuen/image-to-latex/blob/main/api/app.py\n\nfrom http import HTTPStatus\nfrom fastapi import FastAPI, File, UploadFile, Form\nfrom PIL import Image\nfrom io import BytesIO\nfrom pix2tex.cli import LatexOCR\n\nmodel = None\napp = FastAPI(title='pix2tex API')\n\n\ndef read_imagefile(file) -> Image.Image:\n    image = Image.open(BytesIO(file))\n    return image\n\n\n@app.on_event('startup')\nasync def load_model():\n    global model\n    if model is None:\n        model = LatexOCR()\n\n\n@app.get('/')\ndef root():\n    '''Health check.'''\n    response = {\n        'message': HTTPStatus.OK.phrase,\n        'status-code': HTTPStatus.OK,\n        'data': {},\n    }\n    return response\n\n\n@app.post('/predict/')\nasync def predict(file: UploadFile = File(...)) -> str:\n    \"\"\"Predict the Latex code from an image file.\n\n    Args:\n        file (UploadFile, optional): Image to predict. Defaults to File(...).\n\n    Returns:\n        str: Latex prediction\n    \"\"\"\n    global model\n    image = Image.open(file.file)\n    return model(image)\n\n\n@app.post('/bytes/')\nasync def predict_from_bytes(file: bytes = File(...)) -> str:  # , size: str = Form(...)\n    \"\"\"Predict the Latex code from a byte array\n\n    Args:\n        file (bytes, optional): Image as byte array. Defaults to File(...).\n\n    Returns:\n        str: Latex prediction\n    \"\"\"\n    global model\n    #size = tuple(int(a) for a in size.split(','))\n    image = Image.open(BytesIO(file))\n    return model(image, resize=False)\n"
  },
  {
    "path": "pix2tex/api/run.py",
    "content": "from multiprocessing import Process\nimport subprocess\nimport os\n\n\ndef start_api(path='.'):\n    subprocess.call(['uvicorn', 'app:app', '--port', '8502'], cwd=path)\n\n\ndef start_frontend(path='.'):\n    subprocess.call(['streamlit', 'run', 'streamlit.py'], cwd=path)\n\n\nif __name__ == '__main__':\n    path = os.path.realpath(os.path.dirname(__file__))\n    api = Process(target=start_api, kwargs={'path': path})\n    api.start()\n    frontend = Process(target=start_frontend, kwargs={'path': path})\n    frontend.start()\n    api.join()\n    frontend.join()\n"
  },
  {
    "path": "pix2tex/api/streamlit.py",
    "content": "import requests\nfrom PIL import Image\nimport streamlit as st\nfrom st_img_pastebutton import paste\nfrom io import BytesIO\nimport base64\n\n\ndef encode_image(file):\n    _, encoded = file.split(\",\", 1)\n    binary_data = base64.b64decode(encoded)\n    bytes_data = BytesIO(binary_data)\n    return bytes_data\n\n\nif __name__ == \"__main__\":\n    st.set_page_config(page_title=\"LaTeX-OCR\")\n    st.title(\"LaTeX OCR\")\n    st.markdown(\n        \"Convert images of equations to corresponding LaTeX code.\\n\\nThis is based on the `pix2tex` module. Check it out [![github](https://img.shields.io/badge/LaTeX--OCR-visit-a?style=social&logo=github)](https://github.com/lukas-blecher/LaTeX-OCR)\"\n    )\n\n    source = st.radio(\n        \"Choose the source of the image\",\n        options=[\"Upload\", \"Paste\"],\n    )\n\n    image = None\n\n    if source == \"Upload\":\n        uploaded_file = st.file_uploader(\n            \"Upload an image of an equation\",\n            type=[\"png\", \"jpg\"],\n        )\n\n        if uploaded_file is not None:\n            st.image(Image.open(uploaded_file))\n            image = uploaded_file.getvalue()\n\n    if source == \"Paste\":\n        pasted_file = paste(\"Paste an image of an equation\")\n\n        if pasted_file is not None:\n            image = encode_image(pasted_file)\n            st.image(image)\n\n    if st.button(\"Convert\"):\n        if image is not None:\n            with st.spinner(\"Computing\"):\n                response = requests.post(\n                    \"http://127.0.0.1:8502/predict/\", files={\"file\": image}\n                )\n            if response.ok:\n                latex_code = response.json()\n                st.code(latex_code, language=\"latex\")\n                st.markdown(f\"$\\\\displaystyle {latex_code}$\")\n            else:\n                st.error(response.text)\n        else:\n            st.error(\"No image selected\")\n"
  },
  {
    "path": "pix2tex/cli.py",
    "content": "from pix2tex.dataset.transforms import test_transform\nimport pandas.io.clipboard as clipboard\nfrom PIL import ImageGrab\nfrom PIL import Image\nimport os\nfrom pathlib import Path\nimport sys\nfrom typing import List, Optional, Tuple\nimport atexit\nfrom contextlib import suppress\nimport logging\nimport yaml\nimport re\n\nwith suppress(ImportError, AttributeError):\n    import readline\n\nimport numpy as np\nimport torch\nfrom torch._appdirs import user_data_dir\nfrom munch import Munch\nfrom transformers import PreTrainedTokenizerFast\nfrom timm.models.resnetv2 import ResNetV2\nfrom timm.models.layers import StdConv2dSame\n\nfrom pix2tex.dataset.latex2png import tex2pil\nfrom pix2tex.models import get_model\nfrom pix2tex.utils import *\nfrom pix2tex.model.checkpoints.get_latest_checkpoint import download_checkpoints\n\n\ndef minmax_size(img: Image, max_dimensions: Tuple[int, int] = None, min_dimensions: Tuple[int, int] = None) -> Image:\n    \"\"\"Resize or pad an image to fit into given dimensions\n\n    Args:\n        img (Image): Image to scale up/down.\n        max_dimensions (Tuple[int, int], optional): Maximum dimensions. Defaults to None.\n        min_dimensions (Tuple[int, int], optional): Minimum dimensions. Defaults to None.\n\n    Returns:\n        Image: Image with correct dimensionality\n    \"\"\"\n    if max_dimensions is not None:\n        ratios = [a/b for a, b in zip(img.size, max_dimensions)]\n        if any([r > 1 for r in ratios]):\n            size = np.array(img.size)//max(ratios)\n            img = img.resize(tuple(size.astype(int)), Image.BILINEAR)\n    if min_dimensions is not None:\n        # hypothesis: there is a dim in img smaller than min_dimensions, and return a proper dim >= min_dimensions\n        padded_size = [max(img_dim, min_dim) for img_dim, min_dim in zip(img.size, min_dimensions)]\n        if padded_size != list(img.size):  # assert hypothesis\n            padded_im = Image.new('L', padded_size, 255)\n            padded_im.paste(img, img.getbbox())\n            img = padded_im\n    return img\n\n\nclass LatexOCR:\n    '''Get a prediction of an image in the easiest way'''\n\n    image_resizer = None\n    last_pic = None\n\n    @in_model_path()\n    def __init__(self, arguments=None):\n        \"\"\"Initialize a LatexOCR model\n\n        Args:\n            arguments (Union[Namespace, Munch], optional): Special model parameters. Defaults to None.\n        \"\"\"\n        if arguments is None:\n            arguments = Munch({'config': 'settings/config.yaml', 'checkpoint': 'checkpoints/weights.pth', 'no_cuda': True, 'no_resize': False})\n        logging.getLogger().setLevel(logging.FATAL)\n        os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'\n        with open(arguments.config, 'r') as f:\n            params = yaml.load(f, Loader=yaml.FullLoader)\n        self.args = parse_args(Munch(params))\n        self.args.update(**vars(arguments))\n        self.args.wandb = False\n        self.args.device = 'cuda' if torch.cuda.is_available() and not self.args.no_cuda else 'cpu'\n        if not os.path.exists(self.args.checkpoint):\n            download_checkpoints()\n        self.model = get_model(self.args)\n        self.model.load_state_dict(torch.load(self.args.checkpoint, map_location=self.args.device))\n        self.model.eval()\n\n        if 'image_resizer.pth' in os.listdir(os.path.dirname(self.args.checkpoint)) and not arguments.no_resize:\n            self.image_resizer = ResNetV2(layers=[2, 3, 3], num_classes=max(self.args.max_dimensions)//32, global_pool='avg', in_chans=1, drop_rate=.05,\n                                          preact=True, stem_type='same', conv_layer=StdConv2dSame).to(self.args.device)\n            self.image_resizer.load_state_dict(torch.load(os.path.join(os.path.dirname(self.args.checkpoint), 'image_resizer.pth'), map_location=self.args.device))\n            self.image_resizer.eval()\n        self.tokenizer = PreTrainedTokenizerFast(tokenizer_file=self.args.tokenizer)\n\n    @in_model_path()\n    def __call__(self, img=None, resize=True) -> str:\n        \"\"\"Get a prediction from an image\n\n        Args:\n            img (Image, optional): Image to predict. Defaults to None.\n            resize (bool, optional): Whether to call the resize model. Defaults to True.\n\n        Returns:\n            str: predicted Latex code\n        \"\"\"\n        if type(img) is bool:\n            img = None\n        if img is None:\n            if self.last_pic is None:\n                return ''\n            else:\n                print('\\nLast image is: ', end='')\n                img = self.last_pic.copy()\n        else:\n            self.last_pic = img.copy()\n        img = minmax_size(pad(img), self.args.max_dimensions, self.args.min_dimensions)\n        if (self.image_resizer is not None and not self.args.no_resize) and resize:\n            with torch.no_grad():\n                input_image = img.convert('RGB').copy()\n                r, w, h = 1, input_image.size[0], input_image.size[1]\n                for _ in range(10):\n                    h = int(h * r)  # height to resize\n                    img = pad(minmax_size(input_image.resize((w, h), Image.Resampling.BILINEAR if r > 1 else Image.Resampling.LANCZOS), self.args.max_dimensions, self.args.min_dimensions))\n                    t = test_transform(image=np.array(img.convert('RGB')))['image'][:1].unsqueeze(0)\n                    w = (self.image_resizer(t.to(self.args.device)).argmax(-1).item()+1)*32\n                    logging.info(r, img.size, (w, int(input_image.size[1]*r)))\n                    if (w == img.size[0]):\n                        break\n                    r = w/img.size[0]\n        else:\n            img = np.array(pad(img).convert('RGB'))\n            t = test_transform(image=img)['image'][:1].unsqueeze(0)\n        im = t.to(self.args.device)\n\n        dec = self.model.generate(im.to(self.args.device), temperature=self.args.get('temperature', .25))\n        pred = post_process(token2str(dec, self.tokenizer)[0])\n        try:\n            clipboard.copy(pred)\n        except:\n            pass\n        return pred\n\n\ndef output_prediction(pred, args):\n    TERM = os.getenv('TERM', 'xterm')\n    if not sys.stdout.isatty():\n        TERM = 'dumb'\n    try:\n        from pygments import highlight\n        from pygments.lexers import get_lexer_by_name\n        from pygments.formatters import get_formatter_by_name\n\n        if TERM.split('-')[-1] == '256color':\n            formatter_name = 'terminal256'\n        elif TERM != 'dumb':\n            formatter_name = 'terminal'\n        else:\n            formatter_name = None\n        if formatter_name:\n            formatter = get_formatter_by_name(formatter_name)\n            lexer = get_lexer_by_name('tex')\n            print(highlight(pred, lexer, formatter), end='')\n    except ImportError:\n        TERM = 'dumb'\n    if TERM == 'dumb':\n        print(pred)\n    if args.show or args.katex:\n        try:\n            if args.katex:\n                raise ValueError\n            tex2pil([f'$${pred}$$'])[0].show()\n        except Exception as e:\n            # render using katex\n            import webbrowser\n            from urllib.parse import quote\n            url = 'https://katex.org/?data=' + \\\n                quote('{\"displayMode\":true,\"leqno\":false,\"fleqn\":false,\"throwOnError\":true,\"errorColor\":\"#cc0000\",\\\n\"strict\":\"warn\",\"output\":\"htmlAndMathml\",\"trust\":false,\"code\":\"%s\"}' % pred.replace('\\\\', '\\\\\\\\'))\n            webbrowser.open(url)\n\n\ndef predict(model, file, arguments):\n    img = None\n    if file:\n        try:\n            img = Image.open(os.path.expanduser(file))\n        except Exception as e:\n            print(e, end='')\n    else:\n        try:\n            img = ImageGrab.grabclipboard()\n        except NotImplementedError as e:\n            print(e, end='')\n    pred = model(img)\n    output_prediction(pred, arguments)\n\ndef check_file_path(paths:List[Path], wdir:Optional[Path]=None)->List[str]:\n    files = []\n    for path in paths:\n        if type(path)==str:\n            if path=='':\n                continue\n            path=Path(path)\n        pathsi = ([path] if wdir is None else [path, wdir/path])\n        for p in pathsi:\n            if p.exists():\n                files.append(str(p.resolve()))\n            elif '*' in path.name:\n                files.extend([str(pi.resolve()) for pi in p.parent.glob(p.name)])\n    return list(set(files))\n\ndef main(arguments):\n    path = user_data_dir('pix2tex')\n    os.makedirs(path, exist_ok=True)\n    history_file = os.path.join(path, 'history.txt')\n    with suppress(NameError):\n        # user can `ln -s /dev/null ~/.local/share/pix2tex/history.txt` to\n        # disable history record\n        with suppress(OSError):\n            readline.read_history_file(history_file)\n        atexit.register(readline.write_history_file, history_file)\n    files = check_file_path(arguments.file)\n    wdir = Path(os.getcwd())\n    with in_model_path():\n        model = LatexOCR(arguments)\n        if files:\n            for file in check_file_path(arguments.file, wdir):\n                print(file + ': ', end='')\n                predict(model, file, arguments)\n                model.last_pic = None\n                with suppress(NameError):\n                    readline.add_history(file)\n            exit()\n        pat = re.compile(r't=([\\.\\d]+)')\n        while True:\n            try:\n                instructions = input('Predict LaTeX code for image (\"h\" for help). ')\n            except KeyboardInterrupt:\n                # TODO: make the last line gray\n                print(\"\")\n                continue\n            except EOFError:\n                break\n            file = instructions.strip()\n            ins = file.lower()\n            t = pat.match(ins)\n            if ins == 'x':\n                break\n            elif ins in ['?', 'h', 'help']:\n                print('''pix2tex help:\n\n    Usage:\n        On Windows and macOS you can copy the image into memory and just press ENTER to get a prediction.\n        Alternatively you can paste the image file path here and submit.\n\n        You might get a different prediction every time you submit the same image. If the result you got was close you\n        can just predict the same image by pressing ENTER again. If that still does not work you can change the temperature\n        or you have to take another picture with another resolution (e.g. zoom out and take a screenshot with lower resolution). \n\n        Press \"x\" to close the program.\n        You can interrupt the model if it takes too long by pressing Ctrl+C.\n\n    Visualization:\n        You can either render the code into a png using XeLaTeX (see README) to get an image file back.\n        This is slow and requires a working installation of XeLaTeX. To activate type 'show' or set the flag --show\n        Alternatively you can render the expression in the browser using katex.org. Type 'katex' or set --katex\n\n    Settings:\n        to toggle one of these settings: 'show', 'katex', 'no_resize' just type it into the console\n        Change the temperature (default=0.333) type: \"t=0.XX\" to set a new temperature.\n                    ''')\n                continue\n            elif ins in ['show', 'katex', 'no_resize']:\n                setattr(arguments, ins, not getattr(arguments, ins, False))\n                print('set %s to %s' % (ins, getattr(arguments, ins)))\n                continue\n            elif t is not None:\n                t = t.groups()[0]\n                model.args.temperature = float(t)+1e-8\n                print('new temperature: T=%.3f' % model.args.temperature)\n                continue\n            files = check_file_path(file.split(' '), wdir)\n            with suppress(KeyboardInterrupt):\n                if files:\n                    for file in files:\n                        if len(files)>1:\n                            print(file + ': ', end='')\n                        predict(model, file, arguments)\n                else:\n                    predict(model, file, arguments)\n            file = None\n"
  },
  {
    "path": "pix2tex/dataset/__init__.py",
    "content": ""
  },
  {
    "path": "pix2tex/dataset/arxiv.py",
    "content": "# modified from https://github.com/soskek/arxiv_leaks\n\nimport argparse\nimport subprocess\nimport os\nimport glob\nimport re\nimport sys\nimport argparse\nimport logging\nimport tarfile\nimport tempfile\nimport logging\nimport requests\nimport urllib.request\nfrom tqdm import tqdm\nfrom urllib.error import HTTPError\nfrom pix2tex.dataset.extract_latex import find_math\nfrom pix2tex.dataset.scraping import recursive_search\nfrom pix2tex.dataset.demacro import *\n\n# logging.getLogger().setLevel(logging.INFO)\narxiv_id = re.compile(r'(?<!\\d)(\\d{4}\\.\\d{5})(?!\\d)')\narxiv_base = 'https://export.arxiv.org/e-print/'\n\n\ndef get_all_arxiv_ids(text):\n    '''returns all arxiv ids present in a string `text`'''\n    ids = []\n    for id in arxiv_id.findall(text):\n        ids.append(id)\n    return list(set(ids))\n\n\ndef download(url, dir_path='./'):\n    idx = os.path.split(url)[-1]\n    file_name = idx + '.tar.gz'\n    file_path = os.path.join(dir_path, file_name)\n    if os.path.exists(file_path):\n        return file_path\n    logging.info('\\tdownload {}'.format(url) + '\\n')\n    try:\n        r = urllib.request.urlretrieve(url, file_path)\n        return r[0]\n    except HTTPError:\n        logging.info('Could not download %s' % url)\n        return 0\n\n\ndef read_tex_files(file_path:str, demacro:bool=False)->str:\n    \"\"\"Read all tex files in the latex source at `file_path`. If it is not a `tar.gz` file try to read it as text file.\n\n    Args:\n        file_path (str): Path to latex source\n        demacro (bool, optional): Deprecated. Call external `de-macro` program. Defaults to False.\n\n    Returns:\n        str: All Latex files concatenated into one string.\n    \"\"\"    \n    tex = ''\n    try:\n        with tempfile.TemporaryDirectory() as tempdir:\n            try:\n                tf = tarfile.open(file_path, 'r')\n                tf.extractall(tempdir)\n                tf.close()\n                texfiles = [os.path.abspath(x) for x in glob.glob(os.path.join(tempdir, '**', '*.tex'), recursive=True)]\n            except tarfile.ReadError as e:\n                texfiles = [file_path]  # [os.path.join(tempdir, file_path+'.tex')]\n            if demacro:\n                ret = subprocess.run(['de-macro', *texfiles], cwd=tempdir, capture_output=True)\n                if ret.returncode == 0:\n                    texfiles = glob.glob(os.path.join(tempdir, '**', '*-clean.tex'), recursive=True)\n            for texfile in texfiles:\n                try:\n                    ct = open(texfile, 'r', encoding='utf-8').read()\n                    tex += ct\n                except UnicodeDecodeError as e:\n                    logging.debug(e)\n                    pass\n    except Exception as e:\n        logging.debug('Could not read %s: %s' % (file_path, str(e)))\n        raise e\n    tex = pydemacro(tex)\n    return tex\n\n\ndef download_paper(arxiv_id, dir_path='./'):\n    url = arxiv_base + arxiv_id\n    return download(url, dir_path)\n\n\ndef read_paper(targz_path, delete=False, demacro=False):\n    paper = ''\n    if targz_path != 0:\n        paper = read_tex_files(targz_path, demacro=demacro)\n        if delete:\n            os.remove(targz_path)\n    return paper\n\n\ndef parse_arxiv(id, save=None, demacro=True):\n    if save is None:\n        dir = tempfile.gettempdir()\n    else:\n        dir = save\n    text = read_paper(download_paper(id, dir), delete=save is None, demacro=demacro)\n\n    return find_math(text, wiki=False), []\n\n\nif __name__ == '__main__':\n    # logging.getLogger().setLevel(logging.DEBUG)\n    parser = argparse.ArgumentParser(description='Extract math from arxiv')\n    parser.add_argument('-m', '--mode', default='top100', choices=['top', 'ids', 'dirs'],\n                        help='Where to extract code from. top: current 100 arxiv papers (-m top int for any other number of papers), id: specific arxiv ids. \\\n                              Usage: `python arxiv.py -m ids id001 [id002 ...]`, dirs: a folder full of .tar.gz files. Usage: `python arxiv.py -m dirs directory [dir2 ...]`')\n    parser.add_argument(nargs='*', dest='args', default=[])\n    parser.add_argument('-o', '--out', default=os.path.join(os.path.dirname(os.path.realpath(__file__)), 'data'), help='output directory')\n    parser.add_argument('-d', '--demacro', dest='demacro', action='store_true',\n                        help='Deprecated - Use de-macro (Slows down extraction, may but improves quality). Install https://www.ctan.org/pkg/de-macro')\n    parser.add_argument('-s', '--save', default=None, type=str, help='When downloading files from arxiv. Where to save the .tar.gz files. Default: Only temporary')\n    args = parser.parse_args()\n    if '.' in args.out:\n        args.out = os.path.dirname(args.out)\n    skips = os.path.join(args.out, 'visited_arxiv.txt')\n    if os.path.exists(skips):\n        skip = open(skips, 'r', encoding='utf-8').read().split('\\n')\n    else:\n        skip = []\n    if args.save is not None:\n        os.makedirs(args.save, exist_ok=True)\n    try:\n        if args.mode == 'ids':\n            visited, math = recursive_search(parse_arxiv, args.args, skip=skip, unit='paper', save=args.save, demacro=args.demacro)\n        elif args.mode == 'top':\n            num = 100 if len(args.args) == 0 else int(args.args[0])\n            url = 'https://arxiv.org/list/physics/pastweek?skip=0&show=%i' % num  # 'https://arxiv.org/list/hep-th/2203?skip=0&show=100'\n            ids = get_all_arxiv_ids(requests.get(url).text)\n            math, visited = [], ids\n            for id in tqdm(ids):\n                try:\n                    m, _ = parse_arxiv(id, save=args.save, demacro=args.demacro)\n                    math.extend(m)\n                except ValueError:\n                    pass\n        elif args.mode == 'dirs':\n            files = []\n            for folder in args.args:\n                files.extend([os.path.join(folder, p) for p in os.listdir(folder)])\n            math, visited = [], []\n            for f in tqdm(files):\n                try:\n                    text = read_paper(f, delete=False, demacro=args.demacro)\n                    math.extend(find_math(text, wiki=False))\n                    visited.append(os.path.basename(f))\n                except DemacroError as e:\n                    logging.debug(f + str(e))\n                    pass\n                except KeyboardInterrupt:\n                    break\n                except Exception as e:\n                    logging.debug(e)\n                    raise e\n        else:\n            raise NotImplementedError\n    except KeyboardInterrupt:\n        pass\n    print('Found %i instances of math latex code' % len(math))\n    # print('\\n'.join(math))\n    # sys.exit(0)\n    for l, name in zip([visited, math], ['visited_arxiv.txt', 'math_arxiv.txt']):\n        f = os.path.join(args.out, name)\n        if not os.path.exists(f):\n            open(f, 'w').write('')\n        f = open(f, 'a', encoding='utf-8')\n        for element in l:\n            f.write(element)\n            f.write('\\n')\n        f.close()\n"
  },
  {
    "path": "pix2tex/dataset/data/.gitkeep",
    "content": ""
  },
  {
    "path": "pix2tex/dataset/dataset.py",
    "content": "import torch\nimport torch.nn.functional as F\nfrom torch.nn.utils.rnn import pad_sequence\nimport numpy as np\nimport imagesize\nimport logging\nimport glob\nimport os\nfrom os.path import join\nfrom collections import defaultdict\nimport pickle\nimport cv2\nfrom transformers import PreTrainedTokenizerFast\nfrom tqdm.auto import tqdm\n\nfrom pix2tex.utils.utils import in_model_path\nfrom pix2tex.dataset.transforms import train_transform, test_transform\n\n\n\nclass Im2LatexDataset:\n    keep_smaller_batches = False\n    shuffle = True\n    batchsize = 16\n    max_dimensions = (1024, 512)\n    min_dimensions = (32, 32)\n    max_seq_len = 1024\n    pad_token = \"[PAD]\"\n    bos_token = \"[BOS]\"\n    eos_token = \"[EOS]\"\n    pad_token_id = 0\n    bos_token_id = 1\n    eos_token_id = 2\n    transform = train_transform\n    data = defaultdict(lambda: [])\n\n    def __init__(self, equations=None, images=None, tokenizer=None, shuffle=True, batchsize=16, max_seq_len=1024,\n                 max_dimensions=(1024, 512), min_dimensions=(32, 32), pad=False, keep_smaller_batches=False, test=False):\n        \"\"\"Generates a torch dataset from pairs of `equations` and `images`.\n\n        Args:\n            equations (str, optional): Path to equations. Defaults to None.\n            images (str, optional): Directory where images are saved. Defaults to None.\n            tokenizer (str, optional): Path to saved tokenizer. Defaults to None.\n            shuffle (bool, opitonal): Defaults to True. \n            batchsize (int, optional): Defaults to 16.\n            max_seq_len (int, optional): Defaults to 1024.\n            max_dimensions (tuple(int, int), optional): Maximal dimensions the model can handle\n            min_dimensions (tuple(int, int), optional): Minimal dimensions the model can handle\n            pad (bool): Pad the images to `max_dimensions`. Defaults to False.\n            keep_smaller_batches (bool): Whether to also return batches with smaller size than `batchsize`. Defaults to False.\n            test (bool): Whether to use the test transformation or not. Defaults to False.\n        \"\"\"\n\n        if images is not None and equations is not None:\n            assert tokenizer is not None\n            self.images = [path.replace('\\\\', '/') for path in glob.glob(join(images, '*.png'))]\n            self.sample_size = len(self.images)\n            eqs = open(equations, 'r').read().split('\\n')\n            self.indices = [int(os.path.basename(img).split('.')[0]) for img in self.images]\n            self.tokenizer = PreTrainedTokenizerFast(tokenizer_file=tokenizer)\n            self.shuffle = shuffle\n            self.batchsize = batchsize\n            self.max_seq_len = max_seq_len\n            self.max_dimensions = max_dimensions\n            self.min_dimensions = min_dimensions\n            self.pad = pad\n            self.keep_smaller_batches = keep_smaller_batches\n            self.test = test\n            # check the image dimension for every image and group them together\n            try:\n                for i, im in tqdm(enumerate(self.images), total=len(self.images)):\n                    width, height = imagesize.get(im)\n                    if min_dimensions[0] <= width <= max_dimensions[0] and min_dimensions[1] <= height <= max_dimensions[1]:\n                        self.data[(width, height)].append((eqs[self.indices[i]], im))\n            except KeyboardInterrupt:\n                pass\n            self.data = dict(self.data)\n            self._get_size()\n\n            iter(self)\n\n    def __len__(self):\n        return self.size\n\n    def __iter__(self):\n        self.i = 0\n        self.transform = test_transform if self.test else train_transform\n        self.pairs = []\n        for k in self.data:\n            info = np.array(self.data[k], dtype=object)\n            p = torch.randperm(len(info)) if self.shuffle else torch.arange(len(info))\n            for i in range(0, len(info), self.batchsize):\n                batch = info[p[i:i+self.batchsize]]\n                if len(batch.shape) == 1:\n                    batch = batch[None, :]\n                if len(batch) < self.batchsize and not self.keep_smaller_batches:\n                    continue\n                self.pairs.append(batch)\n        if self.shuffle:\n            self.pairs = np.random.permutation(np.array(self.pairs, dtype=object))\n        else:\n            self.pairs = np.array(self.pairs, dtype=object)\n        self.size = len(self.pairs)\n        return self\n\n    def __next__(self):\n        if self.i >= self.size:\n            raise StopIteration\n        self.i += 1\n        return self.prepare_data(self.pairs[self.i-1])\n\n    def prepare_data(self, batch):\n        \"\"\"loads images into memory\n\n        Args:\n            batch (numpy.array[[str, str]]): array of equations and image path pairs\n\n        Returns:\n            tuple(torch.tensor, torch.tensor): data in memory\n        \"\"\"\n\n        eqs, ims = batch.T\n        tok = self.tokenizer(list(eqs), return_token_type_ids=False)\n        # pad with bos and eos token\n        for k, p in zip(tok, [[self.bos_token_id, self.eos_token_id], [1, 1]]):\n            tok[k] = pad_sequence([torch.LongTensor([p[0]]+x+[p[1]]) for x in tok[k]], batch_first=True, padding_value=self.pad_token_id)\n        # check if sequence length is too long\n        if self.max_seq_len < tok['attention_mask'].shape[1]:\n            return next(self)\n        images = []\n        for path in list(ims):\n            im = cv2.imread(path)\n            if im is None:\n                print(path, 'not found!')\n                continue\n            im = cv2.cvtColor(im, cv2.COLOR_BGR2RGB)\n            if not self.test:\n                # sometimes convert to bitmask\n                if np.random.random() < .04:\n                    im[im != 255] = 0\n            images.append(self.transform(image=im)['image'][:1])\n        try:\n            images = torch.cat(images).float().unsqueeze(1)\n        except RuntimeError:\n            logging.critical('Images not working: %s' % (' '.join(list(ims))))\n            return None, None\n        if self.pad:\n            h, w = images.shape[2:]\n            images = F.pad(images, (0, self.max_dimensions[0]-w, 0, self.max_dimensions[1]-h), value=1)\n        return tok, images\n\n    def _get_size(self):\n        self.size = 0\n        for k in self.data:\n            div, mod = divmod(len(self.data[k]), self.batchsize)\n            self.size += div  # + (1 if mod > 0 else 0)\n\n    def load(self, filename, args=[]):\n        \"\"\"returns a pickled version of a dataset\n\n        Args:\n            filename (str): Path to dataset\n        \"\"\"\n        if not os.path.exists(filename):\n            with in_model_path():\n                tempf = os.path.join('..', filename)\n                if os.path.exists(tempf):\n                    filename = os.path.realpath(tempf)\n        with open(filename, 'rb') as file:\n            x = pickle.load(file)\n        return x\n\n    def combine(self, x):\n        \"\"\"Combine Im2LatexDataset with another Im2LatexDataset\n\n        Args:\n            x (Im2LatexDataset): Dataset to absorb\n        \"\"\"\n        for key in x.data.keys():\n            if key in self.data.keys():\n                self.data[key].extend(x.data[key])\n                self.data[key] = list(set(self.data[key]))\n            else:\n                self.data[key] = x.data[key]\n        self._get_size()\n        iter(self)\n\n    def save(self, filename):\n        \"\"\"save a pickled version of a dataset\n\n        Args:\n            filename (str): Path to dataset\n        \"\"\"\n        with open(filename, 'wb') as file:\n            pickle.dump(self, file)\n\n    def update(self, **kwargs):\n        for k in ['batchsize', 'shuffle', 'pad', 'keep_smaller_batches', 'test', 'max_seq_len']:\n            if k in kwargs:\n                setattr(self, k, kwargs[k])\n        if 'max_dimensions' in kwargs or 'min_dimensions' in kwargs:\n            if 'max_dimensions' in kwargs:\n                self.max_dimensions = kwargs['max_dimensions']\n            if 'min_dimensions' in kwargs:\n                self.min_dimensions = kwargs['min_dimensions']\n            temp = {}\n            for k in self.data:\n                if self.min_dimensions[0] <= k[0] <= self.max_dimensions[0] and self.min_dimensions[1] <= k[1] <= self.max_dimensions[1]:\n                    temp[k] = self.data[k]\n            self.data = temp\n        if 'tokenizer' in kwargs:\n            tokenizer_file = kwargs['tokenizer']\n            if not os.path.exists(tokenizer_file):\n                with in_model_path():\n                    tokenizer_file = os.path.realpath(tokenizer_file)\n            self.tokenizer = PreTrainedTokenizerFast(tokenizer_file=tokenizer_file)\n        self._get_size()\n        iter(self)\n\n\ndef generate_tokenizer(equations, output, vocab_size):\n    from tokenizers import Tokenizer, pre_tokenizers\n    from tokenizers.models import BPE\n    from tokenizers.trainers import BpeTrainer\n    tokenizer = Tokenizer(BPE())\n    tokenizer.pre_tokenizer = pre_tokenizers.ByteLevel(add_prefix_space=False)\n    trainer = BpeTrainer(special_tokens=[\"[PAD]\", \"[BOS]\", \"[EOS]\"], vocab_size=vocab_size, show_progress=True)\n    tokenizer.train(equations, trainer)\n    tokenizer.save(path=output, pretty=False)\n\n\nif __name__ == '__main__':\n    import argparse\n    parser = argparse.ArgumentParser(description='Train model', add_help=False)\n    parser.add_argument('-i', '--images', type=str, nargs='+', default=None, help='Image folders')\n    parser.add_argument('-e', '--equations', type=str, nargs='+', default=None, help='equations text files')\n    parser.add_argument('-t', '--tokenizer', default=None, help='Pretrained tokenizer file')\n    parser.add_argument('-o', '--out', type=str, required=True, help='output file')\n    parser.add_argument('-s', '--vocab-size', default=8000, type=int, help='vocabulary size when training a tokenizer')\n    args = parser.parse_args()\n    if args.tokenizer is None:\n        with in_model_path():\n            args.tokenizer = os.path.realpath(os.path.join('dataset', 'tokenizer.json'))\n    if args.images is None and args.equations is not None:\n        print('Generate tokenizer')\n        generate_tokenizer(args.equations, args.out, args.vocab_size)\n    elif args.images is not None and args.equations is not None:\n        print('Generate dataset')\n        dataset = None\n        for images, equations in zip(args.images, args.equations):\n            if dataset is None:\n                dataset = Im2LatexDataset(equations, images, args.tokenizer)\n            else:\n                dataset.combine(Im2LatexDataset(equations, images, args.tokenizer))\n        dataset.update(batchsize=1, keep_smaller_batches=True)\n        dataset.save(args.out)\n    else:\n        print('Not defined')\n"
  },
  {
    "path": "pix2tex/dataset/demacro-test.py",
    "content": "import unittest\nimport re\nfrom pix2tex.dataset.demacro import pydemacro\n\n\ndef norm(s):\n    s = re.sub(r'\\n+', '\\n', s)\n    s = re.sub(r'\\s+', ' ', s)\n    return s.strip()\n\n\ndef f(s):\n    return norm(pydemacro(s))\n\n\nclass TestDemacroCases(unittest.TestCase):\n    def test_noargs(self):\n        inp = r'''\n        \\newcommand*{\\noargs}{sample text}\n        \\noargs[a]\\noargs{b}\\noargs\n        '''\n        expected = r'''sample text[a]sample text{b}sample text'''\n        self.assertEqual(f(inp), norm(expected))\n\n    def test_optional_arg(self):\n        inp = r'''\n        \\newcommand{\\example}[2][YYY]{Mandatory arg: #2; Optional arg: #1.}     \n        \\example{BBB}\n        \\example[XXX]{AAA}\n        '''\n        expected = r'''\n        Mandatory arg: BBB; Optional arg: YYY.\n        Mandatory arg: AAA; Optional arg: XXX.\n        '''\n        self.assertEqual(f(inp), norm(expected))\n\n    def test_optional_arg_and_positional_args(self):\n        inp = r'''\n        \\newcommand{\\plusbinomial}[3][2]{(#2 + #3)^{#1}}\n        \\plusbinomial[4]{y}{x}\n        '''\n        expected = r'''(y + x)^{4}'''\n        self.assertEqual(f(inp), norm(expected))\n\n    def test_alt_definition1(self):\n        inp = r'''\n        \\newcommand\\d{replacement}\n        \\d\n        '''\n        expected = r'''replacement'''\n        self.assertEqual(f(inp), norm(expected))\n\n    def test_arg_with_bs_and_cb(self):\n        # def 1 argument and with backslash (bs) and cruly brackets (cb) in definition\n        inp = r'''\n        \\newcommand{\\eq}[1]{\\begin{equation}#1\\end{equation}}\n        \\eq{\\sqrt{2}\\approx1.4}\n        \\eq[unexpected argument]{\\sqrt{2}\\approx1.4}\n        '''\n        expected = r'''\n        \\begin{equation}\\sqrt{2}\\approx1.4\\end{equation}\n        \\begin{equation}\\sqrt{2}\\approx1.4\\end{equation}\n        '''\n        self.assertEqual(f(inp), norm(expected))\n\n    def test_multiline_definition(self):\n        inp = r'''\n        \\newcommand{\\multiline}[2]{%\n        Arg 1: \\bf{#1}\n        Arg 2: #2\n        }\n        \\multiline{1}{two}\n        '''\n        expected = r'''\n        Arg 1: \\bf{1}\n        Arg 2: two\n        '''\n        self.assertEqual(f(inp), norm(expected))\n\n    def test_multiline_definition_alt1(self):\n        inp = r'''\n        \\newcommand{\\identity}[1]\n        {#1}\n        \\identity{x}\n        '''\n        expected = 'x'\n        self.assertEqual(f(inp), norm(expected))\n\n    def test_multiline_definition_alt2(self):\n        inp = r'''\n        \\newcommand\n        {\\identity}[1]{#1}\n        \\identity{x}\n        '''\n        expected = 'x'\n        self.assertEqual(f(inp), norm(expected))\n\n    def test_multiline_definition_alt3(self):\n        inp = r'''\n        \\newcommand\n        {\\identity}[1]\n        {#1}\n        \\identity{x}\n        '''\n        expected = 'x'\n        self.assertEqual(f(inp), norm(expected))\n\n    def test_multiline_definition_alt4(self):\n        inp = r'''\n        \\newcommand\n        {\\identity}\n        [1]\n        {#1}\n        \\identity{x}\n        '''\n        expected = 'x'\n        self.assertEqual(f(inp), norm(expected))\n\n    def test_nested_definition(self):\n        inp = r'''\n        \\newcommand{\\cmd}[1]{command #1}\n        \\newcommand{\\nested}[2]{\\cmd{#1} \\cmd{#2}}\n        \\nested{\\alpha}{\\beta}\n        '''\n        expected = r'''\n        command \\alpha command \\beta\n        '''\n        self.assertEqual(f(inp), norm(expected))\n\n    def test_def(self):\n        # check if \\def is handled correctly.\n        inp = r'''\n        \\def\\defcheck#1#2{Defcheck arg1: #1 arg2: #2}\n        \\defcheck{1}{two}\n        '''\n        expected = r'''\n        Defcheck arg1: 1 arg2: two\n        '''\n        self.assertEqual(f(inp), norm(expected))\n\n    def test_multi_def_lines_alt0(self):\n        inp = r'''\\def\\be{\\begin{equation}} \\def\\ee{\\end{equation}} %some comment\n        \\be\n        1+1=2\n        \\ee'''\n        expected = r'''\n        \\begin{equation}\n        1+1=2\n        \\end{equation}\n        '''\n        self.assertEqual(f(inp), norm(expected))\n\n    def test_multi_def_lines_alt1(self):\n        inp = r'''\\def\\be{\\begin{equation}}\\def\\ee{\\end{equation}}\n        \\be\n        1+1=2\n        \\ee'''\n        expected = r'''\n        \\begin{equation}\n        1+1=2\n        \\end{equation}\n        '''\n        self.assertEqual(f(inp), norm(expected))\n\n    def test_multi_def_lines_alt2(self):\n        inp = r'''\\def\n        \\be{\\begin{equation}}\n        \\def\\ee\n        {\\end{equation}}\n        \\be\n        1+1=2\n        \\ee'''\n        expected = r'''\n        \\begin{equation}\n        1+1=2\n        \\end{equation}\n        '''\n        self.assertEqual(f(inp), norm(expected))\n\n    def test_multi_def_lines_alt3(self):\n        inp = r'''\n        \\def\\be\n        {\n            \\begin{equation}\n        }\n        \\def\n        \\ee\n        {\\end{equation}}\n        \\be\n        1+1=2\n        \\ee'''\n        expected = r'''\n        \\begin{equation}\n        1+1=2\n        \\end{equation}\n        '''\n        self.assertEqual(f(inp), norm(expected))\n\n    def test_let_alt0(self):\n        inp = r'''\\let\\a\\alpha\\let\\b=\\beta\n        \\a \\b'''\n        expected = r'''\\alpha \\beta'''\n        self.assertEqual(f(inp), norm(expected))\n\n    def test_let_alt1(self):\n        inp = r'''\\let\\a\\alpha \\let\\b=\\beta\n        \\a \\b'''\n        expected = r'''\\alpha \\beta'''\n        self.assertEqual(f(inp), norm(expected))\n\n    def test_let_alt2(self):\n        inp = r'''\\let\\a\\alpha \\let\\b=\\beta\n        \\a \\b'''\n        expected = r'''\\alpha \\beta'''\n        self.assertEqual(f(inp), norm(expected))\n\n    def test_let_alt3(self):\n        inp = r'''\n        \\let\n        \\a\n        \\alpha\n        \\let\\b=\n        \\beta\n        \\a \\b'''\n        expected = r'''\\alpha \\beta'''\n        self.assertEqual(f(inp), norm(expected))\n\n\nif __name__ == '__main__':\n    unittest.main()\n"
  },
  {
    "path": "pix2tex/dataset/demacro.py",
    "content": "# modified from https://tex.stackexchange.com/a/521639\n\nimport argparse\nimport re\nimport logging\nfrom collections import Counter\nimport time\nfrom pix2tex.dataset.extract_latex import remove_labels\n\n\nclass DemacroError(Exception):\n    pass\n\n\ndef main():\n    args = parse_command_line()\n    data = read(args.input)\n    data = pydemacro(data)\n    if args.output is not None:\n        write(args.output, data)\n    else:\n        print(data)\n\n\ndef parse_command_line():\n    parser = argparse.ArgumentParser(description='Replace \\\\def with \\\\newcommand where possible.')\n    parser.add_argument('input', help='TeX input file with \\\\def')\n    parser.add_argument('--output', '-o', default=None, help='TeX output file with \\\\newcommand')\n    return parser.parse_args()\n\n\ndef read(path):\n    with open(path, mode='r') as handle:\n        return handle.read()\n\n\ndef bracket_replace(string: str) -> str:\n    '''\n    replaces all layered brackets with special symbols\n    '''\n    layer = 0\n    out = list(string)\n    for i, c in enumerate(out):\n        if c == '{':\n            if layer > 0:\n                out[i] = 'Ḋ'\n            layer += 1\n        elif c == '}':\n            layer -= 1\n            if layer > 0:\n                out[i] = 'Ḍ'\n    return ''.join(out)\n\n\ndef undo_bracket_replace(string):\n    return string.replace('Ḋ', '{').replace('Ḍ', '}')\n\n\ndef sweep(t, cmds):\n    num_matches = 0\n    for c in cmds:\n        nargs = int(c[1][1]) if c[1] != r'' else 0\n        optional = c[2] != r''\n        if nargs == 0:\n            num_matches += len(re.findall(r'\\\\%s([\\W_^\\dĊ])' % c[0], t))\n            if num_matches > 0:\n                t = re.sub(r'\\\\%s([\\W_^\\dĊ])' % c[0], r'%s\\1' % c[-1].replace('\\\\', r'\\\\'), t)\n        else:\n            matches = re.findall(r'(\\\\%s(?:\\[(.+?)\\])?' % c[0]+r'{(.+?)}'*(nargs-(1 if optional else 0))+r')', t)\n            num_matches += len(matches)\n            for i, m in enumerate(matches):\n                r = c[-1]\n                if m[1] == r'':\n                    matches[i] = (m[0], c[2][1:-1], *m[2:])\n                for j in range(1, nargs+1):\n                    r = r.replace(r'#%i' % j, matches[i][j+int(not optional)])\n                t = t.replace(matches[i][0], r)\n    return t, num_matches\n\n\ndef unfold(t):\n    #t = queue.get()\n    t = t.replace('\\n', 'Ċ')\n    t = bracket_replace(t)\n    commands_pattern = r'\\\\(?:re)?newcommand\\*?{\\\\(.+?)}[\\sĊ]*(\\[\\d\\])?[\\sĊ]*(\\[.+?\\])?[\\sĊ]*{(.*?)}'\n    cmds = re.findall(commands_pattern, t)\n    t = re.sub(r'(?<!\\\\)'+commands_pattern, 'Ċ', t)\n    cmds = sorted(cmds, key=lambda x: len(x[0]))\n    cmd_names = Counter([c[0] for c in cmds])\n    for i in reversed(range(len(cmds))):\n        if cmd_names[cmds[i][0]] > 1:\n            # something went wrong here. No multiple definitions allowed\n            del cmds[i]\n        elif '\\\\newcommand' in cmds[i][-1]:\n            logging.debug(\"Command recognition pattern didn't work properly. %s\" % (undo_bracket_replace(cmds[i][-1])))\n            del cmds[i]\n    start = time.time()\n    try:\n        for i in range(10):\n            # check for up to 10 nested commands\n            if i > 0:\n                t = bracket_replace(t)\n            t, N = sweep(t, cmds)\n            if time.time()-start > 5: # not optimal. more sophisticated methods didnt work or are slow\n                raise TimeoutError\n            t = undo_bracket_replace(t)\n            if N == 0 or i == 9:\n                #print(\"Needed %i iterations to demacro\" % (i+1))\n                break\n            elif N > 4000:\n                raise ValueError(\"Too many matches. Processing would take too long.\")\n    except ValueError:\n        pass\n    except TimeoutError:\n        pass\n    except re.error as e:\n        raise DemacroError(e)\n    t = remove_labels(t.replace('Ċ', '\\n'))\n    # queue.put(t)\n    return t\n\n\ndef pydemacro(t: str) -> str:\n    r\"\"\"Replaces all occurences of newly defined Latex commands in a document.\n    Can replace `\\newcommand`, `\\def` and `\\let` definitions in the code.\n\n    Args:\n        t (str): Latex document\n\n    Returns:\n        str: Document without custom commands\n    \"\"\"\n    return unfold(convert(re.sub('\\n+', '\\n', re.sub(r'(?<!\\\\)%.*\\n', '\\n', t))))\n\n\ndef replace(match):\n    prefix = match.group(1)\n    if (\n            prefix is not None and\n            (\n                'expandafter' in prefix or\n                'global' in prefix or\n                'outer' in prefix or\n                'protected' in prefix\n            )\n    ):\n        return match.group(0)\n\n    result = r'\\newcommand'\n    if prefix is None or 'long' not in prefix:\n        result += '*'\n\n    result += '{' + match.group(2) + '}'\n    if match.lastindex == 3:\n        result += '[' + match.group(3) + ']'\n\n    result += '{'\n    return result\n\n\ndef convert(data):\n    data = re.sub(\n        r'((?:\\\\(?:expandafter|global|long|outer|protected)(?:\\s+|\\r?\\n\\s*)?)*)?\\\\def\\s*(\\\\[a-zA-Z]+)\\s*(?:#+([0-9]))*\\{',\n        replace,\n        data,\n    )\n    return re.sub(r'\\\\let[\\sĊ]*(\\\\[a-zA-Z]+)\\s*=?[\\sĊ]*(\\\\?\\w+)*', r'\\\\newcommand*{\\1}{\\2}\\n', data)\n\n\ndef write(path, data):\n    with open(path, mode='w') as handle:\n        handle.write(data)\n\n    print('=> File written: {0}'.format(path))\n\n\nif __name__ == '__main__':\n    main()\n"
  },
  {
    "path": "pix2tex/dataset/extract_latex.py",
    "content": "import argparse\nimport html\nimport os\nimport re\nimport numpy as np\nfrom typing import List\n\nMIN_CHARS = 1\nMAX_CHARS = 3000\ndollar = re.compile(r'((?<!\\$)\\${1,2}(?!\\$))(.{%i,%i}?)(?<!\\\\)(?<!\\$)\\1(?!\\$)' % (1, MAX_CHARS))\ninline = re.compile(r'(\\\\\\((.*?)(?<!\\\\)\\\\\\))|(\\\\\\[(.{%i,%i}?)(?<!\\\\)\\\\\\])' % (1, MAX_CHARS))\nequation = re.compile(r'\\\\begin\\{(equation|math|displaymath)\\*?\\}(.{%i,%i}?)\\\\end\\{\\1\\*?\\}' % (1, MAX_CHARS), re.S)\nalign = re.compile(r'(\\\\begin\\{(align|alignedat|alignat|flalign|eqnarray|aligned|split|gather)\\*?\\}(.{%i,%i}?)\\\\end\\{\\2\\*?\\})' % (1, MAX_CHARS), re.S)\ndisplaymath = re.compile(r'(?:\\\\displaystyle)(.{%i,%i}?)((?<!\\\\)\\}?(?:\\\"|<))' % (1, MAX_CHARS), re.S)\nouter_whitespace = re.compile(\n    r'^\\\\,|\\\\,$|^~|~$|^\\\\ |\\\\ $|^\\\\thinspace|\\\\thinspace$|^\\\\!|\\\\!$|^\\\\:|\\\\:$|^\\\\;|\\\\;$|^\\\\enspace|\\\\enspace$|^\\\\quad|\\\\quad$|^\\\\qquad|\\\\qquad$|^\\\\hspace{[a-zA-Z0-9]+}|\\\\hspace{[a-zA-Z0-9]+}$|^\\\\hfill|\\\\hfill$')\nlabel_names = [re.compile(r'\\\\%s\\s?\\{(.*?)\\}' % s) for s in ['ref', 'cite', 'label', 'eqref']]\n\n\ndef check_brackets(s):\n    a = []\n    surrounding = False\n    for i, c in enumerate(s):\n        if c == '{':\n            if i > 0 and s[i-1] == '\\\\':  # not perfect\n                continue\n            else:\n                a.append(1)\n            if i == 0:\n                surrounding = True\n        elif c == '}':\n            if i > 0 and s[i-1] == '\\\\':\n                continue\n            else:\n                a.append(-1)\n    b = np.cumsum(a)\n    if len(b) > 1 and b[-1] != 0:\n        raise ValueError(s)\n    surrounding = s[-1] == '}' and surrounding\n    if not surrounding:\n        return s\n    elif (b == 0).sum() == 1:\n        return s[1:-1]\n    else:\n        return s\n\n\ndef remove_labels(string):\n    for s in label_names:\n        string = re.sub(s, '', string)\n    return string\n\n\ndef clean_matches(matches, min_chars=MIN_CHARS):\n    faulty = []\n    for i in range(len(matches)):\n        if 'tikz' in matches[i]:  # do not support tikz at the moment\n            faulty.append(i)\n            continue\n        matches[i] = remove_labels(matches[i])\n        matches[i] = matches[i].replace('\\n', '').replace(r'\\notag', '').replace(r'\\nonumber', '')\n        matches[i] = re.sub(outer_whitespace, '', matches[i])\n        if len(matches[i]) < min_chars:\n            faulty.append(i)\n            continue\n        # try:\n        #     matches[i] = check_brackets(matches[i])\n        # except ValueError:\n        #     faulty.append(i)\n        if matches[i][-1] == '\\\\' or 'newcommand' in matches[i][-1]:\n            faulty.append(i)\n\n    matches = [m.strip() for i, m in enumerate(matches) if i not in faulty]\n    return list(set(matches))\n\n\ndef find_math(s: str, wiki=False) -> List[str]:\n    r\"\"\"Find all occurences of math in a Latex-like document. \n\n    Args:\n        s (str): String to search\n        wiki (bool, optional): Search for `\\displaystyle` as it can be found in the wikipedia page source code. Defaults to False.\n\n    Returns:\n        List[str]: List of all found mathematical expressions\n    \"\"\"\n    matches = []\n    x = re.findall(inline, s)\n    matches.extend([(g[1] if g[1] != '' else g[-1]) for g in x])\n    if not wiki:\n        patterns = [dollar, equation, align]\n        groups = [1, 1, 0]\n    else:\n        patterns = [displaymath]\n        groups = [0]\n    for i, pattern in zip(groups, patterns):\n        x = re.findall(pattern, s)\n        matches.extend([g[i] for g in x])\n\n    return clean_matches(matches)\n\nif __name__ == '__main__':\n    parser = argparse.ArgumentParser()\n    parser.add_argument(dest='file', type=str, help='file to find equations in')\n    parser.add_argument('--out','-o', type=str, default=None, help='file to save equations to. If none provided, print all equations.')\n    parser.add_argument('--wiki', action='store_true', help='only look for math starting with \\\\displaystyle')\n    parser.add_argument('--unescape', action='store_true', help='call `html.unescape` on input')\n    args = parser.parse_args()\n\n    if not os.path.exists(args.file):\n        raise ValueError('File can not be found. %s' % args.file)\n\n    from pix2tex.dataset.demacro import pydemacro\n    s = pydemacro(open(args.file, 'r', encoding='utf-8').read())\n    if args.unescape:\n        s = html.unescape(s)\n    math = '\\n'.join(sorted(find_math(s, args.wiki)))\n    if args.out is None:\n        print(math)\n    else:\n        with open(args.out, 'w') as f:\n            f.write(math)\n    "
  },
  {
    "path": "pix2tex/dataset/latex2png.py",
    "content": "# mostly taken from http://code.google.com/p/latexmath2png/\n# install preview.sty\nimport os\nimport re\nimport sys\nimport io\nimport glob\nimport tempfile\nimport shlex\nimport subprocess\nimport traceback\nfrom PIL import Image\n\n\nclass Latex:\n    BASE = r'''\n\\documentclass[varwidth]{standalone}\n\\usepackage{fontspec,unicode-math}\n\\usepackage[active,tightpage,displaymath,textmath]{preview}\n\\setmathfont{%s}\n\\begin{document}\n\\thispagestyle{empty}\n%s\n\\end{document}\n'''\n\n    def __init__(self, math, dpi=250, font='Latin Modern Math'):\n        '''takes list of math code. `returns each element as PNG with DPI=`dpi`'''\n        self.math = math\n        self.dpi = dpi\n        self.font = font\n        self.prefix_line = self.BASE.split(\"\\n\").index(\n            \"%s\")  # used for calculate error formula index\n\n    def write(self, return_bytes=False):\n        # inline = bool(re.match('^\\$[^$]*\\$$', self.math)) and False\n        try:\n            workdir = tempfile.gettempdir()\n            fd, texfile = tempfile.mkstemp('.tex', 'eq', workdir, True)\n            # print(self.BASE % (self.font, self.math))\n            with os.fdopen(fd, 'w+') as f:\n                document = self.BASE % (self.font, '\\n'.join(self.math))\n                # print(document)\n                f.write(document)\n\n            png, error_index = self.convert_file(\n                texfile, workdir, return_bytes=return_bytes)\n            return png, error_index\n\n        finally:\n            if os.path.exists(texfile):\n                try:\n                    os.remove(texfile)\n                except PermissionError:\n                    pass\n\n    def convert_file(self, infile, workdir, return_bytes=False):\n        infile = infile.replace('\\\\', '/')\n        try:\n            # Generate the PDF file\n            #  not stop on error line, but return error line index,index start from 1\n            cmd = 'xelatex -interaction nonstopmode -file-line-error -output-directory %s %s' % (\n                workdir.replace('\\\\', '/'), infile)\n\n            p = subprocess.Popen(\n                shlex.split(cmd),\n                stdin=subprocess.PIPE,\n                stdout=subprocess.PIPE,\n                stderr=subprocess.PIPE,\n                universal_newlines=True\n            )\n            sout, serr = p.communicate()\n            # extract error line from sout\n            error_index, _ = extract(text=sout, expression=r\"%s:(\\d+)\" % os.path.basename(infile))\n            # extract success rendered equation\n            if error_index != []:\n                # offset index start from 0, same as self.math\n                error_index = [int(_)-self.prefix_line-1 for _ in error_index]\n            # Convert the PDF file to PNG's\n            pdffile = infile.replace('.tex', '.pdf')\n            result, _ = extract(\n                text=sout, expression=\"Output written on %s \\((\\d+)? page\" % pdffile)\n            if int(result[0]) != len(self.math):\n                raise Exception('xelatex rendering error, generated %d formula\\'s page, but the total number of formulas is %d.' % (\n                    int(result[0]), len(self.math)))\n            pngfile = os.path.join(workdir, infile.replace('.tex', '.png'))\n\n            cmd = 'convert -density %i -colorspace gray %s -quality 90 %s' % (\n                self.dpi,\n                pdffile,\n                pngfile,\n            )  # -bg Transparent -z 9\n            if sys.platform == 'win32':\n                cmd = 'magick ' + cmd\n            p = subprocess.Popen(\n                shlex.split(cmd),\n                stdin=subprocess.PIPE,\n                stdout=subprocess.PIPE,\n                stderr=subprocess.PIPE,\n            )\n\n            sout, serr = p.communicate()\n            if p.returncode != 0:\n                raise Exception('PDFpng error', serr, cmd, os.path.exists(\n                    pdffile), os.path.exists(infile))\n            if return_bytes:\n                if len(self.math) > 1:\n                    png = [open(pngfile.replace('.png', '')+'-%i.png' %\n                                i, 'rb').read() for i in range(len(self.math))]\n                else:\n                    png = [open(pngfile.replace(\n                        '.png', '')+'.png', 'rb').read()]\n            else:\n                # return path\n                if len(self.math) > 1:\n                    png = [(pngfile.replace('.png', '')+'-%i.png' % i)\n                           for i in range(len(self.math))]\n                else:\n                    png = [(pngfile.replace('.png', '')+'.png')]\n            return png, error_index\n        except Exception as e:\n            print(e)\n        finally:\n            # Cleanup temporaries\n            basefile = infile.replace('.tex', '')\n            tempext = ['.aux', '.pdf', '.log']\n            if return_bytes:\n                ims = glob.glob(basefile+'*.png')\n                for im in ims:\n                    os.remove(im)\n            for te in tempext:\n                tempfile = basefile + te\n                if os.path.exists(tempfile):\n                    os.remove(tempfile)\n\n\n__cache = {}\n\n\ndef tex2png(eq, **kwargs):\n    if not eq in __cache:\n        __cache[eq] = Latex(eq, **kwargs).write(return_bytes=True)\n    return __cache[eq]\n\n\ndef tex2pil(tex, return_error_index=False, **kwargs):\n    pngs, error_index = Latex(tex, **kwargs).write(return_bytes=True)\n    images = [Image.open(io.BytesIO(d)) for d in pngs]\n    return (images, error_index) if return_error_index else images\n\n\ndef extract(text, expression=None):\n    \"\"\"extract text from text by regular expression\n\n    Args:\n        text (str): input text\n        expression (str, optional): regular expression. Defaults to None.\n\n    Returns:\n        str: extracted text\n    \"\"\"\n    try:\n        pattern = re.compile(expression)\n        results = re.findall(pattern, text)\n        return results, True if len(results) != 0 else False\n    except Exception:\n        traceback.print_exc()\n\n\nif __name__ == '__main__':\n    if len(sys.argv) > 1:\n        src = sys.argv[1]\n    else:\n        src = r'\\begin{equation}\\mathcal{ L}\\nonumber\\end{equation}'\n\n    print('Equation is: %s' % src)\n    print(Latex([src]).write())\n"
  },
  {
    "path": "pix2tex/dataset/postprocess.py",
    "content": "import argparse\nfrom tqdm.auto import tqdm\n\nif __name__ == '__main__':\n    parser = argparse.ArgumentParser()\n    parser.add_argument('-i', '--input', required=True, help='input file')\n    parser.add_argument('-o', '--output', default=None, help='output file')\n    args = parser.parse_args()\n\n    d = open(args.input, 'r').read().split('\\n')\n    reqs = ['\\\\', '_', '^', '(', ')', '{', '}']\n    deleted = 0\n    for i in tqdm(reversed(range(len(d))), total=len(d)):\n        if not any([r in d[i] for r in reqs]):\n            del d[i]\n            deleted += 1\n    print('removed %i lines' % deleted)\n    f = args.output\n    if f is None:\n        f = args.input\n    open(f, 'w').write('\\n'.join(d))\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/__init__.py",
    "content": ""
  },
  {
    "path": "pix2tex/dataset/preprocessing/generate_latex_vocab.py",
    "content": "import sys, logging, argparse, os\n\ndef process_args(args):\n    parser = argparse.ArgumentParser(description='Generate vocabulary file.')\n\n    parser.add_argument('--data-path', dest='data_path',\n                        type=str, required=True,\n                        help=('Input file containing <img_name> <line_idx> per line. This should be the file used for training.'\n                        ))\n    parser.add_argument('--label-path', dest='label_path',\n                        type=str, required=True,\n                        help=('Input file containing a tokenized formula per line.'\n                        ))\n    parser.add_argument('--output-file', dest='output_file',\n                        type=str, required=True,\n                        help=('Output file for putting vocabulary.'\n                        ))\n    parser.add_argument('--unk-threshold', dest='unk_threshold',\n                        type=int, default=1,\n                        help=('If the number of occurences of a token is less than (including) the threshold, then it will be excluded from the generated vocabulary.'\n                        ))\n    parser.add_argument('--log-path', dest=\"log_path\",\n                        type=str, default='log.txt',\n                        help=('Log file path, default=log.txt' \n                        ))\n    parameters = parser.parse_args(args)\n    return parameters\n\ndef main(args):\n    parameters = process_args(args)\n    logging.basicConfig(\n        level=logging.INFO,\n        format='%(asctime)-15s %(name)-5s %(levelname)-8s %(message)s',\n        filename=parameters.log_path)\n\n    console = logging.StreamHandler()\n    console.setLevel(logging.INFO)\n    formatter = logging.Formatter('%(asctime)-15s %(name)-5s %(levelname)-8s %(message)s')\n    console.setFormatter(formatter)\n    logging.getLogger('').addHandler(console)\n\n    logging.info('Script being executed: %s'%__file__)\n\n    label_path = parameters.label_path\n    assert os.path.exists(label_path), label_path\n    data_path = parameters.data_path\n    assert os.path.exists(data_path), data_path\n\n    formulas = open(label_path).readlines()\n    vocab = {}\n    max_len = 0\n    with open(data_path) as fin:\n        for line in fin:\n            _, line_idx = line.strip().split()\n            line_strip = formulas[int(line_idx)].strip()\n            tokens = line_strip.split()\n            tokens_out = []\n            for token in tokens:\n                tokens_out.append(token)\n                if token not in vocab:\n                    vocab[token] = 0\n                vocab[token] += 1\n\n    vocab_sort = sorted(list(vocab.keys()))\n    vocab_out = []\n    num_unknown = 0\n    for word in vocab_sort:\n        if vocab[word] > parameters.unk_threshold:\n            vocab_out.append(word)\n        else:\n            num_unknown += 1\n    #vocab = [\"'\"+word.replace('\\\\','\\\\\\\\').replace('\\'', '\\\\\\'')+\"'\" for word in vocab_out]\n    vocab = [word for word in vocab_out]\n\n    with open(parameters.output_file, 'w') as fout:\n        fout.write('\\n'.join(vocab))\n    logging.info('#UNK\\'s: %d'%num_unknown)\n\nif __name__ == '__main__':\n    main(sys.argv[1:])\n    logging.info('Jobs finished')\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/preprocess_formulas.py",
    "content": "# taken and modified from https://github.com/harvardnlp/im2markup\n# tokenize latex formulas\nimport sys\nimport os\nimport re\nimport argparse\nimport logging\nimport subprocess\nimport shutil\n\n\ndef process_args(args):\n    parser = argparse.ArgumentParser(description='Preprocess (tokenize or normalize) latex formulas')\n\n    parser.add_argument('--mode', '-m', dest='mode',\n                        choices=['tokenize', 'normalize'], default='normalize',\n                        help=('Tokenize (split to tokens seperated by space) or normalize (further translate to an equivalent standard form).'\n                              ))\n    parser.add_argument('--input-file', '-i', dest='input_file',\n                        type=str, required=True,\n                        help=('Input file containing latex formulas. One formula per line.'\n                              ))\n    parser.add_argument('--output-file', '-o', dest='output_file',\n                        type=str, required=True,\n                        help=('Output file.'\n                              ))\n    parser.add_argument('-n', '--num-threads', dest='num_threads',\n                        type=int, default=4,\n                        help=('Number of threads, default=4.'))\n    parser.add_argument('--log-path', dest=\"log_path\",\n                        type=str, default=None,\n                        help=('Log file path, default=log.txt'))\n    parameters = parser.parse_args(args)\n    return parameters\n\n\ndef main(args):\n    parameters = process_args(args)\n    logging.basicConfig(\n        level=logging.INFO,\n        format='%(asctime)-15s %(name)-5s %(levelname)-8s %(message)s',\n        filename=parameters.log_path)\n\n    console = logging.StreamHandler()\n    console.setLevel(logging.INFO)\n    formatter = logging.Formatter('%(asctime)-15s %(name)-5s %(levelname)-8s %(message)s')\n    console.setFormatter(formatter)\n    logging.getLogger('').addHandler(console)\n\n    logging.info('Script being executed: %s' % __file__)\n\n    input_file = parameters.input_file\n    output_file = parameters.output_file\n\n    assert os.path.exists(input_file), input_file\n    shutil.copy(input_file, output_file)\n    operators = '\\s?'.join('|'.join(['arccos', 'arcsin', 'arctan', 'arg', 'cos', 'cosh', 'cot', 'coth', 'csc', 'deg', 'det', 'dim', 'exp', 'gcd', 'hom', 'inf',\n                                     'injlim', 'ker', 'lg', 'lim', 'liminf', 'limsup', 'ln', 'log', 'max', 'min', 'Pr', 'projlim', 'sec', 'sin', 'sinh', 'sup', 'tan', 'tanh']))\n    ops = re.compile(r'\\\\operatorname {(%s)}' % operators)\n    temp_file = output_file + '.tmp'\n    with open(temp_file, 'w') as fout:\n        prepre = open(output_file, 'r').read().replace('\\r', ' ')  # delete \\r\n        # replace split, align with aligned\n        prepre = re.sub(r'\\\\begin{(split|align|alignedat|alignat|eqnarray)\\*?}(.+?)\\\\end{\\1\\*?}', r'\\\\begin{aligned}\\2\\\\end{aligned}', prepre, flags=re.S)\n        prepre = re.sub(r'\\\\begin{(smallmatrix)\\*?}(.+?)\\\\end{\\1\\*?}', r'\\\\begin{matrix}\\2\\\\end{matrix}', prepre, flags=re.S)\n        fout.write(prepre)\n\n    # print(os.path.abspath(__file__))\n    cmd = r\"cat %s | node %s %s > %s \" % (temp_file, os.path.join(os.path.dirname(__file__), 'preprocess_latex.js'), parameters.mode, output_file)\n    ret = subprocess.call(cmd, shell=True)\n    os.remove(temp_file)\n    if ret != 0:\n        logging.error('FAILED: %s' % cmd)\n    temp_file = output_file + '.tmp'\n    shutil.move(output_file, temp_file)\n    with open(temp_file, 'r') as fin:\n        with open(output_file, 'w') as fout:\n            for line in fin:\n                tokens = line.strip().split()\n                tokens_out = []\n                for token in tokens:\n                    tokens_out.append(token)\n                if len(tokens_out) > 5:\n                    post = ' '.join(tokens_out)\n                    # use \\sin instead of \\operatorname{sin}\n                    names = ['\\\\'+x.replace(' ', '') for x in re.findall(ops, post)]\n                    post = re.sub(ops, lambda match: str(names.pop(0)), post).replace(r'\\\\ \\end{array}', r'\\end{array}')\n                    fout.write(post+'\\n')\n    os.remove(temp_file)\n\n\nif __name__ == '__main__':\n    main(sys.argv[1:])\n    logging.info('Jobs finished')\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/preprocess_latex.js",
    "content": "const path = require('path');\nvar katex = require(path.join(__dirname,\"third_party/katex/katex.js\"))\noptions = require(path.join(__dirname,\"third_party/katex/src/Options.js\"))\nvar readline = require('readline');\nvar rl = readline.createInterface({\n    input: process.stdin,\n    output: process.stdout,\n    terminal: false\n});\n\n\nrl.on('line', function(line){\n    a = line\n    if (line[0] == \"%\") {\n        line = line.substr(1, line.length - 1);\n    }\n    line = line.split('%')[0];\n\n    line = line.split('\\\\~').join(' ');\n    \n    for (var i = 0; i < 300; i++) {\n        line = line.replace(/\\\\>/, \" \");\n        line = line.replace('$', ' ');\n        line = line.replace(/\\\\label{.*?}/, \"\");\n    }\n\n    if (line.indexOf(\"matrix\") == -1 && line.indexOf(\"cases\")==-1 &&\n        line.indexOf(\"array\")==-1 && line.indexOf(\"begin\")==-1)  {\n        for (var i = 0; i < 300; i++) {\n            line = line.replace(/\\\\\\\\/, \"\\\\,\");\n        }\n    }\n    \n\n    line = line + \" \"\n    // global_str is tokenized version (build in parser.js)\n    // norm_str is normalized version build by renderer below.\n    try {\n    \n\n        if (process.argv[2] == \"tokenize\") {\n            var tree = katex.__parse(line, {});\n            console.log(global_str.replace(/\\\\label { .*? }/, \"\"));\n        } else {\n            for (var i = 0; i < 300; ++i) {\n                line = line.replace(/{\\\\rm/, \"\\\\mathrm{\");\n                line = line.replace(/{ \\\\rm/, \"\\\\mathrm{\");\n                line = line.replace(/\\\\rm{/, \"\\\\mathrm{\");\n            }\n\n            var tree = katex.__parse(line, {});\n            buildExpression(tree, new options({}));            \n            for (var i = 0; i < 300; ++i) {\n                norm_str = norm_str.replace('SSSSSS', '$');\n                norm_str = norm_str.replace(' S S S S S S', '$');\n            }\n            console.log(norm_str.replace(/\\\\label { .*? }/, \"\"));\n        }\n    } catch (e) {\n        console.error(line);\n        console.error(norm_str);\n        console.error(e);\n        console.log();\n    }\n    global_str = \"\"\n    norm_str = \"\"\n})\n\n\n\n// This is a LaTeX AST to LaTeX Renderer (modified version of KaTeX AST-> MathML).\nnorm_str = \"\"\n\nvar groupTypes = {};\n\ngroupTypes.mathord = function(group, options) {\n    if (options.font == \"mathrm\"){\n        for (i = 0; i < group.value.length; ++i ) {\n            if (group.value[i] == \" \") {\n                norm_str = norm_str + group.value[i] + \"\\; \";\n            } else {\n                norm_str = norm_str + group.value[i] + \" \";\n            }\n        }\n    } else {\n        norm_str = norm_str + group.value + \" \";\n    }\n};\n\ngroupTypes.textord = function(group, options) {\n    norm_str = norm_str + group.value + \" \";\n};\n\ngroupTypes.bin = function(group) {\n    norm_str = norm_str + group.value + \" \";\n};\n\ngroupTypes.rel = function(group) {\n    norm_str = norm_str + group.value + \" \";\n};\n\ngroupTypes.open = function(group) {\n    norm_str = norm_str + group.value + \" \";\n};\n\ngroupTypes.close = function(group) {\n    norm_str = norm_str + group.value + \" \";\n};\n\ngroupTypes.inner = function(group) {\n    norm_str = norm_str + group.value + \" \";\n};\n\ngroupTypes.punct = function(group) {\n    norm_str = norm_str + group.value + \" \";\n};\n\ngroupTypes.ordgroup = function(group, options) {\n    norm_str = norm_str + \"{ \";\n\n    buildExpression(group.value, options);\n\n    norm_str = norm_str +  \"} \";\n};\n\ngroupTypes.text = function(group, options) {\n    \n    norm_str = norm_str + \"\\\\mathrm { \";\n\n    buildExpression(group.value.body, options);\n    norm_str = norm_str + \"} \";\n};\n\ngroupTypes.color = function(group, options) {\n    var inner = buildExpression(group.value.value, options);\n\n    var node = new mathMLTree.MathNode(\"mstyle\", inner);\n\n    node.setAttribute(\"mathcolor\", group.value.color);\n\n    return node;\n};\n\ngroupTypes.supsub = function(group, options) {\n    buildGroup(group.value.base, options);\n\n    if (group.value.sub) {\n        norm_str = norm_str + \"_ \";\n        if (group.value.sub.type != 'ordgroup') {\n            norm_str = norm_str + \" { \";\n            buildGroup(group.value.sub, options);\n            norm_str = norm_str + \"} \";\n        } else {\n            buildGroup(group.value.sub, options);\n        }\n        \n    }\n\n    if (group.value.sup) {\n        norm_str = norm_str + \"^ \";\n        if (group.value.sup.type != 'ordgroup') {\n            norm_str = norm_str + \" { \";\n            buildGroup(group.value.sup, options);\n            norm_str = norm_str + \"} \";\n        } else {\n            buildGroup(group.value.sup, options);\n        }\n    }\n\n};\n\ngroupTypes.genfrac = function(group, options) {\n    if (!group.value.hasBarLine) {\n        norm_str = norm_str + \"\\\\binom \";\n    } else {\n        norm_str = norm_str + \"\\\\frac \";\n    }\n    buildGroup(group.value.numer, options);\n    buildGroup(group.value.denom, options);\n\n};\n\ngroupTypes.array = function(group, options) {\n    norm_str = norm_str + \"\\\\begin{array} { \";\n    if (group.value.cols) {\n        group.value.cols.map(function(start) {\n            if (start && start.align) {\n                norm_str = norm_str + start.align + \" \";}});\n    } else {\n        group.value.body[0].map(function(start) {\n            norm_str = norm_str + \"l \";\n        } );\n    }\n    norm_str = norm_str + \"} \";\n    group.value.body.map(function(row) {\n        if (row[0].value.length > 0) {\n            out = row.map(function(cell) {\n                buildGroup(cell, options);\n                norm_str = norm_str + \"& \";\n            });\n            norm_str = norm_str.substring(0, norm_str.length-2) + \"\\\\\\\\ \";\n        }\n    }); \n    norm_str = norm_str + \"\\\\end{array} \";\n};\n\ngroupTypes.sqrt = function(group, options) {\n    var node;\n    if (group.value.index) {\n        norm_str = norm_str + \"\\\\sqrt [ \";\n        buildExpression(group.value.index.value, options);\n        norm_str = norm_str + \"] \";\n        buildGroup(group.value.body, options);\n    } else {\n        norm_str = norm_str + \"\\\\sqrt \";\n        buildGroup(group.value.body, options);\n    }\n};\n\ngroupTypes.leftright = function(group, options) {\n\n\n\n    norm_str = norm_str + \"\\\\left\" + group.value.left + \" \";\n    buildExpression(group.value.body, options);\n    norm_str = norm_str + \"\\\\right\" + group.value.right + \" \";\n};\n\ngroupTypes.accent = function(group, options) {\n    if (group.value.base.type != 'ordgroup') {\n        norm_str = norm_str + group.value.accent + \" { \";\n        buildGroup(group.value.base, options);\n        norm_str = norm_str + \"} \";\n    } else {\n        norm_str = norm_str + group.value.accent + \" \";\n        buildGroup(group.value.base, options);\n    }\n};\n\ngroupTypes.spacing = function(group) {\n    var node;\n    if (group.value == \" \") {\n        norm_str = norm_str + \"~ \";\n    } else {\n        norm_str = norm_str + group.value + \" \";\n    }\n    return node;\n};\n\ngroupTypes.op = function(group) {\n    var node;\n\n    // TODO(emily): handle big operators using the `largeop` attribute\n    \n    \n    if (group.value.symbol) {\n        // This is a symbol. Just add the symbol.\n        norm_str = norm_str + group.value.body + \" \";\n\n    } else {\n        if (group.value.limits == false) {\n            norm_str = norm_str + \"\\\\\\operatorname { \";\n        } else {\n            norm_str = norm_str + \"\\\\\\operatorname* { \";\n        }\n        for (i = 1; i < group.value.body.length; ++i ) {\n            norm_str = norm_str + group.value.body[i] + \" \";\n        }\n        norm_str = norm_str + \"} \";\n    }\n};\n\ngroupTypes.katex = function(group) {\n    var node = new mathMLTree.MathNode(\n        \"mtext\", [new mathMLTree.TextNode(\"KaTeX\")]);\n\n    return node;\n};\n\n\n\ngroupTypes.font = function(group, options) {\n    var font = group.value.font;\n    if (font == \"mbox\" || font == \"hbox\") {\n        font = \"mathrm\";\n    }\n    norm_str = norm_str + \"\\\\\" + font + \" \";\n    buildGroup(group.value.body, options.withFont(font));    \n};\n\ngroupTypes.delimsizing = function(group) {\n    var children = [];\n    norm_str = norm_str + group.value.funcName + \" \" + group.value.value + \" \";\n};\n\ngroupTypes.styling = function(group, options) {\n    norm_str = norm_str + \" \" + group.value.original + \" \";\n    buildExpression(group.value.value, options);\n\n};\n\ngroupTypes.sizing = function(group, options) {\n\n    if (group.value.original == \"\\\\rm\") {\n        norm_str = norm_str + \"\\\\mathrm { \"; \n        buildExpression(group.value.value, options.withFont(\"mathrm\"));\n        norm_str = norm_str + \"} \";\n    } else {\n        norm_str = norm_str + \" \" + group.value.original + \" \";\n        buildExpression(group.value.value, options);\n    }\n};\n\ngroupTypes.overline = function(group, options) {\n    norm_str = norm_str + \"\\\\overline { \";\n    \n    buildGroup(group.value.body, options);\n    norm_str = norm_str + \"} \";\n    norm_str = norm_str;\n\n};\n\ngroupTypes.underline = function(group, options) {\n    norm_str = norm_str + \"\\\\underline { \";\n    buildGroup(group.value.body, options);\n    norm_str = norm_str + \"} \";\n\n    norm_str = norm_str;\n\n};\n\ngroupTypes.rule = function(group) {\n    norm_str = norm_str + \"\\\\rule { \"+group.value.width.number+\" \"+group.value.width.unit+\"  } { \"+group.value.height.number+\" \"+group.value.height.unit+ \" } \";\n\n};\n\ngroupTypes.llap = function(group, options) {\n    norm_str = norm_str + \"\\\\llap \";\n    buildGroup(group.value.body, options);\n};\n\ngroupTypes.rlap = function(group, options) {\n    norm_str = norm_str + \"\\\\rlap \";\n    buildGroup(group.value.body, options);\n\n};\n\ngroupTypes.phantom = function(group, options, prev) {\n    norm_str = norm_str + \"\\\\phantom { \";\n    buildExpression(group.value.value, options);\n    norm_str = norm_str + \"} \";\n\n};\n\n/**\n * Takes a list of nodes, builds them, and returns a list of the generated\n * MathML nodes. A little simpler than the HTML version because we don't do any\n * previous-node handling.\n */\nvar buildExpression = function(expression, options) {\n    var groups = [];\n    for (var i = 0; i < expression.length; i++) {\n        var group = expression[i];\n        buildGroup(group, options);\n    }\n    // console.log(norm_str);\n    // return groups;\n};\n\n/**\n * Takes a group from the parser and calls the appropriate groupTypes function\n * on it to produce a MathML node.\n */\nvar buildGroup = function(group, options) {\n    if (groupTypes[group.type]) {\n        groupTypes[group.type](group, options);\n    } else {\n        throw new ParseError(\n            \"Got group of unknown type: '\" + group.type + \"'\");\n    }\n};\n\n\n\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/third_party/README.md",
    "content": "Directly taken from https://github.com/harvardnlp/im2markup\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/third_party/katex/.#katex.js",
    "content": "srush@beaker.12118:1471814512"
  },
  {
    "path": "pix2tex/dataset/preprocessing/third_party/katex/LICENSE.txt",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2015 Khan Academy\n\nThis software also uses portions of the underscore.js project, which is\nMIT licensed with the following copyright:\n\nCopyright (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative\nReporters & Editors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/third_party/katex/README.md",
    "content": "# [<img src=\"https://khan.github.io/KaTeX/katex-logo.svg\" width=\"130\" alt=\"KaTeX\">](https://khan.github.io/KaTeX/) [![Build Status](https://travis-ci.org/Khan/KaTeX.svg?branch=master)](https://travis-ci.org/Khan/KaTeX)\n\n[![Join the chat at https://gitter.im/Khan/KaTeX](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/Khan/KaTeX?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)\n\nKaTeX is a fast, easy-to-use JavaScript library for TeX math rendering on the web.\n\n * **Fast:** KaTeX renders its math synchronously and doesn't need to reflow the page. See how it compares to a competitor in [this speed test](http://jsperf.com/katex-vs-mathjax/).\n * **Print quality:** KaTeX’s layout is based on Donald Knuth’s TeX, the gold standard for math typesetting.\n * **Self contained:** KaTeX has no dependencies and can easily be bundled with your website resources.\n * **Server side rendering:** KaTeX produces the same output regardless of browser or environment, so you can pre-render expressions using Node.js and send them as plain HTML.\n\nKaTeX supports all major browsers, including Chrome, Safari, Firefox, Opera, and IE 8 - IE 11.  A list of supported  commands can be on the [wiki](https://github.com/Khan/KaTeX/wiki/Function-Support-in-KaTeX).\n\n## Usage\n\nYou can [download KaTeX](https://github.com/khan/katex/releases) and host it on your server or include the `katex.min.js` and `katex.min.css` files on your page directly from a CDN:\n\n```html\n<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css\">\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.js\"></script>\n```\n\n#### In-browser rendering\n\nCall `katex.render` with a TeX expression and a DOM element to render into:\n\n```js\nkatex.render(\"c = \\\\pm\\\\sqrt{a^2 + b^2}\", element);\n```\n\nIf KaTeX can't parse the expression, it throws a `katex.ParseError` error.\n\n#### Server side rendering or rendering to a string\n\nTo generate HTML on the server or to generate an HTML string of the rendered math, you can use `katex.renderToString`:\n\n```js\nvar html = katex.renderToString(\"c = \\\\pm\\\\sqrt{a^2 + b^2}\");\n// '<span class=\"katex\">...</span>'\n```\n\nMake sure to include the CSS and font files, but there is no need to include the JavaScript. Like `render`, `renderToString` throws if it can't parse the expression.\n\n#### Rendering options\n\nYou can provide an object of options as the last argument to `katex.render` and `katex.renderToString`. Available options are:\n\n- `displayMode`: `boolean`. If `true` the math will be rendered in display mode, which will put the math in display style (so `\\int` and `\\sum` are large, for example), and will center the math on the page on its own line. If `false` the math will be rendered in inline mode. (default: `false`)\n- `throwOnError`: `boolean`. If `true`, KaTeX will throw a `ParseError` when it encounters an unsupported command. If `false`, KaTeX will render the unsupported command as text in the color given by `errorColor`. (default: `true`)\n- `errorColor`: `string`. A color string given in the format `\"#XXX\"` or `\"#XXXXXX\"`. This option determines the color which unsupported commands are rendered in. (default: `#cc0000`)\n\nFor example:\n\n```js\nkatex.render(\"c = \\\\pm\\\\sqrt{a^2 + b^2}\", element, { displayMode: true });\n```\n\n#### Automatic rendering of math on a page\n\nMath on the page can be automatically rendered using the auto-render extension. See [the Auto-render README](contrib/auto-render/README.md) for more information.\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md)\n\n## License\n\nKaTeX is licensed under the [MIT License](http://opensource.org/licenses/MIT).\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/third_party/katex/cli.js",
    "content": "#!/usr/bin/env node\n// Simple CLI for KaTeX.\n// Reads TeX from stdin, outputs HTML to stdout.\n/* eslint no-console:0 */\n\nvar katex = require(\"./\");\nvar input = \"\";\n\n// Skip the first two args, which are just \"node\" and \"cli.js\"\nvar args = process.argv.slice(2);\n\nif (args.indexOf(\"--help\") !== -1) {\n    console.log(process.argv[0] + \" \" + process.argv[1] +\n                \" [ --help ]\" +\n                \" [ --display-mode ]\");\n\n    console.log(\"\\n\" +\n                \"Options:\");\n    console.log(\"  --help            Display this help message\");\n    console.log(\"  --display-mode    Render in display mode (not inline mode)\");\n    process.exit();\n}\n\nprocess.stdin.on(\"data\", function(chunk) {\n    input += chunk.toString();\n});\n\nprocess.stdin.on(\"end\", function() {\n    var options = { displayMode: args.indexOf(\"--display-mode\") !== -1 };\n    var output = katex.renderToString(input, options);\n    console.log(output);\n});\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/third_party/katex/katex.js",
    "content": "/* eslint no-console:0 */\n/**\n * This is the main entry point for KaTeX. Here, we expose functions for\n * rendering expressions either to DOM nodes or to markup strings.\n *\n * We also expose the ParseError class to check if errors thrown from KaTeX are\n * errors in the expression, or errors in javascript handling.\n */\n\nvar ParseError = require(\"./src/ParseError\");\nvar Settings = require(\"./src/Settings\");\n\nvar buildTree = require(\"./src/buildTree\");\nvar parseTree = require(\"./src/parseTree\");\nvar utils = require(\"./src/utils\");\n\n/**\n * Parse and build an expression, and place that expression in the DOM node\n * given.\n */\nvar render = function(expression, baseNode, options) {\n    utils.clearNode(baseNode);\n\n    var settings = new Settings(options);\n\n    var tree = parseTree(expression, settings);\n    var node = buildTree(tree, expression, settings).toNode();\n\n    baseNode.appendChild(node);\n};\n\n// KaTeX's styles don't work properly in quirks mode. Print out an error, and\n// disable rendering.\nif (typeof document !== \"undefined\") {\n    if (document.compatMode !== \"CSS1Compat\") {\n        typeof console !== \"undefined\" && console.warn(\n            \"Warning: KaTeX doesn't work in quirks mode. Make sure your \" +\n                \"website has a suitable doctype.\");\n\n        render = function() {\n            throw new ParseError(\"KaTeX doesn't work in quirks mode.\");\n        };\n    }\n}\n\n/**\n * Parse and build an expression, and return the markup for that.\n */\nvar renderToString = function(expression, options) {\n    var settings = new Settings(options);\n\n    var tree = parseTree(expression, settings);\n    return buildTree(tree, expression, settings).toMarkup();\n};\n\n/**\n * Parse an expression and return the parse tree.\n */\nvar generateParseTree = function(expression, options) {\n    var settings = new Settings(options);\n    return parseTree(expression, settings);\n};\n\nmodule.exports = {\n    render: render,\n    renderToString: renderToString,\n    /**\n     * NOTE: This method is not currently recommended for public use.\n     * The internal tree representation is unstable and is very likely\n     * to change. Use at your own risk.\n     */\n    __parse: generateParseTree,\n    ParseError: ParseError,\n};\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/third_party/katex/package.json",
    "content": "{\n  \"_args\": [\n    [\n      \"katex\",\n      \"/home/srush/Projects/im2latex\"\n    ]\n  ],\n  \"_from\": \"katex@latest\",\n  \"_id\": \"katex@0.6.0\",\n  \"_inCache\": true,\n  \"_installable\": true,\n  \"_location\": \"/katex\",\n  \"_nodeVersion\": \"4.2.1\",\n  \"_npmOperationalInternal\": {\n    \"host\": \"packages-12-west.internal.npmjs.com\",\n    \"tmp\": \"tmp/katex-0.6.0.tgz_1460769444991_0.38667152682319283\"\n  },\n  \"_npmUser\": {\n    \"email\": \"kevinb7@gmail.com\",\n    \"name\": \"kevinbarabash\"\n  },\n  \"_npmVersion\": \"2.15.2\",\n  \"_phantomChildren\": {},\n  \"_requested\": {\n    \"name\": \"katex\",\n    \"raw\": \"katex\",\n    \"rawSpec\": \"\",\n    \"scope\": null,\n    \"spec\": \"latest\",\n    \"type\": \"tag\"\n  },\n  \"_requiredBy\": [\n    \"#USER\"\n  ],\n  \"_resolved\": \"https://registry.npmjs.org/katex/-/katex-0.6.0.tgz\",\n  \"_shasum\": \"12418e09121c05c92041b6b3b9fb6bab213cb6f3\",\n  \"_shrinkwrap\": null,\n  \"_spec\": \"katex\",\n  \"_where\": \"/home/srush/Projects/im2latex\",\n  \"bin\": {\n    \"katex\": \"cli.js\"\n  },\n  \"bugs\": {\n    \"url\": \"https://github.com/Khan/KaTeX/issues\"\n  },\n  \"dependencies\": {\n    \"match-at\": \"^0.1.0\"\n  },\n  \"description\": \"Fast math typesetting for the web.\",\n  \"devDependencies\": {\n    \"browserify\": \"^10.2.4\",\n    \"clean-css\": \"~2.2.15\",\n    \"eslint\": \"^1.10.2\",\n    \"express\": \"~3.3.3\",\n    \"glob\": \"^5.0.15\",\n    \"jasmine\": \"^2.3.2\",\n    \"jasmine-core\": \"^2.3.4\",\n    \"js-yaml\": \"^3.3.1\",\n    \"jspngopt\": \"^0.1.0\",\n    \"less\": \"~1.7.5\",\n    \"nomnom\": \"^1.8.1\",\n    \"pako\": \"0.2.7\",\n    \"selenium-webdriver\": \"^2.46.1\",\n    \"uglify-js\": \"~2.4.15\"\n  },\n  \"directories\": {},\n  \"dist\": {\n    \"shasum\": \"12418e09121c05c92041b6b3b9fb6bab213cb6f3\",\n    \"tarball\": \"https://registry.npmjs.org/katex/-/katex-0.6.0.tgz\"\n  },\n  \"files\": [\n    \"cli.js\",\n    \"dist/\",\n    \"katex.js\",\n    \"src/\"\n  ],\n  \"gitHead\": \"b94fc6534d5c23f944906a52a592bee4e0090665\",\n  \"homepage\": \"https://github.com/Khan/KaTeX#readme\",\n  \"license\": \"MIT\",\n  \"main\": \"katex.js\",\n  \"maintainers\": [\n    {\n      \"name\": \"kevinbarabash\",\n      \"email\": \"kevinb7@gmail.com\"\n    },\n    {\n      \"name\": \"spicyj\",\n      \"email\": \"ben@benalpert.com\"\n    },\n    {\n      \"name\": \"xymostech\",\n      \"email\": \"xymostech@gmail.com\"\n    }\n  ],\n  \"name\": \"katex\",\n  \"optionalDependencies\": {},\n  \"readme\": \"ERROR: No README data found!\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git://github.com/Khan/KaTeX.git\"\n  },\n  \"scripts\": {\n    \"prepublish\": \"make dist\",\n    \"start\": \"node server.js\",\n    \"test\": \"make lint test\"\n  },\n  \"version\": \"0.6.0\"\n}\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/third_party/katex/src/Lexer.js",
    "content": "/**\n * The Lexer class handles tokenizing the input in various ways. Since our\n * parser expects us to be able to backtrack, the lexer allows lexing from any\n * given starting point.\n *\n * Its main exposed function is the `lex` function, which takes a position to\n * lex from and a type of token to lex. It defers to the appropriate `_innerLex`\n * function.\n *\n * The various `_innerLex` functions perform the actual lexing of different\n * kinds.\n */\n\nvar matchAt = require(\"../../match-at\");\n\nvar ParseError = require(\"./ParseError\");\n\n// The main lexer class\nfunction Lexer(input) {\n    this._input = input;\n}\n\n// The resulting token returned from `lex`.\nfunction Token(text, data, position) {\n    this.text = text;\n    this.data = data;\n    this.position = position;\n}\n\n/* The following tokenRegex\n * - matches typical whitespace (but not NBSP etc.) using its first group\n * - matches symbol combinations which result in a single output character\n * - does not match any control character \\x00-\\x1f except whitespace\n * - does not match a bare backslash\n * - matches any ASCII character except those just mentioned\n * - does not match the BMP private use area \\uE000-\\uF8FF\n * - does not match bare surrogate code units\n * - matches any BMP character except for those just described\n * - matches any valid Unicode surrogate pair\n * - matches a backslash followed by one or more letters\n * - matches a backslash followed by any BMP character, including newline\n * Just because the Lexer matches something doesn't mean it's valid input:\n * If there is no matching function or symbol definition, the Parser will\n * still reject the input.\n */\nvar tokenRegex = new RegExp(\n    \"([ \\r\\n\\t]+)|(\" +                                // whitespace\n    \"---?\" +                                          // special combinations\n    \"|[!-\\\\[\\\\]-\\u2027\\u202A-\\uD7FF\\uF900-\\uFFFF]\" +  // single codepoint\n    \"|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]\" +               // surrogate pair\n    \"|\\\\\\\\(?:[a-zA-Z]+|[^\\uD800-\\uDFFF])\" +           // function name\n    \")\"\n);\n\nvar whitespaceRegex = /\\s*/;\n\n/**\n * This function lexes a single normal token. It takes a position and\n * whether it should completely ignore whitespace or not.\n */\nLexer.prototype._innerLex = function(pos, ignoreWhitespace) {\n    var input = this._input;\n    if (pos === input.length) {\n        return new Token(\"EOF\", null, pos);\n    }\n    var match = matchAt(tokenRegex, input, pos);\n    if (match === null) {\n        throw new ParseError(\n            \"Unexpected character: '\" + input[pos] + \"'\",\n            this, pos);\n    } else if (match[2]) { // matched non-whitespace\n        return new Token(match[2], null, pos + match[2].length);\n    } else if (ignoreWhitespace) {\n        return this._innerLex(pos + match[1].length, true);\n    } else { // concatenate whitespace to a single space\n        return new Token(\" \", null, pos + match[1].length);\n    }\n};\n\n// A regex to match a CSS color (like #ffffff or BlueViolet)\nvar cssColor = /#[a-z0-9]+|[a-z]+/i;\n\n/**\n * This function lexes a CSS color.\n */\nLexer.prototype._innerLexColor = function(pos) {\n    var input = this._input;\n\n    // Ignore whitespace\n    var whitespace = matchAt(whitespaceRegex, input, pos)[0];\n    pos += whitespace.length;\n\n    var match;\n    if ((match = matchAt(cssColor, input, pos))) {\n        // If we look like a color, return a color\n        return new Token(match[0], null, pos + match[0].length);\n    } else {\n        throw new ParseError(\"Invalid color\", this, pos);\n    }\n};\n\n// A regex to match a dimension. Dimensions look like\n// \"1.2em\" or \".4pt\" or \"1 ex\"\nvar sizeRegex = /(-?)\\s*(\\d+(?:\\.\\d*)?|\\.\\d+)\\s*([a-z]{2})/;\n\n/**\n * This function lexes a dimension.\n */\nLexer.prototype._innerLexSize = function(pos) {\n    var input = this._input;\n\n    // Ignore whitespace\n    var whitespace = matchAt(whitespaceRegex, input, pos)[0];\n    pos += whitespace.length;\n\n    var match;\n    if ((match = matchAt(sizeRegex, input, pos))) {\n        var unit = match[3];\n        // We only currently handle \"em\" and \"ex\" units\n        // if (unit !== \"em\" && unit !== \"ex\") {\n        //     throw new ParseError(\"Invalid unit: '\" + unit + \"'\", this, pos);\n        // }\n        return new Token(match[0], {\n            number: +(match[1] + match[2]),\n            unit: unit,\n        }, pos + match[0].length);\n    }\n\n    throw new ParseError(\"Invalid size\", this, pos);\n};\n\n/**\n * This function lexes a string of whitespace.\n */\nLexer.prototype._innerLexWhitespace = function(pos) {\n    var input = this._input;\n\n    var whitespace = matchAt(whitespaceRegex, input, pos)[0];\n    pos += whitespace.length;\n\n    return new Token(whitespace[0], null, pos);\n};\n\n/**\n * This function lexes a single token starting at `pos` and of the given mode.\n * Based on the mode, we defer to one of the `_innerLex` functions.\n */\nLexer.prototype.lex = function(pos, mode) {\n    if (mode === \"math\") {\n        return this._innerLex(pos, true);\n    } else if (mode === \"text\") {\n        return this._innerLex(pos, false);\n    } else if (mode === \"color\") {\n        return this._innerLexColor(pos);\n    } else if (mode === \"size\") {\n        return this._innerLexSize(pos);\n    } else if (mode === \"whitespace\") {\n        return this._innerLexWhitespace(pos);\n    }\n};\n\nmodule.exports = Lexer;\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/third_party/katex/src/Options.js",
    "content": "/**\n * This file contains information about the options that the Parser carries\n * around with it while parsing. Data is held in an `Options` object, and when\n * recursing, a new `Options` object can be created with the `.with*` and\n * `.reset` functions.\n */\n\n/**\n * This is the main options class. It contains the style, size, color, and font\n * of the current parse level. It also contains the style and size of the parent\n * parse level, so size changes can be handled efficiently.\n *\n * Each of the `.with*` and `.reset` functions passes its current style and size\n * as the parentStyle and parentSize of the new options class, so parent\n * handling is taken care of automatically.\n */\nfunction Options(data) {\n    this.style = data.style;\n    this.color = data.color;\n    this.size = data.size;\n    this.phantom = data.phantom;\n    this.font = data.font;\n\n    if (data.parentStyle === undefined) {\n        this.parentStyle = data.style;\n    } else {\n        this.parentStyle = data.parentStyle;\n    }\n\n    if (data.parentSize === undefined) {\n        this.parentSize = data.size;\n    } else {\n        this.parentSize = data.parentSize;\n    }\n}\n\n/**\n * Returns a new options object with the same properties as \"this\".  Properties\n * from \"extension\" will be copied to the new options object.\n */\nOptions.prototype.extend = function(extension) {\n    var data = {\n        style: this.style,\n        size: this.size,\n        color: this.color,\n        parentStyle: this.style,\n        parentSize: this.size,\n        phantom: this.phantom,\n        font: this.font,\n    };\n\n    for (var key in extension) {\n        if (extension.hasOwnProperty(key)) {\n            data[key] = extension[key];\n        }\n    }\n\n    return new Options(data);\n};\n\n/**\n * Create a new options object with the given style.\n */\nOptions.prototype.withStyle = function(style) {\n    return this.extend({\n        style: style,\n    });\n};\n\n/**\n * Create a new options object with the given size.\n */\nOptions.prototype.withSize = function(size) {\n    return this.extend({\n        size: size,\n    });\n};\n\n/**\n * Create a new options object with the given color.\n */\nOptions.prototype.withColor = function(color) {\n    return this.extend({\n        color: color,\n    });\n};\n\n/**\n * Create a new options object with \"phantom\" set to true.\n */\nOptions.prototype.withPhantom = function() {\n    return this.extend({\n        phantom: true,\n    });\n};\n\n/**\n * Create a new options objects with the give font.\n */\nOptions.prototype.withFont = function(font) {\n    return this.extend({\n        font: font,\n    });\n};\n\n/**\n * Create a new options object with the same style, size, and color. This is\n * used so that parent style and size changes are handled correctly.\n */\nOptions.prototype.reset = function() {\n    return this.extend({});\n};\n\n/**\n * A map of color names to CSS colors.\n * TODO(emily): Remove this when we have real macros\n */\nvar colorMap = {\n    \"katex-blue\": \"#6495ed\",\n    \"katex-orange\": \"#ffa500\",\n    \"katex-pink\": \"#ff00af\",\n    \"katex-red\": \"#df0030\",\n    \"katex-green\": \"#28ae7b\",\n    \"katex-gray\": \"gray\",\n    \"katex-purple\": \"#9d38bd\",\n    \"katex-blueA\": \"#c7e9f1\",\n    \"katex-blueB\": \"#9cdceb\",\n    \"katex-blueC\": \"#58c4dd\",\n    \"katex-blueD\": \"#29abca\",\n    \"katex-blueE\": \"#1c758a\",\n    \"katex-tealA\": \"#acead7\",\n    \"katex-tealB\": \"#76ddc0\",\n    \"katex-tealC\": \"#5cd0b3\",\n    \"katex-tealD\": \"#55c1a7\",\n    \"katex-tealE\": \"#49a88f\",\n    \"katex-greenA\": \"#c9e2ae\",\n    \"katex-greenB\": \"#a6cf8c\",\n    \"katex-greenC\": \"#83c167\",\n    \"katex-greenD\": \"#77b05d\",\n    \"katex-greenE\": \"#699c52\",\n    \"katex-goldA\": \"#f7c797\",\n    \"katex-goldB\": \"#f9b775\",\n    \"katex-goldC\": \"#f0ac5f\",\n    \"katex-goldD\": \"#e1a158\",\n    \"katex-goldE\": \"#c78d46\",\n    \"katex-redA\": \"#f7a1a3\",\n    \"katex-redB\": \"#ff8080\",\n    \"katex-redC\": \"#fc6255\",\n    \"katex-redD\": \"#e65a4c\",\n    \"katex-redE\": \"#cf5044\",\n    \"katex-maroonA\": \"#ecabc1\",\n    \"katex-maroonB\": \"#ec92ab\",\n    \"katex-maroonC\": \"#c55f73\",\n    \"katex-maroonD\": \"#a24d61\",\n    \"katex-maroonE\": \"#94424f\",\n    \"katex-purpleA\": \"#caa3e8\",\n    \"katex-purpleB\": \"#b189c6\",\n    \"katex-purpleC\": \"#9a72ac\",\n    \"katex-purpleD\": \"#715582\",\n    \"katex-purpleE\": \"#644172\",\n    \"katex-mintA\": \"#f5f9e8\",\n    \"katex-mintB\": \"#edf2df\",\n    \"katex-mintC\": \"#e0e5cc\",\n    \"katex-grayA\": \"#fdfdfd\",\n    \"katex-grayB\": \"#f7f7f7\",\n    \"katex-grayC\": \"#eeeeee\",\n    \"katex-grayD\": \"#dddddd\",\n    \"katex-grayE\": \"#cccccc\",\n    \"katex-grayF\": \"#aaaaaa\",\n    \"katex-grayG\": \"#999999\",\n    \"katex-grayH\": \"#555555\",\n    \"katex-grayI\": \"#333333\",\n    \"katex-kaBlue\": \"#314453\",\n    \"katex-kaGreen\": \"#639b24\",\n};\n\n/**\n * Gets the CSS color of the current options object, accounting for the\n * `colorMap`.\n */\nOptions.prototype.getColor = function() {\n    if (this.phantom) {\n        return \"transparent\";\n    } else {\n        return colorMap[this.color] || this.color;\n    }\n};\n\nmodule.exports = Options;\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/third_party/katex/src/ParseError.js",
    "content": "/**\n * This is the ParseError class, which is the main error thrown by KaTeX\n * functions when something has gone wrong. This is used to distinguish internal\n * errors from errors in the expression that the user provided.\n */\nfunction ParseError(message, lexer, position) {\n    var error = \"KaTeX parse error: \" + message;\n\n    if (lexer !== undefined && position !== undefined) {\n        // If we have the input and a position, make the error a bit fancier\n\n        // Prepend some information\n        error += \" at position \" + position + \": \";\n\n        // Get the input\n        var input = lexer._input;\n        // Insert a combining underscore at the correct position\n        input = input.slice(0, position) + \"\\u0332\" +\n            input.slice(position);\n\n        // Extract some context from the input and add it to the error\n        var begin = Math.max(0, position - 15);\n        var end = position + 15;\n        error += input.slice(begin, end);\n    }\n\n    // Some hackery to make ParseError a prototype of Error\n    // See http://stackoverflow.com/a/8460753\n    var self = new Error(error);\n    self.name = \"ParseError\";\n    self.__proto__ = ParseError.prototype;\n\n    self.position = position;\n    return self;\n}\n\n// More hackery\nParseError.prototype.__proto__ = Error.prototype;\n\nmodule.exports = ParseError;\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/third_party/katex/src/Parser.js",
    "content": "/* eslint no-constant-condition:0 */\nvar functions = require(\"./functions\");\nvar environments = require(\"./environments\");\nvar Lexer = require(\"./Lexer\");\nvar symbols = require(\"./symbols\");\nvar utils = require(\"./utils\");\n\nvar parseData = require(\"./parseData\");\nvar ParseError = require(\"./ParseError\");\n\nglobal_str = \"\"\n\n/**\n * This file contains the parser used to parse out a TeX expression from the\n * input. Since TeX isn't context-free, standard parsers don't work particularly\n * well.\n *\n * The strategy of this parser is as such:\n *\n * The main functions (the `.parse...` ones) take a position in the current\n * parse string to parse tokens from. The lexer (found in Lexer.js, stored at\n * this.lexer) also supports pulling out tokens at arbitrary places. When\n * individual tokens are needed at a position, the lexer is called to pull out a\n * token, which is then used.\n *\n * The parser has a property called \"mode\" indicating the mode that\n * the parser is currently in. Currently it has to be one of \"math\" or\n * \"text\", which denotes whether the current environment is a math-y\n * one or a text-y one (e.g. inside \\text). Currently, this serves to\n * limit the functions which can be used in text mode.\n *\n * The main functions then return an object which contains the useful data that\n * was parsed at its given point, and a new position at the end of the parsed\n * data. The main functions can call each other and continue the parsing by\n * using the returned position as a new starting point.\n *\n * There are also extra `.handle...` functions, which pull out some reused\n * functionality into self-contained functions.\n *\n * The earlier functions return ParseNodes.\n * The later functions (which are called deeper in the parse) sometimes return\n * ParseFuncOrArgument, which contain a ParseNode as well as some data about\n * whether the parsed object is a function which is missing some arguments, or a\n * standalone object which can be used as an argument to another function.\n */\n\n/**\n * Main Parser class\n */\nfunction Parser(input, settings) {\n    // Make a new lexer\n    this.lexer = new Lexer(input);\n    // Store the settings for use in parsing\n    this.settings = settings;\n}\n\nvar ParseNode = parseData.ParseNode;\n\n/**\n * An initial function (without its arguments), or an argument to a function.\n * The `result` argument should be a ParseNode.\n */\nfunction ParseFuncOrArgument(result, isFunction) {\n    this.result = result;\n    // Is this a function (i.e. is it something defined in functions.js)?\n    this.isFunction = isFunction;\n}\n\n/**\n * Checks a result to make sure it has the right type, and throws an\n * appropriate error otherwise.\n *\n * @param {boolean=} consume whether to consume the expected token,\n *                           defaults to true\n */\nParser.prototype.expect = function(text, consume) {\n    if (this.nextToken.text !== text) {\n        throw new ParseError(\n            \"Expected '\" + text + \"', got '\" + this.nextToken.text + \"'\",\n            this.lexer, this.nextToken.position\n        );\n    }\n    if (consume !== false) {\n        this.consume();\n    }\n};\n\n/**\n * Considers the current look ahead token as consumed,\n * and fetches the one after that as the new look ahead.\n */\nParser.prototype.consume = function() {\n    this.pos = this.nextToken.position;\n\n    global_str =  global_str + \" \" + this.nextToken.text\n    this.nextToken = this.lexer.lex(this.pos, this.mode);\n};\n\n/**\n * Main parsing function, which parses an entire input.\n *\n * @return {?Array.<ParseNode>}\n */\nParser.prototype.parse = function() {\n    // Try to parse the input\n    this.mode = \"math\";\n    this.pos = 0;\n    this.nextToken = this.lexer.lex(this.pos, this.mode);\n    var parse = this.parseInput();\n    return parse;\n};\n\n/**\n * Parses an entire input tree.\n */\nParser.prototype.parseInput = function() {\n    // Parse an expression\n    var expression = this.parseExpression(false);\n    // If we succeeded, make sure there's an EOF at the end\n    this.expect(\"EOF\", false);\n    return expression;\n};\n\nvar endOfExpression = [\"}\", \"\\\\end\", \"\\\\right\", \"&\", \"\\\\\\\\\", \"\\\\cr\"];\n\n/**\n * Parses an \"expression\", which is a list of atoms.\n *\n * @param {boolean} breakOnInfix Should the parsing stop when we hit infix\n *                  nodes? This happens when functions have higher precendence\n *                  than infix nodes in implicit parses.\n *\n * @param {?string} breakOnToken The token that the expression should end with,\n *                  or `null` if something else should end the expression.\n *\n * @return {ParseNode}\n */\nParser.prototype.parseExpression = function(breakOnInfix, breakOnToken) {\n    var body = [];\n    // Keep adding atoms to the body until we can't parse any more atoms (either\n    // we reached the end, a }, or a \\right)\n    while (true) {\n        var lex = this.nextToken;\n        var pos = this.pos;\n        if (endOfExpression.indexOf(lex.text) !== -1) {\n            break;\n        }\n        if (breakOnToken && lex.text === breakOnToken) {\n            break;\n        }\n        var atom = this.parseAtom();\n        if (!atom) {\n            if (!this.settings.throwOnError && lex.text[0] === \"\\\\\") {\n                var errorNode = this.handleUnsupportedCmd();\n                body.push(errorNode);\n\n                pos = lex.position;\n                continue;\n            }\n\n            break;\n        }\n        if (breakOnInfix && atom.type === \"infix\") {\n            // rewind so we can parse the infix atom again\n            this.pos = pos;\n            this.nextToken = lex;\n            break;\n        }\n        body.push(atom);\n    }\n    return this.handleInfixNodes(body);\n};\n\n/**\n * Rewrites infix operators such as \\over with corresponding commands such\n * as \\frac.\n *\n * There can only be one infix operator per group.  If there's more than one\n * then the expression is ambiguous.  This can be resolved by adding {}.\n *\n * @returns {Array}\n */\nParser.prototype.handleInfixNodes = function(body) {\n    var overIndex = -1;\n    var funcName;\n\n    for (var i = 0; i < body.length; i++) {\n        var node = body[i];\n        if (node.type === \"infix\") {\n            if (overIndex !== -1) {\n                throw new ParseError(\"only one infix operator per group\",\n                    this.lexer, -1);\n            }\n            overIndex = i;\n            funcName = node.value.replaceWith;\n        }\n    }\n\n    if (overIndex !== -1) {\n        var numerNode;\n        var denomNode;\n\n        var numerBody = body.slice(0, overIndex);\n        var denomBody = body.slice(overIndex + 1);\n\n        if (numerBody.length === 1 && numerBody[0].type === \"ordgroup\") {\n            numerNode = numerBody[0];\n        } else {\n            numerNode = new ParseNode(\"ordgroup\", numerBody, this.mode);\n        }\n\n        if (denomBody.length === 1 && denomBody[0].type === \"ordgroup\") {\n            denomNode = denomBody[0];\n        } else {\n            denomNode = new ParseNode(\"ordgroup\", denomBody, this.mode);\n        }\n\n        var value = this.callFunction(\n            funcName, [numerNode, denomNode], null);\n        return [new ParseNode(value.type, value, this.mode)];\n    } else {\n        return body;\n    }\n};\n\n// The greediness of a superscript or subscript\nvar SUPSUB_GREEDINESS = 1;\n\n/**\n * Handle a subscript or superscript with nice errors.\n */\nParser.prototype.handleSupSubscript = function(name) {\n    var symbol = this.nextToken.text;\n    var symPos = this.pos;\n    this.consume();\n    var group = this.parseGroup();\n\n    if (!group) {\n        if (!this.settings.throwOnError && this.nextToken.text[0] === \"\\\\\") {\n            return this.handleUnsupportedCmd();\n        } else {\n            // throw new ParseError(\n            //     \"Expected group after '\" + symbol + \"'\",\n            //     this.lexer,\n            //     symPos + 1\n            // );\n        }\n    } else if (group.isFunction) {\n        // ^ and _ have a greediness, so handle interactions with functions'\n        // greediness\n        var funcGreediness = functions[group.result].greediness;\n        if (funcGreediness > SUPSUB_GREEDINESS) {\n            return this.parseFunction(group);\n        } else {\n            throw new ParseError(\n                \"Got function '\" + group.result + \"' with no arguments \" +\n                    \"as \" + name,\n                this.lexer, symPos + 1);\n        }\n    } else {\n        return group.result;\n    }\n};\n\n/**\n * Converts the textual input of an unsupported command into a text node\n * contained within a color node whose color is determined by errorColor\n */\nParser.prototype.handleUnsupportedCmd = function() {\n    var text = this.nextToken.text;\n    var textordArray = [];\n\n    for (var i = 0; i < text.length; i++) {\n        textordArray.push(new ParseNode(\"textord\", text[i], \"text\"));\n    }\n\n    var textNode = new ParseNode(\n        \"text\",\n        {\n            body: textordArray,\n            type: \"text\",\n        },\n        this.mode);\n\n    var colorNode = new ParseNode(\n        \"color\",\n        {\n            color: this.settings.errorColor,\n            value: [textNode],\n            type: \"color\",\n        },\n        this.mode);\n\n    this.consume();\n    return colorNode;\n};\n\n/**\n * Parses a group with optional super/subscripts.\n *\n * @return {?ParseNode}\n */\nParser.prototype.parseAtom = function() {\n    // The body of an atom is an implicit group, so that things like\n    // \\left(x\\right)^2 work correctly.\n    var base = this.parseImplicitGroup();\n\n    // In text mode, we don't have superscripts or subscripts\n    if (this.mode === \"text\") {\n        return base;\n    }\n\n    // Note that base may be empty (i.e. null) at this point.\n\n    var superscript;\n    var subscript;\n    while (true) {\n        // Lex the first token\n        var lex = this.nextToken;\n\n        if (lex.text === \"\\\\limits\" || lex.text === \"\\\\nolimits\") {\n            // We got a limit control\n            if (!base || base.type !== \"op\") {\n                throw new ParseError(\n                    \"Limit controls must follow a math operator\",\n                    this.lexer, this.pos);\n            } else {\n                var limits = lex.text === \"\\\\limits\";\n                base.value.limits = limits;\n                base.value.alwaysHandleSupSub = true;\n            }\n            this.consume();\n        } else if (lex.text === \"^\") {\n            // We got a superscript start\n            // if (superscript) {\n            //     throw new ParseError(\n            //         \"Double superscript\", this.lexer, this.pos);\n            // }\n            superscript = this.handleSupSubscript(\"superscript\");\n        } else if (lex.text === \"_\") {\n            // We got a subscript start\n            // if (subscript) {\n            //     throw new ParseError(\n            //         \"Double subscript\", this.lexer, this.pos);\n            // }\n            subscript = this.handleSupSubscript(\"subscript\");\n        } else if (lex.text === \"'\") {\n            // We got a prime\n            var prime = new ParseNode(\"textord\", \"\\\\prime\", this.mode);\n\n            // Many primes can be grouped together, so we handle this here\n            var primes = [prime];\n            this.consume();\n            // Keep lexing tokens until we get something that's not a prime\n            while (this.nextToken.text === \"'\") {\n                // For each one, add another prime to the list\n                primes.push(prime);\n                this.consume();\n            }\n            // Put them into an ordgroup as the superscript\n            superscript = new ParseNode(\"ordgroup\", primes, this.mode);\n        } else {\n            // If it wasn't ^, _, or ', stop parsing super/subscripts\n            break;\n        }\n    }\n\n    if (superscript || subscript) {\n        // If we got either a superscript or subscript, create a supsub\n        return new ParseNode(\"supsub\", {\n            base: base,\n            sup: superscript,\n            sub: subscript,\n        }, this.mode);\n    } else {\n        // Otherwise return the original body\n        return base;\n    }\n};\n\n// A list of the size-changing functions, for use in parseImplicitGroup\nvar sizeFuncs = [\n    \"\\\\tiny\", \"\\\\scriptsize\", \"\\\\footnotesize\", \"\\\\small\", \"\\\\normalsize\",\n    \"\\\\large\", \"\\\\Large\", \"\\\\LARGE\", \"\\\\huge\", \"\\\\Huge\", \"\\\\textrm\", \"\\\\rm\", \"\\\\cal\",\n    \"\\\\bf\", \"\\\\siptstyle\", \"\\\\boldmath\", \"\\\\it\"\n];\n\n// A list of the style-changing functions, for use in parseImplicitGroup\nvar styleFuncs = [\n    \"\\\\displaystyle\", \"\\\\textstyle\", \"\\\\scriptstyle\", \"\\\\scriptscriptstyle\",\n];\n\n/**\n * Parses an implicit group, which is a group that starts at the end of a\n * specified, and ends right before a higher explicit group ends, or at EOL. It\n * is used for functions that appear to affect the current style, like \\Large or\n * \\textrm, where instead of keeping a style we just pretend that there is an\n * implicit grouping after it until the end of the group. E.g.\n *   small text {\\Large large text} small text again\n * It is also used for \\left and \\right to get the correct grouping.\n *\n * @return {?ParseNode}\n */\nParser.prototype.parseImplicitGroup = function() {\n    var start = this.parseSymbol();\n\n    if (start == null) {\n        // If we didn't get anything we handle, fall back to parseFunction\n        return this.parseFunction();\n    }\n\n    var func = start.result;\n    var body;\n    if (func === \"\\\\left\") {\n        // If we see a left:\n        // Parse the entire left function (including the delimiter)\n        var left = this.parseFunction(start);\n        // Parse out the implicit body\n        body = this.parseExpression(false);\n        // Check the next token\n        this.expect(\"\\\\right\", false);\n        var right = this.parseFunction();\n        return new ParseNode(\"leftright\", {\n            body: body,\n            left: left.value.value,\n            right: right.value.value,\n        }, this.mode);\n    } else if (func === \"\\\\begin\") {\n        // begin...end is similar to left...right\n        var begin = this.parseFunction(start);\n        var envName = begin.value.name;\n        var name = (begin.value.name + \"\")\n\n        global_str = global_str.substring(0, global_str.length - (name.length * 2 + 2)) + name + \"}\"\n\n        if (!environments.hasOwnProperty(envName)) {\n            throw new ParseError(\n                \"No such environment: \" + envName,\n                this.lexer, begin.value.namepos);\n        }\n        // Build the environment object. Arguments and other information will\n        // be made available to the begin and end methods using properties.\n        var env = environments[envName];\n        var args = this.parseArguments(\"\\\\begin{\" + envName + \"}\", env);\n        var context = {\n            mode: this.mode,\n            envName: envName,\n            parser: this,\n            lexer: this.lexer,\n            positions: args.pop(),\n        };\n        var result = env.handler(context, args);\n        this.expect(\"\\\\end\", false);\n        var end = this.parseFunction();\n        \n        var name = (begin.value.name + \"\")\n\n        global_str = global_str.substring(0, global_str.length - (name.length * 2 + 2)) + name + \"}\"\n        if (end.value.name !== envName) {\n            throw new ParseError(\n                \"Mismatch: \\\\begin{\" + envName + \"} matched \" +\n                \"by \\\\end{\" + end.value.name + \"}\",\n                this.lexer /* , end.value.namepos */);\n            // TODO: Add position to the above line and adjust test case,\n            // requires #385 to get merged first\n        }\n        result.position = end.position;\n\n        return result;\n\n    } else if (func.value == \"\\\\matrix\" || func.value == \"\\\\pmatrix\" || func.value == \"\\\\cases\") {\n        // if (!environments.hasOwnProperty(envName)) {\n        //     throw new ParseError(\n        //         \"No such environment: \" + envName,\n        //         this.lexer, begin.value.namepos);\n        // }\n        // Build the environment object. Arguments and other information will\n        // be made available to the begin and end methods using properties.\n\n        envName = func.value.slice(1);\n        var env = environments[envName];\n        // var args = this.parseArguments(\"\\\\matrix{\", env);\n        this.expect(\"{\", true);\n        var context = {\n            mode: this.mode,\n            envName: envName,\n            parser: this,\n            lexer: this.lexer\n        };\n\n        var result = env.handler(context, {}  );\n        // exit();\n        this.expect(\"}\", true);\n        // var end = this.parseFunction();\n        var next = this.nextToken.text;\n        // exit();\n        // console.log(next);\n        // var name = ( + \"\")\n\n        // global_str = global_str.substring(0, global_str.length - (name.length * 2 + 2)) + name + \"}\"\n        // result.position = end.position;\n\n        return result;\n        \n    } else if (utils.contains(sizeFuncs, func)) {\n        // If we see a sizing function, parse out the implict body\n        body = this.parseExpression(false);\n\n        return new ParseNode(\"sizing\", {\n            // Figure out what size to use based on the list of functions above\n            original: func,\n            size: \"size\" + (utils.indexOf(sizeFuncs, func) + 1),\n            value: body,\n        }, this.mode);\n    } else if (utils.contains(styleFuncs, func)) {\n        // If we see a styling function, parse out the implict body\n        body = this.parseExpression(true);\n        return new ParseNode(\"styling\", {\n            // Figure out what style to use by pulling out the style from\n            // the function name\n            original: func,\n            style: func.slice(1, func.length - 5),\n            value: body,\n        }, this.mode);\n    } else {\n        // Defer to parseFunction if it's not a function we handle\n        return this.parseFunction(start);\n    }\n};\n\n/**\n * Parses an entire function, including its base and all of its arguments.\n * The base might either have been parsed already, in which case\n * it is provided as an argument, or it's the next group in the input.\n *\n * @param {ParseFuncOrArgument=} baseGroup optional as described above\n * @return {?ParseNode}\n */\nParser.prototype.parseFunction = function(baseGroup) {\n    if (!baseGroup) {\n        baseGroup = this.parseGroup();\n    }\n\n    if (baseGroup) {\n        if (baseGroup.isFunction) {\n            var func = baseGroup.result;\n            var funcData = functions[func];\n            if (this.mode === \"text\" && !funcData.allowedInText) {\n                // throw new ParseError(\n                //     \"Can't use function '\" + func + \"' in text mode\",\n                //     this.lexer, baseGroup.position);\n            }\n\n            var args = this.parseArguments(func, funcData);\n            var result = this.callFunction(func, args, args.pop());\n            return new ParseNode(result.type, result, this.mode);\n        } else {\n            return baseGroup.result;\n        }\n    } else {\n        return null;\n    }\n};\n\n/**\n * Call a function handler with a suitable context and arguments.\n */\nParser.prototype.callFunction = function(name, args, positions) {\n    var context = {\n        funcName: name,\n        parser: this,\n        lexer: this.lexer,\n        positions: positions,\n    };\n    return functions[name].handler(context, args);\n};\n\n/**\n * Parses the arguments of a function or environment\n *\n * @param {string} func  \"\\name\" or \"\\begin{name}\"\n * @param {{numArgs:number,numOptionalArgs:number|undefined}} funcData\n * @return the array of arguments, with the list of positions as last element\n */\nParser.prototype.parseArguments = function(func, funcData) {\n    var totalArgs = funcData.numArgs + funcData.numOptionalArgs;\n    if (totalArgs === 0) {\n        return [[this.pos]];\n    }\n\n    var baseGreediness = funcData.greediness;\n    var positions = [this.pos];\n    var args = [];\n\n    for (var i = 0; i < totalArgs; i++) {\n        var argType = funcData.argTypes && funcData.argTypes[i];\n        var arg;\n        if (i < funcData.numOptionalArgs) {\n            if (argType) {\n                arg = this.parseSpecialGroup(argType, true);\n            } else {\n                arg = this.parseOptionalGroup();\n            }\n            if (!arg) {\n                args.push(null);\n                positions.push(this.pos);\n                continue;\n            }\n        } else {\n            if (argType) {\n                arg = this.parseSpecialGroup(argType);\n            } else {\n                arg = this.parseGroup();\n            }\n            if (!arg) {\n                if (!this.settings.throwOnError &&\n                    this.nextToken.text[0] === \"\\\\\") {\n                    arg = new ParseFuncOrArgument(\n                        this.handleUnsupportedCmd(this.nextToken.text),\n                        false);\n                } else {\n                    throw new ParseError(\n                        \"Expected group after '\" + func + \"'\",\n                        this.lexer, this.pos);\n                }\n            }\n        }\n        var argNode;\n        if (arg.isFunction) {\n            var argGreediness =\n                functions[arg.result].greediness;\n            if (argGreediness > baseGreediness) {\n                argNode = this.parseFunction(arg);\n            } else {\n                // throw new ParseError(\n                //     \"Got function '\" + arg.result + \"' as \" +\n                //     \"argument to '\" + func + \"'\",\n                //     this.lexer, this.pos - 1);\n            }\n        } else {\n            argNode = arg.result;\n        }\n        args.push(argNode);\n        positions.push(this.pos);\n    }\n\n    args.push(positions);\n\n    return args;\n};\n\n\n/**\n * Parses a group when the mode is changing. Takes a position, a new mode, and\n * an outer mode that is used to parse the outside.\n *\n * @return {?ParseFuncOrArgument}\n */\nParser.prototype.parseSpecialGroup = function(innerMode, optional) {\n    var outerMode = this.mode;\n    // Handle `original` argTypes\n    if (innerMode === \"original\") {\n        innerMode = outerMode;\n    }\n\n    if (innerMode === \"color\" || innerMode === \"size\") {\n        // color and size modes are special because they should have braces and\n        // should only lex a single symbol inside\n        var openBrace = this.nextToken;\n        if (optional && openBrace.text !== \"[\") {\n            // optional arguments should return null if they don't exist\n            return null;\n        }\n        // The call to expect will lex the token after the '{' in inner mode\n        this.mode = innerMode;\n        this.expect(optional ? \"[\" : \"{\");\n        var inner = this.nextToken;\n        this.mode = outerMode;\n        var data;\n        if (innerMode === \"color\") {\n            data = inner.text;\n        } else {\n            data = inner.data;\n        }\n        this.consume(); // consume the token stored in inner\n        this.expect(optional ? \"]\" : \"}\");\n        return new ParseFuncOrArgument(\n            new ParseNode(innerMode, data, outerMode),\n            false);\n    } else if (innerMode === \"text\") {\n        // text mode is special because it should ignore the whitespace before\n        // it\n        var whitespace = this.lexer.lex(this.pos, \"whitespace\");\n        this.pos = whitespace.position;\n    }\n\n    // By the time we get here, innerMode is one of \"text\" or \"math\".\n    // We switch the mode of the parser, recurse, then restore the old mode.\n    this.mode = innerMode;\n    this.nextToken = this.lexer.lex(this.pos, innerMode);\n    var res;\n    if (optional) {\n        res = this.parseOptionalGroup();\n    } else {\n        res = this.parseGroup();\n    }\n    this.mode = outerMode;\n    this.nextToken = this.lexer.lex(this.pos, outerMode);\n    return res;\n};\n\n/**\n * Parses a group, which is either a single nucleus (like \"x\") or an expression\n * in braces (like \"{x+y}\")\n *\n * @return {?ParseFuncOrArgument}\n */\nParser.prototype.parseGroup = function() {\n    // Try to parse an open brace\n    if (this.nextToken.text === \"{\") {\n        // If we get a brace, parse an expression\n        this.consume();\n        var expression = this.parseExpression(false);\n        // Make sure we get a close brace\n        this.expect(\"}\");\n        return new ParseFuncOrArgument(\n            new ParseNode(\"ordgroup\", expression, this.mode),\n            false);\n    } else {\n        // Otherwise, just return a nucleus\n        return this.parseSymbol();\n    }\n};\n\n/**\n * Parses a group, which is an expression in brackets (like \"[x+y]\")\n *\n * @return {?ParseFuncOrArgument}\n */\nParser.prototype.parseOptionalGroup = function() {\n    // Try to parse an open bracket\n    if (this.nextToken.text === \"[\") {\n        // If we get a brace, parse an expression\n        this.consume();\n        var expression = this.parseExpression(false, \"]\");\n        // Make sure we get a close bracket\n        this.expect(\"]\");\n        return new ParseFuncOrArgument(\n            new ParseNode(\"ordgroup\", expression, this.mode),\n            false);\n    } else {\n        // Otherwise, return null,\n        return null;\n    }\n};\n\n/**\n * Parse a single symbol out of the string. Here, we handle both the functions\n * we have defined, as well as the single character symbols\n *\n * @return {?ParseFuncOrArgument}\n */\nParser.prototype.parseSymbol = function() {\n    var nucleus = this.nextToken;\n\n    if (functions[nucleus.text]) {\n        this.consume();\n        // If there exists a function with this name, we return the function and\n        // say that it is a function.\n        return new ParseFuncOrArgument(\n            nucleus.text,\n            true);\n    } else if (symbols[this.mode][nucleus.text]) {\n        this.consume();\n        // Otherwise if this is a no-argument function, find the type it\n        // corresponds to in the symbols map\n        return new ParseFuncOrArgument(\n            new ParseNode(symbols[this.mode][nucleus.text].group,\n                          nucleus.text, this.mode),\n            false);\n    } else if (nucleus.text == \"EOF\" || nucleus.text == \"{\") {\n        return null;\n        \n    } else {\n        this.consume();\n        // console.error(nucleus);\n        return new ParseFuncOrArgument(\n            new ParseNode(symbols[\"math\"][\"\\\\sigma\"].group,\n                          nucleus.text, this.mode),\n            false);\n        // console.log(nucleus.text);\n        // return null;\n    }\n};\n\nParser.prototype.ParseNode = ParseNode;\n\nmodule.exports = Parser;\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/third_party/katex/src/Settings.js",
    "content": "/**\n * This is a module for storing settings passed into KaTeX. It correctly handles\n * default settings.\n */\n\n/**\n * Helper function for getting a default value if the value is undefined\n */\nfunction get(option, defaultValue) {\n    return option === undefined ? defaultValue : option;\n}\n\n/**\n * The main Settings object\n *\n * The current options stored are:\n *  - displayMode: Whether the expression should be typeset by default in\n *                 textstyle or displaystyle (default false)\n */\nfunction Settings(options) {\n    // allow null options\n    options = options || {};\n    this.displayMode = get(options.displayMode, false);\n    this.throwOnError = get(options.throwOnError, true);\n    this.errorColor = get(options.errorColor, \"#cc0000\");\n}\n\nmodule.exports = Settings;\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/third_party/katex/src/Style.js",
    "content": "/**\n * This file contains information and classes for the various kinds of styles\n * used in TeX. It provides a generic `Style` class, which holds information\n * about a specific style. It then provides instances of all the different kinds\n * of styles possible, and provides functions to move between them and get\n * information about them.\n */\n\n/**\n * The main style class. Contains a unique id for the style, a size (which is\n * the same for cramped and uncramped version of a style), a cramped flag, and a\n * size multiplier, which gives the size difference between a style and\n * textstyle.\n */\nfunction Style(id, size, multiplier, cramped) {\n    this.id = id;\n    this.size = size;\n    this.cramped = cramped;\n    this.sizeMultiplier = multiplier;\n}\n\n/**\n * Get the style of a superscript given a base in the current style.\n */\nStyle.prototype.sup = function() {\n    return styles[sup[this.id]];\n};\n\n/**\n * Get the style of a subscript given a base in the current style.\n */\nStyle.prototype.sub = function() {\n    return styles[sub[this.id]];\n};\n\n/**\n * Get the style of a fraction numerator given the fraction in the current\n * style.\n */\nStyle.prototype.fracNum = function() {\n    return styles[fracNum[this.id]];\n};\n\n/**\n * Get the style of a fraction denominator given the fraction in the current\n * style.\n */\nStyle.prototype.fracDen = function() {\n    return styles[fracDen[this.id]];\n};\n\n/**\n * Get the cramped version of a style (in particular, cramping a cramped style\n * doesn't change the style).\n */\nStyle.prototype.cramp = function() {\n    return styles[cramp[this.id]];\n};\n\n/**\n * HTML class name, like \"displaystyle cramped\"\n */\nStyle.prototype.cls = function() {\n    return sizeNames[this.size] + (this.cramped ? \" cramped\" : \" uncramped\");\n};\n\n/**\n * HTML Reset class name, like \"reset-textstyle\"\n */\nStyle.prototype.reset = function() {\n    return resetNames[this.size];\n};\n\n// IDs of the different styles\nvar D = 0;\nvar Dc = 1;\nvar T = 2;\nvar Tc = 3;\nvar S = 4;\nvar Sc = 5;\nvar SS = 6;\nvar SSc = 7;\n\n// String names for the different sizes\nvar sizeNames = [\n    \"displaystyle textstyle\",\n    \"textstyle\",\n    \"scriptstyle\",\n    \"scriptscriptstyle\",\n];\n\n// Reset names for the different sizes\nvar resetNames = [\n    \"reset-textstyle\",\n    \"reset-textstyle\",\n    \"reset-scriptstyle\",\n    \"reset-scriptscriptstyle\",\n];\n\n// Instances of the different styles\nvar styles = [\n    new Style(D, 0, 1.0, false),\n    new Style(Dc, 0, 1.0, true),\n    new Style(T, 1, 1.0, false),\n    new Style(Tc, 1, 1.0, true),\n    new Style(S, 2, 0.7, false),\n    new Style(Sc, 2, 0.7, true),\n    new Style(SS, 3, 0.5, false),\n    new Style(SSc, 3, 0.5, true),\n];\n\n// Lookup tables for switching from one style to another\nvar sup = [S, Sc, S, Sc, SS, SSc, SS, SSc];\nvar sub = [Sc, Sc, Sc, Sc, SSc, SSc, SSc, SSc];\nvar fracNum = [T, Tc, S, Sc, SS, SSc, SS, SSc];\nvar fracDen = [Tc, Tc, Sc, Sc, SSc, SSc, SSc, SSc];\nvar cramp = [Dc, Dc, Tc, Tc, Sc, Sc, SSc, SSc];\n\n// We only export some of the styles. Also, we don't export the `Style` class so\n// no more styles can be generated.\nmodule.exports = {\n    DISPLAY: styles[D],\n    TEXT: styles[T],\n    SCRIPT: styles[S],\n    SCRIPTSCRIPT: styles[SS],\n};\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/third_party/katex/src/buildCommon.js",
    "content": "/* eslint no-console:0 */\n/**\n * This module contains general functions that can be used for building\n * different kinds of domTree nodes in a consistent manner.\n */\n\nvar domTree = require(\"./domTree\");\nvar fontMetrics = require(\"./fontMetrics\");\nvar symbols = require(\"./symbols\");\nvar utils = require(\"./utils\");\n\nvar greekCapitals = [\n    \"\\\\Gamma\",\n    \"\\\\Delta\",\n    \"\\\\Theta\",\n    \"\\\\Lambda\",\n    \"\\\\Xi\",\n    \"\\\\Pi\",\n    \"\\\\Sigma\",\n    \"\\\\Upsilon\",\n    \"\\\\Phi\",\n    \"\\\\Psi\",\n    \"\\\\Omega\",\n];\n\nvar dotlessLetters = [\n    \"\\u0131\",   // dotless i, \\imath\n    \"\\u0237\",   // dotless j, \\jmath\n];\n\n/**\n * Makes a symbolNode after translation via the list of symbols in symbols.js.\n * Correctly pulls out metrics for the character, and optionally takes a list of\n * classes to be attached to the node.\n */\nvar makeSymbol = function(value, style, mode, color, classes) {\n    // Replace the value with its replaced value from symbol.js\n    if (symbols[mode][value] && symbols[mode][value].replace) {\n        value = symbols[mode][value].replace;\n    }\n\n    var metrics = fontMetrics.getCharacterMetrics(value, style);\n\n    var symbolNode;\n    if (metrics) {\n        symbolNode = new domTree.symbolNode(\n            value, metrics.height, metrics.depth, metrics.italic, metrics.skew,\n            classes);\n    } else {\n        // TODO(emily): Figure out a good way to only print this in development\n        typeof console !== \"undefined\" && console.warn(\n            \"No character metrics for '\" + value + \"' in style '\" +\n                style + \"'\");\n        symbolNode = new domTree.symbolNode(value, 0, 0, 0, 0, classes);\n    }\n\n    if (color) {\n        symbolNode.style.color = color;\n    }\n\n    return symbolNode;\n};\n\n/**\n * Makes a symbol in Main-Regular or AMS-Regular.\n * Used for rel, bin, open, close, inner, and punct.\n */\nvar mathsym = function(value, mode, color, classes) {\n    // Decide what font to render the symbol in by its entry in the symbols\n    // table.\n    // Have a special case for when the value = \\ because the \\ is used as a\n    // textord in unsupported command errors but cannot be parsed as a regular\n    // text ordinal and is therefore not present as a symbol in the symbols\n    // table for text\n    if (value === \"\\\\\" || symbols[mode][value].font === \"main\") {\n        return makeSymbol(value, \"Main-Regular\", mode, color, classes);\n    } else {\n        return makeSymbol(\n            value, \"AMS-Regular\", mode, color, classes.concat([\"amsrm\"]));\n    }\n};\n\n/**\n * Makes a symbol in the default font for mathords and textords.\n */\nvar mathDefault = function(value, mode, color, classes, type) {\n    if (type === \"mathord\") {\n        return mathit(value, mode, color, classes);\n    } else if (type === \"textord\") {\n        return makeSymbol(\n            value, \"Main-Regular\", mode, color, classes.concat([\"mathrm\"]));\n    } else {\n        throw new Error(\"unexpected type: \" + type + \" in mathDefault\");\n    }\n};\n\n/**\n * Makes a symbol in the italic math font.\n */\nvar mathit = function(value, mode, color, classes) {\n    if (/[0-9]/.test(value.charAt(0)) ||\n            // glyphs for \\imath and \\jmath do not exist in Math-Italic so we\n            // need to use Main-Italic instead\n            utils.contains(dotlessLetters, value) ||\n            utils.contains(greekCapitals, value)) {\n        return makeSymbol(\n            value, \"Main-Italic\", mode, color, classes.concat([\"mainit\"]));\n    } else {\n        return makeSymbol(\n            value, \"Math-Italic\", mode, color, classes.concat([\"mathit\"]));\n    }\n};\n\n/**\n * Makes either a mathord or textord in the correct font and color.\n */\nvar makeOrd = function(group, options, type) {\n    var mode = group.mode;\n    var value = group.value;\n    if (symbols[mode][value] && symbols[mode][value].replace) {\n        value = symbols[mode][value].replace;\n    }\n\n    var classes = [\"mord\"];\n    var color = options.getColor();\n\n    var font = options.font;\n    if (font) {\n        if (font === \"mathit\" || utils.contains(dotlessLetters, value)) {\n            return mathit(value, mode, color, classes);\n        } else {\n            var fontName = fontMap[font].fontName;\n            if (fontMetrics.getCharacterMetrics(value, fontName)) {\n                return makeSymbol(\n                    value, fontName, mode, color, classes.concat([font]));\n            } else {\n                return mathDefault(value, mode, color, classes, type);\n            }\n        }\n    } else {\n        return mathDefault(value, mode, color, classes, type);\n    }\n};\n\n/**\n * Calculate the height, depth, and maxFontSize of an element based on its\n * children.\n */\nvar sizeElementFromChildren = function(elem) {\n    var height = 0;\n    var depth = 0;\n    var maxFontSize = 0;\n\n    if (elem.children) {\n        for (var i = 0; i < elem.children.length; i++) {\n            if (elem.children[i].height > height) {\n                height = elem.children[i].height;\n            }\n            if (elem.children[i].depth > depth) {\n                depth = elem.children[i].depth;\n            }\n            if (elem.children[i].maxFontSize > maxFontSize) {\n                maxFontSize = elem.children[i].maxFontSize;\n            }\n        }\n    }\n\n    elem.height = height;\n    elem.depth = depth;\n    elem.maxFontSize = maxFontSize;\n};\n\n/**\n * Makes a span with the given list of classes, list of children, and color.\n */\nvar makeSpan = function(classes, children, color) {\n    var span = new domTree.span(classes, children);\n\n    sizeElementFromChildren(span);\n\n    if (color) {\n        span.style.color = color;\n    }\n\n    return span;\n};\n\n/**\n * Makes a document fragment with the given list of children.\n */\nvar makeFragment = function(children) {\n    var fragment = new domTree.documentFragment(children);\n\n    sizeElementFromChildren(fragment);\n\n    return fragment;\n};\n\n/**\n * Makes an element placed in each of the vlist elements to ensure that each\n * element has the same max font size. To do this, we create a zero-width space\n * with the correct font size.\n */\nvar makeFontSizer = function(options, fontSize) {\n    var fontSizeInner = makeSpan([], [new domTree.symbolNode(\"\\u200b\")]);\n    fontSizeInner.style.fontSize =\n        (fontSize / options.style.sizeMultiplier) + \"em\";\n\n    var fontSizer = makeSpan(\n        [\"fontsize-ensurer\", \"reset-\" + options.size, \"size5\"],\n        [fontSizeInner]);\n\n    return fontSizer;\n};\n\n/**\n * Makes a vertical list by stacking elements and kerns on top of each other.\n * Allows for many different ways of specifying the positioning method.\n *\n * Arguments:\n *  - children: A list of child or kern nodes to be stacked on top of each other\n *              (i.e. the first element will be at the bottom, and the last at\n *              the top). Element nodes are specified as\n *                {type: \"elem\", elem: node}\n *              while kern nodes are specified as\n *                {type: \"kern\", size: size}\n *  - positionType: The method by which the vlist should be positioned. Valid\n *                  values are:\n *                   - \"individualShift\": The children list only contains elem\n *                                        nodes, and each node contains an extra\n *                                        \"shift\" value of how much it should be\n *                                        shifted (note that shifting is always\n *                                        moving downwards). positionData is\n *                                        ignored.\n *                   - \"top\": The positionData specifies the topmost point of\n *                            the vlist (note this is expected to be a height,\n *                            so positive values move up)\n *                   - \"bottom\": The positionData specifies the bottommost point\n *                               of the vlist (note this is expected to be a\n *                               depth, so positive values move down\n *                   - \"shift\": The vlist will be positioned such that its\n *                              baseline is positionData away from the baseline\n *                              of the first child. Positive values move\n *                              downwards.\n *                   - \"firstBaseline\": The vlist will be positioned such that\n *                                      its baseline is aligned with the\n *                                      baseline of the first child.\n *                                      positionData is ignored. (this is\n *                                      equivalent to \"shift\" with\n *                                      positionData=0)\n *  - positionData: Data used in different ways depending on positionType\n *  - options: An Options object\n *\n */\nvar makeVList = function(children, positionType, positionData, options) {\n    var depth;\n    var currPos;\n    var i;\n    if (positionType === \"individualShift\") {\n        var oldChildren = children;\n        children = [oldChildren[0]];\n\n        // Add in kerns to the list of children to get each element to be\n        // shifted to the correct specified shift\n        depth = -oldChildren[0].shift - oldChildren[0].elem.depth;\n        currPos = depth;\n        for (i = 1; i < oldChildren.length; i++) {\n            var diff = -oldChildren[i].shift - currPos -\n                oldChildren[i].elem.depth;\n            var size = diff -\n                (oldChildren[i - 1].elem.height +\n                 oldChildren[i - 1].elem.depth);\n\n            currPos = currPos + diff;\n\n            children.push({type: \"kern\", size: size});\n            children.push(oldChildren[i]);\n        }\n    } else if (positionType === \"top\") {\n        // We always start at the bottom, so calculate the bottom by adding up\n        // all the sizes\n        var bottom = positionData;\n        for (i = 0; i < children.length; i++) {\n            if (children[i].type === \"kern\") {\n                bottom -= children[i].size;\n            } else {\n                bottom -= children[i].elem.height + children[i].elem.depth;\n            }\n        }\n        depth = bottom;\n    } else if (positionType === \"bottom\") {\n        depth = -positionData;\n    } else if (positionType === \"shift\") {\n        depth = -children[0].elem.depth - positionData;\n    } else if (positionType === \"firstBaseline\") {\n        depth = -children[0].elem.depth;\n    } else {\n        depth = 0;\n    }\n\n    // Make the fontSizer\n    var maxFontSize = 0;\n    for (i = 0; i < children.length; i++) {\n        if (children[i].type === \"elem\") {\n            maxFontSize = Math.max(maxFontSize, children[i].elem.maxFontSize);\n        }\n    }\n    var fontSizer = makeFontSizer(options, maxFontSize);\n\n    // Create a new list of actual children at the correct offsets\n    var realChildren = [];\n    currPos = depth;\n    for (i = 0; i < children.length; i++) {\n        if (children[i].type === \"kern\") {\n            currPos += children[i].size;\n        } else {\n            var child = children[i].elem;\n\n            var shift = -child.depth - currPos;\n            currPos += child.height + child.depth;\n\n            var childWrap = makeSpan([], [fontSizer, child]);\n            childWrap.height -= shift;\n            childWrap.depth += shift;\n            childWrap.style.top = shift + \"em\";\n\n            realChildren.push(childWrap);\n        }\n    }\n\n    // Add in an element at the end with no offset to fix the calculation of\n    // baselines in some browsers (namely IE, sometimes safari)\n    var baselineFix = makeSpan(\n        [\"baseline-fix\"], [fontSizer, new domTree.symbolNode(\"\\u200b\")]);\n    realChildren.push(baselineFix);\n\n    var vlist = makeSpan([\"vlist\"], realChildren);\n    // Fix the final height and depth, in case there were kerns at the ends\n    // since the makeSpan calculation won't take that in to account.\n    vlist.height = Math.max(currPos, vlist.height);\n    vlist.depth = Math.max(-depth, vlist.depth);\n    return vlist;\n};\n\n// A table of size -> font size for the different sizing functions\nvar sizingMultiplier = {\n    size1: 0.5,\n    size2: 0.7,\n    size3: 0.8,\n    size4: 0.9,\n    size5: 1.0,\n    size6: 1.2,\n    size7: 1.44,\n    size8: 1.73,\n    size9: 2.07,\n    size10: 2.49,\n};\n\n// A map of spacing functions to their attributes, like size and corresponding\n// CSS class\nvar spacingFunctions = {\n    \"\\\\qquad\": {\n        size: \"2em\",\n        className: \"qquad\",\n    },\n    \"\\\\quad\": {\n        size: \"1em\",\n        className: \"quad\",\n    },\n    \"\\\\enspace\": {\n        size: \"0.5em\",\n        className: \"enspace\",\n    },\n    \"\\\\;\": {\n        size: \"0.277778em\",\n        className: \"thickspace\",\n    },\n    \"\\\\:\": {\n        size: \"0.22222em\",\n        className: \"mediumspace\",\n    },\n    \"\\\\,\": {\n        size: \"0.16667em\",\n        className: \"thinspace\",\n    },\n    \"\\\\!\": {\n        size: \"-0.16667em\",\n        className: \"negativethinspace\",\n    },\n};\n\n/**\n * Maps TeX font commands to objects containing:\n * - variant: string used for \"mathvariant\" attribute in buildMathML.js\n * - fontName: the \"style\" parameter to fontMetrics.getCharacterMetrics\n */\n// A map between tex font commands an MathML mathvariant attribute values\nvar fontMap = {\n    // styles\n    \"mathbf\": {\n        variant: \"bold\",\n        fontName: \"Main-Bold\",\n    },\n    \"mathrm\": {\n        variant: \"normal\",\n        fontName: \"Main-Regular\",\n    },\n\n    // \"mathit\" is missing because it requires the use of two fonts: Main-Italic\n    // and Math-Italic.  This is handled by a special case in makeOrd which ends\n    // up calling mathit.\n\n    // families\n    \"mathbb\": {\n        variant: \"double-struck\",\n        fontName: \"AMS-Regular\",\n    },\n    \"mathcal\": {\n        variant: \"script\",\n        fontName: \"Caligraphic-Regular\",\n    },\n    \"mathfrak\": {\n        variant: \"fraktur\",\n        fontName: \"Fraktur-Regular\",\n    },\n    \"mathscr\": {\n        variant: \"script\",\n        fontName: \"Script-Regular\",\n    },\n    \"mathsf\": {\n        variant: \"sans-serif\",\n        fontName: \"SansSerif-Regular\",\n    },\n    \"mathtt\": {\n        variant: \"monospace\",\n        fontName: \"Typewriter-Regular\",\n    },\n};\n\nmodule.exports = {\n    fontMap: fontMap,\n    makeSymbol: makeSymbol,\n    mathsym: mathsym,\n    makeSpan: makeSpan,\n    makeFragment: makeFragment,\n    makeVList: makeVList,\n    makeOrd: makeOrd,\n    sizingMultiplier: sizingMultiplier,\n    spacingFunctions: spacingFunctions,\n};\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/third_party/katex/src/buildHTML.js",
    "content": "/* eslint no-console:0 */\n/**\n * This file does the main work of building a domTree structure from a parse\n * tree. The entry point is the `buildHTML` function, which takes a parse tree.\n * Then, the buildExpression, buildGroup, and various groupTypes functions are\n * called, to produce a final HTML tree.\n */\n\nvar ParseError = require(\"./ParseError\");\nvar Style = require(\"./Style\");\n\nvar buildCommon = require(\"./buildCommon\");\nvar delimiter = require(\"./delimiter\");\nvar domTree = require(\"./domTree\");\nvar fontMetrics = require(\"./fontMetrics\");\nvar utils = require(\"./utils\");\n\nvar makeSpan = buildCommon.makeSpan;\n\n/**\n * Take a list of nodes, build them in order, and return a list of the built\n * nodes. This function handles the `prev` node correctly, and passes the\n * previous element from the list as the prev of the next element.\n */\nvar buildExpression = function(expression, options, prev) {\n    var groups = [];\n    for (var i = 0; i < expression.length; i++) {\n        var group = expression[i];\n        groups.push(buildGroup(group, options, prev));\n        prev = group;\n    }\n    return groups;\n};\n\n// List of types used by getTypeOfGroup,\n// see https://github.com/Khan/KaTeX/wiki/Examining-TeX#group-types\nvar groupToType = {\n    mathord: \"mord\",\n    textord: \"mord\",\n    bin: \"mbin\",\n    rel: \"mrel\",\n    text: \"mord\",\n    open: \"mopen\",\n    close: \"mclose\",\n    inner: \"minner\",\n    genfrac: \"mord\",\n    array: \"mord\",\n    spacing: \"mord\",\n    punct: \"mpunct\",\n    ordgroup: \"mord\",\n    op: \"mop\",\n    katex: \"mord\",\n    overline: \"mord\",\n    underline: \"mord\",\n    rule: \"mord\",\n    leftright: \"minner\",\n    sqrt: \"mord\",\n    accent: \"mord\",\n};\n\n/**\n * Gets the final math type of an expression, given its group type. This type is\n * used to determine spacing between elements, and affects bin elements by\n * causing them to change depending on what types are around them. This type\n * must be attached to the outermost node of an element as a CSS class so that\n * spacing with its surrounding elements works correctly.\n *\n * Some elements can be mapped one-to-one from group type to math type, and\n * those are listed in the `groupToType` table.\n *\n * Others (usually elements that wrap around other elements) often have\n * recursive definitions, and thus call `getTypeOfGroup` on their inner\n * elements.\n */\nvar getTypeOfGroup = function(group) {\n    if (group == null) {\n        // Like when typesetting $^3$\n        return groupToType.mathord;\n    } else if (group.type === \"supsub\") {\n        return getTypeOfGroup(group.value.base);\n    } else if (group.type === \"llap\" || group.type === \"rlap\") {\n        return getTypeOfGroup(group.value);\n    } else if (group.type === \"color\") {\n        return getTypeOfGroup(group.value.value);\n    } else if (group.type === \"sizing\") {\n        return getTypeOfGroup(group.value.value);\n    } else if (group.type === \"styling\") {\n        return getTypeOfGroup(group.value.value);\n    } else if (group.type === \"delimsizing\") {\n        return groupToType[group.value.delimType];\n    } else {\n        return groupToType[group.type];\n    }\n};\n\n/**\n * Sometimes, groups perform special rules when they have superscripts or\n * subscripts attached to them. This function lets the `supsub` group know that\n * its inner element should handle the superscripts and subscripts instead of\n * handling them itself.\n */\nvar shouldHandleSupSub = function(group, options) {\n    if (!group) {\n        return false;\n    } else if (group.type === \"op\") {\n        // Operators handle supsubs differently when they have limits\n        // (e.g. `\\displaystyle\\sum_2^3`)\n        return group.value.limits &&\n            (options.style.size === Style.DISPLAY.size ||\n            group.value.alwaysHandleSupSub);\n    } else if (group.type === \"accent\") {\n        return isCharacterBox(group.value.base);\n    } else {\n        return null;\n    }\n};\n\n/**\n * Sometimes we want to pull out the innermost element of a group. In most\n * cases, this will just be the group itself, but when ordgroups and colors have\n * a single element, we want to pull that out.\n */\nvar getBaseElem = function(group) {\n    if (!group) {\n        return false;\n    } else if (group.type === \"ordgroup\") {\n        if (group.value.length === 1) {\n            return getBaseElem(group.value[0]);\n        } else {\n            return group;\n        }\n    } else if (group.type === \"color\") {\n        if (group.value.value.length === 1) {\n            return getBaseElem(group.value.value[0]);\n        } else {\n            return group;\n        }\n    } else {\n        return group;\n    }\n};\n\n/**\n * TeXbook algorithms often reference \"character boxes\", which are simply groups\n * with a single character in them. To decide if something is a character box,\n * we find its innermost group, and see if it is a single character.\n */\nvar isCharacterBox = function(group) {\n    var baseElem = getBaseElem(group);\n\n    // These are all they types of groups which hold single characters\n    return baseElem.type === \"mathord\" ||\n        baseElem.type === \"textord\" ||\n        baseElem.type === \"bin\" ||\n        baseElem.type === \"rel\" ||\n        baseElem.type === \"inner\" ||\n        baseElem.type === \"open\" ||\n        baseElem.type === \"close\" ||\n        baseElem.type === \"punct\";\n};\n\nvar makeNullDelimiter = function(options) {\n    return makeSpan([\n        \"sizing\", \"reset-\" + options.size, \"size5\",\n        options.style.reset(), Style.TEXT.cls(),\n        \"nulldelimiter\",\n    ]);\n};\n\n/**\n * This is a map of group types to the function used to handle that type.\n * Simpler types come at the beginning, while complicated types come afterwards.\n */\nvar groupTypes = {};\n\ngroupTypes.mathord = function(group, options, prev) {\n    return buildCommon.makeOrd(group, options, \"mathord\");\n};\n\ngroupTypes.textord = function(group, options, prev) {\n    return buildCommon.makeOrd(group, options, \"textord\");\n};\n\ngroupTypes.bin = function(group, options, prev) {\n    var className = \"mbin\";\n    // Pull out the most recent element. Do some special handling to find\n    // things at the end of a \\color group. Note that we don't use the same\n    // logic for ordgroups (which count as ords).\n    var prevAtom = prev;\n    while (prevAtom && prevAtom.type === \"color\") {\n        var atoms = prevAtom.value.value;\n        prevAtom = atoms[atoms.length - 1];\n    }\n    // See TeXbook pg. 442-446, Rules 5 and 6, and the text before Rule 19.\n    // Here, we determine whether the bin should turn into an ord. We\n    // currently only apply Rule 5.\n    if (!prev || utils.contains([\"mbin\", \"mopen\", \"mrel\", \"mop\", \"mpunct\"],\n            getTypeOfGroup(prevAtom))) {\n        group.type = \"textord\";\n        className = \"mord\";\n    }\n\n    return buildCommon.mathsym(\n        group.value, group.mode, options.getColor(), [className]);\n};\n\ngroupTypes.rel = function(group, options, prev) {\n    return buildCommon.mathsym(\n        group.value, group.mode, options.getColor(), [\"mrel\"]);\n};\n\ngroupTypes.open = function(group, options, prev) {\n    return buildCommon.mathsym(\n        group.value, group.mode, options.getColor(), [\"mopen\"]);\n};\n\ngroupTypes.close = function(group, options, prev) {\n    return buildCommon.mathsym(\n        group.value, group.mode, options.getColor(), [\"mclose\"]);\n};\n\ngroupTypes.inner = function(group, options, prev) {\n    return buildCommon.mathsym(\n        group.value, group.mode, options.getColor(), [\"minner\"]);\n};\n\ngroupTypes.punct = function(group, options, prev) {\n    return buildCommon.mathsym(\n        group.value, group.mode, options.getColor(), [\"mpunct\"]);\n};\n\ngroupTypes.ordgroup = function(group, options, prev) {\n    return makeSpan(\n        [\"mord\", options.style.cls()],\n        buildExpression(group.value, options.reset())\n    );\n};\n\ngroupTypes.text = function(group, options, prev) {\n    return makeSpan([\"text\", \"mord\", options.style.cls()],\n        buildExpression(group.value.body, options.reset()));\n};\n\ngroupTypes.color = function(group, options, prev) {\n    var elements = buildExpression(\n        group.value.value,\n        options.withColor(group.value.color),\n        prev\n    );\n\n    // \\color isn't supposed to affect the type of the elements it contains.\n    // To accomplish this, we wrap the results in a fragment, so the inner\n    // elements will be able to directly interact with their neighbors. For\n    // example, `\\color{red}{2 +} 3` has the same spacing as `2 + 3`\n    return new buildCommon.makeFragment(elements);\n};\n\ngroupTypes.supsub = function(group, options, prev) {\n    // Superscript and subscripts are handled in the TeXbook on page\n    // 445-446, rules 18(a-f).\n\n    // Here is where we defer to the inner group if it should handle\n    // superscripts and subscripts itself.\n    if (shouldHandleSupSub(group.value.base, options)) {\n        return groupTypes[group.value.base.type](group, options, prev);\n    }\n\n    var base = buildGroup(group.value.base, options.reset());\n    var supmid;\n    var submid;\n    var sup;\n    var sub;\n\n    if (group.value.sup) {\n        sup = buildGroup(group.value.sup,\n                options.withStyle(options.style.sup()));\n        supmid = makeSpan(\n                [options.style.reset(), options.style.sup().cls()], [sup]);\n    }\n\n    if (group.value.sub) {\n        sub = buildGroup(group.value.sub,\n                options.withStyle(options.style.sub()));\n        submid = makeSpan(\n                [options.style.reset(), options.style.sub().cls()], [sub]);\n    }\n\n    // Rule 18a\n    var supShift;\n    var subShift;\n    if (isCharacterBox(group.value.base)) {\n        supShift = 0;\n        subShift = 0;\n    } else {\n        supShift = base.height - fontMetrics.metrics.supDrop;\n        subShift = base.depth + fontMetrics.metrics.subDrop;\n    }\n\n    // Rule 18c\n    var minSupShift;\n    if (options.style === Style.DISPLAY) {\n        minSupShift = fontMetrics.metrics.sup1;\n    } else if (options.style.cramped) {\n        minSupShift = fontMetrics.metrics.sup3;\n    } else {\n        minSupShift = fontMetrics.metrics.sup2;\n    }\n\n    // scriptspace is a font-size-independent size, so scale it\n    // appropriately\n    var multiplier = Style.TEXT.sizeMultiplier *\n            options.style.sizeMultiplier;\n    var scriptspace =\n        (0.5 / fontMetrics.metrics.ptPerEm) / multiplier + \"em\";\n\n    var supsub;\n    if (!group.value.sup) {\n        // Rule 18b\n        subShift = Math.max(\n            subShift, fontMetrics.metrics.sub1,\n            sub.height - 0.8 * fontMetrics.metrics.xHeight);\n\n        supsub = buildCommon.makeVList([\n            {type: \"elem\", elem: submid},\n        ], \"shift\", subShift, options);\n\n        supsub.children[0].style.marginRight = scriptspace;\n\n        // Subscripts shouldn't be shifted by the base's italic correction.\n        // Account for that by shifting the subscript back the appropriate\n        // amount. Note we only do this when the base is a single symbol.\n        if (base instanceof domTree.symbolNode) {\n            supsub.children[0].style.marginLeft = -base.italic + \"em\";\n        }\n    } else if (!group.value.sub) {\n        // Rule 18c, d\n        supShift = Math.max(supShift, minSupShift,\n            sup.depth + 0.25 * fontMetrics.metrics.xHeight);\n\n        supsub = buildCommon.makeVList([\n            {type: \"elem\", elem: supmid},\n        ], \"shift\", -supShift, options);\n\n        supsub.children[0].style.marginRight = scriptspace;\n    } else {\n        supShift = Math.max(\n            supShift, minSupShift,\n            sup.depth + 0.25 * fontMetrics.metrics.xHeight);\n        subShift = Math.max(subShift, fontMetrics.metrics.sub2);\n\n        var ruleWidth = fontMetrics.metrics.defaultRuleThickness;\n\n        // Rule 18e\n        if ((supShift - sup.depth) - (sub.height - subShift) <\n                4 * ruleWidth) {\n            subShift = 4 * ruleWidth - (supShift - sup.depth) + sub.height;\n            var psi = 0.8 * fontMetrics.metrics.xHeight -\n                (supShift - sup.depth);\n            if (psi > 0) {\n                supShift += psi;\n                subShift -= psi;\n            }\n        }\n\n        supsub = buildCommon.makeVList([\n            {type: \"elem\", elem: submid, shift: subShift},\n            {type: \"elem\", elem: supmid, shift: -supShift},\n        ], \"individualShift\", null, options);\n\n        // See comment above about subscripts not being shifted\n        if (base instanceof domTree.symbolNode) {\n            supsub.children[0].style.marginLeft = -base.italic + \"em\";\n        }\n\n        supsub.children[0].style.marginRight = scriptspace;\n        supsub.children[1].style.marginRight = scriptspace;\n    }\n\n    return makeSpan([getTypeOfGroup(group.value.base)],\n        [base, supsub]);\n};\n\ngroupTypes.genfrac = function(group, options, prev) {\n    // Fractions are handled in the TeXbook on pages 444-445, rules 15(a-e).\n    // Figure out what style this fraction should be in based on the\n    // function used\n    var fstyle = options.style;\n    if (group.value.size === \"display\") {\n        fstyle = Style.DISPLAY;\n    } else if (group.value.size === \"text\") {\n        fstyle = Style.TEXT;\n    }\n\n    var nstyle = fstyle.fracNum();\n    var dstyle = fstyle.fracDen();\n\n    var numer = buildGroup(group.value.numer, options.withStyle(nstyle));\n    var numerreset = makeSpan([fstyle.reset(), nstyle.cls()], [numer]);\n\n    var denom = buildGroup(group.value.denom, options.withStyle(dstyle));\n    var denomreset = makeSpan([fstyle.reset(), dstyle.cls()], [denom]);\n\n    var ruleWidth;\n    if (group.value.hasBarLine) {\n        ruleWidth = fontMetrics.metrics.defaultRuleThickness /\n            options.style.sizeMultiplier;\n    } else {\n        ruleWidth = 0;\n    }\n\n    // Rule 15b\n    var numShift;\n    var clearance;\n    var denomShift;\n    if (fstyle.size === Style.DISPLAY.size) {\n        numShift = fontMetrics.metrics.num1;\n        if (ruleWidth > 0) {\n            clearance = 3 * ruleWidth;\n        } else {\n            clearance = 7 * fontMetrics.metrics.defaultRuleThickness;\n        }\n        denomShift = fontMetrics.metrics.denom1;\n    } else {\n        if (ruleWidth > 0) {\n            numShift = fontMetrics.metrics.num2;\n            clearance = ruleWidth;\n        } else {\n            numShift = fontMetrics.metrics.num3;\n            clearance = 3 * fontMetrics.metrics.defaultRuleThickness;\n        }\n        denomShift = fontMetrics.metrics.denom2;\n    }\n\n    var frac;\n    if (ruleWidth === 0) {\n        // Rule 15c\n        var candiateClearance =\n            (numShift - numer.depth) - (denom.height - denomShift);\n        if (candiateClearance < clearance) {\n            numShift += 0.5 * (clearance - candiateClearance);\n            denomShift += 0.5 * (clearance - candiateClearance);\n        }\n\n        frac = buildCommon.makeVList([\n            {type: \"elem\", elem: denomreset, shift: denomShift},\n            {type: \"elem\", elem: numerreset, shift: -numShift},\n        ], \"individualShift\", null, options);\n    } else {\n        // Rule 15d\n        var axisHeight = fontMetrics.metrics.axisHeight;\n\n        if ((numShift - numer.depth) - (axisHeight + 0.5 * ruleWidth) <\n                clearance) {\n            numShift +=\n                clearance - ((numShift - numer.depth) -\n                             (axisHeight + 0.5 * ruleWidth));\n        }\n\n        if ((axisHeight - 0.5 * ruleWidth) - (denom.height - denomShift) <\n                clearance) {\n            denomShift +=\n                clearance - ((axisHeight - 0.5 * ruleWidth) -\n                             (denom.height - denomShift));\n        }\n\n        var mid = makeSpan(\n            [options.style.reset(), Style.TEXT.cls(), \"frac-line\"]);\n        // Manually set the height of the line because its height is\n        // created in CSS\n        mid.height = ruleWidth;\n\n        var midShift = -(axisHeight - 0.5 * ruleWidth);\n\n        frac = buildCommon.makeVList([\n            {type: \"elem\", elem: denomreset, shift: denomShift},\n            {type: \"elem\", elem: mid,        shift: midShift},\n            {type: \"elem\", elem: numerreset, shift: -numShift},\n        ], \"individualShift\", null, options);\n    }\n\n    // Since we manually change the style sometimes (with \\dfrac or \\tfrac),\n    // account for the possible size change here.\n    frac.height *= fstyle.sizeMultiplier / options.style.sizeMultiplier;\n    frac.depth *= fstyle.sizeMultiplier / options.style.sizeMultiplier;\n\n    // Rule 15e\n    var delimSize;\n    if (fstyle.size === Style.DISPLAY.size) {\n        delimSize = fontMetrics.metrics.delim1;\n    } else {\n        delimSize = fontMetrics.metrics.getDelim2(fstyle);\n    }\n\n    var leftDelim;\n    var rightDelim;\n    if (group.value.leftDelim == null) {\n        leftDelim = makeNullDelimiter(options);\n    } else {\n        leftDelim = delimiter.customSizedDelim(\n            group.value.leftDelim, delimSize, true,\n            options.withStyle(fstyle), group.mode);\n    }\n    if (group.value.rightDelim == null) {\n        rightDelim = makeNullDelimiter(options);\n    } else {\n        rightDelim = delimiter.customSizedDelim(\n            group.value.rightDelim, delimSize, true,\n            options.withStyle(fstyle), group.mode);\n    }\n\n    return makeSpan(\n        [\"mord\", options.style.reset(), fstyle.cls()],\n        [leftDelim, makeSpan([\"mfrac\"], [frac]), rightDelim],\n        options.getColor());\n};\n\ngroupTypes.array = function(group, options, prev) {\n    var r;\n    var c;\n    var nr = group.value.body.length;\n    var nc = 0;\n    var body = new Array(nr);\n\n    // Horizontal spacing\n    var pt = 1 / fontMetrics.metrics.ptPerEm;\n    var arraycolsep = 5 * pt; // \\arraycolsep in article.cls\n\n    // Vertical spacing\n    var baselineskip = 12 * pt; // see size10.clo\n    // Default \\arraystretch from lttab.dtx\n    // TODO(gagern): may get redefined once we have user-defined macros\n    var arraystretch = utils.deflt(group.value.arraystretch, 1);\n    var arrayskip = arraystretch * baselineskip;\n    var arstrutHeight = 0.7 * arrayskip; // \\strutbox in ltfsstrc.dtx and\n    var arstrutDepth = 0.3 * arrayskip;  // \\@arstrutbox in lttab.dtx\n\n    var totalHeight = 0;\n    for (r = 0; r < group.value.body.length; ++r) {\n        var inrow = group.value.body[r];\n        var height = arstrutHeight; // \\@array adds an \\@arstrut\n        var depth = arstrutDepth;   // to each tow (via the template)\n\n        if (nc < inrow.length) {\n            nc = inrow.length;\n        }\n\n        var outrow = new Array(inrow.length);\n        for (c = 0; c < inrow.length; ++c) {\n            var elt = buildGroup(inrow[c], options);\n            if (depth < elt.depth) {\n                depth = elt.depth;\n            }\n            if (height < elt.height) {\n                height = elt.height;\n            }\n            outrow[c] = elt;\n        }\n\n        var gap = 0;\n        if (group.value.rowGaps[r]) {\n            gap = group.value.rowGaps[r].value;\n            switch (gap.unit) {\n                case \"em\":\n                    gap = gap.number;\n                    break;\n                case \"ex\":\n                    gap = gap.number * fontMetrics.metrics.emPerEx;\n                    break;\n                default:\n                    console.error(\"Can't handle unit \" + gap.unit);\n                    gap = 0;\n            }\n            if (gap > 0) { // \\@argarraycr\n                gap += arstrutDepth;\n                if (depth < gap) {\n                    depth = gap; // \\@xargarraycr\n                }\n                gap = 0;\n            }\n        }\n\n        outrow.height = height;\n        outrow.depth = depth;\n        totalHeight += height;\n        outrow.pos = totalHeight;\n        totalHeight += depth + gap; // \\@yargarraycr\n        body[r] = outrow;\n    }\n\n    var offset = totalHeight / 2 + fontMetrics.metrics.axisHeight;\n    var colDescriptions = group.value.cols || [];\n    var cols = [];\n    var colSep;\n    var colDescrNum;\n    for (c = 0, colDescrNum = 0;\n         // Continue while either there are more columns or more column\n         // descriptions, so trailing separators don't get lost.\n         c < nc || colDescrNum < colDescriptions.length;\n         ++c, ++colDescrNum) {\n\n        var colDescr = colDescriptions[colDescrNum] || {};\n\n        var firstSeparator = true;\n        while (colDescr.type === \"separator\") {\n            // If there is more than one separator in a row, add a space\n            // between them.\n            if (!firstSeparator) {\n                colSep = makeSpan([\"arraycolsep\"], []);\n                colSep.style.width =\n                    fontMetrics.metrics.doubleRuleSep + \"em\";\n                cols.push(colSep);\n            }\n\n            if (colDescr.separator === \"|\") {\n                var separator = makeSpan(\n                    [\"vertical-separator\"],\n                    []);\n                separator.style.height = totalHeight + \"em\";\n                separator.style.verticalAlign =\n                    -(totalHeight - offset) + \"em\";\n\n                cols.push(separator);\n            } else {\n                throw new ParseError(\n                    \"Invalid separator type: \" + colDescr.separator);\n            }\n\n            colDescrNum++;\n            colDescr = colDescriptions[colDescrNum] || {};\n            firstSeparator = false;\n        }\n\n        if (c >= nc) {\n            continue;\n        }\n\n        var sepwidth;\n        if (c > 0 || group.value.hskipBeforeAndAfter) {\n            sepwidth = utils.deflt(colDescr.pregap, arraycolsep);\n            if (sepwidth !== 0) {\n                colSep = makeSpan([\"arraycolsep\"], []);\n                colSep.style.width = sepwidth + \"em\";\n                cols.push(colSep);\n            }\n        }\n\n        var col = [];\n        for (r = 0; r < nr; ++r) {\n            var row = body[r];\n            var elem = row[c];\n            if (!elem) {\n                continue;\n            }\n            var shift = row.pos - offset;\n            elem.depth = row.depth;\n            elem.height = row.height;\n            col.push({type: \"elem\", elem: elem, shift: shift});\n        }\n\n        col = buildCommon.makeVList(col, \"individualShift\", null, options);\n        col = makeSpan(\n            [\"col-align-\" + (colDescr.align || \"c\")],\n            [col]);\n        cols.push(col);\n\n        if (c < nc - 1 || group.value.hskipBeforeAndAfter) {\n            sepwidth = utils.deflt(colDescr.postgap, arraycolsep);\n            if (sepwidth !== 0) {\n                colSep = makeSpan([\"arraycolsep\"], []);\n                colSep.style.width = sepwidth + \"em\";\n                cols.push(colSep);\n            }\n        }\n    }\n    body = makeSpan([\"mtable\"], cols);\n    return makeSpan([\"mord\"], [body], options.getColor());\n};\n\ngroupTypes.spacing = function(group, options, prev) {\n    if (group.value === \"\\\\ \" || group.value === \"\\\\space\" ||\n        group.value === \" \" || group.value === \"~\") {\n        // Spaces are generated by adding an actual space. Each of these\n        // things has an entry in the symbols table, so these will be turned\n        // into appropriate outputs.\n        return makeSpan(\n            [\"mord\", \"mspace\"],\n            [buildCommon.mathsym(group.value, group.mode)]\n        );\n    } else {\n        // Other kinds of spaces are of arbitrary width. We use CSS to\n        // generate these.\n        return makeSpan(\n            [\"mord\", \"mspace\",\n             buildCommon.spacingFunctions[group.value].className]);\n    }\n};\n\ngroupTypes.llap = function(group, options, prev) {\n    var inner = makeSpan(\n        [\"inner\"], [buildGroup(group.value.body, options.reset())]);\n    var fix = makeSpan([\"fix\"], []);\n    return makeSpan(\n        [\"llap\", options.style.cls()], [inner, fix]);\n};\n\ngroupTypes.rlap = function(group, options, prev) {\n    var inner = makeSpan(\n        [\"inner\"], [buildGroup(group.value.body, options.reset())]);\n    var fix = makeSpan([\"fix\"], []);\n    return makeSpan(\n        [\"rlap\", options.style.cls()], [inner, fix]);\n};\n\ngroupTypes.op = function(group, options, prev) {\n    // Operators are handled in the TeXbook pg. 443-444, rule 13(a).\n    var supGroup;\n    var subGroup;\n    var hasLimits = false;\n    if (group.type === \"supsub\" ) {\n        // If we have limits, supsub will pass us its group to handle. Pull\n        // out the superscript and subscript and set the group to the op in\n        // its base.\n        supGroup = group.value.sup;\n        subGroup = group.value.sub;\n        group = group.value.base;\n        hasLimits = true;\n    }\n\n    // Most operators have a large successor symbol, but these don't.\n    var noSuccessor = [\n        \"\\\\smallint\",\n    ];\n\n    var large = false;\n    if (options.style.size === Style.DISPLAY.size &&\n        group.value.symbol &&\n        !utils.contains(noSuccessor, group.value.body)) {\n\n        // Most symbol operators get larger in displaystyle (rule 13)\n        large = true;\n    }\n\n    var base;\n    var baseShift = 0;\n    var slant = 0;\n    if (group.value.symbol) {\n        // If this is a symbol, create the symbol.\n        var style = large ? \"Size2-Regular\" : \"Size1-Regular\";\n        base = buildCommon.makeSymbol(\n            group.value.body, style, \"math\", options.getColor(),\n            [\"op-symbol\", large ? \"large-op\" : \"small-op\", \"mop\"]);\n\n        // Shift the symbol so its center lies on the axis (rule 13). It\n        // appears that our fonts have the centers of the symbols already\n        // almost on the axis, so these numbers are very small. Note we\n        // don't actually apply this here, but instead it is used either in\n        // the vlist creation or separately when there are no limits.\n        baseShift = (base.height - base.depth) / 2 -\n            fontMetrics.metrics.axisHeight *\n            options.style.sizeMultiplier;\n\n        // The slant of the symbol is just its italic correction.\n        slant = base.italic;\n    } else {\n        // Otherwise, this is a text operator. Build the text from the\n        // operator's name.\n        // TODO(emily): Add a space in the middle of some of these\n        // operators, like \\limsup\n        var output = [];\n        for (var i = 1; i < group.value.body.length; i++) {\n            output.push(buildCommon.mathsym(group.value.body[i], group.mode));\n        }\n        base = makeSpan([\"mop\"], output, options.getColor());\n    }\n\n    if (hasLimits) {\n        // IE 8 clips \\int if it is in a display: inline-block. We wrap it\n        // in a new span so it is an inline, and works.\n        base = makeSpan([], [base]);\n\n        var supmid;\n        var supKern;\n        var submid;\n        var subKern;\n        // We manually have to handle the superscripts and subscripts. This,\n        // aside from the kern calculations, is copied from supsub.\n        if (supGroup) {\n            var sup = buildGroup(\n                supGroup, options.withStyle(options.style.sup()));\n            supmid = makeSpan(\n                [options.style.reset(), options.style.sup().cls()], [sup]);\n\n            supKern = Math.max(\n                fontMetrics.metrics.bigOpSpacing1,\n                fontMetrics.metrics.bigOpSpacing3 - sup.depth);\n        }\n\n        if (subGroup) {\n            var sub = buildGroup(\n                subGroup, options.withStyle(options.style.sub()));\n            submid = makeSpan(\n                [options.style.reset(), options.style.sub().cls()],\n                [sub]);\n\n            subKern = Math.max(\n                fontMetrics.metrics.bigOpSpacing2,\n                fontMetrics.metrics.bigOpSpacing4 - sub.height);\n        }\n\n        // Build the final group as a vlist of the possible subscript, base,\n        // and possible superscript.\n        var finalGroup;\n        var top;\n        var bottom;\n        if (!supGroup) {\n            top = base.height - baseShift;\n\n            finalGroup = buildCommon.makeVList([\n                {type: \"kern\", size: fontMetrics.metrics.bigOpSpacing5},\n                {type: \"elem\", elem: submid},\n                {type: \"kern\", size: subKern},\n                {type: \"elem\", elem: base},\n            ], \"top\", top, options);\n\n            // Here, we shift the limits by the slant of the symbol. Note\n            // that we are supposed to shift the limits by 1/2 of the slant,\n            // but since we are centering the limits adding a full slant of\n            // margin will shift by 1/2 that.\n            finalGroup.children[0].style.marginLeft = -slant + \"em\";\n        } else if (!subGroup) {\n            bottom = base.depth + baseShift;\n\n            finalGroup = buildCommon.makeVList([\n                {type: \"elem\", elem: base},\n                {type: \"kern\", size: supKern},\n                {type: \"elem\", elem: supmid},\n                {type: \"kern\", size: fontMetrics.metrics.bigOpSpacing5},\n            ], \"bottom\", bottom, options);\n\n            // See comment above about slants\n            finalGroup.children[1].style.marginLeft = slant + \"em\";\n        } else if (!supGroup && !subGroup) {\n            // This case probably shouldn't occur (this would mean the\n            // supsub was sending us a group with no superscript or\n            // subscript) but be safe.\n            return base;\n        } else {\n            bottom = fontMetrics.metrics.bigOpSpacing5 +\n                submid.height + submid.depth +\n                subKern +\n                base.depth + baseShift;\n\n            finalGroup = buildCommon.makeVList([\n                {type: \"kern\", size: fontMetrics.metrics.bigOpSpacing5},\n                {type: \"elem\", elem: submid},\n                {type: \"kern\", size: subKern},\n                {type: \"elem\", elem: base},\n                {type: \"kern\", size: supKern},\n                {type: \"elem\", elem: supmid},\n                {type: \"kern\", size: fontMetrics.metrics.bigOpSpacing5},\n            ], \"bottom\", bottom, options);\n\n            // See comment above about slants\n            finalGroup.children[0].style.marginLeft = -slant + \"em\";\n            finalGroup.children[2].style.marginLeft = slant + \"em\";\n        }\n\n        return makeSpan([\"mop\", \"op-limits\"], [finalGroup]);\n    } else {\n        if (group.value.symbol) {\n            base.style.top = baseShift + \"em\";\n        }\n\n        return base;\n    }\n};\n\ngroupTypes.katex = function(group, options, prev) {\n    // The KaTeX logo. The offsets for the K and a were chosen to look\n    // good, but the offsets for the T, E, and X were taken from the\n    // definition of \\TeX in TeX (see TeXbook pg. 356)\n    var k = makeSpan(\n        [\"k\"], [buildCommon.mathsym(\"K\", group.mode)]);\n    var a = makeSpan(\n        [\"a\"], [buildCommon.mathsym(\"A\", group.mode)]);\n\n    a.height = (a.height + 0.2) * 0.75;\n    a.depth = (a.height - 0.2) * 0.75;\n\n    var t = makeSpan(\n        [\"t\"], [buildCommon.mathsym(\"T\", group.mode)]);\n    var e = makeSpan(\n        [\"e\"], [buildCommon.mathsym(\"E\", group.mode)]);\n\n    e.height = (e.height - 0.2155);\n    e.depth = (e.depth + 0.2155);\n\n    var x = makeSpan(\n        [\"x\"], [buildCommon.mathsym(\"X\", group.mode)]);\n\n    return makeSpan(\n        [\"katex-logo\", \"mord\"], [k, a, t, e, x], options.getColor());\n};\n\ngroupTypes.overline = function(group, options, prev) {\n    // Overlines are handled in the TeXbook pg 443, Rule 9.\n\n    // Build the inner group in the cramped style.\n    var innerGroup = buildGroup(group.value.body,\n            options.withStyle(options.style.cramp()));\n\n    var ruleWidth = fontMetrics.metrics.defaultRuleThickness /\n        options.style.sizeMultiplier;\n\n    // Create the line above the body\n    var line = makeSpan(\n        [options.style.reset(), Style.TEXT.cls(), \"overline-line\"]);\n    line.height = ruleWidth;\n    line.maxFontSize = 1.0;\n\n    // Generate the vlist, with the appropriate kerns\n    var vlist = buildCommon.makeVList([\n        {type: \"elem\", elem: innerGroup},\n        {type: \"kern\", size: 3 * ruleWidth},\n        {type: \"elem\", elem: line},\n        {type: \"kern\", size: ruleWidth},\n    ], \"firstBaseline\", null, options);\n\n    return makeSpan([\"overline\", \"mord\"], [vlist], options.getColor());\n};\n\ngroupTypes.underline = function(group, options, prev) {\n    // Underlines are handled in the TeXbook pg 443, Rule 10.\n\n    // Build the inner group.\n    var innerGroup = buildGroup(group.value.body, options);\n\n    var ruleWidth = fontMetrics.metrics.defaultRuleThickness /\n        options.style.sizeMultiplier;\n\n    // Create the line above the body\n    var line = makeSpan(\n        [options.style.reset(), Style.TEXT.cls(), \"underline-line\"]);\n    line.height = ruleWidth;\n    line.maxFontSize = 1.0;\n\n    // Generate the vlist, with the appropriate kerns\n    var vlist = buildCommon.makeVList([\n        {type: \"kern\", size: ruleWidth},\n        {type: \"elem\", elem: line},\n        {type: \"kern\", size: 3 * ruleWidth},\n        {type: \"elem\", elem: innerGroup},\n    ], \"top\", innerGroup.height, options);\n\n    return makeSpan([\"underline\", \"mord\"], [vlist], options.getColor());\n};\n\ngroupTypes.sqrt = function(group, options, prev) {\n    // Square roots are handled in the TeXbook pg. 443, Rule 11.\n\n    // First, we do the same steps as in overline to build the inner group\n    // and line\n    var inner = buildGroup(group.value.body,\n            options.withStyle(options.style.cramp()));\n\n    var ruleWidth = fontMetrics.metrics.defaultRuleThickness /\n        options.style.sizeMultiplier;\n\n    var line = makeSpan(\n        [options.style.reset(), Style.TEXT.cls(), \"sqrt-line\"], [],\n        options.getColor());\n    line.height = ruleWidth;\n    line.maxFontSize = 1.0;\n\n    var phi = ruleWidth;\n    if (options.style.id < Style.TEXT.id) {\n        phi = fontMetrics.metrics.xHeight;\n    }\n\n    // Calculate the clearance between the body and line\n    var lineClearance = ruleWidth + phi / 4;\n\n    var innerHeight =\n        (inner.height + inner.depth) * options.style.sizeMultiplier;\n    var minDelimiterHeight = innerHeight + lineClearance + ruleWidth;\n\n    // Create a \\surd delimiter of the required minimum size\n    var delim = makeSpan([\"sqrt-sign\"], [\n        delimiter.customSizedDelim(\"\\\\surd\", minDelimiterHeight,\n                                   false, options, group.mode)],\n                         options.getColor());\n\n    var delimDepth = (delim.height + delim.depth) - ruleWidth;\n\n    // Adjust the clearance based on the delimiter size\n    if (delimDepth > inner.height + inner.depth + lineClearance) {\n        lineClearance =\n            (lineClearance + delimDepth - inner.height - inner.depth) / 2;\n    }\n\n    // Shift the delimiter so that its top lines up with the top of the line\n    var delimShift = -(inner.height + lineClearance + ruleWidth) + delim.height;\n    delim.style.top = delimShift + \"em\";\n    delim.height -= delimShift;\n    delim.depth += delimShift;\n\n    // We add a special case here, because even when `inner` is empty, we\n    // still get a line. So, we use a simple heuristic to decide if we\n    // should omit the body entirely. (note this doesn't work for something\n    // like `\\sqrt{\\rlap{x}}`, but if someone is doing that they deserve for\n    // it not to work.\n    var body;\n    if (inner.height === 0 && inner.depth === 0) {\n        body = makeSpan();\n    } else {\n        body = buildCommon.makeVList([\n            {type: \"elem\", elem: inner},\n            {type: \"kern\", size: lineClearance},\n            {type: \"elem\", elem: line},\n            {type: \"kern\", size: ruleWidth},\n        ], \"firstBaseline\", null, options);\n    }\n\n    if (!group.value.index) {\n        return makeSpan([\"sqrt\", \"mord\"], [delim, body]);\n    } else {\n        // Handle the optional root index\n\n        // The index is always in scriptscript style\n        var root = buildGroup(\n            group.value.index,\n            options.withStyle(Style.SCRIPTSCRIPT));\n        var rootWrap = makeSpan(\n            [options.style.reset(), Style.SCRIPTSCRIPT.cls()],\n            [root]);\n\n        // Figure out the height and depth of the inner part\n        var innerRootHeight = Math.max(delim.height, body.height);\n        var innerRootDepth = Math.max(delim.depth, body.depth);\n\n        // The amount the index is shifted by. This is taken from the TeX\n        // source, in the definition of `\\r@@t`.\n        var toShift = 0.6 * (innerRootHeight - innerRootDepth);\n\n        // Build a VList with the superscript shifted up correctly\n        var rootVList = buildCommon.makeVList(\n            [{type: \"elem\", elem: rootWrap}],\n            \"shift\", -toShift, options);\n        // Add a class surrounding it so we can add on the appropriate\n        // kerning\n        var rootVListWrap = makeSpan([\"root\"], [rootVList]);\n\n        return makeSpan([\"sqrt\", \"mord\"], [rootVListWrap, delim, body]);\n    }\n};\n\ngroupTypes.sizing = function(group, options, prev) {\n    // Handle sizing operators like \\Huge. Real TeX doesn't actually allow\n    // these functions inside of math expressions, so we do some special\n    // handling.\n    var inner = buildExpression(group.value.value,\n            options.withSize(group.value.size), prev);\n\n    var span = makeSpan([\"mord\"],\n        [makeSpan([\"sizing\", \"reset-\" + options.size, group.value.size,\n                   options.style.cls()],\n                  inner)]);\n\n    // Calculate the correct maxFontSize manually\n    var fontSize = buildCommon.sizingMultiplier[group.value.size];\n    span.maxFontSize = fontSize * options.style.sizeMultiplier;\n\n    return span;\n};\n\ngroupTypes.styling = function(group, options, prev) {\n    // Style changes are handled in the TeXbook on pg. 442, Rule 3.\n\n    // Figure out what style we're changing to.\n    var style = {\n        \"display\": Style.DISPLAY,\n        \"text\": Style.TEXT,\n        \"script\": Style.SCRIPT,\n        \"scriptscript\": Style.SCRIPTSCRIPT,\n    };\n\n    var newStyle = style[group.value.style];\n\n    // Build the inner expression in the new style.\n    var inner = buildExpression(\n        group.value.value, options.withStyle(newStyle), prev);\n\n    return makeSpan([options.style.reset(), newStyle.cls()], inner);\n};\n\ngroupTypes.font = function(group, options, prev) {\n    var font = group.value.font;\n    return buildGroup(group.value.body, options.withFont(font), prev);\n};\n\ngroupTypes.delimsizing = function(group, options, prev) {\n    var delim = group.value.value;\n\n    if (delim === \".\") {\n        // Empty delimiters still count as elements, even though they don't\n        // show anything.\n        return makeSpan([groupToType[group.value.delimType]]);\n    }\n\n    // Use delimiter.sizedDelim to generate the delimiter.\n    return makeSpan(\n        [groupToType[group.value.delimType]],\n        [delimiter.sizedDelim(\n            delim, group.value.size, options, group.mode)]);\n};\n\ngroupTypes.leftright = function(group, options, prev) {\n    // Build the inner expression\n    var inner = buildExpression(group.value.body, options.reset());\n\n    var innerHeight = 0;\n    var innerDepth = 0;\n\n    // Calculate its height and depth\n    for (var i = 0; i < inner.length; i++) {\n        innerHeight = Math.max(inner[i].height, innerHeight);\n        innerDepth = Math.max(inner[i].depth, innerDepth);\n    }\n\n    // The size of delimiters is the same, regardless of what style we are\n    // in. Thus, to correctly calculate the size of delimiter we need around\n    // a group, we scale down the inner size based on the size.\n    innerHeight *= options.style.sizeMultiplier;\n    innerDepth *= options.style.sizeMultiplier;\n\n    var leftDelim;\n    if (group.value.left === \".\") {\n        // Empty delimiters in \\left and \\right make null delimiter spaces.\n        leftDelim = makeNullDelimiter(options);\n    } else {\n        // Otherwise, use leftRightDelim to generate the correct sized\n        // delimiter.\n        leftDelim = delimiter.leftRightDelim(\n            group.value.left, innerHeight, innerDepth, options,\n            group.mode);\n    }\n    // Add it to the beginning of the expression\n    inner.unshift(leftDelim);\n\n    var rightDelim;\n    // Same for the right delimiter\n    if (group.value.right === \".\") {\n        rightDelim = makeNullDelimiter(options);\n    } else {\n        rightDelim = delimiter.leftRightDelim(\n            group.value.right, innerHeight, innerDepth, options,\n            group.mode);\n    }\n    // Add it to the end of the expression.\n    inner.push(rightDelim);\n\n    return makeSpan(\n        [\"minner\", options.style.cls()], inner, options.getColor());\n};\n\ngroupTypes.rule = function(group, options, prev) {\n    // Make an empty span for the rule\n    var rule = makeSpan([\"mord\", \"rule\"], [], options.getColor());\n\n    // Calculate the shift, width, and height of the rule, and account for units\n    var shift = 0;\n    if (group.value.shift) {\n        shift = group.value.shift.number;\n        if (group.value.shift.unit === \"ex\") {\n            shift *= fontMetrics.metrics.xHeight;\n        }\n    }\n\n    var width = group.value.width.number;\n    if (group.value.width.unit === \"ex\") {\n        width *= fontMetrics.metrics.xHeight;\n    }\n\n    var height = group.value.height.number;\n    if (group.value.height.unit === \"ex\") {\n        height *= fontMetrics.metrics.xHeight;\n    }\n\n    // The sizes of rules are absolute, so make it larger if we are in a\n    // smaller style.\n    shift /= options.style.sizeMultiplier;\n    width /= options.style.sizeMultiplier;\n    height /= options.style.sizeMultiplier;\n\n    // Style the rule to the right size\n    rule.style.borderRightWidth = width + \"em\";\n    rule.style.borderTopWidth = height + \"em\";\n    rule.style.bottom = shift + \"em\";\n\n    // Record the height and width\n    rule.width = width;\n    rule.height = height + shift;\n    rule.depth = -shift;\n\n    return rule;\n};\n\ngroupTypes.accent = function(group, options, prev) {\n    // Accents are handled in the TeXbook pg. 443, rule 12.\n    var base = group.value.base;\n\n    var supsubGroup;\n    if (group.type === \"supsub\") {\n        // If our base is a character box, and we have superscripts and\n        // subscripts, the supsub will defer to us. In particular, we want\n        // to attach the superscripts and subscripts to the inner body (so\n        // that the position of the superscripts and subscripts won't be\n        // affected by the height of the accent). We accomplish this by\n        // sticking the base of the accent into the base of the supsub, and\n        // rendering that, while keeping track of where the accent is.\n\n        // The supsub group is the group that was passed in\n        var supsub = group;\n        // The real accent group is the base of the supsub group\n        group = supsub.value.base;\n        // The character box is the base of the accent group\n        base = group.value.base;\n        // Stick the character box into the base of the supsub group\n        supsub.value.base = base;\n\n        // Rerender the supsub group with its new base, and store that\n        // result.\n        supsubGroup = buildGroup(\n            supsub, options.reset(), prev);\n    }\n\n    // Build the base group\n    var body = buildGroup(\n        base, options.withStyle(options.style.cramp()));\n\n    // Calculate the skew of the accent. This is based on the line \"If the\n    // nucleus is not a single character, let s = 0; otherwise set s to the\n    // kern amount for the nucleus followed by the \\skewchar of its font.\"\n    // Note that our skew metrics are just the kern between each character\n    // and the skewchar.\n    var skew;\n    if (isCharacterBox(base)) {\n        // If the base is a character box, then we want the skew of the\n        // innermost character. To do that, we find the innermost character:\n        var baseChar = getBaseElem(base);\n        // Then, we render its group to get the symbol inside it\n        var baseGroup = buildGroup(\n            baseChar, options.withStyle(options.style.cramp()));\n        // Finally, we pull the skew off of the symbol.\n        skew = baseGroup.skew;\n        // Note that we now throw away baseGroup, because the layers we\n        // removed with getBaseElem might contain things like \\color which\n        // we can't get rid of.\n        // TODO(emily): Find a better way to get the skew\n    } else {\n        skew = 0;\n    }\n\n    // calculate the amount of space between the body and the accent\n    var clearance = Math.min(body.height, fontMetrics.metrics.xHeight);\n\n    // Build the accent\n    var accent = buildCommon.makeSymbol(\n        group.value.accent, \"Main-Regular\", \"math\", options.getColor());\n    // Remove the italic correction of the accent, because it only serves to\n    // shift the accent over to a place we don't want.\n    accent.italic = 0;\n\n    // The \\vec character that the fonts use is a combining character, and\n    // thus shows up much too far to the left. To account for this, we add a\n    // specific class which shifts the accent over to where we want it.\n    // TODO(emily): Fix this in a better way, like by changing the font\n    var vecClass = group.value.accent === \"\\\\vec\" ? \"accent-vec\" : null;\n\n    var accentBody = makeSpan([\"accent-body\", vecClass], [\n        makeSpan([], [accent])]);\n\n    accentBody = buildCommon.makeVList([\n        {type: \"elem\", elem: body},\n        {type: \"kern\", size: -clearance},\n        {type: \"elem\", elem: accentBody},\n    ], \"firstBaseline\", null, options);\n\n    // Shift the accent over by the skew. Note we shift by twice the skew\n    // because we are centering the accent, so by adding 2*skew to the left,\n    // we shift it to the right by 1*skew.\n    accentBody.children[1].style.marginLeft = 2 * skew + \"em\";\n\n    var accentWrap = makeSpan([\"mord\", \"accent\"], [accentBody]);\n\n    if (supsubGroup) {\n        // Here, we replace the \"base\" child of the supsub with our newly\n        // generated accent.\n        supsubGroup.children[0] = accentWrap;\n\n        // Since we don't rerun the height calculation after replacing the\n        // accent, we manually recalculate height.\n        supsubGroup.height = Math.max(accentWrap.height, supsubGroup.height);\n\n        // Accents should always be ords, even when their innards are not.\n        supsubGroup.classes[0] = \"mord\";\n\n        return supsubGroup;\n    } else {\n        return accentWrap;\n    }\n};\n\ngroupTypes.phantom = function(group, options, prev) {\n    var elements = buildExpression(\n        group.value.value,\n        options.withPhantom(),\n        prev\n    );\n\n    // \\phantom isn't supposed to affect the elements it contains.\n    // See \"color\" for more details.\n    return new buildCommon.makeFragment(elements);\n};\n\n/**\n * buildGroup is the function that takes a group and calls the correct groupType\n * function for it. It also handles the interaction of size and style changes\n * between parents and children.\n */\nvar buildGroup = function(group, options, prev) {\n    if (!group) {\n        return makeSpan();\n    }\n\n    if (groupTypes[group.type]) {\n        // Call the groupTypes function\n        var groupNode = groupTypes[group.type](group, options, prev);\n        var multiplier;\n\n        // If the style changed between the parent and the current group,\n        // account for the size difference\n        if (options.style !== options.parentStyle) {\n            multiplier = options.style.sizeMultiplier /\n                    options.parentStyle.sizeMultiplier;\n\n            groupNode.height *= multiplier;\n            groupNode.depth *= multiplier;\n        }\n\n        // If the size changed between the parent and the current group, account\n        // for that size difference.\n        if (options.size !== options.parentSize) {\n            multiplier = buildCommon.sizingMultiplier[options.size] /\n                    buildCommon.sizingMultiplier[options.parentSize];\n\n            groupNode.height *= multiplier;\n            groupNode.depth *= multiplier;\n        }\n\n        return groupNode;\n    } else {\n        throw new ParseError(\n            \"Got group of unknown type: '\" + group.type + \"'\");\n    }\n};\n\n/**\n * Take an entire parse tree, and build it into an appropriate set of HTML\n * nodes.\n */\nvar buildHTML = function(tree, options) {\n    // buildExpression is destructive, so we need to make a clone\n    // of the incoming tree so that it isn't accidentally changed\n    tree = JSON.parse(JSON.stringify(tree));\n\n    // Build the expression contained in the tree\n    var expression = buildExpression(tree, options);\n    var body = makeSpan([\"base\", options.style.cls()], expression);\n\n    // Add struts, which ensure that the top of the HTML element falls at the\n    // height of the expression, and the bottom of the HTML element falls at the\n    // depth of the expression.\n    var topStrut = makeSpan([\"strut\"]);\n    var bottomStrut = makeSpan([\"strut\", \"bottom\"]);\n\n    topStrut.style.height = body.height + \"em\";\n    bottomStrut.style.height = (body.height + body.depth) + \"em\";\n    // We'd like to use `vertical-align: top` but in IE 9 this lowers the\n    // baseline of the box to the bottom of this strut (instead staying in the\n    // normal place) so we use an absolute value for vertical-align instead\n    bottomStrut.style.verticalAlign = -body.depth + \"em\";\n\n    // Wrap the struts and body together\n    var htmlNode = makeSpan([\"katex-html\"], [topStrut, bottomStrut, body]);\n\n    htmlNode.setAttribute(\"aria-hidden\", \"true\");\n\n    return htmlNode;\n};\n\nmodule.exports = buildHTML;\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/third_party/katex/src/buildMathML.js",
    "content": "/**\n * This file converts a parse tree into a cooresponding MathML tree. The main\n * entry point is the `buildMathML` function, which takes a parse tree from the\n * parser.\n */\n\nvar buildCommon = require(\"./buildCommon\");\nvar fontMetrics = require(\"./fontMetrics\");\nvar mathMLTree = require(\"./mathMLTree\");\nvar ParseError = require(\"./ParseError\");\nvar symbols = require(\"./symbols\");\nvar utils = require(\"./utils\");\n\nvar makeSpan = buildCommon.makeSpan;\nvar fontMap = buildCommon.fontMap;\n\n/**\n * Takes a symbol and converts it into a MathML text node after performing\n * optional replacement from symbols.js.\n */\nvar makeText = function(text, mode) {\n    if (symbols[mode][text] && symbols[mode][text].replace) {\n        text = symbols[mode][text].replace;\n    }\n\n    return new mathMLTree.TextNode(text);\n};\n\n/**\n * Returns the math variant as a string or null if none is required.\n */\nvar getVariant = function(group, options) {\n    var font = options.font;\n    if (!font) {\n        return null;\n    }\n\n    var mode = group.mode;\n    if (font === \"mathit\") {\n        return \"italic\";\n    }\n\n    var value = group.value;\n    if (utils.contains([\"\\\\imath\", \"\\\\jmath\"], value)) {\n        return null;\n    }\n\n    if (symbols[mode][value] && symbols[mode][value].replace) {\n        value = symbols[mode][value].replace;\n    }\n\n    var fontName = fontMap[font].fontName;\n    if (fontMetrics.getCharacterMetrics(value, fontName)) {\n        return fontMap[options.font].variant;\n    }\n\n    return null;\n};\n\n/**\n * Functions for handling the different types of groups found in the parse\n * tree. Each function should take a parse group and return a MathML node.\n */\nvar groupTypes = {};\n\ngroupTypes.mathord = function(group, options) {\n    var node = new mathMLTree.MathNode(\n        \"mi\",\n        [makeText(group.value, group.mode)]);\n\n    var variant = getVariant(group, options);\n    if (variant) {\n        node.setAttribute(\"mathvariant\", variant);\n    }\n    return node;\n};\n\ngroupTypes.textord = function(group, options) {\n    var text = makeText(group.value, group.mode);\n\n    var variant = getVariant(group, options) || \"normal\";\n\n    var node;\n    if (/[0-9]/.test(group.value)) {\n        // TODO(kevinb) merge adjacent <mn> nodes\n        // do it as a post processing step\n        node = new mathMLTree.MathNode(\"mn\", [text]);\n        if (options.font) {\n            node.setAttribute(\"mathvariant\", variant);\n        }\n    } else {\n        node = new mathMLTree.MathNode(\"mi\", [text]);\n        node.setAttribute(\"mathvariant\", variant);\n    }\n\n    return node;\n};\n\ngroupTypes.bin = function(group) {\n    var node = new mathMLTree.MathNode(\n        \"mo\", [makeText(group.value, group.mode)]);\n\n    return node;\n};\n\ngroupTypes.rel = function(group) {\n    var node = new mathMLTree.MathNode(\n        \"mo\", [makeText(group.value, group.mode)]);\n\n    return node;\n};\n\ngroupTypes.open = function(group) {\n    var node = new mathMLTree.MathNode(\n        \"mo\", [makeText(group.value, group.mode)]);\n\n    return node;\n};\n\ngroupTypes.close = function(group) {\n    var node = new mathMLTree.MathNode(\n        \"mo\", [makeText(group.value, group.mode)]);\n\n    return node;\n};\n\ngroupTypes.inner = function(group) {\n    var node = new mathMLTree.MathNode(\n        \"mo\", [makeText(group.value, group.mode)]);\n\n    return node;\n};\n\ngroupTypes.punct = function(group) {\n    var node = new mathMLTree.MathNode(\n        \"mo\", [makeText(group.value, group.mode)]);\n\n    node.setAttribute(\"separator\", \"true\");\n\n    return node;\n};\n\ngroupTypes.ordgroup = function(group, options) {\n    var inner = buildExpression(group.value, options);\n\n    var node = new mathMLTree.MathNode(\"mrow\", inner);\n\n    return node;\n};\n\ngroupTypes.text = function(group, options) {\n    var inner = buildExpression(group.value.body, options);\n\n    var node = new mathMLTree.MathNode(\"mtext\", inner);\n\n    return node;\n};\n\ngroupTypes.color = function(group, options) {\n    var inner = buildExpression(group.value.value, options);\n\n    var node = new mathMLTree.MathNode(\"mstyle\", inner);\n\n    node.setAttribute(\"mathcolor\", group.value.color);\n\n    return node;\n};\n\ngroupTypes.supsub = function(group, options) {\n    var children = [buildGroup(group.value.base, options)];\n\n    if (group.value.sub) {\n        children.push(buildGroup(group.value.sub, options));\n    }\n\n    if (group.value.sup) {\n        children.push(buildGroup(group.value.sup, options));\n    }\n\n    var nodeType;\n    if (!group.value.sub) {\n        nodeType = \"msup\";\n    } else if (!group.value.sup) {\n        nodeType = \"msub\";\n    } else {\n        nodeType = \"msubsup\";\n    }\n\n    var node = new mathMLTree.MathNode(nodeType, children);\n\n    return node;\n};\n\ngroupTypes.genfrac = function(group, options) {\n    var node = new mathMLTree.MathNode(\n        \"mfrac\",\n        [buildGroup(group.value.numer, options),\n         buildGroup(group.value.denom, options)]);\n\n    if (!group.value.hasBarLine) {\n        node.setAttribute(\"linethickness\", \"0px\");\n    }\n\n    if (group.value.leftDelim != null || group.value.rightDelim != null) {\n        var withDelims = [];\n\n        if (group.value.leftDelim != null) {\n            var leftOp = new mathMLTree.MathNode(\n                \"mo\", [new mathMLTree.TextNode(group.value.leftDelim)]);\n\n            leftOp.setAttribute(\"fence\", \"true\");\n\n            withDelims.push(leftOp);\n        }\n\n        withDelims.push(node);\n\n        if (group.value.rightDelim != null) {\n            var rightOp = new mathMLTree.MathNode(\n                \"mo\", [new mathMLTree.TextNode(group.value.rightDelim)]);\n\n            rightOp.setAttribute(\"fence\", \"true\");\n\n            withDelims.push(rightOp);\n        }\n\n        var outerNode = new mathMLTree.MathNode(\"mrow\", withDelims);\n\n        return outerNode;\n    }\n\n    return node;\n};\n\ngroupTypes.array = function(group, options) {\n    return new mathMLTree.MathNode(\n        \"mtable\", group.value.body.map(function(row) {\n            return new mathMLTree.MathNode(\n                \"mtr\", row.map(function(cell) {\n                    return new mathMLTree.MathNode(\n                        \"mtd\", [buildGroup(cell, options)]);\n                }));\n        }));\n};\n\ngroupTypes.sqrt = function(group, options) {\n    var node;\n    if (group.value.index) {\n        node = new mathMLTree.MathNode(\n            \"mroot\", [\n                buildGroup(group.value.body, options),\n                buildGroup(group.value.index, options),\n            ]);\n    } else {\n        node = new mathMLTree.MathNode(\n            \"msqrt\", [buildGroup(group.value.body, options)]);\n    }\n\n    return node;\n};\n\ngroupTypes.leftright = function(group, options) {\n    var inner = buildExpression(group.value.body, options);\n\n    if (group.value.left !== \".\") {\n        var leftNode = new mathMLTree.MathNode(\n            \"mo\", [makeText(group.value.left, group.mode)]);\n\n        leftNode.setAttribute(\"fence\", \"true\");\n\n        inner.unshift(leftNode);\n    }\n\n    if (group.value.right !== \".\") {\n        var rightNode = new mathMLTree.MathNode(\n            \"mo\", [makeText(group.value.right, group.mode)]);\n\n        rightNode.setAttribute(\"fence\", \"true\");\n\n        inner.push(rightNode);\n    }\n\n    var outerNode = new mathMLTree.MathNode(\"mrow\", inner);\n\n    return outerNode;\n};\n\ngroupTypes.accent = function(group, options) {\n    var accentNode = new mathMLTree.MathNode(\n        \"mo\", [makeText(group.value.accent, group.mode)]);\n\n    var node = new mathMLTree.MathNode(\n        \"mover\",\n        [buildGroup(group.value.base, options),\n         accentNode]);\n\n    node.setAttribute(\"accent\", \"true\");\n\n    return node;\n};\n\ngroupTypes.spacing = function(group) {\n    var node;\n\n    if (group.value === \"\\\\ \" || group.value === \"\\\\space\" ||\n        group.value === \" \" || group.value === \"~\") {\n        node = new mathMLTree.MathNode(\n            \"mtext\", [new mathMLTree.TextNode(\"\\u00a0\")]);\n    } else {\n        node = new mathMLTree.MathNode(\"mspace\");\n\n        node.setAttribute(\n            \"width\", buildCommon.spacingFunctions[group.value].size);\n    }\n\n    return node;\n};\n\ngroupTypes.op = function(group) {\n    var node;\n\n    // TODO(emily): handle big operators using the `largeop` attribute\n\n    if (group.value.symbol) {\n        // This is a symbol. Just add the symbol.\n        node = new mathMLTree.MathNode(\n            \"mo\", [makeText(group.value.body, group.mode)]);\n    } else {\n        // This is a text operator. Add all of the characters from the\n        // operator's name.\n        // TODO(emily): Add a space in the middle of some of these\n        // operators, like \\limsup.\n        node = new mathMLTree.MathNode(\n            \"mi\", [new mathMLTree.TextNode(group.value.body.slice(1))]);\n    }\n\n    return node;\n};\n\ngroupTypes.katex = function(group) {\n    var node = new mathMLTree.MathNode(\n        \"mtext\", [new mathMLTree.TextNode(\"KaTeX\")]);\n\n    return node;\n};\n\ngroupTypes.font = function(group, options) {\n    var font = group.value.font;\n    return buildGroup(group.value.body, options.withFont(font));\n};\n\ngroupTypes.delimsizing = function(group) {\n    var children = [];\n\n    if (group.value.value !== \".\") {\n        children.push(makeText(group.value.value, group.mode));\n    }\n\n    var node = new mathMLTree.MathNode(\"mo\", children);\n\n    if (group.value.delimType === \"open\" ||\n        group.value.delimType === \"close\") {\n        // Only some of the delimsizing functions act as fences, and they\n        // return \"open\" or \"close\" delimTypes.\n        node.setAttribute(\"fence\", \"true\");\n    } else {\n        // Explicitly disable fencing if it's not a fence, to override the\n        // defaults.\n        node.setAttribute(\"fence\", \"false\");\n    }\n\n    return node;\n};\n\ngroupTypes.styling = function(group, options) {\n    var inner = buildExpression(group.value.value, options);\n\n    var node = new mathMLTree.MathNode(\"mstyle\", inner);\n\n    var styleAttributes = {\n        \"display\": [\"0\", \"true\"],\n        \"text\": [\"0\", \"false\"],\n        \"script\": [\"1\", \"false\"],\n        \"scriptscript\": [\"2\", \"false\"],\n    };\n\n    var attr = styleAttributes[group.value.style];\n\n    node.setAttribute(\"scriptlevel\", attr[0]);\n    node.setAttribute(\"displaystyle\", attr[1]);\n\n    return node;\n};\n\ngroupTypes.sizing = function(group, options) {\n    var inner = buildExpression(group.value.value, options);\n\n    var node = new mathMLTree.MathNode(\"mstyle\", inner);\n\n    // TODO(emily): This doesn't produce the correct size for nested size\n    // changes, because we don't keep state of what style we're currently\n    // in, so we can't reset the size to normal before changing it.  Now\n    // that we're passing an options parameter we should be able to fix\n    // this.\n    node.setAttribute(\n        \"mathsize\", buildCommon.sizingMultiplier[group.value.size] + \"em\");\n\n    return node;\n};\n\ngroupTypes.overline = function(group, options) {\n    var operator = new mathMLTree.MathNode(\n        \"mo\", [new mathMLTree.TextNode(\"\\u203e\")]);\n    operator.setAttribute(\"stretchy\", \"true\");\n\n    var node = new mathMLTree.MathNode(\n        \"mover\",\n        [buildGroup(group.value.body, options),\n         operator]);\n    node.setAttribute(\"accent\", \"true\");\n\n    return node;\n};\n\ngroupTypes.underline = function(group, options) {\n    var operator = new mathMLTree.MathNode(\n        \"mo\", [new mathMLTree.TextNode(\"\\u203e\")]);\n    operator.setAttribute(\"stretchy\", \"true\");\n\n    var node = new mathMLTree.MathNode(\n        \"munder\",\n        [buildGroup(group.value.body, options),\n         operator]);\n    node.setAttribute(\"accentunder\", \"true\");\n\n    return node;\n};\n\ngroupTypes.rule = function(group) {\n    // TODO(emily): Figure out if there's an actual way to draw black boxes\n    // in MathML.\n    var node = new mathMLTree.MathNode(\"mrow\");\n\n    return node;\n};\n\ngroupTypes.llap = function(group, options) {\n    var node = new mathMLTree.MathNode(\n        \"mpadded\", [buildGroup(group.value.body, options)]);\n\n    node.setAttribute(\"lspace\", \"-1width\");\n    node.setAttribute(\"width\", \"0px\");\n\n    return node;\n};\n\ngroupTypes.rlap = function(group, options) {\n    var node = new mathMLTree.MathNode(\n        \"mpadded\", [buildGroup(group.value.body, options)]);\n\n    node.setAttribute(\"width\", \"0px\");\n\n    return node;\n};\n\ngroupTypes.phantom = function(group, options, prev) {\n    var inner = buildExpression(group.value.value, options);\n    return new mathMLTree.MathNode(\"mphantom\", inner);\n};\n\n/**\n * Takes a list of nodes, builds them, and returns a list of the generated\n * MathML nodes. A little simpler than the HTML version because we don't do any\n * previous-node handling.\n */\nvar buildExpression = function(expression, options) {\n    var groups = [];\n    for (var i = 0; i < expression.length; i++) {\n        var group = expression[i];\n        groups.push(buildGroup(group, options));\n    }\n    return groups;\n};\n\n/**\n * Takes a group from the parser and calls the appropriate groupTypes function\n * on it to produce a MathML node.\n */\nvar buildGroup = function(group, options) {\n    if (!group) {\n        return new mathMLTree.MathNode(\"mrow\");\n    }\n\n    if (groupTypes[group.type]) {\n        // Call the groupTypes function\n        return groupTypes[group.type](group, options);\n    } else {\n        throw new ParseError(\n            \"Got group of unknown type: '\" + group.type + \"'\");\n    }\n};\n\n/**\n * Takes a full parse tree and settings and builds a MathML representation of\n * it. In particular, we put the elements from building the parse tree into a\n * <semantics> tag so we can also include that TeX source as an annotation.\n *\n * Note that we actually return a domTree element with a `<math>` inside it so\n * we can do appropriate styling.\n */\nvar buildMathML = function(tree, texExpression, options) {\n    var expression = buildExpression(tree, options);\n\n    // Wrap up the expression in an mrow so it is presented in the semantics\n    // tag correctly.\n    var wrapper = new mathMLTree.MathNode(\"mrow\", expression);\n\n    // Build a TeX annotation of the source\n    var annotation = new mathMLTree.MathNode(\n        \"annotation\", [new mathMLTree.TextNode(texExpression)]);\n\n    annotation.setAttribute(\"encoding\", \"application/x-tex\");\n\n    var semantics = new mathMLTree.MathNode(\n        \"semantics\", [wrapper, annotation]);\n\n    var math = new mathMLTree.MathNode(\"math\", [semantics]);\n\n    // You can't style <math> nodes, so we wrap the node in a span.\n    return makeSpan([\"katex-mathml\"], [math]);\n};\n\nmodule.exports = buildMathML;\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/third_party/katex/src/buildTree.js",
    "content": "var buildHTML = require(\"./buildHTML\");\nvar buildMathML = require(\"./buildMathML\");\nvar buildCommon = require(\"./buildCommon\");\nvar Options = require(\"./Options\");\nvar Settings = require(\"./Settings\");\nvar Style = require(\"./Style\");\n\nvar makeSpan = buildCommon.makeSpan;\n\nvar buildTree = function(tree, expression, settings) {\n    settings = settings || new Settings({});\n\n    var startStyle = Style.TEXT;\n    if (settings.displayMode) {\n        startStyle = Style.DISPLAY;\n    }\n\n    // Setup the default options\n    var options = new Options({\n        style: startStyle,\n        size: \"size5\",\n    });\n\n    // `buildHTML` sometimes messes with the parse tree (like turning bins ->\n    // ords), so we build the MathML version first.\n    var mathMLNode = buildMathML(tree, expression, options);\n    var htmlNode = buildHTML(tree, options);\n\n    var katexNode = makeSpan([\"katex\"], [\n        mathMLNode, htmlNode,\n    ]);\n\n    if (settings.displayMode) {\n        return makeSpan([\"katex-display\"], [katexNode]);\n    } else {\n        return katexNode;\n    }\n};\n\nmodule.exports = buildTree;\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/third_party/katex/src/delimiter.js",
    "content": "/**\n * This file deals with creating delimiters of various sizes. The TeXbook\n * discusses these routines on page 441-442, in the \"Another subroutine sets box\n * x to a specified variable delimiter\" paragraph.\n *\n * There are three main routines here. `makeSmallDelim` makes a delimiter in the\n * normal font, but in either text, script, or scriptscript style.\n * `makeLargeDelim` makes a delimiter in textstyle, but in one of the Size1,\n * Size2, Size3, or Size4 fonts. `makeStackedDelim` makes a delimiter out of\n * smaller pieces that are stacked on top of one another.\n *\n * The functions take a parameter `center`, which determines if the delimiter\n * should be centered around the axis.\n *\n * Then, there are three exposed functions. `sizedDelim` makes a delimiter in\n * one of the given sizes. This is used for things like `\\bigl`.\n * `customSizedDelim` makes a delimiter with a given total height+depth. It is\n * called in places like `\\sqrt`. `leftRightDelim` makes an appropriate\n * delimiter which surrounds an expression of a given height an depth. It is\n * used in `\\left` and `\\right`.\n */\n\nvar ParseError = require(\"./ParseError\");\nvar Style = require(\"./Style\");\n\nvar buildCommon = require(\"./buildCommon\");\nvar fontMetrics = require(\"./fontMetrics\");\nvar symbols = require(\"./symbols\");\nvar utils = require(\"./utils\");\n\nvar makeSpan = buildCommon.makeSpan;\n\n/**\n * Get the metrics for a given symbol and font, after transformation (i.e.\n * after following replacement from symbols.js)\n */\nvar getMetrics = function(symbol, font) {\n    if (symbols.math[symbol] && symbols.math[symbol].replace) {\n        return fontMetrics.getCharacterMetrics(\n            symbols.math[symbol].replace, font);\n    } else {\n        return fontMetrics.getCharacterMetrics(\n            symbol, font);\n    }\n};\n\n/**\n * Builds a symbol in the given font size (note size is an integer)\n */\nvar mathrmSize = function(value, size, mode) {\n    return buildCommon.makeSymbol(value, \"Size\" + size + \"-Regular\", mode);\n};\n\n/**\n * Puts a delimiter span in a given style, and adds appropriate height, depth,\n * and maxFontSizes.\n */\nvar styleWrap = function(delim, toStyle, options) {\n    var span = makeSpan(\n        [\"style-wrap\", options.style.reset(), toStyle.cls()], [delim]);\n\n    var multiplier = toStyle.sizeMultiplier / options.style.sizeMultiplier;\n\n    span.height *= multiplier;\n    span.depth *= multiplier;\n    span.maxFontSize = toStyle.sizeMultiplier;\n\n    return span;\n};\n\n/**\n * Makes a small delimiter. This is a delimiter that comes in the Main-Regular\n * font, but is restyled to either be in textstyle, scriptstyle, or\n * scriptscriptstyle.\n */\nvar makeSmallDelim = function(delim, style, center, options, mode) {\n    var text = buildCommon.makeSymbol(delim, \"Main-Regular\", mode);\n\n    var span = styleWrap(text, style, options);\n\n    if (center) {\n        var shift =\n            (1 - options.style.sizeMultiplier / style.sizeMultiplier) *\n            fontMetrics.metrics.axisHeight;\n\n        span.style.top = shift + \"em\";\n        span.height -= shift;\n        span.depth += shift;\n    }\n\n    return span;\n};\n\n/**\n * Makes a large delimiter. This is a delimiter that comes in the Size1, Size2,\n * Size3, or Size4 fonts. It is always rendered in textstyle.\n */\nvar makeLargeDelim = function(delim, size, center, options, mode) {\n    var inner = mathrmSize(delim, size, mode);\n\n    var span = styleWrap(\n        makeSpan([\"delimsizing\", \"size\" + size],\n                 [inner], options.getColor()),\n        Style.TEXT, options);\n\n    if (center) {\n        var shift = (1 - options.style.sizeMultiplier) *\n            fontMetrics.metrics.axisHeight;\n\n        span.style.top = shift + \"em\";\n        span.height -= shift;\n        span.depth += shift;\n    }\n\n    return span;\n};\n\n/**\n * Make an inner span with the given offset and in the given font. This is used\n * in `makeStackedDelim` to make the stacking pieces for the delimiter.\n */\nvar makeInner = function(symbol, font, mode) {\n    var sizeClass;\n    // Apply the correct CSS class to choose the right font.\n    if (font === \"Size1-Regular\") {\n        sizeClass = \"delim-size1\";\n    } else if (font === \"Size4-Regular\") {\n        sizeClass = \"delim-size4\";\n    }\n\n    var inner = makeSpan(\n        [\"delimsizinginner\", sizeClass],\n        [makeSpan([], [buildCommon.makeSymbol(symbol, font, mode)])]);\n\n    // Since this will be passed into `makeVList` in the end, wrap the element\n    // in the appropriate tag that VList uses.\n    return {type: \"elem\", elem: inner};\n};\n\n/**\n * Make a stacked delimiter out of a given delimiter, with the total height at\n * least `heightTotal`. This routine is mentioned on page 442 of the TeXbook.\n */\nvar makeStackedDelim = function(delim, heightTotal, center, options, mode) {\n    // There are four parts, the top, an optional middle, a repeated part, and a\n    // bottom.\n    var top;\n    var middle;\n    var repeat;\n    var bottom;\n    top = repeat = bottom = delim;\n    middle = null;\n    // Also keep track of what font the delimiters are in\n    var font = \"Size1-Regular\";\n\n    // We set the parts and font based on the symbol. Note that we use\n    // '\\u23d0' instead of '|' and '\\u2016' instead of '\\\\|' for the\n    // repeats of the arrows\n    if (delim === \"\\\\uparrow\") {\n        repeat = bottom = \"\\u23d0\";\n    } else if (delim === \"\\\\Uparrow\") {\n        repeat = bottom = \"\\u2016\";\n    } else if (delim === \"\\\\downarrow\") {\n        top = repeat = \"\\u23d0\";\n    } else if (delim === \"\\\\Downarrow\") {\n        top = repeat = \"\\u2016\";\n    } else if (delim === \"\\\\updownarrow\") {\n        top = \"\\\\uparrow\";\n        repeat = \"\\u23d0\";\n        bottom = \"\\\\downarrow\";\n    } else if (delim === \"\\\\Updownarrow\") {\n        top = \"\\\\Uparrow\";\n        repeat = \"\\u2016\";\n        bottom = \"\\\\Downarrow\";\n    } else if (delim === \"[\" || delim === \"\\\\lbrack\") {\n        top = \"\\u23a1\";\n        repeat = \"\\u23a2\";\n        bottom = \"\\u23a3\";\n        font = \"Size4-Regular\";\n    } else if (delim === \"]\" || delim === \"\\\\rbrack\") {\n        top = \"\\u23a4\";\n        repeat = \"\\u23a5\";\n        bottom = \"\\u23a6\";\n        font = \"Size4-Regular\";\n    } else if (delim === \"\\\\lfloor\") {\n        repeat = top = \"\\u23a2\";\n        bottom = \"\\u23a3\";\n        font = \"Size4-Regular\";\n    } else if (delim === \"\\\\lceil\") {\n        top = \"\\u23a1\";\n        repeat = bottom = \"\\u23a2\";\n        font = \"Size4-Regular\";\n    } else if (delim === \"\\\\rfloor\") {\n        repeat = top = \"\\u23a5\";\n        bottom = \"\\u23a6\";\n        font = \"Size4-Regular\";\n    } else if (delim === \"\\\\rceil\") {\n        top = \"\\u23a4\";\n        repeat = bottom = \"\\u23a5\";\n        font = \"Size4-Regular\";\n    } else if (delim === \"(\") {\n        top = \"\\u239b\";\n        repeat = \"\\u239c\";\n        bottom = \"\\u239d\";\n        font = \"Size4-Regular\";\n    } else if (delim === \")\") {\n        top = \"\\u239e\";\n        repeat = \"\\u239f\";\n        bottom = \"\\u23a0\";\n        font = \"Size4-Regular\";\n    } else if (delim === \"\\\\{\" || delim === \"\\\\lbrace\") {\n        top = \"\\u23a7\";\n        middle = \"\\u23a8\";\n        bottom = \"\\u23a9\";\n        repeat = \"\\u23aa\";\n        font = \"Size4-Regular\";\n    } else if (delim === \"\\\\}\" || delim === \"\\\\rbrace\") {\n        top = \"\\u23ab\";\n        middle = \"\\u23ac\";\n        bottom = \"\\u23ad\";\n        repeat = \"\\u23aa\";\n        font = \"Size4-Regular\";\n    } else if (delim === \"\\\\lgroup\") {\n        top = \"\\u23a7\";\n        bottom = \"\\u23a9\";\n        repeat = \"\\u23aa\";\n        font = \"Size4-Regular\";\n    } else if (delim === \"\\\\rgroup\") {\n        top = \"\\u23ab\";\n        bottom = \"\\u23ad\";\n        repeat = \"\\u23aa\";\n        font = \"Size4-Regular\";\n    } else if (delim === \"\\\\lmoustache\") {\n        top = \"\\u23a7\";\n        bottom = \"\\u23ad\";\n        repeat = \"\\u23aa\";\n        font = \"Size4-Regular\";\n    } else if (delim === \"\\\\rmoustache\") {\n        top = \"\\u23ab\";\n        bottom = \"\\u23a9\";\n        repeat = \"\\u23aa\";\n        font = \"Size4-Regular\";\n    } else if (delim === \"\\\\surd\") {\n        top = \"\\ue001\";\n        bottom = \"\\u23b7\";\n        repeat = \"\\ue000\";\n        font = \"Size4-Regular\";\n    }\n\n    // Get the metrics of the four sections\n    var topMetrics = getMetrics(top, font);\n    var topHeightTotal = topMetrics.height + topMetrics.depth;\n    var repeatMetrics = getMetrics(repeat, font);\n    var repeatHeightTotal = repeatMetrics.height + repeatMetrics.depth;\n    var bottomMetrics = getMetrics(bottom, font);\n    var bottomHeightTotal = bottomMetrics.height + bottomMetrics.depth;\n    var middleHeightTotal = 0;\n    var middleFactor = 1;\n    if (middle !== null) {\n        var middleMetrics = getMetrics(middle, font);\n        middleHeightTotal = middleMetrics.height + middleMetrics.depth;\n        middleFactor = 2; // repeat symmetrically above and below middle\n    }\n\n    // Calcuate the minimal height that the delimiter can have.\n    // It is at least the size of the top, bottom, and optional middle combined.\n    var minHeight = topHeightTotal + bottomHeightTotal + middleHeightTotal;\n\n    // Compute the number of copies of the repeat symbol we will need\n    var repeatCount = Math.ceil(\n        (heightTotal - minHeight) / (middleFactor * repeatHeightTotal));\n\n    // Compute the total height of the delimiter including all the symbols\n    var realHeightTotal =\n        minHeight + repeatCount * middleFactor * repeatHeightTotal;\n\n    // The center of the delimiter is placed at the center of the axis. Note\n    // that in this context, \"center\" means that the delimiter should be\n    // centered around the axis in the current style, while normally it is\n    // centered around the axis in textstyle.\n    var axisHeight = fontMetrics.metrics.axisHeight;\n    if (center) {\n        axisHeight *= options.style.sizeMultiplier;\n    }\n    // Calculate the depth\n    var depth = realHeightTotal / 2 - axisHeight;\n\n    // Now, we start building the pieces that will go into the vlist\n\n    // Keep a list of the inner pieces\n    var inners = [];\n\n    // Add the bottom symbol\n    inners.push(makeInner(bottom, font, mode));\n\n    var i;\n    if (middle === null) {\n        // Add that many symbols\n        for (i = 0; i < repeatCount; i++) {\n            inners.push(makeInner(repeat, font, mode));\n        }\n    } else {\n        // When there is a middle bit, we need the middle part and two repeated\n        // sections\n        for (i = 0; i < repeatCount; i++) {\n            inners.push(makeInner(repeat, font, mode));\n        }\n        inners.push(makeInner(middle, font, mode));\n        for (i = 0; i < repeatCount; i++) {\n            inners.push(makeInner(repeat, font, mode));\n        }\n    }\n\n    // Add the top symbol\n    inners.push(makeInner(top, font, mode));\n\n    // Finally, build the vlist\n    var inner = buildCommon.makeVList(inners, \"bottom\", depth, options);\n\n    return styleWrap(\n        makeSpan([\"delimsizing\", \"mult\"], [inner], options.getColor()),\n        Style.TEXT, options);\n};\n\n// There are three kinds of delimiters, delimiters that stack when they become\n// too large\nvar stackLargeDelimiters = [\n    \"(\", \")\", \"[\", \"\\\\lbrack\", \"]\", \"\\\\rbrack\",\n    \"\\\\{\", \"\\\\lbrace\", \"\\\\}\", \"\\\\rbrace\",\n    \"\\\\lfloor\", \"\\\\rfloor\", \"\\\\lceil\", \"\\\\rceil\",\n    \"\\\\surd\",\n];\n\n// delimiters that always stack\nvar stackAlwaysDelimiters = [\n    \"\\\\uparrow\", \"\\\\downarrow\", \"\\\\updownarrow\",\n    \"\\\\Uparrow\", \"\\\\Downarrow\", \"\\\\Updownarrow\",\n    \"|\", \"\\\\|\", \"\\\\vert\", \"\\\\Vert\",\n    \"\\\\lvert\", \"\\\\rvert\", \"\\\\lVert\", \"\\\\rVert\",\n    \"\\\\lgroup\", \"\\\\rgroup\", \"\\\\lmoustache\", \"\\\\rmoustache\",\n];\n\n// and delimiters that never stack\nvar stackNeverDelimiters = [\n    \"<\", \">\", \"\\\\langle\", \"\\\\rangle\", \"/\", \"\\\\backslash\", \"\\\\lt\", \"\\\\gt\",\n];\n\n// Metrics of the different sizes. Found by looking at TeX's output of\n// $\\bigl| // \\Bigl| \\biggl| \\Biggl| \\showlists$\n// Used to create stacked delimiters of appropriate sizes in makeSizedDelim.\nvar sizeToMaxHeight = [0, 1.2, 1.8, 2.4, 3.0];\n\n/**\n * Used to create a delimiter of a specific size, where `size` is 1, 2, 3, or 4.\n */\nvar makeSizedDelim = function(delim, size, options, mode) {\n    // < and > turn into \\langle and \\rangle in delimiters\n    if (delim === \"<\" || delim === \"\\\\lt\") {\n        delim = \"\\\\langle\";\n    } else if (delim === \">\" || delim === \"\\\\gt\") {\n        delim = \"\\\\rangle\";\n    }\n\n    // Sized delimiters are never centered.\n    if (utils.contains(stackLargeDelimiters, delim) ||\n        utils.contains(stackNeverDelimiters, delim)) {\n        return makeLargeDelim(delim, size, false, options, mode);\n    } else if (utils.contains(stackAlwaysDelimiters, delim)) {\n        return makeStackedDelim(\n            delim, sizeToMaxHeight[size], false, options, mode);\n    } else {\n        throw new ParseError(\"Illegal delimiter: '\" + delim + \"'\");\n    }\n};\n\n/**\n * There are three different sequences of delimiter sizes that the delimiters\n * follow depending on the kind of delimiter. This is used when creating custom\n * sized delimiters to decide whether to create a small, large, or stacked\n * delimiter.\n *\n * In real TeX, these sequences aren't explicitly defined, but are instead\n * defined inside the font metrics. Since there are only three sequences that\n * are possible for the delimiters that TeX defines, it is easier to just encode\n * them explicitly here.\n */\n\n// Delimiters that never stack try small delimiters and large delimiters only\nvar stackNeverDelimiterSequence = [\n    {type: \"small\", style: Style.SCRIPTSCRIPT},\n    {type: \"small\", style: Style.SCRIPT},\n    {type: \"small\", style: Style.TEXT},\n    {type: \"large\", size: 1},\n    {type: \"large\", size: 2},\n    {type: \"large\", size: 3},\n    {type: \"large\", size: 4},\n];\n\n// Delimiters that always stack try the small delimiters first, then stack\nvar stackAlwaysDelimiterSequence = [\n    {type: \"small\", style: Style.SCRIPTSCRIPT},\n    {type: \"small\", style: Style.SCRIPT},\n    {type: \"small\", style: Style.TEXT},\n    {type: \"stack\"},\n];\n\n// Delimiters that stack when large try the small and then large delimiters, and\n// stack afterwards\nvar stackLargeDelimiterSequence = [\n    {type: \"small\", style: Style.SCRIPTSCRIPT},\n    {type: \"small\", style: Style.SCRIPT},\n    {type: \"small\", style: Style.TEXT},\n    {type: \"large\", size: 1},\n    {type: \"large\", size: 2},\n    {type: \"large\", size: 3},\n    {type: \"large\", size: 4},\n    {type: \"stack\"},\n];\n\n/**\n * Get the font used in a delimiter based on what kind of delimiter it is.\n */\nvar delimTypeToFont = function(type) {\n    if (type.type === \"small\") {\n        return \"Main-Regular\";\n    } else if (type.type === \"large\") {\n        return \"Size\" + type.size + \"-Regular\";\n    } else if (type.type === \"stack\") {\n        return \"Size4-Regular\";\n    }\n};\n\n/**\n * Traverse a sequence of types of delimiters to decide what kind of delimiter\n * should be used to create a delimiter of the given height+depth.\n */\nvar traverseSequence = function(delim, height, sequence, options) {\n    // Here, we choose the index we should start at in the sequences. In smaller\n    // sizes (which correspond to larger numbers in style.size) we start earlier\n    // in the sequence. Thus, scriptscript starts at index 3-3=0, script starts\n    // at index 3-2=1, text starts at 3-1=2, and display starts at min(2,3-0)=2\n    var start = Math.min(2, 3 - options.style.size);\n    for (var i = start; i < sequence.length; i++) {\n        if (sequence[i].type === \"stack\") {\n            // This is always the last delimiter, so we just break the loop now.\n            break;\n        }\n\n        var metrics = getMetrics(delim, delimTypeToFont(sequence[i]));\n        var heightDepth = metrics.height + metrics.depth;\n\n        // Small delimiters are scaled down versions of the same font, so we\n        // account for the style change size.\n\n        if (sequence[i].type === \"small\") {\n            heightDepth *= sequence[i].style.sizeMultiplier;\n        }\n\n        // Check if the delimiter at this size works for the given height.\n        if (heightDepth > height) {\n            return sequence[i];\n        }\n    }\n\n    // If we reached the end of the sequence, return the last sequence element.\n    return sequence[sequence.length - 1];\n};\n\n/**\n * Make a delimiter of a given height+depth, with optional centering. Here, we\n * traverse the sequences, and create a delimiter that the sequence tells us to.\n */\nvar makeCustomSizedDelim = function(delim, height, center, options, mode) {\n    if (delim === \"<\" || delim === \"\\\\lt\") {\n        delim = \"\\\\langle\";\n    } else if (delim === \">\" || delim === \"\\\\gt\") {\n        delim = \"\\\\rangle\";\n    }\n\n    // Decide what sequence to use\n    var sequence;\n    if (utils.contains(stackNeverDelimiters, delim)) {\n        sequence = stackNeverDelimiterSequence;\n    } else if (utils.contains(stackLargeDelimiters, delim)) {\n        sequence = stackLargeDelimiterSequence;\n    } else {\n        sequence = stackAlwaysDelimiterSequence;\n    }\n\n    // Look through the sequence\n    var delimType = traverseSequence(delim, height, sequence, options);\n\n    // Depending on the sequence element we decided on, call the appropriate\n    // function.\n    if (delimType.type === \"small\") {\n        return makeSmallDelim(delim, delimType.style, center, options, mode);\n    } else if (delimType.type === \"large\") {\n        return makeLargeDelim(delim, delimType.size, center, options, mode);\n    } else if (delimType.type === \"stack\") {\n        return makeStackedDelim(delim, height, center, options, mode);\n    }\n};\n\n/**\n * Make a delimiter for use with `\\left` and `\\right`, given a height and depth\n * of an expression that the delimiters surround.\n */\nvar makeLeftRightDelim = function(delim, height, depth, options, mode) {\n    // We always center \\left/\\right delimiters, so the axis is always shifted\n    var axisHeight =\n        fontMetrics.metrics.axisHeight * options.style.sizeMultiplier;\n\n    // Taken from TeX source, tex.web, function make_left_right\n    var delimiterFactor = 901;\n    var delimiterExtend = 5.0 / fontMetrics.metrics.ptPerEm;\n\n    var maxDistFromAxis = Math.max(\n        height - axisHeight, depth + axisHeight);\n\n    var totalHeight = Math.max(\n        // In real TeX, calculations are done using integral values which are\n        // 65536 per pt, or 655360 per em. So, the division here truncates in\n        // TeX but doesn't here, producing different results. If we wanted to\n        // exactly match TeX's calculation, we could do\n        //   Math.floor(655360 * maxDistFromAxis / 500) *\n        //    delimiterFactor / 655360\n        // (To see the difference, compare\n        //    x^{x^{\\left(\\rule{0.1em}{0.68em}\\right)}}\n        // in TeX and KaTeX)\n        maxDistFromAxis / 500 * delimiterFactor,\n        2 * maxDistFromAxis - delimiterExtend);\n\n    // Finally, we defer to `makeCustomSizedDelim` with our calculated total\n    // height\n    return makeCustomSizedDelim(delim, totalHeight, true, options, mode);\n};\n\nmodule.exports = {\n    sizedDelim: makeSizedDelim,\n    customSizedDelim: makeCustomSizedDelim,\n    leftRightDelim: makeLeftRightDelim,\n};\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/third_party/katex/src/domTree.js",
    "content": "/**\n * These objects store the data about the DOM nodes we create, as well as some\n * extra data. They can then be transformed into real DOM nodes with the\n * `toNode` function or HTML markup using `toMarkup`. They are useful for both\n * storing extra properties on the nodes, as well as providing a way to easily\n * work with the DOM.\n *\n * Similar functions for working with MathML nodes exist in mathMLTree.js.\n */\n\nvar utils = require(\"./utils\");\n\n/**\n * Create an HTML className based on a list of classes. In addition to joining\n * with spaces, we also remove null or empty classes.\n */\nvar createClass = function(classes) {\n    classes = classes.slice();\n    for (var i = classes.length - 1; i >= 0; i--) {\n        if (!classes[i]) {\n            classes.splice(i, 1);\n        }\n    }\n\n    return classes.join(\" \");\n};\n\n/**\n * This node represents a span node, with a className, a list of children, and\n * an inline style. It also contains information about its height, depth, and\n * maxFontSize.\n */\nfunction span(classes, children, height, depth, maxFontSize, style) {\n    this.classes = classes || [];\n    this.children = children || [];\n    this.height = height || 0;\n    this.depth = depth || 0;\n    this.maxFontSize = maxFontSize || 0;\n    this.style = style || {};\n    this.attributes = {};\n}\n\n/**\n * Sets an arbitrary attribute on the span. Warning: use this wisely. Not all\n * browsers support attributes the same, and having too many custom attributes\n * is probably bad.\n */\nspan.prototype.setAttribute = function(attribute, value) {\n    this.attributes[attribute] = value;\n};\n\n/**\n * Convert the span into an HTML node\n */\nspan.prototype.toNode = function() {\n    var span = document.createElement(\"span\");\n\n    // Apply the class\n    span.className = createClass(this.classes);\n\n    // Apply inline styles\n    for (var style in this.style) {\n        if (Object.prototype.hasOwnProperty.call(this.style, style)) {\n            span.style[style] = this.style[style];\n        }\n    }\n\n    // Apply attributes\n    for (var attr in this.attributes) {\n        if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) {\n            span.setAttribute(attr, this.attributes[attr]);\n        }\n    }\n\n    // Append the children, also as HTML nodes\n    for (var i = 0; i < this.children.length; i++) {\n        span.appendChild(this.children[i].toNode());\n    }\n\n    return span;\n};\n\n/**\n * Convert the span into an HTML markup string\n */\nspan.prototype.toMarkup = function() {\n    var markup = \"<span\";\n\n    // Add the class\n    if (this.classes.length) {\n        markup += \" class=\\\"\";\n        markup += utils.escape(createClass(this.classes));\n        markup += \"\\\"\";\n    }\n\n    var styles = \"\";\n\n    // Add the styles, after hyphenation\n    for (var style in this.style) {\n        if (this.style.hasOwnProperty(style)) {\n            styles += utils.hyphenate(style) + \":\" + this.style[style] + \";\";\n        }\n    }\n\n    if (styles) {\n        markup += \" style=\\\"\" + utils.escape(styles) + \"\\\"\";\n    }\n\n    // Add the attributes\n    for (var attr in this.attributes) {\n        if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) {\n            markup += \" \" + attr + \"=\\\"\";\n            markup += utils.escape(this.attributes[attr]);\n            markup += \"\\\"\";\n        }\n    }\n\n    markup += \">\";\n\n    // Add the markup of the children, also as markup\n    for (var i = 0; i < this.children.length; i++) {\n        markup += this.children[i].toMarkup();\n    }\n\n    markup += \"</span>\";\n\n    return markup;\n};\n\n/**\n * This node represents a document fragment, which contains elements, but when\n * placed into the DOM doesn't have any representation itself. Thus, it only\n * contains children and doesn't have any HTML properties. It also keeps track\n * of a height, depth, and maxFontSize.\n */\nfunction documentFragment(children, height, depth, maxFontSize) {\n    this.children = children || [];\n    this.height = height || 0;\n    this.depth = depth || 0;\n    this.maxFontSize = maxFontSize || 0;\n}\n\n/**\n * Convert the fragment into a node\n */\ndocumentFragment.prototype.toNode = function() {\n    // Create a fragment\n    var frag = document.createDocumentFragment();\n\n    // Append the children\n    for (var i = 0; i < this.children.length; i++) {\n        frag.appendChild(this.children[i].toNode());\n    }\n\n    return frag;\n};\n\n/**\n * Convert the fragment into HTML markup\n */\ndocumentFragment.prototype.toMarkup = function() {\n    var markup = \"\";\n\n    // Simply concatenate the markup for the children together\n    for (var i = 0; i < this.children.length; i++) {\n        markup += this.children[i].toMarkup();\n    }\n\n    return markup;\n};\n\n/**\n * A symbol node contains information about a single symbol. It either renders\n * to a single text node, or a span with a single text node in it, depending on\n * whether it has CSS classes, styles, or needs italic correction.\n */\nfunction symbolNode(value, height, depth, italic, skew, classes, style) {\n    this.value = value || \"\";\n    this.height = height || 0;\n    this.depth = depth || 0;\n    this.italic = italic || 0;\n    this.skew = skew || 0;\n    this.classes = classes || [];\n    this.style = style || {};\n    this.maxFontSize = 0;\n}\n\n/**\n * Creates a text node or span from a symbol node. Note that a span is only\n * created if it is needed.\n */\nsymbolNode.prototype.toNode = function() {\n    var node = document.createTextNode(this.value);\n    var span = null;\n\n    if (this.italic > 0) {\n        span = document.createElement(\"span\");\n        span.style.marginRight = this.italic + \"em\";\n    }\n\n    if (this.classes.length > 0) {\n        span = span || document.createElement(\"span\");\n        span.className = createClass(this.classes);\n    }\n\n    for (var style in this.style) {\n        if (this.style.hasOwnProperty(style)) {\n            span = span || document.createElement(\"span\");\n            span.style[style] = this.style[style];\n        }\n    }\n\n    if (span) {\n        span.appendChild(node);\n        return span;\n    } else {\n        return node;\n    }\n};\n\n/**\n * Creates markup for a symbol node.\n */\nsymbolNode.prototype.toMarkup = function() {\n    // TODO(alpert): More duplication than I'd like from\n    // span.prototype.toMarkup and symbolNode.prototype.toNode...\n    var needsSpan = false;\n\n    var markup = \"<span\";\n\n    if (this.classes.length) {\n        needsSpan = true;\n        markup += \" class=\\\"\";\n        markup += utils.escape(createClass(this.classes));\n        markup += \"\\\"\";\n    }\n\n    var styles = \"\";\n\n    if (this.italic > 0) {\n        styles += \"margin-right:\" + this.italic + \"em;\";\n    }\n    for (var style in this.style) {\n        if (this.style.hasOwnProperty(style)) {\n            styles += utils.hyphenate(style) + \":\" + this.style[style] + \";\";\n        }\n    }\n\n    if (styles) {\n        needsSpan = true;\n        markup += \" style=\\\"\" + utils.escape(styles) + \"\\\"\";\n    }\n\n    var escaped = utils.escape(this.value);\n    if (needsSpan) {\n        markup += \">\";\n        markup += escaped;\n        markup += \"</span>\";\n        return markup;\n    } else {\n        return escaped;\n    }\n};\n\nmodule.exports = {\n    span: span,\n    documentFragment: documentFragment,\n    symbolNode: symbolNode,\n};\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/third_party/katex/src/environments.js",
    "content": "/* eslint no-constant-condition:0 */\nvar fontMetrics = require(\"./fontMetrics\");\nvar parseData = require(\"./parseData\");\nvar ParseError = require(\"./ParseError\");\n\nvar ParseNode = parseData.ParseNode;\n\n/**\n * Parse the body of the environment, with rows delimited by \\\\ and\n * columns delimited by &, and create a nested list in row-major order\n * with one group per cell.\n */\nvar q = 0 ;\nfunction parseArray(parser, result) {\n    var row = [];\n    var body = [row];\n    var rowGaps = [];\n\n    while (true) {\n        \n        // if (q == 1) console.error(parser.nextToken.text);\n        try {\n            var cell = parser.parseExpression(false, null);\n        } catch (e) {\n            // console.error(e);\n            exit();\n        }\n        // if (q == 1) exit();\n        row.push(new ParseNode(\"ordgroup\", cell, parser.mode));\n        var next = parser.nextToken.text;\n        if (next === \"&\") {\n            parser.consume();\n        } else if (next === \"\\\\end\" || next == \"}\") {\n            break;\n        } else if (next === \"\\\\\\\\\" || next === \"\\\\cr\") {\n\n            var cr = parser.parseFunction();\n\n            rowGaps.push(cr.value.size);\n            row = [];\n            body.push(row);\n        } else {\n            // TODO: Clean up the following hack once #385 got merged\n            var pos = Math.min(parser.pos + 1, parser.lexer._input.length);\n            throw new ParseError(\"Expected & or \\\\\\\\ or \\\\end\",\n                                 parser.lexer, pos);\n        }\n    }\n    result.body = body;\n    result.rowGaps = rowGaps;\n    // if (q == 1) exit();\n    var node = new ParseNode(result.type, result, parser.mode);\n    return node;\n}\n\n/*\n * An environment definition is very similar to a function definition:\n * it is declared with a name or a list of names, a set of properties\n * and a handler containing the actual implementation.\n *\n * The properties include:\n *  - numArgs: The number of arguments after the \\begin{name} function.\n *  - argTypes: (optional) Just like for a function\n *  - allowedInText: (optional) Whether or not the environment is allowed inside\n *                   text mode (default false) (not enforced yet)\n *  - numOptionalArgs: (optional) Just like for a function\n * A bare number instead of that object indicates the numArgs value.\n *\n * The handler function will receive two arguments\n *  - context: information and references provided by the parser\n *  - args: an array of arguments passed to \\begin{name}\n * The context contains the following properties:\n *  - envName: the name of the environment, one of the listed names.\n *  - parser: the parser object\n *  - lexer: the lexer object\n *  - positions: the positions associated with these arguments from args.\n * The handler must return a ParseResult.\n */\n\nfunction defineEnvironment(names, props, handler) {\n    if (typeof names === \"string\") {\n        names = [names];\n    }\n    if (typeof props === \"number\") {\n        props = { numArgs: props };\n    }\n    // Set default values of environments\n    var data = {\n        numArgs: props.numArgs || 0,\n        argTypes: props.argTypes,\n        greediness: 1,\n        allowedInText: !!props.allowedInText,\n        numOptionalArgs: props.numOptionalArgs || 0,\n        handler: handler,\n    };\n    for (var i = 0; i < names.length; ++i) {\n        module.exports[names[i]] = data;\n    }\n}\n\n// Arrays are part of LaTeX, defined in lttab.dtx so its documentation\n// is part of the source2e.pdf file of LaTeX2e source documentation.\ndefineEnvironment(\"array\", {\n    numArgs: 1,\n}, function(context, args) {\n    var colalign = args[0];\n    colalign = colalign.value.map ? colalign.value : [colalign];\n    var cols = colalign.map(function(node) {\n        var ca = node.value;\n        if (\"lcr\".indexOf(ca) !== -1) {\n            return {\n                type: \"align\",\n                align: ca,\n            };\n        } else if (ca === \"|\") {\n            return {\n                type: \"separator\",\n                separator: \"|\",\n            };\n        }\n        // throw new ParseError(\n        //     \"Unknown column alignment: \" + node.value,\n        //     context.lexer, context.positions[1]);\n    });\n    var res = {\n        type: \"array\",\n        cols: cols,\n        hskipBeforeAndAfter: true, // \\@preamble in lttab.dtx\n    };\n    res = parseArray(context.parser, res);\n    return res;\n});\n\ndefineEnvironment(\"tabular\", {\n    numArgs: 1,\n}, function(context, args) {\n    var colalign = args[0];\n    colalign = colalign.value.map ? colalign.value : [colalign];\n    var cols = colalign.map(function(node) {\n        var ca = node.value;\n        if (\"lcr\".indexOf(ca) !== -1) {\n            return {\n                type: \"align\",\n                align: ca,\n            };\n        } else if (ca === \"|\") {\n            return {\n                type: \"separator\",\n                separator: \"|\",\n            };\n        }\n        // throw new ParseError(\n        //     \"Unknown column alignment: \" + node.value,\n        //     context.lexer, context.positions[1]);\n    });\n    var res = {\n        type: \"array\",\n        style: \"tabular\",\n        cols: cols,\n        hskipBeforeAndAfter: true, // \\@preamble in lttab.dtx\n    };\n    res = parseArray(context.parser, res);\n    return res;\n});\n\n// The matrix environments of amsmath builds on the array environment\n// of LaTeX, which is discussed above.\ndefineEnvironment([\n    \"matrix\",\n    \"pmatrix\",\n    \"bmatrix\",\n    \"Bmatrix\",\n    \"vmatrix\",\n    \"Vmatrix\",\n], {\n}, function(context) {\n    var delimiters = {\n        \"matrix\": null,\n        \"pmatrix\": [\"(\", \")\"],\n        \"bmatrix\": [\"[\", \"]\"],\n        \"Bmatrix\": [\"\\\\{\", \"\\\\}\"],\n        \"vmatrix\": [\"|\", \"|\"],\n        \"Vmatrix\": [\"\\\\Vert\", \"\\\\Vert\"],\n    }[context.envName];\n    var res = {\n        type: \"array\",\n        hskipBeforeAndAfter: false, // \\hskip -\\arraycolsep in amsmath\n    };\n    q = 1;\n    res = parseArray(context.parser, res);\n\n    if (delimiters) {\n        res = new ParseNode(\"leftright\", {\n            body: [res],\n            left: delimiters[0],\n            right: delimiters[1],\n        }, context.mode);\n    }\n    return res;\n});\n\n// A cases environment (in amsmath.sty) is almost equivalent to\n// \\def\\arraystretch{1.2}%\n// \\left\\{\\begin{array}{@{}l@{\\quad}l@{}} … \\end{array}\\right.\ndefineEnvironment(\"picture\", {\n}, function(context) {\n    var res = {\n        type: \"array\",\n        arraystretch: 1.2,\n        cols: [{\n            type: \"align\",\n            align: \"l\",\n            pregap: 0,\n            postgap: fontMetrics.metrics.quad,\n        }, {\n            type: \"align\",\n            align: \"l\",\n            pregap: 0,\n            postgap: 0,\n        }],\n    };\n    res = parseArray(context.parser, res);\n    res = new ParseNode(\"leftright\", {\n        body: [res],\n        left: \"\\\\{\",\n        right: \".\",\n    }, context.mode);\n    return res;\n});\n\ndefineEnvironment(\"cases\", {\n}, function(context) {\n    var res = {\n        type: \"array\",\n        arraystretch: 1.2,\n        cols: [{\n            type: \"align\",\n            align: \"l\",\n            pregap: 0,\n            postgap: fontMetrics.metrics.quad,\n        }, {\n            type: \"align\",\n            align: \"l\",\n            pregap: 0,\n            postgap: 0,\n        }],\n    };\n    res = parseArray(context.parser, res);\n    res = new ParseNode(\"leftright\", {\n        body: [res],\n        left: \"\\\\{\",\n        right: \".\",\n    }, context.mode);\n    return res;\n});\n\n// An aligned environment is like the align* environment\n// except it operates within math mode.\n// Note that we assume \\nomallineskiplimit to be zero,\n// so that \\strut@ is the same as \\strut.\ndefineEnvironment(\"aligned\", {\n}, function(context) {\n    var res = {\n        type: \"array\",\n        cols: [],\n    };\n    res = parseArray(context.parser, res);\n    var emptyGroup = new ParseNode(\"ordgroup\", [], context.mode);\n    var numCols = 0;\n    res.value.body.forEach(function(row) {\n        var i;\n        for (i = 1; i < row.length; i += 2) {\n            row[i].value.unshift(emptyGroup);\n        }\n        if (numCols < row.length) {\n            numCols = row.length;\n        }\n    });\n    for (var i = 0; i < numCols; ++i) {\n        var align = \"r\";\n        var pregap = 0;\n        if (i % 2 === 1) {\n            align = \"l\";\n        } else if (i > 0) {\n            pregap = 2; // one \\qquad between columns\n        }\n        res.value.cols[i] = {\n            type: \"align\",\n            align: align,\n            pregap: pregap,\n            postgap: 0,\n        };\n    }\n    return res;\n});\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/third_party/katex/src/fontMetrics.js",
    "content": "/* eslint no-unused-vars:0 */\n\nvar Style = require(\"./Style\");\n\n/**\n * This file contains metrics regarding fonts and individual symbols. The sigma\n * and xi variables, as well as the metricMap map contain data extracted from\n * TeX, TeX font metrics, and the TTF files. These data are then exposed via the\n * `metrics` variable and the getCharacterMetrics function.\n */\n\n// These font metrics are extracted from TeX by using\n// \\font\\a=cmmi10\n// \\showthe\\fontdimenX\\a\n// where X is the corresponding variable number. These correspond to the font\n// parameters of the symbol fonts. In TeX, there are actually three sets of\n// dimensions, one for each of textstyle, scriptstyle, and scriptscriptstyle,\n// but we only use the textstyle ones, and scale certain dimensions accordingly.\n// See the TeXbook, page 441.\nvar sigma1 = 0.025;\nvar sigma2 = 0;\nvar sigma3 = 0;\nvar sigma4 = 0;\nvar sigma5 = 0.431;\nvar sigma6 = 1;\nvar sigma7 = 0;\nvar sigma8 = 0.677;\nvar sigma9 = 0.394;\nvar sigma10 = 0.444;\nvar sigma11 = 0.686;\nvar sigma12 = 0.345;\nvar sigma13 = 0.413;\nvar sigma14 = 0.363;\nvar sigma15 = 0.289;\nvar sigma16 = 0.150;\nvar sigma17 = 0.247;\nvar sigma18 = 0.386;\nvar sigma19 = 0.050;\nvar sigma20 = 2.390;\nvar sigma21 = 1.01;\nvar sigma21Script = 0.81;\nvar sigma21ScriptScript = 0.71;\nvar sigma22 = 0.250;\n\n// These font metrics are extracted from TeX by using\n// \\font\\a=cmex10\n// \\showthe\\fontdimenX\\a\n// where X is the corresponding variable number. These correspond to the font\n// parameters of the extension fonts (family 3). See the TeXbook, page 441.\nvar xi1 = 0;\nvar xi2 = 0;\nvar xi3 = 0;\nvar xi4 = 0;\nvar xi5 = 0.431;\nvar xi6 = 1;\nvar xi7 = 0;\nvar xi8 = 0.04;\nvar xi9 = 0.111;\nvar xi10 = 0.166;\nvar xi11 = 0.2;\nvar xi12 = 0.6;\nvar xi13 = 0.1;\n\n// This value determines how large a pt is, for metrics which are defined in\n// terms of pts.\n// This value is also used in katex.less; if you change it make sure the values\n// match.\nvar ptPerEm = 10.0;\n\n// The space between adjacent `|` columns in an array definition. From\n// `\\showthe\\doublerulesep` in LaTeX.\nvar doubleRuleSep = 2.0 / ptPerEm;\n\n/**\n * This is just a mapping from common names to real metrics\n */\nvar metrics = {\n    xHeight: sigma5,\n    quad: sigma6,\n    num1: sigma8,\n    num2: sigma9,\n    num3: sigma10,\n    denom1: sigma11,\n    denom2: sigma12,\n    sup1: sigma13,\n    sup2: sigma14,\n    sup3: sigma15,\n    sub1: sigma16,\n    sub2: sigma17,\n    supDrop: sigma18,\n    subDrop: sigma19,\n    axisHeight: sigma22,\n    defaultRuleThickness: xi8,\n    bigOpSpacing1: xi9,\n    bigOpSpacing2: xi10,\n    bigOpSpacing3: xi11,\n    bigOpSpacing4: xi12,\n    bigOpSpacing5: xi13,\n    ptPerEm: ptPerEm,\n    emPerEx: sigma5 / sigma6,\n    doubleRuleSep: doubleRuleSep,\n\n    // TODO(alpert): Missing parallel structure here. We should probably add\n    // style-specific metrics for all of these.\n    delim1: sigma20,\n    getDelim2: function(style) {\n        if (style.size === Style.TEXT.size) {\n            return sigma21;\n        } else if (style.size === Style.SCRIPT.size) {\n            return sigma21Script;\n        } else if (style.size === Style.SCRIPTSCRIPT.size) {\n            return sigma21ScriptScript;\n        }\n        throw new Error(\"Unexpected style size: \" + style.size);\n    },\n};\n\n// This map contains a mapping from font name and character code to character\n// metrics, including height, depth, italic correction, and skew (kern from the\n// character to the corresponding \\skewchar)\n// This map is generated via `make metrics`. It should not be changed manually.\nvar metricMap = require(\"./fontMetricsData\");\n\n/**\n * This function is a convenience function for looking up information in the\n * metricMap table. It takes a character as a string, and a style.\n *\n * Note: the `width` property may be undefined if fontMetricsData.js wasn't\n * built using `Make extended_metrics`.\n */\nvar getCharacterMetrics = function(character, style) {\n    var metrics = metricMap[style][character.charCodeAt(0)];\n    if (metrics) {\n        return {\n            depth: metrics[0],\n            height: metrics[1],\n            italic: metrics[2],\n            skew: metrics[3],\n            width: metrics[4],\n        };\n    }\n};\n\nmodule.exports = {\n    metrics: metrics,\n    getCharacterMetrics: getCharacterMetrics,\n};\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/third_party/katex/src/fontMetricsData.js",
    "content": "module.exports = {\n    \"AMS-Regular\": {\n        \"65\": [0, 0.68889, 0, 0],\n        \"66\": [0, 0.68889, 0, 0],\n        \"67\": [0, 0.68889, 0, 0],\n        \"68\": [0, 0.68889, 0, 0],\n        \"69\": [0, 0.68889, 0, 0],\n        \"70\": [0, 0.68889, 0, 0],\n        \"71\": [0, 0.68889, 0, 0],\n        \"72\": [0, 0.68889, 0, 0],\n        \"73\": [0, 0.68889, 0, 0],\n        \"74\": [0.16667, 0.68889, 0, 0],\n        \"75\": [0, 0.68889, 0, 0],\n        \"76\": [0, 0.68889, 0, 0],\n        \"77\": [0, 0.68889, 0, 0],\n        \"78\": [0, 0.68889, 0, 0],\n        \"79\": [0.16667, 0.68889, 0, 0],\n        \"80\": [0, 0.68889, 0, 0],\n        \"81\": [0.16667, 0.68889, 0, 0],\n        \"82\": [0, 0.68889, 0, 0],\n        \"83\": [0, 0.68889, 0, 0],\n        \"84\": [0, 0.68889, 0, 0],\n        \"85\": [0, 0.68889, 0, 0],\n        \"86\": [0, 0.68889, 0, 0],\n        \"87\": [0, 0.68889, 0, 0],\n        \"88\": [0, 0.68889, 0, 0],\n        \"89\": [0, 0.68889, 0, 0],\n        \"90\": [0, 0.68889, 0, 0],\n        \"107\": [0, 0.68889, 0, 0],\n        \"165\": [0, 0.675, 0.025, 0],\n        \"174\": [0.15559, 0.69224, 0, 0],\n        \"240\": [0, 0.68889, 0, 0],\n        \"295\": [0, 0.68889, 0, 0],\n        \"710\": [0, 0.825, 0, 0],\n        \"732\": [0, 0.9, 0, 0],\n        \"770\": [0, 0.825, 0, 0],\n        \"771\": [0, 0.9, 0, 0],\n        \"989\": [0.08167, 0.58167, 0, 0],\n        \"1008\": [0, 0.43056, 0.04028, 0],\n        \"8245\": [0, 0.54986, 0, 0],\n        \"8463\": [0, 0.68889, 0, 0],\n        \"8487\": [0, 0.68889, 0, 0],\n        \"8498\": [0, 0.68889, 0, 0],\n        \"8502\": [0, 0.68889, 0, 0],\n        \"8503\": [0, 0.68889, 0, 0],\n        \"8504\": [0, 0.68889, 0, 0],\n        \"8513\": [0, 0.68889, 0, 0],\n        \"8592\": [-0.03598, 0.46402, 0, 0],\n        \"8594\": [-0.03598, 0.46402, 0, 0],\n        \"8602\": [-0.13313, 0.36687, 0, 0],\n        \"8603\": [-0.13313, 0.36687, 0, 0],\n        \"8606\": [0.01354, 0.52239, 0, 0],\n        \"8608\": [0.01354, 0.52239, 0, 0],\n        \"8610\": [0.01354, 0.52239, 0, 0],\n        \"8611\": [0.01354, 0.52239, 0, 0],\n        \"8619\": [0, 0.54986, 0, 0],\n        \"8620\": [0, 0.54986, 0, 0],\n        \"8621\": [-0.13313, 0.37788, 0, 0],\n        \"8622\": [-0.13313, 0.36687, 0, 0],\n        \"8624\": [0, 0.69224, 0, 0],\n        \"8625\": [0, 0.69224, 0, 0],\n        \"8630\": [0, 0.43056, 0, 0],\n        \"8631\": [0, 0.43056, 0, 0],\n        \"8634\": [0.08198, 0.58198, 0, 0],\n        \"8635\": [0.08198, 0.58198, 0, 0],\n        \"8638\": [0.19444, 0.69224, 0, 0],\n        \"8639\": [0.19444, 0.69224, 0, 0],\n        \"8642\": [0.19444, 0.69224, 0, 0],\n        \"8643\": [0.19444, 0.69224, 0, 0],\n        \"8644\": [0.1808, 0.675, 0, 0],\n        \"8646\": [0.1808, 0.675, 0, 0],\n        \"8647\": [0.1808, 0.675, 0, 0],\n        \"8648\": [0.19444, 0.69224, 0, 0],\n        \"8649\": [0.1808, 0.675, 0, 0],\n        \"8650\": [0.19444, 0.69224, 0, 0],\n        \"8651\": [0.01354, 0.52239, 0, 0],\n        \"8652\": [0.01354, 0.52239, 0, 0],\n        \"8653\": [-0.13313, 0.36687, 0, 0],\n        \"8654\": [-0.13313, 0.36687, 0, 0],\n        \"8655\": [-0.13313, 0.36687, 0, 0],\n        \"8666\": [0.13667, 0.63667, 0, 0],\n        \"8667\": [0.13667, 0.63667, 0, 0],\n        \"8669\": [-0.13313, 0.37788, 0, 0],\n        \"8672\": [-0.064, 0.437, 0, 0],\n        \"8674\": [-0.064, 0.437, 0, 0],\n        \"8705\": [0, 0.825, 0, 0],\n        \"8708\": [0, 0.68889, 0, 0],\n        \"8709\": [0.08167, 0.58167, 0, 0],\n        \"8717\": [0, 0.43056, 0, 0],\n        \"8722\": [-0.03598, 0.46402, 0, 0],\n        \"8724\": [0.08198, 0.69224, 0, 0],\n        \"8726\": [0.08167, 0.58167, 0, 0],\n        \"8733\": [0, 0.69224, 0, 0],\n        \"8736\": [0, 0.69224, 0, 0],\n        \"8737\": [0, 0.69224, 0, 0],\n        \"8738\": [0.03517, 0.52239, 0, 0],\n        \"8739\": [0.08167, 0.58167, 0, 0],\n        \"8740\": [0.25142, 0.74111, 0, 0],\n        \"8741\": [0.08167, 0.58167, 0, 0],\n        \"8742\": [0.25142, 0.74111, 0, 0],\n        \"8756\": [0, 0.69224, 0, 0],\n        \"8757\": [0, 0.69224, 0, 0],\n        \"8764\": [-0.13313, 0.36687, 0, 0],\n        \"8765\": [-0.13313, 0.37788, 0, 0],\n        \"8769\": [-0.13313, 0.36687, 0, 0],\n        \"8770\": [-0.03625, 0.46375, 0, 0],\n        \"8774\": [0.30274, 0.79383, 0, 0],\n        \"8776\": [-0.01688, 0.48312, 0, 0],\n        \"8778\": [0.08167, 0.58167, 0, 0],\n        \"8782\": [0.06062, 0.54986, 0, 0],\n        \"8783\": [0.06062, 0.54986, 0, 0],\n        \"8785\": [0.08198, 0.58198, 0, 0],\n        \"8786\": [0.08198, 0.58198, 0, 0],\n        \"8787\": [0.08198, 0.58198, 0, 0],\n        \"8790\": [0, 0.69224, 0, 0],\n        \"8791\": [0.22958, 0.72958, 0, 0],\n        \"8796\": [0.08198, 0.91667, 0, 0],\n        \"8806\": [0.25583, 0.75583, 0, 0],\n        \"8807\": [0.25583, 0.75583, 0, 0],\n        \"8808\": [0.25142, 0.75726, 0, 0],\n        \"8809\": [0.25142, 0.75726, 0, 0],\n        \"8812\": [0.25583, 0.75583, 0, 0],\n        \"8814\": [0.20576, 0.70576, 0, 0],\n        \"8815\": [0.20576, 0.70576, 0, 0],\n        \"8816\": [0.30274, 0.79383, 0, 0],\n        \"8817\": [0.30274, 0.79383, 0, 0],\n        \"8818\": [0.22958, 0.72958, 0, 0],\n        \"8819\": [0.22958, 0.72958, 0, 0],\n        \"8822\": [0.1808, 0.675, 0, 0],\n        \"8823\": [0.1808, 0.675, 0, 0],\n        \"8828\": [0.13667, 0.63667, 0, 0],\n        \"8829\": [0.13667, 0.63667, 0, 0],\n        \"8830\": [0.22958, 0.72958, 0, 0],\n        \"8831\": [0.22958, 0.72958, 0, 0],\n        \"8832\": [0.20576, 0.70576, 0, 0],\n        \"8833\": [0.20576, 0.70576, 0, 0],\n        \"8840\": [0.30274, 0.79383, 0, 0],\n        \"8841\": [0.30274, 0.79383, 0, 0],\n        \"8842\": [0.13597, 0.63597, 0, 0],\n        \"8843\": [0.13597, 0.63597, 0, 0],\n        \"8847\": [0.03517, 0.54986, 0, 0],\n        \"8848\": [0.03517, 0.54986, 0, 0],\n        \"8858\": [0.08198, 0.58198, 0, 0],\n        \"8859\": [0.08198, 0.58198, 0, 0],\n        \"8861\": [0.08198, 0.58198, 0, 0],\n        \"8862\": [0, 0.675, 0, 0],\n        \"8863\": [0, 0.675, 0, 0],\n        \"8864\": [0, 0.675, 0, 0],\n        \"8865\": [0, 0.675, 0, 0],\n        \"8872\": [0, 0.69224, 0, 0],\n        \"8873\": [0, 0.69224, 0, 0],\n        \"8874\": [0, 0.69224, 0, 0],\n        \"8876\": [0, 0.68889, 0, 0],\n        \"8877\": [0, 0.68889, 0, 0],\n        \"8878\": [0, 0.68889, 0, 0],\n        \"8879\": [0, 0.68889, 0, 0],\n        \"8882\": [0.03517, 0.54986, 0, 0],\n        \"8883\": [0.03517, 0.54986, 0, 0],\n        \"8884\": [0.13667, 0.63667, 0, 0],\n        \"8885\": [0.13667, 0.63667, 0, 0],\n        \"8888\": [0, 0.54986, 0, 0],\n        \"8890\": [0.19444, 0.43056, 0, 0],\n        \"8891\": [0.19444, 0.69224, 0, 0],\n        \"8892\": [0.19444, 0.69224, 0, 0],\n        \"8901\": [0, 0.54986, 0, 0],\n        \"8903\": [0.08167, 0.58167, 0, 0],\n        \"8905\": [0.08167, 0.58167, 0, 0],\n        \"8906\": [0.08167, 0.58167, 0, 0],\n        \"8907\": [0, 0.69224, 0, 0],\n        \"8908\": [0, 0.69224, 0, 0],\n        \"8909\": [-0.03598, 0.46402, 0, 0],\n        \"8910\": [0, 0.54986, 0, 0],\n        \"8911\": [0, 0.54986, 0, 0],\n        \"8912\": [0.03517, 0.54986, 0, 0],\n        \"8913\": [0.03517, 0.54986, 0, 0],\n        \"8914\": [0, 0.54986, 0, 0],\n        \"8915\": [0, 0.54986, 0, 0],\n        \"8916\": [0, 0.69224, 0, 0],\n        \"8918\": [0.0391, 0.5391, 0, 0],\n        \"8919\": [0.0391, 0.5391, 0, 0],\n        \"8920\": [0.03517, 0.54986, 0, 0],\n        \"8921\": [0.03517, 0.54986, 0, 0],\n        \"8922\": [0.38569, 0.88569, 0, 0],\n        \"8923\": [0.38569, 0.88569, 0, 0],\n        \"8926\": [0.13667, 0.63667, 0, 0],\n        \"8927\": [0.13667, 0.63667, 0, 0],\n        \"8928\": [0.30274, 0.79383, 0, 0],\n        \"8929\": [0.30274, 0.79383, 0, 0],\n        \"8934\": [0.23222, 0.74111, 0, 0],\n        \"8935\": [0.23222, 0.74111, 0, 0],\n        \"8936\": [0.23222, 0.74111, 0, 0],\n        \"8937\": [0.23222, 0.74111, 0, 0],\n        \"8938\": [0.20576, 0.70576, 0, 0],\n        \"8939\": [0.20576, 0.70576, 0, 0],\n        \"8940\": [0.30274, 0.79383, 0, 0],\n        \"8941\": [0.30274, 0.79383, 0, 0],\n        \"8994\": [0.19444, 0.69224, 0, 0],\n        \"8995\": [0.19444, 0.69224, 0, 0],\n        \"9416\": [0.15559, 0.69224, 0, 0],\n        \"9484\": [0, 0.69224, 0, 0],\n        \"9488\": [0, 0.69224, 0, 0],\n        \"9492\": [0, 0.37788, 0, 0],\n        \"9496\": [0, 0.37788, 0, 0],\n        \"9585\": [0.19444, 0.68889, 0, 0],\n        \"9586\": [0.19444, 0.74111, 0, 0],\n        \"9632\": [0, 0.675, 0, 0],\n        \"9633\": [0, 0.675, 0, 0],\n        \"9650\": [0, 0.54986, 0, 0],\n        \"9651\": [0, 0.54986, 0, 0],\n        \"9654\": [0.03517, 0.54986, 0, 0],\n        \"9660\": [0, 0.54986, 0, 0],\n        \"9661\": [0, 0.54986, 0, 0],\n        \"9664\": [0.03517, 0.54986, 0, 0],\n        \"9674\": [0.11111, 0.69224, 0, 0],\n        \"9733\": [0.19444, 0.69224, 0, 0],\n        \"10003\": [0, 0.69224, 0, 0],\n        \"10016\": [0, 0.69224, 0, 0],\n        \"10731\": [0.11111, 0.69224, 0, 0],\n        \"10846\": [0.19444, 0.75583, 0, 0],\n        \"10877\": [0.13667, 0.63667, 0, 0],\n        \"10878\": [0.13667, 0.63667, 0, 0],\n        \"10885\": [0.25583, 0.75583, 0, 0],\n        \"10886\": [0.25583, 0.75583, 0, 0],\n        \"10887\": [0.13597, 0.63597, 0, 0],\n        \"10888\": [0.13597, 0.63597, 0, 0],\n        \"10889\": [0.26167, 0.75726, 0, 0],\n        \"10890\": [0.26167, 0.75726, 0, 0],\n        \"10891\": [0.48256, 0.98256, 0, 0],\n        \"10892\": [0.48256, 0.98256, 0, 0],\n        \"10901\": [0.13667, 0.63667, 0, 0],\n        \"10902\": [0.13667, 0.63667, 0, 0],\n        \"10933\": [0.25142, 0.75726, 0, 0],\n        \"10934\": [0.25142, 0.75726, 0, 0],\n        \"10935\": [0.26167, 0.75726, 0, 0],\n        \"10936\": [0.26167, 0.75726, 0, 0],\n        \"10937\": [0.26167, 0.75726, 0, 0],\n        \"10938\": [0.26167, 0.75726, 0, 0],\n        \"10949\": [0.25583, 0.75583, 0, 0],\n        \"10950\": [0.25583, 0.75583, 0, 0],\n        \"10955\": [0.28481, 0.79383, 0, 0],\n        \"10956\": [0.28481, 0.79383, 0, 0],\n        \"57350\": [0.08167, 0.58167, 0, 0],\n        \"57351\": [0.08167, 0.58167, 0, 0],\n        \"57352\": [0.08167, 0.58167, 0, 0],\n        \"57353\": [0, 0.43056, 0.04028, 0],\n        \"57356\": [0.25142, 0.75726, 0, 0],\n        \"57357\": [0.25142, 0.75726, 0, 0],\n        \"57358\": [0.41951, 0.91951, 0, 0],\n        \"57359\": [0.30274, 0.79383, 0, 0],\n        \"57360\": [0.30274, 0.79383, 0, 0],\n        \"57361\": [0.41951, 0.91951, 0, 0],\n        \"57366\": [0.25142, 0.75726, 0, 0],\n        \"57367\": [0.25142, 0.75726, 0, 0],\n        \"57368\": [0.25142, 0.75726, 0, 0],\n        \"57369\": [0.25142, 0.75726, 0, 0],\n        \"57370\": [0.13597, 0.63597, 0, 0],\n        \"57371\": [0.13597, 0.63597, 0, 0],\n    },\n    \"Caligraphic-Regular\": {\n        \"48\": [0, 0.43056, 0, 0],\n        \"49\": [0, 0.43056, 0, 0],\n        \"50\": [0, 0.43056, 0, 0],\n        \"51\": [0.19444, 0.43056, 0, 0],\n        \"52\": [0.19444, 0.43056, 0, 0],\n        \"53\": [0.19444, 0.43056, 0, 0],\n        \"54\": [0, 0.64444, 0, 0],\n        \"55\": [0.19444, 0.43056, 0, 0],\n        \"56\": [0, 0.64444, 0, 0],\n        \"57\": [0.19444, 0.43056, 0, 0],\n        \"65\": [0, 0.68333, 0, 0.19445],\n        \"66\": [0, 0.68333, 0.03041, 0.13889],\n        \"67\": [0, 0.68333, 0.05834, 0.13889],\n        \"68\": [0, 0.68333, 0.02778, 0.08334],\n        \"69\": [0, 0.68333, 0.08944, 0.11111],\n        \"70\": [0, 0.68333, 0.09931, 0.11111],\n        \"71\": [0.09722, 0.68333, 0.0593, 0.11111],\n        \"72\": [0, 0.68333, 0.00965, 0.11111],\n        \"73\": [0, 0.68333, 0.07382, 0],\n        \"74\": [0.09722, 0.68333, 0.18472, 0.16667],\n        \"75\": [0, 0.68333, 0.01445, 0.05556],\n        \"76\": [0, 0.68333, 0, 0.13889],\n        \"77\": [0, 0.68333, 0, 0.13889],\n        \"78\": [0, 0.68333, 0.14736, 0.08334],\n        \"79\": [0, 0.68333, 0.02778, 0.11111],\n        \"80\": [0, 0.68333, 0.08222, 0.08334],\n        \"81\": [0.09722, 0.68333, 0, 0.11111],\n        \"82\": [0, 0.68333, 0, 0.08334],\n        \"83\": [0, 0.68333, 0.075, 0.13889],\n        \"84\": [0, 0.68333, 0.25417, 0],\n        \"85\": [0, 0.68333, 0.09931, 0.08334],\n        \"86\": [0, 0.68333, 0.08222, 0],\n        \"87\": [0, 0.68333, 0.08222, 0.08334],\n        \"88\": [0, 0.68333, 0.14643, 0.13889],\n        \"89\": [0.09722, 0.68333, 0.08222, 0.08334],\n        \"90\": [0, 0.68333, 0.07944, 0.13889],\n    },\n    \"Fraktur-Regular\": {\n        \"33\": [0, 0.69141, 0, 0],\n        \"34\": [0, 0.69141, 0, 0],\n        \"38\": [0, 0.69141, 0, 0],\n        \"39\": [0, 0.69141, 0, 0],\n        \"40\": [0.24982, 0.74947, 0, 0],\n        \"41\": [0.24982, 0.74947, 0, 0],\n        \"42\": [0, 0.62119, 0, 0],\n        \"43\": [0.08319, 0.58283, 0, 0],\n        \"44\": [0, 0.10803, 0, 0],\n        \"45\": [0.08319, 0.58283, 0, 0],\n        \"46\": [0, 0.10803, 0, 0],\n        \"47\": [0.24982, 0.74947, 0, 0],\n        \"48\": [0, 0.47534, 0, 0],\n        \"49\": [0, 0.47534, 0, 0],\n        \"50\": [0, 0.47534, 0, 0],\n        \"51\": [0.18906, 0.47534, 0, 0],\n        \"52\": [0.18906, 0.47534, 0, 0],\n        \"53\": [0.18906, 0.47534, 0, 0],\n        \"54\": [0, 0.69141, 0, 0],\n        \"55\": [0.18906, 0.47534, 0, 0],\n        \"56\": [0, 0.69141, 0, 0],\n        \"57\": [0.18906, 0.47534, 0, 0],\n        \"58\": [0, 0.47534, 0, 0],\n        \"59\": [0.12604, 0.47534, 0, 0],\n        \"61\": [-0.13099, 0.36866, 0, 0],\n        \"63\": [0, 0.69141, 0, 0],\n        \"65\": [0, 0.69141, 0, 0],\n        \"66\": [0, 0.69141, 0, 0],\n        \"67\": [0, 0.69141, 0, 0],\n        \"68\": [0, 0.69141, 0, 0],\n        \"69\": [0, 0.69141, 0, 0],\n        \"70\": [0.12604, 0.69141, 0, 0],\n        \"71\": [0, 0.69141, 0, 0],\n        \"72\": [0.06302, 0.69141, 0, 0],\n        \"73\": [0, 0.69141, 0, 0],\n        \"74\": [0.12604, 0.69141, 0, 0],\n        \"75\": [0, 0.69141, 0, 0],\n        \"76\": [0, 0.69141, 0, 0],\n        \"77\": [0, 0.69141, 0, 0],\n        \"78\": [0, 0.69141, 0, 0],\n        \"79\": [0, 0.69141, 0, 0],\n        \"80\": [0.18906, 0.69141, 0, 0],\n        \"81\": [0.03781, 0.69141, 0, 0],\n        \"82\": [0, 0.69141, 0, 0],\n        \"83\": [0, 0.69141, 0, 0],\n        \"84\": [0, 0.69141, 0, 0],\n        \"85\": [0, 0.69141, 0, 0],\n        \"86\": [0, 0.69141, 0, 0],\n        \"87\": [0, 0.69141, 0, 0],\n        \"88\": [0, 0.69141, 0, 0],\n        \"89\": [0.18906, 0.69141, 0, 0],\n        \"90\": [0.12604, 0.69141, 0, 0],\n        \"91\": [0.24982, 0.74947, 0, 0],\n        \"93\": [0.24982, 0.74947, 0, 0],\n        \"94\": [0, 0.69141, 0, 0],\n        \"97\": [0, 0.47534, 0, 0],\n        \"98\": [0, 0.69141, 0, 0],\n        \"99\": [0, 0.47534, 0, 0],\n        \"100\": [0, 0.62119, 0, 0],\n        \"101\": [0, 0.47534, 0, 0],\n        \"102\": [0.18906, 0.69141, 0, 0],\n        \"103\": [0.18906, 0.47534, 0, 0],\n        \"104\": [0.18906, 0.69141, 0, 0],\n        \"105\": [0, 0.69141, 0, 0],\n        \"106\": [0, 0.69141, 0, 0],\n        \"107\": [0, 0.69141, 0, 0],\n        \"108\": [0, 0.69141, 0, 0],\n        \"109\": [0, 0.47534, 0, 0],\n        \"110\": [0, 0.47534, 0, 0],\n        \"111\": [0, 0.47534, 0, 0],\n        \"112\": [0.18906, 0.52396, 0, 0],\n        \"113\": [0.18906, 0.47534, 0, 0],\n        \"114\": [0, 0.47534, 0, 0],\n        \"115\": [0, 0.47534, 0, 0],\n        \"116\": [0, 0.62119, 0, 0],\n        \"117\": [0, 0.47534, 0, 0],\n        \"118\": [0, 0.52396, 0, 0],\n        \"119\": [0, 0.52396, 0, 0],\n        \"120\": [0.18906, 0.47534, 0, 0],\n        \"121\": [0.18906, 0.47534, 0, 0],\n        \"122\": [0.18906, 0.47534, 0, 0],\n        \"8216\": [0, 0.69141, 0, 0],\n        \"8217\": [0, 0.69141, 0, 0],\n        \"58112\": [0, 0.62119, 0, 0],\n        \"58113\": [0, 0.62119, 0, 0],\n        \"58114\": [0.18906, 0.69141, 0, 0],\n        \"58115\": [0.18906, 0.69141, 0, 0],\n        \"58116\": [0.18906, 0.47534, 0, 0],\n        \"58117\": [0, 0.69141, 0, 0],\n        \"58118\": [0, 0.62119, 0, 0],\n        \"58119\": [0, 0.47534, 0, 0],\n    },\n    \"Main-Bold\": {\n        \"33\": [0, 0.69444, 0, 0],\n        \"34\": [0, 0.69444, 0, 0],\n        \"35\": [0.19444, 0.69444, 0, 0],\n        \"36\": [0.05556, 0.75, 0, 0],\n        \"37\": [0.05556, 0.75, 0, 0],\n        \"38\": [0, 0.69444, 0, 0],\n        \"39\": [0, 0.69444, 0, 0],\n        \"40\": [0.25, 0.75, 0, 0],\n        \"41\": [0.25, 0.75, 0, 0],\n        \"42\": [0, 0.75, 0, 0],\n        \"43\": [0.13333, 0.63333, 0, 0],\n        \"44\": [0.19444, 0.15556, 0, 0],\n        \"45\": [0, 0.44444, 0, 0],\n        \"46\": [0, 0.15556, 0, 0],\n        \"47\": [0.25, 0.75, 0, 0],\n        \"48\": [0, 0.64444, 0, 0],\n        \"49\": [0, 0.64444, 0, 0],\n        \"50\": [0, 0.64444, 0, 0],\n        \"51\": [0, 0.64444, 0, 0],\n        \"52\": [0, 0.64444, 0, 0],\n        \"53\": [0, 0.64444, 0, 0],\n        \"54\": [0, 0.64444, 0, 0],\n        \"55\": [0, 0.64444, 0, 0],\n        \"56\": [0, 0.64444, 0, 0],\n        \"57\": [0, 0.64444, 0, 0],\n        \"58\": [0, 0.44444, 0, 0],\n        \"59\": [0.19444, 0.44444, 0, 0],\n        \"60\": [0.08556, 0.58556, 0, 0],\n        \"61\": [-0.10889, 0.39111, 0, 0],\n        \"62\": [0.08556, 0.58556, 0, 0],\n        \"63\": [0, 0.69444, 0, 0],\n        \"64\": [0, 0.69444, 0, 0],\n        \"65\": [0, 0.68611, 0, 0],\n        \"66\": [0, 0.68611, 0, 0],\n        \"67\": [0, 0.68611, 0, 0],\n        \"68\": [0, 0.68611, 0, 0],\n        \"69\": [0, 0.68611, 0, 0],\n        \"70\": [0, 0.68611, 0, 0],\n        \"71\": [0, 0.68611, 0, 0],\n        \"72\": [0, 0.68611, 0, 0],\n        \"73\": [0, 0.68611, 0, 0],\n        \"74\": [0, 0.68611, 0, 0],\n        \"75\": [0, 0.68611, 0, 0],\n        \"76\": [0, 0.68611, 0, 0],\n        \"77\": [0, 0.68611, 0, 0],\n        \"78\": [0, 0.68611, 0, 0],\n        \"79\": [0, 0.68611, 0, 0],\n        \"80\": [0, 0.68611, 0, 0],\n        \"81\": [0.19444, 0.68611, 0, 0],\n        \"82\": [0, 0.68611, 0, 0],\n        \"83\": [0, 0.68611, 0, 0],\n        \"84\": [0, 0.68611, 0, 0],\n        \"85\": [0, 0.68611, 0, 0],\n        \"86\": [0, 0.68611, 0.01597, 0],\n        \"87\": [0, 0.68611, 0.01597, 0],\n        \"88\": [0, 0.68611, 0, 0],\n        \"89\": [0, 0.68611, 0.02875, 0],\n        \"90\": [0, 0.68611, 0, 0],\n        \"91\": [0.25, 0.75, 0, 0],\n        \"92\": [0.25, 0.75, 0, 0],\n        \"93\": [0.25, 0.75, 0, 0],\n        \"94\": [0, 0.69444, 0, 0],\n        \"95\": [0.31, 0.13444, 0.03194, 0],\n        \"96\": [0, 0.69444, 0, 0],\n        \"97\": [0, 0.44444, 0, 0],\n        \"98\": [0, 0.69444, 0, 0],\n        \"99\": [0, 0.44444, 0, 0],\n        \"100\": [0, 0.69444, 0, 0],\n        \"101\": [0, 0.44444, 0, 0],\n        \"102\": [0, 0.69444, 0.10903, 0],\n        \"103\": [0.19444, 0.44444, 0.01597, 0],\n        \"104\": [0, 0.69444, 0, 0],\n        \"105\": [0, 0.69444, 0, 0],\n        \"106\": [0.19444, 0.69444, 0, 0],\n        \"107\": [0, 0.69444, 0, 0],\n        \"108\": [0, 0.69444, 0, 0],\n        \"109\": [0, 0.44444, 0, 0],\n        \"110\": [0, 0.44444, 0, 0],\n        \"111\": [0, 0.44444, 0, 0],\n        \"112\": [0.19444, 0.44444, 0, 0],\n        \"113\": [0.19444, 0.44444, 0, 0],\n        \"114\": [0, 0.44444, 0, 0],\n        \"115\": [0, 0.44444, 0, 0],\n        \"116\": [0, 0.63492, 0, 0],\n        \"117\": [0, 0.44444, 0, 0],\n        \"118\": [0, 0.44444, 0.01597, 0],\n        \"119\": [0, 0.44444, 0.01597, 0],\n        \"120\": [0, 0.44444, 0, 0],\n        \"121\": [0.19444, 0.44444, 0.01597, 0],\n        \"122\": [0, 0.44444, 0, 0],\n        \"123\": [0.25, 0.75, 0, 0],\n        \"124\": [0.25, 0.75, 0, 0],\n        \"125\": [0.25, 0.75, 0, 0],\n        \"126\": [0.35, 0.34444, 0, 0],\n        \"168\": [0, 0.69444, 0, 0],\n        \"172\": [0, 0.44444, 0, 0],\n        \"175\": [0, 0.59611, 0, 0],\n        \"176\": [0, 0.69444, 0, 0],\n        \"177\": [0.13333, 0.63333, 0, 0],\n        \"180\": [0, 0.69444, 0, 0],\n        \"215\": [0.13333, 0.63333, 0, 0],\n        \"247\": [0.13333, 0.63333, 0, 0],\n        \"305\": [0, 0.44444, 0, 0],\n        \"567\": [0.19444, 0.44444, 0, 0],\n        \"710\": [0, 0.69444, 0, 0],\n        \"711\": [0, 0.63194, 0, 0],\n        \"713\": [0, 0.59611, 0, 0],\n        \"714\": [0, 0.69444, 0, 0],\n        \"715\": [0, 0.69444, 0, 0],\n        \"728\": [0, 0.69444, 0, 0],\n        \"729\": [0, 0.69444, 0, 0],\n        \"730\": [0, 0.69444, 0, 0],\n        \"732\": [0, 0.69444, 0, 0],\n        \"768\": [0, 0.69444, 0, 0],\n        \"769\": [0, 0.69444, 0, 0],\n        \"770\": [0, 0.69444, 0, 0],\n        \"771\": [0, 0.69444, 0, 0],\n        \"772\": [0, 0.59611, 0, 0],\n        \"774\": [0, 0.69444, 0, 0],\n        \"775\": [0, 0.69444, 0, 0],\n        \"776\": [0, 0.69444, 0, 0],\n        \"778\": [0, 0.69444, 0, 0],\n        \"779\": [0, 0.69444, 0, 0],\n        \"780\": [0, 0.63194, 0, 0],\n        \"824\": [0.19444, 0.69444, 0, 0],\n        \"915\": [0, 0.68611, 0, 0],\n        \"916\": [0, 0.68611, 0, 0],\n        \"920\": [0, 0.68611, 0, 0],\n        \"923\": [0, 0.68611, 0, 0],\n        \"926\": [0, 0.68611, 0, 0],\n        \"928\": [0, 0.68611, 0, 0],\n        \"931\": [0, 0.68611, 0, 0],\n        \"933\": [0, 0.68611, 0, 0],\n        \"934\": [0, 0.68611, 0, 0],\n        \"936\": [0, 0.68611, 0, 0],\n        \"937\": [0, 0.68611, 0, 0],\n        \"8211\": [0, 0.44444, 0.03194, 0],\n        \"8212\": [0, 0.44444, 0.03194, 0],\n        \"8216\": [0, 0.69444, 0, 0],\n        \"8217\": [0, 0.69444, 0, 0],\n        \"8220\": [0, 0.69444, 0, 0],\n        \"8221\": [0, 0.69444, 0, 0],\n        \"8224\": [0.19444, 0.69444, 0, 0],\n        \"8225\": [0.19444, 0.69444, 0, 0],\n        \"8242\": [0, 0.55556, 0, 0],\n        \"8407\": [0, 0.72444, 0.15486, 0],\n        \"8463\": [0, 0.69444, 0, 0],\n        \"8465\": [0, 0.69444, 0, 0],\n        \"8467\": [0, 0.69444, 0, 0],\n        \"8472\": [0.19444, 0.44444, 0, 0],\n        \"8476\": [0, 0.69444, 0, 0],\n        \"8501\": [0, 0.69444, 0, 0],\n        \"8592\": [-0.10889, 0.39111, 0, 0],\n        \"8593\": [0.19444, 0.69444, 0, 0],\n        \"8594\": [-0.10889, 0.39111, 0, 0],\n        \"8595\": [0.19444, 0.69444, 0, 0],\n        \"8596\": [-0.10889, 0.39111, 0, 0],\n        \"8597\": [0.25, 0.75, 0, 0],\n        \"8598\": [0.19444, 0.69444, 0, 0],\n        \"8599\": [0.19444, 0.69444, 0, 0],\n        \"8600\": [0.19444, 0.69444, 0, 0],\n        \"8601\": [0.19444, 0.69444, 0, 0],\n        \"8636\": [-0.10889, 0.39111, 0, 0],\n        \"8637\": [-0.10889, 0.39111, 0, 0],\n        \"8640\": [-0.10889, 0.39111, 0, 0],\n        \"8641\": [-0.10889, 0.39111, 0, 0],\n        \"8656\": [-0.10889, 0.39111, 0, 0],\n        \"8657\": [0.19444, 0.69444, 0, 0],\n        \"8658\": [-0.10889, 0.39111, 0, 0],\n        \"8659\": [0.19444, 0.69444, 0, 0],\n        \"8660\": [-0.10889, 0.39111, 0, 0],\n        \"8661\": [0.25, 0.75, 0, 0],\n        \"8704\": [0, 0.69444, 0, 0],\n        \"8706\": [0, 0.69444, 0.06389, 0],\n        \"8707\": [0, 0.69444, 0, 0],\n        \"8709\": [0.05556, 0.75, 0, 0],\n        \"8711\": [0, 0.68611, 0, 0],\n        \"8712\": [0.08556, 0.58556, 0, 0],\n        \"8715\": [0.08556, 0.58556, 0, 0],\n        \"8722\": [0.13333, 0.63333, 0, 0],\n        \"8723\": [0.13333, 0.63333, 0, 0],\n        \"8725\": [0.25, 0.75, 0, 0],\n        \"8726\": [0.25, 0.75, 0, 0],\n        \"8727\": [-0.02778, 0.47222, 0, 0],\n        \"8728\": [-0.02639, 0.47361, 0, 0],\n        \"8729\": [-0.02639, 0.47361, 0, 0],\n        \"8730\": [0.18, 0.82, 0, 0],\n        \"8733\": [0, 0.44444, 0, 0],\n        \"8734\": [0, 0.44444, 0, 0],\n        \"8736\": [0, 0.69224, 0, 0],\n        \"8739\": [0.25, 0.75, 0, 0],\n        \"8741\": [0.25, 0.75, 0, 0],\n        \"8743\": [0, 0.55556, 0, 0],\n        \"8744\": [0, 0.55556, 0, 0],\n        \"8745\": [0, 0.55556, 0, 0],\n        \"8746\": [0, 0.55556, 0, 0],\n        \"8747\": [0.19444, 0.69444, 0.12778, 0],\n        \"8764\": [-0.10889, 0.39111, 0, 0],\n        \"8768\": [0.19444, 0.69444, 0, 0],\n        \"8771\": [0.00222, 0.50222, 0, 0],\n        \"8776\": [0.02444, 0.52444, 0, 0],\n        \"8781\": [0.00222, 0.50222, 0, 0],\n        \"8801\": [0.00222, 0.50222, 0, 0],\n        \"8804\": [0.19667, 0.69667, 0, 0],\n        \"8805\": [0.19667, 0.69667, 0, 0],\n        \"8810\": [0.08556, 0.58556, 0, 0],\n        \"8811\": [0.08556, 0.58556, 0, 0],\n        \"8826\": [0.08556, 0.58556, 0, 0],\n        \"8827\": [0.08556, 0.58556, 0, 0],\n        \"8834\": [0.08556, 0.58556, 0, 0],\n        \"8835\": [0.08556, 0.58556, 0, 0],\n        \"8838\": [0.19667, 0.69667, 0, 0],\n        \"8839\": [0.19667, 0.69667, 0, 0],\n        \"8846\": [0, 0.55556, 0, 0],\n        \"8849\": [0.19667, 0.69667, 0, 0],\n        \"8850\": [0.19667, 0.69667, 0, 0],\n        \"8851\": [0, 0.55556, 0, 0],\n        \"8852\": [0, 0.55556, 0, 0],\n        \"8853\": [0.13333, 0.63333, 0, 0],\n        \"8854\": [0.13333, 0.63333, 0, 0],\n        \"8855\": [0.13333, 0.63333, 0, 0],\n        \"8856\": [0.13333, 0.63333, 0, 0],\n        \"8857\": [0.13333, 0.63333, 0, 0],\n        \"8866\": [0, 0.69444, 0, 0],\n        \"8867\": [0, 0.69444, 0, 0],\n        \"8868\": [0, 0.69444, 0, 0],\n        \"8869\": [0, 0.69444, 0, 0],\n        \"8900\": [-0.02639, 0.47361, 0, 0],\n        \"8901\": [-0.02639, 0.47361, 0, 0],\n        \"8902\": [-0.02778, 0.47222, 0, 0],\n        \"8968\": [0.25, 0.75, 0, 0],\n        \"8969\": [0.25, 0.75, 0, 0],\n        \"8970\": [0.25, 0.75, 0, 0],\n        \"8971\": [0.25, 0.75, 0, 0],\n        \"8994\": [-0.13889, 0.36111, 0, 0],\n        \"8995\": [-0.13889, 0.36111, 0, 0],\n        \"9651\": [0.19444, 0.69444, 0, 0],\n        \"9657\": [-0.02778, 0.47222, 0, 0],\n        \"9661\": [0.19444, 0.69444, 0, 0],\n        \"9667\": [-0.02778, 0.47222, 0, 0],\n        \"9711\": [0.19444, 0.69444, 0, 0],\n        \"9824\": [0.12963, 0.69444, 0, 0],\n        \"9825\": [0.12963, 0.69444, 0, 0],\n        \"9826\": [0.12963, 0.69444, 0, 0],\n        \"9827\": [0.12963, 0.69444, 0, 0],\n        \"9837\": [0, 0.75, 0, 0],\n        \"9838\": [0.19444, 0.69444, 0, 0],\n        \"9839\": [0.19444, 0.69444, 0, 0],\n        \"10216\": [0.25, 0.75, 0, 0],\n        \"10217\": [0.25, 0.75, 0, 0],\n        \"10815\": [0, 0.68611, 0, 0],\n        \"10927\": [0.19667, 0.69667, 0, 0],\n        \"10928\": [0.19667, 0.69667, 0, 0],\n    },\n    \"Main-Italic\": {\n        \"33\": [0, 0.69444, 0.12417, 0],\n        \"34\": [0, 0.69444, 0.06961, 0],\n        \"35\": [0.19444, 0.69444, 0.06616, 0],\n        \"37\": [0.05556, 0.75, 0.13639, 0],\n        \"38\": [0, 0.69444, 0.09694, 0],\n        \"39\": [0, 0.69444, 0.12417, 0],\n        \"40\": [0.25, 0.75, 0.16194, 0],\n        \"41\": [0.25, 0.75, 0.03694, 0],\n        \"42\": [0, 0.75, 0.14917, 0],\n        \"43\": [0.05667, 0.56167, 0.03694, 0],\n        \"44\": [0.19444, 0.10556, 0, 0],\n        \"45\": [0, 0.43056, 0.02826, 0],\n        \"46\": [0, 0.10556, 0, 0],\n        \"47\": [0.25, 0.75, 0.16194, 0],\n        \"48\": [0, 0.64444, 0.13556, 0],\n        \"49\": [0, 0.64444, 0.13556, 0],\n        \"50\": [0, 0.64444, 0.13556, 0],\n        \"51\": [0, 0.64444, 0.13556, 0],\n        \"52\": [0.19444, 0.64444, 0.13556, 0],\n        \"53\": [0, 0.64444, 0.13556, 0],\n        \"54\": [0, 0.64444, 0.13556, 0],\n        \"55\": [0.19444, 0.64444, 0.13556, 0],\n        \"56\": [0, 0.64444, 0.13556, 0],\n        \"57\": [0, 0.64444, 0.13556, 0],\n        \"58\": [0, 0.43056, 0.0582, 0],\n        \"59\": [0.19444, 0.43056, 0.0582, 0],\n        \"61\": [-0.13313, 0.36687, 0.06616, 0],\n        \"63\": [0, 0.69444, 0.1225, 0],\n        \"64\": [0, 0.69444, 0.09597, 0],\n        \"65\": [0, 0.68333, 0, 0],\n        \"66\": [0, 0.68333, 0.10257, 0],\n        \"67\": [0, 0.68333, 0.14528, 0],\n        \"68\": [0, 0.68333, 0.09403, 0],\n        \"69\": [0, 0.68333, 0.12028, 0],\n        \"70\": [0, 0.68333, 0.13305, 0],\n        \"71\": [0, 0.68333, 0.08722, 0],\n        \"72\": [0, 0.68333, 0.16389, 0],\n        \"73\": [0, 0.68333, 0.15806, 0],\n        \"74\": [0, 0.68333, 0.14028, 0],\n        \"75\": [0, 0.68333, 0.14528, 0],\n        \"76\": [0, 0.68333, 0, 0],\n        \"77\": [0, 0.68333, 0.16389, 0],\n        \"78\": [0, 0.68333, 0.16389, 0],\n        \"79\": [0, 0.68333, 0.09403, 0],\n        \"80\": [0, 0.68333, 0.10257, 0],\n        \"81\": [0.19444, 0.68333, 0.09403, 0],\n        \"82\": [0, 0.68333, 0.03868, 0],\n        \"83\": [0, 0.68333, 0.11972, 0],\n        \"84\": [0, 0.68333, 0.13305, 0],\n        \"85\": [0, 0.68333, 0.16389, 0],\n        \"86\": [0, 0.68333, 0.18361, 0],\n        \"87\": [0, 0.68333, 0.18361, 0],\n        \"88\": [0, 0.68333, 0.15806, 0],\n        \"89\": [0, 0.68333, 0.19383, 0],\n        \"90\": [0, 0.68333, 0.14528, 0],\n        \"91\": [0.25, 0.75, 0.1875, 0],\n        \"93\": [0.25, 0.75, 0.10528, 0],\n        \"94\": [0, 0.69444, 0.06646, 0],\n        \"95\": [0.31, 0.12056, 0.09208, 0],\n        \"97\": [0, 0.43056, 0.07671, 0],\n        \"98\": [0, 0.69444, 0.06312, 0],\n        \"99\": [0, 0.43056, 0.05653, 0],\n        \"100\": [0, 0.69444, 0.10333, 0],\n        \"101\": [0, 0.43056, 0.07514, 0],\n        \"102\": [0.19444, 0.69444, 0.21194, 0],\n        \"103\": [0.19444, 0.43056, 0.08847, 0],\n        \"104\": [0, 0.69444, 0.07671, 0],\n        \"105\": [0, 0.65536, 0.1019, 0],\n        \"106\": [0.19444, 0.65536, 0.14467, 0],\n        \"107\": [0, 0.69444, 0.10764, 0],\n        \"108\": [0, 0.69444, 0.10333, 0],\n        \"109\": [0, 0.43056, 0.07671, 0],\n        \"110\": [0, 0.43056, 0.07671, 0],\n        \"111\": [0, 0.43056, 0.06312, 0],\n        \"112\": [0.19444, 0.43056, 0.06312, 0],\n        \"113\": [0.19444, 0.43056, 0.08847, 0],\n        \"114\": [0, 0.43056, 0.10764, 0],\n        \"115\": [0, 0.43056, 0.08208, 0],\n        \"116\": [0, 0.61508, 0.09486, 0],\n        \"117\": [0, 0.43056, 0.07671, 0],\n        \"118\": [0, 0.43056, 0.10764, 0],\n        \"119\": [0, 0.43056, 0.10764, 0],\n        \"120\": [0, 0.43056, 0.12042, 0],\n        \"121\": [0.19444, 0.43056, 0.08847, 0],\n        \"122\": [0, 0.43056, 0.12292, 0],\n        \"126\": [0.35, 0.31786, 0.11585, 0],\n        \"163\": [0, 0.69444, 0, 0],\n        \"305\": [0, 0.43056, 0, 0.02778],\n        \"567\": [0.19444, 0.43056, 0, 0.08334],\n        \"768\": [0, 0.69444, 0, 0],\n        \"769\": [0, 0.69444, 0.09694, 0],\n        \"770\": [0, 0.69444, 0.06646, 0],\n        \"771\": [0, 0.66786, 0.11585, 0],\n        \"772\": [0, 0.56167, 0.10333, 0],\n        \"774\": [0, 0.69444, 0.10806, 0],\n        \"775\": [0, 0.66786, 0.11752, 0],\n        \"776\": [0, 0.66786, 0.10474, 0],\n        \"778\": [0, 0.69444, 0, 0],\n        \"779\": [0, 0.69444, 0.1225, 0],\n        \"780\": [0, 0.62847, 0.08295, 0],\n        \"915\": [0, 0.68333, 0.13305, 0],\n        \"916\": [0, 0.68333, 0, 0],\n        \"920\": [0, 0.68333, 0.09403, 0],\n        \"923\": [0, 0.68333, 0, 0],\n        \"926\": [0, 0.68333, 0.15294, 0],\n        \"928\": [0, 0.68333, 0.16389, 0],\n        \"931\": [0, 0.68333, 0.12028, 0],\n        \"933\": [0, 0.68333, 0.11111, 0],\n        \"934\": [0, 0.68333, 0.05986, 0],\n        \"936\": [0, 0.68333, 0.11111, 0],\n        \"937\": [0, 0.68333, 0.10257, 0],\n        \"8211\": [0, 0.43056, 0.09208, 0],\n        \"8212\": [0, 0.43056, 0.09208, 0],\n        \"8216\": [0, 0.69444, 0.12417, 0],\n        \"8217\": [0, 0.69444, 0.12417, 0],\n        \"8220\": [0, 0.69444, 0.1685, 0],\n        \"8221\": [0, 0.69444, 0.06961, 0],\n        \"8463\": [0, 0.68889, 0, 0],\n    },\n    \"Main-Regular\": {\n        \"32\": [0, 0, 0, 0],\n        \"33\": [0, 0.69444, 0, 0],\n        \"34\": [0, 0.69444, 0, 0],\n        \"35\": [0.19444, 0.69444, 0, 0],\n        \"36\": [0.05556, 0.75, 0, 0],\n        \"37\": [0.05556, 0.75, 0, 0],\n        \"38\": [0, 0.69444, 0, 0],\n        \"39\": [0, 0.69444, 0, 0],\n        \"40\": [0.25, 0.75, 0, 0],\n        \"41\": [0.25, 0.75, 0, 0],\n        \"42\": [0, 0.75, 0, 0],\n        \"43\": [0.08333, 0.58333, 0, 0],\n        \"44\": [0.19444, 0.10556, 0, 0],\n        \"45\": [0, 0.43056, 0, 0],\n        \"46\": [0, 0.10556, 0, 0],\n        \"47\": [0.25, 0.75, 0, 0],\n        \"48\": [0, 0.64444, 0, 0],\n        \"49\": [0, 0.64444, 0, 0],\n        \"50\": [0, 0.64444, 0, 0],\n        \"51\": [0, 0.64444, 0, 0],\n        \"52\": [0, 0.64444, 0, 0],\n        \"53\": [0, 0.64444, 0, 0],\n        \"54\": [0, 0.64444, 0, 0],\n        \"55\": [0, 0.64444, 0, 0],\n        \"56\": [0, 0.64444, 0, 0],\n        \"57\": [0, 0.64444, 0, 0],\n        \"58\": [0, 0.43056, 0, 0],\n        \"59\": [0.19444, 0.43056, 0, 0],\n        \"60\": [0.0391, 0.5391, 0, 0],\n        \"61\": [-0.13313, 0.36687, 0, 0],\n        \"62\": [0.0391, 0.5391, 0, 0],\n        \"63\": [0, 0.69444, 0, 0],\n        \"64\": [0, 0.69444, 0, 0],\n        \"65\": [0, 0.68333, 0, 0],\n        \"66\": [0, 0.68333, 0, 0],\n        \"67\": [0, 0.68333, 0, 0],\n        \"68\": [0, 0.68333, 0, 0],\n        \"69\": [0, 0.68333, 0, 0],\n        \"70\": [0, 0.68333, 0, 0],\n        \"71\": [0, 0.68333, 0, 0],\n        \"72\": [0, 0.68333, 0, 0],\n        \"73\": [0, 0.68333, 0, 0],\n        \"74\": [0, 0.68333, 0, 0],\n        \"75\": [0, 0.68333, 0, 0],\n        \"76\": [0, 0.68333, 0, 0],\n        \"77\": [0, 0.68333, 0, 0],\n        \"78\": [0, 0.68333, 0, 0],\n        \"79\": [0, 0.68333, 0, 0],\n        \"80\": [0, 0.68333, 0, 0],\n        \"81\": [0.19444, 0.68333, 0, 0],\n        \"82\": [0, 0.68333, 0, 0],\n        \"83\": [0, 0.68333, 0, 0],\n        \"84\": [0, 0.68333, 0, 0],\n        \"85\": [0, 0.68333, 0, 0],\n        \"86\": [0, 0.68333, 0.01389, 0],\n        \"87\": [0, 0.68333, 0.01389, 0],\n        \"88\": [0, 0.68333, 0, 0],\n        \"89\": [0, 0.68333, 0.025, 0],\n        \"90\": [0, 0.68333, 0, 0],\n        \"91\": [0.25, 0.75, 0, 0],\n        \"92\": [0.25, 0.75, 0, 0],\n        \"93\": [0.25, 0.75, 0, 0],\n        \"94\": [0, 0.69444, 0, 0],\n        \"95\": [0.31, 0.12056, 0.02778, 0],\n        \"96\": [0, 0.69444, 0, 0],\n        \"97\": [0, 0.43056, 0, 0],\n        \"98\": [0, 0.69444, 0, 0],\n        \"99\": [0, 0.43056, 0, 0],\n        \"100\": [0, 0.69444, 0, 0],\n        \"101\": [0, 0.43056, 0, 0],\n        \"102\": [0, 0.69444, 0.07778, 0],\n        \"103\": [0.19444, 0.43056, 0.01389, 0],\n        \"104\": [0, 0.69444, 0, 0],\n        \"105\": [0, 0.66786, 0, 0],\n        \"106\": [0.19444, 0.66786, 0, 0],\n        \"107\": [0, 0.69444, 0, 0],\n        \"108\": [0, 0.69444, 0, 0],\n        \"109\": [0, 0.43056, 0, 0],\n        \"110\": [0, 0.43056, 0, 0],\n        \"111\": [0, 0.43056, 0, 0],\n        \"112\": [0.19444, 0.43056, 0, 0],\n        \"113\": [0.19444, 0.43056, 0, 0],\n        \"114\": [0, 0.43056, 0, 0],\n        \"115\": [0, 0.43056, 0, 0],\n        \"116\": [0, 0.61508, 0, 0],\n        \"117\": [0, 0.43056, 0, 0],\n        \"118\": [0, 0.43056, 0.01389, 0],\n        \"119\": [0, 0.43056, 0.01389, 0],\n        \"120\": [0, 0.43056, 0, 0],\n        \"121\": [0.19444, 0.43056, 0.01389, 0],\n        \"122\": [0, 0.43056, 0, 0],\n        \"123\": [0.25, 0.75, 0, 0],\n        \"124\": [0.25, 0.75, 0, 0],\n        \"125\": [0.25, 0.75, 0, 0],\n        \"126\": [0.35, 0.31786, 0, 0],\n        \"160\": [0, 0, 0, 0],\n        \"168\": [0, 0.66786, 0, 0],\n        \"172\": [0, 0.43056, 0, 0],\n        \"175\": [0, 0.56778, 0, 0],\n        \"176\": [0, 0.69444, 0, 0],\n        \"177\": [0.08333, 0.58333, 0, 0],\n        \"180\": [0, 0.69444, 0, 0],\n        \"215\": [0.08333, 0.58333, 0, 0],\n        \"247\": [0.08333, 0.58333, 0, 0],\n        \"305\": [0, 0.43056, 0, 0],\n        \"567\": [0.19444, 0.43056, 0, 0],\n        \"710\": [0, 0.69444, 0, 0],\n        \"711\": [0, 0.62847, 0, 0],\n        \"713\": [0, 0.56778, 0, 0],\n        \"714\": [0, 0.69444, 0, 0],\n        \"715\": [0, 0.69444, 0, 0],\n        \"728\": [0, 0.69444, 0, 0],\n        \"729\": [0, 0.66786, 0, 0],\n        \"730\": [0, 0.69444, 0, 0],\n        \"732\": [0, 0.66786, 0, 0],\n        \"768\": [0, 0.69444, 0, 0],\n        \"769\": [0, 0.69444, 0, 0],\n        \"770\": [0, 0.69444, 0, 0],\n        \"771\": [0, 0.66786, 0, 0],\n        \"772\": [0, 0.56778, 0, 0],\n        \"774\": [0, 0.69444, 0, 0],\n        \"775\": [0, 0.66786, 0, 0],\n        \"776\": [0, 0.66786, 0, 0],\n        \"778\": [0, 0.69444, 0, 0],\n        \"779\": [0, 0.69444, 0, 0],\n        \"780\": [0, 0.62847, 0, 0],\n        \"824\": [0.19444, 0.69444, 0, 0],\n        \"915\": [0, 0.68333, 0, 0],\n        \"916\": [0, 0.68333, 0, 0],\n        \"920\": [0, 0.68333, 0, 0],\n        \"923\": [0, 0.68333, 0, 0],\n        \"926\": [0, 0.68333, 0, 0],\n        \"928\": [0, 0.68333, 0, 0],\n        \"931\": [0, 0.68333, 0, 0],\n        \"933\": [0, 0.68333, 0, 0],\n        \"934\": [0, 0.68333, 0, 0],\n        \"936\": [0, 0.68333, 0, 0],\n        \"937\": [0, 0.68333, 0, 0],\n        \"8211\": [0, 0.43056, 0.02778, 0],\n        \"8212\": [0, 0.43056, 0.02778, 0],\n        \"8216\": [0, 0.69444, 0, 0],\n        \"8217\": [0, 0.69444, 0, 0],\n        \"8220\": [0, 0.69444, 0, 0],\n        \"8221\": [0, 0.69444, 0, 0],\n        \"8224\": [0.19444, 0.69444, 0, 0],\n        \"8225\": [0.19444, 0.69444, 0, 0],\n        \"8230\": [0, 0.12, 0, 0],\n        \"8242\": [0, 0.55556, 0, 0],\n        \"8407\": [0, 0.71444, 0.15382, 0],\n        \"8463\": [0, 0.68889, 0, 0],\n        \"8465\": [0, 0.69444, 0, 0],\n        \"8467\": [0, 0.69444, 0, 0.11111],\n        \"8472\": [0.19444, 0.43056, 0, 0.11111],\n        \"8476\": [0, 0.69444, 0, 0],\n        \"8501\": [0, 0.69444, 0, 0],\n        \"8592\": [-0.13313, 0.36687, 0, 0],\n        \"8593\": [0.19444, 0.69444, 0, 0],\n        \"8594\": [-0.13313, 0.36687, 0, 0],\n        \"8595\": [0.19444, 0.69444, 0, 0],\n        \"8596\": [-0.13313, 0.36687, 0, 0],\n        \"8597\": [0.25, 0.75, 0, 0],\n        \"8598\": [0.19444, 0.69444, 0, 0],\n        \"8599\": [0.19444, 0.69444, 0, 0],\n        \"8600\": [0.19444, 0.69444, 0, 0],\n        \"8601\": [0.19444, 0.69444, 0, 0],\n        \"8614\": [0.011, 0.511, 0, 0],\n        \"8617\": [0.011, 0.511, 0, 0],\n        \"8618\": [0.011, 0.511, 0, 0],\n        \"8636\": [-0.13313, 0.36687, 0, 0],\n        \"8637\": [-0.13313, 0.36687, 0, 0],\n        \"8640\": [-0.13313, 0.36687, 0, 0],\n        \"8641\": [-0.13313, 0.36687, 0, 0],\n        \"8652\": [0.011, 0.671, 0, 0],\n        \"8656\": [-0.13313, 0.36687, 0, 0],\n        \"8657\": [0.19444, 0.69444, 0, 0],\n        \"8658\": [-0.13313, 0.36687, 0, 0],\n        \"8659\": [0.19444, 0.69444, 0, 0],\n        \"8660\": [-0.13313, 0.36687, 0, 0],\n        \"8661\": [0.25, 0.75, 0, 0],\n        \"8704\": [0, 0.69444, 0, 0],\n        \"8706\": [0, 0.69444, 0.05556, 0.08334],\n        \"8707\": [0, 0.69444, 0, 0],\n        \"8709\": [0.05556, 0.75, 0, 0],\n        \"8711\": [0, 0.68333, 0, 0],\n        \"8712\": [0.0391, 0.5391, 0, 0],\n        \"8715\": [0.0391, 0.5391, 0, 0],\n        \"8722\": [0.08333, 0.58333, 0, 0],\n        \"8723\": [0.08333, 0.58333, 0, 0],\n        \"8725\": [0.25, 0.75, 0, 0],\n        \"8726\": [0.25, 0.75, 0, 0],\n        \"8727\": [-0.03472, 0.46528, 0, 0],\n        \"8728\": [-0.05555, 0.44445, 0, 0],\n        \"8729\": [-0.05555, 0.44445, 0, 0],\n        \"8730\": [0.2, 0.8, 0, 0],\n        \"8733\": [0, 0.43056, 0, 0],\n        \"8734\": [0, 0.43056, 0, 0],\n        \"8736\": [0, 0.69224, 0, 0],\n        \"8739\": [0.25, 0.75, 0, 0],\n        \"8741\": [0.25, 0.75, 0, 0],\n        \"8743\": [0, 0.55556, 0, 0],\n        \"8744\": [0, 0.55556, 0, 0],\n        \"8745\": [0, 0.55556, 0, 0],\n        \"8746\": [0, 0.55556, 0, 0],\n        \"8747\": [0.19444, 0.69444, 0.11111, 0],\n        \"8764\": [-0.13313, 0.36687, 0, 0],\n        \"8768\": [0.19444, 0.69444, 0, 0],\n        \"8771\": [-0.03625, 0.46375, 0, 0],\n        \"8773\": [-0.022, 0.589, 0, 0],\n        \"8776\": [-0.01688, 0.48312, 0, 0],\n        \"8781\": [-0.03625, 0.46375, 0, 0],\n        \"8784\": [-0.133, 0.67, 0, 0],\n        \"8800\": [0.215, 0.716, 0, 0],\n        \"8801\": [-0.03625, 0.46375, 0, 0],\n        \"8804\": [0.13597, 0.63597, 0, 0],\n        \"8805\": [0.13597, 0.63597, 0, 0],\n        \"8810\": [0.0391, 0.5391, 0, 0],\n        \"8811\": [0.0391, 0.5391, 0, 0],\n        \"8826\": [0.0391, 0.5391, 0, 0],\n        \"8827\": [0.0391, 0.5391, 0, 0],\n        \"8834\": [0.0391, 0.5391, 0, 0],\n        \"8835\": [0.0391, 0.5391, 0, 0],\n        \"8838\": [0.13597, 0.63597, 0, 0],\n        \"8839\": [0.13597, 0.63597, 0, 0],\n        \"8846\": [0, 0.55556, 0, 0],\n        \"8849\": [0.13597, 0.63597, 0, 0],\n        \"8850\": [0.13597, 0.63597, 0, 0],\n        \"8851\": [0, 0.55556, 0, 0],\n        \"8852\": [0, 0.55556, 0, 0],\n        \"8853\": [0.08333, 0.58333, 0, 0],\n        \"8854\": [0.08333, 0.58333, 0, 0],\n        \"8855\": [0.08333, 0.58333, 0, 0],\n        \"8856\": [0.08333, 0.58333, 0, 0],\n        \"8857\": [0.08333, 0.58333, 0, 0],\n        \"8866\": [0, 0.69444, 0, 0],\n        \"8867\": [0, 0.69444, 0, 0],\n        \"8868\": [0, 0.69444, 0, 0],\n        \"8869\": [0, 0.69444, 0, 0],\n        \"8872\": [0.249, 0.75, 0, 0],\n        \"8900\": [-0.05555, 0.44445, 0, 0],\n        \"8901\": [-0.05555, 0.44445, 0, 0],\n        \"8902\": [-0.03472, 0.46528, 0, 0],\n        \"8904\": [0.005, 0.505, 0, 0],\n        \"8942\": [0.03, 0.9, 0, 0],\n        \"8943\": [-0.19, 0.31, 0, 0],\n        \"8945\": [-0.1, 0.82, 0, 0],\n        \"8968\": [0.25, 0.75, 0, 0],\n        \"8969\": [0.25, 0.75, 0, 0],\n        \"8970\": [0.25, 0.75, 0, 0],\n        \"8971\": [0.25, 0.75, 0, 0],\n        \"8994\": [-0.14236, 0.35764, 0, 0],\n        \"8995\": [-0.14236, 0.35764, 0, 0],\n        \"9136\": [0.244, 0.744, 0, 0],\n        \"9137\": [0.244, 0.744, 0, 0],\n        \"9651\": [0.19444, 0.69444, 0, 0],\n        \"9657\": [-0.03472, 0.46528, 0, 0],\n        \"9661\": [0.19444, 0.69444, 0, 0],\n        \"9667\": [-0.03472, 0.46528, 0, 0],\n        \"9711\": [0.19444, 0.69444, 0, 0],\n        \"9824\": [0.12963, 0.69444, 0, 0],\n        \"9825\": [0.12963, 0.69444, 0, 0],\n        \"9826\": [0.12963, 0.69444, 0, 0],\n        \"9827\": [0.12963, 0.69444, 0, 0],\n        \"9837\": [0, 0.75, 0, 0],\n        \"9838\": [0.19444, 0.69444, 0, 0],\n        \"9839\": [0.19444, 0.69444, 0, 0],\n        \"10216\": [0.25, 0.75, 0, 0],\n        \"10217\": [0.25, 0.75, 0, 0],\n        \"10222\": [0.244, 0.744, 0, 0],\n        \"10223\": [0.244, 0.744, 0, 0],\n        \"10229\": [0.011, 0.511, 0, 0],\n        \"10230\": [0.011, 0.511, 0, 0],\n        \"10231\": [0.011, 0.511, 0, 0],\n        \"10232\": [0.024, 0.525, 0, 0],\n        \"10233\": [0.024, 0.525, 0, 0],\n        \"10234\": [0.024, 0.525, 0, 0],\n        \"10236\": [0.011, 0.511, 0, 0],\n        \"10815\": [0, 0.68333, 0, 0],\n        \"10927\": [0.13597, 0.63597, 0, 0],\n        \"10928\": [0.13597, 0.63597, 0, 0],\n    },\n    \"Math-BoldItalic\": {\n        \"47\": [0.19444, 0.69444, 0, 0],\n        \"65\": [0, 0.68611, 0, 0],\n        \"66\": [0, 0.68611, 0.04835, 0],\n        \"67\": [0, 0.68611, 0.06979, 0],\n        \"68\": [0, 0.68611, 0.03194, 0],\n        \"69\": [0, 0.68611, 0.05451, 0],\n        \"70\": [0, 0.68611, 0.15972, 0],\n        \"71\": [0, 0.68611, 0, 0],\n        \"72\": [0, 0.68611, 0.08229, 0],\n        \"73\": [0, 0.68611, 0.07778, 0],\n        \"74\": [0, 0.68611, 0.10069, 0],\n        \"75\": [0, 0.68611, 0.06979, 0],\n        \"76\": [0, 0.68611, 0, 0],\n        \"77\": [0, 0.68611, 0.11424, 0],\n        \"78\": [0, 0.68611, 0.11424, 0],\n        \"79\": [0, 0.68611, 0.03194, 0],\n        \"80\": [0, 0.68611, 0.15972, 0],\n        \"81\": [0.19444, 0.68611, 0, 0],\n        \"82\": [0, 0.68611, 0.00421, 0],\n        \"83\": [0, 0.68611, 0.05382, 0],\n        \"84\": [0, 0.68611, 0.15972, 0],\n        \"85\": [0, 0.68611, 0.11424, 0],\n        \"86\": [0, 0.68611, 0.25555, 0],\n        \"87\": [0, 0.68611, 0.15972, 0],\n        \"88\": [0, 0.68611, 0.07778, 0],\n        \"89\": [0, 0.68611, 0.25555, 0],\n        \"90\": [0, 0.68611, 0.06979, 0],\n        \"97\": [0, 0.44444, 0, 0],\n        \"98\": [0, 0.69444, 0, 0],\n        \"99\": [0, 0.44444, 0, 0],\n        \"100\": [0, 0.69444, 0, 0],\n        \"101\": [0, 0.44444, 0, 0],\n        \"102\": [0.19444, 0.69444, 0.11042, 0],\n        \"103\": [0.19444, 0.44444, 0.03704, 0],\n        \"104\": [0, 0.69444, 0, 0],\n        \"105\": [0, 0.69326, 0, 0],\n        \"106\": [0.19444, 0.69326, 0.0622, 0],\n        \"107\": [0, 0.69444, 0.01852, 0],\n        \"108\": [0, 0.69444, 0.0088, 0],\n        \"109\": [0, 0.44444, 0, 0],\n        \"110\": [0, 0.44444, 0, 0],\n        \"111\": [0, 0.44444, 0, 0],\n        \"112\": [0.19444, 0.44444, 0, 0],\n        \"113\": [0.19444, 0.44444, 0.03704, 0],\n        \"114\": [0, 0.44444, 0.03194, 0],\n        \"115\": [0, 0.44444, 0, 0],\n        \"116\": [0, 0.63492, 0, 0],\n        \"117\": [0, 0.44444, 0, 0],\n        \"118\": [0, 0.44444, 0.03704, 0],\n        \"119\": [0, 0.44444, 0.02778, 0],\n        \"120\": [0, 0.44444, 0, 0],\n        \"121\": [0.19444, 0.44444, 0.03704, 0],\n        \"122\": [0, 0.44444, 0.04213, 0],\n        \"915\": [0, 0.68611, 0.15972, 0],\n        \"916\": [0, 0.68611, 0, 0],\n        \"920\": [0, 0.68611, 0.03194, 0],\n        \"923\": [0, 0.68611, 0, 0],\n        \"926\": [0, 0.68611, 0.07458, 0],\n        \"928\": [0, 0.68611, 0.08229, 0],\n        \"931\": [0, 0.68611, 0.05451, 0],\n        \"933\": [0, 0.68611, 0.15972, 0],\n        \"934\": [0, 0.68611, 0, 0],\n        \"936\": [0, 0.68611, 0.11653, 0],\n        \"937\": [0, 0.68611, 0.04835, 0],\n        \"945\": [0, 0.44444, 0, 0],\n        \"946\": [0.19444, 0.69444, 0.03403, 0],\n        \"947\": [0.19444, 0.44444, 0.06389, 0],\n        \"948\": [0, 0.69444, 0.03819, 0],\n        \"949\": [0, 0.44444, 0, 0],\n        \"950\": [0.19444, 0.69444, 0.06215, 0],\n        \"951\": [0.19444, 0.44444, 0.03704, 0],\n        \"952\": [0, 0.69444, 0.03194, 0],\n        \"953\": [0, 0.44444, 0, 0],\n        \"954\": [0, 0.44444, 0, 0],\n        \"955\": [0, 0.69444, 0, 0],\n        \"956\": [0.19444, 0.44444, 0, 0],\n        \"957\": [0, 0.44444, 0.06898, 0],\n        \"958\": [0.19444, 0.69444, 0.03021, 0],\n        \"959\": [0, 0.44444, 0, 0],\n        \"960\": [0, 0.44444, 0.03704, 0],\n        \"961\": [0.19444, 0.44444, 0, 0],\n        \"962\": [0.09722, 0.44444, 0.07917, 0],\n        \"963\": [0, 0.44444, 0.03704, 0],\n        \"964\": [0, 0.44444, 0.13472, 0],\n        \"965\": [0, 0.44444, 0.03704, 0],\n        \"966\": [0.19444, 0.44444, 0, 0],\n        \"967\": [0.19444, 0.44444, 0, 0],\n        \"968\": [0.19444, 0.69444, 0.03704, 0],\n        \"969\": [0, 0.44444, 0.03704, 0],\n        \"977\": [0, 0.69444, 0, 0],\n        \"981\": [0.19444, 0.69444, 0, 0],\n        \"982\": [0, 0.44444, 0.03194, 0],\n        \"1009\": [0.19444, 0.44444, 0, 0],\n        \"1013\": [0, 0.44444, 0, 0],\n    },\n    \"Math-Italic\": {\n        \"47\": [0.19444, 0.69444, 0, 0],\n        \"65\": [0, 0.68333, 0, 0.13889],\n        \"66\": [0, 0.68333, 0.05017, 0.08334],\n        \"67\": [0, 0.68333, 0.07153, 0.08334],\n        \"68\": [0, 0.68333, 0.02778, 0.05556],\n        \"69\": [0, 0.68333, 0.05764, 0.08334],\n        \"70\": [0, 0.68333, 0.13889, 0.08334],\n        \"71\": [0, 0.68333, 0, 0.08334],\n        \"72\": [0, 0.68333, 0.08125, 0.05556],\n        \"73\": [0, 0.68333, 0.07847, 0.11111],\n        \"74\": [0, 0.68333, 0.09618, 0.16667],\n        \"75\": [0, 0.68333, 0.07153, 0.05556],\n        \"76\": [0, 0.68333, 0, 0.02778],\n        \"77\": [0, 0.68333, 0.10903, 0.08334],\n        \"78\": [0, 0.68333, 0.10903, 0.08334],\n        \"79\": [0, 0.68333, 0.02778, 0.08334],\n        \"80\": [0, 0.68333, 0.13889, 0.08334],\n        \"81\": [0.19444, 0.68333, 0, 0.08334],\n        \"82\": [0, 0.68333, 0.00773, 0.08334],\n        \"83\": [0, 0.68333, 0.05764, 0.08334],\n        \"84\": [0, 0.68333, 0.13889, 0.08334],\n        \"85\": [0, 0.68333, 0.10903, 0.02778],\n        \"86\": [0, 0.68333, 0.22222, 0],\n        \"87\": [0, 0.68333, 0.13889, 0],\n        \"88\": [0, 0.68333, 0.07847, 0.08334],\n        \"89\": [0, 0.68333, 0.22222, 0],\n        \"90\": [0, 0.68333, 0.07153, 0.08334],\n        \"97\": [0, 0.43056, 0, 0],\n        \"98\": [0, 0.69444, 0, 0],\n        \"99\": [0, 0.43056, 0, 0.05556],\n        \"100\": [0, 0.69444, 0, 0.16667],\n        \"101\": [0, 0.43056, 0, 0.05556],\n        \"102\": [0.19444, 0.69444, 0.10764, 0.16667],\n        \"103\": [0.19444, 0.43056, 0.03588, 0.02778],\n        \"104\": [0, 0.69444, 0, 0],\n        \"105\": [0, 0.65952, 0, 0],\n        \"106\": [0.19444, 0.65952, 0.05724, 0],\n        \"107\": [0, 0.69444, 0.03148, 0],\n        \"108\": [0, 0.69444, 0.01968, 0.08334],\n        \"109\": [0, 0.43056, 0, 0],\n        \"110\": [0, 0.43056, 0, 0],\n        \"111\": [0, 0.43056, 0, 0.05556],\n        \"112\": [0.19444, 0.43056, 0, 0.08334],\n        \"113\": [0.19444, 0.43056, 0.03588, 0.08334],\n        \"114\": [0, 0.43056, 0.02778, 0.05556],\n        \"115\": [0, 0.43056, 0, 0.05556],\n        \"116\": [0, 0.61508, 0, 0.08334],\n        \"117\": [0, 0.43056, 0, 0.02778],\n        \"118\": [0, 0.43056, 0.03588, 0.02778],\n        \"119\": [0, 0.43056, 0.02691, 0.08334],\n        \"120\": [0, 0.43056, 0, 0.02778],\n        \"121\": [0.19444, 0.43056, 0.03588, 0.05556],\n        \"122\": [0, 0.43056, 0.04398, 0.05556],\n        \"915\": [0, 0.68333, 0.13889, 0.08334],\n        \"916\": [0, 0.68333, 0, 0.16667],\n        \"920\": [0, 0.68333, 0.02778, 0.08334],\n        \"923\": [0, 0.68333, 0, 0.16667],\n        \"926\": [0, 0.68333, 0.07569, 0.08334],\n        \"928\": [0, 0.68333, 0.08125, 0.05556],\n        \"931\": [0, 0.68333, 0.05764, 0.08334],\n        \"933\": [0, 0.68333, 0.13889, 0.05556],\n        \"934\": [0, 0.68333, 0, 0.08334],\n        \"936\": [0, 0.68333, 0.11, 0.05556],\n        \"937\": [0, 0.68333, 0.05017, 0.08334],\n        \"945\": [0, 0.43056, 0.0037, 0.02778],\n        \"946\": [0.19444, 0.69444, 0.05278, 0.08334],\n        \"947\": [0.19444, 0.43056, 0.05556, 0],\n        \"948\": [0, 0.69444, 0.03785, 0.05556],\n        \"949\": [0, 0.43056, 0, 0.08334],\n        \"950\": [0.19444, 0.69444, 0.07378, 0.08334],\n        \"951\": [0.19444, 0.43056, 0.03588, 0.05556],\n        \"952\": [0, 0.69444, 0.02778, 0.08334],\n        \"953\": [0, 0.43056, 0, 0.05556],\n        \"954\": [0, 0.43056, 0, 0],\n        \"955\": [0, 0.69444, 0, 0],\n        \"956\": [0.19444, 0.43056, 0, 0.02778],\n        \"957\": [0, 0.43056, 0.06366, 0.02778],\n        \"958\": [0.19444, 0.69444, 0.04601, 0.11111],\n        \"959\": [0, 0.43056, 0, 0.05556],\n        \"960\": [0, 0.43056, 0.03588, 0],\n        \"961\": [0.19444, 0.43056, 0, 0.08334],\n        \"962\": [0.09722, 0.43056, 0.07986, 0.08334],\n        \"963\": [0, 0.43056, 0.03588, 0],\n        \"964\": [0, 0.43056, 0.1132, 0.02778],\n        \"965\": [0, 0.43056, 0.03588, 0.02778],\n        \"966\": [0.19444, 0.43056, 0, 0.08334],\n        \"967\": [0.19444, 0.43056, 0, 0.05556],\n        \"968\": [0.19444, 0.69444, 0.03588, 0.11111],\n        \"969\": [0, 0.43056, 0.03588, 0],\n        \"977\": [0, 0.69444, 0, 0.08334],\n        \"981\": [0.19444, 0.69444, 0, 0.08334],\n        \"982\": [0, 0.43056, 0.02778, 0],\n        \"1009\": [0.19444, 0.43056, 0, 0.08334],\n        \"1013\": [0, 0.43056, 0, 0.05556],\n    },\n    \"Math-Regular\": {\n        \"65\": [0, 0.68333, 0, 0.13889],\n        \"66\": [0, 0.68333, 0.05017, 0.08334],\n        \"67\": [0, 0.68333, 0.07153, 0.08334],\n        \"68\": [0, 0.68333, 0.02778, 0.05556],\n        \"69\": [0, 0.68333, 0.05764, 0.08334],\n        \"70\": [0, 0.68333, 0.13889, 0.08334],\n        \"71\": [0, 0.68333, 0, 0.08334],\n        \"72\": [0, 0.68333, 0.08125, 0.05556],\n        \"73\": [0, 0.68333, 0.07847, 0.11111],\n        \"74\": [0, 0.68333, 0.09618, 0.16667],\n        \"75\": [0, 0.68333, 0.07153, 0.05556],\n        \"76\": [0, 0.68333, 0, 0.02778],\n        \"77\": [0, 0.68333, 0.10903, 0.08334],\n        \"78\": [0, 0.68333, 0.10903, 0.08334],\n        \"79\": [0, 0.68333, 0.02778, 0.08334],\n        \"80\": [0, 0.68333, 0.13889, 0.08334],\n        \"81\": [0.19444, 0.68333, 0, 0.08334],\n        \"82\": [0, 0.68333, 0.00773, 0.08334],\n        \"83\": [0, 0.68333, 0.05764, 0.08334],\n        \"84\": [0, 0.68333, 0.13889, 0.08334],\n        \"85\": [0, 0.68333, 0.10903, 0.02778],\n        \"86\": [0, 0.68333, 0.22222, 0],\n        \"87\": [0, 0.68333, 0.13889, 0],\n        \"88\": [0, 0.68333, 0.07847, 0.08334],\n        \"89\": [0, 0.68333, 0.22222, 0],\n        \"90\": [0, 0.68333, 0.07153, 0.08334],\n        \"97\": [0, 0.43056, 0, 0],\n        \"98\": [0, 0.69444, 0, 0],\n        \"99\": [0, 0.43056, 0, 0.05556],\n        \"100\": [0, 0.69444, 0, 0.16667],\n        \"101\": [0, 0.43056, 0, 0.05556],\n        \"102\": [0.19444, 0.69444, 0.10764, 0.16667],\n        \"103\": [0.19444, 0.43056, 0.03588, 0.02778],\n        \"104\": [0, 0.69444, 0, 0],\n        \"105\": [0, 0.65952, 0, 0],\n        \"106\": [0.19444, 0.65952, 0.05724, 0],\n        \"107\": [0, 0.69444, 0.03148, 0],\n        \"108\": [0, 0.69444, 0.01968, 0.08334],\n        \"109\": [0, 0.43056, 0, 0],\n        \"110\": [0, 0.43056, 0, 0],\n        \"111\": [0, 0.43056, 0, 0.05556],\n        \"112\": [0.19444, 0.43056, 0, 0.08334],\n        \"113\": [0.19444, 0.43056, 0.03588, 0.08334],\n        \"114\": [0, 0.43056, 0.02778, 0.05556],\n        \"115\": [0, 0.43056, 0, 0.05556],\n        \"116\": [0, 0.61508, 0, 0.08334],\n        \"117\": [0, 0.43056, 0, 0.02778],\n        \"118\": [0, 0.43056, 0.03588, 0.02778],\n        \"119\": [0, 0.43056, 0.02691, 0.08334],\n        \"120\": [0, 0.43056, 0, 0.02778],\n        \"121\": [0.19444, 0.43056, 0.03588, 0.05556],\n        \"122\": [0, 0.43056, 0.04398, 0.05556],\n        \"915\": [0, 0.68333, 0.13889, 0.08334],\n        \"916\": [0, 0.68333, 0, 0.16667],\n        \"920\": [0, 0.68333, 0.02778, 0.08334],\n        \"923\": [0, 0.68333, 0, 0.16667],\n        \"926\": [0, 0.68333, 0.07569, 0.08334],\n        \"928\": [0, 0.68333, 0.08125, 0.05556],\n        \"931\": [0, 0.68333, 0.05764, 0.08334],\n        \"933\": [0, 0.68333, 0.13889, 0.05556],\n        \"934\": [0, 0.68333, 0, 0.08334],\n        \"936\": [0, 0.68333, 0.11, 0.05556],\n        \"937\": [0, 0.68333, 0.05017, 0.08334],\n        \"945\": [0, 0.43056, 0.0037, 0.02778],\n        \"946\": [0.19444, 0.69444, 0.05278, 0.08334],\n        \"947\": [0.19444, 0.43056, 0.05556, 0],\n        \"948\": [0, 0.69444, 0.03785, 0.05556],\n        \"949\": [0, 0.43056, 0, 0.08334],\n        \"950\": [0.19444, 0.69444, 0.07378, 0.08334],\n        \"951\": [0.19444, 0.43056, 0.03588, 0.05556],\n        \"952\": [0, 0.69444, 0.02778, 0.08334],\n        \"953\": [0, 0.43056, 0, 0.05556],\n        \"954\": [0, 0.43056, 0, 0],\n        \"955\": [0, 0.69444, 0, 0],\n        \"956\": [0.19444, 0.43056, 0, 0.02778],\n        \"957\": [0, 0.43056, 0.06366, 0.02778],\n        \"958\": [0.19444, 0.69444, 0.04601, 0.11111],\n        \"959\": [0, 0.43056, 0, 0.05556],\n        \"960\": [0, 0.43056, 0.03588, 0],\n        \"961\": [0.19444, 0.43056, 0, 0.08334],\n        \"962\": [0.09722, 0.43056, 0.07986, 0.08334],\n        \"963\": [0, 0.43056, 0.03588, 0],\n        \"964\": [0, 0.43056, 0.1132, 0.02778],\n        \"965\": [0, 0.43056, 0.03588, 0.02778],\n        \"966\": [0.19444, 0.43056, 0, 0.08334],\n        \"967\": [0.19444, 0.43056, 0, 0.05556],\n        \"968\": [0.19444, 0.69444, 0.03588, 0.11111],\n        \"969\": [0, 0.43056, 0.03588, 0],\n        \"977\": [0, 0.69444, 0, 0.08334],\n        \"981\": [0.19444, 0.69444, 0, 0.08334],\n        \"982\": [0, 0.43056, 0.02778, 0],\n        \"1009\": [0.19444, 0.43056, 0, 0.08334],\n        \"1013\": [0, 0.43056, 0, 0.05556],\n    },\n    \"SansSerif-Regular\": {\n        \"33\": [0, 0.69444, 0, 0],\n        \"34\": [0, 0.69444, 0, 0],\n        \"35\": [0.19444, 0.69444, 0, 0],\n        \"36\": [0.05556, 0.75, 0, 0],\n        \"37\": [0.05556, 0.75, 0, 0],\n        \"38\": [0, 0.69444, 0, 0],\n        \"39\": [0, 0.69444, 0, 0],\n        \"40\": [0.25, 0.75, 0, 0],\n        \"41\": [0.25, 0.75, 0, 0],\n        \"42\": [0, 0.75, 0, 0],\n        \"43\": [0.08333, 0.58333, 0, 0],\n        \"44\": [0.125, 0.08333, 0, 0],\n        \"45\": [0, 0.44444, 0, 0],\n        \"46\": [0, 0.08333, 0, 0],\n        \"47\": [0.25, 0.75, 0, 0],\n        \"48\": [0, 0.65556, 0, 0],\n        \"49\": [0, 0.65556, 0, 0],\n        \"50\": [0, 0.65556, 0, 0],\n        \"51\": [0, 0.65556, 0, 0],\n        \"52\": [0, 0.65556, 0, 0],\n        \"53\": [0, 0.65556, 0, 0],\n        \"54\": [0, 0.65556, 0, 0],\n        \"55\": [0, 0.65556, 0, 0],\n        \"56\": [0, 0.65556, 0, 0],\n        \"57\": [0, 0.65556, 0, 0],\n        \"58\": [0, 0.44444, 0, 0],\n        \"59\": [0.125, 0.44444, 0, 0],\n        \"61\": [-0.13, 0.37, 0, 0],\n        \"63\": [0, 0.69444, 0, 0],\n        \"64\": [0, 0.69444, 0, 0],\n        \"65\": [0, 0.69444, 0, 0],\n        \"66\": [0, 0.69444, 0, 0],\n        \"67\": [0, 0.69444, 0, 0],\n        \"68\": [0, 0.69444, 0, 0],\n        \"69\": [0, 0.69444, 0, 0],\n        \"70\": [0, 0.69444, 0, 0],\n        \"71\": [0, 0.69444, 0, 0],\n        \"72\": [0, 0.69444, 0, 0],\n        \"73\": [0, 0.69444, 0, 0],\n        \"74\": [0, 0.69444, 0, 0],\n        \"75\": [0, 0.69444, 0, 0],\n        \"76\": [0, 0.69444, 0, 0],\n        \"77\": [0, 0.69444, 0, 0],\n        \"78\": [0, 0.69444, 0, 0],\n        \"79\": [0, 0.69444, 0, 0],\n        \"80\": [0, 0.69444, 0, 0],\n        \"81\": [0.125, 0.69444, 0, 0],\n        \"82\": [0, 0.69444, 0, 0],\n        \"83\": [0, 0.69444, 0, 0],\n        \"84\": [0, 0.69444, 0, 0],\n        \"85\": [0, 0.69444, 0, 0],\n        \"86\": [0, 0.69444, 0.01389, 0],\n        \"87\": [0, 0.69444, 0.01389, 0],\n        \"88\": [0, 0.69444, 0, 0],\n        \"89\": [0, 0.69444, 0.025, 0],\n        \"90\": [0, 0.69444, 0, 0],\n        \"91\": [0.25, 0.75, 0, 0],\n        \"93\": [0.25, 0.75, 0, 0],\n        \"94\": [0, 0.69444, 0, 0],\n        \"95\": [0.35, 0.09444, 0.02778, 0],\n        \"97\": [0, 0.44444, 0, 0],\n        \"98\": [0, 0.69444, 0, 0],\n        \"99\": [0, 0.44444, 0, 0],\n        \"100\": [0, 0.69444, 0, 0],\n        \"101\": [0, 0.44444, 0, 0],\n        \"102\": [0, 0.69444, 0.06944, 0],\n        \"103\": [0.19444, 0.44444, 0.01389, 0],\n        \"104\": [0, 0.69444, 0, 0],\n        \"105\": [0, 0.67937, 0, 0],\n        \"106\": [0.19444, 0.67937, 0, 0],\n        \"107\": [0, 0.69444, 0, 0],\n        \"108\": [0, 0.69444, 0, 0],\n        \"109\": [0, 0.44444, 0, 0],\n        \"110\": [0, 0.44444, 0, 0],\n        \"111\": [0, 0.44444, 0, 0],\n        \"112\": [0.19444, 0.44444, 0, 0],\n        \"113\": [0.19444, 0.44444, 0, 0],\n        \"114\": [0, 0.44444, 0.01389, 0],\n        \"115\": [0, 0.44444, 0, 0],\n        \"116\": [0, 0.57143, 0, 0],\n        \"117\": [0, 0.44444, 0, 0],\n        \"118\": [0, 0.44444, 0.01389, 0],\n        \"119\": [0, 0.44444, 0.01389, 0],\n        \"120\": [0, 0.44444, 0, 0],\n        \"121\": [0.19444, 0.44444, 0.01389, 0],\n        \"122\": [0, 0.44444, 0, 0],\n        \"126\": [0.35, 0.32659, 0, 0],\n        \"305\": [0, 0.44444, 0, 0],\n        \"567\": [0.19444, 0.44444, 0, 0],\n        \"768\": [0, 0.69444, 0, 0],\n        \"769\": [0, 0.69444, 0, 0],\n        \"770\": [0, 0.69444, 0, 0],\n        \"771\": [0, 0.67659, 0, 0],\n        \"772\": [0, 0.60889, 0, 0],\n        \"774\": [0, 0.69444, 0, 0],\n        \"775\": [0, 0.67937, 0, 0],\n        \"776\": [0, 0.67937, 0, 0],\n        \"778\": [0, 0.69444, 0, 0],\n        \"779\": [0, 0.69444, 0, 0],\n        \"780\": [0, 0.63194, 0, 0],\n        \"915\": [0, 0.69444, 0, 0],\n        \"916\": [0, 0.69444, 0, 0],\n        \"920\": [0, 0.69444, 0, 0],\n        \"923\": [0, 0.69444, 0, 0],\n        \"926\": [0, 0.69444, 0, 0],\n        \"928\": [0, 0.69444, 0, 0],\n        \"931\": [0, 0.69444, 0, 0],\n        \"933\": [0, 0.69444, 0, 0],\n        \"934\": [0, 0.69444, 0, 0],\n        \"936\": [0, 0.69444, 0, 0],\n        \"937\": [0, 0.69444, 0, 0],\n        \"8211\": [0, 0.44444, 0.02778, 0],\n        \"8212\": [0, 0.44444, 0.02778, 0],\n        \"8216\": [0, 0.69444, 0, 0],\n        \"8217\": [0, 0.69444, 0, 0],\n        \"8220\": [0, 0.69444, 0, 0],\n        \"8221\": [0, 0.69444, 0, 0],\n    },\n    \"Script-Regular\": {\n        \"65\": [0, 0.7, 0.22925, 0],\n        \"66\": [0, 0.7, 0.04087, 0],\n        \"67\": [0, 0.7, 0.1689, 0],\n        \"68\": [0, 0.7, 0.09371, 0],\n        \"69\": [0, 0.7, 0.18583, 0],\n        \"70\": [0, 0.7, 0.13634, 0],\n        \"71\": [0, 0.7, 0.17322, 0],\n        \"72\": [0, 0.7, 0.29694, 0],\n        \"73\": [0, 0.7, 0.19189, 0],\n        \"74\": [0.27778, 0.7, 0.19189, 0],\n        \"75\": [0, 0.7, 0.31259, 0],\n        \"76\": [0, 0.7, 0.19189, 0],\n        \"77\": [0, 0.7, 0.15981, 0],\n        \"78\": [0, 0.7, 0.3525, 0],\n        \"79\": [0, 0.7, 0.08078, 0],\n        \"80\": [0, 0.7, 0.08078, 0],\n        \"81\": [0, 0.7, 0.03305, 0],\n        \"82\": [0, 0.7, 0.06259, 0],\n        \"83\": [0, 0.7, 0.19189, 0],\n        \"84\": [0, 0.7, 0.29087, 0],\n        \"85\": [0, 0.7, 0.25815, 0],\n        \"86\": [0, 0.7, 0.27523, 0],\n        \"87\": [0, 0.7, 0.27523, 0],\n        \"88\": [0, 0.7, 0.26006, 0],\n        \"89\": [0, 0.7, 0.2939, 0],\n        \"90\": [0, 0.7, 0.24037, 0],\n    },\n    \"Size1-Regular\": {\n        \"40\": [0.35001, 0.85, 0, 0],\n        \"41\": [0.35001, 0.85, 0, 0],\n        \"47\": [0.35001, 0.85, 0, 0],\n        \"91\": [0.35001, 0.85, 0, 0],\n        \"92\": [0.35001, 0.85, 0, 0],\n        \"93\": [0.35001, 0.85, 0, 0],\n        \"123\": [0.35001, 0.85, 0, 0],\n        \"125\": [0.35001, 0.85, 0, 0],\n        \"710\": [0, 0.72222, 0, 0],\n        \"732\": [0, 0.72222, 0, 0],\n        \"770\": [0, 0.72222, 0, 0],\n        \"771\": [0, 0.72222, 0, 0],\n        \"8214\": [-0.00099, 0.601, 0, 0],\n        \"8593\": [1e-05, 0.6, 0, 0],\n        \"8595\": [1e-05, 0.6, 0, 0],\n        \"8657\": [1e-05, 0.6, 0, 0],\n        \"8659\": [1e-05, 0.6, 0, 0],\n        \"8719\": [0.25001, 0.75, 0, 0],\n        \"8720\": [0.25001, 0.75, 0, 0],\n        \"8721\": [0.25001, 0.75, 0, 0],\n        \"8730\": [0.35001, 0.85, 0, 0],\n        \"8739\": [-0.00599, 0.606, 0, 0],\n        \"8741\": [-0.00599, 0.606, 0, 0],\n        \"8747\": [0.30612, 0.805, 0.19445, 0],\n        \"8748\": [0.306, 0.805, 0.19445, 0],\n        \"8749\": [0.306, 0.805, 0.19445, 0],\n        \"8750\": [0.30612, 0.805, 0.19445, 0],\n        \"8896\": [0.25001, 0.75, 0, 0],\n        \"8897\": [0.25001, 0.75, 0, 0],\n        \"8898\": [0.25001, 0.75, 0, 0],\n        \"8899\": [0.25001, 0.75, 0, 0],\n        \"8968\": [0.35001, 0.85, 0, 0],\n        \"8969\": [0.35001, 0.85, 0, 0],\n        \"8970\": [0.35001, 0.85, 0, 0],\n        \"8971\": [0.35001, 0.85, 0, 0],\n        \"9168\": [-0.00099, 0.601, 0, 0],\n        \"10216\": [0.35001, 0.85, 0, 0],\n        \"10217\": [0.35001, 0.85, 0, 0],\n        \"10752\": [0.25001, 0.75, 0, 0],\n        \"10753\": [0.25001, 0.75, 0, 0],\n        \"10754\": [0.25001, 0.75, 0, 0],\n        \"10756\": [0.25001, 0.75, 0, 0],\n        \"10758\": [0.25001, 0.75, 0, 0],\n    },\n    \"Size2-Regular\": {\n        \"40\": [0.65002, 1.15, 0, 0],\n        \"41\": [0.65002, 1.15, 0, 0],\n        \"47\": [0.65002, 1.15, 0, 0],\n        \"91\": [0.65002, 1.15, 0, 0],\n        \"92\": [0.65002, 1.15, 0, 0],\n        \"93\": [0.65002, 1.15, 0, 0],\n        \"123\": [0.65002, 1.15, 0, 0],\n        \"125\": [0.65002, 1.15, 0, 0],\n        \"710\": [0, 0.75, 0, 0],\n        \"732\": [0, 0.75, 0, 0],\n        \"770\": [0, 0.75, 0, 0],\n        \"771\": [0, 0.75, 0, 0],\n        \"8719\": [0.55001, 1.05, 0, 0],\n        \"8720\": [0.55001, 1.05, 0, 0],\n        \"8721\": [0.55001, 1.05, 0, 0],\n        \"8730\": [0.65002, 1.15, 0, 0],\n        \"8747\": [0.86225, 1.36, 0.44445, 0],\n        \"8748\": [0.862, 1.36, 0.44445, 0],\n        \"8749\": [0.862, 1.36, 0.44445, 0],\n        \"8750\": [0.86225, 1.36, 0.44445, 0],\n        \"8896\": [0.55001, 1.05, 0, 0],\n        \"8897\": [0.55001, 1.05, 0, 0],\n        \"8898\": [0.55001, 1.05, 0, 0],\n        \"8899\": [0.55001, 1.05, 0, 0],\n        \"8968\": [0.65002, 1.15, 0, 0],\n        \"8969\": [0.65002, 1.15, 0, 0],\n        \"8970\": [0.65002, 1.15, 0, 0],\n        \"8971\": [0.65002, 1.15, 0, 0],\n        \"10216\": [0.65002, 1.15, 0, 0],\n        \"10217\": [0.65002, 1.15, 0, 0],\n        \"10752\": [0.55001, 1.05, 0, 0],\n        \"10753\": [0.55001, 1.05, 0, 0],\n        \"10754\": [0.55001, 1.05, 0, 0],\n        \"10756\": [0.55001, 1.05, 0, 0],\n        \"10758\": [0.55001, 1.05, 0, 0],\n    },\n    \"Size3-Regular\": {\n        \"40\": [0.95003, 1.45, 0, 0],\n        \"41\": [0.95003, 1.45, 0, 0],\n        \"47\": [0.95003, 1.45, 0, 0],\n        \"91\": [0.95003, 1.45, 0, 0],\n        \"92\": [0.95003, 1.45, 0, 0],\n        \"93\": [0.95003, 1.45, 0, 0],\n        \"123\": [0.95003, 1.45, 0, 0],\n        \"125\": [0.95003, 1.45, 0, 0],\n        \"710\": [0, 0.75, 0, 0],\n        \"732\": [0, 0.75, 0, 0],\n        \"770\": [0, 0.75, 0, 0],\n        \"771\": [0, 0.75, 0, 0],\n        \"8730\": [0.95003, 1.45, 0, 0],\n        \"8968\": [0.95003, 1.45, 0, 0],\n        \"8969\": [0.95003, 1.45, 0, 0],\n        \"8970\": [0.95003, 1.45, 0, 0],\n        \"8971\": [0.95003, 1.45, 0, 0],\n        \"10216\": [0.95003, 1.45, 0, 0],\n        \"10217\": [0.95003, 1.45, 0, 0],\n    },\n    \"Size4-Regular\": {\n        \"40\": [1.25003, 1.75, 0, 0],\n        \"41\": [1.25003, 1.75, 0, 0],\n        \"47\": [1.25003, 1.75, 0, 0],\n        \"91\": [1.25003, 1.75, 0, 0],\n        \"92\": [1.25003, 1.75, 0, 0],\n        \"93\": [1.25003, 1.75, 0, 0],\n        \"123\": [1.25003, 1.75, 0, 0],\n        \"125\": [1.25003, 1.75, 0, 0],\n        \"710\": [0, 0.825, 0, 0],\n        \"732\": [0, 0.825, 0, 0],\n        \"770\": [0, 0.825, 0, 0],\n        \"771\": [0, 0.825, 0, 0],\n        \"8730\": [1.25003, 1.75, 0, 0],\n        \"8968\": [1.25003, 1.75, 0, 0],\n        \"8969\": [1.25003, 1.75, 0, 0],\n        \"8970\": [1.25003, 1.75, 0, 0],\n        \"8971\": [1.25003, 1.75, 0, 0],\n        \"9115\": [0.64502, 1.155, 0, 0],\n        \"9116\": [1e-05, 0.6, 0, 0],\n        \"9117\": [0.64502, 1.155, 0, 0],\n        \"9118\": [0.64502, 1.155, 0, 0],\n        \"9119\": [1e-05, 0.6, 0, 0],\n        \"9120\": [0.64502, 1.155, 0, 0],\n        \"9121\": [0.64502, 1.155, 0, 0],\n        \"9122\": [-0.00099, 0.601, 0, 0],\n        \"9123\": [0.64502, 1.155, 0, 0],\n        \"9124\": [0.64502, 1.155, 0, 0],\n        \"9125\": [-0.00099, 0.601, 0, 0],\n        \"9126\": [0.64502, 1.155, 0, 0],\n        \"9127\": [1e-05, 0.9, 0, 0],\n        \"9128\": [0.65002, 1.15, 0, 0],\n        \"9129\": [0.90001, 0, 0, 0],\n        \"9130\": [0, 0.3, 0, 0],\n        \"9131\": [1e-05, 0.9, 0, 0],\n        \"9132\": [0.65002, 1.15, 0, 0],\n        \"9133\": [0.90001, 0, 0, 0],\n        \"9143\": [0.88502, 0.915, 0, 0],\n        \"10216\": [1.25003, 1.75, 0, 0],\n        \"10217\": [1.25003, 1.75, 0, 0],\n        \"57344\": [-0.00499, 0.605, 0, 0],\n        \"57345\": [-0.00499, 0.605, 0, 0],\n        \"57680\": [0, 0.12, 0, 0],\n        \"57681\": [0, 0.12, 0, 0],\n        \"57682\": [0, 0.12, 0, 0],\n        \"57683\": [0, 0.12, 0, 0],\n    },\n    \"Typewriter-Regular\": {\n        \"33\": [0, 0.61111, 0, 0],\n        \"34\": [0, 0.61111, 0, 0],\n        \"35\": [0, 0.61111, 0, 0],\n        \"36\": [0.08333, 0.69444, 0, 0],\n        \"37\": [0.08333, 0.69444, 0, 0],\n        \"38\": [0, 0.61111, 0, 0],\n        \"39\": [0, 0.61111, 0, 0],\n        \"40\": [0.08333, 0.69444, 0, 0],\n        \"41\": [0.08333, 0.69444, 0, 0],\n        \"42\": [0, 0.52083, 0, 0],\n        \"43\": [-0.08056, 0.53055, 0, 0],\n        \"44\": [0.13889, 0.125, 0, 0],\n        \"45\": [-0.08056, 0.53055, 0, 0],\n        \"46\": [0, 0.125, 0, 0],\n        \"47\": [0.08333, 0.69444, 0, 0],\n        \"48\": [0, 0.61111, 0, 0],\n        \"49\": [0, 0.61111, 0, 0],\n        \"50\": [0, 0.61111, 0, 0],\n        \"51\": [0, 0.61111, 0, 0],\n        \"52\": [0, 0.61111, 0, 0],\n        \"53\": [0, 0.61111, 0, 0],\n        \"54\": [0, 0.61111, 0, 0],\n        \"55\": [0, 0.61111, 0, 0],\n        \"56\": [0, 0.61111, 0, 0],\n        \"57\": [0, 0.61111, 0, 0],\n        \"58\": [0, 0.43056, 0, 0],\n        \"59\": [0.13889, 0.43056, 0, 0],\n        \"60\": [-0.05556, 0.55556, 0, 0],\n        \"61\": [-0.19549, 0.41562, 0, 0],\n        \"62\": [-0.05556, 0.55556, 0, 0],\n        \"63\": [0, 0.61111, 0, 0],\n        \"64\": [0, 0.61111, 0, 0],\n        \"65\": [0, 0.61111, 0, 0],\n        \"66\": [0, 0.61111, 0, 0],\n        \"67\": [0, 0.61111, 0, 0],\n        \"68\": [0, 0.61111, 0, 0],\n        \"69\": [0, 0.61111, 0, 0],\n        \"70\": [0, 0.61111, 0, 0],\n        \"71\": [0, 0.61111, 0, 0],\n        \"72\": [0, 0.61111, 0, 0],\n        \"73\": [0, 0.61111, 0, 0],\n        \"74\": [0, 0.61111, 0, 0],\n        \"75\": [0, 0.61111, 0, 0],\n        \"76\": [0, 0.61111, 0, 0],\n        \"77\": [0, 0.61111, 0, 0],\n        \"78\": [0, 0.61111, 0, 0],\n        \"79\": [0, 0.61111, 0, 0],\n        \"80\": [0, 0.61111, 0, 0],\n        \"81\": [0.13889, 0.61111, 0, 0],\n        \"82\": [0, 0.61111, 0, 0],\n        \"83\": [0, 0.61111, 0, 0],\n        \"84\": [0, 0.61111, 0, 0],\n        \"85\": [0, 0.61111, 0, 0],\n        \"86\": [0, 0.61111, 0, 0],\n        \"87\": [0, 0.61111, 0, 0],\n        \"88\": [0, 0.61111, 0, 0],\n        \"89\": [0, 0.61111, 0, 0],\n        \"90\": [0, 0.61111, 0, 0],\n        \"91\": [0.08333, 0.69444, 0, 0],\n        \"92\": [0.08333, 0.69444, 0, 0],\n        \"93\": [0.08333, 0.69444, 0, 0],\n        \"94\": [0, 0.61111, 0, 0],\n        \"95\": [0.09514, 0, 0, 0],\n        \"96\": [0, 0.61111, 0, 0],\n        \"97\": [0, 0.43056, 0, 0],\n        \"98\": [0, 0.61111, 0, 0],\n        \"99\": [0, 0.43056, 0, 0],\n        \"100\": [0, 0.61111, 0, 0],\n        \"101\": [0, 0.43056, 0, 0],\n        \"102\": [0, 0.61111, 0, 0],\n        \"103\": [0.22222, 0.43056, 0, 0],\n        \"104\": [0, 0.61111, 0, 0],\n        \"105\": [0, 0.61111, 0, 0],\n        \"106\": [0.22222, 0.61111, 0, 0],\n        \"107\": [0, 0.61111, 0, 0],\n        \"108\": [0, 0.61111, 0, 0],\n        \"109\": [0, 0.43056, 0, 0],\n        \"110\": [0, 0.43056, 0, 0],\n        \"111\": [0, 0.43056, 0, 0],\n        \"112\": [0.22222, 0.43056, 0, 0],\n        \"113\": [0.22222, 0.43056, 0, 0],\n        \"114\": [0, 0.43056, 0, 0],\n        \"115\": [0, 0.43056, 0, 0],\n        \"116\": [0, 0.55358, 0, 0],\n        \"117\": [0, 0.43056, 0, 0],\n        \"118\": [0, 0.43056, 0, 0],\n        \"119\": [0, 0.43056, 0, 0],\n        \"120\": [0, 0.43056, 0, 0],\n        \"121\": [0.22222, 0.43056, 0, 0],\n        \"122\": [0, 0.43056, 0, 0],\n        \"123\": [0.08333, 0.69444, 0, 0],\n        \"124\": [0.08333, 0.69444, 0, 0],\n        \"125\": [0.08333, 0.69444, 0, 0],\n        \"126\": [0, 0.61111, 0, 0],\n        \"127\": [0, 0.61111, 0, 0],\n        \"305\": [0, 0.43056, 0, 0],\n        \"567\": [0.22222, 0.43056, 0, 0],\n        \"768\": [0, 0.61111, 0, 0],\n        \"769\": [0, 0.61111, 0, 0],\n        \"770\": [0, 0.61111, 0, 0],\n        \"771\": [0, 0.61111, 0, 0],\n        \"772\": [0, 0.56555, 0, 0],\n        \"774\": [0, 0.61111, 0, 0],\n        \"776\": [0, 0.61111, 0, 0],\n        \"778\": [0, 0.61111, 0, 0],\n        \"780\": [0, 0.56597, 0, 0],\n        \"915\": [0, 0.61111, 0, 0],\n        \"916\": [0, 0.61111, 0, 0],\n        \"920\": [0, 0.61111, 0, 0],\n        \"923\": [0, 0.61111, 0, 0],\n        \"926\": [0, 0.61111, 0, 0],\n        \"928\": [0, 0.61111, 0, 0],\n        \"931\": [0, 0.61111, 0, 0],\n        \"933\": [0, 0.61111, 0, 0],\n        \"934\": [0, 0.61111, 0, 0],\n        \"936\": [0, 0.61111, 0, 0],\n        \"937\": [0, 0.61111, 0, 0],\n        \"2018\": [0, 0.61111, 0, 0],\n        \"2019\": [0, 0.61111, 0, 0],\n        \"8242\": [0, 0.61111, 0, 0],\n    },\n};\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/third_party/katex/src/functions.js",
    "content": "var utils = require(\"./utils\");\nvar ParseError = require(\"./ParseError\");\n\n/* This file contains a list of functions that we parse, identified by\n * the calls to defineFunction.\n *\n * The first argument to defineFunction is a single name or a list of names.\n * All functions named in such a list will share a single implementation.\n *\n * Each declared function can have associated properties, which\n * include the following:\n *\n *  - numArgs: The number of arguments the function takes.\n *             If this is the only property, it can be passed as a number\n *             instead of an element of a properties object.\n *  - argTypes: (optional) An array corresponding to each argument of the\n *              function, giving the type of argument that should be parsed. Its\n *              length should be equal to `numArgs + numOptionalArgs`. Valid\n *              types:\n *               - \"size\": A size-like thing, such as \"1em\" or \"5ex\"\n *               - \"color\": An html color, like \"#abc\" or \"blue\"\n *               - \"original\": The same type as the environment that the\n *                             function being parsed is in (e.g. used for the\n *                             bodies of functions like \\color where the first\n *                             argument is special and the second argument is\n *                             parsed normally)\n *              Other possible types (probably shouldn't be used)\n *               - \"text\": Text-like (e.g. \\text)\n *               - \"math\": Normal math\n *              If undefined, this will be treated as an appropriate length\n *              array of \"original\" strings\n *  - greediness: (optional) The greediness of the function to use ungrouped\n *                arguments.\n *\n *                E.g. if you have an expression\n *                  \\sqrt \\frac 1 2\n *                since \\frac has greediness=2 vs \\sqrt's greediness=1, \\frac\n *                will use the two arguments '1' and '2' as its two arguments,\n *                then that whole function will be used as the argument to\n *                \\sqrt. On the other hand, the expressions\n *                  \\frac \\frac 1 2 3\n *                and\n *                  \\frac \\sqrt 1 2\n *                will fail because \\frac and \\frac have equal greediness\n *                and \\sqrt has a lower greediness than \\frac respectively. To\n *                make these parse, we would have to change them to:\n *                  \\frac {\\frac 1 2} 3\n *                and\n *                  \\frac {\\sqrt 1} 2\n *\n *                The default value is `1`\n *  - allowedInText: (optional) Whether or not the function is allowed inside\n *                   text mode (default false)\n *  - numOptionalArgs: (optional) The number of optional arguments the function\n *                     should parse. If the optional arguments aren't found,\n *                     `null` will be passed to the handler in their place.\n *                     (default 0)\n *\n * The last argument is that implementation, the handler for the function(s).\n * It is called to handle these functions and their arguments.\n * It receives two arguments:\n *  - context contains information and references provided by the parser\n *  - args is an array of arguments obtained from TeX input\n * The context contains the following properties:\n *  - funcName: the text (i.e. name) of the function, including \\\n *  - parser: the parser object\n *  - lexer: the lexer object\n *  - positions: the positions in the overall string of the function\n *               and the arguments.\n * The latter three should only be used to produce error messages.\n *\n * The function should return an object with the following keys:\n *  - type: The type of element that this is. This is then used in\n *          buildHTML/buildMathML to determine which function\n *          should be called to build this node into a DOM node\n * Any other data can be added to the object, which will be passed\n * in to the function in buildHTML/buildMathML as `group.value`.\n */\n\nfunction defineFunction(names, props, handler) {\n    if (typeof names === \"string\") {\n        names = [names];\n    }\n    if (typeof props === \"number\") {\n        props = { numArgs: props };\n    }\n    // Set default values of functions\n    var data = {\n        numArgs: props.numArgs,\n        argTypes: props.argTypes,\n        greediness: (props.greediness === undefined) ? 1 : props.greediness,\n        allowedInText: !!props.allowedInText,\n        numOptionalArgs: props.numOptionalArgs || 0,\n        handler: handler,\n    };\n    for (var i = 0; i < names.length; ++i) {\n        module.exports[names[i]] = data;\n    }\n}\n\n// A normal square root\ndefineFunction(\"\\\\sqrt\", {\n    numArgs: 1,\n    numOptionalArgs: 1,\n}, function(context, args) {\n    var index = args[0];\n    var body = args[1];\n    return {\n        type: \"sqrt\",\n        body: body,\n        index: index,\n    };\n});\n\n// Some non-mathy text\ndefineFunction([\"\\\\text\", \"\\\\mbox\", \"\\\\hbox\", \"\\\\vbox\"], {\n    numArgs: 1,\n    argTypes: [\"text\"],\n    greediness: 2,\n}, function(context, args) {\n    var body = args[0];\n    // Since the corresponding buildHTML/buildMathML function expects a\n    // list of elements, we normalize for different kinds of arguments\n    // TODO(emily): maybe this should be done somewhere else\n    var inner;\n    if (body.type === \"ordgroup\") {\n        inner = body.value;\n    } else {\n        inner = [body];\n    }\n\n    return {\n        type: \"text\",\n        body: inner,\n    };\n});\n\n// A two-argument custom color\ndefineFunction(\"\\\\color\", {\n    numArgs: 2,\n    allowedInText: true,\n    greediness: 3,\n    argTypes: [\"color\", \"original\"],\n}, function(context, args) {\n    var color = args[0];\n    var body = args[1];\n    // Normalize the different kinds of bodies (see \\text above)\n    var inner;\n    if (body.type === \"ordgroup\") {\n        inner = body.value;\n    } else {\n        inner = [body];\n    }\n\n    return {\n        type: \"color\",\n        color: color.value,\n        value: inner,\n    };\n});\n\n// An overline\ndefineFunction(\"\\\\overline\", {\n    numArgs: 1,\n}, function(context, args) {\n    var body = args[0];\n    return {\n        type: \"overline\",\n        body: body,\n    };\n});\n\n// An underline\ndefineFunction(\"\\\\underline\", {\n    numArgs: 1,\n}, function(context, args) {\n    var body = args[0];\n    return {\n        type: \"underline\",\n        body: body,\n    };\n});\n\n// A box of the width and height\ndefineFunction(\"\\\\rule\", {\n    numArgs: 2,\n    numOptionalArgs: 1,\n    argTypes: [\"size\", \"size\", \"size\"],\n}, function(context, args) {\n    var shift = args[0];\n    var width = args[1];\n    var height = args[2];\n    return {\n        type: \"rule\",\n        shift: shift && shift.value,\n        width: width.value,\n        height: height.value,\n    };\n});\n\n// A KaTeX logo\ndefineFunction(\"\\\\KaTeX\", {\n    numArgs: 0,\n}, function(context) {\n    return {\n        type: \"katex\",\n    };\n});\n\ndefineFunction(\"\\\\phantom\", {\n    numArgs: 1,\n}, function(context, args) {\n    var body = args[0];\n    var inner;\n    if (body.type === \"ordgroup\") {\n        inner = body.value;\n    } else {\n        inner = [body];\n    }\n\n    return {\n        type: \"phantom\",\n        value: inner,\n    };\n});\n\n// Extra data needed for the delimiter handler down below\nvar delimiterSizes = {\n    \"\\\\bigl\" : {type: \"open\",    size: 1},\n    \"\\\\Bigl\" : {type: \"open\",    size: 2},\n    \"\\\\biggl\": {type: \"open\",    size: 3},\n    \"\\\\Biggl\": {type: \"open\",    size: 4},\n    \"\\\\bigr\" : {type: \"close\",   size: 1},\n    \"\\\\Bigr\" : {type: \"close\",   size: 2},\n    \"\\\\biggr\": {type: \"close\",   size: 3},\n    \"\\\\Biggr\": {type: \"close\",   size: 4},\n    \"\\\\bigm\" : {type: \"rel\",     size: 1},\n    \"\\\\Bigm\" : {type: \"rel\",     size: 2},\n    \"\\\\biggm\": {type: \"rel\",     size: 3},\n    \"\\\\Biggm\": {type: \"rel\",     size: 4},\n    \"\\\\big\"  : {type: \"textord\", size: 1},\n    \"\\\\Big\"  : {type: \"textord\", size: 2},\n    \"\\\\bigg\" : {type: \"textord\", size: 3},\n    \"\\\\Bigg\" : {type: \"textord\", size: 4},\n};\n\nvar delimiters = [\n    \"(\", \")\", \"[\", \"\\\\lbrack\", \"]\", \"\\\\rbrack\",\n    \"\\\\{\", \"\\\\lbrace\", \"\\\\}\", \"\\\\rbrace\",\n    \"\\\\lfloor\", \"\\\\rfloor\", \"\\\\lceil\", \"\\\\rceil\",\n    \"<\", \">\", \"\\\\langle\", \"\\\\rangle\", \"\\\\lt\", \"\\\\gt\",\n    \"\\\\lvert\", \"\\\\rvert\", \"\\\\lVert\", \"\\\\rVert\",\n    \"\\\\lgroup\", \"\\\\rgroup\", \"\\\\lmoustache\", \"\\\\rmoustache\",\n    \"/\", \"\\\\backslash\",\n    \"|\", \"\\\\vert\", \"\\\\|\", \"\\\\Vert\",\n    \"\\\\uparrow\", \"\\\\Uparrow\",\n    \"\\\\downarrow\", \"\\\\Downarrow\",\n    \"\\\\updownarrow\", \"\\\\Updownarrow\",\n    \".\",\n];\n\nvar fontAliases = {\n    \"\\\\Bbb\": \"\\\\mathbb\",\n    \"\\\\bold\": \"\\\\mathbf\",\n    \"\\\\frak\": \"\\\\mathfrak\",\n};\n\n// Single-argument color functions\ndefineFunction([\n    \"\\\\blue\", \"\\\\orange\", \"\\\\pink\", \"\\\\red\",\n    \"\\\\green\", \"\\\\gray\", \"\\\\purple\",\n    \"\\\\blueA\", \"\\\\blueB\", \"\\\\blueC\", \"\\\\blueD\", \"\\\\blueE\",\n    \"\\\\tealA\", \"\\\\tealB\", \"\\\\tealC\", \"\\\\tealD\", \"\\\\tealE\",\n    \"\\\\greenA\", \"\\\\greenB\", \"\\\\greenC\", \"\\\\greenD\", \"\\\\greenE\",\n    \"\\\\goldA\", \"\\\\goldB\", \"\\\\goldC\", \"\\\\goldD\", \"\\\\goldE\",\n    \"\\\\redA\", \"\\\\redB\", \"\\\\redC\", \"\\\\redD\", \"\\\\redE\",\n    \"\\\\maroonA\", \"\\\\maroonB\", \"\\\\maroonC\", \"\\\\maroonD\", \"\\\\maroonE\",\n    \"\\\\purpleA\", \"\\\\purpleB\", \"\\\\purpleC\", \"\\\\purpleD\", \"\\\\purpleE\",\n    \"\\\\mintA\", \"\\\\mintB\", \"\\\\mintC\",\n    \"\\\\grayA\", \"\\\\grayB\", \"\\\\grayC\", \"\\\\grayD\", \"\\\\grayE\",\n    \"\\\\grayF\", \"\\\\grayG\", \"\\\\grayH\", \"\\\\grayI\",\n    \"\\\\kaBlue\", \"\\\\kaGreen\",\n], {\n    numArgs: 1,\n    allowedInText: true,\n    greediness: 3,\n}, function(context, args) {\n    var body = args[0];\n    var atoms;\n    if (body.type === \"ordgroup\") {\n        atoms = body.value;\n    } else {\n        atoms = [body];\n    }\n\n    return {\n        type: \"color\",\n        color: \"katex-\" + context.funcName.slice(1),\n        value: atoms,\n    };\n});\n\n// There are 2 flags for operators; whether they produce limits in\n// displaystyle, and whether they are symbols and should grow in\n// displaystyle. These four groups cover the four possible choices.\n\n// No limits, not symbols\ndefineFunction([\n    \"\\\\arcsin\", \"\\\\arccos\", \"\\\\arctan\", \"\\\\arg\", \"\\\\cos\", \"\\\\cosh\",\n    \"\\\\cot\", \"\\\\coth\", \"\\\\csc\", \"\\\\deg\", \"\\\\dim\", \"\\\\exp\", \"\\\\hom\",\n    \"\\\\ker\", \"\\\\lg\", \"\\\\ln\", \"\\\\log\", \"\\\\sec\", \"\\\\sin\", \"\\\\sinh\",\n    \"\\\\tan\", \"\\\\tanh\",\n], {\n    numArgs: 0,\n}, function(context) {\n    return {\n        type: \"op\",\n        limits: false,\n        symbol: false,\n        body: context.funcName,\n    };\n});\n\n// Limits, not symbols\ndefineFunction([\n    \"\\\\det\", \"\\\\gcd\", \"\\\\inf\", \"\\\\lim\", \"\\\\liminf\", \"\\\\limsup\", \"\\\\max\",\n    \"\\\\min\", \"\\\\Pr\", \"\\\\sup\",\n], {\n    numArgs: 0,\n}, function(context) {\n    return {\n        type: \"op\",\n        limits: true,\n        symbol: false,\n        body: context.funcName,\n    };\n});\n\n// No limits, symbols\ndefineFunction([\n    \"\\\\int\", \"\\\\iint\", \"\\\\iiint\", \"\\\\oint\",\n], {\n    numArgs: 0,\n}, function(context) {\n    return {\n        type: \"op\",\n        limits: false,\n        symbol: true,\n        body: context.funcName,\n    };\n});\n\n// Limits, symbols\ndefineFunction([\n    \"\\\\coprod\", \"\\\\bigvee\", \"\\\\bigwedge\", \"\\\\biguplus\", \"\\\\bigcap\",\n    \"\\\\bigcup\", \"\\\\intop\", \"\\\\prod\", \"\\\\sum\", \"\\\\bigotimes\",\n    \"\\\\bigoplus\", \"\\\\bigodot\", \"\\\\bigsqcup\", \"\\\\smallint\",\n], {\n    numArgs: 0,\n}, function(context) {\n    return {\n        type: \"op\",\n        limits: true,\n        symbol: true,\n        body: context.funcName,\n    };\n});\n\n// Fractions\ndefineFunction([\n    \"\\\\dfrac\", \"\\\\frac\", \"\\\\tfrac\",\n    \"\\\\dbinom\", \"\\\\binom\", \"\\\\tbinom\",\n], {\n    numArgs: 2,\n    greediness: 2,\n}, function(context, args) {\n    var numer = args[0];\n    var denom = args[1];\n    var hasBarLine;\n    var leftDelim = null;\n    var rightDelim = null;\n    var size = \"auto\";\n\n    switch (context.funcName) {\n        case \"\\\\dfrac\":\n        case \"\\\\frac\":\n        case \"\\\\tfrac\":\n            hasBarLine = true;\n            break;\n        case \"\\\\dbinom\":\n        case \"\\\\binom\":\n        case \"\\\\tbinom\":\n            hasBarLine = false;\n            leftDelim = \"(\";\n            rightDelim = \")\";\n            break;\n        default:\n            throw new Error(\"Unrecognized genfrac command\");\n    }\n\n    switch (context.funcName) {\n        case \"\\\\dfrac\":\n        case \"\\\\dbinom\":\n            size = \"display\";\n            break;\n        case \"\\\\tfrac\":\n        case \"\\\\tbinom\":\n            size = \"text\";\n            break;\n    }\n\n    return {\n        type: \"genfrac\",\n        numer: numer,\n        denom: denom,\n        hasBarLine: hasBarLine,\n        leftDelim: leftDelim,\n        rightDelim: rightDelim,\n        size: size,\n    };\n});\n\n// Left and right overlap functions\ndefineFunction([\"\\\\llap\", \"\\\\rlap\"], {\n    numArgs: 1,\n    allowedInText: true,\n}, function(context, args) {\n    var body = args[0];\n    return {\n        type: context.funcName.slice(1),\n        body: body,\n    };\n});\n\n// Delimiter functions\ndefineFunction([\n    \"\\\\bigl\", \"\\\\Bigl\", \"\\\\biggl\", \"\\\\Biggl\",\n    \"\\\\bigr\", \"\\\\Bigr\", \"\\\\biggr\", \"\\\\Biggr\",\n    \"\\\\bigm\", \"\\\\Bigm\", \"\\\\biggm\", \"\\\\Biggm\",\n    \"\\\\big\",  \"\\\\Big\",  \"\\\\bigg\",  \"\\\\Bigg\",\n    \"\\\\left\", \"\\\\right\"\n], {\n    numArgs: 1,\n}, function(context, args) {\n    var delim = args[0];\n    if (!utils.contains(delimiters, delim.value)) {\n        throw new ParseError(\n            \"Invalid delimiter: '\" + delim.value + \"' after '\" +\n                context.funcName + \"'\",\n            context.lexer, context.positions[1]);\n    }\n\n    // \\left and \\right are caught somewhere in Parser.js, which is\n    // why this data doesn't match what is in buildHTML.\n    if (context.funcName === \"\\\\left\" || context.funcName === \"\\\\right\") {\n        return {\n            type: \"leftright\",\n            value: delim.value,\n            funcName: context.funcName\n        };\n    } else {\n        return {\n            type: \"delimsizing\",\n            size: delimiterSizes[context.funcName].size,\n            delimType: delimiterSizes[context.funcName].type,\n            value: delim.value,\n            funcName: context.funcName\n        };\n    }\n});\n\n// Sizing functions (handled in Parser.js explicitly, hence no handler)\ndefineFunction([\n    \"\\\\tiny\", \"\\\\scriptsize\", \"\\\\footnotesize\", \"\\\\small\",\n    \"\\\\normalsize\", \"\\\\large\", \"\\\\Large\", \"\\\\LARGE\", \"\\\\huge\", \"\\\\Huge\", \"\\\\textrm\", \"\\\\rm\", \"\\\\cal\", \"\\\\bf\", \"\\\\siptstyle\", \"\\\\boldmath\", \"\\\\it\"\n], 0, null);\n\n// Style changing functions (handled in Parser.js explicitly, hence no\n// handler)\ndefineFunction([\n    \"\\\\displaystyle\", \"\\\\textstyle\", \"\\\\scriptstyle\",\n    \"\\\\scriptscriptstyle\",\n], 0, null);\n\ndefineFunction([\n    // styles\n    \"\\\\mathrm\", \"\\\\mathit\", \"\\\\mathbf\",\"\\\\mathop\",\"\\\\stackrel\",\n\n    // families\n    \"\\\\mathbb\", \"\\\\mathcal\", \"\\\\mathfrak\", \"\\\\mathscr\", \"\\\\mathsf\",\n    \"\\\\mathtt\",\n\n     \"\\\\label\", \"\\\\comment\", \"\\\\hspace\", \"\\\\vspace\", \"\\\\atop\", \"\\\\fbox\", \"\\\\tag\", \"\\\\makebox\",\n    \"\\\\raisebox\", \"\\\\framebox\", \"\\\\circle\", \"\\\\line\", \"\\\\put\", \"\\\\vphantom\", \"\\\\textup\", \"\\\\noalign\",\n    \n    // aliases\n    \"\\\\Bbb\", \"\\\\bold\", \"\\\\frak\",\n], {\n    numArgs: 1,\n    greediness: 2,\n}, function(context, args) {\n    var body = args[0];\n    var func = context.funcName;\n    if (func in fontAliases) {\n        func = fontAliases[func];\n    }\n    return {\n        type: \"font\",\n        font: func.slice(1),\n        body: body,\n    };\n});\n\n// Accents\ndefineFunction([\n    \"\\\\acute\", \"\\\\grave\", \"\\\\ddot\", \"\\\\tilde\", \"\\\\bar\", \"\\\\breve\",\n    \"\\\\check\", \"\\\\hat\", \"\\\\vec\", \"\\\\dot\",\n    // We don't support expanding accents yet\n    // \"\\\\widetilde\", \"\\\\widehat\"\n], {\n    numArgs: 1,\n}, function(context, args) {\n    var base = args[0];\n    return {\n        type: \"accent\",\n        accent: context.funcName,\n        base: base,\n    };\n});\n\n// Infix generalized fractions\ndefineFunction([\"\\\\over\", \"\\\\choose\"], {\n    numArgs: 0,\n}, function(context) {\n    var replaceWith;\n    switch (context.funcName) {\n        case \"\\\\over\":\n            replaceWith = \"\\\\frac\";\n            break;\n        case \"\\\\choose\":\n            replaceWith = \"\\\\binom\";\n            break;\n        default:\n            throw new Error(\"Unrecognized infix genfrac command\");\n    }\n    return {\n        type: \"infix\",\n        replaceWith: replaceWith,\n    };\n});\n\n// Row breaks for aligned data\ndefineFunction([\"\\\\\\\\\", \"\\\\cr\"], {\n    numArgs: 0,\n    numOptionalArgs: 1,\n    argTypes: [\"size\"],\n}, function(context, args) {\n    var size = args[0];\n    return {\n        type: \"cr\",\n        size: size,\n    };\n});\n\n// Environment delimiters\ndefineFunction([\"\\\\begin\", \"\\\\end\"], {\n    numArgs: 1,\n    argTypes: [\"text\"],\n}, function(context, args) {\n    var nameGroup = args[0];\n    if (nameGroup.type !== \"ordgroup\") {\n        throw new ParseError(\n            \"Invalid environment name\",\n            context.lexer, context.positions[1]);\n    }\n    var name = \"\";\n    for (var i = 0; i < nameGroup.value.length; ++i) {\n        name += nameGroup.value[i].value;\n    }\n    return {\n        type: \"environment\",\n        name: name,\n        namepos: context.positions[1],\n    };\n});\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/third_party/katex/src/mathMLTree.js",
    "content": "/**\n * These objects store data about MathML nodes. This is the MathML equivalent\n * of the types in domTree.js. Since MathML handles its own rendering, and\n * since we're mainly using MathML to improve accessibility, we don't manage\n * any of the styling state that the plain DOM nodes do.\n *\n * The `toNode` and `toMarkup` functions work simlarly to how they do in\n * domTree.js, creating namespaced DOM nodes and HTML text markup respectively.\n */\n\nvar utils = require(\"./utils\");\n\n/**\n * This node represents a general purpose MathML node of any type. The\n * constructor requires the type of node to create (for example, `\"mo\"` or\n * `\"mspace\"`, corresponding to `<mo>` and `<mspace>` tags).\n */\nfunction MathNode(type, children) {\n    this.type = type;\n    this.attributes = {};\n    this.children = children || [];\n}\n\n/**\n * Sets an attribute on a MathML node. MathML depends on attributes to convey a\n * semantic content, so this is used heavily.\n */\nMathNode.prototype.setAttribute = function(name, value) {\n    this.attributes[name] = value;\n};\n\n/**\n * Converts the math node into a MathML-namespaced DOM element.\n */\nMathNode.prototype.toNode = function() {\n    var node = document.createElementNS(\n        \"http://www.w3.org/1998/Math/MathML\", this.type);\n\n    for (var attr in this.attributes) {\n        if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) {\n            node.setAttribute(attr, this.attributes[attr]);\n        }\n    }\n\n    for (var i = 0; i < this.children.length; i++) {\n        node.appendChild(this.children[i].toNode());\n    }\n\n    return node;\n};\n\n/**\n * Converts the math node into an HTML markup string.\n */\nMathNode.prototype.toMarkup = function() {\n    var markup = \"<\" + this.type;\n\n    // Add the attributes\n    for (var attr in this.attributes) {\n        if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) {\n            markup += \" \" + attr + \"=\\\"\";\n            markup += utils.escape(this.attributes[attr]);\n            markup += \"\\\"\";\n        }\n    }\n\n    markup += \">\";\n\n    for (var i = 0; i < this.children.length; i++) {\n        markup += this.children[i].toMarkup();\n    }\n\n    markup += \"</\" + this.type + \">\";\n\n    return markup;\n};\n\n/**\n * This node represents a piece of text.\n */\nfunction TextNode(text) {\n    this.text = text;\n}\n\n/**\n * Converts the text node into a DOM text node.\n */\nTextNode.prototype.toNode = function() {\n    return document.createTextNode(this.text);\n};\n\n/**\n * Converts the text node into HTML markup (which is just the text itself).\n */\nTextNode.prototype.toMarkup = function() {\n    return utils.escape(this.text);\n};\n\nmodule.exports = {\n    MathNode: MathNode,\n    TextNode: TextNode,\n};\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/third_party/katex/src/parseData.js",
    "content": "/**\n * The resulting parse tree nodes of the parse tree.\n */\nfunction ParseNode(type, value, mode) {\n    this.type = type;\n    this.value = value;\n    this.mode = mode;\n}\n\nmodule.exports = {\n    ParseNode: ParseNode,\n};\n\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/third_party/katex/src/parseTree.js",
    "content": "/**\n * Provides a single function for parsing an expression using a Parser\n * TODO(emily): Remove this\n */\n\nvar Parser = require(\"./Parser\");\n\n/**\n * Parses an expression using a Parser, then returns the parsed result.\n */\nvar parseTree = function(toParse, settings) {\n    var parser = new Parser(toParse, settings);\n\n    return parser.parse();\n};\n\nmodule.exports = parseTree;\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/third_party/katex/src/symbols.js",
    "content": "/**\n * This file holds a list of all no-argument functions and single-character\n * symbols (like 'a' or ';').\n *\n * For each of the symbols, there are three properties they can have:\n * - font (required): the font to be used for this symbol. Either \"main\" (the\n     normal font), or \"ams\" (the ams fonts).\n * - group (required): the ParseNode group type the symbol should have (i.e.\n     \"textord\", \"mathord\", etc).\n     See https://github.com/Khan/KaTeX/wiki/Examining-TeX#group-types\n * - replace: the character that this symbol or function should be\n *   replaced with (i.e. \"\\phi\" has a replace value of \"\\u03d5\", the phi\n *   character in the main font).\n *\n * The outermost map in the table indicates what mode the symbols should be\n * accepted in (e.g. \"math\" or \"text\").\n */\n\nmodule.exports = {\n    math: {},\n    text: {},\n};\n\nfunction defineSymbol(mode, font, group, replace, name) {\n    module.exports[mode][name] = {\n        font: font,\n        group: group,\n        replace: replace,\n    };\n}\n\n// Some abbreviations for commonly used strings.\n// This helps minify the code, and also spotting typos using jshint.\n\n// modes:\nvar math = \"math\";\nvar text = \"text\";\n\n// fonts:\nvar main = \"main\";\nvar ams = \"ams\";\n\n// groups:\nvar accent = \"accent\";\nvar bin = \"bin\";\nvar close = \"close\";\nvar inner = \"inner\";\nvar mathord = \"mathord\";\nvar op = \"op\";\nvar open = \"open\";\nvar punct = \"punct\";\nvar rel = \"rel\";\nvar spacing = \"spacing\";\nvar textord = \"textord\";\n\n// Now comes the symbol table\n\n// Relation Symbols\ndefineSymbol(math, main, rel, \"\\u2261\", \"\\\\equiv\");\ndefineSymbol(math, main, rel, \"\\u227a\", \"\\\\prec\");\ndefineSymbol(math, main, rel, \"\\u227b\", \"\\\\succ\");\ndefineSymbol(math, main, rel, \"\\u223c\", \"\\\\sim\");\ndefineSymbol(math, main, rel, \"\\u22a5\", \"\\\\perp\");\ndefineSymbol(math, main, rel, \"\\u2aaf\", \"\\\\preceq\");\ndefineSymbol(math, main, rel, \"\\u2ab0\", \"\\\\succeq\");\ndefineSymbol(math, main, rel, \"\\u2243\", \"\\\\simeq\");\ndefineSymbol(math, main, rel, \"\\u2223\", \"\\\\mid\");\ndefineSymbol(math, main, rel, \"\\u226a\", \"\\\\ll\");\ndefineSymbol(math, main, rel, \"\\u226b\", \"\\\\gg\");\ndefineSymbol(math, main, rel, \"\\u224d\", \"\\\\asymp\");\ndefineSymbol(math, main, rel, \"\\u2225\", \"\\\\parallel\");\ndefineSymbol(math, main, rel, \"\\u22c8\", \"\\\\bowtie\");\ndefineSymbol(math, main, rel, \"\\u2323\", \"\\\\smile\");\ndefineSymbol(math, main, rel, \"\\u2291\", \"\\\\sqsubseteq\");\ndefineSymbol(math, main, rel, \"\\u2292\", \"\\\\sqsupseteq\");\ndefineSymbol(math, main, rel, \"\\u2250\", \"\\\\doteq\");\ndefineSymbol(math, main, rel, \"\\u2322\", \"\\\\frown\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\ni\");\ndefineSymbol(math, main, rel, \"\\u221d\", \"\\\\propto\");\ndefineSymbol(math, main, rel, \"\\u22a2\", \"\\\\vdash\");\ndefineSymbol(math, main, rel, \"\\u22a3\", \"\\\\dashv\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\owns\");\n\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\widehat\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\widetilde\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\sp\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\quad\");\n// defineSymbol(math, main, rel, \"\\u220b\", \"\\\\cr\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\\\\\sim\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\nonumber\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\dots\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\cases\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\mit\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\smallskip\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\slash\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\d\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\c\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\b\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\M\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\S\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\(\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\)\");\n// defineSymbol(math, main, rel, \"\\u220b\", \"\\\\Comp\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\thinspace\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\hskip\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\tt\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\not\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\boldmathr\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\overleftarrow\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\overrightarrow\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\intf\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\sf\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\textbf\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\L\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\pii\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\unitlength\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\arowtor5linv\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\hline\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\mathbin\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\nc\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\underbrace\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\o\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\a\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\b\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\c\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\d\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\e\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\f\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\g\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\h\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\i\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\j\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\k\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\l\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\m\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\n\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\o\");\n// defineSymbol(math, main, rel, \"\\u220b\", \"\\\\wedgee\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\sb\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\do\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\em\");\n// defineSymbol(math, main, rel, \"\\u220b\", \"\\\\diamonda\");\n\n\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\dint\");\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\intd\");\n\n\n// Punctuation\ndefineSymbol(math, main, punct, \"\\u002e\", \"\\\\ldotp\");\ndefineSymbol(math, main, punct, \"\\u22c5\", \"\\\\cdotp\");\n\n// Misc Symbols\ndefineSymbol(math, main, textord, \"\\u0023\", \"\\\\#\");\ndefineSymbol(math, main, textord, \"\\u0026\", \"\\\\&\");\ndefineSymbol(math, main, textord, \"\\u2135\", \"\\\\aleph\");\ndefineSymbol(math, main, textord, \"\\u2200\", \"\\\\forall\");\ndefineSymbol(math, main, textord, \"\\u210f\", \"\\\\hbar\");\ndefineSymbol(math, main, textord, \"\\u2203\", \"\\\\eixsts\");\ndefineSymbol(math, main, textord, \"\\u2207\", \"\\\\nabla\");\ndefineSymbol(math, main, textord, \"\\u266d\", \"\\\\flat\");\ndefineSymbol(math, main, textord, \"\\u2113\", \"\\\\ell\");\ndefineSymbol(math, main, textord, \"\\u266e\", \"\\\\natural\");\ndefineSymbol(math, main, textord, \"\\u2663\", \"\\\\clubsuit\");\ndefineSymbol(math, main, textord, \"\\u2118\", \"\\\\wp\");\ndefineSymbol(math, main, textord, \"\\u266f\", \"\\\\sharp\");\ndefineSymbol(math, main, textord, \"\\u2662\", \"\\\\diamondsuit\");\ndefineSymbol(math, main, textord, \"\\u211c\", \"\\\\Re\");\ndefineSymbol(math, main, textord, \"\\u2661\", \"\\\\heartsuit\");\ndefineSymbol(math, main, textord, \"\\u2111\", \"\\\\Im\");\ndefineSymbol(math, main, textord, \"\\u2660\", \"\\\\spadesuit\");\n\n// Math and Text\ndefineSymbol(math, main, textord, \"\\u2020\", \"\\\\dag\");\ndefineSymbol(math, main, textord, \"\\u2021\", \"\\\\ddag\");\n\n// Large Delimiters\ndefineSymbol(math, main, close, \"\\u23b1\", \"\\\\rmoustache\");\ndefineSymbol(math, main, open, \"\\u23b0\", \"\\\\lmoustache\");\ndefineSymbol(math, main, close, \"\\u27ef\", \"\\\\rgroup\");\ndefineSymbol(math, main, open, \"\\u27ee\", \"\\\\lgroup\");\n\n// Binary Operators\ndefineSymbol(math, main, bin, \"\\u2213\", \"\\\\mp\");\ndefineSymbol(math, main, bin, \"\\u2296\", \"\\\\ominus\");\ndefineSymbol(math, main, bin, \"\\u228e\", \"\\\\uplus\");\ndefineSymbol(math, main, bin, \"\\u2293\", \"\\\\sqcap\");\ndefineSymbol(math, main, bin, \"\\u2217\", \"\\\\ast\");\ndefineSymbol(math, main, bin, \"\\u2294\", \"\\\\sqcup\");\ndefineSymbol(math, main, bin, \"\\u25ef\", \"\\\\bigcirc\");\ndefineSymbol(math, main, bin, \"\\u2219\", \"\\\\bullet\");\ndefineSymbol(math, main, bin, \"\\u2021\", \"\\\\ddagger\");\ndefineSymbol(math, main, bin, \"\\u2240\", \"\\\\wr\");\ndefineSymbol(math, main, bin, \"\\u2a3f\", \"\\\\amalg\");\n\n// Arrow Symbols\ndefineSymbol(math, main, rel, \"\\u27f5\", \"\\\\longleftarrow\");\ndefineSymbol(math, main, rel, \"\\u21d0\", \"\\\\Leftarrow\");\ndefineSymbol(math, main, rel, \"\\u27f8\", \"\\\\Longleftarrow\");\ndefineSymbol(math, main, rel, \"\\u27f6\", \"\\\\longrightarrow\");\ndefineSymbol(math, main, rel, \"\\u21d2\", \"\\\\Rightarrow\");\ndefineSymbol(math, main, rel, \"\\u27f9\", \"\\\\Longrightarrow\");\ndefineSymbol(math, main, rel, \"\\u2194\", \"\\\\leftrightarrow\");\ndefineSymbol(math, main, rel, \"\\u27f7\", \"\\\\longleftrightarrow\");\ndefineSymbol(math, main, rel, \"\\u21d4\", \"\\\\Leftrightarrow\");\ndefineSymbol(math, main, rel, \"\\u27fa\", \"\\\\Longleftrightarrow\");\ndefineSymbol(math, main, rel, \"\\u21a6\", \"\\\\mapsto\");\ndefineSymbol(math, main, rel, \"\\u27fc\", \"\\\\longmapsto\");\ndefineSymbol(math, main, rel, \"\\u2197\", \"\\\\nearrow\");\ndefineSymbol(math, main, rel, \"\\u21a9\", \"\\\\hookleftarrow\");\ndefineSymbol(math, main, rel, \"\\u21aa\", \"\\\\hookrightarrow\");\ndefineSymbol(math, main, rel, \"\\u2198\", \"\\\\searrow\");\ndefineSymbol(math, main, rel, \"\\u21bc\", \"\\\\leftharpoonup\");\ndefineSymbol(math, main, rel, \"\\u21c0\", \"\\\\rightharpoonup\");\ndefineSymbol(math, main, rel, \"\\u2199\", \"\\\\swarrow\");\ndefineSymbol(math, main, rel, \"\\u21bd\", \"\\\\leftharpoondown\");\ndefineSymbol(math, main, rel, \"\\u21c1\", \"\\\\rightharpoondown\");\ndefineSymbol(math, main, rel, \"\\u2196\", \"\\\\nwarrow\");\ndefineSymbol(math, main, rel, \"\\u21cc\", \"\\\\rightleftharpoons\");\n\n// AMS Negated Binary Relations\ndefineSymbol(math, ams, rel, \"\\u226e\", \"\\\\nless\");\ndefineSymbol(math, ams, rel, \"\\ue010\", \"\\\\nleqslant\");\ndefineSymbol(math, ams, rel, \"\\ue011\", \"\\\\nleqq\");\ndefineSymbol(math, ams, rel, \"\\u2a87\", \"\\\\lneq\");\ndefineSymbol(math, ams, rel, \"\\u2268\", \"\\\\lneqq\");\ndefineSymbol(math, ams, rel, \"\\ue00c\", \"\\\\lvertneqq\");\ndefineSymbol(math, ams, rel, \"\\u22e6\", \"\\\\lnsim\");\ndefineSymbol(math, ams, rel, \"\\u2a89\", \"\\\\lnapprox\");\ndefineSymbol(math, ams, rel, \"\\u2280\", \"\\\\nprec\");\ndefineSymbol(math, ams, rel, \"\\u22e0\", \"\\\\npreceq\");\ndefineSymbol(math, ams, rel, \"\\u22e8\", \"\\\\precnsim\");\ndefineSymbol(math, ams, rel, \"\\u2ab9\", \"\\\\precnapprox\");\ndefineSymbol(math, ams, rel, \"\\u2241\", \"\\\\nsim\");\ndefineSymbol(math, ams, rel, \"\\ue006\", \"\\\\nshortmid\");\ndefineSymbol(math, ams, rel, \"\\u2224\", \"\\\\nmid\");\ndefineSymbol(math, ams, rel, \"\\u22ac\", \"\\\\nvdash\");\ndefineSymbol(math, ams, rel, \"\\u22ad\", \"\\\\nvDash\");\ndefineSymbol(math, ams, rel, \"\\u22ea\", \"\\\\ntriangleleft\");\ndefineSymbol(math, ams, rel, \"\\u22ec\", \"\\\\ntrianglelefteq\");\ndefineSymbol(math, ams, rel, \"\\u228a\", \"\\\\subsetneq\");\ndefineSymbol(math, ams, rel, \"\\ue01a\", \"\\\\varsubsetneq\");\ndefineSymbol(math, ams, rel, \"\\u2acb\", \"\\\\subsetneqq\");\ndefineSymbol(math, ams, rel, \"\\ue017\", \"\\\\varsubsetneqq\");\ndefineSymbol(math, ams, rel, \"\\u226f\", \"\\\\ngtr\");\ndefineSymbol(math, ams, rel, \"\\ue00f\", \"\\\\ngeqslant\");\ndefineSymbol(math, ams, rel, \"\\ue00e\", \"\\\\ngeqq\");\ndefineSymbol(math, ams, rel, \"\\u2a88\", \"\\\\gneq\");\ndefineSymbol(math, ams, rel, \"\\u2269\", \"\\\\gneqq\");\ndefineSymbol(math, ams, rel, \"\\ue00d\", \"\\\\gvertneqq\");\ndefineSymbol(math, ams, rel, \"\\u22e7\", \"\\\\gnsim\");\ndefineSymbol(math, ams, rel, \"\\u2a8a\", \"\\\\gnapprox\");\ndefineSymbol(math, ams, rel, \"\\u2281\", \"\\\\nsucc\");\ndefineSymbol(math, ams, rel, \"\\u22e1\", \"\\\\nsucceq\");\ndefineSymbol(math, ams, rel, \"\\u22e9\", \"\\\\succnsim\");\ndefineSymbol(math, ams, rel, \"\\u2aba\", \"\\\\succnapprox\");\ndefineSymbol(math, ams, rel, \"\\u2246\", \"\\\\ncong\");\ndefineSymbol(math, ams, rel, \"\\ue007\", \"\\\\nshortparallel\");\ndefineSymbol(math, ams, rel, \"\\u2226\", \"\\\\nparallel\");\ndefineSymbol(math, ams, rel, \"\\u22af\", \"\\\\nVDash\");\ndefineSymbol(math, ams, rel, \"\\u22eb\", \"\\\\ntriangleright\");\ndefineSymbol(math, ams, rel, \"\\u22ed\", \"\\\\ntrianglerighteq\");\ndefineSymbol(math, ams, rel, \"\\ue018\", \"\\\\nsupseteqq\");\ndefineSymbol(math, ams, rel, \"\\u228b\", \"\\\\supsetneq\");\ndefineSymbol(math, ams, rel, \"\\ue01b\", \"\\\\varsupsetneq\");\ndefineSymbol(math, ams, rel, \"\\u2acc\", \"\\\\supsetneqq\");\ndefineSymbol(math, ams, rel, \"\\ue019\", \"\\\\varsupsetneqq\");\ndefineSymbol(math, ams, rel, \"\\u22ae\", \"\\\\nVdash\");\ndefineSymbol(math, ams, rel, \"\\u2ab5\", \"\\\\precneqq\");\ndefineSymbol(math, ams, rel, \"\\u2ab6\", \"\\\\succneqq\");\ndefineSymbol(math, ams, rel, \"\\ue016\", \"\\\\nsubseteqq\");\ndefineSymbol(math, ams, bin, \"\\u22b4\", \"\\\\unlhd\");\ndefineSymbol(math, ams, bin, \"\\u22b5\", \"\\\\unrhd\");\n\n// AMS Negated Arrows\ndefineSymbol(math, ams, rel, \"\\u219a\", \"\\\\nleftarrow\");\ndefineSymbol(math, ams, rel, \"\\u219b\", \"\\\\nrightarrow\");\ndefineSymbol(math, ams, rel, \"\\u21cd\", \"\\\\nLeftarrow\");\ndefineSymbol(math, ams, rel, \"\\u21cf\", \"\\\\nRightarrow\");\ndefineSymbol(math, ams, rel, \"\\u21ae\", \"\\\\nleftrightarrow\");\ndefineSymbol(math, ams, rel, \"\\u21ce\", \"\\\\nLeftrightarrow\");\n\n// AMS Misc\ndefineSymbol(math, ams, rel, \"\\u25b3\", \"\\\\vartriangle\");\ndefineSymbol(math, ams, textord, \"\\u210f\", \"\\\\hslash\");\ndefineSymbol(math, ams, textord, \"\\u25bd\", \"\\\\triangledown\");\ndefineSymbol(math, ams, textord, \"\\u25ca\", \"\\\\lozenge\");\ndefineSymbol(math, ams, textord, \"\\u24c8\", \"\\\\circledS\");\ndefineSymbol(math, ams, textord, \"\\u00ae\", \"\\\\circledR\");\ndefineSymbol(math, ams, textord, \"\\u2221\", \"\\\\measuredangle\");\ndefineSymbol(math, ams, textord, \"\\u2204\", \"\\\\nexists\");\ndefineSymbol(math, ams, textord, \"\\u2127\", \"\\\\mho\");\ndefineSymbol(math, ams, textord, \"\\u2132\", \"\\\\Finv\");\ndefineSymbol(math, ams, textord, \"\\u2141\", \"\\\\Game\");\ndefineSymbol(math, ams, textord, \"\\u006b\", \"\\\\Bbbk\");\ndefineSymbol(math, ams, textord, \"\\u2035\", \"\\\\backprime\");\ndefineSymbol(math, ams, textord, \"\\u25b2\", \"\\\\blacktriangle\");\ndefineSymbol(math, ams, textord, \"\\u25bc\", \"\\\\blacktriangledown\");\ndefineSymbol(math, ams, textord, \"\\u25a0\", \"\\\\blacksquare\");\ndefineSymbol(math, ams, textord, \"\\u29eb\", \"\\\\blacklozenge\");\ndefineSymbol(math, ams, textord, \"\\u2605\", \"\\\\bigstar\");\ndefineSymbol(math, ams, textord, \"\\u2222\", \"\\\\sphericalangle\");\ndefineSymbol(math, ams, textord, \"\\u2201\", \"\\\\complement\");\ndefineSymbol(math, ams, textord, \"\\u00f0\", \"\\\\eth\");\ndefineSymbol(math, ams, textord, \"\\u2571\", \"\\\\diagup\");\ndefineSymbol(math, ams, textord, \"\\u2572\", \"\\\\diagdown\");\ndefineSymbol(math, ams, textord, \"\\u25a1\", \"\\\\square\");\ndefineSymbol(math, ams, textord, \"\\u25a1\", \"\\\\Box\");\ndefineSymbol(math, ams, textord, \"\\u25ca\", \"\\\\Diamond\");\ndefineSymbol(math, ams, textord, \"\\u00a5\", \"\\\\yen\");\ndefineSymbol(math, ams, textord, \"\\u2713\", \"\\\\checkmark\");\n\n// AMS Hebrew\ndefineSymbol(math, ams, textord, \"\\u2136\", \"\\\\beth\");\ndefineSymbol(math, ams, textord, \"\\u2138\", \"\\\\daleth\");\ndefineSymbol(math, ams, textord, \"\\u2137\", \"\\\\gimel\");\n\n// AMS Greek\ndefineSymbol(math, ams, textord, \"\\u03dd\", \"\\\\digamma\");\ndefineSymbol(math, ams, textord, \"\\u03f0\", \"\\\\varkappa\");\n\n// AMS Delimiters\ndefineSymbol(math, ams, open, \"\\u250c\", \"\\\\ulcorner\");\ndefineSymbol(math, ams, close, \"\\u2510\", \"\\\\urcorner\");\ndefineSymbol(math, ams, open, \"\\u2514\", \"\\\\llcorner\");\ndefineSymbol(math, ams, close, \"\\u2518\", \"\\\\lrcorner\");\n\n// AMS Binary Relations\ndefineSymbol(math, ams, rel, \"\\u2266\", \"\\\\leqq\");\ndefineSymbol(math, ams, rel, \"\\u2a7d\", \"\\\\leqslant\");\ndefineSymbol(math, ams, rel, \"\\u2a95\", \"\\\\eqslantless\");\ndefineSymbol(math, ams, rel, \"\\u2272\", \"\\\\lesssim\");\ndefineSymbol(math, ams, rel, \"\\u2a85\", \"\\\\lessapprox\");\ndefineSymbol(math, ams, rel, \"\\u224a\", \"\\\\approxeq\");\ndefineSymbol(math, ams, bin, \"\\u22d6\", \"\\\\lessdot\");\ndefineSymbol(math, ams, rel, \"\\u22d8\", \"\\\\lll\");\ndefineSymbol(math, ams, rel, \"\\u2276\", \"\\\\lessgtr\");\ndefineSymbol(math, ams, rel, \"\\u22da\", \"\\\\lesseqgtr\");\ndefineSymbol(math, ams, rel, \"\\u2a8b\", \"\\\\lesseqqgtr\");\ndefineSymbol(math, ams, rel, \"\\u2251\", \"\\\\doteqdot\");\ndefineSymbol(math, ams, rel, \"\\u2253\", \"\\\\risingdotseq\");\ndefineSymbol(math, ams, rel, \"\\u2252\", \"\\\\fallingdotseq\");\ndefineSymbol(math, ams, rel, \"\\u223d\", \"\\\\backsim\");\ndefineSymbol(math, ams, rel, \"\\u22cd\", \"\\\\backsimeq\");\ndefineSymbol(math, ams, rel, \"\\u2ac5\", \"\\\\subseteqq\");\ndefineSymbol(math, ams, rel, \"\\u22d0\", \"\\\\Subset\");\ndefineSymbol(math, ams, rel, \"\\u228f\", \"\\\\sqsubset\");\ndefineSymbol(math, ams, rel, \"\\u227c\", \"\\\\preccurlyeq\");\ndefineSymbol(math, ams, rel, \"\\u22de\", \"\\\\curlyeqprec\");\ndefineSymbol(math, ams, rel, \"\\u227e\", \"\\\\precsim\");\ndefineSymbol(math, ams, rel, \"\\u2ab7\", \"\\\\precapprox\");\ndefineSymbol(math, ams, rel, \"\\u22b2\", \"\\\\vartriangleleft\");\ndefineSymbol(math, ams, rel, \"\\u22b4\", \"\\\\trianglelefteq\");\ndefineSymbol(math, ams, rel, \"\\u22a8\", \"\\\\vDash\");\ndefineSymbol(math, ams, rel, \"\\u22aa\", \"\\\\Vvdash\");\ndefineSymbol(math, ams, rel, \"\\u2323\", \"\\\\smallsmile\");\ndefineSymbol(math, ams, rel, \"\\u2322\", \"\\\\smallfrown\");\ndefineSymbol(math, ams, rel, \"\\u224f\", \"\\\\bumpeq\");\ndefineSymbol(math, ams, rel, \"\\u224e\", \"\\\\Bumpeq\");\ndefineSymbol(math, ams, rel, \"\\u2267\", \"\\\\geqq\");\ndefineSymbol(math, ams, rel, \"\\u2a7e\", \"\\\\geqslant\");\ndefineSymbol(math, ams, rel, \"\\u2a96\", \"\\\\eqslantgtr\");\ndefineSymbol(math, ams, rel, \"\\u2273\", \"\\\\gtrsim\");\ndefineSymbol(math, ams, rel, \"\\u2a86\", \"\\\\gtrapprox\");\ndefineSymbol(math, ams, bin, \"\\u22d7\", \"\\\\gtrdot\");\ndefineSymbol(math, ams, rel, \"\\u22d9\", \"\\\\ggg\");\ndefineSymbol(math, ams, rel, \"\\u2277\", \"\\\\gtrless\");\ndefineSymbol(math, ams, rel, \"\\u22db\", \"\\\\gtreqless\");\ndefineSymbol(math, ams, rel, \"\\u2a8c\", \"\\\\gtreqqless\");\ndefineSymbol(math, ams, rel, \"\\u2256\", \"\\\\eqcirc\");\ndefineSymbol(math, ams, rel, \"\\u2257\", \"\\\\circeq\");\ndefineSymbol(math, ams, rel, \"\\u225c\", \"\\\\triangleq\");\ndefineSymbol(math, ams, rel, \"\\u223c\", \"\\\\thicksim\");\ndefineSymbol(math, ams, rel, \"\\u2248\", \"\\\\thickapprox\");\ndefineSymbol(math, ams, rel, \"\\u2ac6\", \"\\\\supseteqq\");\ndefineSymbol(math, ams, rel, \"\\u22d1\", \"\\\\Supset\");\ndefineSymbol(math, ams, rel, \"\\u2290\", \"\\\\sqsupset\");\ndefineSymbol(math, ams, rel, \"\\u227d\", \"\\\\succcurlyeq\");\ndefineSymbol(math, ams, rel, \"\\u22df\", \"\\\\curlyeqsucc\");\ndefineSymbol(math, ams, rel, \"\\u227f\", \"\\\\succsim\");\ndefineSymbol(math, ams, rel, \"\\u2ab8\", \"\\\\succapprox\");\ndefineSymbol(math, ams, rel, \"\\u22b3\", \"\\\\vartriangleright\");\ndefineSymbol(math, ams, rel, \"\\u22b5\", \"\\\\trianglerighteq\");\ndefineSymbol(math, ams, rel, \"\\u22a9\", \"\\\\Vdash\");\ndefineSymbol(math, ams, rel, \"\\u2223\", \"\\\\shortmid\");\ndefineSymbol(math, ams, rel, \"\\u2225\", \"\\\\shortparallel\");\ndefineSymbol(math, ams, rel, \"\\u226c\", \"\\\\between\");\ndefineSymbol(math, ams, rel, \"\\u22d4\", \"\\\\pitchfork\");\ndefineSymbol(math, ams, rel, \"\\u221d\", \"\\\\varpropto\");\ndefineSymbol(math, ams, rel, \"\\u25c0\", \"\\\\blacktriangleleft\");\ndefineSymbol(math, ams, rel, \"\\u2234\", \"\\\\therefore\");\ndefineSymbol(math, ams, rel, \"\\u220d\", \"\\\\backepsilon\");\ndefineSymbol(math, ams, rel, \"\\u25b6\", \"\\\\blacktriangleright\");\ndefineSymbol(math, ams, rel, \"\\u2235\", \"\\\\because\");\ndefineSymbol(math, ams, rel, \"\\u22d8\", \"\\\\llless\");\ndefineSymbol(math, ams, rel, \"\\u22d9\", \"\\\\gggtr\");\ndefineSymbol(math, ams, bin, \"\\u22b2\", \"\\\\lhd\");\ndefineSymbol(math, ams, bin, \"\\u22b3\", \"\\\\rhd\");\ndefineSymbol(math, ams, rel, \"\\u2242\", \"\\\\eqsim\");\ndefineSymbol(math, main, rel, \"\\u22c8\", \"\\\\Join\");\ndefineSymbol(math, ams, rel, \"\\u2251\", \"\\\\Doteq\");\n\n// AMS Binary Operators\ndefineSymbol(math, ams, bin, \"\\u2214\", \"\\\\dotplus\");\ndefineSymbol(math, ams, bin, \"\\u2216\", \"\\\\smallsetminus\");\ndefineSymbol(math, ams, bin, \"\\u22d2\", \"\\\\Cap\");\ndefineSymbol(math, ams, bin, \"\\u22d3\", \"\\\\Cup\");\ndefineSymbol(math, ams, bin, \"\\u2a5e\", \"\\\\doublebarwedge\");\ndefineSymbol(math, ams, bin, \"\\u229f\", \"\\\\boxminus\");\ndefineSymbol(math, ams, bin, \"\\u229e\", \"\\\\boxplus\");\ndefineSymbol(math, ams, bin, \"\\u22c7\", \"\\\\divideontimes\");\ndefineSymbol(math, ams, bin, \"\\u22c9\", \"\\\\ltimes\");\ndefineSymbol(math, ams, bin, \"\\u22ca\", \"\\\\rtimes\");\ndefineSymbol(math, ams, bin, \"\\u22cb\", \"\\\\leftthreetimes\");\ndefineSymbol(math, ams, bin, \"\\u22cc\", \"\\\\rightthreetimes\");\ndefineSymbol(math, ams, bin, \"\\u22cf\", \"\\\\curlywedge\");\ndefineSymbol(math, ams, bin, \"\\u22ce\", \"\\\\curlyvee\");\ndefineSymbol(math, ams, bin, \"\\u229d\", \"\\\\circleddash\");\ndefineSymbol(math, ams, bin, \"\\u229b\", \"\\\\circledast\");\ndefineSymbol(math, ams, bin, \"\\u22c5\", \"\\\\centerdot\");\ndefineSymbol(math, ams, bin, \"\\u22ba\", \"\\\\intercal\");\ndefineSymbol(math, ams, bin, \"\\u22d2\", \"\\\\doublecap\");\ndefineSymbol(math, ams, bin, \"\\u22d3\", \"\\\\doublecup\");\ndefineSymbol(math, ams, bin, \"\\u22a0\", \"\\\\boxtimes\");\n\n// AMS Arrows\ndefineSymbol(math, ams, rel, \"\\u21e2\", \"\\\\dashrightarrow\");\ndefineSymbol(math, ams, rel, \"\\u21e0\", \"\\\\dashleftarrow\");\ndefineSymbol(math, ams, rel, \"\\u21c7\", \"\\\\leftleftarrows\");\ndefineSymbol(math, ams, rel, \"\\u21c6\", \"\\\\leftrightarrows\");\ndefineSymbol(math, ams, rel, \"\\u21da\", \"\\\\Lleftarrow\");\ndefineSymbol(math, ams, rel, \"\\u219e\", \"\\\\twoheadleftarrow\");\ndefineSymbol(math, ams, rel, \"\\u21a2\", \"\\\\leftarrowtail\");\ndefineSymbol(math, ams, rel, \"\\u21ab\", \"\\\\looparrowleft\");\ndefineSymbol(math, ams, rel, \"\\u21cb\", \"\\\\leftrightharpoons\");\ndefineSymbol(math, ams, rel, \"\\u21b6\", \"\\\\curvearrowleft\");\ndefineSymbol(math, ams, rel, \"\\u21ba\", \"\\\\circlearrowleft\");\ndefineSymbol(math, ams, rel, \"\\u21b0\", \"\\\\Lsh\");\ndefineSymbol(math, ams, rel, \"\\u21c8\", \"\\\\upuparrows\");\ndefineSymbol(math, ams, rel, \"\\u21bf\", \"\\\\upharpoonleft\");\ndefineSymbol(math, ams, rel, \"\\u21c3\", \"\\\\downharpoonleft\");\ndefineSymbol(math, ams, rel, \"\\u22b8\", \"\\\\multimap\");\ndefineSymbol(math, ams, rel, \"\\u21ad\", \"\\\\leftrightsquigarrow\");\ndefineSymbol(math, ams, rel, \"\\u21c9\", \"\\\\rightrightarrows\");\ndefineSymbol(math, ams, rel, \"\\u21c4\", \"\\\\rightleftarrows\");\ndefineSymbol(math, ams, rel, \"\\u21a0\", \"\\\\twoheadrightarrow\");\ndefineSymbol(math, ams, rel, \"\\u21a3\", \"\\\\rightarrowtail\");\ndefineSymbol(math, ams, rel, \"\\u21ac\", \"\\\\looparrowright\");\ndefineSymbol(math, ams, rel, \"\\u21b7\", \"\\\\curvearrowright\");\ndefineSymbol(math, ams, rel, \"\\u21bb\", \"\\\\circlearrowright\");\ndefineSymbol(math, ams, rel, \"\\u21b1\", \"\\\\Rsh\");\ndefineSymbol(math, ams, rel, \"\\u21ca\", \"\\\\downdownarrows\");\ndefineSymbol(math, ams, rel, \"\\u21be\", \"\\\\upharpoonright\");\ndefineSymbol(math, ams, rel, \"\\u21c2\", \"\\\\downharpoonright\");\ndefineSymbol(math, ams, rel, \"\\u21dd\", \"\\\\rightsquigarrow\");\ndefineSymbol(math, ams, rel, \"\\u21dd\", \"\\\\leadsto\");\ndefineSymbol(math, ams, rel, \"\\u21db\", \"\\\\Rrightarrow\");\ndefineSymbol(math, ams, rel, \"\\u21be\", \"\\\\restriction\");\n\ndefineSymbol(math, main, textord, \"\\u2018\", \"`\");\ndefineSymbol(math, main, textord, \"$\", \"\\\\$\");\ndefineSymbol(math, main, textord, \"%\", \"\\\\%\");\ndefineSymbol(math, main, textord, \"_\", \"\\\\_\");\ndefineSymbol(math, main, textord, \"\\u2220\", \"\\\\angle\");\ndefineSymbol(math, main, textord, \"\\u221e\", \"\\\\infty\");\ndefineSymbol(math, main, textord, \"\\u2032\", \"\\\\prime\");\ndefineSymbol(math, main, textord, \"\\u25b3\", \"\\\\triangle\");\ndefineSymbol(math, main, textord, \"\\u0393\", \"\\\\Gamma\");\ndefineSymbol(math, main, textord, \"\\u0394\", \"\\\\Delta\");\ndefineSymbol(math, main, textord, \"\\u0398\", \"\\\\Theta\");\ndefineSymbol(math, main, textord, \"\\u039b\", \"\\\\Lambda\");\ndefineSymbol(math, main, textord, \"\\u039e\", \"\\\\Xi\");\ndefineSymbol(math, main, textord, \"\\u03a0\", \"\\\\Pi\");\ndefineSymbol(math, main, textord, \"\\u03a3\", \"\\\\Sigma\");\ndefineSymbol(math, main, textord, \"\\u03a5\", \"\\\\Upsilon\");\ndefineSymbol(math, main, textord, \"\\u03a6\", \"\\\\Phi\");\ndefineSymbol(math, main, textord, \"\\u03a8\", \"\\\\Psi\");\ndefineSymbol(math, main, textord, \"\\u03a9\", \"\\\\Omega\");\ndefineSymbol(math, main, textord, \"\\u00ac\", \"\\\\neg\");\ndefineSymbol(math, main, textord, \"\\u00ac\", \"\\\\lnot\");\ndefineSymbol(math, main, textord, \"\\u22a4\", \"\\\\top\");\ndefineSymbol(math, main, textord, \"\\u22a5\", \"\\\\bot\");\ndefineSymbol(math, main, textord, \"\\u2205\", \"\\\\emptyset\");\ndefineSymbol(math, ams, textord, \"\\u2205\", \"\\\\varnothing\");\ndefineSymbol(math, main, mathord, \"\\u03b1\", \"\\\\alpha\");\ndefineSymbol(math, main, mathord, \"\\u03b2\", \"\\\\beta\");\ndefineSymbol(math, main, mathord, \"\\u03b3\", \"\\\\gamma\");\ndefineSymbol(math, main, mathord, \"\\u03b4\", \"\\\\delta\");\ndefineSymbol(math, main, mathord, \"\\u03f5\", \"\\\\epsilon\");\ndefineSymbol(math, main, mathord, \"\\u03b6\", \"\\\\zeta\");\ndefineSymbol(math, main, mathord, \"\\u03b7\", \"\\\\eta\");\ndefineSymbol(math, main, mathord, \"\\u03b8\", \"\\\\theta\");\ndefineSymbol(math, main, mathord, \"\\u03b9\", \"\\\\iota\");\ndefineSymbol(math, main, mathord, \"\\u03ba\", \"\\\\kappa\");\ndefineSymbol(math, main, mathord, \"\\u03bb\", \"\\\\lambda\");\ndefineSymbol(math, main, mathord, \"\\u03bc\", \"\\\\mu\");\ndefineSymbol(math, main, mathord, \"\\u03bd\", \"\\\\nu\");\ndefineSymbol(math, main, mathord, \"\\u03be\", \"\\\\xi\");\ndefineSymbol(math, main, mathord, \"o\", \"\\\\omicron\");\ndefineSymbol(math, main, mathord, \"\\u03c0\", \"\\\\pi\");\ndefineSymbol(math, main, mathord, \"\\u03c1\", \"\\\\rho\");\ndefineSymbol(math, main, mathord, \"\\u03c3\", \"\\\\sigma\");\ndefineSymbol(math, main, mathord, \"\\u03c4\", \"\\\\tau\");\ndefineSymbol(math, main, mathord, \"\\u03c5\", \"\\\\upsilon\");\ndefineSymbol(math, main, mathord, \"\\u03d5\", \"\\\\phi\");\ndefineSymbol(math, main, mathord, \"\\u03c7\", \"\\\\chi\");\ndefineSymbol(math, main, mathord, \"\\u03c8\", \"\\\\psi\");\ndefineSymbol(math, main, mathord, \"\\u03c9\", \"\\\\omega\");\ndefineSymbol(math, main, mathord, \"\\u03b5\", \"\\\\varepsilon\");\ndefineSymbol(math, main, mathord, \"\\u03d1\", \"\\\\vartheta\");\ndefineSymbol(math, main, mathord, \"\\u03d6\", \"\\\\varpi\");\ndefineSymbol(math, main, mathord, \"\\u03f1\", \"\\\\varrho\");\ndefineSymbol(math, main, mathord, \"\\u03c2\", \"\\\\varsigma\");\ndefineSymbol(math, main, mathord, \"\\u03c6\", \"\\\\varphi\");\ndefineSymbol(math, main, bin, \"\\u2217\", \"*\");\ndefineSymbol(math, main, bin, \"+\", \"+\");\ndefineSymbol(math, main, bin, \"\\u2212\", \"-\");\ndefineSymbol(math, main, bin, \"\\u22c5\", \"\\\\cdot\");\ndefineSymbol(math, main, bin, \"\\u2218\", \"\\\\circ\");\ndefineSymbol(math, main, bin, \"\\u00f7\", \"\\\\div\");\ndefineSymbol(math, main, bin, \"\\u00b1\", \"\\\\pm\");\ndefineSymbol(math, main, bin, \"\\u00d7\", \"\\\\times\");\ndefineSymbol(math, main, bin, \"\\u2229\", \"\\\\cap\");\ndefineSymbol(math, main, bin, \"\\u222a\", \"\\\\cup\");\ndefineSymbol(math, main, bin, \"\\u2216\", \"\\\\setminus\");\ndefineSymbol(math, main, bin, \"\\u2227\", \"\\\\land\");\ndefineSymbol(math, main, bin, \"\\u2228\", \"\\\\lor\");\ndefineSymbol(math, main, bin, \"\\u2227\", \"\\\\wedge\");\ndefineSymbol(math, main, bin, \"\\u2228\", \"\\\\vee\");\ndefineSymbol(math, main, textord, \"\\u221a\", \"\\\\surd\");\ndefineSymbol(math, main, open, \"(\", \"(\");\ndefineSymbol(math, main, open, \"[\", \"[\");\ndefineSymbol(math, main, open, \"\\u27e8\", \"\\\\langle\");\ndefineSymbol(math, main, open, \"\\u2223\", \"\\\\lvert\");\ndefineSymbol(math, main, open, \"\\u2225\", \"\\\\lVert\");\ndefineSymbol(math, main, close, \")\", \")\");\ndefineSymbol(math, main, close, \"]\", \"]\");\ndefineSymbol(math, main, close, \"?\", \"?\");\ndefineSymbol(math, main, close, \"!\", \"!\");\ndefineSymbol(math, main, close, \"\\u27e9\", \"\\\\rangle\");\ndefineSymbol(math, main, close, \"\\u2223\", \"\\\\rvert\");\ndefineSymbol(math, main, close, \"\\u2225\", \"\\\\rVert\");\ndefineSymbol(math, main, rel, \"=\", \"=\");\ndefineSymbol(math, main, rel, \"<\", \"<\");\ndefineSymbol(math, main, rel, \">\", \">\");\ndefineSymbol(math, main, rel, \":\", \":\");\ndefineSymbol(math, main, rel, \"\\u2248\", \"\\\\approx\");\ndefineSymbol(math, main, rel, \"\\u2245\", \"\\\\cong\");\ndefineSymbol(math, main, rel, \"\\u2265\", \"\\\\ge\");\ndefineSymbol(math, main, rel, \"\\u2265\", \"\\\\geq\");\ndefineSymbol(math, main, rel, \"\\u2190\", \"\\\\gets\");\ndefineSymbol(math, main, rel, \">\", \"\\\\gt\");\ndefineSymbol(math, main, rel, \"\\u2208\", \"\\\\in\");\ndefineSymbol(math, main, rel, \"\\u2209\", \"\\\\notin\");\ndefineSymbol(math, main, rel, \"\\u2282\", \"\\\\subset\");\ndefineSymbol(math, main, rel, \"\\u2283\", \"\\\\supset\");\ndefineSymbol(math, main, rel, \"\\u2286\", \"\\\\subseteq\");\ndefineSymbol(math, main, rel, \"\\u2287\", \"\\\\supseteq\");\ndefineSymbol(math, ams, rel, \"\\u2288\", \"\\\\nsubseteq\");\ndefineSymbol(math, ams, rel, \"\\u2289\", \"\\\\nsupseteq\");\ndefineSymbol(math, main, rel, \"\\u22a8\", \"\\\\models\");\ndefineSymbol(math, main, rel, \"\\u2190\", \"\\\\leftarrow\");\ndefineSymbol(math, main, rel, \"\\u2264\", \"\\\\le\");\ndefineSymbol(math, main, rel, \"\\u2264\", \"\\\\leq\");\ndefineSymbol(math, main, rel, \"<\", \"\\\\lt\");\ndefineSymbol(math, main, rel, \"\\u2260\", \"\\\\ne\");\ndefineSymbol(math, main, rel, \"\\u2260\", \"\\\\neq\");\ndefineSymbol(math, main, rel, \"\\u2192\", \"\\\\rightarrow\");\ndefineSymbol(math, main, rel, \"\\u2192\", \"\\\\to\");\ndefineSymbol(math, ams, rel, \"\\u2271\", \"\\\\ngeq\");\ndefineSymbol(math, ams, rel, \"\\u2270\", \"\\\\nleq\");\ndefineSymbol(math, main, spacing, null, \"\\\\!\");\ndefineSymbol(math, main, spacing, \"\\u00a0\", \"\\\\ \");\ndefineSymbol(math, main, spacing, \"\\u00a0\", \"~\");\ndefineSymbol(math, main, spacing, null, \"\\\\,\");\ndefineSymbol(math, main, spacing, null, \"\\\\:\");\ndefineSymbol(math, main, spacing, null, \"\\\\;\");\ndefineSymbol(math, main, spacing, null, \"\\\\enspace\");\ndefineSymbol(math, main, spacing, null, \"\\\\qquad\");\ndefineSymbol(math, main, spacing, null, \"\\\\quad\");\ndefineSymbol(math, main, spacing, \"\\u00a0\", \"\\\\space\");\ndefineSymbol(math, main, punct, \",\", \",\");\ndefineSymbol(math, main, punct, \";\", \";\");\ndefineSymbol(math, main, punct, \":\", \"\\\\colon\");\ndefineSymbol(math, ams, bin, \"\\u22bc\", \"\\\\barwedge\");\ndefineSymbol(math, ams, bin, \"\\u22bb\", \"\\\\veebar\");\ndefineSymbol(math, main, bin, \"\\u2299\", \"\\\\odot\");\ndefineSymbol(math, main, bin, \"\\u2295\", \"\\\\oplus\");\ndefineSymbol(math, main, bin, \"\\u2297\", \"\\\\otimes\");\ndefineSymbol(math, main, textord, \"\\u2202\", \"\\\\partial\");\ndefineSymbol(math, main, bin, \"\\u2298\", \"\\\\oslash\");\ndefineSymbol(math, ams, bin, \"\\u229a\", \"\\\\circledcirc\");\ndefineSymbol(math, ams, bin, \"\\u22a1\", \"\\\\boxdot\");\ndefineSymbol(math, main, bin, \"\\u25b3\", \"\\\\bigtriangleup\");\ndefineSymbol(math, main, bin, \"\\u25bd\", \"\\\\bigtriangledown\");\ndefineSymbol(math, main, bin, \"\\u2020\", \"\\\\dagger\");\ndefineSymbol(math, main, bin, \"\\u22c4\", \"\\\\diamond\");\ndefineSymbol(math, main, bin, \"\\u22c6\", \"\\\\star\");\ndefineSymbol(math, main, bin, \"\\u25c3\", \"\\\\triangleleft\");\ndefineSymbol(math, main, bin, \"\\u25b9\", \"\\\\triangleright\");\ndefineSymbol(math, main, open, \"{\", \"\\\\{\");\ndefineSymbol(math, main, close, \"}\", \"\\\\}\");\ndefineSymbol(math, main, open, \"{\", \"\\\\lbrace\");\ndefineSymbol(math, main, close, \"}\", \"\\\\rbrace\");\ndefineSymbol(math, main, open, \"[\", \"\\\\lbrack\");\ndefineSymbol(math, main, close, \"]\", \"\\\\rbrack\");\ndefineSymbol(math, main, open, \"\\u230a\", \"\\\\lfloor\");\ndefineSymbol(math, main, close, \"\\u230b\", \"\\\\rfloor\");\ndefineSymbol(math, main, open, \"\\u2308\", \"\\\\lceil\");\ndefineSymbol(math, main, close, \"\\u2309\", \"\\\\rceil\");\ndefineSymbol(math, main, textord, \"\\\\\", \"\\\\backslash\");\ndefineSymbol(math, main, textord, \"\\u2223\", \"|\");\ndefineSymbol(math, main, textord, \"\\u2223\", \"\\\\vert\");\ndefineSymbol(math, main, textord, \"\\u2225\", \"\\\\|\");\ndefineSymbol(math, main, textord, \"\\u2225\", \"\\\\Vert\");\ndefineSymbol(math, main, rel, \"\\u2191\", \"\\\\uparrow\");\ndefineSymbol(math, main, rel, \"\\u21d1\", \"\\\\Uparrow\");\ndefineSymbol(math, main, rel, \"\\u2193\", \"\\\\downarrow\");\ndefineSymbol(math, main, rel, \"\\u21d3\", \"\\\\Downarrow\");\ndefineSymbol(math, main, rel, \"\\u2195\", \"\\\\updownarrow\");\ndefineSymbol(math, main, rel, \"\\u21d5\", \"\\\\Updownarrow\");\ndefineSymbol(math, math, op, \"\\u2210\", \"\\\\coprod\");\ndefineSymbol(math, math, op, \"\\u22c1\", \"\\\\bigvee\");\ndefineSymbol(math, math, op, \"\\u22c0\", \"\\\\bigwedge\");\ndefineSymbol(math, math, op, \"\\u2a04\", \"\\\\biguplus\");\ndefineSymbol(math, math, op, \"\\u22c2\", \"\\\\bigcap\");\ndefineSymbol(math, math, op, \"\\u22c3\", \"\\\\bigcup\");\ndefineSymbol(math, math, op, \"\\u222b\", \"\\\\int\");\ndefineSymbol(math, math, op, \"\\u222b\", \"\\\\intop\");\ndefineSymbol(math, math, op, \"\\u222c\", \"\\\\iint\");\ndefineSymbol(math, math, op, \"\\u222d\", \"\\\\iiint\");\ndefineSymbol(math, math, op, \"\\u220f\", \"\\\\prod\");\ndefineSymbol(math, math, op, \"\\u2211\", \"\\\\sum\");\n\ndefineSymbol(math, math, op, \"\\u2a02\", \"\\\\bigotimes\");\ndefineSymbol(math, math, op, \"\\u2a01\", \"\\\\bigoplus\");\ndefineSymbol(math, math, op, \"\\u2a00\", \"\\\\bigodot\");\ndefineSymbol(math, math, op, \"\\u222e\", \"\\\\oint\");\ndefineSymbol(math, math, op, \"\\u2a06\", \"\\\\bigsqcup\");\ndefineSymbol(math, math, op, \"\\u222b\", \"\\\\smallint\");\ndefineSymbol(math, main, inner, \"\\u2026\", \"\\\\ldots\");\ndefineSymbol(math, main, inner, \"\\u22ef\", \"\\\\cdots\");\ndefineSymbol(math, main, inner, \"\\u22f1\", \"\\\\ddots\");\ndefineSymbol(math, main, textord, \"\\u22ee\", \"\\\\vdots\");\ndefineSymbol(math, main, accent, \"\\u00b4\", \"\\\\acute\");\ndefineSymbol(math, main, accent, \"\\u0060\", \"\\\\grave\");\ndefineSymbol(math, main, accent, \"\\u00a8\", \"\\\\ddot\");\ndefineSymbol(math, main, accent, \"\\u007e\", \"\\\\tilde\");\ndefineSymbol(math, main, accent, \"\\u00af\", \"\\\\bar\");\ndefineSymbol(math, main, accent, \"\\u02d8\", \"\\\\breve\");\ndefineSymbol(math, main, accent, \"\\u02c7\", \"\\\\check\");\ndefineSymbol(math, main, accent, \"\\u005e\", \"\\\\hat\");\ndefineSymbol(math, main, accent, \"\\u20d7\", \"\\\\vec\");\ndefineSymbol(math, main, accent, \"\\u02d9\", \"\\\\dot\");\ndefineSymbol(math, main, mathord, \"\\u0131\", \"\\\\imath\");\ndefineSymbol(math, main, mathord, \"\\u0237\", \"\\\\jmath\");\n\n\ndefineSymbol(text, main, spacing, \"\\u00a0\", \"\\\\ \");\ndefineSymbol(text, main, spacing, \"\\u00a0\", \" \");\ndefineSymbol(text, main, spacing, \"\\u00a0\", \"~\");\n\n// There are lots of symbols which are the same, so we add them in afterwards.\nvar i;\nvar ch;\n\n// All of these are textords in math mode\nvar mathTextSymbols = \"0123456789/@.\\\"\";\nfor (i = 0; i < mathTextSymbols.length; i++) {\n    ch = mathTextSymbols.charAt(i);\n    defineSymbol(math, main, textord, ch, ch);\n}\n\n// All of these are textords in text mode\nvar textSymbols = \"0123456789`!@*()-=+[]'\\\";:?/.,\";\nfor (i = 0; i < textSymbols.length; i++) {\n    ch = textSymbols.charAt(i);\n    defineSymbol(text, main, textord, ch, ch);\n}\n\n// All of these are textords in text mode, and mathords in math mode\nvar letters = \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\";\nfor (i = 0; i < letters.length; i++) {\n    ch = letters.charAt(i);\n    defineSymbol(math, main, mathord, ch, ch);\n    defineSymbol(text, main, textord, ch, ch);\n}\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/third_party/katex/src/utils.js",
    "content": "/**\n * This file contains a list of utility functions which are useful in other\n * files.\n */\n\n/**\n * Provide an `indexOf` function which works in IE8, but defers to native if\n * possible.\n */\nvar nativeIndexOf = Array.prototype.indexOf;\nvar indexOf = function(list, elem) {\n    if (list == null) {\n        return -1;\n    }\n    if (nativeIndexOf && list.indexOf === nativeIndexOf) {\n        return list.indexOf(elem);\n    }\n    var i = 0;\n    var l = list.length;\n    for (; i < l; i++) {\n        if (list[i] === elem) {\n            return i;\n        }\n    }\n    return -1;\n};\n\n/**\n * Return whether an element is contained in a list\n */\nvar contains = function(list, elem) {\n    return indexOf(list, elem) !== -1;\n};\n\n/**\n * Provide a default value if a setting is undefined\n */\nvar deflt = function(setting, defaultIfUndefined) {\n    return setting === undefined ? defaultIfUndefined : setting;\n};\n\n// hyphenate and escape adapted from Facebook's React under Apache 2 license\n\nvar uppercase = /([A-Z])/g;\nvar hyphenate = function(str) {\n    return str.replace(uppercase, \"-$1\").toLowerCase();\n};\n\nvar ESCAPE_LOOKUP = {\n    \"&\": \"&amp;\",\n    \">\": \"&gt;\",\n    \"<\": \"&lt;\",\n    \"\\\"\": \"&quot;\",\n    \"'\": \"&#x27;\",\n};\n\nvar ESCAPE_REGEX = /[&><\"']/g;\n\nfunction escaper(match) {\n    return ESCAPE_LOOKUP[match];\n}\n\n/**\n * Escapes text to prevent scripting attacks.\n *\n * @param {*} text Text value to escape.\n * @return {string} An escaped string.\n */\nfunction escape(text) {\n    return (\"\" + text).replace(ESCAPE_REGEX, escaper);\n}\n\n/**\n * A function to set the text content of a DOM element in all supported\n * browsers. Note that we don't define this if there is no document.\n */\nvar setTextContent;\nif (typeof document !== \"undefined\") {\n    var testNode = document.createElement(\"span\");\n    if (\"textContent\" in testNode) {\n        setTextContent = function(node, text) {\n            node.textContent = text;\n        };\n    } else {\n        setTextContent = function(node, text) {\n            node.innerText = text;\n        };\n    }\n}\n\n/**\n * A function to clear a node.\n */\nfunction clearNode(node) {\n    setTextContent(node, \"\");\n}\n\nmodule.exports = {\n    contains: contains,\n    deflt: deflt,\n    escape: escape,\n    hyphenate: hyphenate,\n    indexOf: indexOf,\n    setTextContent: setTextContent,\n    clearNode: clearNode,\n};\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/third_party/match-at/README.md",
    "content": "# match-at [![Build Status](https://travis-ci.org/spicyj/match-at.svg?branch=master)](https://travis-ci.org/spicyj/match-at)\n"
  },
  {
    "path": "pix2tex/dataset/preprocessing/third_party/match-at/lib/matchAt.js",
    "content": "/** @flow */\n\n\"use strict\";\n\nfunction getRelocatable(re) {\n  // In the future, this could use a WeakMap instead of an expando.\n  if (!re.__matchAtRelocatable) {\n    // Disjunctions are the lowest-precedence operator, so we can make any\n    // pattern match the empty string by appending `|()` to it:\n    // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-patterns\n    var source = re.source + \"|()\";\n\n    // We always make the new regex global.\n    var flags = \"g\" + (re.ignoreCase ? \"i\" : \"\") + (re.multiline ? \"m\" : \"\") + (re.unicode ? \"u\" : \"\")\n    // sticky (/.../y) doesn't make sense in conjunction with our relocation\n    // logic, so we ignore it here.\n    ;\n\n    re.__matchAtRelocatable = new RegExp(source, flags);\n  }\n  return re.__matchAtRelocatable;\n}\n\nfunction matchAt(re, str, pos) {\n  if (re.global || re.sticky) {\n    throw new Error(\"matchAt(...): Only non-global regexes are supported\");\n  }\n  var reloc = getRelocatable(re);\n  reloc.lastIndex = pos;\n  var match = reloc.exec(str);\n  // Last capturing group is our sentinel that indicates whether the regex\n  // matched at the given location.\n  if (match[match.length - 1] == null) {\n    // Original regex matched.\n    match.length = match.length - 1;\n    return match;\n  } else {\n    return null;\n  }\n}\n\nmodule.exports = matchAt;"
  },
  {
    "path": "pix2tex/dataset/preprocessing/third_party/match-at/package.json",
    "content": "{\n  \"name\": \"match-at\",\n  \"version\": \"0.1.0\",\n  \"description\": \"Relocatable regular expressions.\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/spicyj/match-at\"\n  },\n  \"main\": \"lib/matchAt.js\",\n  \"files\": [\n    \"lib/\"\n  ],\n  \"devDependencies\": {\n    \"babel\": \"^4.7.16\",\n    \"jest-cli\": \"^0.4.0\",\n    \"react-tools\": \"^0.13.1\"\n  },\n  \"jest\": {\n    \"scriptPreprocessor\": \"<rootDir>/jestSupport/preprocessor.js\",\n    \"unmockedModulePathPatterns\": [\n      \"\"\n    ]\n  },\n  \"scripts\": {\n    \"prepublish\": \"babel -d lib/ src/\",\n    \"test\": \"jest\"\n  },\n  \"gitHead\": \"4197daff69720734c72ba3321ed68a41c0527fb2\",\n  \"bugs\": {\n    \"url\": \"https://github.com/spicyj/match-at/issues\"\n  },\n  \"homepage\": \"https://github.com/spicyj/match-at\",\n  \"_id\": \"match-at@0.1.0\",\n  \"_shasum\": \"f561e7709ff9a105b85cc62c6b8ee7c15bf24f31\",\n  \"_from\": \"match-at@\",\n  \"_npmVersion\": \"2.2.0\",\n  \"_nodeVersion\": \"0.10.35\",\n  \"_npmUser\": {\n    \"name\": \"spicyj\",\n    \"email\": \"ben@benalpert.com\"\n  },\n  \"maintainers\": [\n    {\n      \"name\": \"spicyj\",\n      \"email\": \"ben@benalpert.com\"\n    }\n  ],\n  \"dist\": {\n    \"shasum\": \"f561e7709ff9a105b85cc62c6b8ee7c15bf24f31\",\n    \"tarball\": \"https://registry.npmjs.org/match-at/-/match-at-0.1.0.tgz\"\n  },\n  \"directories\": {},\n  \"_resolved\": \"https://registry.npmjs.org/match-at/-/match-at-0.1.0.tgz\"\n}\n"
  },
  {
    "path": "pix2tex/dataset/render.py",
    "content": "\nfrom pix2tex.dataset.latex2png import Latex, tex2pil\nimport argparse\nimport sys\nimport os\nimport glob\nimport shutil\nfrom tqdm.auto import tqdm\nimport cv2\nimport numpy as np\nfrom PIL import Image\nimport subprocess\n\n\ndef get_installed_fonts(tex_path: str):\n    cmd = \"find %s -name *Math*.otf\" % tex_path\n    process = subprocess.Popen(cmd,\n                               stdout=subprocess.PIPE,\n                               stderr=subprocess.PIPE,\n                               universal_newlines=True,\n                               shell=True\n                               )\n    stdout, stderr = process.communicate()\n    if process.returncode != 0:\n        raise Exception(stderr)\n    fonts = [_.split(os.sep)[-1] for _ in stdout.split('\\n')][:-1]\n    fonts.extend([\"Latin Modern Math\"]*len(fonts))\n    return fonts\n\n\ndef render_dataset(dataset: np.ndarray, unrendered: np.ndarray, args) -> np.ndarray:\n    \"\"\"Renders a list of tex equations\n\n    Args:\n        dataset (numpy.ndarray): List of equations\n        unrendered (numpy.ndarray): List of integers of size `dataset` that give the name of the saved image\n        args (Union[Namespace, Munch]): additional arguments: mode (equation or inline), out (output directory), divable (common factor )\n                                        batchsize (how many samples to render at once), dpi, font (Math font), preprocess (crop, alpha off)\n                                        shuffle (bool)\n\n    Returns:\n        numpy.ndarray: equation indices that could not be rendered\n    \"\"\"\n    assert len(unrendered) == len(dataset), 'unrendered and dataset must be of equal size'\n    math_mode = '$$'if args.mode == 'equation' else '$'\n    os.makedirs(args.out, exist_ok=True)\n    # remove successfully rendered equations\n    rendered = np.array([int(os.path.basename(img).split('.')[0])\n                         for img in glob.glob(os.path.join(args.out, '*.png'))])\n    valid = [i for i, j in enumerate(unrendered) if j not in rendered]\n    # update unrendered and dataset\n    dataset = dataset[valid]\n    unrendered = unrendered[valid]\n    order = np.random.permutation(len(dataset)) if args.shuffle else np.arange(len(dataset))\n    faulty = []\n    for batch_offset in tqdm(range(0, len(dataset), args.batchsize), desc=\"global batch index\"):\n        batch = dataset[order[batch_offset:batch_offset+args.batchsize]]\n        #batch = [x for j, x in enumerate(batch) if order[i+j] not in indices]\n        if len(batch) == 0:\n            continue\n        valid_math = np.asarray([[i, \"%s %s %s\" % (math_mode, x, math_mode)] for i, x in enumerate(\n            batch) if x != ''], dtype=object)  # space used to prevent escape $\n        #print('\\n', i, len(math), '\\n'.join(math))\n        font = font = np.random.choice(args.font) if len(\n            args.font) > 1 else args.font[0]\n        dpi = np.random.choice(np.arange(min(args.dpi), max(args.dpi))) if len(\n            args.dpi) > 1 else args.dpi[0]\n        if len(valid_math) > 0:\n            valid_idx, math = valid_math.T\n            valid_idx = valid_idx.astype(np.int32)\n            try:\n                if args.preprocess:\n                    pngs, error_index = tex2pil(\n                        math, dpi=dpi, font=font, return_error_index=True)\n                else:\n                    pngs, error_index = Latex(math, dpi=dpi, font=font).write(\n                        return_bytes=False)\n                # error_index not count \"\" line, use valid_idx transfer to real index matching in batch index\n                local_error_index = valid_idx[error_index]\n                # tranfer in batch index to global batch index\n                global_error_index = [\n                    batch_offset+_ for _ in local_error_index]\n                faulty.extend(list(unrendered[order[global_error_index]]))\n            except Exception as e:\n                print(\"\\n%s\" % e, end='')\n                faulty.extend(\n                    list(unrendered[order[batch_offset:batch_offset+args.batchsize]]))\n                continue\n\n            for inbatch_idx, order_idx in enumerate(range(batch_offset, batch_offset+args.batchsize)):\n                # exclude render failed equations and blank line\n                if inbatch_idx in local_error_index or inbatch_idx not in valid_idx:\n                    continue\n                outpath = os.path.join(args.out, '%07d.png' % unrendered[order[order_idx]])\n                png_idx = np.where(valid_idx == inbatch_idx)[0][0]\n                if args.preprocess:\n                    try:\n                        data = np.asarray(pngs[png_idx])\n                        # print(data.shape)\n                        # To invert the text to white\n                        gray = 255*(data[..., 0] < 128).astype(np.uint8)\n                        white_pixels = np.sum(gray == 255)\n                        # some png will be whole white, because some equation's syntax is wrong\n                        # eg.$$ \\mathit { \\Iota \\Kappa \\Lambda \\Mu \\Nu \\Xi \\Omicron \\Pi } $$\n                        # extract from wikipedia english dump file https://dumps.wikimedia.org/enwiki/latest/\n                        white_percentage = (white_pixels / (gray.shape[0] * gray.shape[1]))\n                        if white_percentage == 0:\n                            continue\n                        # Find all non-zero points (text)\n                        coords = cv2.findNonZero(gray)\n                        # Find minimum spanning bounding box\n                        a, b, w, h = cv2.boundingRect(coords)\n                        rect = data[b:b+h, a:a+w]\n                        im = Image.fromarray((255-rect[..., -1]).astype(np.uint8)).convert('L')\n                        dims = []\n                        for x in [w, h]:\n                            div, mod = divmod(x, args.divable)\n                            dims.append(args.divable*(div + (1 if mod > 0 else 0)))\n                        padded = Image.new('L', dims, 255)\n                        padded.paste(im, (0, 0, im.size[0], im.size[1]))\n                        padded.save(outpath)\n                    except Exception as e:\n                        print(e)\n                        pass\n                else:\n                    shutil.move(pngs[png_idx], outpath)\n    # prevent repeat between two error_index and imagemagic error\n    faulty = list(set(faulty))\n    faulty.sort()\n    return np.array(faulty)\n\n\nif __name__ == '__main__':\n\n    parser = argparse.ArgumentParser(description='Render dataset')\n    parser.add_argument('-i', '--data', type=str,\n                        required=True, help='file of list of latex code')\n    parser.add_argument('-o', '--out', type=str,\n                        required=True, help='output directory')\n    parser.add_argument('-b', '--batchsize', type=int, default=100,\n                        help='How many equations to render at once')\n    parser.add_argument('-f', '--font', nargs='+', type=str,\n                        default=\"\", help='font to use.')\n    parser.add_argument('-fp', '--fonts_path', type=str,\n                        default=\"/usr/local/texlive/\", help='installed font path')\n    parser.add_argument('-m', '--mode', choices=[\n                        'inline', 'equation'], default='equation', help='render as inline or equation')\n    parser.add_argument('--dpi', type=int, default=[110, 170], nargs='+', help='dpi range to render in')\n    parser.add_argument('-p', '--no-preprocess', dest='preprocess', default=True,\n                        action='store_false', help='crop, remove alpha channel, padding')\n    parser.add_argument('-d', '--divable', type=int, default=32,\n                        help='To what factor to pad the images')\n    parser.add_argument('-s', '--shuffle', action='store_true',\n                        help='Whether to shuffle the equations in the first iteration')\n    args = parser.parse_args(sys.argv[1:])\n    args.font = args.font if args.font != \"\" else get_installed_fonts(\n        args.fonts_path)\n    print(args.font)\n    dataset = np.array(open(args.data, 'r').read().split('\\n'), dtype=object)\n    unrendered = np.arange(len(dataset))\n    failed = np.array([])\n    while unrendered.tolist() != failed.tolist():\n        failed = unrendered\n        unrendered = render_dataset(dataset[unrendered], unrendered, args)\n        if len(unrendered) < 50*args.batchsize:\n            args.batchsize = max([1, args.batchsize//2])\n        args.shuffle = True\n"
  },
  {
    "path": "pix2tex/dataset/scraping.py",
    "content": "import os\nimport sys\nimport random\nfrom tqdm import tqdm\nimport html\nimport requests\nimport re\nimport argparse\nimport logging\nfrom typing import Callable, List, Tuple\nfrom pix2tex.dataset.extract_latex import find_math\n\nhtmltags = re.compile(r'<(noscript|script)>.*?<\\/\\1>', re.S)\nwikilinks = re.compile(r'href=\"/wiki/(.*?)\"')\nwiki_base = 'https://en.wikipedia.org/wiki/'\nstackexchangelinks = re.compile(r'(?:(https:\\/\\/\\w+)\\.stack\\w+\\.com|)\\/questions\\/(\\d+\\/[\\w\\d\\/-]+)')\nmath_stack_exchange_base = 'https://math.stackexchange.com/questions/'\nphysics_stack_exchange_base = 'https://physics.stackexchange.com/questions/'\n\n# recursive search\n\n\ndef recursive_search(parser: Callable,  seeds: List[str], depth: int = 2, skip: List[str] = [], unit: str = 'links', base_url: str = None, **kwargs) -> Tuple[List[str], List[str]]:\n    \"\"\"Find math recursively. Look in `seeds` for math and further sites to look.\n\n    Args:\n        parser (Callable): A function that returns a `Tuple[List[str], List[str]]` of math and ids (for `base_url`) respectively.\n        seeds (List[str]): Fist set of ids.\n        depth (int, optional): How many iterations to look for. Defaults to 2.\n        skip (List[str], optional): List of alreadly visited ids. Defaults to [].\n        unit (str, optional): Tqdm verbose unit description. Defaults to 'links'.\n        base_url (str, optional): Base url to add ids to. Defaults to None.\n\n    Returns:\n        Tuple[List[str],List[str]]: Returns list of found math and visited ids respectively.\n    \"\"\"\n    visited, links = set(skip), set(seeds)\n    math = []\n    try:\n        for i in range(int(depth)):\n            link_list = list(links)\n            random.shuffle(link_list)\n            t_bar = tqdm(link_list, initial=len(visited), unit=unit)\n            for link in t_bar:\n                if not link in visited:\n                    t_bar.set_description('searching %s' % (link[:15]))\n                    if base_url:\n                        m, l = parser(base_url+link, **kwargs)\n                    else:\n                        m, l = parser(link, **kwargs)\n                    # check if we got any math from this wiki page and\n                    # if not terminate the tree\n                    if len(m) > 0:\n                        for li in l:\n                            links.add(li)\n                        # t_bar.total = len(links)\n                        math.extend(m)\n                    visited.add(link)\n        return list(visited), list(set(math))\n    except Exception as e:\n        logging.debug(e)\n        return list(visited), list(set(math))\n    except KeyboardInterrupt:\n        return list(visited), list(set(math))\n\n\ndef parse_url(url, encoding=None):\n    r = requests.get(url)\n    if r.ok:\n        if encoding:\n            r.encoding = encoding\n        return html.unescape(re.sub(htmltags, '', r.text))\n    return ''\n\n\ndef parse_wiki(url):\n    text = parse_url(url)\n    linked = list(set([l for l in re.findall(wikilinks, text) if not ':' in l]))\n    return find_math(text, wiki=True), linked\n\n\ndef parse_stack_exchange(url):\n    text = parse_url(url)\n    linked = list(set([l[1] for l in re.findall(stackexchangelinks, text) if url.startswith(l[0])]))\n    return find_math(text, wiki=False), linked\n\n# recursive wiki search\n\n\ndef recursive_wiki(seeds, depth=4, skip=[], base_url=wiki_base):\n    '''Recursivley search wikipedia for math. Every link on the starting page `start` will be visited in the next round and so on, until there is no \n    math in the child page anymore. This will be repeated `depth` times.'''\n    start = [s.split('/')[-1] for s in seeds]\n    return recursive_search(parse_wiki, start, depth, skip, base_url=base_url, unit=' links')\n\n\ndef recursive_stack_exchange(seeds, depth=4, skip=[], base_url=math_stack_exchange_base):\n    '''Recursively search through stack exchange questions'''\n    start = [s.partition(base_url.split('//')[-1])[-1] for s in seeds]\n    return recursive_search(parse_stack_exchange, start, depth, skip, base_url=base_url, unit=' questions')\n\n\nif __name__ == '__main__':\n    parser = argparse.ArgumentParser(description='Extract math from websites')\n    parser.add_argument('-m', '--mode', default='auto', choices=['auto', 'wiki', 'math_stack', 'physics_stack'],\n                        help='What website to scrape. Choices: `auto` determine by input, `wiki` wikipedia, \\\n                        `math_stack` math.stackexchange, `physics_stack` physics.stackexchange.')\n    parser.add_argument(nargs='*', dest='url', default=['https://en.wikipedia.org/wiki/Mathematics', 'https://en.wikipedia.org/wiki/Physics'],\n                        help='starting url(s). Default: Mathematics, Physics wiki pages')\n    parser.add_argument('-o', '--out', default=os.path.join(os.path.dirname(os.path.realpath(__file__)), 'data'), help='output directory')\n    args = parser.parse_args()\n    if '.' in args.out:\n        args.out = os.path.dirname(args.out)\n    # determine website\n    if args.mode == 'auto':\n        if len(args.url) == 0:\n            raise ValueError('Provide an starting url')\n        url = args.url[0]\n        if re.search(wikilinks, url) is not None:\n            args.mode = 'wiki'\n        elif re.search(stackexchangelinks, url) is not None:\n            if 'math' in url:\n                args.mode = 'math_stack'\n            elif 'physics' in url:\n                args.mode = 'physics_stack'\n        else:\n            raise NotImplementedError('The website was not recognized')\n    skips = os.path.join(args.out, f'visited_{args.mode}.txt')\n    if os.path.exists(skips):\n        skip = open(skips, 'r', encoding='utf-8').read().split('\\n')\n    else:\n        skip = []\n    try:\n        if args.mode == 'physics_stack':\n            visited, math = recursive_stack_exchange(args.url, base_url=physics_stack_exchange_base)\n        elif args.mode == 'math_stack':\n            visited, math = recursive_stack_exchange(args.url, base_url=math_stack_exchange_base)\n        elif args.mode == 'wiki':\n            visited, math = recursive_wiki(args.url)\n    except KeyboardInterrupt:\n        pass\n    print('Found %i instances of math latex code. Save to %s' % (len(math), args.out))\n    for l, name in zip([visited, math], [f'visited_{args.mode}.txt', f'math_{args.mode}.txt']):\n        f = os.path.join(args.out, name)\n        if not os.path.exists(f):\n            open(f, 'w').write('')\n        f = open(f, 'a', encoding='utf-8')\n        for element in l:\n            f.write(element)\n            f.write('\\n')\n        f.close()\n"
  },
  {
    "path": "pix2tex/dataset/transforms.py",
    "content": "import albumentations as alb\nfrom albumentations.pytorch import ToTensorV2\n\ntrain_transform = alb.Compose(\n    [\n        alb.Compose(\n            [alb.ShiftScaleRotate(shift_limit=0, scale_limit=(-.15, 0), rotate_limit=1, border_mode=0, interpolation=3,\n                                  value=[255, 255, 255], p=1),\n             alb.GridDistortion(distort_limit=0.1, border_mode=0, interpolation=3, value=[255, 255, 255], p=.5)], p=.15),\n        # alb.InvertImg(p=.15),\n        alb.RGBShift(r_shift_limit=15, g_shift_limit=15,\n                     b_shift_limit=15, p=0.3),\n        alb.GaussNoise(10, p=.2),\n        alb.RandomBrightnessContrast(.05, (-.2, 0), True, p=0.2),\n        alb.ImageCompression(95, p=.3),\n        alb.ToGray(always_apply=True),\n        alb.Normalize((0.7931, 0.7931, 0.7931), (0.1738, 0.1738, 0.1738)),\n        # alb.Sharpen()\n        ToTensorV2(),\n    ]\n)\ntest_transform = alb.Compose(\n    [\n        alb.ToGray(always_apply=True),\n        alb.Normalize((0.7931, 0.7931, 0.7931), (0.1738, 0.1738, 0.1738)),\n        # alb.Sharpen()\n        ToTensorV2(),\n    ]\n)"
  },
  {
    "path": "pix2tex/eval.py",
    "content": "from pix2tex.dataset.dataset import Im2LatexDataset\nimport argparse\nimport logging\nimport yaml\n\nimport numpy as np\nimport torch\nfrom torchtext.data import metrics\nfrom munch import Munch\nfrom tqdm.auto import tqdm\nimport wandb\nfrom Levenshtein import distance\n\nfrom pix2tex.models import get_model, Model\nfrom pix2tex.utils import *\n\n\ndef detokenize(tokens, tokenizer):\n    toks = [tokenizer.convert_ids_to_tokens(tok) for tok in tokens]\n    for b in range(len(toks)):\n        for i in reversed(range(len(toks[b]))):\n            if toks[b][i] is None:\n                toks[b][i] = ''\n            toks[b][i] = toks[b][i].replace('Ġ', ' ').strip()\n            if toks[b][i] in (['[BOS]', '[EOS]', '[PAD]']):\n                del toks[b][i]\n    return toks\n\n\n@torch.no_grad()\ndef evaluate(model: Model, dataset: Im2LatexDataset, args: Munch, num_batches: int = None, name: str = 'test'):\n    \"\"\"evaluates the model. Returns bleu score on the dataset\n\n    Args:\n        model (torch.nn.Module): the model\n        dataset (Im2LatexDataset): test dataset\n        args (Munch): arguments\n        num_batches (int): How many batches to evaluate on. Defaults to None (all batches).\n        name (str, optional): name of the test e.g. val or test for wandb. Defaults to 'test'.\n\n    Returns:\n        Tuple[float, float, float]: BLEU score of validation set, normed edit distance, token accuracy\n    \"\"\"\n    assert len(dataset) > 0\n    device = args.device\n    log = {}\n    bleus, edit_dists, token_acc = [], [], []\n    bleu_score, edit_distance, token_accuracy = 0, 1, 0\n    pbar = tqdm(enumerate(iter(dataset)), total=len(dataset))\n    for i, (seq, im) in pbar:\n        if seq is None or im is None:\n            continue\n        #loss = decoder(tgt_seq, mask=tgt_mask, context=encoded)\n        dec = model.generate(im.to(device), temperature=args.get('temperature', .2))\n        pred = detokenize(dec, dataset.tokenizer)\n        truth = detokenize(seq['input_ids'], dataset.tokenizer)\n        bleus.append(metrics.bleu_score(pred, [alternatives(x) for x in truth]))\n        for predi, truthi in zip(token2str(dec, dataset.tokenizer), token2str(seq['input_ids'], dataset.tokenizer)):\n            ts = post_process(truthi)\n            if len(ts) > 0:\n                edit_dists.append(distance(post_process(predi), ts)/len(ts))\n        dec = dec.cpu()\n        tgt_seq = seq['input_ids'][:, 1:]\n        shape_diff = dec.shape[1]-tgt_seq.shape[1]\n        if shape_diff < 0:\n            dec = torch.nn.functional.pad(dec, (0, -shape_diff), \"constant\", args.pad_token)\n        elif shape_diff > 0:\n            tgt_seq = torch.nn.functional.pad(tgt_seq, (0, shape_diff), \"constant\", args.pad_token)\n        mask = torch.logical_or(tgt_seq != args.pad_token, dec != args.pad_token)\n        tok_acc = (dec == tgt_seq)[mask].float().mean().item()\n        token_acc.append(tok_acc)\n        pbar.set_description('BLEU: %.3f, ED: %.2e, ACC: %.3f' % (np.mean(bleus), np.mean(edit_dists), np.mean(token_acc)))\n        if num_batches is not None and i >= num_batches:\n            break\n    if len(bleus) > 0:\n        bleu_score = np.mean(bleus)\n        log[name+'/bleu'] = bleu_score\n    if len(edit_dists) > 0:\n        edit_distance = np.mean(edit_dists)\n        log[name+'/edit_distance'] = edit_distance\n    if len(token_acc) > 0:\n        token_accuracy = np.mean(token_acc)\n        log[name+'/token_acc'] = token_accuracy\n    if args.wandb:\n        # samples\n        pred = token2str(dec, dataset.tokenizer)\n        truth = token2str(seq['input_ids'], dataset.tokenizer)\n        table = wandb.Table(columns=[\"Truth\", \"Prediction\"])\n        for k in range(min([len(pred), args.test_samples])):\n            table.add_data(post_process(truth[k]), post_process(pred[k]))\n        log[name+'/examples'] = table\n        wandb.log(log)\n    else:\n        print('\\n%s\\n%s' % (truth, pred))\n        print('BLEU: %.2f' % bleu_score)\n    return bleu_score, edit_distance, token_accuracy\n\n\nif __name__ == '__main__':\n    parser = argparse.ArgumentParser(description='Test model')\n    parser.add_argument('--config', default=None, help='path to yaml config file', type=str)\n    parser.add_argument('-c', '--checkpoint', default=None, type=str, help='path to model checkpoint')\n    parser.add_argument('-d', '--data', default='dataset/data/val.pkl', type=str, help='Path to Dataset pkl file')\n    parser.add_argument('--no-cuda', action='store_true', help='Use CPU')\n    parser.add_argument('-b', '--batchsize', type=int, default=10, help='Batch size')\n    parser.add_argument('--debug', action='store_true', help='DEBUG')\n    parser.add_argument('-t', '--temperature', type=float, default=.333, help='sampling emperature')\n    parser.add_argument('-n', '--num-batches', type=int, default=None, help='how many batches to evaluate on. Defaults to None (all)')\n\n    parsed_args = parser.parse_args()\n    if parsed_args.config is None:\n        with in_model_path():\n            parsed_args.config = os.path.realpath('settings/config.yaml')\n    with open(parsed_args.config, 'r') as f:\n        params = yaml.load(f, Loader=yaml.FullLoader)\n    args = parse_args(Munch(params))\n    args.testbatchsize = parsed_args.batchsize\n    args.wandb = False\n    args.temperature = parsed_args.temperature\n    logging.getLogger().setLevel(logging.DEBUG if parsed_args.debug else logging.WARNING)\n    seed_everything(args.seed if 'seed' in args else 42)\n    model = get_model(args)\n    if parsed_args.checkpoint is None:\n        with in_model_path():\n            parsed_args.checkpoint = os.path.realpath('checkpoints/weights.pth')\n    model.load_state_dict(torch.load(parsed_args.checkpoint, args.device))\n    dataset = Im2LatexDataset().load(parsed_args.data)\n    valargs = args.copy()\n    valargs.update(batchsize=args.testbatchsize, keep_smaller_batches=True, test=True)\n    dataset.update(**valargs)\n    evaluate(model, dataset, args, num_batches=parsed_args.num_batches)\n"
  },
  {
    "path": "pix2tex/gui.py",
    "content": "from shutil import which\nimport io\nimport subprocess\nimport sys\nimport os\nimport re\nimport tempfile\nfrom PyQt6 import QtCore, QtGui\nfrom PyQt6.QtCore import Qt, pyqtSlot, pyqtSignal, QThread, QTimer, QEvent\nfrom PyQt6.QtGui import QGuiApplication\nfrom PyQt6.QtWebEngineWidgets import QWebEngineView\nfrom PyQt6.QtWidgets import QMainWindow, QApplication, QMessageBox, QVBoxLayout, QWidget, \\\n    QPushButton, QTextEdit, QFormLayout, QHBoxLayout, QDoubleSpinBox, QLabel, QRadioButton\nfrom pynput.mouse import Controller\n\nfrom PIL import ImageGrab, Image, ImageEnhance\nimport numpy as np\nfrom screeninfo import get_monitors\nfrom pix2tex import cli\nfrom pix2tex.utils import in_model_path\nfrom latex2sympy2 import latex2sympy\n\nimport pix2tex.resources.resources\n\nACCEPTED_IMAGE_SUFFIX = ['png', 'jpg', 'jpeg']\n\ndef to_sympy(latex):\n    normalized = re.sub(r'operatorname\\*{(\\w+)}', '\\g<1>', latex)\n    sympy_expr = latex2sympy(f'${normalized}$')\n    return sympy_expr\n\n\nclass WebView(QWebEngineView):\n    def __init__(self, app) -> None:\n        super().__init__()\n        self.setAcceptDrops(True)\n        self._app = app\n\n    def dragEnterEvent(self, event):\n        if event.mimeData().urls():\n            event.accept()\n        else:\n            event.ignore()\n\n    def dropEvent(self, event):\n        urls = event.mimeData().urls()\n        self._app.returnFromMimeData(urls)\n\nclass App(QMainWindow):\n    isProcessing = False\n\n    def __init__(self, args=None):\n        super().__init__()\n        self.args = args\n        self.model = cli.LatexOCR(self.args)\n        self.initUI()\n        self.snipWidget = SnipWidget(self)\n        self.show()\n\n    def initUI(self):\n        self.setWindowTitle(\"LaTeX OCR\")\n        QApplication.setWindowIcon(QtGui.QIcon(':/icons/icon.svg'))\n        self.left = 300\n        self.top = 300\n        self.width = 500\n        self.height = 300\n        self.setGeometry(self.left, self.top, self.width, self.height)\n        self.format_type = 'LaTeX-$'\n        self.raw_prediction = ''\n\n        # Create LaTeX display\n        self.webView = WebView(self)\n        self.webView.setHtml(\"\")\n        self.webView.setMinimumHeight(80)\n\n        # Create textbox\n        self.textbox = QTextEdit(self)\n        # self.textbox.textChanged.connect(self.displayPrediction)\n        self.textbox.textChanged.connect(self.onTextboxChange)\n        self.textbox.setMinimumHeight(40)\n        self.format_textbox = QTextEdit(self)\n        # self.textbox.textChanged.connect(self.displayPrediction)\n        self.format_textbox.textChanged.connect(self.onFormatTextboxChange)\n        self.format_textbox.setMinimumHeight(40)\n\n        # format types\n        format_types = QHBoxLayout()\n        self.format_label = QLabel('Format:', self)\n        self.format_type0 = QRadioButton('Raw', self)\n        self.format_type0.toggled.connect(self.onFormatChange)\n        self.format_type1 = QRadioButton('LaTeX-$', self)\n        self.format_type1.setChecked(True)\n        self.format_type1.toggled.connect(self.onFormatChange)\n        self.format_type2 = QRadioButton('LaTeX-$$', self)\n        self.format_type2.toggled.connect(self.onFormatChange)\n        self.format_type3 = QRadioButton('Sympy', self)\n        self.format_type3.toggled.connect(self.onFormatChange)\n        format_types.addWidget(self.format_label)\n        format_types.addWidget(self.format_type0)\n        format_types.addWidget(self.format_type1)\n        format_types.addWidget(self.format_type2)\n        format_types.addWidget(self.format_type3)\n\n        # error output\n        self.error = QTextEdit(self)\n        self.error.setReadOnly(True)\n        self.error.setTextColor(Qt.GlobalColor.red)\n        self.error.setMinimumHeight(12)\n\n        # Create temperature text input\n        self.tempField = QDoubleSpinBox(self)\n        self.tempField.setValue(self.args.temperature)\n        self.tempField.setRange(0, 1)\n        self.tempField.setSingleStep(0.1)\n\n        # Create snip button\n        if sys.platform == \"darwin\":\n            self.snipButton = QPushButton('Snip [Option+S]', self)\n            self.snipButton.clicked.connect(self.onClick)\n        else:\n            self.snipButton = QPushButton('Snip [Alt+S]', self)\n            self.snipButton.clicked.connect(self.onClick)\n\n        self.shortcut = QtGui.QShortcut(QtGui.QKeySequence('Alt+S'), self)\n        self.shortcut.activated.connect(self.onClick)\n\n        # Create retry button\n        self.retryButton = QPushButton('Retry', self)\n        self.retryButton.setEnabled(False)\n        self.retryButton.clicked.connect(self.returnSnip)\n\n        # Create layout\n        centralWidget = QWidget()\n        centralWidget.setMinimumWidth(200)\n        self.setCentralWidget(centralWidget)\n\n        lay = QVBoxLayout(centralWidget)\n        lay.addWidget(self.webView, stretch=4)\n        lay.addWidget(self.textbox, stretch=2)\n        lay.addLayout(format_types)\n        lay.addWidget(self.format_textbox, stretch=2)\n        lay.addWidget(self.error, stretch=1)\n        buttons = QHBoxLayout()\n        buttons.addWidget(self.snipButton)\n        buttons.addWidget(self.retryButton)\n        lay.addLayout(buttons)\n        settings = QFormLayout()\n        settings.addRow('Temperature:', self.tempField)\n        lay.addLayout(settings)\n\n        self.installEventFilter(self)\n\n    def toggleProcessing(self, value=None):\n        if value is None:\n            self.isProcessing = not self.isProcessing\n        else:\n            self.isProcessing = value\n        if self.isProcessing:\n            text = 'Interrupt'\n            func = self.interrupt\n        else:\n            if sys.platform == \"darwin\":\n                text = 'Snip [Option+S]'\n            else:\n                text = 'Snip [Alt+S]'\n            func = self.onClick\n            self.retryButton.setEnabled(True)\n        self.shortcut.setEnabled(not self.isProcessing)\n        self.snipButton.setText(text)\n        self.snipButton.clicked.disconnect()\n        self.snipButton.clicked.connect(func)\n        self.displayPrediction()\n\n    def eventFilter(self, obj, event):\n        if event.type() == QEvent.Type.KeyRelease:\n            if event.key() == Qt.Key.Key_V and event.modifiers() == Qt.KeyboardModifier.ControlModifier:\n                clipboard = QApplication.clipboard()\n                img = clipboard.image()\n                if not img.isNull():\n                    self.returnSnip(Image.fromqimage(img))\n                else:\n                    self.returnFromMimeData(clipboard.mimeData().urls())\n\n        return super().eventFilter(obj, event)\n\n    @pyqtSlot()\n    def onClick(self):\n        self.close()\n        if os.environ.get('SCREENSHOT_TOOL') == \"gnome-screenshot\":\n            self.snip_using_gnome_screenshot()\n        elif os.environ.get('SCREENSHOT_TOOL') == \"spectacle\":\n            self.snip_using_spectacle()\n        elif os.environ.get('SCREENSHOT_TOOL') == \"grim\":\n            self.snip_using_grim()\n        elif os.environ.get('SCREENSHOT_TOOL') == \"pil\":\n            self.snipWidget.snip()\n        elif which('gnome-screenshot'):\n            self.snip_using_gnome_screenshot()\n        elif which('grim') and which('slurp'):\n            self.snip_using_grim()\n        else:\n            self.snipWidget.snip()\n\n    @pyqtSlot()\n    def interrupt(self):\n        if hasattr(self, 'thread'):\n            self.thread.terminate()\n            self.thread.wait()\n            self.toggleProcessing(False)\n\n    def snip_using_gnome_screenshot(self):\n        try:\n            with tempfile.NamedTemporaryFile() as tmp:\n                subprocess.run([\"gnome-screenshot\", \"--area\", f\"--file={tmp.name}\"])\n                # Use `tmp.name` instead of `tmp.file` due to compatability issues between Pillow and tempfile\n                self.returnSnip(Image.open(tmp.name))\n        except:\n            print(f\"Failed to load saved screenshot! Did you cancel the screenshot?\")\n            print(\"If you don't have gnome-screenshot installed, please install it.\")\n            self.returnSnip()\n\n    def snip_using_spectacle(self):\n        try:\n            with tempfile.NamedTemporaryFile() as tmp:\n                subprocess.run([\"spectacle\", \"-r\", \"-b\", \"-n\", \"-o\", f\"{tmp.name}\"])\n                self.returnSnip(Image.open(tmp.name))\n        except:\n            print(f\"Failed to load saved screenshot! Did you cancel the screenshot?\")\n            print(\"If you don't have spectacle installed, please install it.\")\n            self.returnSnip()\n\n    def snip_using_grim(self):\n        try:\n            p = subprocess.run('slurp',\n                               check=True,\n                               capture_output=True,\n                               text=True)\n            geometry = p.stdout.strip()\n\n            p = subprocess.run(['grim', '-g', geometry, '-'],\n                               check=True,\n                               capture_output=True)\n            self.returnSnip(Image.open(io.BytesIO(p.stdout)))\n        except:\n            print(f\"Failed to load saved screenshot! Did you cancel the screenshot?\")\n            print(\"If you don't have slurp and grim installed, please install them.\")\n            self.returnSnip()\n\n    def returnFromMimeData(self, urls):\n        if not urls or not urls[0]:\n            return\n\n        image_url = urls[0]\n        if image_url and image_url.scheme() == 'file' and image_url.fileName().split('.')[-1] in ACCEPTED_IMAGE_SUFFIX:\n            image_path = image_url.toLocalFile()\n            return self.returnSnip(Image.open(image_path))\n\n    def returnSnip(self, img=None):\n        self.toggleProcessing(True)\n        self.retryButton.setEnabled(False)\n\n        if img:\n            width, height = img.size\n            if width <= 0 or height <= 0:\n                self.toggleProcessing(False)\n                self.retryButton.setEnabled(True)\n                self.show()\n                return\n\n            if width < 100 or height < 100: # too small size will make OCR wrong\n                scale_factor = max(100 / width, 100 / height)\n                new_width = int(width * scale_factor)\n                new_height = int(height * scale_factor)\n                img = img.resize((new_width,new_height), Image.Resampling.LANCZOS)\n                contrast = ImageEnhance.Contrast(img)\n                img = contrast.enhance(1.5)\n                sharpness = ImageEnhance.Sharpness(img)\n                img = sharpness.enhance(1.5)\n\n        self.show()\n        try:\n            self.model.args.temperature = self.tempField.value()\n            if self.model.args.temperature == 0:\n                self.model.args.temperature = 1e-8\n        except:\n            pass\n        # Run the model in a separate thread\n        self.thread = ModelThread(img=img, model=self.model)\n        self.thread.finished.connect(self.returnPrediction)\n        self.thread.finished.connect(self.thread.deleteLater)\n        self.thread.start()\n\n    def returnPrediction(self, result):\n        self.toggleProcessing(False)\n        success, prediction = result[\"success\"], result[\"prediction\"]\n\n        if success:\n            self.raw_prediction = prediction\n            self.textbox.setText(prediction)\n            self.format_textbox.setText(self.formatPrediction(prediction))\n            self.displayPrediction(prediction)\n            self.retryButton.setEnabled(True)\n        else:\n            self.webView.setHtml(\"\")\n            msg = QMessageBox()\n            msg.setWindowTitle(\" \")\n            msg.setText(\"Prediction failed.\")\n            msg.exec()\n\n    def onFormatChange(self):\n        rb = self.sender()\n\n        if rb.isChecked():\n            self.format_type = rb.text()\n            self.format_textbox.setText(self.formatPrediction(self.raw_prediction))\n\n    def formatPrediction(self, prediction, format_type=None):\n        self.error.setText(\"\")\n        prediction = prediction or self.format_textbox.toPlainText()\n\n        raw = prediction.strip('$')\n        if len(raw) == 0:\n            return ''\n\n        format_type = format_type or self.format_type\n        if format_type == \"Raw\":\n            formatted = raw\n        elif format_type == \"LaTeX-$\":\n            formatted = f\"${raw}$\"\n        elif format_type == \"LaTeX-$$\":\n            formatted = f\"$${raw}$$\"\n        elif format_type == \"MathJax\":\n            formatted = raw\n        elif format_type == \"Sympy\":\n            try:\n                formatted = str(to_sympy(raw))\n            except Exception as e:\n                print(e)\n                formatted = raw\n                self.error.setText(\"Failed to parse Sympy expr.\")\n        else:\n            return raw\n\n        return formatted\n\n    def onTextboxChange(self):\n        text = self.textbox.toPlainText()\n        new_raw_prediction = self.formatPrediction(text, \"Raw\")\n        if new_raw_prediction != self.raw_prediction:\n            self.raw_prediction = new_raw_prediction\n            self.format_textbox.setText(self.formatPrediction(self.raw_prediction))\n            self.displayPrediction()\n\n    def onFormatTextboxChange(self):\n        text = self.format_textbox.toPlainText()\n        clipboard = QApplication.clipboard()\n        clipboard.setText(text)\n\n    def displayPrediction(self, prediction=None):\n        if self.isProcessing:\n            pageSource = \"\"\"<center>\n            <img src=\"qrc:/icons/processing-icon-anim.svg\" width=\"50\", height=\"50\">\n            </center>\"\"\"\n        else:\n            if prediction is None:\n                prediction = self.textbox.toPlainText().strip('$')\n            pageSource = \"\"\"\n            <html>\n            <head><script id=\"MathJax-script\" src=\"qrc:MathJax.js\"></script>\n            <script>\n            MathJax.Hub.Config({messageStyle: 'none',tex2jax: {preview: 'none'}});\n            MathJax.Hub.Queue(\n                function () {\n                    document.getElementById(\"equation\").style.visibility = \"\";\n                }\n                );\n            </script>\n            </head> \"\"\" + \"\"\"\n            <body>\n            <div id=\"equation\" style=\"font-size:1em; visibility:hidden\">$${equation}$$</div>\n            </body>\n            </html>\n                \"\"\".format(equation=prediction)\n        self.webView.setHtml(pageSource)\n\n\nclass ModelThread(QThread):\n    finished = pyqtSignal(dict)\n\n    def __init__(self, img, model):\n        super().__init__()\n        self.img = img\n        self.model = model\n\n    def run(self):\n        try:\n            prediction = self.model(self.img)\n            # replace <, > with \\lt, \\gt so it won't be interpreted as html code\n            prediction = prediction.replace('<', '\\\\lt ').replace('>', '\\\\gt ')\n            self.finished.emit({\"success\": True, \"prediction\": prediction})\n        except Exception as e:\n            import traceback\n            traceback.print_exc()\n            self.finished.emit({\"success\": False, \"prediction\": None})\n\n\nclass SnipWidget(QMainWindow):\n    isSnipping = False\n\n    def __init__(self, parent):\n        super().__init__()\n        self.parent = parent\n\n        monitos = get_monitors()\n        bboxes = np.array([[m.x, m.y, m.width, m.height] for m in monitos])\n        x, y, _, _ = bboxes.min(0)\n        w, h = bboxes[:, [0, 2]].sum(1).max(), bboxes[:, [1, 3]].sum(1).max()\n        self.setGeometry(x, y, w-x, h-y)\n\n        self.begin = QtCore.QPoint()\n        self.end = QtCore.QPoint()\n\n        self.mouse = Controller()\n\n        # Create and start the timer\n        self.factor = QGuiApplication.primaryScreen().devicePixelRatio()\n        self.timer = QTimer(self)\n        self.timer.timeout.connect(self.update_geometry_based_on_cursor_position)\n        self.timer.start(500)\n\n    def update_geometry_based_on_cursor_position(self):\n        if not self.isSnipping:\n            return\n\n        # Update the geometry of the SnipWidget based on the current screen\n        mouse_pos = QtGui.QCursor.pos()\n        screen = QGuiApplication.screenAt(mouse_pos)\n        if screen:\n            self.factor = screen.devicePixelRatio()\n            screen_geometry = screen.geometry()\n            self.setGeometry(screen_geometry)\n\n\n    def snip(self):\n        self.isSnipping = True\n        self.setWindowFlags(QtCore.Qt.WindowType.WindowStaysOnTopHint)\n        QApplication.setOverrideCursor(QtGui.QCursor(QtCore.Qt.CursorShape.CrossCursor))\n\n        self.show()\n\n    def paintEvent(self, event):\n        if self.isSnipping:\n            brushColor = (0, 180, 255, 100)\n            opacity = 0.3\n        else:\n            brushColor = (255, 255, 255, 0)\n            opacity = 0\n\n        self.setWindowOpacity(opacity)\n        qp = QtGui.QPainter(self)\n        qp.setPen(QtGui.QPen(QtGui.QColor('black'), 2))\n        qp.setBrush(QtGui.QColor(*brushColor))\n        qp.drawRect(QtCore.QRect(self.begin, self.end))\n\n    def keyPressEvent(self, event):\n        if event.key() == QtCore.Qt.Key.Key_Escape.value:\n            QApplication.restoreOverrideCursor()\n            self.close()\n            self.parent.show()\n        event.accept()\n\n    def mousePressEvent(self, event):\n        self.startPos = self.mouse.position\n\n        self.begin = event.pos()\n        self.end = self.begin\n        self.update()\n\n    def mouseMoveEvent(self, event):\n        self.end = event.pos()\n        self.update()\n\n    def mouseReleaseEvent(self, event):\n        self.isSnipping = False\n        QApplication.restoreOverrideCursor()\n\n        startPos = self.startPos\n        endPos = self.mouse.position\n\n        x1 = int(min(startPos[0], endPos[0]))\n        y1 = int(min(startPos[1], endPos[1]))\n        x2 = int(max(startPos[0], endPos[0]))\n        y2 = int(max(startPos[1], endPos[1]))\n\n        self.repaint()\n        QApplication.processEvents()\n        try:\n            img = ImageGrab.grab(bbox=(x1, y1, x2, y2), all_screens=True)\n        except Exception as e:\n            if sys.platform == \"darwin\":\n                img = ImageGrab.grab(bbox=(x1//self.factor, y1//self.factor,\n                                           x2//self.factor, y2//self.factor), all_screens=True)\n            else:\n                raise e\n        QApplication.processEvents()\n\n        self.close()\n        self.begin = QtCore.QPoint()\n        self.end = QtCore.QPoint()\n        self.parent.returnSnip(img)\n\ndef main(arguments):\n    with in_model_path():\n        if os.name != 'nt':\n            os.environ['QTWEBENGINE_DISABLE_SANDBOX'] = '1'\n        app = QApplication(sys.argv)\n        ex = App(arguments)\n        sys.exit(app.exec())"
  },
  {
    "path": "pix2tex/model/__init__.py",
    "content": "from pix2tex.utils.utils import *\n"
  },
  {
    "path": "pix2tex/model/checkpoints/__init__.py",
    "content": "from pix2tex.utils.utils import *\n"
  },
  {
    "path": "pix2tex/model/checkpoints/get_latest_checkpoint.py",
    "content": "import requests\nimport os\nimport tqdm\nimport io\n\nurl = 'https://github.com/lukas-blecher/LaTeX-OCR/releases/latest'\n\n\ndef get_latest_tag():\n    r = requests.get(url)\n    tag = r.url.split('/')[-1]\n    if tag == 'releases':\n        return 'v0.0.1'\n    return tag\n\n\ndef download_as_bytes_with_progress(url: str, name: str = None) -> bytes:\n    # source: https://stackoverflow.com/questions/71459213/requests-tqdm-to-a-variable\n    resp = requests.get(url, stream=True, allow_redirects=True)\n    total = int(resp.headers.get('content-length', 0))\n    bio = io.BytesIO()\n    if name is None:\n        name = url\n    with tqdm.tqdm(\n        desc=name,\n        total=total,\n        unit='b',\n        unit_scale=True,\n        unit_divisor=1024,\n    ) as bar:\n        for chunk in resp.iter_content(chunk_size=65536):\n            bar.update(len(chunk))\n            bio.write(chunk)\n    return bio.getvalue()\n\n\ndef download_checkpoints():\n    tag = 'v0.0.1'  # get_latest_tag()\n    path = os.path.dirname(__file__)\n    print('download weights', tag, 'to path', path)\n    weights = 'https://github.com/lukas-blecher/LaTeX-OCR/releases/download/%s/weights.pth' % tag\n    resizer = 'https://github.com/lukas-blecher/LaTeX-OCR/releases/download/%s/image_resizer.pth' % tag\n    for url, name in zip([weights, resizer], ['weights.pth', 'image_resizer.pth']):\n        file = download_as_bytes_with_progress(url, name)\n        open(os.path.join(path, name), \"wb\").write(file)\n\n\nif __name__ == '__main__':\n    download_checkpoints()\n"
  },
  {
    "path": "pix2tex/model/dataset/tokenizer.json",
    "content": "{\"version\":\"1.0\",\"truncation\":null,\"padding\":null,\"added_tokens\":[{\"id\":0,\"special\":true,\"content\":\"[PAD]\",\"single_word\":false,\"lstrip\":false,\"rstrip\":false,\"normalized\":false},{\"id\":1,\"special\":true,\"content\":\"[BOS]\",\"single_word\":false,\"lstrip\":false,\"rstrip\":false,\"normalized\":false},{\"id\":2,\"special\":true,\"content\":\"[EOS]\",\"single_word\":false,\"lstrip\":false,\"rstrip\":false,\"normalized\":false}],\"normalizer\":null,\"pre_tokenizer\":{\"type\":\"ByteLevel\",\"add_prefix_space\":false,\"trim_offsets\":true},\"post_processor\":null,\"decoder\":null,\"model\":{\"dropout\":null,\"unk_token\":null,\"continuing_subword_prefix\":null,\"end_of_word_suffix\":null,\"fuse_unk\":false,\"vocab\":{\"[PAD]\":0,\"[BOS]\":1,\"[EOS]\":2,\"!\":3,\"\\\"\":4,\"#\":5,\"$\":6,\"&\":7,\"'\":8,\"(\":9,\")\":10,\"*\":11,\"+\":12,\",\":13,\"-\":14,\".\":15,\"/\":16,\"0\":17,\"1\":18,\"2\":19,\"3\":20,\"4\":21,\"5\":22,\"6\":23,\"7\":24,\"8\":25,\"9\":26,\":\":27,\";\":28,\"<\":29,\"=\":30,\">\":31,\"?\":32,\"@\":33,\"A\":34,\"B\":35,\"C\":36,\"D\":37,\"E\":38,\"F\":39,\"G\":40,\"H\":41,\"I\":42,\"J\":43,\"K\":44,\"L\":45,\"M\":46,\"N\":47,\"O\":48,\"P\":49,\"Q\":50,\"R\":51,\"S\":52,\"T\":53,\"U\":54,\"V\":55,\"W\":56,\"X\":57,\"Y\":58,\"Z\":59,\"[\":60,\"\\\\\":61,\"]\":62,\"^\":63,\"_\":64,\"`\":65,\"a\":66,\"b\":67,\"c\":68,\"d\":69,\"e\":70,\"f\":71,\"g\":72,\"h\":73,\"i\":74,\"j\":75,\"k\":76,\"l\":77,\"m\":78,\"n\":79,\"o\":80,\"p\":81,\"q\":82,\"r\":83,\"s\":84,\"t\":85,\"u\":86,\"v\":87,\"w\":88,\"x\":89,\"y\":90,\"z\":91,\"{\":92,\"|\":93,\"}\":94,\"~\":95,\"½\":96,\"¿\":97,\"ï\":98,\"Ċ\":99,\"č\":100,\"Ġ\":101,\"Ġ}\":102,\"Ġ{\":103,\"Ġ\\\\\":104,\"Ġ_\":105,\"Ġ^\":106,\"Ġ2\":107,\"Ġ)\":108,\"Ġ(\":109,\"Ġ1\":110,\"ra\":111,\"Ġ=\":112,\"Ġ-\":113,\"čĊ\":114,\"Ġ,\":115,\"fra\":116,\"frac\":117,\"Ġ+\":118,\"ma\":119,\"ta\":120,\"ig\":121,\"Ġ0\":122,\"ar\":123,\"al\":124,\"le\":125,\"Ġi\":126,\"th\":127,\"Ġx\":128,\"ft\":129,\"igh\":130,\"me\":131,\"righ\":132,\"math\":133,\"Ġn\":134,\"Ġ.\":135,\"Ġ\\\\,\":136,\"in\":137,\"ph\":138,\"Ġd\":139,\"left\":140,\"Ġa\":141,\"right\":142,\"am\":143,\"eta\":144,\"ti\":145,\"Ġm\":146,\"mu\":147,\"Ġ3\":148,\"Ġk\":149,\"Ġt\":150,\"Ġe\":151,\"Ġr\":152,\"Ġ&\":153,\"Ġc\":154,\"Ġp\":155,\"si\":156,\"rm\":157,\"de\":158,\"mathrm\":159,\"Ġ4\":160,\"Ġs\":161,\"pr\":162,\"Ġ~\":163,\"pha\":164,\"Ġl\":165,\"alpha\":166,\"da\":167,\"ĠA\":168,\"Ġ\\\\;\":169,\"ot\":170,\"pi\":171,\"par\":172,\"tial\":173,\"partial\":174,\"ime\":175,\"prime\":176,\"psi\":177,\"dot\":178,\"Ġj\":179,\"Ġb\":180,\"Ġf\":181,\"lta\":182,\"Ġ|\":183,\"amma\":184,\"bda\":185,\"ambda\":186,\"phi\":187,\"Ġq\":188,\"bf\":189,\"Ġg\":190,\"nu\":191,\"Ġz\":192,\"ray\":193,\"array\":194,\"ĠM\":195,\"ĠT\":196,\"Ġy\":197,\"cal\":198,\"bar\":199,\"ĠN\":200,\"igma\":201,\"ĠR\":202,\"rt\":203,\"lambda\":204,\"int\":205,\"ĠB\":206,\"ve\":207,\"ng\":208,\"qu\":209,\"ĠL\":210,\"Ġ/\":211,\"lo\":212,\"beta\":213,\"ngle\":214,\"Ġu\":215,\"delta\":216,\"sq\":217,\"sqrt\":218,\"theta\":219,\"Ġ\\\\\\\\\":220,\"gamma\":221,\"Ġ]\":222,\"sigma\":223,\"ga\":224,\"mega\":225,\"ĠD\":226,\"ĠF\":227,\"Ġ[\":228,\"ĠS\":229,\"mathbf\":230,\"su\":231,\"ĠP\":232,\"lon\":233,\"Ġv\":234,\"sum\":235,\"psilon\":236,\"ĠV\":237,\"ĠC\":238,\"cdot\":239,\"epsilon\":240,\"at\":241,\"hat\":242,\"ad\":243,\"quad\":244,\"Ġh\":245,\"ho\":246,\"rho\":247,\"hi\":248,\"to\":249,\"ĠE\":250,\"la\":251,\"ĠH\":252,\"lde\":253,\"tilde\":254,\"ĠQ\":255,\"Ġ5\":256,\"var\":257,\"ĠX\":258,\"ĠG\":259,\"be\":260,\"nd\":261,\"omega\":262,\"end\":263,\"gin\":264,\"begin\":265,\"tau\":266,\"Ġ6\":267,\"na\":268,\"vec\":269,\"ĠI\":270,\"Ġo\":271,\"rangle\":272,\"Ġ*\":273,\"De\":274,\"Delta\":275,\"Gamma\":276,\"pe\":277,\"fty\":278,\"infty\":279,\"ĠK\":280,\"xi\":281,\"Ġ8\":282,\"ow\":283,\"ĠJ\":284,\"ĠU\":285,\"row\":286,\"tar\":287,\"ge\":288,\"Phi\":289,\"ap\":290,\"ĠW\":291,\"co\":292,\"mes\":293,\"times\":294,\"sin\":295,\"ĠZ\":296,\"langle\":297,\"ope\":298,\"rna\":299,\"rato\":300,\"operato\":301,\"rname\":302,\"operatorname\":303,\"tarrow\":304,\"lin\":305,\"line\":306,\"varphi\":307,\"pm\":308,\"rline\":309,\"Lambda\":310,\"Ġ\\\\!\":311,\"Ġ;\":312,\"dots\":313,\"cos\":314,\"Ġw\":315,\"rightarrow\":316,\"big\":317,\"chi\":318,\"ove\":319,\"Ġ\\\\}\":320,\"overline\":321,\"Ġ7\":322,\"ex\":323,\"pa\":324,\"st\":325,\"pro\":326,\"qquad\":327,\"iv\":328,\"equ\":329,\"equiv\":330,\"ĠO\":331,\"ln\":332,\"Omega\":333,\"ll\":334,\"Ġ9\":335,\"kap\":336,\"kappa\":337,\"Big\":338,\"Ġ\\\\{\":339,\"dag\":340,\"ĠY\":341,\"\\\\{\":342,\"varepsilon\":343,\"cdots\":344,\"Ġ:\":345,\"mathcal\":346,\"Psi\":347,\"Ġ>\":348,\"bo\":349,\"bol\":350,\"Ġ<\":351,\"ger\":352,\"dagger\":353,\"ldots\":354,\"ell\":355,\"bla\":356,\"nabla\":357,\"exp\":358,\"yle\":359,\"style\":360,\"zeta\":361,\"Sigma\":362,\"wi\":363,\"wide\":364,\"sim\":365,\"leq\":366,\"Ġ!\":367,\"bigg\":368,\"mathb\":369,\"mathbb\":370,\"Ġ\\\\:\":371,\"hbar\":372,\"otimes\":373,\"bold\":374,\"\\\\}\":375,\"mi\":376,\"prox\":377,\"approx\":378,\"Pi\":379,\"log\":380,\"mid\":381,\"sp\":382,\"vert\":383,\"di\":384,\"prod\":385,\"per\":386,\"perp\":387,\"ystyle\":388,\"laystyle\":389,\"splaystyle\":390,\"displaystyle\":391,\"meq\":392,\"simeq\":393,\"ed\":394,\"wed\":395,\"wedge\":396,\"widetilde\":397,\"sy\":398,\"sym\":399,\"symbol\":400,\"boldsymbol\":401,\"ck\":402,\"tex\":403,\"text\":404,\"ri\":405,\"Th\":406,\"Theta\":407,\"geq\":408,\"se\":409,\"eq\":410,\"nde\":411,\"unde\":412,\"tan\":413,\"sc\":414,\"ast\":415,\"rc\":416,\"set\":417,\"pt\":418,\"widehat\":419,\"ci\":420,\"circ\":421,\"re\":422,\"ript\":423,\"script\":424,\"underline\":425,\"Ġ\\\\|\":426,\"rel\":427,\"neq\":428,\"sta\":429,\"stack\":430,\"stackrel\":431,\"sinh\":432,\"op\":433,\"us\":434,\"cosh\":435,\"Bigg\":436,\"ce\":437,\"textstyle\":438,\"star\":439,\"not\":440,\"frak\":441,\"mathfrak\":442,\"mp\":443,\"biggr\":444,\"lus\":445,\"oplus\":446,\"vartheta\":447,\"biggl\":448,\"Bigr\":449,\"bra\":450,\"Bigl\":451,\"fo\":452,\"sf\":453,\"sub\":454,\"subset\":455,\"ngrightarrow\":456,\"ec\":457,\"boldmath\":458,\"rall\":459,\"forall\":460,\"scriptstyle\":461,\"ect\":462,\"parrow\":463,\"uparrow\":464,\"bj\":465,\"bject\":466,\"pto\":467,\"propto\":468,\"Ġ'\":469,\"longrightarrow\":470,\"bigl\":471,\"bigr\":472,\"oint\":473,\"ps\":474,\"maps\":475,\"mapsto\":476,\"om\":477,\"lle\":478,\"\\\\|\":479,\"ddot\":480,\"cu\":481,\"bin\":482,\"binom\":483,\"vdots\":484,\"angle\":485,\"leftrightarrow\":486,\"over\":487,\"or\":488,\"mathsf\":489,\"cup\":490,\"brace\":491,\"no\":492,\"arc\":493,\"flo\":494,\"floor\":495,\"tri\":496,\"triangle\":497,\"Xi\":498,\"cot\":499,\"bot\":500,\"cong\":501,\"it\":502,\"mbe\":503,\"numbe\":504,\"nonumbe\":505,\"nonumber\":506,\"cap\":507,\"Righ\":508,\"Rightarrow\":509,\"ze\":510,\"size\":511,\"textrm\":512,\"ne\":513,\"arctan\":514,\"ralle\":515,\"paralle\":516,\"parallel\":517,\"cfrac\":518,\"Ġ--\":519,\"object\":520,\"ĠObject\":521,\"brack\":522,\"sh\":523,\"arrow\":524,\"own\":525,\"varrho\":526,\"subseteq\":527,\"rbrace\":528,\"textbf\":529,\"imath\":530,\"od\":531,\"down\":532,\"he\":533,\"land\":534,\"scriptscriptstyle\":535,\"scriptsize\":536,\"che\":537,\"check\":538,\"sla\":539,\"overrightarrow\":540,\"downarrow\":541,\"Biggl\":542,\"gg\":543,\"nto\":544,\"phanto\":545,\"phantom\":546,\"exi\":547,\"hline\":548,\"sts\":549,\"exists\":550,\"Biggr\":551,\"bu\":552,\"rfloor\":553,\"ddots\":554,\"io\":555,\"iota\":556,\"llet\":557,\"bullet\":558,\"colon\":559,\"inus\":560,\"Upsilon\":561,\"lfloor\":562,\"lbrack\":563,\"underbrace\":564,\"neg\":565,\"Im\":566,\"mathit\":567,\"tin\":568,\"tiny\":569,\"jmath\":570,\"lef\":571,\"slash\":572,\"vee\":573,\"minus\":574,\"setminus\":575,\"Re\":576,\"iint\":577,\"leftarrow\":578,\"Ve\":579,\"Vert\":580,\"atop\":581,\"sup\":582,\"bigcup\":583,\"wp\":584,\"dim\":585,\"sec\":586,\"supset\":587,\"Lo\":588,\"lor\":589,\"pmod\":590,\"mod\":591,\"bigoplus\":592,\"il\":593,\"bmod\":594,\"coth\":595,\"Le\":596,\"ftrightarrow\":597,\"Leftrightarrow\":598,\"ngleftrightarrow\":599,\"sma\":600,\"upsilon\":601,\"\\\\,\":602,\"csc\":603,\"eph\":604,\"aleph\":605,\"bigwedge\":606,\"arcsin\":607,\"small\":608,\"odot\":609,\"overset\":610,\"rbrack\":611,\"mit\":612,\"lbrace\":613,\"li\":614,\"arp\":615,\"arge\":616,\"Ġ\\\\#\":617,\"bre\":618,\"textsf\":619,\"Longrightarrow\":620,\"breve\":621,\"em\":622,\"yset\":623,\"varpi\":624,\"ptyset\":625,\"emptyset\":626,\"ff\":627,\"iff\":628,\"nt\":629,\"er\":630,\"lap\":631,\"lnot\":632,\"dash\":633,\"under\":634,\"slant\":635,\"arg\":636,\"underset\":637,\"Bo\":638,\"Box\":639,\"Ġ\\\"\":640,\"spa\":641,\"space\":642,\"deg\":643,\"iiint\":644,\"oo\":645,\"otnot\":646,\"footnot\":647,\"arpoo\":648,\"footnote\":649,\"rlap\":650,\"es\":651,\"imp\":652,\"sb\":653,\"te\":654,\"bigtriangle\":655,\"lies\":656,\"implies\":657,\"\\\\;\":658,\"ker\":659,\"footnotesize\":660,\"tharpoo\":661,\"up\":662,\"acu\":663,\"acute\":664,\"longleftrightarrow\":665,\"eil\":666,\"lce\":667,\"rceil\":668,\"lceil\":669,\"vphantom\":670,\"en\":671,\"thin\":672,\"ack\":673,\"back\":674,\"tt\":675,\"backslash\":676,\"xrightarrow\":677,\"vdash\":678,\"top\":679,\"rightharpoo\":680,\"varsigma\":681,\"Longleftrightarrow\":682,\"mathop\":683,\"large\":684,\"bigcap\":685,\"leqslant\":686,\"Ġ`\":687,\"overbrace\":688,\"nup\":689,\"rightharpoonup\":690,\"bigotimes\":691,\"triangleq\":692,\"Large\":693,\"ru\":694,\"null\":695,\"bigtriangleup\":696,\"varno\":697,\"thing\":698,\"varnothing\":699,\"doteq\":700,\"Ġ\\\\_\":701,\"overleftarrow\":702,\"hf\":703,\"bigstar\":704,\"enspace\":705,\"\\\\!\":706,\"stru\":707,\"strut\":708,\"ominus\":709,\"div\":710,\"ond\":711,\"amond\":712,\"ddagger\":713,\"Ġcm\":714,\"ni\":715,\"sk\":716,\"diamond\":717,\"rVert\":718,\"prot\":719,\"protect\":720,\"ip\":721,\"varDelta\":722,\"notin\":723,\"skip\":724,\"lVert\":725,\"Ġ\\\\/\":726,\"dotsc\":727,\"ill\":728,\"ule\":729,\"\\\\:\":730,\"hfill\":731,\"krightarrow\":732,\"okrightarrow\":733,\"hookrightarrow\":734,\"sharp\":735,\"Vdash\":736,\"bigvee\":737,\"subsetneq\":738,\"supseteq\":739,\"Ġ?\":740,\"ngmapsto\":741,\"longmapsto\":742,\"cdotp\":743,\"geqslant\":744,\"bigtriangledown\":745,\"dotsb\":746,\"lim\":747,\"fl\":748,\"triangleleft\":749,\"flat\":750,\"sl\":751,\"box\":752,\"Ġ---\":753,\"sqcup\":754,\"jlim\":755,\"ls\":756,\"mo\":757,\"dels\":758,\"ref\":759,\"models\":760,\"tag\":761,\"Pr\":762,\"mal\":763,\"ou\":764,\"llap\":765,\"thinspace\":766,\"enskip\":767,\"Vec\":768,\"ebox\":769,\"kebox\":770,\"nor\":771,\"rd\":772,\"squ\":773,\"vline\":774,\"¿½\":775,\"ï¿½\":776,\"Ġï¿½\":777,\"makebox\":778,\"surd\":779,\"normal\":780,\"are\":781,\"square\":782,\"pou\":783,\"mathrel\":784,\"varOmega\":785,\"nds\":786,\"smallsetminus\":787,\"pounds\":788,\"ns\":789,\"ss\":790,\"smi\":791,\"mathor\":792,\"rightlef\":793,\"textup\":794,\"tharpoons\":795,\"smile\":796,\"mathord\":797,\"rightleftharpoons\":798,\"cc\":799,\"Ġ\\\\-\":800,\"succ\":801,\"ftarrow\":802,\"rtimes\":803,\"det\":804,\"prec\":805,\"texttt\":806,\"oslash\":807,\"Ġ\\\\&\":808,\"arrowvert\":809,\"lg\":810,\"Ġmm\":811,\"inter\":812,\"ngleftarrow\":813,\"hfil\":814,\"intercal\":815,\"frow\":816,\"Ġ\\\\*\":817,\"frown\":818,\"mpe\":819,\"Ġpt\":820,\"varpro\":821,\"searrow\":822,\"bumpe\":823,\"varprojlim\":824,\"bumpeq\":825,\"Down\":826,\"SS\":827,\"cd\":828,\"ere\":829,\"gcd\":830,\"ohe\":831,\"tw\":832,\"leme\":833,\"there\":834,\"injlim\":835,\"tit\":836,\"adrightarrow\":837,\"varinjlim\":838,\"comp\":839,\"textit\":840,\"fore\":841,\"overleftrightarrow\":842,\"Downarrow\":843,\"oheadrightarrow\":844,\"twoheadrightarrow\":845,\"lement\":846,\"therefore\":847,\"complement\":848,\"ca\":849,\"thi\":850,\"longleftarrow\":851,\"bigm\":852,\"triangleright\":853,\"nearrow\":854,\"\\\\#\":855,\"nce\":856,\"ral\":857,\"cance\":858,\"thick\":859,\"cancel\":860,\"Uparrow\":861,\"nat\":862,\"ural\":863,\"mathstrut\":864,\"suit\":865,\"bigcirc\":866,\"smallskip\":867,\"diamondsuit\":868,\"normalsize\":869,\"natural\":870,\"gt\":871,\"less\":872,\"mathtt\":873,\"bigsqcup\":874,\"thicksim\":875,\"lesssim\":876,\"bow\":877,\"llde\":878,\"tie\":879,\"nullde\":880,\"miter\":881,\"limiter\":882,\"kern\":883,\"bowtie\":884,\"nulldelimiter\":885,\"nulldelimiterspace\":886,\"Da\":887,\"hphantom\":888,\"ro\":889,\"vDa\":890,\"barwedge\":891,\"beth\":892,\"eqno\":893,\"vDash\":894,\"AR\":895,\"Di\":896,\"GE\":897,\"LAR\":898,\"dskip\":899,\"ts\":900,\"Ġ@\":901,\"medskip\":902,\"ndown\":903,\"gets\":904,\"coprod\":905,\"dotsm\":906,\"smash\":907,\"rightharpoondown\":908,\"Diamond\":909,\"LARGE\":910,\"nrightarrow\":911,\"nleftrightarrow\":912,\"rsim\":913,\"rne\":914,\"warrow\":915,\"mathc\":916,\"corne\":917,\"textnormal\":918,\"preceq\":919,\"gtrsim\":920,\"roup\":921,\"corner\":922,\"Ġ\\\\[\":923,\"Ġ\\\\]\":924,\"mathope\":925,\"lefteq\":926,\"lose\":927,\"varkappa\":928,\"Bigm\":929,\"Biggm\":930,\"mathclose\":931,\"mathopen\":932,\"lefteqn\":933,\"Bar\":934,\"Ti\":935,\"lr\":936,\"swarrow\":937,\"uge\":938,\"vru\":939,\"xleftarrow\":940,\"mathnormal\":941,\"rightrightarrow\":942,\"rightleftarrow\":943,\"sqsubseteq\":944,\"succeq\":945,\"Tilde\":946,\"lrcorner\":947,\"vrule\":948,\"rightrightarrows\":949,\"rightleftarrows\":950,\"AA\":951,\"Hat\":952,\"ak\":953,\"ble\":954,\"dou\":955,\"hss\":956,\"min\":957,\"nright\":958,\"nleftarrow\":959,\"uph\":960,\"wbre\":961,\"allo\":962,\"side\":963,\"sqcap\":964,\"hom\":965,\"bigodot\":966,\"arpoonright\":967,\"blebarwedge\":968,\"doublebarwedge\":969,\"upharpoonright\":970,\"wbreak\":971,\"allowbreak\":972,\"sideset\":973,\"--\":974,\"Huge\":975,\"amal\":976,\"do\":977,\"fbox\":978,\"group\":979,\"hskip\":980,\"lse\":981,\"pprox\":982,\"rk\":983,\"rgroup\":984,\"rapprox\":985,\"Ġin\":986,\"arrayco\":987,\"sure\":988,\"varlim\":989,\"pmb\":990,\"cite\":991,\"substack\":992,\"leftrightarrows\":993,\"supsetneq\":994,\"Longleftarrow\":995,\"updownarrow\":996,\"ensure\":997,\"lgroup\":998,\"gtrapprox\":999,\"amalg\":1000,\"lsep\":1001,\"arraycolsep\":1002,\"ensuremath\":1003,\"asym\":1004,\"ch\":1005,\"dig\":1006,\"ddag\":1007,\"ew\":1008,\"gra\":1009,\"gime\":1010,\"jo\":1011,\"ltimes\":1012,\"nleq\":1013,\"tch\":1014,\"frame\":1015,\"max\":1016,\"thde\":1017,\"inrel\":1018,\"ver\":1019,\"withde\":1020,\"ointop\":1021,\"notag\":1022,\"smallint\":1023,\"skew\":1024,\"lims\":1025,\"asymp\":1026,\"digamma\":1027,\"grave\":1028,\"gimel\":1029,\"joinrel\":1030,\"framebox\":1031,\"withdelims\":1032,\"Ar\":1033,\"Rrightarrow\":1034,\"ae\":1035,\"ag\":1036,\"fill\":1037,\"hspace\":1038,\"huge\":1039,\"lq\":1040,\"nwarrow\":1041,\"wline\":1042,\"Ġ14\":1043,\"mark\":1044,\"led\":1045,\"inf\":1046,\"inde\":1047,\"Ġex\":1048,\"pitch\":1049,\"dotsi\":1050,\"intop\":1051,\"rowvert\":1052,\"llcorner\":1053,\"black\":1054,\"leqq\":1055,\"biggm\":1056,\"approxeq\":1057,\"diag\":1058,\"textsc\":1059,\"textsl\":1060,\"circled\":1061,\"fork\":1062,\"cur\":1063,\"newline\":1064,\"negthick\":1065,\"atopwithdelims\":1066,\"Leftarrow\":1067,\"footnotemark\":1068,\"uplus\":1069,\"subsetneqq\":1070,\"---\":1071,\"varlimsup\":1072,\"varliminf\":1073,\"verb\":1074,\"Arrowvert\":1075,\"pitchfork\":1076,\"blacksquare\":1077,\"diagup\":1078,\"negthickspace\":1079,\"23\":1080,\"25\":1081,\"\\\\-\":1082,\"\\\\/\":1083,\"ape\":1084,\"ckap\":1085,\"dddot\":1086,\"erline\":1087,\"ever\":1088,\"ij\":1089,\"ice\":1090,\"ly\":1091,\"md\":1092,\"nda\":1093,\"nnu\":1094,\"nmid\":1095,\"nRightarrow\":1096,\"nVdash\":1097,\"of\":1098,\"off\":1099,\"sho\":1100,\"spe\":1101,\"wr\":1102,\"ymath\":1103,\"Ġ#\":1104,\"Ġ\\\\'\":1105,\"Ġ\\\\^\":1106,\"Ġ10\":1107,\"Ġ15\":1108,\"mannu\":1109,\"igarrow\":1110,\"fter\":1111,\"meral\":1112,\"leftrightharpoo\":1113,\"rightsqu\":1114,\"def\":1115,\"arrayst\":1116,\"rtmid\":1117,\"interline\":1118,\"vearrow\":1119,\"ngeq\":1120,\"hoice\":1121,\"lax\":1122,\"varGamma\":1123,\"varpropto\":1124,\"vartriangle\":1125,\"varUpsilon\":1126,\"biguplus\":1127,\"expa\":1128,\"Ġ<$\":1129,\"mathbin\":1130,\"perca\":1131,\"textcircled\":1132,\"textmd\":1133,\"scsh\":1134,\"cial\":1135,\"retch\":1136,\"relax\":1137,\"overwithdelims\":1138,\"noinde\":1139,\"owns\":1140,\"veebar\":1141,\"underbar\":1142,\"underrightarrow\":1143,\"upperca\":1144,\"backsimeq\":1145,\"trianglelefteq\":1146,\"boxtimes\":1147,\"boxed\":1148,\"preccur\":1149,\"thickap\":1150,\"root\":1151,\"romannu\":1152,\"mathchoice\":1153,\"index\":1154,\"circledcirc\":1155,\"curvearrow\":1156,\"everymath\":1157,\"lyeq\":1158,\"ndafter\":1159,\"offinterline\":1160,\"shortmid\":1161,\"special\":1162,\"leftrightharpoons\":1163,\"rightsquigarrow\":1164,\"arraystretch\":1165,\"expandafter\":1166,\"scshape\":1167,\"noindent\":1168,\"uppercase\":1169,\"preccurlyeq\":1170,\"thickapprox\":1171,\"romannumeral\":1172,\"curvearrowright\":1173,\"offinterlineskip\":1174},\"merges\":[\"Ġ }\",\"Ġ {\",\"Ġ \\\\\",\"Ġ _\",\"Ġ ^\",\"Ġ 2\",\"Ġ )\",\"Ġ (\",\"Ġ 1\",\"r a\",\"Ġ =\",\"Ġ -\",\"č Ċ\",\"Ġ ,\",\"f ra\",\"fra c\",\"Ġ +\",\"m a\",\"t a\",\"i g\",\"Ġ 0\",\"a r\",\"a l\",\"l e\",\"Ġ i\",\"t h\",\"Ġ x\",\"f t\",\"ig h\",\"m e\",\"r igh\",\"ma th\",\"Ġ n\",\"Ġ .\",\"Ġ\\\\ ,\",\"i n\",\"p h\",\"Ġ d\",\"le ft\",\"Ġ a\",\"righ t\",\"a m\",\"e ta\",\"t i\",\"Ġ m\",\"m u\",\"Ġ 3\",\"Ġ k\",\"Ġ t\",\"Ġ e\",\"Ġ r\",\"Ġ &\",\"Ġ c\",\"Ġ p\",\"s i\",\"r m\",\"d e\",\"math rm\",\"Ġ 4\",\"Ġ s\",\"p r\",\"Ġ ~\",\"ph a\",\"Ġ l\",\"al pha\",\"d a\",\"Ġ A\",\"Ġ\\\\ ;\",\"o t\",\"p i\",\"p ar\",\"ti al\",\"par tial\",\"i me\",\"pr ime\",\"p si\",\"d ot\",\"Ġ j\",\"Ġ b\",\"Ġ f\",\"l ta\",\"Ġ |\",\"am ma\",\"b da\",\"am bda\",\"ph i\",\"Ġ q\",\"b f\",\"Ġ g\",\"n u\",\"Ġ z\",\"ra y\",\"ar ray\",\"Ġ M\",\"Ġ T\",\"Ġ y\",\"c al\",\"b ar\",\"Ġ N\",\"ig ma\",\"Ġ R\",\"r t\",\"l ambda\",\"in t\",\"Ġ B\",\"v e\",\"n g\",\"q u\",\"Ġ L\",\"Ġ /\",\"l o\",\"b eta\",\"ng le\",\"Ġ u\",\"de lta\",\"s q\",\"sq rt\",\"th eta\",\"Ġ\\\\ \\\\\",\"g amma\",\"Ġ ]\",\"s igma\",\"g a\",\"me ga\",\"Ġ D\",\"Ġ F\",\"Ġ [\",\"Ġ S\",\"math bf\",\"s u\",\"Ġ P\",\"lo n\",\"Ġ v\",\"su m\",\"psi lon\",\"Ġ V\",\"Ġ C\",\"c dot\",\"e psilon\",\"a t\",\"h at\",\"a d\",\"qu ad\",\"Ġ h\",\"h o\",\"r ho\",\"h i\",\"t o\",\"Ġ E\",\"l a\",\"Ġ H\",\"l de\",\"ti lde\",\"Ġ Q\",\"Ġ 5\",\"v ar\",\"Ġ X\",\"Ġ G\",\"b e\",\"n d\",\"o mega\",\"e nd\",\"g in\",\"be gin\",\"ta u\",\"Ġ 6\",\"n a\",\"ve c\",\"Ġ I\",\"Ġ o\",\"ra ngle\",\"Ġ *\",\"D e\",\"De lta\",\"G amma\",\"p e\",\"ft y\",\"in fty\",\"Ġ K\",\"x i\",\"Ġ 8\",\"o w\",\"Ġ J\",\"Ġ U\",\"r ow\",\"ta r\",\"g e\",\"P hi\",\"a p\",\"Ġ W\",\"c o\",\"me s\",\"ti mes\",\"s in\",\"Ġ Z\",\"la ngle\",\"o pe\",\"r na\",\"ra to\",\"ope rato\",\"rna me\",\"operato rname\",\"tar row\",\"l in\",\"lin e\",\"var phi\",\"p m\",\"r line\",\"L ambda\",\"Ġ\\\\ !\",\"Ġ ;\",\"dot s\",\"co s\",\"Ġ w\",\"righ tarrow\",\"b ig\",\"c hi\",\"o ve\",\"Ġ\\\\ }\",\"ove rline\",\"Ġ 7\",\"e x\",\"p a\",\"s t\",\"pr o\",\"q quad\",\"i v\",\"e qu\",\"equ iv\",\"Ġ O\",\"l n\",\"O mega\",\"l l\",\"Ġ 9\",\"k ap\",\"kap pa\",\"B ig\",\"Ġ\\\\ {\",\"da g\",\"Ġ Y\",\"\\\\ {\",\"var epsilon\",\"cdot s\",\"Ġ :\",\"math cal\",\"P si\",\"Ġ >\",\"b o\",\"bo l\",\"Ġ <\",\"ge r\",\"dag ger\",\"l dots\",\"e ll\",\"b la\",\"na bla\",\"ex p\",\"y le\",\"st yle\",\"z eta\",\"S igma\",\"w i\",\"wi de\",\"si m\",\"le q\",\"Ġ !\",\"big g\",\"math b\",\"mathb b\",\"Ġ\\\\ :\",\"h bar\",\"o times\",\"bol d\",\"\\\\ }\",\"m i\",\"pro x\",\"ap prox\",\"P i\",\"lo g\",\"mi d\",\"s p\",\"ve rt\",\"d i\",\"pro d\",\"pe r\",\"per p\",\"y style\",\"la ystyle\",\"sp laystyle\",\"di splaystyle\",\"me q\",\"si meq\",\"e d\",\"w ed\",\"wed ge\",\"wide tilde\",\"s y\",\"sy m\",\"sym bol\",\"bold symbol\",\"c k\",\"t ex\",\"tex t\",\"r i\",\"T h\",\"Th eta\",\"ge q\",\"s e\",\"e q\",\"n de\",\"u nde\",\"ta n\",\"s c\",\"a st\",\"r c\",\"se t\",\"p t\",\"wide hat\",\"c i\",\"ci rc\",\"r e\",\"ri pt\",\"sc ript\",\"unde rline\",\"Ġ\\\\ |\",\"re l\",\"n eq\",\"s ta\",\"sta ck\",\"stack rel\",\"sin h\",\"o p\",\"u s\",\"cos h\",\"Big g\",\"c e\",\"text style\",\"s tar\",\"n ot\",\"fra k\",\"math frak\",\"m p\",\"bigg r\",\"l us\",\"op lus\",\"var theta\",\"bigg l\",\"Big r\",\"b ra\",\"Big l\",\"f o\",\"s f\",\"su b\",\"sub set\",\"ng rightarrow\",\"e c\",\"bold math\",\"ra ll\",\"fo rall\",\"script style\",\"ec t\",\"par row\",\"u parrow\",\"b j\",\"bj ect\",\"p to\",\"pro pto\",\"Ġ '\",\"lo ngrightarrow\",\"big l\",\"big r\",\"o int\",\"p s\",\"ma ps\",\"maps to\",\"o m\",\"l le\",\"\\\\ |\",\"d dot\",\"c u\",\"b in\",\"bin om\",\"v dots\",\"a ngle\",\"left rightarrow\",\"ove r\",\"o r\",\"math sf\",\"cu p\",\"bra ce\",\"n o\",\"ar c\",\"f lo\",\"flo or\",\"t ri\",\"tri angle\",\"X i\",\"c ot\",\"b ot\",\"co ng\",\"i t\",\"m be\",\"nu mbe\",\"no numbe\",\"nonumbe r\",\"c ap\",\"R igh\",\"Righ tarrow\",\"z e\",\"si ze\",\"text rm\",\"n e\",\"arc tan\",\"ra lle\",\"pa ralle\",\"paralle l\",\"c frac\",\"Ġ- -\",\"o bject\",\"ĠO bject\",\"bra ck\",\"s h\",\"ar row\",\"ow n\",\"var rho\",\"subset eq\",\"r brace\",\"text bf\",\"i math\",\"o d\",\"d own\",\"h e\",\"la nd\",\"script scriptstyle\",\"script size\",\"c he\",\"che ck\",\"s la\",\"over rightarrow\",\"down arrow\",\"Bigg l\",\"g g\",\"n to\",\"pha nto\",\"phanto m\",\"e xi\",\"h line\",\"st s\",\"exi sts\",\"Bigg r\",\"b u\",\"r floor\",\"d dots\",\"i o\",\"io ta\",\"lle t\",\"bu llet\",\"co lon\",\"in us\",\"U psilon\",\"l floor\",\"l brack\",\"unde rbrace\",\"ne g\",\"I m\",\"math it\",\"t in\",\"tin y\",\"j math\",\"le f\",\"sla sh\",\"ve e\",\"m inus\",\"set minus\",\"R e\",\"i int\",\"lef tarrow\",\"V e\",\"Ve rt\",\"at op\",\"su p\",\"big cup\",\"w p\",\"di m\",\"se c\",\"sup set\",\"L o\",\"lo r\",\"pm od\",\"m od\",\"big oplus\",\"i l\",\"b mod\",\"co th\",\"L e\",\"ft rightarrow\",\"Le ftrightarrow\",\"ng leftrightarrow\",\"s ma\",\"u psilon\",\"\\\\ ,\",\"c sc\",\"e ph\",\"al eph\",\"big wedge\",\"arc sin\",\"sma ll\",\"o dot\",\"over set\",\"r brack\",\"mi t\",\"l brace\",\"l i\",\"ar p\",\"ar ge\",\"Ġ\\\\ #\",\"b re\",\"text sf\",\"Lo ngrightarrow\",\"bre ve\",\"e m\",\"y set\",\"var pi\",\"pt yset\",\"em ptyset\",\"f f\",\"i ff\",\"n t\",\"e r\",\"la p\",\"ln ot\",\"da sh\",\"unde r\",\"sla nt\",\"ar g\",\"under set\",\"B o\",\"Bo x\",\"Ġ \\\"\",\"s pa\",\"spa ce\",\"de g\",\"i iint\",\"o o\",\"ot not\",\"fo otnot\",\"arp oo\",\"footnot e\",\"r lap\",\"e s\",\"i mp\",\"s b\",\"t e\",\"big triangle\",\"li es\",\"imp lies\",\"\\\\ ;\",\"k er\",\"footnote size\",\"th arpoo\",\"u p\",\"a cu\",\"acu te\",\"lo ngleftrightarrow\",\"e il\",\"l ce\",\"rc eil\",\"lce il\",\"v phantom\",\"e n\",\"th in\",\"a ck\",\"b ack\",\"t t\",\"back slash\",\"x rightarrow\",\"v dash\",\"to p\",\"righ tharpoo\",\"var sigma\",\"Lo ngleftrightarrow\",\"math op\",\"l arge\",\"big cap\",\"leq slant\",\"Ġ `\",\"over brace\",\"nu p\",\"rightharpoo nup\",\"big otimes\",\"triangle q\",\"L arge\",\"r u\",\"nu ll\",\"bigtriangle up\",\"var no\",\"thin g\",\"varno thing\",\"dot eq\",\"Ġ\\\\ _\",\"over leftarrow\",\"h f\",\"big star\",\"en space\",\"\\\\ !\",\"st ru\",\"stru t\",\"om inus\",\"d iv\",\"o nd\",\"am ond\",\"d dagger\",\"Ġc m\",\"n i\",\"s k\",\"di amond\",\"r Vert\",\"pr ot\",\"prot ect\",\"i p\",\"var Delta\",\"not in\",\"sk ip\",\"l Vert\",\"Ġ\\\\ /\",\"dots c\",\"i ll\",\"u le\",\"\\\\ :\",\"hf ill\",\"k rightarrow\",\"o krightarrow\",\"ho okrightarrow\",\"sh arp\",\"V dash\",\"big vee\",\"subset neq\",\"supset eq\",\"Ġ ?\",\"ng mapsto\",\"lo ngmapsto\",\"cdot p\",\"geq slant\",\"bigtriangle down\",\"dots b\",\"li m\",\"f l\",\"triangle left\",\"fl at\",\"s l\",\"bo x\",\"Ġ-- -\",\"sq cup\",\"j lim\",\"l s\",\"m o\",\"de ls\",\"re f\",\"mo dels\",\"ta g\",\"P r\",\"ma l\",\"o u\",\"l lap\",\"thin space\",\"en skip\",\"V ec\",\"e box\",\"k ebox\",\"n or\",\"r d\",\"s qu\",\"v line\",\"¿ ½\",\"ï ¿½\",\"Ġ ï¿½\",\"ma kebox\",\"su rd\",\"nor mal\",\"ar e\",\"squ are\",\"p ou\",\"math rel\",\"var Omega\",\"nd s\",\"small setminus\",\"pou nds\",\"n s\",\"s s\",\"s mi\",\"math or\",\"right lef\",\"text up\",\"tharpoo ns\",\"smi le\",\"mathor d\",\"rightlef tharpoons\",\"c c\",\"Ġ\\\\ -\",\"su cc\",\"f tarrow\",\"r times\",\"de t\",\"pr ec\",\"text tt\",\"o slash\",\"Ġ\\\\ &\",\"arrow vert\",\"l g\",\"Ġm m\",\"int er\",\"ngle ftarrow\",\"hf il\",\"inter cal\",\"f row\",\"Ġ\\\\ *\",\"frow n\",\"m pe\",\"Ġp t\",\"var pro\",\"se arrow\",\"bu mpe\",\"varpro jlim\",\"bumpe q\",\"D own\",\"S S\",\"c d\",\"e re\",\"g cd\",\"o he\",\"t w\",\"le me\",\"th ere\",\"in jlim\",\"ti t\",\"ad rightarrow\",\"var injlim\",\"co mp\",\"tex tit\",\"fo re\",\"over leftrightarrow\",\"Down arrow\",\"ohe adrightarrow\",\"tw oheadrightarrow\",\"leme nt\",\"there fore\",\"comp lement\",\"c a\",\"th i\",\"lo ngleftarrow\",\"big m\",\"triangle right\",\"ne arrow\",\"\\\\ #\",\"n ce\",\"ra l\",\"ca nce\",\"thi ck\",\"cance l\",\"U parrow\",\"n at\",\"u ral\",\"math strut\",\"su it\",\"big circ\",\"small skip\",\"diamond suit\",\"normal size\",\"nat ural\",\"g t\",\"le ss\",\"math tt\",\"big sqcup\",\"thick sim\",\"less sim\",\"b ow\",\"l lde\",\"ti e\",\"nu llde\",\"mit er\",\"li miter\",\"ker n\",\"bow tie\",\"nullde limiter\",\"nulldelimiter space\",\"D a\",\"h phantom\",\"r o\",\"v Da\",\"bar wedge\",\"be th\",\"eq no\",\"vDa sh\",\"A R\",\"D i\",\"G E\",\"L AR\",\"d skip\",\"t s\",\"Ġ @\",\"me dskip\",\"nd own\",\"ge ts\",\"co prod\",\"dots m\",\"sma sh\",\"rightharpoo ndown\",\"Di amond\",\"LAR GE\",\"n rightarrow\",\"n leftrightarrow\",\"r sim\",\"r ne\",\"w arrow\",\"math c\",\"co rne\",\"text normal\",\"prec eq\",\"gt rsim\",\"ro up\",\"corne r\",\"Ġ\\\\ [\",\"Ġ\\\\ ]\",\"math ope\",\"left eq\",\"lo se\",\"var kappa\",\"Big m\",\"Bigg m\",\"mathc lose\",\"mathope n\",\"lefteq n\",\"B ar\",\"T i\",\"l r\",\"s warrow\",\"u ge\",\"v ru\",\"x leftarrow\",\"math normal\",\"right rightarrow\",\"right leftarrow\",\"sq subseteq\",\"succ eq\",\"Ti lde\",\"lr corner\",\"vru le\",\"rightrightarrow s\",\"rightleftarrow s\",\"A A\",\"H at\",\"a k\",\"b le\",\"d ou\",\"h ss\",\"m in\",\"n right\",\"n leftarrow\",\"u ph\",\"w bre\",\"al lo\",\"si de\",\"sq cap\",\"ho m\",\"big odot\",\"arpoo nright\",\"ble barwedge\",\"dou blebarwedge\",\"uph arpoonright\",\"wbre ak\",\"allo wbreak\",\"side set\",\"- -\",\"H uge\",\"a mal\",\"d o\",\"f box\",\"g roup\",\"h skip\",\"l se\",\"p prox\",\"r k\",\"r group\",\"ra pprox\",\"Ġi n\",\"array co\",\"su re\",\"var lim\",\"pm b\",\"ci te\",\"sub stack\",\"leftrightarrow s\",\"supset neq\",\"Lo ngleftarrow\",\"up downarrow\",\"en sure\",\"lg roup\",\"gt rapprox\",\"amal g\",\"lse p\",\"arrayco lsep\",\"ensure math\",\"a sym\",\"c h\",\"d ig\",\"d dag\",\"e w\",\"g ra\",\"g ime\",\"j o\",\"l times\",\"n leq\",\"t ch\",\"fra me\",\"ma x\",\"th de\",\"in rel\",\"ve r\",\"wi thde\",\"oint op\",\"no tag\",\"small int\",\"sk ew\",\"lim s\",\"asym p\",\"dig amma\",\"gra ve\",\"gime l\",\"jo inrel\",\"frame box\",\"withde lims\",\"A r\",\"R rightarrow\",\"a e\",\"a g\",\"f ill\",\"h space\",\"h uge\",\"l q\",\"n warrow\",\"w line\",\"Ġ1 4\",\"ma rk\",\"le d\",\"in f\",\"in de\",\"Ġe x\",\"pi tch\",\"dot si\",\"int op\",\"row vert\",\"ll corner\",\"bla ck\",\"leq q\",\"bigg m\",\"approx eq\",\"di ag\",\"text sc\",\"text sl\",\"circ led\",\"fo rk\",\"cu r\",\"ne wline\",\"neg thick\",\"atop withdelims\",\"Le ftarrow\",\"footnote mark\",\"up lus\",\"subsetneq q\",\"-- -\",\"varlim sup\",\"varlim inf\",\"ver b\",\"Ar rowvert\",\"pitch fork\",\"black square\",\"diag up\",\"negthick space\",\"2 3\",\"2 5\",\"\\\\ -\",\"\\\\ /\",\"a pe\",\"c kap\",\"d ddot\",\"e rline\",\"e ver\",\"i j\",\"i ce\",\"l y\",\"m d\",\"n da\",\"n nu\",\"n mid\",\"n Rightarrow\",\"n Vdash\",\"o f\",\"o ff\",\"s ho\",\"s pe\",\"w r\",\"y math\",\"Ġ #\",\"Ġ\\\\ '\",\"Ġ\\\\ ^\",\"Ġ1 0\",\"Ġ1 5\",\"ma nnu\",\"ig arrow\",\"ft er\",\"me ral\",\"left rightharpoo\",\"right squ\",\"de f\",\"array st\",\"rt mid\",\"int erline\",\"ve arrow\",\"ng eq\",\"ho ice\",\"la x\",\"var Gamma\",\"var propto\",\"var triangle\",\"var Upsilon\",\"big uplus\",\"ex pa\",\"Ġ< $\",\"mathb in\",\"per ca\",\"text circled\",\"text md\",\"sc sh\",\"ci al\",\"re tch\",\"re lax\",\"over withdelims\",\"no inde\",\"own s\",\"vee bar\",\"under bar\",\"under rightarrow\",\"up perca\",\"back simeq\",\"triangleleft eq\",\"box times\",\"box ed\",\"prec cur\",\"thi ckap\",\"ro ot\",\"ro mannu\",\"mathc hoice\",\"inde x\",\"circled circ\",\"cur vearrow\",\"ever ymath\",\"ly eq\",\"nda fter\",\"off interline\",\"sho rtmid\",\"spe cial\",\"leftrightharpoo ns\",\"rightsqu igarrow\",\"arrayst retch\",\"expa ndafter\",\"scsh ape\",\"noinde nt\",\"upperca se\",\"preccur lyeq\",\"thickap prox\",\"romannu meral\",\"curvearrow right\",\"offinterline skip\"]}}"
  },
  {
    "path": "pix2tex/model/settings/config-vit.yaml",
    "content": "gpu_devices: null #[0,1,2,3,4,5,6,7]\nbetas:\n- 0.9\n- 0.999\nbatchsize: 64\nbos_token: 1\nchannels: 1\ndata: dataset/data/train.pkl\ndebug: false\ndecoder_args:\n  attn_on_attn: true\n  cross_attend: true\n  ff_glu: true\n  rel_pos_bias: false\n  use_scalenorm: false\ndim: 256\nemb_dropout: 0\nencoder_depth: 4\neos_token: 2\nepochs: 10\ngamma: 0.9995\nheads: 8\nid: null\nload_chkpt: null\nlr: 0.0005\nlr_step: 30\nmax_height: 192\nmax_seq_len: 512\nmax_width: 672\nmin_height: 32\nmin_width: 32\nmicro_batchsize: -1\nmodel_path: checkpoints_add\nname: pix2tex-vit\nnum_layers: 4\nnum_tokens: 8000\noptimizer: Adam\noutput_path: outputs\npad: false\npad_token: 0\npatch_size: 16\nsample_freq: 1000\nsave_freq: 5\nscheduler: StepLR\nseed: 42\nencoder_structure: vit\ntemperature: 0.2\ntest_samples: 5\ntestbatchsize: 20\ntokenizer: dataset/tokenizer.json\nvalbatches: 100\nvaldata: dataset/data/val.pkl"
  },
  {
    "path": "pix2tex/model/settings/config.yaml",
    "content": "gpu_devices: null #[0,1,2,3,4,5,6,7]\nbackbone_layers:\n- 2\n- 3\n- 7\nbetas:\n- 0.9\n- 0.999\nbatchsize: 64\nbos_token: 1\nchannels: 1\ndata: dataset/data/train.pkl\ndebug: false\ndecoder_args:\n  attn_on_attn: true\n  cross_attend: true\n  ff_glu: true\n  rel_pos_bias: false\n  use_scalenorm: false\ndim: 256\nencoder_depth: 4\neos_token: 2\nepochs: 10\ngamma: 0.9995\nheads: 8\nid: null\nload_chkpt: null\nlr: 0.001\nlr_step: 30\nmax_height: 192\nmax_seq_len: 512\nmax_width: 672\nmicro_batchsize: -1\nmin_height: 32\nmin_width: 32\nmodel_path: checkpoints\nname: pix2tex\nnum_layers: 4\nnum_tokens: 8000\noptimizer: Adam\noutput_path: outputs\npad: false\npad_token: 0\npatch_size: 16\nsample_freq: 3000\nsave_freq: 5\nscheduler: StepLR\nseed: 42\nencoder_structure: hybrid\ntemperature: 0.2\ntest_samples: 5\ntestbatchsize: 20\ntokenizer: dataset/tokenizer.json\nvalbatches: 100\nvaldata: dataset/data/val.pkl\n"
  },
  {
    "path": "pix2tex/model/settings/debug.yaml",
    "content": "# Input/Output/Name\ndata: \"dataset/data/dataset.pkl\"\nvaldata: \"dataset/data/val.pkl\"\ntokenizer: \"dataset/tokenizer.json\"\noutput_path: \"outputs\"\nmodel_path: \"checkpoints\"\nload_chkpt: null\nsave_freq: 5 # save every nth epoch\nname: \"pix2tex\"\n\n# Training parameters\nepochs: 10\nbatchsize: 8\n\n# Testing parameters\ntestbatchsize: 20\nvalbatches: 100\ntemperature: 0.2\n\n# Optimizer configurations\noptimizer: \"Adam\"\nscheduler: \"StepLR\"\nlr: 0.001\ngamma: 0.9995\nlr_step: 30\nbetas:\n- 0.9\n- 0.999\n\n# Parameters for model architectures\nmax_width: 128\nmax_height: 128\nmin_width: 32\nmin_height: 32\nchannels: 1\npatch_size: 32\n# Encoder / Decoder\ndim: 128\nbackbone_layers: \n  - 3\n  - 4\n  - 9\nencoder_depth: 4\nnum_layers: 4\ndecoder_args: \n  cross_attend: true\n  ff_glu: true\n  attn_on_attn: false\n  use_scalenorm: true\n  rel_pos_bias: false\nheads: 8\nnum_tokens: 8000\nmax_seq_len: 1024\nencoder_structure: hybrid\n\n# Other\nseed: 42\nid: null\nsample_freq: 50\ntest_samples: 5\ndebug: True\npad: False\n\n# Token ids\npad_token: 0\nbos_token: 1\neos_token: 2\n"
  },
  {
    "path": "pix2tex/models/__init__.py",
    "content": "from .utils import *"
  },
  {
    "path": "pix2tex/models/hybrid.py",
    "content": "import torch\nimport torch.nn as nn\n\nfrom timm.models.vision_transformer import VisionTransformer\nfrom timm.models.vision_transformer_hybrid import HybridEmbed\nfrom timm.models.resnetv2 import ResNetV2\nfrom timm.models.layers import StdConv2dSame\nfrom einops import repeat\n\nclass CustomVisionTransformer(VisionTransformer):\n    def __init__(self, img_size=224, patch_size=16, *args, **kwargs):\n        super(CustomVisionTransformer, self).__init__(img_size=img_size, patch_size=patch_size, *args, **kwargs)\n        self.height, self.width = img_size\n        self.patch_size = patch_size\n\n    def forward_features(self, x):\n        B, c, h, w = x.shape\n        x = self.patch_embed(x)\n\n        cls_tokens = self.cls_token.expand(B, -1, -1)  # stole cls_tokens impl from Phil Wang, thanks\n        x = torch.cat((cls_tokens, x), dim=1)\n        h, w = h//self.patch_size, w//self.patch_size\n        pos_emb_ind = repeat(torch.arange(h)*(self.width//self.patch_size-w), 'h -> (h w)', w=w)+torch.arange(h*w)\n        pos_emb_ind = torch.cat((torch.zeros(1), pos_emb_ind+1), dim=0).long()\n        x += self.pos_embed[:, pos_emb_ind]\n        #x = x + self.pos_embed\n        x = self.pos_drop(x)\n\n        for blk in self.blocks:\n            x = blk(x)\n\n        x = self.norm(x)\n        return x\n\n\ndef get_encoder(args):\n    backbone = ResNetV2(\n        layers=args.backbone_layers, num_classes=0, global_pool='', in_chans=args.channels,\n        preact=False, stem_type='same', conv_layer=StdConv2dSame)\n    min_patch_size = 2**(len(args.backbone_layers)+1)\n\n    def embed_layer(**x):\n        ps = x.pop('patch_size', min_patch_size)\n        assert ps % min_patch_size == 0 and ps >= min_patch_size, 'patch_size needs to be multiple of %i with current backbone configuration' % min_patch_size\n        return HybridEmbed(**x, patch_size=ps//min_patch_size, backbone=backbone)\n\n    encoder = CustomVisionTransformer(img_size=(args.max_height, args.max_width),\n                                      patch_size=args.patch_size,\n                                      in_chans=args.channels,\n                                      num_classes=0,\n                                      embed_dim=args.dim,\n                                      depth=args.encoder_depth,\n                                      num_heads=args.heads,\n                                      embed_layer=embed_layer\n                                      )\n    return encoder"
  },
  {
    "path": "pix2tex/models/transformer.py",
    "content": "import torch\nimport torch.nn.functional as F\nfrom x_transformers.autoregressive_wrapper import AutoregressiveWrapper, top_k, top_p\nfrom x_transformers import TransformerWrapper, Decoder\n\n\nclass CustomARWrapper(AutoregressiveWrapper):\n    def __init__(self, *args, **kwargs):\n        super(CustomARWrapper, self).__init__(*args, **kwargs)\n\n    @torch.no_grad()\n    def generate(self, start_tokens, seq_len=256, eos_token=None, temperature=1., filter_logits_fn=top_k, filter_thres=0.9, **kwargs):\n        device = start_tokens.device\n        was_training = self.net.training\n        num_dims = len(start_tokens.shape)\n\n        if num_dims == 1:\n            start_tokens = start_tokens[None, :]\n\n        b, t = start_tokens.shape\n\n        self.net.eval()\n        out = start_tokens\n        mask = kwargs.pop('mask', None)\n        if mask is None:\n            mask = torch.full_like(out, True, dtype=torch.bool, device=out.device)\n\n        for _ in range(seq_len):\n            x = out[:, -self.max_seq_len:]\n            mask = mask[:, -self.max_seq_len:]\n            # print('arw:',out.shape)\n            logits = self.net(x, mask=mask, **kwargs)[:, -1, :]\n\n            if filter_logits_fn in {top_k, top_p}:\n                filtered_logits = filter_logits_fn(logits, thres=filter_thres)\n                probs = F.softmax(filtered_logits / temperature, dim=-1)\n\n            sample = torch.multinomial(probs, 1)\n\n            out = torch.cat((out, sample), dim=-1)\n            mask = F.pad(mask, (0, 1), value=True)\n\n            if eos_token is not None and (torch.cumsum(out == eos_token, 1)[:, -1] >= 1).all():\n                break\n\n        out = out[:, t:]\n\n        if num_dims == 1:\n            out = out.squeeze(0)\n\n        self.net.train(was_training)\n        return out\n\n\ndef get_decoder(args):\n    return CustomARWrapper(\n        TransformerWrapper(\n            num_tokens=args.num_tokens,\n            max_seq_len=args.max_seq_len,\n            attn_layers=Decoder(\n                dim=args.dim,\n                depth=args.num_layers,\n                heads=args.heads,\n                **args.decoder_args\n            )),\n        pad_value=args.pad_token)\n"
  },
  {
    "path": "pix2tex/models/utils.py",
    "content": "import torch\nimport torch.nn as nn\n\nfrom . import hybrid\nfrom . import vit\nfrom . import transformer\n\n\nclass Model(nn.Module):\n    def __init__(self, encoder, decoder, args):\n        super().__init__()\n        self.encoder = encoder\n        self.decoder = decoder\n        self.args = args\n\n    def data_parallel(self, x: torch.Tensor, device_ids, output_device=None, **kwargs):\n        if not device_ids or len(device_ids) == 1:\n            return self(x, **kwargs)\n        if output_device is None:\n            output_device = device_ids[0]\n        replicas = nn.parallel.replicate(self, device_ids)\n        inputs = nn.parallel.scatter(x, device_ids)  # Slices tensors into approximately equal chunks and distributes them across given GPUs.\n        kwargs = nn.parallel.scatter(kwargs, device_ids)  # Duplicates references to objects that are not tensors.\n        replicas = replicas[:len(inputs)]\n        kwargs = kwargs[:len(inputs)]\n        outputs = nn.parallel.parallel_apply(replicas, inputs, kwargs)\n        return nn.parallel.gather(outputs, output_device).mean()\n\n    def forward(self, x: torch.Tensor, tgt_seq: torch.Tensor,  **kwargs):\n        encoded = self.encoder(x)\n        out = self.decoder(tgt_seq, context=encoded, **kwargs)\n        return out\n\n    @torch.no_grad()\n    def generate(self, x: torch.Tensor, temperature: float = 0.25):\n        return self.decoder.generate((torch.LongTensor([self.args.bos_token]*len(x))[:, None]).to(x.device), self.args.max_seq_len,\n                                     eos_token=self.args.eos_token, context=self.encoder(x), temperature=temperature)\n\n\ndef get_model(args):\n    if args.encoder_structure.lower() == 'vit':\n        encoder = vit.get_encoder(args)\n    elif args.encoder_structure.lower() == 'hybrid':\n        encoder = hybrid.get_encoder(args)\n    else:\n        raise NotImplementedError('Encoder structure \"%s\" not supported.' % args.encoder_structure)\n    decoder = transformer.get_decoder(args)\n    encoder.to(args.device)\n    decoder.to(args.device)\n    model = Model(encoder, decoder, args)\n    if args.wandb:\n        import wandb\n        wandb.watch(model)\n\n    return model\n"
  },
  {
    "path": "pix2tex/models/vit.py",
    "content": "import torch\nimport torch.nn as nn\n\nfrom x_transformers import Encoder\nfrom einops import rearrange, repeat\n\n\nclass ViTransformerWrapper(nn.Module):\n    def __init__(\n        self,\n        *,\n        max_width,\n        max_height,\n        patch_size,\n        attn_layers,\n        channels=1,\n        num_classes=None,\n        dropout=0.,\n        emb_dropout=0.\n    ):\n        super().__init__()\n        assert isinstance(attn_layers, Encoder), 'attention layers must be an Encoder'\n        assert max_width % patch_size == 0 and max_height % patch_size == 0, 'image dimensions must be divisible by the patch size'\n        dim = attn_layers.dim\n        num_patches = (max_width // patch_size)*(max_height // patch_size)\n        patch_dim = channels * patch_size ** 2\n\n        self.patch_size = patch_size\n        self.max_width = max_width\n        self.max_height = max_height\n\n        self.pos_embedding = nn.Parameter(torch.randn(1, num_patches + 1, dim))\n        self.patch_to_embedding = nn.Linear(patch_dim, dim)\n        self.cls_token = nn.Parameter(torch.randn(1, 1, dim))\n        self.dropout = nn.Dropout(emb_dropout)\n\n        self.attn_layers = attn_layers\n        self.norm = nn.LayerNorm(dim)\n        #self.mlp_head = FeedForward(dim, dim_out = num_classes, dropout = dropout) if exists(num_classes) else None\n\n    def forward(self, img, **kwargs):\n        p = self.patch_size\n\n        x = rearrange(img, 'b c (h p1) (w p2) -> b (h w) (p1 p2 c)', p1=p, p2=p)\n        x = self.patch_to_embedding(x)\n        b, n, _ = x.shape\n\n        cls_tokens = repeat(self.cls_token, '() n d -> b n d', b=b)\n        x = torch.cat((cls_tokens, x), dim=1)\n        h, w = torch.tensor(img.shape[2:])//p\n        pos_emb_ind = repeat(torch.arange(h)*(self.max_width//p-w), 'h -> (h w)', w=w)+torch.arange(h*w)\n        pos_emb_ind = torch.cat((torch.zeros(1), pos_emb_ind+1), dim=0).long()\n        x += self.pos_embedding[:, pos_emb_ind]\n        x = self.dropout(x)\n\n        x = self.attn_layers(x, **kwargs)\n        x = self.norm(x)\n\n        return x\n\n\ndef get_encoder(args):\n    return ViTransformerWrapper(\n        max_width=args.max_width,\n        max_height=args.max_height,\n        channels=args.channels,\n        patch_size=args.patch_size,\n        emb_dropout=args.get('emb_dropout', 0),\n        attn_layers=Encoder(\n            dim=args.dim,\n            depth=args.encoder_depth,\n            heads=args.heads,\n        )\n    )\n"
  },
  {
    "path": "pix2tex/resources/MathJax.js",
    "content": "document.getElementById&&document.childNodes&&document.createElement&&(window.MathJax&&MathJax.Hub||(window.MathJax?window.MathJax={AuthorConfig:window.MathJax}:window.MathJax={},MathJax.version=\"2.7.5\",MathJax.fileversion=\"2.7.5\",MathJax.cdnVersion=\"2.7.5\",MathJax.cdnFileVersions={},function(BASENAME){var BASE=window.MathJax;BASE||(BASE=window.MathJax={});var PROTO=[],OBJECT=function(def){var obj=def.constructor;for(var id in obj||(obj=function(){}),def)\"constructor\"!==id&&def.hasOwnProperty(id)&&(obj[id]=def[id]);return obj},CONSTRUCTOR=function(){return function(){return arguments.callee.Init.call(this,arguments)}};BASE.Object=OBJECT({constructor:function(){return arguments.callee.Init.call(this,arguments)},Subclass:function(def,classdef){var obj=function(){return arguments.callee.Init.call(this,arguments)};return obj.SUPER=this,obj.Init=this.Init,obj.Subclass=this.Subclass,obj.Augment=this.Augment,obj.protoFunction=this.protoFunction,obj.can=this.can,obj.has=this.has,obj.isa=this.isa,obj.prototype=new this(PROTO),obj.prototype.constructor=obj,obj.Augment(def,classdef),obj},Init:function(args){var obj=this;return 1===args.length&&args[0]===PROTO?obj:(obj instanceof args.callee||(obj=new args.callee(PROTO)),obj.Init.apply(obj,args)||obj)},Augment:function(def,classdef){var id;if(null!=def){for(id in def)def.hasOwnProperty(id)&&this.protoFunction(id,def[id]);def.toString!==this.prototype.toString&&def.toString!=={}.toString&&this.protoFunction(\"toString\",def.toString)}if(null!=classdef)for(id in classdef)classdef.hasOwnProperty(id)&&(this[id]=classdef[id]);return this},protoFunction:function(id,def){this.prototype[id]=def,\"function\"==typeof def&&(def.SUPER=this.SUPER.prototype)},prototype:{Init:function(){},SUPER:function(fn){return fn.callee.SUPER},can:function(method){return\"function\"==typeof this[method]},has:function(property){return void 0!==this[property]},isa:function(obj){return obj instanceof Object&&this instanceof obj}},can:function(method){return this.prototype.can.call(this,method)},has:function(property){return this.prototype.has.call(this,property)},isa:function(obj){for(var constructor=this;constructor;){if(constructor===obj)return!0;constructor=constructor.SUPER}return!1},SimpleSUPER:OBJECT({constructor:function(def){return this.SimpleSUPER.define(def)},define:function(src){var dst={};if(null!=src){for(var id in src)src.hasOwnProperty(id)&&(dst[id]=this.wrap(id,src[id]));src.toString!==this.prototype.toString&&src.toString!=={}.toString&&(dst.toString=this.wrap(\"toString\",src.toString))}return dst},wrap:function(id,f){if(\"function\"!=typeof f||!f.toString().match(/\\.\\s*SUPER\\s*\\(/))return f;var fn=function(){this.SUPER=fn.SUPER[id];try{var result=f.apply(this,arguments)}catch(err){throw delete this.SUPER,err}return delete this.SUPER,result};return fn.toString=function(){return f.toString.apply(f,arguments)},fn}})}),BASE.Object.isArray=Array.isArray||function(obj){return\"[object Array]\"===Object.prototype.toString.call(obj)},BASE.Object.Array=Array}(\"MathJax\"),function(BASENAME){var BASE=window.MathJax;BASE||(BASE=window.MathJax={});var isArray=BASE.Object.isArray,CALLBACK=function(data){var cb=function(){return arguments.callee.execute.apply(arguments.callee,arguments)};for(var id in CALLBACK.prototype)CALLBACK.prototype.hasOwnProperty(id)&&(cb[id]=void 0!==data[id]?data[id]:CALLBACK.prototype[id]);return cb.toString=CALLBACK.prototype.toString,cb};CALLBACK.prototype={isCallback:!0,hook:function(){},data:[],object:window,execute:function(){if(!this.called||this.autoReset)return this.called=!this.autoReset,this.hook.apply(this.object,this.data.concat([].slice.call(arguments,0)))},reset:function(){delete this.called},toString:function(){return this.hook.toString.apply(this.hook,arguments)}};var ISCALLBACK=function(f){return\"function\"==typeof f&&f.isCallback},EVAL=function(code){return eval.call(window,code)},TESTEVAL=function(){if(EVAL(\"var __TeSt_VaR__ = 1\"),window.__TeSt_VaR__)try{delete window.__TeSt_VaR__}catch(error){window.__TeSt_VaR__=null}else EVAL=window.execScript?function(code){BASE.__code=code,code=\"try {MathJax.__result = eval(MathJax.__code)} catch(err) {MathJax.__result = err}\",window.execScript(code);var result=BASE.__result;if(delete BASE.__result,delete BASE.__code,result instanceof Error)throw result;return result}:function(code){BASE.__code=code,code=\"try {MathJax.__result = eval(MathJax.__code)} catch(err) {MathJax.__result = err}\";var head=document.getElementsByTagName(\"head\")[0];head||(head=document.body);var script=document.createElement(\"script\");script.appendChild(document.createTextNode(code)),head.appendChild(script),head.removeChild(script);var result=BASE.__result;if(delete BASE.__result,delete BASE.__code,result instanceof Error)throw result;return result};TESTEVAL=null},USING=function(args,i){if(arguments.length>1&&(args=2===arguments.length&&\"function\"!=typeof arguments[0]&&arguments[0]instanceof Object&&\"number\"==typeof arguments[1]?[].slice.call(args,i):[].slice.call(arguments,0)),isArray(args)&&1===args.length&&\"function\"==typeof args[0]&&(args=args[0]),\"function\"==typeof args)return args.execute===CALLBACK.prototype.execute?args:CALLBACK({hook:args});if(isArray(args)){if(\"string\"==typeof args[0]&&args[1]instanceof Object&&\"function\"==typeof args[1][args[0]])return CALLBACK({hook:args[1][args[0]],object:args[1],data:args.slice(2)});if(\"function\"==typeof args[0])return CALLBACK({hook:args[0],data:args.slice(1)});if(\"function\"==typeof args[1])return CALLBACK({hook:args[1],object:args[0],data:args.slice(2)})}else{if(\"string\"==typeof args)return TESTEVAL&&TESTEVAL(),CALLBACK({hook:EVAL,data:[args]});if(args instanceof Object)return CALLBACK(args);if(void 0===args)return CALLBACK({})}throw Error(\"Can't make callback from given data\")},DELAY=function(time,callback){return(callback=USING(callback)).timeout=setTimeout(callback,time),callback},WAITFOR=function(callback,signal){(callback=USING(callback)).called||(WAITSIGNAL(callback,signal),signal.pending++)},WAITEXECUTE=function(){var signals=this.signal;delete this.signal,this.execute=this.oldExecute,delete this.oldExecute;var result=this.execute.apply(this,arguments);if(ISCALLBACK(result)&&!result.called)WAITSIGNAL(result,signals);else for(var i=0,m=signals.length;i<m;i++)signals[i].pending--,signals[i].pending<=0&&signals[i].call()},WAITSIGNAL=function(callback,signals){isArray(signals)||(signals=[signals]),callback.signal?1===signals.length?callback.signal.push(signals[0]):callback.signal=callback.signal.concat(signals):(callback.oldExecute=callback.execute,callback.execute=WAITEXECUTE,callback.signal=signals)},AFTER=function(callback){(callback=USING(callback)).pending=0;for(var i=1,m=arguments.length;i<m;i++)arguments[i]&&WAITFOR(arguments[i],callback);if(0===callback.pending){var result=callback();ISCALLBACK(result)&&(callback=result)}return callback},HOOKS=MathJax.Object.Subclass({Init:function(reset){this.hooks=[],this.remove=[],this.reset=reset,this.running=!1},Add:function(hook,priority){null==priority&&(priority=10),ISCALLBACK(hook)||(hook=USING(hook)),hook.priority=priority;for(var i=this.hooks.length;i>0&&priority<this.hooks[i-1].priority;)i--;return this.hooks.splice(i,0,hook),hook},Remove:function(hook){for(var i=0,m=this.hooks.length;i<m;i++)if(this.hooks[i]===hook)return void(this.running?this.remove.push(i):this.hooks.splice(i,1))},Execute:function(){var callbacks=[{}];this.running=!0;for(var i=0,m=this.hooks.length;i<m;i++){this.reset&&this.hooks[i].reset();var result=this.hooks[i].apply(window,arguments);ISCALLBACK(result)&&!result.called&&callbacks.push(result)}return this.running=!1,this.remove.length&&this.RemovePending(),1===callbacks.length?null:2===callbacks.length?callbacks[1]:AFTER.apply({},callbacks)},RemovePending:function(){this.remove=this.remove.sort();for(var i=this.remove.length-1;i>=0;i--)this.hooks.splice(i,1);this.remove=[]}}),EXECUTEHOOKS=function(hooks,data,reset){if(!hooks)return null;isArray(hooks)||(hooks=[hooks]),isArray(data)||(data=null==data?[]:[data]);for(var handler=HOOKS(reset),i=0,m=hooks.length;i<m;i++)handler.Add(hooks[i]);return handler.Execute.apply(handler,data)},QUEUE=BASE.Object.Subclass({Init:function(){this.pending=this.running=0,this.queue=[],this.Push.apply(this,arguments)},Push:function(){for(var callback,i=0,m=arguments.length;i<m;i++)(callback=USING(arguments[i]))!==arguments[i]||callback.called||(callback=USING([\"wait\",this,callback])),this.queue.push(callback);return this.running||this.pending||this.Process(),callback},Process:function(queue){for(;!this.running&&!this.pending&&this.queue.length;){var callback=this.queue[0];queue=this.queue.slice(1),this.queue=[],this.Suspend();var result=callback();this.Resume(),queue.length&&(this.queue=queue.concat(this.queue)),ISCALLBACK(result)&&!result.called&&WAITFOR(result,this)}},Suspend:function(){this.running++},Resume:function(){this.running&&this.running--},call:function(){this.Process.apply(this,arguments)},wait:function(callback){return callback}}),SIGNAL=QUEUE.Subclass({Init:function(name){QUEUE.prototype.Init.call(this),this.name=name,this.posted=[],this.listeners=HOOKS(!0),this.posting=!1,this.callback=null},Post:function(message,callback,forget){if(callback=USING(callback),this.posting||this.pending)this.Push([\"Post\",this,message,callback,forget]);else{this.callback=callback,callback.reset(),forget||this.posted.push(message),this.Suspend(),this.posting=!0;var result=this.listeners.Execute(message);ISCALLBACK(result)&&!result.called&&WAITFOR(result,this),this.Resume(),this.posting=!1,this.pending||this.call()}return callback},Clear:function(callback){return callback=USING(callback),this.posting||this.pending?callback=this.Push([\"Clear\",this,callback]):(this.posted=[],callback()),callback},call:function(){this.callback(this),this.Process()},Interest:function(callback,ignorePast,priority){if(callback=USING(callback),this.listeners.Add(callback,priority),!ignorePast)for(var i=0,m=this.posted.length;i<m;i++){callback.reset();var result=callback(this.posted[i]);ISCALLBACK(result)&&i===this.posted.length-1&&WAITFOR(result,this)}return callback},NoInterest:function(callback){this.listeners.Remove(callback)},MessageHook:function(msg,callback,priority){callback=USING(callback),this.hooks||(this.hooks={},this.Interest([\"ExecuteHooks\",this])),this.hooks[msg]||(this.hooks[msg]=HOOKS(!0)),this.hooks[msg].Add(callback,priority);for(var i=0,m=this.posted.length;i<m;i++)this.posted[i]==msg&&(callback.reset(),callback(this.posted[i]));return callback.msg=msg,callback},ExecuteHooks:function(msg){var type=isArray(msg)?msg[0]:msg;return this.hooks[type]?this.hooks[type].Execute(msg):null},RemoveHook:function(hook){this.hooks[hook.msg].Remove(hook)}},{signals:{},find:function(name){return SIGNAL.signals[name]||(SIGNAL.signals[name]=new SIGNAL(name)),SIGNAL.signals[name]}});BASE.Callback=BASE.CallBack=USING,BASE.Callback.Delay=DELAY,BASE.Callback.After=AFTER,BASE.Callback.Queue=QUEUE,BASE.Callback.Signal=SIGNAL.find,BASE.Callback.Hooks=HOOKS,BASE.Callback.ExecuteHooks=EXECUTEHOOKS}(\"MathJax\"),function(BASENAME){var BASE=window.MathJax;BASE||(BASE=window.MathJax={});var isSafari2=\"Apple Computer, Inc.\"===navigator.vendor&&void 0===navigator.vendorSub,sheets=0,HEAD=function(head){return document.styleSheets&&document.styleSheets.length>sheets&&(sheets=document.styleSheets.length),head||(head=document.head||document.getElementsByTagName(\"head\")[0])||(head=document.body),head},SCRIPTS=[],REMOVESCRIPTS=function(){for(var i=0,m=SCRIPTS.length;i<m;i++)BASE.Ajax.head.removeChild(SCRIPTS[i]);SCRIPTS=[]},PATH={MathJax:\"\",a11y:\"[MathJax]/extensions/a11y\",Contrib:\"https://cdn.mathjax.org/mathjax/contrib\"};BASE.Ajax={loaded:{},loading:{},loadHooks:{},timeout:15e3,styleDelay:1,config:{root:\"\",path:PATH},params:{},STATUS:{OK:1,ERROR:-1},fileURL:function(file){for(var match;(match=file.match(/^\\[([-._a-z0-9]+)\\]/i))&&PATH.hasOwnProperty(match[1]);)file=(PATH[match[1]]||this.config.root)+file.substr(match[1].length+2);return file},fileName:function(url){var root=this.config.root;url.substr(0,root.length)===root&&(url=\"[MathJax]\"+url.substr(root.length));do{var recheck=!1;for(var id in PATH)if(PATH.hasOwnProperty(id)&&PATH[id]&&url.substr(0,PATH[id].length)===PATH[id]){url=\"[\"+id+\"]\"+url.substr(PATH[id].length),recheck=!0;break}}while(recheck);return url},fileRev:function(file){var V=BASE.cdnFileVersions[file]||BASE.cdnVersion||\"\";return V&&(V=\"?V=\"+V),V},urlRev:function(file){return this.fileURL(file)+this.fileRev(file)},Require:function(file,callback){var type;if(callback=BASE.Callback(callback),file instanceof Object)for(var i in file)file.hasOwnProperty(i)&&(type=i.toUpperCase(),file=file[i]);else type=file.split(/\\./).pop().toUpperCase();if(this.params.noContrib&&\"[Contrib]\"===file.substr(0,9))callback(this.STATUS.ERROR);else if(file=this.fileURL(file),this.loaded[file])callback(this.loaded[file]);else{var FILE={};FILE[type]=file,this.Load(FILE,callback)}return callback},Load:function(file,callback){var type;if(callback=BASE.Callback(callback),file instanceof Object)for(var i in file)file.hasOwnProperty(i)&&(type=i.toUpperCase(),file=file[i]);else type=file.split(/\\./).pop().toUpperCase();if(file=this.fileURL(file),this.loading[file])this.addHook(file,callback);else{if(this.head=HEAD(this.head),!this.loader[type])throw Error(\"Can't load files of type \"+type);this.loader[type].call(this,file,callback)}return callback},LoadHook:function(file,callback,priority){if(callback=BASE.Callback(callback),file instanceof Object)for(var i in file)file.hasOwnProperty(i)&&(file=file[i]);return file=this.fileURL(file),this.loaded[file]?callback(this.loaded[file]):this.addHook(file,callback,priority),callback},addHook:function(file,callback,priority){this.loadHooks[file]||(this.loadHooks[file]=MathJax.Callback.Hooks()),this.loadHooks[file].Add(callback,priority),callback.file=file},removeHook:function(hook){this.loadHooks[hook.file]&&(this.loadHooks[hook.file].Remove(hook),this.loadHooks[hook.file].hooks.length||delete this.loadHooks[hook.file])},Preloading:function(){for(var i=0,m=arguments.length;i<m;i++){var file=this.fileURL(arguments[i]);this.loading[file]||(this.loading[file]={preloaded:!0})}},loader:{JS:function(file,callback){var name=this.fileName(file),script=document.createElement(\"script\"),timeout=BASE.Callback([\"loadTimeout\",this,file]);this.loading[file]={callback:callback,timeout:setTimeout(timeout,this.timeout),status:this.STATUS.OK,script:script},this.loading[file].message=BASE.Message.File(name),script.onerror=timeout,script.type=\"text/javascript\",script.src=file+this.fileRev(name),this.head.appendChild(script)},CSS:function(file,callback){var name=this.fileName(file),link=document.createElement(\"link\");link.rel=\"stylesheet\",link.type=\"text/css\",link.href=file+this.fileRev(name),this.loading[file]={callback:callback,message:BASE.Message.File(name),status:this.STATUS.OK},this.head.appendChild(link),this.timer.create.call(this,[this.timer.file,file],link)}},timer:{create:function(callback,node){return callback=BASE.Callback(callback),\"STYLE\"===node.nodeName&&node.styleSheet&&void 0!==node.styleSheet.cssText?callback(this.STATUS.OK):window.chrome&&\"LINK\"===node.nodeName?callback(this.STATUS.OK):isSafari2?this.timer.start(this,[this.timer.checkSafari2,sheets++,callback],this.styleDelay):this.timer.start(this,[this.timer.checkLength,node,callback],this.styleDelay),callback},start:function(AJAX,check,delay,timeout){(check=BASE.Callback(check)).execute=this.execute,check.time=this.time,check.STATUS=AJAX.STATUS,check.timeout=timeout||AJAX.timeout,check.delay=check.total=delay||0,delay?setTimeout(check,delay):check()},time:function(callback){return this.total+=this.delay,this.delay=Math.floor(1.05*this.delay+5),this.total>=this.timeout?(callback(this.STATUS.ERROR),1):0},file:function(file,status){status<0?BASE.Ajax.loadTimeout(file):BASE.Ajax.loadComplete(file)},execute:function(){this.hook.call(this.object,this,this.data[0],this.data[1])},checkSafari2:function(check,length,callback){check.time(callback)||(document.styleSheets.length>length&&document.styleSheets[length].cssRules&&document.styleSheets[length].cssRules.length?callback(check.STATUS.OK):setTimeout(check,check.delay))},checkLength:function(check,node,callback){if(!check.time(callback)){var isStyle=0,sheet=node.sheet||node.styleSheet;try{(sheet.cssRules||sheet.rules||[]).length>0&&(isStyle=1)}catch(err){err.message.match(/protected variable|restricted URI/)?isStyle=1:err.message.match(/Security error/)&&(isStyle=1)}isStyle?setTimeout(BASE.Callback([callback,check.STATUS.OK]),0):setTimeout(check,check.delay)}}},loadComplete:function(file){file=this.fileURL(file);var loading=this.loading[file];return loading&&!loading.preloaded?(BASE.Message.Clear(loading.message),clearTimeout(loading.timeout),loading.script&&(0===SCRIPTS.length&&setTimeout(REMOVESCRIPTS,0),SCRIPTS.push(loading.script)),this.loaded[file]=loading.status,delete this.loading[file],this.addHook(file,loading.callback)):(loading&&delete this.loading[file],this.loaded[file]=this.STATUS.OK,loading={status:this.STATUS.OK}),this.loadHooks[file]?this.loadHooks[file].Execute(loading.status):null},loadTimeout:function(file){this.loading[file].timeout&&clearTimeout(this.loading[file].timeout),this.loading[file].status=this.STATUS.ERROR,this.loadError(file),this.loadComplete(file)},loadError:function(file){BASE.Message.Set([\"LoadFailed\",\"File failed to load: %1\",file],null,2e3),BASE.Hub.signal.Post([\"file load error\",file])},Styles:function(styles,callback){var styleString=this.StyleString(styles);if(\"\"===styleString)(callback=BASE.Callback(callback))();else{var style=document.createElement(\"style\");style.type=\"text/css\",this.head=HEAD(this.head),this.head.appendChild(style),style.styleSheet&&void 0!==style.styleSheet.cssText?style.styleSheet.cssText=styleString:style.appendChild(document.createTextNode(styleString)),callback=this.timer.create.call(this,callback,style)}return callback},StyleString:function(styles){if(\"string\"==typeof styles)return styles;var string=\"\",id,style;for(id in styles)if(styles.hasOwnProperty(id))if(\"string\"==typeof styles[id])string+=id+\" {\"+styles[id]+\"}\\n\";else if(BASE.Object.isArray(styles[id]))for(var i=0;i<styles[id].length;i++)(style={})[id]=styles[id][i],string+=this.StyleString(style);else if(\"@media\"===id.substr(0,6))string+=id+\" {\"+this.StyleString(styles[id])+\"}\\n\";else if(null!=styles[id]){for(var name in style=[],styles[id])styles[id].hasOwnProperty(name)&&null!=styles[id][name]&&(style[style.length]=name+\": \"+styles[id][name]);string+=id+\" {\"+style.join(\"; \")+\"}\\n\"}return string}}}(\"MathJax\"),MathJax.HTML={Element:function(type,def,contents){var obj=document.createElement(type),id;if(def){if(def.hasOwnProperty(\"style\")){var style=def.style;for(id in def.style={},style)style.hasOwnProperty(id)&&(def.style[id.replace(/-([a-z])/g,this.ucMatch)]=style[id])}for(id in MathJax.Hub.Insert(obj,def),def)\"role\"!==id&&\"aria-\"!==id.substr(0,5)||obj.setAttribute(id,def[id])}if(contents){MathJax.Object.isArray(contents)||(contents=[contents]);for(var i=0,m=contents.length;i<m;i++)MathJax.Object.isArray(contents[i])?obj.appendChild(this.Element(contents[i][0],contents[i][1],contents[i][2])):\"script\"===type?this.setScript(obj,contents[i]):obj.appendChild(document.createTextNode(contents[i]))}return obj},ucMatch:function(match,c){return c.toUpperCase()},addElement:function(span,type,def,contents){return span.appendChild(this.Element(type,def,contents))},TextNode:function(text){return document.createTextNode(text)},addText:function(span,text){return span.appendChild(this.TextNode(text))},setScript:function(script,text){if(this.setScriptBug)script.text=text;else{for(;script.firstChild;)script.removeChild(script.firstChild);this.addText(script,text)}},getScript:function(script){var text;return(\"\"===script.text?script.innerHTML:script.text).replace(/^\\s+/,\"\").replace(/\\s+$/,\"\")},Cookie:{prefix:\"mjx\",expires:365,Set:function(name,def){var keys=[];if(def)for(var id in def)def.hasOwnProperty(id)&&keys.push(id+\":\"+def[id].toString().replace(/&/g,\"&&\"));var cookie=this.prefix+\".\"+name+\"=\"+escape(keys.join(\"&;\"));if(this.expires){var time=new Date;time.setDate(time.getDate()+this.expires),cookie+=\"; expires=\"+time.toGMTString()}try{document.cookie=cookie+\"; path=/\"}catch(err){}},Get:function(name,obj){obj||(obj={});var pattern=new RegExp(\"(?:^|;\\\\s*)\"+this.prefix+\"\\\\.\"+name+\"=([^;]*)(?:;|$)\"),match;try{match=pattern.exec(document.cookie)}catch(err){}if(match&&\"\"!==match[1])for(var keys=unescape(match[1]).split(\"&;\"),i=0,m=keys.length;i<m;i++){var value=(match=keys[i].match(/([^:]+):(.*)/))[2].replace(/&&/g,\"&\");\"true\"===value?value=!0:\"false\"===value?value=!1:value.match(/^-?(\\d+(\\.\\d+)?|\\.\\d+)$/)&&(value=parseFloat(value)),obj[match[1]]=value}return obj}}},MathJax.Localization={locale:\"en\",directory:\"[MathJax]/localization\",strings:{ar:{menuTitle:\"العربية\"},ast:{menuTitle:\"asturianu\"},bg:{menuTitle:\"български\"},bcc:{menuTitle:\"بلوچی\"},br:{menuTitle:\"brezhoneg\"},ca:{menuTitle:\"català\"},cdo:{menuTitle:\"Mìng-dĕ̤ng-ngṳ̄\"},cs:{menuTitle:\"čeština\"},da:{menuTitle:\"dansk\"},de:{menuTitle:\"Deutsch\"},diq:{menuTitle:\"Zazaki\"},en:{menuTitle:\"English\",isLoaded:!0},eo:{menuTitle:\"Esperanto\"},es:{menuTitle:\"español\"},fa:{menuTitle:\"فارسی\"},fi:{menuTitle:\"suomi\"},fr:{menuTitle:\"français\"},gl:{menuTitle:\"galego\"},he:{menuTitle:\"עברית\"},ia:{menuTitle:\"interlingua\"},it:{menuTitle:\"italiano\"},ja:{menuTitle:\"日本語\"},kn:{menuTitle:\"ಕನ್ನಡ\"},ko:{menuTitle:\"한국어\"},lb:{menuTitle:\"Lëtzebuergesch\"},lki:{menuTitle:\"لەکی\"},lt:{menuTitle:\"lietuvių\"},mk:{menuTitle:\"македонски\"},nl:{menuTitle:\"Nederlands\"},oc:{menuTitle:\"occitan\"},pl:{menuTitle:\"polski\"},pt:{menuTitle:\"português\"},\"pt-br\":{menuTitle:\"português do Brasil\"},ru:{menuTitle:\"русский\"},sco:{menuTitle:\"Scots\"},scn:{menuTitle:\"sicilianu\"},sk:{menuTitle:\"slovenčina\"},sl:{menuTitle:\"slovenščina\"},sv:{menuTitle:\"svenska\"},th:{menuTitle:\"ไทย\"},tr:{menuTitle:\"Türkçe\"},uk:{menuTitle:\"українська\"},vi:{menuTitle:\"Tiếng Việt\"},\"zh-hans\":{menuTitle:\"中文（简体）\"},\"zh-hant\":{menuTitle:\"汉语\"}},pattern:/%(\\d+|\\{\\d+\\}|\\{[a-z]+:\\%\\d+(?:\\|(?:%\\{\\d+\\}|%.|[^\\}])*)+\\}|.)/g,SPLIT:3===\"axb\".split(/(x)/).length?function(string,regex){return string.split(regex)}:function(string,regex){var result=[],match,last=0;for(regex.lastIndex=0;match=regex.exec(string);)result.push(string.substr(last,match.index-last)),result.push.apply(result,match.slice(1)),last=match.index+match[0].length;return result.push(string.substr(last)),result},_:function(id,phrase){return MathJax.Object.isArray(phrase)?this.processSnippet(id,phrase):this.processString(this.lookupPhrase(id,phrase),[].slice.call(arguments,2))},processString:function(string,args,domain){var i,m,isArray=MathJax.Object.isArray;for(i=0,m=args.length;i<m;i++)domain&&isArray(args[i])&&(args[i]=this.processSnippet(domain,args[i]));var parts=this.SPLIT(string,this.pattern);for(i=1,m=parts.length;i<m;i+=2){var c=parts[i].charAt(0);if(c>=\"0\"&&c<=\"9\")parts[i]=args[parts[i]-1],\"number\"==typeof parts[i]&&(parts[i]=this.number(parts[i]));else if(\"{\"===c)if((c=parts[i].substr(1))>=\"0\"&&c<=\"9\")parts[i]=args[parts[i].substr(1,parts[i].length-2)-1],\"number\"==typeof parts[i]&&(parts[i]=this.number(parts[i]));else{var match=parts[i].match(/^\\{([a-z]+):%(\\d+)\\|(.*)\\}$/);if(match)if(\"plural\"===match[1]){var n=args[match[2]-1];if(void 0===n)parts[i]=\"???\";else{n=this.plural(n)-1;var plurals=match[3].replace(/(^|[^%])(%%)*%\\|/g,\"$1$2%\").split(/\\|/);n>=0&&n<plurals.length?parts[i]=this.processString(plurals[n].replace(/\\uEFEF/g,\"|\"),args,domain):parts[i]=\"???\"}}else parts[i]=\"%\"+parts[i]}null==parts[i]&&(parts[i]=\"???\")}if(!domain)return parts.join(\"\");var snippet=[],part=\"\";for(i=0;i<m;i++)part+=parts[i],++i<m&&(isArray(parts[i])?(snippet.push(part),snippet=snippet.concat(parts[i]),part=\"\"):part+=parts[i]);return\"\"!==part&&snippet.push(part),snippet},processSnippet:function(domain,snippet){for(var result=[],i=0,m=snippet.length;i<m;i++)if(MathJax.Object.isArray(snippet[i])){var data=snippet[i];if(\"string\"==typeof data[1]){var id=data[0];MathJax.Object.isArray(id)||(id=[domain,id]);var phrase=this.lookupPhrase(id,data[1]);result=result.concat(this.processMarkdown(phrase,data.slice(2),domain))}else MathJax.Object.isArray(data[1])?result=result.concat(this.processSnippet.apply(this,data)):data.length>=3?result.push([data[0],data[1],this.processSnippet(domain,data[2])]):result.push(snippet[i])}else result.push(snippet[i]);return result},markdownPattern:/(%.)|(\\*{1,3})((?:%.|.)+?)\\2|(`+)((?:%.|.)+?)\\4|\\[((?:%.|.)+?)\\]\\(([^\\s\\)]+)\\)/,processMarkdown:function(phrase,args,domain){for(var result=[],data,parts=phrase.split(this.markdownPattern),string=parts[0],i=1,m=parts.length;i<m;i+=8)parts[i+1]?(data=this.processString(parts[i+2],args,domain),MathJax.Object.isArray(data)||(data=[data]),data=[[\"b\",\"i\",\"i\"][parts[i+1].length-1],{},data],3===parts[i+1].length&&(data=[\"b\",{},data])):parts[i+3]?(data=this.processString(parts[i+4].replace(/^\\s/,\"\").replace(/\\s$/,\"\"),args,domain),MathJax.Object.isArray(data)||(data=[data]),data=[\"code\",{},data]):parts[i+5]?(data=this.processString(parts[i+5],args,domain),MathJax.Object.isArray(data)||(data=[data]),data=[\"a\",{href:this.processString(parts[i+6],args),target:\"_blank\"},data]):(string+=parts[i],data=null),data&&((result=this.concatString(result,string,args,domain)).push(data),string=\"\"),\"\"!==parts[i+7]&&(string+=parts[i+7]);return result=this.concatString(result,string,args,domain)},concatString:function(result,string,args,domain){return\"\"!=string&&(string=this.processString(string,args,domain),MathJax.Object.isArray(string)||(string=[string]),result=result.concat(string)),result},lookupPhrase:function(id,phrase,domain){domain||(domain=\"_\"),MathJax.Object.isArray(id)&&(domain=id[0]||\"_\",id=id[1]||\"\");var load=this.loadDomain(domain);load&&MathJax.Hub.RestartAfter(load);var localeData=this.strings[this.locale];if(localeData&&localeData.domains&&domain in localeData.domains){var domainData=localeData.domains[domain];domainData.strings&&id in domainData.strings&&(phrase=domainData.strings[id])}return phrase},loadFile:function(file,data,callback){var dir;(callback=MathJax.Callback(callback),(file=data.file||file).match(/\\.js$/)||(file+=\".js\"),file.match(/^([a-z]+:|\\[MathJax\\])/))||(file=(this.strings[this.locale].directory||this.directory+\"/\"+this.locale||\"[MathJax]/localization/\"+this.locale)+\"/\"+file);var load=MathJax.Ajax.Require(file,(function(){return data.isLoaded=!0,callback()}));return load.called?null:load},loadDomain:function(domain,callback){var load,localeData=this.strings[this.locale];if(localeData){if(!localeData.isLoaded&&(load=this.loadFile(this.locale,localeData)))return MathJax.Callback.Queue(load,[\"loadDomain\",this,domain]).Push(callback||{});if(localeData.domains&&domain in localeData.domains){var domainData=localeData.domains[domain];if(!domainData.isLoaded&&(load=this.loadFile(domain,domainData)))return MathJax.Callback.Queue(load).Push(callback)}}return MathJax.Callback(callback)()},Try:function(fn){(fn=MathJax.Callback(fn)).autoReset=!0;try{fn()}catch(err){if(!err.restart)throw err;MathJax.Callback.After([\"Try\",this,fn],err.restart)}},resetLocale:function(locale){if(locale){for(locale=locale.toLowerCase();!this.strings[locale];){var dashPos=locale.lastIndexOf(\"-\");if(-1===dashPos)return;locale=locale.substring(0,dashPos)}var remap=this.strings[locale].remap;this.locale=remap||locale,MathJax.Callback.Signal(\"Hub\").Post([\"Locale Reset\",this.locale])}},setLocale:function(locale){this.resetLocale(locale),MathJax.Menu&&this.loadDomain(\"MathMenu\")},addTranslation:function(locale,domain,definition){var data=this.strings[locale],isNew=!1;data||(data=this.strings[locale]={},isNew=!0),data.domains||(data.domains={}),domain&&(data.domains[domain]||(data.domains[domain]={}),data=data.domains[domain]),MathJax.Hub.Insert(data,definition),isNew&&MathJax.Menu.menu&&MathJax.Menu.CreateLocaleMenu()},setCSS:function(div){var locale=this.strings[this.locale];return locale&&(locale.fontFamily&&(div.style.fontFamily=locale.fontFamily),locale.fontDirection&&(div.style.direction=locale.fontDirection,\"rtl\"===locale.fontDirection&&(div.style.textAlign=\"right\"))),div},fontFamily:function(){var locale=this.strings[this.locale];return locale?locale.fontFamily:null},fontDirection:function(){var locale=this.strings[this.locale];return locale?locale.fontDirection:null},plural:function(n){var locale=this.strings[this.locale];return locale&&locale.plural?locale.plural(n):1==n?1:2},number:function(n){var locale=this.strings[this.locale];return locale&&locale.number?locale.number(n):n}},MathJax.Message={ready:!1,log:[{}],current:null,textNodeBug:\"Apple Computer, Inc.\"===navigator.vendor&&void 0===navigator.vendorSub||window.hasOwnProperty&&window.hasOwnProperty(\"konqueror\"),styles:{\"#MathJax_Message\":{position:\"fixed\",left:\"1px\",bottom:\"2px\",\"background-color\":\"#E6E6E6\",border:\"1px solid #959595\",margin:\"0px\",padding:\"2px 8px\",\"z-index\":\"102\",color:\"black\",\"font-size\":\"80%\",width:\"auto\",\"white-space\":\"nowrap\"},\"#MathJax_MSIE_Frame\":{position:\"absolute\",top:0,left:0,width:\"0px\",\"z-index\":101,border:\"0px\",margin:\"0px\",padding:\"0px\"}},browsers:{MSIE:function(browser){MathJax.Message.msieFixedPositionBug=(document.documentMode||0)<7,MathJax.Message.msieFixedPositionBug&&(MathJax.Hub.config.styles[\"#MathJax_Message\"].position=\"absolute\"),MathJax.Message.quirks=\"BackCompat\"===document.compatMode},Chrome:function(browser){MathJax.Hub.config.styles[\"#MathJax_Message\"].bottom=\"1.5em\",MathJax.Hub.config.styles[\"#MathJax_Message\"].left=\"1em\"}},Init:function(styles){if(styles&&(this.ready=!0),!document.body||!this.ready)return!1;if(this.div&&null==this.div.parentNode&&(this.div=document.getElementById(\"MathJax_Message\"),this.text=this.div?this.div.firstChild:null),!this.div){var frame=document.body;this.msieFixedPositionBug&&window.attachEvent&&((frame=this.frame=this.addDiv(document.body)).removeAttribute(\"id\"),frame.style.position=\"absolute\",frame.style.border=frame.style.margin=frame.style.padding=\"0px\",frame.style.zIndex=\"101\",frame.style.height=\"0px\",(frame=this.addDiv(frame)).id=\"MathJax_MSIE_Frame\",window.attachEvent(\"onscroll\",this.MoveFrame),window.attachEvent(\"onresize\",this.MoveFrame),this.MoveFrame()),this.div=this.addDiv(frame),this.div.style.display=\"none\"}return this.text||(this.text=this.div.appendChild(document.createTextNode(\"\"))),!0},addDiv:function(parent){var div=document.createElement(\"div\");return div.id=\"MathJax_Message\",parent.firstChild?parent.insertBefore(div,parent.firstChild):parent.appendChild(div),div},MoveFrame:function(){var body=MathJax.Message.quirks?document.body:document.documentElement,frame=MathJax.Message.frame;frame.style.left=body.scrollLeft+\"px\",frame.style.top=body.scrollTop+\"px\",frame.style.width=body.clientWidth+\"px\",(frame=frame.firstChild).style.height=body.clientHeight+\"px\"},localize:function(message){return MathJax.Localization._(message,message)},filterText:function(text,n,id){return\"simple\"===MathJax.Hub.config.messageStyle&&(\"LoadFile\"===id?(this.loading||(this.loading=this.localize(\"Loading\")+\" \"),text=this.loading,this.loading+=\".\"):\"ProcessMath\"===id?(this.processing||(this.processing=this.localize(\"Processing\")+\" \"),text=this.processing,this.processing+=\".\"):\"TypesetMath\"===id&&(this.typesetting||(this.typesetting=this.localize(\"Typesetting\")+\" \"),text=this.typesetting,this.typesetting+=\".\")),text},clearCounts:function(){delete this.loading,delete this.processing,delete this.typesetting},Set:function(text,n,clearDelay){null==n&&(n=this.log.length,this.log[n]={});var id=\"\";if(MathJax.Object.isArray(text)){id=text[0],MathJax.Object.isArray(id)&&(id=id[1]);try{text=MathJax.Localization._.apply(MathJax.Localization,text)}catch(err){if(!err.restart)throw err;if(!err.restart.called)return null==this.log[n].restarted&&(this.log[n].restarted=0),this.log[n].restarted++,delete this.log[n].cleared,MathJax.Callback.After([\"Set\",this,text,n,clearDelay],err.restart),n}}return this.timer&&(clearTimeout(this.timer),delete this.timer),this.log[n].text=text,this.log[n].filteredText=text=this.filterText(text,n,id),void 0===this.log[n].next&&(this.log[n].next=this.current,null!=this.current&&(this.log[this.current].prev=n),this.current=n),this.current===n&&\"none\"!==MathJax.Hub.config.messageStyle&&(this.Init()?(this.textNodeBug?this.div.innerHTML=text:this.text.nodeValue=text,this.div.style.display=\"\",this.status&&(window.status=\"\",delete this.status)):(window.status=text,this.status=!0)),this.log[n].restarted&&(this.log[n].cleared&&(clearDelay=0),0==--this.log[n].restarted&&delete this.log[n].cleared),clearDelay?setTimeout(MathJax.Callback([\"Clear\",this,n]),clearDelay):0==clearDelay&&this.Clear(n,0),n},Clear:function(n,delay){null!=this.log[n].prev&&(this.log[this.log[n].prev].next=this.log[n].next),null!=this.log[n].next&&(this.log[this.log[n].next].prev=this.log[n].prev),this.current===n&&(this.current=this.log[n].next,this.text?(null==this.div.parentNode&&this.Init(),null==this.current?(this.timer&&(clearTimeout(this.timer),delete this.timer),null==delay&&(delay=600),0===delay?this.Remove():this.timer=setTimeout(MathJax.Callback([\"Remove\",this]),delay)):\"none\"!==MathJax.Hub.config.messageStyle&&(this.textNodeBug?this.div.innerHTML=this.log[this.current].filteredText:this.text.nodeValue=this.log[this.current].filteredText),this.status&&(window.status=\"\",delete this.status)):this.status&&(window.status=null==this.current?\"\":this.log[this.current].text)),delete this.log[n].next,delete this.log[n].prev,delete this.log[n].filteredText,this.log[n].restarted&&(this.log[n].cleared=!0)},Remove:function(){this.text.nodeValue=\"\",this.div.style.display=\"none\"},File:function(file){return this.Set([\"LoadFile\",\"Loading %1\",file],null,null)},Log:function(){for(var strings=[],i=1,m=this.log.length;i<m;i++)strings[i]=this.log[i].text;return strings.join(\"\\n\")}},MathJax.Hub={config:{root:\"\",config:[],styleSheets:[],styles:{\".MathJax_Preview\":{color:\"#888\"}},jax:[],extensions:[],preJax:null,postJax:null,displayAlign:\"center\",displayIndent:\"0\",preRemoveClass:\"MathJax_Preview\",showProcessingMessages:!0,messageStyle:\"normal\",delayStartupUntil:\"none\",skipStartupTypeset:!1,elements:[],positionToHash:!0,showMathMenu:!0,showMathMenuMSIE:!0,menuSettings:{zoom:\"None\",CTRL:!1,ALT:!1,CMD:!1,Shift:!1,discoverable:!1,zscale:\"200%\",renderer:null,font:\"Auto\",context:\"MathJax\",locale:null,mpContext:!1,mpMouse:!1,texHints:!0,FastPreview:null,assistiveMML:null,inTabOrder:!0,semantics:!1},errorSettings:{message:[\"[\",[\"MathProcessingError\",\"Math Processing Error\"],\"]\"],style:{color:\"#CC0000\",\"font-style\":\"italic\"}},ignoreMMLattributes:{}},preProcessors:MathJax.Callback.Hooks(!0),inputJax:{},outputJax:{order:{}},processSectionDelay:50,processUpdateTime:250,processUpdateDelay:10,signal:MathJax.Callback.Signal(\"Hub\"),Config:function(def){this.Insert(this.config,def),this.config.Augment&&this.Augment(this.config.Augment)},CombineConfig:function(name,def){for(var config=this.config,id,parent,i=0,m=(name=name.split(/\\./)).length;i<m;i++)config[id=name[i]]||(config[id]={}),parent=config,config=config[id];return parent[id]=config=this.Insert(def,config),config},Register:{PreProcessor:function(){return MathJax.Hub.preProcessors.Add.apply(MathJax.Hub.preProcessors,arguments)},MessageHook:function(){return MathJax.Hub.signal.MessageHook.apply(MathJax.Hub.signal,arguments)},StartupHook:function(){return MathJax.Hub.Startup.signal.MessageHook.apply(MathJax.Hub.Startup.signal,arguments)},LoadHook:function(){return MathJax.Ajax.LoadHook.apply(MathJax.Ajax,arguments)}},UnRegister:{PreProcessor:function(hook){MathJax.Hub.preProcessors.Remove(hook)},MessageHook:function(hook){MathJax.Hub.signal.RemoveHook(hook)},StartupHook:function(hook){MathJax.Hub.Startup.signal.RemoveHook(hook)},LoadHook:function(hook){MathJax.Ajax.removeHook(hook)}},getAllJax:function(element){for(var jax=[],scripts=this.elementScripts(element),i=0,m=scripts.length;i<m;i++)scripts[i].MathJax&&scripts[i].MathJax.elementJax&&jax.push(scripts[i].MathJax.elementJax);return jax},getJaxByType:function(type,element){for(var jax=[],scripts=this.elementScripts(element),i=0,m=scripts.length;i<m;i++)scripts[i].MathJax&&scripts[i].MathJax.elementJax&&scripts[i].MathJax.elementJax.mimeType===type&&jax.push(scripts[i].MathJax.elementJax);return jax},getJaxByInputType:function(type,element){for(var jax=[],scripts=this.elementScripts(element),i=0,m=scripts.length;i<m;i++)scripts[i].MathJax&&scripts[i].MathJax.elementJax&&scripts[i].type&&scripts[i].type.replace(/ *;(.|\\s)*/,\"\")===type&&jax.push(scripts[i].MathJax.elementJax);return jax},getJaxFor:function(element){if(\"string\"==typeof element&&(element=document.getElementById(element)),element&&element.MathJax)return element.MathJax.elementJax;if(this.isMathJaxNode(element)){for(element.isMathJax||(element=element.firstChild);element&&!element.jaxID;)element=element.parentNode;if(element)return MathJax.OutputJax[element.jaxID].getJaxFromMath(element)}return null},isJax:function(element){if(\"string\"==typeof element&&(element=document.getElementById(element)),this.isMathJaxNode(element))return 1;if(element&&\"script\"===(element.tagName||\"\").toLowerCase()){if(element.MathJax)return element.MathJax.state===MathJax.ElementJax.STATE.PROCESSED?1:-1;if(element.type&&this.inputJax[element.type.replace(/ *;(.|\\s)*/,\"\")])return-1}return 0},isMathJaxNode:function(element){return!!element&&(element.isMathJax||\"MathJax_MathML\"===(element.className||\"\"))},setRenderer:function(renderer,type){if(renderer){var JAX=MathJax.OutputJax[renderer];if(JAX){this.config.menuSettings.renderer=renderer,null==type&&(type=\"jax/mml\"),JAX.isUnknown&&JAX.Register(type);var jax=this.outputJax;return jax[type]&&jax[type].length&&renderer!==jax[type][0].id?(jax[type].unshift(JAX),this.signal.Post([\"Renderer Selected\",renderer])):null}MathJax.OutputJax[renderer]=MathJax.OutputJax({id:\"unknown\",version:\"1.0.0\",isUnknown:!0}),this.config.menuSettings.renderer=\"\";var file=\"[MathJax]/jax/output/\"+renderer+\"/config.js\";return MathJax.Ajax.Require(file,[\"setRenderer\",this,renderer,type])}},Queue:function(){return this.queue.Push.apply(this.queue,arguments)},Typeset:function(element,callback){if(!MathJax.isReady)return null;var ec=this.elementCallback(element,callback);if(ec.count)var queue=MathJax.Callback.Queue([\"PreProcess\",this,ec.elements],[\"Process\",this,ec.elements]);return queue.Push(ec.callback)},PreProcess:function(element,callback){var ec=this.elementCallback(element,callback),queue=MathJax.Callback.Queue();if(ec.count){var elements=1===ec.count?[ec.elements]:ec.elements;queue.Push([\"Post\",this.signal,[\"Begin PreProcess\",ec.elements]]);for(var i=0,m=elements.length;i<m;i++)elements[i]&&queue.Push([\"Execute\",this.preProcessors,elements[i]]);queue.Push([\"Post\",this.signal,[\"End PreProcess\",ec.elements]])}return queue.Push(ec.callback)},Process:function(element,callback){return this.takeAction(\"Process\",element,callback)},Update:function(element,callback){return this.takeAction(\"Update\",element,callback)},Reprocess:function(element,callback){return this.takeAction(\"Reprocess\",element,callback)},Rerender:function(element,callback){return this.takeAction(\"Rerender\",element,callback)},takeAction:function(action,element,callback){var ec=this.elementCallback(element,callback),elements=ec.elements,queue=MathJax.Callback.Queue([\"Clear\",this.signal]),state={scripts:[],start:(new Date).getTime(),i:0,j:0,jax:{},jaxIDs:[]};if(ec.count){var delay=[\"Delay\",MathJax.Callback,this.processSectionDelay];delay[2]||(delay={}),queue.Push([\"clearCounts\",MathJax.Message],[\"Post\",this.signal,[\"Begin \"+action,elements]],[\"Post\",this.signal,[\"Begin Math\",elements,action]],[\"prepareScripts\",this,action,elements,state],[\"Post\",this.signal,[\"Begin Math Input\",elements,action]],[\"processInput\",this,state],[\"Post\",this.signal,[\"End Math Input\",elements,action]],delay,[\"prepareOutput\",this,state,\"preProcess\"],delay,[\"Post\",this.signal,[\"Begin Math Output\",elements,action]],[\"processOutput\",this,state],[\"Post\",this.signal,[\"End Math Output\",elements,action]],delay,[\"prepareOutput\",this,state,\"postProcess\"],delay,[\"Post\",this.signal,[\"End Math\",elements,action]],[\"Post\",this.signal,[\"End \"+action,elements]],[\"clearCounts\",MathJax.Message])}return queue.Push(ec.callback)},scriptAction:{Process:function(script){},Update:function(script){var jax=script.MathJax.elementJax;jax&&jax.needsUpdate()?(jax.Remove(!0),script.MathJax.state=jax.STATE.UPDATE):script.MathJax.state=jax.STATE.PROCESSED},Reprocess:function(script){var jax=script.MathJax.elementJax;jax&&(jax.Remove(!0),script.MathJax.state=jax.STATE.UPDATE)},Rerender:function(script){var jax=script.MathJax.elementJax;jax&&(jax.Remove(!0),script.MathJax.state=jax.STATE.OUTPUT)}},prepareScripts:function(action,element,state){if(!arguments.callee.disabled)for(var scripts=this.elementScripts(element),STATE=MathJax.ElementJax.STATE,i=0,m=scripts.length;i<m;i++){var script=scripts[i];script.type&&this.inputJax[script.type.replace(/ *;(.|\\n)*/,\"\")]&&(script.MathJax&&(script.MathJax.elementJax&&script.MathJax.elementJax.hover&&MathJax.Extension.MathEvents.Hover.ClearHover(script.MathJax.elementJax),script.MathJax.state!==STATE.PENDING&&this.scriptAction[action](script)),script.MathJax||(script.MathJax={state:STATE.PENDING}),script.MathJax.error&&delete script.MathJax.error,script.MathJax.state!==STATE.PROCESSED&&state.scripts.push(script))}},checkScriptSiblings:function(script){if(!script.MathJax.checked){var config=this.config,pre=script.previousSibling;if(pre&&\"#text\"===pre.nodeName){var preJax,postJax,post=script.nextSibling;post&&\"#text\"!==post.nodeName&&(post=null),config.preJax&&(\"string\"==typeof config.preJax&&(config.preJax=new RegExp(config.preJax+\"$\")),preJax=pre.nodeValue.match(config.preJax)),config.postJax&&post&&(\"string\"==typeof config.postJax&&(config.postJax=new RegExp(\"^\"+config.postJax)),postJax=post.nodeValue.match(config.postJax)),!preJax||config.postJax&&!postJax||(pre.nodeValue=pre.nodeValue.replace(config.preJax,preJax.length>1?preJax[1]:\"\"),pre=null),!postJax||config.preJax&&!preJax||(post.nodeValue=post.nodeValue.replace(config.postJax,postJax.length>1?postJax[1]:\"\")),pre&&!pre.nodeValue.match(/\\S/)&&(pre=pre.previousSibling)}config.preRemoveClass&&pre&&pre.className===config.preRemoveClass&&(script.MathJax.preview=pre),script.MathJax.checked=1}},processInput:function(state){var jax,STATE=MathJax.ElementJax.STATE,script,prev,m=state.scripts.length;try{for(;state.i<m;)if(script=state.scripts[state.i])if((prev=script.previousSibling)&&\"MathJax_Error\"===prev.className&&prev.parentNode.removeChild(prev),script.parentNode&&script.MathJax&&script.MathJax.state!==STATE.PROCESSED){if(script.MathJax.elementJax&&script.MathJax.state!==STATE.UPDATE)script.MathJax.state===STATE.OUTPUT&&this.saveScript(script.MathJax.elementJax,state,script,STATE);else{this.checkScriptSiblings(script);var type=script.type.replace(/ *;(.|\\s)*/,\"\"),input=this.inputJax[type];if(\"function\"==typeof(jax=input.Process(script,state))){if(jax.called)continue;this.RestartAfter(jax)}jax=jax.Attach(script,input.id),this.saveScript(jax,state,script,STATE),this.postInputHooks.Execute(jax,input.id,script)}state.i++;var now=(new Date).getTime();now-state.start>this.processUpdateTime&&state.i<state.scripts.length&&(state.start=now,this.RestartAfter(MathJax.Callback.Delay(1)))}else state.i++;else state.i++}catch(err){return this.processError(err,state,\"Input\")}return state.scripts.length&&this.config.showProcessingMessages&&MathJax.Message.Set([\"ProcessMath\",\"Processing math: %1%%\",100],0),state.start=(new Date).getTime(),state.i=state.j=0,null},postInputHooks:MathJax.Callback.Hooks(!0),saveScript:function(jax,state,script,STATE){if(!this.outputJax[jax.mimeType])throw script.MathJax.state=STATE.UPDATE,Error(\"No output jax registered for \"+jax.mimeType);jax.outputJax=this.outputJax[jax.mimeType][0].id,state.jax[jax.outputJax]||(0===state.jaxIDs.length?state.jax[jax.outputJax]=state.scripts:(1===state.jaxIDs.length&&(state.jax[state.jaxIDs[0]]=state.scripts.slice(0,state.i)),state.jax[jax.outputJax]=[]),state.jaxIDs.push(jax.outputJax)),state.jaxIDs.length>1&&state.jax[jax.outputJax].push(script),script.MathJax.state=STATE.OUTPUT},prepareOutput:function(state,method){for(;state.j<state.jaxIDs.length;){var id=state.jaxIDs[state.j],JAX=MathJax.OutputJax[id];if(JAX[method])try{var result=JAX[method](state);if(\"function\"==typeof result){if(result.called)continue;this.RestartAfter(result)}}catch(err){return err.restart||(MathJax.Message.Set([\"PrepError\",\"Error preparing %1 output (%2)\",id,method],null,600),MathJax.Hub.lastPrepError=err,state.j++),MathJax.Callback.After([\"prepareOutput\",this,state,method],err.restart)}state.j++}return null},processOutput:function(state){var result,STATE=MathJax.ElementJax.STATE,script,m=state.scripts.length;try{for(;state.i<m;)if((script=state.scripts[state.i])&&script.parentNode&&script.MathJax&&!script.MathJax.error){var jax=script.MathJax.elementJax;if(jax){!1!==(result=MathJax.OutputJax[jax.outputJax].Process(script,state))&&(script.MathJax.state=STATE.PROCESSED,script.MathJax.preview&&(script.MathJax.preview.innerHTML=\"\",script.MathJax.preview.style.display=\"none\"),this.signal.Post([\"New Math\",jax.inputID])),state.i++;var now=(new Date).getTime();now-state.start>this.processUpdateTime&&state.i<state.scripts.length&&(state.start=now,this.RestartAfter(MathJax.Callback.Delay(this.processUpdateDelay)))}else state.i++}else state.i++}catch(err){return this.processError(err,state,\"Output\")}return state.scripts.length&&this.config.showProcessingMessages&&(MathJax.Message.Set([\"TypesetMath\",\"Typesetting math: %1%%\",100],0),MathJax.Message.Clear(0)),state.i=state.j=0,null},processMessage:function(state,type){var m=Math.floor(state.i/state.scripts.length*100),message=\"Output\"===type?[\"TypesetMath\",\"Typesetting math: %1%%\"]:[\"ProcessMath\",\"Processing math: %1%%\"];this.config.showProcessingMessages&&MathJax.Message.Set(message.concat(m),0)},processError:function(err,state,type){if(!err.restart){if(!this.config.errorSettings.message)throw err;this.formatError(state.scripts[state.i],err),state.i++}return this.processMessage(state,type),MathJax.Callback.After([\"process\"+type,this,state],err.restart)},formatError:function(script,err){var LOCALIZE=function(id,text,arg1,arg2){return MathJax.Localization._(id,text,arg1,arg2)},message=LOCALIZE(\"ErrorMessage\",\"Error: %1\",err.message)+\"\\n\";(err.sourceURL||err.fileName)&&(message+=\"\\n\"+LOCALIZE(\"ErrorFile\",\"file: %1\",err.sourceURL||err.fileName)),(err.line||err.lineNumber)&&(message+=\"\\n\"+LOCALIZE(\"ErrorLine\",\"line: %1\",err.line||err.lineNumber)),message+=\"\\n\\n\"+LOCALIZE(\"ErrorTips\",\"Debugging tips: use %1, inspect %2 in the browser console\",\"'unpacked/MathJax.js'\",\"'MathJax.Hub.lastError'\"),script.MathJax.error=MathJax.OutputJax.Error.Jax(message,script),script.MathJax.elementJax&&(script.MathJax.error.inputID=script.MathJax.elementJax.inputID);var errorSettings=this.config.errorSettings,errorText=LOCALIZE(errorSettings.messageId,errorSettings.message),error=MathJax.HTML.Element(\"span\",{className:\"MathJax_Error\",jaxID:\"Error\",isMathJax:!0,id:script.MathJax.error.inputID+\"-Frame\"},[[\"span\",null,errorText]]);MathJax.Ajax.Require(\"[MathJax]/extensions/MathEvents.js\",(function(){var EVENT=MathJax.Extension.MathEvents.Event,HUB=MathJax.Hub;error.oncontextmenu=EVENT.Menu,error.onmousedown=EVENT.Mousedown,error.onkeydown=EVENT.Keydown,error.tabIndex=HUB.getTabOrder(HUB.getJaxFor(script))}));var node=document.getElementById(error.id);node&&node.parentNode.removeChild(node),script.parentNode&&script.parentNode.insertBefore(error,script),script.MathJax.preview&&(script.MathJax.preview.innerHTML=\"\",script.MathJax.preview.style.display=\"none\"),this.lastError=err,this.signal.Post([\"Math Processing Error\",script,err])},RestartAfter:function(callback){throw this.Insert(Error(\"restart\"),{restart:MathJax.Callback(callback)})},elementCallback:function(element,callback){if(null==callback&&(MathJax.Object.isArray(element)||\"function\"==typeof element))try{MathJax.Callback(element),callback=element,element=null}catch(e){}null==element&&(element=this.config.elements||[]),this.isHTMLCollection(element)&&(element=this.HTMLCollection2Array(element)),MathJax.Object.isArray(element)||(element=[element]);for(var i=0,m=(element=[].concat(element)).length;i<m;i++)\"string\"==typeof element[i]&&(element[i]=document.getElementById(element[i]));return document.body||(document.body=document.getElementsByTagName(\"body\")[0]),0==element.length&&element.push(document.body),callback||(callback={}),{count:element.length,elements:1===element.length?element[0]:element,callback:callback}},elementScripts:function(element){var scripts=[];if(MathJax.Object.isArray(element)||this.isHTMLCollection(element)){for(var i=0,m=element.length;i<m;i++){for(var alreadyDone=0,j=0;j<i&&!alreadyDone;j++)alreadyDone=element[j].contains(element[i]);alreadyDone||scripts.push.apply(scripts,this.elementScripts(element[i]))}return scripts}return\"string\"==typeof element&&(element=document.getElementById(element)),document.body||(document.body=document.getElementsByTagName(\"body\")[0]),null==element&&(element=document.body),null!=element.tagName&&\"script\"===element.tagName.toLowerCase()?[element]:(scripts=element.getElementsByTagName(\"script\"),this.msieHTMLCollectionBug&&(scripts=this.HTMLCollection2Array(scripts)),scripts)},isHTMLCollection:function(obj){return\"HTMLCollection\"in window&&\"object\"==typeof obj&&obj instanceof HTMLCollection},HTMLCollection2Array:function(nodes){if(!this.msieHTMLCollectionBug)return[].slice.call(nodes);for(var NODES=[],i=0,m=nodes.length;i<m;i++)NODES[i]=nodes[i];return NODES},Insert:function(dst,src){for(var id in src)src.hasOwnProperty(id)&&(\"object\"!=typeof src[id]||MathJax.Object.isArray(src[id])||\"object\"!=typeof dst[id]&&\"function\"!=typeof dst[id]?dst[id]=src[id]:this.Insert(dst[id],src[id]));return dst},getTabOrder:function(script){return this.config.menuSettings.inTabOrder?0:-1},SplitList:\"trim\"in String.prototype?function(list){return list.trim().split(/\\s+/)}:function(list){return list.replace(/^\\s+/,\"\").replace(/\\s+$/,\"\").split(/\\s+/)}},MathJax.Hub.Insert(MathJax.Hub.config.styles,MathJax.Message.styles),MathJax.Hub.Insert(MathJax.Hub.config.styles,{\".MathJax_Error\":MathJax.Hub.config.errorSettings.style}),MathJax.Extension={},MathJax.Hub.Configured=MathJax.Callback({}),MathJax.Hub.Startup={script:\"\",queue:MathJax.Callback.Queue(),signal:MathJax.Callback.Signal(\"Startup\"),params:{},Config:function(){if(this.queue.Push([\"Post\",this.signal,\"Begin Config\"]),MathJax.AuthorConfig&&MathJax.AuthorConfig.root&&(MathJax.Ajax.config.root=MathJax.AuthorConfig.root),this.params.locale&&(MathJax.Localization.resetLocale(this.params.locale),MathJax.Hub.config.menuSettings.locale=this.params.locale),this.params.config)for(var files=this.params.config.split(/,/),i=0,m=files.length;i<m;i++)files[i].match(/\\.js$/)||(files[i]+=\".js\"),this.queue.Push([\"Require\",MathJax.Ajax,this.URL(\"config\",files[i])]);this.queue.Push([\"Config\",MathJax.Hub,MathJax.AuthorConfig]),this.script.match(/\\S/)&&this.queue.Push(this.script+\";\\n1;\"),this.queue.Push([\"ConfigDelay\",this],[\"ConfigBlocks\",this],[function(THIS){return THIS.loadArray(MathJax.Hub.config.config,\"config\",null,!0)},this],[\"Post\",this.signal,\"End Config\"])},ConfigDelay:function(){var delay=this.params.delayStartupUntil||MathJax.Hub.config.delayStartupUntil;return\"onload\"===delay?this.onload:\"configured\"===delay?MathJax.Hub.Configured:delay},ConfigBlocks:function(){for(var scripts=document.getElementsByTagName(\"script\"),queue=MathJax.Callback.Queue(),i=0,m=scripts.length;i<m;i++){var type=String(scripts[i].type).replace(/ /g,\"\");type.match(/^text\\/x-mathjax-config(;.*)?$/)&&!type.match(/;executed=true/)&&(scripts[i].type+=\";executed=true\",queue.Push(scripts[i].innerHTML+\";\\n1;\"))}return queue.Push((function(){MathJax.Ajax.config.root=MathJax.Hub.config.root}))},Cookie:function(){return this.queue.Push([\"Post\",this.signal,\"Begin Cookie\"],[\"Get\",MathJax.HTML.Cookie,\"menu\",MathJax.Hub.config.menuSettings],[function(config){var SETTINGS=config.menuSettings;SETTINGS.locale&&MathJax.Localization.resetLocale(SETTINGS.locale);var renderer=config.menuSettings.renderer,jax=config.jax;if(renderer){var name=\"output/\"+renderer;jax.sort();for(var i=0,m=jax.length;i<m&&\"output/\"!==jax[i].substr(0,7);i++);if(i==m-1)jax.pop();else for(;i<m;){if(jax[i]===name){jax.splice(i,1);break}i++}jax.unshift(name)}null!=SETTINGS.CHTMLpreview&&(null==SETTINGS.FastPreview&&(SETTINGS.FastPreview=SETTINGS.CHTMLpreview),delete SETTINGS.CHTMLpreview),SETTINGS.FastPreview&&!MathJax.Extension[\"fast-preview\"]&&MathJax.Hub.config.extensions.push(\"fast-preview.js\"),config.menuSettings.assistiveMML&&!MathJax.Extension.AssistiveMML&&MathJax.Hub.config.extensions.push(\"AssistiveMML.js\")},MathJax.Hub.config],[\"Post\",this.signal,\"End Cookie\"])},Styles:function(){return this.queue.Push([\"Post\",this.signal,\"Begin Styles\"],[\"loadArray\",this,MathJax.Hub.config.styleSheets,\"config\"],[\"Styles\",MathJax.Ajax,MathJax.Hub.config.styles],[\"Post\",this.signal,\"End Styles\"])},Jax:function(){for(var config=MathJax.Hub.config,jax=MathJax.Hub.outputJax,i=0,m=config.jax.length,k=0;i<m;i++){var name=config.jax[i].substr(7);\"output/\"===config.jax[i].substr(0,7)&&null==jax.order[name]&&(jax.order[name]=k,k++)}var queue;return MathJax.Callback.Queue().Push([\"Post\",this.signal,\"Begin Jax\"],[\"loadArray\",this,config.jax,\"jax\",\"config.js\"],[\"Post\",this.signal,\"End Jax\"])},Extensions:function(){var queue;return MathJax.Callback.Queue().Push([\"Post\",this.signal,\"Begin Extensions\"],[\"loadArray\",this,MathJax.Hub.config.extensions,\"extensions\"],[\"Post\",this.signal,\"End Extensions\"])},Message:function(){MathJax.Message.Init(!0)},Menu:function(){var menu=MathJax.Hub.config.menuSettings,jax=MathJax.Hub.outputJax,registered;for(var id in jax)if(jax.hasOwnProperty(id)&&jax[id].length){registered=jax[id];break}registered&&registered.length&&(menu.renderer&&menu.renderer!==registered[0].id&&registered.unshift(MathJax.OutputJax[menu.renderer]),menu.renderer=registered[0].id)},Hash:function(){if(MathJax.Hub.config.positionToHash&&document.location.hash&&document.body&&document.body.scrollIntoView){var name=decodeURIComponent(document.location.hash.substr(1)),target=document.getElementById(name);if(!target)for(var a=document.getElementsByTagName(\"a\"),i=0,m=a.length;i<m;i++)if(a[i].name===name){target=a[i];break}if(target){for(;!target.scrollIntoView;)target=target.parentNode;(target=this.HashCheck(target))&&target.scrollIntoView&&setTimeout((function(){target.scrollIntoView(!0)}),1)}}},HashCheck:function(target){var jax=MathJax.Hub.getJaxFor(target);return jax&&MathJax.OutputJax[jax.outputJax].hashCheck&&(target=MathJax.OutputJax[jax.outputJax].hashCheck(target)),target},MenuZoom:function(){MathJax.Hub.config.showMathMenu&&(MathJax.Extension.MathMenu?setTimeout(MathJax.Callback([\"loadDomain\",MathJax.Localization,\"MathMenu\"]),1e3):setTimeout((function(){MathJax.Callback.Queue([\"Require\",MathJax.Ajax,\"[MathJax]/extensions/MathMenu.js\",{}],[\"loadDomain\",MathJax.Localization,\"MathMenu\"])}),1e3),MathJax.Extension.MathZoom||setTimeout(MathJax.Callback([\"Require\",MathJax.Ajax,\"[MathJax]/extensions/MathZoom.js\",{}]),2e3))},onLoad:function(){var onload=this.onload=MathJax.Callback((function(){MathJax.Hub.Startup.signal.Post(\"onLoad\")}));if(document.body&&document.readyState)if(MathJax.Hub.Browser.isMSIE){if(\"complete\"===document.readyState)return[onload]}else if(\"loading\"!==document.readyState)return[onload];return window.addEventListener?(window.addEventListener(\"load\",onload,!1),this.params.noDOMContentEvent||window.addEventListener(\"DOMContentLoaded\",onload,!1)):window.attachEvent?window.attachEvent(\"onload\",onload):window.onload=onload,onload},Typeset:function(element,callback){return MathJax.Hub.config.skipStartupTypeset?function(){}:this.queue.Push([\"Post\",this.signal,\"Begin Typeset\"],[\"Typeset\",MathJax.Hub,element,callback],[\"Post\",this.signal,\"End Typeset\"])},URL:function(dir,name){return name.match(/^([a-z]+:\\/\\/|\\[|\\/)/)||(name=\"[MathJax]/\"+dir+\"/\"+name),name},loadArray:function(files,dir,name,synchronous){if(files&&(MathJax.Object.isArray(files)||(files=[files]),files.length)){for(var queue=MathJax.Callback.Queue(),callback={},file,i=0,m=files.length;i<m;i++)file=this.URL(dir,files[i]),name&&(file+=\"/\"+name),synchronous?queue.Push([\"Require\",MathJax.Ajax,file,callback]):queue.Push(MathJax.Ajax.Require(file,callback));return queue.Push({})}return null}},function(BASENAME){var BASE=window.MathJax,ROOT=\"[MathJax]\",HUB=BASE.Hub,AJAX=BASE.Ajax,CALLBACK=BASE.Callback,JAX=MathJax.Object.Subclass({JAXFILE:\"jax.js\",require:null,config:{},Init:function(def,cdef){return 0===arguments.length?this:this.constructor.Subclass(def,cdef)()},Augment:function(def,cdef){var cObject=this.constructor,ndef={};if(null!=def){for(var id in def)def.hasOwnProperty(id)&&(\"function\"==typeof def[id]?cObject.protoFunction(id,def[id]):ndef[id]=def[id]);def.toString!==cObject.prototype.toString&&def.toString!=={}.toString&&cObject.protoFunction(\"toString\",def.toString)}return HUB.Insert(cObject.prototype,ndef),cObject.Augment(null,cdef),this},Translate:function(script,state){throw Error(this.directory+\"/\"+this.JAXFILE+\" failed to define the Translate() method\")},Register:function(mimetype){},Config:function(){this.config=HUB.CombineConfig(this.id,this.config),this.config.Augment&&this.Augment(this.config.Augment)},Startup:function(){},loadComplete:function(file){if(\"config.js\"===file)return AJAX.loadComplete(this.directory+\"/\"+file);var queue=CALLBACK.Queue();return queue.Push(HUB.Register.StartupHook(\"End Config\",{}),[\"Post\",HUB.Startup.signal,this.id+\" Jax Config\"],[\"Config\",this],[\"Post\",HUB.Startup.signal,this.id+\" Jax Require\"],[function(THIS){return MathJax.Hub.Startup.loadArray(THIS.require,this.directory)},this],[function(config,id){return MathJax.Hub.Startup.loadArray(config.extensions,\"extensions/\"+id)},this.config||{},this.id],[\"Post\",HUB.Startup.signal,this.id+\" Jax Startup\"],[\"Startup\",this],[\"Post\",HUB.Startup.signal,this.id+\" Jax Ready\"]),this.copyTranslate&&queue.Push([function(THIS){THIS.preProcess=THIS.preTranslate,THIS.Process=THIS.Translate,THIS.postProcess=THIS.postTranslate},this.constructor.prototype]),queue.Push([\"loadComplete\",AJAX,this.directory+\"/\"+file])}},{id:\"Jax\",version:\"2.7.5\",directory:ROOT+\"/jax\",extensionDir:ROOT+\"/extensions\"});BASE.InputJax=JAX.Subclass({elementJax:\"mml\",sourceMenuTitle:[\"Original\",\"Original Form\"],copyTranslate:!0,Process:function(script,state){var queue=CALLBACK.Queue(),file,jax=this.elementJax;BASE.Object.isArray(jax)||(jax=[jax]);for(var i=0,m=jax.length;i<m;i++)file=BASE.ElementJax.directory+\"/\"+jax[i]+\"/\"+this.JAXFILE,this.require?BASE.Object.isArray(this.require)||(this.require=[this.require]):this.require=[],this.require.push(file),queue.Push(AJAX.Require(file));file=this.directory+\"/\"+this.JAXFILE;var load=queue.Push(AJAX.Require(file));return load.called||(this.constructor.prototype.Process=function(){if(!load.called)return load;throw Error(file+\" failed to load properly\")}),(jax=HUB.outputJax[\"jax/\"+jax[0]])&&queue.Push(AJAX.Require(jax[0].directory+\"/\"+this.JAXFILE)),queue.Push({})},needsUpdate:function(jax){var script=jax.SourceElement();return jax.originalText!==BASE.HTML.getScript(script)},Register:function(mimetype){HUB.inputJax||(HUB.inputJax={}),HUB.inputJax[mimetype]=this}},{id:\"InputJax\",version:\"2.7.5\",directory:JAX.directory+\"/input\",extensionDir:JAX.extensionDir}),BASE.OutputJax=JAX.Subclass({copyTranslate:!0,preProcess:function(state){var load,file=this.directory+\"/\"+this.JAXFILE;return this.constructor.prototype.preProcess=function(state){if(!load.called)return load;throw Error(file+\" failed to load properly\")},load=AJAX.Require(file)},Process:function(state){throw Error(this.id+\" output jax failed to load properly\")},Register:function(mimetype){var jax=HUB.outputJax;jax[mimetype]||(jax[mimetype]=[]),jax[mimetype].length&&(this.id===HUB.config.menuSettings.renderer||(jax.order[this.id]||0)<(jax.order[jax[mimetype][0].id]||0))?jax[mimetype].unshift(this):jax[mimetype].push(this),this.require?BASE.Object.isArray(this.require)||(this.require=[this.require]):this.require=[],this.require.push(BASE.ElementJax.directory+\"/\"+mimetype.split(/\\//)[1]+\"/\"+this.JAXFILE)},Remove:function(jax){}},{id:\"OutputJax\",version:\"2.7.5\",directory:JAX.directory+\"/output\",extensionDir:JAX.extensionDir,fontDir:ROOT+(BASE.isPacked?\"\":\"/..\")+\"/fonts\",imageDir:ROOT+(BASE.isPacked?\"\":\"/..\")+\"/images\"}),BASE.ElementJax=JAX.Subclass({Init:function(def,cdef){return this.constructor.Subclass(def,cdef)},inputJax:null,outputJax:null,inputID:null,originalText:\"\",mimeType:\"\",sourceMenuTitle:[\"MathMLcode\",\"MathML Code\"],Text:function(text,callback){var script=this.SourceElement();return BASE.HTML.setScript(script,text),script.MathJax.state=this.STATE.UPDATE,HUB.Update(script,callback)},Reprocess:function(callback){var script=this.SourceElement();return script.MathJax.state=this.STATE.UPDATE,HUB.Reprocess(script,callback)},Update:function(callback){return this.Rerender(callback)},Rerender:function(callback){var script=this.SourceElement();return script.MathJax.state=this.STATE.OUTPUT,HUB.Process(script,callback)},Remove:function(keep){this.hover&&this.hover.clear(this),BASE.OutputJax[this.outputJax].Remove(this),keep||(HUB.signal.Post([\"Remove Math\",this.inputID]),this.Detach())},needsUpdate:function(){return BASE.InputJax[this.inputJax].needsUpdate(this)},SourceElement:function(){return document.getElementById(this.inputID)},Attach:function(script,inputJax){var jax=script.MathJax.elementJax;return script.MathJax.state===this.STATE.UPDATE?jax.Clone(this):(jax=script.MathJax.elementJax=this,script.id?this.inputID=script.id:(script.id=this.inputID=BASE.ElementJax.GetID(),this.newID=1)),jax.originalText=BASE.HTML.getScript(script),jax.inputJax=inputJax,jax.root&&(jax.root.inputID=jax.inputID),jax},Detach:function(){var script=this.SourceElement();if(script){try{delete script.MathJax}catch(err){script.MathJax=null}this.newID&&(script.id=\"\")}},Clone:function(jax){var id;for(id in this)this.hasOwnProperty(id)&&void 0===jax[id]&&\"newID\"!==id&&delete this[id];for(id in jax)jax.hasOwnProperty(id)&&(void 0===this[id]||this[id]!==jax[id]&&\"inputID\"!==id)&&(this[id]=jax[id])}},{id:\"ElementJax\",version:\"2.7.5\",directory:JAX.directory+\"/element\",extensionDir:JAX.extensionDir,ID:0,STATE:{PENDING:1,PROCESSED:2,UPDATE:3,OUTPUT:4},GetID:function(){return this.ID++,\"MathJax-Element-\"+this.ID},Subclass:function(){var obj=JAX.Subclass.apply(this,arguments);return obj.loadComplete=this.prototype.loadComplete,obj}}),BASE.ElementJax.prototype.STATE=BASE.ElementJax.STATE,BASE.OutputJax.Error={id:\"Error\",version:\"2.7.5\",config:{},errors:0,ContextMenu:function(){return BASE.Extension.MathEvents.Event.ContextMenu.apply(BASE.Extension.MathEvents.Event,arguments)},Mousedown:function(){return BASE.Extension.MathEvents.Event.AltContextMenu.apply(BASE.Extension.MathEvents.Event,arguments)},getJaxFromMath:function(math){return(math.nextSibling.MathJax||{}).error},Jax:function(text,script){var jax=MathJax.Hub.inputJax[script.type.replace(/ *;(.|\\s)*/,\"\")];return this.errors++,{inputJax:(jax||{id:\"Error\"}).id,outputJax:\"Error\",inputID:\"MathJax-Error-\"+this.errors,sourceMenuTitle:[\"ErrorMessage\",\"Error Message\"],sourceMenuFormat:\"Error\",originalText:MathJax.HTML.getScript(script),errorText:text}}},BASE.InputJax.Error={id:\"Error\",version:\"2.7.5\",config:{},sourceMenuTitle:[\"Original\",\"Original Form\"]}}(\"MathJax\"),function(BASENAME){var BASE=window.MathJax;BASE||(BASE=window.MathJax={});var HUB=BASE.Hub,STARTUP=HUB.Startup,CONFIG=HUB.config,HEAD=document.head||document.getElementsByTagName(\"head\")[0];HEAD||(HEAD=document.childNodes[0]);var scripts=(document.documentElement||document).getElementsByTagName(\"script\");0===scripts.length&&HEAD.namespaceURI&&(scripts=document.getElementsByTagNameNS(HEAD.namespaceURI,\"script\"));for(var namePattern=new RegExp(\"(^|/)MathJax\\\\.js(\\\\?.*)?$\"),i=scripts.length-1;i>=0;i--)if((scripts[i].src||\"\").match(namePattern)){if(STARTUP.script=scripts[i].innerHTML,RegExp.$2)for(var params=RegExp.$2.substr(1).split(/\\&/),j=0,m=params.length;j<m;j++){var KV=params[j].match(/(.*)=(.*)/);KV?STARTUP.params[unescape(KV[1])]=unescape(KV[2]):STARTUP.params[params[j]]=!0}CONFIG.root=scripts[i].src.replace(/(^|\\/)[^\\/]*(\\?.*)?$/,\"\"),BASE.Ajax.config.root=CONFIG.root,BASE.Ajax.params=STARTUP.params;break}var AGENT=navigator.userAgent,BROWSERS={isMac:\"Mac\"===navigator.platform.substr(0,3),isPC:\"Win\"===navigator.platform.substr(0,3),isMSIE:\"ActiveXObject\"in window&&\"clipboardData\"in window,isEdge:\"MSGestureEvent\"in window&&\"chrome\"in window&&null==window.chrome.loadTimes,isFirefox:!!AGENT.match(/Gecko\\//)&&!AGENT.match(/like Gecko/),isSafari:!(!AGENT.match(/ (Apple)?WebKit\\//)||AGENT.match(/ like iPhone /)||window.chrome&&null!=window.chrome.app),isChrome:\"chrome\"in window&&null!=window.chrome.loadTimes,isOpera:\"opera\"in window&&null!=window.opera.version,isKonqueror:\"konqueror\"in window&&\"KDE\"==navigator.vendor,versionAtLeast:function(v){for(var bv=this.version.split(\".\"),i=0,m=(v=new String(v).split(\".\")).length;i<m;i++)if(bv[i]!=v[i])return parseInt(bv[i]||\"0\")>=parseInt(v[i]);return!0},Select:function(choices){var browser=choices[HUB.Browser];return browser?browser(HUB.Browser):null}},xAGENT=AGENT.replace(/^Mozilla\\/(\\d+\\.)+\\d+ /,\"\").replace(/[a-z][-a-z0-9._: ]+\\/\\d+[^ ]*-[^ ]*\\.([a-z][a-z])?\\d+ /i,\"\").replace(/Gentoo |Ubuntu\\/(\\d+\\.)*\\d+ (\\([^)]*\\) )?/,\"\"),MML,MO,TEXCLASS;for(var browser in HUB.Browser=HUB.Insert(HUB.Insert(new String(\"Unknown\"),{version:\"0.0\"}),BROWSERS),BROWSERS)if(BROWSERS.hasOwnProperty(browser)&&BROWSERS[browser]&&\"is\"===browser.substr(0,2)){if(\"Mac\"===(browser=browser.slice(2))||\"PC\"===browser)continue;HUB.Browser=HUB.Insert(new String(browser),BROWSERS);var VERSION,MATCH=new RegExp(\".*(Version/| Trident/.*; rv:)((?:\\\\d+\\\\.)+\\\\d+)|.*(\"+browser+\")\"+(\"MSIE\"==browser?\" \":\"/\")+\"((?:\\\\d+\\\\.)*\\\\d+)|(?:^|\\\\(| )([a-z][-a-z0-9._: ]+|(?:Apple)?WebKit)/((?:\\\\d+\\\\.)+\\\\d+)\").exec(xAGENT)||[\"\",\"\",\"\",\"unknown\",\"0.0\"];HUB.Browser.name=\"\"!=MATCH[1]?browser:MATCH[3]||MATCH[5],HUB.Browser.version=MATCH[2]||MATCH[4]||MATCH[6];break}try{HUB.Browser.Select({Safari:function(browser){var v=parseInt(String(browser.version).split(\".\")[0]);v>85&&(browser.webkit=browser.version),v>=538?browser.version=\"8.0\":v>=537?browser.version=\"7.0\":v>=536?browser.version=\"6.0\":v>=534?browser.version=\"5.1\":v>=533?browser.version=\"5.0\":v>=526?browser.version=\"4.0\":v>=525?browser.version=\"3.1\":v>500?browser.version=\"3.0\":v>400?browser.version=\"2.0\":v>85&&(browser.version=\"1.0\"),browser.webkit=navigator.appVersion.match(/WebKit\\/(\\d+)\\./)[1],browser.isMobile=null!=navigator.appVersion.match(/Mobile/i),browser.noContextMenu=browser.isMobile},Firefox:function(browser){if((\"0.0\"===browser.version||null==AGENT.match(/Firefox/))&&\"Gecko\"===navigator.product){var rv=AGENT.match(/[\\/ ]rv:(\\d+\\.\\d.*?)[\\) ]/);if(rv)browser.version=rv[1];else{var date=(navigator.buildID||navigator.productSub||\"0\").substr(0,8);date>=\"20111220\"?browser.version=\"9.0\":date>=\"20111120\"?browser.version=\"8.0\":date>=\"20110927\"?browser.version=\"7.0\":date>=\"20110816\"?browser.version=\"6.0\":date>=\"20110621\"?browser.version=\"5.0\":date>=\"20110320\"?browser.version=\"4.0\":date>=\"20100121\"?browser.version=\"3.6\":date>=\"20090630\"?browser.version=\"3.5\":date>=\"20080617\"?browser.version=\"3.0\":date>=\"20061024\"&&(browser.version=\"2.0\")}}browser.isMobile=null!=navigator.appVersion.match(/Android/i)||null!=AGENT.match(/ Fennec\\//)||null!=AGENT.match(/Mobile/)},Chrome:function(browser){browser.noContextMenu=browser.isMobile=!!navigator.userAgent.match(/ Mobile[ \\/]/)},Opera:function(browser){browser.version=opera.version()},Edge:function(browser){browser.isMobile=!!navigator.userAgent.match(/ Phone/)},MSIE:function(browser){if(browser.isMobile=!!navigator.userAgent.match(/ Phone/),browser.isIE9=!(!document.documentMode||!window.performance&&!window.msPerformance),MathJax.HTML.setScriptBug=!browser.isIE9||document.documentMode<9,MathJax.Hub.msieHTMLCollectionBug=document.documentMode<9,document.documentMode<10&&!STARTUP.params.NoMathPlayer){try{new ActiveXObject(\"MathPlayer.Factory.1\"),browser.hasMathPlayer=!0}catch(err){}try{if(browser.hasMathPlayer){var mathplayer=document.createElement(\"object\");mathplayer.id=\"mathplayer\",mathplayer.classid=\"clsid:32F66A20-7614-11D4-BD11-00104BD3F987\",HEAD.appendChild(mathplayer),document.namespaces.add(\"m\",\"http://www.w3.org/1998/Math/MathML\"),browser.mpNamespace=!0,!document.readyState||\"loading\"!==document.readyState&&\"interactive\"!==document.readyState||(document.write('<?import namespace=\"m\" implementation=\"#MathPlayer\">'),browser.mpImported=!0)}else document.namespaces.add(\"mjx_IE_fix\",\"http://www.w3.org/1999/xlink\")}catch(err){}}}})}catch(err){console.error(err.message)}MathJax.Ajax.Preloading(\"[MathJax]/jax/element/mml/jax.js\",\"[MathJax]/jax/element/mml/optable/Arrows.js\",\"[MathJax]/jax/element/mml/optable/MiscMathSymbolsA.js\",\"[MathJax]/jax/element/mml/optable/Dingbats.js\",\"[MathJax]/jax/element/mml/optable/GeneralPunctuation.js\",\"[MathJax]/jax/element/mml/optable/SpacingModLetters.js\",\"[MathJax]/jax/element/mml/optable/MiscTechnical.js\",\"[MathJax]/jax/element/mml/optable/SupplementalArrowsA.js\",\"[MathJax]/jax/element/mml/optable/GreekAndCoptic.js\",\"[MathJax]/jax/element/mml/optable/LetterlikeSymbols.js\",\"[MathJax]/jax/element/mml/optable/SupplementalArrowsB.js\",\"[MathJax]/jax/element/mml/optable/BasicLatin.js\",\"[MathJax]/jax/element/mml/optable/MiscSymbolsAndArrows.js\",\"[MathJax]/jax/element/mml/optable/CombDiacritMarks.js\",\"[MathJax]/jax/element/mml/optable/GeometricShapes.js\",\"[MathJax]/jax/element/mml/optable/MathOperators.js\",\"[MathJax]/jax/element/mml/optable/MiscMathSymbolsB.js\",\"[MathJax]/jax/element/mml/optable/SuppMathOperators.js\",\"[MathJax]/jax/element/mml/optable/CombDiactForSymbols.js\",\"[MathJax]/jax/element/mml/optable/Latin1Supplement.js\",\"[MathJax]/extensions/MathEvents.js\",\"[MathJax]/extensions/MathZoom.js\",\"[MathJax]/extensions/MathMenu.js\",\"[MathJax]/extensions/toMathML.js\",\"[MathJax]/extensions/HelpDialog.js\",\"[MathJax]/jax/input/TeX/config.js\",\"[MathJax]/jax/input/TeX/jax.js\",\"[MathJax]/jax/output/CommonHTML/config.js\",\"[MathJax]/jax/output/CommonHTML/jax.js\",\"[MathJax]/jax/output/CommonHTML/autoload/annotation-xml.js\",\"[MathJax]/jax/output/CommonHTML/autoload/maction.js\",\"[MathJax]/jax/output/CommonHTML/autoload/menclose.js\",\"[MathJax]/jax/output/CommonHTML/autoload/mglyph.js\",\"[MathJax]/jax/output/CommonHTML/autoload/mmultiscripts.js\",\"[MathJax]/jax/output/CommonHTML/autoload/ms.js\",\"[MathJax]/jax/output/CommonHTML/autoload/mtable.js\",\"[MathJax]/jax/output/CommonHTML/autoload/multiline.js\",\"[MathJax]/extensions/tex2jax.js\",\"[MathJax]/extensions/TeX/AMScd.js\",\"[MathJax]/extensions/TeX/AMSmath.js\",\"[MathJax]/extensions/TeX/AMSsymbols.js\",\"[MathJax]/extensions/TeX/HTML.js\",\"[MathJax]/extensions/TeX/action.js\",\"[MathJax]/extensions/TeX/autobold.js\",\"[MathJax]/extensions/TeX/bbox.js\",\"[MathJax]/extensions/TeX/boldsymbol.js\",\"[MathJax]/extensions/TeX/cancel.js\",\"[MathJax]/extensions/TeX/color.js\",\"[MathJax]/extensions/TeX/enclose.js\",\"[MathJax]/extensions/TeX/extpfeil.js\",\"[MathJax]/extensions/TeX/mathchoice.js\",\"[MathJax]/extensions/TeX/mediawiki-texvc.js\",\"[MathJax]/extensions/TeX/mhchem.js\",\"[MathJax]/extensions/TeX/newcommand.js\",\"[MathJax]/extensions/TeX/unicode.js\",\"[MathJax]/extensions/TeX/verb.js\",\"[MathJax]/jax/output/CommonHTML/fonts/TeX/fontdata.js\",\"[MathJax]/jax/output/CommonHTML/fonts/TeX/fontdata-extra.js\",\"[MathJax]/jax/output/CommonHTML/fonts/TeX/AMS-Regular.js\",\"[MathJax]/jax/output/CommonHTML/fonts/TeX/Caligraphic-Bold.js\",\"[MathJax]/jax/output/CommonHTML/fonts/TeX/Fraktur-Bold.js\",\"[MathJax]/jax/output/CommonHTML/fonts/TeX/Fraktur-Regular.js\",\"[MathJax]/jax/output/CommonHTML/fonts/TeX/Math-BoldItalic.js\",\"[MathJax]/jax/output/CommonHTML/fonts/TeX/SansSerif-Bold.js\",\"[MathJax]/jax/output/CommonHTML/fonts/TeX/SansSerif-Italic.js\",\"[MathJax]/jax/output/CommonHTML/fonts/TeX/SansSerif-Regular.js\",\"[MathJax]/jax/output/CommonHTML/fonts/TeX/Script-Regular.js\",\"[MathJax]/jax/output/CommonHTML/fonts/TeX/Typewriter-Regular.js\"),MathJax.Hub.Config({\"v1.0-compatible\":!1}),MathJax.ElementJax.mml=MathJax.ElementJax({mimeType:\"jax/mml\"},{id:\"mml\",version:\"2.7.5\",directory:MathJax.ElementJax.directory+\"/mml\",extensionDir:MathJax.ElementJax.extensionDir+\"/mml\",optableDir:MathJax.ElementJax.directory+\"/mml/optable\"}),MathJax.ElementJax.mml.Augment({Init:function(){if(1===arguments.length&&\"math\"===arguments[0].type?this.root=arguments[0]:this.root=MathJax.ElementJax.mml.math.apply(this,arguments),this.root.attr&&this.root.attr.mode){this.root.display||\"display\"!==this.root.attr.mode||(this.root.display=\"block\",this.root.attrNames.push(\"display\")),delete this.root.attr.mode;for(var i=0,m=this.root.attrNames.length;i<m;i++)if(\"mode\"===this.root.attrNames[i]){this.root.attrNames.splice(i,1);break}}}},{INHERIT:\"_inherit_\",AUTO:\"_auto_\",SIZE:{INFINITY:\"infinity\",SMALL:\"small\",NORMAL:\"normal\",BIG:\"big\"},COLOR:{TRANSPARENT:\"transparent\"},VARIANT:{NORMAL:\"normal\",BOLD:\"bold\",ITALIC:\"italic\",BOLDITALIC:\"bold-italic\",DOUBLESTRUCK:\"double-struck\",FRAKTUR:\"fraktur\",BOLDFRAKTUR:\"bold-fraktur\",SCRIPT:\"script\",BOLDSCRIPT:\"bold-script\",SANSSERIF:\"sans-serif\",BOLDSANSSERIF:\"bold-sans-serif\",SANSSERIFITALIC:\"sans-serif-italic\",SANSSERIFBOLDITALIC:\"sans-serif-bold-italic\",MONOSPACE:\"monospace\",INITIAL:\"initial\",TAILED:\"tailed\",LOOPED:\"looped\",STRETCHED:\"stretched\",CALIGRAPHIC:\"-tex-caligraphic\",OLDSTYLE:\"-tex-oldstyle\"},FORM:{PREFIX:\"prefix\",INFIX:\"infix\",POSTFIX:\"postfix\"},LINEBREAK:{AUTO:\"auto\",NEWLINE:\"newline\",NOBREAK:\"nobreak\",GOODBREAK:\"goodbreak\",BADBREAK:\"badbreak\"},LINEBREAKSTYLE:{BEFORE:\"before\",AFTER:\"after\",DUPLICATE:\"duplicate\",INFIXLINBREAKSTYLE:\"infixlinebreakstyle\"},INDENTALIGN:{LEFT:\"left\",CENTER:\"center\",RIGHT:\"right\",AUTO:\"auto\",ID:\"id\",INDENTALIGN:\"indentalign\"},INDENTSHIFT:{INDENTSHIFT:\"indentshift\"},LINETHICKNESS:{THIN:\"thin\",MEDIUM:\"medium\",THICK:\"thick\"},NOTATION:{LONGDIV:\"longdiv\",ACTUARIAL:\"actuarial\",RADICAL:\"radical\",BOX:\"box\",ROUNDEDBOX:\"roundedbox\",CIRCLE:\"circle\",LEFT:\"left\",RIGHT:\"right\",TOP:\"top\",BOTTOM:\"bottom\",UPDIAGONALSTRIKE:\"updiagonalstrike\",DOWNDIAGONALSTRIKE:\"downdiagonalstrike\",UPDIAGONALARROW:\"updiagonalarrow\",VERTICALSTRIKE:\"verticalstrike\",HORIZONTALSTRIKE:\"horizontalstrike\",PHASORANGLE:\"phasorangle\",MADRUWB:\"madruwb\"},ALIGN:{TOP:\"top\",BOTTOM:\"bottom\",CENTER:\"center\",BASELINE:\"baseline\",AXIS:\"axis\",LEFT:\"left\",RIGHT:\"right\"},LINES:{NONE:\"none\",SOLID:\"solid\",DASHED:\"dashed\"},SIDE:{LEFT:\"left\",RIGHT:\"right\",LEFTOVERLAP:\"leftoverlap\",RIGHTOVERLAP:\"rightoverlap\"},WIDTH:{AUTO:\"auto\",FIT:\"fit\"},ACTIONTYPE:{TOGGLE:\"toggle\",STATUSLINE:\"statusline\",TOOLTIP:\"tooltip\",INPUT:\"input\"},LENGTH:{VERYVERYTHINMATHSPACE:\"veryverythinmathspace\",VERYTHINMATHSPACE:\"verythinmathspace\",THINMATHSPACE:\"thinmathspace\",MEDIUMMATHSPACE:\"mediummathspace\",THICKMATHSPACE:\"thickmathspace\",VERYTHICKMATHSPACE:\"verythickmathspace\",VERYVERYTHICKMATHSPACE:\"veryverythickmathspace\",NEGATIVEVERYVERYTHINMATHSPACE:\"negativeveryverythinmathspace\",NEGATIVEVERYTHINMATHSPACE:\"negativeverythinmathspace\",NEGATIVETHINMATHSPACE:\"negativethinmathspace\",NEGATIVEMEDIUMMATHSPACE:\"negativemediummathspace\",NEGATIVETHICKMATHSPACE:\"negativethickmathspace\",NEGATIVEVERYTHICKMATHSPACE:\"negativeverythickmathspace\",NEGATIVEVERYVERYTHICKMATHSPACE:\"negativeveryverythickmathspace\"},OVERFLOW:{LINBREAK:\"linebreak\",SCROLL:\"scroll\",ELIDE:\"elide\",TRUNCATE:\"truncate\",SCALE:\"scale\"},UNIT:{EM:\"em\",EX:\"ex\",PX:\"px\",IN:\"in\",CM:\"cm\",MM:\"mm\",PT:\"pt\",PC:\"pc\"},TEXCLASS:{ORD:0,OP:1,BIN:2,REL:3,OPEN:4,CLOSE:5,PUNCT:6,INNER:7,VCENTER:8,NONE:-1},TEXCLASSNAMES:[\"ORD\",\"OP\",\"BIN\",\"REL\",\"OPEN\",\"CLOSE\",\"PUNCT\",\"INNER\",\"VCENTER\"],skipAttributes:{texClass:!0,useHeight:!0,texprimestyle:!0},copyAttributes:{displaystyle:1,scriptlevel:1,open:1,close:1,form:1,actiontype:1,fontfamily:!0,fontsize:!0,fontweight:!0,fontstyle:!0,color:!0,background:!0,id:!0,class:1,href:!0,style:!0},copyAttributeNames:[\"displaystyle\",\"scriptlevel\",\"open\",\"close\",\"form\",\"actiontype\",\"fontfamily\",\"fontsize\",\"fontweight\",\"fontstyle\",\"color\",\"background\",\"id\",\"class\",\"href\",\"style\"],nocopyAttributes:{fontfamily:!0,fontsize:!0,fontweight:!0,fontstyle:!0,color:!0,background:!0,id:!0,class:!0,href:!0,style:!0,xmlns:!0},Error:function(message,def){var mml=this.merror(message),dir=MathJax.Localization.fontDirection(),font=MathJax.Localization.fontFamily();return def&&(mml=mml.With(def)),(dir||font)&&(mml=this.mstyle(mml),dir&&(mml.dir=dir),font&&(mml.style.fontFamily=\"font-family: \"+font)),mml}}),function(MML){MML.mbase=MathJax.Object.Subclass({type:\"base\",isToken:!1,defaults:{mathbackground:MML.INHERIT,mathcolor:MML.INHERIT,dir:MML.INHERIT},noInherit:{},noInheritAttribute:{texClass:!0},getRemoved:{},linebreakContainer:!1,Init:function(){this.data=[],!this.inferRow||1===arguments.length&&arguments[0].inferred||this.Append(MML.mrow().With({inferred:!0,notParent:!0})),this.Append.apply(this,arguments)},With:function(def){for(var id in def)def.hasOwnProperty(id)&&(this[id]=def[id]);return this},Append:function(){if(this.inferRow&&this.data.length)this.data[0].Append.apply(this.data[0],arguments);else for(var i=0,m=arguments.length;i<m;i++)this.SetData(this.data.length,arguments[i])},SetData:function(i,item){null!=item&&(item instanceof MML.mbase||(item=this.isToken||this.isChars?MML.chars(item):MML.mtext(item)),item.parent=this,item.setInherit(this.inheritFromMe?this:this.inherit)),this.data[i]=item},Parent:function(){for(var parent=this.parent;parent&&parent.notParent;)parent=parent.parent;return parent},Get:function(name,nodefault,noself){if(!noself){if(null!=this[name])return this[name];if(this.attr&&null!=this.attr[name])return this.attr[name]}var parent=this.Parent();if(parent&&null!=parent[\"adjustChild_\"+name])return parent[\"adjustChild_\"+name](this.childPosition(),nodefault);for(var obj=this.inherit,root=obj;obj;){var value=obj[name];if(null==value&&obj.attr&&(value=obj.attr[name]),obj.removedStyles&&obj.getRemoved[name]&&null==value&&(value=obj.removedStyles[obj.getRemoved[name]]),null!=value&&obj.noInheritAttribute&&!obj.noInheritAttribute[name]){var noInherit=obj.noInherit[this.type];if(!noInherit||!noInherit[name])return value}root=obj,obj=obj.inherit}if(!nodefault){if(this.defaults[name]===MML.AUTO)return this.autoDefault(name);if(this.defaults[name]!==MML.INHERIT&&null!=this.defaults[name])return this.defaults[name];if(root)return root.defaults[name]}return null},hasValue:function(name){return null!=this.Get(name,!0)},getValues:function(){for(var values={},i=0,m=arguments.length;i<m;i++)values[arguments[i]]=this.Get(arguments[i]);return values},adjustChild_scriptlevel:function(i,nodef){return this.Get(\"scriptlevel\",nodef)},adjustChild_displaystyle:function(i,nodef){return this.Get(\"displaystyle\",nodef)},adjustChild_texprimestyle:function(i,nodef){return this.Get(\"texprimestyle\",nodef)},hasMMLspacing:function(){return!1},childPosition:function(){for(var child=this,parent=child.parent;parent.notParent;)parent=(child=parent).parent;for(var i=0,m=parent.data.length;i<m;i++)if(parent.data[i]===child)return i;return null},setInherit:function(obj){if(obj!==this.inherit&&null==this.inherit){this.inherit=obj;for(var i=0,m=this.data.length;i<m;i++)this.data[i]&&this.data[i].setInherit&&this.data[i].setInherit(obj)}},setTeXclass:function(prev){return this.getPrevClass(prev),void 0!==this.texClass?this:prev},getPrevClass:function(prev){prev&&(this.prevClass=prev.Get(\"texClass\"),this.prevLevel=prev.Get(\"scriptlevel\"))},updateTeXclass:function(core){core&&(this.prevClass=core.prevClass,delete core.prevClass,this.prevLevel=core.prevLevel,delete core.prevLevel,this.texClass=core.Get(\"texClass\"))},texSpacing:function(){var prev=null!=this.prevClass?this.prevClass:MML.TEXCLASS.NONE,tex=this.Get(\"texClass\")||MML.TEXCLASS.ORD;if(prev===MML.TEXCLASS.NONE||tex===MML.TEXCLASS.NONE)return\"\";prev===MML.TEXCLASS.VCENTER&&(prev=MML.TEXCLASS.ORD),tex===MML.TEXCLASS.VCENTER&&(tex=MML.TEXCLASS.ORD);var space=this.TEXSPACE[prev][tex];return(this.prevLevel>0||this.Get(\"scriptlevel\")>0)&&space>=0?\"\":this.TEXSPACELENGTH[Math.abs(space)]},TEXSPACELENGTH:[\"\",MML.LENGTH.THINMATHSPACE,MML.LENGTH.MEDIUMMATHSPACE,MML.LENGTH.THICKMATHSPACE],TEXSPACE:[[0,-1,2,3,0,0,0,1],[-1,-1,0,3,0,0,0,1],[2,2,0,0,2,0,0,2],[3,3,0,0,3,0,0,3],[0,0,0,0,0,0,0,0],[0,-1,2,3,0,0,0,1],[1,1,0,1,1,1,1,1],[1,-1,2,3,1,0,1,1]],autoDefault:function(name){return\"\"},isSpacelike:function(){return!1},isEmbellished:function(){return!1},Core:function(){return this},CoreMO:function(){return this},childIndex:function(child){if(null!=child)for(var i=0,m=this.data.length;i<m;i++)if(child===this.data[i])return i},CoreIndex:function(){return(this.inferRow&&this.data[0]||this).childIndex(this.Core())},hasNewline:function(){if(this.isEmbellished())return this.CoreMO().hasNewline();if(this.isToken||this.linebreakContainer)return!1;for(var i=0,m=this.data.length;i<m;i++)if(this.data[i]&&this.data[i].hasNewline())return!0;return!1},array:function(){return this.inferred?this.data:[this]},toString:function(){return this.type+\"(\"+this.data.join(\",\")+\")\"},getAnnotation:function(){return null}},{childrenSpacelike:function(){for(var i=0,m=this.data.length;i<m;i++)if(!this.data[i].isSpacelike())return!1;return!0},childEmbellished:function(){return this.data[0]&&this.data[0].isEmbellished()},childCore:function(){return this.inferRow&&this.data[0]?this.data[0].Core():this.data[0]},childCoreMO:function(){return this.data[0]?this.data[0].CoreMO():null},setChildTeXclass:function(prev){return this.data[0]&&(prev=this.data[0].setTeXclass(prev),this.updateTeXclass(this.data[0])),prev},setBaseTeXclasses:function(prev){this.getPrevClass(prev),this.texClass=null,this.data[0]?this.isEmbellished()||this.data[0].isa(MML.mi)?(prev=this.data[0].setTeXclass(prev),this.updateTeXclass(this.Core())):(this.data[0].setTeXclass(),prev=this):prev=this;for(var i=1,m=this.data.length;i<m;i++)this.data[i]&&this.data[i].setTeXclass();return prev},setSeparateTeXclasses:function(prev){this.getPrevClass(prev);for(var i=0,m=this.data.length;i<m;i++)this.data[i]&&this.data[i].setTeXclass();return this.isEmbellished()&&this.updateTeXclass(this.Core()),this}}),MML.mi=MML.mbase.Subclass({type:\"mi\",isToken:!0,texClass:MML.TEXCLASS.ORD,defaults:{mathvariant:MML.AUTO,mathsize:MML.INHERIT,mathbackground:MML.INHERIT,mathcolor:MML.INHERIT,dir:MML.INHERIT},autoDefault:function(name){if(\"mathvariant\"===name){var mi=(this.data[0]||\"\").toString();return 1===mi.length||2===mi.length&&mi.charCodeAt(0)>=55296&&mi.charCodeAt(0)<56320?MML.VARIANT.ITALIC:MML.VARIANT.NORMAL}return\"\"},setTeXclass:function(prev){this.getPrevClass(prev);var name=this.data.join(\"\");return name.length>1&&name.match(/^[a-z][a-z0-9]*$/i)&&this.texClass===MML.TEXCLASS.ORD&&(this.texClass=MML.TEXCLASS.OP,this.autoOP=!0),this}}),MML.mn=MML.mbase.Subclass({type:\"mn\",isToken:!0,texClass:MML.TEXCLASS.ORD,defaults:{mathvariant:MML.INHERIT,mathsize:MML.INHERIT,mathbackground:MML.INHERIT,mathcolor:MML.INHERIT,dir:MML.INHERIT}}),MML.mo=MML.mbase.Subclass({type:\"mo\",isToken:!0,defaults:{mathvariant:MML.INHERIT,mathsize:MML.INHERIT,mathbackground:MML.INHERIT,mathcolor:MML.INHERIT,dir:MML.INHERIT,form:MML.AUTO,fence:MML.AUTO,separator:MML.AUTO,lspace:MML.AUTO,rspace:MML.AUTO,stretchy:MML.AUTO,symmetric:MML.AUTO,maxsize:MML.AUTO,minsize:MML.AUTO,largeop:MML.AUTO,movablelimits:MML.AUTO,accent:MML.AUTO,linebreak:MML.LINEBREAK.AUTO,lineleading:MML.INHERIT,linebreakstyle:MML.AUTO,linebreakmultchar:MML.INHERIT,indentalign:MML.INHERIT,indentshift:MML.INHERIT,indenttarget:MML.INHERIT,indentalignfirst:MML.INHERIT,indentshiftfirst:MML.INHERIT,indentalignlast:MML.INHERIT,indentshiftlast:MML.INHERIT,texClass:MML.AUTO},defaultDef:{form:MML.FORM.INFIX,fence:!1,separator:!1,lspace:MML.LENGTH.THICKMATHSPACE,rspace:MML.LENGTH.THICKMATHSPACE,stretchy:!1,symmetric:!1,maxsize:MML.SIZE.INFINITY,minsize:\"0em\",largeop:!1,movablelimits:!1,accent:!1,linebreak:MML.LINEBREAK.AUTO,lineleading:\"1ex\",linebreakstyle:\"before\",indentalign:MML.INDENTALIGN.AUTO,indentshift:\"0\",indenttarget:\"\",indentalignfirst:MML.INDENTALIGN.INDENTALIGN,indentshiftfirst:MML.INDENTSHIFT.INDENTSHIFT,indentalignlast:MML.INDENTALIGN.INDENTALIGN,indentshiftlast:MML.INDENTSHIFT.INDENTSHIFT,texClass:MML.TEXCLASS.REL},SPACE_ATTR:{lspace:1,rspace:2},useMMLspacing:3,hasMMLspacing:function(){return!!this.useMMLspacing||this.form&&(this.OPTABLE[this.form]||{})[this.data.join(\"\")]},autoDefault:function(name,nodefault){var def=this.def;if(!def){if(\"form\"===name)return this.getForm();for(var mo=this.data.join(\"\"),forms=[this.Get(\"form\"),MML.FORM.INFIX,MML.FORM.POSTFIX,MML.FORM.PREFIX],i=0,m=forms.length;i<m;i++){var data=this.OPTABLE[forms[i]][mo];if(data){def=this.makeDef(data);break}}def||(def=this.CheckRange(mo)),!def&&nodefault?def={}:(def||(def=MathJax.Hub.Insert({},this.defaultDef)),this.parent?this.def=def:def=MathJax.Hub.Insert({},def),def.form=forms[0])}return this.useMMLspacing&=~(this.SPACE_ATTR[name]||0),null!=def[name]?def[name]:nodefault?\"\":this.defaultDef[name]},CheckRange:function(mo){var n=mo.charCodeAt(0);n>=55296&&n<56320&&(n=(n-55296<<10)+(mo.charCodeAt(1)-56320)+65536);for(var i=0,m=this.RANGES.length;i<m&&this.RANGES[i][0]<=n;i++)if(n<=this.RANGES[i][1]){if(this.RANGES[i][3]){var file=MML.optableDir+\"/\"+this.RANGES[i][3]+\".js\";this.RANGES[i][3]=null,MathJax.Hub.RestartAfter(MathJax.Ajax.Require(file))}var data=MML.TEXCLASSNAMES[this.RANGES[i][2]];return data=this.OPTABLE.infix[mo]=MML.mo.OPTYPES[\"BIN\"===data?\"BIN3\":data],this.makeDef(data)}return null},makeDef:function(data){null==data[2]&&(data[2]=this.defaultDef.texClass),data[3]||(data[3]={});var def=MathJax.Hub.Insert({},data[3]);return def.lspace=this.SPACE[data[0]],def.rspace=this.SPACE[data[1]],def.texClass=data[2],def.texClass===MML.TEXCLASS.REL&&(this.movablelimits||this.data.join(\"\").match(/^[a-z]+$/i))&&(def.texClass=MML.TEXCLASS.OP),def},getForm:function(){for(var core=this,parent=this.parent,Parent=this.Parent();Parent&&Parent.isEmbellished();)core=parent,parent=Parent.parent,Parent=Parent.Parent();if(parent&&\"mrow\"===parent.type&&1!==parent.NonSpaceLength()){if(parent.FirstNonSpace()===core)return MML.FORM.PREFIX;if(parent.LastNonSpace()===core)return MML.FORM.POSTFIX}return MML.FORM.INFIX},isEmbellished:function(){return!0},hasNewline:function(){return this.Get(\"linebreak\")===MML.LINEBREAK.NEWLINE},CoreParent:function(){for(var parent=this;parent&&parent.isEmbellished()&&parent.CoreMO()===this&&!parent.isa(MML.math);)parent=parent.Parent();return parent},CoreText:function(parent){if(!parent)return\"\";if(parent.isEmbellished())return parent.CoreMO().data.join(\"\");for(;((parent.isa(MML.mrow)||parent.isa(MML.TeXAtom)||parent.isa(MML.mstyle)||parent.isa(MML.mphantom))&&1===parent.data.length||parent.isa(MML.munderover))&&parent.data[0];)parent=parent.data[0];return parent.isToken?parent.data.join(\"\"):\"\"},remapChars:{\"*\":\"∗\",'\"':\"″\",\"°\":\"∘\",\"²\":\"2\",\"³\":\"3\",\"´\":\"′\",\"¹\":\"1\"},remap:function(text,map){return text=text.replace(/-/g,\"−\"),map&&1===(text=text.replace(/'/g,\"′\").replace(/`/g,\"‵\")).length&&(text=map[text]||text),text},setTeXclass:function(prev){var values=this.getValues(\"form\",\"lspace\",\"rspace\",\"fence\");return this.hasMMLspacing()?(this.texClass=MML.TEXCLASS.NONE,this):(values.fence&&!this.texClass&&(values.form===MML.FORM.PREFIX&&(this.texClass=MML.TEXCLASS.OPEN),values.form===MML.FORM.POSTFIX&&(this.texClass=MML.TEXCLASS.CLOSE)),this.texClass=this.Get(\"texClass\"),\"⁡\"===this.data.join(\"\")?(prev&&(prev.texClass=MML.TEXCLASS.OP,prev.fnOP=!0),this.texClass=this.prevClass=MML.TEXCLASS.NONE,prev):this.adjustTeXclass(prev))},adjustTeXclass:function(prev){if(this.texClass===MML.TEXCLASS.NONE)return prev;if(prev?(!prev.autoOP||this.texClass!==MML.TEXCLASS.BIN&&this.texClass!==MML.TEXCLASS.REL||(prev.texClass=MML.TEXCLASS.ORD),this.prevClass=prev.texClass||MML.TEXCLASS.ORD,this.prevLevel=prev.Get(\"scriptlevel\")):this.prevClass=MML.TEXCLASS.NONE,this.texClass!==MML.TEXCLASS.BIN||this.prevClass!==MML.TEXCLASS.NONE&&this.prevClass!==MML.TEXCLASS.BIN&&this.prevClass!==MML.TEXCLASS.OP&&this.prevClass!==MML.TEXCLASS.REL&&this.prevClass!==MML.TEXCLASS.OPEN&&this.prevClass!==MML.TEXCLASS.PUNCT)if(this.prevClass!==MML.TEXCLASS.BIN||this.texClass!==MML.TEXCLASS.REL&&this.texClass!==MML.TEXCLASS.CLOSE&&this.texClass!==MML.TEXCLASS.PUNCT){if(this.texClass===MML.TEXCLASS.BIN){for(var child=this,parent=this.parent;parent&&parent.parent&&parent.isEmbellished()&&(1===parent.data.length||\"mrow\"!==parent.type&&parent.Core()===child);)child=parent,parent=parent.parent;parent.data[parent.data.length-1]===child&&(this.texClass=MML.TEXCLASS.ORD)}}else prev.texClass=this.prevClass=MML.TEXCLASS.ORD;else this.texClass=MML.TEXCLASS.ORD;return this}}),MML.mtext=MML.mbase.Subclass({type:\"mtext\",isToken:!0,isSpacelike:function(){return!0},texClass:MML.TEXCLASS.ORD,defaults:{mathvariant:MML.INHERIT,mathsize:MML.INHERIT,mathbackground:MML.INHERIT,mathcolor:MML.INHERIT,dir:MML.INHERIT}}),MML.mspace=MML.mbase.Subclass({type:\"mspace\",isToken:!0,isSpacelike:function(){return!0},defaults:{mathbackground:MML.INHERIT,mathcolor:MML.INHERIT,width:\"0em\",height:\"0ex\",depth:\"0ex\",linebreak:MML.LINEBREAK.AUTO},hasDimAttr:function(){return this.hasValue(\"width\")||this.hasValue(\"height\")||this.hasValue(\"depth\")},hasNewline:function(){return!this.hasDimAttr()&&this.Get(\"linebreak\")===MML.LINEBREAK.NEWLINE}}),MML.ms=MML.mbase.Subclass({type:\"ms\",isToken:!0,texClass:MML.TEXCLASS.ORD,defaults:{mathvariant:MML.INHERIT,mathsize:MML.INHERIT,mathbackground:MML.INHERIT,mathcolor:MML.INHERIT,dir:MML.INHERIT,lquote:'\"',rquote:'\"'}}),MML.mglyph=MML.mbase.Subclass({type:\"mglyph\",isToken:!0,texClass:MML.TEXCLASS.ORD,defaults:{mathbackground:MML.INHERIT,mathcolor:MML.INHERIT,alt:\"\",src:\"\",width:MML.AUTO,height:MML.AUTO,valign:\"0em\"}}),MML.mrow=MML.mbase.Subclass({type:\"mrow\",isSpacelike:MML.mbase.childrenSpacelike,inferred:!1,notParent:!1,isEmbellished:function(){for(var isEmbellished=!1,i=0,m=this.data.length;i<m;i++)if(null!=this.data[i])if(this.data[i].isEmbellished()){if(isEmbellished)return!1;isEmbellished=!0,this.core=i}else if(!this.data[i].isSpacelike())return!1;return isEmbellished},NonSpaceLength:function(){for(var n=0,i=0,m=this.data.length;i<m;i++)this.data[i]&&!this.data[i].isSpacelike()&&n++;return n},FirstNonSpace:function(){for(var i=0,m=this.data.length;i<m;i++)if(this.data[i]&&!this.data[i].isSpacelike())return this.data[i];return null},LastNonSpace:function(){for(var i=this.data.length-1;i>=0;i--)if(this.data[0]&&!this.data[i].isSpacelike())return this.data[i];return null},Core:function(){return this.isEmbellished()&&void 0!==this.core?this.data[this.core]:this},CoreMO:function(){return this.isEmbellished()&&void 0!==this.core?this.data[this.core].CoreMO():this},toString:function(){return this.inferred?\"[\"+this.data.join(\",\")+\"]\":this.SUPER(arguments).toString.call(this)},setTeXclass:function(prev){var i,m=this.data.length;if(!this.open&&!this.close||prev&&prev.fnOP){for(i=0;i<m;i++)this.data[i]&&(prev=this.data[i].setTeXclass(prev));return this.data[0]&&this.updateTeXclass(this.data[0]),prev}for(this.getPrevClass(prev),prev=null,i=0;i<m;i++)this.data[i]&&(prev=this.data[i].setTeXclass(prev));return this.hasOwnProperty(\"texClass\")||(this.texClass=MML.TEXCLASS.INNER),this},getAnnotation:function(name){return 1!=this.data.length?null:this.data[0].getAnnotation(name)}}),MML.mfrac=MML.mbase.Subclass({type:\"mfrac\",num:0,den:1,linebreakContainer:!0,isEmbellished:MML.mbase.childEmbellished,Core:MML.mbase.childCore,CoreMO:MML.mbase.childCoreMO,defaults:{mathbackground:MML.INHERIT,mathcolor:MML.INHERIT,linethickness:MML.LINETHICKNESS.MEDIUM,numalign:MML.ALIGN.CENTER,denomalign:MML.ALIGN.CENTER,bevelled:!1},adjustChild_displaystyle:function(n){return!1},adjustChild_scriptlevel:function(n){var level=this.Get(\"scriptlevel\");return(!this.Get(\"displaystyle\")||level>0)&&level++,level},adjustChild_texprimestyle:function(n){return n==this.den||this.Get(\"texprimestyle\")},setTeXclass:MML.mbase.setSeparateTeXclasses}),MML.msqrt=MML.mbase.Subclass({type:\"msqrt\",inferRow:!0,linebreakContainer:!0,texClass:MML.TEXCLASS.ORD,setTeXclass:MML.mbase.setSeparateTeXclasses,adjustChild_texprimestyle:function(n){return!0}}),MML.mroot=MML.mbase.Subclass({type:\"mroot\",linebreakContainer:!0,texClass:MML.TEXCLASS.ORD,adjustChild_displaystyle:function(n){return 1!==n&&this.Get(\"displaystyle\")},adjustChild_scriptlevel:function(n){var level=this.Get(\"scriptlevel\");return 1===n&&(level+=2),level},adjustChild_texprimestyle:function(n){return 0===n||this.Get(\"texprimestyle\")},setTeXclass:MML.mbase.setSeparateTeXclasses}),MML.mstyle=MML.mbase.Subclass({type:\"mstyle\",isSpacelike:MML.mbase.childrenSpacelike,isEmbellished:MML.mbase.childEmbellished,Core:MML.mbase.childCore,CoreMO:MML.mbase.childCoreMO,inferRow:!0,defaults:{scriptlevel:MML.INHERIT,displaystyle:MML.INHERIT,scriptsizemultiplier:Math.sqrt(.5),scriptminsize:\"8pt\",mathbackground:MML.INHERIT,mathcolor:MML.INHERIT,dir:MML.INHERIT,infixlinebreakstyle:MML.LINEBREAKSTYLE.BEFORE,decimalseparator:\".\"},adjustChild_scriptlevel:function(n){var level=this.scriptlevel;if(null==level)level=this.Get(\"scriptlevel\");else if(String(level).match(/^ *[-+]/)){var LEVEL;level=this.Get(\"scriptlevel\",null,!0)+parseInt(level)}return level},inheritFromMe:!0,noInherit:{mpadded:{width:!0,height:!0,depth:!0,lspace:!0,voffset:!0},mtable:{width:!0,height:!0,depth:!0,align:!0}},getRemoved:{fontfamily:\"fontFamily\",fontweight:\"fontWeight\",fontstyle:\"fontStyle\",fontsize:\"fontSize\"},setTeXclass:MML.mbase.setChildTeXclass}),MML.merror=MML.mbase.Subclass({type:\"merror\",inferRow:!0,linebreakContainer:!0,texClass:MML.TEXCLASS.ORD}),MML.mpadded=MML.mbase.Subclass({type:\"mpadded\",inferRow:!0,isSpacelike:MML.mbase.childrenSpacelike,isEmbellished:MML.mbase.childEmbellished,Core:MML.mbase.childCore,CoreMO:MML.mbase.childCoreMO,defaults:{mathbackground:MML.INHERIT,mathcolor:MML.INHERIT,width:\"\",height:\"\",depth:\"\",lspace:0,voffset:0},setTeXclass:MML.mbase.setChildTeXclass}),MML.mphantom=MML.mbase.Subclass({type:\"mphantom\",texClass:MML.TEXCLASS.ORD,inferRow:!0,isSpacelike:MML.mbase.childrenSpacelike,isEmbellished:MML.mbase.childEmbellished,Core:MML.mbase.childCore,CoreMO:MML.mbase.childCoreMO,setTeXclass:MML.mbase.setChildTeXclass}),MML.mfenced=MML.mbase.Subclass({type:\"mfenced\",defaults:{mathbackground:MML.INHERIT,mathcolor:MML.INHERIT,open:\"(\",close:\")\",separators:\",\"},addFakeNodes:function(){var values=this.getValues(\"open\",\"close\",\"separators\");if(values.open=values.open.replace(/[ \\t\\n\\r]/g,\"\"),values.close=values.close.replace(/[ \\t\\n\\r]/g,\"\"),values.separators=values.separators.replace(/[ \\t\\n\\r]/g,\"\"),\"\"!==values.open&&this.SetData(\"open\",MML.mo(values.open).With({fence:!0,form:MML.FORM.PREFIX,texClass:MML.TEXCLASS.OPEN})),\"\"!==values.separators){for(;values.separators.length<this.data.length;)values.separators+=values.separators.charAt(values.separators.length-1);for(var i=1,m=this.data.length;i<m;i++)this.data[i]&&this.SetData(\"sep\"+i,MML.mo(values.separators.charAt(i-1)).With({separator:!0}))}\"\"!==values.close&&this.SetData(\"close\",MML.mo(values.close).With({fence:!0,form:MML.FORM.POSTFIX,texClass:MML.TEXCLASS.CLOSE}))},texClass:MML.TEXCLASS.OPEN,setTeXclass:function(prev){this.addFakeNodes(),this.getPrevClass(prev),this.data.open&&(prev=this.data.open.setTeXclass(prev)),this.data[0]&&(prev=this.data[0].setTeXclass(prev));for(var i=1,m=this.data.length;i<m;i++)this.data[\"sep\"+i]&&(prev=this.data[\"sep\"+i].setTeXclass(prev)),this.data[i]&&(prev=this.data[i].setTeXclass(prev));return this.data.close&&(prev=this.data.close.setTeXclass(prev)),this.updateTeXclass(this.data.open),this.texClass=MML.TEXCLASS.INNER,prev}}),MML.menclose=MML.mbase.Subclass({type:\"menclose\",inferRow:!0,linebreakContainer:!0,defaults:{mathbackground:MML.INHERIT,mathcolor:MML.INHERIT,notation:MML.NOTATION.LONGDIV,texClass:MML.TEXCLASS.ORD},setTeXclass:MML.mbase.setSeparateTeXclasses}),MML.msubsup=MML.mbase.Subclass({type:\"msubsup\",base:0,sub:1,sup:2,isEmbellished:MML.mbase.childEmbellished,Core:MML.mbase.childCore,CoreMO:MML.mbase.childCoreMO,defaults:{mathbackground:MML.INHERIT,mathcolor:MML.INHERIT,subscriptshift:\"\",superscriptshift:\"\",texClass:MML.AUTO},autoDefault:function(name){return\"texClass\"===name?this.isEmbellished()?this.CoreMO().Get(name):MML.TEXCLASS.ORD:0},adjustChild_displaystyle:function(n){return!(n>0)&&this.Get(\"displaystyle\")},adjustChild_scriptlevel:function(n){var level=this.Get(\"scriptlevel\");return n>0&&level++,level},adjustChild_texprimestyle:function(n){return n===this.sub||this.Get(\"texprimestyle\")},setTeXclass:MML.mbase.setBaseTeXclasses}),MML.msub=MML.msubsup.Subclass({type:\"msub\"}),MML.msup=MML.msubsup.Subclass({type:\"msup\",sub:2,sup:1}),MML.mmultiscripts=MML.msubsup.Subclass({type:\"mmultiscripts\",adjustChild_texprimestyle:function(n){return n%2==1||this.Get(\"texprimestyle\")}}),MML.mprescripts=MML.mbase.Subclass({type:\"mprescripts\"}),MML.none=MML.mbase.Subclass({type:\"none\"}),MML.munderover=MML.mbase.Subclass({type:\"munderover\",base:0,under:1,over:2,sub:1,sup:2,ACCENTS:[\"\",\"accentunder\",\"accent\"],linebreakContainer:!0,isEmbellished:MML.mbase.childEmbellished,Core:MML.mbase.childCore,CoreMO:MML.mbase.childCoreMO,defaults:{mathbackground:MML.INHERIT,mathcolor:MML.INHERIT,accent:MML.AUTO,accentunder:MML.AUTO,align:MML.ALIGN.CENTER,texClass:MML.AUTO,subscriptshift:\"\",superscriptshift:\"\"},autoDefault:function(name){return\"texClass\"===name?this.isEmbellished()?this.CoreMO().Get(name):MML.TEXCLASS.ORD:\"accent\"===name&&this.data[this.over]?this.data[this.over].CoreMO().Get(\"accent\"):!(\"accentunder\"!==name||!this.data[this.under])&&this.data[this.under].CoreMO().Get(\"accent\")},adjustChild_displaystyle:function(n){return!(n>0)&&this.Get(\"displaystyle\")},adjustChild_scriptlevel:function(n){var level=this.Get(\"scriptlevel\"),force=this.data[this.base]&&!this.Get(\"displaystyle\")&&this.data[this.base].CoreMO().Get(\"movablelimits\");return n!=this.under||!force&&this.Get(\"accentunder\")||level++,n!=this.over||!force&&this.Get(\"accent\")||level++,level},adjustChild_texprimestyle:function(n){return!(n!==this.base||!this.data[this.over])||this.Get(\"texprimestyle\")},setTeXclass:MML.mbase.setBaseTeXclasses}),MML.munder=MML.munderover.Subclass({type:\"munder\"}),MML.mover=MML.munderover.Subclass({type:\"mover\",over:1,under:2,sup:1,sub:2,ACCENTS:[\"\",\"accent\",\"accentunder\"]}),MML.mtable=MML.mbase.Subclass({type:\"mtable\",defaults:{mathbackground:MML.INHERIT,mathcolor:MML.INHERIT,align:MML.ALIGN.AXIS,rowalign:MML.ALIGN.BASELINE,columnalign:MML.ALIGN.CENTER,groupalign:\"{left}\",alignmentscope:!0,columnwidth:MML.WIDTH.AUTO,width:MML.WIDTH.AUTO,rowspacing:\"1ex\",columnspacing:\".8em\",rowlines:MML.LINES.NONE,columnlines:MML.LINES.NONE,frame:MML.LINES.NONE,framespacing:\"0.4em 0.5ex\",equalrows:!1,equalcolumns:!1,displaystyle:!1,side:MML.SIDE.RIGHT,minlabelspacing:\"0.8em\",texClass:MML.TEXCLASS.ORD,useHeight:1},adjustChild_displaystyle:function(){return null!=this.displaystyle?this.displaystyle:this.defaults.displaystyle},inheritFromMe:!0,noInherit:{mover:{align:!0},munder:{align:!0},munderover:{align:!0},mtable:{align:!0,rowalign:!0,columnalign:!0,groupalign:!0,alignmentscope:!0,columnwidth:!0,width:!0,rowspacing:!0,columnspacing:!0,rowlines:!0,columnlines:!0,frame:!0,framespacing:!0,equalrows:!0,equalcolumns:!0,displaystyle:!0,side:!0,minlabelspacing:!0,texClass:!0,useHeight:1}},linebreakContainer:!0,Append:function(){for(var i=0,m=arguments.length;i<m;i++)arguments[i]instanceof MML.mtr||arguments[i]instanceof MML.mlabeledtr||(arguments[i]=MML.mtr(arguments[i]));this.SUPER(arguments).Append.apply(this,arguments)},setTeXclass:MML.mbase.setSeparateTeXclasses}),MML.mtr=MML.mbase.Subclass({type:\"mtr\",defaults:{mathbackground:MML.INHERIT,mathcolor:MML.INHERIT,rowalign:MML.INHERIT,columnalign:MML.INHERIT,groupalign:MML.INHERIT},inheritFromMe:!0,noInherit:{mrow:{rowalign:!0,columnalign:!0,groupalign:!0},mtable:{rowalign:!0,columnalign:!0,groupalign:!0}},linebreakContainer:!0,Append:function(){for(var i=0,m=arguments.length;i<m;i++)arguments[i]instanceof MML.mtd||(arguments[i]=MML.mtd(arguments[i]));this.SUPER(arguments).Append.apply(this,arguments)},setTeXclass:MML.mbase.setSeparateTeXclasses}),MML.mtd=MML.mbase.Subclass({type:\"mtd\",inferRow:!0,linebreakContainer:!0,isEmbellished:MML.mbase.childEmbellished,Core:MML.mbase.childCore,CoreMO:MML.mbase.childCoreMO,defaults:{mathbackground:MML.INHERIT,mathcolor:MML.INHERIT,rowspan:1,columnspan:1,rowalign:MML.INHERIT,columnalign:MML.INHERIT,groupalign:MML.INHERIT},setTeXclass:MML.mbase.setSeparateTeXclasses}),MML.maligngroup=MML.mbase.Subclass({type:\"maligngroup\",isSpacelike:function(){return!0},defaults:{mathbackground:MML.INHERIT,mathcolor:MML.INHERIT,groupalign:MML.INHERIT},inheritFromMe:!0,noInherit:{mrow:{groupalign:!0},mtable:{groupalign:!0}}}),MML.malignmark=MML.mbase.Subclass({type:\"malignmark\",defaults:{mathbackground:MML.INHERIT,mathcolor:MML.INHERIT,edge:MML.SIDE.LEFT},isSpacelike:function(){return!0}}),MML.mlabeledtr=MML.mtr.Subclass({type:\"mlabeledtr\"}),MML.maction=MML.mbase.Subclass({type:\"maction\",defaults:{mathbackground:MML.INHERIT,mathcolor:MML.INHERIT,actiontype:MML.ACTIONTYPE.TOGGLE,selection:1},selected:function(){return this.data[this.Get(\"selection\")-1]||MML.NULL},isEmbellished:function(){return this.selected().isEmbellished()},isSpacelike:function(){return this.selected().isSpacelike()},Core:function(){return this.selected().Core()},CoreMO:function(){return this.selected().CoreMO()},setTeXclass:function(prev){this.Get(\"actiontype\")===MML.ACTIONTYPE.TOOLTIP&&this.data[1]&&this.data[1].setTeXclass();var selected=this.selected();return prev=selected.setTeXclass(prev),this.updateTeXclass(selected),prev}}),MML.semantics=MML.mbase.Subclass({type:\"semantics\",notParent:!0,isEmbellished:MML.mbase.childEmbellished,Core:MML.mbase.childCore,CoreMO:MML.mbase.childCoreMO,defaults:{definitionURL:null,encoding:null},setTeXclass:MML.mbase.setChildTeXclass,getAnnotation:function(name){var encodingList=MathJax.Hub.config.MathMenu.semanticsAnnotations[name];if(encodingList)for(var i=0,m=this.data.length;i<m;i++){var encoding=this.data[i].Get(\"encoding\");if(encoding)for(var j=0,n=encodingList.length;j<n;j++)if(encodingList[j]===encoding)return this.data[i]}return null}}),MML.annotation=MML.mbase.Subclass({type:\"annotation\",isChars:!0,linebreakContainer:!0,defaults:{definitionURL:null,encoding:null,cd:\"mathmlkeys\",name:\"\",src:null}}),MML[\"annotation-xml\"]=MML.mbase.Subclass({type:\"annotation-xml\",linebreakContainer:!0,defaults:{definitionURL:null,encoding:null,cd:\"mathmlkeys\",name:\"\",src:null}}),MML.math=MML.mstyle.Subclass({type:\"math\",defaults:{mathvariant:MML.VARIANT.NORMAL,mathsize:MML.SIZE.NORMAL,mathcolor:\"\",mathbackground:MML.COLOR.TRANSPARENT,dir:\"ltr\",scriptlevel:0,displaystyle:MML.AUTO,display:\"inline\",maxwidth:\"\",overflow:MML.OVERFLOW.LINEBREAK,altimg:\"\",\"altimg-width\":\"\",\"altimg-height\":\"\",\"altimg-valign\":\"\",alttext:\"\",cdgroup:\"\",scriptsizemultiplier:Math.sqrt(.5),scriptminsize:\"8px\",infixlinebreakstyle:MML.LINEBREAKSTYLE.BEFORE,lineleading:\"1ex\",indentshift:\"auto\",indentalign:MML.INDENTALIGN.AUTO,indentalignfirst:MML.INDENTALIGN.INDENTALIGN,indentshiftfirst:MML.INDENTSHIFT.INDENTSHIFT,indentalignlast:MML.INDENTALIGN.INDENTALIGN,indentshiftlast:MML.INDENTSHIFT.INDENTSHIFT,decimalseparator:\".\",texprimestyle:!1},autoDefault:function(name){return\"displaystyle\"===name?\"block\"===this.Get(\"display\"):\"\"},linebreakContainer:!0,setTeXclass:MML.mbase.setChildTeXclass,getAnnotation:function(name){return 1!=this.data.length?null:this.data[0].getAnnotation(name)}}),MML.chars=MML.mbase.Subclass({type:\"chars\",Append:function(){this.data.push.apply(this.data,arguments)},value:function(){return this.data.join(\"\")},toString:function(){return this.data.join(\"\")}}),MML.entity=MML.mbase.Subclass({type:\"entity\",Append:function(){this.data.push.apply(this.data,arguments)},value:function(){return\"#x\"===this.data[0].substr(0,2)?parseInt(this.data[0].substr(2),16):\"#\"===this.data[0].substr(0,1)?parseInt(this.data[0].substr(1)):0},toString:function(){var n=this.value();return n<=65535?String.fromCharCode(n):(n-=65536,String.fromCharCode(55296+(n>>10))+String.fromCharCode(56320+(1023&n)))}}),MML.xml=MML.mbase.Subclass({type:\"xml\",Init:function(){return this.div=document.createElement(\"div\"),this.SUPER(arguments).Init.apply(this,arguments)},Append:function(){for(var i=0,m=arguments.length;i<m;i++){var node=this.Import(arguments[i]);this.data.push(node),this.div.appendChild(node)}},Import:function(node){if(document.importNode)return document.importNode(node,!0);var nNode,i,m;if(1===node.nodeType){for(nNode=document.createElement(node.nodeName),i=0,m=node.attributes.length;i<m;i++){var attribute=node.attributes[i];attribute.specified&&null!=attribute.nodeValue&&\"\"!=attribute.nodeValue&&nNode.setAttribute(attribute.nodeName,attribute.nodeValue),\"style\"===attribute.nodeName&&(nNode.style.cssText=attribute.nodeValue)}node.className&&(nNode.className=node.className)}else if(3===node.nodeType||4===node.nodeType)nNode=document.createTextNode(node.nodeValue);else{if(8!==node.nodeType)return document.createTextNode(\"\");nNode=document.createComment(node.nodeValue)}for(i=0,m=node.childNodes.length;i<m;i++)nNode.appendChild(this.Import(node.childNodes[i]));return nNode},value:function(){return this.div},toString:function(){return this.div.innerHTML}}),MML.TeXAtom=MML.mbase.Subclass({type:\"texatom\",linebreakContainer:!0,inferRow:!0,notParent:!0,texClass:MML.TEXCLASS.ORD,Core:MML.mbase.childCore,CoreMO:MML.mbase.childCoreMO,isEmbellished:MML.mbase.childEmbellished,setTeXclass:function(prev){return this.data[0].setTeXclass(),this.adjustTeXclass(prev)},adjustTeXclass:MML.mo.prototype.adjustTeXclass}),MML.NULL=MML.mbase().With({type:\"null\"});var TEXCLASS=MML.TEXCLASS,MO={ORD:[0,0,TEXCLASS.ORD],ORD11:[1,1,TEXCLASS.ORD],ORD21:[2,1,TEXCLASS.ORD],ORD02:[0,2,TEXCLASS.ORD],ORD55:[5,5,TEXCLASS.ORD],OP:[1,2,TEXCLASS.OP,{largeop:!0,movablelimits:!0,symmetric:!0}],OPFIXED:[1,2,TEXCLASS.OP,{largeop:!0,movablelimits:!0}],INTEGRAL:[0,1,TEXCLASS.OP,{largeop:!0,symmetric:!0}],INTEGRAL2:[1,2,TEXCLASS.OP,{largeop:!0,symmetric:!0}],BIN3:[3,3,TEXCLASS.BIN],BIN4:[4,4,TEXCLASS.BIN],BIN01:[0,1,TEXCLASS.BIN],BIN5:[5,5,TEXCLASS.BIN],TALLBIN:[4,4,TEXCLASS.BIN,{stretchy:!0}],BINOP:[4,4,TEXCLASS.BIN,{largeop:!0,movablelimits:!0}],REL:[5,5,TEXCLASS.REL],REL1:[1,1,TEXCLASS.REL,{stretchy:!0}],REL4:[4,4,TEXCLASS.REL],RELSTRETCH:[5,5,TEXCLASS.REL,{stretchy:!0}],RELACCENT:[5,5,TEXCLASS.REL,{accent:!0}],WIDEREL:[5,5,TEXCLASS.REL,{accent:!0,stretchy:!0}],OPEN:[0,0,TEXCLASS.OPEN,{fence:!0,stretchy:!0,symmetric:!0}],CLOSE:[0,0,TEXCLASS.CLOSE,{fence:!0,stretchy:!0,symmetric:!0}],INNER:[0,0,TEXCLASS.INNER],PUNCT:[0,3,TEXCLASS.PUNCT],ACCENT:[0,0,TEXCLASS.ORD,{accent:!0}],WIDEACCENT:[0,0,TEXCLASS.ORD,{accent:!0,stretchy:!0}]};MML.mo.Augment({SPACE:[\"0em\",\"0.1111em\",\"0.1667em\",\"0.2222em\",\"0.2667em\",\"0.3333em\"],RANGES:[[32,127,TEXCLASS.REL,\"BasicLatin\"],[160,255,TEXCLASS.ORD,\"Latin1Supplement\"],[256,383,TEXCLASS.ORD],[384,591,TEXCLASS.ORD],[688,767,TEXCLASS.ORD,\"SpacingModLetters\"],[768,879,TEXCLASS.ORD,\"CombDiacritMarks\"],[880,1023,TEXCLASS.ORD,\"GreekAndCoptic\"],[7680,7935,TEXCLASS.ORD],[8192,8303,TEXCLASS.PUNCT,\"GeneralPunctuation\"],[8304,8351,TEXCLASS.ORD],[8352,8399,TEXCLASS.ORD],[8400,8447,TEXCLASS.ORD,\"CombDiactForSymbols\"],[8448,8527,TEXCLASS.ORD,\"LetterlikeSymbols\"],[8528,8591,TEXCLASS.ORD],[8592,8703,TEXCLASS.REL,\"Arrows\"],[8704,8959,TEXCLASS.BIN,\"MathOperators\"],[8960,9215,TEXCLASS.ORD,\"MiscTechnical\"],[9312,9471,TEXCLASS.ORD],[9472,9631,TEXCLASS.ORD],[9632,9727,TEXCLASS.ORD,\"GeometricShapes\"],[9984,10175,TEXCLASS.ORD,\"Dingbats\"],[10176,10223,TEXCLASS.ORD,\"MiscMathSymbolsA\"],[10224,10239,TEXCLASS.REL,\"SupplementalArrowsA\"],[10496,10623,TEXCLASS.REL,\"SupplementalArrowsB\"],[10624,10751,TEXCLASS.ORD,\"MiscMathSymbolsB\"],[10752,11007,TEXCLASS.BIN,\"SuppMathOperators\"],[11008,11263,TEXCLASS.ORD,\"MiscSymbolsAndArrows\"],[119808,120831,TEXCLASS.ORD]],OPTABLE:{prefix:{\"∀\":MO.ORD21,\"∂\":MO.ORD21,\"∃\":MO.ORD21,\"∇\":MO.ORD21,\"∏\":MO.OP,\"∐\":MO.OP,\"∑\":MO.OP,\"−\":MO.BIN01,\"∓\":MO.BIN01,\"√\":[1,1,TEXCLASS.ORD,{stretchy:!0}],\"∠\":MO.ORD,\"∫\":MO.INTEGRAL,\"∮\":MO.INTEGRAL,\"⋀\":MO.OP,\"⋁\":MO.OP,\"⋂\":MO.OP,\"⋃\":MO.OP,\"⌈\":MO.OPEN,\"⌊\":MO.OPEN,\"⟨\":MO.OPEN,\"⟮\":MO.OPEN,\"⨀\":MO.OP,\"⨁\":MO.OP,\"⨂\":MO.OP,\"⨄\":MO.OP,\"⨆\":MO.OP,\"¬\":MO.ORD21,\"±\":MO.BIN01,\"(\":MO.OPEN,\"+\":MO.BIN01,\"-\":MO.BIN01,\"[\":MO.OPEN,\"{\":MO.OPEN,\"|\":MO.OPEN},postfix:{\"!\":[1,0,TEXCLASS.CLOSE],\"&\":MO.ORD,\"′\":MO.ORD02,\"‾\":MO.WIDEACCENT,\"⌉\":MO.CLOSE,\"⌋\":MO.CLOSE,\"⏞\":MO.WIDEACCENT,\"⏟\":MO.WIDEACCENT,\"♭\":MO.ORD02,\"♮\":MO.ORD02,\"♯\":MO.ORD02,\"⟩\":MO.CLOSE,\"⟯\":MO.CLOSE,\"ˆ\":MO.WIDEACCENT,\"ˇ\":MO.WIDEACCENT,\"ˉ\":MO.WIDEACCENT,\"ˊ\":MO.ACCENT,\"ˋ\":MO.ACCENT,\"˘\":MO.ACCENT,\"˙\":MO.ACCENT,\"˜\":MO.WIDEACCENT,\"̂\":MO.WIDEACCENT,\"¨\":MO.ACCENT,\"¯\":MO.WIDEACCENT,\")\":MO.CLOSE,\"]\":MO.CLOSE,\"^\":MO.WIDEACCENT,_:MO.WIDEACCENT,\"`\":MO.ACCENT,\"|\":MO.CLOSE,\"}\":MO.CLOSE,\"~\":MO.WIDEACCENT},infix:{\"\":MO.ORD,\"%\":[3,3,TEXCLASS.ORD],\"•\":MO.BIN4,\"…\":MO.INNER,\"⁄\":MO.TALLBIN,\"⁡\":MO.ORD,\"⁢\":MO.ORD,\"⁣\":[0,0,TEXCLASS.ORD,{linebreakstyle:\"after\",separator:!0}],\"⁤\":MO.ORD,\"←\":MO.WIDEREL,\"↑\":MO.RELSTRETCH,\"→\":MO.WIDEREL,\"↓\":MO.RELSTRETCH,\"↔\":MO.WIDEREL,\"↕\":MO.RELSTRETCH,\"↖\":MO.RELSTRETCH,\"↗\":MO.RELSTRETCH,\"↘\":MO.RELSTRETCH,\"↙\":MO.RELSTRETCH,\"↦\":MO.WIDEREL,\"↩\":MO.WIDEREL,\"↪\":MO.WIDEREL,\"↼\":MO.WIDEREL,\"↽\":MO.WIDEREL,\"⇀\":MO.WIDEREL,\"⇁\":MO.WIDEREL,\"⇌\":MO.WIDEREL,\"⇐\":MO.WIDEREL,\"⇑\":MO.RELSTRETCH,\"⇒\":MO.WIDEREL,\"⇓\":MO.RELSTRETCH,\"⇔\":MO.WIDEREL,\"⇕\":MO.RELSTRETCH,\"∈\":MO.REL,\"∉\":MO.REL,\"∋\":MO.REL,\"−\":MO.BIN4,\"∓\":MO.BIN4,\"∕\":MO.TALLBIN,\"∖\":MO.BIN4,\"∗\":MO.BIN4,\"∘\":MO.BIN4,\"∙\":MO.BIN4,\"∝\":MO.REL,\"∣\":MO.REL,\"∥\":MO.REL,\"∧\":MO.BIN4,\"∨\":MO.BIN4,\"∩\":MO.BIN4,\"∪\":MO.BIN4,\"∼\":MO.REL,\"≀\":MO.BIN4,\"≃\":MO.REL,\"≅\":MO.REL,\"≈\":MO.REL,\"≍\":MO.REL,\"≐\":MO.REL,\"≠\":MO.REL,\"≡\":MO.REL,\"≤\":MO.REL,\"≥\":MO.REL,\"≪\":MO.REL,\"≫\":MO.REL,\"≺\":MO.REL,\"≻\":MO.REL,\"⊂\":MO.REL,\"⊃\":MO.REL,\"⊆\":MO.REL,\"⊇\":MO.REL,\"⊎\":MO.BIN4,\"⊑\":MO.REL,\"⊒\":MO.REL,\"⊓\":MO.BIN4,\"⊔\":MO.BIN4,\"⊕\":MO.BIN4,\"⊖\":MO.BIN4,\"⊗\":MO.BIN4,\"⊘\":MO.BIN4,\"⊙\":MO.BIN4,\"⊢\":MO.REL,\"⊣\":MO.REL,\"⊤\":MO.ORD55,\"⊥\":MO.REL,\"⊨\":MO.REL,\"⋄\":MO.BIN4,\"⋅\":MO.BIN4,\"⋆\":MO.BIN4,\"⋈\":MO.REL,\"⋮\":MO.ORD55,\"⋯\":MO.INNER,\"⋱\":[5,5,TEXCLASS.INNER],\"△\":MO.BIN4,\"▵\":MO.BIN4,\"▹\":MO.BIN4,\"▽\":MO.BIN4,\"▿\":MO.BIN4,\"◃\":MO.BIN4,\"❘\":MO.REL,\"⟵\":MO.WIDEREL,\"⟶\":MO.WIDEREL,\"⟷\":MO.WIDEREL,\"⟸\":MO.WIDEREL,\"⟹\":MO.WIDEREL,\"⟺\":MO.WIDEREL,\"⟼\":MO.WIDEREL,\"⨯\":MO.BIN4,\"⨿\":MO.BIN4,\"⪯\":MO.REL,\"⪰\":MO.REL,\"±\":MO.BIN4,\"·\":MO.BIN4,\"×\":MO.BIN4,\"÷\":MO.BIN4,\"*\":MO.BIN3,\"+\":MO.BIN4,\",\":[0,3,TEXCLASS.PUNCT,{linebreakstyle:\"after\",separator:!0}],\"-\":MO.BIN4,\".\":[3,3,TEXCLASS.ORD],\"/\":MO.ORD11,\":\":[1,2,TEXCLASS.REL],\";\":[0,3,TEXCLASS.PUNCT,{linebreakstyle:\"after\",separator:!0}],\"<\":MO.REL,\"=\":MO.REL,\">\":MO.REL,\"?\":[1,1,TEXCLASS.CLOSE],\"\\\\\":MO.ORD,\"^\":MO.ORD11,_:MO.ORD11,\"|\":[2,2,TEXCLASS.ORD,{fence:!0,stretchy:!0,symmetric:!0}],\"#\":MO.ORD,$:MO.ORD,\".\":[0,3,TEXCLASS.PUNCT,{separator:!0}],\"ʹ\":MO.ORD,\"̀\":MO.ACCENT,\"́\":MO.ACCENT,\"̃\":MO.WIDEACCENT,\"̄\":MO.ACCENT,\"̆\":MO.ACCENT,\"̇\":MO.ACCENT,\"̈\":MO.ACCENT,\"̌\":MO.ACCENT,\"̲\":MO.WIDEACCENT,\"̸\":MO.REL4,\"―\":[0,0,TEXCLASS.ORD,{stretchy:!0}],\"‗\":[0,0,TEXCLASS.ORD,{stretchy:!0}],\"†\":MO.BIN3,\"‡\":MO.BIN3,\"⃗\":MO.ACCENT,\"ℑ\":MO.ORD,\"ℓ\":MO.ORD,\"℘\":MO.ORD,\"ℜ\":MO.ORD,\"∅\":MO.ORD,\"∞\":MO.ORD,\"⌅\":MO.BIN3,\"⌆\":MO.BIN3,\"⌢\":MO.REL4,\"⌣\":MO.REL4,\"〈\":MO.OPEN,\"〉\":MO.CLOSE,\"⎪\":MO.ORD,\"⎯\":[0,0,TEXCLASS.ORD,{stretchy:!0}],\"⎰\":MO.OPEN,\"⎱\":MO.CLOSE,\"─\":MO.ORD,\"◯\":MO.BIN3,\"♠\":MO.ORD,\"♡\":MO.ORD,\"♢\":MO.ORD,\"♣\":MO.ORD,\"〈\":MO.OPEN,\"〉\":MO.CLOSE,\"︷\":MO.WIDEACCENT,\"︸\":MO.WIDEACCENT}}},{OPTYPES:MO});var OPTABLE=MML.mo.prototype.OPTABLE;OPTABLE.infix[\"^\"]=MO.WIDEREL,OPTABLE.infix._=MO.WIDEREL,OPTABLE.prefix[\"∣\"]=MO.OPEN,OPTABLE.prefix[\"∥\"]=MO.OPEN,OPTABLE.postfix[\"∣\"]=MO.CLOSE,OPTABLE.postfix[\"∥\"]=MO.CLOSE}(MathJax.ElementJax.mml),MathJax.ElementJax.mml.loadComplete(\"jax.js\"),MML=MathJax.ElementJax.mml,MO=MML.mo.OPTYPES,TEXCLASS=MML.TEXCLASS,MathJax.Hub.Insert(MML.mo.prototype,{OPTABLE:{infix:{\"↚\":MO.RELACCENT,\"↛\":MO.RELACCENT,\"↜\":MO.WIDEREL,\"↝\":MO.WIDEREL,\"↞\":MO.WIDEREL,\"↟\":MO.WIDEREL,\"↠\":MO.WIDEREL,\"↡\":MO.RELSTRETCH,\"↢\":MO.WIDEREL,\"↣\":MO.WIDEREL,\"↤\":MO.WIDEREL,\"↥\":MO.RELSTRETCH,\"↧\":MO.RELSTRETCH,\"↨\":MO.RELSTRETCH,\"↫\":MO.WIDEREL,\"↬\":MO.WIDEREL,\"↭\":MO.WIDEREL,\"↮\":MO.RELACCENT,\"↯\":MO.RELSTRETCH,\"↰\":MO.RELSTRETCH,\"↱\":MO.RELSTRETCH,\"↲\":MO.RELSTRETCH,\"↳\":MO.RELSTRETCH,\"↴\":MO.RELSTRETCH,\"↵\":MO.RELSTRETCH,\"↶\":MO.RELACCENT,\"↷\":MO.RELACCENT,\"↸\":MO.REL,\"↹\":MO.WIDEREL,\"↺\":MO.REL,\"↻\":MO.REL,\"↾\":MO.RELSTRETCH,\"↿\":MO.RELSTRETCH,\"⇂\":MO.RELSTRETCH,\"⇃\":MO.RELSTRETCH,\"⇄\":MO.WIDEREL,\"⇅\":MO.RELSTRETCH,\"⇆\":MO.WIDEREL,\"⇇\":MO.WIDEREL,\"⇈\":MO.RELSTRETCH,\"⇉\":MO.WIDEREL,\"⇊\":MO.RELSTRETCH,\"⇋\":MO.WIDEREL,\"⇍\":MO.RELACCENT,\"⇎\":MO.RELACCENT,\"⇏\":MO.RELACCENT,\"⇖\":MO.RELSTRETCH,\"⇗\":MO.RELSTRETCH,\"⇘\":MO.RELSTRETCH,\"⇙\":MO.RELSTRETCH,\"⇚\":MO.WIDEREL,\"⇛\":MO.WIDEREL,\"⇜\":MO.WIDEREL,\"⇝\":MO.WIDEREL,\"⇞\":MO.REL,\"⇟\":MO.REL,\"⇠\":MO.WIDEREL,\"⇡\":MO.RELSTRETCH,\"⇢\":MO.WIDEREL,\"⇣\":MO.RELSTRETCH,\"⇤\":MO.WIDEREL,\"⇥\":MO.WIDEREL,\"⇦\":MO.WIDEREL,\"⇧\":MO.RELSTRETCH,\"⇨\":MO.WIDEREL,\"⇩\":MO.RELSTRETCH,\"⇪\":MO.RELSTRETCH,\"⇫\":MO.RELSTRETCH,\"⇬\":MO.RELSTRETCH,\"⇭\":MO.RELSTRETCH,\"⇮\":MO.RELSTRETCH,\"⇯\":MO.RELSTRETCH,\"⇰\":MO.WIDEREL,\"⇱\":MO.REL,\"⇲\":MO.REL,\"⇳\":MO.RELSTRETCH,\"⇴\":MO.RELACCENT,\"⇵\":MO.RELSTRETCH,\"⇶\":MO.WIDEREL,\"⇷\":MO.RELACCENT,\"⇸\":MO.RELACCENT,\"⇹\":MO.RELACCENT,\"⇺\":MO.RELACCENT,\"⇻\":MO.RELACCENT,\"⇼\":MO.RELACCENT,\"⇽\":MO.WIDEREL,\"⇾\":MO.WIDEREL,\"⇿\":MO.WIDEREL}}}),MathJax.Ajax.loadComplete(MML.optableDir+\"/Arrows.js\"),function(MML){var MO=MML.mo.OPTYPES,TEXCLASS=MML.TEXCLASS;MathJax.Hub.Insert(MML.mo.prototype,{OPTABLE:{prefix:{\"⟦\":MO.OPEN,\"⟪\":MO.OPEN,\"⟬\":MO.OPEN},postfix:{\"⟧\":MO.CLOSE,\"⟫\":MO.CLOSE,\"⟭\":MO.CLOSE}}}),MathJax.Ajax.loadComplete(MML.optableDir+\"/MiscMathSymbolsA.js\")}(MathJax.ElementJax.mml),function(MML){var MO=MML.mo.OPTYPES,TEXCLASS=MML.TEXCLASS;MathJax.Hub.Insert(MML.mo.prototype,{OPTABLE:{prefix:{\"❲\":MO.OPEN},postfix:{\"❳\":MO.CLOSE}}}),MathJax.Ajax.loadComplete(MML.optableDir+\"/Dingbats.js\")}(MathJax.ElementJax.mml),function(MML){var MO=MML.mo.OPTYPES,TEXCLASS=MML.TEXCLASS;MathJax.Hub.Insert(MML.mo.prototype,{OPTABLE:{prefix:{\"‖\":[0,0,TEXCLASS.ORD,{fence:!0,stretchy:!0}],\"‘\":[0,0,TEXCLASS.OPEN,{fence:!0}],\"“\":[0,0,TEXCLASS.OPEN,{fence:!0}]},postfix:{\"‖\":[0,0,TEXCLASS.ORD,{fence:!0,stretchy:!0}],\"’\":[0,0,TEXCLASS.CLOSE,{fence:!0}],\"”\":[0,0,TEXCLASS.CLOSE,{fence:!0}]}}}),MathJax.Ajax.loadComplete(MML.optableDir+\"/GeneralPunctuation.js\")}(MathJax.ElementJax.mml),function(MML){var MO=MML.mo.OPTYPES,TEXCLASS=MML.TEXCLASS;MathJax.Hub.Insert(MML.mo.prototype,{OPTABLE:{postfix:{\"ˍ\":MO.WIDEACCENT,\"˚\":MO.ACCENT,\"˝\":MO.ACCENT,\"˷\":MO.WIDEACCENT}}}),MathJax.Ajax.loadComplete(MML.optableDir+\"/SpacingModLetters.js\")}(MathJax.ElementJax.mml),function(MML){var MO=MML.mo.OPTYPES,TEXCLASS=MML.TEXCLASS;MathJax.Hub.Insert(MML.mo.prototype,{OPTABLE:{postfix:{\"⎴\":MO.WIDEACCENT,\"⎵\":MO.WIDEACCENT,\"⏜\":MO.WIDEACCENT,\"⏝\":MO.WIDEACCENT,\"⏠\":MO.WIDEACCENT,\"⏡\":MO.WIDEACCENT}}}),MathJax.Ajax.loadComplete(MML.optableDir+\"/MiscTechnical.js\")}(MathJax.ElementJax.mml),function(MML){var MO=MML.mo.OPTYPES,TEXCLASS=MML.TEXCLASS;MathJax.Hub.Insert(MML.mo.prototype,{OPTABLE:{infix:{\"⟰\":MO.RELSTRETCH,\"⟱\":MO.RELSTRETCH,\"⟻\":MO.WIDEREL,\"⟽\":MO.WIDEREL,\"⟾\":MO.WIDEREL,\"⟿\":MO.WIDEREL}}}),MathJax.Ajax.loadComplete(MML.optableDir+\"/SupplementalArrowsA.js\")}(MathJax.ElementJax.mml),function(MML){var MO=MML.mo.OPTYPES,TEXCLASS=MML.TEXCLASS;MathJax.Hub.Insert(MML.mo.prototype,{OPTABLE:{infix:{\"϶\":MO.REL}}}),MathJax.Ajax.loadComplete(MML.optableDir+\"/GreekAndCoptic.js\")}(MathJax.ElementJax.mml),function(MML){var MO=MML.mo.OPTYPES,TEXCLASS=MML.TEXCLASS;MathJax.Hub.Insert(MML.mo.prototype,{OPTABLE:{prefix:{\"ⅅ\":MO.ORD21,\"ⅆ\":[2,0,TEXCLASS.ORD]}}}),MathJax.Ajax.loadComplete(MML.optableDir+\"/LetterlikeSymbols.js\")}(MathJax.ElementJax.mml),function(MML){var MO=MML.mo.OPTYPES,TEXCLASS=MML.TEXCLASS;MathJax.Hub.Insert(MML.mo.prototype,{OPTABLE:{infix:{\"⤀\":MO.RELACCENT,\"⤁\":MO.RELACCENT,\"⤂\":MO.RELACCENT,\"⤃\":MO.RELACCENT,\"⤄\":MO.RELACCENT,\"⤅\":MO.RELACCENT,\"⤆\":MO.RELACCENT,\"⤇\":MO.RELACCENT,\"⤈\":MO.REL,\"⤉\":MO.REL,\"⤊\":MO.RELSTRETCH,\"⤋\":MO.RELSTRETCH,\"⤌\":MO.WIDEREL,\"⤍\":MO.WIDEREL,\"⤎\":MO.WIDEREL,\"⤏\":MO.WIDEREL,\"⤐\":MO.WIDEREL,\"⤑\":MO.RELACCENT,\"⤒\":MO.RELSTRETCH,\"⤓\":MO.RELSTRETCH,\"⤔\":MO.RELACCENT,\"⤕\":MO.RELACCENT,\"⤖\":MO.RELACCENT,\"⤗\":MO.RELACCENT,\"⤘\":MO.RELACCENT,\"⤙\":MO.RELACCENT,\"⤚\":MO.RELACCENT,\"⤛\":MO.RELACCENT,\"⤜\":MO.RELACCENT,\"⤝\":MO.RELACCENT,\"⤞\":MO.RELACCENT,\"⤟\":MO.RELACCENT,\"⤠\":MO.RELACCENT,\"⤡\":MO.RELSTRETCH,\"⤢\":MO.RELSTRETCH,\"⤣\":MO.REL,\"⤤\":MO.REL,\"⤥\":MO.REL,\"⤦\":MO.REL,\"⤧\":MO.REL,\"⤨\":MO.REL,\"⤩\":MO.REL,\"⤪\":MO.REL,\"⤫\":MO.REL,\"⤬\":MO.REL,\"⤭\":MO.REL,\"⤮\":MO.REL,\"⤯\":MO.REL,\"⤰\":MO.REL,\"⤱\":MO.REL,\"⤲\":MO.REL,\"⤳\":MO.RELACCENT,\"⤴\":MO.REL,\"⤵\":MO.REL,\"⤶\":MO.REL,\"⤷\":MO.REL,\"⤸\":MO.REL,\"⤹\":MO.REL,\"⤺\":MO.RELACCENT,\"⤻\":MO.RELACCENT,\"⤼\":MO.RELACCENT,\"⤽\":MO.RELACCENT,\"⤾\":MO.REL,\"⤿\":MO.REL,\"⥀\":MO.REL,\"⥁\":MO.REL,\"⥂\":MO.RELACCENT,\"⥃\":MO.RELACCENT,\"⥄\":MO.RELACCENT,\"⥅\":MO.RELACCENT,\"⥆\":MO.RELACCENT,\"⥇\":MO.RELACCENT,\"⥈\":MO.RELACCENT,\"⥉\":MO.REL,\"⥊\":MO.RELACCENT,\"⥋\":MO.RELACCENT,\"⥌\":MO.REL,\"⥍\":MO.REL,\"⥎\":MO.WIDEREL,\"⥏\":MO.RELSTRETCH,\"⥐\":MO.WIDEREL,\"⥑\":MO.RELSTRETCH,\"⥒\":MO.WIDEREL,\"⥓\":MO.WIDEREL,\"⥔\":MO.RELSTRETCH,\"⥕\":MO.RELSTRETCH,\"⥖\":MO.RELSTRETCH,\"⥗\":MO.RELSTRETCH,\"⥘\":MO.RELSTRETCH,\"⥙\":MO.RELSTRETCH,\"⥚\":MO.WIDEREL,\"⥛\":MO.WIDEREL,\"⥜\":MO.RELSTRETCH,\"⥝\":MO.RELSTRETCH,\"⥞\":MO.WIDEREL,\"⥟\":MO.WIDEREL,\"⥠\":MO.RELSTRETCH,\"⥡\":MO.RELSTRETCH,\"⥢\":MO.RELACCENT,\"⥣\":MO.REL,\"⥤\":MO.RELACCENT,\"⥥\":MO.REL,\"⥦\":MO.RELACCENT,\"⥧\":MO.RELACCENT,\"⥨\":MO.RELACCENT,\"⥩\":MO.RELACCENT,\"⥪\":MO.RELACCENT,\"⥫\":MO.RELACCENT,\"⥬\":MO.RELACCENT,\"⥭\":MO.RELACCENT,\"⥮\":MO.RELSTRETCH,\"⥯\":MO.RELSTRETCH,\"⥰\":MO.RELACCENT,\"⥱\":MO.RELACCENT,\"⥲\":MO.RELACCENT,\"⥳\":MO.RELACCENT,\"⥴\":MO.RELACCENT,\"⥵\":MO.RELACCENT,\"⥶\":MO.RELACCENT,\"⥷\":MO.RELACCENT,\"⥸\":MO.RELACCENT,\"⥹\":MO.RELACCENT,\"⥺\":MO.RELACCENT,\"⥻\":MO.RELACCENT,\"⥼\":MO.RELACCENT,\"⥽\":MO.RELACCENT,\"⥾\":MO.REL,\"⥿\":MO.REL}}}),MathJax.Ajax.loadComplete(MML.optableDir+\"/SupplementalArrowsB.js\")}(MathJax.ElementJax.mml),function(MML){var MO=MML.mo.OPTYPES,TEXCLASS=MML.TEXCLASS;MathJax.Hub.Insert(MML.mo.prototype,{OPTABLE:{prefix:{\"||\":[0,0,TEXCLASS.BIN,{fence:!0,stretchy:!0,symmetric:!0}],\"|||\":[0,0,TEXCLASS.ORD,{fence:!0,stretchy:!0,symmetric:!0}]},postfix:{\"!!\":[1,0,TEXCLASS.BIN],\"'\":MO.ACCENT,\"++\":[0,0,TEXCLASS.BIN],\"--\":[0,0,TEXCLASS.BIN],\"..\":[0,0,TEXCLASS.BIN],\"...\":MO.ORD,\"||\":[0,0,TEXCLASS.BIN,{fence:!0,stretchy:!0,symmetric:!0}],\"|||\":[0,0,TEXCLASS.ORD,{fence:!0,stretchy:!0,symmetric:!0}]},infix:{\"!=\":MO.BIN4,\"&&\":MO.BIN4,\"**\":[1,1,TEXCLASS.BIN],\"*=\":MO.BIN4,\"+=\":MO.BIN4,\"-=\":MO.BIN4,\"->\":MO.BIN5,\"//\":[1,1,TEXCLASS.BIN],\"/=\":MO.BIN4,\":=\":MO.BIN4,\"<=\":MO.BIN5,\"<>\":[1,1,TEXCLASS.BIN],\"==\":MO.BIN4,\">=\":MO.BIN5,\"@\":MO.ORD11,\"||\":[2,2,TEXCLASS.BIN,{fence:!0,stretchy:!0,symmetric:!0}],\"|||\":[2,2,TEXCLASS.ORD,{fence:!0,stretchy:!0,symmetric:!0}]}}}),MathJax.Ajax.loadComplete(MML.optableDir+\"/BasicLatin.js\")}(MathJax.ElementJax.mml),function(MML){var MO=MML.mo.OPTYPES,TEXCLASS=MML.TEXCLASS;MathJax.Hub.Insert(MML.mo.prototype,{OPTABLE:{infix:{\"⭅\":MO.RELSTRETCH,\"⭆\":MO.RELSTRETCH}}}),MathJax.Ajax.loadComplete(MML.optableDir+\"/MiscSymbolsAndArrows.js\")}(MathJax.ElementJax.mml),function(MML){var MO=MML.mo.OPTYPES,TEXCLASS=MML.TEXCLASS;MathJax.Hub.Insert(MML.mo.prototype,{OPTABLE:{postfix:{\"̑\":MO.ACCENT}}}),MathJax.Ajax.loadComplete(MML.optableDir+\"/CombDiacritMarks.js\")}(MathJax.ElementJax.mml),function(MML){var MO=MML.mo.OPTYPES,TEXCLASS=MML.TEXCLASS;MathJax.Hub.Insert(MML.mo.prototype,{OPTABLE:{infix:{\"■\":MO.BIN3,\"□\":MO.BIN3,\"▪\":MO.BIN3,\"▫\":MO.BIN3,\"▭\":MO.BIN3,\"▮\":MO.BIN3,\"▯\":MO.BIN3,\"▰\":MO.BIN3,\"▱\":MO.BIN3,\"▲\":MO.BIN4,\"▴\":MO.BIN4,\"▶\":MO.BIN4,\"▷\":MO.BIN4,\"▸\":MO.BIN4,\"▼\":MO.BIN4,\"▾\":MO.BIN4,\"◀\":MO.BIN4,\"◁\":MO.BIN4,\"◂\":MO.BIN4,\"◄\":MO.BIN4,\"◅\":MO.BIN4,\"◆\":MO.BIN4,\"◇\":MO.BIN4,\"◈\":MO.BIN4,\"◉\":MO.BIN4,\"◌\":MO.BIN4,\"◍\":MO.BIN4,\"◎\":MO.BIN4,\"●\":MO.BIN4,\"◖\":MO.BIN4,\"◗\":MO.BIN4,\"◦\":MO.BIN4}}}),MathJax.Ajax.loadComplete(MML.optableDir+\"/GeometricShapes.js\")}(MathJax.ElementJax.mml),function(MML){var MO=MML.mo.OPTYPES,TEXCLASS=MML.TEXCLASS;MathJax.Hub.Insert(MML.mo.prototype,{OPTABLE:{prefix:{\"∄\":MO.ORD21,\"∛\":MO.ORD11,\"∜\":MO.ORD11,\"∡\":MO.ORD,\"∢\":MO.ORD,\"∬\":MO.INTEGRAL,\"∭\":MO.INTEGRAL,\"∯\":MO.INTEGRAL,\"∰\":MO.INTEGRAL,\"∱\":MO.INTEGRAL,\"∲\":MO.INTEGRAL,\"∳\":MO.INTEGRAL},infix:{\"∁\":[1,2,TEXCLASS.ORD],\"∆\":MO.BIN3,\"∊\":MO.REL,\"∌\":MO.REL,\"∍\":MO.REL,\"∎\":MO.BIN3,\"∔\":MO.BIN4,\"∟\":MO.REL,\"∤\":MO.REL,\"∦\":MO.REL,\"∴\":MO.REL,\"∵\":MO.REL,\"∶\":MO.REL,\"∷\":MO.REL,\"∸\":MO.BIN4,\"∹\":MO.REL,\"∺\":MO.BIN4,\"∻\":MO.REL,\"∽\":MO.REL,\"∽̱\":MO.BIN3,\"∾\":MO.REL,\"∿\":MO.BIN3,\"≁\":MO.REL,\"≂\":MO.REL,\"≂̸\":MO.REL,\"≄\":MO.REL,\"≆\":MO.REL,\"≇\":MO.REL,\"≉\":MO.REL,\"≊\":MO.REL,\"≋\":MO.REL,\"≌\":MO.REL,\"≎\":MO.REL,\"≎̸\":MO.REL,\"≏\":MO.REL,\"≏̸\":MO.REL,\"≑\":MO.REL,\"≒\":MO.REL,\"≓\":MO.REL,\"≔\":MO.REL,\"≕\":MO.REL,\"≖\":MO.REL,\"≗\":MO.REL,\"≘\":MO.REL,\"≙\":MO.REL,\"≚\":MO.REL,\"≜\":MO.REL,\"≝\":MO.REL,\"≞\":MO.REL,\"≟\":MO.REL,\"≢\":MO.REL,\"≣\":MO.REL,\"≦\":MO.REL,\"≦̸\":MO.REL,\"≧\":MO.REL,\"≨\":MO.REL,\"≩\":MO.REL,\"≪̸\":MO.REL,\"≫̸\":MO.REL,\"≬\":MO.REL,\"≭\":MO.REL,\"≮\":MO.REL,\"≯\":MO.REL,\"≰\":MO.REL,\"≱\":MO.REL,\"≲\":MO.REL,\"≳\":MO.REL,\"≴\":MO.REL,\"≵\":MO.REL,\"≶\":MO.REL,\"≷\":MO.REL,\"≸\":MO.REL,\"≹\":MO.REL,\"≼\":MO.REL,\"≽\":MO.REL,\"≾\":MO.REL,\"≿\":MO.REL,\"≿̸\":MO.REL,\"⊀\":MO.REL,\"⊁\":MO.REL,\"⊂⃒\":MO.REL,\"⊃⃒\":MO.REL,\"⊄\":MO.REL,\"⊅\":MO.REL,\"⊈\":MO.REL,\"⊉\":MO.REL,\"⊊\":MO.REL,\"⊋\":MO.REL,\"⊌\":MO.BIN4,\"⊍\":MO.BIN4,\"⊏\":MO.REL,\"⊏̸\":MO.REL,\"⊐\":MO.REL,\"⊐̸\":MO.REL,\"⊚\":MO.BIN4,\"⊛\":MO.BIN4,\"⊜\":MO.BIN4,\"⊝\":MO.BIN4,\"⊞\":MO.BIN4,\"⊟\":MO.BIN4,\"⊠\":MO.BIN4,\"⊡\":MO.BIN4,\"⊦\":MO.REL,\"⊧\":MO.REL,\"⊩\":MO.REL,\"⊪\":MO.REL,\"⊫\":MO.REL,\"⊬\":MO.REL,\"⊭\":MO.REL,\"⊮\":MO.REL,\"⊯\":MO.REL,\"⊰\":MO.REL,\"⊱\":MO.REL,\"⊲\":MO.REL,\"⊳\":MO.REL,\"⊴\":MO.REL,\"⊵\":MO.REL,\"⊶\":MO.REL,\"⊷\":MO.REL,\"⊸\":MO.REL,\"⊹\":MO.REL,\"⊺\":MO.BIN4,\"⊻\":MO.BIN4,\"⊼\":MO.BIN4,\"⊽\":MO.BIN4,\"⊾\":MO.BIN3,\"⊿\":MO.BIN3,\"⋇\":MO.BIN4,\"⋉\":MO.BIN4,\"⋊\":MO.BIN4,\"⋋\":MO.BIN4,\"⋌\":MO.BIN4,\"⋍\":MO.REL,\"⋎\":MO.BIN4,\"⋏\":MO.BIN4,\"⋐\":MO.REL,\"⋑\":MO.REL,\"⋒\":MO.BIN4,\"⋓\":MO.BIN4,\"⋔\":MO.REL,\"⋕\":MO.REL,\"⋖\":MO.REL,\"⋗\":MO.REL,\"⋘\":MO.REL,\"⋙\":MO.REL,\"⋚\":MO.REL,\"⋛\":MO.REL,\"⋜\":MO.REL,\"⋝\":MO.REL,\"⋞\":MO.REL,\"⋟\":MO.REL,\"⋠\":MO.REL,\"⋡\":MO.REL,\"⋢\":MO.REL,\"⋣\":MO.REL,\"⋤\":MO.REL,\"⋥\":MO.REL,\"⋦\":MO.REL,\"⋧\":MO.REL,\"⋨\":MO.REL,\"⋩\":MO.REL,\"⋪\":MO.REL,\"⋫\":MO.REL,\"⋬\":MO.REL,\"⋭\":MO.REL,\"⋰\":MO.REL,\"⋲\":MO.REL,\"⋳\":MO.REL,\"⋴\":MO.REL,\"⋵\":MO.REL,\"⋶\":MO.REL,\"⋷\":MO.REL,\"⋸\":MO.REL,\"⋹\":MO.REL,\"⋺\":MO.REL,\"⋻\":MO.REL,\"⋼\":MO.REL,\"⋽\":MO.REL,\"⋾\":MO.REL,\"⋿\":MO.REL}}}),MathJax.Ajax.loadComplete(MML.optableDir+\"/MathOperators.js\")}(MathJax.ElementJax.mml),function(MML){var MO=MML.mo.OPTYPES,TEXCLASS=MML.TEXCLASS;MathJax.Hub.Insert(MML.mo.prototype,{OPTABLE:{prefix:{\"⦀\":[0,0,TEXCLASS.ORD,{fence:!0,stretchy:!0}],\"⦃\":MO.OPEN,\"⦅\":MO.OPEN,\"⦇\":MO.OPEN,\"⦉\":MO.OPEN,\"⦋\":MO.OPEN,\"⦍\":MO.OPEN,\"⦏\":MO.OPEN,\"⦑\":MO.OPEN,\"⦓\":MO.OPEN,\"⦕\":MO.OPEN,\"⦗\":MO.OPEN,\"⧼\":MO.OPEN},postfix:{\"⦀\":[0,0,TEXCLASS.ORD,{fence:!0,stretchy:!0}],\"⦄\":MO.CLOSE,\"⦆\":MO.CLOSE,\"⦈\":MO.CLOSE,\"⦊\":MO.CLOSE,\"⦌\":MO.CLOSE,\"⦎\":MO.CLOSE,\"⦐\":MO.CLOSE,\"⦒\":MO.CLOSE,\"⦔\":MO.CLOSE,\"⦖\":MO.CLOSE,\"⦘\":MO.CLOSE,\"⧽\":MO.CLOSE},infix:{\"⦁\":MO.BIN3,\"⦂\":MO.BIN3,\"⦙\":MO.BIN3,\"⦚\":MO.BIN3,\"⦛\":MO.BIN3,\"⦜\":MO.BIN3,\"⦝\":MO.BIN3,\"⦞\":MO.BIN3,\"⦟\":MO.BIN3,\"⦠\":MO.BIN3,\"⦡\":MO.BIN3,\"⦢\":MO.BIN3,\"⦣\":MO.BIN3,\"⦤\":MO.BIN3,\"⦥\":MO.BIN3,\"⦦\":MO.BIN3,\"⦧\":MO.BIN3,\"⦨\":MO.BIN3,\"⦩\":MO.BIN3,\"⦪\":MO.BIN3,\"⦫\":MO.BIN3,\"⦬\":MO.BIN3,\"⦭\":MO.BIN3,\"⦮\":MO.BIN3,\"⦯\":MO.BIN3,\"⦰\":MO.BIN3,\"⦱\":MO.BIN3,\"⦲\":MO.BIN3,\"⦳\":MO.BIN3,\"⦴\":MO.BIN3,\"⦵\":MO.BIN3,\"⦶\":MO.BIN4,\"⦷\":MO.BIN4,\"⦸\":MO.BIN4,\"⦹\":MO.BIN4,\"⦺\":MO.BIN4,\"⦻\":MO.BIN4,\"⦼\":MO.BIN4,\"⦽\":MO.BIN4,\"⦾\":MO.BIN4,\"⦿\":MO.BIN4,\"⧀\":MO.REL,\"⧁\":MO.REL,\"⧂\":MO.BIN3,\"⧃\":MO.BIN3,\"⧄\":MO.BIN4,\"⧅\":MO.BIN4,\"⧆\":MO.BIN4,\"⧇\":MO.BIN4,\"⧈\":MO.BIN4,\"⧉\":MO.BIN3,\"⧊\":MO.BIN3,\"⧋\":MO.BIN3,\"⧌\":MO.BIN3,\"⧍\":MO.BIN3,\"⧎\":MO.REL,\"⧏\":MO.REL,\"⧏̸\":MO.REL,\"⧐\":MO.REL,\"⧐̸\":MO.REL,\"⧑\":MO.REL,\"⧒\":MO.REL,\"⧓\":MO.REL,\"⧔\":MO.REL,\"⧕\":MO.REL,\"⧖\":MO.BIN4,\"⧗\":MO.BIN4,\"⧘\":MO.BIN3,\"⧙\":MO.BIN3,\"⧛\":MO.BIN3,\"⧜\":MO.BIN3,\"⧝\":MO.BIN3,\"⧞\":MO.REL,\"⧟\":MO.BIN3,\"⧠\":MO.BIN3,\"⧡\":MO.REL,\"⧢\":MO.BIN4,\"⧣\":MO.REL,\"⧤\":MO.REL,\"⧥\":MO.REL,\"⧦\":MO.REL,\"⧧\":MO.BIN3,\"⧨\":MO.BIN3,\"⧩\":MO.BIN3,\"⧪\":MO.BIN3,\"⧫\":MO.BIN3,\"⧬\":MO.BIN3,\"⧭\":MO.BIN3,\"⧮\":MO.BIN3,\"⧯\":MO.BIN3,\"⧰\":MO.BIN3,\"⧱\":MO.BIN3,\"⧲\":MO.BIN3,\"⧳\":MO.BIN3,\"⧴\":MO.REL,\"⧵\":MO.BIN4,\"⧶\":MO.BIN4,\"⧷\":MO.BIN4,\"⧸\":MO.BIN3,\"⧹\":MO.BIN3,\"⧺\":MO.BIN3,\"⧻\":MO.BIN3,\"⧾\":MO.BIN4,\"⧿\":MO.BIN4}}}),MathJax.Ajax.loadComplete(MML.optableDir+\"/MiscMathSymbolsB.js\")}(MathJax.ElementJax.mml),function(MML){var MO=MML.mo.OPTYPES,TEXCLASS=MML.TEXCLASS;MathJax.Hub.Insert(MML.mo.prototype,{OPTABLE:{prefix:{\"⨃\":MO.OP,\"⨅\":MO.OP,\"⨇\":MO.OP,\"⨈\":MO.OP,\"⨉\":MO.OP,\"⨊\":MO.OP,\"⨋\":MO.INTEGRAL2,\"⨌\":MO.INTEGRAL,\"⨍\":MO.INTEGRAL2,\"⨎\":MO.INTEGRAL2,\"⨏\":MO.INTEGRAL2,\"⨐\":MO.OP,\"⨑\":MO.OP,\"⨒\":MO.OP,\"⨓\":MO.OP,\"⨔\":MO.OP,\"⨕\":MO.INTEGRAL2,\"⨖\":MO.INTEGRAL2,\"⨗\":MO.INTEGRAL2,\"⨘\":MO.INTEGRAL2,\"⨙\":MO.INTEGRAL2,\"⨚\":MO.INTEGRAL2,\"⨛\":MO.INTEGRAL2,\"⨜\":MO.INTEGRAL2,\"⫼\":MO.OP,\"⫿\":MO.OP},infix:{\"⨝\":MO.BIN3,\"⨞\":MO.BIN3,\"⨟\":MO.BIN3,\"⨠\":MO.BIN3,\"⨡\":MO.BIN3,\"⨢\":MO.BIN4,\"⨣\":MO.BIN4,\"⨤\":MO.BIN4,\"⨥\":MO.BIN4,\"⨦\":MO.BIN4,\"⨧\":MO.BIN4,\"⨨\":MO.BIN4,\"⨩\":MO.BIN4,\"⨪\":MO.BIN4,\"⨫\":MO.BIN4,\"⨬\":MO.BIN4,\"⨭\":MO.BIN4,\"⨮\":MO.BIN4,\"⨰\":MO.BIN4,\"⨱\":MO.BIN4,\"⨲\":MO.BIN4,\"⨳\":MO.BIN4,\"⨴\":MO.BIN4,\"⨵\":MO.BIN4,\"⨶\":MO.BIN4,\"⨷\":MO.BIN4,\"⨸\":MO.BIN4,\"⨹\":MO.BIN4,\"⨺\":MO.BIN4,\"⨻\":MO.BIN4,\"⨼\":MO.BIN4,\"⨽\":MO.BIN4,\"⨾\":MO.BIN4,\"⩀\":MO.BIN4,\"⩁\":MO.BIN4,\"⩂\":MO.BIN4,\"⩃\":MO.BIN4,\"⩄\":MO.BIN4,\"⩅\":MO.BIN4,\"⩆\":MO.BIN4,\"⩇\":MO.BIN4,\"⩈\":MO.BIN4,\"⩉\":MO.BIN4,\"⩊\":MO.BIN4,\"⩋\":MO.BIN4,\"⩌\":MO.BIN4,\"⩍\":MO.BIN4,\"⩎\":MO.BIN4,\"⩏\":MO.BIN4,\"⩐\":MO.BIN4,\"⩑\":MO.BIN4,\"⩒\":MO.BIN4,\"⩓\":MO.BIN4,\"⩔\":MO.BIN4,\"⩕\":MO.BIN4,\"⩖\":MO.BIN4,\"⩗\":MO.BIN4,\"⩘\":MO.BIN4,\"⩙\":MO.REL,\"⩚\":MO.BIN4,\"⩛\":MO.BIN4,\"⩜\":MO.BIN4,\"⩝\":MO.BIN4,\"⩞\":MO.BIN4,\"⩟\":MO.BIN4,\"⩠\":MO.BIN4,\"⩡\":MO.BIN4,\"⩢\":MO.BIN4,\"⩣\":MO.BIN4,\"⩤\":MO.BIN4,\"⩥\":MO.BIN4,\"⩦\":MO.REL,\"⩧\":MO.REL,\"⩨\":MO.REL,\"⩩\":MO.REL,\"⩪\":MO.REL,\"⩫\":MO.REL,\"⩬\":MO.REL,\"⩭\":MO.REL,\"⩮\":MO.REL,\"⩯\":MO.REL,\"⩰\":MO.REL,\"⩱\":MO.BIN4,\"⩲\":MO.BIN4,\"⩳\":MO.REL,\"⩴\":MO.REL,\"⩵\":MO.REL,\"⩶\":MO.REL,\"⩷\":MO.REL,\"⩸\":MO.REL,\"⩹\":MO.REL,\"⩺\":MO.REL,\"⩻\":MO.REL,\"⩼\":MO.REL,\"⩽\":MO.REL,\"⩽̸\":MO.REL,\"⩾\":MO.REL,\"⩾̸\":MO.REL,\"⩿\":MO.REL,\"⪀\":MO.REL,\"⪁\":MO.REL,\"⪂\":MO.REL,\"⪃\":MO.REL,\"⪄\":MO.REL,\"⪅\":MO.REL,\"⪆\":MO.REL,\"⪇\":MO.REL,\"⪈\":MO.REL,\"⪉\":MO.REL,\"⪊\":MO.REL,\"⪋\":MO.REL,\"⪌\":MO.REL,\"⪍\":MO.REL,\"⪎\":MO.REL,\"⪏\":MO.REL,\"⪐\":MO.REL,\"⪑\":MO.REL,\"⪒\":MO.REL,\"⪓\":MO.REL,\"⪔\":MO.REL,\"⪕\":MO.REL,\"⪖\":MO.REL,\"⪗\":MO.REL,\"⪘\":MO.REL,\"⪙\":MO.REL,\"⪚\":MO.REL,\"⪛\":MO.REL,\"⪜\":MO.REL,\"⪝\":MO.REL,\"⪞\":MO.REL,\"⪟\":MO.REL,\"⪠\":MO.REL,\"⪡\":MO.REL,\"⪡̸\":MO.REL,\"⪢\":MO.REL,\"⪢̸\":MO.REL,\"⪣\":MO.REL,\"⪤\":MO.REL,\"⪥\":MO.REL,\"⪦\":MO.REL,\"⪧\":MO.REL,\"⪨\":MO.REL,\"⪩\":MO.REL,\"⪪\":MO.REL,\"⪫\":MO.REL,\"⪬\":MO.REL,\"⪭\":MO.REL,\"⪮\":MO.REL,\"⪯̸\":MO.REL,\"⪰̸\":MO.REL,\"⪱\":MO.REL,\"⪲\":MO.REL,\"⪳\":MO.REL,\"⪴\":MO.REL,\"⪵\":MO.REL,\"⪶\":MO.REL,\"⪷\":MO.REL,\"⪸\":MO.REL,\"⪹\":MO.REL,\"⪺\":MO.REL,\"⪻\":MO.REL,\"⪼\":MO.REL,\"⪽\":MO.REL,\"⪾\":MO.REL,\"⪿\":MO.REL,\"⫀\":MO.REL,\"⫁\":MO.REL,\"⫂\":MO.REL,\"⫃\":MO.REL,\"⫄\":MO.REL,\"⫅\":MO.REL,\"⫆\":MO.REL,\"⫇\":MO.REL,\"⫈\":MO.REL,\"⫉\":MO.REL,\"⫊\":MO.REL,\"⫋\":MO.REL,\"⫌\":MO.REL,\"⫍\":MO.REL,\"⫎\":MO.REL,\"⫏\":MO.REL,\"⫐\":MO.REL,\"⫑\":MO.REL,\"⫒\":MO.REL,\"⫓\":MO.REL,\"⫔\":MO.REL,\"⫕\":MO.REL,\"⫖\":MO.REL,\"⫗\":MO.REL,\"⫘\":MO.REL,\"⫙\":MO.REL,\"⫚\":MO.REL,\"⫛\":MO.REL,\"⫝̸\":MO.REL,\"⫝\":MO.REL,\"⫞\":MO.REL,\"⫟\":MO.REL,\"⫠\":MO.REL,\"⫡\":MO.REL,\"⫢\":MO.REL,\"⫣\":MO.REL,\"⫤\":MO.REL,\"⫥\":MO.REL,\"⫦\":MO.REL,\"⫧\":MO.REL,\"⫨\":MO.REL,\"⫩\":MO.REL,\"⫪\":MO.REL,\"⫫\":MO.REL,\"⫬\":MO.REL,\"⫭\":MO.REL,\"⫮\":MO.REL,\"⫯\":MO.REL,\"⫰\":MO.REL,\"⫱\":MO.REL,\"⫲\":MO.REL,\"⫳\":MO.REL,\"⫴\":MO.BIN4,\"⫵\":MO.BIN4,\"⫶\":MO.BIN4,\"⫷\":MO.REL,\"⫸\":MO.REL,\"⫹\":MO.REL,\"⫺\":MO.REL,\"⫻\":MO.BIN4,\"⫽\":MO.BIN4,\"⫾\":MO.BIN3}}}),MathJax.Ajax.loadComplete(MML.optableDir+\"/SuppMathOperators.js\")}(MathJax.ElementJax.mml),function(MML){var MO=MML.mo.OPTYPES,TEXCLASS=MML.TEXCLASS;MathJax.Hub.Insert(MML.mo.prototype,{OPTABLE:{postfix:{\"⃛\":MO.ACCENT,\"⃜\":MO.ACCENT}}}),MathJax.Ajax.loadComplete(MML.optableDir+\"/CombDiactForSymbols.js\")}(MathJax.ElementJax.mml),function(MML){var MO=MML.mo.OPTYPES,TEXCLASS=MML.TEXCLASS;MathJax.Hub.Insert(MML.mo.prototype,{OPTABLE:{postfix:{\"°\":MO.ORD,\"´\":MO.ACCENT,\"¸\":MO.ACCENT}}}),MathJax.Ajax.loadComplete(MML.optableDir+\"/Latin1Supplement.js\")}(MathJax.ElementJax.mml),function(HUB,HTML,AJAX,CALLBACK,LOCALE,OUTPUT,INPUT){var VERSION=\"2.7.5\",EXTENSION=MathJax.Extension,ME=EXTENSION.MathEvents={version:\"2.7.5\"},SETTINGS=HUB.config.menuSettings,CONFIG={hover:500,frame:{x:3.5,y:5,bwidth:1,bcolor:\"#A6D\",hwidth:\"15px\",hcolor:\"#83A\"},button:{x:-6,y:-3,wx:-2},fadeinInc:.2,fadeoutInc:.05,fadeDelay:50,fadeoutStart:400,fadeoutDelay:15e3,styles:{\".MathJax_Hover_Frame\":{\"border-radius\":\".25em\",\"-webkit-border-radius\":\".25em\",\"-moz-border-radius\":\".25em\",\"-khtml-border-radius\":\".25em\",\"box-shadow\":\"0px 0px 15px #83A\",\"-webkit-box-shadow\":\"0px 0px 15px #83A\",\"-moz-box-shadow\":\"0px 0px 15px #83A\",\"-khtml-box-shadow\":\"0px 0px 15px #83A\",border:\"1px solid #A6D ! important\",display:\"inline-block\",position:\"absolute\"},\".MathJax_Menu_Button .MathJax_Hover_Arrow\":{position:\"absolute\",cursor:\"pointer\",display:\"inline-block\",border:\"2px solid #AAA\",\"border-radius\":\"4px\",\"-webkit-border-radius\":\"4px\",\"-moz-border-radius\":\"4px\",\"-khtml-border-radius\":\"4px\",\"font-family\":\"'Courier New',Courier\",\"font-size\":\"9px\",color:\"#F0F0F0\"},\".MathJax_Menu_Button .MathJax_Hover_Arrow span\":{display:\"block\",\"background-color\":\"#AAA\",border:\"1px solid\",\"border-radius\":\"3px\",\"line-height\":0,padding:\"4px\"},\".MathJax_Hover_Arrow:hover\":{color:\"white!important\",border:\"2px solid #CCC!important\"},\".MathJax_Hover_Arrow:hover span\":{\"background-color\":\"#CCC!important\"}}},EVENT=ME.Event={LEFTBUTTON:0,RIGHTBUTTON:2,MENUKEY:\"altKey\",KEY:{RETURN:13,ESCAPE:27,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40},Mousedown:function(event){return EVENT.Handler(event,\"Mousedown\",this)},Mouseup:function(event){return EVENT.Handler(event,\"Mouseup\",this)},Mousemove:function(event){return EVENT.Handler(event,\"Mousemove\",this)},Mouseover:function(event){return EVENT.Handler(event,\"Mouseover\",this)},Mouseout:function(event){return EVENT.Handler(event,\"Mouseout\",this)},Click:function(event){return EVENT.Handler(event,\"Click\",this)},DblClick:function(event){return EVENT.Handler(event,\"DblClick\",this)},Menu:function(event){return EVENT.Handler(event,\"ContextMenu\",this)},Handler:function(event,type,math){if(AJAX.loadingMathMenu)return EVENT.False(event);var jax=OUTPUT[math.jaxID];return event||(event=window.event),event.isContextMenu=\"ContextMenu\"===type,jax[type]?jax[type](event,math):EXTENSION.MathZoom?EXTENSION.MathZoom.HandleEvent(event,type,math):void 0},False:function(event){return event||(event=window.event),event&&(event.preventDefault?event.preventDefault():event.returnValue=!1,event.stopPropagation&&event.stopPropagation(),event.cancelBubble=!0),!1},Keydown:function(event,math){event||(event=window.event),event.keyCode===EVENT.KEY.SPACE&&EVENT.ContextMenu(event,this)},ContextMenu:function(event,math,force){var JAX=OUTPUT[math.jaxID],jax=JAX.getJaxFromMath(math),show;if((null!=JAX.config.showMathMenu?JAX:HUB).config.showMathMenu&&(\"MathJax\"===SETTINGS.context||force)){ME.msieEventBug&&(event=window.event||event),EVENT.ClearSelection(),HOVER.ClearHoverTimer(),jax.hover&&(jax.hover.remove&&(clearTimeout(jax.hover.remove),delete jax.hover.remove),jax.hover.nofade=!0);var MENU=MathJax.Menu,load,fn;if(MENU){if(MENU.loadingDomain)return EVENT.False(event);if(!(load=LOCALE.loadDomain(\"MathMenu\"))){MENU.jax=jax;var source=MENU.menu.Find(\"Show Math As\").submenu;source.items[0].name=jax.sourceMenuTitle,source.items[0].format=jax.sourceMenuFormat||\"MathML\",source.items[1].name=INPUT[jax.inputJax].sourceMenuTitle,source.items[5].disabled=!INPUT[jax.inputJax].annotationEncoding;var annotations=source.items[2];annotations.disabled=!0;var annotationItems=annotations.submenu.items,MathPlayer;annotationList=MathJax.Hub.Config.semanticsAnnotations;for(var i=0,m=annotationItems.length;i<m;i++){var name=annotationItems[i].name[1];jax.root&&null!==jax.root.getAnnotation(name)?(annotations.disabled=!1,annotationItems[i].hidden=!1):annotationItems[i].hidden=!0}return MENU.menu.Find(\"Math Settings\",\"MathPlayer\").hidden=!(\"NativeMML\"===jax.outputJax&&HUB.Browser.hasMathPlayer),MENU.menu.Post(event)}MENU.loadingDomain=!0,fn=function(){delete MENU.loadingDomain}}else{if(AJAX.loadingMathMenu)return EVENT.False(event);AJAX.loadingMathMenu=!0,load=AJAX.Require(\"[MathJax]/extensions/MathMenu.js\"),fn=function(){delete AJAX.loadingMathMenu,MathJax.Menu||(MathJax.Menu={})}}var ev={pageX:event.pageX,pageY:event.pageY,clientX:event.clientX,clientY:event.clientY};return CALLBACK.Queue(load,fn,[\"ContextMenu\",EVENT,ev,math,force]),EVENT.False(event)}},AltContextMenu:function(event,math){var JAX=OUTPUT[math.jaxID],show=(null!=JAX.config.showMathMenu?JAX:HUB).config.showMathMenu;if(show){if(show=(null!=JAX.config.showMathMenuMSIE?JAX:HUB).config.showMathMenuMSIE,\"MathJax\"===SETTINGS.context&&!SETTINGS.mpContext&&show){if(!ME.noContextMenuBug||event.button!==EVENT.RIGHTBUTTON)return}else if(!event[EVENT.MENUKEY]||event.button!==EVENT.LEFTBUTTON)return;return JAX.ContextMenu(event,math,!0)}},ClearSelection:function(){ME.safariContextMenuBug&&setTimeout(\"window.getSelection().empty()\",0),document.selection&&setTimeout(\"document.selection.empty()\",0)},getBBox:function(span){span.appendChild(ME.topImg);var h=ME.topImg.offsetTop,d=span.offsetHeight-h,w=span.offsetWidth;return span.removeChild(ME.topImg),{w:w,h:h,d:d}}},HOVER=ME.Hover={Mouseover:function(event,math){if(SETTINGS.discoverable||\"Hover\"===SETTINGS.zoom){var from=event.fromElement||event.relatedTarget,to=event.toElement||event.target;if(from&&to&&(HUB.isMathJaxNode(from)!==HUB.isMathJaxNode(to)||HUB.getJaxFor(from)!==HUB.getJaxFor(to))){var jax=this.getJaxFromMath(math);return jax.hover?HOVER.ReHover(jax):HOVER.HoverTimer(jax,math),EVENT.False(event)}}},Mouseout:function(event,math){if(SETTINGS.discoverable||\"Hover\"===SETTINGS.zoom){var from=event.fromElement||event.relatedTarget,to=event.toElement||event.target;if(from&&to&&(HUB.isMathJaxNode(from)!==HUB.isMathJaxNode(to)||HUB.getJaxFor(from)!==HUB.getJaxFor(to))){var jax=this.getJaxFromMath(math);return jax.hover?HOVER.UnHover(jax):HOVER.ClearHoverTimer(),EVENT.False(event)}}},Mousemove:function(event,math){if(SETTINGS.discoverable||\"Hover\"===SETTINGS.zoom){var jax=this.getJaxFromMath(math);if(jax.hover)return;if(HOVER.lastX==event.clientX&&HOVER.lastY==event.clientY)return;return HOVER.lastX=event.clientX,HOVER.lastY=event.clientY,HOVER.HoverTimer(jax,math),EVENT.False(event)}},HoverTimer:function(jax,math){this.ClearHoverTimer(),this.hoverTimer=setTimeout(CALLBACK([\"Hover\",this,jax,math]),CONFIG.hover)},ClearHoverTimer:function(){this.hoverTimer&&(clearTimeout(this.hoverTimer),delete this.hoverTimer)},Hover:function(jax,math){if(!EXTENSION.MathZoom||!EXTENSION.MathZoom.Hover({},math)){var JAX=OUTPUT[jax.outputJax],span=JAX.getHoverSpan(jax,math),bbox=JAX.getHoverBBox(jax,span,math),show=(null!=JAX.config.showMathMenu?JAX:HUB).config.showMathMenu,dx=CONFIG.frame.x,dy=CONFIG.frame.y,dd=CONFIG.frame.bwidth;ME.msieBorderWidthBug&&(dd=0),jax.hover={opacity:0,id:jax.inputID+\"-Hover\"};var frame=HTML.Element(\"span\",{id:jax.hover.id,isMathJax:!0,style:{display:\"inline-block\",width:0,height:0,position:\"relative\"}},[[\"span\",{className:\"MathJax_Hover_Frame\",isMathJax:!0,style:{display:\"inline-block\",position:\"absolute\",top:this.Px(-bbox.h-dy-dd-(bbox.y||0)),left:this.Px(-dx-dd+(bbox.x||0)),width:this.Px(bbox.w+2*dx),height:this.Px(bbox.h+bbox.d+2*dy),opacity:0,filter:\"alpha(opacity=0)\"}}]]),button=HTML.Element(\"span\",{isMathJax:!0,id:jax.hover.id+\"Menu\",className:\"MathJax_Menu_Button\",style:{display:\"inline-block\",\"z-index\":1,width:0,height:0,position:\"relative\"}},[[\"span\",{className:\"MathJax_Hover_Arrow\",isMathJax:!0,math:math,onclick:this.HoverMenu,jax:JAX.id,style:{left:this.Px(bbox.w+dx+dd+(bbox.x||0)+CONFIG.button.x),top:this.Px(-bbox.h-dy-dd-(bbox.y||0)-CONFIG.button.y),opacity:0,filter:\"alpha(opacity=0)\"}},[[\"span\",{isMathJax:!0},\"▼\"]]]]);bbox.width&&(frame.style.width=button.style.width=bbox.width,frame.style.marginRight=button.style.marginRight=\"-\"+bbox.width,frame.firstChild.style.width=bbox.width,button.firstChild.style.left=\"\",button.firstChild.style.right=this.Px(CONFIG.button.wx)),span.parentNode.insertBefore(frame,span),show&&span.parentNode.insertBefore(button,span),span.style&&(span.style.position=\"relative\"),this.ReHover(jax)}},ReHover:function(jax){jax.hover.remove&&clearTimeout(jax.hover.remove),jax.hover.remove=setTimeout(CALLBACK([\"UnHover\",this,jax]),CONFIG.fadeoutDelay),this.HoverFadeTimer(jax,CONFIG.fadeinInc)},UnHover:function(jax){jax.hover.nofade||this.HoverFadeTimer(jax,-CONFIG.fadeoutInc,CONFIG.fadeoutStart)},HoverFade:function(jax){delete jax.hover.timer,jax.hover.opacity=Math.max(0,Math.min(1,jax.hover.opacity+jax.hover.inc)),jax.hover.opacity=Math.floor(1e3*jax.hover.opacity)/1e3;var frame=document.getElementById(jax.hover.id),button=document.getElementById(jax.hover.id+\"Menu\");frame.firstChild.style.opacity=jax.hover.opacity,frame.firstChild.style.filter=\"alpha(opacity=\"+Math.floor(100*jax.hover.opacity)+\")\",button&&(button.firstChild.style.opacity=jax.hover.opacity,button.firstChild.style.filter=frame.style.filter),1!==jax.hover.opacity&&(jax.hover.opacity>0?this.HoverFadeTimer(jax,jax.hover.inc):(frame.parentNode.removeChild(frame),button&&button.parentNode.removeChild(button),jax.hover.remove&&clearTimeout(jax.hover.remove),delete jax.hover))},HoverFadeTimer:function(jax,inc,delay){jax.hover.inc=inc,jax.hover.timer||(jax.hover.timer=setTimeout(CALLBACK([\"HoverFade\",this,jax]),delay||CONFIG.fadeDelay))},HoverMenu:function(event){return event||(event=window.event),OUTPUT[this.jax].ContextMenu(event,this.math,!0)},ClearHover:function(jax){jax.hover.remove&&clearTimeout(jax.hover.remove),jax.hover.timer&&clearTimeout(jax.hover.timer),HOVER.ClearHoverTimer(),delete jax.hover},Px:function(m){return Math.abs(m)<.006?\"0px\":m.toFixed(2).replace(/\\.?0+$/,\"\")+\"px\"},getImages:function(){var menu;SETTINGS.discoverable&&((new Image).src=CONFIG.button.src)}},TOUCH=ME.Touch={last:0,delay:500,start:function(event){var now=(new Date).getTime(),dblTap=now-TOUCH.last<TOUCH.delay&&TOUCH.up;TOUCH.last=now,TOUCH.up=!1,dblTap&&(TOUCH.timeout=setTimeout(TOUCH.menu,TOUCH.delay,event,this),event.preventDefault())},end:function(event){var now=(new Date).getTime();if(TOUCH.up=now-TOUCH.last<TOUCH.delay,TOUCH.timeout)return clearTimeout(TOUCH.timeout),delete TOUCH.timeout,TOUCH.last=0,TOUCH.up=!1,event.preventDefault(),EVENT.Handler(event.touches[0]||event.touch,\"DblClick\",this)},menu:function(event,math){return delete TOUCH.timeout,TOUCH.last=0,TOUCH.up=!1,EVENT.Handler(event.touches[0]||event.touch,\"ContextMenu\",math)}};HUB.Browser.Select({MSIE:function(browser){var mode=document.documentMode||0,isIE8=browser.versionAtLeast(\"8.0\");ME.msieBorderWidthBug=\"BackCompat\"===document.compatMode,ME.msieEventBug=browser.isIE9,ME.msieAlignBug=!isIE8||mode<8,mode<9&&(EVENT.LEFTBUTTON=1)},Safari:function(browser){ME.safariContextMenuBug=!0},Opera:function(browser){ME.operaPositionBug=!0},Konqueror:function(browser){ME.noContextMenuBug=!0}}),ME.topImg=ME.msieAlignBug?HTML.Element(\"img\",{style:{width:0,height:0,position:\"relative\"},src:\"about:blank\"}):HTML.Element(\"span\",{style:{width:0,height:0,display:\"inline-block\"}}),ME.operaPositionBug&&(ME.topImg.style.border=\"1px solid\"),ME.config=CONFIG=HUB.CombineConfig(\"MathEvents\",CONFIG);var SETFRAME=function(){var haze=CONFIG.styles[\".MathJax_Hover_Frame\"];haze.border=CONFIG.frame.bwidth+\"px solid \"+CONFIG.frame.bcolor+\" ! important\",haze[\"box-shadow\"]=haze[\"-webkit-box-shadow\"]=haze[\"-moz-box-shadow\"]=haze[\"-khtml-box-shadow\"]=\"0px 0px \"+CONFIG.frame.hwidth+\" \"+CONFIG.frame.hcolor};CALLBACK.Queue(HUB.Register.StartupHook(\"End Config\",{}),[SETFRAME],[\"getImages\",HOVER],[\"Styles\",AJAX,CONFIG.styles],[\"Post\",HUB.Startup.signal,\"MathEvents Ready\"],[\"loadComplete\",AJAX,\"[MathJax]/extensions/MathEvents.js\"])}(MathJax.Hub,MathJax.HTML,MathJax.Ajax,MathJax.Callback,MathJax.Localization,MathJax.OutputJax,MathJax.InputJax),function(HUB,HTML,AJAX,HTMLCSS,nMML){var VERSION=\"2.7.5\",CONFIG=HUB.CombineConfig(\"MathZoom\",{styles:{\"#MathJax_Zoom\":{position:\"absolute\",\"background-color\":\"#F0F0F0\",overflow:\"auto\",display:\"block\",\"z-index\":301,padding:\".5em\",border:\"1px solid black\",margin:0,\"font-weight\":\"normal\",\"font-style\":\"normal\",\"text-align\":\"left\",\"text-indent\":0,\"text-transform\":\"none\",\"line-height\":\"normal\",\"letter-spacing\":\"normal\",\"word-spacing\":\"normal\",\"word-wrap\":\"normal\",\"white-space\":\"nowrap\",float:\"none\",\"-webkit-box-sizing\":\"content-box\",\"-moz-box-sizing\":\"content-box\",\"box-sizing\":\"content-box\",\"box-shadow\":\"5px 5px 15px #AAAAAA\",\"-webkit-box-shadow\":\"5px 5px 15px #AAAAAA\",\"-moz-box-shadow\":\"5px 5px 15px #AAAAAA\",\"-khtml-box-shadow\":\"5px 5px 15px #AAAAAA\",filter:\"progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')\"},\"#MathJax_ZoomOverlay\":{position:\"absolute\",left:0,top:0,\"z-index\":300,display:\"inline-block\",width:\"100%\",height:\"100%\",border:0,padding:0,margin:0,\"background-color\":\"white\",opacity:0,filter:\"alpha(opacity=0)\"},\"#MathJax_ZoomFrame\":{position:\"relative\",display:\"inline-block\",height:0,width:0},\"#MathJax_ZoomEventTrap\":{position:\"absolute\",left:0,top:0,\"z-index\":302,display:\"inline-block\",border:0,padding:0,margin:0,\"background-color\":\"white\",opacity:0,filter:\"alpha(opacity=0)\"}}}),FALSE,HOVER,EVENT;MathJax.Hub.Register.StartupHook(\"MathEvents Ready\",(function(){EVENT=MathJax.Extension.MathEvents.Event,FALSE=MathJax.Extension.MathEvents.Event.False,HOVER=MathJax.Extension.MathEvents.Hover}));var ZOOM=MathJax.Extension.MathZoom={version:\"2.7.5\",settings:HUB.config.menuSettings,scrollSize:18,HandleEvent:function(event,type,math){return!(!ZOOM.settings.CTRL||event.ctrlKey)||(!(!ZOOM.settings.ALT||event.altKey)||(!(!ZOOM.settings.CMD||event.metaKey)||(!(!ZOOM.settings.Shift||event.shiftKey)||(!ZOOM[type]||ZOOM[type](event,math)))))},Click:function(event,math){if(\"Click\"===this.settings.zoom)return this.Zoom(event,math)},DblClick:function(event,math){if(\"Double-Click\"===this.settings.zoom||\"DoubleClick\"===this.settings.zoom)return this.Zoom(event,math)},Hover:function(event,math){return\"Hover\"===this.settings.zoom&&(this.Zoom(event,math),!0)},Zoom:function(event,math){this.Remove(),HOVER.ClearHoverTimer(),EVENT.ClearSelection();var JAX=MathJax.OutputJax[math.jaxID],jax=JAX.getJaxFromMath(math);jax.hover&&HOVER.UnHover(jax);var container=this.findContainer(math),Mw=Math.floor(.85*container.clientWidth),Mh=Math.max(document.body.clientHeight,document.documentElement.clientHeight);\"visible\"!==this.getOverflow(container)&&(Mh=Math.min(container.clientHeight,Mh)),Mh=Math.floor(.85*Mh);var div=HTML.Element(\"span\",{id:\"MathJax_ZoomFrame\"},[[\"span\",{id:\"MathJax_ZoomOverlay\",onmousedown:this.Remove}],[\"span\",{id:\"MathJax_Zoom\",onclick:this.Remove,style:{visibility:\"hidden\",fontSize:this.settings.zscale}},[[\"span\",{style:{display:\"inline-block\",\"white-space\":\"nowrap\"}}]]]]),zoom=div.lastChild,span=zoom.firstChild,overlay=div.firstChild;math.parentNode.insertBefore(div,math),math.parentNode.insertBefore(math,div),span.addEventListener&&span.addEventListener(\"mousedown\",this.Remove,!0);var eW=zoom.offsetWidth||zoom.clientWidth;if(Mw-=eW,Mh-=eW,zoom.style.maxWidth=Mw+\"px\",zoom.style.maxHeight=Mh+\"px\",this.msieTrapEventBug){var trap=HTML.Element(\"span\",{id:\"MathJax_ZoomEventTrap\",onmousedown:this.Remove});div.insertBefore(trap,zoom)}if(this.msieZIndexBug){var tracker=HTML.addElement(document.body,\"img\",{src:\"about:blank\",id:\"MathJax_ZoomTracker\",width:0,height:0,style:{width:0,height:0,position:\"relative\"}});div.style.position=\"relative\",div.style.zIndex=CONFIG.styles[\"#MathJax_ZoomOverlay\"][\"z-index\"],div=tracker}var bbox=JAX.Zoom(jax,span,math,Mw,Mh);return this.msiePositionBug&&(this.msieSizeBug&&(zoom.style.height=bbox.zH+\"px\",zoom.style.width=bbox.zW+\"px\"),zoom.offsetHeight>Mh&&(zoom.style.height=Mh+\"px\",zoom.style.width=bbox.zW+this.scrollSize+\"px\"),zoom.offsetWidth>Mw&&(zoom.style.width=Mw+\"px\",zoom.style.height=bbox.zH+this.scrollSize+\"px\")),this.operaPositionBug&&(zoom.style.width=Math.min(Mw,bbox.zW)+\"px\"),zoom.offsetWidth>eW&&zoom.offsetWidth-eW<Mw&&zoom.offsetHeight-eW<Mh&&(zoom.style.overflow=\"visible\"),this.Position(zoom,bbox),this.msieTrapEventBug&&(trap.style.height=zoom.clientHeight+\"px\",trap.style.width=zoom.clientWidth+\"px\",trap.style.left=parseFloat(zoom.style.left)+zoom.clientLeft+\"px\",trap.style.top=parseFloat(zoom.style.top)+zoom.clientTop+\"px\"),zoom.style.visibility=\"\",\"Hover\"===this.settings.zoom&&(overlay.onmouseover=this.Remove),window.addEventListener?addEventListener(\"resize\",this.Resize,!1):window.attachEvent?attachEvent(\"onresize\",this.Resize):(this.onresize=window.onresize,window.onresize=this.Resize),HUB.signal.Post([\"math zoomed\",jax]),FALSE(event)},Position:function(zoom,bbox){zoom.style.display=\"none\";var XY=this.Resize(),x=XY.x,y=XY.y,W=bbox.mW;zoom.style.display=\"\";var dx=-W-Math.floor((zoom.offsetWidth-W)/2),dy=bbox.Y;zoom.style.left=Math.max(dx,10-x)+\"px\",zoom.style.top=Math.max(dy,10-y)+\"px\",ZOOM.msiePositionBug||ZOOM.SetWH()},Resize:function(event){ZOOM.onresize&&ZOOM.onresize(event);var div=document.getElementById(\"MathJax_ZoomFrame\"),overlay=document.getElementById(\"MathJax_ZoomOverlay\"),xy=ZOOM.getXY(div),obj=ZOOM.findContainer(div);if(\"visible\"!==ZOOM.getOverflow(obj)){overlay.scroll_parent=obj;var XY=ZOOM.getXY(obj);xy.x-=XY.x,xy.y-=XY.y,XY=ZOOM.getBorder(obj),xy.x-=XY.x,xy.y-=XY.y}return overlay.style.left=-xy.x+\"px\",overlay.style.top=-xy.y+\"px\",ZOOM.msiePositionBug?setTimeout(ZOOM.SetWH,0):ZOOM.SetWH(),xy},SetWH:function(){var overlay=document.getElementById(\"MathJax_ZoomOverlay\");if(overlay){overlay.style.display=\"none\";var doc=overlay.scroll_parent||document.documentElement||document.body;overlay.style.width=doc.scrollWidth+\"px\",overlay.style.height=Math.max(doc.clientHeight,doc.scrollHeight)+\"px\",overlay.style.display=\"\"}},findContainer:function(obj){for(obj=obj.parentNode;obj.parentNode&&obj!==document.body&&\"visible\"===ZOOM.getOverflow(obj);)obj=obj.parentNode;return obj},getOverflow:window.getComputedStyle?function(obj){return getComputedStyle(obj).overflow}:function(obj){return(obj.currentStyle||{overflow:\"visible\"}).overflow},getBorder:function(obj){var size={thin:1,medium:2,thick:3},style=window.getComputedStyle?getComputedStyle(obj):obj.currentStyle||{borderLeftWidth:0,borderTopWidth:0},x=style.borderLeftWidth,y=style.borderTopWidth;return{x:x=size[x]?size[x]:parseInt(x),y:y=size[y]?size[y]:parseInt(y)}},getXY:function(div){var x=0,y=0,obj;for(obj=div;obj.offsetParent;)x+=obj.offsetLeft,obj=obj.offsetParent;for(ZOOM.operaPositionBug&&(div.style.border=\"1px solid\"),obj=div;obj.offsetParent;)y+=obj.offsetTop,obj=obj.offsetParent;return ZOOM.operaPositionBug&&(div.style.border=\"\"),{x:x,y:y}},Remove:function(event){var div=document.getElementById(\"MathJax_ZoomFrame\");if(div){var JAX,jax=MathJax.OutputJax[div.previousSibling.jaxID].getJaxFromMath(div.previousSibling);if(HUB.signal.Post([\"math unzoomed\",jax]),div.parentNode.removeChild(div),(div=document.getElementById(\"MathJax_ZoomTracker\"))&&div.parentNode.removeChild(div),ZOOM.operaRefreshBug){var overlay=HTML.addElement(document.body,\"div\",{style:{position:\"fixed\",left:0,top:0,width:\"100%\",height:\"100%\",backgroundColor:\"white\",opacity:0},id:\"MathJax_OperaDiv\"});document.body.removeChild(overlay)}window.removeEventListener?removeEventListener(\"resize\",ZOOM.Resize,!1):window.detachEvent?detachEvent(\"onresize\",ZOOM.Resize):(window.onresize=ZOOM.onresize,delete ZOOM.onresize)}return FALSE(event)}};HUB.Browser.Select({MSIE:function(browser){var mode=document.documentMode||0,isIE9=mode>=9;ZOOM.msiePositionBug=!isIE9,ZOOM.msieSizeBug=browser.versionAtLeast(\"7.0\")&&(!document.documentMode||7===mode||8===mode),ZOOM.msieZIndexBug=mode<=7,ZOOM.msieInlineBlockAlignBug=mode<=7,ZOOM.msieTrapEventBug=!window.addEventListener,\"BackCompat\"===document.compatMode&&(ZOOM.scrollSize=52),isIE9&&delete CONFIG.styles[\"#MathJax_Zoom\"].filter},Opera:function(browser){ZOOM.operaPositionBug=!0,ZOOM.operaRefreshBug=!0}}),ZOOM.topImg=ZOOM.msieInlineBlockAlignBug?HTML.Element(\"img\",{style:{width:0,height:0,position:\"relative\"},src:\"about:blank\"}):HTML.Element(\"span\",{style:{width:0,height:0,display:\"inline-block\"}}),(ZOOM.operaPositionBug||ZOOM.msieTopBug)&&(ZOOM.topImg.style.border=\"1px solid\"),MathJax.Callback.Queue([\"StartupHook\",MathJax.Hub.Register,\"Begin Styles\",{}],[\"Styles\",AJAX,CONFIG.styles],[\"Post\",HUB.Startup.signal,\"MathZoom Ready\"],[\"loadComplete\",AJAX,\"[MathJax]/extensions/MathZoom.js\"])}(MathJax.Hub,MathJax.HTML,MathJax.Ajax,MathJax.OutputJax[\"HTML-CSS\"],MathJax.OutputJax.NativeMML),function(HUB,HTML,AJAX,CALLBACK,OUTPUT){var VERSION=\"2.7.5\",SIGNAL=MathJax.Callback.Signal(\"menu\");MathJax.Extension.MathMenu={version:\"2.7.5\",signal:SIGNAL};var _=function(id){return MathJax.Localization._.apply(MathJax.Localization,[[\"MathMenu\",id]].concat([].slice.call(arguments,1)))},isArray=MathJax.Object.isArray,isPC=HUB.Browser.isPC,isMSIE=HUB.Browser.isMSIE,isIE9=(document.documentMode||0)>8,ROUND=isPC?null:\"5px\",CONFIG=HUB.CombineConfig(\"MathMenu\",{delay:150,showRenderer:!0,showMathPlayer:!0,showFontMenu:!1,showContext:!1,showDiscoverable:!1,showLocale:!0,showLocaleURL:!1,semanticsAnnotations:{TeX:[\"TeX\",\"LaTeX\",\"application/x-tex\"],StarMath:[\"StarMath 5.0\"],Maple:[\"Maple\"],ContentMathML:[\"MathML-Content\",\"application/mathml-content+xml\"],OpenMath:[\"OpenMath\"]},windowSettings:{status:\"no\",toolbar:\"no\",locationbar:\"no\",menubar:\"no\",directories:\"no\",personalbar:\"no\",resizable:\"yes\",scrollbars:\"yes\",width:400,height:300,left:Math.round((screen.width-400)/2),top:Math.round((screen.height-300)/3)},styles:{\"#MathJax_About\":{position:\"fixed\",left:\"50%\",width:\"auto\",\"text-align\":\"center\",border:\"3px outset\",padding:\"1em 2em\",\"background-color\":\"#DDDDDD\",color:\"black\",cursor:\"default\",\"font-family\":\"message-box\",\"font-size\":\"120%\",\"font-style\":\"normal\",\"text-indent\":0,\"text-transform\":\"none\",\"line-height\":\"normal\",\"letter-spacing\":\"normal\",\"word-spacing\":\"normal\",\"word-wrap\":\"normal\",\"white-space\":\"nowrap\",float:\"none\",\"z-index\":201,\"border-radius\":\"15px\",\"-webkit-border-radius\":\"15px\",\"-moz-border-radius\":\"15px\",\"-khtml-border-radius\":\"15px\",\"box-shadow\":\"0px 10px 20px #808080\",\"-webkit-box-shadow\":\"0px 10px 20px #808080\",\"-moz-box-shadow\":\"0px 10px 20px #808080\",\"-khtml-box-shadow\":\"0px 10px 20px #808080\",filter:\"progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')\"},\"#MathJax_About.MathJax_MousePost\":{outline:\"none\"},\".MathJax_Menu\":{position:\"absolute\",\"background-color\":\"white\",color:\"black\",width:\"auto\",padding:isPC?\"2px\":\"5px 0px\",border:\"1px solid #CCCCCC\",margin:0,cursor:\"default\",font:\"menu\",\"text-align\":\"left\",\"text-indent\":0,\"text-transform\":\"none\",\"line-height\":\"normal\",\"letter-spacing\":\"normal\",\"word-spacing\":\"normal\",\"word-wrap\":\"normal\",\"white-space\":\"nowrap\",float:\"none\",\"z-index\":201,\"border-radius\":ROUND,\"-webkit-border-radius\":ROUND,\"-moz-border-radius\":ROUND,\"-khtml-border-radius\":ROUND,\"box-shadow\":\"0px 10px 20px #808080\",\"-webkit-box-shadow\":\"0px 10px 20px #808080\",\"-moz-box-shadow\":\"0px 10px 20px #808080\",\"-khtml-box-shadow\":\"0px 10px 20px #808080\",filter:\"progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')\"},\".MathJax_MenuItem\":{padding:isPC?\"2px 2em\":\"1px 2em\",background:\"transparent\"},\".MathJax_MenuArrow\":{position:\"absolute\",right:\".5em\",\"padding-top\":\".25em\",color:\"#666666\",\"font-family\":isMSIE?\"'Arial unicode MS'\":null,\"font-size\":\".75em\"},\".MathJax_MenuActive .MathJax_MenuArrow\":{color:\"white\"},\".MathJax_MenuArrow.RTL\":{left:\".5em\",right:\"auto\"},\".MathJax_MenuCheck\":{position:\"absolute\",left:\".7em\",\"font-family\":isMSIE?\"'Arial unicode MS'\":null},\".MathJax_MenuCheck.RTL\":{right:\".7em\",left:\"auto\"},\".MathJax_MenuRadioCheck\":{position:\"absolute\",left:isPC?\"1em\":\".7em\"},\".MathJax_MenuRadioCheck.RTL\":{right:isPC?\"1em\":\".7em\",left:\"auto\"},\".MathJax_MenuLabel\":{padding:isPC?\"2px 2em 4px 1.33em\":\"1px 2em 3px 1.33em\",\"font-style\":\"italic\"},\".MathJax_MenuRule\":{\"border-top\":isPC?\"1px solid #CCCCCC\":\"1px solid #DDDDDD\",margin:isPC?\"4px 1px 0px\":\"4px 3px\"},\".MathJax_MenuDisabled\":{color:\"GrayText\"},\".MathJax_MenuActive\":{\"background-color\":isPC?\"Highlight\":\"#606872\",color:isPC?\"HighlightText\":\"white\"},\".MathJax_MenuDisabled:focus, .MathJax_MenuLabel:focus\":{\"background-color\":\"#E8E8E8\"},\".MathJax_ContextMenu:focus\":{outline:\"none\"},\".MathJax_ContextMenu .MathJax_MenuItem:focus\":{outline:\"none\"},\"#MathJax_AboutClose\":{top:\".2em\",right:\".2em\"},\".MathJax_Menu .MathJax_MenuClose\":{top:\"-10px\",left:\"-10px\"},\".MathJax_MenuClose\":{position:\"absolute\",cursor:\"pointer\",display:\"inline-block\",border:\"2px solid #AAA\",\"border-radius\":\"18px\",\"-webkit-border-radius\":\"18px\",\"-moz-border-radius\":\"18px\",\"-khtml-border-radius\":\"18px\",\"font-family\":\"'Courier New',Courier\",\"font-size\":\"24px\",color:\"#F0F0F0\"},\".MathJax_MenuClose span\":{display:\"block\",\"background-color\":\"#AAA\",border:\"1.5px solid\",\"border-radius\":\"18px\",\"-webkit-border-radius\":\"18px\",\"-moz-border-radius\":\"18px\",\"-khtml-border-radius\":\"18px\",\"line-height\":0,padding:\"8px 0 6px\"},\".MathJax_MenuClose:hover\":{color:\"white!important\",border:\"2px solid #CCC!important\"},\".MathJax_MenuClose:hover span\":{\"background-color\":\"#CCC!important\"},\".MathJax_MenuClose:hover:focus\":{outline:\"none\"}}}),FALSE,HOVER,KEY;HUB.Register.StartupHook(\"MathEvents Ready\",(function(){FALSE=MathJax.Extension.MathEvents.Event.False,HOVER=MathJax.Extension.MathEvents.Hover,KEY=MathJax.Extension.MathEvents.Event.KEY}));var NAV=MathJax.Object.Subclass({Keydown:function(event,menu){switch(event.keyCode){case KEY.ESCAPE:this.Remove(event,menu);break;case KEY.RIGHT:this.Right(event,menu);break;case KEY.LEFT:this.Left(event,menu);break;case KEY.UP:this.Up(event,menu);break;case KEY.DOWN:this.Down(event,menu);break;case KEY.RETURN:case KEY.SPACE:this.Space(event,menu);break;default:return}return FALSE(event)},Escape:function(event,menu){},Right:function(event,menu){},Left:function(event,menu){},Up:function(event,menu){},Down:function(event,menu){},Space:function(event,menu){}},{}),MENU=MathJax.Menu=NAV.Subclass({version:\"2.7.5\",items:[],posted:!1,title:null,margin:5,Init:function(def){this.items=[].slice.call(arguments,0)},With:function(def){return def&&HUB.Insert(this,def),this},Post:function(event,parent,forceLTR){event||(event=window.event||{});var div=document.getElementById(\"MathJax_MenuFrame\");div||(div=MENU.Background(this),delete ITEM.lastItem,delete ITEM.lastMenu,delete MENU.skipUp,SIGNAL.Post([\"post\",MENU.jax]),MENU.isRTL=\"rtl\"===MathJax.Localization.fontDirection());var menu=HTML.Element(\"div\",{onmouseup:MENU.Mouseup,ondblclick:FALSE,ondragstart:FALSE,onselectstart:FALSE,oncontextmenu:FALSE,menuItem:this,className:\"MathJax_Menu\",onkeydown:MENU.Keydown,role:\"menu\"});\"contextmenu\"!==event.type&&\"mouseover\"!==event.type||(menu.className+=\" MathJax_ContextMenu\"),forceLTR||MathJax.Localization.setCSS(menu);for(var i=0,m=this.items.length;i<m;i++)this.items[i].Create(menu);MENU.isMobile&&HTML.addElement(menu,\"span\",{className:\"MathJax_MenuClose\",menu:parent,ontouchstart:MENU.Close,ontouchend:FALSE,onmousedown:MENU.Close,onmouseup:FALSE},[[\"span\",{},\"×\"]]),div.appendChild(menu),this.posted=!0,menu.offsetWidth&&(menu.style.width=menu.offsetWidth+2+\"px\");var x=event.pageX,y=event.pageY,bbox=document.body.getBoundingClientRect(),styles=window.getComputedStyle?window.getComputedStyle(document.body):{marginLeft:\"0px\"},bodyRight=bbox.right-Math.min(0,bbox.left)+parseFloat(styles.marginLeft);if(!x&&!y&&\"clientX\"in event&&(x=event.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,y=event.clientY+document.body.scrollTop+document.documentElement.scrollTop),parent){var side=\"left\",mw=parent.offsetWidth;for(x=MENU.isMobile?30:mw-2,y=0;parent&&parent!==div;)x+=parent.offsetLeft,y+=parent.offsetTop,parent=parent.parentNode;MENU.isMobile||(MENU.isRTL&&x-mw-menu.offsetWidth>this.margin||!MENU.isRTL&&x+menu.offsetWidth>bodyRight-this.margin)&&(side=\"right\",x=Math.max(this.margin,x-mw-menu.offsetWidth+6)),isPC||(menu.style[\"borderRadiusTop\"+side]=0,menu.style[\"WebkitBorderRadiusTop\"+side]=0,menu.style[\"MozBorderRadiusTop\"+side]=0,menu.style[\"KhtmlBorderRadiusTop\"+side]=0)}else{var node=MENU.CurrentNode()||event.target;if((\"keydown\"===event.type||!x&&!y)&&node){var offsetX=window.pageXOffset||document.documentElement.scrollLeft,offsetY=window.pageYOffset||document.documentElement.scrollTop,rect=node.getBoundingClientRect();x=(rect.right+rect.left)/2+offsetX,y=(rect.bottom+rect.top)/2+offsetY}x+menu.offsetWidth>bodyRight-this.margin&&(x=bodyRight-menu.offsetWidth-this.margin),MENU.isMobile&&(x=Math.max(5,x-Math.floor(menu.offsetWidth/2)),y-=20),MENU.skipUp=event.isContextMenu}menu.style.left=x+\"px\",menu.style.top=y+\"px\",document.selection&&document.selection.empty&&document.selection.empty();var oldX=window.pageXOffset||document.documentElement.scrollLeft,oldY=window.pageYOffset||document.documentElement.scrollTop;return MENU.Focus(menu),\"keydown\"===event.type&&(MENU.skipMouseoverFromKey=!0,setTimeout((function(){delete MENU.skipMouseoverFromKey}),CONFIG.delay)),window.scrollTo(oldX,oldY),FALSE(event)},Remove:function(event,menu){SIGNAL.Post([\"unpost\",MENU.jax]);var div=document.getElementById(\"MathJax_MenuFrame\");return div&&(div.parentNode.removeChild(div),this.msieFixedPositionBug&&detachEvent(\"onresize\",MENU.Resize)),MENU.jax.hover&&(delete MENU.jax.hover.nofade,HOVER.UnHover(MENU.jax)),MENU.Unfocus(menu),\"mousedown\"===event.type&&MENU.CurrentNode().blur(),FALSE(event)},Find:function(name){return this.FindN(1,name,[].slice.call(arguments,1))},FindId:function(name){return this.FindN(0,name,[].slice.call(arguments,1))},FindN:function(n,name,names){for(var i=0,m=this.items.length;i<m;i++)if(this.items[i].name[n]===name)return names.length?this.items[i].submenu?this.items[i].submenu.FindN(n,names[0],names.slice(1)):null:this.items[i];return null},IndexOf:function(name){return this.IndexOfN(1,name)},IndexOfId:function(name){return this.IndexOfN(0,name)},IndexOfN:function(n,name){for(var i=0,m=this.items.length;i<m;i++)if(this.items[i].name[n]===name)return i;return null},Right:function(event,menu){MENU.Right(event,menu)},Left:function(event,menu){MENU.Left(event,menu)},Up:function(event,menu){var node=menu.lastChild;node.menuItem.Activate(event,node)},Down:function(event,menu){var node=menu.firstChild;node.menuItem.Activate(event,node)},Space:function(event,menu){this.Remove(event,menu)}},{config:CONFIG,Remove:function(event){return MENU.Event(event,this,\"Remove\")},Mouseover:function(event){return MENU.Event(event,this,\"Mouseover\")},Mouseout:function(event){return MENU.Event(event,this,\"Mouseout\")},Mousedown:function(event){return MENU.Event(event,this,\"Mousedown\")},Mouseup:function(event){return MENU.Event(event,this,\"Mouseup\")},Keydown:function(event){return MENU.Event(event,this,\"Keydown\")},Touchstart:function(event){return MENU.Event(event,this,\"Touchstart\")},Touchend:function(event){return MENU.Event(event,this,\"Touchend\")},Close:function(event){return MENU.Event(event,this.menu||this.parentNode,this.menu?\"Touchend\":\"Remove\")},Event:function(event,menu,type,force){if(MENU.skipMouseover&&\"Mouseover\"===type&&!force)return FALSE(event);if(MENU.skipMouseoverFromKey&&\"Mouseover\"===type)return delete MENU.skipMouseoverFromKey,FALSE(event);if(MENU.skipUp){if(type.match(/Mouseup|Touchend/))return delete MENU.skipUp,FALSE(event);(\"Touchstart\"===type||\"Mousedown\"===type&&!MENU.skipMousedown)&&delete MENU.skipUp}event||(event=window.event);var item=menu.menuItem;return item&&item[type]?item[type](event,menu):null},BGSTYLE:{position:\"absolute\",left:0,top:0,\"z-index\":200,width:\"100%\",height:\"100%\",border:0,padding:0,margin:0},Background:function(menu){var div=HTML.addElement(document.body,\"div\",{style:this.BGSTYLE,id:\"MathJax_MenuFrame\"},[[\"div\",{style:this.BGSTYLE,menuItem:menu,onmousedown:this.Remove}]]),bg=div.firstChild;return MENU.msieBackgroundBug&&(bg.style.backgroundColor=\"white\",bg.style.filter=\"alpha(opacity=0)\"),MENU.msieFixedPositionBug?(div.width=div.height=0,this.Resize(),attachEvent(\"onresize\",this.Resize)):bg.style.position=\"fixed\",div},Resize:function(){setTimeout(MENU.SetWH,0)},SetWH:function(){var bg=document.getElementById(\"MathJax_MenuFrame\");bg&&((bg=bg.firstChild).style.width=bg.style.height=\"1px\",bg.style.width=document.body.scrollWidth+\"px\",bg.style.height=document.body.scrollHeight+\"px\")},posted:!1,active:null,GetNode:function(jax){var node=document.getElementById(jax.inputID+\"-Frame\");return node.isMathJax?node:node.firstChild},CurrentNode:function(){return MENU.GetNode(MENU.jax)},AllNodes:function(){for(var jaxs=MathJax.Hub.getAllJax(),nodes=[],i=0,jax;jax=jaxs[i];i++)nodes.push(MENU.GetNode(jax));return nodes},ActiveNode:function(){return MENU.active},FocusNode:function(node){MENU.active=node,node.focus()},Focus:function(menu){MENU.posted?MENU.ActiveNode().tabIndex=-1:MENU.Activate(menu),menu.tabIndex=0,MENU.FocusNode(menu)},Activate:function(event,menu){MENU.UnsetTabIndex(),MENU.posted=!0},Unfocus:function(){MENU.ActiveNode().tabIndex=-1,MENU.SetTabIndex(),MENU.FocusNode(MENU.CurrentNode()),MENU.posted=!1},MoveHorizontal:function(event,menu,move){if(event.shiftKey){var jaxs=MENU.AllNodes(),len=jaxs.length;if(0!==len){var next=jaxs[MENU.Mod(move(MENU.IndexOf(jaxs,MENU.CurrentNode())),len)];next!==MENU.CurrentNode()&&(MENU.menu.Remove(event,menu),MENU.jax=MathJax.Hub.getJaxFor(next),MENU.FocusNode(next),MENU.menu.Post(null))}}},Right:function(event,menu){MENU.MoveHorizontal(event,menu,(function(x){return x+1}))},Left:function(event,menu){MENU.MoveHorizontal(event,menu,(function(x){return x-1}))},UnsetTabIndex:function(){for(var jaxs=MENU.AllNodes(),j=0,jax;jax=jaxs[j];j++)jax.tabIndex>0&&(jax.oldTabIndex=jax.tabIndex),jax.tabIndex=-1},SetTabIndex:function(){for(var jaxs=MENU.AllNodes(),j=0,jax;jax=jaxs[j];j++)void 0!==jax.oldTabIndex?(jax.tabIndex=jax.oldTabIndex,delete jax.oldTabIndex):jax.tabIndex=HUB.getTabOrder(jax)},Mod:function(a,n){return(a%n+n)%n},IndexOf:Array.prototype.indexOf?function(A,item,start){return A.indexOf(item,start)}:function(A,item,start){for(var i=start||0,j=A.length;i<j;i++)if(item===A[i])return i;return-1},saveCookie:function(){HTML.Cookie.Set(\"menu\",this.cookie)},getCookie:function(){this.cookie=HTML.Cookie.Get(\"menu\")}});MathJax.Menu.NAV=NAV;var ITEM=MENU.ITEM=NAV.Subclass({name:\"\",node:null,menu:null,Attributes:function(def){return HUB.Insert({onmouseup:MENU.Mouseup,ondragstart:FALSE,onselectstart:FALSE,onselectend:FALSE,ontouchstart:MENU.Touchstart,ontouchend:MENU.Touchend,className:\"MathJax_MenuItem\",role:this.role,menuItem:this},def)},Create:function(menu){if(!this.hidden){var def=this.Attributes(),label=this.Label(def,menu);HTML.addElement(menu,\"div\",def,label)}},Name:function(){return _(this.name[0],this.name[1])},Mouseover:function(event,menu){menu.parentNode===MENU.ActiveNode().parentNode&&this.Deactivate(MENU.ActiveNode()),this.Activate(event,menu)},Mouseout:function(event,menu){this.Deactivate(menu)},Mouseup:function(event,menu){return this.Remove(event,menu)},DeactivateSubmenus:function(menu){for(var menus=document.getElementById(\"MathJax_MenuFrame\").childNodes,items=ITEM.GetMenuNode(menu).childNodes,i=0,m=items.length;i<m;i++){var item=items[i].menuItem;item&&item.submenu&&item.submenu.posted&&item!==menu.menuItem&&item.Deactivate(items[i])}this.RemoveSubmenus(menu,menus)},RemoveSubmenus:function(menu,menus){for(var m=(menus=menus||document.getElementById(\"MathJax_MenuFrame\").childNodes).length-1;m>=0&&ITEM.GetMenuNode(menu).menuItem!==menus[m].menuItem;)menus[m].menuItem.posted=!1,menus[m].parentNode.removeChild(menus[m]),m--},Touchstart:function(event,menu){return this.TouchEvent(event,menu,\"Mousedown\")},Touchend:function(event,menu){return this.TouchEvent(event,menu,\"Mouseup\")},TouchEvent:function(event,menu,type){return this!==ITEM.lastItem&&(ITEM.lastMenu&&MENU.Event(event,ITEM.lastMenu,\"Mouseout\"),MENU.Event(event,menu,\"Mouseover\",!0),ITEM.lastItem=this,ITEM.lastMenu=menu),this.nativeTouch?null:(MENU.Event(event,menu,type),!1)},Remove:function(event,menu){return(menu=menu.parentNode.menuItem).Remove(event,menu)},With:function(def){return def&&HUB.Insert(this,def),this},isRTL:function(){return MENU.isRTL},rtlClass:function(){return this.isRTL()?\" RTL\":\"\"}},{GetMenuNode:function(item){return item.parentNode}});MENU.ENTRY=MENU.ITEM.Subclass({role:\"menuitem\",Attributes:function(def){return def=HUB.Insert({onmouseover:MENU.Mouseover,onmouseout:MENU.Mouseout,onmousedown:MENU.Mousedown,onkeydown:MENU.Keydown,\"aria-disabled\":!!this.disabled},def),def=this.SUPER(arguments).Attributes.call(this,def),this.disabled&&(def.className+=\" MathJax_MenuDisabled\"),def},MoveVertical:function(event,item,move){for(var menuNode=ITEM.GetMenuNode(item),items=[],i=0,allItems=menuNode.menuItem.items,it;it=allItems[i];i++)it.hidden||items.push(it);var index=MENU.IndexOf(items,this);if(-1!==index){var len=items.length,children=menuNode.childNodes;do{index=MENU.Mod(move(index),len)}while(items[index].hidden||!children[index].role||\"separator\"===children[index].role);this.Deactivate(item),items[index].Activate(event,children[index])}},Up:function(event,item){this.MoveVertical(event,item,(function(x){return x-1}))},Down:function(event,item){this.MoveVertical(event,item,(function(x){return x+1}))},Right:function(event,item){this.MoveHorizontal(event,item,MENU.Right,!this.isRTL())},Left:function(event,item){this.MoveHorizontal(event,item,MENU.Left,this.isRTL())},MoveHorizontal:function(event,item,move,rtl){var menuNode=ITEM.GetMenuNode(item);if(menuNode.menuItem===MENU.menu&&event.shiftKey&&move(event,item),!rtl){menuNode.menuItem!==MENU.menu&&this.Deactivate(item);for(var parentNodes=menuNode.previousSibling.childNodes,length=parentNodes.length;length--;){var parent=parentNodes[length];if(parent.menuItem.submenu&&parent.menuItem.submenu===menuNode.menuItem){MENU.Focus(parent);break}}this.RemoveSubmenus(item)}},Space:function(event,menu){this.Mouseup(event,menu)},Activate:function(event,menu){this.Deactivate(menu),this.disabled||(menu.className+=\" MathJax_MenuActive\"),this.DeactivateSubmenus(menu),MENU.Focus(menu)},Deactivate:function(menu){menu.className=menu.className.replace(/ MathJax_MenuActive/,\"\")}}),MENU.ITEM.COMMAND=MENU.ENTRY.Subclass({action:function(){},Init:function(name,action,def){isArray(name)||(name=[name,name]),this.name=name,this.action=action,this.With(def)},Label:function(def,menu){return[this.Name()]},Mouseup:function(event,menu){return this.disabled||(this.Remove(event,menu),SIGNAL.Post([\"command\",this]),this.action.call(this,event)),FALSE(event)}}),MENU.ITEM.SUBMENU=MENU.ENTRY.Subclass({submenu:null,marker:\"►\",markerRTL:\"◄\",Attributes:function(def){return def=HUB.Insert({\"aria-haspopup\":\"true\"},def),def=this.SUPER(arguments).Attributes.call(this,def)},Init:function(name,def){isArray(name)||(name=[name,name]),this.name=name;var i=1;def instanceof MENU.ITEM||(this.With(def),i++),this.submenu=MENU.apply(MENU,[].slice.call(arguments,i))},Label:function(def,menu){return this.submenu.posted=!1,[this.Name()+\" \",[\"span\",{className:\"MathJax_MenuArrow\"+this.rtlClass()},[this.isRTL()?this.markerRTL:this.marker]]]},Timer:function(event,menu){this.ClearTimer(),event={type:event.type,clientX:event.clientX,clientY:event.clientY},this.timer=setTimeout(CALLBACK([\"Mouseup\",this,event,menu]),CONFIG.delay)},ClearTimer:function(){this.timer&&clearTimeout(this.timer)},Touchend:function(event,menu){var forceout=this.submenu.posted,result=this.SUPER(arguments).Touchend.apply(this,arguments);return forceout&&(this.Deactivate(menu),delete ITEM.lastItem,delete ITEM.lastMenu),result},Mouseout:function(event,menu){this.submenu.posted||this.Deactivate(menu),this.ClearTimer()},Mouseover:function(event,menu){this.Activate(event,menu)},Mouseup:function(event,menu){return this.disabled||(this.submenu.posted?this.DeactivateSubmenus(menu):(this.ClearTimer(),this.submenu.Post(event,menu,this.ltr),MENU.Focus(menu))),FALSE(event)},Activate:function(event,menu){this.disabled||(this.Deactivate(menu),menu.className+=\" MathJax_MenuActive\"),this.submenu.posted||(this.DeactivateSubmenus(menu),MENU.isMobile||this.Timer(event,menu)),MENU.Focus(menu)},MoveVertical:function(event,item,move){this.ClearTimer(),this.SUPER(arguments).MoveVertical.apply(this,arguments)},MoveHorizontal:function(event,menu,move,rtl){if(rtl){if(!this.disabled)if(this.submenu.posted){var submenuNodes=ITEM.GetMenuNode(menu).nextSibling.childNodes;submenuNodes.length>0&&this.submenu.items[0].Activate(event,submenuNodes[0])}else this.Activate(event,menu)}else this.SUPER(arguments).MoveHorizontal.apply(this,arguments)}}),MENU.ITEM.RADIO=MENU.ENTRY.Subclass({variable:null,marker:isPC?\"●\":\"✓\",role:\"menuitemradio\",Attributes:function(def){var checked=CONFIG.settings[this.variable]===this.value?\"true\":\"false\";return def=HUB.Insert({\"aria-checked\":checked},def),def=this.SUPER(arguments).Attributes.call(this,def)},Init:function(name,variable,def){isArray(name)||(name=[name,name]),this.name=name,this.variable=variable,this.With(def),null==this.value&&(this.value=this.name[0])},Label:function(def,menu){var span={className:\"MathJax_MenuRadioCheck\"+this.rtlClass()};return CONFIG.settings[this.variable]!==this.value&&(span={style:{display:\"none\"}}),[[\"span\",span,[this.marker]],\" \"+this.Name()]},Mouseup:function(event,menu){if(!this.disabled){for(var child=menu.parentNode.childNodes,i=0,m=child.length;i<m;i++){var item=child[i].menuItem;item&&item.variable===this.variable&&(child[i].firstChild.style.display=\"none\")}menu.firstChild.display=\"\",CONFIG.settings[this.variable]=this.value,MENU.cookie[this.variable]=CONFIG.settings[this.variable],MENU.saveCookie(),SIGNAL.Post([\"radio button\",this])}return this.Remove(event,menu),this.action&&!this.disabled&&this.action.call(MENU,this),FALSE(event)}}),MENU.ITEM.CHECKBOX=MENU.ENTRY.Subclass({variable:null,marker:\"✓\",role:\"menuitemcheckbox\",Attributes:function(def){var checked=CONFIG.settings[this.variable]?\"true\":\"false\";return def=HUB.Insert({\"aria-checked\":checked},def),def=this.SUPER(arguments).Attributes.call(this,def)},Init:function(name,variable,def){isArray(name)||(name=[name,name]),this.name=name,this.variable=variable,this.With(def)},Label:function(def,menu){var span={className:\"MathJax_MenuCheck\"+this.rtlClass()};return CONFIG.settings[this.variable]||(span={style:{display:\"none\"}}),[[\"span\",span,[this.marker]],\" \"+this.Name()]},Mouseup:function(event,menu){return this.disabled||(menu.firstChild.display=CONFIG.settings[this.variable]?\"none\":\"\",CONFIG.settings[this.variable]=!CONFIG.settings[this.variable],MENU.cookie[this.variable]=CONFIG.settings[this.variable],MENU.saveCookie(),SIGNAL.Post([\"checkbox\",this])),this.Remove(event,menu),this.action&&!this.disabled&&this.action.call(MENU,this),FALSE(event)}}),MENU.ITEM.LABEL=MENU.ENTRY.Subclass({role:\"menuitem\",Init:function(name,def){isArray(name)||(name=[name,name]),this.name=name,this.With(def)},Label:function(def,menu){return def.className+=\" MathJax_MenuLabel\",[this.Name()]},Activate:function(event,menu){this.Deactivate(menu),MENU.Focus(menu)},Mouseup:function(event,menu){}}),MENU.ITEM.RULE=MENU.ITEM.Subclass({role:\"separator\",Attributes:function(def){return def=HUB.Insert({\"aria-orientation\":\"vertical\"},def),def=this.SUPER(arguments).Attributes.call(this,def)},Label:function(def,menu){return def.className+=\" MathJax_MenuRule\",null}}),MENU.About=function(event){var font=MENU.About.GetFont(),format=MENU.About.GetFormat(),jax=[\"MathJax.js v\"+MathJax.fileversion,[\"br\"]];jax.push([\"div\",{style:{\"border-top\":\"groove 2px\",margin:\".25em 0\"}}]),MENU.About.GetJax(jax,MathJax.InputJax,[\"InputJax\",\"%1 Input Jax v%2\"]),MENU.About.GetJax(jax,MathJax.OutputJax,[\"OutputJax\",\"%1 Output Jax v%2\"]),MENU.About.GetJax(jax,MathJax.ElementJax,[\"ElementJax\",\"%1 Element Jax v%2\"]),jax.push([\"div\",{style:{\"border-top\":\"groove 2px\",margin:\".25em 0\"}}]),MENU.About.GetJax(jax,MathJax.Extension,[\"Extension\",\"%1 Extension v%2\"],!0),jax.push([\"div\",{style:{\"border-top\":\"groove 2px\",margin:\".25em 0\"}}],[\"center\",{},[HUB.Browser+\" v\"+HUB.Browser.version+(format?\" — \"+_(format.replace(/ /g,\"\"),format):\"\")]]),MENU.About.div=MENU.Background(MENU.About);var about=HTML.addElement(MENU.About.div,\"div\",{id:\"MathJax_About\",tabIndex:0,onkeydown:MENU.About.Keydown},[[\"b\",{style:{fontSize:\"120%\"}},[\"MathJax\"]],\" v\"+MathJax.version,[\"br\"],_(font.replace(/ /g,\"\"),\"using \"+font),[\"br\"],[\"br\"],[\"span\",{style:{display:\"inline-block\",\"text-align\":\"left\",\"font-size\":\"80%\",\"max-height\":\"20em\",overflow:\"auto\",\"background-color\":\"#E4E4E4\",padding:\".4em .6em\",border:\"1px inset\"},tabIndex:0},jax],[\"br\"],[\"br\"],[\"a\",{href:\"http://www.mathjax.org/\"},[\"www.mathjax.org\"]],[\"span\",{className:\"MathJax_MenuClose\",id:\"MathJax_AboutClose\",onclick:MENU.About.Remove,onkeydown:MENU.About.Keydown,tabIndex:0,role:\"button\",\"aria-label\":_(\"CloseAboutDialog\",\"Close about MathJax dialog\")},[[\"span\",{},\"×\"]]]]);\"mouseup\"===event.type&&(about.className+=\" MathJax_MousePost\"),about.focus(),MathJax.Localization.setCSS(about);var doc=document.documentElement||{},H=window.innerHeight||doc.clientHeight||doc.scrollHeight||0;MENU.prototype.msieAboutBug?(about.style.width=\"20em\",about.style.position=\"absolute\",about.style.left=Math.floor((document.documentElement.scrollWidth-about.offsetWidth)/2)+\"px\",about.style.top=Math.floor((H-about.offsetHeight)/3)+document.body.scrollTop+\"px\"):(about.style.marginLeft=Math.floor(-about.offsetWidth/2)+\"px\",about.style.top=Math.floor((H-about.offsetHeight)/3)+\"px\")},MENU.About.Remove=function(event){MENU.About.div&&(document.body.removeChild(MENU.About.div),delete MENU.About.div)},MENU.About.Keydown=function(event){event.keyCode!==KEY.ESCAPE&&(\"MathJax_AboutClose\"!==this.id||event.keyCode!==KEY.SPACE&&event.keyCode!==KEY.RETURN)||(MENU.About.Remove(event),MENU.CurrentNode().focus(),FALSE(event))},MENU.About.GetJax=function(jax,JAX,type,noTypeCheck){var info=[];for(var id in JAX)JAX.hasOwnProperty(id)&&JAX[id]&&(noTypeCheck&&JAX[id].version||JAX[id].isa&&JAX[id].isa(JAX))&&info.push(_(type[0],type[1],JAX[id].id||id,JAX[id].version));info.sort();for(var i=0,m=info.length;i<m;i++)jax.push(info[i],[\"br\"]);return jax},MENU.About.GetFont=function(){var jax=MathJax.Hub.outputJax[\"jax/mml\"][0]||{},font;return({SVG:\"web SVG\",CommonHTML:\"web TeX\",\"HTML-CSS\":jax.imgFonts?\"image\":(jax.webFonts?\"web\":\"local\")+\" \"+jax.fontInUse}[jax.id]||\"generic\")+\" fonts\"},MENU.About.GetFormat=function(){var jax=MathJax.Hub.outputJax[\"jax/mml\"][0]||{};if(\"HTML-CSS\"===jax.id&&jax.webFonts&&!jax.imgFonts)return jax.allowWebFonts.replace(/otf/,\"woff or otf\")+\" fonts\"},MENU.Help=function(event){AJAX.Require(\"[MathJax]/extensions/HelpDialog.js\",(function(){MathJax.Extension.Help.Dialog({type:event.type})}))},MENU.ShowSource=function(event){event||(event=window.event);var EVENT={screenX:event.screenX,screenY:event.screenY};if(MENU.jax)if(\"MathML\"===this.format){var MML=MathJax.ElementJax.mml;if(MML&&void 0!==MML.mbase.prototype.toMathML)try{MENU.ShowSource.Text(MENU.jax.root.toMathML(\"\",MENU.jax),event)}catch(err){if(!err.restart)throw err;CALLBACK.After([this,MENU.ShowSource,EVENT],err.restart)}else if(!AJAX.loadingToMathML)return AJAX.loadingToMathML=!0,MENU.ShowSource.Window(event),void CALLBACK.Queue(AJAX.Require(\"[MathJax]/extensions/toMathML.js\"),(function(){delete AJAX.loadingToMathML,MML.mbase.prototype.toMathML||(MML.mbase.prototype.toMathML=function(){})}),[this,MENU.ShowSource,EVENT])}else if(\"Error\"===this.format)MENU.ShowSource.Text(MENU.jax.errorText,event);else if(CONFIG.semanticsAnnotations[this.format]){var annotation=MENU.jax.root.getAnnotation(this.format);annotation.data[0]&&MENU.ShowSource.Text(annotation.data[0].toString())}else{if(null==MENU.jax.originalText)return void alert(_(\"NoOriginalForm\",\"No original form available\"));MENU.ShowSource.Text(MENU.jax.originalText,event)}},MENU.ShowSource.Window=function(event){if(!MENU.ShowSource.w){var def=[],DEF=CONFIG.windowSettings;for(var id in DEF)DEF.hasOwnProperty(id)&&def.push(id+\"=\"+DEF[id]);MENU.ShowSource.w=window.open(\"\",\"_blank\",def.join(\",\"))}return MENU.ShowSource.w},MENU.ShowSource.Text=function(text,event){var w=MENU.ShowSource.Window(event);delete MENU.ShowSource.w,text=(text=text.replace(/^\\s*/,\"\").replace(/\\s*$/,\"\")).replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\");var title=_(\"EqSource\",\"MathJax Equation Source\");if(MENU.isMobile)w.document.open(),w.document.write(\"<html><head><meta name='viewport' content='width=device-width, initial-scale=1.0' /><title>\"+title+\"</title></head><body style='font-size:85%'>\"),w.document.write(\"<pre>\"+text+\"</pre>\"),w.document.write(\"<hr><input type='button' value='\"+_(\"Close\",\"Close\")+\"' onclick='window.close()' />\"),w.document.write(\"</body></html>\"),w.document.close();else{w.document.open(),w.document.write(\"<html><head><title>\"+title+\"</title></head><body style='font-size:85%'>\"),w.document.write(\"<table><tr><td><pre>\"+text+\"</pre></td></tr></table>\"),w.document.write(\"</body></html>\"),w.document.close();var table=w.document.body.firstChild;setTimeout((function(){var H=w.outerHeight-w.innerHeight||30,W=w.outerWidth-w.innerWidth||30,x,y,X;W=Math.max(140,Math.min(Math.floor(.5*screen.width),table.offsetWidth+W+25)),H=Math.max(40,Math.min(Math.floor(.5*screen.height),table.offsetHeight+H+25)),MENU.prototype.msieHeightBug&&(H+=35),w.resizeTo(W,H);try{X=event.screenX}catch(e){}event&&null!=X&&(x=Math.max(0,Math.min(event.screenX-Math.floor(W/2),screen.width-W-20)),y=Math.max(0,Math.min(event.screenY-Math.floor(H/2),screen.height-H-20)),w.moveTo(x,y))}),50)}},MENU.Scale=function(){var JAX=[\"CommonHTML\",\"HTML-CSS\",\"SVG\",\"NativeMML\",\"PreviewHTML\"],m=JAX.length,SCALE=100,i,jax;for(i=0;i<m;i++)if(jax=OUTPUT[JAX[i]]){SCALE=jax.config.scale;break}var scale=prompt(_(\"ScaleMath\",\"Scale all mathematics (compared to surrounding text) by\"),SCALE+\"%\");if(scale)if(scale.match(/^\\s*\\d+(\\.\\d*)?\\s*%?\\s*$/))if(scale=parseFloat(scale)){if(scale!==SCALE){for(i=0;i<m;i++)(jax=OUTPUT[JAX[i]])&&(jax.config.scale=scale);MENU.cookie.scale=HUB.config.scale=scale,MENU.saveCookie(),HUB.Queue([\"Rerender\",HUB])}}else alert(_(\"NonZeroScale\",\"The scale should not be zero\"));else alert(_(\"PercentScale\",\"The scale should be a percentage (e.g., 120%%)\"))},MENU.Zoom=function(){MathJax.Extension.MathZoom||AJAX.Require(\"[MathJax]/extensions/MathZoom.js\")},MENU.Renderer=function(){var jax=HUB.outputJax[\"jax/mml\"];if(jax[0]!==CONFIG.settings.renderer){var BROWSER=HUB.Browser,message,MESSAGE=MENU.Renderer.Messages,warned;switch(CONFIG.settings.renderer){case\"NativeMML\":CONFIG.settings.warnedMML||(BROWSER.isChrome&&\"24.\"!==BROWSER.version.substr(0,3)?message=MESSAGE.MML.WebKit:BROWSER.isSafari&&!BROWSER.versionAtLeast(\"5.0\")?message=MESSAGE.MML.WebKit:BROWSER.isMSIE?BROWSER.hasMathPlayer||(message=MESSAGE.MML.MSIE):message=BROWSER.isEdge?MESSAGE.MML.WebKit:MESSAGE.MML[BROWSER],warned=\"warnedMML\");break;case\"SVG\":CONFIG.settings.warnedSVG||BROWSER.isMSIE&&!isIE9&&(message=MESSAGE.SVG.MSIE)}if(message){if(message=_(message[0],message[1]),message+=\"\\n\\n\",message+=_(\"SwitchAnyway\",\"Switch the renderer anyway?\\n\\n(Press OK to switch, CANCEL to continue with the current renderer)\"),MENU.cookie.renderer=jax[0].id,MENU.saveCookie(),!confirm(message))return MENU.cookie.renderer=CONFIG.settings.renderer=HTML.Cookie.Get(\"menu\").renderer,void MENU.saveCookie();warned&&(MENU.cookie.warned=CONFIG.settings.warned=!0),MENU.cookie.renderer=CONFIG.settings.renderer,MENU.saveCookie()}HUB.Queue([\"setRenderer\",HUB,CONFIG.settings.renderer,\"jax/mml\"],[\"Rerender\",HUB])}},MENU.Renderer.Messages={MML:{WebKit:[\"WebkitNativeMMLWarning\",\"Your browser doesn't seem to support MathML natively, so switching to MathML output may cause the mathematics on the page to become unreadable.\"],MSIE:[\"MSIENativeMMLWarning\",\"Internet Explorer requires the MathPlayer plugin in order to process MathML output.\"],Opera:[\"OperaNativeMMLWarning\",\"Opera's support for MathML is limited, so switching to MathML output may cause some expressions to render poorly.\"],Safari:[\"SafariNativeMMLWarning\",\"Your browser's native MathML does not implement all the features used by MathJax, so some expressions may not render properly.\"],Firefox:[\"FirefoxNativeMMLWarning\",\"Your browser's native MathML does not implement all the features used by MathJax, so some expressions may not render properly.\"]},SVG:{MSIE:[\"MSIESVGWarning\",\"SVG is not implemented in Internet Explorer prior to IE9 or when it is emulating IE8 or below. Switching to SVG output will cause the mathematics to not display properly.\"]}},MENU.AssistiveMML=function(item,restart){var AMML=MathJax.Extension.AssistiveMML;AMML?MathJax.Hub.Queue([(CONFIG.settings.assistiveMML?\"Add\":\"Remove\")+\"AssistiveMathML\",AMML]):restart||AJAX.Require(\"[MathJax]/extensions/AssistiveMML.js\",[\"AssistiveMML\",MENU,item,!0])},MENU.Font=function(){var HTMLCSS;OUTPUT[\"HTML-CSS\"]&&document.location.reload()},MENU.Locale=function(){MathJax.Localization.setLocale(CONFIG.settings.locale),MathJax.Hub.Queue([\"Reprocess\",MathJax.Hub])},MENU.LoadLocale=function(){var url=prompt(_(\"LoadURL\",\"Load translation data from this URL:\"));url&&(url.match(/\\.js$/)||alert(_(\"BadURL\",\"The URL should be for a javascript file that defines MathJax translation data.  Javascript file names should end with '.js'\")),AJAX.Require(url,(function(status){status!=AJAX.STATUS.OK&&alert(_(\"BadData\",\"Failed to load translation data from %1\",url))})))},MENU.MPEvents=function(item){var discoverable=CONFIG.settings.discoverable,MESSAGE=MENU.MPEvents.Messages;if(isIE9)!discoverable&&\"Menu Events\"===item.name[1]&&CONFIG.settings.mpContext&&alert(_.apply(_,MESSAGE.IE9warning));else{if(CONFIG.settings.mpMouse&&!confirm(_.apply(_,MESSAGE.IE8warning)))return delete MENU.cookie.mpContext,delete CONFIG.settings.mpContext,delete MENU.cookie.mpMouse,delete CONFIG.settings.mpMouse,void MENU.saveCookie();CONFIG.settings.mpContext=CONFIG.settings.mpMouse,MENU.cookie.mpContext=MENU.cookie.mpMouse=CONFIG.settings.mpMouse,MENU.saveCookie(),MathJax.Hub.Queue([\"Rerender\",MathJax.Hub])}},MENU.MPEvents.Messages={IE8warning:[\"IE8warning\",\"This will disable the MathJax menu and zoom features, but you can Alt-Click on an expression to obtain the MathJax menu instead.\\n\\nReally change the MathPlayer settings?\"],IE9warning:[\"IE9warning\",\"The MathJax contextual menu will be disabled, but you can Alt-Click on an expression to obtain the MathJax menu instead.\"]},HUB.Browser.Select({MSIE:function(browser){var quirks=\"BackCompat\"===document.compatMode,isIE8=browser.versionAtLeast(\"8.0\")&&document.documentMode>7;MENU.Augment({margin:20,msieBackgroundBug:(document.documentMode||0)<9,msieFixedPositionBug:quirks||!isIE8,msieAboutBug:quirks,msieHeightBug:(document.documentMode||0)<9}),isIE9&&(delete CONFIG.styles[\"#MathJax_About\"].filter,delete CONFIG.styles[\".MathJax_Menu\"].filter)},Firefox:function(browser){MENU.skipMouseover=browser.isMobile&&browser.versionAtLeast(\"6.0\"),MENU.skipMousedown=browser.isMobile}}),MENU.isMobile=HUB.Browser.isMobile,MENU.noContextMenu=HUB.Browser.noContextMenu,MENU.CreateLocaleMenu=function(){if(MENU.menu){var menu=MENU.menu.Find(\"Language\").submenu,items=menu.items,locales=[],LOCALE=MathJax.Localization.strings;for(var id in LOCALE)LOCALE.hasOwnProperty(id)&&locales.push(id);locales=locales.sort(),menu.items=[];for(var i=0,m=locales.length;i<m;i++){var title=LOCALE[locales[i]].menuTitle;title?title+=\" (\"+locales[i]+\")\":title=locales[i],menu.items.push(ITEM.RADIO([locales[i],title],\"locale\",{action:MENU.Locale}))}menu.items.push(items[items.length-2],items[items.length-1])}},MENU.CreateAnnotationMenu=function(){if(MENU.menu){var menu=MENU.menu.Find(\"Show Math As\",\"Annotation\").submenu,annotations=CONFIG.semanticsAnnotations;for(var a in annotations)annotations.hasOwnProperty(a)&&menu.items.push(ITEM.COMMAND([a,a],MENU.ShowSource,{hidden:!0,nativeTouch:!0,format:a}))}},HUB.Register.StartupHook(\"End Config\",(function(){var settings,trigger;CONFIG.settings=HUB.config.menuSettings,void 0!==CONFIG.settings.showRenderer&&(CONFIG.showRenderer=CONFIG.settings.showRenderer),void 0!==CONFIG.settings.showFontMenu&&(CONFIG.showFontMenu=CONFIG.settings.showFontMenu),void 0!==CONFIG.settings.showContext&&(CONFIG.showContext=CONFIG.settings.showContext),MENU.getCookie(),MENU.menu=MENU(ITEM.SUBMENU([\"Show\",\"Show Math As\"],ITEM.COMMAND([\"MathMLcode\",\"MathML Code\"],MENU.ShowSource,{nativeTouch:!0,format:\"MathML\"}),ITEM.COMMAND([\"Original\",\"Original Form\"],MENU.ShowSource,{nativeTouch:!0}),ITEM.SUBMENU([\"Annotation\",\"Annotation\"],{disabled:!0}),ITEM.RULE(),ITEM.CHECKBOX([\"texHints\",\"Show TeX hints in MathML\"],\"texHints\"),ITEM.CHECKBOX([\"semantics\",\"Add original form as annotation\"],\"semantics\")),ITEM.RULE(),ITEM.SUBMENU([\"Settings\",\"Math Settings\"],ITEM.SUBMENU([\"ZoomTrigger\",\"Zoom Trigger\"],ITEM.RADIO([\"Hover\",\"Hover\"],\"zoom\",{action:MENU.Zoom}),ITEM.RADIO([\"Click\",\"Click\"],\"zoom\",{action:MENU.Zoom}),ITEM.RADIO([\"DoubleClick\",\"Double-Click\"],\"zoom\",{action:MENU.Zoom}),ITEM.RADIO([\"NoZoom\",\"No Zoom\"],\"zoom\",{value:\"None\"}),ITEM.RULE(),ITEM.LABEL([\"TriggerRequires\",\"Trigger Requires:\"]),ITEM.CHECKBOX(HUB.Browser.isMac?[\"Option\",\"Option\"]:[\"Alt\",\"Alt\"],\"ALT\"),ITEM.CHECKBOX([\"Command\",\"Command\"],\"CMD\",{hidden:!HUB.Browser.isMac}),ITEM.CHECKBOX([\"Control\",\"Control\"],\"CTRL\",{hidden:HUB.Browser.isMac}),ITEM.CHECKBOX([\"Shift\",\"Shift\"],\"Shift\")),ITEM.SUBMENU([\"ZoomFactor\",\"Zoom Factor\"],ITEM.RADIO(\"125%\",\"zscale\"),ITEM.RADIO(\"133%\",\"zscale\"),ITEM.RADIO(\"150%\",\"zscale\"),ITEM.RADIO(\"175%\",\"zscale\"),ITEM.RADIO(\"200%\",\"zscale\"),ITEM.RADIO(\"250%\",\"zscale\"),ITEM.RADIO(\"300%\",\"zscale\"),ITEM.RADIO(\"400%\",\"zscale\")),ITEM.RULE(),ITEM.SUBMENU([\"Renderer\",\"Math Renderer\"],{hidden:!CONFIG.showRenderer},ITEM.RADIO([\"HTML-CSS\",\"HTML-CSS\"],\"renderer\",{action:MENU.Renderer}),ITEM.RADIO([\"CommonHTML\",\"Common HTML\"],\"renderer\",{action:MENU.Renderer,value:\"CommonHTML\"}),ITEM.RADIO([\"PreviewHTML\",\"Preview HTML\"],\"renderer\",{action:MENU.Renderer,value:\"PreviewHTML\"}),ITEM.RADIO([\"MathML\",\"MathML\"],\"renderer\",{action:MENU.Renderer,value:\"NativeMML\"}),ITEM.RADIO([\"SVG\",\"SVG\"],\"renderer\",{action:MENU.Renderer}),ITEM.RADIO([\"PlainSource\",\"Plain Source\"],\"renderer\",{action:MENU.Renderer,value:\"PlainSource\"}),ITEM.RULE(),ITEM.CHECKBOX([\"FastPreview\",\"Fast Preview\"],\"FastPreview\")),ITEM.SUBMENU(\"MathPlayer\",{hidden:!HUB.Browser.isMSIE||!CONFIG.showMathPlayer,disabled:!HUB.Browser.hasMathPlayer},ITEM.LABEL([\"MPHandles\",\"Let MathPlayer Handle:\"]),ITEM.CHECKBOX([\"MenuEvents\",\"Menu Events\"],\"mpContext\",{action:MENU.MPEvents,hidden:!isIE9}),ITEM.CHECKBOX([\"MouseEvents\",\"Mouse Events\"],\"mpMouse\",{action:MENU.MPEvents,hidden:!isIE9}),ITEM.CHECKBOX([\"MenuAndMouse\",\"Mouse and Menu Events\"],\"mpMouse\",{action:MENU.MPEvents,hidden:isIE9})),ITEM.SUBMENU([\"FontPrefs\",\"Font Preference\"],{hidden:!CONFIG.showFontMenu},ITEM.LABEL([\"ForHTMLCSS\",\"For HTML-CSS:\"]),ITEM.RADIO([\"Auto\",\"Auto\"],\"font\",{action:MENU.Font}),ITEM.RULE(),ITEM.RADIO([\"TeXLocal\",\"TeX (local)\"],\"font\",{action:MENU.Font}),ITEM.RADIO([\"TeXWeb\",\"TeX (web)\"],\"font\",{action:MENU.Font}),ITEM.RADIO([\"TeXImage\",\"TeX (image)\"],\"font\",{action:MENU.Font}),ITEM.RULE(),ITEM.RADIO([\"STIXLocal\",\"STIX (local)\"],\"font\",{action:MENU.Font}),ITEM.RADIO([\"STIXWeb\",\"STIX (web)\"],\"font\",{action:MENU.Font}),ITEM.RULE(),ITEM.RADIO([\"AsanaMathWeb\",\"Asana Math (web)\"],\"font\",{action:MENU.Font}),ITEM.RADIO([\"GyrePagellaWeb\",\"Gyre Pagella (web)\"],\"font\",{action:MENU.Font}),ITEM.RADIO([\"GyreTermesWeb\",\"Gyre Termes (web)\"],\"font\",{action:MENU.Font}),ITEM.RADIO([\"LatinModernWeb\",\"Latin Modern (web)\"],\"font\",{action:MENU.Font}),ITEM.RADIO([\"NeoEulerWeb\",\"Neo Euler (web)\"],\"font\",{action:MENU.Font})),ITEM.SUBMENU([\"ContextMenu\",\"Contextual Menu\"],{hidden:!CONFIG.showContext},ITEM.RADIO([\"MathJax\",\"MathJax\"],\"context\"),ITEM.RADIO([\"Browser\",\"Browser\"],\"context\")),ITEM.COMMAND([\"Scale\",\"Scale All Math ...\"],MENU.Scale),ITEM.RULE().With({hidden:!CONFIG.showDiscoverable,name:[\"\",\"discover_rule\"]}),ITEM.CHECKBOX([\"Discoverable\",\"Highlight on Hover\"],\"discoverable\",{hidden:!CONFIG.showDiscoverable})),ITEM.SUBMENU([\"Accessibility\",\"Accessibility\"],ITEM.CHECKBOX([\"AssistiveMML\",\"Assistive MathML\"],\"assistiveMML\",{action:MENU.AssistiveMML}),ITEM.CHECKBOX([\"InTabOrder\",\"Include in Tab Order\"],\"inTabOrder\")),ITEM.SUBMENU([\"Locale\",\"Language\"],{hidden:!CONFIG.showLocale,ltr:!0},ITEM.RADIO(\"en\",\"locale\",{action:MENU.Locale}),ITEM.RULE().With({hidden:!CONFIG.showLocaleURL,name:[\"\",\"localURL_rule\"]}),ITEM.COMMAND([\"LoadLocale\",\"Load from URL ...\"],MENU.LoadLocale,{hidden:!CONFIG.showLocaleURL})),ITEM.RULE(),ITEM.COMMAND([\"About\",\"About MathJax\"],MENU.About),ITEM.COMMAND([\"Help\",\"MathJax Help\"],MENU.Help)),MENU.isMobile&&(settings=CONFIG.settings,(trigger=MENU.menu.Find(\"Math Settings\",\"Zoom Trigger\").submenu).items[0].disabled=trigger.items[1].disabled=!0,\"Hover\"!==settings.zoom&&\"Click\"!=settings.zoom||(settings.zoom=\"None\"),trigger.items=trigger.items.slice(0,4),navigator.appVersion.match(/[ (]Android[) ]/)&&MENU.ITEM.SUBMENU.Augment({marker:\"»\"})),MENU.CreateLocaleMenu(),MENU.CreateAnnotationMenu()})),MENU.showRenderer=function(show){MENU.cookie.showRenderer=CONFIG.showRenderer=show,MENU.saveCookie(),MENU.menu.Find(\"Math Settings\",\"Math Renderer\").hidden=!show},MENU.showMathPlayer=function(show){MENU.cookie.showMathPlayer=CONFIG.showMathPlayer=show,MENU.saveCookie(),MENU.menu.Find(\"Math Settings\",\"MathPlayer\").hidden=!show},MENU.showFontMenu=function(show){MENU.cookie.showFontMenu=CONFIG.showFontMenu=show,MENU.saveCookie(),MENU.menu.Find(\"Math Settings\",\"Font Preference\").hidden=!show},MENU.showContext=function(show){MENU.cookie.showContext=CONFIG.showContext=show,MENU.saveCookie(),MENU.menu.Find(\"Math Settings\",\"Contextual Menu\").hidden=!show},MENU.showDiscoverable=function(show){MENU.cookie.showDiscoverable=CONFIG.showDiscoverable=show,MENU.saveCookie(),MENU.menu.Find(\"Math Settings\",\"Highlight on Hover\").hidden=!show,MENU.menu.Find(\"Math Settings\",\"discover_rule\").hidden=!show},MENU.showLocale=function(show){MENU.cookie.showLocale=CONFIG.showLocale=show,MENU.saveCookie(),MENU.menu.Find(\"Language\").hidden=!show},MathJax.Hub.Register.StartupHook(\"HTML-CSS Jax Ready\",(function(){MathJax.OutputJax[\"HTML-CSS\"].config.imageFont||(MENU.menu.Find(\"Math Settings\",\"Font Preference\",\"TeX (image)\").disabled=!0)})),CALLBACK.Queue(HUB.Register.StartupHook(\"End Config\",{}),[\"Styles\",AJAX,CONFIG.styles],[\"Post\",HUB.Startup.signal,\"MathMenu Ready\"],[\"loadComplete\",AJAX,\"[MathJax]/extensions/MathMenu.js\"])}(MathJax.Hub,MathJax.HTML,MathJax.Ajax,MathJax.CallBack,MathJax.OutputJax),MathJax.Hub.Register.LoadHook(\"[MathJax]/jax/element/mml/jax.js\",(function(){var VERSION=\"2.7.5\",MML=MathJax.ElementJax.mml,SETTINGS=MathJax.Hub.config.menuSettings;MML.mbase.Augment({toMathML:function(space){var inferred=this.inferred&&this.parent.inferRow;null==space&&(space=\"\");var tag=this.type,attr=this.toMathMLattributes();if(\"mspace\"===tag)return space+\"<\"+tag+attr+\" />\";for(var data=[],SPACE=this.isToken?\"\":space+(inferred?\"\":\"  \"),i=0,m=this.data.length;i<m;i++)this.data[i]?data.push(this.data[i].toMathML(SPACE)):this.isToken||this.isChars||data.push(SPACE+\"<mrow />\");return this.isToken||this.isChars?space+\"<\"+tag+attr+\">\"+data.join(\"\")+\"</\"+tag+\">\":inferred?data.join(\"\\n\"):0===data.length||1===data.length&&\"\"===data[0]?space+\"<\"+tag+attr+\" />\":space+\"<\"+tag+attr+\">\\n\"+data.join(\"\\n\")+\"\\n\"+space+\"</\"+tag+\">\"},toMathMLattributes:function(){var defaults=\"mstyle\"===this.type?MML.math.prototype.defaults:this.defaults,names=this.attrNames||MML.copyAttributeNames,skip=MML.skipAttributes,copy=MML.copyAttributes,attr=[];if(\"math\"!==this.type||this.attr&&\"xmlns\"in this.attr||attr.push('xmlns=\"http://www.w3.org/1998/Math/MathML\"'),!this.attrNames)for(var id in defaults)skip[id]||copy[id]||!defaults.hasOwnProperty(id)||null!=this[id]&&this[id]!==defaults[id]&&this.Get(id,null,1)!==this[id]&&attr.push(id+'=\"'+this.toMathMLattribute(this[id])+'\"');for(var i=0,m=names.length;i<m;i++)(1!==copy[names[i]]||defaults.hasOwnProperty(names[i]))&&(value=(this.attr||{})[names[i]],null==value&&(value=this[names[i]]),null!=value&&attr.push(names[i]+'=\"'+this.toMathMLquote(value)+'\"'));return this.toMathMLclass(attr),attr.length?\" \"+attr.join(\" \"):\"\"},toMathMLclass:function(attr){var CLASS=[];if(this.class&&CLASS.push(this.class),this.isa(MML.TeXAtom)&&SETTINGS.texHints){var TEXCLASS=[\"ORD\",\"OP\",\"BIN\",\"REL\",\"OPEN\",\"CLOSE\",\"PUNCT\",\"INNER\",\"VCENTER\"][this.texClass];TEXCLASS&&(CLASS.push(\"MJX-TeXAtom-\"+TEXCLASS),\"OP\"!==TEXCLASS||this.movablelimits||CLASS.push(\"MJX-fixedlimits\"))}this.mathvariant&&this.toMathMLvariants[this.mathvariant]&&CLASS.push(\"MJX\"+this.mathvariant),this.variantForm&&CLASS.push(\"MJX-variant\"),CLASS.length&&attr.unshift('class=\"'+this.toMathMLquote(CLASS.join(\" \"))+'\"')},toMathMLattribute:function(value){return\"string\"==typeof value&&value.replace(/ /g,\"\").match(/^(([-+])?(\\d+(\\.\\d*)?|\\.\\d+))mu$/)?(RegExp.$2||\"\")+(1/18*RegExp.$3).toFixed(3).replace(/\\.?0+$/,\"\")+\"em\":this.toMathMLvariants[value]?this.toMathMLvariants[value]:this.toMathMLquote(value)},toMathMLvariants:{\"-tex-caligraphic\":MML.VARIANT.SCRIPT,\"-tex-caligraphic-bold\":MML.VARIANT.BOLDSCRIPT,\"-tex-oldstyle\":MML.VARIANT.NORMAL,\"-tex-oldstyle-bold\":MML.VARIANT.BOLD,\"-tex-mathit\":MML.VARIANT.ITALIC},toMathMLquote:function(string){for(var i=0,m=(string=String(string).split(\"\")).length;i<m;i++){var n=string[i].charCodeAt(0);if(n<=55295||57344<=n)if(n>126||n<32&&10!==n&&13!==n&&9!==n)string[i]=\"&#x\"+n.toString(16).toUpperCase()+\";\";else{var c={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\"}[string[i]];c&&(string[i]=c)}else if(i+1<m){var trailSurrogate,codePoint=string[i+1].charCodeAt(0)-56320+(n-55296<<10)+65536;string[i]=\"&#x\"+codePoint.toString(16).toUpperCase()+\";\",string[i+1]=\"\",i++}else string[i]=\"\"}return string.join(\"\")}}),MML.math.Augment({toMathML:function(space,jax){var annotation;null==space&&(space=\"\"),jax&&jax.originalText&&SETTINGS.semantics&&(annotation=MathJax.InputJax[jax.inputJax].annotationEncoding);for(var nested=this.data[0]&&this.data[0].data.length>1,tag=this.type,attr=this.toMathMLattributes(),data=[],SPACE=space+(annotation?\"  \"+(nested?\"  \":\"\"):\"\")+\"  \",i=0,m=this.data.length;i<m;i++)this.data[i]?data.push(this.data[i].toMathML(SPACE)):data.push(SPACE+\"<mrow />\");if(0===data.length||1===data.length&&\"\"===data[0]){if(!annotation)return\"<\"+tag+attr+\" />\";data.push(SPACE+\"<mrow />\")}if(annotation){nested&&(data.unshift(space+\"    <mrow>\"),data.push(space+\"    </mrow>\")),data.unshift(space+\"  <semantics>\");var xmlEscapedTex=jax.originalText.replace(/[&<>]/g,(function(item){return{\">\":\"&gt;\",\"<\":\"&lt;\",\"&\":\"&amp;\"}[item]}));data.push(space+'    <annotation encoding=\"'+this.toMathMLquote(annotation)+'\">'+xmlEscapedTex+\"</annotation>\"),data.push(space+\"  </semantics>\")}return space+\"<\"+tag+attr+\">\\n\"+data.join(\"\\n\")+\"\\n\"+space+\"</\"+tag+\">\"}}),MML.msubsup.Augment({toMathML:function(space){var tag=this.type;null==this.data[this.sup]&&(tag=\"msub\"),null==this.data[this.sub]&&(tag=\"msup\");var attr=this.toMathMLattributes();delete this.data[0].inferred;for(var data=[],i=0,m=this.data.length;i<m;i++)this.data[i]&&data.push(this.data[i].toMathML(space+\"  \"));return space+\"<\"+tag+attr+\">\\n\"+data.join(\"\\n\")+\"\\n\"+space+\"</\"+tag+\">\"}}),MML.munderover.Augment({toMathML:function(space){var tag=this.type,base=this.data[this.base];base&&base.isa(MML.TeXAtom)&&base.movablelimits&&!base.Get(\"displaystyle\")?(type=\"msubsup\",null==this.data[this.under]&&(tag=\"msup\"),null==this.data[this.over]&&(tag=\"msub\")):(null==this.data[this.under]&&(tag=\"mover\"),null==this.data[this.over]&&(tag=\"munder\"));var attr=this.toMathMLattributes();delete this.data[0].inferred;for(var data=[],i=0,m=this.data.length;i<m;i++)this.data[i]&&data.push(this.data[i].toMathML(space+\"  \"));return space+\"<\"+tag+attr+\">\\n\"+data.join(\"\\n\")+\"\\n\"+space+\"</\"+tag+\">\"}}),MML.TeXAtom.Augment({toMathML:function(space){var attr=this.toMathMLattributes();return attr||1!==this.data[0].data.length?space+\"<mrow\"+attr+\">\\n\"+this.data[0].toMathML(space+\"  \")+\"\\n\"+space+\"</mrow>\":space.substr(2)+this.data[0].toMathML(space)}}),MML.chars.Augment({toMathML:function(space){return(space||\"\")+this.toMathMLquote(this.toString())}}),MML.entity.Augment({toMathML:function(space){return(space||\"\")+\"&\"+this.toMathMLquote(this.data[0])+\";\\x3c!-- \"+this.toString()+\" --\\x3e\"}}),MML.xml.Augment({toMathML:function(space){return(space||\"\")+this.toString()}}),MathJax.Hub.Register.StartupHook(\"TeX mathchoice Ready\",(function(){MML.TeXmathchoice.Augment({toMathML:function(space){return this.Core().toMathML(space)}})})),MathJax.Hub.Startup.signal.Post(\"toMathML Ready\")})),MathJax.Ajax.loadComplete(\"[MathJax]/extensions/toMathML.js\"),function(HUB,HTML,AJAX,OUTPUT,LOCALE){var HELP=MathJax.Extension.Help={version:\"2.7.5\"},STIXURL=\"http://www.stixfonts.org/\",MENU=MathJax.Menu,FALSE,KEY;HUB.Register.StartupHook(\"MathEvents Ready\",(function(){FALSE=MathJax.Extension.MathEvents.Event.False,KEY=MathJax.Extension.MathEvents.Event.KEY}));var CONFIG=HUB.CombineConfig(\"HelpDialog\",{styles:{\"#MathJax_Help\":{position:\"fixed\",left:\"50%\",width:\"auto\",\"max-width\":\"90%\",\"text-align\":\"center\",border:\"3px outset\",padding:\"1em 2em\",\"background-color\":\"#DDDDDD\",color:\"black\",cursor:\"default\",\"font-family\":\"message-box\",\"font-size\":\"120%\",\"font-style\":\"normal\",\"text-indent\":0,\"text-transform\":\"none\",\"line-height\":\"normal\",\"letter-spacing\":\"normal\",\"word-spacing\":\"normal\",\"word-wrap\":\"normal\",\"white-space\":\"wrap\",float:\"none\",\"z-index\":201,\"border-radius\":\"15px\",\"-webkit-border-radius\":\"15px\",\"-moz-border-radius\":\"15px\",\"-khtml-border-radius\":\"15px\",\"box-shadow\":\"0px 10px 20px #808080\",\"-webkit-box-shadow\":\"0px 10px 20px #808080\",\"-moz-box-shadow\":\"0px 10px 20px #808080\",\"-khtml-box-shadow\":\"0px 10px 20px #808080\",filter:\"progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')\"},\"#MathJax_Help.MathJax_MousePost\":{outline:\"none\"},\"#MathJax_HelpContent\":{overflow:\"auto\",\"text-align\":\"left\",\"font-size\":\"80%\",padding:\".4em .6em\",border:\"1px inset\",margin:\"1em 0px\",\"max-height\":\"20em\",\"max-width\":\"30em\",\"background-color\":\"#EEEEEE\"},\"#MathJax_HelpClose\":{position:\"absolute\",top:\".2em\",right:\".2em\",cursor:\"pointer\",display:\"inline-block\",border:\"2px solid #AAA\",\"border-radius\":\"18px\",\"-webkit-border-radius\":\"18px\",\"-moz-border-radius\":\"18px\",\"-khtml-border-radius\":\"18px\",\"font-family\":\"'Courier New',Courier\",\"font-size\":\"24px\",color:\"#F0F0F0\"},\"#MathJax_HelpClose span\":{display:\"block\",\"background-color\":\"#AAA\",border:\"1.5px solid\",\"border-radius\":\"18px\",\"-webkit-border-radius\":\"18px\",\"-moz-border-radius\":\"18px\",\"-khtml-border-radius\":\"18px\",\"line-height\":0,padding:\"8px 0 6px\"},\"#MathJax_HelpClose:hover\":{color:\"white!important\",border:\"2px solid #CCC!important\"},\"#MathJax_HelpClose:hover span\":{\"background-color\":\"#CCC!important\"},\"#MathJax_HelpClose:hover:focus\":{outline:\"none\"}}});HELP.Dialog=function(event){LOCALE.loadDomain(\"HelpDialog\",[\"Post\",HELP,event])},HELP.Post=function(event){this.div=MENU.Background(this);var help=HTML.addElement(this.div,\"div\",{id:\"MathJax_Help\",tabIndex:0,onkeydown:HELP.Keydown},LOCALE._(\"HelpDialog\",[[\"b\",{style:{fontSize:\"120%\"}},[[\"Help\",\"MathJax Help\"]]],[\"div\",{id:\"MathJax_HelpContent\",tabIndex:0},[[\"p\",{},[[\"MathJax\",\"*MathJax* is a JavaScript library that allows page authors to include mathematics within their web pages.  As a reader, you don't need to do anything to make that happen.\"]]],[\"p\",{},[[\"Browsers\",\"*Browsers*: MathJax works with all modern browsers including IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ and most mobile browsers.\"]]],[\"p\",{},[[\"Menu\",\"*Math Menu*: MathJax adds a contextual menu to equations.  Right-click or CTRL-click on any mathematics to access the menu.\"]]],[\"div\",{style:{\"margin-left\":\"1em\"}},[[\"p\",{},[[\"ShowMath\",\"*Show Math As* allows you to view the formula's source markup for copy & paste (as MathML or in its original format).\"]]],[\"p\",{},[[\"Settings\",\"*Settings* gives you control over features of MathJax, such as the size of the mathematics, and the mechanism used to display equations.\"]]],[\"p\",{},[[\"Language\",\"*Language* lets you select the language used by MathJax for its menus and warning messages.\"]]]]],[\"p\",{},[[\"Zoom\",\"*Math Zoom*: If you are having difficulty reading an equation, MathJax can enlarge it to help you see it better.\"]]],[\"p\",{},[[\"Accessibilty\",\"*Accessibility*: MathJax will automatically work with screen readers to make mathematics accessible to the visually impaired.\"]]],[\"p\",{},[[\"Fonts\",\"*Fonts*: MathJax will use certain math fonts if they are installed on your computer; otherwise, it will use web-based fonts.  Although not required, locally installed fonts will speed up typesetting.  We suggest installing the [STIX fonts](%1).\",STIXURL]]]]],[\"a\",{href:\"http://www.mathjax.org/\"},[\"www.mathjax.org\"]],[\"span\",{id:\"MathJax_HelpClose\",onclick:HELP.Remove,onkeydown:HELP.Keydown,tabIndex:0,role:\"button\",\"aria-label\":LOCALE._([\"HelpDialog\",\"CloseDialog\"],\"Close help dialog\")},[[\"span\",{},[\"×\"]]]]]));\"mouseup\"===event.type&&(help.className+=\" MathJax_MousePost\"),help.focus(),LOCALE.setCSS(help);var doc=document.documentElement||{},H=window.innerHeight||doc.clientHeight||doc.scrollHeight||0;MENU.prototype.msieAboutBug?(help.style.width=\"20em\",help.style.position=\"absolute\",help.style.left=Math.floor((document.documentElement.scrollWidth-help.offsetWidth)/2)+\"px\",help.style.top=Math.floor((H-help.offsetHeight)/3)+document.body.scrollTop+\"px\"):(help.style.marginLeft=Math.floor(-help.offsetWidth/2)+\"px\",help.style.top=Math.floor((H-help.offsetHeight)/3)+\"px\")},HELP.Remove=function(event){HELP.div&&(document.body.removeChild(HELP.div),delete HELP.div)},HELP.Keydown=function(event){event.keyCode!==KEY.ESCAPE&&(\"MathJax_HelpClose\"!==this.id||event.keyCode!==KEY.SPACE&&event.keyCode!==KEY.RETURN)||(HELP.Remove(event),MENU.CurrentNode().focus(),FALSE(event))},MathJax.Callback.Queue(HUB.Register.StartupHook(\"End Config\",{}),[\"Styles\",AJAX,CONFIG.styles],[\"Post\",HUB.Startup.signal,\"HelpDialog Ready\"],[\"loadComplete\",AJAX,\"[MathJax]/extensions/HelpDialog.js\"])}(MathJax.Hub,MathJax.HTML,MathJax.Ajax,MathJax.OutputJax,MathJax.Localization),MathJax.InputJax.TeX=MathJax.InputJax({id:\"TeX\",version:\"2.7.5\",directory:MathJax.InputJax.directory+\"/TeX\",extensionDir:MathJax.InputJax.extensionDir+\"/TeX\",config:{TagSide:\"right\",TagIndent:\"0.8em\",MultLineWidth:\"85%\",equationNumbers:{autoNumber:\"none\",formatNumber:function(n){return n},formatTag:function(n){return\"(\"+n+\")\"},formatID:function(n){return\"mjx-eqn-\"+String(n).replace(/\\s/g,\"_\")},formatURL:function(id,base){return base+\"#\"+encodeURIComponent(id)},useLabelIds:!0}},resetEquationNumbers:function(){}}),MathJax.InputJax.TeX.Register(\"math/tex\"),MathJax.InputJax.TeX.loadComplete(\"config.js\"),function(TEX,HUB,AJAX){var MML,NBSP=\" \",_=function(id){return MathJax.Localization._.apply(MathJax.Localization,[[\"TeX\",id]].concat([].slice.call(arguments,1)))},isArray=MathJax.Object.isArray,STACK=MathJax.Object.Subclass({Init:function(env,inner){this.global={isInner:inner},this.data=[STACKITEM.start(this.global)],env&&(this.data[0].env=env),this.env=this.data[0].env},Push:function(){var i,m,item,top;for(i=0,m=arguments.length;i<m;i++)if(item=arguments[i])if(item instanceof MML.mbase&&(item=STACKITEM.mml(item)),item.global=this.global,(top=!this.data.length||this.Top().checkItem(item))instanceof Array)this.Pop(),this.Push.apply(this,top);else if(top instanceof STACKITEM)this.Pop(),this.Push(top);else if(top)if(this.data.push(item),item.env){if(!1!==item.copyEnv)for(var id in this.env)this.env.hasOwnProperty(id)&&(item.env[id]=this.env[id]);this.env=item.env}else item.env=this.env},Pop:function(){var item=this.data.pop();return item.isOpen||delete item.env,this.env=this.data.length?this.Top().env:{},item},Top:function(n){return null==n&&(n=1),this.data.length<n?null:this.data[this.data.length-n]},Prev:function(noPop){var top=this.Top();return noPop?top.data[top.data.length-1]:top.Pop()},toString:function(){return\"stack[\\n  \"+this.data.join(\"\\n  \")+\"\\n]\"}}),STACKITEM=STACK.Item=MathJax.Object.Subclass({type:\"base\",endError:[\"ExtraOpenMissingClose\",\"Extra open brace or missing close brace\"],closeError:[\"ExtraCloseMissingOpen\",\"Extra close brace or missing open brace\"],rightError:[\"MissingLeftExtraRight\",\"Missing \\\\left or extra \\\\right\"],Init:function(){this.isOpen&&(this.env={}),this.data=[],this.Push.apply(this,arguments)},Push:function(){this.data.push.apply(this.data,arguments)},Pop:function(){return this.data.pop()},mmlData:function(inferred,forceRow){return null==inferred&&(inferred=!0),1!==this.data.length||forceRow?MML.mrow.apply(MML,this.data).With(inferred?{inferred:!0}:{}):this.data[0]},checkItem:function(item){if(\"over\"===item.type&&this.isOpen&&(item.num=this.mmlData(!1),this.data=[]),\"cell\"===item.type&&this.isOpen){if(item.linebreak)return!1;TEX.Error([\"Misplaced\",\"Misplaced %1\",item.name])}return item.isClose&&this[item.type+\"Error\"]&&TEX.Error(this[item.type+\"Error\"]),!item.isNotStack||(this.Push(item.data[0]),!1)},With:function(def){for(var id in def)def.hasOwnProperty(id)&&(this[id]=def[id]);return this},toString:function(){return this.type+\"[\"+this.data.join(\"; \")+\"]\"}});STACKITEM.start=STACKITEM.Subclass({type:\"start\",isOpen:!0,Init:function(global){this.SUPER(arguments).Init.call(this),this.global=global},checkItem:function(item){return\"stop\"===item.type?STACKITEM.mml(this.mmlData()):this.SUPER(arguments).checkItem.call(this,item)}}),STACKITEM.stop=STACKITEM.Subclass({type:\"stop\",isClose:!0}),STACKITEM.open=STACKITEM.Subclass({type:\"open\",isOpen:!0,stopError:[\"ExtraOpenMissingClose\",\"Extra open brace or missing close brace\"],checkItem:function(item){if(\"close\"===item.type){var mml=this.mmlData();return STACKITEM.mml(MML.TeXAtom(mml))}return this.SUPER(arguments).checkItem.call(this,item)}}),STACKITEM.close=STACKITEM.Subclass({type:\"close\",isClose:!0}),STACKITEM.prime=STACKITEM.Subclass({type:\"prime\",checkItem:function(item){return\"msubsup\"!==this.data[0].type?[MML.msup(this.data[0],this.data[1]),item]:(this.data[0].SetData(this.data[0].sup,this.data[1]),[this.data[0],item])}}),STACKITEM.subsup=STACKITEM.Subclass({type:\"subsup\",stopError:[\"MissingScript\",\"Missing superscript or subscript argument\"],supError:[\"MissingOpenForSup\",\"Missing open brace for superscript\"],subError:[\"MissingOpenForSub\",\"Missing open brace for subscript\"],checkItem:function(item){return\"open\"===item.type||\"left\"===item.type||(\"mml\"===item.type?(this.primes&&(2!==this.position?this.data[0].SetData(2,this.primes):item.data[0]=MML.mrow(this.primes.With({variantForm:!0}),item.data[0])),this.data[0].SetData(this.position,item.data[0]),null!=this.movesupsub&&(this.data[0].movesupsub=this.movesupsub),STACKITEM.mml(this.data[0])):void(this.SUPER(arguments).checkItem.call(this,item)&&TEX.Error(this[[\"\",\"subError\",\"supError\"][this.position]])))},Pop:function(){}}),STACKITEM.over=STACKITEM.Subclass({type:\"over\",isClose:!0,name:\"\\\\over\",checkItem:function(item,stack){if(\"over\"===item.type&&TEX.Error([\"AmbiguousUseOf\",\"Ambiguous use of %1\",item.name]),item.isClose){var mml=MML.mfrac(this.num,this.mmlData(!1));return null!=this.thickness&&(mml.linethickness=this.thickness),(this.open||this.close)&&(mml.texWithDelims=!0,mml=TEX.fixedFence(this.open,mml,this.close)),[STACKITEM.mml(mml),item]}return this.SUPER(arguments).checkItem.call(this,item)},toString:function(){return\"over[\"+this.num+\" / \"+this.data.join(\"; \")+\"]\"}}),STACKITEM.left=STACKITEM.Subclass({type:\"left\",isOpen:!0,delim:\"(\",stopError:[\"ExtraLeftMissingRight\",\"Extra \\\\left or missing \\\\right\"],checkItem:function(item){return\"right\"===item.type?STACKITEM.mml(TEX.fenced(this.delim,this.mmlData(),item.delim)):this.SUPER(arguments).checkItem.call(this,item)}}),STACKITEM.right=STACKITEM.Subclass({type:\"right\",isClose:!0,delim:\")\"}),STACKITEM.begin=STACKITEM.Subclass({type:\"begin\",isOpen:!0,checkItem:function(item){return\"end\"===item.type?(item.name!==this.name&&TEX.Error([\"EnvBadEnd\",\"\\\\begin{%1} ended with \\\\end{%2}\",this.name,item.name]),this.end?this.parse[this.end].call(this.parse,this,this.data):STACKITEM.mml(this.mmlData())):(\"stop\"===item.type&&TEX.Error([\"EnvMissingEnd\",\"Missing \\\\end{%1}\",this.name]),this.SUPER(arguments).checkItem.call(this,item))}}),STACKITEM.end=STACKITEM.Subclass({type:\"end\",isClose:!0}),STACKITEM.style=STACKITEM.Subclass({type:\"style\",checkItem:function(item){if(!item.isClose)return this.SUPER(arguments).checkItem.call(this,item);var mml=MML.mstyle.apply(MML,this.data).With(this.styles);return[STACKITEM.mml(mml),item]}}),STACKITEM.position=STACKITEM.Subclass({type:\"position\",checkItem:function(item){if(item.isClose&&TEX.Error([\"MissingBoxFor\",\"Missing box for %1\",this.name]),item.isNotStack){var mml=item.mmlData();switch(this.move){case\"vertical\":return mml=MML.mpadded(mml).With({height:this.dh,depth:this.dd,voffset:this.dh}),[STACKITEM.mml(mml)];case\"horizontal\":return[STACKITEM.mml(this.left),item,STACKITEM.mml(this.right)]}}return this.SUPER(arguments).checkItem.call(this,item)}}),STACKITEM.array=STACKITEM.Subclass({type:\"array\",isOpen:!0,copyEnv:!1,arraydef:{},Init:function(){this.table=[],this.row=[],this.frame=[],this.hfill=[],this.SUPER(arguments).Init.apply(this,arguments)},checkItem:function(item){if(item.isClose&&\"over\"!==item.type){if(item.isEntry)return this.EndEntry(),this.clearEnv(),!1;if(item.isCR)return this.EndEntry(),this.EndRow(),this.clearEnv(),!1;this.EndTable(),this.clearEnv();var scriptlevel=this.arraydef.scriptlevel;delete this.arraydef.scriptlevel;var mml=MML.mtable.apply(MML,this.table).With(this.arraydef);if(4===this.frame.length?mml.frame=this.frame.dashed?\"dashed\":\"solid\":this.frame.length&&(mml.hasFrame=!0,this.arraydef.rowlines&&(this.arraydef.rowlines=this.arraydef.rowlines.replace(/none( none)+$/,\"none\")),mml=MML.menclose(mml).With({notation:this.frame.join(\" \"),isFrame:!0}),\"none\"==(this.arraydef.columnlines||\"none\")&&\"none\"==(this.arraydef.rowlines||\"none\")||(mml.padding=0)),scriptlevel&&(mml=MML.mstyle(mml).With({scriptlevel:scriptlevel})),(this.open||this.close)&&(mml=TEX.fenced(this.open,mml,this.close)),mml=STACKITEM.mml(mml),this.requireClose){if(\"close\"===item.type)return mml;TEX.Error([\"MissingCloseBrace\",\"Missing close brace\"])}return[mml,item]}return this.SUPER(arguments).checkItem.call(this,item)},EndEntry:function(){var mtd=MML.mtd.apply(MML,this.data);this.hfill.length&&(0===this.hfill[0]&&(mtd.columnalign=\"right\"),this.hfill[this.hfill.length-1]===this.data.length&&(mtd.columnalign=mtd.columnalign?\"center\":\"left\")),this.row.push(mtd),this.data=[],this.hfill=[]},EndRow:function(){var mtr=MML.mtr;this.isNumbered&&3===this.row.length&&(this.row.unshift(this.row.pop()),mtr=MML.mlabeledtr),this.table.push(mtr.apply(MML,this.row)),this.row=[]},EndTable:function(){(this.data.length||this.row.length)&&(this.EndEntry(),this.EndRow()),this.checkLines()},checkLines:function(){if(this.arraydef.rowlines){var lines=this.arraydef.rowlines.split(/ /);lines.length===this.table.length?(this.frame.push(\"bottom\"),lines.pop(),this.arraydef.rowlines=lines.join(\" \")):lines.length<this.table.length-1&&(this.arraydef.rowlines+=\" none\")}if(this.rowspacing){for(var rows=this.arraydef.rowspacing.split(/ /);rows.length<this.table.length;)rows.push(this.rowspacing+\"em\");this.arraydef.rowspacing=rows.join(\" \")}},clearEnv:function(){for(var id in this.env)this.env.hasOwnProperty(id)&&delete this.env[id]}}),STACKITEM.cell=STACKITEM.Subclass({type:\"cell\",isClose:!0}),STACKITEM.mml=STACKITEM.Subclass({type:\"mml\",isNotStack:!0,Add:function(){return this.data.push.apply(this.data,arguments),this}}),STACKITEM.fn=STACKITEM.Subclass({type:\"fn\",checkItem:function(item){if(this.data[0]){if(item.isOpen)return!0;if(\"fn\"!==item.type){if(\"mml\"!==item.type||!item.data[0])return[this.data[0],item];if(item.data[0].isa(MML.mspace))return[this.data[0],item];var mml=item.data[0];if(mml.isEmbellished()&&(mml=mml.CoreMO()),[0,0,1,1,0,1,1,0,0,0][mml.Get(\"texClass\")])return[this.data[0],item]}return[this.data[0],MML.mo(MML.entity(\"#x2061\")).With({texClass:MML.TEXCLASS.NONE}),item]}return this.SUPER(arguments).checkItem.apply(this,arguments)}}),STACKITEM.not=STACKITEM.Subclass({type:\"not\",checkItem:function(item){var mml,c;return\"open\"===item.type||\"left\"===item.type||(\"mml\"===item.type&&item.data[0].type.match(/^(mo|mi|mtext)$/)&&1===(c=(mml=item.data[0]).data.join(\"\")).length&&!mml.movesupsub&&1===mml.data.length?((c=STACKITEM.not.remap[c.charCodeAt(0)])?mml.SetData(0,MML.chars(String.fromCharCode(c))):mml.Append(MML.chars(\"̸\")),item):(mml=MML.mpadded(MML.mtext(\"⧸\")).With({width:0}),[mml=MML.TeXAtom(mml).With({texClass:MML.TEXCLASS.REL}),item]))}}),STACKITEM.not.remap={8592:8602,8594:8603,8596:8622,8656:8653,8658:8655,8660:8654,8712:8713,8715:8716,8739:8740,8741:8742,8764:8769,126:8769,8771:8772,8773:8775,8776:8777,8781:8813,61:8800,8801:8802,60:8814,62:8815,8804:8816,8805:8817,8818:8820,8819:8821,8822:8824,8823:8825,8826:8832,8827:8833,8834:8836,8835:8837,8838:8840,8839:8841,8866:8876,8872:8877,8873:8878,8875:8879,8828:8928,8829:8929,8849:8930,8850:8931,8882:8938,8883:8939,8884:8940,8885:8941,8707:8708},STACKITEM.dots=STACKITEM.Subclass({type:\"dots\",checkItem:function(item){if(\"open\"===item.type||\"left\"===item.type)return!0;var dots=this.ldots;if(\"mml\"===item.type&&item.data[0].isEmbellished()){var tclass=item.data[0].CoreMO().Get(\"texClass\");tclass!==MML.TEXCLASS.BIN&&tclass!==MML.TEXCLASS.REL||(dots=this.cdots)}return[dots,item]}});var TEXDEF={Add:function(src,dst,nouser){for(var id in dst||(dst=this),src)src.hasOwnProperty(id)&&(\"object\"!=typeof src[id]||isArray(src[id])||\"object\"!=typeof dst[id]&&\"function\"!=typeof dst[id]?dst[id]&&dst[id].isUser&&nouser||(dst[id]=src[id]):this.Add(src[id],dst[id],src[id],nouser));return dst}},STARTUP=function(){if(MML=MathJax.ElementJax.mml,HUB.Insert(TEXDEF,{letter:/[a-z]/i,digit:/[0-9.]/,number:/^(?:[0-9]+(?:\\{,\\}[0-9]{3})*(?:\\.[0-9]*)*|\\.[0-9]+)/,special:{\"\\\\\":\"ControlSequence\",\"{\":\"Open\",\"}\":\"Close\",\"~\":\"Tilde\",\"^\":\"Superscript\",_:\"Subscript\",\" \":\"Space\",\"\\t\":\"Space\",\"\\r\":\"Space\",\"\\n\":\"Space\",\"'\":\"Prime\",\"%\":\"Comment\",\"&\":\"Entry\",\"#\":\"Hash\",\" \":\"Space\",\"’\":\"Prime\"},remap:{\"-\":\"2212\",\"*\":\"2217\",\"`\":\"2018\"},mathchar0mi:{alpha:\"03B1\",beta:\"03B2\",gamma:\"03B3\",delta:\"03B4\",epsilon:\"03F5\",zeta:\"03B6\",eta:\"03B7\",theta:\"03B8\",iota:\"03B9\",kappa:\"03BA\",lambda:\"03BB\",mu:\"03BC\",nu:\"03BD\",xi:\"03BE\",omicron:\"03BF\",pi:\"03C0\",rho:\"03C1\",sigma:\"03C3\",tau:\"03C4\",upsilon:\"03C5\",phi:\"03D5\",chi:\"03C7\",psi:\"03C8\",omega:\"03C9\",varepsilon:\"03B5\",vartheta:\"03D1\",varpi:\"03D6\",varrho:\"03F1\",varsigma:\"03C2\",varphi:\"03C6\",S:[\"00A7\",{mathvariant:MML.VARIANT.NORMAL}],aleph:[\"2135\",{mathvariant:MML.VARIANT.NORMAL}],hbar:[\"210F\",{variantForm:!0}],imath:\"0131\",jmath:\"0237\",ell:\"2113\",wp:[\"2118\",{mathvariant:MML.VARIANT.NORMAL}],Re:[\"211C\",{mathvariant:MML.VARIANT.NORMAL}],Im:[\"2111\",{mathvariant:MML.VARIANT.NORMAL}],partial:[\"2202\",{mathvariant:MML.VARIANT.NORMAL}],infty:[\"221E\",{mathvariant:MML.VARIANT.NORMAL}],prime:[\"2032\",{mathvariant:MML.VARIANT.NORMAL,variantForm:!0}],emptyset:[\"2205\",{mathvariant:MML.VARIANT.NORMAL}],nabla:[\"2207\",{mathvariant:MML.VARIANT.NORMAL}],top:[\"22A4\",{mathvariant:MML.VARIANT.NORMAL}],bot:[\"22A5\",{mathvariant:MML.VARIANT.NORMAL}],angle:[\"2220\",{mathvariant:MML.VARIANT.NORMAL}],triangle:[\"25B3\",{mathvariant:MML.VARIANT.NORMAL}],backslash:[\"2216\",{mathvariant:MML.VARIANT.NORMAL,variantForm:!0}],forall:[\"2200\",{mathvariant:MML.VARIANT.NORMAL}],exists:[\"2203\",{mathvariant:MML.VARIANT.NORMAL}],neg:[\"00AC\",{mathvariant:MML.VARIANT.NORMAL}],lnot:[\"00AC\",{mathvariant:MML.VARIANT.NORMAL}],flat:[\"266D\",{mathvariant:MML.VARIANT.NORMAL}],natural:[\"266E\",{mathvariant:MML.VARIANT.NORMAL}],sharp:[\"266F\",{mathvariant:MML.VARIANT.NORMAL}],clubsuit:[\"2663\",{mathvariant:MML.VARIANT.NORMAL}],diamondsuit:[\"2662\",{mathvariant:MML.VARIANT.NORMAL}],heartsuit:[\"2661\",{mathvariant:MML.VARIANT.NORMAL}],spadesuit:[\"2660\",{mathvariant:MML.VARIANT.NORMAL}]},mathchar0mo:{surd:\"221A\",coprod:[\"2210\",{texClass:MML.TEXCLASS.OP,movesupsub:!0}],bigvee:[\"22C1\",{texClass:MML.TEXCLASS.OP,movesupsub:!0}],bigwedge:[\"22C0\",{texClass:MML.TEXCLASS.OP,movesupsub:!0}],biguplus:[\"2A04\",{texClass:MML.TEXCLASS.OP,movesupsub:!0}],bigcap:[\"22C2\",{texClass:MML.TEXCLASS.OP,movesupsub:!0}],bigcup:[\"22C3\",{texClass:MML.TEXCLASS.OP,movesupsub:!0}],int:[\"222B\",{texClass:MML.TEXCLASS.OP}],intop:[\"222B\",{texClass:MML.TEXCLASS.OP,movesupsub:!0,movablelimits:!0}],iint:[\"222C\",{texClass:MML.TEXCLASS.OP}],iiint:[\"222D\",{texClass:MML.TEXCLASS.OP}],prod:[\"220F\",{texClass:MML.TEXCLASS.OP,movesupsub:!0}],sum:[\"2211\",{texClass:MML.TEXCLASS.OP,movesupsub:!0}],bigotimes:[\"2A02\",{texClass:MML.TEXCLASS.OP,movesupsub:!0}],bigoplus:[\"2A01\",{texClass:MML.TEXCLASS.OP,movesupsub:!0}],bigodot:[\"2A00\",{texClass:MML.TEXCLASS.OP,movesupsub:!0}],oint:[\"222E\",{texClass:MML.TEXCLASS.OP}],bigsqcup:[\"2A06\",{texClass:MML.TEXCLASS.OP,movesupsub:!0}],smallint:[\"222B\",{largeop:!1}],triangleleft:\"25C3\",triangleright:\"25B9\",bigtriangleup:\"25B3\",bigtriangledown:\"25BD\",wedge:\"2227\",land:\"2227\",vee:\"2228\",lor:\"2228\",cap:\"2229\",cup:\"222A\",ddagger:\"2021\",dagger:\"2020\",sqcap:\"2293\",sqcup:\"2294\",uplus:\"228E\",amalg:\"2A3F\",diamond:\"22C4\",bullet:\"2219\",wr:\"2240\",div:\"00F7\",odot:[\"2299\",{largeop:!1}],oslash:[\"2298\",{largeop:!1}],otimes:[\"2297\",{largeop:!1}],ominus:[\"2296\",{largeop:!1}],oplus:[\"2295\",{largeop:!1}],mp:\"2213\",pm:\"00B1\",circ:\"2218\",bigcirc:\"25EF\",setminus:[\"2216\",{variantForm:!0}],cdot:\"22C5\",ast:\"2217\",times:\"00D7\",star:\"22C6\",propto:\"221D\",sqsubseteq:\"2291\",sqsupseteq:\"2292\",parallel:\"2225\",mid:\"2223\",dashv:\"22A3\",vdash:\"22A2\",leq:\"2264\",le:\"2264\",geq:\"2265\",ge:\"2265\",lt:\"003C\",gt:\"003E\",succ:\"227B\",prec:\"227A\",approx:\"2248\",succeq:\"2AB0\",preceq:\"2AAF\",supset:\"2283\",subset:\"2282\",supseteq:\"2287\",subseteq:\"2286\",in:\"2208\",ni:\"220B\",notin:\"2209\",owns:\"220B\",gg:\"226B\",ll:\"226A\",sim:\"223C\",simeq:\"2243\",perp:\"22A5\",equiv:\"2261\",asymp:\"224D\",smile:\"2323\",frown:\"2322\",ne:\"2260\",neq:\"2260\",cong:\"2245\",doteq:\"2250\",bowtie:\"22C8\",models:\"22A8\",notChar:\"29F8\",Leftrightarrow:\"21D4\",Leftarrow:\"21D0\",Rightarrow:\"21D2\",leftrightarrow:\"2194\",leftarrow:\"2190\",gets:\"2190\",rightarrow:\"2192\",to:\"2192\",mapsto:\"21A6\",leftharpoonup:\"21BC\",leftharpoondown:\"21BD\",rightharpoonup:\"21C0\",rightharpoondown:\"21C1\",nearrow:\"2197\",searrow:\"2198\",nwarrow:\"2196\",swarrow:\"2199\",rightleftharpoons:\"21CC\",hookrightarrow:\"21AA\",hookleftarrow:\"21A9\",longleftarrow:\"27F5\",Longleftarrow:\"27F8\",longrightarrow:\"27F6\",Longrightarrow:\"27F9\",Longleftrightarrow:\"27FA\",longleftrightarrow:\"27F7\",longmapsto:\"27FC\",ldots:\"2026\",cdots:\"22EF\",vdots:\"22EE\",ddots:\"22F1\",dotsc:\"2026\",dotsb:\"22EF\",dotsm:\"22EF\",dotsi:\"22EF\",dotso:\"2026\",ldotp:[\"002E\",{texClass:MML.TEXCLASS.PUNCT}],cdotp:[\"22C5\",{texClass:MML.TEXCLASS.PUNCT}],colon:[\"003A\",{texClass:MML.TEXCLASS.PUNCT}]},mathchar7:{Gamma:\"0393\",Delta:\"0394\",Theta:\"0398\",Lambda:\"039B\",Xi:\"039E\",Pi:\"03A0\",Sigma:\"03A3\",Upsilon:\"03A5\",Phi:\"03A6\",Psi:\"03A8\",Omega:\"03A9\",_:\"005F\",\"#\":\"0023\",$:\"0024\",\"%\":\"0025\",\"&\":\"0026\",And:\"0026\"},delimiter:{\"(\":\"(\",\")\":\")\",\"[\":\"[\",\"]\":\"]\",\"<\":\"27E8\",\">\":\"27E9\",\"\\\\lt\":\"27E8\",\"\\\\gt\":\"27E9\",\"/\":\"/\",\"|\":[\"|\",{texClass:MML.TEXCLASS.ORD}],\".\":\"\",\"\\\\\\\\\":\"\\\\\",\"\\\\lmoustache\":\"23B0\",\"\\\\rmoustache\":\"23B1\",\"\\\\lgroup\":\"27EE\",\"\\\\rgroup\":\"27EF\",\"\\\\arrowvert\":\"23D0\",\"\\\\Arrowvert\":\"2016\",\"\\\\bracevert\":\"23AA\",\"\\\\Vert\":[\"2016\",{texClass:MML.TEXCLASS.ORD}],\"\\\\|\":[\"2016\",{texClass:MML.TEXCLASS.ORD}],\"\\\\vert\":[\"|\",{texClass:MML.TEXCLASS.ORD}],\"\\\\uparrow\":\"2191\",\"\\\\downarrow\":\"2193\",\"\\\\updownarrow\":\"2195\",\"\\\\Uparrow\":\"21D1\",\"\\\\Downarrow\":\"21D3\",\"\\\\Updownarrow\":\"21D5\",\"\\\\backslash\":\"\\\\\",\"\\\\rangle\":\"27E9\",\"\\\\langle\":\"27E8\",\"\\\\rbrace\":\"}\",\"\\\\lbrace\":\"{\",\"\\\\}\":\"}\",\"\\\\{\":\"{\",\"\\\\rceil\":\"2309\",\"\\\\lceil\":\"2308\",\"\\\\rfloor\":\"230B\",\"\\\\lfloor\":\"230A\",\"\\\\lbrack\":\"[\",\"\\\\rbrack\":\"]\"},macros:{displaystyle:[\"SetStyle\",\"D\",!0,0],textstyle:[\"SetStyle\",\"T\",!1,0],scriptstyle:[\"SetStyle\",\"S\",!1,1],scriptscriptstyle:[\"SetStyle\",\"SS\",!1,2],rm:[\"SetFont\",MML.VARIANT.NORMAL],mit:[\"SetFont\",MML.VARIANT.ITALIC],oldstyle:[\"SetFont\",MML.VARIANT.OLDSTYLE],cal:[\"SetFont\",MML.VARIANT.CALIGRAPHIC],it:[\"SetFont\",\"-tex-mathit\"],bf:[\"SetFont\",MML.VARIANT.BOLD],bbFont:[\"SetFont\",MML.VARIANT.DOUBLESTRUCK],scr:[\"SetFont\",MML.VARIANT.SCRIPT],frak:[\"SetFont\",MML.VARIANT.FRAKTUR],sf:[\"SetFont\",MML.VARIANT.SANSSERIF],tt:[\"SetFont\",MML.VARIANT.MONOSPACE],tiny:[\"SetSize\",.5],Tiny:[\"SetSize\",.6],scriptsize:[\"SetSize\",.7],small:[\"SetSize\",.85],normalsize:[\"SetSize\",1],large:[\"SetSize\",1.2],Large:[\"SetSize\",1.44],LARGE:[\"SetSize\",1.73],huge:[\"SetSize\",2.07],Huge:[\"SetSize\",2.49],arcsin:[\"NamedFn\"],arccos:[\"NamedFn\"],arctan:[\"NamedFn\"],arg:[\"NamedFn\"],cos:[\"NamedFn\"],cosh:[\"NamedFn\"],cot:[\"NamedFn\"],coth:[\"NamedFn\"],csc:[\"NamedFn\"],deg:[\"NamedFn\"],det:\"NamedOp\",dim:[\"NamedFn\"],exp:[\"NamedFn\"],gcd:\"NamedOp\",hom:[\"NamedFn\"],inf:\"NamedOp\",ker:[\"NamedFn\"],lg:[\"NamedFn\"],lim:\"NamedOp\",liminf:[\"NamedOp\",\"lim&thinsp;inf\"],limsup:[\"NamedOp\",\"lim&thinsp;sup\"],ln:[\"NamedFn\"],log:[\"NamedFn\"],max:\"NamedOp\",min:\"NamedOp\",Pr:\"NamedOp\",sec:[\"NamedFn\"],sin:[\"NamedFn\"],sinh:[\"NamedFn\"],sup:\"NamedOp\",tan:[\"NamedFn\"],tanh:[\"NamedFn\"],limits:[\"Limits\",1],nolimits:[\"Limits\",0],overline:[\"UnderOver\",\"00AF\",null,1],underline:[\"UnderOver\",\"005F\"],overbrace:[\"UnderOver\",\"23DE\",1],underbrace:[\"UnderOver\",\"23DF\",1],overparen:[\"UnderOver\",\"23DC\"],underparen:[\"UnderOver\",\"23DD\"],overrightarrow:[\"UnderOver\",\"2192\"],underrightarrow:[\"UnderOver\",\"2192\"],overleftarrow:[\"UnderOver\",\"2190\"],underleftarrow:[\"UnderOver\",\"2190\"],overleftrightarrow:[\"UnderOver\",\"2194\"],underleftrightarrow:[\"UnderOver\",\"2194\"],overset:\"Overset\",underset:\"Underset\",stackrel:[\"Macro\",\"\\\\mathrel{\\\\mathop{#2}\\\\limits^{#1}}\",2],over:\"Over\",overwithdelims:\"Over\",atop:\"Over\",atopwithdelims:\"Over\",above:\"Over\",abovewithdelims:\"Over\",brace:[\"Over\",\"{\",\"}\"],brack:[\"Over\",\"[\",\"]\"],choose:[\"Over\",\"(\",\")\"],frac:\"Frac\",sqrt:\"Sqrt\",root:\"Root\",uproot:[\"MoveRoot\",\"upRoot\"],leftroot:[\"MoveRoot\",\"leftRoot\"],left:\"LeftRight\",right:\"LeftRight\",middle:\"Middle\",llap:\"Lap\",rlap:\"Lap\",raise:\"RaiseLower\",lower:\"RaiseLower\",moveleft:\"MoveLeftRight\",moveright:\"MoveLeftRight\",\",\":[\"Spacer\",MML.LENGTH.THINMATHSPACE],\":\":[\"Spacer\",MML.LENGTH.MEDIUMMATHSPACE],\">\":[\"Spacer\",MML.LENGTH.MEDIUMMATHSPACE],\";\":[\"Spacer\",MML.LENGTH.THICKMATHSPACE],\"!\":[\"Spacer\",MML.LENGTH.NEGATIVETHINMATHSPACE],enspace:[\"Spacer\",\".5em\"],quad:[\"Spacer\",\"1em\"],qquad:[\"Spacer\",\"2em\"],thinspace:[\"Spacer\",MML.LENGTH.THINMATHSPACE],negthinspace:[\"Spacer\",MML.LENGTH.NEGATIVETHINMATHSPACE],hskip:\"Hskip\",hspace:\"Hskip\",kern:\"Hskip\",mskip:\"Hskip\",mspace:\"Hskip\",mkern:\"Hskip\",rule:\"rule\",Rule:[\"Rule\"],Space:[\"Rule\",\"blank\"],big:[\"MakeBig\",MML.TEXCLASS.ORD,.85],Big:[\"MakeBig\",MML.TEXCLASS.ORD,1.15],bigg:[\"MakeBig\",MML.TEXCLASS.ORD,1.45],Bigg:[\"MakeBig\",MML.TEXCLASS.ORD,1.75],bigl:[\"MakeBig\",MML.TEXCLASS.OPEN,.85],Bigl:[\"MakeBig\",MML.TEXCLASS.OPEN,1.15],biggl:[\"MakeBig\",MML.TEXCLASS.OPEN,1.45],Biggl:[\"MakeBig\",MML.TEXCLASS.OPEN,1.75],bigr:[\"MakeBig\",MML.TEXCLASS.CLOSE,.85],Bigr:[\"MakeBig\",MML.TEXCLASS.CLOSE,1.15],biggr:[\"MakeBig\",MML.TEXCLASS.CLOSE,1.45],Biggr:[\"MakeBig\",MML.TEXCLASS.CLOSE,1.75],bigm:[\"MakeBig\",MML.TEXCLASS.REL,.85],Bigm:[\"MakeBig\",MML.TEXCLASS.REL,1.15],biggm:[\"MakeBig\",MML.TEXCLASS.REL,1.45],Biggm:[\"MakeBig\",MML.TEXCLASS.REL,1.75],mathord:[\"TeXAtom\",MML.TEXCLASS.ORD],mathop:[\"TeXAtom\",MML.TEXCLASS.OP],mathopen:[\"TeXAtom\",MML.TEXCLASS.OPEN],mathclose:[\"TeXAtom\",MML.TEXCLASS.CLOSE],mathbin:[\"TeXAtom\",MML.TEXCLASS.BIN],mathrel:[\"TeXAtom\",MML.TEXCLASS.REL],mathpunct:[\"TeXAtom\",MML.TEXCLASS.PUNCT],mathinner:[\"TeXAtom\",MML.TEXCLASS.INNER],vcenter:[\"TeXAtom\",MML.TEXCLASS.VCENTER],mathchoice:[\"Extension\",\"mathchoice\"],buildrel:\"BuildRel\",hbox:[\"HBox\",0],text:\"HBox\",mbox:[\"HBox\",0],fbox:\"FBox\",strut:\"Strut\",mathstrut:[\"Macro\",\"\\\\vphantom{(}\"],phantom:\"Phantom\",vphantom:[\"Phantom\",1,0],hphantom:[\"Phantom\",0,1],smash:\"Smash\",acute:[\"Accent\",\"00B4\"],grave:[\"Accent\",\"0060\"],ddot:[\"Accent\",\"00A8\"],tilde:[\"Accent\",\"007E\"],bar:[\"Accent\",\"00AF\"],breve:[\"Accent\",\"02D8\"],check:[\"Accent\",\"02C7\"],hat:[\"Accent\",\"005E\"],vec:[\"Accent\",\"2192\"],dot:[\"Accent\",\"02D9\"],widetilde:[\"Accent\",\"007E\",1],widehat:[\"Accent\",\"005E\",1],matrix:\"Matrix\",array:\"Matrix\",pmatrix:[\"Matrix\",\"(\",\")\"],cases:[\"Matrix\",\"{\",\"\",\"left left\",null,\".1em\",null,!0],eqalign:[\"Matrix\",null,null,\"right left\",MML.LENGTH.THICKMATHSPACE,\".5em\",\"D\"],displaylines:[\"Matrix\",null,null,\"center\",null,\".5em\",\"D\"],cr:\"Cr\",\"\\\\\":\"CrLaTeX\",newline:\"Cr\",hline:[\"HLine\",\"solid\"],hdashline:[\"HLine\",\"dashed\"],eqalignno:[\"Matrix\",null,null,\"right left\",MML.LENGTH.THICKMATHSPACE,\".5em\",\"D\",null,\"right\"],leqalignno:[\"Matrix\",null,null,\"right left\",MML.LENGTH.THICKMATHSPACE,\".5em\",\"D\",null,\"left\"],hfill:\"HFill\",hfil:\"HFill\",hfilll:\"HFill\",bmod:[\"Macro\",'\\\\mmlToken{mo}[lspace=\"thickmathspace\" rspace=\"thickmathspace\"]{mod}'],pmod:[\"Macro\",\"\\\\pod{\\\\mmlToken{mi}{mod}\\\\kern 6mu #1}\",1],mod:[\"Macro\",\"\\\\mathchoice{\\\\kern18mu}{\\\\kern12mu}{\\\\kern12mu}{\\\\kern12mu}\\\\mmlToken{mi}{mod}\\\\,\\\\,#1\",1],pod:[\"Macro\",\"\\\\mathchoice{\\\\kern18mu}{\\\\kern8mu}{\\\\kern8mu}{\\\\kern8mu}(#1)\",1],iff:[\"Macro\",\"\\\\;\\\\Longleftrightarrow\\\\;\"],skew:[\"Macro\",\"{{#2{#3\\\\mkern#1mu}\\\\mkern-#1mu}{}}\",3],mathcal:[\"Macro\",\"{\\\\cal #1}\",1],mathscr:[\"Macro\",\"{\\\\scr #1}\",1],mathrm:[\"Macro\",\"{\\\\rm #1}\",1],mathbf:[\"Macro\",\"{\\\\bf #1}\",1],mathbb:[\"Macro\",\"{\\\\bbFont #1}\",1],Bbb:[\"Macro\",\"{\\\\bbFont #1}\",1],mathit:[\"Macro\",\"{\\\\it #1}\",1],mathfrak:[\"Macro\",\"{\\\\frak #1}\",1],mathsf:[\"Macro\",\"{\\\\sf #1}\",1],mathtt:[\"Macro\",\"{\\\\tt #1}\",1],textrm:[\"Macro\",\"\\\\mathord{\\\\rm\\\\text{#1}}\",1],textit:[\"Macro\",\"\\\\mathord{\\\\it\\\\text{#1}}\",1],textbf:[\"Macro\",\"\\\\mathord{\\\\bf\\\\text{#1}}\",1],textsf:[\"Macro\",\"\\\\mathord{\\\\sf\\\\text{#1}}\",1],texttt:[\"Macro\",\"\\\\mathord{\\\\tt\\\\text{#1}}\",1],pmb:[\"Macro\",\"\\\\rlap{#1}\\\\kern1px{#1}\",1],TeX:[\"Macro\",\"T\\\\kern-.14em\\\\lower.5ex{E}\\\\kern-.115em X\"],LaTeX:[\"Macro\",\"L\\\\kern-.325em\\\\raise.21em{\\\\scriptstyle{A}}\\\\kern-.17em\\\\TeX\"],\" \":[\"Macro\",\"\\\\text{ }\"],not:\"Not\",dots:\"Dots\",space:\"Tilde\",\" \":\"Tilde\",begin:\"BeginEnd\",end:\"BeginEnd\",newcommand:[\"Extension\",\"newcommand\"],renewcommand:[\"Extension\",\"newcommand\"],newenvironment:[\"Extension\",\"newcommand\"],renewenvironment:[\"Extension\",\"newcommand\"],def:[\"Extension\",\"newcommand\"],let:[\"Extension\",\"newcommand\"],verb:[\"Extension\",\"verb\"],boldsymbol:[\"Extension\",\"boldsymbol\"],tag:[\"Extension\",\"AMSmath\"],notag:[\"Extension\",\"AMSmath\"],label:[\"Extension\",\"AMSmath\"],ref:[\"Extension\",\"AMSmath\"],eqref:[\"Extension\",\"AMSmath\"],nonumber:[\"Macro\",\"\\\\notag\"],unicode:[\"Extension\",\"unicode\"],color:\"Color\",href:[\"Extension\",\"HTML\"],class:[\"Extension\",\"HTML\"],style:[\"Extension\",\"HTML\"],cssId:[\"Extension\",\"HTML\"],bbox:[\"Extension\",\"bbox\"],mmlToken:\"MmlToken\",require:\"Require\"},environment:{array:[\"AlignedArray\"],matrix:[\"Array\",null,null,null,\"c\"],pmatrix:[\"Array\",null,\"(\",\")\",\"c\"],bmatrix:[\"Array\",null,\"[\",\"]\",\"c\"],Bmatrix:[\"Array\",null,\"\\\\{\",\"\\\\}\",\"c\"],vmatrix:[\"Array\",null,\"\\\\vert\",\"\\\\vert\",\"c\"],Vmatrix:[\"Array\",null,\"\\\\Vert\",\"\\\\Vert\",\"c\"],cases:[\"Array\",null,\"\\\\{\",\".\",\"ll\",null,\".2em\",\"T\"],equation:[null,\"Equation\"],\"equation*\":[null,\"Equation\"],eqnarray:[\"ExtensionEnv\",null,\"AMSmath\"],\"eqnarray*\":[\"ExtensionEnv\",null,\"AMSmath\"],align:[\"ExtensionEnv\",null,\"AMSmath\"],\"align*\":[\"ExtensionEnv\",null,\"AMSmath\"],aligned:[\"ExtensionEnv\",null,\"AMSmath\"],multline:[\"ExtensionEnv\",null,\"AMSmath\"],\"multline*\":[\"ExtensionEnv\",null,\"AMSmath\"],split:[\"ExtensionEnv\",null,\"AMSmath\"],gather:[\"ExtensionEnv\",null,\"AMSmath\"],\"gather*\":[\"ExtensionEnv\",null,\"AMSmath\"],gathered:[\"ExtensionEnv\",null,\"AMSmath\"],alignat:[\"ExtensionEnv\",null,\"AMSmath\"],\"alignat*\":[\"ExtensionEnv\",null,\"AMSmath\"],alignedat:[\"ExtensionEnv\",null,\"AMSmath\"]},p_height:1.2/.85}),this.config.Macros){var MACROS=this.config.Macros;for(var id in MACROS)MACROS.hasOwnProperty(id)&&(\"string\"==typeof MACROS[id]?TEXDEF.macros[id]=[\"Macro\",MACROS[id]]:TEXDEF.macros[id]=[\"Macro\"].concat(MACROS[id]),TEXDEF.macros[id].isUser=!0)}},PARSE=MathJax.Object.Subclass({Init:function(string,env){var ENV;if(this.string=string,this.i=0,this.macroCount=0,env)for(var id in ENV={},env)env.hasOwnProperty(id)&&(ENV[id]=env[id]);this.stack=TEX.Stack(ENV,!!env),this.Parse(),this.Push(STACKITEM.stop())},Parse:function(){for(var c,n;this.i<this.string.length;)(n=(c=this.string.charAt(this.i++)).charCodeAt(0))>=55296&&n<56320&&(c+=this.string.charAt(this.i++)),TEXDEF.special.hasOwnProperty(c)?this[TEXDEF.special[c]](c):TEXDEF.letter.test(c)?this.Variable(c):TEXDEF.digit.test(c)?this.Number(c):this.Other(c)},Push:function(){this.stack.Push.apply(this.stack,arguments)},mml:function(){return\"mml\"!==this.stack.Top().type?null:this.stack.Top().data[0]},mmlToken:function(token){return token},ControlSequence:function(c){var name=this.GetCS(),macro=this.csFindMacro(name);if(macro){isArray(macro)||(macro=[macro]);var fn=macro[0];fn instanceof Function||(fn=this[fn]),fn.apply(this,[c+name].concat(macro.slice(1)))}else TEXDEF.mathchar0mi.hasOwnProperty(name)?this.csMathchar0mi(name,TEXDEF.mathchar0mi[name]):TEXDEF.mathchar0mo.hasOwnProperty(name)?this.csMathchar0mo(name,TEXDEF.mathchar0mo[name]):TEXDEF.mathchar7.hasOwnProperty(name)?this.csMathchar7(name,TEXDEF.mathchar7[name]):TEXDEF.delimiter.hasOwnProperty(\"\\\\\"+name)?this.csDelimiter(name,TEXDEF.delimiter[\"\\\\\"+name]):this.csUndefined(c+name)},csFindMacro:function(name){return TEXDEF.macros.hasOwnProperty(name)?TEXDEF.macros[name]:null},csMathchar0mi:function(name,mchar){var def={mathvariant:MML.VARIANT.ITALIC};isArray(mchar)&&(def=mchar[1],mchar=mchar[0]),this.Push(this.mmlToken(MML.mi(MML.entity(\"#x\"+mchar)).With(def)))},csMathchar0mo:function(name,mchar){var def={stretchy:!1};isArray(mchar)&&((def=mchar[1]).stretchy=!1,mchar=mchar[0]),this.Push(this.mmlToken(MML.mo(MML.entity(\"#x\"+mchar)).With(def)))},csMathchar7:function(name,mchar){var def={mathvariant:MML.VARIANT.NORMAL};isArray(mchar)&&(def=mchar[1],mchar=mchar[0]),this.stack.env.font&&(def.mathvariant=this.stack.env.font),this.Push(this.mmlToken(MML.mi(MML.entity(\"#x\"+mchar)).With(def)))},csDelimiter:function(name,delim){var def={};isArray(delim)&&(def=delim[1],delim=delim[0]),delim=4===delim.length?MML.entity(\"#x\"+delim):MML.chars(delim),this.Push(this.mmlToken(MML.mo(delim).With({fence:!1,stretchy:!1}).With(def)))},csUndefined:function(name){TEX.Error([\"UndefinedControlSequence\",\"Undefined control sequence %1\",name])},Variable:function(c){var def={};this.stack.env.font&&(def.mathvariant=this.stack.env.font),this.Push(this.mmlToken(MML.mi(MML.chars(c)).With(def)))},Number:function(c){var mml,n=this.string.slice(this.i-1).match(TEXDEF.number);n?(mml=MML.mn(n[0].replace(/[{}]/g,\"\")),this.i+=n[0].length-1):mml=MML.mo(MML.chars(c)),this.stack.env.font&&(mml.mathvariant=this.stack.env.font),this.Push(this.mmlToken(mml))},Open:function(c){this.Push(STACKITEM.open())},Close:function(c){this.Push(STACKITEM.close())},Tilde:function(c){this.Push(MML.mtext(MML.chars(\" \")))},Space:function(c){},Superscript:function(c){this.GetNext().match(/\\d/)&&(this.string=this.string.substr(0,this.i+1)+\" \"+this.string.substr(this.i+1));var primes,base,top=this.stack.Top();\"prime\"===top.type?(base=top.data[0],primes=top.data[1],this.stack.Pop()):(base=this.stack.Prev())||(base=MML.mi(\"\")),base.isEmbellishedWrapper&&(base=base.data[0].data[0]);var movesupsub=base.movesupsub,position=base.sup;(\"msubsup\"===base.type&&base.data[base.sup]||\"munderover\"===base.type&&base.data[base.over]&&!base.subsupOK)&&TEX.Error([\"DoubleExponent\",\"Double exponent: use braces to clarify\"]),\"msubsup\"!==base.type&&(movesupsub?((\"munderover\"!==base.type||base.data[base.over])&&(base.movablelimits&&base.isa(MML.mi)&&(base=this.mi2mo(base)),base=MML.munderover(base,null,null).With({movesupsub:!0})),position=base.over):position=(base=MML.msubsup(base,null,null)).sup),this.Push(STACKITEM.subsup(base).With({position:position,primes:primes,movesupsub:movesupsub}))},Subscript:function(c){this.GetNext().match(/\\d/)&&(this.string=this.string.substr(0,this.i+1)+\" \"+this.string.substr(this.i+1));var primes,base,top=this.stack.Top();\"prime\"===top.type?(base=top.data[0],primes=top.data[1],this.stack.Pop()):(base=this.stack.Prev())||(base=MML.mi(\"\")),base.isEmbellishedWrapper&&(base=base.data[0].data[0]);var movesupsub=base.movesupsub,position=base.sub;(\"msubsup\"===base.type&&base.data[base.sub]||\"munderover\"===base.type&&base.data[base.under]&&!base.subsupOK)&&TEX.Error([\"DoubleSubscripts\",\"Double subscripts: use braces to clarify\"]),\"msubsup\"!==base.type&&(movesupsub?((\"munderover\"!==base.type||base.data[base.under])&&(base.movablelimits&&base.isa(MML.mi)&&(base=this.mi2mo(base)),base=MML.munderover(base,null,null).With({movesupsub:!0})),position=base.under):position=(base=MML.msubsup(base,null,null)).sub),this.Push(STACKITEM.subsup(base).With({position:position,primes:primes,movesupsub:movesupsub}))},PRIME:\"′\",SMARTQUOTE:\"’\",Prime:function(c){var base=this.stack.Prev();base||(base=MML.mi()),\"msubsup\"===base.type&&base.data[base.sup]&&TEX.Error([\"DoubleExponentPrime\",\"Prime causes double exponent: use braces to clarify\"]);var sup=\"\";this.i--;do{sup+=this.PRIME,this.i++,c=this.GetNext()}while(\"'\"===c||c===this.SMARTQUOTE);sup=[\"\",\"′\",\"″\",\"‴\",\"⁗\"][sup.length]||sup,this.Push(STACKITEM.prime(base,this.mmlToken(MML.mo(sup))))},mi2mo:function(mi){var mo=MML.mo(),id;for(id in mo.Append.apply(mo,mi.data),mo.defaults)mo.defaults.hasOwnProperty(id)&&null!=mi[id]&&(mo[id]=mi[id]);for(id in MML.copyAttributes)MML.copyAttributes.hasOwnProperty(id)&&null!=mi[id]&&(mo[id]=mi[id]);return mo.lspace=mo.rspace=\"0\",mo.useMMLspacing&=~(mo.SPACE_ATTR.lspace|mo.SPACE_ATTR.rspace),mo},Comment:function(c){for(;this.i<this.string.length&&\"\\n\"!=this.string.charAt(this.i);)this.i++},Hash:function(c){TEX.Error([\"CantUseHash1\",\"You can't use 'macro parameter character #' in math mode\"])},Other:function(c){var def,mo;this.stack.env.font&&(def={mathvariant:this.stack.env.font}),TEXDEF.remap.hasOwnProperty(c)?(c=TEXDEF.remap[c],isArray(c)&&(def=c[1],c=c[0]),mo=MML.mo(MML.entity(\"#x\"+c)).With(def)):mo=MML.mo(c).With(def),mo.autoDefault(\"stretchy\",!0)&&(mo.stretchy=!1),\"\"==mo.autoDefault(\"texClass\",!0)&&(mo=MML.TeXAtom(mo)),this.Push(this.mmlToken(mo))},SetFont:function(name,font){this.stack.env.font=font},SetStyle:function(name,texStyle,style,level){this.stack.env.style=texStyle,this.stack.env.level=level,this.Push(STACKITEM.style().With({styles:{displaystyle:style,scriptlevel:level}}))},SetSize:function(name,size){this.stack.env.size=size,this.Push(STACKITEM.style().With({styles:{mathsize:size+\"em\"}}))},Color:function(name){var color=this.GetArgument(name),old=this.stack.env.color;this.stack.env.color=color;var math=this.ParseArg(name);old?this.stack.env.color:delete this.stack.env.color,this.Push(MML.mstyle(math).With({mathcolor:color}))},Spacer:function(name,space){this.Push(MML.mspace().With({width:space,mathsize:MML.SIZE.NORMAL,scriptlevel:0}))},LeftRight:function(name){this.Push(STACKITEM[name.substr(1)]().With({delim:this.GetDelimiter(name)}))},Middle:function(name){var delim=this.GetDelimiter(name);this.Push(MML.TeXAtom().With({texClass:MML.TEXCLASS.CLOSE})),\"left\"!==this.stack.Top().type&&TEX.Error([\"MisplacedMiddle\",\"%1 must be within \\\\left and \\\\right\",name]),this.Push(MML.mo(delim).With({stretchy:!0})),this.Push(MML.TeXAtom().With({texClass:MML.TEXCLASS.OPEN}))},NamedFn:function(name,id){id||(id=name.substr(1));var mml=MML.mi(id).With({texClass:MML.TEXCLASS.OP});this.Push(STACKITEM.fn(this.mmlToken(mml)))},NamedOp:function(name,id){id||(id=name.substr(1)),id=id.replace(/&thinsp;/,\" \");var mml=MML.mo(id).With({movablelimits:!0,movesupsub:!0,form:MML.FORM.PREFIX,texClass:MML.TEXCLASS.OP});this.Push(this.mmlToken(mml))},Limits:function(name,limits){var op=this.stack.Prev(\"nopop\");(!op||op.Get(\"texClass\")!==MML.TEXCLASS.OP&&null==op.movesupsub)&&TEX.Error([\"MisplacedLimits\",\"%1 is allowed only on operators\",name]);var top=this.stack.Top();\"munderover\"!==op.type||limits?\"msubsup\"===op.type&&limits&&(op=top.data[top.data.length-1]=MML.munderover.apply(MML.underover,op.data)):op=top.data[top.data.length-1]=MML.msubsup.apply(MML.subsup,op.data),op.movesupsub=!!limits,op.Core().movablelimits=!1,op.movablelimits&&(op.movablelimits=!1)},Over:function(name,open,close){var mml=STACKITEM.over().With({name:name});open||close?(mml.open=open,mml.close=close):name.match(/withdelims$/)&&(mml.open=this.GetDelimiter(name),mml.close=this.GetDelimiter(name)),name.match(/^\\\\above/)?mml.thickness=this.GetDimen(name):(name.match(/^\\\\atop/)||open||close)&&(mml.thickness=0),this.Push(mml)},Frac:function(name){var num=this.ParseArg(name),den=this.ParseArg(name);this.Push(MML.mfrac(num,den))},Sqrt:function(name){var n=this.GetBrackets(name),arg=this.GetArgument(name);\"\\\\frac\"===arg&&(arg+=\"{\"+this.GetArgument(arg)+\"}{\"+this.GetArgument(arg)+\"}\");var mml=TEX.Parse(arg,this.stack.env).mml();mml=n?MML.mroot(mml,this.parseRoot(n)):MML.msqrt.apply(MML,mml.array()),this.Push(mml)},Root:function(name){var n=this.GetUpTo(name,\"\\\\of\"),arg=this.ParseArg(name);this.Push(MML.mroot(arg,this.parseRoot(n)))},parseRoot:function(n){var env=this.stack.env,inRoot=env.inRoot;env.inRoot=!0;var parser=TEX.Parse(n,env);n=parser.mml();var global=parser.stack.global;return(global.leftRoot||global.upRoot)&&(n=MML.mpadded(n),global.leftRoot&&(n.width=global.leftRoot),global.upRoot&&(n.voffset=global.upRoot,n.height=global.upRoot)),env.inRoot=inRoot,n},MoveRoot:function(name,id){this.stack.env.inRoot||TEX.Error([\"MisplacedMoveRoot\",\"%1 can appear only within a root\",name]),this.stack.global[id]&&TEX.Error([\"MultipleMoveRoot\",\"Multiple use of %1\",name]);var n=this.GetArgument(name);n.match(/-?[0-9]+/)||TEX.Error([\"IntegerArg\",\"The argument to %1 must be an integer\",name]),\"-\"!==(n=n/15+\"em\").substr(0,1)&&(n=\"+\"+n),this.stack.global[id]=n},Accent:function(name,accent,stretchy){var c=this.ParseArg(name),def={accent:!0};this.stack.env.font&&(def.mathvariant=this.stack.env.font);var mml=this.mmlToken(MML.mo(MML.entity(\"#x\"+accent)).With(def));mml.stretchy=!!stretchy;var mo=c.isEmbellished()?c.CoreMO():c;mo.isa(MML.mo)&&(mo.movablelimits=!1),this.Push(MML.TeXAtom(MML.munderover(c,null,mml).With({accent:!0})))},UnderOver:function(name,c,stack,noaccent){var pos={o:\"over\",u:\"under\"}[name.charAt(1)],base=this.ParseArg(name);base.Get(\"movablelimits\")&&(base.movablelimits=!1),base.isa(MML.munderover)&&base.isEmbellished()&&(base.Core().With({lspace:0,rspace:0}),base=MML.mrow(MML.mo().With({rspace:0}),base));var mml=MML.munderover(base,null,null);mml.SetData(mml[pos],this.mmlToken(MML.mo(MML.entity(\"#x\"+c)).With({stretchy:!0,accent:!noaccent}))),stack&&(mml=MML.TeXAtom(mml).With({texClass:MML.TEXCLASS.OP,movesupsub:!0})),this.Push(mml.With({subsupOK:!0}))},Overset:function(name){var top=this.ParseArg(name),base=this.ParseArg(name);base.movablelimits=!1,this.Push(MML.mover(base,top))},Underset:function(name){var bot=this.ParseArg(name),base=this.ParseArg(name);base.movablelimits=!1,this.Push(MML.munder(base,bot))},TeXAtom:function(name,mclass){var def={texClass:mclass},mml;if(mclass==MML.TEXCLASS.OP){def.movesupsub=def.movablelimits=!0;var arg=this.GetArgument(name),match=arg.match(/^\\s*\\\\rm\\s+([a-zA-Z0-9 ]+)$/);match?(def.mathvariant=MML.VARIANT.NORMAL,mml=STACKITEM.fn(this.mmlToken(MML.mi(match[1]).With(def)))):mml=STACKITEM.fn(MML.TeXAtom(TEX.Parse(arg,this.stack.env).mml()).With(def))}else mml=MML.TeXAtom(this.ParseArg(name)).With(def);this.Push(mml)},MmlToken:function(name){var type=this.GetArgument(name),attr=this.GetBrackets(name,\"\").replace(/^\\s+/,\"\"),data=this.GetArgument(name),def={attrNames:[]},match;for(MML[type]&&MML[type].prototype.isToken||TEX.Error([\"NotMathMLToken\",\"%1 is not a token element\",type]);\"\"!==attr;){(match=attr.match(/^([a-z]+)\\s*=\\s*('[^']*'|\"[^\"]*\"|[^ ,]*)\\s*,?\\s*/i))||TEX.Error([\"InvalidMathMLAttr\",\"Invalid MathML attribute: %1\",attr]),null!=MML[type].prototype.defaults[match[1]]||this.MmlTokenAllow[match[1]]||TEX.Error([\"UnknownAttrForElement\",\"%1 is not a recognized attribute for %2\",match[1],type]);var value=this.MmlFilterAttribute(match[1],match[2].replace(/^(['\"])(.*)\\1$/,\"$2\"));value&&(\"true\"===value.toLowerCase()?value=!0:\"false\"===value.toLowerCase()&&(value=!1),def[match[1]]=value,def.attrNames.push(match[1])),attr=attr.substr(match[0].length)}this.Push(this.mmlToken(MML[type](data).With(def)))},MmlFilterAttribute:function(name,value){return value},MmlTokenAllow:{fontfamily:1,fontsize:1,fontweight:1,fontstyle:1,color:1,background:1,id:1,class:1,href:1,style:1},Strut:function(name){this.Push(MML.mpadded(MML.mrow()).With({height:\"8.6pt\",depth:\"3pt\",width:0}))},Phantom:function(name,v,h){var box=MML.mphantom(this.ParseArg(name));(v||h)&&(box=MML.mpadded(box),h&&(box.height=box.depth=0),v&&(box.width=0)),this.Push(MML.TeXAtom(box))},Smash:function(name){var bt=this.trimSpaces(this.GetBrackets(name,\"\")),smash=MML.mpadded(this.ParseArg(name));switch(bt){case\"b\":smash.depth=0;break;case\"t\":smash.height=0;break;default:smash.height=smash.depth=0}this.Push(MML.TeXAtom(smash))},Lap:function(name){var mml=MML.mpadded(this.ParseArg(name)).With({width:0});\"\\\\llap\"===name&&(mml.lspace=\"-1width\"),this.Push(MML.TeXAtom(mml))},RaiseLower:function(name){var h=this.GetDimen(name),item=STACKITEM.position().With({name:name,move:\"vertical\"});\"-\"===h.charAt(0)&&(h=h.slice(1),name={raise:\"\\\\lower\",lower:\"\\\\raise\"}[name.substr(1)]),\"\\\\lower\"===name?(item.dh=\"-\"+h,item.dd=\"+\"+h):(item.dh=\"+\"+h,item.dd=\"-\"+h),this.Push(item)},MoveLeftRight:function(name){var h=this.GetDimen(name),nh=\"-\"===h.charAt(0)?h.slice(1):\"-\"+h;if(\"\\\\moveleft\"===name){var tmp=h;h=nh,nh=tmp}this.Push(STACKITEM.position().With({name:name,move:\"horizontal\",left:MML.mspace().With({width:h,mathsize:MML.SIZE.NORMAL}),right:MML.mspace().With({width:nh,mathsize:MML.SIZE.NORMAL})}))},Hskip:function(name){this.Push(MML.mspace().With({width:this.GetDimen(name),mathsize:MML.SIZE.NORMAL}))},Rule:function(name,style){var w,h,d,def={width:this.GetDimen(name),height:this.GetDimen(name),depth:this.GetDimen(name)};\"blank\"!==style&&(def.mathbackground=this.stack.env.color||\"black\"),this.Push(MML.mspace().With(def))},rule:function(name){var v=this.GetBrackets(name),w=this.GetDimen(name),h=this.GetDimen(name),mml=MML.mspace().With({width:w,height:h,mathbackground:this.stack.env.color||\"black\"});v&&(mml=MML.mpadded(mml).With({voffset:v}),v.match(/^\\-/)?(mml.height=v,mml.depth=\"+\"+v.substr(1)):mml.height=\"+\"+v),this.Push(mml)},MakeBig:function(name,mclass,size){size*=TEXDEF.p_height,size=String(size).replace(/(\\.\\d\\d\\d).+/,\"$1\")+\"em\";var delim=this.GetDelimiter(name,!0);this.Push(MML.mstyle(MML.TeXAtom(MML.mo(delim).With({minsize:size,maxsize:size,fence:!0,stretchy:!0,symmetric:!0})).With({texClass:mclass})).With({scriptlevel:0}))},BuildRel:function(name){var top=this.ParseUpTo(name,\"\\\\over\"),bot=this.ParseArg(name);this.Push(MML.TeXAtom(MML.munderover(bot,null,top)).With({texClass:MML.TEXCLASS.REL}))},HBox:function(name,style){this.Push.apply(this,this.InternalMath(this.GetArgument(name),style))},FBox:function(name){this.Push(MML.menclose.apply(MML,this.InternalMath(this.GetArgument(name))).With({notation:\"box\"}))},Not:function(name){this.Push(STACKITEM.not())},Dots:function(name){this.Push(STACKITEM.dots().With({ldots:this.mmlToken(MML.mo(MML.entity(\"#x2026\")).With({stretchy:!1})),cdots:this.mmlToken(MML.mo(MML.entity(\"#x22EF\")).With({stretchy:!1}))}))},Require:function(name){var file=this.GetArgument(name).replace(/.*\\//,\"\").replace(/[^a-z0-9_.-]/gi,\"\");this.Extension(null,file)},Extension:function(name,file,array){(file=TEX.extensionDir+\"/\"+file).match(/\\.js$/)||(file+=\".js\"),AJAX.loaded[AJAX.fileURL(file)]||(null!=name&&delete TEXDEF[array||\"macros\"][name.replace(/^\\\\/,\"\")],HUB.RestartAfter(AJAX.Require(file)))},Macro:function(name,macro,argcount,def){if(argcount){var args=[];if(null!=def){var optional=this.GetBrackets(name);args.push(null==optional?def:optional)}for(var i=args.length;i<argcount;i++)args.push(this.GetArgument(name));macro=this.SubstituteArgs(args,macro)}this.string=this.AddArgs(macro,this.string.slice(this.i)),this.i=0,++this.macroCount>TEX.config.MAXMACROS&&TEX.Error([\"MaxMacroSub1\",\"MathJax maximum macro substitution count exceeded; is there a recursive macro call?\"])},Matrix:function(name,open,close,align,spacing,vspacing,style,cases,numbered){var c=this.GetNext();\"\"===c&&TEX.Error([\"MissingArgFor\",\"Missing argument for %1\",name]),\"{\"===c?this.i++:(this.string=c+\"}\"+this.string.slice(this.i+1),this.i=0);var array=STACKITEM.array().With({requireClose:!0,arraydef:{rowspacing:vspacing||\"4pt\",columnspacing:spacing||\"1em\"}});cases&&(array.isCases=!0),numbered&&(array.isNumbered=!0,array.arraydef.side=numbered),(open||close)&&(array.open=open,array.close=close),\"D\"===style&&(array.arraydef.displaystyle=!0),null!=align&&(array.arraydef.columnalign=align),this.Push(array)},Entry:function(name){if(this.Push(STACKITEM.cell().With({isEntry:!0,name:name})),this.stack.Top().isCases){for(var string=this.string,braces=0,close=-1,i=this.i,m=string.length;i<m;){var c=string.charAt(i);\"{\"===c?(braces++,i++):\"}\"===c?0===braces?m=0:(0===--braces&&close<0&&(close=i-this.i),i++):\"&\"===c&&0===braces?TEX.Error([\"ExtraAlignTab\",\"Extra alignment tab in \\\\cases text\"]):\"\\\\\"===c?string.substr(i).match(/^((\\\\cr)[^a-zA-Z]|\\\\\\\\)/)?m=0:i+=2:i++}var text=string.substr(this.i,i-this.i);text.match(/^\\s*\\\\text[^a-zA-Z]/)&&close===text.replace(/\\s+$/,\"\").length-1||(this.Push.apply(this,this.InternalMath(text,0)),this.i=i)}},Cr:function(name){this.Push(STACKITEM.cell().With({isCR:!0,name:name}))},CrLaTeX:function(name){var n;\"[\"===this.string.charAt(this.i)&&(n=this.GetBrackets(name,\"\").replace(/ /g,\"\").replace(/,/,\".\"))&&!this.matchDimen(n)&&TEX.Error([\"BracketMustBeDimension\",\"Bracket argument to %1 must be a dimension\",name]),this.Push(STACKITEM.cell().With({isCR:!0,name:name,linebreak:!0}));var top=this.stack.Top();if(top.isa(STACKITEM.array)){if(n&&top.arraydef.rowspacing){var rows=top.arraydef.rowspacing.split(/ /);for(top.rowspacing||(top.rowspacing=this.dimen2em(rows[0]));rows.length<top.table.length;)rows.push(this.Em(top.rowspacing));rows[top.table.length-1]=this.Em(Math.max(0,top.rowspacing+this.dimen2em(n))),top.arraydef.rowspacing=rows.join(\" \")}}else n&&this.Push(MML.mspace().With({depth:n})),this.Push(MML.mspace().With({linebreak:MML.LINEBREAK.NEWLINE}))},emPerInch:7.2,pxPerInch:72,matchDimen:function(dim){return dim.match(/^(-?(?:\\.\\d+|\\d+(?:\\.\\d*)?))(px|pt|em|ex|mu|pc|in|mm|cm)$/)},dimen2em:function(dim){var match=this.matchDimen(dim),m=parseFloat(match[1]||\"1\"),unit=match[2];return\"em\"===unit?m:\"ex\"===unit?.43*m:\"pt\"===unit?m/10:\"pc\"===unit?1.2*m:\"px\"===unit?m*this.emPerInch/this.pxPerInch:\"in\"===unit?m*this.emPerInch:\"cm\"===unit?m*this.emPerInch/2.54:\"mm\"===unit?m*this.emPerInch/25.4:\"mu\"===unit?m/18:0},Em:function(m){return Math.abs(m)<6e-4?\"0em\":m.toFixed(3).replace(/\\.?0+$/,\"\")+\"em\"},HLine:function(name,style){null==style&&(style=\"solid\");var top=this.stack.Top();if(top.isa(STACKITEM.array)&&!top.data.length||TEX.Error([\"Misplaced\",\"Misplaced %1\",name]),0==top.table.length)top.frame.push(\"top\");else{for(var lines=top.arraydef.rowlines?top.arraydef.rowlines.split(/ /):[];lines.length<top.table.length;)lines.push(\"none\");lines[top.table.length-1]=style,top.arraydef.rowlines=lines.join(\" \")}},HFill:function(name){var top=this.stack.Top();top.isa(STACKITEM.array)?top.hfill.push(top.data.length):TEX.Error([\"UnsupportedHFill\",\"Unsupported use of %1\",name])},BeginEnd:function(name){var env=this.GetArgument(name),isEnd=!1;env.match(/^\\\\end\\\\/)&&(isEnd=!0,env=env.substr(5)),env.match(/\\\\/i)&&TEX.Error([\"InvalidEnv\",\"Invalid environment name '%1'\",env]);var cmd=this.envFindName(env);cmd||TEX.Error([\"UnknownEnv\",\"Unknown environment '%1'\",env]),isArray(cmd)||(cmd=[cmd]);var end=isArray(cmd[1])?cmd[1][0]:cmd[1],mml=STACKITEM.begin().With({name:env,end:end,parse:this});\"\\\\end\"===name?mml=!isEnd&&isArray(cmd[1])&&this[cmd[1][1]]?this[cmd[1][1]].apply(this,[mml].concat(cmd.slice(2))):STACKITEM.end().With({name:env}):(++this.macroCount>TEX.config.MAXMACROS&&TEX.Error([\"MaxMacroSub2\",\"MathJax maximum substitution count exceeded; is there a recursive latex environment?\"]),cmd[0]&&this[cmd[0]]&&(mml=this[cmd[0]].apply(this,[mml].concat(cmd.slice(2))))),this.Push(mml)},envFindName:function(name){return TEXDEF.environment.hasOwnProperty(name)?TEXDEF.environment[name]:null},Equation:function(begin,row){return row},ExtensionEnv:function(begin,file){this.Extension(begin.name,file,\"environment\")},Array:function(begin,open,close,align,spacing,vspacing,style,raggedHeight){align||(align=this.GetArgument(\"\\\\begin{\"+begin.name+\"}\"));var lines=(\"c\"+align).replace(/[^clr|:]/g,\"\").replace(/[^|:]([|:])+/g,\"$1\");align=(align=align.replace(/[^clr]/g,\"\").split(\"\").join(\" \")).replace(/l/g,\"left\").replace(/r/g,\"right\").replace(/c/g,\"center\");var array=STACKITEM.array().With({arraydef:{columnalign:align,columnspacing:spacing||\"1em\",rowspacing:vspacing||\"4pt\"}});return lines.match(/[|:]/)&&(lines.charAt(0).match(/[|:]/)&&(array.frame.push(\"left\"),array.frame.dashed=\":\"===lines.charAt(0)),lines.charAt(lines.length-1).match(/[|:]/)&&array.frame.push(\"right\"),lines=lines.substr(1,lines.length-2),array.arraydef.columnlines=lines.split(\"\").join(\" \").replace(/[^|: ]/g,\"none\").replace(/\\|/g,\"solid\").replace(/:/g,\"dashed\")),open&&(array.open=this.convertDelimiter(open)),close&&(array.close=this.convertDelimiter(close)),\"D\"===style?array.arraydef.displaystyle=!0:style&&(array.arraydef.displaystyle=!1),\"S\"===style&&(array.arraydef.scriptlevel=1),raggedHeight&&(array.arraydef.useHeight=!1),this.Push(begin),array},AlignedArray:function(begin){var align=this.GetBrackets(\"\\\\begin{\"+begin.name+\"}\");return this.setArrayAlign(this.Array.apply(this,arguments),align)},setArrayAlign:function(array,align){return\"t\"===(align=this.trimSpaces(align||\"\"))?array.arraydef.align=\"baseline 1\":\"b\"===align?array.arraydef.align=\"baseline -1\":\"c\"===align?array.arraydef.align=\"center\":align&&(array.arraydef.align=align),array},convertDelimiter:function(c){return c&&(c=TEXDEF.delimiter.hasOwnProperty(c)?TEXDEF.delimiter[c]:null),null==c?null:(isArray(c)&&(c=c[0]),4===c.length&&(c=String.fromCharCode(parseInt(c,16))),c)},trimSpaces:function(text){if(\"string\"!=typeof text)return text;var TEXT=text.replace(/^\\s+|\\s+$/g,\"\");return TEXT.match(/\\\\$/)&&text.match(/ $/)&&(TEXT+=\" \"),TEXT},nextIsSpace:function(){return this.string.charAt(this.i).match(/\\s/)},GetNext:function(){for(;this.nextIsSpace();)this.i++;return this.string.charAt(this.i)},GetCS:function(){var CS=this.string.slice(this.i).match(/^([a-z]+|.) ?/i);return CS?(this.i+=CS[1].length,CS[1]):(this.i++,\" \")},GetArgument:function(name,noneOK){switch(this.GetNext()){case\"\":return noneOK||TEX.Error([\"MissingArgFor\",\"Missing argument for %1\",name]),null;case\"}\":return noneOK||TEX.Error([\"ExtraCloseMissingOpen\",\"Extra close brace or missing open brace\"]),null;case\"\\\\\":return this.i++,\"\\\\\"+this.GetCS();case\"{\":for(var j=++this.i,parens=1;this.i<this.string.length;)switch(this.string.charAt(this.i++)){case\"\\\\\":this.i++;break;case\"{\":parens++;break;case\"}\":if(0==--parens)return this.string.slice(j,this.i-1)}TEX.Error([\"MissingCloseBrace\",\"Missing close brace\"])}return this.string.charAt(this.i++)},GetBrackets:function(name,def){if(\"[\"!=this.GetNext())return def;for(var j=++this.i,parens=0;this.i<this.string.length;)switch(this.string.charAt(this.i++)){case\"{\":parens++;break;case\"\\\\\":this.i++;break;case\"}\":parens--<=0&&TEX.Error([\"ExtraCloseLooking\",\"Extra close brace while looking for %1\",\"']'\"]);break;case\"]\":if(0==parens)return this.string.slice(j,this.i-1)}TEX.Error([\"MissingCloseBracket\",\"Couldn't find closing ']' for argument to %1\",name])},GetDelimiter:function(name,braceOK){for(;this.nextIsSpace();)this.i++;var c=this.string.charAt(this.i);if(this.i++,this.i<=this.string.length&&(\"\\\\\"==c?c+=this.GetCS(name):\"{\"===c&&braceOK&&(this.i--,c=this.GetArgument(name).replace(/^\\s+/,\"\").replace(/\\s+$/,\"\")),TEXDEF.delimiter.hasOwnProperty(c)))return this.convertDelimiter(c);TEX.Error([\"MissingOrUnrecognizedDelim\",\"Missing or unrecognized delimiter for %1\",name])},GetDimen:function(name){var dimen;if(this.nextIsSpace()&&this.i++,\"{\"==this.string.charAt(this.i)){if((dimen=this.GetArgument(name)).match(/^\\s*([-+]?([.,]\\d+|\\d+([.,]\\d*)?))\\s*(pt|em|ex|mu|px|mm|cm|in|pc)\\s*$/))return dimen.replace(/ /g,\"\").replace(/,/,\".\")}else{var match=(dimen=this.string.slice(this.i)).match(/^\\s*(([-+]?([.,]\\d+|\\d+([.,]\\d*)?))\\s*(pt|em|ex|mu|px|mm|cm|in|pc)) ?/);if(match)return this.i+=match[0].length,match[1].replace(/ /g,\"\").replace(/,/,\".\")}TEX.Error([\"MissingDimOrUnits\",\"Missing dimension or its units for %1\",name])},GetUpTo:function(name,token){for(;this.nextIsSpace();)this.i++;for(var j=this.i,k,c,parens=0;this.i<this.string.length;){switch(k=this.i,c=this.string.charAt(this.i++)){case\"\\\\\":c+=this.GetCS();break;case\"{\":parens++;break;case\"}\":0==parens&&TEX.Error([\"ExtraCloseLooking\",\"Extra close brace while looking for %1\",token]),parens--}if(0==parens&&c==token)return this.string.slice(j,k)}TEX.Error([\"TokenNotFoundForCommand\",\"Couldn't find %1 for %2\",token,name])},ParseArg:function(name){return TEX.Parse(this.GetArgument(name),this.stack.env).mml()},ParseUpTo:function(name,token){return TEX.Parse(this.GetUpTo(name,token),this.stack.env).mml()},InternalMath:function(text,level){var def=this.stack.env.font?{mathvariant:this.stack.env.font}:{},mml=[],i=0,k=0,c,match=\"\",braces=0;if(text.match(/\\\\?[${}\\\\]|\\\\\\(|\\\\(eq)?ref\\s*\\{/)){for(;i<text.length;)if(\"$\"===(c=text.charAt(i++)))\"$\"===match&&0===braces?(mml.push(MML.TeXAtom(TEX.Parse(text.slice(k,i-1),{}).mml())),match=\"\",k=i):\"\"===match&&(k<i-1&&mml.push(this.InternalText(text.slice(k,i-1),def)),match=\"$\",k=i);else if(\"{\"===c&&\"\"!==match)braces++;else if(\"}\"===c)\"}\"===match&&0===braces?(mml.push(MML.TeXAtom(TEX.Parse(text.slice(k,i),{}).mml().With(def))),match=\"\",k=i):\"\"!==match&&braces&&braces--;else if(\"\\\\\"===c)if(\"\"===match&&text.substr(i).match(/^(eq)?ref\\s*\\{/)){var len=RegExp[\"$&\"].length;k<i-1&&mml.push(this.InternalText(text.slice(k,i-1),def)),match=\"}\",k=i-1,i+=len}else\"(\"===(c=text.charAt(i++))&&\"\"===match?(k<i-2&&mml.push(this.InternalText(text.slice(k,i-2),def)),match=\")\",k=i):\")\"===c&&\")\"===match&&0===braces?(mml.push(MML.TeXAtom(TEX.Parse(text.slice(k,i-2),{}).mml())),match=\"\",k=i):c.match(/[${}\\\\]/)&&\"\"===match&&(i--,text=text.substr(0,i-1)+text.substr(i));\"\"!==match&&TEX.Error([\"MathNotTerminated\",\"Math not terminated in text box\"])}return k<text.length&&mml.push(this.InternalText(text.slice(k),def)),null!=level?mml=[MML.mstyle.apply(MML,mml).With({displaystyle:!1,scriptlevel:level})]:mml.length>1&&(mml=[MML.mrow.apply(MML,mml)]),mml},InternalText:function(text,def){return text=text.replace(/^\\s+/,\" \").replace(/\\s+$/,\" \"),MML.mtext(MML.chars(text)).With(def)},setDef:function(name,value){value.isUser=!0,TEXDEF.macros[name]=value},setEnv:function(name,value){value.isUser=!0,TEXDEF.environment[name]=value},SubstituteArgs:function(args,string){for(var text=\"\",newstring=\"\",c,i=0;i<string.length;)\"\\\\\"===(c=string.charAt(i++))?text+=c+string.charAt(i++):\"#\"===c?\"#\"===(c=string.charAt(i++))?text+=c:((!c.match(/[1-9]/)||c>args.length)&&TEX.Error([\"IllegalMacroParam\",\"Illegal macro parameter reference\"]),newstring=this.AddArgs(this.AddArgs(newstring,text),args[c-1]),text=\"\"):text+=c;return this.AddArgs(newstring,text)},AddArgs:function(s1,s2){return s2.match(/^[a-z]/i)&&s1.match(/(^|[^\\\\])(\\\\\\\\)*\\\\[a-z]+$/i)&&(s1+=\" \"),s1.length+s2.length>TEX.config.MAXBUFFER&&TEX.Error([\"MaxBufferSize\",\"MathJax internal buffer size exceeded; is there a recursive macro call?\"]),s1+s2}});TEX.Augment({Stack:STACK,Parse:PARSE,Definitions:TEXDEF,Startup:STARTUP,config:{MAXMACROS:1e4,MAXBUFFER:5120},sourceMenuTitle:[\"TeXCommands\",\"TeX Commands\"],annotationEncoding:\"application/x-tex\",prefilterHooks:MathJax.Callback.Hooks(!0),postfilterHooks:MathJax.Callback.Hooks(!0),Config:function(){this.SUPER(arguments).Config.apply(this,arguments),\"none\"!==this.config.equationNumbers.autoNumber&&(this.config.extensions||(this.config.extensions=[]),this.config.extensions.push(\"AMSmath.js\"))},Translate:function(script){var mml,isError=!1,math=MathJax.HTML.getScript(script),display=null!=script.type.replace(/\\n/g,\" \").match(/(;|\\s|\\n)mode\\s*=\\s*display(;|\\s|\\n|$)/),data={math:math,display:display,script:script},callback=this.prefilterHooks.Execute(data);if(callback)return callback;math=data.math;try{mml=TEX.Parse(math).mml()}catch(err){if(!err.texError)throw err;mml=this.formatError(err,math,display,script),isError=!0}return mml.isa(MML.mtable)&&\"inherit\"===mml.displaystyle&&(mml.displaystyle=display),mml=mml.inferred?MML.apply(MathJax.ElementJax,mml.data):MML(mml),display&&(mml.root.display=\"block\"),isError&&(mml.texError=!0),data.math=mml,this.postfilterHooks.Execute(data)||data.math},prefilterMath:function(math,displaystyle,script){return math},postfilterMath:function(math,displaystyle,script){return this.combineRelations(math.root),math},formatError:function(err,math,display,script){var message=err.message.replace(/\\n.*/,\"\");return HUB.signal.Post([\"TeX Jax - parse error\",message,math,display,script]),MML.Error(message)},Error:function(message){throw isArray(message)&&(message=_.apply(_,message)),HUB.Insert(Error(message),{texError:!0})},Macro:function(name,def,argn){TEXDEF.macros[name]=[\"Macro\"].concat([].slice.call(arguments,1)),TEXDEF.macros[name].isUser=!0},fenced:function(open,mml,close){var mrow=MML.mrow().With({open:open,close:close,texClass:MML.TEXCLASS.INNER});return mrow.Append(MML.mo(open).With({fence:!0,stretchy:!0,symmetric:!0,texClass:MML.TEXCLASS.OPEN})),\"mrow\"===mml.type&&mml.inferred?mrow.Append.apply(mrow,mml.data):mrow.Append(mml),mrow.Append(MML.mo(close).With({fence:!0,stretchy:!0,symmetric:!0,texClass:MML.TEXCLASS.CLOSE})),mrow},fixedFence:function(open,mml,close){var mrow=MML.mrow().With({open:open,close:close,texClass:MML.TEXCLASS.ORD});return open&&mrow.Append(this.mathPalette(open,\"l\")),\"mrow\"===mml.type?mrow.Append.apply(mrow,mml.data):mrow.Append(mml),close&&mrow.Append(this.mathPalette(close,\"r\")),mrow},mathPalette:function(fence,side){\"{\"!==fence&&\"}\"!==fence||(fence=\"\\\\\"+fence);var D=\"{\\\\bigg\"+side+\" \"+fence+\"}\",T=\"{\\\\big\"+side+\" \"+fence+\"}\";return TEX.Parse(\"\\\\mathchoice\"+D+T+T+T,{}).mml()},combineRelations:function(mml){var i,m,m1,m2;for(i=0,m=mml.data.length;i<m;i++)if(mml.data[i]){if(mml.isa(MML.mrow))for(;i+1<m&&(m1=mml.data[i])&&(m2=mml.data[i+1])&&m1.isa(MML.mo)&&m2.isa(MML.mo)&&m1.Get(\"texClass\")===MML.TEXCLASS.REL&&m2.Get(\"texClass\")===MML.TEXCLASS.REL;)m1.variantForm!=m2.variantForm||m1.Get(\"mathvariant\")!=m2.Get(\"mathvariant\")||m1.style!=m2.style||m1.class!=m2.class||m1.id||m2.id?(m1.rspace=m2.lspace=\"0pt\",i++):(m1.Append.apply(m1,m2.data),mml.data.splice(i+1,1),m--);mml.data[i].isToken||this.combineRelations(mml.data[i])}}}),TEX.prefilterHooks.Add((function(data){data.math=TEX.prefilterMath(data.math,data.display,data.script)})),TEX.postfilterHooks.Add((function(data){data.math=TEX.postfilterMath(data.math,data.display,data.script)})),TEX.loadComplete(\"jax.js\")}(MathJax.InputJax.TeX,MathJax.Hub,MathJax.Ajax),MathJax.OutputJax.CommonHTML=MathJax.OutputJax({id:\"CommonHTML\",version:\"2.7.5\",directory:MathJax.OutputJax.directory+\"/CommonHTML\",extensionDir:MathJax.OutputJax.extensionDir+\"/CommonHTML\",autoloadDir:MathJax.OutputJax.directory+\"/CommonHTML/autoload\",fontDir:MathJax.OutputJax.directory+\"/CommonHTML/fonts\",webfontDir:MathJax.OutputJax.fontDir+\"/HTML-CSS\",config:{matchFontHeight:!0,scale:100,minScaleAdjust:50,mtextFontInherit:!1,undefinedFamily:\"STIXGeneral,'Cambria Math','Arial Unicode MS',serif\",EqnChunk:MathJax.Hub.Browser.isMobile?20:100,EqnChunkFactor:1.5,EqnChunkDelay:100,linebreaks:{automatic:!1,width:\"container\"}}}),MathJax.Hub.config.delayJaxRegistration||MathJax.OutputJax.CommonHTML.Register(\"jax/mml\"),MathJax.OutputJax.CommonHTML.loadComplete(\"config.js\"),function(AJAX,HUB,HTML,CHTML){var MML,isArray=MathJax.Object.isArray,EVENT,TOUCH,HOVER,STRUTHEIGHT=1,EFUZZ=.1,HFUZZ=.025,DFUZZ=.025,STYLES={\".mjx-chtml\":{display:\"inline-block\",\"line-height\":0,\"text-indent\":0,\"text-align\":\"left\",\"text-transform\":\"none\",\"font-style\":\"normal\",\"font-weight\":\"normal\",\"font-size\":\"100%\",\"font-size-adjust\":\"none\",\"letter-spacing\":\"normal\",\"word-wrap\":\"normal\",\"word-spacing\":\"normal\",\"white-space\":\"nowrap\",float:\"none\",direction:\"ltr\",\"max-width\":\"none\",\"max-height\":\"none\",\"min-width\":0,\"min-height\":0,border:0,margin:0,padding:\"1px 0\"},\".MJXc-display\":{display:\"block\",\"text-align\":\"center\",margin:\"1em 0\",padding:0},\".mjx-chtml[tabindex]:focus, body :focus .mjx-chtml[tabindex]\":{display:\"inline-table\"},\".mjx-full-width\":{\"text-align\":\"center\",display:\"table-cell!important\",width:\"10000em\"},\".mjx-math\":{display:\"inline-block\",\"border-collapse\":\"separate\",\"border-spacing\":0},\".mjx-math *\":{display:\"inline-block\",\"-webkit-box-sizing\":\"content-box!important\",\"-moz-box-sizing\":\"content-box!important\",\"box-sizing\":\"content-box!important\",\"text-align\":\"left\"},\".mjx-numerator\":{display:\"block\",\"text-align\":\"center\"},\".mjx-denominator\":{display:\"block\",\"text-align\":\"center\"},\".MJXc-stacked\":{height:0,position:\"relative\"},\".MJXc-stacked > *\":{position:\"absolute\"},\".MJXc-bevelled > *\":{display:\"inline-block\"},\".mjx-stack\":{display:\"inline-block\"},\".mjx-op\":{display:\"block\"},\".mjx-under\":{display:\"table-cell\"},\".mjx-over\":{display:\"block\"},\".mjx-over > *\":{\"padding-left\":\"0px!important\",\"padding-right\":\"0px!important\"},\".mjx-under > *\":{\"padding-left\":\"0px!important\",\"padding-right\":\"0px!important\"},\".mjx-stack > .mjx-sup\":{display:\"block\"},\".mjx-stack > .mjx-sub\":{display:\"block\"},\".mjx-prestack > .mjx-presup\":{display:\"block\"},\".mjx-prestack > .mjx-presub\":{display:\"block\"},\".mjx-delim-h > .mjx-char\":{display:\"inline-block\"},\".mjx-surd\":{\"vertical-align\":\"top\"},\".mjx-mphantom *\":{visibility:\"hidden\"},\".mjx-merror\":{\"background-color\":\"#FFFF88\",color:\"#CC0000\",border:\"1px solid #CC0000\",padding:\"2px 3px\",\"font-style\":\"normal\",\"font-size\":\"90%\"},\".mjx-annotation-xml\":{\"line-height\":\"normal\"},\".mjx-menclose > svg\":{fill:\"none\",stroke:\"currentColor\"},\".mjx-mtr\":{display:\"table-row\"},\".mjx-mlabeledtr\":{display:\"table-row\"},\".mjx-mtd\":{display:\"table-cell\",\"text-align\":\"center\"},\".mjx-label\":{display:\"table-row\"},\".mjx-box\":{display:\"inline-block\"},\".mjx-block\":{display:\"block\"},\".mjx-span\":{display:\"inline\"},\".mjx-char\":{display:\"block\",\"white-space\":\"pre\"},\".mjx-itable\":{display:\"inline-table\",width:\"auto\"},\".mjx-row\":{display:\"table-row\"},\".mjx-cell\":{display:\"table-cell\"},\".mjx-table\":{display:\"table\",width:\"100%\"},\".mjx-line\":{display:\"block\",height:0},\".mjx-strut\":{width:0,\"padding-top\":\"1em\"},\".mjx-vsize\":{width:0},\".MJXc-space1\":{\"margin-left\":\".167em\"},\".MJXc-space2\":{\"margin-left\":\".222em\"},\".MJXc-space3\":{\"margin-left\":\".278em\"},\".mjx-chartest\":{display:\"block\",visibility:\"hidden\",position:\"absolute\",top:0,\"line-height\":\"normal\",\"font-size\":\"500%\"},\".mjx-chartest .mjx-char\":{display:\"inline\"},\".mjx-chartest .mjx-box\":{\"padding-top\":\"1000px\"},\".MJXc-processing\":{visibility:\"hidden\",position:\"fixed\",width:0,height:0,overflow:\"hidden\"},\".MJXc-processed\":{display:\"none\"},\".mjx-test\":{\"font-style\":\"normal\",\"font-weight\":\"normal\",\"font-size\":\"100%\",\"font-size-adjust\":\"none\",\"text-indent\":0,\"text-transform\":\"none\",\"letter-spacing\":\"normal\",\"word-spacing\":\"normal\",overflow:\"hidden\",height:\"1px\"},\".mjx-test.mjx-test-display\":{display:\"table!important\"},\".mjx-test.mjx-test-inline\":{display:\"inline!important\",\"margin-right\":\"-1px\"},\".mjx-test.mjx-test-default\":{display:\"block!important\",clear:\"both\"},\".mjx-ex-box\":{display:\"inline-block!important\",position:\"absolute\",overflow:\"hidden\",\"min-height\":0,\"max-height\":\"none\",padding:0,border:0,margin:0,width:\"1px\",height:\"60ex\"},\".mjx-test-inline .mjx-left-box\":{display:\"inline-block\",width:0,float:\"left\"},\".mjx-test-inline .mjx-right-box\":{display:\"inline-block\",width:0,float:\"right\"},\".mjx-test-display .mjx-right-box\":{display:\"table-cell!important\",width:\"10000em!important\",\"min-width\":0,\"max-width\":\"none\",padding:0,border:0,margin:0},\"#MathJax_CHTML_Tooltip\":{\"background-color\":\"InfoBackground\",color:\"InfoText\",border:\"1px solid black\",\"box-shadow\":\"2px 2px 5px #AAAAAA\",\"-webkit-box-shadow\":\"2px 2px 5px #AAAAAA\",\"-moz-box-shadow\":\"2px 2px 5px #AAAAAA\",\"-khtml-box-shadow\":\"2px 2px 5px #AAAAAA\",padding:\"3px 4px\",\"z-index\":401,position:\"absolute\",left:0,top:0,width:\"auto\",height:\"auto\",display:\"none\"}},BIGDIMEN=1e6,MAXREMAP=5,LINEBREAKS={},CONFIG=MathJax.Hub.config;CHTML.Augment({settings:HUB.config.menuSettings,config:{styles:STYLES},Config:function(){this.require||(this.require=[]),this.SUPER(arguments).Config.call(this);var settings=this.settings;settings.scale&&(this.config.scale=settings.scale),this.require.push(this.fontDir+\"/TeX/fontdata.js\"),this.require.push(MathJax.OutputJax.extensionDir+\"/MathEvents.js\"),LINEBREAKS=this.config.linebreaks},Startup:function(){EVENT=MathJax.Extension.MathEvents.Event,TOUCH=MathJax.Extension.MathEvents.Touch,HOVER=MathJax.Extension.MathEvents.Hover,this.ContextMenu=EVENT.ContextMenu,this.Mousedown=EVENT.AltContextMenu,this.Mouseover=HOVER.Mouseover,this.Mouseout=HOVER.Mouseout,this.Mousemove=HOVER.Mousemove;var div=CHTML.addElement(document.body,\"mjx-block\",{style:{display:\"block\",width:\"5in\"}});return this.pxPerInch=div.offsetWidth/5,div.parentNode.removeChild(div),this.TestSpan=CHTML.Element(\"mjx-test\",{style:{left:\"1em\"}},[[\"mjx-left-box\"],[\"mjx-ex-box\"],[\"mjx-right-box\"]]),AJAX.Styles(this.config.styles,[\"InitializeCHTML\",this])},InitializeCHTML:function(){if(this.getDefaultExEm(),!this.defaultEm){var ready=MathJax.Callback();return AJAX.timer.start(AJAX,(function(check){check.time(ready)?HUB.signal.Post([\"CommonHTML Jax - no default em size\"]):(CHTML.getDefaultExEm(),CHTML.defaultEm?ready():setTimeout(check,check.delay))}),this.defaultEmDelay,this.defaultEmTimeout),ready}},defaultEmDelay:100,defaultEmTimeout:1e3,getDefaultExEm:function(){var test=document.body.appendChild(this.TestSpan.cloneNode(!0));test.className+=\" mjx-test-inline mjx-test-default\",this.defaultEm=this.getFontSize(test),this.defaultEx=test.childNodes[1].offsetHeight/60,this.defaultWidth=Math.max(0,test.lastChild.offsetLeft-test.firstChild.offsetLeft-2),document.body.removeChild(test)},getFontSize:window.getComputedStyle?function(node){var style=window.getComputedStyle(node);return parseFloat(style.fontSize)}:function(node){return node.style.pixelLeft},getMaxWidth:window.getComputedStyle?function(node){var style=window.getComputedStyle(node);return\"none\"!==style.maxWidth?parseFloat(style.maxWidth):0}:function(node){var max=node.currentStyle.maxWidth;if(\"none\"!==max){if(max.match(/\\d*px/))return parseFloat(max);var left=node.style.left;return node.style.left=max,max=node.style.pixelLeft,node.style.left=left,max}return 0},loadFont:function(font){HUB.RestartAfter(AJAX.Require(this.fontDir+\"/\"+font))},fontLoaded:function(font){font.match(/-|fontdata/)||(font+=\"-Regular\"),font.match(/\\.js$/)||(font+=\".js\"),MathJax.Callback.Queue([\"Post\",HUB.Startup.signal,\"CommonHTML - font data loaded for \"+font],[\"loadComplete\",AJAX,this.fontDir+\"/\"+font])},Element:function(type,def,content){return\"mjx-\"===type.substr(0,4)&&(def||(def={}),null==def.isMathJax&&(def.isMathJax=!0),def.className?def.className=type+\" \"+def.className:def.className=type,type=\"span\"),this.HTMLElement(type,def,content)},addElement:function(node,type,def,content){return node.appendChild(this.Element(type,def,content))},HTMLElement:HTML.Element,ucMatch:HTML.ucMatch,setScript:HTML.setScript,getNode:function(node,type){for(var name=RegExp(\"\\\\b\"+type+\"\\\\b\"),nodes=[];node;){for(var i=0,m=node.childNodes.length;i<m;i++){var child=node.childNodes[i];if(child){if(name.test(child.className))return child;\"\"===child.id&&nodes.push(child)}}node=nodes.shift()}return null},preTranslate:function(state){var scripts=state.jax[this.id],i,m=scripts.length,script,prev,node,test,jax,ex,em,scale,maxwidth=1e5,relwidth=!1,cwidth=0,linebreak=LINEBREAKS.automatic,width=LINEBREAKS.width;for(linebreak&&((relwidth=!!width.match(/^\\s*(\\d+(\\.\\d*)?%\\s*)?container\\s*$/))?width=width.replace(/\\s*container\\s*/,\"\"):maxwidth=this.defaultWidth,\"\"===width&&(width=\"100%\")),i=0;i<m;i++)if((script=scripts[i]).parentNode&&((prev=script.previousSibling)&&prev.className&&\"mjx-chtml\"===String(prev.className).substr(0,9)&&prev.parentNode.removeChild(prev),script.MathJax.preview&&(script.MathJax.preview.style.display=\"none\"),jax=script.MathJax.elementJax)){if(jax.CHTML={display:\"block\"===jax.root.Get(\"display\"),preview:(jax.CHTML||{}).preview},node=CHTML.Element(\"mjx-chtml\",{id:jax.inputID+\"-Frame\",className:\"MathJax_CHTML\",isMathJax:!0,jaxID:this.id,oncontextmenu:EVENT.Menu,onmousedown:EVENT.Mousedown,onmouseover:EVENT.Mouseover,onmouseout:EVENT.Mouseout,onmousemove:EVENT.Mousemove,onclick:EVENT.Click,ondblclick:EVENT.DblClick,onkeydown:EVENT.Keydown,tabIndex:HUB.getTabOrder(jax)}),jax.CHTML.display){var NODE=CHTML.Element(\"mjx-chtml\",{className:\"MJXc-display\",isMathJax:!1});NODE.appendChild(node),node=NODE}HUB.Browser.noContextMenu&&(node.ontouchstart=TOUCH.start,node.ontouchend=TOUCH.end),node.className+=\" MJXc-processing\",script.parentNode.insertBefore(node,script),(test=this.TestSpan.cloneNode(!0)).className+=\" mjx-test-\"+(jax.CHTML.display?\"display\":\"inline\"),script.parentNode.insertBefore(test,script)}for(i=0;i<m;i++)(script=scripts[i]).parentNode&&(test=script.previousSibling,(jax=script.MathJax.elementJax)&&(em=CHTML.getFontSize(test),ex=test.childNodes[1].offsetHeight/60,cwidth=Math.max(0,jax.CHTML.display?test.lastChild.offsetWidth-1:test.lastChild.offsetLeft-test.firstChild.offsetLeft-2),0!==ex&&\"NaN\"!==ex||(ex=this.defaultEx,cwidth=this.defaultWidth),0!==cwidth||jax.CHTML.display||(cwidth=this.defaultWidth),relwidth&&(maxwidth=cwidth),scale=this.config.matchFontHeight?ex/this.TEX.x_height/em:1,scale=Math.floor(Math.max(this.config.minScaleAdjust/100,scale)*this.config.scale),jax.CHTML.scale=scale/100,jax.CHTML.fontSize=scale+\"%\",jax.CHTML.outerEm=em,jax.CHTML.em=this.em=em*scale/100,jax.CHTML.ex=ex,jax.CHTML.cwidth=cwidth/this.em,jax.CHTML.lineWidth=linebreak?this.length2em(width,maxwidth/this.em,1):maxwidth));for(i=0;i<m;i++)(script=scripts[i]).parentNode&&(jax=script.MathJax.elementJax)&&(script.parentNode.removeChild(script.previousSibling),script.MathJax.preview&&(script.MathJax.preview.style.display=\"\"));state.CHTMLeqn=state.CHTMLlast=0,state.CHTMLi=-1,state.CHTMLchunk=this.config.EqnChunk,state.CHTMLdelay=!1},Translate:function(script,state){if(script.parentNode){state.CHTMLdelay&&(state.CHTMLdelay=!1,HUB.RestartAfter(MathJax.Callback.Delay(this.config.EqnChunkDelay)));var jax=script.MathJax.elementJax,math=jax.root,node=document.getElementById(jax.inputID+\"-Frame\");if(node){this.getMetrics(jax),1!==this.scale&&(node.style.fontSize=jax.CHTML.fontSize),this.initCHTML(math,node),this.savePreview(script),this.CHTMLnode=node;try{math.setTeXclass(),math.toCommonHTML(node)}catch(err){for(;node.firstChild;)node.removeChild(node.firstChild);throw delete this.CHTMLnode,this.restorePreview(script),err}delete this.CHTMLnode,this.restorePreview(script),jax.CHTML.display&&(node=node.parentNode),node.className=node.className.replace(/ [^ ]+$/,\"\"),node.className+=\" MJXc-processed\",script.MathJax.preview&&(jax.CHTML.preview=script.MathJax.preview,delete script.MathJax.preview),state.CHTMLeqn+=state.i-state.CHTMLi,state.CHTMLi=state.i,state.CHTMLeqn>=state.CHTMLlast+state.CHTMLchunk&&(this.postTranslate(state),state.CHTMLchunk=Math.floor(state.CHTMLchunk*this.config.EqnChunkFactor),state.CHTMLdelay=!0)}}},initCHTML:function(math,node){},savePreview:function(script){var preview=script.MathJax.preview;preview&&preview.parentNode&&(script.MathJax.tmpPreview=document.createElement(\"span\"),preview.parentNode.replaceChild(script.MathJax.tmpPreview,preview))},restorePreview:function(script){var tmpPreview=script.MathJax.tmpPreview;tmpPreview&&(tmpPreview.parentNode.replaceChild(script.MathJax.preview,tmpPreview),delete script.MathJax.tmpPreview)},getMetrics:function(jax){var data=jax.CHTML;this.jax=jax,this.em=data.em,this.outerEm=data.outerEm,this.scale=data.scale,this.cwidth=data.cwidth,this.linebreakWidth=data.lineWidth},postTranslate:function(state){for(var scripts=state.jax[this.id],i=state.CHTMLlast,m=state.CHTMLeqn;i<m;i++){var script=scripts[i];if(script&&script.MathJax.elementJax){script.previousSibling.className=script.previousSibling.className.replace(/ [^ ]+$/,\"\");var data=script.MathJax.elementJax.CHTML;data.preview&&(data.preview.innerHTML=\"\",script.MathJax.preview=data.preview,delete data.preview)}}state.CHTMLlast=state.CHTMLeqn},getJaxFromMath:function(math){math.parentNode.className.match(/MJXc-display/)&&(math=math.parentNode);do{math=math.nextSibling}while(math&&\"script\"!==math.nodeName.toLowerCase());return HUB.getJaxFor(math)},getHoverSpan:function(jax,math){return jax.root.CHTMLnodeElement()},getHoverBBox:function(jax,span,math){var bbox=jax.root.CHTML,em=jax.CHTML.outerEm,BBOX={w:bbox.w*em,h:bbox.h*em,d:bbox.d*em};return bbox.width&&(BBOX.width=bbox.width),BBOX},Zoom:function(jax,span,math,Mw,Mh){this.getMetrics(jax);var node=CHTML.addElement(span,\"mjx-chtml\",{style:{\"font-size\":Math.floor(100*CHTML.scale)+\"%\"},isMathJax:!1});CHTML.CHTMLnode=node,this.idPostfix=\"-zoom\",jax.root.toCommonHTML(node),this.idPostfix=\"\";var style=node.style,bbox=jax.root.CHTML;bbox.t>bbox.h&&(style.marginTop=CHTML.Em(bbox.t-bbox.h)),bbox.b>bbox.d&&(style.marginBottom=CHTML.Em(bbox.b-bbox.d)),bbox.l<0&&(style.paddingLeft=CHTML.Em(-bbox.l)),bbox.r>bbox.w&&(style.marginRight=CHTML.Em(bbox.r-bbox.w)),style.position=\"absolute\";var zW=node.offsetWidth,zH=node.offsetHeight,mH=math.firstChild.offsetHeight,mW=math.firstChild.offsetWidth;return node.style.position=\"\",{Y:-EVENT.getBBox(span).h,mW:mW,mH:mH,zW:zW,zH:zH}},Remove:function(jax){var node=document.getElementById(jax.inputID+\"-Frame\");node&&jax.CHTML.display&&(node=node.parentNode),node&&node.parentNode.removeChild(node),delete jax.CHTML},ID:0,idPostfix:\"\",GetID:function(){return this.ID++,this.ID},MATHSPACE:{veryverythinmathspace:1/18,verythinmathspace:2/18,thinmathspace:3/18,mediummathspace:4/18,thickmathspace:5/18,verythickmathspace:6/18,veryverythickmathspace:7/18,negativeveryverythinmathspace:-1/18,negativeverythinmathspace:-2/18,negativethinmathspace:-3/18,negativemediummathspace:-4/18,negativethickmathspace:-5/18,negativeverythickmathspace:-6/18,negativeveryverythickmathspace:-7/18,thin:.04,medium:.06,thick:.1,infinity:1e6},SPACECLASS:{thinmathspace:\"MJXc-space1\",mediummathspace:\"MJXc-space2\",thickmathspace:\"MJXc-space3\"},pxPerInch:96,em:16,maxStretchyParts:1e3,FONTDEF:{},TEXDEF:{x_height:.442,quad:1,num1:.676508,num2:.393732,num3:.44373,denom1:.685951,denom2:.344841,sup1:.412892,sup2:.362892,sup3:.288888,sub1:.15,sub2:.247217,sup_drop:.386108,sub_drop:.05,delim1:2.39,delim2:1,axis_height:.25,rule_thickness:.06,big_op_spacing1:.111111,big_op_spacing2:.166666,big_op_spacing3:.2,big_op_spacing4:.45,big_op_spacing5:.1,surd_height:.075,scriptspace:.05,nulldelimiterspace:.12,delimiterfactor:901,delimitershortfall:.3,min_rule_thickness:1.25},isChar:function(text){if(1===text.length)return!0;if(2!==text.length)return!1;var n=text.charCodeAt(0);return n>=55296&&n<56319},unicodeChar:function(n){return n<65535?String.fromCharCode(n):(n-=65536,String.fromCharCode(55296+(n>>10))+String.fromCharCode(56320+(1023&n)))},getUnicode:function(string){var n=string.text.charCodeAt(string.i);return string.i++,n>=55296&&n<56319&&(n=(n-55296<<10)+(string.text.charCodeAt(string.i)-56320)+65536,string.i++),n},getCharList:function(variant,n){var id,M,cache=variant.cache,nn=n;if(cache[n])return cache[n];if(n>65535&&this.FONTDATA.RemapPlane1){var nv=this.FONTDATA.RemapPlane1(n,variant);n=nv.n,variant=nv.variant}var RANGES=this.FONTDATA.RANGES,VARIANT=this.FONTDATA.VARIANT;if(n>=RANGES[0].low&&n<=RANGES[RANGES.length-1].high)for(id=0,M=RANGES.length;id<M;id++)if(\"alpha\"!==RANGES[id].name||!variant.noLowerCase){var N=variant[\"offset\"+RANGES[id].offset];if(N&&n>=RANGES[id].low&&n<=RANGES[id].high){RANGES[id].remap&&RANGES[id].remap[n]?n=N+RANGES[id].remap[n]:(n=n-RANGES[id].low+N,RANGES[id].add&&(n+=RANGES[id].add)),variant[\"variant\"+RANGES[id].offset]&&(variant=VARIANT[variant[\"variant\"+RANGES[id].offset]]);break}}return cache[nn]=this.remapChar(variant,n,0),cache[nn]},remapChar:function(variant,n,N){var list=[],VARIANT=this.FONTDATA.VARIANT;if(variant.remap&&variant.remap[n]?(n=variant.remap[n],variant.remap.variant&&(variant=VARIANT[variant.remap.variant])):this.FONTDATA.REMAP[n]&&!variant.noRemap&&(n=this.FONTDATA.REMAP[n]),isArray(n)&&(n[2]&&(N=5),variant=VARIANT[n[1]],n=n[0]),\"string\"==typeof n)for(var string={text:n,i:0,length:n.length};string.i<string.length;){n=this.getUnicode(string);var chars=this.getCharList(variant,n);chars&&list.push.apply(list,chars)}else variant.cache[n]?list=variant.cache[n]:variant.cache[n]=list=this.lookupChar(variant,n,N);return list},lookupChar:function(variant,n,N){for(var VARIANT=variant;variant;){for(var i=0,m=variant.fonts.length;i<m;i++){var font=this.FONTDATA.FONTS[variant.fonts[i]];\"string\"==typeof font&&this.loadFont(font);var C=font[n];if(C)return this.fixChar(C,n),C[5].space?[{type:\"space\",w:C[2],font:font}]:[{type:\"char\",font:font,n:n}];font.Extra&&this.findBlock(font,n)}if((variant=this.FONTDATA.VARIANT[variant.chain])&&variant.remap&&variant.remap[n]&&N++<5)return this.remapChar(variant,n,N)}return[this.unknownChar(VARIANT,n)]},fixChar:function(C,n){return 5===C.length&&(C[5]={}),null==C.c&&(C[0]/=1e3,C[1]/=1e3,C[2]/=1e3,C[3]/=1e3,C[4]/=1e3,C.c=this.unicodeChar(n)),C},findBlock:function(font,n){for(var extra=font.Extra,name=font.file,file,i=0,m=extra.length;i<m;i++)if(\"number\"==typeof extra[i]){if(n===extra[i]){file=name;break}}else{if(n<extra[i][0])return;if(n<=extra[i][1]){file=name;break}}file&&(delete font.Extra,this.loadFont(name))},unknownChar:function(variant,n){HUB.signal.Post([\"CommonHTML Jax - unknown char\",n,variant]);var id=\"\";variant.bold&&(id+=\"B\"),variant.italic&&(id+=\"I\");var unknown=this.FONTDATA.UNKNOWN[id||\"R\"];return unknown[n]||this.getUnknownChar(unknown,n),{type:\"unknown\",n:n,font:unknown}},getUnknownChar:function(unknown,n){var c=this.unicodeChar(n),HDW=this.getHDW(c,unknown.className);unknown[n]=[.8,.2,HDW.w,0,HDW.w,{a:Math.max(0,(HDW.h-HDW.d)/2),h:HDW.h,d:HDW.d}],unknown[n].c=c},styledText:function(variant,text){HUB.signal.Post([\"CommonHTML Jax - styled text\",text,variant]);var style=variant.style,id=\"_\"+(style[\"font-family\"]||variant.className||\"\");style[\"font-weight\"]&&(id+=\"_\"+style[\"font-weight\"]),style[\"font-style\"]&&(id+=\"_\"+style[\"font-style\"]),this.STYLEDTEXT||(this.STYLEDTEXT={}),this.STYLEDTEXT[id]||(this.STYLEDTEXT[id]={className:variant.className||\"\"});var unknown=this.STYLEDTEXT[id];if(!unknown[\"_\"+text]){var HDW=this.getHDW(text,variant.className||\"\",style);unknown[\"_\"+text]=[.8,.2,HDW.w,0,HDW.w,{a:Math.max(0,(HDW.h-HDW.d)/2),h:HDW.h,d:HDW.d}],unknown[\"_\"+text].c=text}return{type:\"unknown\",n:\"_\"+text,font:unknown,style:style,rscale:variant.rscale}},getHDW:function(c,name,styles){var test1=CHTML.addElement(CHTML.CHTMLnode,\"mjx-chartest\",{className:name},[[\"mjx-char\",{style:styles},[c]]]),test2=CHTML.addElement(CHTML.CHTMLnode,\"mjx-chartest\",{className:name},[[\"mjx-char\",{style:styles},[c,[\"mjx-box\"]]]]);test1.firstChild.style.fontSize=test2.firstChild.style.fontSize=\"\";var em=5*CHTML.em,H1=test1.offsetHeight,H2=test2.offsetHeight,W=test1.offsetWidth;if(CHTML.CHTMLnode.removeChild(test1),CHTML.CHTMLnode.removeChild(test2),0===H2){em=5*CHTML.defaultEm;var test=document.body.appendChild(document.createElement(\"div\"));test.appendChild(test1),test.appendChild(test2),H1=test1.offsetHeight,H2=test2.offsetHeight,W=test1.offsetWidth,document.body.removeChild(test)}var d=(H2-1e3)/em,w,h;return{h:H1/em-d,d:d,w:W/em}},addCharList:function(node,list,bbox){for(var state={text:\"\",className:null,a:0},i=0,m=list.length;i<m;i++){var item=list[i];this.charList[item.type]&&this.charList[item.type](item,node,bbox,state,m)}\"\"!==state.text&&(node.childNodes.length?this.charList.flushText(node,state):(HTML.addText(node,state.text),node.className?node.className+=\" \"+state.className:node.className=state.className)),bbox.b=state.flushed?0:bbox.a},charList:{char:function(item,node,bbox,state,m){var font=item.font,remap=(font.remapCombining||{})[item.n];font.className===state.className?remap=null:(state.className||remap&&\"\"!==state.text)&&this.flushText(node,state),state.a||(state.a=font.centerline/1e3),state.a>(bbox.a||0)&&(bbox.a=state.a),state.className=font.className;var C=font[item.n];if(remap){var FONT=font;isArray(remap)&&(FONT=CHTML.FONTDATA.FONTS[remap[1]],remap=remap[0],\"string\"==typeof FONT&&CHTML.loadFont(FONT)),FONT[item.n]&&CHTML.fixChar(FONT[item.n],item.n),C=CHTML.fixChar(FONT[remap],remap),state.className=FONT.className}if(state.text+=C.c,bbox.h<C[0]+.025&&(bbox.t=bbox.h=C[0]+.025),bbox.d<C[1]+.025&&(bbox.b=bbox.d=C[1]+.025),bbox.l>bbox.w+C[3]&&(bbox.l=bbox.w+C[3]),bbox.r<bbox.w+C[4]&&(bbox.r=bbox.w+C[4]),bbox.w+=C[2]*(item.rscale||1),1==m&&font.skew&&font.skew[item.n]&&(bbox.skew=font.skew[item.n]),C[5]&&C[5].rfix&&(this.flushText(node,state).style.marginRight=CHTML.Em(C[5].rfix/1e3)),remap){var chr=this.flushText(node,state),r=(FONT[item.n]||font[item.n])[4]-(C[4]-C[2]);chr.style.marginLeft=CHTML.Em(-C[2]-r),r<0&&(chr.style.marginRight=CHTML.Em(-r))}},space:function(item,node,bbox,state){item.w&&(\"\"===state.text&&(state.className=item.font.className),this.flushText(node,state).style.marginRight=CHTML.Em(item.w),bbox.w+=item.w)},unknown:function(item,node,bbox,state){this.char(item,node,bbox,state,0);var C=item.font[item.n];C[5].a&&(state.a=C[5].a,(null==bbox.a||state.a>bbox.a)&&(bbox.a=state.a)),node=this.flushText(node,state,item.style),C[2]<3&&(node.style.width=CHTML.Em(C[2]))},flushText:function(node,state,style){return node=CHTML.addElement(node,\"mjx-charbox\",{className:state.className,style:style},[state.text]),state.a&&(node.style.paddingBottom=CHTML.Em(state.a)),state.text=\"\",state.className=null,state.a=0,state.flushed=!0,node}},handleText:function(node,text,variant,bbox){0===node.childNodes.length&&(CHTML.addElement(node,\"mjx-char\"),bbox=CHTML.BBOX.empty(bbox)),\"string\"==typeof variant&&(variant=this.FONTDATA.VARIANT[variant]),variant||(variant=this.FONTDATA.VARIANT[MML.VARIANT.NORMAL]);var string={text:text,i:0,length:text.length},list=[];if(variant.style&&string.length)list.push(this.styledText(variant,text));else for(;string.i<string.length;){var n=this.getUnicode(string);list.push.apply(list,this.getCharList(variant,n))}return list.length&&this.addCharList(node.firstChild,list,bbox),bbox.clean(),bbox.d<0&&(bbox.D=bbox.d,bbox.d=0),bbox.h-bbox.a&&(node.firstChild.style[bbox.h-bbox.a<0?\"marginTop\":\"paddingTop\"]=this.EmRounded(bbox.h-bbox.a)),bbox.d>-bbox.b&&(node.firstChild.style.paddingBottom=this.EmRounded(bbox.d+bbox.b)),bbox},createDelimiter:function(node,code,HW,BBOX,font){if(!code){var bbox=this.BBOX.zero();return bbox.w=bbox.r=this.TEX.nulldelimiterspace,CHTML.addElement(node,\"mjx-box\",{style:{width:bbox.w}}),bbox}HW instanceof Array||(HW=[HW,HW]);var hw=HW[1];HW=HW[0];for(var delim={alias:code};delim.alias;)code=delim.alias,(delim=this.FONTDATA.DELIMITERS[code])||(delim={HW:[0,this.FONTDATA.VARIANT[MML.VARIANT.NORMAL]]});delim.load&&HUB.RestartAfter(AJAX.Require(this.fontDir+\"/TeX/fontdata-\"+delim.load+\".js\"));for(var i=0,m=delim.HW.length;i<m;i++)if(delim.HW[i][0]>=HW-.01||i==m-1&&!delim.stretch)return delim.HW[i][3]&&(code=delim.HW[i][3]),(bbox=this.createChar(node,[code,delim.HW[i][1]],delim.HW[i][2]||1,font)).offset=.6*bbox.w,BBOX&&(bbox.scale=BBOX.scale,BBOX.rscale=BBOX.rscale),bbox;return delim.stretch?this[\"extendDelimiter\"+delim.dir](node,hw,delim.stretch,BBOX,font):bbox},extendDelimiterV:function(node,H,delim,BBOX,font){node=CHTML.addElement(node,\"mjx-delim-v\");var tmp=CHTML.Element(\"span\"),top,bot,mid,ext,tbox,bbox,mbox,ebox,k=1,c;tbox=this.createChar(tmp,delim.top||delim.ext,1,font),top=tmp.removeChild(tmp.firstChild),bbox=this.createChar(tmp,delim.bot||delim.ext,1,font),bot=tmp.removeChild(tmp.firstChild),mbox=ebox=CHTML.BBOX.zero();var h=tbox.h+tbox.d+bbox.h+bbox.d-.1;if(node.appendChild(top),delim.mid&&(mbox=this.createChar(tmp,delim.mid,1,font),mid=tmp.removeChild(tmp.firstChild),h+=mbox.h+mbox.d,k=2),delim.min&&H<h*delim.min&&(H=h*delim.min),H>h){ebox=this.createChar(tmp,delim.ext,1,font),ext=tmp.removeChild(tmp.firstChild);var eH=ebox.h+ebox.d,eh=eH-.1,n=Math.min(Math.ceil((H-h)/(k*eh)),this.maxStretchyParts);delim.fullExtenders?H=n*k*eh+h:eh=(H-h)/(k*n),c=ebox.d+ebox.a-eH/2,ext.style.margin=ext.style.padding=\"\",ext.style.lineHeight=CHTML.Em(eh),ext.style.marginBottom=CHTML.Em(c-.05/k),ext.style.marginTop=CHTML.Em(-c-.05/k);for(var TEXT=ext.textContent,text=\"\\n\"+TEXT;--n>0;)TEXT+=text;ext.textContent=TEXT,node.appendChild(ext),delim.mid&&(node.appendChild(mid),node.appendChild(ext.cloneNode(!0)))}else c=(H-h-.1)/k,top.style.marginBottom=CHTML.Em(c+parseFloat(top.style.marginBottom||\"0\")),delim.mid&&node.appendChild(mid),bot.style.marginTop=CHTML.Em(c+parseFloat(bot.style.marginTop||\"0\"));node.appendChild(bot);var vbox=CHTML.BBOX({w:Math.max(tbox.w,ebox.w,bbox.w,mbox.w),l:Math.min(tbox.l,ebox.l,bbox.l,mbox.l),r:Math.max(tbox.r,ebox.r,bbox.r,mbox.r),h:H-bbox.d,d:bbox.d,t:H-bbox.d,b:bbox.d});return vbox.offset=.5*vbox.w,BBOX&&(vbox.scale=BBOX.scale,vbox.rscale=BBOX.rscale),vbox},extendDelimiterH:function(node,W,delim,BBOX,font){node=CHTML.addElement(node,\"mjx-delim-h\");var tmp=CHTML.Element(\"span\"),left,right,mid,ext,ext2,lbox,rbox,mbox,ebox,k=1;lbox=this.createChar(tmp,delim.left||delim.rep,1,font),left=tmp.removeChild(tmp.firstChild),rbox=this.createChar(tmp,delim.right||delim.rep,1,font),right=tmp.removeChild(tmp.firstChild),ebox=this.createChar(tmp,delim.rep,1,font),ext=tmp.removeChild(tmp.firstChild),left.style.marginLeft=CHTML.Em(-lbox.l),right.style.marginRight=CHTML.Em(rbox.r-rbox.w),node.appendChild(left);var hbox=CHTML.BBOX.zero();hbox.h=Math.max(lbox.h,rbox.h,ebox.h),hbox.d=Math.max(lbox.D||lbox.d,rbox.D||rbox.d,ebox.D||ebox.d);var w=lbox.r-lbox.l+(rbox.r-rbox.l)-.1;if(delim.mid&&(mbox=this.createChar(tmp,delim.mid,1,font),(mid=tmp.removeChild(tmp.firstChild)).style.marginleft=CHTML.Em(-mbox.l),mid.style.marginRight=CHTML.Em(mbox.r-mbox.w),w+=mbox.r-mbox.l+.1,k=2,mbox.h>hbox.h&&(hbox.h=mbox.h),mbox.d>hbox.d&&(hbox.d=mbox.d)),delim.min&&W<w*delim.min&&(W=w*delim.min),hbox.w=hbox.r=W,W>w){var eW=ebox.r-ebox.l,ew=eW-.1,n=Math.min(Math.ceil((W-w)/(k*ew)),this.maxStretchyParts);delim.fullExtenders?W=n*k*ew+w:ew=(W-w)/(k*n);var c=(eW-ew+.1/k)/2;ext.style.marginLeft=CHTML.Em(-ebox.l-c),ext.style.marginRight=CHTML.Em(ebox.r-ebox.w+c),ext.style.letterSpacing=CHTML.Em(-(ebox.w-ew)),left.style.marginRight=CHTML.Em(lbox.r-lbox.w),right.style.marginleft=CHTML.Em(-rbox.l);for(var TEXT=ext.textContent,text=TEXT;--n>0;)TEXT+=text;ext.textContent=TEXT,node.appendChild(ext),delim.mid&&(node.appendChild(mid),ext2=node.appendChild(ext.cloneNode(!0)))}else c=(W-w-.1/k)/2,left.style.marginRight=CHTML.Em(lbox.r-lbox.w+c),delim.mid&&node.appendChild(mid),right.style.marginLeft=CHTML.Em(-rbox.l+c);return node.appendChild(right),this.adjustHeights([left,ext,mid,ext2,right],[lbox,ebox,mbox,ebox,rbox],hbox),BBOX&&(hbox.scale=BBOX.scale,hbox.rscale=BBOX.rscale),hbox},adjustHeights:function(nodes,box,bbox){var T=bbox.h,B=bbox.d;bbox.d<0&&(B=-bbox.d,bbox.D=bbox.d,bbox.d=0);for(var i=0,m=nodes.length;i<m;i++)nodes[i]&&(nodes[i].style.paddingTop=CHTML.Em(T-box[i].a),nodes[i].style.paddingBottom=CHTML.Em(B+box[i].a),nodes[i].style.marginTop=nodes[i].style.marginBottom=0)},createChar:function(node,data,scale,font){var text=\"\",variant={fonts:[data[1]],noRemap:!0,cache:{}};if(font&&font===MML.VARIANT.BOLD&&this.FONTDATA.FONTS[data[1]+\"-Bold\"]&&(variant.fonts=[data[1]+\"-Bold\",data[1]]),\"string\"!=typeof data[1]&&(variant=data[1]),data[0]instanceof Array)for(var i=0,m=data[0].length;i<m;i++)text+=String.fromCharCode(data[0][i]);else text=String.fromCharCode(data[0]);data[4]&&(scale*=data[4]);var bbox=this.handleText(node,text,variant),style=node.firstChild.style;return 1!==scale&&(style.fontSize=this.Percent(scale)),data[2]&&(style.paddingLeft=this.Em(data[2]),bbox.w+=data[2],bbox.r+=data[2]),data[3]&&(style.verticalAlign=this.Em(data[3]),bbox.h+=data[3],bbox.h<0&&(bbox.h=0)),data[5]&&(style.marginTop=this.Em(data[5]),bbox.h+=data[5],bbox.t+=data[5]),data[6]&&(style.marginBottom=this.Em(data[6]),bbox.d+=data[6],bbox.b+=data[6]),bbox},length2em:function(length,size,scale){if(\"string\"!=typeof length&&(length=length.toString()),\"\"===length)return\"\";if(length===MML.SIZE.NORMAL)return 1;if(length===MML.SIZE.BIG)return 2;if(length===MML.SIZE.SMALL)return.71;if(this.MATHSPACE[length])return this.MATHSPACE[length];var match=length.match(/^\\s*([-+]?(?:\\.\\d+|\\d+(?:\\.\\d*)?))?(pt|em|ex|mu|px|pc|in|mm|cm|%)?/),m=parseFloat(match[1]||\"1\"),unit=match[2];return null==size&&(size=1),scale||(scale=1),scale=1/this.em/scale,\"em\"===unit?m:\"ex\"===unit?m*this.TEX.x_height:\"%\"===unit?m/100*size:\"px\"===unit?m*scale:\"pt\"===unit?m/10:\"pc\"===unit?1.2*m:(scale*=this.pxPerInch,\"in\"===unit?m*scale:\"cm\"===unit?m*scale/2.54:\"mm\"===unit?m*scale/25.4:\"mu\"===unit?m/18:m*size)},thickness2em:function(length,scale){var thick=CHTML.TEX.rule_thickness/(scale||1);return length===MML.LINETHICKNESS.MEDIUM?thick:length===MML.LINETHICKNESS.THIN?.67*thick:length===MML.LINETHICKNESS.THICK?1.67*thick:this.length2em(length,thick,scale)},Em:function(m){return Math.abs(m)<.001?\"0\":m.toFixed(3).replace(/\\.?0+$/,\"\")+\"em\"},EmRounded:function(m){return m=(Math.round(m*CHTML.em)+.05)/CHTML.em,Math.abs(m)<6e-4?\"0em\":m.toFixed(3).replace(/\\.?0+$/,\"\")+\"em\"},unEm:function(m){return parseFloat(m)},Px:function(m,M){return m*=this.em,M&&m<M&&(m=M),Math.abs(m)<.1?\"0\":m.toFixed(1).replace(/\\.0$/,\"\")+\"px\"},Percent:function(m){return(100*m).toFixed(1).replace(/\\.?0+$/,\"\")+\"%\"},Transform:function(node,trans,origin){var style=node.style;style.transform=style.WebkitTransform=style.MozTransform=style[\"-ms-transform\"]=trans,origin&&(style.transformOrigin=style.WebkitTransformOrigin=style.MozTransformOrigin=style[\"-ms-transform-origin\"]=origin)},arrayEntry:function(a,i){return a[Math.max(0,Math.min(i,a.length-1))]},removeStyles:[\"fontSize\",\"fontFamily\",\"fontWeight\",\"fontStyle\",\"fontVariant\",\"font\"]}),CHTML.BBOX=MathJax.Object.Subclass({Init:function(def){for(var id in def)def.hasOwnProperty(id)&&(this[id]=def[id])},clean:function(){-1e6===this.h&&(this.h=0),-1e6===this.d&&(this.d=0),1e6===this.l&&(this.l=0),-1e6===this.r&&(this.r=0),-1e6===this.t&&(this.t=0),-1e6===this.b&&(this.b=0),this.D&&this.d>0&&delete this.D},rescale:function(scale){this.w*=scale,this.h*=scale,this.d*=scale,this.l*=scale,this.r*=scale,this.t*=scale,this.b*=scale,this.L&&(this.L*=scale),this.R&&(this.R*=scale),this.D&&(this.D*=scale)},combine:function(cbox,x,y){cbox.X=x,cbox.Y=y;var scale=cbox.rscale;x+scale*cbox.r>this.r&&(this.r=x+scale*cbox.r),x+scale*cbox.l<this.l&&(this.l=x+scale*cbox.l),x+scale*(cbox.w+(cbox.L||0)+(cbox.R||0))>this.w&&(this.w=x+scale*(cbox.w+(cbox.L||0)+(cbox.R||0))),y+scale*cbox.h>this.h&&(this.h=y+scale*cbox.h),cbox.D&&(null==this.D||scale*cbox.D-y>this.D)&&scale*cbox.D>this.d?this.D=scale*cbox.D-y:null==cbox.D&&this.D&&delete this.D,scale*cbox.d-y>this.d&&(this.d=scale*cbox.d-y),y+scale*cbox.t>this.t&&(this.t=y+scale*cbox.t),scale*cbox.b-y>this.b&&(this.b=scale*cbox.b-y)},append:function(cbox){var scale=cbox.rscale,x=this.w;x+scale*cbox.r>this.r&&(this.r=x+scale*cbox.r),x+scale*cbox.l<this.l&&(this.l=x+scale*cbox.l),this.w+=scale*(cbox.w+(cbox.L||0)+(cbox.R||0)),scale*cbox.h>this.h&&(this.h=scale*cbox.h),cbox.D&&(null==this.D||scale*cbox.D>this.D)&&scale*cbox.D>this.d?this.D=scale*cbox.D:null==cbox.D&&this.D&&delete this.D,scale*cbox.d>this.d&&(this.d=scale*cbox.d),scale*cbox.t>this.t&&(this.t=scale*cbox.t),scale*cbox.b>this.b&&(this.b=scale*cbox.b)},updateFrom:function(cbox){this.h=cbox.h,this.d=cbox.d,this.w=cbox.w,this.r=cbox.r,this.l=cbox.l,this.t=cbox.t,this.b=cbox.b,cbox.pwidth&&(this.pwidth=cbox.pwidth),cbox.D?this.D=cbox.D:delete this.D},adjust:function(m,x,X,M){this[x]+=CHTML.length2em(m,1,this.scale),null==M?this[x]>this[X]&&(this[X]=this[x]):this[X]<M&&(this[X]=M)}},{zero:function(){return CHTML.BBOX({h:0,d:0,w:0,l:0,r:0,t:0,b:0,scale:1,rscale:1})},empty:function(bbox){return bbox||(bbox=CHTML.BBOX.zero()),bbox.h=bbox.d=bbox.r=bbox.t=bbox.b=-1e6,bbox.w=0,bbox.l=1e6,delete bbox.pwidth,bbox},styleAdjust:[[\"borderTopWidth\",\"h\",\"t\"],[\"borderRightWidth\",\"w\",\"r\"],[\"borderBottomWidth\",\"d\",\"b\"],[\"borderLeftWidth\",\"w\",\"l\",0],[\"paddingTop\",\"h\",\"t\"],[\"paddingRight\",\"w\",\"r\"],[\"paddingBottom\",\"d\",\"b\"],[\"paddingLeft\",\"w\",\"l\",0]]}),MathJax.Hub.Register.StartupHook(\"mml Jax Ready\",(function(){(MML=MathJax.ElementJax.mml).mbase.Augment({toCommonHTML:function(node,options){return this.CHTMLdefaultNode(node,options)},CHTMLmultiline:function(){MML.mbase.CHTMLautoloadFile(\"multiline\")},CHTMLdefaultNode:function(node,options){options||(options={}),node=this.CHTMLcreateNode(node),this.CHTML=CHTML.BBOX.empty(),this.CHTMLhandleStyle(node),this.isToken&&this.CHTMLgetVariant(),this.CHTMLhandleScale(node);for(var m=Math.max(options.minChildren||0,this.data.length),i=0;i<m;i++)this.CHTMLaddChild(node,i,options);return options.noBBox||this.CHTML.clean(),this.CHTMLhandleSpace(node),this.CHTMLhandleBBox(node),this.CHTMLhandleColor(node),node},CHTMLaddChild:function(node,i,options){var child=this.data[i],cnode,type=options.childNodes;if(type instanceof Array&&(type=type[i]||\"span\"),child){if(type&&(node=CHTML.addElement(node,type)),cnode=child.toCommonHTML(node,options.childOptions),type&&1!==child.CHTML.rscale&&(node.style.fontSize=node.firstChild.style.fontSize,node.firstChild.style.fontSize=\"\"),!options.noBBox){var bbox=this.CHTML,cbox=child.CHTML;bbox.append(cbox),1===this.data.length?(cbox.ic&&(bbox.ic=cbox.ic),cbox.skew&&(bbox.skew=cbox.skew)):(delete bbox.ic,delete bbox.skew),cbox.pwidth&&(bbox.pwidth=cbox.pwidth)}}else options.forceChild&&(cnode=CHTML.addElement(node,type||\"mjx-box\"));return cnode},CHTMLchildNode:function(node,i){return\"a\"===(node=node.childNodes[i]).nodeName.toLowerCase()&&(node=node.firstChild),node},CHTMLcoreNode:function(node){return this.inferRow&&this.data[0]?this.data[0].CHTMLcoreNode(node.firstChild):this.CHTMLchildNode(node,this.CoreIndex())},CHTMLstretchChildV:function(i,H,D){var data=this.data[i];if(data){var bbox=this.CHTML,dbox=data.CHTML;if(dbox.stretch||null==dbox.stretch&&data.CHTMLcanStretch(\"Vertical\",H,D)){var w=dbox.w;dbox=data.CHTMLstretchV(H,D),bbox.w+=dbox.w-w,bbox.w>bbox.r&&(bbox.r=bbox.w),dbox.h>bbox.h&&(bbox.h=dbox.h),dbox.d>bbox.d&&(bbox.d=dbox.d),dbox.t>bbox.t&&(bbox.t=dbox.t),dbox.b>bbox.b&&(bbox.b=dbox.b)}}},CHTMLstretchChildH:function(i,W,node){var data=this.data[i];if(data){var bbox=this.CHTML,dbox=data.CHTML;if(dbox.stretch||null==dbox.stretch&&data.CHTMLcanStretch(\"Horizontal\",W)){var w=dbox.w;dbox=data.CHTMLstretchH(this.CHTMLchildNode(node,i),W),bbox.w+=dbox.w-w,bbox.w>bbox.r&&(bbox.r=bbox.w),dbox.h>bbox.h&&(bbox.h=dbox.h),dbox.d>bbox.d&&(bbox.d=dbox.d),dbox.t>bbox.t&&(bbox.t=dbox.t),dbox.b>bbox.b&&(bbox.b=dbox.b)}}},CHTMLupdateFrom:function(bbox){this.CHTML.updateFrom(bbox),this.inferRow&&this.data[0].CHTML.updateFrom(bbox)},CHTMLcanStretch:function(direction,H,D){var stretch=!1;if(this.isEmbellished()){var core=this.Core();core&&core!==this&&(stretch=core.CHTMLcanStretch(direction,H,D))}return this.CHTML.stretch=stretch,stretch},CHTMLstretchV:function(h,d){return this.CHTMLupdateFrom(this.Core().CHTMLstretchV(h,d)),this.CHTML},CHTMLstretchH:function(node,w){return this.CHTMLupdateFrom(this.CHTMLstretchCoreH(node,w)),this.CHTML},CHTMLstretchCoreH:function(node,w){return this.Core().CHTMLstretchH(this.CHTMLcoreNode(node),w)},CHTMLcreateNode:function(node){this.CHTML||(this.CHTML={}),this.CHTML=CHTML.BBOX.zero(),this.href&&(node=CHTML.addElement(node,\"a\",{href:this.href,isMathJax:!0})),this.CHTMLnodeID||(this.CHTMLnodeID=CHTML.GetID());var id=(this.id||\"MJXc-Node-\"+this.CHTMLnodeID)+CHTML.idPostfix;return this.CHTMLhandleAttributes(CHTML.addElement(node,\"mjx-\"+this.type,{id:id}))},CHTMLnodeElement:function(){return this.CHTMLnodeID?document.getElementById((this.id||\"MJXc-Node-\"+this.CHTMLnodeID)+CHTML.idPostfix):null},CHTMLlength2em:function(length,size){return CHTML.length2em(length,size,this.CHTML.scale)},CHTMLhandleAttributes:function(node){if(this.class&&(node.className?node.className+=\" \"+this.class:node.className=this.class),this.attrNames)for(var copy=this.attrNames,skip=MML.nocopyAttributes,ignore=HUB.config.ignoreMMLattributes,defaults=\"mstyle\"===this.type?MML.math.prototype.defaults:this.defaults,i=0,m=copy.length;i<m;i++){var id=copy[i];0!=ignore[id]&&(skip[id]||ignore[id]||null!=defaults[id]||void 0!==node[id])||node.setAttribute(id,this.attr[id])}return node},CHTMLhandleScale:function(node){var scale=1,parent=this.parent,pscale=parent?parent.CHTML.scale:1,values=this.getValues(\"scriptlevel\",\"fontsize\");values.mathsize=this.Get(\"mathsize\",null,!this.isToken),0!==values.scriptlevel&&(values.scriptlevel>2&&(values.scriptlevel=2),scale=Math.pow(this.Get(\"scriptsizemultiplier\"),values.scriptlevel),values.scriptminsize=CHTML.length2em(this.Get(\"scriptminsize\"),.8,1),scale<values.scriptminsize&&(scale=values.scriptminsize)),this.removedStyles&&this.removedStyles.fontSize&&!values.fontsize&&(values.fontsize=this.removedStyles.fontSize),values.fontsize&&!this.mathsize&&(values.mathsize=values.fontsize),1!==values.mathsize&&(scale*=CHTML.length2em(values.mathsize,1,1));var variant=this.CHTMLvariant;return variant&&variant.style&&variant.style[\"font-family\"]&&(scale*=CHTML.config.scale/100/CHTML.scale),this.CHTML.scale=scale,pscale=this.CHTML.rscale=scale/pscale,Math.abs(pscale-1)<.001&&(pscale=1),node&&1!==pscale&&(node.style.fontSize=CHTML.Percent(pscale)),scale},CHTMLhandleStyle:function(node){if(this.style){var style=node.style;style.cssText=this.style,this.removedStyles={};for(var i=0,m=CHTML.removeStyles.length;i<m;i++){var id=CHTML.removeStyles[i];style[id]&&(this.removedStyles[id]=style[id],style[id]=\"\")}}},CHTMLhandleBBox:function(node){var BBOX=this.CHTML,style=node.style;if(1===this.data.length&&(this.data[0].CHTML||{}).pwidth?(BBOX.pwidth=this.data[0].CHTML.pwidth,BBOX.mwidth=this.data[0].CHTML.mwidth,style.width=\"100%\"):BBOX.pwidth?(BBOX.mwidth=CHTML.Em(BBOX.w),style.width=\"100%\"):BBOX.w<0&&(style.width=\"0px\",style.marginRight=CHTML.Em(BBOX.w)),this.style)for(var i=0,m=CHTML.BBOX.styleAdjust.length;i<m;i++){var data=CHTML.BBOX.styleAdjust[i];data&&style[data[0]]&&BBOX.adjust(style[data[0]],data[1],data[2],data[3])}},CHTMLhandleColor:function(node){this.mathcolor?node.style.color=this.mathcolor:this.color&&(node.style.color=this.color),this.mathbackground?node.style.backgroundColor=this.mathbackground:this.background&&(node.style.backgroundColor=this.background)},CHTMLhandleSpace:function(node){if(!this.useMMLspacing){var space=this.texSpacing();\"\"!==space&&(this.CHTML.L=this.CHTMLlength2em(space),node.className+=\" \"+CHTML.SPACECLASS[space])}},CHTMLhandleText:function(node,text,variant){node.firstChild&&!this.CHTML&&(this.CHTML=CHTML.BBOX.empty()),this.CHTML=CHTML.handleText(node,text,variant,this.CHTML)},CHTMLgetVariant:function(){var values=this.getValues(\"mathvariant\",\"fontfamily\",\"fontweight\",\"fontstyle\"),style;values.hasVariant=this.Get(\"mathvariant\",!0),this.removedStyles&&((style=this.removedStyles).fontFamily&&(values.family=style.fontFamily),style.fontWeight&&(values.weight=style.fontWeight),style.fontStyle&&(values.style=style.fontStyle)),values.hasVariant||(values.fontfamily&&(values.family=values.fontfamily),values.fontweight&&(values.weight=values.fontweight),values.fontstyle&&(values.style=values.fontstyle)),values.weight&&values.weight.match(/^\\d+$/)&&(values.weight=parseInt(values.weight)>600?\"bold\":\"normal\");var variant=values.mathvariant;if(this.variantForm&&(variant=\"-TeX-variant\"),values.family&&!values.hasVariant)return!values.weight&&values.mathvariant.match(/bold/)&&(values.weight=\"bold\"),!values.style&&values.mathvariant.match(/italic/)&&(values.style=\"italic\"),void(this.CHTMLvariant={fonts:[],noRemap:!0,cache:{},style:{\"font-family\":values.family,\"font-weight\":values.weight||\"normal\",\"font-style\":values.style||\"normal\"}});\"bold\"===values.weight?variant={normal:MML.VARIANT.BOLD,italic:MML.VARIANT.BOLDITALIC,fraktur:MML.VARIANT.BOLDFRAKTUR,script:MML.VARIANT.BOLDSCRIPT,\"sans-serif\":MML.VARIANT.BOLDSANSSERIF,\"sans-serif-italic\":MML.VARIANT.SANSSERIFBOLDITALIC}[variant]||variant:\"normal\"===values.weight&&(variant={bold:MML.VARIANT.normal,\"bold-italic\":MML.VARIANT.ITALIC,\"bold-fraktur\":MML.VARIANT.FRAKTUR,\"bold-script\":MML.VARIANT.SCRIPT,\"bold-sans-serif\":MML.VARIANT.SANSSERIF,\"sans-serif-bold-italic\":MML.VARIANT.SANSSERIFITALIC}[variant]||variant),\"italic\"===values.style?variant={normal:MML.VARIANT.ITALIC,bold:MML.VARIANT.BOLDITALIC,\"sans-serif\":MML.VARIANT.SANSSERIFITALIC,\"bold-sans-serif\":MML.VARIANT.SANSSERIFBOLDITALIC}[variant]||variant:\"normal\"===values.style&&(variant={italic:MML.VARIANT.NORMAL,\"bold-italic\":MML.VARIANT.BOLD,\"sans-serif-italic\":MML.VARIANT.SANSSERIF,\"sans-serif-bold-italic\":MML.VARIANT.BOLDSANSSERIF}[variant]||variant),this.CHTMLvariant=CHTML.FONTDATA.VARIANT[variant]||CHTML.FONTDATA.VARIANT[MML.VARIANT.NORMAL]},CHTMLbboxFor:function(n){return this.data[n]&&this.data[n].CHTML?this.data[n].CHTML:CHTML.BBOX.zero()},CHTMLdrawBBox:function(node,bbox){bbox||(bbox=this.CHTML);var box=CHTML.Element(\"mjx-box\",{style:{opacity:.25,\"margin-left\":CHTML.Em(-(bbox.w+(bbox.R||0)))}},[[\"mjx-box\",{style:{height:CHTML.Em(bbox.h),width:CHTML.Em(bbox.w),\"background-color\":\"red\"}}],[\"mjx-box\",{style:{height:CHTML.Em(bbox.d),width:CHTML.Em(bbox.w),\"margin-left\":CHTML.Em(-bbox.w),\"vertical-align\":CHTML.Em(-bbox.d),\"background-color\":\"green\"}}]]);node.nextSibling?node.parentNode.insertBefore(box,node.nextSibling):node.parentNode.appendChild(box)},CHTMLnotEmpty:function(mml){for(;mml&&mml.data.length<2&&(\"mrow\"===mml.type||\"texatom\"===mml.type);)mml=mml.data[0];return!!mml}},{CHTMLautoload:function(){this.constructor.Augment({toCommonHTML:MML.mbase.CHTMLautoloadFail});var file=CHTML.autoloadDir+\"/\"+this.type+\".js\";HUB.RestartAfter(AJAX.Require(file))},CHTMLautoloadFail:function(){throw Error(\"CommonHTML can't autoload '\"+this.type+\"'\")},CHTMLautoloadList:{},CHTMLautoloadFile:function(name){if(MML.mbase.CHTMLautoloadList.hasOwnProperty(name))throw Error(\"CommonHTML can't autoload file '\"+name+\"'\");MML.mbase.CHTMLautoloadList[name]=!0;var file=CHTML.autoloadDir+\"/\"+name+\".js\";HUB.RestartAfter(AJAX.Require(file))},CHTMLstretchV:function(h,d){return this.Core().CHTMLstretchV(h,d),this.toCommonHTML(this.CHTMLnodeElement(),{stretch:!0}),this.CHTML},CHTMLstretchH:function(node,w){return this.CHTMLupdateFrom(this.CHTMLstretchCoreH(node,w)),this.toCommonHTML(node,{stretch:!0}),this.CHTML}}),MML.chars.Augment({toCommonHTML:function(node,options){this.CHTML=null,null==options&&(options={});var text=this.toString();options.remap&&(text=options.remap(text,options.remapchars)),this.CHTMLhandleText(node,text,options.variant||this.parent.CHTMLvariant)}}),MML.entity.Augment({toCommonHTML:function(node,options){null==options&&(options={});var text=this.toString();options.remapchars&&(text=options.remap(text,options.remapchars)),this.CHTMLhandleText(node,text,options.variant||this.parent.CHTMLvariant)}}),MML.math.Augment({toCommonHTML:function(node){node=this.CHTMLdefaultNode(node),this.CHTML.w<0&&(node.parentNode.style.width=\"0px\",node.parentNode.style.marginRight=CHTML.Em(this.CHTML.w));var alttext=this.Get(\"alttext\");if(alttext&&!node.getAttribute(\"aria-label\")&&node.setAttribute(\"aria-label\",alttext),this.CHTML.pwidth)node.parentNode.style.minWidth=this.CHTML.mwidth||CHTML.Em(this.CHTML.w),node.parentNode.className=\"mjx-full-width \"+node.parentNode.className,node.style.width=this.CHTML.pwidth;else if(!this.isMultiline&&\"block\"===this.Get(\"display\")){var values=this.getValues(\"indentalignfirst\",\"indentshiftfirst\",\"indentalign\",\"indentshift\");values.indentalignfirst!==MML.INDENTALIGN.INDENTALIGN&&(values.indentalign=values.indentalignfirst),values.indentalign===MML.INDENTALIGN.AUTO&&(values.indentalign=CONFIG.displayAlign),values.indentshiftfirst!==MML.INDENTSHIFT.INDENTSHIFT&&(values.indentshift=values.indentshiftfirst),\"auto\"===values.indentshift&&(values.indentshift=\"0\");var shift=this.CHTMLlength2em(values.indentshift,CHTML.cwidth);if(\"0\"!==CONFIG.displayIndent){var indent=this.CHTMLlength2em(CONFIG.displayIndent,CHTML.cwidth);shift+=values.indentalign===MML.INDENTALIGN.RIGHT?-indent:indent}var styles=node.parentNode.parentNode.style;node.parentNode.style.textAlign=styles.textAlign=values.indentalign,shift&&(shift*=CHTML.em/CHTML.outerEm,HUB.Insert(styles,{left:{marginLeft:CHTML.Em(shift)},right:{marginRight:CHTML.Em(-shift)},center:{marginLeft:CHTML.Em(shift),marginRight:CHTML.Em(-shift)}}[values.indentalign]))}return node}}),MML.mi.Augment({toCommonHTML:function(node){node=this.CHTMLdefaultNode(node);var bbox=this.CHTML,text=this.data.join(\"\");return null==bbox.skew||CHTML.isChar(text)||delete bbox.skew,bbox.r>bbox.w&&CHTML.isChar(text)&&!this.CHTMLvariant.noIC&&(bbox.ic=bbox.r-bbox.w,bbox.w=bbox.r,node.lastChild.style.paddingRight=CHTML.Em(bbox.ic)),node}}),MML.mn.Augment({CHTMLremapMinus:function(text){return text.replace(/^-/,\"−\")},toCommonHTML:function(node){node=this.CHTMLdefaultNode(node,{childOptions:{remap:this.CHTMLremapMinus}});var bbox=this.CHTML,text=this.data.join(\"\");return null==bbox.skew||CHTML.isChar(text)||delete bbox.skew,bbox.r>bbox.w&&CHTML.isChar(text)&&!this.CHTMLvariant.noIC&&(bbox.ic=bbox.r-bbox.w,bbox.w=bbox.r,node.lastChild.style.paddingRight=CHTML.Em(bbox.ic)),node}}),MML.mo.Augment({toCommonHTML:function(node){node=this.CHTMLcreateNode(node),this.CHTMLhandleStyle(node),this.CHTMLgetVariant(),this.CHTMLhandleScale(node),CHTML.BBOX.empty(this.CHTML);var values=this.getValues(\"displaystyle\",\"largeop\");if(values.variant=this.CHTMLvariant,values.text=this.data.join(\"\"),\"\"==values.text)this.fence&&(node.style.width=CHTML.Em(CHTML.TEX.nulldelimiterspace));else{this.CHTMLadjustAccent(values),this.CHTMLadjustVariant(values);for(var i=0,m=this.data.length;i<m;i++)this.CHTMLaddChild(node,i,{childOptions:{variant:values.mathvariant,remap:this.remap,remapchars:values.remapchars}});CHTML.isChar(values.text)?0===this.CHTML.w&&this.CHTML.l<0&&this.CHTMLfixCombiningChar(node):delete this.CHTML.skew,values.largeop&&this.CHTMLcenterOp(node)}return this.CHTML.clean(),this.CHTMLhandleBBox(node),this.CHTMLhandleSpace(node),this.CHTMLhandleColor(node),node},CHTMLhandleSpace:function(node){if(this.hasMMLspacing()){var values=this.getValues(\"scriptlevel\",\"lspace\",\"rspace\");values.lspace=Math.max(0,this.CHTMLlength2em(values.lspace)),values.rspace=Math.max(0,this.CHTMLlength2em(values.rspace)),values.scriptlevel>0&&(this.hasValue(\"lspace\")||(values.lspace=.15),this.hasValue(\"rspace\")||(values.rspace=.15));for(var core=this,parent=this.Parent();parent&&parent.isEmbellished()&&parent.Core()===core;)core=parent,parent=parent.Parent(),node=core.CHTMLnodeElement();values.lspace&&(node.style.paddingLeft=CHTML.Em(values.lspace)),values.rspace&&(node.style.paddingRight=CHTML.Em(values.rspace)),this.CHTML.L=values.lspace,this.CHTML.R=values.rspace}else this.SUPER(arguments).CHTMLhandleSpace.apply(this,arguments)},CHTMLadjustAccent:function(data){var parent=this.CoreParent();if(data.parent=parent,CHTML.isChar(data.text)&&parent&&parent.isa(MML.munderover)){var over=parent.data[parent.over],under=parent.data[parent.under];over&&this===over.CoreMO()&&parent.Get(\"accent\")?data.remapchars=CHTML.FONTDATA.REMAPACCENT:under&&this===under.CoreMO()&&parent.Get(\"accentunder\")&&(data.remapchars=CHTML.FONTDATA.REMAPACCENTUNDER)}},CHTMLadjustVariant:function(data){var parent=data.parent,isScript=parent&&parent.isa(MML.msubsup)&&this!==parent.data[parent.base];data.largeop&&(data.mathvariant=data.displaystyle?\"-largeOp\":\"-smallOp\"),isScript&&(data.remapchars=this.remapChars,data.text.match(/['`\"\\u00B4\\u2032-\\u2037\\u2057]/)&&(data.mathvariant=\"-TeX-variant\"))},CHTMLfixCombiningChar:function(node){node=node.firstChild;var space=CHTML.Element(\"mjx-box\",{style:{width:\".25em\",\"margin-left\":\"-.25em\"}});node.insertBefore(space,node.firstChild)},CHTMLcenterOp:function(node){var bbox=this.CHTML,p=(bbox.h-bbox.d)/2-CHTML.TEX.axis_height;Math.abs(p)>.001&&(node.style.verticalAlign=CHTML.Em(-p)),bbox.h-=p,bbox.d+=p,bbox.r>bbox.w&&(bbox.ic=bbox.r-bbox.w,bbox.w=bbox.r,node.style.paddingRight=CHTML.Em(bbox.ic))},CHTMLcanStretch:function(direction,H,D){if(!this.Get(\"stretchy\"))return!1;var c=this.data.join(\"\");if(!CHTML.isChar(c))return!1;var values={text:c};this.CHTMLadjustAccent(values),values.remapchars&&(c=values.remapchars[c]||c);var stretch=(c=CHTML.FONTDATA.DELIMITERS[c.charCodeAt(0)])&&c.dir===direction.substr(0,1);return stretch&&(stretch=this.CHTML.h!==H||this.CHTML.d!==D||!!this.Get(\"minsize\",!0)||!!this.Get(\"maxsize\",!0))&&(this.CHTML.stretch=!0),stretch},CHTMLstretchV:function(h,d){var node=this.CHTMLnodeElement(),bbox=this.CHTML,values=this.getValues(\"symmetric\",\"maxsize\",\"minsize\"),H,a=CHTML.TEX.axis_height;if(H=values.symmetric?2*Math.max(h-a,d+a):h+d,values.maxsize=this.CHTMLlength2em(values.maxsize,bbox.h+bbox.d),values.minsize=this.CHTMLlength2em(values.minsize,bbox.h+bbox.d),(H=Math.max(values.minsize,Math.min(values.maxsize,H)))!==bbox.sH){for(H!=values.minsize&&(H=[Math.max(H*CHTML.TEX.delimiterfactor/1e3,H-CHTML.TEX.delimitershortfall),H]);node.firstChild;)node.removeChild(node.firstChild);this.CHTML=bbox=CHTML.createDelimiter(node,this.data.join(\"\").charCodeAt(0),H,bbox),bbox.sH=H instanceof Array?H[1]:H,H=values.symmetric?(bbox.h+bbox.d)/2+a:(bbox.h+bbox.d)*h/(h+d),H-=bbox.h,Math.abs(H)>.05&&(node.style.verticalAlign=CHTML.Em(H),bbox.h+=H,bbox.d-=H,bbox.t+=H,bbox.b-=H)}return this.CHTML},CHTMLstretchH:function(node,W){var bbox=this.CHTML,values=this.getValues(\"maxsize\",\"minsize\",\"mathvariant\",\"fontweight\");if((\"bold\"===values.fontweight||\"bold\"===(this.removedStyles||{}).fontWeight||parseInt(values.fontweight)>=600)&&!this.Get(\"mathvariant\",!0)&&(values.mathvariant=MML.VARIANT.BOLD),values.maxsize=this.CHTMLlength2em(values.maxsize,bbox.w),values.minsize=this.CHTMLlength2em(values.minsize,bbox.w),(W=Math.max(values.minsize,Math.min(values.maxsize,W)))!==bbox.sW){for(;node.firstChild;)node.removeChild(node.firstChild);this.CHTML=bbox=CHTML.createDelimiter(node,this.data.join(\"\").charCodeAt(0),W,bbox,values.mathvariant),bbox.sW=W}return this.CHTML}}),MML.mtext.Augment({CHTMLgetVariant:function(){if(CHTML.config.mtextFontInherit||\"merror\"===this.Parent().type){var scale=CHTML.config.scale/100/CHTML.scale,variant={cache:{},fonts:[],className:\"MJXc-font-inherit\",rscale:scale,style:{\"font-size\":CHTML.Percent(scale)}},name=this.Get(\"mathvariant\");name.match(/bold/)&&(variant.style[\"font-weight\"]=\"bold\"),name.match(/italic|-tex-mathit/)&&(variant.style[\"font-style\"]=\"italic\"),\"monospace\"===name&&(variant.className+=\" MJXc-monospace-font\"),\"double-struck\"===name&&(variant.className+=\" MJXc-double-struck-font\"),name.match(/fraktur/)&&(variant.className+=\" MJXc-fraktur-font\"),name.match(/sans-serif/)&&(variant.className+=\" MJXc-sans-serif-font\"),name.match(/script/)&&(variant.className+=\" MJXc-script-font\"),this.CHTMLvariant=variant}else this.SUPER(arguments).CHTMLgetVariant.call(this)}}),MML.merror.Augment({toCommonHTML:function(node){node=this.CHTMLdefaultNode(node);var bbox=this.CHTML;return bbox.rescale(.9),bbox.h+=3/CHTML.em,bbox.h>bbox.t&&(bbox.t=bbox.h),bbox.d+=3/CHTML.em,bbox.d>bbox.b&&(bbox.b=bbox.d),bbox.w+=8/CHTML.em,bbox.r=bbox.w,bbox.l=0,node}}),MML.mspace.Augment({toCommonHTML:function(node){node=this.CHTMLcreateNode(node),this.CHTMLhandleStyle(node),this.CHTMLhandleScale(node);var values=this.getValues(\"height\",\"depth\",\"width\"),w=this.CHTMLlength2em(values.width),h=this.CHTMLlength2em(values.height),d=this.CHTMLlength2em(values.depth),bbox=this.CHTML;return bbox.w=bbox.r=w,bbox.h=bbox.t=h,bbox.d=bbox.b=d,bbox.l=0,w<0&&(node.style.marginRight=CHTML.Em(w),w=0),node.style.width=CHTML.Em(w),node.style.height=CHTML.Em(Math.max(0,h+d)),d&&(node.style.verticalAlign=CHTML.Em(-d)),this.CHTMLhandleBBox(node),this.CHTMLhandleColor(node),node}}),MML.mpadded.Augment({toCommonHTML:function(node,options){var child;options&&options.stretch?child=(node=node.firstChild).firstChild:(child=(node=this.CHTMLdefaultNode(node,{childNodes:\"mjx-box\",forceChild:!0})).firstChild,(node=CHTML.addElement(node,\"mjx-block\")).appendChild(child),CHTML.addElement(node,\"mjx-strut\"));var cbox=this.CHTMLbboxFor(0),values=this.getValues(\"width\",\"height\",\"depth\",\"lspace\",\"voffset\"),x=0,y=0,w=cbox.w,h=cbox.h,d=cbox.d;child.style.width=0,child.style.margin=CHTML.Em(-h)+\" 0 \"+CHTML.Em(-d),\"\"!==values.width&&(w=this.CHTMLdimen(values.width,\"w\",w,0)),\"\"!==values.height&&(h=this.CHTMLdimen(values.height,\"h\",h,0)),\"\"!==values.depth&&(d=this.CHTMLdimen(values.depth,\"d\",d,0)),\"\"!==values.voffset&&(y=this.CHTMLdimen(values.voffset))&&(child.style.position=\"relative\",child.style.top=CHTML.Em(-y)),\"\"!==values.lspace&&(x=this.CHTMLdimen(values.lspace))&&(child.style.position=\"relative\",child.style.left=CHTML.Em(x)),node.style.width=0,node.style.marginTop=CHTML.Em(h-1),node.style.padding=\"0 \"+CHTML.Em(w)+\" \"+CHTML.Em(d)+\" 0\";var bbox=CHTML.BBOX({w:w,h:h,d:d,l:0,r:w,t:h,b:d,scale:this.CHTML.scale,rscale:this.CHTML.rscale});return bbox.combine(cbox,x,y),bbox.w=w,bbox.h=h,bbox.d=d,this.CHTML=bbox,node.parentNode},CHTMLstretchV:MML.mbase.CHTMLstretchV,CHTMLstretchH:MML.mbase.CHTMLstretchH,CHTMLdimen:function(length,d,D,m){null==m&&(m=-1e6);var match=(length=String(length)).match(/width|height|depth/),size=match?this.CHTML[match[0].charAt(0)]:d?this.CHTML[d]:0,dimen=this.CHTMLlength2em(length,size)||0;return length.match(/^[-+]/)&&null!=D&&(dimen+=D),null!=m&&(dimen=Math.max(m,dimen)),dimen}}),MML.munderover.Augment({toCommonHTML:function(node,options){var values=this.getValues(\"displaystyle\",\"accent\",\"accentunder\",\"align\"),base=this.data[this.base];if(!values.displaystyle&&null!=base&&(base.movablelimits||base.CoreMO().Get(\"movablelimits\")))return MML.msubsup.prototype.toCommonHTML.call(this,node,stretch);var under,over,nodes=[],stretch=!1;if(options&&options.stretch)this.data[this.base]&&(base=CHTML.getNode(node,\"mjx-op\")),this.data[this.under]&&(under=CHTML.getNode(node,\"mjx-under\")),this.data[this.over]&&(over=CHTML.getNode(node,\"mjx-over\")),nodes[0]=base,nodes[1]=under||over,nodes[2]=over,stretch=!0;else{var types=[\"mjx-op\",\"mjx-under\",\"mjx-over\"];1===this.over&&(types[1]=types[2]),node=this.CHTMLdefaultNode(node,{childNodes:types,noBBox:!0,forceChild:!0,minChildren:2}),nodes[0]=base=node.removeChild(node.firstChild),nodes[1]=under=over=node.removeChild(node.firstChild),node.firstChild&&(nodes[2]=over=node.removeChild(node.firstChild))}var boxes=[],W=this.CHTMLgetBBoxes(boxes,nodes,values),bbox=boxes[this.base],BBOX=this.CHTML;BBOX.w=W,BBOX.h=bbox.h,BBOX.d=bbox.d,bbox.h<.35&&(base.style.marginTop=CHTML.Em(bbox.h-.35)),values.accent&&bbox.h<CHTML.TEX.x_height&&(BBOX.h+=CHTML.TEX.x_height-bbox.h,base.style.marginTop=CHTML.Em(CHTML.TEX.x_height-Math.max(bbox.h,.35)),bbox.h=CHTML.TEX.x_height);var stack=base,delta=0;return bbox.ic&&(delta=1.3*bbox.ic+.05),this.data[this.over]&&(stack=this.CHTMLaddOverscript(over,boxes,values,delta,base,stretch)),this.data[this.under]?this.CHTMLaddUnderscript(under,boxes,values,delta,node,stack,stretch):stretch||node.appendChild(stack),this.CHTMLplaceBoxes(base,under,over,values,boxes),node},CHTMLgetBBoxes:function(bbox,nodes,values){var i,m=this.data.length,scale,w=-1e6,W=w;for(i=0;i<m;i++)bbox[i]=this.CHTMLbboxFor(i),bbox[i].x=bbox[i].y=0,this.data[i]&&(bbox[i].stretch=this.data[i].CHTMLcanStretch(\"Horizontal\")),scale=i===this.base?1:bbox[i].rscale,i!==this.base&&(delete bbox[i].L,delete bbox[i].R),W=Math.max(W,scale*(bbox[i].w+(bbox[i].L||0)+(bbox[i].R||0))),!bbox[i].stretch&&W>w&&(w=W);for(-1e6===w&&(w=W),i=0;i<m;i++)bbox[i].stretch&&(scale=i===this.base?1:bbox[i].rscale,bbox[i]=this.data[i].CHTMLstretchH(nodes[i].firstChild,w/scale),bbox[i].x=bbox[i].y=0,W=Math.max(W,scale*(bbox[i].w+(bbox[i].L||0)+(bbox[i].R||0))));return bbox[this.base]||(bbox[this.base]=CHTML.BBOX.empty()),W},CHTMLaddOverscript:function(over,boxes,values,delta,base,stretch){var BBOX=this.CHTML,z1,z2,z3=CHTML.TEX.big_op_spacing5,k,obox=boxes[this.over],bbox=boxes[this.base],scale=obox.rscale;if(!stretch){var stack=CHTML.Element(\"mjx-stack\");stack.appendChild(over),stack.appendChild(base)}return obox.D&&(obox.d=obox.D),obox.d<0&&(over.firstChild.style.verticalAlign=\"top\",over.style.height=CHTML.Em(obox.h+obox.d)),obox.x=0,values.accent?(obox.w<.001&&(obox.x+=(obox.r-obox.l)/2),k=CHTML.TEX.rule_thickness,z3=0,bbox.skew&&(obox.x+=scale*bbox.skew,BBOX.skew=scale*bbox.skew,obox.x+scale*obox.w>BBOX.w&&(BBOX.skew+=(BBOX.w-(obox.x+scale*obox.w))/2))):(z1=CHTML.TEX.big_op_spacing1,z2=CHTML.TEX.big_op_spacing3,k=Math.max(z1,z2-Math.max(0,scale*obox.d))),obox.x+=delta/2,obox.y=BBOX.h+k+z3+scale*obox.d,k&&(over.style.paddingBottom=CHTML.Em(k/scale)),z3&&(over.style.paddingTop=CHTML.Em(z3/scale)),stack},CHTMLaddUnderscript:function(under,boxes,values,delta,node,stack,stretch){var BBOX=this.CHTML,z1,z2,z3=CHTML.TEX.big_op_spacing5,k,ubox=boxes[this.under],scale=ubox.rscale;stretch||(CHTML.addElement(node,\"mjx-itable\",{},[[\"mjx-row\",{},[[\"mjx-cell\"]]],[\"mjx-row\"]]),node.firstChild.firstChild.firstChild.appendChild(stack),node.firstChild.lastChild.appendChild(under)),ubox.D&&(ubox.d=ubox.D),ubox.d<0&&(under.firstChild.style.verticalAlign=\"top\",node.firstChild.style.marginBottom=CHTML.Em(ubox.d)),values.accentunder?(k=2*CHTML.TEX.rule_thickness,z3=0):(z1=CHTML.TEX.big_op_spacing2,z2=CHTML.TEX.big_op_spacing4,k=Math.max(z1,z2-scale*ubox.h)),ubox.x=-delta/2,ubox.y=-(BBOX.d+k+z3+scale*ubox.h),k&&(under.style.paddingTop=CHTML.Em(k/scale)),z3&&(under.style.paddingBottom=CHTML.Em(z3/scale))},CHTMLplaceBoxes:function(base,under,over,values,boxes){var W=this.CHTML.w,i,m=boxes.length,scale,BBOX=CHTML.BBOX.zero();BBOX.scale=this.CHTML.scale,BBOX.rscale=this.CHTML.rscale,boxes[this.base].x=boxes[this.base].y=0;var dx=1e6;for(i=0;i<m;i++){var w=(scale=i===this.base?1:boxes[i].rscale)*(boxes[i].w+(boxes[i].L||0)+(boxes[i].R||0));boxes[i].x+={left:0,center:(W-w)/2,right:W-w}[values.align],boxes[i].x<dx&&(dx=boxes[i].x)}for(i=0;i<m;i++)if(this.data[i]){var node;if(scale=i===this.base?1:boxes[i].rscale,boxes[i].x-dx)(i===this.base?base:i===this.over?over:under).style.paddingLeft=CHTML.Em((boxes[i].x-dx)/scale);BBOX.combine(boxes[i],boxes[i].x-dx,boxes[i].y)}this.CHTML=BBOX},CHTMLstretchV:MML.mbase.CHTMLstretchV,CHTMLstretchH:MML.mbase.CHTMLstretchH,CHTMLchildNode:function(node,i){var types=[\"mjx-op\",\"mjx-under\",\"mjx-over\"];return 1===this.over&&(types[1]=types[2]),CHTML.getNode(node,types[i])}}),MML.msubsup.Augment({toCommonHTML:function(node,options){var values=this.getValues(\"displaystyle\",\"subscriptshift\",\"superscriptshift\",\"texprimestyle\"),base,sub,sup;if(options&&options.stretch)this.data[this.base]&&(base=CHTML.getNode(node,\"mjx-base\")),this.data[this.sub]&&(sub=CHTML.getNode(node,\"mjx-sub\")),this.data[this.sup]&&(sup=CHTML.getNode(node,\"mjx-sup\")),stack=CHTML.getNode(node,\"mjx-stack\");else{var types=[\"mjx-base\",\"mjx-sub\",\"mjx-sup\"];if(1===this.sup&&(types[1]=types[2]),base=(node=this.CHTMLdefaultNode(node,{childNodes:types,noBBox:!0,forceChild:!0,minChildren:3})).childNodes[this.base],sub=node.childNodes[this.sub],sup=node.childNodes[this.sup],this.CHTMLnotEmpty(this.data[this.sub])||(node.removeChild(sub),sub=null),this.CHTMLnotEmpty(this.data[this.sup])||(node.removeChild(sup),sup=null),3===node.childNodes.length){var stack=CHTML.addElement(node,\"mjx-stack\");stack.appendChild(sup),stack.appendChild(sub)}}for(var boxes=[],BBOX=CHTML.BBOX.empty(this.CHTML),i=0,m=this.data.length;i<m;i++)boxes[i]=this.CHTMLbboxFor(i);var bbox=boxes[this.base]||CHTML.BBOX.empty(),sbox=boxes[this.sub],Sbox=boxes[this.sup],sscale=sub?sbox.rscale:1,Sscale=sup?Sbox.rscale:1;BBOX.combine(bbox,0,0);var ex=CHTML.TEX.x_height,s=CHTML.TEX.scriptspace,q=CHTML.TEX.sup_drop*Sscale,r=CHTML.TEX.sub_drop*sscale,u=bbox.h-q,v=bbox.d+r,delta=0,p;bbox.ic&&(BBOX.w-=bbox.ic,base.style.marginRight=CHTML.Em(-bbox.ic),delta=1.3*bbox.ic+.05);var bmml=this.data[this.base];bmml&&(\"mrow\"!==bmml.type&&\"mstyle\"!==bmml.type||1!==bmml.data.length||(bmml=bmml.data[0]),\"mi\"!==bmml.type&&\"mo\"!==bmml.type||!CHTML.isChar(bmml.data.join(\"\"))||1!==bbox.rscale||bbox.sH||bmml.Get(\"largeop\")||(u=v=0)),values.subscriptshift=\"\"===values.subscriptshift?0:this.CHTMLlength2em(values.subscriptshift),values.superscriptshift=\"\"===values.superscriptshift?0:this.CHTMLlength2em(values.superscriptshift);var x=BBOX.w;if(sub&&(sbox.w+=s),sup&&(Sbox.w+=s),sup)if(sub){v=Math.max(v,CHTML.TEX.sub2);var t=CHTML.TEX.rule_thickness;u-Sscale*Sbox.d-(sscale*sbox.h-v)<3*t&&(v=3*t-u+Sscale*Sbox.d+sscale*sbox.h,(q=.8*ex-(u-Sscale*Sbox.d))>0&&(u+=q,v-=q)),u=Math.max(u,values.superscriptshift),v=Math.max(v,values.subscriptshift),sub.style.paddingRight=CHTML.Em(s/sscale),sup.style.paddingBottom=CHTML.Em(u/Sscale+v/sscale-Sbox.d-sbox.h/sscale*Sscale),sup.style.paddingLeft=CHTML.Em(delta/Sscale),sup.style.paddingRight=CHTML.Em(s/Sscale),stack.style.verticalAlign=CHTML.Em(-v),BBOX.combine(Sbox,x+delta,u),BBOX.combine(sbox,x,-v)}else p=CHTML.TEX[values.displaystyle?\"sup1\":values.texprimestyle?\"sup3\":\"sup2\"],u=Math.max(u,p,Sscale*Sbox.d+.25*ex,values.superscriptshift),sup.style.verticalAlign=CHTML.Em(u/Sscale),sup.style.paddingLeft=CHTML.Em(delta/Sscale),sup.style.paddingRight=CHTML.Em(s/Sscale),BBOX.combine(Sbox,x+delta,u);else sub&&(v=Math.max(v,CHTML.TEX.sub1,sscale*sbox.h-.8*ex,values.subscriptshift),sub.style.verticalAlign=CHTML.Em(-v/sscale),sub.style.paddingRight=CHTML.Em(s/sscale),BBOX.combine(sbox,x,-v));return BBOX.clean(),node},CHTMLstretchV:MML.mbase.CHTMLstretchV,CHTMLstretchH:MML.mbase.CHTMLstretchH,CHTMLchildNode:function(node,i){var types=[\"mjx-base\",\"mjx-sub\",\"mjx-sup\"];return 1===this.over&&(types[1]=types[2]),CHTML.getNode(node,types[i])}}),MML.mfrac.Augment({toCommonHTML:function(node){node=this.CHTMLdefaultNode(node,{childNodes:[\"mjx-numerator\",\"mjx-denominator\"],childOptions:{autowidth:!0},forceChild:!0,noBBox:!0,minChildren:2});var values=this.getValues(\"linethickness\",\"displaystyle\",\"numalign\",\"denomalign\",\"bevelled\"),isDisplay=values.displaystyle,num=node.firstChild,denom=node.lastChild,frac=CHTML.addElement(node,\"mjx-box\");frac.appendChild(num),frac.appendChild(denom),node.appendChild(frac),\"center\"!==values.numalign&&(num.style.textAlign=values.numalign),\"center\"!==values.denomalign&&(denom.style.textAlign=values.denomalign);var nbox=this.CHTMLbboxFor(0),dbox=this.CHTMLbboxFor(1),BBOX=CHTML.BBOX.empty(this.CHTML),nscale=nbox.rscale,dscale=dbox.rscale;values.linethickness=Math.max(0,CHTML.thickness2em(values.linethickness||\"0\",BBOX.scale));var mt=CHTML.TEX.min_rule_thickness/CHTML.em,a=CHTML.TEX.axis_height,t=values.linethickness,p,q,u,v;if(values.bevelled){frac.className+=\" MJXc-bevelled\";var delta=isDisplay?.4:.15,H=Math.max(nscale*(nbox.h+nbox.d),dscale*(dbox.h+dbox.d))+2*delta,bevel=CHTML.Element(\"mjx-bevel\");frac.insertBefore(bevel,denom);var bbox=CHTML.createDelimiter(bevel,47,H);u=nscale*(nbox.d-nbox.h)/2+a+delta,v=dscale*(dbox.d-dbox.h)/2+a-delta,u&&(num.style.verticalAlign=CHTML.Em(u/nscale)),v&&(denom.style.verticalAlign=CHTML.Em(v/dscale)),bevel.style.marginLeft=bevel.style.marginRight=CHTML.Em(-delta/2),BBOX.combine(nbox,0,u),BBOX.combine(bbox,nscale*nbox.w-delta/2,0),BBOX.combine(dbox,nscale*nbox.w+bbox.w-delta,v),BBOX.clean()}else{if(frac.className+=\" MJXc-stacked\",isDisplay?(u=CHTML.TEX.num1,v=CHTML.TEX.denom1):(u=0===t?CHTML.TEX.num3:CHTML.TEX.num2,v=CHTML.TEX.denom2),0===t)p=Math.max((isDisplay?7:3)*CHTML.TEX.rule_thickness,2*mt),(q=u-nbox.d*nscale-(dbox.h*dscale-v))<p&&(u+=(p-q)/2,v+=(p-q)/2);else{p=Math.max((isDisplay?2:0)*mt+t,t/2+1.5*mt),t=Math.max(t,mt),(q=u-nbox.d*nscale-(a+t/2))<p&&(u+=p-q),(q=a-t/2-(dbox.h*dscale-v))<p&&(v+=p-q),nbox.L=nbox.R=dbox.L=dbox.R=.1;var rule=CHTML.addElement(frac,\"mjx-line\",{style:{\"border-bottom\":CHTML.Px(t*BBOX.scale,1)+\" solid\",top:CHTML.Em(-t/2-a)}})}BBOX.combine(nbox,0,u),BBOX.combine(dbox,0,-v),BBOX.clean(),frac.style.width=CHTML.Em(BBOX.w),num.style.width=CHTML.Em(BBOX.w/nscale),denom.style.width=CHTML.Em(BBOX.w/dscale),rule&&(rule.style.width=frac.style.width),num.style.top=CHTML.Em(-BBOX.h/nscale),denom.style.bottom=CHTML.Em(-BBOX.d/dscale),CHTML.addElement(node,\"mjx-vsize\",{style:{height:CHTML.Em(BBOX.h+BBOX.d),verticalAlign:CHTML.Em(-BBOX.d)}})}if(!this.texWithDelims){var space=CHTML.TEX.nulldelimiterspace;frac.style.padding=\"0 \"+CHTML.Em(space),BBOX.l+=space,BBOX.r+=space,BBOX.w+=2*space}return node},CHTMLcanStretch:function(direction){return!1}}),MML.msqrt.Augment({toCommonHTML:function(node){var base=(node=this.CHTMLdefaultNode(node,{childNodes:[\"mjx-box\",\"mjx-root\"],forceChild:!0,noBBox:!0})).firstChild||CHTML.Element(\"mjx-box\"),sqrt=CHTML.addElement(node,\"mjx-box\");sqrt.appendChild(base);var bbox=this.CHTMLbboxFor(0),BBOX=CHTML.BBOX.empty(this.CHTML),t=CHTML.TEX.rule_thickness,T=CHTML.TEX.surd_height,p=t,q,H;this.Get(\"displaystyle\")&&(p=CHTML.TEX.x_height),q=t+p/4,H=bbox.h+bbox.d+q+t;var surd=CHTML.Element(\"mjx-surd\");sqrt.insertBefore(surd,base);var sbox=CHTML.createDelimiter(surd,8730,[H-.04,H]);sbox.h+sbox.d>H&&(q=(sbox.h+sbox.d-(H-t))/2),H=bbox.h+q+t;var x=this.CHTMLaddRoot(node,sbox,sbox.h+sbox.d-H);return base.style.paddingTop=CHTML.Em(q),base.style.borderTop=CHTML.Px(T*bbox.scale,1)+\" solid\",sqrt.style.paddingTop=CHTML.Em(2*t-T),bbox.h+=q+2*t,BBOX.combine(sbox,x,H-sbox.h),BBOX.combine(bbox,x+sbox.w,0),BBOX.clean(),node},CHTMLaddRoot:function(){return 0},CHTMLhandleBBox:function(node){var bbox=this.CHTMLbboxFor(0);delete bbox.pwidth,this.SUPER(arguments).CHTMLhandleBBox.apply(this,arguments)}}),MML.mroot.Augment({toCommonHTML:MML.msqrt.prototype.toCommonHTML,CHTMLhandleBBox:MML.msqrt.prototype.CHTMLhandleBBox,CHTMLaddRoot:function(sqrt,sbox,d){if(this.data[1]){var BBOX=this.CHTML,bbox=this.data[1].CHTML,root=sqrt.firstChild,scale=bbox.rscale,h=this.CHTMLrootHeight(bbox,sbox,scale)-d,w=Math.min(bbox.w,bbox.r),dx=Math.max(w,sbox.offset/scale);return h&&(root.style.verticalAlign=CHTML.Em(h/scale)),dx>w&&(root.firstChild.style.paddingLeft=CHTML.Em(dx-w)),dx-=sbox.offset/scale,root.style.width=CHTML.Em(dx),BBOX.combine(bbox,0,h),dx*scale}},CHTMLrootHeight:function(bbox,sbox,scale){return.45*(sbox.h+sbox.d-.9)+sbox.offset+Math.max(0,bbox.d-.075)}}),MML.mfenced.Augment({toCommonHTML:function(node){node=this.CHTMLcreateNode(node),this.CHTMLhandleStyle(node),this.CHTMLhandleScale(node),this.CHTMLaddChild(node,\"open\",{});for(var i=0,m=this.data.length;i<m;i++)this.CHTMLaddChild(node,\"sep\"+i,{}),this.CHTMLaddChild(node,i,{});this.CHTMLaddChild(node,\"close\",{});var H=this.CHTML.h,D=this.CHTML.d;for(this.CHTMLstretchChildV(\"open\",H,D),i=0,m=this.data.length;i<m;i++)this.CHTMLstretchChildV(\"sep\"+i,H,D),this.CHTMLstretchChildV(i,H,D);return this.CHTMLstretchChildV(\"close\",H,D),this.CHTMLhandleSpace(node),this.CHTMLhandleBBox(node),this.CHTMLhandleColor(node),node}}),MML.mrow.Augment({toCommonHTML:function(node,options){options=options||{},node=this.CHTMLdefaultNode(node);for(var bbox=this.CHTML,H=bbox.h,D=bbox.d,hasNegative,i=0,m=this.data.length;i<m;i++)this.CHTMLstretchChildV(i,H,D),this.data[i]&&this.data[i].CHTML&&this.data[i].CHTML.w<0&&(hasNegative=!0);return this.CHTMLlineBreaks()?(this.CHTMLmultiline(node),options.autowidth&&(node.style.width=\"\")):(hasNegative&&bbox.w&&(node.style.width=CHTML.Em(Math.max(0,bbox.w))),bbox.w<0&&(node.style.marginRight=CHTML.Em(bbox.w))),node},CHTMLlineBreaks:function(){return!!this.parent.linebreakContainer&&(LINEBREAKS.automatic&&this.CHTML.w>CHTML.linebreakWidth||this.hasNewline())},CHTMLstretchV:function(h,d){return this.CHTMLstretchChildV(this.CoreIndex(),h,d),this.CHTML},CHTMLstretchH:function(node,w){return this.CHTMLstretchChildH(this.CoreIndex(),w,node),this.CHTML}}),MML.TeXAtom.Augment({toCommonHTML:function(node,options){if(options&&options.stretch||(node=this.CHTMLdefaultNode(node)),this.texClass===MML.TEXCLASS.VCENTER){var a=CHTML.TEX.axis_height,BBOX=this.CHTML,v=a-(BBOX.h+BBOX.d)/2+BBOX.d;Math.abs(v)>.001&&(node.style.verticalAlign=CHTML.Em(v),BBOX.h+=v,BBOX.t+=v,BBOX.d-=v,BBOX.b-=v)}return node},CHTMLstretchV:function(h,d){return this.CHTMLupdateFrom(this.Core().CHTMLstretchV(h,d)),this.toCommonHTML(this.CHTMLnodeElement(),{stretch:!0}),this.CHTML},CHTMLstretchH:function(node,w){return this.CHTMLupdateFrom(this.CHTMLstretchCoreH(node,w)),this.toCommonHTML(node,{stretch:!0}),this.CHTML}}),MML.semantics.Augment({toCommonHTML:function(node){return node=this.CHTMLcreateNode(node),this.data[0]&&(this.data[0].toCommonHTML(node),this.CHTMLupdateFrom(this.data[0].CHTML),this.CHTMLhandleBBox(node)),node}}),MML.annotation.Augment({toCommonHTML:function(node){return this.CHTMLcreateNode(node)}}),MML[\"annotation-xml\"].Augment({toCommonHTML:MML.mbase.CHTMLautoload}),MML.ms.Augment({toCommonHTML:MML.mbase.CHTMLautoload}),MML.mglyph.Augment({toCommonHTML:MML.mbase.CHTMLautoload}),MML.menclose.Augment({toCommonHTML:MML.mbase.CHTMLautoload}),MML.maction.Augment({toCommonHTML:MML.mbase.CHTMLautoload}),MML.mmultiscripts.Augment({toCommonHTML:MML.mbase.CHTMLautoload}),MML.mtable.Augment({toCommonHTML:MML.mbase.CHTMLautoload}),MathJax.Hub.Register.StartupHook(\"onLoad\",(function(){setTimeout(MathJax.Callback([\"loadComplete\",CHTML,\"jax.js\"]),0)}))})),MathJax.Hub.Register.StartupHook(\"End Cookie\",(function(){\"None\"!==HUB.config.menuSettings.zoom&&AJAX.Require(\"[MathJax]/extensions/MathZoom.js\")}))}(MathJax.Ajax,MathJax.Hub,MathJax.HTML,MathJax.OutputJax.CommonHTML),MathJax.Hub.Register.StartupHook(\"CommonHTML Jax Ready\",(function(){var VERSION=\"2.7.5\",MML=MathJax.ElementJax.mml,CHTML=MathJax.OutputJax.CommonHTML;MML[\"annotation-xml\"].Augment({toCommonHTML:function(node){var encoding=this.Get(\"encoding\");return node=this.CHTMLdefaultNode(node,{childOptions:{encoding:encoding}}),1!==this.CHTML.rscale&&this.CHTML.rescale(1/this.CHTML.rscale),node}}),MML.xml.Augment({toCommonHTML:function(node,options){for(var bbox=this.CHTML=CHTML.BBOX.zero(),i=0,m=this.data.length;i<m;i++)node.appendChild(this.data[i].cloneNode(!0));var w=node.offsetWidth,h=node.offsetHeight,strut=CHTML.addElement(node,\"mjx-hd-test\",{style:{height:h+\"px\"}});bbox.d=bbox.b=(node.offsetHeight-h)/CHTML.em,bbox.w=bbox.r=w/CHTML.em,bbox.h=bbox.t=h/CHTML.em-bbox.d,node.removeChild(strut)}}),MathJax.Hub.Startup.signal.Post(\"CommonHTML annotation-xml Ready\"),MathJax.Ajax.loadComplete(CHTML.autoloadDir+\"/annotation-xml.js\")})),MathJax.Hub.Register.StartupHook(\"CommonHTML Jax Ready\",(function(){var VERSION=\"2.7.5\",MML=MathJax.ElementJax.mml,CHTML=MathJax.OutputJax.CommonHTML,currentTip,hover,clear,CONFIG=CHTML.config.tooltip=MathJax.Hub.Insert({delayPost:600,delayClear:600,offsetX:10,offsetY:5},CHTML.config.tooltip||{});MML.maction.Augment({CHTMLtooltip:CHTML.addElement(document.body,\"div\",{id:\"MathJax_CHTML_Tooltip\"}),toCommonHTML:function(node){var selected=this.Get(\"selection\");node=this.CHTMLcreateNode(node),this.CHTML=CHTML.BBOX.empty(),this.CHTMLhandleStyle(node),this.CHTMLhandleScale(node),this.CHTMLaddChild(node,selected-1,{}),this.CHTML.clean(),this.CHTMLhandleSpace(node),this.CHTMLhandleBBox(node),this.CHTMLhandleColor(node);var type=this.Get(\"actiontype\");return this.CHTMLaction[type]&&this.CHTMLaction.hasOwnProperty(type)&&this.CHTMLaction[type].call(this,node,selected),node},CHTMLcoreNode:function(node){return this.CHTMLchildNode(node,0)},CHTMLaction:{toggle:function(node,selection){this.selection=selection,node.onclick=MathJax.Callback([\"CHTMLclick\",this,CHTML.jax]),node.style.cursor=\"pointer\"},statusline:function(node,selection){node.onmouseover=MathJax.Callback([\"CHTMLsetStatus\",this]),node.onmouseout=MathJax.Callback([\"CHTMLclearStatus\",this]),node.onmouseover.autoReset=node.onmouseout.autoReset=!0},tooltip:function(node,selection){this.data[1]&&this.data[1].isToken?node.title=node.alt=this.data[1].data.join(\"\"):(node.onmouseover=MathJax.Callback([\"CHTMLtooltipOver\",this,CHTML.jax]),node.onmouseout=MathJax.Callback([\"CHTMLtooltipOut\",this,CHTML.jax]),node.onmouseover.autoReset=node.onmouseout.autoReset=!0)}},CHTMLclick:function(jax,event){this.selection++,this.selection>this.data.length&&(this.selection=1);var hover=!!jax.hover;if(jax.Update(),hover){var span=document.getElementById(jax.inputID+\"-Span\");MathJax.Extension.MathEvents.Hover.Hover(jax,span)}return MathJax.Extension.MathEvents.Event.False(event)},CHTMLsetStatus:function(event){this.messageID=MathJax.Message.Set(this.data[1]&&this.data[1].isToken?this.data[1].data.join(\"\"):this.data[1].toString())},CHTMLclearStatus:function(event){this.messageID&&MathJax.Message.Clear(this.messageID,0),delete this.messageID},CHTMLtooltipOver:function(jax,event){event||(event=window.event),clear&&(clearTimeout(clear),clear=null),hover&&clearTimeout(hover);var x=event.pageX,y=event.pageY;null==x&&(x=event.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,y=event.clientY+document.body.scrollTop+document.documentElement.scrollTop);var callback=MathJax.Callback([\"CHTMLtooltipPost\",this,jax,x+CONFIG.offsetX,y+CONFIG.offsetY]);hover=setTimeout(callback,CONFIG.delayPost)},CHTMLtooltipOut:function(jax,event){hover&&(clearTimeout(hover),hover=null),clear&&clearTimeout(clear);var callback=MathJax.Callback([\"CHTMLtooltipClear\",this,80]);clear=setTimeout(callback,CONFIG.delayClear)},CHTMLtooltipPost:function(jax,x,y){hover=null,clear&&(clearTimeout(clear),clear=null);var tip=this.CHTMLtooltip;if(tip.style.display=\"block\",tip.style.opacity=\"\",this!==currentTip){tip.style.left=x+\"px\",tip.style.top=y+\"px\",tip.innerHTML='<span class=\"mjx-chtml\"><span class=\"mjx-math\"></span></span>',CHTML.getMetrics(jax);try{this.data[1].toCommonHTML(tip.firstChild.firstChild)}catch(err){if(!err.restart)throw err;return tip.style.display=\"none\",void MathJax.Callback.After([\"CHTMLtooltipPost\",this,jax,x,y],err.restart)}currentTip=this}},CHTMLtooltipClear:function(n){var tip=this.CHTMLtooltip;n<=0?(tip.style.display=\"none\",tip.style.opacity=tip.style.filter=\"\",clear=null):(tip.style.opacity=n/100,tip.style.filter=\"alpha(opacity=\"+n+\")\",clear=setTimeout(MathJax.Callback([\"CHTMLtooltipClear\",this,n-20]),50))}}),MathJax.Hub.Startup.signal.Post(\"CommonHTML maction Ready\"),MathJax.Ajax.loadComplete(CHTML.autoloadDir+\"/maction.js\")})),MathJax.Hub.Register.StartupHook(\"CommonHTML Jax Ready\",(function(){var VERSION=\"2.7.5\",MML=MathJax.ElementJax.mml,CHTML=MathJax.OutputJax.CommonHTML,SVGNS=\"http://www.w3.org/2000/svg\",ARROWX=4,ARROWDX=1,ARROWY=2;MML.menclose.Augment({toCommonHTML:function(node){var values=this.getValues(\"notation\",\"thickness\",\"padding\");null==values.thickness&&(values.thickness=\".075em\"),null==values.padding&&(values.padding=\".2em\");var child=(node=this.CHTMLdefaultNode(node,{childNodes:\"mjx-box\",forceChild:!0})).firstChild,cbox=this.CHTMLbboxFor(0),p=this.CHTMLlength2em(values.padding,1/CHTML.em),t=this.CHTMLlength2em(values.thickness,1/CHTML.em);t=Math.max(1,Math.round(t*CHTML.em))/CHTML.em;var SOLID=CHTML.Px(t)+\" solid\",bb={L:p,R:p,T:p,B:p,H:cbox.h+p,D:cbox.d+p,W:cbox.w+2*p};child.style.padding=CHTML.Em(p);for(var notations=MathJax.Hub.SplitList(values.notation),notation={},i=0,m=notations.length;i<m;i++)notation[notations[i]]=!0;for(var n in notation[MML.NOTATION.UPDIAGONALARROW]&&delete notation[MML.NOTATION.UPDIAGONALSTRIKE],notation)notation.hasOwnProperty(n)&&this.CHTMLnotation[n]&&this.CHTMLnotation.hasOwnProperty(n)&&this.CHTMLnotation[n].call(this,child,cbox,bb,p,t,SOLID);var BBOX=this.CHTML;return BBOX.w+=bb.L+bb.R,BBOX.r+=BBOX.L,BBOX.w>BBOX.r&&(BBOX.r=BBOX.w),BBOX.h+=bb.T,BBOX.h>BBOX.t&&(BBOX.t=BBOX.h),BBOX.d+=bb.B,BBOX.d>BBOX.b&&(BBOX.b=BBOX.d),node},CHTMLnotation:{box:function(child,cbox,bb,p,t,SOLID){p-=t,child.style.padding=CHTML.Em(p),child.style.border=SOLID},roundedbox:function(child,cbox,bb,p,t,SOLID){var r=Math.min(cbox.w,cbox.h+cbox.d+2*p)/4;CHTML.addElement(child.parentNode,\"mjx-box\",{style:{padding:CHTML.Em(p-t),border:SOLID,\"border-radius\":CHTML.Em(r),height:CHTML.Em(cbox.h+cbox.d),\"vertical-align\":CHTML.Em(-bb.D),width:CHTML.Em(cbox.w),\"margin-left\":CHTML.Em(-bb.W)}})},circle:function(child,cbox,bb,p,t,SOLID){var H=bb.H,D=bb.D,W=bb.W,svg=this.CHTMLsvg(child,bb,t);this.CHTMLsvgElement(svg.firstChild,\"ellipse\",{rx:CHTML.Px(W/2-t/2),ry:CHTML.Px((H+D)/2-t/2),cx:CHTML.Px(W/2),cy:CHTML.Px((H+D)/2)})},left:function(child,cbox,bb,p,t,SOLID){child.style.borderLeft=SOLID,child.style.paddingLeft=CHTML.Em(p-t)},right:function(child,cbox,bb,p,t,SOLID){child.style.borderRight=SOLID,child.style.paddingRight=CHTML.Em(p-t)},top:function(child,cbox,bb,p,t,SOLID){child.style.borderTop=SOLID,child.style.paddingTop=CHTML.Em(p-t)},bottom:function(child,cbox,bb,p,t,SOLID){child.style.borderBottom=SOLID,child.style.paddingBottom=CHTML.Em(p-t)},actuarial:function(child,cbox,bb,p,t,SOLID){child.style.borderTop=child.style.borderRight=SOLID,child.style.paddingTop=child.style.paddingRight=CHTML.Em(p-t)},madruwb:function(child,cbox,bb,p,t,SOLID){child.style.borderBottom=child.style.borderRight=SOLID,child.style.paddingBottom=child.style.paddingRight=CHTML.Em(p-t)},verticalstrike:function(child,cbox,bb,p,t,SOLID){CHTML.addElement(child.parentNode,\"mjx-box\",{style:{\"border-left\":SOLID,height:CHTML.Em(bb.H+bb.D),\"vertical-align\":CHTML.Em(-bb.D),width:CHTML.Em(cbox.w/2+p-t/2),\"margin-left\":CHTML.Em(-cbox.w/2-p-t/2)}})},horizontalstrike:function(child,cbox,bb,p,t,SOLID){CHTML.addElement(child.parentNode,\"mjx-box\",{style:{\"border-top\":SOLID,height:CHTML.Em((bb.H+bb.D)/2-t/2),\"vertical-align\":CHTML.Em(-bb.D),width:CHTML.Em(bb.W),\"margin-left\":CHTML.Em(-bb.W)}})},updiagonalstrike:function(child,cbox,bb,p,t,SOLID){var H=bb.H,D=bb.D,W=bb.W,svg=this.CHTMLsvg(child,bb,t);this.CHTMLsvgElement(svg.firstChild,\"line\",{x1:CHTML.Px(t/2),y1:CHTML.Px(H+D-t),x2:CHTML.Px(W-t),y2:CHTML.Px(t/2)})},downdiagonalstrike:function(child,cbox,bb,p,t,SOLID){var H=bb.H,D=bb.D,W=bb.W,svg=this.CHTMLsvg(child,bb,t);this.CHTMLsvgElement(svg.firstChild,\"line\",{x1:CHTML.Px(t/2),y1:CHTML.Px(t/2),x2:CHTML.Px(W-t),y2:CHTML.Px(H+D-t)})},updiagonalarrow:function(child,cbox,bb,p,t,SOLID){var H=bb.H+bb.D-t,W=bb.W-t/2,a=Math.atan2(H,W)*(-180/Math.PI).toFixed(3),R=Math.sqrt(H*H+W*W),svg=this.CHTMLsvg(child,bb,t),g=this.CHTMLsvgElement(svg.firstChild,\"g\",{fill:\"currentColor\",transform:\"translate(\"+this.CHTMLpx(t/2)+\" \"+this.CHTMLpx(H+t/2)+\") rotate(\"+a+\")\"}),x=4*t,dx=1*t,y=2*t;this.CHTMLsvgElement(g,\"line\",{x1:CHTML.Px(t/2),y1:0,x2:CHTML.Px(R-x),y2:0}),this.CHTMLsvgElement(g,\"path\",{d:\"M \"+this.CHTMLpx(R-x)+\",0 L \"+this.CHTMLpx(R-x-dx)+\",\"+this.CHTMLpx(y)+\"L \"+this.CHTMLpx(R)+\",0 L \"+this.CHTMLpx(R-x-dx)+\",\"+this.CHTMLpx(-y),stroke:\"none\"})},phasorangle:function(child,cbox,bb,p,t,SOLID){var P=p,H=bb.H,D=bb.D;p=(H+D)/2;var W=bb.W+p-P;bb.W=W,bb.L=p,child.style.margin=\"0 0 0 \"+CHTML.Em(p-P);var svg=this.CHTMLsvg(child,bb,t);this.CHTMLsvgElement(svg.firstChild,\"path\",{d:\"M \"+this.CHTMLpx(p)+\",1 L 1,\"+this.CHTMLpx(H+D-t)+\" L \"+this.CHTMLpx(W)+\",\"+this.CHTMLpx(H+D-t)})},longdiv:function(child,cbox,bb,p,t,SOLID){bb.W+=1.5*p,bb.L+=1.5*p;var H=bb.H,D=bb.D,W=bb.W;child.style.margin=\"0 0 0 \"+CHTML.Em(1.5*p);var svg=this.CHTMLsvg(child,bb,t);this.CHTMLsvgElement(svg.firstChild,\"path\",{d:\"M \"+this.CHTMLpx(W)+\",1 L 1,1 a\"+this.CHTMLpx(p)+\",\"+this.CHTMLpx((H+D)/2-t/2)+\" 0 0,1 1,\"+this.CHTMLpx(H+D-1.5*t)})},radical:function(child,cbox,bb,p,t,SOLID){bb.W+=1.5*p,bb.L+=1.5*p;var H=bb.H,D=bb.D,W=bb.W;child.style.margin=\"0 0 0 \"+CHTML.Em(1.5*p);var svg=this.CHTMLsvg(child,bb,t);this.CHTMLsvgElement(svg.firstChild,\"path\",{d:\"M 1,\"+this.CHTMLpx(.6*(H+D))+\" L \"+this.CHTMLpx(p)+\",\"+this.CHTMLpx(H+D)+\" L \"+this.CHTMLpx(2*p)+\",1 L \"+this.CHTMLpx(W)+\",1\"})}},CHTMLpx:function(m){return m*=CHTML.em,Math.abs(m)<.1?\"0\":m.toFixed(1).replace(/\\.0$/,\"\")},CHTMLsvg:function(node,bbox,t){if(!svg){var svg=document.createElementNS(SVGNS,\"svg\");svg.style&&(svg.style.width=CHTML.Em(bbox.W),svg.style.height=CHTML.Em(bbox.H+bbox.D),svg.style.verticalAlign=CHTML.Em(-bbox.D),svg.style.marginLeft=CHTML.Em(-bbox.W)),this.CHTMLsvgElement(svg,\"g\",{\"stroke-width\":CHTML.Px(t)}),node.parentNode.appendChild(svg)}return svg},CHTMLsvgElement:function(svg,type,def){var obj=document.createElementNS(SVGNS,type);if(obj.isMathJax=!0,def)for(var id in def)def.hasOwnProperty(id)&&obj.setAttributeNS(null,id,def[id].toString());return svg.appendChild(obj),obj}}),document.createElementNS||delete MML.menclose.prototype.toCommonHTML,MathJax.Hub.Startup.signal.Post(\"CommonHTML menclose Ready\"),MathJax.Ajax.loadComplete(CHTML.autoloadDir+\"/menclose.js\")})),MathJax.Hub.Register.StartupHook(\"CommonHTML Jax Ready\",(function(){var VERSION=\"2.7.5\",MML=MathJax.ElementJax.mml,CHTML=MathJax.OutputJax.CommonHTML,LOCALE=MathJax.Localization;MML.mglyph.Augment({toCommonHTML:function(node,options){var values=this.getValues(\"src\",\"width\",\"height\",\"valign\",\"alt\");if(node=this.CHTMLcreateNode(node),this.CHTMLhandleStyle(node),this.CHTMLhandleScale(node),\"\"===values.src){var index=this.Get(\"index\");this.CHTMLgetVariant(),index&&this.CHTMLvariant.style&&this.CHTMLhandleText(node,String.fromCharCode(index),this.CHTMLvariant)}else{var bbox=this.CHTML;if(bbox.img||(bbox.img=MML.mglyph.GLYPH[values.src]),bbox.img||(bbox.img=MML.mglyph.GLYPH[values.src]={img:new Image,status:\"pending\"},bbox.img.img.onload=MathJax.Callback([\"CHTMLimgLoaded\",this]),bbox.img.img.onerror=MathJax.Callback([\"CHTMLimgError\",this]),bbox.img.img.src=values.src,MathJax.Hub.RestartAfter(bbox.img.img.onload)),\"OK\"!==bbox.img.status){var err=MML.Error(LOCALE._([\"MathML\",\"BadMglyph\"],\"Bad mglyph: %1\",values.src));err.data[0].data[0].mathsize=\"75%\",this.Append(err),err.toCommonHTML(node),this.data.pop(),bbox.combine(err.CHTML,0,0,1)}else{var img=CHTML.addElement(node,\"img\",{isMathJax:!0,src:values.src,alt:values.alt,title:values.alt}),w=values.width,h=values.height,W=bbox.img.img.width/CHTML.em,H=bbox.img.img.height/CHTML.em,WW=W,HH=H;\"\"!==w&&(W=this.CHTMLlength2em(w,WW),H=WW?W/WW*HH:0),\"\"!==h&&(H=this.CHTMLlength2em(h,HH),\"\"===w&&(W=HH?H/HH*WW:0)),img.style.width=CHTML.Em(W),bbox.w=bbox.r=W,img.style.height=CHTML.Em(H),bbox.h=bbox.t=H,values.valign&&(bbox.d=bbox.b=-this.CHTMLlength2em(values.valign,HH),img.style.verticalAlign=CHTML.Em(-bbox.d),bbox.h-=bbox.d,bbox.t=bbox.h)}}return this.CHTMLhandleSpace(node),this.CHTMLhandleBBox(node),this.CHTMLhandleColor(node),node},CHTMLimgLoaded:function(event,status){\"string\"==typeof event&&(status=event),this.CHTML.img.status=status||\"OK\"},CHTMLimgError:function(){this.CHTML.img.img.onload(\"error\")}},{GLYPH:{}}),MathJax.Hub.Startup.signal.Post(\"CommonHTML mglyph Ready\"),MathJax.Ajax.loadComplete(CHTML.autoloadDir+\"/mglyph.js\")})),MathJax.Hub.Register.StartupHook(\"CommonHTML Jax Ready\",(function(){var VERSION=\"2.7.5\",MML=MathJax.ElementJax.mml,CHTML=MathJax.OutputJax.CommonHTML;MML.mmultiscripts.Augment({toCommonHTML:function(node,options){var stretch=(options||{}).stretch,base,bbox;stretch||(node=this.CHTMLcreateNode(node),this.CHTMLhandleStyle(node),this.CHTMLgetVariant(),this.CHTMLhandleScale(node)),CHTML.BBOX.empty(this.CHTML),stretch?base=CHTML.getNode(node,\"mjx-base\"):(this.CHTMLaddChild(node,0,{type:\"mjx-base\",noBBox:!0,forceChild:!0}),base=node.firstChild),(bbox=this.CHTMLbboxFor(0)).ic&&(bbox.R-=bbox.ic,stretch||(base.style.marginRight=CHTML.Em(-bbox.ic)),delta=1.3*bbox.ic+.05);var BOX={},BBOX={};this.CHTMLgetScripts(BOX,BBOX,stretch,node);var sub=BOX.sub,sup=BOX.sup,presub=BOX.presub,presup=BOX.presup,sbox=BBOX.sub,Sbox=BBOX.sup,pbox=BBOX.presub,Pbox=BBOX.presup;stretch||this.CHTMLaddBoxes(node,base,BOX);var values=this.getValues(\"scriptlevel\",\"scriptsizemultiplier\"),sscale=this.Get(\"scriptlevel\")<3?values.scriptsizemultiplier:1,ex=CHTML.TEX.x_height,s=CHTML.TEX.scriptspace,q=CHTML.TEX.sup_drop*sscale,r=CHTML.TEX.sub_drop*sscale,u=bbox.h-q,v=bbox.d+r,delta=0,p,bmml=this.data[this.base];!bmml||\"mi\"!==bmml.type&&\"mo\"!==bmml.type||!CHTML.isChar(bmml.data.join(\"\"))||1!==bbox.rscale||bbox.sH||bmml.Get(\"largeop\")||(u=v=0),(values=this.getValues(\"displaystyle\",\"subscriptshift\",\"superscriptshift\",\"texprimestyle\")).subscriptshift=\"\"===values.subscriptshift?0:this.CHTMLlength2em(values.subscriptshift),values.superscriptshift=\"\"===values.superscriptshift?0:this.CHTMLlength2em(values.superscriptshift);var dx=presub?s+pbox.w:presup?s+Pbox.w-delta:0;this.CHTML.combine(bbox,dx,0);var x=this.CHTML.w;if(sup||presup)if(sub||presub){v=Math.max(v,CHTML.TEX.sub2);var t=CHTML.TEX.rule_thickness,h=(sbox||pbox).h,d=(Sbox||Pbox).d;presub&&(h=Math.max(h,pbox.h)),presup&&(d=Math.max(d,Pbox.d)),u-d-(h-v)<3*t&&(v=3*t-u+d+h,(q=.8*ex-(u-d))>0&&(u+=q,v-=q)),u=Math.max(u,values.superscriptshift),v=Math.max(v,values.subscriptshift),sup?sub?this.CHTMLplaceSubSup(sub,sbox,sup,Sbox,x,delta,u,v,s):this.CHTMLplaceSupOnly(sup,Sbox,x,delta,u,s):sub&&this.CHTMLplaceSubOnly(sub,sbox,x,v,s),presup?presub?this.CHTMLplacePresubPresup(presub,pbox,presup,Pbox,delta,u,v,s):this.CHTMLplacePresupOnly(presup,Pbox,delta,u,s):presub&&this.CHTMLplacePresubOnly(presub,pbox,v,s)}else p=CHTML.TEX[values.displaystyle?\"sup1\":values.texprimestyle?\"sup3\":\"sup2\"],u=Math.max(u,p,values.superscriptshift),sup&&(u=Math.max(u,Sbox.d+.25*ex)),presup&&(u=Math.max(u,Pbox.d+.25*ex)),sup&&this.CHTMLplaceSupOnly(sup,Sbox,x,delta,u,s),presup&&this.CHTMLplacePresupOnly(presup,Pbox,delta,u,s);else v=Math.max(v,CHTML.TEX.sub1,values.subscriptshift),sub&&(v=Math.max(v,sbox.h-.8*ex)),presub&&(v=Math.max(v,pbox.h-.8*ex)),sub&&this.CHTMLplaceSubOnly(sub,sbox,x,v,s),presub&&this.CHTMLplacePresubOnly(presub,pbox,v,s);return this.CHTML.clean(),this.CHTMLhandleSpace(node),this.CHTMLhandleBBox(node),this.CHTMLhandleColor(node),node},CHTMLgetScripts:function(BOX,BBOX,stretch,node){if(stretch)return BOX.sub=CHTML.getNode(node,\"mjx-sub\"),BOX.sup=CHTML.getNode(node,\"mjx-sup\"),BOX.presub=CHTML.getNode(node,\"mjx-presub\"),BOX.presup=CHTML.getNode(node,\"mjx-presup\"),BBOX.sub=this.CHTMLbbox.sub,BBOX.sup=this.CHTMLbbox.sup,BBOX.presub=this.CHTMLbbox.presub,void(BBOX.presup=this.CHTMLbbox.presup);this.CHTMLbbox=BBOX;for(var state={i:1,w:0,BOX:BOX,BBOX:BBOX},m=this.data.length,sub=\"sub\",sup=\"sup\";state.i<m;)if(\"mprescripts\"===(this.data[state.i]||{}).type)state.i++,state.w=0,sub=\"presub\",sup=\"presup\";else{var sbox=this.CHTMLaddScript(sub,state,node),Sbox=this.CHTMLaddScript(sup,state,node),w=Math.max(sbox?sbox.rscale*sbox.w:0,Sbox?Sbox.rscale*Sbox.w:0);this.CHTMLpadScript(sub,w,sbox,state),this.CHTMLpadScript(sup,w,Sbox,state),state.w+=w}BBOX.sub&&BBOX.sub.clean(),BBOX.sup&&BBOX.sup.clean(),BBOX.presub&&BBOX.presub.clean(),BBOX.presup&&BBOX.presup.clean()},CHTMLaddScript:function(type,state,node){var BOX,BBOX,data=this.data[state.i];return data&&\"none\"!==data.type&&\"mprescripts\"!==data.type&&((BOX=state.BOX[type])||(BOX=state.BOX[type]=CHTML.addElement(node,\"mjx-\"+type),BBOX=state.BBOX[type]=CHTML.BBOX.empty(),state.w&&(BOX.style.paddingLeft=CHTML.Em(state.w),BBOX.w=BBOX.r=state.w,BBOX.x=state.w)),data.toCommonHTML(BOX),BBOX=data.CHTML),data&&\"mprescripts\"!==data.type&&state.i++,BBOX},CHTMLpadScript:function(type,w,bbox,state){bbox||(bbox={w:0,fake:1,rscale:1});var BBOX=state.BBOX[type],dx=0,dw=0;if(BBOX){if(bbox.rscale*bbox.w<w){var BOX=state.BOX[type];dw=w-bbox.rscale*bbox.w;var space=CHTML.Element(\"mjx-spacer\",{style:{width:CHTML.Em(dw)}});\"pre\"!==type.substr(0,3)||bbox.fake?BOX.appendChild(space):(BOX.insertBefore(space,BOX.lastChild),dx=dw,dw=0)}bbox.fake?BBOX.w+=dx:BBOX.combine(bbox,BBOX.w+dx,0),BBOX.w+=dw}},CHTMLaddBoxes:function(node,base,BOX){var sub=BOX.sub,sup=BOX.sup,presub=BOX.presub,presup=BOX.presup;if(presub&&presup){var prestack=CHTML.Element(\"mjx-prestack\");node.insertBefore(prestack,base),prestack.appendChild(presup),prestack.appendChild(presub)}else presub&&node.insertBefore(presub,base),presup&&node.insertBefore(presup,base);if(sub&&sup){var stack=CHTML.addElement(node,\"mjx-stack\");stack.appendChild(sup),stack.appendChild(sub)}else sub&&node.appendChild(sub),sup&&node.appendChild(sup)},CHTMLplaceSubOnly:function(sub,sbox,x,v,s){sub.style.verticalAlign=CHTML.Em(-v),sub.style.marginRight=CHTML.Em(s),sbox.w+=s,this.CHTML.combine(sbox,x,-v)},CHTMLplaceSupOnly:function(sup,Sbox,x,delta,u,s){sup.style.verticalAlign=CHTML.Em(u),sup.style.paddingLeft=CHTML.Em(delta),sup.style.paddingRight=CHTML.Em(s),Sbox.w+=s,this.CHTML.combine(Sbox,x+delta,u)},CHTMLplaceSubSup:function(sub,sbox,sup,Sbox,x,delta,u,v,s){sub.style.paddingRight=CHTML.Em(s),sbox.w+=s,sup.style.paddingBottom=CHTML.Em(u+v-Sbox.d-sbox.h),sup.style.paddingLeft=CHTML.Em(delta+(Sbox.x||0)),sup.style.paddingRight=CHTML.Em(s),Sbox.w+=s,sup.parentNode.style.verticalAlign=CHTML.Em(-v),this.CHTML.combine(sbox,x,-v),this.CHTML.combine(Sbox,x+delta,u)},CHTMLplacePresubOnly:function(presub,pbox,v,s){presub.style.verticalAlign=CHTML.Em(-v),presub.style.marginLeft=CHTML.Em(s),this.CHTML.combine(pbox,s,-v)},CHTMLplacePresupOnly:function(presup,Pbox,delta,u,s){presup.style.verticalAlign=CHTML.Em(u),presup.style.paddingLeft=CHTML.Em(s),presup.style.paddingRight=CHTML.Em(-delta),this.CHTML.combine(Pbox,s,u)},CHTMLplacePresubPresup:function(presub,pbox,presup,Pbox,delta,u,v,s){presub.style.paddingLeft=CHTML.Em(s),presup.style.paddingBottom=CHTML.Em(u+v-Pbox.d-pbox.h),presup.style.paddingLeft=CHTML.Em(delta+s+(Pbox.x||0)),presup.style.paddingRight=CHTML.Em(-delta),presup.parentNode.style.verticalAlign=CHTML.Em(-v),this.CHTML.combine(pbox,s,-v),this.CHTML.combine(Pbox,s+delta,u)},CHTMLstretchH:MML.mbase.CHTMLstretchH,CHTMLstretchV:MML.mbase.CHTMLstretchV}),MathJax.Hub.Startup.signal.Post(\"CommonHTML mmultiscripts Ready\"),MathJax.Ajax.loadComplete(CHTML.autoloadDir+\"/mmultiscripts.js\")})),MathJax.Hub.Register.StartupHook(\"CommonHTML Jax Ready\",(function(){var VERSION=\"2.7.5\",MML=MathJax.ElementJax.mml,CHTML=MathJax.OutputJax.CommonHTML;MML.ms.Augment({toCommonHTML:function(node){node=this.CHTMLcreateNode(node),this.CHTMLhandleStyle(node),this.CHTMLgetVariant(),this.CHTMLhandleScale(node),CHTML.BBOX.empty(this.CHTML);var values=this.getValues(\"lquote\",\"rquote\",\"mathvariant\");this.hasValue(\"lquote\")&&'\"'!==values.lquote||(values.lquote=\"“\"),this.hasValue(\"rquote\")&&'\"'!==values.rquote||(values.rquote=\"”\"),\"“\"===values.lquote&&\"monospace\"===values.mathvariant&&(values.lquote='\"'),\"”\"===values.rquote&&\"monospace\"===values.mathvariant&&(values.rquote='\"');var text=values.lquote+this.data.join(\"\")+values.rquote;return this.CHTMLhandleText(node,text,this.CHTMLvariant),this.CHTML.clean(),this.CHTMLhandleSpace(node),this.CHTMLhandleBBox(node),this.CHTMLhandleColor(node),node}}),MathJax.Hub.Startup.signal.Post(\"CommonHTML ms Ready\"),MathJax.Ajax.loadComplete(CHTML.autoloadDir+\"/ms.js\")})),MathJax.Hub.Register.StartupHook(\"CommonHTML Jax Ready\",(function(){var VERSION=\"2.7.5\",MML=MathJax.ElementJax.mml,CONFIG=MathJax.Hub.config,CHTML=MathJax.OutputJax.CommonHTML,SPLIT=MathJax.Hub.SplitList,LABEL=-1,BIGDIMEN=1e6;MML.mtable.Augment({toCommonHTML:function(node){var state={rows:[],labels:[],labeled:!1};node=this.CHTMLdefaultNode(node,{noBBox:!0,childOptions:state});for(var table=CHTML.Element(\"mjx-table\");node.firstChild;)table.appendChild(node.firstChild);node.appendChild(table);var values=this.getValues(\"columnalign\",\"rowalign\",\"columnspacing\",\"rowspacing\",\"columnwidth\",\"equalcolumns\",\"equalrows\",\"columnlines\",\"rowlines\",\"frame\",\"framespacing\",\"align\",\"width\",\"side\",\"minlabelspacing\",\"useHeight\"),t=CHTML.TEX.min_rule_thickness/CHTML.em;state.t=CHTML.Px(t*this.CHTML.scale,1),this.CHTMLgetBoxSizes(values,state),this.CHTMLgetAttributes(values,state),this.CHTMLadjustCells(values,state),values.frame&&(table.style.border=state.t+\" \"+values.frame),this.CHTMLalignV(values,state,node),this.CHTMLcolumnWidths(values,state,node),this.CHTMLstretchCells(values,state),state.labeled&&this.CHTMLaddLabels(values,state,node,table);var BBOX=this.CHTML;return BBOX.w=BBOX.r=state.R,BBOX.h=BBOX.t=state.T-state.B,BBOX.d=BBOX.b=state.B,values.frame||BBOX.pwidth||(node.style.padding=\"0 \"+CHTML.Em(1/6),BBOX.L=BBOX.R=1/6),this.CHTMLhandleSpace(node),this.CHTMLhandleBBox(node),this.CHTMLhandleColor(node),node},CHTMLgetBoxSizes:function(values,state){var LH=CHTML.FONTDATA.lineH*values.useHeight,LD=CHTML.FONTDATA.lineD*values.useHeight,H=[],D=[],W=[],J=-1,i,m;for(i=0,m=this.data.length;i<m;i++){var row=this.data[i],s=\"mtr\"===row.type?0:-1;H[i]=LH,D[i]=LD;for(var j=s,M=row.data.length+s;j<M;j++){null==W[j]&&(W[j]=-1e6,j>J&&(J=j));var cbox=row.data[j-s].CHTML;cbox.h>H[i]&&(H[i]=cbox.h),cbox.d>D[i]&&(D[i]=cbox.d),cbox.w>W[j]&&(W[j]=cbox.w)}}if(values.equalrows){state.HD=!0;var HH=Math.max.apply(Math,H),DD=Math.max.apply(Math,D);for(i=0,m=H.length;i<m;i++)H[i]=HH,D[i]=DD}state.H=H,state.D=D,state.W=W,state.J=J},CHTMLgetAttributes:function(values,state){var CSPACE=SPLIT(values.columnspacing),RSPACE=SPLIT(values.rowspacing),CALIGN=SPLIT(values.columnalign),RALIGN=SPLIT(values.rowalign),CLINES=SPLIT(values.columnlines),RLINES=SPLIT(values.rowlines),CWIDTH=SPLIT(values.columnwidth),RCALIGN=[],i,m,J=state.J,M=state.rows.length-1;for(i=0,m=CSPACE.length;i<m;i++)CSPACE[i]=this.CHTMLlength2em(CSPACE[i]);for(i=0,m=RSPACE.length;i<m;i++)RSPACE[i]=this.CHTMLlength2em(RSPACE[i]);for(;CSPACE.length<J;)CSPACE.push(CSPACE[CSPACE.length-1]);for(;CALIGN.length<=J;)CALIGN.push(CALIGN[CALIGN.length-1]);for(;CLINES.length<J;)CLINES.push(CLINES[CLINES.length-1]);for(;CWIDTH.length<=J;)CWIDTH.push(CWIDTH[CWIDTH.length-1]);for(;RSPACE.length<M;)RSPACE.push(RSPACE[RSPACE.length-1]);for(;RALIGN.length<=M;)RALIGN.push(RALIGN[RALIGN.length-1]);for(;RLINES.length<M;)RLINES.push(RLINES[RLINES.length-1]);for(CALIGN[-1]=\"l\"===values.side.substr(0,1)?\"left\":\"right\",i=0;i<=M;i++){var row=this.data[i];if(RCALIGN[i]=[],row.rowalign&&(RALIGN[i]=row.rowalign),row.columnalign)for(RCALIGN[i]=SPLIT(row.columnalign);RCALIGN[i].length<=J;)RCALIGN[i].push(RCALIGN[i][RCALIGN[i].length-1])}var FSPACE=SPLIT(values.framespacing);2!=FSPACE.length&&(FSPACE=SPLIT(this.defaults.framespacing)),FSPACE[0]=Math.max(0,this.CHTMLlength2em(FSPACE[0])),FSPACE[1]=Math.max(0,this.CHTMLlength2em(FSPACE[1])),\"\"===values.columnlines.replace(/none/g,\"\").replace(/ /g,\"\")&&\"\"===values.rowlines.replace(/none/g,\"\").replace(/ /g,\"\")||(values.fspace=!0),values.frame===MML.LINES.NONE?delete values.frame:values.fspace=!0,values.frame&&(FSPACE[0]=Math.max(0,FSPACE[0]),FSPACE[1]=Math.max(0,FSPACE[1])),values.fspace?(CSPACE[J]=FSPACE[0],RSPACE[M]=FSPACE[1]):CSPACE[J]=RSPACE[M]=0,CLINES[J]=RLINES[M]=MML.LINES.NONE,state.CSPACE=CSPACE,state.RSPACE=RSPACE,state.CALIGN=CALIGN,state.RALIGN=RALIGN,state.CLINES=CLINES,state.RLINES=RLINES,state.CWIDTH=CWIDTH,state.RCALIGN=RCALIGN,state.FSPACE=FSPACE},CHTMLadjustCells:function(values,state){var ROWS=state.rows,CSPACE=state.CSPACE,CLINES=state.CLINES,RSPACE=state.RSPACE,RLINES=state.RLINES,CALIGN=state.CALIGN,RALIGN=state.RALIGN,RCALIGN=state.RCALIGN;CSPACE[state.J]*=2,RSPACE[ROWS.length-1]*=2;var T=\"0\",B,R,L,border,cbox,align,lastB=0;values.fspace&&(lastB=state.FSPACE[1],T=CHTML.Em(state.FSPACE[1])),state.RHD=[],state.RH=[];for(var i=0,m=ROWS.length;i<m;i++){var row=ROWS[i],rdata=this.data[i];if(B=RSPACE[i]/2,border=null,L=\"0\",RLINES[i]!==MML.LINES.NONE&&\"\"!==RLINES[i]&&(border=state.t+\" \"+RLINES[i]),border||CLINES[j]!==MML.LINES.NONE&&\"\"!==CLINES[j])for(;row.length<=state.J;)row.push(CHTML.addElement(row.node,\"mjx-mtd\",null,[[\"span\"]]));state.RH[i]=lastB+state.H[i],lastB=Math.max(0,B),state.RHD[i]=state.RH[i]+lastB+state.D[i],B=CHTML.Em(lastB),values.fspace&&(L=CHTML.Em(state.FSPACE[0]));for(var j=0,M=row.length;j<M;j++){var s=\"mtr\"===rdata.type?0:-1,mtd=rdata.data[j-s]||{CHTML:CHTML.BBOX.zero()},cell=row[j].style;cbox=mtd.CHTML,R=CSPACE[j]/2,CLINES[j]!==MML.LINES.NONE&&(cell.borderRight=state.t+\" \"+CLINES[j],R-=1/CHTML.em/2),R=CHTML.Em(Math.max(0,R)),cell.padding=T+\" \"+R+\" 0px \"+L,border&&(cell.borderBottom=border),L=R,align=mtd.rowalign||(this.data[i]||{}).rowalign||RALIGN[i];var H=Math.max(1,cbox.h),D=Math.max(.2,cbox.d),HD=state.H[i]+state.D[i]-(H+D),child=row[j].firstChild.style;align===MML.ALIGN.TOP?(HD&&(child.marginBottom=CHTML.Em(HD)),cell.verticalAlign=\"top\"):align===MML.ALIGN.BOTTOM?(cell.verticalAlign=\"bottom\",HD&&(child.marginTop=CHTML.Em(HD))):align===MML.ALIGN.CENTER?(HD&&(child.marginTop=child.marginBottom=CHTML.Em(HD/2)),cell.verticalAlign=\"middle\"):H!==state.H[i]&&(child.marginTop=CHTML.Em(state.H[i]-H)),(align=mtd.columnalign||RCALIGN[i][j]||CALIGN[j])!==MML.ALIGN.CENTER&&(cell.textAlign=align)}row.node.style.height=CHTML.Em(state.RHD[i]),T=B}CSPACE[state.J]/=2,RSPACE[ROWS.length-1]/=2},CHTMLalignV:function(values,state,node){var n,M=state.rows.length,H=state.H,D=state.D,RSPACE=state.RSPACE;\"string\"!=typeof values.align&&(values.align=String(values.align)),values.align.match(/(top|bottom|center|baseline|axis)( +(-?\\d+))?/)?(n=parseInt(RegExp.$3||\"0\"),values.align=RegExp.$1,n<0&&(n+=state.rows.length+1),(n>M||n<=0)&&(n=null)):values.align=this.defaults.align;var T=0,B=0,a=CHTML.TEX.axis_height;values.fspace&&(T+=state.FSPACE[1]),values.frame&&(T+=2/CHTML.em,B+=1/CHTML.em);for(var i=0;i<M;i++){var h=H[i],d=D[i];T+=h+d+RSPACE[i],n&&(i===n-1&&(B+={top:h+d,bottom:0,center:(h+d)/2,baseline:d,axis:a+d}[values.align]+RSPACE[i]),i>=n&&(B+=h+d+RSPACE[i]))}n||(B={top:T,bottom:0,center:T/2,baseline:T/2,axis:T/2-a}[values.align]),B&&(node.style.verticalAlign=CHTML.Em(-B)),state.T=T,state.B=B},CHTMLcolumnWidths:function(values,state,node){var CWIDTH=state.CWIDTH,CSPACE=state.CSPACE,J=state.J,j,WW=0,setWidths=!1,relWidth=values.width.match(/%$/),i,m,w;if(\"auto\"===values.width||relWidth||(WW=Math.max(0,this.CHTMLlength2em(values.width,state.R)),setWidths=!0),values.equalcolumns){if(relWidth){var p=CHTML.Percent(1/(J+1));for(j=0;j<=J;j++)CWIDTH[j]=p}else{if(w=Math.max.apply(Math,state.W),\"auto\"!==values.width){var S=values.fspace?state.FSPACE[0]+(values.frame?2/CHTML.em:0):0;for(j=0;j<=J;j++)S+=CSPACE[j];w=Math.max((WW-S)/(J+1),w)}for(w=CHTML.Em(w),j=0;j<=J;j++)CWIDTH[j]=w}setWidths=!0}var TW=0;values.fspace&&(TW=state.FSPACE[0]);var auto=[],fit=[],percent=[],W=[],row=state.rows[0];for(j=0;j<=J;j++)W[j]=state.W[j],\"auto\"===CWIDTH[j]?auto.push(j):\"fit\"===CWIDTH[j]?fit.push(j):CWIDTH[j].match(/%$/)?percent.push(j):W[j]=this.CHTMLlength2em(CWIDTH[j],W[j]),TW+=W[j]+CSPACE[j],row[j]&&(row[j].style.width=CHTML.Em(W[j]));values.frame&&(TW+=2/CHTML.em);var hasFit=fit.length>0;if(setWidths)if(relWidth)for(j=0;j<=J;j++)cell=row[j].style,\"auto\"!==CWIDTH[j]||hasFit?\"fit\"===CWIDTH[j]?cell.width=\"\":CWIDTH[j].match(/%$/)?cell.width=CWIDTH[j]:cell.minWidth=cell.maxWidth=cell.width:cell.width=\"\";else{if(WW>TW){var extra=0;for(i=0,m=percent.length;i<m;i++)j=percent[i],extra+=(w=Math.max(W[j],this.CHTMLlength2em(CWIDTH[j],WW)))-W[j],W[j]=w,row[j].style.width=CHTML.Em(w);TW+=extra}if(hasFit||(fit=auto),WW>TW&&fit.length){var dw=(WW-TW)/fit.length;for(i=0,m=fit.length;i<m;i++)W[j=fit[i]]+=dw,row[j].style.width=CHTML.Em(W[j]);TW=WW}}W[-1]=state.W[-1],state.W=W,state.R=TW,relWidth&&(node.style.width=this.CHTML.pwidth=\"100%\",this.CHTML.mwidth=CHTML.Em(TW),node.firstChild.style.width=values.width,node.firstChild.style.margin=\"auto\")},CHTMLstretchCells:function(values,state){for(var ROWS=state.rows,H=state.H,D=state.D,W=state.W,J=state.J,M=ROWS.length-1,i=0;i<=M;i++)for(var row=ROWS[i],rdata=this.data[i],h=H[i],d=D[i],j=0;j<=J;j++){var cell=row[j],cdata=rdata.data[j];cdata&&(\"V\"===cdata.CHTML.stretch?cdata.CHTMLstretchV(h,d):\"H\"===cdata.CHTML.stretch&&cdata.CHTMLstretchH(cell,W[j]))}},CHTMLaddLabels:function(values,state,node,table){var indent=this.getValues(\"indentalignfirst\",\"indentshiftfirst\",\"indentalign\",\"indentshift\");indent.indentalignfirst!==MML.INDENTALIGN.INDENTALIGN&&(indent.indentalign=indent.indentalignfirst),indent.indentalign===MML.INDENTALIGN.AUTO&&(indent.indentalign=CONFIG.displayAlign),indent.indentshiftfirst!==MML.INDENTSHIFT.INDENTSHIFT&&(indent.indentshift=indent.indentshiftfirst),\"auto\"===indent.indentshift&&(indent.indentshift=\"0\");var shift=this.CHTMLlength2em(indent.indentshift,CHTML.cwidth),labelspace,labelW=this.CHTMLlength2em(values.minlabelspacing,.8)+state.W[-1],labelshift=0,tw=state.R,dIndent=this.CHTMLlength2em(CONFIG.displayIndent,CHTML.cwidth),s=state.CALIGN[-1]===MML.INDENTALIGN.RIGHT?-1:1;indent.indentalign===MML.INDENTALIGN.CENTER?(tw+=2*(labelW-s*(shift+dIndent)),shift+=dIndent):state.CALIGN[-1]===indent.indentalign?(dIndent<0&&(labelshift=s*dIndent,dIndent=0),labelW>s*(shift+=s*dIndent)&&(shift=s*labelW),shift+=labelshift,tw+=shift*=s):(tw+=labelW-s*shift+dIndent,shift-=s*dIndent,shift*=-s);var box=CHTML.addElement(node,\"mjx-box\",{style:{width:\"100%\",\"text-align\":indent.indentalign}});box.appendChild(table);var labels=CHTML.Element(\"mjx-itable\");if(table.style.display=\"inline-table\",table.style.width||(table.style.width=\"auto\"),labels.style.verticalAlign=\"top\",table.style.verticalAlign=CHTML.Em(state.T-state.B-state.H[0]),node.style.verticalAlign=\"\",shift)if(indent.indentalign===MML.INDENTALIGN.CENTER)table.style.marginLeft=CHTML.Em(shift),table.style.marginRight=CHTML.Em(-shift);else{var margin=\"margin\"+(indent.indentalign===MML.INDENTALIGN.RIGHT?\"Right\":\"Left\");table.style[margin]=CHTML.Em(shift)}\"left\"===state.CALIGN[-1]?(node.insertBefore(labels,box),labels.style.marginRight=CHTML.Em(-state.W[-1]-labelshift),labelshift&&(labels.style.marginLeft=CHTML.Em(labelshift))):(node.appendChild(labels),labels.style.marginLeft=CHTML.Em(-state.W[-1]+labelshift));var LABELS=state.labels,T=0;values.fspace&&(T=state.FSPACE[0]+(values.frame?1/CHTML.em:0));for(var i=0,m=LABELS.length;i<m;i++)if(LABELS[i]&&this.data[i].data[0]){labels.appendChild(LABELS[i]);var lbox=this.data[i].data[0].CHTML;(T=state.RH[i]-Math.max(1,lbox.h))&&(LABELS[i].firstChild.firstChild.style.marginTop=CHTML.Em(T)),LABELS[i].style.height=CHTML.Em(state.RHD[i])}else CHTML.addElement(labels,\"mjx-label\",{style:{height:CHTML.Em(state.RHD[i])}});node.style.width=this.CHTML.pwidth=\"100%\",node.style.minWidth=this.CHTML.mwidth=CHTML.Em(Math.max(0,tw))}}),MML.mtr.Augment({toCommonHTML:function(node,options){node=this.CHTMLcreateNode(node),this.CHTMLhandleStyle(node),this.CHTMLhandleScale(node),options||(options={rows:[],labels:[]});var row=[];options.rows.push(row),row.node=node,options.labels.push(null);for(var i=0,m=this.data.length;i<m;i++)row.push(this.CHTMLaddChild(node,i,options));return this.CHTMLhandleColor(node),node}}),MML.mlabeledtr.Augment({toCommonHTML:function(node,options){node=this.CHTMLcreateNode(node),this.CHTMLhandleStyle(node),this.CHTMLhandleScale(node),options||(options={rows:[],labels:[]});var row=[];options.rows.push(row),row.node=node;var label=CHTML.Element(\"mjx-label\");options.labels.push(label),this.CHTMLaddChild(label,0,options),this.data[0]&&(options.labeled=!0);for(var i=1,m=this.data.length;i<m;i++)row.push(this.CHTMLaddChild(node,i,options));return this.CHTMLhandleColor(node),node}}),MML.mtd.Augment({toCommonHTML:function(node,options){if(node=this.CHTMLdefaultNode(node,options),CHTML.addElement(node.firstChild,\"mjx-strut\"),this.isEmbellished()){var mo=this.CoreMO(),BBOX=this.CHTML;if(mo.CHTMLcanStretch(\"Vertical\")?BBOX.stretch=\"V\":mo.CHTMLcanStretch(\"Horizontal\")&&(BBOX.stretch=\"H\"),BBOX.stretch){var min=mo.Get(\"minsize\",!0);if(min)if(\"V\"===BBOX.stretch){var HD=BBOX.h+BBOX.d;if(HD){var r=this.CHTMLlength2em(min,HD)/HD;r>1&&(BBOX.h*=r,BBOX.d*=r)}}else BBOX.w=Math.max(BBOX.w,this.CHTMLlength2em(min,BBOX.w))}}return node}}),MathJax.Hub.Startup.signal.Post(\"CommonHTML mtable Ready\"),MathJax.Ajax.loadComplete(CHTML.autoloadDir+\"/mtable.js\")})),MathJax.Hub.Register.StartupHook(\"CommonHTML Jax Ready\",(function(){var VERSION=\"2.7.5\",MML=MathJax.ElementJax.mml,CONFIG=MathJax.Hub.config,CHTML=MathJax.OutputJax.CommonHTML,MO=MML.mo().With({CHTML:CHTML.BBOX.empty()}),PENALTY={newline:0,nobreak:1e6,goodbreak:[-200],badbreak:[200],auto:[0],maxwidth:1.33,toobig:800,nestfactor:400,spacefactor:-100,spaceoffset:2,spacelimit:1,fence:500,close:500},ENDVALUES={linebreakstyle:\"after\"};MML.mbase.Augment({CHTMLlinebreakPenalty:PENALTY,CHTMLmultiline:function(node){for(var parent=this;parent.inferred||parent.parent&&\"mrow\"===parent.parent.type&&parent.parent.isEmbellished();)parent=parent.parent;var isTop=\"math\"===parent.type&&\"block\"===parent.Get(\"display\")||\"mtd\"===parent.type;parent.isMultiline=!0;var VALUES=this.getValues(\"linebreak\",\"linebreakstyle\",\"lineleading\",\"linebreakmultchar\",\"indentalign\",\"indentshift\",\"indentalignfirst\",\"indentshiftfirst\",\"indentalignlast\",\"indentshiftlast\");VALUES.linebreakstyle===MML.LINEBREAKSTYLE.INFIXLINEBREAKSTYLE&&(VALUES.linebreakstyle=this.Get(\"infixlinebreakstyle\")),VALUES.lineleading=this.CHTMLlength2em(VALUES.lineleading,.5),CHTML.BBOX.empty(this.CHTML);for(var stack=CHTML.addElement(node,\"mjx-stack\"),state={BBOX:this.CHTML,n:0,Y:0,scale:this.CHTML.scale||1,isTop:isTop,values:{},VALUES:VALUES},align=this.CHTMLgetAlign(state,{}),shift=this.CHTMLgetShift(state,{},align),start=[],end={index:[],penalty:PENALTY.nobreak,w:0,W:shift,shift:shift,scanW:shift,nest:0},broken=!1;this.CHTMLbetterBreak(end,state,!0)&&(end.scanW>=CHTML.linebreakWidth||end.penalty===PENALTY.newline);)this.CHTMLaddLine(stack,start,end.index,state,end.values,broken),start=end.index.slice(0),broken=!0,align=this.CHTMLgetAlign(state,end.values),shift=this.CHTMLgetShift(state,end.values,align),end.W=end.shift=end.scanW=shift,end.penalty=PENALTY.nobreak;return state.isLast=!0,this.CHTMLaddLine(stack,start,[],state,ENDVALUES,broken),node.style.width=stack.style.width=this.CHTML.pwidth=\"100%\",this.CHTML.mwidth=CHTML.Em(this.CHTML.w),this.CHTML.isMultiline=parent.CHTML.isMultiline=!0,stack.style.verticalAlign=CHTML.Em(state.d-this.CHTML.d),node},CHTMLbetterBreak:function(info,state,toplevel){if(this.isToken)return!1;if(this.isEmbellished())return info.embellished=this,this.CoreMO().CHTMLbetterBreak(info,state);if(this.linebreakContainer)return!1;var index=info.index.slice(0),i=info.index.shift(),m=this.data.length,W,w,scanW,broken=info.index.length>0,better=!1;for(null==i&&(i=-1),broken||(i++,info.W+=info.w,info.w=0),scanW=info.scanW=info.W,info.nest++;i<m&&(info.scanW<PENALTY.maxwidth*CHTML.linebreakWidth||0===info.w);){if(this.data[i]){if(this.data[i].CHTMLbetterBreak(info,state)&&(better=!0,index=[i].concat(info.index),W=info.W,w=info.w,info.penalty===PENALTY.newline))return info.index=index,info.nest&&info.nest--,!0;scanW=broken?info.scanW:this.CHTMLaddWidth(i,info,scanW)}info.index=[],i++,broken=!1}return toplevel&&better&&(MO.parent=this.parent,MO.inherit=this.inherit,MO.CHTMLbetterBreak(info,state)&&(better=!1,index=info.index)),info.nest&&info.nest--,info.index=index,better&&(info.W=W,info.w=w),better},CHTMLaddWidth:function(i,info,scanW){if(this.data[i]){var bbox=this.data[i].CHTML;scanW+=(bbox.w+(bbox.L||0)+(bbox.R||0))*(bbox.scale||1),info.W=info.scanW=scanW,info.w=0}return scanW},CHTMLaddLine:function(stack,start,end,state,values,broken){var block=CHTML.addElement(stack,\"mjx-block\",{},[[\"mjx-box\"]]),line=block.firstChild,bbox=state.bbox=CHTML.BBOX.empty();state.first=broken,state.last=!0,this.CHTMLmoveLine(start,end,line,state,values),bbox.clean();var align=this.CHTMLgetAlign(state,values),shift=this.CHTMLgetShift(state,values,align,!0),dY=0;if(state.n>0){var LHD=CHTML.FONTDATA.baselineskip,leading=(null==state.values.lineleading?state.VALUES:state.values).lineleading*state.scale,Y=state.Y;state.Y-=Math.max(LHD,state.d+bbox.h+leading),dY=Y-state.Y-state.d-bbox.h}shift&&(line.style.margin=\"0 \"+CHTML.Em(-shift)+\" 0 \"+CHTML.Em(shift)),align!==MML.INDENTALIGN.LEFT&&(block.style.textAlign=align),dY&&(block.style.paddingTop=CHTML.Em(dY)),state.BBOX.combine(bbox,shift,state.Y),state.d=state.bbox.d,state.values=values,state.n++},CHTMLgetAlign:function(state,values){var cur=values,prev=state.values,def=state.VALUES,align;return(align=0===state.n?cur.indentalignfirst||prev.indentalignfirst||def.indentalignfirst:state.isLast?prev.indentalignlast||def.indentalignlast:prev.indentalign||def.indentalign)===MML.INDENTALIGN.INDENTALIGN&&(align=prev.indentalign||def.indentalign),align===MML.INDENTALIGN.AUTO&&(align=state.isTop?CONFIG.displayAlign:MML.INDENTALIGN.LEFT),align},CHTMLgetShift:function(state,values,align,noadjust){var cur=values,prev=state.values,def=state.VALUES,shift;if((shift=0===state.n?cur.indentshiftfirst||prev.indentshiftfirst||def.indentshiftfirst:state.isLast?prev.indentshiftlast||def.indentshiftlast:prev.indentshift||def.indentshift)===MML.INDENTSHIFT.INDENTSHIFT&&(shift=prev.indentshift||def.indentshift),\"auto\"!==shift&&\"\"!==shift||(shift=\"0\"),shift=this.CHTMLlength2em(shift,CHTML.cwidth),state.isTop&&\"0\"!==CONFIG.displayIndent){var indent=this.CHTMLlength2em(CONFIG.displayIndent,CHTML.cwidth);shift+=align===MML.INDENTALIGN.RIGHT?-indent:indent}return align!==MML.INDENTALIGN.RIGHT||noadjust?shift:-shift},CHTMLmoveLine:function(start,end,node,state,values){var i=start[0],j=end[0];if(null==i&&(i=-1),null==j&&(j=this.data.length-1),i===j&&start.length>1)this.data[i].CHTMLmoveSlice(start.slice(1),end.slice(1),node,state,values,\"marginLeft\");else{var last=state.last;for(state.last=!1;i<j;)this.data[i]&&(start.length<=1?this.data[i].CHTMLmoveNode(node,state,values):this.data[i].CHTMLmoveSlice(start.slice(1),[],node,state,values,\"marginLeft\")),i++,state.first=!1,start=[];state.last=last,this.data[i]&&(end.length<=1?this.data[i].CHTMLmoveNode(node,state,values):this.data[i].CHTMLmoveSlice([],end.slice(1),node,state,values,\"marginRight\"))}},CHTMLmoveSlice:function(start,end,node,state,values,margin){var slice=this.CHTMLcreateSliceNode(node);return this.CHTMLmoveLine(start,end,slice,state,values),slice.style[margin]&&(slice.style[margin]=\"\"),this.CHTML.L&&(\"marginLeft\"!==margin?state.bbox.w+=this.CHTML.L:slice.className=slice.className.replace(/ MJXc-space\\d/,\"\")),this.CHTML.R&&\"marginRight\"!==margin&&(state.bbox.w+=this.CHTML.R),0===end.length&&(node=this.CHTMLnodeElement(),this.href&&(node=node.parentNode),node.parentNode.removeChild(node),node.nextMathJaxNode.id=node.id),slice},CHTMLcreateSliceNode:function(node){var NODE=this.CHTMLnodeElement(),n=0;this.href&&(NODE=NODE.parentNode);for(var LAST=NODE;LAST.nextMathJaxNode;)LAST=LAST.nextMathJaxNode,n++;var SLICE=NODE.cloneNode(!1);return LAST.nextMathJaxNode=SLICE,SLICE.nextMathJaxNode=null,SLICE.id+=\"-MJX-Continue-\"+n,node.appendChild(SLICE)},CHTMLmoveNode:function(line,state,values){if(!state.first&&!state.last||state.first&&state.values.linebreakstyle===MML.LINEBREAKSTYLE.BEFORE||state.last&&values.linebreakstyle===MML.LINEBREAKSTYLE.AFTER){var node=this.CHTMLnodeElement();this.href&&(node=node.parentNode),line.appendChild(node),this.CHTML.pwidth&&!line.style.width&&(line.style.width=this.CHTML.pwidth),state.last&&(node.style.marginRight=\"\"),(state.first||state.nextIsFirst)&&(node.style.marginLeft=\"\",this.CHTML.L=0,node.className=node.className.replace(/ MJXc-space\\d/,\"\")),state.first&&0===this.CHTML.w?state.nextIsFirst=!0:delete state.nextIsFirst,state.bbox.combine(this.CHTML,state.bbox.w,0)}}}),MML.mfenced.Augment({CHTMLbetterBreak:function(info,state){var index=info.index.slice(0),i=info.index.shift(),m=this.data.length,W,w,scanW,broken=info.index.length>0,better=!1;if(null==i&&(i=-1),broken||(i++,info.W+=info.w,info.w=0),scanW=info.scanW=info.W,info.nest++,!this.dataI){this.dataI=[],this.data.open&&this.dataI.push(\"open\"),m&&this.dataI.push(0);for(var j=1;j<m;j++)this.data[\"sep\"+j]&&this.dataI.push(\"sep\"+j),this.dataI.push(j);this.data.close&&this.dataI.push(\"close\")}for(m=this.dataI.length;i<m&&(info.scanW<PENALTY.maxwidth*CHTML.linebreakWidth||0===info.w);){var k=this.dataI[i];if(this.data[k]){if(this.data[k].CHTMLbetterBreak(info,state)&&(better=!0,index=[i].concat(info.index),W=info.W,w=info.w,info.penalty===PENALTY.newline))return info.index=index,info.nest&&info.nest--,!0;scanW=broken?info.scanW:this.CHTMLaddWidth(i,info,scanW)}info.index=[],i++,broken=!1}return info.nest&&info.nest--,info.index=index,better&&(info.W=W,info.w=w),better},CHTMLmoveLine:function(start,end,node,state,values){var i=start[0],j=end[0];if(null==i&&(i=-1),null==j&&(j=this.dataI.length-1),i===j&&start.length>1)this.data[this.dataI[i]].CHTMLmoveSlice(start.slice(1),end.slice(1),node,state,values,\"marginLeft\");else{var last=state.last;state.last=!1;for(var k=this.dataI[i];i<j;)this.data[k]&&(start.length<=1?this.data[k].CHTMLmoveNode(node,state,values):this.data[k].CHTMLmoveSlice(start.slice(1),[],node,state,values,\"marginLeft\")),i++,k=this.dataI[i],state.first=!1,start=[];state.last=last,this.data[k]&&(end.length<=1?this.data[k].CHTMLmoveNode(node,state,values):this.data[k].CHTMLmoveSlice([],end.slice(1),node,state,values,\"marginRight\"))}}}),MML.msubsup.Augment({CHTMLbetterBreak:function(info,state){if(!this.data[this.base])return!1;var index=info.index.slice(0),i=info.index.shift(),W,w,scanW,broken=info.index.length>0,better=!1;return broken||(info.W+=info.w,info.w=0),scanW=info.scanW=info.W,null==i&&(this.CHTML.baseW=this.data[this.base].CHTML.w,this.CHTML.dw=this.CHTML.w-this.CHTML.baseW),this.data[this.base].CHTMLbetterBreak(info,state)&&(better=!0,index=[this.base].concat(info.index),W=info.W,w=info.w,info.penalty===PENALTY.newline&&(better=broken=!0)),broken||this.CHTMLaddWidth(this.base,info,scanW),info.scanW+=this.CHTML.dw,info.W=info.scanW,info.index=[],better&&(info.W=W,info.w=w,info.index=index),better},CHTMLmoveLine:function(start,end,node,state,values){if(this.data[this.base]){var base=CHTML.addElement(node,\"mjx-base\");start.length>1?this.data[this.base].CHTMLmoveSlice(start.slice(1),end.slice(1),base,state,values,\"marginLeft\"):end.length<=1?this.data[this.base].CHTMLmoveNode(base,state,values):this.data[this.base].CHTMLmoveSlice([],end.slice(1),base,state,values,\"marginRight\")}if(0===end.length){var NODE=this.CHTMLnodeElement(),stack=CHTML.getNode(NODE,\"mjx-stack\"),sup=CHTML.getNode(NODE,\"mjx-sup\"),sub=CHTML.getNode(NODE,\"mjx-sub\");stack?node.appendChild(stack):sup?node.appendChild(sup):sub&&node.appendChild(sub);var w=state.bbox.w,bbox;sup&&(bbox=this.data[this.sup].CHTML,state.bbox.combine(bbox,w,bbox.Y)),sub&&(bbox=this.data[this.sub].CHTML,state.bbox.combine(bbox,w,bbox.Y))}}}),MML.mmultiscripts.Augment({CHTMLbetterBreak:function(info,state){if(!this.data[this.base])return!1;var index=info.index.slice(0);info.index.shift();var W,w,scanW,broken=info.index.length>0,better=!1;broken||(info.W+=info.w,info.w=0),info.scanW=info.W;var bbox=this.CHTML,base=this.data[this.base].CHTML,dw=bbox.w-base.w-(bbox.X||0);return info.scanW+=bbox.X||0,scanW=info.scanW,this.data[this.base].CHTMLbetterBreak(info,state)&&(better=!0,index=[this.base].concat(info.index),W=info.W,w=info.w,info.penalty===PENALTY.newline&&(better=broken=!0)),broken||this.CHTMLaddWidth(this.base,info,scanW),info.scanW+=dw,info.W=info.scanW,info.index=[],better&&(info.W=W,info.w=w,info.index=index),better},CHTMLmoveLine:function(start,end,node,state,values){var NODE,BOX=this.CHTMLbbox,w;if(start.length<1){NODE=this.CHTMLnodeElement();var prestack=CHTML.getNode(NODE,\"mjx-prestack\"),presup=CHTML.getNode(NODE,\"mjx-presup\"),presub=CHTML.getNode(NODE,\"mjx-presub\");prestack?node.appendChild(prestack):presup?node.appendChild(presup):presub&&node.appendChild(presub),w=state.bbox.w,presup&&state.bbox.combine(BOX.presup,w+BOX.presup.X,BOX.presup.Y),presub&&state.bbox.combine(BOX.presub,w+BOX.presub.X,BOX.presub.Y)}if(this.data[this.base]){var base=CHTML.addElement(node,\"mjx-base\");start.length>1?this.data[this.base].CHTMLmoveSlice(start.slice(1),end.slice(1),base,state,values,\"marginLeft\"):end.length<=1?this.data[this.base].CHTMLmoveNode(base,state,values):this.data[this.base].CHTMLmoveSlice([],end.slice(1),base,state,values,\"marginRight\")}if(0===end.length){NODE=this.CHTMLnodeElement();var stack=CHTML.getNode(NODE,\"mjx-stack\"),sup=CHTML.getNode(NODE,\"mjx-sup\"),sub=CHTML.getNode(NODE,\"mjx-sub\");stack?node.appendChild(stack):sup?node.appendChild(sup):sub&&node.appendChild(sub),w=state.bbox.w,sup&&state.bbox.combine(BOX.sup,w,BOX.sup.Y),sub&&state.bbox.combine(BOX.sub,w,BOX.sub.Y)}}}),MML.mo.Augment({CHTMLbetterBreak:function(info,state){if(info.values&&info.values.id===this.CHTMLnodeID)return!1;var values=this.getValues(\"linebreak\",\"linebreakstyle\",\"lineleading\",\"linebreakmultchar\",\"indentalign\",\"indentshift\",\"indentalignfirst\",\"indentshiftfirst\",\"indentalignlast\",\"indentshiftlast\",\"texClass\",\"fence\");values.linebreakstyle===MML.LINEBREAKSTYLE.INFIXLINEBREAKSTYLE&&(values.linebreakstyle=this.Get(\"infixlinebreakstyle\")),values.texClass===MML.TEXCLASS.OPEN&&info.nest++,values.texClass===MML.TEXCLASS.CLOSE&&info.nest&&info.nest--;var W=info.scanW;delete info.embellished;var w=this.CHTML.w+(this.CHTML.L||0)+(this.CHTML.R||0);if(values.linebreakstyle===MML.LINEBREAKSTYLE.AFTER&&(W+=w,w=0),W-info.shift==0&&values.linebreak!==MML.LINEBREAK.NEWLINE)return!1;var offset=CHTML.linebreakWidth-W;if(0===state.n&&(values.indentshiftfirst!==state.VALUES.indentshiftfirst||values.indentalignfirst!==state.VALUES.indentalignfirst)){var align=this.CHTMLgetAlign(state,values),shift=this.CHTMLgetShift(state,values,align);offset+=info.shift-shift}var penalty=Math.floor(offset/CHTML.linebreakWidth*1e3);penalty<0&&(penalty=PENALTY.toobig-3*penalty),values.fence&&(penalty+=PENALTY.fence),(values.linebreakstyle===MML.LINEBREAKSTYLE.AFTER&&values.texClass===MML.TEXCLASS.OPEN||values.texClass===MML.TEXCLASS.CLOSE)&&(penalty+=PENALTY.close),penalty+=info.nest*PENALTY.nestfactor;var linebreak=PENALTY[values.linebreak||MML.LINEBREAK.AUTO]||0;return MathJax.Object.isArray(linebreak)?penalty=Math.max(1,penalty+linebreak[0]*info.nest):(linebreak||offset>=0)&&(penalty=linebreak*info.nest),!(penalty>=info.penalty)&&(info.penalty=penalty,info.values=values,info.W=W,info.w=w,values.lineleading=this.CHTMLlength2em(values.lineleading,state.VALUES.lineleading),values.id=this.CHTMLnodeID,!0)}}),MML.mspace.Augment({CHTMLbetterBreak:function(info,state){if(info.values&&info.values.id===this.CHTMLnodeID)return!1;var values=this.getValues(\"linebreak\"),linebreakValue=values.linebreak;linebreakValue&&!this.hasDimAttr()||(linebreakValue=MML.LINEBREAK.AUTO);var W=info.scanW,w=this.CHTML.w+(this.CHTML.L||0)+(this.CHTML.R||0);if(W-info.shift==0)return!1;var offset=CHTML.linebreakWidth-W,penalty=Math.floor(offset/CHTML.linebreakWidth*1e3);penalty<0&&(penalty=PENALTY.toobig-3*penalty),penalty+=info.nest*PENALTY.nestfactor;var linebreak=PENALTY[linebreakValue]||0;return linebreakValue===MML.LINEBREAK.AUTO&&w>=PENALTY.spacelimit&&!this.mathbackground&&!this.background&&(linebreak=[(w+PENALTY.spaceoffset)*PENALTY.spacefactor]),MathJax.Object.isArray(linebreak)?penalty=Math.max(1,penalty+linebreak[0]*info.nest):(linebreak||offset>=0)&&(penalty=linebreak*info.nest),!(penalty>=info.penalty)&&(info.penalty=penalty,info.values=values,info.W=W,info.w=w,values.lineleading=state.VALUES.lineleading,values.linebreakstyle=\"before\",values.id=this.CHTMLnodeID,!0)}}),MathJax.Hub.Register.StartupHook(\"TeX mathchoice Ready\",(function(){MML.TeXmathchoice.Augment({CHTMLbetterBreak:function(info,state){return this.Core().CHTMLbetterBreak(info,state)},CHTMLmoveLine:function(start,end,node,state,values){return this.Core().CHTMLmoveSlice(start,end,node,state,values)}})})),MML.maction.Augment({CHTMLbetterBreak:function(info,state){return this.Core().CHTMLbetterBreak(info,state)},CHTMLmoveLine:function(start,end,node,state,values){return this.Core().CHTMLmoveSlice(start,end,node,state,values)}}),MML.semantics.Augment({CHTMLbetterBreak:function(info,state){return!!this.data[0]&&this.data[0].CHTMLbetterBreak(info,state)},CHTMLmoveLine:function(start,end,node,state,values){return this.data[0]?this.data[0].CHTMLmoveSlice(start,end,node,state,values):null}}),MathJax.Hub.Startup.signal.Post(\"CommonHTML multiline Ready\"),MathJax.Ajax.loadComplete(CHTML.autoloadDir+\"/multiline.js\")})),MathJax.Extension.tex2jax={version:\"2.7.5\",config:{inlineMath:[[\"\\\\(\",\"\\\\)\"]],displayMath:[[\"$$\",\"$$\"],[\"\\\\[\",\"\\\\]\"]],skipTags:[\"script\",\"noscript\",\"style\",\"textarea\",\"pre\",\"code\",\"annotation\",\"annotation-xml\"],ignoreClass:\"tex2jax_ignore\",processClass:\"tex2jax_process\",processEscapes:!1,processEnvironments:!0,processRefs:!0,preview:\"TeX\"},ignoreTags:{br:MathJax.Hub.Browser.isMSIE&&document.documentMode<9?\"\\n\":\" \",wbr:\"\",\"#comment\":\"\"},PreProcess:function(element){this.configured||(this.config=MathJax.Hub.CombineConfig(\"tex2jax\",this.config),this.config.Augment&&MathJax.Hub.Insert(this,this.config.Augment),void 0===this.config.previewTeX||this.config.previewTeX||(this.config.preview=\"none\"),this.configured=!0),\"string\"==typeof element&&(element=document.getElementById(element)),element||(element=document.body),this.createPatterns()&&this.scanElement(element,element.nextSibling)},createPatterns:function(){var starts=[],parts=[],i,m,config=this.config;for(this.match={},i=0,m=config.inlineMath.length;i<m;i++)starts.push(this.patternQuote(config.inlineMath[i][0])),this.match[config.inlineMath[i][0]]={mode:\"\",end:config.inlineMath[i][1],pattern:this.endPattern(config.inlineMath[i][1])};for(i=0,m=config.displayMath.length;i<m;i++)starts.push(this.patternQuote(config.displayMath[i][0])),this.match[config.displayMath[i][0]]={mode:\"; mode=display\",end:config.displayMath[i][1],pattern:this.endPattern(config.displayMath[i][1])};starts.length&&parts.push(starts.sort(this.sortLength).join(\"|\")),config.processEnvironments&&parts.push(\"\\\\\\\\begin\\\\{([^}]*)\\\\}\"),config.processEscapes&&parts.push(\"\\\\\\\\*\\\\\\\\\\\\$\"),config.processRefs&&parts.push(\"\\\\\\\\(eq)?ref\\\\{[^}]*\\\\}\"),this.start=new RegExp(parts.join(\"|\"),\"g\"),this.skipTags=new RegExp(\"^(\"+config.skipTags.join(\"|\")+\")$\",\"i\");var ignore=[];return MathJax.Hub.config.preRemoveClass&&ignore.push(MathJax.Hub.config.preRemoveClass),config.ignoreClass&&ignore.push(config.ignoreClass),this.ignoreClass=ignore.length?new RegExp(\"(^| )(\"+ignore.join(\"|\")+\")( |$)\"):/^$/,this.processClass=new RegExp(\"(^| )(\"+config.processClass+\")( |$)\"),parts.length>0},patternQuote:function(s){return s.replace(/([\\^$(){}+*?\\-|\\[\\]\\:\\\\])/g,\"\\\\$1\")},endPattern:function(end){return new RegExp(this.patternQuote(end)+\"|\\\\\\\\.|[{}]\",\"g\")},sortLength:function(a,b){return a.length!==b.length?b.length-a.length:a==b?0:a<b?-1:1},scanElement:function(element,stop,ignore){for(var cname,tname,ignoreChild,process;element&&element!=stop;)\"#text\"===element.nodeName.toLowerCase()?ignore||(element=this.scanText(element)):(cname=void 0===element.className?\"\":element.className,tname=void 0===element.tagName?\"\":element.tagName,\"string\"!=typeof cname&&(cname=String(cname)),process=this.processClass.exec(cname),!element.firstChild||cname.match(/(^| )MathJax/)||!process&&this.skipTags.exec(tname)||(ignoreChild=(ignore||this.ignoreClass.exec(cname))&&!process,this.scanElement(element.firstChild,stop,ignoreChild))),element&&(element=element.nextSibling)},scanText:function(element){if(\"\"==element.nodeValue.replace(/\\s+/,\"\"))return element;var match,prev,pos=0,rescan;for(this.search={start:!0},this.pattern=this.start;element;){for(rescan=null,this.pattern.lastIndex=pos,pos=0;element&&\"#text\"===element.nodeName.toLowerCase()&&(match=this.pattern.exec(element.nodeValue));)element=this.search.start?this.startMatch(match,element):this.endMatch(match,element);if(this.search.matched?element=this.encloseMath(element):this.search.start||(rescan=this.search),element){do{prev=element,element=element.nextSibling}while(element&&null!=this.ignoreTags[element.nodeName.toLowerCase()]);if(!element||\"#text\"!==element.nodeName){if(!rescan)return this.search.close?this.prevEndMatch():prev;element=rescan.open,pos=rescan.opos+rescan.olen+(rescan.blen||0),this.search={start:!0},this.pattern=this.start}}}return element},startMatch:function(match,element){var delim=this.match[match[0]];if(null!=delim)this.search={end:delim.end,mode:delim.mode,pcount:0,open:element,olen:match[0].length,opos:this.pattern.lastIndex-match[0].length},this.switchPattern(delim.pattern);else if(\"\\\\begin\"===match[0].substr(0,6))this.search={end:\"\\\\end{\"+match[1]+\"}\",mode:\"; mode=display\",pcount:0,open:element,olen:0,opos:this.pattern.lastIndex-match[0].length,blen:match[1].length+3,isBeginEnd:!0},this.switchPattern(this.endPattern(this.search.end));else{if(\"\\\\ref\"===match[0].substr(0,4)||\"\\\\eqref\"===match[0].substr(0,6))return this.search={mode:\"\",end:\"\",open:element,pcount:0,olen:0,opos:this.pattern.lastIndex-match[0].length},this.endMatch([\"\"],element);var slashes=match[0].substr(0,match[0].length-1),n,span;slashes.length%2==0?(span=[slashes.replace(/\\\\\\\\/g,\"\\\\\")],n=1):(span=[slashes.substr(1).replace(/\\\\\\\\/g,\"\\\\\"),\"$\"],n=0),span=MathJax.HTML.Element(\"span\",null,span);var text=MathJax.HTML.TextNode(element.nodeValue.substr(0,match.index));element.nodeValue=element.nodeValue.substr(match.index+match[0].length-n),element.parentNode.insertBefore(span,element),element.parentNode.insertBefore(text,span),this.pattern.lastIndex=n}return element},endMatch:function(match,element){var search=this.search;return match[0]==search.end?(search.close&&0!==search.pcount||(search.close=element,search.cpos=this.pattern.lastIndex,search.clen=search.isBeginEnd?0:match[0].length),0===search.pcount&&(search.matched=!0,element=this.encloseMath(element),this.switchPattern(this.start))):\"{\"===match[0]?search.pcount++:\"}\"===match[0]&&search.pcount&&search.pcount--,element},prevEndMatch:function(){this.search.matched=!0;var element=this.encloseMath(this.search.close);return this.switchPattern(this.start),element},switchPattern:function(pattern){pattern.lastIndex=this.pattern.lastIndex,this.pattern=pattern,this.search.start=pattern===this.start},encloseMath:function(element){var search=this.search,close=search.close,CLOSE,math,next;for((close=search.cpos===close.length?close.nextSibling:close.splitText(search.cpos))||(CLOSE=close=MathJax.HTML.addText(search.close.parentNode,\"\")),search.close=close,math=search.opos?search.open.splitText(search.opos):search.open;(next=math.nextSibling)&&next!==close;){if(null!==next.nodeValue)\"#comment\"===next.nodeName?math.nodeValue+=next.nodeValue.replace(/^\\[CDATA\\[((.|\\n|\\r)*)\\]\\]$/,\"$1\"):math.nodeValue+=next.nodeValue;else{var ignore=this.ignoreTags[next.nodeName.toLowerCase()];math.nodeValue+=null==ignore?\" \":ignore}math.parentNode.removeChild(next)}var TeX=math.nodeValue.substr(search.olen,math.nodeValue.length-search.olen-search.clen);return math.parentNode.removeChild(math),\"none\"!==this.config.preview&&this.createPreview(search.mode,TeX),math=this.createMathTag(search.mode,TeX),this.search={},this.pattern.lastIndex=0,CLOSE&&CLOSE.parentNode.removeChild(CLOSE),math},insertNode:function(node){var search=this.search;search.close.parentNode.insertBefore(node,search.close)},createPreview:function(mode,tex){var previewClass=MathJax.Hub.config.preRemoveClass,preview=this.config.preview;\"none\"!==preview&&(this.search.close.previousSibling||{}).className!==previewClass&&(\"TeX\"===preview&&(preview=[this.filterPreview(tex)]),preview&&(preview=MathJax.HTML.Element(\"span\",{className:previewClass},preview),this.insertNode(preview)))},createMathTag:function(mode,tex){var script=document.createElement(\"script\");return script.type=\"math/tex\"+mode,MathJax.HTML.setScript(script,tex),this.insertNode(script),script},filterPreview:function(tex){return tex}},MathJax.Hub.Register.PreProcessor([\"PreProcess\",MathJax.Extension.tex2jax]),MathJax.Ajax.loadComplete(\"[MathJax]/extensions/tex2jax.js\"),MathJax.Extension[\"TeX/AMScd\"]={version:\"2.7.5\",config:MathJax.Hub.CombineConfig(\"TeX.CD\",{colspace:\"5pt\",rowspace:\"5pt\",harrowsize:\"2.75em\",varrowsize:\"1.75em\",hideHorizontalLabels:!1})},MathJax.Hub.Register.StartupHook(\"TeX Jax Ready\",(function(){var MML=MathJax.ElementJax.mml,TEX=MathJax.InputJax.TeX,STACKITEM=TEX.Stack.Item,TEXDEF=TEX.Definitions,CONFIG=MathJax.Extension[\"TeX/AMScd\"].config;TEXDEF.environment.CD=\"CD_env\",TEXDEF.special[\"@\"]=\"CD_arrow\",TEXDEF.macros.minCDarrowwidth=\"CD_minwidth\",TEXDEF.macros.minCDarrowheight=\"CD_minheight\",TEX.Parse.Augment({CD_env:function(begin){return this.Push(begin),STACKITEM.array().With({arraydef:{columnalign:\"center\",columnspacing:CONFIG.colspace,rowspacing:CONFIG.rowspace,displaystyle:!0},minw:this.stack.env.CD_minw||CONFIG.harrowsize,minh:this.stack.env.CD_minh||CONFIG.varrowsize})},CD_arrow:function(name){var c=this.string.charAt(this.i);if(!c.match(/[><VA.|=]/))return this.Other(name);this.i++;var top=this.stack.Top();top.isa(STACKITEM.array)&&!top.data.length||(this.CD_cell(name),top=this.stack.Top());for(var arrowRow=top.table.length%2==1,n=(top.row.length+(arrowRow?0:1))%2,mml;n;)this.CD_cell(name),n--;var hdef={minsize:top.minw,stretchy:!0},vdef={minsize:top.minh,stretchy:!0,symmetric:!0,lspace:0,rspace:0};if(\".\"===c);else if(\"|\"===c)mml=this.mmlToken(MML.mo(\"∥\").With(vdef));else if(\"=\"===c)mml=this.mmlToken(MML.mo(\"=\").With(hdef));else{var arrow={\">\":\"→\",\"<\":\"←\",V:\"↓\",A:\"↑\"}[c],a=this.GetUpTo(name+c,c),b=this.GetUpTo(name+c,c);if(\">\"===c||\"<\"===c){if(mml=MML.mo(arrow).With(hdef),a||(a=\"\\\\kern \"+top.minw),a||b){var pad={width:\"+11mu\",lspace:\"6mu\"};mml=MML.munderover(this.mmlToken(mml)),a&&(a=TEX.Parse(a,this.stack.env).mml(),mml.SetData(mml.over,MML.mpadded(a).With(pad).With({voffset:\".1em\"}))),b&&(b=TEX.Parse(b,this.stack.env).mml(),mml.SetData(mml.under,MML.mpadded(b).With(pad))),CONFIG.hideHorizontalLabels&&(mml=MML.mpadded(mml).With({depth:0,height:\".67em\"}))}}else mml=arrow=this.mmlToken(MML.mo(arrow).With(vdef)),(a||b)&&(mml=MML.mrow(),a&&mml.Append(TEX.Parse(\"\\\\scriptstyle\\\\llap{\"+a+\"}\",this.stack.env).mml()),mml.Append(arrow.With({texClass:MML.TEXCLASS.ORD})),b&&mml.Append(TEX.Parse(\"\\\\scriptstyle\\\\rlap{\"+b+\"}\",this.stack.env).mml()))}mml&&this.Push(mml),this.CD_cell(name)},CD_cell:function(name){var top=this.stack.Top();(top.table||[]).length%2==0&&0===(top.row||[]).length&&this.Push(MML.mpadded().With({height:\"8.5pt\",depth:\"2pt\"})),this.Push(STACKITEM.cell().With({isEntry:!0,name:name}))},CD_minwidth:function(name){this.stack.env.CD_minw=this.GetDimen(name)},CD_minheight:function(name){this.stack.env.CD_minh=this.GetDimen(name)}})})),MathJax.Ajax.loadComplete(\"[MathJax]/extensions/TeX/AMScd.js\"),MathJax.Extension[\"TeX/AMSmath\"]={version:\"2.7.5\",number:0,startNumber:0,IDs:{},eqIDs:{},labels:{},eqlabels:{},refs:[]},MathJax.Hub.Register.StartupHook(\"TeX Jax Ready\",(function(){var MML=MathJax.ElementJax.mml,TEX=MathJax.InputJax.TeX,AMS=MathJax.Extension[\"TeX/AMSmath\"],TEXDEF=TEX.Definitions,STACKITEM=TEX.Stack.Item,CONFIG=TEX.config.equationNumbers,COLS=function(W){for(var WW=[],i=0,m=W.length;i<m;i++)WW[i]=TEX.Parse.prototype.Em(W[i]);return WW.join(\" \")},baseURL=0===document.getElementsByTagName(\"base\").length?\"\":String(document.location).replace(/#.*$/,\"\");TEXDEF.Add({mathchar0mo:{iiiint:[\"2A0C\",{texClass:MML.TEXCLASS.OP}]},macros:{mathring:[\"Accent\",\"2DA\"],nobreakspace:\"Tilde\",negmedspace:[\"Spacer\",MML.LENGTH.NEGATIVEMEDIUMMATHSPACE],negthickspace:[\"Spacer\",MML.LENGTH.NEGATIVETHICKMATHSPACE],idotsint:[\"MultiIntegral\",\"\\\\int\\\\cdots\\\\int\"],dddot:[\"Accent\",\"20DB\"],ddddot:[\"Accent\",\"20DC\"],sideset:[\"Macro\",\"\\\\mathop{\\\\mathop{\\\\rlap{\\\\phantom{#3}}}\\\\nolimits#1\\\\!\\\\mathop{#3}\\\\nolimits#2}\",3],boxed:[\"Macro\",\"\\\\fbox{$\\\\displaystyle{#1}$}\",1],tag:\"HandleTag\",notag:\"HandleNoTag\",label:\"HandleLabel\",ref:\"HandleRef\",eqref:[\"HandleRef\",!0],substack:[\"Macro\",\"\\\\begin{subarray}{c}#1\\\\end{subarray}\",1],injlim:[\"NamedOp\",\"inj&thinsp;lim\"],projlim:[\"NamedOp\",\"proj&thinsp;lim\"],varliminf:[\"Macro\",\"\\\\mathop{\\\\underline{\\\\mmlToken{mi}{lim}}}\"],varlimsup:[\"Macro\",\"\\\\mathop{\\\\overline{\\\\mmlToken{mi}{lim}}}\"],varinjlim:[\"Macro\",\"\\\\mathop{\\\\underrightarrow{\\\\mmlToken{mi}{lim}}}\"],varprojlim:[\"Macro\",\"\\\\mathop{\\\\underleftarrow{\\\\mmlToken{mi}{lim}}}\"],DeclareMathOperator:\"HandleDeclareOp\",operatorname:\"HandleOperatorName\",SkipLimits:\"SkipLimits\",genfrac:\"Genfrac\",frac:[\"Genfrac\",\"\",\"\",\"\",\"\"],tfrac:[\"Genfrac\",\"\",\"\",\"\",1],dfrac:[\"Genfrac\",\"\",\"\",\"\",0],binom:[\"Genfrac\",\"(\",\")\",\"0\",\"\"],tbinom:[\"Genfrac\",\"(\",\")\",\"0\",1],dbinom:[\"Genfrac\",\"(\",\")\",\"0\",0],cfrac:\"CFrac\",shoveleft:[\"HandleShove\",MML.ALIGN.LEFT],shoveright:[\"HandleShove\",MML.ALIGN.RIGHT],xrightarrow:[\"xArrow\",8594,5,6],xleftarrow:[\"xArrow\",8592,7,3]},environment:{align:[\"AMSarray\",null,!0,!0,\"rlrlrlrlrlrl\",COLS([0,2,0,2,0,2,0,2,0,2,0])],\"align*\":[\"AMSarray\",null,!1,!0,\"rlrlrlrlrlrl\",COLS([0,2,0,2,0,2,0,2,0,2,0])],multline:[\"Multline\",null,!0],\"multline*\":[\"Multline\",null,!1],split:[\"AMSarray\",null,!1,!1,\"rl\",COLS([0])],gather:[\"AMSarray\",null,!0,!0,\"c\"],\"gather*\":[\"AMSarray\",null,!1,!0,\"c\"],alignat:[\"AlignAt\",null,!0,!0],\"alignat*\":[\"AlignAt\",null,!1,!0],alignedat:[\"AlignAt\",null,!1,!1],aligned:[\"AlignedAMSArray\",null,null,null,\"rlrlrlrlrlrl\",COLS([0,2,0,2,0,2,0,2,0,2,0]),\".5em\",\"D\"],gathered:[\"AlignedAMSArray\",null,null,null,\"c\",null,\".5em\",\"D\"],subarray:[\"Array\",null,null,null,null,COLS([0]),\"0.1em\",\"S\",1],smallmatrix:[\"Array\",null,null,null,\"c\",COLS([1/3]),\".2em\",\"S\",1],equation:[\"EquationBegin\",\"Equation\",!0],\"equation*\":[\"EquationBegin\",\"EquationStar\",!1],eqnarray:[\"AMSarray\",null,!0,!0,\"rcl\",\"0 \"+MML.LENGTH.THICKMATHSPACE,\".5em\"],\"eqnarray*\":[\"AMSarray\",null,!1,!0,\"rcl\",\"0 \"+MML.LENGTH.THICKMATHSPACE,\".5em\"]},delimiter:{\"\\\\lvert\":[\"007C\",{texClass:MML.TEXCLASS.OPEN}],\"\\\\rvert\":[\"007C\",{texClass:MML.TEXCLASS.CLOSE}],\"\\\\lVert\":[\"2016\",{texClass:MML.TEXCLASS.OPEN}],\"\\\\rVert\":[\"2016\",{texClass:MML.TEXCLASS.CLOSE}]}},null,!0),TEX.Parse.Augment({HandleTag:function(name){var star=this.GetStar(),arg=this.trimSpaces(this.GetArgument(name)),tag=arg;star||(arg=CONFIG.formatTag(arg));var global=this.stack.global;global.tagID=tag,global.notags&&TEX.Error([\"CommandNotAllowedInEnv\",\"%1 not allowed in %2 environment\",name,global.notags]),global.tag&&TEX.Error([\"MultipleCommand\",\"Multiple %1\",name]),global.tag=MML.mtd.apply(MML,this.InternalMath(arg)).With({id:CONFIG.formatID(tag)})},HandleNoTag:function(name){this.stack.global.tag&&delete this.stack.global.tag,this.stack.global.notag=!0},HandleLabel:function(name){var global=this.stack.global,label=this.GetArgument(name);\"\"!==label&&(AMS.refUpdate||(global.label&&TEX.Error([\"MultipleCommand\",\"Multiple %1\",name]),global.label=label,(AMS.labels[label]||AMS.eqlabels[label])&&TEX.Error([\"MultipleLabel\",\"Label '%1' multiply defined\",label]),AMS.eqlabels[label]={tag:\"???\",id:\"\"}))},HandleRef:function(name,eqref){var label=this.GetArgument(name),ref=AMS.labels[label]||AMS.eqlabels[label];ref||(ref={tag:\"???\",id:\"\"},AMS.badref=!AMS.refUpdate);var tag=ref.tag;eqref&&(tag=CONFIG.formatTag(tag)),this.Push(MML.mrow.apply(MML,this.InternalMath(tag)).With({href:CONFIG.formatURL(ref.id,baseURL),class:\"MathJax_ref\"}))},HandleDeclareOp:function(name){var limits=this.GetStar()?\"\":\"\\\\nolimits\\\\SkipLimits\",cs=this.trimSpaces(this.GetArgument(name));\"\\\\\"==cs.charAt(0)&&(cs=cs.substr(1));var op=this.GetArgument(name);op=op.replace(/\\*/g,\"\\\\text{*}\").replace(/-/g,\"\\\\text{-}\"),this.setDef(cs,[\"Macro\",\"\\\\mathop{\\\\rm \"+op+\"}\"+limits])},HandleOperatorName:function(name){var limits=this.GetStar()?\"\":\"\\\\nolimits\\\\SkipLimits\",op=this.trimSpaces(this.GetArgument(name));op=op.replace(/\\*/g,\"\\\\text{*}\").replace(/-/g,\"\\\\text{-}\"),this.string=\"\\\\mathop{\\\\rm \"+op+\"}\"+limits+\" \"+this.string.slice(this.i),this.i=0},SkipLimits:function(name){var c=this.GetNext(),i=this.i;\"\\\\\"===c&&++this.i&&\"limits\"!==this.GetCS()&&(this.i=i)},HandleShove:function(name,shove){var top=this.stack.Top();\"multline\"!==top.type&&TEX.Error([\"CommandInMultline\",\"%1 can only appear within the multline environment\",name]),top.data.length&&TEX.Error([\"CommandAtTheBeginingOfLine\",\"%1 must come at the beginning of the line\",name]),top.data.shove=shove},CFrac:function(name){var lr=this.trimSpaces(this.GetBrackets(name,\"\")),num=this.GetArgument(name),den=this.GetArgument(name),frac=MML.mfrac(TEX.Parse(\"\\\\strut\\\\textstyle{\"+num+\"}\",this.stack.env).mml(),TEX.Parse(\"\\\\strut\\\\textstyle{\"+den+\"}\",this.stack.env).mml());null==(lr={l:MML.ALIGN.LEFT,r:MML.ALIGN.RIGHT,\"\":\"\"}[lr])&&TEX.Error([\"IllegalAlign\",\"Illegal alignment specified in %1\",name]),lr&&(frac.numalign=frac.denomalign=lr),this.Push(frac)},Genfrac:function(name,left,right,thick,style){null==left&&(left=this.GetDelimiterArg(name)),null==right&&(right=this.GetDelimiterArg(name)),null==thick&&(thick=this.GetArgument(name)),null==style&&(style=this.trimSpaces(this.GetArgument(name)));var num=this.ParseArg(name),den=this.ParseArg(name),frac=MML.mfrac(num,den);if(\"\"!==thick&&(frac.linethickness=thick),(left||right)&&(frac=TEX.fixedFence(left,frac.With({texWithDelims:!0}),right)),\"\"!==style){var STYLE=[\"D\",\"T\",\"S\",\"SS\"][style];null==STYLE&&TEX.Error([\"BadMathStyleFor\",\"Bad math style for %1\",name]),frac=MML.mstyle(frac),\"D\"===STYLE?(frac.displaystyle=!0,frac.scriptlevel=0):(frac.displaystyle=!1,frac.scriptlevel=style-1)}this.Push(frac)},Multline:function(begin,numbered){return this.Push(begin),this.checkEqnEnv(),STACKITEM.multline(numbered,this.stack).With({arraydef:{displaystyle:!0,rowspacing:\".5em\",width:TEX.config.MultLineWidth,columnwidth:\"100%\",side:TEX.config.TagSide,minlabelspacing:TEX.config.TagIndent}})},AMSarray:function(begin,numbered,taggable,align,spacing){return this.Push(begin),taggable&&this.checkEqnEnv(),align=(align=align.replace(/[^clr]/g,\"\").split(\"\").join(\" \")).replace(/l/g,\"left\").replace(/r/g,\"right\").replace(/c/g,\"center\"),STACKITEM.AMSarray(begin.name,numbered,taggable,this.stack).With({arraydef:{displaystyle:!0,rowspacing:\".5em\",columnalign:align,columnspacing:spacing||\"1em\",rowspacing:\"3pt\",side:TEX.config.TagSide,minlabelspacing:TEX.config.TagIndent}})},AlignedAMSArray:function(begin){var align=this.GetBrackets(\"\\\\begin{\"+begin.name+\"}\");return this.setArrayAlign(this.AMSarray.apply(this,arguments),align)},AlignAt:function(begin,numbered,taggable){var n,valign,align=\"\",spacing=[];for(taggable||(valign=this.GetBrackets(\"\\\\begin{\"+begin.name+\"}\")),(n=this.GetArgument(\"\\\\begin{\"+begin.name+\"}\")).match(/[^0-9]/)&&TEX.Error([\"PositiveIntegerArg\",\"Argument to %1 must me a positive integer\",\"\\\\begin{\"+begin.name+\"}\"]);n>0;)align+=\"rl\",spacing.push(\"0em 0em\"),n--;if(spacing=spacing.join(\" \"),taggable)return this.AMSarray(begin,numbered,taggable,align,spacing);var array=this.AMSarray(begin,numbered,taggable,align,spacing);return this.setArrayAlign(array,valign)},EquationBegin:function(begin,force){return this.checkEqnEnv(),this.stack.global.forcetag=force&&\"none\"!==CONFIG.autoNumber,begin},EquationStar:function(begin,row){return this.stack.global.tagged=!0,row},checkEqnEnv:function(){this.stack.global.eqnenv&&TEX.Error([\"ErroneousNestingEq\",\"Erroneous nesting of equation structures\"]),this.stack.global.eqnenv=!0},MultiIntegral:function(name,integral){var next=this.GetNext();if(\"\\\\\"===next){var i=this.i;next=this.GetArgument(name),this.i=i,\"\\\\limits\"===next&&(integral=\"\\\\idotsint\"===name?\"\\\\!\\\\!\\\\mathop{\\\\,\\\\,\"+integral+\"}\":\"\\\\!\\\\!\\\\!\\\\mathop{\\\\,\\\\,\\\\,\"+integral+\"}\")}this.string=integral+\" \"+this.string.slice(this.i),this.i=0},xArrow:function(name,chr,l,r){var def={width:\"+\"+(l+r)+\"mu\",lspace:l+\"mu\"},bot=this.GetBrackets(name),top=this.ParseArg(name),arrow=MML.mo(MML.chars(String.fromCharCode(chr))).With({stretchy:!0,texClass:MML.TEXCLASS.REL}),mml=MML.munderover(arrow);mml.SetData(mml.over,MML.mpadded(top).With(def).With({voffset:\".15em\"})),bot&&(bot=TEX.Parse(bot,this.stack.env).mml(),mml.SetData(mml.under,MML.mpadded(bot).With(def).With({voffset:\"-.24em\"}))),this.Push(mml.With({subsupOK:!0}))},GetDelimiterArg:function(name){var c=this.trimSpaces(this.GetArgument(name));return\"\"==c?null:c in TEXDEF.delimiter?c:void TEX.Error([\"MissingOrUnrecognizedDelim\",\"Missing or unrecognized delimiter for %1\",name])},GetStar:function(){var star=\"*\"===this.GetNext();return star&&this.i++,star}}),STACKITEM.Augment({autoTag:function(){var global=this.global;if(!global.notag){AMS.number++,global.tagID=CONFIG.formatNumber(AMS.number.toString());var mml=TEX.Parse(\"\\\\text{\"+CONFIG.formatTag(global.tagID)+\"}\",{}).mml();global.tag=MML.mtd(mml).With({id:CONFIG.formatID(global.tagID)})}},getTag:function(){var global=this.global,tag=global.tag;if(global.tagged=!0,global.label&&(CONFIG.useLabelIds&&(tag.id=CONFIG.formatID(global.label)),AMS.eqlabels[global.label]={tag:global.tagID,id:tag.id}),document.getElementById(tag.id)||AMS.IDs[tag.id]||AMS.eqIDs[tag.id]){var i=0,ID;do{i++,ID=tag.id+\"_\"+i}while(document.getElementById(ID)||AMS.IDs[ID]||AMS.eqIDs[ID]);tag.id=ID,global.label&&(AMS.eqlabels[global.label].id=ID)}return AMS.eqIDs[tag.id]=1,this.clearTag(),tag},clearTag:function(){var global=this.global;delete global.tag,delete global.tagID,delete global.label},fixInitialMO:function(data){for(var i=0,m=data.length;i<m;i++)if(data[i]&&\"mspace\"!==data[i].type&&(\"texatom\"!==data[i].type||data[i].data[0]&&data[i].data[0].data.length)){data[i].isEmbellished()&&data.unshift(MML.mi());break}}}),STACKITEM.multline=STACKITEM.array.Subclass({type:\"multline\",Init:function(numbered,stack){this.SUPER(arguments).Init.apply(this),this.numbered=numbered&&\"none\"!==CONFIG.autoNumber,this.save={notag:stack.global.notag},stack.global.tagged=!numbered&&!stack.global.forcetag},EndEntry:function(){this.table.length&&this.fixInitialMO(this.data);var mtd=MML.mtd.apply(MML,this.data);this.data.shove&&(mtd.columnalign=this.data.shove),this.row.push(mtd),this.data=[]},EndRow:function(){1!=this.row.length&&TEX.Error([\"MultlineRowsOneCol\",\"The rows within the %1 environment must have exactly one column\",\"multline\"]),this.table.push(this.row),this.row=[]},EndTable:function(){if(this.SUPER(arguments).EndTable.call(this),this.table.length){var m=this.table.length-1,i,label=-1;for(this.table[0][0].columnalign||(this.table[0][0].columnalign=MML.ALIGN.LEFT),this.table[m][0].columnalign||(this.table[m][0].columnalign=MML.ALIGN.RIGHT),!this.global.tag&&this.numbered&&this.autoTag(),this.global.tag&&!this.global.notags&&(label=\"left\"===this.arraydef.side?0:this.table.length-1,this.table[label]=[this.getTag()].concat(this.table[label])),i=0,m=this.table.length;i<m;i++){var mtr=i===label?MML.mlabeledtr:MML.mtr;this.table[i]=mtr.apply(MML,this.table[i])}}this.global.notag=this.save.notag}}),STACKITEM.AMSarray=STACKITEM.array.Subclass({type:\"AMSarray\",Init:function(name,numbered,taggable,stack){this.SUPER(arguments).Init.apply(this),this.numbered=numbered&&\"none\"!==CONFIG.autoNumber,this.save={notags:stack.global.notags,notag:stack.global.notag},stack.global.notags=taggable?null:name,stack.global.tagged=!numbered&&!stack.global.forcetag},EndEntry:function(){this.row.length%2==1&&this.fixInitialMO(this.data),this.row.push(MML.mtd.apply(MML,this.data)),this.data=[]},EndRow:function(){var mtr=MML.mtr;!this.global.tag&&this.numbered&&this.autoTag(),this.global.tag&&!this.global.notags?(this.row=[this.getTag()].concat(this.row),mtr=MML.mlabeledtr):this.clearTag(),this.numbered&&delete this.global.notag,this.table.push(mtr.apply(MML,this.row)),this.row=[]},EndTable:function(){this.SUPER(arguments).EndTable.call(this),this.global.notags=this.save.notags,this.global.notag=this.save.notag}}),STACKITEM.start.Augment({oldCheckItem:STACKITEM.start.prototype.checkItem,checkItem:function(item){if(\"stop\"===item.type){var mml=this.mmlData(),global=this.global;if(!AMS.display||global.tag||global.tagged||global.isInner||\"all\"!==CONFIG.autoNumber&&!global.forcetag||this.autoTag(),global.tag){var row=[this.getTag(),MML.mtd(mml)],def={side:TEX.config.TagSide,minlabelspacing:TEX.config.TagIndent,displaystyle:\"inherit\"};mml=MML.mtable(MML.mlabeledtr.apply(MML,row)).With(def)}return STACKITEM.mml(mml)}return this.oldCheckItem.call(this,item)}}),TEX.prefilterHooks.Add((function(data){AMS.display=data.display,AMS.number=AMS.startNumber,AMS.eqlabels={},AMS.eqIDs={},AMS.badref=!1,AMS.refUpdate&&(AMS.number=data.script.MathJax.startNumber)})),TEX.postfilterHooks.Add((function(data){data.script.MathJax.startNumber=AMS.startNumber,AMS.startNumber=AMS.number,MathJax.Hub.Insert(AMS.IDs,AMS.eqIDs),MathJax.Hub.Insert(AMS.labels,AMS.eqlabels),AMS.badref&&!data.math.texError&&AMS.refs.push(data.script)}),100),MathJax.Hub.Register.MessageHook(\"Begin Math Input\",(function(){AMS.refs=[],AMS.refUpdate=!1})),MathJax.Hub.Register.MessageHook(\"End Math Input\",(function(message){if(AMS.refs.length){AMS.refUpdate=!0;for(var i=0,m=AMS.refs.length;i<m;i++)AMS.refs[i].MathJax.state=MathJax.ElementJax.STATE.UPDATE;return MathJax.Hub.processInput({scripts:AMS.refs,start:(new Date).getTime(),i:0,j:0,jax:{},jaxIDs:[]})}return null})),TEX.resetEquationNumbers=function(n,keepLabels){AMS.startNumber=n||0,keepLabels||(AMS.labels={},AMS.IDs={})},MathJax.Hub.Startup.signal.Post(\"TeX AMSmath Ready\")})),MathJax.Ajax.loadComplete(\"[MathJax]/extensions/TeX/AMSmath.js\"),MathJax.Extension[\"TeX/AMSsymbols\"]={version:\"2.7.5\"},MathJax.Hub.Register.StartupHook(\"TeX Jax Ready\",(function(){var MML=MathJax.ElementJax.mml,TEXDEF;MathJax.InputJax.TeX.Definitions.Add({mathchar0mi:{digamma:\"03DD\",varkappa:\"03F0\",varGamma:[\"0393\",{mathvariant:MML.VARIANT.ITALIC}],varDelta:[\"0394\",{mathvariant:MML.VARIANT.ITALIC}],varTheta:[\"0398\",{mathvariant:MML.VARIANT.ITALIC}],varLambda:[\"039B\",{mathvariant:MML.VARIANT.ITALIC}],varXi:[\"039E\",{mathvariant:MML.VARIANT.ITALIC}],varPi:[\"03A0\",{mathvariant:MML.VARIANT.ITALIC}],varSigma:[\"03A3\",{mathvariant:MML.VARIANT.ITALIC}],varUpsilon:[\"03A5\",{mathvariant:MML.VARIANT.ITALIC}],varPhi:[\"03A6\",{mathvariant:MML.VARIANT.ITALIC}],varPsi:[\"03A8\",{mathvariant:MML.VARIANT.ITALIC}],varOmega:[\"03A9\",{mathvariant:MML.VARIANT.ITALIC}],beth:\"2136\",gimel:\"2137\",daleth:\"2138\",backprime:[\"2035\",{variantForm:!0}],hslash:\"210F\",varnothing:[\"2205\",{variantForm:!0}],blacktriangle:\"25B4\",triangledown:[\"25BD\",{variantForm:!0}],blacktriangledown:\"25BE\",square:\"25FB\",Box:\"25FB\",blacksquare:\"25FC\",lozenge:\"25CA\",Diamond:\"25CA\",blacklozenge:\"29EB\",circledS:[\"24C8\",{mathvariant:MML.VARIANT.NORMAL}],bigstar:\"2605\",sphericalangle:\"2222\",measuredangle:\"2221\",nexists:\"2204\",complement:\"2201\",mho:\"2127\",eth:[\"00F0\",{mathvariant:MML.VARIANT.NORMAL}],Finv:\"2132\",diagup:\"2571\",Game:\"2141\",diagdown:\"2572\",Bbbk:[\"006B\",{mathvariant:MML.VARIANT.DOUBLESTRUCK}],yen:\"00A5\",circledR:\"00AE\",checkmark:\"2713\",maltese:\"2720\"},mathchar0mo:{dotplus:\"2214\",ltimes:\"22C9\",smallsetminus:\"2216\",rtimes:\"22CA\",Cap:\"22D2\",doublecap:\"22D2\",leftthreetimes:\"22CB\",Cup:\"22D3\",doublecup:\"22D3\",rightthreetimes:\"22CC\",barwedge:\"22BC\",curlywedge:\"22CF\",veebar:\"22BB\",curlyvee:\"22CE\",doublebarwedge:\"2A5E\",boxminus:\"229F\",circleddash:\"229D\",boxtimes:\"22A0\",circledast:\"229B\",boxdot:\"22A1\",circledcirc:\"229A\",boxplus:\"229E\",centerdot:[\"22C5\",{variantForm:!0}],divideontimes:\"22C7\",intercal:\"22BA\",leqq:\"2266\",geqq:\"2267\",leqslant:\"2A7D\",geqslant:\"2A7E\",eqslantless:\"2A95\",eqslantgtr:\"2A96\",lesssim:\"2272\",gtrsim:\"2273\",lessapprox:\"2A85\",gtrapprox:\"2A86\",approxeq:\"224A\",lessdot:\"22D6\",gtrdot:\"22D7\",lll:\"22D8\",llless:\"22D8\",ggg:\"22D9\",gggtr:\"22D9\",lessgtr:\"2276\",gtrless:\"2277\",lesseqgtr:\"22DA\",gtreqless:\"22DB\",lesseqqgtr:\"2A8B\",gtreqqless:\"2A8C\",doteqdot:\"2251\",Doteq:\"2251\",eqcirc:\"2256\",risingdotseq:\"2253\",circeq:\"2257\",fallingdotseq:\"2252\",triangleq:\"225C\",backsim:\"223D\",thicksim:[\"223C\",{variantForm:!0}],backsimeq:\"22CD\",thickapprox:[\"2248\",{variantForm:!0}],subseteqq:\"2AC5\",supseteqq:\"2AC6\",Subset:\"22D0\",Supset:\"22D1\",sqsubset:\"228F\",sqsupset:\"2290\",preccurlyeq:\"227C\",succcurlyeq:\"227D\",curlyeqprec:\"22DE\",curlyeqsucc:\"22DF\",precsim:\"227E\",succsim:\"227F\",precapprox:\"2AB7\",succapprox:\"2AB8\",vartriangleleft:\"22B2\",lhd:\"22B2\",vartriangleright:\"22B3\",rhd:\"22B3\",trianglelefteq:\"22B4\",unlhd:\"22B4\",trianglerighteq:\"22B5\",unrhd:\"22B5\",vDash:\"22A8\",Vdash:\"22A9\",Vvdash:\"22AA\",smallsmile:[\"2323\",{variantForm:!0}],shortmid:[\"2223\",{variantForm:!0}],smallfrown:[\"2322\",{variantForm:!0}],shortparallel:[\"2225\",{variantForm:!0}],bumpeq:\"224F\",between:\"226C\",Bumpeq:\"224E\",pitchfork:\"22D4\",varpropto:\"221D\",backepsilon:\"220D\",blacktriangleleft:\"25C2\",blacktriangleright:\"25B8\",therefore:\"2234\",because:\"2235\",eqsim:\"2242\",vartriangle:[\"25B3\",{variantForm:!0}],Join:\"22C8\",nless:\"226E\",ngtr:\"226F\",nleq:\"2270\",ngeq:\"2271\",nleqslant:[\"2A87\",{variantForm:!0}],ngeqslant:[\"2A88\",{variantForm:!0}],nleqq:[\"2270\",{variantForm:!0}],ngeqq:[\"2271\",{variantForm:!0}],lneq:\"2A87\",gneq:\"2A88\",lneqq:\"2268\",gneqq:\"2269\",lvertneqq:[\"2268\",{variantForm:!0}],gvertneqq:[\"2269\",{variantForm:!0}],lnsim:\"22E6\",gnsim:\"22E7\",lnapprox:\"2A89\",gnapprox:\"2A8A\",nprec:\"2280\",nsucc:\"2281\",npreceq:[\"22E0\",{variantForm:!0}],nsucceq:[\"22E1\",{variantForm:!0}],precneqq:\"2AB5\",succneqq:\"2AB6\",precnsim:\"22E8\",succnsim:\"22E9\",precnapprox:\"2AB9\",succnapprox:\"2ABA\",nsim:\"2241\",ncong:\"2246\",nshortmid:[\"2224\",{variantForm:!0}],nshortparallel:[\"2226\",{variantForm:!0}],nmid:\"2224\",nparallel:\"2226\",nvdash:\"22AC\",nvDash:\"22AD\",nVdash:\"22AE\",nVDash:\"22AF\",ntriangleleft:\"22EA\",ntriangleright:\"22EB\",ntrianglelefteq:\"22EC\",ntrianglerighteq:\"22ED\",nsubseteq:\"2288\",nsupseteq:\"2289\",nsubseteqq:[\"2288\",{variantForm:!0}],nsupseteqq:[\"2289\",{variantForm:!0}],subsetneq:\"228A\",supsetneq:\"228B\",varsubsetneq:[\"228A\",{variantForm:!0}],varsupsetneq:[\"228B\",{variantForm:!0}],subsetneqq:\"2ACB\",supsetneqq:\"2ACC\",varsubsetneqq:[\"2ACB\",{variantForm:!0}],varsupsetneqq:[\"2ACC\",{variantForm:!0}],leftleftarrows:\"21C7\",rightrightarrows:\"21C9\",leftrightarrows:\"21C6\",rightleftarrows:\"21C4\",Lleftarrow:\"21DA\",Rrightarrow:\"21DB\",twoheadleftarrow:\"219E\",twoheadrightarrow:\"21A0\",leftarrowtail:\"21A2\",rightarrowtail:\"21A3\",looparrowleft:\"21AB\",looparrowright:\"21AC\",leftrightharpoons:\"21CB\",rightleftharpoons:[\"21CC\",{variantForm:!0}],curvearrowleft:\"21B6\",curvearrowright:\"21B7\",circlearrowleft:\"21BA\",circlearrowright:\"21BB\",Lsh:\"21B0\",Rsh:\"21B1\",upuparrows:\"21C8\",downdownarrows:\"21CA\",upharpoonleft:\"21BF\",upharpoonright:\"21BE\",downharpoonleft:\"21C3\",restriction:\"21BE\",multimap:\"22B8\",downharpoonright:\"21C2\",leftrightsquigarrow:\"21AD\",rightsquigarrow:\"21DD\",leadsto:\"21DD\",dashrightarrow:\"21E2\",dashleftarrow:\"21E0\",nleftarrow:\"219A\",nrightarrow:\"219B\",nLeftarrow:\"21CD\",nRightarrow:\"21CF\",nleftrightarrow:\"21AE\",nLeftrightarrow:\"21CE\"},delimiter:{\"\\\\ulcorner\":\"231C\",\"\\\\urcorner\":\"231D\",\"\\\\llcorner\":\"231E\",\"\\\\lrcorner\":\"231F\"},macros:{implies:[\"Macro\",\"\\\\;\\\\Longrightarrow\\\\;\"],impliedby:[\"Macro\",\"\\\\;\\\\Longleftarrow\\\\;\"]}},null,!0);var REL=MML.mo.OPTYPES.REL;MathJax.Hub.Insert(MML.mo.prototype,{OPTABLE:{infix:{\"⌢\":REL,\"⌣\":REL,\"△\":REL,\"\":REL,\"\":REL,\"\":REL,\"\":REL,\"\":REL,\"\":REL,\"\":REL,\"\":REL,\"\":REL,\"\":REL,\"\":REL,\"\":REL,\"\":REL,\"\":REL,\"\":REL,\"\":REL}}}),MathJax.Hub.Startup.signal.Post(\"TeX AMSsymbols Ready\")})),MathJax.Ajax.loadComplete(\"[MathJax]/extensions/TeX/AMSsymbols.js\"),MathJax.Extension[\"TeX/HTML\"]={version:\"2.7.5\"},MathJax.Hub.Register.StartupHook(\"TeX Jax Ready\",(function(){var TEX=MathJax.InputJax.TeX,TEXDEF;TEX.Definitions.Add({macros:{href:\"HREF_attribute\",class:\"CLASS_attribute\",style:\"STYLE_attribute\",cssId:\"ID_attribute\"}},null,!0),TEX.Parse.Augment({HREF_attribute:function(name){var url=this.GetArgument(name),arg=this.GetArgumentMML(name);this.Push(arg.With({href:url}))},CLASS_attribute:function(name){var CLASS=this.GetArgument(name),arg=this.GetArgumentMML(name);null!=arg.class&&(CLASS=arg.class+\" \"+CLASS),this.Push(arg.With({class:CLASS}))},STYLE_attribute:function(name){var style=this.GetArgument(name),arg=this.GetArgumentMML(name);null!=arg.style&&(\";\"!==style.charAt(style.length-1)&&(style+=\";\"),style=arg.style+\" \"+style),this.Push(arg.With({style:style}))},ID_attribute:function(name){var ID=this.GetArgument(name),arg=this.GetArgumentMML(name);this.Push(arg.With({id:ID}))},GetArgumentMML:function(name){var arg=this.ParseArg(name);return arg.inferred&&1==arg.data.length?arg=arg.data[0]:delete arg.inferred,arg}}),MathJax.Hub.Startup.signal.Post(\"TeX HTML Ready\")})),MathJax.Ajax.loadComplete(\"[MathJax]/extensions/TeX/HTML.js\"),MathJax.Extension[\"TeX/action\"]={version:\"2.7.5\"},MathJax.Hub.Register.StartupHook(\"TeX Jax Ready\",(function(){var TEX=MathJax.InputJax.TeX,MML=MathJax.ElementJax.mml;TEX.Definitions.Add({macros:{toggle:\"Toggle\",mathtip:\"Mathtip\",texttip:[\"Macro\",\"\\\\mathtip{#1}{\\\\text{#2}}\",2]}},null,!0),TEX.Parse.Augment({Toggle:function(name){for(var data=[],arg;\"\\\\endtoggle\"!==(arg=this.GetArgument(name));)data.push(TEX.Parse(arg,this.stack.env).mml());this.Push(MML.maction.apply(MML,data).With({actiontype:MML.ACTIONTYPE.TOGGLE}))},Mathtip:function(name){var arg=this.ParseArg(name),tip=this.ParseArg(name);this.Push(MML.maction(arg,tip).With({actiontype:MML.ACTIONTYPE.TOOLTIP}))}}),MathJax.Hub.Startup.signal.Post(\"TeX action Ready\")})),MathJax.Ajax.loadComplete(\"[MathJax]/extensions/TeX/action.js\"),MathJax.Extension[\"TeX/autobold\"]={version:\"2.7.5\"},MathJax.Hub.Register.StartupHook(\"TeX Jax Ready\",(function(){var TEX;MathJax.InputJax.TeX.prefilterHooks.Add((function(data){var span=data.script.parentNode.insertBefore(document.createElement(\"span\"),data.script);span.visibility=\"hidden\",span.style.fontFamily=\"Times, serif\",span.appendChild(document.createTextNode(\"ABCXYZabcxyz\"));var W=span.offsetWidth;span.style.fontWeight=\"bold\",W&&span.offsetWidth===W&&(data.math=\"\\\\boldsymbol{\"+data.math+\"}\"),span.parentNode.removeChild(span)})),MathJax.Hub.Startup.signal.Post(\"TeX autobold Ready\")})),MathJax.Ajax.loadComplete(\"[MathJax]/extensions/TeX/autobold.js\"),MathJax.Extension[\"TeX/bbox\"]={version:\"2.7.5\"},MathJax.Hub.Register.StartupHook(\"TeX Jax Ready\",(function(){var TEX=MathJax.InputJax.TeX,MML=MathJax.ElementJax.mml;TEX.Definitions.Add({macros:{bbox:\"BBox\"}},null,!0),TEX.Parse.Augment({BBox:function(name){for(var bbox=this.GetBrackets(name,\"\"),math=this.ParseArg(name),parts=bbox.split(/,/),def,background,style,i=0,m=parts.length;i<m;i++){var part=parts[i].replace(/^\\s+/,\"\").replace(/\\s+$/,\"\"),match=part.match(/^(\\.\\d+|\\d+(\\.\\d*)?)(pt|em|ex|mu|px|in|cm|mm)$/);if(match){def&&TEX.Error([\"MultipleBBoxProperty\",\"%1 specified twice in %2\",\"Padding\",name]);var pad=this.BBoxPadding(match[1]+match[3]);pad&&(def={height:\"+\"+pad,depth:\"+\"+pad,lspace:pad,width:\"+\"+2*match[1]+match[3]})}else part.match(/^([a-z0-9]+|\\#[0-9a-f]{6}|\\#[0-9a-f]{3})$/i)?(background&&TEX.Error([\"MultipleBBoxProperty\",\"%1 specified twice in %2\",\"Background\",name]),background=part):part.match(/^[-a-z]+:/i)?(style&&TEX.Error([\"MultipleBBoxProperty\",\"%1 specified twice in %2\",\"Style\",name]),style=this.BBoxStyle(part)):\"\"!==part&&TEX.Error([\"InvalidBBoxProperty\",\"'%1' doesn't look like a color, a padding dimension, or a style\",part])}def&&(math=MML.mpadded(math).With(def)),(background||style)&&(math=MML.mstyle(math).With({mathbackground:background,style:style})),this.Push(math)},BBoxStyle:function(styles){return styles},BBoxPadding:function(pad){return pad}}),MathJax.Hub.Startup.signal.Post(\"TeX bbox Ready\")})),MathJax.Ajax.loadComplete(\"[MathJax]/extensions/TeX/bbox.js\"),MathJax.Extension[\"TeX/boldsymbol\"]={version:\"2.7.5\"},MathJax.Hub.Register.StartupHook(\"TeX Jax Ready\",(function(){var MML=MathJax.ElementJax.mml,TEX=MathJax.InputJax.TeX,TEXDEF=TEX.Definitions,BOLDVARIANT={};BOLDVARIANT[MML.VARIANT.NORMAL]=MML.VARIANT.BOLD,BOLDVARIANT[MML.VARIANT.ITALIC]=MML.VARIANT.BOLDITALIC,BOLDVARIANT[MML.VARIANT.FRAKTUR]=MML.VARIANT.BOLDFRAKTUR,BOLDVARIANT[MML.VARIANT.SCRIPT]=MML.VARIANT.BOLDSCRIPT,BOLDVARIANT[MML.VARIANT.SANSSERIF]=MML.VARIANT.BOLDSANSSERIF,BOLDVARIANT[\"-tex-caligraphic\"]=\"-tex-caligraphic-bold\",BOLDVARIANT[\"-tex-oldstyle\"]=\"-tex-oldstyle-bold\",TEXDEF.Add({macros:{boldsymbol:\"Boldsymbol\"}},null,!0),TEX.Parse.Augment({mmlToken:function(token){if(this.stack.env.boldsymbol){var variant=token.Get(\"mathvariant\");token.mathvariant=null==variant?MML.VARIANT.BOLD:BOLDVARIANT[variant]||variant}return token},Boldsymbol:function(name){var boldsymbol=this.stack.env.boldsymbol,font=this.stack.env.font;this.stack.env.boldsymbol=!0,this.stack.env.font=null;var mml=this.ParseArg(name);this.stack.env.font=font,this.stack.env.boldsymbol=boldsymbol,this.Push(mml)}}),MathJax.Hub.Startup.signal.Post(\"TeX boldsymbol Ready\")})),MathJax.Ajax.loadComplete(\"[MathJax]/extensions/TeX/boldsymbol.js\"),MathJax.Extension[\"TeX/cancel\"]={version:\"2.7.5\",ALLOWED:{color:1,mathcolor:1,background:1,mathbackground:1,padding:1,thickness:1}},MathJax.Hub.Register.StartupHook(\"TeX Jax Ready\",(function(){var TEX=MathJax.InputJax.TeX,MML=MathJax.ElementJax.mml,CANCEL=MathJax.Extension[\"TeX/cancel\"];CANCEL.setAttributes=function(def,attr){if(\"\"!==attr)for(var i=0,m=(attr=attr.replace(/ /g,\"\").split(/,/)).length;i<m;i++){var keyvalue=attr[i].split(/[:=]/);CANCEL.ALLOWED[keyvalue[0]]&&(\"true\"===keyvalue[1]&&(keyvalue[1]=!0),\"false\"===keyvalue[1]&&(keyvalue[1]=!1),def[keyvalue[0]]=keyvalue[1])}return def},TEX.Definitions.Add({macros:{cancel:[\"Cancel\",MML.NOTATION.UPDIAGONALSTRIKE],bcancel:[\"Cancel\",MML.NOTATION.DOWNDIAGONALSTRIKE],xcancel:[\"Cancel\",MML.NOTATION.UPDIAGONALSTRIKE+\" \"+MML.NOTATION.DOWNDIAGONALSTRIKE],cancelto:\"CancelTo\"}},null,!0),TEX.Parse.Augment({Cancel:function(name,notation){var attr=this.GetBrackets(name,\"\"),math=this.ParseArg(name),def=CANCEL.setAttributes({notation:notation},attr);this.Push(MML.menclose(math).With(def))},CancelTo:function(name,notation){var value=this.ParseArg(name),attr=this.GetBrackets(name,\"\"),math=this.ParseArg(name),def=CANCEL.setAttributes({notation:MML.NOTATION.UPDIAGONALSTRIKE+\" \"+MML.NOTATION.UPDIAGONALARROW},attr);value=MML.mpadded(value).With({depth:\"-.1em\",height:\"+.1em\",voffset:\".1em\"}),this.Push(MML.msup(MML.menclose(math).With(def),value))}}),MathJax.Hub.Startup.signal.Post(\"TeX cancel Ready\")})),MathJax.Ajax.loadComplete(\"[MathJax]/extensions/TeX/cancel.js\"),MathJax.Extension[\"TeX/color\"]={version:\"2.7.5\",config:MathJax.Hub.CombineConfig(\"TeX.color\",{padding:\"5px\",border:\"2px\"}),colors:{Apricot:\"#FBB982\",Aquamarine:\"#00B5BE\",Bittersweet:\"#C04F17\",Black:\"#221E1F\",Blue:\"#2D2F92\",BlueGreen:\"#00B3B8\",BlueViolet:\"#473992\",BrickRed:\"#B6321C\",Brown:\"#792500\",BurntOrange:\"#F7921D\",CadetBlue:\"#74729A\",CarnationPink:\"#F282B4\",Cerulean:\"#00A2E3\",CornflowerBlue:\"#41B0E4\",Cyan:\"#00AEEF\",Dandelion:\"#FDBC42\",DarkOrchid:\"#A4538A\",Emerald:\"#00A99D\",ForestGreen:\"#009B55\",Fuchsia:\"#8C368C\",Goldenrod:\"#FFDF42\",Gray:\"#949698\",Green:\"#00A64F\",GreenYellow:\"#DFE674\",JungleGreen:\"#00A99A\",Lavender:\"#F49EC4\",LimeGreen:\"#8DC73E\",Magenta:\"#EC008C\",Mahogany:\"#A9341F\",Maroon:\"#AF3235\",Melon:\"#F89E7B\",MidnightBlue:\"#006795\",Mulberry:\"#A93C93\",NavyBlue:\"#006EB8\",OliveGreen:\"#3C8031\",Orange:\"#F58137\",OrangeRed:\"#ED135A\",Orchid:\"#AF72B0\",Peach:\"#F7965A\",Periwinkle:\"#7977B8\",PineGreen:\"#008B72\",Plum:\"#92268F\",ProcessBlue:\"#00B0F0\",Purple:\"#99479B\",RawSienna:\"#974006\",Red:\"#ED1B23\",RedOrange:\"#F26035\",RedViolet:\"#A1246B\",Rhodamine:\"#EF559F\",RoyalBlue:\"#0071BC\",RoyalPurple:\"#613F99\",RubineRed:\"#ED017D\",Salmon:\"#F69289\",SeaGreen:\"#3FBC9D\",Sepia:\"#671800\",SkyBlue:\"#46C5DD\",SpringGreen:\"#C6DC67\",Tan:\"#DA9D76\",TealBlue:\"#00AEB3\",Thistle:\"#D883B7\",Turquoise:\"#00B4CE\",Violet:\"#58429B\",VioletRed:\"#EF58A0\",White:\"#FFFFFF\",WildStrawberry:\"#EE2967\",Yellow:\"#FFF200\",YellowGreen:\"#98CC70\",YellowOrange:\"#FAA21A\"},getColor:function(model,def){model||(model=\"named\");var fn=this[\"get_\"+model];return fn||this.TEX.Error([\"UndefinedColorModel\",\"Color model '%1' not defined\",model]),fn.call(this,def)},get_rgb:function(rgb){var RGB=\"#\";3!==(rgb=rgb.replace(/^\\s+/,\"\").replace(/\\s+$/,\"\").split(/\\s*,\\s*/)).length&&this.TEX.Error([\"ModelArg1\",\"Color values for the %1 model require 3 numbers\",\"rgb\"]);for(var i=0;i<3;i++){rgb[i].match(/^(\\d+(\\.\\d*)?|\\.\\d+)$/)||this.TEX.Error([\"InvalidDecimalNumber\",\"Invalid decimal number\"]);var n=parseFloat(rgb[i]);(n<0||n>1)&&this.TEX.Error([\"ModelArg2\",\"Color values for the %1 model must be between %2 and %3\",\"rgb\",0,1]),(n=Math.floor(255*n).toString(16)).length<2&&(n=\"0\"+n),RGB+=n}return RGB},get_RGB:function(rgb){var RGB=\"#\";3!==(rgb=rgb.replace(/^\\s+/,\"\").replace(/\\s+$/,\"\").split(/\\s*,\\s*/)).length&&this.TEX.Error([\"ModelArg1\",\"Color values for the %1 model require 3 numbers\",\"RGB\"]);for(var i=0;i<3;i++){rgb[i].match(/^\\d+$/)||this.TEX.Error([\"InvalidNumber\",\"Invalid number\"]);var n=parseInt(rgb[i]);n>255&&this.TEX.Error([\"ModelArg2\",\"Color values for the %1 model must be between %2 and %3\",\"RGB\",0,255]),(n=n.toString(16)).length<2&&(n=\"0\"+n),RGB+=n}return RGB},get_gray:function(gray){gray.match(/^\\s*(\\d+(\\.\\d*)?|\\.\\d+)\\s*$/)||this.TEX.Error([\"InvalidDecimalNumber\",\"Invalid decimal number\"]);var n=parseFloat(gray);return(n<0||n>1)&&this.TEX.Error([\"ModelArg2\",\"Color values for the %1 model must be between %2 and %3\",\"gray\",0,1]),(n=Math.floor(255*n).toString(16)).length<2&&(n=\"0\"+n),\"#\"+n+n+n},get_named:function(name){return this.colors.hasOwnProperty(name)?this.colors[name]:name},padding:function(){var pad=\"+\"+this.config.padding,unit=this.config.padding.replace(/^.*?([a-z]*)$/,\"$1\"),pad2;return{width:\"+\"+2*parseFloat(pad)+unit,height:pad,depth:pad,lspace:this.config.padding}}},MathJax.Hub.Register.StartupHook(\"TeX Jax Ready\",(function(){var TEX=MathJax.InputJax.TeX,MML=MathJax.ElementJax.mml,STACKITEM=TEX.Stack.Item,COLOR=MathJax.Extension[\"TeX/color\"];COLOR.TEX=TEX,TEX.Definitions.Add({macros:{color:\"Color\",textcolor:\"TextColor\",definecolor:\"DefineColor\",colorbox:\"ColorBox\",fcolorbox:\"fColorBox\"}},null,!0),TEX.Parse.Augment({Color:function(name){var model=this.GetBrackets(name),color=this.GetArgument(name);color=COLOR.getColor(model,color);var mml=STACKITEM.style().With({styles:{mathcolor:color}});this.stack.env.color=color,this.Push(mml)},TextColor:function(name){var model=this.GetBrackets(name),color=this.GetArgument(name);color=COLOR.getColor(model,color);var old=this.stack.env.color;this.stack.env.color=color;var math=this.ParseArg(name);old?this.stack.env.color:delete this.stack.env.color,this.Push(MML.mstyle(math).With({mathcolor:color}))},DefineColor:function(name){var cname=this.GetArgument(name),model=this.GetArgument(name),def=this.GetArgument(name);COLOR.colors[cname]=COLOR.getColor(model,def)},ColorBox:function(name){var cname=this.GetArgument(name),arg=this.InternalMath(this.GetArgument(name));this.Push(MML.mpadded.apply(MML,arg).With({mathbackground:COLOR.getColor(\"named\",cname)}).With(COLOR.padding()))},fColorBox:function(name){var fname=this.GetArgument(name),cname=this.GetArgument(name),arg=this.InternalMath(this.GetArgument(name));this.Push(MML.mpadded.apply(MML,arg).With({mathbackground:COLOR.getColor(\"named\",cname),style:\"border: \"+COLOR.config.border+\" solid \"+COLOR.getColor(\"named\",fname)}).With(COLOR.padding()))}}),MathJax.Hub.Startup.signal.Post(\"TeX color Ready\")})),MathJax.Ajax.loadComplete(\"[MathJax]/extensions/TeX/color.js\"),MathJax.Extension[\"TeX/enclose\"]={version:\"2.7.5\",ALLOWED:{arrow:1,color:1,mathcolor:1,background:1,mathbackground:1,padding:1,thickness:1}},MathJax.Hub.Register.StartupHook(\"TeX Jax Ready\",(function(){var TEX=MathJax.InputJax.TeX,MML=MathJax.ElementJax.mml,ALLOW=MathJax.Extension[\"TeX/enclose\"].ALLOWED;TEX.Definitions.Add({macros:{enclose:\"Enclose\"}},null,!0),TEX.Parse.Augment({Enclose:function(name){var notation=this.GetArgument(name),attr=this.GetBrackets(name),math=this.ParseArg(name),def={notation:notation.replace(/,/g,\" \")};if(attr)for(var i=0,m=(attr=attr.replace(/ /g,\"\").split(/,/)).length;i<m;i++){var keyvalue=attr[i].split(/[:=]/);ALLOW[keyvalue[0]]&&(keyvalue[1]=keyvalue[1].replace(/^\"(.*)\"$/,\"$1\"),\"true\"===keyvalue[1]&&(keyvalue[1]=!0),\"false\"===keyvalue[1]&&(keyvalue[1]=!1),\"arrow\"===keyvalue[0]&&keyvalue[1]?def.notation=def.notation+\" updiagonalarrow\":def[keyvalue[0]]=keyvalue[1])}this.Push(MML.menclose(math).With(def))}}),MathJax.Hub.Startup.signal.Post(\"TeX enclose Ready\")})),MathJax.Ajax.loadComplete(\"[MathJax]/extensions/TeX/enclose.js\"),MathJax.Extension[\"TeX/extpfeil\"]={version:\"2.7.5\"},MathJax.Hub.Register.StartupHook(\"TeX Jax Ready\",(function(){var TEX=MathJax.InputJax.TeX,TEXDEF=TEX.Definitions;TEXDEF.Add({macros:{xtwoheadrightarrow:[\"Extension\",\"AMSmath\"],xtwoheadleftarrow:[\"Extension\",\"AMSmath\"],xmapsto:[\"Extension\",\"AMSmath\"],xlongequal:[\"Extension\",\"AMSmath\"],xtofrom:[\"Extension\",\"AMSmath\"],Newextarrow:[\"Extension\",\"AMSmath\"]}},null,!0),MathJax.Hub.Register.StartupHook(\"TeX AMSmath Ready\",(function(){MathJax.Hub.Insert(TEXDEF,{macros:{xtwoheadrightarrow:[\"xArrow\",8608,12,16],xtwoheadleftarrow:[\"xArrow\",8606,17,13],xmapsto:[\"xArrow\",8614,6,7],xlongequal:[\"xArrow\",61,7,7],xtofrom:[\"xArrow\",8644,12,12],Newextarrow:\"NewExtArrow\"}})})),TEX.Parse.Augment({NewExtArrow:function(name){var cs=this.GetArgument(name),space=this.GetArgument(name),chr=this.GetArgument(name);cs.match(/^\\\\([a-z]+|.)$/i)||TEX.Error([\"NewextarrowArg1\",\"First argument to %1 must be a control sequence name\",name]),space.match(/^(\\d+),(\\d+)$/)||TEX.Error([\"NewextarrowArg2\",\"Second argument to %1 must be two integers separated by a comma\",name]),chr.match(/^(\\d+|0x[0-9A-F]+)$/i)||TEX.Error([\"NewextarrowArg3\",\"Third argument to %1 must be a unicode character number\",name]),cs=cs.substr(1),space=space.split(\",\"),chr=parseInt(chr),this.setDef(cs,[\"xArrow\",chr,parseInt(space[0]),parseInt(space[1])])}}),MathJax.Hub.Startup.signal.Post(\"TeX extpfeil Ready\")})),MathJax.Ajax.loadComplete(\"[MathJax]/extensions/TeX/extpfeil.js\"),MathJax.Hub.Register.StartupHook(\"TeX Jax Ready\",(function(){var VERSION=\"2.7.5\",MML=MathJax.ElementJax.mml,TEX=MathJax.InputJax.TeX,TEXDEF;TEX.Definitions.Add({macros:{mathchoice:\"MathChoice\"}},null,!0),TEX.Parse.Augment({MathChoice:function(name){var D=this.ParseArg(name),T=this.ParseArg(name),S=this.ParseArg(name),SS=this.ParseArg(name);this.Push(MML.TeXmathchoice(D,T,S,SS))}}),MML.TeXmathchoice=MML.mbase.Subclass({type:\"TeXmathchoice\",notParent:!0,choice:function(){if(null!=this.selection)return this.selection;if(this.choosing)return 2;this.choosing=!0;var selection=0,values=this.getValues(\"displaystyle\",\"scriptlevel\");selection=values.scriptlevel>0?Math.min(3,values.scriptlevel+1):values.displaystyle?0:1;for(var node=this.inherit;node&&\"math\"!==node.type;)node=node.inherit;return node&&(this.selection=selection),this.choosing=!1,selection},selected:function(){return this.data[this.choice()]},setTeXclass:function(prev){return this.selected().setTeXclass(prev)},isSpacelike:function(){return this.selected().isSpacelike()},isEmbellished:function(){return this.selected().isEmbellished()},Core:function(){return this.selected()},CoreMO:function(){return this.selected().CoreMO()},toHTML:function(span){return(span=this.HTMLcreateSpan(span)).bbox=this.Core().toHTML(span).bbox,span.firstChild&&span.firstChild.style.marginLeft&&(span.style.marginLeft=span.firstChild.style.marginLeft,span.firstChild.style.marginLeft=\"\"),span},toSVG:function(){var svg=this.Core().toSVG();return this.SVGsaveData(svg),svg},toCommonHTML:function(node){return node=this.CHTMLcreateNode(node),this.CHTMLhandleStyle(node),this.CHTMLhandleColor(node),this.CHTMLaddChild(node,this.choice(),{}),node},toPreviewHTML:function(span){return span=this.PHTMLcreateSpan(span),this.PHTMLhandleStyle(span),this.PHTMLhandleColor(span),this.PHTMLaddChild(span,this.choice(),{}),span}}),MathJax.Hub.Startup.signal.Post(\"TeX mathchoice Ready\")})),MathJax.Ajax.loadComplete(\"[MathJax]/extensions/TeX/mathchoice.js\"),MathJax.Extension[\"TeX/mediawiki-texvc\"]={version:\"2.7.5\"},MathJax.Hub.Register.StartupHook(\"TeX Jax Ready\",(function(){MathJax.InputJax.TeX.Definitions.Add({macros:{AA:[\"Macro\",\"Å\"],alef:[\"Macro\",\"\\\\aleph\"],alefsym:[\"Macro\",\"\\\\aleph\"],Alpha:[\"Macro\",\"\\\\mathrm{A}\"],and:[\"Macro\",\"\\\\land\"],ang:[\"Macro\",\"\\\\angle\"],Bbb:[\"Macro\",\"\\\\mathbb\"],Beta:[\"Macro\",\"\\\\mathrm{B}\"],bold:[\"Macro\",\"\\\\mathbf\"],bull:[\"Macro\",\"\\\\bullet\"],C:[\"Macro\",\"\\\\mathbb{C}\"],Chi:[\"Macro\",\"\\\\mathrm{X}\"],clubs:[\"Macro\",\"\\\\clubsuit\"],cnums:[\"Macro\",\"\\\\mathbb{C}\"],Complex:[\"Macro\",\"\\\\mathbb{C}\"],coppa:[\"Macro\",\"ϙ\"],Coppa:[\"Macro\",\"Ϙ\"],Dagger:[\"Macro\",\"\\\\ddagger\"],Digamma:[\"Macro\",\"Ϝ\"],darr:[\"Macro\",\"\\\\downarrow\"],dArr:[\"Macro\",\"\\\\Downarrow\"],Darr:[\"Macro\",\"\\\\Downarrow\"],dashint:[\"Macro\",\"\\\\unicodeInt{x2A0D}\"],ddashint:[\"Macro\",\"\\\\unicodeInt{x2A0E}\"],diamonds:[\"Macro\",\"\\\\diamondsuit\"],empty:[\"Macro\",\"\\\\emptyset\"],Epsilon:[\"Macro\",\"\\\\mathrm{E}\"],Eta:[\"Macro\",\"\\\\mathrm{H}\"],euro:[\"Macro\",\"€\"],exist:[\"Macro\",\"\\\\exists\"],geneuro:[\"Macro\",\"€\"],geneuronarrow:[\"Macro\",\"€\"],geneurowide:[\"Macro\",\"€\"],H:[\"Macro\",\"\\\\mathbb{H}\"],hAar:[\"Macro\",\"\\\\Leftrightarrow\"],harr:[\"Macro\",\"\\\\leftrightarrow\"],Harr:[\"Macro\",\"\\\\Leftrightarrow\"],hearts:[\"Macro\",\"\\\\heartsuit\"],image:[\"Macro\",\"\\\\Im\"],infin:[\"Macro\",\"\\\\infty\"],Iota:[\"Macro\",\"\\\\mathrm{I}\"],isin:[\"Macro\",\"\\\\in\"],Kappa:[\"Macro\",\"\\\\mathrm{K}\"],koppa:[\"Macro\",\"ϟ\"],Koppa:[\"Macro\",\"Ϟ\"],lang:[\"Macro\",\"\\\\langle\"],larr:[\"Macro\",\"\\\\leftarrow\"],Larr:[\"Macro\",\"\\\\Leftarrow\"],lArr:[\"Macro\",\"\\\\Leftarrow\"],lrarr:[\"Macro\",\"\\\\leftrightarrow\"],Lrarr:[\"Macro\",\"\\\\Leftrightarrow\"],lrArr:[\"Macro\",\"\\\\Leftrightarrow\"],Mu:[\"Macro\",\"\\\\mathrm{M}\"],N:[\"Macro\",\"\\\\mathbb{N}\"],natnums:[\"Macro\",\"\\\\mathbb{N}\"],Nu:[\"Macro\",\"\\\\mathrm{N}\"],O:[\"Macro\",\"\\\\emptyset\"],oint:[\"Macro\",\"\\\\unicodeInt{x222E}\"],oiint:[\"Macro\",\"\\\\unicodeInt{x222F}\"],oiiint:[\"Macro\",\"\\\\unicodeInt{x2230}\"],ointctrclockwise:[\"Macro\",\"\\\\unicodeInt{x2233}\"],officialeuro:[\"Macro\",\"€\"],Omicron:[\"Macro\",\"\\\\mathrm{O}\"],or:[\"Macro\",\"\\\\lor\"],P:[\"Macro\",\"¶\"],pagecolor:[\"Macro\",\"\",1],part:[\"Macro\",\"\\\\partial\"],plusmn:[\"Macro\",\"\\\\pm\"],Q:[\"Macro\",\"\\\\mathbb{Q}\"],R:[\"Macro\",\"\\\\mathbb{R}\"],rang:[\"Macro\",\"\\\\rangle\"],rarr:[\"Macro\",\"\\\\rightarrow\"],Rarr:[\"Macro\",\"\\\\Rightarrow\"],rArr:[\"Macro\",\"\\\\Rightarrow\"],real:[\"Macro\",\"\\\\Re\"],reals:[\"Macro\",\"\\\\mathbb{R}\"],Reals:[\"Macro\",\"\\\\mathbb{R}\"],Rho:[\"Macro\",\"\\\\mathrm{P}\"],sdot:[\"Macro\",\"\\\\cdot\"],sampi:[\"Macro\",\"ϡ\"],Sampi:[\"Macro\",\"Ϡ\"],sect:[\"Macro\",\"\\\\S\"],spades:[\"Macro\",\"\\\\spadesuit\"],stigma:[\"Macro\",\"ϛ\"],Stigma:[\"Macro\",\"Ϛ\"],sub:[\"Macro\",\"\\\\subset\"],sube:[\"Macro\",\"\\\\subseteq\"],supe:[\"Macro\",\"\\\\supseteq\"],Tau:[\"Macro\",\"\\\\mathrm{T}\"],textvisiblespace:[\"Macro\",\"␣\"],thetasym:[\"Macro\",\"\\\\vartheta\"],uarr:[\"Macro\",\"\\\\uparrow\"],uArr:[\"Macro\",\"\\\\Uparrow\"],Uarr:[\"Macro\",\"\\\\Uparrow\"],unicodeInt:[\"Macro\",\"\\\\mathop{\\\\vcenter{\\\\mathchoice{\\\\huge\\\\unicode{#1}\\\\,}{\\\\unicode{#1}}{\\\\unicode{#1}}{\\\\unicode{#1}}}\\\\,}\\\\nolimits\",1],varcoppa:[\"Macro\",\"ϙ\"],varstigma:[\"Macro\",\"ϛ\"],varointclockwise:[\"Macro\",\"\\\\unicodeInt{x2232}\"],vline:[\"Macro\",\"\\\\smash{\\\\large\\\\lvert}\",0],weierp:[\"Macro\",\"\\\\wp\"],Z:[\"Macro\",\"\\\\mathbb{Z}\"],Zeta:[\"Macro\",\"\\\\mathrm{Z}\"]}})})),MathJax.Ajax.loadComplete(\"[MathJax]/extensions/TeX/mediawiki-texvc.js\"),MathJax.Extension[\"TeX/mhchem\"]?MathJax.Ajax.loadComplete(\"[MathJax]/extensions/TeX/mhchem.js\"):(MathJax.Extension[\"TeX/mhchem\"]={version:\"2.7.5\",config:MathJax.Hub.CombineConfig(\"TeX.mhchem\",{legacy:!0})},MathJax.Extension[\"TeX/mhchem\"].config.legacy?(MathJax.Hub.Register.StartupHook(\"TeX Jax Ready\",(function(){var TEX=MathJax.InputJax.TeX,CE=MathJax.Object.Subclass({string:\"\",i:0,tex:\"\",TEX:\"\",atom:!1,sup:\"\",sub:\"\",presup:\"\",presub:\"\",Init:function(string){this.string=string},ParseTable:{\"-\":\"Minus\",\"+\":\"Plus\",\"(\":\"Open\",\")\":\"Close\",\"[\":\"Open\",\"]\":\"Close\",\"<\":\"Less\",\"^\":\"Superscript\",_:\"Subscript\",\"*\":\"Dot\",\".\":\"Dot\",\"=\":\"Equal\",\"#\":\"Pound\",$:\"Math\",\"\\\\\":\"Macro\",\" \":\"Space\"},Arrows:{\"->\":\"rightarrow\",\"<-\":\"leftarrow\",\"<->\":\"leftrightarrow\",\"<=>\":\"rightleftharpoons\",\"<=>>\":\"Rightleftharpoons\",\"<<=>\":\"Leftrightharpoons\",\"^\":\"uparrow\",v:\"downarrow\"},Bonds:{\"-\":\"-\",\"=\":\"=\",\"#\":\"\\\\equiv\",\"~\":\"\\\\tripledash\",\"~-\":\"\\\\begin{CEstack}{}\\\\tripledash\\\\\\\\-\\\\end{CEstack}\",\"~=\":\"\\\\raise2mu{\\\\begin{CEstack}{}\\\\tripledash\\\\\\\\-\\\\\\\\-\\\\end{CEstack}}\",\"~--\":\"\\\\raise2mu{\\\\begin{CEstack}{}\\\\tripledash\\\\\\\\-\\\\\\\\-\\\\end{CEstack}}\",\"-~-\":\"\\\\raise2mu{\\\\begin{CEstack}{}-\\\\\\\\\\\\tripledash\\\\\\\\-\\\\end{CEstack}}\",\"...\":\"{\\\\cdot}{\\\\cdot}{\\\\cdot}\",\"....\":\"{\\\\cdot}{\\\\cdot}{\\\\cdot}{\\\\cdot}\",\"->\":\"\\\\rightarrow\",\"<-\":\"\\\\leftarrow\",\"??\":\"\\\\text{??}\"},Parse:function(){for(this.tex=\"\",this.atom=!1;this.i<this.string.length;){var c=this.string.charAt(this.i);c.match(/[a-z]/i)?this.ParseLetter():c.match(/[0-9]/)?this.ParseNumber():this[\"Parse\"+(this.ParseTable[c]||\"Other\")](c)}return this.FinishAtom(!0),this.TEX},ParseLetter:function(){this.FinishAtom(),this.Match(/^v( |$)/)?this.tex+=\"{\\\\\"+this.Arrows.v+\"}\":(this.tex+=\"\\\\text{\"+this.Match(/^[a-z]+/i)+\"}\",this.atom=!0)},ParseNumber:function(){var n=this.Match(/^\\d+/);if(this.atom&&!this.sub)this.sub=n;else{this.FinishAtom();var match=this.Match(/^\\/\\d+/);if(match){var frac=\"\\\\frac{\"+n+\"}{\"+match.substr(1)+\"}\";this.tex+=\"\\\\mathchoice{\\\\textstyle\"+frac+\"}{\"+frac+\"}{\"+frac+\"}{\"+frac+\"}\"}else this.tex+=n,this.i<this.string.length&&(this.tex+=\"\\\\,\")}},ParseMinus:function(c){if(!this.atom||this.i!==this.string.length-1&&\" \"!==this.string.charAt(this.i+1)){if(this.FinishAtom(),\"->\"===this.string.substr(this.i,2))return this.i+=2,void this.AddArrow(\"->\");this.tex+=\"{-}\"}else this.sup+=c;this.i++},ParsePlus:function(c){this.atom?this.sup+=c:(this.FinishAtom(),this.tex+=c),this.i++},ParseDot:function(c){this.FinishAtom(),this.tex+=\"\\\\cdot \",this.i++},ParseEqual:function(c){this.FinishAtom(),this.tex+=\"{=}\",this.i++},ParsePound:function(c){this.FinishAtom(),this.tex+=\"{\\\\equiv}\",this.i++},ParseOpen:function(c){this.FinishAtom();var match=this.Match(/^\\([v^]\\)/);match?this.tex+=\"{\\\\\"+this.Arrows[match.charAt(1)]+\"}\":(this.tex+=\"{\"+c,this.i++)},ParseClose:function(c){this.FinishAtom(),this.atom=!0,this.tex+=c+\"}\",this.i++},ParseLess:function(c){this.FinishAtom();var arrow=this.Match(/^(<->?|<=>>?|<<=>)/);arrow?this.AddArrow(arrow):(this.tex+=c,this.i++)},ParseSuperscript:function(c){if(\"{\"===(c=this.string.charAt(++this.i))){this.i++;var m=this.Find(\"}\");\"-.\"===m?this.sup+=\"{-}{\\\\cdot}\":m&&(this.sup+=CE(m).Parse().replace(/^\\{-\\}/,\"-\"))}else if(\" \"===c||\"\"===c)this.tex+=\"{\\\\\"+this.Arrows[\"^\"]+\"}\",this.i++;else{var n=this.Match(/^(\\d+|-\\.)/);n&&(this.sup+=n)}},ParseSubscript:function(c){if(\"{\"==this.string.charAt(++this.i))this.i++,this.sub+=CE(this.Find(\"}\")).Parse().replace(/^\\{-\\}/,\"-\");else{var n=this.Match(/^\\d+/);n&&(this.sub+=n)}},ParseMath:function(c){this.FinishAtom(),this.i++,this.tex+=this.Find(c)},ParseMacro:function(c){this.FinishAtom(),this.i++;var match=this.Match(/^([a-z]+|.)/i)||\" \";if(\"sbond\"===match)this.tex+=\"{-}\";else if(\"dbond\"===match)this.tex+=\"{=}\";else if(\"tbond\"===match)this.tex+=\"{\\\\equiv}\";else if(\"bond\"===match){var bond=this.Match(/^\\{.*?\\}/)||\"\";bond=bond.substr(1,bond.length-2),this.tex+=\"{\"+(this.Bonds[bond]||\"\\\\text{??}\")+\"}\"}else\"{\"===match?this.tex+=\"{\\\\{\":\"}\"===match?(this.tex+=\"\\\\}}\",this.atom=!0):this.tex+=c+match},ParseSpace:function(c){this.FinishAtom(),this.i++},ParseOther:function(c){this.FinishAtom(),this.tex+=c,this.i++},AddArrow:function(arrow){var c=this.Match(/^[CT]\\[/);c&&(this.i--,c=c.charAt(0));var above=this.GetBracket(c),below=this.GetBracket(c);arrow=this.Arrows[arrow],above||below?(below&&(arrow+=\"[\"+below+\"]\"),arrow=\"\\\\mathrel{\\\\x\"+(arrow+=\"{\"+above+\"}\")+\"}\"):arrow=\"\\\\long\"+arrow+\" \",this.tex+=arrow},FinishAtom:function(force){if(this.sup||this.sub||this.presup||this.presub){if(!force&&!this.atom){if(\"\"===this.tex&&!this.sup&&!this.sub)return;if(!this.presup&&!this.presub&&(\"\"===this.tex||\"{\"===this.tex||\"}\"===this.tex&&\"{\"===this.TEX.substr(-1)))return this.presup=this.sup,this.presub=this.sub,this.sub=this.sup=\"\",this.TEX+=this.tex,void(this.tex=\"\")}this.sub&&!this.sup&&(this.sup=\"\\\\Space{0pt}{0pt}{.2em}\"),(this.presup||this.presub)&&\"{\"!==this.tex?(this.presup||this.sup||(this.presup=\"\\\\Space{0pt}{0pt}{.2em}\"),this.tex=\"\\\\CEprescripts{\"+(this.presub||\"\\\\CEnone\")+\"}{\"+(this.presup||\"\\\\CEnone\")+\"}{\"+(\"}\"!==this.tex?this.tex:\"\")+\"}{\"+(this.sub||\"\\\\CEnone\")+\"}{\"+(this.sup||\"\\\\CEnone\")+\"}\"+(\"}\"===this.tex?\"}\":\"\"),this.presub=this.presup=\"\"):(this.sup&&(this.tex+=\"^{\"+this.sup+\"}\"),this.sub&&(this.tex+=\"_{\"+this.sub+\"}\")),this.sup=this.sub=\"\"}this.TEX+=this.tex,this.tex=\"\",this.atom=!1},GetBracket:function(c){if(\"[\"!==this.string.charAt(this.i))return\"\";this.i++;var bracket=this.Find(\"]\");return\"C\"===c?bracket=\"\\\\ce{\"+bracket+\"}\":\"T\"===c&&(bracket.match(/^\\{.*\\}$/)||(bracket=\"{\"+bracket+\"}\"),bracket=\"\\\\text\"+bracket),bracket},Match:function(regex){var match=regex.exec(this.string.substr(this.i));return match&&(match=match[0],this.i+=match.length),match},Find:function(c){for(var m=this.string.length,i=this.i,braces=0;this.i<m;){var C=this.string.charAt(this.i++);if(C===c&&0===braces)return this.string.substr(i,this.i-i-1);\"{\"===C?braces++:\"}\"===C&&(braces?braces--:TEX.Error([\"ExtraCloseMissingOpen\",\"Extra close brace or missing open brace\"]))}braces&&TEX.Error([\"MissingCloseBrace\",\"Missing close brace\"]),TEX.Error([\"NoClosingChar\",\"Can't find closing %1\",c])}});MathJax.Extension[\"TeX/mhchem\"].CE=CE,TEX.Definitions.Add({macros:{ce:\"CE\",cf:\"CE\",cee:\"CE\",xleftrightarrow:[\"Extension\",\"AMSmath\"],xrightleftharpoons:[\"Extension\",\"AMSmath\"],xRightleftharpoons:[\"Extension\",\"AMSmath\"],xLeftrightharpoons:[\"Extension\",\"AMSmath\"],longrightleftharpoons:[\"Macro\",\"\\\\stackrel{\\\\textstyle{{-}\\\\!\\\\!{\\\\rightharpoonup}}}{\\\\smash{{\\\\leftharpoondown}\\\\!\\\\!{-}}}\"],longRightleftharpoons:[\"Macro\",\"\\\\stackrel{\\\\textstyle{-}\\\\!\\\\!{\\\\rightharpoonup}}{\\\\small\\\\smash\\\\leftharpoondown}\"],longLeftrightharpoons:[\"Macro\",\"\\\\stackrel{\\\\rightharpoonup}{{{\\\\leftharpoondown}\\\\!\\\\!\\\\textstyle{-}}}\"],hyphen:[\"Macro\",\"\\\\text{-}\"],CEprescripts:\"CEprescripts\",CEnone:\"CEnone\",tripledash:[\"Macro\",\"\\\\raise3mu{\\\\tiny\\\\text{-}\\\\kern2mu\\\\text{-}\\\\kern2mu\\\\text{-}}\"]},environment:{CEstack:[\"Array\",null,null,null,\"r\",null,\"0.001em\",\"T\",1]}},null,!0),MathJax.Extension[\"TeX/AMSmath\"]||TEX.Definitions.Add({macros:{xrightarrow:[\"Extension\",\"AMSmath\"],xleftarrow:[\"Extension\",\"AMSmath\"]}},null,!0),MathJax.Hub.Register.StartupHook(\"TeX AMSmath Ready\",(function(){TEX.Definitions.Add({macros:{xleftrightarrow:[\"xArrow\",8596,6,6],xrightleftharpoons:[\"xArrow\",8652,5,7],xRightleftharpoons:[\"xArrow\",8652,5,7],xLeftrightharpoons:[\"xArrow\",8652,5,7]}},null,!0)})),TEX.Parse.Augment({CE:function(name){var arg=this.GetArgument(name),tex=CE(arg).Parse();this.string=tex+this.string.substr(this.i),this.i=0},CEprescripts:function(name){var presub=this.ParseArg(name),presup=this.ParseArg(name),base=this.ParseArg(name),sub=this.ParseArg(name),sup=this.ParseArg(name),MML=MathJax.ElementJax.mml;this.Push(MML.mmultiscripts(base,sub,sup,MML.mprescripts(),presub,presup))},CEnone:function(name){this.Push(MathJax.ElementJax.mml.none())}}),MathJax.Hub.Startup.signal.Post(\"TeX mhchem Ready\")})),MathJax.Ajax.loadComplete(\"[MathJax]/extensions/TeX/mhchem.js\")):(MathJax.Ajax.config.path.mhchem||(MathJax.Ajax.config.path.mhchem=MathJax.Hub.config.root+\"/extensions/TeX/mhchem3\"),MathJax.Callback.Queue([\"Require\",MathJax.Ajax,\"[mhchem]/mhchem.js\"],[\"loadComplete\",MathJax.Ajax,\"[MathJax]/extensions/TeX/mhchem.js\"]))),MathJax.Extension[\"TeX/newcommand\"]={version:\"2.7.5\"},MathJax.Hub.Register.StartupHook(\"TeX Jax Ready\",(function(){var TEX=MathJax.InputJax.TeX,TEXDEF=TEX.Definitions;TEXDEF.Add({macros:{newcommand:\"NewCommand\",renewcommand:\"NewCommand\",newenvironment:\"NewEnvironment\",renewenvironment:\"NewEnvironment\",def:\"MacroDef\",let:\"Let\"}},null,!0),TEX.Parse.Augment({NewCommand:function(name){var cs=this.trimSpaces(this.GetArgument(name)),n=this.GetBrackets(name),opt=this.GetBrackets(name),def=this.GetArgument(name);\"\\\\\"===cs.charAt(0)&&(cs=cs.substr(1)),cs.match(/^(.|[a-z]+)$/i)||TEX.Error([\"IllegalControlSequenceName\",\"Illegal control sequence name for %1\",name]),n&&((n=this.trimSpaces(n)).match(/^[0-9]+$/)||TEX.Error([\"IllegalParamNumber\",\"Illegal number of parameters specified in %1\",name])),this.setDef(cs,[\"Macro\",def,n,opt])},NewEnvironment:function(name){var env=this.trimSpaces(this.GetArgument(name)),n=this.GetBrackets(name),opt=this.GetBrackets(name),bdef=this.GetArgument(name),edef=this.GetArgument(name);n&&((n=this.trimSpaces(n)).match(/^[0-9]+$/)||TEX.Error([\"IllegalParamNumber\",\"Illegal number of parameters specified in %1\",name])),this.setEnv(env,[\"BeginEnv\",[null,\"EndEnv\"],bdef,edef,n,opt])},MacroDef:function(name){var cs=this.GetCSname(name),params=this.GetTemplate(name,\"\\\\\"+cs),def=this.GetArgument(name);params instanceof Array?this.setDef(cs,[\"MacroWithTemplate\",def].concat(params)):this.setDef(cs,[\"Macro\",def,params])},Let:function(name){var cs=this.GetCSname(name),macro,c=this.GetNext();if(\"=\"===c&&(this.i++,c=this.GetNext()),\"\\\\\"===c){if(name=this.GetCSname(name),!(macro=this.csFindMacro(name)))if(TEXDEF.mathchar0mi.hasOwnProperty(name))macro=[\"csMathchar0mi\",TEXDEF.mathchar0mi[name]];else if(TEXDEF.mathchar0mo.hasOwnProperty(name))macro=[\"csMathchar0mo\",TEXDEF.mathchar0mo[name]];else if(TEXDEF.mathchar7.hasOwnProperty(name))macro=[\"csMathchar7\",TEXDEF.mathchar7[name]];else{if(!TEXDEF.delimiter.hasOwnProperty(\"\\\\\"+name))return;macro=[\"csDelimiter\",TEXDEF.delimiter[\"\\\\\"+name]]}}else macro=[\"Macro\",c],this.i++;this.setDef(cs,macro)},GetCSname:function(cmd){var c,cs;return\"\\\\\"!==this.GetNext()&&TEX.Error([\"MissingCS\",\"%1 must be followed by a control sequence\",cmd]),this.trimSpaces(this.GetArgument(cmd)).substr(1)},GetTemplate:function(cmd,cs){var c,params=[],n=0;c=this.GetNext();for(var i=this.i;this.i<this.string.length;){if(\"#\"===(c=this.GetNext()))i!==this.i&&(params[n]=this.string.substr(i,this.i-i)),(c=this.string.charAt(++this.i)).match(/^[1-9]$/)||TEX.Error([\"CantUseHash2\",\"Illegal use of # in template for %1\",cs]),parseInt(c)!=++n&&TEX.Error([\"SequentialParam\",\"Parameters for %1 must be numbered sequentially\",cs]),i=this.i+1;else if(\"{\"===c)return i!==this.i&&(params[n]=this.string.substr(i,this.i-i)),params.length>0?[n,params]:n;this.i++}TEX.Error([\"MissingReplacementString\",\"Missing replacement string for definition of %1\",cmd])},MacroWithTemplate:function(name,text,n,params){if(n){var args=[];this.GetNext(),params[0]&&!this.MatchParam(params[0])&&TEX.Error([\"MismatchUseDef\",\"Use of %1 doesn't match its definition\",name]);for(var i=0;i<n;i++)args.push(this.GetParameter(name,params[i+1]));text=this.SubstituteArgs(args,text)}this.string=this.AddArgs(text,this.string.slice(this.i)),this.i=0,++this.macroCount>TEX.config.MAXMACROS&&TEX.Error([\"MaxMacroSub1\",\"MathJax maximum macro substitution count exceeded; is there a recursive macro call?\"])},BeginEnv:function(begin,bdef,edef,n,def){if(n){var args=[];if(null!=def){var optional=this.GetBrackets(\"\\\\begin{\"+name+\"}\");args.push(null==optional?def:optional)}for(var i=args.length;i<n;i++)args.push(this.GetArgument(\"\\\\begin{\"+name+\"}\"));bdef=this.SubstituteArgs(args,bdef),edef=this.SubstituteArgs([],edef)}return this.string=this.AddArgs(bdef,this.string.slice(this.i)),this.i=0,begin},EndEnv:function(begin,bdef,edef,n){var end=\"\\\\end{\\\\end\\\\\"+begin.name+\"}\";return this.string=this.AddArgs(edef,end+this.string.slice(this.i)),this.i=0,null},GetParameter:function(name,param){if(null==param)return this.GetArgument(name);for(var i=this.i,j=0,hasBraces=0;this.i<this.string.length;){var c=this.string.charAt(this.i);if(\"{\"===c)this.i===i&&(hasBraces=1),this.GetArgument(name),j=this.i-i;else{if(this.MatchParam(param))return hasBraces&&(i++,j-=2),this.string.substr(i,j);if(\"\\\\\"===c){this.i++,j++,hasBraces=0;var match=this.string.substr(this.i).match(/[a-z]+|./i);match&&(this.i+=match[0].length,j=this.i-i)}else this.i++,j++,hasBraces=0}}TEX.Error([\"RunawayArgument\",\"Runaway argument for %1?\",name])},MatchParam:function(param){return this.string.substr(this.i,param.length)!==param?0:param.match(/\\\\[a-z]+$/i)&&this.string.charAt(this.i+param.length).match(/[a-z]/i)?0:(this.i+=param.length,1)}}),TEX.Environment=function(name){TEXDEF.environment[name]=[\"BeginEnv\",[null,\"EndEnv\"]].concat([].slice.call(arguments,1)),TEXDEF.environment[name].isUser=!0},MathJax.Hub.Startup.signal.Post(\"TeX newcommand Ready\")})),MathJax.Ajax.loadComplete(\"[MathJax]/extensions/TeX/newcommand.js\"),MathJax.Extension[\"TeX/unicode\"]={version:\"2.7.5\",unicode:{},config:MathJax.Hub.CombineConfig(\"TeX.unicode\",{fonts:\"STIXGeneral,'Arial Unicode MS'\"})},MathJax.Hub.Register.StartupHook(\"TeX Jax Ready\",(function(){var TEX=MathJax.InputJax.TeX,MML=MathJax.ElementJax.mml,UNICODE=MathJax.Extension[\"TeX/unicode\"].unicode;TEX.Definitions.Add({macros:{unicode:\"Unicode\"}},null,!0),TEX.Parse.Augment({Unicode:function(name){var HD=this.GetBrackets(name),font;HD&&(HD.replace(/ /g,\"\").match(/^(\\d+(\\.\\d*)?|\\.\\d+),(\\d+(\\.\\d*)?|\\.\\d+)$/)?(HD=HD.replace(/ /g,\"\").split(/,/),font=this.GetBrackets(name)):(font=HD,HD=null));var n=this.trimSpaces(this.GetArgument(name)).replace(/^0x/,\"x\");n.match(/^(x[0-9A-Fa-f]+|[0-9]+)$/)||TEX.Error([\"BadUnicode\",\"Argument to \\\\unicode must be a number\"]);var N=parseInt(n.match(/^x/)?\"0\"+n:n);UNICODE[N]?font||(font=UNICODE[N][2]):UNICODE[N]=[800,200,font,N],HD&&(UNICODE[N][0]=Math.floor(1e3*HD[0]),UNICODE[N][1]=Math.floor(1e3*HD[1]));var variant=this.stack.env.font,def={};font?(UNICODE[N][2]=def.fontfamily=font.replace(/\"/g,\"'\"),variant&&(variant.match(/bold/)&&(def.fontweight=\"bold\"),variant.match(/italic|-mathit/)&&(def.fontstyle=\"italic\"))):variant&&(def.mathvariant=variant),def.unicode=[].concat(UNICODE[N]),this.Push(MML.mtext(MML.entity(\"#\"+n)).With(def))}}),MathJax.Hub.Startup.signal.Post(\"TeX unicode Ready\")})),MathJax.Hub.Register.StartupHook(\"HTML-CSS Jax Ready\",(function(){var MML=MathJax.ElementJax.mml,FONTS=MathJax.Extension[\"TeX/unicode\"].config.fonts,GETVARIANT=MML.mbase.prototype.HTMLgetVariant;MML.mbase.Augment({HTMLgetVariant:function(){var variant=GETVARIANT.apply(this,arguments);if(variant.unicode&&(delete variant.unicode,delete variant.FONTS),!this.unicode)return variant;variant.unicode=!0,variant.defaultFont||((variant=MathJax.Hub.Insert({},variant)).defaultFont={family:FONTS});var family=this.unicode[2];return family?family+=\",\"+FONTS:family=FONTS,variant.defaultFont[this.unicode[3]]=[this.unicode[0],this.unicode[1],500,0,500,{isUnknown:!0,isUnicode:!0,font:family}],variant}})})),MathJax.Hub.Register.StartupHook(\"SVG Jax Ready\",(function(){var MML=MathJax.ElementJax.mml,FONTS=MathJax.Extension[\"TeX/unicode\"].config.fonts,GETVARIANT=MML.mbase.prototype.SVGgetVariant;MML.mbase.Augment({SVGgetVariant:function(){var variant=GETVARIANT.call(this);return variant.unicode&&(delete variant.unicode,delete variant.FONTS),this.unicode?(variant.unicode=!0,variant.forceFamily||(variant=MathJax.Hub.Insert({},variant)),variant.defaultFamily=FONTS,variant.noRemap=!0,variant.h=this.unicode[0],variant.d=this.unicode[1],variant):variant}})})),MathJax.Ajax.loadComplete(\"[MathJax]/extensions/TeX/unicode.js\"),MathJax.Extension[\"TeX/verb\"]={version:\"2.7.5\"},MathJax.Hub.Register.StartupHook(\"TeX Jax Ready\",(function(){var MML=MathJax.ElementJax.mml,TEX=MathJax.InputJax.TeX,TEXDEF;TEX.Definitions.Add({macros:{verb:\"Verb\"}},null,!0),TEX.Parse.Augment({Verb:function(name){var c=this.GetNext(),start=++this.i;for(\"\"==c&&TEX.Error([\"MissingArgFor\",\"Missing argument for %1\",name]);this.i<this.string.length&&this.string.charAt(this.i)!=c;)this.i++;this.i==this.string.length&&TEX.Error([\"NoClosingDelim\",\"Can't find closing delimiter for %1\",name]);var text=this.string.slice(start,this.i).replace(/ /g,\" \");this.i++,this.Push(MML.mtext(text).With({mathvariant:MML.VARIANT.MONOSPACE}))}}),MathJax.Hub.Startup.signal.Post(\"TeX verb Ready\")})),MathJax.Ajax.loadComplete(\"[MathJax]/extensions/TeX/verb.js\"),MathJax.OutputJax.CommonHTML.webfontDir=\"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/fonts/HTML-CSS\",function(CHTML,MML,AJAX){var VERSION=\"2.7.5\",MAIN=\"MathJax_Main\",BOLD=\"MathJax_Main-Bold\",ITALIC=\"MathJax_Math-Italic\",AMS=\"MathJax_AMS\",SIZE1=\"MathJax_Size1\",SIZE2=\"MathJax_Size2\",SIZE3=\"MathJax_Size3\",SIZE4=\"MathJax_Size4\",H=\"H\",V=\"V\",EXTRAH={load:\"extra\",dir:H},EXTRAV={load:\"extra\",dir:V},ARROWREP=[8722,MAIN,0,0,0,-.31,-.31],DARROWREP=[61,MAIN,0,0,0,0,.1],UNDEFINEDFAMILY=CHTML.config.undefinedFamily;MathJax.Hub.Insert(CHTML.config.styles,{\".MJXc-TeX-unknown-R\":{\"font-family\":UNDEFINEDFAMILY,\"font-style\":\"normal\",\"font-weight\":\"normal\"},\".MJXc-TeX-unknown-I\":{\"font-family\":UNDEFINEDFAMILY,\"font-style\":\"italic\",\"font-weight\":\"normal\"},\".MJXc-TeX-unknown-B\":{\"font-family\":UNDEFINEDFAMILY,\"font-style\":\"normal\",\"font-weight\":\"bold\"},\".MJXc-TeX-unknown-BI\":{\"font-family\":UNDEFINEDFAMILY,\"font-style\":\"italic\",\"font-weight\":\"bold\"}}),CHTML.TEX=CHTML.TEXDEF,CHTML.FONTDEF.TeX={version:\"2.7.5\",baselineskip:1.2,lineH:.8,lineD:.2,FONTS:{MathJax_AMS:\"TeX/AMS-Regular.js\",\"MathJax_Caligraphic-Bold\":\"TeX/Caligraphic-Bold.js\",MathJax_Fraktur:\"TeX/Fraktur-Regular.js\",\"MathJax_Fraktur-Bold\":\"TeX/Fraktur-Bold.js\",\"MathJax_Math-BoldItalic\":\"TeX/Math-BoldItalic.js\",MathJax_SansSerif:\"TeX/SansSerif-Regular.js\",\"MathJax_SansSerif-Bold\":\"TeX/SansSerif-Bold.js\",\"MathJax_SansSerif-Italic\":\"TeX/SansSerif-Italic.js\",MathJax_Script:\"TeX/Script-Regular.js\",MathJax_Typewriter:\"TeX/Typewriter-Regular.js\"},UNKNOWN:{R:{className:\"MJXc-TeX-unknown-R\"},I:{className:\"MJXc-TeX-unknown-I\"},B:{className:\"MJXc-TeX-unknown-B\"},BI:{className:\"MJXc-TeX-unknown-BI\"}},VARIANT:{normal:{fonts:[MAIN,SIZE1,AMS],cache:{},offsetG:945,variantG:\"italic\",remap:{913:65,914:66,917:69,918:90,919:72,921:73,922:75,924:77,925:78,927:79,929:80,932:84,935:88,57696:[8594,\"-TeX-vec\"],8214:8741,8726:[8726,\"-TeX-variant\",!0],8463:[8463,\"-TeX-variant\",!0],8242:[39,\"sans-serif-italic\"],10744:[47,MML.VARIANT.ITALIC]}},bold:{fonts:[BOLD],bold:!0,cache:{},chain:\"normal\",offsetG:945,variantG:\"bold-italic\",remap:{913:65,914:66,917:69,918:90,919:72,921:73,922:75,924:77,925:78,927:79,929:80,932:84,935:88,10744:[47,\"bold-italic\"],57696:[8594,\"-TeX-vec-bold\"],8214:8741,8602:\"↚\",8603:\"↛\",8622:\"↮\",8653:\"⇍\",8654:\"⇎\",8655:\"⇏\",8708:\"∄\",8740:\"∤\",8742:\"∦\",8769:\"≁\",8775:\"≇\",8814:\"≮\",8815:\"≯\",8816:\"≰\",8817:\"≱\",8832:\"⊀\",8833:\"⊁\",8840:\"⊈\",8841:\"⊉\",8876:\"⊬\",8877:\"⊭\",8928:\"⋠\",8929:\"⋡\"}},italic:{fonts:[ITALIC,\"MathJax_Main-Italic\"],italic:!0,cache:{},chain:\"normal\",remap:{913:65,914:66,917:69,918:90,919:72,921:73,922:75,924:77,925:78,927:79,929:80,932:84,935:88}},\"bold-italic\":{fonts:[\"MathJax_Math-BoldItalic\"],bold:!0,italic:!0,cache:{},chain:\"bold\",remap:{913:65,914:66,917:69,918:90,919:72,921:73,922:75,924:77,925:78,927:79,929:80,932:84,935:88}},\"double-struck\":{fonts:[AMS,MAIN,SIZE1],cache:{}},fraktur:{fonts:[\"MathJax_Fraktur\"],cache:{},chain:\"normal\"},\"bold-fraktur\":{fonts:[\"MathJax_Fraktur-Bold\"],bold:!0,cache:{},chain:\"bold\"},script:{fonts:[\"MathJax_Script\"],cache:{},chain:\"normal\"},\"bold-script\":{fonts:[\"MathJax_Script\"],bold:!0,cache:{},chain:\"bold\"},\"sans-serif\":{fonts:[\"MathJax_SansSerif\"],cache:{},chain:\"normal\"},\"bold-sans-serif\":{fonts:[\"MathJax_SansSerif-Bold\"],bold:!0,cache:{},chain:\"bold\"},\"sans-serif-italic\":{fonts:[\"MathJax_SansSerif-Italic\"],italic:!0,cache:{},chain:\"italic\"},\"sans-serif-bold-italic\":{fonts:[\"MathJax_SansSerif-Italic\"],bold:!0,italic:!0,cache:{},chain:\"italic\"},monospace:{fonts:[\"MathJax_Typewriter\"],cache:{},chain:\"normal\"},\"-tex-caligraphic\":{fonts:[\"MathJax_Caligraphic\"],offsetA:65,variantA:\"italic\",cache:{},chain:\"normal\"},\"-tex-oldstyle\":{fonts:[\"MathJax_Caligraphic\"],cache:{},chain:\"normal\"},\"-tex-mathit\":{fonts:[\"MathJax_Main-Italic\"],italic:!0,noIC:!0,cache:{},chain:\"normal\",remap:{913:65,914:66,917:69,918:90,919:72,921:73,922:75,924:77,925:78,927:79,929:80,932:84,935:88}},\"-TeX-variant\":{fonts:[AMS,MAIN,SIZE1],cache:{},remap:{8808:57356,8809:57357,8816:57361,8817:57358,10887:57360,10888:57359,8740:57350,8742:57351,8840:57366,8841:57368,8842:57370,8843:57371,10955:57367,10956:57369,988:57352,1008:57353,8726:[8726,MML.VARIANT.NORMAL,!0],8463:[8463,MML.VARIANT.NORMAL,!0]}},\"-TeX-vec\":{fonts:[\"MathJax_Vector\"],cache:{}},\"-TeX-vec-bold\":{fonts:[\"MathJax_Vector-Bold\"],cache:{}},\"-largeOp\":{fonts:[SIZE2,SIZE1,MAIN,AMS],cache:{}},\"-smallOp\":{fonts:[SIZE1,MAIN,AMS],cache:{}},\"-tex-caligraphic-bold\":{fonts:[\"MathJax_Caligraphic-Bold\",\"MathJax_Main-Bold\"],bold:!0,cache:{},chain:\"normal\",offsetA:65,variantA:\"bold-italic\"},\"-tex-oldstyle-bold\":{fonts:[\"MathJax_Caligraphic-Bold\",\"MathJax_Main-Bold\"],bold:!0,cache:{},chain:\"normal\"}},RANGES:[{name:\"alpha\",low:97,high:122,offset:\"A\",add:32},{name:\"number\",low:48,high:57,offset:\"N\"},{name:\"greek\",low:945,high:1014,offset:\"G\"}],REMAP:{10:32,8254:713,65079:9182,65080:9183,183:8901,697:8242,978:933,8710:916,8213:8212,8215:95,8226:8729,8260:47,8965:8892,8966:10846,9642:9632,9652:9650,9653:9651,9656:9654,9662:9660,9663:9661,9666:9664,9001:10216,9002:10217,12296:10216,12297:10217,10072:8739,10799:215,9723:9633,9724:9632,8450:[67,MML.VARIANT.DOUBLESTRUCK],8459:[72,MML.VARIANT.SCRIPT],8460:[72,MML.VARIANT.FRAKTUR],8461:[72,MML.VARIANT.DOUBLESTRUCK],8462:[104,MML.VARIANT.ITALIC],8464:[74,MML.VARIANT.SCRIPT],8465:[73,MML.VARIANT.FRAKTUR],8466:[76,MML.VARIANT.SCRIPT],8469:[78,MML.VARIANT.DOUBLESTRUCK],8473:[80,MML.VARIANT.DOUBLESTRUCK],8474:[81,MML.VARIANT.DOUBLESTRUCK],8475:[82,MML.VARIANT.SCRIPT],8476:[82,MML.VARIANT.FRAKTUR],8477:[82,MML.VARIANT.DOUBLESTRUCK],8484:[90,MML.VARIANT.DOUBLESTRUCK],8486:[937,MML.VARIANT.NORMAL],8488:[90,MML.VARIANT.FRAKTUR],8492:[66,MML.VARIANT.SCRIPT],8493:[67,MML.VARIANT.FRAKTUR],8496:[69,MML.VARIANT.SCRIPT],8497:[70,MML.VARIANT.SCRIPT],8499:[77,MML.VARIANT.SCRIPT],8775:8774,8988:9484,8989:9488,8990:9492,8991:9496,8708:\"∄\",8716:\"∌\",8772:\"≄\",8777:\"≉\",8802:\"≢\",8813:\"≭\",8820:\"≴\",8821:\"≵\",8824:\"≸\",8825:\"≹\",8836:\"⊄\",8837:\"⊅\",8930:\"⋢\",8931:\"⋣\",10764:\"∬∬\",8243:\"′′\",8244:\"′′′\",8246:\"‵‵\",8247:\"‵‵‵\",8279:\"′′′′\"},REMAPACCENT:{\"̀\":\"ˋ\",\"́\":\"ˊ\",\"̂\":\"ˆ\",\"̃\":\"˜\",\"̄\":\"ˉ\",\"̆\":\"˘\",\"̇\":\"˙\",\"̈\":\"¨\",\"̊\":\"˚\",\"̌\":\"ˇ\",\"⃗\":\"\",\"→\":\"\",\"′\":\"'\",\"‵\":\"`\",\"⃐\":\"↼\",\"⃑\":\"⇀\",\"⃖\":\"←\",\"⃡\":\"↔\",\"⃰\":\"*\",\"⃛\":\"...\",\"⃜\":\"....\"},REMAPACCENTUNDER:{\"⃬\":\"⇁\",\"⃭\":\"↽\",\"⃮\":\"←\",\"⃯\":\"→\",\"⃛\":\"...\",\"⃜\":\"....\"},PLANE1MAP:[[119808,119833,65,MML.VARIANT.BOLD],[119834,119859,97,MML.VARIANT.BOLD],[119860,119885,65,MML.VARIANT.ITALIC],[119886,119911,97,MML.VARIANT.ITALIC],[119912,119937,65,MML.VARIANT.BOLDITALIC],[119938,119963,97,MML.VARIANT.BOLDITALIC],[119964,119989,65,MML.VARIANT.SCRIPT],[120068,120093,65,MML.VARIANT.FRAKTUR],[120094,120119,97,MML.VARIANT.FRAKTUR],[120120,120145,65,MML.VARIANT.DOUBLESTRUCK],[120172,120197,65,MML.VARIANT.BOLDFRAKTUR],[120198,120223,97,MML.VARIANT.BOLDFRAKTUR],[120224,120249,65,MML.VARIANT.SANSSERIF],[120250,120275,97,MML.VARIANT.SANSSERIF],[120276,120301,65,MML.VARIANT.BOLDSANSSERIF],[120302,120327,97,MML.VARIANT.BOLDSANSSERIF],[120328,120353,65,MML.VARIANT.SANSSERIFITALIC],[120354,120379,97,MML.VARIANT.SANSSERIFITALIC],[120432,120457,65,MML.VARIANT.MONOSPACE],[120458,120483,97,MML.VARIANT.MONOSPACE],[120488,120513,913,MML.VARIANT.BOLD],[120546,120570,913,MML.VARIANT.ITALIC],[120572,120603,945,MML.VARIANT.ITALIC],[120604,120628,913,MML.VARIANT.BOLDITALIC],[120630,120661,945,MML.VARIANT.BOLDITALIC],[120662,120686,913,MML.VARIANT.BOLDSANSSERIF],[120720,120744,913,MML.VARIANT.SANSSERIFBOLDITALIC],[120782,120791,48,MML.VARIANT.BOLD],[120802,120811,48,MML.VARIANT.SANSSERIF],[120812,120821,48,MML.VARIANT.BOLDSANSSERIF],[120822,120831,48,MML.VARIANT.MONOSPACE]],REMAPGREEK:{913:65,914:66,917:69,918:90,919:72,921:73,922:75,924:77,925:78,927:79,929:80,930:920,932:84,935:88,938:8711,970:8706,971:1013,972:977,973:1008,974:981,975:1009,976:982},RemapPlane1:function(n,variant){for(var i=0,m=this.PLANE1MAP.length;i<m&&!(n<this.PLANE1MAP[i][0]);i++)if(n<=this.PLANE1MAP[i][1]){n=n-this.PLANE1MAP[i][0]+this.PLANE1MAP[i][2],this.REMAPGREEK[n]&&(n=this.REMAPGREEK[n]),variant=this.VARIANT[this.PLANE1MAP[i][3]];break}return{n:n,variant:variant}},DELIMITERS:{40:{dir:V,HW:[[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3,SIZE4]],stretch:{top:[9115,SIZE4],ext:[9116,SIZE4],bot:[9117,SIZE4]}},41:{dir:V,HW:[[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3,SIZE4]],stretch:{top:[9118,SIZE4],ext:[9119,SIZE4],bot:[9120,SIZE4]}},47:{dir:V,HW:[[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3,SIZE4]]},91:{dir:V,HW:[[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3,SIZE4]],stretch:{top:[9121,SIZE4],ext:[9122,SIZE4],bot:[9123,SIZE4]}},92:{dir:V,HW:[[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3,SIZE4]]},93:{dir:V,HW:[[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3,SIZE4]],stretch:{top:[9124,SIZE4],ext:[9125,SIZE4],bot:[9126,SIZE4]}},123:{dir:V,HW:[[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3,SIZE4]],stretch:{top:[9127,SIZE4],mid:[9128,SIZE4],bot:[9129,SIZE4],ext:[9130,SIZE4]}},124:{dir:V,HW:[[1,MAIN]],stretch:{ext:[8739,MAIN]}},125:{dir:V,HW:[[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3,SIZE4]],stretch:{top:[9131,SIZE4],mid:[9132,SIZE4],bot:[9133,SIZE4],ext:[9130,SIZE4]}},175:{dir:H,HW:[[.59,MAIN]],stretch:{rep:[175,MAIN]}},710:{dir:H,HW:[[.517,MAIN],[.817,SIZE1],[1.335,SIZE2],[1.447+.33,SIZE3],[1.909,SIZE4]]},732:{dir:H,HW:[[.583,MAIN],[.805,SIZE1],[1.33,SIZE2],[1.443+.33,SIZE3],[1.887,SIZE4]]},8211:{dir:H,HW:[[.5,MAIN]],stretch:{rep:[8211,MAIN]}},8214:{dir:V,HW:[[.602,SIZE1],[1,MAIN,null,8741]],stretch:{ext:[8741,MAIN]}},8592:{dir:H,HW:[[1,MAIN]],stretch:{left:[8592,MAIN],rep:ARROWREP}},8593:{dir:V,HW:[[.888,MAIN]],stretch:{top:[8593,SIZE1],ext:[9168,SIZE1]}},8594:{dir:H,HW:[[1,MAIN]],stretch:{rep:ARROWREP,right:[8594,MAIN]}},8595:{dir:V,HW:[[.888,MAIN]],stretch:{ext:[9168,SIZE1],bot:[8595,SIZE1]}},8596:{dir:H,HW:[[1,MAIN]],stretch:{left:[8592,MAIN],rep:ARROWREP,right:[8594,MAIN]}},8597:{dir:V,HW:[[1.044,MAIN]],stretch:{top:[8593,SIZE1],ext:[9168,SIZE1],bot:[8595,SIZE1]}},8656:{dir:H,HW:[[1,MAIN]],stretch:{left:[8656,MAIN],rep:DARROWREP}},8657:{dir:V,HW:[[.888,MAIN]],stretch:{top:[8657,SIZE1],ext:[8214,SIZE1]}},8658:{dir:H,HW:[[1,MAIN]],stretch:{rep:DARROWREP,right:[8658,MAIN]}},8659:{dir:V,HW:[[.888,MAIN]],stretch:{ext:[8214,SIZE1],bot:[8659,SIZE1]}},8660:{dir:H,HW:[[1,MAIN]],stretch:{left:[8656,MAIN],rep:DARROWREP,right:[8658,MAIN]}},8661:{dir:V,HW:[[1.044,MAIN]],stretch:{top:[8657,SIZE1],ext:[8214,SIZE1],bot:[8659,SIZE1]}},8722:{dir:H,HW:[[.778,MAIN]],stretch:{rep:[8722,MAIN]}},8730:{dir:V,HW:[[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3,SIZE4]],stretch:{top:[57345,SIZE4],ext:[57344,SIZE4],bot:[9143,SIZE4],fullExtenders:!0}},8739:{dir:V,HW:[[1,MAIN]],stretch:{ext:[8739,MAIN]}},8741:{dir:V,HW:[[1,MAIN]],stretch:{ext:[8741,MAIN]}},8968:{dir:V,HW:[[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3,SIZE4]],stretch:{top:[9121,SIZE4],ext:[9122,SIZE4]}},8969:{dir:V,HW:[[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3,SIZE4]],stretch:{top:[9124,SIZE4],ext:[9125,SIZE4]}},8970:{dir:V,HW:[[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3,SIZE4]],stretch:{ext:[9122,SIZE4],bot:[9123,SIZE4]}},8971:{dir:V,HW:[[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3,SIZE4]],stretch:{ext:[9125,SIZE4],bot:[9126,SIZE4]}},9130:{dir:V,HW:[[.32,SIZE4]],stretch:{top:[9130,SIZE4],ext:[9130,SIZE4],bot:[9130,SIZE4]}},9136:{dir:V,HW:[[.989,MAIN]],stretch:{top:[9127,SIZE4],ext:[9130,SIZE4],bot:[9133,SIZE4]}},9137:{dir:V,HW:[[.989,MAIN]],stretch:{top:[9131,SIZE4],ext:[9130,SIZE4],bot:[9129,SIZE4]}},9168:{dir:V,HW:[[.602,SIZE1],[1,MAIN,null,8739]],stretch:{ext:[8739,MAIN]}},9182:{dir:H,HW:[],stretch:{min:.9,left:[57680,SIZE4],mid:[[57683,57682],SIZE4],right:[57681,SIZE4],rep:[57684,SIZE4]}},9183:{dir:H,HW:[],stretch:{min:.9,left:[57682,SIZE4],mid:[[57681,57680],SIZE4],right:[57683,SIZE4],rep:[57684,SIZE4]}},10216:{dir:V,HW:[[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3,SIZE4]]},10217:{dir:V,HW:[[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3,SIZE4]]},10222:{dir:V,HW:[[.989,MAIN]],stretch:{top:[9127,SIZE4],ext:[9130,SIZE4],bot:[9129,SIZE4]}},10223:{dir:V,HW:[[.989,MAIN]],stretch:{top:[9131,SIZE4],ext:[9130,SIZE4],bot:[9133,SIZE4]}},45:{alias:8722,dir:H},94:{alias:710,dir:H},95:{alias:8211,dir:H},126:{alias:732,dir:H},713:{alias:175,dir:H},770:{alias:710,dir:H},771:{alias:732,dir:H},780:{alias:711,dir:H},818:{alias:8211,dir:H},8212:{alias:8211,dir:H},8213:{alias:8211,dir:H},8215:{alias:8211,dir:H},8254:{alias:175,dir:H},8407:{alias:8594,dir:H},8725:{alias:47,dir:V},9001:{alias:10216,dir:V},9002:{alias:10217,dir:V},9135:{alias:8211,dir:H},9472:{alias:8211,dir:H},10072:{alias:8739,dir:V},12296:{alias:10216,dir:V},12297:{alias:10217,dir:V},65079:{alias:9182,dir:H},65080:{alias:9183,dir:H},61:EXTRAH,8606:EXTRAH,8608:EXTRAH,8612:EXTRAH,8613:EXTRAV,8614:EXTRAH,8615:EXTRAV,8624:EXTRAV,8625:EXTRAV,8636:EXTRAH,8637:EXTRAH,8638:EXTRAV,8639:EXTRAV,8640:EXTRAH,8641:EXTRAH,8642:EXTRAV,8643:EXTRAV,8666:EXTRAH,8667:EXTRAH,9140:EXTRAH,9141:EXTRAH,9180:EXTRAH,9181:EXTRAH,9184:EXTRAH,9185:EXTRAH,10502:EXTRAH,10503:EXTRAH,10574:EXTRAH,10575:EXTRAV,10576:EXTRAH,10577:EXTRAV,10586:EXTRAH,10587:EXTRAH,10588:EXTRAV,10589:EXTRAV,10590:EXTRAH,10591:EXTRAH,10592:EXTRAV,10593:EXTRAV,8978:{alias:9180,dir:H},8994:{alias:9180,dir:H},8995:{alias:9181,dir:H},10229:{alias:8592,dir:H},10230:{alias:8594,dir:H},10231:{alias:8596,dir:H},10232:{alias:8656,dir:H},10233:{alias:8658,dir:H},10234:{alias:8660,dir:H},10235:{alias:8612,dir:H},10236:{alias:8614,dir:H},10237:{alias:10502,dir:H},10238:{alias:10503,dir:H},57696:{alias:8592,dir:H}}},CHTML.FONTDATA=CHTML.FONTDEF.TeX,CHTML.FONTDATA.FONTS.MathJax_Caligraphic={centerline:287,ascent:789,descent:216,skew:{65:.194,66:.139,67:.139,68:.0833,69:.111,70:.111,71:.111,72:.111,73:.0278,74:.167,75:.0556,76:.139,77:.139,78:.0833,79:.111,80:.0833,81:.111,82:.0833,83:.139,84:.0278,85:.0833,86:.0278,87:.0833,88:.139,89:.0833,90:.139},32:[0,0,250,0,0],48:[452,22,500,39,460],49:[453,0,500,86,426],50:[453,0,500,44,449],51:[452,216,500,42,456],52:[464,194,500,28,471],53:[453,216,500,50,448],54:[665,22,500,42,456],55:[463,216,500,55,485],56:[666,21,500,43,456],57:[453,216,500,42,457],65:[728,50,798,30,819],66:[705,22,657,32,664],67:[705,25,527,12,533],68:[683,0,771,19,766],69:[705,22,528,30,564],70:[683,32,719,18,829],71:[704,119,595,44,599],72:[683,48,845,18,803],73:[683,0,545,-30,642],74:[683,119,678,47,839],75:[705,22,762,32,732],76:[705,22,690,32,656],77:[705,50,1201,28,1137],78:[789,50,820,-27,979],79:[705,22,796,58,777],80:[683,57,696,19,733],81:[705,131,817,114,787],82:[682,22,848,19,837],83:[705,22,606,18,642],84:[717,68,545,34,833],85:[683,28,626,-17,687],86:[683,52,613,25,658],87:[683,53,988,25,1034],88:[683,0,713,52,807],89:[683,143,668,31,714],90:[683,0,725,37,767],160:[0,0,250,0,0]},CHTML.FONTDATA.FONTS[\"MathJax_Main-Bold\"]={centerline:342,ascent:951,descent:267,weight:\"bold\",file:\"TeX/Main-Bold.js\",Extra:[160,168,172,[175,177],180,215,247,305,567,[710,715],[728,732],[768,780],824,[8194,8198],8201,8202,8211,8212,8216,8217,8220,8221,8224,8225,8230,8242,8407,[8463,8467],8472,8476,8501,[8592,8601],8614,8617,8618,8636,8637,8640,8641,8652,[8656,8661],[8704,8715],[8722,8730],[8733,8736],[8739,8764],8768,8771,8773,8776,8781,8784,8800,8801,8804,8805,8810,8811,8826,8827,8834,8835,8838,8839,8846,[8849,8857],[8866,8869],8872,[8900,8904],[8942,8945],[8968,8971],8994,8995,9651,9657,9661,9667,9711,[9824,9827],[9837,9839],10216,10217,[10229,10236],10815,10927,10928],skew:{305:.0319,567:.0958,8463:-.0319,8467:.128,8706:.0958},32:[0,0,250,0,0],33:[705,-1,350,89,260],34:[694,-329,603,38,492],35:[694,193,958,64,893],36:[750,56,575,64,510],37:[750,56,958,65,893],38:[705,11,894,48,836],39:[694,-329,319,74,261],40:[750,249,447,103,382],41:[750,249,447,64,343],42:[750,-306,575,73,501],43:[633,131,894,64,829],44:[171,194,319,74,258],45:[278,-166,383,13,318],46:[171,-1,319,74,245],47:[750,250,575,63,511],48:[654,10,575,45,529],49:[655,0,575,80,494],50:[654,0,575,57,517],51:[655,11,575,47,526],52:[656,0,575,32,542],53:[655,11,575,57,517],54:[655,11,575,48,526],55:[676,11,575,64,558],56:[654,11,575,48,526],57:[654,11,575,48,526],58:[444,-1,319,74,245],59:[444,194,319,74,248],60:[587,85,894,96,797],61:[393,-109,894,64,829],62:[587,85,894,96,797],63:[700,-1,543,65,478],64:[699,6,894,64,829],65:[698,0,869,40,828],66:[686,0,818,39,752],67:[697,11,831,64,766],68:[686,0,882,39,817],69:[680,0,756,39,723],70:[680,0,724,39,675],71:[697,10,904,64,845],72:[686,0,900,39,860],73:[686,0,436,25,410],74:[686,11,594,8,527],75:[686,0,901,39,852],76:[686,0,692,39,643],77:[686,0,1092,39,1052],78:[686,0,900,39,860],79:[696,10,864,64,798],80:[686,0,786,39,721],81:[696,193,864,64,805],82:[686,11,862,39,858],83:[697,11,639,64,574],84:[675,0,800,41,758],85:[686,11,885,39,845],86:[686,7,869,25,843],87:[686,7,1189,24,1164],88:[686,0,869,33,835],89:[686,0,869,19,849],90:[686,0,703,64,645],91:[750,250,319,128,293],92:[750,250,575,63,511],93:[750,250,319,25,190],94:[694,-520,575,126,448],95:[-10,61,575,0,574],96:[706,-503,575,114,338],97:[453,6,559,32,558],98:[694,6,639,29,600],99:[453,6,511,39,478],100:[694,6,639,38,609],101:[452,6,527,32,494],102:[700,0,351,40,452],103:[455,201,575,30,558],104:[694,0,639,37,623],105:[695,0,319,40,294],106:[695,200,351,-71,274],107:[694,0,607,29,587],108:[694,0,319,40,301],109:[450,0,958,37,942],110:[450,0,639,37,623],111:[452,5,575,32,542],112:[450,194,639,29,600],113:[450,194,607,38,609],114:[450,0,474,29,442],115:[453,6,454,38,414],116:[635,5,447,21,382],117:[450,6,639,37,623],118:[444,3,607,26,580],119:[444,4,831,25,805],120:[444,0,607,21,586],121:[444,200,607,23,580],122:[444,0,511,32,462],123:[750,250,575,70,504],124:[750,249,319,129,190],125:[750,250,575,70,504],126:[344,-202,575,96,478],915:[680,0,692,39,643],916:[698,0,958,56,901],920:[696,10,894,64,829],923:[698,0,806,40,765],926:[675,0,767,48,718],928:[680,0,900,39,860],931:[686,0,831,63,766],933:[697,0,894,64,829],934:[686,0,831,64,766],936:[686,0,894,64,829],937:[696,0,831,51,779]},CHTML.FONTDATA.FONTS[\"MathJax_Main-Italic\"]={centerline:250,ascent:750,descent:250,style:\"italic\",32:[0,0,250,0,0],33:[716,0,307,107,380],34:[694,-379,514,176,538],35:[694,194,818,115,828],37:[750,56,818,145,847],38:[716,22,767,127,802],39:[694,-379,307,213,377],40:[750,250,409,144,517],41:[750,250,409,17,390],42:[750,-320,511,195,584],43:[557,57,767,139,753],44:[121,194,307,69,232],45:[251,-180,358,84,341],46:[121,0,307,107,231],47:[750,250,511,19,617],48:[665,21,511,110,562],49:[666,0,511,110,468],50:[666,22,511,76,551],51:[666,22,511,96,562],52:[666,194,511,46,478],53:[666,22,511,106,567],54:[665,22,511,120,565],55:[666,22,511,136,634],56:[666,21,511,99,553],57:[666,22,511,107,553],58:[431,0,307,107,308],59:[431,194,307,70,308],61:[367,-133,767,116,776],63:[716,0,511,195,551],64:[705,11,767,152,789],65:[716,0,743,58,696],66:[683,0,704,57,732],67:[705,21,716,150,812],68:[683,0,755,56,775],69:[680,0,678,54,743],70:[680,-1,653,54,731],71:[705,22,774,150,812],72:[683,0,743,54,860],73:[683,0,386,49,508],74:[683,21,525,78,622],75:[683,0,769,54,859],76:[683,0,627,54,628],77:[683,0,897,58,1010],78:[683,0,743,54,860],79:[704,22,767,149,788],80:[683,0,678,55,729],81:[704,194,767,149,788],82:[683,22,729,55,723],83:[705,22,562,74,633],84:[677,0,716,171,806],85:[683,22,743,194,860],86:[683,22,743,205,868],87:[683,22,999,205,1124],88:[683,0,743,50,825],89:[683,0,743,198,875],90:[683,0,613,80,704],91:[750,250,307,73,446],93:[750,250,307,-14,359],94:[694,-527,511,260,528],95:[-25,62,511,91,554],97:[442,11,511,101,543],98:[694,11,460,108,467],99:[441,10,460,103,469],100:[694,11,511,101,567],101:[442,10,460,107,470],102:[705,204,307,-23,450],103:[442,205,460,46,494],104:[694,11,511,69,544],105:[656,10,307,75,340],106:[656,204,307,-32,364],107:[694,11,460,69,498],108:[694,11,256,87,312],109:[442,11,818,75,851],110:[442,11,562,75,595],111:[442,11,511,103,517],112:[442,194,511,6,518],113:[442,194,460,101,504],114:[442,11,422,75,484],115:[442,11,409,76,418],116:[626,11,332,87,373],117:[441,11,537,75,570],118:[443,10,460,75,492],119:[443,11,664,75,696],120:[442,11,464,58,513],121:[441,205,486,75,522],122:[442,11,409,54,466],126:[318,-208,511,246,571],160:[0,0,250,0,0],163:[714,11,769,88,699],305:[441,10,307,75,340],567:[442,204,332,-32,327],768:[697,-500,0,-222,-74],769:[697,-500,0,-173,39],770:[694,-527,0,-251,17],771:[668,-558,0,-265,60],772:[589,-544,0,-282,54],774:[694,-515,0,-237,62],775:[669,-548,0,-165,-41],776:[669,-554,0,-251,45],778:[716,-542,0,-199,3],779:[697,-503,0,-248,65],780:[638,-502,0,-236,29],915:[680,0,627,54,705],916:[716,0,818,70,751],920:[704,22,767,149,788],923:[716,0,692,58,646],926:[677,0,664,74,754],928:[680,0,743,54,859],931:[683,0,716,80,782],933:[705,0,767,213,832],934:[683,0,716,159,728],936:[683,0,767,207,824],937:[705,0,716,100,759],8211:[285,-248,511,91,554],8212:[285,-248,1022,117,1038],8216:[694,-379,307,197,362],8217:[694,-379,307,213,377],8220:[694,-379,514,243,606],8221:[694,-379,514,176,538],8463:[695,13,540,42,562]},CHTML.FONTDATA.FONTS.MathJax_Main={centerline:314,ascent:900,descent:272,skew:{305:.0278,567:.0833,8467:.111,8472:.111,8706:.0833},32:[0,0,250,0,0],33:[716,-1,278,78,199],34:[694,-379,500,34,372],35:[694,194,833,56,777],36:[750,56,500,55,444],37:[750,56,833,56,776],38:[716,22,778,42,727],39:[694,-379,278,78,212],40:[750,250,389,94,333],41:[750,250,389,55,294],42:[750,-320,500,64,435],43:[583,82,778,56,722],44:[121,194,278,78,210],45:[252,-179,333,11,277],46:[120,0,278,78,199],47:[750,250,500,56,445],48:[666,22,500,39,460],49:[666,0,500,83,427],50:[666,0,500,50,449],51:[665,22,500,42,457],52:[677,0,500,28,471],53:[666,22,500,50,449],54:[666,22,500,42,456],55:[676,22,500,55,485],56:[666,22,500,43,457],57:[666,22,500,42,456],58:[430,0,278,78,199],59:[430,194,278,78,202],60:[540,40,778,83,694],61:[367,-133,778,56,722],62:[540,40,778,83,694],63:[705,-1,472,55,416],64:[705,11,778,56,722],65:[716,0,750,32,717],66:[683,0,708,28,651],67:[705,21,722,56,666],68:[683,0,764,27,708],69:[680,0,681,25,652],70:[680,0,653,25,610],71:[705,22,785,56,735],72:[683,0,750,25,724],73:[683,0,361,21,339],74:[683,22,514,25,465],75:[683,0,778,25,736],76:[683,0,625,25,582],77:[683,0,917,29,887],78:[683,0,750,25,724],79:[705,22,778,56,722],80:[683,0,681,27,624],81:[705,193,778,56,728],82:[683,22,736,27,732],83:[705,22,556,55,500],84:[677,0,722,36,685],85:[683,22,750,25,724],86:[683,22,750,19,730],87:[683,22,1028,18,1009],88:[683,0,750,23,726],89:[683,0,750,11,738],90:[683,0,611,55,560],91:[750,250,278,118,255],92:[750,250,500,56,444],93:[750,250,278,22,159],94:[694,-531,500,112,387],95:[-25,62,500,0,499],96:[699,-505,500,106,295],97:[448,11,500,34,493],98:[694,11,556,20,522],99:[448,11,444,34,415],100:[694,11,556,34,535],101:[448,11,444,28,415],102:[705,0,306,26,372],103:[453,206,500,29,485],104:[694,0,556,25,542],105:[669,0,278,26,255],106:[669,205,306,-55,218],107:[694,0,528,20,511],108:[694,0,278,26,263],109:[442,0,833,25,819],110:[442,0,556,25,542],111:[448,10,500,28,471],112:[442,194,556,20,522],113:[442,194,528,33,535],114:[442,0,392,20,364],115:[448,11,394,33,359],116:[615,10,389,18,333],117:[442,11,556,25,542],118:[431,11,528,19,508],119:[431,11,722,18,703],120:[431,0,528,11,516],121:[431,204,528,19,508],122:[431,0,444,28,401],123:[750,250,500,65,434],124:[750,249,278,119,159],125:[750,250,500,65,434],126:[318,-215,500,83,416],160:[0,0,250,0,0],168:[669,-554,500,95,404],172:[356,-89,667,56,611],175:[590,-544,500,69,430],176:[715,-542,500,147,352],177:[666,0,778,56,722],180:[699,-505,500,203,393],215:[491,-9,778,147,630],247:[537,36,778,56,721],305:[442,0,278,26,255],567:[442,205,306,-55,218],710:[694,-531,500,112,387],711:[644,-513,500,114,385],713:[590,-544,500,69,430],714:[699,-505,500,203,393],715:[699,-505,500,106,295],728:[694,-515,500,92,407],729:[669,-549,500,190,309],732:[668,-565,500,83,416],730:[715,-542,500,147,352],768:[699,-505,0,-394,-205],769:[699,-505,0,-297,-107],770:[694,-531,0,-388,-113],771:[668,-565,0,-417,-84],772:[590,-544,0,-431,-70],774:[694,-515,0,-408,-93],775:[669,-549,0,-310,-191],776:[669,-554,0,-405,-96],778:[715,-542,0,-353,-148],779:[701,-510,0,-378,-80],780:[644,-513,0,-386,-115],824:[716,215,0,-639,-140],915:[680,0,625,25,582],916:[716,0,833,46,786],920:[705,22,778,56,722],923:[716,0,694,32,661],926:[677,0,667,42,624],928:[680,0,750,25,724],931:[683,0,722,55,666],933:[705,0,778,55,722],934:[683,0,722,56,665],936:[683,0,778,55,722],937:[704,0,722,44,677],8194:[0,0,500,0,0],8195:[0,0,999,0,0],8196:[0,0,333,0,0],8197:[0,0,250,0,0],8198:[0,0,167,0,0],8201:[0,0,167,0,0],8202:[0,0,83,0,0],8211:[285,-248,500,0,499],8212:[285,-248,1e3,0,999],8216:[694,-379,278,64,198],8217:[694,-379,278,78,212],8220:[694,-379,500,128,466],8221:[694,-379,500,34,372],8224:[705,216,444,55,389],8225:[705,205,444,55,389],8230:[120,0,1172,78,1093],8242:[560,-43,275,30,262],8407:[714,-516,0,-471,-29],8463:[695,13,540,42,562],8465:[705,10,722,55,693],8467:[705,20,417,6,397],8472:[453,216,636,67,625],8476:[716,22,722,40,715],8501:[694,0,611,55,555],8592:[511,11,1e3,55,944],8593:[694,193,500,17,483],8594:[511,11,1e3,56,944],8595:[694,194,500,17,483],8596:[511,11,1e3,55,944],8597:[772,272,500,17,483],8598:[720,195,1e3,29,944],8599:[720,195,1e3,55,970],8600:[695,220,1e3,55,970],8601:[695,220,1e3,29,944],8614:[511,11,1e3,55,944],8617:[511,11,1126,55,1070],8618:[511,11,1126,55,1070],8636:[511,-230,1e3,55,944],8637:[270,11,1e3,55,944],8640:[511,-230,1e3,56,944],8641:[270,11,1e3,56,944],8652:[671,11,1e3,55,944],8656:[525,24,1e3,56,944],8657:[694,194,611,31,579],8658:[525,24,1e3,56,944],8659:[694,194,611,31,579],8660:[526,25,1e3,34,966],8661:[772,272,611,31,579],8704:[694,22,556,0,556],8706:[715,22,531,42,566],8707:[694,0,556,56,500],8709:[772,78,500,39,460],8711:[683,33,833,46,786],8712:[540,40,667,84,583],8713:[716,215,667,84,583],8715:[540,40,667,83,582],8722:[270,-230,778,84,694],8723:[500,166,778,56,722],8725:[750,250,500,56,445],8726:[750,250,500,56,444],8727:[465,-35,500,64,435],8728:[444,-55,500,55,444],8729:[444,-55,500,55,444],8730:[800,200,833,72,853],8733:[442,11,778,56,722],8734:[442,11,1e3,55,944],8736:[694,0,722,55,666],8739:[750,249,278,119,159],8741:[750,250,500,132,367],8743:[598,22,667,55,611],8744:[598,22,667,55,611],8745:[598,22,667,55,611],8746:[598,22,667,55,611],8747:[716,216,417,55,472],8764:[367,-133,778,55,722],8768:[583,83,278,55,222],8771:[464,-36,778,55,722],8773:[589,-22,1e3,55,722],8776:[483,-55,778,55,722],8781:[484,-16,778,55,722],8784:[670,-133,778,56,722],8800:[716,215,778,56,722],8801:[464,-36,778,56,722],8804:[636,138,778,83,694],8805:[636,138,778,83,694],8810:[568,67,1e3,56,944],8811:[567,67,1e3,55,944],8826:[539,41,778,84,694],8827:[539,41,778,83,694],8834:[540,40,778,84,694],8835:[540,40,778,83,693],8838:[636,138,778,84,694],8839:[636,138,778,83,693],8846:[598,22,667,55,611],8849:[636,138,778,84,714],8850:[636,138,778,64,694],8851:[598,0,667,61,605],8852:[598,0,667,61,605],8853:[583,83,778,56,722],8854:[583,83,778,56,722],8855:[583,83,778,56,722],8856:[583,83,778,56,722],8857:[583,83,778,56,722],8866:[694,0,611,55,555],8867:[694,0,611,55,555],8868:[668,0,778,55,723],8869:[668,0,778,55,723],8872:[750,249,867,119,811],8900:[488,-12,500,12,488],8901:[310,-190,278,78,199],8902:[486,-16,500,3,497],8904:[505,5,900,26,873],8942:[900,30,278,78,199],8943:[310,-190,1172,78,1093],8945:[820,-100,1282,133,1148],8968:[750,250,444,174,422],8969:[750,250,444,21,269],8970:[750,250,444,174,422],8971:[750,250,444,21,269],8994:[388,-122,1e3,55,944],8995:[378,-134,1e3,55,944],9136:[744,244,412,55,357],9137:[744,244,412,56,357],9651:[716,0,889,59,828],9657:[505,5,500,26,474],9661:[500,215,889,59,828],9667:[505,5,500,26,473],9711:[715,215,1e3,56,944],9824:[727,130,778,55,723],9825:[716,33,778,55,723],9826:[727,162,778,55,723],9827:[726,130,778,28,750],9837:[750,22,389,55,332],9838:[734,223,389,65,324],9839:[723,223,389,55,333],10216:[750,250,389,110,333],10217:[750,250,389,55,278],10222:[744,244,412,173,357],10223:[744,244,412,56,240],10229:[511,11,1609,55,1525],10230:[511,11,1638,84,1553],10231:[511,11,1859,55,1803],10232:[525,24,1609,56,1553],10233:[525,24,1638,56,1582],10234:[525,24,1858,56,1802],10236:[511,11,1638,55,1553],10815:[683,0,750,28,721],10927:[636,138,778,84,694],10928:[636,138,778,83,694]},CHTML.FONTDATA.FONTS[\"MathJax_Math-Italic\"]={centerline:250,ascent:717,descent:218,style:\"italic\",skew:{65:.139,66:.0833,67:.0833,68:.0556,69:.0833,70:.0833,71:.0833,72:.0556,73:.111,74:.167,75:.0556,76:.0278,77:.0833,78:.0833,79:.0833,80:.0833,81:.0833,82:.0833,83:.0833,84:.0833,85:.0278,88:.0833,90:.0833,99:.0556,100:.167,101:.0556,102:.167,103:.0278,104:-.0278,108:.0833,111:.0556,112:.0833,113:.0833,114:.0556,115:.0556,116:.0833,117:.0278,118:.0278,119:.0833,120:.0278,121:.0556,122:.0556,915:.0833,916:.167,920:.0833,923:.167,926:.0833,928:.0556,931:.0833,933:.0556,934:.0833,936:.0556,937:.0833,945:.0278,946:.0833,948:.0556,949:.0833,950:.0833,951:.0556,952:.0833,953:.0556,956:.0278,957:.0278,958:.111,959:.0556,961:.0833,962:.0833,964:.0278,965:.0278,966:.0833,967:.0556,968:.111,977:.0833,981:.0833,1009:.0833,1013:.0556},32:[0,0,250,0,0],47:[716,215,778,139,638],65:[716,0,750,35,726],66:[683,0,759,35,756],67:[705,22,715,50,760],68:[683,0,828,33,803],69:[680,0,738,31,764],70:[680,0,643,31,749],71:[705,22,786,50,760],72:[683,0,831,31,888],73:[683,0,440,26,504],74:[683,22,555,57,633],75:[683,0,849,31,889],76:[683,0,681,32,647],77:[683,0,970,35,1051],78:[683,0,803,31,888],79:[704,22,763,50,740],80:[683,0,642,33,751],81:[704,194,791,50,740],82:[683,21,759,33,755],83:[705,22,613,52,645],84:[677,0,584,21,704],85:[683,22,683,60,767],86:[683,22,583,52,769],87:[683,22,944,51,1048],88:[683,0,828,26,852],89:[683,-1,581,30,763],90:[683,0,683,58,723],97:[441,10,529,33,506],98:[694,11,429,40,422],99:[442,11,433,34,429],100:[694,10,520,33,523],101:[442,11,466,39,429],102:[705,205,490,55,550],103:[442,205,477,10,480],104:[694,11,576,48,555],105:[661,11,345,21,302],106:[661,204,412,-12,403],107:[694,11,521,48,503],108:[694,11,298,38,266],109:[442,11,878,21,857],110:[442,11,600,21,580],111:[441,11,485,34,476],112:[442,194,503,-39,497],113:[442,194,446,33,460],114:[442,11,451,21,430],115:[442,10,469,53,419],116:[626,11,361,19,330],117:[442,11,572,21,551],118:[443,11,485,21,467],119:[443,11,716,21,690],120:[442,11,572,35,522],121:[442,205,490,21,496],122:[442,11,465,35,468],160:[0,0,250,0,0],915:[680,-1,615,31,721],916:[716,0,833,48,788],920:[704,22,763,50,740],923:[716,0,694,35,670],926:[677,0,742,53,777],928:[680,0,831,31,887],931:[683,0,780,58,806],933:[705,0,583,28,700],934:[683,0,667,24,642],936:[683,0,612,21,692],937:[704,0,772,80,786],945:[442,11,640,34,603],946:[705,194,566,23,573],947:[441,216,518,11,543],948:[717,10,444,36,451],949:[452,22,466,27,428],950:[704,204,438,44,471],951:[442,216,497,21,503],952:[705,10,469,35,462],953:[442,10,354,48,332],954:[442,11,576,49,554],955:[694,12,583,47,556],956:[442,216,603,23,580],957:[442,2,494,45,530],958:[704,205,438,21,443],959:[441,11,485,34,476],960:[431,11,570,19,573],961:[442,216,517,23,510],962:[442,107,363,31,405],963:[431,11,571,31,572],964:[431,13,437,18,517],965:[443,10,540,21,523],966:[442,218,654,50,618],967:[442,204,626,25,600],968:[694,205,651,21,634],969:[443,11,622,15,604],977:[705,11,591,21,563],981:[694,205,596,43,579],982:[431,10,828,19,823],1009:[442,194,517,67,510],1013:[431,11,406,40,382]},CHTML.FONTDATA.FONTS.MathJax_Size1={centerline:250,ascent:850,descent:350,32:[0,0,250,0,0],40:[850,349,458,152,422],41:[850,349,458,35,305],47:[850,349,578,55,522],91:[850,349,417,202,394],92:[850,349,578,54,522],93:[850,349,417,22,214],123:[850,349,583,105,477],125:[850,349,583,105,477],160:[0,0,250,0,0],710:[744,-551,556,-8,564],732:[722,-597,556,1,554],770:[744,-551,0,-564,8],771:[722,-597,0,-555,-2],8214:[602,0,778,257,521],8593:[600,0,667,112,555],8595:[600,0,667,112,555],8657:[599,0,778,57,721],8659:[600,-1,778,57,721],8719:[750,250,944,55,888],8720:[750,250,944,55,888],8721:[750,250,1056,56,999],8730:[850,350,1e3,111,1020],8739:[627,15,333,145,188],8741:[627,15,556,145,410],8747:[805,306,472,55,610],8748:[805,306,819,55,957],8749:[805,306,1166,55,1304],8750:[805,306,472,55,610],8896:[750,249,833,55,777],8897:[750,249,833,55,777],8898:[750,249,833,55,777],8899:[750,249,833,55,777],8968:[850,349,472,202,449],8969:[850,349,472,22,269],8970:[850,349,472,202,449],8971:[850,349,472,22,269],9168:[602,0,667,312,355],10216:[850,350,472,97,394],10217:[850,350,472,77,374],10752:[750,250,1111,56,1054],10753:[750,250,1111,56,1054],10754:[750,250,1111,56,1054],10756:[750,249,833,55,777],10758:[750,249,833,55,777]},CHTML.FONTDATA.FONTS.MathJax_Size2={centerline:249,ascent:1360,descent:862,32:[0,0,250,0,0],40:[1150,649,597,180,561],41:[1150,649,597,35,416],47:[1150,649,811,56,754],91:[1150,649,472,224,455],92:[1150,649,811,54,754],93:[1150,649,472,16,247],123:[1150,649,667,119,547],125:[1150,649,667,119,547],160:[0,0,250,0,0],710:[772,-565,1e3,-5,1004],732:[750,-611,1e3,0,999],770:[772,-565,0,-1005,4],771:[750,-611,0,-1e3,-1],8719:[950,450,1278,56,1221],8720:[950,450,1278,56,1221],8721:[950,450,1444,55,1388],8730:[1150,650,1e3,111,1020],8747:[1360,862,556,55,944],8748:[1360,862,1084,55,1472],8749:[1360,862,1592,55,1980],8750:[1360,862,556,55,944],8896:[950,450,1111,55,1055],8897:[950,450,1111,55,1055],8898:[949,450,1111,55,1055],8899:[950,449,1111,55,1055],8968:[1150,649,528,224,511],8969:[1150,649,528,16,303],8970:[1150,649,528,224,511],8971:[1150,649,528,16,303],10216:[1150,649,611,112,524],10217:[1150,649,611,85,498],10752:[949,449,1511,56,1454],10753:[949,449,1511,56,1454],10754:[949,449,1511,56,1454],10756:[950,449,1111,55,1055],10758:[950,450,1111,55,1055]},CHTML.FONTDATA.FONTS.MathJax_Size3={centerline:250,ascent:1450,descent:950,32:[0,0,250,0,0],40:[1450,949,736,209,701],41:[1450,949,736,34,526],47:[1450,949,1044,55,989],91:[1450,949,528,247,516],92:[1450,949,1044,56,988],93:[1450,949,528,11,280],123:[1450,949,750,130,618],125:[1450,949,750,131,618],160:[0,0,250,0,0],710:[772,-564,1444,-4,1447],732:[749,-610,1444,1,1442],770:[772,-564,0,-1448,3],771:[749,-610,0,-1443,-2],8730:[1450,950,1e3,111,1020],8968:[1450,949,583,246,571],8969:[1450,949,583,11,336],8970:[1450,949,583,246,571],8971:[1450,949,583,11,336],10216:[1450,950,750,126,654],10217:[1450,949,750,94,623]},CHTML.FONTDATA.FONTS.MathJax_Size4={centerline:250,ascent:1750,descent:1250,32:[0,0,250,0,0],40:[1750,1249,792,237,758],41:[1750,1249,792,33,554],47:[1750,1249,1278,56,1221],91:[1750,1249,583,269,577],92:[1750,1249,1278,56,1221],93:[1750,1249,583,5,313],123:[1750,1249,806,144,661],125:[1750,1249,806,144,661],160:[0,0,250,0,0],710:[845,-561,1889,-14,1902],732:[823,-583,1889,1,1885],770:[845,-561,0,-1903,13],771:[823,-583,0,-1888,-4],8730:[1750,1250,1e3,111,1020],8968:[1750,1249,639,269,633],8969:[1750,1249,639,5,369],8970:[1750,1249,639,269,633],8971:[1750,1249,639,5,369],9115:[1154,655,875,291,843],9116:[610,10,875,291,417],9117:[1165,644,875,291,843],9118:[1154,655,875,31,583],9119:[610,10,875,457,583],9120:[1165,644,875,31,583],9121:[1154,645,667,319,666],9122:[602,0,667,319,403],9123:[1155,644,667,319,666],9124:[1154,645,667,0,347],9125:[602,0,667,263,347],9126:[1155,644,667,0,347],9127:[899,10,889,384,718],9128:[1160,660,889,170,504],9129:[10,899,889,384,718],9130:[310,10,889,384,504],9131:[899,10,889,170,504],9132:[1160,660,889,384,718],9133:[10,899,889,170,504],9143:[935,885,1056,111,742],10216:[1750,1248,806,140,703],10217:[1750,1248,806,103,665],57344:[625,14,1056,702,742],57345:[605,14,1056,702,1076],57680:[120,213,450,-24,460],57681:[120,213,450,-10,474],57682:[333,0,450,-24,460],57683:[333,0,450,-10,474],57684:[120,0,400,-10,410]},CHTML.FONTDATA.FONTS.MathJax_Vector={centerline:257,ascent:714,descent:200,8594:[714,-516,500,29,471]},CHTML.FONTDATA.FONTS[\"MathJax_Vector-Bold\"]={centerline:256,ascent:723,descent:210,8594:[723,-513,575,33,542]},CHTML.FONTDATA.FONTS[MAIN][8722][0]=CHTML.FONTDATA.FONTS[MAIN][43][0],CHTML.FONTDATA.FONTS[MAIN][8722][1]=CHTML.FONTDATA.FONTS[MAIN][43][1],CHTML.FONTDATA.FONTS[MAIN][8942][0]+=400,CHTML.FONTDATA.FONTS[MAIN][8945][0]+=700,CHTML.FONTDATA.FONTS[SIZE4][9130][0]-=20,CHTML.FONTDATA.FONTS[SIZE4][9130][1]+=5,CHTML.FONTDATA.FONTS[SIZE4][57684][0]+=200,CHTML.FONTDATA.FONTS[SIZE4][57684][1]+=200,CHTML.FONTDATA.FONTS[MAIN][8773][2]-=222,CHTML.FONTDATA.FONTS[MAIN][8773][5]={rfix:-222},MathJax.Hub.Register.LoadHook(CHTML.fontDir+\"/TeX/Main-Bold.js\",(function(){CHTML.FONTDATA.FONTS[BOLD][8773][2]-=106,CHTML.FONTDATA.FONTS[BOLD][8773][5]={rfix:-106}})),MathJax.Hub.Register.LoadHook(CHTML.fontDir+\"/TeX/Typewriter-Regular.js\",(function(){CHTML.FONTDATA.FONTS.MathJax_Typewriter[32][2]+=275,CHTML.FONTDATA.FONTS.MathJax_Typewriter[32][5]={rfix:275},CHTML.FONTDATA.FONTS.MathJax_Typewriter[160][2]+=275,CHTML.FONTDATA.FONTS.MathJax_Typewriter[160][5]={rfix:275}})),MathJax.Hub.Insert(CHTML.FONTDATA.FONTS[MAIN],{remapCombining:{768:715,769:714,770:710,771:732,772:713,774:728,775:729,776:168,778:730,780:711,824:[47,ITALIC],8407:[8594,\"MathJax_Vector\"]},8192:[0,0,500,0,0,{space:1}],8193:[0,0,1e3,0,0,{space:1}],8194:[0,0,500,0,0,{space:1}],8195:[0,0,1e3,0,0,{space:1}],8196:[0,0,333,0,0,{space:1}],8197:[0,0,250,0,0,{space:1}],8198:[0,0,167,0,0,{space:1}],8201:[0,0,167,0,0,{space:1}],8202:[0,0,100,0,0,{space:1}],8203:[0,0,0,0,0,{space:1}],8204:[0,0,0,0,0,{space:1}],8289:[0,0,0,0,0,{space:1}],8290:[0,0,0,0,0,{space:1}],8291:[0,0,0,0,0,{space:1}],8292:[0,0,0,0,0,{space:1}],61152:[0,0,-575,0,0,{space:1}],61153:[0,0,-300,0,0,{space:1}],61160:[0,0,25,0,0,{space:1}]}),MathJax.Hub.Insert(CHTML.FONTDATA.FONTS[\"MathJax_Main-Italic\"],{remapCombining:{768:[715,MAIN],769:[714,MAIN],770:[710,MAIN],771:[732,MAIN],772:[713,MAIN],774:[728,MAIN],775:[729,MAIN],776:[168,MAIN],778:[730,MAIN],780:[711,MAIN],824:[47,\"MathJax_Vector\"]}}),MathJax.Hub.Insert(CHTML.FONTDATA.FONTS[\"MathJax_Main-Bold\"],{remapCombining:{768:715,769:714,770:710,771:732,772:713,774:728,775:729,776:168,778:730,780:711,824:[47,\"MathJax_Math-BoldItalic\"],8407:[8594,\"MathJax_Vector-Bold\"]}}),CHTML.FONTDATA.familyName=function(font){var names=((font=font.replace(/^MathJax_/,\"\"))+\"-Regular\").split(/-/),suffix;return\"MJXc-TeX-\"+(names[0].toLowerCase().replace(/(?:igraphic|serif|writer|tur|tor)$/,\"\")+\"-\"+names[1].replace(/[^A-Z]/g,\"\"))},function(){var STYLES=CHTML.config.styles,FONTS=CHTML.FONTDATA.FONTS,OTFDIR=AJAX.fileURL(CHTML.webfontDir+\"/TeX/otf\"),EOTDIR=AJAX.fileURL(CHTML.webfontDir+\"/TeX/eot\"),WOFFDIR=AJAX.fileURL(CHTML.webfontDir+\"/TeX/woff\"),faces=[];for(var name in FONTS)if(FONTS.hasOwnProperty(name)){var family=CHTML.FONTDATA.familyName(name),FAMILY=family,variant=(name+\"-Regular\").split(/-/)[1];FONTS[name].className=family;var font={\"font-family\":family};name=name.replace(/-.*/,\"\"),font.src=\"Regular\"===variant?\"local('\"+name+\"'), local('\"+name+\"-Regular')\":\"local('\"+name+\" \"+variant+\"'), local('\"+name+\"-\"+variant+\"')\",faces.push(font),\"Regular\"!==variant&&(font={\"font-family\":family+\"x\",src:\"local('\"+name+\"')\"},variant.match(/Bold/)&&(font[\"font-weight\"]=\"bold\"),variant.match(/Italic/)&&(font[\"font-style\"]=\"italic\"),FAMILY+=\",\"+family+\"x\",faces.push(font)),font={\"font-family\":family+\"w\",\"src /*1*/\":\"url('\"+EOTDIR+\"/\"+name+\"-\"+variant+\".eot')\",\"src /*2*/\":[\"url('\"+WOFFDIR+\"/\"+name+\"-\"+variant+\".woff') format('woff')\",\"url('\"+OTFDIR+\"/\"+name+\"-\"+variant+\".otf') format('opentype')\"].join(\", \")},faces.push(font),FAMILY+=\",\"+family+\"w\",STYLES[\".\"+family]={\"font-family\":FAMILY}}faces.length&&(STYLES[\"@font-face\"]=faces)}(),CHTML.fontLoaded(\"TeX/fontdata\")}(MathJax.OutputJax.CommonHTML,MathJax.ElementJax.mml,MathJax.Ajax),function(CHTML){var VERSION=\"2.7.5\",DELIMITERS=CHTML.FONTDATA.DELIMITERS,MAIN=\"MathJax_Main\",BOLD=\"MathJax_Main-Bold\",AMS=\"MathJax_AMS\",SIZE1=\"MathJax_Size1\",SIZE4=\"MathJax_Size4\",H=\"H\",V=\"V\",ARROWREP=[8722,MAIN,0,0,0,-.31,-.31],DARROWREP=[61,MAIN,0,0,0,0,.1],delim={61:{dir:H,HW:[[.767,MAIN]],stretch:{rep:[61,MAIN]}},8606:{dir:H,HW:[[1,AMS]],stretch:{left:[8606,AMS],rep:ARROWREP}},8608:{dir:H,HW:[[1,AMS]],stretch:{right:[8608,AMS],rep:ARROWREP}},8612:{dir:H,HW:[],stretch:{min:1,left:[8592,MAIN],rep:ARROWREP,right:[8739,SIZE1,0,-.05,.9]}},8613:{dir:V,HW:[],stretch:{min:.6,bot:[8869,BOLD,0,0,.75],ext:[9168,SIZE1],top:[8593,SIZE1]}},8614:{dir:H,HW:[[1,MAIN]],stretch:{left:[8739,SIZE1,-.09,-.05,.9],rep:ARROWREP,right:[8594,MAIN]}},8615:{dir:V,HW:[],stretch:{min:.6,top:[8868,BOLD,0,0,.75],ext:[9168,SIZE1],bot:[8595,SIZE1]}},8624:{dir:V,HW:[[.722,AMS]],stretch:{top:[8624,AMS],ext:[9168,SIZE1,.097]}},8625:{dir:V,HW:[[.722,AMS]],stretch:{top:[8625,AMS,.27],ext:[9168,SIZE1]}},8636:{dir:H,HW:[[1,MAIN]],stretch:{left:[8636,MAIN],rep:ARROWREP}},8637:{dir:H,HW:[[1,MAIN]],stretch:{left:[8637,MAIN],rep:ARROWREP}},8638:{dir:V,HW:[[.888,AMS]],stretch:{top:[8638,AMS,.12,0,1.1],ext:[9168,SIZE1]}},8639:{dir:V,HW:[[.888,AMS]],stretch:{top:[8639,AMS,.12,0,1.1],ext:[9168,SIZE1]}},8640:{dir:H,HW:[[1,MAIN]],stretch:{right:[8640,MAIN],rep:ARROWREP}},8641:{dir:H,HW:[[1,MAIN]],stretch:{right:[8641,MAIN],rep:ARROWREP}},8642:{dir:V,HW:[[.888,AMS]],stretch:{bot:[8642,AMS,.12,0,1.1],ext:[9168,SIZE1]}},8643:{dir:V,HW:[[.888,AMS]],stretch:{bot:[8643,AMS,.12,0,1.1],ext:[9168,SIZE1]}},8666:{dir:H,HW:[[1,AMS]],stretch:{left:[8666,AMS],rep:[8801,MAIN]}},8667:{dir:H,HW:[[1,AMS]],stretch:{right:[8667,AMS],rep:[8801,MAIN]}},9140:{dir:H,HW:[],stretch:{min:.5,left:[9484,AMS,0,-.1],rep:[8722,MAIN,0,.35],right:[9488,AMS,0,-.1]}},9141:{dir:H,HW:[],stretch:{min:.5,left:[9492,AMS,0,.26],rep:[8722,MAIN,0,0,0,.25],right:[9496,AMS,0,.26]}},9180:{dir:H,HW:[[.778,AMS,0,8994],[1,MAIN,0,8994]],stretch:{left:[57680,SIZE4],rep:[57684,SIZE4],right:[57681,SIZE4]}},9181:{dir:H,HW:[[.778,AMS,0,8995],[1,MAIN,0,8995]],stretch:{left:[57682,SIZE4],rep:[57684,SIZE4],right:[57683,SIZE4]}},9184:{dir:H,HW:[],stretch:{min:1.25,left:[714,MAIN,-.1],rep:[713,MAIN,0,.13],right:[715,MAIN],fullExtenders:!0}},9185:{dir:H,HW:[],stretch:{min:1.5,left:[715,MAIN,-.1,.1],rep:[713,MAIN],right:[714,MAIN,-.1,.1],fullExtenders:!0}},10502:{dir:H,HW:[],stretch:{min:1,left:[8656,MAIN],rep:DARROWREP,right:[8739,SIZE1,0,-.1]}},10503:{dir:H,HW:[],stretch:{min:.7,left:[8872,AMS,0,-.12],rep:DARROWREP,right:[8658,MAIN]}},10574:{dir:H,HW:[],stretch:{min:.5,left:[8636,MAIN],rep:ARROWREP,right:[8640,MAIN]}},10575:{dir:V,HW:[],stretch:{min:.5,top:[8638,AMS,.12,0,1.1],ext:[9168,SIZE1],bot:[8642,AMS,.12,0,1.1]}},10576:{dir:H,HW:[],stretch:{min:.5,left:[8637,MAIN],rep:ARROWREP,right:[8641,MAIN]}},10577:{dir:V,HW:[],stretch:{min:.5,top:[8639,AMS,.12,0,1.1],ext:[9168,SIZE1],bot:[8643,AMS,.12,0,1.1]}},10586:{dir:H,HW:[],stretch:{min:1,left:[8636,MAIN],rep:ARROWREP,right:[8739,SIZE1,0,-.05,.9]}},10587:{dir:H,HW:[],stretch:{min:1,left:[8739,SIZE1,-.05,-.05,.9],rep:ARROWREP,right:[8640,MAIN]}},10588:{dir:V,HW:[],stretch:{min:.7,bot:[8869,BOLD,0,0,.75],ext:[9168,SIZE1],top:[8638,AMS,.12,0,1.1]}},10589:{dir:V,HW:[],stretch:{min:.7,top:[8868,BOLD,0,0,.75],ext:[9168,SIZE1],bot:[8642,AMS,.12,0,1.1]}},10590:{dir:H,HW:[],stretch:{min:1,left:[8637,MAIN],rep:ARROWREP,right:[8739,SIZE1,0,-.05,.9]}},10591:{dir:H,HW:[],stretch:{min:1,left:[8739,SIZE1,-.05,-.05,.9],rep:ARROWREP,right:[8641,MAIN]}},10592:{dir:V,HW:[],stretch:{min:.7,bot:[8869,BOLD,0,0,.75],ext:[9168,SIZE1],top:[8639,AMS,.12,0,1.1]}},10593:{dir:V,HW:[],stretch:{min:.7,top:[8868,BOLD,0,0,.75],ext:[9168,SIZE1],bot:[8643,AMS,.12,0,1.1]}}};for(var id in delim)delim.hasOwnProperty(id)&&(DELIMITERS[id]=delim[id]);CHTML.fontLoaded(\"TeX/fontdata-extra\")}(MathJax.OutputJax.CommonHTML),MathJax.Hub.Register.StartupHook(\"CommonHTML Jax Ready\",(function(){var CHTML,font;CHTML=MathJax.OutputJax.CommonHTML,font=\"MathJax_AMS\",CHTML.FONTDATA.FONTS[font]={className:CHTML.FONTDATA.familyName(font),centerline:270,ascent:1003,descent:463,32:[0,0,250,0,0],65:[701,1,722,17,703],66:[683,1,667,11,620],67:[702,19,722,39,684],68:[683,1,722,16,688],69:[683,1,667,12,640],70:[683,1,611,12,584],71:[702,19,778,39,749],72:[683,1,778,14,762],73:[683,1,389,20,369],74:[683,77,500,6,478],75:[683,1,778,22,768],76:[683,1,667,12,640],77:[683,1,944,17,926],78:[683,20,722,20,702],79:[701,19,778,34,742],80:[683,1,611,16,597],81:[701,181,778,34,742],82:[683,1,722,16,705],83:[702,12,556,28,528],84:[683,1,667,33,635],85:[683,19,722,16,709],86:[683,20,722,0,719],87:[683,19,1e3,5,994],88:[683,1,722,16,705],89:[683,1,722,16,704],90:[683,1,667,29,635],107:[683,1,556,17,534],160:[0,0,250,0,0],165:[683,0,750,11,738],174:[709,175,947,32,915],240:[749,21,556,42,509],295:[695,13,540,42,562],710:[845,-561,2333,-14,2346],732:[899,-628,2333,1,2330],770:[845,-561,0,-2347,13],771:[899,-628,0,-2332,-3],989:[605,85,778,55,719],1008:[434,6,667,37,734],8245:[560,-43,275,12,244],8463:[695,13,540,42,562],8487:[684,22,722,44,675],8498:[695,1,556,55,497],8502:[763,21,667,-22,687],8503:[764,43,444,-22,421],8504:[764,43,667,54,640],8513:[705,23,639,37,577],8592:[437,-64,500,64,422],8594:[437,-64,500,58,417],8602:[437,-60,1e3,56,942],8603:[437,-60,1e3,54,942],8606:[417,-83,1e3,56,944],8608:[417,-83,1e3,55,943],8610:[417,-83,1111,56,1031],8611:[417,-83,1111,79,1054],8619:[575,41,1e3,56,964],8620:[575,41,1e3,35,943],8621:[417,-83,1389,57,1331],8622:[437,-60,1e3,56,942],8624:[722,0,500,56,444],8625:[722,0,500,55,443],8630:[461,1,1e3,17,950],8631:[460,1,1e3,46,982],8634:[650,83,778,56,722],8635:[650,83,778,56,721],8638:[694,194,417,188,375],8639:[694,194,417,41,228],8642:[694,194,417,188,375],8643:[694,194,417,41,228],8644:[667,0,1e3,55,944],8646:[667,0,1e3,55,944],8647:[583,83,1e3,55,944],8648:[694,193,833,83,749],8649:[583,83,1e3,55,944],8650:[694,194,833,83,749],8651:[514,14,1e3,55,944],8652:[514,14,1e3,55,944],8653:[534,35,1e3,54,942],8654:[534,37,1e3,32,965],8655:[534,35,1e3,55,943],8666:[611,111,1e3,76,944],8667:[611,111,1e3,55,923],8669:[417,-83,1e3,56,943],8672:[437,-64,1334,64,1251],8674:[437,-64,1334,84,1251],8705:[846,21,500,56,444],8708:[860,166,556,55,497],8709:[587,3,778,54,720],8717:[440,1,429,102,456],8722:[270,-230,500,84,417],8724:[766,93,778,57,722],8726:[430,23,778,91,685],8733:[472,-28,778,56,722],8736:[694,0,722,55,666],8737:[714,20,722,55,666],8738:[551,51,722,55,666],8739:[430,23,222,91,131],8740:[750,252,278,-21,297],8741:[431,23,389,55,331],8742:[750,250,500,-20,518],8756:[471,82,667,24,643],8757:[471,82,667,23,643],8764:[365,-132,778,55,719],8765:[367,-133,778,56,722],8769:[467,-32,778,55,719],8770:[463,-34,778,55,720],8774:[652,155,778,54,720],8776:[481,-50,778,55,719],8778:[579,39,778,51,725],8782:[492,-8,778,56,722],8783:[492,-133,778,56,722],8785:[609,108,778,56,722],8786:[601,101,778,15,762],8787:[601,102,778,14,762],8790:[367,-133,778,56,722],8791:[721,-133,778,56,722],8796:[859,-133,778,56,723],8806:[753,175,778,83,694],8807:[753,175,778,83,694],8808:[752,286,778,82,693],8809:[752,286,778,82,693],8812:[750,250,500,74,425],8814:[708,209,778,82,693],8815:[708,209,778,82,693],8816:[801,303,778,82,694],8817:[801,303,778,82,694],8818:[732,228,778,56,722],8819:[732,228,778,56,722],8822:[681,253,778,44,734],8823:[681,253,778,83,694],8828:[580,153,778,83,694],8829:[580,154,778,82,694],8830:[732,228,778,56,722],8831:[732,228,778,56,722],8832:[705,208,778,82,693],8833:[705,208,778,82,693],8840:[801,303,778,83,693],8841:[801,303,778,82,691],8842:[635,241,778,84,693],8843:[635,241,778,82,691],8847:[539,41,778,83,694],8848:[539,41,778,64,714],8858:[582,82,778,57,721],8859:[582,82,778,57,721],8861:[582,82,778,57,721],8862:[689,0,778,55,722],8863:[689,0,778,55,722],8864:[689,0,778,55,722],8865:[689,0,778,55,722],8872:[694,0,611,55,555],8873:[694,0,722,55,666],8874:[694,0,889,55,833],8876:[695,1,611,-55,554],8877:[695,1,611,-55,554],8878:[695,1,722,-55,665],8879:[695,1,722,-55,665],8882:[539,41,778,83,694],8883:[539,41,778,83,694],8884:[636,138,778,83,694],8885:[636,138,778,83,694],8888:[408,-92,1111,55,1055],8890:[431,212,556,57,500],8891:[716,0,611,55,555],8892:[716,0,611,55,555],8901:[189,0,278,55,222],8903:[545,44,778,55,720],8905:[492,-8,778,146,628],8906:[492,-8,778,146,628],8907:[694,22,778,55,722],8908:[694,22,778,55,722],8909:[464,-36,778,56,722],8910:[578,21,760,83,676],8911:[578,22,760,83,676],8912:[540,40,778,84,694],8913:[540,40,778,83,693],8914:[598,22,667,55,611],8915:[598,22,667,55,611],8916:[736,22,667,56,611],8918:[541,41,778,82,693],8919:[541,41,778,82,693],8920:[568,67,1333,56,1277],8921:[568,67,1333,55,1277],8922:[886,386,778,83,674],8923:[886,386,778,83,674],8926:[734,0,778,83,694],8927:[734,0,778,82,694],8928:[801,303,778,82,693],8929:[801,303,778,82,694],8934:[730,359,778,55,719],8935:[730,359,778,55,719],8936:[730,359,778,55,719],8937:[730,359,778,55,719],8938:[706,208,778,82,693],8939:[706,208,778,82,693],8940:[802,303,778,82,693],8941:[801,303,778,82,693],8994:[378,-122,778,55,722],8995:[378,-143,778,55,722],9416:[709,175,902,8,894],9484:[694,-306,500,55,444],9488:[694,-306,500,55,444],9492:[366,22,500,55,444],9496:[366,22,500,55,444],9585:[694,195,889,0,860],9586:[694,195,889,0,860],9632:[689,0,778,55,722],9633:[689,0,778,55,722],9650:[575,20,722,84,637],9651:[575,20,722,84,637],9654:[539,41,778,83,694],9660:[576,19,722,84,637],9661:[576,19,722,84,637],9664:[539,41,778,83,694],9674:[716,132,667,56,611],9733:[694,111,944,49,895],10003:[706,34,833,84,749],10016:[716,22,833,48,786],10731:[716,132,667,56,611],10846:[813,97,611,55,555],10877:[636,138,778,83,694],10878:[636,138,778,83,694],10885:[762,290,778,55,722],10886:[762,290,778,55,722],10887:[635,241,778,82,693],10888:[635,241,778,82,693],10889:[761,387,778,57,718],10890:[761,387,778,57,718],10891:[1003,463,778,83,694],10892:[1003,463,778,83,694],10901:[636,138,778,83,694],10902:[636,138,778,83,694],10933:[752,286,778,82,693],10934:[752,286,778,82,693],10935:[761,294,778,57,717],10936:[761,294,778,57,717],10937:[761,337,778,57,718],10938:[761,337,778,57,718],10949:[753,215,778,84,694],10950:[753,215,778,83,694],10955:[783,385,778,82,693],10956:[783,385,778,82,693],57350:[430,23,222,-20,240],57351:[431,24,389,-20,407],57352:[605,85,778,55,719],57353:[434,6,667,37,734],57356:[752,284,778,82,693],57357:[752,284,778,82,693],57358:[919,421,778,82,694],57359:[801,303,778,82,694],57360:[801,303,778,82,694],57361:[919,421,778,82,694],57366:[828,330,778,82,694],57367:[752,332,778,82,694],57368:[828,330,778,82,694],57369:[752,333,778,82,693],57370:[634,255,778,84,693],57371:[634,254,778,82,691]},CHTML.fontLoaded(\"TeX/\"+font.substr(8)),function(CHTML){var font=\"MathJax_Caligraphic-Bold\";CHTML.FONTDATA.FONTS[font]={className:CHTML.FONTDATA.familyName(font),centerline:315,ascent:840,descent:211,weight:\"bold\",skew:{65:.224,66:.16,67:.16,68:.0958,69:.128,70:.128,71:.128,72:.128,73:.0319,74:.192,75:.0639,76:.16,77:.16,78:.0958,79:.128,80:.0958,81:.128,82:.0958,83:.16,84:.0319,85:.0958,86:.0319,87:.0958,88:.16,89:.0958,90:.16},32:[0,0,250,0,0],48:[460,17,575,46,528],49:[461,0,575,80,494],50:[460,0,575,51,517],51:[461,211,575,48,525],52:[469,194,575,32,542],53:[461,211,575,57,517],54:[660,17,575,48,526],55:[476,211,575,64,558],56:[661,17,575,48,526],57:[461,210,575,48,526],65:[751,49,921,39,989],66:[705,17,748,40,740],67:[703,20,613,20,599],68:[686,0,892,20,885],69:[703,16,607,37,627],70:[686,30,814,17,930],71:[703,113,682,50,671],72:[686,48,987,20,946],73:[686,0,642,-27,746],74:[686,114,779,53,937],75:[703,17,871,40,834],76:[703,17,788,41,751],77:[703,49,1378,38,1353],78:[840,49,937,-24,1105],79:[703,17,906,63,882],80:[686,67,810,20,846],81:[703,146,939,120,905],82:[686,17,990,20,981],83:[703,16,696,25,721],84:[720,69,644,38,947],85:[686,24,715,-10,771],86:[686,77,737,25,774],87:[686,77,1169,25,1206],88:[686,-1,817,56,906],89:[686,164,759,36,797],90:[686,0,818,46,853],160:[0,0,250,0,0]},CHTML.fontLoaded(\"TeX/\"+font.substr(8))}(MathJax.OutputJax.CommonHTML),function(CHTML){var font=\"MathJax_Fraktur-Bold\";CHTML.FONTDATA.FONTS[font]={className:CHTML.FONTDATA.familyName(font),centerline:259,ascent:740,descent:223,weight:\"bold\",32:[0,0,250,0,0],33:[689,12,349,107,241],34:[695,-432,254,10,231],38:[696,16,871,44,839],39:[695,-436,250,80,158],40:[737,186,459,134,347],41:[735,187,459,105,326],42:[692,-449,328,40,277],43:[598,82,893,56,837],44:[107,191,328,118,253],45:[275,-236,893,54,833],46:[102,15,328,103,237],47:[721,182,593,41,550],48:[501,12,593,42,533],49:[489,0,593,54,548],50:[491,-2,593,44,563],51:[487,193,593,31,523],52:[495,196,593,13,565],53:[481,190,593,19,518],54:[704,12,593,48,547],55:[479,197,593,54,591],56:[714,5,593,45,542],57:[487,195,593,29,549],58:[457,12,255,57,197],59:[458,190,255,56,211],61:[343,-168,582,22,559],63:[697,14,428,40,422],65:[686,31,847,29,827],66:[684,31,1044,57,965],67:[676,32,723,72,726],68:[683,29,982,31,896],69:[686,29,783,74,728],70:[684,146,722,17,727],71:[687,29,927,74,844],72:[683,126,851,6,752],73:[681,25,655,32,623],74:[680,141,652,-8,616],75:[681,26,789,20,806],76:[683,28,786,30,764],77:[683,32,1239,27,1232],78:[679,30,983,26,973],79:[726,30,976,12,881],80:[688,223,977,33,943],81:[726,83,976,12,918],82:[688,28,978,31,978],83:[685,31,978,82,905],84:[686,30,790,31,802],85:[688,39,851,18,871],86:[685,29,982,25,966],87:[683,30,1235,26,1240],88:[681,35,849,32,835],89:[688,214,984,34,878],90:[677,148,711,-4,624],91:[740,130,257,36,226],93:[738,132,257,14,208],94:[734,-452,590,1,584],97:[472,32,603,80,586],98:[690,32,590,86,504],99:[473,26,464,87,424],100:[632,28,589,-1,511],101:[471,27,472,81,428],102:[687,222,388,35,372],103:[472,208,595,17,541],104:[687,207,615,89,507],105:[686,25,331,3,327],106:[682,203,332,-19,238],107:[682,25,464,34,432],108:[681,24,337,100,312],109:[476,31,921,16,900],110:[473,28,654,5,608],111:[482,34,609,107,515],112:[557,207,604,-1,519],113:[485,211,596,87,515],114:[472,26,460,13,453],115:[479,34,523,-23,481],116:[648,27,393,43,407],117:[472,32,589,9,603],118:[546,27,604,56,507],119:[549,32,918,55,815],120:[471,188,459,8,441],121:[557,221,589,60,512],122:[471,214,461,-7,378],160:[0,0,250,0,0],8216:[708,-411,254,53,187],8217:[692,-394,254,58,193],58113:[630,27,587,64,512],58114:[693,212,394,37,408],58115:[681,219,387,36,384],58116:[473,212,593,67,531],58117:[684,27,393,33,387],58120:[679,220,981,32,875],58121:[717,137,727,17,633]},CHTML.fontLoaded(\"TeX/\"+font.substr(8))}(MathJax.OutputJax.CommonHTML),function(CHTML){var font=\"MathJax_Fraktur\";CHTML.FONTDATA.FONTS[font]={className:CHTML.FONTDATA.familyName(font),centerline:258,ascent:740,descent:224,32:[0,0,250,0,0],33:[689,12,296,91,204],34:[695,-432,215,8,196],38:[698,11,738,49,733],39:[695,-436,212,69,134],40:[737,186,389,114,293],41:[735,187,389,89,276],42:[692,-449,278,33,234],43:[598,82,756,47,709],44:[107,191,278,99,213],45:[275,-236,756,46,706],46:[102,15,278,87,200],47:[721,182,502,34,466],48:[492,13,502,42,456],49:[468,2,502,47,460],50:[474,-1,502,60,484],51:[473,182,502,39,429],52:[476,191,502,10,481],53:[458,184,502,47,440],54:[700,13,502,45,471],55:[468,181,502,37,498],56:[705,10,502,40,461],57:[469,182,502,28,466],58:[457,12,216,50,168],59:[458,189,216,47,179],61:[368,-132,756,54,725],63:[693,11,362,46,357],65:[696,26,718,22,708],66:[691,27,884,48,820],67:[685,24,613,59,607],68:[685,27,832,27,745],69:[685,24,663,86,634],70:[686,153,611,11,612],71:[690,26,785,66,710],72:[666,133,720,1,644],73:[686,26,554,30,532],74:[686,139,552,-10,522],75:[680,27,668,17,682],76:[686,26,666,33,644],77:[692,27,1050,27,1048],78:[686,25,832,27,825],79:[729,27,827,12,744],80:[692,218,828,28,804],81:[729,69,827,11,782],82:[686,26,828,27,824],83:[692,27,829,66,756],84:[701,27,669,34,676],85:[697,27,646,-25,665],86:[686,26,831,26,825],87:[686,27,1046,32,1054],88:[688,27,719,28,709],89:[686,218,833,27,740],90:[729,139,602,11,532],91:[740,130,278,117,278],93:[738,131,278,-4,160],94:[734,-452,500,0,495],97:[470,35,500,66,497],98:[685,31,513,87,442],99:[466,29,389,72,359],100:[609,33,499,13,428],101:[467,30,401,70,364],102:[681,221,326,30,323],103:[470,209,504,17,455],104:[688,205,521,77,434],105:[673,20,279,14,267],106:[672,208,281,-9,196],107:[689,25,389,24,362],108:[685,20,280,98,276],109:[475,26,767,8,753],110:[475,22,527,20,514],111:[480,28,489,67,412],112:[541,212,500,12,430],113:[479,219,489,60,419],114:[474,21,389,17,387],115:[478,29,443,-18,406],116:[640,20,333,27,348],117:[474,23,517,9,513],118:[530,28,512,55,434],119:[532,28,774,45,688],120:[472,188,389,10,363],121:[528,218,499,45,431],122:[471,214,391,-7,314],160:[0,0,250,0,0],8216:[708,-410,215,45,158],8217:[692,-395,215,49,163],58112:[683,32,497,75,430],58113:[616,30,498,35,432],58114:[680,215,333,29,339],58115:[679,224,329,28,318],58116:[471,214,503,52,449],58117:[686,20,333,26,315],58118:[577,21,334,29,347],58119:[475,22,501,10,514]},CHTML.fontLoaded(\"TeX/\"+font.substr(8))}(MathJax.OutputJax.CommonHTML),function(CHTML){var font=\"MathJax_Math-BoldItalic\";CHTML.FONTDATA.FONTS[font]={className:CHTML.FONTDATA.familyName(font),centerline:255,ascent:725,descent:216,weight:\"bold\",style:\"italic\",skew:{65:.16,66:.0958,67:.0958,68:.0639,69:.0958,70:.0958,71:.0958,72:.0639,73:.128,74:.192,75:.0639,76:.0319,77:.0958,78:.0958,79:.0958,80:.0958,81:.0958,82:.0958,83:.0958,84:.0958,85:.0319,88:.0958,90:.0958,99:.0639,100:.192,101:.0639,102:.192,103:.0319,104:-.0319,108:.0958,111:.0639,112:.0958,113:.0958,114:.0639,115:.0639,116:.0958,117:.0319,118:.0319,119:.0958,120:.0319,121:.0639,122:.0639,915:.0958,916:.192,920:.0958,923:.192,926:.0958,928:.0639,931:.0958,933:.0639,934:.0958,936:.0639,937:.0958,945:.0319,946:.0958,948:.0639,949:.0958,950:.0958,951:.0639,952:.0958,953:.0639,956:.0319,957:.0319,958:.128,959:.0639,961:.0958,962:.0958,964:.0319,965:.0319,966:.0958,967:.0639,968:.128,977:.0958,981:.0958,1009:.0958,1013:.0639},32:[0,0,250,0,0],47:[711,210,894,160,733],65:[711,0,869,45,839],66:[686,0,866,43,853],67:[703,17,817,55,855],68:[686,0,938,43,914],69:[680,0,810,43,825],70:[680,0,689,43,809],71:[703,16,887,56,854],72:[686,0,982,43,1027],73:[686,0,511,30,573],74:[686,17,631,42,694],75:[686,0,971,43,1003],76:[686,0,756,43,711],77:[686,0,1142,43,1219],78:[686,0,950,43,1027],79:[703,17,837,53,815],80:[686,0,723,43,847],81:[703,194,869,53,815],82:[686,17,872,43,881],83:[703,17,693,63,714],84:[675,0,637,22,772],85:[686,16,800,63,877],86:[686,16,678,62,886],87:[686,17,1093,61,1207],88:[686,0,947,38,953],89:[686,0,675,40,876],90:[686,0,773,68,805],97:[452,8,633,38,607],98:[694,8,521,45,513],99:[451,8,513,40,509],100:[694,8,610,38,612],101:[452,8,554,42,509],102:[701,201,568,64,624],103:[452,202,545,0,540],104:[694,8,668,45,642],105:[694,8,405,24,367],106:[694,202,471,-12,456],107:[694,8,604,45,578],108:[694,8,348,27,296],109:[452,8,1032,24,1006],110:[452,8,713,24,687],111:[452,8,585,39,576],112:[452,194,601,-23,593],113:[452,194,542,38,550],114:[452,8,529,24,500],115:[451,8,531,57,476],116:[643,7,415,21,387],117:[452,8,681,24,655],118:[453,8,567,24,540],119:[453,8,831,24,796],120:[452,8,659,43,599],121:[452,202,590,24,587],122:[452,8,555,34,539],160:[0,0,250,0,0],915:[680,0,657,43,777],916:[711,0,958,59,904],920:[702,17,867,54,844],923:[711,0,806,44,776],926:[675,0,841,62,867],928:[680,0,982,43,1026],931:[686,0,885,69,902],933:[703,0,671,32,802],934:[686,0,767,29,737],936:[686,0,714,22,790],937:[703,0,879,93,886],945:[452,8,761,39,712],946:[701,194,660,28,637],947:[451,211,590,5,617],948:[725,8,522,39,513],949:[461,17,529,36,481],950:[711,202,508,48,521],951:[452,211,600,24,600],952:[702,8,562,40,554],953:[452,8,412,38,386],954:[452,8,668,45,642],955:[694,13,671,40,652],956:[452,211,708,33,682],957:[452,2,577,38,608],958:[711,201,508,23,490],959:[452,8,585,39,576],960:[444,8,682,23,674],961:[451,211,612,34,603],962:[451,105,424,33,457],963:[444,8,686,35,677],964:[444,13,521,23,610],965:[453,8,631,24,604],966:[452,216,747,53,703],967:[452,201,718,32,685],968:[694,202,758,24,732],969:[453,8,718,24,691],977:[701,8,692,24,656],981:[694,202,712,51,693],982:[444,8,975,23,961],1009:[451,194,612,75,603],1013:[444,7,483,44,450]},CHTML.fontLoaded(\"TeX/\"+font.substr(8))}(MathJax.OutputJax.CommonHTML),function(CHTML){var font=\"MathJax_SansSerif-Bold\";CHTML.FONTDATA.FONTS[font]={className:CHTML.FONTDATA.familyName(font),centerline:250,ascent:750,descent:250,weight:\"bold\",32:[0,0,250,0,0],33:[694,0,367,110,256],34:[694,-442,558,37,420],35:[694,193,917,61,855],36:[750,56,550,49,488],37:[750,56,1029,61,966],38:[716,22,831,47,769],39:[694,-442,306,80,226],40:[750,249,428,79,366],41:[750,250,428,61,348],42:[750,-293,550,67,482],43:[617,116,856,61,794],44:[146,106,306,80,226],45:[273,-186,367,12,305],46:[146,0,306,80,226],47:[750,249,550,61,488],48:[715,22,550,43,506],49:[716,-1,550,76,473],50:[716,0,550,46,495],51:[716,22,550,46,503],52:[694,0,550,31,518],53:[694,22,550,37,494],54:[716,22,550,46,503],55:[695,11,550,46,503],56:[715,22,550,46,503],57:[716,22,550,46,503],58:[458,0,306,80,226],59:[458,106,306,80,226],61:[407,-94,856,61,794],63:[705,0,519,61,457],64:[704,11,733,61,671],65:[694,0,733,42,690],66:[694,-1,733,92,671],67:[704,11,703,61,647],68:[694,-1,794,92,732],69:[691,0,642,92,595],70:[691,0,611,92,564],71:[705,11,733,61,659],72:[694,0,794,92,702],73:[694,0,331,85,246],74:[694,22,519,46,427],75:[694,0,764,92,701],76:[694,0,581,92,534],77:[694,0,978,92,886],78:[694,0,794,92,702],79:[716,22,794,62,731],80:[694,0,703,92,641],81:[716,106,794,62,732],82:[694,0,703,92,654],83:[716,22,611,49,549],84:[688,0,733,40,692],85:[694,22,764,92,672],86:[694,-1,733,27,705],87:[694,0,1039,24,1014],88:[694,0,733,37,694],89:[694,0,733,24,708],90:[694,0,672,61,616],91:[750,250,343,79,318],93:[750,250,343,24,263],94:[694,-537,550,108,441],95:[-23,110,550,0,549],97:[475,11,525,31,472],98:[694,10,561,54,523],99:[475,11,489,37,457],100:[694,11,561,37,507],101:[474,10,511,30,480],102:[705,0,336,29,381],103:[469,206,550,17,534],104:[694,0,561,53,508],105:[695,0,256,46,208],106:[695,205,286,-71,232],107:[694,0,531,63,496],108:[694,0,256,54,201],109:[469,0,867,53,815],110:[468,0,561,53,508],111:[474,11,550,32,518],112:[469,194,561,54,523],113:[469,194,561,37,507],114:[469,0,372,54,356],115:[474,10,422,30,396],116:[589,10,404,20,373],117:[458,11,561,52,508],118:[458,0,500,26,473],119:[458,0,744,24,719],120:[458,0,500,24,475],121:[458,205,500,29,473],122:[458,0,476,31,442],126:[344,-198,550,92,457],160:[0,0,250,0,0],305:[458,0,256,54,201],567:[458,205,286,-71,232],768:[694,-537,0,-458,-218],769:[694,-537,0,-334,-93],770:[694,-537,0,-442,-109],771:[694,-548,0,-458,-93],772:[660,-560,0,-474,-77],774:[694,-552,0,-470,-80],775:[695,-596,0,-356,-194],776:[695,-595,0,-459,-91],778:[694,-538,0,-365,-119],779:[694,-537,0,-440,-94],780:[657,-500,0,-442,-109],915:[691,0,581,92,534],916:[694,0,917,60,856],920:[716,22,856,62,793],923:[694,0,672,41,630],926:[688,0,733,46,686],928:[691,0,794,92,702],931:[694,0,794,61,732],933:[715,0,856,62,793],934:[694,0,794,62,732],936:[694,0,856,61,794],937:[716,0,794,49,744],8211:[327,-240,550,0,549],8212:[327,-240,1100,0,1099],8216:[694,-443,306,81,226],8217:[694,-442,306,80,226],8220:[694,-443,558,138,520],8221:[694,-442,558,37,420]},CHTML.fontLoaded(\"TeX/\"+font.substr(8))}(MathJax.OutputJax.CommonHTML),function(CHTML){var font=\"MathJax_SansSerif-Italic\";CHTML.FONTDATA.FONTS[font]={className:CHTML.FONTDATA.familyName(font),centerline:250,ascent:750,descent:250,style:\"italic\",32:[0,0,250,0,0],33:[694,0,319,110,355],34:[694,-471,500,133,472],35:[694,194,833,87,851],36:[750,56,500,56,565],37:[750,56,833,165,815],38:[716,22,758,71,747],39:[694,-471,278,190,335],40:[750,250,389,104,491],41:[750,250,389,2,390],42:[750,-306,500,156,568],43:[583,83,778,108,775],44:[98,125,278,63,209],45:[259,-186,333,51,332],46:[98,0,278,90,209],47:[750,250,500,6,600],48:[678,22,500,88,549],49:[678,0,500,88,451],50:[678,0,500,50,551],51:[678,22,500,56,544],52:[656,0,500,62,521],53:[656,22,500,50,555],54:[678,22,500,94,548],55:[656,11,500,143,596],56:[678,22,500,77,554],57:[677,22,500,77,545],58:[444,0,278,90,282],59:[444,125,278,63,282],61:[370,-130,778,88,796],63:[704,0,472,173,536],64:[705,10,667,120,707],65:[694,0,667,28,638],66:[694,0,667,90,696],67:[705,10,639,124,719],68:[694,0,722,88,747],69:[691,0,597,86,688],70:[691,0,569,86,673],71:[705,11,667,125,730],72:[694,0,708,86,768],73:[694,0,278,87,338],74:[694,22,472,46,535],75:[694,0,694,88,785],76:[694,0,542,87,516],77:[694,0,875,92,929],78:[694,0,708,88,766],79:[716,22,736,118,763],80:[694,0,639,88,690],81:[716,125,736,118,763],82:[694,0,646,88,698],83:[716,22,556,54,609],84:[688,0,681,165,790],85:[694,22,688,131,747],86:[694,0,667,161,799],87:[694,0,944,161,1076],88:[694,0,667,14,758],89:[694,0,667,151,810],90:[694,0,611,55,702],91:[750,250,289,41,425],93:[750,250,289,-31,353],94:[694,-527,500,190,533],95:[-38,114,500,50,565],97:[461,10,481,61,473],98:[694,11,517,75,539],99:[460,11,444,75,499],100:[694,10,517,73,588],101:[460,11,444,71,472],102:[705,0,306,94,494],103:[455,206,500,12,568],104:[694,0,517,73,513],105:[680,0,239,74,315],106:[680,204,267,-96,336],107:[694,0,489,76,543],108:[694,0,239,74,311],109:[455,0,794,73,790],110:[454,0,517,73,513],111:[461,11,500,69,523],112:[455,194,517,34,538],113:[455,194,517,72,538],114:[455,0,342,74,424],115:[461,11,383,35,436],116:[571,11,361,97,410],117:[444,10,517,90,537],118:[444,0,461,108,540],119:[444,0,683,108,762],120:[444,0,461,1,537],121:[444,205,461,1,540],122:[444,0,435,28,494],126:[327,-193,500,199,560],160:[0,0,250,0,0],305:[444,0,239,74,258],567:[444,204,267,-96,286],768:[694,-527,0,-270,-87],769:[694,-527,0,-190,63],770:[694,-527,0,-310,33],771:[677,-543,0,-301,60],772:[631,-552,0,-314,64],774:[694,-508,0,-284,73],775:[680,-576,0,-180,-54],776:[680,-582,0,-273,40],778:[693,-527,0,-227,-2],779:[694,-527,0,-287,63],780:[654,-487,0,-283,60],915:[691,0,542,87,646],916:[694,0,833,42,790],920:[715,22,778,119,804],923:[694,0,611,28,582],926:[688,0,667,42,765],928:[691,0,708,86,768],931:[694,0,722,55,813],933:[716,0,778,173,843],934:[694,0,722,124,743],936:[694,0,778,171,854],937:[716,0,722,44,769],8211:[312,-236,500,50,565],8212:[312,-236,1e3,50,1065],8216:[694,-471,278,190,336],8217:[694,-471,278,190,335],8220:[694,-471,500,274,614],8221:[694,-471,500,133,472]},CHTML.fontLoaded(\"TeX/\"+font.substr(8))}(MathJax.OutputJax.CommonHTML),function(CHTML){var font=\"MathJax_SansSerif\";CHTML.FONTDATA.FONTS[font]={className:CHTML.FONTDATA.familyName(font),centerline:250,ascent:750,descent:250,32:[0,0,250,0,0],33:[694,0,319,110,208],34:[694,-471,500,32,325],35:[694,194,833,56,777],36:[750,56,500,44,444],37:[750,56,833,56,776],38:[716,22,758,42,702],39:[694,-471,278,89,188],40:[750,250,389,74,333],41:[750,250,389,55,314],42:[750,-306,500,63,436],43:[583,82,778,56,722],44:[98,125,278,89,188],45:[259,-186,333,11,277],46:[98,0,278,90,188],47:[750,250,500,56,445],48:[678,22,500,39,460],49:[678,0,500,83,430],50:[677,0,500,42,449],51:[678,22,500,42,457],52:[656,0,500,28,471],53:[656,21,500,33,449],54:[677,22,500,42,457],55:[656,11,500,42,457],56:[678,22,500,43,456],57:[677,22,500,42,457],58:[444,0,278,90,188],59:[444,125,278,89,188],61:[370,-130,778,56,722],63:[704,0,472,55,416],64:[704,11,667,56,612],65:[694,0,667,28,638],66:[694,0,667,90,610],67:[705,11,639,59,587],68:[694,0,722,88,666],69:[691,0,597,86,554],70:[691,0,569,86,526],71:[704,11,667,59,599],72:[694,0,708,86,621],73:[694,0,278,87,191],74:[694,22,472,42,388],75:[694,0,694,88,651],76:[694,0,542,87,499],77:[694,0,875,92,782],78:[694,0,708,88,619],79:[715,22,736,55,680],80:[694,0,639,88,583],81:[715,125,736,55,680],82:[694,0,646,88,617],83:[716,22,556,44,500],84:[688,0,681,36,644],85:[694,22,688,87,600],86:[694,0,667,14,652],87:[694,0,944,14,929],88:[694,0,667,14,652],89:[694,0,667,3,663],90:[694,0,611,55,560],91:[750,250,289,94,266],93:[750,250,289,22,194],94:[694,-527,500,78,421],95:[-38,114,500,0,499],97:[460,10,481,38,407],98:[694,11,517,75,482],99:[460,10,444,34,415],100:[694,10,517,33,441],101:[461,10,444,28,415],102:[705,0,306,27,347],103:[455,206,500,28,485],104:[694,0,517,73,443],105:[680,0,239,67,171],106:[680,205,267,-59,192],107:[694,0,489,76,471],108:[694,0,239,74,164],109:[455,0,794,73,720],110:[455,0,517,73,443],111:[460,10,500,28,471],112:[455,194,517,75,483],113:[455,194,517,33,441],114:[455,0,342,74,327],115:[460,10,383,28,360],116:[571,10,361,18,333],117:[444,10,517,73,443],118:[444,0,461,14,446],119:[444,0,683,14,668],120:[444,0,461,0,460],121:[444,204,461,14,446],122:[444,0,435,28,402],126:[327,-193,500,83,416],160:[0,0,250,0,0],305:[444,0,239,74,164],567:[444,205,267,-59,192],768:[694,-527,0,-417,-199],769:[694,-527,0,-302,-84],770:[694,-527,0,-422,-79],771:[677,-543,0,-417,-84],772:[631,-552,0,-431,-70],774:[694,-508,0,-427,-74],775:[680,-576,0,-302,-198],776:[680,-582,0,-397,-104],778:[694,-527,0,-319,-99],779:[694,-527,0,-399,-84],780:[654,-487,0,-422,-79],915:[691,0,542,87,499],916:[694,0,833,42,790],920:[716,21,778,56,722],923:[694,0,611,28,582],926:[688,0,667,42,624],928:[691,0,708,86,621],931:[694,0,722,55,666],933:[716,0,778,55,722],934:[694,0,722,55,666],936:[694,0,778,55,722],937:[716,0,722,44,677],8211:[312,-236,500,0,499],8212:[312,-236,1e3,0,999],8216:[694,-471,278,90,189],8217:[694,-471,278,89,188],8220:[694,-471,500,174,467],8221:[694,-471,500,32,325]},CHTML.fontLoaded(\"TeX/\"+font.substr(8))}(MathJax.OutputJax.CommonHTML),function(CHTML){var font=\"MathJax_Script\";CHTML.FONTDATA.FONTS[font]={className:CHTML.FONTDATA.familyName(font),centerline:211,ascent:735,descent:314,skew:{65:.389,66:.194,67:.278,68:.111,69:.139,70:.222,71:.25,72:.333,73:.333,74:.417,75:.361,76:.306,77:.444,78:.389,79:.167,80:.222,81:.278,82:.194,83:.333,84:.222,85:.25,86:.222,87:.25,88:.278,89:.194,90:.306},32:[0,0,250,0,0],65:[717,8,803,35,1016],66:[708,28,908,31,928],67:[728,26,666,26,819],68:[708,31,774,68,855],69:[707,8,562,46,718],70:[735,36,895,39,990],71:[717,37,610,12,738],72:[717,36,969,29,1241],73:[717,17,809,59,946],74:[717,314,1052,92,1133],75:[717,37,914,29,1204],76:[717,17,874,14,1035],77:[721,50,1080,30,1216],78:[726,36,902,29,1208],79:[707,8,738,96,805],80:[716,37,1013,90,1031],81:[717,17,883,54,885],82:[717,17,850,-2,887],83:[708,36,868,29,1016],84:[735,37,747,92,996],85:[717,17,800,55,960],86:[717,17,622,56,850],87:[717,17,805,46,1026],88:[717,17,944,103,1131],89:[716,17,710,57,959],90:[717,16,821,83,1032],160:[0,0,250,0,0]},CHTML.fontLoaded(\"TeX/\"+font.substr(8))}(MathJax.OutputJax.CommonHTML),function(CHTML){var font=\"MathJax_Typewriter\";CHTML.FONTDATA.FONTS[font]={className:CHTML.FONTDATA.familyName(font),centerline:233,ascent:694,descent:229,32:[0,0,250,0,0],33:[622,0,525,206,320],34:[623,-333,525,122,402],35:[611,0,525,36,489],36:[694,82,525,58,466],37:[694,83,525,35,489],38:[622,11,525,28,490],39:[611,-287,525,175,349],40:[694,82,525,166,437],41:[694,82,525,87,358],42:[520,-90,525,68,456],43:[531,-81,525,38,487],44:[140,139,525,173,353],45:[341,-271,525,57,468],46:[140,-1,525,193,332],47:[694,83,525,58,466],48:[621,10,525,42,482],49:[622,-1,525,99,450],50:[622,-1,525,52,472],51:[622,11,525,44,479],52:[624,-1,525,29,495],53:[611,10,525,52,472],54:[622,11,525,45,479],55:[627,10,525,44,480],56:[621,10,525,45,479],57:[622,11,525,46,479],58:[431,-1,525,193,332],59:[431,139,525,175,337],60:[557,-55,525,57,468],61:[417,-195,525,38,487],62:[557,-55,525,57,468],63:[617,0,525,62,462],64:[617,6,525,44,481],65:[623,-1,525,28,496],66:[611,-1,525,17,482],67:[622,11,525,40,484],68:[611,-1,525,16,485],69:[611,-1,525,19,502],70:[611,-1,525,22,490],71:[622,11,525,38,496],72:[611,-1,525,16,508],73:[611,-1,525,72,452],74:[611,11,525,57,479],75:[611,-1,525,18,495],76:[611,0,525,25,488],77:[611,-1,525,12,512],78:[611,0,525,20,504],79:[621,10,525,56,468],80:[611,-1,525,19,480],81:[621,138,525,56,468],82:[611,11,525,16,522],83:[622,11,525,52,472],84:[611,-1,525,26,498],85:[611,11,525,-3,528],86:[611,7,525,19,505],87:[611,7,525,12,512],88:[611,-1,525,28,495],89:[611,-1,525,20,505],90:[611,-1,525,48,481],91:[694,82,525,214,483],92:[694,83,525,58,466],93:[694,82,525,41,310],94:[611,-460,525,96,428],95:[-25,95,525,57,468],96:[681,-357,525,176,350],97:[439,6,525,48,524],98:[611,6,525,4,492],99:[440,6,525,66,466],100:[611,6,525,31,520],101:[440,6,525,48,464],102:[617,-1,525,35,437],103:[442,229,525,28,509],104:[611,-1,525,4,520],105:[612,-1,525,72,462],106:[612,228,525,48,376],107:[611,-1,525,13,507],108:[611,-1,525,51,474],109:[436,-1,525,-12,536],110:[436,-1,525,4,520],111:[440,6,525,52,472],112:[437,221,525,4,492],113:[437,221,525,34,545],114:[437,-1,525,24,487],115:[440,6,525,72,458],116:[554,6,525,25,448],117:[431,5,525,4,520],118:[431,4,525,24,500],119:[431,4,525,16,508],120:[431,-1,525,29,495],121:[431,228,525,26,500],122:[431,-1,525,34,475],123:[694,83,525,50,475],124:[694,82,525,228,297],125:[694,83,525,49,475],126:[611,-466,525,87,437],127:[612,-519,525,104,421],160:[0,0,250,0,0],305:[431,-1,525,72,462],567:[431,228,525,48,376],768:[611,-485,0,-409,-195],769:[611,-485,0,-331,-117],770:[611,-460,0,-429,-97],771:[611,-466,0,-438,-88],772:[577,-500,0,-452,-74],774:[611,-504,0,-446,-79],776:[612,-519,0,-421,-104],778:[619,-499,0,-344,-182],780:[577,-449,0,-427,-99],915:[611,0,525,25,488],916:[623,0,525,35,489],920:[621,10,525,56,468],923:[623,-1,525,30,495],926:[611,-1,525,33,491],928:[611,-1,525,16,508],931:[611,-1,525,40,484],933:[622,-1,525,38,486],934:[611,-1,525,41,483],936:[611,-1,525,37,487],937:[622,-1,525,32,492],2018:[611,-287,525,175,349],2019:[681,-357,525,176,350],8242:[623,-334,525,211,313]},CHTML.fontLoaded(\"TeX/\"+font.substr(8))}(MathJax.OutputJax.CommonHTML)})),HUB.Browser.Select(MathJax.Message.browsers),BASE.AuthorConfig&&\"function\"==typeof BASE.AuthorConfig.AuthorInit&&BASE.AuthorConfig.AuthorInit(),HUB.queue=BASE.Callback.Queue(),HUB.queue.Push([\"Post\",STARTUP.signal,\"Begin\"],[\"Config\",STARTUP],[\"Cookie\",STARTUP],[\"Styles\",STARTUP],[\"Message\",STARTUP],(function(){var queue;return BASE.Callback.Queue(STARTUP.Jax(),STARTUP.Extensions()).Push({})}),[\"Menu\",STARTUP],STARTUP.onLoad(),(function(){MathJax.isReady=!0}),[\"Typeset\",STARTUP],[\"Hash\",STARTUP],[\"MenuZoom\",STARTUP],[\"Post\",STARTUP.signal,\"End\"])}(\"MathJax\")));"
  },
  {
    "path": "pix2tex/resources/__init__.py",
    "content": ""
  },
  {
    "path": "pix2tex/resources/resources.py",
    "content": "# Resource object code (Python 3)\n# Created by: object code\n# Created by: The Resource Compiler for Qt version 6.4.2\n# WARNING! All changes made in this file will be lost!\n\nfrom PyQt6 import QtCore\n\nqt_resource_data = b\"\\\n\\x00\\x02*\\x89\\\n\\x00\\\n\\x07\\xfc\\xb4x\\xda\\xdc\\xbdksdIv\\x18\\xf6W\\x80\\\n\\xbb;\\xd8\\xba\\x83\\x8bB\\x15zz\\x1e\\xb7\\xe6\\x0e\\x8c\\x06\\\n\\xd0\\xdd\\xe0\\xa0\\x01\\x08@\\xf7\\xec\\x12\\xa8\\x1d]T]\\x00\\\n\\xb7\\xbbPU[\\x8f~LU9\\xc8\\x10\\xc3\\xa2\\x14\\xe2\\\n\\x07\\xdbA\\xd1\\x8eP8L\\x85\\x1d\\xa4d\\xd1\\x22\\xb9d\\\n\\x04IQV\\x84\\x97\\xfc\\xa6\\x0f\\xb3\\x9f\\xb8+}!\\x1d\\\n\\x0aZ\\xe1\\xb0\\xad\\xbf\\xe0\\xf3\\xca\\xd7}T\\x01\\xdd\\xb3\\xe4\\\n\\xca\\x5cN\\xa3n\\xe6\\xc9\\x93\\x99'O\\x9e<y\\xf2\\xe4\\\n\\xc9v\\xaf5\\xbeI\\xba\\xa3\\xeaU2\\xda\\xed$\\xf8\\xf3\\\n\\xc1\\x9b\\xbd\\xf6\\xcaJ[e\\xb4\\xae\\xd3N\\xfb\\xa0\\xd7N\\\n\\x86v\\xe2 \\x89G\\x89\\x14XY\\xa9\\xbcJ\\xbb\\xed\\xde\\\n\\xab\\xea\\x93xt\\xfd\\x0b\\xf1\\xeb\\x95\\x15\\xf9Q}<\\xbe\\\n\\x98N3\\xb9\\x9b\\xeeg4\\xd9\\x1a\\x8f\\xae{\\x83\\xed^\\\n\\xf72\\xbd\\x0a\\xdd\\xccY\\x98\\x05\\x9e\\x05\\x0a\\xf7\\xcbd0\\\nL{\\xdd\\xc8\\xdb\\xa8~T\\xbd\\xef\\xe9\\xf4\\xcb\\xb4\\x93\\x94\\\n\\xe5\\xb5\\xda\\xddg\\xe5Y\\x0f\\xa1\\xa4d\\x0f\\xb1\\xa6\\xcbq\\\n\\xb75\\x82\\x8f\\xca\\x83\\xad\\x93\\xdd\\x83\\xad'\\xbb\\xfe\\xe4e\\\n<X\\xc2\\xaf\\xc8mW\\x03\\xd3\\xa0\\xa7\\x05Y\\x80\\xc8o\\\n`\\xb1\\xa3\\xe3\\xc3\\xd3\\xc3\\xe8\\xac\\x19\\x1c>\\xf8\\x85\\xdd\\xed\\\n\\xd3Hco'\\x97\\x8c\\xb8w\\xf1<\\x82\\x8fj\\x0b\\xea\\\n\\x1f\\x0d\\xc6\\xadQo\\xd0\\xb8\\xec\\x0d*\\x98\\x97\\xb6\\x97\\xd2\\\n.B@-\\x08\\xa7K\\xfb\\x80?@\\x14\\x9eU\\xcc[\\\n\\x8e\\xa2\\x14G\\x11\\xb0]\\xc7\\xc3\\xc3W\\xdd\\xa3A\\xaf\\x9f\\\n\\x0cFo*i\\xdb\\x87\\x01\\x03\\x14gi\\xbb\\x89\\xd5\\xe1\\\n_\\xbf1HF\\xe3\\x01U0\\x0b\\xb6\\x0f\\x0fNN\\x8f\\\n\\x9fn\\x9f\\x1e\\x1e\\xdb\\xf5\\x08H>%\\x1e\\x5c\\x11[\\x0c\\\n\\xab\\xad\\xb8\\xd3I\\x92\\xea^7\\x1d\\xd1\\xef\\xca\\xe8:\\x1d\\\n\\x06:\\xdf\\x9f\\xcd\\x88R\\xd5\\xc3\\x8b\\xe7Ik\\x141%\\\n*\\x13\\xab\\xe5\\xe1;\\xa1\\x0fN\\xc6\\x17\\xadN<\\x1c\\x86\\\n6u\\x03Jr\\xc8\\xfcN\\xb5X\\xc4\\xaa\\x9e<=\\xda\\\n=\\x8e\\x08\\x02?\\xb1\\x10}\\xd1/JRM\\xe2d\\xf5\\\nEY[\\xe3+D\\xc99\\xf2A\\x19\\xfdAo\\xd4{\\\n(m\\xe4l'\\x89\\x80Z\\xb1d\\xc1\\x0fJ\\x80\\x91\\xe6\\\n\\x04\\xf8A\\x09\\xe90\\xe6\\x04\\xf8a\\xf0\\x8e\\xde\\xf4\\x93\\xa8\\\n\\x9b\\xbcZ\\xc2\\xac\\x0a\\xb1\\xa5\\xef\\xe6\\xda\\x1c\\x18A\\x8e\\xdd\\\nX\\x97\\xa0\\x011\\x0c\\xf6\\xd5P\\x1c(54\\x94\\xc6J\\\n\\x14\\xc1\\xeaQ\\x14an\\xb5\\x93t\\xafF\\xd7++\\xf8\\\nqVkB25c\\x13\\x0a\\x84\\xc8\\x9b\\xc0\\xeb\\xc3Q\\\n\\xdcm%\\xbd\\xcb%*\\xc0c\\x22\\xbc\\x8fm\\xb7R\\xa5\\\n\\x0b\\xbe\\x1e\\x80j\\xdc\\xefw\\xde h@m\\x99N\\xe1\\\n'0\\x87\\xf4`\\x1eo\\xa4\\xedFzY\\xe9\\x8e;\\x9d\\\n\\xe5\\x88\\x12q\\xfe\\xf1\\xdc\\xc3\\xcf\\xb2\\xf9\\x94\\x1f!H\\x0f\\\n\\xf4\\xe4\\xc2b\\xa3\\xde\\xc9h\\x90v\\xaf`f\\x1ah\\x22\\\n\\xb6\\xca\\xe1\\xe9j\\xc1MfV^A\\x15\\x9e\\xca\\xf5\\x02\\\n\\xbb\\xa4?\\xd3]\\xd0\\x9d3\\xdd\\xd0I\\xeaG\\xb1\\x80\\xc0\\\n\\xeaHB(0GL`\\xee,pZc\\xa8\\xca=\\\n\\xf7'n7\\x95\\xb8\\x09<\\x05\\xe8\\x01% \\x03\\x86\\x18\\\n\\x92\\xa1Jl\\x8b\\x99N\\xfc\\xd3\\x94\\xf7\\xa5>\\xfc\\x1dN\\\n\\x5c\\x8e\\x03\\x19\\x18\\x10\\xb8I\\xba\\xec\\x1a\\x81\\xd5US\\x9a\\\n`f\\x01\\xcc\\x17\\x03x\\x93\\xc0\\xea\\xd3V\\xc0\\x05\\x8d#\\\nJ0Ts\\x16\\x00\\xb1L\\xd9\\xbe\\xd0LW\\xf5\\xb2\\x07\\\nD\\xae\\xc9\\x10\\x9f\\xa9l(\\x06\\x13\\xd0\\x14Cn\\x9c\\x18\\\n\\x19b3;\\x0bF\\x1em;\\x1d\\xa7\\xd9\\xdc\\x86/e\\\n\\x98\\x0a@-\\xe1%\\xb0\\x8b\\x9a\\x9f\\xc1\\x01\\xc0\\x16\\x0e\\x0d\\\n]\\xd4\\x1b\\xb5L\\xd9\\x82\\x83f\\xbe\\xbd\\x96\\xf9\\x13`L\\\n\\x1b\\x22B\\xe1\\xe2s\\xe5\\xcb5\\x1b6\\xb2~\\xcb\\xb0\\x09\\\nX\\x1d\\x86:\\xbd\\xe9w\\x12\\x1e\\xf0\\xb9K\\x08\\xb1\\xa1\\xdd\\\n7\\xabd\\x152\\xd3nB0\\xb3\\x80?L\\xc9\\xe1\\xa0\\\n\\xc5\\x02\\xa1=\\x1c\\xc1<4B\\x812\\xdcE\\x19\\x93\\xe0\\\n\\xbf\\xe2y\\x04\\xe5\\x89\\xf3\\xa9\\xfaW\\x83\\xb8\\x8f\\xd3\\x03\\xa0\\\ni:\\xf9\\x0d,w\\x1b\\xc9\\x90\\x81s$\\x03\\xd6\\xa1?\\\n\\xad\\x8a,\\xf1`\\x17\\xf7}!%\\xf6m\\x16 \\xa83\\\nw/i\\x98\\xccDXV\\x13\\xe1r:]6R\\xa6\\\n\\xe2Wo\\xe2Q\\xeb\\xba\\xb2~^=\\x1f\\xbeO4\\x85\\\n\\xbf\\xe7\\x95u\\xdfW\\x13\\x8f\\xf4\\x9e\\xcb\\xae\\xbd\\xda\\x9a\\xa9\\\n\\x1d\\xc1\\xbc\\xa4\\x1fH\\x8a\\xc6h\\xf0\\x86\\xe8=H\\x86\\xe3\\\n\\xce(\\xba\\x14\\x19\\x9e]z[Te2\\x18 \\xa6A\\\n\\xef\\x15\\x88\\x8eN2J\\x96\\x0c\\xda\\x002u\\x07s\\x99\\\n\\x8c^\\xaf\\xe0\\xd0\\x04M\\xb8\\x02MGgJk.\\x1d\\\n]\\xe3\\xb2;\\x9b\\xf9\\xa0|Y\\x1a\\x0d,\\xb4[\\x83A\\\n\\xfc&\\xa2\\x7f\\xd5\\xd7tZ4\\xf5\\xbd\\xb3\\x1e\\x95Y\\x22\\\n\\x98&\\x08\\x9cH\\x90\\xe4\\x19\\x80\\xa7!\\xafbvuV\\\ne\\xb3\\x8a'\\x1a\\xa7\\xe7\\x7f\\xc3\\x9a\\xab\\xeaTAG\\x83\\\n\\xed\\xad\\xfd\\xfd\\x07[\\xdb\\x9f[\\xeal<\\x8a\\xb9\\xba\\xd6\\\n\\xc5m\\xf4\\xac\\xe4u\\xd2\\x1a\\x8f\\x12!q6\\xdb\\xd1\\xbb\\\n\\xdcy\\xa7\\xaa\\xb6\\xd6\\x88|R\\xf1\\xacl]\\xd0\\xa4\\xd4\\\n\\xe2\\x1a\\xdb\\x8c)\\x9b\\xeaG\\x98\\xc7\\xe4,\\x80\\xad\\x0b\\xc3\\\n8\\x05\\x95\\xaa\\xbc\\xa0u1k\\xe4\\xf3\\xa3I:\\xdc\\x86\\\n\\xee]\\xc4\\xad\\x17\\xe1r-\\xb8\\xee\\xf5^\\xb8\\xab\\x19\\xb6\\\n#\\x84\\xbd\\x02\\xb3\\x88\\xec\\x82\\x02!\\x95\\x0d\\x0aSuY\\\n\\x94@ W{:\\xa5\\x8fx<\\xea\\x1d'\\xc3d\\xe4\\\n\\xdb\\xd2\\x8fA\\xa2e\\x17$`\\x95\\x11\\x9a`\\xcd\\xb9*\\\nW\\xccy\\xd8\\x18T\\x09a\\xf2U\\xce\\x9a\\xd5a'm\\\n%\\xcc\\x91zp\\x82\\x9a\\x0fr\\x05\\xa7W\\xe2\\xac\\xcb\\xf6\\\n\\x0c\\xe4\\xeag\\x81\\x22N\\x81\\xaao\\x9a\\x92\\x99y:\\xc3\\\n\\xddL 3\\xec\\x9d\\xe4y\\xf0r\\xcez\\x0e\\xaa\\xc6e\\\n\\xd5\\xd0\\x7f\\x16\\xec>\\xdb\\xda7E[\\xb0\\xd5\\xd5\\xedI\\\n^\\xc6\\x1d\\xee\\xa9\\x8c\\x00\\xe5\\xce\\x82\\xd3\\xdd\\x93S\\xb7\\x18\\\n\\x8d\\x04&U<l\\xd4\\x97_\\x9e&'\\xa3/\\x9f\\xc5\\\n\\xc7_~\\xb9\\x14-\\xd5aN\\xca\\xe4\\xb2s|\\x94z\\\nB\\xa2\\x82l#\\xedz \\xef\\x0a\\x00\\x22\\x5c\\x93fI\\\ng\\x98,Qk\\x04\\x04\\xd9\\xe4\\xa45H\\xfb\\xa3\\xcdL\\\n\\xb7h\\x06\\x7f\\xf9%~D\\xf8\\x0f\\xf5'\\xf2\\xa0\\x19K\\\n\\x13\\xb5\\x11\\xfe\\xf2K\\x16\\x92\\xd0l\\xec~\\xc5\\xa4s\\xe7\\\n\\x97\\x8c\\x0c..\\x04\\xf2\\xd7\\x0brM\\xe1\\x164,\\x19\\\n/\\x8d\\xe1/\\x5ca\\x85\\x12Nz\\xe0&R\\xa3\\xa5*\\\nK=\\xda%\\x12\\xf1\\x8a \\xf8d\\x04E\\xe0\\x87\\x7f[\\\n\\x84\\xa0\\x0e_'q;j\\xe7M-\\xc3\\x07oN\\xe3\\\n\\xab\\x83\\xf8&\\xa9x\\x08\\xe3\\xf9\\xb0\\x19j\\xe0/\\x90\\xc8\\\nn\\xa1\\x8b^\\xfb\\x0dSoH\\xe4\\x8c\\x8am1\\x15\\x8f\\\n\\xb3=P-\\xe8\\x07\\xce\\x9f\\xa4\\xdb\\xdeF+N%S\\\n\\xe64y=B\\xcb\\x0e\\xd3\\xc4\\x0f\\xb0F\\x07\\x9eQH\\\n\\xc6 \\xb9\\xe9\\xbdL\\x9c\\x8c\\xbf\\xad\\xd1l\\xe8\\xf9G\\x13\\\n xz\\xb2w\\xf0(r6\\xa0AJ3\\xd2,'\\\n\\xbc\\xe5\\xfc\\xac\\x0e\\xd2\\x1f\\xf3\\xa3\\x0d\\xde\\x8b:\\xb9++\\\n\\x05j\\x8f\\x06\\x82\\xb1\\xa1\\x1d\\xab\\xfe*\\xd0\\xdb\\xbd\\xee\\xf8\\\n\\xe6\\x22\\x19\\x18ic\\xe0\\xeb\\xcd\\xcd\\x9c\\xf0\\xc4f\\x86s\\\nDj \\xcb,\\xef\\xa9WVr\\x1b\\xe8\\x02\\xf9&{\\\nj\\xd5O\\xf9\\xf4\\x83\\x12P\\xdf\\xac\\xcbC\\xb5\\x16C-\\\n\\x05\\x8b\\x9adn\\x22\\xa4^\\x1f+\\x13Z\\xbc0\\x0d\\xb4\\\n\\x05\\xa0\\xb8\\xd3bV%\\x87\\xac\\x85\\xe6[H?\\xea\\x85\\\nt,\\xe9W\\xbdy&\\xa5\\x9b\\xaa\\xe1\\x05-\\xb1\\xc1\\xd4\\\n\\x12*\\xe9\\xbc\\xb2Rg\\x89\\xe8\\x95\\x0d\\x9f\\xdb]N\\xc9\\\ny\\x15\\xd5\\xf2\\x08\\xeb\\x0b\\x10\\xd6\\x17\\xb4\\xdcip\\xad\\xb8\\\n\\xc1$\\xf3Ki\\xab\\xf0\\xabY\\xb2\\xb2\\xa2~U\\xfc \\\nS)\\xa6\\x8a\\xb6\\x81E\\x9b\\xdcv\\xfc\\x99\\xdf\\x96\\xe6\\xda\\\nM\\x95!<+R\\xc2\\x9c\\xf9\\xeeA\\x83y6\\xd3\\xcc\\\n\\xaex\\xdbq\\xf7;\\xa3\\xa5\\x9b\\xf8E\\xb2\\xd4\\x92ex\\\n\\xe9r\\xd0\\xbbY\\xbaJ_&\\xa0\\xb6Cs<Xe\\\nwv\\xf7\\xb7\\xbeg\\xa6\\xf5(\\xbd\\x019-\\xf0j\\x89\\\n\\xae\\xa8\\x84\\x88\\x84\\x80\\xfe\\xf4\\xfd*\\xc2\\xf7\\xc6\\xa3\\x08T\\\n\\x92S\\xfe\\xa9s\\x03\\xcc\\xf35\\xb2Y\\xf0\\xc5\\xd6\\xde\\xe9\\\nC\\xdb\\xdc\\xa9!\\x87\\xe9U7\\xee\\xf8\\x939\\x15)\\xd5\\\n\\xab\\x82XN\\xf6\\x1e\\x1d\\x00\\xa1\\xb3\\xe5\\xe5o\\x15\\x85+\\\n\\x0c\\xd8\\xea\\xaa\\xcf\\x95\\xee~ww\\xfb\\xe9\\xe9\\xae\\xadH\\\n\\x90\\x90'h1\\xe7\\xf1G\\xc3\\xd6\\xa58\\x89\\xd535\\\niYo\\xeb\\xb4w\\xf9;\\xb0\\xe1M\\xb2-\\xb3\\xed\\xe2\\\n\\xc5\\x1b.\\x1c\\x5c\\xa3`U\\xb8\\x1c\\x08\\xa2e\\xfe%]\\\n\\xf7\\xad\\x8e\\x8b\\xa0\\x97\\x0e\\xf8\\x0d\\xd2N\\xb4\\xe2\\x1e\\xd5\\x82\\\n\\x9bH\\xf2D\\x885\\xd2Oo\\x1a)\\x10D\\x92\\xcf\\xd2\\\n\\xa6\\xa2\\xd2\\xdaZ\\x90O\\xfc4\\xaa\\xc1~\\xd8$\\x93\\xd4\\\n\\x14jr\\x1bJGq\\x08\\xf2H\\xc4\\x93J\\x80QS\\\n\\xb4>\\x93\\x1fM\\xc3\\x18B\\xe7M\\x94\\xbbn\\xab73\\\n \\xd5\\xfexx\\xadP\\xa1\\xd0\\x083\\x00Q\\xb6\\x80(\\\n\\xd4\\xaa!\\xa1n\\xac5X\\xa6\\x90\\x8cR\\x90M\\x88,\\\n&\\xca6[5\\x19M\\x9f\\x0fOw\\x0b\\xb8{.[\\\n\\x0b\\xbd\\xa3\\x9a\\xd9wEu\\x18\\xbe\\xec\\xaa\\xa9\\x07\\xd0\\xac\\\nu)\\x08w\\x99R\\x15;\\xd5L_d,\\x14\\x18\\xba\\\n\\xc9R\\x9bo[\\x01Tf\\xc5o\\x141\\xa1i\\xbb$\\\n\\xa9}\\xbf\\x99\\xd7\\x8f\\x0f\\x0f??\\x89\\x94r&{W\\\ne\\x83\\xafd\\xcc\\x88\\xb4{\\x11\\x13\\x05\\x0a\\xc7!\\x9e\\xd6\\\n\\xd0\\x17\\xeb>\\xd6'\\x00F\\x03\\xb3{\\x1a\\x8c\\xbb]$\\\n\\x15Z\\xa7\\xb6\\xdam\\x83\\x92\\xb6,\\xfdA\\xda\\x1b\\xa4h\\\ngCu%\\x8a\\xd47\\xf4@\\xfd\\x8c\\xea5?\\xb0\\xfa\\\n\\x88\\xe5\\x907\\xf1\\xaf\\x8c\\x0c%\\xf9\\xb4W\\xac\\xeab\\xea\\\n\\x875D\\xa6\\xf9z|>\\x83\\x19\\xa3 ?5\\xf9g\\\n\\xe9Z\\xbd\\xa9q5\\xfctm\\xad\\x91\\xdd\\x88\\x81\\xa8\\xe9\\\n\\xd3\\xb2\\x93\\x06\\xbcO\\xe5\\x16\\xcc\\x82c\\x22\\x89\\xdbS\\xcb\\\n2F\\x13\\xbd\\xa0)\\xc2*0\\xfav;\\xf0\\x04\\x80\\x10\\\nXv\\xd4\\x8aM\\xd9Mk\\x18x\\xaa\\x81\\xe2T\\xd4\\xc8\\\n:nCw\\xf3\\xfbd\\xb2G\\x08[\\xc0\\xb8Nf\\xcd\\\n\\x86;r6\\x97\\xcfo\\xfb\\xc4\\xf0\\x80\\x98\\xe5U/8\\\n\\xb1\\xe2\\xe7d\\xac\\x06`!+\\x9bIK\\xcc.\\x96\\xb1\\\n++\\xba\\xf9L\\x80\\x0c\\xcfg\\xf8\\xd0\\xe6[\\xad-R\\\n\\x1a\\x0f\\xdc\\x11O7P\\x08\\xea\\xd6,\\xd4\\xd2\\x0d\\x195\\\n\\xdc(\\xca\\xd1\\x09\\xa0\\xaa\\x84$V\\xa4S\\x93\\x99\\x9e\\xdd\\\n(q\\x9cj\\xc2\\xac\\x05P&\\x94\\xdd\\xc8ao\\x80\\xa4\\\n\\xcb0\\xb2\\xd3\\x83\\xb5:\\xf02\\xc8#`T\\xbfx\\xf0\\\n\\x1b\\xeet\\x9d\\xcd\\xfc@\\x84#K\\x02\\x87]\\x87\\xa4\\xf8\\\n\\x042\\xed\\xd1\\x92B\\xa9\\x8a\\x09\\x91\\x06\\x0d\\xb5^p\\x8e\\\n\\xccH` \\xfa\\xd34\\x0a:Y\\xbd \\x1b\\xffF<\\\n\\xcd\\xf1'\\xa8\\xfc\\xe1\\x19\\xfeh\\x9a\\x9e]\\xc7\\xddv'\\\n\\x19D\\xd4\\x22\\x11:\\x013]!\\xbf\\x09|\\x15\\x04K\\\nE1\\x926D\\xa9\\xcc]g\\x15\\x97T\\xea\\x1f\\x8c\\xc5\\\n\\xdfy\\xba\\xfbt\\xd71\\xdf\\x95\\x89@uj#\\xa2\\xdf\\\na\\xaa\\x1a\\xf3\\xd4\\x0f\\xc6\\xc9\\xd8\\x88\\xc2#`\\xc5\\x12[\\\nm\\x80y6j}H\\xa0Ve\\xeet\\xe9z\\x92]\\\n\\x9b\\xec\\x95\\xc4\\xf7\\x97\\xad\\xfd\\x1b$L\\xa7z)\\xd1\\xfa\\\nX\\xa6\\xfc\\x99\\xf7*NG\\x1e5\\x5c\\xf3*`\\xb2\\xfa\\\n\\xc5S\\xcb\\xacR\\x05\\x93KLlB\\x22\\xf9:\\x1a\\xf4\\\nZ\\x09\\x90\\xd3\\xd6)%\\xcdP\\x80j`24\\x96m\\\n\\x940\\xd7m\\x9c2Q\\xb9AB\\x13W\\x82E\\x06\\x00\\\n-\\x06<$V!\\xb5\\x13)\\x1a\\xb1\\x93\\xf1\\x10\\xebq\\\n\\xa5\\x94\\xb5\\xd2\\x8a\\x90\\x18\\x02e\\xa1;v#\\xe4XP\\\n\\xf0q\\x8eh1&\\xddw\\xd6\\xb1Ra\\xa6\\xb4\\x03Q\\\n\\x17\\xb1\\xbc?\\xc3\\xf3{j\\x5c^^0\\xa1VWQ\\\n\\xb0`\\xd3\\xca \\x84v\\xf2\\xb5\\xb6\\xc6B)\\x07-c\\\nS\\xc6\\xb9\\xc8'a\\x81\\xb6\\x94\\xd5/@\\xbc\\x88\\xcaI\\\nS\\xactZuc\\xd8nL\\x18\\xc6l\\xa8]\\x0f\\x03\\\n\\x19,\\x04\\x8d\\xf0\\x1f\\xfe\\xec\\xf7\\x86\\xa3\\xa4\\xad\\x07\\xaf\\x93\\\n\\xc2g7\\x19\\x0cEz,\\xd7|\\x03gK~\\xcd)\\\nl!9\\x82l\\xfb\\xe8p8\\x8c\\xaf\\x8c2\\x19\\x00K\\\n^\\x89\\x0c,\\xd3\\x07\\x9dj\\xdc9\\xe0kI\\x00S\\x0c\\\nk\\x92)VRM\\x937\\x05\\x13\\xb7\\x9d\\x1aHOc\\\nYL\\xa5\\x94\\xaa\\x92\\xe8\\xc1\\xd3T\\xf0\\xfb\\x19\\xbe\\xce\\x10\\\n\\xa4\\x96[\\x8d5\\x11\\x95\\xd4\\xd4\\x98\\x1ao\\xcb\\xba\\x81;\\\nk\\x0a\\x87\\xc4\\x95\\x18\\xb2m\\xc9i\\xac\\xdb\\x9d$\\x1e\\xdc\\\n\\x82\\xf7\\xee0>\\x9b\\xae\\xd8\\x90\\x81\\xa2\\x8ar\\xc20\\xac\\\nd\\xd8\\xceH\\x06[\\xb6\\x15N*\\x0dj\\x91D\\x0bF\\\n\\xf4\\x12\\x19%@\\xb3\\x82\\x89\\x15\\xc0>\\xa57H\\x8e\\xe2\\\n\\xe1\\xc8R\\x96\\x172\\xa3\\x19G\\x5c\\x1a52\\x8d!X\\\n6x\\xfd\\x02\\xedNx)\\xab\\xdee\\x19\\xb0PNZ\\\n\\x08h9.b\\x9c4\\x8a\\x0a*Z\\xab\\x97H\\xbf\\x1c\\\n+\\x1c\\xf4\\xcaI&$7$`}\\xcb\\xe4\\xcf\\x82'\\\n\\xcc\\xd4\\x8f\\x9d\\xc3\\xa5\\x9b\\xe1U\\x90\\xa7\\xd4d>\\xa1I\\\n\\xeb\\x80\\xf5\\xd4\\xda\\x19\\x81\\xb6'nN\\xdcB`(\\x99\\\nLX\\xdf\\x90\\xf9J\\xaf\\xad\\xac\\xb6@\\xddM\\x07\\x0b\\xa5\\\n\\x18I\\x96\\x03.\\x19\\xd7\\xc6\\xad\\xc7\\xd2\\x1d\\xa5(\\x02\\xa4\\\n\\xd6\\xb6QK\\x98\\xb2Q5\\xc7}\\xaa\\x04 \\x88l\\x12\\\n\\xea\\xbd\\x06\\xf5\\xda!3\\xaf\\xd8t\\xdc\\xa7\\x94DL\\xdd\\\n\\x84\\x7f`\\xcd\\x0e\\xe1O~\\xb3u\\x86\\xe0\\xcd\\xcdl\\x82\\\n\\x91S\\x80 d\\x89\\xce\\xe3\\xed\\x0e.\\xef\\xc1\\xac\\xd2\\xb4\\\nY$J\\x0a{\\x10\\x04\\xac\\xb3\\x131\\x0d\\x84\\xe8\\xe6\\x98\\\n\\xda\\x0b./U\\xd22^\\xdc\\xaa\\xca\\xac\\x81y8\\x82\\\nE\\xc9\\xe4\\x95%6 \\xc2\\xa1\\x96F\\x17\\x0c\\x96Lv\\\n\\x01T\\xe7o\\x91\\xfez\\xa0\\xf9/p \\xaa;I'\\\n~\\x13\\x9150\\x93\\xb3u\\x09\\xdc\\x17\\xd1.$\\x93\\xf3\\\nwHG\\xa1\\x157\\x93s\\xc2\\xb6\\x11i\\x1cv>\\x03\\\n@C\\xc9\\x5c\\x99\\xc9\\xb1\\xc7:\\xb2\\xf7\\x15?\\xd3\\xc3\\xf7\\\n\\x93\\xf82\\x1e\\xa4\\x1b\\x91\\xb7\\x05\\xcaJ\\xb2\\xb4\\xdd\\xbb\\xe9\\\nC#\\x06\\xc1\\xd2^\\xb7UE\\xb7\\x81n\\xfc2\\xbd\\x8a\\\n\\xd1S\\xe6%\\x08\\xfc\\xde`eE\\xdbc\\xb3Y\\xa0\\xa0\\\n\\x04\\xc3\\xeb$\\x19\\x0da\\xea<\\xde\\xdd\\xda\\xb1vDI\\\nl\\xbc\\x89\\xf4I\\xd1p\\xf4\\xa6\\x93\\x9cP\\x09\\xcb\\xff\\xd7\\\nJU\\x07+C\\x81\\xa9\\x08\\xfa9\\xb0|\\xa0\\x94;\\xe2\\\n\\xe2\\xc4\\xdb\\x1e\\x93\\xf9\\xc5Gd\\x84\\x1a\\xf4\\xc8\\xed\\xe3\\xbd\\\n\\xa3\\xd3\\x13\\x5c\\xc0\\x8ew\\x9f\\x1c>\\xdbU\\x09\\x05\\xdb\\x11\\\n\\x96\\x22\\x02\\x90\\x95 \\xc4\\x00[\\xcf\\xe3\\xd7\\xd5\\xdc!\\x98\\\n\\x94 \\xf1o\\xea\\x03]k\\xeb\\xf4q\\xa4\\x0e\\x04C\\xcf\\\n\\x0b\\xe2z\\xfdM\\xe8\\x9dIJs=y\\x0d2\\x9b\\xbc\\\n\\x8c\\xd71\\xcb\\x0b\\xb6{\\xdd\\xd1 \\xbd\\x08\\xbd\\xeb\\xd1\\xa8\\\n?\\x0c\\xd7\\xd7[\\xed.z\\xd7\\x5cc\\xbd\\xa0\\xfd\\xac\\xcb\\\n\\xef\\xf5\\x16\\x03z\\xe2F\\x8b\\xed\\x8a&\\x9d^\\xdcN\\xda\\\n8\\x93\\xf1\\x17\\xee\\xb6\\xe5'\\xcb$\\x94\\xd4l\\xfe\\x0e\\xeb\\\n\\xf7\\x93{\\x01\\x8d\\x07M\\xa9\\xb0\\x1e\\xb4\\xd8\\xebz2\\xe8\\\n\\xf5F\\xd8\\xd4>T\\x14b\\x07f\\xf0s\\x10\\xdfP\\xf1\\\n\\x93\\xd3\\xad\\xd3\\xa7'\\xe1\\xe4\\xf0s(\\xb1{||x\\\n\\x1c\\xae\\xd5Qnt\\x92\\xa7\\xc7\\xfb\\x96\\xcf\\x1d$\\x18\\xb2\\\n\\x92wP\\xa3B\\x7f\\x22\\xccR\\xfeB\\xdf??\\xab\\x9c\\\n\\xadU\\xbf\\x8c\\xd7\\xbe\\xaa\\xad}\\xd2\\x5c\\xf5\\xcf\\x9b\\xeb\\xa9\\\n\\x0f\\xeb%\\xd6\\x9b\\xf5\\xd7\\xa02xf\\xd2\\xf0\\x11GT\\\nA\\xa03\\x95\\xdaT\\xca\\x14u\\xa3\\x8a\\xbd\\xf0W\\xa9\\xae\\\n\\xe1\\xf8b8\\x1a\\xe8\\xe22\\xac\\xab\\x1bZ\\xa4#\\x14\\xf7\\\n\\x01\\x19\\xcbtb<\\xe8\\x88\\x0d\\x12\\x90EY\\xec\\x0d\\xc8\\\nV\\xb8k\\x01\\xa6(\\x9e\\x86\\xc9\\x86\\x9f0\\x01\\x00$2\\\n\\xa3\\xed\\xadZE\\xec\\x02~\\xa3\\xdd\\x13cg\\xeb:\\x01\\\n\\xd1\\xb7\\x5c\\xcf8\\xb8`W\\xd1RVD\\x17\\xf2c!\\\nZ\\xa4\\xed\\xe6\\xca\\x8a\\xd3,\\x95l5M%\\xf9\\x13n\\\n\\x9d\\xb7\\x9a\\xb6W=\\xb7q\\xd9b\\x81nX\\xadq1\\\nHb\\xd8\\xee\\xbc\\x02\\xc6O*\\x92\\xaeI\\x098\\x98\\x92\\\n\\xc7\\xc9\\xcb,7`o\\x9e\\xb1\\x8c\\xcfx\\xd8\\x9f!\\x00\\\n\\x0c\\xa0\\xca\\x93\\xf4\\xe9\\xd4\\xf3\\x14\\xe2g@\\xcdg\\x91\\xb7\\\n\\x09\\xff\\xad>\\xf3\\x83g\\xb3\\x00\\xaa*\\xa8\\xc4^G\\x85\\\n+9gU'A)N\\xc2\\x95\\xf3\\x07\\xe3t\\x90\\xb8\\\nH\\xac\\x83%\\xb5l7l\\x05\\xd4Y\\x08,\\xfd\\x08\\xcb\\\n\\x16\\x9c\\x94\\xe9\\x81\\xc4q\\xa4z\\x89+\\xb3\\x83H\\x9e\\xb6\\\n\\xa4!TG\\xbd\\xa7}H\\xdd\\x8e\\x87\\xb8\\x81 ^\\xc7\\\n\\x7fH\\xba\\xd0\\x19\\x0a\\xc11o\\xf7;\\xe9\\x08\\xfd\\xee\\xd6\\\n}PV\\xfa\\x15\\xdf-\\xdcP\\xc6U\\x9e\\xc1\\xd5nO\\\n\\xe4\\xcb\\xca\\x8aw&?\\xc9\\xdd\\xcc\\x9e(\\xb5\\xe0\\x13\\xdf\\\nw\\xf5 \\x9e\\xf6U\\x9a\\xf0\\xd2\\x06\\xc0L-\\xcbSZ\\\n4r\\x12E<\\xb2\\x19lN\\x16o\\x00\\x91@\\x0f\\xf7\\\n\\xf6w\\xd1\\xc1\\x12\\xff\\xb2\\xb2C\\xcdbt\\xfbP\\xa6\\x82\\\n9ft\\xf2Z2\\x02\\xfd\\xffz,\\x17R\\x1cD\\xbe\\\n\\xd0\\x95=\\xbb\\xda$\\xf93\\xa4h\\xa8#cV\\x0fq\\\n\\xe5\\xc4\\xf5\\xdf|\\xc2v\\xc9\\x0c\\xd4\\x80\\xc7\\xc2/8\\xb6\\\n\\xc5|\\x22\\xc3p\\x09\\xbd\\xa3\\x01l\\xc9[%\\xef\\xbbF\\\n\\xae\\xbc\\xe5>\\xec\\xb6\\xa6x\\x18]m\\xd6)Q\\xb2/\\\n\\xfc\\xd9\\x0d\\xa5;j\\xd6\\xa2q+\\xe6\\xdf\\x9c\\xc3\\xfca\\\n\\xf9(Y{WC\\x19\\x81\\x5cL\\x18]\\x15-\\xfcJ\\\n\\xbeV\\x8a\\x92\\xf5\\x91\\x98\\xab\\xf5V|\\xab/\\x16x\\xd9\\\n\\x06[\\xef\\x8b4\\xb5\\xd0\\x07p\\xee\\xc6\\xc4`\\xa6\\xcd\\x09\\\n\\xa1W\\x86\\xc5\\xa2<g\\xe7\\x12\\x94\\x83\\xd9\\xa6s\\xd0\\x22\\\n\\xad\\xb3\\xef\\x22p\\xb4N\\x0f\\x12\\xa5/\\x95*\\x85\\xa5\\xa6\\\ni\\x12,ynp,\\xd4\\x8d\\xfc\\x04\\xb5GC'F\\\n\\x93>7\\x05\\x94\\xb8\\xe5\\xda\\x0c\\xb7g<\\x87\\xc2\\xc9/\\\n\\x9c\\xcc\\x95ld+\\xd4\\x0d \\x05\\x99\\xf9\\xf1\\x96>b\\\nJ1\\xccL\\xa33\\x0f\\xeb\\x17\\x9f\\x09\\xb1\\x10\\x89\\xdc.\\\nj\\xbdjS\\xe8xW\\xa0\\xbeiy^H\\x12\\x0f\\xa0\\\n|@;G\\xf1h<\\x0c\\xed\\xe5\\xe6\\xf0si}\\xc8\\\n\\x7ff\\x05r\\xae*\\xf6:n\\xb7\\xd89\\xaa\\xa8\\x5c\\xf0\\\n\\xd6S0T{]\\xf2\\x9d\\x8cT\\xe5\\x92L\\xd2\\xd7\\x1b\\\n\\x81\\x1a\\xbe\\xfe<~\\x19\\x0b5T\\xeep\\xd0\\x22Nv\\\nu\\x07\\xc6\\xab\\x85e\\x91\\x9b\\xdc,\\xd8>y\\xcb\\xf1\\xea\\\n\\xa4\\xdd\\x17\\xa5\\xa3\\x85\\x99\\x9e\\xdf\\xc0?\\xb0\\xff\\x00\\xed\\x8d\\\n4x\\xdafyT\\xd2\\xeePk8\\x94\\xc4\\xebAr\\\n9\\xbf#\\x0b\\xc7Q\\xc8\\x1c\\x96\\x92\\xb9h\\xf8f%T\\\n\\xc2F\\xf9f\\xfc\\x07\\xd2Mk\\x898\\xb32\\x89z\\xd4\\\n0\\xea\\x0dN\\x0a\\xca\\x08'\\x5c\\xac\\xc0\\x88\\xd8\\xb5=w\\\n\\x17\\xae\\x10\\xde\\xc9\\xe9\\xf7\\xf6wi\\xfb\\x0c\\xe5\\xaa\\xf8\\x0f\\\n\\x0e\\xc8\\xca\\x0a}\\x9aM\\xab\\xdaL/\\x0b\\xa0\\xc9\\xa9\\x02\\\n\\xad\\xd1\\x85r\\xb3Pm:\\xfc\\xdcW\\x97W[\\xb0\\x88\\\n\\x22fo\\x7f\\xef\\xe0\\xf3\\x5c\\x8d\\xe5\\xc5\\xf5\\xd6\\x7f\\xd3\\x22\\\n\\x0c\\xd0|0\\xca\\xd3\\x8b4r\\x01\\x97\\x1d\\xfe\\xea\\xaa\\xb1\\\n\\xeb2\\xdd\\xcd\\xd6O\\x16\\xa1\\xc5(\\xf7I\\xee\\x11m\\xe7\\\n`\\xb3V+BfFg\\xeb\\x17\\xb6\\xbe\\x1b\\x10&\\xf4\\\nG\\x8a\\xdf(\\xd9\\x80\\x9e'\\xb4\\xb9\\xc8\\x8c\\x0fm,|\\\n\\xd7\\xa7I\\xfb\\xbe`&5.\\xd2\\xcd\\x94D\\xa6Z\\x84\\\n\\xb5\\xc9o\\x0b\\x1a%\\x9c\\xfc\\x9dN\\x09D\\x09\\x04\\x86\\xa1\\\n\\x86E\\x02\\xdf\\x1b\\xc5\\x9d\\x88R\\xa6\\xd3\\x1a\\xb7y\\xd3\\xf6\\\n 3]\\xf1C\\xfa@\\xd36\\xe2\\x9bc\\xb3\\xe7\\xd6\\x22\\\n\\xe6Un\\xb9\\x90B\\xff\\xa4\\xe5\\xb8z\\xd9\\xe9\\xc1\\xeaS\\\n\\xaf\\xd6\\xee\\xbfo\\xb2V\\xef\\xabI\\x83\\xe5?\\x8bl\\x01\\\n\\xbaY\\x99\\xa3\\xb1\\x07u?\\xac\\xf1\\xbe,#\\x94x\\xda\\\n\\xfa\\x13\\xfe\\xfbim\\xd3\\x189,\\xc1\\xcf\\xa2)t\\xf3\\\n\\xd0\\xf8\\x84+\\xab\\xdaK\\x15\\xdcH0>\\xfczf\\xdb\\\n\\xb7\\x09\\xcc\\x95\\x02tn4\\x1fu\\x5c\\x93m.\\xb6\\xe8\\\nI4\\xe7\\x15\\xd8\\x92\\xa8f\\x80\\x0d\\xc5\\xf1\\x04~\\x8e\\x91\\\nJ\\x9dc\\x16\\xc1\\x9cqf\\x13\\xa7\\xf5\\xf1\\xb8\\x93\\x0co\\\n\\x09\\x96u\\x8c\\xa8\\xd8\\x1cI\\xf38\\xc7>\\x16\\xdb\\xf9\\xaa\\\n\\xd7<\\xd1\\xb2\\x9dv\\xe6\\x1d\\xfb(\\x14u[.\\xaf\\x0e\\\nO\\xb0\\x9d\\xa0\\xb9\\x90\\x00\\x10y\\x85?\\xa7\\xd3\\x8c\\xec\\xa2\\\n\\xfbVl\\xaa\\xd3\\x1d\\x99N\\xf9{\\xc0\\x1fgM_\\x91\\\n\\xad\\x06\\x0a\\x9aB^w.a\\xc1?j1V\\xe6\\x1d\\\n<\\xdf\\x84\\xc1N\\xdaK\\xd0\\xa64\\xbe\\xe8$S< \\\n\\x18\\xa4\\x94\\xf6\\xf4xo\\xdd\\xdf\\xd4\\xc8\\xc2\\x02\\x04'\\xc0\\\nR\\xa8^.\\xd1\\xe2\\xbd\\xee\\xbb\\x95\\xcbO{Nf\\xb4\\\n\\x17s\\x92\\xe8\\x0eD\\xd3\\x0fj\\x0b\\x06c&\\xba\\x97b\\\n\\xf3\\x9cm\\xabX\\xff'C\\xad\\xac\\xa6Q~iU\\xbb\\\n\\x07I\\x5cYY\\x96_U\\xad\\xf8mV\\x9c5\\x96\\xce\\\n\\xe6*\\x0aJ\\x9fs\\xb60Y\\xb5^\\xe5jeJ%\\\n\\xb0:\\x02TC\\x03\\xb0k\\xd6\\x5cY\\xb1\\xba\\xef\\x18F\\\n\\x814\\xcah\\xca\\x87\\xab.6\\xbf`\\x8f\\x13i\\x10\\x92\\\n#AV\\xe7\\xd6\\xfd\\x0f\\xf2\\x1b\\x1eU\\xd4ppX\\xd1\\\n\\xe4Y\\x80\\xc8iCFuT\\x830)VM\\x8aw\\\n7\\x9b\\x85[\\x1eu\\xe6\\xe2\\xf6R\\x1d\\xbfX\\x822\\xcb\\\n$\\x05\\xfa\\xaa\\x8c\\xd1\\xca\\x8a3\\x82\\xe5\\x80E\\x0a\\x9a4\\\n \\xcaIz\\x03\\xcb\\xfb\\xf4\\xcc\\x964+\\xb25`\\xb6\\\n\\xdd\\x0e\\x07\\x9e$x\\xa4\\x87\\x9b\\xf2\\x871\\xe4\\xb6\\xbd\\xc0\\\nC\\xc5o\\xe9\\x92\\xbe\\x96F=\\xe2\\xe6p\\xe9\\xbd\\xba'\\\nj\\x1a\\xd2%\\xd8H\\xee\\xc9\\x85\\xc8\\xc7\\xe3\\x0b\\xe5\\xe9\\x8a\\\n.\\x01\\x80\\x8c\\xf6\\xe4d=\\xa0\\x89-\\xe50h\\x03\\xe9\\\n\\xb3\\xd6\\xe5[\\xfa\\xce\\xe8\\xce,\\xbb\\xac;\\xae'&A\\\nJ\\xb0\\xdb=*X\\x16\\xb0\\xbf\\xd0X\\xe0W,{\\x14\\\n\\x95,\\xdf8a.\\xde\\xad\\xc1\\xbf9\\xb5\\xbb\\xdc\\xb2R\\\n\\xb2o@,>\\x1b\\xe4\\x8b5\\xcel\\x96V9\\xcb2\\\n\\xec\\x9e\\x87\\x0ct\\x9b\\x0b@6\\xbd\\x8c2\\x17\\xcdS\\xd6\\\n\\x8dk5\\xf5\\x22o\\xd0\\xb1\\xc6';\\xb4\\xc5\\xd7B$\\\nO\\x10\\xf1\\x17\\xdfx\\xe2Q\\xf7\\xbc\\x00\\xefNcz\\xc3\\\n\\xc43\\x90R\\x80\\x90\\x7f\\x15\\x18\\xca\\xfd\\xf2\\xda\\xc8&\\xce\\\nY\\xab\\x11\\x9a\\xc4\\x97&\\xde\\xaa\\xc9Z\\xf5f\\xe7]O\\\n\\xdb>\\x0b.\\xc0V,<\\xb6\\x8fA#\\xfd\\xd4\\xe4h\\\n\\xeb\\x01:\\xb51\\x87Mf>]A5@\\xe8\\x1e\\xad\\\nZR\\xcc\\xe0\\xc6\\x08\\xeb\\xfd\\x177I;\\x8d\\x91\\xd5\\xd3\\\n\\xb61\\xe1~\\xe8\\xe7\\xfaR2U\\xa8\\xbd\\x99\\xde\\xc9\\x05\\\nw\\x93\\xaf\\x8d!\\xb8\\xdb\\xd3\\xb4\\xc635\\x87x\\xba\\x97\\\n\\x19\\xca\\xd3\\x1e\\x11\\xf6S\\x19\\xb4|\\x0e\\x8c\\x07\\x85\\x98t\\\n\\xc6L*J\\x159>\\xadz\\xe1\\x92=\\x08\\x5c\\x00'\\\n]\\xc10U\\x9f\\xf7\\xd2n\\xc5k,y\\xd2\\x9d\\x99\\xe6\\\n\\x1f\\x84\\x86\\x05\\xdd>\\x9a\\xd5q\\x89N\\x9f\\xecG\\x13\\x99\\\n\\xd6\\x86;\\x915\\x02\\x0a\\x0a\\xd2\\xeb\\x8e\\xc8\\x15\\xcc\\xc4\\xe5\\\n)\\x96\\x08d\\xf7\\x0c8j\\x08E\\x1b\\xe0\\xbfYR(\\\n\\xc1\\xe1\\xdb2\\x06\\xc0\\xb2\\xcc\\xac\\xd3\\xd0\\xbf\\x82\\xc7\\x9c{\\\nY\\x1c[@A\\x03\\x95\\xaa\\x83\\xa4\\xdf\\x89[Ie}\\\n\\xadr\\x16\\xaf}\\xd5\\xf4\\xd7\\xafX\\xec\\x8c[OP\\xaf\\\n\\xf2\\x85\\xd7h\\xd0f\\xa6J+TSu\\xaf;\\x04\\xf4\\\n\\x148\\x85\\x82\\xbbPX\\xa1A\\x0fZ.\\xf1\\x84<\\xd4\\\n\\xe8\\xd6\\xf8\\xcb\\xb0\\xdd}\\x8e\\xb0R\\x05\\xddbk\\x84\\xa7\\\n\\x0b\\xb8lZ\\xf1Of\\x1c\\xf6A(\\x9aq\\xc6W\\xf3\\\nH\\x03\\xa0\\xdf\\xa6\\xfc\\x8e\\xce\\xd4\\xaff\\xd6\\xe9Ced\\\n\\x0ds\\x0b\\xb0\\xa3]\\x0e\\xa3\\xcc8R\\x91\\xc8\\xa4F\\xd4\\\n\\x82\\xc4\\x0d\\x8a\\xfdYw?7`\\xc6\\x87\\xca\\x96\\x16\\xb1\\\n`aU\\x02\\x08!\\x97^\\x91\\x94v\\xdda\\xb6\\xee\\xf2\\\n+\\x99\\xa6\\x90\\x16\\xae\\x14lG\\xc6\\xd3\\xf25\\xc1\\xcf\\xa0\\\neL\\x1f\\xee\\x11\\x02\\x19\\x90s\\xac>\\xec\\xc7\\xdd\\xa0\\x80\\\n\\xdf\\xd5\\xec\\x81\\xecr\\x1a\\xe5\\xcb\\xe1\\x9dhi\\xba5\\x9d\\\n %\\xefQ\\x90\\xe9(\\x01Q\\x1b1)\\xdb@\\x1bC\\\nq\\x9b\\x5cD\\x80I\\x13\\xdf\\xc2E\\xdf\\x82M\\x1d\\x81h\\\n\\xb8\\x07\\xe3+_Y\\x06q\\x09\\xc5\\x7fX! O]\\\n\\xc9\\xbaL\\x07\\xc3\\x11\\xd5\\xdbP\\xd0\\xf9\\x1b\\xb1\\x16\\x94\\xd8\\\nJ\\xa5_N\\x13`\\x93qU\\xd6H9\\xb2\\xc2&\\xc8\\\n\\x057VhL\\xfb6\\xe5w\\xda\\xed&\\x03\\x14d\\xa1\\\n\\x95\\xe9\\x1b9\\xf0\\xfd\\xf3\\xe1\\xeaz\\xe0yV\\x12\\xa4|\\\n\\x9b\\x92f\\xc16h\\xbai\\x12\\xa2\\xe9\\xf92}\\x1dz\\\n7\\xcf_{\\xb0\\x9b\\xef\\xa7\\xb0W\\x0b\\xef}x?8\\\nI2\\xfe\\xab\\x81\\x0e\\x92\\xf4\\x22y\\x83Wc\\x94\\xccs\\\n\\x0f\\xad\\xe7\\x85I\\xc2\\x82r{\\x03dx\\xe8\\xad\\x8a\\x84\\\n\\xb0\\x83\\x8a\\xe8\\xc6\\xae\\x80\\x00\\xf3@\\xe4\\xf8\\xbc\\xbdjQ\\\n\\x83U\\x84\\x14l\\xf4\\xaaW\\xf5Vy\\xc1\\x88\\xbc\\xd5d\\\n\\xd8\\x8a\\xfbI\\x85\\xaa\\xe05a\\xa5\\x81e\\xd5pK\\xdf\\\n\\x84\\xbehCB\\x87\\xa5\\x1d`\\xc5\\x06~!;\\xe0\\x07\\\n\\x19\\xaa\\xd1\\xf7\\x84>\\xe4\\x00Y\\x95\\x0d\\xb8\\x11\\xab\\x11\\xac\\\n7\\x92\\x065S\\x89Q\\xef\\xd1\\x93S\\xd5\\x89\\x19\\xdd\\xeb\\\n\\xd7\\x0c\\xcf-\\x97\\xb2P\\x14\\x9d,\\xa2u\\xcf\\xdeG\\x03\\\nK<\\xca\\x11\\x9c\\x82\\x85\\x98\\x90o\\xca#\\x08\\x8a\\x8f\\x92\\\nA\\x97\\xda\\x7f\\x9c\\x5c\\xed\\xbe\\xeeW\\xbc\\xcaf\\xf8\\xfdi\\\n\\xe3\\xfc|\\xf8\\xbe/k\\xbe\\xa2\\xd1\\xf9\\xb9\\xa1R\\xe5\\xec\\\n\\xfb\\x8d\\xe6\\xfb>\\x007\\xa6\\xdf\\xf6a=d\\x1f\\x0dl\\\n-\\xbbi\\x08j\\xb2\\xb8U2\\x1dp\\xf6\\xfd(\\xd2\\xa9\\\n\\x08\\x0c\\x10.\\x07\\xdaMC1\\x03\\xf1\\xc8\\xb8+\\xa3\\xa2\\\n\\xb3\\xe5\\xbc\\x93\\xc6F\\xdc\\xffi\\xc4\\x8a\\x8eW^\\xc6\\x9d\\\nq\\x12\\x89\\x03\\x09B\\xe1\\x05\\x1a\\xb1\\x11@O\\xc2\\xe6*\\\nl\\x1a\\xab\\xef\\xfb\\xeb\\xbe\\x0f\\xb2\\xd8b\\x1c\\xe6\\x1cP\\xd3\\\n\\xbd\\xd1`\\x9c\\xe0\\xf4!T\\x9b\\x8cp\\xb9\\x16z\\x971\\\nL\\xef\\x5cF=\\xa4\\x1f\\xdaOem\\xb3r\\xde^\\xad\\\n\\x9cW\\xe1_\\x7fs\\xca\\x7f\\xbfM\\x06\\x09.\\xd1\\x8f\\x07\\\n\\xc3\\xe4!liF\\x9c\\xc01\\xc8\\x8cw\\x0a\\xa3\\xb7\\xa5\\\n\\xf7\\xcc\\xc4/\\xdc\\xef\\x81\\xae\\x9c~\\x15S\\x88\\xb7I\\x07\\\n\\xbf\\x92\\xd0K\\xba^\\xd0\\x06\\xc6\\xc2@F\\x8e\\xd3P\\xc7\\\n\\x02\\xf7DQ\\x1c\\x86\\x93x\\x10N`\\x90\\xc6\\xa7\\xe9\\x08\\\n\\x8b\\xff\\xe4\\xb7~\\xfa+?\\xf9\\xe3\\x9f\\xfc\\xdeO~\\xfb\\\n\\xa7\\xff\\xf0'\\xff\\xcc\\x03\\xb9:\\x1c9\\x00\\xf0=\\x865\\\n\\xbc;\\x86\\xbc\\x8b+'\\xeb\\xeb\\xdf\\xfb\\xf1?\\xfc\\xfa_\\\n}\\xfd\\xc3\\xaf\\x7f\\xf7\\xc7\\xbf\\xf4\\xe3_\\xfe\\xfaO\\xbe\\xfe\\\n#\\x84i\\xb5\\xdc\\x0a~\\xfb\\xa7\\xbf\\xf2\\xd3_\\xfdw\\xff\\\n\\xd5\\xbf\\xffG\\x98\\xe9V~1H\\xbe\\xba\\xeeu\\x93+\\\n\\x0f\\x1d\\x84\\x9d,`\\x9d\\xb8\\xf3\\xa3\\xff\\x113\\xda='\\\n\\xe7\\xc9\\x8f\\xfeE\\xf7j\\xad\\xfdg\\xbf\\xfeo\\xff'\\xf8\\\n\\xdb\\xbd\\xfa\\xab?\\xfe\\xe1\\xbf\\xfd\\x15\\x84\\x1b:`\\x7f\\xf6\\\nk\\xc9\\x9f\\xff\\xe6(\\xed\\xc6\\x1e\\x06Gq\\xb2\\xdaqw\\\n\\xf8\\x02\\x93\\x13'y'\\x19\\x8f\\x86\\xadk\\xccH\\x7f\\xe0\\\n\\xe4\\xfcb\\xfcU\\xfc\\x22\\x85\\x8c\\xa4\\xeb\\xa4\\xefv\\xaf:\\\n\\xe9\\xf0\\x1a\\xb6\\x19\\xc3}}\\x1c\\x17$n{w\\x87 \\\n\\xd0\\xe2\\xee\\xa8\\x87\\xe5\\xdd6&\\xb0B\\xfd\\xe8\\xf7z\\x1d\\\n\\xc8\\xb9t\\x9b\\xf8\\xd3_\\xfe\\xc9o\\xc1\\xa0\\xfc\\x90\\xa8v\\\n\\x99:y\\xc3q\\xef\\x06\\x1bs\\xe9\\x12\\xf3\\x12*\\xf9\\xd1\\\no\\xc5\\xe9\\x10\\xb2\\xae:N\\xd6\\x15p\\xca\\x15\\xd6\\x7f\\xed\\\n\\xf6\\xf8/\\xfe\\xe9_\\xfc\\xd7\\x7f\\xf1\\xdb\\x7f\\xf1\\xdf\\xff\\xc5\\\n?\\x87\\xbc\\xd4mA\\x8a~\\xba\\x1d\\xe0\\x991R0u\\\n\\x99\\x22\\x85\\xc1\\x01\\x9e@\\x94\\xcf\\xddb\\x7f\\xfd\\x1b\\xff\\xf3\\\n_\\xff\\x93\\x7f\\xf1\\x1f\\xff\\xf9\\xff\\x00Y/\\x5cj\\xfd\\xe5\\\n\\xef\\xff\\xfa_\\xfe\\xfeo\\xff\\xe5\\x0f\\x7f\\x0d\\xff\\xfd\\xfd\\xdf\\\nD\\x00\\x97R\\xff\\xcf\\xaf\\xff\\x93\\xff\\xeb\\x0f\\x7f\\xe7\\xff\\xfe\\\n\\xc7\\x7f\\x00Y\\x9d\\x0b'k\\xffG\\xff\\xcb\\xe8\\xab\\xe4b\\\n\\x9c\\x0c\\xae\\x12\\x1e\\xa3\\xce\\x0b\\x97*?\\xfd\\x95\\x7f\\xff\\xeb\\\n\\xff\\xee\\x9f\\x11\\xbd:nc;)L\\xa7\\x97\\xe9\\x9f\\xff\\\n\\x10\\xb2n^\\xb8\\x1c\\xfc\\xa7_\\xff.\\xf0\\xed\\x1f~\\xfd\\\n\\x07_\\xffo_\\xffk\\xcd\\xc3]\\x97|\\x07I\\x1bH\\\n\\x11w\\xdbH\\xda\\x9e\\xcb\\xde\\xbdV\\x0b\\x88\\x01\\xbb\\x88\\xa0\\\n\\xef\\x16\\xea\\xf7:C\\xe2\\x99\\xfe(\\x93>\\x18\\x8d\\xaf\\xc6\\\n?\\xfa\\xe7\\x88\\xcc\\xeb\\x8f\\xd6.\\x06^\\x09\\x00\\xa8@K\\\n\\x0f\\x06\\xf10E\\x06\\x19\\x8c\\x1d(\\x98q\\x7f\\xef\\xc7\\xbf\\\n\\xcc-\\xfe\\xfa\\x8f!\\x7f\\xd8r\\x89y\\xd2\\xea\\x8d\\x86\\x94\\\n\\xee\\x8e\\xc20m\\xa5\\x1d\\x99\\xcfC\\x97\\x1a\\xc3\\x0eh'\\\n\\xdd?\\xfb5\\x9e4\\xc3NA\\xe6\\x9f\\xff\\xa6\\xce~\\xe9\\\nfC\\xe6\\xf0\\x05f\\x8c\\xae\\xddQ\\xff\\xe3_\\xf9\\xcb?\\\n\\xfa\\x8d\\xbf\\xfc\\xa3\\x7f\\x8aY.\\xc7\\x9e\\xfe\\xe8O\\x07/\\\n~\\xf4[\\x09\\xe4\\x8c\\xdd\\x96\\xfc\\xf8\\xef}\\xfd'?\\xfe\\\n%\\x90+\\xbf\\x81\\xa3\\xf2\\xe3\\x7f\\x04\\xbd\\xfc]\\x80z\\xe9\\\n\\x0e\\xf9i\\xfaW\\x7f\\xf2o\\xbaWK\\xcf\\xd2\\xbf\\xfaW\\\n\\x7f\\x7f\\x84\\xe4\\xfc\\xeaz\\xed\\x1a&\\xb7K\\xd0\\xff\\xf0G\\\n\\xbf\\xf3\\xd7\\xff\\xf8\\xef\\xff\\xa7?\\xfd\\xd5\\xff\\xf3\\x7f\\xfd\\xa5\\\n\\xff\\xf0\\xaf\\xff\\xdb\\xff\\xf4\\xa7\\xff\\xc0\\x80\\x8e\\x5c\\xd0\\xbf\\xfe\\\n\\xbd\\x7f\\xf0\\x1f\\xff\\xe5\\xefx3tf\\xa4\\x85-\\x5c\\x7f\\\n\\x0fE\\xfa\\xf4|\\x02\\xff\\x9e\\xcf\\xe0/\\xed\\x95V\\xc3\\xf3\\\n\\xf7P\\xd2o\\x86\\xe7S\\xf8\\xe7=\\x95\\xfd^uz\\xf6\\\n\\xfd\\xf3Y\\xd3\\x7f\\xdf\\xc7\\xcf*\\xee\\xa9N\\x8e\\xf6\\xf7N\\\n\\xc3{\\xb0vx\\xf1\\xeb\\x0bO9\\xf0T^\\xc3:\\xa4\\\n\\x8e\\x02,s\\x07E\\x81\\x1a$W\\xc9k\\xa3\\xc7r`\\\n#.\\xc8Y\\xb3\\xb0\\xa4\\x88u\\xf5\\x00\\xb6\\xdd\\xac\\xe9w\\\n@\\x86\\xcb\\xa5l\\x82\\xaab\\xc2^\\xb7\\x9d\\xbc\\x86T^\\\n-9\\x9dVq\\xc6\\xe77|\\xb9\\xc5\\xc2\\xf7\\xd4\\xa5\\x09\\\n\\xbc\\x83\\xc3\\xf2\\x8c\\x1b\\x94J@\\xb3\\x86\\x09\\xbe\\x1fX%\\\n\\xe4\\xa2\\x94\\xdcW`Xu\\xc9\\xcc\\xe7\\x16Y\\x08Vy\\\n\\x05\\xaci\\xc3\\x87\\x13\\xbe\\xa5\\xac\\x09\\xba\\xc6Y\\xf0\\xa5\\x13\\\n\\x91\\xae\\x7f\\x0d\\xb3\\xc6\\x1c\\xed\\x96l\\xf1\\x04jS\\xc5\\xd0\\\n\\xc3k''\\xdd\\x14\\xf6\\x0b#\\x0bI\\xe8d\\xb3\\xbe&\\\n\\xa6\\xd2\\xde\\x8bq\\xff\\x88\\xa0,\\xf8\\xa0,:\\xcb\\x86\\xcf\\\n\\x11)\\x0d\\x9e\\xdc\\x18R\\x80\\x97v\\xef&N\\xbbr@\\\n\\x13\\xdc\\xa8\\x0b\\xa3Qq/\\xd8\\x16\\xa0|Orz\\x11\\\n#[Y\\xb1\\x83\\xac\\xe0\\x0eQ\\x82\\xbd\\xe0\\x1d\\x87\\xa2\\xee\\\ns\\xb1@A+5r0R\\xd6d\\xe4i\\xd5jq\\\n\\x1d\\xa4\\xf9\\xe2K{\\xf0\\xda?\\xc1\\xbb\\x0d\\x8a6\\xe4Z\\\n\\x22gR4\\x86\\xebx\\xb05\\xaa\\xd4H\\xf1n}\\x16\\\ny5\\xd0\\xe1[\\x9fF\\xde'\\x9e\\xaf\\x808&\\x8d\\xfa\\\nZ\\x83mu.l\\x8e\\xca\\xc4+\\xf2\\xaa\\x14_\\x8f#\\\n@\\x9d\\xe8[6\\xb1\\x09*t-4\\xf6U\\xac\\x06\\x09\\\n\\x83\\x01\\x9b\\xde\\xa61\\x1a<\\xd0)rkg\\xc3\\xff&\\\n\\x1a:\\xd1\\x9e\\xd1\\xa6\\x85\\xda-z\\xc2\\x96\\x1bPkI\\\nJ\\xf9 \\x8c@\\xbd=\\x9f\\x81\\xca\\xd9P\\xfa6\\xd92\\\n\\xfb\\x9d\\xf1 \\xee`w\\xb5b\\xcd\\xfe%\\xdc\\x19N\\xdc\\\n@\\xca:\\xc1Y\\xba\\xa6\\xd3\\xde\\xe6\\xe6&[\\xfe&*\\\n\\xbe0\\xe1\\xact\\xa1\\x9b\\xcc\\x1e\\xf4=\\x94\\x1a\\xeeY\\xfa\\\nu\\xe5\\xfb \\x15\\xdfk\\xfa\\x95\\xf7\\xde\\xf3\\xdf\\x7f\\xef|\\\n\\x8a\\xda\\xf6\\xb7\\xeb\\xdf\\xdex\\xef\\xff\\xfd7\\xff\\xd2\\xf3\\xb5\\\nG\\xe3\\x14Z\\xdd\\xfd\\x0c\\x83ut?\\x15dJ>\\xba\\\n\\x94r'\\xa3\\x80\\x9eu\\xad\\x1a\\xcf\\xc7\\xbb\\x0fw\\x1fb\\\n=S\\xd86\\xd8\\xd3*t{4\\xe3`h&\\xf1=\\\noU}\\xcc$\\xf8B\\xc1\\x80QY2S-\\x0b^\\\n\\x115\\xcc\\xf3\\xbc\\x9d\\xf4$\\xfc\\x16\\xcf)\\x14\\xc7\\x98\\x1b\\\ny\\x9e\\x9a\\xb3z\\x96b\\xfa\\xaa\\xae(X]\\x85\\x0c:\\\n\\xc4\\x14A\\xa5Xb\\xb3\\x22\\xc8X\\x22b\\xba\\x1f(\\xfc\\\n*K.\\xd8\\xeaB\\xaaV\\xee\\xba\\xa9F\\xf9(\\xd2v\\\n\\x0c\\x13WV\\xca\\xb1\\x1b\\xc9\\xc5\\xdfV\\xc8T\\x16\\x15\\x02\\\ngL\\xc0f\\x11\\x92\\x18.\\x82;\\x1f\\xd7\\xa1D<K\\\n\\x01\\x9a\\x0a\\x1cY\\x15o\\xca\\x9b\\xd4F\\x91\\x91^y\\x06\\\nHl\\xe6H\\xdc\\x06\\x1a%u\\xa4m\\xb4\\x1e\\x02\\xdc\\x99\\\nt\\x83B6\\x127\\x934\\x8f\\x0a%\\xbd\\xaa\\xa4!}\\\nT\\xd7=\\xad\\x9b\\xcdB\\xad'\\xf1\\xe0E\\xbb\\xf7\\xaa+\\\nk\\x0d\\x95\\xd4Q\\x99\\x14Krp\\xa6\\xb2UJU\\xb6\\\n\\xb9\\xb02\\x19\\x1a\\xfb\\x8a2]\\xe7\\xf7C\\xaaV\\x8e\\xe6\\\n\\xa3{\\x9b\\xf6\\xaaz\\xa6\\x1c+\\xa4\\x9e`\\xcer@ \\\n\\x1bM\\xbf\\xe9\\x87\\xce\\xc2l\\x06\\x8a{R\\x92\\x99\\x89\\xc9\\\n\\x06J\\x01\\x13\\xe7H\\xa9Z\\x95\\xf7\\xaa\\xfe\\xb4r\\xfe\\xfe\\\n\\xa4\\x1e\\xdc\\x9b\\xf9\\x15T\\xac\\xaa\\xa0C\\xadn\\xfa\\xe7\\x1b\\\n\\xd3\\xca\\xdf]u\\x93>\\x98\\x9e\\x9f9\\x09\\xcd\\xf3\\x0a\\xec\\\n\\xf2\\xcf\\x87\\xe7>^\\x11\\xf1\\xd7\\x83\\xcc Xq\\x8cy\\\n4\\x9c\\xe56\\xcf\\xb7\\x14\\xeb\\x81\\x17=. \\x92\\x8a(\\\n\\x94i\\xbc/\\x1bl\\x99]5\\xe4\\xfa\\xb25\\xf0c%\\\nUW\\xeb\\xcdM\\x8e\\xffP$\\xd6\\x04f\\xa3\\xe9\\xb43\\\n\\x98\\xc3&:\\x9c\\x84\\x04\\x90\\x08\\xf8\\xe3\\xcc\\xbb\\xf0\\x02/\\\n\\xa5\\xff\\x9ag\\xa6n}\\xbd\\xb4\\x19H\\x00\\xd1f\\x80j\\\nj\\x0e\\x02O\\x0e\\x08\\x13\\x22R\\xa0\\xbe\\x16\\xa5\\xab\\xf7n\\\n\\xd1\\x8d\\x0f\\x9a\\x8e\\xa11ggd3\\xe3\\xbbv\\xd5\\xc3\\\n\\x00\\x81V\\x1bu\\x13\\xef\\xdf\\xa2\\x89\\xf7\\xdf\\x99\\xd2^\\x0c\\\nu\\xa3\\x1be8\\xa7\\x9a\\x0f\\xb9\\x1a?\\x18\\xc5xM=\\\n\\xf4\\xbe\\xbc\\x80\\xbd%\\xd9#\\xb8\\xcd\\x15un\\xa5\\x17\\x04\\\n\\x1d#\\x84+\\x82\\xf1\\xa8\\xd8\\xd7\\xd3Y\\x16H5*\\x9c\\\nV^\\xa3\\xf4yFR\\xfb\\x03}D\\xea\\x07z\\x01\\xc0\\\n\\xd6}\\xc4\\x07mN\\x03 13y\\xefT\\xef,\\xb0\\\n\\x01\\x9d\\xe8I%%&fe\\x1a\\xaa\\x98\\xd5C\\xeb$\\\n\\xdf%l\\x01\\x82\\xb2\\xb1\\x93\\xbd\\x0d\\xc6\\xf0btg\\xfc\\\n\\xb7\\xa9v\\x12\\x19\\xf1:T'\\xdcJf\\xd9KA\\xc1\\\n\\x96Cw\\x80\\xff\\x92s\\x19\\xfe\\x88\\xbc/\\xbd\\xd2F\\xc9\\\n\\xd9\\x1c\\x03\\xa6m\\x10\\x1e\\xd3)\\xc0\\xc3Z\\x84_u\\xfc\\\n\\xf2\\x8c\\xc7\\x90q\\x17\\xda\\xa1\\x12R\\xd0o`\\x92\\xf3\\x90\\\n\\x0aF\\x17@\\xdfJ\\xba\\xf3J^)\\x0a\\x0bZ\\x0ew\\\n\\xf4l\\x10\\xd3\\xe0\\x99 \\xc6LZ\\x5c\\x0d\\xdc\\xca\\x8a\\xf9\\\n]\\xe5\\xfa\\xc8\\xd9\\x0d\\x7f\\xa0\\x09?\\x9f++6}P\\\nMy\\x10Yr\\x9b\\x0d\\x03\\xa5\\x9a\\x02\\xfb\\x15>\\x1a(\\\n\\xc8\\x11\\xe1\\x1d\\xe5\\xf3\\xf8\\xe8P)b\\x04\\xc5\\xce+\\x0f\\\n\\xf3\\x1e\\x8d$\\xdb]\\x7f\\x91v:h\\x18\\xd7\\x8f\\xecu\\\n\\x07\\xcb\\x11\\x98oz\\xd0\\x9a\\x8a\\xbf\\xa6S\\xf2\\x861\\xc1\\\n\\xcd\\x9f\\x830C\\x16#W\\xea\\xc8\\x83o\\x8f\\xef\\x97h\\\n\\xc5]\\xd4\\xf6\\x10V0\\xa9\\xe7\\xbc\\x89Vi)\\x14U\\\nJ\\xc7\\xa5\\xaaM\\xbdr\\x91Q\\x7f\\xafz\\xebb\\xc8g\\\nP\\xe0\\x9ab[\\xb0\\x0b\\xe6S9\\xd7)Mw\\x9e\\xbc\\\n8\\xe5\\xf6\\x1b\\xd3\\xad\\x92\\x0f\\xc1L\\x84P\\x06\\xd0h\\xb9\\\nf\\x05\\x80\\x98\\x99\\x0b\\xf1\\x88W\\x02bp\\xac(L\\xe0\\\n\\xe1a>\\xcei\\x94\\xee\\xe8 `pw\\xcee\\x0fH\\\n\\x8b\\xf9TC\\x81\\x91\\xdc\\xd9D^\\xea\\x16\\x22\\xab2_\\\n\\x07\\xa8\\xcf]\\x82\\xa1[\\xe3\\x84)\\xe0K\\x10\\xdc\\x19\\xb9\\\n\\x03!\\x1c\\xees\\x04\\x0d\\xd5\\xa1\\xe9t\\xc2A3\\x7f\\x96\\\n\\x93\\xcalMn\\xd1m\\xa5\\xdfi\\xf8[\\xf58\\xd3-\\\n\\x7f6+)c@\\xf0p\\xf9t\\xf0\\xc6}u\\x03\\xfe\\\n\\xc9O\\xb7K\\x5c\\xaft\\xc8q\\xbcQ\\x8a\\x87N\\x97\\xc0\\\nw\\xf6\\xa9\\x12\\xf6\\x12\\x1dB\\x07,\\xe9\\xe4\\xf6\\x19\\xa44\\\nr\\xedf)x\\xe6A\\xf5\\xea\\x86J\\xb7\\x19\\xd8\\x85g\\\n\\x12\\x8e|\\x9fOVt\\x1be\\xa2L\\xf4\\x88\\xb1\\xb2\\xc8\\\n\\xbfe\\x0c\\xaa\\xa3\\xde~\\xef\\x95\\xbe\\x84\\xb7\\xec\\xb0\\xa7\\xe2\\\nL\\xb5\\x8d\\x19^\\x1f\\xf5\\x86\\xaa\\xa0\\xb6\\xc5\\x1d\\xc2vf\\\n\\xcd#\\xc6X\\xc3\\x10k\\x02'\\x03\\xd1p\\xabc\\xab\\x03\\\n\\xae~\\xb5@\\x01\\xceX}\\xbd\\x89\\xfbQQ\\xf5U\\xca\\\njX,\\x1eQ\\xcat*\\x0c\\x9f#\\x19\\x07>\\xa8x\\\n\\xb0\\x96\\x80\\xb2&NyL\\x9d%\\x1a\\x16/\\xb0g\\x1e\\\n\\x12p\\x0e\\xf9L\\x10<\\x86P\\x19\\xba\\xde'Iw,\\\n\\xd1\\x98\\xac\\xe5\\x8d\\x9cq0\\xcb\\x93C\\xffA\\xdc\\x1dv\\\nb\\xf7\\x05\\x19\\xe9\\x81\\xe2c|\\x9b#\\xc5\\x0ck\\xe3X\\\nD\\x92 \\x1d\\x1e$\\xaf\\xf0\\x1e5\\x82(\\x9d\\xae\\x08\\x12\\\n\\xddk\\x04\\xb8\\xc6J\\x98\\x9aqRJ}F\\xf4\\xba\\x96\\\nX\\xdd\\x9c\\x1c553\\x05T2\\x17\\xc4\\xfa\\x8br-\\\nO$\\xe3vC\\x8b\\x98\\xd5Yn\\xa1\\xd1\\x01\\x90j\\xd5\\\n\\x1b\\xa2\\xaa\\x93\\xb4M\\x0e\\x15<\\x0a\\x98Pa'\\x08\\xe7\\\n2R;}\\xa9\\x04/\\xb1J\\xb9\\xbc\\xd5\\x02\\x1e?I\\\n\\xbe\\x10\\x87^\\xf6\\xba\\xa3\\x87\\xf1M\\xda\\xc1\\xa8\\x95\\x80\\x8d\\\n\\x1d\\x8f\\xac\\xe4(\\x07\\xe8\\x07V\\xd2\\x0e-l\\xd0\\x14\\xa7\\\nx[\\xa5FE\\xa0\\x817\\x18\\x91\\x95k!\\x1et}\\\n\\xd8\\xea\\x00\\x7fG\\xde \\xbd\\xba\\x1ey \\xf1\\x02\\xc8\\x9e\\\n\\x05\\xa69\\xd9h\\x90w\\xa3\\xc4f\\xae{\\xe2\\x08\\xec4\\\n\\xea\\x9b\\xab\\xc3\\xa0\\xe4j\\xd8,f9\\x08\\xbc\\xddpJ\\\n\\x0d\\x8cm\\xd3\\xf9\\x02\\x94!\\x08\\xaa\\xeef=\\xdc\\x98\\x05\\\nl\\xbe\\xfc\\xa6\\xeacl\\x9b\\xce\\x17\\xd6\\xd7\\xb5\\xce\\xc3\\xc5\\\n\\xf38\\x02E$n\\xbf\\x09\\x97\\xeb\\xc0>W!F\\xea\\\n\\x0cZ\\xe3\\xc1\\x00\\xbd\\x97\\xc8\\xc5x$\\x0e?\\x0f\\xc6W\\\n\\xe17\\x14\\x12e:\\x95\\x9bZ\\xae\\xd3\\xca\\xcaJar\\\n\\xc5{\\xd1\\xeb\\xfe`\\x9c\\xa0\\x0f\\xb3x\\xef\\x0e\\xc3\\x89\\xf7\\\n-\\xe9\\xc8\\x97\\xd2\\x11/\\x9c\\xf4{C\\x9a\\xca\\xa1w\\x99\\\n\\xbeF\\x1f\\xeaNr\\x09;\\xc4z\\xff\\xb5\\x17\\x5c\\xf4F\\\n\\xa3\\xdeM\\xe8m\\xe0\\x87\\x87\\x02\\xfaj\\xd0\\x1bw\\xdbk\\\n\\xad^\\x07\\x10\\x87\\xde\\xb7v?\\xc4\\xff!\\xe4\\x00/\\x83\\\nb\\xb1\\xa5a\\xaf\\x03\\xdd\\xf8\\xd6'\\xf7\\xf1\\x7f\\x1e\\xda\\x5c\\\n\\xae@\\xd7\\xf2j\\x88\\xa4\\x0f\\xe2\\x14wd\\x88r\\xe9c\\\nB\\xfb\\xd5\\x1a\\x9d\\xc7\\x00\\xb6zm\\xc3\\x0b\\x08u\\xe8\\xc1\\\n\\x06\\xb5\\xf5\\x02r\\x91\\xcf\\xd6\\x86\\xe9W\\xd0T\\xef\\xe3\\xda\\\n{\\xf8hC{t\\x1dz\\xb8NC\\xf6\\xab\\xebt\\x94\\\n\\xac\\x0d\\xfb\\xb0\\xa5\\x07\\x80n\\x0f_\\x0a\\xc2\\xa36\\xd3\\xd1\\\n\\x93\\xbd\\xdd/\\x1f\\x0e\\xe2\\x1b\\xb7\\xaf\\xf1\\x05\\xb4\\x12\\x86\\x03\\\n\\x96\\x93^?\\xacq\\xa7k\\x0ay\\xcdmX\\xbdV\\xd7\\\n\\x1d\\xa4\\xac\\xe2.\\xe1\\xd7\\x0c\\x1d\\x0ez\\xaf@V\\x02\\xb9\\\n\\xb1n\\xc3\\x9d\\x92n\\x9c\\x0b\\x95\\x1b\\xfb\\xcd0M\\x1e\\x22\\\n\\xed\\x8f\\xa4y\\xc05\\x91\\xf1lQ?\\x9e\\x00?M\\xa7\\\n5\\xff\\xd3\\x8f\\x82\\xdb`\\x00\\xd9c\\xcbo\\x89\\x0f\\x22\\x1e\\\n\\xabyFhV\\x15q\\x22C\\x1c?W\\x13\\xea\\xe5/\\\n\\x86\\x91\\x87q\\x90\\x90\\xa3c\\xf2*\\xb4\\xbcp0\\x09[\\\n:\\x0b\\xb6\\xe9F\\xe1\\x9c\\xfe\\xdf\\xaeY\\xcc\\x83\\x91W\\xaf\\\n\\xdeOn\\xbc\\xe0n\\x85qX\\xa1(\\x14\\x9ce_\\x00\\\n\\xb4\\xbc\\xbc\\xf9\\xa7\\xba\\xe0MS\\x9b\\xd6\\xdce'l\\xcf\\\nt\\xbal\\xf2\\xd5\\x83`u\\xed\\xbb\\x05\\x92\\x9c\\xfd\\x88%\\\n\\x9e\\x1a\\x0a\\xfe~\\x8c\\x22\\x01\\x05\\x81B\\x0e\\xa9E\\x8fl\\\n\\xe0{\\xa6\\xda\\x07X\\xb7_]\\xaa#\\x87?)\\xbd\\xa9\\\n\\x91\\x1b7\\xbe\\x90\\xed4\\xcb*Kn~#\\xd3\\xbb\\x91\\\n\\x87X\\x13+\\xe6\\x16\\x11#\\xf1h\\x14\\xb7\\xaew_\\xf2\\\n\\x9b\\xa9\\x15F\\xc2\\xb7\\x89\\xccO\\xe0\\xf8\\x9d\\xf4e\\xc5\\x8d\\\nj\\xe4\\x8b\\xaf\\xa1q\\xaf\\xf5\\xd26nC\\xb1\\x9c\\xac\\x81\\\n\\x05<\\xe6\\xe4\\xf3,\\x8b\\xec$\\x9ekN\\x92\\xcc\\xb8\\x88\\\n\\xe7\\x9f\\x9d\\xf3\\x15\\x1f1\\x83$\\xa9\\xbb\\x19\\xd7\\x09.\\xb9\\\nR\\xa2\\x92\\xef\\x0a\\xa5@\\x17\\xd2v\\xe4\\x15\\x88\\x8e O\\\n\\x9d\\x8a\\xd7\\xeb\\x0e[\\x83^\\xa7#*\\xe9\\x13\\xe8;A\\\n\\xfb%\\xd0\\xa0\\x88\\xa2\\x1c\\xcbA\\xbb\\xdf:\\xbc\\x01\\xb2J\\\n\\xbe\\x89:Ok'\\xc3>^\\xce\\x04\\xd9\\xd7M<'\\\n\\xd02\\xf2\\x8d\\xba\\xcc\\xef\\xf0\\xd0\\xad\\x9c{=\\xd2O\\xd0\\\n\\xb9\\x88\\xeb\\xb7L\\xd9\\xc4\\xd5\\xca\\x82\\xf1\\xb2\\xf4\\x22\\x0a\\xe4\\\nyz3\\x8e\\xd5:\\xc4\\x15\\x1e\\x0f\\x18\\x9b\\xc5\\xcd\\x9b\\x92\\\n\\x92\\x92\\xc6\\xf9 \\x81\\x8dO\\x82jT\\x1e\\x92l\\xad\\x98\\\n\\xe4\\xf4\\x07\\xf8\\x9f\\xd5*M\\xd2\\xac\\xc6\\x83\\xec\\x1a\\x15K\\\n\\xb6M\\x87\\xa7\\xc3\\x9c\\x10\\x96\\xce1o\\xe5pPj\\xc3\\\n\\xe6;\\x12@\\x88\\xaa\\xca\\xbc\\xb2\\x0f\\xdf\\xab^\\x96ma\\\n\\x0d\\xb2\\x81N{\\xfd<\\x0c-M\\x0c\\xd5\\xea\\xa4\\xd0\\x86\\\n/0\\x81\\xe1\\x84\\xa1\\x19\\xdc\\xa2\\x8f\\xcb\\xfcV\\xd9\\xc7\\x94\\\nB\\x85g\\x81Xj\\x92\\x5c\\xec\\xd5\\x9c7\\x83\\xed\\x0eX\\\n\\xfdR\\x87hU\\xe0t\\x91\\x17T\\x1c\\xd7I\\x1aY/\\\n\\xc0c.mc\\x1d\\xd2\\x0b\\x87\\xb8p\\x14HsAF\\\n\\xd7A@\\x02\\xf1\\xf5\\xae\\x94\\xc1\\xd3\\xf6\\xa6s!-\\x13\\\n\\xaa\\x222Z\\x1et\\x87\\x8b\\xe2Q\\x9d\\xbf\\xea-\\xa10\\\n\\xd5s@\\xe0\\x9d\\x0blh6\\xf3\\xfc\\xd0;R'8\\\n\\xa3k\\xa7J1\\x00[\\xb5\\x9a\\x94l\\xc5G:'_\\\n\\xb7)\\x15d\\xbeU\\x0bN\\xdf\\xf4q\\xcbjZ\\xa0\\x16\\\n\\x8f\\x11g\\x8c\\xac6XI\\xd9F\\x9c\\x9a\\xac|+\\xac\\\nrA6\\x81\\xdb\\xc1\\xd03\\xbe\\xcf\\xb9\\x0dZ\\xdfhX\\\n\\xf6h\\x9a\\x22\\xa7\\x9dfu\\xd3N\\xb6\\xaa\\x99\\xb9\\xee\\xdb\\\n\\xc2&T\\x1d_\\xd8\\x97\\x97\\x08p\\x17\\xd5U\\x9d\\xbb\\x92\\\n\\xf3!5tWg\\xbc\\x8dm\\xc8\\xe1\\xab\\xe75\\xca\\x8f\\\nw\\xd9\\xfb~\\x02`\\xf8\\x0bO\\xcc\\xe6\\x9a\\xc7\\x951\\xdc\\\n';\\x10\\xd1\\xaex\\x22\\xc8\\xf1gQ\\xa68\\xd3\\xdf\\xca\\\n~\\x94\\xc9Q\\xef\\x96X\\x91\\xde\\xa3\\xc8\\xea\\xb6\\x82K\\xda\\\n&4\\x8d\\x9b\\x1e\\xd5\\xfc\\xa00cu5s\\x11\\x96\\xb2\\\n\\x89\\xf4I;(\\xb5c\\x9d(\\xf3K\\x90\\x1b,\\xd7\\xac\\\n\\x15tg\\xeeJ\\x84\\xd7\\xf30\\xa8i\\xeef)\\xe5\\xf8\\\n.\\x8bp\\x92\\xdd2}\\xe5\\xc1Iea\\x93\\xd0\\xdd\\x85\\\n\\xc8\\xb0\\xb6\\x91A\\x96\\xe8\\x09\\xf4\\xd6\\xca\\xc6\\xd0\\x85\\xfc\\x0c\\\n\\xf1\\xba\\x1a\\x8fl\\xe8\\x02\\xbe\\x1bf'\\xd9E\\xect|\\\n\\xa7\\x22y\\x19u\\xa5\\xf1\\x92\\x9a\\xfb&\\x96\\xe6\\xf5z\\xf9\\\n6\\x22P?\\xd5]\\xf17\\xcdj.\\xdbK\\xa3\\x0f\\xea\\\n\\xbb\\x16D\\x8bP\\x03R\\x10\\x8fg\\xe4\\x0bnHX\\xa0\\\n@x*b\\x06\\xde\\xe0\\x85jE\\x89\\x91\\x1b\\xbd\\x9e\\xe7\\\n\\x0c\\x92\\x5c4\\xf6\\xc3\\x0c\\x98\\xa9A\\x12L\\xc8\\xdc\\x05\\x5c\\\n+\\xdc\\xa7\\xb8\\x84\\xe3\\xa9\\x02\\x03\\xc3\\x98\\xad\\xad\\x95 (\\\ngb\\xdf\\xe2M\\xfb\\x1a~\\xce\\xe8\\xeb\\xc6\\x98F\\xab\\x97\\\n%\\x81B\\xa8\\xdc|\\x8a\\xa1\\x90\\xef\\xbdw\\xf12z7\\\n\\x17\\x0a\\xbb+a7&\\x16\\xd7H\\xcb\\x907r\\x9cc\\\n\\xe5\\xd9\\xbcg1\\xa3\\x1f\\xe4Qe\\xf96\\x9b'\\x8c\\x98\\\n\\xad\\xa1\\x88\\x0f+NR\\x16\\x91\\xd9\\x80lV\\xe6\\xecm\\\n,\\x0e\\x0d,0\\xc1\\xbaYyk! \\x8fT0\\xf5\\\n+\\x1c\\x86\\xe4\\xc3\\x1as\\x05'oZ\\xef\\x85T\\xec\\x88\\\n1\\xd1\\xfcQ\\xe7\\x12*\\x04\\xb4\\x8c\\x9a\\x1f\\xdeuZ.\\\n\\x9a\\x89\\xc5b\\xc2\\x96\\x5c\\xc5\\x13uq9\\xff\\xad\\xa6\\xeb\\\n\\xbc2\\x05#\\xe7yaISx--ZF\\x88o\\\n\\x0a\\xd2\\x91\\x03\\x8b\\xd2\\xedN\\xddER\\xa0h\\xc9?\\xf1\\\n#F\\xff\\x0c=\\x95p+\\xdd7\\x05\\xf9\\x03\\xdb\\xcc\\xab\\\n\\xdc&\\xd6\\x00*\\xa3\\x81R.\\xb3\\xc1\\x05h+\\x8e\\x91\\\n\\x02\\x0b#\\xb6\\x899\\x92]\\xd4\\xea*.\\xb8Qk\\xcc\\\n;c\\xea|\\xb9ix!e\\xaa7\\x1c\\x17m\\xe5\\xf9\\\nw\\xde\\xf5|\\xcbP\\x09l\\x1bM\\xb2\\x81s\\xe5[\\xdd\\\n\\x8d\\xe6X1\\xfa\\x13\\xed\\x83*\\xb2\\xf3\\x97G0Xi\\\n\\xf2\\xca\\x0b'b\\x8f\\xfb\\xd6\\xc7\\x1f\\x7f\\x8cF\\x94\\xe7\\xf1\\\nk,a\\xc2\\x03\\xe3\\x17\\x0c-\\x86\\x11&\\x02`dr\\\n\\xfd!T&\\xb3w\\xe8\\xb5\\x12\\xbc\\xe0\\xe1\\xa9T\\xdc\\xab\\\nw\\xa1a5\\x0f\\x11\\xf0@n\\xe3\\xcb\\x14\\xa1\\x97mF\\\n0\\xbc\\xee\\xbd2Z\\xb5\\xec\\xb7\\x86\\xf8.\\xb1=+q\\\n\\xfa\\x0en\\xe2\\x8e\\xc7\\xf3\\xf9\\x04\\xd9g\\xdc\\x7f\\xda\\x1d\\xa5\\\n\\x1d\\x99\\xd9\\xc1\\xf0E\\xda\\x97tQ\\x90\\xd1\\x8a\\x9bH\\x10\\\ng\\xea\\x8c\\xd8(N{\\x8f\\xe3\\xe15V\\x81\\x95\\xab#\\\n\\xa1\\xec7\\xd9\\xf8\\xa8\\x19\\xdd\\xf1\\x09+\\xb6@\\xc8\\xafz\\\nh6=\\xa0\\x1a\\xb7O\\x8f\\xf7\\xb1\\x8e\\xad\\xfdS\\xfc\\xb3\\\n\\xfdd\\x07\\xff\\x9c\\x5c\\xa7\\x97T5\\x10\\xa3\\x05\\x1d\\x1f`\\\n\\x10\\x1a\\xfc\\xfej\\xc8\\x97\\xac6jh\\xed\\x84\\xc9\\xd6\\x86\\\n\\xc91`r\\xa214\\xf4\\xb6\\xc8\\xf4I\\xd7ZA|\\\n\\xe8\\x9b\\xe3r\\x92\\xc1\\x907\\xfdm\\xc9\\x07\\x947\\xfd'\\\n\\xbd\\xf1\\x90\\xb0C\\xd2\\xe3\\x14;\\x0aM~\\x18\\x0fGB\\\n`.\\x04\\xa4O\\x87\\xa3\\xf4e\\xf2\\xe4\\xc9>\\xa7\\xa4\\xdd\\\n\\xd3\\xf8\\xe2\\x90,\\x9f\\xd8\\xef\\xe4&\\x06Z\\xb6\\xa0t}\\\n\\x16P\\x80\\x0c\\xd3e\\x15\\x87\\xed\\xcc;\\xf3\\x823j\\x95\\\n\\x19\\xb0]\\x0e\\xa6A\\xa9K&\\x99\\x83vz\\xcd\\xc0k\\\nz\\xc2\\x85\\x86\\xe1\\xb6\\xb7k\\xf0\\x7f\\xda\\x04L\\x97\\xd3\\xe5\\\n\\x1aP\\x0b9\\x91\\xdfM\\x80\\xa6\\xc6\\xca\\xe0\\x84\\x81\\xa0\\xd1\\\nk4\\x91\\x1az\\x83aX\\x12C\\x12\\xcd{i\\xb7?\\\n&V\\x9d\\xcc\\x02X%\\xd4\\x07\\x1bz\\x19\\x13\\xfb\\xfc\\xf0\\\n!\\x07\\x87\\xa3\\xbe_S\\xc9O\\xfbm\\xb4\\x97`T\\xad\\\n\\x8dl\\xaa\\x84\\xae\\xae\\xc9\\x9b~\\xe1\\xfcsN\\x8c\\xad\\x8d\\\n\\x13\\xd3\\x9c\\x84\\xe1-VYT\\xe9\\xd8\\xcd\\x0a\\xf1\\xcc\\xb7\\\n\\xde\\xed\\x98\\xcf[\\xe3\\xab\\x1b\\xd2J)Q\\xbe*\\x05\\x10\\\nt\\xa5\\xf6\\xe6\\x22\\xed&\\xd9\\x0a\\xcd\\xddY\\xfd\\xfe\\x11A\\\n\\xd8\\xb1\\xa51\\xb0\\x05/\\xfa\\xe2^[\\xd1\\xcf\\xc0\\xd8\\x11\\\nb\\xfd\\xac(\\xe3\\xd2g\\xb0\\x9bBP\\x90bM\\xbe=\\\n\\xcf\\x89|\\x08\\xc9x#\\xa9H\\xea60\\x0d\\xe3\\xea\\x0c\\\n`T\\xcan\\x9f:\\x9b\\xe4\\xcb\\xde\\x90\\xec\\xcb_\\x5c\\x1e\\\n\\xae\\xf0\\xf5\\x09\\x18\\xcf#\\x8b-\\x0a^\\xf5\\xb6\\xd7{\\x87\\\n\\x830\\xachf\\x83\\x97\\x83q\\xde\\xe5)|\\xd2\\xa2\\xb0\\\n\\x1e\\x09=c\\x15(\\xa8H^\\xd1\\xb4k\\x10\\xf9u\\x8b\\\n\\x1a\\x04\\xf2v5\\xb9\\xc0N\\x8d\\xf9\\xc0\\xb7\\xb9\\xea\\xc8q\\\nG\\xc1e\\xb0c\\x9e\\xf3(z\\xf0\\xb4\\xbbhd8\\x1c\\\nk\\xf9\\xb08\\x8fE\\x14\\x13=\\x8fB\\xe8`\\xde\\xa5P\\\n\\xe5\\x0bI\\x9a/\\x9f\\xa1g\\x1eO\\x9eP.\\x12\\xa2\\xd2\\\n [\\x8c\\xee\\xdaou:(\\x7ftAY\\x93\\xcc\\x94\\\n\\xc4@\\xfa\\xb8X\\xd3Mz\\xb9\\x15#@|O\\x7f\\xa8\\\n\\xcb(\\x07xN\\xce)\\x17\\x9c\\x8c\\x0a\\x85\\xb4ke%\\\n\\x9f\\xa6pS66\\x9b\\x9d\\xab\\xe7\\xc1ik/\\x80S\\\n\\x9f \\xed\\xc1\\x1b\\x5cg3\\xf1K~\\xae\\xfa67\\xbb\\\nz\\x03\\x02\\x1e{ \\xc13\\xde\\x8d\\x14{\\xb8\\xe4\\xfcg\\\nD\\x0f\\xeeq&\\xc1\\xf8P/\\xbd\\xdf\\xa8T\\xa7\\xe7C\\\n\\xff}r\\xa5\\xfe\\x06H\\xf4\\xd0\\x16\\x01\\x9a*E\\xd7.\\\n$\\x13\\xf6\\x06\\xf2\\xab\\xf4\\x5cM\\xa1\\xf1\\x03]F~\\xa8\\\nF)\\x1b[&\\xd9j\\xab>\\xe6K\\x87\\x92I\\x87$\\\n\\x1a5\\x0d\\x9c*\\xaea`\\xa1S\\x8dSyv\\xf0\\x0d\\\n\\xdd\\x9ce\\x95\\x0b\\x94\\xd8\\xdbi\\xf8\\xd9Bf\\xaf\\x8d\\xed\\\nP\\x95f\\xaf\\x1a*\\x15\\xe6\\xcc\\xc1\\xd6\\xac\\x0ae\\x07\\xbd\\\n\\x1b\\x04\\xd5\\xc5g\\x96a\\x11=\\x8d\\x8a\\x85\\xcf7E\\xfa\\\ny\\xc4\\x93\\x86\\xd4\\xad\\xce\\xad\\xacXAk4aG\\xfc\\\n\\xc2\\x0ay'\\xbb\\xeeo\\xd4\\xd0[\\x8e*nw\\x13\\xeb\\\n\\xf0a\\xd7Lv\\x0cY\\xb7[=:>\\xdc\\xde=9\\\n\\xd9\\xdd\\xd9\\xac\\x87kv\\xabd>p_\\xba\\x19j\\xcf\\\n\\x9d\\x1a\\xea=\\xf5\\xb5\\xba\\x22{\\x0din\\x91\\xa3\\x80\\xf6\\\nr\\xc6\\xbc\\x9c\\xa3\\xb7\\xcda\\xe6D\\x0dw$\\xfb\\x0e\\xbd\\\n\\xe8\\x9d?M1v\\xb9:V;\\x0a\\xcb)\\x9eS(\\\n\\xd4\\x0e\\x11R\\xa5\\xf0q\\xd9/l}7\\xca3\\x99\\x82\\\n!\\xbfO\\x00Q\\xef\\xab)[\\x89\\xd9\\x0eU\\x15h\\xa4\\\nk\\x12S\\x03Q\\x93\\x1f$\\xf0\\xf0\\xe9\\x98\\x9b\\x9b\\x0eh\\\n\\xc3\\x18\\xfc6\\x1d>\\xed\\xbe\\xe8\\xf6^uWV\\xf0S\\\n)\\x0b\\x1c\\xcb\\xaa\\xa1$$\\xc7mUM\\xb2\\xc4\\x09G\\\n\\xf6'A$A\\xfe\\xd5\\xb5\\x12\\xd5\\x84\\xe5(\\xd2\\x99x\\\n\\x09\\x18\\xcfy\\x0c\\xf4\\xb8;\\xc4\\xfd\\x19\\xf5+\\xb0\\x1e3\\\nW\\x1e\\x89\\x8a\\x88K'@j\\x8c\\x19jvjxK\\\n\\x85\\xa6\\xd4\\x1c\\x92\\xe5\\xc9Y\\x99\\xa4\\xed\\xd0\\x1bs\\x9f\\xbd\\\n\\xe0%\\xbf3\\x12z\\xf5j\\xadZ\\xc3`\\x0fB\\x0e\\x0a\\\n\\xbe\\x1e,\\xa6\\xb4\\xe75t\\xf4w\\xcb)\\x1b\\x89\\xcc\\xf4\\\nZ\\xf7V\\x15\\xf0\\xaa\\xb7.\\xb8\\x9e\\x0f\\xf5\\xb3&\\xe5\\xfe\\\n\\xd8g\\x9e\\xc5Eb7uX\\x88\\xbc2\\xc9g\\xb7@\\\n]\\xb4\\x1e\\x00\\xcd<\\xcb\\xca\\xa9\\x8e\\xda\\xa9v\\xe8\\xd9\\xa9\\\n\\x91\\x896\\xab\\xda\\x9a\\x0e\\x8f-\\xdf\\x0c~\\x1b\\x17\\xa9\\x90\\\n\\xb4\\x9c\\x05T[\\x01s\\xd8h\\xaa\\xb7\\x80\\xb2c\\x98~\\\nX\\x92_\\x11-qH>\\xf3\\x8c\\xe6*t\\x80\\xc2\\xca\\\n\\x94\\xd0\\x0c\\xce\\xbc\\xf2L\\xbd\\xf6\\x19RP\\xcd\\xe6e<\\\n\\x83{^\\xf7\\xef\\xd4\\xbd`nw\\xdc\\xde3fin\\\n\\x84\\xce\\xc1*k\\xf3\\xcc\\xeeHh}4\\xac\\xce\\xd8\\x8f\\\nl\\xaa\\x1d\\xc5\\x99\\xf7\\x00\\xe6qw\\xc9&\\x9b\\x8d+\\x17\\\n@M\\xe5d\\x95\\x1a\\x95NWd\\x9dJ% \\xaa\\xa7\\\n\\xceV\\xedM\\x9aU\\x0ajZ\\xd8\\xd6\\xddn{NK\\\ng\\x8b\\xc7o\\xe1\\xe09Gd\\xf1\\x8bd\\x8b\\x01\\x0d\\xdb\\\n\\xe4\\x8a\\xc0\\xc6\\x89\\xec\\x0bo\\x83\\x95K\\x16\\x22=N\\xfa\\\no\\xdfZ]\\xb8\\x045\\xcb\\x86\\xb7\\xc3\\xcce\\x0b\\x11\\x1b\\\n@\\x83:f\\x97\\xdcw\\x9d&\\x9a\\xed\\xad!\\x0f\\x16\\x88\\\n\\x02\\xeb\\x14IX\\xa8\\xc9o\\x0f$\\xd1D\\xb4`\\xb6\\xb4\\\nb\\xe4\\xf9\\x8a\\x0a\\xeb\\xe5\\xa3\\xc2\\x84&\\xa4\\x0a\\xa8\\xf1a\\\n-x\\x8e\\xff\\xb1E\\x8a\\x947,3\\xcb\\xcfK>\\x08\\\n9\\xf3\\xc8\\xcc\\xe4\\xe5\\x0el\\xdd\\x0b\\xb5\\x96\\xf5\\xaa\\xd9\\xa0\\\n\\x92g\\x1b\\xe4\\x11NH\\xd0\\xfa\\xe2L\\x05\\xeb\\xbc\\xdf\\xcb\\\n\\xba\\xff\\x91L+\\x9d\\xd6\\xde\\xaaK\\x7f\\x98&s\\xe1\\xc9\\\n\\xc1A\\x03\\x07\\x5c\\x98\\xca\\xc0\\xbcE\\x95Wv:\\x22>\\\n3\\xc8\\x99\\xb8\\x8bkX\\xa2=WY=D\\x22\\x81\\xa0\\\nZ\\xe6bE\\x910\\x1f'\\x07\\xcd\\xd7=\\xe0\\xf5\\xddF\\\n\\x1dxF(y\\x06~A\\x1f\\x14\\x9e9\\x9d\\xc8W\\xb5\\\n\\xb0\\x17\\xe5Xo\\xd3\\x8d\\x1eZ\\x8fo\\xd3\\x0fU_q\\\n\\xf3\\xcbJ\\x14s\\xd3\\x5c\\xee\\x5c,\\x94y&\\x8a\\xd8\\x98\\\n\\xe4D\\xb4\\x0ao\\x98\\x17\\xb3v\\xe0C\\xd4<%\\x9ca\\\n\\xc1F\\xf1\\xb92\\x97t\\x93\\xa4-\\xe6`<\\xb8g=\\\n\\x8alVh|\\xce `I\\xf1\\x5coA\\x9e\\x1e\\xed\\\n\\xc0\\x1f?\\x5c\\x00\\xa6w*\\x852\\xfc\\x8e\\x8d~\\xbb&\\\n\\x16\\x89\\xf8\\x9fm\\xc5\\x87OO\\x8f\\x9e\\x9e\\xfal\\xea\\xb7\\\n\\xe4D\\xe9:@\\x08XU4\\x8f%\\x91w\\x0d\\x9d\\x03\\\n\\xe2\\xc9K[\\x07\\x05\\xbc\\x95\\xc9\\x85\\x1aR\\xba\\x81\\x9co\\\n\\x91\\x99\\x98Z\\x22c\\x1fiX\\xef\\xfedw\\x98VV\\\nn\\x83\\xd9U\\x1bL\\xbc\\xaf\\xec\\xd0-\\x97P`\\xe4)\\\n2x]\\xe3i\\x94\\xb9\\xbe\\xb3\\xabN\\xfa\\x08\\x96\\x9cY\\\n\\x87\\xd5\\xc7\\x08\\xc3\\x9e\\x10\\xf4\\xb3\\xbc\\xa6\\xe2\\xd1\\x84\\xdd\\x97\\\n0\\xf0\\xee\\xc1\\xce\\xde\\xc1#\\xe9\\xb1==\\xcfDFT\\\ntp\\x7f\\x17\\x11^\\xa8v\\x128\\x9e~\\x12:\\x88g\\\n\\xb9\\xfa\\xe9\\xd8J\\xbb\\x8e\\x14e.h\\xb1\\x9ar@C\\\n\\xcc\\xa8\\xaaa\\xb6\\x0c^>2'\\xbf\\x13B\\xdf'\\xe9\\\nE\\x87N\\xc9r3\\x04y2S\\x1d\\x95\\x03\\x86\\x9c\\x94\\\n\\x1c\\xc3\\x00\\xd3\\xab\\x09\\x85G\\xeaio<\\x14\\xfc\\xa8(\\\n@\\xd2\\xca\\x8a\\xf7-<\\xfaCS\\x00|\\xeaG|\\x18\\\n#\\x9f\\xd5\\xaacZ\\xfa\\xab\\xd0\\xe1\\xc9\\xbdB\\x85\\xe9\\x1a\\\n\\x11^\\xd6\\x87o\\xeb\\x01\\xa2\\x0a\\x95c\\xbfs\\xd9<2\\\nbt\\xd9\\xcc\\xda\\x8b\\xb2\\x00\\xce\\xb7\\x1d\\x22\\xd4\\xc9X\\xf5\\\n\\xbe\\x8d^\\x88\\x02\\xa5:\\xf2\\xcc\\x8a~\\xe9\\x80\\xfb\\xa6!\\\n\\xdc\\xb5\\x95\\x15\\xeeCy{\\x14\\x5c\\xc5Mp\\x82\\x96~\\\n\\xdf[us\\xb1I\\x02\\xa7iR\\xd4(\\x0d\\xbd\\xcc\\xed\\\n\\x9bN\\xb3\\xd5.\\xcb/\\xe0d\\xa7w\\x99\\xbe\\xaa\\x19\\xef\\\n\\xf4V\\xc8\\xa2\\x22\\xac\\xd47\\xf9\\xfb\\xac\\xde\\x0c1\\xbe\\x02\\\n\\xf2\\x88\\x5c\\x0a\\xd0\\x95dFA7\\xab\\xe2v#\\xdb\\xab\\\nl\\xf5\\x16\\xdf\\xb8\\x0d\\xe0\\x04i\\x015\\x81+\\xc9Qh\\\n\\xfd\\xfc\\x84\\xe2\\x93b#1?\\xc3\\xc5\\xfe\\xcc\\xb4\\xd4r\\\n\\x0a\\x80\\xe1D\\x8cX@\\x9b\\xb50\\x96V1lV \\\n\\xf5\\xf9\\x9c\\x1b\\xeb\\xcbI\\x04\\x99pQ\\xdd\\x1c\\xf9\\x92~\\\ng\\xdf\\x15\\xa1\\x05D\\x96\\xb3E\\xd2_\\xc2(\\x93\\xbf\\x0b\\\n\\xac\\x02\\x8e\\x90\\x90\\xb5\\x80.\\x16S\\xe0f\\xca\\xc5\\xa5\\x81\\\n^\\x07\\x90U\\xc1.r& M\\x0a\\x1aF~]\\xc5\\\n\\xb3\\x1fH\\xaam\\x81|\\xae\\xce\\xf3\\xff\\xa5\\xa1\\x17\\x91\\xcf\\\nv\\xddr\\xc2C\\xb3\\x8b\\x98Bn\\xb9we\\xd7\\x95\\xdb\\\n\\xc9G\\xbeZs\\xeb\\x15\\xc8\\xc5\\x22\\xcaE\\xa1&\\xa0`\\\nX\\x0fPKG\\xfcR\\xf4\\x80\\xf2:Eu\\x95\\xf1!\\\n$\\x12\\xf1\\x8c\\xe5k^`+9\\xddPo\\xb4F\\xf3\\\n\\xd6be\\xece\\xcf\\x82\\xc8]\\xc4\\xc92F\\x01\\xa4\\x14\\\n[i\\x81\\x84\\xfaOD\\x80UQIU(nf<\\\n\\xb6n\\xa3\\x02$.\\xc1\\xe8\\xfb\\x91v\\xc7IC\\x9c\\xdf\\\n\\xac\\x98\\x1b\\x00\\xe5\\xcf\\x10\\x1f\\x82o\\xd1\\x05\\x14\\x85\\x8ck\\\nH\\xd5S\\x1f\\x16\\xc5\\x9e\\x17\\xd3F\\xf6\\x91=\\xbc-\\x0e\\\nE\\xc9sB?9\\x83e\\x14\\xc6@\\xbd.(\\xbc\\xba\\\n\\xbaJ\\x04\\xeb\\xf6^EE[\\xdd\\x06d\\xac\\x09\\x93c\\\n\\xcb?\\xb3\\xf7\\xab\\xc6\\xadB-\\xb0\\xf8JE~\\x0eQ\\\n|\\x16\\x8d\\x22\\x02\\x94A\\x9e\\x1a\\xb9\\xed:m\\x831\\xd0\\\n\\x9e\\xc4\\x8d2\\x0dv?m\\x8fm\\xdb<!\\x8d\\xe4G\\\nl W\\xed\\x86xC\\xe8\\x9b\\x87\\x1d\\x8a\\x1al\\x9bm\\\n\\x8b\\x1d\\x9a\\xec[\\xd3\\xf6\\x1b7\\xf6\\xa5\\x84\\xc0\\xba^\\x80\\\na\\xfa\\xae\\xf1\\x81\\x9b\\xf7\\xde\\xf3\\x82z\\xad\\xd6D\\xafT\\\n\\x9b,\\x85\\x96\\x06\\xe9\\xa5\\xc8\\x99\\xe7\\xa0\\xac\\xca\\xfd]g\\\n\\xa4\\xe7\\xb9\\xce\\x18\\xde1B\\xb2\\x84\\x89H\\xc5q\\x0d\\xf5\\\ng\\xcf\\xadsU\\xf5~o\\xe1T\\xb7\\x85A /\\xfc\\\n\\x1e\\xf4\\x96\\x18\\x13\\xca\\xe2\\xa5\\x81\\x9c\\x0c$\\xed%\\x10\\xa8\\\n\\xb0k\\xb4q\\xfb\\x0dz\\x9c^\\xd5\\x1b\\xcdk\\x06\\x1f\\x02\\\n\\x08m\\x9eK\\xae\\x86E\\x83I\\x8d\\x1e\\xed\\x91\\xec\\xbd\\x1d\\\n\\x1d)\\xb0\\xac\\x88+\\xc7\\xc3J\\xbd\\xb8\\xbcfd\\xc4`\\\n\\xe7C\\x8b28$\\x8e[M\\x8d\\xa0\\xef\\x97\\xb67:\\\nkZ\\x99X\\x1b\\xe9\\xa7\\x0e\\x90\\x9f\\x81Pk\\xb9\\x9ax\\\ny\\xac\\x8e\\x92\\x1b\\xcc\\x192\\x96\\xcdz\\x87\\xc6\\x06\\x84\\xcc\\\n\\x82\\x1a\\xdc$\\xa3\\xeb^\\xdb\\xb7W\\xc2\\xe7\\x9f\\x16\\xb4\\xa8\\\n\\xa1c\\xeb9\\xe4\\x91\\x8ffP|@\\x85~C|4\\\nu\\xc6\\x15\\x01\\xa7\\xc1\\xb2k\\x05\\x5c\\xb3\\xb2d\\x89/\\x96\\\n\\xcf\\x02/Gc\\x1c\\xaci\\xa1 \\x962\\xb3\\x02Ib\\\n]\\x95\\x00\\xb6*\\x9b\\xf1I_y\\xcd\\xd1\\xdf%&%\\\n\\xbb\\x9c\\xaa\\x19Pyo\\xc3\\xa7\\x17\\x87\\xa4\\x1b\\xec\\x83J\\\n\\x1e\\xd2\\xb6\\xdbJ\\x87=\\xfd\\x18a\\xa4\\xc5V\\xf59l\\\nG\\xcb\\xaf{\\x94\\x1b\\x7fTmN(\\x13\\x8d\\xd2=X\\\nv\\xccS\\x85*\\x95\\x04\\xe5\\xba\\x9dVu7\\x85j\\x81\\\nF\\xa5\\x95\\x90y\\xda\\xcer\\xd1\\x1e\\xf16\\xb6\\x0d^\\xb3\\\n\\xfd\\xc9r\\x1d\\xd4\\x1a\\x15=-\\xcf\\xa7\\x99\\x19V\\xac\\x01\\\n\\xe45Z{\\xb6i\\x9d+(V{K\\xf5a\\xcbU\\\n\\xdd\\xf3J\\x0a\\x17:L\\x17\\x9e\\x8a\\x1e\\xc0Z\\xc3K\\x14\\\n\\xf6\\x89\\x94\\x83\\xbd\\x9d\\xa6\\x962?\\xf7jA\\xbe>\\xbe\\\n\\x06\\x92S\\x16f\\xef\\xa6,\\xc8\\x8c\\xfa\\x06\\xb4\\x85\\x12\\xe1\\\na\\xdf \\x0c\\xec\\x8b\\x80\\x85\\xfaB\\x16\\x07_p\\xa9\\xf9\\\ns\\x14\\x05QG\\xc4\\xe57#\\xd6\\xd9\\x8d\\x80\\x82\\x08\\xdb\\\no\\xc6\\x0a\\xb2\\xf5\\xa2\\xde\\xbe_G\\x91\\xa5^\\xccV\\x04\\\nR\\xef\\x15\\xdd\\xb2C\\xcd\\xf0v\\x8aR\\xb3\\xf1\\xb6\\x8a\\x98\\\nz\\x04TB\\xf5\\xdd\\xe0c\\x9d\\x9a\\x1a\\x99\\xf7\\x0a\\xcdx\\\nk\\xb7\\x0a\\xe7\\xde\\x9f\\xd1\\x8b\\xa4!\\x8e?\\xb5~O\\xd3\\\n\\x5c\\x0f\\xe4\\xcbm\\xe8\\xdf>b\\x8e*\\x16j(\\x94\\xad\\\n\\x197+`H\\xe9\\x92=\\x5c\\xf3V\\x01\\xb6\\xf1\\xaf\\x92\\\n\\xa3\\x9a}\\xba\\xe0H\\xff\\xc0jY\\xeeQ#\\x9a\\x19\\xc8\\\n\\x10\\xfb\\x87\\xdb[\\xfb{\\xbf\\xb8\\x1b\\xd9q\\x0c\\xe9\\xceX\\\n<\\xb8\\xaa\\xe3?\\x1b\\x8b.\\x1d\\xe7\\x0b\\xcc4\\xe3(\\xf4\\\n\\x15^2\\xf5\\x1ds\\xfe\\xe4\\x87 \\xad\\xc7\\x5c\\xfdU\\xbc\\\n6\\xd1\\xc0\\xa1\\xaa\\x0e{\\xe3A\\x0b_K\\x9dN\\xf1S\\\n\\xbd}\\x8e\\x82W\\xa0W#\\x84^\\xcd\\xd4!\\xb7A\\xe8\\\n\\x05c\\x8d\\xbf\\x0c\\x99\\x1fP]\\xb0\\xb5L8\\x07\\x7f\\x1d\\\nP\\xa4\\x99\\x85\\x15\\xed\\xa7x\\x99\\x00\\x1fZ\\xb7**\\xc4\\\n\\xa4'\\x12!*@u\\x9a\\xf6\\x87\\x80j'\\xb9\\x18_\\\n]\\xe1\\xe4\\x18AB\\xb84\\x06\\x99\\xf6^=XJ\\xbb\\\n\\xc3~\\xd2\\x1a-\\xbd\\xb7\\x811\\xe1F\\xd7\\xc9\\x92\\x84\\xee\\\n@\\xc3\\xd9\\xb0G\\xfd\\xfd\\xce\\xb8\\xdb\\x8f\\xd1j\\xb2\\xae\\x86\\\n\\xe9\\xf9\\xf0;\\x98\\x9eU;\\xa8\\xc2\\xefx\\xc5f\\xd8\\xfc\\\njX%\\xf8*z\\xc4\\xa8\\xdb\\xe5%\\xda\\xa6mJ\\xa8\\\n\\x14!W\\x0bP\\xf9\\x0a\\xad x{\\xef\\xcc\\xbf\\xa8t\\\nf\\xf2\\xbd\\x07\\xbas\\xaa\\xc9Z8u\\xf7\\xdaA\\xf1\\x94\\\n\\x0e\\xdc\\xbe\\xe3\\xea[5\\xafw\\xf6\\xe3\\xae\\x17L\\xb4\\xc9\\\n&\\xcc\\xd8t\\xf8\\x5c8\\xf4\\xe4K;\\x82\\xe1\\xfd\\x8c\\xb4\\\n\\x1d\\xce#\\xc4\\xaa\\xb7\\xc6\\xd1,f\\xc1\\xd9\\x99TD\\xfa\\\n\\xa2\\xee\\x11\\xfaE\\x14:\\xfeX.D\\xe6\\xe6\\xcf\\xbau\\\n \\xf0|\\xe89\\x81\\x1a\\x91\\xa0\\xbb\\xcfv\\x0fN\\xa3\\xb9\\\n\\xe7\\x08\\xf4'x\\xfc\\xf4\\x81}\\xdf\\xae\\xc1\\xad\\x06\\x19\\xcb\\\nWX\\xd0\\xc3)\\x22d\\x14K,P\\xd97x\\xa9\\x05\\\n\\x03\\x22\\xabL\\xf5\\xad!^$o\\xac\\xfc\\xcf\\xf9Kr\\\nG\\xf1\\x05\\x07\\x0b\\x81\\xdaI\\x07\\x91\\x8b.\\x15\\xf9fg\\\nTc\\xd0\\x97\\x17\\x09\\xd0\\x98Y\\xee\\xee\\xc8\\xe4n\\xa3*\\\n\\x83\\xaa$=h]bm\\xc3\\xbcy\\xd66\\xab\\x98\\x13\\\n\\x09\\xc3>\\xa2\\xf0\\xff\\xa6\\xf5==\\xa3i\\x13Q\\xa0\\x02\\\n\\x16_\\xf0\\x09\\xcc:\\xd0\\xa4\\x03C\\xa3\\x8b\\x15\\xbdH\\xcf\\\nk\\x9e}\\xb5C\\xb6\\xfe\\xb2\\xda@k&\\xf23,\\x0f\\\n\\xfc8\\xc3\\xa7\\xdf]_\\x8f\\x05\\x8ed\\xec\\x95\\xa8\\x92,\\\n\\xed*\\x13\\x1e@\\x1d\\x03N\\xa7\\x05{E\\xed\\xd5\\x8a[\\\n\\x92\\x5c\\xeb\\xf4\\x09\\xa2\\x8e\\xfa\\xaaZ\\xa2\\x5ciI\\xc3\\x12\\\n\\x85\\xd2\\x9f\\xc8\\x83\\x00y\\x8f[G>\\xc9\\x099\\xbd\\x87\\\n\\xae<mq\\x90\\xb7{\\x9dN\\xe2:\\x95fQ\\xb8`\\\n\\x1bn\\x07K\\xe3\\x07\\x1b\\x0ahl\\xca\\x0f6\\xe7\\xc4e\\\n \\x9aJq\\xd2\\xf8\\xb3g\\xa3e\\xae\\xc6\\xfc\\x16\\x82\\xf9\\\nX\\xe4p\\xcc\\x8fYd_u\\xe4(Nn\\xd8\\xa2\\x22\\\nL\\xc3\\x07oN\\xd9\\xd3\\xb8\\xe2!\\x8c\\xe7\\x9f\\xd5\\x9at\\\n\\xe7X9\\xd6*\\x1d];hS\\x94k'\\x1cR`\\\nb\\xaf\\x9a\\x10\\xbf\\xe8m3!G\\x9e\\xd0Een \\\n\\x92\\xab\\x9d\\x93\\xb7\\xa9:Uk\\x86Y\\xbe\\x0d\\xf5[\\xc6\\\n\\x9a\\xd9s\\xa7\\xe1\\xda\\x9f\\xd8>\\xde\\xe6\\xa7\\x11\\x17\\x0e\\xef\\\n|f2\\xf7\\x15\\x1c\\x7f\\xbd\\xdc\\x89\\xb7\\x82\\x8a;\\x14<\\\nk\\x07$\\x0a\\xc0\\xc3~\\xa2\\xf1\\xfc\\xd3\\x14v\\xd8Vz\\\n\\x03m\\x126\\x9c\\xea\\xfcs\\xe2\\x9e\\x11F\\xa8\\xb4G\\xb9\\\na\\xc1N\\xa7\\xf6Y\\xac\\xb8\\x96JR0\\xe7<\\xdfy\\\n\\xbfT\\xe0g*V\\xcd7\\xe0\\xfb\\xfeM1`\\x99,\\\n\\xc80\\x1e\\xc7\\x0b\\xc8\\xf8\\xcc;\\x0e\\xf5\\x99<\\xd7\\x95~\\\nS\\xcf\\xe4P\\x11O\\x17(n\\xa2 \\x16\\xd1\\x83\\xe1\\xc5\\\n\\x5c~\\xe1ht\\x8ecE\\xa1\\xd8\\x11\\x08}\\xd4\\x8f.\\\n\\xc0Y\\xde3lM/O\\xca(\\xb90\\x1e\\xa8\\xad|\\\n\\xb5\\x1dz\\xdd#\\xd66\\x03\\x08\\xdf++\\xf0\\x0f\\xaa\\xb9\\\n\\xa3\\xb8\\xdb\\xc24\\xb7\\xf8,(j\\x9duY\\x12\\xd6\\xe4\\\n\\xa1\\xb5\\x7f+\\xec\\xb08!\\xbb/3qI-\\x1f\\x0f\\\n\\x0ewvO\\xccs%\\x94\\x9b\\x9d;\\x04\\x83\\x12\\x8fr\\\n\\xd1QD\\xf8\\x9420\\xa8\\x1d.\\x90\\xd6\\xd5\\xd1\\xe1(\\\n\\x18\\x0eZ\\xd6\\xcc\\xe4\\x17\\xc8!\\x09\\xfe+~\\xa3Y\\xd1\\\nhY\\xbf;>h\\xa1\\xf9t:-\\x8bi\\xcf\\xf9\\xb8\\\n\\x00f\\x8bB\\xfd\\x98\\x05\\x84\\xd7Kc6oS\\xfeF\\\n\\x82&t.qr^\\xa0\\xaa0R|8\\xa2KB\\\n\\xfaBr\\xce\\x97\\xc2\\xde\\xe9\\x169\\xc7\\x9b\\xcb\\xcc\\x9b\\xb5\\\np\\xad>\\x0bN\\xf0\\xd6\\xea~:\\x1c\\x85\\x1e\\xcc\\xf2\\x1b\\\nd\\x1b\\x8e\\xef\\x8f\\x1b\\xe5Q\\x8fl\\x0f&\\xde/\\xc0\\xe9\\\n:\\xf0\\xa3\\x8ae*\\xe6-\\xa1\\xe1\\xea\\xba\\xfdFZ\\x1e\\\n\\xfeV\\xaf\\xde\\xba\\xe8fE1xKC \\xe6,9\\\n\\x12\\xe3\\xf0nH\\xac(\\x00\\xac\\xbd\\x85\\x05\\xb0\\xee\\xce\\x86\\\nJ\\xceL=Z\\xd7\\xc7\\x18\\xc6vi\\xbew<\\xc6\\xe8\\\n\\x0d9\\xd5h2s\\x1b*w-\\x95\\xfb,\\x060 \\\n\\xbf\\xbe\\xb0\\xcc\\x7f}\\xe1ek\\xc1\\xe8\\xd1}\\xe3\\xf8\\x06\\\n\\xaf\\x8b\\xe7\\xae^\\x9b\\xb7\\x97\\x178\\x88\\x8b{&\\x97\\xf7\\\n\\xach\\xc9[\\xe3\\xd1uo\\xc0\\xe9\\xc6\\x8cd\\xa7V1\\\n \\x83\\xa5^\\xd2V\\xabe\\xb2\\xa2\\xd2B\\xeaH\\x96\\x9a\\\n_\\xd5\\xf1\\x8f\\x0bM%v\\xdc\\xeb|)?(\\x8cp\\\nbM\\x17;\\x8cn\\xa6\\xa8\\x9d&7\\xae\\x95\\xb8A[\\\n\\xc70\\xca\\x03(\\xbe\\x0e\\xd6\\xd5\\x85E\\x82\\xcc\\x8a;J\\\n\\xb4\\x1e\\x1cs\\x9f6\\xc0\\x1c\\xfd\\xbcA~\\x90d\\xb7j\\\n\\x1cC\\xe9\\xde1\\xc1==\\xde\\xafx\\xdc\\x12\\x0e\\xd7A\\\n\\xcfQ5\\xe5\\x01l\\x07\\x8b\\x8c\\xa8M\\x9f\\xc2\\xb1U\\xaa\\\n\\xb6\\xec\\xa2\\x1c\\xdf\\x96,V\\x0bp\\xd5k\\x9cw\\xeb\\x8d\\\n\\xc2\\x0e0b\\xf1\\xea\\xa6\\xc84\\x81J|\\x00\\xb4\\x7f1\\\n\\xd4\\xa9\\x9a_O\\x1f\\xef\\x9dh1\\x83\\x1f\\x14\\x8d\\x8d\\xc5\\\nt\\xc1\\x08\\x8b\\x0f\\x99&\\x05\\xed\\xff)\\x90\\x8a\\xaa\\xae\\x80\\\n\\xd3\\xd1\\x1dW\\xf3\\xb9\\x9a2\\x1c\\xe2 \\xb3\\xe5g\\x9fr\\\n{\\xf4s\\x818\\xcc\\xa2b5+\\x07\\xa5\\x1e\\x0a\\xebu\\\n\\xb1;\\x9e\\x1b\\xed\\x87\\x13C\\xe9\\x04J\\x13\\x03P,m\\\nB\\xcaTMgZ\\x16\\xc6g\\x11\\x1de\\x81N\\xa6\\x15\\\n\\x9e\\xf9\\x17jn\\xe1\\x07J>%\\xeaQ\\x19\\xf7\\x9a\\xad\\\n\\xb5:,\\xe1\\xb3r\\x1e0+z\\x9d\\xa8\\x17=\\xd04\\\nr\\xbe\\xfez\\x0d-\\xdb\\xc0\\xe7kL\\x8dJ\\xa3\\xfa\\xbe\\\n\\xbfI\\x0f@/\\xdb\\xe0\\x8d\\x84\\xfd6\\xda\\x11\\xbe7\\xbd\\\nn\\x0e\\x94t}\\xf8b\\xb8\\x03\\xe4\\xd9\\x17\\x03,`m\\\nC\\xd0\\xac\\x5c\\xe4xm[\\x83\\x16\\x0a:\\x8b\\x150}\\\n\\xe6\\x9b\\xd7\\xdf\\x17^!\\x9b/\\x9d\\x11\\x87\\x87|\\xfd\\x08\\\n\\x83\\xd7967\\xce\\x0c<\\x94z\\xde\\x22qh\\xcf9\\\n\\x11y4\\x80'\\xbb\\xa7\\xa7{\\x07\\x8fN\\xa2\\x822\\x0d\\\n\\x95\\xa9%\\xf5BA\\x9d)\\xc16'}\\xabo\\xde\\x95\\\n?4\\x0c*\\x80\\xe7|\\xfa\\xe8^\\xe3\\xa4h\\x1d^\\xee\\\n\\xf6\\x1f\\xb9H\\x0c{\\xa0\\x12d7\\xee\\xcf\\xb5{_\\x83\\\n\\x1e\\x07\\xd4e\\xe5\\xee\\xa4y\\x89\\xb2\\x16|\\xe4\\x13Oc\\\n\\xadi\\x14\\xdd\\xac\\xd5}\\xba\\x03\\xde\\xebW\\xe4\\xf1K:\\\n\\x9c\\xa5cY\\xf1eB\\x9d6\\xa2\\x90 \\xfe\\x84\\x9a\\xd0\\\n'\\xdf\\x864\\xa8\\xfb\\x8d\\x0b\\xd8\\xd2\\xbd\\x98\\xe1\\xe9\\x05\\xe6\\\n\\xa8\\xcb\\x98\\x04;\\xe3\\xdd\\x8d\\xa6\\xd36\\x0e\\xa51{\\xf1\\\n\\x16I\\xe7Z!n \\xb3(\\xb9\\x18\\x93\\x0elU\\x92\\\n[\\x5c\\xc1rN\\xff9\\xf3.\\x01`M\\xcayM\\xf7\\\n\\xb1$\\xa5Ki\\x8b*\\xdb\\x11\\x9c2\\xbc\\xd6\\x15\\x0d\\xbc\\\n\\x1d\\xad\\xa7\\xa8\\xee\\xea\\x96\\x03p\\x9b\\x8a\\xed\\x12T\\xf1\\xac\\\n`Z\\xcc]$x\\xbaQ@\\x0d\\x0a)\\xf5N\\xb3\\x97\\\nq\\xd0\\xec\\xd5\\x8b\\x9a\\xf8!\\x94\\xa9\\xaf\\x1c\\xd3J\\xafo\\\nXT\\xb0\\xb8JA\\xa9\\xfa;\\xa7w\\xaa9\\xd0;\\xe7\\\n\\xae|.hN\\x1e9MN;Y\\x1f\\xf8\\xcb\\x1aa\\\n&\\xae2\\x08\\xbd\\xb0\\x1e\\xeb4\\xf3\\xd7\\xc0Y\\xd3\\x0f&\\\n\\x9f\\x9e\\x9b\\xc6%6?EU|r\\xf28\\xc0}\\xd0\\\n\\x19\\xe2l\\xca\\x05\\x0c+%z\\x11\\xbc\\x80jg\\xfa\\x0a\\\nlc\\xfe\\xd3<\\xfe\\xc2\\xa1\\xc4\\x00UE\\xe3h\\xda\\x1a\\\n\\xe0\\x0dpO\\x8d\\x1cr\\xdf\\x9c\\xa1 t0\\x0e\\xbb&\\\n\\x0cYF\\x13\\xf9f\\x9am\\xf0\\xdf\\x96\\x0b\\xcd\\x9c\\x0a\\xbc\\\n\\xc4-]\\xd2\\x17\\xbb\\x0e\\x13\\xc9&,X>\\xd5\\xb6\\x8e\\\n\\x22-\\x92\\xd2F\\x11\\xc92=\\xa7\\xe3\\x92\\x05\\xab\\xd9\\x1c\\\n~4\\x0eu\\x0d\\xd7\\x84\\x80\\xbe,\\xe2\\x86ZdEx\\\n\\xce.W\\xc2\\xbe8\\xdd\\x15\\x9eH\\xb2D\\xac\\x9b\\x0c\\xbc\\\n\\x8d\\xaf~\\x1b\\xf7\\x0dl\\xa7^\\xd5VV\\x9cOXy\\\nL\\x11\\xf6\\xd8s\\x90\\xa8\\xa5\\x22\\xefe\\xe3\\xa0i\\xfa\\x81\\\n\\xf3\\x9dC\\x0a\\xa4\\xa5\\xe0o\\xee\\xb6\\xb0\\x80\\xa8n\\xb08\\\n|KK\\x14G\\x5c\\xbfiu\\xbfv\\xd3\\xd1D\\x97\\xf9\\\n\\x94\\xa8\\xdf{\\xddQ\\xef\\x19\\xae.f\\xb6\\xb7\\x13|\\x5c\\\n\\xf2\\xe9\\xf1\\x1e>\\xb5\\xd0\\xeb\\xe2\\x01aq\\x05\\xd6\\x0b\\xd2\\\n\\xf2\\xc6c\\xa9Y\\x92VQ\\x8a5\\xcc\\x80z\\xe7\\x16/\\\n\\xd2zcOi\\xb4q\\xc1\\x93\\xba1\\x0a\\x9b.;\\xe5\\\n\\xf3\\xaa.\\x0d\\xc1\\x0c\\xb5\\xa2\\xc3\\xd6\\x9a+eg-i\\\nB\\x86\\x00\\x0d_JJ\\xae\\x15\\xfd\\xa4\\xa2r\\xc8\\x86\\x08\\\n\\x1d\\xdfF\\x9fm\\x85\\x147^E\\x08WV\\xacX\\xa0\\\n\\xb6^Z\\x08M3\\xcb\\x075d6c.\\xa0:\\xac\\\n\\x80=\\xd2\\x03\\xe5\\x00fs\\x8597\\x14(+&\\x85\\\nY\\x82K}\\xbf\\xaeUm\\x18\\x15\\x83{z\\xfb2\\x9a\\\n\\x0a\\xc2\\x01,\\x1d~\\x11#\\x11\\x16\\xc8\\x12{\\xe1\\xb3\\xc2\\\n\\x19Z\\xc6\\x04\\xf7\\xc0\\x163\\x17\\x04\\xd2\\xb5\\xdf\\xa2+\\x8c\\\n\\x85m\\xde\\xd5\\x82\\x09XO\\xee\\xf9a\\xc9\\xb8\\x94\\xde\\xb2\\\n.\\xde\\xe1\\x97\\x9fN\\xd3\\xdbSx6\\x8d/\\xf4\\xdc\\xb1\\\n\\x853ncPL\\x0f\\xa4\\xebt\\xba(\\xc6\\xec\\xddZ\\\n\\x8b8Uk\\xfd`\\x03*\\x079\\xd4\\xebbL\\xb1\\xac\\\n\\x90\\xe7-pdm\\x87\\xf3\\x06\\xb5J\\xc9\\xb0g\\x82\\x98\\\n\\xd1\\xc9\\xad\\xc7\\xd5xt\\xce\\x0d\\xd3\\xb4L^\\xd1Y\\xcb\\\n\\x09\\xf9$f\\x04\\xe2\\x03\\xf6\\x11\\xc1\\xd04'{\\xec\\xf6\\\n\\xed\\xe1s0\\xa8F;o\\xc4X(\\xc4F\\xce\\x1dh\\\n\\xb2W\\x1d\\x96\\x93\\x80\\xf2\\xb8\\xd1X\\x5cLM1\\xf5\\xe8\\\nF\\xbbM^\\x05h\\xd7M`\\xa3\\xbaY)\\xc9\\xe0j\\\n\\xbc\\x80\\xd1\\x04\\xcbu\\xd7\\xae\\xd5\\xed\\xed\\x1c>\\xa1 \\x9a\\\n\\xdd\\x11\\x95\\xd3\\x0f0\\xe5\\x11\\x19H~\\xf2\\xd0F\\xea\\x87\\\n\\xf9\\xd7@6\\x8b\\x1f\\x08\\xb1\\xdb\\xa3\\x8b\\xc9\\xe8\\x0aB\\xfe\\\ns\\xab\\xc8(\\x05\\xe1\\x00\\xd5\\x84\\xcf\\xc5@\\xdd\\xb4Xe\\\n\\x16\\xdeAE\\x97\\xf2\\xa4\\xdf\\xa8\\xdf\\x8e\\xe5,\\xdb\\xae9\\\n\\x8a\\x90\\xc6\\x85a.\\x8e\\xf7\\xed\\x87\\xe1\\x06\\x01/)\\xca\\\n\\xb3\\x18\\x0f\\xad\\xb2/\\x9b\\x9e\\xaf\\x9f\\xafO\\xcf\\xcf\\xa6\\xe7\\\n\\xeb>\\x19\\x0cy\\xbfk&\\x9b\\xb7\\x0ax\\xe8\\xe9Q\\xc2\\\nE\\x18\\xf95\\xd0\\xcc\\xf9\\x0e\\x99\\x07\\x03Ui0|\\xd3\\\nm]\\x0fz\\xdd\\xde\\x98\\x0f}(\\xbb\\xdc9\\x80\\xb2\\xb5\\\n\\xc12:\\xa3?M~\\x8dU\\xd9\\x80\\xac\\x83\\xd3\\x05\\x16\\\n$\\xeb\\xe4\\x980,\\xb2\\x9dF\\xda\\xda\\x89\\xed\\xd7\\x86N\\\n\\xea\\x09\\xb4Y\\xde\\x87\\xd54\\xb0\\xfa\\xb6y\\x0bS*\\xb5\\\n@\\x8f\\xa4\\x1fZE\\xca\\xe3\\x05i\\x8e,\\x8ay3\\x99\\\n\\xb9q\\xc8\\xa0\\x97j\\x18\\x1el\\x9d\\xec\\x1el=\\xd9e\\\n\\x81\\x87_\\x91L\\x09\\xa9+8><<\\xb5F\\xd8#\\\nG\\x22\\x04$\\xce\\xdb\\xc2k\\x01\\xf4Em\\xdf\\xde\\xda\\xdf\\\n\\x7f\\xb0\\xb5\\xfd9'\\xe9P\\x19\\xce\\xdd\\x01\\x1e\\xc9\\x93\\xf1\\\n\\x05\\xb9_U&\\x90\\xf9po\\x7f7\\xc4\\xad\\x09\\x09\\xe6\\\n\\x01w\\x8c\\x83\\xe3\\xaa\\xf0\\xca\\xd9\\x97\\xa5(\\x0e)\\x05S\\\nU\\xa1\\xbe@\\xfc\\x99\\x8b\\xe7r\\xa8\\x8f\\x03\\x15\\xaa\\xb3*\\\n\\xd0\\xdd\\xc6\\xf8\\xa4\\xae\\xa9[#\\xc1\\x97\\x12%~kQ\\\n\\x15\\xb4\\xed\\xe4\\x86GYl\\x01h\\xb7\\x97\\xc09\\x0d\\xf1\\\nmY\\x8e\\x9c\\x10\\xaf\\xf2\\xe01$\\xc1\\x7f%'\\x83y\\\n\\xff\\x16\\x80\\xa5C<\\xa9\\x94\\x8f\\xca\\x1eZ\\xee\\x9c\\x02\\xe0\\\n\\x87]\\xf9\\x15\\xa9\\x94\\x06\\xd63\\xea\\xb1\\xb9\\x13d\\xbb\\x83\\\n\\x82\\x8c\\x95*\\x13\\xefg;\\xa0\\x93\\x99\\x95W\\x5c\\xb5\\xa7\\\n\\x000\\xfa\\xb3)\\xac\\xf9\\x0b\\xfd\\xba\\xe4\\xf0+W1Q\\\n\\x0af\\x9b\\xa4\\xab\\x18\\xba<\\xcc:\\xe0.>$\\xcb/\\\n\\x81\\xe6\\x22C\\xa8\\x18\\x03\\xec\\xba\\xc4\\xeeJe\\x8f%\\x0b\\\nW\\xadzK\\x971L\\x90\\xf6\\xd2\\xa8\\xb7DOj&\\\n\\xe4l\\xa9\\xeb\\xa8\\xf8K|\\xd1\\xc2\\xf3\\xad@\\xb6\\xe6\\x91\\\n\\x1eP<\\xd8\\xb5\\xb8\\xe8\\x14\\xcb:\\x05%\\x0f7'\\xf0\\\n\\xaf\\x842l\\xdb\\x81\\xc4\\xde>\\xa6\\xb0,%v\\xed,\\\nW\\xb7e\\xf9\\xcf\\xc6Ug\\xd5@m\\xf3arP\\xb2\\\n\\x0c\\x13N\\xdb\\xaa]\\xba\\x88\\x8e\\xe6\\xf1h\\x96\\x9fjr\\\n\\xebPVyI\\x83DPD\\xacZ\\xe1^+\\xf6\\xf1\\\nF\\x80\\x87\\x90j\\x81\\xc2\\x12\\x99\\x98\\xb8B7\\x18:\\x90\\\n\\x17\\xfaL$0\\x87F\\xee)\\xcaB\\x0cJ\\xcc\\x96\\x9e\\\n\\xe8\\x14\\xe9m\\xe6\\x80\\x87\\xce{D&\\x05.\\x99\\xcc\\x89\\\nN\\xc6lm=\\xc4\\xb4\\x00\\xfb\\x5c\\x8b\\x06\\x0c\\x02m\\x93\\\n-\\x96\\xc0G\\xa6U\\xff\\xee@\\x03u*\\xcb\\xb6:\\xfe\\\n}w:\\x82r\\xe855\\x0f\\xf7\\xdf\\xe8Y\\xe4\\x06\\x08\\\n\\xcbP\\x99\\x08h\\x02\\xf2D\\xea[\\x97\\x0e(\\xc5\\xc9\\xce\\\n\\xe4Yqp\\x22\\x9d\\xa0a\\x0c\\x81\\xb4\\x88\\xd7B\\xa7\\x99\\\n\\x89\\xbcd3\\xbdG\\xcbWP\\xc2\\xfa\\x14a\\x8f\\x22\\x06\\\nR\\xe0w\\x1d-p\\xa3\\xfaQ\\xf5>\\xc6\\xd7\\x97\\x02!\\\n\\xae\\x90P\\x8a,kz\\xecv\\xd2\\x81\\xca\\xb0,T3\\\n\\xbfA+\\xe3\\x9e\\x5cX\\xc6\\xdbq\\xd6Rh\\xbc\\xa6C\\\n\\x0f\\xc34\\x06\\xec\\xe3\\x8e{\\xa5\\xd3t\\xd4\\xc1\\xb8\\xef\\x87\\\n\\x83\\x14TB\\x8c\\xbe\\xaf\\x7f.\\xc1V\\xf8\\x06F\\xd6\\x19\\\n\\x11tU.\\x09\\xbd\\x13X\\xd7\\xc2\\x8ag6\\xeb :\\\n\\xf8\\xa3u\\xdd\\x8aZ\\x9fQ\\xc6\\xd0f\\x05\\xaa\\x18E\\xd3\\\n\\x85\\x7f\\x9a\\xf3\\x8f8\\x8c\\x16E\\xb8\\xac+h\\xee\\x10\\xb0\\\ne5'\\xd0\\x03y\\x1e\\x92\\xa6\\xe3fQsl\\x00_\\\n=\\xe1%\\xdf\\xd1\\x99\\xfd\\xd5\\x94\\xa7:tf\\xd3\\xc1\\xce\\\n\\xf6z\\x92\\x826\\x0fmq\\xacL\\xa3|\\x81\\xcee\\xb4\\\n\\xc2\\xf2\\xa5\\xa8\\xa1\\x9e\\xbb\\x8f\\x16 \\xd3/\\xe7\\xc6m\\xb9\\\n\\x02\\xa9zQ\\xc8\\xe1z\\xe2\\xb8v\\xb4e\\xab\\xbco\\xa1\\\nl\\xd8\\xab'\\xa9\\xaa\\xf6\\x12\\x89\\x10K}\\xd2O:o\\\np\\xa3\\x1a\\xd0\\xb8\\xa2l0Wz)\\x8c(\\x8fP\\xad\\\n\\x89\\x17\\xfc\\xca:\\xc4\\x10sh\\xe2;\\x94E=5\\xb0\\\n\\x22:9\\xd7\\x9e\\x9d\\x90>\\x14\\xa7\\x88\\xe6\\x86\\xf2\\xe9\\xb7\\\n\\x8d@\\xd5\\x9e\\xcc\\x0ct\\xb7\\x07\\xbd\\x86\\xb5U<\\x8d\\xbc\\\nJFN\\xfc\\x82\\x05k>v[\\xc5\\x16\\x801\\xb0?\\\n\\xc9\\xcb\\xd4N8S\\xc5\\xf81\\x11%;\\xd4L\\x9f'\\\n@\\x90d6\\x8dR\\x09|f\\xcb\\x12\\x84\\xb1\\x13\\xa0v\\\nf~}\\xef\\xda\\x15%9a\\xd0/\\x08ui\\x09\\x02\\\n\\xda\\xf8\\xde\\x8a\\x8d3\\x1e`\\x05\\x0ci\\xc9\\xfalU\\xdf\\\n\\x18c\\x92\\xee\\x13\\xe5\\xa7OAL\\xc82\\xad\\x91\\x166\\\n\\xeb\\x96\\xfb\\x9c\\xca\\xe61\\x892Q:s\\x04\\x0f|\\x0d\\\nG\\xb0t\\xb48\\x04]\\xc8\\x9d\\x14c\\x99\\x97\\xa6\\x81\\xc2\\\n\\x86\\x08\\xe7\\x1dF3V9RR*\\x01=^l\\xa5\\\n;\\xb5\\xb0\\xdd\\x9d`\\xfcM\\xb7~e\\xd4G<~\\xe8\\\n\\xe6\\xf5\\x95w\\x8d\\xff7.}\\xe7\\xaf\\x11\\xaa\\x89\\xda\\x9f\\\no}\\xdd?\\xab\\xe7\\x17\\x8d\\x82'\\x8cH\\xa2\\xa8I\\xaa\\\n'\\xd1]fiO\\x05\\xf6\\x9b7M\\xd5\\xab\\xf0\\xac\\x0b\\\npw\\xd2\\xe1\\x11\\xdd\\xea\\xc2\\x87\\x9f\\xbc\\xf5j\\x15\\x1f\\x8e\\\n\\x5cG8\\xd8\\xfb\\xa67\\xf1Ur\\x1bx\\x02D\\x85\\x22\\\n\\xc8\\x90(#\\x07\\x16\\xec\\x9ao\\xb17\\x9e\\x997\\x5ch\\\n\\xabf^q\\x91\\xd7k\\xe8\\xde\\x93\\xe4Y\\x82\\x17}\\x09\\\nU\\xe0\\x07\\xfc\\x9d\\xd7e8\\x986\\x9e\\xbe\\xc8\\xab5O\\\n\\xf6A\\xddo\\xa3\\xa6^\\xf0\\xba\\xa9\\x1bhT\\x16\\x02~\\\n6\\xaax%0b\\x7f\\x98\\x11\\xfb\\xfc`dqh\\x05\\\n\\xc6h\\x87\\xc4\\xc0y(!\\x06\\xa5\\xf8\\xfc\\xa8\\xaewn\\\n\\xe8\\x1d\\xda\\xa1\\xab+hJv\\xd1,\\x8e\\xfd\\xaa\\x02\\x09\\\nV\\xe6\\xc6\\x8f\\xfd\\xc6\\xfb\\xc0\\xb1*\\xa8\\x0fG\\xa5=\\xc8\\\nN\\xd2\\x17I\\xd2\\x97]\\xb6\\x04\\xcc3\\xbf\\xf9\\x852\\x11\\\nK\\xeeRx\\xe6\\x86 i\\xaa\\xb0\\x87\\x0c\\x8bHe1\\\n\\xcf\\xc6\\x1bG(\\xb9\\x5co\\xe2\\x0a\\xe1\\xedz\\xfe\\xdcI\\\n(\\xd2\\x8f_\\xa6\\xa5hB;:\\xfe\\x99\\x13\\xa2\\xa8\\xe9\\\n\\x84\\xac\\xa4\\x16\\xc1\\xe6\\xde\\xa6i\\x01\\xbe\\xb2cF\\xbb\\x91\\\nh\\xc1\\x22KwN\\xddWU\\xdf&\\x9c\\xc2\\xbc\\xd1\\x8c\\\n\\xf2<\\x89\\x8bHu\\xbb\\xd3\\xebJW\\xc2\\xca\\x5c\\xf4\\x11\\\n\\xdfl\\xe6\\xec\\xb4\\xbdi\\xb7?\\xd2\\xc9\\xeaF\\x04\\xae\\x82\\\n\\x0eDv1x\\x94@jE\\x06\\xa7\\x9b\\xbc\\x02\\x10<\\\n\\x9b\\xcdj\\x80\\xf3\\xf4?\\x13D\\xe1\\x17Tx(4z\\\n\\xd2\\x032\\xec?\\xac~\\xeaVXa\\x17\\xa8\\xf8,`\\\n\\xbe\\xc8\\x9e\\x1e\\xcd\\x9b4:h\\x17p\\xf7\\xe0\\xcd\\xa40\\\nN\\xa2\\x1d\\xf0 \\x13\\x84\\x91\\xac\\xb8\\xa6\\xd7\\xe6&\\x22=\\\n\\xce\\x8b\\xfbV\\x1a\\x93\\x02\\xfd9e\\x87\\x03\\xb6J\\xd2\\x90\\\n\\xf1\\x8c*\\xb0K\\xea\\xc7\\x5c\\xc5\\xb3\\x00\\x9fS\\xc5\\xda\\xf0\\\n\\xc0(u\\xdf\\x05%\\xc7\\x03\\x83\\x17k+\\xf3`\\xa88\\\no\\xc4\\xf2\\x05\\x08\\xf5k\\xd9\\xaeKH\\xcc\\xb5\\xf9\\xa2\\x18\\\n\\x91\\xa5S`\\xf4\\xf6\\xdcp\\xc4]\\x96o\\xe1\\xcaE\\xeb\\\n7\\xacl5\\x8e\\x9a\\x12N$\\xdceX\\x0ft,\\x90\\\np#\\xe0\\x99\\x10\\xde\\x0bX\\xc4\\x85\\x1f\\xcc\\x02b\\xcc2\\\n\\xb7\\xac\\xbd\\x9d\\xd5\\xd5@]8^\\x93\\xc6\\xaf\\x89\\xc2\\xb2\\\n\\xb7\\x03\\xd2@\\x96\\xe0\\xdcq\\xe4\\xc5sgq\\xb7\\xc2\\xfa\\\n[\\x01\\xfd\\xd5\\x14\\x06h\\xc7\\xc2\\xa7\\x1f\\xc6\\x16%\\xdd\\xce\\\n\\x0b\\x00x\\x96W%,h\\x8e\\x1b\\x93\\xcd\\xe7\\xa01\\xae\\\n\\xf0\\xe5\\xcb\\xe5\\x11\\x8f\\x0c_L\\xcd\\x0e\\x8a\\xb1\\xe9\\xd3\\x0d\\\n\\x87!PX\\x1e\\xd2\\xcb\\xba\\xda\\xd8\\xf2\\xb4\\xfcns\\xd5\\\n*-DYP\\xc2}KL]i~\\x8b\\x9a\\xb7:\\\n\\xa3w\\xab\\xdc}7\\xc6\\xda_\\xc4\\xec\\xdf\\x83\\xad\\xa0\\x0f\\\n;p\\xa8\\x09\\xcf\\x0a\\xbbP\\xbe&\\x92q\\x97#\\x8d)\\\n\\x1b!\\xd8\\xb6D\\xde*\\xee\\xad~X\\xc5\\xd9\\xf4\\xf1\\xa0\\\n\\x01\\x13O\\xb4b\\x88\\x02\\x06\\x1ac\\xc6\\x1c\\x9a\\x95\\xb6-\\\nUQ_\\xa5\\x17m\\xd1\\xf0?\\xa6+\\xeeg\\xcc\\x05\\x9a\\\nbQ\\xa4\\x89%\\xf5\\xdd\\xb4\\x0a<\\xa4\\x00\\x19\\xba:G\\\n\\x1fu\\xfc\\x92\\xf3+\\x81\\xbe\\xa0\\x1f\\xd2\\x9b\\xec ]\\x9c\\\ne\\xfcN|}\\x17\\xbb\\xddlV\\xd1\\xcfK\\xfaw8\\\n\\x99#[\\x1c(2\\x05Y\\xfa\\xb1v\\xe7\\xac\\x0ef\\xeb\\\n\\xf1\\xe9\\xd3\\xa3\\xc82\\xf4\\x06\\xdb\\x87\\x07\\x0f\\xf7\\x1eY[\\\n\\xcd\\xe0\\xf1\\xee\\xd6\\x8eq\\x08\\xb8N\\xe2\\xf6t\\xba\\xc0g\\\n\\x09\\x81\\xe8\\xf6d\\x03\\x0b\\xa3n\\xe5\\xe0h\\xe1U\\xfc\\x03\\\n\\xbaYWkr\\xbb\\xd4\\x15\\x00\\xe3\\x02\\xa1~\\x08zS\\\n\\xa7\\xbf\\xe0z@\\x83\\x22\\xc6e\\xc2\\xfa`\\x03\\xc8Oj\\\n\\xd8\\x8f1F\\xc8\\x9eu5rng\\x0eN*\\xb9\\xb2\\\n\\x81\\xae\\xcbX61\\xff(\\x1e\\x8d\\x92A\\xd7\\x89d[\\\n\\xf9\\xfet\\xdd\\x97Q8\\xc7{5\\x95\\xf3\\xf3M\\xba,\\\n@~]n;\\xf1\\xd9\\xa3\\xcf\\xd0\\x03um\\xcd\\x8a\\xa3\\\nE\\xee\\xff\\xc3A\\x8b\\x1f`\\xe2\\x03x\\xab:\\x8eS)\\\ncY\\xcd\\x85\\xb86\\x17\\x07\\x02nS\\xf5\\xdb\\x1b\\xda\\xfb\\\n\\x8c\\xbd.\\x22\\x9da<\\xda\\xf4\\x0eze\\xdd\\xc7;\\xc3\\\n\\xc1M\\xa4\\xae#\\xb1\\xe5\\xf6\\xf9\\xa77tk\\x98\\xb8\\xf1\\\n\\xf3g\\x92\\x8b\\x17\\x86\\xc5E\\xa0\\x02\\xbd\\x8c\\xf0\\x9fu\\xbf\\\n\\xf1\\xf9\\xb3M\\xd5@\\x81\\x1bw\\x93a+\\xee'\\x95\\xcf\\\n\\x9f\\xc1\\x06\\xddoFv\\xc2F\\xd3\\x0f3\\xf0\\x1a}3\\\nZ\\xae\\xcd\\x98K\\xf96\\x83K$#\\xb2\\x80\\xf2\\xe7\\xb0\\\n\\xfb\\xff\\xfe\\xf9z\\xf3\\xfd\\x8a\\xd0\\x9c\\x03\\x85\\xea\\xe3i\\xe7\\\nV\\x84\\x85\\xd3\\x82\\x10\\x0a\\xb9\\xad\\x11\\xc7:\\xec\\xf9\\xd6#\\\n\\x0c\\xb7\\xd1\\x8d_\\xa6W1n\\x97a\\xe5\\x18l]\\xa1\\\nP\\x7fp|\\xf8\\xc5\\xc9\\xee\\xf1\\x09H\\x88\\xe1\\x93\\xb8\\x85\\\n\\x12\\xae\\xe5\\x91\\x9b\\x9e\\x82\\x85\\x86\\x8e0\\x80\\x8f\\xf1\\x16\\xbe\\\n\\x07<1<\\xda\\x0e\\xbd/\\xd2\\xee\\xad`\\xe9!\\x5c\\x0f\\\ncw\\xbfL\\xbe\\xcb\\x96\\x17\\xe7\\x1en\\xab\\x93\\xf6/z\\\n\\xf1\\xa0\\xbd\\x13\\x8fb\\x93\\x03%w\\xdbW\\x18\\xe6\\xe4\\xe4\\\nQ2\\x04I\\x9e\\xd0B\\xe4\\x16\\xbd\\x865(\\xb1\\x93\\xd8\\\n\\x8fY$\\x0bg\\x93\\xd6\\x80\\xceXC@\\xf9\\x10\\xb4\\xa9\\\n\\xcb\\xde\\xebpy\\x99\\xa8\\xa2\\x18\\xe1Q\\xd2z\\xd1CK\\\n\\xcc\\xca\\x8a\\x9b\\xd1I_$K\\x94\\x8b\\xd7\\xd3\\x86'\\xf1\\\ne<H\\xc3\\xe5\\x8a\\x0b\\xb5T\\xd9\\x82E4\\xf17\\xbf\\\nH.>OG\\x88h:u!\\x08Qzt\\x0d*\\\n\\xee\\x12\\xe6:M\\xe4v/g\\xda\\x0d\\x0b3\\xd6\\xb9M\\\n_aIg\\x97\\xe7t\\xf6\\x10t\\xd88\\xf4P\\x95\\x8d\\\nK\\xcbQnU\\x96\\x05(\\xf4y\\xaf\\xfb\\x83q\\x82Q\\\n\\x91\\xbc\\x17\\xea\\xa7C\\xf4\\xcfwv={\\xd8aT\\xda\\\n\\xbd\\x81ZX\\xb6F\\xfbI<\\xb46\\x84/\\x8d_\\xc1\\\n\\x85\\xbc</\\xa02\\x7f\\xbd\\xaav\\x1f\\xad\\xbc$\\xc1$\\\n\\xd7\\x9e^\\xfa\\x16\\x84_\\xe0Yz\\xf1\\x12f\\xd4r\\x84\\\n\\xff\\xfa\\xe6!\\xd8a\\xb2\\x07\\xfb\\x15\\xca\\x03qT\\xf3\\xfc\\\n\\xcf\\x22\\x9dJ\\xa0\\xa2\\x18\\xc0\\x1c\\x0d\\xf8\\x95.\\xcb\\x84p\\\n\\xddK[x\\x87\\x9b\\x9a\\xcb\\x8ek\\x91$\\x9e\\xe1\\x82#\\\n\\xcelZ\\xb9\\x10\\x98M\\xf9[\\xb1`\\xe4\\xb5\\xafY\\xf0\\\n\\x9a' \\xf3\\x83\\xb9\\xeb\\xfb\\xa4\\xf7U\\xda\\xe9\\xc4\\xe7\\xeb\\\n\\x95\\xf3\\xf6\\xeay\\xd5_\\x85?K\\x99\\xdb\\xbf\\xe4\\xc1t\\\n\\xb6\\x06\\xff\\xd6\\xd6>\\xa9~\\x19.5W\\xcf\\xd7\\x01\\xee\\\n\\xec\\xfbK\\xcd\\xf7\\xd7\\xe8\\xdf\\xf3*\\xfb9\\xd1?\\xfe&\\\n!I],\\x8f`\\xde\\xf4zK\\xd3\\xa7\\x17\\xe3\\xeeh\\\n\\xac+|\\x1fa+\\xe7\\x95\\xb3\\xef\\xfb\\x80\\xc6_\\xf27\\\nY\\xf6<\\x019\\xfc\\xe408\\xdd\\xfd\\xee\\xf6\\xfe\\xd6\\xc9\\\n\\x89^?T\\xb0\\xa7\\x94]&\\xa4\\x9b\\x91\\xe5>a\\xfd\\\n\\xb4\\xc6\\xd1\\x93'\\xca0:\\x8bV?\\xf0\\xf52\\xd4\\xde\\\nE\\x02Y\\xbf``\\xd5\\xef\\xecnLZ\\x00\\xb3TA\\\n\\x9cI\\x12\\xed\\xbe\\xc8e@\\x12\\x8c\\x10\\xda\\xe0\\xd5G\\xc9\\\n6\\x85\\xc4\\x00\\xd2\\xf5\\x22\\x80\\x02n9\\xda\\xb6P\\x98 \\\n\\x9e%\\xdd\\xb5\\xfa\\xa8\\x8a\\x98n\\x90\\xce\\xf0\\x0c~\\xed\\x1d\\\n\\x1e\\x04O\\xb6N\\xb7\\x1f;\\x8bn\\xf5\\xfd\\xca3\\xa6\\xc5\\\n\\xfat\\xe9t\\x90\\xe2\\x8b\\xe7\\xeb\\xd5\\xf7\\x1bK\\x83\\x97\\xa1\\\n_\\xa9l\\x86\\xe78H\\xc4\\x16\\xf0\\xc3\\x9f\\x02\\xbc\\xb7*\\\n\\xb5\\xacz\\xbe\\xb7\\x0a\\x1d\\x02\\xc1\\xea\\xe9\\xd6nzKh\\\njEC\\xab]\\xfc}.\\x0e)\\xb0\\xd6\\x9cW\\xa6K\\\n~\\xa5\\x80\\xa90\\xdf\\x11a\\xfez\\xbe\\x0d\\xc0Rx\\x0d\\\n\\xb0\\xc2\\xfc\\x0c\\xe4:\\xf3@3\\xe4\\xff\\xd7\\x0f\\xd4\\xd1\\xc0\\\n6m\\x8a\\xb1\\xef\\xb7\\x07\\x9bb\\xa2\\x02,\\xa5j\\xb6\\x84\\\n\\x9cp\\x0f\\xe3\\x09\\xd0\\xaf\\xfb\\xcd\\xc0.(\\xcc\\x22\\xe56\\\n4\\xd8\\x07\\xfa\\xd7\\x87\\xca\\x81\\x1c-\\x12vQ\\x9e\\xd8\\x95\\\n\\x89\\x08l=\\xc1\\xd58\\xd1\\x04\\x7fi\\x04\\x83;\\x8c\\xaa\\\nf[\\x00\\xb1\\x1e\\xf8\\xd9\\xc7\\xf7A-S`\\xaf\\x92\\x8b\\\n\\x17\\xe9(\\xca\\x96\\x0a^~\\x16\\xdd\\xbf\\xf7\\xf1f&=\\\n\\xf2>\\x06\\xda\\x84\\x94\\xf9Q>\\xf3#\\x9d\\xf9a>\\xf3\\\nC\\x9d\\xf9A>\\xf3~\\xb5.\\x99\\xf7\\x8a2\\xa5\\xe4F\\\n\\x01\\xda\\x0ft\\xe6\\xfd|\\xe6=F{\\xbfV+\\xca\\xa3\\\n\\x82\\x1f\\x14\\xe5mp\\x9eC)\\x9dY\\x87L?\\xc8\\x10\\\n\\xd0,&\\xb0\\xe6\\xc9\\xb4P+\\xa7ZRQh\\xf9\\xf8\\\n\\x8e80\\x90.\\x0f\\xdaE\\xef\\x02\\x0f\\x00yI\\x9b\\x87\\\n\\x87\\x01\\xd7SSy\\xb7gm\\x83\\xa3,\\xcaY\\xa0t\\\n\\x85<\\xf3\\xa0\\xe2K\\x8cn\\xc9\\x1b\\xe9\\xe1t\\xca*\\x88\\\n\\xb3\\xfa\\x0b\\xa6u\\xbc\\x88\\xe0\\x916\\x91\\xd1\\x9c\\x06\\xbd\\xf6\\\n\\xb8%\\xbb\\xde\\xc1K\\xb7\\xf0\\xd9\\xf9\\xfaR\\x13\\xa4\\x02K\\\n\\xed\\xf3v\\xf5\\xfdM\\xff\\x0c\\xc4us\\x9dlr\\x83\\x97\\\n~\\x96\\xc8\\x83\\x97@#\\x8e_Ow\\xaf\\xd1\\x10Z1\\\n\\xb5]\\x8cao\\xb3\\x07{\\x9e\\x5c\\x03N\\xc6\\x17\\xbcd\\\n\\x1a\\xe9\\xf9\\xb1\\xdf\\xc0\\xf2\\x9f\\xc1\\xb0\\xd6\\xea\\xf5\\xfa\\xc6F\\\n\\xcd\\xcb\\x8f\\xf8'8\\xe26X\\xbd\\x10\\xec\\xe3\\x0cX\\xed\\\n\\x93\\x8d\\x8f\\xbc\\x92\\x89`\\x83}\\x5c\\xff\\xd0+\\x99\\x126\\\n\\xd8\\x87\\x1bu\\xaf\\x84\\xffm\\xb0{\\x85m\\xfb\\xc0\\x05\\xab\\\n\\xd5\\xea\\x85\\xd8\\xeeU?\\xb4\\xc0j\\x9f\\xd4>\\xbcW+\\\n\\x04\\xbbo\\x83}\\x5c\\xfb\\xb0\\xfe\\x91W2\\x8b\\x0c\\xd8\\x87\\\n\\xf5\\xda\\xc6\\x07^\\xd1\\xac\\xc1)\\xe5\\xcffo\\xc1\\xf6[\\\n\\xdd\\xf6\\xa0\\x97\\xb6\\x81\\xef\\x993\\x97]\\xe6Zz\\x98\\xc0\\\n\\xde\\xab\\xc5\\x1akA\\xbe\\xcc\\x1a\\xbcu\\xcdjh~2\\\n\\xdcn:E\\xcb\\xcb\\x05;\\x10\\xdd\\x0c\\x06:[\\x82\\x9d\\\n\\x10V\\xc6\\x9aky]\\x8a0\\x8e\\xf2\\x8a\\x0e\\xb1\\xb4e\\\n(/w\\xcb\\xd6\\x90\\x9a\\x8e\\xed\\xa0\\xbdK\\xe1\\xfc\\x7f;\\\n\\x8c\\x96\\xe0\\xda\\xdb\\xfd$\\x82}D\\xce\\x98\\xf0\\xa4\\xd7N\\\n\\xa6\\xd3e\\xd1\\xce\\xa1\\x7f\\x14?\\xb5\\xdb\\xc2GS$\\xf1\\\nfxd\\x92}\\xf7\\xee\\xba>6|0\\xbe\\x8a\\x96\\x9d\\\n\\xea,\\x9b\\x88]\\xd9\\xa7\\x9f8\\xd7\\x15\\x0b\\x83\\x16Ee\\\n%\\x8b\\xd3\\xeb5h\\xac\\xbb\\x1f\\xad\\x1e\\xf4\\xb0\\x96\\xa3N\\\n\\xfc\\x06)\\x88\\xeb5\\xaaC\\xce\\xb6\\x90mJ\\x0cR}\\\n\\x18\\x93\\xd5\\x1b\\xd6 C5P\\x07\\x0d\\x04n\\xb2\\xad\\xe3\\\n\\x06R\\x01\\xac\\x81q`\\xe5\\x02$|\\xf7\\xb9\\xac1\\xf4\\\n\\x80\\xfa0\\xd2\\xa7\\x1c*j\\x91\\xdf0\\xb0t@a>\\\n\\xbd\\xc0\\xca\\x22\\x9b6\\xe6\\xb7:\\xf0'\\xbc\\xb7\\xf1\\xf0\\xc3\\\n\\x0f\\xb76jk\\x1f}X\\xff`\\xad^\\xdf\\xf9`\\xed\\\n\\xc1N\\xbd\\xbe\\x06\\xd2\\xa4\\xf6\\xc1\\x83\\x9d{\\x0f?\\xf9\\xf8\\\n#\\x8f\\xacU8Sa\\xdf\\xc4\\x11\\x1f\\x0dB+$\\x98\\\n\\xb6\\xe6\\x0c\\xf1^I\\xc5\\xbb\\x01\\xdd\\xeaz4\\xea\\x87\\xeb\\\n\\xeb\\xaf^\\xbd\\xaa\\xbe\\xbaW\\xed\\x0d\\xae\\xd6\\xeb\\x9f|\\xf2\\\n1]\\x11Z\\x97W\\x9e\\x0d\\xb1n\\xfa\\x07\\x0a\\x05\\x90*\\\nX.\\xb80\\x03\\xc2~\\xfe\\x8d\\x1a:\\xd3\\x18\\xc1\\x1c\\xa3\\\na*\\x01\\xb2\\x03\\x97\\xbd\\x1a\\xa4\\xa3\\xa4\\xf2\\x9dO7\\xd3\\\n\\x9b~o0Z\\xd2\\xbd\\x00\\x12zK)\\x9a\\xee\\x11\\x8e\\\n.UE\\xde\\xb7\\xcc\\x08y\\x9f}\\xc7n\\xfa\\x1e\\x15O\\\n\\xda\\x11\\xde\\xb9\\xa3\\xeb?\\xe5\\x84y\\xfe\\xfa\\xcb\\xbd\\xdd/\\\n/\\xd3\\xd7e\\x14\\xfad\\xfdu'\\xed\\xbe\\x00\\x09j\\xf3\\\n\\x0b\\xfc\\x9f\\x93 1l\\xd9\\xa0[\\xb1\\xa3\\x01\\xcf\\x9c;\\\n\\x0cG\\x83D\\x88V\\xc9<\\xa0,\\xc73\\xf8Z\\xf5\\xba\\\n\\xba\\x180\\x07\\xa4\\xd7\\x1f\\xe1\\x0bs\\xeb[\\x03\\xec\\xf6m\\\n\\xa1\\x9f\\xa4\\xc3\\x16\\x02\\x9d\\xbc\\xb9\\xb9\\xe8u\\x86[\\xb7-\\\n\\xb7\\x03\\x0d\\xbe\\x88G\\xb7\\xae\\xe7\\x11\\xde`\\x8a;G(\\\n\\xfc\\xc6|\\xa1\\xf4\\x96%O`p0bv\\xaf\\xbd\\x9f\\\n\\xa0\\xf9\\xefN];MZ\\xd7\\xdd\\xb4\\x15wn]\\xdb\\\n\\xb8\\xaf\\x98\\xaa\\xc3\\x94\\xbc5I\\x1e\\x0d\\x92\\xe4\\x05,\\x90\\\n\\xdb\\x90\\x90\\xb6n[\\x8a;\\x85\\xf6\\x1c\\x19\\x82\\xb7o\\xe9\\\n\\x83\\xdb\\x16}\\x10\\x0f\\xd3\\xd6>\\x8cB\\xf7.\\xb4T,\\\n\\xd2m\\xdf\\x8d\\xc5\\xf0J\\xc0N\\x1a\\xc322z\\x12\\x0f\\\n^\\xdc\\x81e@C\\x80\\x8dT\\xeb\\xe4:\\xee'\\xb7\\x1f\\\nv\\x00\\xa0\\x05\\x1f\\xe4\\xfd\\xdbN\\x83\\x07w\\x19\\x84\\xb7\\xaa\\\nP\\x11e\\xf4\\xb07\\xb8\\xe3\\xc0\\xd3\\xc0\\xd5\\xcd\\xf0g\\xcb\\\n\\x95GN\\xbe\\xc5\\x95\\xd0[\\xdcq-\\x06\\x19\\xf5x\\xc9\\\n\\x98\\x03\\xf28\\xe9\\xf4\\xa1\\xcf\\x9d\\xdeUQW\\xe9\\x5cl\\\n\\xfd4\\xf9\\xae\\xf5J|9L\\x89@\\x94\\xf0\\x14@\\xdd\\\n\\x9b^\\x17\\xf5\\x8e9\\xc8\\xf2\\xb0\\xb7F\\x1a\\x8fG=\\x94\\\n\\xda\\xebq\\xb7\\xdb\\xe3\\xe5g\\xed\\xf5M\\xe7\\x8e\\x85o\\xf8\\\n\\xe9\\xc9\\xbb\\x96J\\xba\\xadNo\\x98\\xdc\\xb5\\xd8U\\xe7M\\\n\\xff\\xfa\\xae\\x85n\\xc6\\x9dQ\\xaa\\x8el\\xeeX\\xf6\\xce\\x05\\\n\\x88\\xbd\\xefZ\\x08\\x1b\\x88A\\xe9\\xe7\\xb1f\\xf2z\\xa3`\\\nh-\\x08\\xe4\\xa8\\xad''\\xad\\xf6b\\x18:\\x88^\\x08\\\n5,\\x9e\\xd2\\x19@R\\xb1\\xe7\\x83\\x14\\xb3H\\x16\\x08\\xa8\\\n\\x01\\xd5-j\\xfd\\xc5Eo\\x11\\x11\\x10\\x0b\\xb7}\\x01`\\\n\\x0b7\\x0b\\x0b\\x81`\\x8c\\x06\\x0b`J\\xb89\\x0b\\xf5z\\\n\\xd4\\xbfL\\xd2E\\x15\\xe2\\xe0\\xb0}}\\x11`\\xd2N\\xe3\\\nW\\xe9\\x8bt\\x0d\\x98\\xe3ek\\x114 Mn\\x16\\x00\\\n\\xc1\\xfe\\xa3\\x05\\x0c\\x1aw\\x17\\x0d\\xc3\\x18\\x14\\x12\\x0c\\xb7>\\\n\\x1f\\x0av\\xa1\\x17\\xb7\\x9b\\x0b\\xe47Ke\\xf0\\x17\\xec\\xff\\\n\\xe3\\xb7-\\xb7\\x06m\\x18\\xdc\\xb94\\xb0\\xfb\\xdaqr5\\\n\\xee\\xc4\\x83\\xbb\\x16\\xdd\\x8e;\\xe9\\xd5 \\xee_\\xa7\\xad\\xb5\\\n\\x07\\x05\\x0c\\xbc\\xa8\\xfc\\xc3A\\xfcb4\\x1e\\xbcS\\xd9\\xb7\\\nl:\\x02R\\xbd{\\xa0\\x7f\\x15\\xab{\\xf3\\x8a\\x9f\\xc4\\xdd\\\n\\xe1I2H/\\xdf\\xaa\\xed\\xa6\\xf4\\xbb\\xd6\\xfe\\x96\\xbdg\\\n\\xa3\\xc0\\xdb\\x96F\\x7fh\\xda\\xda9\\xd4\\xf7\\x0bB\\xb8V\\\n&\\xde\\xcbz\\xb5\\xb6\\x86\\x11\\x1e`\\x99\\x85\\xf5\\xc1\\x0b\\x97\\\n\\xebv\\x08X\\xe3\\x8a\\x05:R\\xc1\\xb3^\\x95\\x89\\xf1\\xc0\\\n\\xc6v\\xe1\\xa52\\xf1\\x9a\\xa3\\xfbe\\xe5\\xeer\\x05U\\xd8\\\n\\xdesT\\xda\\xf1\\x9c+(`\\xe7\\xab2\\xa2\\xc7\\x95\\x94\\\n\\xc8T\\xa1\\xb4>\\xaf\\xb4\\xcf\\xfa\\xd6l\\xc6\\xd1\\x9d\\xecJ\\\n\\xf5\\x82+\\xe1\\xb0\\x0bG9\\xe9\\xd9Yx-\\x82\\xe2\\x10\\\n\\xf3\\xfd\\x03\\xf4\\x0e\\xb0\\xf3B\\x93\\x5c\\xd2\\x08Z\\x16\\x0b\\xbd\\\n\\xf1\\x02]\\x16\\xe3P(\\x07f\\xfd]\\xbd\\xc1\\x07*&\\\n&Q\\x1e\\x84\\x98N=\\xf9\\x85v\\x82\\x822\\xfaf\\x85\\\nU(\\xf2.0\\xe6\\xa6\\x97\\xa9\\x93,\\x17\\x12{N!\\\n\\xf5u\\xec\\xbd\\x02\\xdc\\x99\\xeb{E\\xd8\\xf2\\xe7\\xc7\\x1e\\x96\\\n\\xf4\\xa2\\xa8\\x08\\x1c\\x0f\\x8a'Eh\\xf2\\xe1\\x08\\xd1\\xedj\\\n\\xb2w\\xf0x\\xf7x\\xef4\\xf4\\xbeL\\xbb\\xd70QG\\\n_z\\xc1\\xd6\\xd3\\xd3CH\\xc0\\xc5\\x1e\\xbeN\\xf6~q\\\n7\\x04\\xb8\\x87{\\x07{\\xa7\\xdf\\x0b\\xbd\\x14\\xa6\\x0b\\x8c\\xff\\\n\\x1b\\xc8y\\xb2\\xb5\\xbf\\x1fz\\xc3\\x9b\\xb8\\x03\\xdcvpx\\\n\\x0c\\xdf\\xa1\\xd7E\\x03\\x1f|?\\xd8{\\x14z\\x17\\xe9\\x15\\\nL\\x82\\xed\\xc3\\xfd\\xc3\\xe3prz\\xbcupr\\xb4u\\\n\\xbc{p\\x8a\\x01\\xaaA4p$$\\x80x\\xb6u\\xbc\\\n\\xb7\\x05\\xc9\\x93\\x1c\\x96\\xc3\\xfd\\x1d@\\x03\\xa2\\xcb\\x0b\\xf6N\\\n\\xb7\\xf6\\xf7\\xb6\\xa1\\x05$\\x8a8O\\xa5!\\xc4\\x9a\\xca\\xd8\\\n9|\\xfa`\\x7f\\xf7\\xe4\\xf4\\xf8\\xe9\\xf6\\xe7\\xa1\\xd7\\xee\\x8d\\\n\\x81\\xaf\\xd7\\xe8\\xda\\x05\\x8c\\xd8\\xc3\\xe3\\xad\\xcfO\\x9f\\x1e\\x87\\\n\\xde%\\xcbe\\xc6\\xa3S\\x09\\x91\\xce:\\xd9>\\xde;\\x82\\\n\\xd6\\x8aW\\x12\\x81\\xaa4\\x82T\\x19'\\xd0\\xb5\\x13\\xa0\\xe4\\\nC\\x80\\x85\\x8e\\xad\\x0dQ\\xe8\\x09\\xbc\\xc9\\xe2\\x22V\\xbe\\xce\\\nS\\xfd0\\x99\\xba7\\x1a\\xc6\\xee\\xaf\\x05\\xe7t\\xfd\\xc9\\xe1\\\n\\xc1!\\xd0x{\\x17\\xa4N\\xaf\\xdb#\\x83\\x13P\\x0e\\x86\\\nn\\x0f\\xc9\\x8a#\\x97\\x22]O\\xb7\\xf6\\xf6w\\x81\\xb2#\\\n\\xba\\x88\\xe5\\x05\\xfb\\x87\\x87G\\xf8\\xdd\\xe9\\xf5\\xfa\\xf8\\x0d\\xc4\\\n\\xdb=\\xdd~\\x8cI@\\xb8d\\x04z\\x09\\xa4\\xe2\\xf3@\\\n\\x8f\\x8e\\xb7\\x8e\\x1ec\\x13P\\xa3Yk\\x99\\x85\\xd5\\x0b\\xb0\\\n\\xb3\\xa7\\xdf\\xc3\\xf8\\x12\\x94\\x87*\\x1e\\x86\\x18\\x84\\xf1}\\x08\\\n\\xc3\\x1aN\\x8e\\x8ew\\x1f\\xee}7\\xc4\\x87\\x18\\xc9\\xec\\x85\\\nL\\xf5]\\xe6(\\xf8::<9\\xe5\\xec\\xdep\\x84)\\\n\\xb3`\\x7f\\xef`\\xf7\\xc1\\xf1\\xee\\xd6\\xe7\\xe1\\x84\\x99\\x12y\\\n\\x12Xm\\xf7\\x0b\\xcc\\x09\\xd1I\\xbaC\\xcfH\\x1d\\x1c2\\\n\\x18\\xf0\\x0d1\\xb7\\x17<:<\\xdc\\x91\\xb4\\xab^\\xaf-\\\n\\xa9\\x0f\\xb6T\\xe2E,iV-\\xdc\\xf8\\xc9\\x83]h\\\n.`\\xbf\\xa0\\x07j`><<\\xdd\\x05\\xce\\x88\\xf1y\\\n\\x17`\\xae\\xa7G0\\x02\\xe8\\x86\\xec\\xb5\\xc78\\xa9\\xe2Q\\\n\\x22]\\x01D\\x16\\x1e\\xee\\x17\\xb6\\x8f*R\\xa4\\xd8;\\xd8\\\n\\x81\\x09\\x80\\x84<\\x08'\\xfb\\xbb\\x0f\\x81\\x93:\\xc9%\\xb0\\\n\\xd06$c=\\xad\\xa4K\\x15\\x1d\\xef=z\\x0c\\x99\\x83\\\n\\xf4\\xeaz\\xa4&%\\xf7\\x1f\\x9d:S\\x9c\\x10\\x16*\\xa8\\\n\\xadM&\\x9a\\xf4\\xaa\\xabk9y\\xbc\\x07\\xf8'\\xf6\\x87\\\n\\xc0\\xd1\\x0d4\\xe9\\xfb)\\x0c\\xe7\\xe7\\x07\\xbb''!\\xde\\\n\\x1f\\x07T ?0\\xa0\\xd4\\xee\\xce\\xde\\xd3'\\xc0G\\xa0\\\n\\xc2\\x8eo\\xbc\\x80\\xc0(\\xb3\\x85T;8<\\xdd:\\xdd\\\n;\\xc4N\\x1c\\x1e<\\xda\\xd9{\\x86\\xcc\\xd3\\xbdj\\xa7/\\\n\\xa1\\xb1\\xdb\\xa7OqF\\x03\\xc7\\xc5h\\x86\\x1b\\x10\\xcf\\x1d\\\no\\xed\\x00\\xe1 m\\x10\\xb7\\xd1T\\x86\\xd3\\xe3\\xbb8)\\\n`\\xf0\\x8f\\x0f\\x9fB#w(a\\xd0\\x1bC\\x1b\\xdb\\x94\\\n\\xbe\\xbdw\\xbc\\x8d\\xb4l\\xa5\\x83\\x16>\\xd4e\\x13\\xcc%\\\n\\xd0\\xe9\\xe1\\x114\\xae\\xd7G\\xac\\xa7\\xa7\\x87O\\x10\\xf1h\\\n\\xd4\\x83\\x86?=\\xda\\xd9\\xdbztx\\xb0\\xb5\\x0f\\x5c\\xbd\\\n\\xf79`\\x1b\\xf7A+\\xbf\\xeau\\xe3\\x0e>\\x87\\xf1\\x22\\\nA\\x91\\xf1\\xc5A\\x16\\x0a\\xfd\\x94\\xb3p\\x06\\xd7\\xd6\\xf1\\xf1\\\n\\xe1\\x176\\xaa\\x18\\x8dU^\\xf0l\\xf7\\xf8\\x14\\xbb\\xa9\\xb0\\\n\\xc0\\xba?\\xc2\\xde*\\x0c\\x8f\\x0f\\x8f\\xf7~\\xf1\\x10\\x87M\\\nA\\x5c\\xf7\\x06\\xe9W\\xf8\\x14\\x88\\x869z\\xbcur\\x08\\\n\\xd2\\xf2\\x11v\\xbd\\x7f\\x1d\\x0f{ -\\xaf\\xb0\\xffO\\xb6\\\nv\\x8e\\x9f~\\xf1\\x00F%n\\x0f\\xc6\\xaf.` \\x84\\\n\\x95\\xca\\xfb\\x9fe,t\\xc1\\xe3\\xf9s\\x11\\x0f\\x13\\x9e@\\\n[\\xdf\\xdd;\\x81\\xc1z\\x9d\\x0e\\xe7\\xd0\\x98\\xd9\\xe5\\x04\\xa5\\\n4\\xcd>|H)89\\xdcG~\\x1c\\xf6:\\xc8\\x92\\\n;['$4\\xda\\xf1\\x10%\\xc6\\x0c\\x96\\x8f\\x9d]\\x97\\\n\\xcf\\xdda\\xc3\\x9cC\\xa0\\xd9\\xfe\\xd6\\x11\\x03\\xe0\\x85\\xa3N\\\n\\xdc\\x178\\x9dE\\xe0*o\\x16|\\xb1\\xb7s\\xfa\\xd8\\x95\\\n\\x0a\\x0fq\\x19\\xbbL\\xb1\\x99\\xc0\\x7f\\xc0\\x99\\xa7\\xdf;\\xda\\\nE\\xba<\\x222\\x8ezWDAt\\xa4\\x7fz\\xc2\\xfd\\\n\\xc7\\xcb6\\xe3!S\\xe0\\xf4\\xf0p\\xfft\\x8fh\\xd8\\x83\\\n\\xad~\\x1f\\xa7\\x17\\xde1\\xe0\\xdb\\x11\\xd8\\xf7\\xdd\\x83GX\\\n'\\xb4\\xe8{\\xf8\\x1f\\xce\\x95'[\\xa7\\x8fE\\xdcB\\xd3\\\n\\xde\\xe0\\x7f8yPI\\x11\\xd1[\\x02\\x99\\x81\\xca@d\\\nry&Z\\xf9<%\\xdd\\xf2\\xdb\\x9f\\xbb\\x08Z/\\xf2\\\n\\xadp`\\xa4\\x199\\xb82\\xd8\\x22\\xf8\\x83\\xddG \\x04\\\n\\x9e\\xed\\x96\\xd0\\xa4\\x9b\\x5c\\xc5x\\x02SB\\x1b\\xbb\\xf4\\x9c\\\n\\x92%\\xa5JJ\\x94@\\xe7h\\xa8\\xe0s\\xb4\\xb4\\xf0;\\\n4\\xb0*(\\xa5AY\\x99[\\xd2\\xae\\xb4lA\\xf9Y\\\n\\x80s\\xe3\\xe1>\\x08\\xa1\\x89ZxBO/7\\xa4\\xbb\\\n\\x1c\\x92~F\\xd1 \\xbd\\x00\\xe6<LE\\x0f&<^\\\n\\x02\\x05\\xe5\\xe8\\x80W1\\xd0\\x8b\\xba\\xbc\\x88\\x9d\\x80\\xd8\\xc2\\\nY\\x81\\x91\\xba\\x01\\xffS\\xd0\\x1a\\xc2\\xc9.H\\x92\\x04\\xa4\\\n\\xc8.H\\xe6\\x04\\x97i\\x5c\\xa1i\\xf1\\xc6\\xa9\\x01\\xd2\\x05\\\n\\xf2[\\x90\\xff\\x04\\x97\\x0a\\xf8\\x8b\\xaa\\x11jD\\xe8k\\xdb\\\no\\x01\\x1a\\xe5\\x90\\x17N\\x0e\\x8f\\xf1\\x86\\x0f\\xc8\\xa9:h\\\n\\x87\\x07\\xe1Fp\\xbc\\xbb\\x8f\\x97y\\x8ev\\x0f\\xc2\\x0f\\x82\\\n\\xed\\xfd\\xc3\\x93\\xdd\\xf0~p\\x04\\x0d;\\x0d?\\x84\\x0a\\x0e\\\n@j}\\x14<\\x13\\xf9\\xf5q@b\\x07\\x1f:Q(\\\n\\xd1i\\xff\\x04=\\xfe\\x8fw\\xd0\\xd9\\xff\\x08\\xfe\\x01\\xc4\\xf0\\\n/ \\xa6\\x84]\\xfc \\xc4\\xf8z*\\x22\\x86\\xbf\\x84\\x18\\\n\\xfe\\x0ab\\xbc\\xd4\\xf0\\x22\\xedo\\x81\\xaa\\x9c^\\x8cG\\xc9\\\n0\\x9c\\x80\\xf6\\xb2M\\xd7\\x82\\x96k\\xc1x\\x98<NP\\\n\\xf8\\xe0\\x07d\\xf4\\x07\\xe8\\xa6\\x8a\\x8by\\x88\\xae\\x98x\\xf9\\\n\\xdf.*j?\\x03\\xd4\\xe5^H\\x07\\x06\\xb1\\x03_\\xa0\\\n[u\\xe1\\x0f\\x19\\xa2\\xe0/\\x9e\\x85\\xc3\\x1f6\\xbd\\xe1\\xae\\\n\\x88\\xd2\\xba\\xa3\\xcb\\xf8&\\xed\\xbc\\xc1\\xfah+\\x9b~\\x95\\\n\\xa8\\xdf\\xaftK(GZ\\x11\\x90\\xfd\\x0b\\x7f\\xe0\\xe5\\xce\\\n+Z?\\xe5\\xfdD\\xcc\\xa4\\x9e\\xd4\\x83k\\xd0\\xba\\xf0\\xbb\\\n\\xa4\\xed\\xb4M\\x00Z\\xda\\x1d\\xf0\\x94?>u\\x00\\xbe\\xb0\\\n\\x03\\x18\\xd3\\x18;\\x80\\xaf\\x84\\xe2\\xad\\x8a\\xc03\\x1d\\xa04\\\n\\xd5\\x01\\xf9\\xc0\\xf6\\xcbOn\\xbeJ\\x97\\x1a\\xa8\\xf1\\xf0\\xd7\\\n\\xb4\\x1d>p-\\xf1\\xa8\\xe5x:\\x0a-\\xc7\\xa6P\\x81\\\nf\\xd0\\xede\\x89\\xfe\\xb3\\x22\\x1a\\xfc\\xc8R-x}\\xd3\\\n\\xe9\\x0e\\x89|\\x99\\xb7a\\xd5\\xfb\\x9e:\\x8c\\x19\\xda\\x09\\xf8\\\nA%>\\x9b\\xd5\\xefe\\xc2\\xd6;*\\x8c\\x9c/7\\xd8\\\n\\xe5U2\\x9f\\xda[\\x0e\\xf9\\x90zl\\xee\\x05C\\xc5\\x18\\\nn\\x18j\\xc5\\x8d\\xf2\\x17\\xe9\\xe8\\x1ao\\x96\\xe3#\\xadP\\\n\\xe1t\\x8aE|\\x01\\x90w\\x9e\\xb0O\\xf8MM\\xe2,\\\n\\xb4\\x0bD\\xf0\\x1fW.i\\xfc\\x82\\xa2\\xa93\\xa2\\x01\\x5c\\\n\\x13\\x92/y\\xab\\x84\\xdb\\x0f\\x00\\x16\\xef\\xb6i\\x92<y\\\n\\xb2\\xefO0\\xf6\\xfa\\x0dj\\x1a\\xe5q\\xe9\\x88\\xf7I\\x1b\\\n\\xc1\\x17@O{/`\\x9a,\\xd7\\x91\\x92\\xf1\\xb83\\x82\\\n\\x01F\\xb1g\\x0d\\x13\\xa2\\x94\\x9d+\\xb95\\xf0P\\xda\\xa9\\\n\\xed\\xd4\\xf9\\x9e\\x01\\xd3\\xec\\xf1\\x06\\x17\\xef\\x0c\\xe9\\x0f\\xcdD\\\n\\xce\\x9c\\xa7\\xabb|E\\xb9\\x8d\\xe0Z\\xa8n\\xf3\\x83m\\\n\\xc9\\x00[\\x97\\xb5\\x82p0\\x8fx\\x14cx\\x85e\\xb9\\\nM{\\x99\\x0c\\x8e{\\xaf\\xa6\\xd3b\\xfb\\x88c\\x16!\\xe0\\\n\\x01F\\xa0\\xe1\\x18e\\xe4iQ!\\xea\\x81bY\\xf1y\\\nD'\\x0a\\x0cy\\xb1\\xdb\\x1b\\x1d\\xd1\\x16\\x1a\\x1b\\xed\\x8b\\x05\\\n\\x84\\x0b\\x16\\xdbH@qJ\\xed\\xabow\\x8d\\x9f\\xa7/\\\n\\x86\\xea\\x10x\\xd6m5\\xd0\\xbb\\xa8\\xea\\xa2\\xc7\\x87\\x14%\\\n\\xc4*C\\xc6c\\x89\\x1d\\xa9\\x13\\x90\\x08\\xb9\\xc6\\xab\\x1c\\xfb\\\n\\xda\\xa5~\\x80\\xc1XN\\xb2\\xb4\\xd5\\xf6\\x12\\xbe\\x13\\x9c\\x8c\\\n\\xf0\\x96F%[\\xb7A\\x8av\\x13\\xf4\\xab'8\\xd3\\x81\\\n4HG\\xc9\\x8d?a\\x173\\xfc\\x0dD\\xc0?\\xf6k\\\nk\\x9a\\xc1\\xa7S\\xca\\x93\\x9b\\xd4\\xcc\\xc7\\xfa\\xc9\\xc1\\xed\\xeb\\\nx0\\xdcD\\xd8\\x16\\xfe\\x22H\\x9fx\\xf4\\x06\\xbd\\xcf\\xf8\\\n\\xdb\\xa7\\xfa$B4_\\xe1\\xa6\\x84a2\\x12\\x8eU\\xe4\\\n\\xa4\\x0f\\xba\\xcb\\x98X\\xa1\\x17%]\\xb1\\x02\\xd1.mR\\\n\\xc3g\\x81\\xb0JA\\x9c\\x7f\\xab>\\xa9\\xbb\\xc1\\x7fVV\\\n\\xf8oUsZ\\xc3\\x17`\\xc9\\x10ps\\x8f\\x01\\xbe\\xe8\\\nV\\xae\\xf5\\xbe\\x1cF\\x1d\\xc5\\xe7\\xdeh6\\xc3/\\xd8t\\\n\\x5cr|\\x1a\\xeb7\\x93\\x98\\x18\\x8cb\\xf6\\xfb\\x16gq\\\nJC1\\x13\\x9b\\xf7L\\x01J\\xc8\\x97\\xb2\\x92g\\xd9^\\\nrg\\xf8z\\xb8\\xea*#\\xe4\\xaf3/n?\\x1f\\x0f\\\nG\\xe4\\xe9\\xf4%\\x87\\x17\\xb5ok\\x94\\x81H\\xf0(L\\\n:\\x92P\\xea \\xc7u\\xe7\\xcd\\xad6\\xbcal\\x0fY\\\n@FOHm\\xe0\\x7f\\xe2\\xe8\\x1dw\\xc6\\x09\\xa6\\x99\\xfe\\\n\\xb3\\x97.e\\xd0\\xab\\x7fB\\x8b\\x8a\\x06\\xb5i\\x81w\\x8d\\\n\\xe5\\x8d\\xde6?\\xf6\\xc0e\\x8ctS\\x0f&8h-\\\ndN\\xe1\\xb3\\xa2\\xb2M\\xf5>\\xa3\\xd5\\xa6\\xbcx]Y\\\nY.\\xce\\x90\\x96r\\x88x\\x95\\x1b9\\xb0\\x1c\\xd4\\x81\\xc2\\\n\\xe34\\x98g$c:5\\xbf\\xdd\\xd1\\xa7\\xb6\\xcc\\x14E\\\n\\x91\\x0c\\x84RH=c,jH\\xb4\\x8cR\\xcb\\x8d\\xbc\\\n\\x19\\x11E89q\\x87\\xe92\\x15l6w\\x18\\xd2\\xc4\\\n\\x9e/(\\xbf\\xcc\\xe5e\\x01r\\xd8\\xd5\\x05t\\xb0\\xbbY\\\n\\xe4(\\x8d\\xcf\\xa4\\x09\\x08\\x9b\\xa0\\x1d\\x10'\\xdal\\x00B\\\n\\xfb\\x19\\xf6\\xdd\\x9d|&\\xce\\xb0i\\x03\\xccP\\x9e\\x98\\xf4\\\n\\xee\\x02\\x8c*\\x95+|D\\x8a\\xa89\\xc4\\x88\\xbd\\x0bd\\\n-\\x03\\x9e\\xd9B\\xb5ijsdm\\xc3\\x1e)X9\\\n\\xec\\xa9d\\xeb\\xcc\\x96$\\xa6\\x11s\\xef\\xf7#ZWC\\\ne \\x17\\x9f\\xa3\\x92\\xdf\\x02\\xa1\\xab\\x01\\x17at\\xb7\\x01\\\n\\xb7@\\xe9\\x1408\\xd1\\xd9\\xf3\\xc9\\xfe\\x90\\x1d\\xcf\\xf2W\\\n\\xe2\\x97a\\xab\\xe3\\x88\\x92\\xc27Z\\x10\\x80\\x97\\x0a\\x11p\\\n\\x94\\xe2\\xca\\xf1\\x02\\xf9]\\xe1\\x82\\xfc\\xe5+pwU\\x95\\\n\\xc2\\xd6\\x8ai\\x9fCX\\xb9\\xfc\\xf8\\x11aT\\xbc\\x9a6\\\n\\x1c\\xce4+X\\xe6\\xc5S@\\x04\\x7f\\xd5\\xd1\\x8bLQ\\\n%\\x91\\x9cEmb\\x7f\\x91\\xa8,8=)j\\xab\\xbd\\\n\\x16Z\\x0a\\x08\\xddk\\xd5\\xcd*\\xcd\\xa0f\\xce\\xa8\\x07\\xa7\\\n\\xc9w3\\xe1\\x22\\xf0U#w\\xbca*\\xe1\\x03J\\xa4\\\nKrv\\xc0q8T\\x17\\x95\\xa2\\xc9\\xcb6B\\xd0\\xfc\\\n\\xd3\\x85\\xb2\\xc8\\xf1_\\x15\\xac\\xac\\xaf\\x80\\x22\\xfc\\xa5y\\x8b\\\n\\x92\\xd4\\x0b|\\x98\\xb3\\x8f\\xb3\\xc1\\x82\\xb1\\xe7\\x08\\xc6\\xd4\\x19\\\nSL\\x9c|wZ\\xbdA\\x82.\\xa5\\x83$_#\\xa6\\\n\\x9aOu\\xa8\\x95I\\xcd\\xb4@\\xe7\\xd2g\\xae\\x0c\\xa7:\\\nT\\xe1\\x22\\x99\\x8ea\\x5c\\xd6\\xe4\\xf5I~\\x9e\\xd0\\xb2\\x0e\\\n\\x88\\x22K\\xb2\\xe9\\xc6l\\xba\\x9f\\xa4k)\\xcbA\\x15m\\\n\\x09\\x884r&\\xa9\\xd47\\x9d:\\xb0\\x87\\xc7;\\xa4'\\\n`E,\\xd5\\x1d4\\xa0\\xe2\\x01\\x9e\\x82\\x0c\\x99\\x0a\\x9e\\xd7\\\n(**\\xe6\\x07 4\\xe5fk\\xf4\\x83\\x02\\xac\\xa6\\x0c\\\nf\\xe6\\x8a\\xf0\\x85\\x7f\\xf2[\\xa6nA&\\x19\\x93\\xce\\xb0\\\n\\x86\\xe6\\x19\\x94Q7@+\\xee@}V\\x13=5\\xcf\\\n-\\x9f\\xd5@\\xf1'\\x9c\\x9fE5\\x8c\\x8b\\xe6`f\\xa3\\\n(\\x9d\\xc8W\\xe3\\x8ba\\x85\\x00\\xfd&\\x99h,\\x80\\x10\\\n\\xef\\xdcas\\xf9\\xb3\\xea\\xd8\\xee\\xec\\x8c\\x8c\\x99.S\\xc6\\\n\\xb2\\x8f5u\\x0d\\xe1\\xd9Y-X\\xab\\x07\\x1b\\xc1\\xbd\\xa0\\\nF\\xff\\xab7\\x833H\\x80\\xff\\xaf9i\\x1b\\x00\\x83\\xbf\\\n\\xe5_H\\xb9'\\xf9\\xf2/\\xa4\\xd4\\x02\\xe7\\x7f\\x94\\x92C\\\n^\\x0f\\x10u]\\xfd\\x8fR\\x04H2\\x9a\\xb0a1\\x8a\\\nB\\xf1r\\xecy\\xf8\\x1c4ru\\x82n\\xb9\\xc5\\xf2?\\\n\\x1d\\xee\\xde\\x5c$\\x9dN\\x8a\\xf6\\xf4b\\x90m\\x981%\\\n\\x11p8\\xf3\\xc9ai6\\x89\\xec\\xbdn;ym\\xdf\\\n&F1ntr\\xfe\\xbe\\xa5\\xac\\x85R\\xbc\\xb0D\\x91\\\n-O\\xf5\\xaa\\xc0-\\xca\\xd4\\xa8\\xa3\\xaf\\x94\\xed\\x15a\\x03\\\n\\xc8\\x0c\\xeaWM\\x8b\\x19\\x1a\\xd1Q\\x9c0XL\\x0f\\xf8\\\n<\\xb0p\\x03j\\xd3\\x11\\xe0m\\x91\\xcd4\\x82\\x1d\\xb6A\\\nQ1j\\x9d\\xbb\\x91\\xcb\\xdb\\x02|5\\x12\\x8d\\xdb\\x93h\\\n\\xce\\x8ad\\xb7A\\xa1\\xae5\\xcch\\xc7\\xee\\xe3\\x0e\\xee\\xe2\\\n\\xa3\\x8c\\x03\\x9b\\x1aeH\\xea3LH\\x15?\\xbe\\xac(\\\n=\\x99\\xe9U$<\\x0c{w\\xf5\\xd2n\\xc5\\x0b\\xf0n\\\n\\xae\\xef\\xd1\\x22\\xb5\\xa5\\xddP\\x0b\\xd0\\xc8\\xbd\\xf1\\x09\\x8d\\x10\\\n\\xa8\\x06\\x85\\x9c}{\\x1a-;d\\xb1&\\x8a\\xa1K\\xdd\\\n\\xba\\x13O\\xb5\\xce\\x9d+K6;\\xb9\\xcc\\x95e\\x0fA\\\n7gf\\x95p\\xe9\\xa6\\x83\\x95y3\\xb4\\xd3,\\xcc\\xa5\\\n\\xd3\\xb2\\x1c\\x19ri\\xa8\\x15*RFo\\xa3\\x93\\xe8>\\\n\\xf3R\\xe3\\xa0\\xb5\\xd4\\x1aQW(\\xdb\\xd5\\x10\\x1cS\\x8c\\\n\\xef\\x07\\xac\\xb5@\\xd1\\x07\\xf1P\\x03%\\xb96\\x94)D\\\n\\xee\\x8aO\\xe1,\\xf3\\xfd\\xce\\x0c\\x89\\xcc?3`1\\xdb\\\n\\xc6R\\x7f\\xf3\\xddz%\\x02\\xc4\\x0f+\\xa5\\x18\\xb8\\xc3\\x11\\\n\\xc7\\xdd\\xd3?\\xad\\xf9^\\x7f{\\xf5\\xd3T\\xa2\\x8d(\\x8a\\\n\\xb8'\\x09^B\\x1b\\xdd\\x9d\\xc0\\xdf\\x8cb\\x9coY\\xd1\\\n\\xb8H\\xb99\\x94\\xe5\\xb7&f\\x14\\xa1\\x01\\xc6+\\xd2\\xf6\\\n\\xb2\\x9c\\x05\\xf8&\\xb5\\xec\\xbft\\xdaR\\xa0\\xb9\\x81\\xa2\\x93\\\n\\xb1\\x0c\\xbfD\\x07\\x83\\xee(T\\xfbu\\xb2\\x09\\xd3\\x09@\\\n\\xd6P\\xfcn6\\xe49+:\\xb9e\\x99\\xa6x\\xfa\\xd1\\\n8:\\x08H\\xa3\\x8a\\xbb\\x94a\\x9c\\x0b%\\x90\\x0dy\\xd1\\\nH|\\x93\\xca M\\xa7\\x1b\\xf6\\xe7\\xca\\x0a\\xfcD\\xcb!\\\nFm\\xdd\\x1aUj\\xfeg\\xd1\\xfd\\xfb\\x1b\\x9f|\\x98\\xcf\\\n\\xf8\\xf4\\xfe\\x87\\xf76jdj\\x14\\xbf\\xaa\\xaa\\xb8\\x0d\\xd9\\\nI\\xeci53\\xaa\\xc8\\x9c\\xfdM\\x19\\x9b\\xe9\\x87\\xfd\\xb2\\\nk\\x86\\xa7\\xfbDO\\x1bq\\x17>\\xab\\xc3\\xb6\\xce~\\xe9\\\nH\\x07\\x00\\xa9\\xad}\\xd2|\\xff\\xdb\\xeb\\xa9b&-\\x1a\\\n\\xa2\\x9c\\x8e\\xab\\xf6%\\x1a\\xc4\\x058\\x0a\\xb4\\x91\\xe6\\xf0\\x08\\\no\\xe1\\xb9\\xcc\\xd7\\x9d\\xc7|\\xddwf>\\x9b\\x9f\\xbey\\\n\\xfeS\\x9d\\xe8\\xcd\\xebD\\xcf\\xe9\\xc4\\xdfRS\\xf9dS\\\nO\\xc7\\xcb\\xa4\\xdbJ\\xcc\\xe7\\x90\\xc5\\x9a\\xa0\\xa0\\xa4\\x0e\\xed\\\n\\x1b\\xcc\\xf7 \\xf3->ho\\xac\\x9477|i\\xcb\\\n\\x9e\\xf5\\xafuO8!\\xed\\xba\\x09\\x1d|H\\xb0\\xd7\\xb7\\\n z/\\xd1\\xe9\\xb5\\x93\\xde\\xa4\\xa3\\xa1I\\x8e[\\xe8+\\\nc\\x95SJ\\x1f%i\\x7f1\\x93\\xd9I\\xe8f\\xa5C\\\n\\x03\\xd7\\xf3\\xab\\x00\\x19^)\\xc1\\x89\\xeb\\x94\\xb2\\xdc\\xb8\\x0a\\\n\\xd2\\xc9m\\xab \\x9d_H,Ct\\x99\\x0e\\x86\\xa32\\\nle\\x99T\\xb2\\x13\\x97\\x17\\xcc\\xe593\\x06\\xbb:S\\\n\\xfc\\x07B\\x13\\x0fi\\x85'\\xd0\\x19\\xb0J\\x0es\\xc2\\x19\\\n\\xcbu\\x8b'\\xe0\\xc3\\xe2\\x86\\xc2\\xbd\\x9f\\xcd\\x1e\\xc5\\x00\\x9a\\\n_\\x10\\xb5\\xe6\\x14\\xf8\\xb0y\\x04=[\\xab\\xca\\xb1U3\\\n\\x8bWCo\\x07\\xc5)X\\xc4\\xe1\\x91\\xe5\\xba\\xe2\\x0el\\\n\\xe8m\\xf9\\xc2\\xab\\xa3\\xebD\\x86#\\xb4\\x83a~\\xcc\\xb5\\\n_\\x1f\\xa3\\xb2\\x07\\xdf\\xaby\\xee\\xa0{^\\xd9X\\x1b,\\\n\\xd6\\xef\\xb2\\xb1\\xd7.\\x82\\xf6\\xef\\x12^X\\x888\\x03\\x9b\\\n\\xc7[,]\\x8fw\\xf7g\\x01\\x8d\\xe0\\x97[\\xa7\\xa7\\xc7\\\n\\xe1D8\\xa1\\xaeF|c\\x86\\xfe\\x18\\x96\\xcd\\xf4\\xdeB\\\n\\x1b*o#\\x9cR\\xa2J\\x22C\\xaa\\xe5\\xe4\\xf0\\xe8t\\\n\\xeb\\xc1\\xfe\\xee\\x99\\xcehR\\xc0\\xcf\\xb3\\xfc\\xc2\\xd6\\x9c\\xa3\\\n\\x07X\\x07=\\x1c\\xc2$\\xb9\\xd4\\x16\\x7f:\\xbb \\xeb0\\\n\\xea\\x0a\\xe49\\xa1\\x94\\x84\\x8c\\xf9\\x10cUZ\\x8f\\xd7\\x83\\\n\\xbc\\xcf\\xb7\\x82$\\xecP\\xa2\\xfc\\x93\\xd1\\x860\\xf2\\x0aa\\\nM0\\xfd)\\xde\\xb5V\\x029\\xe36\\xd5\\x03|\\x88.\\\n\\xab\\x1e\\xaa0,q\\xe4\\xd0\\x88`\\xd1\\xb6\\x7fv\\xd3\\xa3\\\n#\\x0a\\x04\\xf1'\\xba\\xb37\\xf1\\x8b\\x04\\xc8\\xc3\\xc9\\xca\\xd9\\\n\\x1cr\\xf1\\xc2\\xbd\\x82\\xa1\\x17^\\x8f\\xe3\\xeeUR\\xb9\\xe9\\\n\\x81\\x8a\\xb8L\\xce\\x0b\\x9a|\\x9b\\xfc\\xd0[X1\\xc5\\xec\\\n;\\x1b\\x12\\xc8J=\\xcfd\\xa4\\x8co\\xde\\xbc\\xc4g)\\\nU.\\x1eW\\x87\\xe5H\\xe8A4<\\xf3\\xc6\\x9e1)\\\np\\x9b3\\xb3\\xc7\\xc5a\\xa0\\x95\\xe8\\xbfd\\xb61\\xbc\\xca\\\n\\xa71\\xf8\\xdcC\\xa0\\x9f\\xa6\\xe3\\xb4M\\xfd+4\\xfdS\\\nv4\\xd3t9\\xce\\x09\\x0ce,\\xd7\\x92\\x9e\\x9c\\x90E\\\n7=W\\xd7kt\\xb5\\x1a\\xd8e\\xbd\\x0f8\\xba\\x1bU\\\n\\xbak\\x94\\xfa\\xe9\\xa7\\xf5\\x9a\\xbfZqK\\xd5\\xfd5\\x82\\\n\\xf4W?\\xbc\\x7f\\xff\\xde\\x87\\x85\\xbb\\x05t>\\xdd=\\xb1\\\n\\x18B43N\\x87\\xc1\\x07\\x02}\\x1au\\xd5^\\xbd\\xfb\\\ni\\x94\\xc9\\xae7\\x8d\\xed\\xc5\\xa4\\xde\\x93\\xa3>z\\xfd\\x04\\\nY\\xd1\\xdcQ1/I\\xd8\\xe0\\xab\\x1e\\xde\\xd8i\\xe4\\xd2\\\ny\\xd3h\\x0f\\xe7q2\\xc4@\\xab[\\xe8\\xa5]\\xfez\\\n\\xa3\\xcf\\x8f\\xc0\\x13S\\xdb\\xa2\\x87<\\xc9\\xce2\\xd5l4\\\nu\\xc0\\xbc\\xdc,\\xa8\\x92w7\\xce\\x00\\xd6\\xc6z\\x98\\xf1\\\n\\xbd#(H.h\\xf8@,\\x14\\xd9\\xc4\\x8f{\\x14,\\\n'\\x9677\\x9c\\xd9\\xe1\\x9e\\xdeI\\x96\\xe5\\x9eA\\x13\\x8b\\\n\\x8fBh\\xef\\xb0\\x81{x\\xf9\\x15e\\x18H\\xab\\xc4\\xc0\\\n\\xcb\\x08\\x81\\xf1\\xc9*\\xf2KG\\xa9\\x9d3\\x09\\x18\\xd2\\xf6\\\n&\\xaav,[2\\x1b\\x92e\\x07\\xd3\\xa4\\xe92(\\xce\\\n\\xaeK\\xb6V\\xd1\\xa5\\xc1nbF\\xb5\\x07\\xd1\\xafd\\xb1\\\n\\xb3\\xe0Z\\xdb~-\\xfc\\xdc\\x0d\\xc4*n\\x1c\\xd09\\xc5\\\nA\\x9f\\xd9\\x16\\xd0\\xfc&\\x13\\x16J\\xd7\\xc2s4X\\x8a\\\n\\x9dc4K\\x90\\x88\\xebD\\xc6u\\xe0H\\xfc\\x06\\xf8o\\\nv_\\xdc\\xf0\\x09\\xa3 \\x10\\x9cG\\xb6\\xd3\\x84\\xc2*\\x89\\\nE.\\x09\\x1e\\xba\\xfe 3\\xc9Y\\x1b*\\xf9++\\xf5\\\ne\\x9dp\\xd0c3\\xdb>M\\xd4\\x0a\\xc7\\x0c\\x94\\xbc\\x87\\\n\\xb8\\xba+\\x80\\x8a\\x8f\\x07tx\\xbc\\xa3\\xde\\xcas\\x17\\x02\\\nSku?\\xbeU1^Pf\\xd9tZw\\x16\\xdb\\\n\\xadke\\x06\\xdb\\xdc\\xd9\\xa9qi\\xf5\\x85i\\x8c\\xa2%\\\n7A\\xd8\\xa8|+\\xff\\x96\\xaccK\\xce\\x9a!\\xe9\\xca\\\n\\xda&v\\xec\\x95\\x95e]@\\x0cO\\x185<\\xeb\\x0d\\\n\\xa3\\xc70\\xe3\\x0f\\x83\\xd8\\xdcwV\\xe4\\xdc\\x95\\xbc`\\xe4\\\n\\xb7>-2CQb\\xb5\\xce\\xb41\\xb3\\xf3\\xa6\\xa7\\xe8\\\n+\\x95l{\\x81\\x93\\xfc\\xe94\\x93\\x0a;\\xfe\\xadQ\\xef\\\n&\\x9f\\xc1\\xce\\x81\\x05\\xe9\\xfdk\\xd8BB\\x09 U\\xdd\\\n0\\xa6e]\\xca\\x17\\xc1\\xeb\\x1c\\x03\\xf4\\xdd\\xf7\\x0d}E\\\n\\x90d\\x09\\xa8\\x92\\xdd\\x8e\\xca\\x8ev\\xd3\\xaeLu7D\\\n\\xdb\\xc5 \\xb9\\x89\\xfb\\xe4a\\x15N\\xbc\\xf7\\xbd\\xd0\\xfb?\\\n~\\xf57\\xbc\\xe0;\\xdew\\xe0\\xd7/\\xfd\\xd0\\x0b\\xbc\\xff\\\n\\xfdw)\\xf1\\xbf\\xc3\\x9f\\xbf\\x0f?7\\xf0\\xc7\\x0f\\xe1\\xc7\\\n=\\xfc\\xf1\\x07\\x98\\xf9K\\xbf\\x8f?\\xff\\x18~\\xd6\\x15\\xc6\\\nL\\x90wH1\\xfc\\x89\\xaf]\\xe0?&^\\xe9\\xda\\xfa\\\nU\\x00u\\xfc7\\xa0\\x85\\x01$\\x93\\xa7R\\x00\\xf7\\x1d\\x82\\\n\\x83\\xea\\xacX\\xa7\\x7f\\x97\\xd3\\xfe\\xd0D\\x8c\\xe53\\xbeQ\\\n\\x04\\xa8\\xf0\\xe0n\\xd4\\xa4c\\xc6\\x11\\x1d\\x0b\\x8e\\xe6Zk\\\n,\\x9f\\x0d\\xa5R\\xb2sGE9\\xecv\\xc4\\x05\\xdd\\x1b\\\n\\xa8\\x1f\\xb4\\x11\\xf3\\x5cC\\x9f\\xa3YW\\xfc\\xcdy\\x86\\x17\\\n>N\\xe5wI\\xb8\\xee*\\xa1\\x84y\\xe3\\x94R\\xdeE\\\n\\xacd\\xcb|\\xb6\\xc4\\xd0\\x22\\xf3\\xce\\xee\\x81\\x1f\\x94!`\\\n\\x814\\x1f\\x03\\xf9\\x82\\xfbY\\x0bt\\xd1\\x190\\x0c\\xc7/\\\n\\xff\\xa6g\\x1fci\\x96c\\x83\\xb3X\\xd3\\xcb-Q\\x94\\\n{\\xd9\\xb5\\xecP\\x99\\x1a\\xcd\\xd9z\\x9e\\x964\\x94\\xac#\\\n\\xb2\\xe7\\x89k\\xce\\xd6\\x0e)eL\\xa0t\\xaf\\xb2\\xf5\\xd6\\\n:\\x9f&\\x83\\xb3:\\xe0\\xde\\x04q\\x84\\xedf\\x0b\\x9a\\xac\\\n\\xbe\\x0a\\xc9r\\x06\\x09(7\\x19\\x8b\\xddr~Y\\x07-\\\nd\\x1e\\x9d\\xe8\\xa4\\xbb\\xc0\\xb7A\\x81\\xe7\\xcf\\xe2o\\xeb\\xe6\\\n\\x10.$\\xf2\\xa2\\xceI\\xf75\\x8a\\xe5\\x02\\x22\\x0a\\x01J\\\na\\x0c\\x8dJA\\x0e\\x8f\\x16A\\x90v\\xb4\\x08\\xc9\\xee\\xc2\\\n\\x8a\\xe8\\x06\\x84>\\x7f\\x9c\\xd7\\xe4\\x05\\x03o\\xdaS\\x06A\\\n\\x13m\\x01\\x0c7g!\\xabBs\\xe6\\xb9;\\xcd\\xf1Z\\\n]\\xb4\\xd6W\\xcaV0\\xd6\\xbb\\x963z\\x97\\xb5\\xec\\xb2\\\n^D\\x07\\xe3\\xa0\\xe8Y\\x9eTA\\xa1{\\xac\\xbd\\xba\\xe5\\\n\\xeb[\\xabk\\xef\\xa9\\x05\\xf2\\x0f&\\xcb\\x8c\\xe3\\xca\\xb9S\\\nj\\x1e\\xa7\\xa3\\xf7\\x0a\\x15\\x99\\x8f\\xd8\\xf1\\xe4V\\xa6fZ\\\n\\x81\\xe6X\\x9b1\\xdf18\\xcf\\xf7g\\xa8\\xcd~\\x8e\\xcd\\\n\\xea\\xbc\\x99\\x99\\xd3YY+\\xef\\xd2\\xdbw\\xb8\\xc1\\xf0*\\\nm\\x8f\\xae\\xc5\\x1ay\\xcd7X\\xe0\\xe35>\\x06\\xdf\\xe7\\\n\\x0c\\xdb\\xa2X`\\x80$\\x05{'\\xbdA_\\xdb2\\x05\\\n[\\xf9\\x8bV<\\xaa\\xceS\\xa7\\xac&\\x9d\\xab.\\xc8\\xa0\\\nfx\\xfe|5~Y\\x15\\x92v\\xe8\\xe3\\xc2[k\\xf6\\\nzt\\xe6\\x8e\\xcc\\xcf\\xf7\\xc9M\\xd0\\xf9\\xc1\\xb87JB\\\n\\xd0G\\x83\\x81\\xfe\\xa9\\xbbF\\x01\\xb3\\xe6u\\x8f\\x00\\xde\\xaa\\\n\\x8bwju\\xdc!c\\xf2p\\xd0\\xc2?\\xcc\\x7f\\xfa\\xd4\\\nBXP\\x7f\\xbfds5\\xf1\\xa7\\xee\\x09\\x08\\xcdy\\xfd\\\n\\xa0\\xfb\\xd1\\xf6\\x9c1\\xb09\\x9f\\x91\\xc0\\xdcs\\xa9\\xdb\\xf7\\\n\\x5c\\xea\\xe5;Km\\xc6\\xb2\\x01\\x22,\\xb1\\xd0\\xd7\\xc4v\\\n\\xce\\x16\\x87\\xa5\\x8c\\x97Nn+\\x86\\xcb\\x96\\x93f\\x9cR\\\n2\\x0d\\xa8\\xa97\\xd3\\x07I\\x94\\xb2\\xf4\\xbe\\x9b{\\x8b\\xdb\\\n\\xa3Y\\xe0n\\xfa\\x8bH\\xd0\\x85\\x1e\\xdf\\xe9\\xec\\x7fNk\\\nVV\\xba\\xab\\xab\\xfa8\\x97\\xe2\\x8b\\x1b\\xfb\\xc0\\xdb\\xb9\\xf6\\\n\\xdc\\xban?\\xe7\\xc5\\x926]\\xbfb\\xdbXQ\\xdc\\x98\\\nlC2O\\x01\\xb9\\x0e2\\xef\\xd4\\x96\\xb9\\xeeBY\\xdd\\\n\\xc3u\\x0aF\\xe6\\xb0\\xdc}t\\x1aG\\xc4Y\\xe0\\xc6\\xf7\\\n\\xd6\\xc8\\x8dO\\x11\\xd7\\xb2\\xc8GL\\xbb\\x97yg%~\\\nbM\\xb1k\\x9f<=\\xda=6.\\xff\\xc6\\xdb\\x81^\\\n\\xa3V\\x8fq.\\xd8\\xc4\\xa6\\x85l\\xa4\\xa6\\x0e\\xdeEU\\\n\\x03F\\x17R\\xa7S\\xde\\x96\\xe9}\\x17sA\\x8ac]\\\n\\xc8\\xf4Y\\xbf\\xa1\\xb4\\xc0o\\xc8\\xdd\\x12\\xbb\\xcec\\xf3|\\\n\\xa4\\xd8E\\xeaR=\\x80]\\xe0\\x04\\xa5\\xfd\\x96\\x83o\\xb2\\\n\\x85\\x99k{\\x8eS\\xf3<\\xd5\\x92.E\\x8b\\xb7D\\x99\\\n\\xa7\\x9fs\\x97\\xa4\\xbe\\x9c\\x1b\\x9bM\\xec\\x8d\\xe3\\xedVu\\\n01\\x02\\xbdZ\\x5c\\x0e\\xe2\\xd6\\xbc\\xe5\\x02\\xf3\\xbd\\xa0;\\\n\\xbe\\x09\\xd1\\x91\\x01/N\\x17]\\xc4\\xace\\x16\\x84\\xcc\\x9a\\\nbe\\xf1\\xfc\\xcc\\xe4c\\x9a\\x9a]\\x05YO\\x0e\\xdfe\\\nE\\xc5\\xf6\\xd2\\xb5\\xfdn\\x22k\\xb5\\x13oE\\xbc\\x9d\\xb1\\\n\\x8b\\xe6\\xf0\\x97\\xcfU\\xd9\\xcf\\x1b\\xbb\\xdd+\\xcb\\xbb\\xc0m\\\nn\\x87\\x16\\xc8\\xdb\\xdcw\\xe9\\xda.\\xc3\\x0b\\xaf\\xdbt\\xe5\\\n\\xa9z\\xda`\\x97x\\x86+W\\xf2\\xe5\\x92\\xab3\\xc0q\\\n\\x1dv.\\x07\\x89D\\xbfVW\\x03\\xfa{\\xab\\xdb4]\\\n\\xe3X\\xaa\\x8c0\\xda\\x0b\\xb7\\xe0RMF\\x9c\\x98\\xb1,\\\nt\\xa4\\xd3j\\xe5\\x0f\\x06s78\\x98\\xef\\x05\\xca\\xd7\\x13\\\n\\xb9\\xad\\x98\\x07\\xcb\\x15\\xb2;4\\xeaNT\\x81\\xed\\x85Q\\\n\\xbbz\\xa3\\xf9zWo\\xe4\\xdd\\xb9\\xe1w`)\\x14\\x06\\\nQ\\xd7V\\xed]F\\xf8f\\x19\\x8e\\xfc\\xe4\\xa0\\xb6\\x0a\\xf3\\\nT\\xb4\\xe1\\xbf\\x15W\\xe1c\\x86\\xdf<?a\\xd9\\xb9\\x0c\\\n\\xc57\\xc0n\\xad\\x05\\xffle\\x9b\\xcd\\xd8F\\xce\\xd9\\x03\\\n\\xe4nk,.\\xb03$p/\\xec\\x9b(Ln\\xbf\\\n\\x93&\\x1cs\\xb0\\x8a\\xf3\\xa7R\\xbd\\xaf\\x1e\\x80\\xd7N6\\\n\\x1fc\\x88\\x90w\\xdeW\\x15D\\xd8r7\\xc2\\x14\\x89\\xab\\\n\\xca\\x01\\xbd\\xa0\\x83\\xad\\x14\\x84\\xa9q5\\xf2\\xaa\\xde[q\\\n\\xa6\\x05f\\xee\\xe4\\xd2\\xa7?\\x9f\\x7f\\x95\\xee/\\x8e\\x9f\\x5c\\\nD\\x9ff.\\xbd\\x7f\\xb6\\xb6\\xda\\x5c\\xf7\\xb9\\xbe\\xfd\\xddg\\\n\\xbb\\xfb\\x8dy\\xf8\\xc8\\xd1\\x00\\xefo\\xae\\xea\\xf7\\xa0\\x18\\xa3\\\n:\\x93\\x93Y\\xe1\\x5c\\x16\\xe7\\xb0\\x01:\\x16\\xc2M?n\\\n\\xb71\\xca\\x01o\\xf70\\xe0\\x85\\x8e\\x96\\xc1\\x86\\x06\\x14y\\\n\\xec|\\x03\\xbf^\\xf6./\\x81\\xff)F\\x02\\x87Q\\x9e\\\n_\\x92\\x97.\\x14UNH\\x05+^\\x87g\\xa2Jx\\\nv\\xb4\\x0eJ\\xffB\\xe2\\x85\\x98\\xb8\\x1d\\x94|\\xc2sH\\\n\\xc7\\xf9\\xe0D\\x0c32g\\xce:\\xce\\xf2j\\xbaR`\\\n\\x8ey\\xd35Qo\\xe9\\xbe\\xf5\\x02\\xa0\\xaabB\\xcf\\xab\\\n\\x8b!\\xdc\\xca~N\\xe4\\xc4\\xbb\\xdb\\xb1\\x8c\\x11K[\\xb0\\\n<\\xc5X\\x86\\xafjw\\x1d@9\\x8d\\x9cKV\\x06\\xf1\\\n\\xe6,u?\\x87\\x14\\xbf\\x1b\\x19\\xe8\\xacm.s1\\x84\\\n\\xf7.#I\\xd1\\x8b<\\xd8\\xe8q\\xfc\\x22\\xcf\\xf7\\x8c\\xdb\\\n\\xe60\\x84\\xfd\\x1f\\x0a\\xd3\\xf6\\xc3\\xf8EB/\\x10g\\xef\\\ni\\x96\\x1cIfB\\x0a\\x19\\x8c\\x1eyB\\xc8a\\x1fB\\\nE\\xd6o\\xeb\\xad\\xc9\\xa5\\xf3\\xd1y\\xf7|\\xd0\\xc4\\x13T\\\nO\\x9f\\x0e\\x12\\xbe\\xc8\\xfeXX\\xc4T\\x1d\\xe5R\\xca\\x0b\\\n\\xe3\\x0b\\x81v\\xcbD\\x0bR!G\\xa4\\x7f\\xec#d\\xf7\\\nF\\xc5s\\x11\\x17\\xd8Z\\xe0\\xfa\\xc7\\xf2qh\\x19\\xcf\\x1e\\\n\\xed\\x1e`\\xbc\\x17\\xbbn\\xd3V\\xde\\xf66\\xf2}\\xe0]\\\n\\xda\\xa7\\xb9-\\xb5\\x9f\\x03]-\\xa0\\x00z\\x90m\\x8d*\\\neh\\xd7\\xea\\xfe;\\x5c\\x88\\xd1\\xe4\\x02\\xbc\\xdej\\x9a\\xa1\\\nW\\xbe\\x15)T\\xa7(h\\xf9\\x0ec\\x14\\x9c\\x99M\\x15\\\n\\x1a\\xf9l\\x1d\\xc2kn\\x1d\\x94\\xb8hP\\xc4\\x89\\xb2x\\\nT\\xe8\\xc8k&\\x97\\x95KFm\\xe1-\\x0b{\\x06U\\\n\\xe4d\\xb4\\xec\\x06\\x15\\xd1\\x96y.c(\\xe09\\x927\\\n\\x15\\x04w\\xbf\\x0e\\xf6\\x16\\xa3*\\x83XP\\x81\\xca\\x99\\xdf\\\n\\xb4\\xb7\\xb7\\xcd\\xa8\\xf1\\xce\\x92\\x83\\x05@Y\\xa5ev\\x1c\\\n\\x9e\\xa7\\xc1\\x22\\xab\\x09\\x9bz\\xb4J\\xc1\\xef\\x0c\\xccU*\\\n\\xba\\xc2\\x81\\x8b\\xd5\\x8aw\\x10\\xd7\\xda~\\x83\\x89*Zk\\\nU\\x82\\xb5\\xce\\xd1W\\xdej\\xdb3\\xbe\\x18\\x8e\\xfbs\\xf7\\\n=\\x04\\xe1\\x05\\x98\\x0b\\x0b>|bt\\xbcq?\\xdc\\xf8\\\n9\\xd6]\\xb0\\xd1\\xbc\\xb5a\\xd7{\\x0f[\\x9c\\x0c2i\\\n\\x05\\xf7\\x1e\\x16\\xdf\\xfd\\xd6v9q\\x02/\\xbc\\xf3\\xb8\\xe9\\\n^OV1[\\xfc\\xdc\\xa0\\xa1\\xe2t\\x17\\x13P\\xa5K\\\nF\\x99\\xbf\\xa1\\xfd:T\\xf6\\xce\\x06 \\xd9y\\xe1K\\x9f\\\no\\xb3cw\\xef\\xa9Zl\\x1bY\\xfc[\\xc8\\xb5\\x9e\\x01\\\n\\xee/\\x02\\xee{\\xc4\\xd8\\x1b\\xc4\\xd8uU\\xd0~\\xdbf\\\n>\\x06\\x1b\\xd2\\xbb#\\x89\\xde\\xdb\\x88\\xa2\\xfa<\\xe2h\\x95\\\ny\\x908\\x8d)\\xd1\\x9a5\\x94\\x22\\x00\\x86\\xfb\\x9dS\\x82\\\n\\xa2\\x01\\xab:\\xb4\\xc7\\xdf\\xbc*4\\x90\\x96\\x0a\\x94\\x82q\\\n2!\\x91\\xa8h\\x84\\xc4\\xd66\\x9a=O(\\x90\\x84\\xc7\\\n7p\\x08Z\\x7fy\\xcd\\xff\\xec\\xcc\\xc3\\xd9kfV\\xb7\\\n\\xac\\xc4b\\xeboN\\xe8\\xdcNX\\xfd-\\x88&5>\\\n\\x82\\xcd\\xbeg\\xcc\\xe780\\xd8\\xcd\\xcd\\xa2D\\x17\\xbd\\xc2\\\n\\xe3\\x87\\xcb\\x15\\x87\\x03\\x96\\x19\\xf1t\\xba\\x9cAB\\xd9M\\\n?W#\\xa7\\x97`\\xffy\\x14\\xa4\\xa8\\x86\\xb6\\xac[\\xb6\\\n\\xdc\\x0ddE}dYPy\\xae\\xdfT \\xd3m\\xc7\\\n\\xd9\\xde\\x12\\xd9r\\xbaC\\xa4\\x02\\xcaR\\x03\\xec~\\xda\\x03\\\n\\xa0\\x0c\\xfd \\xddU9\\x1c\\xbf\\xf2bv\\x89\\xb7X\\x0f\\\n\\x80\\xea\\xeah\\x93\\xc3..\\x17q\\x8f\\xffM\\xae\\x14\\xd4\\\n\\xd1\\xc8\\x95m%\\x12M\\x0bA#\\xff\\xe6\\x14a\\xf9G\\\n\\x02\\xaf.\\xf2O\\x96\\x0fYJ\\x0a\\x04_F\\x026\\xb5\\\n\\xb7\\x16\\x8e\\xe4\\x5cw-z\\xe1\\xe5\\xdd|D\\x5ci\\x84\\\nq\\xe3\\x83A\\xefU6]\\xc5\\x98\\xc7(\\xbb\\xe3\\x9bn\\\n\\x89\\x10\\xc3j\\xfb\\xe2H2\\xc1\\xe0\\xef3\\x8fk\\xa0C\\\n\\xe3\\x16\\xa8\\xdf\\x12\\xa8\\x17P\\x18\\x7f\\x14\\x8a\\xfd\\xce2\\xaf\\\n0\\x11\\xdf\\x8c\\x94\\xeb\\x80|\\xef\\x92\\x11\\xe8\\xb4\\xea\\xc7\\xe8\\\nS\\x05P\\xb8^\\x98c9\\xf1\\x09e\\xe0\\xc2\\xac\\xcb\\x01\\\n\\x88\\x99\\xc2D\\x8d\\xbbV\\xfd \\xb9Y\\xaaU\\xefc\\xbd\\\n\\xc9\\x0f\\xc6q\\x07[\\x83n+\\xf4!-\\xa1\\xe0\\xb6\\xb6\\\nd\\xc1k\\xaai[]K\\xdd\\xd9\\xadR\\xf0{\\xbc\\x93\\\n\\xda\\x89A\\xe8Z\\xe8\\xa9\\xed\\xe5\\x96,\\x13\\xad\\xfaV\\x87\\\n\\x82E\\x91\\x01m\\xc8\\xcd\\x5c\\x8asm\\xcd\\xcdZ`i\\\n&\\x1e\\x9fh\\x8bp\\xc0\\xb3\\x22\\x9f\\x92\\x83\\x13;\\xb3J\\\n1\\xec\\xa6yC\\x7fZ\\x0c\\xa5\\xac\\xcf\\xa5\\xac\\x04\\x9f\\xfa\\\n\\x87\\xc52\\x1a\\xcaJ\\xd0\\xbc\\xa23\\xf5'\\xf3\\x84\\xfaa\\\n\\x95\\xb1\\x06\\xbf\\x96\\x19\\xfcZf\\xf0k<\\xf8\\xf07;\\\n\\xe0\\xb6a\\xd9\\x89E^\\x9f\\xcdJ\\xd4\\x9d|\\x0c\\xde[\\\nF\\xca\\xb5\\xe33f\\xa3\\xdb\\x8e@\\x98\\xcf\\xcb\\xa7F'\\\nm\\x04s\\xe2<FR\\xda\\x0d\\xfe\\xe87\\x8a}D\\xe6\\\nG.~\\x8bm\\xe9h\\xae\\xfe9\\x1a\\xbc\\x93(t\\xa4\\\n\\x9eJ\\xcc\\x8a;\\x95n1\\xa6\\x13Rd\\xee\\x8c\\x81\\x1a\\\n\\xc2\\xc9m\\xb9\\xddL\\x94[\\x97\\xf8\\x9be\\xa1v1o\\\n\\xb4\\xff\\xb6xc\\xae\\xb9|\\xd4\\xbe\\x8du\\xe6\\xe7wk\\\n\\xc1\\x02\\x8d\\x1e\\x1bP\\xc2\\x0c?\\xbe\\x11\\x9e}\\x0bb\\x13\\\n\\x16\\xc27\\x8f\\xe8\\x06\\xca\\xfb\\x99\\xbaV\\xbf\\xfdd,\\x99\\\nq\\x99i\\xe5\\xf4\\xfa&\\x1e\\xbcX\\xd8i\\x04z'a\\\n\\x94\\xb4\\xaf\\xfe?\\xf6\\xde\\xfd+\\xae\\xe3X\\x18\\xfdW\\x86\\\n\\xed\\x18\\xcd6{F\\x03\\x08\\x09\\x0d\\xda\\xe2\\x22\\x84-\\x8e\\\n\\xd1\\xe3\\x02\\xb2\\xac\\x83\\xe7\\xf8\\x1b\\x98\\x0d\\x8c5\\x0f23\\\n\\x080\\xcc]v\\xfc\\x90\\x00\\xc7\\xce\\xd3\\x8e\\x13;\\xceC\\\n\\x08\\x01q\\xec\\xbcN\\xde\\xc9Z9\\xbf\\xdd\\x93\\xb5\\xee\\xff\\\n\\xe0\\xef\\x0f\\xf8\\xfe\\x85[U\\xdd\\xbdwu\\xef\\xde\\xc3 \\\n;9>\\xeb\\xfb\\x94\\x98\\xd9\\xfd\\xaa~UWWWW\\\nW1\\xee\\x01\\x9d\\xea\\xb4\\x8f\\x1dB\\xd5\\xcc\\x90x+j\\\n\\x1dod\\x98%dn\\x85\\xcf\\x87\\x8e\\x1d\\xa3\\x1c\\x9f\\x8f\\\n\\xdb\\x8c<c\\x10\\xef\\x18\\xba\\xf5\\xc9\\x0a\\xaf>\\x80\\x8a\\x15\\\n\\xe1,\\x01\\xd9\\x1d\\x118\\xc6\\xf2\\x1b;a\\xa9\\xb2\\x8e\\x9b\\\n\\xe9/\\x88gF\\xd7nNM\\x1d\\xfbvU@S\\xb5\\\n\\xc1A*f<\\xae\\xe3\\xc8[\\x8a3-\\xd3\\xceZ\\xa4\\\n\\xac\\x94x\\x85r\\x9cf\\xa8Q\\x00\\xcf}\\xc7[z\\x92\\\n'\\xb5\\xd0\\xa9\\x87\\xd2\\xce\\xd7\\xc6\\x9f\\xbc%\\xf1#f\\x7f\\\nA\\x0f\\x19&\\xc4\\xc84\\xa9l\\x8do\\xb4\\x8d[>\\xf3\\\nUt\\x976\\xdcTvW\\x13\\xc37\\x83j\\xb1\\xd6*\\\n/t\\x92q\\x85y\\x1c\\xcd\\x91\\xc2?\\x8f\\xaa\\xc3\\x179\\\n\\xe4\\xab\\xd7nNO\\x91Y?/\\xa8-\\xd4\\xc9bL\\\nh\\xe4\\xaf\\x8b[\\xe0\\xce\\xfa\\x9a8\\xf0\\x0a\\xecT\\xb9\\xd9\\\n\\xd2\\xde\\xffK\\xaf\\xe5\\xa1\\xdf\\xf5pL\\x22x\\xcc\\x169\\\n\\x07\\xd3\\xadAP\\xad~\\xfdB\\x87\\xf0L%\\x89\\xeb^\\\n\\x15\\x0a\\xa1\\xbf\\x04\\xd0k>\\xafXU\\xf0\\xd2\\x85\\xda\\xc8\\\nKB\\x9f\\x9c'\\xcf\\xbd\\x84\\x8f\\xa9B8\\x16\\xa5m\\xcd\\\n\\xe8\\x82\\xc4\\x97\\xc8\\xbfz\\x07\\x84\\x892\\xe1\\xfe$\\x9e\\x1b\\\nwqss\\xdc4{\\x0b\\xe8#\\x16f\\xa0Z\\xb9\\x13\\\nl 6\\xe2\\x91B\\xbe\\xc4`\\x8d\\x9cst/\\xf0N\\\n\\xa1\\xab\\xb6R\\xd6\\x7fZ#\\xe9]\\xbc\\x1f\\xe9\\xc2Y\\xf6\\\n\\x85\\xd6\\xb2\\xd3\\xe1%\\x8en\\x9fN\\x7f\\x90C\\x16\\x9bX\\\n\\x82\\xd81\\x1c\\xab&\\x199\\x1d\\xcd2\\x9f\\xa3\\xa4=\\xe6\\\nT\\x90\\xeb\\xe7\\x82\\xb8\\x5c\\x5c\\xad\\x8d\\xa4\\x082\\x16\\x9d\\x5c\\\n\\x09\\x07q\\xd5\\xe2z\\xa8\\xcb\\x82g\\xd4\\xc5\\x0ap\\x04\\x98\\\n]\\xf9\\xe1\\x8a\\xd4\\xce\\xf0)M\\xb9\\xba\\x94'\\x91\\x0d}\\\nf\\xc4\\xfb*\\x1e#_V\\xf1(\\xf1\\xa8\\x86\\xa2 \\x06\\\n\\x1f\\xd7\\xe1\\xe7B\\x89\\xf8\\x0b\\x1a\\xec\\xc7P\\xb4[wN\\\n\\xa8'\\x177\\x5c\\xa5\\xd9\\x9f\\x12\\xde\\xf6\\xba\\xb4Y\\xf5\\xdf\\\n\\xc9&\\x95M?\\xd0\\xf4\\xf8\\xd5\\xdf\\x8d\\x00]\\x13\\xc3*\\\n!\\xba\\xf4\\x18\\xacn\\xb2\\xb8\\xbcV\\x1a1\\xb0/\\xd1/\\\nb\\x0b\\xf8\\xa2T\\xf6\\xc9sM\\x07\\xa2C\\xe9\\x8e\\xe5\\xfc\\\n\\x18U\\x8b\\xce\\x91M\\xf7>\\xdaQ\\xee\\xae\\xee\\xbf\\x22\\xce\\\n\\xc2\\x85\\xcf\\xf0\\x8f\\x7f\\xaf\\xa2g\\x97\\x9d\\x80z\\xca\\xad\\x8d\\\n\\x0e\\xbd\\x10\\x19\\xfe1\\xddp\\x9eX\\xd7l\\x0a\\x90\\xca\\xc5\\\n\\xea|\\xb3\\xd5H\\xe7\\xbc\\x01w4\\xd4\\xe4\\xb4\\xe5\\x18p\\\n\\xbd\\xfe\\xb3\\x80+O$\\x83\\xe8?\\x06D\\xbf\\xeb\\xe2]\\\n\\xb1m\\xe0\\xc4\\xbb1*D\\x8d\\x8f\\xd8\\xb2\\xda\\x05\\x1f-\\\nE\\x0d\\x8d\\xca'<\\x8bp@\\x1a\\x97\\xf6\\xa4\\xd257\\\n\\x9f\\xaee(\\xc3Y\\xcf\\x96\\x81\\x0cQ\\xf5\\xa5k\\x17/\\\n\\xf6\\xe7\\x5c\\xb7\\xcf\\x9a\\x05\\xcdQ\\xf5\\xa5\\xfbs\\x03\\x83\\xbd\\\n5\\xd7\\x0d\\xa7j\\x1d=\\xad'\\xce\\x13\\xedk\\xa6\\x17.\\\nm\\xfa\\xcbw\\xfdR}\\x81\\xe6$\\xbb\\x00+\\xab\\x15H\\\no\\xe2\\xb8\\xf4\\xee*\\x87\\x091Y\\x03\\xc2L\\x924<\\\n\\xb6lD\\xba\\xb8)\\xc9k\\x9c\\xc9\\xeaJ\\xbda:E\\\n\\xd1\\xf1+\\x8d\\xb9\\x95^L\\xf9.\\xb6\\x08\\xaa\\xa6e/\\\n\\x92\\xdamO\\x80a\\xeb\\x9d\\x9c\\x9c\\xa3M6\\xd5\\xef2\\\n\\xe5@}\\x22\\xc5\\x0bY\\x92\\xa8\\x1c\\xaa\\x12\\x0b\\x93\\xae\\x18\\\n\\xe5\\x95\\xbd\\xea\\x88\\xf4\\xec\\x8e\\xa9Y\\xfc\\x83\\xee\\xedE\\x8f\\\n)O\\xd2\\xe8\\x86\\xf9\\xd1\\xa9\\xa0+_\\x22Rd1\\xf4\\\n\\xdag\\x1d\\x9f0\\xd9\\xcc\\x8do\\xed\\xc2P\\xb6\\xb9\\x02\\xa4\\\nz\\xb1\\x1c\\x94\\x94[\\x9d(\\x09\\xcb='\\x5c\\x11\\xa1\\x1e\\\n\\x985\\x81\\xda\\x8e$4tC\\x94\\xd6\\xf3a\\xb3=K\\\nQW9!Don\\xb1\\x12hyM@&\\xc6g\\\n\\xa1\\xd9D\\x93?\\xb6&\\xb8m\\xea\\x1ea\\xb3V2\\x8c\\\n\\xf1\\xf5\\x0cn\\xf8lt\\xd0\\x9c\\x8e\\xad\\xad3\\xb1\\x19\\xb2\\\nN\\x0e6&\\x9ck\\xd6\\x16\\xd2JG\\x94\\x19\\xee1\\xe1\\\n\\x98\\x08c\\x00BcC\\xd6\\xaa\\xc6\\xebU\\x1d\\x0fd\\xaf\\\n\\xe5s<\\x85\\x0ct*\\x22M7\\x13\\x19\\xc4hp\\x84\\\n\\xe7\\x8b\\xc6(,\\xc4\\x86\\x8aVa\\xd4q\\xbbH\\xf9n\\\n\\x17{\\x07\\xac\\xb8r\\x0d6\\xe1+\\xb3W\\xa7\\x14A\\x92\\\n\\xe6\\x92:\\x10%\\xe0\\x17\\x8a\\xa4m\\x9c 1d2E\\\n\\xed\\xd0\\x99|\\xa5\\xf3\\x98/;\\xba=\\xc4v\\xe9\\xd6\\xc6\\\nn\\x16=\\xd1>M\\xcc<\\x8d4\\x92\\xb7\\xd2\\xa8\\xb7\\xea\\\n8RF)9\\xbe(\\x7f\\x89\\x067\\xf4y(5L\\\n`\\xa9;\\xd2\\x8e\\x9d\\x1a!M\\x1d\\xcf\\xbbz\\xdd''\\\n\\xb3\\xe4\\xc5\\x83\\x0fb\\xc1\\x83?\\xfd\\xfdy\\xf2\\xdc\\x11K\\\n\\x18\\x80\\x84\\x01[Bn\\x00A\\x0d\\xc4\\x13\\x86\\x86\\xf2s\\\nC\\xde\\x90\\x99p\\x03+\\xe0\\xd9ox\\x9b\\xa1%\\xd9\\x9c\\\niI6\\xc7M\\xd3\\xe6\\xdaX\\xfe\\xe9\\xc9\\xe7'.\\x9f\\\n\\x0c\\x08\\x94\\x9b\\xbc6;\\xf1\\xcc\\xf4\\xd8\\x146\\xb6?\\xb1\\\n\\xa0Q\\x99*4\\xd0\\xb9:\\xa3\\x14\\x9a3\\xcc\\x93\\xdb\\x14\\\nn\\x9e\\x85\\xe2\\xcf\\xe4\\xe7\\xcexg\\xe2\\xf1\\xb9~\\xa3]\\\n*\\xc1\\x1cC\\x8a\\x07\\xbe}\\x0a\\x9d\\x03\\xc7`y\\x9b\\x91\\\nQ_\\xd9\\x12\\x1c\\xefx\\xb6\\xcec\\x85.\\x87\\xf5j!\\\n\\x86\\xa2M\\xec\\x80(\\xb3N\\x882{\\xa9J\\xcf\\xccN\\\nO\\xcc\\x8e_\\x89\\xc3\\xb6\\xc0\\x10W\\xfa\\xb6\\xac\\xca\\xb40\\\nf\\xbc5yy\\xc2\\xdaZ\\x96\\xcd\\xd3a\\x93'e\\x03\\\n\\xf9Q\\xe98\\xd2gf\\xf9\\xcd\\xa9\\x15\\xfe\\x97\\xf5\\xd2\\x14\\\n\\xd7]q\\xe1\\xaeY/Nq\\x05\\xe9\\xd1y.\\xc7\\xb1\\\n\\x86\\xe2\\x0a\\x9e\\x1a\\x0as\\xc1\\xc6\\x87\\xa2\\x8b\\x9c\\xfah\\xb4\\\nG$\\xcd\\x19[]\\xa2\\xddhS\\xba\\x0b\\x126U\\x9c\\\n\\x5c\\xb6\\x1f\\xfe\\xa9\\xcf\\xb3g\\xcf\\xc9\\xcf\\x01\\xf8\\xa7>\\xa3\\\n\\xd8A\\xf8\\x07\\x9f0\\x7fd\\x1e4?77\\x08$c\\\n\\xe0\\x9c>3\\xce\\xa5b\\xb3\\xbc0\\x05G\\xa7\\x9a\\x83^\\\n\\x81\\xce\\x02\\xf5\\x18\\xd2\\xc9\\x84\\xe7Pr\\xff\\xcc*0\\x98\\\n\\xc4.a\\xce\\x81\\xa1\\xb3\\xde\\xe0\\xf0\\xa0AP\\xe6\\x06\\x87\\\n\\xcfxC\\xe7M\\xca4wvx\\xd8;w\\xf6\\x9c\\x01\\\nW\\xfa\\xc7\\xbaZ/M\\x05\\xadV\\x00'1\\xc8z\\xee\\\n\\xec\\xb07|\\xee\\xbc\\x91\\x156\\xe8\\xf9\\xcb\\xe5\\xe2B\\xa3\\\n\\xdc\\xbaZl\\xdc\\xa1\\x9c\\xc3\\xc3\\xb0J\\x81\\x037\\xb2>\\\n\\xd3\\x08\\x82;c\\xb0\\x0d\\xd7WZ\\xe5\\x05\\x092\\xe7\\x9d\\\n;?h\\x92\\xbf\\xb9\\xe1\\xfe\\xf3\\x03\\xde\\xf0`\\xce\\x9cf\\\n\\x00\\x12\\xc0\\xfeW\\xac\\xdc\\xc0\\xfdeUH\\xd00\\xff`\\\n\\xee\\x0c\\xe4\\x1f\\x8a\\xf5\\x0f\\xe2\\x10\\xd0\\xf9\\xf3\\xb1\\x843\\xb9\\\n\\x9c7|\\xe6\\xcc\\xb9\\x84\\xfe\\xa0u\\xcf\\x99\\x8d\\xea|\\xbd\\\n\\x22\\xbat\\xe6\\x0c\\xf4~h\\xc0\\xcc.\\xc6\\x07\\x05\\xee<\\\n\\xf3\\xd0\\x00f\\x8e\\x8f6\\xc4Ak\\xce\\xf1n\\xd1\\x5c\\x8f\\\n5\\xf0\\x96\\x8d\\x8a\\x9e\\xc3\\x8e\\x9c\\x1f:\\xaf\\x93\\x22\\x07%\\\n3\\xd7W\\x02\\xf9\\x9e\\x053\\x9e\\x07\\x8c8?\\xd0o\\xa2\\\n\\xc4\\xd5rsa6XX\\xae\\x95\\x17\\x8a\\x15\\xccx~\\\n\\xb0\\x7f\\xc0;\\x7f\\xe6\\x5c\\xac1\\x10\\x07\\x09g\\x07\\xe3\\x09\\\np\\x86\\xf2\\xce\\x9f\\x8b\\xf5\\xf5\\x99\\xa0.\\x96\\xe9\\xccrq\\\n%\\xa0V\\x9c?\\x0fh\\xd5\\x9f\\xeb?g6\\xe32\\xa0\\\n\\xcf|\\xb1E\\x990\\xfd,\\x22D\\x0c#\\xb0\\xb1\\xd83\\\n9vc\\x22\\xf7\\xc0\\xc0\\x19B\\x9f\\xf3\\xc6(Ex^\\\n\\xac\\x88\\x11\\x93\\x05\\xce\\x9cG\\xf0g\\x07\\x06\\x8f-pI\\\n\\x148K5\\x9c3\\xd0%\\xd6\\x1e\\x99\\xfb\\x1c\\xa0P\\x7f\\\n\\x7f.w\\xce\\x98\\x13\\x04\\x1f\\x9b\\x17\\xcc8\\x0c\\xd9\\x07\\xce\\\n\\xda:\\xab:Z+ES\\xde\\xdf\\x7f~\\x18\\x8b\\x0c\\xe4\\\n\\x86\\xcd\\xb9@:L6\\x82\\xf3\\xe8\\xbbo\\xb1\\xbc\\x9e\\xdf\\\nt>\\xbb\\xff\\x8a\\x93\\xbfz=K\\xdc\\x06Z\\x89\\xfc\\x9a\\\n\\x1e|M\\x0f\\xde\\xd3\\x83\\xef\\x88\\xe0\\x0d\\xfc\\xfe\\x06\\xfb\\xfe\\\n&\\xfb\\xfe\\x16}\\xd3~\\x8b\\xc1o\\xeb\\xc1\\xef;q\\xde\\\n\\xc7\\xdc\\x99 \\xdb\\x8fT\\xbd\\x188\\xa2\\x80\\xe2\\x130\\xe6\\\n\\xe7f\\xcc\\xee+Q\\x0bv_e\\xdf_c\\xdf\\xafE\\\n\\xdfo\\xdd\\x97\\xdf\\xb0)Ah\\x87\\x87>z\\xa4\\x85~\\\n\\xceC\\x8fX=\\x8fX=\\x8fX=\\x8f^g\\xdfo\\\n\\x86\\xdf\\x7f\\xfb\\x19\\x1f\\xcb\\xbf\\xfd\\x82\\x8fK\\x9a\\xd5\\xd1\\xc7\\\n\\x132<0\\xc7rm\\xb2\\xef\\xad\\xf0\\xbb\\xed\\xad\\xd4\\x9b\\\n-1\\xd3=4\\xd2\\xe6\\x1e\\x0a\\xa3\\xdb\\xcb\\xc6\\xf6\\x95_\\\n\\xaa@n\\x00\\x83\\x7f\\xa1`\\xb4\\xcd\\xe1\\xe0lS\\x9c\\xd8\\\n\\x81!\\xb8\\xab\\x05\\xdf\\xf9a\\xbc\\xc4;\\x1f\\xc5\\xe3\\xde\\xff\\\nX\\xab\\xe8\\xfd\\x9f\\xeb\\xc1O\\xb4\\xe0G\\x07Z\\x1d\\x1f}\\\n\\xc2\\x83\\xff\\xf9f\\x0c\\xfa\\x7f\\xde\\x8bGm\\xc7\\xa3\\xc4,\\\n\\x87\\xc1]=\\xf8==\\xf8\\xbe\\x1e\\xfc \\x06\\xee\\xef_\\\n\\x8bE\\xfd\\xed\\x91V\\xe8o\\x9f\\xc4r\\xb8\\xbc'\\x05\\x1e\\\n\\xf873\\xef\\x8bf\\xd9\\xff\\xa1\\x01\\xdf\\xe2\\x85\\xdb<\\xf0\\\n\\xff\\x18\\x90\\xdaB\\xec\\x0e(\\x11M\\xfc\\x93\\x8e\\xc1<\\x13\\\n\\xed\\x06\\x04\\xf8\\x89B\\xb83\\x18z(\\xd7\\x19>.r\\\n>{U \\xb6\\xe4\\x8c\\x85]\\xd2\\x08\\x95^\\xfd\\x09\\x0f\\\n\\xfc\\xd4\\xb1qH\\xa6\\xe3\\x89\\x22\\x1aIw<\\xed\\xe1\\x1c\\\n6\\xe3\\xd5\\x07\\x0c\\xd6\\x9b\\xdf\\x08;Dt\\xf9\\xb37\\x05\\\n\\xb9\\x89\\x98]\\x8c\\xfb\\x96\\x99\\xe9\\xdb\\x96L\\xdf13}\\\n\\xd7\\x92\\xe9]K\\xdc{\\x96\\xb8\\xefY\\xe2\\xde\\xb7\\xc4=\\\n4+=0#\\x0e\\xcd\\x88?\\x99\\x11\\x7f6\\x22\\xee\\xbd\\\nbF\\xbcjF\\xbceF\\x98\\xc3x\\xcf2\\x8c\\xf7\\xcc\\\na\\xbcg\\x19\\xc6{\\xe60\\xde\\xb3\\x0c\\xe3\\xfd\\xfb*\\x0e\\\n\\x03\\xdb<\\xb0\\xcb\\x03\\xdf\\xe2\\x08\\x17\\xed\\x16\\x14\\xfa\\xae\\x81\\\no\\xf7\\xdf\\xd5\\x92\\xdf\\xd3B\\xdf\\xd3B\\xefk\\xa1\\x0fy\\\n\\x8d?\\xe5\\x81=\\x1e\\xd8\\xd7\\x0a=\\xd2B\\x07Z\\xe8P\\\n\\x0b\\xfd\\x89\\x01\\xd9~\\x85'm\\xbf\\xc6\\x93\\xde\\xe0\\x01>\\\n>\\xdb_\\xe7\\x81o\\xf0\\xc0\\x8fx\\xe0\\xc7<\\xf0\\x80\\x07\\\nx?\\xb6\\x0fy\\xe0\\x88\\x07\\xfe\\xc0\\x03\\x7fd\\x81\\x9d\\xaf\\\n\\xf1\\x00o\\xf5\\xce\\x9b<p\\x8f\\x07\\xde\\xe6]\\xdd\\xf9&\\\nO\\xfa\\x16\\x0fh\\xb3\\xba\\xf3\\x1d-\\xf4]-\\xa4M\\xf0\\\n\\x8e6\\xc1;\\xda\\x04\\xefh\\x13\\xbc\\xf3\\x13^\\x1d\\x9f\\xe0\\\n\\x9d\\x90\\x92\\xc0\\xf1\\x07\\x82|\\x9cv\\x1e\\xb1\\xc0\\xee\\xeb\\x1c\\\n\\xe0\\xee\\x1bZ\\xe8M-\\xc4gn\\xf7\\xe7\\x1a\\xfc\\xddO\\\n4\\x8a\\xb9\\x0b\\xbb\\xbc~l\\x96'Q\\xe7\\xb3w\\x7f\\xc5\\\na\\xbe\\xfb\\x1b-\\xf4{-\\xf4g-\\xf4W\\x1ez\\xef\\\n5\\x1e\\xfa\\xf0{\\xace\\x1f\\xfd\\xc6X\\xa5\\x1f\\xfd\\xbb\\x19\\\n\\xf1[3\\xe2wf\\xc4\\xef\\xcd\\x88?\\x98\\x11&\\xa9z\\\n\\xf4\\x09o\\xd1#\\xad\\xb5\\x87\\x9f\\xb0\\xf6\\x1d~\\x1a\\x05\\x22\\\nn\\x08\\xb2\\xfd\\xed\\xb7,\\xf0\\x1f\\x1c\\x07\\xfe\\x83\\xa7<\\xa5\\\n\\xbe\\x07\\x19\\xcf\\x04\\xf1\\x9ec;\\xe1w\\xbd\\xf7d\\x18\\xa8\\\n\\xac}\\x97<\\xad\\xa6\\xbc\\x1f\\x98\\xb2\\xbcc\\xc8\\xadH\\x10\\\n\\xe3\\x8c|\\xbeV\\x5c\\x88\\xc6\\xc6\\x8f>/F\\x9f\\xa3&\\\n\\x1f\\xad\\xb8\\xbb\\x17^\\x88\\xb6\\xce\\x7fc\\x0d}\\x91\\xb5\\x19\\\nx\\x07\\xf2A\\xaco\\xce\\xdd\\x08W\\x9c'B\\xe8_\\x09\\\n\\xab\\xc9&\\xf4\\xd5\\xec\\xd4\\xff\\xfb\\xfb\\xa8i\\x7f\\x7fE\\xe3\\\nf\\xfe\\xfe\\xaa\\x1e|-\\xcen\\xbd\\xae\\xe7xS\\x0f\\xde\\\n\\xd3\\x83\\xf7\\xf5\\xe0[z\\xf0\\x97q\\xe8\\xbfSCK|\\\n\\xcfw\\xad\\xdc\\x8byJy\\xe5\\xbd\\xee\\xb2\\xfd\\x88a\\xea\\\ng\\xaf\\xfc\\x98\\x87^{Ok\\xd9g\\xaf\\x7f\\x931>\\\n\\xaf\\x7f\\x9b\\x07\\xbe\\xc7\\x03\\x1f\\xf0\\xf3\\xd1\\x1b<\\xf0C\\x16\\\nx\\xeb\\x0d^\\xd7[oj\\xa1\\x9f\\xf0\\x1e\\xbf\\xf5S-\\\nt\\xa0\\x9d\\x8e\\x0e5n\\xfc\\xedCV\\xc3\\xdb\\x9ft5\\\n\\x04o\\x7f\\xca\\x01\\xbe\\xfd\\x0b\\x0d\\xe0w^a\\x00\\xdf\\xfb\\\n\\x847\\xf2}~\\x0e|\\x9fs\\x9b\\xefsn\\xf3\\xfd\\x9f\\\nF\\x81\\xff\\xf9\\x0a?\\xda\\xfd\\xcfW\\xb4\\xd3\\xcb\\xff\\xfa\\xdd\\\nocS\\xff\\xbf~\\xf7;\\x93aF\\xe7\\xc1\\xd2\\x8b\\x0e\\\n\\xa4HI\\xbf<K\\xfb\\xb1\\x0b\\x04\\x990\\xa2;\\xe4\\x81\\\n\\xc5W\\xf0\\x19e\\xd4R\\xb3/\\xda\\x92\\xc4!}\\x8eX\\\n\\x14*K}\\x88\\xa7\\xee\\xd9R\\xc5\\xb9\\x8f\\x15\\x16]\\xb6\\\n\\xa4\\xef\\xb1\\xf4v\\xe8\\xa1H^\\x99\\xe2g\\xb5Zq=\\\n{|\\xb6R/\\x96\\xc6\\xeb\\xd5\\x95J\\xd0\\x0a\\xd2\\x0ez\\\n5z\\xa9)\\xbc}\\xf9\\xf6\\x12x\\x17\\xa2;&\\xf2\\x12\\\n\\xeeL\\xe2\\xde\\x80\\xcc\\xa1\\xa6Y\\x11\\x02\\x0du\\xa4\\xf9\\xec\\\n\\xcd\\xef+\\xcc\\x0d\\x17\\xd1\\x9b?\\x88G}`r\\xd4\\x1f\\\n\\x9a\\x11?4#>2#~dF\\xfc\\xd8\\xc2\\xed\\xff\\\n\\xc4\\xcc\\xf4S3\\xe2\\x81\\x19\\xb1g\\x01\\xb3o\\x89{d\\\n\\x89;2\\x81\\xfd\\xcc\\x8c\\xf8\\xd8\\x8c\\xf8y|t>\\xb1\\\n@\\xfe\\xd4\\x12\\xf7\\x0bK\\xdc/-q\\xbf\\xb2\\xc4\\xfd\\xda\\\n\\x12\\xf7\\x1bK\\xdc\\xbf\\xc7\\x9b\\xf7\\xdbx\\xd4\\xef\\x18'\\xf1\\\n\\xa6\\xc9\\xa5\\xbc\\xc9\\xd9\\xdc79\\x9b\\xfb\\xe6_,5\\xfe\\\n\\xd5r\\xc4\\xf9\\x9a%\\xee5K\\xdc\\xeb\\xe6Q\\xe8\\x0dK\\\n\\xa67\\xcdL\\xf7\\xcc\\x88\\xfb\\x96R\\xdbf\\xa6\\x1dK\\xa6\\\n]3\\xd3\\xd7ccu\\xef\\xedx\\xd4;\\xf1(\\xcb\\xb1\\\n\\xf7\\x9e\\xe5\\xd8{\\xcfr\\xec\\xbdg9\\xf6\\xde\\xfb\\xbe\\xd9\\\n\\xb2\\x1f\\x98\\x11\\xe6\\x9a\\xbcg\\xae\\xc9{?dSw\\xef\\\n#\\x1e0\\xd7\\xe2=\\xcbZ\\xbcg\\xae\\xc5{?\\xb5d\\\n2\\x97\\xe3\\xbd=3\\xc2<\\xc0\\xdf\\xb3,\\xce{\\x8f\\xcc\\\nL\\x07\\x96L\\x87\\x96\\xb8#K\\xdc\\xcf,q\\x1f[\\xe2\\\n~n\\x89\\xb3\\xac\\xe5{\\x9f\\x9a\\x8d\\xfb\\x05\\x1f\\xcb_\\xf2\\\n\\x80e\\xe9\\xde\\xfbu\\x1c[,+\\xf7\\x9ey\\xbe\\xb8\\x17\\\n_\\xb7\\xf7~\\x17\\x8f\\xfa}<\\xea\\x0f\\xf1\\xa8?\\xc6\\xa3\\\n\\xfe\\x14\\x8f\\x8a\\xc9I\\xfebF\\xfc\\x95G\\x88'2\\xdc\\\nG\\x9f\\xb6\\xbf\\xc5\\x1c\\x03\\x0a\\xb1\\xbb\\xd8\\xf2B\\x1d\\x05\\xc8\\\n%\\x94\\x86\\xba\\xdc\\xe9FN\\xb6\\xd3E\\xa2\\xfb\\x8f\\x1ej\\\n\\x82\\xe9C-\\xf43\\xab\\x10\\xf8\\xb3\\x8f\\xf6uQ\\xea\\x91\\\n\\x1e\\xfc8\\x0a\\x9et,\\xcc\\xdb\\x17\\x1a\\x95d~\\xe2\\x9f\\\n?\\x5c\\x1f\\xfe\\xd2>$\\x1f\\xfe\\xea\\xf1;\\xad.\\xa6\\xbe\\\nt\\x9d}\\xe5]+#n;\\xd3\\x89C\\xc9\\xf7\\x9c\\x8e\\\n\\x17\\xf4\\x22\\xd3\\x07\\xc7e\\xd2\\x06\\xf6\\xc4mx\\xdf\\xe9|\\\n\\xcd/r}xl\\xae\\x93\\xceb\\xfc\\x16\\xf8\\xcb2\\x9f\\\n\\xe1`\\xfe\\xe7\\xd7\\xe3\\xf7\\x17\\xdf\\xd7\\xaf$>\\xd4\\x83\\xbf\\\n\\x8d\\x9fbN4(\\xb1[\\xfb/\\xdd\\x98|\\xf6\\xf6\\xaf\\\n\\xe3\\x17Ko\\xff\\xc6r\\x01\\xf5\\x81%\\xeeCK\\xdc\\x8f\\\n,q?\\xfe\\x9c\\xe3\\xa8]\\xa1\\x7fI\\xc60<-}\\\nd\\xe1\\xea?\\xb2p\\xf5\\x1f\\xfd\\xd1\\x94\\xf3\\x99;\\xebG\\\n\\xe6\\xce\\xfa\\xd1\\xe7\\xdaY-\\xb7\\xf3_\\xb2\\xb1\\xfb\\xff\\xc2\\\n\\x83\\xc9\\x89\\xc9\\x8d\\xa6\\xb9\\xf2\\xa5\\xdb:\\xdexC\\xbb\\xe4\\\n\\x7f\\xe3M\\x92\\x0e\\x1az\\x8b'\\xedsL\\xb3\\xe5\\xcb\\xb6\\\n\\x12\\x1e\\xbc\\x12\\xe3\\x1e\\x1f\\xbc\\x1a\\x8f\\xfaZ<\\xea\\xb5x\\\n\\xd4\\xeb\\xf1\\xa87\\xe2Qo\\xc6\\xa3\\xee\\xc5\\xa3\\xf8\\xed\\xc2\\\n\\x03~o\\xf6\\xc0r\\xfe{\\xb0k\\x893o\\xfe\\x1e|\\\n\\xdd\\x8cx\\xdb\\x8cx\\xc7\\x8c0/\\x0b\\x1f|3\\xde\\xd2\\\noY\\xea\\xb6\\x5c\\x17>\\xf8N\\xbc\\xe8w\\xe3Q\\xef\\xc6\\\n\\xa3\\xde\\x8bG}/\\x1e\\xf5~<*.\\x13z\\x10\\x97\\\n\\x09=\\xf8 \\x1e\\xf5a<\\xea\\x87\\xf1\\xa8\\x8f\\xe2Q?\\\n\\x8aGYN\\xa4\\x0f~b\\x89\\xe3\\xd7U\\x0f\\xf8\\xa5\\xde\\\n\\x03~Y\\xf5\\xe0!\\x0f\\xec\\xf3\\x00\\xbf\\xc6zp\\xc0\\x03\\\n\\xfc\\x22\\xf0\\x01\\xbf\\x08|\\xf03\\x1e\\xf8\\x98\\x07~\\xce\\x03\\\n\\xfc\\xc2\\xe6\\xc1\\xa7<\\xc0O\\x90\\x0f\\xf8\\x09\\xf2\\xc1\\xaf\\xe2\\\nC\\xf1k\\x9e\\xfe\\x1b\\x1e\\xf8w\\x1e\\xf8-\\x0fp\\x09\\xcf\\\n\\x83\\xdf\\xf3@\\xfct\\xf8 ~:|\\x10?\\x1d>\\xf8\\\ns<\\xea/\\x1c\\xf0_Y`\\xef\\x15\\x1ex\\x95\\x07\\xe2\\\n4a/N\\x13\\xf6\\xe24a/N\\x13\\xf6\\xe24a\\\n/N\\x13\\xf6\\xee\\xc7\\xa38e\\xd8\\xdb\\x89\\xa7\\xef\\xc6\\xa3\\\n\\xde\\xe2E\\xf8\\x8d\\xf3\\x9eI\\x0f\\xf6\\xde\\x89\\xe3\\xe9\\x9eI\\\n\\x12\\xf6,\\xfa\\x03{\\xa6\\xfe\\xc0\\xde\\xb7\\xcd\\x88\\xefXJ\\\nY\\xf4\\x07\\xf6,\\xf2\\xa8=\\x8b<j\\xcf\\x22\\x8f\\xda\\xb3\\\n\\xc8\\xa3\\xf6Ly\\xd4\\x9e)\\x8f\\xda\\xfb\\xc0R\\xeaCK\\\n\\x9c))\\xde3%\\xc5{?\\xb2\\x94\\xb2\\x90\\x83\\xbd\\x9f\\\n\\xc4'\\x89S\\x83\\xbd\\x07\\xf1tN\\x13\\xf6\\x1e\\xc6\\xd3\\xf7\\\n\\xe3Q\\x8f\\xe2Q\\x07\\xf1\\xa8\\xc3x\\xd4Q<\\xeag\\xf1\\\n\\xa8\\x8f\\xe3Q\\x16\\xb9\\xd4\\x9eE.\\xb5\\xf7i\\xbc\\xe8/\\\n\\xe2Q\\xbf\\x8cG\\xc5i\\xcc^\\x5cH\\xb5\\xf7\\x9bxT\\\n\\x5c\\xba\\xbc\\x17\\x97R\\xed\\xc5\\xa5T{q)\\xd5^\\x9c\\\n\\x0e\\xed\\xc5\\xe9\\xd0^\\x9c\\x0e\\xed\\xc5\\xe9\\xd0\\x1e\\xa7C{\\\n\\x7f}\\x5cN\\xd3\\xa2\\xb2\\xfaec7\\xb7\\xb6\\xcc\\xe3<\\\n=\\x96\\xe8\\xea\\xf2y+^\\xb8\\xdb\\x9bkM32\\xa6\\\n\\x1aI/>\\x9cS\\xda\\x81\\xba\\xaf\\xcf\\xd2PT\\x10\\xc8\\\n\\xd8\\xe3\\xb3\\xd9\\xa4\\xf8lt;\\xf9_\\xd6{\\xc5\\xf7\\xf6\\\n\\xf8L\\xbf\\xa1\\xb7\\x97\\xebS<e\\xaa\\x14\\x88\\xf6?\\xc5\\\nK\\xf4\\xf1@F\\x0b\\x5cT\\x81!\\xcf9}\\xda\\x0e\\xeb\\\n4/\\x91\\xe7\\x81\\x0b>+~\\xe1\\xa2\\xbd\\xb8\\xcfK\\x5c\\\n\\xe4%\\xfe/\\xae\\x92\\xb1\\x15\\xd3o8\\xe9 ?\\x96r\\\n\\xc4I\\x17k\\xf4D\\xe3\\xcbv6\\xfa\\xd8r\\x89\\xf5\\xf1\\\n\\x9bF\\xdc\\xe3\\xc8EL\\x05\\xf6/\\x9d\\x88\\xe9\\xef\\xdfd\\\n4\\xe0\\xa4=4\\x1f\\xb3|\\xd9\\xa6\\xf5]M\\x11\\xe5]\\\nM\\x11\\xe5\\xddC-t\\xa4\\x85>\\xd6B?\\xd7B\\x9a\\\n\\xbe\\xc6\\xbb\\x9fj\\xa1_h\\xa1_jjl\\xbf\\xd6B\\\n\\xff\\xae\\x85~\\xab\\x85~\\xa7\\x85\\xfe\\xa4\\x85\\xfe\\xa2)\\xc3\\\ni\\xaa\\x97\\xef\\xbd\\xaa\\x85\\xbe\\xa6\\x854e\\xbf\\xf74e\\\n\\xbf\\xf74e\\xbf\\xf7\\xeei\\xa1\\xfbZh[\\x0b\\xbd\\xa5\\\n\\x85\\xbe\\xae\\x854M\\xc9\\xf7\\xde\\xd1B\\x9a\\xce\\xe3{\\x9a\\\n\\xce\\xe3{\\x0f\\xc3\\xd0\\xc9e\\xdc\\xdas\\x9b/\\x9d\\xd4\\xe9\\\n\\xfe\\xeb\\xfa\\xd3\\x92\\x1fp\\x0a\\xfe\\xd9\\xfd\\x0f\\xf4 W\\xfd\\\n\\xb9\\xcfU\\x7f\\xee\\xff,\\xf68\\xe4\\xe3X\\xcc'\\xb1\\x98\\\nOc1\\xbf\\x88\\xc5\\xfc2\\x16\\xf3+-&\\xdaT?\\\n\\xbb\\xff\\xaa\\xa9\\x05(\\xf5\\xe9\\xefk:W\\xf7w\\xb8\\xb6\\\n1?\\x8e\\xdd\\xe7\\xc7\\xb1\\xfbok\\x854}\\xd9\\xfb\\xfc\\\n\\x16\\xfc>\\x97\\x16\\xdc\\xe7\\x02\\x82\\xfb\\xfc\\xc4}\\x9f\\x9f\\xb8\\\n\\xef\\xf3\\x13\\xf7}~\\xe2\\xbe\\xaf-\\xb4\\xfb\\xfc\\xc8}\\xff\\\n\\x0fZ\\x12\\xd7\\xa8\\xb8\\xffg-\\xf0wm\\xcd\\xdf\\xe7l\\\n\\xed\\xfd\\xbf\\xf2\\xa4m~\\xa4\\xde\\xfe\\x9a\\x16\\xf8;?\\xfb\\\no\\xbf\\xce\\x03\\x5c\\x19y\\x9b+#o\\xf3\\x03\\xf16\\x1f\\\n\\xe8m\\xaeo\\xbe\\xcdG}\\xfbm-\\xa0W\\xfb\\x8e\\x16\\\n\\xd0\\xd3\\xb8\\xaa\\xf36Wu\\xde\\xfe6\\x0f|\\x87\\x07\\xbe\\\n\\xcb\\x03\\xef\\xf2\\xc0{<\\xc0Ux\\xb7\\xdf\\xe7\\x81\\xef\\xf3\\\n\\xc0\\x07<\\xc0\\xd5\\xdb\\xb7\\xb9\\xce\\xc46\\xc7\\x96m\\xae$\\\n\\xbd\\xcd\\xcf\\x99\\xdb\\x0f\\xb5\\x80\\xdeW.j\\xda\\xe6\\xa2\\xa6\\\n\\xed\\x03M\\xe7\\x5c/u\\xa4\\x07\\xb9\\xb8i\\x9b\\x8b\\x9b\\xb6\\\n\\xb9\\xb8i\\x9b\\x8b\\x9b\\xb6\\xb9\\xb8i\\x9b\\x8b\\x9b\\xb6\\xb9\\xb8\\\ni\\xfbW<\\xc0\\xd1~\\x9b\\xa3\\xfd6G\\xfbm\\x8e\\xf6\\\n\\xdbZC9\\xd6okz\\xfd\\x1c\\xcf\\xb79^o\\xff\\\nU\\x0bh\\x1d\\xdf\\xe1R\\xa4\\x9dW5\\x85\\xfb\\xcf^\\xd3\\\n\\x94\\xe4_3\\xc2\\x1c\\xedw\\xf8\\xcb\\x81\\x1d.!\\xde\\xe1\\\nh\\xbf\\xc3\\xd1~\\x87\\xa3\\xfd\\x8e\\xb69\\xedh\\x9b\\xd3\\x0e\\\n\\xc7\\xf4\\x1d\\x1d\\xd3w\\xbe\\xa1\\x05\\xf4\\xb4\\xefkP~\\xa0\\\n\\x85>\\xd0B\\x1fj\\xa1\\x1fj\\xa1\\x8f\\xb4\\xd0\\x8f\\xb4\\xd0\\\n\\x8f\\xb5\\x10\\xc7\\xd2\\x1d\\x8e\\x96;\\x1c\\x13w\\xb8\\xd0s\\x87\\\n\\x0b=w8\\x16\\xeep,\\xdc\\xe1X\\xb8\\xc3\\xb1p\\x87\\\nc\\xe1\\x0e\\xc7\\xc2\\x1d\\x8e\\x85;\\x1c\\x0bw8\\x16\\xeep\\\n,\\xdc\\xe1X\\xb8\\xc3\\xb1pG\\x1bY\\x8e\\x85;\\x1a\\xed\\\n\\xdd\\xf9\\xa3\\x16\\xd2\\xb8\\xa1\\x1d\\xed\\xa1\\xc0\\xce_8\\xb9\\xdd\\\n\\xd1\\x88\\xef\\xae\\xc6\\xd5\\xecj|\\xcc\\xee\\x8e\\x16\\xda\\xd5B\\\n\\x1a\\x1a\\xed\\xf2MkWcqv5\\x16g\\x97c\\xd1\\\n.'\\x9e\\xbb\\xda\\xf3\\x9f]\\xed\\xa1\\xc8.'\\x9f\\xbb\\x9c\\\n|\\xeer\\xf2\\xb9\\xcb\\xc9\\xe7.'\\x9f\\xbb\\x9c|\\xeer\\\n\\xf2\\xb9\\xfb\\x03\\x1e\\xe0\\xb4t\\x97\\xd3\\xd2]NKw9\\\n-\\xdd\\xe5\\xcfrv\\xf9\\xb3\\x9c]New9\\x95\\xdd\\\n\\xe5\\xbb\\xf5.\\x97\\xe3\\xedr\\xcc\\xde\\xe5\\x98\\xbd\\xab=Q\\\n\\xe1h\\xbe\\xcb\\xd1|\\x97\\xa3\\xf9.G\\xf3]\\x8e\\xe6\\xbb\\\n\\x1c\\x99w9\\xfe\\xeer\\xfc\\xdd\\xe5\\xf8\\xbb\\xcb\\xf1w\\x97\\\n\\xe3\\xef.\\xc7\\xdf]\\x8e\\xbf\\xbb\\x1c\\x7fw\\xb92\\xe6.\\\ng\\x1dv9}\\xdd\\xe5\\xf4u\\x97\\xd3\\xd7\\xdd\\xc7\\x16\\x87\\\ni\\xcf\\xab\\xbft\\x1c\\xf0\\xc3WN\\xa6.\\xf3\\xf05\\xae\\\n\\xf0\\xf5\\xf0\\x0d-tO\\x0bmk\\xa1]-\\xf4u-\\\n\\xf4\\x8e\\x16\\xfa\\xa6\\x16\\xfa\\xb6\\x16\\xfa\\xae\\x16z\\x8f\\x87\\xf6\\\n\\xffd\\xd7\\xb4:q\\x0f_\\xd7\\xb4\\xd3\\x1e\\xbe\\xa9\\x07\\xef\\\n\\xeb\\xc1\\x1d=\\xf8\\x96\\x1e|[\\x0f~C\\x0f~K\\x0f\\\n~G\\x0f\\xbe\\xab\\x07\\xbf\\xa7\\x05\\xf7\\xff\\xcc\\xd4\\xc7\\xa2#\\\n\\xc0\\xc3W9\\x81}\\xf85-\\xf4\\xbe\\x16\\xfa\\xbe\\x16\\xfa\\\n\\x81\\x16\\xfa@\\x0b}\\xa8\\x85~\\xa8\\x85>\\xd2B\\xda\\xd1\\\n\\xfe\\xa1v\\xb4\\x7f\\xf8\\x13-\\xf4S-\\xf4@\\x0b\\xedi\\\n\\xa1\\x87Zh_\\x0b=\\xd2B\\x07ZH\\x13%<\\xd4\\\nD\\x09\\x0f\\x7f\\xa6\\x854\\xc1\\xc2CM\\xb0\\xf0P\\x13,\\\n<\\xd4\\x04\\x0b\\x0f\\xb5C\\xc6\\xc3_j\\xa1_i\\xa1_\\\nk\\xa1\\xdfh!M\\xe8\\xf0P\\x13:<\\xd4\\xceB\\x0f\\\n\\xb5\\xf7x\\x0f\\xb5\\x0d\\xf9\\xa1\\xb6!?\\xd46\\xe4\\x87\\xda\\\n\\x86\\xfcP\\x13V<\\xd4^\\xc6\\xeds>q\\x9f\\xf3\\x89\\\n\\xfb\\x1a&\\xed\\xbf\\xa6\\x8541\\xc6\\xbe&\\xc6\\xd8\\xd7\\xc4\\\n\\x18\\xfb\\xda\\x86\\xbf\\xaf\\x891\\xf6\\xb75\\x98;ZhW\\\n\\x0b\\xbd\\xa5\\x85\\xbe\\xae\\x85\\xf8Yj\\xff\\x1d-\\xa0\\xb1\\x8d\\\n\\xfb\\xdf\\xd0\\x02z\\x1a\\xe7\\x0d\\xf69;\\xbc\\xcf\\x0fV\\xfb\\\n\\x9c3\\xd8\\xe7\\x9c\\xc1\\xbe&L\\xd9\\xd7\\x84)\\xfb\\xdf\\xd3\\\n\\xda\\xab\\xad\\xc9}m\\x15\\xeek\\xabp_[\\x85\\xfb\\x9c\\\n'\\xd8\\xd7\\x16\\xe1\\xbe\\xb6\\x08\\xf79W\\xb0\\xaf\\xbd\\xab\\xdf\\\n\\xe7l\\xc1>g\\x0b\\xf69[\\xb0\\xcf\\xd9\\x82}m\\xfd\\\n\\xedk\\xebo_[\\x7f\\xfb\\xda\\xfa\\xdb\\xd7\\xd6\\xdf\\xbe\\xb6\\\n\\xfe\\xf6\\xb5\\xf5\\xb7\\xaf\\xad\\xbf}m\\xfd\\xedk\\xebo_\\\n[\\x7f\\xfb\\xda\\xfa\\xdb\\xd7\\xd6\\xdf>g%\\xf6\\xb5G\\xae\\\n\\xfb\\xda\\xf2\\xdb\\xd7\\x96\\xdf\\xfe\\xef4 \\xbf\\xd7B\\x7f\\xd0\\\nB\\x7f\\xd4B\\xda\\x12\\xdb\\xff\\xebcK\\xcfLS._\\\n:\\xe6\\xe1\\x113f\\xf2\\xe8\\x0d\\xf6}\\x8f}\\xdfg\\xdf\\\n\\xdb\\xec{\\x87}\\xefj2-\\xb4\\xbe\\xf1\\xe8-S\\xf0\\\n\\xf5\\xe8\\xeb\\xf1Lo\\xc7\\xa3\\xde\\x89G1#1\\x8f\\x98\\\n\\x91\\x98G\\xdfb\\xdf\\xdff\\xdf\\xdfa\\xdf\\xdf\\x8d\\x83{\\\n7\\x1e\\xf5^<\\xea{\\xf1\\xa8\\xf7\\xe3Q\\xdf\\x8fG\\xfd\\\n \\x1e\\xf5A,\\xea\\xe8OQ\\x1b\\x8f\\xfe*\\xbf\\x19#\\\n\\xf0H#\\x17\\x8f\\xb4M\\xfb\\x91F/\\x1ei\\xf4\\xe2\\x91\\\n\\xb6i?\\xd2\\x08\\xc6\\xa3\\x9fj\\xa1\\x07ZhO\\x0b=\\\n\\xd4B\\x9aE\\x83G\\x9aE\\x83G\\x9aE\\x83G\\x9aE\\\n\\x83GGZ\\xe8gZ\\xe8c-\\xf4s-\\xf4\\xa9\\x16\\\n\\xfa\\x85\\x16\\xd2\\xe4\\xff\\x8f\\xb4\\xe7\\xef\\x8f\\xb4\\xdb\\x80G\\x1a\\\n\\x9dx\\xa4\\xd1\\x89G\\x1a\\x9dx\\xa4m\\xd3\\x8f\\xb4m\\xfa\\\n\\x91\\xb6M?\\xd2\\xb6\\xe9G\\xda6\\xfdH\\xdb\\xa6\\x1fi\\\n4\\xe4@\\xbbS8\\xd0\\xee\\x14\\x0e\\xb4;\\x85\\x03\\xed)\\\n\\xfe\\x81\\xb65\\x1fh[\\xf3\\x81\\xb65\\x1fh[\\xf3\\x81\\\n\\xb65\\x1fh'\\xf3\\x03\\xedd~\\xa0\\x9d\\xcc\\x0f\\xb4\\x93\\\n\\xf9\\x81&\\xe09\\xd0\\x8e\\xe6\\x07\\xda\\xd1\\xfc\\xe0\\x1bZ\\xe8\\\n\\x9bZH;\\x9c\\x1fh\\x87\\xf3\\x03M*}\\xa0Yq\\\n8\\xd06\\xe1\\x03m\\x13>\\xd0\\xac8\\x1c\\xf0\\x13\\xfa\\x81\\\n&O:\\xd0\\xe4I\\x07\\x9a<\\xe9@\\x93'\\x1dh\\xf2\\\n\\xa4\\x03M\\x9et\\xa0\\xc9\\x93\\x0e4y\\xd2\\x81\\xb6\\xc4\\x0e\\\n\\xb4%v\\xa0-\\xb1\\x03m\\x89\\x1d\\xf0m\\xf9\\x80\\x9f\\xd6\\\n\\x0f\\xf8i\\xfd\\x80\\x9f\\xd6\\x0f\\xf8i\\xfd\\x80\\x9f\\xd6\\x0f\\xf8\\\ni\\xfd\\x80\\x9f\\xd6\\x0f\\xb8P\\xea\\x80\\x0b\\xa5\\x0e\\xf89\\xfe\\\n@[e\\x07\\xda*;\\xe0\\xc7\\xfa\\x03\\xbe\\x17\\x1f\\xf0c\\\n\\xfd\\x01?\\xd6\\x1f\\xf0c\\xfd\\x01\\xe7\\xce\\x0e\\xf8\\xb1\\xfe\\x80\\\n\\x1f\\xeb\\x0f\\xf8\\xb1\\xfe\\x80\\x1f\\xeb\\x0f\\xfe\\xac\\x054n\\xef\\\n\\xe0/Z@O\\xe3B\\xd5C\\xce\\x1d\\x1fr\\xee\\xf8\\x90\\\n_\\x1c\\x1cr\\xb3%\\x87\\x5c~z\\xc8\\xe5\\xa7\\x87\\xfc\\x0e\\\n\\xe1\\x90\\xdf!\\x1cr\\xc9\\xea!\\x97\\xac\\x1er\\xc9\\xea!\\\n\\x97\\xac\\x1e\\xf2\\x0b\\x85C.\\x11;\\xe4\\x1c\\xf1!\\xe7\\x88\\\n\\x0f9\\x0b|\\xc8y\\xdeC\\xce\\xf3\\x1er\\x9e\\xf7\\x90\\xf3\\\n\\xbc\\x87\\x9c\\xe7=\\xe4\\xd2\\xb0C.\\x0d;\\xe4\\xd2\\xb0C\\\n\\xbe\\xd6\\x0e\\xb94\\xec\\x90K\\xc3\\x0e\\xb94\\xec\\x90K\\xc3\\\n\\x0e9\\xe7{\\xc8\\xa5a\\x87\\x5c\\x1av\\xf8c-\\xa0\\xcd\\\n\\xea\\xe1O\\xb4\\x80\\x9e\\xc6\\x99\\xe2C\\xce\\x14\\x1fr\\xa6\\xf8\\\n\\x90\\xaf\\xbeC\\xbe\\xfa\\x0e\\xf9\\xea;\\xe4\\xab\\xef\\x90\\xaf\\xbe\\\nC\\xbe\\xfa\\x0e\\xf9\\xea;\\xe4\\xab\\xef\\x90\\xaf\\xbe\\xc3O\\xf4\\\n\\xa6~\\xaa\\x07\\xb9X\\xf8\\x90\\x8b\\xd5\\x0e\\xf9\\xfa;\\xe4\\xeb\\\n\\xef\\x90\\xaf\\xbfC\\xbe\\xfe\\x0e\\xf9\\xfa;\\xd4\\xea\\xe1\\xeb\\xef\\\n\\x90\\xaf\\xbfC\\xbe\\xfe\\x0e\\xf9\\xfa;\\xe4\\xeb\\xef\\x90/\\xb8\\\nC\\xbe\\xc2\\x8e\\xf8\\x0a;\\xe2+\\xec\\x88\\xaf\\xb0#\\xbe\\xc2\\\n\\x8e\\xf8\\x0a;\\xe2+\\xec\\x88\\xaf\\xb0#\\xbe\\xc2\\x8e\\xf8\\x0a\\\n;\\xe2+\\xec\\x88\\xaf\\xb0#\\xbe\\xc2\\x8e\\xf8\\x0a;\\xe2+\\\n\\xec\\x88\\xaf\\xb0#\\xbe\\xc2\\x8e\\xf8\\x0a;\\xe2+\\xec\\x88\\xaf\\\n\\xb0#\\xbe\\xc2\\x8e\\xf8\\x0a;\\xe2+\\xec\\x88\\xaf\\xb0#\\xbe\\\n\\xc2\\x8e\\xf8\\x0a;\\xe2+\\xec\\x88\\xaf\\xb0#\\xbe\\xc2\\x8e\\xf8\\\n\\x0a;\\xe2+\\xec\\x88\\xaf\\xb0#\\xbe\\xc2\\x8e\\xf8\\x0a;\\xe2\\\n+\\xec\\x88/\\xa9#\\xbe\\x86\\x8e\\xf8\\x1a:\\xe2k\\xe8\\x88\\\n\\xaf\\xa1#\\xbe\\x86\\x8e\\xf8\\x1a:\\xe2k\\xe8\\x88\\xaf\\xa1#\\\n\\xbe\\x86\\x8e\\xf8\\x1a:\\xe2k\\xe8\\x88\\xaf\\xa1#\\xbe\\x83\\x1d\\\n\\xf1\\x1d\\xec\\x88\\xaf\\x9f#\\xbe~\\x8e\\xf8\\xfa9\\xd2\\x98\\xc4\\\n#\\x8dI<\\xd2\\x98\\xc4#\\xbe\\x84\\x8e\\xf8\\x12:\\xe2K\\\n\\xe8\\x88/\\xa1#\\x8dA<\\xd2X\\xc2\\xa3\\xe8*\\xe5q\\\n42\\xbf\\x94b\\xe8HJ\\xfb\\xda\\x0ft\\x1b4\\xaf}\\\n\\xf0\\x05\\xe8@1\\x03\\xb8_\\xba\\x1e\\xff\\xed\\xd3H\\x81\\xe4\\\no\\xbf\\xd6M6\\xfe\\xees\\xf4\\xdd\\xb4\\xa7\\xdcm\\xc7\\xaf\\\n\\xdc\\xbc\\xe4\\xa1q\\x7fo\\xec_\\xc6\\x9e\\xf7\\xc6\\xd1\\xdc\\xdd\\\n\\xd8\\xf8\\xb3\\xde\\xd4u\\xf8\\x9c\\xf0\\xae\\xdf\\x9c\\xbdqs\\xd6\\\n\\x9b\\xbc\\x06\\x7f\\xc5\\xf8<71=3y\\xfd\\x9a\\xef\\x0c\\\nd\\xcfe\\x87\\x1co\\xe2\\xf9\\xd9\\x89k\\x14\\x13V\\xb5\\xde\\\n\\x0ajM\\x80\\xed]\\x9d\\xf0\\xc3d\\xf2\\xae6q\\x17\\xbd\\\n|\\xf8\\x9bw\\x83\\x06f\\xc8K mofbvv\\\n\\xf2\\xda33>4G\\xb9c\\x83\\xf6\\xae\\xce\\x04-\\xe8\\\n\\xd6R\\xd3\\x1b\\xbf~\\xed\\xe9\\xc9g\\xfc\\xcder\\x8c<\\\n\\x94S>\\x877\\xd7\\xf3\\x83\\xd9!o#?\\xe4\\xcd\\x0b\\\n\\xc7T\\xfd\\xde\\xbc\\xf4\\x88\\xf5\\xc4\\xd8\\xd9\\xcb\\x8e\\xb7,\\xfd\\\nU\\xf5\\x0f\\xa1\\x13(\\xe5-\\xeb\\x89\\xe1\\xc11\\xa8w~\\\n\\xb5\\xd5\\x82v\\x00\\x94\\xccY\\x00\\x92\\x19\\xf4\\xd6\\xe0s\\xa0\\\n\\xed-\\x16KA\\xb96Y[\\xc8g\\x07(P_m\\\nQ(7D\\xc1\\xcb\\x01\\xba\\xc5\\x1a\\xca\\xa9\\xb4\\x99V\\xb1\\\n\\xd1\\xca\\xa3af\\x19!2\\xf4\\x0f\\x05\\x83\\x1eY\\xdbj\\\n\\xc2\\xdcg\\xe5\\x10\\xbdx\\x05{\\xf1\\xe2\\xd3\\xd8\\x03\\x07\\xe2\\\n\\xe7\\xeb\\x8dR\\xd0\\xc84\\x8a\\xa5\\xf2j\\xd3\\xc9;\\xd9\\x81\\\n!2\\xb8\\x9dY\\x0b\\xe6\\xef\\x94[\\x99\\xc4\\xf4j\\xfd\\xe5\\\n\\xe4\\xc4;\\xcb\\xadj%1y\\xbe\\xbe\\x9ei.\\x17K\\\n\\xf55\\x88\\xcc\\xad\\xac\\xa7\\xf0?\\x1c\\xa3\\x14\\x0d\\x0d\\xaf\\xfc\\\n\\xb8\\x8c\\xa2\\x15\\xc7\\xe5R\\xcd\\xe9\\x9cO4\\x17f\\x0bb\\\n\\x9a\\xf5J\\xb9\\x94\\xc2YL\\xf5\\xa4\\x84\\x9b\\x96\\x22\\xfa}\\\n7\\x9c\\x92e\\x84O)\\xbc\\xfb!\\xd7my\\xa78\\x0f\\\nEW[\\x01Lp4\\xe6\\xe8\\xd9\\xef\\xc5K4\\xdf)\\\nc\\x22H\\x1f\\xd4\\xa1UjB\\xf0\\x16V\\x1bMD\\x98\\\n\\x95z\\xb9F\\xd6\\xd2\\x12jW\\x0d\\x1f`\\x0d\\x1f\\x1b\\xa3\\\n\\x81\\xd6'\\xe0\\x0c\\xa2a\\xe2\\xd4\\xcaT\\xdb\\xc4\\xca$\\xfb\\\n\\xb4\\x8a\\xc4\\xc5z\\xad\\x95Y,V\\xcb\\x95\\x0d\\x88;5\\\n^_m\\x94\\x83F\\xeaZ\\xb0v\\xca\\x93\\x01\\x95\\x0b\\x1d\\\n\\xa3A\\x9e\\xf3+\\xc25<\\xad\\x89\\xa7s\\xf8\\xbf\\x13\\x8d\\\nZ\\x0a}\\xea\\xc2\\xd0\\x85\\xa3\\x22\\x87\\xc3\\x89\\x1c\\xd1e\\x08\\\n\\xbc\\x83\\xebq\\xcc6\\xc3\\x961\\x1a\\xa4\\xde\\xd0\\xf0*\\x07\\\nq9o\\xa5X\\x12\\xde\\xd8\\xb0\\xaf\\xbc\\x8d\\xac9y\\xa2\\\n\\x0f\\xd0\\x1e\\xd9\\xa5\\xb5\\xe5r+\\xe8a\\xb8c\\x99\\xa6\\xf1\\\n\\xf1q\\x96\\xa3#`\\xd5[k\\xef\\x0c8\\xed\\xb67\\xf1\\\n\\x1c\\x10r\\xff\\xeaD\\x96\\xe8\\x9e\\xbf\\x89\\x1ei/\\xdd\\x9c\\\n\\x9d\\xbd~\\x0d\\xbaC\\xce\\xedeh\\x00H\\xe5\\xb5\\x9b\\xcf\\\nN\\xdc\\xce\\xa3\\x13\\xbcg\\x83\\x0d\\xc7\\xc3\\xc0\\xe6\\xf4\\xc4\\xec\\\n\\xcd\\xe9k\\xf9\\xfeAobf|\\xec\\xc6D~\\xe0\\x9c\\\n'\\xec\\xf7\\x0f\\x0ex\\x08-?x\\xce\\xbby#?8\\\n,\\xc0\\xe5\\x07\\xcf{\\x97\\xaf\\xdf\\xba\\x06\\x84\\xa8\\xed]\\xad\\\n\\xaf6\\x03Xh\\xcc\\x11Z\\x80\\xed\\x08]\\x9aP\\xf3\\xb2\\\nW\\x8a\\xb5R%h\\x884\\xcf\\x09K9\\xe4\\xd7\\xc4\\x95\\\npVWN\\x0e\\x05=\\x18s\\x18U\\x18\\xc2\\x93C\\xc1\\\nR:\\x1c\\xda\\x02N\\x0c\\x87\\x10C\\x87\\xb3\\xdaz\\x0c0\\\n\\xab\\xad\\x10\\xcax\\xa5\\xbcp\\xe7D \\xa8DX\\xfe\\xf2\\\n|\\xe5\\xe4 T\\xa1\\xa8/\\xb0DO\\xd6\\x08X\\xff\\xc1\\\nz\\x0b\\xcb\\x85@d\\x16\\x03\\x8eGl\\x0c\\xfa\\x95$w\\\nZ\\xc8\\x22\\x10\\x1b\\x82\\xa6\\x1a\\xa4\\xb3TW\\xab\\xe9i\\xf4\\\n\\x1c(\\xdb@\\x86\\xeb\\x80q\\xf1\\x05\\x131\\x87`\\xb2\\x10\\\n\\x9e\\xbc\\x5cP~\\x8a(\\xe3\\xd6\\x96(\\xe0\\xaf\\x95k\\x80\\\nxYQ\\xda\\xa3\\x9fl\\xb9\\xc9Z\\xebkMG\\xf7o\\\n\\xd8<\\x009\\x87\\x1f\\x85\\xd1\\xf0K\\xb6\\x9e\\x1a\\x9e\\xd7Y\\\n\\x90\\x7f\\xad\\xd7\\xab\\xa3\\xf1(9F\\xb4Pc}\\xcf\\xdf\\\n\\xad\\x03\\xa1\\x80%E\\xddK\\x1a\\xebc;\\xd3\\xdb+\\xd2\\\n\\xd0\\x9a\\x1e\\xfeJ\\xff\\x89\\xa3\\xb6\\xc8\\xb4\\x9b\\x17\\xd1\\x028\\\n\\xb9\\x8e\\xf2{\\xfa\\xe5\\xa84[\\xf5\\x95\\x1b\\x8d\\xfaJq\\\n\\x89\\x0c\\x88\\xf4\\xf6Z\\xa3\\xd3j\\x10\\x17\\xd0\\x05}\\xe5\\xd2\\\n\\xea<p\\x8b~O\\xce\\xf5\\xd0\\x83#P\\x19\\x0bq\\x90\\\n\\x93}\\xfc\\xc4\\xdc\\x096\\xd0k\\x1dL\\x82\\x98y\\xa0W\\\nY\\x22M\\xbd\\xbd\\x22\\x82M\\x95\\x1aP\\xb9j\\xa2\\x04[\\\n\\xe5\\xdeb\\xbd\\xb1 =\\xf6\\x02\\xbeY\\xb0\\x07g\\xdcG\\\nT\\x5c\\x0a\\x90\\xa1%O\\xe5\\x90\\x9a\\xa6\\xa6{\\xcd\\xe5\\xfa\\\n\\x1a\\xbalK\\x0b\\xa7h\\x98O2\\x94\\x98\\xa2\\xd0v\\x14\\\n\\xe2\\xf3\\xc0l\\xba\\xb6D\\x98(G\\xee\\x01\\x88e\\x8a9\\\n\\xc5\\xac\\xd8\\xf2\\xad-\\xd1Dw\\x13H{\\xb5Y\\x16X\\\nsiuIM\\xb06`[[r\\xdc\\xe4\\xb0T\\x82\\\nbcFy\\xdd\\x86)\\xba\\x82\\x9eSE4\\xed7\\xb3\\\n\\xe5*,U\\x17;\\x99\\xa5M\\x07\\xa0\\x86\\xdf\\x80\\x0eH\\\n\\x0f!j\\x01\\x0b`^ H\\xb1t\\xd7+\\x05xL\\\nH\\xc5\\x13\\xa2\\x98Z\\x1dYU_\\xf9\\xbb\\xc3\\x1d(\\xe4\\\n\\xe1q\\x14<\\x5c\\xe9\\xdeb\\x0d\\x07\\x13\\x13\\x89\\x04\\xe0\\x87\\\n\\x22\\x01\\x97\\xeb\\xd5b\\xb9\\xd6\\x81\\x00@\\xfe\\x9e4f\\xf6\\\n\\xc5q\\x82\\x0a\\x8aRb\\x80i\\x1d\\xbb4\\x90\\x00\\x16\\xa7\\\n\\x15\\xfe\\x13N\\xb2\\x81[Y\\x08|\\x8a\\xc7\\x83@\\xf6i\\\n\\x18\\xd2\\xb43\\x03\\xb3\\x94\\xc2\\x92\\xa918\\xde\\xa0?G\\\nL\\x1c\\x11\\xb9\\xb3\\xb0\\xd7W\\x9b\\xe8\\x9f\\x0b\\xfdu\\x22\\xa8\\\n\\xacH\\xc0jf\\xcb\\xadJ\\xe0\\x99\\x19a\\x22\\x01k\\x8c\\\n\\xacOS\\xe4\\xd6\\x96h\\xe2\\x94\\xa3\\x97\\xea\\x97\\xe0\\xe9L\\\n4\\x87%\\xcb\\xb5\\x95UD\\xc4B\\xe7\\xea\\x86\\x0aY\\xe0\\\n\\x92\\xf0\\xc4V\\xf2{l\\xa5#o\\xc5\\x13\\xd2\\xe90\\x0d\\\nE\\x14\\xdd\\xf45\\x80\\x03\\x85\\x11\\x96\\xc6\\x80\\xe7\\x8cr\\x93\\\n\\x98\\xdd\\xe7y\\xe5\\xc0\\x09@t\\xcc\\xbc\\x01\\xdc[\\xd0`\\\n\\x00c^\\xb2\\xc7\\xe5B\\xb18\\xc7\\x1e1\\xdc?\\xea5\\\n\\xdb\\x9d@\\xe2\\x18\\x1a\\x19\\xd1\\x1d6\\xc6\\xc3\\x18\\x8f\\xe0\\xd0\\\n4\\xea\\xf5\\x96rn\\xe8\\xab\\x08\\x9bk\\xd6\\xd1\\xb4} \\\n\\xfa=K\\x0d\\xcb\\xe5R)\\xa8A\\xa2\\x9b\\xef\\x90\\x9aS\\\n\\x0e\\xb2M\\x14$\\xecS\\xe7RG\\xb8\\xb7\\x11\\x83\\x07\\x08\\\n\\xa9J\\xa7\\x9dk\\x00\\xf6n\\x00\\xc7t\\xa4 \\xd8vX\\\n\\xa7b\\xa2{{\\xf1\\x90{\\x09\\x9f\\xa0\\xc1*\\x5c.6\\\n#\\x08\\xae\\x17\\xd5v\\xa3\\xde\\x94;\\x91\\xdb\\x8e\\xaf:h\\\n ,M\\x9f\\xb9\\xed\\x93+>\\x9e\\xb5\\xddV\\xbe\\x0dO\\\n\\xb8\\x7f\\xdb\\xb2c\\xbd\\xb4\\xa2)q:\\xf8\\xeaj\\xb9\\x11\\\n\\xa4\\x9d9\\x89(\\x85\\xd3\\x81:\\xfd7O\\x87\\xfe\\xd4\\x85\\\n\\xc9:[kmUx\\x9c\\x08\\xc1\\x1e\\xc4\\x83\\xfef\\xdb\\\nm\\xb7\\xc9\\x99\\xfa]\\x7f\\x136\\xba\\xe0y\\xb9O\\xd2\\xb7\\\n\\x87\\x7fo\\xb3\\x98\\xdb\\xdeB\\xa5\\x0c\\x01\\x95K\\x86d\\xec\\\nm-\\xf6v[\\xb1%J\\x0a\\x92\\xfd\\xbfW\\x83\\xd5 \\\n-\\xe9\\xa07\\xa7sN4b\\xb0\\x1b\\xb2]\\xab\\xa0\\xa8\\\n<\\x1fG8\\x08\\x8cUZ\\xc7\\xecz\\x1d\\xf7;\\xdc\\x9b\\\n\\xfc\\xcf\\xb1\\x9f!!\\xc60Q\\xf0.\\x80]\\x9d\\x99\\x9c\\\n\\xe8\\x08\\x103x\\x9d\\xb6\\xc8\\xde\\xde\\x9e0\\xaa\\xba2\\xae\\\n\\x22\\xc3F\\xf4\\xc0\\xceY\\xab\\xb31\\x81\\xddSn\\x94Y\\\n!\\x93\\xe9Q\\x8c\\x05;'I\\x5c\\x0d\\xdd\\x80\\xf6P\\x81\\\n9\\x91O\\x9e\\xa0\\x0a\\x09`\\xa2\\xb3\\x97\\x84\\xa2&\\x1b\\xc7\\\n \\xce\\xab\\xd0\\x9c\\xc2\\xd6\\xd8F.\\x9f\\xef\\xd8\\xdcS&\\\nt\\xa2Y\\x5c,6\\xcazG\\xa0\\x9fAKm\\xcd\\x8e\\\n\\xe4\\x05\\x80j\\xb1]?\\x1bTWZ\\x1bi\\xd7\\xf1\\x80\\\n\\x1b\\x0b\\xfd\\x866U\\x06\\x1dB<\\x9d\\x17o\\xa3\\xd7\\xeb\\\nK\\x97\\xea\\xebQ\\xcb\\xf0\\x94\\xean\\xe2_\\xcd{(4\\\n\\x17\\x18\\xc4\\xc9\\xea\\x92\\xd8\\xf0\\x97\\xfd0\\x22[_\\x5c\\xc4\\\n\\x1a\\xeb+^\\xc9\\xa7r\\x22\\xe2\\x0a\\x1d\\xbe3\\xcb\\xde\\x1a\\\n\\x8f\\xbd\\x85\\x0255|\\x14/\\x98\\x0b\\xb3\\x16os-\\\n\\xbf\\xe6-\\xe7\\x97\\xbdR\\xbe\\x84\\xe7abu\\xb0Vb\\\nt\\xfc\\xcd\\xa4\\xd3\\x5ct\\xe2\\x08\\x91\\x08h\\xfa\\x02\\xe6D\\\n\\xc2\\x0e;3\\x01\\xd0\\x10\\xefe`\\xe2\\xc5\\x22B\\xa7\\xca\\\n\\xbe\\xc0\\x01\\xfc\\x94\\x92O\\x85\\x16\\x8d\\xa0Rl\\x05\\xa5Y\\\n\\xf4\\x8f\\x08,i]\\xe6l\\xd5\\x8d|-\\xca\\x80+\\x07\\\n\\x81\\xf4\\xf6\\xb6\\xea\\xc0t!\\xe1.7%\\xde\\x93\\xf7W\\\nLt\\x01\\xc9\\xe2)\\xad\\xba\\xbb\\xb5\\x85\\xd1\\x92K\\x85\\x1d\\\n\\x92g\\x8eb!\\xa3+Z\\x8e\\x0c\\x109\\x13\\xb51\\xb6\\\nj\\xc0C\\x06nTp\\x8e\\xd3\\x01\\x0d\\x06\\xf2\\x80n^\\\nD1>\\x12b\\xc5hZ\\x09S\\xe2A\\xf8\\xff\\xcc\\xc0\\\n\\x09f\\xe0f-6\\x03qv\\xbe\\xc3\\xf0[\\xe4\\x22\\x9f\\\no\\xfc;\\xf7\\x02\\x80\\x86=P\\xb4\\x10\\xe2D\\xc3+\\xc5\\\nf\\xeby\\xdf\\xd7vK`X\\xc2\\xb4\\xdbz\\xdam\\x83\\\n\\x98r \\xfa\\x8e\\xcbAh\\x10\\xbc\\x13\\xe2\\xac\\x17\\xe5\\x8c\\\n\\x06-,\\x22\\xbc\\xd3\\xc7\\x87\\x9f\\xa2\\x97\\xc3\\x18\\x9f\\xd1W\\\n\\xb5\\xdb\\xa7\\xe7\\xe4\\xa0RfO\\x81\\x84=]\\x5c>\\xc8\\\n\\x11\\x93\\x1b\\x82\\xad\\x15\\xb2\\xf6\\xa8\\x1a\\xf3\\x9cf$\\x87\\xc7\\\n43^v\\xd2\\xd6?\\xdc\\xf6\\xe2\\xe2\\x8b\\xad\\xad\\x1e\\x9b\\\nL\\x83\\xd0r\\xb3-\\x8a\\xc6X\\x0c\\x8d+\\x05.\\x03(\\\n\\xb9:VS\\xc9\\x19\\x88`\\x931?__\\xd7\\xd2q\\\n\\xd3\\xa1t,\\xe9E\\xa7\\xef\\xcf\\xc3\\xaax\\xa5u_\\x0e\\\n7]\\xf0d\\xd7\\xbd\\xd2\\x86\\x1e\\xb3\\xe1\\x95Jz\\x8c\\xb8\\\n\\xf9\\x19\\x91\\xa7\\xf1K$\\xe2\\xa5MJ\\x9c\\xc9!{\\x8e\\\n\\x1d|\\xfd\\xcd:Z\\x1bmm\\xe4s^\\xb9\\x94\\x0f\\xcf\\\n`\\x93\\x97\\xfb\\x9c\\x8c\\xc0\\x80\\xf6\\x88 cxF\\xc1\\xcb\\\n1u}\\x96vH\\x00\\xecm\\xcar\\xe2 ].y\\\n!\\xe1\\x11/K\\xd0\\xbb\\xcaf\\xc2E\\x81\\xb8\\x8e\\xcay\\\nB\\xb0\\x8dr\\xed\\xf0\\xd6\\x81(#\\x9c\\x1a\\x1c\\xc0\\xf2\\xb9\\\n9UW\\xe8\\xff<\\xef\\xd8\\xee\\x8fNR\\xb7\\xed\\x82\\x03\\\n6\\xeb<\\xe1\\xdf\\x8d\\xf5t\\x06\\xe78\\xbb\\x9c)md\\\nJ\\xa5L\\x9aB\\x1b[[9\\xd7\\xf5*\\xc1b+\\xca\\\nWZ\\x87\\x0c}\\x22\\xc3\\xba\\xc8 \\xfa\\xa5rP\\xcaZ\\\n\\xdf\\xc0S\\xa5uWuUK[\\xee\\xa3\\x9f\\x12f\\xd9\\\np\\xbdhJ\\x16\\xcb\\x95\\x16J\\xe8\\x8b\\x95\\x95\\xe5bZ\\\n\\xc6\\xc3\\x04\\xc2\\xa0\\x14`-\\x0a\\xb6.aV\\xf8H\\x18\\\nS\\xd4\\xe7\\x08\\xae\\xdd2\\x9a\\xec\\x8e\\xc39f\\x00\\x9d\\x97\\\n3\\xc0\\xce\\x05\\xebN\\xbe\\xff\\x0b\\x9cHq\\xff\\xa4O$\\\n.\\xa7<q\\xa1\\xf5\\xda\\x02\\x09\\x89i\\xf8\\xa8\\x00-\\x14\\\n\\xe8\\x5c\\x1eW\\x18`\\x9fl\\xb36Er\\x02J\\xeb}\\\n\\xfaD\\xf5\\xc9\\x95#\\xc61\\x0b\\xb3\\xd3\\x15\\x02d\\xf4b\\\n\\xdd\\xce\\x18\\xeb=\\xef][\\x18\\xd3(\\xc0?wD\\xb4\\\n\\x14\\x07\\x13\\xd6\\xaaX\\xd0\\xd4!\\x11\\xe7\\xcb\\x1a\\xb5\\xa8\\xb0\\\n\\x84\\xc7\\xf3W\\x81a(\\xd7\\xa6q6\\xf4R<\\xc1\\xc9\\\n8}\\xb1\\xf2\\x8b\\xe5F\\xb3E\\xeckR=\\x12^,\\\n#\\x8e\\xb9\\xef8\\x89\\xe9\\x0d\\xaaT\\x0d\\xaf>\\x88k\\xeb\\\n\\xb0l\\x88\\x7f^)6\\x00\\x8f\\x91i\\x01R\\x84\\xba\\x04\\\n\\x97\\x028O\\x06b4(\\x8b\\xa0\\xacp.\\xe8\\x94]\\\n\\xc0U\\xf91'5\\x02\\x865\\x0ad\\x15\\x96\\xfa\\x11\\x96\\\n\\xca\\xed\\x91s\\x920u2\\xa8mB\\xeef\\x5c\\x14y\\\n\\x8c$\\xd2\\x8cI\\xd8z%\\x13\\x15m\\xbe\\xd1\\xbe\\xcbo\\\n\\xd4eS)\\xef\\xd3\\x10\\x1fq\\x0c,3]\\xdc\\xc3&\\\n*a&\\xf6@H@\\xb7\\xb6\\x92@f\\xf4\\x06\\x00P\\\n\\xa3It\\xeb\\xafvk,kT\\x15\\x93\\xc2\\xb6\\x106\\\n\\x1b\\x12\\xb5Xpi\\x00\\x9a\\xae\\xa7s\\x9e\\xf8,\\xd7\\xd2\\\n\\xfd\\xf1|}\\x8c\\xa2A\\x0f\\xdd$H\\x8b\\x95:\\xb0\\xb5\\\n\\xfd\\xc1\\xe0S\\xb1\\x0c\\xeei\\x88f\\xdb[x\\xb8\\x84]\\\n]\\xd2\\xd3K\\x1b\\x93\\xa54\\xa7\\x9d!\\xd5\\xed&\\xb3$\\\n\\xb4\\xeeH\\xc2\\xd2R\\x0d\\x8d\\xb5,i-\\x0a\\xf2\\xe2\\x1b\\\n\\xe4\\xc5\\xe9\\xe3=\\xcd\\xe5,=\\xeds\\x5c\\xb50a\\x09\\\n$\\xad\\xd0\\xe4\\xf6$\\x95\\x90\\x0d\\xe2\\xa4GD\\xb9^\\xbf\\\n\\x14Tj\\x804\\x01\\xbe\\x8c\\xbb\\x98\\x1bM\\xc2:}\\x8e\\\n\\xf3\\x92$\\xb25\\xcfO\\xdb\\x94\\xe8\\x86\\xbd\\x94MN\\xc8\\\n,R\\xe3K\\xf2\\xd85l\\xe2\\xb1\\xcbq\\xde\\xc2\\x8aC\\\n\\xc3\\xb1\\x0c,\\xd7M\\xad7>&\\x18\\xabak+m\\\n\\xc4tb\\xce\\xb1B\\x8dFP5[[l]\\x0a:\\\n\\xa1Z\\xd8\\xe9v\\xb4\\xd3-\\x97\\xe4\\x91i\\x92\\xb0\\xa6\\x84\\\n\\xfb\\xacl((b\\xc7\\x82/\\x8ed\\xb6\\xc4)\\x22!\\\n\\x7fK\\x1c\\x22\\x92\\x8e\\x9c\\xe6\\xac\\xb5\\xbd\\x1bLHT\\x0d\\\n\\x87\\x81\\x16\\x120\\x84\\x10u!\\x9b\\xcb\\x9d\\x1dE\\xc5\\x1c\\\n'_\\x85#\\xf9\\xd3\\xe5\\xf5\\xa0\\x94\\x1ep\\xa1i\\xc0\\x0e\\\n-\\x04\\xe9\\xd3/dGs}_9\\xed9\\x0e\\xac/\\\nR\\xc4\\x00Z0Y-.\\x05M~\\x10B\\x02CW\\\n3\\xd6\\xf3+\\xac\\x88t-XKQ97\\xdbl,\\\n\\xf8\\xfa\\xd6\\x081\\xb8\\x05\\xcd^\\xbf9~\\x05\\x05F\\xb3\\\n\\xf5\\xd5\\x85e\\x7f\\x13\\x8f\\x8f\\xc0p\\x94\\xa4\\xf2\\x15\\xb2\\xbb\\\n\\xa8veN/\\xdd/\\xd09\\x04\\xea\\xb8\\x5clA\\x15\\\nK\\x02\\xa5pT\\xe6+\\xb3\\xc5\\x15\\x1f\\xd23\\x04\\x9e\\xce\\\n\\xa4\\x17\\xc4'\\x01\\xee\\xed\\x15\\x81\\xd5\\x95\\x91(\\x03\\xe6\\xf7\\\nT<^,\\x080\\xd0\\x11\\x11\\xd9\\x12\\x93\\xc3QW$\\\n\\xe0 x\\x0c\\xba\\xc7\\xeeB=\\xfb\\xcd/\\xe0RP+\\\n\\x9d\\xa8Wx\\x80\\x0f[\\x97\\xdc5Ok\\xac\\x12\\xfdk\\\n\\xd8\\xa5\\xe7P8\\xa4\\xc5zlXr\\xda\\xa0\\xd8\\xfb\\xe3\\\nY\\xb4\\x10\\x00\\xb7`F\\x03\\xbc\\x84\\x0b\\xe5=\\x18c\\xd1\\\no\\xa8&\\x8a\\xcce\\xfbO\\xd6\\xc6\\x135F\\x13\\xf8S\\\n\\xa5\\xed\\xf6\\x08\\xbf\\xbe\\x112\\xdd\\xf4&J\\xc4\\xa3F\\xce\\\n\\x8bT\\xb9\\x0c\\xf0\\x9a<\\xdc9\\xd5\\xc7\\xd5:r\\x1ep\\\nLiNN\\x0c\\xfb\\xb2@V*F\\x8e\\xb5\\xa6\\x02h\\\ny\\xda\\x19\\xce\\xe6`'\\xb5\\x1el}\\xe7Rq\\xe1\\x0e\\\n*\\x84\\x16[(\\x07\\x0akX\\xa0(\\x84\\xef\\x19\\xf7\\xd3\\\na5X\\xe9y\\x95:V)/\\xd50\\xb5\\x87\\xda\\xb2\\\n\\xb5\\x85\\x0d\\xbe0\\xec\\xd1\\xcfy\\xc0pS\\x80\\xee\\xf7\\xc3\\\n\\xac\\xcc\\x90\\xe0\\xdb\\xd2\\xe5\\x04\\xa18\\xde\\xa8y\\xa4\\x88l\\\n/S\\xc7\\xa4\\x1b\\x927U\\xf9\\x9f\\xad\\xd7\\xbe\\xba\\x1a4\\\n\\xea\\x0d{\\x19\\xf3\\x06\\x01\\xcb\\xa0\\xd6\\xac\\x92@\\xfbF\\x0f\\\nG\\xf5Sc\\xb9\\xba\\xe4\\xa0\\xbbH:<uu\\x9a\\xf3\\\n\\x80.\\xe1\\xd9\\x19\\x05\\xa6\\xf3\\x95b\\xed\\x8e\\xd3v\\xf3\\xd6\\\n\\xa3h\\x12T\\xfb\\xb9R\\xb6\\xda\\x1c\\x03\\x18\\xfbHD/\\\n\\x18\\x0d\\xa1\\xbf\\xe63\\xed9*)$)\\x92\\x88\\x92t\\\n\\x13u\\xa1\\xa1\\x02qi+n-\\x85\\xf6\\xad#yX\\\nq\\x09\\x00\\xe4\\xf9\\xe9\\xe9\\xb1\\xab\\x13\\xbeA\\xbb\\x97\\x8b/\\\n\\x07\\x8a&\\x0b\\xfd\\xd59\\xbb\\xfaja\\x04\\xb3\\xaavY\\\n\\xc42\\xb8KHU;\\xa7OO'\\xd5\\xb9>G\\xd7\\\n\\xeeDps\\x5c=\\xb5\\xe0\\x8b(\\x8bBj\\x98d\\xa8\\\n\\xa0\\x86\\xf11\\xa5\\xd3\\x82\\x1fj\\x9d\\x1a\\xadY\\x96\\xad\\x8d\\\n\\xc5S+\\xdb#\\xc6\\xa5 \\x8e\\xf1t\\xb0Tn\\xb6\\x90\\\n\\x0a\\xe06\\xb4\\xbar\\xa5^\\xbf\\x93v&j\\xa5\\x94\\x18\\\nv\\xc0\\x03\\x98\\xd895\\xc6\\x05o\\xce\\x097KGl\\\n\\xdb\\x187C\\xe3\\xebH\\x0dl>\\xe6\\x98\\x8a\\xf7\\xc0\\x90\\\n\\x19\\xaa\\x93\\xb5d\\x9b\\x80\\xcd\\xc5\\x8a\\xc7\\xe645\\x1d\\x14\\\nK\\x1b\\x0ef\\xe7Z\\xe2\\x12d\\xf2\\xed\\xac(\\x8d\\xf7\\xb3\\\n\\x05\\xa6+~eu>r\\x88\\x89\\xaa\\xe1\\x5c\\x0d=\\x0c\\\n\\x8c\\x17+\\x15T\\x83\\x0c#\\xa6\\xea\\x0b\\xc5J\\xf9e\\xba\\\nN\\x0f#\\xaf+\\xf9b\\x183)\\xf5\\x1d\\x12u\\xd0\\xf1\\\nk|f\\xc6\\xab\\x85:\\xf9\\xa6\\xceyg4G\\xd1\\xa7\\\nZ\\x81\\xa8u\\xfd\\x84B[J\\xb0k\\xf9Z\\x15:\\xa5\\\n:\\xac\\x87\\xd8\\x0e\\xe7\\x8c5(\\xb0\\xda\\xaa3\\x0d\\xe0\\x98\\\nPh0\\xd7\\x1f\\xa9\\xa9fI\\xd1:\\xae\\xd0\\x0c\\x84\\x03\\\nK\\x09\\xa1\\x04\\x90\\x04\\xa1\\x8f\\xbb&\\xf5\\x5c\\x9d\\x1aj\\x9f\\\nTB5]\\xec\\x05\\x8fEr\\x97)\\x22A\\x83X\\x94\\\n>\\xa88lB\\x8d\\x14eE\\xb8\\xd5(\\xd6\\x9a\\xa8\\xdf\\\nB\\xa5k\\x81\\xa9P\\x1b\\x81\\xac\\x90\\xbb\\x94LS\\xf8`\\\n\\xe2)k\\xd0\\xf8\\xc4\\xf8\\xb5FqE\\x8bD][\\xca\\\n-\\x1aL\\xe9\\x1e\\x0c\\x5c\\xb1\\x15\\xb6@[\\xc3\\xe5\\x97\\x05\\\nX\\xba3\\xaeQ\\xa4\\xa6NnO?.I)\\x97\\xa3\\\nN\\xf9P\\xa8\\x5c>F\\xff\\x92\\xd4\\xda\\x93\\xf2\\xc64\\xdb\\\n\\x932Z\\x94\\xdb\\xedY\\x95\\xacl\\xa5Q_*\\x97\\xf2\\\n\\x97\\x9f'j0\\xab\\xe6*{\\xb5\\xbc\\xd0\\xa87\\xeb\\x8b\\\n\\xc0(4\\xea+\\x02X\\xfa\\xfa\\xe2\\xe2\\xf3\\xfe\\x80\\x97\\x82\\\n\\xdf\\xdb\\xf8;\\x8e\\x18\\xea\\x9fZj\\x147Ny)\\xb1\\\na\\xdc\\x0d\\xfcS\\xad\\xc6jp\\xcaE\\x15f\\x0d\\xe7\\xaf\\\n\\x03\\xfe\\x02\\xbe&\\xa0>I\\x0ds$\\x05\\xcci\\xa8\\x9c\\\n\\xb4Yy\\xeaAE.\\xf7\\xa4\\xa3v6\\x19\\x92\\xd8\\x1e\\\n)k\\xe7\\x18\\x9e[\\xd6\\x18\\xe1\\x8c\\xd3\\x95,\\xd1\\xe8\\x94\\\nz<a\\xd9\\xa6\\x93\\xda\\x1dn\\xc2rW6A\\x125\\\n\\x9c%\\xac>\\xd9H\\x0d\\x1c\\xf3(\\xe0\\x1f1\\x1c\\xc82\\\n<=653!\\xf6\\x11\\xc1\\xd6j\\xaf\\x92\\xec\\xbbS\\\nl\\xd3\\xf0\\xd2l\\xeb\\x97\\x1a\\xeb\\xe6K\\x1e\\xf6xG\\xe8\\\n\\xb2\\x8b\\xaa\\xbb\\xc8(.\\xef\\xd4\\xcd\\x7f\\xa7\\xec\\xc4T\\xb4\\\n]\\xc1\\x96\\xfc\\xeb\\xf5\\xebW\\x13\\xb2\\xe3L\\xc5^\\x10y\\\nM\\xa9\\x90\\x95Oz@\\xd4\\x84uU\\xa9\\xcc\\x94_\\x0e\\\n\\xf2\\xfd\\xc3\\x1e\\xd3\\xf6\\xed\\xa0\\xf2,\\xce\\x17=\\xe9\\x1el\\\nNVU\\x91\\x1d\\x9f\\x9d\\x9eR\\xe7\\x84\\x85V\\xa3\\xf2l\\\n\\xb0\\xe1nm\\xa5c\\xf9\\xc6\\xa6fU6\\xa1\\xd5o\\xcd\\\n5~\\xf5\\xb2\\xcaU\\x0dZ\\xc5\\xa4l3\\xcb\\xe5\\xc5\\xf0\\\nj\\xbc\\x89\\x01\\x95\\x13\\xf3\\x09\\xb5\\xe7\\xad\\xad\\xe8\\x9b\\x1f\\x94\\\n\\xf0\\x9f][=\\xbaT\\x94\\xaa\\xe9\\xa8T\\x8db\\x8d\\xb0\\\n^\\xbaU\\x96\\x07-J\\xc1\\xf1\\xe7\\x85\\x13\\xd5\\xd8\\x19\\xec\\\n\\xcb\\xf5U8\\xf5g:T\\xb1\\xb5%3=~3\\xae\\\n$k\\x92\\x88\\x82\\xd1\\x9dy\\x1c6\\xb0\\xdaV\\xb0B\\xb4\\\n\\x83\\xb1v\\xc8Rp\\x8er\\x9b\\x0e\\xba\\xbcv\\xd5\\xdf\\x11\\\nu\\x1f\\x1bc\\x96\\xba\\xd6v\\x1eaZ\\xc2qe\\x04\\xaa\\\n\\x00\\xb7\\xc8\\x22\\xd0\\xa4\\x86\\xe8\\xf5b\\x19}\\xc1\\xc9(\\xa9\\\n2}u\\x8d\\x8b\\x8d\\xb3\\xc3CO\\x85\\x85\\xe4-=\\x1d\\\n:!\\xe3r$\\xa9\\x0e\\xcf\\x9b\\xf3\\xf5\\xd2\\x86\\xcc&\\xf4\\\n\\x85\\xbc\\xd8aW\\x9e\\x8e\\xb4\\x5c\\xee\\x88s\\xb7\\xdc,\\xc3\\\n\\x94;=~\\xa8\\xaep]\\xf2Z\\xe9\\xb0\\x05.\\x9e\\x82\\\nT\\xbd\\xe5Z\\xdal\\x9a\\xac\\xf3*\\xa0y\\xd8\\xbe\\xa8#\\\n\\x10M\\xa3P*\\xdfM\\xbc\\xc9u\\xe2\\xfb\\x8avqe\\\n\\xe4P\\xdb\\xa9W\\xafU\\xc3'6\\x0c\\x0f\\xda\\xc8\\x86'\\\n\\x94u\\xf4\\xdb<Q@\\xdd\\xdf\\xd1p\\x94+H\\xf9\\x1d\\\n\\xa1H\\x0a\\xfc\\x02\\xf4\\x96\\x88\\x96\\x81\\xb2M\\xe0\\xb5\\x03\\xed\\\n~\\xed\\x98\\x8bK+w\\x86W\\xaax\\xa9\\x8a+\\xc0\\x87\\\n!\\x22y\\x09\\xc9\\x8a\\x856\\x00\\xc63\\xf97q\\xc2\\x00\\\n\\x9c\\xb2F\\xd1#\\x84\\xadI\\x97R\\x90W.\\xa5\\x8e\\xd9\\\nH\\x8e\\x0ay\\xe5\\xc5\\x15\\xec\\x97D\\x9dQ\\x0b\\x19\\x1d\\xa6\\\n\\xca\\x9b/3:\\xedT\\xf5\\xf7JjH\\x95V{p\\\nKt\\x82i\\xaemmQ\\x0cCl\\xd2p_\\xcb\\xf8\\\n\\xc1-\\xc0 \\xfa\\xa1\\x1c\\xea\\xf2p\\x9d2\\xf9W\\xd7H\\\n\\xe0i\\xa4\\x09\\xf4\\xf3\\xaf.\\x8bD!\\x13n\\x96\\x91\\xa5\\\n[Qr\\x17q\\x8a\\x01\\x86|\\xa5;\\x1c\\x8c\\x18\\x91D\\\n\\x1csGp\\x0e\\xb4\\x11D\\xf8\\xd48\\xb7\\x0d\\xfd\\x09\\x1b\\\n\\xf2\\xaf\\x93\\xc8\\xa6\\xf0V,\\xdc\\x01b@\\x0d\\xc1\\xe1\\x94\\\nm\\xd1\\x96\\xb3\\xa7d#\\xa6\\xb8\\xc33\\x9b:+\\xc0Y\\\n\\xd4\\x1aN\\x22W\\x91\\xddI\\xbc\\xa0\\xf4\\xa2\\xd4\\x97\\xa9;\\\n\\xa6h\\xc2\\xca\\xef\\x16\\xe6B&\\xad\\x80\\x10|\\xd9w\\xd2\\\n\\x1f\\x0e\\xb5Y\\x88\\xe2kZ,@\\x0f\\x91\\x9c\\x8c\\xf0\\xed\\\n\\x06GR\\x97\\xcc\\x84\\xd1\\xb8<E\\x14\\xc3\\x0c\\xd1]q\\\n\\x83\\xfc\\xf2\\x95\\x18\\xe2\\xb0\\xfb\\xe5\\x97oQ\\xaaX\\x84\\x9a\\\n\\xde\\xe5\\xc5\\xab\\xcbV\\xa0\\x0a\\xd7\\x12\\xe1\\x09Z\\x112<\\\nq\\xf8\\x84\\xd0\\x17\\xaf\\xae\\xe9\\xe0\\xd7\\x92\\xd0\\xdc\\xe8\\x8c\\x15\\\n\\xbc\\xbc\\x98\\xb5\\x88\\xb0\\xe25(R\\x0e\\xe3,\\x9b\\xec&\\\n\\xb51\\xb8\\xd5\\xdbkFf\\x82[\\x17\\xb0\\xed\\xb1\\x01\\xa3\\\n\\x04c\\xcc\\xd4\\xe1\\xdd\\x0fw\\x1b\\xd9R\\xd5H\\xcaL\\xed\\\np\\xed\\xab\\x17\\xe7\\x1a\\x82\\xfaX0\\x12\\x22\\xea\\x96\\xcb?\\\n\\xca(\\xfaj\\x92\\x9aX6R \\x00\\xa2\\xd8\\x0c\\x9e\\xc6\\\n\\x932o:&\\xb9}\\x0c\\xc2\\x14D\\xc4\\x00\\xc0q$\\\n\\xa1<\\xa4h\\xc5g\\xeb+|\\x98E\\xa6h\\xd3A5\\\n\\x86cX$I\\xff\\xb3\\x92*\\x916\\x15\\xa3J\\xa8\\x04\\\nDwh&\\x99\\x1e\\x8d\\xd3\\xedF@/\\x90\\x15\\xd1\\xc6\\\n\\x80\\x87O2\\x14\\x84V\\xab\\xb8 \\x8e\\x06\\xa3\\xec;\\xed\\\n\\xd4k\\x96\\x92n^,G\\x95\\xa8\\xee\\xf2T\\xd83\\xc2\\\n>/K\\xb25!S\\x13\\x8f.\\xe6\\x1c\\xa4\\x02)\\xec\\\nsPr\\xe4=#\\x1dx\\x94\\x12\\xa2\\xa7\\x90'b\\x0a\\\n#,\\xdad\\xa3+wc_\\xc8?hGz\\xfe6\\\n\\xaf\\x1d\\x98\\xc3u\\xff\\xf9\\xdb\\xd9uo\\x03\\x7f6\\xbc[\\\nb\\x99Uo\\x8d\\xd8\\xc0\\x08\\x10\\xa5u?s+\\xc38\\\n\\x9dtl\\x89\\xdcrO\\x0f\\xb8\\xa8:G\\xd0n\\x8f\\x18\\\nh\\xc5\\xd8\\xb8u\\xaf?\\x97Ywc\\x8b\\x1e\\xf1*\\xca\\\n\\xb5\\x81\\xb96d.:\\x99\\x18\\x14Q\\x9c=\\xb2p\\xde\\\n\\xbau%\\xed\\xa2\\xf6\\x08v/v\\x89E\\x99\\xd44\\xf4\\\n\\xf6jA\\xfen\\x14\\xc9u\\x92\\xb6\\x81\\x85_s#\\xd6\\\n\\xa4\\x9bBj\\x87\\x80\\xc1\\xdf\\xf0\\xa9\\x0d\\x90\\xfb\\xf9\\xdbi\\\n\\xe2?\\xea\\xf3/\\x898\\x9dU\\xc64d\\x148\\xd7\\xaa\\\n\\x8a\\x86\\x5c+\\x94u\\xddM\\xb5L\\x04\\x8d|Q\\xb0<\\\n>\\xa4)\\x04`Ub\\x89\\x91\\xf5\\x8d\\xeczF\\xa0\\x01\\\n|nd\\x04*\\xb0\\x8c\\xe2\\xea\\x872{\\xd6\\xcc\\xea\\xb5\\\nRXu4\\xd5\\x19, &NO\\xc5\\x19\\xc6\\xc4\\x8d\\\n\\xe4Y\\x1de\\xf7\\x99\\xd1\\xfcz97\\xcfg\\x1b\\xda\\xd1\\\n\\xf6\\xe8\\xdb\\xbc\\x02~\\xbcY\\xc1a\\x96%\\xd9`&-\\\n(\\x80\\xed[G|k+\\xe9 \\xc2R\\x90\\xdd\\x19\\xd1\\\n\\xeb\\x10\\x94\\x1brHp\\x8cp\\xeb\\x19\\xd5~\\xcc\\x8eD\\\n\\xb1\\x83\\x90\\x84!\\xcf<6(\\xd1\\xe2\\x06~^\\xc3\\xb9\\\nh4q\\xe27\\xf1\\x91\\x1d\\x22'\\xfc\\xc7\\xd8\\xe8\\x11=\\\n\\xd8\\xdb\\x0b\\xe1\\x1ev\\x1d\\x88\\x1d\\xec\\xed\\x0d\\xb1\\xd6O\\xc0\\\n\\xda\\x11\\xd7\\x02Z!\\xd5\\xfcKt\\xcd\\xaf\\x0a\\xe4\\xa37\\\n-x\\xd5\\xb0\\xda\\x0aJt\\x871\\xaa\\xb7W\\x966s\\\nQb\\xb8/\\xb7\\xf3\\xb6B\\xf8\\x9d]Xm`K\\xa8\\\n\\xd0\\xd6\\xd6f$\\x86W}i30^\\xb8J\\x0c\\x80\\\n\\xf4\\x9a\\x14i>\\x9e\\xd5k\\xf9~\\x0f\\x88zy\\xb5\\x9a\\\n\\x1f\\xc0\\x0d\\x04\\x0eb\\x83m\\xc1\\xaa\\xfaI\\x9d\\xb2\\xb6?\\\noi\\xa0\\x90\\xf6\\xe1&}K2\\xbd\\x22\\x06\\xf6\\xdd[\\\nJ\\xe2\\xb8\\xee\\xf3{\\xbc0/P\\x7f\\x1e\\xafJ\\xc8\\x09\\\n\\xd8\\x5c\\xcfC9\\xe8\\xc3\\xdczaT\\xfe\\xe6i\\xcf\\x9f\\\n\\x84-\\x11\\xf8\\x96\\x8d\\xfc\\x86H\\xdf\\x90\\xe9\\x1b,}\\x03\\\n5)\\x88\\xd8D#\\x83\\xc4\\x8cFf\\xdd\\xcfA\\xdd9\\\n$z#\\x0a\\xbf \\x91\\x90J\\xec'7\\x08\\x1dF\\xdc\\\n\\xf5>?\\x8a\\xc4\\x86{\\x0aa\\xb4|\\x08DP\\xf58\\\n'\\x18q\\xf1\\xb6k\\xcc\\xe4\\xaa7x\\xd5\\xf8H\\xc9Z\\\n\\xb3D\\xb7\\xee+\\x87:qdq\\xf4H\\xdd\\xd1j\\x9f\\\n\\xe2q6#\\xa4_\\xe1\\x08\\xe3\\x95\\x16\\x8ap\\xe2B\\x1e\\\nl\\x11\\xeaJ\\x94\\x81\\x97\\x9a\\x01\\x84\\x06NK\\xca|L\\\nY\\x8f%'U\\x92\\xc0\\xb9\\xac\\xd6t\\xde\\x85\\x8a\\xdbU\\\n\\xc2h\\xc7Kw\\xddAu\\xdcs\\xdd\\xde\\xde\\xe3\\xa0F\\\n\\x131\\x1d,\\xc2\\x0e\\xbf\\x1c\\x9eA\\xd5\\xaep\\xcc\\x19\\x14\\\n\\xa0Dr\\x8d\\xe8\\xd8\\xb8\\x88:I\\x864\\xbe\\xd3\\x95D\\\n(f\\x1fg6a\\x98\\x90\\xbd\\xad\\x1djIE\\xe12\\\n\\xd4\\x8cgRM\\xc4\\xc5;\\xa8v\\xa7\\xb6$\\x1a\\x22M\\\n\\xe7y-q\\x11\\xdbK\\x83\\x13g{KA\\xc4\\xf6\\xb2\\\no\\xce\\xf6\\xb2\\x92\\xc0\\xf6\\x9a\\x8c\\xad\\xc6P)\\xed\\x1d-\\\n\\xd2U\\xac\\x82\\xc6\\xd1\\xfe\\x03\\xb4Z\\xce\\xfb\\x98\\xe7\\xa2\\x7f\\\n~\\xc4\\xc6Y\\x08m\\x93\\xf3\\x11\\xd7!\\x8f\\xd1\\x89\\xaa0\\\n\\xe7P\\x15\\x06\\xd6qOB\\xa5\\xe7`g\\xab\\xd2\\xd7\\xb0\\\n\\xfcr#\\xe0\\xa1\\x10\\x84\\x12.\\xf8\\xe7\\xa2\\xa4I\\x92\\x93\\\n]B1Y\\xa8\\x09\\x13\\xcb\\xc4\\xcf\\x83~O\\xc2)\\xc7\\\n;^#\\x07\\xda/\\xc4\\xfa\\xe1\\xe9\\xd9\\x1f\\x02>\\x9d\\x86\\\n\\x02V\\x94\\x98\\xaeN\\xb2\\x0d\\xa7 uM\\x93\\x95i\\xac\\\n\\x04\\x10\\xdfm\\xdb\\x16\\xa4T\\x99\\xa1$\\xa94\\xd3id\\\n\\xbe\\xd4\\x1a4\\xf6}G\\x1eLh\\x16\\xeb+H\\x83\\xd4\\\n$\\x1c\\xafXc\\xa8:H\\xd5\\x0f\\xd4\\xd8\\x08o\\xd4\\x1c\\\n\\xcfv\\xe7\\x06\\xa8\\x00_\\xb5\\x94R\\xed\\xd8l\\x7f^E\\\n\\x0f\\x9c\\xfc\\xc7U\\xf3\\xa0\\xc7`\\x8f\\xa5\\xe4\\x11mV\\x0e\\\nf\\xca\\x8c\\xcf\\xcc@\\xf5\\xb1\\xd4lh\\xed\\xe0x\\xcb\\x82\\\nB\\xb1\\xd6\\xae\\xd813\\xf9\\xcc\\xb5\\xb1)?6\\xee3\\\n4\\x10i\\xa7*4\\xcb\\xed\\x17\\x83\\xc2>@\\xecb\\x90\\\n\\x8a\\xe6\\x05d\\xf1\\xae\\xeb\\xc5H\\xd9\\xa9\\x5c\\xd2\\xb4`M\\\n5\\x96\\xec\\x8b\\xf8\\x80\\xba\\xb2\\x91\\xb6\\xea\\xb8\\xcc\\xcdEF\\\nL`\\x0f)\\x14\\xf0\\xe2q\\xa1\\x08\\xdbp!\\xdb\\xac\\x94\\\n\\x17\\x82,d\\xae\\xa4\\x8b\\x8d%\\x22\\x03M\\xaf\\x9f\\xee\\xe1\\\n\\xca\\xcd\\xb1F\\xa3\\xb8\\x111\\x04\\xf3/\\x01\\xb1\\xcd\\xcah\\\nH\\xbe1\\xeesb\\x8c\\x11\\xf86\\x08h\\xb1\\x11O\\xcf\\\n\\xf0\\x05\\xa9M'\\x91b\\xf7\\xe2\\xb07}\\xfd\\xe6\\xb5\\xcb\\\n>\\xc2\\x19\\xc5\\x97y\\xa4\\x9bp\\x9c\\x16\\x8d\\xe8\\xd5fI\\\n\\x9a1\\xcc\\xd1\\xfb\\x93\\xe9\\x00\\xc8h\\x03X\\xec\\x1e\\x11\\x8e\\\n,W\\xa8\\x98\\xa7\\xe1\\xecB*\\xd7=\\xfd\\x14\\x96\\x0az\\\n*x\\x99)\\x01\\xab8\\x1a\\xd3@\\x01\\x10\\xa1\\x9b\\xd3S\\\n\\x94l\\xb15\\x92\\xdf\\x9c\\x0d\\x9e\\xcf\\xcf9\\xf0\\xd7\\xf1\\x9c\\\n\\xa9\\xa2\\xf8\\xc5i*/P\\x8e\\xd3\\xeb\\x99\\x16\\x89|q\\\n\\x19a\\x0b\\xf3b\\xc1\\x92\\xe1\\x8e!\\xd8E\\x10\\x81a\\xe1\\\n\\xe4q\\xfa\\xe0\\x17\\xc2\\xe3B\\x8dD\\xd8{\\xc9\\xcbi\\x05\\\nl\\x17\\xd1\\x06xd\\xb1\\xaa\\x95\\x8cT=\\xe9[\\xafV\\\n\\x00\\x02\\x10\\xe3\\x9a\\xacK}:\\x85\\xb6\\x94;\\xa9K\\xe8\\\n<\\x10\\xb5bk\\xb5\\x89\\xf7/\\xf8\\xf0\\xae\\x0e\\xd8\\xdd\\x10\\\n\\x01 b\\x04=\\x8c@T\\x0f\\x03\\xa5r\\x03P\\xa4\\xde\\\n(\\x07\\xb2,\\xd0\\xb8f\\x1d\\xf0:\\xccA{;\\x8d\\xaa\\\n\\xb3\\x81$Fl0\\x90\\xdc\\x94\\x11\\x82\\x8e\\xa2\\x81JI\\\nIQ\\xc1\\x83x(:\\xbe\\x12\\x83\\x94NC\\xb1 \\xa8\\\n\\x89\\x13p\\x062\\x93\\x14\\x09Y,K&\\x01'3\\x88\\\n\\xb9\\x06\\xdd\\xb6\\x17W\\xb8\\x1aC2\\xef$\\xf1n\\xce\\x10\\\n\\xb2g\\x92s\\x13\\x9aU\\xbav\\xd3B ,.*\\x15\\\n\\xaaA \\xcd\\x00\\x108~'\\xd2\\xb2\\xea\\x0f\\xaa\\xa9\\x01\\\na\\xd1\\xd2\\xa2\\xc2u\\x99\\xfe\\x85\\x16\\x0e\\xa5\\xea\\x95\\xb2\\xe9\\\nX\\x12\\x1a\\xca1\\xc3\\x89\\xd5\\xa0\\xd9,.\\x05R\\xab\\x88\\\n\\x9bK\\xec\\x1f\\xc06wR\\xcd\\xfao\\xa1\\x86\\x15\\xea\\xae\\\n\\x0c\\xe4\\xfa\\xe3\\xd6\\x17\\x85\\xa5\\xd4D\\x13\\x95*\\xd9f\\xa3\\\nR\\xa5\\xd9\\x8dT\\xca\\xd4\\x98\\x0d\\xd0~\\xfc3\\x90##\\\n\\xa09\\xfc_'\\xf3\\xa3\\xd6\\xccV\\x13\\xa4\\xd6\\x9c\\x09f\\\nH-y\\xff\\xd9\\xaaZ\\xb4Z\\x22\\xc3\\x9b(`'\\x96\\\n \\xbf\\x09\\xf1\\x883r\\xfaL\\xf3\\x9c'Pi\\x94G\\\n\\x1f}5h+P\\xad+\\xda,\\xd0J\\xa6\\xd4d\\xc3\\\n\\x17!6\\xe3\\xac\\xe3\\xf4\\x8fi3\\xc6\\xd6\\x16\\xae\\x95\\xbc\\\n\\xd8\\xb9\\xff\\xbbk/v\\x5c6\\xb4\\xc9&\\xae\\x1a\\x95j\\\nY4*\\xc9\\xbafd\\xe2\\xffY2|\\xc9h\\xe8\\x8f\\\n\\x96\\xbbp\\x09\\x98\\x88K\\xbb\\x82\\xc0U\\xda\\x1f\\xa2\\xe5\\x90\\\nw\\x08\\xbb\\x84\\xec\\x22\\x06\\xaf\\x931\\xe0\\x86\\x10,\\x08\\xcd\\\n^GV\\x99\\x81\\xfd12\\xac\\xacl\\xe9\\x9e\\xa5\\x7f\\xe6\\\n\\xd6\\x22x\\xb6Q\\xe7\\xd4X\\xa3\\x5c\\xac\\xa4Vk\\xe5\\x05\\\n`\\xd3RWgN9yd\\xcd\\xf4\\xdd&{\\x0eA\\\n\\xc6\\x1a\\xb8\\x80\\xe3\\x91\\xb26\\x9a\\x9b\\xbd\\xb5\\xf7,;=\\\n;\\xe5\\xc8\\xb7\\xe2\\xb2#\\xb2WD\\x00\\xcc2\\xe3\\xcb\\x01\\\n\\xd0\\x88\\x0e\\xfa\\x90\\xd0H\\x1a\\x8c\\x13u\\xd3Z\\x8bl\\x99\\\n\\x1ac\\x02+\\xaa\\xb0\\xb6l\\x1aVH\\xfd\\xd8\\xe6\\x09t\\\n\\xe8'T \\x90\\xc9`\\xb4\\xfac\\xe5:5e\\xaa8\\\n\\x1fT\\x92p0u\\x06\\xd7Jvp\\x90\\xa3cj0\\\n\\x8a4\\xd8\\x89r\\x0b\\xe8\\xe3B\\xbc\\x9d\\xab\\x15n+\\x9c\\\npN62F\\x8d5\\x0a\\xadX I\\xa1E\\x19j\\\n\\x93$\\xebdP\\x19\\x1b\\x14\\xab\\xf3\\xb24\\xa4\\x17!\\xd6\\\n3\\xb0(g\\x81>' \\xa5\\xdd4\\xb2\\xa8\\xf2\\x0a\\x8c\\\nkE\\x12\\xef'\\xce\\xe6\\xce\\x0e\\x9f\\x1bP\\xab\\xc5\\xc8@\\\n\\x15$!\\xb1jS~\\x11\\xce9M/\\x15\\x9f\\x08\\x91\\\n\\x92d\\xa5yb\\x18\\xff\\xa7\\x81\\xd5L\\xb3\\xc9\\xb2\\xc9[\\\n.\\xcb\\x9d\\x8a\\x11\\xa2\\xe4\\xf2\\xfa6?^\\xa97q\\xb4\\\n\\x90\\xb5\\x06\\xca\\xc1V!\\x05\\xccN\\xeb\\x15i\\x853\\xfd\\\n\\xb45\\x0b\\xec\\x14\\x81\\xd8\\xea\\x92\\xf9\\xff)\\xe6\\xcd\\xfb\\x87\\\n;3\\x8f\\xc3\\x1d\\x98\\xc7\\xe1\\x8e\\xcc\\xe3\\xf0c\\x9a8\\x1f\\\n8\\xd3\\x85\\x8ds\\x1a\\xa3\\xcfa\\xcc<;\\xd4\\xc1\\x9c\\xf9\\\n?zL\\x92\\x0c\\xa5\\x0f\\xe3\\x0aO\\x9dMB\\x89/\\xd6\\\nX\\xba\\x01\\xf6$\\xa6\\xd2\\x93\\xa1$\\xad'S\\xfb\\xfd\\xd9\\\n\\x89\\xdb#\\xc9/\\xb2:\\xeb\\xbc\\xff\\x83T\\xd9\\xb1M\\xdd\\\n@\\x85lJ\\xeb\\xfd\\xda\\xd8s\\xa6Thfu\\x9e\\xcc\\\n\\xc6\\xa47\\x93\\xec5\\xa3\\x0d\\xcf\\xcd\\xe6Z\\xb9\\xb5\\xb0\\x9c\\\n\\xd6L3\\xbb\\x9b\\x0bE\\xc0i4\\xcc,\\xad\\xc7se\\\neVzd\\xbe\\x11\\x14\\xef\\x8c\\x84\\xb9\\x85)y\\x91\\x19\\\nq\\xaaS^2BOY\\xf1J\\xb0S\\xce\\x9b7D\\\n\\xbe\\x9b+\\x9dr\\x91\\xf5z\\xcaw\\x19:\\xdb\\xb1\\x95\\xc2\\\n6~\\x18\\x16v\\xf1\\xa9\\xe8\\x0cr\\xf1\\x96\\xb2\\xf2L\\x92\\\n\\x97f$m\\xf7 \\xdeDs\\xa1\\xb8\\x12\\xd8G\\xb9\\xed\\\n\\xd1x$%\\xe2\\x08$\\xa5\\xdd\\x5cIJ\\xb9\\x9c8\\xa9\\\nm\\x8f:\\x92\\x90\\xd8\\xa6\\xc7\\x851\\xab\\xcd> \\x11\\xc3\\\n\\x1aS\\x1cJ\\x06\\x7f\\xf3s\\x05\\xf2\\x94\\x0e\\xbbhO\\xbf\\\n\\xd7BS\\xc5\\x82\\xfb\\x94<\\xc2\\x907Y+\\xb3\\xae\\xc0\\\n\\xb8IMw*\\xee'\\xc97QU\\xfeV\\x19\\x0e\\x93\\\nz\\xc9\\xf0\\x99\\xf6\\xa20}+\\xdd\\xe5\\x90\\x11\\x07\\xcc@\\\n\\x9a\\x5c\\xa4S\\x15\\x1b>\\xc1\\xa3\\x0b\\xe3\\xaaS\\xb3\\xd3\\x9d\\\n\\x0c\\x93om\\xc1xt\\xaf;D\\x86\\x9e\\xe5u-\\x14\\\n\\x00\\x90X\\x8c\\xac\\xe7^\\x0a)VZ<\\xd3\\x97\\xf72\\\n\\x93\\xb3\\x13WIC\\x1aw\\xfaX\\xa4\\xb0^\\xc6\\x8c\\xf0\\\n6\\xef\\x94Wn\\xaeH\\x99\\xb6\\xba\\x9f]!!\\xbf2\\\nw]\\x90\\x06\\x7f\\xcbM\\xe0=}\\xa7\\xd1\\xaa\\xe0\\xbd\\x91\\\nU\\x12\\x8d;\\xdae\\x12\\x03\\x12\\xd5\\x12=ET0T\\\n\\x8a\\xc5\\xa5\\xa9T\\xd0[]\\xc9\\x13|\\xe9\\x8e\\xc1\\xab\\xd7\\\nJ\\xf3\\x15\\xa1\\x7f.\\xa8'D4\\x8aK\\xc2\\x8a\\x82\\x8a\\\n\\x11VF\\xf58i\\xd6\\x95\\x9e\\xe2\\x8b\\xb8\\xaa\\xe2xh\\\n\\x1a\\x13\\xacj\\xa1\\xfe\\xf2\\x1dI\\xb7\\xa8!\\x92\\x88y\\x8d\\\n:J*I(\\x00\\x93\\xe60\\xf0\\xa8V%\\x9f\\xe0o\\\n\\xac\\x04\\xbd\\xbdN\\xa8i\\xa8\\xa7\\xc0\\x84\\x91\\x99\\xe4\\xb0\\xe6\\\n>\\xdfIYx4\\xb4<,\\xb1gk\\xcb:\\xb2\\xcd\\\n\\xa05>3\\x93\\x16\\x84B7d\\x1d\\xe1\\xbci\\xc3:\\\nJA\\xa3\\xd1\\xe3@^Z\\x81\\x04!g\\xf4j}\\xbe\\\n\\x8c\\x96.\\xccKn2\\x08\\xd1\\xc1$X\\xc4\\xb1\\x09\\xcb\\\n\\x07r\\x09@\\x8f\\xd0$\\x81\\x98\\x16\\xaa\\x822\\xa9x4\\\n\\x18\\xa1&+\\xd2\\x18\\xd7\\xf2)\\x8c\\xa0l\\xfc\\xe5\\x00\\xec\\\n\\xbf\\xff\\xf1\\x9eS\\x90\\x8a\\x02\\xdcb,uH(Z\\x0a\\\nz\\x81\\xd7\\x884\\xecL\\xd7\\xb0\\xb7W\\xcc\\x04W\\x9e2\\\n\\xf3\\xf4\\x0d\\x08\\xcd\\xd3\\x11\\xa1s\\xc2M6o\\xf8\\xdc\\x5c\\\n3\\xa9e\\xeb\\xf7\\xee\\xa4\\xd8\\x03\\x8b\\x11X\\x9aqR\\xae\\\n\\x9a\\xc6\\xbbiW\\xca\\x9b\\x13\\xd5v\\x12\\xe2u%\\x037\\\n\\xbf)h\\x1e\\xd1nGp\\xcf\\x980\\x1di<\\x13c\\\n\\x9e\\x09\\x95\\x96sBgY(\\xe72\\xc5[\\xd1\\x9cl\\\n\\x04N\\xd8\\xbf_\\xef\\xed\\xedA\\xfd+i\\x07\\x13\\xd8\\xea\\\n\\x94r\\x06\\xb1\\xae\\x9b\\xc8\\xec\\xd3\\xbb-$\\xf8\\xa4\\xf2\\x9b\\\n\\xf8\\x9e&\\xca\\x13\\x0e\\xa3\\xb4\\xaai\\x05\\x86\\x0a\\xc0\\xc7\\xc0\\\n\\x82,\\xae\\xa4\\xbaJu\\xaa\\x14\\xf8RTW]\\xf3E\\\n\\x92f\\x08\\x18\\x97\\xcc\\xba\\xafa\\xfd\\xe8`._]\\xcb\\\n\\x0c\\xa0j\\xd1\\x88(\\xd2\\xdb+~Q5\\xad|\\x97\\xd4\\\n\\x894X\\xa2\\x13F$\\xea\\xfaH\\xedI\\x19\\xcf\\x94\\xd3\\\n\\xb4\\x1a\\xd1NxHI{{\\xd73P\\xbd\\x89\\x84\\x17\\\n\\xa5\\xc1\\x1e\\x9c\\xa0\\xad\\xad\\x1e-\\x7f_,s\\x88\\x05\\x19\\\nV\\x0c\\xef\\x8e\\xc5\\x88\\x10V8\\xdez\\xa4\\xfd\\xc7\\xb2y\\\n\\xd6\\xfa\\xfb\\xce\\xba.]\\xef)\\xdaE(3'\\x8f\\x0b\\\n\\xd3\\xc4\\xd4C\\x8f\\x9d>\\xac\\xa1\\xe0\\xcb\\x95&3\\xdd\\xa2\\\n\\xb3\\xc3\\xa5n\\xb2^\\xad\\xbf\\xdcU\\xbeg\\xf1L\\x91\\x94\\\n\\xd3\\x15V\\xe3\\x85\\xd1\\x99\\x92\\xf4\\xc40.\\x14\\xde\\xc8\\xba\\\n\\xae\\x1b\\xb7\\xd3\\x9bv$\\xb1\\xc7]\\x8c\\x93j\\xb1\\x0a`\\\n\\xf0j\\xc4\\x97\\x92\\x0e\\x10\\x8d\\xcb\\xf3j\\xf9\\x12-\\xb8N\\\nq\\xc9j\\x9b\\x1c\\xdfE\\xf9\\xdb\\xbc\\xfc\\xed.\\xcb#V\\\n\\xe1F\\xeack\\x92\\xc8\\xcb\\xc8\\xba\\x9f\\xc6Lb\\xf9\\xf7\\\n\\xd1'\\xad\\xf9\\xd3\\x03}\\xb2\\xed\\x80\\xdd\\x22\\xcb|\\xbd\\xd5\\\n\\xaaWE\\x1eT\\xba\\x0f\\xb3\\xdcnw\\x8bXD\\x0e\\xa2\\\n\\x14\\xb3\\x90\\x86\\x83\\x9e\\xb1\\xc3\\xa4\\x19\\x12\\x0e\\x01\\xea1\\xc5\\\np\\x13\\xce\\xe9\\x01@\\xc1\\x8d\\x8c?\\x90\\x93P\\x04\\x93\\xe2\\\n[\\x9c\\xed\\xb4\\x19Q'=b\\xa9C\\xcc\\xa2Q\\x81X\\\n*\\x0f\\xdbl\\x98'\\xd9-ON\\x91o\\x22\\xeb\\x95\\xd2\\\n\\xe7@\\x8cJ\\xe9q\\xb1b\\x84\\xbb|x\\x1aO\\x9er\\\n\\x07\\xb4\\xe35\\x99g\\x91c\\x18\\x9a2G\\x9d=\\xe0r\\\np\\xa3d\\xba\\xd3\\xe9\\x04G\\x0d\\xb6\\xa2\\xed\\xd0\\xf0\\xa10\\\n\\xa1\\x16\\xbe\\xaaP\\xedL\\xe3\\xf8P?\\xcdg\\x09\\xd3v\\\n[\\xd2t`\\xd0\\xf9\\xd0\\xd5\\x9a\\xc9\\x89>\\x1e\\xeb\\xacx\\\n\\xfb\\xf2]\\xa9b\\xd9I#0|^Cf\\xc54\\xf5\\\n\\xcc\\x04e7j\\x9eTvs\\xc3\\xc6\\x86~q\\xf8P\\\n\\x9af\\x1d=\\xfd=\\xac\\xca\\xa3\\xc0\\xdc\\xac-\\xf2\\x09\\x8e\\\n\\x9e\\x11\\x1aS\\x1c\\xa7{\\xd9\\xf9\\xca*>\\xea\\xd5\\x87\\x1e\\\n\\x9d\\x83D\\x03O^I6\\xf9\\x032L\\xbf\\x96\\xee\\xf7\\\n0\\xc5\\xeb\\xa0 \\x22 Mv\\x01+\\xd7%\\xack\\x0c\\\n\\x94(\\x82\\x7f\\x9aB\\x9f\\xbc\\x1b^W\\xbd&,k>\\\nZj\\x05\\x18)j\\x9bl\\x1aA\\x95eG\\xf5\\x02\\xd2\\\n\\xdd\\x8c=VvG\\xb4\\x0dmp\\x89\\x0f\\xd1\\xab4t\\\n\\x83\\xce\\xa6y\\xad\\xac\\xc2;q\\x99@\\xca}\\xd7\\x17;\\\n\\x0d\\x99\\xcc\\xa2f\\xc0\\x0d\\x0bu\\x1e\\xe9\\xb0X\\xce(\\x16\\\n\\x1b\\xd4/|8\\xcbz\\x1f;H\\x1e\\xc4\\x221%5\\\n\\x9d\\xe4\\x11T\\xc2\\x14\\xd8$\\x0b)B&\\x80\\xa6+|\\\n#<B\\xfb\\xa7:\\x08f\\xe9\\x0a\\x00\\x8fA\\xa2(m\\\n\\xf5\\x9d\\xc4\\x1b:T\\xf6\\x9c\\xb8\\x1b\\xb0\\x1d$#\\x09R\\\n.\\x14\\x98\\x08\\xc3\\x10yA^\\x934\\xbe\\xf9&\\xa0\\xf9\\\n\\x83\\xc3\\x83\\xae#\\x0a9\\xdd\\xf8\\x22L\\x80\\x10y#\\xec\\\n\\xc2\\x11aG\\x18\\xab\\xad\\x10D'?\\x8f\\x9d`\\x10\\xc9\\\n;\\xde\\xc9c'\\x10\\xab+\\x08\\xc0.\\x9e<\\x0e\\x80,\\\n\\x85\\x00f\\xa3\\xe3\\xed\\xc9`D\\x05C06\\xf3\\x89]\\\n\\x00\\x81b\\x0e\\x19\\xca\\xa87O\\x86\\x16\\x84\\xad\\xd2\\x8ep\\\n\\xb4\\x01FI\\xa3\\x11\\xfc<\\xc3 \\xab\\xfd\\x11\\x92\\x0f\\x90\\\n\\x11\\x12\\xe9\\x08Oy]\\xd3x\\x058QFx$=\\\n!\\x02\\x8f-\\x8aX\\x04\\x9b#V(\\x92\\xe3\\xb0\\x01s\\\nu\\xe3\\x8a\\x89e\\xbd\\xc4Zn\\xaeP\\xdb\\x11\\x18ZI\\\n]XN\\x9f\\x96\\xf8\\xb2\\xa5F\\xe3\\xb4\\x9bT\\xcd\\xcd\\x15\\\n\\x1dp\\x9aO\\xb3l\\x22zh\\xe3\\xdb\\xb6\\x1c\\x03\\xbd\\xa9\\\n\\x98\\xe8\\x86\\xaa\\xd5\\x0c~\\xbb\\x83\\xf5W\\xe2\\x85\\x90>\\x0b\\\n\\xda\\xa4h\\x91\\xa2\\xc8\\x98\\xd2\\xdb\\x8b\\x7f\\xa5\\xe3\\xc9\\xe8\\x93\\\nS\\x1cy\\xd5}\\xe9\\x99\\x99\\xd9\\xdb\\xd2\\x09x\\xb76\\x85\\\n\\x06r\\xb9\\xc74\\xb3\\x04\\xf5E\\x8a\\x0e\\x91\\xb1\\xd7\\x90\\xe2\\\n\\x86\\x860\\xba{wA(,{\\xa0\\xbd\\x93\\x88\\x98@\\\n\\x12%%\\x96\\x09\\xe5\\x84\\x84\\xd7\\x89&3\\xd0\\xb2\\xff\\x92\\\niWB\\xf3\\xc0\\x86\\x060\\xc3\\x9e\\x89'=\\xf3\\xa1\\xf2\\\n\\xb6\\xfe\\xc6\\xc3W\\x8aNa\\x06\\xbb\\x0d\\xe9\\x9c\\xeb(\\x8f\\\nk\\x16\\xa6t\\x94\\xf8Y\\xf9\\x18\\x10\\xbe\\xe4k\\xbf\\x9c\\xa7\\\n?\\xdf\\xed\\xe2u\\xb2\\x9b\\x0f\\x1b\\x12\\x197\\x90\\xaa\\x90\\x00\\\n9\\xfeX\\xd6\\xdddg\\x07j\\xa0zw\\x99\\xf0\\xce\\x12\\\n\\xc7\\xee$l\\xfb<\\x0e\\x1f\\x8c\\x9f\\x0f\\x0d\\x8b\\x06\\xdc\\xd5\\\n\\xad\\x09,\\xe9\\xcf\\x1cQ\\xa9\\x80\\x0di\\xf8J2&f\\\nb\\xef%M\\x18\\xb6\\xec\\xec\\xfd<t/\\xba\\x97(\\x92\\\nJ\\x81\\xb8\\x98x& \\x8aj\\x18V\\x0e9\\x88Nv\\\n\\xc9#\\xdf\\x1e\\xc6\\x99\\x85\\xd8\\x8c\\xd0+\\xc1(\\x06\\xf3\\x14\\\n\\x17\\x0d\\x08\\xec\\x05\\x11\\xe7\\xcf\\xc7\\x9cc\\xa6l[t\\xc2\\\n@\\x7fo\\x15\\x8c\\xd2,\\x22+\\xf6\\x10r45\\xbf\\x8a\\\n\\xe8\\xcf\\xb0R\\x81\\x10 \\x13\\xd6\\x8f\\xf7+\\x1e2\\x91\\xe8\\\n\\x0bS\\xfa\\xc4$\\x9e\\x17\\x99G\\xca\\x90]Ym.\\xa7\\\n\\xb5\\xca\\xe9d\\xc3{\\xd6\\x84V\\xd0\\x00vj\\xba\\x18b\\\n8&\\xe0QH\\xcf($5,\\x17IK<1@\\\ntrre9\\x93\\xcaP\\x191\\x8d\\xa3\\xf4\\x1d\\xb5\\x03\\\n\\x0eO\\xad\\xe2\\xbc\\xb0\\xe0\\x91\\xe9\\xcfG\\xa9\\xa1\\xf4\\x5c\\x88\\\n\\x17\\xc2L9/:\\x8b\\x13\\x00\\xc9\\xa9\\xaaB\\x1d\\xd8\\xdb\\\n\\x9b5\\x5cC\\x12PZ\\xae\\xf3P\\x8a\\x8d\\xce\\x01\\x16\\xf5\\\n\\xd6\\xcbrI\\xad\\xf5\\xd4:4aF\\x8d\\x8b\\x9f\\x15\\x8d\\\nj\\xfb\\x91\\xd1\\xba\\x1b\\x5c\\xa97\\xca/\\xe3#\\xdf\\x8au\\\n\\xf3'S\\x0a\\xb8u\\x1a\\xc6\\xbe6#\\xf4\\xa1\\x86J$\\\nK\\xa3s\\x96\\x1aaIx\\xd4XL\\xe7z|\\x1fB\\\nr\\x91\\x04\\xeb-\\x81F\\xf2:\\xa8\\x94&\\xf6\\x98B\\xf2\\\nD\\x83(\\xd4\\xf4,] \\xf0na\\x04\\x81\\x00\\xd0x\\\n\\x0e%\\x07\\xa1\\xa9\\x8b3\\xde\\xe1\\xb1\\xdd\\xc4z\\xe9}\\x0b\\\n\\xe1\\xc6\\x86\\x92EF\\xde0\\x91\\x14\\xb8\\xe47\\xeb\\xb8\\xd3\\\n\\x90>\\xca|p#I\\xccz\\xb8\\x16\\xd6\\xfb\\xfa\\xdb\\xee\\\n\\xf1\\x07\\xa6\\x13\\x02\\xcd\\x08\\xa0\\x1a\\x1e&\\x13\\x04cF_\\\n2\\xd7\\xffK\\x85\\x91\\x97`\\xfd#ESHy1'\\\n=\\x0b\\xd4+%U\\x81\\xcf3\\x08K\\xf2\\x0c\\x87i\\xf7\\\n\\xf8\\xc2\\xda\\x22\\xbcbK\\x8f\\x07\\xac\\x0d\\xa3i\\xadZ#\\\n\\x95\\x9b\\xa5g\\xd1n^+$\\x1d\\xb4A\\xeau\\xb2|\\\n \\xe8* n\\xd4\\xea\\xa2W\\x0b\\x9f\\x8b\\x17\\x9f\\xac\\xf5\\\n\\xd5\\xdc'k\\x91,\\x80\\x1e\\xd3dW\\x1a\\xf5V\\x9d8\\\n\\xd0\\xb2\\x88\\x8f\\x9e\\xa8\\x8f\\xd1]\\xb8\\xb0 \\x1fN\\xda\\x98\\\n\\xca\\x97f\\x89\\xec\\x89\\xba^(:\\xf1S\\x04>||\\\n\\xc9\\x1f\\x8b\\xce\\xfb/\\xa9\\xf3>\\xb1\\x92\\xbe?\\x06T\\xdc\\\n<\\xde\\xe3\\xa44\\x8bw\\x83\\xf1z\\xfdNY#\\xd4\\xc4\\\n\\xa5\\x89h$;\\xf2\\xf5\\x93`,\\x16(Z\\xf8~\\x8c\\\n\\x97dY|\\x0e\\xe5\\x99\\x10\\x8a\\x8b&\\x97\\xb8\\xda@\\x16\\\nuO\\xe0?\\xe2|\\xf1N[`\\x01}\\xe9\\x1a\\x055\\\n\\xba\\xadt<\\xb1_\\x92\\xd6\\x00^S\\xd2\\xd7X\\xab\\xd5\\\n(\\xcf\\x03c\\xdb\\xb4\\xab\\x00\\xb0\\xdb\\xff\\x0eW\\xd4]\\xdd\\\nH\\x8b8~\\xedi\\xde\\x8fF\\x07\\x06~I\\x1a%A\\\n(\\xe9\\xde\\x9at\\x8a\\xc5%5\\x8d%~\\xe97\\xdem\\\n\\xd2\\x5c\\x00\\xfe\\x80n~\\xcd-\\x10/\\xfe\\x84O72\\\n\\xe3&9\\xef`QH\\x85\\xa2QB\\xd2\\x8d*\\x8b\\x22\\\n\\x9e\\xb4\\x17q\\xbc\\xa4\\xd2\\x8a\\xfd\\xe6\\x988m\\xccD%\\\nQ\\xacA\\xed\\x8f\\xef\\xf0/\\x0a1\\x13I\\x97r\\x05/\\\n\\x0a\\xf4\\x17:H/$\\xc1#\\xa2\\x1b\\x1de}I\\xf7\\\n\\xb5\\xcd\\x91\\x1b\\x9d\\x10*;AQm\\xe6\\xb1\\xdcR\\xfa\\\nkHs\\xe4v\\x9e\\xe8\\x852\\x12\\xe80\\xd8\\xbc\\xd0j\\\n\\x82\\xc8\\x8a\\x0b\\xf1,\\xb2 /\\x027#\\xa4\\x9016\\\nF-nJ<\\x11w\\x9d]@\\xde\\x91\\xa8\\xa7\\xd0\\xb7\\\n\\xf1II\\x04V\\x1ff\\x8a\\xd8\\x18-\\x1f\\x09\\x0d\\xcb\\x89\\\n\\xee\\xb2\\x89\\x82\\x84\\x12\\xc3\\xf0@\\x1a\\x9dD\\x954U\\x0f\\\nI\\xceCD\\x02\\xa5\\xd6\\x8e\\xb32+\\x1bYU\\x81\\xdb\\\nf\\x03\\xa7\\x06H\\xe0\\x1f}\\x86W\\x0d\\xf6\\xc1\\x93\\x99\\xa2\\\n!\\xf4\\xd3b\\x14\\xe9/\\xbb\\x899\\xd9`\\xbard2\\\n\\xfd#\\xd5\\x8b>l~\\x09\\xc3\\xaa\\xfa'\\xfb\\xdb\\x9c\\xab\\\n\\xb2\\x11scQ\\x11w\\xe6\\x85i\\x09\\xb7\\x18*\\x1d\\xd8\\\n\\xd4L\\xa6\\x83\\xc8\\xca\\x82\\x84\\x94\\x97\\xcb\\x8d\\xc4j\\xd6\\x84\\\np\\x09\\xb2\\xab\\x13B\\x13\\xf2\\xb8(G\\xa2\\x80I\\x03\\x09\\\n\\x83\\xa5\\xe97\\x01k\\xa1\\xa96\\xc9\\x9b\\x10^\\xa7\\xae\\xfa\\\n\\xc4d\\x92^,+k\\x9e\\xf0\\xf2\\xd5\\x93s=\\xad>\\\n\\x22\\x81:H\\x9f\\xa9\\x9f\\xd4\\xe8\\x811uJ\\xbcaM\\\n\\xdb\\xeb\\xa0~\\xa1E\\x85\\xce\\x97a\\x92m\\xa8\\xaaZ\\xf8\\\n\\x84+\\xbcp\\xad\\x84\\xe3\\xf1\\xf5\\xdbH\\xd5 \\xe9$F\\\n\\x89m\\xaf\\xd1\\xaa\\x8c\\xe3\\x96d\\xc9&\\xee\\x0c0[\\xda\\\n\\x1duR\\xf4X\\x81L\\x06m\\xb2\\x15\\x10\\x95\\xc3\\xa5\\x1c\\\n\\x96\\xa5u\\x1eu\\x916\\x7f\\x1a\\xbek\\xb3\\xd3\\xb7\\xa3\\x9d\\\n\\x9e\\xed\\xf2\\x91\\x82V\\x99\\xf6\\xc2\\xe3vv\\xdc\\xdc,\\xbb\\\n;m0\\xd1\\xfeNz\\xb1*i\\xb5\\xc5SV[q\\\n\\xcd\\xa5pq$\\xa9\\x919\\xc5F\\xb9\\x98)\\x85\\xcf\\x14\\\nz\\xc4\\xae\\xab\\x22\\xc4&\\xed\\x85\\x1b\\xef\\xcc\\xcd\\x1b\\x13\\xd3\\\n\\xd1\\x15\\x99\\xcbvbq{\\xa6OY\\x08\\x87n\\x1a\\x17\\\n\\xed\\xaaf\\xda;\\x09\\xaaK\\x9c\\xf1\\x9e\\x83a(/\\xc4\\\nOx\\xc4?\\x8a\\x13\\x1e\\xdfah\\x93\\x8d\\xd13\\x9aD\\\nO)]\\xd2&\\x01\\xcd\\x9c\\xa4\\xb0*\\x15\\xd11\\xca\\x07\\\n\\xb9aW\\xf0U6%7(\\xb7$/\\xb2\\xb5%6\\\n\\x19\\x12!\\x94\\x95\\xa8\\x93xn\\xed4(\\x80\\x91\\xfe#\\\n\\x1e'3\\xe8\\xd9\\x8c\\xb2\\x89\\xfd\\x08O\\x9c|\\xb7\\xf2\\x88\\\nL\\x03\\x82E\\xed\\x8a\\x08\\xf7H\\xa9\\xbe\\xc9\\xaa\\x08\\x8f\\x9f\\\n\\x02\\x1e\\x1d/\\xdbk\\x90;\\xdc\\x800\\xbe\\x106\\xb8G\\\n\\xc1V\\x09\\x88\\x9c[[N3\\x00\\x94.\\xb6\\xea$\\xb3\\\n\\xb6\\xe5qGL\\xd6\\x81\\x0d\\xa8\\xcahp$\\x06\\x1c\\xe4\\\n\\xaf\\xe2\\xd7bbq\\x11p>\\xd7|\\x8a;\\x1d\\x09m\\\nwb\\x8f\\x0bR\\x1e]\\xad\\x07b\\x03f\\xec\\xecJP\\\n\\xa3\\xdbC\\xaf\\x87\\xd3\\x98\\x84\\xf3p\\xf70I\\x1b\\xc3\\x80\\\n\\xd8Y\\xfa\\x11\\xae\\x0d\\xa4\\x83\\x91\\x0f\\xb1\\x0ek\\x03Q3\\\n\\xb6\\x10\\x14\\xb3*\\xd8!]\\x88\\xd2\\xdb\\xcbH\\xba\\xc0\\x86\\\n\\x1e\\xaa,\\x06\\xa5G\\x83bE\\xa4P[4\\x22\\xadl\\\n]\\x9a\\xa6\\x9d\\x18\\xb7'\\xd6\\x8c\\xcf\\x8a)\\xa6Or8\\\n\\x99\\x11\\xd1}M\\xf9\\x8d2\\xce\\x89\\x1c\\x05\\xec\\xb9\\xd4\\x89\\\n\\x0b\\x09@\\xc8\\x02&$\\xf8~\\x9cjH\\xd9\\x86\\xd0v\\\n\\x91\\x8a\\x7fB]\\xbeme\\x02\\xa9\\xe3\\xed\\xe3/`%\\\n+\\xa2o\\x9e\\x9d\\xc5vV>_\\xa7\\xc4\\x1d\\xb5~\\xd9\\\n;4Y,\\xce\\xe5\\xa7\\x99H\\x8ai\\xf8\\xf0\\x03\\x81y\\\n\\x10\\xd0+\\xf4\\xf5`\\xe4\\x18\\xcf\\xd2\\x0c\\xf2\\x92\\xd7\\x96Z\\\n\\xfab\\x87\\x1d\\xbf~\\xf5\\xea\\xd8\\xb5\\xcb~\\xb4\\xfd\\xb2M\\\n\\xb7\\xb8\\xa0\\xdb\\x14\\xc5'\\x00\\xba&>\\xa9o\\x88l\\xb4\\\nOmJ\\xab!Bu\\x01F\\x07\\x7f\\xfd\\xb9P\\xcb\\xa3\\\n\\xe0F\\xe7>\\xd2.\\x10A\\x01\\xc1\\x97\\x80(\\x0a\\xf9\\x9a\\\n\\xb48\\xd3\\xcaWtl\\x9b\\xd7\\xb8&\\xe1\\x13\\x11;\\x9f\\\nv\\x0b'8\\x86\\xb19L8\\x96\\x19\\xba\\xf2\\x0b\\xf5j\\\n\\xb5X+\\x09\\x91\\x87\\xea\\x89h3\\xdb\\xae\\xc5\\x8d\\x9d\\xa1\\\n\\x8e\\xa3\\x8d\\xf9\\xcc\\xcdK\\xe2\\x99\\x84m\\xcc\\xe5\\xd2\\x08\\xdf\\\n?\\xdc\\xc1\\x07O\\x9f\\xbd\\xfb\\x07G\\x06\\x90gs>{\\\n\\xef\\xf5\\x93\\xb3@\\x829Y.6W\\xea+\\xab\\xf8B\\\n\\x18\\x1f0;\\x8f\\xcf\\x93Xq\\xe1\\xb1\\x90@\\xec\\xf9~\\\n?>\\x88\\x81\\xbd\\x1fN0\\xb5\\x85\\xa0\\xbe\\x98\\x0a\\x87L\\\nMQ\\x88\\x14\\x1e\\xf2\\x10\\x02\\x8a\\xa2%\\xe2j@X\\xc7\\\n\\x81\\xcfD=\\xa4\\xb2{<J\\xa58dv\\x1e\\xe3\\xa8\\\n\\x86\\x9e\\xb9\\xbc\\xb9c\\x14\\xe7\\xc5;ha\\xa1Z\\xf1\\xd2\\\nxQ1\\xa7q\\xcfJ\\x99RN/\\x0b\\x16\\x0a\\x80\\xd1\\\n\\x86C\\xd3\\x18\\x89\\x1aW\\xfe\\x12Q\\x0bL\\xdc\\x1eo\\xe2\\\n\\xb9#\\x1f\\xe9\\x8dyR\\xa7;\\xafix\\xcb\\xd8\\xdbZ\\\n\\xec\\xed\\xb6\\x18\\xd7N\\xaeO\\xd5\\xb9\\xce\\x8b0\\x9e\\x1aT\\\n0T\\x05\\xa5\\x13R\\xa3\\x03\\xb2\\xd96_\\xa2Q\\xc2\\xb1\\\n\\xc7Or\\x19\\x8c\\xea\\x05\\xe8\\xe6\\xd22_h\\x82f\\xb5\\\n\\xd2J\\xc0j\\x05[b\\x0c\\xf5#JV\\x17W\\x0a\\xbe\\\n2\\xaf\\x1e\\xdb\\x0c\\xba~\\x89\\xe3\\xca\\xe6t%[\\xd2;\\\n\\x22\\xf58\\xec\\x1b\\x11\\x9f\\xfbc\\x85h\\xc7I\\xbc\\x1e\\x87\\\nj\\xeam\\x1d\\xed\\xb8\\xcdI\\xab\\xd8\\x1a\\xbej@\\x88\\xd0\\\n\\xf2\\xd33&VZ\\x8d\\xf8\\x06i\\x12\\xd8n\\xb6r\\xb3\\\n\\xe9\\xb1\\x11=\\xc9Vn\\xceQ\\xba\\x8b\\x0d>z\\x1c \\\n\\x84&4\\x04\\xac\\x996>\\xa0\\xcb\\xb3[\\xc2\\xc0\\xc6\\xf0\\\n\\x9e\\x83\\xb3\\xe3~\\xd7W\\x82\\x82)\\x06\\xb6O\\xfd\\xea\\x87\\\n\\xddP\\xafP\\x1f)\\xf9\\x8aC\\xc4\\x09\\x0e5Al\\x86\\\nWnq^u\\x84\\x17\\x95\\x5c*^<iU\\x89\\x03\\\nU.v\\x98\\xe2e!Y\\xbc)H%/\\x8b(\\xd9\\\n:\\x90\\xd1 %\\x0c\\xa5\\xb6\\xedO\\x8f]\\x9e\\xbcn\\xdf\\\n\\xf4\\xef\\xe2\\xd6<\\xcf^=\\xe2\\xae/\\xac\\x10|\\xf6\\xde\\\n;\\xb0U\\x7f\\xf6\\xc1\\xb7\\x1dO\\x97\\x81\\xe0\\xa3\\xebz\\x07\\\n.\\x80|\\xed\\xa0\\x1d\\x09\\xd8\\xba\\x94m?i\\xf7K\\xec\\\n>\\xaa\\xd2\\x82\\xb2\\xae\\x7f\\xb7XY\\x0dF\\x05[\\x90w\\\n\\x16\\xf1u\\xb13\\xd2\\x91\\x99\\x90\\xf0\\x9d\\xbc\\xfc\\xf8\\x82\\x99\\\n\\x09\\xd5\\xc2\\xcf\\xc3Z*\\x18~\\x08\\xcc\\xe0$p\\xc8\\xf9\\\n\\x00(ZO\\x01\\x9f_Yt\\xe2\\x1b\\x08\\xa9\\xd1EM\\\n\\x12'\\xc0\\xcc\\x83\\xc4\\xd8\\x015\\xc8\\x9d\\xa7\\xa9\\xc7h\\xa5\\\n\\xa8\\xcet\\xb3#\\xdf\\xa3\\xbb\\xd1{:\\xf2#2\\xa71\\\n\\x15\\x1ez\\x15=\\x01\\xdb\\x1c_\\xdc\\xa1\\xb0\\x88VfL\\\nf\\x19\\xbbI\\xa0\\x88\\xe4\\x9b\\x04JN\\xbaI\\x08\\xa70\\\n\\x1c\\x00\\x11\\x861\\x08\\xcbE:2V\\xc3\\xecn\\xdbP\\\n\\xeaeV\\xce\\xbdcVG4\\xe8b1\\x8b\\x8bL3\\\nWg \\xf2qKx\\xaf\\x9a6\\xcf\\x16\\xb4\\x9aS\\xc2\\\n\\xdb\\xb8:`\\xb4;_\\x1a\\xf1\\xf3Goo\\x8f!!\\\n\\x8c\\x1dN\\x88)\\x16\\xef\\x87\\x93\\x8f&\\xe3W&\\xc6\\x9f\\\n\\xbdt\\xfd\\xf9\\x13\\x90)\\x1bm\\x22r@\\xd6\\xea\\xbe\\x00\\\n\\xf2\\xf4\\xbf\\x1bE\\xfa<T\\xe6s\\x11\\x18\\xe8\\xc1?\\x91\\\n\\xa6$0\\x95I\\xeb\\xf48\\x1c\\xa16\\xe6\\x8f_\\xcd=\\\n\\xdd,\\xd4\\x7f\\xc8\\x12\\x8f\\x16\\x85X\\xde\\xae\\xf7O\\x5c\\xd8\\\nSc\\x97&\\xa6\\xec\\xab\\xda\\xbcZ\\xf9\\xa2N\\xf5'\\x95\\\n\\xe3\\xa4:\\xdei\\x08\\x9bV\\x9e!\\xecy\\x1c\\x01\\x9e\\x8d\\\n\\xc7\\xee\\x80\\xa7\\x06\\x13wsj\\xa2\\xc3\\x05Ut\\x05\\xf0\\\n\\x98\\xe2\\x19\\xb4\\xa9Z\\x13\\x96e\\x01\\x9b\\xefJN\\xfds\\\nIi>\\xd7\\xb0\\x93\\x99/\\xe2\\x91\\xc2q \\x83Q\\xbe\\\n\\xcd/\\x01\\xda\\x84\\xf0\\xa3<\\xc8\\xd3\\xa3\\xfd\\xdd4\\x99<\\\n\\xa8\\x16\\xe3i\\x18\\x99&\\xad0\\x7fN\\xd1\\xb1\\xecK\\xcd\\\n\\xd4]\\xa7O\\x85\\x16\\xe1\\xbc$\\x8d\\x86xs\\xce|\\xc3\\\n)\\x14\\xc8\\xc9$\\xdd\\x17\\xe9z\\xde\\xba12g\\xa9Q\\\n\\x87\\x85\\x95\\x1a\\xa0G\\xa2B\\x1b]\\x18\\xc5K\\xe5\\xd0\\xd1\\\n \\xef\\x0d\\xb6\\x06\\x15^_\\xb2\\xf8\\x05\\x87Z\\xd5\\xa7\\xe3\\\n9O\\xf6\\xa7(\\x94\\x82`\\xea\\xee\\x93\\x03\\xce\\xb1p\\x22\\\n\\x8f\\xe3sN\\xf8- \\x89`\\xf7\\xa0\\xa4n\\x82\\x80\\x15\\\n\\x05\\x040\\x19\\xe6\\xd0\\xfe)\\xe3\\x14\\x9a\\x12\\xc26\\xa9o\\\n\\xd9$\\x15\\x14\\x0d\\xa2K\\xf6/\\xa4MP\\x952\\xc6\\xbb\\\n\\xd9\\xf6\\xe6\\x98\\x15\\xea>\\x07\\x91\\x87\\x9b\\xa5\\x96\\xc8\\xd3\\x97\\\n\\x1688\\xea\\xa4>{\\xe5;\\xb0U\\xbd(#\\x98\\xc4\\\n\\xfc\\xf4\\x12\\x0a\\xc8%\\xb2\\xba\\xb0\\x99\\xb8\\x05\\xbd\\xfb6\\x93\\\n,Q\\xb2\\xb8\\xbb$[\\xf2\\xb1'\\x0d:\\x10\\xf5\\xa6\\x81\\\n?`\\x10\\xc6\\x89=\\xa5q\\x98\\xcf\\x99\\x97\\xcc\\xa2\\xb4\\xbc\\\nj\\xa6G\\x0e\\xf3\\xd1\\xf0\\x85~9\\x85I`\\xf4\\xc4\\xa9\\\n ;\\xb47\\xb3%\\xa5/'\\x0f\\x07\\xa2f\\x19\\x06g\\\n\\xb5\\x09\\xdb\\x1c\\x8c\\x14&\\xbb*w\\xf8\\xd3\\x9d\\x9bO\\x9b\\\n\\x81Un\\x0cm\\x98\\xec\\x17W\\x8b\\xeb\\x91%\\xd5\\x81\\x1c\\\n\\xeeB\\xa6\\x93{\\xbb\\xf1\\xbc3\\xf8?f}9{\\x06\\\nP${\\xd6tt\\x8f~)\\xd1\\xaeW4\\xb8mr\\\nE\\x12\\xebT\\x11z\\xb4\\xdc\\x08\\x16\\xf3\\xcer\\xab\\xb5\\x92\\\n?}zmm\\x0d\\x1f\\x0b-\\x93vhc\\xe94\\xbe\\\n.q\\x8cH\\x1c\\xe0\\xb9\\xee,\\xa8\\xc4&\\x5c\\xc6+/\\\n\\xacl\\xa2\\xa5\\xe3\\xd0NH\\xc0\\x91E\\xec?\\xea\\x00!\\\n6\\x93\\x8a\\xb0\\x03\\xf9\\x22:S\\x86j\\xa8\\xec\\xe5r\\xb1\\\nR_\\x82\\x1c\\xc2\\xc2\\x1ca\\xab\\xa2\\xf8\\xa9\\x92Htm\\\n\\xd6X`)\\x8c8RE2\\xf6\\xee\\x9c\\xc0$\\xec\\x22\\\n\\xa1\\xe1`\\xd7\\x13\\xd9\\xa4\\xba\\xbe\\xd7\\xc9\\xfaM1ZP\\\n\\xe8O+\\xd9q\\x16\\xb4\\xef\\x8az,U\\xae\\xd5\\x82\\x86\\\nx\\xbeAJ]\\x9a\\xf3+\\x11\\xc3\\x9fxlm\\xe5\\x84\\\n\\xdaI\\xa4\\x95\\x8b\\xefnh\\x98\\xe8\\xbd\\x8dh.\\x7f^\\\n\\x22\\x91\\x93'D/h\\xa2WT<=ro'}\\\n\\xe3\\x1d\\xf3\\xee_\\xd8W\\x10\\x10\\x98\\xa5\\x04\\xb4|.\\xde\\\n\\xb0p\\xe0\\xa1S<\\x09\\xfb\\x8aVP:\\xf9:=\\xe8\\\n&\\x9a_\\xa1W.y\\xad\\xa7\\x91\\xc5\\x18\\x0e:\\xde\\xa2\\\n\\xcf\\xd7 \\xf9\\xbc&\\x86\\xf01\\xc6B\\xa7\\x9c\\xa8\\xfa\\x92\\\n\\xe8\\x05G\\xcf\\xeaj\\xd6\\xaf\\xa2h\\xadR\\xb9\\x92b\\xb5\\\nj\\x96\\xebz|?\\xb2Z\\x07-\\xb0-a%\\x9d)\\\n\\x97\\x94\\x1d\\x12\\xbd0\\x99\\x83S\\xb7\\xffz\\x92\\xb0\\x1c\\xe7\\\n*\\x931|4ds,\\xcf \\xc2U\\xc4y~\\xbd\\\nob\\xb3\\xf6\\xf9\\x1b%\\x0f]_\\xd0\\x85P\\xad>\\x0b\\\n?t^\\x94r\\x98\\xdab\\xdd\\x9f+D\\x16\\xa7J\\x10\\\n\\x85\\xde\\xa2\\x5c\\xf4J\\xbb\\x5cl^_\\xab\\xddh\\xa07\\\n\\x93\\xd6\\x06\\xfa\\xa9\\xe8\\xed\\x85\\xf8\\xb9r\\xa9\\x00\\x03\\xc2\\x80\\\n\\x85\\xd1j\\x9b\\xd9\\xdaR\\x11p\\x84\\x89R!\\x90F\\xe0\\\n\\x00\\x07k\\x16<\\xc1\\x8b\\xf4:\\x93\\xb4\\x83\\xf1\\xb7\\xbf\\xe0\\\n\\x85\\xd9aX\\xcb%\\xcf\\x80\\xed\\xba#T\\xb8Yo\\xa0\\\n\\x89\\x14\\xfd\\xc5;\\xa5\\x18\\x12\\xa7\\x90\\xfb\\xc0\\xc4\\xb9\\xb2\\xa2\\\n\\xfc\\xe1\\x85\\x0f\\xa4\\x9bC\\x88\\x1c\\xaco<o3\\x1f\\x8f\\\n\\xd4#\\xb7$\\x90t\\xba\\x8a.\\x18\\xa0\\x17D\\x9dp\\xb7\\\n\\x93\\xe0\\xd3\\x9b3\\xcf=\\x93w\\xd6\\x82\\xf9\\x14|\\xc0Q\\\n\\xb5^\\xad\\xd6k\\xc8*\\x88H\\xe1:\\x22tlB/\\\n\\x10\\xca\\xd5%lAs\\xd4)\\xa3\\xedj'O\\x8f\\x19\\\n \\xb7\\x8c\\x85/\\xdcY\\x91\\x84:t'\\xd9\\x87\\xe9X\\\n\\xe9d\\xedf3h\\xcf\\x11\\x90\\x12\\xb4\\xc5YB\\xa7@\\\n\\xe5\\x05\\xca\\x86\\x19\\x9aN\\xbc\\xaf\\xc4\\xa6?~o\\xc9!\\\ne\\xd8\\x01_<\\xc5(\\xc3\\xa9\\x957\\x1a\\xce\\xb4\\xbcg\\\nn4\\xf6Y8\\xba\\xd4\\xd7n\\xc9|\\x11KRo-\\\n\\x9eF;\\xe9\\x8b\\x8b\\xa9z#\\x05\\xa1x\\x1f\\xae\\x04\\x95\\\n\\x95\\xd8*FO/\\xb0\\x92\\xbe\\xbaZn\\x04i\\xbb?\\\n\\x1a,'\\xf6D\\xf4H\\xa3\\x19\\xe2\\x8c\\x1b\\xcb\\xc4\\xccY\\\n\\x91;m^\\xb1\\xb6\\xddv\\xb8\\xfef\\x96\\xebk3\\xf5\\\n\\xd5\\xc6B`',\\x1d^\\xf9N<\\x07\\xe7s\\x7fS\\\n\\xf8\\xb4P\\xf7\\xb52\\xe4\\x89\\xdf\\xdbZ\\xec\\xedv\\xf8\\xca\\\n\\x19\\x1f\\xa5\\xe0\\x04\\x08w!\\xa1\\xd7\\x5c\\xc9\\xcf\\xd2\\x5c^\\\n\\xbd\\x1a\\xb9\\xb3\\x89N\\x10Y\\x98C\\x82ru\\xaa\\xb77\\\n|F\\x03\\xa1lu\\xbe\\xd8\\x0c\\xd8\\x06\\xd9\\xaa\\x0b\\xe0n\\\n\\xab\\xb1\\xb1i\\xf45\\x8b\\x86\\x92\\xc3\\x96d\\x81\\x85o\\x85\\\n\\xf9\\xd3Nd\\xdbE^R\\xbb\\xed\\x05z\\x85\\x1d4\\x1a\\\nB\\xc2\\x0c\\x1f0\\xe5\\xe2-Kk\\x19\\xd8\\xf7\\x14\\xc4\\x8c\\\n\\xa8k\\xe7\\xec\\xd8\\x220\\xfci\\x12\\x00\\x98\\xa3\\xec\\xd1\\xa8\\\n\\x15<\\x0eA\\x5c\\xde \\x5c\\xc2\\x02tP\\x04,\\xe2\\xac\\\nj\\xbfz`cIC[9f\\xd7n\\xd1D)r\\\nLC\\x146Lxa\\xea\\x02\\xd7\\xd4` \\xa6\\xb9\\x9e\\\n\\xc5\\x06\\x8f\\xad5^\\xa7i\\xc0=\\xa3C2_\\xc9\\x88\\\n\\x9f^\\xa7\\xd1\\x8bF\\xcc\\x99h4\\xea\\x0d\\x13\\x7f:\\xcf\\\nv\\x80E0JN\\xee\\x88\\x02\\x16J\\xcd\\xe2\\xaes\\xe6\\\n\\x18\\xf8\\x82\\xc0\\xcfb\\x98\\xea\\xeb\\x88\\x84\\xafR\\xc3\\xb44\\\no\\xd7HT&[*\\xb6\\x8a@\\x8a\\xa4r\\xb8\\xd9\\xd8\\\nxF\\x18\\xa9\\x99V\\x03F\\x1b\\xb5\\x01\\xc9\\xc0\\x18\\xb4X\\\n\\xdc\\x08\\x85\\xd5\\xd7\\x1be\\xe0\\x87\\x8a\\x15\\x04\\xa1\\xd0\\x86\\x10\\\n\\xa0XA\\xc1\\x0dp\\xd7\\xd7\\xea\\xd7e\\x1e$\\xa0@\\xc2\\\n\\xaf\\xd5S\\xaa\\x14\\xea\\x10TS\\xc5\\xbb\\xc5r\\xa5H\\xde\\\n\\xbe\\xa5\\xaas\\xe2@\\xf2\\xea\\xd4Bi'\\xe0c\\x8c\\xba\\\n \\xba\\x9bY\\xd7\\xa2\\xe7>s\\x05\\xef\\xf2\\xc4\\xd3J\\x90\\\n\\xa9;\\x0326~\\xc8\\xe7\\xc2\\x7f\\xd6\\x8d\\x1f%Fb\\\n\\x17-\\xf59\\xbe\\xd3\\x07\\xf9pW\\x8e\\xf7l-t|\\\n\\xbd\\x12\\xd4\\x90\\x048/\\x0a'k(\\x9a\\xca\\xbeT/\\\nC\\xa4\\x07C\\xd2\\xe6\\xaa\\xe7\\xbc|\\xbc\\xe38,Q\\xb7\\\n[\\xd1 Q'\\xd7\\xfc\\x8e\\x0bw\\x84s\\x84\\xbc\\x1e\\x0f\\\n\\x01\\xf9\\x04\\xce\\xc7?\\xd1\\xd6\\xf3o/4\\x9f\\x22\\xbd\\xb9\\\n(\\x0ab\\xbeBQ,\\xae\\x17\\x0f\\xcd\\xbd\\xc5\\xea\\xca\\x08\\\n\\xcfy\\x81b+--\\xf2\\x22E.a$Q|\\xb2\\\nw\\xeb\\x03\\x1aM|U4\\xc7\\xf1\\x14\\x83\\x99\\x9a\\xf8\\xea\\\n*\\xe1kJ\\xa6D\\x16-\\x94.\\x81\\xbb\\x16\\x9e#\\xc4\\\n(\\xbb\\x1e\\x8bYk\\x94[@\\x8d.\\xa0e\\xbd\\x8b\\x17\\\n\\x96\\x83b\\xe9\\xe2\\x85j\\xd0*\\x92q$\\xff\\xd4\\xddr\\\n\\xb0\\x86V\\xafO\\xa5\\xa4\\xf7(\\xff\\x94|F\\x1f\\xdc-\\\n/\\x04\\x19\\x0ax\\x80\\x0ep\\xc2)V2Mt\\x85\\xe5\\\n\\xf7gs\\xa7R\\xa7/^\\xa0v_t\\xfa\\xe8\\xb7\\xcf\\\n\\xb9pZD\\x5c8-\\xaaA\\xee<%<\\xd9\\x9e\\x0a\\\nO\\xfc\\xf9\\xe1\\xa1'O]t\\xacm\\x5ci\\x104\\x18\\\n}\\x04F!{_\\x1a\\x17/\\xd0#\\xfa\\x14\\xd2:\\xff\\\n\\x948\\xf3\\x9eJ\\x89\\x0b\\xdbS(\\xd9q\\xe4\\xb1Z\\xfe\\\n\\x02\\xb3p*%\\x8f\\xd8\\xd8CB\\xc9\\x05LJ\\xbb\\xd8\\\n\\x15{=\\xa7\\xb1\\x07\\xd8\\x1d\\x1c;=\\x8b,K4n\\\n\\xf3\\xc4\\x13\\xf0E\\x0f\\x5c\\x0b\\x09\\x0b\\x80\\x85qiA\\xf9\\\n\\xf88B\\x0d%\\xfc\\xd3\\xc0?\\x94\\xf9\\xb1{L\\x08K\\\n\\xb7W,\\x91\\x0eb\\xccNF\\x82\\xa19,\\x0bgu\\\n\\xe4\\x1f\\xd51=c\\x1c\\xda\\x07s\\xde-\\x95C\\x1c\\x84\\\ne\\x06\\x0aP\\xfa\\xba\\xb7\\xe1=?r+21\\xd8\\x7f\\\n&\\xe7\\x85\\xd6P\\xd9\\xd93;\\xf4\\x14w\\x1f\\xe6z\\xd4\\\nn\\xcd\\x00\\xe6\\xad\\xbe\\x81!\\xd7\\xf5\\xaeD\\xc0\\x8e\\x85%\\\n\\xc4T:0i1\\xe2\\x8a\\x80f\\x11)\\x88\\x0c\\xc2H\\\n\\xc8\\x95>\\x7fp\\x08\\xc7VX\\xe6\\x98\\xad\\xa7oyW\\\n\\xdc\\x11\\xe4\\xa7\\x9e\\xf75vO\\xf1G\\xb0wK\\x13\\xad\\\n\\xb83\\xf5\\xf8\\xcf\\xeb&\\x16Y\\x8b\\xb5\\xe2\\xdc\\xee\\xe2-\\\n\\xf4\\x9b\\xa69S\\xbb\\x95\\x19\\xc8\\xa1\\xed\\xc5c\\xe1\\xdc\\xe6\\\np\\xae08\\xd2\\xdf\\xda\\x15\\x01h-\\x8b\\xe7U\\xe8\\x0d\\\n\\xcc\\x8f\\x8b\\xac\\xc6P.\\xda\\xb7\\x88n\\x18\\x98\\x00\\xac\\x8e\\\n?\\xe7DG ~\\xf2\\xf1\\x1c:\\x1f9\\xa1\\x1bG\\xf8\\\n\\xbe\\x81\\xea\\xeb\\xc1\\x1ae-\\xc0\\xf1\\x8eX%\\xf1\\xd6\\x03\\\n\\xce\\xe5S\\x13~\\x7f.\\xe7\\x95\\xe9a8\\xeedp\\x06\\\n\\xe4\\x16\\xce\\xf0\\x0c#<=\\xce\\xd1\\x19\\xb2\\x00\\xfc\\x86(\\\n\\x86{\\xae\\xb0\\xc3\\x95%\\xfa&\\x95\\xcd\\xe9\\xaa\\x95\\xda\\x0d\\\nSY]\\xa1}\\x9e\\xfaA\\xae\\xf4<\\xf1\\x0d,@%\\\n\\x85\\x92@`n\\x90\\xb7I\\xa5\\xc9\\xb5j#(\\xa5Z\\\n\\xf5T\\x13\\xce\\xeb\\xd2\\x92g\\x0a\\x97\\xa3\\x9b\\x9a\\xdf\\x80U\\\nE\\xd5\\xf69O\\x0abNu\\xb8\\xeaC\\x19&\\xc2]\\\n\\xe7\\x85R_\\xfa\\x85\\xec\\x0b\\xa5\\xa7\\xdcQ\\x08=9J\\\n\\xdb\\x8e\\x1bf\\xf5\\xb9\\xad_\\x02B\\xdb?}\\x02\\xf3N\\\n\\xb5\\x085\\x0d>\\x14\\xb6\\x81\\x90\\xaf\\xf6\\xf9 \\xf8\\x02\\xe2\\\n\\x08\\xbb\\x0d\\x95\\x09(Z\\x8f\\xe7\\xb4\\x5c~bF\\xe5\\x9f\\\nt:h\\x90\\xa7Fr'\\x8aoX\\x889d\\xfcS\\\n\\xed_\\x83F\\x9d\\x86\\x14\\x86vv9\\x10C\\x9fj.\\\n\\xd7W+\\xa5\\x14pm\\xa9\\xf9 \\xf52\\xe4A\\xfeI\\\n/|#h\\xe0]@ba(XL\\xad\\x88Lp\\\n\\x80N\\xa5\\x83\\xecR\\xd6K\\xa1\\x98\\xfcI\\xd7\\x09\\x8fl\\\n\\xe8\\x93\\xd4\\xefx\\xf8S\\x9eK\\xb7\\xb6\\xba`\\xf5\\xb9\\x9b\\\nSU\\x85\\xf2Vi;_\\xe3h\\xd9\\xce\\xd5#\\x02w\\\n\\x81U\\x8595.\\xa0\\xb3\\x0d\\x09P\\x80\\xb94}\\xfd\\\n\\xd6\\xcc\\xc44\\xf7\\xc9\\xe9I\\xcf\\x81P\\xff\\xcc\\xcc\\xd83\\\n\\xf2\\xe6R\\xb5#{U\\xa46\\xbd\\xb5b\\xa3\\x16\\x00\\xdd\\\n\\x16^\\x1b\\x92\\xabA\\xe7\\x06lQ\\xe6\\xcd\\x9c\\x02\\xceU\\\n:\\x97\\xc8\\xe6\\xa0\\x11W8\\xcbU\\xd1t\\xfa\\xc0\\x99,\\\n\\xca\\xc9T\\x8a\\x14\\xe2\\xa0\\xd6^\\xb3\\xd5\\x00\\xfa3\\xe8\\x8e\\\n\\xca\\x06\\xfb\\xb2\\xc1Y<\\xdd\\xdc\\x0a\\xe6\\x9f-\\xb7\\xf2\\x11\\\n\\xc0\\x99\\xe2b\\xb1Q\\xee\\xed\\xed1 \\x85\\xbe\\x99\\xd1\\xab\\\nf\\x97\\xb0\\xc81\\x94\\x0a\\x02\\xb3\\x1b\\xb9\\x10%e\\x848\\\n\\x04,\\xe0\\xe6UJ\\x04h\\xa2\\xb4\\x14\\x8cZ\\xaabQ\\\ns2wA\\x0e\\xb8\\xef\\x84\\x03\\xe6p\\x7f\\x12D\\xfd\\x12\\\n\\x06\\x17\\x92\\xb6\\xb6\\xf4\\xe6\\xc3@H\\x87\\xcd\\xb1\\x06Cn\\\n\\xd1\\xe06=L\\xa2D\\x22\\x13*\\xe3\\x8b\\xea\\x0b\\x85n\\\n\\xea\\xb3\\x1f\\x1f\\x14\\x8b\\xef>\\xdfy\\xa1\\xf6B\\xcd\\x89\\xc2\\\nH\\x07\\x09O\\xc6j\\x1bk\\xc5\\x0d$\\x85\\x14L\\x01\\x15\\\nL)T\\x81s\\x1c&\\x8eb\\xd94P\\xeef3u\\\n\\xfdY\\xa2\\x89\\x94\\xd7\\x83\\xc3\\xf3\\xb5\\xf1\\x89)\\x8cA\\xce\\\n\\xb3\\x5c[\\x0dR\\x90\\x22\\x80,\\x089g\\x08,\\xb4\\x8a\\\n%\\x09\\x91\\x8a\\xf7\\xc5\\xc2\\xc8\\x96K\\x16\\xf2\\xd3CD\\xaa\\\nQ\\x0d{\\xed\\xf23\\x86\\x09)\\x09\\xe5\\x93\\xccU\\x84\\x19\\\n\\x84( V\\xfd\\x88\\x98,e\\x89FV'g\\xdd>\\\n\\xb1~O.\\xa1\\x9bI\\x8d\\x8b\\xf7\\xba\\xcd\\x89.\\xe4W\\\n+\\x9d\\xe8\\xae\\x97\\x08'\\x227\\x9e\\x85V{v\\xa2\\xe1\\\no\\x02\\xda\\xe67%\\x96+\\x83\\xe0!q\\xb8\\x05\\x9dB\\\n?\\x87\\x9es\\x1b\\x8e.)\\xe9\\x0d<U\\xaa\\x07\\xcd\\xda\\\n\\xa9V\\xaa\\x19\\x04U\\xb1G\\xae\\xe0\\x01$%\\xe4\\x15)\\\n\\xf1\\xac\\xba\\xb2\\xe1\\xa5\\x9a\\x0aWh\\xf7\\xac\\xab\\x0c\\x82F\\\n\\xc2\\x9e\\xbb\\x91Z(\\xae\\x92vn\\xa0\\xed\\xc0\\xf5\\x1aE\\\n\\xa1\\xa5e,6\\x1f\\xc0\\x8e\\x1c\\xa4Vk\\xb0\\xb8J\\xc4\\\n\\xb2\\xa1\\xbb]t#?\\xe7\\xe0\\x8f\\xa5\\xbd\\x93x\\xb1\\x5c\\\n\\x0bZ\\xa9\\x89\\xf5\\x95J\\x1d\\x91\\xb9!H}\\x93 G\\\n\\x04\\x22\\xb5RYE\\xa7\\xda\\xf0\\x7f\\xbak\\xc4\\xfa\\x80Y\\\nX@l\\xd7\\x9a\\x9b\\x15\\x0ey\\x1bE\\xe1\\x8d\\xb7Q\\xb4\\\n\\xd4J\\xf1\\xa7\\x9a\\xe1\\x80\\xc0\\xc6\\xad\\x80\\x94\\x9b\\xa9J\\xb9\\\nZ\\xc67\\x0d]\\x0fK\\x13{\\x1d\\xac\\xaf\\xe0\\xd2\\xc3\\x0d\\\n\\x09\\xf3\\x8ayM\\xad\\x00#W\\xd9\\xc06\\x09:\\x8a\\xee\\\n\\x88\\xe9\\xe3\\x98\\xb9\\x83\\xc6\\x89\\xe9Q\\x95\\xe2\\x5c\\xd2\\xde\\x5c\\\nF\\xbf\\xdf\\xa4|\\x80\\xfc\\x10\\x0e\\xd2bP\\x84\\xc5\\x06\\xc9\\\n\\xf8`\\x1a\\xd8\\x1eu\\x1b(:`\\xb6\\x0d\\x9b\\x8dpT\\\n\\x03I\\xd8 \\x9a\\xf84\\x8c\\xfbb}\\x1d\\xda(\\xbf\\xbe\\\n\\x84\\x8dl{(\\xd6\\xdfdX\\x05\\xe1\\xa8y\\x10\\xc0)\\\n\\xd4\\xda\\x10\\x90\\x8c%\\x8ei+\\x8dr\\x9d\\xf0\\x08\\xc89\\\n\\x8a\\xba\\xd7\\x96\\x03|-\\x8f\\xe5\\x83\\xea*:\\xad\\x87i\\\n\\x9f\\x9c\\x18\\xc6\\xb4\\xf9\\xa0\\x02\\xc7\\xd8\\xd4\\x0cG\\x07\\xacK\\\n\\xe2\\xc2Z\\x19\\xbai_#\\x90\\x11[#\\xef\\xec\\xb5\\xae\\\n\\xa8\\x1b\\x01\\xe8tS\\x0e\\xb4\\xaf\\xbd\\xe1\\xf7\\x94|\\x95x\\\n\\x8e1M\\x9e\\x1c\\xb2J\\xbc\\xf8\\x08\\xe6\\x19\\xe5\\xf7\\x07\\x92\\\n@\\xc5\\xf8\\x8c\\x22+5\\xea\\x8c\\x95\\xb8q\\xd2>'\\x82\\\n)\\xa4\\xdb\\x1e\\xc2-\\xb8y\\xd9\\x9e\\xae\\xb82\\xde.\\x12\\\n\\xf7\\xcf9<J\\x88\\xa8\\xc5\\xb3\\x8a\\x1e\\xd2\\xf7\\x96\\xbab\\\n\\xf1\\x1b \\xdc\\x17\\xe0\\xa42\\x22Yi\\xe6\\x8d\\x9eY\\x93\\\nWN\\xb4\\x81\\xd2\\xa2P7\\xad\\x00\\x0a\\x9f\\xe26n\\xd3\\\n\\xbc\\x0a\\x179c#E\\xd7=At\\x83\\xceF\\x15F\\\nL\\xd2 \\x87'\\x17\\xa2\\xba\\x8b\\xa5x\\xfd\\xd8\\xa5\\xd5F\\\n\\x85\\x9du0\\xdf\\xcdi<x\\xe1W\\x8a<\\x94V\\x84\\\n,\\x0ae\\xa7\\xa9E\\xc8I\\xca\\x9b)\\xf4\\x8d\\x8el9\\\n\\x94\\x87\\xfd\\x0e\\xfe\\xaaC\\xcc\\x0b0\\xc4pb\\xd9\\xda\\x0a\\\ny\\xf5K\\x0a&r\\xe9\\xf0\\xc5xt\\xa4wE`\\x85\\\n\\xef\\x16\\xe1xY^\\x01\\x02X\\xae \\xe6\\x16[(\\xb9\\\n,\\xd7\\x82f\\xa8\\xa5`\\xb6%\\x9bJ\\xfd\\x8bQ\\x8e,\\\nv+\\xe8\\xb0`\\x05sq\\x0a\\x1at\\x0a\\x9a\\xeai\\xa8\\\n\\x02-f\\xb2x\\xe1\\x11\\xdd\\x95\\x9e\\xd1{|\\xca:3\\\n;6{s&{\\xfd\\xd9\\xde^\\xde\\x97\\xcbP9t\\\n\\xe6\\xe9\\x22TI'\\xbeJ\\xf2P=\\xd9\\xefxP\\x13\\\n\\x1e\\x8d\\xc33\\xc7\\xd5\\x1b\\xc2\\xf3\\x9aoX\\xc9\\x10vQ\\\n#\\xcf\\xf41\\x0e\\x80'\\xea\\xbc\\xbd\\x02\\x19n\\xd3x\\x80\\\n \\xee\\xd0\\xed\\xe1\\xa5\\xd0\\xc4.:r\\x14\\xb9Q\\xd4O\\\n\\xaa\\xf6\\xd2\\x1eSo\\xafYcuE\\xbab\\x08G@\\\n>yyQ\\xd5\\x9f\\x85:\\xd6\\x04\\xd1\\x93g\\xb4M.\\\n\\xfd\\x0f\\xe1\\x90>\\x08\\xb0\\xac\\x8a?\\xb3\\x01\\x1a\\x0e\\x01\\xd9\\\n\\xec\\xf1J\\xfe(l\\x92\\xba\\xe7Ol\\xb3g-M\\x0d\\\nI.+\\x92\\x13\\xd8\\xbb\\xc4\\xaa\\xfc$@\\xd6\\x96\\xfb\\x96\\\n\\x16u\\x86\\xa0\\xf1\\xb8\\xf6\\xe5\\xaf\\xd87}\\xf5\\x1b(\\xc7\\\n\\xd8\\xb8h\\xb8a\\xf7\\x8a\\x02\\xb4Jay\\xd3>\\x22\\xd5\\\n\\x8fC\\x06\\x08\\x97!r\\xc2\\xc0\\xe7\\x97R/\\xc397\\\n\\xdcL=|\\xc4\\x90\\xda\\xa8\\xaf\\xc2\\xdeSK\\x8dUZ\\\n\\x99q\\x14\\xbb\\x22_\\x06\\xe1hC\\xc5\\xe5R\\x9fo\\x15\\\n\\xcb\\xb58P|\\x02\\x0c\\xecZ\\x16O\\x0f\\xd3\\x01l\\xd7\\\n\\xc0\\xd5,\\x17kK\\x81\\xc9\\x80\\xa91\\x1a\\x05N!B\\\n?\\xea\\xc6y\\xde\\x8d\\x08\\xbe\\xf4\\xec\\xb5Z\\xac\\x88\\xaa\\xa8\\\nw@~\\x94~\\xf5\\x17\\xd9|\\xe4\\x0c\\xb8&\\xe2\\x0c\\x99\\\n\\x88K\\x0bF!\\x5c\\xf2\\x92q\\x11\\xab\\x1e)\\xd2\\x9d\\xa6\\\n\\xef\\xa0~!\\xba\\x89*\\x92q\\xe9H\\x0aKQW\\xd1\\\n\\xf0)\\xae\\xe9a\\x7f^Wr\\x0c\\x0f\\xc0\\xc3x\\x00f\\\n;\\x91\\xfa\\xc0\\xa2\\x17\\xcf\\x09\\xb1\\xce\\xd8\\xea\\x12\\xa9&J\\\n\\x8fS\\xf9\\x81\\x9c\\x173j\\x9cO[Alm\\xe5\\xdc\\\n\\x0b\\xe7=\\x9b\\x95\\xe2\\xbc\\xe8\\xc2\\xd6\\x16\\x9dI\\x87=\\xae\\\nQ%\\xd3<M$\\xda\\xb1\\x8a\\xb6\\xeb\\xa9\\xa3\\xad\\xb1P\\\n\\xc9\\xbb\\xd5\\x9c\\xe1\\xc6\\xd6)H\\xcb\\xca\\x9e=\\xb7\\xee\\xa7\\\n^e&\\xbf\\x14\\x82\\xcd\\x8c\\xcfJ\\xdc\\xd0x8\\xe8\\x91\\\n\\xc7\\x9b\\xa4i8\\x8b\\xd3\\xe0\\xc5\\x0d\\x80\\xc7@\\x84\\xca\\xd5\\\n*\\x82Kq\\xc2H\\x91\\xa5Vg^q\\xb4|Z\\x8a\\\n\\xd4\\x19\\x22{\\x80b\\xc3\\xa7\\xfcl\\xd3WWI\\xd1\\xdb\\\n\\x92\\xe8!}\\xe8\\x08\\x038\\x01Xy\\xab\\xa8z\\xe2\\xaa\\\n\\xf7\\x95\\xd2\\x02P\\xf4\\xd4\\xd2\\x13\\x0c\\x09\\x19\\x05\\x9a\\xbaN\\\nbU;GCw\\xad\\xe6U\\xa3(\\xe1\\x8a\\x1f\\xeb\\x85\\\n\\xa3\\x04\\xaf.\\x1d\\xdd\\x11U\\x9fJ\\x10\\x0a@^\\xd4\\x22\\\nM\\x93\\x89\\xd4\\x81TV\\xdb\\x1b4q\\x05'\\x1a0'\\\n3\\xa2h\\x94\\x86a\\x16\\x13G(\\xcb\\xa8\\xb8\\xb2\\xf1\\x9d\\\nT\\xda\\xe9\\x8b\\xf2\\xf59\\xae\\x93\\x170\\xa2H\\xd6\\x18\\xd1\\\n\\xee\\xe8\\x11h\\x9a\\xd5!\\xdc]\\x16<\\xa1\\xc2\\x138\\x9e\\\n\\xb2\\xba\\xc18ET,1\\xa1I\\x9bA\\xcc\\xe4Qf\\\n\\xa0\\xe0Yb\\xfb#\\xe2/\\x90!\\xbaF\\x7fL\\x84\\xc0\\\n\\x8bS\\xa2x\\xa91`2\\x9d\\x08\\x1e\\xc3\\x90\\xe8\\xaa\\xbd\\\n\\xe9w\\xd0\\x00\\x08\\xe7\\xa8\\x88\\x88\\xc0\\x0a\\xb9\\xec\\xdbD\\x89\\\n\\x22`\\x84up\\xa51\\x93\\xf4\\x5c\\xd1+\\x16bZ\\x0e\\\n\\x9b\\xc2~S\\xbe\\x07}\\xa7\\x84\\xd6\\xdb0(\\x14\\x09\\xf2\\\nE\\x1cgA\\xb2\\xed~{'`\\xb3\\x1b'\\xd9\\xb7\\xae\\\n(Dw\\x05r+\\xf2\\x00\\xc5\\x97\\x96\\x82\\x86\\xc9\\x22p\\\n\\xc196^]\\xbb{\\xa1\\xba\\x8d\\xb9\\xef\\x03\\xf7\\xba\\xa6\\\n\\xa4.@\\xffT2\\x8b\\xedX\\xc4\\xed\\x0c\\x19\\x0f5\\xc2\\\n\\x8e\\x1e\\x87\\xacb;\\x169\\x06r\\xc8(r\\xc0I\\xec\\\n\\x11K\\x93\\x140\\xb4 \\x9bf\\xf6\\x96\\x09\\x07\\xd3\\xdcz\\\n\\x0a\\xb0:8\\xb7x\\xbe\\xe6\\xe8X\\xf0tL\\x90\\xbaP\\\n\\x0b\\xb0\\xa3\\xc8k\\xf5\\xabS)\\xd4\\xbdt,\\x08bG\\\n\\x0b\\xa5N\\xd5vM\\xd8J\\xeb\\x03\\xc57J\\xdd\\x834\\\n@\\x8e\\x85\\xad`E\\x9da\\xabH[R\\x05oS\\xf1\\\n&\\xac\\x1c>CJ\\xab\\xf6\\xc87\\x9b\\x00\\x04\\x86\\xf1J\\\n\\x19\\xf9y9*\\xb3\\xc1\\xf3\\xa9e\\x8c\\xc0\\xd5%\\xbbQ\\\n\\xf0\\xa2lq\\x08\\xe1\\x22\\xc5V\\x94J\\xa6\\x1aK\\x93\\xad\\\nQ\\x84\\x14ew--cS%\\xe7[\\xceA*\\x0c\\\n\\x17\\xcc\\x9cxi2+\\x96\\x10d\\xc6PJ\\x05e^\\\nIB\\x9d+\\xc2r\\xa3\\xfc\\x85\\xc6 \\x1fj\\xd0O,\\\n\\x1f\\x8e\\x99,G\\x0c\\x1d\\xe9\\x06\\xe0o\\xf7\\xe5.\\xd7W\\\na\\x16Ti\\x11\\xca\\x9c\\x14\\xc8\\xb5\\xfa\\xbfRFT\\x11\\\n\\xa2\\xaf\\xa8(\\xe9/\\xe4\\xf12,pl\\xf3LO\\xf8\\\n\\x00\\x84\\x1c\\x0ey|\\xc5!\\x951)\\x15\\x95\\xc7\\xc7?\\\n\\xfa\\xcc\\x1a\\xecDqa\\x14E\\x91\\x12\\xdd\\xe4G\\x01\\x18\\\ng\\xe0xq\\xe6\\xe1/4llj\\xd6\\x82\\x22\\xe3\\xca\\\n\\x0cR\\xf8\\x05Y\\xc7\\xaf^v\\x22\\x0a\\x1b\\xab\\xadm\\x03\\\nSk5\\xea\\x15\\x02#\\xbe\\x10\\xcc,\\x8a\\x07\\x14\\x9cn\\\n\\xc0\\xcc\\xa0!5\\xc2w\\xfc-\\xa8\\x0f\\xd7\\xb5!\\xd6\\xd3\\\n0=\\xf5\\x10\\xafdHC+\\xa7\\x7f`\\x08_\\xa4\\xbc\\\nLw\\x88\\x8e\\xab\\xa7\\x0d\\x0e&\\xa7\\x0d\\xe5\\x92\\xd3\\xce%\\\n\\xc3\\x1c\\xc8%\\x97\\x1b\\xe8\\x00s\\xb0C\\xb93zZ\\xc7\\\n\\x95\\x19]\\x11\\x88\\x95\\x19\\x86\\x0b\\xd1tZ\\xb6\\x9e\\xb6\\xb1\\\n\\x16\\xa3\\x9b\\xfbH\\x12\\xe69\\x8d\\x10\\xb8\\xb60B \\xe6\\\n\\xca\\xe4\\xca\\x00\\x22\\x90\\x92\\xf7\\xfd\\xc7\\x81\\xf2\\xe4\\xeaa \\\nL\\xe8\\x5c\\x81 T'8)|\\x0e\\xc4\\xac@\\x09&\\\n\\x9d\\x88\\xd2v\\x095\\xbaR5a\\x0a=\\x08\\xfc{\\xf2\\\n\\xe1\\x84Cr\\xb9\\x16\\xaa\\x94QH\\xe9\\x91\\x9d\\xa0\\xc3\\x0c\\\n\\xc81\\xbb\\xcf\\xd3p\\xe6\\x91\\xe3CR\\xb1f+\\xa5\\x82\\\n\\x05OK5W\\xa7\\x13\\x9d\\xe9\\x93\\xa9\\x08\\x9c\\x9a\\xe1T\\\n\\xc9p1*\\xe4E[$/\\xa4]\\xe7\\xb6u*z\\\n\\xf5\\xc6\\x15 ]\\x15\\xa2\\x9fSA\\x8bK\\x15D\\x82\\x85\\\n\\x88\\xce\\x91\\xccL\\x8a\\xcc<M\\x80\\x06\\x1d\\x0c\\xa5:\\xc6\\\n\\x88*\\x91\\x8b\\xa7\\xfaE'Z\\x0b)\\xa3\\xe3a\\x04\\x1d\\\nC\\x1ax\\x8ayl\\xe0h\\xc1\\xa8V\\x920$t\\x94\\\n\\xde\\xc4z\\xd1M5\\xb2\\x96\\x185A\\x16\\x11&y\\x11\\\n;\\x80\\xdf\\x88\\x00\\x8b(\\x91\\x22\\x9c\\xb3\\x11\\x14\\xc5T\\x1a\\\n\\xd3\\x03l\\x94\\x14\\xb1\\x13$!pG\\xb2\\x12M\\x8bB\\\n\\xf31\\xf1>\\x90~\\x0a\\xe2u\\xa1\\xd1z\\xac\\xc3\\x86\\xbb\\\n\\x0a\\x02\\xb0It\\xd0\\xc2\\xad\\x148\\xa64\\x1d\\xc5\\xdcn\\\n\\x80E\\x00n\\x05\\xf3\\xaa\\xf8Z0\\x7f\\xc2\\xc2\\x93\\xf4\\xb4\\\nC\\x16\\xa7w\\x1e\\xeecvefv2\\xec\\x0b~?\\\nFg\\xb0\\x98\\xe8\\x8d\\x00\\xd0mw,\\xad\\x19k\\x16k\\\nE\\x5cY\\x02\\x1e\\x05\\x05\\xab~\\xd2Azf\\xa3\\x11\\xdc\\\n\\x80q\\xa9T\\x8a\\x02\\x16F\\xa4d\\xcccA\\x9b\\x0d\\x1a\\\n\\xd5\\xa0\\xc9\\x80\\x89\\x88\\x13\\xc3\\x9a\\xc2K9\\x94X5j\\\n\\x02\\x18E\\xa4D\\xcc\\x89\\xa1]\\x0b\\xea\\x13\\xab\\x95\\xa0!\\\n@A(E\\xc1.\\xe0\\xc4\\xd6\\x22\\x93\\x05I&K\\x0a\\\n>\\x85\\xf0\\xcb\\xba\\x1ae\\xaev|c\\x13\\xef\\xcc\\xc3'\\\n\\xc5\\x9e#%\\xa9\\x8e\\xd1\\x01I{!\\xaf\\xfa\\xe2yc\\\nG(\\xa5\\xb6%\\xd4\\xe9\\xc6*\\x15\\x81\\x1e\\xd9l6<\\\nD\\x89\\xab.\\x86c\\xc2\\xa6\\x84\\xad\\xf9\\x97\\xf9\\xbd\\x089\\\n\\x06\\x99C\\xa5su\\xf1\\xf1b\\x03\\xad\\x19\\x14,\\xd4\\x91\\\n\\x17D\\x1e\\xa6\\xbc\\xb4\\x5cA\\xf9$\\xca}\\xc3\\xf3EI\\\n\\xcbt\\x5c\\xfd\\x96\\x19\\x19[\\xc0{\\xb9\\xf2|\\xb9Rn\\\n\\xa1\\xe2\\x8c\\x1e.\\xc4Z\\xa5\\xdfMFAv\\x94+j\\\nY4\\xb4\\xe0\\xa5-]\\x9e\\xac)g6\\xa4\\xf3\\xb0P\\\nY-\\x05xL\\x84\\xd8\\x94\\x88\\x06\\xf0\\xe5(S\\xbc;\\\nSRb\\x15I\\x08\\xedH%\\xf2y\\x95V\\x03O\\xb0\\\n\\x1a\\xa7\\x1a\\xe0\\xf1\\xa3\\xa3\\xe4\\xab\\xbb\\x89\\x17\\xb9oNO\\\n\\xb1Y'\\xb0\\x10e\\xcez\\x88{\\xd1U\\xa8\\xba\\xe5\\xa4\\\n\\x9b:\\xbc\\x97d\\xf8\\x17\\xe5\\xf2:\\xd6\\xdc\\xb6\\xf1\\xd9Q\\\ne\\xf2y\\xbf\\xf8ME\\xeb\\x88\\x99\\x0f0\\x8b\\xe0k3\\\n\\xf6\\x16\\x80\\x82\\x85\\xe8\\xb5\\x9b\\x1bw\\xbc\\x1e\\x0a\\x9b\\x0c1\\\n\\x8b\\x97\\x96R\\xa9\\x98,O?\\x8d\\x1b\\x07\\xeeP\\x9c\\xe7\\\nF\\x16\\xf5\\x14\\xa7\\xe5K\\x882\\xa5\\x9f\\xa5\\xf4\\xe4\\xd4\\xa1\\\n\\xbc\\xc7\\xf7CI\\x0f\\x9er{{\\xe5\\xa9\\xbbG\\x8fG\\\n\\xcbC<\\xec\\x8bS\\xb0\\xebi\\x95\\xe8UJ\\x7f\\xcc9\\\n\\xef\\x8c\\x0b\\x93~\\xb7\\xbc\\x84fW\\xf0.\\xf19\\xa9V\\\n(o\\xa1\\xe7R\\xe9\\x020>\\x8dz\\xb94\\xe7\\xa6\\x0a\\\n\\xa7]\\xf98\\x88#\\xb3v\\x17BF\\xad\\xfe\\xf6G\\xa7\\\n\\xad\\x06\\xd8\\x94\\xa1\\xa7\\xdddqj\\xda\\x0d\\x8bi\\x92\\xba\\\n\\xe8~\\x19b\\xe5\\xad\\x82\\xd2\\xab\\xb5I\\xf4x\\x1c\\x06l\\\n\\xb7\\x7f\\xc7L\\xa5~\\x9cs\\xa5\\xf9z\\xbf\\x07\\xc1\\xb5\\xa3\\\n&F\\x8c\\xefq\\x8dd9\\xad\\x5c\\xf8\\xe7i\\xa8d\\xfe\\\n\\x13[\\x19\\x0a&\\x8ficL\\x80\\xc9\\xe3\\x1e\\xb3}&\\\n#\\x9b\\xd8H%\\xe4<\\xa6\\x8d\\xa6,\\x94E=f\\x0b\\\n\\xcd\\xcd=\\xb1\\x85|\\x83:\\xae\\x99\\x97m\\x1a\\x08f\\xfc\\\nc6\\xd8\\xb2\\xc1\\xeam>\\x16\\x82\\xbe\\xa7'v\\xd8T\\\nu\\xb1wU\\xe6\\x8a\\x91\\xf5n\\xbb\\xc7\\xae\\xc8\\x8cv\\xb0\\\n\\x1bz\\xfb\\x9d\\x82:\\xd7\\x90\\xdd\\x9e\\xe9\\xa0X\\xda\\xb0?\\\nB\\xbe\\x1e)\\x87G\\x12\\x16u\\xa1@G\\x06DSe\\\nC\\xe0\\x04\\xd8\\xac\\x9f:\\x5cN\\xc6\\x89\\x96\\x19\\xcf\\x5c\\xbb\\\n\\xbb\\x1d\\xd9\\xc4\\xb7\\xa6\\xce\\x0c]\\xbb:\\xa4n\\xe3iW\\\n\\xb1\\xa8hJ6A\\xe8\\xb6E\\x82\\xc96\\xcbK\\xb5b\\\nE\\xcaO\\xf0X*\\xc6\\x033\\xa3f\\x0d^\\x88\\xe3\\xad\\\n\\xae\\x04\\x98\\xacxO\\x0e\\xe4^\\x82\\xe3\\xac\\xdbN\\xb3\\x19\\\n\\x88fc\\x16\\x9f\\xd5\\xca\\xc0\\x187f4^\\xacT\\xf0\\\n\\x02<n\\xbd\\xc9\\xb5\\xcf%r\\x07\\xa2\\xfbQkP\\x9b\\\n6\\x10z~\\xa8U\\x8b\\xe1\\xd8\\xdbr\\xbc2znb\\\nzf\\xf2\\xfa5\\xdf\\x19\\xc8\\x9e\\xcb\\x0e9^\\xf2\\xdbl\\\nofbvv\\xf2\\xda33\\xda;|\\xcbm\\xd2H\\\n\\xf4\\x1a8\\xdc\\xd2\\xd4c\\xe0\\xe8r\\xbb\\x89\\xbe\\x12B\\xab\\\n\\x0fA\\xa3\\x81\\xdb9\\x19\\xaf\\x90!ieN\\xbam\\xa0\\\n\\xd8\\xe9\\xfa\\xda\\x88x\\x18K\\xa5\\x85\\xfd\\xd1\\x85\\xc0w\\xd4\\\n+\\xc6\\xe2\\x92\\x80A\\xd6%\\x8a\\xadVC\\x06e\\xedE\\\n\\xe6d\\x8e\\xac\\x04T\\xa9<=2..)5\\x1f\\x8a\\\n\\xebs.8}\\x10\\xd9\\x87e\\xfa\\x1c|\\xa0\\x17\\xde\\x13\\\n\\xa2B\\x15\\xde2\\x939\\x0d\\xd9\\xe8\\xe6l\\xfdNP\\x1b\\\nu\\x9c\\xbc(\\x9eV\\xdd\\xc0('\\x95\\x02>B\\x5c\\x01\\\n\\x0bKz\\xa81f\\x5c\\x02\\x87\\x09s\\xe5\\xc2(e\\xa0\\\nKE\\x1e\\x1d\\xbdd\\xa7\\xaa]7\\xcf+\\x97\\x16\\x9d\\xf1\\\n\\xadC\\xb1\\x81\\x1e\\xc5B\\x18\\x94\\x1bzT\\xc5\\xf7\\xec\\xf8\\\n\\xd4pD\\xf7\\x9fd)>j\\x1b\\x85\\x8bN\\x1f\\x01\\x15\\\n\\x8ffQ!\\xf2\\xc2i\\x91\\x0eI\\xf9\\xb0\\xc7,\\xcf\\x0b\\\n5\\xc7\\xcd\\xe7P}$\\xea\\xf1\\xd6V\\xbf\\x1e\\x01\\x1c\\x99\\\n#c\\x80\\xbb\\x1bM\\x1a\\xff\\xbc\\xb5IPC\\x9fQa\\\n\\x1f\\xfe\\xedS\\xb9\\xa3\\x16\\xb6\\xbd8\\x22\\x98N\\xa3K\\xc1\\\nbq\\xb5\\xd2j\\xfa\\x80\\x1bH%\\xc2\\x07\\xe8\\x88R\\xa3\\\n\\x84\\xd9\\xf8\\x12-zZ\\xa7\\x0a\\x88\\xa9P!:\\x024\\\nEI\\xac\\x0c\\x0d\\x12\\xc1\\x94`\\xf9\\x85\\xfa\\xcaFh)\\\n\\x8f\\xe2=\\xd4\\xcb K\\x07\\xf8\\x11Y\\xd1\\xf30\\xab\\x1f\\\n+\\xd3\\x14\\x98=W\\x10(\\x8cO\\xc1zX#\\xe5<\\\nb\\x1e\\x18\\xd8\\xf5j\\xa5\\xd6t\\xcar\\xaa1rk\\x0b\\\n\\xff\\x0a\\xc48E\\xc9>74\\xb56H6\\xa6\\xfa\\xcf\\\n\\x9f\\x1f&:vZ\\x9e\\xf3N\\xb9\\xd2\\x15N\\xd8\\x1dW\\\n\\xd7\\xa0P]w\\xb1\\x13sd\\xed\\x03\\x9b-\\xbezT\\\n\\xaaE\\xb5bkK<)D\\xe8\\xc2\\x96\\x8b\\xfa\\x82n\\\n\\xa9rQ\\x02=\\x81(\\x97\\xc8\\x1e\\xa0\\xd7\\xef\\xca\\xae\\x8b\\\n\\xf4\\xa8g\\xe5R\\xdf)\\xdf9\\xd5g_\\xffiU\\xc4\\\n\\xed;\\x05=3\\xb44h\\xee\\xcc\\xe5\\x99FgO\\xd4\\\n!JF\\xcd\\x0cXb\\x09\\xbdRY\\xd0\\xb2LZ\\xbc\\\n\\x09N\\xb3\\x09\\x80\\x9d)\\x82\\x22\\x8d?+\\x8b\\xca\\x91\\xc9\\\n\\xe7(\\x8b0\\x10\\xdd\\xa3\\xf2D\\xbdT9,}\\xfd\\xea\\\nj\\x1d\\xfaI%D'\\xf5E\\xaf\\xb2\\x09\\xcb\\x91\\x08\\x91\\\n\\xbc\\xb67d\\xb7G\\xd1\\x88\\x0b\\x85\\xc5\\xb2\\x02\\xfa\\x85\\x8e\\\n\\xd5<\\xad\\x18s;\\x8b\\xe5i\\xfd\\x8cO\\x8d\\xcd\\xccH\\\n\\xdc\\x14.W1go/\\xc53\\x8aF\\xd1\\xaer\\x85\\\nT$\\x0b\\x12\\xc0\\x03\\x8c\\xb5\\xeaU\\x183\\xb5\\xd5d\\xd5\\\n-\\xb1\\x00>;\\xf1\\xbc\\x84\\xef\\x5c\\x9f\\xbe\\x8c\\x97\\x867\\\nP\\xc63y\\x0d\\xfeNOLQ\\xc4\\x04\\x06\\xc6\\xa7\\xae\\\n\\xcfL\\xe0}\\xc3\\xcdk\\xe3\\xb3(Z\\xb8vmb\\x1a\\\n~\\x9f\\x1b\\x9f\\xb86\\x0b_\\x05a\\xf5\\x01\\xa0\\x93u\\xda\\\n\\xc2\\x88\\x82\\x8c\\x0a\\x03QK\\x9d\\xab\\xff\\xf2|F\\xb6*\\\n\\xe3\\xf4\\xa9L.U\\x0c\\xe8\\xa0\\x22\\xe4\\x92\\xab\\xd6\\xef\\x22\\\n\\xd7B\\xef$`\\xb1\\x9b\\x80\\xc8\\xb9\\xbdH\\xc4'\\x7f\\xd2\\\npmk\\x99\\xac\\xb7\\xe2\\xcbZmbdls\\xce\\xcc\\\nW\\xd0\\x06\\x13!K\\x93\\xb7,\\x8f\\xcb\\xac\\xfc\\xd6\\xc8\\xa2\\\nN\\xacPF&\\xc2\\xc6$R\\x14-\\xa6Y_\\xad\\x91\\\ns\\xa8\\xf4)\\x9a\\xa7\\x04\\xe4\\x12\\xe5B\\x04\\x11hf!\\\n\\xb2\\x11\\x9e\\x08t\\x94F?\\x1d\\xa1\\x89\\x05\\x14\\x16\\xc9V\\\n}1%\\xd1\\x9b~b\\xa6\\x00\\xc3W\\xa9\\xe9\\xf4\\x5c\\xa6\\\n\\xaf\\xe0\\x8e\\xa6\\xd9\\xdb\\xd4-\\xfc\\xeds\\xdd\\xea\\xeaWN\\\nC\\x0apF\\x13\\xeb+\\xd9\\xaf\\x0clm\\xe1.\\x95\\xee\\\n?\\xdd?\\xfc\\x94\\x8a\\x1ct\\xa1\\x1b\\xa41\\x98\\x1e\\xe4\\x06\\\n\\x15\\xb2\\xa3\\xb9>aR\\xa1\\xcf\\x09\\xaaN\\xde>\\x1b\\xd4\\\n\\xb8\\xc2h\\xa7\\xc4|\\xe2:\\x8c\\xc6F\\x15\\xc9o:\\x19\\\n\\xc0\\xc2\\x0c\\xea\\xa7-5\\x8a+\\xcb\\xe5\\x05'\\x8fk\\xe1\\\n\\xb9\\xb1\\xe9\\xc9\\xb1k\\xb3\\xd9\\x99\\xf1\\xe9\\xc9\\x1b\\xb3^,\\\nWf\\xbe^)\\xe9Y/]\\x9f\\xba\\xace\\x87\\x1cb\\\n\\x0f\\xd3\\xb2]\\xbb>}ul\\xca\\xc8\\x92\\x00N\\xe6B\\\n\\xcc*\\xb7\\xf4\\xe4\\xc9\\xd9\\xb1\\xa9\\xc9\\xf1\\xa8G\\xd4O\\xc6\\\n\\xde\\xd1\\xdcrw\\xd0HYe\\xb4/\\xed\\x9d\\xc8L\\xd9\\\n\\xe6J\\xa5\\xdcJ\\x931\\x0b\\x9bf\\x5c\\xcd\\x17\\x19\\x91\\x03\\\nZ\\x00\\xe6\\x04Ug\\xc6Z\\xe9\\x1c\\xf1p\\xb5\\x0b\\xfe\\xd0\\\n\\xd0\\xc0\\xf9\\xa1\\xad\\xad\\xa1s\\x83g\\xce\\x5c\\xf0k\\xf8:\\\n\\xb9v\\xb1\\x7f\\xe0,l,\\x17\\x06\\x07z{\\xfbQK\\\n\\xa8\\x06\\xbf\\x83\\xe2\\xf7<\\xfe\\xb8!L\\xdf\\xe9}b\\xdd\\\n\\xe9\\xabEvX\\xfa\\xcf\\x22\\x8e\\xdc\\x5c\\x01b>^l\\\n\\x92\\x9f\\x9d\\x11G\\xa8\\x93\\x93\\xc9p\\x7f\\xd3\\xe9\\x05\\xaeN\\\n\\x98\\xda\\xf0\\x80!\\xc9\\x0b\\x03\\x1b\\x1e\\xb2A\\xc2\\xac\\x86\\x07\\\nk\\x01>qTF\\x9c\\xf6\\x5cXYad\\x01\\xd9\\xd6\\\n\\xb0\\xee\\x85\\xc8\\xe2M\\xb9\\xaf\\xff\\x82T\\xbco5\\x8a\\xe5\\\n\\xca\\x0c>\\xdd^*\\xb6\\x02\\x0f5\\x87n\\xc02k\\x85\\\n\\x03\\xd1\\xd7o\\x0cEf\\xe8\\xec\\xe0@\\xae/]\\xcb\\xe0\\\nh\\x9c\\xbdp\\xa1?\\xe7\\xf6\\x9d\\x1d\\x1a\\x1a<;bv\\\n4\\x84vL\\x87=V\\x19\\x9a\\xa8\\x87\\xf9\\x10me\\x00\\\n\\x1de5E\\xc4\\x85\\x9c!\\xe9\\x92*f\\xe9\\xb8S\\x00\\\n\\xbe\\x977-\\xef$\\xf1\\xf9\\x98WX\\xf2\\xe26j\\xd8\\\n\\x8e\\x11j\\x03\\xa1EHf\\xc8\\xc7\\xb0\\xa8+L\\x92\\xc9\\\n@!\\x1b\\xe5\\x9c\\xa8\\xc1\\xf8 V\\x86LA- \\xd7\\\nK\\x11#\\x9eS\\x9c\\x882\\xe0\\xc3x\\xd9\\x8b\\xfd\\xdeI\\\nN!\\x9e~\\x96\\x90g\\x87\\xa85\\xa3xt\\x80Y\\xa5\\\n&P\\x00-\\xc2\\xe6\\x89HA\\xe0\\x1fr\\xa6\\xe8tn\\\n\\x004=\\x197/\\xcc\\x01E\\x1d\\x92\\x87,\\xcb\\xe9\\xaa\\\nC\\xb5\\xf8p\\x98\\x81\\xd8\\x14\\xc3\\x81\\xfa\\xd8XF\\xedU\\\n\\x92\\xe1O\\xc1?*\\x8a\\xd6C\\x22\\xa0<\\xf5\\xb4L\\x96\\\n\\xe91\\x00\\x17B$\\xba(O\\x96\\xc0'O4\\x17\\x8a\\\n+A\\x09\\xd0\\xcd7\\xd1/\\xdaE\\xe6z/\\x5c,\\xc0\\\n\\x86\\x95\\xb6\\xfa\\x9c\\xddd\\xf4\\x81S\\x8d\\x88\\x98\\xb4Io\\\n\\xb6\\xd0\\x06n\\xcdl\\xfa)jz4\\x0c\\xa9@bj\\\n\\xc2\\xee\\xcc\\x06\\x0c6\\xe6\\x8b\\xa7\\xfa\\xb4>\\xe0\\xc1(\\xca\\\n\\x910T\\x17N\\xf3\\x81hw8\\x1f\\x9f\\xe8\\x18\\xa6h\\\n\\x03\\xbe\\xb9_]\\xe9RH\\xa0\\xad\\xaa\\x11\\xe60\\x85\\x10\\\nMz\\xdeYAC\\x90\\x98\\xd3A\\xe0\\x8e\\xe6X\\x85\\xe7\\\n\\x9b\\xe7\\xf9V\\xe4\\x1c\\x1f#/\\x90\\xda\\xfc\\xda\\xc2WG\\\n\\xde\\x98h\\xe0\\x04\\xeb\\xb2\\xb7\\xf7\\xb8\\x85\\x19\\xce\\x87\\x131\\\n\\xf1_\\xd8$\\xac\\xa2l\\x1e\\x85\\x98\\x8f3\\x0f\\x1eJy\\\n\\xcc\\xe1\\xc5\\xb8\\xc2\\x08\\xfe\\xed\\xed%)P\\x9c\\xbf\\xa7h\\\n\\x8d]\\xee\\xed\\xed\\xa1Hz\\xdf.\\x1f\\x85\\x0a\\xe6\\x05\\xf8\\\n9\\xb2\\xb1\\xe4H|q\\xec\\x93J\\xfd0\\xa6\\xd5\\x9e\\x13\\\n;k\\xe0\\x89\\x9bOw\\x03T\\xc8\\x88\\xbb\\x81J\\x05q\\\n\\xba\\xfe\\xb7E,9\\xd9]b\\xd51C$\\xdb&N\\\n\\xcf\\xfd=\\xbe\\x9f\\xb4\\xfd\\x86\\xc2\\xa3*\\xf9<d\\xcd\\xd7\\\nJ\\xd8F\\xc0\\xe8\\x90\\xd8\\x22\\x84\\xccIY\\x07\\x19p;\\\n\\x81\\x09\\x99\\x1ed\\xcc\\x9a]t\\x5c\\x1ad\\xa5\\x908\\xa9\\\nX\\xc8\\xb8\\x8c\\x8a,\\x04\\xcaJ\\x00t\\xb9\\xb5\\xf1X\\xb5\\\n\\xc0~\\x93X\\x93\\xda\\xb6\\x81\\x01|a}p\\xa1'\\x93\\\nI\\x85\\x99U\\x1b`\\xbc2\\x19H\\x0d\\xc2\\xc9\\x86\\xad\\xe5\\\n\\xf3\\xf4W\\x01&p\\xc7\\xdeV\\xe0U\\x01\\xf2\\x95\\x0b\\xcb\\\n\\xf5\\xf2B`\\xbd\\xaf\\x10\\xf8\\x17e\\xea\\xbaqb\\x15\\x8e\\\n\\xd7\\x1bh\\xdd8>\\xbdt\\xaf\\xca\\x1a\\xa8_\\x1a\\x08'\\\n+\\x8e*&[\\xa6\\x15BA\\x7f\\x96\\xdf#te\\xa5\\\n3l+Z\\xd0\\xa0\\x8b\\x03\\xba|\\x10\\xef\\xbe\\xe5c'\\\n\\xf9$|b\\xea\\x86o\\xb7\\x19\\xebo\\xca\\x97ay)\\\n\\xebo{\\xa8[uszJ\\x93\\xff5[\\xe5u2\\\nj+L\\xcd{\\xc2K\\xac\\x84Ho\\xba\\xc8\\xd8\\xb3\\xf7\\\n\\xec\\xc4\\xed\\x91\\xe4{\\x18, \\xb4\\xf5l\\xf3C\\x10|\\\n\\xbbu#\\xf94\\x94~\\xb2O\\xa3\\xb7%\\xac\\xaa\\x9b\\xcc\\\n\\x90\\xad-)\\xae\\xb8\\xe7\\xa1\\xe7.0\\xd0\\xf3\\xe5Z \\\n.\\x85\\xd2NdjW\\xf9\\x0d\\xc03x\\xf8\\x82\\x8f\\xf4\\\n\\x1b\\xf2\\x9b\\xca\\x9ez\\xde!\\xa1\\x8d\\xe3\\xa1\\x01\\xf5\\xbcC\\\n\\xaa\\xd0d\\xba,\\xf4\\x08\\x80^\\x03(\\x06X\\xb8\\xf3\\xa4\\\n\\xf1\\xacy\\x1bP\\x1e\\x22\\x94#\\x80\\xc1\\x95u\\xb4\\x8d\\x80\\\n\\x9e\\x00\\x22\\x87\\x01\\xfdA55\\x80&\\xdd\\xad\\xfe\\x05.\\\n\\xd3?\\xc7\\xa3\\x88\\xbc3\\x0f\\x8c\\xe6\\x1d\\x08\\xad6\\x9a\\x18\\\n\\x94\\x12H\\xe5\\xd1`\\xb1X-W6\\x1ct\\xa5CO\\\nk3\\xe4\\xebG\\xf3v@\\xbe\\x19T\\x94\\x10\\x0f85\\\n|eRQ\\x8dG/\\xef58\\xee\\xe7d\\x98\\x1e\\x93\\\n\\xe3\\xdb\\x0bG\\xbaa\\xf2\\x1c\\xf2\\xaf\\x10zK\\x08\\x8b\\x03\\\nFCw3\\xb8^P\\xb2\\xc3R\\xd6`\\x00\\x12\\xe3\\xd7\\\n\\x1a\\xc5\\x15-r\\x19\\xb8\\xe0\\x8c\\xb8\\x9b\\xc9;\\x94\\xea-\\\n\\xa2\\x91\\xb1\\xb0\\xfe\\x97\\xa9\\x91\\xebN~ \\xd7\\xef)\\xb7\\\n\\x1d\\xe8\\xbfl\\xb5\\x89]\\x1cB\\x93\\xf0Nf\\x8d\\xcc\\xc1\\\nd\\x92\\x92\\xab\\xf5\\x97\\x13\\xd3\\xee\\xa0\\xfd\\xc1\\xa4T\\x18\\xd4\\\nLs\\xb9X\\x82-&\\xef\\xe4`J\\xfb\\xf1\\xcf\\x00\\xfe\\\nyb8\\x87\\xff\\xd3j\\xef&\\xb3hK79U\\xcb\\\n\\x8e\\xcf+^\\x96\\xe6\\x9d\\x95F}\\xa9\\x5c\\xca_\\x16*\\\n\\x9e\\xb3j6\\xb3W\\xcb\\x0b\\x8dz\\xb3\\xbe\\xd8\\xca\\x96\\x1a\\\n\\xf5\\x15\\x01-}}q\\xf1y\\x7f\\xc0K\\xc1\\xefm\\xfc\\\n\\x1dG\\xb4\\xf3O-5\\x8a\\x1b\\xa7\\xbc\\x94xd{7\\\n\\xf0O\\xa1?\\xb4S.\\x10\\x11}\\xf1d\\xe3.\\x17\\xf2\\\n\\x9b\\x80\\xf1\\x880\\xca\\x89\\x97Qd\\x5c\\x98\\xfd\\xc4|\\xa6\\\n\\xbf\\x8d\\xae<wt\\xe7x#t\\xe1\\x82\\xab-G\\xd3\\\nh\\xf1\\xf8\\xa1\\xad\\xe7\\xc1\\x5c\\xe2\\xa2\\x9c\\xa0\\x7f\\xf1\\xae\\x90\\\n\\xa9ON?\\x22\\x7f\\x0c\\xad\\xfa\\x0a\\xfa\\x8fA\\x90\\x0d\\xac\\\nS\\x05\\xd4J^A\\x91\\x0c\\xd2\\x8a\\x047&\\xaaK\\x03\\\n\\xd0%\\x80Y.\\xa5\\x9e\\x18\\x1b\\x1bs,\\xd8?\\xdc\\x19\\\n\\xfb\\x87;`\\xffpG\\xec\\x17\\xa9:\\xa195^_\\\nm\\x94\\x83F\\xeaZ\\xb0v\\xca\\x93\\x01c\\x9a\\x06\\xce`\\\nAI\\xc0\\x9ex:\\x87\\xff\\xb3\\x8f\\x1dy\\x96s\\x98+\\\n\\x17\\xe5\\xc3\\xc56\\x09\\xd4\\xfdp\\xa6\\xb3Cj`\\xfe\\x0b\\\n\\xc6D\\xa3\\x87\\xb9\\x08%!5\\x95K\\x9d\\x85<\\xd6\\xee\\\n\\xe6\\x97\\xe9H\\x91\\xdf\\x94cC\\x84\\xaf\\xa7\\x5cE\\xebK\\\n(\\x9b\\xb7M\\xfa\\xf8\\xf88\\xcb\\xd1\\x01\\xac\\x1aK\\xeb\\xd8\\\nu\\x0d%O>\\x1e\\xe2\\x8b\\x18\\xb8\\xa1\\x11\\xe46\\xa4)\\\n\\xfa\\x98\\x15h\\xf9\\x92\\x1ay\\x9d\\xcb\\xf5j\\x11\\x8f\\x0d|\\\n\\xef\\x0dU/\\x00\\x840\\x9e\\x8c\\xd6a\\x08 &\\xc4\\xc0\\\nI\\x07tq\\xd7G\\xe4t\\x8e6\\xfdedrL\\x9f\\\nG\\xaa\\x9c\\xcd\\xdb\\x91\\xd0m\\xb4:;\\xa2\\x86\\x84n\\x8e\\\nd_^4\\xbap\\x9c\\xf3\\xa3\\x04\\xedI\\xf2\\xd4co\\\n\\x8d\\x22\\x85\\x9a\\x93 \\x80\\xb3\\x22|Lq-\\xe8\\xa7\\xe4\\\n\\xe7Sh\\x97\\xa9H\\xc6gf\\x84\\xf1\\x99Jy\\xbeQ\\\nll\\x08\\xbb5\\xe4\\xcc\\xa0)L\\x91\\x01Q]\\xae7\\\n\\xc8\\xf4RY\\xea\\xdar\\x8bLh\\x9eF\\x98\\x92(7\\\nR\\xe8\\x0a\\x02\\x0b5\\xb3\\xa9\\xd4\\x18V\\x80\\xb6\\xcb\\x82\\x86\\\nGf)Ju4\\x9fV\\x0b\\x84\\xc1\\x99R\\x1d-\\xed\\\n\\xb5\\x94\\xf9\\xa7j\\xf1\\x8e\\xb4\\x99\\xb3\\x5c\\x5cY\\x09jY\\\n\\xd9\\xe3\\xb0\\x0fR'\\x1b\\xf5\\x80\\x9eR\\xdfO\\xe5C\\xf3\\\n\\x15\\xc0\\x11\\xdc\\x11\\x8d\\x11\\x96M\\x85\\x0e\\xbb4V\\xd0\\x94\\\n-\\x17&\\xa8\\xce\\xf6y)i5!5\\x08\\xdf\\xc2\\xc8\\\nc*\\x97\\x1d\\x80\\x80\\xb0'\\x96\\xc2O\\xb2k\\x96:\\x9f\\\n=\\xdbG\\xafM\\xaa\\x80`\\xf0\\x07\\xf5UC\\xb8\\xb1V\\\nJ\\x95u\\x1afRhcM\\x04\\xfc\\xc2!1\\xedx\\\n@\\xe7\\x03i+\\x1b\\x87m\\x9aL\\xd3.\\x08\\xd3\\x1d\\xc0\\\n\\x93\\xceNO\\xa9\\x10>3\\xdf0\\xcda\\x15I\\x13[\\\n\\x18\\xcaB\\xe5!\\x0dS\\x94\\x872\\xb1\\x8beh/\\xa4\\\n\\xbdLbZ\\xd8\\xee\\x19\\xa9\\x0e\\x89m\\xe7\\xaf\\x92\\x9fR\\\n\\xa8\\x80\\x13\\x08\\xb5\\xd1\\xc33\\xb2@\\x06\\xac\\xc0j\\x85\\xcc\\\n\\xbe\\xd1\\x0b\\xab\\x14\\xaa\\x9f\\xae\\xae\\x901$\\xbc\\xefN\\xf5\\\n\\x02\\x22\\x00\\x87\\x9fJ\\x17#\\x93r\\xa8\\xb4\\x93*\\x03w\\\n\\xaf\\xbd\\xcd-\\xb6\\xdc\\xd882\\xad\\xaf\\xa7\\xd4\\xf7S\\xa9\\\n%\\xe0!DS\\x16\\xc4\\xc3\\xcb\\x14Q\\xac\\xd0\\x1aZ}\\\n\\x91\\x19B[]X\\xc6W\\xbf\\xd8X\\xdcP0\\xd1\\xb0\\\n&\\xe6\\xd1\\xbc\\x8a\\x91C+-\\xe5fU\\x18TC\\xf4\\\n\\x94\\x16\\xc6\\xa2\\xa91\\x9b\\x18j\\xceA\\x13\\xd5\\xf7S)\\\n\\xe0eE\\x0b\\x9bd2\\x85\\xa0Wd\\xaai\\xad\\x8d\\x06\\\n\\x0b\\x87\\x83\\xdc\\xadSc\\xa4\\xe9\\x97\\x94d\\xc4E\\xadz\\\n\\xbd\\xf2\\x15\\xae@1\\x0c\\x00\\x8aM.R\\x9d\\xc5F\\x00\\\n\\xcb\\xe7.\\x02(\\x95\\x17\\x17\\xcb\\x0b\\xc0\\xe3o\\xd0\\x1a\\xc4\\\n(\\xb4\\x02#{\\xe3EVe0\\xb6V\\x01\\xfc\\x08\\xd0\\\nZ\\x1b\\xf4\\x1c\\x09\\xa2\\xec\\x01E\\xcd\\x13w\\x1e\\xeb~\\xf4\\\n\\x02\\x80\\x1e\\x04<\\xa5\\xbd\\x08\\xe0\\x0b\\x13\\xcd\\xd4 cF\\\ncN\\x16qp\\xad\\x8a\\xa5*\\xec1K*\\xd1\\x0c\\xe9\\\n\\x00G\\xf1\\xa2\\x84[!\\xa3\\x888\\x9cw\\xcb\\xcdU\\x82\\\n\\x03;Q\\x11\\xd6q)\\xd66\\xf2\\xc1\\x82\\x8d\\xa2\\x0f\\xb3\\\n1\\xf8|l!h\\x90\\x05\\x1c\\xacIxcI\\x95\\x09\\\n?6h\\x10\\xd1\\x0e\\x0eT\\x01\\xb3\\x05\\x8bn\\x03\\x8d\\xf4\\\n\\xa1\\xfd\\x1a4\\xed=\\x92\\xaaC\\xae\\xc6Z\\x19N\\x988\\\n:!D }\\x19\\x94E\\x96\\x048$\\x80\\x15 \\x9c\\\n\\xabK\\xcb\\xd2\\xf6\\x1e=p.y)R\\xee\\xc7\\xd6\\x87\\\nu\\x88\\xfa\\x09Rs\\x05\\xc9#\\xac#\\x14^J\\xc5r\\\n\\x00u\\x0bpxu\\x09\\xf0\\xa1\\xa5\\x8a\\x11\\xd9\\x84\\xc1\\x98\\\n\\xa3\\x97N\\x04\\xa1\\x90~\\xb2\\x1fV\\x92:\\x9f+\\xc4\\xf9\\\n\\xfc\\x8e\\xe1b\\xfb\\x8d\\xee\\xf9\\x8dv\\xbd\\x98\\xcf7\\xbe\\x17\\\nv\\xe9\\xed-\\xdc0\\xe7\\xb4\\x1dS\\x98\\xc2\\x97\\xa1\\x82r\\\n\\xffFhj\\xf7\\xfa6\\xa7\\xdc\\xbe\\x15\\xdc\\x0e\\x8e\\xdf\\x10\\\n\\xc0\\xf1~\\xdf(\\x97rX%\\x1b(\\x1d\\xbda\\xd2\\x7f\\\n\\xb5\\x9f7j\\x9e\\xc5\\xcd\\x1b\\x8b\\xb7yyc\\xc9\\x8f\\xe7\\\n\\xe4\\x8d\\x00X}\\xbc1\\xd0q\\x8fj\\xacX\\xf7\\x1e\\xde\\\n\\x18\\xc4\\x04\\x07ofk>Oc\\xa4w7\\x86\\xd41\\\n\\xae\\x92\\xd2\\x8e\\xf3\\xe8\\xa62\\x85\\xbe\\xdc\\xc2\\x08\\x09\\xfc\\xf3\\\n\\xf9o\\x8b\\xd6\\xe1\\x17\\xe2\\xbe\\x8du\\xf71\\x1c\\xb71\\x15\\\nd<5\\xfc\\x13\\xf5\\xad#:\\xf18\\x1a\\xd7\\xba\\x07\\xad\\\n\\x93\\xeb\\x5cG\\x0erm6\\xa3\\xdc\\x98C^\\x14/\\xc7\\\nt\\x0a\\xd2D_\\xc9\\x81\\x9a!j\\x853}#@C\\\n\\x0f\\x1b\\xf9\\x18\\xa40\\xa9\\xcf9Me\\xc3n].7\\\n\\xe2\\xd9y\\xaa*!\\x94\\xb0\\xf3\\x9b\\xb3\\xc5\\xa5\\x99r\\x09\\\n\\x882\\x09\\x18\\x1c\\x0f\\xc2\\x93$\\xcb\\xcb;\\xb9\\xec0R\\\n\\x93\\xab\\xc0GL\\xc1)\\xee\\x96\\x10b\\x0e\\xa3M\\x08\\xc5\\\nJ\\x5c[\\xad\\xceC\\xb3\\xf3\\x9b\\xb8\\xc7\\x8b\\x80\\x92\\xb7\\x09\\\n\\xe6N\\xc6En\\xb9C\\xa9y\\xad-\\xb3@\\x8d\\x96t\\\n'\\xed\\xf4\\xd5\\xd0@\\x95\\xca6y\\xd9\\x96\\xab\\xfa\\xd2z\\\n&\\xf8j-\\xe3\\xf4\\xc9\\x0b\\x81\\x9a\\xe6\\xf0\\x06\\xf5\\xc0^\\\n\\xc4\\x15-`\\xa0\\xc9\\xcf\\xe8\\x96\\xbdDW\\x91a\\x830\\\n\\xd0\\xe7<\\xe1\\xf4\\xd1%ypsz\\x12\\xd1\\x08\\xfaR\\\nC\\xddQ\\x80\\x01\\xfb\\x02\\xf9\\xa4\\x9e,5\\xf1A`\\x1b\\\nM\\xca\\x06\\xad\\x09c(\\xb8\\xeb\\xaa\\xb6\\x1d\\x0b\\xc2\\x85!\\\nTqO\\xc3\\x89\\xc0I\\xc8\\xa9\\xcb\\xfd\\xa5\\xe6\\xbc.\\xe0\\\n\\x9f\\x9dx\\x9e\\xccd#\\xaa\\x87\\xce\\xd2\\xbck\\x97fn\\\n\\xf8\\xce\\xdf~\\xe4x/23\\x9d\\xa5\\xb0\\xb7V;g\\\n\\xca\\xa6\\xa5-\\x117Y\\xc2\\x9cr\\xa9@\\x0f8\\x16\\x8a\\\n\\xad\\xf4\\x5cA<g\\x13\\xce\\xbbC\\xbf\\xde^?\\x19\\x0b\\\n\\x95\\x9e\\xd7C\\xa4\\xbf>\\xff\\x12\\xa0mVF\\x03\\xab2\\\n6\\xfe\\xac\\x99\\x18y&\\xd7\\xfd\\xb9\\x07\\xb5\\xbb\\x1e\\xed\\x9f\\\n\\xf2\\x5c\\xbfT\\xa9\\xcf\\x17+\\xfef\\xb99\\x89\\xb1yJ\\\nk{\\xe1\\x85\\x94?G\\xe0\\xe9\\xb5\\x1c\\x19\\xdaM\\xb3b\\\nn\\xc1\\x03xx\\xf3\\xca\\xaf\\xe6 \\xca\\x87\\xff\\xa4\\x22$\\\n\\x86\\xcc\\xe4\\xb6wc\\xb5\\xb9l\\xea\\x7f\\x97\\xbd\\xaa\\xb0\\xbd\\\n\\x0b\\xbb\\x8c\\xf2\\xe1\\xe1U\\xfdp4\\xcc\\x0bW\\xd4\\xdb\\x82\\\n\\xecQ\\x06\\xd4\\xfa\\x95\\x91\\x82\\xc3\\xab-\\xa0nc\\xf8&\\\n\\x02\\x1aJ\\x05\\xa2\\x1eU\\xab\\x15\\xa1%\\xe2R\\xcdj4\\\nX\\x17\\xbd4\\xeey=\\xe6\\xad\\xafT;\\x85\\x0d\\x16(\\\n\\xfa\\x02:\\xbe\\x9c\\x84\\xf2\\x12\\x16\\xab\\x9bfH\\x5c\\x0d\\xdf\\\n\\xc0\\xbcbL\\xb0\\xf7\\x12E\\xc8!\\x1bT\\x119L\\x83\\\n\\x00o}\\xd8X+\\x94\\xb4Y\\xd4U\\xca\\xbf\\xd1\\x054\\\n5J\\xf4\\x0f\\xa7\\x85\\xb4\\x82\\xf0\\x22\\x97b\\xf0\\x989\\x01\\\n\\xb1\\xbaB\\xb9\\x9a9W}X\\xcd\\xf2\\xa5\\x15LT\\xe7\\\n\\xf6UV\\xe1\\x0a,\\x9c{\\x95G\\xea\\xda\\xc9P\\x98\\x1b\\\nP\\xa1\\xbe\\x12\\xc3\\x04\\x9c%\\xd6\\x0b\\xec\\xb3\\xba\\x88&\\x08\\\n\\xe5\\xe6\\xf5\\x15|6!\\xb9\\x02\\x05\\xd5\\x82q\\xear\\x9a\\\nM\\x17\\xa4\\xe7\\x81\\x9d\\xc4Bmo\\x96\\xd7\\xce\\xa8*\\xe9\\\n\\x19\\xd4\\xd0\\xb7\\xa9\\xdf\\xefz&\\xb8\\x0b\\xb5Q\\xcc\\x917\\\n\\x14\\x11X\\x8eL\\xad\\x00]k\\x04w\\x19\\xf4:tU\\\njr\\x00NE-R]\\xa3\\x0c\\xa3\\x90&A\\xca\\x8f\\\n\\xc8\\x92_\\x1e\\xa3\\x08\\x03P\\xf9SPj>v\\xa1r\\\n/\\xf0\\x0fs/\\xd4R)v\\xf7\\x1e\\xea\\x0f\\xa8\\x0b\\xf7\\\n\\x02]!\\x87\\xe8%VE\\x16\\xd18\\x99\\x96\\x90\\xcfK\\\n\\x07\\xd7\\x12\\xec]\\xb5\\x12\\xf9\\x09\\xcc\\x93\\xdf\\xf7F\\x11g\\\n\\xe4j\\xb9\\x89N\\xc3\\x95\\xfb-\\x8aO\\xa1W\\xac\\xd4|\\\n\\x03\\xb6\\x12\\x14^TE\\x96\\x14y\\x94\\x12\\xd1\\xc0oP\\\nH\\x03G0$<\\x04\\x1d\\x82c\\x059\\xbc\\xa8\\x16\\x00\\\nG\\x9b\\xb0\\x02'\\x81 \\xc3K\\x10\\xa6\\xc5\\x0e\\xad\\xe2S\\\n/\\xbc\\x80\\xec;\\xc2\\x0a\\xa8\\x82\\x17^\\x10{x\\xc1\\xd3\\\nI\\xa7\\xa4\\x98\\x02\\xf7\\x14\\xd1CdC\\xee\\x8b\\x11\\xcc\\x82\\\n}\\x91\\x87d\\xca\\x8d\\x93?}\\xc5\\xb2R\\x14\\xa9\\x17\\xd5\\\n\\x97\\x0b\\xbf;\\x8f\\x16K\\xdb\\x03\\xca\\x86\\xe6\\xa9\\xd96-\\\n\\xd5Zp\\x0b_\\x08\\xa6\\xf1\\x19\\xa4\\x86\\xeb\\xd1\\xdb\\xaf0\\\n+\\xb9\\xa4\\xd0T>B\\xea\\xa7\\x80\\x88g9\\x0d8\\x94\\\n\\xc9\\x1d\\x0f\\xb6\\xcc0\\xb7|\\xb0\\x1f>N\\xdaT_\\xb8\\\n\\xed\\xc3\\x12t\\xf3|ch{!\\x1d\\xcd\\x1b*|\\xf8\\\n\\xd8\\x86\\xa4\\xf5\\xcaN\\xb58}\\xea\\xd3!\\x0cX\\xafJ\\\n\\xc2!\\xfb\\x0f\\x94N\\x9f\\x1b\\xd7s\\x16\\x82J%\\x19\\x12\\\n\\xd5FI(r'\\xa7,Rq\\xb2\\xa7\\x1f\\xdf*d\\\n\\x09\\xad\\xd2\\x84V\\xc4\\x1f\\x95\\x04*\\x89o\\xb2\\xf3\\x1d\\x9a\\\n\\xd2.\\x84\\x8a{\\x92j\\x11R\\xabG6\\xaa\\xfa>\\xe9\\\no\\xb3\\xd0\\xdb\\x1b\\xc1O\\xc8\\xe2z=\\x12\\xd4\\xb5zk\\\n\\x06\\xd79\\x9c;\\xa2\\xdd\\x80\\xd2\\x94\\x1e\\x89\\x07}o{\\\n8\\x05\\xd1x\\x96\\x82E\\xa6\\x18\\xae\\x1e\\x0f\\xb9\\xe8\\x8e\\xd1\\\nJ\\xe1\\xd5c\\x1d|\\x0c$\\x08;C\\xb8ND(\\x15\\\n*\\xaa\\xf59sq24BD\\x88H\\xd0\\x88\\xc1`\\\n\\xb0\\xed\\xd9$<\\x94\\x0e\\xe3K\\x13\\x85&\\x1a\\xf5\\x05*\\\n\\x99\\x12\\xb1\\x9afn\\xde\\x98\\x98\\x8eX)\\xf7\\xffg\\xef\\\nM\\xba\\xdbH\\x92\\x06\\xc1\\xbfBEV1\\x11B\\x00\\x04\\\n\\xc0U\\x80B|\\x14\\x97\\xa4\\xba\\xb45I\\xa5\\xf2+\\x08\\\n\\x95\\x8d%(D\\x09\\x08\\xa0\\x00P\\xa4\\x12D\\xbf\\x9e\\xcb\\\n\\xfc\\x85y}\\xeb\\xdb\\xdcg\\xe6\\xd0\\xe7>\\xcf\\xaf\\xe8_\\\n2\\xb6\\xf9\\x16\\x0bHeVu\\xcf\\xbc7\\x95%\\x22\\xdc\\\n\\xdd\\xdc|77777\\xab\\x22,\\xf3Wto\\x11\\\n\\xd8\\xec\\x0f\\xff\\xac\\x99\\x81\\x9a\\xb2N\\xa6\\xce\\xd49ty\\\n\\x09g\\xea\\xa97\\x82\\x99\\x9a\\xe8RLuh\\xce\\xf8\\x0e\\\nA\\xaebak;\\x03\\xea\\x12\\xc8\\x9cb\\xdb\\x90\\x06\\x18\\\n\\xa9\\xe1\\x9a\\xbc\\x13\\x22\\xa8\\xa6\\x1f\\x11\\xd7?\\x91\\x98\\xaf[\\\n\\xc7\\x04\\xea\\xf4\\xa1\\x98\\x9a\\x1d\\x8f\\xdc\\x95\\xab\\xa7\\x9a\\xdb\\xc5\\\n\\x96\\x82[\\x09\\xc2\\xc6y\\xe8\\x1f\\xeak\\xaa\\xd5\\x9a\\x0e\\xe3\\\nZ\\x17\\xf5\\xf6t\\x16\\x8f\\xd7\\xe5\\xa6t\\xef\\xc1\\xd9\\xa5\\xb4\\\n,\\xd3Jv4\\xd1\\xda\\xa2\\xb7;u\\x98mC\\xdb\\xc8\\\nk\\x13i07]v\\xfc2ZP\\x7f:\\x91\\x80'\\\n\\x95\\xb5\\xed\\xa0%D\\xe9\\xf9H\\xb5[7#EI\\xd4\\\n\\x9eM2\\x89\\xf8~\\xcc\\xdat\\x01\\x10Ny|k\\x06\\\n\\x13\\x09\\xb3r@\\x8d\\x1d\\xcc#\\x80I\\xa1\\xc1iy6\\\n\\x99]\\xdeL-T\\xd6\\x94\\xbc&T\\x1a3\\xe1\\xe8\\x15\\\n\\xe1\\xe8\\xad\\xc3\\xd1\\xd3\\x18\\x1e\\x1a5ZK\\xf6|\\xbe\\xbf\\\ng}\\x097\\x0e\\xce\\xa8cw\\xdb9\\xe4!\\xa1\\xc9\\x81\\\nO&\\x1aj\\xdc\\x95\\xb0\\xf10w\\x1c\\x1b\\x81\\x95\\xcdo\\\n\\xda$?T\\xbb\\xb1\\x8dY\\xac\\xe6X\\x0f\\xd2x\\xfa:\\\n{\\x85\\xb5If\\xe6\\x8c\\xaa\\x8e\\x9b#0/G\\xc9\\xf5\\\n#t;\\xf4Z\\xfa,hR\\xd2\\x90\\xf6\\xcc\\xd2\\xa4S\\\nW\\xa7\\x89&\\x86K\\xdf\\xb9\\xa43\\xfb'\\xd9\\x01R3\\\n\\x80>\\xa7\\xb2\\x8f\\xb6\\x9d\\x96\\xa1\\x8c;\\xcbZ\\xb9\\xb3\\x9f\\\nL\\xbf\\xaf\\xa1\\xa8d\\x8c\\xd6\\xd0\\x076D\\xe4}\\xfa\\xc4\\\n\\x09\\x05\\x93( V\\xbd\\x90\\xc1\\xb1\\xd9\\x8d\\xa3q/\\xfe\\\n|3\\xb9\\x99\\x7f\\x98G\\xef\\xae\\xd1\\x92\\x90\\x8a\\xa0\\x9b\\x13\\\n8)\\xa6X\\x8f\\xc0\\xe69\\x0c\\x8d\\xa5)r\\x0d3\\x9d\\\n{\\x17\\x18\\xa6 \\xcd0\\x99\\x03\\x89\\x19b\\xf8\\xd3\\xff\\x92\\\nD\\xf8\\x9e\\x14\\xc9.1G:.\\x05\\xe2\\x07\\x8c{2\\\n\\xd5O\\xdb\\x89~\\xfa\\x92w\\x11\\xdd\\xe1\\x9c<A\\xfd\\xf3\\\n9\\x9a\\x0b\\xc2za[I\\xe3\\xef\\x0c\\xcdR\\x18\\x04\\x98\\\n\\x18X8\\x80R\\xb9\\x13\\x077\\x01\\xa6W\\xbfw'X\\\nw\\x96\\xc2QQ\\xfc\\x0b\\xf4\\x15>\\x98\\xd9X\\xcb\\xceX\\\nS\\x86n\\x05\\x8a\\xa7\\x0c+U\\x99Mx\\x80\\xfd\\xd1\\xf4\\\nJ^v;\\xc6\\xb3\\x8b\\x90*uz9\\x95\\xb3\\x8a:\\\n\\xbb\\x8c\\xf5iF\\x9d^\\x1e\\x22\\x5c\\x0c\\xb7\\x86\\x9b\\xa1!\\\n\\xc1\\xd1\\x90\\x95H\\x15tg\\x8b\\x22#\\x98\\xf2G\\xf9\\x1d\\\n\\xaa\\xcf\\x9a\\xfe\\x12\\xc9\\xaa\\xb5\\xc6\\xa4\\xc7|\\xcf\\xc1\\xd3\\x8b\\\n>\\xc7\\xeb\\x98\\x1fJ\\xb7;\\xfe\\xa1\\x8e\\x82\\x93n\\x8ap\\\n\\xebe\\xa6H6~\\xbb\\xeb\\xf54\\xf9\\xfa\\xb2;8%\\\nC\\xc9\\x9f>Q\\x99\\xcb?\\xd7W\\xe8\\x8d(\\x12\\x7fD\\\n\\x9f>A`\\xf9\\xe7\\xc6\\xca\\x0b4\\x12g\\x05\\xcb\\x09s\\\np\\xa8\\xccq\\xcc\\xa3\\xb6\\x8a\\xeb\\x98\\xce\\xe4\\x94\\x80EI\\\n\\xfa\\xf0\\xd5\\x5c\\xcb\\x9a\\xfa\\xcdR\\x96\\x9b\\xcd\\xb4@\\xe6\\x1c\\\n\\xb7\\xc2\\x9c\\x97\\xa9\\xdau\\xbb\\xda\\xaa\\xb2\\x8f\\x1f\\xfb\\xd4\\xe0\\\n\\x03\\xca5C\\x86#P\\xc4|\\xb1\\xab\\xecu|2*\\\n\\xda\\xaeeJ\\x9f8\\xa4\\xf2\\xf7Q\\x91\\x96C`\\xf9\\xba\\\n\\xac\\xf8L\\xcc\\x8f\\xa1\\xe8nFQ\\xdbb\\xb2\\xe6\\xf2\\x9a\\\n\\xea&r\\x0d\\xbb) \\xeb\\x1b\\xed\\x1eIS'[\\x1c\\\n\\xe8\\x97\\x93\\xbb3\\xda6\\xd5\\xc0\\xf7&\\xacm\\x81\\x1b\\x8d\\\n=\\xf2\\xa9\\x13\\xa9\\xd9k(\\xc1\\xf0\\xf3\\xe2_V3\\x02\\\n\\xe2P\\x16(,)5xM\\xe9y\\xdd\\x8b\\xa8\\xcb\\x07\\\n\\xc4\\x07\\xbbB\\xd9\\xfe\\xa3;F\\x91\\x1b\\x0c\\x81\\x00L\\xe1\\\nt\\xcb\\xa1A\\xf0\\x95\\xef!U\\xea*w\\xab\\xe8\\xb0\\x8b\\\n\\xd5\\xe1d\\x16\\xff6I\\x16\\xa6\\xd8v\\xcezA\\xe2\\xca\\\n\\xed\\xcb\\xe3V\\x88 \\xf90>\\xff\\x8c\\x13H\\x97D\\xfc\\\n\\xc5\\x83J\\xe9\\x0e\\xd5b\\xc9m\\xf3I=\\xa048\\xa1\\\n\\xa3X3Wf\\xc5.\\xdb\\x95d\\x0a\\x18D\\xfd\\x0d\\x9c\\\n\\xc0\\xd8\\xa4\\x0c\\xaf\\xe3\\xd1H\\x87\\xf2\\x8f\\xd0\\x05\\x22\\xad\\xc7\\\nO5O\\xd9\\x06\\xb4N\\x80\\x06\\xe84Y\\xcc\\xbe9k\\\n\\x10\\xa8\\x0fE*\\xb9w\\x7f\\x14ug\\xd0r\\xf4\\xf2Z\\\noY\\xe8/\\xd6f\\x83\\xf0\\x05p\\xc6\\xb9H\\x14\\xc0\\x15\\\n\\xf6S\\x16\\xa4\\xc5\\xde\\xc0\\xf1@0\\x8a\\xbeFrPU\\\n\\xbd^\\xb5R\\x9c\\x17e\\xb9\\x00\\x0e\\x99`/\\xf2)2\\\nA\\x916\\x9dPx\\xe8\\x0d\\xf0\\x8e\\xb2\\x8aC#\\xa7\\xc4\\\n\\xdb\\xc8V\\xf1PZi\\x83\\xee|\\x88O\\x97\\xf9\\xd7\\x03\\\nRH*\\xba\\xcdLv\\xe1\\xcb\\x86\\xdd\\xf9\\x19\\xe1\\x80\\xd9\\\n\\xe56\\x00f\\x0c2|s\\xc5\\xdeg\\x12\\xc2\\xfchs\\\n\\x87\\x88\\x97\\x99\\xa5\\x0d\\xfc\\xeb\\x93\\xa9\\x07\\xba\\xdc\\x04fN\\\nw\\x05\\xf0\\x198=\\xec\\xc5\\xae\\x9e\\xc8\\xda\\x15\\xd6&/\\\n`%Pey;`|a\\x98\\xaa^\\x7f2\\xba\\x19\\\n\\x93*\\xf7\\x1cNe\\x5c&L\\xc0|`Ui\\x0d\\x89\\\n\\x1e\\xa0\\xa1[D\\xa38D7\\xf7\\xd6Hr\\xa7Y\\xe4\\\n\\xde\\xae\\xba\\x05\\xd7\\xb4\\xbe\\xf1=\\xd2Z\\xde8L\\xf3\\x5c\\\n\\xf9,0B\\xe6l\\x17\\xbc\\xbaYIJ\\xd8\\xfe\\x02\\x91\\\n\\x8b\\xa1\\xb4\\xad\\x1c\\xcaOy_\\x924\\xc7P\\x7fG\\xc6\\\n\\xa3\\xa4.m\\xac\\xda\\x1fc\\xbe\\xd5:M_\\x02\\x8d\\x17\\\n\\x03Y$\\x83\\xdc\\x8d\\xb4e(\\x96\\x99\\xc65\\xb5:(\\\n\\x9e\\xcc\\x05\\x94\\x10\\x01O\\x04z\\xce\\x10\\x0a#\\xe9[$\\\n\\xaf\\x9d\\xc1U\\xa9w\\xc2\\xac\\xe0;\\x07[*|\\xa8\\xde\\\n\\x1d\\x09\\x7f\\xafN\\xd6(\\x22\\xa7\\xdb8\\x80\\xcf\\xbb-P\\\n\\x94\\x97\\xfa\\x03\\xe8T\\xb67f\\xd2\\x1b\\xb3\\x96H\\xab\\xf9\\\n\\xa6\\x1c%\\xf6\\xdb\\xaa\\xaaX\\x8a\\xae\\xa9\\x8eQ\\x8f\\xecM\\\nE\\xf0\\x8e\\x00f\\x91\\xc2I\\xaac\\xd1\\x00\\x0d\\x11\\x19\\x0a\\\n\\xa4\\xaa;K\\xf7>`\\xb0Z\\xa5\\xeaL\\xa4\\xd3\\xaeu\\\n\\xa9\\xe0\\xce\\xd4\\xd4Q\\x09\\x98\\x0bI\\xb5\\x22\\xc48yP\\\nub^R\\x1b\\x0d\\x85\\x9a\\xae\\xef\\xaa\\xfc\\xd5\\xcc\\xdd\\xb7\\\n\\x96H\\xb1\\x0d\\x94\\xad\\x8d-\\xbf\\xc5\\x11\\x5c=m~\\x8c\\\nzC\\x08m\\xc9\\xa2El\\xd0\\xa77Y,&c\\x98\\\nN\\x9cwj.h\\xb3T\\x92A\\x8c\\xd9\\x9e\\xa6]\\xde\\\n\\xf3Li\\x95z!\\xc1EU;\\xa6R+\\xd5tT\\\n\\xa7\\xe6W^F\\xc4\\x8fq\\xd9f\\x0b\\x98\\xddp\\x8c-\\\n\\xacG\\xcb\\xa7d\\xf3\\x9c\\xd9\\xe0 \\x83=\\xb2\\x16s\\x8a\\\n\\x08)\\xa3n\\xf0\\x0a\\x86OvU{\\xf0~\\xcf\\xe5\\xb3\\\n\\xbd\\xd1\\xca\\xadsJ\\xa4\\x1b\\x8dF\\xeb$\\xbax\\x0bT\\\nt\\xa6p\\xe9k:+\\x0a\\xf2\\x02\\xc3\\xef\\x223v4\\\n\\x18\\xac\\xbf\\x95[\\x7f\\xadG\\xf3\\xc5\\xad\\xfe\\xf5:\\x0e\\xff\\\n\\xfa\\x01\\xde\\xde\\x11\\xa6Y\\xcc\\x15]p\\xc9mV\\x8dl\\\n\\xd8\\x01\\xa6\\x0c'F\\x0d|\\xe2H/\\x9f8\\xb2?\\xa1\\\n\\xfdY\\x89\\xb1\\xe6\\xc6\\xf4cz\\xb1?\\xc0\\xd6\\x1e\\xfd5\\\n9\\x9d3\\x83$!:\\xdc\\x81\\x81+\\x04R7\\x1a\\xc5\\\n\\xc8\\xc7\\x94\\xd4V\\x89)\\xf8\\x5c\\xf8\\xcd;\\xa4\\x14\\xedZ\\\nP\\x0b\\xea\\xf0\\x9f\\xfa\\x0b\\xffup{b\\xbb\\x06\\xca\\xde\\\n\\x98\\xe7\\xaf\\xa9\\xfe*/\\x85\\xaa?)\\x99\\x87\\xdf%\\xef\\\n\\x87\\xbbFm\\xaf\\x8e6\\x93x\\xb7W\\xc8\\xc9J\\x93\\xb2\\\nLV}\\xfb\\xee\\xed\\xe9\\xea;ES\\xf9\\xcc\\xb531\\\n\\x80+Z33 u\\xcd\\xd4\\x90N\\x0e\\xfa\\xad?*\\\n\\xbc\\xde\\xdct\\xc6\\x99\\xb5j\\x95\\x99\\xb0\\xf1\\xe4~\\x1c\\xdf\\\n\\x8f\\xc9\\xab\\xdb\\x9f\\xd0\\xe26\\xda\\xa9)\\xf5\\xc3Rz\\x80\\\n\\xfd\\xaac\\xd4\\xd2\\xd7\\x9b\\xd7\\x13\\x1c8[\\xac\\x8c\\x180\\\n\\xce\\xd6\\xe9(\\x01J\\xa7_Pw\\xb4;m\\xf7]\\xfb\\\nL\\x1d\\x9f\\xd8c%\\xd3\\xae\\x19C\\x01%\\x16\\xfbU\\xd1\\\n\\xee\\xfb\\xb1d)\\xf5Q8\\x82\\x19\\x8e\\xf0\\x09\\xcd\\xa0d\\\n\\xa0\\xbd\\xff\\xfb\\xbfz\\xa2)\\xe47K\\xe9S*\\xef\\xce\\\n\\xd0\\xe4\\x92\\xf7\\xdf\\xff\\xf7\\xffj&\\x07?ZF\\xfa\\xd2\\\nVY\\xec\\xfb\\xab\\xb5S\\xe8\\xe2\\xf4\\xb5\\x9aA~v\\x1a\\\nps\\xc3\\xe5\\xc1\\xee\\xb3F\\xf3`\\xaf\\xd6\\x08\\xe0k\\x07\\\n\\xbf\\xb6\\xf1k\\x0f\\xbe\\x1a\\x10\\xb7\\xb7\\x8b_\\xbb\\xdb\\xf8u\\\n\\x80_\\xbb\\xf0\\xb5W\\xc3\\xaf\\x9d\\xe0`\\xbf\\x0ey\\xf7\\xeb\\\n\\xdb\\xf8\\xb5\\x8b_{\\xf0\\xb5\\xfd\\x0c\\xbevj\\xf0\\xb5S\\\n\\xc7/\\xc0\\xb2\\xbf\\x07\\x98\\xf7\\xf7\\x9e\\x05\\xf5\\xc6\\x1e\\x7f\\x1c\\\n\\xec\\xefc\\xe2>&\\xeeo\\xe3\\xd7.~a\\xea\\xfe>\\\n|\\x1d@\\xea\\x01 \\xde\\xc3\\xdf\\x1a ;\\xa8\\xd1W#\\\n\\xc0\\xc2\\x0f\\xea;\\xc1^\\x03\\x7fw1e\\x07\\xbf\\xf6\\xf0\\\nk\\x17\\xbf \\xffA\\x1d*{\\xd0\\xc0|\\xf5g\\xf8U\\\n\\x87\\xaf\\x06\\xe6h\\xec\\xe0\\xd76~a^\\xac\\xcf\\xc1v\\\n\\x03\\xbf\\xf6\\xf1\\x0b\\x9ar\\xb0\\x8d\\xf8\\xb6\\x11\\xdf6\\xe2\\xdb\\\nF|\\xdb\\x88\\x0f\\x1bu\\x80\\xcd;\\xd8A|{\\x98w\\\n\\x1f\\xe1\\xf6\\x113\\xd6\\xfb\\x00\\xdb\\x02\\xb5\\xc7/\\xcc\\xbb\\xff\\\n\\x0c1C\\xdeg\\x0d\\x8ck<\\xc3/\\x8c\\xdb\\xc1\\xafm\\\n\\xc4\\xb7[\\xc3/\\xc4w\\xd0\\xc0/\\x84;\\xd8\\xc6/\\x84\\\n;\\x80\\xba<\\xa3r\\x0fv\\xf1\\x0b\\xe0\\xf6kP\\xd3\\xfd\\\n\\xda\\xc1\\xca\\x1a\\xd0\\xc1d1_\\xb3\\xb01\\xd9{@E\\\n\\xe21\\x8b\\xd9\\x90\\x7fV\\xba_\\x08\\x7f0\\xc2\\xcf\\x96\\xa2\\\n\\xfek\\x96z\\x8a\\x18\\x8bB\\x13\\x1b+t\\x00\\x15mN\\\n\\x13\\xe0\\x16\\x03\\xc3\\x06\\xe3\\xcc\\xf5\\x97\\xaf\\xdenn\\xe6'\\\n\\xc12\\x00\\x1ad\\xea\\xda\\xc7O}\\x04\\xc1\\x80\\x96\\x94\\xb5\\\n\\xc4X\\xe5\\xc9\\xe9Y\\xb8tv\\xe5\\xf9\\xac\\x1f\\x0c\\xe6\\x8b\\\n \\xc1\\x87\\x09\\xb3\\x8c\\x16\\xc4\\x1c\\x8dg\\xc3\\xdf\\x90\\xb5\\x03\\\n\\x00\\xda\\x87\\x7f\\xf9Z\\x11\\xde\\x84\\x14\\xa3`\\x8f\\x14\\xf3\\x89\\\n\\x00\\xc9\\xc6VE'\\xb3$\\x11p\\x84\\xcc\\xc0B\\x19l\\\n1\\xd5SU\\xcb\\xa4\\x1dj\\x18\\xf9\\x80N\\xff0G7\\\n\\xa0\\x5cy\\xae)\\xe9e\\xa8\\x82\\xf8\\x8c\\x0c\\x0dVE\\x07\\\n\\x02\\x11\\xa8\\xb0\\xb4[_\\xee@\\xfa\\x8a\\xe6\\xdf\\xc5\\xd5\\x87\\\n\\xf7i7\\xb0\\xc5\\xa6\\xa8Q\\x81\\xfcU2G\\x1f\\xf0\\xdc\\\n\\xcd\\xc1\\x92M\\x0f4\\xb7\\xda\\xdd\\xcao\\x9d\\xad8\\x18\\xc4\\\n\\x9f\\xe3\\x05\\x04k\\x95g\\xd5\\xceV\\x90\\xb0\\xee2\\xec\\x0b\\\n\\x87M\\x8c\\xeb\\x94\\xe1\\xe3\\xd32\\xf8\\xb4\\xa2\\xd0r{\\xe5\\\n?\\xc5\\x98*\\x05\\x9f\\xfaO\\xef\\xe5\\xb3\\xeco\\x05\\xf3i\\\n\\xd4\\x8f\\xbb\\xa3\\xe6\\xd2\\xfb\\xf4\\xc9k*_\\x81\\x97p\\xc6\\\n\\x15\\xeb\\xe5K\\x88\\x15\\xfd\\xb0\\x15\\x02\\x88\\xb6\\xc2\\x7f\\x84\\xef\\\n\\xabxDn?\\xff\\x06\\xdf\\x97\\xd6\\xadp\\xf0+\\x86\\xd5\\\n\\x0do\\xe0\\xa1e\\xb7\\xcb)\\x9fv?-\\xec\\xc0\\xcc\\x0e\\\n$V\\xe0G\\x0f}\\xc1\\xd1\\xad\\xbe\\xf7g\\x8f\\xfd\\xce\\xd1\\\n\\xebQ2(F\\x87\\x19\\xf8\\xfe\\x01\\xbe\\xcf\\xbbs|\\x10\\\n\\xf8\\xdf\\xfe\\x8b\\x95\\xfb\\xbf\\xff\\xa7\\xff\\xac\\xf3\\xa3\\xfa3P\\\nq\\xb4F\\x89\\xcf\\xb5\\x1b\\xf5\\x06\\xbe\\xb9\\xe2\\xcf}\\xf8\\xfc\\\n\\x0f\\xf4@\\xbe~\\x00\\x80lT\\xa5;\\xab\\x8d\\xe3\\xe6\\xb2\\\n;\\x9a\\x0e\\xbbM\\xaf\\xb6\\xfd\\xb2\\xee\\x05\\xbdh\\xc1\\xdf\\x90\\\n\\xf9sw<\\xe6\\xc0\\xb6\\x877$\\x92\\xb2\\xe3\\x05\\xd1t\\\n\\x1e\\x8fP3\\xbe\\xb6}\\xb6\\xeb\\x05\\xbf\\xa9L{\\x90$\\\n\\x9f\\xfb(\\xd9U\\x81\\x03\\xe0r'\\xf2\\xfd\\xcc\\x0b\\xbe\\x00\\\ns\\xc2\\x81#/\\x18u\\xc7\\xbd\\x01\\x87^z\\xc1\\xf8\\x86\\\n\\xbe\\x8e\\xd1@\\x14}\\x9dx\\xc1]L_\\xa7^0\\x19\\\n\\xa3\\xb5\\x03*\\xf7\\xe5\\x99\\x17L)\\xe1\\xb8\\xe6\\x05\\xb3\\xe1\\\n\\x84>\\xa1\\x05\\xf3\\xf83\\xd7\\xfax\\x1b\\x9f\\xe0\\x12\\x96c\\\n\\xa8\\xf3\\x8d\\xa9\\xf31\\xd4y:\\xa4\\xcc'\\xbbH\\x0a\\x19\\\n\\x0fT\\x19`\\xe8\\xf3\\x00\\xcb\\x8a>3\\x1e\\xa81,o\\\n\\xab\\xcd/w)F\\xb7\\xef\\xa4Na\\xae\\xce\\xc9\\x1e\\x05\\\n\\xa4Fg\\x9cd*\\xd5`P)\\x12`/\\x9bm\\xaf\\\nV;\\x82\\xc2\\x97\\x96\\xf1\\xd7\\x1ck\\x9f\\xabN\\xd0\\x1dE\\\n\\xd3!\\xc07\\xea\\xdb\\xbb\\x8f\\x81\\x1f\\xf6\\xba3\\x02\\xaf\\x9d\\\n\\x91_P\\xe7\\xe2\\x1eXUD\\x00\\xf5\\xa8oC-\\xff\\\n.\\x81\\xc66T\\x05\\xa82L\\x96z\\x1d\\xba\\xf0vJ\\\n\\x18`\\xde<\\xa2\\xc0\\x8b\\x88\\x81\\x8f\\x1f\\x03\\xfcj\\xcc\\xc0\\\n\\xf5\\xc7\\x00O\\xa1\\xbfq\\xf9B\\x8eF\\xad\\xf1\\x98\\x1cq\\\nr\\xbd\\xf8F\\xf0\\xf5\\xd3G\\x95\\x80\\xab\\x08\\xe1k\\xdb\\x0f\\\n\\xe3\\x0f2\\x9d\\x19\\x8d\\xa7\\x8boxi@5|\\xd4\\xf0\\\n$p2\\xee2\\xfc\\xa3\\x86\\x1f\\xadO \\xf4\\xd1\\xcec\\\n\\xa0{\\x13\\xae\\xcb\\xd1\\xa3\\xea\\xd2M>\\x8f\\xa8\\xf5P\\x99\\\nG\\xd5\\x05\\xd3$\\xcb.\\x12\\x88GT\\x08\\x8e\\xb8s\\xd8\\\n\\x95\\x87<({\\xbf\\xa3\\x93a\\xab\\xed\\x8ed\\x12<\\xaa\\\n\\x9a\\xd1]<_\\xcc9\\xc3\\xa3*\\x99D\\x9fyA>\\\nj\\x0a\\x8f\\x12\\xea\\xe4\\xc7\\x82_\\x8f\\xba4&{{'\\\n\\x8f\\x9b\\x1f\\xb0\\xbf\\xf2\\x9c\\xdf\\xdb{\\xd4\\x1c\\x9e\\x03Q\\x9f\\\n2\\xfc\\xd9c\\xe0\\xfb#\\xd4\\xb4\\x8a\\xa5R\\x8f\\xea\\xa0A\\\n\\xdc\\x1dO\\x92\\x81\\xc9\\xf5\\xa8\\xc58\\x8c`\\xfd\\x9a<\\x8f\\\nZ\\xf2p\\xd2\\x1fD&\\xcfc\\xc6\\xdb\\xde\\xda&\\xcd\\xe5\\\n\\xfcf6\\xa0\\xfd\\xef\\x08\\xdfWMg\\x93\\x01O=D\\\n\\x95\\x7fNz\\xf7>0\\x87E\\x9es\\xbd\\xf8\\xf3\\xd7\\x88\\\n\\x97\\x06\\xee/\\xdf\\x95\\xf16\\x1a|\\x96\\xac\\xdf[\\xe6\\xcd\\\nttC\\x13\\xf7\\xa8\\xb6\\xf3\\x9dY\\xfb]\\xa6\\x13\\xb8\\xd9\\\n|_\\xc6\\x1b\\xc9\\xb8\\xfd=\\x19\\xe3\\x84\\x09M\\xe3\\xe5\\x9a\\\n\\x5c\\x0c'\\x04l-\\xa4\\x8b?p,LJ\\x81\\xba\\xc4\\\n\\xe3\\x07J4\\x90'\\xeb!\\xf5\\xdc\\xa0\\x9d\\xf2\\xd1M\\x9f\\\n\\xdf\\x8cyF}\\xef\\xc4\\x98,P\\xa3\\x8e\\x87\\xf7{G\\\nibf\\xc6w\\x17;\\xe0M\\xe1\\xa8\\xf6]\\xd3q\\xa2\\\n\\xbb\\xf1t}7B\\x11\\xf3\\x7f\\xc8,:\\xaa\\xed}W\\\nW\\x8e\\xe9\\x1d\\xbd5\\x95\\xc8\\x0c\\x02\\xcc\\x98'uk\\xbf\\\na#n\\x8d]\\xe2\\xee$NL1\\xc1>\\x04\\xac\\x1a\\\nTA\\xc5C=ds\\xb2\\x22\\xe99<F\\xc3\\x8c\\xe0\\\n\\xe5\\x89\\xe5\\xed##\\x9a\\x0c\\xd47.x\\xfc\\x04\\xa6\\x87\\\nl\\xfa\\xf0'\\xae+\\xfc|\\x86\\x06\\x9f\\xf8\\x13\\x08\\xcb`\\\n\\xd0Egr\\xc8\\x5c7`<\\xac\\x10\\xf41\\xf4\\x06g\\\nz\\xb6M\\x01\\xce\\xf6\\x8c\\xf8Q\\x1cE\\x08\\x1c@\\x9fv\\\n\\xa1\\xf1\\x9f!p\\xb4}\\xe6)\\x0a\\x8bi\\xc8\\xb8\\xf6n\\\nFp.\\x222\\x06\\x05\\xdfRmvj\\x08\\xf6\\x15\\xd8\\\n\\xb5\\xda\\x19TW\\x0dk\\xe3\\xd9\\xb3t\\xbfM\\xcc\\x8e\\xfb\\\n\\xec \\x93\\xa8ga\\xe3\\xd9~&q\\x1c'7\\x92\\xb8\\\n\\x97ITs\\xb0\\xf1l7\\x9d6\\xa66\\x22\\xef8\\x1d\\\nc\\x0d\\xf1\\x5c\\xd1\\x8fg}\\x8a=\\xa0\\xc1\\x90\\xe0\\xee)\\\n4\\x17x&S\\x12q\\x05\\x99m\\x1f\\x8f\\xe9\\xd4\\x1dP\\\nVw\\xbePG\\x1a\\xae=\\x94p\\xb2\\x8f\\xaan]\\xea\\\n\\x1a\\xe4\\xa9a5O\\x17\\x13\\x02;\\xc1nG-\\xdch\\\n\\x11\\xfd\\x83\\xfa\\xbe\\xce1S\\x13\\xd3@\\xfbc\\xc8XD\\\n#\\x1aT(e\\x1c\\xf3\\x5c\\xc0\\x93\\x0f\\xf4\\xdfW\\x0c\\x1c\\\nA\\xe0+\\x86(\\xd0@\\x83\\x82\\x94\\x7fo\\x07?\\xd5\\xd7\\\ng\\x89\\xdc\\xc5O\\xf55\\xc2\\xd7\\xbb\\xc0\\xefC\\x1c\\x7f\\xc1\\\n\\x98\\xcfo\\xfa\\xd4%\\xfb/\\xb1\\xc2\\x11\\x7f\\xc3|\\x82\\xc3\\\n\\xd1lrG\\xa3|\\xc0P\\x84\\xf1\\xe8e\\x8d\\xe18t\\\n\\x84=G\\x8d\\xa09\\x84\\xb3\\x8b\\x1aI\\xa1\\x86J\\xe3\\xba\\\n\\x1c\\xec\\xabT\\x09C\\x17\\xa1\\x155\\xa0vPB\\x12\\xd3\\\n\\x17\\xd4\\x02\\x98\\x19\\x89\\x86i\\x04\\xcbd\\xae\\x12>\\x7f\\xa6\\\n\\x86\\xc0\\x17\\x9d\\x0b\\x1a{Gx\\xce\\x1a\\xe3'\\xb6\\x09>\\\n\\x19\\xf1\\x0e\\x8ey4\\xa3\\xf1G\\xb6\\x13/\\x90\\xa9\\xebp\\\n\\xc3\\xef\\xce\\xbf\\xf1\\xcc\\xd8\\xc11\\x19\\xc7\\xd4e\\xdb\\xd8\\xc3\\\n\\xd73^\\x93\\xdb\\x0d\\xa8x\\xc2\\x9dV\\xc3\\xaf\\x7f\\xa8\\xcf\\\n\\xfe$\\xa1*\\xec\\xe03\\xec\\x894c\\xb7\\x86\\xb6\\xb5n\\\n\\x171\\xe5\\xc03\\x1b\\xda\\x19\\x1aQ\\xad\\x8f\\x0e\\xa89(\\\n\\x8b\\x85\\xe0\\xb33\\x08\\xa2\\xea#Q\\x0a8\\x9c\\xa1y:\\\n\\x98\\x1b;\\x1ck\\x22\\x00\\xe3\\x85\\x0b\\xd2`\\xbb\\x91n\\xc6\\\ng;\\x1ck\\x22j8\\xda\\x8b\\xb9\\xfaN\\x817\\xd0r\\\n\\x9c\\xfa\\x823\\xfa\\x9cCG{\\x8c\\x06\\x99\\xb6\\xc9$!\\\n\\xdaP\\xc7\\xb3\\xaf\\x15)\\xe4\\xaa\\x8e\\xe4\\x8a\\xb0:\\xc0\\xc7\\\n57VA#\\xa3\\x92D\\xa6\\x028\\x01\\xac v\\xce\\\n\\xad\\x09B5\\xe6V\\xf0\\x99\\xe0\\xb4jA\\x0d;\\x86\\x9a\\\n\\x0d'\\x93/n\\xe3\\xd0~\\x1b\\xc6:\\xfdq\\xf4\\x0c\\x09\\\n'\\x92[\\x13\\xb9\\x8f\\xa2\\x82\\xd7\\x99\\xc8\\x03\\x86t\\x90\\xee\\\n\\x9f\\xed1h*\\xf6\\x99A\\x90J92\\xe5\\xa5R\\xf6\\\n9E\\xf7\\xfa\\xfe\\x19v0\\x8a\\xfa\\x88FCA}\\x09\\\n4\\x90\\x1a}\\xd5\\x81S$\\xed\\x12\\xc0c<~\\xf7U\\\n\\x1e\\x0c\\xf4T\\x1e\\x0c\\x8c\\xed@l\\x07&*\\x0f\\x16:\\\n\\xa5\\xd3\\xc2\\x9am\\x94\\xbc\\xdd\\x08\\xc9\\x13fl\\xf7a\\xe0\\\n\\x09J&\\x10\\xf3\\xf6\\xd1C\\xc0\\x86E\\xdeo.\\x7fR\\\n\\x22\\x1e\\xdc\\x9eN\\x94\\x88\\x07\\xa7\\xf7\\x95\\x12n\\xe0dy\\\n\\xade4\\xcf\\x80\\x06\\xfcB\\xb2\\x8bg\\xd0\\x86\\xf7\\xf4u\\\n\\x04\\x93\\xf0R\\x098\\x90H~0\\xa2\\x12\\xa4\\x02\\xefY\\\n\\xd8\\x81\\xb3\\xfd=\\xcbWpu\\xbeS\\xf2\\x15\\x9c+\\xbf\\\n\\x22Q\\xdc=\\x13I\\x17t\\x10`\\xf9\\x13}\\xec\\x88\\x5c\\\n\\x0c>wE(V\\xa3\\xde<\\xc2\\x1d\\x92>W\\xac\\xbe\\\n\\x1b\\xa3\\xe8p\\xe9\\x95<\\xd2|\\xf6|\\x0f\\xf5y\\x03\\xaf\\\n\\x0d\\xbfm\\xf8\\xed\\xc0oGL\\xf67\\xf6O\\x0f\\xc4\\xd1\\\n\\x07|>#\\xc5\\xda\\xd1\\xc2$|\\xfa\\xf4ya\\xd2\\xb6\\\n\\xe0s\\x0b~\\xef=\\xe8\\xe2\\xfbb\\x9e\\xe6\\xe2\\x04\\x86\\xc2\\\n\\xab\\xa2w\\x07DAbF\\xf8C\\xc8\\xd1\\xec\\xcd\\xa2\\xdb\\\n\\x1f\\x92%\\xc5m$\\xe5\\x10;K\\xc5\\xd6\\x19\\x16\\x8d\\xe2\\\nM\\xb9\\xf8S\\x86\\xb3b\\xce(\\x86\\xa67\\xaa;R\\xc6\\\n\\x13FwdG\\xd6p'E}aT\\xb3\\xd1\\x90d\\\nk\\xf2\\xd3\\xa7\\x9f)\\xdc\\x16\\xa8\\xf5\\xed\\xf9\\xf4\\xe9\\xfe\\xf1\\\n\\xa0_\\x05\\xf1\\xfd\\xc3\\xa07Sj\\x84G$\\x87[\\x8e\\\n\\xd4\\xcb\\x8a\\xdc\\xf6\\x18.\\x15\\xbdK\\xd1\\x1f\\xac\\xec'\\x9c\\\n\\xfd\\xc4\\x81;\\xd9\\x1687\\xfb\\x09g\\xd7\\xb2\\x083F\\\n3b\\x0f\\x9d)a\\xc5\\xf0\\xb4\\x98\\xb1\\xd6R\\xd3[1\\\n\\x80\\x0a.)\\xb8\\xd2\\x09K\\x1d7\\xebG\\xf1\\x88\\xfa\\xbe\\\n&HM\\x84\\xe0$\\x138\\x1c\\xf3\\x92A\\xac\\x98#S\\\n\\xd0\\x17\\x99\\xc9R\\x8d/4\\xa1q9\\xa3\\x05Xmn\\\n\\x93\\x8d\\xcc\\x91\\xcd\\xb6KVX\\xf6`\\xebx\\x82\\x97\\xd8\\\n\\x01^*\\xe6\\xa4_Az\\x1d\\xd3Y\\x90\\x9d\\x03qI\\\n\\x10u\\x0dQ\\x08\\xc7\\x80\\x8dN0\\x1bs\\xca\\x19\\xb9\\x99\\\n\\xcf\\x9e\\xd5\\x81M\\xa4\\x83}.\\x08\\xfb%\\x02.S<\\\n\\x1b\\x15\\xc1\\xa1\\xb3\\xa4\\xab\\x7f{}\\x0a\\x14\\x90\\xc4$\\xb9\\\n@\\xc7\\x80\\xeb\\xa7\\x8b\\xa3\\xf7\\xe7\\x88\\xd1-\\xd3\\xf1\\x8c\\x04\\\n\\xa7\\x97\\xeb\\x22\\x1c\\xe8G\\x09\\xd2{\\x98R\\x04s\\xf2\\xee\\\n\\xc3\\xcb\\xd7\\xa7\\x97W\\x17\\x1f\\x8e\\xffB\\x1dU\\x04\\xc8\\xfe\\\n\\x9d:\\xc0\\xf6t\\xbf\\x14\\xc1\\x9c]\\x1c\\xfd\\xe5\\xea\\xc3\\x05\\\n\\xe0)\\xac\\xd3\\xe5\\xd1\\xdb\\xcb\\xcb\\xd3\\x8bWg0\\xae\\x85\\\n\\x95z\\xf3\\xee\\xed;29\\x04@q\\xf2MF\\x0b-\\\n\\xba\\x06\\xd5\\xddNp\\x95\\x8e\\xdb\\xd3C\\x8cf0\\xed\\x94\\\n}9\\xa29\\x91\\x07\\xbbx\\x1d\\x84\\x16\\x9f\\xd3\\xf00W\\\n\\xe8P\\xe0\\xc4Uab\\xbc\\xce\\xc6\\xee\\xec@\\xf4\\xd1\\xc5\\\nO\\xa7n\\xf4\\xfev'\\x18\\xde\\xb8\\xc0\\x8dj\\x0d*r\\\n\\x9e\\x89\\xddy\\xd6\\x09\\xba\\xb3\\xfe<\\xc6m\\x10-\\x88\\x0d\\\n\\xce\\x12\\x8f\\xa2\\xfa\\x93y:j\\xd1MC}v\\xc2\\xe9\\\n,\\x10\\x1e\\xa6\\x22\\x16\\xe9p\\x0a\\x008\\x05;<\\x88>\\\n\\xa7\\xc2\\xc0\\xa8S\\xf0\\xdd\\x14Orc'5\\xba\\x9b:\\\n\\xe1\\xcf\\xfd\\x81\\x05=\\x9c\\xb8\\xd0qrm\\xa5\\xa2\\xd3q\\\n;u\\xe4\\x16L\\xcf\\x5c40\\xee\\x9a\\xc9\\xb5\\x02\\xc0\\x18\\\n\\x0f\\xa2\\xf0Uy2\\x9f\\xb6 \\x89s\\xcco\\xa6E0\\\n\\xf8L\\x13\\xc5\\xa0n!\\x13\\xb7\\xd0q\\xf7\\xce*t\\x8c\\\ng\\x0c\\x1dz?\\xb3\\x02\\xf3\\xc8\\xed\\xb6\\xf4pB\\xd8\\xed\\\ng\\xac\\x99\\xc9\\x9e\\x1eW\\x08\\x0f\\xd3\\xad\\x8fI\\x1a\\xfc\\x9a\\\n=\\xf8\\xe1,M&\\x99X\\xa0\\x84\\xa8YN\\x96r\\xdb\\\n\\xde\\x07t\\x03\\xf2\\x8e\\x1e\\xdf\\xa1\\xa0\\xf7\\xcc\\x13\\xaf\\x95\\x9d\\\n\\x80\\x1c\\x84\\xe4B\\x01+\\xc38h\\x83H%\\xc3\\x86}\\\n\\xea\\xe9\\xfc\\x05\\x10g\\x04\\x81(\\xc8yn\\x16\\xe0\\xd8\\x13\\\n\\x04\\x05\\xe9'R\\x03\\x8b\\x1dN\\xc1\\xe0iDp<\\x04\\\nD\\xdd\\xa1\\xd9\\xf6\\x0cHM\\xe1y\\x00F\\xa1YW\\xdc\\\n\\x8e\\x8d\\xeb!@DH\\x87\\xdew\\xfc\\xe1qV\\x8a\\xfa\\\n _\\x1e\\xbf\\x8d\\x9cEH\\xba\\xde\\xe0fI{(R\\\n}\\x88[\\xf2\\xd7d\\xba\\xfc\\xa1\\xb1\\x82\\x8d\\x96\\xa6\\xc0\\xdf\\\n\\x96?\\xd4W\\xb0\\x937\\xb8\\x04F\\xef\\xd17\\xbe\\xb7\\x22\\\nvs\\xaeb\\xbbd\\x14\\xdc|\\xe7@\\xf4 \\xa7\\x13\\xc8\\\n\\xc2\\xa8i \\xed[\\xd2-t\\x87\\xa2\\xbf\\x98hfd\\\n\\xf1E\\xde\\x04\\x95\\x0du<3\\xbc\\xb4\\xa5\\xc0\\x11\\xe5\\x0c\\\n\\xfe\\xa2\\x90c\\x06\\xbdp\\xf9\\x0f4t0\\x9b\\xa0\\x00\\xe5\\\nb\\x82:]7S\\x0aA_@E8\\xca\\xbb\\x99\\xd2\\\nG\\x87\\xcf\\xba\\x99d\\x8c\\xb5\\x00\\x9a\\x1e\\x9e\\x9a\\xe5\\xfd\\xa0\\\n\\x08\\xdf\\xac\\x98q<\\x18\\xe0\\xe1\\xfe\\x0d\\xfd\\xa2\\xcc\\x00E\\\n`\\xaf\\xd1\\x01\\xc0\\xcc\\xfa\\xec\\xc6\\xd0\\x02\\xef\\x02\\x7f^O\\\nn\\xb1\\x19#\\xfcq\\xa3PJ\\xc8Ebu\\xecBp\\\n0\\xb8\\xe8T\\x0a\\xfc\\x87{\\x03\\xde\\x90\\xcfx3|}\\\n\\xfa\\xf6\\xa7\\xab\\xf3\\xea\\xd5\\xf9\\xab\\xb7o\\x8e\\xae\\xcee?\\\n\\x04\\xf6)\\x1f\\xee\\xcd\\xe9\\xc9\\xab\\x0fol\\xc8\\x17\\x8f\\x86\\\nl\\x15\\x97}\\xfc\\x17\\x1b\\xf0I\\x01\\xe0\\xdb\\xd3\\x9f\\x8e\\xae\\\n^\\xfd|\\x9a\\xaal\\x94\\x90\\xde\\xa3\\x95\\xc7\\xab\\xeeFc\\\n\\x18\\x90\\x7f\\xdct\\x07vt\\x9dc\\xd3\\xd1\\x0d\\x8af\\xaa\\\n\\xed\\x22*\\xee\\xa1$\\xfa\\xfc@\\x86\\x82\\xda\\x0e\\xd1}p\\\n\\xd3;\\xc7\\x1f\\xd8\\xb0\\x18\\x81\\x0a\\xc2\\x0e\\x95\\xe8\\xc0\\xd8\\x81\\\n\\x1c\\xbb\\x90c\\x07tv\\x83\\x93\\x0a\\xffz\\xc1\\xc5\\x0d1\\\n\\x85\\xf8\\x03\\xad\\xba\\x94\\x0aR0@\\xef\\x1a\\xc9\\x17\\x8f\\x84\\\n\\xd1\\xb4\\xe2\\xbfD/\\xd1\\xb4a\\xfa\\x18\\xc2\\xdc\\xcb\\xcb\\x07\\\n\\x80\\xea\\xd5\\xfa.\\xa1z\\x08l\\x87\\x91=\\x04\\xb6\\xcf\\xd8\\\nF\\xc5`\\xefO\\xdf\\xea\\xaa=\\x00f*\\xf7 \\xa0\\xaa\\\n\\xde\\x83\\x80R\\xc1Y!\\x1c\\xf9\\xe5\\xd55|\\x08\\xceT\\\n\\xf1aHU\\xc7\\x87!\\xa5\\x92\\xe3B\\xc0\\x8b\\xd3\\xd7\\xba\\\n\\x8a\\xeb\\xa1L\\x05\\x1f\\x82S\\xd5{\\x08\\x0e+G{\\xca\\\n\\x0cW\\xa0\\xa8hf'\\x83\\x00M\\x8ba\\xde+\\x10\\xda\\\n\\xdf\\x8b\\x80N\\xdf2\\x18=\\xab)\\x84\\xa3\\x9ec\\xc0^\\\n\\x5c\\x8c\\xee\\xe5+\\xc1\\xc6\\xdbe>\\x104\\x93\\x81\\xa6\\xa8\\\n\\xebU\\x08F\\x02'\\x06$c\\x80\\x85\\x80\\xe4\\xd9\\xb9\\x13\\\n|\\xe5\\x07/\\x85`\\xe2\\xf8YZK>\\xa1\\xf8Y;\\\n\\xdb\\xd2$\\xc7\\x1f*\\x01\\x97\\xffM<\\x1a`3\\xbc\\x97\\\n\\xf8u\\x11\\x8d\\x80\\x14\\xf5&w\\x90\\xe7\\xfc%z\\xd4\\x91\\\n\\x03qS\\x82\\xe3T\\xda5\\x86\\xbd3\\x0a\\xce\\x17\\xb3\\x1b\\\n\\xdcL\\xf1\\xc7\\xa3\\xf29\\xc6f(\\xbeN\\x87\\xdd\\x04j\\\n\\xbd,\\xe1\\xc6-\\x81\\xa6\\xf7\\x9e?\\xbc@\\xa5C&\\x1d\\\nG\\xa7\\xeeaNB\\x8d\\x0e\\xdbc\\xbal\\xb8\\x1c\\x93\\xe6\\\nW\\xb7\\x8fn\\x98\\xd9\\xd47\\x1d^k\\xb5\\x97\\xc8\\x03}\\\n\\x9eu\\xbf\\xa6\\xe2\\xf7\\x90\\xd9\\x1a\\xf0\\xa5\\x90\\x15}t\\x80\\\n[\\x00\\xea\\xb2\\xb9\\xf1\\xfb\\xa7\\xd8]\\xa4*dC\\x9f\\x11\\\n\\xff\\x11\\xa5\\x907N\\x0e\\x94I\\x007\\xfex\\x1f\\xe2\\x87\\\n\\xddT\\x99\\xbb\\x88\\xfb+\\xf1\\xf5:V\\x98\\xcat\\xfd\\x1a\\\n'\\xcf \\xf66\\x86\\xc3Qn\\x1d\\xb1K05\\xaf\\x0c\\\nL\\x83a\\x99\\xc5wd\\x1c\\x1b~=~\\xccj\\x82S\\\nIo\\xeb\\x18\\xcd6\\xe1C\\xde\\xb9\\x9d\\x80\\xec\\x97\\xf0=\\\n\\x1bl]\\x81x~\\xaf\\x8a\\xbb+\\x7f?\\x81\\x91\\x8b\\xfe\\\nAO\\xb5\\xac\\x9c\\x94\\xc4\\xb0\\xc4\\x9dH\\xeeBN@\\xb6\\\nq\\x94\\xd1t\\x94\\xd3\\x18z\\x96\\x93\\x8fS\\xb9\\xa2\\x92\\xda\\\n\\x98\\xac}\\xe0\\x9b\\x8eg4\\x0fQ\\x89p\\xf6\\xbaK\\xa6\\\nA\\x93\\xe8\\x96\\xfd}`\\xdaP\\x8e*\\xe7\\xf8\\xe6\\x09\\x8d\\\n\\x98\\xd0#N\\x183\\xbc\\xd3J\\xa5\\xc9KO\\xdd\\xc4d\\\n\\xf2\\xcfi\\xa4\\x9d\\x8d\\xb8\\xc9\\x7f\\x09z\\xca\\x00\\x0d\\xc3\\xa7\\\np\\xb0\\xbc\\xcfb|\\xa1\\x83!'`\\xa5\\xf5\\xc6t\\xfd\\\n/\\x8b\\xf9G8\\x13\\x8cGW\\x93/Q\\xb2\\x1cOV\\\n\\xed\\x91x.&\\xbb$\\xb4\\xf8I\\xfdrc\\x96\\x1f\\xdf\\\n\\x81L\\x83\\xd5\\x8f@\\x03\\x1c\\xac04\\xd3\\xc9`i\\xe3\\\n\\x8eW\\x04\\xfa\\xe9\\x132:\\x1b{\\xe3\\x9b\\x8d\\x1f\\xd0\\x18\\\n\\x02\\xce\\xe5TNC\\xd9\\x96\\x0c]?\\x18\\xdf\\xac\\xd4w\\\nc\\xcdwny\\x01\\xfc\\xff\\x87:\\x954\\xfd\\x9e\\x92\\x8a\\\n?K?\\xd4}\\xc2\\x17__;\\xf8Z\\x9f>e\\xef\\\nl \\x1aO\\xef_\\xa2[\\x0bv\\x09G\\xb0\\xe5\\x0f\\xdb\\\nP\\x05D\\xfaC\\x9d+\\x8f\\xdf\\x15\\x0a,\\xf1H\\xb6-\\\n\\xe4\\xbfk\\x9f\\xe6\\xa0\\x1e\\x10a:\\x0f\\x87\\xa2?s\\x01\\\n \\xc2\\x01\\x98\\x8d\\xdd\\xf4\\xd9\\xd8I\\xee]\\xbb\\xc9\\xbdk\\\n7\\xb9\\x97J&\\xd1\\xa0\\x06y\\xf9@:\\x8b\\x1c]\\x90\\\n\\xd8M\\x16\\xe9\\xa0\\x05\\x801n\\x1bSu\\x9c\\xbbu\\x5c\\\n\\xa4\\x0aX\\x98\\x02p\\xdfs:@N\\xc1\\xb3\\x01\\xf5\\x04\\\n\\xc0\\x02\\x80\\x1c\\x82\\x05<^\\x14\\x80\\xc7\\x8b<\\xf0\\xdeu\\\n\\x01x\\xef:\\x0f|^\\x04>\\xcf\\x05_\\x14Uf\\x91\\\n\\xa9\\xcct\\xdcs`\\xf1\\x08\\x8a\\xa92\\xb9\\xa7wK\\xd5\\\n)@1-\\xc8+\\x06\\xa8T\\xeb;\\x11t\\x08\\x9dM\\\n\\x81\\xce\\xdc-OW:\\xa5\\x0etg\\xe3\\x17\\x0f\\x85\\x9a\\\nn\\xe6\\xd7\\x0ad\\xbb\\xb1\\x8b\\xb9\\xe9\\xb0[m\\xc0\\xee\\xc1\\\n3QI\\xcf\\x97G+\\x83m\\x1f!\\x91lwH\\x93\\\n\\xdc\\xae45i\\x03\\xf9\\x0aT8\\xf4\\xde\\xe2\\xa9\\x9c\\xef\\\n&O\\xe85\\x87\\x9c\\x9b\\x94\\x9e:\\xe9\\x88K\\x80\\x0c\\xc6\\\n\\x00\\x0f\\x84?d~%\\xc2\\x8b3\\x13\\x84-\\xa2?\\x19\\\n\\x8fQ\\xf9\\xc5e\\xa6L\\x02\\xdaA\\x8d\\x1e\\x07\\x07\\x81(\\\n\\xf9\\x1a\\xcf&\\x09j\\xb1?\\x88\\xf1\\x91\\xb0h\\x91bM\\\n\\xf2(Z\\x9b\\x1b\\xc5p\\xa9t\\x8cB\\xee\\x06/\\x18\\xbe\\\n\\x01\\xe37J\\xa5\\x9b\\x04\\x12#~N%\\x1f\\xbd\\xb9\\xc4\\\n)\\xc7\\xc3\\xb1&\\x95\\x9eC\\x17\\xa6\\xce2\\xad2i\\xd1\\\n?\\xd6\\xa5&\\x13y\\x0aa\\xcf\\x11\\xaa\\x0a\\x09\\xcfb4\\\n\\x97\\x9e\\xca,\\xb1^G\\xb9p#\\x9f\\x80\\xb0\\x11f\\xcb\\\nA\\x0b\\xfbdI\\x17/\\xefr\\x93\\xd4\\xa5L^\\xae\\xf9\\\n\\xfc\\xd5 ?\\xa9\\xc7\\x0c\\xb6\\xd3\\xcf\\xe8\\xda\\xb2\\x13\\xa8\\x1d\\\n\\x0a\\x985\\xf9\\x82\\xe3>[\\x1fhz\\x17\\xfc\\xe1\\xad\\x02\\\n{\\xb6,\\x99\\xbb\\x03>\\x10\\xf9\\x87h@\\xafe<\\xcd\\\n\\x04B<\\x9b91\\xcc\\x84pP\\xc8\\x9b\\xe7\\x02\\x097\\\n\\xc8 \\xbd|\\x10\\x96\\xbf1\\xc8\\xcb|\\x10\\xbc\\xfc\\xe3\\xcb\\\n@\\x06\\xfbZ\\x04Fw\\xa5\\xd6\\x07\\x02\\xff\\x5c\\x04\\xfc\\xb3\\\n\\x02\\xfe\\xd9\\x00+\\xae5\\xa7\\xf8*2\\xaf#\\xcd'\\xb2\\\nc\\xd2+\\x9aWl\\x1c\\xbf\\xd9\\xe6$e,\\x1fi\\x8e\\\nJ{\\xea\\xe5\\xa4F\\xffHT\\x8f\\xeb\\x01<M\\xbe\\xaa\\\n\\x22\\xcc\\xdc\\xf4\\x14$\\xa2y\\x00Vq\\xcf\\x0f`$\\xb0\\\n\\xc7\\xa2\\x8b\\x06\\x0f\\xc2\\x8doF\\x0b\\xe1w\\x1f(YA\\\n>\\xa2pz\\x02\\xff \\xd4g\\xf4\\xa54{\\xb8`\\x86\\\n{D\\xb1\\x0c\\xf8\\x88FS\\xe7t\\x17\\x8f\\xec\\xed\\xee\\xe2\\\n\\xf1\\xfd\\xfd0\\xd2U0\\xfdU\\x0c.\\xd5\\xab\\x8d\\xad\\xea\\\n\\xc1\\xae2t-\\x0e\\x14\\x88\\x8a\\x89\\x85\\x857G\\xc7\\x17\\\n\\xef.\\xc3lr\\xcb}h\\xc7p>\\xff\\x14<\\xaf\\x9b\\\n\\xd3\\xb3\\x5c/T\\xcf\\xe2\\x18\\x98^\\xc6\\xf1\\x9b\\xb3*\\xdf\\\n\\x9e\\xd3\\x0b8ML\\x0dT\\xa7Y\\x0c\\xa6}.\\x18p\\\n?\\xc8\\x80\\xcb\\x83;\\xb4\\x80\\xbdZ\\x05\\xef\\x8f.,\\xa7\\\n\\xc9\\x0fxX\\xe0\\xca\\x07dj\\x1f\\x9b}\\xfa\\xf6\\xe7\\x96\\\nz\\x92\\xcfi\\xa1\\x80\\xb0\\x1d\\x8fP\\x8c\\xedP\\xe1\\xc7\\x93\\\n\\x9bd\\x011Q\\xc6$?\\xa0\\x09\\x97DL\\xfdB{\\\n\\xfc\\x00Cmu\\xad\\xf0\\xd3=\\x0a\\x19\\x96!s\\x05\\x08\\\n\\x15<yb<4\\xbcG\\xebq\\x8eS\\x01\\xd7\\x06q\\\n\\x89lc\\x22P\\x9e\\xcd\\x86~\\x90\\x88A\\x92\\xe7V\\x13\\\n\\xb5\\xe1\\x88R\\x82\\x0f\\xbf\\xed\\x14\\xd4a:\\x12c$\\xe8\\\n\\xc6\\xc1w_k\\xfb/\\xc2\\xdd\\xdd\\xc6\\xb3\\xbd\\xcd\\xcd\\xe4\\\n\\xf9\\xee\\xdev\\xa3\\x06\\xed\\xea\\x97\\xd7cP\\xe3'\\x8f\\x05\\\n\\xd3\\x9d\\xd3\\xf7\\xc9\\x80^\\xdb\\x85j\\xf7;\\x1dHRS\\\n\\x85\\x1f1V\\x17\\xd1|\\xa12T\\x7fF\\x8dV\\xb4\\x08\\\ne\\xc0\\xe8m\\xa3\\x0b\\xc5vX\\x10\\x86\\x82\\xefpeC\\\n\\xa8\\xc0\\xca;\\x8dF\\xda8<\\xc7:\\xf6\\xb4`s\\xcd\\\n1G)\\x96\\x19,L\\xec\\xd3\\x80\\xcc\\x12\\x1a\\x97\\x04v\\\n\\x926\\xaf\\xae\\xb7k\\x8dv\\x81Ac\\xad\\x02C\\xab \\\n\\xf5\\xc4\\xd2@\\xf7y>'\\xda\\xca\\xd4O\\xe8\\xc2\\x0b&\\\n\\x0e\\xcd\\x5cY\\xf9\\xf3\\xb38\\x19\\xd0J+! \\x99\\xac\\\n\\xa2t\\x7f\\xa9\\xde\\xc6r\\x10\\x8d+Q\\xbe6\\xfdt\\xf8\\\n\\xe5\\xeeu\\x12R\\x10\\x8d?\\x5c'\\xb6\\x1f\\x8c3\\xa9\\x06\\\n\\xe4\\x03 \\x1a\\xcf\\xeb\\x04\\x96\\xeeub\\x1bMh\\xf7\\xcb\\\nd\\x94N-rB\\xc6\\xbeUJ\\xe4L\\x85\\xbcP\\xe8\\\n\\xe5\\xae\\xdfS\\xa6\\xa7\\x0c\\xd5\\xfdP\\x9a\\xf4\\xc6\\xc0QB\\\n\\x90\\xcd\\xdffSx\\xcdL\\xca\\xe4\\x91\\x98'\\x05\\x98'\\\n\\x05\\x98\\xf7\\x1f\\x85w?\\x17\\xeb~\\x0a\\xa7\\xd6\\xc3K\\xe3\\\nD\\xb1T\\xd9A|\\xa2@\\x1d\\xc4\\x1aA[\\xe7P/\\\n\\x92\\xfbs\\xbc\\xd0\\xbd\\x86\\xcdxP\\xe2\\xb1A\\x13>f\\\n\\x96X\\xee10M\\xcdE\\x87 \\xe77\\xd5\\xa5\\xd9T\\\nf\\x13W\\x00\\xa2\\xb7F\\xcc- \\x18c4Od\\xa8\\\nVX\\xf84\\x89u\\x99V-=i)\\x1f:+\\x83\\\n\\x5c\\x14h\\xe3y\\x1d?$X\\xeb8~Y\\xc4\\xdc&\\\n\\xad8\\xb6\\x0d\\x11\\xa7l\\x88xeF*& \\xd0\\xc0\\\n\\x9b\\xef\\xbb\\xb5\\x9f<P{ \\x88\\xd1\\xa2?\\xfc\\x86\\x1a\\\n\\xfc\\xd9\\xaa:u\\xf5\\xab\\x0a8|R\\xff\\xbe\\x8aO\\xbe\\\n\\xb7\\xe2\\xfb\\xbf\\xb3\\xd3\\xe5=\\xd8\\xef\\xe9t\\xa6x\\xb83\\\n\\xa2\\x1bG\\xceR\\xb5\\xca\\x09s\\xa0\\xfeY\\xe3\\xa5\\x17E\\\n\\xaa\\xd9l\\x15\\xd74\\xdb4\\x8cS\\xa4a\\x14\\xc0\\x86\\xd1\\\n\\x87\\x04\\xb1a\\x1cF\\x83\\x7f\\xf4\\xa5\\xcc\\x9e\\xa4k\\xc5\\xc8\\\n\\x9a\\xc6N\\x09G<4\\xa6\\x0c%\\xe6G\\xc8\\xe4\\x1c\\x9a\\\n\\x92\\xb4gT\\xa6\\xa1z)\\xa7W\\xadmCN\\x03e\\\n\\xdf\\xea\\xeb$\\xedzv.\\x89dST\\x5cf\\x04j\\\n\\xdb\\xcdl=\\xd2\\x8b\\xff\\xda\\x01\\xe7>\\xec\\xa7\\x879\\xed\\\n\\x81\\xado\\xac\\xe9$\\x0ew\\xc2\\x9b\\x0d3'\\x95\\xba/\\\nVq\\x84Z\\xb1\\x00\\xc0o%\\x87\\xc6~\\x0ct\\x22\\x9a\\\n\\xcb\\xd0\\xa6\\x12\\xdb\\xcbU\\x07\\x1d\\xaei\\xdbqq9$\\\n\\x08e\\x14\\x8c\\xcc\\xd3\\x84\\xd6\\xd2\\xd4U.X\\x0bdL\\\n\\xe7\\xf7v\\x0d;Y\\x08\\xc8\\xec\\xa8\\xdd\\xfa<v\\x11\\xef\\\n<\\x89]d\\xabZ\\x0f\\x81\\xb3\\xc5G\\x84'\\xa9W\\x01\\\n\\xbc1\\xacc\\x99\\xe2\\xf9o\\xff\\xc5\\xa3aa%\\x02;\\\n#\\xc4\\x19[\\x0fY\\x94\\xc0\\xb4\\xbcE\\x5cj`\\xb6>\\\n\\x0d\\xb6\\xb4!:\\xe1\\xcf\\x9d\\xe1\\xbc\\xe9\\xc1W\\xa9\\xa6\\x86\\\n\\xa2\\xee\\x97=e\\x01\\xdc\\x05\\xd1\\x00\\xcc\\xca\\xb0\\xf5}\\xf2\\\n\\x8d\\x17h\\x7fO\\x16c\\xd6\\x12\\xb7\\x10hfn2\\x15\\\n\\xc3\\xd2\\x08\\x1dj\\x0fP5y\\xde>7Q\\xf5\\x8e=\\\n\\xc6\\xe4\\x0b\\xcaoJ6+~\\x16}\\x85\\x04\\xe0\\x95(\\\nEf7\\xcd(\\x8cpm\\xb8|\\x9c\\xa1\\xb3\\xf0\\x19\\xf4\\\n\\x01\\x01\\x13\\x80\\xb2\\xe1\\xa2\\xec4\\xb1y.c\\xcc\\x9f\\x80\\\nL8\\xd0V\\x89)\\x01\\x22[%\\xed\\xce\\x02\\x1aH\\xb1\\\nlK\\xc6\\xa0W\\xa0\\x9d\\xfb{8\\xb1\\xa3\\xda\\x972\\x81\\\n_\\x0c\\x8e\\x10\\x9d\\xcd\\xcd'\\x92\\x17\\xf1\\xbf\\xfb\\x8b\\xef\\x9a\\\n/>\\x99\\xdc\\x00\\xf18\\xbdc\\x9f\\x83x\\xc1D\\x11\\x1b\\\n\\x91\\xc44\\xc9`>in\\x91\\xb7d8\\xc5\\xcd\\xe2\\xeb\\\no\\xe8\\x5c\\xc7v\\xc1aU\\xa2dZzX*\\xd9\\x95\\\n\\xb5\\xe1\\xee\\xef\\xf3*\\xebK\\xbfV\\x9d\\x17\\xb1\\xd20m\\\n\\x1e-V`\\xe2&!n\\xc0\\xd2&\\xb7\\x8a<b<\\\n\\x84\\xba\\x5cJ2\\xf21E\\xc5\\xdd\\xc7\\x99\\x90\\xd5\\x1d\\x16\\\n\\xcc\\xe97u\\x9c57\\xb8\\xd5i\\xac>\\x8eN\\xc1\\xb9\\\n\\xd0dP\\x85+\\xbc\\xba\\x00\\x99\\xbbMY\\x08V\\xe5\\xcc\\\n\\xe7\\x8a\\xd6\\xb0\\xb2\\xc5\\xf2\\xff\\xaf\\xd6\\xff9\\xab\\xb5\\xf7\\xf8\\\n\\xd5\\xda\\xfb\\x9e\\xd5J`\\x8f[\\xaez\\x0e\\xcc\\xcd\\x82\\xd5\\\n^X\\xe6\\xff\\xc3\\x96,\\xd7\\xf8\\xffEk\\x96\\xb2\\x7f\\xef\\\n\\xa2\\xed\\xfd\\x0fX\\xb4\\xef/^\\xbd9mz\\xff\\xfd?\\\n\\xfd\\x1f^p\\xf9\\xe6\\xe8\\xe2\\xea\\xdf\\x7fxwE\\x11\\xff\\\n\\x19\\xd5\\xc3\\xd1(K\\x9aW\\xca\\x9f\\xf7-\\x8cN\\xcd}\\\n\\xdf\\x1a\\xd7\\x07\\xb7\\x8fu\\xd4_\\xd9h\\xa2\\xdf\\x8d~\\x17\\\n\\xa6\\xd1|c\\xf0\\xd8\\xfd\\x80\\xed~\\xdfLC\\xcf\\x13\\x19\\\nW\\xa5\\xd2\\x1aL\\x96\\x10%\\x12)\\xea\\x05El\\xcaA\\\n?t\\xa9\\xd6\\xeav\\x18\\x8f\\xa2\\x92\\xf7#\\xb6\\xa2\\x7f\\x7f\\\n\\xdfW6eM\\x8f\\xf9\\xa8\\x8c\\x1f\\x92\\xa7\\x1a\\xeaK\\xf8\\\n\\xfb\\x7f\\xd2\\xdf\\xff\\x0b\\xff\\xfe/\\xff\\x9b\\xd7i\\x03\\x80\\xf0\\\n~\\xb0\\xf8\\xb4\\xe7\\xa6\\xd4\\xe0\\xd2\\x80\\xf1d\\xc8e\\xf7\\x91\\\n\\x94\\x13\\xc7D\\xf3\\xd4\\x8c\\x0dLcfd'\\x8a\\xa3\\xf4\\\n\\x83x\\xc0\\xfeWI\\xf08\\x9e\\x88%D\\x91\\xb3\\x8c'\\\n\\x80\\x82M0\\xc3\\xf4\\x80\\xb3\\xffu\\xf7f\\xb4\\x98\\xfb\\xd6\\\nw\\xaet\\x92\\x9d\\xc9\\x8cc6l\\x06hHT\\xc9a\\\n\\xdf*\\x8f\\x98\\xbc\\xc9\\xf4\\xdb\\xd1\\x02\\xe8u\\xeff\\x11\\xcd\\\n\\xfdl\\xd4\\xef(A\\x99\\xbc\\x9eTE1\\x04\\xbe\\x94*\\\nH\\x0d5\\x93\\xab0\\x0d\\xa0$\\xb1\\x5c\\xbb\\x19\\xfeG\\xc0\\\n\\xc0\\x8e\\xbf\\x7f=\\xba\\xba\\xba\\x90l\\xf7n$c\\xc0\\x9e\\\n@\\xc9\\x19\\x19\\x01s\\xe6=\\xb6\\xabX>\\xba\\xb9\\x89f\\\n\\xc5\\x9e\\x14K7\\xfd\\x96\\xaf&\\xd7*@Sb\\x0er\\\n{\\xde\\x1f\\x03c\\xffa\\x1e!\\x0c\\xbe\\xab\\xfb\\xb7\\xc9\\x0d\\\nL\\xf7\\xe4\\xc7\\x05M\\xee\\x1fIJ\\xb2\\x81\\xcf\\xe5\\xc7\\x11\\\n\\x1cT7\\xb0\\x90n\\x1f\\xbf~\\xf8\\x91\\x06\\x19N\\x07\\x1b\\\nc\\xbaiD^\\x9fn;rN_\\xd0\\xcc\\xe2\\xd3\\x97\\\n{\\xae\\xcf\\x01[iA-\\x99<\\xcb\\x11\\xd3\\x96\\xfa\\xa1\\\n\\x0d\\xd1\\xeew\\x94\\xf3cH\\x95R\\xfa\\xb8\\xab\\xf6\\xe1\\x07\\\n\\x8f\\xc8f\\xd6\\xa6O\\xc5\\xee\\x01\\xaei\\x00\\xfbV<\\x8e\\\n:\\xba\\xdc>\\xe1\\x89K7\\x0ft\\xfc\\xc5\\xa7wdg\\\nvb\\x8bM\\x80*\\xc1BN\\xe7\\xd1\\x96\\x0du\\x1e\\xd7\\\n\\xc8\\xe7\\xc4_s\\xb8\\x9a\\x10\\x03\\xc4o\\xc0R\\xe2\\x03:\\\n\\x96-s\\xfa1\\xa4\\xce\\x0c\\xd4\\x03\\xbeT6\\xa8\\x0eE\\\n\\xf3uo@v\\xe73h\\xd8i\\x8a\\x06M\\xa5\\xb2\\x93\\\n\\x03\\xfa[p+\\x80\\xe6\\xee\\xb5\\xad{rc\\x92z\\xc9\\\n\\xc8\\x85\\xdbf\\xf0\\xd9\\x00\\xfeJ\\xda\\x8b/\\xc0R\\x15\\xc7\\\n\\xb7h\\xd9\\x8aBd\\x88\\x7f\\xbe\\xa3\\x22\\xa4d\\x83\\xf8\\xf1\\\n\\x0f\\x19\\xa8\\xe6b\\xe9\\xee<-\\xba\\xa0;\\x0cL\\xd0\\xa4\\\n\\xfbH\\xa4\\xf0\\x0c\\x80\\xaf\\x19\\xd3\\x07f\\x82o\\xe5E\\x86\\\n\\x9cD\\x04\\x15j\\x11\\x9a\\x0b\\x16\\xc0*\\x12q@x\\x98\\\n\\x97\\xb7i\\x9b\\xb4N\\xa5\\x05\\xa9\\xe3\\xb08\\x1c\\x80\\x224\\\n\\x1f\\x81\\xb27BC\\x7fW\\xfap\\x9c\\x96J1\\xc1J\\\n\\x9f\\xaf)\\xb6\\xe4\\xda\\xac\\xa5\\xb8@\\xf7&\\xc2]\\xbe\\xfa\\\n\\xeb\\xa92\\xf3e\\x0fn\\x8d\\xca\\xd3\\xcf9\\xd2\\x9d\\x9c3\\\nv$\\xb1U\\xccx\\xdd\\xef\\xe8\\xb2\\xd9\\xa9\\x93\\x1a\\x0cW\\\n\\xe0\\xecS1\\xfcB%o YbV\\x90\\xb7\\xe56\\\nY\\xad\\xcf\\xf5\\x16xI\\x01\\x1b\\xd92\\xd6N,\\xba{\\\n\\xc98\\xd0aw\\xb0\\xea-\\x8d\\xf7\\xe7\\xfa\\xc6\\xf8f\\xbe\\\n\\xd8\\xe8E\\xe4\\xfa\\x09(\\xaex\\xee\\xea&\\x03\\xed\\xb2+\\\n\\xb0=)\\x99\\xa1I\\x89\\xea\\x8c\\x84\\x8e\\xd8\\xc5\\xdf\\xd3(\\\n\\xd4>\\xa7\\x9e\\x947v\\xa9\\x19\\x82\\xee\\xed\\xe3\\x01\\xb0d\\\n\\xf1 tG)\\xe5\\xe5(\\xc6}\\xf7\\x81\\x92Vv\\xbf\\\n\\xdb\\xe6\\xcd\\xf3\\xc4L\\xaaJ\\xef\\xa6\\x8f\\xaf\\x12\\xa4\\x85\\xf1\\\n\\xc0\\x88\\xcf\\xd4\\x1b\\xc7-d\\xa2\\xfeW/U\\xe5\\x89U\\\n\\xe5\\xb4\\x8d\\xaa\\x94\\x09\\xabk4d\\x83\\x99\\xce`\\xbe\\x03\\\n\\xa7wz\\xf6\\xea\\x97\\xe0Q\\xcd\\xcc\\x15\\xa0\\xf13\\xc5T\\\n\\xbb\\xb8l\\x9e\\xbc\\xee\\xa9\\x93\\x98c/\\x99L'Sh\\\nC\\xe9\\xc9dz\\x7f\\x0f\\xc7\\xca\\x94-\\xdd\\xb4\\xa5\\xdcw\\\n\\xef\\x99\\x0d\\x0aC\\x80\\xb5\\x9c-\\x16\\xccO\\xf5t\\x12\\xe7\\\ng<\\xdf\\xe8\\x8eP_n\\xb01IF\\xdf\\xe0\\x0fz\\\n\\xc5\\x9cu\\x17\\x93\\xd9\\x5cM\\xcd\\x96\\xe3\\xbc\\xdc9\\x1e\\xbb\\\n',9\\x22\\xdf\\xdfs\\x03\\x0fmn^\\xd267\\xd5\\\n\\xb1\\xaa\\x84\\x08\\x8b\\xbd\\x9e\\xa7\\xceQ\\xc6\\x1dEU\\xc7\\x05\\\n\\x92\\x096\\xfa\\xc7\\xe0\\xe2\\xbaX\\x888Bc\\x09\\x9c\\xce\\\n\\x0b\\x9f<\\xe1\\x9ab4\\x1a5Fi\\x84=u\\xf0B\\\n\\x85s\\xd8\\x87\\xc5R:*$\\x7f\\xcc\\xf8\\xf4/5\\x09\\\n\\xc8\\xc7K\\xdfu\\xd3\\xe8:\\x9e\\xd4\\xeb\\x99\\xbcJ\\xe2\\x1f\\\n\\x98o\\xecB\\x86\\xf2\\x914\\x99\\x9d\\xfe*\\x871\\xe2\\xd2\\\n\\x96\\xd1R\\x16%B1\\xaf\\x18\\xc96\\xbb\\xc9Z@7\\\n-l\\x05\\x10~`\\xe3\\xff\\xdb\\xa7O\\xf4Zr\\x8b\\xed\\\n\\xae\\xa7\\xbcDbn8\\xa9\\x08\\xd5n\\x96\\xd29a\\xcc\\\n\\xb6|\\x9c\\xea\\xbaq\\xdam\\xa4FT\\xb3\\xc9\\x1e.\\xaf\\\nU\\x80\\x8f'\\xf3v\\x04\\xed\\x10\\xdc\\xdd\\x84\\x83\\x81jo\\\njsN\\xd1^r\\x94\\x89>2\\x01\\x9evT|\\x9d\\\n\\x99W\\x8cn\\x1c\\xba\\xcd\\xf9\\x12-\\xe6RNw\\xf6\\xb9\\\n\\x80\\xb1hy\\xa4\\x1b\\xdc\\xc7%\\x01P\\xd0H\\xf8[\\x0e\\\n\\xbd\\xa5\\x88\\xab\\xec\\x0c\\x90\\xe2\\x97\\xbd\\xd5\\x9a$\\x8b\\xce\\xe1\\\nJg\\x9d\\x0eHK\\xb1v>9\\x0b\\xf2[\\x08\\x97(\\\n\\xe7\\xed\\x93EI{\\x18\\x22W\\x82\\xf8h\\xb4\\x04\\xedm\\\n\\xf2j\\x816[>`p(HS\\xac\\xe4g\\x87\\x01\\\ns\\xae\\xef\\x9f\\x0f\\xd3+\\xb9\\xebF\\xe7\\xa8\\xd7\\x9e\\xd5E\\\n\\xeb\\x87\\x82\\xea\\xa9[\\xe4\\xd4\\x13\\x0a\\xd6a\\xabt.\\x1a\\\nZ\\x9d\\xe2\\xdf\\x828AHT\\x93\\xa9\\xf2g\\xcb|\\x86\\\nb\\x19\\x9d\\x10\\xce\\xac\\xceLH\\xf7\\xa6\\x95\\x84\\x9c\\x22\\x1d\\\n\\x89\\xa0\\xe2D\\x5c\\xe2\\xb9\\x18\\x8e\\x93C\\xa7x&\\xaf\\xaa\\\n\\x07\\xb9\\xf7\\xf7\\x12\\xc1\\x0fxq\\x82'\\x8e/\\x81\\xc4\\x0f\\\nRY\\x10\\xa4JlY\\x98J\\xd1\\xa0\\x8c\\x8c\\x00\\xc5\\x13\\\n^\\xe8\\xa4\\x04I\\x95\\xb5\\xb9\\xdch\\x18E\\xab\\xf5\\xfc\\x13\\\n$\\xc0e\\xc9C\\xe2\\x9c\\x9d8\\xc5\\xa1r\\x9e\\xfb\\xfb|\\\n\\x16\\xc8\\xbcG\\x86M\\x06\\x8e\\xa4\\x1b(\\xbf\\xc4\\xed\\x0e7\\\n\\x19a\\x86\\xba\\x1b3\\x02\\xb1\\x19 \\xbb\\x1f\\xf9D\\xef\\xe0\\\n\\x87\\xa3W<\\x1dE\\x16z\\x15e\\xfb\\xc3\\xb5\\xb6\\xad\\xa4\\\nh\\x1d&\\x8a\\xfcT\\x0e\\xd9\\xec8\\xd2\\x1f\\xbb\\xacW\\xc9\\\n\\x22\\xfa\\x1c\\xcd \\x1b\\xaac\\x0e#\\xed\\xa3\\x1a\\xa5E\\x16\\\ng\\xd7E\\x85\\x15\\x02\\xd5-\\xf1*\\xb8\\x1b\\xc2\\xe8&[\\\n\\xf5]\\xf6\\x95cd\\xd4u\\x1ex\\xaf\\xec\\x95\\x93\\x82F\\\n\\x870\\x10\\xfcd*5\\x0c]\\x8a\\xd4\\xd7\\xb5r\\x8e)\\\n up4gx\\xe4\\x19\\xff\\xc0\\xf5i+\\xed\\xa8}\\\n\\xad\\x92\\x00\\x17\\xe9\\x1c\\xc3\\x91\\xeeX\\x07\\xea'\\xeaS\\x04\\\n\\xd6a?\\xed]\\xe0\\xb0\\xaf\\xdd\\x084\\xfb-8yk\\\n\\xe9\\xebD\\x8e\\xe7\\x99-\\xb6\\x80#N\\x09c\\xfb,2\\\n\\xb5<p\\x98\\x1e\\x22\\x82\\xa2\\xcd\\x16\\xa4:\\xbe\\xcfv\\x09\\\n\\x82d\\x22\\xed\\xa3\\x9e\\x9fN\\xe6\\xe1r\\xa2\\xdc@\\xdf4\\\n=*\\xc9[\\xf1)GD:p\\xca\\x09\\x8c\\x0c4E\\\n\\xedH\\x9cI\\xdc\\x9d\\xd3\\x22/_\\x16M\\x0du\\xc5\\xd1\\\n\\xbam\\xbe\\x16T\\xa7\\xbd\\xe6P\\xb4p0\\xdch\\x96i\\\n5k\\xc1L>V\\xb6\\xec\\x1a=\\x89+\\xa1\\xa0dH\\\n\\xc1\\xa5O\\x04\\x85\\xd2\\xee\\x96\\xed\\x82\\x05\\xbe\\xdb\\xd0c\\x9d\\\n\\xe0Q\\xf3HKr\\xec\\xa3O\\xa0\\x86K\\x8d\\x03\\x8e\\x1a\\\n\\x0f\\x8d\\xe5\\x98\\xef\\xd1\\x8eV2\\x96M\\xd3{\\x9b\\xaa\\x81\\\n\\xdca0\\x08ssh\\xb6\\x22g\\xcb\\xd3lrj9\\\n\\xae\\x9f\\x01\\x19\\xc62}\\x18\\xd4}\\x0b\\xf8\\xf5<-\\xa8\\\nBo\\xb2\\xf8\\x17T\\x81\\xc6\\x98\\xeb\\xd0\\xc3\\xedc\\x15H\\\n7g\\xb4~\\xb0\\x9f-\\xcd\\x0d\\xdd\\xf5\\x9cB\\x1a\\x89\\xa4\\\n\\x1f\\xc8\\xceC\\xd2'\\x19\\x7fI4\\xc9\\xf0\\xe1\\x12\\xb4+\\\n\\xc7{u1\\x93\\x15\\x10iG\\xfe\\xca\\xf0\\x98\\xf3\\xa7\\xf4\\\nXj^.\\xa1\\xc3\\x8a\\xa3\\xca_\\x81\\xe8ot\\xca\\xe8\\\n\\xa9\\xa8E@\\x87\\x19b\\x98c\\xe4\\xdce\\xd23\\xc7Y\\\n9\\x1f\\x13>\\xd2\\xbe\\xb2\\x94IX\\x7f\\xc3\\xc9lO\\xd6\\\nG\\xf0o6:ViL\\xcf\\xf8\\x9c\\xd1\\xb52\\xb5\\xd2\\\n|\\xdb\\x9b\\x8cn\\xa85\\x91\\xe1\\xb0V\\xd4\\xbd\\xdd\\xc5b\\\n\\x96\\xcf\\xfa\\xa2\\xfe\\x8a9\\x94C\\xaf\\x97\\xb70* \\xaf\\\n\\x87\\x05\\xd8x\\xa7\\x02\\x94(\\x04\\x987\\xdbl\\xf5\\xb0?\\\n\\xa4\\xdb\\x01h]\\x1b\\xab\\x02\\x8c\\x80\\xfe\\xacNg\\x93\\xc5\\\n\\x84\\x9cO\\xc5sj\\x80\\xbbs\\xbf\\x9d,P'\\xed\\xcd\\\nky\\x9d\\x22\\xe7\\xdcd\\xb2\\x00\\x96\\x83\\xf4]7\\x22v\\\no\\xe2\\x05\\x84\\x10\\xb8r\\xdc\\xb0\\xb1\\x0e-\\x7fY\\x92\\xd9\\\n\\x03!\\xe3\\xdc\\x8a\\xbc\\x9c\\x94}\\x98F!\\xfc+\\xfd\\xd8\\\n\\xfe\\xdb\\x8f\\x9d\\xa7?\\xde{\\xed\\xbfy\\x9d\\xa7\\xde}\\xfb\\\no\\x1bA\\xe7)&\\x07\\x87\\xf0g+\\xf63\\xdc\\xc4\\xd7\\\n\\xee(\\x1ep\\xbd\\xf0F\\x03\\xaa%q\\x1b\\x1c\\xb9\\xd1U\\\n\\xf7\\x1cMbb0\\x08\\xbc\\x04_o\\xe4\\xb5]\\xdd\\xbb\\\n\\xb4\\xd5t\\xeb\\x88\\xafE5\\xacGx\\xb0\\xb7S]\\x85\\\n\\xad/\\xc9\\xe46\\xc1\\xaa\\x9cMf\\xa7\\xaa?\\x9c\\xbe\\x9a\\\nE\\xfd\\xc9\\xe7$\\xfe-\\x1a\\x98\\xca\\xb1/h2\\x8d\\xca\\\nxU\\x17\\xe2\\xa4\\x81\\xf6\\xdc\\xc8\\xac\\x81J\\x9c\\xc5#8\\\n,\\xea\\xeb\\x1b\\xbd,$k\\xc3\\xd2~\\x82\\x0e\\xfe\\xd1\\xeb\\\n\\xf8\\xa5*\\xf4a\\x1d=\\xc5\\xfe\\xa9\\xe1\\xd1.\\x03\\xf8\\xf0\\\nm\\xc0bvC\\xb7\\xf0\\x14Q]L\\xc8\\xe2\\xccq\\x17\\\n\\xf5\\x88\\x0e\\xb9\\xd0'\\xb5\\xa6w\\xdd\\x1d\\xcd\\x8b\\xc0\\x00\\x8b\\\n\\x00\\xd6i\\xca\\x99~ah\\x8c\\xab\\xeaY(n0\\xd5\\\n:\\x96)OSB\\x189N\\xd3\\xfaY\\xfej\\x8d\\x92\\\n\\x19\\x0f]\\xc9\\xf2\\x04\\xae\\xf4\\xcb\\xb2\\xbd\\x94\\x22\\xa7T7\\\n\\xad K!\\xb3ni\\x80\\x9bK\\xe4\\xd2\\xae\\xbb\\xe3x\\\n\\xf4\\xadY\\xa7\\xfb\\x03\\x12\\xdc\\xf2\\xe7\\xad\\xbc\\xe4\\xe0x\\x12\\\n\\xd2\\xd7\\xe5UY\\x9d\\x9c<\\xa0\\xb9\\xcad\\x00\\x81\\x18\\xff\\\n\\xf0;\\xb2:\\xbf4\\xab\\xcb\\xdb\\xb1:\\x9c\\x80\\xc9\\x82B\\\n\\xa1|7\\xe3\\x11mF\\x8e<]\\xf7\\xdd\\xdeAu\\x0f\\\n=\\xef\\xb0\\xfbno\\x1b\\xbf\\xb5\\x9b4\\xbc[\\x16\\xcb\\x0a\\\n\\xa9\\x0e\\x08\\x86j[\\xbb\\x93\\xd3\\x12\\xc3\\xe5\\x12\\xbbV\\xe9\\\n\\xeb\\xfd=\\xb9\\x185\\xe0\\x5c-\\x08\\xfb\\xc1\\x90\\x13\\xd4\\x89\\\n\\x08?\\xa96([\\xf8*i|\\xdc\\xaa\\x15\\x0aY\\x11\\\n\\x11\\xca\\x04\\xc6\\xce\\xbd\\x9c\\xb5\\xfd\\xca\\xee\\x0b\\xe39&Q\\\n\\xfc\\xbcTH*}6\\x1b\\xe1T4\\xb7Y\\xe2D\\xbd\\\n\\xb7\\x10\\xef\\xe9=\\xafI9U\\xf5[\\xbdY\\xd4\\xfd\\xc2\\\nN\\xce\\x17*MZ\\xa9\\x12\\x85^\\xb8\\x89\\x0e\\x96U~\\\n\\x8b\\x09\\x86\\x84\\x99\\xddi^\\x8b\\xd3>\\xf1\\x8aw!\\xe3\\\n\\x16\\x0f\\xe5 hk\\x0aW+B\\x88\\xb4G\\xbd\\xde\\xaf\\\n\\xd4\\x09\\xd2+\\x1a\\x04\\x91\\xae\\x1a\\xebSy\\xf5\\x1a\\xe6\\xc9\\\n\\x9e\\xc8g\\x98\\xb5\\x0d+\\x15\\x88\\xac\\xb0\\x8dx\\xc3\\xa6q\\\nT\\x8f\\x95\\xae`}\\x87\\x8a\\xb5\\xa7\\x8b\\xbf!\\x84\\xd5S\\\n\\x03:\\x00\\x86K1\\x97%\\x0f\\x91\\xb5\\xad,yZ\\xac\\\n\\xce\\x07\\xe6\\x16\\xc4\\x0f4\\xact\\xc7\\xa18\\xd4\\x1cBW\\\nx\\xe5a\\xc0\\xa1\\x01\\x9d\\x1a\\x87~\\xd3\\xa4\\x96\\x9dT\\x84\\\n\\xb5\\xbbL\\x9c-;F\\xb7\\x1e\\xdfS\\x09\\x95\\xee6\\xf8\\\n\\xd04\\xb6I\\xc5\\x91\\xf3\\xb8O\\x9f\\x94\\xed/\\xd5\\x00a\\\n\\x22\\xc6\\xd3p\\xd8\\x1a\\x86\\xc9\\x10\\x91Ah\\x95\\xab\\xc4\\xf0\\\n\\xd0\\x10\\x0c'\\xb3\\xf87\\xa0_0\\x08l\\xd3\\xac\\xf0\\xf2\\\njXxq\\x05G\\x176AV\\x987Y\\x97\\x99(\\\n\\x14\\x19\\xb7z\\x80\\x0a\\xe6a\\xce\\xeb\\xdc\\xe2\\xa2p^\\xdf\\\nd.x\\x89\\x14s\\xaf\\xde\\x06\\xc3`\\xc0lS1~\\\n!\\xbayIL\\x80sRV-\\xb1\\xc7\\x05\\xcc\\x10\\x95\\\ngI\\x08\\xcc^\\x91{/z\\x7f\\x8fY\\xfb_2+\\\n\\xd6\\xed\\x10\\xe6]\\xd9<X\\xce<\\xfcZ$P\\xbd\\xcd\\\n\\x9d\\xa0\\xf9\\xd3\\xd6\\xf8g\\xcf\\x19\\x8a[\\xd51<\\xd8\\xd6\\\n\\x0e\\xb8\\xb6U\\xe8b\\xd0v\\xfd.\\x94\\xce:a\\x8a\\xf0\\\n\\xad\\xf9\\x15&\\xdaWs\\xec\\xa8l\\xf9,\\xa6\\x17z\\xfb\\\n\\x95$\\xa9Loq\\xf1~\\xb5\\xee\\xb4\\x9a\\x16\\x1c\\xa5e\\\n%\\xadb\\xca*\\xf7\\xcc%W\\xe9\\xf8\\xf7\\xa9R\\xa8P\\\nO9)-d\\xc7\\xa7%\\x823\\xbcW\\xe9S\\xf5\\xd3\\\n\\x00\\xff\\xf3\\xab\\xc8\\xad\\xff\\xa9\\xee\\xf9$\\xb3j=t\\xb7\\\n\\x8a\\x9a\\x0f\\xad\\xdc+\\xea\\x8c\\x08&u\\x9b9\\x8e\\x13}\\\nU\\x8f\\x16GM@\\x9e$\\xd4\\x02\\xfb\\xd4?\\xff6\\x1e\\\nGP\\xf7>\\x1f\\xc0\\xd3gz9X\\x1a\\x81A\\xe6\\x8a\\\nZ\\x19\\x95z\\xf8\\xc4\\xee\\x0a\\xaaQ\\xae\\xe3\\x07\\x05\\x07\\xea\\\n\\xd6\\xa3DN=\\x94\\xab\\xa2@\\x84N\\xee\\x0f\\xfb}E\\\n2\\xf3rr\\x97\\xbf\\xfau\\x89\\xf6\\xeb7\\x8aDi\\xe5\\\n,\\xe9\\x8e\\xf0,Q*8h1\\x12\\xbc6\\xc9\\x14\\x90\\\n!c0\\x0cx\\x0b\\x93\\xf6\\x02\\xff\\x88bt#\\xd1\\xc6\\\n\\x01i\\x19zh8\\x80o\\x9e'\\x8fQ\\x12@/\\xb7\\\n\\xf4>\\x00\\xede<\\x06\\x1e\\xadk\\x18\\xe1\\x16\\xd9\\xdax\\\n\\x84\\x8c\\x89\\x0c\\xfd\\xe7H\\x99\\xea(\\x06\\xea?\\x1a\\x0b\\xfa\\\n\\x0e(\\xc0\\xc2\\xb4\\x5cl#\\xe4L\\xbd\\xebxTt\\xc6\\\n6\\xcb\\xb3\\xfa\\xf4\\xd3\\xd6\\x96{\\xaen\\xff\\x0dN\\xa3\\xb5\\\n\\xca\\xb3_\\xab\\x95\\xce\\xd6\\xe7\\x18\\x13y2\\xea\\x87\\xdd%\\\n\\x9ar\\x88\\x1fj\\xa0c\\xd3\\xaaF\\x90\\xcc\\x86\\xb7\\xe0\\xd0\\\nKu\\xc1\\x03b\\xa4\\xa0O\\xe2Y\\xd9\\xdb\\xf2\\xca\\x84E\\\nkbW\\xff\\x8e\\x17\\x88\\xf8\\x1e\\x13\\xa2\\xcb\\xa1\\x07aX\\\n\\x22G\\xff\\xee\\xe8\\x97\\xeah\\xd2\\x05\\xa2\\xd8\\xa6oL\\xfd\\\np\\xf1\\x9a\\xa0|8z\\x96\\xf8\\x1c\\xcb\\xac\\x9e\\xa8\\xbc0\\\n\\x8djS\\x0dP\\xbf\\x98\\xde\\xf4y\\x1d\\xe6\\x8e,!\\xc2\\\n'j~\\x87\\x9c\\x90^D\\xe8;fqt\\x8dD\\x88\\\nJ\\x92\\xfe\\xe5\\x92\\xe8L\\x95}a\\xc8\\x8fU\\xf1\\xce\\xa9\\\n\\x8fO\\xadq\\xef$\\x8f\\xa7*\\x82\\x87\\x03B\\xf3\\xb0M\\\n\\xfe\\xc7\\xb9\\xb6\\x04\\xc6\\x97\\xf4\\x88\\xaa;*\\xd8\\x9eZ\\x98\\\n\\x93\\x8f\\x8c\\xea\\x1a\\x9e\\xe1\\x0f\\xd1\\x18\\x8a\\x0a\\xf8+\\xfd\\xb6\\\n;\\xa4\\x0c\\xf2Z:~\\xae\\xaa\\xd1\\xc2w\\xcd\\x06W\\xc1\\\n\\xfajY/oQ\\x81\\x1af\\x22\\x9c\\x1b\\x01h\\x8e\\xed\\\n\\x99s[\\xe5<j+\\xcb\\x1f\\x0d\\x06\\x04\\xc4}Q\\xf4\\\nxI??\\x0akA\\xb9\\x9cz\\xa3\\xfe\\x02'\\x88z\\\n\\xe7\\x7f\\xf4\\x0b?\\xa6O]\\xd1t\\xefh\\x00\\xa0f\\xa8\\\n\\x91(\\xcf\\xe77\\x80\\xc8\\xc7\\xe3\\x9b\\xf1\\x06\\xab$\\xceU\\\n\\xb5\\xa1c6\\xa8\\xe9\\x1b\\xd1]?\\x8a`\\xfa\\xb4P\\xfc\\\n@f\\x12X\\x00q3\\x9b\\xc7_#\\xc9\\x07l\\xf8\\xe8\\\n\\x90\\x94\\x15\\xd9\\xfeX\\xe1\\x95:\\x9b;\\x08D\\xab3\\xf8\\\n\\xaa>XA\\x8d\\x8cq\\x88\\x87\\xdah\\xe0\\xdc\\xa2h%\\\n\\xde\\x96G\\xda\\xbb\\x19\\x15\\x8a9\\xa0\\x81n<C{,\\\n*l\\xae\\x86H8R7\\x17AKBr\\xa8\\xb49\\\n\\x9b\\xce\\x13\\x86>\\xde\\xe0\\x96\\x8b\\x06\\xa2\\x5c7#\\xe1\\x8b\\\n\\xc0\\x13\\x16\\x8aut\\x91\\xfbX%\\xa3\\xe7u\\xc0o\\xb0\\\nPT\\x8e\\xa98\\xff\\x96p\\x18\\x97\\xf67UG\\xc0r\\\n\\xdb\\xc1\\xf37p97\\xe3D\\xa5\\x9a\\xc4:\\xab\\xcf\\xd1\\\n\\x81rN\\x97\\xd4\\x80\\xac\\x1a\\xcfQ\\x96\\x82\\x02X_\\xf7\\\n\\x9e\\x95\\xf8V\\xa2BUzU\\xd5\\xa1:\\x8f\\x07Q\\xa8\\\n;<(\\xa5.\\xfa\\x19\\xdah2p\\xd8\\xd6e@\\x83\\\nq\\xa1\\xe1JS\\xe8m%D\\xa9\\x1d\\xae_\\x9a\\x04Y\\\nhn4%2\\x88\\xcdg1=\\x04\\xa2\\x89\\xde|\\xd3\\\nD[YtH\\xbfh\\x8bF#=\\x0e\\xf1\\x9c\\xb3B\\\n'Xz\\x1b\\xceM\\x1fk\\x90Io\\x1a\\xa3\\x0a\\xd9\\x97\\\n-liz\\x0eK\\x91\\xfb\\xa2R\\x0fbN\\x8f\\x83q\\\n\\xe8\\x1a]\\x88\\x9f\\x8f[j*\\xbbJ\\xc51Lf\\x99\\\n\\x88%FX.\\x07Hj\\xd0\\x03\\x06E\\xd7P\\xdd\\x9e\\\nR\\x0e\\xc7a\\xadY\\xc2p\\xa5\\xc21\\x9b\\x9bT\\xf6s\\\n2\\xc9@\\xb5\\x88+B*\\x04\\xc9\\xa6\\xac\\x14\\x0b\\x8b\\xbd\\\nh`\\xfb\\x99u\\xc9\\xf2\\xcfU\\xb7\\x07\\x8b\\x86\\xc2\\x1b\\xd4\\\n\\xf1|\\x9d\\xda\\xedm\\x90j\\x1cM\\xb6\\x0d|\\xf3\\x07K\\\n\\x9c\\x5c}P\\xe5\\xdc\\x17<\\xb1o\\x84\\xb2%\\xc83\\xf3\\\ni7<\\xaa\\xfc\\xb5s\\x8f~\\x5c|T@\\x816\\xc4\\\n\\xe5\\xb0\\xd1D\\x05j\\xe2\\xf1\\x00g\\x98\\xf7\\x12(\\xd0m\\\ni!\\x8c{]\\x801\\x1a9*\\xcdp\\xf3\\xc3\\x90@\\\n\\xf5\\x06\\xf5i^\\xfe\\x13o\\xd0J\\xe1\\x08\\xb6\\xbb\\xc7r\\\nj\\x80)\\xa8\\x19\\x9a\\x1b\\xa3\\xe1\\x91\\xe3\\xd9c\\x98\\x9e\\xd4\\\n\\xa4;\\xbeH\\xcf8D\\xc4\\xb6\\xce\\xf2T3Z^\\xdb\\\n\\x0b\\xc35:\\xe8tK\\xfd\\x08!\\xff\\x06\\xbfZ5\\x11\\\n\\xc1\\x16\\xda4\\xf2\\x01\\xc1\\x13\\xd9>\\xa0O\\xe5\\x80\\x96R\\\nI\\x13\\xb4on\\xe6\\x8b\\x97\\x11\\x81\\x88\\xad)I(\\xbc\\\ns\\xdf\\x18\\x18\\xe0\\x8c\\xfe\\xe4c\\xfb(@kA$\\x1b\\\n\\xe3sE\\xb1\\x9e\\x1b\\xae\\xfb\\xc9\\x94n]S\\xe4\\xd7'\\\n\\xa2\\x00D\\x06\\xd35\\x851\\x14\\x97{\\x1b\\xc3a\\x01D\\\n\\x95\\x8c\\x11a?\\xf2{\\x08\\x043\\xa98\\x95\\x9c\\x08\\xae\\\n\\x1c5\\xbf\\x11\\x8dK\\x98\\x80:\\xf1~\\x0b\\xbfd\\x06>\\\n\\xa7\\xc7jxc\\xa6-\\xb2P\\xaa\\xe1*N\\xc7)\\xb4\\\n\\x82\\xa0\\x9d\\xce\\x89\\xdas*\\x07\\xceX\\x18\\xcd;|h\\\n\\xe7d.\\xbbuB\\xdd\\x9c\\xa0\\xa0\\xb5!U\\xe4\\xef\\x93\\\n8)y\\x1b\\x1e\\xccv\\xba\\xc7\\xc2\\xfe['Fa\\x89\\\nE\\x92\\xd5|M\\xc1\\x99\\x01%\\x03\\xa4\\xaf\\xde\\x9e\\xbe\\xbc\\\n8=\\xfaK\\xf5\\xed\\xe9G\\x0c\\xd0\\xa2\\x88\\xc6\\xef\\xa3\\xd9\\\n\\xab\\xa4?l\\xeeW\\x1b\\xc1\\xf4N\\x87\\x1a\\x81\\x99\\xa9f\\\n\\xc9\\x0c\\xf01\\xbf\\x88\\xdf\\xe1\\xdb\\x10\\x9f\\xca!\\xb9\\xaf\\xff\\\n4(\\xdf\\xc3?\\xf9~\\xea\\x1f\\xfa~izw?]\\\n\\xdcG\\xe3\\xfb\\xe8\\xee~|s?\\xed\\xdf\\xc7\\xc9\\xfdx\\\n|\\xdf\\x1f\\xe3u\\xe3*P=\\x95*E\\xf4\\xc7\\xfb\\x22\\\n\\xd6\\xb0\\xd6\\x0d&\\x03\\xc1']\\xa33`\\xb3\\x17\\xfaj\\\n\\x02\\xf7j\\xe0\\xbfo\\x92x\\x11\\xaak\\x15\\xd1?\\xc23\\\n<\\xacpL:\\x1c7\\xbd\\xe8N\\x87\\xaa;\\xdbO!\\\nf\\xba0\\xe9[\\xf5\\x1aD\\xf4uD\\xbd\\xda \\x10\\x93\\\ni\\xfc\\x94j\\xa5\\xbbo\\x8b5\\xb2t\\xffyqR\\x08\\\n\\xdb\\xf4\\xfa\\xe3bD\\x8d\\xea\\xeeN\\xd3\\x1b\\xaf\\x83\\xd8\\xad\\\n\\x22\\xc4\\x8d]\\xdf\\x038\\xdb\\x07\\xa7V\\x1f\\x9aq\\xa2\\x89\\\n\\xda\\xed\\x01\\xab\\xeb?\\xdf\\x8b*;\\x87^\\x0d\\xfa\\xa29\\\n\\xae.&g\\xf1]4(m[\\xe4\\xeaS\\xf5\\xb0&\\\n\\x04\\x9c_\\x0d\\x04dW7\\xff\\x00\\xce\\xec\\xbd\\xe2B\\x98\\\n\\xdf\\x10\\xdb\\xbc\\xbf\\x8f| \\x91t\\xf5U\\x0b4\\xaa\\x98\\\n\\xdb\\xe4o\\x9b\\xc5\\xac\\xc9\\xd3Tk\\xcd\\xfa\\x18q\\x8d\\x8f\\\n~x\\xc5{\\x0b\\xd2&\\xc6\\x95\\xa6y\\x0d\\xb2[\\x9c!\\\nI\\x14{\\x98\\x1bk\\x91\\xa9&\\x9c\\x918\\xae\\x90\\xdcp\\\n2\\x97\\x9eL\\x92\\x08\\x8a\\xa7\\xa8\\x5c\\xfa\\xc2Lyn\\xa9\\\n!#\\xb2\\xe8E@V\\x80\\xd7\\x0ar\\xec\\xae/\\xeaw\\\nj$\\x19\\x16\\x16\\xaa\\xe8\\x0e\\x02Y\\xc9\\xb1\\xeeJ\\xe77\\\n\\xd3\\xe9d\\xb6\\x88\\x06b\\x83\\xd8\\x8e\\xcaj\\x9e\\xad\\x02e\\\n\\xb23\\xaf\\x9eZ51+\\xa1A\\xde\\x11\\xd8\\xe7:i\\\n&\\x1a\\xf5\\xd8(\\x19\\xc0!\\x18wd\\x01 Sa\\xa4\\\n\\xc9(\\xdc\\xcc\\xae\\xe8\\xf3\\xa9S\\xfa\\xa7\\xad8\\xb5\\xd5\\xca\\\ne3Y|\\xd37\\xcf\\x96\\x91F\\xb2\\xf0\\xb4\\xf1\\xe3\\x9f\\\n\\xeb?\\xa2\\xd5\\xd1\\xafr\\xa1\\xdb\\x1f\\x8b\\xb8\\x17\\xa2\\xd0z\\\n\\x0f^\\x8e\\x96H#\\x12Rr/\\x94\\xb9\\x00\\x098\\x05\\\nX\\xb8\\xcd\\xfb\\xae\\xf1\\x00e\\x09XL\\x1b\\xfeH\\xa9\\xd0\\\n\\xde\\xd0\\x82\\xc0\\x1b\\xd8C\\xfe\\x85\\xad\\xae\\xc9_)U\\x0c\\\n\\xb2\\x9c\\xea^ \\xa0\\xce'\\xdaO\\x85\\x7f\\xac(J\\xe2\\\n\\x1c\\xbez\\x828}\\xd5\\x82\\x88\\x9eP\\xc7nn\\xa6J\\\n\\xe5m\\xa9-e\\xd7;\\x9d\\xc3T\\xd8\\xb1B\\x05\\x88\\xb4\\\n\\x09*\\x00\\x91\\xd3\\x5c\\x03U?LE\\xa1\\xe4L5W\\\n~\\xb3\\xf4\\x07\\xcf\\xda\\x8d\\x9c\\xb3\\xf6\\xf7\\x9f\\xb2G]`\\\nH\\xedA\\xc3\\xc3v\\x80\\xcd\\xadu\\xac\\xbe\\xa8u:\\x22\\\n\\x0c\\xb7\\xa3\\x1e\\xd9\\x179\\xfa\\xc3\\xd6\\xe4Zo\\x19\\xca\\xaa\\\n\\xd9Z\\xf3P\\x16\\x9cc#J\\xd9\\xc84\\xa5\\xd0\\xbc\\x09\\\n\\x80\\xdc\\xe8\\xa2\\xe0\\xdb\\x12\\x99\\xc1tN\\x03\\x93\\xa0i\\x99\\\n\\x92\\xb7QR\\xd5\\x88\\xd5<\\xab\\x0a@\\xb6\\x02\\x9aVi\\\nL\\x8f\\x95W\\xcc\\xd0M\\xf5\\xe0\\x9c$\\xf9\\xfe\\x92@a\\\n\\xd1\\xf0\\x016CI\\xd0a\\x22b_zeS)\\xd2\\\n\\x15\\xe7\\xc5\\xc5t\\xb5\\xe4\\xf5\\xbd2\\x1f~m\\xb9b\\x7f\\\n4\\xbbov\\xd2\\x1c}\\xfbo\\x10Yj\\xc3\\x1f\\xbf\\x8c\\\nixE\\xd0\\xe2\\xe2K\\xd61:\\x85H\\xa1\\xe1\\x8d\\x03\\\n\\xbf4\\x19\\xb7p\\x8f\\x10\\x8an\\x0e\\xad\\xc8\\x19F\\xf2\\xf3\\\n(+\\xb6\\x8f\\xb1bU\\xff1\\x12\\x11#\\x01\\xb1N\\xfc\\\nM\\xee\\xe9u\\x82\\x8f\\xa0X`\\x822\\x11\\x99'\\xbc3\\\n\\x09\\xc1\\xc5\\xbe!\\x02\\xcd\\xb1\\xfa\\xba4\\x93\\xce\\xa2\\x08{\\\ns\\xe6\\xb6\\x07v\\x02\\x1b\\xf4\\x0f\\xbd&\\xd2\\xa8\\x14F?\\\np\\x22\\xec}\\xd8\\xd8\\x1d\\xd2\\xe5e\\x8b\\x93^\\x0d\\xec\\xed\\\nU]A\\x05\\x0e\\xb6\\x86\\x1f\\xe4\\x0aN\\x9c\\x9c\\xd9\\xb1u\\\n\\xa7\\xcd\\x06\\xcd\\x02f\\x01,\\x9e\\xeb\\x1ec\\x85o2\\xd1\\\nM\\x8c\\x15o\\x06\\xbeO\\xcb\\xc3\\x15\\x0e);\\xa3x'\\\no\\xee\\xa20\\x09E\\xf6\\xb8\\x904\\xbc\\xf5t%\\x93\\x81\\\nEJ\\x8eL\\xe9p\\xbdD\\xa9\\xf9(\\xc1\\x13>\\x15\\xbe\\\n\\x5c#\\xa6\\xb2.\\xa6B\\x80\\xb5\\x97u\\x16\\x18\\xb8\\x0aN\\\nJ\\xa97\\xd3\\xa2\\x96\\xa1\\x01\\xbabYTN\\x91\\x17\\x11\\\nj;TB\\x9f\\xe3\\x8b\\xa9\\x84\\x9a\\xdf\\xccJ!a\\x01\\\n\\xd4T\\x0c\\x1f\\x1d\\x8f\\xb8\\x9a\\x86\\xd6\\x1b\\xfb\\x95L\\xc5\\x80\\\n\\xda9\\xd9L\\xb5\\xa8\\xce\\x02\\xa4l[\\xd2\\x19\\xc4\\xa6e\\\n\\x96\\xde\\x8cP:T\\x94I\\x8f\\x0fg\\xf0P\\x1f\\x15g\\\n\\xe2F\\x1d\\x16K\\x8f\\x1e\\xd5`\\xc2C\\xd0\\x15\\x04\\xef?\\\n\\x04.\\xa4\\xa6Y Ft\\x04\\x882\\x1c\\xe9\\xa9\\xe6<\\\n\\xa7\\x97\\x8e\\xed\\xa3 -|\\xc8\\x0ac_of\\xc6\\xce\\\nb\\x9f\\xf71\\x16o\\xa2h\\x8cl\\x7f\\x96\\x9c\\xc7\\xf2\\xea\\\n\\x8d<\\x1a\\x90\\xebk\\x83\\x03\\x10\\xcd\\x97\\xbf@\\x0b&\\xe3\\\nc1\\xbdZ\\x22\\xb6\\xe8\\x15l\\x1a\\xfd\\xa0\\xbe\\x87;3\\\n\\x1a05\\x03`\\xd9\\x0c\\x8d\\xee\\x16$\\xe9PVz\\x9f\\\n(+\\xbd\\x94\\xa2\\xa6\\x0c|\\x13]\\x86\\x9a_\\xa5\\xa4d\\\n\\xa8\\x0bzO\\xa22\\xda\\x15Zfc\\xbf2\\x5c+=\\\nM\\xb3\\x05q\\x1b\\xfcX\\x0d\\xa1\\xca!R\\x17\\xb4%p\\\n\\xb5\\x0a\\x12\\x80y5O\\x99\\x0136M\\x0b\\x85Z\\xba\\\n\\xa89\\x9e\\xc3E\\xd8\\x9f6p\\xcbwiV\\x11%\\xcb\\\n C\\xeb\\xc12\\x08\\xef\\xf1\\xa5\\x8d\\x15\\xfb\\xe4\\xf8\\xb2\\xd0\\\n`\\x9c\\x9f\\xd63\\xbd\\xaf\\xfa\\x1b\\x87\\xc0\\xc2\\xab\\xc2\\x8e/\\\n\\x0f\\xd5\\xad@x|\\x09\\x8c\\xa7\\x0cl@\\x01\\xbf\\xa9\\xad\\\n\\xe2\\x06tH\\x0a,~ u\\x8eEJ\\xfc\\xee/\\xfe\\\nR\\x14\\xca\\xdc;\\x0fQ.\\xf3\\x9aR,\\x03g\\x0e\\xa4\\\n\\xdfu\\x05\\x82S\\x94\\xf5\\xd2Vk\\xf1\\x92T\\x98./\\\n\\x04#\\x9a\\x9e\\xd3\\xd2b\\xa2\\xd8l\\xade\\x03\\xf0\\x8f\\xa5\\\nP\\xa4\\xfc\\x1c\\xeb9E\\xa1c\\x1d{\\x9c\\xa8g\\xd0H\\\n\\xa9m\\xc1\\x96A\\x97^S\\x9d\\x89\\xff\\x1e\\x0a\\x13\\x1e\\x07\\\n\\xe4\\xa7s\\x1e\\xd6\\xd7\\x199\\xb6\\xbb\\xb0\\xc8F\\xf1RW\\\nG\\xcf\\x1fKS\\x0f\\xca\\xe6\\x82\\xdch\\xe8(Xi5\\\n\\x14\\xc1s\\xb2\\x9f3\\xe7x\\xfe\\xfc=\\xd0&\\x07W9\\\n\\xa3D\\xfd\\xf9\\x92\\xfa\\xc7\\x8c\\x94\\xd5\\x97x\\x95\\xf6\\xd0|\\\n\\x86f\\xd0\\x84R[G\\xc6\\xdc%_\\xa5zme\\xd1\\\n\\xc4L'%6\\x8b\\xae[\\xc5}\\x5c\\xfb\\xe7\\xf4qA\\\n_\\x16u\\xfdJ\\x81W*\\xcf\\xc3\\x9a{\\xac2S\\xf1\\\n\\xf5d\\xf2\\x05\\xa9]\\xde4$#?\\x1b#\\x86\\xd0\\xb3\\\n\\xde\\xfb\\xb1\\x83\\x8a\\xccvQ\\x1d5\\x9c\\xff\\xac\\xc1\\xfc\\x82\\\n~R=8$\\x8e\\x06h\\xea\\xe5\\x1a\\x8eNT3\\xac\\\n\\x07\\x14Ouq\\x05\\xe7F0a+\\xf1\\xa4F\\x92\\x9a\\\n\\x85\\xb4\\xe1a\\x1ah]\\x98\\xe6\\xdb\\xafQ\\x17e\\xb8\\xf0\\\ndx\\xc3<C8%\\xbe\\xe5\\xe9\\x1f*c\\xdf\\xbc6\\\n\\xf9\\x95\\xb0\\x5cZmnJ\\xcd\\x94\\x05\\xb8\\xb8R\\xb1l\\\n.\\x15\\xe9M\\xe8\\xc7\\x07975~\\xf0\\xf0\\xf6\\xeb;\\\n\\x03\\x95\\xe5!\\xfdV\\xce\\x18\\xbd\\x9b}H\\x8c\\xd6<A\\\n[+\\x0f\\xc6\\xe5\\xc6J\\xde\\xd0\\xa5\\xa7\\x88&\\x0f\\x93+\\\n\\x87\\xb6\\xcc]`\\x82\\xeeag\\x88D\\x8cN\\xe4\\x0e;\\\n\\xafx\\x84h\\xcd\\x96\\x08UAO\\xfa\\xf6eX\\xa9]\\\n)w\\x0eK\\xedj\\xd0Q\\x02o\\xfe&\\x817\\x028\\\n\\x02\\xef;\\x96v\\xa3\\xd8{\\xda\\xc7d\\xd8\\xc6}#D\\\n\\x8f\\x92\\x87\\xaf\\x8f\\xe8b\\xc0\\x12\\x89\\xdbu\\xcdU[p\\\n\\xaa\\xfb\\x87\\xea\\x8b{\\xaf\\x980\\x07\\x8c\\xbe\\xbb\\x91\\x84)\\\n\\xc5\\x7f\\xfd\\x0e\\xe2\\x11M\\xca\\x9900\\xca8g\\xd8\\x1e\\\n\\x83\\x9a'\\xfar\\x0bg\\x0c$m\\xa0\\xcc{\\x9e7I\\\nP]-m\\x09\\x88\\xcd\\xbb?\\xbc\\x88\\x0dI\\x16\\x82\\xfc\\\n%\\xe8?\\x8a(+\\xe6\\xe1\\x8b\\xca\\xf8\\x80\\xa9\\x7f\\xb3\\x09\\\n\\xba\\xab\\xdc\\x7f\\xdc^\\xa8)\\xe7?\\x8fJS\\x1f\\x01\\xc7\\\n\\xa0\\xb6\\x80\\x95M\\xa077\\xfb(S\\xc7^\\x5cC\\xaa\\\n\\xbf\\xb8\\xc3I\\x1abo'\\x8b3\\xd4%\\x05\\xce\\xe8X\\\n<\\x1a\\xa5\\xe9\\xf4\\x9f\\xeb\\xfa\\x01\\x0d\\x15\\xa1\\x07S\\xe9\\x16\\\n\\x16\\x0b\\xc0\\xe4yX\\x81\\xe88\\xf7\\xc5\\x98\\xa0-\\x9e%\\\n\\x85\\xd8\\x8d\\x1e$C\\x16\\xe1\\xb7o\\xb3\\xdd\\xe3\\x82\\xb2A\\\n\\xa5\\x1e\\x02\\xe6<->|\\xd0vXsI\\xef\\x05\\xc3\\\nv'@\\x85\\xa4/\\xa8\\x09!\\xaf\\xfb<OkG\\x10\\\n1\\xb4N\\x0d\\x9f>\\x1d\\xb6\\xff\\xb4\\x5c}\\xfaD*\\x01\\\n%\\xf8S\\x8a\\xfe\\xe1\\x1f\\xce\\xa2k\\xbc\\xd7_\\x02-\\xe2\\\n\\xe5\\x01\\xd3\\x1bs\\xa9y\\x8d\\x5c\\xcc\\x9f\\xe88\\xda\\xe7\\xc3\\\n\\x8b\\xd2\\x9f\\xc0I\\xecs\\x12\\x95\\xe0\\xa8:\\x90v\\xef4\\\n\\xad\\x05j\\xf5(b\\xe2Y\\xf3%\\xc0\\xbd=X\\xae\\xd4\\\n\\x83>\\xdf\\xb4\\xe5K\\x18\\xc3\\x8eg\\x15Q\\xfa\\xf2\\x1c\\xa0\\\n775zG{\\xe0\\x0a9\\xac,j\\xd2\\xafVH\\\n\\xff\\xc4X\\xe9\\xe2g\\x03\\x1b\\xa7\\xf6Sz\\xed\\xc6\\xc4M\\\n\\xe9\\x83\\x18 V\\x09\\xf1\\xf9\\xf7\\x8f6\\xd7j\\xac\\xfd\\xf0\\\n)\\xd3\\xec'\\xba(\\xa5t\\xc2\\xbf\\x95\\x8a\\xa9\\x98\\xe8\\x83\\\n\\xd00Yu\\xe3\\x02\\xb3\\xca!\\xe9\\x11'\\xd9'\\xec \\\n\\x17\\xd1\\xe7\\xd3\\xbbi\\xdb\\xfb\\xd3\\xa6\\xa7hx\\xeb\\x0fw\\\n\\xf5\\x8aZ\\x82\\xea9\\xe5\\x10p\\xd2\\xe6\\xe5\\x95\\x8a\\xe6\\x12\\\n\\x8e\\x80j\\xc0!\\x8ds\\xe3{\\x0ao\\xa4\\x0a\\xf7U7\\\n\\xfaj|\\xfd\\x7f\\xcaTm\\xac\\x9b\\xaa}-j\\xe4\\x95\\\n\\xb6\\xe5\\xb4\\x0a\\xaf\\xaa\\x80K#\\xbd\\x1b{\\x80j\\xd4w\\\new\\xcc\\xe4\\xf9\\xa5dt/8\\x16C \\xaaW\\xd1\\\nl\\x1c'\\xdd\\x05\\xdf\\x82\\xa2\\xd1B|\\x9f\\xb8\\xd0\\xb1\\xa8\\\n>\\x84(7\\xc8C\\x99>\\xd2|\\xb1\\x97\\xf7\\xa3;X\\\nu.\\xab\\x90\\x11\\x11\\xa3+\\xa2\\xb6\\xd1ow\\xed\\xa2h\\\n%\\x05\\xdb\\x12\\x1e\\x1a\\xd5\\xcf\\x98\\xc1\\xf3;\\xa4\\xe2\\xcf\\x15\\\nzQ\\x97;\\x94\\xb6z1\\x97B\\xdb\\xa1\\xa7\\x0c\\x86\\xc4\\\n^9\\xa2\\x0a\\x22\\xb1t\\xf8\\xb2\\x84/92\\x97-\\xf2\\\n0\\x98e\\x8212\\xc83\\xb2N\\x02\\x1dk\\xb5\\x924\\\n\\xef$\\xba\\xce\\x7f\\x98\\xc8/-\\xb5\\xdf\\xa4 \\xc7?G\\\n(\\xaf\\x16\\x01\\x8ds\\x9b\\xf2\\x084\\x99{\\x1c\\x85\\xcb\\xd5\\\n{\\xb5%\\x8c\\x9f\\xe7\\x01\\xef\\xd4F\\xaf\\x8ez\\xc6#\\xef\\\n\\x89\\xa2b\\x07\\x81>n(\\xb0\\x03\\xa4x\\x1b\\xa12\\xa5\\\n\\x8c\\x0e\\x1d\\xae\\xdbC\\xc4T\\x0e\\xfb\\xe5lZ\\xd3\\xfb\\x81\\\n\\xb5\\xd5\\xf8w}\\xfef\\xa9\\xf4\\xc4\\xac\\x9fz\\xe5Y\\x07\\\n5\\xaa\\xfb/,\\xad\\xe0\\xf4\\xed\\xedh\\x14}\\xc6]\\x16\\\n\\xba\\xf5=\\xda\\xf3\\xc4K\\x5c\\x8e\\xdbH[\\xf9\\x04\\xa2\\x17\\\n\\xcd\\xc8\\xf7\\x02\\xcaDt\\x9b\\x1d\\x1d`'\\xa0ah\\xbd\\\n\\x92i\\x9ey\\xbb_\\xa9\\xa3R\\x15w\\x9d\\xdf\\x94\\x9a;\\\n\\xd2\\xaf\\x82\\xfc\\xab@\\x12,\\xefX\\xb0\\x1a\\x1az\\xa6\\xce\\\n\\x1b\\x9aJ\\x93\\xb8\\x8b\\xee\\xaa\\xe7u\\x15Y\\xfa\\xdb}\\xfb\\\no@Q\\xfc\\x12\\xe9\\xf3=\\xfd\\xf4\\x89\\x85b\\x7f\\x228\\\n\\xc0%\\x92@\\xc8\\xc1}U\\x06\\x84\\xb2\\xa6\\xdc;\\xd3\\x97\\\n\\x1f\\xce\\xceN/2w\\xa6/o\\xae\\xa1\\x87\\xd0\\x16\\xa5\\\nui\\x1a\\xcb*\\xdb\\xe8Q\\xea\\x06\\xbeF\\xf9>\\xa5d\\\n\\xa8\\x10\\xd4\\x04o\\x88\\xb0\\xbc\\xa3\\x9b\\xcf\\xc4\\x9d-\\xc9\\xfd\\\n\\x16_\\x00\\x8b?-r,\\x16\\x9c\\xa0S\\x0cz\\xf76\\\n\\x17\\x97<\\xc1%\\xaa\\xb6\\xdfL\\x11\\xf8\\xe2\\xea\\xc3\\xfb\\x80\\\n[\\xd2\\x5c\\xea\\xeb\\xdff=\\xda\\x09t\\xc3\\x9a\\xbb\\xf5F\\\n\\x0d\\xd6\\xd5\\xe4f\\xd6\\x8f\\xdeD\\xc9\\xcdU\\xbc\\x18\\x89W\\\ny\\xe1?\\xf1T\\x01\\xa1\\x0d\\x1d\\xec\\x04\\xddD=\\xcc8\\\nM\\xfa\\x93\\x01^ryHx\\xe2>En\\xddU`\\\n\\x14\\xbd`\\x0a\\xd3\\x88^&\\x9f\\x03\\xef<o*7h\\\n\\xc7\\xd0X|4U\\xa5\\xe8\\x12\\xea\\xdaN'\\xf3\\xc5#\\\nA\\x8f\\xb9Ai\\xefX\\x97\\x1f\\xde\\x9f^\\x94\\xcc=B\\\n\\x95\\xe1\\x0a.\\x19\\xf86I\\xd9d\\x94\\xd1V\\xfe\\x10Y\\\n\\x07yN\\xb6Z\\xf9[I\\x0d\\x14\\xa0\\xba\\xb2\\x9d+-\\\n\\xcdL\\x02p\\x9b\\xae\\xc7;\\x93$\\x97h\\xe2,\\x8f\\xde\\\n>\\xa0%\\x8cY7\\x99\\xe3\\xdd\\xb95\\xe3\\x89\\xf8\\x1bo\\\n!\\xf1\\x9c& y\\xe1A\\x13\\xa1\\xaa\\x93\\xd0\\xddf\\xf5\\\ns\\xb4\\xb8$x\\x95My\\x17\\x0fy\\x13\\xe2X\\xb2\\x9f\\\ng\\xd1\\xf1\\x04\\x8f\\x99x\\xe1\\xa6\\xd6M\\xeb\\xfe\\xd3\\xfc\\xfe\\\nS\\xe2\\xa3E_1T xT\\xd2\\xfd\\x9f\\xfc-1\\\n\\xc6@\\xacw\\x13\\xff\\xa8\\xc2\\x9a\\xf2+\\x1bW\\x93\\x7fV\\\nA_\\xc6\\x91\\xfb\\xdb\\x9d\\x17\\xd5\\xd3\\xbb\\x08]\\xdd\\xf3\\xdb\\\nv\\xe4\\xc3\\x15\\xb4:;\\xa9p\\x8b\\x9aM*6\\xf8\\xd5\\\nZ\\xcc\\xbe-]\\xbbel\\xd7\\x94\\xcf\\x15}jR4\\\n\\x9b\\x91\\x9c\\xe2\\x09|TaVR\\x17\\xc2\\x01\\x16\\xf6\\xca\\\n\\x0d\\x88ji\\xa3Dh\\xb4\\xb1\\xbb\\xe0%\\x0e\\x09\\x81\\xdd\\\n\\xac@\\xf5\\xa9\\x1e\\x82\\x9ab\\x10p3\\xd6\\x96tH+\\\n\\x09\\x99\\x988\\x81\\x85\\x1e\\xd3\\xbd\\x14\\xbd\\xd5\\xb3\\xb6uy\\\n\\xa5\\xec\\xdc\\xfaI\\x80\\xdf\\x1d\\x12\\xc6\\x04\\xe8\\xc7,\\x1a\\x90\\\n\\xa15\\xd9\\xd2e\\xb4\\xc5\\xcc\\x02|\\xf23@\\xec4T\\\nU$=\\x08Ua)\\x04mc\\xa9\\x92B\\xaf7\\x9a\\\n\\xd0\\xe3Ji\\x842\\x8e'}B:\\xef\\xbaoCc\\\n\\xd7\\xcd]\\x9a\\xeeh\\xdd\\xdf\\xeb\\x1c+\\xb3\\xdc\\xdd\\x83\\x9c\\\n\\xdd\\x91\\xb6q_M\\xcb%\\xb7.\\xe7;\\xb3\\xcb*\\x1b\\\n\\xf7\\xe2$\\xba\\x88F\\xb4\\x84\\xe7\\x94\\x8d\\xda\\xcf\\xcfdW\\\n\\x815\\xbe\\x06y\\xd1@\\xf3\\x9a\\x8b\\xe6\\xf3\\xee\\xe7(\\xc4\\\n\\x99#\\xdf\\xf6\\xd2\\xa9>\\xdd\\xb2o\\xa1\\xf0e\\xd1\\x1c=\\\ni\\x8e\\xaa\\xef\\xa1)%\\x22\\xa1\\x1b\\xb8-T\\xd8$\\x1c\\\nN7\\xbc\\xee\\x10Ty\\xe5v\\x98\\x9d\\xe2I(p\\xf8\\\n\\x8e\\xc0\\xad\\xb4JX\\xf2,\\xd6>\\xaf$\\x1a\\xc7Uj\\\n\\xfe\\xab\\xcc\\x9d_U\\xa1\\xc0\\x93b=_%\\xc0#-\\\nJn9\\xc1RM\\x05Re\\xce\\x7f\\x04\\x85\\xa6\\xbc\\x81\\\n\\x8e&dB<\\xc3\\xa5e\\x5ce\\xb6;\\xcc\\x12Wq\\\n\\x09\\x1b\\xea\\x1c\\xd4}?\\x8f\\xcd3\\xdc\\xdb\\x8a_qZ\\\n\\xcao\\xca<\\xa5c\\xef\\x12\\xdao\\x0cN)&\\x1a!\\\n\\x9bF/\\xa6\\xc9\\xda1\\xf9\\xef%_\\xbd}{za\\\n\\x142\\x88\\x85f\\xa3\\xf5\\xea\\xa9\\x1ei\\x06\\xb8\\xce\\xae\\x8a\\\n_\\x96\\x06k\\xcd\\xe6\\x06\\x1e\\xe2WD\\x81M\\x99:\\xab\\\n\\xdd*^\\xd9\\xcc\\x87\\x18k\\x9d\\xdb\\xf5\\xa3\\xf5\\x9eSa\\\n\\xee\\x9f?Xcm\\xbdxL\\xbaL\\xd7\\xa8\\xf2z\\xe6\\\nzu\\xfc\\xd7\\x0c\\xc8\\xbb\\x8b\\x133\\x1c\\xac\\xbda\\xb7Q\\\ni5\\x0f\\xdfw\\xc9\\xef&\\xd7\\xc2\\x1byy\\xbd\\xfb;\\\n\\xfaS\\x14@\\xd6\\x16\\xc9\\xd5\\xf7f\\x9e\\xee\\x1e+\\xd5\\xf4\\\n\\x0fu}\\x80\\xaf\\x96\\xfc\\xa5\\xb7Df\\x83b`wX\\\n\\xe9\\x00\\xbe\\x81\\xc4\\xdf\\x90n\\x16\\xe9\\x93\\xb5\\x92NBo\\\n\\xf9\\xe9S/\\xfe\\xfc\\xd9+#\\x0arFC\\xe9\\xa8`\\\n\\x11\\x5c\\xa9\\xe4\\xbc\\xd4VF\\x22\\x87\\xc6\\x15\\xc8\\xc3\\xde\\x04\\\n\\xd6\\xa2W>)_\\xe1\\x7f\\xe6d\\x8eJ\\x07.\\xfd\\xb4\\\n\\xa8\\xcdX\\x04pq0\\x0e\\xc6\\xc0z4\\xd8\\xe5BX\\\n\\x0b\\xc6\\xa1\\xeaI\\xfb\\x01\\x11\\x1eSP\\xf0-I\\xed\\xb8\\\nC\\x1b\\xb0\\xb3Q\\xa2\\xb2\\x9c\\xcf\\xf2\\xb3r\\xfd\\xf9\\x18I\\\nV=\\xb4s`L\\xc3\\x8a)\\x93&\\xe5\\xb8\\xee\\x9a\\xf1\\\n\\x1b7R\\xe1z\\xda\\xccq\\x982\\x0evq\\xfa\\x9a\\xb2\\\n=\\x0c\\xd6\\xf2\\x01\\x9b\\xc8\\x15\\xcf`\\xefx\\x12B6+\\\n|\\x7f\\xafJ\\xb3\\x04\\x90hWYaw\\xa2\\x09\\x9a\\xb6\\\n/\\x02\\xa0/\\x8a\\xa3w\\xe7\\x14G_\\x14\\x87\\xf6\\xaa\\xb1\\\ni\\x83C\\xe8\\x16\\xe5j\\x02\\x22\\x94e\\x93\\x1a>\\xbb\\xa3\\\n\\x13#\\xa6\\xbb\\xf3\\x1b\\x07H\\xf9\\xd8P\\x83\\x83\\x1aV\\xb0\\\ngA'\\x02\\xe1\\x0d\\xc6\\x95\\x0a\\x1b\\xd5\\x93\\xbe6\\x06\\xb0\\\n\\x0avRkXV+v\\xc5\\x90f\\xe1\\xe0\\xb4V*\\\n\\x99\\x97\\x08X\\xfc\\xd2\\xf0\\x12N\\x06z\\xb3\\xa4\\xd3\\x98\\xe3\\\nP\\xbb \\xd7\\x96\\xb7\\xe0\\x95/%\\xa5\\xf8\\x8fG\\x14\\xe5\\\np\\x12\\xdfS\\x16\\xbe>\\x86c\\xce\\x14\\x9f\\x16\\x97\\xbc\\xbf\\\n\\x03\\xb7\\x85\\xdc\\xf9J\\xf3^\\xaf\\x92\\xe9\\x0dr^(\\xf7\\\n\\x0a4\\xfb}\\xd3\\xd3\\xdfG\\x90\\xc7\\xd7\\xa1w7\\x0b\\x81\\\n\\xc7\\xb3\\xd3$AF=\\xcc$\\x96\\x96\\xf1\\xa0\\xe9\\x19\\x08\\\n/@\\xd3\\x80\\xf4\\xe8\\xbdQ\\xdd\\xaf\\xeez\\xc0$\\xc0y\\\nq1\\x99}kf1\\xeb\\xb4\\xb2\\xb7e\\xe3\\xb0\\x9f`\\\n\\xe7dK\\xbd\\xd0\\xb6s\\xe2\\xb1\\x07;\\x22?c~y\\\n[*\\x93GF\\xa2\\xbe++Y\\x95\\xf2\\x82\\xdb\\xa8W\\\n\\x9cUR #f\\xa9\\x1c_^z\\xfadKG\\x17\\\n\\xf4\\x82\\xc1\\xaan\\xb4\\xc1\\x01\\xbb\\x115\\xeb5 Qq\\\nr\\x89\\x81\\xa3\\xc1\\xdfo\\xe6\\x8b\\xe6.\\xc4\\xa0\\x80\\x01\\xc1\\\n_1\\x8f\\x8eb\\xb6\\x1b\\xe5^\\xf2\\x8cM`y\\x97W\\\n\\xaf~\\xf9)J\\xa2Yw\\x14\\xfcx\\xdc\\x1d\\xf7`\\x19\\\n\\xd3\\x93\\x90\\x1f\\x83\\x1f\\x8f\\xe0{\\xb4\\xf1!\\x89\\xe1\\xe4\\x1b\\\nm\\xbc\\xb9\\xfc1\\x00\\x96%\\xbe\\xf6\\x82\\xd3\\x7f$\\xc7\\xc3\\\n\\x9b\\xe4K\\xd3\\x9a\\x19\\xd5\\x97\\xa8\\x08\\x1a\\xcd`\\x91\\xbd\\x99\\\n\\xf4\\xe2Qt\\xd8\\xa8Q\\xc5\\x14\\xf0Y\\x17\\xbb\\xa4Y\\xaf\\\n\\xee\\xea\\xa8\\x93\\x08OR\\x08\\xa4\\xdf\\x22\\xcd\\x9bK\\xeca\\\nh*n\\xdau\\xb1y\\xe5\\xa13\\xcc.\\xc0\\xcc<Z\\\n\\x98v\\xb9r\\xec\\x1c .\\x88\\xbb\\x88>\\xc7\\xc0\\x02t\\\n\\xd9\\x11\\xf2\\xba\\x09Ze\\xd0hF\\x0b`\\x0b\\xfdF\\xaf\\\n\\x9f\\xd1\\xa9U#\\x05\\xd3\\x93~\\xbdL\\xf1\\x95=r\\x9e\\\n\\x01f\\x08\\x8e\\xf1\\xaf8\\x7f\\x87\\xa00\\xb0i7\\xe9\\x12\\\n\\x1d\\x9c\\xfe|\\xfa\\xf6*\\xb8z\\xf7\\xe1\\xf8<8\\x7f\\xf7\\\n\\xf3\\xe9Epyu\\xf1\\xe1\\xea\\xfc\\xf4\\xd5O\\xe7Wa\\\n=8=\\xfb\\xf0\\xd7\\xbf\\x86\\xd5zp\\xce\\x1f\\xb5\\xc6n\\\npb>/\\xaf\\xfe\\xed\\xf5\\xe9e\\xb8\\xf4\\xaa\\xe3\\xbf\\xdf\\\nU\\xfa\\xc3\\x054H\\xbb\\x1c\\xc1\\x17G\\xd8\\xc9\\x15>\\x1b\\\n\\x01#\\x81\\x01\\xb6w\\xe25k\\x01n\\x11\\x8bJ\\x0c\\xd3\\\n#\\xb1\\xc2\\xa4\\xaf\\xe75Y\\xedV\\xe2\\x16x~\\xc73\\\n\\x06\\xc4\\x93p!\\xf0p\\xd2V\\x88\\xd2S\\x1c\\x1c?F\\\n*\\xf6VJHE\\xa3\\xc0\\x08\\x22a\\xe8\\xfflGU\\\n\\xba4{\\x0dfv9^\\x11\\xbdb\\x1b\\xcd\\xedd6\\\n\\xa8\\xdc\\xce\\xba\\xd3Ld\\x1e\\xf00^D\\x94\\xc05\\xa4\\\n|\\xc15>\\x0eSE\\xf1\\x9a%b4\\x22\\x83\\x83\\xe3\\\n\\xee]\\x85\\xedj\\xe9\\xda`\\xd4\\xd04\\x88\\xe3\\xe2D\\x81\\\n\\xd58d:\\xb5\\x07\\xd5\\x89f\\xf01\\x86\\x03A\\x9c\\xc0\\\n\\x07\\x9a\\xc2!!R}z\\xb7Q\\xf3V\\x81W}\\xf3\\\n\\xef~\\xe9Wd\\x94\\xec\\xf1R\\x03\\xe5\\x0c\\x84hY*\\\n\\x84\\xa8\\x81\\x0dh4\\xda\\x1a\\x22\\xd4\\xa3\\xdf\\x86S:\\x8e\\\n\\xe8]\\xa7y=\\xe9\\xdf\\xcc\\x83\\x8d\\xded\\xf0m\\x83\\x03\\\n\\x1byp9\\xf3\\x85N\\xfa\\x9e\\xc2{}3\\x1a\\xa9\\xe6\\\n.\\xf3\\xab\\xa6\\x11P\\xce\\x0a\\xbe*}\\x12\\x8f\\xf1\\xf5\\x0f\\\n\\xf2\\x07jA\\xc3\\xc8\\xd7j\\xf4\\x80\\x8c\\x11\\xe3\\xb6\\xb5f\\\n\\xb6rOV\\xfa\\x134\\x836\\xc7A\\x9cG(\\xc4]\\\nD&Q\\x8f{\\xcdF\\xba\\xf1t\\x0dZ\\x98\\x9e\\xbd/\\\n\\xf1\\xa2\\xd2\\x9b\\xdc\\xe1\\xfc\\xe3Y\\x83\\xb4\\x06\\xda\\x82\\x91v\\\n\\xc5\\xbd\\xcax\\xf2\\xdb\\xe3 \\x1f\\x05\\x94]`\\xaa\\xda\\x09\\\n\\x9c\\x1d\\xc9\\xa9\\xc4c\\xa7\\x83\\xca\\x08\\x8bwB\\xb7<\\xdf\\\n\\x97\\x95f \\xdd%G\\x03\\xc8'6\\x9fj\\xda\\xcd^\\\n\\xd3\\x9b\\x11\\x8f\\xf45\\xca\\x80o\\xbc\\xa0\\xfe5\\x90\\xdd\\xde\\\n|2\\xbaYX\\x90=\\xbc\\xcd\\x19i\\xd0\\xfc\\xa1P-\\\n \\xb4\\x0fBM\\xa6\\xd9\\xe6\\xa94\\xb6*m%\\x9bi\\\nh\\xf2\\x7f\\x8df\\xc5\\x180U*\\xeb\\xc9\\xc2\\xaa\\xd0\\xf8\\\n4\\x81\\x1fu\\xc7P%\\xcf\\x84&\\xb8\\xe9N\\x95\\xfe\\xa9\\\n\\x18\\xa9\\x9b\\x00#\\x07n\\xd6tG\\x0a\\xb2W\\x0c\\x09|\\\n\\xab\\x03\\x8c\\xe1u\\x98s\\xe1\\xd7\\xe0'\\xfd\\xad\\xcaP\\x81\\\n\\xe3U\\xcf\\xc3\\xd3\\xe1f\\x863R\\x9b\\x15\\xd4\\xb3\\x17\\x1f\\\ni\\xeaU.6.\\xa9\\x7f\\xbf\\xc6\\xf3\\x18\\xb8\\x8fx\\x01\\\n(\\x87\\xf1\\x00V\\x84\\x81c\\xb1\\x14\\xa03\\x86\\xcc*d\\\n\\xb9\\x0c\\x10\\xfep\\x06\\xff;8\\xf0\\xc4\\xdc\\xa7\\xf7\\xc3\\xf1\\\n1R(O\\xd1p\\x22\\xd8\\xf4\\x06cC'ib\\xde\\\n\\x80\\xb4\\xed\\xe9\\xdd\\xfa\\x9dP\\xb6\\xbcg\\xb0\\xe3\\xa9\\x1a\\x99\\\n\\xdb\\x85\\xca\\x1dm\\xd6\\xee\\xae\\xac\\x10\\x98\\x06\\xb0\\x9d)\\xe8\\\n\\xc2\\xf9W -K|\\x91\\xa96\\x22\\xe0y\\xe0l\\x03\\\n\\xeb\\xfaf6\\x83\\xa5M\\x8e\\xbcL\\xceE\\xce\\x92@\\x19\\\n\\x82\\x06\\x18u{\\x11,\\xd2\\x07\\xe1\\x16\\x83\\x82\\xb5\\xb5\\x9e\\\n2\\x11\\xfa\\xf5\\xa8\\xf1:\\xfa\\xa1\\xf9\\xc0\\xa1\\xe2\\xc9>\\xed\\\n&Y\\x1c\\x9e\\xd9\\x14\\xbb\\xb9t\\xd1\\xe5\\x0e`\\x1e\\xeb\\x1c\\\n1\\xef~E\\xbb\\xa2\\xda\\xcc\\x90c\\xd5y\\xb0Mk\\x1b\\\nJ\\xdd\\xb5\\x9e@e\\x8au\\xcb#\\xb6Iw-61\\\n\\xdb*E\\xc5\\x0d!\\x98\\xdd\\xc0\\x9cRFE\\x0d\\xa5\\xc1\\\n\\xa5\\xd4d\\x1b6\\x02\\xfa\\x95\\xa7\\xaa\\xb6?\\xaai>\\xf6\\\nP\\x1d\\xa7)\\xb3\\x1f\\x8a\\x86U\\xeb{\\xfb\\x92\\xdd\\xc05\\\nr\\xe0\\x1a\\x8dF\\x06n;\\x0fn\\xff\\xc0\\xaa\\x0e\\x0e\\xdb\\\n\\x22B\\xae0\\xd3\\xc8\\x9c\\xd5\\x1e\\xe4\\xecE\\xf8\\x5c\\x1a\\x9b\\\n\\x9c\\xbb\\xba\\xdc\\xe5\\xb9kw\\xad*y\\x1d\\xc5*\\x00\\xe6\\\n\\xd9\\x9c\\xeed \\x1b@&t\\x07Lg\\x93~DZ\\\n\\x8c\\xf9\\x94\\xcbj\\x0b\\xc9%\\xb5\\x09`=\\xba\\x01nV\\\n\\xd7h\\xd8\\xd8\\xa6v6\\xf2\\xc8Y\\xb0D+\\xf4,\\xe3\\\nN\\xfd\\x17\\xb2\\xef\\xb9\\x87\\x8a\\x9c\\x03\\xc4\\x03l~6>\\\n\\xd3l\\xd5#H\\xa7\\x9d\\x06\\xea\\x8f<\\x1e\\x9b\\x96U\\xce\\\n\\xfe\\xeaf\\x94\\x81\\xce\\x0c\\xbd\\xb3q\\xcb\\x14V\\xfbve\\\nM=\\xd8\\xb4pf:\\xdb\\xe8\\xfa\\xa3\\xa8;C[\\x80\\\n\\xc0\\x15+,\\xd1Z\\x1ai\\xe7\\xce[\\x02\\xd9\\x1eK\\x1d\\\nV\\xf2N7\\xfa\\x5c\\x91s\\x94Q\\xb4\\x08\\xf7=\\xd5\\xf9\\\n{\\xb5\\xc8m\\xb5\\xf4\\x1d\\xaf\\x09\\x5c\\xdek\\xc9\\xbc\\x9e\\xde\\\nr2s\\xb8\\xe2\\x0c:\\xea\\xea\\xef\\xc2\\xc7\\x83\\xe3 \\x94\\\n\\x8ck0>\\xe6\\x18\\xe3\\xce\\x04\\xf7D\\x989F\\xae\\xe9\\\nT\\xa8\\xda\\x0f\\x22\\x1c\\xf8\\x95d\\x07\\xbf^M&\\xe8\\xb2\\\n\\xa7\\x80ky\\x95\\x5cO^\\xeah\\xcd\\xbc`4*@\\\n\\xe5q/l\\xa2U\\xce(\\xc3\\xee\\x00w+b`\\xf0\\\n\\xdf.\\xfc\\xfb\\xe1\\x88\\xfe\\x97>\\x1d=\\x00\\xaa\\xcfF\\x0f\\\n\\xc0}\\xc1\\x03\\xe7# 5o\\x05|\\xd5\\xc6\\x0e\\xf1V\\\n\\xbf\\x11%\\x81\\xb1\\xd9\\xa9\\xd5s\\xa78Y;\\xae\\x09\\xb1\\\n\\xb7\\xb7f=?9\\x94\\xa2\\x86\\xab\\xe0\\xe5\\xab\\x9fN^\\\n\\xbd9}\\x1b\\xd6\\xa3=\\xd4\\x18\\xb98}s\\xf4>\\xdc\\\n\\x0d\\xb4M\\x9c\\xcbp\\xb9\\x0a\\x8e\\xdf\\xbd={\\xf5S\\x98\\\n\\x95=\\xb5h\\xa8\\x8c\\x12\\xcb\\x1c\\xa8\\x19\\xd4}\\xde\\xc4\\x1b\\\nH\\x91\\x12A\\xca\\xcd\\xa5\\xc4k\\x81\\x9exce\\xc1\\xcd\\\n\\xaaH\\xe1Cl\\xd5)\\x0d\\x0c\\x09\\x1a\\xbd\\x8b\\x22\\x85\\x10\\\n\\xba\\x89D\\x08q\\xd2-\\xa5\\x87\\xea\\xad*\\x85Z\\xea\\xa3\\\nJ\\xa2\\xc4\\x94\\xfe\\x07\\xc5\\x85.\\x88\\x94*\\xd5\\xb0\\x94\\x04\\\n\\x8d\\xe8\\xf2*\\xfa\\x85\\x84\\x9d$y&\\xf9X6\\xcb\\x83\\\n\\x92Z\\x048\\xfd\\x8a-b\\x14\\xd6`\\xd8U4\\x92\\xc3\\\n\\x95V\\x09\\xb2z\\x90djz\\xcc\\xb4\\x09\\x82\\xaa\\x85\\x9d\\\n~X\\xec\\xb6\\x1e\\xf0jr\\xd3\\x1f\\xb2dn=\\xe09\\\n9\\x5c\\xa4Z\\x1e\\xe3\\xe9\\xffn\\x81\\x0aG!\\xd5\\xc5\\x8e\\\na\\x907\\x93\\x1b\\xd8\\xa5'\\xb7\\x89\\x00\\x1c\\x8d\\x16\\xf90\\\n\\x885\\xa4\\xe2M\\xd8N\\xbeY8\\xa97\\x0b+\\x11m\\\n\\x83\\xdb\\xa9\\x18f\\x9b\\xc5\\xf1\\xd7\\x90\\xe7/\\xac8Q\\xb9\\\n(\\x0d&}\\x9aLU\\x14\\x18\\x01\\x0d\\xd3\\xacw\\xc0s\\\n6\\xcb\\x89\\xc9r\\xdb\\x8d\\x13\\xfb\\xd9\\xbfk\\xf5(\\x84\\xb2\\\n\\xaal\\xf9\\xf9#\\x82o\\xed\\x06\\x18C\\x0f\\x09\\x16o'\\\n\\x03T:\\xc0z\\x1d\\x0f\\xe3\\xd1\\xa0\\x04I2o\\xae\\x80\\\nP_\\x02k/\\xf5T\\x95\\xf44\\x0f\\xa3kE\\x14@\\\n\\xec1\\x06\\xed\\xb6\\xe7\\xec:\\x9d\\x80#d\\x1fUAC\\\n\\xf4;\\x1d\\xb1\\xcdJ\\x1e\\x9f\\xe7\\xeeJ\\xa0\\xa8\\x00M\\xc3\\\n\\x00\\xdd\\x81S\\xceo\\xd11\\xdf\\x22 T\\x87\\x94\\xfb\\x9d\\\n\\x04{\\x12\\xaa\\xe7G\\x9fI7\\x147\\xff\\xd3\\xbb\\xd3q\\\n\\xc9\\x0f\\xd8\\xe6\\x9b0\\x04\\xa7b\\xd5\\x0a&\\xf3\\xc0\\xc8\\x88\\\n\\x95bXIw*Uq\\x11\\x8f\\xd9\\x91\\xdel\\xc12\\\ngsS\\xd4\\x1fF\\xfd/\\xfe\\x92~\\x08\\xaeD\\x18\\xfd\\\n\\xc3\\xac\\xe2\\x86\\x91m\\x8b\\xfeF2\\xd9\\x90\\xdalDc\\\nR\\xebC\\xeb\\x82\\xa5c\\xa5y\\xe5V\\x9f\\xa3u\\xf5\\x0f\\\n\\xa9\\x9c\\x92\\xdf\\x84\\x01\\xbe\\x82ra\\x06re\\x02\\xae\\x0b\\\n\\x89\\xe8\\xd1\\xd0o\\xe06\\x9b\\xae\\x01Rq\\x92\\xdf\\x0f\\x08\\\n'\\x8c\\xa6\\x0bM\\x97\\x06i\\xe0f=\\xda\\x0e\\xdcJ\\xa6\\\n\\xdf\\x15\\xe3t\\x09\\x9d\\xd9\\x8d\\xd7\\x89Q2\\xe09\\xe7L\\\n7\\xb4\\x8a\\x90D8/Q\\x1d\\x0fm\\x1e\\x02\\x17Gw\\\n\\x97h{\\x05\\xf5*\\xd3lI\\x86\\xc5K5*T\\xb3\\\n\\x00oeP\\xa5\\xb2\\x84\\xd0\\xa9\\xee\\xb8\\x0b\\xb9 \\xac\\x10\\\n\\x16>\\xc7\\xe7R\\xbcj\\xf8\\xdegk\\xaf\\xe6\\xe4\\xa0\\xb5\\\n\\x14\\xda\\xf6\\xe60?\\xd4sA\\x8d\\x92\\xbc\\xe8\\xd2\\x80\\x19\\\n\\xd1\\xebx\\x96\\x93\\x84z\\xf2N\\xbf\\xd8k\\x91\\xaa\\xb9\\x0a\\\n\\xac\\x9a7oa3\\x9e\\xdcbc\\xf0F\\x04\\xf6\\xdf\\x01\\\n\\xad\\x9aC\\xa3E3\\x19\\x88\\xae\\x04\\xab~\\x15d`8\\\n5\\xb7-\\xa3m\\xac<~-\\xe5\\xf9\\xabf\\x0a\\xb3~\\\n\\x1e\\x0dt\\x83a\\xa7pF\\x1aac\\xa8\\xa6o\\xbaw\\\n\\x1f\\xd9\\x8a\\xfd\\xbf\\xa2\\xa6Z\\xaf\\x92\\x8b\\x1eKa\\x87\\x99\\\n\\x06\\xa8\\x14\\x1f\\xb8\\xbbfN\\x91\\x90\\x1eR\\x1bDps\\\n\\xe9\\xe4\\x22\\x87\\x11\\xaa(\\x88d\\x05\\x03 \\x0b\\xea\\xf1\\xce\\\n\\xe0\\xe9\\xf4\\xce<\\x17tl\\xde\\xdd\\x89\\x09\\x1b\\xe8\\x90\\xd0\\\n\\xea%\\x0c\\xb7\\xb2\\x9dG`c\\xd4\\xb5S\\x15Juj\\\n\\x90\\x06\\xc6?\\x08\\xad\\x14\\x04\\x81{\\xc5\\x0b2\\x9c!\\x96\\\nn\\x08:E\\x5c\\xae7F\\x9d\\xe2\\x1e\\xbc2e\\xf2W\\\nt\\xc3\\xfa\\x9a\\xecd\\xa7\\x11\\xe2_\\xed\\x93\\xf2^\\xf1\\x1a\\\nlj\\x1b\\x02\\xb08+\\x17\\xd1\\xe7\\x9bQ\\x17M\\xd2\\xdb\\\n\\xc0\\x96In\\x86c\\xe6\\x22\\xa3\\x86\\xfb\\xefo\\xa2\\x9b\\x08\\\n($\\x12J\\x8fT\\xc9\\x84\\xb9\\x10\\x0a\\x1a\\xd8\\xb4\\xb3\\xb2\\\n\\x81\\xc86\\xb0\\x0a\\x1bl\\xd7\\x9b\\xde\\xadqCp\\x9f\\xb1\\\n/\\x0e=\\xdac\\x82\\xdcF\\xe3>\\x22\\xdb\\x9b\\xf5x\\xe1\\\n\\xdb\\x94\\xd5\\xd1\\xe4&A[\\x03ArCfIQ\\xd5\\\nU\\xbf\\x19\\xd9\\xf1\\xd9\\x11\\x054\\x91\\xbc^\\xac\\x94\\x05\\x0c\\\n4\\xc3\\x11\\xcf\\xa5\\xa5\\xe2\\xacB\\x87Y)\\x12\\xcd\\xd6(\\\n\\x02w\\xe8\\x84\\xa8\\x10\\xd2\\xbeq\\xa2\\x9bY rq\\x15\\\nz$\\x8b\\x13\\xd2\\x86\\x9d\\xa4v\\xedLkV\\x81a<\\\n\\xdc\\x05\\x12\\x14\\xb5\\x9c\\xe7m\\x86p\\x17\\x16\\x81n\\x02L\\\n\\x15\\x9a6\\x17\\x11\\xdc\\xf4\\xdf\\xe0\\xcc\\xe0H\\x09\\xe0\\xeb\\x0b\\\n\\xd61\\xe6h\\x1dD\\xba\\x8249\\xa7\\x9e\\xe6\\x05\\x05\\xb9\\\n\\xb5\\xe1\\x87Sd9\\xc6+s\\xdf\\xe1\\xa7O\\xab\\x88\\x0c\\\n\\xa7\\xe3G\\xcb\\xe4b5#\\xa6\\x04\\x9a\\xf4\\xa7\\xb5\\x8d\\xd8\\\nb1&\\xa7!\\xdb1\\x99b\\xa7\\x08\\xb6\\xb2\\x8aV\\x8c\\\n\\x90ns\\x9c\\x19$M,(^,w\\x13H<\\xd8\\\n\\xdc\\xa4\\xea1\\x87\\xce\\xb8V+\\x8c\\x0a9~>\\x8c\\xaf\\\n\\x17%\\xfdf\\x88\\xed\\x84MgQ\\x9eN\\xf7\\x02\\x82B\\\nU\\xa9\\xef\\xe6!EU\\xff\\xde\\xbdk\\xf3s\\xd7A'\\\n \\xcb\\xcc\\x9c\\xac\\x9e\\x08s\\x10\\xb1~\\x0d\\xb8w\\xa1\\x11\\\n\\x01\\xe4\\x0a\\x22\\xf8\\xff\\x98U\\x1e\\x90\\xee\\xb0\\xef\\xa9z\\xb4\\\n\\x0b<\\xc2\\x88\\x03O\\xeaA_\\x5cR\\x19\\x95\\x82\\xd0\\x9c\\\n\\x1c\\xaaZ\\xb7\\x80\\x19V;\\x89\\x22H\\xe3K\\xe7\\x84E\\\nR2\\xb8\\x9f\\xd0\\xaf\\xf3r\\x1a\\x9fJ\\x8b%\\xd3?C\\\n\\xd8?\\xd4z\\x0a\\xf2\\x8c\\xfb\\x90\\xf3rN\\xebU\\xd1S\\\n\\x1b\\x90\\xb4k\\x9b\\xbaE\\x99\\xbd=\\xa01\\xa2D\\xa8\\x11\\\n\\x03\\xb1\\xec\\xcd\\xf7\\xe5a\\x8eVF\\x13\\xa5x\\xd5\\xa9\\xa8\\\n\\xcad1\\xd8\\xd8 \\xecX\\xa5$\\x8f\\xdf1\\x1c\\x07.\\\n\\xe3\\xde\\x08_\\x01mnb\\x8c\\x99+\\x9b\\x9b\\x9e\\xd1%\\\n\\x80:\\x88O\\x14\\x17\\xc8r\\xd7\\xfbLa(\\xe0\\xe91\\\n\\xcd\\x97\\x11\\xae*\\x9aK\\x95\\x88n\\xf1\\xb5Jn\\x82\\xec\\\n9Z\\xbb\\x9b\\xedc\\xe1\\x8c\\x08S\\x19\\x22\\xad1\\xceO\\\n\\xf6Q\\xaf\\x89x\\xd40}^\\x81\\xb6`\\x22\\xa9\\x8d\\x93\\\n\\x0e\\x9b\\x12\\x0e\\xfa\\x81\\x94\\xda4\\xb9\\xef\\xefQ\\x7fP\\xe2\\\nW4)\\xf3\\x8e\\x22\\xdcK\\x01*9a\\xd6\\x18U\\xa8\\\n^\\x9d\\x94\\xbd\\xca\\x19>6\\xf2\\x02C4=G\\xc6\\xe3\\\n\\x05\\x9a\\x0a\\xa3J\\x0f\\xe4}u\\x22f8\\x06\\xc1$\\xe9\\\n\\xf3Y\\x10\\x05\\x08M> \\xd2\\xb1p\\x92\\x8c\\xd5\\xb9Q\\\nE\\xab\\xb0J\\xc3\\xf3\\xa1\\x9dF\\xe7E\\x95\\x06\\xec\\xb2\\x9d\\\n\\x04\\x87EI!/RV\\x12\\x86\\xb1\\x1a\\xa3\\xb8\\xffE\\\n\\xe2\\x8f\\xf1\\x1b\\xe2\\x06\\xbd\\x91\\x1d}\\xd2\\x1b\\xa9\\x94/\\xd1\\\n7\\xabf\\x7f\\xe1P\\xb0\\xe8\\xf6^\\xa1\\x08\\x87\\x04#@\\\nJ\\xaf\\xba\\xbdw(\\x9f\\xc2\\xae\\xc6c\\x81\\xeeq5\\xd8\\\nL?\\xde\\xbe;9]\\xd7\\xe1v\\xc7\\xda\\xca\\x14v\\xbf\\\n\\xd6\\xe1P\\x8ax\\x9c]\\x83\\xb80\\x1eOL[a\\xb5\\\n\\x94\\x1aS2\\xb1\\x0e\\xe1h\\xde\\x1b\\xe72\\xc4\\xa0\\x0c\\x80\\\n\\x18\\x99\\x90$\\x06|\\x04\\x0b\\xecT4\\xc8\\xc9i\\xf0\\xc5\\\n\\xe8\\xddcCZ\\xf6\\xaf\\x16\\x84\\xb5hb\\xd2[\\x7f\\x19\\\n]\\xa3'b\\xa2\\x82\\xeaa\\x06\\xf1\\xe2\\xe1\\xba\\x83J\\xc1\\\n\\x19\\xc5+\\x972\\xfd{\\xa8\\xe7\\xbd\\xbe\\xce\\xf0\\x1f\\xaa\\x0d\\\n\\x91c\\xa5N(\\x0a\\xb2\\x9a\\x02=H~\\xa8\\xf6\\xf9\\xd4\\\n'(\\xad_\\xd2\\x90;\\x1a\\x87\\xfa(\\x9a:CE\\x8f\\\n:7\\xc9\\xee`\\x1d\\x96\\xb2}\\x92{|\\x22B\\x5c\\xa9\\\n7\\x7f\\xef\\xd9\\xaa\\x06\\xfc{\\x04\\x5c\\x97\\xf7\\xb6\\xfb\\xd6\\xa3\\\no\\xe0\\xcf\\xb0\\xce\\xce\\xd1O\\xd5/\\xb3\\x050\\x02N\\xbd\\\n\\xbf\\xcf\\xd4\\x19\\xad\\xc2\\x16\\xe6T;\\x18j\\x1a\\xab=\\x86\\\n\\xa1}\\xdeL\\x1dyZJ\\xc9\\xf00\\xbac\\xdb\\xd5\\xa8\\\n5z'\\x0e\\xb2\\xb6\\xa21\\xfa\\xbb\\xa4\\xbc\\xd4\\x95\\xd7\\xa3\\\n\\x09\\xba\\x9fU\\xbd\\xea\\xe0s\\xf4\\x12\\xb7\\xf0\\xdc\\xceb\\xc4\\\n\\xa7\\x19A\\xa3M\\x00D\\xf2\\x88\\x7f)\\x8fIQ'B\\\nN,{\\x7f\\xf6\\xacD\\xa0c\\xd1\\x0c\\x0e\\xda\\xc0'\\x98\\\n\\xc8H\\x0e\\xde\\x11\\xc6?\\xcd\\xc3\\x09\\x03\\x01\\xcc\\x85\\x09\\xf7\\\n\\xed^\\xda\\x92\\xccV:\\xae\\x14>vk^\\x81\\xdd\\x96\\\n0\\x0f\\x83v\\xdd)\\xabfS4\\x8e\\xba\\xd9\\xe8}\\xbf\\\n\\xf5\\xdd\\xcb\\xe7\\xc1\\x15\\x92]\\xbc\\xf6\\xfe[\\xb0\\xed\\xff\\xd1\\\n\\x1d\\x19\\xad\\xa52sG\\xdd\\x13\\xfd#\\x09\\xad \\xae\\x96\\\n\\x10\\xdfe\\xe8\\x98\\x18}sX\\xe1>*\\x83:\\xb3P\\\ni\\x88\\xdaP$>\\x02\\x16o\\xcd\\x13\\xc2@\\xb8N\\xd8\\\n\\xfb3\\x1d\\xe1/\\xd3\\xb8\\xc8(y\\x06}\\xd6sR\\xe6\\\npH\\x22\\xa8R^}OX\\xc4\\xc5'\\xef\\xb5\\x83\\xc5\\\n/\\x1b\\x15\\x13\\xc2\\x9b\\x90\\x16\\xc0\\x00y\\x93\\x9d\\xee\\xe5\\xb7\\\nW\\x83R\\x1e;A\\xef\\x07Y\\x8c\\xa0\\xa4Jo\\xe8\\xa9\\\n\\xcb\\x9cv\\xd3\\xa0\\xae\\xde|*\\xb9\\xbeu|\\xd7K(\\\n\\xbb\\xaa\\x94s\\x8d$^P\\x02\\xbfJ\\xe3\\x8d\\x92\\xd1u\\\n\\xbfF\\xefy\\x1a\\xe8\\x07\\x98,\\xe9Fp}V\\xe0'\\\n\\x8bH\\x10P\\x18\\x18\\xfdB{R\\x89\\x9f\\xa8U\\x17\\x13\\\nsx\\xe66\\xd8o\\x18\\xe9\\xb5\\x04\\xd5\\xd6P\\xd3\\x96\\x9f\\\n\\xa4\\xe7r\\x0a\\x02\\x9dz\\xe1#1q\\x97\\xe5VI\\xdd\\\n?\\xcc\\x17\\xb0\\x83\\xa5k\\x0f\\x85\\xae\\xbe?W\\x86\\x06K\\\n\\x17\\xf3\\xc1\\xcc\\x9av)\\x06 t\\x83\\x96!\\xa4\\xf6\\xdf\\\n6:br\\xeb\\x01\\xa6\\x015\\x01\\x0a\\x97\\xac\\xa9\\x98\\xc4\\\n\\x85\\xf9\\xa0\\x81\\xb49?\\xd5\\x0f\\xdc\\x05]\\x96\\x15\\x1dW\\\n\\xecu\\xec.j\\x81H\\xe5|\\x91\\xa6\\x05\\xe5\\xf4\\xcaW\\\n\\x97N\\xf8\\x9cA/m9@f\\xc9\\x84\\xb5\\xe1\\xa4\\xd3\\\n\\x9e\\xe6-I\\xd6;\\xf7s(I\\x0d_y\\x04z\\xaa\\\n\\xa7^b\\xf2\\xdaZ\\x05\\xd6\\x84\\xcf\\x7f\\xb1\\xbc\\xbe\\x9b[\\\nzd\\x14\\xf1t\\x08z*\\xd3b<\\x95\\xb2\\x0c1\\xe8\\\n\\xc3\\xf6\\xb2\\x884\\xe7+\\x82\\x95,65\\x95\\x1cR\\x9f\\\nE\\xacr\\x92kQgn\\xe77\\xcf\\xaaR!\\xce\\x96\\\n\\xf9\\xc4\\xc1\\xd4\\x81\\xc7\\xd6NMI\\x93\\xd3/\\x98\\x9e\\x16\\\n\\x04Ky\\x99\\xe6\\x99\\xaa#\\xf1c3J\\xf8p[/\\\n\\x066\\xd1\\x85\\x14\\x19%\\x09\\x8a\\x1d\\xa0\\x0bJ\\xd8\\x95)\\\n\\xacx\\x07\\x8a\\x94@`Hh(\\xefhP\\xfa\\xc0\\xf3\\\n\\x8c\\x99\\x04\\x8a\\xe6o\\x8e\\xd7,\\xc1G\\x93\\xae\\x19\\x06~\\\n\\xfe[,/\\xd1\\xee\\xad\\xd6\\xc8L\\xd2\\x0b\\x8a\\xbc[\\xd9\\\nK\\xce\\x95\\x17ex\\x8a\\x96\\xde\\x1e77\\x8b\\x99\\x89e\\\n>\\xb3`Q\\xb2\\x87\\x00\\xf2i[K\\x0fNa\\xd92\\\nd\\xd4s\\x86\\xb0\\xd9A\\xd8\\xa0\\x92hFG{\\xaf\\x88\\\n\\x16\\x86v\\x065\\x9d\\xec8X\\xfei6\\xc5\\xedG\\x9a\\\na\\x80\\xf1l6\\x19g\\xdfj\\xfb\\xbc\\xbfYS\\xdc\\xb4\\\n\\x5c\\x84D\\xf6q\\x94l\\xf3\\xf2\\x8bs7\\x9b\\xdf\\x1aL\\\n\\x96&\\x01-\\xd0IW\\xae\\xc8 \\x1be\\x82\\x93\\x03\\xb7\\\nR\\x8c\\xff\\x00\\x1cd\\xa5\\xb2\\x16\\x13r\\xea\\x8d\\xfe\\xd1J\\\n\\xbe\\xf3J[j\\x8fO\\x9f\\xb1\\xbe\\xd4\\x1c\\xba\\x9b\\xc6S\\\n\\xa3\\xb3d\\x02n\\x90\\xe4\\xd5\\xa2\\x11\\xbd\\x15*\\xeac\\xe1\\\nx\\xe9\\xf8EE\\x1cH\\x99\\x04\\x11\\xf9vG\\xaf\\xf2.\\\n\\xaa\\x00\\xd6\\x5c\\x86Y\\x0f^\\xbe|\\xf7K\\xb8\\xbcm\\xf6\\\n\\xc8\\xa3\\xfcSX\\x8fC\\xfe\\x1e\\xe2\\xf7\\x80\\xbf\\x07\\xf0\\xbd\\\nR\\x8d\\xebi\\xdf\\xf3\\xd0\\xa7\\x98]\\x1c\\xd1\\x9bx\\x9f\\xb0\\\n\\xae\\x82\\xbfN&\\xe3\\x82Z\\x06on\\x837\\xc3|\\xf6\\\n\\x89&\\xa9%\\xe8\\xb1\\xee\\xc6)\\xbf#\\x7f\\x90\\xcbg[\\\n5\\xce\\xda\\xa4\\xe0\\xa4\\xf1\\xd4:\\xd3\\xf8xbY\\xa5E\\\n\\x13\\x0c\\xe0\\xb2P\\xc2\\x89\\x0d\\xde\\xd3+\\xbf\\xbb\\xd0\\xab\\xfc\\\n\\x06\\x8d\\xe1\\xd3\\x0eui\\x96\\x8d\\xcada\\xbf\\xc4|\\xad\\\ne\\x18\\xc0 ghZ\\xd4w\\x8b\\x17\\xdc\\xf1\\xca_O\\\n\\x955\\x93\\xae&S%\\x80\\x19\\x97\\x18\\xb0\\xc2\\x80\\xbeO\\\n\\xc8\\xaa=\\xce8He|9Y,&\\xe3T\\xde\\x1e\\\n\\xe7\\x1d\\xa8\\xbc#r\\x97'\\xd7M\\xac\\xf7\\x83\\xc7f\\x93\\\n\\x8b\\xe1G\\x0a~\\xc6e\\xdd\\xa6\\xca\\x22\\x87\\xed\\xa9\\xa2f\\\n\\x9c\\x156\\xbb@\\xf0\\x8b\\xdePh\\xf4\\x86\\xa8\\x8b~\\xfb\\\n\\xc8\\xfdc\\x9d\\xf6\\x83\\xdf\\xce\\xed8>\\x0f\\x07\\xe3s^\\\n~\\x99\\x93\\xbeJ\\xffX\\x90\\xce\\xf7y9\\xb7\\x96\\xbaF\\\n0\\x95\\xfe\\xadYa\\x91\\x19\\xccG\\x5c`4\\xdb\\xfc*\\\n\\x1c$?6\\xc7\\x1f\\xa1\\xf0\\xe6\\xf8<\\xf8\\xedc\\xf3\\xb7\\\n\\x8fP\\xbb\\xe6o\\xe7+t\\x99K\\x12\\xbb\\xec\\x06\\xf8;\\\n\\x8e\\x14\\x091%\\xdf\\xc7\\xda\\xf2\\x9dA\\xd1\\x89\\x93\\xa7\\xa5\\\n\\x10_\\x8dx\\x15\\xbc:i\\xd6\\x02=Q\\x9b\\xd0\\xf6\\x9f\\\n\\x22\\xa8K\\x91}r\\xa8\\xa5\\xd8\\xc6}u\\xb2\\x0a\\xde\\x1c\\\n]\\x9d_\\xbe?:>m.\\x81\\x10}\\xc3\\x7f\\x90\\x96\\\n\\x90\\x97x\\xb2r^\\xdf\\xaa\\x1f\\x04\\xd9\\xe8\\x06F\\xbbQ\\\n\\xdb\\x185\\x8e\\x06\\xf1\\xcd\\xd8D\\xee\\x08\\x5c\\xff\\x8b\\x89\\xdb\\\n\\xb5P\\xda\\xf1{*>'m\\x1f\\xd3\\x92\\xe83\\xbd\\x9d\\\n\\xc9\\xafi\\xa5\\x9e\\x86I\\xa57\\xec\\xf4T\\xda\\xb6\\x9d\\x96\\\nnDe'\\x95\\xd3\\xaeYe7\\xa7X\\x07`\\xaf\\xa0\\\n\\xee\\x0e\\xd0\\xbe\\xea\\xd0f\\xb5\\xb6#\\xdd\\x08\\x9f{\\xdcy\\\n\\xcdj\\x1d\\xb8k2\\xdc\\xf4\\xadY\\x8f\\xf6V\\x01\\x0d\\x1a\\\n=<o.\\xdd\\xb6x\\xb6\\x86yf@<[\\xaf<\\\n=2\\x9e\\xadL\\xbe\\xb2\\x9c\\xd4=\\xdb\\x0bPP\\xb5\\x87\\\nR\\x98K\\xb1\\x0a\\xf1\\x1eN\\xf5sR\\x149{\\xf7\\xf6\\\n\\xea\\xe4\\xf4\\x0c\\x8df\\xb2\\x81\\x8e\\xe6R\\xc9\\xb7\\x9a\\xd5\\x9d\\\n\\x9dF\\xf0\\x8f\\x9b\\xee\\xa0YG\\xdf\\xad\\xf5fuo\\x7f\\\no\\xb7v\\x80\\x81F\\xb3\\xba\\xfdl{\\x7f\\xbb\\x81\\x81m\\\n\\x04\\x85@@O\\xaf\\x10\\xee`\\xf7\\xd9n\\x9d\\x83\\x08\\xb9\\\n\\xb3s\\xb0S\\x0f\\xe67SH\\xdb\\xa97\\x0e\\x9e50\\\n\\x80){*\\x008\\x1a\\x07\\xf8?\\x08\\xf4\\x00\\xac\\xbe\\x8b\\\n\\x1f\\x00\\xd2\\xd8\\xd9o\\xd4\\xf7\\x11\\xe4\\xd7\\xc1l2\\x85<\\\n\\x07{\\xf5\\x1a\\x81IDm7\\xa0g5\\xf5f\\x03*\\\n\\xc5\\xdf\\x0d\\xa8s\\xf7.\\x9e\\xeb\\xb64v\\x83\\xd9\\xcd(\\\n\\xfa\\x95\\xba-\\x81\\xe3#\\x8dP/\\xfe\\xfc\\xebd\\xfa\\xab\\\n\\xa8Vc\\xb1\\xf4\\xbfT<\\xd4\\xa2\\xbe\\x87\\xffK\\xc5c\\\n\\x9dSQ;\\xd0\\xc0\\xddT\\xdc.N\\x01|\\xc4\\xa3+\\\nS\\xdb\\xdf\\x15v\\x8d\\x07\\x0f\\x9b\\x80\\xd7\\x88\\xda\\xba\\xb3D\\\n\\xd7\\x1b\\x81\\x8e\\xba\\xe6\\x97\\xc3\\xcfju\\x137\\x1fNf\\\n\\x8b\\xeb\\xeeh\\x04\\xbd\\x82o\\x9f\\x7fM5\\xb1\\x0e\\xcd\\xc6\\\n]\\x16\\xbd7\\xe4xf\\xa8+\\xc7\\xa4b@\\x8ei\\xcd\\\n\\x132\\x8e\\xdax\\x92\\x9bVg\\x9e\\xc0\\x18\\xa8D\\xa7\\x10\\\n\\xe4eF\\x13\\xf5\\x17\\xe1\\xeen\\xe3\\xd9\\x1eP\\xc4\\xe7\\xbb\\\n{\\xdb\\xf5g+t5\\x88\\x8f\\xa7\\xddZ\\x18S\\xb2\\xc9\\\n\\xf3\\xbd\\xdd\\xdd\\xed\\xdd\\xc3<w\\x13\\x89\\xdf,%\\x95\\x10\\\n\\x01\\xf6\\x82<\\x00*\\xab\\x5cJ^\\xbc\\xa8\\xd7|\\xbf\\x9c\\\n\\x0b\\xb2\\xb7\\xdd\\xa8\\x95\\x81\\x05ilo&\\xe4\\xef\\x1b\\xb6\\\n\\x01y\\xd0m\\x1f=f\\xda\\xf9f\\xa2L\\xf1\\xa5\\x9b)\\\n\\xd1\\xc6\\xcd\\x82\\x8a\\x00\\xc2\\x9ci8\\xb9C\\x85\\xdaS\\xec\\\n\\xf3\\xe7P\\xbfr\\xe9!\\xbc\\x15\\xaa\\xac_\\xe6\\x06\\x1b\\xec\\\n\\xb0\\xcbP\\xb5\\xb1Q\\xaf\\xe3\\xb9\\xa5# 6'\\x02q\\\n\\xde\\x12\\x0f\\x827A\\xbf\\xdb\\x1fF\\xa1\\xa4T)\\x14$\\\nI\\x98\\xb0\\xb5-\\x08\\xb5\\x93\\x8e\\xb1\\xb6\\xc5a\\x92\\xa4\\xbd\\\n\\xa0\\x91\\x10\\x9b\\xe0D\\x1b\\x8e\\xae\\x8e\\xaa\\xb0\\xb9v\\xa7\\xef\\\nG\\xdd$\\xaaK\\xff\\x88;\\xba<\\x88R\\x12H\\xc1\\xb0\\\n\\x93\\x86\\xc9\\xd7\\xaa\\x0ec@>\\xc9\\xc5\\xee\\xc5\\xd1\\xdb\\x9f\\\nN/\\xd3\\x98(2\\xf8\\xf9\\xe8\\xe2\\xd5\\xd1\\xdb\\xabT\\xa2\\\n\\xc4rUC\\x06%\\xbb\\xda\\x93[\\xecu\\x15\\xc3?\\xc6\\\n]`u\\x08\\xcb\\x8e\\xec\\x8f\\xc4\\x83\\xb0\\x16\\xbc\\x09\\x1d\\x80\\\nV<x\\xfe\\x06\\xfe\\xf0\\xd5\\xb1\\xd7\\x1dM\\x87]<_\\\n\\x0828l\\x92\\xa7\\x9b\\xfb\\xfb'\\xaaC\\x13s\\xd6\\x90\\\n\\xbb9\\xd5\\xd7m\\x8f\\xd9\\x1c\\xafl\\xe5\\xe6(\\xea\\xe0\\xb7\\\nP\\xcd\\x176\\xe6T\\xcd1\\x8a*\\xbb\\xb4\\x22f\\xd8\\xb9\\\n\\x9b\\x9b\\xe9\\x18\\x18\\xb3\\xc3$|[\\xce\\x89\\x875\\x13&\\\n\\x15\\xb7\\x98\\xf2\\xdb\\xc0\\x8a\\x00\\x06\\x13\\xa7g9t\\xe3\\x80\\\nC\\xd4-Q\\xc6Lr\\x9a\\x02Y\\xd5\\x98\\xca\\x90\\xb4\\x1f\\\n\\x93M99X\\xad\\xdc\\xb9\\x97\\x88\\xc3X\\xaa>\\xcep\\\n3\\xa9\\x83\\x9a\\x1fh(\\x14\\xd5\\x08D\\xce\\xfc\\x0f\\xde\\x8a\\\n\\xc5^X\\x1eh\\xfd\\xf9\\xc1)\\xa4\\x86S\\xfa\\xd7\\x09b\\\n\\xe7B'\\xa6\\xe3\\x02'B\\xcd\\xe6\\xe2\\xeep\\xe1:\\xbe\\\n\\xdfL\\xcdv\\xd4\\xb1\\x07\\xbc\\x9b\\x9b\\xd6\\xe4\\xba\\xe0\\xfa(\\\n_\\xca\\x19`\\xe3\\x0b1!\\x97\\xcb\\xed\\x06\\x0e\\xc8\\xdbp\\\nW\\x0f\\x9e\\xaeF\\x82\\x1e\\x07\\x03\\x98\\x0c\\xe4\\xe0Gy\\xe2\\\n\\x09\\x95'\\x9e\\xc4O9\\x12G\\x9b`\\x8bf\\x12\\xc4\\xc0\\\n\\x97\\xf2\\xeah&\\xb2LV-E\\x8d\\xd2\\x06P\\x97\\x89\\\nV\\xe9\\x14\\xaa\\xaa\\x88){}@\\x1b\\xb1\\x1aB\\x110\\\n\\x8bn\\xb5\\x08bs\\x13\\x07\\x8e\\x94n\\xc4\\xb8\\x0d\\x86\\x03\\\nJc\\xd3\\xfe\\x1b\\x0eA\\xc3\\x11\\xa2\\xa1N\\xc76\\xd3\\x11\\\n!\\x81\\xb1Tj2\\xf9r\\x93\\x9ebo-\\x07m\\xf3\\\n\\x05\\xea\\xef)\\xa0\\x82Y\\xa6:M\\xcd0Il\\xa9\\xdf\\\n\\xb4>\\x93\\xaa\\x10\\x99>\\xc9\\xd5f\\xc2\\x94\\xd4h\\xe3\\xc7\\\ne\\xdb\\xc9\\xda\\x8e;\\x9dVf\\x101I(\\xb6\\xd2<\\\nd\\xfd@\\xea\\xfd\\xe3\\x10\\xbf\\x85\\xbe\\x1f;\\xe6\\xe9\\xe1\\xc8\\\nA=q\\x0cc\\x10\\x1c\\xb7w;Ub;\\x0e\\xdbK\\\n\\xc4\\xdc\\xf4\\xf8-hp\\xdb<\\x86\\x19F\\xfa\\x83M\\xb2\\\n\\xb0\\xdei*\\x08z\\x0chR\\x82\\xa4\\x99\\xac:-\\xd2\\\n4$\\xbb\\xfaR-4c\\xff\\x125NJ\\x0c\\xe5\\xa3\\\n\\xf1|\\xbddr\\xd7\\xa7n8\\x14\\x11'h\\x0c\\xea\\x81\\\n\\xd5\\xba\\xb9\\xf9\\xb6\\x5c~\\xbe\\xeb40\\x8f\\x9e\\xbcUz\\\n[,J\\xbca\\xaf\\xa3\\x04$EC\\xfd:d\\x02\\xcd\\\n\\x9d\\x01\\xd8K\\x8ac\\xd9\\x05\\xc6\\xe9\\xd8x$\\xc1\\xbe\\xb3\\\nT\\x0c\\x8f\\xab}\\x8a\\xacu\\xb6B\\xe4\\xb1\\x8fa\\x11\\xaa\\\n\\xaf\\x86\\xfe\\xda\\xd6_;\\xea\\xab*^\\x11,~\\x09=\\\nc\\x07\\xc7X\\x1d\\xe9BW\\x074H\\xcc\\x5c\\x8b\\xb0\\xc7\\\nC\\xd3\\xf9\\xe4'\\x80\\xc3\\xe4_\\x92\\xfe\\xf0\\x84$\\xd0\\x1c\\\n#^^B\\xf6O\\xcd\\xdc\\x22@e\\xd2+\\x09\\xc3\\xd0\\\nD :\\xf2\\x86\\xaah:y\\xdf@\\xb0\\xe7\\x0a\\x08\\x89\\\n\\x0e\\xf7\\x18\\xed\\xd8\\xcfun\\xf4@\\x95E\\x80\\x11\\xa4\\x91\\\nI\\xc7d\\xab!\\xee\\xdcfW#\\xc8U\\xea\\xa1\\xcb\\xe5\\\n\\x86\\x1e\\xa1\\xe8/(6x\\x1ekFE|\\xca\\x02\\xb3\\\n\\xc0\\xa2#\\x9ah\\xbd\\xc9\\x08\\xb7L\\xe0\\x13B\\xef\\xa5\\xa7\\\nIm5^tGq_\\xa5\\xbc\\x12\\xd1\\xae`NM\\\n\\xee\\x0fo\\xff\\xf2\\xf6\\xdd\\xc7\\xb7m\\xb4\\xf8\\xe5]x\\xca\\\n\\xed\\xb6\\x82\\x86i,V\\xb9\\x88\\x94\\x9a\\x99)\\xe9\\xb8N\\\ne\\xe5I\\x8c\\x87K\\x8e\\x17\\xa0\\xc4\\xac\\x84\\xbb\\xcd\\xe9\\x1b\\\n\\x83eiy\\xe3q'[p~\\xf2Q\\xd3j\\xf8.\\\n\\xf5U?[\\xaan-S\\xdf\\xb0]=\\x08\\xe0\\x14\\x04\\\n\\xa0\\xd5\\xdb\\xa0&\\xbf\\xcbn\\xd3R.)a\\xe4\\xb0\\x82\\\n\\x7f\\x07\\xfeV\\xc3\\x0f\\x86M\\x8a\\x09\\x06\\xf4;Xu\\x02\\\n\\x83\\x10\\xd6@\\x7f\\xc5b\\xaa\\x81k\\xbe\\x5c\\x0d-\\x1f_\\\n\\x1e1\\xba\\x8c\\x84ly{\\x94+5\\xbe,\\x10T\\xe3\\\n\\xc82A\\x1c\\xf3_\\xbd2\\x8b\\xd4\\xda,\\xcc\\xbc&+\\\nQ\\x1e\\x8c\\x8d&J\\xaa+\\xc8\\xd3`\\xcb\\x06\\x96\\xb7\\xc2\\\n\\x1d5!\\x00Y^\\xb2H\\xe2\\xda\\xf6\\xb3\\xe3\\xa2<\\x92\\\n\\xaa\\x1e\\xba\\xe1;\\xb9\\x13\\xf4i\\xa7\\xde\\xc2\\x99\\x18\\x22B\\\n\\xa98d\\xc0\\xb2\\x90\\x18\\x1bZ:c\\xb9-[\\xe5\\xcc\\\ne\\x17\\x05\\xae\\xeb'j\\xf0\\xb0\\xde\\xd8\\xcd\\x1d\\x9e_\\xe9\\\n\\x99d\\x8f\\x80[\\x8e\\xb8Joe\\x10\\xfd\\x93g\\x97\\xc6\\\n[e\\x0f\\x0b\\xb2\\x13d\\x97\\x94\\x02tV\\x16\\xd7\\xb2)\\\n\\xfeu\\xd9\\xe6\\x98\\xde\\x85(\\xc8k\\x0fJ\\xb5|8\\x06\\\n\\xc6\\x17\\xfc\\xdc\\xbc\\xbe\\xa9g%\\xea)\\xe1\\xb7\\x12\\xae\\xcb\\\n\\xab\\x7f[\\xbf\\x0f1\\xea\\x87]L\\xba\\x96V\\xdd\\xe6\\x90\\\n\\xd6\\xeft\\xc8\\x14\\xfb|\\xd1\\xf8W\\x97$\\x0f\\xc8\\xf8\\xe9\\\n\\x18\\xb2\\xf8\\xd4>[\\xf2\\x9bR\\xb7\\xa0Z\\xadI\\x17q\\\n}4\\x0ew\\x9f*\\xd5\\xa5\\xe0\\xbc\\x1e2^G\\xcc|\\\n\\xde\\x10lN\\xecG\\x07T\\xbf I5;\\xf3\\xb4\\xa7\\\n\\xae\\x9er\\x15\\x83\\xa0\\x0a\\x1bl\\x82\\xe7\\x0d\\x7fiUO\\\n\\xbflj=\\xe2qU\\xd1\\x85\\xf6 \\xfe\\xea\\xa9\\xe7U\\\n\\x8eN?\\xd7,7\\x1e\\xaa\\xf3\\x07\\xfb\\xe5\\xc1\\xd7Nt\\\nM\\x19\\x96\\xce\\x1b\\x15\\xe0P\\xfc-\\x18\\x89\\xdb@\\xc9\\xef\\\n\\x97\\xb0\\xd2\\xea\\x10U\\x19\\xc0Z\\x1b\\x00\\x9f\\xf8\\x11\\x02+\\\nz\\xc9\\x90\\x15S\\xd0L#\\x8e\\x1e\\xef\\x22\\xac+^\\xbc\\\nk\\x94s\\x87g\\xab\\x07#/\\x15t\\xf158\\xf3,\\\nt:\\xc8\\xe3\\x9d\\xe3E\\xc4\\xa9x\\xa9\\xcbw\\xd2Rz\\\n\\x1b\\x93\\xc84\\xac\\xb8\\x22\\xcfK)\\xe1'\\xeb\\xd8c\\xcd\\\nXC\\x22\\x18\\xfb+\\x8f\\x1f6\\xe1U(\\xd6N)\\x0f\\\ne\\xde%\\x1c:\\x98\\xab\\xd7#8\\xc1\\x90\\x8b\\x10\\xd6X\\\n\\xa5\\x1b\\xedfI-\\xc2TJ\\x95\\xfd'\\xb8\\x9a.\\x87\\\nY\\xc5\\x17O\\xf4E\\xac\\xfeq\\x15jR\\xc9\\xfaFJ\\\n\\x12\\xa8V\\xd1\\xe0\\xb0\\xc6\\xf7\\x88\\xddU\\xa0*\\xdc\\x5c\\xf6\\\n\\x1d.\\xa1\\xa0;\\xcc1\\x85\\xba\\x8e\\x98O\\xe2\\xafCb\\\nD\\x85\\xd7&c\\xa2\\xe4\\xfb\\x1av\\x22\\xee\\xe4D\\x0e\\x04\\\n\\xa6\\xaaa\\xba\\xb2\\x87\\x8c\\x88]\\xd3\\xa6\\xd2\\xee\\xef\\x85\\xe1\\\nO\\x0d\\x87r\\x5c\\x97\\xdb\\xdd\\xd2\\xb7]\\xd8\\xf7\\xe4\\x8b\\xf9\\\n`\\xb6\\xc7\\x83j\\x08[8\\x9d\\x15\\xd8\\x0b\\xbe&\\x03\\xf0\\\n\\x1a\\x1e\\xa89 eu\\x15\\x94\\xa9\\xbf\\xdb\\x1c\\xfb\\x94\\xa5\\\n\\x1a\\x0c\\xd4\\x86j\\xcd\\xbd\\x86\\xec\\x1f\\xa5\\xb7\\xd4\\xb9\\x9d\\x13\\\n\\xa1(Jb*\\x92:\\xf8\\xf1\\xb9\\x06O\\xef\\xdc9\\x1c\\\n\\xaeu\\xb2\\x87x\\x84\\xdf\\xdc<\\xd6\\xb6\\x19\\x89I\\xc6H\\\n\\x98\\x03\\xf8\\xa3j\\xa5`\\xd4\\xb1\\xcfN\\x0b\\xf8\\x17(`\\\n\\x98\\x03DeKE\\xb2\\xdd\\x81 &\\x88G;3J\\\ne<\\x0c\\xf1L\\x1c>\\xc7\\x13Q\\x19\\x8d4\\xaa>^\\\n\\xf0U\\xf50\\xd4)2k\\x07\\xcf\\xf1\\xcc\\xe4\\xc0\\xf6\\x18\\\nv\\x10\\xea\\x14uo*\\xf7\\xa0e<R)\\xe8Qh\\\nE\\xaa\\x0b\\xd3\\xe7:nG\\x03\\xceB+R\\x00o\\xa1\\\n\\xd6pP{JKA\\xb6\\xf6\\xfb{ \\xc2\\xf50\\x1c\\\non\\xd2\\xf0\\xcf\\xbf\\xa06\\x86\\xfe4}\\xcch1.\\\n\\xcc\\xa4\\xf2)\\x1b\\xc6\\x01\\xcf\\xda3\\xe8b\\xa5\\xf3\\x95;\\\n\\x89\\xabk\\xaeu5\\x06\\x9a\\xc7~`\\xcd\\xb6\\xfep\\x16\\\n\\xaeY\\x19\\xb3\\xd0\\x19\\xf8\\xfb{{\\xe2\\xfa\\xd0\\x09\\x95\\x12\\\nvE\\x05{\\x00%33\\xa7\\x1a\\xa9\\x1bi\\x04\\xaa\\xcc\\\n\\x00)\\xdd]\\xa7\\x81Su\\x06@\\x1fv\\x87\\xb9\\xeb\\x81\\\n9\\x8f\\xdc\\xc0i\\x13\\xeb\\x83W\\xdb\\x9e\\x17\\xa6\\x88pz\\\n\\xfaird\\x11\\xbf\\xe0\\xf7\\xf5*\\x97jf\\x81\\x84\\xf5\\\nQ\\xf3\\xa1Z\\xeb\\x8d \\x9f\\x88\\xd6\\x94DFWY\\x13\\\n\\x0c\\x1a\\xcf\\xaen]7\\xe4\\x88\\xa0\\xc4\\x12\\x05E\\x9e\\x14\\\n\\xbd\\xe2p\\x0e\\xad\\x92w\\x1c\\x85\\xcd\\xe7u\\xce\\xec6I\\\n#\\x9eo\\xbbJ\\xb1\\xacAb\\xcd3\\x98\\x05\\xf8\\x06U\\\n\\xe1Jm\\xe8\\x8c\\x94\\xf1\\xd9\\xcf\\x12\\xb3L\\xa7\\xcbi\\x22\\\n\\xb7h3\\x9a\\xa9A\\xb5Ym\\xe01\\xcd\\xf8w4\\xcd\\\nv\\xab-\\x0a\\x13iE\\x0b\\xd3-\\x06\\x05\\xa9J\\xa5\\xe6\\\n\\x10\\xf1\\x1a\\xaa\\xeb\\x95\\x92\\xb6l\\x99\\xe8[\\x0aK\\x82\\xa9\\\n;\\xec&\\x83Q\\x94\\xd3\\x0d\\xf6\\xd1F\\xf8\\x1b\\xe4\\x13\\xf3\\\n\\xf9\\x05\\x94\\x0d\\xad\\xef\\x1d\\x8f\\xa7\\xa0\\xb4\\x834{\\xa2\\xf1\\\nt\\xf1\\x8dF\\xdb\\xcf\\x91\\xe3f\\xe5\\xd0k\\x85j\\x1d-\\\n\\xbd\\x80\\x0dr}\\x0e4\\x93.\\xdf\\xd5\\xb7\\xef.\\xde\\x1c\\\n\\xbd\\xd6\\x87gK`L\\xed\\xb7d\\xc6\\xd6\\xc5\\xe1*\\x10\\\ny\\xbc-q\\x17\\xcf(\\x8e\\x1c\\xd9\\xd7\\xe2_\\xe5\\xbbY\\\n\\x89\\x00\\xdc\\x93\\xbf8'$\\xfd\\xe8B\\x89\\xb4\\x5cR\\x16\\\nH\\xa5s\\x05\\xcdk\\x04\\xd4\\xfa\\xa9\\xa7\\xc5\\x83\\x0a\\xfba\\\n\\xf1\\xbai]l\\x8b\\xdbe\\x8a\\x82\\xe6\\xac\\x92\\x92\\xde\\xe2\\\njj\\xf9\\x9e\\xc8\\xd6&\\x09aM@\\x86\\xac\\xb6\\xa3\\xa7\\\nz\\xfa\\xc8\\xd4v\\xa0\\x9e\\xd7\\x0e=\\xad\\xa7\\x84\\x16\\xfcx\\\nI`@\\xaeWN\\xc7\\x17h )\\x1a\\x94\\x9c\\x8c\\x8a\\\nU\\x1c\\xbc\\xe0\\x88^Qy\\xa9U\\x96\\x87sPf\\x14\\\n\\x82\\x13\\xb8L:\\xe5\\xe4\\xf9\\x8f\\xc6\\x19\\x8f\\xa3\\x12\\x9c\\x7f\\\n$-\\xb5\\x80\\xdf\\xb4\\xa3@\\xa1\\xaf\\xed\\x02\\xd02\\xa0\\x82\\\nh\\x15\\xfc\\x16\\xcd&\\xc6\\x04\\x08\\x93\\xe9P\\xf6q\\xfd>\\\n'{\\x91\\x1e\\xacYoL\\x89Dy\\x8d\\xed\\xb70^\\\n\\xb4\\xb0Mm8\\xff\\xb8\\x11'@\\x12\\x92>.5b\\\n\\xe0`\\xd9\\x9c\\x7f\\x0c\\xdbP\\xf3\\xf3\\x8f\\xb2\\x1e\\x86\\xb7\\xe1\\\n\\xf9G`MZ\\x90\\x00\\x1f\\xb5\\x8ev\\x96Ku\\x09\\x97\\\n\\xddQ\\xdc\\x9d7\\xb1i\\xab\\x16EU)\\xa6\\xe5\\xf7I\\\nC\\xc9\\xc4\\x04%\\xce\\xe1.\\xc8\\x93\\xd3\\xd7\\xaf\\xde\\xbc\\xba\\\n:\\xbd\\xb8lc\\x86\\x8eO/\\xdb\\x09\\xf3\\xf9\\xc7f[\\\n\\x8ca<f\\xfdvV\\xbeT\\x00\\xb9\\xc5\\xcd\\xcd\\xef2\\\nK`\\x1b5\\xaa\\xe03x\\x85\\xa7\\xcc6\\x04\\xfc\\x96{\\\n\\xf5\\xc1\\x00\\xe7\\x1fs\\x84\\xcd*\\x89\\x05\\xc5/\\xa0\\xd7*\\\n\\xd5Z\\xfd\\xfe>\\x06.\\x0b]k>a\\x00\\xf1db\\\n<\\xc3\\x9b\\x5c\\xc4\\xefY\\xdd\\xa7b\\xfd\\xa0d&\\x0e\\xcf\\\n@\\x16o\\xe2\\xa8S\\xf7\\x05v\\x06d\\xb2\\xedp\\x03\\xb8\\\n\\xa2:OG_\\x0e\\xcbau\\xef)O\\x0b\\x9a\\xab\\x9a\\\n\\xcd#\\x95h\\x9a\\x9a\\xac\\x12M\\x9f3+z&o\\xba\\\n\\x10\\xbc\\xe54A\\xdaE\\xa7\\xc7\\xb6Gf\\x9f\\x06z\\x9d\\\n\\xa8\\x9e\\x1d\\xc4\\xb3\\x0eW{x\\x1b8\\xf9\\xac5\\xd3\\xe4\\\n\\xa5\\x96B\\xf1sj\\xad\\x9ds~{\\xad=\\xb4S\\xb3\\\n\\xb1\\xda\\xaf\\x22\\xd2^\\x8c\\xa7\\xe9\\xf7\\xa7\\xca\\xbc\\xc1d\\x1a\\\n\\xf4&\\x8b`\\x1c\\x0f\\xb0\\x16\\xc1\\x02y\\x1eb|\\xc6\\xf8\\\n'\\xc2?_\\xc2z\\xd0o-\\xf2\\x86\\x05\\x10K\\xdb\\x00\\\n\\xd1\\xfd=\\x7f\\x22\\x1e\\x19\\x04\\xc4\\x1f\\x02\\x90+\\x9e\\x80\\xb0\\\n\\xf5\\xee%\\xe8\\xad\\xc7\\x0c\\xd5\\xcb\\xc3\\x0c\\xd1\\x0fb\\xc66\\\n\\x84Qj?\\x16JD+?\\x5c\\x109-/,\\x0a\\\n8\\xe4\\x9fA\\xa5ZWO\\x94\\x5c\\xf1\\xcdd\\xeaK\\xd5\\\n\\xc6hq\\xa04^_\\x7f\\xecZUi\\xf8~\\xb0\\xd2\\\n\\xc3r8\\xe6z\\x8cyo\\xf9\\x126L\\x81\\x09\\xac\\xfa\\\n\\xe7\\xc3\\xa7V\\xb0t\\x1eZa?8\\x7f1\\xf4\\x97\\xd1\\\n\\xfa:\\xd9\\x1dI\\x9eD\\xd7\\xd7\\x89\\xa5z\\xe7\\xd4\\x95P\\\n\\xaf\\x88\\xeb\\x15\\x0d\\xc3\\xe8\\x1cz)H\\xe4=j\\x9c\\xf0\\\n\\x13\\xca~\\x14\\x8fJ\\xa5\\xf3\\xca\\xd0\\xdf*}y\\x1a\\xa1\\\n\\x8e\\xad\\xb8\\xe6q\\xd5\\xd8\\x141C\\xa3\\xecd\\x87l\\x00\\\nT\\xff\\xf0<L\\x9eb\\xae\\xf2\\xb0\\x09%h4\\xd0\\xb2\\\n>W`\\xc0\\x15\\xe8V\\xa2\\xf3\\xadF@\\xce\\x5c\\xad\\x83\\\nAh\\x22d\\xd3C\\xb6\\xd1D\\xa2\\x08\\x81\\xa5j\\x86\\xd9\\\n\\x84*f\\xf0\\xa4\\x19\\xd2>\\x90\\xb8\\xdd\\xad/Y@G\\\n\\xb7\\xb8\\xa2\\xc041%\\xe1>\\xe6A\\x16\\xe8\\x98\\x0dz\\\n\\x88\\xa7\\xcdO\\x89W\\xc6\\xe4V\\xa5\\x92\\xbc\\xa8\\xb5|\\xfc\\\n.\\x93x\\xbb\\x95\\xca\\x80\\xdeR\\xae\\x82\\xccT$\\x01\\x94\\\n=\\x153\\x10\\x10\\xed\\xe7\\xe6K\\xbd\\xb9\\x96k\\xfa>\\xf5\\\n7\\x8c\\xa9\\xbf\\xf5\\x05\\xd7\\xee\\xfa\\x1e)[\\xe6z\\xf2\\x81\\\n\\xef\\xef\\xbd\\x1a\\x1ay\\xb0\\xea\\x98_EX\\xcd\\xc5\\x9d\\xea\\\n\\x14\\x94\\x03)\\xa5\\xb42\\xa8\\x01\\x96\\xe7\\xeeW\\x97\\x06\\x94\\\n\\x96\\xb7\\xe6\\x1eb\\xc1\\x9bC\\xc4?\\xb2U\\x8cY\\xeb:\\\n\\x185\\xf5\\xd4&\\xb8\\x11\\xc3\\x8dD\\x80\\xc1p#8F\\\n\\xa7\\xf0\\xcd\\x18n&\\xf2\\x0b\\x86\\x9b\\xd1\\x0d\\x87(\\x8f\\xeb\\\nw\\x01\\xc1\\xc2\\xc4\\xf5$\\xceX\\xa0\\xc3\\x9a\\xeb\\x9dl\\xf7\\\n\\xe9Wg'\\xfb\\x9a\\xbb\\x93Ql\\xdeN\\xf65o\\xb3\\\n9Om6\\x1f\\x7f\\xeff3|p\\xb3!\\x83K3\\\n\\xd62\\x97\\xfd\\x06\\xfe5\\x82\\x11\\xee2\\xb3\\xcc\\xa6\\xd3\\x1a\\\n\\xad'b\\x88N\\xed\\x0c\\xb3h\\xaa\\x09\\x1a\\x19wz\\x88\\\n\\xca\\xce\\xd6\\xe3\\xa6Z\\xe6!\\xa7\\x84\\x07\\xb1?@~m\\\n\\x84\\x8f \\xbf\\xd4\\xa2u\\xc2\\x9c\\x91\\x9a\\x85X\\xb9ub\\\n\\x92\\x19\\xbf)\\x98\\xc9\\xec\\xce,\\x18,H\\xb6\\xc6\\xfc]\\\ns\\xc8R?=\\xd9\\xa9\\xe4!\\xf5&\\xfc\\xf0\\xfe\\x00\\xb3\\\n\\x9cOC.\\xd4\\xc9\\xfd\\xfd\\x88g\\xf9L\\x823\\xd9G\\\n$\\xc8\\xc4\\x9d\\x8b\\xbf\\x0dG\\x5cUnZ\\xd9\\xa9\\xf9\\xc8\\\n\\x97\\xbd\\xf9w\\xee\\xc2\\xa5Gl\\xc3\\xae\\xb4i\\xe4\\xf6\\xb7\\\nZ\\xf5\\x80g]o\\xf3\\xa2\\xaf(Zr+\\x1b\\xbb\\xc4\\\n\\x8c\\xca\\xb0u\\xc2\\xde\\xce\\xb4a\\xf8b\\xa8\\x1e\\xaeH\\x1f\\\n\\x8f\\xa53\\x99\\x0b\\xe0\\xe4\\x81J\\x1ep\\xf2\\xc0w8\\x83\\\n\\x8f\\xcfo\\x1d\\xce\\xe0cxks\\x06C>u\\x0d\\xf9\\\n\\xd4\\xf51\\xf8\\xf8\\xe2\\x96\\xcfj\\xd1G\\xdeYg\\x15\\xa1\\\nn\\xd1m\\x18},\\xde\\xda?Vnyk\\xbf\\xfd\\xbe\\\n\\xad\\xfd#o\\xed\\xb7\\xe5\\xdb&\\x94\\xa0\\xd1$\\xa2m\\x16\\\n\\x96\\xa0PH\\xad\\xd6a\\x03\\xddj\\xb4\\xd2;mj\\xd6\\\ns]+\\xfd\\xec\\x96\\x9c\\x1a\\x07\\xbbm\\xb7e\\x07\\x9e\\x0d\\\nw_\\xb2\\xb6\\xb7\\x85\\x9b\\xf3\\xdcV\\xa8\\x85\\x99\\xe5\\x97\\xc2\\\noO\\xd5\\xdb\\xbcU\\x98\\x9a>2\\x89\\x1f\\xc1\\x22\\xfc\\x8f\\\n\\xe0\\x0e\\x90\\x04\\x87\\xdf\\xc5\\x22\\xc0\\xb8Ud\\x8c\\xbe\\xafo\\\n\\xb0\\xef\\x1fd\\x05\\xb2\\xdd\\xf7:\\xaf\\xfb\\x00W\\xab\\xc8\\x9a\\\n\\x1a\\xa1\\x90\\x99\\xc9&\\xdd\\x99\\xe3\\x9b\\x97\\xda\\xb4\\x07\\xe1\\xce\\\n#;P\\x83\\xcb\\xeb\\x04\\xed\\x91\\xde{\\xcc.\\x84Eu\\\nh\\xdd\\xf8j\\xcf\\x1d\\xe6\\xee\\xb9\\xc3\\xa2=wH{\\xae\\\nS\\x09w\\xc3\\x9d\\x07\\xea\\xc8\\xc5k\\xf1JnV\\x82\\x97\\\n\\x22[jYB\\xa7\\x97a\\xc5\\x168e\\xc5O\\xad\\xac\\\n9\\xb6\\x8c\\xdab\\x22\\xf6\\xd6dF\\xe0\\xa7\\xcb0;\\xcc\\\n\\xd7\\x15\\xcaY\\x10\\xa4+\\xb6\\xdf2\\xe0i\\xbe\\xf0e\\xb9\\\n0\\x87a\\xeer\\x13\\x04S\\xcdW\\xd2\\xa7\\xd4\\xbb\\x03:\\\n\\xfew\\x17]\\xb1\\xa1\\xc6\\xdc\\x09\\xdf\\xdc\\xb3tXID\\\n\\xc9\\xbe\\xe2\\xbc\\xd9&o\\x88\\xa4G\\xcb\\xaa\\xb9h\\x9f\\x8a\\\ntK\\x9b\\xcb\\xd5\\x0aw\\x10\\xd6\\xc0\\xa4\\xcbQv,\\xa9\\\n$./\\xdf\\xbd>I+\\xd3\\xf3\\xf5\\x9e\\xe0,{\\x95\\\n\\x97\\x93\\xd1\\xc0\\xb34\\xaaY\\xd53LC\\x04\\xaa\\x16F\\\n\\xfc\\xfbD\\x89\\x7f%\\xc9\\x12\\xffJ\\x0c{xn\\xd7:\\\ni\\x01\\x96\\x9f\\x92\\xd20Tz\\x8c\\xf9\\x06/\\xefI\\x85\\\nd@E@\\x16\\xc7R\\xdf\\xad\\x81\\xf4\\xe9\\x1d3_\\xbc\\\nQ\\xbf?\\x0d%\\x82\\xc9\\xb69\\xbe\\x1b!{V\\xb6.\\\nZSa\\xaexR-d\\xb4\\xf9\\xa1\\xcc}\\xa4UO\\\n\\xb0\\x80\\xf7\\xd1\\xacOOXimI\\x17\\x91\\x0au\\xf6\\\n\\xf1\\xa5\\xc88K\\x02c\\xae\\x86$B8s\\x1d\\x16l\\\n\\xdb\\x06\\x9br\\xdas\\x84.a\\x5c|\\xfafr(\\xf9\\\n\\xb7;\\xea\\xaaT\\xcb\\x86\\x870\\x8f\\x05\\xe9n'\\xe7=\\\n\\xaa\\x83p7\\x8dpW\\x10.tXp\\xedu\\xf2\\x9f\\\n\\xa8:\\xe8\\xf6\\x14\\xba\\x81d\\xdf\\x13t=\\x1dVb^\\\nm\\xf1\\xc7\\xac3e\\xc8\\x10\\xfa]l\\x1d\\xa1l73\\\nw\\xf5\\x9d\\x08\\x7f\\x84\\xfcS]L\\xc4\\xca\\x1e^w\\xe0\\\n\\x1d\\xa0\\xf3\\x0c\\xc9\\xf3p\\xd9I\\x0e^r\\x97\\xaf\\xfez\\\n*\\x12N%*\\xac\\xe7\\x03\\xbd|\\xf5\\x93\\x82h\\xe4C\\\n\\x5c\\x02\\x12\\x85\\xa5\\xbaOh\\xd8\\x86\\xb8zq\\xd9\\xe6<\\\n\\x1dG\\xdb8\\x93\\xdab\\xcb\\xb6\\xc0\\xce\\xa8V\\xd9V\\x13\\\n\\xdb\\x95r\\xe7\\xb0t\\xd8D\\xcb\\x89\\xe5{\\xb4\\xa1\\xc8\\xdf\\\nO\\xfdC\\xdf?,M\\x17\\xf7\\xd1\\xf8>\\xba\\xbb\\x1f\\xdf\\\n\\xdcO\\xef\\xee\\xa7\\xfd\\xfb8\\xb9\\x1f\\x8f\\xef\\xfb\\xe3\\xfb?\\\n\\xfb\\x87[\\xc0\\xd1\\x85\\x8e\\x9d[@\\x0c\\x0b\\x1e\\x0e\\xb1u\\\n8#\\xdd$1\\x9a\\xb1\\xc5\\xb8\\x86V2\\xe5\\xabD\\x1c\\\n\\x0f\\x1c{\\x5c\\x0eu1}\\x85j\\x12\\xb4\\xe9\\xa8\\x88\\xb0\\\n\\xaeL5m1\\x91\\xf4\\xa21\\x0e\\x02\\xe2=\\x1c7\\xbd\\\n\\xe8\\xce\\x84\\x9ef\\x0cc5\\xbd?\\x9bd\\xb41\\xf5\\x14\\\nKkzS;\\x17\\xeb\\xcfy\\xd3\\x85\\x03\\x0a\\x11}\\x1d\\\nQ\\xaf6\\x9e\\x8e\\x9b\\x8a\\x5c\\xb8V\\xd4\\x03/N\\xb2\\xd8\\\n\\xfa\\xe3t\\xdcV\\xa3\\xba\\xbb\\xd3\\xf4\\xc69\\x09\\xbbUL\\\n\\xb8\\xb1\\xcb?h\\x8e\\xa9\\xae\\xb0u\\xe8Gt\\xb9\\x93\\x9a\\\n\\xe73m\\x1a\\x08'\\xdb\\x16v\\x82\\xfb\\x02o\\xab\\xa4\\xb5\\\n\\x07\\xf4\\x1b\\x03{\\xba\\xa1\\xe5\\xcd\\xab\\xf3W\\xc7\\x7fy{\\\nzyY}sz\\xf2\\xea\\xc3\\x9bC~6\\xba\\x06\\x0e\\\n\\xbe\\xde\\x1eV\\xf7\\xf6\\x9f>\\x06\\xf2\\xf8/\\xd0\\x91\\x1a6\\\ne\\x9fK\\xdaCi\\xd2\\xaaU`\\x1b\\x0c\\x1f\\xebk]\\\n\\xe2\\xdc\\xbb\\xbd9D=\\xaf\\xd6j\\xf5C\\xaf\\xe65Q\\\nd{\\x86NyJ\\xdb\\xbee\\xd9\\xb3zX\\x13;\\x17\\\ne\\x8f|\\x18\\xe9k\\xa2<\\xcc\\xe3\\x90\\x8f\\x05\\xe4\\xbe\\xa3\\\n4\\xd6J\\x7f~\\xb9Z\\xdb\\xf5\\xb7\\xb4\\x0e\\xa0]\\x83\\xbd\\\n\\xa8\\xb2\\x035\\x00\\xe4\\x8f\\xae\\xc3M\\x92\\xdf0{\\x19A\\\n\\xeb\\xdf[\\xf6\\x1c\\xa0LS\\xcb\\xa7\\xca~Z\\xf0fs\\\ns\\xfc\\xfc\\x0d\\x1e\\x17\\xc37\\xbeS\\xadj\\xba[\\xeaN\\\n\\x95j\\xaaB\\xe4\\x16G6\\xa2\\x9c:\\x91\\xb9\\x84\\xb1_\\\n\\x80\\xc5j\\x18\\x1aQ\\xb8R\\x9e\\x84\\xd2\\x97\\xd2\\x18\\x1fL\\\n\\x803\\x8d\\x13\\xdb\\xb0\\xb7\\xb96g\\xc5\\xe5\\xaavE$\\\nf\\xbc?\\x92\\xc3\\x93\\xabT\\xec\\x9b\\xc9o\\xa9\\xa8\\xb6W\\\n\\x19\\xcf-GF\\x9d\\xd0.Ro0\\x1a\\xe0\\x1d\\xc5\\xe7\\\n\\x17\\xe2\\xa4\\xd9E\\xd9\\x09\\xa9\\x02+\\x5c\\x10\\x94+\\x8d\\x04\\\n\\x16\\x19\\x99\\x9b\\xd3d1\\xfbf:\\xa3\\x1b\\xc4z\\x10\\xbb\\\nmKsX\\x1fJ\\xe3\\xa0\\xab\\x1f\\x0b\\xfa>?3\\x83\\\n#=;@h\\xb2\\x166\\xf2\\x0f\\xe2\\xe5\\x89\\xbd\\x06K\\\n\\xe0#+ts\\x80r\\xc8\\xf7\\xcf\\xf2\\x0e\\x8eC^g\\\n\\xa5\\xd4K\\xc9\\xd0G\\xca\\xf9\\xed\\xe5M\\x8fm\\x83-\\xd1\\\n\\x81\\x82\\xa9\\xfb \\xba\\xb6\\x1e\\x13\\x0d6b\\xbc=\\xba\\xf6\\\n\\xd1\\xde\\xf4\\xb0;\\x7fw\\x9b\\xbc\\x9fM\\xa6\\xc0a|+\\\n\\xc1\\xa1G\\xb4\\x89H\\xb5\\x1b \\xf0\\x17y`\\xbcu\\xb6\\\n-\\x0aT\\xea\\xd1^(f\\xd1\\x86J\\x03\\x09\\xf9\\x8c\\xc0\\\nN\\x19\\xa8\\x14\\xba\\x8f\\xb6\\x12F*a\\x94\\xce2S)\\\n\\xb3t\\xcaB\\xa5,\\xd2)=\\x95\\xd2\\xc3\\x14\\xfaR\\x1c\\\n\\xf3\\xe0\\x05pA\\xb6I\\xb2\\x132\\xd5D\\x94\\xde\\xb2\\xd1\\\nD\\x94\\x98\\xd2o\\x9f\\x86\\x96a\\xa2\\xa1\\x13\\x1a8\\xa1\\x91\\\n\\x13\\x9a9\\xa1\\x85\\x13\\xea9\\xa1\\xd7\\xaa\\xb6\\xaf%Z\\xaa\\\n|\\xa1\\xe2/\\xdc\\xf8\\x13\\x15\\x7f\\xa2\\xe2a<\\xd8\\xe1\\xba\\\n\\xa5\\x22\\x8eG\\xb7\\xbb\\xe0\\x9b\\xbf\\xc4\\xaf\\xea/\\xe1]@\\\n\\x1f\\xff\\x16~cM\\x0b\\xda\\x91\\xfb\\xe6l\\xd8\\xba+\\xf3\\\n\\x9e\\xc8q/\\xd2\\x9d\\xef&\\xfb\\x81\\x13\\x1e=O\\x8f\\xa2\\\n\\x9bl\\xc0\\xa9b\\xc0\\xeb\\xf2\\xefkT\\x8e\\x94\\xef\\x0b\\xfc\\\n\\xf6\\xb9\\xdc[\\x85\\xe86|lF?\\xf8f\\x179|\\\n\\x91\\x9e\\x8an\\xb2\\xcf\\xdd\\x81}\\xc9,\\x0c\\xf7\\xe8\\xfd\\xbd\\\n\\x05tR\\xf9\\xc6XN|\\xb4\\xe6d\\xe29v\\xc0:\\\n\\xba'\\xa1\\x9b\\xa5\\xc9\\xf8\\x14z5d\\xce\\x9c\\x0b\\xac,\\\n\\x03U\\x8a\\xb58\\xdc\\xe4T\\xd3\\x16/\\xd2\\xd3\\xdfM\\xf6\\\nm\\xec=\\x85\\xddZ\\x13n2\\x128\\x12P\\xb8\\x93G\\\n\\x19\\xb8JM\\x93@\\x0eT\\xb7\\xff\\xe2\\xf9\\xc2\\x85\\x94\\xc3\\\n\\xc7\\x0d~\\xb0v\\xe4\\xbf{\\xdc\\xbf{\\xd4\\xbf{\\xcc\\xd7\\\n\\x8e\\xb8\\xd3\\x9c\\xech\\x17\\x8f\\xf5\\xda\\x91F\\x8d\\xc3)\\x9c\\\n\\xb0\\x224\\xb9\\x95\\x1ek\\xe9)\\xee#!n\\x1c\\x1a\\xc8\\\nPp\\xe8V\\x88\\x9bL\\x09!|\\x1c\\x1a\\x09\\xa9\\xe3\\x90\\\n\\xe8>\\xf58\\xd4\\xe3n\\x9f*\\xc3R\\xccw\\x8b)X\\\n\\x93\\xa2FG\\xf5\\xb1\\xf4n\\x8a^\\xb3\\xc8\\xcaf\\xa8\\xee\\\n\\x82_\\x90\\xa9\\xa2\\x8d\\xea\\xaeS\\x16\\xce\\xd9p\\xa4\\xe3\\xa0\\\nn\\x99\\x9bSO*\\xdf\\x1cJ\\x06\\xea\\xb7\\xf6/\\x1d\\xb5\\\n\\xd7\\xfd\\xc2\\xbaM\\x90\\xc2O\\xab!\\x8283\\x95\\xf8\\x06\\\nUN\\x97x\\xef\\x90cT\\xc7\\xbe\\xcbC\\x07y\\x03\\xf4\\\n\\x98\\x86Zl\\xf0\\x0f\\x1d\\xd2\\xa1\\x1f\\xb5^SL\\xf56\\\n\\xeb\\xea\\xd1O}\\x05\\x03D\\x0ay\\x06'\\x8b\\xde,\\xc5\\\n$8S\\xf5ro?\\xd4\\x11]\\xe93\\xdbj\\xc8\\xa2\\\n\\x10\\xdd\\x0bq\\x8b\\x14YCX\\x93kB\\xf2\\xcb&\\xfd\\\n\\xdb3\\x03!'pb\\x90\\xd8\\xbcp\\xb3\\xdd\\x16o\\xe0\\\nW\\x93)=\\xf3\\x00&\\x04\\xff-\\xc8\\xdd\\x13'\\x91\\x84\\\nU%\\xde\\xc2\\xbf\\x99\\x95\\xc8\\xd2\\x00\\x95:@GyV\\\n*JF\\xec\\x9c#/\\xa8a\\xaa\\xa5qf\\x97'\\xd1\\\n\\x17\\xc2'\\x99\\xb2\\x1c\\xc9\\x9fS\\x8e%\\x82\\xb1\\xcb@\\x1e\\\n\\xcav<w\\x11}\\x8e\\xe7\\x8bh\\xa6\\xbc\\x92\\x9cO&\\\n_Jp\\xd6\\x1b\\xd1\\x03\\xc0\\x0b\\xf4\\x99\\xe4Y.\\xa1\\xfc\\\ne\\x09NH\\xc6i\\x99\\xb1\\xb4\\x07Y\\xfc\\xea\\xb8\\xd7\\x9d\\\nG\\xc6\\x7f\\x9dmW,\\xc5YO\\xa6\\xf8=w\\x8d3\\\n\\x89MMz\\x0aD\\xe2n\\x07t\\xc5\\xcc\\xdf\\x18\\x12\\xe3\\\n\\x91\\xb3\\xfd\\xfbK<\\xb6q\\xe1\\x04\\x83\\xde\\x19H\\x8f\\x1f\\\n\\xad\\xdey:\\x87\\xa7pXe\\x14\\xd5K>`\\x0e\\xca\\\n\\x17\\xbfN\\xd6\\xaa\\xc1l,\\x94\\x84\\xa3\\xba\\xaa\\xb6\\x01\\xdb\\\n\\xac\\xe6\\xa9\\x9d\\xca\\x12:\\xcb\\x1b\\x90\\x18\\x5c\\x9b_M\\xbe\\\nD\\x89\\xd0T\\x82\\xfc\\x1c)68\\x0f\\x01.&q'\\\n\\xa4X\\xdc\\xb1\\xb9\\xee\\x93\\x9a#\\x83NB\\xbeY\\x94\\xc0\\\n\\x06\\x22\\x04\\x8f\\xacI\\xb2D\\xc8\\xf1\\xfd`\\xca \\xc5L\\\ne{+\\x88u\\xdf\\xa8c\\xb8B\\x9fL\\xd0\\xc2\\x98<\\\n\\xbb\\x15\\xbb\\xd7\\xa2\\xa7\\x99\\xa90\\xea\\x12f\\xfa\\x8a\\xd3\\xc8\\\nLY~\\x129\\xa1\\xb6\\xac\\xec\\xcb0\\xaa\\x0a\\xa6\\xc6\\xd0\\\n\\xd4\\xd4rs\\xa2\\x1b\\xdd\\x8e;A_{[\\x09U#\\\n\\x8c\\x8e1\\xc9\\xaa )\\xa3\\xb2\\x884\\x11\\xb3\\xe0\\x1f\\xc0\\\nr\\x7f\\xaf\\xee\\xd3\\x8d\\xb3\\x14LRF\\xce\\xf2/\\xea\\xc9\\\n\\xc5\\x8b\\xcf5\\x10w)\\x19\\xf3{\\x81S\\xa9w\\xd2\\x98\\\n\\x80\\x91\\xa3l\\x96\\xf3q\\x01\\xb3uv\\x99\\xf3\\x95PU\\\nr\\xb0>\\x19\\xedq\\x07O\\xdcQN\\xeb\\x94\\xb25F\\\n\\xdc\\xb9\\xecJ\\xf1U\\x093Z\\xbc\\xe7\\x06u}*2\\\n\\x13\\xef\\x90\\xb9\\x1az\\xfa\\xdd\\xe3\\xafPbdo\\xe47\\\n\\x22\\xd6\\x83\\x10\\x1d\\xeb\\xfb\\xcd\\x92M\\xc9\\xe3\\xbeC\\xd8\\x09\\\n$\\xb5\\x0d[\\x14\\xdf\\xd9\\x86\\xf9\\xdd\\xbd\\x9e\\xce\\xb0\\x90\\xc4\\\n\\xba,\\xaaF>0\\x940\\x09\\x94\\x0a\\xac1\\x99\\xd9\\xb7\\\n\\xe6\\xa8\\x9eW\\xe9I\\xaa\\xbd/uQ|f\\xd9\\xc5s\\\n|\\xf1\\xf8\\x05\\xe69\\x1dKz\\xb6\\x8a\\x82]\\xf4d\\x16\\\neKvIn\\x9c\\x5c\\xc3F\\x86\\x16t\\xcc\\x02\\xa9u\\\n\\x0e\\xed@\\xd5A\\x961\\x97\\xdd\\xb4\\xc8\\xa1\\xaay\\xc9\\x98\\\n\\x9d<\\x86|\\xe4\\xab\\xa3\\xe4+\\xea+\\xea\\x97\\x94\\xddR\\\n\\xb1\\x8c\\x83\\xf3\\xe0\\xc42\\xb9k\\xafXR2\\x80\\xcf\\xfc\\\n\\xe97\\xc00\\xcd+\\x9e}\\x08L\\x93\\x80\\x0b\\xba\\xbf\\x17\\\n\\xbfUV\\x1c\\xb0\\xab\\x1a\\xbe\\xdfM\\xe4\\xce\\xbc\\xe4\\xfd,\\\nw\\x0d\\x1eU\\x86\\x8b\\xbb\\xe5\\x9c\\xb7\\xadT9\\x82\\xea\\xe7\\\n\\x12\\x82\\x9ak\\x0d\\xbe\\xb0V\\x1aL\\xfc\\xd0d\\x96~,\\\n\\xe5S\\xa5\\x81}\\xd7f2\\x85\\xa5\\x19\\x08\\xe3>`\\xce\\\nY\\x1b\\xc3\\x14Vg <\\xf3\\xc02\\xb2\\xb90\\x8f\\xc1\\\n\\x06\\xc2'\\x0f,S\\x9a=\\xf3\\xfek \\xbc\\xf1*g\\\n$\\xce\\xed\\x91\\xf8\\x18\\x18\\xc7r\\xff\\xf3\\x06\\xe3|2\\x8b\\\n\\x7fC\\xffF0\\x1c\\x1f\\x1f7\\x18\\xe7\\xa5\\xc2\\xe9\\x18\\xfb\\\n\\x80\\xe4\\xff\\x93\\xc3\\x94w\\x92\\xe9\\x99\\x93\\x0cS'\\x03\\xc4\\\ni\\xc1\\x9a\\xf5]\\x90E\\xd1\\x0d=\\x04\\x96\\x14-\\x9eE\\\n\\xf4e\\x16\\xa9\\xf4x\\xf8\\xc4\\xdc\\xee\\xc4\\xf3\\xd3q/\\x1a\\\n\\x8db|\\xf5S\\x92\\x11C\\xca\\x11jZP\\xf2[\\x18\\\n\\xb1\\xb9\\x89\\x7f\\xc5\\xb5\\x00\\xc99\\x19\\x19\\xc6f&\\x82[\\\n\\xb8~Jb5^eW\\x9a\\xdd\\xf2\\xebNs\\x8b\\xd6\\\n\\x0c\\x83A\\x0e\\xebi\\xf5\\x87U\\xdf\\xd4b\\xc7\\xac6\\x87\\\n\\xe2\\x96\\x91\\xd6\\xe2\\xbb}L1\\xf6R\\x84\\x22\\xcfU\\xd6\\\n\\xe2b\\x08\\xec\\x81\\xa2\\xb2\\x95w\\x16\\x87M\\xcf\\xfd\\xe0V\\\n\\x0f\\xbefi\\xd3\\xdb\\x86\\xc9\\xabla\\x88K\\xacU\\x11\\\n\\xdf\\xcb\\xa75\\x91%\\xce\\xa2\\xeb\\xf5\\x9c\\x11l\\x84\\xc1\\x12\\\n\\xc1\\x9a:\\x83\\xe3\\xd0j\\xe5\\xa7\\x1dD\\xbc:qj\\xc2\\\nQ\\x82\\x9d\\xac\\xc0\\x96|m\\x86F&(Z\\x8d!3\\\n\\x9f\\xd8\\xc2\\x8aWN\\xe7\\xf6\\xcb\\x9c][\\x94me\\x86\\\n\\x8fY\\xd2\\xa3\\xc5b\\x16\\xf7n\\x16\\xd1|\\xddS4)\\\n\\x80\\x1c\\x09\\xa2?\\xafx\\xb0\\xd2\\xdb\\xa0e\\x0e\\xbb\\xc8Z\\\n\\xadU\\xb1\\xc3\\x22\\x03\\xbc\\xbf\\xb7a~\\x93\\xbd\\xee\\xb1\\xcd\\\n\\xf2\\xb5\\x97\\xcf\\xa9\\xd3~\\xe6\\xee\\x8b.\\xa8\\xed\\xd5(r\\\n\\xda\\xdc\\xeeJO+E;Hx\\xaf-\\x04\\xac}\\xc7\\\no\\xe0\\xd3O\\xf8M\\x8a\\xd2:\\x82r1e\\xae\\xd55\\\n\\xfa\\x93\\xe9\\xb7\\xd0M\\x0b\\xe6_\\xe2)]\\xfd%\\x13L\\\n6\\x95\\x0d\\xe2\\xcf\\x09\\x92/\\xcb\\x01;\\xc7\\x00p\\xd7@\\\n\\xc9yr\\x1ezc\\xb64\\xa3\\xa5\\xf60\\xf0\\x87t8\\\n%S\\xed\\xb3\\xc9bBN6U\\x86\\xa6\\xedfi.\\\nf\\x1a\\xb0\\x0a\\xf9f\\x1a\\x06\\x94\\x86[p\\xedI\\xc8\\x15\\\n\\xc1+\\x0a\\xa4\\x9f\\xd0\\x026Sc\\xa2y\\xab}\\x12*\\\n\\xf4\\x1c\\xf7u\\x12\\x0f6\\xd0\\x09\\x14v\\x1d]p\\x00\\x1c\\\n\\x1d\\x1d\\xa2\\x85nx)\\x1e\\x98\\xfe\\xe3[\\x10K\\xc7\\xcb\\\n\\x19\\xd9K\\xf76\\xc1\\xf2\\x81\\xcb\\xd7\\xe0\\x01\\x1bt\\x96\\xcb\\\ng\\xfa\\x0e\\xa6\\x9c\\xc6\\xa1C\\xfe\\xb1\\xe7N\\xb3\\x1e|\\xed\\\n\\x8en\\x22c\\xf3\\xeeg\\x0a\\x96\\xc4v\\xfd(\\xfa\\x1a\\x8d\\\n\\xe4Z\\x88\\xec\\xa4\\xe32G\\x00\\xea\\xe7\\xb9\\xd6S!\\x8f\\\n|*\\xca#A\\x98\\xb8\\xca\\x96\\x936\\xbb\\xc3\\x92\\xbc\\x16\\\nn\\xd2\\x03JG\\xbeh\\xe4F\\xe3\\xab\\x10\\xcb\\x85\\xd5t\\\nr[2\\x85\\x8b\\x89Z(\\x9e\\xa4\\x10\\xd3Q\\x1c\\xcd\\xc8\\\n\\xf2U\\x1aK*\\x0e\\x8e\\xec\\xd4\\x8c\\xf4\\x8aKc\\x168\\\n@Y=\\x08\\x94\\xee\\xc1\\xf3<TJk(\\xccKT\\\n\\xa4\\x95o\\xed\\xd8M\\xf1\\x5cx\\x06'N\\x1f\\x0e\\xc9\\xdc\\\n\\x22!R\\x83`:G\\xc5\\x84k\\xf2\\xeb\\xf6\\x9a\\xecO\\\nD\\x83\\x95\\x87\\xcb\\xa0\\xd3c\\x9a\\xca\\xc1\\xbe\\x89R@F\\\n9*\\xddu)\\xc0\\xa0\\x0e\\xfd%\\xaf\\x12\\xec\\xf7\\xbb\\x94\\\nM\\x99!T\\xca\\xff\\xeaqp\\xea\\xf5\\xad\\x13L\\x99\\xba\\\nJW\\xc4vP\\x86\\x1a\\x1d[6\\xad\\xccPO\\xb92\\\n\\x9bZ~\\xd5\\xec\\xe3\\xbe84\\xe3ds}\\xce\\xe1J\\\n\\x9d\\xd5\\x0b\\xa0\\x06S\\xad\\x94\\xc2\\x16\\xd6\\xb1\\xc3\\xa6\\xeb\\x04\\\n\\x06\\x5c\\x88\\xd2\\xef\\x9a\\xfe?\\xec\\xbdY[#I\\xb2(\\\n\\xf8W \\xba\\x9aV \\x97\\x90\\xc8\\xcaZ\\xa4\\x8adH\\\n \\x0b\\xba\\xc9e\\x80*\\xaa\\x86T\\xd7\\x08)\\x00ej\\\nKI$d\\x81\\xbeo\\x9e\\xe6\\xbb\\x8f3w^\\xe7>\\\n\\xce\\x1f;\\xbfdl\\xf3-\\xc2C\\x88\\xac\\xaa^\\xce=\\\n}N%\\x0aw\\xf3\\xcd\\xdc\\xdc\\xdc\\xdc\\xdc\\xdcL\\x1bx\\\n\\xb1o&\\x95\\xd5]\\x15\\xf1ry\\xcd\\xbe\\xe0\\xc2\\xbc3\\\n\\x9d\\x9e\\x90\\xc5\\xbd\\x01\\x0f\\x10 \\x88\\x16\\x19;J\\xc1\\x81\\\ns\\xb7\\x5c\\xc4(\\xf3\\x90\\xc86y\\xa2\\x98e\\xe6\\xdb\\xa3\\\nk_\\x03\\xa2\\xcc/T\\x84\\x18a\\xdc*\\xabBL\\x8f\\\nn\\xa6\\x9d\\xd3Pn\\xf8\\xdagtF\\x15b\\xeeF\\x5c\\\n\\x01]\\xe2\\x85\\x92\\x96b\\x8b\\xc3S\\x8c\\xdd\\xe8|\\x9e0\\\n/\\xaal\\x82\\x1a\\x14Bq\\x8er=\\x15H\\x04\\xd8\\x86\\\nS\\xbf46\\xc8\\xb82\\xe0\\x00\\x19qq\\xe9\\x1b'\\x00\\\n\\x83d\\xd7\\xc6\\xb7\\xe2\\x9c,l\\x97,u\\xea\\xa0`D\\\n8\\xa19g\\x1b_\\xab\\xa1\\x0f\\xce;\\x1dU\\xc3\\xf08\\\n\\xfb\\x98\\x8dO\\xe6qZ\\x05-@\\x08\\x04\\xc9\\xb7,%\\\n?O\\x1b\\x8cj\\xfbFm\\x99\\x18\\xfb\\xb4@\\xda\\xc9\\xa0\\\n\\xb4\\x8c\\xbc\\xa6\\x83\\xb9[\\xceZ\\xa3\\x84\\xc4\\xcfoH\\xc0\\\n)\\xf8\\xe9/L\\x07\\x98~\\x1a3\\xff\\xd9\\x15F\\x90\\xbb\\\n$\\x83\\x1f\\xb7v\\x9b\\xba\\xe3\\xb7c3\\xb81\\xfb\\xed\\xb7\\\n\\x18\\xac\\xc0&\\xfab\\xdd\\xb1\\xef\\x89\\xc4p\\x01f\\xe5\\xd7\\\nS\\x94\\x93\\xc4\\x85\\xbb\\xb0\\x03, \\xb2Qz+\\xf6\\xfe\\\np&d\\xd7D\\x98\\xa9W\\x02O\\xe3\\xa1\\xb3\\x98,+\\\n'\\xc0Pp\\xb3H\\xa4\\x5c\\x1b\\x1f\\xe0\\x8c`\\xb3S\\xf6\\\n\\x80\\x03\\x0a~j\\xe5h\\xb9\\xf4\\xe6DUx=\\x0c\\xe8\\\n\\xf9\\x03\\xc7\\xa1E\\x16\\xb9\\x0e\\xb4F\\xaeU\\xfa\\xbb'\\x03\\\n\\xde\\xaa\\x82b\\x11N\\xf0G\\xcfZ\\xe6\\xc2\\xb5\\xb0\\xb9q\\\n-lXB\\x95U\\xac\\xe5\\xa6\\xab\\xf6\\xf4Gw\\x174\\\n\\x92\\x93\\xa9u\\xb5\\x16\\x96\\x11J\\xbch\\x02{}\\x5c\\xb5\\\n\\xa6>\\x8ep@\\xdf\\x89\\xddw\\x18@s\\x15k\\x10d\\\n\\x8bp\\xf7\\x93,\\x80[\\xe4\\x987d#\\x9eQ\\x972\\\n\\xd9\\xb1\\x919\\xech\\xc9{\\x87\\x91*.\\xc2}\\xcdA\\\nx\\xc2\\xcbM\\xb8\\xb79\\x08_\\xe2\\x09\\xf57\\x9bo;\\\n\\xac\\xdb\\xf0>\\xad-l\\xb7\\xfc\\x05E\\x85\\xf2{@V\\\ny\\x07\\xc3\\x99\\x9f\\x1c?\\xfb\\xaaV\\xdb\\x8a\\xd0\\x17k\\xd4\\\n\\x88\\xe0\\xac0h\\xf7#_\\x0er$%-\\x08\\xe9\\x9d\\\n]\\xbe_@1\\xc7V>\\xaa\\x9c\\xa4?U4\\xa9\\xd8\\\n\\x81\\x0a:Wsh\\xd7\\xb1\\x10\\xc2\\xc3s\\x1a\\xd6c\\xc4\\\n\\xee\\x06\\x86\\xc8\\xc3\\x88\\xd5\\xaa\\x8b\\xc7E\\xf5\\xb0\\xabY\\xb7\\\n&F}\\xc4\\x19\\xd8w8\\x1f\\x95r\\x92\\xa0y\\xc9\\x10\\\n|\\xc2\\xa0\\xbc\\xc8M\\xb2\\xf4\\x1a\\x1e\\x16\\x94\\xe7\\xbc\\xb4\\xe1\\\n\\x0d\\x03\\x8e\\xee2\\x0f\\xcauW\\xdap{ha\\xe6s\\\n`\\x974\\xee\\xc4H\\xbf\\x5c\\xcf\\x96\\xe9,\\x836\\xb2\\x0f\\\n)\\x14\\x8f2\\x97~p\\xb2}x\\xb0\\xa3.&\\xed\\xf7\\\n0-\\xb9\\xec\\x17G\\xdb\\x7f;\\xf9\\xe1H\\xe2m\\xe4\\xb2\\\n\\x8fw\\x8e\\x0e\\xde\\x9c\\xa8h\\xda\\x1eN+\\xd3t\\xd2\\xbb\\\n\\x88\\xf20\\xdb\\xaf\\x8e\\x8f\\xf7\\x8e\\x0e^\\xb8`\\x15A\\xba\\\n\\x07m m\\xc7\\xe6\\xc6\\xeb\\x8e\\xf1\\x1fk(7\\x8b\\x03\\\n\\x87*\\xef\\x10I^\\xdd\\x5cF\\x11\\xf6\\x82\\x8d\\x0b\\x22\\x18\\\n@\\xd0\\xe1Ch\\x5c0\\x88\\x84R\\xf3\\x07 \\xe8`\\x80\\\n\\x02\\x9c\\x84\\xf1Q\\xd8/\\x03^\\x88\\x90Xi\\x12\\xb6\\x18\\\n!\\xc2YH\\x142\\xde\\x1c\\xa2\\x1c\\xa2\\x88\\x1e\\x1c\\x82\\x87\\\n\\xb4\\x07\\xa1\\x1f;\\xad\\x96S\\xca0\\x024\\xcc\\x8f\\x16\\x16\\\n\\xcc+\\x11\\xff\\xd2\\x94\\xb7\\xdc\\x9cxd\\x1d\\x9c\\x91<\\x17\\\n\\xc9\\xf8)\\xcc:\\x95\\xba\\xbf/\\x00\\x08\\xf8\\xa0\\x11Q\\x01\\\n\\x15\\xf7/F\\xc1\\xa00V\\xfc\\x1f\\xb6\\x5c\\xfd\\xffP\\x0e\\\n\\x03[\\xf9\\xa4FN{\\xab-&&\\xed\\x9b\\xfc\\x99G\\\n\\x9e\\xcb\\xb9\\xc6:\\x8e0\\xc3\\xaf\\x92\\x8c\\x01\\x8fy\\x85\\x9e\\\n\\xf3\\x194B1p\\xf6\\x89\\x22\\x0c\\x89\\x03\\xa6\\x0a\\xbe\\x0f\\\n\\x8c\\x1a\\xceCP\\xb9\\xb8\\xe1\\xbfb\\x0597\\x9eu\\xbd\\\n\\xfa\\xe4\\x0d\\x85\\x1f\\xc1\\xed*V\\xec\\x9b\\xc8O\\x86\\xe3L\\\nd\\xa5\\xdb\\x0a\\x09\\xd9\\xb0/N\\xd2.0\\xda\\x96Z\\xb6\\\n\\xf6nq\\xed\\x05\\x032\\xf9\\xfayS\\xa5\\x8d\\xef\\x9br\\\n \\xddp\\x07/'i:\\xc4.\\xb6\\xc4\\xdf\\x82\\x13\\xee\\\nq+\\x1bH\\xad7\\x04Z\\x9e=O/\\xf0N\\x00m\\\ne\\xb3%\\xe2F\\xb6\\x88\\xef\\xbe\\xe1\\xd6*\\xadg{\\xbe\\\n\\xd9\\x16\\x1a\\xfep\\xa8e\\xf8\\xb5\\xb6\\x06\\xff\\xb8\\xe7\\xda\\xef\\\nPg\\x16\\x0d&\\xa3\\x1b\\x5c\\xd2\\x98)\\xb7\\xe6 \\x01\\xb7\\\n\\xd1f\\xc9I\\x8d\\x9b1\\xfcLt\\x0d\\xe8\\x00J\\xc4\\x84\\\nUHC#4\\xcf\\xb8\\xc7\\x15\\x8du\\xbc\\xde\\xe9lr\\\n\\x8d1\\x9e\\x0al\\x90\\x8a\\xcc\\x84\\xda\\xbd\\xbe8\\xea&\\x8f\\\n\\xfa\\xa2\\xd0\\x97\\x5c\\xf6\\xda\\xe4h\\xf2\\xd9OSs\\xb1\\xd3\\\n'\\xac\\xc8\\xa8\\xfa\\xdd\\x86\\xfcnc\\xa4\\xe9\\xbd\\xc9\\x04\\xd0\\\n\\xe7:_\\xef\\xb4\\x87\\x7f\\x99\\xad\\xe8R+\\x7f\\xf1\\x1a\\xff\\\nK\\x94\\xad\\x96}\\xd0f\\xdb\\xeay\\xfa\\x19\\xf4\\xe9\\x88'\\\n\\xb3\\x02\\x14\\x90\\xdf\\xdd\\x8c=<G\\x09X\\xb2\\x8f8^\\\n\\xec(\\x16\\xa2>6\\x17\\xb4t\\x86P\\xadd\\xb5\\xf6\\x10\\\n\\xce\\xb9\\xb6\\xc7\\xa2{\\x99\\xfb\\xbe\\xa2\\xab=1\\xebtM\\\nr\\xfc\\xab\\x14\\x13\\xc1\\x14\\x19\\x02\\xdf\\x92\\xe2\\xdd\\xd4?\\xf4\\\nF0o1T\\xd8\\x17\\xb4\\xf7C\\xed#\\xc6\\x80y\\x9c\\\ne\\x9es\\x88%\\xc59\\xdf\\xdbK6\\xacj\\xc7.\\xae\\\ni\\xde\\xfeJ\\xf7\\xf4\\xcb\\xc3\\xa66\\xaa\\x11\\x0f\\xc4\\xe4\\xc1\\\n>\\xf1\\x12\\xd9\\xa9\\xbd\\x97\\xc4\\x01k\\xf2f`\\x99\\xf3\\xb3\\\n.c\\x1c1:W\\x0c\\xde\\xb6\\x1bk,@\\x06\\xec3\\\n\\x8fC\\xc3o\\x1f\\xb6\\xc4\\xe6\\xf9'\\x8f\\x9dn\\xa0\\x96\\x18\\\n\\xb9\\xb8\\x99)6\\xc8\\xf4\\x94\\xd5\\xac\\xf1\\xcbn\\x1ey\\x0d\\\n`\\x18\\x22\\xa8\\x11tk\\x17\\x05}\\xbb?\\xb3h&\\xd5\\\n\\x84\\xa4\\x00\\x9b\\x01\\x9e&\\x1fp\\xd0\\xa4f.\\xdd\\x8b\\xac\\\n\\x08\\xd1P\\xe9\\xb7\\xcfS8\\xe5\\x8a\\xab\\x83i\\x11\\x80\\x92\\\n\\x9a\\xbc!\\x8a\\x95X\\xc1\\x08z\\xc3S\\xabkuu\\xac\\\nZ\\x96\\xcb\\x8e(\\x87\\x0a{{I\\xb2\\x06z\\xea\\xa8P\\\n\\x0d+\\xc0\\xff\\x8a`U\\xce\\xe1l\\xae\\xc7\\xfc\\xaa\\xdc(\\\n\\xe3z\\xd3\\x97\\xda\\x0evm-:\\xc7@8\\xe6\\x9a\\x92\\\nP*1Z\\xa3x\\xa1\\xa6\\xa97\\xec\\xa6h\\x91\\x03\\xa2\\\n\\x0a\\xa9\\xc7\\x22%I\\xd3\\xab\\xde\\xc5\\xccOb\\x81\\xc6\\x03\\\n\\xb07u\\xd9\\x8aV\\xf9\\xf1\\xe5\\xc1\\xab\\xdd\\xbdWx<\\\n\\xf8\\xfe\\x95\\xfb\\xdb\\x9e\\xd7\\x9drIAUF\\x01\\xe1\\xc2\\\n\\xe6\\xab\\xdf\\xfe\\xe1\\xe4u\\xb8\\xde\\x9d\\xd7\\xaf^\\x1c|\\xaf\\\n\\xa3\\xd6\\xd2\\xbb\\xf3L\\x9dv\\xb4^\\xbf\\x8f\\xf7\\x0f^\\x9c\\\n\\xb8\\xbf\\xb3\\xf5S\\xb9\\xa4\\xa0*\\x90\\xf4p\\x03t\\x0e?\\\n\\x0eD\\xb8&t\\xb8\\xc5O\\x9c\\xe83\\xa4,\\xcd\\x97\\x92\\\nWt\\x1ck\\x9eV\\x10T\\x03\\xe3\\xf0\\x87}@\\x05\\xe4\\\nB\\x85~\\x07\\xab\\x0f\\x15\\xca4@\\x8d\\x96\\x93\\xa5&\\xe5\\\n\\xe8\\xe0\\xfb\\xfd\\x93\\xad\\x0a\\x035\\xf8\\xcf\\xdc\\x5c$M\\xb3\\\n\\xa1\\x83s+\\xb2\\x19^\\xa7\\xb8\\xaa\\xd9\\x7f\\x00\\xd7\\xe3$\\\n\\xe4\\xbb\\xa54\\xc2\\xe9\\xaf\\xbe\\xc0K\\x07\\x1b~\\xb8q\\x94\\\nH\\x0eH\\xb2f\\x15\\xe8T\\xdd\\xa1\\x90\\xdf\\xb8\\xb3\\xdeR\\\n\\xac0OU\\x81\\x80B^N4\\xc8\\x91\\x7f\\x92\\xa8h\\\n v\\xb2\\xbf\\xa8\\x22\\xb5\\xb0\\x02<\\x8df\\x07\\xd5\\x8a\\xfd\\\n;|\\xbd-\\xf4~\\x9fM\\xa1\\x19\\xb2\\x05\\xb4L\\x9b\\x8e\\\n\\x04\\xefF\\xbda\\x09\\xa3\\xfdx\\xcf\\xe9\\x8d\\xbd\\xae\\xe6\\x98\\\n\\x1cl\\x95c\\xac\\x92\\xeb/\\xcf\\xaa7\\x1b\\xba;_\\xc6\\\nS\\xd6\\xdb\\x98\\x80\\x07;\\x8e\\x99\\xb1\\x17\\xd4[ynp\\\n\\x99\\xb5\\x02\\xa3\\x0d9\\xee\\x0d\\xc5\\x06\\xefu\\xc4i\\xb8\\xc1\\\n\\xe9\\xd0\\xe2\\x94@ig\\x7f\\xd9\\x1b^O\\xb3!d\\xb5\\\n(\\x88n~\\xcc\\xfb\\xe4\\xbfW6T\\xf4\\x1f\\xff\\xed\\xbf\\\n\\xa3\\xa0\\xff\\x1b\\xe6D\\xdd\\xb9\\xf6\\xe3\\x8d;\\xea\\x85c\\xae\\\nk{5\\x9f\\xff\\xd7\\xfc\\xb9\\xf37\\xfa\\xac5\\xb1\\xe05\\\nH\\xc1{\\x8fG\\xbd\\xf0P\\xb9\\x9b\\xa6\\xac\\xae\\xa5`\\xcb\\\n\\x16\\xd6<\\x95\\x97\\xd5}\\xe0\\x1c\\xe9h\\xcc\\xa2\\x93\\xf0\\x89\\\nB\\x0b\\x08\\xbd\\xeb\\x15P\\x029\\x16q@\\xf8\\xf5\\xc8E\\\n:\\xec\\xa4\\x8b\\x9d\\xe2\\x1bg\\x0fyW\\xd3\\xe2\\x9e\\xfc\\xce\\\n}\\x88\\x82\\x97\\xb3\\xdb\\x1d\\xb2I\\xe0\\xd6\\x5cLq\\xb6\\xc6\\\n\\xa1\\xe4g\\x0c\\x07\\xb2\\xf7\\xedK<w\\xc9\\xac\\x1e\\xad\\xa1\\\n\\xcc\\xdf-(ga\\xd1Oe%y\\x0dnSp\\xad\\\ny4\\xef\\xa2o\\xab\\xa6E2\\x11\\x17\\xdd\\xa7@\\xd5>\\\n\\x0a\\xdb\\xf6\\x1b\\x03\\x8c\\xe8h1\\xc69s\\xec\\xbd\\x1f\\x14\\\n\\x8b\\x12\\x5cv\\xd2\\x8c\\xcc\\xbe[\\x0f\\xef6\\xaf\\xc7\\x5c>\\\n`][\\xf4\\x9ag\\xc1\\x8b\\x9dE\\x0f}\\x0a^\\xf3,\\\n\\xbeQ\\x16\\xc7FS{\\xa1\\x5cZ,\\xa8\\xfa\\x96b}\\\n\\x89\\xc4\\x191\\x8dY1\\x943\\x12\\xc7\\xa7\\xc1\\x02\\x19\\xaa\\\n/\\x04\\xaa\\x919yL\\xe1I\\xa6\\xb0kYV3\\xef\\\nw\\xf1\\x8a\\x0c\\xb2K\\xba\\xc7\\xb1\\xbd\\xa1\\x94\\xaeV\\xebO\\\n\\xb5M\\xad\\x01\\x9e\\xe4\\x80'\\x16\\xd8\\xae\\x05c\\x8a\\xed\\x19\\\n\\xe5\\xbd\\xa1\\xdfpj\\xe5\\xc4\\xb559Ff\\xac\\xb9M\\\n:\\xebN\\x80P\\xb1:t\\xbe>\\xd1\\xa6|\\xbaZ\\x01\\\n\\xd4\\x15\\xf3\\xb39k\\xda\\xed\\xa9Q\\xfc\\x89\\x08\\xc6\\xa4\\xf0\\\n\\xfd\\xce-\\x9c\\x8b`\\xf9\\x0c\\xd3\\xcf\\xce\\x87gn\\xe0\\xd5\\\n\\xeef\\x1d%^9~3\\xc4\\xf1\\xfc~x\\xb3wT\\\n\\x82uE\\xf6\\xb9\\xd38\\xb7\\x0e$F\\x02!\\xde\\x82\\x99\\\nGl\\x96\\xb99\\xf6\\xf6\\xe6}\\x85;S\\x88y3[\\\n\\xf2\\x0a\\xa3\\xea\\xe1\\x5cy\\xac\\x85\\xf2eO\\xcdMn\\x9b\\\nu\\x81\\xe8Sf2\\xfa\\x98Nd9\\xe1O=\\x81\\xa4\\\n\\x86\\x95\\xdf\\x98\\x8eq\\x00\\xbb\\xe1l\\xcah5\\x11\\x8ay\\\n\\x0b\\xd0\\x07~P\\x9f_\\xbev\\xc8\\x87\\xcf\\xef4\\xde(\\\n\\xde\\xa2.Z\\xee\\x98\\xbd!\\xa1\\x80\\xcd\\xdb;;p>\\\nhP\\x13\\xa6r\\xfaZX;A\\xe0\\xa1\\xbf\\xb4|#\\\n?\\xc0Q\\xe4\\xc8\\x18\\x8bx;\\xcb\\x82\\xc9q\\xe6A\\xf5\\\n\\xa6\\xc7\\xb4\\xb0\\x93\\x22\\x84O\\xaf\\xcf\\xa7\\xd7c\\x09\\xbe\\x85\\\n\\xf6xyd\\xa2\\xd6\\x94\\xcd\\x95,\\xbf\\xe6A8\\xdb\\x0e\\\n\\xb7\\xean\\xee[Q\\x85\\xc0_c\\xf0\\x8a\\xcat\\xd0\\xee\\\n\\xf7\\xe1gl\\xba\\x14\\xc0\\x84\\x1f\\xe4w\\xaa\\x0c\\xc5\\xe8\\x0b\\\n\\xf3\\xb3\\xbf\\xfc\\xef\\xd1\\xdb\\xebZ\\xed\\xf9\\x97o\\xaf7k\\\nO6+\\xf4\\xe7k\\xfc\\xf7\\xe9\\xd7\\xad\\x8d8\\xd4\\xb1\\x8c\\\n9\\x80\\xa6\\xf4\\xec~\\x15\\x14\\xa72\\x867Mk4\\xf4\\\n\\xd0-\\x12\\xdf\\xbfD\\xd5\\xcd\\xa7)>\\x85\\xf6\\xae]\\xa2\\\n\\x0a'\\xe3\\xe6;\\xcc\\xdd\\x88\\xf0Z\\xcf>l\\xd3\\x0f\\x22\\\ndw\\x0cY\\xfbe\\xe5\\xe5q\\xe2\\xc5\\x05\\xc1`\\x9a\\x15\\\n+\\xea\\xb4o{S\\xf1\\xef\\xd5\\xb4&\\x9b\\xf13\\xb1\\xd5\\\nt\\xf8\\x96\\xef\\xf1\\xce\\x1e\\xef\\xc6\\xe6\\xe9{%\\x19\\x1b\\xc7\\\nr\\xe3\\xacH\\xbd\\xbc\\x94\\xbc\\x94l\\xbc\\xfc\\xb3 \\xa3l\\\nb\\x0beqD\\x0b\\x14 \\xf78\\xf5\\xa6\\x135\\xd7?\\\nR`Q\\x8fwu2\\xa5d\\x9b\\xe7h9\\x9dy\\xf3\\\n\\x01\\xf10'w\\xe1c\\xce$\\x97z\\xd6i\\xdd\\xdfw\\\nL<\\x1ezD\\x04p\\x19\\x06\\xe1F\\x0e!U:\\xfa\\\ne\\xdc\\x9e\\x95j1\\x86\\xd5\\xee`\\x8c\\x09\\xe0H\\x06\\x19\\\nU\\x5c\\xe2\\xb3\\x09\\x88\\x03\\xd6g\\x99y\\xeaf\\x9e:9\\\n{\\xcb\\x15\\xb0\\x81}\\xef\\x01u\\x17Rv\\xef\\xefW\\x1d\\\ntjSo\\xb4\\xc4\\xca\\xe4\\xb4oMN\\xec\\xdb\\xcf\\x99\\\nGZ\\xb5x\\xb9GQ\\x14\\xf6\\xc7?\\xd7\\xf8\\xb7\\x1eY\\\n\\x9a/\\x12\\xbf>\\x0d\\x06\\xe9l\\xd2\\xeb\\xd0R\\x94\\xfeE\\\n\\xd6\\x5c}_\\xb5\\x93\\xf0\\xd2\\x00J\\xd87\\x97\\xff\\xba\\x96\\\n\\xad\\xcdu#e]U\\xda\\xaa[n\\xc7\\x8d\\xabrW\\\n\\x19q\\xfc\\xd6Z\\x9c\\x87\\xe5/\\x01Q^p\\x09C(\\\n\\xda\\xe0~Q\\x05\\x0c\\x92\\xad\\x00zk\\xba\\x96\\x814\\xee\\\n\\xb12]\\xd8\\x8f\\xe3xU\\x9f\\x9c\\xf7\\xf9\\xfat\\x7f5\\\n\\xf1KSD\\x09\\xeblk\\x7f\\xdd\\xa2\\xcb\\x1c\\x98.\\xda\\\nx\\xdb\\x89\\x11\\xec\\xd4~%\\x90?\\xbd\\x1aMf\\x17\\xb0\\\n\\x0f\\x00\\xc2\\xf5E\\xb1\\xc3\\x5c\\xe3\\x5c\\x88\\xd6,\\x13t\\x96\\\nY\\xe28\\xe3\\xc8\\xc4$r\\xde\\xfbz\\xab\\xda_+0\\\n\\xe7N(\\xa7\\xe9~\\xb2\\x9f{b\\xbf\\xb5\\x7fVo5\\\n\\xf6U\\x80\\x00J>\\xda76\\xcb\\xedF&m\\xfdj\\\n\\xa3\\x044\\x01\\x0dU\\xb4\\xf3^\\xc3g\\xf7\\x91\\xcf>]\\\n\\x8a\\xcd\\xee[\\x17\\xa0\\xfb\\xc2d+\\xfa\\xd7\\xcc\\xa4\\x9dC\\\nZ\\xe0\\xb0\\xb4\\xf8\\xf2\\xef4\\xbco\\x14Zuf\\xd7\\x8d\\\n\\x0aXz\\x8aI\\x19\\xb1\\xd0R\\xd60\\xcc\\x02\\xdc\\xdf\\x9b\\\n\\xbc\\x80\\xe9;\\x9b\\x9a[\\xdb\\xca\\xfb\\xfb\\xac\\xf5\\xa0c\\xc8\\\n\\xf8,\\xf9\\xaaV3j\\x9a\\xa0\\xa9\\xa8\\xffzC\\x0b\\x06\\\nY\\xf3\\x99\\xf8s\\x97\\xef\\xcdg\\xaf[(Y:}\\xf4\\\n\\x82=u\\x17\\xec\\xa9\\xd8;\\xfc\\x93W\\xd3)\\xc7\\x07\\xca\\\n\\xa3Y/\\xb0\\xd3\\xe44@\\x9fZ\\xc7EB\\x9e\\xaf\\xa6\\\n\\x0c\\x9b\\x1d\\x9b\\xb8\\xcf\\xf2\\x82\\x85Jb\\x84\\xd4\\x83\\xe1U\\\n:\\xe9!a\\x0dR4\\x0f0\\xd7I\\xfa\\x88\\xc2V\\x1d\\\n\\xcec\\xb0\\x87_\\xc2X\\xcf\\xd1\\xc6\\xb6\\xd2\\x18^\\xdaX\\\n\\x87\\xfc\\xd2\\x91L%{\\xdc\\x89H{\\x16\\xe2Z<{\\\nLZ9\\x0d\\xffe\\x8b<Q\\x9cSl\\xf1\\x02\\x93g\\\n\\xe0\\x97\\xe8w!o\\x81\\x9a\\x7f\\xf4\\xa3c\\xd2\\x1b\\x83T\\\n\\xb7$\\x1b\\x8f\\xddW\\x00o\\x15\\xac\\xbf7+\\xacG\\xe2\\\n\\xd4;\\xe6\\xa8\\xd1`4\\x1c\\xf1\\xe9\\x1e\\xc3!B\\xb5N\\\nQ\\xcf\\xf6\\x9dpb\\xa0\\x09;X\\xbe;\\xba>\\xef\\xa7\\\n\\x15\\xb2\\x8cy\\xbfT\\x1d^\\x09]\\x8f; 1\\x8c\\xf4\\\nF\\x91\\xafF\\xa0B\\x15X\\xf3\\xba\\x07\\xeap\\xec\\xf0B\\\n\\xd5\\xd0\\xa9\\xe6\\xa1*\\x08H\\x17\\xcf\\x9b\\xe4\\xc9\\xdf\\x07\\xcf\\\n\\xf3vqT\\x81v\\xfa\\xc4C\\xed\\xe5:-\\x80?\\xee\\\n&\\xc5\\x8b\\xd7'\\x1e\\x1cK\\xd5o\\xedF\\xf5\\xc4\\xfax\\\n=w<\\x16\\xcc\\xb2q\\x82\\xad;\\xeal\\x89n\\xce\\x0d\\\n\\x81\\x16p\\xb4\\xcb\\x84o2%\\xb4\\x93\\x04\\xed\\x5c\\xab\\xe6\\\n+\\xd1\\x89\\x0c\\xff\\x91\\x8a\\xf4\\xbcO\\xa4\\x05\\xea\\xc1+\\xfd\\\n$\\xa2\\x9b\\x8e\\xd9\\x0d\\x17\\xb9\\xe3\\x8a\\xd5\\xcd\\xa2\\xadD\\xfc\\\n\\xb6]-\\x82\\xb9\\x12k\\xff\\xee\\x22 j5'L\\x87\\\n\\xc32\\xdex\\xee\\xcef\\xc9\\x95r\\xfd\\x9e\\x9d'];\\\n\\x01\\x8e9\\xc6\\x02\\x0b\\x0b\\x8c\\x81\\x82\\xbeB\\x8b\\xf5\\xf37\\\n^\\xe6U&L\\x97\\xa3\\xefDq\\x0b\\x86\\xba\\xdc\\xf1\\xb5\\\n\\x1b\\xff6\\xafO\\x9a\\xb2\\xf0\\xbc\\x9av\\x1fg\\xc6c<\\\nA5\\x8d)\\x8f\\xb6\\xa1\\xd1a\\x04\\xd9QT\\xd8\\xaf\\x8e\\\n\\xf3\\xbbQr\\x01\\x1f\\xbc~#O>\\x0d\\xab\\xae\\xb0\\xee\\\n\\x85\\xd8\\xa7\\x81\\x1b\\xee\\xb4\\xf4P\\x84'6\\xdb\\x80B\\xae\\\ny&\\xbb\\x9fZ\\x14\\xa1\\x13Y9*b\\xf8\\xf8\\xed\\xd3\\\n\\x9c\\x18\\x10\\xa3DQ\\xb0Tn\\xb4\\xff\\xbb\\xec\\x921J\\\n\\xf5\\x8f\\x1c\\x18\\x0bV\\xcf-\\x10\\xe1'$D\\xedA\\xd1\\\n\\xb8Y\\xd4\\x1e\\x16\\x9b\\x1d\\xe7V\\x8e\\xc9\\xae\\xa6\\xdc4\\x09\\\n\\x1fg\\xc9\\xe6*.G+5\\xf3\\xb6\\x8b)I\\xd1\\x8b\\\n1wY\\x02\\x0d\\xbak\\xb7\\xdb\\x03$x\\xeb\\x96\\xdc\\xe0\\\n\\xdd\\xa8Z\\xec\\x17\\xbe\\xd2\\xef\\x06\\xae\\x8aJ3\\x049\\xe4\\\n\\xbb\\xca\\x15'd\\xa0\\x16\\xac\\xa84\\x01\\x90k\\xben\\xae\\\n\\xb0 \\x0e\\x8a\\x7f**. t\\xb0w\\xd14\\x1eM\\\n{H\\xbfI4I\\xfb\\xedY\\xef#L\\x84\\x9b?\\xf3\\\n\\xc2\\xe1}\\xca4l\\xb4\\xed\\xb7E\\xedj\\xfd\\xfa#\\x9b\\\n\\xf5C\\xec\\xdc\\xc6\\x01.SS9\\x06\\xe5E:A\\x17\\\n\\xd2\\x01\\xf5T\\x12y4p\\x83T\\xe1|w\\x89J\\x22\\\n\\xbb{\\xfaa\\xe6\\x80\\x12\\x1b@\\x84\\x8d\\xae\\xb8\\xa6\\xbcQ\\\n3\\xf8>\\x87o\\x96\\x1b\\xb3\\x0f\\xb0\\xb5<\\x99{z=\\\n\\xf7\\x83\\xe7\\x8a/b\\xeb\\x82X\\xab\\xd9\\x0c\\xd76\\xec\\xba\\\n\\xab2\\xe2\\x7f\\xd6\\x14,\\xab\\x99\\xc9X\\xd0\\xea\\xf4\\xcc\\x09\\\n3\\x0c\\xb5\\xaf\\xec\\x94\\xe6\\x9czt\\xd5\\xae\\x1ah\\xd3\\xc6\\\n\\x01yaGw\\x99\\xb1\\x13nA\\xc7t\\x10\\x93F\\xf1\\\n\\x14\\x18k\\xd1\\x8bM\\xdcxa\\xdc\\x13\\x85o\\xc4\\xe4\\x07\\\n\\x84c&l\\xd9\\x91\\x9eq\\x10\\x85Z\\x8b\\x8e/\\xac4\\\nkt]\\x80n\\x0b\\x1d\\x87bG\\x83;\\xa6\\xeb\\x88\\xe4\\\n\\xfe\\xbe\\xe6\\x07\\x010o\\xe00\\x16\\x04J\\x82\\xec\\xf2\\x02\\\n=\\xdeR\\x8d\\xe5d\\x97\\x1d\\xa0\\xae\\xd28\\xb9\\x15\\xb3\\x7f\\\n\\x0d\\xb8Y\\xdc\\xc1\\xf0\\xaf\\xd9`\\xcc\\x9d\\xc8\\xe3\\xf7\\x98\\xe5\\\n\\xee\\xe0\\xe5\\xfaCy7\\x15\\xf0E\\x06s@B0\\x9b\\\n\\xce\\xebmy\\x82\\x8bw\\x02\\xa8&\\xd5|\\xc5\\xa9R\\x8f\\\n\\x1b\\x81P\\x80Cj\\x80ch\\x1b\\xe4x:T\\xc2\\xf9\\\n\\x9e)D\\xaeK\\xe4\\xb0\\xe3B\\xc0\\xf6\\xa0cq8\\xd7\\\n\\x14\\x8e\\xcf\\x12\\x17\\x03V\\x04V\\x12\\xc4\\x9e#\\x0c\\x13\\x01\\\n\\xd1h\\x14\\xa2\\x8f\\xc3\\x0e%g-\\xe5;\\x8b*\\xda\\x82\\\n\\xe3\\xd0\\x98e<\\xb2\\x9e\\x01\\xa7v\\x87\\xa5\\xcd\\x0dM\\x19\\\nb\\x95)\\xc9\\xd7QP\\x94/\\xac\\x8a\\xca\\xca\\x15Q\\xae\\\n8]v\\xa1\\xb1\\xef\\xc7\\x05\\x8513\\x8aul\\xa5Z\\\n\\x8b\\xb0/_\\xf5\\x16_P\\xdd\\xdf[<\\x9cm\\xb6\\xe8\\\nJ\\xcc\\x22\\xa3\\xc6\\x96\\x0edF\\x0c(\\x06L\\xe9\\x11\\xb9\\\n\\xddsZk5\\x8d\\xf3\\x00\\xbei#\\x8f\\x93\\xd4\\x1c\\xff\\\n\\xc0\\xf89\\x8f\\x91K\\xa8\\x94b\\xdf\\x8e\\xf8\\xa2\\xd1\\x93N\\\n\\x94\\xe38\\xb4\\xb19\\xcf\\x8c4yP\\xdd\\x91\\xc1\\x05\\x0d\\\n~\\xc9R\\xde\\xdb\\xeb\\x92\\x87\\xbe\\x87k\\x88\\xe7\\xf2\\xf2\\x88\\\ni\\xef4\\xf1\\x8cmp\\xa8\\xb0$)\\x9b{\\xa8\\xf4\\xa5\\\n\\x01\\xed\\x1b\\x94\\xe1\\xd0\\x9f\\xca\\xf8th\\xb2\\xcb\\x82\\x84c\\\n\\xaek\\xb1\\x5c</t\\xbdH`W\\xdfU\\x9f<\\xd5\\\n\\xeb\\xb1p\\xbf\\x93\\x1b\\x1d\\x00\\xb5\\xb7\\xd9\\xcc\\x17\\xd6\\xd6\\xa4\\\n\\x1a\\xab\\xda\\xd5\\x11b0\\x08\\x195_N\\xf2\\x99\\x15\\xe9\\\n\\xd2\\xe2v\\x03\\xe5\\x0cg\\x94\\x0a\\xb8O\\xb2\\x91\\xe5\\xe1\\xf5\\\n\\xbdI\\xbb\\xf3\\x9e\\x89\\xbf\\x9b\\xf6g\\xed\\xa4\\xe6\\xed\\x90\\xe4\\\n\\xde\\x933\\xea\\xd5'\\xeb\\x92F\\x81I\\x8a\\x96\\x1d\\xd7\\xe8\\\n\\x99\\xe6\\xbc\\x86,>\\xca\\xd3\\xa2T<}\\x8c-n\\x96\\\nFk8Q\\x01G\\xd8\\xf2*\\xfd\\x81\\xc2!r\\xad\\xcc\\\n\\xb5\\x02\\xd5\\x0a\\x83kcx\\x17\\xa9\\xbca\\x9d\\x19f\\xdf\\\nJ\\x11\\xa0{\\x96!\\x9b>!9\\xec\\xa0\\xc3\\x1d\\xa5\\x19\\\nj\\xd33\\x851T\\xea\\xfb\\xfb\\xf3\\xa9\\x95\\x0ds\\x03\\xb6\\\nM\\x12\\x95\\xed\\x86]`\\x9f&7d\\xff\\xe1\\xfa\\xf8=\\\n\\xe7\\xc0p\\x81S@\\x8fg\\x1b\\x03\\xc2\\xdd&\\xfa\\x17\\x0a\\\n\\xf4\\xae\\x03HQ\\x11p\\xd48\\xe72K\\xb2\\x17:r\\\n\\xd4\\xced\\x92\\x9e\\x89_\\x01X\\xd9\\xaa7t\\x8d\\xe2y\\\n\\xbf\\xb7\\xead3\\x01i3B\\x84:T\\x99\\x84\\xa3X\\\n9j\\xddS\\xf1\\x14o\\xfa)\\x0f\\x07\\xa9(;\\xd47\\\n\\x05%\\xa0\\xc2jfHkk\\xa7\\xcfn\\xe8Lq\\xca\\\n\\x064\\x12sC\\xa7\\xa9\\x00B\\xab\\xce-\\xdf2\\x83\\xf4\\\n\\xe6\\xc1\\xc3\\x9e\\xf1\\xd8g\\xe2\\xf39\\xc7\\xc4\\x9b\\x0d\\xf1\\x1a\\\n\\x14\\x9e\\xaa\\xdf\\x84\\x07O\\xbau\\xb8\\xa0\\xbc\\xeftR\\x82\\\n\\x9e/N\\xadkf\\xbbb-\\x15/\\xb5t\\x83\\x8et\\\n~\\xad\\xab_7\\xd5\\xafO\\x1c.t\\xde\\xbb\\xfce4\\\n\\xfeE\\xcc\\xc1\\x9e\\xaa\\xf7j\\x94\\xe1\\xdfl\\xb3\\x12\\xe6\\xea\\\n<A#'&\\x08\\xcaV^\\x1f\\x98\\x0d\\x05\\xec\\x0e(\\\n#\\x8a\\x9b\\xf4\\xd7[\\xfedH\\xa3\\xf2\\xe9\\xd8\\xa6\\xb9-\\\n\\x1a\\xe9\\xa0\\x0c#>\\x18\\xf0w\\xacF6\\xc0$\\x09\\x9f\\\n9\\xcf\\xcc\\xbeb%\\x9a\\xa1\\xa0@\\x90a=\\xcd\\x88\\x95\\\n\\x83#\\x1d\\xa1\\x96~\\xe0\\x09\\xdd\\xdbd\\xb6\\x18\\xeeF\\xfb\\\n\\x8cb\\xa8r\\xc2?&\\x95\\x11\\x07\\xa9\\xd8\\xd8\\x8cUq\\\n\\x94.\\x9c\\x19\\xf1\\xb2/>\\x9bu5L\\x80\\xd6\\xfc\\x97\\\n\\x1d\\xf3\\xa0/\\xe7l\\x8e\\x94\\xe0d\\xee\\xd33\\xdek\\xf5\\\nf\\x87`\\xd01N\\xac\\x94\\x02\\x05b\\xec'\\xfa\\x86\\xfe\\\n\\xb5^H)HI\\x85\\x99O`\\x90f\\xf9\\x10\\xd1U\\\n\\x1cu\\x97\\xd3T76\\x18-'D\\xc5\\x1b\\x9b\\xfc\\xfd\\\n)\\x91\\x9d\\xf9}\\xf9\\xd7'n\\xef\\xba\\xea\\xbd\\x9e\\xda\\x85\\\n\\x81;\\xdfoh\\xbf[\\xbf>\\x09\\x16\\xf0\\xb6\\xf1_\\x9f\\\n\\x18p\\xa2;\\xbb\\x02\\x9d\\xed\\xcd.\\xc1\\xc7\\xecs\\x9f\\xbf\\\n\\x12\\xaf3k\\x8ew_Yt\\xd7\\xce\\xa23;\\xe9\\x22\\\n7\\x9a\\xbd\\x19\\x9eS\\x22ug\\xde{\\xe3\\x83b\\xe7\\xb3\\\n\\x93\\xf6\\xfbQ\\xab\\xa5\\xdfkcn\\xab\\x95\\x93$\\x0b~\\\n\\x06\\xb6\\xeflAkM\\xee\\x02\\xd3\\xa0\\x00\\xed\\xd7z=\\\n_\\xf3z\\xbe\\x96\\xf5|m\\xd73[\\xab-\\xb5\\xa0\\xc3\\\nN\\xd9\\xbd\\x18\\x93f\\xee\\xaf\\xf5\\xd2\\xf6V45\\xb6U\\\nz\\x9fl\\xae/\\x5c\\xaf\\x8b\\x97\\xc9\\xe6\\xa2e\\xf2e~\\\n\\x990\\xa1_\\xf35\\x83\\x0c\\xfe6\\xa9\\xe8\\xa5q\\xcdK\\\n\\xa3\\xc2\\xab\\xb7\\xeb.\\x0e)C\\xab\\x83\\x11UL\\xed\\x99\\\n\\xb5\\x11\\x00\\xcf\\xe2\\xc8\\xae\\x0fY\\x19V\\x22s\\xc4\\xabE\\\n\\xa2\\x19-\\x83S\\xcf.[\\xa1\\xe0E\\xb9\\xbe\\xd0E\\x8b\\\n%\\x1f\\xae\\xddF(Nr\\x8a&'Lq\\xde\\xd1\\x9f\\\n\\xca\\xee[\\xd5\\xfcV\\x86\\x9b>\\x09\\xe2\\xdd[\\x0cp\\x92\\\n\\x93\\xf6\\xc4ov\\x91HB\\xb5\\x19\\x99$^/\\x99\\x14\\\n\\x14\\x16\\xf4o--\\xe8o\\x16\\x17\\x9a\\xe6\\x1b\\x98 \\xbf\\\n~\\xaa\\xe9\\xd7K\\x1cV\\x5c\\xe2:7\\xe0\\xc3\\xbcJ\\xe2\\\n\\xf7H\\xca\\x96\\xfd\\xae{\\x8b\\x22\\x9e\\x1e\\x1a&\\xc5\\xf3\\xec\\\n0\\xb4\\x11\\xb8\\xc8I\\xd6T\\x097\\xee\\xa5\\xc6\\xe6\\xb4X\\\n\\xe9\\xde\\xc6%\\x1f\\x1c\\xffi\\xf4\\xdc\\xe3\\xf5\\x16\\xfe\\xc3f\\\n\\xa7\\xf1\\x22\\x8b\\xe4\\x92_\\xaf\\x90\\x1bO\\xba\\xd6\\x0fj\\x10\\\n\\xbf\\x0f\\xf6\\xebS<w\\xb4\\x83X\\xf4\\x0f\\xd0\\x06.\\x08\\\nF\\xf0\\x18\\x1d\\x84\\x0e\\x0e\\xfb\\xb0*\\x22\\xa0:\\xe1\\xcc^\\\n\\xcb\\xde\\x9d\\x8a\\xa6\\xe9\\x0fR\\xb5a\\xed\\xec\\x84\\x95\\xde\\x9f\\\nb\\xc2X\\xef\\x8a:i\\x96\\xde\\x8e'\\xbdA\\xaa]\\xa3\\\n\\xb18z}\\x0e\\xff\\x8d\\x7fw}\\x15f\\x06TN\\xd0\\\n\\x1c\\x1d}\\xaf\\xcf\\x0bKB^\\xb0\\xe0\\x98\\x0b\\x8e\\x17\\x14\\\n$\\x1d\\x99+\\xcf\\x06\\x80D\\xa8\\x0d\\xaa\\xa4\\xa8\\xd3\\xb6\\x17\\\n\\xb6\\xda\\x96\\xe7\\xd1\\x12R\\xc2\\x84@\\x18)\\xfd1\\x9a\\xa9\\\n'x\\x8b\\xe6D\\xcdp\\x85|\\xc0f6\\xa8\\x86\\xc16\\\n\\xcenQ\\xee\\xb8\\xe5\\xf9\\x1ag\\xa7'\\xa5\\xc0\\x94\\xe1\\x93\\\n\\x8b\\x9cB\\x0a2bn\\xfb\\xba\\xdf\\x8f\\x97\\xaai\\x5cT\\\n\\xd38\\xe6~RMO\\x92$\\xdbc\\x1d\\xc4'wb\\\n)\\xb8\\x09,:\\xb9pK\\x81d\\x0cD\\xa0\\x1f\\x90\\x18\\\n\\x9dZv\\x9f\\xcb=HS\\x0f\\xbc\\xbb\\xd2\\x8c/\\xa8\\x83\\\n\\xb0\\x978\\xd9\\xbdN\\xbf1\\xf4\\xe2*M3\\x904\\xb9\\\n\\xc7\\xb9D\\x98\\xd3\\xa9x\\xcf\\xbd>\\xdf\\x9aZ!\\xb4Q\\\nW\\xc7:c\\xbcu\\xecfd\\x988*aj\\xaa\\xc6\\\n\\x1dLo\\x03*15u\\x12\\x85\\xcb\\x90y\\xf9\\x077\\\n\\xfdz\\xfcKw2\\x1a\\xaf\\x1f\\xcb]\\x93\\x97w\\xcey\\\n\\xdcWu-\\xfa\\xc5\\xca\\x07\\xf5Q\\x94\\x8b\\xe5\\x89V\\xb4\\\n\\xa9q\\xd3\\xea\\xd8\\xe4X\\x94\\xe8x89\\xed_\\xc6\\x0c\\\n\\xa0\\xa2-\\xbcUX;\\xc7\\xb3\\x80.y\\x82W\\x11\\xe7\\\n\\xe4\\xefG\\x9c\\xfb\\xa0q\\x9c\\xf6\\xe3\\xb3\\xb6\\xa6\\xdd\\xa0\\xbb\\\n\\xa9\\xf7\\xf7u\\xfd\\xe9\\xd0\\x03\\xaa\\x15\\xb0\\x85s\\xc7\\xeb\\x0f\\\n\\x1a=\\xf5r5\\x8e2\\xb5\\xf9\\xd6\\xe2\\xb6^m-\\x17\\\nK\\x83v6\\xef\\xef\\xc5\\xf0\\x14~ 8\\xdd\\x81\\x98\\xd7\\\n\\x90\\xd0\\x93\\xeb\\xe4#\\xc5\\x8a\\xd7\\xb6\\xa7\\xde\\xce\\x91D\\xae\\\nS2/k\\xab\\xd6X`\\xea\\xe1\\xc3:\\xb5\\xfb\\xdbP\\\n\\xa6~?\\xf3\\xa1\\x16|h\\x9e\\xb9[>\\x86\\xde\\x90x\\\nt\\x8dv=S1\\xe4\\x99\\x12K\\x81\\x84c/!f\\\n@\\xe0$\\x8e}\\xa4\\xf2(sS|\\x9e\\x14\\xea\\x01\\x9a\\\n\\xd7\\x15\\xa6\\xe9\\xf5c6\\x9c-1\\x19\\xafO\\x99\\x88?\\\n\\xc6\\xdf=Y'_\\x06\\x09\\xfc\\xad\\x5c\\x97=\\xe8\\xb2\\x07\\\n\\xacJ\\x1f\\x92\\xea7\\xeb\\xe9m\\xa5\\x94\\xa95\\x8e\\xe9\\xc5\\\n\\xdcu9\\x81EQI>\\xe0q\\xc3\\xf6\\xf9\\xba\\x08\\xc5\\\n\\x80{wd\\x05\\xf3\\x03\\xdf\\x0b\\xdfEL7\\xa6\\xa2~\\\nC\\xa9e\\xe1\\xd1\\xe3z\\x83\\xbb]\\xfe(e*\\x82\\x15\\\n\\x1e\\xa0$\\x0a\\x17\\x08\\xd4\\xe7\\x8b\\x99|\\x92*\\x04\\xceu\\\n\\xd3@\\x12S_l\\x9a\\xf31V\\x1e\\xa7;\\xa6\\xeb\\xec\\\n2k\\x06\\xae3\\x99S\\xbe\\xeb\\x86Bl57\\xb6\\xe4\\\np\\x16\\xb8\\x9c\\xdcB\\x91\\xabn\\xdcYz\\xc2\\x16\\xe5=\\\n\\x89\\x1a\\xf8g3j\\xf9\\xd38V>uT7\\x9f\\x02\\\n5\\x14\\xcf\\xaeEI\\xc10\\xaf7\\xfe`T/\\xc2!\\\n\\xfbc\\xe1\\x95X\\xbc\\xc2\\xea\\xca_0\\xb4\\x00\\x1e&\\xd5\\\n\\xc2yu\\x88uY\\xb2.\\x98k\\xa3\\x19\\xe6|y\\x13\\\n<\\xfcc\\xec\\x16\\x1eqRY \\x9a\\xfe\\xce\\x07\\x95\\x8b\\\nI\\xbb\\xf3\\xbb\\xd8xz\\x82.\\x8fbx=H'\\xed\\\n\\xd9H\\x1f\\xb5\\xba\\xe9p\\x04B.\\xa5\\xb4\\x94\\xff\\x14\\x1d\\\n\\x9d\\xc4\\xf0k\\xb7\\xd5\\xda<#\\x18[\\x819sy\\xbb\\\n\\xc8\\x18\\x12\\x9d\\x02\\x19\\x16\\x8e\\x06^\\xfe\\x11\\x0a\\xfa\\xa6]\\\n\\xf9P\\xb7\\xf4\\xc79\\xbe]\\xee\\xa7]zb\\xb8\\xcbe\\\n\\x92\\x00\\x03PPA\\xd6\\xa2NQM\\x89\\xef\\xab\\x01=\\\n\\xd0v\\x16\\xda\\xbfa\\x9c\\xbd&\\xcd\\x83+\\xa4B\\xfd\\xb1\\\n\\xca\\xa5R\\x0b\\xa2\\xcbs\\xd3\\x11\\x10d\\x0cVS86\\\nQz\\x98\\x14-y\\x90s\\x1c\\x93\\x81\\x0a\\xd5`\\xb1C\\\n7V\\xf0QT\\x8b\\x85\\xe4\\x89\\x19\\x16\\x1a\\xe5u\\xc39\\\n\\xf5x\\x09\\x19|\\xc8R\\xed\\xd0\\x89h\\xdd\\xe5\\xa4\\xae\\xa3\\\n\\x82\\xd5\\x06_.\\x11\\xb8o\\xda\\xb9\\x09\\x93\\xe5\\xbe\\x87w\\\n\\x8b\\xdc\\xdfG\\xb5HYM\\x97\\x98\\x1b\\x0e\\x5ca\\x01h\\\n\\xf2\\x17_`\\xb06\\xc5\\x05\\xef\\xc1\\x94q\\x97\\xe4\\xb5\\x06\\\n\\x9b\\xc3\\x07\\x05;\\xbd\\xe3\\xc4B\\x93c|G\\xa4\\x907\\\n\\x057\\xf4\\xca\\xda2\\x12z\\x0d\\xe1nU\\xbflT\\xeb\\\nO\\x95\\xf3\\x9ak(\\x97gC\\xbeG\\x19\\xea\\xa0n\\x92\\\n\\xcc1\\xe0\\xca\\x12\\xeb-.o\\xae\\xcbe\\x16E\\x85\\x09\\\n=W%g\\x04B\\xbf\\xbeON\\xcc\\xe1%\\x11g-\\\n\\xd8\\xb2\\xafC\\x18\\xf6\\xcb\\xaf\\xd5~\\xdc\\xbcN\\xbc>v\\\n+\\xdcUz\\x1d%\\x1b\\xcf\\xc7\\xc4\\xebo\\xb7\\xd2\\xb5 \\\n\\x15\\xd9\\x9b<\\x8a/\\xdc;\\x87Z\\xf3\\xfa1C\\xdd\\x05\\\n%>ntu\\x09\\xea\\xb3w\\x16\\xa1\\xfd6\\x9f\\x9c=\\\n\\xa2\\x88\\xf68\\xb3)\\x0d\\xf9\\x1c\\x96\\x95K\\xf8\\x8e\\x9cG\\\n;\\xe4\\xf8~Z\\xfb\\x5c\\xcb\\x80vs\\xa0\\xfc\\x88LJ\\\n(#\\x0f\\xf16Gr\\x0e\\xbe\\x84)\\xa0,\\x12\\xb1\\x80\\\n\\xb0,\\x1f\\xdc\\x82\\xd3\\x84\\xeb\\xe5dP\\x87\\x99p_\\xe8\\\n\\x01\\xfa\\xeaq\\x03\\xa0\\xc8\\xe5\\xc7\\x96\\x07\\xfb\\xa4\\xe1}n\\\n\\xe6\\x8b\\x02F\\xa8\\x5c<\\xb6\\xe4Z\\xb2\\x8d\\x7f\\xddx\\x12\\\n\\x17\\xeb\\xfe7\\xd7\\x07 <\\x80t}\\xcd\\xf4\\xd2]g\\\nLT\\x84\\xa4\\xd7y\\xdep\\xcf\\xffn\\xccrvi\\x5c\\\n\\xf9\\x80\\xca\\xdc\\x8f\\xe6\\xa7(\\x8a\\xc2\\xedo6j14\\\nR\\x86\\xd5\\x0btV\\xaf>\\xa5\\x16g\\x16v\\xa6\\x8a\\xba\\\n\\xd0.\\xcf\\xf0\\x0aO7\\x8c\\x8d!\\x5c\\xbb\\x02\\xc9E\\x1d\\\n\\xfc(pT\\xd5!\\xf3\\xbb#\\xe6q\\x87\\xfc\\xe7(\\xa9\\\n\\xf23bDE~\\x87\\xc1i\\xe5\\x1d\\x86\\xe2D\\x9b7\\\n\\xe5\\x12\\xae\\x1b\\xf6\\x1d\\x0a\\xb0\\xad\\x1f\\x11A\\xff\\xd7-\\xa3\\\nSu4=\\x9d\\x8e\\xfa= \\x80\\xd9h\\xec\\xf8\\xe3\\xc2\\\n>\\xb7Q\\x80\\x98/C\\xbf]N\\xaed\\x88\\x8fw\\xb6\\\n\\xa0\\x9d\\xbe\\x8e\\xc8bWo\\x10@/]\\xe5\\xae\\xda0\\\n\\xa4,Y\\x85x\\x02\\xcc\\xe2\\x1f\\x0f>\\xdb\\x17\\xb7m\\xdf\\\n\\xe4\\x98/A\\x83M\\x9fg\\xceI\\x0c\\xdb5\\x8d/\\x90\\\n\\x00>\\xf2;\\xc8\\x22g\\xccr\\xf3\\xca\\xf5\\x01\\xa7r9\\\nS#\\xdb\\x1eM\\x8cy\\xb3\\x0e{\\xf4iovE\\x8c\\\nv\\xeaF+Y\\xe4\\xac\\xa8\\xe9\\xe0#l\\xa7,\\xb1J\\\n\\xa8\\xc5~\\x99c\\x9c\\xc8\\x9d\\x8f\\xf7\\x05\\xc7\\xf0\\xcduv\\\n-\\x92\\x0f\\xb5\\xb6\\xf0\\xed\\xbd\\xf6\\x22\\xb6Z\\xb7*\\xf5\\x0f\\\n\\x93\\xd9r\\x92*m6\\x8fV\\xce:n\\xb1\\xe5\\xc2u\\\n\\x84\\x91\\xea\\x0bDQ\\xff\\x95\\x83q\\x8c\\x99\\xf5\\xe4\\x00g\\\n\\x14\\xe8\\xf6\\xc3\\xe2\\x1f\\x0d.g\\x5c\\x11z6\\xe5\\x88Q\\\n\\x0f\\x0bK\\xc5J\\x0du\\xe2\\xe9\\xe7&]-\\x9a\\x8c\\x93\\\n\\x19H!\\xfb\\xcd\\x9c\\x13M\\xb9H\\xc0\\x08\\x5c!\\xb39\\\n\\xf5!\\x99\\x95\\xc7\\x1b_\\x82\\xb0\\xe1\\xbd`.\\x7f(\\xcf\\\n\\xd8\\xa4\\x0e\\x1a\\x09\\x1a\\x9e@\\xba\\xc6\\x80\\xef\\xc2\\x022\\x94\\\n\\xc5\\xc3\\xb4X| \\xc8o\\xbe~RSg\\xfb\\x95j\\\n\\xedKz\\x18\\xce\\x87\\xcd\\xf2\\x94\\x1f\\x82\\xedC\\xbf?$\\\n%/\\xb1R\\xda\\xaf\\xcc\\xc8\\xba\\xc2vZ\\xf7\\xf6\\xd67\\\n\\xd5;\\x02b\\xe0I\\xa3\\xc3\\xa3_\\xcd\\xbe50\\xb2\\xea\\\n\\xc9\\xd0E\\xef\\x87\\xd8U`2\\x1f\\xb6\\x00\\xc0\\x82O\\xc4\\\nt$\\xc7\\x82\\x09;\\xc5\\x15o\\xae\\xcf*'\\xf6\\xe5\\xdc\\\n\\x07\\x90\\xdbf\\xc13\\xef\\xbe\\xa8iBR\\xc6-\\x8f\\xe7\\\n\\xc6\\x0a\\x16\\xf9\\xf3\\xb0\\xa0\\x22\\x10\\xdc\\xb3\\xb6T,\\xb1B\\\nbn\\xba>\\xf5$\\xee\\xd7\\x83\\x9e\\x88\\xb0\\x95\\x02GD\\\n\\x9ak\\xe0*^\\xe49\\x9d\\x10\\x1b6\\x08\\xcf\\x8d'T\\\n \\x03S\\x80%,\\xc4\\x94\\xd3\\xb5\\x9e\\xbf$\\x12W\\xd8\\\n\\x22\\xc5\\x22J\\xc0$\\x1d\\xc7\\x93P\\x1f\\x9cs'\\x9f\\x7f\\\n\\x1c\\xb5\\xb0\\xf7\\x9a\\x0f\\x8b\\xec\\xd3\\x22\\xe5yf\\x0a\\xa6]\\\n\\xa9\\xd2U7\\x89y \\xee>}\\x9c\\xc0\\xeevke\\\n\\x9b\\x1b&y~\\xb7\\xa3/\\x83e\\xe6\\xd14\\x90\\xd0\\xbc\\\nPr\\xbe2F\\x0e\\xdd[2B\\xa4\\x229\\x9b\\x90\\xb0\\\n\\xea\\xea\\xb6rC\\x05+I\\xae\\x1b\\xcai:\\xb3\\xfdw\\\noCd^S\\x18\\xe3\\xfav\\x9d_\\xbe\\x08\\xd5Z\\x1c\\\ne\\xccS\\x1dd\\x09\\xa5W\\xbf|\\xba\\x9e\\xe1#\\xd5o\\\n\\xe3\\xb2\\xd3\\xb1\\xb2s\\xd0\\x14_\\x0b\\xd5\\xda\\xd7O\\x1d\\xa5\\\n\\x0b:\\x13\\xec\\xfeS\\xdf\\x91\\xaa\\x22'\\x81\\xd1\\x086!\\\n\\xb4C\\xfa\\xcd\\xee\\x06\\xa3i:\\x8e\\xca=\\xe5\\x07S\\xce\\\n\\xb9$\\x9c\\xc7\\xcd\\xc2\\x1a:\\xfd\\xd14\\xe5\\xce`G\\xf6\\\n=\\x073j\\xd7\\xfd\\xecRw\\xf3\\xae\\xe6\\xb1\\xb6\\x1fK\\\n2*\\x8aj\\xbf\\xf4p2U\\xc8p\\xa8\\x8e\\x22 \\xce\\\n\\xce\\x07X\\xceT%\\xe3\\xcaT\\xf5\\xb0\\x9b\\xc1\\xcfyY\\\n:\\x19\\xdd<\\xce\\x0eA{\\x83\\x97\\xbf\\xe8FC=\\xf8\\\n\\xc0\\xdb\\xdc\\xa6f\\xdc\\x80\\xe8\\x8d\\x15&K^\\x11\\x5c\\xb5\\\n\\xa7\\xaf\\xd2Kzf\\xf7\\xb9S\\xe1N\\x82\\xb1\\xdf\\xce\\x1b\\\n\\x1c\\x87\\xd2\\xc4\\xbb\\xbb\\xd3\\x09\\xf4#\\x94\\x9f0<3=\\\n\\x87\\xb5\\xf6~Z\\x8a\\xb7\\x1c\\xb2\\x1ah\\x87\\xe3\\x82jm\\\n=a\\xf4\\x97!\\x1f\\xa1xu\\xd7p\\xdb\\x94G\\x107\\\n\\x0b\\x1d\\x8af\\xb9\\xc8M\\xac\\xdf-,\\xf7$\\xda\\x16r\\\n6p;\\xae\\xfc\\x1e.\\xfe\\x97\\xc4a\\x1bB\\x9e#\\xe4\\\n\\x0eZ\\xb9\\xc3\\x07\\xaa\\x99\\x0f\\x0f^\\xed=?\\xda\\xdb\\xfe\\\n\\xdb1\\x8dx\\x00\\xa3\\xe9x\\xfe<o\\x9e\\x89_O]\\\n\\xfa\\x94\\x1d\\xc7k\\xe7\\x8e\\xaf\\xd2\\x1b\\xc2\\xde\\xa3\\x02[\\xe4\\\n)\\xc0\\xb8\\x0eD\\xe7\\xdc\\xb7 \\xa3\\xd88\\x17\\x9f\\x19\\xaf\\\n\\xc2\\xad\\x7f?_\\xff\\x8d\\xca.;\\xbd\\xc0N\\xd2\\x9f\\xb6\\\n\\x01\\x13\\x8f[c\\x0b\\x0cp\\xc4db\\xd1j\\xd3!3\\\n\\xd2\\xdb\\x1dT\\xdb\\x88\\xcbq\\x10\\xc7)<d\\xf5G\\xf4\\\n\\xfa\\xb7w\\xc4\\x82E\\x91\\x0a2+p|L\\xda\\x95\\xcc\\\nQscS~Y\\xd7n\\x1f\\x1f\\xe1\\xdaM\\x1f\\xf9A\\\n \\xfd\\xc8\\xbff\\xe6W\\xb7\\xa2\\x7f\\x9d\\xc3\\xafP$\\xee\\\ne\\xe9\\x22\\x17g\\xa4(\\x0a\\xca\\x7f\\xd60(\\xd3t\\xd0\\\n\\x1e\\x02\\xfe\\xa7\\xcb\\xc9\\x13\\x0e\\xa6\\x1f\\x14+\\xc4x!\\x1b\\\n\\xc87\\xd7G\\xb7[\\xd9\\x01{\\xb1z\\x17\\xedh\\xfe\\xb6\\\n\\xd5\\x1e\\x0eG\\xb36y\\x9e{\\xcc\\xb0\\x8aG$\\x15\\x9f\\\nE\\xb6\\xe6\\xca\\xed\\xa0\\x1f\\xb5\\x1e\\x17W\\xc9h#>\\xaf\\\n\\xd8e\\xff\\xd3\\xf8\\xea\\xf3\\x8a\\x82\\xcc\\x88R\\xc3\\xe7\\x15n\\\nw\\x16\\xa0\\xf2\\x81\\xb2\\xb4\\xe5\\xc9\\x1d\\xed\\xe7\\xd5@\\xa6\\xee\\\n\\x8f/\\x0aL\\xe7\\xaf\\xed\\xdb\\xea\\xfe\\xf5y\\xf5(\\xbd\\xec\\\nM\\xe1\\xa8_=\\xc6`I\\xd7\\xe3\\xfd\\xd1\\xe8=\\x08u\\\n\\xc3C\\x00\\x8dT\\xc9\\xd9\\xca@\\xfe>\\xe9\\x0d\\xd2\\xd1\\xf5\\\n\\xac\\xa4+\\xd8i\\xf7\\xfb\\x18n\\xact\\x16a\\xd5\\xd0\\xf8\\\n\\x18\\xcf\\x9a\\x11/f\\x15\\xbd\\x03\\x98w\\xd3\\xa8\\x15\\xc3\\xc9\\\nw\\x1e\\xe3\\xff/\\xd1\\xf6\\xde\\xb0\\xbb\\xb2\\x03\\xbfz\\xa9\\xdf\\\n~\\xf4j4$+!\\x0c\\xa5\\xa0\\xddK\\xa5\\xc3\\xeb\\xe3\\\nt6\\x83\\x83\\xcd\\xb4\\xfa\\xebh4X[\\xf3\\x22=E\\\ng\\xd2^k#\\xbd\\x9d\\xa5\\xc3)\\xee\\x07\\x1b\\x98\\xf6\\xbf\\\n\\x010\\xf6\\x8d\\xfae\\x06\\xb4\\x0d=v\\xbbh\\x7f\\xe3x\\\n\\xf4\\xc7\\xeb\\xeb\\xd9\\xf8zF\\x080\\xe8^fdN@\\\n,\\x00\\x5c9J\\xdb\\xddO\\xfe\\x18q_\\xf9q\\xef\\xe8\\\n\\xf8\\xe0\\xf5\\xab$\\xda\\xac~]}\\x1a\\xe1D'\\xban\\\na\\xa4\\xf8s0\\xe83\\x9a\\x93E\\xddj>fe\\x06\\\n\\xd4\\x0a\\xb06F\\xa4\\xa7\\xb4Z+\\x9d\\xe4\\xb8\\xf6\\x7f\\x5c\\\nh\\x01]AC\\xff@\\x0eR_M\\xf2\\x06\\xed\\x9e\\x00\\\n\\xa4=\\x19\\xd57rp>\\x87\\x83!>Nf(\\x10\\\n\\xb1\\xf3\\xa6\\xf9\\x0f\\x89\\xd5\\xb9\\xdbcOL\\x06.3d\\\n\\xbe\\x89\\xae7\\x9blhOE\\xf8tK\\x02\\x9d\\xbar\\\n\\x93\\xf6\\xc5L\\x10]\\xb2,\\xd2u^u+\\xb3\\x14\\x83\\\n\\xe9dT\\xddW\\xe5h|K\\x8el}/@\\xa5\\x5c\\\n\\x1b\\x95\\xab8\\xe3\\xb1\\xc9\\xba\\x14\\xca\\xba\\x8b2\\xbe\\x85L\\\n\\x86\\xb8\\xb0Uy\\x93T\\xec9o\\x11\\xce\\xf2\\x90UQ\\\n\\x9d\\x82X\\xd3\\xeeW\\xdf\\x8c\\xa63ou\\xf8\\xf4*\\x0b\\\n\\xc5V\\x81\\xab\\xb4\\xea2\\x9cR( \\x9c_\\x89^\\xeb\\\n\\xff\\x9a\\xcbTu\\xae'x68\\xe9\\x8d\\xd5\\x15\\xbd)\\\nA\\x15\\xe1Dq\\xbc\\x1c\\xdf\\x15\\xdel4\\x82mc\\x9c\\\n\\xb8\\x03\\x91\\xc82w\\xdd\\xb4\\xdf\\xfe\\x84\\xe8l|U\\xab\\\n)\\xfa\\xda\\xc1\\x8a\\xe8\\x93\\xa7\\xfb\\xa7F]\\xff\\xfc\\xb9\\xf1\\\nt\\xaeBu\\x93\\x83\\xc7fp\\x7f#p\\x01k\\xe4(\\\n\\xb2;\\xea\\x90\\x9e\\xb0z>\\xea~B\\xd3\\x90\\x8f@\\x92\\\n\\xbdn#\\x92\\xce\\xfeB%~9\\xe1\\xf2\\x11\\x8a]\\x0f\\\n0\\xa0i\\xdaO;\\xb3\\xb4\\xeb0 N\\x02\\xb0\\x88\\x9d\\\n\\x94.\\xa7\\xc4\\x09\\xbc@\\xfd\\xddU<\\xba\\xb3\\x95zF\\\n7S\\x18\\x15\\xe1\\xb7\\xeb$\\x9a\\xda\\xc4\\xc9\\x0dxF\\xe8\\\n\\xc1\\xc4(p\\x02\\xe7\\xdc3\\xccn\\xb9\\x1cV\\xa6:\\x13\\\n\\xd8\\x91\\xdc2\\xe6\\xc1\\xb8x\\xce\\xb5\\x87 \\xc0;\\x19\\xa3\\\n/\\xff\\xbcuVH\\xb2\\xd4wF\\x8c\\xcd\\x9a\\xf1zO\\\n\\xa5\\x1a\\xc0\\xcb//\\xfbY#/C\\x0d\\x12\\x84\\xd0|\\\n'\\xe6\\x17\\xb3\\xa5\\x11\\x88y\\xbd\\xce\\xfb$ \\xbcp\\xeb\\\n\\x98\\x1b\\x11\\xaaeQ\\x00\\x9biy\\xce\\x85`\\x95NG\\\n\\x93$\\x1a\\x8fzd\\xcc\\x83\\xb1\\xbc\\xdb\\xb3\\xeb)\\x1e\\xbc\\\n\\x8b\\xbb%\\xad\\x0fF\\xd7\\xd3\\x94|R\\x14\\xf5\\x00\\x96\\xe4\\\n1\\xd5\\xc7\\xbd\\xd0m\\xeb\\xa2\\xd7\\xb3\\x05}\\x87E\\xbe\\xa8\\\n,\\xbe\\x0aE\\xf6x\\x94B#I\\xa6Z'\\x07m\\xc4\\\n\\xf4\\xea^\\x8cg\\xd1\\x9e\\xbb\\xaa\\xa0z\\xab\\xda\\x9b\\x9e\\x8c\\\n\\xde\\xa7C\\x0e*;\\xeb\\xcd\\xfa\\xe2\\xf9\\xa3\\xdd\\x9f\\xf9J\\\nw\\xcf\\xfc\\xbaQZ\\x1aG\\xd29|/^4WK\\\n\\xe0K\\xd7r={\\xa8\\x92\\xe5\\x11g\\x02\\x01\\x10!Y\\\n\\xec\\xa1H\\x99~\\xa4\\xe8h>\\x81\\x96\\xcb\\xcaOx\\x96\\\n\\x15,\\xf4\\xf9\\xd0\\xd2t\\x9d\\xd7;\\xed\\x11\\xc9\\xea*n\\\n\\x84\\xf4\\x1b-\\x9b\\xf0\\xe3\\x07:$\\xa2\\xda\\x86\\x1e\\x97\\xeb\\\n\\x8b\\xe9ab8\\xf3e:\\x13n\\xfd\\xfc\\xd3A\\x97\\x0a\\\n\\xf5\\x86\\xb0!\\x1d\\xec\\x96\\xa3\\x0a\\xb0#\\xe4\\xaaf\\x1f\\xd3\\\n2s\\x15S\\xf6p\\x10\\xd3\\xea>\\xe1\\x84\\xfe\\xa5\\xb1a\\\n\\xf5F\\xcf\\xb0\\xb0$\\xfd\\xa9\\xbeh\\xf7\\xa7i\\x891\\xa2\\\n\\x8f\\xfd\\x9a\\xf0-\\xd6\\x5c\\x8c\\x0d\\xd2\\xe9\\xb4}\\x99\\x1e\\xec\\\n\\x9a\\xf9|\\xc9)U\\x90\\xfdKKP\\xe3\\x02\\xca\\xf3\\xb2\\\nlPN\\xe3\\xc7\\xde.\\xac\\x07\\xfa\\xb6\\xb6\\x96\\xed\\x1c\\xed\\\n\\xbc%\\x1f\\x0a\\xaf\\x00\\xdd\\x98;&C\\xdas\\xc8;H\\\nA\\xf4\\xe7\\xfe\\x9e\\xbb\\x90\\xdc\\xf4\\x86\\xdd\\xd1M\\x95\\xf3X\\\nd@\\x0fl\\xf8W\\x1f\\xd5\\xe8C\\xf2\\xe4]\\xd0\\x15[\\\n\\xb6z`L.rAK\\xf5U\\xc7\\xd0\\xaf\\x9f\\xd4'\\\n\\xe7\\xeb\\xe7&;\\x01\\xbb%Wp\\x9c\\x0e\\xc4\\x0e\\x7f~\\\n*{;?\\xbee\\x19\\xf5\\xfbx\\xd7d3\\xf4\\x0f\\xa1\\\n>\\x07\\xc64\\xc2\\x95\\xfd\\x1c\\xac\\xecd4~\\xa8.\\x00\\\n\\x11\\xaf\\x85\\xb2\\xdc\\x1fZ\\xff()\\x09\\x03@\\x1c\\xdf\\x96\\\n%>\\xa1HJ\\xea\\x93\\x9f\\xf0s+n\\xf2\\xcas\\xce\\\n\\xc2\\xba-\\xa5c\\x1bj\\x11,\\xceL\\xe9\\xf5,8\\xa3\\\n2\\x1b\\xa5\\xc0t\\xf0L\\xc9\\xac\\xc9\\xec\\x06&\\xf7QC\\\n&\\xa2\\x941\\x7fS\\x83\\x011e<4 *\\x96\\x19\\\n\\x11\\xc9\\x99\\xde\\x90\\xd0\\xa5\\xdd\\x9d\\xed\\xf4\\xb2\\x14\\xc9\\x22\\x0c\\\n\\x88\\xb4V\\x14\\x90&\\x90\\xad\\xc1\\x1f\\xd9~\\xc5^\\x22\\x91\\\n\\x80\\xa4\\xca\\xe6HP\\xf8$\\xe2\\x91\\xc1Y\\xd2\\x0a\\xd4\\xb0\\\nP\\x0d\\x1c9\\x1c\\xbc\\xa5C\\x91S\\x1aM\\x91>\\xd9\\xc4\\\n\\xdep\\x98NHd\\xfc\\xcbw\\xc8\\xdcV\\xc8\\x84\\x8f\\x03\\\n\\xaev\\xaefp\\x80~\\x96KGW\\xcd\\x90\\xbc\\x81\\xe9\\\n\\xfa\\xcf_\\xac\\xa1\\xf8KrK?E$\\xc5\\xcd\\xd9\\xe4\\\n\\xd3]\\x86\\xed\\xb8\\x9aS\\xe8A\\xd0\\xf5@<\\xef\\x90\\xfb\\\n\\xbat2\\xe1\\xe0\\x19\\xf0\\x03\\x0f\\xc5xt\\x91\\xc0\\xdb\\x90\\\nb\\xc4\\xbd<\\xd6\\x86\\xa8?Q\\x1fG\\xbd\\xeeJ\\x96H\\\n\\xaa\\x1c%{\\xf1\\xeaP\\x9fZ\\xcamsnqL3\\\n7\\xf7\\xc9\\x83\\x0f\\x1eV\\x88\\x10c\\xfc\\xe04\\x0f\\xbfK\\\nj[\\xa5\\xc2>\\xe7'\\xda\\xa6\\x5c\\xf4\\xfa\\xd0u\\x9cy\\\n\\x87\\xa2\\x1a\\xa5|\\x91!\\xba\\x0fW\\xf9\\x82\\xed\\xfe\\xf8\\xaa\\\n]2\\x14T\\x1e\\x96\\xa3XW\\xb6X\\xe7U\\xb4\\xae\\x86\\\n\\x95M|\\x98\\xf6\\x14N\\xf9\\x8f=\\xf9\\xcay\\xeb3\\x8f\\\n\\xbc\\xfa\\xb4\\xf6\\xaf}\\xd6=\\xfe\\xf1\\xfbW\\xc7It5\\\n\\x9b\\x8d\\x1b\\x1b\\x1b777\\xd5\\x9b'\\xd5\\xd1\\xe4rc\\\n\\xb3V\\xabmL?^Fj\\xfb\\xe8\\xe8\\xf5\\xe9O\\xc9\\\n\\x97\\xfcc\\xf7\\xa7\\xa4\\xce\\xbf~N6\\x9bK\\xe8l\\x03\\\n\\xe7\\xc8\\x82\\xc7\\x0cZE\\x80\\xef\\xba\\x9d7\\x0db,\\x81\\\n\\x07L\\xda\\xf1\\xf4k$\\x0db#\\x16X#\\xf8\\x08M\\\n\\x11\\xd2A\\x14+\\xaf\\x8cTeK\\x18\\xcb\\xbf\\xea&B\\\n7\\x8d\\xb3\\xe1?\\xc2Ip\\xb1\\xff\\xde\\xf1\\x22\\x8f\\xd3\\xd2\\\nGU7\\x1a\\x1e4y[P\\xc0\\x9a\\xbf9E\\x9a\\x8e\\\n\\x0do\\x9d\\xc3%LF\\xd7\\xc3ni\\xb6n`\\xac\\xd6\\\n\\x89\\x10q\\xfc\\xfa\\x10\\xc4<k9\\xebXj\\x9d\\x9f'\\\nw\\x87\\x8d\\xb1:\\x82\\xffN\\xe0\\xbf\\xe7\\xf0\\xdf~\\x83\\x1d\\\n\\x06\\x97\\xc7j\\x97\\x7fv\\xe1\\xe7)\\xff\\xbc)o\\xae\\x8f\\\n\\xe7\\x9e\\x0ba\\x8d{s\\x956\\xb6\\x17\\xec\\x9a\\x14\\xa6\\x9e\\\nf\\xe5x\\xdc\\xef\\xcd\\x0ea\\xe5\\xe8\\x91j0<'\\xf0\\\n\\xaf\\xe4n.\\x8aASE^1\\xc8\\x19g\\x06\\xe2\\xac\\\n\\xd7j\\xa1OG\\xd3\\xfaJoh\\xbap\\x864\\xfe\\xea\\\n\\xf5\\xc9\\xf6\\x09\\xac\\xba\\xea\\x0fov\\x0f\\xb6\\xbf\\x7f\\xfdj\\\n\\xfb\\x90\\xd6\\x00\\x08\\xb9\\x22A>\\x04~|rt\\xf0\\xb7\\\n\\xbd\\x96\\xe9\\xa8\\xe9F\\xf6\\x8c?\\xf4\\x0e\\xf8\\xb6\\xb3\\xadP\\\n\\xf2\\xd2\\x85\\x1d\\xe5@\\xc7\\x10#L\\xa3\\x1a\\xab\\x99\\xa2\\x89\\\nf\\xe2\\xcf\\xbaLt_\\x8e\\xdd\\x94\\x93\\xf3\\xf3\\xeaa\\x19\\\n\\xfe92\\x86\\xb0\\xf4\\xf7P,a\\xd9\\xeb\\xd3D?i\\\n\\x9e$\\xda\\xccY_\\x91B\\xd1\\x13\\xf9`X\\xe3\\x0eq\\\n&\\xbe\\x97\\x04\\xb6K\\xb0\\xcf\\xe5\\x83a\\xcf5\\xecy\\xa2\\\n\\xcd\\x84\\x1d\\xcd\\x86\\x1el\\xe3\\xee\\xdc\\xb5\\xca+\\x1a\\xed\\xdd\\\n\\xb8\\x92\\xcc\\xd4\\x03\\xf4\\xe8\\xe5\\xb3%cB\\xc5\\xe7\\x8a\\x16\\\nO\\xda]\\xae-\\xb2_\\xb7&h\\xe2a[\\x96\\x8b,\\\n\\x15X\\x1f\\xf1\\xc6\\x97\\xcd\\x9c\\x1a\\x8f\\xbb`}\\x0d\\xab|\\\n\\x005\\xe9\\xb95\\x93\\x1eW0\\x96\\x08\\xf5\\xb7A]P\\\n\\xda\\x1e~\\xd2\\xee\\xf6\\xae\\xa7\\x91\\x05E\\xc96c\\x8a\\xed\\\n\\xf5+V\\x91\\xbe\\xf9\\xae\\xf0\\xf3\\xb1\\x86\\xfb\\x0e\\x1d\\xbd%\\\n\\xf1\\x8b6\\xbf\\xf8M\\x9c\\x09\\xe4\\xe6\\x15:%\\x03n\\xd5\\\n\\xe9M:\\xae\\x0ei!\\xfe\\xd0\\xc6\\xa6\\xbaO\\x166\\xd5\\\n]u\\x8a\\x7fN\\x15lP\\x0e\\xb5\\xc2\\x97\\xd4\\x01\\xc5g\\\n\\xae\\xc5\\x15\\xe4h|\\xc2O\\x97)G\\x18'sL\\xf6\\\nW\\x93[\\xfbL\\xe0tc\\x13\\xdf\\x00\\xc4j\\xf2\\xc9&\\\n\\x96\\xf6\\xcb\\xbb\\xb1\\xce\\xe8\\xf8\\xd0\\x90\\x90\\x87\\x8cq\\x94\\xe4\\\n\\x5c\\xe7\\xe11\\xe6I\\x8d\\xcc\\x03y\\xfa:\\x0f\\x19\\x0f\\xe2\\\n\\x8c\\xeb\\x18\\xe5\\x9f\\xd3\\x16[\\xd5\\x146\\x961\\xba\\xe1\\xd6\\\n\\xf0\\xc5\\xc4\\xe7\\xb4\\x85F\\xbd\\x85-y\\x16\\xbf\\xdc\\x0e?\\\n:\\xf8\\xac\\xa6\\xe4]wak\\xd9w\\xdf\\xdc Hn\\\n\\xd7\\x181\\xa4\\xff\\xd9\\xc3{4\\x82\\xb3\\x85\\x16\\xe1}\\xd0\\\n\\xeeN\\xaeo\\xce\\x7f\\x0bB\\x1e\\xdd\\xbf@\\xb9E]\\xd4\\\n,c\\x0aG\\xad\\xf7\\xcb\\xac\\xf0\\xcfa{\\x9a\\xa71\\x83\\\n\\xe1\\xaegy\\x19\\xf2\\x8c2\\xb3\\xa9\\xcf\\xe3c\\x1b\\x9b\\xe5\\\n1/\\xf8\\x22~\\xa6\\xe1*\\x0cG\\x9c\\xed\\xca\\xf8M\\xfd\\\n\\x87`\\x00\\xdd\\xcf\\x15 \\xc0\\xc1\\x80\\xe6\\x5c\\x8fE\\x041\\\n\\xec%\\xd8\\xf9\\xf5\\xb8\\xdbk_\\x8e\\x86\\x8f\\x18\\xf4\\x1f\\xc9\\\n\\xd8\\xe5A\\xd8m\\xddy\\xfc\\x85\\xc3\\xff\\xe4$\\x00\\x9b\\xc6\\\n\\xad\\xf2v\\xd3\\xe1\\xe5\\x98\\xf0i\\xd3/\\x84\\xc3\\xeb\\x8en\\\n\\x86\\xffv\\x03\\xa4\\x84\\x85\\xc3c\\x14\\xf8\\xf3\\xd7\\x9eLF\\\n7\\x8f\\x1a\\x1dQXe&\\xa3C:Sm\\x16x\\xda\\\n\\xb3\\xf6p\\xb3\\xb4\\xafN\\xe3\\xf5R\\xa5\\xfeM\\x8d,>\\\n\\xaao\\x0e\\xe2\\xeal\\xf4\\xa2w\\x9bvKObu\\xc4\\\n\\xb0h\\xf2_\\xda_\\xdf/\\x9f\\xae\\x03\\xc5-D\\x91\\xca\\\n\\xe4\\x15!\\x09\\x0e\\xb0w\\x17\\xbd~\\xbf\\x11\\x89\\x86\\x84\\xae\\\n\\xeb\\x225\\x9b\\xb4\\x87S\\x10\\xf8\\x07\\x8d\\x88~\\xf6QU\\\n\\x1f\\x95\\x1d\\xf7\\xcf\\x8c<\\x8aU\\xe1\\xa5\\xee\\x979=^\\\n\\x99\\xa0\\xc8\\x89\\xa5\\xda\\xa8\\xa6\\x98c\\x10\\x95/\\xd7g\\xf8\\\n\\xa4\\xa0\\xbe\\x8e\\x8a\\xd4\\xcd\\xf5Yx&/\\x17N^\\xcd\\\n\\x9b\\xb0\\xa3\\xca-M\\x98o\\x17\\xe7W6F\\x8d\\x97\\xba\\\n\\xc3\\xbb\\xddlo\\xb1x9R\\xb5\\x95\\xc3@\\x0e:\\xbd\\\n\\x83\\xccL\\xc6'H\\xcbC?\\xb6\\x96\\xca'\\x0a\\x5c:\\\n\\x82e\\xc2\\x9a#$\\xb11\\x9cWF\\x80\\xee\\xcb\\xa5\\xc5\\\n\\xbe7\\xc9Xy\\x0b\\xa89ND\\xbaj\\xb2wG$\\\n8\\xe0\\xd1o\\x9a\\xf8#\\xc1\\xe0z\\xd5C(\\x14\\x88L\\\n\\x13\\xd5Vj~<\\x1a(&\\xef\\xae~\\xfbr\\x5c0\\\n\\x09c\\xc4O\\x1d\\x90WW9b\\xc2\\xd5\\x07D\\x96C\\\n\\xeci\\x00\\xa7v\\xad\\xf6G\\xc3\\xcbn\\xef\\xe3\\x12H$\\\n\\xf4$\\xf8\\x92wL\\xa8\\x91\\xdf\\xcd\\x22\\xce\\xd4\\x5c\\x0aq\\\nT\\xc7?\\x02u\\xa7\\x16u\\xf5\\x95v\\x08\\xaf\\x994W\\\nH\\xa7\\xf0C5(\\x18\\xc4;\\x8e\\x81\\xb1\\x89\\xa7\\xa2\\xce\\\nR\\xe2\\xde\\xbf\\x1b6s\\x03\\xaf~\\xb5N\\x18\\x0a\\xd2\\xdc\\\n8LsAX<\\xaf\\xca\\xd4\\x04\\xa7\\x0c\\xd7\\xbb\\xf6\\xdb\\\n\\xea\\x9c\\x91\\x07\\xc6\\xd6`\\xb0\\x9e\\x18[&cz=\\x88\\\n\\xbf\\xab\\xd6\\xb7\\xa2Z\\xd4\\x18\\x98\\xfd\\xa1\\x1eW')\\xf9\\\n~-m\\xbc\\xad\\xd6\\xbe\\xd8PQdn+?^f\\\n\\xee\\xc6\\xe9A\\xd3\\x8c\\xb5\\xf2\\x90+\\xd7\\xae\\x80Usa\\\n\\xc5\\x86)\\x82\\xbdW\\xc7%\\xd2\\x81\\xaa\\x08\\x95\\x9dq\\x13\\\n\\x91)\\x91YJ\\xe6w\\xf6\\xd1\\x02YX\\xf1\\x0eU\\xe0\\\n\\xc1\\x9b \\xf6\\xf9u\\xe8\\xae\\x0bX\\xe4\\xef'\\x0f\\xe9\\xb8\\\n[\\xc8\\x80\\x9d\\xc6\\x05[\\x01\\xfc\\xe4\\x1d/b\\xce[\\xe1\\\n\\x08`\\xce\\x16\\x13K0\\x10G\\xae\\xf4\\xbd\\x06\\x02\\xc6\\xf4\\\n\\xfd1\\xfc\\xb6X\\x96&\\x9c\\xd7~\\xd0\\x16\\xda\\x9d\\xa8n\\\nz\\xc1H\\x1e\\x9d\\xbf{\\x08\\xc9d\\xc0B\\x8e9\\xcf\\xdf\\\nU{SQ\\xee%\\xab5\\xaa\\xc5<\\xc5\\xea\\xa2\\x02\\x0e\\\nS\\xe0\\xbf\\xac\\x8a\\xab\\xd7\\x8d\\xd7\\xd6\\xb0\\xf84\\x9dm\\xcf\\\n@\\x0e;\\xbf\\x9e\\xa5\\xd0\\x00]r\\xf5\\xd0=\\xcd\\xc5Y\\\n\\xaf\\xeb\\xdd\\x1f7\\xed\\x80|\\x9f\\xef\\xe7\\xef\\xd0\\x13\\xf8;\\\n\\xbc\\x18(\\xea\\xf8\\xfd\\xbd(\\xf8<Uw\\xc1[\\xcaG\\\n\\xdd.H]\\x9f{\\xbd\\xa0\\xbb\\xf2\\xaf}\\xbfp\\xf8z\\\ng\\xfbp\\xcf\\xc0\\x1c\\x8e\\x80\\xf4{\\xbf\\x92\\xa2\\xae\\xf9\\xa0\\\n\\xad\\xf8\\xe3]\\xc8N'\\x1d\\x13\\x11\\xd2\\x89{\\xf7Q;\\\n>j\\xf7%\\xde\\xf2\\x1f\\xf5\\xe0\\xd0\\xf3\\x058\\xe9H\\xac\\\n\\x0f|^\\xe3\\x98\\x84\\xd1w\\xe4rs\\x1b\\xa3\\x14\\x0d[\\\n1\\xdb\\xd5\\xe3z\\x01g\\xdd\\x0cn\\xff$\\xbd\\x15\\xfbS\\\n\\xa6\\xf8\\xea\\xc5d4\\xd8\\x91\\x90\\xc3%\\xaa-\\x10?U\\\n\\x5c\\xa3\\x84b\\x96\\x02~\\xd8\\x9d\\xe4\\xe0R\\xa2G\\xe0\\xcf\\\n\\xc4\\x99\\xaf\\xef\\x0f\\x7f~\\xb3\\x7ff\\xc7\\xd9\\x927[\\x8f\\\n(\\x91\\xdc\\x01Dc\\x98\\xde\\xac\\x1c\\x0c\\xda\\x97\\xa9Xo\\\n5\\x22\\x5c\\x9ex\\xdd375\\xd2\\x7f\\xa3!\\xd2~\\xe1\\\n\\x8d:\\x80\\xa0\\x95<zr\\x11\\x93\\xabLi\\x8a\\xf3\\xba\\\n\\xa8\\xf8\\x1eEB\\x0e\\x96\\x86\\xee:s\\x9aYit\\xff\\\n\\xcaW\\xb6\\x81\\x0ec\\xf4\\xbe\\xd7\\x7f\\x8b\\xb4?K\\xaa\\x8d\\\n\\x06*&\\xdd\\x93\\x09!\\x89\\x1a/\\xf1b\\xa9\\xfe\\x02\\xbd\\\n\\xc26^\\x1e\\x02\\xc5>ow_\\x12\\x06\\xa3\\x16}\\xac\\\n0>\\x1b+\\x7f\\xaeG\\xca!\\xb4\\xb8\\x89\\xd7\\xc1\\xfa\\x1d\\\n\\x8a\\xfe\\x8bW\\xe1\\x14\\xdc-\\xfa\\xfa\\xe9\\x9fyp\\xd5m\\\n\\xe2\\x80tuMW\\xc8E\\x0f]\\xc86g<\\x1a\\x97\\\n\\x04\\x1b\\xfa}1\\x96\\xe17\\x055\\xf8\\xbf\\xbaCG8\\\n\\xe5\\x05\\x86\\xd1\\x90\\x85\\xd6\\xa7\\x9a\\xe3\\xa3\\x97\\x09\\xe8u\\xc3\\\n\\xc1*,\\xcd\\x86q3>Sd\\xaf\\xe6$\\xcc1\\xf4\\\n\\xa9\\x17\\x14\\xf2\\xca\\x8f\\x03I\\x02\\x97\\x83\\x7f\\x02\\xb2\\xd6\\xd2\\\n\\xfb~.\\x97\\xb1\\xd9\\xa7xr\\xd8\\xdfO\\xf6\\x9b\\x14l\\\n\\x11\\xdf,\\x9e\\x06\\xef\\xd8n\\x00\\x14=)\\x9c\\x9en\\x9d\\\nn\\x9c\\x9e\\xae\\xef\\xef7j\\x12\\xa1\\x11M\\xc4\\xf6\\x83\\x85\\\n\\xae\\xa0j\\xe1\\x0d\\x5c\\xf3\\xfe\\xfe\\xd6\\xfe\\xc6\\xfe\\xfe\\xfa\\xe9\\\ni\\x03\\xfd\\x962Y\\x04\\x04\\x8d\\xd38c\\xff}\\xea\\xc0\\\nfe\\x8e\\xfd8c\\x13\\xbe\\xaf\\x09\\xe4\\xa3vm\\xe6[\\\n\\x9eW\\x16\\x5c\\x22r\\x11\\xea\\xb7mq\\xa1\\xf0\\xa2\\x03\\x0e\\\n_U\\xbcPZ&\\x80\\xf1<\\x1f\\xd3\\xfc\\xf7}\\x0b\\xac\\\n|N\\x90\\xb1\\x11Sz\\xdd\\xa1l\\x84\\x0c&!/\\x82\\\n\\xa3\\x8b\\x15\\xca\\xe6\\xe0U\\x00\\x90\\x88\\x05\\x97c0lW\\\nm\\xc2\\x7f\\xee\\xefqQ\\xdb\\x06i\\xf9\\xbaOM3\\x85\\\n-?(E\\x1cq\\x1de\\xe3;\\xe2\\x89\\x8d\\xbbG\\xdb\\\n%\\x10\\x07\\xf8\\x5c\\xb9\\x81\\xd9\\xf1\\xbf\\xb4\\xd4\\xd0\\x5c\\xf6E\\\n\\xd6\\x02\\x01A\\xc7\\xb7*9\\x0f\\xbcc\\xfd\\xfa\\x94\\xfd\\xc4\\\n#]6\\x0b\\xdf\\xa3~\\xa6H\\xe0\\xed\\xe4\\x0b$\\x05\\xed\\\n+\\xa9\\xc0\\xa7\\x8d\\x0em\\xbc\\x84C\\xfaF\\xa9\\xc8\\x04\\xbe\\\n\\xa6\\xee\\x90\\xc4\\x1b\\x8e\\xb7\\xcd\\x02\\xb7\\xecsq\\xf4\\x9e\\x0b\\\n\\xe9W*\\xf4e\\x12\\xb3\\xefjZ\\xdcG\\xd6w\\xb5\\xc5\\\n\\xe7\\xd2^\\xac\\x17\\xba\\xb1\\xc6\\xfb\\xe8\\xbb9?\\xe4\\xbd\\x9b\\\n\\xfb\\x22\\xd31\\x13G\\x09\\xf2\\x08@7\\xae\\xac1>\\xfa\\\nr'\\x7f_\\x1c\\x13@~\\x8f\\xd5x\\x92\\xea,\\xfe\\xc9\\\n)c\\x9b2f\\xef\\xe4\\xcfu\\xe9c\\xe7\\x0b\\xca\\x9b/\\\n)\\xfe\\xc6O\\x18[\\xc2\\xf2f\\x87\\xe3\\xc9\\xf1A\\x15i\\\n\\x10\\x0a,t\\xf0\\xc9\\xf4\\xdf'\\xff\\x83J\\xbepC\\xa7\\\n\\xc51\\xee\\xf70\\x90\\xa5v\\x8e\\xee\\xbc\\xcapJ\\xc5\\xdf\\\n=\\xd9\\xd2\\xdbl\\xa0x\\xa3\\xae~\\x07w\\xe8\\xd3\\xdf\\xec\\\n\\x0e]\\x15\\xfb+_\\xc5,`\\xb9\\xffL\\xdf\\xe2\\xaa\\xf4\\\n\\x87\\x05\\xad\\x88\\xff\\xdd\\xfd\\x95wo\\x13^\\x04[\\xd3\\xf2\\\n\\x98\\xa4\\x95\\x06\\xaf\\x01\\xf8~\\xe3\\xf8fl\\xd4\\x9a\\xee+\\\n\\x1c\\xd7]M\\xf7V\\xfb\\xe6\\xbf\\xf5\\xa2\\xf5\\xb0\\x0b\\xf4\\xf1\\\n\\xfd=W(\\x8e\\xce\\xe5\\xf3\\xb79<\\x07\\xf9\\x91\\x1c\\xdc\\\n@e\\xf0oL\\x81\\xce\\xc9\\xf3\\xf3\\xfd\\xfd\\x1bJ\\xe86\\\n\\xb9\\x15\\x0a0n\\x9a\\xb9\\xa2\\xa5O\\x81\\x92\\xb8O\\x14A\\\n\\xdcdw\\x89\\x11Pd\\xa7\\xebJ\\xb7R\\x0a8N\\xef\\\n\\x96}\\x07\\xe9\\x7f\\xb4St\\x98\\x06\\x98\\x9aL\\x5c\\xcb\\xe3\\\n\\xeb\\xf3\\xe3\\xebq\\x89\\xd8\\x229\\xff\\x01\\x9e\\xc6n\\xaf%\\\n\\xa8\\x184\\xab\\xa6q#Wl\\xfcz\\xd8\\xffT\\x0a\\x80\\\n\\x030!+\\xdf\\x90\\x94\\x90\\x96n\\xa9bA\\xde\\x96\\x10\\\nN\\xa6\\xd0\\x1bJ\\xa5\\x7f\\xc7%\\xcd\\x9f\\xb1\\xb0p\\xe67\\\nD3\\x0b\\xfa\\xc9E\\xa9\\xe1P\\x11(\\xa0\\xe76\\xd8\\xb2\\\n-(\\xedb\\x1b\\x7f\\xb4\\xcb\\xf4E\\xde\\xd1\\x91<\\x5ch\\\n\\xcf\\xaf\\xbaK\\x8a\\x1e\\xd4\\x9b\\x0c\\x14\\x81<fFM\\xbd\\\n\\x8fE/\\xbbL_\\xe4,\\xbd\\xd81z\\xd6\\xcb\\xba\\xeb\\\nO]\\x0f5\\x074\\xf6\\x81\\x1eM\\x89\\x8f\\xa2\\x84\\xfc3\\\n\\xbe?\\xf0Ma&\\xbc\\xac\\xc8<V\\xf4\\x0d\\x0b?\\xa8\\\n\\xfe\\xd6\\xb1\\x8e\\xb4\\x0d\\x1f\\x0b2\\x8b\\x83\\x14)\\x11p\\x16\\\nG$RV\\xf0)\\x04\\xe4l\\x17v\\xbc\\x18\\x96\\xea\\xd5\\\n\\x9d\\xf4%N\\x12\\xc0\\xb4\\xec\\x95\\xcf\\x1b+G\\x12\\xcbf\\\n\\xcb\\xe4\\xa1\\xa9}\\xc9\\x91\\xcf\\x82`cW'w\\xae%\\\n:c\\x17\\x8a\\x87\\xbf4\\xb9\\xeb\\x81\\xcct\\xd3\\xa8\\xe1\\xc0\\\n\\x1a\\x1a\\xfb\\x0d\\x0e\\xfc\\x15\\x8a\\xe9\\x0b]\\x8a\\xc8\\xbf=\\xb6\\\n\\x8ak?jREU4H\\xc5\\x1d-\\x1a`\\xe3<\\\n\\xaf\\xb85;\\xaf\\xa8\\x04\\xb0\\xc5\\xa7\\x17\\xd2\\x9eKR\\xb9\\\n\\xac\\xf8\\xd7\\x0dHO\\xd4\\x86 \\x9c\\x9b\\x11\\x8c\\xda\\x98P\\\nS_\\x8e\\x07Q\\x94)\\x89\\x97\\x03\\xd6$\\xbe\\x7f\\x8e\\x8b\\\n\\x01\\xc7\\x1e\\xe0\\x8d]\\x7fX\\xb9\\x1b\\x97\\x87c  \\x8e\\\n\\xb0670\\x0fG\\x84\\x80\\x1c\\x17\\xd3\\xe3\\xb6\\xdb\\x99\\x1b\\\n\\xd9\\x91\\xb0)/\\x1es\\xdb\\xed\\xc9\\x0ds+\\x81\\x12T\\\n\\x94\\x93\\x9b\\xb9&\\xa1\\xb55\\xfd\\xcb,NMA&k\\\n\\xecgiN\\xe0|\\x04\\x00\\xc6.\\x80\\xa9\\xc1\\xba\\x8e<\\\n\\xce\\xc4\\xed\\xa4K\\x12\\x07qwr\\xac\\xe1U\\x8b\\xd3\\x9c\\\n\\xe4'\\x5c\\xb3\\x18L\\x04Aw(\\xee6\\x88\\xb0\\xb4\\xf0\\\n\\xebP\\x8d\\x9fUB\\xa6\\x90pU\\xf0\\x8b\\x9f\\x07\\xa3,\\\n\\x1bH^\\xe4\\xc9 *\\x13\\xc5\\xf1\\xe1K\\xcae\\x0b\\xfa\\\n\\xf1\\x9cx\\x1a\\xd0N\\x17\\xf1[l\\xae(\\x80\\x82\\xd6\\x9b\\\nD\\xcc\\x85%\\x99So\\xf5'\\x1e\\x10ip\\xae\\xa2\\x12\\\n\\x0fN\\xdc1\\xca\\x93c\\xb3\\xa0\\xab\\x185v\\xf58\\x91\\\n\\xfa\\x0cee&\\x8d\\xbdD\\x0a\\x8d\\xdd\\x9d\\x93l\\xc8\\x07\\\n\\xe2;\\xa4\\xed\\x8b\\xf6{\\x8c@\\xa5#N\\xcd\\x1d\\x0b\\xea\\\n,\\xb2\\xd0&\\xa4\\xa6\\xba7\\x18\\x15\\xf1\\x82\\xd8\\x10qh\\\n\\xe7\\x1c\\xb2.>\\xcfn\\x0c}dg\\xaa\\x09\\xc5o*\\\n\\xf9\\x22\\xcd\\xac\\xc3c\\xdf\\xf1,fL\\xac\\xc9X\\xc6\\xb6\\\n\\xab{\\x83\\xb6[M\\xe4\\x17\\x88)\\xba\\xd2\\xc2=y\\x06\\\nG|\\xf5$\\x96\\xd3\\x11\\x8et\\x0b\\xe7\\xc4\\xbb*$\\xff\\\n\\xc8\\x0d\\x9aj\\xdf\\xa5-\\xfbFF\\xb7\\xc9m\\xa3H\\x00\\\n\\x04to\\x08\\x03\\xf1\\xdc\\xa9S\\xec\\xca\\xbb\\xb7\\x8d\\xbc\\x0f\\\nK\\xc9\\xa4\\xb3\\x81q\\xb5\\xdc\\xbd\\x99\\xdb\\xa5\\x96\\x89\\x05\\xea\\\n\\x1f\\xab\\xef~\\xe3\\xf9\\x1fgJs\\x04\\xd9\\x1d\\xa8\\xca1\\\n\\xbd\\xb9\\x0a\\xc7\\x97\\xd6y\\xe2\\x0d\\xc1\\xc7\\x8b\\xcedw\\xbf\\\nJ\\x7fzH\\x95\\x86\\x16d\\x9ekAT\\xba\\x16n\\x07\\\n\\x06d[A\\x96U\\x006\\x16\\xdf\\xc3:\\xd4\\x94\\x19\\xe5\\\n\\x1f\\x14\\x90\\xce\\x86\\xd2\\xc9\\xf9g\\x91\\xd8{\\xe3`\\xd6\\xd8\\\n\\x8b\\x01+\\xa2\\x9cs\\x19\\xed\\xcbtwK\\xc4\\xd7q\\x03\\\n\\xeb\\x04\\xf5SS\\x8eOGa\\xb6T\\xe0\\xe0\\xea\\x04S\\\nR9y\\xda\\xedZ@\\xb0\\xbe{8\\xe2\\xd1r\\xa1\\x8e\\\n\\x96\\x88q\\xc4[z\\xe102\\xc1\\x8e2h\\x86\\xe1\\x04\\\n\\xb0\\x5cpZ\\xbc{0T\\x91\\x8b\\xd2\\x87\\x83p\\x95?\\\n\\xfaa\\xb7\\x96CI\\x99\\xa3\\xa3\\xddR\\x9c\\xdb\\xc7\\xa1\\x07\\\n\\x81\\x1d\\xc3\\x88\\x07)h!U<\\x12\\xd9\\xf6\\xbca\\x11\\\n\\x9e=x\\xdc\\x89P\\xf2`\\xc7<\\xb8\\x90!\\xc94\\xd8\\\n=jh\\x9a%i{\\xda\\xcb\\xf4,w\\xec\\xbb\\x13\\x99\\\n\\xe8!\\xca\\xf6\\xc0\\xc2\\x02B\\x18(\\x18e$8\\x947\\\n<\\x94\\x10\\x8ey<a,\\x17)\\x18|\\xcc?\\xa6\\xcb\\\n!\\xaa\\xe6\\x83yE4IK\\xa0\\x83\\x09{Z\\xa6a\\\ni\\xd2~\\x04\\x82\\x04\\xf47\\xd2\\xb6%\\x8fb\\x8cgi\\\n{\\xb9\\xa8a\\x0fE {\\xec\\x0d\\x99{w\\xf4\\xb9\\x17\\\ne\\xde\\xfd\\xd3\\xbf\\xc1}\\xd9\\xf4\\x1f\\xe9j{\\xd9k\\xae\\\n\\x85\\xb7\\x5c\\x0b#\\x9b}\\xb8\\x1e\\xa1\\xf7\\xc2h\\xa2\\x7f\\xa0\\\n-\\x83\\xd8\\xaeh\\xdb\\x99\\xab\\xf6\\x94\\xe0\\x0dx\\xbc\\xb6\\xf6\\\n\\x97\\xe8/6\\xae\\x17'\\x83\\xd4\\xee}'\\xd1\\x7f\\xfc\\x1f\\\n\\xffo$\\xfd\\xb6uL\\xc2uL2uLL\\x1d\\xff\\\n\\x03\\xea\\xa0\\xaa\\x92L\\x83t51\\x1c\\x91 \\xecd:\\\n#\\xb0O\\x90\\xa5K\\xd0$U\\xf6?\\x1c\\xf8\\xc9\\xa3+\\\n\\x9b\\xd8\\xcaX\\xfd\\x9d\\xde\\xce\\xfc\\xae\\x95\\xad\\x82B_\\x8a\\\n\\x94\\xbd\\xc2\\xcd\\x82[zke\\x84\\x95\\x06\\xec\\x89\\xd4?\\\nP\\x1d\\xf6X~\\xf0\\xd9L\\xe0\\x9f\\xbb\\xf2\\xd9\\xe3\\x9c\\xdb\\\n2\\xfb\\x86[\\xeae\\xff\\x9b\\xc3\\x83\\x93\\xf0\\xf3iu\\xb8\\\n\\xfd|\\xef0\\xa9\\xd4\\xd5\\xf3\\x83\\xefw\\x0f^\\xee\\xbdJ\\\n\\xea\\xe9W\\xcd\\x07\\xbd\\x98\\x86\\x5c\\xc2\\xb1Jl2\\xba\\x99\\\n6\\xceZ\\xaa\\xdf>\\x07\\x09\\xdf\\xfcJ\\xbb\\x8d\\xd5\\xfa\\xbc\\\n\\xf9\\xe0Sz{+\\xedy\\xa7\\xa4\\xca\\x1d\\x17\\xfd\\xd4\\xb7\\\n\\xd0\\xb1\\x8b2\\xf4\\x99\\xcb^_7c\\x1e\\x8d\\x17q0\\\ns\\xc3\\xdd\\xcc\\xfb\\x89\\xc42\\x0bySg\\xd4\\xbf\\x1e\\x0c\\\n\\xb5M!\\x8c]\\xff\\xe4\\x0c\\x5c\\xa9h`BY\\xf6\\x83\\\n3\\xb5mb\\xfa\\xe1\\xba\\xdd\\x17x\\xfd\\x89\\xe0\\x06\\x10\\x1f\\\n\\x88L\\xb9\\x0e\\xfd\\xf3b\\xd2\\x1e\\xa4\\xfa\\xaf\\xadX\\xb7\\xae\\\n\\xab\\x9e\\xf6\\xba\\xc4/{C\\x9e\\x0e\\x03x=M\\xd9\\xc1\\\nd\\xe4\\x07\\xcdY\\x10\\xdcOT\\x953\\xc7\\x0d\\xc0\\xba\\xb3\\\n\\xceu\\x0c\\x17\\x7fg\\x80\\xb9<\\xee\\xfd\\x0a\\x98b\\xfc\\xe5\\\nUy\\x97\\x8e\\xe9n1T\\xbb\\xfb\\xee\\x1a\\xa6)\\xed\\xf7\\\n\\xb30\\xc2\\xb0\\x08\\x0f\\xe8\\x97\\x8bf\\xd9{\\xa5-\\xdd\\xa6\\\n\\xd7;.\\xb4W?\\xe2\\xedG\\xaf\\xea\\x9c\\xffs\\x9e\\x0b\\\n\\xf2\\x06:]\\x0c\\xa9\\xdd]\\x07\\xba\\xcb\\x9d\\x91\\x15\\xe1\\xb9\\\n\\xef\\xebv\\x0fi\\x8a\\xf2U+\\x87\\x0c\\x17>\\xca\\xf7u\\\ng\\xf20\\xff*\\x91G\\xf5\\x9czR\\x11]\\x92\\xbc\\xa7\\\nO\\xe4\\x19\\xbdNu1t\\x7f\\xcf\\xda\\xcd\\x1bvi\\xef\\\n\\xba@\\x0f\\xc7\\xc9\\xaao|%\\xea\\x99C\\xae\\xf7(\\xa1\\\n\\xa4?\\xfc*D\\x93\\x99\\xe5K\\x1e\\xda\\x89?\\x1d\\xee\\x0b\\\n\\xe5\\xbex\\xfd\\xeadw\\xfbd\\x9b|\\xf6\\xef\\xaf\\xcb\\x88\\\n\\xcd\\x8aP\\x87\\xbb!\\xc0\\xdd<\\xe0~\\x02\\xdcm\\x17\\xff\\\n9\\xc5\\x7f\\xfe\\x8al\\xb4\\xa7\\x06\\xc4\\xa4\\x1epI\\xcb~\\\n\\x00F7\\x89\\xeb\\x8aV\\xa1\\xd7\\xa2\\xd9\\x04wv\\x0cb\\\n\\x81\\x1a\\xb8\\xadZ\\xa3Ro\\xeeCfr\\xb8\\xafv\\xe9\\\n\\xef\\xae\\xe1\\x82\\xef\\xe0\\xa0\\xfa\\x92`\\x9d6\\xca\\xd3\\xe6\\xbb\\\n\\xef^6\\xdfa+\\xec\\xf2\\xe4\\xf4\\xec\\x1d\\xfa4\\xc7?\\\n\\xd0\\xc5\\xf4+\\xf5\\xee\\xd9_\\xe1\\xfb\\xaf\\xc9;\\xf1wK\\\n\\xeeHt5g\\xef*Sq_\\xde\\xe4\\xf7\\xff\\xcf\\xf6\\\n)\\xe0D\\x89\\xba\\xd1\\x91\\x93\\x0a\\xfb\\x04x\\xb6\\xcbY\\xbb\\\n&\\xab+Y7\\xcf\\xdcf\\xc5\\x13\\xc0|nC}\\x1a\\\n>\\x17\\xdf1\\xf1\\xed\\xef\\xa2\\xe7\\x0dz>c\\x03xJ\\\n\\xb8#\\xfcT\\xfb\\xb1\\xda\\xdd\\x0d\\xe6\\xec\\xc6\\x0e\\xd2\\xf7\\xb3\\\n\\xc8\\xa6~\\xef\\x0b\\xfavw\\xe7\\xd2\\x5c\\xb2/\\xcbq7\\\n\\xd9\\x95_h\\xfa\\xc9\\xbf\\xfe\\x9a\\xfc\\xd5\\x92\\x97\\xe5P\\x8b\\\n\\x08l\\xe7\\xf8\\xcd\\xf6\\xce^B\\xbb\\xad\\x1e\\xa4\\xb7\\x0d\\xc4\\\n\\xea(\\x00bw\\x06\\x10\\x91\\xb7\\x0f\\x0f\\xbe\\x7f\\x15\\xaaB\\\n\\xe2\\xd5\\x1e\\x05\\x00\\xf4\\xae\\x03\\xc51\\x5c\\xc5q\\xa88\\xed\\\n\\x1bP<\\x00\\xa0w\\x15(~z\\xb0{\\xb2\\x1f*.\\\na\\x02\\x8f\\xa4\\x7f@\\xec@\\xe7@\\xf0\\x82+ B\\xfe\\\n\\x85c\\x11\\xec\\x03\\xd9\\xda)a\\xd4d\\xe7\\x85SqR\\\nB\\x86&&\\xd7\\x9d\\xdb\\xa3`EG\\x0b+:\\xf2+\\\njz\\x9d\\xf9\\xee\\xafM\\xe9Gu|=\\xbd\\xd2\\xadz\\\n0\\x95\\xba)J\\xe3\\xd7E\\x13,\\xcb)\\x5c\\x96~\\x9f\\\ny@NY\\xc2\\xbd\\xdb,'pQ\\xfa}\\xe6\\xc18\\\nEib\\xbcf9\\x85\\xcb\\xd2\\xef3\\x0f\\xc8\\x96\\xf50\\\n\\x06|A\\x90\\xc5E\\x055G\\xe1\\xd1\\x1e\\xf9\\xa3\\xc5\\xb2\\\n\\xceh\\xf9\\xf7\\xd9Qx\\xb4G\\xdeh\\xb1\\xa83Z\\xfe\\\n}v\\x14\\x1c\\xad`\\x11\\xbe\\x93\\xa8\\xef\\xda'\\xf5\\xba\\xce\\\n\\x85D=\\xde\\x8a\\xf8\\xfdy4\\xe1\\xa7\\x1d=\\xbcQ\\xc1\\\n^\\x16\\xf2WTm\\x0b\\x09#\\xad\\x00\\x15#\\xcf\\xd3\\xcb\\\n\\x07X\\xd5\\x91\\xc9s3b\\x02s\\x97!v\\xd3\\xa9\\x88\\\n\\x17L\\x16\\xa8i!\\xdc\\x99sR\\x19\\x17\\xe6\\xfb,W\\\n\\x00q2\\xc7\\x91\\xbc\\x08\\xf0\\x0dW\\xf4\\x8b\\x9b\\x9b\\xab\\xc9\\\n\\x0bw\\x16a4^!\\xc6\\x03\\x8b\\xdb\\x99\\xb2\\xb1b\\xc8\\\n\\xb3Z\\xcb\\x0d\\x19\\x1dZJ\\x06\\xd0\\x16\\xaa/[\\xa8\\x8e\\\n\\x85\\x5c\\x833\\x873\\xd9W}x\\xbd\\xb9q\\x89\\xcf\\xfa\\\nl\\xda\\x0a'\\xc0\\xe9\\xd7=\\x11\\x0b\\xdbZ\\xaa\\xa8=\\xb2\\\n_\\xf0\\xf5\\xd8j\\xcd\\x17\\x1d%\\xa4\\x0c\\x13\\xe4\\xab\\xd7\\xaf\\\n\\xf6\\xb6\\xe4\\xad\\x97\\x0b\\xd4\\xc8\\xd6\\x91\\x95>\\x83x\\xb48\\\n\\x0b\\xa3\\xccE\\x8f\\xd7\\xc0\\x96fF\\x7fm%\\xa6\\x12\\xd9\\\nB\\xce^\\x9a4(\\xd8\\xb0\\x806\\xbb&\\xdb\\x01\\xa5\\xf2\\\n/H\\xf5G)\\x9b\\x9d\\xec\\x5c\\xfcG\\xd2d\\xab:r\\\n\\xd3\\x84\\xfd\\xf3\\x1f\\x0d\\xc7iGn\\x9a\\xecC\\xfcG\\xc3\\\nq\\xda\\x91\\x9b&\\x1b\\x0e\\xff\\xd1p\\xd2\\xc8\\x91\\xd7\\x8a\\xd0\\\n2\\xff1\\xb7~\\xe6P\\xb0h[>z}z\\xecl\\\nOJ\\x06\\xeb\\x8e\\x5co\\x9cn\\xef\\xf5^\\xedbC\\xef\\\n\\x9f\\xee\\x88\\xf4\\x9e\\xedbHo\\xd3.\\x86\\xcc\\xe6\\xe9\\x0d\\\nS6#\\xb9\\xec\\xffkk=\\xd9\\xd43\\x8c\\xfd\\xb6|\\\n\\x002H4:I(B\\xbb:R\\x87\\xe2\\xd6\\x89\\xdf\\\n&\\xf3\\x1b\\x0d\\xbce}\\x9e\\xd4\\x9a\\x1e\\x1d\\x01ar\\xba\\\n\\x8bJ \\x1b\\x13\\x12\\xd5\\xdc\\xc2\\xbb\\xa4(\\xdd\\xdc'\\xf9\\\nV\\x7f\\xc0\\xefL\\x94<\\xa7\\x97y\\xe1\\x163Q\\xae\\x9d\\\ndL\\x1b\\x98\\x15?O\\xcc\\xce\\xbc\\xb1)\\x83a\\x07\\xa5\\\n\\x874H!\\xda^k5\\xbb8\\x91\\x13@\\xa2\\x01@\\\n\\xe3\\xf3\\xfca\\xcfdk\\x07X\\xf7\\xf7\\xb2\\x22\\xde\\x15V\\\ni\\x00\\x88\\xc77\\x91\\xa7k\\xde-S\\xd4\\x8c1\\x917\\\n\\xde\\xec\\x95(\\xe6\\xd8k\\xd1\\xc1\\xac\\x1b\\x91\\xd3Auv\\\n\\x16\\xa1\\xeb\\xd1\\xa8\\x05\\x88mj\\x5c\\xe2\\xceA\\xf3R\\x16\\\ny\\x141\\xc5\\x13\\xe5p\\x87\\xe7\\xceL`\\x09\\xa7t\\xd9\\\n-\\x8d\\x99\\xea\\xb9\\x9dP\\xca\\xcb0\\x14\\x8cgV0\\xe5\\\n\\xc8\\xd1\\x9dcEM\\x8e\\x152\\xb1\\xe6<Az\\x1e{\\\nH1\\xd6\\x14tLQ0`I3\\xe7\\x88\\xfb{\\xf6\\\nf\\xd3\\xc8\\x05\\xed\\x98\\xab\\x0e\\xac\\x5cl\\x05\\xb0\\xcd\\xa7J\\\n:n$P\\x8b<*;\\x12\\x8e\\x04\\x00@ \\x8b\\xe6\\\n\\xae\\x84uy\\xee\\x8b\\x5cB0%\\xd5Q%\\xb1\\x8e\\x10\\\n\\xd1\\xc7\\xc6Q0\\xfc\\xdc\\x11\\xd0?\\xd5\\xa8\\x8f\\xb9'L\\\nP\\xe8D`|\\x0b\\xbf\\xf4\\xda\\xf3[\\x96\\xfb\\x1d\\xfe\\x88\\\n\\x81\\x8a\\x8fxY\\xd2\\x90\\xb44\\x01[\\x91\\xbb\\x10\\xd8\\x9c\\\n\\xcbf\\x1a\\x11D\\xfc\\x088\\x9e\\x1a\\xf5\\xc9\\xcb\\x1e\\x81J\\\n\\xd5M\\xa5\\x0f]\\xb0P-\\x1d9DQ\\xa1g\\xfb\\xac\\\nM\\xd3\\xd8\\xceF!mr7\\x19\\xaf,\\xcf\\x9d\\xbc~\\\n\\xb3U\\xda\\xdf\\xc5\\x01\\x12\\x1c\\xdf\\x1cfo\\xb0\\xf6w5\\\n\\xa6\\xfc\\xeb\\xa3\\x08\\xdd\\x10\\xc5\\x8d|\\xb5\\xcf_\\x9f\\x9c\\xbc\\\n~\\xb9U\\x0a\\x95\\x91\\x00\\xed*\\xd7\\xaa\\xe7\\x08\\x0c\\x9b\\x0c\\\n\\xd5\\xcc1\\xe0\\x02}\\xb6\\xfe\\xb4\\x8a\\xc6\\x80\\xb1\\xea\\x83\\xa3\\\n\\x18\\xf4\\xba]\\xd4&6\\xf6\\x81\\xe6,v\\x17u\\xcfB\\\nU\\xf6\\xa1\\xd6\\x92%\\x00G6\\x84i\\xb6R\\xdf;\\xa0\\\n\\x01\\xf9\\x02\\xb6\\xb3\\x9a\\x1f\\x93&2T\\xb6s\\xc7X\\xc0\\\n\\x9ckvS\\xf0\\x08\\xd0\\xe5\\x1b10\\xfb\\xe7\\xf3\\xccf\\\n\\xb3Q\\xb4\\xd9@\\x86\\xdecI1\\x16\\xde^\\x1d\\x1b\\xb6\\\na\\xe8\\x04\\xa8\\xf65\\xce\\x94\\xa6\\xcd\\xdd\\xd0\\xae\\xda\\xd4\\xcf\\\n\\xf0V\\xf53<\\xf3\\xd6\\x93\\xc5r\\xf73\\x91\\xa7\\xfcn\\\n\\x9a\\x15\\x9c\\xe8\\x13\\xefC:W\\xa5\\x8d\\x12\\x10\\xe1=\\x13\\\n\\xd5}'\\xc5\\xc8\\x10\\xf7x\\x9d\\x88R\\xe3=F\\x06\\x8c\\\nK+\\xe5Re\\xebm\\xb7\\x1c\\xc7[\\x1b\\xf1Vi\\x98\\\n\\x8c\\xdb\\x93iz\\x00\\x9c\\xfc(\\xbd\\xdc\\xbb\\x1dW\\xbfx\\\nr\\x7f\\x0f[\\x91_\\x7f\\xa23\\xebj\\xc8\\x81)\\xcb\\xf9\\\n\\xc1\\x97\\xeb0\\xf9\\xc3g/\\xef\\xef\\xd1\\x892F\\x11\\x1f\\\n\\xb2\\x0f\\xe4\\xb8\\xe1\\xd5\\xe5\\xcb\\xe5\\x94&\\xfb<\\xf0~\\xf8\\\n\\xaf \\x9can\\x87?)g\\xb7\\xf7\\x9cn\\x14@6\\\n\\xed3\\xd7\\xe7\\xe5\\xc4\\xf5\\x09\\xeb\\xec\\xea\\xb0\\x8f;\\x87\\xa8\\\n\\xab\\x846\\xa6n\\x82d\\xd4\\x84:\\xae\\xca\\xdd\\xb2\\xd9\\xb8\\\n\\x15\\xceO\\x0f\\x16\\xe2\\xb0\\x82A\\x12\\xa1\\xd2;\\xf4\\x05\\x08\\\n0\\xdaW_M1\\xee\\x1b%H\\x8cq\\xa3\\x979h\\\nt\\x15\\x0e\\xa8\\xd1.w\\xe7g.NZ\\xb6\\xfaX\\xf5\\\n\\x9e%C\\xae\\xd8k7\\x8e\\xe7\\xc8I\\x9fss'\\xb9\\\n\\xc6N\\xdc\\x86\\xf0\\x83\\x9a\\x82\\x1f\\x95v\\xa6\\xb1X=_\\\n*\\xbac\\xe5\\xb9\\x11\\x8aN\\x92\\x13\\xf9\\xf5\\x1c\\x16\\x95\\xca\\\ni\\x87\\x1f\\x5c.\\x22\\xf7\\xbaBpP,\\xb5\\x0a\\x96w\\\n\\xf8,\\xb9\\xa6t8\\xaai\\xb2ZW\\x93\\xb4O\\x1f\\xde\\\n[hM\\xfc\\x7f\\xfeb#&%\\x0d=\\x9c\\x89\\xf0.\\\n\\xcb9<\\x89FW\\xd7\\x00\\x98\\x84\\xea\\x1f8\\xc6y/\\\n\\xaee\\xfd\\x22Jl\\x97\\xec\\x99\\xca\\xbd\\xd2 \\xf3F\\xdd\\\n\\x92\\xd8\\xcd\\xe9;\\x84t\\x82\\xf3U\\xaao\\x94\\xfe\\x0a\\x0b\\\n\\x86\\xa9\\x10\\xa4\\x0f\\x108\\xe0\\xa8\\x8c\\x12\\x87\\xe86\\xde\\xb5\\\n\\x921?.\\x87\\xban\\x82*@Q\\xe0\\xc1\\x11\\x93\\xc6\\\n\\xba\\xea\\x8f\\x95\\xdb=N\\xfc\\x03VF\\x04*{G\\xeb\\\n-\\xbbX\\x1a\\xb5\\xb8Q\\xcbw\\xee\\xb8l\\x05\\x94\\xa6c\\\n\\x03\\x0d\\xc8\\xac\\x1c\\xc7<&u\\x13\\xcf\\xb1\\xe0\\x8d\\xa5\\xa4\\\n\\x9bX\\x15\\x8c\\xf1f\\xeeb\\x93N\\xfe'\\xa7\\x01q\\x1e\\\n\\x12\\xb3\\xd2\\x1b1\\x0d\\x1c9\\x8a\\xeb\\x17\\xbd\\x19\\xfe\\x193\\\nz\\x8d\\x82\\x1aEr\\xcb\\xa8\\xa0T~H\\xa4\\xac\\x15T\\\n\\xa2\\xc0d\\x08\\xc7tr\\x0bSX\\xfe}\\x177\\x22h\\\n\\xca\\xcf\\x86\\x04\\x93kR]\\xaa\\xdc\\x92n\\x19(j3\\\n\\xa8\\x01\\xd4\\xc5\\x15\\x82\\xc0\\x16vZ&]v\\xd9`]\\\n\\xb1@C\\xd1\\xd5\\xad\\x1c\\x99{:\\x8f\\xa5\\xe3f\\x96\\x1d\\\n\\x9e\\xba\\xfcP\\x02\\xb8\\xb4\\xa7/\\x00w8\\x06\\xee\\xc63\\\n\\xb2\\xd25\\xb3\\x12\\xbb\\xa4\\x9cC^N\\xa0\\xb5\\xb4h\\x86\\\nr\\x7f\\xcfml\\xe51G\\x9b\\xbc\\x0e\\xa0\\x5c\\x80;\\x07\\\n\\xc6\\x004(q\\xd0c\\xee\\x93\\xf0W\\xfb\\xd6\\xf9bK\\\n_\\xaf\\xfe\\xa6^M\\xa7\\xa7\\xcfNN\\xc5\\x05\\xc5\\xedl\\\n\\xd2Nj\\x8e\\xbaUOU\\xe6\\x80\\xf7Ng\\xe0\\x0e@\\\n\\xa5\\xca\\x89\\xb3,\\x09\\xe1\\xea\\x81\\x19=\\x051\\xaer\\xaa\\\n'7\\xb9Q\\x8bf\\xf0&n\\xe2tQSx\\x85\\xc0\\\n8\\x04\\xb6\\x85\\x94\\x8e8\\x8e\\x15\\x8dcm\\xcdN\\x1d\\x8f\\\n\\xa9{\\x93\\xe0r\\x84!n\\xd8,g\\x84N\\xa2\\x1e\\x1d\\\n\\xf4\\x07\\x93\\xd1\\x158\\x1a\\x19\\xab\\x07I\\x0b\\xfa\\x96\\x9c\\x9e\\\n\\xce\\xe7\\xa7\\xa4\\xb4\\xd4\\xab\\x07~\\xe7n\\x15\\x8e\\x92\\x93S\\\n\\xc3\\xb7C\\xc1\\xb0\\x9d\\x0b\\xd5\\xb1LU\\xbdV\\xd3\\xfe:\\\n8c\\x90\\xe9\\x03\\x8cMe\\xee\\xb2\\xbd:=\\xc6\\x1d\\x06\\\n\\xd4\\xee\\xc8\\x88\\x5c3\\xf6Z\\x0b\\x15,Zl\\xc8*Y\\\nB\\xa2\\x9ffZ\\xa7\\xde\\xc5\\x81'y\\xfaJ\\x5c]\\xf9\\\nbU\\x82\\xf2$\\x14\\x9f\\xb5\\x12\\x098\\xcbRu\\xa8\\xb8\\\n{Hm5;\\xfcT\\xa0\\x14\\xfd\\x88\\xeb\\xb1c\\x1f\\x11\\\nh\\x1f\\x01[N\\x9a\\x17b\\xb9\\x11\\xed\\x17\\x14Y[\\xcb\\\n\\x97\\xd9'1\\x9eyY\\xec\\x98\\xae\\xf3\\xbd\\xef\\x02\\xa1A\\\n.\\x80\\x8d\\x03\\xa1\\xe1,g\\x87\\xc0\\xc9$\\xd1\\xd0\\xe4F\\\nJ\\x92\\xe81\\x9d\\x9f\\xa4\\x8d\\x04\\x1c\\x00\\xf4\\x84D_\\xd5\\\nlEr\\x1e9x\\xb5\\x0bg\\x11>\\x958\\xbfQ\\xf8\\\n\\xcb\\x95K\\x0a\\xaabwF\\x19\\xd8|\\xf5\\xdb?\\x9c\\xbc\\\n\\x0e\\xd7\\xab#\\xdf\\xf0#\\xcbm\\xd6\\xcd{pv\\xb4^\\\n\\xbf\\x8f\\xf7\\x0f^\\x9c\\xb8\\xbf\\xb3\\xf5\\xf3k\\xe8\\x82\\xaab\\\n\\xbb\\x0b\\xe6!\\xc25\\xe1\\x99\\x81\\x1fc\\xd0g\\x88\\x15\\xe6\\\nK\\xe9\\x98\\x8fr\\xd9f,6R\\xfey\\xba(\\xd0C\\\n\\xc6\\xc2CU\\xbf\\x89\\xcb.#\\xe2L\\xea\\x0cHw7\\\n\\xc6D\\xa0{\\xe0\\xd0S\\x96Y{\\xe8f\\xc0L\\x1f\\xa7\\\n\\x9e\\xda\\x93\\xd8_~B\\x8f\\x0e\\xbe\\xdf?\\xd9\\xaa\\xd4\\x1b\\\n\\xf5\\xe6R\\x04\\xa0O\\xf2\\xb3\\x1b\\xd8\\xa0\\xd7K<\\xf8\\xca\\\nt\\xbdD\\xfd/K\\x97Q\\xf4\\xa4\\xefD'4\\x02}\\\n\\xc97\\xb8U\\x12x:\\xba9x\\x99\\xaeK\\x86AJ\\\nM&\\xe1\\xf4\\x99i\\xdcB\\xe1\\x91N\\x17d(\\xd3!\\\n[\\xa9\\xc21\\xd0\\xaf\\xf5d\\x8a\\xee9n$\\x17\\xc7\\xe3\\\n\\x0d\\x87\\xcbV\\x9c^H\\xb1\\xca\\x94)\\x09Uc\\x0b\\xde\\\n`x\\xce\\xa0y\\xbf\\x97\\x9d\\x03\\x9d\\x0c\\xcc\\xb4\\x7f\\xe7<\\\n>(\\x0a\\xed\\xe8\\xb6\\xc8\\xee\\x89\\xc7\\x12\\xb2\\xb4\\xeaiS\\\n+\\x0c\\x06\\xe5\\x98\\xdd\\x98 A=\\xba\\xdb\\x11\\x8b,\\xe5\\\n\\x82h\\x83\\x92\\x5c\\x9a\\xde\\x81\\x84^\\x83'2\\xd2-y\\\n\\xd5\\x15\\x9c\\xd82\\x06/\\x15\\xad\\x9a\\xa9\\xf9\\xd1#3\\xb5\\\nG\\x8cx\\x94\\xf4\\x1eA\\xad\\xb1\\xdb\\x9f\\xa0\\x95=?j\\\n\\xce\\x83e\\xcd\\xb4\\xc5\\x9b\\x82y\\xad\\xa9\\xb7f\\xfe\\x1b\\x95\\\n\\x97\\xeb\\x15\\xaf\\xb9\\x88*\\x8f\\x1a\\x11\\xf6\\x05-em\\xeb\\\ng\\x5c_+\\xdb\\xc39\\xdf\\xaa&Ineo\\x95\\xf2\\\n\\x0f\\x87x\\x9a\\x14:I\\xf0\\xa7\\xac`l\\x96#U\\xec\\\n\\x22\\x89\\x1d\\xeed\\x96\\xe4\\x02T:%c\\x1d\\xa3\\xd2\\xa5\\\n^\\xce\\x0fv(\\xe3B\\xd3\\xe9O\\xd9\\xad\\x95(\\x9f,\\\n#\\xb5P#\\x03=\\x09\\x1d\\xc6\\x92\\xc5\\xc7\\xc8\\xba{\\x8c\\\n\\x8c3\\xd7'\\xdcHV\\x02\\x05\\xda\\xe3\\x0cR6z\\xd1\\\n\\xaa\\xc5\\x9d[|'\\xa3s\\x07n\\xca\\xc8\\xd25\\xcfw\\\n3\\x85\\xc5\\xb8\\xc7\\xf4\\x9cn\\x13*\\x8e\\xa6\\xb9/~-\\\n\\xf0\\xc2@\\xd7\\x19\\x8e~\\xe6a\\xd7S\\x84\\x9e\\x00\\x83\\xb6\\\n\\x85\\x97\\xd0P\\xf2\\x83\\xb0\\x1c\\x8b\\x13\\xcc\\x13\\xcb\\xa1\\xdf\\xb9\\\nh\\xda\\x05\\xd5\\xcd\\xc5\\xa0s)\\xf1\\xda\\x814\\x07\\xa9\\x05\\\n\\x22\\xb7\\xab*\\xb9\\x91pbd2;y\\x9c{\\xaa?\\\n\\xca\\xf7\\xa4\\xf1t\\xa5}^\\x05\\xecr\\xe5\\x91*\\x0a\\xd7\\\ng\\xad\\xa6\\xc0\\xb1\\x0a\\x93N\\xe6\\xf0\\x8b-\\x1f\\xa8\\x93n\\\n\\xbfe50\\x18\\x87\\x0a\\xf4\\xa9\\xba\\xd0\\xec\\xcd\\x5c\\x9d\\x15\\\n\\xf9\\xa9\\xea\\x19\\xdc\\xc4E\\xd6\\xe7A\\x0bpD\\xbeXU\\\n\\xfe\\xe7\\x9e\\x03\\xbb)\\x87\\xf6d^ q34Q\\xf4\\\n;\\x18$\\x9brT\\xcd\\xa0\\xc4:}\\x04f\\x01<\\xc0\\\n\\xab-\\xed\\xa2\\xa2\\xcf\\x99\\xf0\\xfa?m\\xc2g\\xdd\\xc7\\xcd\\\nt\\xde\\xd9k\\xce\\xfe\\xdc\\xa0 (jy\\xbe\\xb5\\xf9\\xe5\\\n\\xeb\\xe4z\\xa6\\x9f\\x8f\\xf4\\xa6{\\x83s\\x8c!4\\xbdJ\\\n\\xbb\\xa5\\x98\\xcfk\\x83\\x914\\x07\\xdb\\xe5\\xcb\\xd7\\xe2= \\\n\\xe3au0\\x12\\xd2k\\x0f\\x8f\\xf9\\xa8\\x08gQ\\x91J\\\n\\xa2\\x98_Fk'vpHm\\x84\\xe0\\xf7M\\x98\\x11\\\n4\\x94)\\xf9e\\xf6\\x8d?\\x0d\\xf1\\x03\\xc2]\\x03\\xb1\\x02\\\n\\xaa\\x227W\\xf0\\x1b\\x9d\\x81E\\x0a\\xe7\\x16\\xbb\\xd4\\x1b\\x92\\\n?\\x0a:\\x12\\xe7\\x8b\\xee\\xefJ\\x8c\\xae2[\\x11c\\x91\\\n}\\x13\\xdd*t\\x98\\x80\\x0a\\x15@l\\xec\\xef6'\\xcf\\\n\\xea\\xba\\x87W\\xeb\\xc9D\\x0c\\x91\\xe1\\x17\\xf0Q\\xda\\x03\\xc4\\\n\\x9a\\xd90Y\\xfeVE\\xd5Jd1\\xebU\\xf2\\xb3\\xde\\\n\\x85\\x90l\\xf4\\xb9oCX\\xb0\\xfaw}\\x1f\\xf2\\xf25\\\n\\xbb\\xe7\\x1d\\x95\\xe2\\xeaiovU\\xca\\xdf\\xd9\\x8b[\\x07\\\n@\\xea\\x9b\\xbdW\\xdb\\x87'?'w\\xc3\\x94\\x0c\\xb0\\x1a\\\n5X\\x94\\xe7\\xc04\\xdf7\\xd0\\xb4\\xf8r4\\xea\\xf2\\xd7\\\nYe\\xb3Vk\\xa9\\xf3\\xb6\\xfe\\xa6OD\\x5c\\x03\\xed\\x98\\\n`b\\xf9\\x98R\\xaf>y\\x82\\xc1\\xcd\\xcf{\\x97\\x8do\\\njP[:\\x9d]\\xb4;\\xb3\\xd1\\xa4\\xf1%|\\x92\\x98\\\n%\\xdf\\x95\\xbaN\\xe0\\xc8\\xbf\\x8dM\\xfe\\xea\\xf7\\x06\\xbdY\\\n\\xa3\\xae.\\xd2a'm<\\x05 r\\x88\\x8d\\xbf\\xe6j\\\n\\xef\\xd5\\xee\\x8f\\xdb\\x87?\\xec\\x1d'w\\xd8_\\xea\\x0c\\x0b\\\n\\x10Q\\xfb\\x82\\xc2\\xc57\\xedSC\\xc3O\\x98\\xce4\\xfc\\\n\\x9b\\x14\\x88f\\xf6\\xa9!\\x83g\\xa4\\xd2\\xab\\xc0|\\x8cy\\\n\\xab\\x14\\xe37\\x96\\xb4\\x1c\\x9a\\xfc\\x1b\\xa4\\xe7\\x8bt2I\\\n\\xbb\\xf7\\xf7\\x92\\xc0\\x7f\\xf0a\\x17\\xb0J\\x5cl^\\xba\\xb8\\\n\\xaa\\xf0\\xd32|\\xa6\\x19K;\\x1e\\x14\\xed\\x13\\x18h{\\\n\\x9c\\xd0s9\\xa7jq\\x1a\\xc2\\xd1zm2\\xf1\\x019\\\n\\xbc\\xa1\\xc5\\x5c\\x84\\xf6+~)3\\x8a\\xe9K=vm\\\n\\xb2-(\\xce\\xbd\\xdd\\xd3\\x18\\x8cT\\xe4c_\\x12\\xfa@\\\n\\xfa\\xfc$\\xc5d#^;W\\x18\\xb6u\\x81\\xc2J=\\\n^\\xe5\\x85&1>\\x10\\xa5\\xc4M\\xee{\\xd5\\xef\\x9fc\\\n\\x11\\xf8\\xfcho\\xfbo\\xc7'?\\x1f\\xee\\xc1\\x19\\xeb\\xc5\\\n\\xc1O~\\x1a\\xf0\\xb2p\\x05\\xae\\x97\\xef\\x8b\\xdemf\\xf8\\\n\\xc0'\\x9cb\\x82\\x86 \\xeb\\xcc\\x83\\xa9\\xea\\xd3\\x07\\x9eS\\\n:~\\x8a\\x96\\xf2\\xdd\\xa0\\xe4\\xf5\\x1690\\xb2\\x15\\xa9!\\\n,\\xef\\x9f\\xe1?vl\\x92}\\xees\\x7f_WDc\\\n\\x0d\\xfaWn\\xff\\x1aws\\x19Z\\x83\\xff\\xcc\\x95s\\xd7\\\nml\\xea1\\x89Evu7\\x17\\xdd\\x89\\x0fr\\x8cI\\\n\\x06D\\x891.y\\xd9\\xc6\\xeb,8\\xf7$w\\xe4\\xd3\\\n\\xbcA\\x97]\\xde\\x12\\xad\\x0aS\\x22\\xf7L\\xa7\\x0d\\xd6\\xc6\\\n\\xd0\\xbf\\xfa7\\xec\\x9e:\\x1dYN\\x03X\\xc59FJ\\\n\\x18&\\xabu\\xd7\\xf7S:\\x03&\\xf1\\x1c\\xeb*A\\x8b\\\n\\xa2\\x96]\\xa5+}\\xf8\\xaeR=\\xcf\\x04\\xc5f\\x8e\\xe5\\\nZ\\x15\\x01\\xa4c@O\\xa6k\\xcc9a\\xe5\\xfa\\xef\\x7f\\\n\\xc8i\\x00\\xb9\\x05\\xa11\\xe2\\x00\\xe9\\x98/~g\\xe8[\\\n\\x94\\xc3\\xdcS\\x8d\\x0c\\x03X\\x9d\\xf6{\\x9d\\x14\\xe3\\xc8\\xea\\\n\\xa1\\xd4\\x1e\\xc2\\xbd\\xad\\xf4\\xc19p\\xda\\x97\\xb9\\xc0\\x94S\\\nj\\x9e\\x8b\\x1a\\x84\\xb0\\xd2K\\xb9\\xe3\\xcfL\\x8c\\x89\\xc4\\xc0\\\nnx\\xa6\\x87\\xb0\\x16\\xb1\\xbb\\x8bQ\\xa2m\\x11-W7\\\n\\xa8\\xc8\\x1d\\xf6\\xd8\\xef\\xc8o\\xbd]q}P\\xfa\\xae\\xa0\\\n\\x1d&(|1\\x9f\\x81\\xce\\xcd\\x9dn,\\xd4Tu\\x1d\\\n'\\xdc\\x99\\x88\\xa6\\x0e\\x11\\xda\\xcd\\x06\\xb8\\xcaH\\xb01\\x1b\\\n\\x8d\\xc9\\xc5+\\xc9\\xb8\\x22\\x8c\\x9e\\x10Z\\x18\\xcb@\\xd16\\\n\\xc3\\x97Re\\x1a\\xb02\\xe0#&\\x87p\\xa5<\\xd15\\\n\\xbf\\x1el\\x0fbS\\xbfY\\x02;(\\x8d\\xc2\\xc7\\xc4\\xf6\\\n\\xc1F@\\xa0\\xe62$\\xdb\\xf3R\\x89\\xee\\xe2\\x90\\x1b\\xb5\\\nS\\xf4\\x0b\\x86D\\xa6\\x89\\xdc)\\xa6om\\x15w\\x13\\x97\\\n2\\xb2B~\\x07\\xd5#[\\x95J]\\xaf\\x0e8\\x9a\\xa1\\\n\\xfb'*~Z\\xe6jn\\xf8\\x13\\x9d\\x13q#\\x9c\\xec\\\n\\xfc<e\\x08\\xe4\\x19\\xe52\\x1et\\xe8\\x0a@\\xc3|\\xa7\\\n\\xc9\\x5c\\xcb7\\xeba\\xceP#\\xe54\\xb6\\x04l\\xc0\\xcc\\\n\\x9a(jr\\x09\\x0bQ\\x8f\\xd6\\xaf2\\xda\\x1aG\\x8cH\\\n\\xb0\\x08\\xc8\\x7f\\x9d\\xf6\\xacd\\x91\\x13+3\\x82\\x1bo\\xb0\\\n\\xc5\\x1c\\xca\\xa3\\x0e=s\\xc8\\x90\\x0c\\x0a\\xd6\\xd6\\xcc\\xcfJ\\\n\\x05\\xd8b\\x931\\xc5\\x08\\xde\\xb2xix\\xeb\\x9a\\x90P\\\n\\xea)\\x1e\\x05\\xe6\\xc7s\\xa7\\x0d|_\\x04\\x13c\\xd8\\xb1\\\nq\\x17/d\\xbe\\xb6\\xc6\\x03\\x86\\x91\\xbf|]u\\xc4,\\\n\\xf9\\x0d\\x12-\\xd4t\\x95Nz\\x92,\\x1f\\x98\\xbe$&\\\n\\xeb*K\\xa8\\xe8\\x9c?<\\xea\\x1cvL\\xef\\x18\\xdd\\xc9\\\n\\xa9&*\\xe0 \\x9cgo\\xff\\x08\\x15\\xce\\xa2vq\\x92\\\n\\xa7\\x0b?F\\x87G\\x1d\\x8c\\xf9r\\xc2\\xae\\xc4n\\xca\\xfc\\\n\\xf7\\x10\\x1d\\x84\\xc8\\xef#r\\x16\\xb2\\xce\\x1fz\\x03\\x97Q\\\nyt\\xce\\xabK/\\x04\\x13\\x04\\x08S\\x9dkKO\\xf2\\\n\\xcd\\xec[\\xc2\\x97\\xfc\\xdd\\x8a{\\x8fbg^\\x22\\xe1\\xf2\\\n|\\x95A\\x82)\\xee\\xf8gg\\xe6n\\xa3\\xd5\\x8a\\x15q\\\nT\\xcau\\x0f\\xe2\\x84\\x0e\\xe6\\xa0\\xe7\\xf6\\x92\\xc4=\\xb5\\x88\\\n\\xc95\\x95\\x11\\xca4\\x0fq\\xb3\\x9b\\xce`\\xf41\\xd5\\xbb\\\n\\x8e\\x0c\\x05\\x9b\\xf5\\xc6\\xa3\\xa3`\\xb0g\\x03\\xb6\\xbcY\\xbc\\\n\\xc9.\\xb9\\xc1\\xba\\x9b+\\x8a\\x18\\xaa\\xfb3\\xbb\\x89\\xe3\\xde\\\n\\x0e\\x9f\\xd5\\xf4S\\xd6\\xdc\\x13Um\\xec6}\\xdf\\x1b+\\\n-M\\x0a\\xdf\\xe3\\xd2\\xda\\xf7\\x83\\x15#\\xc5\\xfeId5\\\n\\x17*v\\xc1\\xd69\\x87\\x1fx\\xff,\\xb5\\xfd,H\\xfd\\\n\\xb9b\\xcf\\xe9\\xd0-\\xc1k\\x97\\xc3]]\\x95\\xa5\\x0a\\x1a\\\n\\xc9\\xcf\\x15]D\\xefw\\x0c47\\x9a\\x7fh3\\x17\\x1f\\\n\\xcdy^,w#\\x14\\xca\\xcdI\\x16\\xa5=\\xa3-p\\\n_}\\xb8G\\x17\\xbeL8\\x5c}\\xd6\\x94\\x16\\xba\\x97\\x81\\\n\\x08\\xc5 \\xee\\xfelL\\x00\\xf3.\\xeaD\\xaa\\xe4\\x11j\\\n\\xb0\\xaeC\\x98UY\\x14\\x82\\xe2\\xc4\\xbd\\xe6\\xaf\\x0e\\xcbe\\\n\\xe7\\xb9)\\xf6\\xc9[Z\\x96\\x84\\xd8\\xa2\\xe1z\\xa2\\x8b\\x8f\\\n'\\xe9Go\\x821\\xeaU\\xe2N,\\xe3E\\xc4-\\xb1\\\nG\\xae\\x99\\xfb\\x9d\\xe1\\x16T\\x96\\xbb\\xaa'\\xb7\\xda\\x1f\\x03\\\n\\xc9\\x18\\x85+\\x9b\\xdapE\\xb8\\xadlA\\x5cb\\xb9r\\\n\\x98\\xd8\\xc8B\\xe6\\xa0\\xe2\\xe4!\\xe3\\x03\\x1e\\xcd\\xc3\\x15\\xa9\\\n\\x07\\x8c\\x0d8[\\x8f\\x03&}+`k\\xd0\\x08\\x11\\x96\\\nT\\xedx\\xe5\\xa53Fp\\xf2da\\x0fG\\xfcr\\xe9\\\ns\\xe6\\x92\\xa8\\x0c9\\x82\\xdc=\\x87'\\xd2\\x9e\\x80\\xbd\\x89\\\nt\\x93-\\x86lj\\xe1D\\x9a\\xc3r\\xae\\x5cv\\x22)\\\n1\\x07\\xe5Od\\xc8\\x1a\\x83G\\xf3pE\\xd6\\xa2N\\x98\\\nFd~\\x834g\\x8d/T\\xb1\\xe1E\\xc8\\xd6\\xc2\\x99\\\ny\\xa8\\xb2F\\x16{\\x01\\xeb\\x87\\xbc\\x09\\xce\\xa3M&\\x9a\\\nb#\\xb0\\xf8\\xe2\\xb6\\xc2m\\xc8u\\xbd\\xde\\x80\\x8b\\x18\\x1c\\\n\\x95\\xb9\\xbf\\xd7t\\xb5\\xc5\\xc7\\x5c\\xe6\\x96B\\x98z[\\xf3\\\n\\x08S\\xf67R\\x06\\xe4\\x99L/!\\x10\\xd4\\xd5\\xbd\\xc3\\\n\\x83\\x1d\\xda\\x8b\\xa2\\x06=#J\\xf3\\xf7;\\xf8~\\x97\\x13\\\n\\xd51\\x1f\\x8d\\xc3\\xdf\\x91\\xb7\\xd5\\x891\\xaa\\xac\\xc7y\\xf1\\\n\\x05{xLG\\x01\\x06\\xe5cA\\x9d\\xcf\\x98\\xe6#\\xd7\\\nW\\x1d\\x8cZn\\xb8\\xcd\\xb59\\xed\\xecv\\x93\\xa7S\\x80\\\n\\xbb\\xe7\\xc3\\x81\\xe8\\xbbwM\\xaf\\x1f\\x1c\\xf7\\xc7\\xf4\\xf2\\xbb\\\n\\xa4\\xbe\\x15\\xee\\xa6\\xbd.\\xf0\\xb0\\xd6x\\xc4\\xa0@\\xc2}\\\n`(\\xb1\\xb2\\x8e\\x9dYr\\x01\\x99T\\xeb>\\x9a\\xceP\\\n\\xf0\\x1f\\x95\\x19\\x07\\xe2\\xec\\x8f\\x18\\x05k]\\x96\\x98\\x0e6\\\n<\\xb0fn\\xa6\\x8a\\xa5\\x08Pq%\\xf2\\xde\\x0c\\x8b\\xe5\\\n.\\xe8\\xa82{K\\x97\\xbf;\\x0a\\x08rTSF\\x92\\\n\\xa34\\xdf$\\x02\\xe9 \\x9f\\x9aD\\x91w\\xfc?D\\x8b\\\nAg\\xc2`]\\xf2\\xd7\\x96\\xb3\\xe5\\xdf\\x94]\\x9d\\xc3a\\\n\\x83\\xeb\\xed\\xc0\\x94M_\\xe1\\xab\\xe3\\xcc\\xb7\\xf3n\\xf9\\xe5\\\n_\\x7f\\xea\\xb0\\xc7\\xde\\xb7]\\x8ar\\xea5~\\x84\\x0ac\\\n\\x07\\xd1\\xa6q\\x89]\\x15l\\xfe(V\\xb8]X\\xda\\x10\\\n\\x03T\\x07\\x06?\\xb5D\\xae\\x9d\\xa2M\\xd2\\x0b\\x0d\\x98\\x09\\\n\\x17\\x9a\\x8f\\x1f:I\\x11\\xed\\xf6zO \\x86 n\\xc9\\\n\\x0d\\x04\\x81\\xf5\\xba\\x5cU\\xaf+\\x13\\xa0\\x1fQ\\xf8S\\x1b\\\n\\xf22\\xf5\\xea\\xf5\\xee^a\\x87A\\xb0i\\xba\\x9d&`\\\n\\xfc\\xc7\\xed\\xb4\\xd1\\x8d\\x1en\\x1f\\x9fPn\\x13\\x7fe;\\\n\\xd9\\x8c)?\\x94\\xa5@Z#\\xa9\\xff\\xf8\\xf0`G\\x1a\\\n\\xe8\\xf4GC\\xa6\\xc7\\xd5\\xba\\xa1\\xc6P\\xe1\\x84\\x0a)\\xfa\\\n7\\x97G\\xafE9\\xab\\xd7-'Q\\x05\\xc8\\xa0\\x82\\x8a\\\n\\x94\\xde\\xf0:\\xadD\\xe5\\xa1\\xcaY\\xbb\\x10t\\xec,3\\\n\\x1fs\\xf9\\xc3\\x0b\\x87\\xc3\\xb5|emm\\xd5r\\x93\\xfb\\\n{/'wrxH?\\xfe|\\xef\\xc5\\xeb\\xa3=]\\\n\\x0b\\xd6\\xb8\\xb6\\xf6\\x88\\xe2\\xdb/\\xd0\\x96\\x8a\\x9f\\x94-\\xa0\\\n\\xcc\\xe6\\xc3\\x94Ig\\x89\\xac\\xb7/o\\x0d\\xb1\\x06\\x10F\\\n\\xef\\x1c;$\\xa9\\x94M\\xcak\\x0ec\\xe5\\x0e\\xd15\\xe4\\\nvM\\x9f\\x90g\\x94\\x1c\\x8cj\\xc4\\xe0\\xbc\\x1fL_\\x90\\\nui\\xa84\\xd9)E\\x9e^\\xf20\\xa9\\xf1\\xe4[\\xee\\\n\\xe1\\x7f.f\\x1e\\xde\\xb4\\x22\\x1bp\\xf5\\x9a[\\xb9^\\xc1\\\n\\xa1\\xb8!\\x1e\\x10ry\\xca\\xe10\\xfa\\x08\\xe4\\x5c\\x19\\xb8\\\n\\xfcG\\xd5`\\x07\\xd0\\xd7\\xf5t;\\xd7\\xcd\\x5c\\xb1=\\xa0\\\n\\xd9t\\xa3\\xa6\\xfe\\x03u\\x86\\x019\\xe7wS\\x19\\xaaU\\\n\\xd3\\xbb\\x03\\x09\\x0fH\\xbfQ\\xebe\\xfb=\\x02\\xcauL\\\n\\xbf\\x0e\\xd8\\x8a\\x22\\xc2d\\xa0\\xa9A>\\xab\\xe6\\xbe\\xdf\\xae\\\n7\\xdf}7 \\x0bx\\xbb\\x9bG\\xd3t\\x1c\\x95\\xdf\\xb5\\\n\\x02\\xb5r\\x8ec\\xf7q\\xa0\\x1f\\xe74m\\x8f\\xe8J5\\\nP\\x98\\xd2#~\\xe5\\xe4`\\xfe\\xc01\\x05\\xf9\\x1d4\\xa4\\\n8\\xae\\xf7N\\xed\\xe2C\\xc0\\x0e\\xef}Vk\\xfa\\xfe\\xbf\\\n\\xb4\\xa6N7~O\\xad\\xe5?\\xf80q\\xf0\\x88\\xd3\\x84\\\nG \\xff\\x98\\x93\\x85\\x7f\\xaa\\xd0k0G\\xab\\xfei\\xe3\\\n\\xfd\\xe2\\xd3\\xc6\\xfbG\\xc9\\xe9\\xef\\x7f\\xaf\\xd3F\\xa6\\xd3\\x9f\\\nq\\xfax\\xbf\\xe8\\xf4\\xf1[G\\xf5\\x19\\xa7\\x0f\\xbd\\xf7\\xa0\\\n\\xdf\\xa8\\xeb\\xf1c\\xf7\\x1e\\x94\\x94Bq\\x08\\x7f\\xd3\\x8d\\xd6\\\n#\\xb7\\x22Y\\xc4v\\xfby\\xec\\xd6c\\xd7\\x98\\xb3\\xe5\\xe3\\\n0N\\x831\\x16\\xb5L\\xe0\\xca\\x1e\\xdd\\x1bO\\x5c\\xa8d\\\n+r-\\x06\\xb35=\\x82\\xfd:E\\x7f\\x076l[\\\n0w\\xe1\\xb1\\xdd\\xc6\\x03\\x8c\\xd54\\xef2Xe\\x11\\xea\\\n\\x1d\\xa6\\xba7\\xf9{\\x13\\xe53\\xe3b~\\x9a\\xe3\\xbd\\xbf\\\n\\x8d\\xc1z\\xdb\\x9eC\\xa5|\\xdfb\\xc3\\xc6\\x86\\x1f\\x8eP\\\n\\xe4\\xd8\\xa6\\xcfQ\\xb7\\x8a\\xe7s9nJh,f7\\\n\\x8d\\x22\\x16\\x11j\\x8dXE\\xaeB\\x97U\\x14\\xf71\\xcb\\\n2\\x0a\\xfb%,\\x03\\x1f\\x97\\xfa\\x87\\xe4%\\x8e\\x9d\\xae\\x91\\\n\\x8d\\x8eh\\x86\\x052\\x166\\xb9\\xa8g\\x0e\\x0c\\x85<\\xcb\\\n\\xc7Ps!\\xceu\\x84\\x95\\xad|P\\x14L\\xc6\\xa0\\x8b\\\n\\xe3\\xad`\\xc0\\x94Fq\\x98\\x15\\xe2`7\\x89'\\xb4s\\\n4d\\x0a\\x22\\x98\\xb9k\\xa4_\\x90\\xd3\\xca\\xcb\\xfa\\xdee\\\n\\x08\\xd7Q\\xfdY\\xc7\\xdf+\\xa8\\xe7|\\xf9z,+\\x0f\\\n\\x07\\x83\\xfe\\x870\\xf4f\\x9e\\x9dS\\x81G\\xb2\\xf4\\x87y\\\ny\\x8e\\x8b7\\xfd\\x8b_\\xc6\\x1a-\\xed\\xe2U\\x80!\\x96\\\nxFi\\x91\\xc3\\x1f\\xbe\\xf9\\xfd\\x09\\xaf\\x81\\x9b\\xaep(\\\n\\xec\\xcd\\xe4\\xe6\\xf6\\x92\\xffI\\xf8\\xfb\\xbf\\x12S\\xd7\\x5cG\\\n\\xf9\\xf6\\xe2\\xbc,\\xe4N\\xd8J\\x8f\\xf5\\xf8n\\x11\\x8bj\\\n\\x06\\xa2U\\xe5y\\x8c\\x0dY\\xa5\\x82Q\\x1a}HbY\\\n\\xc1\\xc8\\x8f\\x198d\\x5c\\xba\\xea<\\x7f\\xd29\\xb1\\x8e\\x14\\\n\\x1c\\x84@&\\xe6\\x85\\xb9\\x0a\\x04\\xc3R\\x196\\xa6\\xe3]\\\n\\x05\\x98\\x8b\\x13\\xda\\xfb\\xa6\\xecD\\xf0\\xfb\\xc9\\x09Q\\x89\\xb7\\\n\\xb8\\xba\\xc9EU\\x9c\\xbbU\\x9c\\xbbU\\x9cC\\x15\\xf3\\xff\\\n\\xda\\x9c\\xff\\xd0\\xcd\\xf9A\\xaa\\xffw\\xde\\x9c\\xb3\\x14\\xbd\\x88\\\n\\x9c9\\x12\\xa6\\x0ef\\xf9\\xb3l\\xbc\\x85\\xc0\\xe7\\x06\\x98\\xa8\\\n\\xd4\\xec\\xae\\xa3\\xcf\\xd8R\\x89\\xf1\\xf1\\x8c\\x89\\x8aAT\\xbe\\\n\\xbd\\xae\\xa7h\\xc41\\x1e\\xec\\xfa{mQ\\xcc\\x97\\x7f}\\\n\\xbbqzX\\xbd\\x83\\xdaW\\x8c\\xc3\\x80\\xba\\xcd\\xc8\\xf8\\x98\\\n\\xf9|S\\xf2p\\x05\\x0f\\x9a\\x92\\xdb \\xd3\\xd4#i\\xf1\\\nd\\xef\\xa7\\x9d\\xc3\\xed\\xe3\\xe3\\xeak\\xd8;\\x1d\\xed\\x0f\\x1c\\\n\\xf5\\x1f(\\xb0s\\xf8\\xfax\\xcf)\\xe1\\xa9\\x8eX\\xe6q\\\n\\xf6\\xc8\\xa6\\xa8\\x8a\\xb3F\\xa4\\x22\\x5c\\xbag\\xc7\\xb2{\\x0a\\\n\\x15\\xe34\\xf7\\x8e\\x8ad\\x13\\xeb$~\\xe9K\\x03t4\\\n_\\x86M\\x98\\xc4\\xa7\\xd3\\x0a\\xf7\\x8dl\\x00\\x92Z\\xfe\\x0a\\\nb5SQ\\xf5\\xd5\\xde)~\\xf8\\xb4\\xc9\\x8fL\\x82\\xa6\\\n\\xdd\\x95\\xd3\\xa60#Q\\x8f\\xdb\\xa9\\x0bx\\xa2pM8\\\n\\x02\\xb6\\x18^A\\xcf\\xf5F\\xa0\\xa0\\xe3O\\x83\\xf7\\x90\\xdf\\\n\\xdf\\xf4,n\\xf2\\xc8E0e\\xcf\\x04lM@r\\x84\\\nHdd\\xf7u\\xd1\\x1f\\x8d&%\\x86\\xdf\\x08aj\\xbd\\\n\\x9e>\\x81\\xfd\\x9f\\xcb\\x90\\xcf\\x85\\xacA8\\xbf\\xfd\\xa9<\\\nY\\x97\\x0c\\xeb\\xb8\\x0e\\x17\\x95-P6%(#V\\x9f\\\nA$K\\xac\\x133\\x1f\\x0b\\xd7F\\x1c\\xea\\x17\\xa9\\xc2c\\\ne\\xd2\\xcd\\x9aY\\xb7\\xb2\\xab~\\xdc\\xc4\\x0f9u\\xcfu\\\n\\x15g\\xd9!\\xdd\\xdf\\xfb\\x84\\x8a\\x06K-X$Z~\\\n7\\x0f\\xbb\\xce\\xdf\\xa5\\x1d|\\x99\\xb3=\\x99\\xb4?\\x95L\\\nyt\\xb7\\xe5L\\x17\\xbf\\xef\\xd6\\x1d4Pg\\xb5\\xd6\\xba\\\n\\xe9l\\xdc(9\\xcd\\xf3\\xd4>c\\x1f\\x86\\xba.\\x93\\xef\\\n\\x94R\\xab:\\xfbY\\xe2J\\xee\\xb1\\x16\\x96ua\\xf9\\xab\\\n\\x9c\\x9dB[@\\xe5\\x85\\xea\\xbc\\xd5\\xe2\\x227(\\xee\\x1b\\\n\\x19o\\xed8\\x19\\x86\\xbcz\\xdd\\xdc\\xde\\x84F\\x97Vg\\\n\\x88\\x17h\\xffj\\xdb!\\xdfl\\xd2o\\xcaL\\xb2\\x04\\xd3\\\n\\xf4\\xf3\\xd7\\xd6Vul\\xb3\\xdd\\xde\\x00\\x03Y\\x94\\xd0\\x1b\\\nz\\xa6\\x92<\\x8d\\xc59&\\xaf>\\x8f\\x91gx\\xf1#\\\n8\\xac\\xfa\\xe3\\x19\\xcdoY\\xa9>\\x0a\\xdd5\\x99An\\\n\\x12@\\xef\\xda\\xda\\xcd3\\xd3/\\xfb\\x86Q\\xcf\\x16\\xbe\\xd8\\\n;\\x07\\xb1\\xf1r2\\xba\\x1evu\\xaa\\x9bbg09\\\n+\\xdd\\x94\\xbd\\xaa\\x18I\\xf1\\xba\\x97\\xc8ci\\xd9\\xd7\\xa9\\\n\\xff\\x13q\\x8c\\x22V\\xa0\\xc2\\x1bHtN\\xdeM\\xa2e\\\n\\x18\\xc5\\x83O}O\\xd2\\x9fVp:;W#8\\xe6\\\n\\x84\\x9e\\xfa\\xd2\\xe6\\x92\\xfed\\x81\\x1e\\xcbs<\\xdb't\\\n\\xcb\\xb2\\xf8\\xa9\\xce\\xe7\\xe9#\\x8a\\x1a\\xc9\\x1c9\\x0b\\x8a\\x03\\\n\\xae\\xe8e4\\xf2\\xd56\\xb5\\xf6\\x9fs\\x904\\xc2i:\\\nh\\x0fg\\xbd\\xce\\xf4\\xf3\\xc6\\xb8\\xba\\xea\\xfb_p\\xbf\\xfe\\\n\\xe01K+[\\xf9&\\x97\\xc3@\\x03/\\x9b\\x1e\\xfd\\xf4\\\n^\\xbf\\x96\\xfb\\xdc\\xd7\\xf7\\xba|\\xee\\x01\\xfe\\xde\\xed,\\x1d\\\nN\\x91\\xd8@\\x96\\xdb\\x84\\xca\\x92\\xbb\\x8f\\xe9\\x04\\x13\\x1a\\xfa\\\nM=\\xbf\\x92o\\xdc\\xb1\\xb3*,\\xd88;\\x8b\\xde\\xbe\\\n-\\xc1\\xa1\\xee\\xed\\xdb8j\\xb5\\x94X\\xf3\\xea\\xbc/\\xbe\\\n\\x80,\\xf8\\xa7\\xa5\\x10\\xee\\x8c\\xe0Z\\x08\\x87O/N\\xda\\\n\\x97\\xd3\\xc6Y\\xc4\\xeai\\xc8\\x1a\\x8e\\xccO}z\\xc5\\xb7\\\n\\x07m\\x98:\\xf89F&\\x13uF\\x14\\xa4\\xaf=\\x1c\\\n\\x8e\\x00\\x97\\xd09\\xef\\xa3r;\\xe8C[\\x80;\\xa0G\\\n\\x92G\\x1b\\x91\\x8c\\xe6\\x17N\\x8c\\xd4x2\\xea\\xa4\\xd3i\\\n&WRM\\xf6\\x1el\\xe3\\xe3t\\xdaX\\xad\\x9b\\x94\\xe1\\\n\\xc7\\xded4D\\x12\\x9db\\xc8EI>J/\\xe43\\\n\\xfd\\xd8Ko\\x1a\\xc8\\xc3\\xa2\\xb9t\\x81Fxw>i\\\n\\xb8S\\xfc\\x1c]\\x96\\x00\\xe7\\xebM_\\x1e\\x1f\\xc0\\xb9\\xb1\\\n;\\xea\\x5cc\\xadU\\xfd\\xe3%\\x8c\\xf1\\xbbo\\xb7\\xa2\\xb7\\\n\\xc3\\xa8\\x11\\xadD\\xea\\x06*\\x88`\\x9c\\x7f\\xea\\x00\\x1d@\\\n>\\xa4B\\x0bo&\\xe9\\x1b\\xee\\x82\\xa5\\xdd\\x94\\xb59b\\\n)\\xc3\\xd3uM/\\xe8KN\\x8a\\xe7\\xf9`\\x875\\x1d\\\n;\\x94S\\xd2\\xf8\\x10k*\\x86\\x8f\\xdd\\x0f\\xbdL\\xd7\\xd6\\\n\\xdcZ\\x0e\\xc8\\xd1U\\xc9\\xbe\\x83\\xf4\\x81A\\x8c\\x1c\\xf5\\xba\\\n+\\xc6\\x94Jr\\x05g\\x801\\xd1A\\x07\\xd2K\\x81\\x8c\\\n$\\xc2\\xf05\\x91\\xd7/\\x1c&yU\\xd6\\x0e\\xd2\\x13\\xed\\\n ]\\x90\\x82w\\xed\\xfc+1\\x18\\x07\\xa9Q\\x14`\\xcf\\\n?\\x1dt\\x0d\\xfab%\\xbf\\xa0\\xf9\\x5c\\x99\\xf3Q\\xf7\\x93\\\nn\\x99L0\\xdf\\xb4\\x91\\xc1\\x0c\\xa7\\xa5X\\xd8\\x0fJ\\x80\\\nZ\\xaf&\\xc5u\\x85d\\x1av\\xdc;\\xef\\xa3l=W\\\n~\\x05\\x8d\\x8cK\\x0bb\\x1eSrN\\xac\\x7f\\xa0\\x93j\\\n\\x99Dg\\xecdH\\xa1e\\xa1\\xceUr7W\\xec[\\\nH\\xd0f\\xd7k\\xd6\\xe5\\x0c7\\xe1x\\x9d\\x19s_\\xfe\\\nW\\x0ci[\\xca\\x15G\\x17\\xfc\\x14\\xcf\\xc86vV\\x00\\\n\\xd4J\\xee\\x06h\\x5c\\x09\\x84\\x0b\\xec\\xaf\\x11\\x84\\xaa\\xe3\\xc8\\\n\\xa8=V\\x81\\x02\\xa0\\xe0\\xa2T\\x00\\x1f\\xcf\\x1dw\\xb4\\x02\\\n\\xe3\\xb0\\x9c\\xcf\\x1a\\x9eS~\\xc1\\xf8rPf\\x80\\xcd\\x15\\\n\\xfc\\x9bho\\x10\\xeep3\\x85\\x1e\\x1eo\\xae\\x00\\x0cX\\\n\\x06\\xa1\\xcd\\x90\\xc7vH\\x923\\x1d\\xc9\\xd2\\xa3_\\x87\\xac\\\n\\xec\\x950\\xc5\\xf7\\xa8\\xf02\\xab'\\xc7\\xc8\\xbc\\xea\\x807\\\n\\xbf}{\\x0e\\x82\\xd9\\xf0\\xed\\xdb\\xbb\\xd2\\xd9\\xdf\\xe7\\xad\\xf5\\\n\\xf8\\xed\\xdby\\x94\\xab\\x80yc\\xbe\\xec\\xfa[\\xfa\\xdf\\x17\\\n\\xb9\\x12\\xc8$\\xf3\\xe0\\xa5\\xf4C\\xbc5I/\\xa05j\\\n\\x8c\\xdb\\xe2\\x81\\x90\\xf5\\xcc0\\xbdY\\xe1\\xf8\\x01%.k\\\n\\xc6\\xa4\\xa2K\\x03*;\\x89\\x0b\\x1d\\xfd\\xbd\\x14\\x95\\xa5\\x0b\\\n:\\xdf\\x16.G1nK=q;\\xca\\xac\\x1aMu\\\n2j\\x02\\xeb\\x18\\x06\\x19\\xcf\\x11\\x9bk\\xe3\\xb6\\x01'U\\\n*\\xc3cy\\x10\\xdc`\\xc3\\xd9\\x97\\xfc*\\xf2\\xf9\\xdaM\\\n\\x92MI\\xa4\\x00\\xd3\\xc1\\x96;\\xda\\xd2\\xdf\\xefWb\\x18\\\n\\xb1@\\xb8\\x03-\\xad\\xdc\\x7f\\x11Gqc\\xe3\\xef_l\\\np\\x95\\xee\\xfe\\x97\\x84j\\xf1\\xa7\\x8e\\xe0lE\\xcc\\x8a\\xcc\\\nE\\xed\\x5c\\xb9+\\xca\\x11\\xa2\\x8c\\xa8\\xe4\\xc4\\x1c+\\x9d\\xbd\\\n\\xfd\\xfb\\x17\\xc0\\xdb\\xe6\\xe5\\xf5\\xad\\xb7\\x95\\xfb\\xb7go[\\\no\\x1b \\x0f\\xc4\\x18w\\x0c\\xc8\\xa6\\x8e\\xde\\x94\\xed\\x9ap\\\n\\xb6\\xb5a\\xd7\\xd4\\xe7\\xf48\\xbf\\xa2\\x11\\xb0\\x1c\\xdd#q\\\nU\\xef\\xcf\\xee\\xe6\\xad\\x88\\x08e\\xae\\xec\\xc2\\xb0\\xb5\\xb6\\xd5\\\n\\xb9\\xa9U\\xdb\\xbe\\xae&\\xc9\\xb9\\xc6\\xb0\\xfeQ\\xd1\\x99\\x8d\\\n6\\xe4n\\xd5\\x1a\\xed\\xef\\xce\\xc9C\\xeb\\x5c9\\x9c>\\xb7\\\n\\x09\\x83\\xb07\\x1a\\x8b\\x1c`\\xdd\\xdct\\x86\\xedA\\xaaf\\\n\\xf4\\xafL.=\\xcc\\x15l7\\xcdf%?V\\x13\\xac\\\n\\xa6\\x19G\\x7fBQ\\x08]\\xcc\\x98\\x9d\\x04\\x98\\x0e\\x992\\\n\\xcfF\\x87\\xa3\\x9bt\\xb2\\xd3\\x9e\\x82\\x08\\xbe\\xc5\\x95:\\x1b\\\n\\x97\\xd9\\x92(\\x12\\xb9\\xd9\\xe2\\x1a%\\xeaJb6f]\\\n\\xaf\\xb1\\x91\\xde\\x8a\\xa2F.\\x91\\xbb\\x9e/5k_f\\\n\\xcbH\\x92\\xcaE,\\xa1\\x861P\\x0bU%1J\\xe8\\\n#\\x8e5\\x22\\x92\\x1c\\xadV\\xd3\\xdb\\xb4#`jU7\\\nb\\xdf6\\xdf\\xdfS\\x9e\\x09h\\x82\\xd4,Ks#\\xbe\\\n\\xbf_\\x95\\xba\\xf4\\x1e\\xad\\xb9\\x02\\xd5J\\x83BU\\x8f3\\\n%II\\xa32\\xbb\\x12\\xdd\\x9e\\xc0\\x9e\\xafkVE\\x9b\\\n\\xbf\\xfb\\x00\\xdb!\\x0a\\x0e\\xa4m\\x85\\x0dG@\\x09K\\x0b\\\nz\\x12\\x03\\xf2\\x1e\\xba\\x1f\\x8b|\\xda }\\x8a]|o\\\n\\xa7e\\xb6n\\x17\\x8a\\x17\\xd0&\\xbbM\\x05\\x94\\x91\\x04\\xab\\\n\\xc6\\xa3)\\xec\\xad\\x93\\x14\\xdb\\xb2b\\xc54mOP\\xae\\\n \\xb6\\x0c\\xd2\\xee\\x5c\\xb9k/\\xb1,[\\xd3o\\x93)\\\n\\x9e\\xeb\\xe1\\x97\\x1an\\x092\\x87<\\xa0\\xdb\\x7fh\\x90\\x1b\\\n\\xb5\\xa4\\xbf,\\xad\\x03\\xc2X\\xde\\xf1\\xaa\\xa6\\xc9\\xc9!\\x22\\\n\\x8e\\x9b\\xb1\\xbf\\x22hH\\xdc\\xeb-;\\x80\\x97D=\\x8c\\\n\\x10\\x8d]\\xb3Y\\x872\\x8da\\xb5TH\\xb9iw\\xcb\\\nk,\\x1d\\x92\\xb6\\x1b\\xc9\\xb1\\xe4\\xd7\\xeav\\x03\\xe8O\\x10\\\n\\xe6d\\x19\\xf2\\x88\\xef\\xba\\xa3;z\\xf5\\x9a\\x91)C\\xd4\\\n2\\xbf\\x01\\xe2JK\\x06\\xa58\\x03\\xab\\x89C\\xc8H\\xfb\\\ng\\x8b\\xd1\\xdb\\xa2\\xb1\\xad\\x1aQX\\xa6e5?-l\\\n+\\xc4}\\x8f\\xdd#\\xb2\\x8c\\x8e\\x06\\xbf%+:\\xfd\\xb8\\\n\\xa71If\\x0a\\x1f\\xf5\\xc4'\\x5c\\x01Y\\xf3\\x13I\\x98\\\n\\xef\\xd1\\xb4\\xac\\x7f\\x03'.\\x0b\\x96\\xaa\\xe7}4^\\xa9\\\ni9`Y\\x1a\\x9d\\x1b\\xdfw\\xd2\\xf0\\x5c\\xd9\\xa9\\xb7k\\\n\\xcb\\x9ff\\x8e\\x8f\\x80\\x8a\\xc7\\xc4\\x91\\x0d\\xf9_\\x90\\x05\\xb5\\\n}\\xf6jB0\\xb1\\xd7#\\x14\\x08)\\x19iH\\x91\\xd0\\\n\\xc8\\x9f\\xf8S\\x8d;\\xa3k\\xd8>\\xd0\\xa3d:\\xd4\\xcc\\\nS\\xe1@\\x1b\\xbaz\\xfd0\\x031\\xd1\\x08\\xaf\\xa3J\\x06\\\nVF?\\xbd\\xe9A\\xb2\\x162\\xb9U)\\xcbV\\xda+\\\n\\xc89D\\xea\\xc3\\x15g\\xaa1\\xc1c\\xbf\\x8a\\xf3\\xa3\\x81\\\n\\x12\\xf0\\xe7.*3x\\xbdU\\x8e\\xe6\\x91\\x0a\\x8b\\xc3\\x0b\\\n\\xc6W{\\xcc\\x88\\xd4\\xb9EI]'\\x96\\x9f\\xa8\\xde\\xf4\\\n9v\\x1e\\x88\\xcaN\\xba?\\xec\\xac\\xac\\xed\\x92&J\\x0c\\\n\\xb1\\x89\\xef\\x01\\xe3\\x02y4\\x8c\\x87/\\xd1\\xcd\\x1b\\x8c\\xfb\\\nC!\\xc4Wq\\x80\\xf8\\xfdc\\x10\\xfc\\xf1\\xd0`\\x91\\xf3\\\nh|\\xc8P\\x0d[:\\x8b\\xa2\\x96\\xe5J\\xfc\\x18\\xb4=\\\n\\xbdJ\\xa7\\x81\\x9ef\\xaa\\xa2\\xd7\\x04\\xe8\\x1dp\\xd8\\x942\\\n\\x92\\xf1\\xe7\\xcd$\\xa9m\\x950'9\\xd3YvK\\x81\\\n\\xff\\xb1\\xe8\\x16\\xc5-5L\\xea T\\xf8\\xa0\\xd2`=\\\n\\x0e\\x17R\\x11j\\x86\\x86d\\x90\\x8d\\xe5\\x8c$\\xed\\xf9j\\\n\\xa5h\\x90\\x1c\\x1b\\x12\\x7f\\xf2\\xd8\\x90\\x15\\xf9\\xf0\\xb83\\x92\\\n\\xa9I~\\x13\\xf4\\xc7\\xad=\\xd44s\\x80IaQ\\xa7\\\n`9\\x8b\\xbc\\xa1a\\xd1\\xee\\xebN\\xcf\\xf57\\xf6\\xdb\\xcc\\\n\\xcd\\x83\\xd086\\x1ej\\xd1\\xa69\\xccq0M\\x06\\x0b\\\n\\xf9\\x97P\\xa4C\\x9d\\xfa\\xc8\\xa3\\xc7\\x94$v]\\xc0\\xbc\\\n;\\xec{m\\xad\\xb6jr\\x99l\\xd1\\x89\\x80\\x03a\\xf6\\\n%\\x9d\\x88<<<\\x00\\x03\\x02(\\xd4u\\xdau\\x0c\\x22\\\nv\\x06\\xc7\\xfc\\x18\\xd7k\\x1c\\x9f\\x84x;.\\xdaN>\\\n\\xb8\\xe9\\x16\\xb2\\x07\\xda\\x01\\xd0Ezt\\xe7.\\xee-\\xaf\\\n\\xcdr\\xb9\\x01|\\xce\\xc9^[\\xcb\\xf4\\xc9\\xfb\\xacT\\x94\\\n\\x99\\x1fw\\xdfs\\xf5<\\x01\\xd1A{\\x89,\\x1cLn\\\nk\\xf5_t\\x17\\x8e\\xce\\xf6\\xc6\\x03\\xb1\\xdd\\xd1;\\xc3]\\\n\\x9e\\xe2\\x0a\\xe6\\xd1\\xdbb\\xe5\\xaf\\xca\\x096:G\\xab\\xff\\\nx\\x1bV\\xce\\x98\\x02\\x22m\\x98`\\xd9Yi\\xe2\\x8e^\\\n\\x91\\x8d\\x01\\xae\\xed+\\x85\\x22\\x10\\x89\\xad%\\x1f\\x0eI1\\\nI(M\\x1f\\xef\\xf8\\xc3\\x91\\x99\\x1a\\x9c\\x02\\xdbVoF\\\ng%\\xa7p\\x8c\\x87\\x03j\\x87+\\xf1YO\\xbb\\xdb\\xf5\\\n\\x0aP=vu\\xcb\\xa3Rw\\xa9p\\xc7\\xb1\\xcb\\xba\\x8b\\\n\\xc8\\xf9\\xb7\\xcc\\xeft\\x98\\xef\\x07B\\xc4\\x0d\\x07\\xa4Y\\xc2\\\n\\xde#1^y'\\x05\\x10\\xf7\\xe0kU\\xc6\\xcb\\x1e\\xd3\\\nX8I0\\xc3\\x11\\x8a\\xadJ9q\\xf2\\xe8 \\xc7\\xb5\\\nj\\xc8r\\xa6\\xa4\\xe5\\xe7\\x7f\\x7f{\\xb6\\x83N\\x95\\xde\\x9e\\\n\\x95J\\xd5\\xfb\\xb7\\xc3\\xfb\\xb7\\x93x=\\x86\\x93}\\xeb\\x0b\\\n8o\\xe0\\x99\\xbe\\xb1\\xb8*\\xfbXL\\x141Y)\\xd5\\\n\\xebWFDm\\xe6\\xea\\xe6\\x07<Tz+Z\\x89\\x1a\\\n\\xfcsNpE\\x8f\\xef\\xa1\\x01\\x0e\\x1d\\x7f\\x92\\xfe\\x94\\xf8\\\n5\\xea\\x0d@\\xa3\\x1d\\x88Ge d\\x1bp *\\x0e\\\n{\\x8b\\x1d\\x16[\\xd8\\x03\\xcc\\x8b\\x15k\\xb5W\\x83:r\\\n9\\xb6\\x8a\\xc2\\x98\\xd3\\x0c\\x03D\\x1a\\x83\\xae\\xc7LP\\x0e\\\n R)\\xe00\\x0f\\xe8\\x09(\\xf3\\xa2m\\xa6\\xa6\\xc4\\xb4\\\n\\x8d\\xfe\\x14u\\x9eM|\\xa8\\xed\\xb9\\xe2\\x8d\\xac\\xc8!A\\\n`\\x03*X3\\xfe\\x8e\\xc8\\x97g.\\xc73\\xbas\\xb9\\\nv\\xb1\\xdb\\x1e\\xc5\\x80\\x82\\xfd\\xfdN\\xcc\\xb81\\x9b\\x95]\\\n\\x0f*\\xea\\xf4%Nh\\x02\\x9afv\\xcc\\x8c\\xe4\\x191\\\n\\x03\\x8f\\xae\\xa7\\xb2\\x149`\\xb1Q\\x9e\\xd8\\xc2\\xa2\\x03\\xa4\\\n\\x1bo\\xf2\\x1bl\\xea\\xd4]`S\\xe0\\x8b^\\x1f\\xe6D\\\n\\xcf7\\x0e\\xab\\x15\\xab<\\xf0\\x22\\xc1\\xe9\\xce4\\xdfp\\x1b\\\n\\x9f\\xebj\\xb4\\xa6\\xd1L\\x9c\\xae\\x15vC\\x8de\\xa1\\xa3\\\n\\x22,\\xf3\\xb5\\x9d\\xbd\\x22\\xe1B\\xb6\\x1f|\\xabgV\\x02\\\n\\x7f\\x93\\x93d\\xf6\\xb7\\xbc\\x015\\xc1Y\\x02\\xeb\\xf4F2\\\nMg\\xc7\\x04[\\xe2\\x22\\xd4b\\xae\\xbb\\x9c\\x87o\\xfa\\xf0\\\n\\xef\\x5cy8\\xb3]\\xa6\\xde\\xea}2\\xbd\\x9d\\xcf\\xc3\\xf6\\\n\\x08\\xf6Z\\x0dv\\x91\\xb3\\xc8~F\\xc57\\xa5\\xadE\\xb7\\\n\\xb0\\xd1\\x99\\xe4\\xb56R]p\\xba!%\\xe9\\x166_\\\n\\xf1\\x19\\xd2\\xc5\\xc6\\xf6\\xcb\\xe3N7j\\x15\\xde\\xc3.\\xb8\\\n\\xc6\\x83\\xe2\\xd5\\x9d]\\x9c\\xfc\\x11\\x87\\xc5jDO\\xf1b\\\n\\x15\\xaf\\x1e\\x9d\\xcf\\xab\\xf6\\x04Sz\\xbf\\xa6T\\xf7\\xd3t\\\n\\x80v\\x1c6\\xad.iW\\xbdnj\\x9d\\xe6K\\x0c\\xb6\\\n\\xd5\\xfa<\\x9e/i\\xd4\\xb1\\xc0q\\xfb\\x02G\\xed'{\\\n?\\x99\\xac\\x83\\xa1\\xf8b\\x87\\xea\\xd4\\xf1\\xc9\\xf6\\xce\\xdf\\x0e\\\nN\\xf6^&\\x18\\xea\\xf7\\x98\\x9c\\xc6\\x1e\\xcc\\xd2\\x01\\x96\\xd8\\\n\\xdd{A\\xa9\\xbb\\xe9Eo\\xd8\\xa3\\x08\\x05Y\\x8f\\xefa\\\n<\\xeb\\xcb4\\xae\\x03$.sM\\x02\\xa8L\\xa2\\x9d\\xdd\\\n_ )\\x92&`{N;\\xbdv\\xff,\\xfa_`\\\n\\x860\\x93\\xd0f\\xb2\\x07\\xed\\xcedD\\xa1\\xc6vv)\\\nG\\x5c\\xe8\\x02 \\xa4\\xd1G1\\xac\\x84~\\x11`\\xfe\\x22\\\n\\xe8\\xea\\x1b\\x8c\\xb9\\xecXJP\\x9f,\\x8d\\xd31\\xde\\xb7\\\nRx\\x83\\xf7\\x0b\\x9cn\\xd1Vm\\x93\\x19\\x93\\xf6`O\\\n_\\xdd\\xf4\\xa2q\\xe7\\xc4\\xddnD\\x1c\\x1e\\x18\\xc9\\x8db\\\n\\xd3r\\xb4\\xb4\\x86\\xb8\\xed\\xd2\\x84\\xa5I\\xca\\xc9\\xd2D\\xa6\\\n\\x8d\\x01\\xd8\\x81<\\x1e\\xceq\\xe8\\x0d-\\x02\\xc2\\x9cA\\xe7\\\n\\xab\\x82\\x91\\xfb{)mi\\x12\\xc1\\xaf\\xc2\\xe0W\\x06\\xdc\\\n\\x92+R\\xa3\\x9e\\x07g\\xf3!\\xfd\\x14\\xa9\\xde\\xb5\\xf0\\x89\\\n\\xfa\\xe6*\\x1a\\xbfo\\xcb\\xb5Y\\x8f5]\\x1d\\xad;>\\\n{\\xf6\\xdd\\x8f\\xdb\\xd5\\xfb\\xa4\\xb5\\xe1\\x9f\\xe8_\\xcf\\xae\\xd2\\\n\\x09\\xd7\\xc8\\xbe\\x1ez\\xe2\\xdbf6\\x1a'N?OF\\\nc\\xf4\\xbb2\\x1a\\xc3\\xa1\\xa6]\\xca`\\x1d5\\xc6\\x98\\xe5\\\nx\\xdc\\xd0\\xb7\\xdc\\xd0{\\x8cz\\xc8-\\xa8P\\xa5\\xd6o\\\n\\x05\\x0d\\xf3h\\x04{\\x15\\xd4\\xc5!\\x15\\xec\\x99\\xbd\\x0e\\x87\\\nj\\x8c\\xe8\\x8dS\\xa15%%]\\x02\\x8eW\\xf58\\xfe\\\n\\xf3\\xa6\\x82%\\xd6\\x1cj\\xbf\\xda^\\xd3C\\xb1[\\xbfB\\\n\\x9fzw\\x12\\xef\\xa2\\x81\\x15\\xe2T)\\x09o\\xf1\\x89\\xe6\\\n\\xf4c\\x08\\xe6\\xca\\x85Q\\xd3O d\\x02\\xda;\\xf8!\\\n\\xfc\\xa8\\xa6&\\xf2cNA\\x97\\xab\\x14\\x1c\\xd2QJ\\xdd\\\ns\\x02tR4n\\x83>yi.I\\xf8\\x85\\xe8?\\\n\\xfe\\xdb\\xff\\x17\\x09\\x05c\\x1fb\\xa7l\\xf2P\\xd9D\\x97\\\n\\xbc\\xb2%\\xef\\x0cZ\\x93\\xbb\\xe8Y\\xd4\\x88\\xfe\\xe3\\xff\\xfc\\\n\\xef\\x91\\x8a\\xbe\\xa3_\\xffW\\xa4~\\xc4\\xbf\\xffO\\xa4\\xb6\\\n\\xf1\\xef\\xff\\x1d\\xcd\\xcf:-\\xd56\\xaf\\x0d~\\x18\\x9f\\x8c\\\n\\x08{\\xe5\\x8e\\xea\\xc4\\xea\\xbc \\x83\\xc6\\xfa\\x8c\\xbaw\\x7f\\\n\\x0fuS?Q@\\xc7\\xbeJ\\xef\\xa8\\x0fn\\xffT\\x1b\\\n(\\xa4\\x9dDo\\xdf\\xbe\\x07\\x01m%*\\xeb\\x99\\xa0\\x9c\\\ns\\x11u\\xda\\xddD\\x07\\xb3+\\xd7\\xeb\\x83\\xebH\\xa3:\\\n\\xfa\\x0a>\\xe6M\\xd3\\xc25\\x08w\\x13\\x90y\\xb4\\xcd\\x80\\\nF\\x0e\\xfc@\\xcf\\xa0\\xe8\\xe211\\xcc\\xa6\\xd4V\\xfe\\x0a\\\n\\x8c\\xb1\\x00:\\x8e\\x19\\xf4\\xab\\xc7\\xe9l\\x17\\xc8\\x18KV\\\n\\xb1B\\xb6YCw\\xa0i\\xb7\\xd4\\x96!\\xc0\\xa7f4\\\n\\x1f%\\x14ET\\xad\\xc3\\xb62\\xc7\\xcb\\x0fz\\xf0\\xea4\\\nw\\xbeds4\\x08\\xaf\\xbds\\xa7=\\xa8X\\xb3\\x93\\xc0\\\n\\xd6\\x85\\x17\\x07\\x1a\\x19R\\x18\\xc7.\\x9d\\xec\\xa6c\\xc0a\\\nMI\\xc4\\xac\\xa8\\xfa\\xd5\\xd7\\xdcY\\x89\\xb8\\x82E\\x99L\\\n\\x82\\xb4\\xe5\\xce\\x1e\\xd3\\xa5*\\xd1,\\xb9\\xad\\x02H\\x89P\\\n\\x8dC\\xd9\\xa6\\x97L%\\x8b\\x03\\x98hy\\xb3\\x8b\\x9c\\xf3\\\n\\xed\\xdb~\\xbf=\\xbe\\x8b\\xcam\\xd2\\xb2\\x06\\xd1\\xc3\\xf8\\x91\\\n\\x8a\\xa8\\x072\\x18m\\x97\\xdf\\xf0M\\xf7\\x8fv\\xe7\\x8c\\xfb\\\n\\xa5\\xda\\x9fp\\xfb\\xe7\\x0b\\xda\\x8f\\xe7\\xf0W\\x0e)\\xb4\\xe5\\\n BU\\x9e\\xb5\\x10\\x8b\\xc6\\xcf\\x10\\x87\\x0e\\xb2\\xd1\\x92a\\\np\\xf7\\xf7g\\xad\\xd8\\xd5L\\xb2s&\\xcd\\xe8\\xdcl\\xb7\\\n'\\xee4\\xeb9\\xd6s\\xfbM\\x95\\xe4 \\x9e\\xf2h\\x13\\\n~\\xcf\\xb5\\xf5\\x07\\x95\\xb5\\xbc\\x9b\\x86\\xa0\\x8b\\xf7\\xa6{\\xc3\\\n\\xd9\\x84x\\x1b\\xf6\\xbe\\x81\\xff \\x81(g{\\xcf\\x0e0\\\n\\xbc\\xed\\x196\\xb1\\xdb\\x83-\\xdd\\xc1\\x91\\xd9\\xf8\\x97\\xaa\\xe7\\\n*X\\xcf\\xdc3\\xf0[V45\\x22\\xd1C\\xc2)\\x85\\\nJ\\x09\\x88\\xa7\\xc3\\xeb\\xc1y:i\\xd4\\xf8Z\\xe5\\x95\\xfe\\\n:\\xd8\\xa5h\\x17\\xe9\\x07\\xf9!\\x81\\xbd(\\xc9\\xfe\\x9e\\xa0\\\n=\\xddY\\xeb\\x9f$X\\xc2\\xa8\\x92\\x87\\x06\\x5c$d\\x16\\\n\\x0a\\xa5\\x22}b\\xaa\\x9c)\\xd3\\x0f\\xd7d\\xaf\\xc8\\xb8A\\\n\\xf9\\xf4\\xf081\\xdd?\\xb5\\xe6\\x02\\xa7\\x14\\x8b\\x9e\\xcd\\x9d\\\nNs\\xb1\\xb7O\\xcfz-\\xcb:\\xf1\\xb6|6\\xc2S\\\n\\x15\\x07\\xdb\\xc6\\xd0\\x86\\x22\\xbd\\x9c\\x9e\\x8aQ\\xc8\\x0a\\x1aC\\\n\\xe0\\xd3\\xd1\\x1f\\x8e\\x0e\\xc9\\x1fn\\xc0\\x14n\\xfa\\xfc\\xd3\\x09\\\n_\\xdd\\x97\\x22~S\\xabUfQ\\xd4\\x90\\xdbzS\\xac\\\n?\\xea\\xd0H\\x1c\\x0d\\xff\\x9f\\xaa\\xeb_\\xd0U\\xb3\\x96\\xa4\\\n\\xb7\\xbb\\xdd\\xd2\\x1d[l\\xb7'\\xb5\\xc1\\xa8q\\xd7\\x83\\xff\\\n\\x0dg\\x8d\\xb3hs\\xbb\\xb6\\x03\\xa7\\x94\\x02.\\xf5f\\x0e\\\nt\\xc0\\xd2q\\x83*\\xc0\\xb6\\xa1\\xd4v\\x07ES\\xd8\\x9b\\\n7w\\xb7\\xf1\\x02\\x81\\x83d\\xc8fw\\xd2\\xeb\\xa3\\x89\\xe8\\\n0\\x05\\x19\\xb9\\xcbig\\xd11\\xfe\\x9dPT\\xa8\\xea\\xe1\\\n\\xde\\xab\\xefO\\xf6\\xab\\xaf\\xf6\\xbe\\xdf>9\\xf8q\\xef\\xe5\\\n\\xde\\xee\\xc1\\x0f/_n\\x9f\\xecSL\\xca\\x16\\x96\\x84\\xc5\\\n\\xd4y\\xbfD\\xd9\\x93\\xfd\\x83\\x9d\\xbf9E{\\xdd\\xd1l\\\n\\xca#\\xa3\\xb0\\x16\\x07 @_N\\xda}\\xb2{\\x85\\xf4\\\n\\xb7o;\\x08A\\xbf\\xa1\\xe3\\xdd.|y\\xe3\\xa9\\xed>\\\n\\xe7\\xf4|\\xc6\\x0edLa3\\xc3\\xfd\\x13\\xaaG\\xacP\\\n\\xb5\\x88\\x97\\xd1\\xf8\\xce\\xf9A\\xec\\xfa\\xed\\xdb\\xf1U{8\\\n\\x1b\\x0d\\xee\\xfe\\xf4d>\\x9f\\xbf};\\x1c\\xd1\\xab\\x89\\xe9\\\n\\x9f\\xeao\\xdf\\xae\\x1ah\\xc8t\\xb26\\x81\\xbf?ia\\\n\\x88\\xd2\\xb4\\xeb5r\\x01Iw_\\xbc}\\xebJ\\xf4w\\\n\\x7f\\xaa\\xcf\\xbf\\x80\\x02\\xf5\\x96\\x9a\\xb5/\\x1b\\xd1>\\x05\\xa0\\\n\\x03\\xd2\\xc1\\x08\\x91N\\xca\\xab\\x11\\xa5\\xd1\\x12\\xd7i\\x87\\x1c\\\n\\x9c\\x12\\x16\\xbbN9J/\\x22E\\x97k\\xd0\\xb0\\x93\\xb4\\\nZk)\\xd2\\xc1\\xc1r\\xf2\\xbaDg\\x9a;\\xc8\\x22\\xa9\\\nz~\\xd7\\x99\\xe3\\xc8\\xf0Z\\xd2\\xa4Q\\xdfz\\xc3w0\\\n:(\\x8a\\x14\\xdd}=\\xa6\\xd7\\xa9\\xefp\\x7f\\x80#M\\\n\\x13\\xb2\\x00\\xaf\\xb0rr@\\x98\\xe6C\\xc1\\x82D<\\x0d\\\n/\\xc2\\xf8'\\x89\\x04\\xcd\\x15q.D(\\x00\\xb9x~\\\n\\x07\\x85`\\x06L\\x05\\xd3\\xebq\\xb8\\x02\\x94\\xa0\\x1e*o\\\nFS\\xd4\\x81\\x09\\xee\\x19$\\x01,\\xaa\\xc6\\x0e\\xb8p \\\n\\xe9\\xc5\\x03\\xd5\\xec\\xa6\\x9d~{B\\xba\\xa1\\xd7\\xe3t\\xd2\\\n\\xc6\\xa0c2s\\x92\\x85x\\x1cI\\x16\\xed\\x93\\x92\\xad\\xc1\\\n\\x11\\xd9\\x91:~\\xdf\\x1b\\x1f\\x12\\xfd5\\x22\\xfb;R\\x97\\\n\\xe9\\xf0b\\xd2\\xee4\\xa2\\xef\\xf9G\\xa4\\xe8\\xf3\\xcc~G\\\n\\xf6\\xff\\x81\\x06\\x0bs\\x81\\x08\\xba\\x85\\x99\\x18u\\xad7\\x1c\\\n\\x0d\\xbcL4h\\x8f\\xe1\\xbf\\x9aT\\xbd\\x10\\x02\\xab_\\x08\\\n\\x00Mtx$;/(sz\\x05S\\x8d\\x086\\xa4\\\n~\\x8c)\\xccb\\xac\\xbb\\xf4\\x16\\x03\\xd2\\x8c\\x16C\\x92C\\\n\\xeb\\x96\\xba\\xb5\\x13\\x0f\\xb0\\xb7\\xdb\\xac\\x8d\\xf8\\xe6\\xe9\\xb7_\\\n\\xaa\\xa7\\xea+\\xc87\\x13\\xeago\\xaa\\xafa\\xc9\\xe3e\\\n\\x8cQw4\\xeeX\\x01\\x00\\xfc\\xe7\\xe51\\xad$\\xb9~\\\n\\x05q\\x07\\xfe?\\x9a\\xf4\\xed\\xffE\\xb4w\\x95\\xcejj\\\nS\\xe5\\xfek\\xc5-\\x15Q]\\xebQ\\xa0\\xb6\\xfa\\xe3k\\\n\\xc3\\xe7\\x0b\\x14E\\x8e\\x19,\\xfe4}\\x83\\xb6t65\\\n\\x97\\x05\\x80y\\xa2;\\x95pO\\xea\\xd8\\x13\\xd3>\\xb6u\\\n\\xd9\\xc6\\xe3~!\\x16:@\\x18\\x11\\xc3,\\x18\\x1dB\\x11\\\n\\x06\\xda\\xd4.\\xfe\\xda\\x9e\\xb9\\x15i\\x0c\\xb5g\\x5c\\x8b\\x0f\\\nQ'\\x08\\x02H\\xbb\\xa1*\\xea4.\\x01\\xd0\\xd9i\\x17\\\n:\\xb3\\xedt\\xc6\\xfe\\xf3\\x18t\\xab\\xa8J\\xda\\xbfh7\\\n\\xd2\\xd8X\\xae\\x8d\\x8e$\\xb9\\xe55S\\xc6\\xf2\\xc1R\\xf4\\\n\\x8fA?,\\x1c:#\\xaa\\xe8\\x98V\\xd8t\\xd0\\xee\\xf7\\\n\\x81CMz\\xb7\\x855`\\xbb\\x5cA}\\xe3\\x09u\\x7f\\\n\\xd3\\xa9A\\xcb\\x5cP|O~\\xd2\\x853\\x00\\xe8o\\xde\\\nm\\x22\\x0dI\\x13R\\x04\\x8b\\x92hD\\xc8O?\\x0c\\xcd\\\n\\xc8\\xc2\\xeb\\xa5\\x83\\x02\\x00\\x86\\xe1pD\\x08_t\\x10T\\\nQ\\xe3\\x5c\\xdb\\xa2\\x15\\xb3|}s\\xd5\\xe5\\xc7\\x92@\\xc8\\\nw\\xc0\\xe3\\xfb\\x18T\\x0bk\\xae\\xd5\\xbe^$x\\xed\\xbd\\\n\\x9a\\xb7pO\\x98,\\x05O7@\\x5c\\xa0\\xff\\xa3\\x14\\xd8\\\n\\xac\\xd5\\xbfZ\\xa6\\x81\\xa5\\xe0\\xa5\\x81\\xf9\\x5c\\xe35\\x0ei\\\nC\\x8d\\x00\\x12:[\\xe2Y\\xc4\\x1c\\x92p\\xf2\\xf0\\xfc=\\\n\\x91g\\x14@V\\x03\\x12\\xf3\\xa6%\\x0d\\xb2=\\xb9\\xbcf\\\n\\x073l\\x97\\x0a\\x02\\x0d\\x9c\\xfa/\\xc9\\x1a\\x1f\\xb51P\\\nT4\\x0c \\xab\\x03a\\xe25\\x1b$J<\\xf4\\xcb\\xfe\\\n\\xe8\\xbc\\xddw\\x0f\\xb3\\x9c\\xd2\\xe4?h\\x1b{\\xb0\\x9b\\xc0\\\n\\xbfJ\\x12Hb\\x9a\\xae\\xad\\xe1\\xb0\\xf6\\x809\\xe3\\xdd\\x03\\\n>\\xfb\\x82!\\xbd\\x1a\\xcd\\xb6\\xfb\\xfd\\xd1M\\xda=\\x18\\xee\\\n\\xa1\\x06:\\xfas}\\x05\\xe0W\\xda\\x9c\\xba\\xd2\\x1b\\xae\\xfc\\\nys\\xc5a\\xe0\\x11\\x9dJ\\xfd\\xaaa=\\xd8\\xb6\\xfdv\\\nHT\\x1dc\\xec`j\\x0f\\x1a\\xd0)+\\x7f\\xaes]\\\n^\\xe9D\\x07\\x14n\\x8f\\xc7\\xfdOx\\xbe\\xe6\\x133J\\\n\\xbb\\xb0\\xcf\\xf7\\xc9H\\x81p\\xa1\\x8f\\xcb\\xdd\\x86\\x87\\xab\\x83\\\n\\xdd\\x12T\\x13\\xa3\\xc2\\xd6\\x11\\x11\\x17\\x1ct\\xdd\\x9e\\x8b\\xfb\\\n\\x8c`\\xae\\xca\\xa7\\xd2\\xe8\\x13TT:\\x92g\\x88@\\x8a\\\n\\xa6\\x8c\\x05\\xd7$L\\x17M\\x0a\\xa9A\\x10kk%X\\\n\\xaep\\x0c\\xba\\xf8a\\x0c\\xac\\x1aM\\xb0\\xa5\\x0b\\x92\\xfd\\xd9\\\n(\\xe7\\x0ep\\xe0ij\\x83O\\xcbg\\xf4\\xa7u\\x7f\\x8f\\\nI\\xfa\\x08-\\x89q\\xb89\\x11\\xbb#\\xfa\\xbb\\xf2\\x97?\\\n\\xd7\\xff\\xc2\\x0f\\x0aa\\x1aW\\xbax\\x94M\\xbb\\x22\\xa8C\\\n\\xeb\\x81j\\x93;\\x92\\xeb\\xb7\\xb6\\xb6\\x228\\xeb\\xe03\\xb4\\\n\\xd8\\xcc!H\\xeb>ZY\\x9a\\x8f\\xefl\\x10\\xee0\\x0e\\\n\\xf1\\x14\\x90,7,8\\xcf^\\x90\\x95\\xecE\\xbe'\\xd4\\\n\\xdf\\xf3v\\x173W\\xbd\\x99\\x10\\x8b1 \\x03HB2\\\niR\\xcf\\xf0\\x02\\xb7\\x1dX\\xc5H\\x9a\\xae\\x0eH+\\xec\\\n\\x16\\x92;\\x15\\xd2\\xca%<\\xc4x\\xd5\\xc2i\\x1b;]\\\n\\xedu\\xf5\\xe1;V\\x1d~\\x80(\\xda\\x86_\\xd0\\xaa\\xd0\\\n\\xc1\\xa6\\x91\\xa0C\\xa4\\xca\\xa7\\xb5\\x0c7\\xc3\\xd3yd\\xcf\\\nro\\xdf\\xba\\xb2tg\\xba,\\xa3k\\xa2e^\\x92t\\\n\\xa6\\xfa\\x86\\x84^\\xa6C\\xf9\\x8ec\\xce\\xc7\\x18\\xd5\\xda\\xba\\\n\\xfc\\xaa\\x80\\x1c\\xd4\\xc9\\x19\\x9b\\xbfu\\xb6\\xf8C\\xc3\\xb6\\xbb\\\n\\xf5y\\xe4(\\x0b*NN\\xc5>\\xffIg\\xbb\\xe9\\x05\\\n\\xb4\\xaa\\x82\\x07\\x94\\xc9\\x00\\xf6\\xbe\\xd1\\x18\\xd5\\x91e\\x1em\\\n\\xcb \\xce=[\\xfc>\\xb8\\xd3\\xc3\\x5c\\x02w\\xbfy\\xdc\\\n\\xa4]I\\x16\\x8f\\xb5\\x1c\\xe1\\x0d\\x80s\\x95\\xc5>\\xc1\\xe4\\\n&K\\xae\\xc7\\x13`x\\xce\\xc1\\xaa\\xf8:\\x0cF\\xf1\\x0a\\\n\\x8d\\x8c\\xd0\\x01/\\x17\\x15\\x0aH:kken\\xa7\\xb7\\\n\\xb6\\x16q\\xdb\\xc6:\\x05\\x8a\\xed\\x1c\\x93\\x09\\xbe\\xb4\\xd73\\\n3@'\\x94\\x0c+\\xa0\\x83\\xcc\\x02%\\xaf\\x91\\xdc\\xa9\\x01\\\nT\\xf8R\\xdc\\xe5\\xc0nx0\\xb4r=n\\x84\\x9d\\xf6\\\npe4\\x04\\xfe\\x85\\xfe\\xc0\\xd0\\x83R\\x0f\\xcf\\xec\\xb0=\\\n\\xa4+\\xba\\xce\\xfc\\xd6\\xd8\\xa2\\xdb5\\xf7\\x0a.\\xd8\\xd6\\xf6\\\n\\xec\\xe4*%\\xc1\\x0f\\xd0\\xfc\\xfa\\xe2\\xd04:\\xb8\\x9e\\xce\\\nV:\\xa3A\\xba\\xd2\\x9eQS\\xa4\\x8c@\\xa8\\x95\\xd1\\x05\\\n%\\xc8\\xc1#\\xd3\\x16\\xa1!\\xa1\\x7f\\xe7\\x8a\\x0e\\x83A\\x12\\\n\\x9d\\x14\\x12\\xdcs(\\xf2>\\x9dM\\x19\\xabdW6\\xbc\\\n\\x1e\\x141\\xd6n:,\\xca\\xc2\\xf3(\\xef\\xe3\\xf8+\\xa3\\\n\\xfb\\x9fM\\xaegL\\x9b\\xac\\xe8\\x89\\xca\\xd0H\\xb1\\xf2_\\\n=T\\x1a\\xfa\\xb1\\xe0\\xea\\xa0\\xc96[%\\x18\\xf6]\\xbf\\\n\\xe1\\x1f\\x81\\xd5\\xa4\\x919\\xe9\\xaa\\x88\\x9e?\\x9f\\xf5'\\xd9\\\nM\\xee\\xa0\\xdfO/%\\x5c,L\\x93|\\xb2\\xcb'\\x1c\\\n\\xf9\\x0a]\\xd9_\\xf4Db\\xb2\\xdbl\\x1f]T\\x22\\x1a\\\n\\xaa0L\\xf6\\x10E_\\xd0\\xed\\x91|\\xf7'\\xee\\x8e\\x80\\\n\\xb9@\\xeer\\xd8\\xcf\\x90:\\x9e\\xb3\\x15\\x1d\\xc6\\x15\\xa9\\x11\\\n\\x15a!\\xbe\\xe3Qb.:$I\\xb5\\x7f)T\\xd9\\\nk\\x11\\x1d\\xe6H\\x8b\\x9b\\x0cM\\xd5\\x008\\xfd]\\x02\\x9e\\\n\\x1a\\xe45\\xd9y\\x9f\\x14\\x89\\xb2:\\xd0!t\\x8b\\x1c\\xab\\\n\\x1b\\xa7i\\x0fs8f\\xfc\\x86\\xe4h\\xd2M/,\\xbd\\\ne\\xd23\\xc4\\x06\\xc5\\x11\\x94\\xefB\\x85\\xa3P\\xb7\\x09\\xeb\\\n\\xb8r(a(\\xcf\\xc0:\\xefcE\\x08\\xbb\\xbf'<\\\n\\xc4\\x02I\\x9a\\xef\\x8b\\xdem\\xda}\\x81.\\xae\\x08\\x84\\x9a\\\n\\xb2W_\\xf8\\x83\\xb0\\x85O\\xf4\\xe71O\\x0b`\\x80\\x03\\\n\\xa1\\xf1\\xbcPl\\x1at{\\x95\\x9c\\xc1AUE'|\\\nb\\x8c\\x8e\\x8f\\xa3\\xd6\\x19\\xc1\\xb4\\x84B\\xc5\\xed\\x9cKs\\\n\\xcf\\xdbh\\xd2{u\\x8c`/F\\xe8M\\x0fR\\xc8\\xd4\\\no\\x85\\x8a\\xae\\xc0\\xfe\\xef\\x92\\x9a\\xc5\\x04e3%\\xe1\\x01\\\n9\\x91\\xea\\xb7\\x18\\x09\\xae\\x9e\\x15\\x0d\\x9b)\\x91\\xef\\xe4(\\\n\\xa8kR\\x8b\\x1b!\\xc8z\\x1e\\x92r*\\xf5x\\x9e\\xa3\\\n_\\xcdH3\\xf6#r\\x7f\\x93v\\x8b\\x0dI\\xd8>\\xee\\\n*\\xed\\xbc\\xdf\\xfb\\x80g\\x92\\x92k[\\xa2\\xd9nI\\xd7\\\n\\xe3\\xac\\xfb\\xbc\\xc5I\\xc6F\\xc45'\\x11\\xf5\\x01\\xdf\\xa6\\\n9\\xb7'\\xd8o\\xe4\\xc5\\xe4\\xc9H\\xacS\\xe4\\xe2\\x9b#\\\nT\\xa3\\x9a\\xdc-\\x00R\\xdd1$\\xa1=\\x09\\x8b\\x93\\xd2\\\n\\x80\\x0f\\xc2\\x11\\xe8\\xf0\\xd2L\\xe9sw\\x11f\\xf04x\\\n\\x89W\\x92\\x12\\xa5P*\\x5c\\x800\\x81\\xd7f\\x9c\\x1e\\xea\\\n\\x98\\xc5H\\x5cE\\xfa\\xd7\\xca\\x09g\\x7f\\xef\\x00\\xa7Ca\\\n\\x01\\xa4\\x07R_\\x95\\xf0\\x97\\xb9\\xcdqD\\x8a>B\\xf5\\\n\\xc9+\\xa9M\\x9c`\\xe2\\x84]\\x82\\xda\\xd4\\x0e\\xa6\\x8ay\\\n\\x8f;uz\\xdc\\xdc\\xed*\\xf1\\xb3\\xfc\\x98\\x7f\\xdbt\\xba\\\n&F\\x8c=\\xdf\\xbeH\\xfe\\xde\\xdfG\\xa4\\xffq+x\\\n\\x82w\\xb5\\xbf}r}\\xf5U\\xcez*\\xe3'\\xd0\\xdd\\\nu\\xcd\\xb5CT\\xb6\\x18\\xc2\\xad-c\\x81\\x8f|s\\x22\\\n\\x910\\x99\\x95j\\xcc\\xca!\\x82\\x1ce\\xb4\\x85\\xb7N\\x85\\\n\\x04t\\xdf\\xb6g\\x0f\\xd2\\x9d\\x84}BW2\\x88A\\xee\\\nn\\x14iB\\xc4\\xc7\\xec\\xf4xS\\xc0\\xe1\\xcc\\xf4\\xf1\\xd1\\\nC\\x02\\xae\\x1b\\x10\\x1f\\x16\\xc0\\x1b\\xf3\\xa9\\xbf\\xd7*\\xdf\\xb6\\\n62\\xdb\\xf3\\x9b\\xd1\\xb47\\xeb}L\\xe9N\\x8c\\xf6.\\\n\\xe0\\x96\\xbaZ\\x90\\x0aW\\xb4\\x5c\\x85R\\xd5\\xcaX\\xa0a\\\n\\xab&p\\xe7\\xca'\\xdbp\\x0b$\\x88g\\xb5fL\\x03\\\n,'\\xa4\\xc6\\x15<\\x88\\xb3\\x81Z:X\\x81\\xff\\x226\\\nlBw\\xd0\\x82&\\x0df\\x96\\x93E\\xb0;\\x9f\\xfe\\xb2\\\nx\\x90\\x0b4\\xc5\\x90\\xa8\\xfd)\\xf9\\xac\\xe2\\xc5\\xa4D\\xd5\\\n\\xc8\\xa4\\x03\\xb5x\\xba\\xc9,\\xcd\\xc0\\xfcw2\\xae\\xa0|\\\n\\xb6\\x93\\xd7\\x95P\\x11<\\x13\\xd3\\x0f\\x10\\xfa\\xb5\\xc9\\xb3\\x1c\\\nf\\xd1\\x95\\x10_Y+j\\xc3\\xf6\\x00\\x8fQ\\xd9\\x0e\\xa0\\\n\\x19\\x8c\\xd7|V[s\\xc9\\x8fv\\x00n\\xae\\x9c\\xae\\xe5\\\n\\x9f\\xc7\\xb8\\xe5\\xd2\\x0fC\\x90\\x1d}\\xd2\\xc2\\xbf\\xc3tt\\\n=}\\x95Ng\\x80\\xc2\\xbd\\x0f\\xa8\\xa8\\xd5\\x89+CN\\\nE\\xd1\\x5c\\xabvWPJ\\xed@\\xd7\\xd2i\\xd4\\x0a\\xa1\\\n\\x82\\x9b!\\xbd\\x91w\\x93\\x9b\\x11\\xf6z\\x92,\\xeb\\x11\\x9f\\\nc\\xf8\\xa7\\xaa&\\xbf*\\xd4\\xef+t\\x80\\x1f9iy\\\n\\x052\\x12\\xba>W\\x91V\\x95\\x0f_R\\x09y|\\xe3\\\nv\\xf1\\xa8\\xa8/\\x9d)\\x9b\\xde\\xe0\\xd3\\x05\\xef\\xaas\\x88\\\nT\\xf0\\xffQY\\x17\\xc2E\\xd30@Y\\xb8\\x1c\\xa8H\\\n\\x0er6\\xb59K\\x9eB\\xf9\\xae)\\x83\\xb7\\xce\\xd5D\\\n\\xf5\\xd5D?\\xab\\xbd\\xb0\\x96kQ\\xb9\\xd4/O\\xe2r\\\n\\xe4\\x18\\xb0\\xf5\\xe9k\\xae\\xceG\\xb3$x\\x12r\\x8c%\\\n3\\xa2'\\x1bj\\x89i\\x16\\xfeA\\xad\\xc6\\xb4\\xc4f\\x0c\\\n\\xd5\\x8b\\xc9h\\xb0\\x03\\x09;hG\\x0e}\\x8a\\x8d\\x0e\\xc7\\\n5_\\x0c\\xeb\\xa4\\x8f\\xf6\\x0e\\xe7dv\\x955\\xaac\\x03\\\n\\xb0\\xe6\\x83\\xf6q\\xd0ei\\x0d\\xad\\xc4\\xf2\\x16rO\\xd9\\\n\\xea\\x0cG\\x8d6r0v\\xc7Jn4\\xfb|;\\xb9\\\n\\xd1lA\\xbb\\x95\\xea\\xe6\\x97\\xda6\\xcf\\xb3\\xe6\\xd2\\x88\\xa1\\\n\\xe0@\\xaf\\xffF\\x025\\x1d\\x82\\xbc\\xf3\\xc8\\x02M\\xc3\\x12\\\n\\xfa\\x13\\xe6\\x16\\xe8\\xc9\\xa0\\xb3\\x852w\\xa3\\x83G51\\\n#17\\x19[\\x9d\\x06\\xf9\\x9f\\xf04\\x9c\\xbd\\xe9\\x14\\x0f\\\n\\xe9\\x93\\x1f\\x86\\x93\\xb43\\xba\\x1c\\xf6~M\\xbb\\xd41\\xd4\\\n\\xadr\\xe6\\x0a\\xc8\\xe2\\xd7N\\xf6\\x8a\\xa91#\\xa6\\xd3\\xa8\\\n|\\x96\\xe6\\x5c\\x22D\\xebQ\\x92d\\x97\\xb9~\\xda\\x00\\x00\\\n\\x22\\xe3ID\\xda\\x09zxs$,}Y\\x81\\xbc\\xd4\\\nSz\\xe7\\xb5\\xd0re\\x80\\xa6\\xc9\\xae2;\\xbeC\\xed\\\n&\\xef\\x22\\xd0\\x86w\\xa3\\xe0i\\x1d\\x99U\\x97,tu\\\n6\\x12\\xfb\\x1d9\\xc8!\\xf5z\\x87w\\xd2GE\\xe5\\x9c\\\nN\\xd4m$\\xa6\\xb3<>l!\\x8ak\\xe6/\\x06\\x5c\\\nk\\xca\\x80\\xee\\xdf\\xabl\\x8eao/\\xd3\\xd9R\\xb8\\xa0\\\n[\\x18[\\x1cQ\\x93\\xdbN|\\xa5\\xbb\\x8e2}=e\\\n\\xe5\\xf7Aw\\xcaz_tTY\\xd01*\\x1ag\\x14\\\n\\xe0n\\x9e\\xe8\\xc1\\xddq\\xa0\\x12\\x9ak\\x85\\xe9.\\xf2/\\\n\\xc6\\x001\\xab\\xb6\\x0fv\\xa7g\\x9c`t\\xddN\\x92\\xde\\\n(\\xd0l\\xae\\xd9\\x1d\\xdd!5\\xf1\\x8d\\x11\\x06;\\x8d~\\\n\\x01\\x16->\\x1e\\x8a\\x1a\\x03\\xdc\\xda\\x86\\x0ev\\xbdF\\xe0\\\n3n\\x0a\\x12\\xa0\\xef\\x19\\x94\\x15\\x8f\\x9b\\xe1c\\xfd\\xfa8\\\n\\xd7\\xeb\\xa4.G\\xc3~\\xda\\x9e \\xdd\\x90@\\x05\\xbb\\xbb\\\n|/A\\xedr\\xbd\\xe3\\xdc\\xe9\\xe4R\\xa0\\xc7~\\x1au\\\n\\x0e\\x1f\\xfe\\xdc\\x1e\\xa01^\\xbb\\xff\\xf2\\xb5m\\x09\\x15o\\\n\\xd6\\xa0\\x8eM\\xe9\\x1c\\xc5\\x9f\\xb1\\xa6\\x03Z21\\xa1#\\\n\\xf6g\\x8c\\xa2\\x8f\\x0e\\xee\\xcc\\x0aIr\\x90\\xd7\\x9e\\x8d\\x06\\\n\\xd9\\xac\\xfb{\\xfde\\x5cQf\\x12\\x5cmc\\x1c\\xdf\\xe9\\\n\\xdc\\xdet\\xcf\\xfa\\x80G\\x85*\\x81]\\x0f9d\\x0e-\\\n\\xa8\\x1e.W2q\\x9b\\xfb\\xccD\\x9f\\xb4\\x93\\xcc\\x13\\x83\\\n\\xea\\xf1\\xf59]/\\x94\\xee\\xb0o\\x0d\\xab]U\\x88 \\\n\\x87GkQ\\x94Os,n\\x1d\\xff\\xf0f\\xef\\xa8d\\\n\\x0f'U,\\xe3\\x9c[d_\\xd0e\\x13\\xfdc\\xa1\\xbc\\\n\\xc8\\x9bU\\xfbc\\x9a\\xdc\\xb1qX\\xfe\\x92n\\xae\\x82\\x02\\\n\\xa2\\xad~5(\\xac\\x82\\x10:\\xec\\xb29nVpt\\\n\\x9fE\\x08Wvi\\xc4\\xc6\\x1a\\x11n8\\xeb\\x16]m\\\n2\\x90\\x8d\\xefI*\\x5c4\\xe8\\x06P\\xe7@\\x9bd \\\n\\x04UxyD'\\x11\\x00w\\xc2\\xbf%h\\xe6\\x0a\\x9d\\\n?r\\xc5\\xa3\\xf8\\xae.\\x8eZ\\xec\\xdb\\x8d\\xfce\\x1eN\\\n&\\x14\\x9b\\xbe\\xc6'_x\\xa3wr\\x95\\xae\\xe0Q\\xd9\\\n\\xd5\\x7f\\xc3\\x81\\xca\\xd1|\\xf3\\xe1\\xea\\x0a\\xa6`\\x05H\\xb8\\\n3\\xeb\\x7fZ\\x81\\xd9Z\\xe1\\xdeG\\xd6v\\xc6\\xc8\\xc3\\x8c\\\n=\\xeb;\\x0f\\xa5\\x1a3\\x1e\\xdd\\xf7\\x13\\x04r{\\xaf\\xdd\\\n\\xe1\\xe4\\xa8H\\x03W;\\xed~\\xdf%$w\\x96\\x98-\\\n\\x88v\\xd1\\xcd\\xa8\\xd4UOnb+u\\xeb\\x98\\x88@\\\n`q\\xe1\\xfar\\xe6A?\\xa8)\\xc8N|%\\xb3\\xdb\\\n\\x8f\\xb3\\xc1\\xe2\\xba\\x06\\x0b\\xea\\x22\\xfdt,!k\\xdd+\\\nko\\xbd\\xc8\\xa7\\xec\\xff\\xfa\\x1c\\xe6\\x82{\\x15h\\xc3\\x80\\\n\\x12\\x0f\\x9e\\x15<Z\\xfe\\xd0z\\x97**E\\xb6j\\x8d\\\n\\x10\\xda\\x9c\\xce\\xcb\\xe6u\\xa6=\\xa6S\\xfb&\\xbeT\\x0e\\\n\\x10\\x03]\\x12\\xbb\\xccUk\\x98&O\\xd7l\\x92`\\xac\\\nQ*\\xb5E+\\x88~\\xa6\\xdd\\x19\\xab\\xef\\x01\\xa0\\xe9\\xd4\\\n\\xdek%\\x90\\x92]b:\\x0f\\xe4\\x81\\xdc\\xf8\\x13\\xc3>\\\n\\x84U\\xccCZ\\xab\\x07\\xd9\\xa05\\xa7\\xc9\\xb0\\xc1\\xb0\\x9e\\\n\\xeb\\x1f\\xce\\x14\\xa7\\x01\\xae8UK\\xf2K\\x86Nt\\xef\\\nY~\\xe6\\xcb\\xb7\\xdf\\x99\\xadZ\\xc6Do\\xcd\\x16s\\xd6\\\n\\x0c\\x07\\x5c\\xc4_\\x1ff\\x8d\\x9a\\xda4Q\\xfd\\x11Km\\\n\\xabdy\\xdc\\x82\\x85B\\xdc\\xd0\\xf4\\xc5\\xd0\\xbb\\xb8\\xf5r\\\n\\x05 \\xbfG\\xae\\xf9\\x8a\\xdbn\\x8e\\xe7\\x06\\x96\\x08\\xb6\\xb9\\\n\\x04\\x0b~$\\xff\\xcd\\xd0\\x8f\\xbf\\xd2\\xa6\\xea\\x91\\x8b\\x91c\\\ni\\x99c\\xce\\xa8\\xdf\\xddA\\xd5\\x0e>\\x84hd\\xa1\\xec\\\n\\x83\\x85\\x8e\\x86Q\\xe6\\x97\\xe3\\xf5\\x1b\\xbe\\xd8\\xc5\\x1dz\\xcf\\\nC\\xe6\\x87)$v\\x09I8\\xef\\xfc\\xe8\\xe0\\xabMg\\\nr\\xe7(\\x94XEE}\\x7fo\\x09\\xc1\\xfd}\\x89\\xee\\\n\\x92\\xe5\\xb37=\\x18\\x0e\\xd3\\xc9\\xfd}\\x048\\x0b\\xaea\\\n \\xa1\\xcc\\xc2\\x11\\x7f\\x81\\x96\\xe8l\\xd5\\xdc\\xdb<e)\\\n\\xf7\\xdc\\xd4R\\xa4\\x0f\\xf9-jn\\xff\\xe1m\\x84/\\x89\\\n&\\xbd\\x99\\xfb\\x04\\x90\\xe8\\xac\\xe4\\x93\\xaeCmDhV\\\nG\\xa0\\xe5}G\\xf2\\x84\\x93\\x1fvv\\xee\\xea\\xf7\\xdc\\xb9\\\n\\xb6T\\xa6h\\xfa\\x90H\\xb0\\xab\\xe3I\\xca\\xef\\xf3\\xf1\\x09\\\n\\xcf\\x94\\x9e\\x86\\x942\\xa2\\xba3G,\\xa8\\xcb\\x87\\xb2\\x07\\\nY2\\x17r^\\x17yG5thaN&\\xfaC\\\n\\x1b\\x06\\xd5\\x95g\\x1a$\\xa7\\x1d\\xa9\\x95\\x057\\xf6N\\xa0\\\n_\\x019\\xad\\xd0k*\\x1a\\xc4h:{h\\x14\\x0f\\xd4\\\n\\x15\\x1cA6\\x9f\\xbb\\xa5\\x02\\x8e\\xb6\\xe5\\x5cg\\xc7\\x19\\x17\\\nA1N<\\x04\\xc5\\x0eF\\x80~\\xa9\\xa7\\xe4\\x9d\\x04\\xce\\\n6$d\\xae\\xad\\x09\\x92\\xc4[\\xaf3\\x16\\xc0\\x81\\xaa\\xd7\\\nj\\x05\\xc1\\x1c^\\xa6\\xd3i\\xfb2\\xe5\\xe7Y\\xa4\\x95&\\\ng\\xba+\\xf4\\xc6\\xca\\x7f\\xa1\\xa5[\\xc0\\xf7M\\xde\\x94`\\\n0\\xf6x\\x99\\xfa\\x81\\xa1\\x15\\xd4>`0\\xe2\\x19f$\\\nZ\\xc0\\xcc4Vk\\xfaG\\xc3\\x0c\\xbc\\x91tt:\\x9e\\\n\\xd9\\x9c\\xf9\\x9c\\xa5\\xa17f\\xb0PN\\xf6\\xaa?\\xbc\\xd9\\\n\\x85?!\\xaf\\xc2\\xe21\\x94:^\\xba\\x93\\xb7\\x96\\x0d\\xdd\\\n\\x04\\xbf\\x9bk\\x94\\xd0\\xd5\\xed.\\xda\\xaf\\x11\\xa3\\xe8\\x0dR\\\n4\\xd2i\\xd4\\xd4;\\xfc\\xaf}\\x8b\\xaf\\xe5\\xe0\\x0f\\xbe\\xa6\\\n\\x83\\x9d\\xc0,E\\x8a* \\x84:\\xc1\\xd7B{\\xfec\\\n3\\xfb\\xcel\\xa8\\xde\\xa7\\xe9\\x98\\x9f\\xc42^\\x5c\\x02D\\\n\\xd7\\x8a\\x0e\\x00\\x88\\xc1\\x96\\x9c\\xf4\\xaa\\xe2\\x05\\x96\\xf1\\x02\\x11\\\n\\x0ca\\x80o\\xf5\\xe4\\x05\\x9d\\x8e\\x5c\\xf0\\x1b\\xde&\\x12\\xb5\\\n>\\xf0:q\\xfaip>\\xeaO\\x03\\x0f\\x14\\xff\\xf0\\xb7\\\n\\x85\\xbb{/\\x9a\\xa1\\xe7\\x85\\xees\\xc1\\xec\\xab\\xb8\\x1e\\xde\\\n\\x9d^\\xb6\\x07\\x83v#\\xaa=\\xd9\\xdd%G\\x1c\\xef\\x81\\\n%\\xd3\\xf7\\x8b\\x1a}\\x7fO\\xf9g\\x90\\xf0\\xed\\x93HQ\\\ni|\\x13\\xd4\\x1e\\xceH\\xce\\xfeq\\xfb\\xe8`\\xfb\\xd5I\\\n\\xf5\\xe0\\x04\\x0e$;sz\\xe9\\xb3\\x9b\\xf6gR\\xe4\\xcb\\\n%\\x8b\\xc0YR\\x17\\xf9f\\xc9\\x22\\x87\\xed\\xc1yW\\xca\\\n<_\\xb2\\xccO=\\x86\\xdf[\\x12\\xfe\\x0d\\xc3o\\xd7\\x96\\\n\\x84?\\xee]\\x0a\\xb2\\xb6\\x97E\\xd6\\x0f\\xe3i\\xafOO\\\n\\x04\\xa0\\xd0\\xd3e\\xfbu%\\x1d\\xfbj\\xd9\\x02S)\\xb0\\\n,v_\\x0f\\xd2K\\x19\\xc9\\xb7\\xcb\\x149O\\xe95s\\\n\\xfd\\x09\\xf4\\xe8\\x12\\xf8F\\x9f>\\xbe\\x8eT\\xb7\\xdd\\xd7Y\\\n\\xd06\\x86H\\x1aO \\x9f\\xcc\\xef\\x9f\\xe0x\\xa5\\xda\\x17\\\n\\xa3\\xc9\\x00\\x15\\xfc-uE\\xae\\x1c\\xb1D\\xed\\x05\\x91 \\\n\\x88|W\\xfc\\x0ass\\xb3\\x16,r\\xde\\x87zg\\x98\\\nx\\x89\\xd2\\xc7\\xe6\\xd3\\xe7@x\\xfa\\xbb;\\xbaA\\xf4B\\\n\\xe2\\xee\\x83e\\x09\\x16A\\x81B\\xa6\\xc0\\xc4&T\\xdb\\x0b\\\n\\xa0\\xaf\\xe7\\xa3[\\xfd\\x93J8\\xb9;\\x91\\xea\\x8f~\\x05\\\n\\xdeM\\x9f;\\xdb\\x91\\xda\\xed\\xb5\\x07#\\xf4\\xbd\\xc9\\x9fT\\\n\\xc0\\x82|\\xbb\\x07\\x95tz\\x13\\x90\\xd8\\xbb\\xc7\\xd8\\xb3/\\\nw\\x16M\\xcb\\xab\\xd7G/\\xb7\\x0f\\xb1\\xa7\\xbdK\\xe4\\x96\\\nP\\xc3W\\x88\\x86\\xe9\\x18e,\\x10z\\xf4\\xa8\\xe1\\x7f\\x91\\\n\\x1a\\xa4\\xed)\\x06\\xa6\\xb0\\x89x\\xc7\\x90\\xde\\x02\\xc3\\x99\\xe2\\\ng\\xedK\\xb4\\x87@\\x8eG\\xef\\xae0\\x05\\x00\\x06W#\\\nD\\xf8&L\\x18\\xce\\x16>\\xbexQ[\\xa6O/z\\\n\\xc3\\x8f4\\xb9\\xd0t\\xb7\\xd7\\xbe\\xbc\\x1e\\xe3\\xa0\\xbf\\x86*\\\n\\xbf\\xa7\\xd7w\\x9b\\xf5/\\xeb\\x9c\\xa3Q\\xfb5@>?\\\n?\\x7fO\\x8d|\\xb5h\\xe5\\xee\\xbe\\xfe\\xe1\\xf9\\xe1\\xde\\xf1\\\n\\xc9\\xd1\\x0f;\\x7f\\x83\\xa6>\\xa5P\\xbeV\\xc3E\\x22\\xc8\\\n;\\xa2o\\x98*\\x92\\xe0\\x07\\xc0\\xbc\\xa0\\x81\\xaf\\xeb\\xb0\\xf4\\\n\\x06m\\x10\\x95\\xa6\\xd8\\xfe\\xd7\\x9b\\xb5h\\xae\\xbc\\xa7\\xc0\\xdd\\\n\\xd1l\\xdc\\xbf&l\\xd4\\x01\\x1b\\xfd\\x19\\xd0#}\\xed\\x00\\\n\\xa9\\xd3\\xab\\x1f\\xd8\\xc2@\\xe8\\x15\\x10\\xa0\\xe8\\x89\\x05\\x81\\xe9\\\n\\xdci\\xe3 7wq\\xc8\\xa3k\\x90j;6\\x01u\\\n%\\xb3\\xabI\\x9a\\xda\\x120\\xc4\\x9dk\\x06xbJ\\xd8\\\n\\x04\\xb2\\x94\\xc9\\x14\\xd9\\xc1\\x952\\xb9I\\xbbD/\\x9b\\xcf\\\n\\xe1\\xbbs=\\xe9\\x7f2);\\xb82\\xd2\\xf4\\x9c\\xa8a\\\n\\xf3\\xf9s\\xc9\\x87$\\xca\\xdd\\xd3\\xed8\\xb5l?\\x85\\xd4\\\n\\xf3\\xd1\\xad\\x19\\xd8\\xb7/\\x0c\\x22\\xbb\\xbc\\xe06\\xbf\\xdd%\\\n\\x10\\xd3\\x11d|\\x02\\xd2\\x9e\\x12\\xb1 \\xab\\x05\\x08|+\\\n\\x8c\\xf9u\\x93\\x8f\\x7f\\x08`\\x9b\\x004\\x82\\x91\\xd5\\xb2\\xd5\\\n\\x0f?/\\x86\\xce\\x05Wp\\xb7\\xf7\\x11\\x8e\\x1a\\xa3\\xa1\\xc5\\\n\\x01\\x90\\x22^\\xfcN\\x80\\xc0i\\x8c\\xdb\\x88\\xdc\\x0f\\x1f\\xf0\\\n\\xf7W\\xc8d\\xf4\\xef\\xaf)\\x1dx\\x06Q\\xf3\\xf6\\xd7\\xbb\\\n\\x94g\\xbf\\xf7\\xf0\\x8d/}\\xf61p\\x0d$}\\xfb\\xd4\\\n$]\\xce&\\x94\\xf2\\x15V2\\x9dN{\\x03\\xac\\x13I\\\n\\x14r\\xf4\\xd7\\x13\\xce\\x84\\x8dqBL`\\xfb\\x9b\\xa7\\x94\\\n\\xef$@y\\xfeJ\\xa9S_ns\\x11A\\xd3\\xeeW\\\n\\x04\\xaf\\xbf\\xb0\\xc7}\\x1a\\xd4\\xee7\\xf4\\x93\\xfbE_\\x97\\\n\\x97\\x97\\xf4\\xf3[\\xfaI\\xbd\\xa3\\x0f\\x84\\x91\\xcf\\xaf\\xb96\\\n]\\xea\\xeb\\xaf97\\xfd\\xa0\\xc1\\xb7)\\x1fDo]\\xef\\\ns\\x0d! \\xdb\\xdf<\\x17\\x10\\x0d\\xb3\\xfd\\xcd\\x0e\\x92\\xcc\\\n,\\xfd \\x9d|\\x0a3\\xbb\\x8b\\xdf\\xfa#\\xfd\\xa0g\\xf8\\\n).\\x88\\x1e\\xden\\xa2\\x15\\x80@<aB\\x90/\\xe8\\\n\\xd2\\x05,#\\x1fd\\xd3\\xb2dN\\xd8\\xe1\\xfd@\\xd0\\xfc\\\nd7b\\xeb\\xd5)=\\x12\\x86\\x84\\x9d \\xbb\\xe6\\x12\\x5c\\\n\\xc5\\x8e.#S\\x81\\xc5\\xbe\\xfc&T\\x0c\\xef\\x90A\\xc6\\\n#\\x9a\\xd9F\\x12\\x9c^\\x8f\\x9d\\x04\\x18\\xd21A\\x10\\xbe\\\nj\\xf85\\xd6_u\\xdc\\x0a\\xa6&\\xf7\\x9b\\x17\\xfc\\xad\\xf3\\\n\\xbf\\xada\\x04\\xa7\\xb4C\\x0b\\x90\\xbb\\x85\\xef\\xd6\\xa6\\xd7\\x1d\\\n/iW\\x96h\\xfa\\x01\\x81\\xa9\\xe2=\\x93\\x84\\xc0\\x94\\xf4\\\n\\x82\\xeb\\xd2\\x94\\xb7\\xc7\\xf5\\xe8O\\xc9\\xb5t\\xf7\\xfck\\x06\\\npR\\xbe\\xa1-S#\\x9a^\\xfc\\xe2\\xeaA\\xd6t\\xd5\\\n\\xd5?\\x1d\\x08~\\xea\\x8b\\xe9\\xc8\\x8b\\x04\\xe4\\x89\\x9d*\\xac\\\n\\x81\\x87\\x80{\\xea\\xf5\\xf0\\xff\\xa7\\xee\\xcd\\x9b\\xe3H\\xb2;\\\n\\xc1\\xaf\\xc2\\x8a\\xd2t#\\x0b\\x91`x\\xdc\\x91\\xe8l.\\\n\\x08\\x80U\\xec\\xe6%\\x80U}\\x80Po\\x12H\\x92\\xd9\\\n\\x05dB\\x09\\x80d\\x09\\x84L\\xc7\\xaa\\x0fI\\xb3+\\xc9\\\n\\xc64\\xbalW3\\xda5\\x9b?\\xb4\\x87\\xcd\\xd8\\xcc\\xae\\\n\\xedj\\xfe\\xd1\\xfe\\xb92\\x9b\\xef\\xa0\\x0f0\\x9fa\\xdf\\xef\\\n=w\\x0f\\xf7\\xc8\\x88D\\xd6\\xd5-I]D\\xa4?\\xf7\\\n\\xe7\\xf7\\xf3\\xe7\\xcf\\xdfa\\xb08\\x07,\\xa3\\xd0y2\\xe4\\\n1h\\xe8\\xc7\\xeb\\x1dMZ\\xc0y|b\\xe8\\x0cx\\x8a\\\nO^\\xdb_[\\x86\\xec\\x9eNN\\x983H\\xe2\\xa4u\\\n\\x12_\\xcd\\xe6D\\x98\\x8fy\\x9e;\\xb2\\x00\\xcf\\x8b\\xb9>\\\n\\xf2\\x13\\x9c\\x88\\x1dx\\xceFs\\xcaJ\\x8c\\x0a#kg\\\n+.O\\xcf\\xf4\\x86\\xa6\\xa1'\\x16\\xe7\\xcd\\x18g\\x10\\x11\\\n\\x1d\\x9a\\xe0\\xbb5\\x90\\xa6\\xe9\\x0c\\xdem\\xe9Z\\xf7)O\\\nc\\x1ah\\x8b\\xf7\\xb3\\x8b\\x19\\x9f!;\\xb2\\xd4\\xc7\\x9a\\xd9\\\n\\xc3\\xa9\\xbb\\x13\\xf8\\xac\\x87\\x9e\\xaal;n\\x00\\xcc\\x0ce\\\n\\x98[\\xb6\\x88\\x85\\x83J\\xde2)Zu4\\xba<\\x97\\\n\\x9fB\\xd7d\\xb1\\xa4\\xfe4\\x0b\\x03\\xd4:d\\xdf\\x99M\\\n\\xb8E`B\\xa6\\x86f\\xe4\\xd4\\xa7\\xa9&(\\xf9=\\x06\\\n\\xc8:\\x8e\\x90\\xae\\xbf\\x95\\xa4\\x0b\\xad\\x85g\\x8d\\xb2h\\xab\\\n`\\xfa\\xd2\\xcb\\xd3\\xba?\\xa7L\\xdb\\x0ft\\x0d\\xed84\\\n\\x5c\\xb5\\xc1O\\xa6\\xdc&n\\xc1K\\xf3\\x0d\\xea:5\\xe7\\\nD)\\x00\\xf9\\x01\\x8a\\x0a;\\xd3\\xa9\\xc1\\x9a\\xb7\\xb6\\xea\\xa5\\\n\\x9f\\xa7j\\xafY\\x8f\\xf8.\\xe8\\xb2\\xfd\\x01\\xaa<uN\\\n\\x08\\x10t\\xf77\\xad\\xf9\\xa9\\xa1\\x04%\\x06\\xd5\\xd0\\x80R\\\ni\\xc8Xj\\xddm\\x1f\\x0fd79ZG\\x04(t\\\n\\x7f\\xb7\\xeefB'\\xec\\xef\\x5c(\\x89mm\\xa9\\xe1\\xe6\\\nw\\xa5\\xe1\\x0ea\\xa9t\\x16'\\x09}0\\xcb\\x0d\\xad>\\\n\\x9aM\\xf9\\xf4Js\\x00\\xbc\\xcd\\x9a\\xb6wbq#\\xe6\\\n\\xad\\x19\\x81G\\xa3\\x99\\xda\\xfc:\\xfb\\xb4&$\\xdb\\xf8e\\\n)\\x0e\\xed\\xb0iMr\\xb0\\xa0?\\xb10,\\xe9&\\x91\\\n\\xdc\\xddr\\x12-]\\x04\\xb3>]\\xa4\\x86\\xbb\\xdb\\xcd\\xcc\\\n:}\\x87\\xe7RN\\x1b\\x9e\\xcf\\x92\\x13\\xce\\xea\\x84\\xca\\xc9\\\n!3\\xd8\\xb1'\\xea3\\xea@\\x97\\xeb:\\xd8\\xa6\\x1a\\xf5\\\n\\x969\\xd8L\\xc2]\\xa6\\x02u\\xa6\\x03\\x9dk\\x11\\x11g\\\n;s\\xb3\\xdd]Z\\x9f\\x1c\\x9cw\\x9d\\x0a%e\\xdb\\xaf\\\n\\x91qq\\xbe\\xe5U\\xea|\\xadg>F\\xdd\\xfa\\x92\\x00\\\nyR\\xe0\\x0ey\\xd0k\\x17\\x14\\x92^\\x09\\x0b\\xdeL\\xce\\\nu\\xf6\\x06\\x16ZN\\x0fj'\\x15\\x94\\x02\\xdei\\xcfq\\\nk\\x81$j\\xfa\\xc5\\x9b\\xd9\\xab\\xf1\\xe8\\xd8\\xcb\\x0a\\xceV\\\n\\xa7\\xfb\\x05\\xc04\\xdb\\x9c\\x17\\xa3\\x09_\\x85\\xb7b\\xdd\\x02\\\n?\\x15\\xac\\xe5lv\\xc6\\x89z\\x19\\xaa\\xad\\xbbN\\xa2Y\\\n\\x86\\x0ak\\xdb\\xf6\\x8cn2g\\xb3\\xd9T:q\\xd7\\xe9\\\n\\x9b\\x05\\x1c\\x00\\xd2:\\x98\\xc4r\\xbc\\x1e{\\x15\\x82\\x1a\\xd4\\\n\\xa9\\xb6F0\\x17\\xc2\\xdc\\xfb\\xb9\\xb7\\xbc\\xe4:;\\xb5\\xe3\\\n\\x81\\xdc\\xdb\\xef\\xd2\\x08\\xec\\xe9O\\xa2\\x0b\\x97g\\x97g\\xce\\\n\\xa0\\x97\\xe04\\xdfL\\xf1\\x9f\\x93\\xba\\x85|\\xba\\xf9\\xb6\\xaa\\\n{Nb]\\xd1\\xae hd\\xde\\x06\\xff2\\x86f(\\\nK\\xcdLN66>\\x95\\x0b\\xda\\xdd\\xd2+i1n\\\n\\xc7\\xce\\xd8\\xd2\\xc5~\\xf2\\xb2\\x9e\\xcc\\x1d=\\xba~2\\x84\\\ne\\x08R|\\xce\\xe7;\\xff\\x04\\xa1\\xf1\\x17\\xc2n,\\xa9\\\n\\xde\\xb2\\x019\\x9f\\xfa\\x0b\\x09d\\xc7/\\x89[\\xd6\\xf4\\x81\\\n\\x9b\\x09\\x9c\\xeet\\xcf\\xcb\\xb4}Ocj,\\xbf]]\\\n\\xd6O\\xa6;a\\xd33\\xc3\\xe5\\xc9\\xd1l>\\x1d\\xcf\\x03\\\n\\x82'j\\x9b\\xf5\\xdd/\\xe7n\\xda\\x0e\\xa7\\x9dx\\xf9v\\\n%\\xcd\\xcbw/\\xa8\\x9dfMN\\xcfN&\\xe3s\\xcf\\\n\\xcf\\xcf\\xe6\\xb3g\\x0f\\xe8l\\xa8[DI\\x08\\x9a\\xcaY\\\n\\x8f\\x9f\\x7f\\xd6\\x96\\xd9\\x8e\\x11\\xe7u\\xfc0\\xb0\\xe2\\xcc\\xde\\\n\\xee\\x03\\xadb\\xbb\\xf1\\xf8\\xc9\\xd3\\x1f<\\xd9e\\xed\\xd8\\xcd\\\n\\x96\\x17\\x09\\x9d\\xcb>\\xfc\\x85WT`\\xeb\\xee\\x83]\\x04\\\n\\x95}1yKC\\xf1\\x8f\\x7f\\xf8o\\x83\\x01\\x15\\x0f\\xe9\\\n\\xebo\\xcc\\xd7\\x9f\\xfe\\x07\\xfd\\xf5_\\x7f\\xeb'\\xf6\\xeb\\xa7\\\n\\xf6\\xeb\\x0f\\xed\\xd7\\xbf\\xb4_\\xff\\xbd\\xfd\\xfa\\x1f\\xec\\xd7\\x1f\\\n\\xd9\\xaf?\\xb6_\\x7fj\\xbf\\xfe\\xb5\\xfd\\xfa3\\xfb\\xf5\\xe7\\\n\\xf6\\xeb/\\xec\\xd7_\\x9a\\xaf\\xdf\\xfe\\x03\\xfb%u\\x5c\\xaf\\\n\\x14\\xceW\\xcb\\xc2\\xb5\\x80\\xfa+\\x10\\x87kLK%\\xe2\\\np\\xa8\\xfd\\xf5\\xc8\\xc2;\\x9d\\xe9iIx\\xc3O\\x9e\\x11\\\n|\\xcb\\x02}%.\\xc0\\xf6v\\xef\\xfdhtA\\xbb\\xe4\\\n\\xf9\\xe5\\xc580\\xb6\\xf1\\xach\\xed\\xa6\\xeb\\x07M\\xb6\\x94\\\n\\xf3\\xf2\\x9f\\x9f\\xdf'\\x9e\\xe4\\xfe\\x8e\\x93x\\x93\\xb3\\x10\\xaf\\\n\\xca6\\xb5e\\xba\\x0dv\\xe9\\xe6[\\xc7!\\x0e\\x88\\x96\\xb6\\\n\\xeb\\x1a\\x98\\xd5\\xa6)\\x9f\\xeb\\x13\\x800\\x8a\\x97H\\xbf_\\\nm\\x95s\\x96/V\\xbd\\x84z@\\xd5G\\xda\\xcb\\xbc \\\n\\xb3)\\xac\\xba\\xcfi\\xae\\x8aw\\xddV\\x19}\\xce\\xc0\\xcd\\\nm\\x0cw\\xbbw\\x15kD\\xfa\\xc5\\x9bk,R\\x83M\\\nk\\x9ei\\x9c\\x10\\xc8\\x0f\\x1b\\xad\\xc8\\x98\\xad\\xae\\x0f)o\\\nO\\x96E\\x8d\\x82\\xfb'\\xd6\\x9d\\xad\\xfd\\x93U\\xc4\\xffr\\\n\\xff\\xdce\\xd3\\xd69\\xe8\\xdd~U\\xeb\\x80X\\xe7\\xfb;\\\nFq\\xde)\\xd2V\\xaf\\xc5\\xee\\xdb4\\x98\\x07E %\\\n\\xa29\\x9e\\xb3^\\x89\\x1a\\xf2\\x008J\\xa6wP\\xde\\xa4\\\n\\x1dD\\x87\\x03\\xadz\\xe2\\x96C\\x0fV\\xa6Y\\x1c\\x80\\xfc\\\nKR+\\xf6\\xeb\\xbf\\x8cNI\\xc0\\xfb_0\\xa5\\xea~\\\n\\xce[N\\xbd.f/Y\\xb0\\xff\\x94\\xff\\x06,\\xd9\\xbe\\\n\\x98\\x9c\\x89W\\x0f\\xfa\\x08`;r\\x81\\x94\\xa6\\x1f\\x0bJ\\\n\\x83\\xff\\xc4+\\xadr\\xff~|}\\x1d\\x84\\xf1M\\x1e\\x8e\\\n\\xa4\\x9e\\xe6Z1\\x0f\\xd8Zq\\x0as\\xba)\\x11\\xda\\xa4\\\n}\\xd8MkmK\\xd5\\x98]\\xf4x\\xd5\\xf0S\\xbf\\xe3\\\n\\xf7y\\xfe\\xb2\\xcb`\\xbf\\xe1\\x1bE\\xa6\\xccQ\\x1fa\\x0d\\\n\\x08c\\x1a\\xca@\\xd6\\xbfcM\\xc9\\xed\\xa7\\xf7\\x1f?\\x02\\\n\\x8f\\xb0\\xf1\\xf4\\xf1\\x87\\x1f>\\xd8\\xe5\\xbd\\xa0\\x87\\xebsl\\\n\\x82\\x90\\xb2\\xb7n\\x8e\\xd6\\xb6Ig&g\\xab4\\xea\\xf1\\\n\\x83\\xa7\\xf7\\x9f\\xb0\\xb7\\xe7\\x15\\xb7\\x85 \\xfb\\xb2\\x1bC\\x0f\\\n\\xe2\\xd2\\xadqy1\\xa3s\\xfe\\xf8k\\xdb\\x1c\\xed\\x8f\\xd6\\\n+\\xa8\\xec\\xf0\\x11\\x80\\x08n\\xae\\xd6KW0\\x97\\xce0\\\n!\\x08W\\xd2\\x0b]e\\x93M\\xa4m\\xbc\\x9e\\x9cO\\x9e\\\nON&\\x17\\x9f\\x0d\\x83W\\x93\\xe3\\xe3\\xf1\\x94\\x0d<\\xa7\\\nB\\xed7^\\xd0L\\xde\\x1b\\x9dNN\\x08\\x0c-\\x89\\xf3\\\n\\xf0\\x16\\xd56y\\xa13\\x8d\\xd8\\xbb\\xb5\\x84\\xaaiTm\\\nC\\xc6\\x05[w\\xb7\\xbf\\xff\\x83\\x1f\\x8e\\x9e\\x1f\\xbd\\xfd\\xec\\\n7\\x02m\\x1c\\xf3\\xbd!\\x97\\x17\\xc3(\\xb65\\xdfl\\xd4\\\n\\xfa=\\x1d\\xa7\\x81'%\\xfc\\xde7\\xbe\\xd1,0\\x1c\\x0e\\\n)u\\xcdj\\xd8\\xc0\\x5c\\x0f\\x99\\x85a\\x83g\\x0c\\x03a\\\nC;ipG\\x98\\x1d\\x0e\\x08\\xd7\\xd4\\x8c\\xe9^\\x94z\\\n\\xad|\\xe9e\\xa9\\xf1,]\\x98\\xcf\\x9f\\xcf\\xde\\xfe3\\xa1\\\n\\xd8h\\xea \\xb8{\\x97\\x1a|\\x03\\xadE\\x9e.J\\x0b\\\n,\\xc3N\\x9f,N\\x18\\xa6\\x06\\xd1\\xe2\\xe0\\xd9C\\x94\\xd6\\\n\\xb6\\xfc\\xb7\\xc3\\xdbp\\x9b\\xf1\\x82\\x05\\xd2/\\xe7\\xb3\\xcb\\xe9\\\n\\xb1p3Z\\xf3\\xda\\x8d\\xb6\\xed+]\\x9fI\\x5c5\\x02\\\nC#\\xc9\\x09\\xc7\\xa5\\xe3\\xfcz\\x91\\x7f\\xc5\\x1f\\xb3\\x84?\\\n\\xe4B\\xc6T\\xfb\\xd7\\xd6\\x9em<;^\\x7fG\\xff\\xf1\\\n\\xd7\\x07\\xbd;\\xbd\\xb5\\xb3\\x8bw\\xe3\\xd3w\\xe3\\xb7\\xefN\\\n/\\xdf\\x9d\\xbd}7\\x99\\xbe;:}wz\\xda\\xfb\\x95\\\n\\xdbl\\xce\\xcaE{W\\xc7P\\x1eks2\\x86\\x81{\\\n2\\x87\\xdf\\xd7\\x8b\\xcf\\xc4]N\\xedx\\xe5\\xe2\\xcd\\xe4h\\\n,\\x0e\\xeb\\x08\\xf4dt|\\x8c\\xc8\\xd0\\xda\\xecn\\xd3\\x84\\\n1\\xe0\\xa1c4\\x92a\\xcd\\x86\\x19\\x95\\x8f\\x84\\xf2R>\\\n\\xec,\\xa8J\\x1ag\\xee\\xeb\\xc1:\\xa5\\x1ag\\xee\\xfa\\x97\\\n6!\\xc5gmb\\x1a\\x7f\\xb0\\x80\\xf1\\xba'\\xde\\xfd\\xfd\\\n\\xd19\\x18\\xf5\\x7f\\x03\\xc6\\xec4B\\xef\\x1f\\xd0\\xc7\\xa8\\xff\\\n\\xe2\\xf0*\\xbfv\\x7f%\\xd740\\x93\\xde\\x9d\\xb5z\\x0a\\\n\\xbf\\xec\\xb8\\xdc\\xb5\\x98\\xac\\xe3\\x90\\x1a9\\xcf_o\\xe0\\xb5\\\n\\xf3\\xa0O\\xed<\\x5c\\x1fp;4\\x1b\\xfd\\xe5\\x9a\\xc0\\x1e\\\nMl\\xed\\x0e{\\x0f\\x14\\x0c\\x5c\\xe3v\\xf4\\x06\\xecK\\x05\\\n\\xdf\\x0do<S\\x98\\xa9\\x1f7jd\\x97s\\xc7\\xb3\\xf1\\\n\\xf9\\xf4\\x9b\\x17\\xb7N\\x88\\x02\\xdc:\\x99|\\x0a{\\xff\\xa3\\\n\\xd9\\xc9l\\x1e\\xc2\\xf0_\\xa6\\xfc\\xd61\\xfc\\xd8\\x83\\x9a\\x84\\\n0\\xdb\\x1c\\xc9\\x0d#\\xe0\\x1dt\\xd8\\xbb\\xe6\\xc5\\xc7a\\xd3\\\n\\xfc(\\x0e\\x88\\xa3V\\xeb\\xad\\xf6BgR\\xde\\xbd\\x93+\\\n\\x81WN\\xbc\\xb08\\xc5X\\xff\\xa1.4h\\xeeK{\\\nmp\\x8dcQ\\xfc:\\xb4#SS\\x0d\\xce|n\\xad\\\n\\xe0\\xe5\\xa7\\xe4\\xd4K\\xdb\\x0d\\xbeX;\\x5c\\xa1\\xef\\x95\\xd9\\\n\\x0fP\\x93/K\\xe5\\x99\\x22-\\xa5\\xf0\\xf6\\xd0\\xfae\\xe8\\\n\\xd3-\\x13/,\\xb8\\xe1\\xbf\\xfb\\xf8\\xc1\\x8eVZ\\x19^\\\n]o:?\\x0f\\x16\\x95f\\x0e\\x87n\\x1a\\xf2\\x86]\\x05\\\nD\\xbbj\\xb1\\x80\\xa4w\\x16\\xbb\\xb7\\xb7\\xf5\\xdd\\xa7\\x1f\\xef\\\n-\\x96\\xd3\\x80\\xce\\x82\\xfb\\xdb{\\xf7\\x9f<],'\\xe9\\\n\\xdd\\xc5\\xb6\\x1e\\xed\\xef\\xef\\xee\\xdd\\xbf\\xd7R\\xd2\\x80\\xbc\\xc2\\\nA\\x9fn \\xfd#\\x183\\xcdGg\\xaf&G\\x88g\\\n\\xd5L\\xeb\\x0b\\x8b\\xb3X\\x0e\\xeb\\x82w\\xa6)d\\x12t\\\n\\x09?\\x04\\x80>\\x83\\xedb\\xa2\\x93\\xb8^X7\\x9c\\xc7\\\n\\xc6\\x09\\xb9\\x13\\xd1\\x0d?k\\x8b\\xb3:&F]\\x81\\xac\\\n.-v\\x1fr\\x01\\x1c\\xd9k\\x81\\xa3\\xe6\\x14 T\\x13\\\n\\x00N\\x9a\\x8e#\\xa9\\x7f\\xddi\\x8e\\xe4\\xc0\\x1d\\x08\\x9d\\xe9\\\n\\xf0\\xdd;\\xfde\\x95\\xe2\\x81\\x95v{\\xdd\\xdd\\x96\\xfbM\\\n\\xdd\\xd6ag/B0\\x9bM0\\xd26;\\x8b\\xc0\\x12\\\n\\xba\\xa5\\x00\\xf7k\\xd3\\xb3\\x99h\\xbb?5\\x0a\\xe1\\x9f\\xb0\\\n\\xbb*\\xa7\\xa1~\\xfc\\x97\\xd5i\\x98\\xc5\\xf0\\xa5)\\x99\\xc5\\\n\\xb4\\x94\\x9e\\x1d\\x8d\\xa6G\\xe36Z\\x16n=x\\xf0\\xf8\\\n{\\xbb;\\x1c\\x0am6\\x1f(\\xd1V\\xd3\\xdf\\xce\\xc1 \\\n\\x00/A\\x1f]\\x03\\x15Z\\xffe\\x03u\\xfd\\xcb\\xe1\\x82\\\n\\xc3\\xed\\xadG\\xdb\\xbb\\x0f\\x867\\xf4\\x7fS\\xb2\\xb1\\x9b\\x19\\\n#\\x02s4\\xc4\\xc1\\x99B4&\\xd678\\xe8\\xf9\\x97\\\n\\xaf1\\xbf\\x864\\x06\\xd4<\\xe7-\\xcfc\\x15\\xb8\\xdc^\\\n+\\x17\\xfb\\xe9\\xf8\\xb3\\xd7\\x1cy\\x1b\\xc5\\xc1\\xc8\\xea\\x02\\x07\\\n\\x03\\x04_3\\xad\\xd3sr`r\\x1fD\\x87\\x87l\\x8b\\\n=\\xbf\\x1c\\xc3\\x1c\\xc8\\xa6+$;\\xbf\\x86\\xa0%\\xc1\\x8b\\\n\\x111v7\\xe4S\\xcc\\x86{5\\xb8\\xd9\\xadv=e\\\n\\xba\\x0e\\x97\\xde0dh\\x07\\x07\\xc1\\xb6\\x8c1\\x1b\\xf7<\\\nz\\xfct\\x0b2\\x06\\xd8\\x04\\xdc\\xdf\\xfa\\xf0\\xf1\\xa3\\xad\\x07\\\n\\xfbO\\xf7\\xee\\x7fw\\xf70|\\xbe\\xbc\\xc0\\xce\\xe3\\xef=\\\nj\\x16y\\xfb\\xf9\\xea`y\\xe8\\x8dH\\x05'\\x9e\\xd0\\x04\\\n\\xe9\\xd3\\xd9M\\x14Y\\xf25\\xcd(g\\x17\\x12\\x10F\\xa4\\\n7X\\x1a_\\xe0\\xa2\\x04\\xbe\\xbemi\\xae]\\x19\\xfc\\x03\\\n\\xf3q-+\\xb4)\\xf8\\xd1\\xc1\\xa5\\x17X\\xc2\\xeb\\xd0t\\\noi\\xc3eU\\xb6z\\x94\\xf9\\xfa\\xba\\xf49g\\xb1\\xce\\\n\\xb1\\xb5\\xb7\\xf7\\xf8{f \\xa4\\xe9.[\\xcc)~x\\\n\\xb3\\xa0/\\xee\\xf5\\xed\\xddI~6\\x03\\xb45\\xdd \\x9f\\\n_\\x9e-\\x1d\\xdeP\\xaaZ\\x9d\\xf2\\xcb\\xaa\\xfb\\xb2T_\\\n\\xb0,\\xa7\\xf8 \\xe1_<\\x98\\xaa\\x14\\x0f\\xaf\\x0c\\x8d\\x0f\\\n\\xb2\\xb3\\xb7\\xd0\\xad\\x9d\\x1f\\x8f\\xa1\\x96E?\\xa8\\xc7\\x9c\\x89\\\nH\\xc0\\xd6\\xd9|r\\x04\\xd5\\xcd\\xf7\\xef\\xdd\\xbd[\\x95t\\\n\\x9f\\xda\\xfa\\xf5\\xcb\\xd1)\\xa2\\xb7\\x8c)1\\x8a\\xee\\xb2N\\\n\\xfb\\xdd\\x09\\x02.\\x9f\\xbf\\x19c\\xc0\\xdf\\xdf\\x8e\\xd2{\\xaa\\\n\\xa0T\\xa8\\x9b\\xd1\\xef8V\\xbb\\xea\\x1e~_\\xa2P\\xbc\\\n\\x13\\xdf\\xabb\\xf9\\xf9\\xe1\\x9cU\\xdf\\x80(\\xc13:\\xd2\\\n>\\x99\\xccN\\x18OZ$\\x15g\\xa46|\\xba7>\\\n\\xa6\\xa4\\xbby\\x12\\xe3I\\xf9.\\xab\\xe2\\x05\\xef\\x17U\\x9c\\\nE\\x11\\xb4\\xe6\\xe6\\xd3\\x8b\\xc7\\xf3\\x11k\\xc2\\xbf\\x7f\\x8f\\x92\\\n\\xf1\\xc8\\xbc=:\\xa6\\x85-\\xb5\\x16i\\xc1J\\xc4\\xdb\\xa3\\\n\\xf9\\x94\\xd7\\xe8\\x93\\xc9\\x14\\x8d\\xbb\\x17\\x97\\xacu\\xb8=\\x9e\\\n_\\x9e\\x8cG\\xd2\\x98\\xadx7\\xa1\\xa4\\xd9|\\xfa\\x02\\x8e\\\n\\xe9\\xe7\\x1aG\\xaa\\xeeF\\xbb\\xc8\\xfb\\x99\\xc9\\xb7\\xbbK\\xfd\\\n\\xda\\x19M\\xf1\\x02\\x8e\\x99x\\xff\\xde\\xce\\xddm\\xe8\\xc8\\xed\\\n\\x8c\\xe6\\x9f>\\x9e\\x1f\\xbd\\x82\\x82\\xd1\\xfb[i\\x96@;\\\nf\\xf7t<\\x1f\\x9d\\x1cK\\xd1\\x0aZ\\xd1\\xf7f\\xd0-\\\n\\xa8G\\xa1\\xba\\x9b\\xd1D\\xde\\xbb<zu>\\x19QJ\\\n\\xb9\\x9d\\xe4\\xd0\\xa1\\xfd\\x90\\x98\\x81\\xf1t>C\\xd9{\\xf7\\\nv\\xee\\xa1\\x8a\\x0f\\xe1\\xf2/x\\xbfJ\\xab\\x1c\\xd6-5\\\n\\x92\\xad\\x1cz\\x85\\xfc\\xfb\\x07cx\\xd6\\xa7\\xd4\\x9d{\\xbb\\\nyAM\\xff\\xce%\\x9e\\xc0\\x9d\\xbc\\x15\\x06\\xe5\\xc1\\xe8\\xf5\\\nx\\xca\\xf3\\xff\\xfe\\xbd\\xb4\\xdae\\x05\\x16\\xba\\xb5\\x9al\\xe5\\\n\\xcev\\x91\\xec\\x22l\\xf0K\\x22\\x97h\\xd7\\xeev\\x14\\xa1\\\n]\\x0fG\\xaff/GS\\xb4c\\xabJR\\xcc\\xf2\\xc3\\\n\\xd1|\\xc6C\\xb1u/a\\xdd\\xc1\\x87\\xe3\\x13\\x19\\x9a\\xb2\\\n\\xda-\\xee\\xd2\\xef\\xc9\\xf1\\x14[U\\x0fj\\x14\\xe5\\x05T\\\n\\xa7\\xe9f\\xff|<\\x9fkT\\xdb0\\x0bz4z\\xfd\\\nY\\x9dk\\x17\\x0b\\xe4\\xf1\\xc9\\xe4\\xb5mW\\xb2]F\\x89\\\n\\xa2D;\\xf1Y\\xc9\\xd6!\\x92 KfwG%\\xd9\\\n\\x16\\xd2\\xccl\\xdc+b\\xa8\\x92<\\x19\\x8f\\x8e^\\xc9j\\\n\\xc9\\x91\\xe1\\xc9x>yC\\x8b\\xe2\\x84\\x97KU\\x14\\xa8\\\n\\x8fV\\x893Z\\xe5]\\xe8p?9\\xb9<\\xc5\\xc0C\\\n\\xbd\\x8f:\\xac\\xa3*\\xdb\\x86\\xdee\\x1b\\x87'\\x97\\xf33\\\n\\xc6TUi\\x01\\xc5\\x8b\\xbd\\xd1\\x9b\\xfd\\xc9x:\\xc5\\xf0\\\nUEJ\\x1d\\xa24\\xd3\\xc2\\xbbP;\\xa5_uO\\xe2\\\n\\x9c\\xedX(\\xcd\\xee\\x87-\\x15\\xa7\\xb0l\\xd8{5;\\\n\\x1e\\x9d\\xca\\x0e\\xdc\\xbd\\x97e\\xd0\\xb8\\xdf\\x9b}6:\\xb1\\\nM(\\x14t\\xfb9\\xcd\\xb6#W\\xc9\\xbd\\xaa\\xa2\\xd4K\\\nP\\x04Ss\\xa4\\xa0B\\xbc?:9\\x959\\xca+V\\\n\\x08\\xdb\\x1f\\x8f\\xec \\xdf\\xbb\\xbb\\x8d\\xa5\\xba?>\\xe3%\\\n\\x99\\x17\\xaa\\xc4\\x96\\xdb\\xff\\xd4\\xccM\\x9aogPU\\xd9\\\n?\\x83G&Sn;\\xdf\\xd9\\x86\\x16\\xfdS\\xde+;\\\n[\\xd5\\x0e4\\xcc\\x9f\\x8e\\x9dfn\\xedBu\\xf4)\\x11\\\n\\xe6\\x0bn\\xe2NY&P\\x0fzz9\\xff\\xf5\\xcb\\xd9\\\n\\xe4\\x5c\\x8fg\\x0a\\xc3\\x03;\\x0aY\\x99\\xb2\\xb9\\x80$\\xe8\\\n~\\xd0\\xc4C?\\xea{\\xaf&\\x17<z\\xfc\\x7f\\xf4{\\\nrr\\xbc\\x7f1\\x1f\\xbd1+kw7\\xae\\xd0(\\xbb\\\n/([\\x8c\\xdeH\\x82i{Uno\\x176\\xb5\\x9e\\\n\\x94\\xad\\xadXm\\x05\\xec\\xe5i\\x9b\\x19i/\\x8c\\xf8\\x09\\\nN\\xc6\\xde\\x15\\x7f\\xbe{'I\\xc3\\x00g\\xe6q \\x22\\\n\\xc1\\x17\\xe2W\\xe5  \\x04?\\x928\\xe1\\x1c\\x0a\\x80\\x19\\\n\\xb2\\x17Smp\\xed\\x0a\\x9f>\\x9e\\xeah\\x06\\x5c\\xdfC\\\n\\x14\\x08\\xc2\\x80\\x7f\\xdc\\xe2\\xe2\\x12\\xfb\\x00A4l\\xd8\\x03\\\nA\\xdb\\x0b_L\\x1d\\xdbe\\xb6~F\\xc3\\x7f4\\x7f\\xf9\\\n\\xbcn7\\xfd\\x106a\\xef\\xc3\\xbb\\xc3\\xe0\\xfd`3\\xc1\\\n\\x13\\x1b\\xa5\\x0e\\xe9\\xbf\\xd5\\x84\\xb1\\x86\\xd3}v\\xfeAH\\\n\\xff\\xd5\\x0c\\xb2vZ\\xe0\\x89\\xef\\xd04\\xe2$\\x94\\xed\\x04\\\n\\x1f\\xb3\\xe7\\xec\\xb6L{z\\x91n\\xcd\\xc7\\xbf~9\\x99\\\n\\x8fo%\\xb7\\xc4v\\xf8\\x9cJP\\x93\\xe0#\\xd3a\\xda\\\n\\x89\\x07O\\x84\\x07'\\x18\\xb8\\xeeZ\\x1a\\x5c\\xcb\\x81\\xdf\\xb1\\\nd\\x18B\\xdf\\x96\\x01\\xd6\\xd2\\xbd\\x9d\\xf1\\xd1\\xe4tt\\x22\\\n\\x16\\xa3\\xf0\\xb9-\\xc94\\xa8\\x9c\\xae\\x1b\\x11h\\xd1\\xee\\x14\\\nb\\xc2\\xf3\\xf1=:\\xd4/\\xd6\\xa4\\xe6\\xde\\xe6\\xda\\xf4[\\\n\\xd1\\xbbw\\xd3o\\xe3Q\\xbf\\xb3\\xe3\\xf1\\x8d\\x1dg\\xe76\\\n\\xcf\\xe1\\x88\\x9d\\xf5\\xc2\\x11\\x10\\x85\\xce\\x97[\\xff\\x22\\xd1\\x03\\\n\\x10F!q\\xf1\\xf0h\\x8a\\x83~\\x83\\x0e(\\xaa \\xce\\\n\\xb2\\x0f\\xa6\\xbd\\xda+\\x9a\\xca\\xed,|+\\xa6\\x1b\\xc2t\\\n\\x18D\\xc1\\xfa\\xb4\\x17\\xd24\\xaf\\x0f\\xa7\\xe6\\x0e@\\xbfd\\\nM\\xd0\\xc7?\\xd35Am\\x5cuM\\xd0\\x22X\\xba\\x06\\\n\\x16&\\xbfu\\xd2\\xefO\\xeb)\\x9f~\\x9b\\x06\\xfek\\x9b\\\nmt\\x0d\\x11\\xac\\xb2L\\xe6{\\xfa\\xc5\\xe7\\xf7\\xa5\\xe7\\x1e\\\n\\x18\\xbfzW\\xf8\\xb7\\x1e\\x9b\\xf3\\x0fZ\\xb6\\x0c\\xa5~]\\\n\\xbb\\x86\\xdb\\xa0I\\xdf/`\\xe7\\xbcdg9_j\\xeb\\\n\\xd0NX\\x9f\\xe2\\xffeH\\x99\\xae7\\xe5`\\x9e\\x8fZ\\\n\\xe6\\xa17^\\x8d\\xce\\x1f\\xbf\\x99\\x9a\\x97\\x03\\xc9w\\xc7\\xc9\\\np\\xc0/\\x13\\x12x\\xd7\\x0a^\\x1ab\\x13<%\\xe1\\xb5\\\nG\\x17c\\x1f\\x19:kxIw\\xf7a\\x0b\\xc0\\xd9\\xa8\\\n\\x1b\\x1f\\xdc\\xe1\\xf7\\x9f\\xc3\\x0fz\\xd8\\x9e\\xbf\\xa2\\x02<\\xe0\\\n\\x1d\\xc7z\\xf8\\xaf\\xdc\\xe7$g\\x8a \\xc7_\\x07zs\\\n\\xb7\\xaa\\xdf\\xa4\\x9c\\xf7\\xa8\\x96\\xaa\\xaf\\x7fY\\xa2\\xa2%\\x81\\\nk\\x1f<\\xde\\x1b.\\xbfPmr&\\xac=\\x94\\xbeA\\\n4\\xc2\\xa7\\xbf\\xacGQ\\x8d\\xd1)x\\x88\\xd7\\xa9r\\x1e\\\n\\xebt\\xc64\\xd6\\x10N\\xe3\\xe7[N\\xc0\\x13n\\xf8\\xa2\\\nN|aSo\\x12[\\xf8<H-\\x8a\\x15\\xd6\\xa3\\xc3\\\n\\xc1,W\\xd4\\x15\\xefF\\x802\\x12\\x86\\xcb\\xd1\\xcc\\x0d\\x83\\\njo\\x9b\\xae\\x0b\\x1c<=\\xf5\\x5c\\x9d4\\x1d\\xe5V:\\\n\\xcf\\xff\\xd2=\\xba)\\x91\\x95\\xba\\xe4\\xbd\\xac!n\\x0d\\xed\\\n8\\xfe2\\xbaG\\x97\\xada[[\\x97t@\\x86\\xa5C\\\nb\\xb2I\\x08\\xef\\xb4\\x95\\x1d,\\x86\\x00\\xb3\\xb0\\x05\\x81E\\\n\\xeb\\x03\\x9f;\\xc2\\x10\\x099\\xeb\\xac\\xd5\\x81->\\xbbt\\\n\\x00\\xfda]\\x88\\xc0\\xf2\\xa2kPe855\\xe3\\x1a\\\n\\x0e\\xdb\\x87XxP\\xb3\\xba?w\\xfb\\xac\\x02\\x95\\x1f\\xaf\\\n\\xaaC\\x15\\xac5l\\xba\\xa3\\xda\\x85\\xb0n\\xed/\\xa5\\x8d\\\n\\xb6k\\x0e><\\x92P\\xe4\\xba\\x90d\\xd2\\x04\\x8f\\xc3\\xc6\\\n\\x87/\\x96\\xf5\\xec\\xc5\\xb2\\x9e\\xfd\\xd3\\xef\\xb6QX\\xd6r\\\n\\x22\\xa8\\xdd\\xeaYg\\xc2/\\xc9\\xeb\\xc1\\xad\\xf3\\x19\\xce\\x7f\\\n\\x03]@\\xf6\\xe2\\x861\\x5cY\\xd8\\xc6\\x8c\\xc0\\x97\\x95\\xb5\\\n\\x01\\xc9RQ\\x9b\\x96\\x0d.}]\\x11S\\x08\\x15\\xfe3\\\n\\x7fe\\xe1\\xfe\\x0co\\x1a\\x07\\xf3\\x80\\xb1\\x5c5Ig\\x1f\\\n\\x04\\xbb\\xba\\xdc\\x0d\\xe7\\x98\\xce\\xd6\\xb6m\\x8cD\\xb9ss\\\nt\\xca\\xb0o\\x10`/\\x8a\\xdfk\\x86)\\xc4\\x9b\\x0f\\x02\\\n\\xccCI\\xe8\\x17\\xfbN\\xc4\\xe3\\xdb|\\x1er\\xdfw\\x9c\\\no\\x87\\xc3\\x0b\\xd66>\\xe8\\x05\\x96\\xb9\\xfb\\x8a\\xdf\\x93\\x02\\\n^\\xe3^>\\xb8\\x05v\\xb2\\xdd\\x81\\xebN;W\\xee\\x0f\\\n\\xa2\\x09\\x97gp\\xd41\\xa3\\x1d,x\\x06\\xcb\\xdf\\xa7V\\\n}\\xfeX\\x95Vh\\x04_\\x96Zh4\\xcb\\xe9\\xc5\\xdb\\\n\\x8b\\xb3\\x17\\xe3\\xc9\\xc9/\\xc5<\\xa5\\xa9?\\xb2\\xd9\\xa6\\xb1\\\n\\xf0v\\xd1\\xb6\\xf0 \\xb0\\xbd@\\x1c\\x13\\xf1I\\x15\\x1c\\x86\\\no\\x17\\xcc\\x13;s\\x9e\\x8e\\xce`\\xb2\\xd6\\x09?\\x99\\xc1\\\n\\xd0\\xfart\\xb2\\xa4\\xb2\\x19B\\x18t\\xc2\\x1f\\x8d\\xdf\\xd0\\\n\\xe0.m\\x86KdV\\x1bk\\xdf\\x8d\\x977\\xde-\\x16\\\n_2\\x9c\\xe1\\xf2\\xa1\\xb4\\xf1\\xc8\\xf3\\xa8\\x0cU\\x1c\\xaa\\xbc\\\n} \\x9d|y\\xa8\\x8aP%\\xee0\\xd6P\\x95\\x86y\\\nX4\\x86\\xd0\\x80s\\x15\\x16\\x0c\\xb4\\x83W\\x17LS\\xae\\\n>\\xf6\\x87.\\xa0\\x1f4x\\x92\\x0b1\\x84z\\xad\\x04\\xd9\\\n\\xc9\\xd5\\xca\\xa5\\x9dw\\x91c\\xbe\\x12vr9\\xaf\\xba\\xf9\\\n\\xf2\\xf3Z\\x12\\xf1L\\xee\\xaa\\xeb\\xef6X\\x1d\\xf1\\xdd;\\\nW\\x1a\\xe0tF\\x8b\\x8c\\xeeM\\xe6t\\xed\\x1f\\xb5\\x84\\xdf\\\ny.\\xeax\\xd3\\x8b\\xf9\\xec\\xe4\\xd69\\x0d\\x1e\\x82\\xab\\xdd\\\nB\\x85\\xb5: \\xda\\xeb\\x09\\x0d{\\xe1\\x9a\\x15\\x16vW\\\n\\xcc\\x8a\\x85t\\xb7\\x9b\\x1ew\\xd5Lsn\\x22\\xfe\\x9cS\\\n\\xe5\\xb0.\\xbf\\x18\\x1f\\xdfz\\xfe\\x19\\xb7\\xe9\\xf4td\\xdb\\\n@\\xc3\\xe2\\xb5\\xe0]\\xf4\\x16*\\x99[\\xfd{\\x87\\xeb7\\\n\\x8e@\\xc2\\x1e\\xb3'\\xf3\\xe3\\xee\\x11\\xa0\\x1b\\xfc\\x11\\xb1\\xdf\\\n\\xb7`\\x804:B\\x8c\\x08-\\x96\\xb1\\x0d\\xf0C\\xa2\\xea\\\nI\\x94\\xa1\\xd1\\x81\\xba\\xc2@\\xa6\\xcfJ\\xc0\\x10bd1\\\n\\xc2\\xa9Y~\\x08\\x8ab\\xb32\\x22\\x8e\\x84\\xdeH\\x22b\\\n\\x7f\\xf89\\xc8\\xb8\\xa6\\xad_\\x9a\\x8ek<>!\\xff\\xc2\\\nD\\xf9\\x93\\xdd\\xbd\\xfd\\xfb\\x8f\\x1f\\x0d\\x0d_\\xf8\\xc5\\xf5\\xff\\\n\\x96\\xf3T\\xe2jj69\\x1a\\x8bM\\xce6\\x7f\\xdf\\xc4\\\nY\\xd59\\xdb\\xf6\\xf1N+w\\xf4\\xb45u\\xbf=u\\\n\\x7f\\x05\\xd3\\x15\\xeab\\xdd\\xfa\\xb5\\x9d\\xf0i\\xb8O\\x05\\xf5\\\n\\x09\\xde\\x84\\xcbs?b\\x0b/8\\xbd\\xf6\\xf2\\x05Ps\\\nx\\xc2\\x06\\x06\\x88ls\\xd4\\xe8$\\xeb\\xf9\\x88A\\x9e^\\\n\\xa5'c\\x86\\xf4\\xfc\\x98T:u\\xd3\\xa8\\xde\\x11\\x9e\\x19\\\n|\\x10\\x99l\\xf1\\xa6\\x97\\x0c/\\x9bl\\x22b\\x0a\\x12?\\\n(\\xe2\\xc8\\xa1\\xf1\\x83\\xfb\\x09\\xff\\x5c\\x0b\\x5c\\xcf\\xb5\\xb4\\x7f\\\n\\x9c@\\x86Ao\\xb3./\\xa5\\xdd8\\x87\\xdf\\x8e\\xee\\xb0\\\nx\\xf2t2]K\\xc2E\\xf8\\xba\\xea\\x0dt\\xaa[\\xc7\\\n\\x9dh\\xa0\\xac\\x18|J\\x1b^\\x87f\\x12\\x97\\xb9\\x9bH\\\nA8\\x08\\x1c\\x95\\xef\\x0d\\x87\\xf8\\xc9~\\x877{\\x9cw\\\n*\\xc6-\\x92\\xd7\\xf8\\xdf\\xe4\\x22k\\xfeH\\x0d\\xeb\\x91\\x0c\\\n\\x1bC\\xa3B\\x0b\\xbb\\xd6\\x9f\\xae\\x84\\xd4\\x97\\x8e\\xb2)\\x9f\\\nA\\x80u\\xd1;D\\xa1\\x0b\\x9ad\\xb1\\xda\\xac\\xd5\\x89\\xe7\\\n\\xe3\\xd7\\x8d\\xf0[\\x1a\\xf7Zo\\xc3)!\\x19\\xaf\\xc3\\xc9\\\n9\\xc7\\xe6\\x81:vW\\xe5\\x0e\\x02'\\xf7\\x1a\\x17v\\x82\\\nX\\xacT\\xdc\\x0bz\\x01\\xe9\\xc6|\\x85j%\\x9f\\x1b\\xdc\\\n\\xa3\\xb3\\x06\\xc9\\x88\\x22\\x173\\xd8\\x1c::\\xd9\\xb0\\xa3\\xd1\\\n\\xc5\\xf8\\x87\\xcc82\\x89U\\x10\\xf5L\\xe7\\xeam\\xd4\\x86\\\n\\x1e@\\xb8\\x06\\x8172\\x0a\\x98\\xa1b\\xb3\\xf3\\x02\\xc7)\\\n\\xdb\\xe9h#\\xa0:A\\xdb\\x0b\\x9d\\xd2I3aW\\x00\\\n0^\\xad\\xed\\x88\\xea\\xf4\\xe1M\\x05\\xc3\\x9b2\\x0c\\x03m\\\nC\\x84^\\xef\\x7f\\xf2\\xe1B\\xf8\\xa2\\xd7/\\x1b\\x9d\\xa1L\\\nk~\\xc09J\\x81kov\\xa3M\\xf9\\x09\\xdf\\xeb\\x97\\\n@\\x87\\x90\\xc8\\xb3\\xa9?\\x94X\\xeav\\x06\\xea\\xcd\\xb3]\\\n\\x8f%[Wq\\xb6\\xb0\\x06\\xbd\\x920\\xd1,\\x99k\\x87\\\n\\x89\\xf8\\xa3\\x09\\xa3\\x8b\\xbf\\x98B\\x01\\x10z\\xbb\\x00\\xe1\\x88\\\nB$\\xa3\\xa9OhEO\\xc6o\\xba\\xa7\\xfdV=\\xed\\\nO\\xda\\xe6=\\xacAn[\\xdba\\xd2\\xd6&\\xcc\\xb6\\x15\\\n\\x80\\x96\\xb6\\xf2,\\xadz\\x88\\xd7\\xf4\\xfb\\xcb\\x1e\\xe35\\xa6\\\n\\xa57\\xb2\\xd31\\xdd=\\xdfL>\\x9d@\\xa5\\xfb\\xf5\\xd1\\\nW\\x7f1[\\xd5;\\xae\\x9c\\xe2[[\\x8e\\xfd\\xec\\xff\\xfb\\\n{t\\xb1\\x19\\xd1\\xad\\xc0\\xb3\\xa9\\xa5\\x84\\xb3W\\x1ap\\xfe\\\n\\xd9i+l\\xeb\\xe4\\xec\\xd5h\\xc1\\x12w~z\\xb5u\\\n\\x8d\\x92\\xd3c\\x0fvB\\x09\\x9c\\xfc\\xd2G\\x06M J\\\n\\xbf\\xfb\\xfc\\xf9\\x02\\xaa\\xe7\\xcf\\x01\\x10\\xe7\\xb9\\x0b\\x95\\xdcE\\\n%PO^,\\xf6\\x02\\x10\\x84kp!H\\x18_\\x10\\\nd\\xbb\\xa5\\x9e\\xabm`\\xdbf\\xcf\\xb3\\x0b5}\\x1f\\xb0\\\n\\xa3\\x13\\xe2L=(\\xa7\\x5cN\\x80\\xf2\\x88x\\xd9\\xf3n\\\n\\xb4\\xbc\\x8e\\xdev\\xc2\\x8ff\\xf0J\\x5cC\\xff\\xcb\\x9fs\\\n\\xa1F\\xe2\\x9fQ\\xe2\\x0e\\xdc\\xe9\\xcf=D\\xc7\\xc7\\x9c\\x06\\\n\\xa0vw\\xec\\x94\\xf9+J>&&\\xdd/a|\\xd3\\\n\\x00\\xb8\\xd5\\x00\\xee8\\xc0\\x9d\\xd1\\x12 |\\xbfL\\xd8\\xeb\\\nY\\x0d\\xd7<>\\xf1\\xd6Wo\\xe3\\xadh\\x07\\x9d;^\\\n!\\xe3.g\\x14\\xb7\\xb2\\xfe0\\x9aD\\x19\\xe6\\xf1\\xe9\\xd9\\\n\\x85\\xefN\\x85S\\xceyZw\\xad\\xaf\\xe1\\x85\\x09d\\xfc\\\n\\xbb\\xed\\xcb\\xe8#\\xc0\\xc6\\x97\\xf3\\x99\\x03\\xfc\\xc7\\xdf\\xf9[\\\n$\\xc2\\xad\\xac_\\x1b;\\x9a%\\xd0\\xcb\\xf1\\xb4\\xb5\\x88N\\\n\\x9f\\x9a\\xfbu+\\xf4\\x0d\\x22\\x114a\\x1f\\xb5\\xad\\x0en\\\n\\xdb\\xab\\xad\\x91?\\x0b\\xbe\\xfb\\x1b\\xe4h\\xce\\xd3I3\\xc7\\\nG\\xcd\\x1c\\x8b8\\xc60}\\xf4\\xf2H\\x92\\x8c\\xfc\\xe4t\\\n\\xf4r\\xecA\\xef\\x9f\\x22yJ\\x14\\xc6K\\xa6\\x94\\x8b\\xcf\\\n\\x08r\\x7f\\xd6>\\xdc\\xf7\\xd1%\\xf8\\xd7l\\x94\\xa2\\xd4\\xef\\\n\\x8e\\xfc\\x15o\\xcb|\\x17e>m\\xee\\x87\\xff\\x09E\\x9a\\\n\\x89\\xff#%\\x9e4I\\xcc\\x89\\xa11'm\\x03eF\\\n\\xe0A\\xdb\\x18\\x19\\xe0\\xc9\\xd62\\xe0\\xfc\\xc6\\x09x0\\xbf\\\nq\\x06N\\xe6[7eyx\\xd96<\\x0f1<\\x8f\\\n\\xda\\xd6\\xcf#@\\xa6\\xa3\\x8b.\\xea\\xc4\\xf0G\\xadH\\x19\\\n\\xf4\\xb8k\\xaf\\xcd\\x96n\\xe88\\xe6\\x0d7\\x9b\\xdc\\x90\\xeb\\\n\\x9e\\xce\\xb5<[\\x12]\\xeb\\x1a\\x8f.\\xe6G'\\xb3\\xa3\\\nO\\xdf@'oI\\x81\\x84\\x0b\\xbcx19\\x9a\\xd0Q\\\n\\xd5\\xb6O\\x1f\\x9fN\\xe8g+\\xadx\\xcc\\x85\\x1b\\xd3\\x89\\\n\\x87\\xf9\\xf0\\x89\\x93\\xf6\\xf7\\xff\\x89\\x12\\xcehO\\xc8\\x1bK\\\n\\x0d\\x08Bu\\xc8F\\x95\\x1e\\x02$P[P\\xe6\\xe4\\xf2\\\n\\xfc\\xd4\\xaf\\xf8\\x0c;\\xe9W\\xdb\\xe6\\xe7W\\xd1\\x96\\xbd6\\\n\\xc8\\x1e \\xf3\\xe6B\\x9f\\x9b\\x85\\xbe\\xb0\\xda\\xbce\\xb4\\xd7\\\n\\x84\\xee\\xb9\\xd0\\x85e\\xe8C\\xc7#\\xffX\\xdd\\x1b\\xeb\\xd4\\\n\\xf3\\xcev\\xee-\\x87\\xbe\\x9a\\xb5\\xcd\\xc3\\x13\\xc0\\xce\\xc5\\xaf\\\n\\xb2s\\xe6R\\x02\\xd2G\\xa7g\\xeeQ\\xfd_\\xfe\\x0d%\\\n\\xee7\\x13\\xff\\x1a9\\xe9\\x02\\xe3a\\xd8G\\xe2\\xd9\\xe8\\xb8\\\n\\xe1\\xc4K\\x92\\x84\\xd8\\x9d_hO\\xf7\\x16\\xd3_\\x02\\xfd\\\nB\\xea_\\x04\\xec1\\xd0\\xc7\\xc3\\xae\\x01\\x050n\\x81\\x8c\\\n\\x7f\\x9dagM\\xd8\\x99\\x81=\\x1d\\xb5\\xee\\xc7\\xa7\\x18\\x0e\\\nhx\\xb0\\xf3\\x86\\x93\\xb1h\\xbd8\\xeb\\xfa\\x8f\\xfe\\x06\\x19\\\n\\x10i\\xa0\\xc9\\xae\\xc1Q*\\xd2\\x09~\\xd9\\x9cy\\xed\\xbb\\\n\\x0e\\xa0\\xe6\\xb4\\x7flA\\x1f\\x8f:A\\xf5\\xce[h4\\\n\\x07@~-\\xee\\xb1\\xaf$I8e\\xfa\\xf1\\xea\\xf2\\xe5\\\n\\xd8n[\\xf8my\\xf6,\\x84\\xef\\x16'\\xe5\\x86\\x9f\\x5c\\\n\\xe2\\xd9\\xb3\\xe9L\\x87r\\xc6\\xb6\\xa3\\x8e\\xb6\\xb2R\\xf0\\xc4\\\n\\xd8:\\xa5\\x04`\\xba\\xb2\\x0aQ\\x891\\x01\\xaf\\x11\\xd0\\xcf\\\n\\x9f\\xb9Sbo\\xaep\\xc6\\xcc\\xd1%\\xf6\\xbbz\\x1d\\x84\\\n\\xd1a\\xf8f<\\x19\\xcf}G5o\\xce\\x08\\xc7\\x0f\\xdb\\\nv\\xc2\\x0f\\x81\\xfd\\x87\\x1d\\x9c.\\x80ZJ\\xfe\\x85\\xee(\\\n\\xfe\\xe5c\\xf9E\\x85\\xe6hL\\xf4\\xe8\\xce\\x17\\xaa\\x88\\x0b\\\n3\\xfe\\xc1\\xda\\x0d\\x15|Q\\xbb\\x11]>\\xbc:\\x19\\xbf\\\n\\x1c\\x1d}\\xc6Q\\x93\\xafo\\xea\\x8d\\xd1\\x0f\\x902w\\xd6\\\n\\xbe\\xbe7\\xb0\\xed]\\x9b\\xfe\\xf8\\xf9\\x8f\\x89\\xf68\\xe2C\\\n\\x89\\xeb=\\xa0#\\x02Agh.\\xf0I\\x98\\xf0\\x07!\\\nP\\x07\\x10]\\xc1u~\\xc0T%`/\\xb5:\\x81\\xbf\\\n8\\xcd\\x8f\\xb4'8m\\x5cw\\x8e(.\\x7f\\xaeC\\x96\\\n\\x86J0\\xb3\\xab\\xa0\\x1f\\x0c\\x82\\x87p\\x8eO\\x0bk\\x9d\\\n\\xbe\\x9f\\x9c\\xf0\\xe7\\x1a}>>\\x83\\x03\\x98\\xa0G\\x9f\\xdb\\\n\\xfcN\\x1e\\x06\\x07u\\xf2\\xa1\\x93\\xfc-\\xfa~0>G\\\n\\xc1_\\xa3\\xcf}\\x22cs\\x11\\x09\\x06\\xe1\\x8f\\xf0\\xfb\\xb9\\\n\\xf9\\x15|@\\xf0\\x9d\\x19\\xbe6\\xec\\xd7\\x90\\xbe\\x10<\\x07\\\n\\xba\\xe3\\xef\\xa3\\x0d\\xe2\\x91\\xe1WD\\x94\\xcc+\\x1e\\xad\\xd4\\\n\\xcb\\xff\\x16j\\xe0\\xa8\\xb1\\xd7\\xe1\\x96\\xb8\\xd2\\xa4n|\\x9b\\\nR\\x9d\\xc3\\x8c\\xda\\x84\\x9e\\xd5|\\x1c\\x12\\xbe\\xadS\\xfc|\\\nC[\\xd4\\xf5%*\\x10\\x80\\xf6\\xda@R\\xeaA\\xd35\\\n\\xa9\\x1e\\x00C=\\xc3\\xd7\\x83\\xa0\\xbeU\\xc1B\\x19\\xf7\\x18\\\n\\x19\\xf4\\xbe\\xee\\xf8Pw\\x9a\\xf8\\xa8_\\xbf\\x9c\\xbc\\xa6_\\\n\\xbf\\xc9\\xbf\\x08\\xf1\\x19G \\xc0\\x00\\xfcf\\x9f\\xd3\\x9e#\\\n\\xd2\\xd3\\xd5\\xf6.\\xebb]_]\\xbb\\xb9\\x9e\\xd1\\xff\\xf5\\\n\\xd9\\x19\\x95\\xcd\\x80\\x82C.8\\x1f\\x11\\x15\\x8bO/\\xaf\\\nV\\xc2\\xb1\\x80\\x881\\xf5\\xfb_\\x15\\xaa\\xfeo\\xde\\x88\\x8a\\\n\\x8b\\xde\\xd0=\\xa0\\xda\\xd8\\xc02\\xba\\x12\\x06\\xe0\\xba\\xf9W\\\n2,\\xcb\\xe1\\xe4\\xe4\\xe5\\xe1qDz\\x11\\xb9\\xd7\\x810\\\n\\xb8sG\\xa6\\x07\\xde\\xc4\\xee\\xdc\\xb9\\x0e\\xf4~rE\\x80\\\nu\\xd4\\xd4\\xf1\\xdba\\x10\\x88T\\x0a;y\\xf8\\x9e\\x12\\x81\\\n\\xfd\\xe4[\\xce\\xc64\\x8a\\x18^\\x10w\\x0d\\xd2n\\xf9\\xa4\\\nPo\\xf3\\xc8<\\xc5\\xf1\\x1b$\\xbc\\x90\\xd4\\xef\\x1b\\x0f\\xc6\\\n\\xb0r[\\xeb\\x0d\\xeaL\\xf0\\xa8r\\xdb\\xcd\\xa3#\\x95K\\\n\\xf0\\xc4\\x83\\x80\\xd3\\x82\\xf5\\xb5:\\x03\\x93\\x85\\x83\\xa3\\xc3w\\\n\\xef\\x82\\xc7\\xf0\\xba\\x1e\\xf4\\x0e\\xd7\\x8e\\xfc\\xe8s\\xf7&\\xd3\\\n\\xc9\\xf9\\xab-\\xea\\xce\\x1a\\x9eu\\x8cF\\xb4\\x1e\\x07i\\xc5\\\nB\\x94D\\xa7\\x90.\\xf2P\\xbf)\\xbe^\\xbb\\xf5\\xeeW\\\nz\\xa6\\x954b\\xebC\\xcc\\x96\\xd6&\\x96\\x0d\\xbe\\xf1\\x1a\\\nn\\x9b\\x06kN\\x16\\x1bB\\xddC&O\\xb34.\\x1c\\\n:\\xdd\\x19\\xf7\\xa8\\xa7\\xdb'#\\xd0\\x14\\xd8j!\\xe5\\xc3\\\nZ\\x15_\\x5c\\xf0X\\x0c&\\x82%\\x11\\xdb\\x9e\\xf9\\x18N\\\n7\\xe1\\xc9f\\xb1\\x83F\\xdb\\xf2\\xe8U\\x03\\xedm\\x8bX\\\n\\xfb\\xf6a\\xd5\\xbb\\xf9\\xe8\\x08\\xfd\\xc1\\xdf+\\xe8p\\x07\\xd7\\\n\\xf4\\x873\\xd4\\xaf\\x9e\\xe8\\xcf\\xa6\\xd7}\\x8fo\\xc2X\\xc8\\\nS\\xce:\\xd0\\x08\\x8a%_\\x81\\xf8\\xe0\\xa9\\x11j\\xd1i\\\n\\xdb\\xba4o,\\xa6b:\\x11\\xae\\xf5`\\xf2\\xc1Q\\x8f\\\n\\xe5\\x11?k\\xbdg\\x07Mk\\xe6O\\xde\\x1b\\x0e\\x17\\xd1\\\n\\xf6\\xd57\\xbeA\\xb4\\xbc\\x01\\xf3\\xd6\\xfb\\xba\\xea\\xd5^'\\\n\\xbc\\x15\\x84\\xcd:\\xf4K\\xea\\xa1\\x92\\x92a\\xdc\\xf3^\\xd2\\\n&\\xeb\\xc38|=\\x9b\\x1c\\xcb\\xcf\\xad\\xe3c^Xk\\\n\\xc0\\xd3s\\xc7\\xf5\\xaa\\xef\\x8d\\x0d\\x9d\\xb2\\xeb\\xc3#\\xbdg\\\n\\xd7\\xd7u\\xb7qFz\\xbd\\xb6=\\xbe\\xe3\\x94\\x1a\\xacu\\\n\\xac|\\xae\\xe9H\\xff\\xa8\\xb1\\xd2Y\\xb8\\x88\\xb4\\xa3\\xb4\\xbe\\\n\\xf1\\xdc\\x0a\\x9aH\\xf8\\x18]\\x1d\\xcd\\xd5\\xf0z\\x01\\x05\\x9f\\\n\\xbe\\x9f\\x03\\x85>\\xb8\\x16\\x11\\x81QX\\x8e\\xa7s\\xa3\\xac\\\n\\x1d\\xbc\\xfe\\xb5\\xc3gD\\x156\\x19\\xba\\x8c6\\x1c\\xc8N\\\n\\xd1\\x0bG\\xf5\\x0e\\x17H\\x05-\\xfb#\\xdb6C\\x07\\xb6\\\n}\\x95\\xbe\\xee^j\\xfa\\xe1N]M\\x5c\\xea\\xce\\x82\\xfd\\\nY\\xa1\\xb3|\\x8a\\xf8\\x9d]#\\xc6\\xe4\\xce;0\\x1b\\xf4\\\n/\\xfdA\\xaf9\\xdb\\x1d\\x7f\\xadrZ\\xcf\\xed\\xd9b\\xaf\\\n\\x1c\\xce\\xab\\xb9-i\\x18h\\xc7\\xac\\xb5\\x1e/\\xeb\\xeb\\xfa\\\n\\x80\\xe9\\xe9v\\x13\\xcaM'@8u\\xe3x\\x0d\\x8e\\xf3\\\n6\\x83\\xfe\\x06\\xd0\\xb8\\x0b\\x1d{\\xc6\\x1e\\xa3\\x83S\\xfb$\\\n\\x0b\\xd8\\xf6\\xee\\xdaiO\\xfb\\xb9\\xec\\xb9\\xb6YW\\xfdg\\\n\\xd7\\xb7i\\x1b\\x07=\\xed\\x0e\\x0c-\\xbc\\x05\\xd4Gt\\xf4\\\n\\xf0\\xdf\\xde\\xb2I'6\\xeb\\xd0\\x9b\\x06!\\xc5-\\xb4\\x9c\\\nuV\\xfa\\xcf60\\xacS\\xafqSK\\xc7,\\x83\\xda\\\n:hK\\x07\\xcc\\xd4\\x1f\\x9aS\\x81;\\xed\\x8f\\xda\\x0d#\\\n\\xd0\\xd9t9-\\x9cF?w\\x1b\\x0d\\xdex\\x95\\x05l\\\n\\x1b\\xc7CY\\xb7\\xec\\xa8g\\x11\\x11c\\xbd\\x22\\xa6\\xae\\x1d\\\n[+E\\xb1F\\x10M\\xe5&\\xc7\\x11~N\\x1c//\\\n\\x18>\\xef\\x1a\\x84v\\xd3\\xce\\xfcqw\\xbe\\xa1\\x9b\\xef\\xa2\\\n;\\x9f%Cun?\\xb3\\xf6\\x024=n\\x0c\\xf2\\xd5\\\n\\xc6\\x07wh*\\xd0\\xea`\\x93\\xe1\\xf8\\xc7\\x1e\\xbd!\\xff\\\n\\xd2gV\\xec\\x93>\\xc3:1_\\x7f\\x80\\x8c`\\x9c\\x1c\\\n\\xe6\\xb0g\\xcfZ\\xd9~m\\xd4\\xec\\x8a\\xf8\\xc9\\xeb\\x1a\\xe8\\\n\\x1f\\xb6\\xd7M6f\\xe0\\xd2!.a\\xd60\\x0b~V\\\n\\x9bEC\\xa0\\xc1\\xe1\\xadL\\xe9\\x8f\\x9c\\xe2\\x86(\\xd5\\x85\\\n\\x85:\\xb9\\x1c\\xac\\xe5\\xc9\\xb6\\x9f\\x1e>;\\xa0\\x85|d\\\n\\x16\\xf2\\xa4\\xdf\\x0f\\x8f\\x86Gf3E\\xda\\x0f\\xe8\\xe8\\xf9\\\n\\xec\\xf5\\xb8\\xa9-M\\xad\\x0a\\x9f\\x8fO\\x0c\\xd1\\xf4\\x00\\x9b\\\n\\x0e5\\xd5t\\x81S\\x0eCF\\xf5\\xee\\x1d\\x17\\xbc\\xb3\\xc6\\\n\\x7f\\xa8r\\x06\\xd2\\xb0\\x1e\\x04\\xeb\\x9c\\xb4N\\x97X\\x180\\\n\\x00\\x89\\x91\\xaa\\x8cOhJ\\xde\\xd2\\xc4\\x9a\\xcc4\\xc9\\x8c\\\n\\x8d\\x1d\\x87\\xf2?\\x03[\\x02Z\\x8f\\x04\\xe6\\x9c\\x819\\x8c\\\ny\\xb08\\xed:\\xac\\x87\\xb2\\x1e)\\x8e_\\xedx\\xd3\\xba\\\n<\\xd3|\\x12\\xad8\\xfd%\\xf7{\\xf7\\xc7sa\\xad\\xb8\\\n\\xac\\xe1E\\xb1$\\xb4\\xc3 \\xc3\\x0bQ\\xdd5\\xa7z\\xe6\\\n2\\xad\\xc2\\x0dmZ\\xfeL\\xaa09\\xa4\\x0e\\xb8\\xfaq\\\nQ\\xd1Z\\xbej\\xfc\\xbe\\xf6\\xabr\\xe0P\\xef\\xd2{\\xa6\\\nO|\\x9b\\xc7~IeC\\xd3\\xae\\xd0\\xa9\\xd3$>\\xb7\\\n\\x04\\xd4f\\xb3W'B\\xbdn+e6\\xce\\xbd^i\\\n\\x95ln\\xbf\\xd3\\xf5\\xb5\\x1a\\xcd\\xb3g\\xbc9\\xae\\xa23\\\n\\xba\\xf0\\xf1?\\x1b\\xf1\\xf8\\x14~`\\xd7:\\x87\\x9b\\xfb\\xf6\\\n^\\xdd\\xd7;-Y\\xf9\\xcbM_VU\\xdd\\xe2g\\xcf\\\n\\xb6w\\x91_\\xa2\\x11[\\x22\\x22\\x153\\xfd\\xd8\\xde\\x9d\\xce\\\n\\xa6c^n>\\xf8\\xac\\x0dL\\x93\\xe26\\xd4|\\x0c\\x02\\\n\\x1f\\xc12\\xe4-\\x98\\x05\\xb13\\xdbw\\xc0W\\x05\\xa6'\\\n\\xee\\xec\\x99\\xce\\x07\\x86;q&@\\x08\\xd9\\xaf\\x99\\x8b\\x1a\\\n\\x0e\\xde\\xc0\\x0e\\x87\\xac9'\\xdf\\x8f\\xea|\\xcf9\\x9f\\xcd\\\nhW\\xcfs\\xaa\\xe7\\xbaeYt]\\xb8\\xd9\\x01\\xbc\\xa6\\\n\\x19\\x0b\\xc7\\xfb\\xc1\\xd2\\xfb\\x87Y\\xc4A\\xb0\\xe9\\x9d\\x7f\\xcf\\\n\\x05\\x9b\\xcb\\x1b\\x11!\\xd1\\xda=\\xc16s/wL&\\\n\\xb0\\xeac\\xea\\x96\\xfe\\xcd\\xdci\\xf0\\x94\\xf3P\\xdfuj\\\n\\xad^L\\xa7\\xd1\\xb3kV\\xef]\\xb3\\x18\\xfc\\xd2D\\x0f\\\nk\\xd48i,\\xd4BX\\xf0y\\xe4p\\x07\\xf3\\xf1\\xcb\\\n\\xf1[m\\x9d\\xc8\\x877'l\\x8c\\xdf\\x8e\\x8f\\xd6:/\\\nQ=\\xab\\xb0\\xc4e\\xc4\\x9f'\\x95\\x15O\\xae\\xd1\\xa19\\\n\\x0f$\\xc1\\xc4\\xfd\\x0e\\xf5\\xa1\\x84q\\xf1\\xc6\\xdb(\\xff\\x9d\\\n\\xb6\\x5c\\x06\\xc3\\x89V\\x07\\xe4\\x1e\\x8c\\xcf\\x87\\x91\\x91\\x93\\x9c\\\nj\\xb1\\xc8\\xf6\\x92k\\xe2:_\\xa9\\xb7eH#\\xfa#\\\nH|]J\\xaf\\x83\\x13\\xdd\\xf6\\xfe\\x84h\\xd5\\xa6P\\xb1\\\n\\xed;Rl}]\\x9f\\xc7\\xdbz~\\xc6\\xe7\\x1a\\xd2\\xef\\\n\\x0f\\x5cU\\xe7\\xdd\\xb7\\x17\\xf3\\x11\\xdf#\\x1eN\\xce\\xa1c\\\n\\xa8%\\xa3\\x9c~K\\xac:\\xb8 \\x1c\\xab\\x9eJ\\x96[\\\n3\\xca#\\xa9\\xc1!\\xf1\\xbe\\x82\\xb8\\xe1DV\\xb22\\xe6\\\n\\xbb\\x9c34i.V*\\x1fz\\x9a\\xd73\\x94@A\\\n\\x1a\\x1cX\\xa3\\x8f\\xe0\\xfb\\xf5\\x05M\\x03\\x97B\\xe9\\x7f\\x81\\\n\\xc8\\xa5\\xac\\xd4\\xbcy\\x93d|{\\x97\\xf8\\xd8\\x1b\\xac\\x8c\\\n\\xc7\\x83\\x00\\xbeO\\x8e^\\xe8\\xbfc\\x9d\\xf0\\xb6\\x11\\x9f\\xa7\\\n\\xd3\\xaa\\xa2-\\x82SG\\xd6\\xbd\\xd5\\xb3.He;\\xb3\\\n\\x9e\\x98\\xf0<\\x0d\\xc4\\xce3\\x0e$\\x8d\\xc2\\x14X\\x19\\xcb\\\n\\x15\\xf1\\xae\\xcf\\x9e\\xbdG\\xff\\xbb\\xd2\\xe2B]\\xf4\\xf2\\xec\\\n\\x9a\\xdf\\xa3\\xe4\\xed\\xe7J\\xe4\\x86\\x1a\\x061\\xb0)\\xd5\\xa7\\\nl\\xba\\xf6\\xbd\\xcf_\\xfb\\x92\\xca\\xa5\\xee\\x93\\x13\\xdd\\x84\\xc5\\\n\\x06\\xe8Z\\xdbF\\xa8\\xb5\\xd6F\\x05W\\xdd\\x9d\\xf2[\\xc8\\\n\\xfd{\\xf5\\xd9\\xd9\\xab\\xb1\\xff\\xa4\\xcd\\x8cq\\x9fu\\x9f\\x9c\\\n#\\x10\\xab\\xa6\\xfe\\x15\\x84r\\x0a!\\x95O\\xa3\\xb0\\x96\\x02\\\n7^\\xb5'\\xe7\\xe3\\x84\\xc5\\xc7\\x17\\x93\\xe9g\\x16\\xfb\\xb3\\\ng\\x9f\\x8e\\xe7\\xd3\\xf8\\xf4rI\\x0a^\\xce\\xc2\\xf1\\xf4\\xf5\\\nd>\\x9brHh#U\\xa6\\x1a\\x88\\x95\\x847\\x06V\\\n\\x5c\\xaf\\xff\\x09\\xe6:)\\x886\\xa2\\x88\\x9d\\xb8\\x11\\x19\\x0f\\\nU\\xabaOcW\\xd9\\x15'\\xb6\\x12\\x9d;\\xea\\xed*\\\n\\x9b\\xe6F\\x83\\xa7\\xaf\\xd4\\xd2hy{\\x176\\xba\\xb5\\xf0\\\n\\xc9\\xaa<\\xa4\\xff\\xef\\xd8\\xe4\\xb5!P\\x16\\x87\\x19\\x1b\\x09\\\n\\xed\\xad\\x96\\xadm\\xe9.dsF\\xa0\\xc3\\x84h{w\\\ni\\x0c\\x8cE\\xeb p\\x16t\\xb1g\\xfbd}\\x9b\\xdf\\\nt\\x1f\\xd7\\xc0\\xbft\\x9f\\xa4\\xfa\\xb8\\x19F\\xd7\\xfe\\xc2o\\\ni\\x83\\xcbX5\\xbd\\xda;lt\\x03\\x04\\x8b\\x84V@\\\n\\x17\\xae.DK\\xfc\\xfd7,\\x1f9\\xc6\\x9c\\xee\\xc8\\x1a\\\n\\xeaG]\\xc0\\x1b\\x8ai\\xb7\\xed\\xe5\\x9an\\xf9s\\xdd\\x01\\\n\\xf6\\x0d)[\\xbc\\xd1\\x7f\\xa7\\x86\\xd6&l\\xa0\\xd0\\xda\\xe7\\\n0\\xae\\x94\\xe3\\xecK+\\xf3\\xd6\\xef\\xd7\\xce\\x036c\\xb0\\\n\\x9eE`\\x11\\xc1\\xd9\\x88q\\xbb!\\xc7\\xd0m\\xba\\x06\\xcf\\\ng3b\\xee\\xda+N\\x9cg\\xf9m\\xa2\\xee\\xb0\\xd2\\xde\\\n\\xf8\\xd5\\xcb\\xf1\\xe5\\x98N\\xfd=q:\\x14x\\x1d\\x0b\\x83\\\n\\x03)z\\xe8\\xb4\\xfd0<\\x08\\xdc\\x0e/\\x14\\xb9\\xb9\\xfb\\\n\\xc4\\xb1t\\xd2\\xb8\\xe9\\xf8\\x0d\\x1b\\x8eM\\x8f\\xff\\xe9\\x9a\\x97\\\n\\xd6mdS\\xc3m\\xdd\\xdep>\\xee\\x82P\\xba{J\\\n\\xb0\\x81b\\xfd[\\x97\\x5c\\x9a\\xe3\\x18q\\xd7\\xf8\\xd0\\xa2\\xd6\\\n!~\\xe2\\x05\\xde\\x8d/n2\\x8d\\xaa\\x1b\\xb1\\xcc\\xc4\\x91\\\nh\\xcd)_8\\xcf\\xbb<.\\x84\\xd3.\\xfb\\xf3\\xd9\\xd9\\\nE\\x17h\\x897\\x0d\\xbc\\xc5\\x83\\xd1>\\xaf\\xa57\\xc4&\\\n7l\\xf4`\\xb4W\\x1b\\x0dn\\xbc\\x13\\xe1`\\x8b\\xb5\\xe0\\\n\\xfd\\x13\\xa8^\\x9cl\\x8b\\x15\\xe4\\xbe6\\x82|\\xc46\\x90\\\n\\x06\\xd8n#\\xc9\\xfe\\x95\\xc0\\xcfj+AHI\\xd7\\xa6\\\n\\x0b\\xa3\\x02\\xdb\\x12\\x1b\\xbc\\x81\\x03L,\\x98N\\xeajh\\\n\\xfcG\\xa7\\xb5\\xab(]\\xb7\\xd8\\x22\\xde\\x9a\\xbd@\\xbc\\x0a\\\n\\xaa\\xe9\\x82\\xed%m,\\x07Dq\\xb0mh\\xb18\\xd4\\\n\\xcc\\x0a\\xdc;O1\\xe0\\xc4{\\x87\\xfe\\x02i\\x9b]Z\\\nO_\\xeb\\xf4>\\xef\\x9e\\xdfp\\xbcd\\xee\\xffI\\x8d1\\\n\\x8d\\xe1\\x1a\\x0d\\x14\\x0d\\xf2]\\xe8\\x0e\\xd0\\xcf <\\x10\\x06\\\nmwz\\x8c\\x9f\\x87\\xdcQ\\xeeQ=\\xfaf'\\xde`\\\n8\\xbc\\xbd\\x8f\\xe4:\\x9a\\xcc\\xe8\\xb4\\x86=\\x1d\\x13\\x01\\x1d\\\n]\\x8c\\xb5/b<M\\x1c\\x9d/\\xdd4\\x82\\x80zB\\\n,&-`\\xea)\\xf3\\x98w\\xda\\xd7\\x0b\\x9c\\x08\\x98:\\\nx\\xed\\xb0\\x9e\\xd2\\x11\\xbb\\xbc\\x02\\x9e\\x9e\\x16\\x02w,4\\\n\\xc9\\x84\\xbe>\\x18_|\\x9en2\\x95\\x0c\\x8f,\\xf0\\x11\\\n\\x9d\\x03k|\\xb5\\x0e\\x86F^a_\\x14\\x9a\\xd9z\\xa1\\\n\\xa1\\x0cb\\xdb\\xe8z\\x8c\\xf1jyo\\x8d\\xeb\\xd1>\\xc1\\\n\\xce!&\\xe0\\xc6\\xeb\\x05\\xdd\\xa3\\xc2\\x9at\\xcb\\x0b\\xf7h\\\n\\x1e\\x9dNZ\\xdd\\x94\\xf5\\x04\\xd1Apt\\xfe\\xb0\\xcej\\\nC!8\\xc5\\xc5\\x89\\xd9\\xa1}\\x19X\\xc81[\\xbd\\x82\\\nYK\\x05\\xb3\\x1b*(VE_, /\\x5c\\xd4,\\\n\\x03\\xd6\\x19lT\\xdb&n^\\x90R\\x81\\x16\\xfa\\xd6\\xf5\\\n\\xec\\x98B\\xb6\\x1e\\x8b\\xe6\\xc0\\x96;$\\xfe\\x99;b\\xca\\\n\\xe9\\xc5utX?\\x035\\x16 \\xe7\\x94X\\x8b2\\xd9\\\n\\x8e\\xe4\\xe7\\xf4X/;:\\x14\\x8c\\x8c\\x8c\\xaa2\\x827\\\n\\xbb\\x82\\xda\\x85 \\xfb\\x12>\\xc7\\xd8\\x8b\\xbf\\x98\\xc1\\xe5i\\\nm\\xa9\\xee\\x9f\\x0c\\xd4\\xc6\\xd3\\xe3C#k]B<\\xd1\\\n\\xa8^}^q\\xc3\\xcd\\x96\\xf3\\x9aNm6\\xad\\xd7T\\\n\\xe0\\xe0\\x90hn\\xb4\\xb9\\xb0Mj\\x1f,2HK\\x15\\\n}\\xb0\\xa7\\xdew\\xdfc\\xeb}\\xd4\\xb3\\xea\\x12\\x13\\xdao\\\nR\\xe9\\xc1\\xf4p\\xb8T\\x8a\\x85\\x08<7\\xbc\\xec\\xd6$\\\nZ\\x11\\x89^\\xa0\\xd0\\xdb\\xa3\\xe9\\xc5\\xc7\\xe7\\xe3\\x8f\\xe8\\x92\\\n\\x1d;\\xb4\\xf9\\x92\\x96\\x01\\x91\\xab\\xf7A\\x85/\\xf4\\x00\\xd9\\\n\\xa3\\xf7\\xe8\\xdc\\xb5\\x9a?\\xea\\xbd7\\x5c_\\x9f\\xfa\\xd3(\\\nG:t\\xdc\\x99\\xf6s,*K\\xe3\\x05\\x8f\\x9d[9\\\n\\x07hn\\xcfm\\xa1\\x93\\xcft-fT\\xd7U\\xfd\\xbc\\\nw%\\xe4FK\\xf9\\xbe\\xe0\\xb0IN=3\\xdf\\x8e\\xee\\\n\\x1cL\\x0d\\x01\\x1dLk\\xbd\\x8f\\x96\\x95\\xb9'O\\xb9X\\\nN\\xe2\\x9a\\xd1\\x91\\xd2\\xcdk\\xd8-\\xa9\\x9b\\xfbzl\\xd9\\\nS\\x8c)\\x8f \\x96\\xab>\\x94\\x5c\\xb2\\xdfp\\x99\\x0f\\xa1\\\nEh\\x1a&\\xf4\\xd5^X\\xb1\\x227\\xfd5\\xa43\\xb2\\\n\\x17\\x9c\\xf7\\xea\\xb78\\x1e\\xf95\\x0b[\\xdcp\\xbcBh\\\n\\x110\\xa3\\x1a|,SO\\x13d\\xe2H1\\xfc\\xd6\\xe4\\\n\\xe2\\xdc\\xe9\\x89\\x8d)\\xe6\\xbb8\\x9d\\xb2K!4O\\xc2\\\n]\\x9a\\x06\\xda\\xd9\\x97\\x8e\\xe9\\xc6\\xd0\\xb4\\x1e\\xc29\\x18\\xb5\\\n^&\\x0c\\x0f\\xf2\\x17\\x93\\x8b\\xcb\\x0b\\xdcL\\xcfq\\xeb>\\\n\\xe7A0o=\\xfa\\xcem\\xf5#(\\x0f\\x8f\\x917\\xdb\\\n'\\xb0\\x025\\xcb\\xdf\\xde\\xc0C\\xbd%\\x98dm\\xcf.\\\n\\xa7\\x17\\xdf\\xc60\\xe8{\\xd8\\xc3\\xad\\xef?\\xdc\\xda\\xde{\\\n\\xbc\\xdf\\x18\\x9c\\xd1[\\x9e#j\\x17\\x9cz\\xe8{\\x08\\x0d\\\n\\xc8\\xdb\\xc9\\xe9\\xe5\\xa9\\x10\\xca[\\xe7\\xa6\\xd1\\x98\\xe0#`\\\n\\xbe5~{4&\\xfe\\xe3x\\xf3\\xd6\\xe4\\x1c\\xde@\\xe7\\\n\\xf0x1\\x1f\\x1f]\\xd2\\xed\\xe8\\xb5&\\xb0\\xb7\\xe0\\x05\\xf9\\\nN\\x80u`8\\x99z\\xfaY/\\xd2\\xe3c\\xd8\\x89\\xf3\\\n\\xe2\\x0a\\xb0\\xfe\\x04\\x18\\xcen\\x02\\xcf\\x80a\\xd4\\xe2\\x89\\xd0\\\nj\\x92\\x0a\\xbd\\xe7G\\x85\\xcdz\\xae$$\\x8f)\\x0e\\xdf\\\nI\\x03\\xf3\\xa3w]O3\\x17\\xb0>\\xa4\\xba&\\xdc\\x92\\\n\\xdc\\xb6J{\\x9b5+\\xda6\\xe5\\xcf9\\xd4\\xc1\\xb8+\\\n\\x0f\\x91\\xe21;\\xed[\\x14\\xf4\\xfbk\\x83\\xc7o\\x95\\xb5\\\n\\xc1-\\xbc\\x0e\\x85\\x81\\x5c2\\x0b\\x86O?\\x1eJ\\xfc\\xd7\\\n+\\xfe\\x17\\x07(g\\xdd0=\\xdc\\xbc\\xa9e\\x8c\\x8e\\x8a\\\n\\xae\\xaf\\xd2:L\\x0c\\x1fUv\\x175\\xe8\\x04o'\\xeb\\\n[\\x82\\xa3\\xc5\\xd1o\\xb7\\x0d\\x8b\\xbci\\xf3\\xdc\\x0a\\x7fL\\\n5\\x11Kq\\xb7\\xf1\\x10\\xf3\\xc5\\x14V\\x1d:\\xad\\xbb1\\\n\\x1c\\x82@\\xd7\\x15(\\xdd\\xc1\\xc5\\xab\\xc8\\x8f\\x87\\x86N[\\\n\\xe6\\xa7\\x95\\x98\\xd9\\xb7f\\x8b\\x94*\\x00\\x8f\\xfa\\xe3\\xfe\\xd0\\\n(l4O\\x80\\x1fK\\xd3,\\xcbj\\xf9\\xda\\x1f\\xd3\\x7f\\\nn\\xef\\x1b\\xfa.\\xad\\xd2=O)w\\xfd\\xdd\\x06]s\\\n7\\xcd\\x93\\x99\\xf7FFT\\xd7<x\\xd5\\x9d\\xeb9\\xfa\\\n\\x86--\\xb8\\xf6\\x0e\\x9f\\xbd\\xcb\\xe9\\xe8\\xcd\\xe833R\\\np\\xc3,)\\xb5\\x83\\x1d9U\\xef\\x18\\xc2\\xac\\xdf\\x02y\\\n\\xbc\\xdc x\\xbcR\\xba_\\xc8\\xf4b\\xe0|\\xe6i\\xef\\\n=\\xbd\\xa2\\xeeD\\x03I\\xd7\\xfd~\\xf6Lz\\x8e\\xfb\\xbd\\\nv\\x91\\xdc\\xfaN\\xe7![\\xd0d\\x8e\\x06v\\xb0\\xdc\\x8c\\\n\\xa1bq\\x1f\\x0fB}m\\x1e6\\xee5\\x9a\\x9bu$\\\n1\\xc27\\x0f\\x97\\x5c\\x0f\\xed\\xb5\\xea\\xe0P\\xb6\\x9c\\xf8\\xa3\\\n7\\x03y\\x1e*\\x91\\x1d\\xb7\\x22\\xde\\x98\\x9c\\xd3\\x019\\x1f\\\n\\xbe\\x17]\\xaf&\\x8a\\xac%L_V\\x1cYcZj\\\n\\xb2\\xa3\\xed\\x94\\xdaLj4hpu\\xbd\\xa2u\\x8d\\xc1\\\n\\x15^!D\\xd9\\xf9 \\xd8\\x7fz\\xff\\xfb\\x1f\\x8e\\xa7\\x08\\\n\\x18\\x12~skN\\xac\\xda\\xad\\x8f\\xb5#\\xa7\\x87\\xfb\\xdf\\\n\\x0c\\x5c\\xdb\\x9b_\\xa8\\x9f\\xc8\\x8f\\x1f\\xdd\\xdf~\\xbc\\xb3;\\\n\\xbciLL\\x8f\\x96{52\\xe3\\x14\\xe8\\xbe\\xdd$\\xb4\\\n\\xd3\\xd9\\xda.\\xdd\\x1f\\xedtIc8\\xbe\\xdcG;D\\\n+>\\xdaYt\\xd8\\xb8$b@\\xd8\\x1eE\\xe0\\x0e\\xe1\\\n\\x19\\xb6\\xa1r\\x22\\xe1\\xd6q\\xee\\x16\\xda\\xd3\\x1b\\xac1\\xf4\\\n\\xa3\\x9d\\x90\\xf0\\xa0\\xb7=\\xe3\\x1f}E\\x99\\x94\\xa3\\xe5\\x18\\\n\\xbd\\xbd\\x1d\\x06o\\x89\\xbb\\x98\\xd6\\x1d1\\xee\\xc3\\x10\\xd4u\\\n\\xfd\\x9d\\x08\\x8c\\x16\\x1d\\x9a\\xdd\\x1d\\x1d\\x9bA\\x0f\\x83-\\xc7\\\ny\\x985\\xc0s|\\x88\\xf9\\x8e\\xdc\\x1f\\xd5~\\xc0\\xeaj\\\n\\xdf\\xd2\\xc0\\xb0\\xa7\\xf4\\xc1\\xb4\\xb7\\xa9W\\xc9\\xc1\\xa3\\xc3;\\\n\\xe8\\xeb\\xbbw\\xd2\\xe5:\\xf9 >\\xec\\x0d\\xea\\x9f\\xc3\\x83\\\n2\\x8a\\xc2\\x98\\xfe\\xe3\\x08}\\x8f\\x0eC\\x9e/'\\x7ft\\\n\\xe8:mW\\xe3\\xe4\\x83\\x8fv\\xd8\\xa9\\x98\\x93G\\xb5\\xe5\\\na\\xc6\\xd7\\x8b\\x9d\\xb8\\x18\\x17P<\\x82^o\\xe2\\xfb\\xce\\\n\\x9a\\xd7Jvf\\x89\\xf4\\x17\\x12\\x98\\x1b\\x9f\\xf5\\xf8\\x07\\x98\\\n\\xf9o\\x06\\x88\\x16\\xc5\\xc8\\xa9\\xcd\\xfa\\xcb\\x8c\\x0b\\xfcd\\xdc\\\n\\xeeI\\x80_\\xc6\\xf3\\xc6\\x0d\\xb5m\\x0b\\x9a\\xec\\x93\\x8b\\x11\\\n\\x11\\xcaw}H'&\\x17^A\\x09]\\x1bH\\x0eb\\\n\\xed\\xe0\\x05\\xcaT\\x8a<n\\xd0G\\xfd\\x97eff'\\\n\\x12\\x13k\\xe8q\\xdd\\xc3\\x85\\xb8X\\xe0\\xf2\\xf9\\x0b\\xf7C\\\n\\x08;\\xe0\\xf5\\xbe\\xf7\\x85\\x1co\\x9ae\\xd4B\\x8d\\xbbI\\\n\\x16\\x5c\\xce\\xf4\\xb7\\xf7\\xf7\\xbf`\\x8c\\xd5{\\x8f\\x1f=\\xdd\\\n\\xbf\\x998\\xe9\\xcb\\x08\\x0fk\\xf8\\xe1\\xeeS\\x13f\\xb5v\\\n>v6\\x9f]\\xcc\\xe0 \\x8b\\xfd)\\xb1_/\\x1e\\xd2\\\n\\xcd:\\x8b\\xa5J~\\x8e\\xa6\\xe9\\x8b\\x99\\x93\\xba\\x1a\\xed\\x8e\\\n\\x99\\xe3\\xb2\\xd8\\xc3\\x90\\xf9%\\xb3\\x1atKyf\\xd9C\\\nx\\x03\\x106\\x92\\xb9\\xdb\\xbdP\\xee\\xa2:\\x8fa\\xdat\\\n\\x9e\\xcd\\x06\\x0a\\xa8\\xdc\\x9b$\\x9a\\xd7\\xd1\\xe5\\xc9\\xc5=\\xd9\\\n\\xaa\\xa6\\x15\\xc3\\x16'\\x98t\\xa0\\x99\\xb5\\xd5s\\x8b\\x0d\\xaf\\\nd\\x7f\\x0c\\xb8%\\xd7:\\xdc\\x8dl\\x19\\xb7Q\\xb4\\xa3l\\\n\\xbc\\x1b\\x86\\xde\\x91?\\xeb\\xb0\\xd2[\\xe7\\xc2\\x03]\\x8c\\x7f\\\n\\xb45\\xf1\\xc0C\\x98\\x1c\\x12\\xf5\\xf0R\\x8c\\xe2\\x94\\xf9\\xad\\\n\\x0e\\xc3\\x8c(K\\xc4\\xff^\\x11[1\\xfdt\\x8a\\xf0a\\\n4\\x00\\xf8!'\\xca{Bzt\\xe5\\xd7\\x87\\xa6\\xe2\\x86\\\n\\xf9o\\xf7\\xc2\\xdd\\xff\\xe4\\xc3\\x7f:k\\x96\\x1a\\xb3|\\xc9\\\nz\\x19VX\\xb16\\x90\\x90UY\\xfb\\x92K\\xd5\\x9d\\xa1\\\n;kK\\xd6&k\\xe4\\xde\\xe3Y\\xa1\\xb5\\xb9\\xe2\\xd2\\x5c\\\nX6mKj:\\xdb\\x1b\\x9f\\x8e\\xce\\xdc\\xca^\\x0d\\x9b\\\n+\\xc9\\x22\\x1a6\\xd7\\x94\\xa9l\\xd0\\xbeR>\\x0f\\xc3\\xa9\\\n\\xb1.\\xe56\\x89\\xc5|\\xfeO-d\\xf5r\\xe6\\x0e-\\\n\\x1e\\x04\\x9f\\xa0\\xdd7\\xb0u\\xc8\\xd3\\xfa\\x90\\xd2\\x90\\xdd\\x86\\\n\\xe7\\xe8\\xd6\\xd0\\xc8\\x5c\\xf9j\\x0d\\x85\\xea\\xa3V\\xd161\\\n5\\xf7\\x10n\\xc3J\\x0d\\x1b78+Y[b\\x99\\xd7\\\n}\\xf3~ox\\xb4\\xd9\\xf3\\xc5\\xf5\\x9363<\\xbfi\\\nV\\x87\\x90\\x1f\\x0a\\xda\\x95\\x08\\xed\\x8bA\\xb3\\x9d\\x18\\x92Z\\\n\\x84\\xe7\\xc92x`Bs]\\xf69\\xd3\\xbf\\xffkc\\\n\\x82g-U\\x1a\\xe7=K\\xfe\\x9c\\xa8\\x00zE\\x0f\\xdc\\\nh\\xd1\\x0f\\x1f?z\\xbc\\xffdk{\\xf7\\xfas\\xb0\\x00\\\nX\\x02_\\xf66\\x06\\x1c\\xfe\\xcex|y\\xa1\\x97b\\xed\\\n\\xcbo\\xe3\\xcd\\xf89H\\xe3\\xced>\\x0c^]\\x5c\\x9c\\\n\\x9d\\x0fn\\xdf>:\\x9e\\xfe\\xf8|\\x83\\xc6\\xf5\\xf2\\xf8\\xc5\\\n\\xc9hN\\xf7\\xcf\\xd9\\xe9\\xed\\x11\\xd5}\\xfbd\\xf2\\xfc\\x9c\\\n}\\xc8\\xe1\\x07vRz\\x9b\\x09\\xebm\\xc3\\x7f\\x04\\xa1]\\\n\\x8f\\xec\\xb2\\x0fw\\xa2p\\xeb;[\\xdf\\xefp\\xfb\\xbau\\\n\\x9f~\\xe8\\x06\\xfe\\xe8\\xe1h2\\x95\\x18\\xe3~Z\\xff.\\\n\\x87\\x12\\x97@\\xeb.\\xe8\\xe2U\\xff\\xbe\\xf0u\\xe1\\xd6\\xc3\\\n\\xfd\\x1aB?\\x82p\\xff\\xfe\\x0fwU\\x9d\\xb6?\\xf9\\x8d\\\n\\xb1\\x92\\xd4\\xd8O\\x8d%5\\xf1S\\x13IM\\xfd\\xd44\\\n\\x08?\\x1a\\x06\\x1f\\x05\\xe1'\\xc3\\xe0\\x93 \\xdc\\xfd\\xfe\\xd3\\\n\\xbd\\xad\\x8f\\x86W\\x98\\x93A0\\x86\\x82m\\x10\\x1eO\\xe6\\\n\\x83\\x8f\\xae\\x05\\xf6I\\x0b\\xec\\x93\\xeb\\x90\\xe3\\xb5\\xee\\xed>\\\n!\\x06\\xbe\\x88c\\x1e\\x860\\xe2\\xff\\xefo$\\x8a\\xff9\\\n\\x0cw\\xea\\x5c\\xb9r\\xf3D\\xe1\\x06\\x81?~D\\xa4\\xe4\\\n\\xfe\\xa3\\xdd\\x9d{[\\x0f\\xef?\\xf8\\xc1\\x90\\xc7\\xdb\\x1cw\\\n\\x97&\\x00\\x9e\\x90\\xf0\\xcd\\x16\\xc2\\xef\\xe5\\x97\\xf03\\xe1U\\\n\\xb0\\xf1\\xf0;\\xdf?\\xea\\xd3\\x02\\xea_\\xcay\\xdf\\xdf\\x0b\\\n\\x06W\\x01f\\xb9/\\x87|0h\\xd4\\x1c\\x0aT\\xec|\\\n\\x07\\xc1t6?e\\x97\\x09\\x9c*|{\\x9d|\\x1d\\xb6\\\nTq\\xffsV\\xa1\\x99\\xf9\\xcfS\\xc5\\xdd\\xaf\\xa6\\x17|\\\n\\xfdh\\xaf\\xe0+\\xea\\x84\\xd4@\\x94B\\xe6\\x07G\\x89\\xfd\\\n\\x82#u\\xf9\\x81#\\x19\\xf2\\x1fj\\xc1\\xa2\\x18\\x05<\\x0b\\\n\\x1c\\xbf\\x9c\\x7f:9\\x1b\\xa8\\x8d8\\xc4\\x8f\\x8f\\x06\\x1b%\\\n\\x7f\\xec\\x0c(EX\\xc6+g\\xc3\\x0c\\x8cFh\\x9fN\\\n\\xc3K\\xda\\xf6 \\x1e\\xf6I\\xe1G\\xdb\\xd4\\xd8\\x97\\xf3\\xd1\\\n\\xd9\\xab\\xc9\\x91lG\\xc9\\xdfL\\xe6B\\xa6\\xcc\\xbd\\xf9\\xe8\\\nSbz$\\xa7\\xfe\\xd1\\x8e\\xdd\\x00\\x1d\\xccn\\x92\\x9f\\x99\\\n\\xf7=\\x92\\xf5\\xde\\x97\\xfc\\x8dT\\xaf!\\xfb\\xa3\\xe9\\xf9\\xfe\\\nx>y!Y\\xed\\xcf\\xf6\\xc6\\xd4`\\xa79~bW\\\n\\x01\\xafE\\xcdd\\xbfIb\\xd7)\\x19\\xf9\\xdbk\\x8c\\xc9\\\n\\xf6\\x94\\xd8\\xd27s\\x9cj\\x92\\xb5\\xfe\\xedf\\xbf&b\\\n\\xf0\\xddG\\x8f\\xbf\\xf7hp\\xb57\\xb8b\\xf7-\\xd0U\\\n\\x1a\\x04-\\x9b\\xf9:\\xbc\\xbf<\\xcb}8\\x04Y\\x9e\\xe5\\\n.\\xb2\\xdc\\x80\\x86\\xf6\\x03\\xb1/\\xfa\\x18\\x1c\\x5c\\xc9~\\x1a\\\nh9\\xdd\\x01S3\\xa6\\xd0\\xa0\\xdc\\x08>~\\xf4\\x8a\\xe5\\\n~\\x12\\x7f\\xfa\\xc3A\\x95f\\x86U\\xfc\\xb0\\xde+sp\\\n\\x9e\\x83\\xabJ%\\x83<\\x0b+\\x95\\x0e\\xf2\\x9c\\xfe\\x14\\x83\\\n\\xbc\\xa2?\\xe5\\xa0\\x8a\\xe8O5(\\xe2\\xb0\\x8a\\xd5\\xa0H\\\n\\xe8O<((g\\x9c\\x0e\\x8a\\x82\\xfed\\x83\\xa2\\xa4?\\\n\\xc5\\xa0\\xa0\\x02q5(\\xa9@\\x12\\x0f\\xca\\x94\\xfed\\x83\\\n\\xb2\\x0c\\xb3\\x22\\xaf\\xf2\\xc1A\\x99Ui\\x18p\\x87^\\x8f\\\n\\x8f\\x82\\xc3\\xb0\\x8c\\xa9\\xb2\\xb2HUH\\x14\\x1b\\x19\\xe8_\\\n\\x93A\\x9a\\x19\\x10\\x9bF\\xf9\\xd2<!(\\xfd\\xdb\\x0a\\x8d\\\n\\xd3xp\\x90TapN\\x8b\\xa3\\x7f\\xce\\xabCw\\xee\\\n0TQ\\x91\\xa6\\x83\\x83\\xb4\\x08]\\x0eB\\x8e=\\xe8\\x0e\\\n\\xb3\\xf3P3\\x828&\\xb5?Q8\\xf26\\xe3G\\xdc\\\n\\xd6dZ\\x93\\xaf\\xf6\\xe1D\\xa9\\xfe/nL\\xeb~y\\\n5\\x1f\\xb6\\x0fv\\x9f)\\xa07\\xe2y\\x14\\x0f\\x82\\x7f\\xfc\\\n\\xc9\\x1f\\xfd\\xc3\\xff\\xc5\\xa1\\x1f\\x12\\xfc\\xf8\\x13\\xf9\\x113\\xe4\\\n_\\xc9\\x8f\\x0c\\x90\\x9f\\xealY\\x8a\\x1f\\x06\\x92\\xe1\\x87\\x94\\\n)\\xa2\\x92~\\xfc\\xecw\\xe5G\\x1a\\xe1\\xc7\\xdf\\xe8\\x1f\\xc0\\\n\\xf6\\xb3\\xffE~\\xe4\\x15~\\xfc\\x9d\\xfc(\\x80\\xe0\\xe7\\xbf\\\n\\xc7?JjX\\xf0-\\xfdI\\xe9\\xdf\\xd6\\x9f9\\xb2\\xfc\\\n\\xcf\\xfaG\\x81\\x1f\\x82\\xa9L\\x80\\xf6\\xe7\\xff\\xb7\\xfe\\x81F\\\n\\xfe\\xfc\\xff\\x91\\x1f\\x5c\\xfb\\xef\\xffD\\xffP\\xf8\\xf1S\\xf9\\\nQ\\x00\\xdb\\xef\\xff[\\xfd\\x03\\xd8~\\xff\\xdf\\xf1\\x8f*F\\\n\\xf3\\x7f\\xfew\\xfa\\x07\\x1a\\xf9\\xf3\\xffL?h\\x81\\xc8\\xc0\\\n\\xda%\\x22+'\\xf4y\\xa9\\xfbf\\xf0u\\xe6%\\x8b\\xe7\\\nk_\\x19\\xd4doE\\xd8\\x96w\\xd2\\xfaz\\xc5w7\\\n\\x9f\\xd7\\xcf/\\xa6\\xf1\\xc7\\xb3\\xcb\\xe7'c:\\xd2\\xe7\\x97\\\nG\\x9f\\xd6\\xcd'\\x92\\x16\\xd6\\x14\\xae\\xa6n\\xd7\\xe1\\x0b}\\\n$.tT\\x1fw\\xc1a\\xd7l\\x98\\xa1\\xd2\\x18\\x82N\\\n\\x14rju\\x93\\x06\\xcd\\xc2h\\xc7\\x02\\x0bX\\xe40\\xba\\\n\\xb9\\x1d\\xdas\\xd6\\x12\\x0474\\xc0!\\x81mX\\xcc\\xe1\\\n\\xb9BKV\\xc2\\xb3\\xe2\\xb0\\xb4\\x10\\xe6eHW\\xd8M\\\n\\x1a\\x8b\\x8fz\\xf9\\xaao\\xc1\\x7f\\xf3\\xb2\\xb7\\xf5\\xd0\\xd5n\\\n&\\xee\\x16\\x17\\x10\\xd7\\xec\\xc3\\xd2a\\x85\\xe3\\xbd\\xfeQ\\xcd\\\n\\xda\\xb54\\xd1a\\xfc\\xc4y)\\x1d3[\\xd8i\\xfa\\x94\\\n\\xd9\\xaa\\x0f\\xed\\x1b\\xea\\xa1\\x8ei\\x96\\xf8\\x86Jn\\xc0#\\\n\\xb2\\xffV\\x1a\\xd2N\\xf6\\xa6\\xb3\\xfb\\xdb\\xbft\\xf2\\xe7\\xf1\\\n\\x087\\x12\\x10\\xd3\\xa6\\xb2\\xa43,+\\x92,\\xa7\\xc3!\\\n\\xaa\\xf8\\xb3\\x90#\\x88>\\xe9\\xb6\\xc8\\x07\\x10Rq\\xfa\\xd2\\\n\\xf9\\xc1\\xc9\\x11\\x7fK\\xc1J\\x8e>|Fr\\xf0\\xe1S\\\n\\xc9\\x91\\x84\\xcc\\xb9\\x1cH\\xf8,\\xf1\\xc9\\x19\\x8a\\x08\\x9f\\x09\\\n\\x7f*\\xc2V\\xd1\\xb9\\x8a\\x1c\\x05\\x7fK\\xe5\\xd4W]G\\\nL\\xa9\\xba\\x9d\\x89\\xcb6\\xb9\\xdc\\xcd\\xa3\\xc7{\\x0f\\xb7\\x1e\\\n4Y\\xa7\\xf6\\x1c\\xf5x\\x8d\\xdb\\x96\\xe4'\\xe3\\xa3\\x8b\\x99\\\n\\xbb\\xb0\\xaf\\x9bLEW\\x19C\\x1b\\xdc\\x82\\xec \\xf3\\xf1\\\nY]\\x86%\\x07\\x9ag\\xe5\\xb9\\xf1\\x18W\\x14a\\x1b\\xc7\\\nf\\x91\\xae\\xcc\\x8d-\\xd6\\xd5\\xc0\\x85{W\\xd8\\x22\\x1aY\\\n\\x95\\x0fllP\\x97\\x085w\\xe3\\xd7\\xdb\\x1e\\x1a\\x81\\xbd\\\n\\xadG\\x1f\\xee\\xee\\x0f\\x0e\\xaeX-7\\x18\\xc17\\x7f\\x10\\\n\\x9e\\xcc\\xde\\x0c\\xaa\\x22|E\\x97\\xe1\\x81\\x8ac\\xdd\\xeeA\\\n\\xb0\\x15\\x84\\xa3\\xe3\\xe3A\\x12_\\x87\\xba\\x80\\x89\\xc6\\x84\\x12\\\ni)%h\\x0f\\x98\\x02\\x8f\\x02\\x9b\\xf3\\xe5|<\\xfeT\\\n\\xa3&6XpG*\\xb5y?\\x0c\\xae\\x0f\\xc3\\xbd\\xdd\\\n\\x87[O\\x06W*\\xa2J\\x88\\xf7$\\xee\\xb1PI\\x98\\\ngQQ\\x0dh\\xb7\\xc7\\xf8,#|&!\\xfd7(\\\n\\xabH\\x85yU\\x0c\\xc0\\xd3\\x87UA\\xf4 \\xc1*W\\\n\\xc8\\x93\\x83{\\xa5<\\xb1\\x02.\\xe2\\x11\\xab\\x8c\\xfe\\xd2\\x06\\\n\\xa0\\xf5O;/\\xce\\xa3\\x01q\\xc3e\\x95\\x83\\x0cT1\\\n\\xberj\\x13\\xad\\xfd\\xb0\\xcai\\xabU95\\x82\\xa0\\xf8\\\n\\xa2\\xfdY\\x81\\xb3\\xa5\\x7f\\x14\\xber|\\x11\\x09\\xc9s@\\\ns@s@s@s@s\\x82F\\x91\\x22\\x841\\xb5\\\n\\x84>c\\xfe\\xa4M\\x1a\\xc7U\\xae\\x93\\xf1]\\x98\\xf4(\\\n*\\x88.\\x15t1!^\\xbd\\xaa\\x06\\xd4d\\xeaR\\x0c\\\n\\xb4\\xd4)\\xfaJ\\xa5Ie\\x9aE\\x83\\x83\\xdc\\xbf\\xa0\\xec\\\n<\\xfe\\xf8\\xee\\x83\\xdd\\xfd\\xa7{\\x1fo\\x7f\\x17\\xbb8\\xab\\\n\\x06\\x07D\\x14\\xdd,\\xfb\\xdb{\\xf7\\x9f<\\xe5-\\x1e-\\\n\\x00\\xef\\xedm}\\xf7\\xe9\\xc7{\\x0cU\\x0b\\xd0&v\\xea\\\n\\xf5\\x81\\x8a\\xd2\\xb6+\\x12\\xa0t\\xcf(\\xd2\\xae\\xba3\\x02\\\n&\\x9du\\x13y*\\xf2\\xae\\xa2\\xe8S\\xb9\\xb4a\\x05\\x88\\\nW\\xb4<\\x0b\\xb5\\xaeT\\xcb\\xb3P\\x1b\\xcb\\xae\\xc1+\\xf2\\\n\\x05\\xa0\\xd3\\x01\\xba$4\\xa1M\\xec%5\\xa0Z\\xde\\xc6\\\n\\x92\\xea\\xa8\\x92\\xa2\\x85\\x043\\xb4\\x5c@\\xe0\\xb4\\xa0\\xa2\\xb9\\\n\\xc9\\xbb\\x86\\xb0J\\x16V\\x8e[\\x94\\xaa\\xa5\\xa3\\xa3\\xa3(\\\n\\xf5\\xac\\x88\\xba\\x80\\x98\\x9a\\xa2\\x1d\\x88k\\x1b\\xfd\\x93\\xd2\\x06\\\n\\xa3\\x96W\\xd4\\x7f|U\\xf8\\xa2C\\xad\\xaah\\xaf\\xa6\\xbc\\\n\\xfd*\\x85\\xaf\\xbcy9\\xe4+\\xdd\\xcf\\xfe@_\\x01\\xf9\\\n\\x16\\xa7!|#\\xfb\\xf9\\xcf\\xe4z\\xc6\\xd7\\xd3\\x9f\\xff\\x1b\\\n}\\xf3\\xe3\\xfb\\xdd\\xbf\\x94\\x1f1\\xeew?\\xff\\xf7\\xfa\\x07\\\n\\xeew?\\xff\\x0f\\xfa\\x07\\xae\\xa7?\\xffO\\xfa\\x07\\xdf.\\\n\\xffO}A\\xe4\\x9b\\xdf\\xef\\xe8\\x1f|\\xf3\\x93J\\xab\\x84\\\no\\x8b\\x7f\\xac\\x7f\\xf0m\\x91\\xaf\\xb4\\xb4is\\xa0\\xfb\\xd9\\\n\\xdf\\xd2\\xff\\x02H\\x19\\xd0\\x86\\xdf\\xfa\\xf7\\xf4?\\xfe\\x95\\x9a\\\n_&\\x015\\xfc\\xd6\\x7f\\xa4\\xff\\xf1\\xaf\\xc2\\xfc\\xd2\\x09E\\\n\\xe5\\xe4G\\x91k\\xa1\\x8e[\\xdb\\xdb\\xbb\\x90\\xe5\\x04\\xff\\xf0\\\n[\\xc1 \\xf8\\xff\\xfe\\x80h\\xff?\\xfc6\\xbe~\\x1f_\\\n\\xbf\\x83\\xaf\\x9f\\xe0\\xebw\\xf1\\xf5W\\xf8\\xfa\\xef\\xf0\\xf5s\\\n|\\xfd\\x04_\\x7f\\x86\\xaf\\x9f\\xe2\\xeb\\xcf\\xf1\\xf53\\xfa\\xfa\\\n\\xfb\\x7f\\x87\\xaf\\xdfG\\xda_\\xe0\\xeb\\x0f\\xf1\\xf5S8\\x08\\\n\\xff\\xdd\\x7fM\\x9f\\xff\\xf5\\xf7\\xfe\\x1a\\xdf?\\xf9\\x93\\xfa\\x9b\\\n\\xda3\\x08\\xbe\\xc9_\\xff\\x91\\xbe\\xfe[\\xce\\xfbG\\x01\\xc4\\\n\\x00\\x7f\\xc7\\xdf\\x7f\\x8c\\xef\\x9f\\xfe\\x16\\x7f\\xff)\\xa7\\xff\\x11\\\n\\x7f\\xff\\x1b\\xfe\\xfeW\\xfc\\xfd\\x7f\\xd0\\xf7\\x07\\xfc\\xf5\\x97\\xf4\\\n\\x05_\\xac\\xf8\\xfe+\\xf9\\xde\\xf0;\\x0c1\\xee\\x1e\\xf5\\xfa\\\n\\x1f\\x7f\\xf7o\\x19\\xf3os\\xde\\xff\\x95\\xb1\\xfdg\\xfe\\xfe\\\n\\xdf\\x9cZ\\xfew\\xfe\\xfe\\x93e\\xb8\\x9f<\\xd8z\\xb4\\xab\\\np\\xdc\\x1c\\x1c(U\\x95\\x88yI\\x7f\\x12\\x1c7\\xde:\\\n\\x16\\x19\\x0f\\xe7IR\\xceC|[Ut\\xe5\\x01\\x83G\\\n\\x7f\\xca\\xac\\x89\\xc7\\xd0G\\xceU\\xe6\\xc8U)\\xd5\\xc4\\xe4\\\n\\xe6\\xaa\\x10\\x05\\x93\\xfe\\x10!hi\\x93\\x973\\xe1\\xd6\\xd3\\\n\\xf1\\xd0\\xd62/g\\xce}\\xa0\\xfd\\xd7\\xc4i\\xf6\\xeb\\x81\\\n\\x8a\\xa3(G\\x04\\xd0(\\xaa\\x16F\\xc3R\\x0b\\xceV!\\\nRgD\\xf8\\x9a\\xd5z\\xd9\\xe8\\x7f\\x9c-]\\x18\\x13\\x9f\\\n\\xeeq\\xde\\x22\\xe6\\xbcUk\\x9f}\\xb4\\x1572\\x8e[\\\n;\\xede\\x8dcnh\\x9c.\\xf6z\\xeb\\xd1\\xfe\\xfe\\xee\\\n\\xde\\xfd{:c\\xc6M\\x8dq\\x83(\\x96f,pz\\\nG\\x09\\xf8\\x8f\\xc5v62'\\x11w*\\x89\\x8b\\xb6\\x96\\\n63\\xc7\\xdc-\\xb0\\xeb]m\\xad'\\x14\\xf9\\xb8kI\\\nQu\\xb6\\xd8\\xcd\\x9e&\\xdc\\x944[\\x18_\\xfbH\\xaa\\\n3f\\xdc\\x8c\\xb4\\x5c\\x18\\xddf\\xc6\\x923f\\xc4\\xa8\\xd1\\\n-\\xadu[\\x104\\xe5\\xe1\\xca\\x8ah!\\x93\\xdb\\xbaL\\\nf?\\x8f\\x08W\\x9auf\\xcb#\\xeesN#\\xd5V\\\n\\xa5\\x975\\xe1\\x09e\\xc6,\\xcd\\x96g\\xcd\\xa5\\xf22o\\\n\\xc5\\xda\\x98\\xa6B\\x16u\\x91\\xa6\\x0b\\xb9m\\xcef\\x0dE\\\n\\xc95\\x14\\x95\\x0a\\xd3\\xb2c\\xa4JY+\\xa5Z\\xc8\\xd3\\\nh@\\xa9$c\\xdc\\x8a\\xac\\x999\\x96\\xcc\\xc9B\\xe6z\\\n65\\xfb\\xfd\\xe1\\xde\\xee\\xeew\\xbf\\xf2\\x1b7\\x1d\\xf2q\\\nS$MT\\x8b\\x18\\x03\\xa6\\x81\\x11}DTM\\x01\\x86\\\nY1\\xb7KW\\x10l\\x97d\\x80\\xfb+}\\x10\\xf7[\\\n\\x22k\\x86\\x04,v\\xe2\\xb2K\\xba\\x8a\\xb0\\x22\\xcc\\x93\\x93\\\n\\xd1t\\xac\\x1c=\\x0c\\xab\\xe2r\\xe5\\xc7?\\x17\\x15\\x02C\\\n\\xfb\\x9d0\\xe7\\xdf\\xf8\\xc6{k\\xd3o\\xf9\\xe0\\x83\\x09\\x94\\\n7{l\\xbd\\x02\\xbb\\x89o\\x0d\\x17\\xe1\\xea\\xb0w5\\x1d\\\nN\\xfbm%\\xd7\\x17\\x13c\\xad\\xe0U\\x0f\\xf5\\xc1\\x14q\\\n\\xcb\\xb5\\x02\\xad\\x97lU\\x81\\x04\\xa6g\\xec`\\x11ir\\\nx\\xb8\\xf9|>\\x1e}\\xaa\\x8d]\\xae\\xa6\\x03;\\x00\\xb5\\\n\\x8aO\\xb8\\xb3\\xfb\\xe0\\xfe\\xc3\\xfbOw\\xf7\\xf6\\x07Wi\\\n4\\xb8\\xe2w\\xf0\\xf0\\xa3\\xef\\xe1\\x04\\xe4\\x0b2\\xd6\\xcaF\\\nl\\xe4\\x1d\\xf4]\\xcaS=}\\xc7\\x1b\\xa9<\\xd0\\xd3w\\\n\\x22\\x8f\\xf2\\x87\\x08zB\\x15\\x1e\\xbd\\x1a\\x5c]\\xcc\\xce\\x88\\\n'Utc\\x11P8~{\\xc1\\x09\\xb9Ix>\\x93\\\n\\x84B'P{R\\xf5\\xb5\\xb4\\xa1l\\xb6\\xa1j\\xb4\\x81\\\n\\x16b\\xdd\\x86\\xe2+h\\xc35\\xed\\x88\\xaf\\xa3+\\xb4\\xb5\\\n\\xfd\\xae\\xc4q\\xb3+I\\xdd\\x15b\\xfc\\xbf\\x92\\xae$_\\\nKW\\xd2fW\\xb2fW\\xf2\\xba+\\xd4\\xaf\\xaf\\xa5\\x11\\\nf\\xf1\\x85\\xa7\\x93cN(\\x9b\\x8d\\xa8\\x1a\\xcdL\\x22\\xb7\\\nUi[\\xab\\x9cz\\xb8\\x10_\\xe1\\x19\\xc2e\\xb2\\xaf\\xa3\\\n'\\x89j\\xf4$i\\xae\\x8c$Y\\xd6\\x93B\\xb7\\xea#\\\ni\\xd5FV-\\xf4e>\\xa6\\x9a(\\xa3\\xed\\x0a\\xa4*\\\n~!\\xda\\xcc\\xba7\\x1b\\xa5\\xde\\xd8\\xd2\\x9d$\\xc9l\\x87\\\n\\xd4F\\x9a\\x16\\xeb\\x1b\\xba=\\x09\\xa7TQU/\\xb8\\x22\\\n\\x89\\x1bx\\x89\\xe7\\xb0x\\xa3\\xcc\\xc3\\xeb\\xa1M\\x1ah\\xcb\\\n\\xb2\\xa8\\xd1\\xd2\\xc1\\xa8\\x1ax\\xdb\\xfb\\x88\\x8c\\xb6\\x93\\xfc\\xe0\\\n\\xe9N\\xd8F\\x1e9\\x13%rD\\xd6\\x07\\xc4\\xabh\\xcb\\\n\\xdc\\xa7\\x0e\\xae\\xac\\xf2{\\xb6\\xb8`\\xe0\\xd3\\x8a\\xdf^c\\\n\\xddc\\xb4\\xc8\\xa8\\x1c\\x09\\x0a\\x7f'P\\x1f\\xcb\\x05,\\xbc\\\n(\\x90\\xd54TOy^\\xea\\x04\\xc1\\x94\\xde\\xd0\\x18\\xb7\\\n\\xee\\x90\\xfdh\\xe9ga\\xa7C\\xd9\\xcd\\xadiV.+\\\n\\x12e\\xbd\\xd6\\xe4_fh\\xba\\x9a\\xd7\\xa0\\xe6\\x1bQ\\x9a\\\n~\\xfe\\xd1jm0d~+5\\x982:\\x0d\\xdeq\\\n'3\\xcf\\x8aU'\\x93\\xb2z\\xcd\\xc3\\xba\\xf4ZS\\xae\\\n0\\x99;\\x0b\\xc3E\\xe5\\xea\\xe1\\xca\\xb3j\\xc5\\xd9tj\\\n\\xd7\\x83Ce\\xdd\\xe6\\xe4\\xd1\\x97\\x1a\\x9c\\x8e\\xf6\\xe5j\\xe5\\\n\\xe9\\x5c2^\\xad-.\\xe2\\x06\\xd1)\\x8a\\xb2\\x83<\\x18\\\n\\xe5@)\\x97|\\x0d\\x8cSV$\\xa9\\xcf9!%m\\\nP\\xf4\\xd4R\\xf4\\x17D\\x7fX\\xc5\\xfax<?G4\\\n+nX\\xf5\\xb9\\x0f'P\\xab\\xd5\\x0a\\xb9T\\xad\\xca\\xcb\\\n_,\\xb3#\\x95V\\xbfX\\xb6\\x84+-\\xbe\\xda\\xc9^\\\n\\x85\\x8b+q\\x07\\xfa:*]\\xc6o\\x81;\\xf0I\\x81\\\n\\xe5'Zx\\x8f\\xa8\\x8b\\xb3\\xb0\\xbcG\\xe4\\xa1\\xce}\\xd4\\\n\\x90=\\xb5nb\\x97A\\xebD\\x9dx\\xa8\\x8b\\x95Q'\\\n\\xea&\\xd4\\x96\\xf7c\\xd4\\x8dE\\xbe\\x84\\x0dH\\xaa\\xe5\\xbb\\\n\\x0c\\x0fW.\\xadq2\\x9fN\\xa6\\x83\\x8d*\\x14\\xe2\\x98\\\n\\x15y\\x19yl\\x1d'%\\xd0\\xd0*i\\xa25D\\x93\\\nJ$\\xda.1\\xa1BJ\\xeav\\xa1LV\\xad6^\\\n\\xacVq\\xb5Q[\\xb5\\xc9\\xb2j\\xf9a\\xeb+\\xb9\\x88\\\n\\xf0\\xb3\\xd8W\\x85)\\x8e\\xbf\\xc2E\\xe8\\xae\\x14\\xe0N\\xbe\\\n\\xc2U\\xe8.\\xf0\\x94\\xb8\\xad\\xd1\\xc9dt>\\xe0CH\\\n\\xeb\\xb4\\x83\\x8f\\x93T\\xe2\\xc8mb\\x9d\\x15\\xec\\xacN\\xa5\\\nMn\\xf3&\\x16A\\xa1\\x12\\x93\\x0a\\xfe\\xde\\xa4\\x82\\xd8-\\\n\\xe0-@\\x8d\\x161\\x94N^[[\\xa9\\xca\\xb6F\\xe0\\\n\\x01\\xb6#=\\xe9H\\xcf\\xda\\xd3\\xb3\\xb4\\xa5\\xdde\\x1a\\x15\\\n6;\\xd8A\\x93^\\xc4\\x16MZ\\x18\\xa5\\x7f~\\x935\\\nH\\xf8\\x0d\\xb6\\x06\\xc4.\\xa0.\\xa1\\x92\\xd6\\xe6Ti\\xd1\\\n\\xda-y\\xc7\\xb5\\xf3F\\x84@#\\x92\\x87\\xdf\\xb6\\xba\\xe5\\\n\\x19\\xb8\\xadry\\xfa\\xd6\\x10~\\x01\\xd7\\xb5\\xc8Cx\\x0d\\\nH,@\\x0d\\xc4 \\x02J\\x9a\\xb9\\xf3]\\xd6\\xdf4\\x1f\\\n\\xf5w\\x22\\xdf\\x9f\\xe0;u\\xd2\\xb3:=N\\x9do'\\\n=q\\xf0\\x13)\\xae\\xbfK'OU\\x7f\\xa7Q\\x9d'\\\nu\\xda\\x99\\xc6N\\x1e\\xa7=\\xb9\\x83?\\xb7\\xf8\\x89\\x13\\x8a\\\n\\x9coU\\x7f\\x97Nz\\xe9\\xa6\\xa7\\xcewf\\xbeU\\x94\\\nE\\xb1\\xfb#q~\\x14\\xa9\\xfb\\xc3\\xf6\\x19?r\\x17R\\\n8\\x90\\xd2\\x85\\x94\\x85\\xfb\\xa3t\\xb3U\\xce\\x8f*r\\xb2\\\nU\\xca\\xfd\\x11\\xbb\\xd9\\xeaQ\\x81\\x96C=\\xefv\\xa3\\x96\\\nUM\\x17\\x1a\\xe9\\x99\\x93\\xee,SZt\\xce\\xbe\\x89\\x1d\\\n@\\x12\\xb5m(\\x00\\x94\\x03\\xc8]@\\xbd\\xe2\\xc1\\xe2;\\\n\\x80\\xc4\\x01\\x94. \\xad\\x01y\\xe4\\x02\\xea\\xddF\\x0b\\xd5\\\n\\x05\\xe4\\x0e\\xc0k\\x95\\xb3whJ]H\\xe9B\\xec\\x1e\\\n\\x11\\x95\\xe7\\xc5\\xbe\\x13\\xc9u,;\\xb6\\x9en\\x0d\\x17\\x0c\\\n=\\x1a\\x19\\xc4$t\\xa3E1gx%Q\\x8c9\\xf8\\\no\\x5c\\x16\\xe1\\xe8\\x1c\\x09\\x83\\x82\\x0e\\x87\\xe3\\xb1|\\x83\\x04\\\n\\x9c\\x7f:~3\\xb8\\xca\\xb3\\xc1\\x86\\xa2\\xa1\\xa6\\x15\\xbf\\xa1\\\n\\x88d\\xd0j\\x97\\xbf\\xe5`#\\xe2G\\xc9\\x8a\\x12\\x88\\xc8\\\n\\x10\\x91\\x96\\xbfJ\\xff\\x8d\\xf5\\xdf\\x842\\xc6t\\x87\\xa1\\x85\\\n\\xbb\\xa1\\xf2\\x22\\xa45\\xbb\\x11e4\\x17\\x85FYh\\x94\\\n\\x85AYh\\x94\\xb4k$\\xa1\\xd48\\x89]\\xd1\\x09\\x89\\\n\\x14\\xa1\\xfd#\\xc8\\xcb\\xcc@r\\x93R\\x98\\x94R\\xe7\\xad\\\ntB\\x15q\\xc2uHk\\xe3\\x00\\xf6Rx[\\x8b\\x10\\\n\\xe48-\\x07\\x07i\\x16\\x87t\\xa4\\xc1\\xac\\x99\\x0a\\xa59\\\n\\x92+$'\\xda\\xd8\\xb9\\xcc\\xc34\\xcea\\xfe\\xec\\xa6\\xd2\\\n\\xa5(M+JU\\x1a\\x05\\x8d \\xa7\\xc7tX\\x227\\\n\\xd5\\x95\\xe2\\x89\\x93\\xc6\\x12\\xe9q\\x19\\xa6\\x05\\x8c\\xa8\\x13\\xc1\\\nb\\xf2g@URz\\x0ae\\x89\\xcc4\\xc5\\xa2\\xc9\\x80\\\n\\xc6\\xc9\\x9eQ\\xa33J\\x87\\x82D\\x9eS\\xbadOt\\\n\\xf6\\xc2\\xc7\\xceh\\x8a\\xc3\\x90u]\\xa8\\x09T[Q\\x95\\\n!\\x9d\\xf5\\xa5\\xa2\\xc6\\xb3\\x92K\\xc4\\x95\\xe2\\xdaJ\\xc7j\\\n\\x9e\\x13\\x03\\x90\\x17:9\\xa3n@O\\x88ZM\\x8c\\x0c\\\n-\\x81\\x03\\xf0\\x5c\\x11\\xceb\\xea\\x18M(U\\xc9\\xba0\\\n\\x82#\\x8b\\x19u\\x06\\x1cE$\\x99\\x09gAY\\x15M\\\nPL5\\x16P\\xe9\\x89\\xf8\\xe57\\x84X\\x83\\x861\\xab\\\n\\x90\\x1eK\\xf6\\xb4\\x84\\xca\\x10g\\x8f\\xa8Jh\\xd1H\\x95\\\n\\x19\\xa5\\xf6\\x099\\x91\\xe8C,-N\\x06\\x96\\xbc\\xc0\\xc8\\\n\\xd2\\x0a\\x01\\x96\\xcc\\xb6\\xa5\\xc8c\\xae;Av\\xa7\\x9bU\\\n\\xc4\\xdd\\xc4`\\x15\\xba\\x9b\\xf2\\xd2\\xaa0E\\x8a\\x18\\xf9C\\\n,\\xcc\\x03\\xec\\x0e\\xe8B\\xc6Q\\xd8\\xe7\\xd7R\\xa0\\xaf\\xbb\\\nZ\\x10\\xd1!*R\\x14\\x94\\xbd\\xd4]\\xc5K&%c\\\n`0\\x5c\\xa5\\x92\\xdc`\\xb5 \\x94TD*\\x8a\\x12\\xf9\\\n\\xb9\\xaf\\xbc\\xeaJ\\xea/\\xe5/Q+\\xadq\\xdb\\xca(\\\n\\xc7\\x10p_\\xa1\\xa4SP\\xf1\\xbc\\xe41HR\\xca\\x08\\\n\\xec\\x99TJ\\x8d\\xce\\xe9\\x02\\xd5\\xe7\\x1c\\xc0\\x92\\xeb\\xc6\\x10\\\n\\x16\\x95`\\x0a\\x89\\xdaA\\xf7E''\\xd0\\xc7D\\xb2\\x8a\\\n\\x12\\x9a\\xa6\\xb2\\x9eS\\xc5\\x85\\xca\\x08H*=\\xbe\\xb4\\xae\\\nr\\xaa8\\xc16\\xa7\\xdcUds\\x13\\x86\\x84\\xf6vN\\\n\\xb9\\x15\\xb4\\xb8\\xdc}u\\xddJ\\x9b\\x0e\\xdaT\\x03=\\xe2\\\n\\x94\\xd0r\\xd5\\xc4\\xa9\\xcaTM\\x9c\\x88\\x88\\x88A\\x9c\\xd1\\\n\\xe6\\x7f19\\x19\\x1b;/\\x8d\\x8a\\xed\\xa48\\xa6\\xc9\\xe0\\\n@A\\xf5\\x01\\x8a\\x03E\\x1c\\xb2\\xe0Xa\\x9ap\\x14A\\\n\\x93-\\xa6\\xd5\\x92`\\xda\\x09\\xed\\x01\\x18\\xccB\\xd1\\x86\\xe2\\\n\\xed\\xc1\\xab\\xe5\\x80\\xae\\x11\\xe0+\\xd9>'<(\\xb1\\x83\\\n\\xe9\\x1f\\x0c\\x22V\\x09\\xfd\\xc3Z|*4\\xfa|\\xac\\xde\\\nW@\\xa3\\x0f\\xeb%\\x06\\x80\\x0a\\xd2?\\xd0\\xf2\\xc3V\\x83\\\nJ \\x98\\xc3P\\xd4Y\\xe9\\x9f\\x825\\xb4bV\\xe2\\xa2\\\n\\xa9$\\xb4\\x22_$\\xeeH\\x1d2\\xff\\x83\\x7f\\x0a\\xfcS\\\n2{\\xc3|\\x0d3.\\xcc\\xb1H\\x10\\x01\\x91bA:\\\nE\\xad.\\xb1\\xadJ\\xe9\\x0b3\\xe9\\x90\\x10\\xf17+\\x22\\\n&\\xb9|C\\xd3\\x17\\xfb\\xb3D/Kld\\xfa\\x07\\x19\\\n\\xd0\\x90\\xa2\\xc4O\\xa8E\\xc1\\x93\\x0c\\xfd\\x03\\x0d\\xe0\\x88\\x7f\\\nf\\xd0eB\\x1a:^\\xc6\\xd0\\x07\\x8e\\xa1c\\x8c\\xf5X\\\n&\\x80&P\\x0c\\x06~\\xe8-\\x1e\\xd0\\xbf\\xf8\\x04\\xf1\\xa1\\\no\\xd6\\x1f\\xce+\\xac7\\xccIY\\x01}\\x15\\xa5\\x00V\\\n\\x18\\x9d*\\xe5vWhT\\x05:\\x09.\\x82Y\\x86\\xd0\\\nh:\\x16\\xa1\\xd1j\\xc4v\\xa4f\\x1cT\\x98 \\xfa\\x07\\\nuT\\xb4\\x87\\xe8\\x1bT@k42\\xf7z\\xc0\\xdc\\x85\\\n\\x1c\\xda\\x80\\x94\\x0a+\\xbf\\x8aYE9\\xa69\\x95S\\x8f\\\n\\xd6\\x03\\x1d\\x16\\x09\\x88\\x12\\x0e\\xbc\\xa8\\xcaJQ@\\xeeK\\\n*\\xa6\\x8c\\x0e\\x91\\x18C\\x16\\xe5\\x92\\xa1\\xe5<I\\xf4\\x16\\\n\\xee\\xab\\x90\\x15\\xa9\\xab0\\xc6y\\x92\\x80\\x5cQw\\xfa\\x09\\\n5\\x05*\\x054TiEK-\\xc9\\x04\\xa0*\\xda\\x96\\\n\\x196<4\\xb9(\\x1d\\x04+\\x03%%\\xa2\\x92!9\\\nS\\xc0S\\xd8d\\xce\\x9d\\xe9\\xdc\\xa5&4\\x0a\\xe3\\xc8$\\\n\\x14\\x9dM*\\xa7Vt\\xa2H\\xa994\\xb4i$h\\\n\\xa0\\x84\\x92\\xa6\\x18\\x09\\xb4\\x88\\x9a\\x93*\\x1f@\\xf5&)\\\nU\\x00+5\\xa4\\x13\\xfd\\x95\\x06\\xd1\\x82\\xc9\\xb0PS\\x90\\\ngZ^L\\xe2\\xc04\\xa4B\\xe5a\\xdf\\xa5\\xf8\\x8cH\\\nm\\xcd\\xa0Bt\\x8d<\\xc0Y\\xddW\\xb4 \\x12\\x10\\x18\\\n\\xaaY\\x01\\x90K\\x01\\x0c\\x9c\\xce\\x8f\\x05\\x91\\xea\\x0ec\\x80\\\ny \\xa8^\\xa5\\xe4\\xdc\\x86\\xd6\\xab\\x92\\xe4\\x14\\xe7T%\\\n\\xe7vN'\\xa4\\xa4\\xd2vO\\xabT\\xcemd\\x96T\\\nZF\\x99*\\xe4\\xdcF^\\xa5\\x04\\x05%\\xc7\\xfa\\xd8\\xc6\\\n\\xa6\\x92\\xcctRd\\xa0\\xc18\\xb4\\x9d\\xcc\\x16G\\xea\\xe3\\\n(5\\x0e\\xcc*\\xb4r\\x94\\x9d=t\\x9e\\x8fl4\\xba\\\n\\x91\\xbbhO\\x06kB\\xa7ccD\\xa0M\\x8bdw\\\nd\\xc1>\\x80\\x04\\x13\\xa7O\\xb4\\x84'\\x82\\x8e\\xa1\\xa2\\xc2\\\n\\xb9\\xaf`_\\x98\\x10\\x96\\xa8\\xf2f\\x08z\\xb3m\\xf9y\\\n\\x01G\\xa85KY\\xed'-\\x80\\x9d\\x170\\xad]\\x1f\\\n\\x07\\xaf\\xde2\\x04I\\xa2\\x05\\x03BW\\x0aO\\x01\\xcd\\x15\\\n\\xb0\\x18%X\\xaa\\x22\\x8b\\x85\\xa5\\xc8\\xab\\x82\\xd7(-\\x16\\\nB!\\xccCi3\\xd3\\x81\\x08\\xe2\\x81q\\xcd\\xf9\\xf8\\xc1\\\n\\x9e*h*\\x80\\x22N\\x0cG\\xc1\\xa9\\xb4\\xed\\x995\\xcd\\\n\\x84\\xa1`\\xc4\\x11\\x9dN\\xd26\\x8c\\x93\\xf0\\x13@\\x5c\\x09\\\ncWb#\\x0a;\\x81\\xd4\\x94H*\\xd1\\xe7\\x14\\xdbJ\\\n\\xb8\\x09\\x99/\\x10\\x1d0=\\xc2K\\x18\\x0c\\x8a1d\\x9a\\\n\\x95\\x90\\xd4\\xbc\\xe2\\x06\\xe7\\xd8 EaRAUBV\\\n\\x9c\\xe6\\xdcek+xc\\x82B\\x81\\x96\\xf3X\\xf0\\xe9\\\n\\x12\\x99\\xccE\\xa9{\\xad\\x84\\x8b\\x10\\xae\\x221\\xb9\\x89\\x18\\\n\\x1b&\\x82\\x1b]\\xe62t|\\xce'v\\x9csn\\x1d\\\n-\\xaaT\\x98\\x08\\x1a.\\x8c3\\xb8B:\\xce9sV\\\n\\xe3\\xa0\\x85\\xc0\\xfcufX\\x08Z\\x11<\\xaf8\\xc5\\xd0\\\n\\xc7\\xb20\\xa9J\\x81\\xb0a\\xc5\\xe6\\x96\\x83\\xc8\\xf5*`\\\n^=3\\x1c\\x84Ie\\x0aZ\\x19\\xfe\\x81\\xbbH4\\x87\\\n{Cy+U\\xefr\\xaci\\x90\\xd9\\x18\\x84\\xad\\x8a\\xdb\\\n\\xb7?t\\x87\\xdd\\x02\\xe0f*\\x1a\\xd8\\xca\\xd0\\xd9,\\x96\\\n\\x02\\x10-3wM7\\xcf\\x03\\xda\\x03\\xb4\\x1f8=\\x92\\\nQ\\xa9\\x98/$\\xe6\\x0972\\xceO\\xe7n\\x92 \\xbf\\\n\\xe6\\xa3\\x89\\xdce\\x15\\x93\\x01\\x8cWU\\x0a\\xfe\\x9c\\xc7\\x96\\\ni9j\\xadl^\\xc5\\x0b\\x85\\xb7\\x8c\\x8a\\x2273Q\\\n\\xfc<\\xe2\\xb3I\\xdf\\x17rf\\xad\\x093\\xd3(:\\x9f\\\nd\\xe3Q\\x87\\xe8\\xb4\\xa3\\xbd\\x94b\\xfd\\x10eFn\\xe2\\\nY\\x22i8\\xb8\\xeb\\x8c\\xb1\\xeb\\xaeF\\x82\\x9dh5\\xb6\\\n\\x08\\xad:$\\xa3\\x83\\x18\\x17B\\x13\\x0b\\xf6\\x5c\\x92\\xe1\\x1b\\\n\\x0e\\xf8\\xfbDj\\xe3\\x82!\\x85\\xc5C\\xfc\\x09u)\\x03\\\n\\x13I\\xe7\\xa4I\\xd6x\\x12\\x90{Z\\xdch\\x0eZ\\x89\\\n\\xf3\\x07\\x07.\\xa8\\xa3R\\x91I\\xf6\\x1a\\xa3tW3\\x8f\\\n\\x96*\\x15Kn\\xbee:\\xe3H\\xbc\\xb7\\x03\\xa0\\xd6\\xd8\\\n1S\\xa9\\xc1\\x9f\\x82\\xde\\xe1pbD\\x99\\x19\\xf8\\x94\\xe8\\\n'\\xceT\\xf0\\xa8\\xb4*q(Q\\xa5|\\x86\\x11;\\xc6\\\ng\\x9bR\\x85 \\xc9\\x1b\\x8d\\xd4t6\\x91\\x01\\x00W\\xcf\\\nm\\xd1t6er\\x85=\\x80MG\\xd7\\x04I\\xd6\\xc3\\\nE\\x93R\\x82\\xad\\x88\\x95$c|\\x19\\x90h4ql\\\n\\xf2\\xf3\\xda\\xa0\\xd9\\xce\\xd1\\x968\\xf1\\x17v\\x81{ \\xda\\\n\\x1e\\xa7\\xf5\\x09,[\\xa1\\x92\\xa5\\x0d\\xed\\x8d\\x8e\\x22\\xd4]\\\n<\\xd1\\xf5\\xc1\\x97\\x02B\\xc4\\x82W`\\xa52C0]\\\nZU\\xf1\\xf80\\xd9\\xc6$\\x82\\x97\\xc0\\xdcVqTS\\\n%\\x87\\xc8Wqb\\xa9<m\\x15Z\\x0aE\\x8e=\\x8b\\\nj\\x85\\xa2\\xd0\\x1d\\x00\\xa7V\\x81s\\x1c\\xd6\\xc8\\xbaN\\x97\\\n\\xe2A;\\xdd\\x90\\x03P\\xffD\\xa8\\x7f\\x95hj\\xd5\\xa8\\\n2I\\xbd\\xdc\\xa9\\xc9]\\x9f,^\\xeeB\\x1a.\\xb9i\\\nu\\x17tW[\\xe9\\x0ab\\xac\\x00}\\x09\\x09\\x0d\\xb0\\x91\\\n\\x90\\xd0\\xa7\\xbd\\x84\\xd07\\x9bB\\xd5\\x96\\x8c\\xed\\xec\\x9fB\\\nK\\x92\\x08'\\x12\\x96\\xb0\\xc7\\xfe\\x15\\xb4\\xbf\\x88\\xc4(b\\\n\\x0e2\\x90\\x99\\x9a\\xffK\\xf9\\xb4\\x84\\xda\\x1a\\x1f\\xa2\\x0e\\xa7\\\n\\xc7\\xe9)\\x88p\\xa1Y=\\xaa\\x81/\\xb8\\xb8\\x99\\x13\\x8d\\\n\\x8eb\\x97\\xd7\\xa3*\\x12^\\x9a\\xc4Y\\xe1\\xd6c\\x99=\\\n\\x08\\x1a\\x88\\x09P\\xb8q\\xe3\\x90MU\\x03@\\xad\\xc5J\\\n\\xab\\x99\\xbdXV\\xad\\x22\\xc2\\x91\\x95\\xa9p{\\x19x\\x9f\\\nB*\\xe7\\xb3=\\xd1\\xdc^\\xac\\xb9\\xbd\\x08\\x97`\\xda\\x00\\\n\\xb1\\xe6\\xf6@mp\\xf3J\\x98\\xa3\\xa6\\xb1P\\x9a\\xdb\\xa3\\\n\\x02\\xf58\\xc5\\xf0p\\xe3q{\\x5c1\\xd1\\xebBs{\\\n\\x10\\x8d(I\\x06\\xd7\\x87m\\xc4\\xec^\\x9e\\xeb\\xcd\\x85\\xe4\\\n4/5\\xbf\\x97\\xf3\\x18!\\x1dc\\x9d)\\xcd\\xf0\\xd5\\xc9\\\n\\xb8\\xbf\\x03\\x093|y.r\\x1a\\xa8\\xba\\xea\\xdd\\xc3,\\\n_\\x9d]\\x81\\xf3\\xcd\\x0b_N\\x83t\\x0c\\x126\\x043\\\n}N\\xfe\\x04t&\\xf5\\x055\\xa8\\x96V\\x00\\xc6\\x8c\\xb9\\\n>\\x17}\\xa1\\xd3A\\x8e\\x12wh\\x92\\xa8\\xd4l_R\\\n\\x0fq\\x11I:\\xf3w4\\x17}\\xbc\\xd6\\xf0\\xa4\\xd0\\xe2\\\n\\xa0\\xab\\x9c\\xe6\\xe4\\x94\\x1d\\x1c\\xcc!F\\x81-\\xa2\\xe4\\xae\\\n\\xc0\\xd9\\x89<\\x17\\xa5\\xe6\\xe5${\\x91\\x82xA\\x92a\\\nx9\\xbe\\xefG)\\xcf{\\x12;\\xe2!H\\x05h\\xe4\\\np\\xd3Q\\xb1'\\x1f\\xcap\\xbd\\xa6\\x86d.3\\x07I\\\n\\x0d\\x11\\xea\\x22u\\x98\\xb9>\\xb4\\xd6\\x13N\\xc6\\x12(T\\\n-a!RoQ\\x1b\\xf1\\x90n^\\xea\\xb2sHM\\\n \\xa4\\x83\\xc0\\xa6\\xac\\x85C\\x18q\\x22\\xdc\\x05\\x04$\\xb1\\\n\\xe1\\xe7\\x18\\x05-P\\xa0\\xc8*\\xc3\\xcf!5\\xa7\\xbdD\\\n\\xa99\\xb6_Q\\x98T\\xba\\x8c\\x86l5\\xcb\\x8cb\\xd9\\\n\\xda\\x8aJDZfO\\xa6\\x90l\\x96\\xb5XHw\\x9c\\\nZ\\x02rU\\x1a\\x01X\\x956\\xb2\\xeb.\\x02\\x0d\\xce\\xe1\\\nL\\xb8^G*D\\xeb\\x15\\xfc~\\xce\\xe2\\x1ff\\xe8\\x0a\\\n\\x96\\xdb\\xd0\\x14\\xe0\\x1a\\x1f\\xe5\\x8eT(\\xe6&2]A\\\n\\x1b\\x8dTH\\xa7\\xc7\\xb8\\xce\\xe7\\x8eX\\x88\\xd2+Z\\x9a\\\n1\\xaf\\x8c\\xd8\\x97\\x0b\\xa1\\xab\\xe0\\xed\\xb3Z.\\x14i\\xec\\\n\\xb8\\x0eg\\xaeX\\x08\\x22\\xa7\\x92WK\\x83\\xad\\xc3\\x9aM\\\n\\x88R\\xe4\\x0d\\xee-\\xc2\\xda\\xa55\\x8d\\xb9p\\xd8\\xb7\\x82\\\nW-]\\x9e!S\\xd4\\xec\\x1bDYz\\xef\\xd2\\xccf\\\n\\xa9\\xe6\\xd2\\xd2\\x98\\x19w\\xdeD|k\\xa9\\xf94\\xde\\xce\\\nl\\xe6\\x1c\\xb2\\xc8\\x859\\xb5\\x14\\x19u:\\xb5(\\xaf\\x1c\\\n^\\xcdE\\xc4\\x92-\\xe6\\xd6P\\x83)AG]\\x11Y\\\n~\\x0d\\x1c\\x95l\\xc8~\\x0c\\x09ldX6*\\x82\\xb1\\\nD\\x19\\x10\\x14a\\xc2R\\xaf\\x12^\\x84\\xa9\\xe1\\xd92>\\\nxy\\x98 \\xe3\\x8b\\x0c\\xd3F\\xe9\\xb6\\x0ab\\x1f\\x92\\xdc\\\ne\\xdat\\xffp\\xf9\\xaaJ\\x87k\\xc3\\xd0\\xe1\\xe4 \\xe2\\\n\\xa1b\\xc3\\xb6\\xc98\\xe14\\xc1\\xdd\\x18\\xb4@\\xf86=\\\n~X[\\x19D\\xb2\\x86qs\\xc75\\x91#CX7\\\n\\x004\\xb1\\x04\\xcb[\\x1a\\xceM\\xa7\\xcb8)\\xcd\\x9d0\\\n\\xeb&\\xa8\\xd2\\x98\\xabH\\xcb\\xd4\\xf0n:=\\x82$\\x99\\\n\\xce\\xa3\\xd20o1_I\\x12X\\x98R\\x17\\x8a\\xc4p\\\no\\x98:B\\x9c\\xf0 e<\\x0f\\xc2\\xbe%f\\x82\\x80\\\n\\xbf\\x8a-\\xff\\x96\\xf0=\\x08\\x0cD&\\x04M3pR\\\n/.G\\xb41Ub98%\\xb3\\x86[\\x0eD\\x0a\\\n\\xb1\\xe5\\xe0lC3t07l\\x17\\x0d&\\xb1]\\xa5\\\n,\\xd6\\x14\\xb2\\x11\\xd5\\x22\\x0e\\xa5\\x14&\\xc6\\xa9P]\\x88\\\n\\xc5\\xa85\\xb4\\xee u2\\x0b\\xd2\\x9dz\\xc8\\xa0\\xf4\\x1a\\\nJy\\x18x\\xea\\xf9R\\xca4\\x96hR_\\x9c\\xb1\\xf6\\\nc\\x1a\\xd4>8\\xf9\\x82\\xe9\\xac\\x03Q\\xb4\\xdfX&^\\\nD\\xce\\xb6B\\x11:\\x921\\x9b\\x05_\\x9ds\\xea\\x02]\\\n)\\x18@\\xc7\\x1a\\x13\\xb4\\x82\\x85\\x03\\x15\\x01\\x98u\\xed\\xc7\\\n%xw\\x00\\xec\\x0eU\\x19\\x03\\x98\\x8d\\x06\\x80O?.\\\n\\xc1\\xa8\\x14\\xa1\\xea\\xe3\\xa8/\\x98\\xc02$KM\\xed|\\\nA/4+CEb.B\\xf4\\x87\\xaf\\xd2u?\\x12\\\n.\\x90B\\xd2u\\xc8/\\xfd\\xc4\\xd7\\xa3\\xb9Q,\\x95\\xd3\\\n\\xde\\xa8|>Whx\\x11e\\x9a\\xcf\\x95#\\x8d\\x17=\\\n\\x16\\x87\\xe1s\\xdb\\xc853\\xba\\x92\\x1f\\xec2K\\xe3r\\\n\\xcb\\xe8b\\xe4x!a-\\xa5\\x1e\\xa3k\\xce\\x02&a\\\n\\xc2\\xe8&\\x9a.\\x83\\x14\\xe2\\xf2Q\\x19\\xc1\\xa0p\\xcb`\\\n\\xce\\xca$\\xb6\\x9c\\xae\\xc9\\xae2\\x5c\\xfaK\\xcb\\xea&&\\\n\\x7f\\x04\\xe9r\\xaay]\\x8d\\x87E\\x9c\\xe8Tu(\\x1a\\\n\\xc6\\x071\\xdd\\xe1y\\xb8\\x5c\\x1a\\xc9:\\x0f5\\x08\\xe2P\\\n\\xec&lj>t\\xe46\\xe0p\\x8e0xK0\\xa9\\\n\\x10jwq\\x95\\x90u7\\x98\\xda\\x18\\xf2\\x22>\\x83\\xe2\\\nXu1\\xbc\\xe2\\xd4\\x01WQ\\xbc6\\xa4\\xfc@\\x056\\\n\\xecz\\xf9k&\\xb8u\\xff\\xa5\\x80\\x90\\x9a\\x97\\x82\\xc8a\\\n\\xd2\\x8b\\xd8\\x13\\xe8B\\xd6(\\x02]~\\x18\\x14!.\\xa8\\\n`j^+\\xb58\\x97\\xc0\\xd7\\xdd\\xfc|\\x1f\\xb7e\\xbc\\\n\\x09\\xd0\\xe0TM~\\x1e\\xd7\\x1c\\xda\\xa5E\\xdc`\\xe7\\xa9\\\nBf\\x81\\x0a_\\x9c\\xab\\xdf\\xf0@\\xf9]&\\xdf\\xe4\\xce\\\n}\\x1e\\x1fo[\\xe0\\x07\\x8a\\x06\\x8b\\xaf\\x9b\\x13\\x83\\xbc\\xbb\\\n\\x1c~B\\xbb\\x16,\\x22X\\x04\\x97\\xc1G:\\xc4\\x088\\\n\\x88|\\x06\\x1f7V\\xa2i\\x90\\xd90\\x7fO\\x8b\\xae\\x94\\\n\\x8a\\xd1\\x1e\\x90@\\x97\\xbd\\xb7\\xf5F\\x86\\xbd\\x8fAi \\\n\\xf7aZ\\x1b\\xf3\\x95\\x83\\xd9{\\x1eIg\\xd4<\\xee>\\\n\\xe2^\\xa7,\\xe3-kN\\xb8\\xf1\\x06\\xab\\x99{\\xbc\\x15\\\n\\xd0\\xe9\\x8aA0\\xbc}T\\xbf\\x9dV\\x86\\xb5\\xf7\\xdfN\\\n\\x0b\\xcd\\xda\\xf3\\xcem>\\xc0:\\xf5Y\\x1c\\xa9\\x97\\xec\\xbe\\\n\\xbfB\\x96kr7\\x9f_\\xe3\\xfa\\xf9\\xb5\\xf0\\xb9z\\x17\\\n\\x093\\xf5\\xcd\\x01\\x11\\x9e>\\xf2\\xc6\\x15w9\\x16\\xe5b\\\nkD<\\x0d%\\x9e\\xdc\\xd3&\\xab\\xef\\xcc\\x0f\\x8br[\\\n\\xf2\\xd7o\\x11xiB\\xcbU\\xee_\\x00\\x5c$5\\xff\\\n\\x9fE\\xf2h[\\xf8\\xfc\\x7f\\xc9O\\x8d|\\x87p\\xf8\\x7f\\\nfK)_\\xee\\xb1\\xff9z\\x842\\x1e\\xfb_*y\\\n\\x8e\\x8c]Y.\\xb8\\x7f\\xa42\\x7f\\xedp\\xff\\xa5\\xdc \\\n\\x92\\xccc\\xfey\\xfd@\\xfe\\xeb1\\xff\\xb9b1\\x0f\\x9f\\\nv\\xa9eh\\x99(\\x81\\x07\\xcb<\\xe6\\xbf\\xe0\\xd7O~\\\n\\x0fs\\x99\\x7fy\\xed.c\\x97\\xf9\\xaf\\x14\\x8b\\xc4\\xca\\xb2\\\n\\xf0x\\x7f\\xb7\\x11\\xce\\x8b\\xb03\\x9a\\x0e\\xeb\\x8fN\\xe3\\x90\\\nL\\x9d\\x07\\xe1\\xca\\x99\\xc0\\x06\\xe7\\x8f3M_\\xb3\\x5c\\xce\\\n\\x1f\\x94\\x03\\x0f\\xd5\\x91\\xc7\\xf9\\xc7`\\x08\\xa9\\x8a\\xccg\\xfc\\\n\\x9d\\xf6\\xb9|?K\\xd6B~\\x14t\\xd8~:\\x10J\\\n\\xbc5\\xc3\\x94\\xd1c\\xfb\\x81\\x85\\xda\\x89\\xb7\\x08\\x87\\xed\\x07\\\n\\x12\\xe8x\\x94>\\xd7\\xaf\\xb8y,\\xeaq\\xa8\\x0eV5\\\n\\xac\\xe0\\xe2,k\\x08s\\xcd\\xfeO\\xfd\\xeb\\x00\\x0a\\xa0M\\\n\\xfem \\x11\\x1d\\x07\\xe2>\\x89\\x8e\\x15\\xfem\\x80y\\x9d\\\n\\x14\\xdbI\\x5cF\\x80\\xd1\\xe0'\\xfd\\x88\\xaf\\xec1\\xf8Y\\\n\\xb9&\\x94\\xcc;\\x0a\\xb5N+\\xff\\x96\\x901\\x9b-\\x1c\\\n\\x9f\\x5c\\x1287\\xcb\\x05)7\\xdeT\\xbd;\\x02^%\\\n\\x88yL2{E\\xb0\\xf9Af$\\x7fl\\x8ej\\xbc\\\n\\x9a\\x11K\\xcbG\\x84\\x96\\xe8\\xe2\\x0a&\\x87\\x01\\xa4\\x99e\\\n\\xe6It\\xb95\\x99\\x96\\x96F\\x9a\\xb3\\xd2\\x83\\x93\\xcb`\\\n\\xca\\xe5 \\x97\\x1b[\\xc2\\x22l\\xec\\xc7\\xd2\\x93\\xe8B\\x1d\\\nCd8\\x9eD\\xd7\\xe0\\xc9\\x13\\xe7j\\x10\\xf1\\x11\\x049\\\n\\xa7\\xaa\\x9c\\x9bA\\xa31\\xca\\xf4\\xd5'\\xa9\\xfe\\xbd\\xc0\\x19\\\nK\\xefb\\xc0\\xda!\\x89\\x1e5s/\\x00\\xc1\\x07\\x9f\\xab\\\no6r-\\xe0\\xc1L\\xf8\\x1c\\x93\\x9b\\xa1\\x5c\\x0b\\xf8\\xe9\\\n\\x96\\x8f2<,%\\xf5\\xb5 \\xb6sh\\x1b\\xaa\\xc5(\\\nH\\x8fY\\xc5\\x82E\\x03r-\\x90t\\xec\\x1e\\xe6\\x0b\\x13\\\ns-`\\xb1\\x0bg\\xc7\\xbd\\xc7\\xcau!\\xff\\x8dR\\x1f\\\n\\x0f\\xdf\\x0a8\\xbf\\x99s\\x96\\x8f{r]\\x9c\\xacD~\\\n\\x92\\xa6\\x5cWvE%\\xab\\xdc\\x97\\xebzE\\xec\\x05C\\\ne\\xf6\\x0c\\xe4V\\xb5\\xdc/J\\x87\\xc9F^h\\xd6\\xf0\\\n\\xfd\\x0b\\xb4\\x13~\\xc1\\xfap\\xb3@\\xa7\\x07\\x885\\xaf\\x07\\\nP\\xc4\\xac\\x8a\\x84\\xc7\\xe7\\x8ai!\\x826(\\xd6\\x96\\xa1\\\n:\\x991\\xe7\\x8d\\x04\\x85\\x09~\\x8e(\\x0as\\xfc\\xba\\xd4\\\nN1\\xb9s\\xb7^\\x8c\\x17e\\xec\\xb1\\x98'\\x94x\\xd1\\\n~\\xc5E\\x80*G-p3r\\x80\\x9b\\x5c\\x92\\xd7\\xb8\\\n\\x94\\xbd\\x12\\xc5\\x8d\\xf5\\xee\\xdc\\x88\\x1a\\xeb\\x1d\\xb6\\x80\\x1dt\\\n\\xa2\\xc0r\\xcdS\\xbe\\xae$\\x1a\\x84w\\x02~5L:\\\n\\xba_\\xa8\\xb4\\xab3\\x05_4ZIL\\x11\\x97\\xce\\xcd\\\n\\x88g\\x80\\xce~\\xa8\\xd2\\x14qe\\xafF\\xc2-*\\xa8\\\n \\x81\\xd8\\xc2\\xdcP_\\xc0r\\x7f\\x8aa\\xdb\\xd31\\x07\\\n\\xfa\\x06\\xa8\\x1b\\x01.\\xaeb\\xd9\\x7ff\\xaf\\x805(\\xc6\\\n5Jq+\\x0aw\\x94P\\xaa\\xc4+\\xbcJ\\xbck`\\\n\\xce\\xa5R:\\xf5\\xfaej\\xee\\x81f\\x90\\x00\\x813\\xf2\\\n\\x22j\\xb9\\x08\\xa6\\xc4\\x1e\\xf4y\\x8c\\x9c\\x9b`\\xc5\\x15)\\\n\\xbe\\xdb\\xb5]\\x05Sp'Un\\xef\\x82\\x99\\xbd\\x0b\\xc2\\\n\\xe5D_\\xa5\\xa5\\xbe\\x0e\\x16\\x91BM|\\xadM\\xa0>\\\nPF\\xe6>hf\\x97\\xbb\\x04N]\\xf1\\xdbh\\xaaY\\\nhi\\x1d\\x1e|\\x08]\\xd4\\xb8+\\xd6G\\xbe{WL\\\n \\x14\\xc2\\x13\\xac\\xbd+.\\x1c\\xef\\xdeU1\\x15\\xb59\\\n\\xd5\\xb8*\\x16\\xe0\\xfe\\xf8\\xd8w\\xaf\\x8a\\xce\\xd1\\xec^\\x15\\\n\\xf9\\x88\\x17.\\xca\\xbd*\\x1a\\xb1a\\xe3\\xa6hx\\xae\\xcc\\\n\\xbf(z\\xb9\\x0b\\xb9\\xe4Jn\\x1a\\xa4\\x9com\\x0a\\x87\\\n\\xaa\\x09\\xe2\\xc2\\xa4\\x83\\x922I\\x82\\xfc\\xcf$\\xe5\\x92\\x04\\\n\\xa6\\xde$\\x15\\x0d\\x9a\\x03\\x8d(I\\x82\\x8e\\xa7$\\xc58\\\n\\x0b\\x9bI\\xfaRU\\x1aT\\x8d\\xabj}\\x807o\\xaa\\\n\\xe3DZ\\xb5pK\\x05a`\\xcd\\xcar\\xe1\\x92\\xea\\xde\\\n\\x8b\\x9awT\\xec\\x22P\\xea\\xbc\\xe5\\x8e\\xea\\x5c\\xe2\\xa0\\xbc\\\ne\\xf8[fQ0\\xaaI\\xc9\\xcd\\x88\\x8d~a\\x945\\\n \\xd8\\xb0r\\xe7Q\\xd0:\\x03\\xa9\\x8b\\xb0\\x1f\\xc4\\xc53\\\nqF\\xd8=a,O\\xb81_\\xafa-\\xc0R!\\\nZ\\xc09\\xef\\x07(\\xc0\\xb0\\x8c\\xb8\\xe3\\x96l\\x9c\\x96E\\\n|\\x10\\x9aU\\xc3\\xd5\\xa4\\x96)\\xc7\\xf3>\\x11Y\\x22Y\\\nZ\\xc9\\xac\\xd6\\x08\\x85\\x1eY\\x0ef43\\xee\\xc3\\xcc=\\\n\\x13\\x8bD+\\xc2A\\x1b\\xcd\\xbe\\x09k\\xc6.\\xe3tp\\\np\\xf2\\xd2\\xc2\\x93C\\x80\\x0a\\x0c\\x1c[\\x06[5&\\x1e\\\nf<\\x08\\xb2\\x8e\\x22\\xd6\\x9b[$\\xb7E\\x9c\\xabr\\xa3\\\nH\\xdeU\\x0bzHc\\x8bK~\\xa3\\x08\\xc8\\x07\\xbc\\xa0\\\n`\\xc4\\xa8L\\x5c\\xd92\\x95\\x0f\\x01\\xb6\\x82\\xe5\\xe1\\xc2\\xce\\\nakGM\\x88\\xf2!\\x16\\x1b\\xac\\x12Z\\x9b\\x96c\\x0d\\\n\\x1a\\x00t\\x0e\\xa0\\x13\\x14\\x096p\\x22\\x1d\\xa0D\\xf7\\xb4\\\n\\x0f%A\\x1f!\\xf6o\\x5cD\\x8b5\\xe1\\xb2\\xef\\x97\\xc9\\\n-H\\xf9e,@\\xee\\xc1-\\xcd\\xc6-\\x16O$\\xd0\\\n\\xe5\\xf0K\\x14\\xf5\\xec`\\x0d\\xe0d\\x85\\x02,[\\xfbv\\\n\\x14\\xa9\\xba\\x8a\\xf0}\\x96\\x0fr.\\x92\\xb0\\xb3\\xc2C1\\\n\\xaa\\xb5\\x13\\xea\\x15)\\x0c/\\xac\\xaf>\\xcc\\x85\\x1e\\x8a\\xac\\\n\\x86\\xcf\\x09\\xa4\\xc3\\x81\\x0c\\xb6\\x85\\x00\\x0a\\x97y\\x169\\x0b\\\n\\xa7WREQz\\xc2\\x85RX\\x03\\xa8''\\x1e\\xc5\\\n'@}\\x9b\\x06\\x11/!#f\\xed\\x17\\x95\\xd4gJ\\\n\\x03\\x92\\xf9E\\x129T\\xd8\\xb2\\x97g\\x84'\\x8b\\xef\\xe6\\\n\\xa9\\xdc\\xcdK8S<\\xe0E\\x9c\\xe7\\xfe\\xcd\\xb1h2\\\n\\x84FN\\x22\\x1eS\\xdbnP\\x04\\x01w\\x04\\x91k\\x92\\\ny\\x12\\x9d\\x92\\xf9\\x12V#\\x93\\xeb\\xa3\\x95=\\x95\\xcc\\x97\\\n\\xb4C@\\xcbL$AV\\xcf\\x8fi'qO\\x93\\xc4\\\n\\xb2\\xdb~\\xa3\\x93Z\\xcc\\xef-\\xb1\\x22\\xc9\\xcd\\xc4\\xb8\\x87\\\n\\x1c\\xdb\\x08\\xb73\\xc4l\\x09\\xecuS\\xf1\\xbbG\\xc1 \\\n\\xe6\\xda\\xf8\\x8e\\xc8\\xccl&\\xccl\\xc9\\x0e\\xe5\\xdb\\x01Y\\\n\\x17 \\xef\\x02\\x14f\\x9es\\xa6\\xa4\\x18\\x17>\\x17\\xe0T\\\n\\xaf!\\x81\\xc9L\\xff\\xc1\\x94\\xb1\\xe8,\\xe1\\xde\\x809\\x15\\\n\\x00\\x98+<4\\xf4\\x0d\\x9fk\\x8b\\x14\\x89\\x16\\xb2\\xe3\\x1e\\\n\\x22cf \\xd44x\\xbb\\xc2\\xcc\\xf8e A\\x80\\xd7\\\n\\xc2\\xbejb\\x13\\xa9@\\xb4(\\x1d\\x82&o\\xbdp\\x1b\\\n\\x90f\\xe3j\\x08\\xd0Q\\xaaJJO\\xa8\\x04E\\xe0.\\\n\\x08\\x18\\xf1\\x8c\\xf8H\\x08\\xd5]\\xd2Pb\\xafA\\xd9\\xda\\\n\\x00\\xcc\\xe2(\\xb1\\xa03\\xecI\\xe5\\xef\\x8e2.|\\x80\\\n\\xad\\x03\\xeb\\xcc\\x95u\\xd9\\x12I\\xb6(\\x04K\\x18P6\\\n\\xda[\\x17\\xa9Zz\\xc2e\\xba\\xd6F\\x99V\\x0b\\xc8X\\\n/\\xbe,Y0\\xe9@r[\\x0d\\x84\\x93\\x19\\xeb\\xcf\\x00\\\nW\\xae\\xc2\\x9c\\xd5\\xf7\\xca,\\xeeHO\\xecR\\xf2\\xe7\\x04\\\n\\x12\\xcav@\\xd6\\x05\\xc8\\xbb\\x00E\\x07 \\xcf[\\x8f\\xfe\\\n2/:\\xd2K\\xb9;8\\xec'\\x8f \\xdfDZ\\xd2\\\n\\x8b\\xb8\\xde\\xf6%\\xab+@\\xe5\\x93\\xd5\\xbd\\xb1LS\\xbe\\\n\\x95\\xe8\\xe3\\x9dX\\x12~\\x17\\xaf\\xb0L\\xf55\\xc2\\x97\\xa0\\\n\\x12\\x08\\xdc\\x0d\\xf3\\xfd\\x22M!J\\xcelO\\x85\\x05\\xcc\\\n\\xb74\\xd6C\\x82\\xba:\\x9e\\x11\\xa1k\\x0e\\x8f\\xa5\\x11s\\\na\\x1e&\\x90\\x16[I\\x83\\x87\\xabRv\\xc3\\x0a\\xa00\\\n\\x91\\xb4cY\\xde\\x9dr\\xfb0\\x08V\\x93\\x06\\xba\\xb9E\\\n\\x8a\\xc7\\xceC\\xf1\\x15\\xe0\\x81b<js}E\\xd4Y\\\n\\xa8P]\\x85\\xc0N\\xc9\\xcd\\xad&\\x1a\\xb2\\x97`[w\\\n\\xc0w#\\x95\\xa4\\x1e\\x88\\xcd\\xde\\x0f\\xe0\\x1d.\\x86>\\x9b\\\nb*\\x9c@Z\\xcdV\\xeb>$\\xd7\\x90\\x1c\\xabV_\\\n\\x88\\xf0tP\\x89ZR\\xc5\\x9c\\x81\\x8ck&\\xe3\\x9a\\x8a\\\n\\x22%\\xcerN\\x81\\x06\\x93W\\x22_,\\x01\\xe1\\x1b\\x9f\\\n\\xc0|\\x96\\xab\\xcc\\xa3\\x17\\x95\\xdc\\xde\\xa0\\xa1\\x9f\\xf8\\xcb\\xa7\\\n*c-\\xa5v\\xe9\\xaf\\x00r]$\\x8f\\x9b\\x10t\\x11\\\n\\x0f\\xca\\x1a\\x19\\xac<\\xf0N\\x0f{\\x01=\\xcc\\xb1y\\x1e\\\nI\\xf8M\\x8eI\\x06\\x9dh!\\xfc9&\\xe2\\x9e2\\xe1\\\n\\x1b\\x1b\\x93\\x0c\\xc2k!\\x5c&\\xd1\\x16\\x07\\xfek\\x0b\\xd4\\\n\\x91,\\xacX|\\x89\\x11\\x1dQX\\x83{3\\xc0\\xaf\\xb6\\\nYq\\xa8\\xad\\xb9\\x9b\\xb3\\x13\\x8bf\\x00\\x0c&-W\\x99\\\nG\\x8cQe\\xb1\\x88\\x1d\\x93\\xc8\\x81%L\\xa4\\x14\\xeb\\x16\\\n\\x89\\xd9\\xa4\\x85\\xc1{(\\xca\\xb1\\xa1\\x95XNZ\\xd6\\x8e\\\nq\\xe6N\\xb9\\xc4\\x81%\\xa5\\xc0X\\xad\\x92\\xed'-\\xac\\\n\\x14\\x8dB\\xc5Jib)\\xe9\\xb5\\x85\\xdb)8K\\x95\\\ny\\xb2\\xe6R\\x04@l\\x9c\\xd1N\\xb2\\xd9b\\xa3\\xf5\\xf4\\\n\\xb9Y\\xdb\\xaf\\x8e\\x0d\\xd7\\xad\\xed\\x07cgk\\x0fY6\\\n\\xb5\\xfd\\x1c\\xf3H\\xa8R\\xe6\\xc6\\x1c\\xd2\\xbc.\\xb2\\x81$\\\n\\xb8\\xcf\\xdc\\xd8\\x1d\\x16\\xc6\\x9c\\x11&\\x92\\xf2\\x11\\x1bS\\xc8\\\nD\\x1bK\\xb6\\xd9H\\x8a\\xf5\\xa4\\xc1\\xebYI\\xca;\\xa6\\\nk&)\\x1f\\xae\\x9d\\xa4~\\xeb4\\x1f\\xe6\\x1d\\xb4,\\x1d\\\nsH\\xf9\\xa8t\\xa5\\x90ms3 \\xcc6I\\xb1I\\\n2\\xf6\\x9c\\x90P\\xf7\\xcd\\xa7A\\x06\\x91\\xb0.\\xa1b\\x9b\\\n\\x96\\xd8\\xaf\\xd4B3\\xfb\\x95[haP\\xab\\xd2~\\x99\\\n^B&\\xab\\xd3b[Gl\\x06\\xb0R\\xc6\\x00\\x14\\xb2\\\n\\x1bni\\x15\\xdb\\x8e\\xc5\\x89I\\xcam\\x92\\x99\\x1e\\xc8]\\\ntZ\\x92\\xd8\\xb4\\xd4\\xa6\\xe56\\xcd\\xcc\\x00\\xc8\\xbf\\xb4\\xa4\\\nJ-\\xbe\\xd4\\xe2K\\xad\\x9dif\\x1b\\x90\\x99\\x16WY\\\nl\\xd3lm\\x99\\x99\\xe4*+\\xecW)+\\xa2\\xca\\xcc\\\n\\xacT\\xb9mhn\\x91\\xe4\\xc6\\x00\\x16\\xce\\xe2\\xcd\\x97m\\\n\\x14/F)k\\xd0\\xd9uT\\xd9\\xd5\\x82\\xa7\\x1e\\xfb\\xa9\\\nt\\xab\\xda\\xacc\\x0b\\x9fq\\xe4u\\x8f\\x97\\x9f\\xc6ca\\\n&\\xafD\\xcec!t\\xe63\\x18o8\\x8f\\x85xR\\\nd[\\xcb\\x027\\xb0\\xfa\\xb1\\xb0\\x94g\\x01\\xa6B\\x8e\\xe1\\\nG\\x22V\\x87\\xb5))\\xcb\\xec\\xd2\\x84S\\xd3\\xaa\\xf1X\\\n\\x98[\\xc4\\xf5c!\\xb4\\x81a\\x97\\x04&\\xa2~,L\\\nS>\\x84X;\\xc9},\\xcc\\xd8\\xac\\x87u\\xeb\\xea\\xc7\\\n\\xc2\\x92\\xd5\\xb0q\\xa0y\\x8f\\x85%\\xabr\\xe7i\\xe1=\\\n\\x16\\x16<\\x14*\\xc2\\x13i\\xfdZXFI\\xdd\\x0aW\\\nS\\x90\\xb5\\xea\\x0a\\xd0s\\xe7\\xb5\\x90\\xaeP\\xd8\\xe9\\x99j\\\n(\\x0aB\\x9b\\xc3\\xe4\\x8e\\xadz#\\x8f3\\xb2g\\xbe\\xf5\\\n\\xa8Xr\\xb2mE\\xfdZ\\x98\\x95\\xccI\\xb0j\\x9e\\xf3\\\nZ\\x88?y$\\x86\\x9c\\xceka&&\\xa4\\x05\\xf3\\x1d\\\n\\x8e\\x92 k\\x0f\\x83\\x14\\x94\\xeec!\\xe6\\x10<V\\x16\\\n\\xd7\\x8f\\x850!\\xc2@\\x01w\\xe2\\xbd\\x16\\xf2\\x05Y\\x9f\\\n\\xcf\\x85U\\x80\\xcab\\xeeL\\x06\\x15\\x12W\\x81/f\\xfb\\\n\\x83\\xb4~\\x9a\\x13]\\xac\\x84%\\x09i\\xec\\xa9\\xef\\x01K\\\n\\xc4X\\xc4\\x1aB9\\xca^lR\\xa3\\xf3\\xc7\\x8e\\x18\\xaf\\\n\\x8a\\x84\\x9f]\\xd0\\xdd+\\xd8\\xa8(e=~Ww\\x0f\\\n\\xbaj\\xa50\\xc0\\xfau\\x8e\\xcf78\\xce\\xc2+\\xb4\\x9c\\\n|\\xb9\\xa4\\xe3\\xe1\\x08G7\\x98\\xdaT\\xce\\xd9Zw/\\\n\\x13\\x87\\xb9\\x99\\xa4;\\xba{\\xb0\\xd0\\xc6\\x80\\xe6\\x0d\\xdd=\\\n\\x96l\\x86lS\\xe9\\xea\\xee\\xe5\\xccw\\x19\\xc3\\x05e\\x15\\\n\\xe5\\xd2\\x92\\xcd\\x85S(\\x95\\xf8Ot\\xb4&\\xfb\\x18\\x8d\\\n\\xaah*\\xef\\xa5\\xcc\\x5c\\xb1\\x90\\xc4\\xd3\\xdd\\xcb\\xf8\\x89]\\\n\\x1e\\x88\\xac\\xee\\x1et\\xee*\\x98\\x14\\xa7\\xaaj\\xe8\\xee\\xe5\\\n\\xac\\xbe\\x9dH~\\xe7\\x91\\x0e\\xe2\\x1e%\\xaa\\xc8\\xb5\\xee\\x9e\\\n4\\x15\\xf8Y\\xe9\\xd2\\xd1\\xdd\\x13\\xf2\\x03\\xabm_w\\x0f\\\nx\\x12\\xab\\xa2\\xa7\\x9cY\\xabx,RQ\\xf6st\\xf7\\\n\\xc0\\xc4e\\xa2 \\xbe\\xf8\\x80f\\x9f\\x05\\xa0\\x8eLT\\x0a\\\n4\\x06\\xccH\\xf3]\\xa04\\xaabQ\\xebFn\\xbe\\x0b\\\n\\xd0\\xbd\\xb1\\x88\\xbcw\\x81\\x02\\x22\\xabD\\xb4\\x82\\x9cw\\x01\\\nK\\xaa\\x0a\\xff]\\xa0\\xc4\\xb6\\x15\\xcd^\\xe7] \\x13\\xb3\\\n\\xef\\x82\\x8d\\x8f\\xeaw\\x01\\x5c#\\xe3T\\x8c\\xc6\\x9dw\\x01\\\n\\xb8\\xae\\xe0!l\\xbc\\x0b@\\xaa\\x13\\xe9w\\x8e\\xb4\\xd6\\xc6\\\n\\x84\\x85q\\x02\\xfb\\x1b\\xec\\xce47\\x1a\\x0b)$ml\\\n\\xd7\\xc2\\xdc{\\xaa\\xf7-\\xfb\\x19P\\xf2b\\xca\\x9a\\xb7i\\\n)\\xd6\\xeaJ\\xae.\\x09ls0\\x90\\xe2R\\x81m\\xde\\\n\\xb1\\x15c<\\x8f\\xb0b\\xaf\\x19Il\\x14\\x98\\xf0\\xa4\\xf2\\\n\\xa4\\x5cefR!\\x86\\xa9\\xc4\\xd6\\x86\\xdb\\x94\\xc5V\\x02\\\n\\x8e\\xd5\\xc7\\x93\\x8a\\xaee\\x89]\\x95\\xf0D\\x9e\\x96\\x9a\\x9d\\\n\\xcfRg\\xd5\\x88\\x968+\\xf0eF\\x02-\\xc4\\x0e\\x06\\\n\\xa08\\xafp8\\xdb\\x8aa\\xabkly\\xaa\\xcc<A\\\nB\\x9f\\x97mN\\x13N.M\\x0f2\\xee\\x01V\\x1f\\x0f\\\nEV\\xb5\\xee\\xc4*\\x8f\\xea\\xb7\\xe9\\x82u2dLs\\\n\\xa7\\xc7ph\\x8a\\x8a\\xa1\\x15\\x83\\xd3_\\xf7\\x0c\\xcf\\xa5|\\\n\\x9c\\xa4\\xac\\xe1\\x88W\\x02\\x8bI\\xcbO\\xd1e\\x08\\xaa8\\\n\\x9d\\xba\\x95\\x14x\\xe5f\\xf5]\\xb0\\x0cFY\\x16\\xb2\\x12\\\nV\\x90\\xe7\\x9am\\x97\\xa1\\xe1\\x03\\xfa@\\xab\\x86/o\\x8e\\\n\\x1ej.\\x22\\x5c1y\\xcb5\\xb5B\\xa7s\\xa1\\x0dl\\\n\\xed\\xc0\\x17^\\xa3w\\xcb\\x9a\\x1cT\\x805\\xb5\\x0b\\xabv\\\n\\x94U\\x9c?\\xe3S\\xa1T5\\x228r\\x81.%d\\\n\\xc0U\\xa9_\\xd8\\x95\\x9c.\\x90\\x13\\x08M\\xb7\\x04\\x91u\\\n\\x90Y\\xaa\\xc4\\xc3\\xc4\\xac\\x8c\\x19\\x8eTL\\x95`\\xf9u\\\n\\x83j!\\x07\\x82\\xee\\xba\\x12\\x94\\x8e\\x01P\\xc2zQM\\\n\\x16\\x09\\xa2R\\x00`1\\x0d;\\x01Z\\xe2|TA\\x88\\\n\\xe9\\x02\\x12<\\xfch\\x8bf\\x93\\x9e\\xc9EU\\xb4N\\xdc\\\n\\xfc\\x98\\xfc\\x08\\x16[\\xa9\\xa8\\xcdx\\x05R] i\\x14\\\n\\xc0\\xf4\\xa5Z\\x07\\xc1\\x16\\x80\\x89\\xb5\\x9ceZ\\xd5\\xa0\\x1d\\\n\\xb2@\\x10\\xf9U\\xbd\\x10\\xe9\\xb0\\xa8V\\xf4K\\xed\\xd7\\x03\\\nc\\x00Yn?\\xabx\\xcb\\x84Z\\xd1\\x94\\x9f\\x98m\\x11\\\n<\\x1a\\xc3BK\\xbf/\\xdb\\x02H\\xcf\\xf0\\xc2\\xa7#z\\\n\\x1e\\xe4\\xac\\xcc+ZY\\xb0\\xc1V\\xf6A\\x89_\\x06s\\\n\\x16\\x12\\xc5\\xf6\\x09*k\\x07\\x88\\x5c\\x82_0\\xf9\\xfa_\\\nh\\xe3Yy\\x96\\x10\\x83f\\x0fP(G2S\\xc9S\\\n\\x1e\\xf3he\\x11G\\x9d\\x10G0C\\x83\\xc7\\x0f\\x0d\\xf2\\\n@)2sf\\x86\\xe5YF\\xb1\\xde|\\x1c\\x19Y7\\\n4\\x93U&j\\x92\\xec\\xdf\\xa44\\xa2n\\x0d\\xe1\\x91L\\\n\\xb5E\\xb2H\\xa1K\\xad\\xeb\\xa0\\xd5\\xf7r\\x0d)kH\\\n\\xa9\\xf8\\x0a_e\\x22\\x1d\\xafj\\x88\\xc2\\xc3\\x02n\\xdb\\x09\\\n\\xf3{E\\x16u\\xe0+\\xab\\xdc\\x11\\xc9%\\x22\\x87\\xe6\\xc7\\\n\\xe2\\xb2*:!e'\\xa4\\xea\\x800\\xc9\\xb0\\x0b\\x16l\\\n@\\x14\\x8b\\xe6\\xa5H\\xc9<P\\xecJ\\xc9:\\x0a\\x15\\xaa\\\n\\xbdP%\\xda0\\xbc\\xac\\xb0H\\x12\\xa8\\x83\\x08\\xb3\\xc6B\\\n\\x1a3K(\\x03Ugm~\\xab\\x0a\\x1fT\\xc0\\xf2@\\\n\\x8c-2GsM)6\\x96\\xc0\\xf4k`\\xb2\\x0c\\x98\\\n.\\x03v\\x0c<@\\xed\\xe3\\xbb\\x02)\\x8b}RF\\xe5\\\n5)S\\x08\\xf8gh\\x19[\\x8c\\xb7\\xd12\\x05\\x8b\\xab\\\n\\x1c\\xf4\\x016\\xe4`?\\xd8a\\x84j@\\x12\\xadL\\x8a\\\nUj\\x01\\xa5\\xf4O\\xd4\\xe3\\xdd\\x122;82\\xb5\\x1a\\\n\\xa0_\\xc4h\\xd4'\\x8d\\x22`\\xfd\\xd2BS4\\x0b\\xc9\\\n\\xb5\\xd48K\\x0dI\\xeb\\x00u\\xd0\\xb4\\x22\\x16E\\x17l\\\n\\xd2>\\xb8\\x88\\xc8\\x125\\xe8D\\xe7\\xfa\\x05Kk\\x1e\\x08\\\nQ3eD\\x00L}7T\\xcd\\x94\\x00\\x00\\xf8,e\\\n\\xa9\\xb0\\x8a\\xd8\\xaf\\x90\\x88\\xd7\\x89\\x15U\\x86\\xb6t\\xc2\\x94\\\n\\x03\\xd3\\xda\\x05*\\x11B\\x91\\xd8\\xb9i\\xa1/<\\x0b\\x98\\\n^L\\xabV\\x15\\xd5\\xcfo \\x16\\x16\\x84\\x88r\\x8cT\\\n\\xbfg\\x81^\\xd4@\\xb8\\x9f\\x01\\xb0b\\xcf7L0\\xda\\\n\\x912\\xc5\\xb0\\x0dU\\xf2\\x1e@\\xab:34\\xa3\\x13\\x86\\\nha|\\x1e\\xb6\\xc0\\xcc\\xa0\\xa5U\\x13\\xc6\\x94\\xa3^~\\\n\\xb8j\\xc6\\xa9h5\\x0a\\xe9\\xf0`\\x90\\x0eG\\x89\\xa1\\x1d\\\n]\\xc5\\x0a\\xd5QL\\x13\\x89zM\\xc9\\xbb=\\xe5\\xa9\\xc9\\\n\\x84\\x07,3c|\\xc5t\\x82\\xfb\\x87>dz\\xb7\\xa7\\\n\\x0e\\x9d\\xe8\\x06\\xa6\\xcb\\x80y\\xd7\\xd0hJ\\xd1:\\xde+\\\n\\xd0\\x8a\\xa4\\x8b\\xedQ\\xa9\\xc3\\xf7T]|\\x0f\\xe7B\\xab\\\nYi\\x19F\\x5c\\x91\\xa1\\x15.\\x04\\x8a\\xb2\\xb1\\xa1\\x15\\x06\\\n\\xa0\\x22Y\\xdfUYiba <Q`\\xc6U\\xae\\\n\\x89\\x85_&\\x87\\xff*M-\\xdc2\\xb87\\x8b\\xc9\\xbd\\\n\\x0ba}\\xe5D\\xb3\\xb3B-|\\x90\\xd2\\xa0\\xa5\\xd4\\x22\\\n\\x95\\xfd\\xd8\\xe7\\xbf\\x85!\\x17\\x84\\x836\\xbf\\xde\\xab\\x0a\\x7f\\\nb\\x9f`\\xb0\\x92\\x9b\\x82:\\xabQ\\xb3\\xb3e\\x04\\x90\\x08\\\n\\x1f$\\xbb\\x9b\\xdb\\xb5\\xb8\\xbbe\\xf5\\xdb\\x9e\\xe2\\xeag\\x0c\\\n\\xcd\\xf4\\xeawal6\\x97\\xdb\\xd5\\xdfQ\\xacP\\x1d\\xc5\\\n\\xcc\\xea7m\\xe11\\x22\\xbe?\\xcf\\x9c\\xd5\\xef\\x0e \\x94\\\n=\\x88-_a\\xb1\\xa5\\x9d\\x8b\\xcd\\xb5\\xb2Wq\\xe7j\\\n\\x93\\xb6\\xa0^(\\x0c\\xb3\\x0d`\\xa9\\x97\\x9b\\x07\\xe2\\xe32\\\n\\xd5\\xeb\\xcdB|b[y\\xa5xt \\xc8\\x90[\\xf9\\\n\\x92bI\\xb3\\x18D\\x05\\x89Yt\\x16\\x02G\\x09\\xb0\\xb3\\\ng\\xad@Yu\\x1d\\xb0\\xf6e\\x07\\x0fx\\xb4~\\xf0F\\\nS\\xb2\\xe6\\x22tFc\\xbd\\xee\\xe8\\x1aD@\\x0e;\\x8a\\\ng&\\xfc\\xc9\\xf4\\xba\\xb3\\xe5\\xe4\\x19\\x13\\xee\\x95\\xf4\\xc2\\xb3\\\n\\x85\\x00\\x81s\\xfd\\xbe\\xd5\\xf4\\xd0M\\xebZy\\xb6\\xe1\\xec\\\n\\xaa#\\xaf\\xb4\\xf9\\xb1,=\\x0fHcQ3m\\x9d\\xe5\\\n\\x0a\\xd5Q\\xaeb\\xb9\\x12\\xfdCc\\x03\\x96\\xbb\\x80\\xb9\\x92\\\n\\x12\\xdf3\\x95V\\x00\\x8f\\xf8:\\xa8!)\\xdfi\\x95P\\\nd\\x98.\\xa6\\xe9B\\xa9\\xb2\\x81\\x11W\\xe4R@\\x95\\x87\\\n\\x10a\\xc84$\\x8e\\x1a\\x08\\xebB\\xb12\\xf8\\xd2L3\\\n\\x97\\x95V\\xdbda\\x93\\xcbuV\\x22\\xf0\\xab\\x0c\\xfb\\x22\\\n\\xf8\\x9a\\x85\\xd2\\x06B\\xf0\\xb3\\xdc\\xad8s\\xd1\\xc5\\xb8\\xf6\\\nk@\\xde@W\\x17\\x01\\x0b[U\\xdc\\xa5\\x12.gR\\\n\\xed\\x94C\\xc5<\\x0e0\\x15\\xce\\x05\\xa6\\x8c\\xfb\\x10\\xb8\\x90\\\nF\\x04U\\xbc 7Kau$z\\x884D\\x97\\x81\\\n\\x88\\xca\\xa9\\xc9\\xc1\\x96\\xc4\\x8d\\x9a\\x5c|\\x89W\\x93S\\x0a\\\n\\x8f\\xef\\x15;\\x91\\xcb\\xe4b%ocqM\\x91\\xf4\\x8a\\\n)\\xf5\\xfe\\x89\\xb4\\xde\\xbe&I>\\x14\\xae\\x85\\xd8%\\x03\\\nB\\x17\\xe0\\x82\\x05\\x96G\\xf0\\x16Q,x9\\xd0\\x01F\\\n\\xd8\\x87!t\\xe6\\xa1\\xf8\\x1b\\x17}NX<\\x82\\xe0\\xf5\\\n\\xe3T\\xa4\\xa2\\xec\\x91\\xbc\\x01S\\x91<\\x83\\xb3\\x03s\\x1a\\\n3V\\x9b](\\x95x\\x10\\xb7LjtG\\xd3HC\\\nTt\\x13M\\x95P\\xd5\\x0d\\xa2Z\\xfbv\\x85[Z\\xf3\\\n\\x96\\x095.\\xd6\\xc4\\xb4\\xca\\xa6\\xc6\\xf0\\x84\\x8e\\x83\\x9b\\x9e\\\nN\\xbd\\x90\\xd8\\x8d\\xear[\\x1d\\x91\\x97\\xfa\\xe9\\xd4V\\xc7\\\nDG\\x89k%\\x90\\xe5\\xb4K\\x1as\\xc0N\\xca\\xd9m\\\n!\\xa2\\x95\\x0d\\x97\\xe4\\xa1\\x8dM9n\\xc6\\xa2n\\xc4\\xa2\\\n\\x96c\\x81k#DN\\x1bbR\\x96g\\xcc$c\\xd1\\\n\\x95Q\\xdc\\xa8\\xb3\\x8fu\\xe4\\xec\\x0f\\xe3U2*B\\x99\\\n-\\xcd\\xc7kG\\xea\\x8eo\\xa8[gU\\xcb\\xb2\\x9a\\xe1\\\n+\\x12D\\x87\\xa3V\\xd2\\x95\\xfa\\xc6\\x8c\\x19-\\x8a\\xf9\\x8b\\\n\\xc9\\xdb\\x01L\\xd1\\xafC\\xbdl6>\\xba|\\xbe\\xb17\\\n~99\\xa7\\xd5\\xb2\\xf1`6:\\xfeh6\\xfbtM\\\n\\xb0!\\x88\\xf8\\xced\\xbe\\x1e\\xdc^\\xf4\\xe0\\xb9f\\x03\\xe7\\\n\\xf5\\xaeZ\\xeb\\xe6\\xf8\\x84N#a\\x82qc\\xc6\\xba\\x91\\\n\\x94\\xfd\\xfa\\xba\\xd7\\xfb\\x02\\xed|\\xfa\\xd9\\xd9\\xf8\\xcd|B\\\n\\xf9\\xfaT\\xe0\\xf2d4_\\xa9\\xc1v\\xc3\\xd6\\xe5\\x0f\\x92\\\n\\x18m\\xa7\\x99(\\xb2\\xf0\\xf3\\x94\\xb1\\xdd\\xa0\\x82\\xd7+\\x97\\\n$j\\xfc\\xf9\\xab\\xe3B^}\\xcdQ\\xbb?=\\x1f\\xcf\\\n/\\xd6\\xba\\x17Hx5G@\\xc4\\xed\\xd9\\xe9\\xf3\\xc9t\\\n2}9\\xb8\\x82\\x9a$\\x1e\\x81a\\xa8\\x02Z\\x04\\xa6\\x85\\\n\\x1d\\xb0\\x16\\x8a}\\xfa\\xc3\\xe0\\x04nha^\\xc2\\xeeX\\\n\\x8bl\\x00_(\\xd0\\x88\\x84?W\\xd8\\x89\\x14\\x09\\xbf\\x8b\\\n\\xb0\\xb7\\x7f\\xd6\\x14\\xa2\\xbbB\\x1d\\xf0;*t$\\xa6\\x06\\\n\\xfd\\x0a\\x10\\x86KU\\xb1g\\xfd\\x10^\\x9d\\x9f\\x8d\\x8e\\xc6\\\n\\x03u\\xcd\\xe6\\x0c\\x89\\xb6]\\xe0\\xdb\\x7f\\x13\\x98.+\\x99\\\n-+\\xe9\\xdbR4\\x80\\xbeUE\\x03\\xe8\\xdbWx\\xc0\\\n\\xa6\\xa5E\\x03\\xa8\\xfb\\xa9ZZ\\x1bG\\xba\\x9fm\\xa0\\xb4\\\n\\x13\\x84W\\xdd\\x0eP\\x15u\\x83T7(\\xee\\x00\\xd1\\xa5\\\n:\\xd3\\xb0\\xbe\\xf8\\xea[\\x00\\xeb\\x1e\\xf4\\x93\\xa8\\xadt\\xcd\\\nS7\\x80\\xd7\\xab/\\xe0v?a\\xed+\\x9a\\xb5\\xd8d\\\n\\xc5\\xb3\\x05\\x16V\\xb6\\xfe\\xc9\\x97AZ\\xe0\\xe6'\\xae\\x80\\\nIl\\x7f\\xe2\\x16\\xa9\\x12\\xfb3\\x15\\x1f\\xdd\\xe6'\\xbb\\xec\\\n\\xae\\xecOpAy\\x0de\\x1d5\\x8b\\xb9\\xe4\\x8aLT\\\n\\x12\\xb3/\\x167\\xc1\\x17\\x1e\\x029\\xff\\x7fq[\\xdaW\\\n\\xddB\\xedv\\x12\\xbaw\\xb9n%z\\xd9\\xe8\\xd2\\x8b\\xd1\\\n\\xe9\\xe4\\xe4\\xb3G\\xa3\\xd3\\xf1\\xd0\\xd2k\\x90\\xf7\\xde\\x15\\x02\\\n\\xb2N)\\xfd|\\xb8\\xc6)C\\xfc\\xb31\\x1f\\x9f\\x9d\\xd0\\\n\\xaaY\\xbb\\xfdk\\xa6\\x86\\xdba\\x10\\xf4z\\xeb\\x81!\\xfe\\\nAo\\xe3\\xfc\\xecdr\\xb1v\\xbb\\x7f\\xbb\\x17\\x9e_\\xbe\\\n :\\xb9)AO\\x83\\x87\\xdf\\xf9\\xfeQ\\x9f\\xce\\x8c~\\\n\\xb0\\xbe\\xc6\\xb8\\xe9\\x88\\xde\\xb8\\x98=\\x98\\xbd\\x19\\xcf\\xb7G\\\n\\xe7\\xe3\\xb5^]\\xc1\\xda\\x9d\\x81q\\xd4\\xff\\x8e&c\\xf2\\\n\\xe2\\x9dP\\xe0w\\x84\\xe9\\x1d\\xf5\\xa9\\xf7+\\x5c3U\\x1c\\\n\\xac\\x0b.uX\\x97>\\xf8\\xb5\\xad\\xfe\\x0f\\x0fo\\xbf\\xe4\\\n\\xc6]\\x87\\xceY\\x84~\\xed?\\xfd\\xc1\\x83\\xdd}\\xcd\\x07\\\n\\x1d\\xcd\\xa6/&/7X\\xab\\xed<\\xe49n\\xe5\\x90\\\n\\xc2\\xc7O\\xef\\xed\\xdc\\xdf\\x1bn}g\\xeb\\xfb\\x1bp\\xb4\\\n\\xfd\\xf1\\xde\\x03\\xbdB\\xde\\x8c\\x9f\\xfbg\\xe2\\xec\\xe2E\\xd0\\\n\\x0bw\\x1f?]\\xb5\\xc0xvA\\x05\\xbe\\xf7\\xf8\\xde\\xca\\\nU\\xbc\\x99\\xbd@\\x1d/\\xa8\\xbb\\xe7\\xc3\\x83\\xc3M\\x13D\\\n\\x17cqk2\\xbd\\xc5mFL\\x5c9\\xca^\\x8d\\xce\\\n\\x1f\\xbf\\x99>\\x99\\xcf\\xceha\\x7f\\xc6\\xa3\\xdf\\x93\\xc1\\x90\\\n%0\\xec\\x5c\\x18\\x927\\xbc\\xb7\\xf5\\xf0\\xfe\\x83\\x1f\\x0c%\\\n\\xdd\\x86\\xbde`\\xc7\\xe4\\xd3\\x84l\\xca\\x96A\\xa6\\xc3\\x8d\\\n\\xa3\\x93\\xd1\\xf9\\xb9,5F\\xb2\\xc9\\xb5ci]\\x05\\xf8\\\n\\xd3\\x97\\xe4` \\x7f\\xaf7Ql\\x88\\x7f\\xeay\\xedo\\\n|\\xc0\\xd3\\x1e\\xf2j<\\x9f\\x1f\\x0d\\x03S\\xf5p8\\xd4\\\n\\xad\\xba\\x13\\x9c\\xcc\\x8eF'k\\xdf\\x94\\x95\\xb1\\x1e|\\xb3\\\n\\x17\\xdej$\\x99\\x16\\x7f\\xb3\\x17\\x0c\\x9a\\xd9o\\x05\\xeb\\x1a\\\nS{Q\\x0f\\x1c\\xc8\\x14l\\x9c]\\x9e\\xbf\\x92\\xad\\x13\\xda\\\n&\\xbdg\\x9b\\xf4\\x8do\\xacu\\xf7t=x\\x1b\\x84\\xd4\\\n\\x97\\xc1b\\xbb\\x83k3\\xd4\\x1b\\xa7\\xa3\\x8b\\xa3Wk\\xb7\\\n\\xb1\\x95o\\xf74\\xbe\\x03A'N\\xe0\\xe9\\x1a\\x22n\\xe0\\\n{\\xcd2B\\x22\\x9a\\xa5x\\xc5\\xa3\\x90\\xd6\\xe44s\\xbc\\\n>\\x0c\\xc2`\\xddiZ\\xb3\\x832\\xfa]}yC\\xa5\\\n\\xa93\\xb7n\\x7f\\xa0>\\xb8M\\x83{9\\xe7\\x1e\\xc9f\\\n\\xa0\\xc5\\xdb6\\x8c\\x1b\\xb4\\xfe1\\x94\\xba`\\x8c\\x82\\x07\\xa6\\\n\\xa4\\xde\\x15]E\\xb1\\x11\\xbe\\xd9\\xa3\\x854\\xa7\\xde\\xae}\\\nS~\\x12*]ZvmWa\\xda\\xa8NY\\xda\\x1c\\\n\\xd3\\x0b\\xe2\\xf5\\xa8\\xfc\\xe1\\xc6\\x8fg\\x93\\xe9Z\\x10\\xde\\x0a\\\n@?\\x9aS\\xdc6R\\xd4q!,\\x07\\xc1\\x86I=\\\nl\\x8e\\x92\\x14\\xbc\\xbe\\x16\\x8c\\x12\\xdc\\x9a\\xa6\\xc5\\x14\\xfco\\\nt\\xe6#L\\x0c\\xe7\\xe9]\\xaf\\x19\\xaa\\x0d\\x18X\\xf1\\xf1\\\n\\xf1\\x1a\\xfb\\xf8\\xc7\\xef\\xe3\\xd1\\xc5\\x88Z\\xb8fN\\xaf\\xc7\\\n\\x97\\x17g\\x97\\x17\\xf8\\xa2\\xc3\\xe8t6EA{\\xb4\\xed\\\n\\x9e\\x8cO\\xa9\\x87\\xf8<==\\xb1\\xc9[?\\x1e\\xbd\\xed\\\n\\xd54\\x92+\\x13\\xda\\xf0\\xc9\\xee\\xde\\xfe\\xfd\\xc7\\x8f\\x86A\\\n\\xbcQld\\x81\\x13\\x9f\\xbaI/j\\x08\\x9f\\xb5C\\xef\\\n\\x94\\x0cB\\x5c:\\x86-'g\\xb8\\xf5p\\xbfN\\xa7\\x1f\\\n\\x81D\\x0d\\xab\\xd3X\\x0fARS?5\\x0d\\xc2\\x8f\\x86\\\n\\xc1GA\\xf8\\xc90\\xf8\\x840\\xe9H\\x95\\xc3:\\x1e\\xa4\\\nf\\xa2\\xfa\\x1b\\xb0\\xcf\\xde\\x80\\x1f\\xc5\\x9d:W\\xae\\xdc<\\\nQ\\xb8A\\xe0\\xe3\\xf1\\xc9\\xe4tx\\x957\\xc2\\xd2\\xc2\\xd7\\\nTk\\xe4\\xc9\\xdc\\x09\\xba\\x88XN~\\x84M\\xeaN[\\\n\\x80M\\xba\\x98\\x01\\xb2\\x10H\\x16\\x01\\xa0\\x96\\x22\\xb0!8\\\n\\xa3\\xb2\\x03\\x83Z\\x16\\xc6N\\x85\\xab\\x05lE,\\x04\\x9e\\\n\\x04\\x1e\\xba(\\x0b7*\\xe9\\xa0\\xf2\\xa2\\xa85\\xa3\\xd5\\xe5\\\n:\\x8a'\\xfcZc\\xbaeP\\xe1\\x06q!zk3\\\n\\xbe\\xab`OW\\x0bPZ7\\x8f\\x1aW\\xd9\\x16\\xae\\x10\\\n|\\x16\\x11\\xb3\\x96v@\\xdaURCo\\xe8@k\\xf8\\\n\\xd9F\\xec\\xe9\\x0d\\xac\\xc2\\xc6\\x0c\\xeaH\\xa8q*\\xf3\\xd7\\\n\\xc0\\x1bR\\x7f\\x0a\\x8d+[\\x19W\\x06@\\xb8\\x01/P\\\nmA\\x85\\xf3d\\xd5\\xa8\\xb8I\\xde\\x11\\xe187A\\x1c\\\noFQt\\xa2(\\x17\\x03\\xd9\\xb6w()\\xa5C\\x0a\\\n2^\\xb5\\xa1\\xba\\xbaU\\xad\\x8c\\xb0Z\\x09azS\\x80\\\n\\x5c\\xbb\\xfd\\xd2\\xa8\\xab\\x97\\xa9Z\\x19\\x87\\xea\\xc4\\x11\\xdf\\xd8\\\n1\\x1d.7\\x8dW\\xebX\\xb22\\xc2d%\\x84\\xf9\\x8a\\\n\\x84.w\\x08\\xdd\\x01\\x07Mq\\x02\\x07\\x17+\\xd2:\\x22\\\n\\xbd\\x1dH8\\xca\\xdc\\x92\\xf0\\x99\\x99\\xa6w\\x15,C\\xd1\\\n/\\x903e09g\\xc4\\x06L\\x82u\\x85U*\\xa3\\\n\\xa33K5j\\xb5j\\xaaX\\x97\\xdc\\xc0\\xbb\\xeeB5\\\nLNb\\xb7\\xaa*w\\x0aH@\\xd0h1\\xe6\\xb1d\\\n\\x81\\x91[\\x1d\\xd8T\\xff^\\x18t/B\\xe9B\\xf0\\xcf\\\n\\xb6\\xc8\\xa4R\\xadZRm\\xd6\\xa86k\\xaf6^\\xa9\\\nZ/8l\\x99.;\\xaeh\\xac\\xf4\\xd0\\x1a\\xc9\\x813\\\n\\x7fF>\\xc0\\x07wb\\xab\\xa8E\\x0e-\\x11\\x989\\xb4\\\n\\xe0\\xb2\\x0a\\xeb\\xfa2[_\\xb8P\\xa5SY\\xeagk\\\n\\xa9SB\\x18\\xaep(\\xdf\\x14w\\xdb?\\x95\\xd5\\xa1\\xc6\\\n\\xbd4\\x80la\\x90#\\xb8\\x90]\\xd4\\xf1*\\xa1\\xbd%\\\n\\xc0\\xe2\\x0a\\xcb\\xbe\\xe3\\xdc\\x08\\x17\\xa8\\xa5F\\xba\\xf4\\x08\\xce\\\n\\xc2\\x95\\x0f\\x81\\xb0\\x8b\\x08\\xeaz\\xf2\\x15\\x1b_,o\\xbc\\\n\\xf2\\x1a_\\xac\\xd6\\xf8j\\xe5\\xc6'\\xad\\x8d/\\xf3\\x95V\\\n\\xcc\\xf2\\x81\\xef`\\xe3$\\xf0\\xe5\\x0a\\xe8=>+\\xbb\\x81\\\n\\xcfj\\xccrY.\\x1b\\xa8\\xe2\\xf3r\\x8a\\x8b\\xcbAW\\\nS-\\xaf\\xe6s\\xf2s]k\\xa9\\x8aV\\x9b\\x8e\\xe2\\x8b\\\nMG\\xa5\\xbe\\x86\\xe9\\xf0\\xd6m\\x15\\x7f\\xc5\\xd3Q\\xb5\\x8f\\\nS\\xf2\\x15O\\xc7\\xe2\\xee\\xb8\\xb6r\\xae\\xc91\\xa4\\x5c|\\\na\\xeb\\xf1\\xbfM\\x11\\xd7\\xe4\\x18\\xf2\\x8e\\xfa^z09\\\n>\\x1crN|\\xf56\\x97\\xdf\\xa9\\xfbc\\x84\\xcc\\xbb\\xe9\\\nf\\xdd\\xf1^\\xb6\\x7f1\\x9a_\\x5c\\x9e\\xf1\\x93YP\\xe7\\\n\\xbeE\\x19o\\xed\\x8dG\\xc7\\x9f\\xf9\\xcfc\\xe8\\x0e\\xb7\\x86\\\n\\xe5*\\xd2\\xb0\\xe1\\xd2\\x0b=\\xcb_\\xfcks\\xab\\xac\\x1a\\\n\\xf9\\xf08m$o\\x83n)\\x9f\\xc85\\xdcg\\xec\\xa2\\\nVE\\x8a\\xa2\\xfa\\x1d\\x1b\\x91\\xfa\\x164\\x91\\xc4\\xfd\\x92\\x0a\\\n\\xb5\\xfb\\xc0B\\xd4\\x10\\x8c\\xe5\\xa3\\xd2*\\xa8a\\x0e\\x05\\x1a\\\n\\xb1|\\x8c\\xd9\\xe9f,\\xf1W\\xe0U\\xcdX>j\\x14\\\n\\xf0\\xdfi\\xdd\\xa4Z\\x14\\xb0\\xde\\x8b\\xea \\x9aJ\\xf4\\x10\\\nc\\x89\\xc3!\\x96\\x8f\\x82\\xb8\\x90\\x10[\\xa9\\x13BSi\\\nO{\\x08\\x81Y[>*\\xb6<gG\\x8b\\x8e\\x9b\\xd4\\\n\\xa2\\x10\\x7f1\\x12\\xf3\\xc2\\x18>\\x0a\\x066n*k\\xc3\\\n\\xc7F\\xd3\\x0a\\x93Z\\xb1\\xf7\\x02X9\\xd5v\\x8f\\xb1\\xf8\\\n{\\xc1\\x1fV\\x5c\\xd2N\\xdcL\\x8bSQ\\xc2(\\xfd\\xee\\\n\\xe5\\xd0-6\\x86\\x8fPlR~\\xee\\xb81p\\xec\\xe6\\\n[\\xec\\x1ec\\x1e\\x1c\\x18\\xc8\\x97\\x121\\xa0L\\xddF\\xc3\\\n<;q\\xbc\\xa4\\xea)a\\x1c\\x95c\\xf7(\\xad\\x86#\\\n,\\xc7\\xec\\x11\\x9ei\\xe0\\x9f \\xac*'0B\\xa3\\x15\\\n\\xd5B\\xaa\\x13.S\\x1a\\x818G\\xe21\\xd4\\x0e\\x1d+\\\n\\xfd\\xd3\\x14\\xb0\\xc3\\xc7\\x16\\xb7\\x8eY\\x9b\\xdfU\\xc5\\x0fE\\\n\\x1c\\xb1\\x05*\\xb9\\x1cD\\xaa\\x82\\xe7\\xae\\x98=A\\xc3\\xa1\\\n\\x8e`f\\xd7\\x81\\xd4\\x91\\xb8\\xcaZ\\xbd\\x89\\xf9\\xbaf1\\\n^(\\xa1k\\x16'int\\xcd\\xe0L0\\x87F&\\\n\\x1b.\\xe0O\\xd4\\xa2kF%\\x0aG\\xd7\\xcc\\x14b\\x08\\\n{\\xaf\\x87=O%\\xda6e\\xed\\xd3F\\x89\\xed&\\xbb\\\n\\xea\\xe48Y\\x98)8\\xbfe\\xb7\\xe5\\xec\\xb9\\xc7\\xf1\\x9b\\\n\\x0636\\xd6?\\xeev\\x8e&3\\x96Z\\x8ff\\xa9\\x84\\\n\\x88+S\\xb1'\\xcd\\xf4\\x88\\xc3\\xa3\\x0f/\\xb4\\x8c\\x0dA\\\n9\\xba.W\\xdeg{X\\x81`Y\\xb1\\x1b%\\xb6c\\\n\\x03$\\x15\\xdb\\x14<\\x92j\\x08;\\x87Ie?\\x94\\x99\\\n2\\x16\\xb8\\x89\\x890\\xc5\\x0a\\x85\\xe27\\x0dvX\\xfd<\\\n\\xb5\\xde\\x99\\xd8\\xd3\\x07k\\xc9\\xb8\\x90\\xac\\x14\\xad\\xb62\\x8f\\\nl\\x19\\xc7\\xcdW\\xcc\\x90\\xa4\\x01I-\\x04f\\x5c\\xec\\xbc\\\n1i8\\xe7\\xe21v!X8\\x09\\xbb'\\x8b\\x1c\\x88\\\n\\xb5PH$\\x08\\xa9j\\xc0\\x8aJ[/\\x10\\x0c\\x0e(\\\n\\xa07W;\\x1b\\xe3`p9\\xb4\\xe7\\x1c@bk\\x8a\\\n]l\\xec\\x05\\x03kFj\\x8a;{+\\xbe@\\xe2\\xb0\\\n\\xe1\\xf1*gO uz&6wtd\\xa3?\\xd0\\\n\\x9c\\x14m\\xc6\\x02j\\xac\\x9c\\xce\\xae\\x8e\\x22\\x9d\\x9eB\\x8b\\\n\\x98\\xf1\\xb3\\xf9d\\x16-x\\xc2\\xc9\\xd9\\x97{\\x03\\xc0m\\\nM\\xca\\xda\\xd1\\x19\\xfa\\xa3JDBc#\\xa4\\xa4\\xf2A\\\n0\\x90db\\x04aGW\\xa14\\xe9,\\xc4.\\xc9\\x8b\\\n\\xb0\\xe9\\x1c.\\xcd;\\xd2k\\xaf>\\x0d@Y\\xfb\\xe7\\x13\\\n/\\x11rb\\x10\\xa4\\xea(\\x92E\\xbe+\\xfb\\xba\\x08\\xfb\\\n3\\x82\\xce\\x5c\\xda,\\x12w\\x01\\xe0<$a{X\\x7f\\\n\\xc1\\xb2G#\\xf6\\xbb(k%\\x86\\x89\\x22\\x032\\xbf\\x84\\\n]D|\\xd2\\xb2J\\xbeLda\\x978{(r \\\n(\\x13K\\x99\\xaae[0\\xa4p6&-E\\x8e)\\\n\\xa6b6\\xbe\\xcf\\x8b\\xb4\\x01+-\\xac\\x80\\xd57\\x82\\xdc\\\n\\xea\\xe0\\xdb\\xb5\\x1f6\\xec\\xb32\\x17\\xafn\\x1e\\xa5aG\\\nt\\x88\\xb7\\xa9W\\x13\\x1dib\\xbb!\\xb6\\xd1X\\x97\\xa9\\\n\\x84\\xa9\\x15\\x8f\\xf1\\x0d\\xdfq\\xec\\x1b6\\xd5\\xb4\\xa1\\xe0=\\\n\\x91\\xc3CEm\\xd3\\x16\\x1b\\x07q\\xf0(\\x1f\\x0b\\xa0R\\\n\\xda7\\xb8\\xf8m\\x83Rz\\x5c6\\x1d\\xb7u\\xf9g\\xd3\\\n\\xbe)\\xe3\\x05\\x00<\\x9de\\x12gm\\xc1\\xa3\\x9b\\xae\\x1c\\\n\\x8ac\\x15\\xccO\\xc5\\xa1\\x9a\\xb5\\xa7\\x8b\\xd9\\xe7R\\x1f\\xfe\\\n\\x8cdTR\\xe3_\\xd9q\\xa7#e\\x1a\\xce\\xc2\\xfb\\xec\\\n\\xc7\\x9aMa\\xd8>\\x17\\xf1\\x8e\\xe2\\xda\\xe2\\x99\\x9d\\xd3\\xb1\\\n}\\xae\\x03H\\x0c@\\xfc\\xb6\\xc1\\x13~\\x12{\\x87\\x0f\\x81\\\n\\xb2\\x0e\\xa7\\xfa%\\xabr\\xa4\\xb9\\x84\\xdd\\xf1\\x0b\\x15\\x91\\xc4\\\nd\\xef\\x8331\\xce\\x86x6\\x99\\xad\\xca`L\\x935\\\n\\xe6Y|\\xba\\xc1\\x8dm\\xd4\\xc4\\x86\\x01E\\x04\\x05\\xe1\\x8d\\\nx\\x5cy\\xd2\\xd8\\x02\\xb6\\x8aay\\xe9\\xb7\\x0c,\\x0f\\x03\\\n\\x16\\x1b\\xcd\\x0c\\x0eX\\x83h\\xa1\\x10&:\\x92\\xd8F\\xcc\\\n\\x1ff\\xc2\\x1f\\x12\\xa40\\x90\\xd8\\xe3\\x1c\\xcb\\x02\\xfcK\\xc7\\\n\\xe8\\xb0\\x9b\\xf7X\\xb5\\x82\\xd8\\xc8\\xaej\\x80\\xd8\\xfd\\x17\\xfb\\\no\\xcc\\x12\\xe6\\x5c\\x1an\\xe5\\x8aN\\x08\\xdb\\xc2\\xd1\\xd2)\\\n\\xc5I\\x1d\\xa6W\\xdc\\xb4\\xb1s\\xc7V\\x88j,\\x1f\\xf6\\\n\\xad\\xc5vF\\x8ay\\xa7R\\xecU\\xfc2Y'\\x04\\x1d\\\nB\\x0c\\xd8(\\xa9!\\xe2\\xd9\\xae\\xe8\\x84\\x94\\xa2\\xea\\x137\\\nw\\x5c\\xc9\\x86\\xa7\\xad\\x10\\xd6 \\xe7 \\x09\\x82-M5\\\n/Tr\\x0cF\\x07R\\x8fN\\xcc\\x8e\\x07\\x89~,B\\\n*\\x03I\\x1bmc\\xe7\\xd2\\xad-HT'\\xc4\\xba\\xcc\\\n(\\x1b\\xa3c\\xfc\\x12,B\\xd88\\xda\\x1d\\x9d\\xda\\xc1\\x9e\\\nj\\x197\\xf1\\xb0\\x17K\\xf0\\xce\\xd8\\xf5\\x09(e\\x92\\x06\\\n\\xa4.\\xd3\\xe5-\\x10\\xe7\\x9e\\x03\\xc8ko}<j\\xb1\\\n\\x8dtb\\xac\\x82\\xcb\\xac\\xea\\x00\\xb0\\x7f\\xb3V\\x00OZ\\\n\\xd5p\\xc0L\\xe9IGz\\xda\\x91\\x9e\\xb5\\xa7\\x17q\\xbb\\\n\\xe7\\xbd\\x22i%\\xdcea\\xc3\\x08\\x94BQ\\xcbD<\\\n\\xef\\xe5\\x86\\x05\\x06\\x1ev\\xfa\\xc9\\x9c\\x5c\\xc9\\x17\\xb9V\\x80\\\ne\\x9a\\xc5z;\\x13\\xadz\\x02T\\x1d\\x00P\\xac\\xd6\\x89\\\n(\\x93.@\\xa7\\x9f\\xc9\\xb2\\xd3\\xcf$n`\\xe2o<\\\n^4#\\xd4\\xbe\\x15b}\\x1d\\xcc\\x0a\\xed\\x09\\xb6\\xac\\xac\\\nC;\\x7f\\x1c9,\\xc5b:;\\x1dT\\xa5\\x89\\xbb`\\\n\\x1dzV`\\xbf3\\xd8i7h\\x7f\\xc5\\x8e\\xebkr\\\n\\xad\\x88?\\xe0X\\x82\\x04\\xc9;!\\x85\\xf5s\\xeb\\xcdz\\\ne\\xbc\\xc1,\\x02\\xaa\\x0e\\x97\\x9d\\x15\\xbb\\xdf\\x14\\x0f1E\\\n\\xce|k^\\xb0%\\x18\\xbb\\xdf4\\xf7y\\x0f\\x10\\xb7;\\\n\\xd3\\xac\\xd89~\\x8b3\\xcdJu\\xb8Ye\\xff)\\xed\\\n\\x00P\\xfc$\\xb7\\x80\\xdc\\x02\\xb0\\x05S\\x15\\xba\\xbbY\\xea\\\n\\xa8:\\x00\\xb1\\xe3_4\\x91xI*\\x16\\xdb\\xf2X5\\\n@Y\\x0d\\x8aY\\x16\\xc7\\x11\\x22Mg8\\x226;k\\\n\\xe9\\x80\\xe4\\xe2\\x00\\xd0\\x0f\\xa8S\\xb2c:'=\\xb6\\xe9\\\ne\\x0b9\\x936W\\x1d\\x07\\x04\\xfbm\\x81\\xe2c\\x92U\\\n>CP\\xe1\\xe6\\xd1\\x01\\xc9;!E'\\xa4\\x94\\x18\\xd7\\\n\\x0b\\xe4\\xb9bg\\x86\\xad\\x10!\\xdcqK\\x7fZ\\x09w\\\nb]S\\x16\\xda5\\xa5\\xbffk\\xd7\\x94\\xa9\\xef7\\x97\\\n\\xd0\\xe5\\x8e(\\x83j,Q\\x07\\xbb\\x91\\xb11\\xb6\\x22?\\\nh\\x16\\x1e.;A\\xd8\\xccI\\xeeEk\\xd2\\x80\\xbc\\x1d\\\n\\x90\\x95\\xd6\\x0f\\xb9\\xf8\\xad\\x8ct\\xc0\\xe2\\xac\\xcc\\xdb\\x01y\\\n\\xd2J\\xf0)=iO\\xcf\\xf4\\x85Xs\\xd2\\xd8e\\x89\\\nu\\xb1\\xd9\\x0eH[\\xa9e%\\x9e\\xb4\\x8b\\xdc\\x88\\xaf\\xea\\\n\\x12|:\\xb5\\x02\\xbaP\\x15:B\\x82J\\xfc\\x8dY\\x15\\\n\\x89\\xb9\\x8f*\\x11\\xed\\xc1f\\xb1\\x92\\x008,\\x14\\x89\\xd8\\\n\\xa4W|\\x0c\\xca\\x9d\\x90 \\xaa\\xf6%o\\x1d%\\xb1=\\\ni\\x91\\xa8\\xf6\\x8a`\\x8c\\x0e\\xbeJ%\\xf0\\xc2\\xe0\\xd2^\\\n\\x82\\x14E;\\xf1\\x07\\xa8\\xec\\x04a.\\x89s\\xa5\\xcb\\x85\\\n?\\x07\\x00\\xe5\\xdd\\xa0\\xa2\\x85\\xaf\\x10\\x8f\\x5c\\xbc\\xd2:@\\\n\\xd8<9\\x84\\xaa\\x85e\\x08$\\xfc\\x0e\\x9fA] \\x1c\\\n*\\x11\\x87\\x1dM\\x9a\\xadg\\xc3\\xd3v\\x18\\x1fF\\xed\\x9d\\\nf\\x0f\\xb8\\x1d \\xe6\\xccZ\\xf8c\\x80\\xd2nP&\\xcd\\\n\\x8f\\xab\\xb4n~!\\xa0\\xbc\\x1bT\\xe8N'\\xcdN\\x0b\\\n\\x05j\\x07\\xa5\\x95p\\xfd\\xc6\\xc3\\xa0\\xe3\\xe9\\x93\\x1dC\\xb9\\\n\\xa0\\xba_\\x90\\x0e\\x14\\xf0\\xdd\\xaee\\x89N\\xe3\\xd9\\xa7F\\\n\\x0b(+\\x92,\\xf2\\xee\\xa7\\xb8Q\\xb27U\\x80\\xcc5\\\n4\\xe5k(@\\x1c\\xbb\\x05\\xa0\\xb8Ul\\x09H\\xd2&\\\n\\xb7\\x04 7c\\x9b.\\xb4\\xa1\\xe8\\x06\\xc1\\x90\\x1fF\\xa3\\\n\\xb1\\xf2N\\x0a\\x80:\\x0e\\x11\\x02\\xe5Q7Hu\\x22\\x84\\\n\\x14E\\xdc.F\\x0b \\xdd\\xc2D\\xdfz]P\\xd9]\\\n\\xaa2\\xa5\\x92f\\xbf\\xf8\\x09\\x03\\xcet\\xb3\\xccc\\xe8\\x01\\\nR\\x06\\x94\\xba\\x1c\\xfdu\\x87\\x1ah\\xb0.\\xca\\xd0\\x97\\xcf\\\n\\xcf/\\xe6ke\\xaf]\\x95\\xd3\\x7f2\\xda\\x1e\\x9d\\x18\\xed\\\nzQ\\xc4\\xdc\\xfc\\xca\\xdf\\x8f\\x12Z\\xa0\\xc6]T\\xea\\x84\\\n\\xa2$\\x8a&\\xfa\\xca\\x03\\xd1Vv\\x1c\\xc8\\xc2\\x11E\\xce\\\n^K\\xd9},\\xbf\\x01\\x0d6h\\xf5\\x96\\xec<V\\xb1\\\ns7\\xfdW\\xe9\\xbf\\xb1\\xfe\\x0bw\\x9d0 f\\xcf\\xb1\\\nU,\\x9ec!o.\\x04a!\\x08\\x0b\\x83\\xb0\\xd0\\x08\\\n\\xd9i,\\x12J\\x8d\\x91}\\xc6r\\x02;K\\x15\\x8f\\xb1\\\n\\xc0\\xcc\\x1ec\\x19\\x90\\x9b\\x94\\xc2\\xa4\\x94\\x92\\xb5\\xd2\\xbf+\\\n\\xf6\\x1b\\xdb\\xe6:\\xb4\\xd4\\xe2\\xd6\\x82\\x8d?\\xe1z\\x00\\x1c\\\n/{\\x81\\xe37\\x03\\xa4\\x96\\x91DF\\xe6\\x9d\\x99G:\\\n\\x95eK\\x85\\x04uL9\\xb2\\x9f\\x12\\x1cx\\xd9\\xc9$\\\n\\xaa#\\x1c\\xbf\\xb1\\xff/\\x18\\x96\\xc6\\x12\\xf3\\x8b\\xf7\\xa3\\x93\\\n\\x1f\\xac\\xbf\\xb2\\x01\\xdb\\xeb\\xa6\\x94\\xe2\\x8e\\x02D$E`\\\nG\\x9d\\x1d\\x12x8\\x14\\xc8\\xb4\\xe7\\xc6f\\xf6\\xc2`\\x8f\\\n\\xbct~\\x10DH\\xdb*\\xac\\xe0\\xfd\\xb1\\x12\\x97\\x16\\xb9\\\nq\\x9cGd!-\\x99\\x91N\\xed\\x93 ?4\\xc1I\\\n'\\x84Z\\xf02#O\\x82\\xeceP\\x82\\xa1\\xb1I?\\\no*\\x18\\xf1\\xc3\\x0f\\x1dS\\x98\\x9cC\\x00G\\x929A\\\n\\x5c[yyKl\\xecDv\\xbe\\x1bBI\\x09.J\\\n\\xe0\\xedA^\\x05\\xd9eeU\\xc2\\xaf\\x18\\xbc\\xfa\\x99g\\\n\\xc1\\x5c\\xfb\\x1c\\xed#\\xe6 '\\xa7\\x92\\xac\\xd8\\x94\\x87}\\\n;V\\xe0$\\xd8\\x18)b\\x81zY\\xc0\\xbd\\x1a\\xad\\x9a\\\nT\\x9e\\x06urQ\\x96\\xcce\\xb0\\xf7S\\xddM8P\\\n\\x00\\xe3\\x97\\xc0w,\\xbc>\\xe3\\xf0\\xc6&\\xc1hA\\xb6\\\n\\x0a\\x97\\xd1\\x8aCWU\\x16\\x11]\\x97\\x88{\\x81\\x00\\xc3\\\n<\\x10r\\xd0\\x9aRE<2hei\\xfa\\x0a9~\\\n\\x02/\\x0d\\xd4+~\\x86\\xd3\\x9d\\x05\\x9a\\x8a\\xf3W\\xa52\\\no\\x842\\x92U.\\x11\\x98\\x94\\xbc\\x11\\x228\\x0c\\x9c\\x13\\\n\\xc0W!\\xfc\\xfb\\x16\\xe6\\x91\\x10\\xce\\x87\\xd8cm_\\xac\\\n\\x99\\xcc+!v\\x18\\x8d^\\xc1X\\xf8\\xbaP\\xd8d\\xa5\\\n\\x10\\x91\\x0fw\\x0f\\x8e\\x83\\xabg\\xb5\\x8f\\xa8\\xdb\\xcc\\xf8T\\\n\\x91\\x0d\\xa6Hm\\xe4\\xb0\\xd4\\x15\\x07@\\x834\\xb4\\x8a\\xec\\\n\\x22P\\x88R$17\\x16^\\x05W\\xa6\\x8e7\\xbd\\xe8\\\n\\xdfL<\\xef\\xcdG\\x9f^\\x5c\\xce\\xbf.\\xc2\\x19g\\xd6\\\n9U\\xe1\\x12N:\\xa0}\\xc2\\xd9\\x1a\\x97\\x17\\xac6<\\\n{\\xb1c\\x18\\x88\\x81\\x95\\x09\\xcc\\x8b\\xc8\\xd3\\x90ae\\xec\\\n\\x106\\x86@Y\\xdel0\\xe6\\xb2|\\xc1\\xbfV&\\xa4\\\n.\\xe7\\xcf\\x19;\\x8b\\xcbJ\\x1dR\\x97='\\xc2\\x7f%\\\nVq*N\\x1686\\x09^%h+1\\x00.\\xd5\\\n\\xd8\\xbb\\x0d\\x8bih'\\xc1KO\\xc2\\x01\\x01u0\\x5c\\\n\\x1d\\xb2\\x04\\xb2\\xa3*\\x91X\\xbf\\x85\\x0e\\xaa\\xcb\\xd1\\x96\\x15\\\ng\\x970\\x99\\x89\\x8e\\xaa[d\\x12\\xde\\x9aK\\xa4\\x22\\xc2\\\n\\xe1\\xa8\\xba\\x11\\xbbT\\xe4\\x02\\xec\\x9a\\xb2\\xd0^\\x9a\\x11\\x9e\\\n\\x17\\x9b\\xbe\\x82/Vqf\\xcb\\xc2\\xafH\\xb4\\x06\\x90\\x0c\\\n\\xc7\\xa3\\x89&\\xc1|M\\xc9\\x04y\\x06W\\xbeL\\x82\\x11\\\n\\xa6OgN\\xc5=#\\xd3\\xe0\\xb2\\x90\\xc0N\\x15{\\x9e\\\nd\\x8f\\x91L\\x83!\\x01\\xaarN\\xc7K,{\\x5cH\\\nD\\xca\\x8d\\x18\\x0a\\x9c^\\x89\\xd4\\x9e\\xfd\\xa0E\\xa9mK\\\n)>\\xba\\x84\\x06W\\x1cr\\xda\\xb4\\x06\\x22=\\xe6\\xa0\\x88\\\n\\x02e\\x92[\\x07ud\\x12\\xcc\\x8d\\x91\\xf4\\x18\\x9e\\xbe*\\\n\\x1d]7c\\xcd\\x84X\\xbc8+\\xec'v\\xbf\\x09\\x97\\\n\\x8c \\x04\\x1c\\x9d\\x14\\xb4^\\xc7\\xd1\\x85\\xeb\\x1d(\\xe2@\\\n\\xa4\\xc7\\xe2\\xb3J\\x02\\xe6\\x22\\xf0\\xb8\\x82\\xb0\\xb8\\xb4N\\x87\\\nsM\\x0e\\x12\\x0e\\x1b\\xcd\\xf1`c\\x1b\\x1a7\\x0d\\xd9E\\\n%\\xc6\\xab\\x90\\xc7+~\\x87\\xa2s\\x05\\xfc\\x13\\xc7O\\xd5\\\n\\xce\\xb1\\x8db\\x04\\x0e\\x88\\x98\\x91\\xc1Em\\xae\\x89\\x01,\\\n\\x22\\xf9\\x89M\\x22\\xc2\\x0a\\x8dO\\x99\\xc0\\x19E\\x13\\xa6\\xfd\\\n\\xec\\x1a\\x96\\x1bQ1\\xc9\\xa6&\\xa5\\x8e\\xe6\\x07\\xfb`V\\\n!\\x9c\\xb0Y\\xd5\\x0f\\x1dt\\x97\\x0fJ\\xf8\\xea\\xd14\\x1e\\\n~\\x8b\\x14\\x82\\xf1B,\\x95s\\xd0\\xc1Lg\\x07\\xf7\\xc0\\\n\\xaa\\x22\\xecx\\xd6\\xa8\\x7f\\xc4|\\xa7\\x13\\x7f\\xcei\\xad\\xff\\\n\\x91@\\xf5\\x02.^0\\x01p\\xb8\\xca\\x174\\x8e\\x17\\x8e\\\n\\x80\\x09\\xc0V\\xc1\\xbd)S\\xf8\\x98\\xcbW\\xb8\\xa9\\xc6\\x10\\\n\\x85\\x1b\\x0a_rD\\x85\\xaa`M\\x0dy\\x9cS\\x92\\xbd\\\nLL\\xf6J\\xd9P\\xb9\\x1c\\xc5\\xa1*\\xd8Cx\\x05\\xc5\\\n\\x95\\x92{\\x9a\\xe9\\xdf\\xd8kr\\x1c\\xa4\\xf6\\xa8,\\x10t\\\n\\x91\\x06=\\x8a\\x0d\\x81g\\xc5\\x19\\x8c\\x16\\xed\\xbc\\xb2\\xa6\\xef\\\n\\x99\\x99\\x22\\x1a5\\x89Se:\\x0a\\x17#\\xb8\\x0c\\xa25\\\n\\xfc\\xe2_\\xcax\\xc1o\\x09ozj\\x86U\\x05\\x81\\x1c\\\n.%<\\x1c@\\xb6,L\\xb8\\x5c\\x1c\\x12\\xb8\\x1cC\\xd2\\\n\\x9a\\xea\\xf0\\x80\\xec\\x17J\\xdcT\\xc1\\x83\\x07\\x0b\\xcbr\\x1d\\\n\\x17\\x97O\\xce\\x98\\xd3\\xf91\\xae\\x94\\xb8\\xb8\\x10B\\xf5\\xe1\\\nN\\x17\\xd1\\x19\\x95h\\x05\\xb1+m\\xb8E\\x8e\\xd9m-\\\n\\xbb\\x0e\\xb6\\xae\\xb49\\xa432\\x97\\xda\\xf59\\xbb\\xd2.\\\nxz N\\x049\\x13\\x0fg\\xcc\\xae\\xc7\\xacG\\xc3\\xbe\\\n\\x87L\\xf8X%\\x8fkp\\xdc\\x0b\\xcf\\xc1J\\xfc\\xf7\\xb2\\\n+m^\\x91\\x1cEC\\xfc\\x9c\\xd6qn\\xd9c#a\\\n\\xaa\\x98\\x13\\xcaRe\\x5ci\\x97\\x12\\xd4\\x1e\\xbe\\x96!\\xa5\\\n\\xfe\\xff\\x8b\\xbb\\x96^\\xbbn\\xf3\\xfaWZ\\x0d\\x8c\\x08\\xd0\\\n\\x15\\xf8&w\\x02\\x0f\\xe2 @:(\\x90\\xd6\\xc9\\xa4A\\\n\\x06N\\xaa8B\\x5c)\\xf5\\x95P\\x14E\\xfe{\\xf7Z\\\n\\xeb\\xfb\\xb8\\xc9s\\x8e\\x5c\\x0fjgb_q\\xf3p\\xf3\\\n\\xb1I\\xae\\xef\\xb9B\\xf7\\x5c\\xda\\x83\\xd7sF>\\xe4\\xb3\\\n\\xcb\\xddSic=\\x90H\\x1d\\xde$\\xe7\\xa1\\x92\\xf2d\\\n\\xba\\xd5Ja\\x0cH\\xb0\\x9b\\x93\\xa7\\xd2\\x1e\\x12\\xe7p\\x88\\\n\\x83\\xee%&\\xcf\\xa5\\xdd\\xb9\\x95\\x01\\xd6\\x22n\\xe4\\xe0\\xb9\\\n\\xb4{\\x16\\xc15\\x8e\\x9d&\\xb2X\\x9e~I\\xe9\\x90u\\\n\\xcdTR\\xfbRqZm\\x08\\xa1h\\x96\\x0eO\\xa5\\xcd\\\nT\\xd6\\x91\\xd9l\\xc7\\xfcE\\xb1\\xd9\\xc0t\\x07&\\xe6\\xe5\\\n\\xed\\x1e\\xed\\x04d\\x924\\xa4\\x03\\xc3\\xe1\\x18=\\x97\\xf6\\xf9\\\n\\xa5$d\\xa8\\xcctC\\xe1$\\xc5k\\x95\\xb1>\\x87\\x12\\\n5GiS\\x99W\\x19\\x1d\\x22\\x01\\x9a\\xa7\\xd2\\xae\\xfa8\\\n\\x8fH\\xf1u\\xb0?L\\xa5\\xdd\\x99<\\x8a\\xf7\\x18\\x8cM\\\n\\xd1Risd\\xcc'\\x8e\\xd6\\xcf\\x01$O\\xa5\\x8d\\xf5\\\n\\xc7\\xe9\\xd8@\\x03z\\xae\\xf3\\xc3\\xc4i\\x22k\\x84%\\xed\\\n\\xa9 )\\x1b&\\x14\\xc9\\xaa\\xfaE\\xd6\\x98\\xc4Z\\xcaG\\\n8\\xa0q\\xa3\\x0cN^#/\\xcf+X\\xca\\x01\\xc8\\xf1\\\nj<\\xe1\\xbd\\x9e\\xa9\\xd5'-\\xf0\\xf9\\x11b\\x85\\xf0\\xc8\\\n\\x0f-d\\x1b\\x1f\\xdc=\\x19\\xbb\\x01\\x8f\\x9a\\xad\\xaa\\xdd:\\\nP>\\x01\\x0c\\xe0\\x91;\\x0aiv\\x91K\\x1e\\xfd;\\x9f\\\n\\x902\\x12D\\x92\\xc2\\x8e\\xdc\\xd5\\xf0\\xd3\\xc0\\xa3h\\xa9\\xad\\\n3Oc|\\xd1\\xc8i\\xf5\\xe3\\x03\\xb2\\x1f\\x04\\x8b\\x8d\\xc7\\\nX\\xac|'\\xfaJ\\x07\\x988\\x90\\x1e\\xfa\\x16|ac\\\n\\x03\\x1e8\\xf6\\x1a\\xe6\\xbe\\xf6\\x8aY\\x01\\xf3-\\xf6\\x82W\\\n!a\\xd6\\x8e\\xbdD\\xa4s\\xae\\x13>\\x91\\x15{\\xe1\\x01\\\n\\xee\\xa8~\\x0b\\xbd`\\xac\\x01\\x915[\\xba\\xa0W\\x87\\x8f\\\nF\\x97\\xb7\\xdf\\x0a\\xbd\\xc8\\x9f\\x01\\x87\\xb9[\\xe4\\xc5\\x1f\\xc0\\\n\\x8d\\xafm\\xc8\\x8bD*\\xd8\\xf8\\xe1\\x06x\\x05\\x1e\\x13\\xe4\\\n\\x16\\xa5\\xec\\x0b\\xdbTfq1\\x97\\x0e\\xc9\\xbe\\xe7\\x8eV\\\ni\\xb7\\xc4P\\xdc\\x88:B\\x02N\\xee\\xf3\\xe7\\xc5\\x80W\\\n\\xcfW\\xdbF]@\\xe0EE\\xaf\\xea\\x93\\xa0 \\x1a\\xf0\\\n\\xc2^b\\x8e.5O\\xe5\\x16\\x81W\\x98}\\xa9\\xca\\xae\\\nN\\xe0\\xd5\\x06],\\xd9|W\\x12\\xcb\\xdafnuV\\\nG\\x8a\\xf5\\xe8\\xc2\\xef1{\\xe3,\\xaa+\\xf2bV)\\\n0Q/\\xc8\\x0b+\\x149\\xf1\\x119\\xbd\\x89\\xbc\\xda0\\\n?\\x0c\\x9cQE\\xbe\\x0eB^JC\\xd8\\x90 ^\\x14\\\nHD^\\x07\\xb9\\xd3{\\x94\\xfd\\x0a\\xbb^\\x1ce\\xbc\\x8a\\\n\\xc6`\\xa2\\xf7\\xe1\\xee\\xb6\\xbc\\xbe\\x8b\\x080pxu\\x07\\\n^\\x95\\xb5\\xf1a\\x025U\\x07^\\xaa\\x0di\\xb3)\\x7f\\\n\\xb9\\x0b\\xd70\\xa7\\xcb\\x9b\\x08\\xf9\\xf3\\x0dx\\x1dA\\xd8\\x08\\\n\\xf6N8O\\x1a\\xf0j\\x8dl`\\xa4\\x19\\x85 y\\x09\\\n\\xd7\\xa4\\xfb,@\\x0e\\x95\\xc8\\xc8\\x85k$\\xbd\\x03\\xf0\\x8a\\\nF\\x93\\xde\\x8d}\\x00\\xa77V\\xa5C\\x82w\\xe4\\xc5f\\\n\\xf0\\x128\\xb1\\x16G^\\x07\\x87\\x82\\xc8\\x18\\xfd\\x9f\\x5c\\xc9\\\nc^\\xa06\\xd4\\x91\\x5c\\xb6N\\x87\\xfe\\xcd\\xc5\\xea\\xf4V\\\n\\x0a\\xd6\\x0c\\xf0O\\x22\\xa4\\x1a\\xcc\\x15\\x1dU\\xbd\\x1d\\xaa~\\\nn\\xdb\\x91.\\xd1\\x1a\\x98,\\x0d5V\\x0cy\\x1d\\xf6\\xb2\\\n\\x83\\x13C\\xff\\xa5\\x22\\x1f^\\x8e\\x88\\xd7\\x9bl\\x8eU\\x10\\\n\\x1b\\xc5\\xe7*?%7\\x1d_#\\x05\\x15\\x02\\xdfQ/\\\n\\xd1Z#$\\xa66\\xff\\xc3a\\x18\\x0b\\xaa\\xe4Cd\\x08\\\n\\xc7%ZsH8\\x05\\xba\\xf12\\x04\\x0d\\x89\\x046A\\\nT\\x009\\xdd@/\\x92\\x0fu\\x11s]\\xd8KG\\xc4\\\n\\x13)\\xb1n\\xb1\\x97Q\\x17W\\xc7^\\xe4\\x7f\\xa1\\x83g\\\n\\x93\\xdb\\xd71&,E\\x1a4\\x80\\xac\\xe24&\\x8d\\xa0\\\n\\x1f\\xe7\\x18\\xa9,&\\x8dI \\x0bJAr\\xbd\\xec\\x18\\\n+\\xca\\x13)C-\\x0d\\x06\\x97s\\x97\\x94\\x89\\xbd\\x22/\\\n\\xeb,h\\x9d\\x95#?\\xab;pe\\xa9\\x81:\\xa2\\x22\\\n\\xcbJ\\xb1yC\\xb6}\\xea\\x85\\x8dl\\x9e\\xd8\\xabS#\\\n\\x95 \\x90\\x9dGn\\x9b\\xe0\\xcbP\\x5c\\x1a\\xa4q\\xe7\\xa1\\\nn\\xd8\\x8b\\xda\\x0e\\xfa\\x95\\x83\\xea\\xe1\\xc2^4j\\xa5\\x81\\\n+Tg\\xb4A/\\xa2gD\\x99\\x83\\x84-O\\xe4%\\\nB\\xd7D\\xedTe\\x12{A/\\xb2\\x82AX\\x05\\x9b\\\n6a\\x88L\\xd6f\\xdf7\\x92@q\\x8cd\\x01)\\xe0\\\n\\x80\\x22\\xe0b\\xa4$E\\x07l\\x92\\x03|\\xec\\xba\\xea\\x0d\\\ny\\x0d\\xa6\\xc1\\xa34\\x08\\x89\\xafM\\xe4E\\xe5Q\\xd67\\\n\\x94\\xcb\\x98\\xc8\\xab\\x88\\x96\\xe1\\x14\\xf6\\xb0\\xa4\\x8e\\xbc2{\\\nZ\\xc5\\xad\\xa7\\x19%\\xf2\\x12\\x90\\xee\\x9dt\\x11\\xf4\\xf37\\\n\\xe4\\x95\\xe4\\x01:\\x98B1\\xb7\\xec\\xd0\\x0b;\\x0b=9\\\n\\x0e\\x9e\\xd59\\xde@\\xaf|\\x08z\\xc5\\xf2\\x7fB/q\\\n\\xf1!\\xd7|\\x1d7\\xd0K\\xa4{\\xd0\\x9c4\\x83^i\\\n\\x0as\\xe0\\xda\\x80~\\x13\\xb3\\xea\\xa0\\x8c\\xc9\\x91qC0\\\n\\xf1w^@\\xd9\\xd0[8Q\\xf8p\\x8f\\x0b\\x94\\x11D\\\n\\x01>p\\x7f\\xe68\\x16P\\xa6\\xc1\\x80\\x86\\xa6Z>\\xf7\\\n\\x09\\xca\\xda\\x9cx\\xe0t!/\\xceq'\\x07\\x08<1\\\n\\xf1\\xa6\\x22\\xb8\\x16\\x8f\\xeb\\xfb\\x09\\xa2\\x11\\x8a\\xe5\\xc7\\x84d\\\n\\xb7\\xe9\\x89~\\x08hV\\xaf4\\x8bu\\xb1/\\xb4[\\xfb\\\n\\xc2'\\xf9\\xea\\x9a\\xe8\\xeah_pU>-\\x0e\\xb0\\x1b\\\n4W\\xe6w\\xb7\\x10\\x90\\xae\\x8e\\x7f$\\xb7-d\\xb3>\\\n<2:\\xc8\\x1c\\xe1\\xedn\\x86\\x07\\x19\\x0dV\\xcb\\x83\\xfe\\\nXM\\x0f\\xfa\\xa3\\xf8\\x1f\\xd5m\\x0ec\\xb11\\xe8\\x8f\\xc3\\\n^*\\xba: ,\\xd2\\xd5\\xa9(y\\x91\\x1bH\\x8c\\xae\\\nN\\x7fzc\\xa2\\xab\\xe3/b\\x9aey\\xfeU\\xe6\\xd3\\\n:\\xffj\\xf3i\\xf7\\xa6IW\\xa7\\xbf|\\x94\\xa2\\xabc\\\nY\\x9a\\xefH>\\x81\\xa2\\xab\\xe3(HWw\\xf6Tt\\\nu,\\x22]\\x1d\\x8b\\xda,\\xf2\\xe5\\x11]\\x1d\\xcbHW\\\n\\xa7\\xb22\\xcb\\xda,\\xf3\\x15\\x10]\\x1dz\\x22\\xba:\\x95\\\n\\xcd\\xf6\\xca4\\xde\\xd4\\xd9\\x81\\xea=\\x16]\\x9d\\xca\\xe6\\xdb\\\n\\xaa/\\xb2\\xe8\\xea\\xf4\\xd7\\xd0\\x17!\\xba:Vk\\xb3\\xa3\\\nm6\\xd2\\xdc\\xa8$\\xba:\\xfd5;\\xc5\\x8fQ\\xbf\\xf5\\\n\\xe6\\xe6wt\\xcc\\xaf\\xc5\\xe8\\xea\\xf4g\\xb4^}\\x92\\xae\\\nN&\\x9aq\\xf0\\xc6\\x96\\xa8!\\xba\\xbaH\\x17\\x0e\\x9e\\xab\\\nT\\xfe\\xb66\\xf5\\xed\\x8d\\xbc3\\xd4\\xb7\\xbb\\x85\\x06\\x86\\x0e\\\n\\x91?\\x0f\\xdc\\x9c\\x97\\x85\\xe6\\x80\\x0c\\x03\\xd6\\xc1\\xb2\\xd2\\xd5\\\n\\xc1:\\x81&\\x88\\xb7.\\xba\\xba\\xf3|Gi8\\x16\\xfb\\\nL\\x83\\x07\\x1d\\xf5\\xc0\\xb5\\x5c\\xe6\\x99@\\x9d\\x13\\xb9y\\xa8\\\n\\xe8\\x9b\\xe6\\x19d\\x83\\x07\\x80\\xecy\\x01\\x90\\x90<I\\x7f\\\nN\\x03l\\xaf\\xb3\\x0d(\\xb7I\\xf0\\x97/\\xf8\\x18$\\xcc\\\n\\x80\\x862\\xba\\xde\\x0e\\xa5\\xe7\\xd7\\xae7&\\x5c\\x94\\xfd\\x1a\\\na\\x0dKG.\\xc3\\xcc@DK\\x96\\x02aLc\\x05\\\n\\x94\\x9c\\x18c\\xe9\\x8b]\\x06A\\x03b\\x06S\\xed\\xcb,\\\n\\x83\\x08mT\\xdf\\xcc2\\x1d&a\\x18}\\xe4\\x9eI\\xca\\\n:$\\xefC\\xa8)\\xbd\\x89\\xd2e\\x95\\xc1\\xfc\\x01b\\x01\\\nN\\xf5\\x0b9\\xd2\\x94z\\x9ejP+\\xb6\\x0b9\\x92\\x89\\\n\\x0amC\\x0f\\x1e\\xfae\\x94\\x09\\x8a\\x9c\\xe2w~\\x01G\\\n\\xd8\\xcc*\\xad[dj\\xba\\x06\\xd9aT;_\\xecX\\\n\\xaf\\xc2U\\xa9Qo 1\\xc3\\x19\\xeb\\x86X\\xdd\\xaa\\xd0\\\n\\x01\\x91^\\x8d(\\x05\\x9a\\x0b\\x8a\\xc7\\x9a|uP\\xbc\\x06\\\n6!\\xf5T\\xf4\\x96!5x\\xf4\\x96\\xb1\\xd5A\\xcaF\\\nt\\x8e\\xa8\\xa5\\xa5\\xab\\xcb\\xc6\\xa9\\x15`\\x02%3XY\\\n\\xc9\\xea\\x06\\xa5\\x09 \\x0feR\\xae^\\x5cB\\x15b\\x9b\\\n\\x10\\x8f\\x0cL\\x10\\x1b\\xa3\\xa8\\xeaj[\\xa8\\xea\\x06uJ\\\n\\x18\\x93Hk\\xe7P\\xb3\\x14T\\xe9\\x98\\x08\\x8f\\xbd?;\\\n\\x96\\xc8\\x06\\x1b\\x04\\xa8\\x82?@f\\x01\\x08\\x5c\\x02`\\xd7\\\nh\\x01\\x91\\x11\\x0f4y\\xea\\xaa\\xe8\\x9d\\xe0\\x95\\x0e\\x95X\\\n\\xa5wG\\xcc\\xd7\\x93\\x0a\\xa2\\xc4a\\xac}\\x84xj)\\\n\\x11\\x8a\\xd60i\\xea4\\xf9d\\xc6r\\x22<\\xe2\\xbb\\xf3\\\n[;\\x01\\xa2\\x18\\xfb\\xc6T\\xaciY\\xa5:lD\\xcc\\\n\\xe4\\xa8\\xc3w\\xfc\\xaa*\\xd8@SL\\xdc\\xc1\\xe2!\\xbf\\\n\\x91.\\xc2\\xb99\\xd4V\\xb9\\xf5i\\xde\\x15A\\x9d/\\x14\\\n\\xa4H\\xe8\\xbd\\xbaC;[q2\\x84U\\x9cL\\xdf\\xc1\\\nO\\x07\\x02\\x90\\xce\\xbd\\xcc\\x5c\\xf5r\\xbb\\x8a\\xdc\\xb4P\\xb3\\\n\\x9e\\x9fl\\x99\\xf4t4\\x1b\\x0c\\x85\\xa8\\xd1L`\\xf4t\\\n<\\x08A\\x03\\x04\\x13o\\x9b\\xf4t\\x95|\\x97\\x91[\\xa8\\\n\\xed\\xf4t\\xd7\\xd1\\xd4&?\\x9d\\xa8\\xa1+\\xc4D\\xe6\\xa6\\\n7~:2\\xceu\\xe9\\xcdT\\x5c\\xe6&R\\x0cd\\xa7\\\ngZ\\xbe\\x0e\\xa7(7\\xd7#L~:RJv\\xdc\\\ni\\xda\\xcd\\xe2\\xa7\\xd3'\\xd4hd\\xef1Mz\\xba\\xa8\\\no\\xa5\\x11\\x83\\xcb\\xef\\x8d\\xf4t\\xd5|\\x01`\\x8b:w\\\nXwv:\\x88\\xc7\\x90\\xbb\\xf9\\xcdq\\x97\\xba[\\x02\\x0e\\\n\\xfcD\\x8b,\\x95*\\xf2A\\xc2\\x8d\\x82u\\x0bCF\\xff\\\nIN\\x87\\x05u\\xf6\\xc5b\\xbch\\x22\\xa7\\xe3\\x826\\xea\\\nO\\x8ck.{\\xffA\\x06\\x09jS\\x0e\\xab\\xce\\x0fw\\\n\\xdd\\xa8\\x173]\\xe6T\\x16,zrf:{+@\\\n>I\\x87\\x933\\xd3\\xe1\\x01\\x22\\x0eu$\\x0dg\\xa6\\x8b\\\nvp@\\x80\\x83\\x5c\\x19\\x9c\\x99\\xeen\\xeb\\x89\\x98\\xaep\\\n\\xbfC\\xabn\\xee\\xb0\\xe2\\xa5\\xb3\\xc9l1]\\xec\\x80\\xe4\\\n\\xa5#\\x1bh\\x85\\xf5\\x80r\\xab\\xd8\\xc3\\xf3\\xd5P\\x13\\x0d\\\nbwZ\\xba\\xc2q\\xe1\\x90\\xc4\\x0b\\xc4oW}35\\\nm&Q\\xc6\\xb59\\xdcSf,\\xbc{\\xba\\xde\\xeb\\xc3\\\n\\x850|JK\\xb0x\\x8c\\xba\\xb1\\xd2\\x01\\xa2\\x0e\\xeeK\\\n\\xca\\xf9mnW*\\x92\\x8a\\x22\\x07\\x8c\\x94\\x0e'\\x04U\\\n\\x18\\xd8\\xf3m\\xe3\\xa4\\x03gm\\x82G\\x0a]\\x96\\xc4I\\\n\\xc7q\\x1d\\x9dq\\x9e\\x07I\\x1cDIW\\xed;\\x84~\\\n\\xa5\\x9aZ^\\x94t\\xd8h\\xe7\\xb7C\\xb3j\\xa9?\\xaa\\\n\\x09\\xff\\xcb\\xaf\\xde=\\x7f\\x89\\xac\\xa2?\\x9c\\x11\\xff\\xe2\\xcf\\\n^x<P\\xfc}\\x8c\\xf8\\x0cT\\xc8\\x0c\\x9a\\xc7\\xa3\\xe6\\\njd\\xa8Xp\\x01\\x829\\x0f\\xa6)\\xd4\\xafW\\x10\\xe3\\\n\\x01\\xc8\\x10\\x05\\xcd\\xb2\\xd1h1\\xdc\\x8e\\xae%\\x05\\x82\\xb6\\\n\\xb3\\xbb\\x8b\\xcb\\x1a\\x5c=2\\xe7\\xd1\\x1b\\xd1=U#\\x95\\\n\\xc2m\\xba\\x02\\xd8kI\\xad\\x16d\\x86\\x9b\\xd1kh\\x18\\\n\\x22\\x10\\xce\\x87f\\xdah\\x0b1B9\\xce%\\xe8\\x09<\\\nr\\xed)\\xc1\\xa0M/\\x9c\\xb3CI\\xda\\xe8\\x16\\xe9$\\\nrv\\x1c^\\xb0g[\\xc5\\xd4\\xd1\\x05\\xbdl\\xfb\\x8b\\xa9\\\n\\x8e\\xa6f\\xa2i\\x8a\\x92Q\\x086\\xfd \\xec\\xd5\\x17\\xb2\\\n6\\xbe6j\\x1e\\x8a%(\\xa6\\x95\\x9b\\xc0\\x8e\\x0c\\xbb\\xf4\\\n\\xbc\\x8ctN\\xa9\\xa4N>\\x1b\\xc8RG+\\x1a\\x82\\x95\\\n\\x9b\\xd4[5\\xce9\\xb3bRq\\xd6\\x19\\x9a\\x82R*\\\n\\xb9\\x86T\\xd1\\x16\\xba\\xc0\\xe2nN^\\xe5q\\x1b\\x1e\\x9a\\\n\\x1e\\xf7\\xe2\\xb6\\xf7\\xda\\x8b\\xfb\\xe3F\\x86\\x14\\xce\\xfb\\x8cL\\\n5\\xf4\\xcd\\xc4\\xf2<\\x0b\\xfd\\xd5\\x130\\xcc\\xb2\\x10\\xed\\x22\\\nX\\x8d\\xfc^x\\x985w]\\x80\\xf9\\x82@\\x92nU\\\n\\xad\\xce\\xf0\\x9b\\x9c\\x85\\xc4\\x83\\xab\\xa6\\xa9\\xcd\\xef$\\x1d\\xb7\\\n\\xca\\xfdj#\\xa8\\x8d\\xe2\\xaai\\xab}\\xfe\\x0fr5N\\\n+J\\x15G4\\xd7,\\xb0r\\x1d.U\\xa8\\x14\\x8e\\xd9\\\n\\xc9\\xd8\\x18\\xe3\\xa4\\xd5\\xf4\\xdeUO\\x05\\xa1\\xdeY\\xc3\\xc1\\\n\\xfd\\x01\\xb4\\xe32\\x89\\xab\\xd2t\\xf9\\xb2\\xf5\\x82\\xf2\\x0cy\\\n\\x03\\xcc\\xe3\\xcb\\x9ah\\xd6D4\\x99BK>\\xd4\\x8b<\\\n5\\xd2\\x85\\x02\\x08dW\\xdd\\xda}<\\xec\\xc41\\x97\\xb0\\\n\\x93=\\xe8\\xec\\x96\\xfb\\x01\\xa8r\\xd0\\xc4\\x15\\xe7\\xc0\\x8e\\xda\\\n\\x1b\\xb3\\xb6+\\xa3\\xb7\\xda\\xd5t\\xd1\\xd64\\xe6\\xa8\\x98\\x7f\\\n\\xc80\\xa5\\xa7-U\\x10\\x15\\xae;\\xfe3*\\xa6h\\xa9\\\n\\x92\\xc9\\x13\\xd7\\x0aB\\x83\\x1c\\x5c\\x13\\xcd\\x17\\x9e\\xe0\\xf6\\x10\\\n\\xb8\\x8d\\xae\\x88\\x9e\\x9f\\x01\\x5c\\xf4\\x14\\xdd\\xb1\\x96\\xe2\\x16\\x0a\\\n\\xee\\x00\\xa0H\\xae\\x9e\\xb8T\\xa4\\xb8Z\\xce\\x11\\xb8\\xa5\\xe0\\\n|\\x89\\xae\\x82^\\xca\\x13T\\xb2Y*hv\\xb0B\\x1c\\\n#\\x11\\xa5\\x19o\\x11f\\x01\\xb4\\x8c\\xa3\\xb4\\xf2\\x94\\xe5\\xf0\\\n\\xa5\\x9b\\xd6\\x0eK\\xd4E\\x93\\xfemRl\\x93\\xe3O\\xb4\\\n\\xa2.\\xb1\\xa86\\xd4\\xa8\\xd8\\xbd\\xa4\\x9b\\x9e\\x14\\xdb\\x91\\xd5\\\n\\xf1n\\x19\\xed\\xa3\\xb4\\xa2qJ\\xaaF\\x98\\x9d|3\\xe5\\\nl\\x9a\\xee\\xe8\\x22\\x0b\\x9c\\xe4\\x82N\\xeb\\x99\\xfc\\x22\\xcc\\xb0\\\n5\\xf6\\x06\\xa7\\xd4\\x982K\\xe5\\xbdA\\x83\\x5cR\\xb1\\x05\\\n\\xb3A\\x8f\\x0d\\x17\\xf6'h\\x14e\\xfb\\x9f\\x0b\\x05\\xd0\\xdf\\\n\\xb21A\\x87\\xb9NIv\\xa7\\x14\\xa2\\xcb,M\\xc1\\x1d\\\n\\x97p+\\x89\\xa5\\x8d\\xdb\\xceD\\x1f\\xab\\xce*\\x98\\xe0\\xe9\\\n\\xc7\\x1eW\\x8f\\xd4e.%\\xb1,\\x0f\\xe6\\xacQb\\xe1\\\n{3\\xb88\\x11\\xe8\\xde\\xa6N\\x9a\\x93Y\\x80O\\xcf\\xc7\\\n\\x87\\x8b,U\\xba\\xe2B\\xa6\\xe1\\xf3gy\\xca,\\xc3\\x17\\\n\\x856\\x891\\x85\\x96a\\xc9\\x11\\x92\\x9d\\xed&\\xb4p#\\\n\\x9cH\\x84\\xee\\x8d\\xc7\\x14Zfm\\xd0\\x14\\xd7)\\xb4\\x98\\\n\\xad\\xc0\\xf9b\\xf2\\x14ZP\\xdf|)h\\xd4 /Q\\\nF\\xaa\\x8cxP0\\xc3\\x96\\xd2\\xb7s'\\xced\\xc6\\xca\\\n\\xb1\\x89u9j\\xeb\\xd7+\\xb7e\\xed\\xf3\\xa8\\xc4W\\x8f\\\n\\x9c \\x95q\\xe4\\xc3R\\xee\\xaf\\x8f\\xa0!~:\\xb2\\xa5\\\n)\\xd9~Ths;,O\\x89\\x1e\\x951\\xdb\\xd3\\x8f\\\n\\x92\\xdc\\x85\\x9f*=\\x92\\x9fh\\x9c\\x05|\\xed}\\xee\\xbc\\\n\\x9a\\xf4\\xe4\\xfc\\xcf\\x08\\x96\\xaa\\x9f\\xb6l\\xf8|\\xa0\\x0b\\xe0\\\n\\xcb\\x8dT\\xcdx\\xd8\\xe5S\\xe5W\\xfc\\x04g\\x8b\\xa7#\\\nZ\\x06\\x7f\\xeb\\x1d\\xbb\\xa0\\x08u\\xaab\\xfaq\\xdb\\xf1\\x80\\\n\\xdb\\xca\\xf2\\xfcC\\x02|\\x92\\xf1i\\x19\\x92DD^\\x10\\\n\\xeb\\xd1L\\x11\\xd1\\xcef\\x80&p\\xf34\\x17\\x11\\x0d\\x06\\\n\\xe1\\x0e\\xc4i\\x9cMD\\xbc\\x0e)\\x88\\x83y2\\x98_\\\ng(\\x1c\\xd6\\x9b\\x8b\\x88|\\xe7z\\xc4KB\\x9c'?\\\n\\xee\\xd7<%\\xc4H9s}e.[\\xed\\xe4\\xb5g\\\n\\xc7\\xd7KZ\\x12\\x22\\x11\\x0aj\\xc3\\x9b\\x80\\xc6\\xcc\\x84\\xcd\\\n\\x99\\x13}\\x8a\\xb7\\xe3\\xef|\\x92\\x96'Q\\x9c\\x18\\xe7\\x94\\\n\\x1dn/1\\xd8\\x97\\x8dQW \\xc1\\xed%\\x0f\\x10\\xe1\\\nH),\\xbf\\x02FE\\xf0Me\\x18hJ\\xf11~\\\n\\xfd\\xbb\\x80\\xfe\\x1f\\xd0(\\xf1I\\xd8\\x7fc\\x86\\xf8.\\xdc\\\nO\\x05z\\x10;\\xef\\x85\\xfb\\xbb\\xb2j\\xc0\\xa6\\xce\\x9b\\xea\\\n\\x02\\xfe\\x16v\\xd6\\xe1\\xb6\\xb7\\x03\\x7fe\\xe1\\xa0\\x0f\\xea\\x02\\\n\\xfcQ\\x1bDn<\\xd5\\x17\\xe0\\xdfi\\xe4\\x80P\\xb9\\x02\\\n\\xff.[/\\xfcE3\\x1c\\xf9\\xca\\xc2\\x03-K\\x1d\\xbe\\\n\\xb7\\xb8C\\x7f\\x1a?\\xcfF\\xc2\\x82\\xfc=.1\\xb2K\\\n\\xc3\\x1cQ\\x94e\\x85\\x01\\xc0\\x0c\\xb8\\xac\\x82\\xfe\\xf0\\x8cI\\\nr,A\\x22\\x22:\\xa8\\x00\\xf93\\x81\\x02\\x90?\\xc2Y\\\n\\xa3\\xb8\\xec\\x81\\xfc\\x8fa!\\xc9\\xf4o?\\x16\\xe0o\\xb9\\\n\\x0e\\x9aT\\x11\\xcc\\xf9\\xa2\\xa8_f\\x0f\\x19\\xda\\x0e\\xc0\\xfd\\\n(\\x0e^Z0\\x95\\xcc\\xf62K\\xd1\\x10K\\xe3\\xd6\\x04\\\nO\\xeab\\xb0\\xbf6\\xab\\x0cv\\xd8d\\x1e((\\xf5\\xca\\\nA\\xc1|\\x8c\\xbe\\xb8\\xda8\\xdc\\xdf\\xb8\\xaav\\xb4\\xb5\\xa6\\\n\\xaa\\xacY\\xf4\\xc5U\\x1d\\xe9\\xc9j\\x11\\xee\\x87\\xef\\xe4R\\\n\\x5c\\xaa\\xe1\\xfeR\\x96\\x09\\x81\\xa0E\\xdc_\\xca6\\xad(\\\n\\xa7\\xfb\\x09\\xce\\xec\\xe8\\x01LCj;\\x01\\xff\\xf2J\\xc4\\\n\\xcf\\xf1\\x94\\xb9*\\xc80\\x85\\xfc\\xe9\\x0c\\xa3\\xc4g@\\x9b\\\n}\\x85\\xfeL3\\x82\\x17\\x8c\\x0b\\xfa\\xab\\xf4\\x00\\xcal\\x8e\\\n\\xfc\\xd5\\x06\\x0dBv\\xe9\\xb6\\xb1F\\xef\\xa3#\\x14\\x08&\\\n\\xf2\\x07\\xc9\\xf2\\xb0\\xd4p\\x17\\xf2\\xaf\\xf0\\xc9\\x80\\xa2;o\\\n\\xc8_\\xbd\\xab\\xe7\\xb9\\x196\\xe8\\x1f\\x10\\xc2c9\\xdc\\xe6\\\n\\xa63\\x0f\\xa6\\x8c>/\\xd0\\x1f#\\x878\\x85\\x0f\\xff\\x82\\\n\\xfeT\\xf3\\xc2\\xa6W7\\xe8_\\x92<\\x1b\\xdb\\x0a\\xfd\\xc1\\\n\\x94H\\x1b\\xd6\\xb1A\\xff\\xa0y\\x86\\xc8\\xbcB\\x7fD,\\\nF\\x94\\xe7\\x15\\xfbc\\x8e\\xc6\\x90,5\\xb1?G\\xb6V\\\n\\xbf2\\x22 J\\x02\\xd5\\xc7\\x06\\xfe\\xab0E\\x0b\\x1b\\xf8\\\n\\x87Z\\x17\\x87\\x01\\x15\\x8d\\x0b\\xfa\\xc7S\\xf8yp\\x05\\xc6\\\n\\xb6\\x8a\\x91\\xb7\\xce\\xb1\\xc2\\x7f&\\xbb\\x83\\xaa\\x90D\\x81\\x17\\\n\\xfcg\\xf5\\x22N\\xd2\\x0b\\xfe\\xb3\\x14*\\xe8\\x186\\xfc\\xaf\\\nhW]\\x96\\xcba\\x92\\x06#u\\x99\\xaad\\xc5\\xff(\\\n\\x7f\\x82Kl\\xdd\\x04\\x80\\xa4\\xe4}t\\xb6\\x87\\x9d\\x8b\\x02\\\n@\\xa6\\x19s\\xee\\xc1\\xe6\\x16\\x0b\\xf6\\x19zMJ\\xb6=\\\n/\\x12\\x00\\x03\\xae\\xa0\\xb4\\xa2\\xf6Y\\xde)L7G\\xcd\\\n\\x15\\x1c\\x05V\\xa3\\x05\\x91>B`\\xce\\xedwy\\xa7\\x5c\\\n\\xf5M\\xbeX%\\x80\\x80\\x8cKR\\x03\\x98\\xd1\\xa2J\\x02\\\n\\x90\\x07\\x07\\xcf\\xc8U\\x02\\xb0\\xe6\\xe9_\\x11\\xa6\\xe6;1\\\n\\xd1\\xa1\\x9c\\x02\\xcc+\\x18G ]UNx\\xd4\\x9c\\xc2\\\nv\\xae\\x15\\x04\\x98\\x8eO!\\xef\\x12\\x80\\xb73%\\x80Z\\\n\\x0dN\\xf4\\xac\\xcf\\xc3l\\x16w\\x9d\\x89\\x16\\x93f\\xc7\\x16\\\nL\\x5c\\x02\\xfaI\\xad\\x10\\xe8\\xc3\\xc5\\x04\\x9a\\xfc1m\\x16\\\n\\xd7\\x03\\xa0}=(\\xfe\\xde\\x5c\\x92\\xf2\\xd3\\x14\\x97\\x00\\xf4\\\n\\x82<\\xb2\\xdc-\\xa6\\x04\\xd0U\\x0eMV'E\\xa4I\\\n\\x00e.\\x0a\\xbf\\x84\\xee\\x12\\x00OF-\\xfcX\\xed\\x16\\\n,g\\xbc\\x00.\\x22\\xba\\xed\\xa4\\xb0\\xd5\\xb7V(\\x02@\\\nT\\x80\\x82W\\xe5l%\\xa5Y\\x1b\\x0e\\xf1\\xc3\\x96\\x96\\x12\\\n\\x00\\x80\\x16\\xc3E\\xf8e\\x9e\\x13\\xd4\\xc2\\xa7E\\x80\\xb2\\xac\\\nGR\\xf4]\\xf7W^\\xeb\\x9a\\xa8M\\xb8D\\x80DP\\\n\\xcc\\xe4X\\xb0\\xa2,\\x12\\x80\\x9e`C\\xb4]\\x00\\xd0\\x03\\\n\\x90\\x99fOS\\x88\\xfb\\xe4\\x84\\xffYDb\\xd0\\xe3;\\\n\\xfa\\xcfqb\\xfc\\x1c\\x91^j\\x03\\xffA\\x89\\x0d\\x11\\xc1\\\n\\x9b\\x1d\\xfb\\x0fr\\x955\\xb1\\xeb\\xe2\\xef\\x09\\xfd\\xf9\\xaf\\x91\\\n\\xd4ah\\x1f&\\xf2\\xcf\\xd7H\\x08N7\\xdco\\x0f\\xe0\\\n\\x06\\x9d'\\xec\\x07H\\x19\\xf6 \\xb3\\xbf+\\xe8\\xd7\\xa1\\xdc\\\nJ\\xdb@\\xff\\x90vJ\\xd6\\x15\\x81\\xfe\\xeaYE\\x22\\xdc\\\n,B\\xd9Q?y\\xb4\\x11\\x17\\xb3\\xa1~\\x1cdh\\x86\\\n\\xc7\\xc9\\x82\\xfa\\x97+fE\\xfd\\xcaH3h\\x5c\\xc9y\\\n\\x02v\\xbc\\xb3g#\\xe7]`?\\x22\\x5cp3\\xaa\\xfc\\\n\\xcaH\\xc6\\xfaQ\\x86\\xf2\\x15\\xf8+\\xb7#\\xf5\\xb6\\x06\\xfc\\\nc\\x92\\xdb\\xeez\\xec\\x19\\xf2\\xf7GL\\xfd\\x06\\xe4o\\xcf\\\n\\xdaC\\xdcw\\x03\\xfdo1\\xe1\\x8a\\xfd\\x0d\\xa7\\xa6\\x0e\\x11\\\n\\xa7\\xec\\xd8\\xff\\x06\\xc3\\xfe=\\xc0\\xff\\x8f\\x8b\\xfa\\xbf\\x07\\xcc\\\n\\xa7\\xea\\xe6\\x0e\\xe6g\\xc42\\xd4{\\x94\\x8f\\xc46\\x10\\xbb\\\noP>L(\\x00\\xa17(\\x9f\\xb5\\xdb\\x1d\\xc8/&\\\n\\x91\\xde\\x81|\\xc0\\xf91\\xee1>\\xee\\x85\\x9c\\xef!>\\\n\\xac\\xb3X\\xe3;\\x8c\\x0f\\x0d\\x13>\\x9a\\x09\\xf1\\xd3\\x96\\x96\\\n\\xe7\\x06\\xe1\\xcf\\xd7\\xde\\x22|\\xec:F\\x0b\\xde |\\xd5\\\n\\xbeA\\xf8\\xcc7X\\xef >|\\xc4q(\\xdc@\\xfc\\\nl\\xbe|\\x16~\\xa4\\xd2\\xe2nw;\\xc4/\\xa6\\xb2\\xd9\\\n!>\\x0e\\xf8\\xbeB|[\\xb9lm\\x94\\x0d\\x9c\\xcf6\\\nv\\x88?\\x8bw\\x84\\x8f\\xc0\\x96\\xda\\xee\\x10\\xfe\\xac}\\x8b\\\n\\xf09!\\xb7\\x08\\xdf\\xa7\\xf5\\x0e\\xe1\\xfb2\\xec\\x08\\x1f>\\\n\\x9a\\xb1m\\xaa\\xfd\\x99\\x99$}\\x7f|\\x1f\\xc3\\x82\\xef\\xa3\\\n\\xa8\\xcc\\x0f\\x19\\xf6\\xef\\xe0=\\x93s\\xdd\\xc1{\\xca6w\\\n\\xf0\\x9eq\\xe5\\x82\\xf7W\\xdf\\x0e\\xb9\\x12\\xdc\\xa1\\xfb\\x06\\xd9\\\n\\xeb\\x0e\\xddGj\\x98n\\xd0=\\x03\\xb4\\x1e\\xa0\\xfbV\\xe3\\\n\\x03tO\\xd0w\\x87\\xee\\xe9\\x0a~\\x87\\xee\\x1b\\xb5V\\xc7\\\nu\\xb9d\\xa6\\xbelP\\x8e\\xdd\\x81{R\\xa9\\x0b\\xdc\\xd7\\\n\\x09\\xeeg\\xed;l\\xcf\\x94\\x97;\\xb6/\\xe6\\xe1\\xb1c\\\n\\xfb\\xb3\\x15\\xba\\xc7\\xdf@{\\xdc\\x89\\xac\\xdcn\\xa0:m\\\n\\xea7\\xc0\\xbeH|\\xb9\\x83\\xf5\\xaa\\xbb\\xc1zd\\xff\\xcd\\\n\\x0f@}\\xd5\\xbd\\xbc\\x83wt\\xa7\\xb5{P\\x9f\\xe8\\xcd\\\n\\xf2\\x00\\xd3#\\xfb_\\x8a\\xf7\\x90>h]\\x84\\xe8\\x83#\\\nz\\xb8\\xa4\\xadNH\\x17\\xa2\\xa7\\xe5q\\x22\\xfa@\\x84\\x8e\\\n8\\x15a\\xe8\\x1d\\xd1s?\\xcfX?\\x93\\x17\\x00\\xc5\\x86\\\n\\xd7\\xdf\\x10=\\x1d\\xa3\\xfb\\x03DO\\x9f\\xed\\xfa\\x08\\xd1\\x97\\\nr\\x8f\\xe81\\xc1=n\\x88\\xbe\\x0a\\xf9!\\xbc\\xfaH\\x8f\\\n\\x10}\\xd1\\x0fn\\x11}\\x94W\\xfc\\x1d\\xa2O\\x17\\xa2\\xaf\\\n\\xb7\\x9d\\x89q\\xce\\xcdz\\xd4\\xdd!z\\xcee~\\x80\\xe8\\\n\\xe7\\xac\\xdd!z\\x85/\\x0a\\xd1\\xf3\\x05YQ\\xb4\\x99\\x88\\\nx\\x22\\xfa@D\\x0f7\\x86\\x9c\\xef\\x11\\xfd\\xd5\\xd1\\x1d\\xd1\\\n\\xe3\\x1al\\xf7\\x80\\x1e~0\\xe3\\x0e\\xcf\\x07]\\x0c\\x0b\\x9e\\\n/{+\\xf7\\x80>\\xa4G\\x80\\x1e\\x97\\x09N\\xce\\xef\\x83\\\n\\xe7\\xb9\\x1a\\x0b\\x9e\\xbfY\\xd5;<\\xcf\\x14\\xbd\\x91\\xa7\\xce\\\n-\\xa0\\xcf\\x01Q\\xca\\xe5\\x01\\xa2\\x87\\x99\\xe4\\xa9\\x1f\\x0f \\\n\\xbd2\\xfe\\x96\\x07\\x98\\x1e\\x99~\\x9ezx\\x00\\xea\\x0b\\xc6\\\n\\xda\\xcb\\x03T\\xcf\\x1eD\\xe8\\x19\\xee`}>\\xd0\\xefP\\\n6\\x95\\xbe\\xcb\\x1bP\\xf6\\x1f\\x0f\\x90}F\\x8e\\xf4Q\\x1e\\\n@\\xfb9\\xa2{l\\xaf\\xad\\xff\\x9d\\xd8\\x9e\\x97\\xf3z\\xf3\\\n}oh\\xafX\\xe4;h\\xcf\\xfb\\xe5\\x1e\\xda7\\x9df\\\n\\x1b\\xb4\\x9f)\\xcfvd\\x7f\\xd5\\xde\\x80\\xfdU\\xfb\\x16\\xd7\\\n\\xd3Y\\xe8\\x01\\xae\\xb7\\xb3\\xef\\x01\\xac?O\\xef[u\\xbe\\\n\\xe1<\\x22\\x86\\xe3!\\xa6w\\xd0\\xf0\\x00\\xd2G\\xc8\\xe3\\xad\\\n?\\x84\\xf4\\x86W\\x7fLD\\xff\\xc7o\\xdf\\xfe\\xf5\\xc3\\x0f\\\n\\x01\\xe7\\xcf\\x0f\\xc2\\xe1|\\xbe\\x22\\x0b \\xf3^\\xc1\\x03@\\\n\\xbf\\xccU\\x04\\xdbL\\xff\\xe9kjT\\xe1\\xad\\x0dd\\x82\\\n\\xdcB\\xd8\\xed\\x019\\x8d\\x12\\x03\\x07\\x98\\x5c\\xe5\\xfc\\x19\\x22\\\n\\xe2\\xb2\\xfd\\xbf\\xfc\\xf4u\\xe1\\x19z\\xfe\\x1b*\\xb5\\xb39\\\n\\xdc \\xf0\\xf5\\xa6\\xcah\\xe85LU\\x84\\xe0 k\\x0e\\\n\\x1e\\xe0\\x5c\\xa9\\xa4\\xd7\\x0fk\\x0f\\xc1\\x02|^\\xf9:\\xa4\\\n)\\xe2?\\xbb\\xfe9\\xecW\\x87~\\x85\\xf8\\x81\\xf3m\\x7f\\\n\\xfb\\x04\\x99\\x07|$\\xcf7R\\xd7r\\xde|\\xcds\\xf7\\\n(\\xc7@P\\x8e\\x01\\x84a\\x11\\xea!>G\\xd1x\\x88\\\nQsMnW5\\xc4\\xf9\\xc0K\\xb8\\xce\\xe4=\\xdd\\x1d\\\n\\x01\\x9bR\\x9e\\x91\\x0f\\x1c!\\xf2H\\xedA\\xcf\\xbb\\xe3\\xf0\\\n\\xdc=Q)~\\x22Ub$z\\x10?8c\\x9a\\x0f\\\n\\xd8\\xcc\\xa9?6\\xb8\\xc7@dL\\x15A\\xe7\\xe1\\x8e\\x1c\\\n\\xac\\x8e\\xac@\\xa1\\xd2u\\xe4\\xbc\\xae\\xb2e\\xefQ\\xfb\\x07\\\n\\xa3iqAx\\xfa\\x1ek\\xa8+q{\\xa0\\x02\\xd8\\x22\\\n[\\xe5]\\x10\\x94\\xfa \\x9aK\\x07\\x9384fkT\\\nC\\xc3\\xbd\\xc4\\x19\\xd6\\x05\\x97\\xea&O\\xe9aG\\x12c\\\n\\xf0\\x91\\xe7/8\\xb5@\\xbc\\xde;\\x94\\xe1d\\x98\\x9b\\xb8\\\n\\x17\\xd3\\x83\\x0a\\x9e\\xf2\\xee&>8i\\x8d\\x01[Z'\\\n\\xc6\\x182\\xdf\\x00\\xdd\\x03\\xa1{>,\\xc6p\\xce\\x0eS\\\n=\\x1e\\xcd\\xf0\\x9f\\x157\\x9cJp\\xc2\\x0a\\x02\\x80\\xb36\\\n\\x13U\\xc9\\xcbu\\x8cYNd\\xa8\\xccJQ(\\x90j\\\ni\\x84\\x1e\\x06\\xa6\\xfd\\x80\\xc7\\x0dC\\x0cQ\\x1f\\xa1\\x8b\\x91\\\n\\xf9\\xf4\\x03\\x1d\\x12\\xfe\\x8e\\xf9{~\\xf3\\xdf\\x7f}#2\\\n\\xf1\\x1f\\xe2\\xf087\\xa2\\x1d\\x1e8\\x1f\\xaf\\x88\\xf1\\xe3\\x13\\\n\\xba\\x00\\x915$\\xe1\\xc4L\\x8f>\\xdc\\x13\\xc8z@\\x1b\\\n\\x17\\xf3&%!\\x0f*\\x03\\xe8\\xa8L\\x97\\x15\\xf8\\xe3\\x1e\\\nR\\x05PfI,\\xae\\x16\\x85\\x9c\\xddM]\\x8d@g\\\n\\xca\\xdaC/5\\xbf\\x17j)\\x83\\xa9\\x02\\x90~\\x03\\xca\\\n5\\xbe\\x149\\xc4h\\x1a\\x0b[\\xf3\\x91Q!\\x96\\xf3g\\\n)\\x87\\xf1\\xa4\\x9a\\xa3_M0\\xcc\\xab\\x97\\xf4\\xe0uM\\\n\\x00 \\xc60\\x87\\x1b\\xc0a\\xcf\\xf8\\xc3`\\xd3\\xc3\\xde\\x9b\\\n\\xa5\\xd0\\x872 \\x17\\xf4\\xa8\\xeb\\x17\\xf0\\xf0\\xa6\\xd9\\xb0\\xe9\\\n\\x17O*\\x8e\\xccT\\x90\\xa4\\x0fX\\x06\\xec\\xf3@u@\\\nR\\x10\\x1cRb$\\xf3;<4\\x0f\\xd6\\x0a#\\x0b]\\\n\\x1fp\\x15\\xd7$\\xb5=\\x15\\x02\\xd7\\xacA\\xdd\\xd2-\\xee\\\n\\x1ct\\xaeV\\x1b\\xbe \\x87\\xe5\\xfba\\x98t\\xd8\\x1b)\\\n{#\\xd5\\x1a\\xc1\\xaa2\\x96w\\xb6\\x0d\\x99\\x8f\\x1a\\x81\\xa5\\\n\\xdf^\\xbb\\xef\\x8d4+\\x1e\\xca\\xd5x;)\\xd4\\x09 \\\n\\x19\\xcf\\x9c^\\x84%B\\x16\\x0fJi\\xc1\\xcc\\xd6\\xcb\\xec\\\n6\\xe7#a>\\xa1e\\xa1Z\\xfa\\xc4\\x0f\\xcc\\x81\\xd3\\x96\\\n\\x1b\\xa7z\\x92\\x12\\x01\\xa5\\xed\\x1a\\x93\\xbb\\x07\\xe2\\xd3^>\\\n>\\xbbZ\\xf8\\xf1Y\\xe7\\xcd5\\xb4\\xdd\\x0c\\xd5\\x92\\x00\\x10\\\n!/\\xb5\\x9b\\xe4\\xaav\\xec\\xc5\\x88\\xf1M\\xa6G\\xb8\\x8a\\\n\\xb1\\x95\\xfcnY\\xda\\xce\\xd6\\x13\\x82\\xe2\\xadm\\xba\\x0e\\xf5\\\n\\xbc\\x15CmP=r]\\xe1\\xf0>#\\x04\\xdduo\\\nd\\xe8\\xab\\xe8m\\xdd\\xbd\\x18\\x10\\xf5\\x0e}\\xaf\\x9c\\x94\\xde\\\n\\xa3\\x8f\\xadrPz\\x1a\\xe2\\xe5\\xeb\\x9b\\xa0\\xef\\xd70e\\\n\\xc26t~At\\xd8Fm\\xbaa,\\xd5\\xd3\\xd6m\\\n\\x0c\\x92\\x19\\x89\\xf36%\\xfe\\xd5\\x8e\\xb2O`SN\\x84\\\nQ\\xb7F\\x9e\\xb2\\x11L\\xd9 \\xfb\\xb5\\x08\\xee'x\\x95\\\n\\xda\\x18\\xc7\\xbe\\x90\\xc9\\xe6i\\xec\\x0b\\xc9\\xb1WS)\\x5c\\\n\\xc5H\\x1f\\xc8h\\x84\\xfd\\x18b\\x22\\x96A\\x97\\x9d\\x87\\xa7\\\n\\xc1\\x91\\xb7\\xea\\xe7\\xf9\\x92\\xa3E\\xb0\\xb3q\\xc8\\xa4<\\x0f\\\n\\x9a\\xa2\\xcc\\xe5=x\\xfe{\\xff\\xe8\\x8f\\xa6\\x18\\xf3\\xa7\\x5c\\\n\\xfd\\xb8\\x84G\\x7f0\\x1d\\x04\\x04x\\xefe\\xa5\\x04aC\\\n\\xb5\\xd2s\\xa0\\xae\\x80\\x80\\xe3\\xa5vNS\\x0f\\xa5\\x7f\\x98\\\nu\\x99[,\\xb8\\xfaa\\xd6\\xc6\\xf0\\xafhw\\xee\\xd7y\\\n\\xcc\\xe7\\xa9~(H\\xe3u\\xf8\\xecZ\\xdc\\xd4\\xbe\\x9e\\xc5\\\n\\x9b\\xe7z\\xa6\\xf5\\x13W\\xe4zSyJ\\xc3_\\x9c\\xfb\\\n4(.\\x1f]v\\xd7\\xc7}U\\x91\\x04\\xb2O\\x05D\\\nn^\\x8ex\\xaa\\x9ag \\xd4\\xf5\\xc0;\\x14\\xb7\\xf1\\xfa\\\n\\xd7(\\x0dD\\xb6T<\\xd7\\x5cJ\\x01\\xb1\\x94\\xc3\\xd6X\\\nf\\x8e\\xa1<'\\x08\\x8e|W\\xa4\\xfbl\\x9f[z\\xb8\\\n\\x02\\x02f\\xf2\\xb9K\\xaf0w\\xac\\xc5\\xdeG;u\\x8b\\\n7m!V\\xc7Z\\xec\\x87\\x88\\xb4\\x0f\\xd7\\x19\\xed\\xb7\\x85\\\n\\xf4\\x0f9\\xce)N\\xcd\\xda\\x11\\xff\\xd3\\xfcA\\x9e>\\x88\\\ny\\xff\\xb6\\x83\\x97\\x97}/\\x00\\x96\\x1f\\xb4X\\xd6\\xed\\x07\\\n\\xf0\\xd9\\xd7\\x0f\\xda\\xfc\\xec\\x9b\\xdf\\xe2\\xfa|R\\xb7\\xcf\\x01\\\n\\xce\\xcf\\x1c\\x05\\x94#\\x90z?\\xa5\\xe4\\xc8\\xf1\\xf6\\xdb\\x91\\\n\\x96c\\x19\\x98\\x7f;}\\x1e\\xe1\\xc8\\x0a\\x05\\xe9\\x1eL\\xee\\\nQ\\x87\\xe4\\xb1?\\xcal7v\\xd7r\\xf8&\\xa5N\\x00\\\nz\\x84\\xeeZ\\x0e\\x1f\\x07u\\x19\\xe3\\x04\\x1a\\xc3\\xb4\\x1c\\xb5\\\n/\\x9e\\x81H0\\xd2\\xa7\\xe9\\x92\\xd4\\x0e\\xd4\\x80?\\x15d\\\n\\xde\\x90\\xce\\xa4-c\\xe7{\\xe2\\xa6\\xca\\x80\\xfa\\x02\\xa9\\x08\\\n\\xd0;zvJ\\xfb\\x1b\\xecM\\xc8\\xb7\\xe3Z\\x93cj\\\n,\\xee\\x0e~i,Rv4g\\xf8\\x8c\\x1a\\x8b\\x07g\\\n\\xbc4\\x16\\xd7\\xdd\\x99=\\xc7F\\xda/Of\\xc9\\x88\\xae\\\n\\xb3\\xb8\\xbf\\xca\\xa4\\xb4X\\xf6\\xbf\\xdd\\xaa\\x87\\xa3\\xd1\\xa7\\x05\\\n\\x9f5W[,\\xf5\\xa3\\x9d\\xaf\\xf9\\xe6\\xbd]\\xfb\\x8a\\x8a\\\n\\x8b\\xb5\\x9d\\xa4\\x0d\\x9aB\\x1c\\x9f\\x82\\x98\\xe7\\xb3\\xe3S\\xe7\\\n\\xe9HLd$<l\\xfb\\x0c\\xe6\\xfe\\xf8\\xff\\x97b\\xea\\\no/_\\xbe\\xfa\\xd5o\\xbfx\\xfd\\xc5\\xb7\\xef\\xff\\xeb\\x19\\\n\\xfc\\x9do\\xbey\\xf3\\xc7\\x0f\\xf37\\xff\\xfc\\xe6\\xf9\\xf9\\xab\\\n\\xaf\\xdf\\xbc\\xfe\\x83\\x1e?\\xbf|\\xf5\\xc5\\xcf\\xbf\\xfc\\xe5\\xeb\\\n\\x9f\\x7f\\xfc\\xf0\\xe7\\xf7\\xdf\\xfe\\xe2\\xfd\\xbb?\\xbd\\xfd\\xfa\\xb3\\\n\\xcf^\\xb8\\xdc\\xf1\\xe2\\xf3\\xcf?\\x9c\\x02\\xc6\\xfb?\\xfd\\xc3\\\n]-\\xfb\\xc7?\\xbd{\\xfb\\xe1\\xb3\\xcf\\xbe\\xeb\\xe9O\\xd4\\\n\\x9f\\xff\\xfc\\xf8\\xe6\\xe3\\x9b\\xcfY\\xf1\\x17_}\\xf3\\xcd\\x1f\\\n\\xbe\\xfa\\xe3_^\\xff\\x0b\\xca\\xd6\\xe7\\xaf\\x7f\\xfd\\xf1\\xf9\\xcf\\\n?\\xf9\\xdd\\x8b_\\xbf\\x7f\\xfe\\xf0\\xe2\\xd5\\x97\\xbf\\xf9\\xf9\\xbf\\\n\\xfe\\xe6\\xb7\\xbf~\\xfd\\xfc\\xf6\\xebw_}\\xf3\\xea\\xc5\\x17\\\no\\xbe~\\xfb\\xee\\xc5\\xef_\\xfd\\xee\\x85^2k\\xa8\\xe8\\\n\\xfd_\\xde\\xbe\\xd9\\x8a\\xbe\\x84\\x97\\xe2\\xf3Vd\\xc3_\\xca\\\nn\\xc9K\\xd9\\x8f\\x9f}\\xfb\\xe6\\xc3\\xc7o\\xdf\\xfd\\xc3\\xa3\\\n\\xeez\\xaf\\xce\\xd9<\\xbb\\xee\\xff\\x22U\\xf6\\xf3\\xd9\\xcc\\xf3\\\nO^\\xbe\\xd40\\xfe\\xe7o\\xe7b\\xf0\\x9d\\xef>./\\\n\\xf4_\\xbc\\x7f\\x87e>\\x9bX{\\xe0\\xcb\\xf4\\xf6\\x99\\xdc\\\n\\xaa\\x9f\\xffc`\\x13\\x90\\xf2\\x9e\\xdf|\\xd8\\x86\\xf2\\xab\\xaf\\\n\\x9e\\xff|3\\xb6w\\x1f\\xff\\xed\\xfd\\xfb\\xff\\xd8\\x0a\\x1f\\xcf\\\n\\xe4/\\xdf\\xfd\\xfb\\x8b\\xdf\\x9f_\\x92\\x8b\\x91/^\\xbe|\\\n\\xf9\\xb3\\xff\\x05\\xa9\\xd8\\xe8\\xde\\\n\\x00\\x00\\x108\\\n<\\\n?xml version=\\x221.\\\n0\\x22 encoding=\\x22UTF\\\n-8\\x22 standalone=\\x22\\\nno\\x22?>\\x0a<svg\\x0a   xm\\\nlns:dc=\\x22http://p\\\nurl.org/dc/eleme\\\nnts/1.1/\\x22\\x0a   xml\\\nns:cc=\\x22http://cr\\\neativecommons.or\\\ng/ns#\\x22\\x0a   xmlns:\\\nrdf=\\x22http://www.\\\nw3.org/1999/02/2\\\n2-rdf-syntax-ns#\\\n\\x22\\x0a   xmlns:svg=\\x22\\\nhttp://www.w3.or\\\ng/2000/svg\\x22\\x0a   x\\\nmlns=\\x22http://www\\\n.w3.org/2000/svg\\\n\\x22\\x0a   xmlns:xlink\\\n=\\x22http://www.w3.\\\norg/1999/xlink\\x22\\x0a\\\n   xmlns:sodipod\\\ni=\\x22http://sodipo\\\ndi.sourceforge.n\\\net/DTD/sodipodi-\\\n0.dtd\\x22\\x0a   xmlns:\\\ninkscape=\\x22http:/\\\n/www.inkscape.or\\\ng/namespaces/ink\\\nscape\\x22\\x0a   width=\\\n\\x2217.600834\\x22\\x0a   h\\\neight=\\x2217.050808\\\n\\x22\\x0a   viewBox=\\x220 \\\n-883.9 972.55177\\\n 941.89919\\x22\\x0a   v\\\nersion=\\x221.1\\x22\\x0a   \\\nid=\\x22svg4596\\x22\\x0a   \\\nsodipodi:docname\\\n=\\x22equation.svg\\x22\\x0a\\\n   inkscape:vers\\\nion=\\x220.92.3 (240\\\n5546, 2018-03-11\\\n)\\x22>\\x0a  <metadata\\x0a\\\n     id=\\x22metadat\\\na4600\\x22>\\x0a    <rdf\\\n:RDF>\\x0a      <cc:\\\nWork\\x0a         rd\\\nf:about=\\x22\\x22>\\x0a    \\\n    <dc:format>i\\\nmage/svg+xml</dc\\\n:format>\\x0a       \\\n <dc:type\\x0a      \\\n     rdf:resourc\\\ne=\\x22http://purl.o\\\nrg/dc/dcmitype/S\\\ntillImage\\x22 />\\x0a  \\\n      <dc:title>\\\n</dc:title>\\x0a    \\\n  </cc:Work>\\x0a   \\\n </rdf:RDF>\\x0a  </\\\nmetadata>\\x0a  <sod\\\nipodi:namedview\\x0a\\\n     pagecolor=\\x22\\\n#ffffff\\x22\\x0a     bo\\\nrdercolor=\\x22#6666\\\n66\\x22\\x0a     bordero\\\npacity=\\x221\\x22\\x0a     \\\nobjecttolerance=\\\n\\x2210\\x22\\x0a     gridto\\\nlerance=\\x2210\\x22\\x0a   \\\n  guidetolerance\\\n=\\x2210\\x22\\x0a     inksc\\\nape:pageopacity=\\\n\\x220\\x22\\x0a     inkscap\\\ne:pageshadow=\\x222\\x22\\\n\\x0a     inkscape:w\\\nindow-width=\\x22384\\\n0\\x22\\x0a     inkscape\\\n:window-height=\\x22\\\n2004\\x22\\x0a     id=\\x22n\\\namedview4598\\x22\\x0a  \\\n   showgrid=\\x22fal\\\nse\\x22\\x0a     fit-mar\\\ngin-top=\\x220\\x22\\x0a    \\\n fit-margin-left\\\n=\\x220\\x22\\x0a     fit-ma\\\nrgin-right=\\x220\\x22\\x0a \\\n    fit-margin-b\\\nottom=\\x220\\x22\\x0a     i\\\nnkscape:zoom=\\x2241\\\n.204245\\x22\\x0a     in\\\nkscape:cx=\\x226.537\\\n9055\\x22\\x0a     inksc\\\nape:cy=\\x226.366771\\\n9\\x22\\x0a     inkscape\\\n:window-x=\\x22-11\\x22\\x0a\\\n     inkscape:wi\\\nndow-y=\\x22-11\\x22\\x0a   \\\n  inkscape:windo\\\nw-maximized=\\x221\\x22\\x0a\\\n     inkscape:cu\\\nrrent-layer=\\x22svg\\\n4596\\x22 />\\x0a  <defs\\\n\\x0a     id=\\x22defs45\\\n80\\x22>\\x0a    <path\\x0a \\\n      id=\\x22MJX-9-\\\nTEX-I-78\\x22\\x0a      \\\n d=\\x22m 52,289 q 7\\\n,42 54,97 47,55 \\\n116,56 35,0 64,-\\\n18 29,-18 43,-45\\\n 42,63 101,63 37\\\n,0 64,-22 27,-22\\\n 28,-59 0,-29 -1\\\n4,-47 -14,-18 -2\\\n7,-22 -13,-4 -23\\\n,-4 -19,0 -31,11\\\n -12,11 -12,29 0\\\n,46 50,63 -11,13\\\n -40,13 -13,0 -1\\\n9,-2 -38,-16 -56\\\n,-66 -60,-221 -6\\\n0,-258 0,-28 16,\\\n-40 16,-12 35,-1\\\n2 37,0 73,33 36,\\\n33 49,81 3,10 6,\\\n11 3,1 16,2 h 4 \\\nq 15,0 15,-8 0,-\\\n1 -2,-11 Q 486,7\\\n7 440,33 394,-11\\\n 333,-11 263,-11\\\n 227,52 186,-10 \\\n133,-10 h -6 q -\\\n49,0 -70,26 -21,\\\n26 -22,55 0,32 1\\\n9,52 19,20 45,20\\\n 43,0 43,-42 Q 1\\\n42,81 130,66 118\\\n,51 107,46 96,41\\\n 94,41 l -3,-1 q\\\n 0,-1 6,-4 6,-3 \\\n16,-7 10,-4 19,-\\\n3 36,0 62,45 9,1\\\n6 23,68 14,52 28\\\n,108 14,56 16,66\\\n 5,27 5,39 0,28 \\\n-15,40 -15,12 -3\\\n4,12 -40,0 -75,-\\\n32 -35,-32 -49,-\\\n82 -2,-9 -5,-10 \\\n-3,-1 -16,-2 H 5\\\n8 q -6,6 -6,11 z\\\n\\x22\\x0a       inkscap\\\ne:connector-curv\\\nature=\\x220\\x22 />\\x0a   \\\n <path\\x0a       id\\\n=\\x22MJX-9-TEX-N-32\\\n\\x22\\x0a       d=\\x22m 10\\\n9,429 q -27,0 -4\\\n3,18 -16,18 -16,\\\n44 0,71 53,123 5\\\n3,52 132,52 91,0\\\n 152,-56 61,-56 \\\n62,-145 0,-43 -2\\\n0,-82 -20,-39 -4\\\n8,-68 -28,-29 -8\\\n0,-74 -36,-31 -1\\\n00,-92 l -59,-56\\\n 76,-1 q 157,0 1\\\n67,5 7,2 24,89 v\\\n 3 h 40 v -3 Q 4\\\n48,183 436,95 42\\\n4,7 421,3 V 0 H \\\n50 v 19 12 q 0,7\\\n 6,15 6,8 30,35 \\\n29,32 50,56 9,10\\\n 34,37 25,27 34,\\\n37 9,10 29,33 20\\\n,23 28,34 8,11 2\\\n3,30 15,19 21,32\\\n 6,13 15,29 9,16\\\n 13,32 4,16 7,30\\\n 3,14 3,33 0,63 \\\n-34,109 -34,46 -\\\n97,46 -33,0 -58,\\\n-17 -25,-17 -35,\\\n-33 -10,-16 -10,\\\n-19 0,-1 5,-1 18\\\n,0 37,-14 19,-14\\\n 19,-46 0,-25 -1\\\n6,-42 -16,-17 -4\\\n5,-18 z\\x22\\x0a       \\\ninkscape:connect\\\nor-curvature=\\x220\\x22\\\n />\\x0a  </defs>\\x0a  \\\n<rect\\x0a     style\\\n=\\x22opacity:1;fill\\\n:#0d5df4;fill-op\\\nacity:1;stroke:n\\\none;stroke-width\\\n:79.02939606;str\\\noke-miterlimit:4\\\n;stroke-dasharra\\\ny:none;stroke-da\\\nshoffset:0;strok\\\ne-opacity:1\\x22\\x0a   \\\n  id=\\x22rect5160\\x22\\x0a\\\n     width=\\x22972.\\\n55176\\x22\\x0a     heig\\\nht=\\x22942.15948\\x22\\x0a \\\n    x=\\x220\\x22\\x0a     y\\\n=\\x22-884.04791\\x22\\x0a  \\\n   ry=\\x22314.37042\\\n\\x22 />\\x0a  <g\\x0a     s\\\ntyle=\\x22fill:#ffff\\\nff;fill-opacity:\\\n1;stroke:#000000\\\n;stroke-width:0\\x22\\\n\\x0a     id=\\x22g4584\\x22\\\n\\x0a     data-mml-n\\\node=\\x22mi\\x22\\x0a     tr\\\nansform=\\x22matrix(\\\n1,0,0,-1,55.1394\\\n79,-84.864911)\\x22>\\\n\\x0a    <use\\x0a      \\\n height=\\x22100%\\x22\\x0a \\\n      width=\\x22100\\\n%\\x22\\x0a       y=\\x220\\x22\\x0a\\\n       x=\\x220\\x22\\x0a   \\\n    id=\\x22use4582\\x22\\\n\\x0a       xlink:hr\\\nef=\\x22#MJX-9-TEX-I\\\n-78\\x22\\x0a       styl\\\ne=\\x22fill:#ffffff;\\\nfill-opacity:1\\x22 \\\n/>\\x0a  </g>\\x0a  <g\\x0a \\\n    style=\\x22fill:\\\n#ffffff;fill-opa\\\ncity:1;stroke:#0\\\n00000;stroke-wid\\\nth:0\\x22\\x0a     id=\\x22g\\\n4588\\x22\\x0a     trans\\\nform=\\x22matrix(0.5\\\n9944897,0,0,-0.5\\\n9944897,603.9626\\\n9,-388.6699)\\x22\\x0a  \\\n   data-mml-node\\\n=\\x22mn\\x22>\\x0a    <use\\x0a\\\n       height=\\x221\\\n00%\\x22\\x0a       widt\\\nh=\\x22100%\\x22\\x0a       \\\ny=\\x220\\x22\\x0a       x=\\x22\\\n0\\x22\\x0a       id=\\x22us\\\ne4586\\x22\\x0a       xl\\\nink:href=\\x22#MJX-9\\\n-TEX-N-32\\x22\\x0a     \\\n  style=\\x22fill:#f\\\nfffff;fill-opaci\\\nty:1\\x22 />\\x0a  </g>\\x0a\\\n</svg>\\x0a\\\n\\x00\\x00\\x02\\xa8\\\n<\\\n?xml version=\\x221.\\\n0\\x22 encoding=\\x22utf\\\n-8\\x22?>\\x0a<svg xmlns\\\n=\\x22http://www.w3.\\\norg/2000/svg\\x22 xm\\\nlns:xlink=\\x22http:\\\n//www.w3.org/199\\\n9/xlink\\x22 style=\\x22\\\nmargin: auto; ba\\\nckground: none; \\\ndisplay: block; \\\nshape-rendering:\\\n auto;\\x22 width=\\x221\\\n00px\\x22 height=\\x2210\\\n0px\\x22 viewBox=\\x220 \\\n0 100 100\\x22 prese\\\nrveAspectRatio=\\x22\\\nxMidYMid\\x22>\\x0a<circ\\\nle cx=\\x2250\\x22 cy=\\x225\\\n0\\x22 r=\\x2237\\x22 stroke\\\n-width=\\x2212\\x22 stro\\\nke=\\x22#0d5df4\\x22 str\\\noke-dasharray=\\x225\\\n8.11946409141117\\\n4 58.11946409141\\\n1174\\x22 fill=\\x22none\\\n\\x22 stroke-linecap\\\n=\\x22round\\x22>\\x0a  <ani\\\nmateTransform at\\\ntributeName=\\x22tra\\\nnsform\\x22 type=\\x22ro\\\ntate\\x22 repeatCoun\\\nt=\\x22indefinite\\x22 d\\\nur=\\x220.9615384615\\\n384615s\\x22 keyTime\\\ns=\\x220;1\\x22 values=\\x22\\\n0 50 50;360 50 5\\\n0\\x22></animateTran\\\nsform>\\x0a</circle>\\\n\\x0a<!-- [ldio] gen\\\nerated by https:\\\n//loading.io/ --\\\n></svg>\\\n\"\n\nqt_resource_name = b\"\\\n\\x00\\x05\\\n\\x00o\\xa6S\\\n\\x00i\\\n\\x00c\\x00o\\x00n\\x00s\\\n\\x00\\x0a\\\n\\x0d\\x02\\xc4S\\\n\\x00M\\\n\\x00a\\x00t\\x00h\\x00J\\x00a\\x00x\\x00.\\x00j\\x00s\\\n\\x00\\x08\\\n\\x0aaW'\\\n\\x00i\\\n\\x00c\\x00o\\x00n\\x00.\\x00s\\x00v\\x00g\\\n\\x00\\x18\\\n\\x0a\\x0b\\x8a\\x87\\\n\\x00p\\\n\\x00r\\x00o\\x00c\\x00e\\x00s\\x00s\\x00i\\x00n\\x00g\\x00-\\x00i\\x00c\\x00o\\x00n\\x00-\\x00a\\\n\\x00n\\x00i\\x00m\\x00.\\x00s\\x00v\\x00g\\\n\"\n\nqt_resource_struct = b\"\\\n\\x00\\x00\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x01\\\n\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\\n\\x00\\x00\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x03\\\n\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\\n\\x00\\x00\\x00\\x10\\x00\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x00\\\n\\x00\\x00\\x01\\x85\\xfaH\\xc5\\xc5\\\n\\x00\\x00\\x00@\\x00\\x00\\x00\\x00\\x00\\x01\\x00\\x02:\\xc9\\\n\\x00\\x00\\x01\\x85\\xfaH\\xc5\\xc5\\\n\\x00\\x00\\x00*\\x00\\x00\\x00\\x00\\x00\\x01\\x00\\x02*\\x8d\\\n\\x00\\x00\\x01\\x85\\xfaH\\xc5\\xc5\\\n\"\n\ndef qInitResources():\n    QtCore.qRegisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data)\n\ndef qCleanupResources():\n    QtCore.qUnregisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data)\n\nqInitResources()\n"
  },
  {
    "path": "pix2tex/resources/resources.qrc",
    "content": "<!DOCTYPE RCC>\n<RCC version=\"1.0\">\n    <qresource prefix=\"icons\">\n        <file alias=\"icon.svg\">resources/icon.svg</file>\n        <file alias=\"processing-icon-anim.svg\">resources/processing-icon-anim.svg</file>\n    </qresource>\n    <qresource>\n        <file alias=\"MathJax.js\">resources/MathJax.js</file>\n    </qresource>\n</RCC>"
  },
  {
    "path": "pix2tex/setup_desktop.py",
    "content": "#!/usr/bin/env python3\n\n'''Simple installer for the graphical user interface of pix2tex'''\n\nimport argparse\nimport os\nimport sys\n\n\ndef _check_file(\n    main_file\n):\n    if os.path.exists(main_file):\n        return\n    raise FileNotFoundError(\n        f'Unable to find file {main_file}'\n    )\n\n\ndef _make_desktop_file(\n    desktop_path,\n    desktop_entry\n):\n    with open(desktop_path, 'w') as desktop_file:\n        desktop_file.write(desktop_entry)\n\n\ndef setup_desktop(\n    gui_file = 'gui.py',\n    icon_file = 'resources/icon.svg',\n):\n    '''Main function for setting up .desktop files (on Linux)'''\n    parser = argparse.ArgumentParser(\n        description='Simple installer for the pix2tex GUI'\n    )\n\n    parser.add_argument(\n        'pix2tex_dir',\n        default='.',\n        nargs='?',\n        help='The directory where pix2tex was downloaded'\n    )\n\n    parser.add_argument(\n        '--uninstall', '-u',\n        action='store_true',\n        help='Uninstalls the desktop entry'\n    )\n\n    parser.add_argument(\n        '--venv_dir', '-e',\n        help='In case a virtual environment is needed for running pix2tex, specifies its directory'\n    )\n\n    parser.add_argument(\n        '--overwrite', '-o',\n        action='store_true',\n        help='Unconditionally overwrite .desktop file (if it exists)'\n    )\n\n    args = parser.parse_args()\n\n    # where the desktop file will be created\n    desktop_dir = os.environ.get(\n        'XDG_DATA_HOME',\n        os.path.join(os.environ.get('HOME'), '.local/share/applications')\n    )\n    desktop_path = os.path.abspath(os.path.join(desktop_dir, 'pix2tex.desktop'))\n\n    # check if we want to uninstall it instead\n    if args.uninstall:\n        if os.path.exists(desktop_path):\n            remove = input(\n                f'Are you sure you want to remove the pix2tex desktop entry {desktop_path}? [y/n]'\n            )\n            if remove.lower() == 'y':\n                try:\n                    os.remove(desktop_path)\n                    print('Successfully uninstalled the desktop entry')\n                    return 0\n                except:\n                    raise OSError(\n                        f'Something went wrong, unable to remove the desktop entry {desktop_path}'\n                    )\n            elif remove.lower() == 'n':\n                print(\n                    'Not removing the desktop entry;' \\\n                    'if you wish to install/uninstall pix2tex, please run this script again'\n                )\n                return 0\n        else:\n            print('No file to remove')\n            return 0\n\n    _check_file(os.path.join(args.pix2tex_dir, gui_file))\n    _check_file(os.path.join(args.pix2tex_dir, icon_file))\n\n    pix2tex_dir = os.path.abspath(args.pix2tex_dir)\n    gui_path = os.path.join(pix2tex_dir, gui_file)\n    icon_path = os.path.join(pix2tex_dir, icon_file)\n\n    interpreter_path = \\\n        os.path.join(args.venv_dir, 'bin/python3') \\\n        if (args.venv_dir and os.path.exists(os.path.join(args.venv_dir, 'bin/python3'))) \\\n        else sys.executable\n    interpreter_path = os.path.abspath(interpreter_path)\n\n    desktop_entry = f\"\"\"[Desktop Entry]\nVersion=1.0\nName=pix2tex\nComment=LaTeX math recognition using machine learning\nExec={interpreter_path} {gui_path}\nIcon={icon_path}\nTerminal=false\nType=Application\nCategories=Utility;\n\"\"\"\n\n    if os.path.exists(desktop_path):\n        if not args.overwrite:\n            overwrite = input(\n                f'Desktop entry {desktop_path} exists, do you wish to overwrite it? [y/n]'\n            )\n            if overwrite.lower() == 'y':\n                _make_desktop_file(desktop_path, desktop_entry)\n            elif overwrite.lower() == 'n':\n                print('Not overwriting existing desktop entry, exiting...', file=sys.stderr)\n                return 1\n            else:\n                print('Unable to understand input, exiting...', file=sys.stderr)\n                return 255\n        else:\n            _make_desktop_file(desktop_path, desktop_entry)\n    else:\n        _make_desktop_file(desktop_path, desktop_entry)\n\n    return 0\n\n\nif __name__ == '__main__':\n    setup_desktop()\n"
  },
  {
    "path": "pix2tex/train.py",
    "content": "from pix2tex.dataset.dataset import Im2LatexDataset\nimport os\nimport argparse\nimport logging\nimport yaml\n\nimport torch\nfrom munch import Munch\nfrom tqdm.auto import tqdm\nimport wandb\nimport torch.nn as nn\nfrom pix2tex.eval import evaluate\nfrom pix2tex.models import get_model\n# from pix2tex.utils import *\nfrom pix2tex.utils import in_model_path, parse_args, seed_everything, get_optimizer, get_scheduler, gpu_memory_check\n\n\ndef train(args):\n    dataloader = Im2LatexDataset().load(args.data)\n    dataloader.update(**args, test=False)\n    valdataloader = Im2LatexDataset().load(args.valdata)\n    valargs = args.copy()\n    valargs.update(batchsize=args.testbatchsize, keep_smaller_batches=True, test=True)\n    valdataloader.update(**valargs)\n    device = args.device\n    model = get_model(args)\n    if torch.cuda.is_available() and not args.no_cuda:\n        gpu_memory_check(model, args)\n    max_bleu, max_token_acc = 0, 0\n    out_path = os.path.join(args.model_path, args.name)\n    os.makedirs(out_path, exist_ok=True)\n\n    if args.load_chkpt is not None:\n        model.load_state_dict(torch.load(args.load_chkpt, map_location=device))\n\n    def save_models(e, step=0):\n        torch.save(model.state_dict(), os.path.join(out_path, '%s_e%02d_step%02d.pth' % (args.name, e+1, step)))\n        yaml.dump(dict(args), open(os.path.join(out_path, 'config.yaml'), 'w+'))\n\n    opt = get_optimizer(args.optimizer)(model.parameters(), args.lr, betas=args.betas)\n    scheduler = get_scheduler(args.scheduler)(opt, step_size=args.lr_step, gamma=args.gamma)\n\n    microbatch = args.get('micro_batchsize', -1)\n    if microbatch == -1:\n        microbatch = args.batchsize\n\n    try:\n        for e in range(args.epoch, args.epochs):\n            args.epoch = e\n            dset = tqdm(iter(dataloader))\n            for i, (seq, im) in enumerate(dset):\n                if seq is not None and im is not None:\n                    opt.zero_grad()\n                    total_loss = 0\n                    for j in range(0, len(im), microbatch):\n                        tgt_seq, tgt_mask = seq['input_ids'][j:j+microbatch].to(device), seq['attention_mask'][j:j+microbatch].bool().to(device)\n                        loss = model.data_parallel(im[j:j+microbatch].to(device), device_ids=args.gpu_devices, tgt_seq=tgt_seq, mask=tgt_mask)*microbatch/args.batchsize\n                        loss.backward()  # data parallism loss is a vector\n                        total_loss += loss.item()\n                        torch.nn.utils.clip_grad_norm_(model.parameters(), 1)\n                    opt.step()\n                    scheduler.step()\n                    dset.set_description('Loss: %.4f' % total_loss)\n                    if args.wandb:\n                        wandb.log({'train/loss': total_loss})\n                if (i+1+len(dataloader)*e) % args.sample_freq == 0:\n                    bleu_score, edit_distance, token_accuracy = evaluate(model, valdataloader, args, num_batches=int(args.valbatches*e/args.epochs), name='val')\n                    if bleu_score > max_bleu and token_accuracy > max_token_acc:\n                        max_bleu, max_token_acc = bleu_score, token_accuracy\n                        save_models(e, step=i)\n            if (e+1) % args.save_freq == 0:\n                save_models(e, step=len(dataloader))\n            if args.wandb:\n                wandb.log({'train/epoch': e+1})\n    except KeyboardInterrupt:\n        if e >= 2:\n            save_models(e, step=i)\n        raise KeyboardInterrupt\n    save_models(e, step=len(dataloader))\n\n\nif __name__ == '__main__':\n    parser = argparse.ArgumentParser(description='Train model')\n    parser.add_argument('--config', default=None, help='path to yaml config file', type=str)\n    parser.add_argument('--no_cuda', action='store_true', help='Use CPU')\n    parser.add_argument('--debug', action='store_true', help='DEBUG')\n    parser.add_argument('--resume', help='path to checkpoint folder', action='store_true')\n    parsed_args = parser.parse_args()\n    if parsed_args.config is None:\n        with in_model_path():\n            parsed_args.config = os.path.realpath('settings/debug.yaml')\n    with open(parsed_args.config, 'r') as f:\n        params = yaml.load(f, Loader=yaml.FullLoader)\n    args = parse_args(Munch(params), **vars(parsed_args))\n    logging.getLogger().setLevel(logging.DEBUG if parsed_args.debug else logging.WARNING)\n    seed_everything(args.seed)\n    if args.wandb:\n        if not parsed_args.resume:\n            args.id = wandb.util.generate_id()\n        wandb.init(config=dict(args), resume='allow', name=args.name, id=args.id)\n        args = Munch(wandb.config)\n    train(args)\n"
  },
  {
    "path": "pix2tex/train_resizer.py",
    "content": "import torch\nimport torch.nn as nn\nimport torch.nn.functional as F\nfrom torch.optim import Adam\nfrom torch.optim.lr_scheduler import OneCycleLR\nfrom timm.models.resnetv2 import ResNetV2\nfrom timm.models.layers import StdConv2dSame\nimport numpy as np\nfrom PIL import Image\nimport cv2\nimport imagesize\nimport yaml\nfrom tqdm.auto import tqdm\nfrom pix2tex.utils import *\nfrom pix2tex.dataset.dataset import *\nfrom munch import Munch\nimport argparse\nfrom typing import Tuple\n\n\ndef prepare_data(dataloader: Im2LatexDataset) -> Tuple[torch.tensor, torch.tensor]:\n    \"\"\"Use the data from a dataloader to train a image resizer model. \n    Randomly resize the images of one batch in the dataset and return the original resolution along side with the new images.\n\n    Args:\n        dataloader (Im2LatexDataset): The dataset in question\n\n    Returns:\n        Tuple[torch.tensor, torch.tensor]: One batch of resized images and labels\n    \"\"\"\n    _, ims = dataloader.pairs[dataloader.i-1].T\n    images = []\n    scale = None\n    c = 0\n    width, height = imagesize.get(ims[0])\n    while True:\n        c += 1\n        s = np.array([width, height])\n        scale = 5*(np.random.random()+.02)\n        if all((s*scale) <= dataloader.max_dimensions[0]) and all((s*scale) >= 16):\n            break\n        if c > 25:\n            return None, None\n    x, y = 0, 0\n    for path in list(ims):\n        im = Image.open(path)\n        modes = [Image.Resampling.BICUBIC,\n                 Image.Resampling.BILINEAR]\n        if scale < 1:\n            modes.append(Image.Resampling.LANCZOS)\n        m = modes[int(len(modes)*np.random.random())]\n        im = im.resize((int(width*scale), int(height*scale)), m)\n        try:\n            im = pad(im)\n        except:\n            return None, None\n        if im is None:\n            print(path, 'not found!')\n            continue\n        im = np.array(im)\n        im = cv2.cvtColor(im, cv2.COLOR_BGR2RGB)\n        images.append(dataloader.transform(image=im)['image'][:1])\n        if images[-1].shape[-1] > x:\n            x = images[-1].shape[-1]\n        if images[-1].shape[-2] > y:\n            y = images[-1].shape[-2]\n    if x > dataloader.max_dimensions[0] or y > dataloader.max_dimensions[1]:\n        return None, None\n    for i in range(len(images)):\n        h, w = images[i].shape[1:]\n        images[i] = F.pad(images[i], (0, x-w, 0, y-h), value=0)\n    try:\n        images = torch.cat(images).float().unsqueeze(1)\n    except RuntimeError as e:\n        #print(e, 'Images not working: %s' % (' '.join(list(ims))))\n        return None, None\n    dataloader.i += 1\n    labels = torch.tensor(width//32-1).repeat(len(ims)).long()\n    return images, labels\n\n\ndef val(val: Im2LatexDataset, model: ResNetV2, num_samples=400, device='cuda') -> float:\n    \"\"\"Evaluate the model on a dataset\n\n    Args:\n        val (Im2LatexDataset): Validation dataset\n        model (ResNetV2): Model to evaluate\n        num_samples (int, optional): Number of samples to evaluate on. Defaults to 400.\n        device (str, optional): Torch device. Defaults to 'cuda'.\n\n    Returns:\n        float: Accuracy\n    \"\"\"\n    model.eval()\n    c, t = 0, 0\n    iter(val)\n    with torch.no_grad():\n        for i in range(num_samples):\n            im, l = prepare_data(val)\n            if im is None:\n                continue\n            p = model(im.to(device)).argmax(-1).detach().cpu().numpy()\n            c += (p == l[0].item()).sum()\n            t += len(im)\n    model.train()\n    return c/t\n\n\ndef main(args):\n    \"\"\"Train a image resizer model.\n\n    Args:\n        args (Munch): Object with properties `data`, `batchsize`, `max_dimensions`, \n        `valdata`, `channels`, `device`, `resume`, `lr`, `num_epochs`, `valbatches`, `sample_freq`, `out`\n    \"\"\"\n    # data\n    dataloader = Im2LatexDataset().load(args.data)\n    dataloader.update(batchsize=args.batchsize, test=False, max_dimensions=args.max_dimensions, keep_smaller_batches=True, device=args.device)\n    valloader = Im2LatexDataset().load(args.valdata)\n    valloader.update(batchsize=args.batchsize, test=True, max_dimensions=args.max_dimensions, keep_smaller_batches=True, device=args.device)\n\n    # model\n    model = ResNetV2(layers=[2, 3, 3], num_classes=int(max(args.max_dimensions)//32), global_pool='avg', in_chans=args.channels, drop_rate=.05,\n                     preact=True, stem_type='same', conv_layer=StdConv2dSame).to(args.device)\n    if args.resume:\n        model.load_state_dict(torch.load(args.resume))\n    opt = Adam(model.parameters(), lr=args.lr)\n    crit = nn.CrossEntropyLoss()\n    sched = OneCycleLR(opt, .005, total_steps=args.num_epochs*len(dataloader))\n    global bestacc\n    bestacc = val(valloader, model, args.valbatches, args.device)\n\n    def train_epoch(sched=None):\n        iter(dataloader)\n        dset = tqdm(range(len(dataloader)))\n        for i in dset:\n            im, label = prepare_data(dataloader)\n            if im is not None:\n                if im.shape[-1] > dataloader.max_dimensions[0] or im.shape[-2] > dataloader.max_dimensions[1]:\n                    continue\n                opt.zero_grad()\n                label = label.to(args.device)\n\n                pred = model(im.to(args.device))\n                loss = crit(pred, label)\n                if i % 2 == 0:\n                    dset.set_description('Loss: %.4f' % loss.item())\n                loss.backward()\n                opt.step()\n                if sched is not None:\n                    sched.step()\n            if (i+1) % args.sample_freq == 0 or i+1 == len(dset):\n                acc = val(valloader, model, args.valbatches, args.device)\n                print('Accuracy %.2f' % (100*acc), '%')\n                global bestacc\n                if acc > bestacc:\n                    torch.save(model.state_dict(), args.out)\n                    bestacc = acc\n    for _ in range(args.num_epochs):\n        train_epoch(sched)\n\n\nif __name__ == '__main__':\n    parser = argparse.ArgumentParser(description='Train size classification model')\n    parser.add_argument('--config', default=None, help='path to yaml config file', type=str)\n    parser.add_argument('--no_cuda', action='store_true', help='Use CPU')\n    parser.add_argument('--lr', type=float, default=5e-4, help='learning rate')\n    parser.add_argument('--resume', help='path to checkpoint folder', type=str, default='')\n    parser.add_argument('--out', type=str, default='checkpoints/image_resizer.pth', help='output destination for trained model')\n    parser.add_argument('--num_epochs', type=int, default=10, help='number of epochs to train')\n    parser.add_argument('--batchsize', type=int, default=10)\n    parsed_args = parser.parse_args()\n    if parsed_args.config is None:\n        with in_model_path():\n            parsed_args.config = os.path.realpath('settings/debug.yaml')\n    with open(parsed_args.config, 'r') as f:\n        params = yaml.load(f, Loader=yaml.FullLoader)\n    args = parse_args(Munch(params), **vars(parsed_args))\n    args.update(**vars(parsed_args))\n    main(args)\n"
  },
  {
    "path": "pix2tex/utils/__init__.py",
    "content": "from pix2tex.utils.utils import *\n"
  },
  {
    "path": "pix2tex/utils/utils.py",
    "content": "import random\nimport os\nimport cv2\nimport re\nfrom PIL import Image\nimport numpy as np\nimport torch\nfrom munch import Munch\nfrom inspect import isfunction\nimport contextlib\n\noperators = '|'.join(['arccos', 'arcsin', 'arctan', 'arg', 'cos', 'cosh', 'cot', 'coth', 'csc', 'deg', 'det', 'dim', 'exp', 'gcd', 'hom', 'inf',\n                      'injlim', 'ker', 'lg', 'lim', 'liminf', 'limsup', 'ln', 'log', 'max', 'min', 'Pr', 'projlim', 'sec', 'sin', 'sinh', 'sup', 'tan', 'tanh'])\nops = re.compile(r'\\\\operatorname{(%s)}' % operators)\n\n\nclass EmptyStepper:\n    def __init__(self, *args, **kwargs):\n        pass\n\n    def step(self, *args, **kwargs):\n        pass\n\n# helper functions from lucidrains\n\n\ndef exists(val):\n    return val is not None\n\n\ndef default(val, d):\n    if exists(val):\n        return val\n    return d() if isfunction(d) else d\n\n\ndef seed_everything(seed: int):\n    \"\"\"Seed all RNGs\n\n    Args:\n        seed (int): seed\n    \"\"\"\n    random.seed(seed)\n    os.environ['PYTHONHASHSEED'] = str(seed)\n    np.random.seed(seed)\n    torch.manual_seed(seed)\n    torch.cuda.manual_seed(seed)\n    torch.backends.cudnn.deterministic = True\n    torch.backends.cudnn.benchmark = True\n\n\ndef parse_args(args, **kwargs) -> Munch:\n    args = Munch({'epoch': 0}, **args)\n    kwargs = Munch({'no_cuda': False, 'debug': False}, **kwargs)\n    args.update(kwargs)\n    args.wandb = not kwargs.debug and not args.debug\n    args.device = get_device(args, kwargs.no_cuda)\n    args.encoder_structure = args.get('encoder_structure', 'hybrid')\n    args.max_dimensions = [args.max_width, args.max_height]\n    args.min_dimensions = [args.get('min_width', 32), args.get('min_height', 32)]\n    if 'decoder_args' not in args or args.decoder_args is None:\n        args.decoder_args = {}\n    return args\n\n\ndef get_device(args, no_cuda=False):\n    device = 'cpu'\n    available_gpus = torch.cuda.device_count()\n    args.gpu_devices = args.gpu_devices if args.get('gpu_devices', False) else list(range(available_gpus))\n    if available_gpus > 0 and not no_cuda:\n        device = 'cuda:%d' % args.gpu_devices[0] if args.gpu_devices else 0\n        assert available_gpus >= len(args.gpu_devices), \"Available %d gpu, but specified gpu %s.\" % (available_gpus, ','.join(map(str, args.gpu_devices)))\n        assert max(args.gpu_devices) < available_gpus, \"legal gpu_devices should in [%s], received [%s]\" % (','.join(map(str, range(available_gpus))), ','.join(map(str, args.gpu_devices)))\n    return device\n\n\ndef gpu_memory_check(model, args):\n    # check if largest batch can be handled by system\n    try:\n        batchsize = args.batchsize if args.get('micro_batchsize', -1) == -1 else args.micro_batchsize\n        for _ in range(5):\n            im = torch.empty(batchsize, args.channels, args.max_height, args.min_height, device=args.device).float()\n            seq = torch.randint(0, args.num_tokens, (batchsize, args.max_seq_len), device=args.device).long()\n            loss = model.data_parallel(im, device_ids=args.gpu_devices, tgt_seq=seq)\n            loss.sum().backward()\n    except RuntimeError:\n        raise RuntimeError(\"The system cannot handle a batch size of %i for the maximum image size (%i, %i). Try to use a smaller micro batchsize.\" % (batchsize, args.max_height, args.max_width))\n    model.zero_grad()\n    with torch.cuda.device(args.device):\n        torch.cuda.empty_cache()\n    del im, seq\n\n\ndef token2str(tokens, tokenizer) -> list:\n    if len(tokens.shape) == 1:\n        tokens = tokens[None, :]\n    dec = [tokenizer.decode(tok) for tok in tokens]\n    return [''.join(detok.split(' ')).replace('Ġ', ' ').replace('[EOS]', '').replace('[BOS]', '').replace('[PAD]', '').strip() for detok in dec]\n\n\ndef pad(img: Image, divable: int = 32) -> Image:\n    \"\"\"Pad an Image to the next full divisible value of `divable`. Also normalizes the image and invert if needed.\n\n    Args:\n        img (PIL.Image): input image\n        divable (int, optional): . Defaults to 32.\n\n    Returns:\n        PIL.Image\n    \"\"\"\n    threshold = 128\n    data = np.array(img.convert('LA'))\n    if data[..., -1].var() == 0:\n        data = (data[..., 0]).astype(np.uint8)\n    else:\n        data = (255-data[..., -1]).astype(np.uint8)\n    data = (data-data.min())/(data.max()-data.min())*255\n    if data.mean() > threshold:\n        # To invert the text to white\n        gray = 255*(data < threshold).astype(np.uint8)\n    else:\n        gray = 255*(data > threshold).astype(np.uint8)\n        data = 255-data\n\n    coords = cv2.findNonZero(gray)  # Find all non-zero points (text)\n    a, b, w, h = cv2.boundingRect(coords)  # Find minimum spanning bounding box\n    rect = data[b:b+h, a:a+w]\n    im = Image.fromarray(rect).convert('L')\n    dims = []\n    for x in [w, h]:\n        div, mod = divmod(x, divable)\n        dims.append(divable*(div + (1 if mod > 0 else 0)))\n    padded = Image.new('L', dims, 255)\n    padded.paste(im, (0, 0, im.size[0], im.size[1]))\n    return padded\n\n\ndef post_process(s: str):\n    \"\"\"Remove unnecessary whitespace from LaTeX code.\n\n    Args:\n        s (str): Input string\n\n    Returns:\n        str: Processed image\n    \"\"\"\n    text_reg = r'(\\\\(operatorname|mathrm|text|mathbf)\\s?\\*? {.*?})'\n    letter = '[a-zA-Z]'\n    noletter = '[\\W_^\\d]'\n    names = [x[0].replace(' ', '') for x in re.findall(text_reg, s)]\n    s = re.sub(text_reg, lambda match: str(names.pop(0)), s)\n    news = s\n    while True:\n        s = news\n        news = re.sub(r'(?!\\\\ )(%s)\\s+?(%s)' % (noletter, noletter), r'\\1\\2', s)\n        news = re.sub(r'(?!\\\\ )(%s)\\s+?(%s)' % (noletter, letter), r'\\1\\2', news)\n        news = re.sub(r'(%s)\\s+?(%s)' % (letter, noletter), r'\\1\\2', news)\n        if news == s:\n            break\n    return s\n\n\ndef alternatives(s):\n    # TODO takes list of list of tokens\n    # try to generate equivalent code eg \\ne \\neq or \\to \\rightarrow\n    # alts = [s]\n    # names = ['\\\\'+x for x in re.findall(ops, s)]\n    # alts.append(re.sub(ops, lambda match: str(names.pop(0)), s))\n\n    # return alts\n    return [s]\n\n\ndef get_optimizer(optimizer):\n    return getattr(torch.optim, optimizer)\n\n\ndef get_scheduler(scheduler):\n    if scheduler is None:\n        return EmptyStepper\n    return getattr(torch.optim.lr_scheduler, scheduler)\n\n\ndef num_model_params(model):\n    return sum([p.numel() for p in model.parameters()])\n\n\n@contextlib.contextmanager\ndef in_model_path():\n    import pix2tex\n    model_path = os.path.join(os.path.dirname(pix2tex.__file__), 'model')\n    saved = os.getcwd()\n    os.chdir(model_path)\n    try:\n        yield\n    finally:\n        os.chdir(saved)\n"
  },
  {
    "path": "setup.cfg",
    "content": "[metadata]\ndescription_file = README.md\n"
  },
  {
    "path": "setup.py",
    "content": "#!/usr/bin/env python\n\nimport setuptools\n\n# read the contents of your README file\nfrom pathlib import Path\nthis_directory = Path(__file__).parent\nlong_description = (this_directory / 'README.md').read_text(encoding='utf-8')\n\ngui = [\n    'PyQt6',\n    'PyQt6-WebEngine',\n    'pyside6',\n    'pynput',\n    'screeninfo',\n    'latex2sympy2',\n]\napi = [\n    'streamlit>=1.8.1',\n    'fastapi>=0.75.2',\n    'uvicorn[standard]',\n    'python-multipart',\n    'st_img_pastebutton>=0.0.3',\n]\ntrain = [\n    'python-Levenshtein>=0.12.2',\n    'torchtext>=0.6.0',\n    'imagesize>=1.2.0',\n]\nhighlight = ['pygments']\n\nsetuptools.setup(\n    name='pix2tex',\n    version='0.1.4',\n    description='pix2tex: Using a ViT to convert images of equations into LaTeX code.',\n    long_description=long_description,\n    long_description_content_type='text/markdown',\n    author='Lukas Blecher',\n    author_email='luk.blecher@gmail.com',\n    url='https://github.com/lukas-blecher/LaTeX-OCR/',\n    license='MIT',\n    keywords=[\n        'artificial intelligence',\n        'deep learning',\n        'image to text'\n    ],\n    packages=setuptools.find_packages(),\n    package_data={\n        'pix2tex': [\n            'resources/*',\n            'model/settings/*.yaml',\n            'model/dataset/*.json',\n        ]\n    },\n    install_requires=[\n        'tqdm>=4.47.0',\n        'munch>=2.5.0',\n        'torch>=1.7.1',\n        'opencv_python_headless>=4.1.1.26',\n        'requests>=2.22.0',\n        'einops>=0.3.0',\n        'x_transformers==0.15.0',\n        'transformers>=4.18.0',\n        'tokenizers>=0.13.0',\n        'numpy>=1.19.5',\n        'Pillow>=9.1.0',\n        'PyYAML>=5.4.1',\n        'pandas>=1.0.0',\n        'timm==0.5.4',\n        'albumentations>=0.5.2,<=1.4.24',\n        'pyreadline3>=3.4.1; platform_system==\"Windows\"',\n    ],\n    extras_require={\n        'all': gui+api+train+highlight,\n        'gui': gui,\n        'api': api,\n        'train': train,\n        'highlight': highlight,\n    },\n    entry_points={\n        'console_scripts': [\n            'pix2tex_gui = pix2tex.__main__:main',\n            'pix2tex_cli = pix2tex.__main__:main',\n            'latexocr = pix2tex.__main__:main',\n            'pix2tex = pix2tex.__main__:main',\n        ],\n    },\n    classifiers=[\n        'Development Status :: 4 - Beta',\n        'Intended Audience :: Science/Research',\n        'Topic :: Scientific/Engineering :: Artificial Intelligence',\n        'License :: OSI Approved :: MIT License',\n        'Programming Language :: Python',\n    ],\n)\n"
  }
]